From d7fe8ae3888c8e2b1eea3c1e3769be0d42a21cc9 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期一, 16 十月 2023 09:03:47 +0800 Subject: [PATCH] Merge branch '1.0.3' of http://139.186.142.91:10010/r/productDev/dmMes into 1.0.3 --- server/src/main/java/doumeemes/service/ext/impl/PlansExtServiceImpl.java | 52 ++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 40 insertions(+), 12 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 64c293b..c3ecd72 100644 --- a/server/src/main/java/doumeemes/service/ext/impl/PlansExtServiceImpl.java +++ b/server/src/main/java/doumeemes/service/ext/impl/PlansExtServiceImpl.java @@ -92,6 +92,8 @@ private WorkorderRecordStandardService workorderRecordStandardService; @Autowired private UnqualifiedRecordMapper unqualifiedRecordMapper; + @Autowired + private CompanyUserExtMapper companyUserExtMapper; @Override public PlansExtListVO findById(Integer id){ @@ -125,7 +127,7 @@ if(user.getProcedureIds()!=null){ pageWrap.setProcedureIds(user.getProcedureIds()); }else{ - pageWrap.setUserId(user.getId()); + pageWrap.setCreateUser(user.getId()); } List<PlansExtListVO> result = plansExtMapper.selectList(pageWrap); if(result==null||result.size()==0){ @@ -188,12 +190,6 @@ pageWrap.getModel().setCreateUser(user.getId()); //鍚﹀垯璧版暟鎹潈闄� pageWrap.getModel().setDepartIds(dataPermission); - /* if(dataPermission.size() == 0){ - //鍙兘鐪嬭嚜宸辩殑 - pageWrap.getModel().setCreateUser(user.getId()); - }else{ - - }*/ } if(user.getProcedureIds()!=null){ pageWrap.getModel().setProcedureIds(user.getProcedureIds()); @@ -639,7 +635,7 @@ List<WorkorderHistory> whList = new ArrayList<>(); Workorder order = new Workorder(); order.setCreateTime(DateUtil.getCurrentDate()); - order.setCreateUser(user.getId()); + order.setCreateUser(param.getCreateUser()); order.setDeleted(Constants.ZERO); order.setStatus(Constants.WORKORDER_STATUS.create); order.setPlanId(mp.getId()); @@ -668,9 +664,9 @@ order.setQrcodeId(barcodeParamExtService.getByType(user.getCompany().getId(),mp.getDepartId(),Constants.BARCODEPARAM_TYPE.workorder)); order.setProUserList(param.getProUserList()); order.setProGroupId(param.getProGroupId()); - //鏌ヨ鐢熶骇鐝粍鍜屼汉鍛樻槸鍚﹀悎娉� - checkUserAndGroup(order,mp,user); workorderExtMapper.insert(order); + //鏌ヨ鐢熶骇鐝粍鍜屼汉鍛樻槸鍚﹀悎娉� + checkUserAndGroupNew(order,mp,user); //宸ュ崟鍘嗗彶鏁版嵁 whList.add(WorkorderExtServiceImpl.initHistoryByModel(order,user.getId(),Constants.WORKORDER_HISTORY_STATUS.create)); workorderHistoryExtMapper.insertBatch(whList); @@ -681,6 +677,34 @@ workorderUserExtMapper.insert(wu); } return order; + } + + + private void checkUserAndGroupNew(Workorder param, PlansExtListVO model,LoginUserInfo user) throws BusinessException{ + QueryDeviceExtDTO ud = new QueryDeviceExtDTO(); + ud.setDeleted(Constants.ZERO); + ud.setId(param.getProGroupId()); + ud.setRootDepartId(user.getRootDepartment().getId()); + //鏌ヨ鐢ㄦ埛璁惧鍏宠仈鍏崇郴 + DeviceExtListVO d = deviceExtMapper.selectByModel( ud ); + if(d == null){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝鐢熶骇璁惧淇℃伅涓嶆纭紝璇峰埛鏂伴〉闈㈤噸璇曪紒"); + } + + List<WorkorderUser> userList = new ArrayList<>(); + for(Integer userId : param.getProUserList()){ + WorkorderUser u = new WorkorderUser(); + u.setProUserId(userId); + u.setPlanId(model.getId()); + u.setCreateUser(user.getId()); + u.setDeleted(Constants.ZERO); + u.setCreateTime(DateUtil.getCurrentDate()); + u.setRootDepartId(model.getRootDepartId()); + u.setDepartId(model.getDepartId()); + userList.add(u); + } + param.setWorkorderUserList(userList); + } private void checkUserAndGroup(Workorder param, PlansExtListVO model,LoginUserInfo user) throws BusinessException{ @@ -1587,6 +1611,8 @@ public void autoWorkReport(LoginUserInfo user, AutoWorkReportDTO autoWorkReportDTO){ if(Objects.isNull(autoWorkReportDTO) || Objects.isNull(autoWorkReportDTO.getCreateWorkorderRecordDTO()) + || Objects.isNull(autoWorkReportDTO.getProUserList()) + || Objects.isNull(autoWorkReportDTO.getProUserList().size()==0) || Objects.isNull(autoWorkReportDTO.getCreateWorkorderRecordDTO().getUnQualifiedNum())|| autoWorkReportDTO.getCreateWorkorderRecordDTO().getUnQualifiedNum().compareTo(BigDecimal.ZERO) < Constants.ZERO || Objects.isNull(autoWorkReportDTO.getCreateWorkorderRecordDTO().getQualifiedNum())|| autoWorkReportDTO.getCreateWorkorderRecordDTO().getQualifiedNum().compareTo(BigDecimal.ZERO) < Constants.ZERO){ throw new BusinessException(ResponseStatus.BAD_REQUEST); @@ -1614,7 +1640,7 @@ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍙傛暟閿欒锛氫骇鍑烘暟鎹�"); } //宸ュ崟宸插垎閰嶆暟閲� - Integer produceNum = workorderList.stream().map(s -> s.getPlanNum()).reduce(Constants.ZERO, Integer::sum); + Integer produceNum = workorderList.stream().map(s -> s.getUnqualifiedNum() + s.getQualifiedNum()).reduce(Constants.ZERO, Integer::sum); Integer surplusNum = plans.getNum() - produceNum; if(num.compareTo(BigDecimal.valueOf(surplusNum))>0){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瓒呭嚭褰撳墠宸ュ簭璁″垝鍙姤宸ユ暟閲�"); @@ -1622,6 +1648,8 @@ Workorder param = new Workorder(); param.setPlanId(autoWorkReportDTO.getPlansId()); param.setPlanDate(new Date()); +// CompanyUser companyUser= companyUserExtMapper.selectById(autoWorkReportDTO.getProUserList().get(Constants.ZERO)); + param.setCreateUser(autoWorkReportDTO.getProUserList().get(Constants.ZERO)); param.setProGroupId(autoWorkReportDTO.getProGroupId()); param.setProUserList(autoWorkReportDTO.getProUserList()); param.setPlanNum(num.intValue()); @@ -1638,7 +1666,7 @@ } //宸ュ崟浜у嚭璁板綍 autoWorkReportDTO.getCreateWorkorderRecordDTO().setWorkorderId(workorder.getId()); - WorkorderRecord workorderRecord = workorderRecordStandardService.createWorkorderRecord(autoWorkReportDTO.getCreateWorkorderRecordDTO(),user); + WorkorderRecord workorderRecord = workorderRecordStandardService.createWorkorderRecord(autoWorkReportDTO.getCreateWorkorderRecordDTO(),user,autoWorkReportDTO.getProUserList().get(Constants.ZERO)); //宸ュ崟鎶ュ伐 workorderRecordStandardService.comfirmDone(workorder,false); //鏇存柊宸ュ崟鐘舵�� -- Gitblit v1.9.3