From d907a822a940c7ec0fb7de0ca845472bda52229b Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期二, 03 二月 2026 14:33:12 +0800
Subject: [PATCH] #pda料箱组托和换码

---
 src/main/java/com/zy/asrs/entity/param/CombParam.java                      |    3 
 src/main/webapp/static/js/basCrnError/basCrnError.js                       |   10 
 src/main/webapp/static/js/pakStore/emptyOut.js                             |    2 
 src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java                        |    3 
 src/main/webapp/static/js/operateLog/operateLog.js                         |    8 
 src/main/webapp/static/js/pakStore/emptyIn.js                              |    4 
 src/main/webapp/static/js/saas/locDetl.js                                  |   12 
 src/main/webapp/static/js/basErrLog/basErrLog.js                           |    6 
 src/main/webapp/static/js/basLocSts/basLocSts.js                           |   12 
 src/main/webapp/static/js/stoMan/stoQue.js                                 |    2 
 src/main/webapp/static/js/matTurn/matTurn.js                               |    2 
 src/main/java/com/zy/common/service/CommonService.java                     |    3 
 src/main/webapp/static/js/tagTree.js                                       |    2 
 src/main/java/com/zy/asrs/service/LocDetlService.java                      |    5 
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java                |   41 +
 src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java                      |    4 
 src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java             |    9 
 src/main/resources/mapper/WaitPakinLogMapper.xml                           |    1 
 src/main/webapp/static/js/manLocDetl/manLocDetl.js                         |   12 
 src/main/webapp/static/js/host/host.js                                     |    6 
 src/main/java/com/zy/asrs/entity/LocDetl.java                              |   48 +-
 src/main/webapp/static/js/nodeTree.js                                      |    2 
 src/main/webapp/static/js/order/order.js                                   |    8 
 src/main/webapp/static/js/role/rolePower.js                                |    4 
 src/main/webapp/static/js/waitPakinLog/waitPakinLog.js                     |   10 
 src/main/webapp/static/js/mat/mat.js                                       |    6 
 src/main/webapp/static/layuiadmin/layui/css/modules/layim/html/msgbox.html |    6 
 src/main/webapp/static/i18n/en.json                                        |   32 +
 src/main/webapp/static/js/basCrnOpt/basCrnOpt.js                           |    6 
 src/main/java/com/zy/asrs/entity/result/FindLocNoAttributeVo.java          |    3 
 src/main/webapp/static/js/permission/permission.js                         |    8 
 src/main/webapp/static/i18n/zh-cn.json                                     |    1 
 src/main/webapp/static/js/adjDetl/adjDetl.js                               |    6 
 src/main/java/com/zy/common/model/DetlDto.java                             |   24 +
 src/main/java/com/zy/asrs/service/MobileService.java                       |   14 
 src/main/webapp/static/js/locDetlStatis/locDetlStatis.js                   |    2 
 src/main/webapp/static/js/api/api.js                                       |    6 
 src/main/webapp/static/js/locDetl/locDetl.js                               |   12 
 src/main/java/com/zy/asrs/entity/WaitPakin.java                            |    3 
 src/main/webapp/static/js/report/inOut.js                                  |    2 
 src/main/webapp/static/js/userLogin/userLogin.js                           |    8 
 src/main/webapp/static/js/handWrkMast/handWrkMast.js                       |    4 
 src/main/webapp/static/js/locMast/locMast.js                               |   16 
 src/main/webapp/static/js/basWrkStatus/basWrkStatus.js                     |   10 
 src/main/webapp/static/js/rowLastno/rowLastno.js                           |   10 
 src/main/webapp/static/js/trayCode/trayCode.js                             |    8 
 src/main/java/com/zy/asrs/mapper/LocDetlMapper.java                        |    8 
 src/main/webapp/static/js/basDevp/basDevp.js                               |   18 
 src/main/resources/mapper/LocDetlMapper.xml                                |   28 +
 src/main/webapp/static/js/wrkMast/wrkMast.js                               |   14 
 src/main/webapp/static/js/ioWorks/stockIn.js                               |    2 
 src/main/java/com/zy/asrs/service/OrderDetlService.java                    |    4 
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java                |   20 
 src/main/webapp/static/js/common.js                                        |   34 +
 src/main/webapp/static/js/errorWrkMast/errorWrkMast.js                     |    4 
 src/main/webapp/static/js/report/workCountIn.js                            |    2 
 src/main/webapp/static/js/wrkDetl/wrkDetl.js                               |   10 
 src/main/webapp/static/js/report/reportStockUse.js                         |    2 
 src/main/webapp/static/js/saas/locMove.js                                  |    4 
 src/main/resources/mapper/WaitPakinMapper.xml                              |    1 
 src/main/webapp/static/layuiadmin/modules/im.js                            |    2 
 src/main/java/com/zy/asrs/entity/param/CombCartonParam.java                |   46 ++
 src/main/java/com/zy/common/model/LocDto.java                              |   31 +
 src/main/webapp/static/js/pakStore/stockOut.js                             |    2 
 src/main/resources/mapper/OrderDetlMapper.xml                              |   20 +
 src/main/java/com/zy/asrs/entity/WaitPakinLog.java                         |    2 
 src/main/webapp/views/detail.html                                          |    6 
 src/main/webapp/static/js/waitPakin/waitPakin.js                           |   16 
 src/main/webapp/static/js/basWhs/basWhs.js                                 |   10 
 src/main/java/com/zy/common/web/WcsController.java                         |   10 
 src/main/webapp/static/js/resource/resource.js                             |    8 
 src/main/resources/mapper/WrkDetlMapper.xml                                |    8 
 src/main/webapp/static/js/report/workOut.js                                |    2 
 src/main/webapp/static/js/wrkMastLog/wrkMastLog.js                         |    6 
 src/main/java/com/zy/asrs/entity/param/StockOutParam.java                  |    2 
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java              |  107 +++++
 src/main/webapp/static/js/config/config.js                                 |    6 
 src/main/webapp/static/js/wrkLastno/wrkLastno.js                           |   10 
 src/main/java/com/zy/asrs/service/WrkDetlService.java                      |    2 
 src/main/webapp/static/js/report/stayTime.js                               |    2 
 src/main/webapp/static/js/report/workCountOut.js                           |    2 
 src/main/java/com/zy/asrs/controller/OrderController.java                  |    4 
 src/main/java/com/zy/asrs/entity/param/ScanParam.java                      |    8 
 src/main/webapp/static/js/stkPlcm/stkPlcm.js                               |   16 
 src/main/webapp/static/js/basCrnStatus/basCrnStatus.js                     |   10 
 src/main/webapp/static/js/report/workIn.js                                 |    2 
 src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java             |   19 +
 src/main/webapp/static/js/role/role.js                                     |   10 
 src/main/java/com/zy/asrs/controller/MobileController.java                 |   18 
 src/main/webapp/static/js/staDesc/staDesc.js                               |   22 
 src/main/webapp/static/js/cool.js                                          |    2 
 src/main/webapp/static/js/basCrnp/basCrnp.js                               |   22 
 src/main/webapp/views/password.html                                        |    2 
 src/main/webapp/static/js/basWrkIotype/basWrkIotype.js                     |   10 
 src/main/webapp/views/pakStore/locDetlCheckQuery.html                      |    2 
 src/main/webapp/static/js/basPlcerror/basPlcerror.js                       |    6 
 src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java           |   15 
 src/main/webapp/static/js/wrkDetlLog/wrkDetlLog.js                         |   10 
 src/main/webapp/static/layuiadmin/lib/admin.js                             |    4 
 99 files changed, 710 insertions(+), 329 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 553ce4f..b7c5c30 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -9,10 +9,7 @@
 import com.core.common.R;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
-import com.zy.asrs.entity.param.CombParam;
-import com.zy.asrs.entity.param.GDYKConfirmGoodsParam;
-import com.zy.asrs.entity.param.MobileAdjustParam;
-import com.zy.asrs.entity.param.OffSaleParam;
+import com.zy.asrs.entity.param.*;
 import com.zy.asrs.entity.result.MobileAdjustResult;
 import com.zy.asrs.mapper.ManLocDetlMapper;
 import com.zy.asrs.service.*;
@@ -156,6 +153,19 @@
         return R.ok("response.comb_success");
     }
 
