From d7586e563701a4cb65065be3c4c3e4e66220222d Mon Sep 17 00:00:00 2001
From: L <L@123>
Date: 星期四, 25 九月 2025 10:00:38 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/entity/param/CombParam.java               |    1 
 src/main/java/com/zy/asrs/task/handler/ArmRulesHandler.java         |   12 ++
 src/main/java/com/zy/asrs/entity/BasArmMast.java                    |    3 
 src/main/java/com/zy/asrs/entity/MatPrint.java                      |    5 
 src/main/java/com/zy/asrs/controller/OpenController.java            |    5 +
 src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java        |   99 ++++++++++++++++---
 src/main/webapp/static/js/mat/mat.js                                |   14 ++
 src/main/webapp/views/mat/mat.html                                  |   57 +++++------
 src/main/java/com/zy/asrs/entity/param/TaskArmCycleResultParam.java |    6 
 src/main/java/com/zy/asrs/entity/param/OrderToLine.java             |    8 
 src/main/java/com/zy/asrs/task/handler/OrderToLineHandler.java      |    6 +
 src/main/resources/mapper/BasArmRulesMapper.xml                     |    1 
 src/main/java/com/zy/asrs/entity/param/OrderArmEndParam.java        |    6 
 src/main/java/com/zy/asrs/entity/param/ArmPrecomputeParam.java      |   12 ++
 src/main/resources/mapper/MatMapper.xml                             |    2 
 src/main/java/com/zy/asrs/entity/BasArmMastLog.java                 |    3 
 src/main/java/com/zy/asrs/entity/Mat.java                           |   15 +++
 src/main/java/com/zy/asrs/controller/MatController.java             |    2 
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java         |   19 ++-
 19 files changed, 207 insertions(+), 69 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MatController.java b/src/main/java/com/zy/asrs/controller/MatController.java
index 533c8a4..cb362ea 100644
--- a/src/main/java/com/zy/asrs/controller/MatController.java
+++ b/src/main/java/com/zy/asrs/controller/MatController.java
@@ -276,6 +276,8 @@
             print.setBarcode(mat.getBarcode());
             print.setMaktx(mat.getMaktx());
             print.setSpecs(mat.getSpecs());
+            print.setSupp(mat.getSupp());
+            print.setSku(mat.getSku());
             print.setUnit(mat.getUnit());
             print.setMemo(mat.getMemo());
             res.add(print);
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 1c26f05..ef22698 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -223,6 +223,7 @@
      * 鍒嗘嫞绾夸笂鎶ユ帴鏀�
      */
     @PostMapping("/arm/task/v1")
