From f9a1f1b0a23bb8bc33a4a649f61f9efcce349279 Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期四, 10 八月 2023 13:20:01 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/OrderController.java |  489 +++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 445 insertions(+), 44 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index 1d557aa..3cb5159 100644
--- a/src/main/java/com/zy/asrs/controller/OrderController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderController.java
@@ -1,5 +1,7 @@
 package com.zy.asrs.controller;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
@@ -7,18 +9,26 @@
 import com.core.annotations.ManagerAuth;
 import com.core.common.*;
 import com.core.exception.CoolException;
-import com.zy.asrs.entity.Order;
-import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.InFormIdParam;
 import com.zy.asrs.entity.param.OrderDomainParam;
-import com.zy.asrs.service.OrderDetlService;
-import com.zy.asrs.service.OrderService;
+import com.zy.asrs.service.*;
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.task.kingdee.handler.LoginAuthenticationHandler;
+import com.zy.common.model.DetlDto;
+import com.zy.common.utils.HttpHandler;
 import com.zy.common.web.BaseController;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.*;
-
+@Slf4j
 @RestController
 public class OrderController extends BaseController {
 
@@ -28,6 +38,62 @@
     private OrderDetlService orderDetlService;
     @Autowired
     private SnowflakeIdWorker snowflakeIdWorker;
+    @Autowired
+    private DocTypeService docTypeService;
+    @Autowired
+    private WrkDetlService wrkDetlService;
+    @Autowired
+    private WaitPakinService waitPakinService;
+    @Autowired
+    private LocDetlService locDetlService;
+    @Value("${erp.address.URL}")
+    //绔彛
+    private String URL;
+
+    @Value("${erp.address.inaddress}")
+    //鍗曟嵁锛屽晢鍝佹。妗堝湴鍧�
+    private String inaddress;
+
+    @Autowired
+    private ApiLogService apiLogService;
+
+    @Autowired
+    private LoginAuthenticationHandler loginAuthenticationHandler;
+
+    @Autowired
+    private MatService matService;
+
+    @Autowired
+    private TagService tagService;
+
+
+    @RequestMapping(value = "/order/nav/list/auth")
+    @ManagerAuth
+    public R navList(@RequestParam(required = false) String orderNo){
+        EntityWrapper<Order> wrapper = new EntityWrapper<>();
+        if (!Cools.isEmpty(orderNo)) {
+            wrapper.like("order_no", orderNo);
+        }
+        wrapper.le("settle", 2).eq("status", 1);
+        wrapper.orderBy("create_time", false);
+        List<Order> orders = orderService.selectList(wrapper);
+        // 淇濈暀鍑哄簱鍗�
+        if (!Cools.isEmpty(orders)) {
+            Iterator<Order> iterator = orders.iterator();
+            while (iterator.hasNext()) {
+                Order order = iterator.next();
+                if (order.getDocType() != null) {
+                    DocType docType = docTypeService.selectById(order.getDocType());
+                    if (docType != null) {
+                        if (docType.getPakout() == 0) {
+                            iterator.remove();
+                        }
+                    }
+                }
+            }
+        }
+        return R.ok().add(orders);
+    }
 
     @RequestMapping(value = "/order/head/page/auth")
     @ManagerAuth
@@ -40,7 +106,7 @@
         excludeTrash(param);
         convert(param, wrapper);
         if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else {
-            wrapper.orderBy("create_time", false);
+            wrapper.orderBy("settle").orderBy("create_time", false);
         }
         wrapper.eq("status", 1);
         return R.ok(orderService.selectPage(new Page<>(curr, limit), wrapper));
@@ -56,6 +122,14 @@
     @ManagerAuth(memo = "鎵嬪姩娣诲姞璁㈠崟")
     @Transactional
     public R formAdd(@RequestBody OrderDomainParam param){
+        if(Cools.isEmpty(param.getOrderNo())){
+            String prefix = "";
+            DocType docType = docTypeService.selectById(param.getDocType());
+            if(!Cools.isEmpty(docType)){
+                prefix = docType.getPakin() == 1 ? "RK" : "CK";
+            }
+            param.setOrderNo(prefix + snowflakeIdWorker.nextId());
+        }
         Order order = orderService.selectByNo(param.getOrderNo());
         if (order != null) {
             return R.error("鍗曟嵁缂栧彿宸插瓨鍦�");
@@ -100,15 +174,28 @@
         if (!orderService.insert(order)) {
             throw new CoolException("淇濆瓨璁㈠崟涓绘。澶辫触");
         }
+        List<DetlDto> list = new ArrayList<>();
         for (OrderDetl orderDetl : param.getOrderDetlList()) {
-            orderDetl.setOrderId(order.getId());
-            orderDetl.setCreateBy(getUserId());
-            orderDetl.setCreateTime(now);
-            orderDetl.setUpdateBy(getUserId());
-            orderDetl.setUpdateTime(now);
-            orderDetl.setStatus(1);
-            if (!orderDetlService.insert(orderDetl)) {
-                throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
+            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
+            if (DetlDto.has(list, dto)) {
+                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch());
+                item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
+                if (!orderDetlService.updateById(item)) {
+                    throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
+                }
+            } else {
+                list.add(dto);
+                orderDetl.setOrderId(order.getId());
+                orderDetl.setOrderNo(order.getOrderNo());
+                orderDetl.setCreateBy(getUserId());
+                orderDetl.setCreateTime(now);
+                orderDetl.setUpdateBy(getUserId());
+                orderDetl.setUpdateTime(now);
+                orderDetl.setStatus(1);
+                orderDetl.setQty(0.0D);
+                if (!orderDetlService.insert(orderDetl)) {
+                    throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
+                }
             }
         }
         return R.ok("璁㈠崟娣诲姞鎴愬姛");
@@ -134,40 +221,38 @@
             }
         }
         // 淇敼鏄庣粏妗�
-        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
+//        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
         // 1.娓呯┖鏄庣粏妗�
         if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) {
             throw new CoolException("娓呯┖璁㈠崟鏄庣粏澶辫触");
         }
         // 2.閲嶇粍鏁版嵁
