From 41326b3129ae3e4ef7a45bc16dba64dc9dd27404 Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期三, 04 九月 2024 09:58:14 +0800
Subject: [PATCH] Merge branch 'phyzasrs' of http://47.97.1.152:5880/r/zy-asrs into phyzasrs-erp

---
 src/main/java/com/zy/asrs/controller/OpenController.java           |   22 +
 src/main/java/com/zy/asrs/entity/param/MesPakoutReportParam.java   |   39 +++
 src/main/java/com/zy/asrs/task/AutoMoveScheduler.java              |    4 
 src/main/java/com/zy/asrs/controller/AgvWrkMastController.java     |    3 
 src/main/java/com/zy/asrs/entity/param/MesPakinReportParam.java    |   41 +++
 src/main/java/com/zy/asrs/service/OpenService.java                 |    5 
 src/main/java/com/zy/asrs/controller/AgvIoWorkController.java      |    2 
 src/main/webapp/views/order/order.html                             |    2 
 src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java      |  316 +++++++++++++++++++++++++
 src/main/java/com/zy/asrs/entity/param/MesBuyPakinReportParam.java |   53 ++++
 src/main/java/com/zy/asrs/entity/param/CheckParam.java             |   13 +
 src/main/webapp/static/js/order/order.js                           |    7 
 src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java     |    7 
 src/main/java/com/zy/common/model/DetlDto.java                     |    2 
 src/main/java/com/zy/asrs/entity/param/MesOrderReportParam.java    |   89 +++++++
 src/main/webapp/static/js/agvLocMast/locMast.js                    |    2 
 src/main/java/com/zy/asrs/entity/param/OrderSyncParam.java         |    8 
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java        |   55 ++++
 src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java        |    3 
 src/main/resources/application.yml                                 |   13 
 20 files changed, 656 insertions(+), 30 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/AgvIoWorkController.java b/src/main/java/com/zy/asrs/controller/AgvIoWorkController.java
index 950acd4..925a0c7 100644
--- a/src/main/java/com/zy/asrs/controller/AgvIoWorkController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvIoWorkController.java
@@ -121,7 +121,7 @@
             return null;
         }
 
-        int floor =  Integer.parseInt(sourceLocNo.split("@")[1]);
+        int floor =  Integer.parseInt(sourceLocNo.split("F")[1]);
 
         List<String> locNoList = agvLocMastService.queryGroupEmptyStock(floor);
 
diff --git a/src/main/java/com/zy/asrs/controller/AgvWrkMastController.java b/src/main/java/com/zy/asrs/controller/AgvWrkMastController.java
index 4a7d056..b6e2b87 100644
--- a/src/main/java/com/zy/asrs/controller/AgvWrkMastController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvWrkMastController.java
@@ -54,7 +54,8 @@
         }else {
             wrapper.orderBy("io_time", false);
         }
-        return R.ok(agvWrkMastService.selectPage(new Page<>(curr, limit), wrapper));
+        Page<AgvWrkMast> agvWrkMastPage = agvWrkMastService.selectPage(new Page<>(curr, limit), wrapper);
+        return R.ok(agvWrkMastPage);
     }
 
     @RequestMapping(value = "/wrkMast/list/auth/dbList")
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 1e2b75c..85a52f7 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -110,7 +110,7 @@
             return R.parse(BaseRes.PARAM);
         }
 
-        String docName = param.getChildren().get(0).getIQuantity() > 0 ? "閾跺骇閲囪喘鍏ュ簱鍗�" : "閾跺骇閲囪喘閫�璐у崟";
+        String docName = !Cools.isEmpty(param.getOrderType()) ? param.getOrderType() : param.getChildren().get(0).getIQuantity() > 0 ? "閾跺骇閲囪喘鍏ュ簱鍗�" : "閾跺骇閲囪喘閫�璐у崟";
         boolean pakin = param.getChildren().get(0).getIQuantity() > 0 ? true : false;
 
         openService.syncOrder(param,pakin,docName);
@@ -119,6 +119,26 @@
 
     }
 
