From 695b1ff891c617db7a03488d11e0ff0bc917b2c5 Mon Sep 17 00:00:00 2001
From: 18516761980 <tqsxp@163.com>
Date: 星期三, 15 二月 2023 14:31:46 +0800
Subject: [PATCH] Merge remote-tracking branch 'aliyun/lfdasrs' into lfdasrs

---
 src/main/java/com/zy/ints/entity/PrdtBak.java                  |   20 ++++++
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java    |   24 ++++++-
 src/main/java/com/zy/ints/entity/Prdt.java                     |   27 ++++++--
 src/main/resources/application.yml                             |    1 
 src/main/java/com/zy/ints/task/scheduler/ErpPrdtScheduler.java |   70 +++++++++++++++--------
 5 files changed, 106 insertions(+), 36 deletions(-)

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 fe07b72..c5b55e0 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -168,8 +168,13 @@
             }
         }
         if (!locDetlDtos.isEmpty()) {
-            // 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
-            stockOut(staNo, locDetlDtos, null, userId);
+            LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
+            if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") ){
+                // 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
+                stockOut(staNo, locDetlDtos, null, userId);
+            }else {
+                throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎銆丏鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$());
+            }
         } else {
             throw new CoolException("搴撳瓨涓嶅瓨鍦�");
         }
@@ -431,6 +436,9 @@
             if (Cools.isEmpty(locMast)) {
                 throw new CoolException(locNo+"搴撲綅涓嶅瓨鍦�");
             }
+            if (!locMast.getLocSts().equals("D")){
+                throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篋鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$());
+            }
             // 鑾峰彇婧愮珯
             Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
                     .eq("type_no", 110)
@@ -556,8 +564,13 @@
             }
         }
         if (!locDetlDtos.isEmpty()) {
-            // 鍚姩鍑哄簱寮�濮� 107.鐩樼偣鍑哄簱
-            stockOut(staNo, locDetlDtos, IoWorkType.CHECK_OUT, userId);
+            LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
+            if (locMast.getLocSts().equals("F")){
+                // 鍚姩鍑哄簱寮�濮� 107.鐩樼偣鍑哄簱
+                stockOut(staNo, locDetlDtos, IoWorkType.CHECK_OUT, userId);
+            }else {
+                throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$());
+            }
         } else {
             throw new CoolException("搴撲綅鐗╂枡涓嶅瓨鍦�");
         }
@@ -575,6 +588,9 @@
         if (Cools.isEmpty(loc)){
             throw new CoolException("鏈壘鍒板簱浣�");
         }
+        if (!loc.getLocSts().equals("O") || (!sourceLoc.getLocSts().equals("F") && !sourceLoc.getLocSts().equals("D"))){
+            throw new CoolException("搴撲綅鐘舵�佸凡鏀瑰彉");
+        }
         if (!sourceLoc.getCrnNo().equals(loc.getCrnNo())) {
             throw new CoolException("绉昏浆搴撲綅灞炰簬涓嶅悓鍫嗗灈鏈�");
         }
diff --git a/src/main/java/com/zy/ints/entity/Prdt.java b/src/main/java/com/zy/ints/entity/Prdt.java
index 6c3d851..46515f3 100644
--- a/src/main/java/com/zy/ints/entity/Prdt.java
+++ b/src/main/java/com/zy/ints/entity/Prdt.java
@@ -11,7 +11,7 @@
 import java.io.Serializable;
 
 @Data
