Index: forgon-core/src/main/java/com/forgon/directory/action/OrgUnitAction.java =================================================================== diff -u -r16010 -r16366 --- forgon-core/src/main/java/com/forgon/directory/action/OrgUnitAction.java (.../OrgUnitAction.java) (revision 16010) +++ forgon-core/src/main/java/com/forgon/directory/action/OrgUnitAction.java (.../OrgUnitAction.java) (revision 16366) @@ -340,28 +340,10 @@ if(CollectionUtils.isNotEmpty(list)){ Map resultMap = null; for(CssdServiceDepts cssdServiceDepts : list){ - if(CollectionUtils.isNotEmpty(resultMapList)){ - boolean exists = false; - for(Map resultMapTemp : resultMapList){ - if(cssdServiceDepts.getCssdOrgUnitCode().equals(resultMapTemp.get("cssdOrgUnitCode"))){ - exists = true; - break; - } - } - if(!exists){ - resultMap = new HashMap(); - resultMap.put("cssdOrgUnitId", cssdServiceDepts.getCssdOrgUnitId()); - resultMap.put("cssdOrgUnitCode", cssdServiceDepts.getCssdOrgUnitCode()); - resultMap.put("cssdOrgUnitName", cssdServiceDepts.getCssdOrgUnitName()); - resultMapList.add(resultMap); - } - }else{ - resultMap = new HashMap(); - resultMap.put("cssdOrgUnitId", cssdServiceDepts.getCssdOrgUnitId()); - resultMap.put("cssdOrgUnitCode", cssdServiceDepts.getCssdOrgUnitCode()); - resultMap.put("cssdOrgUnitName", cssdServiceDepts.getCssdOrgUnitName()); - resultMapList.add(resultMap); - } + resultMap = new HashMap(); + resultMap.put("cssdOrgUnitCode", cssdServiceDepts.getCssdOrgUnitCode()); + resultMap.put("cssdOrgUnitName", cssdServiceDepts.getCssdOrgUnitName()); + resultMapList.add(resultMap); } } Index: forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManagerImpl.java =================================================================== diff -u -r16282 -r16366 --- forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManagerImpl.java (.../OrgUnitManagerImpl.java) (revision 16282) +++ forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManagerImpl.java (.../OrgUnitManagerImpl.java) (revision 16366) @@ -19,9 +19,12 @@ import org.apache.commons.lang.ArrayUtils; import org.apache.commons.lang.StringUtils; import org.apache.cxf.service.invoker.spring.SpringBeanFactory; +import org.apache.log4j.Logger; import org.hibernate.Query; import org.hibernate.Session; +import sun.util.logging.resources.logging; + import com.forgon.directory.acegi.tools.AcegiHelper; import com.forgon.directory.model.BarcodeDevice; import com.forgon.directory.model.CssdHandleTousses; @@ -1121,130 +1124,182 @@ /** * 更改各个表的科室编码,由旧科室编码更改为新的科室编码,并根据是否需要删除科室参数对旧的科室进行删除 - * @param oldOrgUnitCoding 旧的科室编码 - * @param OrgUnitCoding 新的科室编码 - * @param needDeleteOldOrgUnit 是否需要删除旧的科室 - * @return */ - public boolean changeOrgUnitCoding(String oldOrgUnitCoding , String newOrgUnitCoding , boolean needDeleteOldOrgUnit){ + public boolean changeOrgUnitCoding(List> orgUnitChangeList){ boolean result = false; - StringBuffer sql = new StringBuffer(""); - - sql.append("update invoicePlan set departCoding = '" + newOrgUnitCoding + "' where departCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update invoicePlan set settleAccountsDepartCoding = '" + newOrgUnitCoding + "' where settleAccountsDepartCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update invoicePlan set handleDepartCoding = '" + newOrgUnitCoding + "' where handleDepartCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update RecyclingRecord set departCode = '" + newOrgUnitCoding + "' where departCode = '" + oldOrgUnitCoding + "';"); - sql.append("update RecyclingRecord set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update invoice set departCoding = '" + newOrgUnitCoding + "' where departCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update invoice set settleAccountsDepartCoding = '" + newOrgUnitCoding + "' where settleAccountsDepartCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update Invoice set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update useRecord set departCoding = '" + newOrgUnitCoding + "' where departCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update TousseDefinition set handlerDepartCode = '"+newOrgUnitCoding+"' where handlerDepartCode = '" + oldOrgUnitCoding + "';"); - sql.append("update TousseInstance set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update TousseInstance set location = '" + newOrgUnitCoding + "' where location = '" + oldOrgUnitCoding + "';"); - sql.append("update TousseInstance set departCoding = '" + newOrgUnitCoding + "' where departCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update SupplyRoomConfig set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update SupplyRoomConfig set dptCodeOfForeignTousse = '" + newOrgUnitCoding + "' where dptCodeOfForeignTousse = '" + oldOrgUnitCoding + "';"); - sql.append("update ReturnGoodsRecord set departCoding = '" + newOrgUnitCoding + "' where departCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update ReturnGoodsRecord set handleDepartCode = '" + newOrgUnitCoding + "' where handleDepartCode = '" + oldOrgUnitCoding + "';"); - sql.append("update RecallRecordItem set departCode = '" + newOrgUnitCoding + "' where departCode = '" + oldOrgUnitCoding + "';"); - sql.append("update QualityMonitoring set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update BorrowRecord set departCode = '" + newOrgUnitCoding + "' where departCode = '" + oldOrgUnitCoding + "';"); - sql.append("update BorrowRecord set rentalDepartCode = '" + newOrgUnitCoding + "' where rentalDepartCode = '" + oldOrgUnitCoding + "';"); - sql.append("update Container set departCode = '" + newOrgUnitCoding + "' where departCode = '" + oldOrgUnitCoding + "';"); - sql.append("update CssdHandleTousses set orgUnitCode = '" + newOrgUnitCoding + "' where orgUnitCode = '" + oldOrgUnitCoding + "';"); - sql.append("update CssdServiceDepts set cssdOrgUnitCode = '" + newOrgUnitCoding + "' where cssdOrgUnitCode = '" + oldOrgUnitCoding + "';"); - sql.append("update CssdServiceDepts set clinicOrgUnitCode = '" + newOrgUnitCoding + "' where clinicOrgUnitCode = '" + oldOrgUnitCoding + "';"); - sql.append("update DepartmentStock set departCoding = '" + newOrgUnitCoding + "' where departCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update GoodsStock set orgUnitCode = '"+newOrgUnitCoding+"' where orgUnitCode = '" + oldOrgUnitCoding + "';"); - sql.append("update MaterialInvoice set departCoding = '" + newOrgUnitCoding + "' where departCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update PackingTask set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update PackingRecord set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update PackingRecord set departCoding = '" + newOrgUnitCoding + "' where departCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update ReceiveRecord set departCoding = '" + newOrgUnitCoding + "' where departCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update ReturnMaterialRecord set departCoding = '" + newOrgUnitCoding + "' where departCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update ReturnMaterialRecord set handleDepartCode = '" + newOrgUnitCoding + "' where handleDepartCode = '" + oldOrgUnitCoding + "';"); - sql.append("update Rinser set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update SatisfactionSurveyTable set departCoding = '" + newOrgUnitCoding + "' where departCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update TaskGroup set departCode = '" + newOrgUnitCoding + "' where departCode = '" + oldOrgUnitCoding + "';"); - sql.append("update WareHouse set orgUnitCode = '" + newOrgUnitCoding + "' where orgUnitCode = '" + oldOrgUnitCoding + "';"); - sql.append("update GodownEntry set orgUnitCode = '" + newOrgUnitCoding + "' where orgUnitCode = '" + oldOrgUnitCoding + "';"); - sql.append("update GodownEntry set targetOrgUnitCode = '" + newOrgUnitCoding + "' where targetOrgUnitCode = '" + oldOrgUnitCoding + "';"); - sql.append("update Sterilizer set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update BeCleanItem set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update DeviceMaintenance set deviceDepartCoding = '" + newOrgUnitCoding + "' where deviceDepartCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update ExpensiveDisposablegoods set location = '" + newOrgUnitCoding + "' where location = '" + oldOrgUnitCoding + "';"); - sql.append("update IDCardInstance set codeOfLostDepart = '" + newOrgUnitCoding + "' where codeOfLostDepart = '" + oldOrgUnitCoding + "';"); - sql.append("update InventoryRecord set orgUnitCode = '" + newOrgUnitCoding + "' where orgUnitCode = '" + oldOrgUnitCoding + "';"); - sql.append("update IpAndOrgUnitMapping set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update KnowledgeFile1 set readerOrgUnitCode = '" + newOrgUnitCoding + "' where readerOrgUnitCode = '" + oldOrgUnitCoding + "';"); - sql.append("update KnowledgeFile2 set readerOrgUnitCode = '" + newOrgUnitCoding + "' where readerOrgUnitCode = '" + oldOrgUnitCoding + "';"); - sql.append("update KnowledgeFile3 set readerOrgUnitCode = '" + newOrgUnitCoding + "' where readerOrgUnitCode = '" + oldOrgUnitCoding + "';"); - sql.append("update KnowledgeFile4 set readerOrgUnitCode = '" + newOrgUnitCoding + "' where readerOrgUnitCode = '" + oldOrgUnitCoding + "';"); - sql.append("update KnowledgeFile5 set readerOrgUnitCode = '" + newOrgUnitCoding + "' where readerOrgUnitCode = '" + oldOrgUnitCoding + "';"); - sql.append("update KnowledgeFolder1 set readerOrgUnitCode = '" + newOrgUnitCoding + "' where readerOrgUnitCode = '" + oldOrgUnitCoding + "';"); - sql.append("update KnowledgeFolder2 set readerOrgUnitCode = '" + newOrgUnitCoding + "' where readerOrgUnitCode = '" + oldOrgUnitCoding + "';"); - sql.append("update KnowledgeFolder3 set readerOrgUnitCode = '" + newOrgUnitCoding + "' where readerOrgUnitCode = '" + oldOrgUnitCoding + "';"); - sql.append("update KnowledgeFolder4 set readerOrgUnitCode = '" + newOrgUnitCoding + "' where readerOrgUnitCode = '" + oldOrgUnitCoding + "';"); - sql.append("update KnowledgeFolder5 set readerOrgUnitCode = '" + newOrgUnitCoding + "' where readerOrgUnitCode = '" + oldOrgUnitCoding + "';"); - sql.append("update MaterialCheckRecord set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update OperationOrg set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update Problem set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update PublicInformation set readerOrgUnitCode = '" + newOrgUnitCoding + "' where readerOrgUnitCode = '" + oldOrgUnitCoding + "';"); - sql.append("update RecallRecordItem set departCode = '" + newOrgUnitCoding + "' where departCode = '" + oldOrgUnitCoding + "';"); - sql.append("update ReceiveRecordWB set departCoding = '" + newOrgUnitCoding + "' where departCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update RecyclingError set departCodeForId = '" + newOrgUnitCoding + "' where departCodeForId = '" + oldOrgUnitCoding + "';"); - sql.append("update RecyclingError set departCode = '" + newOrgUnitCoding + "' where departCode = '" + oldOrgUnitCoding + "';"); - sql.append("update RecyclingError set handleDepartCode = '" + newOrgUnitCoding + "' where handleDepartCode = '" + oldOrgUnitCoding + "';"); - sql.append("update RecyclingDamageItem set departCoding = '" + newOrgUnitCoding + "' where departCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update RecyclingDamageItem set handleDepartCode = '" + newOrgUnitCoding + "' where handleDepartCode = '" + oldOrgUnitCoding + "';"); - sql.append("update SterilizationRecord set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update StockTakeRecord set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update TousseReturnDisinfectRecord set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update WashAndDisinfectRecord set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); - sql.append("update OrgUserRelation set orgUnitId=(select id from OrgUnit where orgUnitCoding='" + newOrgUnitCoding + "') where orgUnitId=(select id from OrgUnit where orgUnitCoding='" + oldOrgUnitCoding + "');"); - sql.append("update GoodPurchaseItem set orgUnit_id = (select id from OrgUnit where orgUnitCoding='" + newOrgUnitCoding + "') where orgUnit_id=(select id from OrgUnit where orgUnitCoding='" + oldOrgUnitCoding + "');"); - sql.append("update GoodPurchasePlan set orgUnit_id = (select id from OrgUnit where orgUnitCoding='" + newOrgUnitCoding + "') where orgUnit_id=(select id from OrgUnit where orgUnitCoding='" + oldOrgUnitCoding + "');"); - sql.append("update SS_DirectManaged_OrgUnit set ORGUNIT_ID = (select id from OrgUnit where orgUnitCoding='" + newOrgUnitCoding + "') where ORGUNIT_ID = (select id from OrgUnit where orgUnitCoding='" + oldOrgUnitCoding + "');"); - sql.append("update SS_UnDirectManaged_OrgUnit set ORGUNIT_ID = (select id from OrgUnit where orgUnitCoding='" + newOrgUnitCoding + "') where ORGUNIT_ID = (select id from OrgUnit where orgUnitCoding='" + oldOrgUnitCoding + "');"); - sql.append("update St_material_detail set dept_id = (select id from OrgUnit where orgUnitCoding='" + newOrgUnitCoding + "') where dept_id = (select id from OrgUnit where orgUnitCoding='" + oldOrgUnitCoding + "');"); - sql.append("update St_tousse_detail set dept_id = (select id from OrgUnit where orgUnitCoding='" + newOrgUnitCoding + "') where dept_id = (select id from OrgUnit where orgUnitCoding='" + oldOrgUnitCoding + "');"); - sql.append("update SS_USERS set currentOrgUnitCode='" + newOrgUnitCoding + "' where currentOrgUnitCode='" + oldOrgUnitCoding + "';"); - - //如果是sqlserver的话的处理方式 - if(DatabaseUtil.isSqlServer(dbConnection.getDatabase())){ - sql.append("update DepartmentAppTemplate set orgUnitCode = SUBSTRING(replace(concat(',',orgUnitCode,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',orgUnitCode,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',orgUnitCode,',') like '%," + oldOrgUnitCoding + ",%';"); - sql.append("update departmentGroup set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); - sql.append("update InvoiceDepartment set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); - sql.append("update PrintInvoiceConfig set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); - sql.append("update QualityMonitoringConfig set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); - sql.append("update System_Message set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); - sql.append("update MaterialDefinition set inventoryDepartCoding = SUBSTRING(replace(concat(',',inventoryDepartCoding,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',inventoryDepartCoding,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',inventoryDepartCoding,',') like '%," + oldOrgUnitCoding + ",%';"); - sql.append("update GoodsDepartShareConfig set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); - sql.append("update PrintConfig set departCodes=SUBSTRING(replace(concat(';',departCodes,';'),';" + oldOrgUnitCoding + ";',';" + newOrgUnitCoding + ";') , 2 , len(replace(concat(';',departCodes,';'),';" + oldOrgUnitCoding + ";',';" + newOrgUnitCoding + ";')) - 2) where concat(';',departCodes,';') like '%;" + oldOrgUnitCoding + ";%';"); - }else if(DatabaseUtil.isOracle(dbConnection.getDatabase())){ - sql.append("update DepartmentAppTemplate set orgUnitCode = substr(replace(concat(',',concat(orgUnitCode,',')),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , length(replace(concat(',',concat(orgUnitCode,',')),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',orgUnitCode,',') like '%," + oldOrgUnitCoding + ",%';"); - sql.append("update departmentGroup set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); - sql.append("update InvoiceDepartment set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); - sql.append("update PrintInvoiceConfig set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); - sql.append("update QualityMonitoringConfig set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); - sql.append("update System_Message set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); - sql.append("update MaterialDefinition set inventoryDepartCoding = SUBSTRING(replace(concat(',',inventoryDepartCoding,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',inventoryDepartCoding,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',inventoryDepartCoding,',') like '%," + oldOrgUnitCoding + ",%';"); - sql.append("update GoodsDepartShareConfig set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); - sql.append("update PrintConfig set departCodes=SUBSTRING(replace(concat(';',departCodes,';'),';" + oldOrgUnitCoding + ";',';" + newOrgUnitCoding + ";') , 2 , len(replace(concat(';',departCodes,';'),';" + oldOrgUnitCoding + ";',';" + newOrgUnitCoding + ";')) - 2) where concat(';',departCodes,';') like '%;" + oldOrgUnitCoding + ";%';"); + appLogManager = (LogManager)SpringBeanManger.getBean("appLogManager"); + int i = 0; + for(;CollectionUtils.isNotEmpty(orgUnitChangeList) && i < orgUnitChangeList.size();i++){ + Map orgUnitChangeMap = orgUnitChangeList.get(i); + String name = orgUnitChangeMap.get("name"); + String oldOrgUnitCoding = orgUnitChangeMap.get("oldOrgUnitCoding"); + String newOrgUnitCoding = orgUnitChangeMap.get("newOrgUnitCoding"); + String deleteOldDepart = orgUnitChangeMap.get("deleteOldDepart"); + + //如果值为'是'或'Y'时,表示该行需要删除 + boolean needDelete = StringUtils.equals(com.forgon.tools.Constants.STR_YES, deleteOldDepart) + || StringUtils.equalsIgnoreCase("Y", deleteOldDepart); + StringBuffer sql = new StringBuffer(""); + + try{ + sql.append("update invoicePlan set departCoding = '" + newOrgUnitCoding + "' where departCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update invoicePlan set settleAccountsDepartCoding = '" + newOrgUnitCoding + "' where settleAccountsDepartCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update invoicePlan set handleDepartCoding = '" + newOrgUnitCoding + "' where handleDepartCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update RecyclingRecord set departCode = '" + newOrgUnitCoding + "' where departCode = '" + oldOrgUnitCoding + "';"); + sql.append("update RecyclingRecord set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update invoice set departCoding = '" + newOrgUnitCoding + "' where departCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update invoice set settleAccountsDepartCoding = '" + newOrgUnitCoding + "' where settleAccountsDepartCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update Invoice set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update useRecord set departCoding = '" + newOrgUnitCoding + "' where departCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update TousseDefinition set handlerDepartCode = '"+newOrgUnitCoding+"' where handlerDepartCode = '" + oldOrgUnitCoding + "';"); + + result = objectDao.excuteSQL(sql.toString()); + sql = new StringBuffer(""); + + sql.append("update TousseInstance set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update TousseInstance set location = '" + newOrgUnitCoding + "' where location = '" + oldOrgUnitCoding + "';"); + sql.append("update TousseInstance set departCoding = '" + newOrgUnitCoding + "' where departCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update SupplyRoomConfig set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update SupplyRoomConfig set dptCodeOfForeignTousse = '" + newOrgUnitCoding + "' where dptCodeOfForeignTousse = '" + oldOrgUnitCoding + "';"); + sql.append("update ReturnGoodsRecord set departCoding = '" + newOrgUnitCoding + "' where departCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update ReturnGoodsRecord set handleDepartCode = '" + newOrgUnitCoding + "' where handleDepartCode = '" + oldOrgUnitCoding + "';"); + sql.append("update RecallRecordItem set departCode = '" + newOrgUnitCoding + "' where departCode = '" + oldOrgUnitCoding + "';"); + sql.append("update QualityMonitoring set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update BorrowRecord set departCode = '" + newOrgUnitCoding + "' where departCode = '" + oldOrgUnitCoding + "';"); + + result = objectDao.excuteSQL(sql.toString()); + sql = new StringBuffer(""); + + sql.append("update BorrowRecord set rentalDepartCode = '" + newOrgUnitCoding + "' where rentalDepartCode = '" + oldOrgUnitCoding + "';"); + sql.append("update Container set departCode = '" + newOrgUnitCoding + "' where departCode = '" + oldOrgUnitCoding + "';"); + sql.append("update CssdHandleTousses set orgUnitCode = '" + newOrgUnitCoding + "' where orgUnitCode = '" + oldOrgUnitCoding + "';"); + sql.append("update CssdServiceDepts set cssdOrgUnitCode = '" + newOrgUnitCoding + "' where cssdOrgUnitCode = '" + oldOrgUnitCoding + "';"); + sql.append("update CssdServiceDepts set clinicOrgUnitCode = '" + newOrgUnitCoding + "' where clinicOrgUnitCode = '" + oldOrgUnitCoding + "';"); + sql.append("update DepartmentStock set departCoding = '" + newOrgUnitCoding + "' where departCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update GoodsStock set orgUnitCode = '"+newOrgUnitCoding+"' where orgUnitCode = '" + oldOrgUnitCoding + "';"); + sql.append("update MaterialInvoice set departCoding = '" + newOrgUnitCoding + "' where departCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update PackingTask set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update PackingRecord set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); + + result = objectDao.excuteSQL(sql.toString()); + sql = new StringBuffer(""); + + sql.append("update PackingRecord set departCoding = '" + newOrgUnitCoding + "' where departCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update ReceiveRecord set departCoding = '" + newOrgUnitCoding + "' where departCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update ReturnMaterialRecord set departCoding = '" + newOrgUnitCoding + "' where departCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update ReturnMaterialRecord set handleDepartCode = '" + newOrgUnitCoding + "' where handleDepartCode = '" + oldOrgUnitCoding + "';"); + sql.append("update Rinser set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update SatisfactionSurveyTable set departCoding = '" + newOrgUnitCoding + "' where departCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update TaskGroup set departCode = '" + newOrgUnitCoding + "' where departCode = '" + oldOrgUnitCoding + "';"); + sql.append("update WareHouse set orgUnitCode = '" + newOrgUnitCoding + "' where orgUnitCode = '" + oldOrgUnitCoding + "';"); + sql.append("update GodownEntry set orgUnitCode = '" + newOrgUnitCoding + "' where orgUnitCode = '" + oldOrgUnitCoding + "';"); + sql.append("update GodownEntry set targetOrgUnitCode = '" + newOrgUnitCoding + "' where targetOrgUnitCode = '" + oldOrgUnitCoding + "';"); + + result = objectDao.excuteSQL(sql.toString()); + sql = new StringBuffer(""); + + sql.append("update Sterilizer set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update BeCleanItem set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update DeviceMaintenance set deviceDepartCoding = '" + newOrgUnitCoding + "' where deviceDepartCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update ExpensiveDisposablegoods set location = '" + newOrgUnitCoding + "' where location = '" + oldOrgUnitCoding + "';"); + sql.append("update IDCardInstance set codeOfLostDepart = '" + newOrgUnitCoding + "' where codeOfLostDepart = '" + oldOrgUnitCoding + "';"); + sql.append("update InventoryRecord set orgUnitCode = '" + newOrgUnitCoding + "' where orgUnitCode = '" + oldOrgUnitCoding + "';"); + sql.append("update IpAndOrgUnitMapping set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update KnowledgeFile1 set readerOrgUnitCode = '" + newOrgUnitCoding + "' where readerOrgUnitCode = '" + oldOrgUnitCoding + "';"); + sql.append("update KnowledgeFile2 set readerOrgUnitCode = '" + newOrgUnitCoding + "' where readerOrgUnitCode = '" + oldOrgUnitCoding + "';"); + sql.append("update KnowledgeFile3 set readerOrgUnitCode = '" + newOrgUnitCoding + "' where readerOrgUnitCode = '" + oldOrgUnitCoding + "';"); + + result = objectDao.excuteSQL(sql.toString()); + sql = new StringBuffer(""); + + sql.append("update KnowledgeFile4 set readerOrgUnitCode = '" + newOrgUnitCoding + "' where readerOrgUnitCode = '" + oldOrgUnitCoding + "';"); + sql.append("update KnowledgeFile5 set readerOrgUnitCode = '" + newOrgUnitCoding + "' where readerOrgUnitCode = '" + oldOrgUnitCoding + "';"); + sql.append("update KnowledgeFolder1 set readerOrgUnitCode = '" + newOrgUnitCoding + "' where readerOrgUnitCode = '" + oldOrgUnitCoding + "';"); + sql.append("update KnowledgeFolder2 set readerOrgUnitCode = '" + newOrgUnitCoding + "' where readerOrgUnitCode = '" + oldOrgUnitCoding + "';"); + sql.append("update KnowledgeFolder3 set readerOrgUnitCode = '" + newOrgUnitCoding + "' where readerOrgUnitCode = '" + oldOrgUnitCoding + "';"); + sql.append("update KnowledgeFolder4 set readerOrgUnitCode = '" + newOrgUnitCoding + "' where readerOrgUnitCode = '" + oldOrgUnitCoding + "';"); + sql.append("update KnowledgeFolder5 set readerOrgUnitCode = '" + newOrgUnitCoding + "' where readerOrgUnitCode = '" + oldOrgUnitCoding + "';"); + sql.append("update MaterialCheckRecord set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update OperationOrg set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update Problem set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); + + result = objectDao.excuteSQL(sql.toString()); + sql = new StringBuffer(""); + + sql.append("update PublicInformation set readerOrgUnitCode = '" + newOrgUnitCoding + "' where readerOrgUnitCode = '" + oldOrgUnitCoding + "';"); + sql.append("update RecallRecordItem set departCode = '" + newOrgUnitCoding + "' where departCode = '" + oldOrgUnitCoding + "';"); + sql.append("update ReceiveRecordWB set departCoding = '" + newOrgUnitCoding + "' where departCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update RecyclingError set departCodeForId = '" + newOrgUnitCoding + "' where departCodeForId = '" + oldOrgUnitCoding + "';"); + sql.append("update RecyclingError set departCode = '" + newOrgUnitCoding + "' where departCode = '" + oldOrgUnitCoding + "';"); + sql.append("update RecyclingError set handleDepartCode = '" + newOrgUnitCoding + "' where handleDepartCode = '" + oldOrgUnitCoding + "';"); + sql.append("update RecyclingDamageItem set departCoding = '" + newOrgUnitCoding + "' where departCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update RecyclingDamageItem set handleDepartCode = '" + newOrgUnitCoding + "' where handleDepartCode = '" + oldOrgUnitCoding + "';"); + sql.append("update SterilizationRecord set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update StockTakeRecord set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); + + result = objectDao.excuteSQL(sql.toString()); + sql = new StringBuffer(""); + + sql.append("update TousseReturnDisinfectRecord set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update WashAndDisinfectRecord set orgUnitCoding = '" + newOrgUnitCoding + "' where orgUnitCoding = '" + oldOrgUnitCoding + "';"); + sql.append("update OrgUserRelation set orgUnitId=(select id from OrgUnit where orgUnitCoding='" + newOrgUnitCoding + "') where orgUnitId=(select id from OrgUnit where orgUnitCoding='" + oldOrgUnitCoding + "');"); + sql.append("update GoodPurchaseItem set orgUnit_id = (select id from OrgUnit where orgUnitCoding='" + newOrgUnitCoding + "') where orgUnit_id=(select id from OrgUnit where orgUnitCoding='" + oldOrgUnitCoding + "');"); + sql.append("update GoodPurchasePlan set orgUnit_id = (select id from OrgUnit where orgUnitCoding='" + newOrgUnitCoding + "') where orgUnit_id=(select id from OrgUnit where orgUnitCoding='" + oldOrgUnitCoding + "');"); + sql.append("update SS_DirectManaged_OrgUnit set ORGUNIT_ID = (select id from OrgUnit where orgUnitCoding='" + newOrgUnitCoding + "') where ORGUNIT_ID = (select id from OrgUnit where orgUnitCoding='" + oldOrgUnitCoding + "');"); + sql.append("update SS_UnDirectManaged_OrgUnit set ORGUNIT_ID = (select id from OrgUnit where orgUnitCoding='" + newOrgUnitCoding + "') where ORGUNIT_ID = (select id from OrgUnit where orgUnitCoding='" + oldOrgUnitCoding + "');"); + sql.append("update St_material_detail set dept_id = (select id from OrgUnit where orgUnitCoding='" + newOrgUnitCoding + "') where dept_id = (select id from OrgUnit where orgUnitCoding='" + oldOrgUnitCoding + "');"); + sql.append("update St_tousse_detail set dept_id = (select id from OrgUnit where orgUnitCoding='" + newOrgUnitCoding + "') where dept_id = (select id from OrgUnit where orgUnitCoding='" + oldOrgUnitCoding + "');"); + sql.append("update SS_USERS set currentOrgUnitCode='" + newOrgUnitCoding + "' where currentOrgUnitCode='" + oldOrgUnitCoding + "';"); + + result = objectDao.excuteSQL(sql.toString()); + sql = new StringBuffer(""); + + //如果是sqlserver的话的处理方式 + if(DatabaseUtil.isSqlServer(dbConnection.getDatabase())){ + sql.append("update DepartmentAppTemplate set orgUnitCode = SUBSTRING(replace(concat(',',orgUnitCode,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',orgUnitCode,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',orgUnitCode,',') like '%," + oldOrgUnitCoding + ",%';"); + sql.append("update departmentGroup set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); + sql.append("update InvoiceDepartment set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); + sql.append("update PrintInvoiceConfig set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); + sql.append("update QualityMonitoringConfig set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); + sql.append("update System_Message set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); + sql.append("update MaterialDefinition set inventoryDepartCoding = SUBSTRING(replace(concat(',',inventoryDepartCoding,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',inventoryDepartCoding,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',inventoryDepartCoding,',') like '%," + oldOrgUnitCoding + ",%';"); + sql.append("update GoodsDepartShareConfig set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); + sql.append("update PrintConfig set departCodes=SUBSTRING(replace(concat(';',departCodes,';'),';" + oldOrgUnitCoding + ";',';" + newOrgUnitCoding + ";') , 2 , len(replace(concat(';',departCodes,';'),';" + oldOrgUnitCoding + ";',';" + newOrgUnitCoding + ";')) - 2) where concat(';',departCodes,';') like '%;" + oldOrgUnitCoding + ";%';"); + }else if(DatabaseUtil.isOracle(dbConnection.getDatabase())){ + sql.append("update DepartmentAppTemplate set orgUnitCode = substr(replace(concat(',',concat(orgUnitCode,',')),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , length(replace(concat(',',concat(orgUnitCode,',')),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',orgUnitCode,',') like '%," + oldOrgUnitCoding + ",%';"); + sql.append("update departmentGroup set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); + sql.append("update InvoiceDepartment set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); + sql.append("update PrintInvoiceConfig set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); + sql.append("update QualityMonitoringConfig set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); + sql.append("update System_Message set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); + sql.append("update MaterialDefinition set inventoryDepartCoding = SUBSTRING(replace(concat(',',inventoryDepartCoding,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',inventoryDepartCoding,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',inventoryDepartCoding,',') like '%," + oldOrgUnitCoding + ",%';"); + sql.append("update GoodsDepartShareConfig set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); + sql.append("update PrintConfig set departCodes=SUBSTRING(replace(concat(';',departCodes,';'),';" + oldOrgUnitCoding + ";',';" + newOrgUnitCoding + ";') , 2 , len(replace(concat(';',departCodes,';'),';" + oldOrgUnitCoding + ";',';" + newOrgUnitCoding + ";')) - 2) where concat(';',departCodes,';') like '%;" + oldOrgUnitCoding + ";%';"); + } + + /* + if(needDeleteOldOrgUnit){ + sql.append("delete from orgunit where orgUnitCoding='" + oldOrgUnitCoding + "';"); + } + */ + + result = objectDao.excuteSQL(sql.toString()); + + appLogManager.saveLog(AcegiHelper.getLoginUser(), Log.MODEL_INTERFERE, Log.TYPE_UPDATE, + "科室干预:name=" + name + ",oldOrgUnitCoding=" + oldOrgUnitCoding + ",newOrgUnitCoding=" + newOrgUnitCoding + ",needDeleteOldOrgUnit=" + needDelete); + /*if(needDelete){ + //System.out.println("删除重名科室sql:delete from orgunit where orgUnitCoding='" + oldOrgUnitCoding + "'"); + //objectDao.delete(objectDao.getBySql(OrgUnit.class.getSimpleName(), "where orgUnitCoding='" + oldOrgUnitCoding + "'")); + objectDao.excuteSQL("delete from orgunit where orgUnitCoding='" + oldOrgUnitCoding + "'"); + }*/ + if(i % 50 == 0){ + objectDao.clearCache(); + } + }catch(Exception e){ + e.printStackTrace(); + result = false; + } } - if(needDeleteOldOrgUnit){ - sql.append("delete from orgunit where orgUnitCoding='" + oldOrgUnitCoding + "';"); - } - try{ - appLogManager = (LogManager)SpringBeanManger.getBean("appLogManager"); - result = objectDao.excuteSQL(sql.toString()); - appLogManager.saveLog(AcegiHelper.getLoginUser(), Log.MODEL_INTERFERE, Log.TYPE_UPDATE, - "科室干预:oldOrgUnitCoding=" + oldOrgUnitCoding + ",newOrgUnitCoding=" + newOrgUnitCoding + ",needDeleteOldOrgUnit=" + needDeleteOldOrgUnit); - }catch(Exception e){ - e.printStackTrace(); - result = false; - } return result; } } Index: ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/importbasedata/service/ImportBasedataManagerImpl.java =================================================================== diff -u -r16282 -r16366 --- ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/importbasedata/service/ImportBasedataManagerImpl.java (.../ImportBasedataManagerImpl.java) (revision 16282) +++ ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/importbasedata/service/ImportBasedataManagerImpl.java (.../ImportBasedataManagerImpl.java) (revision 16366) @@ -4014,28 +4014,27 @@ Map nameToIndexMap = ExcelUtils.autoDetectSheepAndCreateColumnNameToIndexMap(departSheet); int lastRowNum = departSheet.getLastRowNum(); + log.debug("重名科室干预的行数="+lastRowNum); int departNameIndex = ExcelUtils.getColumnIndex(nameToIndexMap, "科室名称"); - int oldDepartcodeIndex = ExcelUtils.getColumnIndex(nameToIndexMap, "旧科室编码"); - int newDepartcodeIndex = ExcelUtils.getColumnIndex(nameToIndexMap, "新科室编码"); + int oldDepartCodeIndex = ExcelUtils.getColumnIndex(nameToIndexMap, "旧科室编码"); + int newDepartCodeIndex = ExcelUtils.getColumnIndex(nameToIndexMap, "新科室编码"); int deleteOldDepartIndex = ExcelUtils.getColumnIndex(nameToIndexMap, "删除旧科室"); OrgUnit orgUnit = null; + List> orgUnitChangeList = new ArrayList>(); + Map orgUnitChangeMap = null; for (int i = 1; i <= lastRowNum; i++) { HSSFRow row = departSheet.getRow(i); int currentRowNum = i + 1; if (row == null || ParerUtils.isBlankRow(row)) { continue; } String name = ParerUtils.getCellFormatValue(row, departNameIndex); - String oldOrgUnitcoding = ParerUtils.getCellFormatValue(row, oldDepartcodeIndex); - String newOrgUnitcoding = ParerUtils.getCellFormatValue(row, newDepartcodeIndex); + String oldOrgUnitCoding = ParerUtils.getCellFormatValue(row, oldDepartCodeIndex); + String newOrgUnitCoding = ParerUtils.getCellFormatValue(row, newDepartCodeIndex); //是否删除旧科室 String deleteOldDepart = ParerUtils.getCellFormatValue(row, deleteOldDepartIndex); - //如果值为'是'或'Y'时,表示该行需要删除 - boolean needDelete = StringUtils.equals(com.forgon.tools.Constants.STR_YES, deleteOldDepart) - || StringUtils.equalsIgnoreCase("Y", deleteOldDepart); - if (StringUtils.isBlank(name)) { // 有空值,记录信息 appendFailureRowNumAndRecordFailureNum( @@ -4044,18 +4043,18 @@ continue; } - if (StringUtils.isBlank(oldOrgUnitcoding)) { + if (StringUtils.isBlank(oldOrgUnitCoding)) { // 有空值,记录信息 appendFailureRowNumAndRecordFailureNum( - failureCount, sb, currentRowNum,oldDepartcodeIndex,1); + failureCount, sb, currentRowNum,oldDepartCodeIndex,1); failureCount++; continue; } - if (StringUtils.isBlank(newOrgUnitcoding)) { + if (StringUtils.isBlank(newOrgUnitCoding)) { // 有空值,记录信息 appendFailureRowNumAndRecordFailureNum( - failureCount, sb, currentRowNum,newDepartcodeIndex,1); + failureCount, sb, currentRowNum,newDepartCodeIndex,1); failureCount++; continue; } @@ -4069,48 +4068,55 @@ continue; } - OrgUnit oldOrgUnit = orgUnitManager.getByCode(oldOrgUnitcoding); + OrgUnit oldOrgUnit = orgUnitManager.getByCode(oldOrgUnitCoding); if(oldOrgUnit == null){ // 有空值,记录信息 appendFailureRowNumAndRecordFailureNum( - failureCount, sb, currentRowNum,oldDepartcodeIndex,3); + failureCount, sb, currentRowNum,oldDepartCodeIndex,3); failureCount++; continue; } if(!name.equals(oldOrgUnit.getName())){ // 有空值,记录信息 appendFailureRowNumAndRecordFailureNum( - failureCount, sb, currentRowNum,oldDepartcodeIndex,4); + failureCount, sb, currentRowNum,oldDepartCodeIndex,4); failureCount++; continue; } - OrgUnit newOrgUnit = orgUnitManager.getByCode(newOrgUnitcoding); + OrgUnit newOrgUnit = orgUnitManager.getByCode(newOrgUnitCoding); if(newOrgUnit == null){ // 有空值,记录信息 appendFailureRowNumAndRecordFailureNum( - failureCount, sb, currentRowNum,newDepartcodeIndex,3); + failureCount, sb, currentRowNum,newDepartCodeIndex,3); failureCount++; continue; } if(!name.equals(newOrgUnit.getName())){ // 有空值,记录信息 appendFailureRowNumAndRecordFailureNum( - failureCount, sb, currentRowNum,newDepartcodeIndex,4); + failureCount, sb, currentRowNum,newDepartCodeIndex,4); failureCount++; continue; } - + orgUnitChangeMap = new HashMap(); + orgUnitChangeMap.put("name", name); + orgUnitChangeMap.put("oldOrgUnitCoding", oldOrgUnitCoding); + orgUnitChangeMap.put("newOrgUnitCoding", newOrgUnitCoding); + orgUnitChangeMap.put("deleteOldDepart", deleteOldDepart); + orgUnitChangeList.add(orgUnitChangeMap); + successCount++; + } + + if(failureCount == 0){ //调用方法执行科室编码更改及旧科室的删除 - boolean success = orgUnitManager.changeOrgUnitCoding(oldOrgUnitcoding, newOrgUnitcoding, needDelete); - if(success){ - successCount++; - } + orgUnitManager.changeOrgUnitCoding(orgUnitChangeList); } // 格式:成功插入数量#插入失败数量#失败行1,失败行2... msg.put("科室信息干预", successCount + "#" + failureCount + "#" + sb.toString()); + log.debug("科室信息干预处理成功:orgUnitChangeList.size=" + orgUnitChangeList.size() + "#" + successCount + "#" + failureCount + "#" + sb.toString()); }catch(Exception e){ e.printStackTrace(); if (sb.length() > 0) { Index: ssts-web/src/main/webapp/disinfectsystem/interfere/orgUnit/sameOrgUnitTemplate.xls =================================================================== diff -u Binary files differ Index: ssts-web/src/main/webapp/disinfectsystem/interfere/orgUnit/interfereOrgUnit.jsp =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/interfere/orgUnit/interfereOrgUnit.jsp (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/interfere/orgUnit/interfereOrgUnit.jsp (revision 16366) @@ -0,0 +1,175 @@ +<%@ page contentType="text/html; charset=UTF-8"%> +<%@ include file="/common/taglibs.jsp"%> + + + +<%@ include file="/common/includeUploadFilesJSAndCSS.jsp"%> + + + + + + + + + + + + + + + + + +
+
+
    +
  • 当前位置--导入导出${poName }
  • +
+
+ + +
+
+
+
+

导入${poName }

+
+
+ + + + + +
${poName }文件:
+
+
错误代码说明 1:不能为空 2:未定义 3:重复值 4:不是金额 5:不是数字 6:不是日期 7:值无效
+ + + + + + + + + + + + + + + +
模块名称成功插入/更新数量失败数量失败的行号,列号,错误代码
${msgArr[0]}${msgArr[1]}${msgArr[2]} ${msgArr[3]}
+
+
+
+
+
+ + \ No newline at end of file Index: forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManager.java =================================================================== diff -u -r16282 -r16366 --- forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManager.java (.../OrgUnitManager.java) (revision 16282) +++ forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManager.java (.../OrgUnitManager.java) (revision 16366) @@ -2,6 +2,7 @@ import java.util.Collection; import java.util.List; +import java.util.Map; import java.util.Set; import com.forgon.directory.model.CssdHandleTousses; @@ -151,10 +152,12 @@ /** * 更改各个表的科室编码,由旧科室编码更改为新的科室编码,并根据是否需要删除科室参数对旧的科室进行删除 - * @param oldOrgUnitCoding 旧的科室编码 - * @param OrgUnitCoding 新的科室编码 - * @param needDeleteOldOrgUnit 是否需要删除旧的科室 + * @param orgUnitChangeList map里面的key如下 + * name 科室名称 + * oldOrgUnitcoding 旧的科室编码 + * newOrgUnitcoding 新的科室编码 + * deleteOldDepart 是否需要删除旧的科室 * @return */ - public boolean changeOrgUnitCoding(String oldOrgUnitCoding , String OrgUnitCoding , boolean needDeleteOldOrgUnit); + public boolean changeOrgUnitCoding(List> orgUnitChangeList); }