From ffe47d904591be8cae513a75ac899dbf720a6e71 Mon Sep 17 00:00:00 2001
From: zwl <zwl123>
Date: 星期六, 07 十月 2023 15:25:17 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java |    2 
 src/main/java/com/zy/common/utils/HttpHandler.java             |   31 +++
 src/main/java/com/zy/asrs/task/OrderSyncScheduler.java         |    2 
 src/main/java/com/zy/asrs/utils/MesSyncUtil.java               |   24 ++
 src/main/java/com/zy/asrs/task/MesPakinScheduler.java          |    4 
 src/main/java/com/zy/asrs/task/MesPakoutScheduler.java         |    9 
 src/main/webapp/static/js/order/order.js                       |   26 +-
 src/main/webapp/views/order/out.html                           |    4 
 src/main/java/com/zy/asrs/task/handler/MesPakoutHandler.java   |  194 +++++++++++++++++++++
 src/main/java/com/zy/asrs/task/MesMatSyncScheduler.java        |    3 
 src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java   |  138 ---------------
 src/main/java/com/zy/common/service/CommonService.java         |    2 
 src/main/java/com/zy/asrs/task/handler/MesPakinHandler.java    |   44 +++-
 13 files changed, 303 insertions(+), 180 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
index e6ce450..7c45eec 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
@@ -40,7 +40,7 @@
         if (locMast == null) {
             return false;
         }
-        return this.baseMapper.selectEmptyLocCount(locMast.getLocType1(), locMast.getCrnNo()) > 1;
+        return this.baseMapper.selectEmptyLocCount(locMast.getLocType1(), locMast.getCrnNo()) > 5;
     }
 
     @Override
diff --git a/src/main/java/com/zy/asrs/task/MesMatSyncScheduler.java b/src/main/java/com/zy/asrs/task/MesMatSyncScheduler.java
index a0baa3a..cf0abc1 100644
--- a/src/main/java/com/zy/asrs/task/MesMatSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/MesMatSyncScheduler.java
@@ -19,7 +19,10 @@
     @Autowired
     MesMatSyncHandler handler;
 
+
     //@Scheduled(cron = "0/30 * * * * ?")
