Merge remote-tracking branch 'origin/master'

This commit is contained in:
猫猫guowen
2025-08-13 15:41:27 +08:00
2 changed files with 70 additions and 46 deletions

View File

@@ -202,7 +202,7 @@ public class ToWmsServiceImpl implements IToWmsService {
List<AgvContainerTask> agvContainerTasks = agvContainerTaskService.selectAgvContainerTaskList(agvContainerTaskParam);
if (CollUtil.isNotEmpty(agvContainerTasks)){
for (AgvContainerTask agvContainerTask : agvContainerTasks) {
agvContainerTask.setStatus("3");
agvContainerTask.setStatus("2");
agvContainerTask.setFinishTime(DateUtil.formatDateTime(new Date()));
agvContainerTaskService.updateAgvContainerTask(agvContainerTask);
agvContainerTaskService.insertHistory(agvContainerTask.getId());

View File

@@ -60,6 +60,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
@@ -92,11 +93,11 @@ public class PdaServiceImp implements PdaService {
private IOutStockoutService outStockoutService;
@Autowired
private IOutStockoutDetailService outStockoutDetailService;
@Autowired
@Resource
private BasProductPortMapper basProductPortMapper;
@Autowired
private IBasStockService basStockService;
@Autowired
@Resource
private MydoJobFinishMapper mydoJobFinishMapper;
@Autowired
private IOutPickSubmitService outPickSubmitService;
@@ -243,10 +244,6 @@ public class PdaServiceImp implements PdaService {
@Transactional(rollbackFor = Exception.class)
public AjaxResult outMakeSure(TrayCodeMakeSure trayCodeMakeSure) {
/*List<MydoJobDetail> mydoJobDetailList = trayCodeMakeSure.getMydoJobDetailList();
if(CollUtil.isEmpty(mydoJobDetailList)){
return AjaxResult.warn("拣选的物料不能为空");
}*/
//判断任务是否存在
MydoJob mydoJobParam = new MydoJob();
mydoJobParam.setTrayCode(trayCodeMakeSure.getTrayCode());
@@ -305,7 +302,7 @@ public class PdaServiceImp implements PdaService {
//修改拣选数量
mydoJobDetail.setPickQuantity(mydoJobDetail.getOutQuantity());
mydoJobDetailService.updateMydoJobDetail(mydoJobDetail);
updateTagTaskStatus(mydoJobDetail, basWarehouse);
//修改单据实际数量
String inOrOutDId = mydoJobDetail.getInOrOutDId();
@@ -315,7 +312,9 @@ public class PdaServiceImp implements PdaService {
outStockoutDetailService.updateOutStockoutDetail(outStockoutDetail);
}
//修改电子标签
updateTagTaskStatus(mydoJobDetail, basWarehouse);
if ("2".equals(basWarehouse.getWarehouseType())){
updateTagTaskStatus(mydoJobDetail);
}
}
//判断拣选数量是否等于出库数量
@@ -363,29 +362,6 @@ public class PdaServiceImp implements PdaService {
mydoJobDetail.setPickQuantity(mydoJobDetail.getOutQuantity());
mydoJobDetailService.updateMydoJobDetail(mydoJobDetail);
OutPickSubmit outPickSubmitParam = new OutPickSubmit();
//outPickSubmitParam.setJobId(mydoJob.getJobId());
//outPickSubmitParam.setJobDetailId(mydoJobDetail.getJobDetailId());
outPickSubmitParam.setWarehouseId(mydoJob.getWarehouseId());
outPickSubmitParam.setExitId(mydoJob.getExitId());
outPickSubmitParam.setProductId(mydoJobDetail.getProductId());
List<OutPickSubmit> outPickSubmits = outPickSubmitService.selectOutPickSubmitList(outPickSubmitParam);
if (outPickSubmits.isEmpty()) {
//存入中间表
OutPickSubmit outPickSubmit = new OutPickSubmit();
outPickSubmit.setJobId(mydoJob.getJobId());
outPickSubmit.setJobDetailId(mydoJobDetail.getJobDetailId());
outPickSubmit.setProductId(mydoJobDetail.getProductId());
outPickSubmit.setQuantity(mydoJobDetail.getOutQuantity());
outPickSubmit.setTrayCode(trayCodeMakeSure.getTrayCode());
outPickSubmit.setWarehouseId(mydoJob.getWarehouseId());
outPickSubmit.setExitId(mydoJob.getExitId());
outPickSubmitService.insertOutPickSubmit(outPickSubmit);
} else {
OutPickSubmit oldOutPickSubmit = outPickSubmits.get(0);
oldOutPickSubmit.setQuantity(Convert.toBigDecimal(oldOutPickSubmit.getQuantity()).add(Convert.toBigDecimal(mydoJobDetail.getPickQuantity())).toString());
outPickSubmitService.updateOutPickSubmit(oldOutPickSubmit);
}
//修改单据实际数量
String inOrOutDId = mydoJobDetail.getInOrOutDId();
OutStockoutDetail outStockoutDetail = outStockoutDetailService.selectOutStockoutDetailByStockoutDetailId(inOrOutDId);
@@ -394,7 +370,11 @@ public class PdaServiceImp implements PdaService {
outStockoutDetailService.updateOutStockoutDetail(outStockoutDetail);
}
//修改电子标签
updateTagTaskStatus(mydoJobDetail, basWarehouse);
if ("2".equals(basWarehouse.getWarehouseType())){
updateTagTaskStatus(mydoJobDetail);
}
//插入中间表
insertPickSubmitData(mydoJob, mydoJobDetail);
}
@@ -423,6 +403,38 @@ public class PdaServiceImp implements PdaService {
}
}
/**
* 插入中间表
* @param mydoJob
* @param mydoJobDetail
*/
private void insertPickSubmitData(MydoJob mydoJob, MydoJobDetail mydoJobDetail) {
OutPickSubmit outPickSubmitParam = new OutPickSubmit();
outPickSubmitParam.setWarehouseId(mydoJob.getWarehouseId());
outPickSubmitParam.setExitId(mydoJob.getExitId());
outPickSubmitParam.setProductId(mydoJobDetail.getProductId());
List<OutPickSubmit> outPickSubmits = outPickSubmitService.selectOutPickSubmitList(outPickSubmitParam);
if (outPickSubmits.isEmpty()) {
if (Convert.toInt(mydoJobDetail.getPickQuantity())>0){
//存入中间表
OutPickSubmit outPickSubmit = new OutPickSubmit();
outPickSubmit.setJobId(mydoJob.getJobId());
outPickSubmit.setJobDetailId(mydoJobDetail.getJobDetailId());
outPickSubmit.setProductId(mydoJobDetail.getProductId());
outPickSubmit.setQuantity(mydoJobDetail.getPickQuantity());
outPickSubmit.setTrayCode(mydoJob.getTrayCode());
outPickSubmit.setWarehouseId(mydoJob.getWarehouseId());
outPickSubmit.setExitId(mydoJob.getExitId());
outPickSubmitService.insertOutPickSubmit(outPickSubmit);
}
} else {
OutPickSubmit oldOutPickSubmit = outPickSubmits.get(0);
oldOutPickSubmit.setQuantity(Convert.toBigDecimal(oldOutPickSubmit.getQuantity()).add(Convert.toBigDecimal(mydoJobDetail.getPickQuantity())).toString());
outPickSubmitService.updateOutPickSubmit(oldOutPickSubmit);
}
}
@Override
@Transactional(rollbackFor = Exception.class)
@@ -451,7 +463,9 @@ public class PdaServiceImp implements PdaService {
mydoJobDetail.setSpare3("1");
mydoJobDetailService.updateMydoJobDetail(mydoJobDetail);
updateTagTaskStatus(mydoJobDetail, basWarehouse);
if ("2".equals(basWarehouse.getWarehouseType())){
updateTagTaskStatus(mydoJobDetail);
}
}
}
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailListByJobId(mydoJob.getJobId());
@@ -475,20 +489,19 @@ public class PdaServiceImp implements PdaService {
* 修改电子标签数量
*
* @param mydoJobDetail
* @param basWarehouse
*/
private void updateTagTaskStatus(MydoJobDetail mydoJobDetail, BasWarehouse basWarehouse) {
if ("2".equals(basWarehouse.getWarehouseType())) {
//修改电子标签任务
TagTask param = new TagTask();
param.setJobDetailId(mydoJobDetail.getJobDetailId());
List<TagTask> tagTasks = tagTaskService.selectTagTaskList(param);
if (CollUtil.isNotEmpty(tagTasks)) {
TagTask tagTask = tagTasks.get(0);
tagTask.setStatus("2");
tagTaskService.updateTagTask(tagTask);
}
private void updateTagTaskStatus(MydoJobDetail mydoJobDetail) {
//修改电子标签任务
TagTask param = new TagTask();
param.setJobDetailId(mydoJobDetail.getJobDetailId());
List<TagTask> tagTasks = tagTaskService.selectTagTaskList(param);
if (CollUtil.isNotEmpty(tagTasks)) {
TagTask tagTask = tagTasks.get(0);
tagTask.setStatus("2");
tagTaskService.updateTagTask(tagTask);
}
}
/**
@@ -542,6 +555,8 @@ public class PdaServiceImp implements PdaService {
param.setJobId(mydoJob.getJobId());
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(param);
BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(mydoJob.getWarehouseId());
String stockOutId = "";
for (MydoJobDetail mydoJobDetail : mydoJobDetails) {
@@ -557,6 +572,13 @@ public class PdaServiceImp implements PdaService {
basStock.setOutQuantity(String.valueOf(pickQuantity));
basStockService.updateBasStock(basStock);
//修改电子标签
if ("2".equals(basWarehouse.getWarehouseType())){
updateTagTaskStatus(mydoJobDetail);
}
//将数据存入中间表
insertPickSubmitData(mydoJob, mydoJobDetail);
}
//生成回流任务,标记productStatus为异常状态
HashMap<String, Object> map = new HashMap<>();
@@ -566,6 +588,8 @@ public class PdaServiceImp implements PdaService {
iToWcsService.pushInMydoJob();
String result = map.get("v_result").toString();
if ("10".equals(result)) {
//删除电子标签信息
deleteTagTask(trayCodeMakeSure, basWarehouse, mydoJob);
//自动分配
return outStockoutService.autoAllot(stockOutId);
} else {