From a40971b7b06d8a92107407829ce611aedca331f2 Mon Sep 17 00:00:00 2001
From: zyh <zyh@123>
Date: 星期一, 30 三月 2026 09:57:01 +0800
Subject: [PATCH] 修复入库任务还未生成时下发出库任务会同步进行的问题
---
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 72 ++++++++++++++++++++++++++++--------
1 files changed, 56 insertions(+), 16 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 b48d5d9..93ae542 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -10,6 +10,7 @@
import com.zy.asrs.entity.param.*;
import com.zy.asrs.enums.CommonEnum;
import com.zy.asrs.enums.LocStsType;
+import com.zy.asrs.mapper.CanFinMapper;
import com.zy.asrs.mapper.LocMastMapper;
import com.zy.asrs.mapper.ManLocDetlMapper;
import com.zy.asrs.service.*;
@@ -22,6 +23,8 @@
import com.zy.common.model.enums.WorkNoType;
import com.zy.common.service.CommonService;
import com.zy.common.utils.HttpHandler;
+import com.zy.system.entity.Config;
+import com.zy.system.service.impl.ConfigServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -31,6 +34,8 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
@@ -80,6 +85,8 @@
private ManLocDetlService manLocDetlService;
@Autowired
private ManLocDetlMapper manLocDetlMapper;
+ @Autowired
+ private CanFinMapper canFinMapper;
@Autowired
private AdjDetlService adjDetlService;
@@ -114,6 +121,8 @@
private BasStationService basStationService;
@Autowired
private BasContainerService basContainerService;
+ @Autowired
+ private ConfigServiceImpl configService;
@Override
@Transactional
@@ -559,7 +568,8 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public void comb(CombParam param, Long userId) {
+ public void
+ comb(CombParam param, Long userId) {
if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
throw new CoolException(BaseRes.PARAM);
}
@@ -606,9 +616,9 @@
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.setBatch(detlDto.getBatch());
@@ -704,6 +714,9 @@
// if (suplus < 0) {
// throw new CoolException("鐗╂枡锛�" + detlDto.getMatnr() + ", 瓒呭嚭褰撳墠鎵樼洏瑁呰浇涓婇檺锛侊紒");
// }
+ OrderDetlPakin detls = orderDetlPakinService.selectOne(new EntityWrapper<OrderDetlPakin>()
+ .eq("order_no", param.getOrderNo())
+ .eq("matnr", detlDto.getMatnr()));
WaitPakin waitPakin = new WaitPakin();
BeanUtils.copyProperties(mat, waitPakin);
@@ -719,17 +732,27 @@
waitPakin.setAppeTime(now);
waitPakin.setModiUser(userId);
waitPakin.setModiTime(now);
+ if (!detlDto.getStandby1().isEmpty() && detlDto.getStandby1() != null && !detlDto.getStandby1().equals("")){
+ waitPakin.setStandby1(detls.getStandby1());//閰嶇洏鍙�
+ }
+
if (!waitPakinService.insert(waitPakin)) {
throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
}
}
+
+// Date date1 = now;
+// CanFin canFin = new CanFin();
+// canFin.setApplyTime(date1);
+// canFin.setAgvType("agv-in");
+// canFinMapper.insert(canFin);
Set<String> stringSet = param.getCombMats().stream().map(CombParam.CombMat::getOrderNo).collect(Collectors.toSet());
stringSet.forEach(orderNo -> {
Order order = OrderInAndOutUtil.selectByNo(Boolean.TRUE, orderNo);
OrderInAndOutUtil.updateOrder(Boolean.TRUE, order.getId(), 2L, userId);
});
- if(!Cools.isEmpty(param.getLocNo())){
+ if(!Cools.isEmpty(param.getRsta()) && param.getRsta().contains("-")){
//鐢熸垚AGV鎼繍浠诲姟
//鐢熸垚AGV鎼繍鍑哄簱浠诲姟
// 淇濆瓨宸ヤ綔妗�
@@ -739,12 +762,12 @@
if (param.getBarcode().charAt(0) == '3'){
s = "307";
}else if (param.getBarcode().charAt(0) == '4'){
- s = "401";
- }else if (param.getBarcode().charAt(0) == '5'){
s = "402";
+ }else if (param.getBarcode().charAt(0) == '5'){
+ s = "401";
}
- String TaskNo = param.getBarcode()+"-"+date.getTime();
- task.setWrkNo(Integer.getInteger(param.getBarcode()))
+ String TaskNo = param.getBarcode()+"aa"+date.getTime();
+ task.setWrkNo((int) date.getTime())
.setTaskNo(TaskNo)
.setIoTime(date)
.setWrkSts(301L) // 宸ヤ綔鐘舵�侊細301.浠诲姟涓嬪彂
@@ -755,7 +778,7 @@
.setPicking("N") // 鎷f枡
.setExitMk("N")// 閫�鍑�
.setStaNo(s)
- .setSourceStaNo(param.getLocNo())//绌烘枡鏋剁紦瀛樺尯E1
+ .setSourceStaNo(param.getRsta())//agv鍙栬揣浣�
.setEmptyMk("N")// 绌烘澘
.setBarcode(param.getBarcode())// 鎵樼洏鐮�
.setLinkMis("N")
@@ -1321,8 +1344,14 @@
@Override
@Transactional
- public R callEmptyBinOutBound(String staNo, String locType, Long userId) {
- LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", 'D').eq("loc_type2", locType));
+ public R callEmptyBinOutBound(String staNo, String locType, String palletFormat, String agvTaskNo, Long userId) {
+ EntityWrapper<LocMast> wrapper = new EntityWrapper<>();
+ wrapper.eq("loc_sts", "D").eq("loc_type2", Integer.parseInt(locType));
+ if (palletFormat != null && !palletFormat.isEmpty()) {
+ wrapper.like("barcode", palletFormat);
+ }
+ wrapper.orderBy("row1", false);
+ LocMast locMast = locMastService.selectOne(wrapper);
if(locMast == null) {
return R.parse("璇ョ被鍨嬶細" + locType +"绌烘墭鐩樹笉瀛樺湪");
}
@@ -1330,19 +1359,20 @@
//婊戝潡搴�
if(locMast.getLocType3()==1){
if(locMast.getLocType2()==1){
-
-
+ sta = "402";
+ }else if(locMast.getLocType2()==2){
+ sta = "401";
}
}else if(locMast.getLocType3()==2){
sta="307";
}
// 鑾峰彇璺緞
- Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+ Wrapper<StaDesc> wrapper1 = new EntityWrapper<StaDesc>()
.eq("type_no", 110)
.eq("stn_no", sta)
.eq("crn_no", locMast.getCrnNo());
- StaDesc staDesc = staDescService.selectOne(wrapper);
+ StaDesc staDesc = staDescService.selectOne(wrapper1);
if (staDesc == null) {
R.parse("鍑哄簱璺緞涓嶅瓨鍦�,绔欑偣锛�" + sta);
}
@@ -1350,6 +1380,12 @@
// 鐢熸垚宸ヤ綔妗�
int workNo = commonService.getWorkNo(WorkNoType.PAKOUT.type);
WrkMast wrkMast = new WrkMast();
+ if (agvTaskNo!=null){
+ wrkMast.setUserNo(agvTaskNo);
+ }else {
+ Date date = new Date();
+ wrkMast.setUserNo(staNo + "aa" + date.getTime());
+ }
wrkMast.setWrkNo(workNo);
wrkMast.setIoTime(now);
wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
@@ -1370,6 +1406,10 @@
wrkMast.setModiTime(now);
wrkMast.setMemo(staNo);
wrkMastService.insert(wrkMast);
+ CanFin canFin = new CanFin();
+ canFin.setAgvType("agv-out");
+ canFin.setApplyTime(now);
+ canFinMapper.insert(canFin);
// 鏇存柊搴撲綅鐘舵��
if (locMast.getLocSts().equals("D")) {
--
Gitblit v1.9.1