Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java =================================================================== diff -u -r23597 -r24168 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java (.../TousseInstanceManager.java) (revision 23597) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java (.../TousseInstanceManager.java) (revision 24168) @@ -910,6 +910,11 @@ * @param id */ public List getAllTousseInstanceVOsInReviewedBasket(List reviewedBasketList); - + /** + * 设置器械包的灭菌方式。需要先设置包实例的灭菌程序,方法内使用包实例当前的灭菌程序进行灭菌方式的关联查询 + * @param packingManagerImpl TODO + * @param tousseInstance + */ + public void setTousseSterilingMode(TousseInstance tousseInstance); } Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r24132 -r24168 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 24132) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 24168) @@ -75,7 +75,6 @@ import com.forgon.disinfectsystem.entity.basedatamanager.container.Container; import com.forgon.disinfectsystem.entity.basedatamanager.materialdefinition.MaterialDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.materialinstance.MaterialInstance; -import com.forgon.disinfectsystem.entity.basedatamanager.sterilisation.Sterilisation; import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; @@ -2044,12 +2043,14 @@ return objectDao.findBySql(PackingTask.class.getSimpleName(), sql); } + @Override public int countPackingTaskByInvoicePlan(InvoicePlan invoicePlan){ String sql = "where po.sourceId = " + invoicePlan.getId() + " and po.taskType = " + PackingTask.TASK_APPLICATION ; return objectDao.countObjectBySql(PackingTask.class.getSimpleName(), sql); } + @Override public String getPackingRecordSql(String taskGroup,String tousseName,String orgUnitName,String tousseBarcode,String packer,String startTimeSearch,String endTimeSearch){ String sql = "where 1=1 "; if(StringUtils.isNotBlank(taskGroup)){ @@ -2135,7 +2136,7 @@ } // 根据页面传过来的器械包的id集合,查找待审核的器械包,并且只找状态为待审核的包,避免重复审核 @SuppressWarnings("unchecked") - List tousses = (List)objectDao.findBySql_ForUpdate(TousseInstance.class.getSimpleName(), + List tousses = objectDao.findBySql_ForUpdate(TousseInstance.class.getSimpleName(), String.format("where %s and po.status = '%s'", SqlUtils.getStringFieldInLargeCollectionsPredicate("po.id", ids), TousseInstance.STATUS_PACKED)); if(CollectionUtils.isEmpty(tousses)){ @@ -4731,13 +4732,7 @@ tousseInstance.setPackageType(packageType);// 包装类型 tousseInstance.setSterilingType(sterilingType);// 灭菌程序 - //如果灭菌程序不为空,则将灭菌方式赋值 - if(StringUtils.isNotBlank(sterilingType)){ - Sterilisation ss = sterilisationManager.getSterilisationByName(sterilingType); - if(ss != null){ - tousseInstance.setSterilingMode(ss.getSterilizationMode()); - } - } + tousseInstanceManager.setTousseSterilingMode(tousseInstance); tousseInstance.setUnTraceableTousse(unTraceableTousse); @@ -5029,13 +5024,7 @@ } if (StringUtils.isNotBlank(sterilingType)) { tousseInstance.setSterilingType(sterilingType); - //如果灭菌程序不为空,则将灭菌方式赋值 - if(StringUtils.isNotBlank(sterilingType)){ - Sterilisation ss = sterilisationManager.getSterilisationByName(sterilingType); - if(ss != null){ - tousseInstance.setSterilingMode(ss.getSterilizationMode()); - } - } + tousseInstanceManager.setTousseSterilingMode(tousseInstance); } if (StringUtils.isNotBlank(packageType)) { tousseInstance.setPackageType(packageType); @@ -5556,13 +5545,7 @@ tousseInstance.setPackageType(packageType);// 包装类型 tousseInstance.setSterilingType(sterilingType);// 灭菌程序 - //如果灭菌程序不为空,则将灭菌方式赋值 - if(StringUtils.isNotBlank(sterilingType)){ - Sterilisation ss = sterilisationManager.getSterilisationByName(sterilingType); - if(ss != null){ - tousseInstance.setSterilingMode(ss.getSterilizationMode()); - } - } + tousseInstanceManager.setTousseSterilingMode(tousseInstance); tousseInstance.setUnTraceableTousse(false); tousseInstance.setStatisticsAmount(td.getTousseAmount()); @@ -5832,13 +5815,7 @@ tousseInstance.setType(BarcodeDevice.BARCODE_TYPE_PACKAGE); tousseInstance.setPackageType(packageType); tousseInstance.setSterilingType(sterilingType); - //如果灭菌程序不为空,则将灭菌方式赋值 - if(StringUtils.isNotBlank(sterilingType)){ - Sterilisation ss = sterilisationManager.getSterilisationByName(sterilingType); - if(ss != null){ - tousseInstance.setSterilingMode(ss.getSterilizationMode()); - } - } + tousseInstanceManager.setTousseSterilingMode(tousseInstance); tousseInstance.setSterilizerName(sterilizer); tousseInstance.setSterileFrequency(frequency); @@ -6425,13 +6402,7 @@ tousseInstance.setPackageType(packageType);// 包装类型 tousseInstance.setSterilingType(sterilingType);// 灭菌程序 - //如果灭菌程序不为空,则将灭菌方式赋值 - if(StringUtils.isNotBlank(sterilingType)){ - Sterilisation ss = sterilisationManager.getSterilisationByName(sterilingType); - if(ss != null){ - tousseInstance.setSterilingMode(ss.getSterilizationMode()); - } - } + tousseInstanceManager.setTousseSterilingMode(tousseInstance); tousseInstance.setUnTraceableTousse(false); tousseInstance.setSterilizerName(sterilizerName); tousseInstance.setSterileFrequency(sterileFrequency); @@ -6453,7 +6424,6 @@ objectDao.saveOrUpdate(tousseInstance); return tousseInstance; } - /** * 创建没有装配任务的装配记录 * @param comboTousseTD @@ -6912,7 +6882,7 @@ } if (StringUtils.isNotBlank(tousseGroups)) { String tdSql = String.format(" select po.id from %s po where %s and po.forDisplay=true",TousseDefinition.class.getSimpleName(),SqlUtils.getStringFieldInLargeCollectionsPredicate("po.tousseGroupName", Arrays.asList(tousseGroups.split(",")))); - List list = (List)objectDao.findByHql(tdSql); + List list = objectDao.findByHql(tdSql); sql += String.format(" and po.tousseDefinitionId in(select id from %s where %s or %s) " ,TousseDefinition.class.getSimpleName(),SqlUtils.getNonStringFieldInLargeCollectionsPredicate("id", list),SqlUtils.getNonStringFieldInLargeCollectionsPredicate("ancestorID", list)); } Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java =================================================================== diff -u -r24167 -r24168 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 24167) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 24168) @@ -2643,6 +2643,7 @@ tousseInstance.setStatus(newStatus); // 设置灭菌时间,灭菌程序 tousseInstance.setSterilingType(sterilizationMethod); + tousseInstanceManager.setTousseSterilingMode(tousseInstance); tousseInstance.setSterilizerName(sterilizationName); tousseInstance.setSterileFrequency(frequency); tousseInstance.setSterileStartTime(startDate); @@ -3913,6 +3914,7 @@ ti.setSterilizationUser(sr.getSterilizationUser()); ti.setSterilizerName(sr.getSterilizerName()); ti.setSterileFrequency(sr.getFrequency()+""); + tousseInstanceManager.setTousseSterilingMode(ti); ti.setSterilingType(sr.getSterilizationType()); objectDao.saveOrUpdate(ti); objectDao.excuteSQL(String.format(insertSql, sr.getId(),ti.getId()));//中间表插入数据 Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java =================================================================== diff -u -r24166 -r24168 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 24166) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 24168) @@ -34,6 +34,7 @@ import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.hibernate.Query; +import org.springframework.beans.factory.annotation.Autowired; import com.forgon.Constants; import com.forgon.databaseadapter.service.DateQueryAdapter; @@ -141,7 +142,7 @@ private SterilizerManager sterilizerManager; private TimeoutManager timeoutManager; - + @Autowired private SterilisationManager sterilisationManager; private BarcodeManager barcodeManager; @@ -5388,4 +5389,14 @@ } return null; } + @Override + public void setTousseSterilingMode(TousseInstance tousseInstance) { + //如果灭菌程序不为空,则将灭菌方式赋值 + if(tousseInstance != null && StringUtils.isNotBlank(tousseInstance.getSterilingType())){ + Sterilisation ss = sterilisationManager.getSterilisationByName(tousseInstance.getSterilingType()); + if(ss != null){ + tousseInstance.setSterilingMode(ss.getSterilizationMode()); + } + } + } } Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/service/ForeignProxyDisinfectionManagerImpl.java =================================================================== diff -u -r23597 -r24168 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/service/ForeignProxyDisinfectionManagerImpl.java (.../ForeignProxyDisinfectionManagerImpl.java) (revision 23597) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/service/ForeignProxyDisinfectionManagerImpl.java (.../ForeignProxyDisinfectionManagerImpl.java) (revision 24168) @@ -641,6 +641,7 @@ tousseInstance.setReviewTime(currentTime); tousseInstance.setPackageType(packageType); tousseInstance.setSterilingType(sterilingType); + tousseInstanceManager.setTousseSterilingMode(tousseInstance); tousseInstance.setType(BarcodeDevice.BARCODE_TYPE_PACKAGE); tousseInstance.setBarcode(serialNumberStr);