From 16daa2a44e5fa705e671f5ff18631eb26ad70d40 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期日, 18 二月 2024 14:24:34 +0800
Subject: [PATCH] 库区管理bug修复

---
 src/main/java/com/zy/asrs/utils/PlaExcelListener.java |   87 +++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 83 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/asrs/utils/PlaExcelListener.java b/src/main/java/com/zy/asrs/utils/PlaExcelListener.java
index b44a089..c968f3a 100644
--- a/src/main/java/com/zy/asrs/utils/PlaExcelListener.java
+++ b/src/main/java/com/zy/asrs/utils/PlaExcelListener.java
@@ -5,8 +5,12 @@
 import com.core.common.Cools;
 import com.core.common.SpringUtils;
 import com.core.exception.CoolException;
+import com.zy.asrs.entity.Mat;
+import com.zy.asrs.entity.Node;
 import com.zy.asrs.entity.Pla;
 import com.zy.asrs.entity.param.GlobleParameter;
+import com.zy.asrs.service.MatService;
+import com.zy.asrs.service.NodeService;
 import com.zy.asrs.service.PlaService;
 import com.zy.common.entity.MatExcel;
 import com.zy.common.entity.PlaExcel;
@@ -23,6 +27,9 @@
  */
 @Slf4j
 public class PlaExcelListener extends AnalysisEventListener<PlaExcel> {
+
+    private static final String OWNER_HZ = "娴锋鐢熺墿";
+    private static final String OWNER_HNE = "娴疯灏�";
 
     private int total = 0;
     private Long userId;
@@ -54,6 +61,8 @@
     @Override
     public void invoke(PlaExcel excel, AnalysisContext ctx) {
         PlaService plaService = SpringUtils.getBean(PlaService.class);
+        NodeService nodeService = SpringUtils.getBean(NodeService.class);
+        MatService matService = SpringUtils.getBean(MatService.class);
         Date now = new Date();
 
         // 鍟嗗搧
@@ -65,23 +74,93 @@
             pla = excel;
             pla.setStep(2);
             pla.setCreateTime(new Date());
-            pla.setStatus(GlobleParameter.PLA_STATUS_0);
+            pla.setModifyTime(new Date());
+            pla.setStatus(GlobleParameter.PLA_STATUS_00);
+            pla.setStockFreeze(1);
+            pla.setWeightAnfme(pla.getWeight());
+            Mat mat = matService.selectByMaktx(pla.getBrand());
+            if(Cools.isEmpty(mat)){
+                throw new CoolException("鏃犳硶鎵惧埌瀵瑰簲鐨勭墝鍙蜂俊鎭紝鐗屽彿=" + pla.getBrand());
+            }
+            pla.setMatnr(mat.getMatnr());
+            try {
+                pla.setType(getType(mat.getMatnr()));
+                //杞﹂棿銆佷骇绾裤�佷富浣�
+                setPla(pla);
+            }catch (Exception e){
+                log.info(e.getMessage() + "Pla: " + pla.getBatch());
+                throw new CoolException(e.getMessage());
+            }
+
+            if(!Cools.isEmpty(pla.getLocNo())){
+                Node node = nodeService.selectByUuid(pla.getLocNo());
+                if(Cools.isEmpty(node)){
+                    throw new CoolException("鏈兘鎵惧埌鐩稿簲鐨勫簱浣嶄俊鎭紝搴撲綅缂栧彿=" +pla.getLocNo());
+                    //log.info("鏈兘鎵惧埌鐩稿簲鐨勫簱浣嶄俊鎭紝搴撲綅缂栧彿={}",pla.getLocNo());
+                }
+                pla.setStash(node.getParentName());
+                pla.setLocNo(node.getUuid());
+                pla.setStatus(GlobleParameter.PLA_STATUS_1);
+                pla.setPakinTime(new Date());
+            }
             if (!plaService.insert(pla)) {
                 throw new CoolException("淇濆瓨鍟嗗搧淇℃伅澶辫触锛屽晢鍝佺紪鐮侊細" + excel.getMatnr());
             }
             total++;
-        }else if (pla.getStatus().equals(GlobleParameter.PLA_STATUS_0)){
+        }else if (pla.getStatus().equals(GlobleParameter.PLA_STATUS_00)){
             excel.setId(pla.getId());
             excel.setCreateTime(pla.getCreateTime());
-            excel.setModifyTime(pla.getModifyTime());
+            excel.setModifyTime(new Date());
             excel.setStep(2);
-            excel.setStatus(GlobleParameter.PLA_STATUS_0);
+            excel.setStatus(GlobleParameter.PLA_STATUS_00);
             BeanUtils.copyProperties(excel,pla);
             plaService.updateById(pla);
             total++;
         }
     }
 
+    private String getType(String matnr){
+        String type = matnr.substring(0,3);
+        if(Cools.eq(type,"301")){
+            return "绾爲鑴�";
+        }
+        if (Cools.eq(type,"302")){
+            return "鏀规�ф爲鑴�";
+        }
+        if (Cools.eq(type,"303")){
+            return "鍓骇鐗�";
+        }
+        if (Cools.eq(type,"304")){
+            return "濮旀墭鍔犲伐浜у搧";
+        }
+        if (Cools.eq(type,"305")){
+            return "涓欎氦閰�";
+        }
+
+        return "";
+    }
+
+    private void setPla(Pla pla){
+        String batch = pla.getBatch();
+        String line = batch.substring(8,10);
+
+        pla.setLine(line);
+        if("绾爲鑴�".equals(pla.getType())){
+            if("01".equals(line) || "02".equals(line)){
+                pla.setOwner(OWNER_HZ);
+                pla.setWorkshop("涓�杞﹂棿");
+            }else {
+                pla.setOwner(OWNER_HNE);
+                pla.setWorkshop("涓夎溅闂�");
+            }
+        }else if ("鏀规�ф爲鑴�".equals(pla.getType())){
+            if ("01".equals(line) || "02".equals(line) || "03".equals(line) || "04".equals(line)){
+                pla.setOwner(OWNER_HNE);
+                pla.setWorkshop("浜岃溅闂�");
+            }
+        }
+    }
+
     /**
      * 鎵�鏈夋暟鎹В鏋愬畬鎴愪簡璋冪敤
      * 閫傚悎浜嬪姟

--
Gitblit v1.9.1