+    @AppAuth(memo = "鍒嗘嫞绾夸笂鎶ユ帴鏀�")
     public synchronized R TaskArmReport(@RequestHeader(required = false) String appkey,
                                            @RequestBody TaskArmReportParam param,
                                            HttpServletRequest request) {
@@ -257,6 +258,7 @@
      * 鍗曠爜瀹屾垚
      */
     @PostMapping("/arm/task/cycle_result")
+    @AppAuth(memo = "鍗曠爜瀹屾垚")
     public synchronized R TaskArmCycleResult(@RequestHeader(required = false) String appkey,
                                         @RequestBody TaskArmCycleResultParam param,
                                         HttpServletRequest request) {
@@ -288,6 +290,7 @@
      * 鎵樼洏瀹屾垚
      */
     @PostMapping("/arm/task/workspace_status")
+    @AppAuth(memo = "鎵樼洏瀹屾垚")
     public synchronized R TaskArmWorkspaceStatus(@RequestHeader(required = false) String appkey,
                                              @RequestBody TaskArmWorkspaceStatusParam param,
                                              HttpServletRequest request) {
@@ -317,6 +320,7 @@
      * 寮傚父涓婃姤
      */
     @PostMapping("/armAbnormalOperation")
+    @AppAuth(memo = "寮傚父涓婃姤")
     public synchronized R ArmAbnormalOperation(@RequestHeader(required = false) String appkey,
                                                  @RequestBody TaskArmErrorParam param,
                                                  HttpServletRequest request) {
@@ -336,6 +340,7 @@
      * 璁㈠崟瀹屾垚涓婃姤
      */
     @PostMapping("/arm/task/order_result")
+    @AppAuth(memo = "璁㈠崟瀹屾垚涓婃姤")
     public synchronized R TaskArmWorkOrderStatus(@RequestHeader(required = false) String appkey,
                                                  @RequestBody OrderArmEndParam param,
                                                  HttpServletRequest request) {
diff --git a/src/main/java/com/zy/asrs/entity/BasArmMast.java b/src/main/java/com/zy/asrs/entity/BasArmMast.java
index 367f315..30667a0 100644
--- a/src/main/java/com/zy/asrs/entity/BasArmMast.java
+++ b/src/main/java/com/zy/asrs/entity/BasArmMast.java
@@ -20,13 +20,13 @@
      * ID
      */
     @ApiModelProperty(value= "ID")
+    @TableId(value = "id", type = IdType.AUTO)
     private Long id;
 
     /**
      * 鏈烘鑷傜紪鍙�
      */
     @ApiModelProperty(value= "鏈烘鑷傜紪鍙�")
-    @TableId(value = "arm_no", type = IdType.INPUT)
     @TableField("arm_no")
     private Integer armNo;
 
@@ -48,7 +48,6 @@
      * 璧风偣
      */
     @ApiModelProperty(value= "璧风偣")
-    @TableId(value = "sorting_line", type = IdType.INPUT)
     @TableField("sorting_line")
     private Integer sortingLine;
 
diff --git a/src/main/java/com/zy/asrs/entity/BasArmMastLog.java b/src/main/java/com/zy/asrs/entity/BasArmMastLog.java
index 9eee9fc..93cc457 100644
--- a/src/main/java/com/zy/asrs/entity/BasArmMastLog.java
+++ b/src/main/java/com/zy/asrs/entity/BasArmMastLog.java
@@ -1,5 +1,7 @@
 package com.zy.asrs.entity;
 
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.enums.IdType;
 import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableField;
 
 import io.swagger.annotations.ApiModelProperty;
@@ -17,6 +19,7 @@
      * ID
      */
     @ApiModelProperty(value= "ID")
+    @TableId(value = "id", type = IdType.AUTO)
     private Long id;
 
     /**
diff --git a/src/main/java/com/zy/asrs/entity/Mat.java b/src/main/java/com/zy/asrs/entity/Mat.java
index 7bb14ea..53bba2a 100644
--- a/src/main/java/com/zy/asrs/entity/Mat.java
+++ b/src/main/java/com/zy/asrs/entity/Mat.java
@@ -190,10 +190,25 @@
      * 闀垮害
      */
     @ApiModelProperty(value= "闀垮害")
+    @ExcelProperty(value = "闀垮害")
     @TableField("man_length")
     private Double manLength;
 
     /**
+     * 閲嶉噺
+     */
+    @ApiModelProperty(value= "瀹藉害")
+    @ExcelProperty(value = "瀹藉害")
+    private Double width;
+
+    /**
+     * 閲嶉噺
+     */
+    @ApiModelProperty(value= "楂樺害")
+    @ExcelProperty(value = "楂樺害")
+    private Double height;
+
+    /**
      * 浣撶Н
      */
     @ApiModelProperty(value= "浣撶Н")
diff --git a/src/main/java/com/zy/asrs/entity/MatPrint.java b/src/main/java/com/zy/asrs/entity/MatPrint.java
index 486d708..ba38f1d 100644
--- a/src/main/java/com/zy/asrs/entity/MatPrint.java
+++ b/src/main/java/com/zy/asrs/entity/MatPrint.java
@@ -11,7 +11,7 @@
     /**
      * 鐗╂枡缂栫爜
      */
-    private String matnr;
+    private String matnr;// matnr -> sku
 
     /**
      * SKC
@@ -27,6 +27,9 @@
      * 鐗╂枡鍗曚綅
      */
     private String unit;
+    private String supp; //  supp -> po
+    private String sku;//barcode(sku) -> upc
+    private String supplier="榛樿";
 
     /**
      * 鐗╂枡瑙勬牸
diff --git a/src/main/java/com/zy/asrs/entity/param/ArmPrecomputeParam.java b/src/main/java/com/zy/asrs/entity/param/ArmPrecomputeParam.java
index bd68823..259ec7e 100644
--- a/src/main/java/com/zy/asrs/entity/param/ArmPrecomputeParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/ArmPrecomputeParam.java
@@ -36,15 +36,25 @@
         public CombMat() {}
 
         public CombMat(BasArmRules basArmRules) {
-            this.material_height = basArmRules.getMaterialHeight();
+            this.material_length = basArmRules.getMaterialLength();
             this.material_width = basArmRules.getMaterialWidth();
             this.material_height = basArmRules.getMaterialHeight();
             this.material_weight = basArmRules.getMaterialWeight();
         }
 
+        public CombMat(Double material_length, Double material_width, Double material_height, Double material_weight, Double material_number) {
+            this.material_length = material_length;
+            this.material_width = material_width;
+            this.material_height = material_height;
+            this.material_weight = material_weight;
+            this.material_number = material_number;
+        }
     }
 
     public ArmPrecomputeParam() {}
+    public ArmPrecomputeParam(Double material_length, Double material_width, Double material_height, Double material_weight, Double material_number) {
+        this.matList.add( new CombMat(material_length,  material_width,  material_height,  material_weight,  material_number));
+    }
 
     public ArmPrecomputeParam(BasArmRules basArmRules) {
         this.matList.add(new CombMat(basArmRules));
diff --git a/src/main/java/com/zy/asrs/entity/param/CombParam.java b/src/main/java/com/zy/asrs/entity/param/CombParam.java
index 86d2f4a..1182ad6 100644
--- a/src/main/java/com/zy/asrs/entity/param/CombParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/CombParam.java
@@ -48,6 +48,7 @@
 
         // 瑙勬牸
         private String specs = "";
+        private String supp = "";//supp -> po
 
         // sku
         private String sku = "";
diff --git a/src/main/java/com/zy/asrs/entity/param/OrderArmEndParam.java b/src/main/java/com/zy/asrs/entity/param/OrderArmEndParam.java
index a6ff8d5..aaecd46 100644
--- a/src/main/java/com/zy/asrs/entity/param/OrderArmEndParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/OrderArmEndParam.java
@@ -2,6 +2,8 @@
 
 import lombok.Data;
 
+import java.util.regex.Pattern;
+
 /*
  *  Created by Monkey D. Luffy on 2025.09.09
  * */
@@ -17,9 +19,9 @@
     private String sku;
 
     public void OrderIdTwo(String sign_order,String sign_sku){
-        String[] split = order_id.split(sign_order);
+        String[] split = order_id.split(Pattern.quote(sign_order));
         staNo = split[1];
-        String[] split1 = split[0].split(sign_sku);
+        String[] split1 = split[0].split(Pattern.quote(sign_sku));
         orderNo = split1[1];
         sku = split1[0];
     }
diff --git a/src/main/java/com/zy/asrs/entity/param/OrderToLine.java b/src/main/java/com/zy/asrs/entity/param/OrderToLine.java
index d41273b..d0c0b14 100644
--- a/src/main/java/com/zy/asrs/entity/param/OrderToLine.java
+++ b/src/main/java/com/zy/asrs/entity/param/OrderToLine.java
@@ -11,7 +11,7 @@
     /**
      * 鍗曟嵁缂栧彿
      */
-    private String OrderNo;
+    private String orderNo;
 
     /**
      * 鏃堕棿鎴�
@@ -47,7 +47,7 @@
         private String supplier;
 
         //缁戝畾鏍囪锛堟爣璇嗙浉鍚屽繀椤诲幓鍚屼竴涓垎鎷e彛锛�
-        private Long binding_tags;
+        private Long bindingTags;
 
         public MatList() {
         }
@@ -55,14 +55,14 @@
             this.sku = sku;
             this.po = po;
         }
-        public MatList(String sku, String po, Double ctns, String upc, Integer sign, String supplier, Long binding_tags) {
+        public MatList(String sku, String po, Double ctns, String upc, Integer sign, String supplier, Long bindingTags) {
             this.sku = sku;
             this.po = po;
             this.ctns = ctns;
             this.upc = upc;
             this.sign = sign;
             this.supplier = supplier;
-            this.binding_tags = binding_tags;
+            this.bindingTags = bindingTags;
         }
     }
 }
diff --git a/src/main/java/com/zy/asrs/entity/param/TaskArmCycleResultParam.java b/src/main/java/com/zy/asrs/entity/param/TaskArmCycleResultParam.java
index 96882f6..1797392 100644
--- a/src/main/java/com/zy/asrs/entity/param/TaskArmCycleResultParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/TaskArmCycleResultParam.java
@@ -2,6 +2,8 @@
 
 import lombok.Data;
 
+import java.util.regex.Pattern;
+
 /*
  *  Created by Monkey D. Luffy on 2025.09.09
  * */
@@ -17,9 +19,9 @@
     private String sku;
 
     public void OrderIdTwo(String sign_order,String sign_sku){
-        String[] split = order_id.split(sign_order);
+        String[] split = order_id.split(Pattern.quote(sign_order));
         staNo = split[1];
-        String[] split1 = split[0].split(sign_sku);
+        String[] split1 = split[0].split(Pattern.quote(sign_sku));
         orderNo = split1[1];
         sku = split1[0];
     }
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 9f1cdb0..ba634e5 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -609,7 +609,17 @@
             basArmMast.setStaNo(basArm.getStaNoSou());
             break;
         }
-        basArmMastService.insert(basArmMast);
+        BasArmMast basArmMastOld = basArmMastService.selectOne(
+                new EntityWrapper<BasArmMast>()
+                        .eq("sorting_line", basArmMast.getSortingLine())
+                        .eq("arm_no", basArmMast.getArmNo())
+                        .eq("status", 0)
+        );
+        if (Cools.isEmpty(basArmMastOld)){
+            basArmMastService.insert(basArmMast);
+        } else {
+            throw new CoolException("鏈煡璇㈠埌鐩稿叧鏈烘鑷傛媶鐮佸灈浠诲姟锛侊紒锛�"+ JSON.toJSONString(param));
+        }
     }
 
     @Override
@@ -634,7 +644,7 @@
     public void taskArmWorkspaceStatus(TaskArmWorkspaceStatusParam param) {
         BasArmMast basArmMast = basArmMastService.selectOne(
                 new EntityWrapper<BasArmMast>()
-                        .eq("sorting_line", Utils.armStaNo(param.getArm_no(),Integer.parseInt(param.getId())))
+                        .eq("sta_no", Utils.armStaNo(param.getArm_no(),Integer.parseInt(param.getId())))
                         .eq("arm_no", param.getArm_no())
                         .eq("status", 2)
         );
@@ -653,10 +663,9 @@
                         .eq("arm_no", param.getArm_no())
                         .eq("status", 5)
         );
-        if (Cools.isEmpty(basArmMast)){
-            throw new CoolException("鏈煡璇㈠埌鐩稿叧鏈烘鑷傛媶鐮佸灈浠诲姟锛侊紒锛�"+ JSON.toJSONString(param));
+        if (!Cools.isEmpty(basArmMast)){
+            basArmMastService.updateArmMastStatus(param.getArm_no(),basArmMast.getSortingLine(), 5,6);
         }
-        basArmMastService.updateArmMastStatus(param.getArm_no(),basArmMast.getSortingLine(), 5,6);
     }
 
 }
diff --git a/src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java b/src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java
index 465a3e5..c554e12 100644
--- a/src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java
@@ -40,6 +40,7 @@
 //            log.info("鏈湁鏂拌鍗�");
             return;
         }
+
         //閬嶅巻鍗曟嵁
         for (String orderNo : orderNos) {
             List<OrderDetl> orderDetls = orderDetlService.selectByOrderNo(orderNo);
@@ -50,8 +51,22 @@
             Long bindingTag = System.currentTimeMillis();//娣锋惌鏍囪
 
             List<OrderToLine.MatList> matLists = new ArrayList<>();
+            List<OrderToLine.MatList> matListsRemainder = new ArrayList<>();
+            List<OrderDetl> orderDetlsRemainder = new ArrayList<>();
+
             for (OrderDetl orderDetl : orderDetls) {
                 Integer number =  basArmRulesService.getNumber(orderDetl.getWeight(),orderDetl.getVolume(),orderDetl.getManLength(),orderDetl.getWidth(),orderDetl.getHeight());
+                if (number == null) {
+                    BasArmRules basArmRules = new BasArmRules();
+                    basArmRules.setMaterialHeight(orderDetl.getHeight());
+                    basArmRules.setMaterialWeight(orderDetl.getWeight());
+                    basArmRules.setMaterialLength(orderDetl.getManLength());
+                    basArmRules.setMaterialWidth(orderDetl.getWidth());
+                    basArmRulesService.insert(basArmRules);
+                    return;
+                } else if (number == 0){
+                    return;
+                }
                 Double anfme = orderDetl.getAnfme();
                 Double remainder = anfme % number;  //鍙栦綑   浣欐暟娣锋惌
                 if(remainder != 0){
@@ -59,27 +74,34 @@
                     OrderToLine.MatList matMix = new OrderToLine.MatList(
                             orderDetl.getMatnr(),  // matnr -> sku
                             orderDetl.getSupp(),  //  supp -> po
-                            remainder,          //    浣欐枡 -> 鍓╀綑浣欐枡缁熶竴鏃堕棿鎴虫爣璁�
-                            orderDetl.getBarcode(),   //barcode -> upc 鏉$爜
+                            orderDetl.getAnfme(),          //    浣欐枡 -> 鍓╀綑浣欐枡缁熶竴鏃堕棿鎴虫爣璁�
+                            orderDetl.getSku(),   //barcode -> upc 鏉$爜
                             1,
-                            orderDetl.getOrigin(),   //origin -> supplier 璐ф簮
+                            null,   //origin -> supplier 璐ф簮
                             bindingTag        //浣欐枡鏍囪鐩稿悓
                     );
+//                    matListsRemainder.add(matMix);
+//                    orderDetlsRemainder.add(orderDetl);
                     matLists.add(matMix);
+                } else {
+                    Double ctns = anfme - remainder;
+                    // 缁勮鐗╂枡淇℃伅
+                    OrderToLine.MatList mat = new OrderToLine.MatList(
+                            orderDetl.getMatnr(),  // matnr -> sku
+                            orderDetl.getSupp(),  //  supp -> po
+                            orderDetl.getAnfme(),   //鏁存枡
+                            orderDetl.getSku(),   //barcode -> upc
+                            1,
+                            null,   //origin -> supplier 璐ф簮
+                            System.currentTimeMillis()
+                    );
+                    matLists.add(mat);
                 }
-                Double ctns = anfme - remainder;
-                // 缁勮鐗╂枡淇℃伅
-                OrderToLine.MatList mat = new OrderToLine.MatList(
-                        orderDetl.getMatnr(),  // matnr -> sku
-                        orderDetl.getSupp(),  //  supp -> po
-                        ctns,          //鏁存枡
-                        orderDetl.getBarcode(),   //barcode -> upc
-                        1,
-                        orderDetl.getOrigin(),   //origin -> supplier 璐ф簮
-                        System.currentTimeMillis()
-                );
-                matLists.add(mat);
             }
+//            // 鏅鸿兘鍒嗙粍浣欐枡
+//            if (matListsRemainder.size() > 0) {
+//                groupRemainders(orderDetlsRemainder, orderDetlsRemainder.size(), orderDetls.size(), matLists);
+//            }
             orderToLine.setMatList(matLists);
             try{
                 ReturnT<String> returnT = orderToLineHandler.start(orderToLine);
@@ -94,4 +116,51 @@
 
     }
 
+
+    private void groupRemainders(List<OrderDetl> sameMaterialList, double totalRemainder,
+                                 int number, List<OrderToLine.MatList> matLists) {
+        // 绛栫暐1: 濡傛灉浣欐枡鎬婚噺杈冨ぇ锛屽皾璇曞垎鎴愬涓悎鐞嗗ぇ灏忕殑缁�
+        if (totalRemainder > number * 0.6) {
+            // 鍙互鍒嗘垚2缁勬垨鏇村缁�
+            int suggestedGroups = (int) Math.ceil(totalRemainder / (number * 0.8));
+            distributeRemainders(sameMaterialList, totalRemainder, suggestedGroups, matLists);
+        } else {
+            // 灏忎綑鏂欏崟缁勫鐞�
+            Long bindingTag = System.currentTimeMillis();
+            matLists.add(createMatListItem(sameMaterialList.get(0), totalRemainder, bindingTag, true));
+        }
+    }
+
+
+    private void distributeRemainders(List<OrderDetl> sameMaterialList, double totalRemainder,
+                                      int groupCount, List<OrderToLine.MatList> matLists) {
+        double average = totalRemainder / groupCount;
+
+        for (int i = 0; i < groupCount; i++) {
+            double groupQuantity;
+            if (i == groupCount - 1) {
+                // 鏈�鍚庝竴缁勫彇鍓╀綑鎵�鏈�
+                groupQuantity = totalRemainder - (average * (groupCount - 1));
+            } else {
+                groupQuantity = average;
+            }
+
+            // 涓烘瘡缁勭敓鎴愬敮涓�鏍囪
+            Long groupTag = System.currentTimeMillis() + i;
+            matLists.add(createMatListItem(sameMaterialList.get(0), groupQuantity, groupTag, true));
+        }
+    }
+
+    private OrderToLine.MatList createMatListItem(OrderDetl orderDetl, Double quantity, Long bindingTag, boolean isRemainder) {
+        return new OrderToLine.MatList(
+                orderDetl.getMatnr(),
+                orderDetl.getSupp(),
+                quantity,
+                orderDetl.getBarcode(),
+                1,
+                isRemainder ? null : orderDetl.getOrigin(),
+                isRemainder ? bindingTag : System.currentTimeMillis()
+        );
+    }
+
 }
diff --git a/src/main/java/com/zy/asrs/task/handler/ArmRulesHandler.java b/src/main/java/com/zy/asrs/task/handler/ArmRulesHandler.java
index eddc94b..4b6fc1f 100644
--- a/src/main/java/com/zy/asrs/task/handler/ArmRulesHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/ArmRulesHandler.java
@@ -56,13 +56,21 @@
                 response = new HttpHandler.Builder()
                         .setUri(URL)
                         .setPath(QuantityOfPalletizing)
-                        .setJson(JSON.toJSONString(armPrecomputeParam))
+                        .setJson(JSON.toJSONString(armPrecomputeParam.getMatList().get(0)))
                         .build()
                         .doPost();
                 JSONObject jsonObject = JSON.parseObject(response);
                 if (jsonObject.getInteger("code").equals(200)) {
+                    JSONObject data = JSON.parseObject(jsonObject.getString("data"));
+
                     success = true;
-                    ArmPrecomputeParam jsonObjectObject = jsonObject.getObject("data", ArmPrecomputeParam.class);
+                    ArmPrecomputeParam jsonObjectObject = new ArmPrecomputeParam(
+                            data.getDouble("material_length"),
+                            data.getDouble("material_width"),
+                            data.getDouble("material_height"),
+                            data.getDouble("material_weight"),
+                            data.getDouble("material_number")
+                    );
                     for (ArmPrecomputeParam.CombMat combMat : jsonObjectObject.getMatList()){
                         basArmRulesService.updateStatus(combMat);
                     }
diff --git a/src/main/java/com/zy/asrs/task/handler/OrderToLineHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderToLineHandler.java
index 2305e09..143bc74 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderToLineHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderToLineHandler.java
@@ -17,6 +17,9 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.HashMap;
+import java.util.Map;
+
 @Slf4j
 @Service
 @Transactional
@@ -39,7 +42,10 @@
             String response = "";
             boolean success = false;
             try {
+                Map<String, Object> map = new HashMap<>();
+                map.put("appkey","ea1f0459efc02a79f046f982767939ae");
                 response = new HttpHandler.Builder()
+                        .setHeaders(map)
                         .setUri(URL)
                         .setPath(Path)
                         .setJson(JSON.toJSONString(orderToline))
diff --git a/src/main/resources/mapper/BasArmRulesMapper.xml b/src/main/resources/mapper/BasArmRulesMapper.xml
index 55dfdce..466c927 100644
--- a/src/main/resources/mapper/BasArmRulesMapper.xml
+++ b/src/main/resources/mapper/BasArmRulesMapper.xml
@@ -35,7 +35,6 @@
         select material_number
         from asr_bas_arm_rules
         where 1=1
-        and material_volume = #{volume}
         and material_length = #{length}
         and material_width = #{width}
         and material_height = #{height}
diff --git a/src/main/resources/mapper/MatMapper.xml b/src/main/resources/mapper/MatMapper.xml
index 9416387..83845ae 100644
--- a/src/main/resources/mapper/MatMapper.xml
+++ b/src/main/resources/mapper/MatMapper.xml
@@ -27,6 +27,8 @@
         <result column="weight" property="weight" />
         <result column="man_length" property="manLength" />
         <result column="volume" property="volume" />
+        <result column="width" property="width" />
+        <result column="height" property="height" />
         <result column="three_code" property="threeCode" />
         <result column="supp" property="supp" />
         <result column="supp_code" property="suppCode" />
diff --git a/src/main/webapp/static/js/mat/mat.js b/src/main/webapp/static/js/mat/mat.js
index 667fe68..15913b1 100644
--- a/src/main/webapp/static/js/mat/mat.js
+++ b/src/main/webapp/static/js/mat/mat.js
@@ -334,9 +334,19 @@
                         var templateDom = $("#templatePreview"+templateNo);
                         var className = templateDom.attr("class");
                         if (className === 'template-barcode') {
-                            res.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=1&param="+res.data[i].matnr;
+                            res.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=1&param="
+                                +"orderNo;cs2025092313;"
+                                +"sku;" +res.data[i].matnr+";"
+                                +"po;" +res.data[i].supp+";"
+                                +"upc;" +res.data[i].sku+";"
+                                +"supplier;" +res.data[i].supplier;
                         } else {
-                            res.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=2&param="+res.data[i].matnr;
+                            res.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=2&param="
+                                +"orderNo;cs2025092313;"
+                                +"sku;" +res.data[i].matnr+";"
+                                +"po;" +res.data[i].supp+";"
+                                +"upc;" +res.data[i].sku+";"
+                                +"supplier;" +res.data[i].supplier;
                         }
                     }
                     var tpl = templateDom.html();
diff --git a/src/main/webapp/views/mat/mat.html b/src/main/webapp/views/mat/mat.html
index 6cdad50..cdd4807 100644
--- a/src/main/webapp/views/mat/mat.html
+++ b/src/main/webapp/views/mat/mat.html
@@ -190,6 +190,12 @@
                         <div id="tagSel" class="ew-xmselect-tree"></div>
                     </div>
                 </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">鍟嗗搧sku</label>
+                    <div class="layui-input-block">
+                        <input id="matnr" name="matnr" placeholder="璇疯緭鍏ku" class="layui-input" lay-vertype="tips" lay-verify="required" required="">
+                    </div>
+                </div>
 
                 <div class="layui-form-item">
                     <label class="layui-form-label layui-form-required">鍟嗗搧鍚嶇О</label>
@@ -199,61 +205,48 @@
                 </div>
 
                 <div class="layui-form-item">
-                    <label class="layui-form-label">閰嶇疆</label>
+                    <label class="layui-form-label">瑙勬牸</label>
                     <div class="layui-input-block">
-                        <input name="specs" placeholder="璇疯緭鍏ラ厤缃�" class="layui-input">
+                        <input name="supp" placeholder="璇疯緭鍏ュ鎴穚o" class="layui-input">
                     </div>
                 </div>
 
                 <div class="layui-form-item">
-                    <label class="layui-form-label">鍗曠鍑�閲�</label>
+                    <label class="layui-form-label">鏉$爜upc</label>
                     <div class="layui-input-block">
-                        <input name="weight" placeholder="璇疯緭鍏ュ崟绠卞噣閲嶆牸" class="layui-input">
-                    </div>
-                </div>
-
-                <div class="layui-form-item">
-                    <label class="layui-form-label">鍗曠浣撶Н</label>
-                    <div class="layui-input-block">
-                        <input name="volume" placeholder="璇疯緭鍏ュ崟绠变綋绉�" class="layui-input">
+                        <input name="sku" placeholder="璇疯緭鍏ユ潯鐮乽pc" class="layui-input">
                     </div>
                 </div>
 
             </div>
 
             <div class="layui-col-md6">
+
                 <div class="layui-form-item">
-                    <label class="layui-form-label layui-form-required">鍟嗗搧缂栧彿</label>
+                    <label class="layui-form-label">鍗曠闀垮害</label>
                     <div class="layui-input-block">
-                        <input id="matnr" name="matnr" placeholder="璇疯緭鍏ュ晢鍝佺紪鍙�" class="layui-input" lay-vertype="tips" lay-verify="required" required="">
+                        <input name="manLength" placeholder="璇疯緭鍏ュ崟绠遍暱搴m" class="layui-input">
                     </div>
                 </div>
 
                 <div class="layui-form-item">
-                    <label class="layui-form-label">瑙勬牸</label>
+                    <label class="layui-form-label">鍗曠閲嶉噺</label>
                     <div class="layui-input-block">
-                        <input name="specs" placeholder="璇疯緭鍏ヤ唬鐮�" class="layui-input">
+                        <input name="weight" placeholder="璇疯緭鍏ョ瀛愰噸閲弅g" class="layui-input">
                     </div>
                 </div>
 
                 <div class="layui-form-item">
-                    <label class="layui-form-label">澶囨敞</label>
+                    <label class="layui-form-label">鍗曠瀹藉害</label>
                     <div class="layui-input-block">
-                        <input name="memo" placeholder="璇疯緭鍏ュ娉�" class="layui-input">
+                        <input name="width" placeholder="璇疯緭鍏ョ瀛愬搴m" class="layui-input">
                     </div>
                 </div>
 
                 <div class="layui-form-item">
-                    <label class="layui-form-label">鍗曠姣涢噸</label>
+                    <label class="layui-form-label">鍗曠楂樺害</label>
                     <div class="layui-input-block">
-                        <input name="manLength" placeholder="璇疯緭鍏ュ崟绠辨瘺閲�" class="layui-input">
-                    </div>
-                </div>
-
-                <div class="layui-form-item">
-                    <label class="layui-form-label">鍗曠浣撶Н</label>
-                    <div class="layui-input-block">
-                        <input name="threeCode" placeholder="璇疯緭鍏ョ瀛愬昂瀵�" class="layui-input">
+                        <input name="height" placeholder="璇疯緭鍏ョ瀛愰珮搴m" class="layui-input">
                     </div>
                 </div>
 
@@ -364,7 +357,7 @@
     {{#each data}}
     <table class="contain" width="280" style="overflow: hidden;font-size: small;table-layout: fixed;">
         <tr style="height: 74px">
-            <td align="center" colspan="3" scope="col">鍟嗗搧缂栫爜</td>
+            <td align="center" colspan="3" scope="col">sku</td>
             <td align="center" class="barcode" colspan="9" scope="col">
                 <img class="template-code" src="{{this.barcodeUrl}}" width="90%">
                 <div style="letter-spacing: 2px;margin-top: 1px; text-align: center">
@@ -409,8 +402,8 @@
     {{#each data}}
     <table class="contain" width="280" style="overflow: hidden;font-size: xx-small;table-layout: fixed;">
         <tr style="height: 74px" >
-            <td align="center" scope="col" colspan="1">鍟嗗搧</td>
-            <td align="center" scope="col" colspan="1" style="
+            <td align="center" scope="col" colspan="1" rowspan="1">鍟嗗搧</td>
+            <td align="center" scope="col" colspan="1" rowspan="1" style="
                 display: inline-block;
                 line-height: 20px;
                 vertical-align: middle;
@@ -432,11 +425,11 @@
             </td>
         </tr>
         <tr style="height: 74px">
-            <td align="center" colspan="1">澶囨敞</td>
-            <td align="center" colspan="1" style="overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">{{this.memo}}</td>
+            <td align="center" colspan="1">po</td>
+            <td align="center" colspan="1" style="overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">{{this.supp}}</td>
         </tr>
     </table>
-    {{/each}}
+<!--    {{/each}}-->
 </script>
 
 </body>

--
Gitblit v1.9.1