no message

main
HUOJIN\92525 2024-12-11 13:42:30 +08:00
parent 75d5824fb5
commit e36e551c3a
1 changed files with 23 additions and 5 deletions

View File

@ -3,6 +3,7 @@ package com.youchain.appupdate.service.impl;
import cn.hutool.core.date.DateUtil;
import com.youchain.appupdate.ReturnJson.ReturnTaskVo;
import com.youchain.appupdate.service.BydAppService;
import com.youchain.basicdata.domain.Area;
import com.youchain.basicdata.domain.Item;
import com.youchain.basicdata.domain.Point;
import com.youchain.basicdata.domain.Stock;
@ -151,8 +152,11 @@ public class BydAppServiceImpl implements BydAppService {
//刷新出库单状态
pickService.refreshPickStatus(task.getPickDetail().getPick());
//Agv中所有料箱任务拣货完成原托盘回库内
this.returnFBAgvTask(task);
//成品原托盘返库;单品不回库
if (BaseStatus.GD_TYPE_CT.equals(pick.getOrderType())) {
this.returnFBAgvTask(task);
}
}
@ -301,7 +305,7 @@ public class BydAppServiceImpl implements BydAppService {
public void createAsnDetailsAndItemKeysAndTasks(List<BarCodeVo> barCodeVos, Item item, Stock stock, Point srcPoint, Point endPoint, AgvTask agvTask) {
for (BarCodeVo barCodeVo : barCodeVos) {
AsnDetail asnDetail = asnDetailService.createAsnDetail(item, stock, srcPoint, barCodeVo.getPropC1(), barCodeVo.getBoxNumber(), barCodeVo.getPropC3(), Timestamp.valueOf(DateUtil.formatDateTime(DateUtil.parse(barCodeVo.getPropD1()))), barCodeVo.getOrderQty(), barCodeVo.getMo());
ItemKey itemKey = itemKeyService.createItemKey(item, barCodeVo.getPropC1(),asnDetail.getPropD1(), barCodeVo.getBoxNumber());
ItemKey itemKey = itemKeyService.createItemKey(item, barCodeVo.getPropC1(), asnDetail.getPropD1(), barCodeVo.getBoxNumber());
Task task = taskService.createTask(item, asnDetail.getOrderQty(), itemKey, asnDetail, BizStatus.ASN, null, null, stock, srcPoint, endPoint, agvTask);
}
}
@ -356,7 +360,7 @@ public class BydAppServiceImpl implements BydAppService {
//验证目标托盘是否在翻包存储区
String itemType = task.getItemKey().getItem().getGoodType();
String areaName = "大件".equals(itemType)? AreaNameDic.DJFBCQ : AreaNameDic.XJFBCQ;
String areaName = "大件".equals(itemType) ? AreaNameDic.DJFBCQ : AreaNameDic.XJFBCQ;
if (!areaName.equals(dstStock.getPoint().getArea().getName())) {
throw new BadRequestException(dstStockCode + "目标托盘没有在" + areaName);
}
@ -388,7 +392,21 @@ public class BydAppServiceImpl implements BydAppService {
moveQty += task1.getMoveQty();
}
if (planQty == moveQty) {
kmReService.returnFBAgvTask(task.getDstPoint(), task.getSrcStock(), task.getItem());
//成品当前托盘没有库存则不需要回库;
List<Inventory> inventoryList = inventoryService.findByStockCode(task.getSrcStock().getCode());
List<Inventory> smallAreaInventories = inventoryList.stream()
.filter(inv -> {
if (inv.getPoint() != null && inv.getPoint().getArea() != null) {
String areaName = inv.getPoint().getArea().getName();
return AreaNameDic.XJQ.equals(areaName) || AreaNameDic.XJFBQ.equals(areaName);
}
return false;
})
.collect(Collectors.toList());
if (!smallAreaInventories.isEmpty()) {
kmReService.returnFBAgvTask(task.getDstPoint(), task.getSrcStock(), task.getItem());
}
}
}