设备调令单表单插件逻辑优化

This commit is contained in:
xuhaihui 2025-08-12 10:01:07 +08:00
parent c89d0811f9
commit 1b4014a8f5
1 changed files with 41 additions and 5 deletions

View File

@ -13,6 +13,7 @@ import kd.bos.list.ListShowParameter;
import kd.bos.orm.query.QCP; import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter; import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.user.UserServiceHelper;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.EventObject; import java.util.EventObject;
@ -20,7 +21,7 @@ import java.util.List;
/* /*
* 设备调令单表单插件 * 设备调令单表单插件
* 说明1设备编码带出资产编码2:过滤设备编码字段3调出调入项目带出调出调入负责人 * 说明1设备编码带出资产编码2:过滤设备编码字段3调出调入项目带出调出调入负责人4自动带出所属组织
*/ */
public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener { public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener {
@Override @Override
@ -34,6 +35,14 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be
inProject.addBeforeF7SelectListener(this); inProject.addBeforeF7SelectListener(this);
} }
@Override
public void afterCreateNewData(EventObject e) {
super.afterCreateNewData(e);
long currentUserId = UserServiceHelper.getCurrentUserId();
Long mainOrgId = UserServiceHelper.getUserMainOrgId(currentUserId);
this.getModel().setValue("zcgj_org", mainOrgId);//所属组织
}
@Override @Override
public void propertyChanged(PropertyChangedArgs e) { public void propertyChanged(PropertyChangedArgs e) {
super.propertyChanged(e); super.propertyChanged(e);
@ -105,13 +114,31 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be
beforeF7SelectEvent.setCancel(true); beforeF7SelectEvent.setCancel(true);
return; return;
} }
DynamicObject outOrgDy = (DynamicObject) outOrg; DynamicObject outOrgDy = (DynamicObject) outOrg;//调出组织
if (StringUtil.equals(propertyName, "zcgj_realcard")) { if (StringUtil.equals(propertyName, "zcgj_realcard")) {
//设备编码 //设备编码
qFilter.add(new QFilter("org.id", "=", outOrgDy.get("id"))); QFilter Filter = new QFilter("org.id", "=", outOrgDy.get("id"));
DynamicObject[] equipment_infos = BusinessDataServiceHelper.load("eceq_equipment_info", "id", new QFilter[]{Filter});//设备台账F7
List<Long> equipment_infoIds = new ArrayList<>();
if (equipment_infos != null && equipment_infos.length > 0) {
for (DynamicObject equipment_info : equipment_infos) {
Long equipment_infoId = (Long) equipment_info.get("id");
equipment_infoIds.add(equipment_infoId);
}
}
qFilter.add(new QFilter("id", QCP.in, equipment_infoIds));
} else { } else {
//调出项目 //调出项目
qFilter.add(new QFilter("fiaccountorg.id", "=", outOrgDy.get("id"))); QFilter Filter = new QFilter("fiaccountorg.id", "=", outOrgDy.get("id"));
DynamicObject[] projectF7s = BusinessDataServiceHelper.load("ec_ecbd_projectf7", "id", new QFilter[]{Filter});//工程项目
List<Long> projectF7Ids = new ArrayList<>();
if (projectF7s != null && projectF7s.length > 0) {
for (DynamicObject projectF7 : projectF7s) {
Long projectF7Id = (Long) projectF7.get("id");
projectF7Ids.add(projectF7Id);
}
}
qFilter.add(new QFilter("id", QCP.in, projectF7Ids));
} }
} else if (StringUtil.equals(propertyName, "zcgj_inproject")) { } else if (StringUtil.equals(propertyName, "zcgj_inproject")) {
//调入项目 //调入项目
@ -122,7 +149,16 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be
return; return;
} }
DynamicObject inOrgDy = (DynamicObject) inOrg; DynamicObject inOrgDy = (DynamicObject) inOrg;
qFilter.add(new QFilter("fiaccountorg.id", "=", inOrgDy.get("id"))); QFilter Filter = new QFilter("fiaccountorg.id", "=", inOrgDy.get("id"));
DynamicObject[] projectF7s = BusinessDataServiceHelper.load("ec_ecbd_projectf7", "id", new QFilter[]{Filter});//工程项目
List<Long> projectF7Ids = new ArrayList<>();
if (projectF7s != null && projectF7s.length > 0) {
for (DynamicObject projectF7 : projectF7s) {
Long projectF7Id = (Long) projectF7.get("id");
projectF7Ids.add(projectF7Id);
}
}
qFilter.add(new QFilter("id", QCP.in, projectF7Ids));
} }
formShowParameter.getListFilterParameter().setQFilters(qFilter); formShowParameter.getListFilterParameter().setQFilters(qFilter);
} }