+    @RequestMapping("/cartonComb/auth")
+    @ManagerAuth(memo = "response.pallet_comb")
+    public R cartonComb(@RequestBody List<CombCartonParam> params ){
+        mobileService.cartonComb(params, getUserId());
+        return R.ok("response.comb_success");
+    }
+
+    @RequestMapping("/cartonScan/auth")
+    @ManagerAuth(memo = "response.carton_scan")
+    public R cartonScan(@RequestBody ScanParam scanParam){
+        OrderDetl orderDetl = mobileService.cartonScan(scanParam, getUserId());
+        return R.ok("response.scan_success").add(orderDetl);
+    }
     @RequestMapping("/pack/get/auth")
     @ManagerAuth(memo = "response.mobile_pack_get")
     public R packGet(@RequestParam String barcode){
diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index 32f6fbe..b6916b7 100644
--- a/src/main/java/com/zy/asrs/controller/OrderController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderController.java
@@ -158,7 +158,7 @@
         for (OrderDetl orderDetl : param.getOrderDetlList()) {
             DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
             if (DetlDto.has(list, dto)) {
-                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch());
+                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getBarcode());
                 item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
                 if (!orderDetlService.updateById(item)) {
                     throw new CoolException("response.save_order_detail_failed");
@@ -211,7 +211,7 @@
         for (OrderDetl orderDetl : param.getOrderDetlList()) {
             DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
             if (DetlDto.has(list, dto)) {
-                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch());
+                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getBarcode());
                 item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
                 if (!orderDetlService.updateById(item)) {
                     throw new CoolException("response.save_order_detail_failed");
diff --git a/src/main/java/com/zy/asrs/entity/LocDetl.java b/src/main/java/com/zy/asrs/entity/LocDetl.java
index 4009376..7823e36 100644
--- a/src/main/java/com/zy/asrs/entity/LocDetl.java
+++ b/src/main/java/com/zy/asrs/entity/LocDetl.java
@@ -24,15 +24,15 @@
 
     private static final long serialVersionUID = 1L;
 
-    @ApiModelProperty(value= "搴撲綅鍙�")
+    @ApiModelProperty(value= "搴撲綅鍙�") //Bin Location
     @TableField("loc_no")
     private String locNo;
 
-    @ApiModelProperty(value= "鎵樼洏鏉$爜")
+    @ApiModelProperty(value= "鎵樼洏鏉$爜")//Pallet No
     private String zpallet;
 
-    @ApiModelProperty(value= "鏁伴噺")
-    @ExcelProperty("鏁伴噺")
+    @ApiModelProperty(value= "鏁伴噺") //Quantity
+    @ExcelProperty("Quantity")
     private Double anfme;
 
     @ApiModelProperty(value= "鍟嗗搧缂栧彿")
@@ -43,12 +43,12 @@
     @ExcelProperty("鍟嗗搧鍚嶇О")
     private String maktx;
 
-    @ApiModelProperty(value= "瑙勬牸")
-    @ExcelProperty("瑙勬牸")
+    @ApiModelProperty(value= "瑙勬牸") //style
+    @ExcelProperty("style")
     private String specs;
 
-    @ApiModelProperty(value= "鎵瑰彿")
-    @ExcelProperty("鎵瑰彿")
+    @ApiModelProperty(value= "鎵瑰彿")  //carton number  ctn
+    @ExcelProperty("carton number")
     private String batch;
 
     @ApiModelProperty(value= "鍗曟嵁缂栧彿")
@@ -56,10 +56,10 @@
     @TableField("order_no")
     private String orderNo;
 
-    @ApiModelProperty(value= "鍨嬪彿")
+    @ApiModelProperty(value= "鍨嬪彿") //size
     private String model;
 
-    @ApiModelProperty(value= "棰滆壊")
+    @ApiModelProperty(value= "棰滆壊")  //color
     private String color;
 
     @ApiModelProperty(value= "鍝佺墝")
@@ -71,26 +71,26 @@
     @ApiModelProperty(value= "鍗曚环")
     private Double price;
 
-    @ApiModelProperty(value= "sku")
+    @ApiModelProperty(value= "buyer Po")  //buyer Po
     private String sku;
 
-    @ApiModelProperty(value= "鍗曚綅閲�")
+    @ApiModelProperty(value= "鍗曟嵁鏁伴噺")  //order qty
     private Double units;
 
-    @ApiModelProperty(value= "鏉$爜")
+    @ApiModelProperty(value= "鏉$爜") //carton Barcode
     private String barcode;
 
     @ApiModelProperty(value= "浜у湴")
     private String origin;
 
-    @ApiModelProperty(value= "鍘傚")
+    @ApiModelProperty(value= "container number") //container number
     private String manu;
 
     @ApiModelProperty(value= "鐢熶骇鏃ユ湡")
     @TableField("manu_date")
     private String manuDate;
 
-    @ApiModelProperty(value= "鍝侀」鏁�")
+    @ApiModelProperty(value= "inspection document number")  //inspection document number
     @TableField("item_num")
     private String itemNum;
 
@@ -104,17 +104,17 @@
     @ApiModelProperty(value= "闀垮害")
     private Double length;
 
-    @ApiModelProperty(value= "浣撶Н")
+    @ApiModelProperty(value= "ratio") //ratio
     private Double volume;
 
-    @ApiModelProperty(value= "涓夋柟缂栫爜")
+    @ApiModelProperty(value= "鍗栧") //Buyer
     @TableField("three_code")
     private String threeCode;
 
-    @ApiModelProperty(value= "渚涘簲鍟�")
+    @ApiModelProperty(value= "閿�鍞崟鍙�")  //SO/OC  sales order
     private String supp;
 
-    @ApiModelProperty(value= "渚涘簲鍟嗙紪鐮�")
+    @ApiModelProperty(value= "閲囪喘鍗曞彿")//POrder
     @TableField("supp_code")
     private String suppCode;
 
@@ -130,13 +130,13 @@
     @TableField("dead_warn")
     private Integer deadWarn;
 
-    @ApiModelProperty(value= "鍒惰喘 1: 鍒堕��  2: 閲囪喘  3: 澶栧崗  ")
+    @ApiModelProperty(value= "鍖呰绫诲瀷solid/ratio ")  //Pack type
     private Integer source;
 
-    @ApiModelProperty(value= "瑕佹眰妫�楠� 1: 鏄�  0: 鍚�  ")
+    @ApiModelProperty(value= "妫�楠岀姸鎬� 1: success  0: fail  ")  //inspection status
     private Integer inspect;
 
-    @ApiModelProperty(value= "鍗遍櫓鍝� 1: 鏄�  0: 鍚�  ")
+    @ApiModelProperty(value= "Pack/open ")  //carton status
     private Integer danger;
 
     @ApiModelProperty(value= "淇敼浜哄憳")
@@ -155,10 +155,10 @@
     @TableField("appe_time")
     private Date appeTime;
 
-    @ApiModelProperty(value= "澶囨敞")
+    @ApiModelProperty(value= "鍗栧鏉$爜")  //Buyer label barcode
     private String memo;
 
-    @ApiModelProperty(value= "缁勫悎閿�")
+    @ApiModelProperty(value= "缁勫悎id")  //cartonId-POnumber-item Number
     private String mixNumber;
 
     public String getLocNo$(){
diff --git a/src/main/java/com/zy/asrs/entity/WaitPakin.java b/src/main/java/com/zy/asrs/entity/WaitPakin.java
index 21a45ed..4094a26 100644
--- a/src/main/java/com/zy/asrs/entity/WaitPakin.java
+++ b/src/main/java/com/zy/asrs/entity/WaitPakin.java
@@ -152,6 +152,9 @@
     @ApiModelProperty(value= "澶囨敞")
     private String memo;
 
+    @ApiModelProperty(value= "鍖哄煙id")
+    private Integer areaId;
+
     public String getBeBatch$(){
         if (null == this.beBatch){ return null; }
         switch (this.beBatch){
diff --git a/src/main/java/com/zy/asrs/entity/WaitPakinLog.java b/src/main/java/com/zy/asrs/entity/WaitPakinLog.java
index 2d0e335..5c470e8 100644
--- a/src/main/java/com/zy/asrs/entity/WaitPakinLog.java
+++ b/src/main/java/com/zy/asrs/entity/WaitPakinLog.java
@@ -151,6 +151,8 @@
     @ApiModelProperty(value= "澶囨敞")
     private String memo;
 
+    @ApiModelProperty(value= "鍖哄煙id")
+    private Integer areaId;
     public String getBeBatch$(){
         if (null == this.beBatch){ return null; }
         switch (this.beBatch){
diff --git a/src/main/java/com/zy/asrs/entity/param/CombCartonParam.java b/src/main/java/com/zy/asrs/entity/param/CombCartonParam.java
new file mode 100644
index 0000000..ac39db7
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/CombCartonParam.java
@@ -0,0 +1,46 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class CombCartonParam {
+
+    // 鍗曟嵁缂栧彿
+    private String orderNo;
+
+    // 鎵樼洏鏉$爜
+    private String barcode;
+
+    private Integer zoneId;
+
+    private String zoneName;
+    // 搴撲綅缂栧彿
+    private String locno;
+
+    private List<CombCartonParam.Cartons> cartons;
+
+    @Data
+    public static class Cartons {
+
+        // 鐗╂枡缂栧彿
+        private String matnr;
+
+        // 搴忓垪鐮�
+        private String batch;
+
+        // 鐗╂枡鏁伴噺
+        private Double anfme;
+
+        // 鍟嗗搧鍚嶇О
+        private String maktx;
+
+        // 瑙勬牸
+        private String specs;
+
+        //绠卞瓙鏉$爜
+        private String cartonLabel;
+
+    }
+}
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 d1d5cfd..be90952 100644
--- a/src/main/java/com/zy/asrs/entity/param/CombParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/CombParam.java
@@ -40,6 +40,9 @@
         // 瑙勬牸
         private String specs;
 
+        //绠卞瓙鏉$爜
+        private String cartonLabel;
+
     }
 
 }
diff --git a/src/main/java/com/zy/asrs/entity/param/ScanParam.java b/src/main/java/com/zy/asrs/entity/param/ScanParam.java
new file mode 100644
index 0000000..ac2b4fb
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/ScanParam.java
@@ -0,0 +1,8 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+@Data
+public class ScanParam {
+    private String cartonLabel;
+}
diff --git a/src/main/java/com/zy/asrs/entity/param/StockOutParam.java b/src/main/java/com/zy/asrs/entity/param/StockOutParam.java
index 331d3b0..503291a 100644
--- a/src/main/java/com/zy/asrs/entity/param/StockOutParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/StockOutParam.java
@@ -31,6 +31,8 @@
         // 鏁伴噺
         private Double count;
 
+        private String barcode;
+
     }
 
 }
diff --git a/src/main/java/com/zy/asrs/entity/result/FindLocNoAttributeVo.java b/src/main/java/com/zy/asrs/entity/result/FindLocNoAttributeVo.java
index e6969b6..b15c1ea 100644
--- a/src/main/java/com/zy/asrs/entity/result/FindLocNoAttributeVo.java
+++ b/src/main/java/com/zy/asrs/entity/result/FindLocNoAttributeVo.java
@@ -14,4 +14,7 @@
     private String grade = "";
 
     private String brand = "";
+    private String cartonLabel = "";
+    private String orderNo = "";
+    private Integer areaId;
 }
diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
index 0cd8a47..4be2ec2 100644
--- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -22,12 +22,17 @@
     Integer listByPageCount(Map<String, Object> map);
 
     LocDetl selectItem(@Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch);
+    LocDetl selectItemCarton(@Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch,@Param("barcode")String barcode);
 
     List<LocDetl> selectItemByLocNo(String locNo);
 
     int deleteItem(@Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch);
 
     int updateAnfme(@Param("anfme")Double anfme, @Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch);
+    int deleteItem(@Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch,@Param("barcode")String barcode);
+
+    int updateAnfme(@Param("anfme")Double anfme, @Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch,@Param("barcode")String barcode);
+
 
     List<LocDetl> getStockOutPage(Map<String, Object> map);
 
@@ -81,4 +86,7 @@
     List<LocDetl> selectLocDetlUnilateralMoveShuttleN(@Param("matnr")String matnr,@Param("batch")String batch,@Param("grade")String grade);
 
     List<String> getSameDetlList(String matnr);
+
+    List<String> getSameDetlList2(String orderNo,Integer areaId);
+
 }
diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
index 51c99ad..d53c215 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
@@ -14,6 +14,7 @@
 public interface OrderDetlMapper extends BaseMapper<OrderDetl> {
 
     OrderDetl selectItem(@Param("orderId") Long orderId, @Param("matnr") String matnr, @Param("batch") String batch);
+    OrderDetl selectItem(@Param("orderId") Long orderId, @Param("matnr") String matnr, @Param("batch") String batch,@Param("barcode")String barcode);
 
     OrderDetl selectItemByOrderNo(@Param("orderNo") String orderNo, @Param("matnr") String matnr, @Param("batch") String batch);
 
@@ -32,6 +33,9 @@
     int addToLogTable(OrderDetl orderDetl);
 
     int increaseQtyByOrderNo(@Param("orderNo")String orderNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("qty")Double qty);
+    int increaseQtyByOrderNo(@Param("orderNo")String orderNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("qty")Double qty,@Param("barcode")String barcode);
+
+    int increaseWorkQty(@Param("orderId")Long orderId, @Param("matnr")String matnr, @Param("batch")String batch, @Param("workQty")Double workQty,@Param("barcode")String barcode);
 
     int increaseWorkQty(@Param("orderId")Long orderId, @Param("matnr")String matnr, @Param("batch")String batch, @Param("workQty")Double workQty);
 }
diff --git a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
index 913a5f3..2d016a8 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
@@ -20,6 +20,9 @@
     int deleteItem(@Param("wrkNo")Integer wrkNo, @Param("matnr")String matnr, @Param("batch")String batch);
 
     int updateAnfme(@Param("anfme")Double anfme, @Param("wrkNo")Integer wrkNo, @Param("matnr")String matnr, @Param("batch")String batch);
+    int deleteItem(@Param("wrkNo")Integer wrkNo, @Param("matnr")String matnr, @Param("batch")String batch,@Param("barcode")String barcode);
+
+    int updateAnfme(@Param("anfme")Double anfme, @Param("wrkNo")Integer wrkNo, @Param("matnr")String matnr, @Param("batch")String batch,@Param("barcode")String barcode);
 
     List<WrkDetl> selectAndLogByOrderNo(String orderNo);
 
diff --git a/src/main/java/com/zy/asrs/service/LocDetlService.java b/src/main/java/com/zy/asrs/service/LocDetlService.java
index 311dc60..e611624 100644
--- a/src/main/java/com/zy/asrs/service/LocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -14,6 +14,7 @@
     Page<LocDetl> getPage(Page<LocDetl> page);
 
     LocDetl selectItem(String locNo, String matnr, String batch);
+    LocDetl selectItemCarton(String locNo, String matnr, String batch,String barcode);
 
     List<LocDetl> selectItemByLocNo(String locNo);
 
@@ -23,6 +24,7 @@
      * 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏋滄暟閲忎负0锛屽垯鍒犻櫎璁板綍
      */
     boolean updateAnfme(Double anfme, String locNo, String matnr, String batch);
+    boolean updateAnfme(Double anfme, String locNo, String matnr, String batch,String barcode);
 
     boolean updateLocNo(String newLocNo, String oldLocNo);
 
@@ -73,4 +75,7 @@
     List<LocDetl> selectLocDetlUnilateralMoveShuttle(String matnr,String batch,String grade,Integer crnNo);
 
     List<String> getSameDetlList(String matnr);
+
+    List<String> getSameDetlList2(String orderNo,Integer areaId);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/MobileService.java b/src/main/java/com/zy/asrs/service/MobileService.java
index 6172647..f661137 100644
--- a/src/main/java/com/zy/asrs/service/MobileService.java
+++ b/src/main/java/com/zy/asrs/service/MobileService.java
@@ -4,11 +4,10 @@
 import com.zy.asrs.entity.BasDevp;
 import com.zy.asrs.entity.LocDetl;
 import com.zy.asrs.entity.OrderDetl;
-import com.zy.asrs.entity.param.CombParam;
-import com.zy.asrs.entity.param.MobileAdjustParam;
-import com.zy.asrs.entity.param.OffSaleParam;
+import com.zy.asrs.entity.param.*;
 
 import java.util.Date;
+import java.util.List;
 
 public interface MobileService {
 
@@ -18,6 +17,15 @@
     void comb(CombParam param, Long userId);
 
     /**
+     * 缁勬墭
+     */
+    void cartonComb(List<CombCartonParam> params, Long userId);
+    /**
+     * 鎵鏉$爜
+     */
+    OrderDetl cartonScan(ScanParam scanParam, Long userId);
+
+    /**
      * 涓婃灦
      */
     void onSale(CombParam param);
diff --git a/src/main/java/com/zy/asrs/service/OrderDetlService.java b/src/main/java/com/zy/asrs/service/OrderDetlService.java
index ecf08d2..d6e1492 100644
--- a/src/main/java/com/zy/asrs/service/OrderDetlService.java
+++ b/src/main/java/com/zy/asrs/service/OrderDetlService.java
@@ -13,6 +13,7 @@
     Page<OrderDetl> getPakoutPage(Page<OrderDetl> page);
 
     OrderDetl selectItem(Long orderId, String matnr, String batch);
+    OrderDetl selectItem(Long orderId, String matnr, String batch,String cartonLabel);
 
     OrderDetl selectItem(String orderNo, String matnr, String batch);
 
@@ -27,6 +28,7 @@
     boolean addToLogTable(OrderDetl orderDetl);
 
     boolean increaseQtyByOrderNo(String orderNo, String matnr, String batch, Double qty);
+    boolean increaseQtyByOrderNo(String orderNo, String matnr, String batch, Double qty,String barcode);
 
     /**
      * 鍏ュ嚭搴撲换鍔$敓鎴愭椂锛屾洿鏂板崟鎹〃涓綔涓氭暟閲�
@@ -37,4 +39,6 @@
      * @return
      */
     boolean increaseWorkQty(Long orderId, String matnr, String batch, Double workQty);
+    boolean increaseWorkQty(Long orderId, String matnr, String batch, Double workQty,String cartonLabel);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/WrkDetlService.java b/src/main/java/com/zy/asrs/service/WrkDetlService.java
index b78e8f6..71bd32e 100644
--- a/src/main/java/com/zy/asrs/service/WrkDetlService.java
+++ b/src/main/java/com/zy/asrs/service/WrkDetlService.java
@@ -17,6 +17,8 @@
     WrkDetl selectSingleByWrkNo(Integer workNo);
 
     boolean updateAnfme(Double anfme, Integer wrkNo, String matnr, String batch);
+    boolean updateAnfme(Double anfme, Integer wrkNo, String matnr, String batch,String barcode);
+
 
     List<WrkDetl> selectAndLogByOrderNo(String orderNo);
     List<WrkDetl> findByBarcode(String barcode);
diff --git a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
index 5210986..02b0e6a 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -38,7 +38,14 @@
             return baseMapper.updateAnfme(anfme, locNo, matnr, batch) > 0;
         }
     }
-
+    @Override
+    public boolean updateAnfme(Double anfme, String locNo, String matnr, String batch,String barcode) {
+        if (anfme <= 0) {
+            return this.baseMapper.deleteItem(locNo, matnr, batch,barcode) > 0;
+        } else {
+            return baseMapper.updateAnfme(anfme, locNo, matnr, batch,barcode) > 0;
+        }
+    }
 
     @Override
     public boolean updateLocNo(String newLocNo, String oldLocNo) {
@@ -119,6 +126,11 @@
         return this.baseMapper.selectItem(locNo, matnr, batch);
     }
 
+    @Override
+    public LocDetl selectItemCarton(String locNo, String matnr, String batch,String barcode) {
+        return this.baseMapper.selectItemCarton(locNo, matnr, batch,barcode);
+    }
+
     public List<LocDetl> selectItemByLocNo(String locNo) {
         return this.baseMapper.selectItemByLocNo(locNo);
     }
@@ -153,4 +165,9 @@
     public List<String> getSameDetlList(String matnr) {
         return this.baseMapper.getSameDetlList(matnr);
     }
+
+    @Override
+    public List<String> getSameDetlList2(String orderNo,Integer areaId) {
+        return this.baseMapper.getSameDetlList2(orderNo,areaId);
+    }
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 52ba404..64a5fbf 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -7,10 +7,7 @@
 import com.core.common.*;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
-import com.zy.asrs.entity.param.CombParam;
-import com.zy.asrs.entity.param.MobileAdjustParam;
-import com.zy.asrs.entity.param.OffSaleParam;
-import com.zy.asrs.entity.param.OpenOrderPakinParam;
+import com.zy.asrs.entity.param.*;
 import com.zy.asrs.mapper.ManLocDetlMapper;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.MatUtils;
@@ -202,6 +199,108 @@
 
     }
 
