From 4c1e8761e3fa0516d5e6d316e838e83c8e0f5edf Mon Sep 17 00:00:00 2001
From: mrzhssss <pro6@qq.com>
Date: 星期四, 24 三月 2022 12:59:25 +0800
Subject: [PATCH] #

---
 src/main/resources/mapper/OrderMapper.xml                            |    2 
 src/main/java/zy/cloud/wms/manager/controller/OrderController.java   |   28 ++++++++++++-
 src/main/java/zy/cloud/wms/manager/utils/AddZero.java                |   19 +++++++++
 src/main/webapp/static/js/wave/wave.js                               |    2 
 src/main/java/zy/cloud/wms/manager/service/impl/WaveServiceImpl.java |    5 ++
 src/main/resources/mapper/WaveMapper.xml                             |    3 +
 src/main/webapp/static/js/order/order.js                             |    2 
 src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java |    1 
 src/main/java/zy/cloud/wms/manager/mapper/WaveMapper.java            |    2 +
 src/main/java/zy/cloud/wms/manager/service/WaveService.java          |    2 +
 10 files changed, 60 insertions(+), 6 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 1934bb6..f8f15ea 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/OrderController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/OrderController.java
@@ -26,6 +26,7 @@
 import zy.cloud.wms.manager.service.OrderService;
 import zy.cloud.wms.manager.service.WaveDetlService;
 import zy.cloud.wms.manager.service.WaveService;
+import zy.cloud.wms.manager.utils.AddZero;
 
 import javax.imageio.ImageIO;
 import javax.servlet.http.HttpServletResponse;
@@ -204,7 +205,7 @@
     @ManagerAuth
     public R createWave(@RequestBody List<Order> orders){
         /**
-         * 鎺х
+         * 鎺х涓庡垵濮嬪寲
          */
         Integer seqNo = 1;
         for (Order order : orders) {
@@ -222,8 +223,20 @@
         wave.setHostId(getHostId());
         String s = UUID.randomUUID().toString().replace("-","");
         wave.setUuid(s);
-        String waveNo = "WAVE-" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
-        wave.setWaveNo(waveNo);
+        String waveNo = "WAVE-" + new SimpleDateFormat("yyyyMMdd").format(new Date())+"-";
+        String currNum = waveService.getCurrNum(waveNo);
+        if (!Cools.isEmpty(currNum)) {
+            String[] split = currNum.split("-");
+            if (split.length < 2){
+                wave.setWaveNo(waveNo + "0001");
+            }
+            Integer newNum = Integer.parseInt(split[2]) +1;
+            String format = AddZero.addZeroForNum(newNum + "", 4);
+            wave.setWaveNo(waveNo + format);
+        }else {
+            wave.setWaveNo(waveNo + "0001");
+        }
+
         wave.setOrdersQty(orders.size());
         wave.setStatus((short) 0);
         wave.setCreateBy(getUserId());
@@ -267,6 +280,15 @@
                         .eq("id",checkWaveDetl.getId()));
             }
         }
+
+        /**
+         * 鎺х,鍑鸿繃BUG,鍙敓鎴愯〃澶�,涓嶇敓鎴愯〃韬�
+         */
+        if (Cools.isEmpty(allOrderDetls)) {
+            waveService.delete(new EntityWrapper<Wave>()
+                    .eq("id",wave.getId()));
+            throw new CoolException("鎵句笉鍒板嚭搴撳崟缁嗚妭,璇疯仈绯荤鐞嗗憳");
+        }
         /**
          * 鍙嶅啓鍑哄簱鍗曡〃澶�
          */
diff --git a/src/main/java/zy/cloud/wms/manager/mapper/WaveMapper.java b/src/main/java/zy/cloud/wms/manager/mapper/WaveMapper.java
index 1fe2c58..87da4a6 100644
--- a/src/main/java/zy/cloud/wms/manager/mapper/WaveMapper.java
+++ b/src/main/java/zy/cloud/wms/manager/mapper/WaveMapper.java
@@ -1,5 +1,6 @@
 package zy.cloud.wms.manager.mapper;
 
+import org.apache.ibatis.annotations.Param;
 import zy.cloud.wms.manager.entity.Wave;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
@@ -9,4 +10,5 @@
 @Repository
 public interface WaveMapper extends BaseMapper<Wave> {
 
+    String getCurrNum(@Param("waveNo") String waveNo);
 }
diff --git a/src/main/java/zy/cloud/wms/manager/service/WaveService.java b/src/main/java/zy/cloud/wms/manager/service/WaveService.java
index cd4839b..777e6d9 100644
--- a/src/main/java/zy/cloud/wms/manager/service/WaveService.java
+++ b/src/main/java/zy/cloud/wms/manager/service/WaveService.java
@@ -10,4 +10,6 @@
 public interface WaveService extends IService<Wave> {
 
     R createOut(List<PickOutDto> pickOutDtosk, Long userId, Long hostId);
+
+    String getCurrNum(String waveNo);
 }
diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/WaveServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/WaveServiceImpl.java
index 4360bf9..446a981 100644
--- a/src/main/java/zy/cloud/wms/manager/service/impl/WaveServiceImpl.java
+++ b/src/main/java/zy/cloud/wms/manager/service/impl/WaveServiceImpl.java
@@ -117,4 +117,9 @@
 
         return R.ok();
     }
+
+    @Override
+    public String getCurrNum(String waveNo) {
+        return this.baseMapper.getCurrNum(waveNo);
+    }
 }
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 9e5baaf..4fd9787 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
@@ -780,6 +780,7 @@
             OrderDetl orderDetl = new OrderDetl();
             orderDetl.setHostId(hostId);
             orderDetl.setOrderId(order1.getId());
+            orderDetl.setOrderNo(order1.getOrderNo());
             orderDetl.setAnfme(dto.getCount());
             orderDetl.setCreateTime(now);
             orderDetl.setCreateBy(userId);
diff --git a/src/main/java/zy/cloud/wms/manager/utils/AddZero.java b/src/main/java/zy/cloud/wms/manager/utils/AddZero.java
new file mode 100644
index 0000000..4c2c220
--- /dev/null
+++ b/src/main/java/zy/cloud/wms/manager/utils/AddZero.java
@@ -0,0 +1,19 @@
+package zy.cloud.wms.manager.utils;
+
+public class AddZero {
+    public static String addZeroForNum(String str, int strLength) {
+        int strLen = str.length();
+        if (strLen < strLength) {
+            while (strLen < strLength) {
+                StringBuffer sb = new StringBuffer();
+                sb.append("0").append(str);// 宸﹁ˉ0
+                // sb.append(str).append("0");//鍙宠ˉ0
+                str = sb.toString();
+                strLen = str.length();
+            }
+        }
+
+        return str;
+    }
+
+}
diff --git a/src/main/resources/mapper/OrderMapper.xml b/src/main/resources/mapper/OrderMapper.xml
index 66538f8..eb4eae1 100644
--- a/src/main/resources/mapper/OrderMapper.xml
+++ b/src/main/resources/mapper/OrderMapper.xml
@@ -47,7 +47,7 @@
         update man_order set settle = #{settle} where 1=1 and order_no = #{orderNo} and host_id = #{hostId}
     </update>
     <update id="updateStatus">
-        UPDATE man_order set settle = 2, wave_no = null WHERE order_no = #{orderNo}
+        UPDATE man_order set settle = 1 , wave_no = null WHERE order_no = #{orderNo}
     </update>
     <update id="changeSettleTo12">
         UPDATE man_order set settle = 12 Where 1 = 1 and order_no = #{orderNo}
diff --git a/src/main/resources/mapper/WaveMapper.xml b/src/main/resources/mapper/WaveMapper.xml
index ae7f588..4e61cd1 100644
--- a/src/main/resources/mapper/WaveMapper.xml
+++ b/src/main/resources/mapper/WaveMapper.xml
@@ -17,5 +17,8 @@
         <result column="update_time" property="updateTime" />
 
     </resultMap>
+    <select id="getCurrNum" resultType="java.lang.String">
+        SELECT top 1 wave_no FROM man_wave WHERE 1=1 AND wave_no like concat(#{waveNo},'%') ORDER BY wave_no DESC
+    </select>
 
 </mapper>
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index 76d7a3b..14e4c5f 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -200,7 +200,7 @@
             ,{field: 'shipName', align: 'center',title: '鐗╂祦鍚嶇О', hide: true}
             ,{field: 'shipCode', align: 'center',title: '鐗╂祦鍗曞彿', hide: true}
             ,{field: 'settle$', align: 'center',title: '璁㈠崟鐘舵��', templet: '#settleTpl', width: 105}
-            ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate',  width: 120}
+            // ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate',  width: 120}
         ]],
         request: {
             pageName: 'curr',
diff --git a/src/main/webapp/static/js/wave/wave.js b/src/main/webapp/static/js/wave/wave.js
index 1209730..d432cd4 100644
--- a/src/main/webapp/static/js/wave/wave.js
+++ b/src/main/webapp/static/js/wave/wave.js
@@ -343,7 +343,7 @@
 
     /* 鍒犻櫎 */
     function del(ids) {
-        layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', {
+        layer.confirm('纭畾瑕佹挙閿�閫変腑鏁版嵁鍚楋紵', {
             skin: 'layui-layer-admin',
             shade: .1
         }, function (i) {

--
Gitblit v1.9.1