From 58bccbc9d1a23c8184217317a9a37345d98883c2 Mon Sep 17 00:00:00 2001
From: 18516761980 <4761516tqsxp>
Date: 星期一, 28 三月 2022 15:44:07 +0800
Subject: [PATCH] .

---
 src/main/java/zy/cloud/wms/manager/controller/QualityController.java |   59 +++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 47 insertions(+), 12 deletions(-)

diff --git a/src/main/java/zy/cloud/wms/manager/controller/QualityController.java b/src/main/java/zy/cloud/wms/manager/controller/QualityController.java
index 6d0eb4f..e056708 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/QualityController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/QualityController.java
@@ -7,6 +7,7 @@
 import com.baomidou.mybatisplus.plugins.Page;
 import com.core.common.*;
 import org.apache.poi.ss.formula.functions.Now;
+import org.springframework.transaction.annotation.Transactional;
 import zy.cloud.wms.manager.entity.Quality;
 import zy.cloud.wms.manager.entity.QualityDetl;
 import zy.cloud.wms.manager.entity.Receive;
@@ -52,7 +53,11 @@
         EntityWrapper<Quality> wrapper = new EntityWrapper<>();
         excludeTrash(param);
         convert(param, wrapper);
-        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
+        if (!Cools.isEmpty(orderByField)){
+            wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
+        } else {
+            wrapper.orderBy("create_time",false);
+        }
         return R.ok(qualityService.selectPage(new Page<>(curr, limit), wrapper));
     }
 
@@ -71,22 +76,52 @@
 
     @RequestMapping(value = "/quality/add/auth")
     @ManagerAuth
+    @Transactional
     public R add(Quality quality) {
-        qualityService.insert(quality);
+        String qcNo = "";
+        if(!Cools.isEmpty(quality.getBillNo())) {
+            qcNo = quality.getBillNo();
+        } else {
+            String sheetNo = "QUA-" + new SimpleDateFormat("yyyyMMdd").format(new Date()) + "-";
+            String currNum = qualityService.getCurrNum(sheetNo);
+            if (!Cools.isEmpty(currNum)) {
+                String[] split = currNum.split("-");
+                if (split.length < 3) {
+                    qcNo = sheetNo + "0001";
+                } else {
+                    Integer newNum = Integer.parseInt(split[2]) + 1;
+                    String format = AddZero.addZeroForNum(newNum + "", 4);
+                    qcNo = sheetNo + format;
+                }
+            } else {
+                qcNo = sheetNo + "0001";
+            }
+        }
+
         Wrapper<ReceiveDetl> wrapper = new EntityWrapper<ReceiveDetl>();
         List<ReceiveDetl> list = receiveDetlService.selectList(wrapper.eq("order_no",quality.getUuid() ));
+        int seq = 1;
         if(list.size()>0){
-        for(ReceiveDetl detl:list){
-            QualityDetl qualityDetl = new QualityDetl();
-            qualityDetl.setAnfme(detl.getAnfme());
-            qualityDetl.setBillNo(quality.getBillNo());
-            qualityDetl.setOrderNo(detl.getOrderNo());
-            qualityDetl.setMatnr(detl.getMatnr());
-            qualityDetl.setMaktx(detl.getMaktx());
-            qualityDetl.setProdDate(new Date());
-            qualityDetlService.insert(qualityDetl);
+            for(ReceiveDetl detl:list){
+                QualityDetl qualityDetl = new QualityDetl();
+                qualityDetl.setAnfme(detl.getAnfme());
+                qualityDetl.setBillNo(qcNo);
+                qualityDetl.setSeqNo(seq);
+                qualityDetl.setOrderNo(detl.getOrderNo());
+                qualityDetl.setMatnr(detl.getMatnr());
+                qualityDetl.setMaktx(detl.getMaktx());
+                qualityDetl.setProdDate(new Date());
+                qualityDetlService.insert(qualityDetl);
+                seq++;
+            }
+        } else {
+            return R.error("鍏ュ簱鍗曞彿涓嶅瓨鍦�");
         }
-        }
+
+        quality.setBillNo(qcNo);
+        quality.setAuditStatus((short)0);
+        qualityService.insert(quality);
+
         return R.ok();
     }
 

--
Gitblit v1.9.1