+    /*
+    鐩樼偣鎺ュ彛
+     */
+    @PostMapping("/check/default/v1")
+    @AppAuth(memo = "搴撳瓨鐩樼偣")
+    public synchronized R checkLoc(@RequestHeader(required = false) String appkey,
+                                     @RequestBody(required = true) CheckParam param,
+                                     HttpServletRequest request){
+        auth(appkey, param, request);
+        if (Cools.isEmpty(param)) {
+            return R.parse(BaseRes.PARAM);
+        }
+
+        openService.checkAndAdjustLocDetl(param);
+
+        return R.ok("搴撳瓨璋冩暣鎴愬姛");
+
+    }
+
+
     @PostMapping("/order/pakout/default/v1")
     @AppAuth(memo = "鍚屾宸ュ崟鍗曟嵁")
     public synchronized R orderPakout(@RequestHeader(required = false) String appkey,
diff --git a/src/main/java/com/zy/asrs/entity/param/CheckParam.java b/src/main/java/com/zy/asrs/entity/param/CheckParam.java
new file mode 100644
index 0000000..93569bb
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/CheckParam.java
@@ -0,0 +1,13 @@
+package com.zy.asrs.entity.param;
+
+import com.zy.common.model.DetlDto;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class CheckParam {
+    private String locNo;
+    private String containerCode;
+    private List<DetlDto> locDetls;
+}
diff --git a/src/main/java/com/zy/asrs/entity/param/MesBuyPakinReportParam.java b/src/main/java/com/zy/asrs/entity/param/MesBuyPakinReportParam.java
new file mode 100644
index 0000000..e4cdc08
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/MesBuyPakinReportParam.java
@@ -0,0 +1,53 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 閲囪喘鍏ュ簱涓婃姤鍙傛暟
+ */
+@Data
+public class MesBuyPakinReportParam {
+    //閲囪喘璁㈠崟缂栫爜
+    private String code;
+    private List<Iteam> iteam;
+
+    @Data
+    public static class Iteam{
+        //鐗╂枡缂栧彿
+        private String materialCode;
+        //鎵规鍙�
+        private String batchNo;
+        //饧嗙淮鐮�
+        private String qrCode;
+        //閲囪喘璁㈠崟饩忓彿
+        private String lineNo;
+        //饧婂簱鏁伴噺
+        private Double amount;
+        //澶囨敞
+        private String remark;
+        //鍗曚綅鍚嶇О
+        private String unit;
+        //渚涘簲鍟嗙紪鍙�
+        private String supplierCode;
+        //饧婂簱浣嶇疆
+        private String storageLocationCode;
+
+        public Iteam(String materialCode, String batchNo, String qrCode, String lineNo, Double amount, String remark, String supplierCode, String storageLocationCode) {
+            this.materialCode = materialCode;
+            this.batchNo = batchNo;
+            this.qrCode = qrCode;
+            this.lineNo = lineNo;
+            this.amount = amount;
+            this.remark = remark;
+            this.supplierCode = supplierCode;
+            this.storageLocationCode = storageLocationCode;
+        }
+
+        public Iteam(){
+
+        }
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/param/MesOrderReportParam.java b/src/main/java/com/zy/asrs/entity/param/MesOrderReportParam.java
new file mode 100644
index 0000000..24a35ab
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/MesOrderReportParam.java
@@ -0,0 +1,89 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * MES璋冩嫧鍙傛暟
+ */
+@Data
+public class MesOrderReportParam {
+    //缂栫爜
+    private String code;
+    //澶囨敞
+    private String remark;
+    private List<TransferOrderItem> transferOrderItems;
+    private RecordCustomFieldBaseCO recordCustomFieldBaseCO;
+
+    @Data
+    public static class RecordCustomFieldBaseCO{
+        private List<CustomField> customFields;
+
+        @Data
+        public static class CustomField{
+            private String fieldCode;
+            private String fieldValue;
+
+            public CustomField(String fieldCode, String fieldValue) {
+                this.fieldCode = fieldCode;
+                this.fieldValue = fieldValue;
+            }
+        }
+    }
+
+    @Data
+    public static class TransferOrderItem{
+
+        //琛屽娉� 鍗曟嵁鍙�
+        private String remark;
+        //鎺ユ敹浠撲綅
+        private String targetLocationCode;
+
+        private List<InventoryDetail> inventoryDetails;
+
+
+        @Data
+        public static class InventoryDetail{
+            private Amount amount;
+            private BizKey bizKey;
+            //鍙戝嚭浠撲綅
+            private String locationCode;
+            //鐗╂枡缂栫爜
+            private String materialCode;
+            //璐ㄩ噺鐘舵��
+            private Integer qcStatus;
+            //浠撳偍鐘舵��
+            private Integer storageStatus;
+            //鐗堟湰鍙凤紝榛樿涓簄ull
+            private String version;
+
+            @Data
+            public static class Amount{
+                //鏁伴噺
+                private Double amount;
+                //鍗曚綅缂栫爜
+                private String unitCode;
+                //鍗曚綅鍚嶇О 浜岄�変竴
+                private String unitName;
+
+                public Amount(Double amount, String unitName, String unitCode) {
+                    this.amount = amount;
+                    this.unitCode = unitCode;
+                    this.unitName = unitName;
+                }
+            }
+
+            @Data
+            public static class BizKey{
+                //鎵规
+                private String batchNo;
+
+                public BizKey(String batchNo) {
+                    this.batchNo = batchNo;
+                }
+            }
+        }
+
+    }
+}
diff --git a/src/main/java/com/zy/asrs/entity/param/MesPakinReportParam.java b/src/main/java/com/zy/asrs/entity/param/MesPakinReportParam.java
new file mode 100644
index 0000000..462d4b8
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/MesPakinReportParam.java
@@ -0,0 +1,41 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+/**
+ * MES鍏ュ簱涓婃姤鍙傛暟
+ */
+@Data
+public class MesPakinReportParam {
+    private String bizType;
+    private String inboundOrderCode;
+    private String remark;
+    private InventoryAttr inventoryAttr;
+    private NoQrCodeExecAmount noQrCodeExecAmount;
+
+    @Data
+    public static class InventoryAttr{
+        private String batchNo;
+        private String materialCode;
+        private String storageLocationCode;
+
+        public InventoryAttr(String batchNo,String materialCode,String storageLocationCode){
+            this.batchNo = batchNo;
+            this.materialCode = materialCode;
+            this.storageLocationCode = storageLocationCode;
+        }
+    }
+
+    @Data
+    public static class NoQrCodeExecAmount{
+        private Double amount;
+        private String unitName;
+        private String unitCode;
+
+        public NoQrCodeExecAmount(Double amount, String unitName, String unitCode) {
+            this.amount = amount;
+            this.unitName = unitName;
+            this.unitCode = unitCode;
+        }
+    }
+}
diff --git a/src/main/java/com/zy/asrs/entity/param/MesPakoutReportParam.java b/src/main/java/com/zy/asrs/entity/param/MesPakoutReportParam.java
new file mode 100644
index 0000000..ec501ad
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/MesPakoutReportParam.java
@@ -0,0 +1,39 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * MES鍑哄簱涓婃姤鍙傛暟
+ */
+@Data
+public class MesPakoutReportParam {
+    //鐗╂枡缂栫爜
+    private String materialCode;
+    //澶囨敞
+    private String remark;
+    //浠撲綅缂栧彿
+    private String storageCode;
+    //浠撳簱缂栧彿
+    private String wareHouseCode;
+
+    private List<String> batchNos;
+
+    private Amount amount;
+
+    @Data
+    public static class Amount{
+        private Double amount;
+        //鍗曚綅缂栧彿(缂栧彿鍜屽悕绉板繀濉竴涓�,涓よ�呬笉涓�鑷翠笖閮芥湁鏁堜互缂栧彿涓哄噯)
+        private String unitCode;
+        //鍗曚綅鍚嶇О(缂栧彿鍜屽悕绉板繀濉竴涓�,涓よ�呬笉涓�鑷翠笖閮芥湁鏁堜互缂栧彿涓哄噯)
+        private String unitName;
+
+        public Amount(Double amount, String unitName, String unitCode) {
+            this.amount = amount;
+            this.unitCode = unitCode;
+            this.unitName = unitName;
+        }
+    }
+}
diff --git a/src/main/java/com/zy/asrs/entity/param/OrderSyncParam.java b/src/main/java/com/zy/asrs/entity/param/OrderSyncParam.java
index 5f3f9c3..fc67c8d 100644
--- a/src/main/java/com/zy/asrs/entity/param/OrderSyncParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/OrderSyncParam.java
@@ -12,8 +12,10 @@
 
     //鍏ュ嚭搴撴爣璁�
     private Integer pakin;
+    //鍗曟嵁绫诲瀷
+    private String orderType;
 
-    //閲囪喘璁㈠崟缂栧彿
+    //璁㈠崟缂栧彿
     private String cPOID;
     //渚涘簲鍟嗙紪鐮�
     private String cVenCode;
@@ -88,10 +90,12 @@
 
     @Data
     public static class OrderDetl{
-        //閲囪喘璁㈠崟琛屽彿
+        //璁㈠崟琛屽彿
         private String ivouchrowno;
         //鐗╂枡缂栫爜
         private String cInvCode;
+        //鎵瑰彿
+        private String batch;
         //闇�姹傛椂闂�
         private String dArriveDate;
         //闇�姹傛暟閲�
diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java
index 58e5630..93c86d9 100644
--- a/src/main/java/com/zy/asrs/service/OpenService.java
+++ b/src/main/java/com/zy/asrs/service/OpenService.java
@@ -5,6 +5,7 @@
 import com.zy.asrs.entity.param.*;
 import com.zy.asrs.entity.result.OpenOrderCompeteResult;
 import com.zy.asrs.entity.result.StockVo;
+import com.zy.common.model.LocDetlDto;
 
 import java.util.List;
 
@@ -78,4 +79,8 @@
      */
     boolean orderDelete(String orderNo);
 
+    /*
+    搴撳瓨鐩樼偣
+     */
+    boolean checkAndAdjustLocDetl(CheckParam params);
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
index 8959640..39d6cbb 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -390,7 +390,7 @@
         //鐢熸垚绉诲簱宸ヤ綔妗�
         AgvWrkMast wrkMast = createWrkMast(11, 21L, sourceLocNo, targetLocNo, sourceLocDetl.getSuppCode(), now, userId,getContainerTypeByloc(sourceLocNo));
         //鐢熸垚宸ヤ綔鍏氭槑缁�
-        createWrkDetlReWrite(sourceLocDetl.getMatnr(),wrkMast.getWrkNo(),null,sourceLocDetl.getBatch(),sourceLocDetl.getAnfme(),sourceLocDetl.getZpallet(),now,userId,sourceLocDetl.getThreeCode(),sourceLocDetl.getDeadTime(),sourceLocDetl.getProcessSts());
+        createWrkDetlReWrite(sourceLocDetl.getMatnr(),wrkMast.getWrkNo(),null,sourceLocDetl.getBatch(),sourceLocDetl.getAnfme(),sourceLocDetl.getZpallet(),now,userId,sourceLocDetl.getThreeCode(),sourceLocDetl.getDeadTime());
         //淇敼鐩爣搴撲綅鐘舵��
         updateAgvLocMast(targetLocMast,"S");
         //淇敼鍘熷簱浣嶇姸鎬�
@@ -533,6 +533,7 @@
         updateAgvLocMast(agvLocMast,"S");
         return agvLocMast.getLocNo();
     }
+
     /*
     绌烘澘鍑哄簱
      */
@@ -1055,6 +1056,7 @@
         wrkDetl.setAppeTime(now);
         wrkDetl.setModiUser(userId);
         wrkDetl.setModiTime(now);
+
         wrkDetl.setThreeCode(csocode);
         wrkDetl.setDeadTime(isoseq);
         if (!agvWrkDetlService.insert(wrkDetl)) {
@@ -1117,7 +1119,6 @@
         wrkMast.setModiUser(userId);
         wrkMast.setModiTime(now);
         wrkMast.setLogErrMemo("createWaitPainWrkMastStart");
-
         if (!agvWrkMastService.insertByIncrease(wrkMast)) {
             throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
         }
@@ -1228,4 +1229,4 @@
 
     }
 
-}
\ No newline at end of file
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 1d7833c..05eff1d 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -16,7 +16,9 @@
 import com.zy.asrs.utils.MatUtils;
 import com.zy.common.model.DetlDto;
 import com.zy.common.utils.NodeUtils;
+import lombok.Synchronized;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -59,6 +61,10 @@
     private WrkDetlService wrkDetlService;
     @Autowired
     private ReportQueryMapper reportQueryMapper;
+    @Autowired
+    private AgvLocMastService agvLocMastService;
+    @Autowired
+    private AgvLocDetlService agvLocDetlService;
 
     @Override
     @Transactional
@@ -129,6 +135,9 @@
             }
             OrderDetl orderDetl = new OrderDetl();
             orderDetl.sync(mat);
+            if (!Cools.isEmpty(detlDto.getCFree1())){
+                orderDetl.setSpecs(detlDto.getCFree1());
+            }
             orderDetl.setBatch(detlDto.getBatch());
             orderDetl.setAnfme(detlDto.getAnfme());
             orderDetl.setOrderId(order.getId());
@@ -918,6 +927,49 @@
         return true;
     }
 
