From 9dd23778d5b9a97da390abc4e6f785e60767acf4 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期六, 26 十月 2024 15:12:13 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/WorkService.java                      |    1 
 src/main/java/com/zy/common/entity/OrderGiftProofreadingExcel.java      |    7 +
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java             |  103 +++++++++++++++++++++++++
 src/main/webapp/static/js/orderGift/orderGift.js                        |    4 
 src/main/java/com/zy/asrs/entity/param/StockOutParam.java               |    2 
 src/main/java/com/zy/asrs/entity/OrderDetlGift.java                     |    4 +
 src/main/java/com/zy/common/model/LocDto.java                           |   13 +++
 src/main/webapp/views/orderGift/orderGift.html                          |    2 
 src/main/java/com/zy/asrs/utils/OrderGiftProofreadingExcelListener.java |   93 ++++-------------------
 src/main/java/com/zy/asrs/entity/result/OrderGiftProofreadingVo.java    |   10 +-
 10 files changed, 153 insertions(+), 86 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/OrderDetlGift.java b/src/main/java/com/zy/asrs/entity/OrderDetlGift.java
index 81634be..86bef2b 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetlGift.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetlGift.java
@@ -8,6 +8,7 @@
 import com.core.common.Cools;
 import com.core.common.SpringUtils;
 import com.zy.asrs.service.OrderService;
+import com.zy.common.utils.Synchro;
 import com.zy.system.entity.User;
 import com.zy.system.service.UserService;
 import io.swagger.annotations.ApiModelProperty;
@@ -484,5 +485,8 @@
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
     }
 
+    public void sync(Object source) {
+        Synchro.Copy(source, this);
+    }
 
 }
diff --git a/src/main/java/com/zy/asrs/entity/param/StockOutParam.java b/src/main/java/com/zy/asrs/entity/param/StockOutParam.java
index 19da3e8..ded467b 100644
--- a/src/main/java/com/zy/asrs/entity/param/StockOutParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/StockOutParam.java
@@ -53,6 +53,8 @@
 
         // 鏈ㄧ涓摐绠旀暟閲�
         private Double count;
