From 1b188bf36d999590af33cf4a7463fc5e1aa73757 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期三, 15 二月 2023 12:41:31 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/ints/task/scheduler/ErpPrdtScheduler.java |   71 ++++++++++++++++++++++++++++-------
 1 files changed, 56 insertions(+), 15 deletions(-)

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 5fe2939..fa38275 100644
--- a/src/main/java/com/zy/ints/task/scheduler/ErpPrdtScheduler.java
+++ b/src/main/java/com/zy/ints/task/scheduler/ErpPrdtScheduler.java
@@ -3,6 +3,7 @@
 import com.core.common.Cools;
 import com.zy.asrs.entity.Mat;
 import com.zy.asrs.entity.Tag;
+import com.zy.asrs.service.ApiLogService;
 import com.zy.asrs.service.MatService;
 import com.zy.asrs.service.TagService;
 import com.zy.ints.entity.Prdt;
@@ -31,6 +32,12 @@
      */
     @Value("${erp.enabled}")
     private Boolean erpEnabled;
+    @Value("${erp.useName.ip}")
+    private String ip;
+    @Value("${erp.enabledErpPrdt}")
+    private Boolean enabledErpPrdt;
+    @Autowired
+    private ApiLogService apiLogService;
     @Autowired
     private TagService tagService;
     @Autowired
@@ -43,10 +50,10 @@
      */
     @Scheduled(cron = "${erp.refreshtime}")
     public void obtainPedt() {
-        if (!erpEnabled) return;
-        String sqlSelectPrdt = "select prd_no as prdNo,name,ut,spc,type,status from erp_prdt where 1=1";
-        String sqlUpDatePrdtOne = "update erp_prdt set status=1 where prd_no=";
-        String sqlUpDatePrdtTwo = "update erp_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);
 
@@ -65,14 +72,25 @@
                                 matNew.setMaktx(prdt.getName());
                                 matNew.setUnit(prdt.getUt());
                                 matNew.setSpecs(prdt.getSpc());
-                                matNew.setCreateBy(9999L);
+                                matNew.setCreateBy(9999L);//9999琛ㄧずerp涓嬪彂
                                 matNew.setCreateTime(date);
-                                matNew.setUpdateBy(9999L);
+                                matNew.setUpdateBy(9999L);//9999琛ㄧずerp涓嬪彂
                                 matNew.setUpdateTime(date);
                                 if (matService.insert(matNew)) {
                                     erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'");
+                                    callApiLogSave(prdt, "ERP_PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佹坊鍔犲晢鍝佷俊鎭垚鍔燂紒", true);
                                 } else {
-                                    erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'");
+                                    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 (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) {
@@ -83,8 +101,13 @@
                                 mat.setSpecs(prdt.getSpc());
                                 if (matService.updateById(mat)) {
                                     erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'");
+                                    callApiLogSave(prdt, "ERP_PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佷慨鏀瑰晢鍝佷俊鎭垚鍔燂紒", true);
                                 } else {
-                                    erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'");
+                                    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) {
@@ -92,12 +115,21 @@
                             if (!Cools.isEmpty(mat)) {
                                 if (matService.deleteById(mat.getId())) {
                                     erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'");
+                                    callApiLogSave(prdt, "ERP_PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佸垹闄ゅ晢鍝佷俊鎭垚鍔燂紒", true);
                                 } else {
-                                    erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'");
+                                    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 (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<>();
@@ -108,21 +140,30 @@
                         condition.put("type", "'" + prdt.getType() + "'");
                         condition.put("status", "'" + prdt.getStatus() + "'");
                         erpSqlServer.insert(PrdtBak.class, condition);
+//                        callApiLogSave(prdt, "erp_prdt_bak", "ERP涓嬪彂鍟嗗搧淇℃伅澶囦唤鎴愬姛锛�", true);
 
                         HashMap<String, String> condition2 = new HashMap<>();
                         condition2.put("prd_no", "'" + prdt.getPrdNo() + "'");
                         erpSqlServer.delete(Prdt.class, condition2);
-                    } else if (prdt.getStatus() == 2) {
-
+//                        callApiLogSave(prdt, "erp_prdt", "ERP涓嬪彂鍟嗗搧淇℃伅澶囦唤鍚庡垹闄ゆ垚鍔燂紒", true);
                     } else {
-
+                        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 + ": 琛ㄥ悕锛欵RP_PRDT :" + e);
         }
+    }
 
+    public void callApiLogSave(Prdt prdt, String tableName, String response, Boolean bool) {
+        apiLogService.save("ERP涓嬪彂鍟嗗搧淇℃伅", tableName, "null", ip,
+                "鍝佸彿锛�" + prdt.getPrdNo() + "銆佸搧鍚嶏細" + prdt.getName() + "銆佺被鍨嬶細" + prdt.getType() + "銆佺姸鎬侊細" + prdt.getStatus$(),
+                response, bool);
     }
 }

--
Gitblit v1.9.1