+    @Override
+    @Transactional
+    @Synchronized
+    public boolean checkAndAdjustLocDetl(CheckParam params) {
+
+        //鍒ゆ柇搴撲綅鏄惁瀛樺湪
+        AgvLocMast agvLocMast = agvLocMastService.selectById(params.getLocNo());
+        if(Cools.isEmpty(agvLocMast)){
+            throw new CoolException("搴撲綅鍙蜂笉瀛樺湪");
+        }
+
+        if(!Cools.eq("O",agvLocMast.getLocSts()) && !Cools.eq("F",agvLocMast.getLocSts())){
+            throw new CoolException("褰撳墠搴撲綅姝e湪浣滀笟涓紝鏃犳硶鐩樼偣璋冩暣");
+        }
+
+        if(Cools.isEmpty(params.getLocDetls())){
+            agvLocMast.setLocSts("O");
+        }else {
+            agvLocMast.setLocSts("F");
+        }
+
+        agvLocMastService.updateById(agvLocMast);
+
+        //鍒犻櫎鏃у簱瀛�
+        agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no",params.getLocNo()));
+
+        //鏂板鐩樼偣搴撳瓨
+        for (DetlDto detlDto : params.getLocDetls()){
+            AgvLocDetl agvLocDetl = new AgvLocDetl();
+            Mat mat = matService.selectByMatnr(detlDto.getMatnr());
+            BeanUtils.copyProperties(mat,agvLocDetl);
+            agvLocDetl.setLocNo(params.getLocNo());
+            agvLocDetl.setSuppCode(params.getContainerCode());
+            agvLocDetl.setAnfme(detlDto.getAnfme());
+            agvLocDetl.setBatch(detlDto.getBatch());
+            agvLocDetl.setThreeCode(detlDto.getCsocode());
+            agvLocDetl.setDeadTime(detlDto.getIsoseq());
+            agvLocDetlService.insert(agvLocDetl);
+        }
+
+        return true;
+    }
+
     private Order orderMapping(OrderSyncParam param, Date now, boolean pakin, String docName){
         Order order = new Order();
         //uuid
@@ -930,6 +982,9 @@
         //鍗曟嵁鏃ユ湡
         order.setOrderTime(param.getDdate());
 
+        //渚涘簲鍟嗙紪鐮�
+        order.setSalesman(param.getCVenCode());
+
         order.setMemo(param.getCMemo());
         //鍒跺崟浜�
         order.setShipCode(param.getCPersonCode());
diff --git a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
index db4034f..04fe7ac 100644
--- a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
@@ -82,7 +82,7 @@
             try{
                 autoMoveHandler.start2(agvWrkMast);
             } catch (Exception e){
-                log.error("宸ヤ綔鍙�"+agvWrkMast.getWrkNo()+"璋冩嫧鍑哄簱,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細"+e.getMessage());
+                //log.error("宸ヤ綔鍙�"+agvWrkMast.getWrkNo()+"璋冩嫧鍑哄簱,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細"+e.getMessage());
             }
         }
 
