From a3610b6d28f4ed956b7183effa79997e4923a820 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期二, 25 七月 2023 17:48:08 +0800
Subject: [PATCH] #自动补空板任务 条码上报中控实装

---
 src/main/java/com/zy/asrs/task/handler/BarcodeUploadHandler.java |  119 +++++++++++++++++++++++++++++++++++++++
 src/main/resources/application.yml                               |   11 +++
 src/main/java/com/zy/asrs/task/BarcodeUploadScheduler.java       |   30 ++++++++++
 3 files changed, 159 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/BarcodeUploadScheduler.java b/src/main/java/com/zy/asrs/task/BarcodeUploadScheduler.java
new file mode 100644
index 0000000..f0d4c9b
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/BarcodeUploadScheduler.java
@@ -0,0 +1,30 @@
+package com.zy.asrs.task;
+
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.task.handler.BarcodeUploadHandler;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+/**
+ * Created by Monkey D. Luffy on 2023.07.25
+ * 寰愬伐姹変簯..............浠ヤ笅.............涓婇ザ姹熼摐.............鑷姩琛ョ┖鏉�
+ */
+@Component
+public class BarcodeUploadScheduler {
+
+    @Autowired
+    private BarcodeUploadHandler barcodeUploadHandler;
+
+    @Scheduled(cron = "0/3 * * * * ? ")
+    private void execute(){
+        int[] staNos =new int[]{216,220};
+        for (int staNo : staNos){
+            ReturnT<String> result = barcodeUploadHandler.start(staNo);
+            if (result.getCode()==200){
+                break;
+            }
+        }
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/task/handler/BarcodeUploadHandler.java b/src/main/java/com/zy/asrs/task/handler/BarcodeUploadHandler.java
new file mode 100644
index 0000000..4a60c5c
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/handler/BarcodeUploadHandler.java
@@ -0,0 +1,119 @@
+package com.zy.asrs.task.handler;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.core.common.Cools;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.*;
+import com.zy.asrs.service.*;
+import com.zy.asrs.task.AbstractHandler;
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.common.model.enums.WorkNoType;
+import com.zy.common.service.CommonService;
+import com.zy.common.utils.HttpHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Created by Monkey D. Luffy on 2023.07.25
+ * 寰愬伐姹変簯..............浠ヤ笅.............涓婇ザ姹熼摐.............鑷姩琛ョ┖鏉�
+ */
+@Slf4j
+@Service
+@Transactional
+public class BarcodeUploadHandler extends AbstractHandler<String> {
+
+    @Autowired
+    private WrkMastService wrkMastService;
+    @Autowired
+    private LocMastService locMastService;
+    @Autowired
+    private CommonService commonService;
+    @Autowired
+    private StaDescService staDescService;
+    @Autowired
+    private ApiLogService apiLogService;
+    @Autowired
+    private BasDevpService basDevpService;
+
+    @Value("${srXghyErp.url}")
+    private String erpUrl;
+    @Value("${srXghyErp.barcodeUploadPath}")
+    private String barcodeUploadpath;
+
+    public ReturnT<String> start(int staNo) {
+        try {
+            BasDevp basDevp = basDevpService.selectById(staNo);
+            if (!Cools.isEmpty(basDevp) && basDevp.getWrkNo()!=0){
+                WrkMast wrkMast = wrkMastService.selectById(basDevp.getWrkNo());
+                if (!Cools.isEmpty(wrkMast) && wrkMast.getIoType().equals(201) && wrkMast.getWrkSts().equals(41L)){
+                    ReturnT<String> result = null;
+                    result = postMesData(barcodeUploadpath,wrkMast);
+                    System.out.println(result);
+                    if (result.getCode()==200){
+                        wrkMast.setWrkSts(42L);
+                        // 淇敼璁㈠崟鐘舵�� 41. ===>> 42.宸蹭笂鎶�
+                        if (!wrkMastService.updateById(wrkMast)) {
+                            throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳:鏇存柊宸ヤ綔鍙�"+wrkMast.getWrkNo()+"宸ヤ綔妗g姸鎬�41==銆�42澶辫触");
+                        }else {
+                            return SUCCESS;
+                        }
+                    }
+                }
+            }
+        }catch (Exception e){
+            log.error("寮傚父锛侊紒锛�"+e);
+            return FAIL;
+        }
+        return FAIL;
+    }
+
+    private ReturnT<String> postMesData(String erpPath,Object combParam){
+        if(combParam != null){
+            String response = "";
+            boolean success = false;
+            try {
+                response = new HttpHandler.Builder()
+                        .setUri(erpUrl)
+                        .setPath(erpPath)
+                        .setJson(JSON.toJSONString(combParam))
+                        .build()
+                        .doPost();
+                JSONObject jsonObject = JSON.parseObject(response);
+                if (jsonObject.getString("result").equals("Y")) {
+                    success = true;
+                } else {
+                    log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}"+erpUrl+erpPath, JSON.toJSONString(combParam), response);
+                    throw new CoolException("涓婃姤erp绯荤粺澶辫触");
+                }
+            } catch (Exception e) {
+                log.error("fail", e);
+//                      TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return FAIL.setMsg(e.getMessage());
+            } finally {
+                try {
+                    // 淇濆瓨鎺ュ彛鏃ュ織
+                    apiLogService.save(
+                            "涓婃姤erp绯荤粺",
+                            erpUrl + erpPath,
+                            null,
+                            "127.0.0.1",
+                            JSON.toJSONString(combParam),
+                            response,
+                            success
+                    );
+                } catch (Exception e) { log.error("", e); }
+            }
+        }
+        return SUCCESS;
+    }
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 4d6a72e..9e1cebf 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -56,4 +56,13 @@
 
 
 comb:
-  limit: 5000
\ No newline at end of file
+  limit: 5000
+
+srXghyErp:
+  url: 192.168.101.250:1082
+  # 鐮佸灈浣嶆潯鐮佷笂鎶�
+  barcodeUploadPath: EosServer/PluginGateway.ashx?pluginid=DataIOHttp&func=senddata&userno=ASRS&sign=5DD885999945BA2F3DC9A61F1B857DB3&dataname=cprkwc
+  # 鍏ュ簱涓婃姤
+  inPath: EosServer/PluginGateway.ashx?pluginid=DataIOHttp&func=senddata&userno=ASRS&sign=5DD885999945BA2F3DC9A61F1B857DB3&dataname=cprkwc
+  # 鍑哄簱涓婃姤
+  outPath: EosServer/PluginGateway.ashx?pluginid=DataIOHttp&func=senddata&userno=ASRS&sign=5DD885999945BA2F3DC9A61F1B857DB3&dataname=cpckwc
\ No newline at end of file

--
Gitblit v1.9.1