Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java =================================================================== diff -u -r21831 -r21832 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java (.../TousseInstanceManager.java) (revision 21831) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java (.../TousseInstanceManager.java) (revision 21832) @@ -745,6 +745,15 @@ * @return */ public boolean checkTousseInsBarcodeIsTraceable(String barcode); + + /** + * 多次扫描固定条码,累加数量 + * @param fixedBarcode 固定条码 + * @param barcodes 已有的条码集合,用逗号分割 + * @return + */ + public String scanFixedBarcode(String fixedBarcode, String barcodes); + } Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java =================================================================== diff -u -r21831 -r21832 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 21831) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 21832) @@ -1771,5 +1771,27 @@ StrutsResponseUtils.output(result); } + /** + * 多次扫描固定条码,累加数量 + * @param fixedBarcode 固定条码 + * @param barcodes 已有的条码集合,用逗号分割 + * @return + */ + public void scanFixedBarcode(){ + String fixedBarcode = StrutsParamUtils.getPraramValue("fixedBarcode", "");//固定条码 + String myBarcodes = StrutsParamUtils.getPraramValue("myBarcodes", "");//已扫描的条码集合 + myBarcodes = myBarcodes.replace("\"","").replace("[","").replace("]","").replace(" ", ""); + String barcodeResult = tousseInstanceManager.scanFixedBarcode(fixedBarcode,myBarcodes); + if("0"==barcodeResult){ + JSONObject jSONObj = JSONUtil.buildJsonObject(false, "已经全部加载完毕"); + StrutsResponseUtils.output(jSONObj); + }else if("-1"==barcodeResult){ + JSONObject jSONObj = JSONUtil.buildJsonObject(false, "-1"); + StrutsResponseUtils.output(jSONObj); + } + JSONObject jSONObj = JSONUtil.buildJsonObject(true, barcodeResult); + StrutsResponseUtils.output(jSONObj); + } + } \ No newline at end of file Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java =================================================================== diff -u -r21831 -r21832 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java (.../SterilizationRecordAction.java) (revision 21831) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java (.../SterilizationRecordAction.java) (revision 21832) @@ -259,6 +259,8 @@ } } } + + Map barcodePositionMap = new HashMap(); // barcodePositionInfo 前台传入的格式 barcode,position;barcode2,position2; String[] barcodePositionArray = StringUtils.split(barcodePositionInfo, Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java =================================================================== diff -u -r21831 -r21832 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 21831) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 21832) @@ -3845,4 +3845,45 @@ } } } + + + /** + * 多次扫描固定条码,累加数量 + * @param fixedBarcode 固定条码 + * @param barcodes 已有的条码集合,用逗号分割 + * @return + */ + @Override + public String scanFixedBarcode(String fixedBarcode, String barcodes) { + if(!StringUtils.isNotBlank(barcodes) || !StringUtils.isNotBlank(fixedBarcode)){ + return "-1"; + } + List barcodeList =getTousseInsDataByFixedBarcode(fixedBarcode,barcodes,"灭菌记录"); //库存 + + + if(barcodeList.size()==0){ + return "0"; + } + String id = checkIsFixedBarcode(fixedBarcode); + TousseDefinition ti=new TousseDefinition(); + if(StringUtils.isNotBlank(id)){ + ti= (TousseDefinition) objectDao.getByProperty(TousseDefinition.class.getSimpleName(), "id", Long.parseLong(id)); + } + String resultStr=""; + + if(StringUtils.isNotBlank(barcodes)){ + //如果库存小于每次扫描的数量,则将剩余的库存全部加载 + if(barcodeList.size()