Commit d6c001b087e633bd67621835ad848c969086a145

Authored by dongqin
1 parent c76314e9f7

效验版本号唯一

Showing 1 changed file with 33 additions and 0 deletions

platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ApplyOrderFacade.java View file @ d6c001b
... ... @@ -389,6 +389,11 @@
389 389 public BaseResponse addOneSieveApplyOrder(SieveApplyOrderAddRequest sieveApplyOrderAddRequest, Integer userId) {
390 390 SieveApplyOrderModel sieveApplyOrderModel = sieveApplyOrderAddRequest.convertToDataModel();
391 391  
  392 + boolean existTwo = exists(sieveApplyOrderModel);
  393 + if (existTwo) {
  394 + return new BaseResponse().setErrorcode(ErrorCodeConstants.PARAMETER_ERROR).setErrormsg("标本号重复");
  395 + }
  396 +
392 397 //修改
393 398 if (StringUtils.isNotEmpty(sieveApplyOrderAddRequest.getId())) {
394 399 sieveApplyOrderModel.setId(sieveApplyOrderAddRequest.getId());
... ... @@ -531,6 +536,34 @@
531 536  
532 537  
533 538 return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功");
  539 + }
  540 +
  541 + /**
  542 + * 检查标本号是否已存在
  543 + *
  544 + * @param sieveApplyOrderModel
  545 + * @return true 是 false 否
  546 + */
  547 + private boolean exists(SieveApplyOrderModel sieveApplyOrderModel) {
  548 + String number = sieveApplyOrderModel.getNumber();
  549 + List<SieveApplyOrderModel> sieveApplyOrderModels = mongoTemplate.find(Query.query(Criteria.where("number").is(number).and("yn").is(YnEnums.YES.getId())), SieveApplyOrderModel.class);
  550 + if (CollectionUtils.isNotEmpty(sieveApplyOrderModels)) {
  551 + int size = sieveApplyOrderModels.size();
  552 + if (size > 1) {
  553 + return true;
  554 + }
  555 + SieveApplyOrderModel model = sieveApplyOrderModels.get(0);
  556 + String modelIdDB = model.getId();
  557 + String modelIdWeb = sieveApplyOrderModel.getId();
  558 + if (StringUtils.isNotEmpty(modelIdWeb)) {
  559 + if (!modelIdDB.equals(modelIdWeb)) {
  560 + return true;
  561 + }
  562 + } else {
  563 + return true;
  564 + }
  565 + }
  566 + return false;
534 567 }
535 568  
536 569 /**