From 985c427122c8aa1e421bdec8c13e8947117f967d Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期二, 18 二月 2025 14:29:29 +0800
Subject: [PATCH] 兼容四期

---
 src/main/java/com/zy/asrs/controller/OrderController.java |  455 ++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 342 insertions(+), 113 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index ae3270a..920a63a 100644
--- a/src/main/java/com/zy/asrs/controller/OrderController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderController.java
@@ -8,7 +8,6 @@
 import com.core.common.*;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
-import com.zy.asrs.entity.param.AgvMobileStartPakin;
 import com.zy.asrs.entity.param.OrderDomainParam;
 import com.zy.asrs.entity.result.WrkTraceVo;
 import com.zy.asrs.service.*;
@@ -63,7 +62,7 @@
     @Transactional
     @ManagerAuth(memo = "鍏ュ簱鍗曟嵁绫诲瀷")
     @Synchronized
-    public R docTypeList(){
+    public R docTypeList() {
         List<DocType> result = new ArrayList<>();
         List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakin", 1));
         List<Long> unDocIds = new ArrayList<>();
@@ -83,7 +82,7 @@
     @Transactional
     @ManagerAuth(memo = "鍑哄簱鍗曟嵁绫诲瀷")
     @Synchronized
-    public R docTypeOutList(){
+    public R docTypeOutList() {
         List<DocType> result = new ArrayList<>();
         List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakout", 1));
         List<Long> unDocIds = new ArrayList<>();
@@ -103,7 +102,7 @@
 
     @RequestMapping(value = "/order/nav/list/auth")
     @ManagerAuth
-    public R navList(@RequestParam(required = false) String orderNo){
+    public R navList(@RequestParam(required = false) String orderNo) {
         EntityWrapper<Order> wrapper = new EntityWrapper<>();
         if (!Cools.isEmpty(orderNo)) {
             wrapper.like("order_no", orderNo);
@@ -131,15 +130,17 @@
 
     @RequestMapping(value = "/order/head/page/auth")
     @ManagerAuth
-    public R head(@RequestParam(defaultValue = "1")Integer curr,
-                  @RequestParam(defaultValue = "10")Integer limit,
-                  @RequestParam(required = false)String orderByField,
-                  @RequestParam(required = false)String orderByType,
-                  @RequestParam Map<String, Object> param){
+    public R head(@RequestParam(defaultValue = "1") Integer curr,
+                  @RequestParam(defaultValue = "10") Integer limit,
+                  @RequestParam(required = false) String orderByField,
+                  @RequestParam(required = false) String orderByType,
+                  @RequestParam Map<String, Object> param) {
         EntityWrapper<Order> wrapper = new EntityWrapper<>();
         excludeTrash(param);
         convert(param, wrapper);
-        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else {
+        if (!Cools.isEmpty(orderByField)) {
+            wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
+        } else {
             wrapper.orderBy("settle").orderBy("create_time", false);
         }
         wrapper.eq("status", 1);
@@ -149,15 +150,17 @@
     //  鎵�鏈夊叆搴撹鍗�
     @RequestMapping(value = "/order/detls/in/page/auth")
     @ManagerAuth
-    public R orderIn(@RequestParam(defaultValue = "1")Integer curr,
-                  @RequestParam(defaultValue = "10000")Integer limit,
-                  @RequestParam(required = false)String orderByField,
-                  @RequestParam(required = false)String orderByType,
-                  @RequestParam Map<String, Object> param){
+    public R orderIn(@RequestParam(defaultValue = "1") Integer curr,
+                     @RequestParam(defaultValue = "10000") Integer limit,
+                     @RequestParam(required = false) String orderByField,
+                     @RequestParam(required = false) String orderByType,
+                     @RequestParam Map<String, Object> param) {
         EntityWrapper<Order> wrapper = new EntityWrapper<>();
         excludeTrash(param);
         convert(param, wrapper);
-        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else {
+        if (!Cools.isEmpty(orderByField)) {
+            wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
+        } else {
             wrapper.orderBy("settle").orderBy("create_time", false);
         }
         wrapper.eq("status", 1);
@@ -166,18 +169,18 @@
         for (DocType pakin : pakins) {
             docIds.add(pakin.getDocId());
         }
-        wrapper.in("doc_type",docIds);
+        wrapper.in("doc_type", docIds);
         return R.ok(orderService.selectPage(new Page<>(curr, limit), wrapper));
     }
 
     //  鎵�鏈夊叆搴撹鍗曟槑缁�
     @RequestMapping(value = "/order/detls/pakin/page/auth")
     @ManagerAuth
-    public R orderDetls(@RequestParam(defaultValue = "1")Integer curr,
-                        @RequestParam(defaultValue = "100")Integer limit,
-                        @RequestParam(required = false)String orderByField,
-                        @RequestParam(required = false)String orderByType,
-                        @RequestParam Map<String, Object> param){
+    public R orderDetls(@RequestParam(defaultValue = "1") Integer curr,
+                        @RequestParam(defaultValue = "100") Integer limit,
+                        @RequestParam(required = false) String orderByField,
+                        @RequestParam(required = false) String orderByType,
+                        @RequestParam Map<String, Object> param) {
         EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
         excludeTrash(param);
         convert(param, wrapper);
@@ -189,7 +192,7 @@
                 docIds.add(pakin.getDocId());
             }
         }
-        wrapper.in("source",docIds);
+        wrapper.in("source", docIds);
         return R.ok(orderDetlService.selectPage(new Page<>(curr, limit), wrapper));
 //        EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
 //        excludeTrash(param);
@@ -212,14 +215,44 @@
 //        return R.ok(orderDetlService.selectPage(new Page<>(curr, limit), wrapper));
     }
 
+
+    //  鍏ュ簱璁㈠崟鏄庣粏
+    @RequestMapping(value = "/order/detls/pakin/page/auth/v2")
+    @ManagerAuth
+    public R orderDetlsV2(@RequestParam(defaultValue = "1") Integer curr,
+                        @RequestParam(defaultValue = "100") Integer limit,
+                        @RequestParam(required = false) String orderByField,
+                        @RequestParam(required = false) String orderByType,
+                        @RequestParam Map<String, Object> param) {
+        EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
+        excludeTrash(param);
+        Object o = param.get("orderType");
+        if (o != null) {
+            String[] split = o.toString().split(",");
+            wrapper.in("source", split);
+            param.remove("orderType");
+        }
+        convert(param, wrapper);
+//        List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakin", 1));
+//        List<Long> docIds = new ArrayList<>();
+//        for (DocType pakin : pakins) {
+//            if (pakin.getDocId() != 32) {
+//                docIds.add(pakin.getDocId());
+//            }
+//        }
+
+        return R.ok(orderDetlService.selectPage(new Page<>(curr, limit), wrapper));
+    }
+
+
     @RequestMapping(value = "/order/detls/pakin")
     @ManagerAuth
-    public R orderDetlsIn(@RequestParam(defaultValue = "1")Integer curr,
-                        @RequestParam(defaultValue = "100")Integer limit,
-                        @RequestParam(required = false)String orderByField,
-                        @RequestParam(required = false)String orderByType,
-                        @RequestParam(required = false)Long docType,
-                        @RequestParam Map<String, Object> param){
+    public R orderDetlsIn(@RequestParam(defaultValue = "1") Integer curr,
+                          @RequestParam(defaultValue = "100") Integer limit,
+                          @RequestParam(required = false) String orderByField,
+                          @RequestParam(required = false) String orderByType,
+                          @RequestParam(required = false) Long docType,
+                          @RequestParam Map<String, Object> param) {
         EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
         param.remove("docType");
         excludeTrash(param);
@@ -240,13 +273,13 @@
 
         if (docIds.size() > 0) {
             if (docType > 0) {
-                wrapper.in("source",docType);
+                wrapper.in("source", docType);
             } else {
-                wrapper.in("source",docIds);
+                wrapper.in("source", docIds);
             }
 
         } else {
-            wrapper.in("source",0);
+            wrapper.in("source", 0);
         }
 
         return R.ok(orderDetlService.selectPage(new Page<>(curr, limit), wrapper));
@@ -254,11 +287,11 @@
 
     @RequestMapping(value = "/order/wait/detls/pakin/page/auth")
     @ManagerAuth
-    public R waitOrderDetls(@RequestParam(defaultValue = "1")Integer curr,
-                        @RequestParam(defaultValue = "100")Integer limit,
-                        @RequestParam(required = false)String orderByField,
-                        @RequestParam(required = false)String orderByType,
-                        @RequestParam Map<String, Object> param){
+    public R waitOrderDetls(@RequestParam(defaultValue = "1") Integer curr,
+                            @RequestParam(defaultValue = "100") Integer limit,
+                            @RequestParam(required = false) String orderByField,
+                            @RequestParam(required = false) String orderByType,
+                            @RequestParam Map<String, Object> param) {
         EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
         excludeTrash(param);
         convert(param, wrapper);
@@ -266,22 +299,22 @@
         List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakin", 1));
         List<Long> docIds = new ArrayList<>();
         for (DocType pakin : pakins) {
-            if (pakin.getDocId() == 36) {
+            if (pakin.getDocId() == 36||pakin.getDocId() == 39) {
                 docIds.add(pakin.getDocId());
             }
         }
-        wrapper.in("source",docIds);
+        wrapper.in("source", docIds);
         return R.ok(orderDetlService.selectPage(new Page<>(curr, limit), wrapper));
     }
 
     //  鎵�鏈夊叆搴撹鍗曟槑缁�
     @RequestMapping(value = "/order/bcp/detls/pakin/page/auth")
     @ManagerAuth
-    public R bcpOrderDetls(@RequestParam(defaultValue = "1")Integer curr,
-                        @RequestParam(defaultValue = "100")Integer limit,
-                        @RequestParam(required = false)String orderByField,
-                        @RequestParam(required = false)String orderByType,
-                        @RequestParam Map<String, Object> param){
+    public R bcpOrderDetls(@RequestParam(defaultValue = "1") Integer curr,
+                           @RequestParam(defaultValue = "100") Integer limit,
+                           @RequestParam(required = false) String orderByField,
+                           @RequestParam(required = false) String orderByType,
+                           @RequestParam Map<String, Object> param) {
         EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
         excludeTrash(param);
         convert(param, wrapper);
@@ -293,17 +326,17 @@
                 docIds.add(pakin.getDocId());
             }
         }
-        wrapper.in("source",docIds);
+        wrapper.in("source", docIds);
         return R.ok(orderDetlService.selectPage(new Page<>(curr, limit), wrapper));
     }
 
     @RequestMapping(value = "/order/bcpDb/detls/pakin/page/auth")
     @ManagerAuth
-    public R bcpDbOrderDetls(@RequestParam(defaultValue = "1")Integer curr,
-                           @RequestParam(defaultValue = "100")Integer limit,
-                           @RequestParam(required = false)String orderByField,
-                           @RequestParam(required = false)String orderByType,
-                           @RequestParam Map<String, Object> param){
+    public R bcpDbOrderDetls(@RequestParam(defaultValue = "1") Integer curr,
+                             @RequestParam(defaultValue = "100") Integer limit,
+                             @RequestParam(required = false) String orderByField,
+                             @RequestParam(required = false) String orderByType,
+                             @RequestParam Map<String, Object> param) {
         EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
         excludeTrash(param);
         convert(param, wrapper);
@@ -315,21 +348,22 @@
                 docIds.add(pakin.getDocId());
             }
         }
-        wrapper.in("source",docIds);
+        wrapper.in("source", docIds);
         Page<OrderDetl> page = orderDetlService.selectPage(new Page<>(curr, limit), wrapper);
         for (OrderDetl record : page.getRecords()) {
-            Double sumAnfme = agvLocDetlService.getSumAnfmeDb(record.getMatnr(), record.getThreeCode(),1);
+            Double sumAnfme = agvLocDetlService.getSumAnfmeDb(record.getMatnr(), record.getThreeCode(), 1);
             record.setStock(sumAnfme == null ? 0 : sumAnfme);
         }
         return R.ok(page);
     }
+
     @RequestMapping(value = "/order/backStocks/detls/pakin/page/auth")
     @ManagerAuth
-    public R backStocksOrderDetls(@RequestParam(defaultValue = "1")Integer curr,
-                             @RequestParam(defaultValue = "100")Integer limit,
-                             @RequestParam(required = false)String orderByField,
-                             @RequestParam(required = false)String orderByType,
-                             @RequestParam Map<String, Object> param){
+    public R backStocksOrderDetls(@RequestParam(defaultValue = "1") Integer curr,
+                                  @RequestParam(defaultValue = "100") Integer limit,
+                                  @RequestParam(required = false) String orderByField,
+                                  @RequestParam(required = false) String orderByType,
+                                  @RequestParam Map<String, Object> param) {
         EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
         excludeTrash(param);
         convert(param, wrapper);
@@ -341,10 +375,10 @@
                 docIds.add(pakin.getDocId());
             }
         }
-        wrapper.in("source",docIds);
+        wrapper.in("source", docIds);
         Page<OrderDetl> page = orderDetlService.selectPage(new Page<>(curr, limit), wrapper);
         for (OrderDetl record : page.getRecords()) {
-            Double sumAnfme = agvLocDetlService.getSumAnfmeback(record.getMatnr(), record.getThreeCode(),1);
+            Double sumAnfme = agvLocDetlService.getSumAnfmeback(record.getMatnr(), record.getThreeCode(), 1);
             record.setStock(sumAnfme == null ? 0 : sumAnfme);
         }
         return R.ok(page);
@@ -352,14 +386,14 @@
 
     @RequestMapping(value = "/order/detl/all/auth")
     @ManagerAuth
-    public R head(@RequestParam Long orderId){
+    public R head(@RequestParam Long orderId) {
         return R.ok().add(orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_id", orderId)));
     }
 
     @RequestMapping(value = "/order/form/add/auth")
     @ManagerAuth(memo = "鎵嬪姩娣诲姞璁㈠崟")
     @Transactional
-    public R formAdd(@RequestBody OrderDomainParam param){
+    public R formAdd(@RequestBody OrderDomainParam param) {
         Order order = orderService.selectByNo(param.getOrderNo());
         long flowId = snowflakeIdWorker.nextId();
         if (order != null) {
@@ -417,9 +451,9 @@
             if (param.getDocType() != 32) {
                 orderDetl.setProcessSts(3);
             }
-            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
+            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getThreeCode().trim(), orderDetl.getProcessSts());
             if (DetlDto.has(list, dto)) {
-                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getThreeCode().trim(),orderDetl.getDeadTime());
+                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getThreeCode().trim(), orderDetl.getDeadTime());
                 Double anfme = item.getAnfme();
                 item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
                 if (!orderDetlService.updateById(item)) {
@@ -446,6 +480,9 @@
 //                }
             } else {
                 list.add(dto);
+                if (!Cools.isEmpty(orderDetl.getThreeCode())) {
+                    orderDetl.setThreeCode(orderDetl.getThreeCode().trim());
+                }
                 orderDetl.setOrderId(order.getId());
                 orderDetl.setOrderNo(order.getOrderNo());
                 orderDetl.setSource(param.getDocType().intValue());
@@ -523,13 +560,16 @@
             for (OrderDetl orderDetl : param.getOrderDetlList()) {
                 DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
                 if (DetlDto.has(dbList, dto)) {
-                    OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getThreeCode().trim(),orderDetl.getDeadTime());
+                    OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getThreeCode().trim(), orderDetl.getDeadTime());
                     item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
                     if (!orderDetlService.updateById(item)) {
                         throw new CoolException("鐢熸垚鍗婃垚鍝佽皟鎷ㄥ崟鏄庣粏妗eけ璐�");
                     }
                 } else {
                     dbList.add(dto);
+                    if (!Cools.isEmpty(orderDetl.getThreeCode())) {
+                        orderDetl.setThreeCode(orderDetl.getThreeCode().trim());
+                    }
                     orderDetl.setOrderId(order.getId());
                     orderDetl.setOrderNo(order.getOrderNo());
                     orderDetl.setSource(33);
@@ -591,15 +631,18 @@
                 List<DetlDto> dbList = new ArrayList<>();
                 for (OrderDetl orderDetl : param.getOrderDetlList()) {
                     if (orderDetl.getProcessSts() != 1) continue;
-                    DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
+                    DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getThreeCode().trim(), orderDetl.getProcessSts());
                     if (DetlDto.has(dbList, dto)) {
-                        OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getThreeCode().trim(),orderDetl.getDeadTime());
+                        OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getThreeCode().trim(), orderDetl.getDeadTime());
                         item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
                         if (!orderDetlService.updateById(item)) {
                             throw new CoolException("鐢熸垚鍗婃垚鍝佽皟鎷ㄥ崟鏄庣粏妗eけ璐�");
                         }
                     } else {
                         dbList.add(dto);
+                        if (!Cools.isEmpty(orderDetl.getThreeCode())) {
+                            orderDetl.setThreeCode(orderDetl.getThreeCode().trim());
+                        }
                         orderDetl.setOrderId(order.getId());
                         orderDetl.setOrderNo(order.getOrderNo());
                         orderDetl.setSource(35);
@@ -645,7 +688,7 @@
     @RequestMapping(value = "/order/form/modify/auth")
     @ManagerAuth(memo = "鎵嬪姩淇敼璁㈠崟")
     @Transactional
-    public R formModify(@RequestBody OrderDomainParam param){
+    public R formModify(@RequestBody OrderDomainParam param) {
         Order order = orderService.selectById(param.getOrderId());
         long flowId = snowflakeIdWorker.nextId();
         int docType = param.getDocType().intValue();
@@ -654,11 +697,16 @@
         }
         Date now = new Date();
         Long userId = getUserId();
+        StringBuffer tel = new StringBuffer();
+        for (OrderDetl orderDetl : param.getOrderDetlList()) {
+            tel.append(orderDetl.getThreeCode().trim()).append(";");
+        }
         // 淇敼涓绘。
         if (!param.getDocType().equals(order.getDocType())) {
             order.setDocType(param.getDocType());
             order.setUpdateBy(userId);
             order.setUpdateTime(now);
+            order.setTel(tel.toString());
             if (!orderService.updateById(order)) {
                 throw new CoolException("淇敼璁㈠崟绫诲瀷澶辫触");
             }
@@ -671,10 +719,11 @@
         }
         // 2.閲嶇粍鏁版嵁
         List<DetlDto> list = new ArrayList<>();
+
         for (OrderDetl orderDetl : param.getOrderDetlList()) {
-            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getAnfme(), orderDetl.getProcessSts());
+            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getThreeCode(), orderDetl.getProcessSts());
             if (DetlDto.has(list, dto)) {
-                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getThreeCode().trim(),orderDetl.getDeadTime());
+                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getThreeCode().trim(), orderDetl.getDeadTime());
                 Double anfme = item.getAnfme();
                 item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
                 if (!orderDetlService.updateById(item)) {
@@ -711,6 +760,9 @@
                     }
                 }
                 list.add(dto);
+                if (!Cools.isEmpty(orderDetl.getThreeCode())) {
+                    orderDetl.setThreeCode(orderDetl.getThreeCode().trim());
+                }
                 orderDetl.setOrderId(order.getId());
                 orderDetl.setOrderNo(order.getOrderNo());
                 orderDetl.setSource(docType);
@@ -827,22 +879,24 @@
 
     @RequestMapping(value = "/order/list/auth")
     @ManagerAuth
-    public R list(@RequestParam(defaultValue = "1")Integer curr,
-                  @RequestParam(defaultValue = "10")Integer limit,
-                  @RequestParam(required = false)String orderByField,
-                  @RequestParam(required = false)String orderByType,
-                  @RequestParam Map<String, Object> param){
+    public R list(@RequestParam(defaultValue = "1") Integer curr,
+                  @RequestParam(defaultValue = "10") Integer limit,
+                  @RequestParam(required = false) String orderByField,
+                  @RequestParam(required = false) String orderByType,
+                  @RequestParam Map<String, Object> param) {
         EntityWrapper<Order> 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));
+        }
         return R.ok(orderService.selectPage(new Page<>(curr, limit), wrapper));
     }
 
-    private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
-        for (Map.Entry<String, Object> entry : map.entrySet()){
+    private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) {
+        for (Map.Entry<String, Object> entry : map.entrySet()) {
             String val = String.valueOf(entry.getValue());
-            if (val.contains(RANGE_TIME_LINK)){
+            if (val.contains(RANGE_TIME_LINK)) {
                 String[] dates = val.split(RANGE_TIME_LINK);
                 wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
                 wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
@@ -854,9 +908,9 @@
 
     @RequestMapping(value = "/order/update/auth")
     @ManagerAuth
-    public R update(Order order){
-        if (Cools.isEmpty(order) || null == order.getId()){
-            return R.error();
+    public R update(Order order) {
+        if (Cools.isEmpty(order) || null == order.getId()) {
+            return R.error("鍙傛暟缂哄け");
         }
         order.setUpdateBy(getUserId());
         order.setUpdateTime(new Date());
@@ -869,7 +923,7 @@
     @RequestMapping(value = "/order/delete/auth")
     @ManagerAuth(memo = "鎵嬪姩鍒犻櫎璁㈠崟")
     @Transactional
-    public R delete(@RequestParam Long orderId){
+    public R delete(@RequestParam Long orderId) {
         orderService.remove(orderId);
         return R.ok();
     }
@@ -877,14 +931,14 @@
     @RequestMapping(value = "/order/report/auth")
     @ManagerAuth(memo = "鎵嬪姩涓婁紶璁㈠崟")
     @Transactional
-    public R report(@RequestParam Long orderId){
-        orderService.report(orderId,getUser().getUsername());
+    public R report(@RequestParam Long orderId) {
+        orderService.report(orderId, getUser().getUsername());
         return R.ok();
     }
 
     @RequestMapping(value = "/order/export/auth")
     @ManagerAuth
-    public R export(@RequestBody JSONObject param){
+    public R export(@RequestBody JSONObject param) {
         EntityWrapper<Order> wrapper = new EntityWrapper<>();
         List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
         Map<String, Object> map = excludeTrash(param.getJSONObject("order"));
@@ -900,7 +954,7 @@
         wrapper.like("id", condition);
         Page<Order> page = orderService.selectPage(new Page<>(0, 10), wrapper);
         List<Map<String, Object>> result = new ArrayList<>();
-        for (Order order : page.getRecords()){
+        for (Order order : page.getRecords()) {
             Map<String, Object> map = new HashMap<>();
             map.put("id", order.getId());
             map.put("value", order.getOrderNo());
@@ -913,7 +967,7 @@
     @ManagerAuth
     public R query(@RequestBody JSONObject param) {
         Wrapper<Order> wrapper = new EntityWrapper<Order>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
-        if (null != orderService.selectOne(wrapper)){
+        if (null != orderService.selectOne(wrapper)) {
             return R.parse(BaseRes.REPEAT).add(getComment(Order.class, String.valueOf(param.get("key"))));
         }
         return R.ok();
@@ -938,8 +992,7 @@
         try {
             if (excelVersion == 2003) {
                 book = new HSSFWorkbook(inStream);
-            }
-            else {  // 褰� excel 鏄� 2007 鏃�
+            } else {  // 褰� excel 鏄� 2007 鏃�
                 book = new XSSFWorkbook(inStream);
             }
         } catch (Exception e) {
@@ -956,7 +1009,7 @@
             Integer proSts = 0;
             Row row = sheet.getRow(i);
             //鍗曟嵁绫诲瀷
-            String docName =  dataFormatter.formatCellValue(row.getCell(0)).trim();
+            String docName = dataFormatter.formatCellValue(row.getCell(0)).trim();
             //鍗曟嵁缂栧彿
             String uuid = dataFormatter.formatCellValue(row.getCell(1)).trim();
             //鐗╂枡鍙�
@@ -966,7 +1019,7 @@
             //鑷敱椤�
             String isocode = dataFormatter.formatCellValue(row.getCell(4)).trim();
             // 鏁伴噺
-            if(Cools.isEmpty(dataFormatter.formatCellValue(row.getCell(5)))){
+            if (Cools.isEmpty(dataFormatter.formatCellValue(row.getCell(5)))) {
                 continue;
             }
             Double anfme = Double.parseDouble(dataFormatter.formatCellValue(row.getCell(5)));
@@ -1002,18 +1055,18 @@
             }
 
             String odNo = uuid;
-            if(docType.getPakin() == 1){
+            if (docType.getPakin() == 1) {
                 odNo += "_I";
-            }else {
+            } else {
                 odNo += "_O";
             }
-
+            Date date = new Date();
             Order order = orderService.selectByNo(odNo);
             if (null == order) {
                 order = new Order(
                         String.valueOf(snowflakeIdWorker.nextId()),    // 缂栧彿[闈炵┖]
                         odNo,    // 璁㈠崟缂栧彿
-                        null,    // 鍗曟嵁鏃ユ湡
+                        DateUtils.convert(date),    // 鍗曟嵁鏃ユ湡
                         docType.getDocId(),    // 鍗曟嵁绫诲瀷
                         null,    // 椤圭洰缂栧彿
                         null,    //
@@ -1049,17 +1102,17 @@
                 if (!orderService.insert(order)) {
                     throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃閲嶆柊瀵煎叆锛�");
                 }
-            }else {
+            } else {
                 //  鏈夊師璁㈠崟鍦ㄧ殑鎯呭喌
                 DocType orderType = docTypeService.selectById(order.getDocType());
                 if (!orderType.getDocName().equals(docName)) {
                     throw new CoolException("鏂拌鍗曪細" + uuid + " 涓庣郴缁熷唴鐨勮鍗曞彿鐩稿悓锛屽崟鎹被鍨嬩笉鍚屻�傝纭鏂拌鍗曞崟鎹被鍨嬶紒");
                 }
-                order.setSettle(order.getSettle() == 1L ? 1L : 2L );
+                order.setSettle(order.getSettle() == 1L ? 1L : 2L);
                 orderService.updateById(order);
             }
 
-            OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), matnr, null,csocode,isocode);
+            OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), matnr, null, csocode, isocode);
             if (orderDetl == null) {
                 orderDetl = new OrderDetl();
                 orderDetl.sync(mat);
@@ -1081,10 +1134,10 @@
                     throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃閲嶆柊瀵煎叆锛�");
                 }
             } else {
-                if (anfme < 0)  {
+                if (anfme < 0) {
                     throw new CoolException("璁㈠崟鏁伴噺涓嶅厑璁镐负璐熸暟锛�");
                 }
-                if(!orderDetlService.increaseAnfme(order.getId(), matnr, null, anfme,csocode,isocode)) {
+                if (!orderDetlService.increaseAnfme(order.getId(), matnr, null, anfme, csocode, isocode)) {
                     throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃閲嶆柊瀵煎叆锛�");
                 }
             }
@@ -1096,7 +1149,7 @@
                     order2 = new Order(
                             String.valueOf(snowflakeIdWorker.nextId()),    // 缂栧彿[闈炵┖]
                             dbUuid,    // 璁㈠崟缂栧彿
-                            null,    // 鍗曟嵁鏃ユ湡
+                            DateUtils.convert(date),    // 鍗曟嵁鏃ユ湡
                             33L,    // 鍗曟嵁绫诲瀷
                             null,    // 椤圭洰缂栧彿
                             null,    //
@@ -1132,12 +1185,12 @@
                     if (!orderService.insert(order2)) {
                         throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃閲嶆柊瀵煎叆锛�");
                     }
-                }else {
-                    order2.setSettle(order2.getSettle() == 1L ? 1L : 2L );
+                } else {
+                    order2.setSettle(order2.getSettle() == 1L ? 1L : 2L);
                     orderService.updateById(order2);
                 }
 
-                OrderDetl orderDetl2 = orderDetlService.selectItem(order2.getId(), matnr, null,csocode,isocode);
+                OrderDetl orderDetl2 = orderDetlService.selectItem(order2.getId(), matnr, null, csocode, isocode);
                 if (orderDetl2 == null) {
                     orderDetl2 = new OrderDetl();
                     orderDetl2.sync(mat);
@@ -1159,7 +1212,7 @@
                         throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃閲嶆柊瀵煎叆锛�");
                     }
                 } else {
-                    if(!orderDetlService.increaseAnfme(order2.getId(), matnr, null, anfme,csocode,isocode)) {
+                    if (!orderDetlService.increaseAnfme(order2.getId(), matnr, null, anfme, csocode, isocode)) {
                         throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃閲嶆柊瀵煎叆锛�");
                     }
                 }
@@ -1174,7 +1227,7 @@
                         order3 = new Order(
                                 String.valueOf(snowflakeIdWorker.nextId()),    // 缂栧彿[闈炵┖]
                                 dbUuid,    // 璁㈠崟缂栧彿
-                                null,    // 鍗曟嵁鏃ユ湡
+                                DateUtils.convert(date),    // 鍗曟嵁鏃ユ湡
                                 35L,    // 鍗曟嵁绫诲瀷
                                 null,    // 椤圭洰缂栧彿
                                 null,    //
@@ -1210,12 +1263,12 @@
                         if (!orderService.insert(order3)) {
                             throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃閲嶆柊瀵煎叆锛�");
                         }
-                    }else {
-                        order3.setSettle(order3.getSettle() == 1L ? 1L : 2L );
+                    } else {
+                        order3.setSettle(order3.getSettle() == 1L ? 1L : 2L);
                         orderService.updateById(order3);
                     }
 
-                    OrderDetl orderDetl3 = orderDetlService.selectItem(order3.getId(), matnr, null,csocode,isocode);
+                    OrderDetl orderDetl3 = orderDetlService.selectItem(order3.getId(), matnr, null, csocode, isocode);
                     if (orderDetl3 == null) {
                         orderDetl3 = new OrderDetl();
                         orderDetl3.sync(mat);
@@ -1237,7 +1290,7 @@
                             throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃閲嶆柊瀵煎叆锛�");
                         }
                     } else {
-                        if(!orderDetlService.increaseAnfme(order3.getId(), matnr, null, anfme,csocode,isocode)) {
+                        if (!orderDetlService.increaseAnfme(order3.getId(), matnr, null, anfme, csocode, isocode)) {
                             throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃閲嶆柊瀵煎叆锛�");
                         }
                     }
@@ -1265,8 +1318,7 @@
         try {
             if (excelVersion == 2003) {
                 book = new HSSFWorkbook(inStream);
-            }
-            else {  // 褰� excel 鏄� 2007 鏃�
+            } else {  // 褰� excel 鏄� 2007 鏃�
                 book = new XSSFWorkbook(inStream);
             }
         } catch (Exception e) {
@@ -1281,7 +1333,7 @@
         for (int i = 1; i < totalRows; i++) {
             Row row = sheet.getRow(i);
             //鍗曟嵁绫诲瀷
-            String docName =  dataFormatter.formatCellValue(row.getCell(0));
+            String docName = dataFormatter.formatCellValue(row.getCell(0));
             //鍗曟嵁缂栧彿
             String uuid = dataFormatter.formatCellValue(row.getCell(1));
             //鐗╂枡鍙�
@@ -1295,4 +1347,181 @@
         return R.ok("瀵煎叆鎴愬姛").add(strs);
     }
 
+
+    /**
+     * excel瀵煎叆
+     */
+    @PostMapping(value = "/order/excel/import3/auth")
+    @ManagerAuth(memo = "鍗曟嵁Excel瀵煎叆")
+    @Transactional
+    public R cstmrExcelImport3(MultipartFile file) throws IOException {
+        InputStream inStream = file.getInputStream();
+        String fileMime = file.getContentType();
+        int excelVersion = 2007;
+        if ("application/vnd.ms-excel".equals(fileMime)) {
+            excelVersion = 2003;
+        }
+        Workbook book = null;
+        try {
+            if (excelVersion == 2003) {
+                book = new HSSFWorkbook(inStream);
+            } else {  // 褰� excel 鏄� 2007 鏃�
+                book = new XSSFWorkbook(inStream);
+            }
+        } catch (Exception e) {
+            log.error("fail", e);
+            return R.error("瀵煎叆鏂囦欢鏍煎紡閿欒锛岃浣跨敤xls鍚庣紑鐨勬枃浠讹紒");
+        }
+
+        Sheet sheet = book.getSheetAt(0);
+        int totalRows = sheet.getLastRowNum() + 1;    // 鎬�
+        Long userId = getUserId();
+        Date now = new Date();
+        DataFormatter dataFormatter = new DataFormatter();
+        for (int i = 1; i < totalRows; i++) {
+            Integer proSts = 0;
+            Row row = sheet.getRow(i);
+            //鍗曟嵁绫诲瀷
+            String docName = dataFormatter.formatCellValue(row.getCell(0)).trim();
+            //鍗曟嵁缂栧彿
+            String uuid = dataFormatter.formatCellValue(row.getCell(1)).trim();
+            //鐗╂枡鍙�
+            String matnr = dataFormatter.formatCellValue(row.getCell(2)).trim();
+            //閿�鍞崟鍙�
+            String csocode = dataFormatter.formatCellValue(row.getCell(3)).trim();
+            //鑷敱椤�
+            String isocode = dataFormatter.formatCellValue(row.getCell(4)).trim();
+            // 鏁伴噺
+            if (Cools.isEmpty(dataFormatter.formatCellValue(row.getCell(5)))) {
+                continue;
+            }
+            Double anfme = Double.parseDouble(dataFormatter.formatCellValue(row.getCell(5)));
+
+            Mat mat = matService.selectByMatnr(matnr);
+            if (null == mat) {
+                throw new CoolException(matnr + "鍟嗗搧缂栫爜鐨勫晢鍝佷笉瀛樺湪锛岃閲嶆柊瀵煎叆锛�");
+            }
+            DocType docType = docTypeService.selectOne(new EntityWrapper<DocType>().eq("doc_name", docName));
+
+            String odNo = uuid;
+            if (docType.getPakin() == 1) {
+                odNo += "_I";
+            } else {
+                odNo += "_O";
+            }
+            if (docName.contains("璋冩嫧鍗�")) {
+                odNo = "DB" + odNo;
+            } else if (docName.contains("鍔犲伐鍗�")) {
+                odNo = "JG" + odNo;
+            } else {
+                if (docType.getPakin() == 1) {
+                    odNo += "_I";
+                } else {
+                    odNo += "_O";
+                }
+            }
+            Date date = new Date();
+            Order order = orderService.selectByNo(odNo);
+            if (null == order) {
+                order = new Order(
+                        String.valueOf(snowflakeIdWorker.nextId()),    // 缂栧彿[闈炵┖]
+                        odNo,    // 璁㈠崟缂栧彿
+                        DateUtils.convert(date),    // 鍗曟嵁鏃ユ湡
+                        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,    // 鐗╂祦鍗曞彿
+                        1L,    // 璁㈠崟鐘舵��
+                        1,    // 鐘舵��
+                        userId,    // 娣诲姞浜哄憳
+                        now,    // 娣诲姞鏃堕棿
+                        userId,    // 淇敼浜哄憳
+                        now,    // 淇敼鏃堕棿
+                        null    // 澶囨敞
+                );
+                if (!orderService.insert(order)) {
+                    throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃閲嶆柊瀵煎叆锛�");
+                }
+            } else {
+                //  鏈夊師璁㈠崟鍦ㄧ殑鎯呭喌
+                DocType orderType = docTypeService.selectById(order.getDocType());
+                if (!orderType.getDocName().equals(docName)) {
+                    throw new CoolException("鏂拌鍗曪細" + uuid + " 涓庣郴缁熷唴鐨勮鍗曞彿鐩稿悓锛屽崟鎹被鍨嬩笉鍚屻�傝纭鏂拌鍗曞崟鎹被鍨嬶紒");
+                }
+                order.setSettle(order.getSettle() == 1L ? 1L : 2L);
+                orderService.updateById(order);
+            }
+
+            OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), matnr, null, csocode, isocode);
+            if (orderDetl == null) {
+                orderDetl = new OrderDetl();
+                orderDetl.sync(mat);
+                orderDetl.setSource(docType.getDocId().intValue());
+                orderDetl.setBatch(null);
+                orderDetl.setAnfme(anfme);
+                orderDetl.setOrderId(order.getId());
+                orderDetl.setOrderNo(order.getOrderNo());
+                orderDetl.setCreateBy(userId);
+                orderDetl.setCreateTime(now);
+                orderDetl.setUpdateBy(userId);
+                orderDetl.setUpdateTime(now);
+                orderDetl.setThreeCode(csocode);
+                orderDetl.setDeadTime(isocode);
+                orderDetl.setStatus(1);
+                orderDetl.setQty(0.0D);
+                orderDetl.setProcessSts(proSts);
+                if (!orderDetlService.insert(orderDetl)) {
+                    throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃閲嶆柊瀵煎叆锛�");
+                }
+            } else {
+                if (anfme < 0) {
+                    throw new CoolException("璁㈠崟鏁伴噺涓嶅厑璁镐负璐熸暟锛�");
+                }
+                if (!orderDetlService.increaseAnfme(order.getId(), matnr, null, anfme, csocode, isocode)) {
+                    throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃閲嶆柊瀵煎叆锛�");
+                }
+            }
+
+        }
+        return R.ok("瀵煎叆鎴愬姛");
+    }
+
+
+//    @RequestMapping(value = "/order/sync")
+//    @Transactional
+//    public R sync() {
+//        List<Order> orders = orderService.selectList(new EntityWrapper<Order>().isNull("tel"));
+//        for (Order order : orders) {
+//            List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
+//            if (orderDetls.isEmpty()) {
+//                return R.ok();
+//            }
+//            Set<String> collect = orderDetls.stream().map(x -> x.getThreeCode()).collect(Collectors.toSet());
+//            if (!collect.isEmpty() && collect.size() > 0) {
+//                log.info("璁㈠崟鍙穥}锛屽悓姝ユ暟鎹畕}", order.getId(), collect);
+//                orderService.updateTel(order.getId(), JSON.toJSONString(collect));
+//            }
+//        }
+//        return R.ok();
+//    }
 }

--
Gitblit v1.9.1