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 |  110 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 105 insertions(+), 5 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 9a105dd..1c382eb 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/QualityController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/QualityController.java
@@ -5,17 +5,25 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
-import com.core.common.DateUtils;
+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;
+import zy.cloud.wms.manager.entity.ReceiveDetl;
+import zy.cloud.wms.manager.service.QualityDetlService;
 import zy.cloud.wms.manager.service.QualityService;
 import com.core.annotations.ManagerAuth;
-import com.core.common.BaseRes;
-import com.core.common.Cools;
-import com.core.common.R;
 import zy.cloud.wms.common.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import zy.cloud.wms.manager.service.ReceiveDetlService;
+import zy.cloud.wms.manager.utils.AddZero;
 
+import java.text.DecimalFormat;
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 @RestController
@@ -23,6 +31,12 @@
 
     @Autowired
     private QualityService qualityService;
+    @Autowired
+    private ReceiveDetlService receiveDetlService;
+    @Autowired
+    private QualityDetlService qualityDetlService;
+    @Autowired
+    private SnowflakeIdWorker snowflakeIdWorker;
 
     @RequestMapping(value = "/quality/{id}/auth")
     @ManagerAuth
@@ -40,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));
     }
 
@@ -59,9 +77,79 @@
 
     @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.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();
+    }
+
+    @RequestMapping("/quality/orderNo/init1")
+    @ManagerAuth(memo = "鐢熸垚鍗曟嵁缂栧彿")
+    public R initOrderNo() {
+        String billNo = "QC-" + new SimpleDateFormat("yyyyMMdd").format(new Date())+"-";
+        String currNum = qualityService.getCurrNum(billNo);
+        String orderNo=null;
+        if (!Cools.isEmpty(currNum)) {
+            String[] split = currNum.split("-");
+            if (split.length < 2){
+                orderNo= billNo + "0001";
+            }
+            Integer newNum = Integer.parseInt(split[2]) +1;
+            String format = AddZero.addZeroForNum(newNum + "", 4);
+            orderNo = billNo + format;
+        }else {
+            orderNo = billNo + "0001";
+        }
+            return R.ok().add(orderNo);
     }
 
 	@RequestMapping(value = "/quality/update/auth")
@@ -70,6 +158,7 @@
         if (Cools.isEmpty(quality) || null==quality.getId()){
             return R.error();
         }
+        quality.setUpdateTime(new Date());
         qualityService.updateById(quality);
         return R.ok();
     }
@@ -83,6 +172,17 @@
         return R.ok();
     }
 
+//    @RequestMapping("/orderNo/init1")
+//    @ManagerAuth(memo = "鐢熸垚鍗曟嵁缂栧彿")
+//    public R initOrderNo() {
+//        long nextId = snowflakeIdWorker.nextId();
+//        String orderNo = "QC-" + String.valueOf(nextId).substring(0, 15);
+//        if (qualityService.selectByOrderNo(orderNo, getHostId()) != null) {
+//            return R.error("鎶辨瓑锛屽崟鎹紪鍙峰凡瀛樺湪");
+//        }
+//        return R.ok().add(orderNo);
+//    }
+
     @RequestMapping(value = "/quality/export/auth")
     @ManagerAuth
     public R export(@RequestBody JSONObject param){

--
Gitblit v1.9.1