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 +++++++++++---
 src/main/java/zy/cloud/wms/manager/controller/OrderController.java      |   24 +++--
 src/main/java/zy/cloud/wms/manager/service/impl/QualityServiceImpl.java |    2 
 src/main/java/zy/cloud/wms/manager/controller/ReceiveController.java    |    6 +
 src/main/resources/mapper/QualityMapper.xml                             |    2 
 src/main/webapp/static/js/quality/quality.js                            |    3 
 src/main/webapp/views/receive/matQuery.html                             |    6 
 src/main/java/zy/cloud/wms/manager/mapper/ReceiveMapper.java            |    1 
 src/main/java/zy/cloud/wms/manager/service/ReceiveService.java          |    6 +
 src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java    |   69 ++++++++++++++---
 src/main/webapp/views/quality/quality.html                              |   38 ++++----
 src/main/java/zy/cloud/wms/manager/service/impl/ReceiveServiceImpl.java |    2 
 12 files changed, 156 insertions(+), 62 deletions(-)

diff --git a/src/main/java/zy/cloud/wms/manager/controller/OrderController.java b/src/main/java/zy/cloud/wms/manager/controller/OrderController.java
index 294d5fd..29dd6ce 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/OrderController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/OrderController.java
@@ -64,11 +64,13 @@
         excludeTrash(param);
         convert(param, wrapper);
         hostEq(wrapper);
-//        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
-//        else {
-//            wrapper.orderBy("update_time", false);
-//        }
-        wrapper.orderBy("create_time",false);
+        if (!Cools.isEmpty(orderByField)){
+            wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
+        }
+        else {
+            wrapper.orderBy("create_time",false);
+        }
+
         Page<Order> orderPage = orderService.selectPage(new Page<>(curr, limit), wrapper);
         return R.ok(orderPage);
     }
@@ -205,6 +207,7 @@
      */
     @RequestMapping("/orders/wave/auth")
     @ManagerAuth
+    @Transactional
     public R createWave(@RequestBody List<Order> orders){
         /**
          * 鎺х涓庡垵濮嬪寲
@@ -216,11 +219,9 @@
             }
         }
 
-
         /**
          * 鐢熸垚娉㈡琛ㄥご
          */
-
         Wave wave = new Wave();
         wave.setHostId(getHostId());
         String s = UUID.randomUUID().toString().replace("-","");
@@ -229,12 +230,13 @@
         String currNum = waveService.getCurrNum(waveNo);
         if (!Cools.isEmpty(currNum)) {
             String[] split = currNum.split("-");
-            if (split.length < 2){
+            if (split.length < 3){
                 wave.setWaveNo(waveNo + "0001");
+            } else {
+                Integer newNum = Integer.parseInt(split[2]) + 1;
+                String format = AddZero.addZeroForNum(newNum + "", 4);
+                wave.setWaveNo(waveNo + format);
             }
-            Integer newNum = Integer.parseInt(split[2]) +1;
-            String format = AddZero.addZeroForNum(newNum + "", 4);
-            wave.setWaveNo(waveNo + format);
         }else {
             wave.setWaveNo(waveNo + "0001");
         }
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();
     }
 
diff --git a/src/main/java/zy/cloud/wms/manager/controller/ReceiveController.java b/src/main/java/zy/cloud/wms/manager/controller/ReceiveController.java
index ced059a..f17420f 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/ReceiveController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/ReceiveController.java
@@ -53,9 +53,11 @@
         excludeTrash(param);
         convert(param, wrapper);
         hostEq(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("update_time", false);
+            wrapper.orderBy("create_time", false);
         }
         return R.ok(receiveService.selectPage(new Page<>(curr, limit), wrapper));
     }
diff --git a/src/main/java/zy/cloud/wms/manager/mapper/ReceiveMapper.java b/src/main/java/zy/cloud/wms/manager/mapper/ReceiveMapper.java
index 74598ee..9f86c94 100644
--- a/src/main/java/zy/cloud/wms/manager/mapper/ReceiveMapper.java
+++ b/src/main/java/zy/cloud/wms/manager/mapper/ReceiveMapper.java
@@ -20,4 +20,5 @@
     Integer getPageCount(Map<String, Object> map);
 
     String getCurrNum(@Param("orderNo") String orderNo);
+
 }
