Index: ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java =================================================================== diff -u -r19832 -r19868 --- ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 19832) +++ ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 19868) @@ -3894,8 +3894,8 @@ public JSONObject loadBarcode(String barcode, String scanedBarcodes, String currentOrgUnitCode) { JSONObject obj = new JSONObject(); + obj.put(JSONUtil.JSON_KEY_SUCCESS, false); try { - obj.put("success", true); if (StringUtils.isNotBlank(barcode)) { BarcodeDevice bd = barcodeManager.getBarcodeByBarcode(barcode); if (bd != null) { @@ -3908,16 +3908,14 @@ if(ti.getTousseFixedBarcode()){ ti = getTousseInstanceForUseRecord(ti.getTousseDefinition(), scanedBarcodes, currentOrgUnitCode); if(ti == null){ - obj.put("success", false); - obj.put("error", "未找到符合录入使用记录条件的包"); + obj.put(JSONUtil.JSON_KEY_MESSAGE, "未找到符合录入使用记录条件的包"); return obj; } } // 1.判断是否为聚合包内的普通包实例,如果是则提示该包不能录入使用记录 if(DatabaseUtil.isPoIdValid(ti.getComboTousseInstanceId())){ - obj.put("success", false); - obj.put("error", "条码为" + barcode + "的包属于聚合包内的器械包,不能录入使用记录"); + obj.put(JSONUtil.JSON_KEY_MESSAGE, "条码为" + barcode + "的包属于聚合包内的器械包,不能录入使用记录"); return obj; } @@ -3927,8 +3925,7 @@ List tousseInstanceList = ti.getTousseInstancesBelongToThisComboTousse(objectDao); int size = CollectionUtils.isNotEmpty(tousseInstanceList) ? tousseInstanceList.size() : 0; if(useTimes >= size){ - obj.put("success", false); - obj.put("error", "条码为" + barcode + "的聚合包使用次数已经达到其包内器械包的数量,不能再录入"); + obj.put(JSONUtil.JSON_KEY_MESSAGE, "条码为" + barcode + "的聚合包使用次数已经达到其包内器械包的数量,不能再录入"); return obj; } @@ -3942,9 +3939,11 @@ // 3.检测该器械包有没有被召回 if (TousseInstance.STATUS_WAIT_FOR_RECALL.equals(ti.getStatus()) || TousseInstance.STATUS_RECALLED.equals(ti.getStatus())) { - obj.put("msg", "该器械包不能被使用,已被召回!"); + obj.put(JSONUtil.JSON_KEY_MESSAGE, "该器械包不能被使用,已被召回!"); + return obj; } else if(!TousseInstance.STATUS_SHIPPED.equals(ti.getStatus()) && !TousseInstance.STATUS_SIGNED.equals(ti.getStatus())){ - obj.put("msg", "该器械包状态为" + ti.getStatus() + ",不能录入使用记录!"); + obj.put(JSONUtil.JSON_KEY_MESSAGE, "该器械包状态为" + ti.getStatus() + ",不能录入使用记录!"); + return obj; } else { List acceptStatus = new ArrayList<>(); //已发货未签收的包是否可以录使用记录 @@ -3989,7 +3988,8 @@ //是否转换申请单 obj.put("isConvertApplyGoods", td.getIsConvertApplyGoods()); }else{ - obj.put("msg", "该器械包所属科室为" + ti.getLocationForDisplay() + ",未配置与当前科室共用,不能录入使用记录!"); + obj.put(JSONUtil.JSON_KEY_MESSAGE, "该器械包所属科室为" + ti.getLocationForDisplay() + ",未配置与当前科室共用,不能录入使用记录!"); + return obj; } }else{ //判断包实例所在位置与当前用户所在科室是否一致 @@ -4024,7 +4024,8 @@ //是否转换申请单 obj.put("isConvertApplyGoods", td.getIsConvertApplyGoods()); }else{ - obj.put("msg", "该器械包所属科室为" + ti.getLocationForDisplay() + ",不能录入使用记录!"); + obj.put(JSONUtil.JSON_KEY_MESSAGE, "该器械包所属科室为" + ti.getLocationForDisplay() + ",不能录入使用记录!"); + return obj; } } // 使用次数 @@ -4052,43 +4053,37 @@ // 高值耗材 ExpensiveDisposablegoods expensiveDisposablegoods = (ExpensiveDisposablegoods) bd; if(!ExpensiveDisposablegoods.STATUS_DELIVERED.equals(expensiveDisposablegoods.getStatus())){ - obj.put("success", false); - obj.put("error", String.format("条码为[%s]的高值耗材状态为%s,不能录使用记录", barcode,expensiveDisposablegoods.getStatus())); + obj.put(JSONUtil.JSON_KEY_MESSAGE, String.format("条码为[%s]的高值耗材状态为%s,不能录使用记录", barcode,expensiveDisposablegoods.getStatus())); return obj; } //判断该高值耗材关联的一次性物品定义的物品类型是否为高值耗材(防止入库时定义为高值耗材,后来修改定义为非高值耗材) if(expensiveDisposablegoods.getDisposableGoodsID() == null){ - obj.put("success", false); - obj.put("error", String.format("条码为[%s]的高值耗材未找到一次性物品定义", barcode)); + obj.put(JSONUtil.JSON_KEY_MESSAGE, String.format("条码为[%s]的高值耗材未找到一次性物品定义", barcode)); return obj; } DisposableGoods disposableGoods = diposableGoodsManager.get(expensiveDisposablegoods.getDisposableGoodsID()); if(disposableGoods == null){ - obj.put("success", false); - obj.put("error", String.format("条码为[%s]的高值耗材一次性物品定义已被删除", barcode)); + obj.put(JSONUtil.JSON_KEY_MESSAGE, String.format("条码为[%s]的高值耗材一次性物品定义已被删除", barcode)); return obj; } if(!DisposableGoods.TYPE_EXPENSIVEDIPOSABLEGOODS.equals(disposableGoods.getGoodsType())){ - obj.put("success", false); - obj.put("error", String.format("条码为[%s]的高值耗材对应一次性物品不为高值耗材", barcode)); + obj.put(JSONUtil.JSON_KEY_MESSAGE, String.format("条码为[%s]的高值耗材对应一次性物品不为高值耗材", barcode)); return obj; } //需要判断发货单是否存在且发货科室与当前登录用户是否为同一个科室,否则给予提示 Long invoiceId = expensiveDisposablegoods.getInvoiceId(); if(invoiceId == null){ - obj.put("success", false); - obj.put("error", String.format("条码为[%s]的高值耗材发货单已被删除", barcode)); + obj.put(JSONUtil.JSON_KEY_MESSAGE, String.format("条码为[%s]的高值耗材发货单已被删除", barcode)); return obj; } Invoice invoice = getInvoiceById(invoiceId); if(invoice == null){ - obj.put("success", false); - obj.put("error", String.format("条码为[%s]的高值耗材发货单已被删除", barcode)); + obj.put(JSONUtil.JSON_KEY_MESSAGE, String.format("条码为[%s]的高值耗材发货单已被删除", barcode)); return obj; } @@ -4101,36 +4096,31 @@ if(CollectionUtils.isNotEmpty(goodsDepartShareConfigManager.getGoodsShareDepartList(currentOrgUnitCode))){ //判断包实例所属科室是否与当前用户登录科室配置物品共享 if(!goodsDepartShareConfigManager.canShareGoodsforTwoDepart(currentOrgUnitCode, expensiveDisposablegoods.getLocation())){ - obj.put("success", false); - obj.put("error", String.format("条码为[%s]的高值耗材所属科室为" + invoice.getDepart() + ",未配置与当前科室共用,不能录入使用记录!", barcode)); + obj.put(JSONUtil.JSON_KEY_MESSAGE, String.format("条码为[%s]的高值耗材所属科室为" + invoice.getDepart() + ",未配置与当前科室共用,不能录入使用记录!", barcode)); return obj; } }else{ //判断包实例所在位置与当前用户所在科室是否一致 if(!StringUtils.equals(currentOrgUnitCode, expensiveDisposablegoods.getLocation())){ - obj.put("success", false); - obj.put("error", String.format("条码为[%s]的高值耗材所属科室为" + invoice.getDepart() + ",未配置与当前科室共用,不能录入使用记录!", barcode)); + obj.put(JSONUtil.JSON_KEY_MESSAGE, String.format("条码为[%s]的高值耗材所属科室为" + invoice.getDepart() + ",未配置与当前科室共用,不能录入使用记录!", barcode)); return obj; } } Long disposableGoodsBatchId = expensiveDisposablegoods.getDisposableGoodsBatchID(); if(disposableGoodsBatchId == null){ - obj.put("success", false); - obj.put("error", String.format("条码为[%s]的高值耗材数据异常,批次定义id为空", barcode)); + obj.put(JSONUtil.JSON_KEY_MESSAGE, String.format("条码为[%s]的高值耗材数据异常,批次定义id为空", barcode)); return obj; } DisposableGoodsBatch batch = diposableGoodsManager.getDisposableGoodsBatchById(disposableGoodsBatchId); if(batch == null){ - obj.put("success", false); - obj.put("error", String.format("条码为[%s]的高值耗材批次定义已被删除", barcode)); + obj.put(JSONUtil.JSON_KEY_MESSAGE, String.format("条码为[%s]的高值耗材批次定义已被删除", barcode)); return obj; } //扫描时判断该高值耗材是否已录过使用记录(即在UseDisposableGoodsItem表存中,按barcode查询),保存时也要校验,防止多人同时操作同一条码。普通物品暂不用校验 if(CollectionUtils.isNotEmpty(getUseDiposableGoodsItemList(barcode))){ - obj.put("success", false); - obj.put("error", String.format("条码为[%s]的高值耗材已被使用,不能重复添加", barcode)); + obj.put(JSONUtil.JSON_KEY_MESSAGE, String.format("条码为[%s]的高值耗材已被使用,不能重复添加", barcode)); return obj; } @@ -4144,13 +4134,11 @@ DisposableGoodsBatch batch = (DisposableGoodsBatch) bd; DisposableGoods disposableGoods = batch.getDiposableGoods(); if(disposableGoods == null){ - obj.put("success", false); - obj.put("error", String.format("条码为[%s]的一次性物品定义已被删除", barcode)); + obj.put(JSONUtil.JSON_KEY_MESSAGE, String.format("条码为[%s]的一次性物品定义已被删除", barcode)); return obj; } if(DisposableGoods.TYPE_EXPENSIVEDIPOSABLEGOODS.equals(disposableGoods.getGoodsType())){ - obj.put("success", false); - obj.put("error", String.format("条码为[%s]的一次性物品为高值耗材,只能扫描高值耗材的条码", barcode)); + obj.put(JSONUtil.JSON_KEY_MESSAGE, String.format("条码为[%s]的一次性物品为高值耗材,只能扫描高值耗材的条码", barcode)); return obj; } obj.put("barcode", batch.getBarcode()); @@ -4160,16 +4148,19 @@ obj.put("tousseType", TousseItem.TYPE_DIPOSABLE_GOODS); } }else{ - obj.put("success", false); - obj.put("error", "条码" + barcode + "为无效条码!"); + obj.put(JSONUtil.JSON_KEY_MESSAGE, "条码" + barcode + "为无效条码!"); + return obj; } }else{ - obj.put("success", false); - obj.put("error", "条码不能为空!"); + obj.put(JSONUtil.JSON_KEY_MESSAGE, "条码不能为空!"); + return obj; } }catch(Exception e){ - + e.printStackTrace(); + obj.put(JSONUtil.JSON_KEY_MESSAGE, e.getMessage()); + return obj; } + obj.put(JSONUtil.JSON_KEY_SUCCESS, true); obj.put("olderTousseComfirmForUserecord", CssdUtils.getSystemSetConfigByNameBool("olderTousseComfirmForUserecord")); return obj; }