From 1f4e7d0f73a73e7350cf5a1df279d5f30904c5d5 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 06 十二月 2023 08:41:32 +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