+   // @Scheduled(cron = "0/30 * * * * ?")
+    //@Scheduled(cron = "0 0/2 * * * ?")
     private void execute() {
 
         ReturnT<String> result = null;
diff --git a/src/main/java/com/zy/asrs/task/MesPakinScheduler.java b/src/main/java/com/zy/asrs/task/MesPakinScheduler.java
index 4daa36e..9f26f1e 100644
--- a/src/main/java/com/zy/asrs/task/MesPakinScheduler.java
+++ b/src/main/java/com/zy/asrs/task/MesPakinScheduler.java
@@ -4,6 +4,7 @@
 import com.zy.asrs.task.handler.MesPakinHandler;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
 /**
@@ -16,6 +17,9 @@
     @Autowired
     MesPakinHandler handler;
 
+
+    //@Scheduled(cron = "0/30 * * * * ?")
+
     //@Scheduled(cron = "0/30 * * * * ?")
     private void execute() {
 
diff --git a/src/main/java/com/zy/asrs/task/MesPakoutScheduler.java b/src/main/java/com/zy/asrs/task/MesPakoutScheduler.java
index 0c37223..fce9cad 100644
--- a/src/main/java/com/zy/asrs/task/MesPakoutScheduler.java
+++ b/src/main/java/com/zy/asrs/task/MesPakoutScheduler.java
@@ -4,9 +4,8 @@
 import com.zy.asrs.task.handler.MesPakoutHandler;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
-
-import java.io.IOException;
 
 /**
  * 杞MES鎺ュ彛锛岀敓鎴愬嚭搴撳崟鎹�
@@ -22,11 +21,7 @@
     private void execute() {
 
         ReturnT<String> result = null;
-        try {
-            result = handler.start();
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
+        result = handler.start();
         if (!result.isSuccess()) {
             log.error("");
         }
diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
index 1b9db5f..61004e9 100644
--- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -38,7 +38,7 @@
         }
     }
 
-    //@Scheduled(cron = "0/5 * * * * ? ")
+//    @Scheduled(cron = "0/5 * * * * ? ")
     @Async("orderThreadPool")
     public void completeAndReport(){
         String erpReport = Parameter.get().getErpReport();
diff --git a/src/main/java/com/zy/asrs/task/handler/MesPakinHandler.java b/src/main/java/com/zy/asrs/task/handler/MesPakinHandler.java
index 7d68b60..ba98510 100644
--- a/src/main/java/com/zy/asrs/task/handler/MesPakinHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/MesPakinHandler.java
@@ -1,6 +1,7 @@
 package com.zy.asrs.task.handler;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
@@ -17,7 +18,6 @@
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
 import com.zy.asrs.utils.MesSyncUtil;
-import com.zy.common.constant.MesConstant;
 import com.zy.common.utils.HttpHandler;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -28,12 +28,13 @@
 import java.io.IOException;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 @Slf4j
 @Service
 public class MesPakinHandler extends AbstractHandler<String> {
     @Value("${mes.pakin.url}")
-    private String url;
+    private String uri;
 
     @Value("${mes.pakin.path}")
     private String path;
@@ -56,11 +57,11 @@
     @Transactional
     public ReturnT<String> start() {
         boolean success = true;
-        log.info("url:" + url + path);
+        log.info("url:" + uri + path);
         JSONObject jsonObject = null;
-        String respone;
         try {
-            jsonObject = doGetJsonData();
+            jsonObject = doPostJsonData();
+            log.info("MesPakinHandler jsonObject:" + jsonObject);
         } catch (IOException e) {
             success = false;
             e.printStackTrace();
@@ -69,11 +70,17 @@
         int code = jsonObject.getInteger("code");
 
         if(code == 200){
-            JSONObject jsonData = jsonObject.getJSONObject("data");
-            String orderNo = jsonData.getString("orderNo");
-            Order o = insertOrder(jsonData,orderNo);
-            insertOrUpdateOrderDetl(jsonData, o);
+            if(!Cools.isEmpty(jsonObject.getString("data")) && jsonObject.getString("data").length()>2){
 
+                JSONArray jsonArray = jsonObject.getJSONArray("data");
+                List<JSONObject> jsonDataList = jsonArray.toJavaList(JSONObject.class);
+
+                jsonDataList.forEach(data -> {
+                    String orderNo = data.getString("orderNo");
+                    Order o = insertOrder(data,orderNo);
+                    insertOrUpdateOrderDetl(data, o);
+                });
+            }
         }else {
             success = false;
             log.error("璇锋眰mes鎺ュ彛鍝嶅簲閿欒锛屽搷搴旂爜涓�: " + code);
@@ -88,7 +95,7 @@
     private void saveApiLog(String response, boolean success){
         apiLogService.save(
                 "鐢熸垚鍏ュ簱鍗曟嵁",
-                url + path,
+                uri + path,
                 null,
                 "127.0.0.1",
                 null,
@@ -98,15 +105,20 @@
     }
 
     /*
-    鍙戣捣涓�涓猟oGet璇锋眰
+    鍙戣捣涓�涓姹傛潵鑾峰彇鏈幏鍙栬繃鐨勫崟鎹俊鎭�
      */
-    private JSONObject doGetJsonData() throws IOException {
+    private JSONObject doPostJsonData() throws IOException {
+
+        Map<String, Object> requestParamMap = MesSyncUtil.getRequestParamMap();
+        //鑾峰彇鏈幏鍙栬繃鐨勬墍鏈夊崟鎹�
+        requestParamMap.put("type",0);
+
         return JSON.parseObject( new HttpHandler.Builder()
-                .setUri(url)
+                .setUri(uri)
                 .setPath(path)
-                .setParams(MesSyncUtil.getRequestParamMap())
+                .setParams(requestParamMap)
                 .build()
-                .doGet());
+                .doPostWithParam());
     }
 
     /*
@@ -166,6 +178,8 @@
         o.setOrderTime(jsonData.getString("orderTime"));
         //鍗曟嵁绫诲瀷
         DocType docType = docTypeService.selectOrAdd(jsonData.getString("orderType"), Boolean.TRUE);
+        //鐗╂祦鍚嶇О -- 鍏ュ簱搴撴埧鍚嶇О(绔嬩綋搴撳悕绉�)
+        o.setShipName(jsonData.getString("storage"));
         o.setDocType(docType.getDocId());
         o.setCreateTime(new Date());
         o.setUpdateTime(new Date());
diff --git a/src/main/java/com/zy/asrs/task/handler/MesPakoutHandler.java b/src/main/java/com/zy/asrs/task/handler/MesPakoutHandler.java
index 96b0484..0d63af0 100644
--- a/src/main/java/com/zy/asrs/task/handler/MesPakoutHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/MesPakoutHandler.java
@@ -1,37 +1,223 @@
 package com.zy.asrs.task.handler;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
+import com.core.common.SnowflakeIdWorker;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.DiaphragmInfo;
+import com.zy.asrs.entity.DocType;
+import com.zy.asrs.entity.Order;
+import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.service.ApiLogService;
 import com.zy.asrs.service.DocTypeService;
 import com.zy.asrs.service.OrderDetlService;
 import com.zy.asrs.service.OrderService;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.utils.MesSyncUtil;
+import com.zy.common.utils.HttpHandler;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.io.IOException;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
 
 @Slf4j
 @Service
 public class MesPakoutHandler extends AbstractHandler<String> {
-    @Value("${mes.pakin.url}")
-    private String url;
+    @Value("${mes.pakout.url}")
+    private String uri;
 
-    @Value("${mes.pakin.path}")
+    @Value("${mes.pakout.path}")
     private String path;
 
     @Autowired
     private DocTypeService docTypeService;
 
     @Autowired
+    private SnowflakeIdWorker snowflakeIdWorker;
+
+    @Autowired
     private OrderService orderService;
+
+    @Autowired
+    private ApiLogService apiLogService;
 
     @Autowired
     private OrderDetlService orderDetlService;
 
-    public ReturnT<String> start() throws IOException {
+    @Transactional
+    public ReturnT<String> start() {
+        boolean success = true;
+        log.info("url:" + uri + path);
+        JSONObject jsonObject = null;
+        try {
+            jsonObject = doPostJsonData();
+        } catch (IOException e) {
+            success = false;
+            e.printStackTrace();
+        }
 
+        int code = jsonObject.getInteger("code");
+
+        if(code == 200){
+            if(!Cools.isEmpty(jsonObject.getString("data")) && jsonObject.getString("data").length()>2){
+
+                JSONArray jsonArray = jsonObject.getJSONArray("data");
+                List<JSONObject> jsonDataList = jsonArray.toJavaList(JSONObject.class);
+
+                jsonDataList.forEach(data -> {
+                    String orderNo = data.getString("orderNo");
+                    Order o = insertOrder(data,orderNo);
+                    insertOrUpdateOrderDetl(data, o);
+                });
+            }
+
+        }else {
+            success = false;
+            log.error("璇锋眰mes鎺ュ彛鍝嶅簲閿欒锛屽搷搴旂爜涓�: " + code);
+        }
+        saveApiLog(jsonObject.toJSONString(),success);
         return SUCCESS;
     }
+
+    /*
+    淇濆瓨鏃ュ織
+     */
+    private void saveApiLog(String response, boolean success){
+        apiLogService.save(
+                "鐢熸垚鍑哄簱鍗曟嵁",
+                uri + path,
+                null,
+                "127.0.0.1",
+                null,
+                response,
+                success
+        );
+    }
+
+    /*
+    鍙戣捣涓�涓姹傛潵鑾峰彇鏈幏鍙栬繃鐨勫崟鎹俊鎭�
+     */
+    private JSONObject doPostJsonData() throws IOException {
+
+        Map<String, Object> requestParamMap = MesSyncUtil.getRequestParamMap();
+        //鑾峰彇鏈幏鍙栬繃鐨勬墍鏈夊崟鎹�
+        requestParamMap.put("type",0);
+
+        return JSON.parseObject( new HttpHandler.Builder()
+                .setUri(uri)
+                .setPath(path)
+                .setParams(requestParamMap)
+                .build()
+                .doPostWithParam());
+    }
+
+    /*
+    鏂板order淇℃伅
+     */
+    private Order insertOrder(JSONObject jsonData, String orderNo){
+        Order o = orderService.selectByNo(orderNo);
+        if (!Cools.isEmpty(o)) {
+            throw new CoolException(jsonData.getString("orderNo") + "鍗曟嵁宸插瓨鍦紝璇峰嬁閲嶅鎻愪氦");
+        }
+
+        o = orderMapping(jsonData);
+        if (!orderService.insert(o)) {
+            throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�");
+        }
+        return o;
+    }
+
+    /*
+    鏍规嵁orderNo銆乵atnr銆乥atch锛屾柊澧炴垨鑰呮洿鏀筼rderDetl淇℃伅
+     */
+    private void insertOrUpdateOrderDetl(JSONObject jsonData, Order o){
+        List<DiaphragmInfo> diaphragmInfoList =  JSONObject.parseArray(jsonData.getString("orderDetails"),DiaphragmInfo.class);
+
+        diaphragmInfoList.forEach(d -> {
+            EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
+            wrapper.eq("order_no",o.getOrderNo()).eq("matnr",d.getItemCode()).eq("batch",d.getBatchNo());
+            OrderDetl od = orderDetlService.selectOne(wrapper);
+            if(od == null){
+                od = new OrderDetl();
+                od.setOrderNo(o.getOrderNo());
+                od.setOrderId(o.getId());
+                orderDetlMapping(d,od);
+                orderDetlService.insert(od);
+            }else {
+                od.setQty(od.getQty() + d.getQuantity().doubleValue());
+                od.setAnfme(od.getAnfme() + d.getAssQuantity().doubleValue());
+                od.setUpdateTime(new Date());
+                orderDetlService.updateById(od);
+            }
+        });
+    }
+
+    /*
+    鏄犲皠Order绫诲拰jsonData鐨勫瓧娈�
+     */
+    private Order orderMapping(JSONObject jsonData){
+        Order o = new Order();
+        o.setStatus(1);
+        //璁剧疆璁㈠崟鐘舵�� --- 鍒濆鍖栫姸鎬�
+        o.setSettle(0L);
+        //uuid
+        o.setUuid(String.valueOf(snowflakeIdWorker.nextId()));
+        //鍗曟嵁缂栧彿
+        o.setOrderNo(jsonData.getString("orderNo"));
+        //鍗曟嵁鏃堕棿
+        o.setOrderTime(jsonData.getString("orderTime"));
+        //鍗曟嵁绫诲瀷
+        DocType docType = docTypeService.selectOrAdd(jsonData.getString("orderType"), Boolean.TRUE);
+        //鐗╂祦鍚嶇О -- 鍏ュ簱搴撴埧鍚嶇О(绔嬩綋搴撳悕绉�)
+        o.setShipName(jsonData.getString("storage"));
+        o.setDocType(docType.getDocId());
+        o.setCreateTime(new Date());
+        o.setUpdateTime(new Date());
+        return o;
+    }
+
+    /*
+    鏄犲皠OrderDetl涓庨殧鑶滀俊鎭被鐨勫瓧娈靛叧绯�
+     */
+    private void orderDetlMapping(DiaphragmInfo d, OrderDetl od){
+        //鎵瑰彿 -- 鐢熶骇鎵瑰彿
+        od.setBatch(d.getBatchNo());
+        //鍟嗗搧缂栫爜 -- 鐗╂枡缂栫爜
+        od.setMatnr(d.getItemCode());
+        //鍟嗗搧鍚嶇О -- 鐗╂枡鍚嶇О
+        od.setMaktx(d.getItemName());
+        //鏁伴噺 -- 鏁伴噺
+        od.setAnfme(d.getQuantity() == null ? null : d.getQuantity().doubleValue());
+        //瀹屾垚鏁伴噺 -- 杈呮暟閲�
+        od.setQty(d.getAssQuantity() == null ? null : d.getAssQuantity().doubleValue());
+        //瑙勬牸 -- 瑙勬牸/鍨嬪彿
+        od.setSpecs(d.getStd());
+        //澶囨敞 -- 澶囨敞
+        od.setMemo(d.getNote());
+        //鏉″舰鐮� -- 鏉″舰鐮�
+        od.setQrCode(d.getBarCode());
+        //棰滆壊 -- 澶у嵎浣嶇疆
+        od.setColor(d.getPosition());
+        //鍨嬪彿 -- 灏忓嵎浣嶇疆
+        od.setModel(d.getPosition2());
+        //鍝佺墝 -- 绛夌骇
+        od.setBrand(d.getGrade());
+        //鏀跺嵎寮�濮嬫棩鏈�
+        od.setStartDate(d.getStartDate());
+        //鏀跺嵎缁撴潫鏃ユ湡
+        od.setEndDate(d.getEndDate());
+
+        od.setCreateTime(new Date());
+        od.setUpdateTime(new Date());
+    }
 }
