扫码异常清楚电子标签逻辑
This commit is contained in:
@@ -202,7 +202,7 @@ public class ToWmsServiceImpl implements IToWmsService {
|
|||||||
List<AgvContainerTask> agvContainerTasks = agvContainerTaskService.selectAgvContainerTaskList(agvContainerTaskParam);
|
List<AgvContainerTask> agvContainerTasks = agvContainerTaskService.selectAgvContainerTaskList(agvContainerTaskParam);
|
||||||
if (CollUtil.isNotEmpty(agvContainerTasks)){
|
if (CollUtil.isNotEmpty(agvContainerTasks)){
|
||||||
for (AgvContainerTask agvContainerTask : agvContainerTasks) {
|
for (AgvContainerTask agvContainerTask : agvContainerTasks) {
|
||||||
agvContainerTask.setStatus("3");
|
agvContainerTask.setStatus("2");
|
||||||
agvContainerTask.setFinishTime(DateUtil.formatDateTime(new Date()));
|
agvContainerTask.setFinishTime(DateUtil.formatDateTime(new Date()));
|
||||||
agvContainerTaskService.updateAgvContainerTask(agvContainerTask);
|
agvContainerTaskService.updateAgvContainerTask(agvContainerTask);
|
||||||
agvContainerTaskService.insertHistory(agvContainerTask.getId());
|
agvContainerTaskService.insertHistory(agvContainerTask.getId());
|
||||||
|
|||||||
@@ -60,6 +60,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -92,11 +93,11 @@ public class PdaServiceImp implements PdaService {
|
|||||||
private IOutStockoutService outStockoutService;
|
private IOutStockoutService outStockoutService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IOutStockoutDetailService outStockoutDetailService;
|
private IOutStockoutDetailService outStockoutDetailService;
|
||||||
@Autowired
|
@Resource
|
||||||
private BasProductPortMapper basProductPortMapper;
|
private BasProductPortMapper basProductPortMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBasStockService basStockService;
|
private IBasStockService basStockService;
|
||||||
@Autowired
|
@Resource
|
||||||
private MydoJobFinishMapper mydoJobFinishMapper;
|
private MydoJobFinishMapper mydoJobFinishMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IOutPickSubmitService outPickSubmitService;
|
private IOutPickSubmitService outPickSubmitService;
|
||||||
@@ -243,10 +244,6 @@ public class PdaServiceImp implements PdaService {
|
|||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public AjaxResult outMakeSure(TrayCodeMakeSure trayCodeMakeSure) {
|
public AjaxResult outMakeSure(TrayCodeMakeSure trayCodeMakeSure) {
|
||||||
|
|
||||||
/*List<MydoJobDetail> mydoJobDetailList = trayCodeMakeSure.getMydoJobDetailList();
|
|
||||||
if(CollUtil.isEmpty(mydoJobDetailList)){
|
|
||||||
return AjaxResult.warn("拣选的物料不能为空");
|
|
||||||
}*/
|
|
||||||
//判断任务是否存在
|
//判断任务是否存在
|
||||||
MydoJob mydoJobParam = new MydoJob();
|
MydoJob mydoJobParam = new MydoJob();
|
||||||
mydoJobParam.setTrayCode(trayCodeMakeSure.getTrayCode());
|
mydoJobParam.setTrayCode(trayCodeMakeSure.getTrayCode());
|
||||||
@@ -305,7 +302,7 @@ public class PdaServiceImp implements PdaService {
|
|||||||
//修改拣选数量
|
//修改拣选数量
|
||||||
mydoJobDetail.setPickQuantity(mydoJobDetail.getOutQuantity());
|
mydoJobDetail.setPickQuantity(mydoJobDetail.getOutQuantity());
|
||||||
mydoJobDetailService.updateMydoJobDetail(mydoJobDetail);
|
mydoJobDetailService.updateMydoJobDetail(mydoJobDetail);
|
||||||
updateTagTaskStatus(mydoJobDetail, basWarehouse);
|
|
||||||
|
|
||||||
//修改单据实际数量
|
//修改单据实际数量
|
||||||
String inOrOutDId = mydoJobDetail.getInOrOutDId();
|
String inOrOutDId = mydoJobDetail.getInOrOutDId();
|
||||||
@@ -315,7 +312,9 @@ public class PdaServiceImp implements PdaService {
|
|||||||
outStockoutDetailService.updateOutStockoutDetail(outStockoutDetail);
|
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());
|
mydoJobDetail.setPickQuantity(mydoJobDetail.getOutQuantity());
|
||||||
mydoJobDetailService.updateMydoJobDetail(mydoJobDetail);
|
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();
|
String inOrOutDId = mydoJobDetail.getInOrOutDId();
|
||||||
OutStockoutDetail outStockoutDetail = outStockoutDetailService.selectOutStockoutDetailByStockoutDetailId(inOrOutDId);
|
OutStockoutDetail outStockoutDetail = outStockoutDetailService.selectOutStockoutDetailByStockoutDetailId(inOrOutDId);
|
||||||
@@ -394,7 +370,11 @@ public class PdaServiceImp implements PdaService {
|
|||||||
outStockoutDetailService.updateOutStockoutDetail(outStockoutDetail);
|
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
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@@ -451,7 +463,9 @@ public class PdaServiceImp implements PdaService {
|
|||||||
|
|
||||||
mydoJobDetail.setSpare3("1");
|
mydoJobDetail.setSpare3("1");
|
||||||
mydoJobDetailService.updateMydoJobDetail(mydoJobDetail);
|
mydoJobDetailService.updateMydoJobDetail(mydoJobDetail);
|
||||||
updateTagTaskStatus(mydoJobDetail, basWarehouse);
|
if ("2".equals(basWarehouse.getWarehouseType())){
|
||||||
|
updateTagTaskStatus(mydoJobDetail);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailListByJobId(mydoJob.getJobId());
|
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailListByJobId(mydoJob.getJobId());
|
||||||
@@ -475,10 +489,9 @@ public class PdaServiceImp implements PdaService {
|
|||||||
* 修改电子标签数量
|
* 修改电子标签数量
|
||||||
*
|
*
|
||||||
* @param mydoJobDetail
|
* @param mydoJobDetail
|
||||||
* @param basWarehouse
|
|
||||||
*/
|
*/
|
||||||
private void updateTagTaskStatus(MydoJobDetail mydoJobDetail, BasWarehouse basWarehouse) {
|
private void updateTagTaskStatus(MydoJobDetail mydoJobDetail) {
|
||||||
if ("2".equals(basWarehouse.getWarehouseType())) {
|
|
||||||
//修改电子标签任务
|
//修改电子标签任务
|
||||||
TagTask param = new TagTask();
|
TagTask param = new TagTask();
|
||||||
param.setJobDetailId(mydoJobDetail.getJobDetailId());
|
param.setJobDetailId(mydoJobDetail.getJobDetailId());
|
||||||
@@ -488,7 +501,7 @@ public class PdaServiceImp implements PdaService {
|
|||||||
tagTask.setStatus("2");
|
tagTask.setStatus("2");
|
||||||
tagTaskService.updateTagTask(tagTask);
|
tagTaskService.updateTagTask(tagTask);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -542,6 +555,8 @@ public class PdaServiceImp implements PdaService {
|
|||||||
param.setJobId(mydoJob.getJobId());
|
param.setJobId(mydoJob.getJobId());
|
||||||
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(param);
|
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(param);
|
||||||
|
|
||||||
|
BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(mydoJob.getWarehouseId());
|
||||||
|
|
||||||
String stockOutId = "";
|
String stockOutId = "";
|
||||||
|
|
||||||
for (MydoJobDetail mydoJobDetail : mydoJobDetails) {
|
for (MydoJobDetail mydoJobDetail : mydoJobDetails) {
|
||||||
@@ -557,6 +572,13 @@ public class PdaServiceImp implements PdaService {
|
|||||||
basStock.setOutQuantity(String.valueOf(pickQuantity));
|
basStock.setOutQuantity(String.valueOf(pickQuantity));
|
||||||
basStockService.updateBasStock(basStock);
|
basStockService.updateBasStock(basStock);
|
||||||
|
|
||||||
|
//修改电子标签
|
||||||
|
if ("2".equals(basWarehouse.getWarehouseType())){
|
||||||
|
updateTagTaskStatus(mydoJobDetail);
|
||||||
|
}
|
||||||
|
|
||||||
|
//将数据存入中间表
|
||||||
|
insertPickSubmitData(mydoJob, mydoJobDetail);
|
||||||
}
|
}
|
||||||
//生成回流任务,标记productStatus为异常状态
|
//生成回流任务,标记productStatus为异常状态
|
||||||
HashMap<String, Object> map = new HashMap<>();
|
HashMap<String, Object> map = new HashMap<>();
|
||||||
@@ -566,6 +588,8 @@ public class PdaServiceImp implements PdaService {
|
|||||||
iToWcsService.pushInMydoJob();
|
iToWcsService.pushInMydoJob();
|
||||||
String result = map.get("v_result").toString();
|
String result = map.get("v_result").toString();
|
||||||
if ("10".equals(result)) {
|
if ("10".equals(result)) {
|
||||||
|
//删除电子标签信息
|
||||||
|
deleteTagTask(trayCodeMakeSure, basWarehouse, mydoJob);
|
||||||
//自动分配
|
//自动分配
|
||||||
return outStockoutService.autoAllot(stockOutId);
|
return outStockoutService.autoAllot(stockOutId);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user