@@ -130,7 +130,7 @@
             try{
                 autoMoveHandler.start3(agvWrkMast);
             } catch (Exception e){
-                log.error("宸ヤ綔鍙�"+agvWrkMast.getWrkNo()+"璋冩嫧鍑哄簱,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細"+e.getMessage());
+                //log.error("宸ヤ綔鍙�"+agvWrkMast.getWrkNo()+"璋冩嫧鍑哄簱,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細"+e.getMessage());
             }
         }
 
diff --git a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
index 93e8c90..9a23068 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -1,14 +1,20 @@
 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.R;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.MesBuyPakinReportParam;
+import com.zy.asrs.entity.param.MesOrderReportParam;
+import com.zy.asrs.entity.param.MesPakinReportParam;
+import com.zy.asrs.entity.param.MesPakoutReportParam;
 import com.zy.asrs.service.*;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
+import com.zy.common.utils.HttpHandler;
 import lombok.Synchronized;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -17,17 +23,52 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.io.IOException;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Slf4j
 @Service
 public class AgvWrkMastHandler extends AbstractHandler<String> {
 
+    //鍏ュ簱绫诲瀷鏁扮粍
+    private static final List<Integer> IN_TYPE_LIST = new ArrayList<Integer>(){{
+        add(1);
+    }};
+    //private static final int[] IN_TYPE_ARRAY = {1};
+    //鍑哄簱绫诲瀷鏁扮粍
+    private static final List<Integer> OUT_TYPE_List = new ArrayList<Integer>(){{
+//        add(101);
+    }};
+    //private static final int[] OUT_TYPE_ARRAY = {101};
+    //绉诲簱绫诲瀷鏁扮粍
+    private static final List<Integer> MOVE_TYPE_List = new ArrayList<Integer>(){{
+        add(11);add(101); add(12); add(53); add(101); add(108); add(111); add(112);
+
+
+    }};
+    //private static final int[] MOVE_TYPE_ARRAY = {11,12};
+
     @Value("${agvBasDev.maxWorkNum}")
     private int maxWrokNum;
+    @Value("${mes.url}")
+    private String url;
+    @Value("${mes.getTokenUrl}")
+    private String getTokenUrl;
+    @Value("${mes.orderReportPath}")
+    private String orderReportPath;
+    @Value("${mes.pakinReportPath}")
+    private String pakinReportPath;
+    @Value("${mes.buyPakinReportPath}")
+    private String buyPakinReportPath;
+    @Value("${mes.pakoutReportPath}")
+    private String pakoutReportPath;
+    @Value("${mes.getTokenPath}")
+    private String getTokenPath;
+    @Value("${mes.appKey}")
+    private String appKey;
+    @Value("${mes.appSecret}")
+    private String appSecret;
+
 
     @Autowired
     private AgvWrkMastService agvWrkMastService;
@@ -51,9 +92,18 @@
     private AgvBasDevpService agvBasDevpService;
     @Autowired
     private AgvWorkService agvWorkService;
+    @Autowired
+    private ApiLogService apiLogService;
+    @Autowired
+    private DocTypeService docTypeService;
+    @Autowired
+    private OrderDetlService orderDetlService;
 
     @Transactional
     public ReturnT<String> completedPutWayWrk(AgvWrkMast agvWrkMast) {
+        //鐢ㄤ簬涓婃姤mes鐨勫伐浣滄。鏄庣粏
+        List<AgvWrkDetl> agvWrkDetlListOld = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", agvWrkMast.getWrkNo()));
+
         try{
             int wrkNo = agvWrkMast.getWrkNo();
             String barcode = agvWrkMast.getBarcode();
@@ -241,17 +291,30 @@
                 });
             }
 