diff --git a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
index e79b79a..43b50b1 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -5,8 +5,6 @@
 import com.core.common.Cools;
 import com.core.common.DateUtils;
 import com.core.exception.CoolException;
-import com.sun.org.apache.xpath.internal.operations.Or;
-import com.zy.asrs.entity.DiaphragmInfo;
 import com.zy.asrs.entity.DocType;
 import com.zy.asrs.entity.Order;
 import com.zy.asrs.entity.OrderDetl;
@@ -21,19 +19,12 @@
 import com.zy.common.model.MesPakoutParam;
 import com.zy.common.utils.HttpHandler;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
 
 /**
  * Created by vincent on 2020/7/7
@@ -53,18 +44,6 @@
     @Autowired
     private DocTypeService docTypeService;
 
-    @Value("${mes.pakin-sync.url}")
-    private String pakinUrl;
-
-    @Value("${mes.pakin-sync.path}")
-    private String pakinPath;
-
-    @Value("${mes.pakout-sync.url}")
-    private String pakoutUrl;
-
-    @Value("${mes.pakout-sync.path}")
-    private String pakoutPath;
-
     @Transactional
     public ReturnT<String> start(Order order) {
         DocType docType = docTypeService.selectById(order.getDocType());
@@ -74,7 +53,6 @@
         List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
         // 鍏ュ簱瀹屾垚涓婃姤
         if (docType.getPakin() == 1) {
-            /*
             MesPakinParam pakinParam = new MesPakinParam();
             pakinParam.setPakinTime(DateUtils.convert(order.getUpdateTime()));
             pakinParam.setLgortFrom("5008");
@@ -120,13 +98,10 @@
                             success
                     );
                 } catch (Exception e) { log.error("", e); }
-            } */
-
-            return orderPakinSync(order,docType.getDocName(),orderDetls);
+            }
         }
         // 鍑哄簱瀹屾垚涓婃姤
         if (docType.getPakout() == 1) {
-            /*
             MesPakoutParam pakoutParam = new MesPakoutParam();
             pakoutParam.setTag(!order.getDocType$().equalsIgnoreCase("鎵嬪姩鍑哄簱鍗�"));
             pakoutParam.setPakoutTime(DateUtils.convert(order.getUpdateTime()));
@@ -178,119 +153,8 @@
                     );
                 } catch (Exception e) { log.error("", e); }
             }
-             */
-
-            return orderPakoutSync(order,docType.getDocName(),orderDetls);
         }
         return SUCCESS;
