测试修改

This commit is contained in:
liuhanqing
2025-07-17 14:21:11 +08:00
parent f7a79cdc7e
commit 1cbb1a12a8
21 changed files with 348 additions and 167 deletions

View File

@@ -216,10 +216,10 @@ public class PdaServiceImp implements PdaService {
@Transactional(rollbackFor = Exception.class)
public AjaxResult outMakeSure(TrayCodeMakeSure trayCodeMakeSure) {
List<MydoJobDetail> mydoJobDetailList = trayCodeMakeSure.getMydoJobDetailList();
/*List<MydoJobDetail> mydoJobDetailList = trayCodeMakeSure.getMydoJobDetailList();
if(CollUtil.isEmpty(mydoJobDetailList)){
return AjaxResult.warn("拣选的物料不能为空");
}
}*/
//判断任务是否存在
MydoJob mydoJobParam = new MydoJob();
mydoJobParam.setTrayCode(trayCodeMakeSure.getTrayCode());
@@ -247,10 +247,10 @@ public class PdaServiceImp implements PdaService {
switch (billType) {
case "1":
//拣选单据
return handleOutType1(trayCodeMakeSure,mydoJobDetailList,mydoJobList.get(0));
return handleOutType1(trayCodeMakeSure, mydoJobDetails, mydoJobList.get(0));
case "2":
//退货单据 不绑定容器
return handleOutType2(trayCodeMakeSure,mydoJobDetailList,mydoJobList.get(0));
return handleOutType2(trayCodeMakeSure, mydoJobDetails, mydoJobList.get(0));
default:
return AjaxResult.warn("单据类型错误");
}
@@ -258,20 +258,22 @@ public class PdaServiceImp implements PdaService {
/**
* 处理退货出库
*
* @param trayCodeMakeSure
* @param mydoJobDetailList
* @param mydoJob
* @return
*/
private AjaxResult handleOutType2(TrayCodeMakeSure trayCodeMakeSure,List<MydoJobDetail> mydoJobDetailList,MydoJob mydoJob) {
private AjaxResult handleOutType2(TrayCodeMakeSure trayCodeMakeSure, List<MydoJobDetail> mydoJobDetailList, MydoJob mydoJob) {
//修改拣选数量
for (MydoJobDetail mydoJobDetail : mydoJobDetailList) {
MydoJobDetail mydoJobDetailOld = mydoJobDetailService.selectMydoJobDetailByJobDetailId(mydoJobDetail.getJobDetailId());
BigDecimal oldPickQuantity = Convert.toBigDecimal(mydoJobDetailOld.getPickQuantity());
BigDecimal newPickQuantity = Convert.toBigDecimal(mydoJobDetail.getPickQuantity());
mydoJobDetailOld.setPickQuantity(oldPickQuantity.add(newPickQuantity).toString());
mydoJobDetailService.updateMydoJobDetail(mydoJobDetailOld);
//修改拣选数量
//MydoJobDetail mydoJobDetailOld = mydoJobDetailService.selectMydoJobDetailByJobDetailId(mydoJobDetail.getJobDetailId());
/*BigDecimal oldPickQuantity = Convert.toBigDecimal(mydoJobDetailOld.getPickQuantity());
BigDecimal newPickQuantity = Convert.toBigDecimal(mydoJobDetail.getOutQuantity());*/
mydoJobDetail.setPickQuantity(mydoJobDetail.getOutQuantity());
mydoJobDetailService.updateMydoJobDetail(mydoJobDetail);
//修改电子标签
TagTask param = new TagTask();
param.setJobDetailId(mydoJobDetail.getJobDetailId());
@@ -279,13 +281,13 @@ public class PdaServiceImp implements PdaService {
if (CollUtil.isNotEmpty(tagTasks)) {
TagTask tagTask = tagTasks.get(0);
BigDecimal num = Convert.toBigDecimal(tagTask.getNum());
if (num.compareTo(newPickQuantity) == 0){
tagTask.setStatus("2");
tagTaskService.updateTagTask(tagTask);
}else {
/*if (num.compareTo(newPickQuantity) == 0){*/
tagTask.setStatus("2");
tagTaskService.updateTagTask(tagTask);
/*}else {
tagTask.setNum(num.subtract(newPickQuantity).toString());
tagTaskService.updateTagTask(tagTask);
}
}*/
}
}
@@ -312,44 +314,45 @@ public class PdaServiceImp implements PdaService {
/**
* 处理正常出库
*
* @param trayCodeMakeSure
* @param mydoJobDetailList
* @param mydoJob
* @return
*/
private AjaxResult handleOutType1(TrayCodeMakeSure trayCodeMakeSure,List<MydoJobDetail> mydoJobDetailList,MydoJob mydoJob) {
private AjaxResult handleOutType1(TrayCodeMakeSure trayCodeMakeSure, List<MydoJobDetail> mydoJobDetailList, MydoJob mydoJob) {
for (MydoJobDetail mydoJobDetail : mydoJobDetailList) {
//修改拣选数量
MydoJobDetail mydoJobDetailOld = mydoJobDetailService.selectMydoJobDetailByJobDetailId(mydoJobDetail.getJobDetailId());
BigDecimal oldPickQuantity = Convert.toBigDecimal(mydoJobDetailOld.getPickQuantity());
BigDecimal newPickQuantity = Convert.toBigDecimal(mydoJobDetail.getPickQuantity());
mydoJobDetailOld.setPickQuantity(oldPickQuantity.add(newPickQuantity).toString());
mydoJobDetailService.updateMydoJobDetail(mydoJobDetailOld);
//MydoJobDetail mydoJobDetailOld = mydoJobDetailService.selectMydoJobDetailByJobDetailId(mydoJobDetail.getJobDetailId());
/*BigDecimal oldPickQuantity = Convert.toBigDecimal(mydoJobDetailOld.getPickQuantity());
BigDecimal newPickQuantity = Convert.toBigDecimal(mydoJobDetail.getOutQuantity());*/
mydoJobDetail.setPickQuantity(mydoJobDetail.getOutQuantity());
mydoJobDetailService.updateMydoJobDetail(mydoJobDetail);
OutPickSubmit outPickSubmitParam = new OutPickSubmit();
//outPickSubmitParam.setJobId(mydoJob.getJobId());
//outPickSubmitParam.setJobDetailId(mydoJobDetail.getJobDetailId());
outPickSubmitParam.setTrayCode(trayCodeMakeSure.getTrayCode());
List<OutPickSubmit> outPickSubmits = outPickSubmitService.selectOutPickSubmitList(outPickSubmitParam);
if (outPickSubmits.isEmpty()){
if (outPickSubmits.isEmpty()) {
//存入中间表
OutPickSubmit outPickSubmit = new OutPickSubmit();
outPickSubmit.setJobId(mydoJob.getJobId());
outPickSubmit.setJobDetailId(mydoJobDetail.getJobDetailId());
outPickSubmit.setProductId(mydoJobDetail.getProductId());
outPickSubmit.setQuantit(mydoJobDetail.getPickQuantity());
outPickSubmit.setQuantit(mydoJobDetail.getOutQuantity());
outPickSubmit.setTrayCode(trayCodeMakeSure.getTrayCode());
outPickSubmitService.insertOutPickSubmit(outPickSubmit);
}else {
} else {
OutPickSubmit oldOutPickSubmit = outPickSubmits.get(0);
oldOutPickSubmit.setQuantit(Convert.toBigDecimal(oldOutPickSubmit.getQuantit()).add(Convert.toBigDecimal(mydoJobDetail.getPickQuantity())).toString());
outPickSubmitService.updateOutPickSubmit(oldOutPickSubmit);
}
//修改单据实际数量
String inOrOutDId = mydoJobDetailOld.getInOrOutDId();
String inOrOutDId = mydoJobDetail.getInOrOutDId();
OutStockoutDetail outStockoutDetail = outStockoutDetailService.selectOutStockoutDetailByStockoutDetailId(inOrOutDId);
outStockoutDetail.setAssignNum(outStockoutDetail.getAssignNum().add(Convert.toBigDecimal(mydoJobDetail.getPickQuantity())));
outStockoutDetailService.updateOutStockoutDetail(outStockoutDetail);
@@ -386,14 +389,13 @@ public class PdaServiceImp implements PdaService {
}
@Override
@Transactional(rollbackFor = Exception.class)
public AjaxResult checkMakeSure(TrayCodeMakeSure trayCodeMakeSure) {
List<MydoJobDetail> mydoJobDetailList = trayCodeMakeSure.getMydoJobDetailList();
if(CollUtil.isNotEmpty(mydoJobDetailList)){
if (CollUtil.isNotEmpty(mydoJobDetailList)) {
boolean flag = mydoJobDetailList.stream().anyMatch(x -> StrUtil.isEmpty(x.getStockId()) && "0".equals(x.getInQuantity()));
if (flag){
if (flag) {
return AjaxResult.warn("新增库存,存在为0的数量");
}
for (MydoJobDetail mydoJobDetail : mydoJobDetailList) {
@@ -420,9 +422,9 @@ public class PdaServiceImp implements PdaService {
map.put("v_tray_code", trayCodeMakeSure.getTrayCode());
pdaMapper.checkMakeSure(map);
String result = map.get("v_result").toString();
if("10".equals(result)){
if ("10".equals(result)) {
return AjaxResult.success(map.get("v_resultmsg").toString());
}else{
} else {
return AjaxResult.warn(map.get("v_resultmsg").toString());
}
}
@@ -470,7 +472,7 @@ public class PdaServiceImp implements PdaService {
//自动分配
return outStockoutService.autoAllot(stockOutId);
} else {
throw new RuntimeException(map.get("v_resultmsg").toString());
throw new RuntimeException(map.get("v_resultmsg").toString());
}
}
@@ -512,17 +514,17 @@ public class PdaServiceImp implements PdaService {
//判断details中的数量是否都为0
if (CollUtil.isNotEmpty(basContainer.getDetails())) {
for (BasContainerDetails detail : basContainer.getDetails()) {
//如果存在数量不为0的
//如果存在数量不为0的
if (detail.getQuantity() != 0) {
if(StrUtil.isEmpty(basContainer.getSpare1())){
if (StrUtil.isEmpty(basContainer.getSpare1())) {
return AjaxResult.warn("请选择退料仓库");
}
//去ctu库站点
BasProductPort basProductPort = new BasProductPort();
basProductPort.setWarehouseId(basContainer.getSpare1());
List<BasProductPort> basProductPorts = basProductPortMapper.selectBasProductPortList(basProductPort);
endPoint=basProductPorts.get(0).getId();
endPoint = basProductPorts.get(0).getId();
}
@@ -555,13 +557,26 @@ public class PdaServiceImp implements PdaService {
if (space.getStatus() != null) {
String statusName;
switch (Integer.parseInt(space.getStatus())) {
case 1: statusName = "空货位"; break;
case 2: statusName = "满货位"; break;
case 3: statusName = "入库分配"; break;
case 4: statusName = "出库分配"; break;
case 5: statusName = "入库需盘点"; break;
case 6: statusName = "出库需盘点"; break;
default: continue;
case 1:
statusName = "空货位";
break;
case 2:
statusName = "满货位";
break;
case 3:
statusName = "入库分配";
break;
case 4:
statusName = "出库分配";
break;
case 5:
statusName = "入库需盘点";
break;
case 6:
statusName = "出库需盘点";
break;
default:
continue;
}
statusCount.put(statusName, statusCount.getOrDefault(statusName, 0) + 1);
}
@@ -594,17 +609,17 @@ public class PdaServiceImp implements PdaService {
mydoJob1.setInOut("2");
List<MydoJob> mydoJobs1 = mydoJobFinishMapper.selectMydoJobFinishListByMydoJob(mydoJob1);
map.put("in",mydoJobs.size());
map.put("out",mydoJobs1.size());
map.put("in", mydoJobs.size());
map.put("out", mydoJobs1.size());
return map;
}
@Override
public AjaxResult bindContainer(TrayCodeMakeSure trayCodeMakeSure) {
if (CollUtil.isEmpty(trayCodeMakeSure.getMydoJobDetailList())){
if (CollUtil.isEmpty(trayCodeMakeSure.getMydoJobDetailList())) {
return AjaxResult.warn("请选择提供绑定数量");
}
if (StrUtil.isEmpty(trayCodeMakeSure.getContainerCode())){
if (StrUtil.isEmpty(trayCodeMakeSure.getContainerCode())) {
return AjaxResult.warn("请选择绑定容器");
}
for (MydoJobDetail mydoJobDetail : trayCodeMakeSure.getMydoJobDetailList()) {
@@ -613,11 +628,11 @@ public class PdaServiceImp implements PdaService {
basContainerDetailsParam.setContainerId(trayCodeMakeSure.getContainerCode());
basContainerDetailsParam.setProductId(mydoJobDetail.getProductId());
List<BasContainerDetails> basContainerDetails = basContainerDetailsService.selectBasContainerDetailsList(basContainerDetailsParam);
if (CollUtil.isNotEmpty(basContainerDetails)){
if (CollUtil.isNotEmpty(basContainerDetails)) {
BasContainerDetails oldBasContainerDetails = basContainerDetails.get(0);
oldBasContainerDetails.setQuantity(oldBasContainerDetails.getQuantity()+Convert.toLong(mydoJobDetail.getPickBindQuantity()));
oldBasContainerDetails.setQuantity(oldBasContainerDetails.getQuantity() + Convert.toLong(mydoJobDetail.getPickBindQuantity()));
basContainerDetailsService.updateBasContainerDetails(oldBasContainerDetails);
}else {
} else {
BasContainerDetails newBasContainerDetails = new BasContainerDetails();
newBasContainerDetails.setContainerId(trayCodeMakeSure.getContainerCode());
newBasContainerDetails.setProductId(mydoJobDetail.getProductId());
@@ -632,12 +647,12 @@ public class PdaServiceImp implements PdaService {
List<OutPickSubmit> outPickSubmits = outPickSubmitService.selectOutPickSubmitList(outPickSubmitParam);
for (OutPickSubmit outPickSubmit : outPickSubmits) {
BigDecimal subtract = Convert.toBigDecimal(outPickSubmit.getQuantit()).subtract(Convert.toBigDecimal(mydoJobDetail.getPickBindQuantity()));
if (subtract.compareTo(BigDecimal.ZERO) == 0){
if (subtract.compareTo(BigDecimal.ZERO) == 0) {
//删除缓存信息
outPickSubmitService.deleteOutPickSubmitById(outPickSubmit.getId());
}else if (subtract.compareTo(BigDecimal.ZERO) < 0){
} else if (subtract.compareTo(BigDecimal.ZERO) < 0) {
return AjaxResult.warn("绑定数量不能大于实际数量");
}else {
} else {
outPickSubmit.setQuantit(subtract.toString());
outPickSubmitService.updateOutPickSubmit(outPickSubmit);
}