From e1ee1084bb6db4f8a87894109be1b7a9d216cfec Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期三, 16 八月 2023 18:29:35 +0800 Subject: [PATCH] 111 --- server/src/main/java/doumeemes/service/ext/impl/PlansExtServiceImpl.java | 48 +++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 39 insertions(+), 9 deletions(-) diff --git a/server/src/main/java/doumeemes/service/ext/impl/PlansExtServiceImpl.java b/server/src/main/java/doumeemes/service/ext/impl/PlansExtServiceImpl.java index 4bb8e2c..d283106 100644 --- a/server/src/main/java/doumeemes/service/ext/impl/PlansExtServiceImpl.java +++ b/server/src/main/java/doumeemes/service/ext/impl/PlansExtServiceImpl.java @@ -16,6 +16,7 @@ import doumeemes.core.utils.excel.EasyExcelUtil; import doumeemes.core.utils.redis.RedisUtil; import doumeemes.dao.business.PlansMapper; +import doumeemes.dao.business.UnqualifiedRecordMapper; import doumeemes.dao.business.WorkorderMapper; import doumeemes.dao.business.dto.*; import doumeemes.dao.business.model.*; @@ -92,6 +93,8 @@ private WStockExtService wStockExtService; @Autowired private WorkorderRecordStandardService workorderRecordStandardService; + @Autowired + private UnqualifiedRecordMapper unqualifiedRecordMapper; @Override public PlansExtListVO findById(Integer id){ @@ -702,9 +705,9 @@ if(ulist == null){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝鐢熶骇浜哄憳淇℃伅涓嶆纭紝璇峰埛鏂伴〉闈㈤噸璇曪紒"); } - if(ulist.size() < param.getProUserList().size()){ - throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝瀛樺湪鐢熶骇浜哄憳淇℃伅涓嶆纭紝璇峰埛鏂伴〉闈㈤噸璇曪紒"); - } +// if(ulist.size() < param.getProUserList().size()){ +// throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝瀛樺湪鐢熶骇浜哄憳淇℃伅涓嶆纭紝璇峰埛鏂伴〉闈㈤噸璇曪紒"); +// } List<WorkorderUser> userList = new ArrayList<>(); for(UserDeviceExtListVO uModel : ulist){ WorkorderUser u = new WorkorderUser(); @@ -1587,7 +1590,7 @@ if(Objects.isNull(plans)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌宸ュ簭璁″垝鏁版嵁"); } - if(!(plans.getStatus().equals(Constants.PLAN_STATUS.create)||plans.getStatus().equals(Constants.PLAN_STATUS.distribute))){ + if(!(plans.getStatus().equals(Constants.PLAN_STATUS.create)||plans.getStatus().equals(Constants.PLAN_STATUS.publish)||plans.getStatus().equals(Constants.PLAN_STATUS.distribute))){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"宸ュ簭璁″垝宸叉祦杞紝鏃犳硶鎿嶄綔"); } if(plans.getPaused().equals(Constants.ONE)){ @@ -1598,7 +1601,7 @@ } //鏌ヨ宸ュ簭璁″垝宸插垎閰嶆暟閲� List<Workorder> workorderList = workorderMapper.selectList(new QueryWrapper<Workorder>().eq("PLAN_ID",plans.getId()) - .notIn("STATUS",7,8)); + .eq("STATUS",Constants.WORKORDER_STATUS.baogong)); //鏈浜у嚭鏁伴噺 BigDecimal num = autoWorkReportDTO.getCreateWorkorderRecordDTO().getQualifiedNum().add(autoWorkReportDTO.getCreateWorkorderRecordDTO().getUnQualifiedNum()); if(num.compareTo(BigDecimal.ZERO)<=Constants.ZERO){ @@ -1615,7 +1618,7 @@ param.setPlanDate(new Date()); param.setProGroupId(autoWorkReportDTO.getProGroupId()); param.setProUserList(autoWorkReportDTO.getProUserList()); - param.setPlanNum(plans.getNum()); + param.setPlanNum(num.intValue()); //鐢熸垚宸ュ崟淇℃伅 Workorder workorder = this.distributeDone(user,param,plans.getNum()); //宸ュ崟鎶曟枡璁板綍 @@ -1627,7 +1630,7 @@ } //宸ュ崟浜у嚭璁板綍 autoWorkReportDTO.getCreateWorkorderRecordDTO().setWorkorderId(workorder.getId()); - workorderRecordStandardService.createWorkorderRecord(autoWorkReportDTO.getCreateWorkorderRecordDTO(),user); + WorkorderRecord workorderRecord = workorderRecordStandardService.createWorkorderRecord(autoWorkReportDTO.getCreateWorkorderRecordDTO(),user); //宸ュ崟鎶ュ伐 workorderRecordStandardService.comfirmDone(workorder); //鏇存柊宸ュ崟鐘舵�� @@ -1639,8 +1642,35 @@ } } plansExtMapper.updateById(plans); - - + //瀛樺偍鎶ュ伐涓嶈壇椤规暟鎹� + if(autoWorkReportDTO.getCreateWorkorderRecordDTO().getUnQualifiedNum().compareTo(BigDecimal.ZERO)<=Constants.ZERO){ + if(!Objects.isNull(autoWorkReportDTO.getCreateUnqualifiedDTOList())&&autoWorkReportDTO.getCreateUnqualifiedDTOList().size()>Constants.ZERO){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓嶈壇椤归敊璇細璇锋鏌ヤ笉鑹」鏁版嵁"); + } + }else{ + List<CreateUnqualifiedDTO> createUnqualifiedDTOList = autoWorkReportDTO.getCreateUnqualifiedDTOList(); + BigDecimal unqualified = createUnqualifiedDTOList.stream().map(s -> s.getUnQualifiedNum()).reduce(BigDecimal.ZERO, BigDecimal::add); + if(unqualified.compareTo(autoWorkReportDTO.getCreateWorkorderRecordDTO().getUnQualifiedNum())!=Constants.ZERO){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓嶈壇椤归敊璇細璇锋鏌ヤ笉鑹」鏁版嵁"); + } + for (CreateUnqualifiedDTO createUnqualifiedDTO:createUnqualifiedDTOList) { + if(createUnqualifiedDTO.getUnQualifiedNum().compareTo(BigDecimal.ZERO)==Constants.ZERO + ||Objects.isNull(createUnqualifiedDTO.getCategoryId())){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓嶈壇椤归敊璇細璇锋鏌ヤ笉鑹」鏁版嵁"); + } + UnqualifiedRecord unqualifiedRecord = new UnqualifiedRecord(); + unqualifiedRecord.setDeleted(Constants.ZERO); + unqualifiedRecord.setCreateUser(user.getId()); + unqualifiedRecord.setCreateTime(new Date()); + unqualifiedRecord.setRootDepartId(plans.getRootDepartId()); + unqualifiedRecord.setDepartId(plans.getDepartId()); + unqualifiedRecord.setWorkorderId(workorder.getId()); + unqualifiedRecord.setRecordId(workorderRecord.getId()); + unqualifiedRecord.setCategoryId(createUnqualifiedDTO.getCategoryId()); + unqualifiedRecord.setUnqualifiedNum(createUnqualifiedDTO.getUnQualifiedNum()); + unqualifiedRecordMapper.insert(unqualifiedRecord); + } + } } -- Gitblit v1.9.3