diff --git a/src/main/java/zy/cloud/wms/manager/service/ReceiveService.java b/src/main/java/zy/cloud/wms/manager/service/ReceiveService.java
index 9b3d0b7..169c434 100644
--- a/src/main/java/zy/cloud/wms/manager/service/ReceiveService.java
+++ b/src/main/java/zy/cloud/wms/manager/service/ReceiveService.java
@@ -20,6 +20,10 @@
 
     Page<Receive> getPage(Page<Receive> page);
 
+    /**
+     * 寰楀埌褰撳墠鏃ユ湡鏈�澶у崟鍙�
+     * @param orderNo
+     * @return
+     */
     String getCurrNum(String orderNo);
-
 }
diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/QualityServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/QualityServiceImpl.java
index 4cce3ff..f48cdab 100644
--- a/src/main/java/zy/cloud/wms/manager/service/impl/QualityServiceImpl.java
+++ b/src/main/java/zy/cloud/wms/manager/service/impl/QualityServiceImpl.java
@@ -8,8 +8,10 @@
 
 @Service("qualityService")
 public class QualityServiceImpl extends ServiceImpl<QualityMapper, Quality> implements QualityService {
+
     @Override
     public String getCurrNum(String billNo) {
         return this.baseMapper.getCurrNum(billNo);
     }
+
 }
diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/ReceiveServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/ReceiveServiceImpl.java
index 5517a59..db426cc 100644
--- a/src/main/java/zy/cloud/wms/manager/service/impl/ReceiveServiceImpl.java
+++ b/src/main/java/zy/cloud/wms/manager/service/impl/ReceiveServiceImpl.java
@@ -51,8 +51,10 @@
         page.setTotal(baseMapper.getPageCount(page.getCondition()));
         return page;
     }
+
     @Override
     public String getCurrNum(String orderNo) {
         return this.baseMapper.getCurrNum(orderNo);
     }
+
 }
diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
index e1542c4..5f4586d 100644
--- a/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
+++ b/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
@@ -21,7 +21,9 @@
 import zy.cloud.wms.manager.entity.param.*;
 import zy.cloud.wms.manager.entity.result.StoPrintVo;
 import zy.cloud.wms.manager.service.*;
