diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ApplyOrderFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ApplyOrderFacade.java index 2c143f8..0bc2951 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ApplyOrderFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ApplyOrderFacade.java @@ -389,6 +389,11 @@ public class ApplyOrderFacade { public BaseResponse addOneSieveApplyOrder(SieveApplyOrderAddRequest sieveApplyOrderAddRequest, Integer userId) { SieveApplyOrderModel sieveApplyOrderModel = sieveApplyOrderAddRequest.convertToDataModel(); + boolean existTwo = exists(sieveApplyOrderModel); + if (existTwo) { + return new BaseResponse().setErrorcode(ErrorCodeConstants.PARAMETER_ERROR).setErrormsg("标本号重复"); + } + //修改 if (StringUtils.isNotEmpty(sieveApplyOrderAddRequest.getId())) { sieveApplyOrderModel.setId(sieveApplyOrderAddRequest.getId()); @@ -534,6 +539,34 @@ public class ApplyOrderFacade { } /** + * 检查标本号是否已存在 + * + * @param sieveApplyOrderModel + * @return true 是 false 否 + */ + private boolean exists(SieveApplyOrderModel sieveApplyOrderModel) { + String number = sieveApplyOrderModel.getNumber(); + List sieveApplyOrderModels = mongoTemplate.find(Query.query(Criteria.where("number").is(number).and("yn").is(YnEnums.YES.getId())), SieveApplyOrderModel.class); + if (CollectionUtils.isNotEmpty(sieveApplyOrderModels)) { + int size = sieveApplyOrderModels.size(); + if (size > 1) { + return true; + } + SieveApplyOrderModel model = sieveApplyOrderModels.get(0); + String modelIdDB = model.getId(); + String modelIdWeb = sieveApplyOrderModel.getId(); + if (StringUtils.isNotEmpty(modelIdWeb)) { + if (!modelIdDB.equals(modelIdWeb)) { + return true; + } + } else { + return true; + } + } + return false; + } + + /** * 调用华大接口 * * @param sieveApplyOrderModel