-@TableName("PRDT")
+@TableName("ERP_PRDT")
 public class Prdt implements Serializable {
 
     private static final long serialVersionUID = 1L;
@@ -21,44 +21,57 @@
      */
     @ApiModelProperty(value = "鍝佸彿")
     @TableId(value = "prd_no", type = IdType.INPUT)
-    @TableField("PRD_NO")
+    @TableField("prd_no")
     private String prdNo;
 
     /**
      * 鍝佸悕
      */
     @ApiModelProperty(value = "鍝佸悕")
-    @TableField("NAME")
     private String name;
 
     /**
      * 鍗曚綅
      */
     @ApiModelProperty(value = "鍗曚綅")
-    @TableField("UT")
     private String ut;
 
     /**
      * 瑙勬牸
      */
     @ApiModelProperty(value = "瑙勬牸")
-    @TableField("SPC")
     private String spc;
 
     /**
      * 绫诲瀷
      */
     @ApiModelProperty(value = "绫诲瀷")
-    @TableField("TYPE")
     private Integer type;
 
     /**
      * 鐘舵��
      */
     @ApiModelProperty(value = "鐘舵��")
-    @TableField("STATUS")
     private Integer status;
 
+    /**
+     * 澶囩敤瀛楁1
+     */
+    @ApiModelProperty(value = "澶囩敤瀛楁1")
+    private String temp1;
+
+    /**
+     * 澶囩敤瀛楁2
+     */
+    @ApiModelProperty(value = "澶囩敤瀛楁2")
+    private String temp2;
+
+    /**
+     * 澶囩敤瀛楁3
+     */
+    @ApiModelProperty(value = "澶囩敤瀛楁3")
+    private String temp3;
+
     public Prdt() {
     }
 
diff --git a/src/main/java/com/zy/ints/entity/PrdtBak.java b/src/main/java/com/zy/ints/entity/PrdtBak.java
index 72cb63c..fc7228b 100644
--- a/src/main/java/com/zy/ints/entity/PrdtBak.java
+++ b/src/main/java/com/zy/ints/entity/PrdtBak.java
@@ -10,7 +10,7 @@
 import java.io.Serializable;
 
 @Data
-@TableName("erp_prdt_bak")
+@TableName("ERP_PRDT_BAK")
 public class PrdtBak implements Serializable {
 
     private static final long serialVersionUID = 1L;
@@ -53,6 +53,24 @@
     @ApiModelProperty(value = "鐘舵��")
     private Integer status;
 
+    /**
+     * 澶囩敤瀛楁1
+     */
+    @ApiModelProperty(value = "澶囩敤瀛楁1")
+    private String temp1;
+
+    /**
+     * 澶囩敤瀛楁2
+     */
+    @ApiModelProperty(value = "澶囩敤瀛楁2")
+    private String temp2;
+
+    /**
+     * 澶囩敤瀛楁3
+     */
+    @ApiModelProperty(value = "澶囩敤瀛楁3")
+    private String temp3;
+
     public PrdtBak() {
     }
 
diff --git a/src/main/java/com/zy/ints/task/scheduler/ErpPrdtScheduler.java b/src/main/java/com/zy/ints/task/scheduler/ErpPrdtScheduler.java
index 76402f3..fa38275 100644
--- a/src/main/java/com/zy/ints/task/scheduler/ErpPrdtScheduler.java
+++ b/src/main/java/com/zy/ints/task/scheduler/ErpPrdtScheduler.java
@@ -34,6 +34,8 @@
     private Boolean erpEnabled;
     @Value("${erp.useName.ip}")
     private String ip;
+    @Value("${erp.enabledErpPrdt}")
+    private Boolean enabledErpPrdt;
     @Autowired
     private ApiLogService apiLogService;
     @Autowired
@@ -48,10 +50,10 @@
      */
     @Scheduled(cron = "${erp.refreshtime}")
     public void obtainPedt() {
-        if (!erpEnabled) return;
-        String sqlSelectPrdt = "select PRD_NO as prdNo,NAME as name,UT as ut,SPC as spc from PRDT where 1=1";
-        String sqlUpDatePrdtOne = "update PRDT set STATUS=1 where PRD_NO=";
-        String sqlUpDatePrdtTwo = "update PRDT set STATUS=2 where PRD_NO=";
+        if (!enabledErpPrdt) return;
+        String sqlSelectPrdt = "select prd_no as prdNo,name,ut,spc,status,type,temp1 from ERP_PRDT where 1=1 and temp1 is null";
+        String sqlUpDatePrdtOne = "update ERP_PRDT set status=1 where prd_no=";
+        String sqlUpDatePrdtTwo = "update ERP_PRDT set status=2 ";
         try {
             Tag tag = tagService.selectByName("鍏ㄩ儴", 1);
 
@@ -76,14 +78,20 @@
                                 matNew.setUpdateTime(date);
                                 if (matService.insert(matNew)) {
                                     erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'");
-                                    callApiLogSave(prdt, "PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佹坊鍔犲晢鍝佷俊鎭垚鍔燂紒", true);
+                                    callApiLogSave(prdt, "ERP_PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佹坊鍔犲晢鍝佷俊鎭垚鍔燂紒", true);
                                 } else {
-                                    erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'");
-                                    callApiLogSave(prdt, "PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佹坊鍔犲晢鍝佷俊鎭け璐ワ紒锛侊紒", false);
+                                    if (Cools.isEmpty(prdt.getTemp1())){
+                                        erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='娣诲姞ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佺姸鎬佸紓甯革紒锛侊紒'"
+                                                + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'");
+                                        callApiLogSave(prdt, "ERP_PRDT", "娣诲姞ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佺姸鎬佸紓甯革紒锛侊紒", false);
+                                    }
                                 }
                             } else {
-                                erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'");
-                                callApiLogSave(prdt, "PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佸晢鍝佸凡瀛樺湪锛侊紒锛�", false);
+                                if (Cools.isEmpty(prdt.getTemp1())){
+                                    erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佸晢鍝佸凡瀛樺湪锛侊紒锛�'"
+                                            + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'");
+                                    callApiLogSave(prdt, "ERP_PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佸晢鍝佸凡瀛樺湪锛侊紒锛�", false);
+                                }
                             }
                         } else if (type == 2) {
                             Mat mat = matService.selectByMatnr(prdt.getPrdNo());
@@ -93,10 +101,13 @@
                                 mat.setSpecs(prdt.getSpc());
                                 if (matService.updateById(mat)) {
                                     erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'");
-                                    callApiLogSave(prdt, "PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佷慨鏀瑰晢鍝佷俊鎭垚鍔燂紒", true);
+                                    callApiLogSave(prdt, "ERP_PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佷慨鏀瑰晢鍝佷俊鎭垚鍔燂紒", true);
                                 } else {
-                                    erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'");
-                                    callApiLogSave(prdt, "PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佷慨鏀瑰晢鍝佷俊鎭け璐ワ紒锛侊紒", false);
+                                    if (Cools.isEmpty(prdt.getTemp1())){
+                                        erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佷慨鏀瑰晢鍝佷俊鎭け璐ワ紒锛侊紒'"
+                                                + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'");
+                                        callApiLogSave(prdt, "ERP_PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佷慨鏀瑰晢鍝佷俊鎭け璐ワ紒锛侊紒", false);
+                                    }
                                 }
                             }
                         } else if (type == 3) {
@@ -104,23 +115,30 @@
                             if (!Cools.isEmpty(mat)) {
                                 if (matService.deleteById(mat.getId())) {
                                     erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'");
-                                    callApiLogSave(prdt, "PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佸垹闄ゅ晢鍝佷俊鎭垚鍔燂紒", true);
+                                    callApiLogSave(prdt, "ERP_PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佸垹闄ゅ晢鍝佷俊鎭垚鍔燂紒", true);
                                 } else {
-                                    erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'");
-                                    callApiLogSave(prdt, "PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佸垹闄ゅ晢鍝佷俊鎭け璐ワ紒", false);
+                                    if (Cools.isEmpty(prdt.getTemp1())){
+                                        erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佸垹闄ゅ晢鍝佷俊鎭け璐ワ紒'"
+                                                + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'");
+                                        callApiLogSave(prdt, "ERP_PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佸垹闄ゅ晢鍝佷俊鎭け璐ワ紒", false);
+                                    }
                                 }
                             }
                         } else {
-                            callApiLogSave(prdt, "PRDT", "鍟嗗搧淇℃伅鍑虹幇寮傚父璧勬枡鏈鐞嗭紒", false);
+                            if (Cools.isEmpty(prdt.getTemp1()) && Cools.isEmpty(prdt.getTemp2()) && Cools.isEmpty(prdt.getTemp3())){
+                                erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛乼ype鐘舵�佸紓甯革紒锛侊紒'"
+                                        + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'");
+                                callApiLogSave(prdt, "ERP_PRDT", "鍟嗗搧淇℃伅鍑虹幇寮傚父璧勬枡鏈鐞嗭紒", false);
+                            }
                         }
                     } else if (prdt.getStatus() == 1) {
                         HashMap<String, Object> condition = new HashMap<>();
-                        condition.put("PRD_NO", "'" + prdt.getPrdNo() + "'");
-                        condition.put("NAME", "'" + prdt.getName() + "'");
-                        condition.put("UT", "'" + prdt.getUt() + "'");
-                        condition.put("SPC", "'" + prdt.getSpc() + "'");
-                        condition.put("TYPE", "'" + prdt.getType() + "'");
-                        condition.put("STATUS", "'" + prdt.getStatus() + "'");
+                        condition.put("prd_no", "'" + prdt.getPrdNo() + "'");
+                        condition.put("name", "'" + prdt.getName() + "'");
+                        condition.put("ut", "'" + prdt.getUt() + "'");
+                        condition.put("spc", "'" + prdt.getSpc() + "'");
+                        condition.put("type", "'" + prdt.getType() + "'");
+                        condition.put("status", "'" + prdt.getStatus() + "'");
                         erpSqlServer.insert(PrdtBak.class, condition);
 //                        callApiLogSave(prdt, "erp_prdt_bak", "ERP涓嬪彂鍟嗗搧淇℃伅澶囦唤鎴愬姛锛�", true);
 
@@ -129,13 +147,17 @@
                         erpSqlServer.delete(Prdt.class, condition2);
 //                        callApiLogSave(prdt, "erp_prdt", "ERP涓嬪彂鍟嗗搧淇℃伅澶囦唤鍚庡垹闄ゆ垚鍔燂紒", true);
                     } else {
-                        callApiLogSave(prdt, "PRDT", "鍟嗗搧淇℃伅鍑虹幇寮傚父璧勬枡鏈鐞嗭紒", false);
+                        if (Cools.isEmpty(prdt.getTemp1()) && Cools.isEmpty(prdt.getTemp2()) && Cools.isEmpty(prdt.getTemp3())){
+                            erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛乻tatus鐘舵�佸紓甯革紒锛侊紒'"
+                                    + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'");
+                            callApiLogSave(prdt, "ERP_PRDT", "鍟嗗搧淇℃伅鍑虹幇寮傚父璧勬枡鏈鐞嗭紒", false);
+                        }
                     }
                 }
             }
         } catch (Exception e) {
             Date date = new Date();
-            log.error(date + ": 琛ㄥ悕锛歅RDT :" + e);
+            log.error(date + ": 琛ㄥ悕锛欵RP_PRDT :" + e);
         }
     }
 
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index e63427b..306f252 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -54,6 +54,7 @@
   enabled: false
   enabledNew: false
   enabledErpDetTb: true
+  enabledErpPrdt: true
   #  enabled: false
   #鏌ョ湅ERP涓棿琛ㄩ棿闅�
   refreshtime: 0/5 * * * * ?

--
Gitblit v1.9.1