From 054e8e34d07b8372f43866ae0e18f8871df992aa Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期一, 13 十一月 2023 13:16:19 +0800
Subject: [PATCH] #

---
 src/main/resources/mapper/OrderDetlMapper.xml           |    1 
 src/main/java/com/zy/asrs/entity/OrderDetl.java         |   12 ++++
 src/main/webapp/static/js/order/order.js                |    2 
 src/main/java/com/zy/common/model/LocDto.java           |    9 +++
 src/main/java/com/zy/asrs/controller/OutController.java |  101 +++++++++++++++++++++++++++++++--
 src/main/java/com/zy/asrs/entity/Order.java             |    9 +++
 src/main/webapp/views/order/order.html                  |    2 
 7 files changed, 127 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index 1b41343..56c2cfe 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -1,17 +1,14 @@
 package com.zy.asrs.controller;
 
 import com.core.annotations.ManagerAuth;
-import com.core.common.BaseRes;
-import com.core.common.Cools;
-import com.core.common.R;
-import com.zy.asrs.entity.BasDevp;
-import com.zy.asrs.entity.LocDetl;
-import com.zy.asrs.entity.Order;
-import com.zy.asrs.entity.OrderDetl;
+import com.core.common.*;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.StockOutParam;
 import com.zy.asrs.service.*;
 import com.zy.asrs.service.impl.WorkServiceImpl;
 import com.zy.asrs.utils.OutboundAllocationUtil;
+import com.zy.common.model.DetlDto;
 import com.zy.common.model.LocDto;
 import com.zy.common.model.TaskDto;
 import com.zy.common.web.BaseController;
@@ -45,6 +42,12 @@
     private WorkService workService;
     @Autowired
     private BasDevpService basDevpService;
+    @Autowired
+    private DocTypeService docTypeService;
+    @Autowired
+    private SnowflakeIdWorker snowflakeIdWorker;
+    @Autowired
+    private MatService matService;
 
 
     @PostMapping("/out/pakout/orderDetlIds/auth")
@@ -69,6 +72,7 @@
             LocDto locDto = new LocDto(orderDetl.getManu(), orderDetl.getMatnr(), orderDetl.getMaktx(),orderDetl.getModel(),orderDetl.getSpecs(),
                     orderDetl.getBatch(),orderDetl.getBrand(),orderDetl.getBarcode(), orderDetl.getOrderNo(),orderDetl.getAnfme());
             locDto.setOrderDetlId(orderDetl.getId());
+            locDto.setTkType(orderDetl.getTkType());
             locDtos.add(locDto);
         }
 
@@ -119,6 +123,7 @@
                 LocDto locDto = new LocDto(orderDetl.getManu(), orderDetl.getMatnr(), orderDetl.getMaktx(),orderDetl.getModel(),orderDetl.getSpecs(),
                         orderDetl.getBatch(),orderDetl.getBrand(),orderDetl.getBarcode(), orderDetl.getOrderNo(),orderDetl.getAnfme());
                 locDto.setOrderDetlId(orderDetl.getId());
+                locDto.setTkType(orderDetl.getTkType());
                 locDtos.add(locDto);
             }
         }
