From 68eadb76b1f8f0acbef2857454bcac90e1b81437 Mon Sep 17 00:00:00 2001 From: weiyunlong Date: Fri, 20 Dec 2024 15:43:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=98=E6=AC=BE=E7=94=B3=E8=AF=B7=E4=BC=98?= =?UTF-8?q?=E5=8C=96,xifu,=E5=90=88=E5=90=8C=E7=89=A9=E6=96=99=E5=AF=BC?= =?UTF-8?q?=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit S --- .../ContractMaterialImportPlugin.java | 65 +++++++++++ .../formplugin/PayreqProjectFormPlugin.java | 7 ++ .../ReconPayreqProjectFormPlugin.java | 7 ++ .../repc/recon/formplugin/TestFormPlugin.java | 101 +++++++----------- 4 files changed, 120 insertions(+), 60 deletions(-) create mode 100644 main/java/shkd/repc/recon/formplugin/ContractMaterialImportPlugin.java diff --git a/main/java/shkd/repc/recon/formplugin/ContractMaterialImportPlugin.java b/main/java/shkd/repc/recon/formplugin/ContractMaterialImportPlugin.java new file mode 100644 index 0000000..ecd4e69 --- /dev/null +++ b/main/java/shkd/repc/recon/formplugin/ContractMaterialImportPlugin.java @@ -0,0 +1,65 @@ +package shkd.repc.recon.formplugin; + +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.entity.datamodel.BasedataItem; +import kd.bos.entity.datamodel.events.QueryImportBasedataEventArgs; +import kd.bos.form.plugin.AbstractFormPlugin; +import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.bos.servicehelper.operation.SaveServiceHelper; +import kd.bos.servicehelper.org.OrgUnitServiceHelper; + +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +/** + * 合同表单插件 + */ +public class ContractMaterialImportPlugin extends AbstractFormPlugin { + + private static final String BOS_ORG = "bos_org";//组织实体 + + private static final String BD_MATERIAL = "bd_material";//物料实体 + //TODO: 生成物料逻辑迁移到导入过程中,获取excel行 + @Override + public void queryImportBasedata(QueryImportBasedataEventArgs e) { + super.queryImportBasedata(e); + Map> searchResult = e.getSearchResult(); + for (Map.Entry> entry : searchResult.entrySet()) { + List basedata = entry.getValue(); + if (basedata.isEmpty()) { // 查不到基础资料数据 + Long materialId = newMaterial(entry.getKey().getSearchValue()); + basedata.add(materialId); + //algo.storage.redis.ip_port +// System.getProperty("algo.storage.redis.ip_port"); + } else { + // 查到多个基础资料数据 + // 业务场景,应根据需求剔除不合法的基础资料数据(最终保留一个) + Iterator it = basedata.iterator(); + it.next(); + while (it.hasNext()) { + it.remove(); + } + } + } + } + private Long newMaterial(String number){ + long rootOrgId = OrgUnitServiceHelper.getRootOrgId(); + DynamicObject org = BusinessDataServiceHelper.loadSingle(rootOrgId, BOS_ORG); + DynamicObject bd_material = BusinessDataServiceHelper.newDynamicObject(BD_MATERIAL); + bd_material.set("number",number); + bd_material.set("name",number); + if (null != org) { + bd_material.set("createorg",org); + } + bd_material.set("materialtype","1");//物料类型:物资 + bd_material.set("enable", "1");//使用状态:可用 + bd_material.set("status", "C");//数据状态:审核 + bd_material.set("ctrlstrategy", "5");//控制策略:全局共享 + bd_material.set("enablepur",true);//可采购 + bd_material.set("enablesale",true);//可销售 + bd_material.set("enableinv",true);//可库存 + SaveServiceHelper.save(new DynamicObject[]{bd_material}); + return bd_material.getLong("id"); + } +} diff --git a/main/java/shkd/repc/recon/formplugin/PayreqProjectFormPlugin.java b/main/java/shkd/repc/recon/formplugin/PayreqProjectFormPlugin.java index defd856..69ebcd0 100644 --- a/main/java/shkd/repc/recon/formplugin/PayreqProjectFormPlugin.java +++ b/main/java/shkd/repc/recon/formplugin/PayreqProjectFormPlugin.java @@ -27,6 +27,13 @@ public class PayreqProjectFormPlugin extends AbstractBillPlugIn { if ("org".equals(name)) { updateRenovationProject(); } + + //xifu携带名称 + if ("qeug_xf".equals(name)) { + String qeug_xf = (String)this.getModel().getValue("qeug_xf"); + this.getModel().setValue("billname",qeug_xf); + this.getView().updateView("billname"); + } } private void updateRenovationProject() { diff --git a/main/java/shkd/repc/recon/formplugin/ReconPayreqProjectFormPlugin.java b/main/java/shkd/repc/recon/formplugin/ReconPayreqProjectFormPlugin.java index 8f20919..8effefc 100644 --- a/main/java/shkd/repc/recon/formplugin/ReconPayreqProjectFormPlugin.java +++ b/main/java/shkd/repc/recon/formplugin/ReconPayreqProjectFormPlugin.java @@ -32,6 +32,13 @@ public class ReconPayreqProjectFormPlugin extends AbstractBillPlugIn { if ("usedepart".equals(name)) { updateFinanceOrg(); } + + //xifu携带名称 + if ("qeug_xf".equals(name)) { + String qeug_xf = (String)this.getModel().getValue("qeug_xf"); + this.getModel().setValue("billname",qeug_xf); + this.getView().updateView("billname"); + } } private void updateRenovationProject() { diff --git a/main/java/shkd/repc/recon/formplugin/TestFormPlugin.java b/main/java/shkd/repc/recon/formplugin/TestFormPlugin.java index 6449f88..1e2339a 100644 --- a/main/java/shkd/repc/recon/formplugin/TestFormPlugin.java +++ b/main/java/shkd/repc/recon/formplugin/TestFormPlugin.java @@ -4,13 +4,18 @@ import com.apusic.aas.util.digester.Digester; import com.apusic.aas.util.digester.Rule; import com.apusic.aas.util.digester.Rules; import kd.bos.bill.BillShowParameter; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.entity.datamodel.events.PropertyChangedArgs; import kd.bos.form.ShowType; import kd.bos.form.events.AfterDoOperationEventArgs; import kd.bos.form.plugin.AbstractFormPlugin; +import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.bos.servicehelper.operation.SaveServiceHelper; +import kd.bos.servicehelper.org.OrgUnitServiceHelper; import java.util.List; -public class TestFormPlugin extends AbstractFormPlugin implements Rules { +public class TestFormPlugin extends AbstractFormPlugin { @Override public void afterDoOperation(AfterDoOperationEventArgs afterDoOperationEventArgs) { @@ -18,69 +23,45 @@ public class TestFormPlugin extends AbstractFormPlugin implements Rules { String operateKey = afterDoOperationEventArgs.getOperateKey(); if ("save".equals(operateKey)) { - BillShowParameter billShowParameter = new BillShowParameter(); - billShowParameter.setFormId("recos_conplan");// 合约规划 - billShowParameter.getOpenStyle().setShowType(ShowType.Modal); - billShowParameter.getOpenStyle().setTargetKey("tabap"); - this.getView().showForm(billShowParameter); +// BillShowParameter billShowParameter = new BillShowParameter(); +// billShowParameter.setFormId("recos_conplan");// 合约规划 +// billShowParameter.getOpenStyle().setShowType(ShowType.Modal); +// billShowParameter.getOpenStyle().setTargetKey("tabap"); +// this.getView().showForm(billShowParameter); + + long rootOrgId = OrgUnitServiceHelper.getRootOrgId(); + DynamicObject org = BusinessDataServiceHelper.loadSingle(rootOrgId, "bos_org"); + DynamicObject bd_material = BusinessDataServiceHelper.newDynamicObject("bd_material"); + bd_material.set("enable", "1");//使用状态 + bd_material.set("status", "C");//数据状态 + bd_material.set("ctrlstrategy", "5");//控制策略 + bd_material.set("number","001"); + bd_material.set("name","001"); + if (null != org) { + bd_material.set("createorg",org); + } + bd_material.set("materialtype","1"); + bd_material.set("enablepur",true);//可采购 + bd_material.set("enablesale",true);//可销售 + bd_material.set("enableinv",true);//可库存 + SaveServiceHelper.save(new DynamicObject[]{bd_material}); + + + + } - List rules = this.rules(); - this.getControl("rules"); - this.getView().getModel(); - - Rule rule = null; - rule.getNamespaceURI(); } @Override - public Digester getDigester() { - System.out.println(""); - System.out.println(""); - System.out.println(""); - System.out.println(""); - return null; - } - - @Override - public void setDigester(Digester digester) { - System.out.println(""); - System.out.println(""); - System.out.println(""); - System.out.println(""); - } - - @Override - public void add(String s, Rule rule) { - System.out.println(""); - System.out.println(""); - System.out.println(""); - System.out.println(""); - } - - @Override - public void clear() { - System.out.println(""); - System.out.println(""); - System.out.println(""); - System.out.println(""); - } - - @Override - public List match(String s, String s1) { - System.out.println(""); - System.out.println(""); - System.out.println(""); - System.out.println(""); - return null; - } - - @Override - public List rules() { - System.out.println(""); - System.out.println(""); - System.out.println(""); - System.out.println(""); - return null; + public void propertyChanged(PropertyChangedArgs e) { + super.propertyChanged(e); + String name = e.getProperty().getName(); + //根据组织携带项目 + if ("billname".equals(name)) { + String billname = (String)this.getModel().getValue("billname"); + this.getModel().setValue("qeug_xf",billname); + this.getView().updateView("qeug_xf"); + } } }