+import zy.cloud.wms.manager.utils.AddZero;
 
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 /**
@@ -588,22 +590,44 @@
         }
         return R.ok("鎷h揣鍗曞凡鍙栨秷");
     }
+
     @Override
     @Transactional
      public R  initReceive(InitOrderParam param, Long userId, Long hostId){
-        Receive order_no = receiveService.selectOne(new EntityWrapper<Receive>()
-                .eq("order_no", param.getOrderNo()));
-        if (order_no != null) {
-            return R.error("鎶辨瓑鍗曞彿宸插瓨鍦紝璇蜂慨鏀瑰崟鍙�");
+        String orderNo = "";
+        if(!Cools.isEmpty(param.getOrderNo())) {
+            Receive receive = receiveService.selectOne(new EntityWrapper<Receive>()
+                    .eq("order_no", param.getOrderNo()));
+            if (receive != null) {
+                return R.error("鎶辨瓑鍗曞彿宸插瓨鍦紝璇蜂慨鏀瑰崟鍙�");
+            }
+            orderNo = param.getOrderNo();
+        } else {
+            String sheetNo = "STO-" + new SimpleDateFormat("yyyyMMdd").format(new Date()) + "-";
+            String currNum = receiveService.getCurrNum(sheetNo);
+            if (!Cools.isEmpty(currNum)) {
+                String[] split = currNum.split("-");
+                if (split.length < 3) {
+                    orderNo = sheetNo + "0001";
+                } else {
+                    Integer newNum = Integer.parseInt(split[2]) + 1;
+                    String format = AddZero.addZeroForNum(newNum + "", 4);
+                    orderNo = sheetNo + format;
+                }
+            } else {
+                orderNo = sheetNo + "0001";
+            }
         }
+
         Date now = new Date();
         Item item = itemService.selectByName(param.getItem());
         Cstmr cstmr = cstmrService.selectByName(param.getCstmr());
         // 鏂板璁㈠崟琛ㄥご
-        order_no = new Receive(
+        Receive order_no = new Receive(
                 hostId,
                 String.valueOf(snowflakeIdWorker.nextId()),    // 缂栧彿[闈炵┖]
-                param.getOrderNo(),    // 璁㈠崟缂栧彿
+                orderNo,        // 璁㈠崟缂栧彿
+//                param.getOrderNo(),    // 璁㈠崟缂栧彿
                 param.getOrderTime(),    // 鍗曟嵁鏃ユ湡
                 param.getDocType(),    // 鍗曟嵁绫诲瀷
                 item==null?null:item.getId(),    // 椤圭洰缂栧彿
@@ -651,7 +675,8 @@
             ReceiveDetl receiveDetl = new ReceiveDetl();
             receiveDetl.setHostId(hostId);
             receiveDetl.setOrderId(order_no.getId());
-            receiveDetl.setOrderNo(param.getOrderNo());
+            receiveDetl.setOrderNo(orderNo);
+//            receiveDetl.setOrderNo(param.getOrderNo());
             receiveDetl.setAnfme(dto.getCount());
             receiveDetl.setCreateTime(now);
             receiveDetl.setCreateBy(userId);
@@ -680,12 +705,30 @@
     @Override
     @Transactional
     public R initOrder(InitOrderParam param, Long userId, Long hostId) {
-       // Receive order_no = receiveService.selectOne(new EntityWrapper<Receive>()
-        //        .eq("order_no", param.getOrderNo()));
-        Order order = orderService.selectByOrderNo(param.getOrderNo(), hostId);
-        if (order != null) {
-            return R.error("鎶辨瓑鍗曞彿宸插瓨鍦紝璇蜂慨鏀瑰崟鍙�");
+        String orderNo = "";
+        if(!Cools.isEmpty(param.getOrderNo())) {
+            Order order = orderService.selectByOrderNo(param.getOrderNo(), hostId);
+            if (order != null) {
+                return R.error("鎶辨瓑鍗曞彿宸插瓨鍦紝璇蜂慨鏀瑰崟鍙�");
+            }
+            orderNo = param.getOrderNo();
+        } else {
+            String sheetNo = "ORD-" + new SimpleDateFormat("yyyyMMdd").format(new Date()) + "-";
+            String currNum = receiveService.getCurrNum(sheetNo);
+            if (!Cools.isEmpty(currNum)) {
+                String[] split = currNum.split("-");
+                if (split.length < 3) {
+                    orderNo = sheetNo + "0001";
+                } else {
+                    Integer newNum = Integer.parseInt(split[2]) + 1;
+                    String format = AddZero.addZeroForNum(newNum + "", 4);
+                    orderNo = sheetNo + format;
+                }
+            } else {
+                orderNo = sheetNo + "0001";
+            }
         }
+
         Date now = new Date();
         Item item = itemService.selectByName(param.getItem());
         Cstmr cstmr = cstmrService.selectByName(param.getCstmr());
@@ -693,7 +736,7 @@
         Order order1 = new Order();
         order1.setUuid(String.valueOf(snowflakeIdWorker.nextId()));
         order1.setHostId(hostId);
-        order1.setOrderNo(param.getOrderNo());
+        order1.setOrderNo(orderNo);
         order1.setOrderTime(param.getOrderTime());
         order1.setDocType(param.getDocType());
         order1.setItemId(item == null? null : item.getId());
diff --git a/src/main/resources/mapper/QualityMapper.xml b/src/main/resources/mapper/QualityMapper.xml
index a455be9..9c052b2 100644
--- a/src/main/resources/mapper/QualityMapper.xml
+++ b/src/main/resources/mapper/QualityMapper.xml
@@ -16,7 +16,9 @@
         <result column="create_time" property="createTime" />
 
     </resultMap>
+
     <select id="getCurrNum" resultType="java.lang.String">
         SELECT top 1 bill_no FROM man_quality WHERE 1=1 AND bill_no like concat(#{billNo},'%') ORDER BY bill_no DESC
     </select>
+
 </mapper>
diff --git a/src/main/webapp/static/js/quality/quality.js b/src/main/webapp/static/js/quality/quality.js
index a6ac4c9..fcf9610 100644
--- a/src/main/webapp/static/js/quality/quality.js
+++ b/src/main/webapp/static/js/quality/quality.js
@@ -234,12 +234,13 @@
                                 layer.close(dIndex);
                                 layer.msg(res.msg, {icon: 1});
                                 tableReload();
+                                location.reload();
                             } else if (res.code === 403){
                                 top.location.href = baseUrl+"/";
                             }else {
                                 layer.msg(res.msg, {icon: 2});
                             }
-                            location.reload();
+                            // location.reload();
                         }
                     })
                     return false;
diff --git a/src/main/webapp/views/quality/quality.html b/src/main/webapp/views/quality/quality.html
index 9d1913b..c4f773b 100644
--- a/src/main/webapp/views/quality/quality.html
+++ b/src/main/webapp/views/quality/quality.html
@@ -33,7 +33,7 @@
 </div>
 <script type="text/html" id="toolbar">
     <div class="layui-btn-container">
-        <button class="layui-btn layui-btn-sm" id="btn-add" layui-anim-down lay-event="addData">鏂板</button>
+        <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>
         <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>
         <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">瀵煎嚭</button>
     </div>
@@ -66,27 +66,27 @@
         <div class="layui-row">
             <div class="layui-col-md12">
                 <div class="layui-form-item">
-                    <label class="layui-form-label layui-form-required">缂栧彿: </label>
+                    <label class="layui-form-label layui-form-required">鍏ュ簱鍗曞彿: </label>
                     <div class="layui-input-block">
-                        <input class="layui-input" name="uuid" placeholder="璇疯緭鍏ョ紪鍙�" lay-vertype="tips" lay-verify="required">
+                        <input class="layui-input" name="uuid" placeholder="璇疯緭鍏ュ叆搴撳崟鍙�" lay-vertype="tips" lay-verify="required">
                     </div>
                 </div>
-                <div class="layui-form-item">
-                    <label class="layui-form-label">妫�楠屽崟鍙�: </label>
-                    <div class="layui-input-block">
-                        <input class="layui-input layui-disabled"  readonly name="billNo" id="billNo" placeholder="璇疯緭鍏ユ楠屽崟鍙�" lay-verify="required">
-                    </div>
-                </div>
-                <div class="layui-form-item">
-                    <label class="layui-form-label">瀹℃牳鐘舵��: </label>
-                    <div class="layui-input-block">
-                        <select name="auditStatus">
-                            <option value="">璇烽�夋嫨瀹℃牳鐘舵��</option>
-                            <option value="1">宸插</option>
-                            <option value="0">寰呭</option>
-                        </select>
-                    </div>
-                </div>
+<!--                <div class="layui-form-item">-->
+<!--                    <label class="layui-form-label">妫�楠屽崟鍙�: </label>-->
+<!--                    <div class="layui-input-block">-->
+<!--                        <input class="layui-input" name="billNo" id="billNo" placeholder="璇疯緭鍏ユ楠屽崟鍙�" >-->
+<!--                    </div>-->
+<!--                </div>-->
+<!--                <div class="layui-form-item">-->
+<!--                    <label class="layui-form-label">瀹℃牳鐘舵��: </label>-->
+<!--                    <div class="layui-input-block">-->
+<!--                        <select name="auditStatus">-->
+<!--                            <option value="">璇烽�夋嫨瀹℃牳鐘舵��</option>-->
+<!--                            <option value="1">宸插</option>-->
+<!--                            <option value="0">寰呭</option>-->
+<!--                        </select>-->
+<!--                    </div>-->
+<!--                </div>-->
                 <div class="layui-form-item">
                     <label class="layui-form-label">澶囨敞: </label>
                     <div class="layui-input-block">
diff --git a/src/main/webapp/views/receive/matQuery.html b/src/main/webapp/views/receive/matQuery.html
index ff412fb..d43b065 100644
--- a/src/main/webapp/views/receive/matQuery.html
+++ b/src/main/webapp/views/receive/matQuery.html
@@ -159,10 +159,10 @@
                 </select>
             </div>
         </div>
-        <div class="layui-form-item">
-            <label class="layui-form-label layui-form-required">鍗曟嵁缂栧彿:</label>
+        <div class="layui-form-item" style="display: none">
+            <label class="layui-form-label">鍗曟嵁缂栧彿:</label>
             <div class="layui-input-block">
-                <input id="orderNo" name="orderNo" placeholder="璇疯緭鍏ュ崟鎹紪鍙�" readonly class="layui-input layui-disabled" lay-verType="tips" lay-verify="required" autocomplete="off">
+                <input id="orderNo" name="orderNo" placeholder="璇疯緭鍏ュ崟鎹紪鍙�" class="layui-input" lay-verType="tips" autocomplete="off">
             </div>
         </div>
         <div class="layui-form-item">

--
Gitblit v1.9.1