This commit is contained in:
		
							parent
							
								
									1b4014a8f5
								
							
						
					
					
						commit
						f1b0676256
					
				| 
						 | 
				
			
			@ -105,41 +105,38 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be
 | 
			
		|||
    public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
 | 
			
		||||
        String propertyName = beforeF7SelectEvent.getProperty().getName();
 | 
			
		||||
        ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
 | 
			
		||||
        List<QFilter> qFilter = new ArrayList<>();
 | 
			
		||||
        if (StringUtil.equals(propertyName, "zcgj_realcard") || StringUtil.equals(propertyName, "zcgj_outproject")) {
 | 
			
		||||
            //设备编码、调出项目
 | 
			
		||||
        List<QFilter> qFilters = new ArrayList<>();
 | 
			
		||||
 | 
			
		||||
        if (StringUtil.equals(propertyName, "zcgj_realcard")) {
 | 
			
		||||
            //设备编码
 | 
			
		||||
            Object outOrg = this.getModel().getValue("zcgj_outorg");//调出组织
 | 
			
		||||
            if (outOrg == null) {
 | 
			
		||||
                this.getView().showErrorNotification("请先填写调出组织!");
 | 
			
		||||
                beforeF7SelectEvent.setCancel(true);
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            DynamicObject outOrgDy = (DynamicObject) outOrg;//调出组织
 | 
			
		||||
            if (StringUtil.equals(propertyName, "zcgj_realcard")) {
 | 
			
		||||
                //设备编码
 | 
			
		||||
                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 {
 | 
			
		||||
                //调出项目
 | 
			
		||||
                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));
 | 
			
		||||
            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));
 | 
			
		||||
 | 
			
		||||
        } else if (StringUtil.equals(propertyName, "zcgj_outproject")) {
 | 
			
		||||
            // 调出项目
 | 
			
		||||
            Object outOrg = this.getModel().getValue("zcgj_outorg");//调出组织
 | 
			
		||||
            if (outOrg == null) {
 | 
			
		||||
                this.getView().showErrorNotification("请先填写调出组织!");
 | 
			
		||||
                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));
 | 
			
		||||
 | 
			
		||||
        } else if (StringUtil.equals(propertyName, "zcgj_inproject")) {
 | 
			
		||||
            //调入项目
 | 
			
		||||
            Object inOrg = this.getModel().getValue("zcgj_inorg");//调入组织
 | 
			
		||||
| 
						 | 
				
			
			@ -149,17 +146,22 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be
 | 
			
		|||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            DynamicObject inOrgDy = (DynamicObject) inOrg;
 | 
			
		||||
            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));
 | 
			
		||||
            QFilter filter = new QFilter("fiaccountorg.id", "=", inOrgDy.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));
 | 
			
		||||
        }
 | 
			
		||||
        formShowParameter.getListFilterParameter().setQFilters(qFilter);
 | 
			
		||||
 | 
			
		||||
        formShowParameter.getListFilterParameter().setQFilters(qFilters);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private List<Long> getIdsFromDynamicObjects(DynamicObject[] dynamicObjects) {
 | 
			
		||||
        List<Long> ids = new ArrayList<>();
 | 
			
		||||
        if (dynamicObjects != null && dynamicObjects.length > 0) {
 | 
			
		||||
            for (DynamicObject obj : dynamicObjects) {
 | 
			
		||||
                ids.add((Long) obj.get("id"));
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        return ids;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue