From 8a9b1bc2a82166cfa563bc32057503a0274c561d Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期四, 22 二月 2024 15:37:19 +0800
Subject: [PATCH] 海诺尔 物料打印码 pda移库增加

---
 src/main/java/com/zy/asrs/controller/PlaController.java           |   13 ++
 src/main/java/com/zy/common/entity/PlaExcel.java                  |    5 
 src/main/java/com/zy/asrs/controller/MobileController.java        |   68 ++++++++++++
 src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java |    2 
 src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java     |    4 
 src/main/java/com/zy/asrs/entity/Pla.java                         |   17 ++
 src/main/java/com/zy/asrs/entity/PlaQty.java                      |    4 
 src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java        |    8 
 src/main/java/com/zy/asrs/service/PlaService.java                 |    2 
 src/main/java/com/zy/asrs/utils/PlaExcelListener.java             |   23 +++
 src/main/java/com/zy/system/entity/SaasLog.java                   |   21 ++-
 src/main/webapp/views/pla/plaDetl.html                            |   76 ++++++++------
 src/main/webapp/static/js/pla/plaDetl.js                          |    2 
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java     |   17 ++-
 src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java       |   11 -
 src/main/java/com/zy/asrs/service/MobileService.java              |   11 +
 src/main/java/com/zy/asrs/utils/SaasUtils.java                    |    6 
 17 files changed, 207 insertions(+), 83 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 083be11..986ea75 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -13,6 +13,7 @@
 import com.zy.asrs.entity.result.MobileAdjustResult;
 import com.zy.asrs.mapper.ManLocDetlMapper;
 import com.zy.asrs.service.*;
+import com.zy.asrs.utils.SaasUtils;
 import com.zy.common.model.WrkDto;
 import com.zy.common.web.BaseController;
 import com.zy.system.entity.User;
@@ -55,6 +56,8 @@
     private ManLocDetlMapper manLocDetlMapper;
     @Autowired
     private PlaService plaService;
+    @Autowired
+    private NodeService nodeService;
 
 
     // 鍟嗗搧涓婃灦
@@ -427,7 +430,7 @@
         for (Object o : jsonArray){
             JSONObject jsonObject = (JSONObject)o;
             String batch = jsonObject.get("batch").toString();
-            String packageNo = jsonObject.get("packageNo").toString();
+            Integer packageNo = (Integer) jsonObject.get("packageNo");
             if(Cools.isEmpty(locNo) || Cools.isEmpty(batch) || Cools.isEmpty(packageNo)){
                 return R.error("鏈夊弬鏁颁负绌猴紝鏃犳硶鍏ュ簱");
             }
@@ -446,7 +449,7 @@
     public R plaPackOut1(@RequestBody JSONObject json){
         String locNo = json.get("locNo").toString();
         String batch = json.get("batch").toString();
-        String packageNo = json.get("packageNo").toString();
+        Integer packageNo = (Integer) json.get("packageNo");
         String orderNo = json.get("orderNo").toString();
         String orderDetlId = json.get("orderDetlId").toString();
         String wrkNo = json.get("wrkNo").toString();
@@ -465,7 +468,7 @@
     public R plaPackOut(@RequestBody JSONObject json){
         String locNo = json.get("locNo").toString();
         String batch = json.get("batch").toString();
-        String packageNo = json.get("packageNo").toString();
+        Integer packageNo = (Integer) json.get("packageNo");
         String orderNo = json.get("orderNo").toString();
         String orderDetlId = json.get("orderDetlId").toString();
         String wrkNo = json.get("wrkNo").toString();
@@ -483,7 +486,7 @@
     @RequestMapping("/plaDetl/check/v1")
     public R plaDetlCheck(@RequestBody JSONObject json){
         String batch = json.get("batch").toString();
-        String packageNo = json.get("packageNo").toString();
+        Integer packageNo = (Integer) json.get("packageNo");
 
         if(Cools.isEmpty(batch) || Cools.isEmpty(packageNo)){
             return R.error("鏈夊弬鏁颁负绌猴紝鏃犳硶鍏ュ簱");
@@ -499,6 +502,63 @@
         return R.ok(pla);
     }
 
+    /*
+    pla绉诲簱
+     */
+    @RequestMapping("/plaDetl/move/v1")
+    public R plaDetlMove(@RequestBody JSONObject json){
+
+        String batch = json.get("batch").toString();
+        Integer packageNo = (Integer) json.get("packageNo");
+        String locNo = json.get("locNo").toString();
+
+        if(Cools.isEmpty(batch) || Cools.isEmpty(packageNo)){
+            return R.error("鏈夊弬鏁颁负绌猴紝鏃犳硶鍏ュ簱");
+        }
+
+        Pla pla = plaService.selectByBatchAndPackageNo(batch, packageNo);
+        if ((Cools.isEmpty(pla))){
+            return R.error("璇ュ寘鐗╂枡鏈綍鍏ワ紝鏃犳硶鏌ヨ鍒扮浉鍏充俊鎭�");
+        }
+
+        Node node = nodeService.selectByUuid(locNo);
+        if(Cools.isEmpty(node)){
+            throw new CoolException("搴撲綅淇℃伅涓嶆纭�");
+        }
+
+        String sourceLocNo = pla.getLocNo();
+
+        pla.setLocNo(locNo);
+        pla.setStash(node.getParentName());
+        pla.setModifyTime(new Date());
+
+        plaService.updateById(pla);
+
+        SaasUtils.insertLog(2,sourceLocNo,pla.getBrand(),pla.getWeightAnfme(),getUser().getUsername(),locNo,pla.getBatch(),pla.getPackageNo());
+
+        return R.ok();
+    }
+
+    /*
+    鏍规嵁鎷h揣鍗曞嚭搴� ------> 鑾峰彇鎷h揣鍗�
+     */
+    @RequestMapping("/manpakout/check/v1")
+    public R getManPakout (@RequestBody JSONObject json){
+
+        String orderNo = json.get("orderNo").toString();
+
+        return R.ok(mobileService.getManPakoutByOrderNo(orderNo));
+    }
+
+    @RequestMapping("/manpakout/pakout/v1")
+    public R pakout(@RequestBody JSONObject json){
+
+        String orderNo = json.get("orderNo").toString();
+
+        return R.ok();
+    }
+
+
     public static void main(String[] args) {
 //        String aa = "[{\"batch\":\"2023090304\",\"packageNo\":\"8\"},{\"batch\":\"2023090304\",\"packageNo\":\"8\"}]";
 //        JSONArray jsonArray = JSON.parseArray(aa);
diff --git a/src/main/java/com/zy/asrs/controller/PlaController.java b/src/main/java/com/zy/asrs/controller/PlaController.java
index 3f43b43..3bd8eb0 100644
--- a/src/main/java/com/zy/asrs/controller/PlaController.java
+++ b/src/main/java/com/zy/asrs/controller/PlaController.java
@@ -55,6 +55,12 @@
                   @RequestParam Map<String, Object> param){
         excludeTrash(param);
         EntityWrapper<Pla> wrapper = new EntityWrapper<>();
+
+        if(!Cools.isEmpty(param.get("brand"))){
+            wrapper.eq("brand",param.get("brand"));
+            param.remove("brand");
+        }
+
         convert(param, wrapper);
         wrapper.orderBy("modify_time",false);
         allLike(Pla.class, param.keySet(), wrapper, condition);
@@ -198,7 +204,7 @@
             pla.setModifyTime(new Date());
             pla.setWeightAnfme(0.0);
             plaService.updateById(pla);
-            SaasUtils.insertLog(1,pla.getLocNo(),pla.getBatch()+","+pla.getPackageNo(),anfme,getUser().getUsername());
+            SaasUtils.insertLog(1,pla.getLocNo(),pla.getBrand(),anfme,getUser().getUsername(),null,pla.getBatch(),pla.getPackageNo());
         });
 
         return R.ok();
@@ -288,7 +294,8 @@
         try {
             EasyExcel.read(file.getInputStream(), PlaExcel.class, listener).sheet().doRead();
         }catch (Exception e){
-            throw new CoolException("瀵煎叆鐨勬暟鎹牸寮忛敊璇紝鍘熷洜锛�" + e.getMessage());
+            e.printStackTrace();
+            throw new CoolException("瀵煎叆鐨勬暟鎹牸寮忛敊璇紝鍘熷洜锛�" + e.getMessage() + "锛岀" + listener.getIndex() + "锛屾暟鎹牸寮忎笉瀵�");
         }
         return R.ok("鎴愬姛鍚屾"+listener.getTotal()+"鏉la鐗╂枡鏁版嵁");
     }
@@ -332,7 +339,7 @@
         manPakOut.setMaktx(plaQty.getBrand());
         manPakOut.setLocNo(plaQty.getLocNo());
         manPakOut.setBatch(plaQty.getBatch());
-        manPakOut.setBarcode(plaQty.getPackageNo());
+        manPakOut.setBarcode(plaQty.getPackageNo() + "");
         manPakOut.setUuid(String.valueOf(System.currentTimeMillis()));
         manPakOut.setCreateTime(new Date());
         manPakOut.setUpdateTime(new Date());
diff --git a/src/main/java/com/zy/asrs/entity/Pla.java b/src/main/java/com/zy/asrs/entity/Pla.java
index 45cd619..a1b0d29 100644
--- a/src/main/java/com/zy/asrs/entity/Pla.java
+++ b/src/main/java/com/zy/asrs/entity/Pla.java
@@ -67,7 +67,7 @@
     //鍖呰鍙�
     @TableField("package_no")
     @ExcelProperty(value = "鍖呰鍙�")
-    private String packageNo;
+    private Integer packageNo;
 
     //鍖呰鍙�
     @ExcelProperty(value = "鐢熶骇鏃ユ湡")
@@ -223,7 +223,7 @@
 
     //姝ラ
     @TableField("step")
-    private int step;
+    private Integer step;
 
     @TableField("create_time")
     private Date createTime;
@@ -262,7 +262,7 @@
     private String memo;
 
     @TableField("stock_freeze")
-    private int stockFreeze;
+    private Integer stockFreeze;
 
     @TableField("stock_freeze_by")
     private String stockFreezeBy;
@@ -277,6 +277,17 @@
         return new SimpleDateFormat("yyyy-MM-dd").format(this.createTime);
     }
 
+    public String getPackageNo$(){
+        if(packageNo < 10){
+            return "00" + packageNo;
+        }else if(packageNo < 100){
+            return "0" + packageNo;
+        }else {
+            return packageNo + "";
+        }
+
+    }
+
     public String getPakinTime$() {
         if (Cools.isEmpty(this.pakinTime)){
             return "";
diff --git a/src/main/java/com/zy/asrs/entity/PlaQty.java b/src/main/java/com/zy/asrs/entity/PlaQty.java
index 274bed0..e203879 100644
--- a/src/main/java/com/zy/asrs/entity/PlaQty.java
+++ b/src/main/java/com/zy/asrs/entity/PlaQty.java
@@ -20,7 +20,7 @@
     private String batch;
 
     //鍖呰鍙�
-    private String packageNo;
+    private Integer packageNo;
 
     //鐗屽彿
     private String brand;
@@ -67,7 +67,7 @@
     //閫�鍥為噸閲�
     private Double returned;
 
-    public PlaQty(String batch, String packageNo, Long orderDetlId, Long orderId, String orderNo, Double qtyAnfme, String locNo, Date createTime) {
+    public PlaQty(String batch, Integer packageNo, Long orderDetlId, Long orderId, String orderNo, Double qtyAnfme, String locNo, Date createTime) {
         this.batch = batch;
         this.packageNo = packageNo;
         this.orderDetlId = orderDetlId;
diff --git a/src/main/java/com/zy/asrs/service/MobileService.java b/src/main/java/com/zy/asrs/service/MobileService.java
index b9f0de4..3b7926b 100644
--- a/src/main/java/com/zy/asrs/service/MobileService.java
+++ b/src/main/java/com/zy/asrs/service/MobileService.java
@@ -4,6 +4,7 @@
 import com.core.common.R;
 import com.zy.asrs.entity.BasDevp;
 import com.zy.asrs.entity.LocDetl;
+import com.zy.asrs.entity.ManPakOut;
 import com.zy.asrs.entity.OrderDetl;
 import com.zy.asrs.entity.param.CombParam;
 import com.zy.asrs.entity.param.MobileAdjustNewParam;
@@ -12,6 +13,7 @@
 import com.zy.system.entity.User;
 
 import java.util.Date;
+import java.util.List;
 
 public interface MobileService {
 
@@ -54,7 +56,12 @@
 
     R manDetlOriginOut(JSONObject json, User user);
 
-    void plaPakin(String locNo, String batch, String packageNo, User user);
+    void plaPakin(String locNo, String batch, Integer packageNo, User user);
 
-    void plaPakout(String locNo, String batch, String packageNo, String orderNo, String orderDetlId, String wrkNo,Double anfme);
+    void plaPakout(String locNo, String batch, Integer packageNo, String orderNo, String orderDetlId, String wrkNo,Double anfme);
+
+    /*
+    鑾峰彇鎷h揣鍗曚俊鎭�
+     */
+    List<ManPakOut> getManPakoutByOrderNo(String orderNo);
 }
diff --git a/src/main/java/com/zy/asrs/service/PlaService.java b/src/main/java/com/zy/asrs/service/PlaService.java
index 6f3c20c..81e718c 100644
--- a/src/main/java/com/zy/asrs/service/PlaService.java
+++ b/src/main/java/com/zy/asrs/service/PlaService.java
@@ -10,7 +10,7 @@
 
 public interface PlaService extends IService<Pla> {
 
-    Pla selectByBatchAndPackageNo(String batch, String packageNo);
+    Pla selectByBatchAndPackageNo(String batch, Integer packageNo);
 
     void queryStock(OrderDetl orderDetl, List<PlaQty> plaQties);
 
diff --git a/src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java
index ae587de..c5f99a9 100644
--- a/src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java
@@ -163,7 +163,7 @@
             manLocDetl.setAnfme(locDetlAdjust.getCount());
             manLocDetl.setUpdateBy(userId);
             manLocDetl.setModiTime(now);
-            SaasUtils.insertLog(3,manLocDetl.getLocNo(), manLocDetl.getMatnr(),manLocDetl.getAnfme(),user.getUsername());
+            SaasUtils.insertLog(3,manLocDetl.getLocNo(), manLocDetl.getMatnr(),manLocDetl.getAnfme(),user.getUsername(),null,null,null);
             this.baseMapper.insert(manLocDetl);
         }
     }
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 6e3f396..a26480e 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -663,7 +663,7 @@
             }
             orderService.checkComplete(order.getOrderNo());
 
-            SaasUtils.insertLog(0,jsonLocNo,jsonOrderDetl.getMatnr(), jsonOrderDetl.getAnfme(),user.getUsername());
+            SaasUtils.insertLog(0,jsonLocNo,jsonOrderDetl.getMatnr(), jsonOrderDetl.getAnfme(),user.getUsername(),null,null,null);
         }
 
 
@@ -804,7 +804,7 @@
                     return R.error("鏇存柊骞冲簱搴撳瓨鐘舵�佸け璐�");
                 }
             }
