From e0d0669dae5b24bfeebff25b65d85fbb57195df7 Mon Sep 17 00:00:00 2001 From: zhangzq Date: Wed, 24 Jun 2026 13:53:03 +0800 Subject: [PATCH] =?UTF-8?q?add:=E5=8D=95=E6=8D=AE=E5=9B=9E=E4=BC=A0?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=9B=9E=E4=BC=A0=E7=AD=96=E7=95=A5=E5=8A=9F?= =?UTF-8?q?=E8=83=BDCallbackStrategy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/InboundPdaServiceImpl.java | 8 ------ .../PReceivingListenerHandler.java | 4 --- .../PurchaseFormListenerHandler.java | 1 - .../service/impl/PurchaseServiceImpl.java | 1 - .../inAndOut/service/dao/IOStorInvDtl.java | 8 ++++++ .../service/impl/OutBillServiceImpl.java | 11 +++----- .../impl/PmStockReturnServiceImpl.java | 1 - .../strategy/CallbackStrategyPublish.java | 21 ++++++++++++++++ .../strategy/core/CallbackStrategy.java | 16 ++++++++++++ .../impl/DealManufactureRecBillCallback.java | 25 +++++++++++++++++++ .../main/resources/config/application-dev.yml | 2 +- 11 files changed, 74 insertions(+), 24 deletions(-) create mode 100644 nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/stockReturn/strategy/CallbackStrategyPublish.java create mode 100644 nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/stockReturn/strategy/core/CallbackStrategy.java create mode 100644 nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/stockReturn/strategy/core/impl/DealManufactureRecBillCallback.java diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/pda_manage/ios_manage/purchase/service/impl/InboundPdaServiceImpl.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/pda_manage/ios_manage/purchase/service/impl/InboundPdaServiceImpl.java index 48618de..218a734 100644 --- a/nladmin-system/wms-server/src/main/java/org/nl/wms/pda_manage/ios_manage/purchase/service/impl/InboundPdaServiceImpl.java +++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/pda_manage/ios_manage/purchase/service/impl/InboundPdaServiceImpl.java @@ -7,14 +7,11 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import lombok.extern.slf4j.Slf4j; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.IdUtil; import org.nl.common.utils.MapOf; import org.nl.common.utils.SecurityUtils; -import org.nl.config.SpringContextHolder; import org.nl.wms.basedata_manage.service.*; import org.nl.wms.basedata_manage.service.dao.*; import org.nl.wms.pda_manage.ios_manage.purchase.service.dto.GroupPlateInboundDto; @@ -29,10 +26,7 @@ import org.nl.wms.pda_manage.ios_manage.purchase.service.InboundPdaService; import org.nl.wms.pda_manage.ios_manage.purchase.service.vo.PurchaseMatInfoVo; import org.nl.wms.pm_manage.purchase.service.dao.Purchasedtl; import org.nl.wms.pm_manage.purchase.service.dao.Purchasemst; -import org.nl.wms.pm_manage.purchase.service.dao.mapper.PurchasedtlMapper; -import org.nl.wms.pm_manage.purchase.service.dao.mapper.PurchasemstMapper; import org.nl.wms.pda_manage.ios_manage.purchase.service.dto.PdaGroupPlateDto; -import org.nl.wms.sch_manage.enums.StatusEnum; import org.nl.wms.warehouse_manage.enums.IOSEnum; import org.nl.wms.warehouse_manage.inAndOut.service.IInBillService; import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDtl; @@ -44,11 +38,9 @@ import org.nl.wms.warehouse_manage.inventory.core.enums.InventoryChangeType; import org.nl.wms.warehouse_manage.inventory.core.param.impl.AddInvParam; import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService; import org.nl.wms.warehouse_manage.service.dao.GroupPlate; -import org.nl.wms.warehouse_manage.stockReturn.service.IPmStockReturnService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationEventPublisher; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/pm_manage/preceiving/listenerHandler/PReceivingListenerHandler.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/pm_manage/preceiving/listenerHandler/PReceivingListenerHandler.java index ea67360..21e7b1b 100644 --- a/nladmin-system/wms-server/src/main/java/org/nl/wms/pm_manage/preceiving/listenerHandler/PReceivingListenerHandler.java +++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/pm_manage/preceiving/listenerHandler/PReceivingListenerHandler.java @@ -2,11 +2,7 @@ package org.nl.wms.pm_manage.preceiving.listenerHandler; import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import org.nl.wms.pm_manage.demand.service.IPmDemandService; -import org.nl.wms.pm_manage.demand.service.dao.PmDemand; -import org.nl.wms.pm_manage.demand.service.enums.DemandStatus; import org.nl.wms.pm_manage.listener.core.BaseFormListenerHandler; import org.nl.wms.warehouse_manage.enums.IOSEnum; import org.nl.wms.warehouse_manage.stockReturn.service.IPmStockReturnService; diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/pm_manage/purchase/ListenerHandler/PurchaseFormListenerHandler.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/pm_manage/purchase/ListenerHandler/PurchaseFormListenerHandler.java index 51f8bd5..eaf0046 100644 --- a/nladmin-system/wms-server/src/main/java/org/nl/wms/pm_manage/purchase/ListenerHandler/PurchaseFormListenerHandler.java +++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/pm_manage/purchase/ListenerHandler/PurchaseFormListenerHandler.java @@ -6,7 +6,6 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.time.DateFormatUtils; -import org.nl.common.utils.IdUtil; import org.nl.wms.ext_manage.purchase.service.dto.EasAuditRequestDto; import org.nl.wms.ext_manage.service.WmsToErpService; import org.nl.wms.pm_manage.listener.core.BaseFormListenerHandler; diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/pm_manage/purchase/service/impl/PurchaseServiceImpl.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/pm_manage/purchase/service/impl/PurchaseServiceImpl.java index 68a25e5..ebb1255 100644 --- a/nladmin-system/wms-server/src/main/java/org/nl/wms/pm_manage/purchase/service/impl/PurchaseServiceImpl.java +++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/pm_manage/purchase/service/impl/PurchaseServiceImpl.java @@ -15,7 +15,6 @@ import org.nl.common.utils.SecurityUtils; import org.nl.wms.ext_manage.service.WmsToErpService; import org.nl.wms.pda_manage.ios_manage.purchase.service.vo.PurchaseMatInfoVo; import com.alibaba.fastjson.JSON; -import org.nl.common.utils.IdUtil; import org.nl.wms.pm_manage.purchase.service.PurchaseService; import org.nl.wms.pm_manage.purchase.service.dao.Purchasedtl; import org.nl.wms.pm_manage.purchase.service.dao.Purchasemst; diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/dao/IOStorInvDtl.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/dao/IOStorInvDtl.java index a3675f3..9a22bf8 100644 --- a/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/dao/IOStorInvDtl.java +++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/dao/IOStorInvDtl.java @@ -3,6 +3,7 @@ package org.nl.wms.warehouse_manage.inAndOut.service.dao; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; +import org.nl.wms.warehouse_manage.stockReturn.strategy.core.CallbackStrategy; import java.io.Serializable; import java.math.BigDecimal; @@ -109,4 +110,11 @@ public class IOStorInvDtl implements Serializable { * 未分配数量 */ private BigDecimal unassign_qty; + + /** + * 单据回传策略 + * @see CallbackStrategy + */ + + private String callback_strategy ; } diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/OutBillServiceImpl.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/OutBillServiceImpl.java index 973cbef..93cbe59 100644 --- a/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/OutBillServiceImpl.java +++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/OutBillServiceImpl.java @@ -29,8 +29,6 @@ import org.nl.wms.basedata_manage.service.dao.Sectattr; import org.nl.wms.basedata_manage.service.dao.Structattr; import org.nl.wms.basedata_manage.service.dao.mapper.MdPbStoragevehicleextMapper; import org.nl.wms.basedata_manage.service.dto.*; -import org.nl.wms.pm_manage.demand.listenerHandler.DemandListenerParams; -import org.nl.wms.pm_manage.listener.PmManageEvent; import org.nl.wms.sch_manage.enums.TaskStatus; import org.nl.wms.sch_manage.service.ISchBasePointService; import org.nl.wms.sch_manage.service.ISchBaseTaskService; @@ -38,6 +36,7 @@ import org.nl.wms.sch_manage.service.dao.SchBasePoint; import org.nl.wms.sch_manage.service.dao.SchBaseTask; import org.nl.wms.sch_manage.service.dao.mapper.SchBasePointMapper; import org.nl.wms.sch_manage.service.core.tasks.StOutTask; +import org.nl.wms.warehouse_manage.stockReturn.strategy.CallbackStrategyPublish; import org.nl.wms.warehouse_manage.enums.IOSConstant; import org.nl.wms.warehouse_manage.enums.IOSEnum; import org.nl.wms.warehouse_manage.inventory.IStInventoryService; @@ -58,7 +57,6 @@ import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvMapper; import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDisDto; import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDtlDto; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.ApplicationEventPublisher; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -110,7 +108,7 @@ public class OutBillServiceImpl extends ServiceImpl i @Autowired private ISectattrService iSectattrService; @Autowired - private ApplicationEventPublisher eventPublisher; + private CallbackStrategyPublish callbackStrategyPublish; @Autowired private MdPbStoragevehicleextMapper mdPbStoragevehicleextMapper; @Autowired @@ -1195,10 +1193,7 @@ public class OutBillServiceImpl extends ServiceImpl i // 更新明细表状态 ioStorInvDtl.setBill_status(IOSEnum.BILL_STATUS.code("完成")); ioStorInvDtlMapper.updateById(ioStorInvDtl); - //TODO:这里不区分,后续在smart中区分,需求单出库才走这个 - eventPublisher.publishEvent( - new PmManageEvent(ioStorInvDtl.getSource_bill_type() - ,new DemandListenerParams(ioStorInvDtl.getSource_bill_code(),ioStorInvDtl.getAssign_qty(),ioStorInvDtl.getMaterial_code()))); + callbackStrategyPublish.callbackStrategy(ioStorInvDtl.getCallback_strategy(),ioStorInvDtl); // 查看明细是否全部完成 int countDtl = ioStorInvDtlMapper.selectCount(new LambdaQueryWrapper<>(IOStorInvDtl.class) .eq(IOStorInvDtl::getIostorinv_id,ioStorInvDtl.getIostorinv_id()) diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/stockReturn/service/impl/PmStockReturnServiceImpl.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/stockReturn/service/impl/PmStockReturnServiceImpl.java index 85ae9ab..458584f 100644 --- a/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/stockReturn/service/impl/PmStockReturnServiceImpl.java +++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/stockReturn/service/impl/PmStockReturnServiceImpl.java @@ -15,7 +15,6 @@ import org.nl.wms.warehouse_manage.stockReturn.service.dao.PmStockReturn; import org.nl.wms.warehouse_manage.stockReturn.service.enums.StockReturnStatusEnum; import org.nl.wms.warehouse_manage.stockReturn.service.mapper.PmStockReturnMapper; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; import javax.annotation.Resource; diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/stockReturn/strategy/CallbackStrategyPublish.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/stockReturn/strategy/CallbackStrategyPublish.java new file mode 100644 index 0000000..99a52a1 --- /dev/null +++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/stockReturn/strategy/CallbackStrategyPublish.java @@ -0,0 +1,21 @@ +package org.nl.wms.warehouse_manage.stockReturn.strategy; + +import org.nl.wms.warehouse_manage.stockReturn.strategy.core.CallbackStrategy; +import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDtl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Map; + +@Service +public class CallbackStrategyPublish { + @Autowired + Map callbackStrategyMap; + + public void callbackStrategy(String strategy, IOStorInvDtl param){ + CallbackStrategy callbackStrategy = callbackStrategyMap.get(strategy); + if (callbackStrategy!=null){ + callbackStrategy.buildCallback(param); + } + } +} diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/stockReturn/strategy/core/CallbackStrategy.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/stockReturn/strategy/core/CallbackStrategy.java new file mode 100644 index 0000000..bcf8797 --- /dev/null +++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/stockReturn/strategy/core/CallbackStrategy.java @@ -0,0 +1,16 @@ +package org.nl.wms.warehouse_manage.stockReturn.strategy.core; + + +import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDtl; + +/** + * 单据回传策略,出入库明细完成时需要做回传则配置 + */ +public interface CallbackStrategy { + + + default String getSourceType(){ + return this.getClass().getSimpleName(); + }; + void buildCallback(IOStorInvDtl param); +} diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/stockReturn/strategy/core/impl/DealManufactureRecBillCallback.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/stockReturn/strategy/core/impl/DealManufactureRecBillCallback.java new file mode 100644 index 0000000..1d199ba --- /dev/null +++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/warehouse_manage/stockReturn/strategy/core/impl/DealManufactureRecBillCallback.java @@ -0,0 +1,25 @@ +package org.nl.wms.warehouse_manage.stockReturn.strategy.core.impl; + +import org.nl.wms.warehouse_manage.stockReturn.service.IPmStockReturnService; +import org.nl.wms.warehouse_manage.stockReturn.strategy.core.CallbackStrategy; +import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDtl; +import org.nl.wms.welding_manage.service.work_order.IWorkOrderService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 生产入库回传 + */ +@Service +public class DealManufactureRecBillCallback implements CallbackStrategy { + + @Autowired + private IWorkOrderService iWorkOrderService; + @Autowired + private IPmStockReturnService iPmStockReturnService; + + @Override + public void buildCallback(IOStorInvDtl param) { + + } +} diff --git a/nladmin-system/wms-server/src/main/resources/config/application-dev.yml b/nladmin-system/wms-server/src/main/resources/config/application-dev.yml index e1899a7..ef4209a 100644 --- a/nladmin-system/wms-server/src/main/resources/config/application-dev.yml +++ b/nladmin-system/wms-server/src/main/resources/config/application-dev.yml @@ -174,7 +174,7 @@ sa-token: is-print: false lucene: index: - path: D:\lms\lucene\index + path: D:\lucene\index eas: webservice: wsdl: http://192.168.100.100:8080/ormrpc/services/WSNLWQFacade?wsdl