diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCommandBillPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCommandBillPlugin.java index 2d5629f..2a2df3d 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCommandBillPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCommandBillPlugin.java @@ -140,8 +140,10 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be public void afterCreateNewData(EventObject e) { super.afterCreateNewData(e); long currentUserId = UserServiceHelper.getCurrentUserId(); - Long mainOrgId = UserServiceHelper.getUserMainOrgId(currentUserId); - this.getModel().setValue("zcgj_department", mainOrgId);//部门 + List ids = UserServiceHelper.getOrgsUserJoin(currentUserId); + if (ids != null && ids.size() == 1) { + this.getModel().setValue("zcgj_department", ids.get(0));//部门 + } DynamicObject costDept = (DynamicObject) this.getModel().getValue("zcgj_department");//部门 if (costDept != null) { setOrg(costDept); diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceBillPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceBillPlugin.java index a6ae055..f783de0 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceBillPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceBillPlugin.java @@ -38,8 +38,10 @@ public class MaintenanceBillPlugin extends AbstractBillPlugIn implements Plugin, public void afterCreateNewData(EventObject e) { super.afterCreateNewData(e); long currentUserId = UserServiceHelper.getCurrentUserId();//获取当前用户id - long mainOrgID = UserServiceHelper.getUserMainOrgId(currentUserId);//获取用户默认部门id - this.getModel().setValue("zcgj_applidepart", mainOrgID);//申请人部门 + List ids = UserServiceHelper.getOrgsUserJoin(currentUserId); + if (ids != null && ids.size() == 1) { + this.getModel().setValue("zcgj_applidepart", ids.get(0));//申请人部门 + } Calendar cal = Calendar.getInstance(); int year = cal.get(Calendar.YEAR); int month = cal.get(Calendar.MONTH) + 1; @@ -89,8 +91,12 @@ public class MaintenanceBillPlugin extends AbstractBillPlugIn implements Plugin, return; } DynamicObject zcgj_reqperson = (DynamicObject) newValue;//物资申请人 - long mainOrgID = UserServiceHelper.getUserMainOrgId((Long) zcgj_reqperson.getPkValue());//获取用户默认部门id - this.getModel().setValue("zcgj_applidepart", mainOrgID);//申请人部门 + List ids = UserServiceHelper.getOrgsUserJoin((Long) zcgj_reqperson.getPkValue()); + if (ids != null && ids.size() == 1) { + this.getModel().setValue("zcgj_applidepart", ids.get(0));//申请人部门 + } else { + this.getModel().setValue("zcgj_applidepart", null);//清空申请人部门字段 + } } } 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 4b9730c..15604f2 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 @@ -52,8 +52,10 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement public void afterCreateNewData(EventObject e) { super.afterCreateNewData(e); long currentUserId = UserServiceHelper.getCurrentUserId();//获取当前用户id - long mainOrgID = UserServiceHelper.getUserMainOrgId(currentUserId);//获取用户默认部门id - this.getModel().setValue("zcgj_applidepart", mainOrgID);//申请人部门 + List ids = UserServiceHelper.getOrgsUserJoin(currentUserId); + if (ids != null && ids.size() == 1) { + this.getModel().setValue("zcgj_applidepart", ids.get(0));//申请人部门 + } } @Override @@ -124,8 +126,12 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement return; } DynamicObject zcgj_reqperson = (DynamicObject) newValue;//物资申请人 - long mainOrgID = UserServiceHelper.getUserMainOrgId((Long) zcgj_reqperson.getPkValue());//获取用户默认部门id - this.getModel().setValue("zcgj_applidepart", mainOrgID);//申请人部门 + List ids = UserServiceHelper.getOrgsUserJoin((Long) zcgj_reqperson.getPkValue()); + if (ids != null && ids.size() == 1) { + this.getModel().setValue("zcgj_applidepart", ids.get(0));//申请人部门 + } else { + this.getModel().setValue("zcgj_applidepart", null);//清空申请人部门字段 + } } else if ("totaloftaxamount".equals(key) || "taxamount".equals(key)) { //入库含税总金额,税额 if ("taxamount".equals(key)) { 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 f23c4f9..bb0c71c 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 @@ -21,6 +21,7 @@ import java.util.List; * 说明 1:初始默认采购组织等于所属组织 * 2:过滤项目:项目的项目组织与财务记账组织一致才显示 * 3:项目字段赋值 + * 4:申请人部门过滤赋值 */ public class PurchaseAppBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener { @Override @@ -30,6 +31,10 @@ public class PurchaseAppBillPlugin extends AbstractBillPlugIn implements BeforeF if (project != null) { project.addBeforeF7SelectListener(this); } + BasedataEdit zcgj_persondepart = this.getControl("zcgj_persondepart"); //申请人部门 + if (zcgj_persondepart != null) { + zcgj_persondepart.addBeforeF7SelectListener(this); + } } @Override @@ -39,8 +44,10 @@ public class PurchaseAppBillPlugin extends AbstractBillPlugIn implements BeforeF this.getModel().setValue("purchaseorg", org);//采购组织 DynamicObject applyer = (DynamicObject) this.getModel().getValue("applyer");//申请人 if (applyer != null) { - long mainOrgID = UserServiceHelper.getUserMainOrgId((Long) applyer.getPkValue()); - this.getModel().setValue("zcgj_persondepart", mainOrgID);//申请人部门 + List ids = UserServiceHelper.getOrgsUserJoin((Long) applyer.getPkValue()); + if (ids != null && ids.size() == 1) { + this.getModel().setValue("zcgj_persondepart", ids.get(0));//申请人部门 + } } } @@ -59,19 +66,52 @@ public class PurchaseAppBillPlugin extends AbstractBillPlugIn implements BeforeF } else { this.getModel().setValue("project", null);//项目 } + } else if ("applyer".equals(key)) { + //申请人 + ChangeData[] changeSet = e.getChangeSet(); + ChangeData changeData = changeSet[0]; + Object newValue = changeData.getNewValue();//新值 + if (newValue == null) { + this.getModel().setValue("zcgj_persondepart", null);//清空申请人部门字段 + return; + } + DynamicObject applyer = (DynamicObject) newValue;//出库申请人 + List ids = UserServiceHelper.getOrgsUserJoin((Long) applyer.getPkValue()); + if (ids != null && ids.size() == 1) { + this.getModel().setValue("zcgj_persondepart", ids.get(0));//申请人部门 + } else { + this.getModel().setValue("zcgj_persondepart", null);//清空申请人部门字段 + } } } @Override public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) { + ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter(); + List qFilters = new ArrayList<>(); 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); + if ("project".equals(propertyName)) { + // 项目 + Object fiaccountorg = this.getModel().getValue("fiaccountorg");//财务记账组织 + if (fiaccountorg != null) { + DynamicObject fiaccountorg1 = (DynamicObject) fiaccountorg; + qFilters.add(new QFilter("projectorg.id", QCP.in, fiaccountorg1.get("id")));//项目组织 + } + } else if ("zcgj_persondepart".equals(propertyName)){ + // 申请人部门 + Object applyer = this.getModel().getValue("applyer");//申请人 + if (applyer == null) { + this.getView().showErrorNotification("请先填写出库申请人!!"); + beforeF7SelectEvent.setCancel(true); + } + DynamicObject applyer1 = (DynamicObject) applyer;//申请人 + List ids = new ArrayList<>(); + if (applyer1 != null) { + ids = UserServiceHelper.getOrgsUserJoin((Long) applyer1.getPkValue()); + } + qFilters.add(new QFilter("id", QCP.in, ids)); + formShowParameter.setCustomParam("isIncludeAllSub", "true");//包含下级 } + formShowParameter.getListFilterParameter().setQFilters(qFilters); } }