-            return SUCCESS;
+            //涓婃姤mes
+//            MesOrderReportParam param = generateMesParam(agvWrkMast, agvWrkDetlListOld);
+//            if(!Cools.isEmpty(param)){
+//                doHttpRequest(param,getMesTokenInfo(),"涓婃姤mes鍗曟嵁淇℃伅",url,orderReportPath,null,"127.0.0.1");
+//            }
+
+            //return SUCCESS;
         }catch (Exception e){
             log.error(""+e.getMessage());
         }
-        return FAIL;
+        reportMes(agvWrkMast,agvWrkDetlListOld);
+        return SUCCESS;
     }
 
 
     @Transactional
     public ReturnT<String> completedCarryWrk(AgvWrkMast agvWrkMast) {
+
+        //鐢ㄤ簬涓婃姤mes鐨勫伐浣滄。鏄庣粏
+        List<AgvWrkDetl> agvWrkDetlListOld = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", agvWrkMast.getWrkNo()));
+
+
         try{
+
             Date now = new Date();
             int wrkNo = agvWrkMast.getWrkNo();
             String orderNo = getOrderNoByWrkNo(wrkNo);
@@ -291,7 +354,6 @@
                     wrkMast.setModiUser(9527L);
                     wrkMast.setModiTime(now);
                     wrkMast.setLogErrMemo("completedCarryWrk");
-
                     if (!agvWrkMastService.insertByIncrease(wrkMast)) {
                         throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
                     }
@@ -328,15 +390,25 @@
                     orderService.checkComplete(o);
                 });
             }
-            return SUCCESS;
+
+            //涓婃姤mes
+//            MesOrderReportParam param = generateMesParam(agvWrkMast, agvWrkDetlListOld);
+//            if(!Cools.isEmpty(param)){
+//                doHttpRequest(param,getMesTokenInfo(),"涓婃姤mes鍗曟嵁淇℃伅",url,orderReportPath,null,"127.0.0.1");
+//            }
+
         }catch (Exception e){
             log.error(""+e.getMessage());
         }
-        return FAIL;
+        reportMes(agvWrkMast,agvWrkDetlListOld);
+        return SUCCESS;
     }
 
     @Transactional
     public ReturnT<String> completedCarryWrk2(AgvWrkMast agvWrkMast) {
+        //鐢ㄤ簬涓婃姤mes鐨勫伐浣滄。鏄庣粏
+        List<AgvWrkDetl> agvWrkDetlListOld = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", agvWrkMast.getWrkNo()));
+
         try{
             int wrkNo = agvWrkMast.getWrkNo();
             String orderNo = getOrderNoByWrkNo(wrkNo);
@@ -374,11 +446,18 @@
                     orderService.checkComplete(o);
                 });
             }
-            return SUCCESS;
+            //涓婃姤mes
+//            MesOrderReportParam param = generateMesParam(agvWrkMast, agvWrkDetlListOld);
+//            if(!Cools.isEmpty(param)){
+//                doHttpRequest(param,getMesTokenInfo(),"涓婃姤mes鍗曟嵁淇℃伅",url,orderReportPath,null,"127.0.0.1");
+//            }
+//            reportMes(agvWrkMast,agvWrkDetlListOld);
+//            return SUCCESS;
         }catch (Exception e){
             log.error(""+e.getMessage());
         }
-        return FAIL;
+        reportMes(agvWrkMast,agvWrkDetlListOld);
+        return SUCCESS;
     }
 
     @Transactional
@@ -547,4 +626,219 @@
 
         return wrkMast;
     }