-    }
-
-    private  ReturnT<String> orderPakoutSync (Order order, String orderType, List<OrderDetl> orderDetls){
-        Map<String,Object> requestMap = getRequestMap(order,orderType,orderDetls);
-        String response = "";
-        boolean success = false;
-        try {
-            response = new HttpHandler.Builder()
-                    .setUri(pakoutUrl)
-                    .setPath(pakoutPath)
-                    .setJson(JSON.toJSONString(requestMap))
-                    .build()
-                    .doPost();
-            success = orderSettleUpdate(response,order);
-        } catch (Exception e) {
-            log.error("fail", e);
-//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            return FAIL.setMsg(e.getMessage());
-        } finally {
-            try {
-                // 淇濆瓨鎺ュ彛鏃ュ織
-                apiLogService.save(
-                        "鎴愬搧搴撳嚭搴撲笂鎶�",
-                        pakoutUrl + pakoutPath,
-                        null,
-                        "127.0.0.1",
-                        JSON.toJSONString(requestMap),
-                        response,
-                        success
-                );
-            } catch (Exception e) { log.error("", e); }
-        }
-
-        return SUCCESS;
-    }
-
-    private  ReturnT<String> orderPakinSync (Order order, String orderType, List<OrderDetl> orderDetls){
-        Map<String,Object> requestMap = getRequestMap(order,orderType,orderDetls);
-
-        String response = "";
-        boolean success = false;
-
-        try {
-            response = new HttpHandler.Builder()
-                    .setUri(pakinUrl)
-                    .setPath(pakinPath)
-                    .setJson(JSON.toJSONString(requestMap))
-                    .build()
-                    .doPost();
-            success = orderSettleUpdate(response,order);
-        } catch (Exception e) {
-            log.error("fail", e);
-//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            return FAIL.setMsg(e.getMessage());
-        } finally {
-            try {
-                // 淇濆瓨鎺ュ彛鏃ュ織
-                apiLogService.save(
-                        "鎴愬搧搴撳叆搴撲笂鎶�",
-                        pakinUrl + pakinPath,
-                        null,
-                        "127.0.0.1",
-                        JSON.toJSONString(requestMap),
-                        response,
-                        success
-                );
-            } catch (Exception e) { log.error("", e); }
-        }
-
-        return SUCCESS;
-
-    }
-
-    private Map<String,Object> getRequestMap(Order order,String orderType, List<OrderDetl> orderDetls){
-        Map<String,Object> requestMap = new HashMap<>();
-        requestMap.put("orderNo",order.getOrderNo());
-        requestMap.put("orderTime",order.getOrderTime());
-        requestMap.put("orderType",orderType);
-
-        List<DiaphragmInfo> diaphragmInfoList = orderDetls.stream().map(od -> {
-            DiaphragmInfo diaphragmInfo = new DiaphragmInfo();
-            diaphragmInfo.setBatchNo(od.getBatch());
-            diaphragmInfo.setItemCode(od.getMatnr());
-            diaphragmInfo.setBarCode(od.getQrCode());
-            diaphragmInfo.setQuantity(new BigDecimal(od.getAnfme()));
-            diaphragmInfo.setAssQuantity(new BigDecimal(od.getQty()));
-            return diaphragmInfo;
-        }).collect(Collectors.toList());
-
-        requestMap.put("orderDetails",diaphragmInfoList);
-
-        return requestMap;
-    }
-
-    private boolean orderSettleUpdate(String response, Order order){
-        JSONObject jsonObject = JSON.parseObject(response);
-        if (jsonObject.getInteger("code").equals(200)) {
-            //success = true;
-            // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
-            if (!orderService.updateSettle(order.getId(), 6L, null)) {
-                throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
-            }
-        } else {
-            //log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(requestMap), response);
-            throw new CoolException("涓婃姤mes绯荤粺澶辫触");
-        }
-
-        return true;
     }
 
 }
