取消堆垛机任务

This commit is contained in:
liuhanqing
2026-03-19 14:42:16 +08:00
parent 7638eedd1b
commit 556e9a8300
3 changed files with 39 additions and 18 deletions

View File

@@ -5,6 +5,7 @@ import com.ruoyi.api.domain.ReMaterialParam;
import com.ruoyi.api.domain.RequestEnter;
import com.ruoyi.api.domain.WmsJobRequest;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.job.mydojob.domain.MydoJob;
import java.util.HashMap;
@@ -22,7 +23,7 @@ public interface IToWcsService {
* @param taskNo
* @return
*/
AjaxResult cancelTaskByTaskNo(String taskNo);
AjaxResult cancelTaskByTaskNo(MydoJob job);
/**
* 入库任务请求根据托盘码和入口

View File

@@ -29,6 +29,7 @@ import com.ruoyi.pda.domain.TrayCodeMsg;
import com.ruoyi.pda.mapper.PdaMapper;
import com.ruoyi.pda.service.PdaService;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.weaver.loadtime.Aj;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
@@ -133,14 +134,25 @@ public class ToWcsServiceImpl implements IToWcsService {
@Override
public AjaxResult cancelTaskByTaskNo(String taskNo) {
public AjaxResult cancelTaskByTaskNo(MydoJob job) {
Map<String, String> map = new HashMap<>();
map.put("taskNo", taskNo);
RequestLog requestLog = requestLogService.getRequestLog(CANCEL_MYDOJOB_1, JSONUtil.toJsonStr(map), "取消任务");
if ("1".equals(requestLog.getIsSuccessful())) {
return AjaxResult.success();
map.put("taskNo", job.getTaskNo());
if (job.getWarehouseId().equals("01")){
RequestLog requestLog = requestLogService.getRequestLog(CANCEL_MYDOJOB_1, JSONUtil.toJsonStr(map), "取消任务");
if ("1".equals(requestLog.getIsSuccessful())) {
return AjaxResult.success();
}
return AjaxResult.error(requestLog.getErrorDetails());
}else if (job.getWarehouseId().equals("02")){
RequestLog requestLog = requestLogService.getRequestLog(CANCEL_MYDOJOB_2, JSONUtil.toJsonStr(map), "取消任务");
if ("1".equals(requestLog.getIsSuccessful())) {
return AjaxResult.success();
}
return AjaxResult.error(requestLog.getErrorDetails());
}else {
return AjaxResult.error();
}
return AjaxResult.error(requestLog.getErrorDetails());
}
@Override

View File

@@ -533,9 +533,15 @@ public class MydoJobServiceImpl implements IMydoJobService {
MydoJob job = selectMydoJobByJobId(jobId);
if (job == null) {
log.error("任务不存在");
return AjaxResult.error(job.getTrayCode()+"该托盘任务不存在");
return AjaxResult.error(jobId+"任务不存在");
}
if (job.getStatus().equals("1")){
if ("3".equals(job.getStatus())){
AjaxResult ajaxResult = iToWcsService.cancelTaskByTaskNo(job);
if(!ajaxResult.isSuccess()){
return AjaxResult.error(jobId+"任务取消失败");
}
}
if ("1".equals(job.getStatus()) || "3".equals(job.getStatus())){
MydoJobDetail mydoJobDetail = new MydoJobDetail();
mydoJobDetail.setJobId(jobId);
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(mydoJobDetail);
@@ -548,13 +554,15 @@ public class MydoJobServiceImpl implements IMydoJobService {
basStock.setOutQuantity(String.valueOf(substract));
basStockMapper.updateBasStock(basStock);
}
//修改单据数量
OutStockoutDetail outStockoutDetail = outStockoutDetailService.selectOutStockoutDetailByStockoutDetailId(detail.getInOrOutDId());
if (outStockoutDetail != null) {
BigDecimal allotQuantity = outStockoutDetail.getAllotQuantity();
BigDecimal substract = allotQuantity.subtract(Convert.toBigDecimal(detail.getOutQuantity()));
outStockoutDetail.setAllotQuantity(substract);
outStockoutDetailService.updateOutStockoutDetail(outStockoutDetail);
if ("20".equals(job.getInOrOut())|| "21".equals(job.getInOrOut())){
//修改单据数量
OutStockoutDetail outStockoutDetail = outStockoutDetailService.selectOutStockoutDetailByStockoutDetailId(detail.getInOrOutDId());
if (outStockoutDetail != null) {
BigDecimal allotQuantity = outStockoutDetail.getAllotQuantity();
BigDecimal substract = allotQuantity.subtract(Convert.toBigDecimal(detail.getOutQuantity()));
outStockoutDetail.setAllotQuantity(substract);
outStockoutDetailService.updateOutStockoutDetail(outStockoutDetail);
}
}
}
//修改货位状态
@@ -568,9 +576,9 @@ public class MydoJobServiceImpl implements IMydoJobService {
updateMydoJob(job);
insertHistory(jobId);
}else {
return AjaxResult.error(job.getTrayCode()+"该托盘任务已发送堆垛机,无法作废");
log.error("任务处理异常");
return AjaxResult.error(jobId+"任务处理异常");
}
}
} catch (Exception e) {