| | |
| | | package com.zy.common.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.core.common.Cools; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.domain.Result.CancelTaskBatchResult; |
| | |
| | | return true; |
| | | } |
| | | |
| | | public CancelTaskBatchResult cancelOutTaskBatchInfo(CancelTaskBatchParam param) { |
| | | if (param == null) { |
| | | throw new CoolException("åæ°ä¸è½ä¸ºç©º"); |
| | | } |
| | | List<CancelTaskParam> taskList = param.getTaskList(); |
| | | if (taskList == null || taskList.isEmpty()) { |
| | | throw new CoolException("ä»»å¡åæ°å表为空"); |
| | | } |
| | | |
| | | List<String> successList = new ArrayList<>(); |
| | | List<String> failList = new ArrayList<>(); |
| | | for (CancelTaskParam taskParam : taskList) { |
| | | if (taskParam == null) { |
| | | throw new CoolException("ä»»å¡åæ°ä¸è½ä¸ºç©º"); |
| | | } |
| | | boolean cancelStatus = false; |
| | | try { |
| | | cancelStatus = cancelSingleOutTaskBatchInfo(taskParam); |
| | | } catch (Exception e) { |
| | | } |
| | | |
| | | if (cancelStatus) { |
| | | successList.add(resolveTaskIdentifier(taskParam)); |
| | | } else { |
| | | failList.add(resolveTaskIdentifier(taskParam)); |
| | | } |
| | | } |
| | | |
| | | CancelTaskBatchResult result = new CancelTaskBatchResult(); |
| | | result.setSuccessList(successList); |
| | | result.setFailList(failList); |
| | | return result; |
| | | } |
| | | |
| | | private boolean cancelSingleOutTaskBatchInfo(CancelTaskParam param) { |
| | | WrkMast wrkMast = null; |
| | | Integer wrkNo = param.getWrkNo(); |
| | | String taskNo = param.getTaskNo(); |
| | | if (wrkNo == null) { |
| | | if (Cools.isEmpty(taskNo)) { |
| | | throw new CoolException("WMSä»»å¡å·ä¸è½ä¸ºç©º"); |
| | | } |
| | | wrkMast = wrkMastService.getOne(new QueryWrapper<WrkMast>().eq("wms_wrk_no", taskNo)); |
| | | } else { |
| | | wrkMast = wrkMastService.selectByWorkNo(wrkNo); |
| | | } |
| | | if (wrkMast == null) { |
| | | throw new CoolException("ä»»å¡ä¸åå¨"); |
| | | } |
| | | if (!wrkMast.getIoType().equals(WrkIoType.OUT.id)) { |
| | | throw new CoolException("ä»
æ¯æåºåºä»»å¡"); |
| | | } |
| | | |
| | | boolean updated = wrkMast.getWrkNo() != null && wrkMastService.update(null, new UpdateWrapper<WrkMast>() |
| | | .eq("wrk_no", wrkMast.getWrkNo()) |
| | | .set("batch", null) |
| | | .set("batch_seq", null) |
| | | .set("modi_time", new Date())); |
| | | if (!updated) { |
| | | throw new CoolException("åæ¶åºåºä»»å¡æ¹æ¬¡åæ¹æ¬¡åºå·å¤±è´¥"); |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | private String resolveTaskIdentifier(CancelTaskParam param) { |
| | | if (!Cools.isEmpty(param.getTaskNo())) { |
| | | return param.getTaskNo(); |
| | | } |
| | | if (param.getWrkNo() != null) { |
| | | return String.valueOf(param.getWrkNo()); |
| | | } |
| | | return ""; |
| | | } |
| | | |
| | | public CancelTaskBatchResult cancelTaskBatch(CancelTaskBatchParam param) { |
| | | if (param == null) { |
| | | throw new CoolException("åæ°ä¸è½ä¸ºç©º"); |