From e7d7f86f4060090716883513603356044c19debc Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Tue, 12 May 2026 10:11:30 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E6=B7=BB=E5=8A=A0=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E5=85=A5=E5=9C=BA=E9=92=A2=E5=8D=B7=E5=8F=B7=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=9C=80=E6=97=A9=E7=83=AD=E8=BD=A7=E5=8D=B7=E6=9D=BF?= =?UTF-8?q?=E6=9D=90=E8=B4=A8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 IWmsMaterialCoilService 中新增 queryEarliestHotRolledMaterial 方法定义 - 在 WmsMaterialCoilController 中新增查询接口并添加参数验证 - 在 WmsMaterialCoilMapper 中新增 selectEarliestHotRolledMaterial 数据库查询方法 - 在 WmsMaterialCoilMapper.xml 中新增 SQL 查询语句实现热轧卷板材质查询逻辑 - 在 WmsMaterialCoilServiceImpl 中实现服务层查询逻辑并添加空值校验 - 接口返回最早创建的热轧卷板材质信息,无对应材质时返回 null --- .../controller/WmsMaterialCoilController.java | 17 +++++++++++++++++ .../com/klp/mapper/WmsMaterialCoilMapper.java | 7 +++++++ .../klp/service/IWmsMaterialCoilService.java | 10 ++++++++++ .../impl/WmsMaterialCoilServiceImpl.java | 16 ++++++++++++++++ .../mapper/klp/WmsMaterialCoilMapper.xml | 14 ++++++++++++++ 5 files changed, 64 insertions(+) diff --git a/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java b/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java index e956902e..a475fb92 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java @@ -657,6 +657,23 @@ public class WmsMaterialCoilController extends BaseController { return toAjax(iWmsMaterialCoilService.fixMaterialMismatchCoils(coilId)); } + /** + * 根据入场钢卷号查询最早的热轧卷板材质 + * 前端传入某个入场钢卷号,查询该组钢卷中是否有热轧卷板 + * 如果有,返回最早创建的热轧卷板的材质信息 + * + * @param enterCoilNo 入场钢卷号 + * @return 材质信息 + */ + @GetMapping("/queryEarliestHotRolledMaterial") + public R queryEarliestHotRolledMaterial(@NotBlank(message = "入场钢卷号不能为空") @RequestParam String enterCoilNo) { + String material = iWmsMaterialCoilService.queryEarliestHotRolledMaterial(enterCoilNo); + if (material == null) { + return R.fail("未找到该入场钢卷号对应的热轧卷板材质"); + } + return R.ok(material, "查询成功"); + } + } diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsMaterialCoilMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsMaterialCoilMapper.java index 1aab252c..35462b01 100644 --- a/klp-wms/src/main/java/com/klp/mapper/WmsMaterialCoilMapper.java +++ b/klp-wms/src/main/java/com/klp/mapper/WmsMaterialCoilMapper.java @@ -127,5 +127,12 @@ List selectDeliveryExportListByCoilIds(@Param(" * 分页查询材质异常的钢卷 */ IPage selectMaterialMismatchCoilsPage(IPage page); + + /** + * 根据入场钢卷号查询最早的热轧卷板材质 + * @param enterCoilNo 入场钢卷号 + * @return 材质信息 + */ + String selectEarliestHotRolledMaterial(@Param("enterCoilNo") String enterCoilNo); } diff --git a/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java b/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java index 06c107fa..4f9a8ec6 100644 --- a/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java +++ b/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java @@ -304,6 +304,16 @@ public interface IWmsMaterialCoilService { */ Boolean fixMaterialMismatchCoils(Long coilId); + /** + * 根据入场钢卷号查询最早的热轧卷板材质 + * 用于前端传入某个入场钢卷号,查询该组钢卷中是否有热轧卷板 + * 如果有,返回最早创建的热轧卷板的材质信息 + * + * @param enterCoilNo 入场钢卷号 + * @return 材质信息,如果没有热轧卷板则返回null + */ + String queryEarliestHotRolledMaterial(String enterCoilNo); + /** * 退火报表导出数据列表(按 coilIds) * diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java index 221fddf4..28cc1b09 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java @@ -5514,6 +5514,22 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { return dto; } + @Override + public String queryEarliestHotRolledMaterial(String enterCoilNo) { + if (StringUtils.isBlank(enterCoilNo)) { + throw new RuntimeException("入场钢卷号不能为空"); + } + + // 查询该入场钢卷号下最早创建的热轧卷板的材质 + String material = baseMapper.selectEarliestHotRolledMaterial(enterCoilNo); + + if (StringUtils.isBlank(material)) { + // 找不到返回空值说明这个钢卷号对应的组没有热轧卷板 + return null; + } + + return material; + } } diff --git a/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml index 82fec970..e80b5102 100644 --- a/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml +++ b/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml @@ -1068,5 +1068,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ) + + +