Index: ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java =================================================================== diff -u -r17286 -r17314 --- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 17286) +++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 17314) @@ -1523,14 +1523,18 @@ // 只能登记已发货的器械包 if (TousseInstance.STATUS_USED.equals(tousseInstance.getStatus())) { return JSONUtil.buildErrorMsgJsonResult("器械包已使用,不能重复登记"); - } - if (TousseInstance.STATUS_RETURNED.equals(tousseInstance.getStatus())) { + }else if (TousseInstance.STATUS_RETURNED.equals(tousseInstance.getStatus())) { return JSONUtil.buildErrorMsgJsonResult("器械包已退货,不能登记"); + }else if (TousseInstance.STATUS_WAIT_FOR_RECALL.equals(tousseInstance.getStatus()) + || TousseInstance.STATUS_RECALLED.equals(tousseInstance.getStatus())) { + return JSONUtil.buildErrorMsgJsonResult("该器械包不能被使用,已被召回!"); + } else if(!tousseInstance.canUse()){ + return JSONUtil.buildErrorMsgJsonResult("该器械包状态为" + tousseInstance.getStatus() + ",不能录入使用记录!"); } - if (!TousseInstance.STATUS_SHIPPED.equals(tousseInstance.getStatus()) - && !TousseInstance.STATUS_SIGNED.equals(tousseInstance.getStatus())) { - return JSONUtil.buildErrorMsgJsonResult("器械包未发货,不能登记"); - } +// if (!TousseInstance.STATUS_SHIPPED.equals(tousseInstance.getStatus()) +// && !TousseInstance.STATUS_SIGNED.equals(tousseInstance.getStatus())) { +// return JSONUtil.buildErrorMsgJsonResult("器械包未发货,不能登记"); +// } // 验证是否过期 Date validUntil = tousseInstance.getValidUntil(); if (validUntil == null) { @@ -1540,11 +1544,11 @@ return JSONUtil.buildErrorMsgJsonResult("器械包已过期,不能登记"); } // 检测当前器械包有没有被召回 - if (tousseInstanceManager - .checkTousseInstanceHasRecallByTousseInstanceId(tousseInstance - .getId())) { - return JSONUtil.buildErrorMsgJsonResult("器械包已被召回,不能登记"); - } +// if (tousseInstanceManager +// .checkTousseInstanceHasRecallByTousseInstanceId(tousseInstance +// .getId())) { +// return JSONUtil.buildErrorMsgJsonResult("器械包已被召回,不能登记"); +// } List acceptStatus = new ArrayList<>(); boolean notSignedItemsCanRegistUseRecord = CssdUtils.getSystemSetConfigByNameBool("notSignedItemsCanRegistUseRecord"); Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java =================================================================== diff -u -r17275 -r17314 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 17275) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 17314) @@ -387,7 +387,7 @@ .valueOf(tousseInstance.getUseRecord_id()))) { continue; } - if (tousseInstance.isShippedStatus() || tousseInstance.isSigned()) { + if (tousseInstance.canUse()) { continue; } else { JSONUtil.addSuccess(json, false); Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseInstance.java =================================================================== diff -u -r17148 -r17314 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseInstance.java (.../TousseInstance.java) (revision 17148) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseInstance.java (.../TousseInstance.java) (revision 17314) @@ -1116,6 +1116,13 @@ } return true; } + /** + * 判断是否可以录使用记录 + * @return + */ + public boolean canUse(){ + return isShippedStatus() || isSigned(); + } // 校验关联信息是否正确,使用记录 @Transient