-            SaasUtils.insertLog(1,jsonLocNo,jsonOrderDetl.getMatnr(), jsonOrderDetl.getAnfme(),user.getUsername());
+            SaasUtils.insertLog(1,jsonLocNo,jsonOrderDetl.getMatnr(), jsonOrderDetl.getAnfme(),user.getUsername(),null,null,null);
 
         }
         return R.ok("涓嬫灦瀹屾垚");
@@ -1205,7 +1205,7 @@
     }
 
     @Override
-    public void plaPakin(String locNo, String batch, String packageNo,User user) {
+    public void plaPakin(String locNo, String batch, Integer packageNo,User user) {
         Pla pla = plaService.selectByBatchAndPackageNo(batch, packageNo);
         if(Cools.isEmpty(pla)){
             throw new CoolException("绯荤粺鏈娴嬪埌璇ュ寘鐗╂枡淇℃伅锛岃閲嶆柊褰曞叆");
@@ -1228,12 +1228,12 @@
         pla.setLocNo(node.getUuid());
 
         plaService.updateById(pla);
-        SaasUtils.insertLog(0,locNo,batch+","+packageNo,pla.getWeightAnfme(),user.getUsername());
+        SaasUtils.insertLog(0,locNo,pla.getBrand(),pla.getWeightAnfme(),user.getUsername(),null,pla.getBatch(),pla.getPackageNo());
     }
 
     @Override
     @Transactional
-    public void plaPakout(String locNo, String batch, String packageNo, String orderNo, String orderDetlId, String wrkNo, Double anfme) {
+    public void plaPakout(String locNo, String batch, Integer packageNo, String orderNo, String orderDetlId, String wrkNo, Double anfme) {
         Pla pla = plaService.selectByBatchAndPackageNo(batch, packageNo);
 
         ManPakOut manPakOut = manPakOutService.selectById(wrkNo);
@@ -1267,7 +1267,7 @@
             pla.setStatus(GlobleParameter.PLA_STATUS_3);
         }
         plaService.updateById(pla);
-        SaasUtils.insertLog(1,locNo,batch+","+packageNo,anfme,null);
+        SaasUtils.insertLog(1,locNo,pla.getBrand(),anfme,null,null,pla.getBatch(),pla.getPackageNo());
 
         //鏇存柊璁㈠崟鏄庣粏
         Order order = orderService.selectByNo(orderNo);
@@ -1279,4 +1279,9 @@
         orderService.checkComplete(orderNo);
 
     }
+
+    @Override
+    public List<ManPakOut> getManPakoutByOrderNo(String orderNo) {
+        return manPakOutService.selectList(new EntityWrapper<ManPakOut>().eq("doc_num",orderNo).eq("status",0));
+    }
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java
index 5e4e901..ff3b657 100644
--- a/src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java
@@ -11,17 +11,14 @@
 import com.zy.asrs.entity.param.InitPakoutParam;
 import com.zy.asrs.entity.param.MatnrDto;
 import com.zy.asrs.entity.param.PakinParam;
-import com.zy.asrs.entity.result.Pakin;
 import com.zy.asrs.mapper.NodeMapper;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.SaasUtils;
-import com.zy.asrs.utils.VersionUtils;
 import com.zy.system.entity.User;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.beans.Transient;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -126,7 +123,7 @@
                 manLocDetl.setCreateBy(userId);
                 manLocDetl.setStatus(1);
                 manLocDetl.setPayment(1);
-                SaasUtils.insertLog(0,manLocDetl.getLocNo(),manLocDetl.getMatnr(), manLocDetl.getAnfme(),user.getUsername());
+                SaasUtils.insertLog(0,manLocDetl.getLocNo(),manLocDetl.getMatnr(), manLocDetl.getAnfme(),user.getUsername(),null,null,null);
                 manLocDetlService.insert(manLocDetl);
             }else {
 //                check.setAnfme(dto.getCount() + check.getAnfme());
@@ -167,7 +164,7 @@
                 if (manLocDetl.getAnfme() - param.getCount() < 0) {
                     return R.error("鐗╂枡:"+ param.getMatnr() + " 鍦ㄥ簱浣嶄腑鏁伴噺涓嶈冻");
                 } else if (manLocDetl.getAnfme() - param.getCount() == 0) {
-                    SaasUtils.insertLog(1,manLocDetl.getLocNo(), manLocDetl.getMatnr(),param.getCount(),user.getUsername());
+                    SaasUtils.insertLog(1,manLocDetl.getLocNo(), manLocDetl.getMatnr(),param.getCount(),user.getUsername(),null,null,null);
                     manLocDetlService.delete(new EntityWrapper<ManLocDetl>()
                             .eq("loc_no",node.getUuid())
                             .eq("matnr",param.getMatnr()));
@@ -177,7 +174,7 @@
                     manLocDetlService.update(manLocDetl,new EntityWrapper<ManLocDetl>()
                             .eq("loc_no",node.getUuid())
                             .eq("matnr",param.getMatnr()));
-                    SaasUtils.insertLog(1,manLocDetl.getLocNo(), manLocDetl.getMatnr(),param.getCount(),user.getUsername());
+                    SaasUtils.insertLog(1,manLocDetl.getLocNo(), manLocDetl.getMatnr(),param.getCount(),user.getUsername(),null,null,null);
                 }
             }
         }
