From c72df0103790a93e98e17dde0324e135872c9aba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Mon, 1 Jun 2026 16:38:24 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E9=80=81=E6=98=8E=E7=BB=86=E5=90=8C?= =?UTF-8?q?=E6=AD=A5wms?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mhd/system/api/WmsServiceFeign.java | 7 ++ .../api/domain/DeliveryDetailsLink.java | 50 ++++++++++ .../mapper/ReservationStockInOrderMapper.java | 3 + ...ReservationStockOutOrderDomainService.java | 17 ++++ .../ReservationStockInOrderMapper.xml | 4 + .../StockOutOrderApplicationService.java | 12 +++ .../entity/DeliveryDetailsLink.java | 50 ++++++++++ .../facade/IDeliveryDetailsLinkService.java | 48 ++++++++++ .../mapper/DeliveryDetailsLinkMapper.java | 23 +++++ .../persistence/DeliveryDetailsLinkImpl.java | 95 +++++++++++++++++++ .../repository/po/DeliveryDetailsLinkPO.java | 55 +++++++++++ .../todo/DeliveryDetailsLinkDO.java | 59 ++++++++++++ .../DeliveryDetailsLinkDomainService.java | 70 ++++++++++++++ .../repository/po/StockOutOrderPO.java | 3 + .../service/StockOutOrderDomainService.java | 16 ++++ .../stockOutOrder/StockOutOrderApi.java | 10 ++ 16 files changed, 522 insertions(+) create mode 100644 mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/DeliveryDetailsLink.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/entity/DeliveryDetailsLink.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/facade/IDeliveryDetailsLinkService.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/mapper/DeliveryDetailsLinkMapper.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/persistence/DeliveryDetailsLinkImpl.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/po/DeliveryDetailsLinkPO.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/todo/DeliveryDetailsLinkDO.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/service/DeliveryDetailsLinkDomainService.java diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 48fa38331..687c0e1ae 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -82,6 +82,13 @@ public interface WmsServiceFeign { @PostMapping(value = "/stockOutOrderApi/omsOutOrderAddDetail") public void omsOutOrderAddDetail(@RequestBody List outMaterialDetails); + /** + * oms下发单明细保存 + */ + @ApiOperation("oms下发单明细保存") + @PostMapping(value = "/stockOutOrderApi/omsOutOrderAddDeliveryDetailsLink") + public void omsOutOrderAddDeliveryDetailsLink(@RequestBody List deliveryDetailsLinks); + /** * oms下发单保存 diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/DeliveryDetailsLink.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/DeliveryDetailsLink.java new file mode 100644 index 000000000..0038cd817 --- /dev/null +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/DeliveryDetailsLink.java @@ -0,0 +1,50 @@ +package com.mhd.system.api.domain; +//package com.mhd.wms.domain.deliveryDetailsLink.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class DeliveryDetailsLink extends BaseVOEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("编号") + @TableId(type = IdType.AUTO) + private Long id; + @ApiModelProperty("oms编号") + private Long omsId; + + @ApiModelProperty(value = "业务单id") + private Long orderId; + @ApiModelProperty(value = "业务单号") + private String orderNumber; + @ApiModelProperty(value = "退货入库单号") + private String returnOrderNumber; + @ApiModelProperty(value = "类别") + private String category; + + @ApiModelProperty(value = "发票编号") + private String invoiceNumber; + + @ApiModelProperty(value = "客户编号") + private String customerNumber; + + @ApiModelProperty(value = "配送名称") + private String deliveryName; + + @ApiModelProperty(value = "箱") + private Integer box; + + @ApiModelProperty(value = "包") + private Integer bag; + + @ApiModelProperty(value = "金额") + private BigDecimal amount; + +} \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/mapper/ReservationStockInOrderMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/mapper/ReservationStockInOrderMapper.java index c401cfe84..4021063d3 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/mapper/ReservationStockInOrderMapper.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/repository/mapper/ReservationStockInOrderMapper.java @@ -10,6 +10,7 @@ import com.mhd.oms.domain.reservationStockInOrder.repository.po.ReservationStock import com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationStockInOrderDO; import org.apache.ibatis.annotations.Param; +import java.math.BigDecimal; import java.util.List; /** @@ -44,4 +45,6 @@ public interface ReservationStockInOrderMapper extends BaseMapper list = deliveryDetailsLinkService.list(new QueryWrapper().lambda().eq(ReservationDeliveryDetailsLink::getOrderNumber, byId.getOutOrderNumber())); + List deliveryDetailsLinkList = new ArrayList<>(); + for (ReservationDeliveryDetailsLink reservationDeliveryDetailsLink : list) { + DeliveryDetailsLink deliveryDetailsLink = new DeliveryDetailsLink(); + BeanUtils.copyProperties(reservationDeliveryDetailsLink, deliveryDetailsLink,"id"); + deliveryDetailsLink.setOmsId(reservationDeliveryDetailsLink.getId()); + deliveryDetailsLinkList.add(deliveryDetailsLink); + } + wmsServiceFeign.omsOutOrderAddDeliveryDetailsLink(deliveryDetailsLinkList); + + String inOrderNumber = stockOutOrder.getOutOrderNumber(); List materialDetailList = outMaterialDetailService.list(new QueryWrapper().lambda().eq(ReservationOutMaterialDetail::getOutOrderNumber, inOrderNumber)); List outMaterialDetailList = new ArrayList<>(); @@ -818,6 +832,9 @@ public class ReservationStockOutOrderDomainService { stockOutOrder.setReturnQuantity(returnQuantity.add(new BigDecimal(bag))); } stockOutOrderService.updateById(stockOutOrder); + //退货数量同步w + reservationStockInOrderMapper.updateWmsOut(stockOutOrder.getOutOrderNumber(),stockOutOrder.getReturnQuantity()); + String subOrderId = businessDeliveryDetailsLink.getSubOrderId(); BusinessDocumentOrder businessDocumentOrder = businessDocumentOrderMapper.selectOne(new LambdaQueryWrapper().eq(BusinessDocumentOrder::getId, subOrderId)); businessDocumentOrder.setOrderStatus(3L); diff --git a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml index 47a25b4ac..90005ccd1 100644 --- a/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationStockInOrder/ReservationStockInOrderMapper.xml @@ -550,4 +550,8 @@ update "NGWL_TEST_WLHY".TMS_TRANSPORT_NOTE set WAYBILL_STATUS =12 where TRANSPORTATION_NUMBER = #{transportationNumber} + + update "NGWL_TEST_WMS".stock_in_order set return_quantity = #{quantity} where in_order_number = #{orderNumber} + + \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java index 92da35fea..88cbbca89 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java @@ -28,6 +28,8 @@ import com.mhd.system.api.domain.cache.AssociationWarehouseCacheDO; import com.mhd.system.api.domain.cache.SystemServiceCacheUtil; import com.mhd.system.api.model.LoginUser; import com.mhd.wms.domain.copyCodeReference.repository.po.CopyCodeReferencePO; +import com.mhd.wms.domain.deliveryDetailsLink.entity.DeliveryDetailsLink; +import com.mhd.wms.domain.deliveryDetailsLink.repository.facade.IDeliveryDetailsLinkService; import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail; import com.mhd.wms.domain.materialInventory.entity.MaterialInventory; import com.mhd.wms.domain.materialInventory.repository.mapper.MaterialInventoryMapper; @@ -96,6 +98,8 @@ public class StockOutOrderApplicationService { private IPickingMaterialDetailService pickingMaterialDetailService; @Autowired private IReceiptOrderAccountService receiptOrderAccountService; + @Autowired + private IDeliveryDetailsLinkService deliveryDetailsLinkService; /** @@ -218,6 +222,10 @@ public class StockOutOrderApplicationService { for (StockOutOrderPO stockOutOrderPO : stockOutOrderPOS) { String outOrderNumber = stockOutOrderPO.getOutOrderNumber(); + + List list = deliveryDetailsLinkService.list(new LambdaQueryWrapper().eq(DeliveryDetailsLink::getOrderNumber, outOrderNumber)); + stockOutOrderPO.setDeliveryDetailsLinkList(list); + OutStockListMaterialAgg mag = materialAggByNum.get(outOrderNumber); BigDecimal reduce = (mag != null && mag.getTotalOutboundQuantity() != null) ? mag.getTotalOutboundQuantity() : BigDecimal.ZERO; @@ -1431,6 +1439,10 @@ public class StockOutOrderApplicationService { stockOutOrderDomainService.omsOrderAddDetail(outMaterialDetails); } + public void omsOrderAddDeliveryDetailsLink(List deliveryDetailsLinks){ + stockOutOrderDomainService.omsOrderAddDeliveryDetailsLink(deliveryDetailsLinks); + } + public List queryOutStockNoticePrint(StockOutOrderDTO stockOutOrderDTO) { return stockOutOrderDomainService.queryOutStockNoticePrint(stockOutOrderDTO); } diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/entity/DeliveryDetailsLink.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/entity/DeliveryDetailsLink.java new file mode 100644 index 000000000..eba5f078f --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/entity/DeliveryDetailsLink.java @@ -0,0 +1,50 @@ +package com.mhd.wms.domain.deliveryDetailsLink.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@TableName(value = "delivery_details_link") +public class DeliveryDetailsLink extends BaseVOEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("编号") + @TableId(type = IdType.AUTO) + private Long id; + @ApiModelProperty("oms编号") + private Long omsId; + + @ApiModelProperty(value = "业务单id") + private Long orderId; + @ApiModelProperty(value = "业务单号") + private String orderNumber; + @ApiModelProperty(value = "退货入库单号") + private String returnOrderNumber; + @ApiModelProperty(value = "类别") + private String category; + + @ApiModelProperty(value = "发票编号") + private String invoiceNumber; + + @ApiModelProperty(value = "客户编号") + private String customerNumber; + + @ApiModelProperty(value = "配送名称") + private String deliveryName; + + @ApiModelProperty(value = "箱") + private Integer box; + + @ApiModelProperty(value = "包") + private Integer bag; + + @ApiModelProperty(value = "金额") + private BigDecimal amount; + +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/facade/IDeliveryDetailsLinkService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/facade/IDeliveryDetailsLinkService.java new file mode 100644 index 000000000..af2de38dd --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/facade/IDeliveryDetailsLinkService.java @@ -0,0 +1,48 @@ +package com.mhd.wms.domain.deliveryDetailsLink.repository.facade; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.mhd.wms.domain.deliveryDetailsLink.entity.DeliveryDetailsLink; +import com.mhd.wms.domain.deliveryDetailsLink.repository.po.DeliveryDetailsLinkPO; +import com.mhd.wms.domain.deliveryDetailsLink.repository.todo.DeliveryDetailsLinkDO; + +import java.util.List; + +/** + * 预约配送明细关联Service接口 + * + * @author gen + * @date 2026-05-26 + */ +public interface IDeliveryDetailsLinkService extends IService +{ + /** + * 分页查询预约配送明细关联列表 + */ + public List queryList(DeliveryDetailsLinkDO deliveryDetailsLinkDO); + + /** + * 新增预约配送明细关联 + */ + public Boolean insert(DeliveryDetailsLinkDO deliveryDetailsLinkDO); + + /** + * 修改预约配送明细关联 + */ + public Boolean update(DeliveryDetailsLinkDO deliveryDetailsLinkDO); + + /** + * 批量删除预约配送明细关联 + */ + public Boolean delete(Long[] ids); + + + /** + * 查询预约配送明细关联 + */ + public DeliveryDetailsLinkPO getInfo(Long id); + + /** + * 批量新增 + */ + Boolean batchInsert(List deliveryDetailsLinkDOList); +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/mapper/DeliveryDetailsLinkMapper.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/mapper/DeliveryDetailsLinkMapper.java new file mode 100644 index 000000000..67a741485 --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/mapper/DeliveryDetailsLinkMapper.java @@ -0,0 +1,23 @@ +package com.mhd.wms.domain.deliveryDetailsLink.repository.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.mhd.wms.domain.deliveryDetailsLink.entity.DeliveryDetailsLink; +import com.mhd.wms.domain.deliveryDetailsLink.repository.po.DeliveryDetailsLinkPO; +import com.mhd.wms.domain.deliveryDetailsLink.repository.todo.DeliveryDetailsLinkDO; + +import java.util.List; + +/** + * 预约配送明细关联Mapper接口 + * + * @author gen + * @date 2026-05-26 + */ +public interface DeliveryDetailsLinkMapper extends BaseMapper +{ + /** + * 查询预约配送明细关联列表 + */ + public List queryList(DeliveryDetailsLinkDO deliveryDetailsLinkDO); + +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/persistence/DeliveryDetailsLinkImpl.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/persistence/DeliveryDetailsLinkImpl.java new file mode 100644 index 000000000..df45d2525 --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/persistence/DeliveryDetailsLinkImpl.java @@ -0,0 +1,95 @@ +package com.mhd.wms.domain.deliveryDetailsLink.repository.persistence; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.mhd.wms.domain.deliveryDetailsLink.entity.DeliveryDetailsLink; +import com.mhd.wms.domain.deliveryDetailsLink.repository.facade.IDeliveryDetailsLinkService; +import com.mhd.wms.domain.deliveryDetailsLink.repository.mapper.DeliveryDetailsLinkMapper; +import com.mhd.wms.domain.deliveryDetailsLink.repository.po.DeliveryDetailsLinkPO; +import com.mhd.wms.domain.deliveryDetailsLink.repository.todo.DeliveryDetailsLinkDO; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 预约配送明细关联Service业务层处理 + * + * @author gen + * @date 2026-05-26 + */ +@Service +public class DeliveryDetailsLinkImpl extends ServiceImpl implements IDeliveryDetailsLinkService { + @Autowired + private DeliveryDetailsLinkMapper reservationDeliveryDetailsLinkMapper; + + /** + * 查询预约配送明细关联列表 + */ + @Override + public List queryList(DeliveryDetailsLinkDO reservationDeliveryDetailsLinkDO) + { + return reservationDeliveryDetailsLinkMapper.queryList(reservationDeliveryDetailsLinkDO); + } + + /** + * 新增预约配送明细关联 + */ + @Override + public Boolean insert(DeliveryDetailsLinkDO reservationDeliveryDetailsLinkDO) { + DeliveryDetailsLink reservationDeliveryDetailsLink = new DeliveryDetailsLink(); + BeanUtils.copyProperties(reservationDeliveryDetailsLinkDO, reservationDeliveryDetailsLink); + return this.save(reservationDeliveryDetailsLink); + } + + /** + * 修改预约配送明细关联 + */ + @Override + public Boolean update(DeliveryDetailsLinkDO reservationDeliveryDetailsLinkDO) { + DeliveryDetailsLink reservationDeliveryDetailsLink = new DeliveryDetailsLink(); + BeanUtils.copyProperties(reservationDeliveryDetailsLinkDO, reservationDeliveryDetailsLink); + return this.updateById(reservationDeliveryDetailsLink); + } + + /** + * 批量删除预约配送明细关联 + */ + @Override + public Boolean delete(Long[] ids ) { + List list = new ArrayList<>(); + for (Long id : ids) { + DeliveryDetailsLink reservationDeliveryDetailsLink = new DeliveryDetailsLink(); + reservationDeliveryDetailsLink.setId(id); + reservationDeliveryDetailsLink.setDelFlag(2); + list.add(reservationDeliveryDetailsLink); + } + return this.updateBatchById(list); + } + + /** + * 查询预约配送明细关联 + */ + @Override + public DeliveryDetailsLinkPO getInfo(Long id) { + DeliveryDetailsLink reservationDeliveryDetailsLink = this.getById(id); + DeliveryDetailsLinkPO reservationDeliveryDetailsLinkPO = new DeliveryDetailsLinkPO(); + BeanUtils.copyProperties(reservationDeliveryDetailsLink, reservationDeliveryDetailsLinkPO); + return reservationDeliveryDetailsLinkPO; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean batchInsert(List reservationDeliveryDetailsLinkDOList) { + List reservationDeliveryDetailsLinkList = reservationDeliveryDetailsLinkDOList.stream().map(reservationDeliveryDetailsLinkDO -> { + DeliveryDetailsLink reservationDeliveryDetailsLink = new DeliveryDetailsLink(); + BeanUtils.copyProperties(reservationDeliveryDetailsLinkDO, reservationDeliveryDetailsLink); + return reservationDeliveryDetailsLink; + }).collect(Collectors.toList()); + + return this.saveBatch(reservationDeliveryDetailsLinkList); + } +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/po/DeliveryDetailsLinkPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/po/DeliveryDetailsLinkPO.java new file mode 100644 index 000000000..db1cee929 --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/po/DeliveryDetailsLinkPO.java @@ -0,0 +1,55 @@ +package com.mhd.wms.domain.deliveryDetailsLink.repository.po; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + + +/** + * 预约配送明细关联对象 oms_receipt_info + * + * @author gen + * @date 2026-05-26 + */ + +@Data +@ApiModel(value = "预约配送明细关联对象", description = "预约配送明细关联响应对象") +public class DeliveryDetailsLinkPO extends BaseVOEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("编号") + @TableId(type = IdType.AUTO) + private Long id; + @ApiModelProperty("oms编号") + private Long omsId; + @ApiModelProperty(value = "业务单id") + private Long orderId; + @ApiModelProperty(value = "业务单号") + private String orderNumber; + @ApiModelProperty(value = "类别") + private String category; + + @ApiModelProperty(value = "发票编号") + private String invoiceNumber; + + @ApiModelProperty(value = "客户编号") + private String customerNumber; + + @ApiModelProperty(value = "配送名称") + private String deliveryName; + + @ApiModelProperty(value = "箱") + private Integer box; + + @ApiModelProperty(value = "包") + private Integer bag; + + @ApiModelProperty(value = "金额") + private BigDecimal amount; + +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/todo/DeliveryDetailsLinkDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/todo/DeliveryDetailsLinkDO.java new file mode 100644 index 000000000..639439dcc --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/repository/todo/DeliveryDetailsLinkDO.java @@ -0,0 +1,59 @@ +package com.mhd.wms.domain.deliveryDetailsLink.repository.todo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + + +/** + * 预约配送明细关联对象 oms_receipt_info + * + * @author gen + * @date 2026-05-26 + */ + +@Data +public class DeliveryDetailsLinkDO extends BaseVOEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("编号") + @TableId(type = IdType.AUTO) + private Long id; + @ApiModelProperty("oms编号") + private Long omsId; + @ApiModelProperty(value = "业务单id") + private Long orderId; + @ApiModelProperty(value = "业务单号") + private String orderNumber; + @ApiModelProperty(value = "类别") + private String category; + + @ApiModelProperty(value = "发票编号") + private String invoiceNumber; + + @ApiModelProperty(value = "客户编号") + private String customerNumber; + + @ApiModelProperty(value = "配送名称") + private String deliveryName; + + @ApiModelProperty(value = "箱") + private Integer box; + + @ApiModelProperty(value = "包") + private Integer bag; + + @ApiModelProperty(value = "金额") + private BigDecimal amount; + + @ApiModelProperty(name = "组织ID集合") + private List organizationIdList; + + @ApiModelProperty(name = "权限菜单ID") + private Long permissionMenuId; +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/service/DeliveryDetailsLinkDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/service/DeliveryDetailsLinkDomainService.java new file mode 100644 index 000000000..78cca3417 --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/deliveryDetailsLink/service/DeliveryDetailsLinkDomainService.java @@ -0,0 +1,70 @@ +package com.mhd.wms.domain.deliveryDetailsLink.service; + +import com.mhd.wms.domain.deliveryDetailsLink.repository.facade.IDeliveryDetailsLinkService; +import com.mhd.wms.domain.deliveryDetailsLink.repository.po.DeliveryDetailsLinkPO; +import com.mhd.wms.domain.deliveryDetailsLink.repository.todo.DeliveryDetailsLinkDO; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 预约配送明细关联 + * + * @author gen + * @date 2026-05-26 + */ +@Service +@Slf4j +public class DeliveryDetailsLinkDomainService { + + @Autowired + private IDeliveryDetailsLinkService reservationDeliveryDetailsLinkService; + + + /** + * 分页查询预约配送明细关联列表 + */ + public List queryList(DeliveryDetailsLinkDO reservationDeliveryDetailsLinkDO) { + return reservationDeliveryDetailsLinkService.queryList(reservationDeliveryDetailsLinkDO); + } + + + /** + * 新增预约配送明细关联 + */ + public Boolean insert(DeliveryDetailsLinkDO reservationDeliveryDetailsLinkDO) { + + return reservationDeliveryDetailsLinkService.insert(reservationDeliveryDetailsLinkDO); + } + + /** + * 修改预约配送明细关联 + */ + public Boolean update(DeliveryDetailsLinkDO reservationDeliveryDetailsLinkDO) { + return reservationDeliveryDetailsLinkService.update(reservationDeliveryDetailsLinkDO); + } + + /** + * 批量删除预约配送明细关联 + */ + public Boolean delete(Long[] ids) { + return reservationDeliveryDetailsLinkService.delete(ids); + } + + /** + * 获取预约配送明细关联详细信息 + */ + public DeliveryDetailsLinkPO getInfo(Long id) + { + return reservationDeliveryDetailsLinkService.getInfo(id); + } + + /** + * 批量新增 + */ + public Boolean batchInsert(List reservationDeliveryDetailsLinkDOList) { + return reservationDeliveryDetailsLinkService.batchInsert(reservationDeliveryDetailsLinkDOList); + } +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/po/StockOutOrderPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/po/StockOutOrderPO.java index b554c4647..67351bb86 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/po/StockOutOrderPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/po/StockOutOrderPO.java @@ -3,6 +3,7 @@ package com.mhd.wms.domain.stockOutOrder.repository.po; import com.fasterxml.jackson.annotation.JsonFormat; import com.mhd.common.core.annotation.Excel; import com.mhd.common.core.web.domain.BaseVOEntity; +import com.mhd.wms.domain.deliveryDetailsLink.entity.DeliveryDetailsLink; import com.mhd.wms.domain.outMaterialDetail.repository.po.OutMaterialCheckPO; import com.mhd.wms.domain.outMaterialDetail.repository.po.OutMaterialDetailPO; import com.mhd.wms.domain.receiptOrderAccount.entity.ReceiptOrderAccount; @@ -429,4 +430,6 @@ public class StockOutOrderPO extends BaseVOEntity { @ApiModelProperty("配送顺序") private String deliveryOrder; + + private List deliveryDetailsLinkList; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/service/StockOutOrderDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/service/StockOutOrderDomainService.java index c679eb382..2186d7e09 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/service/StockOutOrderDomainService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/service/StockOutOrderDomainService.java @@ -15,11 +15,13 @@ import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.security.utils.SecurityUtils; import com.mhd.system.api.SystemServiceFeign; import com.mhd.system.api.domain.BatchDetailFeignPO; +import com.mhd.system.api.domain.DeliveryDetailsLink; import com.mhd.system.api.domain.PackDetailFeignPO; import com.mhd.system.api.model.LoginUser; import com.mhd.wms.domain.copyCodeReference.repository.po.CopyCodeReferencePO; import com.mhd.wms.domain.deliveTask.repository.facade.IDeliveTaskService; import com.mhd.wms.domain.deliveTask.repository.todo.DeliveTaskDO; +import com.mhd.wms.domain.deliveryDetailsLink.repository.facade.IDeliveryDetailsLinkService; import com.mhd.wms.domain.handoverTaskOrder.repository.facade.IHandoverTaskOrderService; import com.mhd.wms.domain.handoverTaskOrder.repository.todo.HandoverTaskOrderDO; import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail; @@ -99,6 +101,8 @@ public class StockOutOrderDomainService { @Autowired private IOutMaterialDetailService outMaterialDetailService; @Autowired + private IDeliveryDetailsLinkService deliveryDetailsLinkService; + @Autowired private IHandoverTaskOrderService handoverTaskOrderService; @Autowired private IOutOrderAbnormalService outOrderAbnormalService; @@ -1732,6 +1736,18 @@ public class StockOutOrderDomainService { autoAuditOmsOutOrder(outMaterialDetails.get(0).getOutOrderNumber()); } + @Transactional(rollbackFor = Exception.class) + public void omsOrderAddDeliveryDetailsLink(List deliveryDetailsLinks) { + if (CollectionUtils.isEmpty(deliveryDetailsLinks)) { + return; + } + for (DeliveryDetailsLink deliveryDetailsLink : deliveryDetailsLinks) { + com.mhd.wms.domain.deliveryDetailsLink.entity.DeliveryDetailsLink deliveryDetailsLinkEntity = new com.mhd.wms.domain.deliveryDetailsLink.entity.DeliveryDetailsLink(); + BeanUtils.copyProperties(deliveryDetailsLink, deliveryDetailsLinkEntity); + deliveryDetailsLinkService.save(deliveryDetailsLinkEntity); + } + } + /** * OMS下发出库单明细保存后自动审核通过 */ diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockOutOrder/StockOutOrderApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockOutOrder/StockOutOrderApi.java index bf161ccfa..c1cf07475 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockOutOrder/StockOutOrderApi.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockOutOrder/StockOutOrderApi.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.mhd.common.core.web.controller.BaseController; import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.web.page.TableDataInfo; +import com.mhd.system.api.domain.DeliveryDetailsLink; import com.mhd.wms.application.service.handoverTaskOrder.HandoverTaskOrderApplicationService; import com.mhd.wms.application.service.stockOutOrder.StockOutOrderApplicationService; import com.mhd.wms.domain.copyCodeReference.entity.CopyCodeReference; @@ -421,6 +422,15 @@ public class StockOutOrderApi extends BaseController { stockOutOrderApplicationService.omsOrderAddDetail(outMaterialDetails); } + /** + * oms下发单配送明细保存 + */ + @ApiOperation("oms下发单配送明细保存") + @PostMapping(value = "/omsOutOrderAddDeliveryDetailsLink") + public void omsOutOrderAddDeliveryDetailsLink(@RequestBody List deliveryDetailLinks) { + stockOutOrderApplicationService.omsOrderAddDeliveryDetailsLink(deliveryDetailLinks); + } + @ApiOperation("出库单提货单打印") @PostMapping("/queryOutStockNoticePrint") public AjaxResult queryOutStockNoticePrint(@RequestBody StockOutOrderDTO stockOutOrderDTO) {