From 64b432916af9c9218ab3f3eca614e26c542142ae Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期二, 07 十一月 2023 15:47:13 +0800 Subject: [PATCH] bug --- server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordStandardServiceImpl.java | 37 +++++++++++++++++++++++++++++-------- 1 files changed, 29 insertions(+), 8 deletions(-) diff --git a/server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordStandardServiceImpl.java b/server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordStandardServiceImpl.java index 497bbb0..3b866da 100644 --- a/server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordStandardServiceImpl.java +++ b/server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordStandardServiceImpl.java @@ -26,6 +26,7 @@ import doumeemes.dao.ext.dto.*; import doumeemes.dao.ext.vo.*; import doumeemes.dao.system.model.SystemDictData; +import doumeemes.service.business.UnqualifiedRecordService; import doumeemes.service.business.WOutboundService; import doumeemes.service.ext.*; import doumeemes.service.system.SystemDictDataService; @@ -89,6 +90,9 @@ private UnqualifiedRecordMapper unqualifiedRecordMapper; @Autowired private CompanyUserExtMapper companyUserExtMapper; + + @Autowired + private UnqualifiedRecordService unqualifiedRecordService; @Transactional(rollbackFor = {BusinessException.class,Exception.class}) @Override @@ -304,9 +308,9 @@ wrModel.setFactoryId(mp.getFactoryId()); wrModel.setProcedureId(wStock.getProcedureId()); wrModel.setBatch(wStock.getBatch()); - wrModel.setUnitId(mp.getUnitId()); + wrModel.setUnitId(wStock.getUnitId()); wrModel.setPlanId(mp.getPlanId()); - //TODO 鐩墠浣跨敤宸ヨ涓婚敭瀛樺偍璐т綅涓婚敭 + //鐩墠浣跨敤宸ヨ涓婚敭瀛樺偍璐т綅涓婚敭 wrModel.setAppliancesId(wStock.getId()); wrModel.setMaterialDonetype(wStock.getQualityType()); wrModel.setMaterialProcedureId(wStock.getProcedureId()); @@ -1401,6 +1405,15 @@ public List<WorkorderRecord> getWorkorderRecordList(Integer workorderId) { List<WorkorderRecord> workorderRecordList = workorderRecordExtMapper.selectList( new QueryWrapper<WorkorderRecord>().eq("WORKORDER_ID",workorderId).eq("TYPE",Constants.ONE).eq("DELETED",Constants.ZERO).orderByAsc(" DONE_TYPE ")); + if(!Objects.isNull(workorderRecordList)&workorderRecordList.size()>Constants.ZERO){ + for (WorkorderRecord workorderRecord:workorderRecordList) { + //鏌ヨ涓嶈壇浜у嚭璁板綍璇︽儏 浜у嚭 涓� 涓嶈壇 鎵嶅瓨鍦ㄨ鏁版嵁 + if(workorderRecord.getType().equals(Constants.ONE)&&workorderRecord.getUnqualifiedNum().compareTo(BigDecimal.ZERO)>Constants.ZERO){ + List<UnqualifiedRecord> unqualifiedRecordList = unqualifiedRecordService.findJoinList(workorderRecord.getId()); + workorderRecord.setUnqualifiedRecordList(unqualifiedRecordList); + } + } + } return workorderRecordList; } @@ -1527,11 +1540,14 @@ workorderRecord = new WorkorderRecord(); workorderRecord.setDeleted(Constants.ZERO); if(!Objects.isNull(userId)){ - CompanyUser companyUser = companyUserExtMapper.selectById(userId); + CompanyUser companyUser = new CompanyUser(); + companyUser.setUserId(userId); + companyUser.setRootDepartId(loginUserInfo.getRootDepartment().getId()); + companyUser = companyUserExtMapper.selectOne(new QueryWrapper<>(companyUser).last("limit 1")); if(Objects.isNull(companyUser)){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝鏈煡璇㈠埌鐢熶骇浜哄憳瀵瑰簲浼佷笟鐢ㄦ埛淇℃伅锛�"); } - workorderRecord.setCreateUser(companyUser.getUserId()); + workorderRecord.setCreateUser(userId); workorderRecord.setRootDepartId(loginUserInfo.getRootDepartment().getId()); workorderRecord.setDepartId(loginUserInfo.getCurComDepartment().getId()); }else{ @@ -1555,18 +1571,23 @@ workorderRecord.setQualifiedNum(createWorkorderRecordDTO.getQualifiedNum()); //璁$畻宸ヨ祫淇℃伅 SalaryParam salaryParam = salaryParamMapper.selectOne(new QueryWrapper<SalaryParam>().eq("DELETED",Constants.ZERO).eq("MATERIAL_ID",workorderRecord.getMaterialId()) - .eq("DEPART_ID",workorderRecord.getFactoryId()).eq("PROCEDURE_ID",workorderRecord.getProcedureId()).eq("TYPE",workorderRecord.getSalaryType()).last(" limit 1 ")); - if(!Objects.isNull(salaryParam)&&!Objects.isNull(createWorkorderRecordDTO.getDuration())){ + .eq("DEPART_ID",workorderRecord.getFactoryId()).eq("PROCEDURE_ID",workorderRecord.getProcedureId()).eq("TYPE",createWorkorderRecordDTO.getType()).last(" limit 1 ")); + if(!Objects.isNull(salaryParam)){ workorderRecord.setSalaryPrice(salaryParam.getSalary()); workorderRecord.setSalaryType(salaryParam.getType()); workorderRecord.setSalaryUnqualified(salaryParam.getUnqualified()); + workorderRecord.setSalaryTimes(salaryParam.getTimes()); //璁′欢宸ヨ祫 if(salaryParam.getType().equals(Constants.ZERO)){ workorderRecord.setSalaryNum(salaryParam.getNum()); + workorderRecord.setDuration(createWorkorderRecordDTO.getDuration()); workorderRecord.setSalary(salaryParam.getSalary().multiply(salaryParam.getUnqualified()==Constants.ONE?num:createWorkorderRecordDTO.getQualifiedNum())); }else{ - workorderRecord.setDuration(createWorkorderRecordDTO.getDuration()); - workorderRecord.setSalary(BigDecimal.valueOf(createWorkorderRecordDTO.getDuration()).multiply(salaryParam.getSalary()).divide(new BigDecimal(3600),BigDecimal.ROUND_HALF_UP)); + if(!Objects.isNull(createWorkorderRecordDTO.getDuration())&&Constants.formatIntegerNum(createWorkorderRecordDTO.getDuration())>Constants.ZERO){ + workorderRecord.setSalaryNum(salaryParam.getNum()); + workorderRecord.setDuration(createWorkorderRecordDTO.getDuration()); + workorderRecord.setSalary(BigDecimal.valueOf(createWorkorderRecordDTO.getDuration()).multiply(salaryParam.getSalary()).divide(new BigDecimal(3600),BigDecimal.ROUND_HALF_UP)); + } } } //鎻掑叆宸ュ崟鎿嶄綔璁板綍锛屽苟涓斿垽鏂槸鍚︽洿鏀逛负宸ュ崟鐨勭姸鎬併�愮敓浜т腑銆� -- Gitblit v1.9.3