diff --git a/ant-design-vue-jeecg/src/views/system/receipt/ReceiptContainerHeaderList.vue b/ant-design-vue-jeecg/src/views/system/receipt/ReceiptContainerHeaderList.vue index b1709fa..0c775fd 100644 --- a/ant-design-vue-jeecg/src/views/system/receipt/ReceiptContainerHeaderList.vue +++ b/ant-design-vue-jeecg/src/views/system/receipt/ReceiptContainerHeaderList.vue @@ -108,8 +108,8 @@ <span slot="action" slot-scope="text, record"> <a v-if="record.status == 0 && record.taskType == 200" @click="selectFillPort(record)" v-has="'receiptContainerHeader:fill'">生成任务<a-divider type="vertical"/></a> <a v-else-if="record.status == 0" @click="selectContainerStatus(record)" v-has="'receiptContainerHeader:fill'">生成任务<a-divider type="vertical"/></a> - <a v-if="record.status == 0 && record.taskType == 200" @click="selectPort(record)" v-has="'receiptContainerHeader:createTask'">生成任务<a-divider type="vertical"/></a> - <a v-else-if="record.status == 0" @click="createTask(record)" v-has="'receiptContainerHeader:createTask'">生成任务<a-divider type="vertical"/></a> +<!-- <a v-if="record.status == 0 && record.taskType == 200" @click="selectPort(record)" v-has="'receiptContainerHeader:createTask'">生成任务<a-divider type="vertical"/></a>--> +<!-- <a v-else-if="record.status == 0" @click="createTask(record)" v-has="'receiptContainerHeader:createTask'">生成任务<a-divider type="vertical"/></a>--> <a-popconfirm v-if="record.status == 0" v-has="'receiptContainerHeader:delete'" title="确定取消配盘吗?" @confirm="() => handleDelete(record.id)"> <a>取消配盘<a-divider type="vertical"/></a> </a-popconfirm> diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsServiceImpl.java index c9c62ab..2a1baa1 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsServiceImpl.java @@ -516,11 +516,13 @@ public class WcsServiceImpl implements WcsService { return Result.error("任务已完成"); } - taskHeader.setStatus(QuantityConstant.TASK_STATUS_COMPLETED); - taskHeader.setIsEmptyOut(QuantityConstant.EMPTY_OUT); - taskHeader.setExceptionName("空出处理"); - taskHeader.setExceptionState(QuantityConstant.EXCEPTION_TASK_ERROR); - boolean success = taskHeaderService.updateById(taskHeader); + TaskHeader updateTaskHeader = new TaskHeader(); + updateTaskHeader.setId(taskHeader.getId()); + updateTaskHeader.setStatus(QuantityConstant.TASK_STATUS_COMPLETED); + updateTaskHeader.setIsEmptyOut(QuantityConstant.EMPTY_OUT); + updateTaskHeader.setExceptionName("空出处理"); + updateTaskHeader.setExceptionState(QuantityConstant.EXCEPTION_TASK_ERROR); + boolean success = taskHeaderService.updateById(updateTaskHeader); if (!success) { return Result.error("修改任务失败,空出处理失败"); } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/ITaskHeaderService.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/ITaskHeaderService.java index 99c6bde..e166788 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/ITaskHeaderService.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/ITaskHeaderService.java @@ -89,6 +89,13 @@ public interface ITaskHeaderService extends IService<TaskHeader> { Result completeTaskByWMS(Integer taskId); /** + * 取消任务,恢复数据 + * @param taskHeader + * @return + */ + public Result cancelLocationAndContainerStatus(TaskHeader taskHeader); + + /** * 取消WMS任务 * @param taskId * @return @@ -276,14 +283,14 @@ public interface ITaskHeaderService extends IService<TaskHeader> { Result completeManyEmptyOutTask(TaskHeader taskHeader); /** - * 完成入库 + * 取消入库 * @param taskHeader * @return */ Result cancelReceiptTask(TaskHeader taskHeader); /** - * 完成出库 + * 取消出库 * @param taskHeader * @return */ diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java index 4efe245..c015eda 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java @@ -10,10 +10,8 @@ import java.util.stream.Collectors; import javax.annotation.Resource; -import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.vo.Result; import org.jeecg.common.exception.JeecgBootException; -import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.wms.api.wcs.service.LocationAllocationService; import org.jeecg.modules.wms.api.wcs.service.WcsService; import org.jeecg.modules.wms.config.container.entity.Container; @@ -921,7 +919,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea result = taskHeaderService.cancelShipmentTask(taskHeader); break; } - cancelLocationAndContainerStatus(taskHeader); + taskHeaderService.cancelLocationAndContainerStatus(taskHeader); return result; } @@ -2250,6 +2248,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea * @param taskHeader * @return */ + @Override @Transactional(rollbackFor = Exception.class) public Result cancelLocationAndContainerStatus(TaskHeader taskHeader) { String containerCode = taskHeader.getContainerCode(); @@ -2265,9 +2264,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea } } if (StringUtils.isNotEmpty(toLocationCode)) { - success = locationService.updateStatus(toLocationCode, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode); - if (!success) { - throw new JeecgBootException("取消任务时, 更新目标库位状态失败"); + if (StringUtils.isNotEmpty(fromLocationCode) && !toLocationCode.equals(fromLocationCode)) { + success = locationService.updateStatus(toLocationCode, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode); + if (!success) { + throw new JeecgBootException("取消任务时, 更新目标库位状态失败"); + } } } InventoryHeader inventoryHeader = inventoryHeaderService.getInventoryHeaderByContainerCode(containerCode, warehouseCode);