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 |  183 ++++++++++++++++++++++++++++-----------------
 1 files changed, 115 insertions(+), 68 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 3ac1b0c..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,9 +3,11 @@
 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;
+import com.zy.ints.entity.PrdtBak;
 import com.zy.ints.erp.ErpSqlServer;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -30,93 +32,138 @@
      */
     @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
     private ErpSqlServer erpSqlServer;
     @Autowired
     private MatService matService;
+
     /**
      * 鑾峰彇鍟嗗搧淇℃伅琛ㄨ祫鏂�
      */
     @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=";
-        Tag tag = tagService.selectByName("鍏ㄩ儴", 1);
+        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);
 
-        List<Prdt> prdts = erpSqlServer.select(sqlSelectPrdt,Prdt.class);
-        if (prdts.size() > 0){
-            for (Prdt prdt : prdts) {
-                Date date = new Date();
-                if (prdt.getStatus()==0) {
-                    Integer type = prdt.getType();
-                    if (type==1){
-                        Mat mat = matService.selectByMatnr(prdt.getPrdNo());
-                        if (Cools.isEmpty(mat)){
-                            Mat matNew = new Mat();
-                            matNew.setTagId(tag.getId());
-                            matNew.setMatnr(prdt.getPrdNo());
-                            matNew.setMaktx(prdt.getName());
-                            matNew.setUnit(prdt.getUt());
-                            matNew.setSpecs(prdt.getSpc());
-                            matNew.setCreateBy(9999L);
-                            matNew.setCreateTime(date);
-                            matNew.setUpdateBy(9999L);
-                            matNew.setUpdateTime(date);
-                            if (matService.insert(matNew)){
-                                erpSqlServer.update(sqlUpDatePrdtOne+"'" + prdt.getPrdNo() + "'");
-                            }else {
-                                erpSqlServer.update(sqlUpDatePrdtTwo+"'" + prdt.getPrdNo() + "'");
+            List<Prdt> prdts = erpSqlServer.select(sqlSelectPrdt, Prdt.class);
+            if (prdts.size() > 0) {
+                for (Prdt prdt : prdts) {
+                    Date date = new Date();
+                    if (prdt.getStatus() == 0) {
+                        Integer type = prdt.getType();
+                        if (type == 1) {
+                            Mat mat = matService.selectByMatnr(prdt.getPrdNo());
+                            if (Cools.isEmpty(mat)) {
+                                Mat matNew = new Mat();
+                                matNew.setTagId(tag.getId());
+                                matNew.setMatnr(prdt.getPrdNo());
+                                matNew.setMaktx(prdt.getName());
+                                matNew.setUnit(prdt.getUt());
+                                matNew.setSpecs(prdt.getSpc());
+                                matNew.setCreateBy(9999L);//9999琛ㄧずerp涓嬪彂
+                                matNew.setCreateTime(date);
+                                matNew.setUpdateBy(9999L);//9999琛ㄧずerp涓嬪彂
+                                matNew.setUpdateTime(date);
+                                if (matService.insert(matNew)) {
+                                    erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'");
+                                    callApiLogSave(prdt, "ERP_PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佹坊鍔犲晢鍝佷俊鎭垚鍔燂紒", true);
+                                } 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 (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());
+                            if (!Cools.isEmpty(mat)) {
+                                mat.setMaktx(prdt.getName());
+                                mat.setUnit(prdt.getUt());
+                                mat.setSpecs(prdt.getSpc());
+                                if (matService.updateById(mat)) {
+                                    erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'");
+                                    callApiLogSave(prdt, "ERP_PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佷慨鏀瑰晢鍝佷俊鎭垚鍔燂紒", true);
+                                } 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 == 3) {
+                            Mat mat = matService.selectByMatnr(prdt.getPrdNo());
+                            if (!Cools.isEmpty(mat)) {
+                                if (matService.deleteById(mat.getId())) {
+                                    erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'");
+                                    callApiLogSave(prdt, "ERP_PRDT", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佸垹闄ゅ晢鍝佷俊鎭垚鍔燂紒", true);
+                                } 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 (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 (type==2){
-                        Mat mat = matService.selectByMatnr(prdt.getPrdNo());
-                        if (!Cools.isEmpty(mat)){
-                            mat.setMaktx(prdt.getName());
-                            mat.setUnit(prdt.getUt());
-                            mat.setSpecs(prdt.getSpc());
-                            if (matService.updateById(mat)){
-                                erpSqlServer.update(sqlUpDatePrdtOne+"'" + prdt.getPrdNo() + "'");
-                            }else {
-                                erpSqlServer.update(sqlUpDatePrdtTwo+"'" + prdt.getPrdNo() + "'");
-                            }
-                        }
-                    }else if (type==3){
-                        Mat mat = matService.selectByMatnr(prdt.getPrdNo());
-                        if (!Cools.isEmpty(mat)){
-                            if (matService.deleteById(mat.getId())){
-                                erpSqlServer.update(sqlUpDatePrdtOne+"'" + prdt.getPrdNo() + "'");
-                            }else {
-                                erpSqlServer.update(sqlUpDatePrdtTwo+"'" + prdt.getPrdNo() + "'");
-                            }
-                        }
-                    }else {
+                    } 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() + "'");
+                        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);
+//                        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);
+                        }
                     }
-                }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() + "'");
-//                    erpSqlServer.insert(Prdt.class, condition);
-//
-//                    HashMap<String, String> condition2 = new HashMap<>();
-//                    condition2.put("prd_no","'" + prdt.getPrdNo() + "'");
-//                    erpSqlServer.delete(Prdt.class,condition2);
-                }else if (prdt.getStatus()==2){
-
-                }else {
-
                 }
-
             }
+        } 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