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 0951eac..fd3dc61 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 @@ -21,7 +21,7 @@ import java.util.List; /* * 设备调令单表单插件 - * 说明:1:设备编码带出资产编码;2:过滤设备编码字段;3:调出调入项目带出调出调入负责人;4:自动带出所属组织 + * 说明:1:设备编码带出资产编码;2:过滤设备编码字段;3:调出调入项目带出调出调入负责人;4:自动带出所属组织和部门 */ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener { @Override @@ -40,7 +40,11 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be super.afterCreateNewData(e); long currentUserId = UserServiceHelper.getCurrentUserId(); Long mainOrgId = UserServiceHelper.getUserMainOrgId(currentUserId); - this.getModel().setValue("zcgj_org", mainOrgId);//所属组织 + this.getModel().setValue("zcgj_department", mainOrgId);//部门 + DynamicObject costDept = (DynamicObject) this.getModel().getValue("zcgj_department");//部门 + if (costDept != null) { + setOrg(costDept); + } } @Override @@ -98,6 +102,12 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be } } } + } else if (StringUtil.equals(key, "zcgj_department")){ + //部门 + DynamicObject costDept = (DynamicObject) this.getModel().getValue("zcgj_department");//部门 + if (costDept != null) { + setOrg(costDept); + } } } @@ -152,9 +162,9 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be qFilters.add(new QFilter("id", QCP.in, projectF7Ids)); } - formShowParameter.setHasRight(true); - formShowParameter.getCustomParams().put("isIgnoreLicense", true); - formShowParameter.setIsolationOrg(false); +// formShowParameter.setHasRight(true); +// formShowParameter.getCustomParams().put("isIgnoreLicense", true); +// formShowParameter.setIsolationOrg(false); formShowParameter.getListFilterParameter().setQFilters(qFilters); } @@ -167,4 +177,51 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be } return ids; } + + private void setOrg(DynamicObject costDept) { + DynamicObject orgPattern = costDept.getDynamicObject("orgpattern"); + if (orgPattern == null) { + return; + } + String orgPatternNumber = orgPattern.getString("number"); + if (!orgPatternNumber.equals("Orgform06")) { + //填写的部门的形态不是部门时,直接将部门值赋值给所属组织 + this.getModel().setValue("zcgj_org", costDept);//所属组织 + return; + } + int a = 0; + DynamicObject cost; + DynamicObject viewParent = null; + while (true) { + if (a == 0) { + //第一次进入循环 + cost = costDept; + } else { + QFilter[] qFilters = new QFilter[]{ + new QFilter("number", QCP.equals, viewParent.getString("number")) + }; + cost = BusinessDataServiceHelper.loadSingle("bos_adminorg", qFilters); + } + DynamicObjectCollection structureCollection = cost.getDynamicObjectCollection("structure");//组织结构分录 + DynamicObject structure = structureCollection.get(0); + viewParent = structure.getDynamicObject("viewparent");//上级组织 + String viewParentNumber = viewParent.getString("number"); + QFilter[] qFilters = new QFilter[]{ + new QFilter("number", QCP.equals, viewParentNumber) + }; + DynamicObject bos_adminOrg = BusinessDataServiceHelper.loadSingle("bos_adminorg", qFilters);//行政组织 + DynamicObject orgPattern1 = bos_adminOrg.getDynamicObject("orgpattern");//形态 + String orgPatternNumber1 = orgPattern1.getString("number"); + if (!orgPatternNumber1.equals("Orgform06")) { + //上级不为不为部门的时候,将现在查询的部门赋值给一级承担部门 + break; + } else { + a++; + } + } + + DynamicObject bos_adminorg = BusinessDataServiceHelper.loadSingle("bos_adminorg", new QFilter[]{ + new QFilter("number", QCP.equals, viewParent.getString("number"))}); + this.getModel().setValue("zcgj_org", bos_adminorg);//所属组织 + } }