@@ -205,7 +210,87 @@
     @PostMapping("/out/refund/loc/auth")
     @ManagerAuth(memo = "璁㈠崟鍑哄簱")
     public synchronized R refundLoc(@RequestBody List<LocDto> locDtos) throws InterruptedException {
-        System.out.println(locDtos);
+        Long userId = getUserId();
+        DocType docType = docTypeService.selectOrAdd("閫�璐у叆搴撳崟", Boolean.TRUE);
+        Date now = new Date();
+        long nowOrderNo = System.currentTimeMillis();
+        Order order = new Order(
+                String.valueOf(snowflakeIdWorker.nextId()),    // 缂栧彿[闈炵┖]
+                "TK"+nowOrderNo,    // 璁㈠崟缂栧彿
+                DateUtils.convert(now),    // 鍗曟嵁鏃ユ湡
+                docType.getDocId(),    // 鍗曟嵁绫诲瀷
+                null,    // 椤圭洰缂栧彿
+                null,    //
+                null,    // 璋冩嫧椤圭洰缂栧彿
+                null,    // 鍒濆绁ㄦ嵁鍙�
+                null,    // 绁ㄦ嵁鍙�
+                null,    // 瀹㈡埛缂栧彿
+                null,    // 瀹㈡埛
+                null,    // 鑱旂郴鏂瑰紡
+                null,    // 鎿嶄綔浜哄憳
+                null,    // 鍚堣閲戦
+                null,    // 浼樻儬鐜�
+                null,    // 浼樻儬閲戦
+                null,    // 閿�鍞垨閲囪喘璐圭敤鍚堣
+                null,    // 瀹炰粯閲戦
+                null,    // 浠樻绫诲瀷
+                null,    // 涓氬姟鍛�
+                null,    // 缁撶畻澶╂暟
+                null,    // 閭垂鏀粯绫诲瀷
+                null,    // 閭垂
+                null,    // 浠樻鏃堕棿
+                null,    // 鍙戣揣鏃堕棿
+                null,    // 鐗╂祦鍚嶇О
+                null,    // 鐗╂祦鍗曞彿
+//                    2L,    // 璁㈠崟鐘舵��
+                1L,    // 璁㈠崟鐘舵��
+                1,    // 鐘舵��
+                userId,    // 娣诲姞浜哄憳
+                now,    // 娣诲姞鏃堕棿
+                userId,    // 淇敼浜哄憳
+                now,    // 淇敼鏃堕棿
+                null    // 澶囨敞
+        );
+        if (!orderService.insert(order)) {
+            throw new CoolException("淇濆瓨璁㈠崟涓绘。澶辫触");
+        }
+        // 鍗曟嵁鏄庣粏妗�
+        int i=0;
+        for (LocDto locDto : locDtos) {
+            i++;
+            Mat mat = matService.selectByMatnr(locDto.getMatnr());
+            if (Cools.isEmpty(mat)) {
+                throw new CoolException(locDto.getMatnr() + "鐗╂枡缂栫爜妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧");
+            }
+            OrderDetl orderDetl = new OrderDetl();
+            orderDetl.sync(mat);
+            orderDetl.setSuppCode(String.valueOf(i));  // 琛屽彿
+            orderDetl.setManu(locDto.getLocNo());  //搴撲綅鍙�
+            orderDetl.setBatch(locDto.getBatch()); //鏈ㄧ缂栫爜
+            orderDetl.setAnfme(locDto.getAnfme());//鍑哄簱鏁伴噺
+            orderDetl.setModel(locDto.getModel());//鎵规
+            orderDetl.setSpecs(locDto.getSpecs());//瑙勬牸
+            orderDetl.setBrand(locDto.getBrand());//鏈ㄧ绫诲瀷
+            orderDetl.setBarcode(locDto.getZpallet());//鏈ㄧ绫诲瀷
+//                orderDetl.setWorkQty(locDetl.getAnfme());
+            orderDetl.setWorkQty(0.0);
+            orderDetl.setOrderId(order.getId());
+            orderDetl.setOrderNo(order.getOrderNo());
+            orderDetl.setCreateBy(userId);
+            orderDetl.setCreateTime(now);
+            orderDetl.setUpdateBy(userId);
+            orderDetl.setUpdateTime(now);
+            orderDetl.setStatus(1);
+            orderDetl.setQty(0.0D);
+            if (!orderDetlService.insert(orderDetl)) {
+                throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
+            }
+
+            OrderDetl orderDetl1 = orderDetlService.selectById(locDto.getOrderDetlId());
+            orderDetl1.setTkType(1);
+            orderDetlService.updateById(orderDetl1);
+
+        }
 
         return R.ok();
     }
diff --git a/src/main/java/com/zy/asrs/entity/Order.java b/src/main/java/com/zy/asrs/entity/Order.java
index 99abc64..3f535cb 100644
--- a/src/main/java/com/zy/asrs/entity/Order.java
+++ b/src/main/java/com/zy/asrs/entity/Order.java
@@ -437,5 +437,14 @@
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
     }
 
+    public String getTkType(){
+        DocTypeService service = SpringUtils.getBean(DocTypeService.class);
+        DocType docType = service.selectById(this.docType);
+        if (!Cools.isEmpty(docType)){
+            return docType.getPakout().toString();
+        }
+        return "0";
+    }
+
 
 }
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetl.java b/src/main/java/com/zy/asrs/entity/OrderDetl.java
index f617ed9..6c1ba9c 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetl.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetl.java
@@ -295,6 +295,10 @@
     @ApiModelProperty(value= "澶囨敞")
     private String memo;
 
