设备调令单表单插件逻辑优化
This commit is contained in:
parent
fe609728ce
commit
9acaea9c02
|
@ -3,8 +3,12 @@ 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.ListSelectedRowCollection;
|
||||
import kd.bos.entity.datamodel.events.ChangeData;
|
||||
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
||||
import kd.bos.form.CloseCallBack;
|
||||
import kd.bos.form.ShowFormHelper;
|
||||
import kd.bos.form.events.ClosedCallBackEvent;
|
||||
import kd.bos.form.field.BasedataEdit;
|
||||
import kd.bos.form.field.events.BeforeF7SelectEvent;
|
||||
import kd.bos.form.field.events.BeforeF7SelectListener;
|
||||
|
@ -33,6 +37,10 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be
|
|||
outProject.addBeforeF7SelectListener(this);
|
||||
BasedataEdit inProject = this.getControl("zcgj_inproject"); //调入项目
|
||||
inProject.addBeforeF7SelectListener(this);
|
||||
BasedataEdit zcgj_department = this.getView().getControl("zcgj_department");//部门
|
||||
zcgj_department.addBeforeF7SelectListener(this);
|
||||
BasedataEdit zcgj_org = this.getView().getControl("zcgj_org");//所属组织
|
||||
zcgj_org.addBeforeF7SelectListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -125,13 +133,12 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be
|
|||
beforeF7SelectEvent.setCancel(true);
|
||||
return;
|
||||
}
|
||||
|
||||
DynamicObject outOrgDy = (DynamicObject) outOrg;//调出组织
|
||||
QFilter filter = new QFilter("org.id", "=", outOrgDy.get("id"));
|
||||
DynamicObject[] equipmentInfos = BusinessDataServiceHelper.load("eceq_equipment_info", "id", new QFilter[]{filter});//设备台账F7
|
||||
List<Long> equipmentInfoIds = getIdsFromDynamicObjects(equipmentInfos);
|
||||
qFilters.add(new QFilter("id", QCP.in, equipmentInfoIds));
|
||||
|
||||
formShowParameter.getListFilterParameter().setQFilters(qFilters);
|
||||
} else if (StringUtil.equals(propertyName, "zcgj_outproject")) {
|
||||
// 调出项目
|
||||
Object outOrg = this.getModel().getValue("zcgj_outorg");//调出组织
|
||||
|
@ -140,13 +147,18 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be
|
|||
beforeF7SelectEvent.setCancel(true);
|
||||
return;
|
||||
}
|
||||
|
||||
DynamicObject outOrgDy = (DynamicObject) outOrg;//调出组织
|
||||
QFilter filter = new QFilter("fiaccountorg.id", "=", outOrgDy.get("id"));
|
||||
DynamicObject[] projectF7s = BusinessDataServiceHelper.load("ec_ecbd_projectf7", "id", new QFilter[]{filter});//工程项目
|
||||
List<Long> projectF7Ids = getIdsFromDynamicObjects(projectF7s);
|
||||
qFilters.add(new QFilter("id", QCP.in, projectF7Ids));
|
||||
|
||||
beforeF7SelectEvent.setCancel(true);
|
||||
ListShowParameter ec_ecbd_projectf7 = ShowFormHelper.createShowListForm("ec_ecbd_projectf7", true);
|
||||
ec_ecbd_projectf7.setCloseCallBack(new CloseCallBack(this, "zcgj_outproject"));
|
||||
ec_ecbd_projectf7.setMultiSelect(false);
|
||||
ec_ecbd_projectf7.setIsolationOrg(true);
|
||||
ec_ecbd_projectf7.getListFilterParameter().setQFilters(qFilters);
|
||||
this.getView().showForm(ec_ecbd_projectf7);
|
||||
} else if (StringUtil.equals(propertyName, "zcgj_inproject")) {
|
||||
//调入项目
|
||||
Object inOrg = this.getModel().getValue("zcgj_inorg");//调入组织
|
||||
|
@ -160,12 +172,53 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be
|
|||
DynamicObject[] projectF7s = BusinessDataServiceHelper.load("ec_ecbd_projectf7", "id", new QFilter[]{filter});
|
||||
List<Long> projectF7Ids = getIdsFromDynamicObjects(projectF7s);
|
||||
qFilters.add(new QFilter("id", QCP.in, projectF7Ids));
|
||||
beforeF7SelectEvent.setCancel(true);
|
||||
ListShowParameter ec_ecbd_projectf7 = ShowFormHelper.createShowListForm("ec_ecbd_projectf7", true);
|
||||
ec_ecbd_projectf7.setCloseCallBack(new CloseCallBack(this, "zcgj_inproject"));
|
||||
ec_ecbd_projectf7.setMultiSelect(false);
|
||||
ec_ecbd_projectf7.setIsolationOrg(true);
|
||||
ec_ecbd_projectf7.getListFilterParameter().setQFilters(qFilters);
|
||||
this.getView().showForm(ec_ecbd_projectf7);
|
||||
} else if (propertyName.equals("zcgj_department")) {
|
||||
// 部门
|
||||
DynamicObject creator = this.getModel().getDataEntity().getDynamicObject("creator");//创建人
|
||||
if (creator == null) {
|
||||
return;
|
||||
}
|
||||
List<Long> id = UserServiceHelper.getOrgsUserJoin(creator.getLong("id"));
|
||||
qFilters.add(new QFilter("id", QCP.in, id));
|
||||
formShowParameter.setCustomParam("isIncludeAllSub", "true");
|
||||
formShowParameter.getListFilterParameter().setQFilters(qFilters);
|
||||
} else if (propertyName.equals("zcgj_org")) {
|
||||
// 所属组织
|
||||
DynamicObject costDept = (DynamicObject) this.getModel().getValue("zcgj_department");//部门
|
||||
DynamicObject zcgj_org = (DynamicObject) this.getModel().getValue("zcgj_org");//所属组织
|
||||
if (costDept != null && zcgj_org != null) {
|
||||
DynamicObject orgPattern = costDept.getDynamicObject("orgpattern");
|
||||
if (orgPattern == null) {
|
||||
return;
|
||||
}
|
||||
String orgPatternNumber = orgPattern.getString("number");
|
||||
if (orgPatternNumber.equals("Orgform06")) {
|
||||
Long id = (Long) zcgj_org.get("id");
|
||||
qFilters.add(new QFilter("id", QCP.in, id));
|
||||
formShowParameter.setCustomParam("isIncludeAllSub", "true");
|
||||
formShowParameter.getListFilterParameter().setQFilters(qFilters);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// formShowParameter.setHasRight(true);
|
||||
// formShowParameter.getCustomParams().put("isIgnoreLicense", true);
|
||||
// formShowParameter.setIsolationOrg(false);
|
||||
formShowParameter.getListFilterParameter().setQFilters(qFilters);
|
||||
public void closedCallBack(ClosedCallBackEvent closedCallBackEvent) {
|
||||
super.closedCallBack(closedCallBackEvent);
|
||||
String actionId = closedCallBackEvent.getActionId();
|
||||
ListSelectedRowCollection returnData = (ListSelectedRowCollection) closedCallBackEvent.getReturnData();
|
||||
if (returnData == null) {
|
||||
return;
|
||||
}
|
||||
Object[] primaryKeyValues = returnData.getPrimaryKeyValues();
|
||||
Long primaryKeyValue = (Long) primaryKeyValues[0];
|
||||
this.getModel().setValue(actionId, primaryKeyValue);
|
||||
}
|
||||
|
||||
private List<Long> getIdsFromDynamicObjects(DynamicObject[] dynamicObjects) {
|
||||
|
|
Loading…
Reference in New Issue