Index: forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManager.java =================================================================== diff -u -r16476 -r16844 --- forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManager.java (.../OrgUnitManager.java) (revision 16476) +++ forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManager.java (.../OrgUnitManager.java) (revision 16844) @@ -168,5 +168,5 @@ * deleteOldDepart 是否需要删除旧的科室 * @return */ - public boolean changeOrgUnitCoding(List> orgUnitChangeList); + public boolean changeOrgUnitCoding(List> orgUnitChangeList , StringBuffer sql); } Index: ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/importbasedata/service/ImportBasedataManagerImpl.java =================================================================== diff -u -r16841 -r16844 --- ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/importbasedata/service/ImportBasedataManagerImpl.java (.../ImportBasedataManagerImpl.java) (revision 16841) +++ ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/importbasedata/service/ImportBasedataManagerImpl.java (.../ImportBasedataManagerImpl.java) (revision 16844) @@ -4140,13 +4140,15 @@ } if(failureCount == 0){ + StringBuffer sql = new StringBuffer(); //调用方法执行科室编码更改及旧科室的删除 - orgUnitManager.changeOrgUnitCoding(orgUnitChangeList); + orgUnitManager.changeOrgUnitCoding(orgUnitChangeList , sql); + //log.debug("科室干预sql=\n" + sql); } // 格式:成功插入数量#插入失败数量#失败行1,失败行2... msg.put("科室信息干预", successCount + "#" + failureCount + "#" + sb.toString()); - log.debug("科室信息干预处理成功:orgUnitChangeList.size=" + orgUnitChangeList.size() + "#" + successCount + "#" + failureCount + "#" + sb.toString()); + log.debug("科室信息干预处理结果:orgUnitChangeList.size=" + orgUnitChangeList.size() + "#" + successCount + "#" + failureCount + "#" + sb.toString()); }catch(Exception e){ e.printStackTrace(); if (sb.length() > 0) { Index: forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManagerImpl.java =================================================================== diff -u -r16541 -r16844 --- forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManagerImpl.java (.../OrgUnitManagerImpl.java) (revision 16541) +++ forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManagerImpl.java (.../OrgUnitManagerImpl.java) (revision 16844) @@ -1,5 +1,10 @@ package com.forgon.directory.service; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.io.Writer; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; @@ -12,6 +17,7 @@ import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.apache.log4j.Logger; import net.sf.json.JSONArray; @@ -57,6 +63,8 @@ * 2009-3-11 下午03:32:46 */ public class OrgUnitManagerImpl implements OrgUnitManager { + + private Logger log = Logger.getLogger(OrgUnitManagerImpl.class); private THTreeNodeManager thTreeNodeManager; @@ -1156,10 +1164,20 @@ /** * 更改各个表的科室编码,由旧科室编码更改为新的科室编码,并根据是否需要删除科室参数对旧的科室进行删除 */ - public boolean changeOrgUnitCoding(List> orgUnitChangeList){ + public boolean changeOrgUnitCoding(List> orgUnitChangeList , StringBuffer sql){ boolean result = false; appLogManager = (LogManager)SpringBeanManger.getBean("appLogManager"); int i = 0; + Writer write = null; + BufferedWriter br = null; + /*try { + File file = new File("c:/share/sql.sql"); + if(!file.exists()){ + file.createNewFile(); + } + write = new FileWriter(file); + br = new BufferedWriter(write);*/ + String errorSql = null; for(;CollectionUtils.isNotEmpty(orgUnitChangeList) && i < orgUnitChangeList.size();i++){ Map orgUnitChangeMap = orgUnitChangeList.get(i); String name = orgUnitChangeMap.get("name"); @@ -1170,8 +1188,7 @@ //如果值为'是'或'Y'时,表示该行需要删除 boolean needDelete = StringUtils.equals(com.forgon.tools.Constants.STR_YES, deleteOldDepart) || StringUtils.equalsIgnoreCase("Y", deleteOldDepart); - StringBuffer sql = new 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 + "';"); @@ -1184,9 +1201,6 @@ 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 + "';"); @@ -1198,9 +1212,6 @@ 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 + "';"); @@ -1212,9 +1223,6 @@ 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 + "';"); @@ -1226,9 +1234,6 @@ 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 + "';"); @@ -1240,9 +1245,6 @@ 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 + "';"); @@ -1254,9 +1256,6 @@ 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 + "';"); @@ -1268,9 +1267,6 @@ 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 + "');"); @@ -1282,40 +1278,66 @@ 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(""); + String[] sqlArray = sql.toString().split(";"); + if(sqlArray != null && sqlArray.length > 0){ + for(String updateSql : sqlArray){ + if(StringUtils.isNotBlank(updateSql)){ + errorSql = updateSql; + objectDao.excuteSQL(updateSql); + } + } + } //如果是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 + ";%';"); + objectDao.excuteSQL("update DepartmentAppTemplate set orgUnitCode = SUBSTRING(replace(concat(',',orgUnitCode,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',orgUnitCode,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',orgUnitCode,',') like '%," + oldOrgUnitCoding + ",%';"); + objectDao.excuteSQL("update departmentGroup set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); + objectDao.excuteSQL("update InvoiceDepartment set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); + objectDao.excuteSQL("update PrintInvoiceConfig set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); + objectDao.excuteSQL("update QualityMonitoringConfig set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); + objectDao.excuteSQL("update System_Message set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); + objectDao.excuteSQL("update MaterialDefinition set inventoryDepartCoding = SUBSTRING(replace(concat(',',inventoryDepartCoding,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',inventoryDepartCoding,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',inventoryDepartCoding,',') like '%," + oldOrgUnitCoding + ",%';"); + objectDao.excuteSQL("update GoodsDepartShareConfig set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); + objectDao.excuteSQL("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 + ";%';"); + objectDao.excuteSQL("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 + ",%';"); + objectDao.excuteSQL("update departmentGroup set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); + objectDao.excuteSQL("update InvoiceDepartment set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); + objectDao.excuteSQL("update PrintInvoiceConfig set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); + objectDao.excuteSQL("update QualityMonitoringConfig set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); + objectDao.excuteSQL("update System_Message set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); + objectDao.excuteSQL("update MaterialDefinition set inventoryDepartCoding = SUBSTRING(replace(concat(',',inventoryDepartCoding,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',inventoryDepartCoding,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',inventoryDepartCoding,',') like '%," + oldOrgUnitCoding + ",%';"); + objectDao.excuteSQL("update GoodsDepartShareConfig set departCodes = SUBSTRING(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",') , 2 , len(replace(concat(',',departCodes,','),'," + oldOrgUnitCoding + ",','," + newOrgUnitCoding + ",')) - 2) where concat(',',departCodes,',') like '%," + oldOrgUnitCoding + ",%';"); + objectDao.excuteSQL("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 + "';"); + + if(needDelete){ + objectDao.excuteSQL("delete from orgunit where orgUnitCoding='" + oldOrgUnitCoding + "';"); } - */ + + /*br.write(sql.toString()); + br.newLine(); + write.flush(); + br.flush(); + sql = new StringBuffer("");*/ + //log.debug(sql); - result = objectDao.excuteSQL(sql.toString()); + //result = objectDao.excuteSQL(sql.toString()); + /*String[] sqlArray = sql.toString().split(";"); + if(sqlArray != null && sqlArray.length > 0){ + for(String updateSql : sqlArray){ + if(StringUtils.isNotBlank(updateSql)){ + if(!updateSql.endsWith(";")){ + updateSql += ";"; + } + objectDao.excuteSQL(updateSql + ";"); + } + } + }*/ + //改成全部输出到sql文件里 + log.debug("科室干预:name=" + name + ",oldOrgUnitCoding=" + oldOrgUnitCoding + ",newOrgUnitCoding=" + newOrgUnitCoding + ",needDeleteOldOrgUnit=" + needDelete); appLogManager.saveLog(AcegiHelper.getLoginUser(), Log.MODEL_INTERFERE, Log.TYPE_UPDATE, "科室干预:name=" + name + ",oldOrgUnitCoding=" + oldOrgUnitCoding + ",newOrgUnitCoding=" + newOrgUnitCoding + ",needDeleteOldOrgUnit=" + needDelete); /*if(needDelete){ @@ -1327,10 +1349,23 @@ objectDao.clearCache(); } }catch(Exception e){ + log.error("errorSql=" + errorSql); e.printStackTrace(); result = false; } } + /*} catch (Exception e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + }finally{ + try { + br.close(); + write.close(); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + }*/ return result; } }