From 366920037ef4a212522521bdb5782332f84a9ba8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BE=9A=E8=B1=86=E8=B1=86?= <13356128+sunandmoon60@user.noreply.gitee.com> Date: Tue, 16 Sep 2025 16:05:06 +0800 Subject: [PATCH] =?UTF-8?q?1.=E9=87=87=E8=B4=AD=E5=BB=BA=E8=AE=AE=E6=8A=A5?= =?UTF-8?q?=E8=A1=A8=E4=B8=8B=E6=8E=A8=E9=87=87=E8=B4=AD=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/form/pm/PurApplyBillPlugin.java | 123 ++++- .../form/pm/PurSuggestRptFromPlugin.java | 427 ++++++++++-------- 2 files changed, 348 insertions(+), 202 deletions(-) diff --git a/lc123/cloud/app/plugin/form/pm/PurApplyBillPlugin.java b/lc123/cloud/app/plugin/form/pm/PurApplyBillPlugin.java index 9e2cc5a..b6b8b1d 100644 --- a/lc123/cloud/app/plugin/form/pm/PurApplyBillPlugin.java +++ b/lc123/cloud/app/plugin/form/pm/PurApplyBillPlugin.java @@ -1,5 +1,7 @@ package tqq9.lc123.cloud.app.plugin.form.pm; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.google.gson.Gson; import kd.bos.bill.AbstractBillPlugIn; import kd.bos.dataentity.entity.DynamicObject; @@ -8,10 +10,12 @@ import kd.bos.dataentity.utils.StringUtils; import kd.bos.entity.datamodel.IDataModel; import kd.bos.entity.datamodel.events.ChangeData; import kd.bos.entity.datamodel.events.PropertyChangedArgs; +import kd.bos.form.FormShowParameter; import kd.bos.form.IFormView; import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.bos.servicehelper.user.UserServiceHelper; import kd.sdk.plugin.Plugin; import org.springframework.http.ResponseEntity; import tqq9.lc123.cloud.app.api.utils.Constants; @@ -22,20 +26,28 @@ import tqq9.lc123.cloud.app.plugin.utils.HttpRequestUtils; import java.io.IOException; import java.math.BigDecimal; import java.net.ConnectException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Map; +import java.util.*; /** * 单据界面插件 */ public class PurApplyBillPlugin extends AbstractBillPlugIn implements Plugin { private static String URL; + private static DynamicObject BILLTYPE; + private static DynamicObject BIZTYPE; + private static DynamicObject LINETYPE; static { DynamicObject url = BusinessDataServiceHelper.loadSingle("tqq9_thirdconfig", "name", new QFilter[]{new QFilter("number", QCP.equals, "FLXT_Balance_Url")}); URL = url != null ? url.getString("name") : null; + // 申请单 + DynamicObject billtype = BusinessDataServiceHelper.loadSingle("bos_billtype", new QFilter[]{new QFilter("number", QCP.equals, "pm_PurApplyBill_STD_BT_S")}); + BILLTYPE = billtype; + DynamicObject biztype = BusinessDataServiceHelper.loadSingle("bd_biztype", new QFilter[]{new QFilter("number", QCP.equals, "110")}); + BIZTYPE = biztype; + DynamicObject linetype = BusinessDataServiceHelper.loadSingle("bd_linetype", new QFilter[]{new QFilter("number", QCP.equals, "010")}); + LINETYPE = linetype; } private final static String ENTRYENTITY = "billentry"; @@ -372,5 +384,110 @@ public class PurApplyBillPlugin extends AbstractBillPlugIn implements Plugin { } } + @Override + public void afterCreateNewData(EventObject e) { + super.afterCreateNewData(e); + FormShowParameter formShowParameter = this.getView().getFormShowParameter(); + JSONObject tqq9_pursuggestrpt = (JSONObject) formShowParameter.getCustomParam("pm_purapplybill"); + if (tqq9_pursuggestrpt != null) { + IDataModel model = this.getModel(); + DynamicObjectCollection billentry = model.getDataEntity(true).getDynamicObjectCollection("billentry"); + billentry.clear(); + //采购建议报表 + JSONArray tqq9_pursuggestrptentry = tqq9_pursuggestrpt.getJSONArray("tqq9_pursuggestrptentry"); + long currentUserId = UserServiceHelper.getCurrentUserId(); + DynamicObject user = BusinessDataServiceHelper.loadSingle("bos_user", new QFilter[]{new QFilter("id", QCP.equals, currentUserId)}); + DynamicObjectCollection entryentity = user.getDynamicObjectCollection("entryentity"); + DynamicObject dept = null;//部门 + for (DynamicObject dynamicObject : entryentity) { + boolean ispartjob = dynamicObject.getBoolean("ispartjob"); + if (!ispartjob) { + dept = dynamicObject.getDynamicObject("dpt"); + } + } + DynamicObject LCJT = BusinessDataServiceHelper.loadSingle("bos_org", new QFilter[]{new QFilter("name", QCP.equals, "励齿集团")}); + + DynamicObject currency = BusinessDataServiceHelper.loadSingle("bd_currency", + new QFilter[]{new QFilter("number", QCP.equals, "CNY")});//币别 + DynamicObject taxrate = BusinessDataServiceHelper.loadSingle("bd_taxrate", + new QFilter[]{new QFilter("number", QCP.equals, "V13")});//税率 + Date date = new Date(); + int i = 0; + for (Object dynamicObject : tqq9_pursuggestrptentry) { + JSONObject entry = (JSONObject) dynamicObject; + if (entry.getBoolean("tqq9_ischange")) { + billentry.addNew(); + if (i == 0) { + model.setValue("org", LCJT);//申请组织 + model.setValue("dept", dept);//申请部门 + model.setValue("bizuser", user);//申请人 + model.setValue("currency", currency);//币别 + model.setValue("creator", user);//创建人 + model.setValue("lastupdateuser", user);//修改人 + model.setValue("lastupdatetime", date);//修改时间 + model.setValue("billtype", BILLTYPE);//单据类型 + model.setValue("biztype", BIZTYPE);//业务类型 + model.setValue("biztime", date);//申请日期 + model.setValue("billstatus", "A");//单据状态 + model.setValue("closestatus", "A");//关闭状态 + model.setValue("cancelstatus", "A");//作废状态 + model.setValue("changestatus", "A");//变更状态 + model.setValue("subversion", "1");//子版本号 + model.setValue("version", "1");//版本号 + model.setValue("tqq9_sfsyhf_sh", "false");//是否使用货返 + model.setValue("tqq9_hshfsysl_sh", taxrate);//含税货返使用税率 + model.setValue("tqq9_sfsyxf_sh", "false");//是否使用现返 + model.setValue("tqq9_hsxfsysl_sh", taxrate);//含税现返使用税率 + model.setValue("tqq9_sfsyhf_bj", "false");//是否使用货返 + model.setValue("tqq9_hshfsysl_bj", taxrate);//含税货返使用税率 + model.setValue("tqq9_sfsyxf_bj", "false");//是否使用现返 + model.setValue("tqq9_hsxfsysl_bj", taxrate);//含税现返使用税率 + model.setValue("tqq9_sfsyhf_gz", "false");//是否使用货返 + model.setValue("tqq9_hshfsysl_gz", taxrate);//含税货返使用税率 + model.setValue("tqq9_sfsyxf_gz", "false");//是否使用现返 + model.setValue("tqq9_hsxfsysl_gz", taxrate);//含税现返使用税率 + } + JSONObject org = entry.getJSONObject("tqq9_org"); + DynamicObject tqq9_org = BusinessDataServiceHelper.loadSingle(org.getLong("id"), "bos_org");//组织 + JSONObject material = entry.getJSONObject("tqq9_material");//物料 + DynamicObject tqq9_material = BusinessDataServiceHelper.loadSingle(material.getLong("id"), "bd_material");//物料 + DynamicObject materialpurchaseinfo = BusinessDataServiceHelper.loadSingle("bd_materialpurchaseinfo", new QFilter[]{new QFilter("masterid", QCP.equals, tqq9_material.getLong("id"))});//物料采购信息 + BigDecimal tqq9_saledates = entry.getBigDecimal("tqq9_saledates"); + model.setValue("material", materialpurchaseinfo, i);//物料 + model.setValue("materialname", tqq9_material.getString("name"), i);//物料名称 + model.setValue("unit", tqq9_material.getDynamicObject("baseunit"), i);//计量单位 + model.setValue("baseunit", tqq9_material.getDynamicObject("baseunit"), i);//基本单位 + model.setValue("rowclosestatus", "A");//行关闭状态 + model.setValue("rowterminatestatus", "A");//行终止状态 + model.setValue("entryrecorg", tqq9_org, i);//收货组织 + model.setValue("entryreqorg", tqq9_org, i);//需求组织 + model.setValue("entryreqdept", dept, i);//需求部门 + model.setValue("reqdate", date, i);//需求日期 + model.setValue("purdate", date, i);//建议采购日期 + model.setValue("deliverdate", date, i);//交货日期 + model.setValue("bomtime", date, i);//展BOM时间 + model.setValue("linetype", LINETYPE, i);//行类型 + model.setValue("linetype", LINETYPE, i);//行类型 + model.setValue("entrychangetype", "B",i);//变更方式 + model.setValue("entrycreator", user, i);//创建人 + model.setValue("entryrecdept", tqq9_org, i);//收货部门 + model.setValue("entrypurdept", tqq9_org, i);//采购部门 + model.setValue("entryoperatorgroup", tqq9_org, i);//采购组 + model.setValue("tqq9_expectsaletime", tqq9_saledates, i);//预计销售时间(月) + if (StringUtils.equals(tqq9_org.getString("number"), "SHLC")) { + model.setValue("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_sh"), i);//最高采购限价 + model.setValue("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_sh"), i);//含税单价 + } else if (StringUtils.equals(tqq9_org.getString("number"), "BJLC")) { + model.setValue("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_bj"), i);//最高采购限价 + model.setValue("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_bj"), i);//含税单价 + } else if (StringUtils.equals(tqq9_org.getString("number"), "GZLC")) { + model.setValue("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_gz"), i);//最高采购限价 + model.setValue("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_gz"), i);//含税单价 + } + i++; + } + } + } + } } \ No newline at end of file diff --git a/lc123/cloud/app/plugin/form/pm/PurSuggestRptFromPlugin.java b/lc123/cloud/app/plugin/form/pm/PurSuggestRptFromPlugin.java index bd54697..4aa4a3c 100644 --- a/lc123/cloud/app/plugin/form/pm/PurSuggestRptFromPlugin.java +++ b/lc123/cloud/app/plugin/form/pm/PurSuggestRptFromPlugin.java @@ -10,6 +10,7 @@ import kd.bos.dataentity.utils.StringUtils; import kd.bos.db.DB; import kd.bos.db.DBRoute; import kd.bos.entity.datamodel.IDataModel; +import kd.bos.form.CloseCallBack; import kd.bos.form.ShowType; import kd.bos.form.control.events.ItemClickEvent; import kd.bos.form.plugin.AbstractFormPlugin; @@ -355,209 +356,237 @@ public class PurSuggestRptFromPlugin extends AbstractFormPlugin implements Plugi this.getView().updateView(); } else if (StringUtils.equals("tqq9_purapply", itemKey)) { DynamicObjectCollection tqq9_pursuggestrptentry = dataEntity.getDynamicObjectCollection("tqq9_pursuggestrptentry"); - DynamicObject purapplybill = BusinessDataServiceHelper.newDynamicObject("pm_purapplybill"); - DynamicObjectCollection dynamicObjectCollection = purapplybill.getDynamicObjectCollection("billentry"); + DynamicObject dynamicObject = tqq9_pursuggestrptentry.get(0); + DynamicObject tqq9_org = dynamicObject.getDynamicObject("tqq9_org"); + if(tqq9_org==null){ + this.getView().showMessage("请先进行查询操作"); + return; + } - long currentUserId = UserServiceHelper.getCurrentUserId(); - DynamicObject user = BusinessDataServiceHelper.loadSingle("bos_user", new QFilter[]{new QFilter("id", QCP.equals, currentUserId)}); - DynamicObjectCollection entryentity = user.getDynamicObjectCollection("entryentity"); - DynamicObject dept = null; - for (DynamicObject dynamicObject : entryentity) { - boolean ispartjob = dynamicObject.getBoolean("ispartjob"); - if (!ispartjob) { - dept = dynamicObject.getDynamicObject("dpt"); - } - } - DynamicObject org = BusinessDataServiceHelper.loadSingle("bos_org", new QFilter[]{new QFilter("name", QCP.equals, "励齿集团")}); - CodeRuleInfo vouCodeRule = CodeRuleServiceHelper.getCodeRule("pm_purapplybill", - purapplybill, org.getString("id")); - String billno = CodeRuleServiceHelper.getNumber(vouCodeRule, purapplybill);//采购申请单编号 - DynamicObject currency = BusinessDataServiceHelper.loadSingle("bd_currency", - new QFilter[]{new QFilter("number", QCP.equals, "CNY")});//币别 - DynamicObject taxrate = BusinessDataServiceHelper.loadSingle("bd_taxrate", - new QFilter[]{new QFilter("number", QCP.equals, "V13")});//税率 - Date date = new Date(); - int i = 0; - for (DynamicObject dynamicObject : tqq9_pursuggestrptentry) { - if (dynamicObject.getBoolean("tqq9_ischange")) { - if (i == 0) { - purapplybill.set("org", org);//申请组织 - purapplybill.set("dept", dept);//申请部门 - purapplybill.set("bizuser", user);//申请人 - purapplybill.set("currency", currency);//币别 - purapplybill.set("creator", user);//创建人 - purapplybill.set("lastupdateuser", user);//修改人 - purapplybill.set("lastupdatetime", date);//修改时间 - purapplybill.set("billno", billno);//采购申请单编号 - purapplybill.set("billtype", BILLTYPE);//单据类型 - purapplybill.set("biztype", BIZTYPE);//业务类型 - purapplybill.set("biztime", date);//申请日期 - purapplybill.set("billstatus", "A");//单据状态 - purapplybill.set("closestatus", "A");//关闭状态 - purapplybill.set("cancelstatus", "A");//作废状态 - purapplybill.set("changestatus", "A");//变更状态 - purapplybill.set("subversion", "1");//子版本号 - purapplybill.set("version", "1");//版本号 - purapplybill.set("tqq9_sfsyhf_sh", "false");//是否使用货返 - purapplybill.set("tqq9_hshfsysl_sh", taxrate);//含税货返使用税率 - purapplybill.set("tqq9_sfsyxf_sh", "false");//是否使用现返 - purapplybill.set("tqq9_hsxfsysl_sh", taxrate);//含税现返使用税率 - purapplybill.set("tqq9_sfsyhf_bj", "false");//是否使用货返 - purapplybill.set("tqq9_hshfsysl_bj", taxrate);//含税货返使用税率 - purapplybill.set("tqq9_sfsyxf_bj", "false");//是否使用现返 - purapplybill.set("tqq9_hsxfsysl_bj", taxrate);//含税现返使用税率 - purapplybill.set("tqq9_sfsyhf_gz", "false");//是否使用货返 - purapplybill.set("tqq9_hshfsysl_gz", taxrate);//含税货返使用税率 - purapplybill.set("tqq9_sfsyxf_gz", "false");//是否使用现返 - purapplybill.set("tqq9_hsxfsysl_gz", taxrate);//含税现返使用税率 - } - DynamicObject tqq9_org = dynamicObject.getDynamicObject("tqq9_org");//组织 - DynamicObject tqq9_material = dynamicObject.getDynamicObject("tqq9_material");//物料 - DynamicObject materialpurchaseinfo = BusinessDataServiceHelper.loadSingle("bd_materialpurchaseinfo", - new QFilter[]{new QFilter("masterid", QCP.equals, tqq9_material.getLong("id"))});//物料采购信息 - BigDecimal tqq9_saledates = dynamicObject.getBigDecimal("tqq9_saledates"); - DynamicObject dynamicObject1 = dynamicObjectCollection.addNew(); - dynamicObject1.set("seq", i + 1);//分录号 - dynamicObject1.set("material", materialpurchaseinfo);//物料 - dynamicObject1.set("materialname", tqq9_material.getString("name"));//物料名称 - dynamicObject1.set("unit", tqq9_material.getDynamicObject("baseunit"));//计量单位 - dynamicObject1.set("baseunit", tqq9_material.getDynamicObject("baseunit"));//基本单位 - dynamicObject1.set("rowclosestatus", "A");//行关闭状态 - dynamicObject1.set("rowterminatestatus", "A");//行终止状态 - dynamicObject1.set("entryrecorg", tqq9_org);//收货组织 - dynamicObject1.set("entryreqorg", tqq9_org);//需求组织 - dynamicObject1.set("entryreqdept", dept);//需求部门 - dynamicObject1.set("reqdate", date);//需求日期 - dynamicObject1.set("purdate", date);//建议采购日期 - dynamicObject1.set("deliverdate", date);//交货日期 - dynamicObject1.set("bomtime", date);//展BOM时间 - dynamicObject1.set("entrychangetype", "B");//变更方式 - dynamicObject1.set("linetype", LINETYPE);//行类型 - dynamicObject1.set("linetype", LINETYPE);//行类型 - dynamicObject1.set("entrycreator", user);//创建人 - dynamicObject1.set("entryrecdept", tqq9_org);//收货部门 - dynamicObject1.set("entrypurdept", tqq9_org);//采购部门 - dynamicObject1.set("entryoperatorgroup", tqq9_org);//采购组 - dynamicObject1.set("tqq9_expectsaletime", tqq9_saledates);//预计销售时间(月) - if (StringUtils.equals(tqq9_org.getString("number"), "SHLC")) { - dynamicObject1.set("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_sh"));//最高采购限价 - dynamicObject1.set("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_sh"));//含税单价 - } else if (StringUtils.equals(tqq9_org.getString("number"), "BJLC")) { - dynamicObject1.set("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_bj"));//最高采购限价 - dynamicObject1.set("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_bj"));//含税单价 - } else if (StringUtils.equals(tqq9_org.getString("number"), "GZLC")) { - dynamicObject1.set("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_gz"));//最高采购限价 - dynamicObject1.set("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_gz"));//含税单价 - } - dynamicObjectCollection.set(i, dynamicObject1); - i++; - } - } - purapplybill.set("billentry", dynamicObjectCollection); - SaveServiceHelper.save(new DynamicObject[]{purapplybill}); - BillShowParameter billShowParameter = new BillShowParameter(); - billShowParameter.getOpenStyle().setShowType(ShowType.Modal); - billShowParameter.setFormId("pm_purapplybill"); - DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(purapplybill.getLong("id"), "pm_purapplybill"); - billShowParameter.setPkId(dynamicObject.get("id")); - this.getView().showForm(billShowParameter); + BillShowParameter param = new BillShowParameter(); + param.setFormId("pm_purapplybill"); + param.setCustomParam("pm_purapplybill", dataEntity);//采购建议报表单号 + param.setCloseCallBack(new CloseCallBack(this, "pm_purapplybill")); + param.getOpenStyle().setShowType(ShowType.Modal); + this.getView().showForm(param); + //------------------------- +// DynamicObject purapplybill = BusinessDataServiceHelper.newDynamicObject("pm_purapplybill"); +// DynamicObjectCollection dynamicObjectCollection = purapplybill.getDynamicObjectCollection("billentry"); +// +// long currentUserId = UserServiceHelper.getCurrentUserId(); +// DynamicObject user = BusinessDataServiceHelper.loadSingle("bos_user", new QFilter[]{new QFilter("id", QCP.equals, currentUserId)}); +// DynamicObjectCollection entryentity = user.getDynamicObjectCollection("entryentity"); +// DynamicObject dept = null; +// for (DynamicObject dynamicObject : entryentity) { +// boolean ispartjob = dynamicObject.getBoolean("ispartjob"); +// if (!ispartjob) { +// dept = dynamicObject.getDynamicObject("dpt"); +// } +// } +// DynamicObject org = BusinessDataServiceHelper.loadSingle("bos_org", new QFilter[]{new QFilter("name", QCP.equals, "励齿集团")}); +// CodeRuleInfo vouCodeRule = CodeRuleServiceHelper.getCodeRule("pm_purapplybill", +// purapplybill, org.getString("id")); +// String billno = CodeRuleServiceHelper.getNumber(vouCodeRule, purapplybill);//采购申请单编号 +// DynamicObject currency = BusinessDataServiceHelper.loadSingle("bd_currency", +// new QFilter[]{new QFilter("number", QCP.equals, "CNY")});//币别 +// DynamicObject taxrate = BusinessDataServiceHelper.loadSingle("bd_taxrate", +// new QFilter[]{new QFilter("number", QCP.equals, "V13")});//税率 +// Date date = new Date(); +// int i = 0; +// for (DynamicObject dynamicObject : tqq9_pursuggestrptentry) { +// if (dynamicObject.getBoolean("tqq9_ischange")) { +// if (i == 0) { +// purapplybill.set("org", org);//申请组织 +// purapplybill.set("dept", dept);//申请部门 +// purapplybill.set("bizuser", user);//申请人 +// purapplybill.set("currency", currency);//币别 +// purapplybill.set("creator", user);//创建人 +// purapplybill.set("lastupdateuser", user);//修改人 +// purapplybill.set("lastupdatetime", date);//修改时间 +// purapplybill.set("billno", billno);//采购申请单编号 +// purapplybill.set("billtype", BILLTYPE);//单据类型 +// purapplybill.set("biztype", BIZTYPE);//业务类型 +// purapplybill.set("biztime", date);//申请日期 +// purapplybill.set("billstatus", "A");//单据状态 +// purapplybill.set("closestatus", "A");//关闭状态 +// purapplybill.set("cancelstatus", "A");//作废状态 +// purapplybill.set("changestatus", "A");//变更状态 +// purapplybill.set("subversion", "1");//子版本号 +// purapplybill.set("version", "1");//版本号 +// purapplybill.set("tqq9_sfsyhf_sh", "false");//是否使用货返 +// purapplybill.set("tqq9_hshfsysl_sh", taxrate);//含税货返使用税率 +// purapplybill.set("tqq9_sfsyxf_sh", "false");//是否使用现返 +// purapplybill.set("tqq9_hsxfsysl_sh", taxrate);//含税现返使用税率 +// purapplybill.set("tqq9_sfsyhf_bj", "false");//是否使用货返 +// purapplybill.set("tqq9_hshfsysl_bj", taxrate);//含税货返使用税率 +// purapplybill.set("tqq9_sfsyxf_bj", "false");//是否使用现返 +// purapplybill.set("tqq9_hsxfsysl_bj", taxrate);//含税现返使用税率 +// purapplybill.set("tqq9_sfsyhf_gz", "false");//是否使用货返 +// purapplybill.set("tqq9_hshfsysl_gz", taxrate);//含税货返使用税率 +// purapplybill.set("tqq9_sfsyxf_gz", "false");//是否使用现返 +// purapplybill.set("tqq9_hsxfsysl_gz", taxrate);//含税现返使用税率 +// } +// DynamicObject tqq9_org = dynamicObject.getDynamicObject("tqq9_org");//组织 +// DynamicObject tqq9_material = dynamicObject.getDynamicObject("tqq9_material");//物料 +// DynamicObject materialpurchaseinfo = BusinessDataServiceHelper.loadSingle("bd_materialpurchaseinfo", +// new QFilter[]{new QFilter("masterid", QCP.equals, tqq9_material.getLong("id"))});//物料采购信息 +// BigDecimal tqq9_saledates = dynamicObject.getBigDecimal("tqq9_saledates"); +// DynamicObject dynamicObject1 = dynamicObjectCollection.addNew(); +// dynamicObject1.set("seq", i + 1);//分录号 +// dynamicObject1.set("material", materialpurchaseinfo);//物料 +// dynamicObject1.set("materialname", tqq9_material.getString("name"));//物料名称 +// dynamicObject1.set("unit", tqq9_material.getDynamicObject("baseunit"));//计量单位 +// dynamicObject1.set("baseunit", tqq9_material.getDynamicObject("baseunit"));//基本单位 +// dynamicObject1.set("rowclosestatus", "A");//行关闭状态 +// dynamicObject1.set("rowterminatestatus", "A");//行终止状态 +// dynamicObject1.set("entryrecorg", tqq9_org);//收货组织 +// dynamicObject1.set("entryreqorg", tqq9_org);//需求组织 +// dynamicObject1.set("entryreqdept", dept);//需求部门 +// dynamicObject1.set("reqdate", date);//需求日期 +// dynamicObject1.set("purdate", date);//建议采购日期 +// dynamicObject1.set("deliverdate", date);//交货日期 +// dynamicObject1.set("bomtime", date);//展BOM时间 +// dynamicObject1.set("entrychangetype", "B");//变更方式 +// dynamicObject1.set("linetype", LINETYPE);//行类型 +// dynamicObject1.set("linetype", LINETYPE);//行类型 +// dynamicObject1.set("entrycreator", user);//创建人 +// dynamicObject1.set("entryrecdept", tqq9_org);//收货部门 +// dynamicObject1.set("entrypurdept", tqq9_org);//采购部门 +// dynamicObject1.set("entryoperatorgroup", tqq9_org);//采购组 +// dynamicObject1.set("tqq9_expectsaletime", tqq9_saledates);//预计销售时间(月) +// if (StringUtils.equals(tqq9_org.getString("number"), "SHLC")) { +// dynamicObject1.set("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_sh"));//最高采购限价 +// dynamicObject1.set("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_sh"));//含税单价 +// } else if (StringUtils.equals(tqq9_org.getString("number"), "BJLC")) { +// dynamicObject1.set("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_bj"));//最高采购限价 +// dynamicObject1.set("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_bj"));//含税单价 +// } else if (StringUtils.equals(tqq9_org.getString("number"), "GZLC")) { +// dynamicObject1.set("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_gz"));//最高采购限价 +// dynamicObject1.set("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_gz"));//含税单价 +// } +// dynamicObjectCollection.set(i, dynamicObject1); +// i++; +// } +// } +// purapplybill.set("billentry", dynamicObjectCollection); +// SaveServiceHelper.save(new DynamicObject[]{purapplybill}); +// BillShowParameter billShowParameter = new BillShowParameter(); +// billShowParameter.getOpenStyle().setShowType(ShowType.Modal); +// billShowParameter.setFormId("pm_purapplybill"); +// DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(purapplybill.getLong("id"), "pm_purapplybill"); +// billShowParameter.setPkId(dynamicObject.get("id")); +// this.getView().showForm(billShowParameter); } else if (StringUtils.equals("tqq9_pushcgdd", itemKey)) { DynamicObjectCollection tqq9_pursuggestrptentry = dataEntity.getDynamicObjectCollection("tqq9_pursuggestrptentry"); - DynamicObject pm_purorderbill = BusinessDataServiceHelper.newDynamicObject("pm_purorderbill"); - DynamicObjectCollection dynamicObjectCollection = pm_purorderbill.getDynamicObjectCollection("billentry"); + DynamicObject dynamicObject = tqq9_pursuggestrptentry.get(0); + DynamicObject tqq9_org = dynamicObject.getDynamicObject("tqq9_org"); + if(tqq9_org==null){ + this.getView().showMessage("请先进行查询操作"); + return; + } + BillShowParameter param = new BillShowParameter(); + param.setFormId("pm_purorderbill"); + param.setCustomParam("pm_purorderbill", dataEntity);//采购订单号 + param.setCloseCallBack(new CloseCallBack(this, "pm_purorderbill")); + param.getOpenStyle().setShowType(ShowType.Modal); + this.getView().showForm(param); - long currentUserId = UserServiceHelper.getCurrentUserId(); - DynamicObject user = BusinessDataServiceHelper.loadSingle("bos_user", new QFilter[]{new QFilter("id", QCP.equals, currentUserId)}); - DynamicObjectCollection entryentity = user.getDynamicObjectCollection("entryentity"); - DynamicObject dept = null; - for (DynamicObject dynamicObject : entryentity) { - boolean ispartjob = dynamicObject.getBoolean("ispartjob"); - if (!ispartjob) { - dept = dynamicObject.getDynamicObject("dpt"); - } - } - DynamicObject dynamicObject2 = tqq9_pursuggestrptentry.get(0); - DynamicObject org = dynamicObject2.getDynamicObject("tqq9_org");//组织 - CodeRuleInfo vouCodeRule = CodeRuleServiceHelper.getCodeRule("pm_purorderbill", - pm_purorderbill, org.getString("id")); - String billno = String.valueOf(new Date().getTime());//采购申请单编号 -// String billno = CodeRuleServiceHelper.getNumber(vouCodeRule, pm_purorderbill);//采购申请单编号 - DynamicObject currency = BusinessDataServiceHelper.loadSingle("bd_currency", - new QFilter[]{new QFilter("number", QCP.equals, "CNY")});//币别 - DynamicObject taxrate = BusinessDataServiceHelper.loadSingle("bd_taxrate", - new QFilter[]{new QFilter("number", QCP.equals, "V13")});//税率 - Date date = new Date(); - int i = 0; - for (DynamicObject dynamicObject : tqq9_pursuggestrptentry) { - org = dynamicObject2.getDynamicObject("tqq9_org");//组织 - if (dynamicObject.getBoolean("tqq9_ischange")) { - if (i == 0) { - pm_purorderbill.set("org", org);//申请组织 - pm_purorderbill.set("dept", dept);//申请部门 - pm_purorderbill.set("currency", currency);//币别 - pm_purorderbill.set("creator", user);//创建人 - pm_purorderbill.set("lastupdateuser", user);//修改人 - pm_purorderbill.set("lastupdatetime", date);//修改时间 - pm_purorderbill.set("billno", billno);//采购订单编号 - pm_purorderbill.set("billtype", BILLTYPE1);//单据类型 - pm_purorderbill.set("biztype", BIZTYPE);//业务类型 - pm_purorderbill.set("biztime", date);//申请日期 - pm_purorderbill.set("billstatus", "A");//单据状态 - pm_purorderbill.set("closestatus", "A");//关闭状态 - pm_purorderbill.set("cancelstatus", "A");//作废状态 - pm_purorderbill.set("changestatus", "A");//变更状态 - pm_purorderbill.set("subversion", "1");//子版本号 - pm_purorderbill.set("version", "1");//版本号 - pm_purorderbill.set("tqq9_sfsyhf", "false");//是否使用货返 - pm_purorderbill.set("tqq9_hshfsysl", taxrate);//含税货返使用税率 - pm_purorderbill.set("tqq9_sfsyxf", "false");//是否使用现返 - pm_purorderbill.set("tqq9_hsxfsysl", taxrate);//含税现返使用税率 - } - DynamicObject tqq9_material = dynamicObject.getDynamicObject("tqq9_material");//物料 - DynamicObject materialpurchaseinfo = BusinessDataServiceHelper.loadSingle("bd_materialpurchaseinfo", - new QFilter[]{new QFilter("masterid", QCP.equals, tqq9_material.getLong("id"))});//物料采购信息 - BigDecimal tqq9_saledates = dynamicObject.getBigDecimal("tqq9_saledates"); - DynamicObject dynamicObject1 = dynamicObjectCollection.addNew(); - dynamicObject1.set("seq", i + 1);//分录号 - dynamicObject1.set("material", materialpurchaseinfo);//物料 - dynamicObject1.set("materialname", tqq9_material.getString("name"));//物料名称 - dynamicObject1.set("unit", tqq9_material.getDynamicObject("baseunit"));//计量单位 - dynamicObject1.set("baseunit", tqq9_material.getDynamicObject("baseunit"));//基本单位 - dynamicObject1.set("tqq9_brand", tqq9_material.getDynamicObject("tqq9_brand"));//品牌 - dynamicObject1.set("rowclosestatus", "A");//行关闭状态 - dynamicObject1.set("rowterminatestatus", "A");//行终止状态 - dynamicObject1.set("entryrecorg", org);//收货组织 - dynamicObject1.set("entryreqorg", org);//需求组织 - dynamicObject1.set("entryreqdept", dept);//需求部门 - dynamicObject1.set("deliverdate", date);//交货日期 - dynamicObject1.set("entrychangetype", "B");//变更方式 - dynamicObject1.set("linetype", LINETYPE);//行类型 - dynamicObject1.set("entrycreator", user);//创建人 - dynamicObject1.set("entryrecdept", org);//收货部门 - dynamicObject1.set("discounttype", "C");//折扣方式 - dynamicObject1.set("tqq9_expectsaletime", tqq9_saledates);//预计销售时间(月) - if (StringUtils.equals(org.getString("number"), "SHLC")) { - dynamicObject1.set("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_sh"));//最高采购限价 - dynamicObject1.set("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_sh"));//含税单价 - } else if (StringUtils.equals(org.getString("number"), "BJLC")) { - dynamicObject1.set("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_bj"));//最高采购限价 - dynamicObject1.set("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_bj"));//含税单价 - } else if (StringUtils.equals(org.getString("number"), "GZLC")) { - dynamicObject1.set("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_gz"));//最高采购限价 - dynamicObject1.set("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_gz"));//含税单价 - } - dynamicObjectCollection.set(i, dynamicObject1); - i++; - } - } - pm_purorderbill.set("billentry", dynamicObjectCollection); - SaveServiceHelper.save(new DynamicObject[]{pm_purorderbill}); - BillShowParameter billShowParameter = new BillShowParameter(); - billShowParameter.getOpenStyle().setShowType(ShowType.Modal); - billShowParameter.setFormId("pm_purorderbill"); - DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(pm_purorderbill.getLong("id"), "pm_purorderbill"); - billShowParameter.setPkId(dynamicObject.get("id")); - this.getView().showForm(billShowParameter); + //---------------------------- +// DynamicObject pm_purorderbill = BusinessDataServiceHelper.newDynamicObject("pm_purorderbill"); +// DynamicObjectCollection dynamicObjectCollection = pm_purorderbill.getDynamicObjectCollection("billentry"); +// +// long currentUserId = UserServiceHelper.getCurrentUserId(); +// DynamicObject user = BusinessDataServiceHelper.loadSingle("bos_user", new QFilter[]{new QFilter("id", QCP.equals, currentUserId)}); +// DynamicObjectCollection entryentity = user.getDynamicObjectCollection("entryentity"); +// DynamicObject dept = null; +// for (DynamicObject dynamicObject : entryentity) { +// boolean ispartjob = dynamicObject.getBoolean("ispartjob"); +// if (!ispartjob) { +// dept = dynamicObject.getDynamicObject("dpt"); +// } +// } +// DynamicObject dynamicObject2 = tqq9_pursuggestrptentry.get(0); +// DynamicObject org = dynamicObject2.getDynamicObject("tqq9_org");//组织 +// CodeRuleInfo vouCodeRule = CodeRuleServiceHelper.getCodeRule("pm_purorderbill", +// pm_purorderbill, org.getString("id")); +// String billno = String.valueOf(new Date().getTime());//采购申请单编号 +//// String billno = CodeRuleServiceHelper.getNumber(vouCodeRule, pm_purorderbill);//采购申请单编号 +// DynamicObject currency = BusinessDataServiceHelper.loadSingle("bd_currency", +// new QFilter[]{new QFilter("number", QCP.equals, "CNY")});//币别 +// DynamicObject taxrate = BusinessDataServiceHelper.loadSingle("bd_taxrate", +// new QFilter[]{new QFilter("number", QCP.equals, "V13")});//税率 +// Date date = new Date(); +// int i = 0; +// for (DynamicObject dynamicObject : tqq9_pursuggestrptentry) { +// org = dynamicObject2.getDynamicObject("tqq9_org");//组织 +// if (dynamicObject.getBoolean("tqq9_ischange")) { +// if (i == 0) { +// pm_purorderbill.set("org", org);//申请组织 +// pm_purorderbill.set("dept", dept);//申请部门 +// pm_purorderbill.set("currency", currency);//币别 +// pm_purorderbill.set("creator", user);//创建人 +// pm_purorderbill.set("lastupdateuser", user);//修改人 +// pm_purorderbill.set("lastupdatetime", date);//修改时间 +// pm_purorderbill.set("billno", billno);//采购订单编号 +// pm_purorderbill.set("billtype", BILLTYPE1);//单据类型 +// pm_purorderbill.set("biztype", BIZTYPE);//业务类型 +// pm_purorderbill.set("biztime", date);//申请日期 +// pm_purorderbill.set("billstatus", "A");//单据状态 +// pm_purorderbill.set("closestatus", "A");//关闭状态 +// pm_purorderbill.set("cancelstatus", "A");//作废状态 +// pm_purorderbill.set("changestatus", "A");//变更状态 +// pm_purorderbill.set("subversion", "1");//子版本号 +// pm_purorderbill.set("version", "1");//版本号 +// pm_purorderbill.set("tqq9_sfsyhf", "false");//是否使用货返 +// pm_purorderbill.set("tqq9_hshfsysl", taxrate);//含税货返使用税率 +// pm_purorderbill.set("tqq9_sfsyxf", "false");//是否使用现返 +// pm_purorderbill.set("tqq9_hsxfsysl", taxrate);//含税现返使用税率 +// } +// DynamicObject tqq9_material = dynamicObject.getDynamicObject("tqq9_material");//物料 +// DynamicObject materialpurchaseinfo = BusinessDataServiceHelper.loadSingle("bd_materialpurchaseinfo", +// new QFilter[]{new QFilter("masterid", QCP.equals, tqq9_material.getLong("id"))});//物料采购信息 +// BigDecimal tqq9_saledates = dynamicObject.getBigDecimal("tqq9_saledates"); +// DynamicObject dynamicObject1 = dynamicObjectCollection.addNew(); +// dynamicObject1.set("seq", i + 1);//分录号 +// dynamicObject1.set("material", materialpurchaseinfo);//物料 +// dynamicObject1.set("materialname", tqq9_material.getString("name"));//物料名称 +// dynamicObject1.set("unit", tqq9_material.getDynamicObject("baseunit"));//计量单位 +// dynamicObject1.set("baseunit", tqq9_material.getDynamicObject("baseunit"));//基本单位 +// dynamicObject1.set("tqq9_brand", tqq9_material.getDynamicObject("tqq9_brand"));//品牌 +// dynamicObject1.set("rowclosestatus", "A");//行关闭状态 +// dynamicObject1.set("rowterminatestatus", "A");//行终止状态 +// dynamicObject1.set("entryrecorg", org);//收货组织 +// dynamicObject1.set("entryreqorg", org);//需求组织 +// dynamicObject1.set("entryreqdept", dept);//需求部门 +// dynamicObject1.set("deliverdate", date);//交货日期 +// dynamicObject1.set("entrychangetype", "B");//变更方式 +// dynamicObject1.set("linetype", LINETYPE);//行类型 +// dynamicObject1.set("entrycreator", user);//创建人 +// dynamicObject1.set("entryrecdept", org);//收货部门 +// dynamicObject1.set("discounttype", "C");//折扣方式 +// dynamicObject1.set("tqq9_expectsaletime", tqq9_saledates);//预计销售时间(月) +// if (StringUtils.equals(org.getString("number"), "SHLC")) { +// dynamicObject1.set("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_sh"));//最高采购限价 +// dynamicObject1.set("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_sh"));//含税单价 +// } else if (StringUtils.equals(org.getString("number"), "BJLC")) { +// dynamicObject1.set("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_bj"));//最高采购限价 +// dynamicObject1.set("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_bj"));//含税单价 +// } else if (StringUtils.equals(org.getString("number"), "GZLC")) { +// dynamicObject1.set("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_gz"));//最高采购限价 +// dynamicObject1.set("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_gz"));//含税单价 +// } +// dynamicObjectCollection.set(i, dynamicObject1); +// i++; +// } +// } +// pm_purorderbill.set("billentry", dynamicObjectCollection); +// SaveServiceHelper.save(new DynamicObject[]{pm_purorderbill}); +// BillShowParameter billShowParameter = new BillShowParameter(); +// billShowParameter.getOpenStyle().setShowType(ShowType.Modal); +// billShowParameter.setFormId("pm_purorderbill"); +// DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(pm_purorderbill.getLong("id"), "pm_purorderbill"); +// billShowParameter.setPkId(dynamicObject.get("id")); +// this.getView().showForm(billShowParameter); }