From d17c089f1d7ff3be848b05161917346e7f664a1d Mon Sep 17 00:00:00 2001
From: mrzhssss <pro6@qq.com>
Date: 星期二, 26 四月 2022 15:17:53 +0800
Subject: [PATCH] #

---
 src/main/java/zy/cloud/wms/manager/controller/QualityController.java |   65 +++++++++++++++++++++++++++-----
 1 files changed, 54 insertions(+), 11 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..1c382eb 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/QualityController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/QualityController.java
@@ -6,7 +6,9 @@
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.core.common.*;
+import net.sf.jsqlparser.expression.DateTimeLiteralExpression;
 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 +54,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 +77,58 @@
 
     @RequestMapping(value = "/quality/add/auth")
     @ManagerAuth
+    @Transactional
     public R add(Quality 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";
+            }
+        }
+
+        quality.setBillNo(qcNo);
+        quality.setHostId(getHostId());
+        quality.setAuditStatus((short)0);
+        quality.setUpdateBy(getUserId());
+        quality.setUpdateTime(new Date());
+        quality.setCreateBy(getUserId());
         qualityService.insert(quality);
+
         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.setQualityId(quality.getId());
+                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());
+                qualityDetl.setHostId(getHostId());
+                qualityDetlService.insert(qualityDetl);
+                seq++;
+            }
+        } else {
+            return R.error("鍏ュ簱鍗曞彿涓嶅瓨鍦�");
         }
-        }
+
         return R.ok();
     }
 
@@ -116,6 +158,7 @@
         if (Cools.isEmpty(quality) || null==quality.getId()){
             return R.error();
         }
+        quality.setUpdateTime(new Date());
         qualityService.updateById(quality);
         return R.ok();
     }

--
Gitblit v1.9.1