+        private Double volume;
+        private Double price;
         private String color;
 
         public void setAnfme(Double anfme){
diff --git a/src/main/java/com/zy/asrs/entity/result/OrderGiftProofreadingVo.java b/src/main/java/com/zy/asrs/entity/result/OrderGiftProofreadingVo.java
index a53f304..43e0330 100644
--- a/src/main/java/com/zy/asrs/entity/result/OrderGiftProofreadingVo.java
+++ b/src/main/java/com/zy/asrs/entity/result/OrderGiftProofreadingVo.java
@@ -18,18 +18,20 @@
     @ExcelProperty(value = "鍗峰彿")
     private String model="";
     @ExcelProperty(value = "闀垮害")
-    private String price="";
+    private Double price;
     @ExcelProperty(value = "鍑�閲�")
-    private String weight="";
+    private Double weight;
     @ExcelProperty(value = "姣涢噸")
-    private String volume="";
+    private Double volume;
+    @ExcelProperty(value = "鎺ュご")
+    private String specs;
     @ExcelProperty(value = "澶囨敞")
     private String memo="";
 
     public OrderGiftProofreadingVo() {
     }
 
-    public OrderGiftProofreadingVo(String orderNo, String matnr, String batch, String model, String price, String weight, String volume, String memo) {
+    public OrderGiftProofreadingVo(String orderNo, String matnr, String batch, String model, Double price, Double weight, Double volume, String memo) {
         this.orderNo = orderNo;
         this.matnr = matnr;
         this.batch = batch;
diff --git a/src/main/java/com/zy/asrs/service/WorkService.java b/src/main/java/com/zy/asrs/service/WorkService.java
index 4d9cc0e..4f892db 100644
--- a/src/main/java/com/zy/asrs/service/WorkService.java
+++ b/src/main/java/com/zy/asrs/service/WorkService.java
@@ -31,6 +31,7 @@
      * 鍑哄簱浣滀笟
      */
     void startupFullTakeStoreOrder(StockOutParam param, Long userId);
+    void startupFullTakeStoreOrderGift(StockOutParam param, Long userId);
 
     /**
      * 鍑哄簱浣滀笟
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index c058ecc..ed93308 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -80,6 +80,10 @@
     private SlaveProperties slaveProperties;
     @Autowired
     private WaitPakinService waitPakinService;
+    @Autowired
+    private OrderGiftService orderGiftService;
+    @Autowired
+    private OrderDetlGiftService orderDetlGiftService;
 
     @Override
     @Transactional
@@ -286,6 +290,105 @@
 
     }
 
+    @Override
+    @Transactional
+    public void startupFullTakeStoreOrderGift(StockOutParam param, Long userId) {
+        if (Cools.isEmpty(param) || Cools.isEmpty(param.getLocDetls())){
+            throw new CoolException("鍙傛暟涓虹┖");
+        }
+        if (Cools.isEmpty(param.getOrderNo())){
+            throw new CoolException("璁㈠崟鍙峰弬鏁颁负绌�");
+        }
+        DocType docType = docTypeService.selectOrAdd("鎵嬪姩鍑哄簱鍗�", Boolean.FALSE);
+        OrderGift order = orderGiftService.selectByNo(param.getOrderNo());
+        if (Cools.isEmpty(order)){
+            Date now = new Date();
+            order = new OrderGift(
+                    String.valueOf(snowflakeIdWorker.nextId()),    // 缂栧彿[闈炵┖]
+                    param.getOrderNo(),    // 璁㈠崟缂栧彿
+                    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 (!orderGiftService.insert(order)) {
+                throw new CoolException("淇濆瓨璁㈠崟涓绘。澶辫触");
+            }
+            // 鍗曟嵁鏄庣粏妗�
+            List<DetlDto> list = new ArrayList<>();
+            List<StockOutParam.LocDetl> locDetls = param.getLocDetls();
+            int i=0;
+            for (StockOutParam.LocDetl locDetl : locDetls) {
+                i++;
+                Mat mat = matService.selectByMatnr(locDetl.getMatnr());
+                if (Cools.isEmpty(mat)) {
+                    throw new CoolException(locDetl.getMatnr() + "鐗╂枡缂栫爜妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧");
+                }
+                OrderDetlGift orderDetl = new OrderDetlGift();
+                orderDetl.sync(mat);
+                orderDetl.setSuppCode(String.valueOf(i));  // 琛屽彿
+                orderDetl.setManu(locDetl.getLocNo());  //搴撲綅鍙�
+                orderDetl.setBatch(locDetl.getBatch()); //鏈ㄧ缂栫爜
+                orderDetl.setAnfme(locDetl.getAnfme());//鍑哄簱鏁伴噺
+                orderDetl.setModel(locDetl.getModel());//鎵规
+                orderDetl.setSpecs(locDetl.getSpecs());//瑙勬牸
+                orderDetl.setBrand(locDetl.getBrand());//鏈ㄧ绫诲瀷
+                orderDetl.setBarcode(locDetl.getZpallet());//鏈ㄧ绫诲瀷
+                orderDetl.setWeight(locDetl.getWeight());
+                orderDetl.setVolume(locDetl.getVolume());
+                orderDetl.setPrice(locDetl.getPrice());
+//                orderDetl.setWorkQty(locDetl.getAnfme());
+                orderDetl.setWorkQty(0.0);
+                orderDetl.setOrderId(order.getId());
+                orderDetl.setOrderNo(order.getOrderNo());
+                orderDetl.setOrigin(locDetl.getOrigin());
+                orderDetl.setCreateBy(userId);
+                orderDetl.setCreateTime(now);
+                orderDetl.setUpdateBy(userId);
+                orderDetl.setUpdateTime(now);
+                orderDetl.setStatus(1);
+                orderDetl.setQty(0.0D);
+                orderDetl.setMemo(locDetl.getMemo());
+                if (!orderDetlGiftService.insert(orderDetl)) {
+                    throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
+                }
+            }
+
+        } else {
+            throw new CoolException("璁㈠崟鍙烽噸澶嶏紝璁㈠崟"+param.getOrderNo()+"宸插瓨鍦紒锛侊紒");
+        }
+
+    }
+
 
     @Override
     @Transactional
diff --git a/src/main/java/com/zy/asrs/utils/OrderGiftProofreadingExcelListener.java b/src/main/java/com/zy/asrs/utils/OrderGiftProofreadingExcelListener.java
index 23a8ce0..a486f8a 100644
--- a/src/main/java/com/zy/asrs/utils/OrderGiftProofreadingExcelListener.java
+++ b/src/main/java/com/zy/asrs/utils/OrderGiftProofreadingExcelListener.java
@@ -4,19 +4,21 @@
 import com.alibaba.excel.event.AnalysisEventListener;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
+import com.core.common.DateUtils;
 import com.core.common.SpringUtils;
 import com.core.exception.CoolException;
-import com.zy.asrs.entity.LocDetl;
-import com.zy.asrs.entity.LocMast;
+import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.StockOutParam;
 import com.zy.asrs.service.LocDetlService;
 import com.zy.asrs.service.LocMastService;
 import com.zy.asrs.service.WorkService;
-import com.zy.common.entity.OutLocBoxExcel;
+import com.zy.common.entity.OrderGiftProofreadingExcel;
+import com.zy.common.model.DetlDto;
 import com.zy.common.model.LocDto;
 import lombok.extern.slf4j.Slf4j;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -24,13 +26,12 @@
  * Created by vincent on 2019-11-25
  */
 @Slf4j
-public class OrderGiftProofreadingExcelListener extends AnalysisEventListener<OutLocBoxExcel> {
+public class OrderGiftProofreadingExcelListener extends AnalysisEventListener<OrderGiftProofreadingExcel> {
 
     private int total = 0;
     private String orderOneNo = null;
-    private String cstmrName = null;
     private Long userId;
-    List<String[]> OutLocBoxCs = new ArrayList<>();
+    List<OrderGiftProofreadingExcel> OrderGiftProofreadingCs = new ArrayList<>();
 
     public OrderGiftProofreadingExcelListener() {
     }
@@ -44,7 +45,7 @@
      */
     private static final int BATCH_COUNT = 50;
 
-    private final List<OutLocBoxExcel> list = new ArrayList<>();
+    private final List<OrderGiftProofreadingExcel> list = new ArrayList<>();
 
     /**
      * 杩欓噷浼氫竴琛岃鐨勮繑鍥炲ご
@@ -57,11 +58,7 @@
      * 杩欎釜姣忎竴鏉℃暟鎹В鏋愰兘浼氭潵璋冪敤
      */
     @Override
-    public void invoke(OutLocBoxExcel excel, AnalysisContext ctx) {
-        String batch = excel.getBatch();
-        String orderNo = excel.getOrderNo();
-//        String cstmrName = excel.getCstmrName();
-        String memo = excel.getMemo();
+    public void invoke(OrderGiftProofreadingExcel excel, AnalysisContext ctx) {
         if (Cools.isEmpty(orderOneNo)){
             if (!Cools.isEmpty(excel.getOrderNo())){
                 orderOneNo = excel.getOrderNo();
@@ -69,19 +66,7 @@
                 throw new CoolException("璁㈠崟鍙峰弬鏁颁负绌�");
             }
         }
-        if (Cools.isEmpty(cstmrName)){
-            if (!Cools.isEmpty(excel.getCstmrName())){
-                cstmrName = excel.getCstmrName();
-            } else {
-                throw new CoolException("瀹㈡埛鍚嶇О鍙傛暟涓虹┖");
-            }
-        }
-        String[] s=new String[4];
-        s[0] = batch;
-        s[1] = orderOneNo;
-        s[2] = cstmrName;
-        s[3] = memo;
-        OutLocBoxCs.add(s);
+        OrderGiftProofreadingCs.add(excel);
         total++;
     }
 
@@ -91,53 +76,11 @@
      */
     @Override
     public void doAfterAllAnalysed(AnalysisContext ctx) {
-        if (!Cools.isEmpty(OutLocBoxCs) && OutLocBoxCs.size() != 0) {
-            LocDetlService locDetlService = SpringUtils.getBean(LocDetlService.class);
-            LocMastService locMastService = SpringUtils.getBean(LocMastService.class);
+        if (!Cools.isEmpty(OrderGiftProofreadingCs) && !OrderGiftProofreadingCs.isEmpty()) {
             WorkService workService = SpringUtils.getBean(WorkService.class);
             List<LocDto> locDtos = new ArrayList<>();
-            List<String[]> outLocBoxCList = new ArrayList<>();
-            List<String> outLocBoxCNew = new ArrayList<>();
-            for (String[] outLocBoxC:OutLocBoxCs){
-                total--;
-                if (!outLocBoxCNew.contains(outLocBoxC[0])){
-                    LocDetl locDetlSou = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("batch", outLocBoxC[0]));
-                    if (Cools.isEmpty(locDetlSou)){
-                        throw new CoolException("绠卞彿锛�"+outLocBoxC[0]+" 鏈煡璇㈠埌鏁版嵁锛侊紒锛�");
-                    }
-                    LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlSou.getLocNo()));
-                    if (Cools.isEmpty(locMast)){
-                        throw new CoolException("绠卞彿锛�"+outLocBoxC[0]+" 鎵�鍦ㄥ簱浣嶄笉婊¤冻鍑哄簱鏉′欢锛侊紒锛佹湭鏌ヨ鍒版绠卞彿鎵�鍦ㄥ簱浣�");
-                    }
-                    if (!locMast.getLocSts().equals("F")){
-                        throw new CoolException("绠卞彿锛�"+outLocBoxC[0]+" 鎵�鍦ㄥ簱浣嶄笉婊¤冻鍑哄簱鏉′欢锛侊紒锛佸簱浣嶇姸鎬佷笉涓篎锛侊紒锛佸簱浣嶇姸鎬侊細"+locMast.getLocSts$());
-                    }
-                    List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>()
-                            .eq("loc_no", locDetlSou.getLocNo()).eq("origin", locDetlSou.getOrigin()));
-                    for (LocDetl locDetl:locDetls){
-                        total++;
-                        String[] locDetlNow=new String[4];
-                        locDetlNow[0] = locDetl.getBatch();
-                        locDetlNow[1] = outLocBoxC[1];
-                        locDetlNow[2] = outLocBoxC[2];
-                        locDetlNow[3] = outLocBoxC[3];
-                        outLocBoxCList.add(locDetlNow);
-                        outLocBoxCNew.add(outLocBoxC[0]);
-                    }
-                }
-            }
-            for (String[] outLocBoxC:outLocBoxCList){
-                LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("batch", outLocBoxC[0]));
-                if (Cools.isEmpty(locDetl)){
-                    total--;
-                    continue;
-                }
-//                LocDto locDto = new LocDto(locDetl.getManu(), locDetl.getMatnr(), locDetl.getMaktx(),locDetl.getModel(),locDetl.getSpecs(),
-//                        locDetl.getBatch(),locDetl.getBrand(),locDetl.getBarcode(), outLocBoxC[1],locDetl.getAnfme());
-//                locDto.setOrigin(locDetl.getOrigin());
-//                locDto.setWeight(locDetl.getWeight());
-                locDetl.setMemo(outLocBoxC[3]);
-                LocDto locDto = new LocDto(locDetl);
+            for (OrderGiftProofreadingExcel orderGiftProofreadingExcel:OrderGiftProofreadingCs){
+                LocDto locDto = new LocDto(orderGiftProofreadingExcel);
                 locDtos.add(locDto);
             }
 
@@ -164,20 +107,18 @@
                 locDetl.setOrigin(locDto.getOrigin());
                 locDetl.setWeight(locDto.getWeight());
                 locDetl.setMemo(locDto.getMemo());
-
+                locDetl.setVolume(locDto.getVolume());
+                locDetl.setPrice(locDto.getPrice());
                 locDetls.add(locDetl);
             }
             param.setLocDetls(locDetls);
             param.setOrderNo(orderOneNo);
-            param.setCstmrName(cstmrName);
-
             if (total>0){
-                workService.startupFullTakeStoreOrder(param,9999L);
+                workService.startupFullTakeStoreOrderGift(param,9999L);
             }
-
         }
 
-        log.info("鍑哄簱{}鏉$鍙凤紒", total);
+        log.info("瀵煎叆{}鏉℃牳瀵瑰崟鎹槑缁嗭紒", total);
     }
 
     public int getTotal() {
diff --git a/src/main/java/com/zy/common/entity/OrderGiftProofreadingExcel.java b/src/main/java/com/zy/common/entity/OrderGiftProofreadingExcel.java
index 99b2ae8..5837c70 100644
--- a/src/main/java/com/zy/common/entity/OrderGiftProofreadingExcel.java
+++ b/src/main/java/com/zy/common/entity/OrderGiftProofreadingExcel.java
@@ -18,9 +18,10 @@
     private String matnr;
     private String batch;
     private String model;
-    private String price;
-    private String weight;
-    private String volume;
+    private Double price;
+    private Double weight;
+    private Double volume;
+    private String specs;
     private String memo;
 
 }
diff --git a/src/main/java/com/zy/common/model/LocDto.java b/src/main/java/com/zy/common/model/LocDto.java
index 33323bb..e10d679 100644
--- a/src/main/java/com/zy/common/model/LocDto.java
+++ b/src/main/java/com/zy/common/model/LocDto.java
@@ -2,6 +2,7 @@
 
 import com.core.common.Cools;
 import com.zy.asrs.entity.LocDetl;
+import com.zy.common.entity.OrderGiftProofreadingExcel;
 import lombok.Data;
 
 import java.util.List;
@@ -51,6 +52,18 @@
     public LocDto() {
     }
 
+    public LocDto(OrderGiftProofreadingExcel excel) {
+        this.matnr = excel.getMatnr();
+        this.model = excel.getModel();
+        this.orderNo = excel.getOrderNo();
+        this.batch = excel.getBatch();
+        this.memo = excel.getMemo();
+        this.weight = excel.getWeight();
+        this.volume = excel.getVolume();
+        this.price = excel.getPrice();
+        this.specs = excel.getSpecs();
+    }
+
     public LocDto(String locNo, String matnr, String batch, Double anfme) {
         this.locNo = locNo;
         this.matnr = matnr;
diff --git a/src/main/webapp/static/js/orderGift/orderGift.js b/src/main/webapp/static/js/orderGift/orderGift.js
index 69d6a12..4fa5d6b 100644
--- a/src/main/webapp/static/js/orderGift/orderGift.js
+++ b/src/main/webapp/static/js/orderGift/orderGift.js
@@ -1,5 +1,6 @@
 var insTbCount = 0;
 var tableCache2 = [];
+var admin;
 layui.config({
     base: baseUrl + "/static/layui/lay/modules/"
 }).extend({
@@ -11,7 +12,7 @@
     var table = layui.table;
     var util = layui.util;
     var upload = layui.upload;
-    var admin = layui.admin;
+    admin = layui.admin;
     var xmSelect = layui.xmSelect;
     var layDate = layui.laydate;
     var laytpl = layui.laytpl;
@@ -891,7 +892,6 @@
 
 // excel瀵煎叆
 function importExcel() {
-    console.log("瀵煎叆")
     $("#importExcel").trigger("click");
 }
 function upload(obj){
diff --git a/src/main/webapp/views/orderGift/orderGift.html b/src/main/webapp/views/orderGift/orderGift.html
index 834f3f6..5e0142e 100644
--- a/src/main/webapp/views/orderGift/orderGift.html
+++ b/src/main/webapp/views/orderGift/orderGift.html
@@ -90,6 +90,7 @@
             <table id="order" lay-filter="order"></table>
         </div>
     </div>
+    <span style="display: none"><input id="importExcel" type="file" onchange="upload(this)">鍚姩鍑哄簱</span>
     <div class="layui-card">
         <div class="layui-card-body">
 <!--            鍏ュ簱閫氱煡鍗曪細鐢盓RP鎻愪緵鍗曟嵁缂栧彿銆佺被鍨嬨�佸崟鎹椂闂村強鐗╂枡鏄庣粏锛岀敓鎴愬叆搴撲綔涓氬崟锛屼负缁存姢绯荤粺楂樺彲鐢紝鐢ㄦ埛鍙嚜琛屾坊鍔犲叆搴撻�氱煡鍗曟暟鎹紝瀹屾垚鐙珛鐨勫叆搴撲綔涓氥��-->
@@ -98,7 +99,6 @@
         </div>
     </div>
 </div>
-
 <div id="myModal"  style="display: none">
     <div style="padding: 10px">
         <div class="layui-upload">

--
Gitblit v1.9.1