Index: forgon-core/src/main/java/com/forgon/Constants.java =================================================================== diff -u -r21202 -r21408 --- forgon-core/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 21202) +++ forgon-core/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 21408) @@ -21,7 +21,7 @@ "4.2.3","4.2.4","4.2.5","4.2.6","4.2.7","4.2.8","4.2.9","4.3.0","4.3.1","4.3.2","4.3.3","4.3.4","4.3.5","4.3.6","4.3.7","4.3.8","4.3.9", "4.4.0","4.4.1","4.4.2","4.4.3","4.4.4","4.4.5","4.4.6","4.4.7","4.4.8","4.4.9","4.5.0","4.5.1","4.5.2","4.5.3","4.5.4","4.5.5","4.5.6","4.5.7","4.5.8", "4.5.9","4.6.0","4.6.1","4.6.2","4.6.3","4.6.4","4.6.5","4.6.6","4.6.7","4.6.8","4.6.9","4.7.0","4.7.1","4.7.2","4.7.3","4.7.4","4.7.5","4.7.6","4.7.7", - "4.7.8","4.7.9","4.8.0","4.8.1","4.8.2","4.8.3","4.8.4","4.8.5","4.8.6","4.8.7","4.8.8","4.8.9","4.9.0","4.9.1","4.9.2","4.9.3","4.9.4"};// 版本列表 + "4.7.8","4.7.9","4.8.0","4.8.1","4.8.2","4.8.3","4.8.4","4.8.5","4.8.6","4.8.7","4.8.8","4.8.9","4.9.0","4.9.1","4.9.2","4.9.3","4.9.4","4.9.5"};// 版本列表 public final static List SOFTWARE_VERSION_LIST = Arrays .asList(SOFTWARE_VERSION_ARRAY); public final static String SOFTWARE_VERSION = SOFTWARE_VERSION_ARRAY[SOFTWARE_VERSION_ARRAY.length - 1];// 软件最新版本 Index: ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/basic/service/MaintainManagerImpl.java =================================================================== diff -u -r19943 -r21408 --- ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/basic/service/MaintainManagerImpl.java (.../MaintainManagerImpl.java) (revision 19943) +++ ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/basic/service/MaintainManagerImpl.java (.../MaintainManagerImpl.java) (revision 21408) @@ -10,13 +10,13 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.sql.SQLType; import java.sql.Types; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.Iterator; +import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; @@ -70,6 +70,7 @@ import com.forgon.disinfectsystem.entity.invoicemanager.Invoice; import com.forgon.disinfectsystem.entity.invoicemanager.InvoiceItem; import com.forgon.disinfectsystem.entity.invoicemanager.InvoicePlan; +import com.forgon.disinfectsystem.entity.packing.PackingRecord; import com.forgon.disinfectsystem.entity.qualitymonitoringmanager.qualitymonitoring.QualityMonitoringGoods; import com.forgon.disinfectsystem.entity.qualitymonitoringmanager.qualitymonitoring.QualityMonitoringInstance; import com.forgon.disinfectsystem.entity.qualitymonitoringmanager.qualitymonitoringconfig.QualityMonitoringDefinition; @@ -1052,6 +1053,9 @@ case "4.8.9_4.9.0": UpdateData_4_8_9_4_9_0(updateDataContext); break; + case "4.9.4_4.9.5": + UpdateData_4_9_4_4_9_5(updateDataContext); + break; } return false; } @@ -1881,6 +1885,94 @@ } dataUpdater.logInfo(msg); } + // 中大附一装配记录优化 + private void UpdateData_4_9_4_4_9_5(UpdateDataContext updateDataContext) { + DataUpdater dataUpdater = updateDataContext.getDataUpdater(); + String msg = null; + msg = String + .format("已执行方法(%s.%s)!", MaintainManagerImpl.class.getName(), + "UpdateData_4_9_4_4_9_5()"); + try { + String sql = String.format(" where po.tousseType='%s'", TousseDefinition.PACKAGE_TYPE_FOREIGN); + List packingRecordList = objectDao.findBySql(PackingRecord.class.getSimpleName(), sql); + if(packingRecordList != null){ + for (PackingRecord packingRecord : packingRecordList) { + Long tousseDefinitionId = packingRecord.getTousseDefinitionId(); + if(!DatabaseUtil.isPoIdValid(tousseDefinitionId)){ + continue; + } + TousseDefinition tousseDefinition = tousseDefinitionManager.get(tousseDefinitionId); + if(tousseDefinition == null){ + continue; + } + Long foreignTousseApplicationId = tousseDefinition.getInvoicePlanID(); + if(foreignTousseApplicationId == null){ + continue; + } + ForeignTousseApplication foreignTousseApplication = (ForeignTousseApplication) objectDao.getByProperty( + ForeignTousseApplication.class.getSimpleName(), "id",foreignTousseApplicationId); + if(foreignTousseApplication == null){ + continue; + } + List tousseList = packingRecord.getTousseInstanceList(objectDao); + if(CollectionUtils.isEmpty(tousseList)){ + continue; + } + if(foreignTousseApplication != null){ + packingRecord.setSupplierName(foreignTousseApplication.getSupplierName()); + packingRecord.setDoctor(foreignTousseApplication.getDoctor()); + } + packingRecord.setReviewer(tousseList.get(0).getReviewer()); + // 增加拆分名字 + List nameSet = new LinkedList(); + for (TousseInstance tousseInstance : tousseList) { + TousseDefinition tousseInstance_tousseDefinition = tousseInstance.getTousseDefinition(); + if(tousseInstance_tousseDefinition != null && tousseInstance_tousseDefinition.isSplit()){ + nameSet.add(tousseInstance.getTousseName()); + } + } + packingRecord.setSplitTousseName(StringUtils.join(nameSet, ",")); + // 外来器械设置工具和植入物数量信息 + { + int toolAmount = 0; + int implantAmount = 0; + for (TousseInstance tousseInstance : tousseList) { + TousseDefinition tousseInstance_tousseDefinition = tousseInstance.getTousseDefinition(); + if(tousseInstance_tousseDefinition == null){ + continue; + } + List materialInstances = tousseInstance_tousseDefinition.getMaterialInstances(); + if(materialInstances != null){ + for (MaterialInstance materialInstance : materialInstances) { + int amount = materialInstance.getCount(); + if(Constants.STR_YES.equals(materialInstance.materialIsImplant())){ + implantAmount += amount; + }else{ + toolAmount += amount; + } + } + } + + } + List list = new LinkedList(); + if(toolAmount>0){ + list.add(String.format("工具*%s", toolAmount)); + } + if(implantAmount>0){ + list.add(String.format("植入物*%s", implantAmount)); + } + if(list.size() > 0){ + packingRecord.setForeignMaterialsAmount(StringUtils.join(list, "、")); + } + } + objectDao.update(packingRecord); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + dataUpdater.logInfo(msg); + } @Override public void updateForeignTousseInfo() { //外来器械材料定义