From 2553ff09b3dc2523d6d8e19762a0aea1eafd73af Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期五, 07 三月 2025 17:01:46 +0800
Subject: [PATCH] 初始化立福德wcs
---
src/main/java/com/zy/asrs/task/TaskLogScheduler.java | 62 +-------
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 53 ++++++
src/main/java/com/zy/asrs/controller/TaskWrkController.java | 5
src/main/resources/mapper/TaskWrkMapper.xml | 2
src/main/java/com/zy/asrs/task/AutoReportStartHandler.java | 4
src/main/java/com/zy/asrs/task/TaskMastScheduler.java | 142 ++++++++++++++++++++
src/main/java/com/zy/asrs/task/RepositionLED.java | 132 ++++++++++++++++++
7 files changed, 341 insertions(+), 59 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/TaskWrkController.java b/src/main/java/com/zy/asrs/controller/TaskWrkController.java
index b891f3b..c58963d 100644
--- a/src/main/java/com/zy/asrs/controller/TaskWrkController.java
+++ b/src/main/java/com/zy/asrs/controller/TaskWrkController.java
@@ -360,8 +360,11 @@
return R.error("娌℃湁鎵惧埌璇ヤ换鍔�={"+notifyDto+"}");
}
Date now = new Date();
+ if(notifyDto.getMsgType().equals("task_complete")){
+
+ }
if(notifyDto.getMsgType().equals("task_complete")&&taskWrk.getIoType()==3){
- taskWrk.setWrkSts(9);//鏇存柊鏁版嵁瀹屾垚锛岀洿鎺ヨ浆鍘嗗彶妗�
+ taskWrk.setWrkSts(8);//鏇存柊鏁版嵁瀹屾垚锛岀洿鎺ヨ浆鍘嗗彶妗�
//鏇存柊婧愬簱浣嶇姸鎬佷负绌哄簱浣�
LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 58df8a5..e6eb109 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -233,6 +233,7 @@
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("TaskNo", taskWrk.getTaskNo());
+ Boolean bool = false;
try {
//寮�濮嬩笂鎶�,浠诲姟寮�濮嬫椂锛學CS鍥炶皟WMS
response = new HttpHandler.Builder()
@@ -242,10 +243,14 @@
.build()
.doPost();
JSONObject jsonObject1 = JSON.parseObject(response);
- Boolean bool = false;
+
if (jsonObject1.get("ReturnStatus").equals(0)) {
bool = true;
}
+
+ } catch (Exception e) {
+
+ }finally {
apiLogService.save("wcs寮�濮嬪叆搴撲换鍔′笂鎶ms"
, wmsUrl + TaskExecCallback
, null
@@ -254,8 +259,6 @@
, response
, bool
);
- } catch (Exception e) {
-
}
}
} else {
@@ -355,7 +358,7 @@
if (offer) {
log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(taskWrk));
taskWrk.setStatus(5);
- taskWrk.setWrkSts(14);
+ taskWrk.setWrkSts(16);
taskWrkService.updateById(taskWrk);
} else {
@@ -441,7 +444,7 @@
if(jsonObject.get("code").equals(200)){
bool = true;
- taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//娲惧彂鐘舵��
+// taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//娲惧彂鐘舵��
taskWrk.setAssignTime(new Date());//娲惧彂鏃堕棿
taskWrk.setWrkSts(3);//宸ヤ綔鐘舵�� 3.鎴愬姛涓嬪彂鍏ュ簱浠诲姟缁橰CS
taskWrk.setCrnNo(staDesc.getCrnNo());//鍫嗗灈鏈哄彿
@@ -518,6 +521,46 @@
break;
}
+ String mbz=taskWrk.getTargetPoint().substring(5);
+
+ HashMap<String, Object> hashMap = new HashMap<>();
+ hashMap.put("taskNo",taskWrk.getTaskNo());//wms浠诲姟鍙�
+ hashMap.put("sourceStaNo",staDetl.getDevNo());//婧愮珯鐐�
+ hashMap.put("staNo",Integer.parseInt(mbz)+"");//鐩爣绔�
+ hashMap.put("locNo",taskWrk.getTargetPoint());//鐩爣搴撲綅
+ String response = "";
+ Boolean bool = false;
+ try {
+ //寮�濮嬩笂鎶�,鍑哄簱浠诲姟寮�濮嬫椂锛學CS鍥炶皟WMS
+ response = new HttpHandler.Builder()
+ .setUri(wcsUrl)
+ .setPath(wcsInboundTaskApplyPath)
+ .setJson(JSON.toJSONString(hashMap))
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+
+ if(jsonObject.get("code").equals(200)){
+ bool = true;
+// taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//娲惧彂鐘舵��
+ taskWrk.setAssignTime(new Date());//娲惧彂鏃堕棿
+ taskWrk.setWrkSts(3);//宸ヤ綔鐘舵�� 3.鎴愬姛涓嬪彂鍏ュ簱浠诲姟缁橰CS
+ taskWrk.setCrnNo(staDesc.getCrnNo());//鍫嗗灈鏈哄彿
+ taskWrk.setModiTime(new Date());
+ taskWrk.setModiUser(9988L);
+ }
+ } catch (Exception e) {
+ }finally {
+ apiLogService.save("wcs娲惧彂鍑哄簱浠诲姟缁橰CS"
+ , wcsUrl + wcsInboundTaskApplyPath
+ , null
+ , "127.0.0.1"
+ , JSON.toJSONString(hashMap)
+ , response
+ , bool
+ );
+ }
+
try {
// 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
Date now = new Date();
diff --git a/src/main/java/com/zy/asrs/task/autoReportStartHandler.java b/src/main/java/com/zy/asrs/task/AutoReportStartHandler.java
similarity index 97%
rename from src/main/java/com/zy/asrs/task/autoReportStartHandler.java
rename to src/main/java/com/zy/asrs/task/AutoReportStartHandler.java
index aebe864..da82e80 100644
--- a/src/main/java/com/zy/asrs/task/autoReportStartHandler.java
+++ b/src/main/java/com/zy/asrs/task/AutoReportStartHandler.java
@@ -29,7 +29,7 @@
@Slf4j
@Component
-public class autoReportStartHandler {
+public class AutoReportStartHandler {
@Autowired
private SlaveProperties slaveProperties;
@@ -85,7 +85,7 @@
*/
@Scheduled(cron = "0/3 * * * * ? ")
public void execute() throws IOException {
- List<TaskWrk> taskWrks=taskWrkService.selectList(new EntityWrapper<TaskWrk>().eq("status",1).in("wrk_sts",12,3));
+ List<TaskWrk> taskWrks=taskWrkService.selectList(new EntityWrapper<TaskWrk>().eq("status",1).in("wrk_sts",12,13,14,15,16,17,18,3,4,5,6,7,8));
if(taskWrks.size()>0){
for(TaskWrk taskWrk:taskWrks){
if(Cools.isEmpty(taskWrk.getMarkStart())||taskWrk.getMarkStart()==0){
diff --git a/src/main/java/com/zy/asrs/task/RepositionLED.java b/src/main/java/com/zy/asrs/task/RepositionLED.java
new file mode 100644
index 0000000..793586e
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/RepositionLED.java
@@ -0,0 +1,132 @@
+package com.zy.asrs.task;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.zy.asrs.controller.CrnController;
+import com.zy.asrs.controller.SiteController;
+import com.zy.asrs.entity.BasDevp;
+import com.zy.asrs.entity.LocMast;
+import com.zy.asrs.entity.TaskWrk;
+import com.zy.asrs.mapper.BasCrnErrorMapper;
+import com.zy.asrs.mapper.StaDescMapper;
+import com.zy.asrs.mapper.TaskWrkMapper;
+import com.zy.asrs.mapper.WrkMastMapper;
+import com.zy.asrs.service.*;
+import com.zy.asrs.service.impl.OpenServiceImpl;
+import com.zy.common.service.CommonService;
+import com.zy.common.utils.HttpHandler;
+import com.zy.core.properties.SlaveProperties;
+import com.zy.system.service.ConfigService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+
+@Slf4j
+@Component
+public class RepositionLED {
+ @Autowired
+ private SlaveProperties slaveProperties;
+ @Autowired
+ private WrkMastMapper wrkMastMapper;
+ @Autowired
+ private LocMastService locMastService;
+ @Autowired
+ private BasCrnpService basCrnpService;
+ @Autowired
+ private BasDevpService basDevpService;
+ @Autowired
+ private BasErrLogService basErrLogService;
+ @Autowired
+ private BasCrnErrorMapper basCrnErrorMapper;
+ @Autowired
+ private TaskWrkMapper taskWrkMapper;
+ @Autowired
+ private TaskWrkService taskWrkService;
+ @Autowired
+ private ConfigService configService;
+ @Autowired
+ private StaDescMapper staDescMapper;
+ @Autowired
+ private CommandInfoService commandInfoService;
+
+ @Autowired
+ private OpenServiceImpl openServiceImpl;
+ @Autowired
+ private StaDescService staDescService;
+
+ @Autowired
+ private ApiLogService apiLogService;
+ @Autowired
+ private CommonService commonService;
+
+ @Value("${wms.url}")
+ private String wmsUrl;
+ @Value("${wms.inboundTaskApplyPath}")
+ private String inboundTaskApplyPath;
+ @Value("${wms.TaskExecCallback}")
+ private String TaskExecCallback;
+ @Value("${wms.taskStatusFeedbackPath}")
+ private String taskStatusFeedbackPath;
+ @Autowired
+ private CrnController crnController;
+ @Autowired
+ private SiteController siteController;
+ /**
+ * 璐х墿鎼---鍑哄簱澶嶄綅鐢佃鏈�
+ * 涓婃姤WMS璐х墿鎼
+ * @throws IOException
+ */
+ @Scheduled(cron = "0/3 * * * * ? ")
+ public void execute() throws IOException {
+ List<TaskWrk> taskWrks=taskWrkService.selectList(new EntityWrapper<TaskWrk>().eq("wrk_sts",17));
+ for(TaskWrk taskWrk:taskWrks){
+ List<BasDevp> basDevps=basDevpService.selectList(new EntityWrapper<BasDevp>().eq("wrk_no",taskWrk.getWrkNo()));
+ if(basDevps.size()>0){
+ continue;
+ }
+ HashMap<String,Object> headParam=new HashMap<>();
+ String response = "";
+ Boolean bool = false;
+ try {
+ headParam.put("Result", 10);//璐х墿鎼---鍑哄簱澶嶄綅鐢佃鏈�
+ headParam.put("TaskNo", taskWrk.getTaskNo());
+ log.info("WCS浠诲姟涓婃姤WMS璐х墿鎼={}", taskWrk);
+ response = new HttpHandler.Builder()
+ // .setHeaders(headParam)
+ .setUri(wmsUrl)
+ .setPath(TaskExecCallback)
+ .setJson(JSON.toJSONString(headParam))
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+ Date date=new Date();
+ if(jsonObject.get("ReturnStatus").equals(0)){
+ taskWrk.setWrkSts(18);//18.鍑哄簱瀹屾垚-涓婃姤WMS璐х墿鎼
+ taskWrk.setModiTime(date);
+ taskWrkMapper.updateById(taskWrk);
+ bool = true;
+ }
+ } catch (Exception e) {
+ log.error("WCS浠诲姟涓婃姤WMS璐х墿鎼={},杩斿洖鍊�={}", taskWrk, response);
+ } finally {
+ apiLogService.save("WCS浠诲姟涓婃姤WMS璐х墿鎼"
+ , wmsUrl + TaskExecCallback
+ , null
+ , "127.0.0.1"
+ , JSON.toJSONString(headParam)
+ , response
+ , bool
+ );
+ }
+ }
+
+ }
+}
diff --git a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
index f780841..c3c5024 100644
--- a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
+++ b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
@@ -58,66 +58,28 @@
@Value("${wms.taskStatusFeedbackPath}")
private String taskStatusFeedbackPath;
+ /**
+ * 鍏ュ嚭搴撲换鍔¤浆鍘嗗彶妗�
+ * @throws IOException
+ */
@Scheduled(cron = "0/3 * * * * ? ")
public void execute() throws IOException {
-
- //鍏ュ簱9杞巻鍙叉。
- List<TaskWrk> taskWrkList = taskWrkService.selectList(new EntityWrapper<TaskWrk>().eq("wrk_sts", 9));
+ //鍏ュ簱7杞巻鍙叉。,绉诲簱7杞巻鍙叉。,鍑哄簱18杞�
+ List<TaskWrk> taskWrkList = taskWrkService.selectList(new EntityWrapper<TaskWrk>().in("wrk_sts", 7,18));
for (TaskWrk taskWrk : taskWrkList) {
TaskWrkLog taskWrkLog = new TaskWrkLog(taskWrk);
+ if(taskWrkLog.getIoType().equals(2)){
+ taskWrkLog.setWrkSts(19);
+ }else{
+ taskWrkLog.setWrkSts(8);
+ }
+ taskWrkLog.setModiTime(new Date());
if (!wrkLogService.insert(taskWrkLog)) {
throw new CoolException("杞巻鍙叉。澶辫触" + taskWrkLog);
}
if (!taskWrkService.deleteById(taskWrk)) {
throw new CoolException("浠诲姟妗e垹闄ゅけ璐�" + taskWrkLog);
}
-
}
-
-// for (TaskWrk taskWrk : taskWrkService.selectToBeHistoryData()) {
-// HashMap<String, Object> headParam = new HashMap<>();
-// if (taskWrk.getStatus().equals(TaskStatusType.OVER.id) || taskWrk.getStatus() == 7) {//瀹屾垚
-// headParam.put("Result", 1);
-// } else if (taskWrk.getStatus().equals(TaskStatusType.CANCEL.id)) {
-// headParam.put("Result", 2);
-// }
-// String response = "";
-// Boolean bool = false;
-// try {
-// headParam.put("TaskNo", taskWrk.getTaskNo());
-// log.info("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms={}", taskWrk);
-// response = new HttpHandler.Builder()
-// // .setHeaders(headParam)
-// .setUri(wmsUrl)
-// .setPath(TaskExecCallback)
-// .setJson(JSON.toJSONString(headParam))
-// .build()
-// .doPost();
-// JSONObject jsonObject = JSON.parseObject(response);
-// TaskWrkLog taskWrkLog = new TaskWrkLog(taskWrk);
-// if(jsonObject.get("ReturnStatus").equals(0)){
-// taskWrkLog.setWrkSts(8);
-// if (!wrkLogService.insert(taskWrkLog)) {
-// throw new CoolException("杞巻鍙叉。澶辫触" + taskWrkLog);
-// }
-// if (!taskWrkService.deleteById(taskWrk)) {
-// throw new CoolException("浠诲姟妗e垹闄ゅけ璐�" + taskWrkLog);
-// }
-// bool = true;
-// }
-// } catch (Exception e) {
-// log.error("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms澶辫触{},杩斿洖鍊�={}", taskWrk, response);
-// } finally {
-// apiLogService.save("wcs瀹屾垚鎴栬�呭彇娑堜换鍔′笂鎶ms"
-// , wmsUrl + TaskExecCallback
-// , null
-// , "127.0.0.1"
-// , JSON.toJSONString(headParam)
-// , response
-// , bool
-// );
-// }
-// }
}
-
}
diff --git a/src/main/java/com/zy/asrs/task/TaskMastScheduler.java b/src/main/java/com/zy/asrs/task/TaskMastScheduler.java
new file mode 100644
index 0000000..6dae896
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/TaskMastScheduler.java
@@ -0,0 +1,142 @@
+package com.zy.asrs.task;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.core.exception.CoolException;
+import com.zy.asrs.domain.enums.TaskStatusType;
+import com.zy.asrs.entity.LocMast;
+import com.zy.asrs.entity.TaskWrk;
+import com.zy.asrs.entity.TaskWrkLog;
+import com.zy.asrs.service.*;
+import com.zy.asrs.service.impl.TaskWrkLogServiceImpl;
+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.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+import java.util.Date;
+import java.util.HashMap;
+
+/**
+ * 瀹氭椂灏嗗畬鎴愪换鍔′笂鎶ョ粰wms
+ */
+@Slf4j
+@Component
+public class TaskMastScheduler {
+ @Autowired
+ private TaskWrkService taskWrkService;
+ @Autowired
+ private CommandInfoService commandInfoService;
+ @Autowired
+ private ApiLogService apiLogService;
+ @Autowired
+ private BasDevpService basDevpService;
+
+ @Autowired
+ private StaDescService staDescService;
+ @Autowired
+ private LocMastService locMastService;
+ @Autowired
+ private TaskWrkLogServiceImpl wrkLogService;
+
+ @Value("${wms.url}")
+ private String wmsUrl;
+ @Value("${wms.movePath}")
+ private String movePath;
+ @Value("${wms.inboundTaskApplyPath}")
+ private String inboundTaskApplyPath;
+ @Value("${wms.TaskExecCallback}")
+ private String TaskExecCallback;
+ @Value("${wms.taskStatusFeedbackPath}")
+ private String taskStatusFeedbackPath;
+
+ /**
+ * 瀹氭椂灏嗗畬鎴愪换鍔′笂鎶ョ粰wms
+ * 鍑哄簱鍒扮洰鏍囩珯鐐�
+ */
+ @Scheduled(cron = "0/3 * * * * ? ")
+ public void execute() throws IOException {
+ for (TaskWrk taskWrk : taskWrkService.selectToBeHistoryData()) {
+ HashMap<String, Object> headParam = new HashMap<>();
+ String s="";//鏃ュ織鏍囪瘑
+ if (taskWrk.getWrkSts() == 6) {//鍏ュ簱瀹屾垚
+ headParam.put("Result", 1);
+ s="鍏ュ簱瀹屾垚";
+ taskWrk.setWrkSts(7);//鍏ュ簱浠诲姟杞巻鍙叉。7--銆�8
+ } else if (taskWrk.getWrkSts() == 16) {//鍑哄簱瀹屾垚-寰呮惉绂�
+ headParam.put("Result", 1);
+ s="鍑哄簱瀹屾垚-寰呮惉绂�";
+ taskWrk.setWrkSts(17);//鍑哄簱浠诲姟16--銆�17
+ } else if (taskWrk.getWrkSts().equals(30)) {//鍙栨秷
+ s="鍙栨秷";
+ headParam.put("Result", 2);
+ taskWrk.setWrkSts(31);//鍙栨秷浠诲姟30--銆�31
+ }
+ String response = "";
+ Boolean bool = false;
+ try {
+ headParam.put("TaskNo", taskWrk.getTaskNo());
+ log.info("wcs"+s+"浠诲姟涓婃姤wms={}", taskWrk);
+ response = new HttpHandler.Builder()
+ // .setHeaders(headParam)
+ .setUri(wmsUrl)
+ .setPath(TaskExecCallback)
+ .setJson(JSON.toJSONString(headParam))
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+ Date date=new Date();
+ if(jsonObject.get("ReturnStatus").equals(0)){
+ if(taskWrk.getIoType().equals(1)){//鍏ュ簱
+ LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());//鐩爣搴撲綅
+ if(locMast != null){
+ locMast.setLocSts("F");
+ locMast.setBarcode(taskWrk.getBarcode());
+ locMast.setModiTime(date);
+ locMastService.updateById(locMast);
+ }
+ }else if(taskWrk.getIoType().equals(3)){//绉诲簱
+ LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());//鐩爣搴撲綅
+ if(locMast != null){
+ locMast.setLocSts("F");
+ locMast.setBarcode(taskWrk.getBarcode());
+ locMast.setModiTime(date);
+ locMastService.updateById(locMast);
+ }
+ LocMast locMast2 = locMastService.selectByLocNo(taskWrk.getStartPoint());//鍘熷搴撲綅
+ if(locMast2 != null){
+ locMast2.setLocSts("O");
+ locMast2.setBarcode("");
+ locMast.setModiTime(date);
+ locMastService.updateById(locMast2);
+ }
+ }else if(taskWrk.getIoType().equals(2)){//鍑哄簱
+ LocMast locMast2 = locMastService.selectByLocNo(taskWrk.getStartPoint());//鍘熷搴撲綅
+ if(locMast2 != null){
+ locMast2.setLocSts("O");
+ locMast2.setBarcode("");
+ locMast2.setModiTime(date);
+ locMastService.updateById(locMast2);
+ }
+ }
+ taskWrkService.updateById(taskWrk);
+ bool = true;
+ }
+ } catch (Exception e) {
+ log.error("wcs"+s+"浠诲姟涓婃姤wms澶辫触={},杩斿洖鍊�={}", taskWrk, response);
+ } finally {
+ apiLogService.save("wcs"+s+"浠诲姟涓婃姤wms"
+ , wmsUrl + TaskExecCallback
+ , null
+ , "127.0.0.1"
+ , JSON.toJSONString(headParam)
+ , response
+ , bool
+ );
+ }
+ }
+ }
+}
diff --git a/src/main/resources/mapper/TaskWrkMapper.xml b/src/main/resources/mapper/TaskWrkMapper.xml
index 2b99410..7369647 100644
--- a/src/main/resources/mapper/TaskWrkMapper.xml
+++ b/src/main/resources/mapper/TaskWrkMapper.xml
@@ -119,7 +119,7 @@
<select id="selectToBeHistoryData" resultMap="BaseResultMap">
select * from dbo.wcs_task_wrk
where 1=1
- and ((wrk_sts=14 and status=5) or status=7 or status=4 or (wrk_sts=7 and status=5))
+ and (wrk_sts=16 or wrk_sts=7 or wrk_sts=30)
order by io_pri desc,create_time,wrk_no ASC
</select>
--
Gitblit v1.9.1