diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToWcsService.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToWcsService.java index 058af46..99e85e2 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToWcsService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToWcsService.java @@ -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); /** * 入库任务请求根据托盘码和入口 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWcsServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWcsServiceImpl.java index bc16a32..d282558 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWcsServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWcsServiceImpl.java @@ -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 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 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/impl/MydoJobServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/impl/MydoJobServiceImpl.java index 6a04e6b..ef483c5 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/impl/MydoJobServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/impl/MydoJobServiceImpl.java @@ -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 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) {