From d6969a2d987d798aadd7be32c53492704c6c1d26 Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期二, 27 五月 2025 12:44:54 +0800
Subject: [PATCH] #ZH
---
src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java | 93 ++++++++++++++++++++++++++++++++++++++++------
1 files changed, 80 insertions(+), 13 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java
index 7e41622..8c9ebc5 100644
--- a/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java
@@ -1,20 +1,25 @@
package com.zy.asrs.service.impl;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.domain.enums.TaskStatusType;
import com.zy.asrs.domain.enums.WorkNoType;
+import com.zy.asrs.entity.DeviceError;
import com.zy.asrs.entity.StaDesc;
import com.zy.asrs.mapper.TaskWrkMapper;
import com.zy.asrs.entity.TaskWrk;
+import com.zy.asrs.service.ApiLogService;
import com.zy.asrs.service.StaDescService;
import com.zy.asrs.service.TaskWrkService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.zy.asrs.utils.CommandUtils;
import com.zy.asrs.utils.Utils;
import com.zy.common.service.CommonService;
+import com.zy.common.utils.HttpHandler;
import com.zy.core.DevpThread;
+import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.CrnTaskModeType;
import com.zy.core.enums.SlaveType;
@@ -24,11 +29,14 @@
import com.zy.core.model.protocol.StaProtocol;
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.Propagation;
import org.springframework.transaction.annotation.Transactional;
+import java.time.LocalDateTime;
import java.util.Date;
+import java.util.HashMap;
import java.util.List;
@Slf4j
@@ -39,6 +47,12 @@
private CommonService commonService;
@Autowired
private StaDescService staDescService;
+ @Value("${wms.url}")
+ private String wmsUrl;
+ @Value("${wms.taskStatusFeedbackPath}")
+ private String taskStatusFeedbackPath;
+ @Autowired
+ private ApiLogService apiLogService;
@Override
public TaskWrk selectByTaskNo(String taskNo) {
@@ -90,6 +104,7 @@
@Override
public void startup(TaskWrk taskWrk, Long userId) {
+
//鍏ュ簱浠诲姟娲惧彂
StaDesc staDesc = staDescService.queryCrn(taskWrk.getIoType(), Integer.parseInt(taskWrk.getStartPoint()), taskWrk.getCrnNo());
if (staDesc == null) {
@@ -99,7 +114,7 @@
taskWrk.setWrkNo(workNo);//宸ヤ綔鍙�
taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//娲惧彂鐘舵��
taskWrk.setAssignTime(new Date());//娲惧彂鏃堕棿
- taskWrk.setWrkSts(2);//宸ヤ綔鐘舵�� 2.璁惧涓婅蛋
+ taskWrk.setWrkSts(3);//宸ヤ綔鐘舵�� 2.鍚婅溅鍏ュ簱
taskWrk.setCrnNo(staDesc.getCrnNo());//鍫嗗灈鏈哄彿
taskWrk.setModiTime(new Date());
taskWrk.setModiUser(userId);
@@ -115,16 +130,50 @@
crnCommand.setTaskNo(taskWrk.getWrkNo().shortValue()); // 宸ヤ綔鍙�
crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
- crnCommand.setSourcePosX(crnStn.getBay().shortValue()); // 婧愬簱浣嶅垪
- crnCommand.setSourcePosY(crnStn.getLev().shortValue()); // 婧愬簱浣嶅眰
- crnCommand.setSourcePosZ(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓
- crnCommand.setDestinationPosX(Utils.getBayShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鍒�
- crnCommand.setDestinationPosY(Utils.getLevShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅灞�
- crnCommand.setDestinationPosZ(Utils.getRowShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鎺�
+ crnCommand.setSourcePosX(crnStn.getRow().shortValue()); // 婧愬簱浣嶅垪
+ crnCommand.setSourcePosY(crnStn.getBay().shortValue()); // 婧愬簱浣嶅眰
+ crnCommand.setSourcePosZ(crnStn.getLev().shortValue()); // 婧愬簱浣嶆帓
+ crnCommand.setDestinationPosX(Utils.getRowShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鍒�
+ crnCommand.setDestinationPosY(Utils.getBayShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅灞�
+ crnCommand.setDestinationPosZ(Utils.getLevShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鎺�
crnCommand.setCommand((short)1);
- if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand))) {
+ if (!MessageQueue.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(5, crnCommand))) {
log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
throw new CoolException("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
+ }else{
+ try{
+ HashMap<String, Object> headParam = new HashMap<>();
+ headParam.put("taskNo",taskWrk.getTaskNo());
+ headParam.put("taskStatus",taskWrk.getStatusWms());
+ headParam.put("ioType",taskWrk.getIoTypeWms());
+ headParam.put("barCode",taskWrk.getBarcode());
+ headParam.put("reportTime", LocalDateTime.now());
+ headParam.put("weight",taskWrk.getScWeight().doubleValue());
+
+// headParam.put("reportTime",new Date());
+ String response;
+ response = new HttpHandler.Builder()
+ // .setHeaders(headParam)
+ .setUri(wmsUrl)
+ .setPath(taskStatusFeedbackPath)
+ .setJson(JSON.toJSONString(headParam))
+ .build()
+ .doPost();
+
+ JSONObject jsonObject = JSON.parseObject(response);
+ apiLogService.save("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms"
+ ,wmsUrl+taskStatusFeedbackPath
+ ,null
+ ,"127.0.0.1"
+ ,JSON.toJSONString(headParam)
+ ,response
+ ,true
+ );
+ }catch (Exception e){
+ log.error("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触", taskWrk);
+// throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触");
+ }
+
}
}
@@ -139,7 +188,7 @@
taskWrk.setWrkNo(workNo);//宸ヤ綔鍙�
taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);//娲惧彂鐘舵��
taskWrk.setAssignTime(new Date());//娲惧彂鏃堕棿
- taskWrk.setWrkSts(11);//宸ヤ綔鐘舵�� 11.鐢熸垚鍑哄簱ID
+ taskWrk.setWrkSts(12);//宸ヤ綔鐘舵�� 12.鍚婅溅鍏ュ簱涓�
taskWrk.setCrnNo(staDesc.getCrnNo());//鍫嗗灈鏈哄彿
taskWrk.setModiTime(new Date());
taskWrk.setModiUser(userId);
@@ -162,7 +211,7 @@
crnCommand.setDestinationPosY(crnStn.getLev().shortValue()); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosZ(crnStn.getRow().shortValue()); // 鐩爣搴撲綅灞�
crnCommand.setCommand((short)1);
- if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand))) {
+ if (!MessageQueue.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(5, crnCommand))) {
log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
throw new CoolException("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
}
@@ -170,9 +219,9 @@
//鐢熸垚杈撻�佺嚎鍛戒护
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo()).clone();
- staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
- staProtocol.setStaNo((short) Integer.parseInt(taskWrk.getTargetPoint()));
- if (!CommandUtils.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(2, staProtocol))) {
+ staProtocol.setWorkNo(taskWrk.getWrkNo());
+ staProtocol.setStaNo(Integer.parseInt(taskWrk.getTargetPoint()));
+ if (!MessageQueue.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(3, staProtocol))) {
log.error("杈撻�佺嚎鍛戒护鐢熸垚澶辫触锛屽爢鍨涙満鍙�={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
throw new CoolException("杈撻�佺嚎鍛戒护鐢熸垚澶辫触");
}
@@ -204,4 +253,22 @@
public int saveToHistory(String taskNo) {
return this.baseMapper.saveToHistory(taskNo);
}
+
+
+
+ @Override
+ public List<TaskWrk> selectTaskWrkList(Integer wrkNo,String taskNo,Integer status,Date modiTimeStart,Date modiTimeEnd, Integer curr, Integer limit) {
+ return this.baseMapper.selectTaskWrkList(wrkNo,taskNo, status,modiTimeStart,modiTimeEnd,curr,limit);
+ }
+
+ @Override
+ public Long selectTaskWrkListTotal(Integer wrkNo,String taskNo,Integer status,Date modiTimeStart,Date modiTimeEnd) {
+ return this.baseMapper.selectTaskWrkListTotal(wrkNo,taskNo, status,modiTimeStart,modiTimeEnd);
+ }
+
+
+ @Override
+ public int saveToHistoryD(String taskNo) {
+ return this.baseMapper.saveToHistoryD(taskNo);
+ }
}
--
Gitblit v1.9.1