+
+    private void reportMes(AgvWrkMast agvWrkMast, List<AgvWrkDetl> agvWrkDetls){
+        if(Cools.isEmpty(agvWrkDetls)){
+            return ;
+        }
+        //鍖哄垎涓嶅悓浠诲姟绫诲瀷鐨勪笂鎶ユ柟寮�
+
+        if(IN_TYPE_LIST.contains(agvWrkMast.getIoType())){
+            reportMesPakinOrder(agvWrkMast,agvWrkDetls);
+        }
+        if(OUT_TYPE_List.contains(agvWrkMast.getIoType())){
+            reportMesPakoutOrder(agvWrkMast,agvWrkDetls);
+        }
+        if(MOVE_TYPE_List.contains(agvWrkMast.getIoType())){
+            generateMesParam(agvWrkMast,agvWrkDetls);
+        }
+    }
+
+    private void reportMesPakinOrder(AgvWrkMast agvWrkMast, List<AgvWrkDetl> agvWrkDetls){
+
+        for (AgvWrkDetl agvWrkDetl : agvWrkDetls){
+            //鍒ゆ柇鏄惁閲囪喘鍏ュ簱
+
+            String orderNo = agvWrkDetl.getOrderNo();
+            Order order = orderService.selectByNo(orderNo);
+
+            DocType docType = docTypeService.selectById(order.getDocType());
+
+            if (docType.getDocName().contains("閲囪喘")){
+
+                OrderDetl orderDetl = orderDetlService.selectByOrderNoAndMatnr(orderNo, agvWrkDetl.getMatnr(), agvWrkDetl.getThreeCode(), agvWrkDetl.getDeadTime());
+
+                MesBuyPakinReportParam mesBuyPakinReportParam = new MesBuyPakinReportParam();
+                List<MesBuyPakinReportParam.Iteam> iteams = new ArrayList<>();
+                MesBuyPakinReportParam.Iteam iteam = new MesBuyPakinReportParam.Iteam();
+                iteam.setMaterialCode(agvWrkDetl.getMatnr());
+                iteam.setBatchNo(agvWrkDetl.getBatch());
+                iteam.setAmount(agvWrkDetl.getAnfme());
+                iteam.setStorageLocationCode(agvWrkMast.getLocNo());
+                iteam.setLineNo(orderDetl.getItemNum());
+                iteam.setSupplierCode(order.getSalesman());
+                iteam.setUnit(agvWrkDetl.getUnit());
+
+                iteams.add(iteam);
+
+                mesBuyPakinReportParam.setCode(orderNo);
+                mesBuyPakinReportParam.setIteam(iteams);
+
+                doHttpRequest(mesBuyPakinReportParam,getMesTokenInfo(),"涓婃姤mes閲囪喘鍏ュ簱淇℃伅",url,buyPakinReportPath,null,"127.0.0.1");
+
+            }else {
+                MesPakinReportParam mesPakinReportParam = new MesPakinReportParam();
+                mesPakinReportParam.setInboundOrderCode(agvWrkDetl.getOrderNo());
+                mesPakinReportParam.setBizType("0");
+                mesPakinReportParam.setInventoryAttr(new MesPakinReportParam.InventoryAttr(agvWrkDetl.getThreeCode().trim(),agvWrkDetl.getMatnr(),agvWrkMast.getLocNo()));
+                mesPakinReportParam.setNoQrCodeExecAmount(new MesPakinReportParam.NoQrCodeExecAmount(agvWrkDetl.getAnfme(),agvWrkDetl.getUnit(),null));
+
+                doHttpRequest(mesPakinReportParam,getMesTokenInfo(),"涓婃姤mes鍏ュ簱淇℃伅",url,pakinReportPath,null,"127.0.0.1");
+            }
+        }
+
+    }
+
+    private void reportMesPakoutOrder(AgvWrkMast agvWrkMast, List<AgvWrkDetl> agvWrkDetls){
+        for (AgvWrkDetl agvWrkDetl : agvWrkDetls){
+            MesPakoutReportParam mesPakoutReportParam = new MesPakoutReportParam();
+            mesPakoutReportParam.setStorageCode(agvWrkMast.getLocNo());
+            AgvLocMast agvLocMast = agvLocMastService.selectById(agvWrkMast.getLocNo());
+            mesPakoutReportParam.setWareHouseCode(agvLocMast.getPltType().toString());
+            mesPakoutReportParam.setMaterialCode(agvWrkDetl.getMatnr());
+            mesPakoutReportParam.setBatchNos(Arrays.asList(agvWrkDetl.getThreeCode().trim()));
+            mesPakoutReportParam.setAmount(new MesPakoutReportParam.Amount(agvWrkDetl.getAnfme(),agvWrkDetl.getUnit(),null));
+
+            doHttpRequest(mesPakoutReportParam,getMesTokenInfo(),"涓婃姤mes鍑哄簱淇℃伅",url,pakoutReportPath,null,"127.0.0.1");
+
+        }
+    }
+
+    private void generateMesParam(AgvWrkMast agvWrkMast, List<AgvWrkDetl> agvWrkDetls){
+
+        if(agvWrkMast.getIoType() == 53){
+            String locNo = agvWrkMast.getLocNo();
+            agvWrkMast.setLocNo(agvWrkMast.getSourceLocNo());
+            agvWrkMast.setSourceLocNo(locNo);
+        }
+
+        MesOrderReportParam param = new MesOrderReportParam();
+
+        List<MesOrderReportParam.TransferOrderItem> transferOrderItems = new ArrayList<>();
+        List<MesOrderReportParam.TransferOrderItem.InventoryDetail> inventoryDetails = new ArrayList<>();
+        List<MesOrderReportParam.RecordCustomFieldBaseCO.CustomField> customFields = new ArrayList<>();
+
+        MesOrderReportParam.RecordCustomFieldBaseCO recordCustomFieldBaseCO = new MesOrderReportParam.RecordCustomFieldBaseCO();
+        recordCustomFieldBaseCO.setCustomFields(customFields);
+        param.setRecordCustomFieldBaseCO(recordCustomFieldBaseCO);
+
+        //娣诲姞transferOrderItem灞炴��
+        MesOrderReportParam.TransferOrderItem transferOrderItem = new MesOrderReportParam.TransferOrderItem();
+        transferOrderItem.setRemark(agvWrkDetls.get(0).getOrderNo());
+        //璋冩嫧
+        if(agvWrkMast.getLocNo().contains("YZ")){
+            transferOrderItem.setTargetLocationCode(agvWrkMast.getLocNo());
+        }else {
+            //鍑哄簱榛樿浠撲綅
+            String floor = agvWrkMast.getLocNo().split("F")[1];
+            transferOrderItem.setTargetLocationCode(getTargetLocationByFloor(floor));
+        }
+        transferOrderItems.add(transferOrderItem);
+        transferOrderItem.setInventoryDetails(inventoryDetails);
+
+        param.setTransferOrderItems(transferOrderItems);
+
+        for (AgvWrkDetl agvWrkDetl : agvWrkDetls){
+            MesOrderReportParam.TransferOrderItem.InventoryDetail inventoryDetail = new MesOrderReportParam.TransferOrderItem.InventoryDetail();
+            //娣诲姞amount灞炴��
+            MesOrderReportParam.TransferOrderItem.InventoryDetail.Amount amount = new MesOrderReportParam.TransferOrderItem.InventoryDetail.Amount(agvWrkDetl.getAnfme(),agvWrkDetl.getUnit(),null);
+            inventoryDetail.setAmount(amount);
+            //娣诲姞bizKey灞炴��
+            MesOrderReportParam.TransferOrderItem.InventoryDetail.BizKey bizKey = new MesOrderReportParam.TransferOrderItem.InventoryDetail.BizKey(Cools.isEmpty(agvWrkDetl.getBatch()) ? "" : agvWrkDetl.getBatch().trim());
+            inventoryDetail.setBizKey(bizKey);
+            //娣诲姞inventoryDetail灞炴��
+            inventoryDetail.setLocationCode(agvWrkMast.getSourceLocNo());
+            inventoryDetail.setMaterialCode(agvWrkDetl.getMatnr());
+            inventoryDetail.setQcStatus(1);
+            inventoryDetail.setStorageStatus(1);
+            inventoryDetails.add(inventoryDetail);
+            //娣诲姞閿�鍞鍗曞彿
+            MesOrderReportParam.RecordCustomFieldBaseCO.CustomField customField = new MesOrderReportParam.RecordCustomFieldBaseCO.CustomField("workOrderCode__c",agvWrkDetl.getThreeCode().trim());
+            customFields.add(customField);
+        }
+
+        doHttpRequest(param,getMesTokenInfo(),"涓婃姤mes璋冩嫧淇℃伅",url,orderReportPath,null,"127.0.0.1");
+
+    }
+
+    //鑾峰彇mes token淇℃伅
+    private Map<String,Object> getMesTokenInfo(){
+        Map<String,String> param = new HashMap<>();
+        param.put("appKey",appKey);
+        param.put("appSecret",appSecret);
+
+        JSONObject jsonObject = doHttpRequest(param,null, "鑾峰彇MesToken", getTokenUrl, getTokenPath, null, "127.0.0.1");
+
+        Map<String,Object> headParam = new HashMap<>();
+        headParam.put("X-AUTH",JSON.parseObject(jsonObject.get("data").toString()).get("appAccessToken").toString());
+
+        return headParam;
+
+    }
+
+    //鏍规嵁妤煎眰榛樿鍑哄簱浠撲綅
+    private String getTargetLocationByFloor(String f){
+        int floor = Integer.parseInt(f);
+        if(floor == 1){
+            return "WH-000";
+        }
+
+        if(floor == 2){
+            return "WH-000";
+        }
+
+        if(floor == 3){
+            return "WH-000";
+        }
+
+        return null;
+    }
+
+    private JSONObject doHttpRequest(Object requestParam,Map<String,Object> headParam, String namespace, String url, String path, String appkey, String ip){
+
+        String response = "";
+        boolean success = false;
+
+        try {
+            response = new HttpHandler.Builder()
+                    .setUri(url)
+                    .setPath(path)
+                    .setHeaders(headParam)
+                    .setJson(JSONObject.toJSONString(requestParam))
+                    .setHttps(true)
+                    .build()
+                    .doPost();
+            JSONObject jsonObject = JSON.parseObject(response);
+
+            if(Cools.isEmpty(jsonObject.get("code")) || Integer.parseInt(jsonObject.get("code").toString()) != 200){
+                throw new CoolException(jsonObject.get("dsc").toString());
+            }
+            success = true;
+            return jsonObject;
+
+//            String succeed = jsonObject.get("succeed").toString();
+//
+//            int code = Cools.eq("0",succeed) ? 0 : 1;
+//            if(code != 200){
+//                throw new CoolException(jsonObject.get("dsc").toString());
+//            }
+//            success = true;
+
+        }catch (Exception e){
+            log.error(e.getMessage());
+            throw new CoolException(e.getMessage());
+        }finally {
+            apiLogService.save(
+                    namespace,
+                    url + path,
+                    appkey,
+                    ip,
+                    JSON.toJSONString(JSONObject.toJSONString(requestParam)),
+                    response,
+                    success
+            );
+        }
+
+    }
+
 }
