From 9ff7e1e3cc3c85da0e5fa96724df682243469f49 Mon Sep 17 00:00:00 2001 From: youjie <272855983@qq.com> Date: Mon, 26 Jun 2023 15:04:37 +0800 Subject: [PATCH] 1. 修复pda 呼叫料盒 没有锁库位的问题 2. 一些接口加上并发限制 --- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/erp/service/impl/ErpServiceImpl.java | 4 +++- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mobile/service/IMobileService.java | 1 + huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mobile/service/impl/MobileService.java | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/IHuahengMultiHandlerService.java | 12 ++++++++++++ huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/impl/HuahengMultiHandlerServiceImpl.java | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/ErpTask.java | 16 ++++++---------- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptContainerHeader/service/impl/ReceiptContainerHeaderServiceImpl.java | 2 +- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/controller/ReceiptHeaderController.java | 13 ++++++++----- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java | 2 +- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/controller/ShipmentHeaderController.java | 19 +++++++------------ huaheng-wms-core/src/main/java/org/jeecg/modules/wms/stocktaking/cycleCountDetail/service/impl/CycleCountDetailServiceImpl.java | 2 +- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java | 18 ++++++++++-------- 12 files changed, 167 insertions(+), 102 deletions(-) diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/erp/service/impl/ErpServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/erp/service/impl/ErpServiceImpl.java index 22d4115..bc16604 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/erp/service/impl/ErpServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/erp/service/impl/ErpServiceImpl.java @@ -10,6 +10,7 @@ import java.util.stream.Collectors; import javax.annotation.Resource; import org.jeecg.common.api.vo.Result; +import org.jeecg.common.exception.JeecgBootException; import org.jeecg.modules.wms.api.erp.entity.*; import org.jeecg.modules.wms.api.erp.service.IErpService; import org.jeecg.modules.wms.config.address.service.IAddressService; @@ -38,7 +39,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.alibaba.fastjson.JSON; -import org.jeecg.common.exception.JeecgBootException; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -399,6 +399,7 @@ public class ErpServiceImpl implements IErpService { } @Override + @Transactional(rollbackFor = Exception.class) public Result backReceipt(ReceiptHeader receiptHeader) { if (receiptHeader == null) { return Result.error("回传入库单, 入库单为空!!"); @@ -436,6 +437,7 @@ public class ErpServiceImpl implements IErpService { } @Override + @Transactional(rollbackFor = Exception.class) public Result backShipment(ShipmentHeader shipmentHeader) { if (shipmentHeader == null) { return Result.error("回传出库单, 出库单为空!!"); diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mobile/service/IMobileService.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mobile/service/IMobileService.java index 15cb482..6553900 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mobile/service/IMobileService.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mobile/service/IMobileService.java @@ -8,5 +8,6 @@ import org.jeecg.modules.wms.task.taskHeader.entity.TaskHeader; public interface IMobileService { Result<TaskHeader> callBox(CallBoxBean bean, String warehouseCode); + Result<TaskHeader> quickReceipt(QuickReceiptBean bean, String warehouseCode); } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mobile/service/impl/MobileService.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mobile/service/impl/MobileService.java index bbda1c9..f596674 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mobile/service/impl/MobileService.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mobile/service/impl/MobileService.java @@ -1,16 +1,20 @@ package org.jeecg.modules.wms.api.mobile.service.impl; +import java.util.ArrayList; +import java.util.List; + import javax.annotation.Resource; import org.apache.commons.lang3.StringUtils; import org.jeecg.common.api.vo.Result; +import org.jeecg.common.exception.JeecgBootException; import org.jeecg.modules.wms.api.mobile.entity.CallBoxBean; import org.jeecg.modules.wms.api.mobile.entity.QuickReceiptBean; import org.jeecg.modules.wms.api.mobile.service.IMobileService; import org.jeecg.modules.wms.config.container.entity.Container; import org.jeecg.modules.wms.config.container.service.IContainerService; -import org.jeecg.modules.wms.config.location.entity.Location; import org.jeecg.modules.wms.config.location.service.ILocationService; +import org.jeecg.modules.wms.config.parameterConfiguration.service.IParameterConfigurationService; import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptDetail; import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptHeader; import org.jeecg.modules.wms.receipt.receiptHeader.service.IReceiptDetailService; @@ -24,11 +28,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.jeecg.common.exception.JeecgBootException; - -import java.util.ArrayList; -import java.util.List; - /** */ @Service @@ -51,56 +50,47 @@ public class MobileService implements IMobileService { @Resource private IReceiveService receiveService; + @Resource + private IParameterConfigurationService parameterConfigurationService; @Override @Transactional(rollbackFor = Exception.class) public Result<TaskHeader> callBox(CallBoxBean bean, String warehouseCode) { + String containerCode = bean.getContainerCode(); if (StringUtils.isEmpty(bean.getContainerCode())) { - return Result.error("托盘号containerCode不能为空"); + return Result.error("呼叫料盒,托盘号containerCode不能为空"); } if (StringUtils.isEmpty(bean.getLocationCode())) { - return Result.error("库位locationCode不能为空"); + return Result.error("呼叫料盒, 库位locationCode不能为空"); } if (StringUtils.isEmpty(bean.getCompanyCode())) { - return Result.error("货主companyCode不能为空"); + return Result.error("呼叫料盒, 货主companyCode不能为空"); } - if(StringUtils.isEmpty(bean.getPort())){ - return Result.error("出库口不能为空"); + if (StringUtils.isEmpty(bean.getPort())) { + return Result.error("呼叫料盒, 出库口不能为空"); } - - Container container = containerService.getContainerByCode(bean.getContainerCode(), warehouseCode); + Container container = containerService.getContainerByCode(containerCode, warehouseCode); if (container == null) { - return Result.error(bean.getContainerCode() + " " + warehouseCode + "容器不存在"); + return Result.error("呼叫料盒,容器为空"); } - - if (StringUtils.isEmpty(container.getLocationCode())) { - return Result.error(bean.getContainerCode() + "容器不在库位上"); + String fromLocationCode = container.getLocationCode(); + String toLocationCode = QuantityConstant.EMPTY_STRING; + String value = parameterConfigurationService.getValueByCode(QuantityConstant.RULE_TASK_LOCATION); + int taskLocationRule = Integer.parseInt(value); + if (taskLocationRule == QuantityConstant.RULE_TASK_SET_LOCATION) { + toLocationCode = fromLocationCode; } - - if (!container.getLocationCode().equals(bean.getLocationCode())) { - return Result.error(bean.getContainerCode() + "容器不在库位[" + bean.getLocationCode() + "]上"); - } - - Location loc = locationService.getLocationByCode(bean.getLocationCode(), warehouseCode); - // 校验目标地址 - if (loc == null) { - return Result.error("目标库位不存在"); - } - if (!QuantityConstant.STATUS_LOCATION_EMPTY.equals(loc.getStatus())) { - return Result.error("目标库位非空闲"); - } - // 判断托盘是否已经存在任务 - TaskHeader taskHeader = taskHeaderService.getUnCompleteTaskByContainerCode(bean.getContainerCode(), warehouseCode); - if (taskHeader != null) { - return Result.error("容器已存在任务"); + Result result = taskHeaderService.createTaskLockContainerAndLocation(bean.getType(), containerCode, fromLocationCode, toLocationCode, warehouseCode); + if (!result.isSuccess()) { + throw new JeecgBootException(result.getMessage()); } // 创建主任务 - taskHeader = new TaskHeader(); - taskHeader.setWarehouseCode(loc.getWarehouseCode()); + TaskHeader taskHeader = new TaskHeader(); + taskHeader.setWarehouseCode(warehouseCode); taskHeader.setCompanyCode(bean.getCompanyCode()); taskHeader.setToPortCode(bean.getPort()); if (bean.getType() == QuantityConstant.TASK_TYPE_SUPPLEMENTRECEIPT) { @@ -112,14 +102,12 @@ public class MobileService implements IMobileService { taskHeader.setInnernalTaskType(QuantityConstant.TASK_INTENERTYPE_SHIPMENT); taskHeader.setTaskType(QuantityConstant.TASK_TYPE_SORTINGSHIPMENT); } - taskHeader.setContainerCode(container.getCode()); + taskHeader.setContainerCode(containerCode); taskHeader.setStatus(QuantityConstant.TASK_STATUS_BUILD); - taskHeader.setFromLocationCode(loc.getCode()); - if (taskHeaderService.save(taskHeader)) { - // 锁定库位状态 - locationService.updateStatus(loc.getCode(), QuantityConstant.STATUS_LOCATION_LOCK, warehouseCode); - } else { - throw new JeecgBootException("补充入库主表生成失败!"); + taskHeader.setFromLocationCode(fromLocationCode); + taskHeader.setToLocationCode(toLocationCode); + if (!taskHeaderService.save(taskHeader)) { + throw new JeecgBootException("呼叫料盒, 保存任务失败"); } return Result.OK("呼叫料盒成功", taskHeader); @@ -141,7 +129,7 @@ public class MobileService implements IMobileService { return Result.error("收货明细不能为空"); } - //创建入库单 + // 创建入库单 ReceiptHeader receiptHeader = new ReceiptHeader(); receiptHeader.setType(bean.getReceiptType()); receiptHeader.setCompanyCode(bean.getCompanyCode()); @@ -153,32 +141,32 @@ public class MobileService implements IMobileService { } else { throw new JeecgBootException(rs1.getMessage()); } - + List<ReceiptDetail> receiptDetailList = bean.getReceiptDetails(); List<Receive> receiveList = new ArrayList<>(); - for (ReceiptDetail d : bean.getReceiptDetails()) { - d.setReceiptId(receiptHeader.getId()); - Result rs2 = receiptDetailService.saveReceiptDetail(d); - if(!rs2.isSuccess()) { + for (ReceiptDetail receiptDetail : receiptDetailList) { + receiptDetail.setReceiptId(receiptHeader.getId()); + Result rs2 = receiptDetailService.saveReceiptDetail(receiptDetail); + if (!rs2.isSuccess()) { throw new JeecgBootException(rs2.getMessage()); } - Receive v = new Receive(); - v.setId(d.getId()); - v.setQty(d.getQty()); - v.setTaskQty(d.getQty()); - v.setInventoryStatus(d.getInventoryStatus()); - v.setMaterialCode(d.getMaterialCode()); - v.setMaterialName(d.getMaterialName()); - v.setBatch(d.getBatch()); - v.setMaterialSpec(d.getMaterialSpec()); - v.setMaterialUnit(d.getMaterialUnit()); - v.setContainerCode(bean.getContainerCode()); - receiveList.add(v); + Receive receive = new Receive(); + receive.setId(receiptDetail.getId()); + receive.setQty(receiptDetail.getQty()); + receive.setTaskQty(receiptDetail.getQty()); + receive.setInventoryStatus(receiptDetail.getInventoryStatus()); + receive.setMaterialCode(receiptDetail.getMaterialCode()); + receive.setMaterialName(receiptDetail.getMaterialName()); + receive.setBatch(receiptDetail.getBatch()); + receive.setMaterialSpec(receiptDetail.getMaterialSpec()); + receive.setMaterialUnit(receiptDetail.getMaterialUnit()); + receive.setContainerCode(bean.getContainerCode()); + receiveList.add(receive); } Result<TaskHeader> rs3 = receiveService.receivingAndCreateTask(receiveList, warehouseCode); - if(rs3.isSuccess()) { + if (rs3.isSuccess()) { return rs3; - }else{ + } else { throw new JeecgBootException(rs3.getMessage()); } } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/IHuahengMultiHandlerService.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/IHuahengMultiHandlerService.java index 07fd580..0ff4ef3 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/IHuahengMultiHandlerService.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/IHuahengMultiHandlerService.java @@ -1,10 +1,14 @@ package org.jeecg.modules.wms.framework.service; import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.wms.api.mobile.entity.CallBoxBean; +import org.jeecg.modules.wms.api.mobile.entity.QuickReceiptBean; import org.jeecg.modules.wms.receipt.receiptContainerHeader.entity.ReceiptContainerHeader; +import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptHeader; import org.jeecg.modules.wms.shipment.shipmentCombination.entity.CombinationModel; import org.jeecg.modules.wms.shipment.shipmentContainerHeader.entity.ShipmentContainerHeader; import org.jeecg.modules.wms.shipment.shipmentHeader.entity.CombinationParam; +import org.jeecg.modules.wms.shipment.shipmentHeader.entity.ShipmentHeader; import org.jeecg.modules.wms.task.taskHeader.entity.TaskHeader; /** @@ -25,4 +29,12 @@ public interface IHuahengMultiHandlerService { Result autoCombination(String shipmentCode, String warehouseCode); Result createShipmentTask(ShipmentContainerHeader shipmentContainerHeader, String warehouseCode, long shipmentOrder, int sequence, int sequenceNumber); + + Result callBox(CallBoxBean bean, String warehouseCode); + + Result quickReceipt(QuickReceiptBean bean, String warehouseCode); + + Result backReceipt(ReceiptHeader receiptHeader); + + Result backShipment(ShipmentHeader shipmentHeader); } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/impl/HuahengMultiHandlerServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/impl/HuahengMultiHandlerServiceImpl.java index 6b751dc..1f54a49 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/impl/HuahengMultiHandlerServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/impl/HuahengMultiHandlerServiceImpl.java @@ -5,18 +5,24 @@ import java.math.BigDecimal; import javax.annotation.Resource; import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.wms.api.erp.service.IErpService; +import org.jeecg.modules.wms.api.mobile.entity.CallBoxBean; +import org.jeecg.modules.wms.api.mobile.entity.QuickReceiptBean; +import org.jeecg.modules.wms.api.mobile.service.IMobileService; import org.jeecg.modules.wms.framework.controller.HuahengBaseController; import org.jeecg.modules.wms.framework.service.IHuahengMultiHandlerService; import org.jeecg.modules.wms.inventory.inventoryHeader.entity.InventoryDetail; import org.jeecg.modules.wms.inventory.inventoryHeader.service.IInventoryDetailService; import org.jeecg.modules.wms.receipt.receiptContainerHeader.entity.ReceiptContainerHeader; import org.jeecg.modules.wms.receipt.receiptContainerHeader.service.IReceiptContainerHeaderService; +import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptHeader; import org.jeecg.modules.wms.shipment.shipmentCombination.entity.CombinationModel; import org.jeecg.modules.wms.shipment.shipmentCombination.service.IShipmentCombinationService; import org.jeecg.modules.wms.shipment.shipmentContainerHeader.entity.ShipmentContainerHeader; import org.jeecg.modules.wms.shipment.shipmentContainerHeader.service.IShipmentContainerHeaderService; import org.jeecg.modules.wms.shipment.shipmentHeader.entity.CombinationParam; import org.jeecg.modules.wms.shipment.shipmentHeader.entity.ShipmentDetail; +import org.jeecg.modules.wms.shipment.shipmentHeader.entity.ShipmentHeader; import org.jeecg.modules.wms.shipment.shipmentHeader.service.IShipmentDetailService; import org.jeecg.modules.wms.task.taskHeader.entity.TaskHeader; import org.jeecg.modules.wms.task.taskHeader.service.ITaskHeaderService; @@ -41,6 +47,10 @@ public class HuahengMultiHandlerServiceImpl extends HuahengBaseController implem private IInventoryDetailService inventoryDetailService; @Resource private IShipmentContainerHeaderService shipmentContainerHeaderService; + @Resource + private IMobileService mobileService; + @Resource + private IErpService erpService; @Override @Transactional(rollbackFor = Exception.class) @@ -119,6 +129,7 @@ public class HuahengMultiHandlerServiceImpl extends HuahengBaseController implem } @Override + @Transactional(rollbackFor = Exception.class) public Result autoCombination(String shipmentCode, String warehouseCode) { Result result = handleMultiProcess("combination", new MultiProcessListener() { @Override @@ -131,6 +142,7 @@ public class HuahengMultiHandlerServiceImpl extends HuahengBaseController implem } @Override + @Transactional(rollbackFor = Exception.class) public Result createShipmentTask(ShipmentContainerHeader shipmentContainerHeader, String warehouseCode, long shipmentOrder, int sequence, int sequenceNumber) { Result result = handleMultiProcess("createShipmentTask", new MultiProcessListener() { @Override @@ -142,4 +154,58 @@ public class HuahengMultiHandlerServiceImpl extends HuahengBaseController implem return result; } + @Override + @Transactional(rollbackFor = Exception.class) + public Result callBox(CallBoxBean bean, String warehouseCode) { + String lockKey = warehouseCode; + Result result = handleMultiProcess("callBox", lockKey, new MultiProcessListener() { + @Override + public Result<?> doProcess() { + Result result = mobileService.callBox(bean, warehouseCode); + return result; + } + }); + return result; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Result quickReceipt(QuickReceiptBean bean, String warehouseCode) { + String lockKey = warehouseCode; + Result result = handleMultiProcess("quickReceipt", lockKey, new MultiProcessListener() { + @Override + public Result<?> doProcess() { + Result result = mobileService.quickReceipt(bean, warehouseCode); + return result; + } + }); + return result; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Result backReceipt(ReceiptHeader receiptHeader) { + Result result = handleMultiProcess("backReceipt", new MultiProcessListener() { + @Override + public Result<?> doProcess() { + Result result = erpService.backReceipt(receiptHeader); + return result; + } + }); + return result; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Result backShipment(ShipmentHeader shipmentHeader) { + Result result = handleMultiProcess("backShipment", new MultiProcessListener() { + @Override + public Result<?> doProcess() { + Result result = erpService.backShipment(shipmentHeader); + return result; + } + }); + return result; + } + } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/ErpTask.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/ErpTask.java index 7d2d0be..76c5dd7 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/ErpTask.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/ErpTask.java @@ -1,23 +1,17 @@ package org.jeecg.modules.wms.monitor.job; -import java.util.HashMap; import java.util.List; -import java.util.Map; import javax.annotation.Resource; -import org.apache.commons.collections.MapUtils; import org.jeecg.modules.wms.api.erp.service.IErpService; +import org.jeecg.modules.wms.framework.service.IHuahengMultiHandlerService; import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptHeader; import org.jeecg.modules.wms.receipt.receiptHeader.service.IReceiptHeaderService; import org.jeecg.modules.wms.shipment.shipmentHeader.entity.ShipmentHeader; import org.jeecg.modules.wms.shipment.shipmentHeader.service.IShipmentHeaderService; import org.jeecg.utils.constant.QuantityConstant; -import org.quartz.DisallowConcurrentExecution; -import org.quartz.Job; -import org.quartz.JobExecutionContext; -import org.quartz.JobExecutionException; -import org.quartz.PersistJobDataAfterExecution; +import org.quartz.*; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -42,6 +36,8 @@ public class ErpTask implements Job { @Resource private IErpService erpService; + @Resource + private IHuahengMultiHandlerService huahengMultiHandlerService; @Override public void execute(JobExecutionContext context) throws JobExecutionException { @@ -51,7 +47,7 @@ public class ErpTask implements Job { List<ReceiptHeader> receiptHeaderList = receiptHeaderService.list(receiptHeaderLambdaQueryWrapper); for (ReceiptHeader receiptHeader : receiptHeaderList) { try { - erpService.backReceipt(receiptHeader); + huahengMultiHandlerService.backReceipt(receiptHeader); } catch (Exception e) { e.printStackTrace(); } @@ -63,7 +59,7 @@ public class ErpTask implements Job { List<ShipmentHeader> shipmentHeaderList = shipmentHeaderService.list(shipmentHeaderLambdaQueryWrapper); for (ShipmentHeader shipmentHeader : shipmentHeaderList) { try { - erpService.backShipment(shipmentHeader); + huahengMultiHandlerService.backShipment(shipmentHeader); } catch (Exception e) { e.printStackTrace(); } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptContainerHeader/service/impl/ReceiptContainerHeaderServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptContainerHeader/service/impl/ReceiptContainerHeaderServiceImpl.java index a33eaf6..daa262b 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptContainerHeader/service/impl/ReceiptContainerHeaderServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptContainerHeader/service/impl/ReceiptContainerHeaderServiceImpl.java @@ -137,7 +137,7 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai // 锁定容器和库位 Result result = taskHeaderService.createTaskLockContainerAndLocation(taskType, containerCode, fromLocationCode, toLocationCode, warehouseCode); if (!result.isSuccess()) { - return result; + throw new JeecgBootException(result.getMessage()); } TaskLockEntity taskLockEntity = (TaskLockEntity)result.getResult(); String zoneCode = taskLockEntity.getZoneCode(); diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/controller/ReceiptHeaderController.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/controller/ReceiptHeaderController.java index fc1e712..2bea9b2 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/controller/ReceiptHeaderController.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/controller/ReceiptHeaderController.java @@ -24,6 +24,7 @@ import org.jeecg.modules.wms.api.mobile.entity.CallBoxBean; import org.jeecg.modules.wms.api.mobile.entity.QuickReceiptBean; import org.jeecg.modules.wms.api.mobile.service.IMobileService; import org.jeecg.modules.wms.config.material.service.IMaterialService; +import org.jeecg.modules.wms.framework.service.IHuahengMultiHandlerService; import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptDetail; import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptHeader; import org.jeecg.modules.wms.receipt.receiptHeader.service.IReceiptDetailService; @@ -80,6 +81,8 @@ public class ReceiptHeaderController extends JeecgController<ReceiptHeader, IRec private IMaterialService materialService; @Resource private IErpService erpService; + @Resource + private IHuahengMultiHandlerService huahengMultiHandlerService; /*---------------------------------主表处理-begin-------------------------------------*/ @@ -357,7 +360,7 @@ public class ReceiptHeaderController extends JeecgController<ReceiptHeader, IRec @RequiresPermissions("receiptHeader:back") @RequestMapping(value = "/backErpReceipt", method = {RequestMethod.PUT, RequestMethod.POST}) public Result<?> backErpReceipt(@RequestBody ReceiptHeader receiptHeader) { - return erpService.backReceipt(receiptHeader); + return huahengMultiHandlerService.backReceipt(receiptHeader); } @AutoLog(value = "PDA入库-快速入库") @@ -368,9 +371,8 @@ public class ReceiptHeaderController extends JeecgController<ReceiptHeader, IRec public Result<?> quickReceipt(@RequestBody QuickReceiptBean bean, HttpServletRequest req) { String warehouseCode = HuahengJwtUtil.getWarehouseCodeByToken(req); bean.setWarehouseCode(warehouseCode); - - return mobileService.quickReceipt(bean, warehouseCode); - + Result result = huahengMultiHandlerService.quickReceipt(bean, warehouseCode); + return result; } @AutoLog(value = "PDA入库-呼叫料盒") @@ -382,6 +384,7 @@ public class ReceiptHeaderController extends JeecgController<ReceiptHeader, IRec String warehouseCode = HuahengJwtUtil.getWarehouseCodeByToken(req); // 补充入库类型 bean.setType(QuantityConstant.TASK_TYPE_SUPPLEMENTRECEIPT); - return mobileService.callBox(bean, warehouseCode); + Result result = huahengMultiHandlerService.callBox(bean, warehouseCode); + return result; } } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java index 72df89c..5c58ef0 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java @@ -512,7 +512,7 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi // 锁定容器、库位 Result result = taskHeaderService.createTaskLockContainerAndLocation(taskType, containerCode, fromLocationCode, toLocationCode, warehouseCode); if (!result.isSuccess()) { - return result; + throw new JeecgBootException(result.getMessage()); } TaskLockEntity taskLockEntity = (TaskLockEntity)result.getResult(); String zoneCode = taskLockEntity.getZoneCode(); diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/controller/ShipmentHeaderController.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/controller/ShipmentHeaderController.java index 22ac8b3..80c2a94 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/controller/ShipmentHeaderController.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/controller/ShipmentHeaderController.java @@ -24,6 +24,7 @@ import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.wms.api.erp.service.IErpService; import org.jeecg.modules.wms.api.mobile.entity.CallBoxBean; import org.jeecg.modules.wms.api.mobile.service.IMobileService; +import org.jeecg.modules.wms.framework.service.IHuahengMultiHandlerService; import org.jeecg.modules.wms.inventory.inventoryHeader.entity.InventoryDetail; import org.jeecg.modules.wms.inventory.inventoryHeader.service.IInventoryDetailService; import org.jeecg.modules.wms.shipment.shipmentHeader.entity.ShipmentDetail; @@ -40,16 +41,7 @@ import org.jeecgframework.poi.excel.entity.ExportParams; import org.jeecgframework.poi.excel.entity.ImportParams; import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; @@ -89,6 +81,8 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS private IErpService erpService; @Resource private IInventoryDetailService inventoryDetailService; + @Resource + private IHuahengMultiHandlerService huahengMultiHandlerService; /*---------------------------------主表处理-begin-------------------------------------*/ @@ -378,7 +372,7 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS @RequiresPermissions("shipmentHeader:back") @RequestMapping(value = "/backErpShipment", method = {RequestMethod.PUT, RequestMethod.POST}) public Result<?> backErpShipment(@RequestBody ShipmentHeader shipmentHeader) { - return erpService.backShipment(shipmentHeader); + return huahengMultiHandlerService.backShipment(shipmentHeader); } @AutoLog(value = "PDA出库-呼叫料盒") @@ -390,6 +384,7 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS String warehouseCode = HuahengJwtUtil.getWarehouseCodeByToken(req); // 补充入库类型 bean.setType(QuantityConstant.TASK_TYPE_SORTINGSHIPMENT); - return mobileService.callBox(bean, warehouseCode); + Result result = huahengMultiHandlerService.callBox(bean, warehouseCode); + return result; } } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/stocktaking/cycleCountDetail/service/impl/CycleCountDetailServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/stocktaking/cycleCountDetail/service/impl/CycleCountDetailServiceImpl.java index 58db1cb..7f2045f 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/stocktaking/cycleCountDetail/service/impl/CycleCountDetailServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/stocktaking/cycleCountDetail/service/impl/CycleCountDetailServiceImpl.java @@ -227,7 +227,7 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_CYCLECOUNT, containerCode, fromLocationCode, toLocationCode, warehouseCode); if (!result.isSuccess()) { - return result; + throw new JeecgBootException(result.getMessage()); } TaskLockEntity taskLockEntity = (TaskLockEntity)result.getResult(); String zoneCode = taskLockEntity.getZoneCode(); 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 877e257..e9efdb0 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 @@ -257,7 +257,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_TRANSFER, containerCode, fromLocationCode, toLocationCode, warehouseCode); if (!result.isSuccess()) { - return result; + throw new JeecgBootException(result.getMessage()); } TaskLockEntity taskLockEntity = (TaskLockEntity)result.getResult(); String zoneCode = taskLockEntity.getZoneCode(); @@ -308,7 +308,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_CHECK_OUT, containerCode, fromLocationCode, toLocationCode, warehouseCode); if (!result.isSuccess()) { - return result; + throw new JeecgBootException(result.getMessage()); } TaskLockEntity taskLockEntity = (TaskLockEntity)result.getResult(); String zoneCode = taskLockEntity.getZoneCode(); @@ -380,7 +380,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_OVER_STATION, containerCode, QuantityConstant.EMPTY_STRING, QuantityConstant.EMPTY_STRING, warehouseCode); if (!result.isSuccess()) { - return result; + throw new JeecgBootException(result.getMessage()); } TaskHeader taskHeader = new TaskHeader(); taskHeader.setWarehouseCode(warehouseCode); @@ -476,7 +476,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_MANY_EMPTYRECEIPT, containerCode, QuantityConstant.EMPTY_STRING, toLocationCode, warehouseCode); if (!result.isSuccess()) { - return result; + throw new JeecgBootException(result.getMessage()); } TaskLockEntity taskLockEntity = (TaskLockEntity)result.getResult(); String zoneCode = taskLockEntity.getZoneCode(); @@ -512,7 +512,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_MANY_EMPTYSHIPMENT, containerCode, QuantityConstant.EMPTY_STRING, QuantityConstant.EMPTY_STRING, warehouseCode); if (!result.isSuccess()) { - return result; + throw new JeecgBootException(result.getMessage()); } TaskLockEntity taskLockEntity = (TaskLockEntity)result.getResult(); String zoneCode = taskLockEntity.getZoneCode(); @@ -912,7 +912,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_EMPTYRECEIPT, containerCode, QuantityConstant.EMPTY_STRING, toLocationCode, warehouseCode); if (!result.isSuccess()) { - return result; + throw new JeecgBootException(result.getMessage()); } TaskHeader taskHeader = new TaskHeader(); taskHeader.setWarehouseCode(warehouseCode); @@ -954,7 +954,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_EMPTYSHIPMENT, containerCode, QuantityConstant.EMPTY_STRING, QuantityConstant.EMPTY_STRING, warehouseCode); if (!result.isSuccess()) { - return result; + throw new JeecgBootException(result.getMessage()); } TaskLockEntity taskLockEntity = (TaskLockEntity)result.getResult(); String zoneCode = taskLockEntity.getZoneCode(); @@ -1011,7 +1011,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea return Result.ok("入库任务(" + taskHeader.getId() + ")已经是完成的!"); } if (taskDetailList.isEmpty()) { - throw new JeecgBootException("入库任务明细为空"); + throw new JeecgBootException("完成入库任务时, 入库任务明细为空"); } Location toLocation = locationService.getLocationByCode(toLocationCode, warehouseCode); if (toLocation == null) { @@ -1442,6 +1442,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea case QuantityConstant.TASK_TYPE_OVER_STATION: result = taskHeaderService.createOverStationTaskLockContainer(containerCode, warehouseCode); break; + default: + throw new JeecgBootException("创建任务时,没有匹配到这种任务类型" + taskType); } return result; } -- libgit2 0.22.2