From cea1758e1f540e3f5f807951f128b7385b32afe6 Mon Sep 17 00:00:00 2001
From: chen.llin <1442464845@qq.comm>
Date: 星期六, 24 一月 2026 17:03:04 +0800
Subject: [PATCH] agv增加主动查询状态
---
src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java | 122 +++++++++++++++-------------------------
1 files changed, 45 insertions(+), 77 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java
index 99c2b31..ad97271 100644
--- a/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java
@@ -1,21 +1,20 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.TaskMapper;
import com.zy.asrs.service.*;
-import com.baomidou.mybatisplus.service.impl.ServiceImpl;
-import com.zy.asrs.utils.OrderInAndOutUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
+import java.util.Objects;
import java.util.concurrent.TimeUnit;
@Service("taskService")
@@ -31,14 +30,19 @@
private TaskDetlService taskDetlService;
@Autowired
private TaskService taskService;
-
@Autowired
private TaskDetlLogService taskDetlLogService;
+ @Autowired
+ private OrderPakoutService orderPakoutService;
+ @Autowired
+ private OrderDetlPakoutService orderDetlPakoutService;
@Override
- @Transactional
+ @Transactional(rollbackFor = Exception.class)
public void completeWrkMast(String workNo, Long userId) {
- Task wrkMast = this.selectOne(new EntityWrapper<Task>().eq("wrk_no", workNo));
+ Task wrkMast = this.selectOne(new EntityWrapper<Task>()
+ .eq("wrk_no", workNo)
+ .andNew("(is_deleted = 0)"));
if (Cools.isEmpty(wrkMast)) {
throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
}
@@ -46,10 +50,10 @@
throw new CoolException("褰撳墠宸ヤ綔妗e凡瀹屾垚");
}
// 鍏ュ簱 + 搴撲綅杞Щ
- if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType() == 11)) {
+ if (wrkMast.getIoType() < 50){
wrkMast.setWrkSts(4L);
// 鍑哄簱
- } else if (wrkMast.getWrkSts() > 10) {
+ } else {
wrkMast.setWrkSts(14L);
}
Date now = new Date();
@@ -67,7 +71,9 @@
@Override
@Transactional
public void pickWrkMast(String workNo, Long userId) {
- Task wrkMast = this.selectById(workNo);
+ Task wrkMast = this.selectOne(new EntityWrapper<Task>()
+ .eq("wrk_no", workNo)
+ .andNew("(is_deleted = 0)"));
if (Cools.isEmpty(wrkMast)) {
throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
}
@@ -121,20 +127,26 @@
}
}
+ @Override
+ public List<Task> selectToBeCompleteData() {
+ return this.baseMapper.selectToBeCompleteData();
+ }
@Override
@Transactional
public void cancelWrkMast(String workNo, Long userId) {
Date now = new Date();
- Task wrkMast = this.selectOne(new EntityWrapper<Task>().eq("wrk_no", workNo));
+ Task wrkMast = this.selectOne(new EntityWrapper<Task>()
+ .eq("wrk_no", workNo)
+ .andNew("(is_deleted = 0)"));
if (Cools.isEmpty(wrkMast)) {
throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
}
String locNo = ""; // 寰呬慨鏀圭洰鏍囧簱浣�
String locSts = ""; // 寰呬慨鏀圭洰鏍囧簱浣嶇姸鎬�
// 鍏ュ簱鍙栨秷锛堜慨鏀圭洰鏍囧簱浣嶏級
- if (wrkMast.getWrkSts() < 4) {
+ if (wrkMast.getIoType() < 100) {
locNo = wrkMast.getLocNo();
locSts = "O";
@@ -151,7 +163,7 @@
locCacheService.updateById(locMast);
}
// 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛�
- } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14) {
+ } else {
locNo = wrkMast.getSourceLocNo();
// 鍑哄簱 ===>> F.鍦ㄥ簱
if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) {
@@ -172,8 +184,6 @@
locMast.setModiUser(userId);
locCacheService.updateById(locMast);
}
- } else {
- throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�");
}
//鍙栨秷鍏ュ簱宸ヤ綔妗f椂锛屾煡璇㈢粍鎵樿〃锛屽鏋滄湁灏嗙姸鎬佹敼涓哄緟澶勭悊
@@ -192,56 +202,7 @@
}
}
- //鍙栨秷鍑哄簱宸ヤ綔妗f椂锛屾煡璇㈠崟鎹鐞嗚〃锛屽洖婊氫綔涓氫腑鏁伴噺
- if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103) {
- List<TaskDetl> wrkDetls = taskDetlService.selectList(new EntityWrapper<TaskDetl>().eq("wrk_no", wrkMast.getWrkNo()));
- for (TaskDetl wrkDetl : wrkDetls) {
- if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
-// if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
-// throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触");
-// }
- OrderInAndOutUtil.decrease(Boolean.FALSE, wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(),
- wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(),
- wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme());
- //淇敼璁㈠崟涓昏〃鐘舵��,娌℃湁浣滀笟鏁伴噺鏃舵墠鍙互淇敼
- boolean flag = true;
-// List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no",wrkDetl.getOrderNo()));
- Order order = OrderInAndOutUtil.selectByNo(Boolean.FALSE, wrkDetl.getOrderNo());
- List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(Boolean.FALSE, order.getId());
- for (OrderDetl orderDetl : orderDetls) {
- if (orderDetl.getWorkQty() > 0) {
- flag = false;
- }
- }
- if (flag) {
-// Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo()));
- if (!Cools.isEmpty(order) && order.getSettle() == 2) {
- order.setSettle(1L);
- order.setUpdateBy(userId);
- order.setUpdateTime(now);
- }
-// if(!orderService.update(order,new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo()))){
-// throw new CoolException("淇敼璁㈠崟鐘舵�佸け璐�");
-// }
- OrderInAndOutUtil.updateOrder(Boolean.FALSE, order.getId(), order.getSettle(), userId);
- }
- }
- }
-
- }
-
-// // 璁㈠崟鍏宠仈
-// List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
-// for (WrkDetl wrkDetl : wrkDetls) {
-// if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
-// if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
-// throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触");
-// }
-// // 鐢熸垚鏂扮殑鍑哄簱浣滀笟
-//// stockOutRe(wrkMast, wrkDetls);
-// }
-// }
// 鍙栨秷鎿嶄綔浜哄憳璁板綍
wrkMast.setManuType("鎵嬪姩鍙栨秷");
@@ -254,30 +215,37 @@
if (!taskLogService.save(wrkMast.getWrkNo())) {
throw new CoolException("淇濆瓨宸ヤ綔鍘嗗彶妗eけ璐�, workNo = " + wrkMast.getWrkNo());
}
- // 鍒犻櫎宸ヤ綔涓绘。
- boolean wrkMastRes = taskService.deleteById(wrkMast);
+ // 閫昏緫鍒犻櫎宸ヤ綔涓绘。
+ wrkMast.setIsDeleted(1);
+ boolean wrkMastRes = taskService.updateById(wrkMast);
if (wrkMast.getIoType() != 10 && wrkMast.getIoType() != 110) {
- // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
- if (!taskDetlLogService.save(wrkMast.getWrkNo())) {
-// throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗eけ璐�, workNo = " + wrkMast.getWrkNo());
- }
// 鍒犻櫎宸ヤ綔妗f槑缁�
boolean wrkDetlRes = taskDetlService.delete(new EntityWrapper<TaskDetl>().eq("wrk_no", workNo));
}
- // 淇敼搴撲綅鐘舵��
- LocCache locMast = locCacheService.selectOne(new EntityWrapper<LocCache>().eq("loc_no", locNo));
- if (Cools.isEmpty(locMast)) {
- throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐ワ紝搴撲綅涓嶅瓨鍦�:" + locNo);
+ // 淇敼搴撲綅鐘舵�侊紙濡傛灉搴撲綅涓嶄负绌猴級
+ boolean locMastRes = true;
+ if (!Cools.isEmpty(locNo)&&wrkMast.getIoType() > 100) {
+ LocCache locMast = locCacheService.selectOne(new EntityWrapper<LocCache>().eq("loc_no", locNo));
+ if (Cools.isEmpty(locMast)) {
+ throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐ワ紝搴撲綅涓嶅瓨鍦�:" + locNo);
+ }
+ if (!Cools.isEmpty(locSts)) {
+ locMast.setLocSts(locSts);
+ locMast.setModiTime(now);
+ locMast.setModiUser(userId);
+ locMastRes = locCacheService.updateById(locMast);
+ }
}
- locMast.setLocSts(locSts);
- locMast.setModiTime(now);
- locMast.setModiUser(userId);
- boolean locMastRes = locCacheService.updateById(locMast);
if (!wrkMastRes || !locMastRes) {
throw new CoolException("淇濆瓨鏁版嵁澶辫触");
}
}
+ @Override
+ public List<Task> selectToBeHistoryData() {
+ return this.baseMapper.selectToBeHistoryData();
+ }
+
}
--
Gitblit v1.9.1