From eddd13490f2d17c70841d468cf5cac3779f9886b Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期三, 24 四月 2024 15:02:42 +0800
Subject: [PATCH] 添加图号

---
 src/main/java/com/zy/asrs/controller/OrderController.java |  518 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 473 insertions(+), 45 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index 93a9a57..3cb5159 100644
--- a/src/main/java/com/zy/asrs/controller/OrderController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderController.java
@@ -1,6 +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;
@@ -8,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.param.InitOrderParam;
-import com.zy.asrs.service.OrderDetlService;
-import com.zy.asrs.service.OrderService;
+import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.InFormIdParam;
+import com.zy.asrs.entity.param.OrderDomainParam;
+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 {
 
@@ -29,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
@@ -41,8 +106,9 @@
         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));
     }
 
@@ -53,9 +119,17 @@
     }
 
     @RequestMapping(value = "/order/form/add/auth")
-    @ManagerAuth
+    @ManagerAuth(memo = "鎵嬪姩娣诲姞璁㈠崟")
     @Transactional
-    public R formAdd(@RequestBody InitOrderParam param){
+    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,34 +174,85 @@
         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("璁㈠崟娣诲姞鎴愬姛");
     }
 
     @RequestMapping(value = "/order/form/modify/auth")
-    @ManagerAuth
-    public R formModify(@RequestBody InitOrderParam param){
-        System.out.println(JSON.toJSONString(param));
-        return R.ok();
+    @ManagerAuth(memo = "鎵嬪姩淇敼璁㈠崟")
+    @Transactional
+    public R formModify(@RequestBody OrderDomainParam param){
+        Order order = orderService.selectById(param.getOrderId());
+        if (order == null || order.getStatus() == 0) {
+            return R.error("璁㈠崟涓嶅瓨鍦�");
+        }
+        Date now = new Date();
+        Long userId = getUserId();
+        // 淇敼涓绘。
+        if (!param.getDocType().equals(order.getDocType())) {
+            order.setDocType(param.getDocType());
+            order.setUpdateBy(userId);
+            order.setUpdateTime(now);
+            if (!orderService.updateById(order)) {
+                throw new CoolException("淇敼璁㈠崟绫诲瀷澶辫触");
+            }
+        }
+        // 淇敼鏄庣粏妗�
+//        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()) {
+            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("璁㈠崟淇敼鎴愬姛");
     }
-
-
-
-
-
-
-
-
 
 
     // ------------------------------------------------------------------------------------------------
@@ -165,29 +290,43 @@
         }
     }
 
-    @RequestMapping(value = "/order/add/auth")
+    @RequestMapping(value = "/order/update/auth")
     @ManagerAuth
-    public R add(Order order) {
-        orderService.insert(order);
-        return R.ok();
-    }
-
-	@RequestMapping(value = "/order/update/auth")
-	@ManagerAuth
     public R update(Order order){
-        if (Cools.isEmpty(order) || null==order.getId()){
+        if (Cools.isEmpty(order) || null == order.getId()){
             return R.error();
         }
-        orderService.updateById(order);
+
+        //璁㈠崟瀹岀粨鍓嶏紝鍒ゆ柇鏄惁瀛樺湪浣滀笟涓暟鎹紝瀛樺湪鍒欎笉鑳藉畬缁�
+        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
-    public R delete(@RequestParam(value="ids[]") Long[] ids){
-         for (Long id : ids){
-            orderService.deleteById(id);
-        }
+    @ManagerAuth(memo = "鎵嬪姩鍒犻櫎璁㈠崟")
+    @Transactional
+    public R delete(@RequestParam Long orderId){
+        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();
     }
 
@@ -212,7 +351,7 @@
         for (Order order : page.getRecords()){
             Map<String, Object> map = new HashMap<>();
             map.put("id", order.getId());
-            map.put("value", order.getId());
+            map.put("value", order.getOrderNo());
             result.add(map);
         }
         return R.ok(result);
@@ -228,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