Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java =================================================================== diff -u -r38792 -r38793 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 38792) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 38793) @@ -374,8 +374,13 @@ @Override public void checkSterilizationMode(Long sterilizationTransitionId, Long proxyDisinfectionId, Set tousseInstanceIdsOfScanned, String containerBarcodesOfScannedStr - , BarcodeDevice barcodeDevice) { + , BarcodeDevice barcodeDevice, String containerBarcodeOfNoUse) { Set containerBarcodesOfScanned = SqlUtils.splitStringToSet(containerBarcodesOfScannedStr, ";"); + if(barcodeDevice!= null && BarcodeDevice.BARCODE_TYPE_CONTAINER.equals(barcodeDevice.getType()) + && StringUtils.isNotBlank(containerBarcodeOfNoUse) + && CollectionUtils.isNotEmpty(containerBarcodesOfScanned)){ + containerBarcodesOfScanned.remove(containerBarcodeOfNoUse);//换筐操作时 不验证被替换的篮筐 + } //第一步 获取原有的灭菌方式 List oldTis = new ArrayList(); if(CollectionUtils.isNotEmpty(tousseInstanceIdsOfScanned)){//扫描的 又未保存的包实例 Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java =================================================================== diff -u -r38586 -r38793 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 38586) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 38793) @@ -319,7 +319,7 @@ String containerBarcodeOfScanned = StrutsParamUtils.getPraramValue("containerBarcodeOfScanned", ""); String tousseInstanceIdsOfScannedStr = StrutsParamUtils.getPraramValue("tousseInstanceIdsOfScanned", ""); Set tousseInstanceIdsOfScanned = SqlUtils.splitLongToSet(tousseInstanceIdsOfScannedStr, ";", false); - tousseInstanceManager.checkSterilizationMode(sterilizationTransitionId, null, tousseInstanceIdsOfScanned, containerBarcodeOfScanned, barcodeDevice); + tousseInstanceManager.checkSterilizationMode(sterilizationTransitionId, null, tousseInstanceIdsOfScanned, containerBarcodeOfScanned, barcodeDevice, null); } //根据条码找不到器械包时,去找篮筐 if(result == null && BarcodeDevice.BARCODE_TYPE_CONTAINER.equals(barcodeDevice.getType())){ Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationTransition/service/SterilizationTransitionManagerImpl.java =================================================================== diff -u -r38729 -r38793 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationTransition/service/SterilizationTransitionManagerImpl.java (.../SterilizationTransitionManagerImpl.java) (revision 38729) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationTransition/service/SterilizationTransitionManagerImpl.java (.../SterilizationTransitionManagerImpl.java) (revision 38793) @@ -145,7 +145,7 @@ objectDao.saveOrUpdate(sterilizationTransition); } objectDao.saveOrUpdate(sterilizationTransition);//如果不加 修改sterilizationTransition的部分属性会不生效,如删除部分器械包时,TotalAmount不生效 - tousseInstanceManager.checkSterilizationMode(sterilizationTransition.getId(), null, null, null, null); + tousseInstanceManager.checkSterilizationMode(sterilizationTransition.getId(), null, null, null, null, null); } /** @@ -294,7 +294,7 @@ public JSONObject scanBarcode(String barcode, Long sterilizationTransitionId, Set tousseInstanceIdsOfScanned,String containerBarcodeOfScanned,BarcodeDevice barcodeDevice) { //调用验证灭菌方式的方法 - tousseInstanceManager.checkSterilizationMode(sterilizationTransitionId, null, tousseInstanceIdsOfScanned, containerBarcodeOfScanned, barcodeDevice); + tousseInstanceManager.checkSterilizationMode(sterilizationTransitionId, null, tousseInstanceIdsOfScanned, containerBarcodeOfScanned, barcodeDevice, null); SterilizationTransitionItemVO result = tousseInstanceManager.loadTousseInstanceByBarcodeforSterilizationTransition(barcode,null); if(result != null){ JSONObject data = JSONObject.fromObject(result); Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/action/ProxyDisinfectionAction.java =================================================================== diff -u -r38586 -r38793 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/action/ProxyDisinfectionAction.java (.../ProxyDisinfectionAction.java) (revision 38586) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/action/ProxyDisinfectionAction.java (.../ProxyDisinfectionAction.java) (revision 38793) @@ -281,7 +281,9 @@ try { String containerBarcodeOfScanned = StrutsParamUtils.getPraramValue("containerBarcodeOfScanned", ""); String tousseInstanceIdsOfScannedStr = StrutsParamUtils.getPraramValue("tousseInstanceIdsOfScanned", ""); - json = proxyDisinfectionManager.loadBasketOrTousseInstance(barcode, proxyDisinfectionId, packingRecordIds, handleDepartCoding, sterilizationMode, containerBarcodeOfScanned, tousseInstanceIdsOfScannedStr); + //已扫描但是未入筐使用的篮筐条码 用于区分换筐 + String containerBarcodeOfNoUse = StrutsParamUtils.getPraramValue("containerBarcodeOfNoUse", ""); + json = proxyDisinfectionManager.loadBasketOrTousseInstance(barcode, proxyDisinfectionId, packingRecordIds, handleDepartCoding, sterilizationMode, containerBarcodeOfScanned, tousseInstanceIdsOfScannedStr, containerBarcodeOfNoUse); } catch (SystemException e) { String message = e.getMessage(); json = JSONUtil.buildJsonObject(false, message); Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManager.java =================================================================== diff -u -r38586 -r38793 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManager.java (.../ProxyDisinfectionManager.java) (revision 38586) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManager.java (.../ProxyDisinfectionManager.java) (revision 38793) @@ -115,10 +115,11 @@ * @param sterilizationMode 单上物品的灭菌方式(不允许将不同灭菌方式的物品录入到同一代理灭菌单) * @param containerBarcodeOfScanned 已扫描的篮筐条码 * @param tousseInstanceIdsOfScannedStr 已扫描的包实例ids ;分隔 + * @param containerBarcodeOfNoUse 扫描但未入筐使用的篮筐条码 用于区分是不是换筐 被换的篮筐不验证灭菌方式 * @return */ public JSONObject loadBasketOrTousseInstance(String barcode, String proxyDisinfectionId, String packingRecordIds, String handleDepartCoding, String sterilizationMode - ,String containerBarcodeOfScanned, String tousseInstanceIdsOfScannedStr); + ,String containerBarcodeOfScanned, String tousseInstanceIdsOfScannedStr, String containerBarcodeOfNoUse); /** * 根据装配记录获取器械包实例 * @param packingRecordIds Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManagerImpl.java =================================================================== diff -u -r38791 -r38793 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManagerImpl.java (.../ProxyDisinfectionManagerImpl.java) (revision 38791) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManagerImpl.java (.../ProxyDisinfectionManagerImpl.java) (revision 38793) @@ -225,7 +225,7 @@ SqlUtils.getNonStringFieldInLargeCollectionsPredicate("id", pakingRecordIDList)); objectDao.excuteSQL(updateSql); } - tousseInstanceManager.checkSterilizationMode(null, proxyDisinfection.getId(), null, null, null); + tousseInstanceManager.checkSterilizationMode(null, proxyDisinfection.getId(), null, null, null, null); } /** @@ -1410,7 +1410,7 @@ @Override public JSONObject loadBasketOrTousseInstance(String barcode, String proxyDisinfectionId, String packingRecordIds, String handleDepartCoding, String sterilizationMode - , String containerBarcodeOfScanned, String tousseInstanceIdsOfScannedStr) { + , String containerBarcodeOfScanned, String tousseInstanceIdsOfScannedStr, String containerBarcodesOfReplaced) { Set tousseInstanceIdsOfScanned = SqlUtils.splitLongToSet(tousseInstanceIdsOfScannedStr, ";", false); JSONObject json = new JSONObject(); boolean success = true; @@ -1557,7 +1557,7 @@ if(success && !receiveTousseNotCheckSterilizationMode && StringUtils.isBlank(packingRecordIds)){ tousseInstanceManager.checkSterilizationMode(null, proxyDisinfection == null?null:proxyDisinfection.getId() - , tousseInstanceIdsOfScanned, containerBarcodeOfScanned, barcodeDevice); + , tousseInstanceIdsOfScanned, containerBarcodeOfScanned, barcodeDevice, containerBarcodesOfReplaced); } JSONUtil.addSuccess(json, success); Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java =================================================================== diff -u -r38792 -r38793 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java (.../TousseInstanceManager.java) (revision 38792) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java (.../TousseInstanceManager.java) (revision 38793) @@ -1419,10 +1419,11 @@ * @param tousseInstanceIdsOfScanned 已经扫描的包实例ids 多个;分隔 * @param containerBarcodesOfScanned 已经扫描的篮筐条码 多个;分隔 * @param barcodeDevice 本次扫描的条码 + * @param containerBarcodeOfNoUse 扫描但未入筐使用的篮筐条码 用于区分是不是换筐 被换的篮筐不验证灭菌方式 有值,则需要在containerBarcodesOfScanned中减去 * */ public void checkSterilizationMode(Long sterilizationTransitionId, Long proxyDisinfectionId , Set tousseInstanceIdsOfScanned, String containerBarcodesOfScanned - , BarcodeDevice barcodeDevice); + , BarcodeDevice barcodeDevice, String containerBarcodeOfNoUse); }