+        List<DetlDto> list = new ArrayList<>();
         for (OrderDetl orderDetl : param.getOrderDetlList()) {
-            OrderDetl detl = orderDetlService.findByLook(orderDetls, order.getId(), orderDetl.getMatnr(), orderDetl.getBatch());
-            // 鏂板
-            if (detl == null) {
-                detl = orderDetl;
-                detl.setOrderId(order.getId());
-                detl.setCreateTime(now);
-                detl.setCreateBy(userId);
-                detl.setUpdateTime(now);
-                detl.setUpdateBy(userId);
-                detl.setStatus(1);
-            // 淇敼
+            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
+            if (DetlDto.has(list, dto)) {
+                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch());
+                item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
+                if (!orderDetlService.updateById(item)) {
+                    throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
+                }
             } else {
-                detl.setAnfme(orderDetl.getAnfme());    // 淇敼鏁伴噺
-                detl.setUpdateTime(now);
-                detl.setUpdateBy(userId);
-            }
-            // 鎸佷箙鍖�
-            if (!orderDetlService.insert(detl)) {
-                throw new CoolException("鏂板璁㈠崟鏄庣粏澶辫触");
+                list.add(dto);
+                orderDetl.setOrderId(order.getId());
+                orderDetl.setOrderNo(order.getOrderNo());
+                orderDetl.setCreateBy(getUserId());
+                orderDetl.setCreateTime(now);
+                orderDetl.setUpdateBy(getUserId());
+                orderDetl.setUpdateTime(now);
+                orderDetl.setStatus(1);
+                orderDetl.setQty(0.0D);
+                if (!orderDetlService.insert(orderDetl)) {
+                    throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
+                }
             }
         }
         return R.ok("璁㈠崟淇敼鎴愬姛");
     }
-
-
-
-
 
 
     // ------------------------------------------------------------------------------------------------
@@ -205,16 +290,43 @@
         }
     }
 
+    @RequestMapping(value = "/order/update/auth")
+    @ManagerAuth
+    public R update(Order order){
+        if (Cools.isEmpty(order) || null == order.getId()){
+            return R.error();
+        }
+
+        //璁㈠崟瀹岀粨鍓嶏紝鍒ゆ柇鏄惁瀛樺湪浣滀笟涓暟鎹紝瀛樺湪鍒欎笉鑳藉畬缁�
+        if(order.getSettle() == 4){
+            int wrkCount = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("order_no",order.getOrderNo()));
+            int pakinCount = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("order_no",order.getOrderNo()));
+            if (wrkCount > 0 || pakinCount > 0) {
+                throw new CoolException("瀛樺湪浣滀笟涓暟鎹紝涓嶈兘瀹岀粨銆傝妫�鏌ュ叆搴撻�氱煡妗e拰宸ヤ綔妗�");
+            }
+        }
+
+        order.setUpdateBy(getUserId());
+        order.setUpdateTime(new Date());
+        if (!orderService.updateById(order)) {
+            throw new CoolException("淇敼璁㈠崟澶辫触");
+        }
+        return R.ok();
+    }
+
     @RequestMapping(value = "/order/delete/auth")
     @ManagerAuth(memo = "鎵嬪姩鍒犻櫎璁㈠崟")
