From cfbf34df6acebb593cf49488e3618311f12824ce Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Thu, 14 May 2026 10:20:40 +0800 Subject: [PATCH] =?UTF-8?q?feat(crm):=20=E6=B7=BB=E5=8A=A0=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E9=92=A2=E5=8D=B7ID=E6=9F=A5=E8=AF=A2=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E4=BF=A1=E6=81=AF=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在CrmOrderController中新增getOrderByCoilId接口 - 实现钢卷ID到订单信息的查询链路:钢卷ID -> 发货明细 -> 发货单 -> 订单 - 添加WMS发货单和发货明细相关依赖注入 - 优化CrmOrderMapper.xml中的SQL字段对齐格式 - 提供null值检查和错误响应处理 --- .../crm/controller/CrmOrderController.java | 16 ++++++++++ .../com/klp/crm/service/ICrmOrderService.java | 6 ++++ .../crm/service/impl/CrmOrderServiceImpl.java | 29 +++++++++++++++++++ .../main/resources/mapper/CrmOrderMapper.xml | 6 ++-- 4 files changed, 54 insertions(+), 3 deletions(-) diff --git a/klp-crm/src/main/java/com/klp/crm/controller/CrmOrderController.java b/klp-crm/src/main/java/com/klp/crm/controller/CrmOrderController.java index d85b8652..816fd00f 100644 --- a/klp-crm/src/main/java/com/klp/crm/controller/CrmOrderController.java +++ b/klp-crm/src/main/java/com/klp/crm/controller/CrmOrderController.java @@ -157,4 +157,20 @@ public class CrmOrderController extends BaseController { List orders = iCrmOrderService.queryByIds(orderIds); return R.ok(orders); } + + /** + * 根据钢卷ID查询对应的订单信息(含客户信息) + * 查询链路:钢卷ID -> 发货明细 -> 发货单 -> 订单 + * + * @param coilId 钢卷ID + */ + @GetMapping("/getOrderByCoilId/{coilId}") + public R getOrderByCoilId(@NotNull(message = "钢卷ID不能为空") + @PathVariable Long coilId) { + CrmOrderVo order = iCrmOrderService.getOrderByCoilId(coilId); + if (order == null) { + return R.fail("未找到该钢卷对应的订单信息"); + } + return R.ok(order); + } } diff --git a/klp-crm/src/main/java/com/klp/crm/service/ICrmOrderService.java b/klp-crm/src/main/java/com/klp/crm/service/ICrmOrderService.java index c9f1bbbd..bb5762c2 100644 --- a/klp-crm/src/main/java/com/klp/crm/service/ICrmOrderService.java +++ b/klp-crm/src/main/java/com/klp/crm/service/ICrmOrderService.java @@ -37,6 +37,12 @@ public interface ICrmOrderService { */ List queryList(CrmOrderBo bo); + /** + * 根据钢卷ID查询对应的订单信息(含客户信息) + * 查询链路:钢卷ID -> 发货明细 -> 发货单 -> 订单 + */ + CrmOrderVo getOrderByCoilId(Long coilId); + /** * 新增正式订单主 */ diff --git a/klp-crm/src/main/java/com/klp/crm/service/impl/CrmOrderServiceImpl.java b/klp-crm/src/main/java/com/klp/crm/service/impl/CrmOrderServiceImpl.java index 8c8c6b18..8b0858a1 100644 --- a/klp-crm/src/main/java/com/klp/crm/service/impl/CrmOrderServiceImpl.java +++ b/klp-crm/src/main/java/com/klp/crm/service/impl/CrmOrderServiceImpl.java @@ -23,6 +23,10 @@ import com.klp.domain.bo.WmsMaterialCoilBo; import com.klp.domain.vo.WmsMaterialCoilVo; import com.klp.service.IWmsCoilContractRelService; import com.klp.service.IWmsMaterialCoilService; +import com.klp.domain.WmsDeliveryWaybill; +import com.klp.domain.WmsDeliveryWaybillDetail; +import com.klp.mapper.WmsDeliveryWaybillDetailMapper; +import com.klp.mapper.WmsDeliveryWaybillMapper; import java.util.*; import java.util.stream.Collectors; @@ -45,6 +49,10 @@ public class CrmOrderServiceImpl implements ICrmOrderService { private final IWmsMaterialCoilService materialCoilService; + private final WmsDeliveryWaybillDetailMapper wmsDeliveryWaybillDetailMapper; + + private final WmsDeliveryWaybillMapper wmsDeliveryWaybillMapper; + /** * 查询正式订单主 */ @@ -66,6 +74,27 @@ public class CrmOrderServiceImpl implements ICrmOrderService { return baseMapper.selectVoList(lqw); } + /** + * 根据钢卷ID查询对应的订单信息(含客户信息) + */ + @Override + public CrmOrderVo getOrderByCoilId(Long coilId) { + LambdaQueryWrapper detailQuery = Wrappers.lambdaQuery(); + detailQuery.eq(WmsDeliveryWaybillDetail::getCoilId, coilId); + detailQuery.eq(WmsDeliveryWaybillDetail::getDelFlag, 0); + WmsDeliveryWaybillDetail detail = wmsDeliveryWaybillDetailMapper.selectOne(detailQuery); + if (detail == null) { + return null; + } + + WmsDeliveryWaybill waybill = wmsDeliveryWaybillMapper.selectById(detail.getWaybillId()); + if (waybill == null || waybill.getOrderId() == null) { + return null; + } + + return queryById(String.valueOf(waybill.getOrderId())); + } + /** * 查询正式订单主列表 */ diff --git a/klp-crm/src/main/resources/mapper/CrmOrderMapper.xml b/klp-crm/src/main/resources/mapper/CrmOrderMapper.xml index 42587de3..963b0f1f 100644 --- a/klp-crm/src/main/resources/mapper/CrmOrderMapper.xml +++ b/klp-crm/src/main/resources/mapper/CrmOrderMapper.xml @@ -157,9 +157,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" co.deposit_ratio AS depositRatio, co.status, co.contract_id AS contractId, - co.annex_files AS annexFiles, - co.is_top AS isTop, - co.create_by AS createBy, + co.annex_files AS annexFiles, + co.is_top AS isTop, + co.create_by AS createBy, co.create_time AS createTime, co.update_by AS updateBy, co.update_time AS updateTime,