diff --git a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
index 6a10807..9648cba 100644
--- a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
@@ -199,6 +199,7 @@
         }
         agvWrkMast.setWrkSts(201L);
         agvWrkMast.setLocNo(locMast.getLocNo());
+        agvWrkMast.setLogErrMemo("start2-doAutoMove2");
         agvWrkMastService.updateById(agvWrkMast);
         //鏇存柊鐩爣搴撲綅鐘舵��
         updateAgvLocMast(locMast,"S");
@@ -310,6 +311,7 @@
         updateAgvBasDevp(devpNo,"S",agvLocMast.getLocType2(),agvLocMast.getBarcode());
         return SUCCESS;
     }
+
     public ReturnT<String> autoEmptyBack3(AgvWrkMast agvWrkMast) {
         Date now = new Date();
         AgvBasDevp agvBasDevp = agvBasDevpService.selectByDevNo(agvWrkMast.getSourceLocNo());
@@ -332,6 +334,7 @@
         updateAgvBasDevp(agvBasDevp,"R");
         return SUCCESS;
     }
+
     public ReturnT<String> autoEmptyBack2(AgvLocMast agvLocMast) {
         Date now = new Date();
         //鏌ヨ宸ヤ綔妗�
diff --git a/src/main/java/com/zy/common/model/DetlDto.java b/src/main/java/com/zy/common/model/DetlDto.java
index 422e62e..00640f9 100644
--- a/src/main/java/com/zy/common/model/DetlDto.java
+++ b/src/main/java/com/zy/common/model/DetlDto.java
@@ -30,6 +30,8 @@
     //閿�鍞鍗曡鍙�
     private String isoseq;
 
+    private String cFree1;
+
     // 搴撲綅绫诲瀷锛� 1銆佷唬鍖呰鎴愬搧锛�2銆佸師鏉愭枡锛�3銆佺澹�
     private Integer locType;
 
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index cd5a48f..fc45b8b 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -90,9 +90,16 @@
 ERP:
   url: http://39.184.149.30:8877
   orderReportPath: /DBMS/U8/CM/add
-MES:
-  url: http://192.168.1.55:8010
-  orderReportPath: /api/RdAudit
+mes:
+  url: https://v3-ali.blacklake.cn/api/openapi/domain/web/v1/route
+  orderReportPath: /inventory/open/v2/transfer_order/ordinary/_execute
+  pakinReportPath: /inventory/open/v2/inbound_order/execute/_inbound
+  buyPakinReportPath: /schedule-for-yinzuo/open/yinzuo/inboundOrder
+  pakoutReportPath: /inventory/open/v2/outbound_order/_outbound_by_suggest
+  getTokenUrl: https://v3-ali.blacklake.cn
+  getTokenPath: /api/openapi/domain/api/v1/access_token/_get_access_token
+  appKey: cli_1712644281065780
+  appSecret: 6710d24e31e64adc963d4c213b2c9b8e
 
 agvBasDev:
   maxWorkNum: 1
diff --git a/src/main/webapp/static/js/agvLocMast/locMast.js b/src/main/webapp/static/js/agvLocMast/locMast.js
index 1951580..f1154c4 100644
--- a/src/main/webapp/static/js/agvLocMast/locMast.js
+++ b/src/main/webapp/static/js/agvLocMast/locMast.js
@@ -23,7 +23,6 @@
             ,{field: 'locNo', align: 'center',title: '搴撲綅鍙�',sort:true}
             ,{field: 'locSts$', align: 'center',title: '搴撲綅鐘舵��',width:200}
             // ,{field: 'whsType$', align: 'center',title: '搴撲綅绫诲瀷'}
-            // ,{field: 'pltType', align: 'center',title: ''}
             // ,{field: 'ctnType', align: 'center',title: ''}
             // ,{field: 'locSts', align: 'center',title: ''}
             // ,{field: 'sheetNo', align: 'center',title: ''}
@@ -35,6 +34,7 @@
             ,{field: 'floor', align: 'center',title: '妤�', sort:true}
             ,{field: 'barcode', align: 'center',title: '璐ф灦鐮�', sort:true}
             ,{field: 'locType2', align: 'center',title: '璐ф灦绫诲瀷', sort:true}
+            ,{field: 'pltType', align: 'center',title: '浠撲綅缂栫爜'}
             ,{field: 'fullPlt', align: 'center',title: '婊℃澘', templet:function(row){
                     var html = "<input value='fullPlt' type='checkbox' lay-skin='primary' lay-filter='tableCheckbox' disabled table-index='"+row.LAY_TABLE_INDEX+"'";
                     if(row.fullPlt === 'Y'){html += " checked ";}
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index f333b04..82180e2 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -62,7 +62,6 @@
             {field: 'tel', align: 'center',title: '浠撳簱', hide: true},
             {field: 'operMemb', align: 'center',title: '鍑哄叆搴撶被鍒�', hide: true},
             {field: 'salesman', align: 'center',title: '閮ㄩ棬', hide: true},
-
             {align: 'center', title: '鎿嶄綔', toolbar: '#operate', width: 180}
         ]],
         request: {
@@ -166,7 +165,9 @@
                             //{field: 'manu', title: '琛屽彿'},
                             {field: 'threeCode', title: '閿�鍞崟鍙�'},
                             {field: 'deadTime', title: '鑷敱椤�'},
-                            {field: 'processSts$', title: '宸ュ簭'}
+                            {field: 'processSts$', title: '宸ュ簭'},
+                            {field: 'specs', title: '瑙勬牸'},
+                            //{field: 'itemNum', title: '琛屽敮涓�鏍囪瘑'}
                         ]],
                         request: {
                             pageName: 'curr',
@@ -192,7 +193,6 @@
             });
         }
     });
-
 
     // 鏄剧ず琛ㄥ崟寮圭獥
     function showEditModel(expTpe) {
@@ -306,7 +306,6 @@
                     },
                     size: ''
                 };
-
                 if (!isExpAdd) {
                     $.ajax({
                         url: baseUrl+"/order/detl/all/auth?orderId=" + expTpe.id,
diff --git a/src/main/webapp/views/order/order.html b/src/main/webapp/views/order/order.html
index dc07fa1..e7cd9b7 100644
--- a/src/main/webapp/views/order/order.html
+++ b/src/main/webapp/views/order/order.html
@@ -311,7 +311,7 @@
 <script type="text/javascript" src="../../static/js/echarts/echarts.min.js" charset="utf-8"></script>
 <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
 <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
-<script type="text/javascript" src="../../static/js/order/order.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/order/order.js?v=1" charset="utf-8"></script>
 
 <script type="text/template" id="docTypeTpl">
     <option value="">閫夋嫨绫诲瀷</option>

--
Gitblit v1.9.1