Index: ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java =================================================================== diff -u -r34465 -r34748 --- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 34465) +++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 34748) @@ -2893,7 +2893,20 @@ appLogManager.saveBarcodeScanLog(AcegiHelper.getLoginUser(), Log.MODEL_STERILIZATION, barcodeType, barcode, barcodeName); return positionManager.getPositionJsonType(position, false).toString(); - } else { + } else if(barcodeDevice instanceof DisposableGoodsBatch){ + //如果扫的一次性物品批次条码,即灭菌耗材功能里要扫的 + DisposableGoodsBatch disposableGoodsBatch = (DisposableGoodsBatch)barcodeDevice; + barcodeType = disposableGoodsBatch.getType(); + barcodeName = disposableGoodsBatch.getDiposableGoods().getShowName(); + appLogManager.saveBarcodeScanLog(AcegiHelper.getLoginUser(), Log.MODEL_STERILIZATION, barcodeType, barcode, barcodeName); + JSONObject json = JSONUtil.buildJsonObject(false); + + json.put("barcode", barcode); + json.put("type", "disposableGoodsBatchStock"); + json.putAll(sterilizationRecordManager.getBarcodeTypeByDisposableGoodsBatch(barcodeDevice)); + JSONUtil.addSuccess(json, true); + return json.toString(); + } else { JSONObject json = JSONUtil.buildJsonObject(false,"条码无效"); if(barcodeDevice != null){ barcodeType = barcodeDevice.getType(); @@ -2926,6 +2939,23 @@ } } + /** + * 加载灭菌目的对应配置的灭菌耗材信息 + * @param params + * @return + */ + @SuppressWarnings("unused") + private String loadDisposableGoodsBySterilizationPurpose(JSONObject params){ + JSONObject result = JSONUtil.buildJsonObject(false); + Long sterilizationPurposeId = params.optLong("sterilizationPurposeId"); + if(DatabaseUtil.isPoIdValid(sterilizationPurposeId)){ + JSONArray data = sterilizationRecordManager.getDisposableGoodsBySterilizationPurpose(sterilizationPurposeId); + JSONUtil.addSuccess(result, true); + JSONUtil.addRowsProperty(result, data); + } + return result.toString(); + } + private JSONObject reviewedBasketToJson(ReviewedBasket reviewedBasket, String currentOrgUnitCode) { JSONObject result = new JSONObject(); @@ -3102,8 +3132,16 @@ if(!DatabaseUtil.isPoIdValid(sterileRecord.getId())){ sterileRecord.setStartDate(new Date()); } + //灭菌耗材需要传入的参数信息 + JSONObject paramObj = new JSONObject(); + //已添加的灭菌耗材数据集合 + paramObj.put("steriConsumeMaterialArr", params.optJSONArray("steriConsumeMaterialArr")); + //本次提交删除的“已添加的灭菌耗材数据集合明细” + paramObj.put("deleteDetailIds", params.optJSONArray("deleteDetailIds")); + //灭菌目的id + paramObj.put("sterilizationPurposeId", params.optLong("sterilizationPurposeId")); Map result = sterilizationRecordManager.saveOrUpdateSterilizationRecord( - sterileRecord, tousseInstanceBarcodes, containerBarcodes,null,barcodePositionMap, null, null, null); + sterileRecord, tousseInstanceBarcodes, containerBarcodes,null,barcodePositionMap, null, null, paramObj); //同步千樱脉动真空灭菌炉运行参数XJJQZYY-115 sterilizationRecordManager.syncSenohSterilizerRecord(sterileRecord); // if(true){throw new UnScanSterilizationMonitoringPackageException("请扫描生物监测包条码与化学监测包条码.");} @@ -3157,15 +3195,28 @@ .getReviewedBaskets()) { containerStatusJsonArray.add(reviewedBasketToJson(reviewedBasket, currentOrgUnitCode)); } + //查询灭菌记录已添加的灭菌耗材的记录 + Map sterilizationPurposeMap = new HashMap(); + JSONArray steriConsumeMaterialUseDetailInfoJsonArray = sterilizationRecordManager.getSteriConsumeMaterialUseDetailInfo(sterilizationRecord,sterilizationPurposeMap); + //根据灭菌目的加载其对应的灭菌耗材消耗配置 + Long sterilizationPurposeId = (Long)sterilizationPurposeMap.get("sterilizationPurposeId"); + JSONArray steriliPurposeDisposableGoodsJSONArray = null; + if(DatabaseUtil.isPoIdValid(sterilizationPurposeId)){ + steriliPurposeDisposableGoodsJSONArray = sterilizationRecordManager.getDisposableGoodsBySterilizationPurpose(sterilizationPurposeId); + }else{ + steriliPurposeDisposableGoodsJSONArray = new JSONArray(); + } String result = new JSONStringer().object().key("success").value(true) .key("sterileRecord").value(sterilizationRecordJson) .key("containerStatusList").value(containerStatusJsonArray) .key("tousseInstanceList").value(tousseInstanceJsonArray) + .key("steriliPurposeDisposableGoodsList").value(steriliPurposeDisposableGoodsJSONArray) + .key("consumeMaterialUseRecordDetailList").value(steriConsumeMaterialUseDetailInfoJsonArray) + .key("sterilizationPurposeId").value(sterilizationPurposeMap.get("sterilizationPurposeId")) .key("sterilizer").value(sterilizerToJson(sterilizationRecord.getSterilizer())) .key("sterileMethod").value(sterileMethodToJson(sterilisationManager.getSterilisationByName(sterilizationRecord.getSterilizationType()))) .key("nextCycleCounter").value(sterilizationRecordManager.getNextCycleCounter(sterilizationRecord.getSterilizer(), 0L)) .endObject().toString(); - logger.debug("getSterileRecordByID result = " + result); return result; } Index: ssts-web/src/main/webapp/mobileClient/SterileSupplySystem_Android_V4.7.31_20221020_v4_1_release.apk =================================================================== diff -u Binary files differ Index: ssts-web/src/main/webapp/mobileClient/SterileSupplySystem_Android_V4.7.31_20221020_v4_1_6p_release.apk =================================================================== diff -u Binary files differ Index: ssts-web/src/main/webapp/mobileClient/clientForAndroid.json =================================================================== diff -u -r34393 -r34748 --- ssts-web/src/main/webapp/mobileClient/clientForAndroid.json (.../clientForAndroid.json) (revision 34393) +++ ssts-web/src/main/webapp/mobileClient/clientForAndroid.json (.../clientForAndroid.json) (revision 34748) @@ -1,7 +1,7 @@ { "success":"true", "version":"4.7.30", - "urlSuffix":"/mobileClient/SterileSupplySystem_Android_V4.7.30_20220818_v4_1_release.apk", - "urlSuffix-nologo":"/mobileClient/SterileSupplySystem_Android_V4.7.30_20220818_v4_1_nologo_release.apk", - "urlSuffix-6p":"/mobileClient/SterileSupplySystem_Android_V4.7.30_20220817_v4_1_6p_release.apk", + "urlSuffix":"/mobileClient/SterileSupplySystem_Android_V4.7.31_20221020_v4_1_release.apk", + "urlSuffix-nologo":"/mobileClient/SterileSupplySystem_Android_V4.7.31_20221020_v4_1_nologo_release.apk", + "urlSuffix-6p":"/mobileClient/SterileSupplySystem_Android_V4.7.31_20221020_v4_1_6p_release.apk", } \ No newline at end of file Index: ssts-web/src/main/webapp/mobileClient/SterileSupplySystem_Android_V4.7.31_20221020_v4_1_nologo_release.apk =================================================================== diff -u Binary files differ