+    @Override
+    @Transactional
+    public void cartonComb(List<CombCartonParam> params, Long userId) {
+        for (CombCartonParam param : params) {
+            if (Cools.isEmpty(param.getBarcode(), param.getCartons())) {
+                throw new CoolException(BaseRes.PARAM);
+            }
+            // 鍒ゆ柇鏄惁鏈夌浉鍚屾潯鐮佺殑鏁版嵁
+            if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
+                    eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) {
+                throw new CoolException("response.data_processing_inbound");
+            }
+
+            if(param.getBarcode().length()!=8){
+                throw new CoolException("response.barcode_length_invalid");
+            }
+            int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode()));
+            int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode()));
+            int countwait = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet",param.getBarcode()));
+            if (countLoc > 0 || countWrk > 0 || countwait > 0) {
+                throw new CoolException("response.pallet_data_exists");
+            }
+
+            Date now = new Date();
+
+            Order order = orderService.selectByNo(param.getOrderNo());
+            if (Cools.isEmpty(order) || order.getSettle() > 2) {
+                throw new CoolException("response.order_expired");
+            }
+            // 鐢熸垚鍏ュ簱閫氱煡妗�
+            List<DetlDto> detlDtos = new ArrayList<>();
+            param.getCartons().forEach(elem -> {
+
+                // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙
+                OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch(),elem.getCartonLabel());
+                if (elem.getAnfme() > orderDetl.getEnableQty()) {
+                    throw new CoolException("response.inbound_qty_invalid");
+                }
+                // 淇敼璁㈠崟浣滀笟鏁伴噺
+                if (!orderDetlService.increaseWorkQty(order.getId(), elem.getMatnr(), elem.getBatch(), elem.getAnfme(),elem.getCartonLabel())) {
+                    throw new CoolException("response.update_doc_qty_failed");
+                }
+
+                DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(),elem.getCartonLabel());
+                if (DetlDto.has(detlDtos, detlDto)) {
+                    DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch(), detlDto.getCartonLabel());
+                    assert one != null;
+                    one.setAreaId(param.getZoneId());
+                    one.setAnfme(one.getAnfme() + detlDto.getAnfme());
+                } else {
+                    detlDtos.add(detlDto);
+                }
+            });
+            for (DetlDto detlDto : detlDtos) {
+                Mat mat = matService.selectByMatnr(detlDto.getMatnr());
+                if (Cools.isEmpty(mat)) {
+                    throw new CoolException("response.material_not_exist");
+                }
+                OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>()
+                        .eq("order_no",order.getOrderNo())
+                        .eq("matnr",mat.getMatnr())
+                        .eq("barcode",detlDto.getCartonLabel()));
+                WaitPakin waitPakin = new WaitPakin();
+                waitPakin.sync(mat);
+                waitPakin.sync(orderDetl);
+                waitPakin.setOrderNo(order.getOrderNo());   // 鍗曟嵁缂栧彿
+                waitPakin.setBatch(detlDto.getBatch());     // 搴忓垪鐮�
+                waitPakin.setZpallet(param.getBarcode());   // 鎵樼洏鐮�
+                waitPakin.setAreaId(param.getZoneId()); //鍖哄煙
+                waitPakin.setIoStatus("N");     // 鍏ュ嚭鐘舵��
+                waitPakin.setAnfme(detlDto.getAnfme());  // 鏁伴噺
+                waitPakin.setStatus("Y");    // 鐘舵��
+                waitPakin.setAppeUser(userId);
+                waitPakin.setAppeTime(now);
+                waitPakin.setModiUser(userId);
+                waitPakin.setModiTime(now);
+                if (!waitPakinService.insert(waitPakin)) {
+                    throw new CoolException("response.save_wait_pakin_failed");
+                }
+            }
+            orderService.updateSettle(order.getId(), 2L, userId);
+        }
+
+    }
+
+    @Override
+    public OrderDetl cartonScan(ScanParam scanParam , Long userId) {
+        String cartonLabel = scanParam.getCartonLabel();
+        if(cartonLabel == null){
+            throw new CoolException("Label can not be null");
+        }
+        List<WaitPakin> waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("barcode",cartonLabel));
+        if(waitPakins.size() > 0){
+            throw new CoolException("Label has already been in system");
+        }
+        OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("barcode",cartonLabel));
+        if(orderDetl == null){
+            throw new CoolException("OrderDetl can not be found");
+        }
+        return orderDetl;
+    }
+
     // 鍟嗗搧涓婃灦
     @Override
     public void onSale(CombParam param) {
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
index 327edbb..3faffc6 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -32,6 +32,11 @@
     }
 
     @Override
+    public OrderDetl selectItem(Long orderId, String matnr, String batch,String cartonLabel) {
+        return this.baseMapper.selectItem(orderId, matnr, batch,cartonLabel);
+    }
+
+    @Override
     public OrderDetl selectItem(String orderNo, String matnr, String batch) {
         return this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch);
     }
@@ -78,6 +83,11 @@
         return this.baseMapper.increaseQtyByOrderNo(orderNo, matnr, batch, qty) > 0;
     }
 
