diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/common/AssistbalanceAutoData.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/common/AssistbalanceAutoData.java index 697d707..0efce5d 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/common/AssistbalanceAutoData.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/common/AssistbalanceAutoData.java @@ -34,10 +34,25 @@ public class AssistbalanceAutoData { Map orgNumberMap = new HashMap<>(); for (int i = 0; i < load.length; i++) { DynamicObject dynamicObject = load[i]; - orgNumberMap.put(dynamicObject.getString("number"), dynamicObject); - orgIds.add(dynamicObject.getLong("id")); + //orgNumberMap.put(dynamicObject.getString("number"), dynamicObject); + //orgIds.add(dynamicObject.getLong("id")); } + DynamicObject[] costcompany = BusinessDataServiceHelper.load("zcgj_minecompany", "zcgj_costcompany", new QFilter[]{}); + if(costcompany != null){ + List ids = new ArrayList<>(); + for (DynamicObject dynamicObject : costcompany) { + DynamicObject minecompany = dynamicObject.getDynamicObject("zcgj_costcompany"); + long id = minecompany.getLong("id"); + ids.add(id); + } + QFilter idFilter = new QFilter("id", QCP.in, ids); + DynamicObject[] org = BusinessDataServiceHelper.load("bos_org", "id,structure.longnumber,structure.view", new QFilter[]{idFilter}); + for (DynamicObject dynamicObject : org) { + orgNumberMap.put(dynamicObject.getString("number"), dynamicObject); + orgIds.add(dynamicObject.getLong("id")); + } + } //查询科目余额配置表 DynamicObject[] accountConf = BusinessDataServiceHelper.load("zcgj_conf_balanceaccount", "zcgj_account", new QFilter[]{}); diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PrepaybillNoContractListPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PrepaybillNoContractListPlugin.java new file mode 100644 index 0000000..0f86a45 --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PrepaybillNoContractListPlugin.java @@ -0,0 +1,57 @@ +package zcgj.zcdev.zcdev.fs.plugin.form; + +import kd.bos.form.FormShowParameter; +import kd.bos.form.control.events.BeforeItemClickEvent; +import kd.bos.form.events.SetFilterEvent; +import kd.bos.list.ListShowParameter; +import kd.bos.list.events.BeforeShowBillFormEvent; +import kd.bos.list.plugin.AbstractListPlugin; +import kd.bos.orm.query.QFilter; + +import java.util.Map; + +/** + * 预付单无合同列表插件 + */ +public class PrepaybillNoContractListPlugin extends AbstractListPlugin { + + private static String current_opkey = ""; + + @Override + public void setFilter(SetFilterEvent e) { + ListShowParameter param = (ListShowParameter) this.getView().getFormShowParameter(); + String isec = param.getCustomParam("isec"); + if (isec!=null) { + if(isec.equals("true")) { + this.getView().setVisible(false, "tblnew"); + } + e.addCustomQFilter(new QFilter("zcgj_isec", "=", Boolean.valueOf(isec))); + }else{ + e.addCustomQFilter(new QFilter("zcgj_isec", "=", false)); + this.getView().setVisible(false, "zcgj_newecbill"); + } + } + + @Override + public void beforeShowBill(BeforeShowBillFormEvent e) { + FormShowParameter formShowParameter = this.getView().getFormShowParameter(); + if(null!=formShowParameter && current_opkey.equals("zcgj_newecbill")){ + Map customParams =formShowParameter.getCustomParams(); + if(null!=customParams){ + customParams.put("isec",true); + e.getParameter().setCustomParams(customParams); + } + current_opkey =""; + } + super.beforeShowBill(e); + } + + @Override + public void beforeItemClick(BeforeItemClickEvent evt) { + String itemKey = evt.getItemKey(); + if("zcgj_newecbill".equals(itemKey)) { + current_opkey = "zcgj_newecbill"; + } + super.beforeItemClick(evt); + } +} diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PrepaybillNoContractPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PrepaybillNoContractPlugin.java new file mode 100644 index 0000000..e35593c --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PrepaybillNoContractPlugin.java @@ -0,0 +1,67 @@ +package zcgj.zcdev.zcdev.fs.plugin.form; + +import kd.bos.bill.AbstractBillPlugIn; +import kd.bos.dataentity.entity.LocaleString; +import kd.bos.entity.datamodel.IDataModel; +import kd.bos.form.events.PreOpenFormEventArgs; + +import java.util.EventObject; + +/** + * 预付单无合同列表插件 + */ +public class PrepaybillNoContractPlugin extends AbstractBillPlugIn { + + private static boolean editTitle = false; + + @Override + public void afterCreateNewData(EventObject e) { + + Object isecObj = this.getView().getFormShowParameter().getCustomParam("isec"); + if(null!=isecObj){ + boolean isec1 = (boolean)isecObj; + IDataModel model = this.getModel(); + model.setValue("zcgj_isec", isec1); + editTitle = isec1; + this.getView().updateView("zcgj_isec"); + if(isec1){ + this.getView().setFormTitle(new LocaleString("无合同预付单单")); + } + } + } + + @Override + public void afterBindData(EventObject e) { + super.afterBindData(e); + boolean isec=(boolean)this.getModel().getValue("zcgj_isec"); + if(isec){ + this.getView().setFormTitle(new LocaleString("无合同预付单单")); + } + } + + @Override + public void preOpenForm(PreOpenFormEventArgs e) { + super.preOpenForm(e); + /* OperationStatus status = e.getFormShowParameter().getStatus(); + if (!status.equals(OperationStatus.ADDNEW)) { + Object pkId = ((BillShowParameter)e.getSource()).getPkId(); + if (pkId == null) { + return; + } + try { + String formId = e.getFormShowParameter().getFormId(); + DynamicObject upLookBill = QueryServiceHelper.queryOne(formId, "zcgj_isec", new QFilter[]{new QFilter("id", "=", pkId)}); + boolean isec = upLookBill.getBoolean("zcgj_isec"); + if (isec) { + BillShowParameter billShowParameter = (BillShowParameter)e.getFormShowParameter(); + billShowParameter.setCaption(ResManager.loadKDString("无合同付款申请单", "PublicReimAssetBillEdit_1", "fi-er-formplugin", new Object[0])); + } + } catch (Exception var8) { + //logger.error("没有找到相应的对公报销单,其pk为:" + pkId); + } + }if(editTitle){ + BillShowParameter billShowParameter = (BillShowParameter)e.getFormShowParameter(); + billShowParameter.setCaption(ResManager.loadKDString("无合同付款申请单", "PublicReimAssetBillEdit_1", "fi-er-formplugin", new Object[0])); + }*/ + } +} diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PublicreimbursebillNoContractListPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PublicreimbursebillNoContractListPlugin.java index 01bce29..8f927c4 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PublicreimbursebillNoContractListPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PublicreimbursebillNoContractListPlugin.java @@ -58,7 +58,6 @@ public class PublicreimbursebillNoContractListPlugin extends AbstractListPlugin public void beforeItemClick(BeforeItemClickEvent evt) { String itemKey = evt.getItemKey(); if("zcgj_newecbill".equals(itemKey)) { - System.out.println(); current_opkey = "zcgj_newecbill"; } super.beforeItemClick(evt); diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceConfirmBillPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceConfirmBillPlugin.java new file mode 100644 index 0000000..2a42702 --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceConfirmBillPlugin.java @@ -0,0 +1,76 @@ +package zcgj.zcdev.zcdev.pr.plugin.form; + +import kd.bos.bill.AbstractBillPlugIn; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.entity.datamodel.events.ChangeData; +import kd.bos.entity.datamodel.events.PropertyChangedArgs; +import kd.bos.form.field.BasedataEdit; +import kd.bos.form.field.events.BeforeF7SelectEvent; +import kd.bos.form.field.events.BeforeF7SelectListener; +import kd.bos.list.ListShowParameter; +import kd.bos.orm.query.QCP; +import kd.bos.orm.query.QFilter; +import kd.bos.servicehelper.BusinessDataServiceHelper; + +import java.util.Calendar; +import java.util.EventObject; + +/** + * 设备维修确认单表单插件 + * 说明 1:过滤合同名称字段 + * 2:结算期间初始化赋值 + */ +public class MaintenanceConfirmBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener { + @Override + public void registerListener(EventObject e) { + super.registerListener(e); + BasedataEdit zcgj_contract = this.getControl("zcgj_contract"); //合同名称 + if (zcgj_contract != null) { + zcgj_contract.addBeforeF7SelectListener(this); + } + } + + public void afterCreateNewData(EventObject e) { + Calendar cal = Calendar.getInstance(); + int year = cal.get(1); + int month = cal.get(2) + 1; + QFilter yearFilter = new QFilter("periodyear", "=", year); + QFilter monthFilter = new QFilter("periodnumber", "=", month); + DynamicObject[] peridoArr = BusinessDataServiceHelper.load("bd_period", "id", new QFilter[]{yearFilter, monthFilter});//会计期间 + if (peridoArr.length != 0) { + DynamicObject period = peridoArr[0]; + this.getModel().setValue("zcgj_period", period);//结算期间 + } + } + + @Override + public void propertyChanged(PropertyChangedArgs e) { + super.propertyChanged(e); + String key = e.getProperty().getName(); + if ("zcgj_accountorg".equals(key)) { + //财务记账组织 + ChangeData[] changeSet = e.getChangeSet(); + ChangeData changeData = changeSet[0]; + Object newValue = changeData.getNewValue();//新值 + Object oldValue = changeData.getOldValue();//旧值 + if (newValue == null || !newValue.equals(oldValue)) { + this.getModel().setValue("zcgj_contract", null);//清空合同名称 + } + } + } + + @Override + public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) { + String name = beforeF7SelectEvent.getProperty().getName(); + ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter(); + Object zcgj_accountorg = this.getModel().getValue("zcgj_accountorg");//核算组织 + if (zcgj_accountorg != null) { + DynamicObject zcgj_accountorg1 = (DynamicObject) zcgj_accountorg; + QFilter qFilter = new QFilter("project.projectorg", QCP.equals, zcgj_accountorg1.getPkValue()); + formShowParameter.getListFilterParameter().getQFilters().add(qFilter); + } else { + this.getView().showErrorNotification("请先填写财务记账组织!!"); + beforeF7SelectEvent.setCancel(true); + } + } +} diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialInbPurchaseApplyPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialInbPurchaseApplyPlugin.java index 14a7220..423392f 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialInbPurchaseApplyPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialInbPurchaseApplyPlugin.java @@ -80,6 +80,15 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement } else if ("warehouse".equals(key)) { //仓库 this.getModel().setValue("zcgj_purchaseapply", null);//清空采购申请单字段 + } else if ("fiaccountorg".equals(key)) { + //财务记账组织 + ChangeData[] changeSet = e.getChangeSet(); + ChangeData changeData = changeSet[0]; + Object newValue = changeData.getNewValue();//新值 + Object oldValue = changeData.getOldValue();//旧值 + if (newValue == null || !newValue.equals(oldValue)) { + this.getModel().setValue("zcgj_purchaseapply", null);//清空采购申请 + } } } @@ -87,11 +96,18 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) { String propertyName = beforeF7SelectEvent.getProperty().getName(); Object project = this.getModel().getValue("project");//项目 - if (project != null) { + Object fiaccountorg = this.getModel().getValue("fiaccountorg");//财务记账组织 + if (fiaccountorg == null) { + this.getView().showErrorNotification("请先填写财务记账组织!!"); + beforeF7SelectEvent.setCancel(true); + } + if (project != null && fiaccountorg != null) { DynamicObject project1 = (DynamicObject) project; + DynamicObject fiaccountorg1 = (DynamicObject) fiaccountorg; ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter(); List qFilters = new ArrayList<>(); - qFilters.add(new QFilter("project.id", QCP.in, project1.get("id"))); + qFilters.add(new QFilter("project.id", QCP.in, project1.get("id")));// 项目 + qFilters.add(new QFilter("purchaseorg.id", QCP.in, fiaccountorg1.get("id")));//采购组织 formShowParameter.getListFilterParameter().setQFilters(qFilters); } } diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialOutBillPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialOutBillPlugin.java new file mode 100644 index 0000000..87d326d --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialOutBillPlugin.java @@ -0,0 +1,74 @@ +package zcgj.zcdev.zcdev.pr.plugin.form; + +import kd.bos.bill.AbstractBillPlugIn; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.entity.datamodel.events.ChangeData; +import kd.bos.entity.datamodel.events.PropertyChangedArgs; +import kd.bos.form.field.BasedataEdit; +import kd.bos.form.field.events.BeforeF7SelectEvent; +import kd.bos.form.field.events.BeforeF7SelectListener; +import kd.bos.list.ListShowParameter; +import kd.bos.orm.query.QCP; +import kd.bos.orm.query.QFilter; + +import java.util.EventObject; + +/** + * 出库单表单插件 + * 说明:1:核算组织由项目中的财务记账组织携带而来 + * 2:使用设备过滤,通过核算组织与使用设备中的使用组织比对而来过滤 + */ +public class MaterialOutBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener { + + @Override + public void registerListener(EventObject e) { + super.registerListener(e); + BasedataEdit zcgj_shebei = this.getControl("zcgj_shebei"); //使用设备 + if (zcgj_shebei != null) { + zcgj_shebei.addBeforeF7SelectListener(this); + } + } + + @Override + public void propertyChanged(PropertyChangedArgs e) { + super.propertyChanged(e); + String key = e.getProperty().getName(); + if ("project".equals(key) || "warehouse".equals(key)) { + //项目,仓库 + Object project = this.getModel().getValue("project");// 项目 + if (project != null) { + DynamicObject project1 = (DynamicObject) project; + this.getModel().setValue("zcgj_fiorg", project1.get("fiaccountorg"));//核算组织 ← 项目-财务记账组织 + } else { + this.getModel().setValue("zcgj_fiorg", null); + } + } else if ("zcgj_fiorg".equals(key)) { + //核算组织 + ChangeData[] changeSet = e.getChangeSet(); + ChangeData changeData = changeSet[0]; + Object newValue = changeData.getNewValue();//新值 + Object oldValue = changeData.getOldValue();//旧值 + if (newValue == null || !newValue.equals(oldValue)) { + DynamicObjectCollection entryCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("entryentity");//出库单分录 + entryCollection.clear(); + this.getView().updateView("entryentity");//刷新分录 + } + } + } + + @Override + public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) { + String name = beforeF7SelectEvent.getProperty().getName(); + ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter(); + Object zcgj_fiorg = this.getModel().getValue("zcgj_fiorg");//核算组织 + if (zcgj_fiorg != null) { + DynamicObject zcgj_fiorg1 = (DynamicObject) zcgj_fiorg; + QFilter qFilter = new QFilter("useorg", QCP.equals, zcgj_fiorg1.getPkValue()); + formShowParameter.getListFilterParameter().getQFilters().add(qFilter); + } else { + this.getView().showErrorNotification("请先填写核算组织!"); + beforeF7SelectEvent.setCancel(true); + } + } +} diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/PurchaseAppBillPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/PurchaseAppBillPlugin.java index 14f75f9..73f872d 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/PurchaseAppBillPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/PurchaseAppBillPlugin.java @@ -1,17 +1,50 @@ package zcgj.zcdev.zcdev.pr.plugin.form; import kd.bos.bill.AbstractBillPlugIn; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.form.field.BasedataEdit; +import kd.bos.form.field.events.BeforeF7SelectEvent; +import kd.bos.form.field.events.BeforeF7SelectListener; +import kd.bos.list.ListShowParameter; +import kd.bos.orm.query.QCP; +import kd.bos.orm.query.QFilter; +import java.util.ArrayList; import java.util.EventObject; +import java.util.List; /** - * 采购申请单表单插件:初始默认采购组织等于所属组织 + * 采购申请单表单插件 + * 说明 1:初始默认采购组织等于所属组织 + * 2:过滤项目:项目的项目组织与财务记账组织一致才显示 */ -public class PurchaseAppBillPlugin extends AbstractBillPlugIn { +public class PurchaseAppBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener { + @Override + public void registerListener(EventObject e) { + super.registerListener(e); + BasedataEdit project = this.getControl("project"); //项目 + if (project != null) { + project.addBeforeF7SelectListener(this); + } + } + @Override public void afterCreateNewData(EventObject e) { super.afterCreateNewData(e); Object org = this.getModel().getValue("org");//所属组织 this.getModel().setValue("purchaseorg", org);//采购组织 } + + @Override + public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) { + String propertyName = beforeF7SelectEvent.getProperty().getName(); + Object fiaccountorg = this.getModel().getValue("fiaccountorg");//财务记账组织 + if (fiaccountorg != null){ + DynamicObject fiaccountorg1 = (DynamicObject) fiaccountorg; + ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter(); + List qFilters = new ArrayList<>(); + qFilters.add(new QFilter("projectorg.id", QCP.in, fiaccountorg1.get("id")));//项目组织 + formShowParameter.getListFilterParameter().setQFilters(qFilters); + } + } }