+    @ApiModelProperty(value = "閫�搴撴爣璁�")
+    @TableField("tk_type")
+    private Integer tkType;
+
     public OrderDetl() {}
 
     public OrderDetl(Long orderId, String orderNo, Double anfme, Double qty, String matnr, String maktx, String batch, String specs, String model, String color, String brand, String unit, Double price, String sku, Double units, String barcode, String origin, String manu, String manuDate, String itemNum, Double safeQty, Double weight, Double length, Double volume, String threeCode, String supp, String suppCode, Integer beBatch, String deadTime, Integer deadWarn, Integer source, Integer inspect, Integer danger, Integer status, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo) {
@@ -395,6 +399,14 @@
         }
     }
 
+    public String getTkType$(){
+        if (null == this.tkType) return "姝e父";
+        if (this.tkType == 1) {
+            return "閫�搴�";
+        }
+        return "姝e父";
+    }
+
     public String getDanger$(){
         if (null == this.danger){ return null; }
         switch (this.danger){
diff --git a/src/main/java/com/zy/common/model/LocDto.java b/src/main/java/com/zy/common/model/LocDto.java
index 16ebfaf..0677895 100644
--- a/src/main/java/com/zy/common/model/LocDto.java
+++ b/src/main/java/com/zy/common/model/LocDto.java
@@ -39,6 +39,7 @@
     private List<Integer> staNos;
 
     private Integer staNo;
+    private Integer tkType;
 
     public LocDto() {
     }
@@ -102,4 +103,12 @@
         this.count=anfme;
     }
 
+    public String getTkType$(){
+        if (null == this.tkType) return "姝e父";
+        if (this.tkType == 1) {
+            return "閫�搴�";
+        }
+        return "姝e父";
+    }
+
 }
diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml
index 74ebaf0..a46edda 100644
--- a/src/main/resources/mapper/OrderDetlMapper.xml
+++ b/src/main/resources/mapper/OrderDetlMapper.xml
@@ -45,6 +45,7 @@
         <result column="update_by" property="updateBy" />
         <result column="update_time" property="updateTime" />
         <result column="memo" property="memo" />
+        <result column="tk_type" property="tkType" />
 
     </resultMap>
 
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index f8e4e03..f7e8888 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -49,6 +49,7 @@
             {type: 'numbers'},
             {field: 'orderNo', title: '鍗曟嵁缂栧彿', templet: '#orderNoTpl'},
             {field: 'docType$', align: 'center', title: '绫诲瀷',  minWidth: 160, width: 160},
+            {field: 'tkType', align: 'center', title: 'TK',  minWidth: 160, width: 160,hide: true},
             {align: 'center', title: '鏄庣粏', toolbar: '#tbLook', minWidth: 160, width: 160},
             {field: 'createTime$', title: '鍒涘缓鏃堕棿', minWidth: 200, width: 200},
             {field: 'settle$', align: 'center', title: '鐘舵��', templet: '#settleTpl',  minWidth: 160, width: 160},
@@ -604,6 +605,7 @@
                                     {field: 'anfme', title: '鏈ㄧ涓摐绠旀暟閲�', align: 'center', width: 90, style: 'font-weight: bold'},
                                     {field: 'count', title: '鏈ㄧ涓摐绠旀暟閲�', align: 'center', width: 90, style: 'font-weight: bold'},
                                     {field: 'locNo', title: '璐т綅', align: 'center', width: 100, templet: '#locNoTpl'},
+                                    {field: 'tkType$', title: 'TK鏍囪', align: 'center', width: 100},
                                     // {field: 'staNos', align: 'center', title: '鍑哄簱绔�', merge: ['locNo'], templet: '#tbBasicTbStaNos'},
                                     // {type: 'checkbox', merge: ['locNo']},
                                 ]],
diff --git a/src/main/webapp/views/order/order.html b/src/main/webapp/views/order/order.html
index c88b3e0..b7f44b2 100644
--- a/src/main/webapp/views/order/order.html
+++ b/src/main/webapp/views/order/order.html
@@ -106,7 +106,7 @@
     <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="labelUp">涓婁紶鏍囩</a>
     <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="complete">瀹岀粨</a>
     {{# } }}
-    {{# if (d.settle == 4) { }}
+    {{# if (d.settle == 4 && d.tkType=='1') { }}
         <a class="layui-btn layui-btn-danger layui-btn-xs btn-delete" lay-event="refundLoc">閫�搴�</a>
     {{# } }}
 </script>

--
Gitblit v1.9.1