+    @Transactional
     public R delete(@RequestParam Long orderId){
-        Order order = orderService.selectById(orderId);
-        if (order != null) {
-            order.setStatus(0);
-        }
-        if (!orderService.updateById(order)) {
-            throw new CoolException("鍒犻櫎璁㈠崟澶辫触");
-        }
+        orderService.remove(orderId);
+//        Order order = orderService.selectById(orderId);
+//        if (order != null) {
+//            order.setStatus(0);
+//        }
+//        if (!orderService.updateById(order)) {
+//            throw new CoolException("鍒犻櫎璁㈠崟澶辫触");
+//        }
+//        orderDetlService.modifyStatus(orderId, 0);
         return R.ok();
     }
 
@@ -255,4 +367,293 @@
         return R.ok();
     }
 
+
+    @RequestMapping(value = "/order/form/add/authtest")
+    @ManagerAuth(memo = "鎵嬪姩娣诲姞璁㈠崟")
+    @Transactional
+    public R formAddTest(@RequestBody OrderDomainParam param){
+        if(Cools.isEmpty(param.getOrderNo())){
+            String prefix = "";
+            DocType docType = docTypeService.selectById(param.getDocType());
+            if(!Cools.isEmpty(docType)){
+                prefix = docType.getPakin() == 1 ? "RK" : "CK";
+            }
+            param.setOrderNo(prefix + snowflakeIdWorker.nextId());
+        }
+        Order order = orderService.selectByNo(param.getOrderNo());
+        if (order != null) {
+            return R.error("鍗曟嵁缂栧彿宸插瓨鍦�");
+        }
+        Date now = new Date();
+        order = new Order(
+                String.valueOf(snowflakeIdWorker.nextId()),    // 缂栧彿[闈炵┖]
+                param.getOrderNo(),    // 璁㈠崟缂栧彿
+                DateUtils.convert(now),    // 鍗曟嵁鏃ユ湡
+                param.getDocType(),    // 鍗曟嵁绫诲瀷
+                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,    // 鐘舵��
+                getUserId(),    // 娣诲姞浜哄憳
+                now,    // 娣诲姞鏃堕棿
+                getUserId(),    // 淇敼浜哄憳
+                now,    // 淇敼鏃堕棿
+                null    // 澶囨敞
+        );
+        if (!orderService.insert(order)) {
+            throw new CoolException("淇濆瓨璁㈠崟涓绘。澶辫触");
+        }
+        List<DetlDto> list = new ArrayList<>();
+        for (OrderDetl orderDetl : param.getOrderDetlList()) {
+            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
+            if (DetlDto.has(list, dto)) {
+                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch());
+                item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
+                if (!orderDetlService.updateById(item)) {
+                    throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
+                }
+            } else {
+                list.add(dto);
+                orderDetl.setOrderId(order.getId());
+                orderDetl.setOrderNo(order.getOrderNo());
+                orderDetl.setCreateBy(getUserId());
+                orderDetl.setCreateTime(now);
+                orderDetl.setUpdateBy(getUserId());
+                orderDetl.setUpdateTime(now);
+                orderDetl.setStatus(1);
+                orderDetl.setQty(0.0D);
+
+                //缁欐坊鍔犲瓙璁㈠崟
+                Set<String> exist = new HashSet<>();
+                List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist);
+
+
+                if (!orderDetlService.insert(orderDetl)) {
+                    throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
+                }
+            }
+        }
+        return R.ok("璁㈠崟娣诲姞鎴愬姛");
+    }
+
+    @RequestMapping(value = "/order/form/KingDeeadd/authtest")
+    @ManagerAuth(memo = "鏍规嵁璁㈠崟绫诲瀷鍜岃鍗曠爜娣诲姞")
+    @Transactional
+    public R KingDeeformAddTest(@RequestBody OrderDomainParam param){
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        //鐧诲綍閲戣澏
+        ReturnT<String> start = loginAuthenticationHandler.start();
+        InFormIdParam inFormIdParam = new InFormIdParam();
+        //鏁伴噺瀛楁ncompatible types. Found: 'java.lang.Long', required: 'char, byte, short, int, Character, Byte, Short, Integer, String, or an enum'
+        String anfme =null;
+        int i=Long.valueOf(param.getDocType()).intValue();
+        switch (i){
+            //閲囪喘鍏ュ簱
+            case 13 : inFormIdParam.setFormId("STK_InStock");anfme ="FRealQty"; break;
+            //閲囪喘閫�鏂�
+            case 21 : inFormIdParam.setFormId("PUR_MRB");anfme ="FRMREALQTY"; break;
+            //鐢熶骇棰嗘枡
+            case 22 : inFormIdParam.setFormId("PRD_PickMtrl");anfme ="FActualQty"; break;
+            //鐢熶骇閫�鏂�
+            case 24 : inFormIdParam.setFormId("PRD_ReturnMtrl");anfme ="FQty"; break;
+            //鐢熶骇琛ユ枡
+            case 25 : inFormIdParam.setFormId("PRD_FeedMtrl");anfme ="FActualQty"; break;
+            //鐩存帴璋冩嫧鍗�
+            case 26 : inFormIdParam.setFormId("STK_TransferDirect");anfme ="FQty"; break;
+            //鐩樼泩鍗�
+            case 28 : inFormIdParam.setFormId("STK_StockCountGain");anfme ="FGainQty"; break;
+            //鐩樹簭鍗�
+            case 29 : inFormIdParam.setFormId("STK_StockCountLoss");anfme ="FLossQty"; break;
+            //鍏朵粬鍑哄簱
+            case 30 : inFormIdParam.setFormId("STK_MisDelivery");anfme ="FQty"; break;
+            //绠�鍗曠敓浜ч鏂�
+            case 31 : inFormIdParam.setFormId("SP_PickMtrl");anfme ="FActualQty"; break;
+            //绠�鍗曠敓浜ч��鏂�
+            case 32 : inFormIdParam.setFormId("SP_ReturnMtrl");anfme ="FQty"; break;
+            //閿�鍞嚭搴�
+            case 14 : inFormIdParam.setFormId("SAL_OUTSTOCK");anfme ="FRealQty"; break;
+            //閿�鍞��璐�
+            case 33 : inFormIdParam.setFormId("SAL_RETURNSTOCK");anfme ="FRealQty"; break;
+        }
+        inFormIdParam.setLimit(100);
+        inFormIdParam.setStartRow("0");
+        String FDocumentStatus = "B";
+
+        //鏉′欢鍜岄渶瑕佽幏寰楃殑缁撴灉鎷兼帴
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("FormId", inFormIdParam.getFormId());
+        jsonObject.put("Limit", inFormIdParam.getLimit());
+        jsonObject.put("StartRow", inFormIdParam.getStartRow());
+        //鍗曟嵁鐘舵��
+        FDocumentStatus="B";
+        //璁㈠崟鐮�
+        String orderNo= param.getOrderNo();
+        jsonObject.put("FilterString", "FBillNo='"+orderNo+"'and FStockId.Fname='绔嬪簱'"+" and FDocumentStatus='"+FDocumentStatus+"'");
+        jsonObject.put("FieldKeys", "FBillNo,FCreateDate,FMaterialId.FNumber,FMaterialId.FName,FMaterialId.FSpecification,"+anfme+",FDocumentStatus");
+        // FBillNo :鍗曟嵁缂栧彿锛�
+        // FCreateDate 锛氬崟鎹垱寤烘椂闂达紱
+        // FMaterialId.FNumber : 鐗╂枡缂栫爜锛�
+        // FMaterialName 锛氱墿鏂欏悕绉帮紱
+        // FMaterialId.FSpecification锛氱墿鏂欒鏍�
+        // anfme : 鐗╂枡鏁伴噺
+        // FDocumentStatus 锛氬崟鎹姸鎬侊紱
+        JSONObject jsonObject1 = new JSONObject();
+        jsonObject1.put("data", jsonObject);
+        String add = jsonObject1.toJSONString();
+
+        //涓婃姤
+        String response = "";
+        boolean success = false;
+        try {
+            //鑾峰彇Cookie鍊�
+            HashMap<String, Object> headers = new HashMap<>();
+            headers.put("Cookie", start.getContent());
+            response = new HttpHandler.Builder()
+                    .setHeaders(headers)
+                    .setUri(URL)
+                    .setPath(inaddress)
+                    .setJson(add)
+                    .build()
+                    .doPost();
+            JSONArray data = JSON.parseArray(response);
+            if(data.getJSONArray(0).get(0).toString().length()<20){
+                success = true;
+                for (int j = 0; j < data.size(); j++) {
+                    JSONArray jsonArray = data.getJSONArray(j);
+                    Order order = orderService.selectByNo(jsonArray.get(0).toString());
+                    if (Cools.isEmpty(order)) {
+                        DocType docType = docTypeService.selectById(param.getDocType());
+                        Date now = new Date();
+                        // 鍗曟嵁涓绘。
+                        order = new Order(
+                                String.valueOf(snowflakeIdWorker.nextId()),    // 缂栧彿[闈炵┖]
+                                jsonArray.get(0).toString(),    // 璁㈠崟缂栧彿
+                                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,    // 鐗╂祦鍗曞彿
+                                1L,    // 璁㈠崟鐘舵��
+                                1,    // 鐘舵��
+                                9527L,    // 娣诲姞浜哄憳
+                                now,    // 娣诲姞鏃堕棿
+                                9527L,    // 淇敼浜哄憳
+                                now,    // 淇敼鏃堕棿
+                                null    // 澶囨敞
+                        );
+                        //瀵圭編鍥芥椂闂磋繘琛岃浆鎹�
+                        DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
+                        DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
+                        LocalDateTime dateTime = LocalDateTime.parse(jsonArray.get(1).toString(), formatter);
+                        String format = dateFormat.format(dateTime);
+                        Date date = sdf.parse(format);
+                        //鏈�鏂版姄鍙栨椂闂�
+                        docType.setCreateTime(date);
+                        docTypeService.update(docType, new EntityWrapper<DocType>().eq("doc_id", param.getDocType()));
+                        if (!orderService.insert(order)) {
+                            throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�");
+                        }
+                    }
+                    //鐗╂枡缂栫爜
+                    Mat mat = matService.selectByMatnr(jsonArray.get(2).toString());
+                    if (Cools.isEmpty(mat)) {
+                        throw new CoolException(jsonArray.get(2).toString() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧");
+                    }
+                    OrderDetl orderDetl1 = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", jsonArray.get(0).toString()).eq("matnr", jsonArray.get(2).toString()));
+                    if (!Cools.isEmpty(orderDetl1)) {
+                        continue;
+                    }
+                    DocType docType = docTypeService.selectById(param.getDocType());
+                    OrderDetl orderDetl = new OrderDetl();
+                    orderDetl.sync(mat);
+                    orderDetl.setBatch(null);
+                    orderDetl.setAnfme(Double.parseDouble(jsonArray.get(5).toString()));
+                    orderDetl.setOrderId(order.getId());
+                    orderDetl.setOrderNo(order.getOrderNo());
+                    orderDetl.setCreateBy(9527L);
+                    orderDetl.setCreateTime(new Date());
+                    orderDetl.setUpdateBy(9527L);
+                    orderDetl.setUpdateTime(new Date());
+                    orderDetl.setStatus(1);
+                    orderDetl.setQty(0.0D);
+                    DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
+                    DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
+                    LocalDateTime dateTime = LocalDateTime.parse(jsonArray.get(1).toString(), formatter);
+                    String format = dateFormat.format(dateTime);
+                    Date date = sdf.parse(format);
+                    //鏈�鏂版姄鍙栨椂闂�
+                    docType.setCreateTime(date);
+                    if (!orderDetlService.insert(orderDetl)) {
+                        throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
+                    }
+                }
+            }else{
+                throw new CoolException("娌℃湁鎵惧埌鎸囧畾璁㈠崟锛岃鑱旂郴绠$悊鍛�");
+            }
+        } catch (Exception e) {
+            log.error("fail", e);
+//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+        } finally {
+            try {
+                // 淇濆瓨鎺ュ彛鏃ュ織
+                apiLogService.save(
+                        "杞鏁版嵁",
+                        URL + inaddress,
+                        null,
+                        "127.0.0.1",
+                        add,
+                        response,
+                        success
+                );
+            } catch (Exception e) {
+                log.error("", e);
+            }
+        }
+        return R.ok("璁㈠崟娣诲姞鎴愬姛");
+    }
+
+
+
+
 }

--
Gitblit v1.9.1