diff --git a/src/main/java/com/zy/asrs/utils/MesSyncUtil.java b/src/main/java/com/zy/asrs/utils/MesSyncUtil.java
index 5856a28..7264960 100644
--- a/src/main/java/com/zy/asrs/utils/MesSyncUtil.java
+++ b/src/main/java/com/zy/asrs/utils/MesSyncUtil.java
@@ -1,5 +1,8 @@
 package com.zy.asrs.utils;
 
+import com.alibaba.fastjson.JSONObject;
+import com.core.common.Cools;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.util.DigestUtils;
 
 import java.nio.charset.StandardCharsets;
@@ -9,13 +12,32 @@
 
 public class MesSyncUtil {
 
+    @Value("${mes.appkey}")
+    private static String appkey;
+
     public static Map<String,Object> getRequestParamMap(){
         Date date = new Date();
         String ts = date.getTime() + "";
-        String key = DigestUtils.md5DigestAsHex(("appkey" + ts).getBytes(StandardCharsets.UTF_8));
+        String key = DigestUtils.md5DigestAsHex(("SX3WMS20230725" + ts).getBytes(StandardCharsets.UTF_8));
         Map<String,Object> requestParamMap = new HashMap<>();
         requestParamMap.put("ts",ts);
         requestParamMap.put("key",key);
         return requestParamMap;
     }
+
+    public static void main(String[] args) {
+        System.out.println(appkey);
+        System.out.println(MesSyncUtil.getRequestParamMap());
+
+        String jsonString = "{\"msg\":\"鎿嶄綔鎴愬姛\",\"code\":200,\"data\":\"[]\"}";
+        JSONObject jsonObject = JSONObject.parseObject(jsonString);
+        String data = jsonObject.getString("data");
+
+        System.out.println(data);
+        if(!Cools.isEmpty(data)){
+            System.out.println(data);
+        }
+
+
+    }
 }
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 0423184..9aa21cb 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -105,6 +105,7 @@
         } else if (sourceStaNo > 299){
             whsType = 3;
         }
