From e8a75a44bdc130e8b162351c3c94c01f3d8ada5e Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 10 八月 2023 17:58:00 +0800
Subject: [PATCH] 入库+发货

---
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/FinishedInspectServiceImpl.java |   78 +++++++++++++++++++++++++++++++++++++--
 1 files changed, 74 insertions(+), 4 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 6dca1e1..54eb966 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
@@ -1,18 +1,22 @@
 package com.yuanchu.mom.service.impl;
 
+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.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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yuanchu.mom.service.InspectionItemService;
 import com.yuanchu.mom.service.ProductService;
 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.List;
@@ -20,7 +24,7 @@
 
 /**
  * <p>
- *  鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
  * </p>
  *
  * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
@@ -41,11 +45,14 @@
     @Resource
     InspectUnacceptedMapper inspectUnacceptedMapper;
 
+    @Resource
+    RepertoryMapper repertoryMapper;
+
     @Override
     public Integer addProcessInspectionSheet(FinishedInspect finishedInspect) {
         finishedInspect.setType(0);
         int insert = finishedInspectMapper.insert(finishedInspect);
-        if (insert == 1){
+        if (insert == 1) {
             List<Map<String, Object>> maps = productService.selectProductList(finishedInspect.getSpecificationsId());
             inspectionItemService.insertList(finishedInspect.getId(), maps);
             return insert;
@@ -53,22 +60,85 @@
         return 0;
     }
 
+
     @Override
-    public Integer inspectionConclusion(Integer finishedInspectId, Integer result) {
+    @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())
                     .build();
             inspectUnacceptedMapper.insert(inspectUnaccepted);
+            /*鏂板鍗婃垚鍝�(1)搴撳瓨*/
+            //濡傛灉鍏ュ簱鐨勪俊鎭竴鏍峰彧鏈夊簱瀛樹笉涓�鏍�,鍒欏湪鍘熸潵鐨勫簱瀛樻暟閲忎笂鍔犱笂鐩稿簲鐨勬暟閲�
+            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, 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) {
+            //濡傛灉鍏ュ簱鐨勪俊鎭竴鏍峰彧鏈夊簱瀛樹笉涓�鏍�,鍒欏湪鍘熸潵鐨勫簱瀛樻暟閲忎笂鍔犱笂鐩稿簲鐨勬暟閲�
+            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) {
+                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();
+                repertoryMapper.insert(repertory);
+            }
         }
         return 1;
     }

--
Gitblit v1.9.3