@@ -207,7 +204,7 @@
                 source.setLocNo(targetNode.getUuid());
                 source.setNodeId(targetNode.getId());
 
-                SaasUtils.insertLog(2,source.getLocNo(), source.getMatnr(), source.getAnfme(),user.getUsername());
+                SaasUtils.insertLog(2,source.getLocNo(), source.getMatnr(), source.getAnfme(),user.getUsername(),null,null,null);
                 manLocDetlService.insert(source);
             }else {
 //                check.setAnfme(check.getAnfme() + source.getAnfme());
diff --git a/src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java
index 5e56251..2f46d25 100644
--- a/src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java
@@ -58,7 +58,7 @@
        List<Pakout> pakouts = selectList(new EntityWrapper<Pakout>().eq("doc_num", docNum));
        for (Pakout pakout: pakouts){
 
-           Pla pla = plaService.selectByBatchAndPackageNo(pakout.getBatch(), pakout.getBarcode());
+           Pla pla = plaService.selectByBatchAndPackageNo(pakout.getBatch(), Integer.parseInt(pakout.getBarcode()));
            if(!Cools.isEmpty(pla)){
                pla.setQtyAnfme(pla.getQtyAnfme() - pakout.getAnfme());
                pla.setModifyTime(new Date());
@@ -116,7 +116,7 @@
         }
 
         //鏇存柊pla淇℃伅
-        Pla pla = plaService.selectByBatchAndPackageNo(pakout.getBatch(), pakout.getBarcode());
+        Pla pla = plaService.selectByBatchAndPackageNo(pakout.getBatch(), Integer.parseInt(pakout.getBarcode()));
         pla.setQtyAnfme(pla.getQtyAnfme() - pakout.getAnfme());
         pla.setStatus(GlobleParameter.PLA_STATUS_1);
         pla.setModifyTime(new Date());
diff --git a/src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java
index e247647..d87ab5a 100644
--- a/src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java
@@ -27,7 +27,7 @@
     @Autowired
     private PlaQtyService plaQtyService;
 
-    public Pla selectByBatchAndPackageNo(String batch, String packageNo) {
+    public Pla selectByBatchAndPackageNo(String batch, Integer packageNo) {
         return this.selectOne(new EntityWrapper<Pla>().eq("batch",batch).eq("package_no",packageNo));
     }
 
@@ -65,7 +65,7 @@
             }
             //闇�瑕佸噺鍘绘娆″嚭搴撻瑙堝叾浠栬鍗曢渶鍑哄簱鐨勬暟閲�
             for (PlaQty plaQty : plaQties){
-                if(Cools.eq(plaQty.getBatch(),pla.getBatch()) && Cools.eq(plaQty.getPackageNo(),pla.getPackageNo())){
+                if(Cools.eq(plaQty.getBatch(),pla.getBatch()) && plaQty.getPackageNo() == pla.getPackageNo()){
                     weightAnfme -= plaQty.getQtyAnfme();
                 }
             }
@@ -84,7 +84,7 @@
         }
 
         if(anfme > 0){
-            PlaQty plaQty = new PlaQty(orderDetl.getBatch(),orderDetl.getBrand(),orderDetl.getId(),orderDetl.getOrderId(),orderDetl.getOrderNo(),anfme,null,new Date());
+            PlaQty plaQty = new PlaQty(orderDetl.getBatch(),Integer.parseInt(orderDetl.getBrand()),orderDetl.getId(),orderDetl.getOrderId(),orderDetl.getOrderNo(),anfme,null,new Date());
             plaQties.add(plaQty);
         }
 
@@ -124,7 +124,7 @@
             pla.setStatus(GlobleParameter.PLA_STATUS_1);
             this.updateById(pla);
 
-            SaasUtils.insertLog(0,pla.getLocNo(),pla.getBatch()+","+pla.getPackageNo(),plaQty.getOrderWeight(),user.getUsername());
+            SaasUtils.insertLog(0,pla.getLocNo(),pla.getBrand(),plaQty.getOrderWeight(),user.getUsername(),null,pla.getBatch(),pla.getPackageNo());
 
         });
     }