+
         // 鐩爣鍫嗗灈鏈哄彿
         int crnNo = whsType;
         if (!basCrnpService.checkSiteError(crnNo, true)){
@@ -246,6 +247,7 @@
             log.error("绯荤粺娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times);
             throw new CoolException("娌℃湁绌哄簱浣�");
         }
+
         String locNo = locMast.getLocNo();
 
         // 鐢熸垚宸ヤ綔鍙�
diff --git a/src/main/java/com/zy/common/utils/HttpHandler.java b/src/main/java/com/zy/common/utils/HttpHandler.java
index 70adcc7..5162b6e 100644
--- a/src/main/java/com/zy/common/utils/HttpHandler.java
+++ b/src/main/java/com/zy/common/utils/HttpHandler.java
@@ -56,6 +56,37 @@
     }
 
     /**
+     * POST璇锋眰鎵ц 骞朵笖url甯﹀弬鏁拌姹�
+     * @return the HttpHandler response
+     */
+    public String doPostWithParam() throws IOException {
+        Request request;
+        Request.Builder headerBuilder = new Request.Builder();
+        if (headers != null && headers.size()>0){
+            for (Map.Entry<String, Object> entry : headers.entrySet()){
+                headerBuilder.addHeader(entry.getKey(), String.valueOf(entry.getValue()));
+            }
+        }
+        if (json == null || "".equals(json)){
+            FormBody.Builder builder = new FormBody.Builder();
+            FormBody body = builder.build();
+            request = headerBuilder
+                    .url(paramsToUrl(uri, path, params, https))
+                    .post(body)
+                    .build();
+        } else {
+            RequestBody body = RequestBody.create(MEDIA_TYPE, json);
+            Request.Builder builder = headerBuilder.url((https?"https://":"http://")+uri+path);
+            builder.header("Content-Type", "application/json;charset=UTF-8");
+            request = builder.post(body).build();
+
+        }
+        Call call = getClient(timeout, timeUnit).newCall(request);
+        Response response = call.execute();
+        return response.body().string();
+    }
+
+    /**
      * POST璇锋眰鎵ц
      * @return the HttpHandler response
      */
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index ad09170..65b1a96 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -122,12 +122,13 @@
                         cellMinWidth: 100,
                         cols: [[
                             {type: 'numbers'},
-                            {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160},
-                            {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160},
-                            {field: 'batch', title: '鎵瑰彿'},
+                            {field: 'matnr', title: '鐗╂枡缂栫爜', width: 160},
+                            {field: 'maktx', title: '鐗╂枡鍚嶇О', width: 160},
+                            {field: 'batch', title: '鐢熶骇鎵瑰彿'},
                             {field: 'anfme', title: '鏁伴噺'},
-                            {field: 'workQty', title: '浣滀笟鏁伴噺'},
-                            {field: 'qty', title: '瀹屾垚鏁伴噺', style: 'font-weight: bold'},
+                            {field: 'qty', title: '杈呮暟閲�'},
+                            {field: 'qrCode', title: '鏉″舰鐮�'},
+                            //{field: 'qty', title: '瀹屾垚鏁伴噺', style: 'font-weight: bold'},
                             // {field: 'unit', title: '鍗曚綅'},
                             // {
                             //     field: 'createTime$', title: '鍒涘缓鏃堕棿', sort: true, templet: function (d) {
@@ -136,7 +137,7 @@
                             // },
                             // {field: 'inQty', title: '宸插叆搴撻噺'},
                             // {field: 'color', title: '棰滆壊'},
-                            {field: 'specs', title: '瑙勬牸'}
+                            {field: 'specs', title: '瑙勬牸/鍨嬪彿'}
                         ]],
                         request: {
                             pageName: 'curr',
@@ -234,13 +235,14 @@
                     cellMinWidth: 100,
                     cols: [[
                         {type: 'numbers', title: '#'},
-                        {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160},
-                        {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 200},
-                        {field: 'batch', title: '鎵瑰彿', edit: true},
-                        {field: 'specs', title: '瑙勬牸'},
-                        {field: 'anfme', title: '鏁伴噺(淇敼)', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110},
-                        {field: 'workQty', title: '浣滀笟鏁伴噺',  minWidth: 100, width: 100},
+                        {field: 'matnr', title: '鐗╂枡缂栫爜', width: 160},
+                        {field: 'maktx', title: '鐗╂枡鍚嶇О', width: 200},
+                        {field: 'batch', title: '鐢熶骇鎵瑰彿', edit: true},
+                        {field: 'specs', title: '瑙勬牸/鍨嬪彿'},
+                        {field: 'anfme', title: '鏁伴噺', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110},
+                        //{field: 'workQty', title: '浣滀笟鏁伴噺',  minWidth: 100, width: 100},
                         // {field: 'unit', title: '鍗曚綅', width: 80},
+                        {field: 'qty', title: '杈呮暟閲�' , edit: true},
                         {field: 'memo', title: '澶囨敞' , edit: true},
                         {align: 'center', title: '鎿嶄綔', toolbar: '#formSSXMTableBar', minWidth: 80, width: 80, fixed: 'right'}
                     ]],
diff --git a/src/main/webapp/views/order/out.html b/src/main/webapp/views/order/out.html
index 0d7e344..688e2fa 100644
--- a/src/main/webapp/views/order/out.html
+++ b/src/main/webapp/views/order/out.html
@@ -95,13 +95,13 @@
                     <form class="layui-form toolbar">
                         <div class="layui-form-item">
                             <div class="layui-inline">
-                                <label class="layui-form-label">鍟嗗搧缂栫爜:</label>
+                                <label class="layui-form-label">鐗╂枡缂栫爜:</label>
                                 <div class="layui-input-inline">
                                     <input name="matnr" class="layui-input" placeholder="鍟嗗搧缂栫爜"/>
                                 </div>
                             </div>
                             <div class="layui-inline">
-                                <label class="layui-form-label">鍟嗗搧鍚嶇О:</label>
+                                <label class="layui-form-label">鐗╂枡鍚嶇О:</label>
                                 <div class="layui-input-inline">
                                     <input name="maktx" class="layui-input" placeholder="鍟嗗搧鍚嶇О"/>
                                 </div>

--
Gitblit v1.9.1