+    @Override
+    public boolean increaseQtyByOrderNo(String orderNo, String matnr, String batch, Double qty,String barcode) {
+        return this.baseMapper.increaseQtyByOrderNo(orderNo, matnr, batch, qty,barcode) > 0;
+    }
+
     /**
      * 鍏ュ嚭搴撲换鍔$敓鎴愭椂锛屾洿鏂板崟鎹〃涓綔涓氭暟閲�
      * @param orderId
@@ -90,4 +100,9 @@
     public boolean increaseWorkQty(Long orderId, String matnr, String batch, Double workQty) {
         return this.baseMapper.increaseWorkQty(orderId, matnr, batch, workQty) > 0;
     }
+
+    @Override
+    public boolean increaseWorkQty(Long orderId, String matnr, String batch, Double workQty,String cartonLabel) {
+        return this.baseMapper.increaseWorkQty(orderId, matnr, batch, workQty,cartonLabel) > 0;
+    }
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 0112163..de67bf3 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -180,8 +180,8 @@
         // 鑾峰彇搴撲綅鏄庣粏
         List<LocDetlDto> locDetlDtos = new ArrayList<>();
         for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
-            if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
-                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
+            if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount(),paramLocDetl.getBarcode())) {
+                LocDetl one = locDetlService.selectItemCarton(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch(),paramLocDetl.getBarcode());
                 if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
             }
         }
@@ -499,7 +499,6 @@
                     }
                     WrkDetl wrkDetl = new WrkDetl();
                     wrkDetl.sync(detlDto.getLocDetl());
-                    wrkDetl.setOrderNo("");
                     wrkDetl.setWrkNo(workNo);
                     wrkDetl.setIoTime(now);
                     Double anfme = ioType == 101 ? detlDto.getLocDetl().getAnfme() : detlDto.getCount();
@@ -635,9 +634,10 @@
         // 鐢熸垚宸ヤ綔妗f槑缁�
         for (LocDto locDto : taskDto.getLocDtos()) {
             if (locDto.getAnfme()==null || locDto.getAnfme() <= 0.0D) { continue; }
-            OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
+            Order order = orderService.selectByNo(locDto.getOrderNo());
+            OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), locDto.getMatnr(), locDto.getBatch(),locDto.getBarcode());
             if (orderDetl == null) {
-                orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
+                orderDetl = orderDetlService.selectItem(order.getId(), locDto.getMatnr(), null,locDto.getBarcode());
             }
             WrkDetl wrkDetl = new WrkDetl();
             wrkDetl.sync(orderDetl);
@@ -655,7 +655,7 @@
                 throw new CoolException("response.save_work_detail_failed");
             }
             // 淇敼璁㈠崟鏄庣粏
-            if (!orderDetlService.increaseWorkQty(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) {
+            if (!orderDetlService.increaseWorkQty(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme(),locDto.getBarcode())) {
                 throw new CoolException("response.update_order_detail_qty_failed");
             }
             orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
@@ -1198,8 +1198,8 @@
         // 鑾峰彇搴撲綅鏄庣粏
         List<LocDetlDto> locDetlDtos = new ArrayList<>();
         for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
-            if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
-                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
+            if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount(),paramLocDetl.getBarcode())) {
+                LocDetl one = locDetlService.selectItemCarton(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch(),paramLocDetl.getBarcode());
                 if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
             }
         }
@@ -1360,7 +1360,7 @@
                     if (!locDetl.getAnfme().equals(adjust.getCount())) {
                         // todo 鐩樼偣璁板綍
                         // 淇敼搴撳瓨
-                        if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch())) {
+                        if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getBarcode())) {
                             throw new CoolException("response.update_stock_qty_failed|" + locDetl.getLocNo() + "," + locDetl.getMatnr() + "," + locDetl.getBatch());
                         }
                         // 淇濆瓨璋冩暣璁板綍
@@ -1385,7 +1385,7 @@
         // 鍒犻櫎搴撳瓨
         for (LocDetl locDetl : locDetls) {
             // todo 鐩樼偣璁板綍
-            if (!locDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch())) {
+            if (!locDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getBarcode())) {
                 throw new CoolException("response.delete_stock_detail_failed|" + locDetl.getLocNo() + "," + locDetl.getMatnr() + "," + locDetl.getBatch());
             }
             // 淇濆瓨璋冩暣璁板綍
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
index ea18fda..299f650 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
@@ -71,6 +71,15 @@
     }
 
     @Override
+    public boolean updateAnfme(Double anfme, Integer wrkNo, String matnr, String batch,String barcode) {
+        if (anfme <= 0) {
+            return this.baseMapper.deleteItem(wrkNo, matnr, batch,barcode) > 0;
+        } else {
+            return baseMapper.updateAnfme(anfme, wrkNo, matnr, batch,barcode) > 0;
+        }
+    }
+
+    @Override
     public List<WrkDetl> selectAndLogByOrderNo(String orderNo) {
         return this.baseMapper.selectAndLogByOrderNo(orderNo);
     }
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index 112d362..987466b 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -4,6 +4,7 @@
 import com.core.common.Cools;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.service.*;
+import com.zy.asrs.service.impl.OrderServiceImpl;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
 import lombok.extern.slf4j.Slf4j;
@@ -37,6 +38,8 @@
     private OrderDetlService orderDetlService;
     @Autowired
     private BasDevpService basDevpService;
+    @Autowired
+    private OrderServiceImpl orderService;
 
     public ReturnT<String> start(WrkMast wrkMast) {
         // 4.鍏ュ簱瀹屾垚
@@ -96,9 +99,9 @@
                     // 閬嶅巻宸ヤ綔鏄庣粏锛屾洿鏂板簱瀛樻槑缁嗗拰鍏ュ簱閫氱煡妗�
                     for (WrkDetl wrkDetl : wrkDetls) {
 
-                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+                        LocDetl locDetl = locDetlService.selectItemCarton(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBarcode());
                         if (null != locDetl) {
-                            if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
+                            if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBarcode())) {
 //                                exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                                 return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
@@ -119,14 +122,15 @@
                         }
 
                         // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
-                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
-                        if (orderDetl==null){
-                            orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
+                        Order order = orderService.selectByNo(wrkDetl.getOrderNo());
+                        OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBarcode());
+                        if(null == orderDetl) {
+                            return FAIL.setMsg("鏈壘鍒板搴斿叆搴撳崟鎹�");
                         }
                         try {
                             if(!Cools.isEmpty(orderDetl)){
                                 if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                        orderDetl.getBatch(),wrkDetl.getAnfme())){
+                                        orderDetl.getBatch(),wrkDetl.getAnfme(),wrkDetl.getBarcode())){
 //                                    exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
 //                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -164,9 +168,9 @@
                         return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                     }
                     for (WrkDetl wrkDetl : wrkDetls53) {
-                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+                        LocDetl locDetl = locDetlService.selectItemCarton(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBarcode());
                         if (null != locDetl) {
-                            if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
+                            if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBarcode())) {
                                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                                 return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                             }
@@ -185,14 +189,16 @@
                         }
 
                         // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
-                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+                        Order order = orderService.selectByNo(wrkDetl.getOrderNo());
+
+                        OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBarcode());
                         if (orderDetl==null){
-                            orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
+                            orderDetl = orderDetlService.selectItem(order.getId(), wrkDetl.getMatnr(), null,wrkDetl.getBarcode());
                         }
                         try {
                             if(!Cools.isEmpty(orderDetl)){
                                 if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                        orderDetl.getBatch(),wrkDetl.getAnfme())){
+                                        orderDetl.getBatch(),wrkDetl.getAnfme(),wrkDetl.getBarcode())){
 //                                    exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
 //                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -218,7 +224,7 @@
                         try {
                             if(!Cools.isEmpty(orderDetl)){
                                 if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                        orderDetl.getBatch(),wrkDetl.getAnfme())){
+                                        orderDetl.getBatch(),wrkDetl.getAnfme(),wrkDetl.getBarcode())){
 //                                    exceptionHandle("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
 //                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -303,9 +309,9 @@
                         return FAIL.setMsg("鐩樼偣鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                     }
                     for (WrkDetl wrkDetl : wrkDetls57) {
-                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+                        LocDetl locDetl = locDetlService.selectItemCarton(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBarcode());
                         if (null != locDetl) {
-                            if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
+                            if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBarcode())) {
                                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                                 return FAIL.setMsg("鐩樼偣鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                             }
@@ -439,14 +445,15 @@
                     }
                     for (WrkDetl wrkDetl : wrkDetls101) {
                         // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
-                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+                        Order order = orderService.selectByNo(wrkDetl.getOrderNo());
+                        OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBarcode());
                         if (orderDetl==null){
-                            orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
+                            orderDetl = orderDetlService.selectItem(order.getId(), wrkDetl.getMatnr(), null,wrkDetl.getBarcode());
                         }
                         try {
                             if(!Cools.isEmpty(orderDetl)){
                                 if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
-                                        orderDetl.getBatch(),wrkDetl.getAnfme())){
+                                        orderDetl.getBatch(),wrkDetl.getAnfme(),wrkDetl.getBarcode())){
 //                                    exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
 //                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
diff --git a/src/main/java/com/zy/common/model/DetlDto.java b/src/main/java/com/zy/common/model/DetlDto.java
index 650e884..aa61bfb 100644
--- a/src/main/java/com/zy/common/model/DetlDto.java
+++ b/src/main/java/com/zy/common/model/DetlDto.java
@@ -20,6 +20,9 @@
     private String batch;
 
     private Double anfme;
+    private Integer areaId;
+
+    private String cartonLabel;
 
     public DetlDto() {
     }
@@ -38,6 +41,13 @@
         this.matnr = matnr;
         this.batch = batch;
         this.anfme = anfme;
+    }
+
+    public DetlDto(String matnr, String batch, Double anfme,String cartonLabel) {
+        this.matnr = matnr;
+        this.batch = batch;
+        this.anfme = anfme;
+        this.cartonLabel = cartonLabel;
     }
 
     public DetlDto(String orderNo, String matnr, String batch, Double anfme) {
@@ -66,7 +76,7 @@
 
     public static boolean has(List<DetlDto> detlDtos, DetlDto detlDto) {
         for (DetlDto dto : detlDtos) {
-            if (dto.getMatnr().equals(detlDto.getMatnr()) && Cools.eq(dto.getBatch(), detlDto.getBatch())) {
+            if (dto.getMatnr().equals(detlDto.getMatnr()) && Cools.eq(dto.getBatch(), detlDto.getBatch()) && Cools.eq(dto.getCartonLabel(), detlDto.getCartonLabel()) ) {
                 return true;
             }
         }
@@ -85,4 +95,16 @@
         return null;
     }
 
+    public static DetlDto find(List<DetlDto> detlDtos, String matnr, String batch,String cartonLabel) {
+        if (Cools.isEmpty(matnr)) {
+            return null;
+        }
+        for (DetlDto detlDto : detlDtos) {
+            if (matnr.equals(detlDto.getMatnr()) && Cools.eq(batch, detlDto.getBatch()) && Cools.eq(cartonLabel, detlDto.getCartonLabel())) {
+                return detlDto;
+            }
+        }
+        return null;
+    }
+
 }
diff --git a/src/main/java/com/zy/common/model/LocDto.java b/src/main/java/com/zy/common/model/LocDto.java
index ca099a3..1cf19f1 100644
--- a/src/main/java/com/zy/common/model/LocDto.java
+++ b/src/main/java/com/zy/common/model/LocDto.java
@@ -29,6 +29,8 @@
 
     private Integer staNo;
 
+    private String barcode;
+
     public LocDto() {
     }
 
@@ -55,6 +57,35 @@
         this.orderNo = orderNo;
         this.anfme = anfme;
     }
+    public LocDto(String locNo, String matnr, String batch, Double anfme,String barcode) {
+        this.locNo = locNo;
+        this.matnr = matnr;
+        this.batch = batch;
+        this.anfme = anfme;
+        this.barcode = barcode;
+    }
+
+    public LocDto(String locNo, String matnr, String batch, String orderNo, Double anfme,String barcode) {
+        this.locNo = locNo;
+        this.matnr = matnr;
+        this.batch = batch;
+        this.orderNo = orderNo;
+        this.anfme = anfme;
+        this.barcode = barcode;
+
+    }
+
+    public LocDto(String locNo, String matnr, String maktx, String batch, String orderNo, Double anfme,String barcode) {
+        this.locNo = locNo;
+        this.matnr = matnr;
+        this.maktx = maktx;
+        this.batch = batch;
+        this.orderNo = orderNo;
+        this.anfme = anfme;
+        this.barcode = barcode;
+
+    }
+
 
     public String getTitle() {
         return this.matnr + "锛�" + this.maktx + "锛�";
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 140eacd..b0f21c5 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -189,7 +189,7 @@
     public LocMast searchMaxPallet(FindLocNoAttributeVo findLocNoAttributeVo, LocTypeDto locTypeDto){
         LocMast targetLocMast = null;
         //鏌ヨ鐩稿悓鐗╂枡
-        List<String> locNos = locDetlService.getSameDetlList(findLocNoAttributeVo.getMatnr());
+        List<String> locNos = locDetlService.getSameDetlList2(findLocNoAttributeVo.getOrderNo(),findLocNoAttributeVo.getAreaId());
         for (String locNo : locNos) {
             //鑾峰彇閫氶亾缁�
             List<Integer> locRowGroupDesc = Utils.getLocGroupDesc(slaveProperties,locNo);
@@ -226,6 +226,7 @@
                         .eq("loc_sts", "O")
                         .eq("lev1", lev)
                         .eq("loc_type1",locTypeDto.getLocType1())
+                        .eq("loc_type2",findLocNoAttributeVo.getAreaId())
                         .orderBy("bay1", true)
                         .orderBy("row1",true));
                 for (LocMast locMast : locMasts) {
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 3579926..d3956e8 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -308,7 +308,8 @@
         WaitPakin waitPakin1 = waitPakins.get(0);
         FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo();
         findLocNoAttributeVo.setMatnr(waitPakin1.getMatnr());
-
+        findLocNoAttributeVo.setAreaId(waitPakin1.getAreaId());
+        findLocNoAttributeVo.setOrderNo(waitPakin1.getOrderNo());
 //        StartupDto dto = commonService.getLocNo(1, devpNo, matnrs.get(0), batchs.get(0), null, locTypeDto);
         StartupDto dto = commonService.getLocNoNew(1, devpNo, findLocNoAttributeVo, locTypeDto,barcode);
         if (dto == null) {
@@ -470,6 +471,7 @@
         WrkDetl wrkDetl = wrkDetlList.get(0);
         findLocNoAttributeVo.setMatnr(wrkDetl.getMatnr());
         findLocNoAttributeVo.setBatch(wrkDetl.getBatch());
+        findLocNoAttributeVo.setOrderNo(wrkDetl.getOrderNo());
 //        StartupDto dto = commonService.getLocNo(1, devpNo, matnrs.get(0), batchs.get(0), null, locTypeDto);
         StartupDto dto = commonService.getLocNoNew(1, devpNo, findLocNoAttributeVo, locTypeDto,barcode);
         if (dto == null) {
@@ -615,14 +617,14 @@
                 String sourcecLocNo = wrkMast.getSourceLocNo();
                 //鏇存柊宸ヤ綔鏄庣粏骞舵竻绌烘簮搴撲綅
                 for (WrkDetl wrkDetl : wrkDetls){
-                    LocDetl locDetl = locDetlService.selectItem(wrkMast.getSourceLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+                    LocDetl locDetl = locDetlService.selectItemCarton(wrkMast.getSourceLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBarcode());
                     if (null != locDetl && wrkMast.getIoType() == 103) {//鎷f枡
-                        if (!wrkDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(),wrkMast.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
+                        if (!wrkDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(),wrkMast.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBarcode())) {
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                             throw new CoolException("response.picking_inbound_update_detail_failed");
                         }
                     }else if(wrkMast.getIoType() == 107){//鐩樼偣
-                        if (!wrkDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
+                        if (!wrkDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBarcode())) {
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                             throw new CoolException("response.picking_inbound_update_detail_failed");
                         }
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 3df9079..26603c0 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -44,6 +44,7 @@
         <result column="appe_user" property="appeUser" />
         <result column="appe_time" property="appeTime" />
         <result column="memo" property="memo" />
+        <result column="mix_number" property="mixNumber"/>
     </resultMap>
 
     <sql id="batchSeq">
@@ -55,9 +56,26 @@
                 and (batch IS NULL OR batch = '')
             </otherwise>
         </choose>
+        <choose>
+            <when test="barcode != null and barcode != ''">
+                and barcode = #{barcode}
+            </when>
+            <otherwise>
+                and (barcode IS NULL OR barcode = '')
+            </otherwise>
+        </choose>
     </sql>
 
     <select id="selectItem" resultMap="BaseResultMap">
+        select top 1 *
+        from asr_loc_detl
+        where 1=1
+        and loc_no = #{locNo}
+        and matnr = #{matnr}
+        <include refid="batchSeq"></include>
+    </select>
+
+    <select id="selectItemCarton" resultMap="BaseResultMap">
         select top 1 *
         from asr_loc_detl
         where 1=1
@@ -417,4 +435,14 @@
         and lm.loc_sts = 'F'
         order by ld.appe_time asc
     </select>
+
+    <select id="getSameDetlList2" resultType="java.lang.String">
+        select ld.loc_no from asr_loc_detl as ld
+                                  left join asr_loc_mast as lm on ld.loc_no = lm.loc_no
+        where 1 = 1
+          and ld.order_no = #{orderNo}
+          and lm.loc_type2 = #{areaId}
+          and lm.loc_sts = 'F'
+        order by ld.appe_time asc
+    </select>
 </mapper>
diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml
index 74ebaf0..89caf0e 100644
--- a/src/main/resources/mapper/OrderDetlMapper.xml
+++ b/src/main/resources/mapper/OrderDetlMapper.xml
@@ -45,7 +45,6 @@
         <result column="update_by" property="updateBy" />
         <result column="update_time" property="updateTime" />
         <result column="memo" property="memo" />
-
     </resultMap>
 
     <select id="selectItem" resultMap="BaseResultMap">
@@ -53,6 +52,7 @@
         where 1=1
         and order_id = #{orderId}
         and matnr = #{matnr}
+        and status &lt; 3
         <choose>
             <when test="batch != null and batch != ''">
                 and batch = #{batch}
@@ -61,7 +61,16 @@
                 and (batch IS NULL OR batch = '')
             </otherwise>
         </choose>
+        <choose>
+            <when test="barcode != null and barcode != ''">
+                and barcode = #{barcode}
+            </when>
+            <otherwise>
+                and (barcode IS NULL OR barcode = '')
+            </otherwise>
+        </choose>
     </select>
+
 
     <select id="selectItemByOrderNo" resultMap="BaseResultMap">
         select * from man_order_detl
@@ -174,6 +183,7 @@
         where 1=1
         and order_no = #{orderNo}
         and matnr = #{matnr}
+        and barcode= #{barcode}
         <choose>
             <when test="batch != null and batch != ''">
                 and batch = #{batch}
@@ -198,6 +208,14 @@
                 and (batch IS NULL OR batch = '')
             </otherwise>
         </choose>
+        <choose>
+            <when test="barcode != null and barcode != ''">
+                and barcode = #{barcode}
+            </when>
+            <otherwise>
+                and (barcode IS NULL OR barcode = '')
+            </otherwise>
+        </choose>
     </update>
 
 </mapper>
diff --git a/src/main/resources/mapper/WaitPakinLogMapper.xml b/src/main/resources/mapper/WaitPakinLogMapper.xml
index 543ead5..f205308 100644
--- a/src/main/resources/mapper/WaitPakinLogMapper.xml
+++ b/src/main/resources/mapper/WaitPakinLogMapper.xml
@@ -47,6 +47,7 @@
         <result column="appe_time" property="appeTime" />
         <result column="appe_user" property="appeUser" />
         <result column="memo" property="memo" />
+        <result column="area_id" property="areaId"/>
     </resultMap>
 
 </mapper>
diff --git a/src/main/resources/mapper/WaitPakinMapper.xml b/src/main/resources/mapper/WaitPakinMapper.xml
index e4227b7..bbd75ba 100644
--- a/src/main/resources/mapper/WaitPakinMapper.xml
+++ b/src/main/resources/mapper/WaitPakinMapper.xml
@@ -47,6 +47,7 @@
         <result column="appe_time" property="appeTime" />
         <result column="appe_user" property="appeUser" />
         <result column="memo" property="memo" />
+        <result column="area_id" property="areaId"/>
     </resultMap>
 
 </mapper>
diff --git a/src/main/resources/mapper/WrkDetlMapper.xml b/src/main/resources/mapper/WrkDetlMapper.xml
index be55906..be54187 100644
--- a/src/main/resources/mapper/WrkDetlMapper.xml
+++ b/src/main/resources/mapper/WrkDetlMapper.xml
@@ -56,6 +56,14 @@
                 and (batch IS NULL OR batch = '')
             </otherwise>
         </choose>
+        <choose>
+            <when test="barcode != null and barcode != ''">
+                and barcode = #{barcode}
+            </when>
+            <otherwise>
+                and (barcode IS NULL OR barcode = '')
+            </otherwise>
+        </choose>
     </sql>
 
 
diff --git a/src/main/webapp/static/i18n/en.json b/src/main/webapp/static/i18n/en.json
index 67ca329..cdc9d2d 100644
--- a/src/main/webapp/static/i18n/en.json
+++ b/src/main/webapp/static/i18n/en.json
@@ -578,6 +578,7 @@
     "response.code_exists":  "Code Exists",
     "response.code_or_name_exists":  "Code or name already exists",
     "response.comb_success":  "Comb Success",
+    "response.scan_success":  "Scan Success",
     "response.confirm_complete":  "Confirm Complete",
     "response.confirm_picking_outbound_failed":  "Confirm Picking Outbound Failed",
     "response.crane_add":  "Crane Add",
@@ -786,6 +787,7 @@
     "response.pack_online":  "Pack Online",
     "response.package_inbound_order_type":  "Package Inbound Order Type",
     "response.pallet_comb":  "Pallet Comb",
+    "response.carton_scan":  "Add Carton",
     "response.pallet_data_exists":  "Pallet Data Exists",
     "response.param_error":  "Parameter error",
     "response.parameter_error":  "Parameter Error",
@@ -1032,7 +1034,7 @@
     "settle_6":  "Reported",
     "shelf_life":  "Shelf Life",
     "shuttle_board":  "Shuttle Board",
-    "sku":  "SKU",
+    "sku":  "Buyer Po",
     "small_location":  "Small Location",
     "sort":  "Sort",
     "source_location":  "Source Location",
@@ -1238,7 +1240,7 @@
     "鎿嶄綔鏃ュ織":  "Operation Log",
     "渚ц竟浼哥缉":  "Toggle Side",
     "浜у湴":  "Origin",
-    "鍘傚":  "Manufacturer",
+    "鍘傚":  "Container Number",
     "鍑哄簱":  "Outbound",
     "鍑哄簱鏃ユ湡":  "Outbound Date",
     "鍑哄簱鏁伴噺":  "Outbound Quantity",
@@ -1246,16 +1248,16 @@
     "鍒濆鍖栧簱浣�":  "Initialize Location",
     "鍒濆鍖栫珯鐐�":  "Initialize Station",
     "鍒濆鍖栫珯鐐硅矾寰�":  "Initialize Station Path",
-    "浠g爜":  "Code",
+    "浠g爜":  "Size",
     "鍗曚环":  "Price",
     "鍗曟嵁缂栧彿":  "Order No.",
     "鍗曟嵁绠$悊":  "Order Management",
     "鍗曟嵁绫诲瀷":  "Order Types",
     "鍗曚綅":  "Unit",
-    "鍗曚綅閲�":  "Unit Qty",
+    "鍗曚綅閲�":  "Order Qty",
     "鍗曠鍑�閲�":  "Net Weight/Box",
     "鍗曠姣涢噸":  "Gross Weight/Box",
-    "鍗曠浣撶Н":  "Volume/Box",
+    "鍗曠浣撶Н":  "Ratio",
     "瀵煎嚭":  "Export",
     "鐧诲綍":  "Login",
     "璁㈠崟鍑哄簱":  "Order Outbound",
@@ -1307,8 +1309,8 @@
     "宸ヤ綔鐘舵�佸垹闄�":  "Delete Work Status",
     "宸ヤ綔鐘舵�佹坊鍔�":  "Add Work Status",
     "宸ヤ綔鐘舵�佷慨鏀�":  "Modify Work Status",
-    "渚涘簲鍟�":  "Supplier",
-    "渚涘簲鍟嗙紪鐮�":  "Supplier Code",
+    "渚涘簲鍟�":  "SO/OC",
+    "渚涘簲鍟嗙紪鐮�":  "PO Internal",
     "鍏抽棴褰撳墠":  "Close Current",
     "鍏抽棴褰撳墠鏍囩椤�":  "Close Current Tab",
     "鍏抽棴鍏朵粬":  "Close Others",
@@ -1316,7 +1318,7 @@
     "鍏抽棴鎵�鏈�":  "Close All",
     "鍏抽棴鎵�鏈夋爣绛鹃〉":  "Close All Tabs",
     "褰掔被绠$悊":  "Category Management",
-    "瑙勬牸":  "Spec",
+    "瑙勬牸":  "style",
     "璐т綅妗f鏁版嵁瀵煎叆":  "Import Location Data",
     "鑾峰彇鍚岀粍璐ф灦鐨勭┖搴撲綅":  "Get Empty Location in Group",
     "鍩烘湰璧勬枡":  "Basic Information",
@@ -1379,10 +1381,10 @@
     "璺緞绔欑偣璁剧疆":  "Path & Station Setup",
     "鐩樼偣":  "Inventory Check",
     "鐩樼偣鍑哄簱":  "Inventory CheckOut",
-    "鎵瑰彿":  "Batch No.",
+    "鎵瑰彿":  "Carton Number Ctn",
     "鍝佸彿绉讳氦":  "Item Handover",
     "鍝佺墝":  "Brand",
-    "鍝侀」鏁�":  "Item Count",
+    "鍝侀」鏁�":  "Inspection Document Number",
     "鍑瘉璁板綍":  "Credential Records",
     "璇疯緭鍏�":  "Please enter",
     "璇烽�夋嫨鎮ㄨ浣跨敤鐨勬ā鍧�":  "Please select the module you want to use",
@@ -1431,11 +1433,13 @@
     "鏁伴噺":  "Quantity",
     "鍒锋柊":  "Refresh",
     "鎼滅储":  "Search",
-    "鏉$爜":  "Barcode",
+    "鏉$爜":  "Carton Barcode",
     "鎵樼洏鐮�":  "Pallet Code",
     "鎵樼洏鐮佹墦鍗�":  "Print Pallet Code",
     "鎵樼洏鏉$爜":  "Pallet Barcode",
-    "鍗遍櫓鍝�":  "Hazardous",
+    "鍗遍櫓鍝�":  "Carton Status(Pack/Open)",
+    "鍗栧鏍囩":  "Buyer Label Barcode",
+    "缁勫悎鏍囩":  "Combined Label",
     "绯荤粺绠$悊":  "System Management",
     "绯荤粺閰嶇疆":  "System Configuration",
     "绯荤粺鐢ㄦ埛":  "System Users",
@@ -1446,7 +1450,7 @@
     "绯荤粺鐢ㄦ埛淇敼":  "Update System User",
     "涓嬬嚎缁勬墭":  "Offline Palletizing",
     "鍏堝叆鍝佸鐞�":  "FIFO Handling",
-    "绠卞瓙灏哄":  "Box Size",
+    "绠卞瓙灏哄":  "Buyer",
     "璇︽儏":  "Detail",
     "淇敼浜哄憳":  "Updated By",
     "淇敼鏃堕棿":  "Updated Time",
@@ -1466,7 +1470,7 @@
     "绔欑偣鍒犻櫎":  "Delete Station",
     "绔欑偣娣诲姞":  "Add Station",
     "绔欑偣淇敼":  "Modify Station",
-    "鍒惰喘":  "Make/Buy",
+    "鍒惰喘":  "Pack Type(Solid/Ratio)",
     "婊炵暀澶╂暟":  "Retention Days",
     "閲嶇疆":  "Reset",
     "涓婚":  "Theme",
diff --git a/src/main/webapp/static/i18n/zh-cn.json b/src/main/webapp/static/i18n/zh-cn.json
index 131f765..e01e2bd 100644
--- a/src/main/webapp/static/i18n/zh-cn.json
+++ b/src/main/webapp/static/i18n/zh-cn.json
@@ -478,6 +478,7 @@
     "response.code_exists":  "缂栫爜宸插瓨鍦�",
     "response.code_or_name_exists":  "缂栫爜鎴栧悕绉板凡瀛樺湪",
     "response.comb_success":  "缁勬墭鎴愬姛",
+    "response.scan_success":  "鎵弿鎴愬姛",
     "response.confirm_complete":  "纭瀹屾垚",
     "response.confirm_picking_outbound_failed":  "纭鎷f枡鍑哄簱澶辫触",
     "response.crane_add":  "鍫嗗灈鏈烘柊澧�",
diff --git a/src/main/webapp/static/js/adjDetl/adjDetl.js b/src/main/webapp/static/js/adjDetl/adjDetl.js
index ba6a5ec..0febb74 100644
--- a/src/main/webapp/static/js/adjDetl/adjDetl.js
+++ b/src/main/webapp/static/js/adjDetl/adjDetl.js
@@ -177,7 +177,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -216,7 +216,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -322,7 +322,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/api/api.js b/src/main/webapp/static/js/api/api.js
index 77294f3..ed2a55e 100644
--- a/src/main/webapp/static/js/api/api.js
+++ b/src/main/webapp/static/js/api/api.js
@@ -125,7 +125,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -164,7 +164,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -247,7 +247,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/basCrnError/basCrnError.js b/src/main/webapp/static/js/basCrnError/basCrnError.js
index 5b7d565..f1f6906 100644
--- a/src/main/webapp/static/js/basCrnError/basCrnError.js
+++ b/src/main/webapp/static/js/basCrnError/basCrnError.js
@@ -131,7 +131,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -170,7 +170,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -251,7 +251,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -287,7 +287,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -342,7 +342,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/basCrnOpt/basCrnOpt.js b/src/main/webapp/static/js/basCrnOpt/basCrnOpt.js
index dd37a3f..afd07af 100644
--- a/src/main/webapp/static/js/basCrnOpt/basCrnOpt.js
+++ b/src/main/webapp/static/js/basCrnOpt/basCrnOpt.js
@@ -130,7 +130,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -169,7 +169,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -277,7 +277,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/basCrnStatus/basCrnStatus.js b/src/main/webapp/static/js/basCrnStatus/basCrnStatus.js
index efb0c3f..67d38c4 100644
--- a/src/main/webapp/static/js/basCrnStatus/basCrnStatus.js
+++ b/src/main/webapp/static/js/basCrnStatus/basCrnStatus.js
@@ -130,7 +130,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -169,7 +169,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -250,7 +250,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -286,7 +286,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -341,7 +341,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/basCrnp/basCrnp.js b/src/main/webapp/static/js/basCrnp/basCrnp.js
index 75c0243..252c5a0 100644
--- a/src/main/webapp/static/js/basCrnp/basCrnp.js
+++ b/src/main/webapp/static/js/basCrnp/basCrnp.js
@@ -155,7 +155,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -194,7 +194,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -275,7 +275,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -311,7 +311,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -347,7 +347,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -384,7 +384,7 @@
                                     } else if (res.code === 403){
                                         parent.location.href = "/";
                                     }else {
-                                        layer.msg(res.msg)
+                                        layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                     }
                                 }
                             })
@@ -420,7 +420,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -456,7 +456,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -493,7 +493,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -529,7 +529,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -599,7 +599,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/basDevp/basDevp.js b/src/main/webapp/static/js/basDevp/basDevp.js
index 06d23bd..75d4d59 100644
--- a/src/main/webapp/static/js/basDevp/basDevp.js
+++ b/src/main/webapp/static/js/basDevp/basDevp.js
@@ -163,11 +163,11 @@
             success: function (res) {
                 if (res.code === 200){
                     $(".layui-laypage-btn")[0].click();
-                    layer.msg(res.msg);
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2});
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
             }
         })
@@ -269,7 +269,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -308,7 +308,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -327,13 +327,13 @@
             async: false,
             success: function (res) {
                 if (res.code === 200){
-                    layer.msg(res.msg);
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2});
                     layer.closeAll();
                     tableReload(false);
                 } else if (res.code === 403){
                     parent.location.href = "/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
             }
         })
@@ -412,7 +412,7 @@
                                     } else if (res.code === 403){
                                         parent.location.href = "/";
                                     }else {
-                                        layer.msg(res.msg)
+                                        layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                     }
                                 }
                             })
@@ -448,7 +448,7 @@
                                     } else if (res.code === 403){
                                         parent.location.href = "/";
                                     }else {
-                                        layer.msg(res.msg)
+                                        layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                     }
                                 }
                             })
@@ -531,7 +531,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/basErrLog/basErrLog.js b/src/main/webapp/static/js/basErrLog/basErrLog.js
index a38e3b6..1983f1f 100644
--- a/src/main/webapp/static/js/basErrLog/basErrLog.js
+++ b/src/main/webapp/static/js/basErrLog/basErrLog.js
@@ -136,7 +136,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -175,7 +175,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -289,7 +289,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/basLocSts/basLocSts.js b/src/main/webapp/static/js/basLocSts/basLocSts.js
index f9c1262..1ef68bc 100644
--- a/src/main/webapp/static/js/basLocSts/basLocSts.js
+++ b/src/main/webapp/static/js/basLocSts/basLocSts.js
@@ -140,7 +140,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -179,7 +179,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -258,7 +258,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -293,7 +293,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -344,7 +344,7 @@
             method: 'POST',
             success: function (res) {
                 if (res.code === 200){
-                    layer.msg(res.msg);
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2});
                     setTimeout(function () {
                         var index = parent.layer.getFrameIndex(window.name);
                         parent.layer.close(index);
@@ -353,7 +353,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 } else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
             }
         })
diff --git a/src/main/webapp/static/js/basPlcerror/basPlcerror.js b/src/main/webapp/static/js/basPlcerror/basPlcerror.js
index 7bd32da..20e0f1a 100644
--- a/src/main/webapp/static/js/basPlcerror/basPlcerror.js
+++ b/src/main/webapp/static/js/basPlcerror/basPlcerror.js
@@ -119,7 +119,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -158,7 +158,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -237,7 +237,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/basWhs/basWhs.js b/src/main/webapp/static/js/basWhs/basWhs.js
index 387672a..5857869 100644
--- a/src/main/webapp/static/js/basWhs/basWhs.js
+++ b/src/main/webapp/static/js/basWhs/basWhs.js
@@ -130,7 +130,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -169,7 +169,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -251,7 +251,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -287,7 +287,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -342,7 +342,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/basWrkIotype/basWrkIotype.js b/src/main/webapp/static/js/basWrkIotype/basWrkIotype.js
index 14234d0..c68e01b 100644
--- a/src/main/webapp/static/js/basWrkIotype/basWrkIotype.js
+++ b/src/main/webapp/static/js/basWrkIotype/basWrkIotype.js
@@ -141,7 +141,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -180,7 +180,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -259,7 +259,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -294,7 +294,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -350,7 +350,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/basWrkStatus/basWrkStatus.js b/src/main/webapp/static/js/basWrkStatus/basWrkStatus.js
index 3ee3796..05cd05e 100644
--- a/src/main/webapp/static/js/basWrkStatus/basWrkStatus.js
+++ b/src/main/webapp/static/js/basWrkStatus/basWrkStatus.js
@@ -138,7 +138,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -177,7 +177,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -256,7 +256,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -291,7 +291,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -346,7 +346,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js
index 5075c64..a9262ca 100644
--- a/src/main/webapp/static/js/common.js
+++ b/src/main/webapp/static/js/common.js
@@ -92,7 +92,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 } else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
             }
         });
@@ -123,7 +123,7 @@
                     } else if (res.code === 403){
                         top.location.href = baseUrl+"/";
                     }  else {
-                        layer.msg(res.msg);
+                        layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2});
                     }
                 },
                 error: function (res, type) {
@@ -154,7 +154,7 @@
                     } else if (res.code === 403){
                         top.location.href = baseUrl+"/";
                     }  else {
-                        layer.msg(res.msg);
+                        layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2});
                     }
                 },
                 error: function (res, type) {
@@ -192,7 +192,7 @@
     ,{field: 'model', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('浠g爜') : '浠g爜', hide: true}
     ,{field: 'color', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('棰滆壊') : '棰滆壊', hide: true}
     ,{field: 'brand', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('鍝佺墝') : '鍝佺墝', hide: true}
-    ,{field: 'unit', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('鍗曚綅') : '鍗曚綅', hide: false}
+    ,{field: 'unit', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('鍗曚綅') : '鍗曚綅', hide: true}
     ,{field: 'price', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('鍗曚环') : '鍗曚环', hide: true}
     ,{field: 'sku', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('sku') : 'sku', hide: true}
     ,{field: 'units', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('鍗曚綅閲�') : '鍗曚綅閲�', hide: true}
@@ -234,25 +234,27 @@
     ,{field: 'zpallet', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('鎵樼洏鏉$爜') : '鎵樼洏鏉$爜', hide: false}
 
     ,{field: 'specs', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('瑙勬牸') : '瑙勬牸', hide: false}
-    ,{field: 'model', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('浠g爜') : '浠g爜', hide: true}
-    ,{field: 'color', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('棰滆壊') : '棰滆壊', hide: true}
+    ,{field: 'model', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('浠g爜') : '浠g爜', hide: false}
+    ,{field: 'color', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('棰滆壊') : '棰滆壊', hide: false}
     ,{field: 'brand', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('鍝佺墝') : '鍝佺墝', hide: true}
-    ,{field: 'unit', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('鍗曚綅') : '鍗曚綅', hide: false}
+    ,{field: 'unit', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('鍗曚綅') : '鍗曚綅', hide: true}
     ,{field: 'price', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('鍗曚环') : '鍗曚环', hide: true}
-    ,{field: 'sku', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('sku') : 'sku', hide: true}
-    ,{field: 'units', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('鍗曚綅閲�') : '鍗曚綅閲�', hide: true}
-    ,{field: 'barcode', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('鏉$爜') : '鏉$爜', hide: true}
+    ,{field: 'sku', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('sku') : 'sku', hide: false}
+    ,{field: 'units', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('鍗曚綅閲�') : '鍗曚綅閲�', hide: false}
+    ,{field: 'barcode', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('鏉$爜') : '鏉$爜', hide: false}
     ,{field: 'origin', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('浜у湴') : '浜у湴', hide: true}
-    ,{field: 'manu', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('鍘傚') : '鍘傚', hide: true}
+    ,{field: 'manu', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('鍘傚') : '鍘傚', hide: false}
     ,{field: 'manuDate', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('鐢熶骇鏃ユ湡') : '鐢熶骇鏃ユ湡', hide: true}
-    ,{field: 'itemNum', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('鍝侀」鏁�') : '鍝侀」鏁�', hide: true}
+    ,{field: 'itemNum', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('鍝侀」鏁�') : '鍝侀」鏁�', hide: false}
     ,{field: 'safeQty', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('瀹夊叏搴撳瓨閲�') : '瀹夊叏搴撳瓨閲�', hide: true}
     ,{field: 'weight', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('鍗曠鍑�閲�') : '鍗曠鍑�閲�', hide: true}
     ,{field: 'length', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('鍗曠姣涢噸') : '鍗曠姣涢噸', hide: true}
-    ,{field: 'volume', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('鍗曠浣撶Н') : '鍗曠浣撶Н', hide: true}
-    ,{field: 'threeCode', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('绠卞瓙灏哄') : '绠卞瓙灏哄', hide: true}
-    ,{field: 'supp', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('渚涘簲鍟�') : '渚涘簲鍟�', hide: true}
-    ,{field: 'suppCode', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('渚涘簲鍟嗙紪鐮�') : '渚涘簲鍟嗙紪鐮�', hide: true}
+    ,{field: 'volume', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('鍗曠浣撶Н') : '鍗曠浣撶Н', hide: false}
+    ,{field: 'threeCode', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('绠卞瓙灏哄') : '绠卞瓙灏哄', hide: false}
+    ,{field: 'supp', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('渚涘簲鍟�') : '渚涘簲鍟�', hide: false}
+    ,{field: 'suppCode', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('渚涘簲鍟嗙紪鐮�') : '渚涘簲鍟嗙紪鐮�', hide: false}
+    ,{field: 'memo', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('鍗栧鏍囩') : '鍗栧鏍囩', hide: false}
+    ,{field: 'mixNumber', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('缁勫悎鏍囩') : '缁勫悎鏍囩', hide: true}
     ,{field: 'beBatch$', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('鏄惁鎵规') : '鏄惁鎵规', hide: true}
     ,{field: 'deadTime', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('淇濊川鏈�') : '淇濊川鏈�', hide: true}
     ,{field: 'deadWarn', align: 'center',title: (typeof I18n !== 'undefined' && I18n.t) ? I18n.t('棰勮澶╂暟') : '棰勮澶╂暟', hide: true}
diff --git a/src/main/webapp/static/js/config/config.js b/src/main/webapp/static/js/config/config.js
index 4043b9c..806088c 100644
--- a/src/main/webapp/static/js/config/config.js
+++ b/src/main/webapp/static/js/config/config.js
@@ -123,7 +123,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -162,7 +162,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -243,7 +243,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/cool.js b/src/main/webapp/static/js/cool.js
index adb5d34..943c738 100644
--- a/src/main/webapp/static/js/cool.js
+++ b/src/main/webapp/static/js/cool.js
@@ -78,7 +78,7 @@
             } else if (res.code === 403){
                 top.location.href = baseUrl+"/";
             } else {
-                layer.msg(res.msg)
+                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
             }
         }
     });
diff --git a/src/main/webapp/static/js/errorWrkMast/errorWrkMast.js b/src/main/webapp/static/js/errorWrkMast/errorWrkMast.js
index 93bf7ae..9091b5e 100644
--- a/src/main/webapp/static/js/errorWrkMast/errorWrkMast.js
+++ b/src/main/webapp/static/js/errorWrkMast/errorWrkMast.js
@@ -202,7 +202,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -326,7 +326,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/handWrkMast/handWrkMast.js b/src/main/webapp/static/js/handWrkMast/handWrkMast.js
index 3c89aa2..181898d 100644
--- a/src/main/webapp/static/js/handWrkMast/handWrkMast.js
+++ b/src/main/webapp/static/js/handWrkMast/handWrkMast.js
@@ -222,7 +222,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -346,7 +346,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/host/host.js b/src/main/webapp/static/js/host/host.js
index 6591e45..5c5f9ab 100644
--- a/src/main/webapp/static/js/host/host.js
+++ b/src/main/webapp/static/js/host/host.js
@@ -123,7 +123,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -162,7 +162,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -243,7 +243,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/ioWorks/stockIn.js b/src/main/webapp/static/js/ioWorks/stockIn.js
index 0bc2281..e797ec0 100644
--- a/src/main/webapp/static/js/ioWorks/stockIn.js
+++ b/src/main/webapp/static/js/ioWorks/stockIn.js
@@ -86,7 +86,7 @@
                 //         } else if (res.code === 403){
                 //             top.location.href = baseUrl+"/";
                 //         }else {
-                //             layer.msg(res.msg)
+                //             layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 //         }
                 //     }
                 // })
diff --git a/src/main/webapp/static/js/locDetl/locDetl.js b/src/main/webapp/static/js/locDetl/locDetl.js
index 9a3b9ea..2b8b618 100644
--- a/src/main/webapp/static/js/locDetl/locDetl.js
+++ b/src/main/webapp/static/js/locDetl/locDetl.js
@@ -177,7 +177,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -218,7 +218,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -298,7 +298,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -334,7 +334,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -370,7 +370,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -436,7 +436,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/locDetlStatis/locDetlStatis.js b/src/main/webapp/static/js/locDetlStatis/locDetlStatis.js
index 72d86d3..678cd89 100644
--- a/src/main/webapp/static/js/locDetlStatis/locDetlStatis.js
+++ b/src/main/webapp/static/js/locDetlStatis/locDetlStatis.js
@@ -216,7 +216,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
diff --git a/src/main/webapp/static/js/locMast/locMast.js b/src/main/webapp/static/js/locMast/locMast.js
index 71f72fa..9f5ae09 100644
--- a/src/main/webapp/static/js/locMast/locMast.js
+++ b/src/main/webapp/static/js/locMast/locMast.js
@@ -184,7 +184,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -223,7 +223,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -356,7 +356,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -393,7 +393,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -429,7 +429,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -451,13 +451,13 @@
             async: false,
             success: function (res) {
                 if (res.code === 200){
-                    layer.msg(res.msg);
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2});
                     layer.closeAll();
                     tableReload(false);
                 } else if (res.code === 403){
                     parent.location.href = "/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
             }
         })
@@ -529,7 +529,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/manLocDetl/manLocDetl.js b/src/main/webapp/static/js/manLocDetl/manLocDetl.js
index ff281b0..6e921ba 100644
--- a/src/main/webapp/static/js/manLocDetl/manLocDetl.js
+++ b/src/main/webapp/static/js/manLocDetl/manLocDetl.js
@@ -165,7 +165,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -206,7 +206,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -286,7 +286,7 @@
                                     } else if (res.code === 403){
                                         parent.location.href = "/";
                                     }else {
-                                        layer.msg(res.msg)
+                                        layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                     }
                                 }
                             })
@@ -322,7 +322,7 @@
                                     } else if (res.code === 403){
                                         parent.location.href = "/";
                                     }else {
-                                        layer.msg(res.msg)
+                                        layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                     }
                                 }
                             })
@@ -358,7 +358,7 @@
                                     } else if (res.code === 403){
                                         parent.location.href = "/";
                                     }else {
-                                        layer.msg(res.msg)
+                                        layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                     }
                                 }
                             })
@@ -425,7 +425,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/mat/mat.js b/src/main/webapp/static/js/mat/mat.js
index 10b3180..f6769ab 100644
--- a/src/main/webapp/static/js/mat/mat.js
+++ b/src/main/webapp/static/js/mat/mat.js
@@ -185,7 +185,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -224,7 +224,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -424,7 +424,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
             }
         })
diff --git a/src/main/webapp/static/js/matTurn/matTurn.js b/src/main/webapp/static/js/matTurn/matTurn.js
index 906f369..176b864 100644
--- a/src/main/webapp/static/js/matTurn/matTurn.js
+++ b/src/main/webapp/static/js/matTurn/matTurn.js
@@ -110,7 +110,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
             }
         })
diff --git a/src/main/webapp/static/js/nodeTree.js b/src/main/webapp/static/js/nodeTree.js
index ee9c67f..cf30b84 100644
--- a/src/main/webapp/static/js/nodeTree.js
+++ b/src/main/webapp/static/js/nodeTree.js
@@ -61,7 +61,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 } else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
             }
         })
diff --git a/src/main/webapp/static/js/operateLog/operateLog.js b/src/main/webapp/static/js/operateLog/operateLog.js
index d79314a..d7c9804 100644
--- a/src/main/webapp/static/js/operateLog/operateLog.js
+++ b/src/main/webapp/static/js/operateLog/operateLog.js
@@ -174,7 +174,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -218,7 +218,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -297,7 +297,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -339,7 +339,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index cda091a..8ad67ce 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -357,8 +357,10 @@
                             return;
                         }
                         layer.confirm(I18n.t('confirm_delete_data'), {
+                            title: I18n.t('info'),
                             shade: .1,
-                            skin: 'layui-layer-admin'
+                            skin: 'layui-layer-admin',
+                            btn: [I18n.t('confirm'), I18n.t('cancel')]
                         }, function (i) {
                             layer.close(i);
                             for (var j = 0; j < xxDataList.length; j++) {
@@ -487,8 +489,10 @@
     // 鍒犻櫎鍗曟嵁
     function doDel(orderId) {
         layer.confirm(I18n.t('confirm_delete'), {
+            title: I18n.t('info'),
             shade: .1,
-            skin: 'layui-layer-admin'
+            skin: 'layui-layer-admin',
+            btn: [I18n.t('confirm'), I18n.t('cancel')]
         }, function (i) {
             layer.close(i);
             layer.load(2);
diff --git a/src/main/webapp/static/js/pakStore/emptyIn.js b/src/main/webapp/static/js/pakStore/emptyIn.js
index adccfe2..e334c95 100644
--- a/src/main/webapp/static/js/pakStore/emptyIn.js
+++ b/src/main/webapp/static/js/pakStore/emptyIn.js
@@ -26,7 +26,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
             }
         })
@@ -47,7 +47,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
             }
         })
diff --git a/src/main/webapp/static/js/pakStore/emptyOut.js b/src/main/webapp/static/js/pakStore/emptyOut.js
index 2027c73..5fdcb90 100644
--- a/src/main/webapp/static/js/pakStore/emptyOut.js
+++ b/src/main/webapp/static/js/pakStore/emptyOut.js
@@ -32,7 +32,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
             }
         })
diff --git a/src/main/webapp/static/js/pakStore/stockOut.js b/src/main/webapp/static/js/pakStore/stockOut.js
index 05d5359..b4b7255 100644
--- a/src/main/webapp/static/js/pakStore/stockOut.js
+++ b/src/main/webapp/static/js/pakStore/stockOut.js
@@ -167,7 +167,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 } else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
             }
         });
diff --git a/src/main/webapp/static/js/permission/permission.js b/src/main/webapp/static/js/permission/permission.js
index fb35ba8..e2be971 100644
--- a/src/main/webapp/static/js/permission/permission.js
+++ b/src/main/webapp/static/js/permission/permission.js
@@ -122,7 +122,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -161,7 +161,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -236,7 +236,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -277,7 +277,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/report/inOut.js b/src/main/webapp/static/js/report/inOut.js
index 3e4b34f..c8b7312 100644
--- a/src/main/webapp/static/js/report/inOut.js
+++ b/src/main/webapp/static/js/report/inOut.js
@@ -134,7 +134,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
diff --git a/src/main/webapp/static/js/report/reportStockUse.js b/src/main/webapp/static/js/report/reportStockUse.js
index c5d8e6a..7cd8cd8 100644
--- a/src/main/webapp/static/js/report/reportStockUse.js
+++ b/src/main/webapp/static/js/report/reportStockUse.js
@@ -135,7 +135,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
diff --git a/src/main/webapp/static/js/report/stayTime.js b/src/main/webapp/static/js/report/stayTime.js
index 173ca1f..0a2a551 100644
--- a/src/main/webapp/static/js/report/stayTime.js
+++ b/src/main/webapp/static/js/report/stayTime.js
@@ -159,7 +159,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
diff --git a/src/main/webapp/static/js/report/workCountIn.js b/src/main/webapp/static/js/report/workCountIn.js
index 0edc32b..1ea982c 100644
--- a/src/main/webapp/static/js/report/workCountIn.js
+++ b/src/main/webapp/static/js/report/workCountIn.js
@@ -114,7 +114,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
diff --git a/src/main/webapp/static/js/report/workCountOut.js b/src/main/webapp/static/js/report/workCountOut.js
index 6534f00..d06a9c0 100644
--- a/src/main/webapp/static/js/report/workCountOut.js
+++ b/src/main/webapp/static/js/report/workCountOut.js
@@ -113,7 +113,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
diff --git a/src/main/webapp/static/js/report/workIn.js b/src/main/webapp/static/js/report/workIn.js
index 997fed9..138b04c 100644
--- a/src/main/webapp/static/js/report/workIn.js
+++ b/src/main/webapp/static/js/report/workIn.js
@@ -143,7 +143,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
diff --git a/src/main/webapp/static/js/report/workOut.js b/src/main/webapp/static/js/report/workOut.js
index df9a6d8..9a239ab 100644
--- a/src/main/webapp/static/js/report/workOut.js
+++ b/src/main/webapp/static/js/report/workOut.js
@@ -145,7 +145,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
diff --git a/src/main/webapp/static/js/resource/resource.js b/src/main/webapp/static/js/resource/resource.js
index 5b5610d..55451af 100644
--- a/src/main/webapp/static/js/resource/resource.js
+++ b/src/main/webapp/static/js/resource/resource.js
@@ -124,7 +124,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -163,7 +163,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -238,7 +238,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -280,7 +280,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/role/role.js b/src/main/webapp/static/js/role/role.js
index 6ebc783..189c044 100644
--- a/src/main/webapp/static/js/role/role.js
+++ b/src/main/webapp/static/js/role/role.js
@@ -27,7 +27,7 @@
             } else if (res.code === 403){
                 top.location.href = baseUrl+"/";
             } else {
-                layer.msg(res.msg)
+                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
             }
         }
     })
@@ -183,7 +183,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -222,7 +222,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -300,7 +300,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -353,7 +353,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/role/rolePower.js b/src/main/webapp/static/js/role/rolePower.js
index a1279d4..a2adbd5 100644
--- a/src/main/webapp/static/js/role/rolePower.js
+++ b/src/main/webapp/static/js/role/rolePower.js
@@ -28,7 +28,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 } else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.closeAll("loading");
             }
@@ -69,7 +69,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 } else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
             }
         });
diff --git a/src/main/webapp/static/js/rowLastno/rowLastno.js b/src/main/webapp/static/js/rowLastno/rowLastno.js
index 7bd9ec6..8dac905 100644
--- a/src/main/webapp/static/js/rowLastno/rowLastno.js
+++ b/src/main/webapp/static/js/rowLastno/rowLastno.js
@@ -141,7 +141,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -180,7 +180,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -260,7 +260,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -297,7 +297,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -361,7 +361,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/saas/locDetl.js b/src/main/webapp/static/js/saas/locDetl.js
index 9bd259e..1019059 100644
--- a/src/main/webapp/static/js/saas/locDetl.js
+++ b/src/main/webapp/static/js/saas/locDetl.js
@@ -164,7 +164,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -205,7 +205,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -285,7 +285,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -321,7 +321,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -357,7 +357,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -423,7 +423,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/saas/locMove.js b/src/main/webapp/static/js/saas/locMove.js
index f0cf0a7..bccd4a5 100644
--- a/src/main/webapp/static/js/saas/locMove.js
+++ b/src/main/webapp/static/js/saas/locMove.js
@@ -153,11 +153,11 @@
                         limit();clearSelect();
                     }
                 });
-                layer.msg(res.msg);
+                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2});
             } else if (res.code === 403) {
                 top.location.href = baseUrl + "/";
             } else {
-                layer.msg(res.msg);
+                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2});
             }
         }
     })
diff --git a/src/main/webapp/static/js/staDesc/staDesc.js b/src/main/webapp/static/js/staDesc/staDesc.js
index db50df2..75fe25d 100644
--- a/src/main/webapp/static/js/staDesc/staDesc.js
+++ b/src/main/webapp/static/js/staDesc/staDesc.js
@@ -87,7 +87,7 @@
                     } else if (res.code === 403){
                         top.location.href = baseUrl+"/";
                     }else {
-                        layer.msg(res.msg)
+                        layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                     }
                 }
             })
@@ -163,7 +163,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -202,7 +202,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -243,13 +243,13 @@
             async: false,
             success: function (res) {
                 if (res.code === 200){
-                    layer.msg(res.msg);
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2});
                     layer.closeAll();
                     tableReload(false);
                 } else if (res.code === 403){
                     parent.location.href = "/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
             }
         })
@@ -326,7 +326,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -362,7 +362,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -398,7 +398,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -434,7 +434,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -470,7 +470,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -530,7 +530,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/stkPlcm/stkPlcm.js b/src/main/webapp/static/js/stkPlcm/stkPlcm.js
index e9e1e00..fea4529 100644
--- a/src/main/webapp/static/js/stkPlcm/stkPlcm.js
+++ b/src/main/webapp/static/js/stkPlcm/stkPlcm.js
@@ -129,7 +129,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -168,7 +168,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -248,7 +248,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -284,7 +284,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -320,7 +320,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -356,7 +356,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -392,7 +392,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -456,7 +456,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/stoMan/stoQue.js b/src/main/webapp/static/js/stoMan/stoQue.js
index 8a6551a..3354ebe 100644
--- a/src/main/webapp/static/js/stoMan/stoQue.js
+++ b/src/main/webapp/static/js/stoMan/stoQue.js
@@ -241,7 +241,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
diff --git a/src/main/webapp/static/js/tagTree.js b/src/main/webapp/static/js/tagTree.js
index dcbbca5..63cf556 100644
--- a/src/main/webapp/static/js/tagTree.js
+++ b/src/main/webapp/static/js/tagTree.js
@@ -60,7 +60,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 } else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
             }
         })
diff --git a/src/main/webapp/static/js/trayCode/trayCode.js b/src/main/webapp/static/js/trayCode/trayCode.js
index 0018c8d..fc2b372 100644
--- a/src/main/webapp/static/js/trayCode/trayCode.js
+++ b/src/main/webapp/static/js/trayCode/trayCode.js
@@ -150,7 +150,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -251,7 +251,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
@@ -338,7 +338,7 @@
                                         } else if (res.code === 403){
                                             top.location.href = baseUrl+"/";
                                         } else {
-                                            layer.msg(res.msg)
+                                            layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                         }
                                     }
                                 })
@@ -350,7 +350,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
             }
         })
diff --git a/src/main/webapp/static/js/userLogin/userLogin.js b/src/main/webapp/static/js/userLogin/userLogin.js
index e6ac5e6..a94d67f 100644
--- a/src/main/webapp/static/js/userLogin/userLogin.js
+++ b/src/main/webapp/static/js/userLogin/userLogin.js
@@ -122,7 +122,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -161,7 +161,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -236,7 +236,7 @@
                                     } else if (res.code === 403){
                                         parent.location.href = "/";
                                     }else {
-                                        layer.msg(res.msg)
+                                        layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                     }
                                 }
                             })
@@ -275,7 +275,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/waitPakin/waitPakin.js b/src/main/webapp/static/js/waitPakin/waitPakin.js
index 499e7a4..d520cf3 100644
--- a/src/main/webapp/static/js/waitPakin/waitPakin.js
+++ b/src/main/webapp/static/js/waitPakin/waitPakin.js
@@ -2,7 +2,7 @@
 function getCol() {
     var cols = [ {type: 'checkbox'} ];
     cols.push.apply(cols, typeof getDetlCols === 'function' ? getDetlCols() : detlCols);
-    cols.push({field: 'locNo', align: 'center',title: typeof I18n !== 'undefined' ? I18n.t('location_no') : '搴撲綅鍙�'}
+    cols.push({field: 'locNo', align: 'center',title: typeof I18n !== 'undefined' ? I18n.t('location_no') : '搴撲綅鍙�',hide:true}
         ,{field: 'status', align: 'center',title: typeof I18n !== 'undefined' ? I18n.t('data_status') : '鏁版嵁鐘舵��', templet:function(row){
                 var html = "<input value='status' type='checkbox' lay-skin='switch' lay-text='"+(typeof I18n !== 'undefined' ? I18n.t('normal') : '姝e父')+"|"+(typeof I18n !== 'undefined' ? I18n.t('locked') : '閿佸畾')+"' lay-filter='tableCheckbox' disabled='disabled' table-index='"+row.LAY_TABLE_INDEX+"'";
                 if(row.status === 'Y'){html += " checked ";}
@@ -103,7 +103,7 @@
         parseData: function (res) {
             return {
                 'code': res.code,
-                'msg': res.msg,
+                'msg': typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg,
                 'count': res.data.total,
                 'data': res.data.records
             }
@@ -186,7 +186,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg, {icon: 2})
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -233,7 +233,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg)
                                 }
                             }
                         })
@@ -276,7 +276,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg)
                             }
                         }
                     });
@@ -355,7 +355,7 @@
                                    } else if (res.code === 403){
                                        top.location.href = baseUrl+"/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg)
                                    }
                                }
                            })
@@ -391,7 +391,7 @@
                                    } else if (res.code === 403){
                                        top.location.href = baseUrl+"/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg)
                                    }
                                }
                            })
@@ -452,7 +452,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg)
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/waitPakinLog/waitPakinLog.js b/src/main/webapp/static/js/waitPakinLog/waitPakinLog.js
index 51b782e..3fbb0fb 100644
--- a/src/main/webapp/static/js/waitPakinLog/waitPakinLog.js
+++ b/src/main/webapp/static/js/waitPakinLog/waitPakinLog.js
@@ -200,7 +200,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -243,7 +243,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -322,7 +322,7 @@
                                    } else if (res.code === 403){
                                        top.location.href = baseUrl+"/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -358,7 +358,7 @@
                                    } else if (res.code === 403){
                                        top.location.href = baseUrl+"/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -420,7 +420,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/wrkDetl/wrkDetl.js b/src/main/webapp/static/js/wrkDetl/wrkDetl.js
index 87ff414..7c006c3 100644
--- a/src/main/webapp/static/js/wrkDetl/wrkDetl.js
+++ b/src/main/webapp/static/js/wrkDetl/wrkDetl.js
@@ -209,7 +209,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -251,7 +251,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -331,7 +331,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -367,7 +367,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -435,7 +435,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/wrkDetlLog/wrkDetlLog.js b/src/main/webapp/static/js/wrkDetlLog/wrkDetlLog.js
index 15bd830..596d38d 100644
--- a/src/main/webapp/static/js/wrkDetlLog/wrkDetlLog.js
+++ b/src/main/webapp/static/js/wrkDetlLog/wrkDetlLog.js
@@ -132,7 +132,7 @@
                                     } else if (res.code === 403){
                                         top.location.href = baseUrl+"/";
                                     } else {
-                                        layer.msg(res.msg)
+                                        layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                     }
                                 }
                             })
@@ -171,7 +171,7 @@
                                 } else if (res.code === 403) {
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         });
@@ -250,7 +250,7 @@
                                        } else if (res.code === 403){
                                            top.location.href = baseUrl+"/";
                                        }else {
-                                           layer.msg(res.msg)
+                                           layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                        }
                                    }
                                })
@@ -286,7 +286,7 @@
                                        } else if (res.code === 403){
                                            top.location.href = baseUrl+"/";
                                        }else {
-                                           layer.msg(res.msg)
+                                           layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                        }
                                    }
                                })
@@ -354,7 +354,7 @@
                     } else if (res.code === 403){
                         top.location.href = baseUrl+"/";
                     }else {
-                        layer.msg(res.msg)
+                        layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                     }
                     layer.close(index);
                 }
diff --git a/src/main/webapp/static/js/wrkLastno/wrkLastno.js b/src/main/webapp/static/js/wrkLastno/wrkLastno.js
index 97e1769..4edf942 100644
--- a/src/main/webapp/static/js/wrkLastno/wrkLastno.js
+++ b/src/main/webapp/static/js/wrkLastno/wrkLastno.js
@@ -129,7 +129,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -168,7 +168,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -249,7 +249,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -285,7 +285,7 @@
                                    } else if (res.code === 403){
                                        parent.location.href = "/";
                                    }else {
-                                       layer.msg(res.msg)
+                                       layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                    }
                                }
                            })
@@ -343,7 +343,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/wrkMast/wrkMast.js b/src/main/webapp/static/js/wrkMast/wrkMast.js
index d5025b5..8e60171 100644
--- a/src/main/webapp/static/js/wrkMast/wrkMast.js
+++ b/src/main/webapp/static/js/wrkMast/wrkMast.js
@@ -142,11 +142,11 @@
                         layer.closeAll();
                         if (res.code === 200){
                             $(".layui-laypage-btn")[0].click();
-                            layer.msg(res.msg);
+                            layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2});
                         } else if (res.code === 403){
                             top.location.href = baseUrl+"/";
                         } else {
-                            layer.msg(res.msg)
+                            layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                         }
                     }
                 })
@@ -172,11 +172,11 @@
                         layer.closeAll();
                         if (res.code === 200){
                             $(".layui-laypage-btn")[0].click();
-                            layer.msg(res.msg);
+                            layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2});
                         } else if (res.code === 403){
                             top.location.href = baseUrl+"/";
                         } else {
-                            layer.msg(res.msg)
+                            layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                         }
                     }
                 })
@@ -215,7 +215,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -254,7 +254,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -434,7 +434,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/js/wrkMastLog/wrkMastLog.js b/src/main/webapp/static/js/wrkMastLog/wrkMastLog.js
index b8c6ab0..f452db8 100644
--- a/src/main/webapp/static/js/wrkMastLog/wrkMastLog.js
+++ b/src/main/webapp/static/js/wrkMastLog/wrkMastLog.js
@@ -218,7 +218,7 @@
                                 } else if (res.code === 403){
                                     top.location.href = baseUrl+"/";
                                 } else {
-                                    layer.msg(res.msg)
+                                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                                 }
                             }
                         })
@@ -257,7 +257,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl+"/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     });
@@ -405,7 +405,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 }else {
-                    layer.msg(res.msg)
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                 }
                 layer.close(index);
             }
diff --git a/src/main/webapp/static/layuiadmin/layui/css/modules/layim/html/msgbox.html b/src/main/webapp/static/layuiadmin/layui/css/modules/layim/html/msgbox.html
index 0adf002..8bfe7c2 100644
--- a/src/main/webapp/static/layuiadmin/layui/css/modules/layim/html/msgbox.html
+++ b/src/main/webapp/static/layuiadmin/layui/css/modules/layim/html/msgbox.html
@@ -85,7 +85,7 @@
       page: page || 1
     }, function(res){
       if(res.code != 0){
-        return layer.msg(res.msg);
+        return layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2});
       }
 
       //璁板綍鏉ユ簮鐢ㄦ埛淇℃伅
@@ -158,7 +158,7 @@
             ,group: group //鎴戣瀹氱殑濂藉弸鍒嗙粍
           }, function(res){
             if(res.code != 0){
-              return layer.msg(res.msg);
+              return layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2});
             }
 
             //灏嗗ソ鍙嬭拷鍔犲埌涓婚潰鏉�
@@ -189,7 +189,7 @@
           uid: uid //瀵规柟鐢ㄦ埛ID
         }, function(res){
           if(res.code != 0){
-            return layer.msg(res.msg);
+            return layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2});
           }
           layer.close(index);
           othis.parent().html('<em>宸叉嫆缁�</em>');
diff --git a/src/main/webapp/static/layuiadmin/lib/admin.js b/src/main/webapp/static/layuiadmin/lib/admin.js
index 0e69e9e..3389fc9 100644
--- a/src/main/webapp/static/layuiadmin/lib/admin.js
+++ b/src/main/webapp/static/layuiadmin/lib/admin.js
@@ -433,12 +433,12 @@
               if (res.code === 200) {
                 alert("婵�娲绘垚鍔�");
                 location.reload();
-                // layer.msg(res.msg);
+                // layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2});
                 // layer.close(index);
               } else if (res.code === 403) {
                 top.location.href = baseUrl+"/login";
               } else {
-                layer.msg(res.msg)
+                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
               }
             }
           });
diff --git a/src/main/webapp/static/layuiadmin/modules/im.js b/src/main/webapp/static/layuiadmin/modules/im.js
index 9fc1f75..a9cdbbb 100644
--- a/src/main/webapp/static/layuiadmin/modules/im.js
+++ b/src/main/webapp/static/layuiadmin/modules/im.js
@@ -239,7 +239,7 @@
             ,remark: remark
           }, function(res){
             if(res.status != 0){
-              return layer.msg(res.msg);
+              return layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2});
             }
             layer.msg('濂藉弸鐢宠宸插彂閫侊紝璇风瓑寰呭鏂圭‘璁�', {
               icon: 1
diff --git a/src/main/webapp/views/detail.html b/src/main/webapp/views/detail.html
index f2aa02f..cd7040a 100644
--- a/src/main/webapp/views/detail.html
+++ b/src/main/webapp/views/detail.html
@@ -118,7 +118,7 @@
                 } else if (res.code === 403){
                     top.location.href = baseUrl+"/";
                 } else {
-                    layer.msg(res.msg);
+                    layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2});
                 }
             }
         });
@@ -154,13 +154,13 @@
                     method: 'POST',
                     success: function (res) {
                         if (res.code === 200){
-                            layer.msg(res.msg);
+                            layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2});
                             localStorage.setItem("username", user.username);
                             parent.$('#person-username').text(localStorage.getItem('username'));
                         } else if (res.code === 403){
                             top.location.href = baseUrl+"/";
                         } else {
-                            layer.msg(res.msg);
+                            layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2});
                         }
                     }
                 });
diff --git a/src/main/webapp/views/pakStore/locDetlCheckQuery.html b/src/main/webapp/views/pakStore/locDetlCheckQuery.html
index c417f1b..9ad375c 100644
--- a/src/main/webapp/views/pakStore/locDetlCheckQuery.html
+++ b/src/main/webapp/views/pakStore/locDetlCheckQuery.html
@@ -265,7 +265,7 @@
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl + "/";
                             } else {
-                                layer.msg(res.msg)
+                                layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2})
                             }
                         }
                     })
diff --git a/src/main/webapp/views/password.html b/src/main/webapp/views/password.html
index 0b47c4f..42d670c 100644
--- a/src/main/webapp/views/password.html
+++ b/src/main/webapp/views/password.html
@@ -128,7 +128,7 @@
                     } else if (res.code === 403){
                         top.location.href = baseUrl+"/";
                     } else {
-                        layer.msg(res.msg);
+                        layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 2});
                     }
                 }
             });

--
Gitblit v1.9.1