From 68f6642d4d1fff10c6bd898d69dd7bff27adbc16 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期日, 24 九月 2023 15:18:29 +0800
Subject: [PATCH] 修改2.0   9.24

---
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/FinishedInspectServiceImpl.java |  204 +++++++++++++++++++++++++++++---------------------
 1 files changed, 117 insertions(+), 87 deletions(-)

diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/FinishedInspectServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/FinishedInspectServiceImpl.java
index af1bd3e..d06c736 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/FinishedInspectServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/FinishedInspectServiceImpl.java
@@ -3,24 +3,24 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.yuanchu.mom.mapper.InspectUnacceptedMapper;
-import com.yuanchu.mom.mapper.RepertoryMapper;
-import com.yuanchu.mom.pojo.FinishedInspect;
-import com.yuanchu.mom.mapper.FinishedInspectMapper;
-import com.yuanchu.mom.pojo.InspectUnaccepted;
-import com.yuanchu.mom.pojo.Repertory;
-import com.yuanchu.mom.service.FinishedInspectService;
+import com.yuanchu.mom.mapper.*;
+import com.yuanchu.mom.pojo.*;
+import com.yuanchu.mom.pojo.vo.FinishedInspectVo;
+import com.yuanchu.mom.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.yuanchu.mom.service.InspectionItemService;
-import com.yuanchu.mom.service.ProductService;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -34,13 +34,19 @@
 public class FinishedInspectServiceImpl extends ServiceImpl<FinishedInspectMapper, FinishedInspect> implements FinishedInspectService {
 
     @Resource
-    private FinishedInspectMapper finishedInspectMapper;
+    FinishedInspectMapper finishedInspectMapper;
 
-    @Autowired
-    private ProductService productService;
+    @Resource
+    ManualTechnologyMapper manualTechnologyMapper;
 
-    @Autowired
-    private InspectionItemService inspectionItemService;
+    @Resource
+    ManualProductService manualProductService;
+
+    @Resource
+    InspectionItemService inspectionItemService;
+
+    @Resource
+    InspectionItemMapper inspectionItemMapper;
 
     @Resource
     InspectUnacceptedMapper inspectUnacceptedMapper;
@@ -48,104 +54,128 @@
     @Resource
     RepertoryMapper repertoryMapper;
 
+    //鏂板妫�楠屽崟-->鏍规嵁璁㈠崟鍙烽�夋嫨浜у搧淇℃伅
     @Override
-    public Integer addProcessInspectionSheet(FinishedInspect finishedInspect) {
-        finishedInspect.setType(0);
-        int insert = finishedInspectMapper.insert(finishedInspect);
-        if (insert == 1) {
-            List<Map<String, Object>> maps = productService.selectProductList(finishedInspect.getSpecificationsId());
-            inspectionItemService.insertList(finishedInspect.getId(), maps);
-            return insert;
-        }
-        return 0;
+    public List<Map<String, Object>> chooseMater(String orderNumber) {
+        return finishedInspectMapper.chooseMater(orderNumber);
+    }
+
+    //鏂板鎴愬搧妫�楠屽崟
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Integer addProcessInspectionSheet(String userId, FinishedInspectVo finishedInspectVo) {
+        //鏍规嵁鐢熶骇璁㈠崟id鏌ヨ缂栧埗宸ュ簭鐨勬渶鍚庝竴閬撳伐鑹�
+        List<ManualTechnology> manualTechnologyList = manualTechnologyMapper.selAllByMoId(finishedInspectVo.getId());
+        //鑾峰彇缂栧埗宸ヨ壓鏈�鍚庝竴閬撳伐鑹虹殑id
+        Integer mtId = manualTechnologyList.get(0).getId();
+        /*鏂板鎴愬搧妫�楠屽崟*/
+        FinishedInspect finishedInspect = new FinishedInspect();
+        finishedInspect.setUserId(Integer.parseInt(userId));
+        finishedInspect.setOrderNumber(finishedInspectVo.getOrderNumber());
+        finishedInspect.setCustomerName(finishedInspectVo.getPrname());
+        finishedInspect.setProjectName(finishedInspectVo.getSname());
+        finishedInspect.setQualityTraceability(finishedInspectVo.getQualityTraceability());
+        finishedInspect.setUnit(finishedInspectVo.getUnit());
+        finishedInspect.setQuantity(finishedInspectVo.getQuantity());
+        finishedInspect.setSpecificationsModel(finishedInspectVo.getSpecificationsModel());
+        finishedInspect.setMaterial(finishedInspectVo.getMaterial());
+        finishedInspect.setMaterialCode(finishedInspectVo.getMcode());
+        //finishedInspect.setTechId(technologyId);
+        finishedInspectMapper.insert(finishedInspect);
+        /*鎵归噺鏂板鎴愬搧妫�楠岄」鐩崟*/
+        List<ManualProduct> manualProductList = manualProductService.selByMtid(mtId);
+        List<InspectionItem> inspectionItemList = manualProductList.stream().map(manualProduct -> {
+            InspectionItem inspectionItem = new InspectionItem();
+            BeanUtils.copyProperties(manualProductList, inspectionItem);
+            inspectionItem.setId(null);
+            inspectionItem.setCreateTime(new Date());
+            inspectionItem.setUpdateTime(new Date());
+            inspectionItem.setInspectId(finishedInspect.getId());
+            inspectionItem.setType(2);//鎴愬搧
+            return inspectionItem;
+        }).collect(Collectors.toList());
+        inspectionItemService.saveBatch(inspectionItemList);
+        return finishedInspect.getId();
     }
 
 
+    //涓婃姤(鏇存柊妫�楠岀姸鎬�)
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Integer inspectionConclusion(String username, Integer finishedInspectId, Integer result) {
-        //鏇存柊妫�楠屽崟閲岄潰鐨勬楠岀粨璁�
-        LambdaUpdateWrapper<FinishedInspect> updateWrapper = new LambdaUpdateWrapper<>();
-        updateWrapper.eq(FinishedInspect::getId, finishedInspectId);
-        updateWrapper.set(FinishedInspect::getResult, result);
-        finishedInspectMapper.update(new FinishedInspect(), updateWrapper);
-        //濡傛灉妫�楠岀粨璁轰负涓嶅悎鏍�,鍒欓渶瑕佹柊澧炰笉鍚堟牸妫�楠屽崟,杩橀渶瑕佹柊澧炲崐鎴愬搧搴撳瓨
-        FinishedInspect finishedInspect = finishedInspectMapper.selectById(finishedInspectId);
-        if (result == 0) {
-            /*鏂板涓嶅悎鏍兼楠屽崟*/
-            InspectUnaccepted inspectUnaccepted = InspectUnaccepted.builder()
-                    .reason(finishedInspect.getProjectName() + "涓嶅悎鏍�")  //鏆備笖瀹氫箟涓哄伐绋嬪悕绉颁笉鍚堟牸
-                    .rawInspectId(finishedInspectId)
-                    .type(finishedInspect.getType())
+    public String updateFinishInspectsById(String username, Integer id,Integer number) {
+        /*鏇存柊妫�楠屽崟閲岄潰鐨勬楠岀粨璁�*/
+        //鍏堝垽鏂楠岀粨鏋�
+        List<Integer> results = inspectionItemMapper.getResult(id, 2);
+        int count = 0;
+        for (Integer result : results) {
+            if (result != null && result == 1) {
+                count++;
+            }
+        }
+        FinishedInspect finishedInspect = finishedInspectMapper.selectById(id);
+        //濡傛灉妫�楠岄」鐩腑鐨勭粨璁哄寘鍚笉鍚堟牸鍒欐楠屽崟涓嶅悎鏍�
+        if (results.contains(0)) {
+            finishedInspect.setResult(0);//涓嶅悎鏍�
+            //鏇存柊妫�楠屽崟
+            finishedInspectMapper.updateById(finishedInspect);
+        } else if (count == results.size()) {
+            finishedInspect.setResult(1);//鍚堟牸
+            finishedInspectMapper.updateById(finishedInspect);
+        } else return "椤圭洰鏈楠屽畬!";
+        /*濡傛灉妫�楠岀粨璁轰负涓嶅悎鏍�,鍒欓渶瑕佹柊澧炰笉鍚堟牸妫�楠屽崟*/
+        if (finishedInspect.getResult() == 0) {
+            InspectUnaccepted finishUnaccepted = InspectUnaccepted.builder()
+                    .reason(finishedInspect.getMaterial() + "涓嶅悎鏍�")  //鏆備笖瀹氫箟涓轰骇鍝佸悕绉颁笉鍚堟牸
+                    .number(number)
+                    .rawInspectId(id)
+                    .type(1)        //绫诲瀷涓烘垚鍝佹楠�
                     .build();
-            inspectUnacceptedMapper.insert(inspectUnaccepted);
-            /*鏂板鍗婃垚鍝�(1)搴撳瓨*/
+            inspectUnacceptedMapper.insert(finishUnaccepted);
+        }
+        /*濡傛灉妫�楠岀粨璁轰负鍚堟牸,鍒欓渶瑕佹柊澧炲崐鎴愬搧搴撳瓨*/
+        if (finishedInspect.getResult() == 1) {
             //濡傛灉鍏ュ簱鐨勪俊鎭竴鏍峰彧鏈夊簱瀛樹笉涓�鏍�,鍒欏湪鍘熸潵鐨勫簱瀛樻暟閲忎笂鍔犱笂鐩稿簲鐨勬暟閲�
             LambdaQueryWrapper<Repertory> queryWrapper = new LambdaQueryWrapper<>();
             queryWrapper.eq(Repertory::getOrderCode, finishedInspect.getOrderNumber())
-                    .eq(Repertory::getCode, finishedInspect.getMaterialCode())
+                    .eq(Repertory::getQualityTraceability, finishedInspect.getQualityTraceability())
                     .eq(Repertory::getName, finishedInspect.getMaterial())
                     .eq(Repertory::getSpecifications, finishedInspect.getSpecificationsModel())
                     .eq(Repertory::getUnit, finishedInspect.getUnit())
                     .eq(Repertory::getType, 1);
             Repertory rep = repertoryMapper.selectOne(queryWrapper);
-            if (rep != null && rep.getCheckState()==1) {
-                rep.setNumber(rep.getNumber() + finishedInspect.getQuantity());
-                rep.setUserName(username);
-                repertoryMapper.updateById(rep);
-            } else {
-                //濡傛灉闄や簡搴撳瓨鍒殑淇℃伅鏈変换浣曚竴涓笉涓�鏍�,鍒欐柊澧炰竴鏉″崐鎴愬搧搴撳瓨
-                Repertory repertory = Repertory.builder()
-                        .orderCode(finishedInspect.getOrderNumber())
-                        .code(finishedInspect.getMaterialCode())
-                        .name(finishedInspect.getMaterial())
-                        .specifications(finishedInspect.getSpecificationsModel())
-                        .unit(finishedInspect.getUnit())
-                        .number(finishedInspect.getQuantity())
-                        .userName(username)
-                        .type(1)
-                        .checkState(1)
-                        .build();
-                repertoryMapper.insert(repertory);
-            }
-        }
-        //濡傛灉妫�楠屽悎鏍�,闇�瑕佹柊澧炴垚鍝�(0)搴撳瓨
-        if (result == 1) {
-            /*鏂板鎴愬搧(0)搴撳瓨*/
-            //濡傛灉鍏ュ簱鐨勪俊鎭竴鏍峰彧鏈夊簱瀛樹笉涓�鏍�,鍒欏湪鍘熸潵鐨勫簱瀛樻暟閲忎笂鍔犱笂鐩稿簲鐨勬暟閲�
-            LambdaQueryWrapper<Repertory> queryWrapper = new LambdaQueryWrapper<>();
-            queryWrapper.eq(Repertory::getOrderCode, finishedInspect.getOrderNumber())
-                    .eq(Repertory::getCode, finishedInspect.getMaterialCode())
-                    .eq(Repertory::getName, finishedInspect.getMaterial())
-                    .eq(Repertory::getSpecifications, finishedInspect.getSpecificationsModel())
-                    .eq(Repertory::getUnit, finishedInspect.getUnit())
-                    .eq(Repertory::getType, 0);
-            Repertory rep = repertoryMapper.selectOne(queryWrapper);
-            if (rep != null && rep.getCheckState()==1) {
+            if (rep != null) {
                 rep.setNumber(rep.getNumber() + finishedInspect.getQuantity());
                 rep.setUserName(username);
                 repertoryMapper.updateById(rep);
             } else {
                 //濡傛灉闄や簡搴撳瓨鍒殑淇℃伅鏈変换浣曚竴涓笉涓�鏍�,鍒欐柊澧炰竴鏉℃垚鍝佸簱瀛�
-                Repertory repertory = Repertory.builder()
-                        .orderCode(finishedInspect.getOrderNumber())
-                        .code(finishedInspect.getMaterialCode())
-                        .name(finishedInspect.getMaterial())
-                        .specifications(finishedInspect.getSpecificationsModel())
-                        .unit(finishedInspect.getUnit())
-                        .number(finishedInspect.getQuantity())
-                        .userName(username)
-                        .type(0)
-                        .checkState(1)
-                        .build();
+                Repertory repertory = new Repertory();
+                repertory.setOrderCode(finishedInspect.getOrderNumber());
+                repertory.setQualityTraceability(finishedInspect.getQualityTraceability());
+                repertory.setName(finishedInspect.getMaterial());
+                repertory.setSpecifications(finishedInspect.getSpecificationsModel());
+                repertory.setUnit(finishedInspect.getUnit());
+                repertory.setNumber(finishedInspect.getQuantity());
+                repertory.setUserName(username);
+                repertory.setType(1);//鍗婃垚鍝�
+                repertory.setCheckResult(1);//鏆傚畾涓嶅垹
                 repertoryMapper.insert(repertory);
             }
         }
-        return 1;
+        return "涓婃姤鎴愬姛!";
     }
 
+    //鍒嗛〉鏌ヨ鎴愬搧妫�楠屽崟鍒楄〃
     @Override
-    public IPage<Map<String, Object>> selectFinishedInspectPage(Page<Object> page, Integer inspectResult, String inspectDate, String inspectUsername) {
-        return finishedInspectMapper.selectFinishedInspectPage(page, inspectResult, inspectDate, inspectUsername);
+    public IPage<Map<String, Object>> selectFinishedInspectPage(Page<Object> page, Integer result, String material) {
+        return finishedInspectMapper.selectFinishedInspectPage(page, result, material);
     }
+
+    //鏍规嵁妫�楠屽崟id鏌ヨ鎴愬搧妫�楠屽崟璇︽儏
+    @Override
+    public List<Map<String, Object>> selectFinishInspectsListById(Integer id) {
+        return finishedInspectMapper.selectFinishInspectsListById(id);
+    }
+
+
 }

--
Gitblit v1.9.3