diff --git a/src/main/java/com/zy/asrs/utils/PlaExcelListener.java b/src/main/java/com/zy/asrs/utils/PlaExcelListener.java
index c968f3a..83bc4ef 100644
--- a/src/main/java/com/zy/asrs/utils/PlaExcelListener.java
+++ b/src/main/java/com/zy/asrs/utils/PlaExcelListener.java
@@ -14,6 +14,7 @@
 import com.zy.asrs.service.PlaService;
 import com.zy.common.entity.MatExcel;
 import com.zy.common.entity.PlaExcel;
+import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 
@@ -26,12 +27,14 @@
  * Created by vincent on 2019-11-25
  */
 @Slf4j
+@Data
 public class PlaExcelListener extends AnalysisEventListener<PlaExcel> {
 
     private static final String OWNER_HZ = "娴锋鐢熺墿";
     private static final String OWNER_HNE = "娴疯灏�";
 
     private int total = 0;
+    private int index = 1;
     private Long userId;
 
     public PlaExcelListener() {
@@ -60,6 +63,7 @@
      */
     @Override
     public void invoke(PlaExcel excel, AnalysisContext ctx) {
+        index ++;
         PlaService plaService = SpringUtils.getBean(PlaService.class);
         NodeService nodeService = SpringUtils.getBean(NodeService.class);
         MatService matService = SpringUtils.getBean(MatService.class);
@@ -89,7 +93,7 @@
                 setPla(pla);
             }catch (Exception e){
                 log.info(e.getMessage() + "Pla: " + pla.getBatch());
-                throw new CoolException(e.getMessage());
+                throw new CoolException(e.getMessage() + "锛屾壒鍙凤細" + excel.getBatch() + ", 鍖呭彿锛�" + excel.getPackageNo());
             }
 
             if(!Cools.isEmpty(pla.getLocNo())){
@@ -103,9 +107,15 @@
                 pla.setStatus(GlobleParameter.PLA_STATUS_1);
                 pla.setPakinTime(new Date());
             }
-            if (!plaService.insert(pla)) {
-                throw new CoolException("淇濆瓨鍟嗗搧淇℃伅澶辫触锛屽晢鍝佺紪鐮侊細" + excel.getMatnr());
+            try {
+                plaService.insert(pla);
+            }catch (Exception e){
+                log.error("淇濆瓨鍟嗗搧淇℃伅澶辫触锛屾壒鍙凤細" + excel.getBatch() + ", 鍖呭彿锛�" + excel.getPackageNo() + "鍘熷洜涓猴細" + e.getMessage());
+                throw new CoolException("淇濆瓨鍟嗗搧淇℃伅澶辫触锛屾壒鍙凤細" + excel.getBatch() + ", 鍖呭彿锛�" + excel.getPackageNo() + "鍘熷洜涓猴細" + e.getMessage());
             }
+//            if (!plaService.insert(pla)) {
+//                throw new CoolException("淇濆瓨鍟嗗搧淇℃伅澶辫触锛屽晢鍝佺紪鐮侊細" + excel.getMatnr());
+//            }
             total++;
         }else if (pla.getStatus().equals(GlobleParameter.PLA_STATUS_00)){
             excel.setId(pla.getId());
@@ -114,7 +124,12 @@
             excel.setStep(2);
             excel.setStatus(GlobleParameter.PLA_STATUS_00);
             BeanUtils.copyProperties(excel,pla);
-            plaService.updateById(pla);
+            try {
+                plaService.updateById(pla);
+            }catch (Exception e){
+                log.error("淇濆瓨鍟嗗搧淇℃伅澶辫触锛屾壒鍙凤細" + excel.getBatch() + ", 鍖呭彿锛�" + excel.getPackageNo() + "鍘熷洜涓猴細" + e.getMessage());
+                throw new CoolException("淇濆瓨鍟嗗搧淇℃伅澶辫触锛屾壒鍙凤細" + excel.getBatch() + ", 鍖呭彿锛�" + excel.getPackageNo() + "鍘熷洜涓猴細" + e.getMessage());
+            }
             total++;
         }
     }
diff --git a/src/main/java/com/zy/asrs/utils/SaasUtils.java b/src/main/java/com/zy/asrs/utils/SaasUtils.java
index e916626..0fb2eae 100644
--- a/src/main/java/com/zy/asrs/utils/SaasUtils.java
+++ b/src/main/java/com/zy/asrs/utils/SaasUtils.java
@@ -1,14 +1,13 @@
 package com.zy.asrs.utils;
 
 import com.core.common.SpringUtils;
-import com.fasterxml.jackson.databind.util.BeanUtil;
 import com.zy.system.entity.SaasLog;
 import com.zy.system.service.SaasLogService;
 
 import java.util.Date;
 
 public class SaasUtils {
-    public static void insertLog(Integer type, String locNo, String matnr,Double anfme,String user){
+    public static void insertLog(Integer type, String locNo, String matnr,Double anfme,String user,String targetLocNo,String batch,Integer packageNo){
         SaasLogService bean = SpringUtils.getBean(SaasLogService.class);
         SaasLog saasLog = new SaasLog();
         saasLog.setType(type);
@@ -16,6 +15,9 @@
         saasLog.setMatnr(matnr);
         saasLog.setIoTime(new Date());
         saasLog.setAnfme(anfme);
+        saasLog.setTargetLocNo(targetLocNo);
+        saasLog.setBatch(batch);
+        saasLog.setPackageNo(packageNo);
         saasLog.setCreateBy(1L);
         saasLog.setCreateByName(user);
         bean.insert(saasLog);
diff --git a/src/main/java/com/zy/common/entity/PlaExcel.java b/src/main/java/com/zy/common/entity/PlaExcel.java
index 291d187..7db5fbc 100644
--- a/src/main/java/com/zy/common/entity/PlaExcel.java
+++ b/src/main/java/com/zy/common/entity/PlaExcel.java
@@ -12,5 +12,8 @@
 @Data
 @ExcelIgnoreUnannotated
 public class PlaExcel extends Pla {
-
+    @Override
+    public String toString() {
+        return super.toString();
+    }
 }
diff --git a/src/main/java/com/zy/system/entity/SaasLog.java b/src/main/java/com/zy/system/entity/SaasLog.java
index fb136f6..1716bb7 100644
--- a/src/main/java/com/zy/system/entity/SaasLog.java
+++ b/src/main/java/com/zy/system/entity/SaasLog.java
@@ -1,16 +1,17 @@
 package com.zy.system.entity;
 
-import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableId;
-import com.baomidou.mybatisplus.enums.IdType;
 import com.baomidou.mybatisplus.annotations.TableField;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import org.springframework.format.annotation.DateTimeFormat;
-
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import com.core.common.Cools;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import com.baomidou.mybatisplus.annotations.TableName;
+import org.springframework.format.annotation.DateTimeFormat;
+
 import java.io.Serializable;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 
 @Data
 @TableName("sys_saas_log")
@@ -28,7 +29,7 @@
     /**
      * {0:鍏ュ簱,1:鍑哄簱}
      */
-    @ApiModelProperty(value= "{0:鍏ュ簱,1:鍑哄簱}")
+    @ApiModelProperty(value= "{0:鍏ュ簱,1:鍑哄簱,2:绉诲簱}")
     private Integer type;
 
     @ApiModelProperty(value= "")
@@ -54,6 +55,10 @@
     @TableField("create_by_name")
     private String createByName;
 
+    private String targetLocNo;
+    private String batch;
+    private Integer packageNo;
+
     public SaasLog() {}
 
     public SaasLog(Long id,Integer type,String locNo,String matnr,Date ioTime,Long createBy) {
diff --git a/src/main/webapp/static/js/pla/plaDetl.js b/src/main/webapp/static/js/pla/plaDetl.js
index ec6532b..85dee90 100644
--- a/src/main/webapp/static/js/pla/plaDetl.js
+++ b/src/main/webapp/static/js/pla/plaDetl.js
@@ -435,7 +435,7 @@
                 } else {
                     layer.open({
                         type: 1,
-                        area: ['600px', '700px'],
+                        area: ['600px', '750px'],
                         title: '鎵归噺鎵撳嵃 [鏁伴噺'+ data.length +']',
                         shadeClose: true,
                         content: $('#printDataDiv'),
diff --git a/src/main/webapp/views/pla/plaDetl.html b/src/main/webapp/views/pla/plaDetl.html
index efe76a6..51c2cbb 100644
--- a/src/main/webapp/views/pla/plaDetl.html
+++ b/src/main/webapp/views/pla/plaDetl.html
@@ -108,14 +108,15 @@
         }
         /* ------------------------- 鎵撳嵃琛ㄦ牸 -----------------------  */
         .template-preview {
-            height: 350px;
+            height: 400px;
             display: inline-block;
         }
         .contain td {
-            border: 1px solid #000;
+            border: 0px solid #000;
+            white-space:nowrap;
             /*font-family: 榛戜綋;*/
             /*font-weight: bold;*/
-            /*color: #000000;*/
+            color: #000000;
         }
     </style>
 </head>
@@ -170,6 +171,7 @@
                     <option value="鏆傚叆搴�">鏆傚叆搴�</option>
                     <option value="寰呭叆搴�">寰呭叆搴�</option>
                     <option value="宸插叆搴�">宸插叆搴�</option>
+                    <option value="寰呭嚭搴�">宸插叆搴�</option>
                     <option value="閮ㄥ垎鍑哄簱">閮ㄥ垎鍑哄簱</option>
                     <option value="鍏ㄩ儴鍑哄簱">鍏ㄩ儴鍑哄簱</option>
                 </select>
@@ -311,19 +313,22 @@
                 <!-- 棰勮鍥� 3 -->
                 <div id="template-preview-1" class="template-preview" style="display: block">
                     <div class="layui-row">
-                        <div class="layui-col-xs3">
+                        <div class="layui-col-xs4" style="height: auto">
                             <img src="../../static/image/hneLogo.jpg" style="display: inline-block; width: 40%;height: 30%">
                         </div>
-                        <div class="layui-col-xs9" style="text-align: left">
+                        <div class="layui-col-xs8" style="margin-left: -40px; margin-top: 20px; text-align: left">
                             娴欐睙鐪佸彴宸炲競鍙板窞婀炬柊鍖哄彴宸炴咕澶ч亾188鍙�</br>
                             Address锛歂o. 188, Taizhou Bay Avenue, Taizhou Bay New Area, Taizhou City, Zhejiang Province
                         </div>
                     </div>
-                    <div class="layui-row" style="font-size: xx-large; text-align: left; margin-left: 40px;">
-                        </n>鑱氫钩閰� Polylactic Acid
-                    </div>
-                    <div class="layui-row" style="alignment: center; margin-left: 100px;">
-                        <table class="contain" width="280" style="overflow: hidden;font-size: xx-small;table-layout: fixed;">
+<!--                    <div class="layui-row" style="font-size: xx-large; text-align: left; margin-left: 40px;">-->
+<!--                        </n>鑱氫钩閰� Polylactic Acid-->
+<!--                    </div>-->
+                    <div class="layui-row" style="alignment: center; margin-left: 65px;">
+                        <table class="contain" width="400" style="overflow: hidden;font-size: xx-small;table-layout: fixed;">
+                            <tr style="height: 74px" >
+                                <td align="center" scope="col" colspan="4" style="font-size: x-large; font-weight: bold;"><strong style="font-weight: bold;color: black;">鑱氫钩閰� Polylactic Acid</strong></td>
+                            </tr>
                             <tr style="height: 74px">
                                 <td align="center" scope="col" colspan="1">鐗屽彿</td>
                                 <td align="center" scope="col" colspan="1" style="">xxxxxx-xx/xx</td>
@@ -335,7 +340,7 @@
                                 </td>
                             </tr>
                             <tr style="height: 74px">
-                                <td align="center" colspan="1">閲嶉噺</td>
+                                <td align="center" colspan="1" style="text-align: left; padding-left: 20px" >閲嶉噺</td>
                                 <td align="center" colspan="1" style="overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">xxxxxxx</td>
                             </tr>
                             <tr style="height: 74px">
@@ -367,36 +372,43 @@
 <script type="text/template" id="templatePreview1" class="template-qrcode">
     <div class="template-preview">
     {{#each data}}
-        <div class="layui-row">
-            <div class="layui-col-xs3">
-                <img src="../../static/image/hneLogo.jpg" style="display: inline-block; width: 40%;height: 30%">
+        <div class="layui-row" style="height: 230px;width: 650px; color:#000; margin-top: 40px">
+            <div class="layui-col-xs5" style="height: auto; margin-top: 20px">
+                <img src="../../static/image/hneLogo.jpg" style="display: inline-block; width: 40%;height: 30%; margin-left: 30px">
             </div>
-            <div class="layui-col-xs9" style="text-align: left">
+            <div class="layui-col-xs7" style="margin-left: -105px;margin-right: 30px; margin-top: 70px; text-align: left; font-size: 20px">
                 娴欐睙鐪佸彴宸炲競鍙板窞婀炬柊鍖哄彴宸炴咕澶ч亾188鍙�</br>
                 Address锛歂o. 188, Taizhou Bay Avenue, Taizhou Bay New Area, Taizhou City, Zhejiang Province
             </div>
         </div>
-        <div class="layui-row" style="font-size: xx-large; text-align: left; margin-left: 40px;">
-            </n>鑱氫钩閰� Polylactic Acid
-        </div>
-        <div class="layui-row" style="alignment: center; margin-left: 100px;">
-            <table class="contain" width="280" style="overflow: hidden;font-size: xx-small;table-layout: fixed;">
-                <tr style="height: 74px" >
-                    <td align="center" scope="col" colspan="1" style="font-weight: bold;"><strong style="font-weight: bold;color: black;">鐗屽彿</strong></td>
-                    <td align="center" colspan="1" style="font-weight: bold;color: black;overflow:hidden; white-space:normal; "><strong style="font-weight: bold;color: black;">{{this.brand}}</strong></td>
+<!--        <div class="layui-row" style="font-size: xx-large; text-align: left; margin-left: 40px;">-->
+<!--            鑱氫钩閰� Polylactic Acid-->
+<!--        </div>-->
+        <div class="layui-row" style="alignment: center; margin-left: 35px; margin-top: -20px; margin-bottom: 3.7px;">
+            <table class="contain" width="500" style="overflow: hidden;table-layout: fixed; color:#000; font-size: 30px;text-align: left">
+                <tr style="height: 100px;" >
+                    <td align="center" scope="col" colspan="4" style="font-weight: bold; text-align: left; padding-left: 20px"><strong style="font-weight: bold;color: black;">鑱氫钩閰� Polylactic Acid</strong></td>
+                </tr>
+                <tr style="height: 100px; text-align: left" >
+                    <td align="center" scope="col" colspan="2" style="font-weight: bold;color: black; text-align: left; padding-left: 20px"><strong>鐗屽彿: REVODE {{this.brand}}</strong></td>
+<!--                    <td align="center" colspan="1" style="font-weight: bold;color: black;overflow:hidden; white-space:normal; "><strong style="font-weight: bold;color: black;">REVODE {{this.brand}}</strong></td>-->
+                </tr>
+                <tr style="height: 100px;text-align: left">
+                    <td align="center" colspan="2" style="font-weight: bold;color: black; text-align: left; padding-left: 20px"><strong>鎵瑰彿锛歅N {{this.batch}}  {{this.packageNo}}</strong></td>
+                    <!--                    <td align="center" colspan="1" style="font-weight: bold;color: black;overflow:hidden; white-space:nowrap; text-overflow:ellipsis;"><strong style="font-weight: bold;color: black;">{{this.weightAnfme}} KG</strong></td>-->
+                </tr>
+                <tr style="height: 100px;text-align: left">
+                    <td align="center" colspan="2" style="font-weight: bold;color: black; text-align: left; padding-left: 20px"><strong>閲嶉噺锛歿{this.weightAnfme}} KG</strong></td>
+                    <!--                    <td align="center" colspan="1" style="font-weight: bold;color: black;overflow:hidden; white-space:nowrap; text-overflow:ellipsis;"><strong style="font-weight: bold;color: black;">{{this.weightAnfme}} KG</strong></td>-->
+                </tr>
+                <tr style="height: 100px;text-align: left">
+                    <td align="center" colspan="2" rowspan="1" style="font-weight: bold;color: black; text-align: left; padding-left: 20px"><strong>杩借釜鐮侊細{{this.line}} {{this.packageNo$}}</strong></td>
+                    <!--                    <td align="center" colspan="1" style="font-weight: bold;color: black;overflow:hidden; white-space:nowrap; text-overflow:ellipsis;"><strong style="font-weight: bold;color: black;">{{this.weightAnfme}} KG</strong></td>-->
                     <td align="center" scope="col" colspan="2" rowspan="2">
                         <img class="template-code template-qrcode" src="{{this.barcodeUrl}}" width="80%">
                     </td>
                 </tr>
-                <tr style="height: 74px">
-                    <td align="center" colspan="1" style="font-weight: bold;color: black;"><strong style="font-weight: bold;color: black;">閲嶉噺</strong></td>
-                    <td align="center" colspan="1" style="font-weight: bold;color: black;overflow:hidden; white-space:nowrap; text-overflow:ellipsis;"><strong style="font-weight: bold;color: black;">{{this.weightAnfme}}</strong></td>
-                </tr>
-                <tr style="height: 74px">
-                    <td align="center" colspan="1" style="font-weight: bold;color: black;"><strong style="font-weight: bold;color: black;">鎵瑰彿</strong></td>
-                    <td align="center" colspan="1" style="font-weight: bold;color: black;overflow:hidden; white-space:nowrap; text-overflow:ellipsis;"><strong style="font-weight: bold;color: black;">{{this.batch}}</strong></td>
-                    <td align="center" colspan="1" style="font-weight: bold;color: black;"><strong style="font-weight: bold;color: black;">鍖呭彿</strong></td>
-                    <td align="center" colspan="1" style="font-weight: bold;color: black;overflow:hidden; white-space:nowrap; text-overflow:ellipsis;"><strong style="font-weight: bold;color: black;">{{this.packageNo}}</strong></td>
+                <tr style="height: 100px;text-align: left">
                 </tr>
             </table>
         </div>

--
Gitblit v1.9.1