Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManagerImpl.java =================================================================== diff -u -r33213 -r33214 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManagerImpl.java (.../ProxyDisinfectionManagerImpl.java) (revision 33213) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManagerImpl.java (.../ProxyDisinfectionManagerImpl.java) (revision 33214) @@ -345,34 +345,8 @@ newProxyTousseInstanceList.add(tousseInstance); } - //解除代理灭菌单和器械包的关系 - Collection toBeDeleteTousseInstances = CollectionUtils.subtract(oldTousseInstances, newProxyTousseInstanceList); - for (TousseInstance ti : toBeDeleteTousseInstances) { - ti.setProxyDisinfection_id(null); - ti.setHasReceived(null); - objectDao.save(ti); - if(StringUtils.isBlank(remark)){ - remark += loginUserName + "删除了" + ti.getBarcode() + ti.getTousseName(); - }else{ - remark += "," + loginUserName + "删除了" + ti.getBarcode() + ti.getTousseName(); - } - } } - //篮筐外的器械包都删除 - if(ArrayUtils.isEmpty(tousseInstanceIdStrs) && CollectionUtils.isNotEmpty(oldTousseInstances)){ - for (TousseInstance ti : oldTousseInstances) { - ti.setProxyDisinfection_id(null); - ti.setHasReceived(null); - objectDao.save(ti); - if(StringUtils.isBlank(remark)){ - remark += loginUserName + "删除了" + ti.getBarcode() + ti.getTousseName(); - }else{ - remark += "," + loginUserName + "删除了" + ti.getBarcode() + ti.getTousseName(); - } - } - } - // 2、处理篮筐和篮筐中的器械包信息 List oldBaskets = proxyDisinfection.getReviewedBaskets(); if (basketInfos != null && !basketInfos.isEmpty()) { @@ -525,6 +499,22 @@ } } proxyDisinfection.setApplicationItems(tousseItemList); + + //原先没有入筐的器械包,判断是否删除了器械包,已经删除的器械包需要解除代理灭菌单和器械包的关系 + if(CollectionUtils.isNotEmpty(oldTousseInstances)){ + Collection toBeDeleteTousseInstances = CollectionUtils.subtract(oldTousseInstances, newProxyTousseInstanceList); + for (TousseInstance ti : toBeDeleteTousseInstances) { + ti.setProxyDisinfection_id(null); + ti.setHasReceived(null); + objectDao.save(ti); + if(StringUtils.isBlank(remark)){ + remark += loginUserName + "删除了" + ti.getBarcode() + ti.getTousseName(); + }else{ + remark += "," + loginUserName + "删除了" + ti.getBarcode() + ti.getTousseName(); + } + } + } + if(!proxyDisinfection.hasReceived() && StringUtils.equals(loginUserOrgUnitCode, proxyDisinfection.getHandleDepartCoding())){ //一级供应室(处理科室)在PC端或PDA端对通过今日本组装配记录/历史装配记录生成的代理灭菌单(待接收和部分接收的代理灭菌单)里的包进行增删后,要记录在PC端的备注字段里