From 3bf6f972604761c9ac59a2cb9ea01eeacaec2189 Mon Sep 17 00:00:00 2001
From: zyh <zyh@123>
Date: 星期六, 28 三月 2026 15:43:51 +0800
Subject: [PATCH] 更新为正式部署许可证
---
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 123 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 123 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index c9a3aed..fab9bcb 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -3,15 +3,18 @@
import com.alibaba.excel.util.StringUtils;
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.entity.mes.MesReturn;
import com.zy.asrs.enums.LocStsType;
+import com.zy.asrs.mapper.CanFinMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.service.impl.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.utils.OrderInAndOutUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -57,6 +60,11 @@
private TaskDetlService taskDetlService;
@Autowired
private BasStationServiceImpl basStationService;
+
+ @Autowired
+ private OrderPakoutService orderPakoutService;
+ @Autowired
+ private CanFinMapper canFinMapper;
@Value("${mes.url}")
private String url;
@@ -455,13 +463,49 @@
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return FAIL.setMsg("鏇存柊鍏ュ簱瀹屾垚鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
}
+ // 灏唚aitPakin琛ㄤ腑鐨勬暟鎹爣璁颁负宸插鐞�
+ if (wrkMast.getIoType() == 1) { // 鍏ㄦ澘鍏ュ簱
+ Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode());
+ WaitPakin setParam = new WaitPakin();
+ setParam.setStatus("N");
+ setParam.setModiTime(new Date());
+ waitPakinService.update(setParam, wrapper);
+ log.info("鏇存柊搴撳瓨鎴愬姛锛佹墭鐩樼爜锛歿}", wrkMast.getBarcode());
+ }
} catch (Exception e) {
log.error("fail", e);
e.printStackTrace();
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return FAIL.setMsg(e.getMessage());
}
+ if (wrkMast.getStaNo().equals("307")){
+ try{
+ CanFin canFin = new CanFin();
+ List<CanFin> canFinList = canFinMapper.selectList(
+ new EntityWrapper<CanFin>()
+ .orderBy("apply_time", true)
+ );
+ if (canFinList != null){
+ CanFin firstCanFin = canFinList.get(0);
+ if (firstCanFin.getAgvType().equals("agv-in")){
+// if (firstCanFin.getAgvType().equals("agv-in-out")){
+ canFinMapper.deleteById(firstCanFin.getId());
+ if (canFinList.size() > 1){
+ CanFin firstCanFin1 = canFinList.get(1);
+ firstCanFin1.setTaskStatus("canout");
+ log.info("can_fin琛ㄥ凡鏇存柊锛屽叆搴撳崟鐘舵�亄}", firstCanFin1.getOutType());
+ canFinMapper.updateById(firstCanFin1);
+ }
+ }
+// else if(firstCanFin.getAgvType().equals("agv-in")){
+// canFinMapper.deleteById(firstCanFin.getId());
+// }
+ }
+ } catch (Exception e) {
+ log.error("鏈鍏ュ簱娌℃湁浠诲姟鍗�");
+ }
+ }
return SUCCESS;
}
@@ -592,12 +636,84 @@
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return FAIL.setMsg("鏇存柊鍑哄簱瀹屾垚鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
}
+ // 妫�鏌ラ厤鐩樺崟鏄惁宸插畬鎴�
+ List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+ for (WrkDetl wrkDetl : wrkDetls) {
+ if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
+ OrderInAndOutUtil.checkComplete(Boolean.FALSE, wrkDetl.getOrderNo());
+ break;
+ }
+ }
} catch (Exception e) {
log.error("fail", e);
e.printStackTrace();
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return FAIL.setMsg(e.getMessage());
}
+
+ if (wrkMast.getStaNo().equals("307")){
+ try{
+ List<CanFin> firstCanFinList = canFinMapper.selectList(
+ new EntityWrapper<CanFin>()
+ .orderBy("apply_time", true)
+ );
+ CanFin firstCanfin = firstCanFinList.get(0);
+ if (firstCanfin.getOutNo() != null && firstCanfin.getAgvType().equals("agv-out")){
+ log.info("can_fin琛ㄥ凡鏇存柊锛屽嚭搴撳崟{}宸插垹闄�",firstCanfin.getOutNo());
+ canFinMapper.deleteById(firstCanfin.getId());
+ }
+ if (firstCanfin.getOutNo() == null && firstCanfin.getAgvType().equals("agv-out")){
+ log.info("can_fin琛ㄥ凡鏇存柊锛屽嚭搴撲换鍔″凡鍒犻櫎锛屽綋鍓嶅嚭搴撴棤浠诲姟鍗�");
+ canFinMapper.deleteById(firstCanfin.getId());
+ }
+ if (firstCanFinList.size() > 1){
+ CanFin secondCanFin = firstCanFinList.get(1);
+ secondCanFin.setTaskStatus("canout");
+ canFinMapper.updateById(secondCanFin);
+ }
+// else {
+// OrderPakout isOut = orderPakoutService.selectOne(
+// new EntityWrapper<OrderPakout>()
+// .eq("settle", 2L)
+// .eq("doc_type", 12L));
+// String outOrderNo = isOut.getOrderNo();
+// List<CanFin> canFinList = canFinMapper.selectList(
+// new EntityWrapper<CanFin>()
+// .eq("agv_type", "agv-in-out")
+// .orderBy("apply_time", true)
+// );
+// if (canFinList != null){
+// CanFin firstCanFin = canFinList.get(0);
+//
+// OrderPakout isOut = orderPakoutService.selectOne(
+// new EntityWrapper<OrderPakout>()
+// .eq("orderNo", firstCanFin.getOutNo()));
+//
+// String outOrderNo = isOut.getOrderNo();
+// if (outOrderNo.equals(firstCanFin.getOutNo())){
+// log.info("can_fin琛ㄥ凡鏇存柊锛岃浆搴忓嚭搴撳崟{}宸插垹闄�", firstCanFin.getOutNo());
+// canFinMapper.deleteById(firstCanFin.getId());
+// }else {
+// log.info("鏈壘鍒拌鍑哄簱鍗曪紝can_fin琛ㄦ湭鏇存柊");
+// }
+// List<CanFin> canFinList1 = canFinMapper.selectList(
+// new EntityWrapper<CanFin>()
+// .eq("agv_type", "agv-in-out")
+// .orderBy("apply_time", true));
+// if (!canFinList1.isEmpty()){
+// CanFin firstCanFin2 = canFinList.get(0);
+// firstCanFin2.setTaskType("Y");
+// log.info("can_fin琛ㄥ凡鏇存柊锛岃浆搴忓嚭搴撳崟鍙互杞簭", firstCanFin2.getOutNo());
+// canFinMapper.updateById(firstCanFin2);
+// }
+// }
+// }
+ } catch (Exception e) {
+ log.error("鏈鍑哄簱娌℃湁浠诲姟鍗�");
+ return null;
+ }
+ }
+
return SUCCESS;
}
@@ -634,16 +750,23 @@
map.put("StationId", task.getSourceStaNo());
String mesUrl = url+"AGVArrivalCompletedFit";
String response = RcsServiceImpl.sendPost(mesUrl, JSONObject.toJSONString(map));
+ log.info("AGV浠诲姟瀹屾垚杞彂MES");
if (!StringUtils.isEmpty(response) && response.contains("Success")){
MesReturn mesReturn = JSONObject.parseObject(response, MesReturn.class);
if("1".equals(mesReturn.getSuccess())) {
+ log.info("AGV浠诲姟瀹屾垚杞彂MES鎴愬姛");
task.setWrkSts(305L);//浠诲姟鐘舵�佷粠304--銆�305
task.setModiTime(new Date());
taskService.updateById(task);
}else {
+ log.error("AGV浠诲姟瀹屾垚杞彂MES澶辫触");
return new ReturnT<>(500, mesReturn.getMessage());
}
}
+ }else {
+ task.setWrkSts(305L);//浠诲姟鐘舵�佷粠304--銆�305
+ task.setModiTime(new Date());
+ taskService.updateById(task);
}
}else {
task.setWrkSts(305L);//浠诲姟鐘舵�佷粠304--銆�305
--
Gitblit v1.9.1