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