设备调令单表单插件优化

This commit is contained in:
xuhaihui 2025-08-13 10:01:39 +08:00
parent 3ee371b2ed
commit 5589ade5d5
1 changed files with 62 additions and 5 deletions

View File

@ -21,7 +21,7 @@ import java.util.List;
/* /*
* 设备调令单表单插件 * 设备调令单表单插件
* 说明1设备编码带出资产编码2:过滤设备编码字段3调出调入项目带出调出调入负责人4自动带出所属组织 * 说明1设备编码带出资产编码2:过滤设备编码字段3调出调入项目带出调出调入负责人4自动带出所属组织和部门
*/ */
public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener { public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener {
@Override @Override
@ -40,7 +40,11 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be
super.afterCreateNewData(e); super.afterCreateNewData(e);
long currentUserId = UserServiceHelper.getCurrentUserId(); long currentUserId = UserServiceHelper.getCurrentUserId();
Long mainOrgId = UserServiceHelper.getUserMainOrgId(currentUserId); 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 @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)); qFilters.add(new QFilter("id", QCP.in, projectF7Ids));
} }
formShowParameter.setHasRight(true); // formShowParameter.setHasRight(true);
formShowParameter.getCustomParams().put("isIgnoreLicense", true); // formShowParameter.getCustomParams().put("isIgnoreLicense", true);
formShowParameter.setIsolationOrg(false); // formShowParameter.setIsolationOrg(false);
formShowParameter.getListFilterParameter().setQFilters(qFilters); formShowParameter.getListFilterParameter().setQFilters(qFilters);
} }
@ -167,4 +177,51 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be
} }
return ids; 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);//所属组织
}
} }