pda界面和功能优化,完善mes下发版辊字段

This commit is contained in:
Lenovo
2026-09-18 15:31:27 +08:00
parent ac7becee2e
commit 555a49f3a4
51 changed files with 1873 additions and 161 deletions

View File

@@ -3,6 +3,7 @@ package com.ruoyi.scheduleTask;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjUtil;
import com.ruoyi.api.service.IApiWcsService;
import com.ruoyi.bas.cargospace.domain.BasCargoSpace;
import com.ruoyi.bas.cargospace.service.IBasCargoSpaceService;
import com.ruoyi.bas.id.job.service.IBasJobIdService;
import com.ruoyi.bas.stock.domain.BasStock;
@@ -11,6 +12,7 @@ import com.ruoyi.bas.stock.service.IBasStockInfoService;
import com.ruoyi.bas.stock.service.IBasStockService;
import com.ruoyi.common.*;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.in.bind.domain.InTrayMsg;
import com.ruoyi.in.bind.service.IInTrayMsgService;
import com.ruoyi.in.job.domain.MydoJob;
import com.ruoyi.in.job.service.IMydoJobService;
@@ -61,6 +63,8 @@ public class MydoJobHandler {
IPdStockpdService pdStockpdService;
@Autowired
IPdStockpdDetailService pdStockpdDetailService;
@Autowired
IInTrayMsgService inTrayMsgService;
private static final int TIMEINTERVAL_DEFAULT = 1000;
@@ -659,23 +663,37 @@ public class MydoJobHandler {
//每条子任务生成一条库存信息
for (MydoJobDetail detail : details){
//物料数量固定为1,辊号唯一
//插入库存明细信息
BasStock stockInit = new BasStock().builder()
.stockId(stockId)
.stockDetailId(stockId + "-" + num)
.stockStatus(BasStockCode.STOCK_STATUS_AVAILABLE)
.jobId(mydoJob.getJobId())
.jobDetailId(mydoJob.getJobId() + "-" + num++)
.rollerNumber(detail.getRollerNumber())
.quantity(detail.getInQuantity())
.cargoSpaceId(mydoJob.getCargoSpaceId())
.productId(detail.getProductId())
.productName(detail.getProductName())
.inDate(DateUtil.date().now())
.build();
basStockService.insertBasStock(stockInit);
BasStock stock = basStockService.selectBasStockByRollerNumber(detail.getRollerNumber());
InTrayMsg inTrayMsg = inTrayMsgService.selectInTrayMsgByRollerNumber(detail.getRollerNumber());//获取当前板棍绑定信息 - 用于插入库存和移除绑定
if (ObjUtil.isNull(inTrayMsg)){
//物料数量固定为1,辊号唯一
//插入库存明细信息
BasStock stockInit = new BasStock().builder()
.stockId(stockId)
.stockDetailId(stockId + "-" + num)
.stockStatus(BasStockCode.STOCK_STATUS_AVAILABLE)
.jobId(mydoJob.getJobId())
.jobDetailId(mydoJob.getJobId() + "-" + num++)
.stockinId(inTrayMsg.getStockinId())//获取单据号需要从托盘绑定信息表获取
.stockinDetailId(inTrayMsg.getStockinDetailId())
.rollerNumber(detail.getRollerNumber())
.quantity(detail.getInQuantity())
.cargoSpaceId(mydoJob.getCargoSpaceId())
.productId(detail.getProductId())
.productName(detail.getProductName())
.length(inTrayMsg.getLength())
.perimeter(inTrayMsg.getPerimeter())
.inDate(DateUtil.date().now())
.build();
basStockService.insertBasStock(stockInit);
}else{
//回流入库 - 已经有当前板棍的库存 - 更新货位即可
stock.setCargoSpaceId(mydoJob.getCargoSpaceId());
stock.setStockStatus(BasStockCode.STOCK_STATUS_AVAILABLE);
stock.setJobId(detail.getJobId());
stock.setJobDetailId(detail.getJobDetailId());
basStockService.updateBasStock(stock);
}
//更新子单数量
InStockinDetail inStockinDetail = inStockinDetailService.selectInStockinDetailByRollerNumber(detail.getRollerNumber());
@@ -684,18 +702,20 @@ public class MydoJobHandler {
inStockinDetail.setAssignNum(BigDecimal.ONE);
inStockinDetail.setStatus(1);
inStockinDetailService.updateInStockinDetail(inStockinDetail);
stockInit.setStockinId(inStockinDetail.getStockinId());
stockInit.setStockDetailId(inStockinDetail.getStockinDetailId());
}
intrayMsgService.deleteInTrayMsgByRollerNumber(detail.getRollerNumber());
mydoJobService.insertMydoJobFinish(mydoJob.getJobId());
mydoJobService.deleteMydoJobByJobId(mydoJob.getJobId());
}//子任务循环处理
log.info("【账务处理-入库】任务完成,移除作业和绑定信息,更新货位信息,作业号:{}", mydoJob.getJobId());
}
//--------------------更新货位状态--------------------
basCargoSpaceService.updateBasCargoSpaceStatus(mydoJob.getCargoSpaceId(), mydoJob.getTrayCode(), CargoSpaceCode.CARGOSPACE_STATUS_OCCUPIED);
log.info("【账务处理】更新货位状态<占用>,作业号:{},货位:{},托盘号:{}", mydoJob.getJobId(), mydoJob.getCargoSpaceId(), mydoJob.getTrayCode());
mydoJobService.insertMydoJobFinish(mydoJob.getJobId());
mydoJobService.deleteMydoJobByJobId(mydoJob.getJobId());
log.info("【账务处理-入库】任务完成,移除作业和绑定信息,更新货位信息,作业号:{}", mydoJob.getJobId());
}
@@ -756,7 +776,6 @@ public class MydoJobHandler {
}
basStockInfoService.deleteBasStockInfoByTrayCode(mydoJob.getTrayCode());
basCargoSpaceService.updateBasCargoSpaceStatus(mydoJob.getCargoSpaceId(), "", CargoSpaceCode.CARGOSPACE_STATUS_AVAILABLE);
log.info("【账务处理-出库】任务完成,移除托盘库存,更新货位和库存信息,作业号:{},托盘号:{}", mydoJob.getJobId(), mydoJob.getTrayCode());