From 4806bbb2fa93e2df150bb69f720459f6b0c50c9a Mon Sep 17 00:00:00 2001 From: yiwenpeng <ywp303@163.com> Date: Fri, 9 Aug 2024 10:17:46 +0800 Subject: [PATCH] feat:优化自动出库 --- src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java | 39 +++++++++++++++++++++++++++++++-------- src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java | 1 - src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html | 10 +++++----- 3 files changed, 36 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java index f882c42..d94b624 100644 --- a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java +++ b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java @@ -25,6 +25,7 @@ import com.huaheng.pc.config.shipmentType.service.ShipmentTypeService; import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail; import com.huaheng.pc.inventory.inventoryDetail.service.InventoryDetailService; import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader; +import com.huaheng.pc.shipment.shipmentContainerHeader.domain.ShipmentContainerHeader; import com.huaheng.pc.shipment.shipmentContainerHeader.service.ShipmentContainerHeaderService; import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail; import com.huaheng.pc.shipment.shipmentDetail.service.ShipmentDetailService; @@ -39,7 +40,9 @@ import com.huaheng.pc.shipment.shipmentHeaderHistory.service.ShipmentHeaderHisto import com.huaheng.pc.system.dict.service.IDictDataService; import com.huaheng.pc.task.taskDetail.domain.TaskDetail; import com.huaheng.pc.task.taskDetail.service.TaskDetailService; +import com.huaheng.pc.task.taskHeader.domain.ShipmentTaskCreateModel; import com.huaheng.pc.task.taskHeader.domain.TaskHeader; +import com.huaheng.pc.task.taskHeader.service.ShipmentTaskService; import com.huaheng.pc.task.taskHeader.service.TaskHeaderService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -57,6 +60,8 @@ import java.util.stream.Collectors; @Service public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper, ShipmentHeader> implements ShipmentHeaderService { + @Resource + private ShipmentTaskService shipmentTaskService; @Resource private ConfigService configService; @@ -569,7 +574,7 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper, @Override public void autoShipmentExecute(ShipmentHeader shipmentHeader) { shipmentHeader.setAutoShipmentStatus(4); - shipmentHeader.setErrorMsg("自动组盘过程中程序错误,请手动继续"); + shipmentHeader.setErrorMsg("自动组盘过程中程序错误,请手动组盘"); updateById(shipmentHeader); //自动组盘 AjaxResult containerResult = shipmentContainerHeaderService.autoCombination(shipmentHeader.getCode(), true); @@ -578,14 +583,28 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper, return; } shipmentHeader.setAutoShipmentStatus(4); - shipmentHeader.setErrorMsg("自生成任务过程中程序错误,请手动继续"); + shipmentHeader.setErrorMsg("自生成任务过程中程序错误,请手动生成任务"); updateById(shipmentHeader); - //生成任务 - List<Integer> ids = (List<Integer>) containerResult.getData(); - AjaxResult taskResult = shipmentContainerHeaderService.createAutoTask(ids); - if (!updateShipmentErrorMsg(taskResult, shipmentHeader)) { - return; + + + List<ShipmentContainerHeader> shipmentContainerHeaders = shipmentContainerHeaderService.list(new LambdaQueryWrapper<ShipmentContainerHeader>() + .eq(ShipmentContainerHeader::getStatus, QuantityConstant.SHIPMENT_CONTAINER_BUILD)); + for (ShipmentContainerHeader item : shipmentContainerHeaders) { + ShipmentTaskCreateModel shipmentTask = new ShipmentTaskCreateModel(); + shipmentTask.setShipmentContainerHeaderIds(item.getId()); + AjaxResult taskResult = shipmentTaskService.createTaskFromShipmentContainers(shipmentTask, false); + if (!updateShipmentErrorMsg(taskResult, shipmentHeader)) { + return; + } } + + //生成任务 + //List<Integer> ids = (List<Integer>) containerResult.getData(); + //AjaxResult taskResult = shipmentContainerHeaderService.createAutoTask(ids); + //if (!updateShipmentErrorMsg(taskResult, shipmentHeader)) { + // return; + //} + //自动打印 int isPrint = Integer.parseInt(configService.getKey(QuantityConstant.AUTO_SHIPMENT_PRINT)); if (isPrint == 1) { @@ -608,7 +627,11 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper, public boolean updateShipmentErrorMsg(AjaxResult result, ShipmentHeader shipmentHeader) { if (result.getCode() != 200) { shipmentHeader.setAutoShipmentStatus(4); - shipmentHeader.setErrorMsg(result.getMsg()); + String errorMsg = result.getMsg(); + if (errorMsg.length() > 500) { + errorMsg = errorMsg.substring(0, 500); + } + shipmentHeader.setErrorMsg(errorMsg); updateById(shipmentHeader); return false; } diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java index 07d0f76..ac920a7 100644 --- a/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java +++ b/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java @@ -977,7 +977,6 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea //组盘表新建状态任务+任务表任务 Integer tasknum = shipmentContainerHeaderService.list(new LambdaQueryWrapper<ShipmentContainerHeader>() .in(ShipmentContainerHeader::getStatus, 1, 10) - .eq(ShipmentContainerHeader::getFlat, 0) .apply("(SUBSTRING(locationCode, 1, 3) in ('K05','K06','K07','K08') )")).size(); return tasknum; } diff --git a/src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html b/src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html index b1f3991..cb957fa 100644 --- a/src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html +++ b/src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html @@ -212,7 +212,7 @@ shiro:hasPermission="shipment:bill:close"> <i></i> 关闭自动出库 </a> - + <a class="btn btn-outline btn-success btn-rounded" onclick="autoShipmentChoose()" @@ -289,10 +289,10 @@ <i class="fa fa-code-fork"></i> 自动组盘 </a> - <!-- <a class="btn btn-outline btn-primary btn-rounded auto-shipment-task" onclick="Toshipping(2)"--> - <!-- shiro:hasPermission="shipment:shippingCombination:combination">--> - <!-- <i class="fa fa-code-fork"></i> 自动组盘并生成任务--> - <!-- </a>--> + <a class="btn btn-outline btn-primary btn-rounded auto-shipment-task" onclick="Toshipping(2)" + shiro:hasPermission="shipment:shippingCombination:combination"> + <i class="fa fa-code-fork"></i> 自动组盘并生成任务 + </a> <a class="btn btn-outline btn-primary btn-rounded auto-shipment" onclick="Toshipping(3)" shiro:hasPermission="shipment:shippingCombination:combination"> <i class="fa fa-code-fork"></i> 自动平库组盘 -- libgit2 0.22.2