From b51e3b3d5bb721cec65952498d1c2c882d1a01d6 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期一, 15 十二月 2025 17:14:22 +0800
Subject: [PATCH] wms功能完善
---
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 91 ++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 88 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 2c9a489..61a8b77 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -7,7 +7,11 @@
import com.core.common.*;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.mes.TransTask;
import com.zy.asrs.entity.param.*;
+import com.zy.asrs.entity.rcs.RcsReturn;
+import com.zy.asrs.entity.rcs.RcsTaskSubmit;
+import com.zy.asrs.entity.rcs.RcsTaskTargetRoute;
import com.zy.asrs.enums.CommonEnum;
import com.zy.asrs.enums.LocStsType;
import com.zy.asrs.mapper.LocMastMapper;
@@ -19,6 +23,7 @@
import com.zy.common.entity.Parameter;
import com.zy.common.model.DetlDto;
import com.zy.common.model.MesCombParam;
+import com.zy.common.model.StartupDto;
import com.zy.common.model.enums.WorkNoType;
import com.zy.common.service.CommonService;
import com.zy.common.utils.HttpHandler;
@@ -114,6 +119,85 @@
private BasStationService basStationService;
@Autowired
private BasContainerService basContainerService;
+
+ @Resource
+ private RcsService rcsService;
+
+ @Override
+ @Transactional
+ public R djReturn(String djNo) {
+ Task task = taskService.selectOne(new EntityWrapper<Task>().eq("barcode", djNo));
+ if(task == null) {
+ log.error("鍒�鏋跺彿锛歿}锛屼笉瀛樺湪浠诲姟锛�",djNo);
+ return R.parse("鍒�鏋跺彿锛�"+djNo+"涓嶅瓨鍦ㄤ换鍔�");
+ } else if(task.getWrkSts() == 305) {
+ task.setWrkSts(301L);
+ task.setModiTime(new Date());
+ task.setTaskNo(task.getTaskNo()+"-1"); // 鏇存柊浠诲姟鍙�
+ String sourceStaNo = task.getSourceStaNo();
+ task.setSourceStaNo(task.getStaNo());
+ task.setStaNo(sourceStaNo);
+
+ TransTask transTask = JSONObject.parseObject(task.getMemo(), TransTask.class);
+ transTask.setTaskno(task.getTaskNo());
+ transTask.setCurStationId(sourceStaNo);
+ transTask.setNextStationId(task.getStaNo());
+ if(transTask.getTransType().equals("06")) {
+ transTask.setTransType("01");
+ } else if(transTask.getTransType().equals("02")) {
+ transTask.setTransType("05");
+ } else{
+ log.error("鍒�鏋跺彿锛歿}锛岃繍杈撶被鍨嬫湁璇細{}",djNo,transTask.getTransType());
+ return R.parse("鍒�鏋跺彿锛�"+djNo+",杩愯緭绫诲瀷鏈夎锛�" + transTask.getTransType());
+ }
+ // 鏇存柊澶囨敞
+ task.setMemo(JSONObject.toJSONString(transTask));
+
+ // 涓嬪彂缁橰CS
+ RcsTaskSubmit rcsTaskSubmit = new RcsTaskSubmit();
+ // 妯℃澘鍚�
+ rcsTaskSubmit.setTaskType("CS");
+ rcsTaskSubmit.setRobotTaskCode(transTask.getTaskno());
+ rcsTaskSubmit.setInitPriority(10); //榛樿10
+ List<RcsTaskTargetRoute> targetRouteList = new ArrayList<>();
+ RcsTaskTargetRoute startRoute = new RcsTaskTargetRoute();
+ startRoute.setSeq(0);
+ startRoute.setCode(transTask.getCurStationId());
+ startRoute.setOperation("COLLECT");
+ targetRouteList.add(startRoute);
+ RcsTaskTargetRoute endRoute = new RcsTaskTargetRoute();
+ endRoute.setSeq(1);
+ endRoute.setCode(transTask.getNextStationId());
+ endRoute.setOperation("DELIVERY");
+ targetRouteList.add(endRoute);
+ rcsTaskSubmit.setTargetRoute(targetRouteList);
+
+ // 杞彂缁欐捣搴锋垨鍗庢檽RCS
+ RcsReturn rcsReturn = rcsService.submitTask(rcsTaskSubmit, transTask.getAgvFactory());
+ if (rcsReturn.getCode().equals("SUCCESS")) {
+ // 鏇存柊agv浠诲姟璁板綍
+ taskService.updateById(task);
+
+ // 鏇存柊鎺ラ┏浣嶇姸鎬�
+ BasStation station = basStationService.selectOne(new EntityWrapper<BasStation>().eq("dev_no", task.getSourceStaNo()));
+ if(station.getLocSts().equals("F")) {
+ station.setLocSts("R");
+ station.setModiTime(new Date());
+ basStationService.updateById(station);
+ } else {
+ log.error("agv鍥炶皟end,鎺ラ┏鐐圭姸鎬佷笉涓篎,agv浠诲姟鍙凤細{},鐘舵�侊細{}",task.getTaskNo(),task.getWrkSts());
+ }
+ } else {
+ log.error("涓嬪彂rcs鎼繍鍛戒护澶辫触锛歿}",rcsReturn);
+ return R.parse("涓嬪彂rcs澶辫触锛�" + rcsReturn.getMessage());
+ }
+
+ return R.ok("RCS鍛戒护涓嬪彂鎴愬姛!");
+ }else {
+ log.error("鍒�鏋跺彿锛歿}锛屼换鍔$姸鎬佷笉瀵�:{}",djNo,task.getWrkSts());
+ return R.parse("鍒�鏋跺彿锛�"+djNo+",浠诲姟鐘舵�佷笉瀵癸細" + task.getWrkSts());
+ }
+ }
@Override
@Transactional
@@ -606,11 +690,12 @@
if (Cools.isEmpty(mat)) {
throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
}
- if (mat.getUpQty().compareTo(detlDto.getAnfme()) < 0) {
- throw new CoolException("鐗╂枡锛�" + detlDto.getMatnr() + "鍗曟鏈�澶х粍鎵樹笂闄愪负锛�" + mat.getUpQty());
- }
+// if (mat.getUpQty().compareTo(detlDto.getAnfme()) < 0) {
+// throw new CoolException("鐗╂枡锛�" + detlDto.getMatnr() + "鍗曟鏈�澶х粍鎵樹笂闄愪负锛�" + mat.getUpQty());
+// }
WaitPakin waitPakin = new WaitPakin();
BeanUtils.copyProperties(mat, waitPakin);
+ waitPakin.setMemo("");
waitPakin.setBatch(detlDto.getBatch());
waitPakin.setZpallet(param.getBarcode());
waitPakin.setIoStatus("N");
--
Gitblit v1.9.1