扫码异常清楚电子标签逻辑
This commit is contained in:
@@ -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());
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user