From e616d7960364c0d209faf5438bf8287aa8632193 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Mon, 8 Dec 2025 11:15:22 +0800 Subject: [PATCH 01/14] =?UTF-8?q?feat(wms):=20=E8=B0=83=E6=95=B4=E8=B4=A7?= =?UTF-8?q?=E4=BD=8D=E7=BC=96=E7=A0=81=E7=94=9F=E6=88=90=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E4=BB=A5=E6=94=AF=E6=8C=81=E6=A5=BC=E5=B1=82=E5=B7=AE=E5=BC=82?= =?UTF-8?q?=E5=8C=96=E7=AD=96=E7=95=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改默认层数为2层当层数未指定时 - 校验行数和列数必须为正整数 - 校验层数必须为正整数 - 重新组织循环结构以优先遍历层再行列 - 第二层货位行数减一以适应特殊布局需求 - 调整编码格式为 行-列-层 的组合方式 - 列号统一补零为两位数格式 --- .../impl/WmsActualWarehouseServiceImpl.java | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsActualWarehouseServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsActualWarehouseServiceImpl.java index b72927b8..8a0bf387 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsActualWarehouseServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsActualWarehouseServiceImpl.java @@ -56,20 +56,27 @@ public class WmsActualWarehouseServiceImpl implements IWmsActualWarehouseService Integer layers = bo.getLayerCount(); String prefix = bo.getPrefix(); Long parentId = bo.getParentId(); - if (rows == null || cols == null || layers == null || rows < 1 || cols < 1 || layers < 1) { - throw new ServiceException("行/列/层必须为正整数"); + if (layers == null) { + layers = 2; + } + if (rows == null || cols == null || rows < 1 || cols < 1) { + throw new ServiceException("行/列必须为正整数"); + } + if (layers < 1) { + throw new ServiceException("层必须为正整数"); } if (StringUtils.isBlank(prefix)) { throw new ServiceException("前缀不能为空"); } - // 预生成候选编码 List codes = new ArrayList<>(rows * cols * layers); - for (int c = 1; c <= cols; c++) { - for (int r = 1; r <= rows; r++) { - String rStr = r < 10 ? ("0" + r) : String.valueOf(r); - for (int l = 1; l <= layers; l++) { - String code = prefix + c + rStr + '-' + l; + for (int l = 1; l <= layers; l++) { + int rowsForLayer = (l == 2) ? Math.max(rows - 1, 1) : rows; + for (int c = 1; c <= cols; c++) { + for (int r = 1; r <= rowsForLayer; r++) { + // 列号补两位(01/02...) + String cStr = c < 10 ? ("0" + c) : String.valueOf(c); + String code = prefix + r + '-' + cStr + '-' + l; codes.add(code); } } From 60134a1d13d1ea96854780c988f7337fdfb0eaf0 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Mon, 8 Dec 2025 11:19:43 +0800 Subject: [PATCH 02/14] =?UTF-8?q?refactor(domain):=20=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=E4=B8=8D=E5=BF=85=E8=A6=81=E7=9A=84=E6=A0=A1=E9=AA=8C=E6=B3=A8?= =?UTF-8?q?=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 删除columnCount字段上的@NotNull注解 - 删除rowCount字段上的@NotNull注解 - 删除layerCount字段上的@NotNull注解 - 删除prefix字段上的@NotBlank注解 - 删除parentId字段上的@NotNull注解 --- .../com/klp/domain/bo/WmsActualWarehouseBatchGenerateBo.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsActualWarehouseBatchGenerateBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsActualWarehouseBatchGenerateBo.java index 853839b0..5d18efe2 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsActualWarehouseBatchGenerateBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsActualWarehouseBatchGenerateBo.java @@ -13,25 +13,20 @@ import javax.validation.constraints.NotNull; public class WmsActualWarehouseBatchGenerateBo { /** 列数 */ - @NotNull @Min(1) private Integer columnCount; /** 行数 */ - @NotNull @Min(1) private Integer rowCount; /** 层数 */ - @NotNull @Min(1) private Integer layerCount; /** 前缀 */ - @NotBlank private String prefix; /** 父节点ID */ - @NotNull private Long parentId; } From 15c2d5250a28e850365f550a8033bd4a1f313368 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Mon, 8 Dec 2025 11:24:54 +0800 Subject: [PATCH 03/14] =?UTF-8?q?fix(wms):=20=E4=BF=AE=E5=A4=8D=E5=BA=93?= =?UTF-8?q?=E4=BD=8D=E7=BC=96=E7=A0=81=E7=94=9F=E6=88=90=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 调整行列号拼接顺序,先列后行 - 行号补零格式化,确保编码规范统一 - 移除旧的列号补零逻辑,避免重复处理 --- .../com/klp/service/impl/WmsActualWarehouseServiceImpl.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsActualWarehouseServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsActualWarehouseServiceImpl.java index 8a0bf387..ce8fb493 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsActualWarehouseServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsActualWarehouseServiceImpl.java @@ -74,9 +74,8 @@ public class WmsActualWarehouseServiceImpl implements IWmsActualWarehouseService int rowsForLayer = (l == 2) ? Math.max(rows - 1, 1) : rows; for (int c = 1; c <= cols; c++) { for (int r = 1; r <= rowsForLayer; r++) { - // 列号补两位(01/02...) - String cStr = c < 10 ? ("0" + c) : String.valueOf(c); - String code = prefix + r + '-' + cStr + '-' + l; + String rStr = r < 10 ? ("0" + r) : String.valueOf(r); + String code = prefix + c + '-' + rStr + '-' + l; codes.add(code); } } From e778923f9bdc0c317f094d27290d4cfa4bd80c69 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Mon, 8 Dec 2025 11:38:32 +0800 Subject: [PATCH 04/14] =?UTF-8?q?feat(wms):=20=E6=B7=BB=E5=8A=A0=E9=92=A2?= =?UTF-8?q?=E5=8D=B7=E9=9B=86=E5=90=88=E5=AD=97=E6=AE=B5=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 WmsDeliveryPlan 实体类中新增 coil 字段 - 在 WmsDeliveryPlanBo 业务对象中新增 coil 字段 - 在 WmsDeliveryPlanVo 视图对象中新增 coil 字段 - 更新 MyBatis 映射文件以支持 coil 字段的数据库映射 --- klp-wms/src/main/java/com/klp/domain/WmsDeliveryPlan.java | 3 +++ klp-wms/src/main/java/com/klp/domain/bo/WmsDeliveryPlanBo.java | 3 +++ klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryPlanVo.java | 3 +++ .../src/main/resources/mapper/klp/WmsDeliveryPlanMapper.xml | 1 + 4 files changed, 10 insertions(+) diff --git a/klp-wms/src/main/java/com/klp/domain/WmsDeliveryPlan.java b/klp-wms/src/main/java/com/klp/domain/WmsDeliveryPlan.java index 008c619e..2609f53f 100644 --- a/klp-wms/src/main/java/com/klp/domain/WmsDeliveryPlan.java +++ b/klp-wms/src/main/java/com/klp/domain/WmsDeliveryPlan.java @@ -48,4 +48,7 @@ public class WmsDeliveryPlan extends BaseEntity { @TableLogic private Integer delFlag; + // 钢卷集合 + private String coil; + } diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsDeliveryPlanBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsDeliveryPlanBo.java index 23641677..47611b11 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsDeliveryPlanBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsDeliveryPlanBo.java @@ -43,5 +43,8 @@ public class WmsDeliveryPlanBo extends BaseEntity { */ private String remark; + // 钢卷集合 + private String coil; + } diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryPlanVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryPlanVo.java index 7faf26c2..b4ce46cc 100644 --- a/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryPlanVo.java +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryPlanVo.java @@ -71,4 +71,7 @@ public class WmsDeliveryPlanVo extends BaseEntity { */ private String updateByName; + // 钢卷集合 + private String coil; + } diff --git a/klp-wms/src/main/resources/mapper/klp/WmsDeliveryPlanMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsDeliveryPlanMapper.xml index 4e9b23e8..8ed7a445 100644 --- a/klp-wms/src/main/resources/mapper/klp/WmsDeliveryPlanMapper.xml +++ b/klp-wms/src/main/resources/mapper/klp/WmsDeliveryPlanMapper.xml @@ -9,6 +9,7 @@ + From 569dc4c3c93fb8c47bd4d1dccaaa07cd564eb6b2 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Mon, 8 Dec 2025 11:43:15 +0800 Subject: [PATCH 05/14] =?UTF-8?q?feat(wms):=20=E6=96=B0=E5=A2=9E=E6=A0=B9?= =?UTF-8?q?=E6=8D=AEcoil=5Fid=E6=9F=A5=E8=AF=A2=E9=92=A2=E5=8D=B7=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在IWmsDeliveryPlanService中新增getCoilInfoByIds方法定义 - 在WmsDeliveryPlanController中添加/coils GET接口用于查询钢卷信息 - 在WmsDeliveryPlanServiceImpl中实现根据逗号分隔的coil_id字符串查询钢卷信息逻辑 - 引入WmsMaterialCoil实体类和WmsMaterialCoilMapper数据访问层组件 - 使用Stream API处理coil_id字符串分割、过滤及类型转换操作 - 返回封装后的WmsMaterialCoilVo对象列表供前端使用 --- .../controller/WmsDeliveryPlanController.java | 18 +++++++++--- .../klp/service/IWmsDeliveryPlanService.java | 3 ++ .../impl/WmsDeliveryPlanServiceImpl.java | 28 +++++++++++++++++++ 3 files changed, 45 insertions(+), 4 deletions(-) diff --git a/klp-wms/src/main/java/com/klp/controller/WmsDeliveryPlanController.java b/klp-wms/src/main/java/com/klp/controller/WmsDeliveryPlanController.java index c98caf82..ee80a9e5 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsDeliveryPlanController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsDeliveryPlanController.java @@ -5,9 +5,7 @@ import java.util.List; import java.util.Arrays; import com.fasterxml.jackson.annotation.JsonFormat; -import com.klp.domain.vo.WmsDeliveryPlanStatisticsVo; -import com.klp.domain.vo.WmsDeliveryReportResultVo; -import com.klp.domain.vo.WmsDeliveryReportVo; +import com.klp.domain.vo.*; import lombok.RequiredArgsConstructor; import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.*; @@ -24,7 +22,6 @@ import com.klp.common.core.validate.AddGroup; import com.klp.common.core.validate.EditGroup; import com.klp.common.enums.BusinessType; import com.klp.common.utils.poi.ExcelUtil; -import com.klp.domain.vo.WmsDeliveryPlanVo; import com.klp.domain.bo.WmsDeliveryPlanBo; import com.klp.service.IWmsDeliveryPlanService; import com.klp.common.core.page.TableDataInfo; @@ -129,4 +126,17 @@ public class WmsDeliveryPlanController extends BaseController { WmsDeliveryReportResultVo report = iWmsDeliveryPlanService.getDeliveryReport(startTime, endTime); return R.ok(report); } + + + /** + * 根据逗号分隔的coil_id字符串查询对应的钢卷信息 + * + * @param coilIds 逗号分隔的coil_id字符串 + * @return 钢卷信息列表 + */ + @GetMapping("/coils") + public R> getCoilInfoByIds(@RequestParam String coilIds) { + List coilInfoList = iWmsDeliveryPlanService.getCoilInfoByIds(coilIds); + return R.ok(coilInfoList); + } } diff --git a/klp-wms/src/main/java/com/klp/service/IWmsDeliveryPlanService.java b/klp-wms/src/main/java/com/klp/service/IWmsDeliveryPlanService.java index 951aa642..14ef261a 100644 --- a/klp-wms/src/main/java/com/klp/service/IWmsDeliveryPlanService.java +++ b/klp-wms/src/main/java/com/klp/service/IWmsDeliveryPlanService.java @@ -7,6 +7,7 @@ import com.klp.domain.bo.WmsDeliveryPlanBo; import com.klp.common.core.page.TableDataInfo; import com.klp.common.core.domain.PageQuery; import com.klp.domain.vo.WmsDeliveryReportResultVo; +import com.klp.domain.vo.WmsMaterialCoilVo; import java.util.Collection; import java.util.Date; @@ -59,4 +60,6 @@ public interface IWmsDeliveryPlanService { * 获取发货报表统计信息(包含汇总和按类型统计) */ WmsDeliveryReportResultVo getDeliveryReport(Date startTime, Date endTime); + + List getCoilInfoByIds(String coilIds); } diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsDeliveryPlanServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsDeliveryPlanServiceImpl.java index e8381f69..6fd66f9c 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsDeliveryPlanServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsDeliveryPlanServiceImpl.java @@ -8,7 +8,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.klp.common.utils.StringUtils; +import com.klp.domain.WmsMaterialCoil; import com.klp.domain.vo.*; +import com.klp.mapper.WmsMaterialCoilMapper; import com.klp.system.service.ISysUserService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -34,6 +36,8 @@ public class WmsDeliveryPlanServiceImpl implements IWmsDeliveryPlanService { private final ISysUserService userService; + private final WmsMaterialCoilMapper coilMapper; + /** * 查询发货计划 */ @@ -163,4 +167,28 @@ public class WmsDeliveryPlanServiceImpl implements IWmsDeliveryPlanService { return result; } + + + /** + * 根据逗号分隔的coil_id字符串查询对应的钢卷信息 + * + * @param coilIds 逗号分隔的coil_id字符串 + * @return 钢卷信息列表 + */ + @Override + public List getCoilInfoByIds(String coilIds) { + if (StringUtils.isBlank(coilIds)) { + return Collections.emptyList(); + } + + // 将逗号分隔的字符串转换为ID列表 + List idList = Arrays.stream(coilIds.split(",")) + .map(String::trim) + .filter(s -> !s.isEmpty()) + .map(Long::valueOf) + .collect(Collectors.toList()); + + // 查询对应的钢卷信息 + return coilMapper.selectVoBatchIds(idList); + } } From 469bab624f122a6a18bb0b81f2f1c23a7264c8ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A0=82=E7=B3=96?= Date: Mon, 8 Dec 2025 11:47:23 +0800 Subject: [PATCH 06/14] =?UTF-8?q?refactor(mes/qc/template):=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E8=B4=A8=E6=A3=80=E6=A8=A1=E6=9D=BF=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E5=B8=83=E5=B1=80=E5=92=8C=E4=BA=A4=E4=BA=92=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 调整表单标签宽度,移除冗余搜索按钮,整合操作按钮位置 修改成功后清空检查项列表,新增成功后自动选中当前项 --- klp-ui/src/views/mes/qc/template/index.vue | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/klp-ui/src/views/mes/qc/template/index.vue b/klp-ui/src/views/mes/qc/template/index.vue index b2c3ca24..7beea1cf 100644 --- a/klp-ui/src/views/mes/qc/template/index.vue +++ b/klp-ui/src/views/mes/qc/template/index.vue @@ -3,22 +3,18 @@ + label-width="60px"> - - 搜索 - 重置 - 新增 + 搜索 - { this.buttonLoading = false; }); @@ -221,6 +218,7 @@ export default { this.$modal.msgSuccess("新增成功"); this.open = false; this.getList(); + this.handleRowClick(this.form); }).finally(() => { this.buttonLoading = false; }); From 86f56d386c6f5dffcdc5bab5f5fe576b5dcb6dc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A0=82=E7=B3=96?= Date: Mon, 8 Dec 2025 11:47:52 +0800 Subject: [PATCH 07/14] =?UTF-8?q?style(wms/coil):=20=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=AF=B9=E8=AF=9D=E6=A1=86=E5=AE=BD=E5=BA=A6?= =?UTF-8?q?=E4=B8=BA600px=E4=BB=A5=E6=94=B9=E5=96=84=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E4=BD=93=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- klp-ui/src/views/wms/coil/panels/do.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/klp-ui/src/views/wms/coil/panels/do.vue b/klp-ui/src/views/wms/coil/panels/do.vue index e577f731..85e47487 100644 --- a/klp-ui/src/views/wms/coil/panels/do.vue +++ b/klp-ui/src/views/wms/coil/panels/do.vue @@ -297,7 +297,7 @@ - + From b5e053671f50f54d78fc24ba48ad93919ce13375 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A0=82=E7=B3=96?= Date: Mon, 8 Dec 2025 11:48:20 +0800 Subject: [PATCH 08/14] =?UTF-8?q?feat(=E4=BB=93=E5=BA=93=E7=AE=A1=E7=90=86?= =?UTF-8?q?):=20=E5=AE=9E=E7=8E=B0=E4=BA=A4=E9=94=99=E5=BC=8F=E5=A4=9A?= =?UTF-8?q?=E5=B1=82=E4=BB=93=E5=BA=93=E5=8F=AF=E8=A7=86=E5=8C=96=E7=BB=84?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 WarehouseInterlaced 组件用于展示交错式多层仓库布局 - 修改仓库编码解析规则以支持新的格式 - 移除不再使用的 layerCount 字段 - 更新仓库鸟瞰图组件以使用新的交错式布局 - 调整图例样式和颜色区分不同层级 --- klp-ui/src/components/CoilSelector/index.vue | 2 +- .../warehouse/components/WarehouseBird.vue | 31 +- .../components/WarehouseInterlaced.vue | 372 ++++++++++++++++++ klp-ui/src/views/wms/warehouse/overview.vue | 6 +- 4 files changed, 394 insertions(+), 17 deletions(-) create mode 100644 klp-ui/src/views/wms/warehouse/components/WarehouseInterlaced.vue diff --git a/klp-ui/src/components/CoilSelector/index.vue b/klp-ui/src/components/CoilSelector/index.vue index 98f98994..c24a3563 100644 --- a/klp-ui/src/components/CoilSelector/index.vue +++ b/klp-ui/src/components/CoilSelector/index.vue @@ -6,7 +6,7 @@ - {{ selectedCoil.currentCoilNo }} + {{ selectedCoil.currentCoilNo }} ({{ selectedCoil.itemName }}) diff --git a/klp-ui/src/views/wms/warehouse/components/WarehouseBird.vue b/klp-ui/src/views/wms/warehouse/components/WarehouseBird.vue index fec2d7fb..c8e54638 100644 --- a/klp-ui/src/views/wms/warehouse/components/WarehouseBird.vue +++ b/klp-ui/src/views/wms/warehouse/components/WarehouseBird.vue @@ -25,8 +25,12 @@
-
- 正常未占用 +
+ 一层 +
+
+
+ 二层
@@ -36,29 +40,26 @@
- -
- -
-
暂无解析到有效的库位分层数据
-
+
该分类下暂无库位数据
初始化库位
+
+ + \ No newline at end of file diff --git a/klp-ui/src/views/wms/warehouse/overview.vue b/klp-ui/src/views/wms/warehouse/overview.vue index 0189ada9..6b4bd5a2 100644 --- a/klp-ui/src/views/wms/warehouse/overview.vue +++ b/klp-ui/src/views/wms/warehouse/overview.vue @@ -43,10 +43,6 @@
- - - @@ -189,7 +185,7 @@ export default { const prefix = await this.generateWarehousePrefix(this.selectedNode); this.initForm = { - rowCount: '', columnCount: '', layerCount: '', + rowCount: '', columnCount: '', prefix: prefix, parentId: this.selectedNode.actualWarehouseId }; From 37a7f55f6f7778e36d7354196e6d725ebec18488 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Mon, 8 Dec 2025 13:07:37 +0800 Subject: [PATCH 09/14] =?UTF-8?q?feat(wms):=20=E6=B7=BB=E5=8A=A0=E9=80=9A?= =?UTF-8?q?=E8=BF=87coilIds=E6=9F=A5=E8=AF=A2=E9=92=A2=E5=8D=B7=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在WmsDeliveryPlanBo中新增coilIds字段 - 修改getCoilInfoByIds接口为POST请求 - 接口参数从@RequestParam改为@RequestBody接收WmsDeliveryPlanBo对象 - 更新接口文档注释,移除旧参数说明 - 调整服务层调用方式,使用bo.getCoilIds()获取参数 --- .../com/klp/controller/WmsDeliveryPlanController.java | 8 ++++---- .../main/java/com/klp/domain/bo/WmsDeliveryPlanBo.java | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/klp-wms/src/main/java/com/klp/controller/WmsDeliveryPlanController.java b/klp-wms/src/main/java/com/klp/controller/WmsDeliveryPlanController.java index ee80a9e5..a71b13e9 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsDeliveryPlanController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsDeliveryPlanController.java @@ -6,6 +6,7 @@ import java.util.Arrays; import com.fasterxml.jackson.annotation.JsonFormat; import com.klp.domain.vo.*; +import liquibase.pro.packaged.W; import lombok.RequiredArgsConstructor; import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.*; @@ -131,12 +132,11 @@ public class WmsDeliveryPlanController extends BaseController { /** * 根据逗号分隔的coil_id字符串查询对应的钢卷信息 * - * @param coilIds 逗号分隔的coil_id字符串 * @return 钢卷信息列表 */ - @GetMapping("/coils") - public R> getCoilInfoByIds(@RequestParam String coilIds) { - List coilInfoList = iWmsDeliveryPlanService.getCoilInfoByIds(coilIds); + @PostMapping("/coils") + public R> getCoilInfoByIds(@RequestBody WmsDeliveryPlanBo bo) { + List coilInfoList = iWmsDeliveryPlanService.getCoilInfoByIds(bo.getCoilIds()); return R.ok(coilInfoList); } } diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsDeliveryPlanBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsDeliveryPlanBo.java index 47611b11..0fbb53ce 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsDeliveryPlanBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsDeliveryPlanBo.java @@ -46,5 +46,7 @@ public class WmsDeliveryPlanBo extends BaseEntity { // 钢卷集合 private String coil; + private String coilIds; + } From cab68adde8ecec4e4e780cd8ab894cdbdf87e9e4 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Mon, 8 Dec 2025 13:08:20 +0800 Subject: [PATCH 10/14] =?UTF-8?q?feat(wms):=20=E6=96=B0=E5=A2=9E=E5=8F=AF?= =?UTF-8?q?=E5=8F=91=E8=B4=A7=E9=92=A2=E5=8D=B7=E6=9F=A5=E8=AF=A2=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在IWmsMaterialCoilService接口中新增queryAvailableForDelivery方法 - 在WmsMaterialCoilController中新增/availableForDelivery接口 - 在WmsMaterialCoilServiceImpl中实现查询逻辑 - 构建排除已被发货计划引用钢卷的查询条件 - 支持按入库号、当前卷号、供应商卷号等条件筛选 - 实现分页查询和钢卷状态过滤 - 关联WmsDeliveryPlanMapper以获取发货计划数据 - 处理发货计划中钢卷ID的解析和去重逻辑 --- .../controller/WmsMaterialCoilController.java | 11 +++ .../klp/service/IWmsMaterialCoilService.java | 2 + .../impl/WmsMaterialCoilServiceImpl.java | 82 +++++++++++++++++++ 3 files changed, 95 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 fde0053f..1dd9771c 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java @@ -184,5 +184,16 @@ public class WmsMaterialCoilController extends BaseController { List distribution = iWmsMaterialCoilService.getDistributionByActualItemType(itemType, itemId); return R.ok(distribution); } + + + + /** + * 查询未被任何发货计划引用的钢卷列表 + * 用于发货计划选择钢卷时,避免选择已经被其他发货计划引用的钢卷 + */ + @GetMapping("/availableForDelivery") + public TableDataInfo getAvailableCoilsForDelivery(WmsMaterialCoilBo bo, PageQuery pageQuery) { + return iWmsMaterialCoilService.queryAvailableForDelivery(bo, pageQuery); + } } 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 43c8b9b9..34a8dab0 100644 --- a/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java +++ b/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java @@ -99,5 +99,7 @@ public interface IWmsMaterialCoilService { List queryExportList(WmsMaterialCoilBo bo); int exportCoil(@NotEmpty(message = "主键不能为空") Long coilId); + + TableDataInfo queryAvailableForDelivery(WmsMaterialCoilBo bo, PageQuery pageQuery); } 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 17cf1392..d5d894a3 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 @@ -12,8 +12,10 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.klp.common.helper.LoginHelper; import com.klp.common.utils.StringUtils; import com.klp.common.utils.spring.SpringUtils; +import com.klp.domain.WmsDeliveryPlan; import com.klp.domain.bo.*; import com.klp.domain.vo.*; +import com.klp.mapper.WmsDeliveryPlanMapper; import com.klp.system.service.ISysUserService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -56,6 +58,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { private final IWmsBomItemService bomItemService; private final IWmsProductService productService; private final ISysUserService userService; + private final WmsDeliveryPlanMapper deliveryPlanMapper; /** * 查询钢卷物料表 @@ -1752,4 +1755,83 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { return lqw; } + + /** + * 查询可用于发货计划的钢卷(未被任何发货计划引用的钢卷) + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 钢卷分页列表 + */ + @Override + public TableDataInfo queryAvailableForDelivery(WmsMaterialCoilBo bo, PageQuery pageQuery) { + // 构建查询条件 + LambdaQueryWrapper lqw = buildAvailableCoilQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 构建可用于发货计划的钢卷查询条件 + * 排除已被任何发货计划引用的钢卷 + * + * @param bo 查询条件 + * @return 查询构造器 + */ + private LambdaQueryWrapper buildAvailableCoilQueryWrapper(WmsMaterialCoilBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + + // 基础查询条件 + lqw.eq(WmsMaterialCoil::getDelFlag, 0); // 未删除 + lqw.eq(WmsMaterialCoil::getStatus, 0); // 在库状态 + lqw.eq(WmsMaterialCoil::getDataType, 1); // 当前数据 + + // 应用传入的查询条件 + if (StringUtils.isNotBlank(bo.getEnterCoilNo())) { + lqw.like(WmsMaterialCoil::getEnterCoilNo, bo.getEnterCoilNo()); + } + if (StringUtils.isNotBlank(bo.getCurrentCoilNo())) { + lqw.like(WmsMaterialCoil::getCurrentCoilNo, bo.getCurrentCoilNo()); + } + if (StringUtils.isNotBlank(bo.getSupplierCoilNo())) { + lqw.like(WmsMaterialCoil::getSupplierCoilNo, bo.getSupplierCoilNo()); + } + if (bo.getWarehouseId() != null) { + lqw.eq(WmsMaterialCoil::getWarehouseId, bo.getWarehouseId()); + } + if (bo.getItemId() != null) { + lqw.eq(WmsMaterialCoil::getItemId, bo.getItemId()); + } + if (StringUtils.isNotBlank(bo.getItemType())) { + lqw.eq(WmsMaterialCoil::getItemType, bo.getItemType()); + } + + // 排除已被发货计划引用的钢卷 + LambdaQueryWrapper planQuery =Wrappers.lambdaQuery(); + planQuery.eq(WmsDeliveryPlan::getDelFlag, 0) // 过滤已删除的计划 + .isNotNull(WmsDeliveryPlan::getCoil) // 只查有钢卷ID的计划 + .ne(WmsDeliveryPlan::getCoil, ""); // 排除空字符串 + List plans = deliveryPlanMapper.selectList(planQuery); + if (!plans.isEmpty()) { + Set usedCoilIds = new HashSet<>(); + for (WmsDeliveryPlan plan : plans) { + if (StringUtils.isNotBlank(plan.getCoil())) { + String[] coilIds = plan.getCoil().split(","); + for (String coilIdStr : coilIds) { + try { + usedCoilIds.add(Long.parseLong(coilIdStr.trim())); + } catch (NumberFormatException ignored) { + // 忽略无效的ID + } + } + } + } + + if (!usedCoilIds.isEmpty()) { + lqw.notIn(WmsMaterialCoil::getCoilId, usedCoilIds); + } + } + + return lqw; + } } From 04a1480ec6456d0f1bd64af964aa0bd94662016d Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Mon, 8 Dec 2025 13:14:11 +0800 Subject: [PATCH 11/14] =?UTF-8?q?feat(wms):=20=E6=B7=BB=E5=8A=A0=E9=92=A2?= =?UTF-8?q?=E5=8D=B7=E5=8F=91=E8=B4=A7=E7=8A=B6=E6=80=81=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 IWmsMaterialCoilService 接口中新增 batchUpdateDeliveryStatus 方法 - 在 WmsMaterialCoilController 中添加批量更新接口 /batchUpdateDeliveryStatus - 实现 WmsMaterialCoilServiceImpl 中的批量更新逻辑 - 支持将钢卷状态更新为在库、在途或已出库 - 更新在途状态时自动设置出库时间 - 添加参数校验和异常处理机制 --- .../controller/WmsMaterialCoilController.java | 26 ++++++++++++++++ .../klp/service/IWmsMaterialCoilService.java | 2 ++ .../impl/WmsMaterialCoilServiceImpl.java | 31 +++++++++++++++++++ 3 files changed, 59 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 1dd9771c..201b440d 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java @@ -3,6 +3,7 @@ package com.klp.controller; import java.util.List; import java.util.Map; import java.util.Arrays; +import java.util.stream.Collectors; import com.klp.domain.vo.WmsMaterialCoilExportVo; import lombok.RequiredArgsConstructor; @@ -195,5 +196,30 @@ public class WmsMaterialCoilController extends BaseController { public TableDataInfo getAvailableCoilsForDelivery(WmsMaterialCoilBo bo, PageQuery pageQuery) { return iWmsMaterialCoilService.queryAvailableForDelivery(bo, pageQuery); } + + + /** + * 批量更新钢卷发货状态 + * + * @param coilIds 钢卷ID,多个ID用逗号分隔 + * @param status 目标状态 (0=在库, 1=在途, 2=已出库) + * @return 操作结果 + */ + @Log(title = "钢卷物料表", businessType = BusinessType.UPDATE) + @PutMapping("/batchUpdateDeliveryStatus") + public R batchUpdateDeliveryStatus( + @RequestParam String coilIds, + @RequestParam Integer status) { + + // 解析钢卷ID列表 + List coilIdList = Arrays.stream(coilIds.split(",")) + .map(String::trim) + .filter(s -> !s.isEmpty()) + .map(Long::valueOf) + .collect(Collectors.toList()); + + Boolean result = iWmsMaterialCoilService.batchUpdateDeliveryStatus(coilIdList, status); + return result ? R.ok() : R.fail("批量更新失败"); + } } 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 34a8dab0..46426266 100644 --- a/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java +++ b/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java @@ -101,5 +101,7 @@ public interface IWmsMaterialCoilService { int exportCoil(@NotEmpty(message = "主键不能为空") Long coilId); TableDataInfo queryAvailableForDelivery(WmsMaterialCoilBo bo, PageQuery pageQuery); + + Boolean batchUpdateDeliveryStatus(List coilIdList, Integer status); } 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 d5d894a3..4a4f8ec7 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 @@ -1834,4 +1834,35 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { return lqw; } + + + /** + * 批量更新钢卷发货状态 + * + * @param coilIds 钢卷ID列表 + * @param status 目标状态 (0=在库, 1=在途, 2=已出库) + * @return 是否更新成功 + */ + @Override + public Boolean batchUpdateDeliveryStatus(List coilIds, Integer status) { + if (coilIds == null || coilIds.isEmpty()) { + return false; + } + + if (status == null || status < 0 || status > 2) { + throw new RuntimeException("无效的状态值,状态必须在0-2之间"); + } + + // 构造更新条件 + LambdaUpdateWrapper updateWrapper = Wrappers.lambdaUpdate(); + updateWrapper.in(WmsMaterialCoil::getCoilId, coilIds); + updateWrapper.set(WmsMaterialCoil::getStatus, status); + + // 如果是设置为已出库状态,同时更新出库时间 + if (status == 1) { + updateWrapper.set(WmsMaterialCoil::getExportTime, new Date()); + } + + return baseMapper.update(null, updateWrapper) > 0; + } } From 0b792edafdc85c615cb28d6c9bb5b5188e4f52c6 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Mon, 8 Dec 2025 13:55:17 +0800 Subject: [PATCH 12/14] =?UTF-8?q?refactor(delivery):=20=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E7=9A=84=E9=92=A2=E5=8D=B7=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=B9=B6=E4=BC=98=E5=8C=96=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 删除 IWmsDeliveryPlanService 中的 getCoilInfoByIds 方法定义 - 删除 WmsDeliveryPlanBo 中冗余的 coilIds 字段 - 移除 WmsDeliveryPlanController 中独立的 /coils 接口实现 - 删除 WmsDeliveryPlanServiceImpl 中 getCoilInfoByIds 的具体实现 - 在 WmsMaterialCoilBo 中重新添加 coilIds 字段用于批量查询 - 优化 WmsMaterialCoilServiceImpl 中对 coilIds 的解析与查询逻辑 - 增强 coilIds 解析健壮性,忽略无效 ID 并防止空值异常 --- .../controller/WmsDeliveryPlanController.java | 11 --------- .../com/klp/domain/bo/WmsDeliveryPlanBo.java | 2 -- .../com/klp/domain/bo/WmsMaterialCoilBo.java | 5 ++++ .../klp/service/IWmsDeliveryPlanService.java | 2 -- .../impl/WmsDeliveryPlanServiceImpl.java | 23 ------------------- .../impl/WmsMaterialCoilServiceImpl.java | 17 ++++++++++++++ 6 files changed, 22 insertions(+), 38 deletions(-) diff --git a/klp-wms/src/main/java/com/klp/controller/WmsDeliveryPlanController.java b/klp-wms/src/main/java/com/klp/controller/WmsDeliveryPlanController.java index a71b13e9..04d71303 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsDeliveryPlanController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsDeliveryPlanController.java @@ -6,7 +6,6 @@ import java.util.Arrays; import com.fasterxml.jackson.annotation.JsonFormat; import com.klp.domain.vo.*; -import liquibase.pro.packaged.W; import lombok.RequiredArgsConstructor; import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.*; @@ -129,14 +128,4 @@ public class WmsDeliveryPlanController extends BaseController { } - /** - * 根据逗号分隔的coil_id字符串查询对应的钢卷信息 - * - * @return 钢卷信息列表 - */ - @PostMapping("/coils") - public R> getCoilInfoByIds(@RequestBody WmsDeliveryPlanBo bo) { - List coilInfoList = iWmsDeliveryPlanService.getCoilInfoByIds(bo.getCoilIds()); - return R.ok(coilInfoList); - } } diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsDeliveryPlanBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsDeliveryPlanBo.java index 0fbb53ce..47611b11 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsDeliveryPlanBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsDeliveryPlanBo.java @@ -46,7 +46,5 @@ public class WmsDeliveryPlanBo extends BaseEntity { // 钢卷集合 private String coil; - private String coilIds; - } diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java index 25488627..7ed360e4 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java @@ -160,5 +160,10 @@ public class WmsMaterialCoilBo extends BaseEntity { */ private Integer minAbnormalCount; + /** + * 钢卷ID列表(逗号分隔,用于根据ID列表查询钢卷) + */ + private String coilIds; + } diff --git a/klp-wms/src/main/java/com/klp/service/IWmsDeliveryPlanService.java b/klp-wms/src/main/java/com/klp/service/IWmsDeliveryPlanService.java index 14ef261a..8fe1752b 100644 --- a/klp-wms/src/main/java/com/klp/service/IWmsDeliveryPlanService.java +++ b/klp-wms/src/main/java/com/klp/service/IWmsDeliveryPlanService.java @@ -60,6 +60,4 @@ public interface IWmsDeliveryPlanService { * 获取发货报表统计信息(包含汇总和按类型统计) */ WmsDeliveryReportResultVo getDeliveryReport(Date startTime, Date endTime); - - List getCoilInfoByIds(String coilIds); } diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsDeliveryPlanServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsDeliveryPlanServiceImpl.java index 6fd66f9c..422a6372 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsDeliveryPlanServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsDeliveryPlanServiceImpl.java @@ -168,27 +168,4 @@ public class WmsDeliveryPlanServiceImpl implements IWmsDeliveryPlanService { return result; } - - /** - * 根据逗号分隔的coil_id字符串查询对应的钢卷信息 - * - * @param coilIds 逗号分隔的coil_id字符串 - * @return 钢卷信息列表 - */ - @Override - public List getCoilInfoByIds(String coilIds) { - if (StringUtils.isBlank(coilIds)) { - return Collections.emptyList(); - } - - // 将逗号分隔的字符串转换为ID列表 - List idList = Arrays.stream(coilIds.split(",")) - .map(String::trim) - .filter(s -> !s.isEmpty()) - .map(Long::valueOf) - .collect(Collectors.toList()); - - // 查询对应的钢卷信息 - return coilMapper.selectVoBatchIds(idList); - } } 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 4a4f8ec7..4dda2338 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 @@ -350,6 +350,23 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { // 兼容原来的itemId单值查询 qw.eq("mc.item_id", bo.getItemId()); } + // 添加coilIds查询条件,支持逗号分隔的多个coilId查询 + if (StringUtils.isNotBlank(bo.getCoilIds())) { + String[] coilIdArray = bo.getCoilIds().split(","); + List coilIdList = new ArrayList<>(); + for (String coilIdStr : coilIdArray) { + if (StringUtils.isNotBlank(coilIdStr)) { + try { + coilIdList.add(Long.parseLong(coilIdStr.trim())); + } catch (NumberFormatException e) { + // 忽略无效的ID格式 + } + } + } + if (!coilIdList.isEmpty()) { + qw.in("mc.coil_id", coilIdList); + } + } //逻辑删除 qw.eq("mc.del_flag", 0); //把team字段作为筛选条件 From cff1bdc46bfc64617006883defe42c8fe002700a Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Mon, 8 Dec 2025 14:42:28 +0800 Subject: [PATCH 13/14] =?UTF-8?q?feat(wms):=20=E6=B7=BB=E5=8A=A0=E5=8F=91?= =?UTF-8?q?=E8=B4=A7=E8=AE=A1=E5=88=92=E5=AE=A1=E6=A0=B8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 WmsDeliveryPlan 实体中新增 auditStatus、auditBy 和 auditTime 字段 - 在 WmsDeliveryPlanBo 业务对象中同步新增审核相关字段 - 更新 WmsDeliveryPlanMapper.xml 映射文件以支持新字段查询 - 在 WmsDeliveryPlanServiceImpl 查询条件构造器中增加 auditStatus 筛选 - 在 WmsDeliveryPlanVo 视图对象中新增审核字段并配置日期格式化注解 --- .../src/main/java/com/klp/domain/WmsDeliveryPlan.java | 10 ++++++++++ .../main/java/com/klp/domain/bo/WmsDeliveryPlanBo.java | 10 +++++++++- .../main/java/com/klp/domain/vo/WmsDeliveryPlanVo.java | 10 ++++++++++ .../klp/service/impl/WmsDeliveryPlanServiceImpl.java | 1 + .../resources/mapper/klp/WmsDeliveryPlanMapper.xml | 3 +++ 5 files changed, 33 insertions(+), 1 deletion(-) diff --git a/klp-wms/src/main/java/com/klp/domain/WmsDeliveryPlan.java b/klp-wms/src/main/java/com/klp/domain/WmsDeliveryPlan.java index 2609f53f..8b43fe78 100644 --- a/klp-wms/src/main/java/com/klp/domain/WmsDeliveryPlan.java +++ b/klp-wms/src/main/java/com/klp/domain/WmsDeliveryPlan.java @@ -7,6 +7,7 @@ import lombok.EqualsAndHashCode; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; /** * 发货计划对象 wms_delivery_plan @@ -51,4 +52,13 @@ public class WmsDeliveryPlan extends BaseEntity { // 钢卷集合 private String coil; + //-- 1. 新增审核状态字段(核心) + private Integer auditStatus; + //-- 2. 新增审核人字段 + private String auditBy; + //-- 3. 新增审核时间字段 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date auditTime; + } diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsDeliveryPlanBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsDeliveryPlanBo.java index 47611b11..01331195 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsDeliveryPlanBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsDeliveryPlanBo.java @@ -7,6 +7,7 @@ import javax.validation.constraints.*; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; /** * 发货计划业务对象 wms_delivery_plan @@ -46,5 +47,12 @@ public class WmsDeliveryPlanBo extends BaseEntity { // 钢卷集合 private String coil; - + //-- 1. 新增审核状态字段(核心) + private Integer auditStatus; + //-- 2. 新增审核人字段 + private String auditBy; + //-- 3. 新增审核时间字段 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date auditTime; } diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryPlanVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryPlanVo.java index b4ce46cc..1befe163 100644 --- a/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryPlanVo.java +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryPlanVo.java @@ -10,6 +10,7 @@ import com.klp.common.annotation.ExcelDictFormat; import com.klp.common.convert.ExcelDictConvert; import com.klp.common.core.domain.BaseEntity; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; /** @@ -74,4 +75,13 @@ public class WmsDeliveryPlanVo extends BaseEntity { // 钢卷集合 private String coil; + //-- 1. 新增审核状态字段(核心) + private Integer auditStatus; + //-- 2. 新增审核人字段 + private String auditBy; + //-- 3. 新增审核时间字段 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date auditTime; + } diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsDeliveryPlanServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsDeliveryPlanServiceImpl.java index 422a6372..1680e119 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsDeliveryPlanServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsDeliveryPlanServiceImpl.java @@ -91,6 +91,7 @@ public class WmsDeliveryPlanServiceImpl implements IWmsDeliveryPlanService { lqw.like(StringUtils.isNotBlank(bo.getPlanName()), WmsDeliveryPlan::getPlanName, bo.getPlanName()); lqw.eq(bo.getPlanDate() != null, WmsDeliveryPlan::getPlanDate, bo.getPlanDate()); lqw.eq(bo.getPlanType() != null, WmsDeliveryPlan::getPlanType, bo.getPlanType()); + lqw.eq(bo.getAuditStatus() != null, WmsDeliveryPlan::getAuditStatus, bo.getAuditStatus()); return lqw; } diff --git a/klp-wms/src/main/resources/mapper/klp/WmsDeliveryPlanMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsDeliveryPlanMapper.xml index 8ed7a445..32cb8357 100644 --- a/klp-wms/src/main/resources/mapper/klp/WmsDeliveryPlanMapper.xml +++ b/klp-wms/src/main/resources/mapper/klp/WmsDeliveryPlanMapper.xml @@ -10,6 +10,9 @@ + + + From 40452d513e3b05d5b8e0f5c0f11f6d3fb65968a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A0=82=E7=B3=96?= Date: Mon, 8 Dec 2025 15:17:56 +0800 Subject: [PATCH 14/14] =?UTF-8?q?feat(=E5=8F=91=E8=B4=A7=E8=AE=A1=E5=88=92?= =?UTF-8?q?):=20=E6=96=B0=E5=A2=9E=E9=92=A2=E5=8D=B7=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=B9=B6=E4=BC=98=E5=8C=96=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=E5=B8=83=E5=B1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在发货计划页面添加钢卷选择器组件,支持从列表中选择钢卷 - 优化发货计划卡片布局,增加审批状态显示 - 新增钢卷列表查询API接口 - 调整分页大小和查询条件 - 重构CoilSelector组件,增加更多钢卷信息展示 - 添加钢卷转移组件框架 --- klp-ui/src/api/wms/coil.js | 11 + klp-ui/src/components/CoilSelector/index.vue | 22 +- .../wms/delivery/components/coilsTranfer.vue | 64 ++++ klp-ui/src/views/wms/delivery/plan/index.vue | 282 ++++++++++++------ .../src/views/wms/delivery/waybill/index.vue | 3 +- 5 files changed, 275 insertions(+), 107 deletions(-) create mode 100644 klp-ui/src/views/wms/delivery/components/coilsTranfer.vue diff --git a/klp-ui/src/api/wms/coil.js b/klp-ui/src/api/wms/coil.js index 1c309d4a..e57b5b0c 100644 --- a/klp-ui/src/api/wms/coil.js +++ b/klp-ui/src/api/wms/coil.js @@ -135,4 +135,15 @@ export function exportCoil(coilId) { url: '/wms/materialCoil/exportCoil/' + coilId, method: 'get' }) +} + +// 根据钢卷ID序列查询钢卷列表 +export function listCoilByIds(coilIds) { + return request({ + url: '/wms/materialCoil/list', + method: 'get', + params: { + coilIds + } + }) } \ No newline at end of file diff --git a/klp-ui/src/components/CoilSelector/index.vue b/klp-ui/src/components/CoilSelector/index.vue index c24a3563..4046779e 100644 --- a/klp-ui/src/components/CoilSelector/index.vue +++ b/klp-ui/src/components/CoilSelector/index.vue @@ -7,12 +7,10 @@ {{ selectedCoil.currentCoilNo }} - - ({{ selectedCoil.itemName }}) - + ({{ selectedCoil.itemName }}) [{{ selectedCoil.netWeight }}t] - 请选择钢卷 + {{ placeholder }} @@ -38,16 +36,14 @@ - + + + + - - - @@ -77,6 +73,10 @@ export default { type: Object, default: () => ({}) }, + placeholder: { + type: String, + default: '请选择钢卷' + }, value: { type: [String, Number], default: '' @@ -90,7 +90,7 @@ export default { initialCoil: { type: Object, default: null - } + }, }, data() { return { diff --git a/klp-ui/src/views/wms/delivery/components/coilsTranfer.vue b/klp-ui/src/views/wms/delivery/components/coilsTranfer.vue new file mode 100644 index 00000000..f362e635 --- /dev/null +++ b/klp-ui/src/views/wms/delivery/components/coilsTranfer.vue @@ -0,0 +1,64 @@ + + + \ No newline at end of file diff --git a/klp-ui/src/views/wms/delivery/plan/index.vue b/klp-ui/src/views/wms/delivery/plan/index.vue index 7a250c6e..c8e9200d 100644 --- a/klp-ui/src/views/wms/delivery/plan/index.vue +++ b/klp-ui/src/views/wms/delivery/plan/index.vue @@ -2,18 +2,10 @@
- + - @@ -25,96 +17,95 @@ - 新增 + 新增 - 修改 + 修改 - 删除 + 删除 - 导出 + 导出 - - - -
- -
{{ row.planName }}
+ + + + + +
+ +
{{ row.planName }}
+
+
+
+ {{ parseTime(row.planDate, '{y}-{m}-{d}') }} + + 已审批 + 待审批 + +
+
+ {{ row.createBy }}({{ parseTime(row.updateTime, '{y}-{m}-{d}') }}) +
+
+ 备注: + {{ row.remark || '-' }} +
+
+
+ 审批 + 修改 + 删除 +
+
+
+
+ + +
+ + + + +
+ +
+ +
+ +
+ + + + + + + + + + + + + +
-
-
- 计划日期: - {{ parseTime(row.planDate, '{y}-{m}-{d}') }} -
-
- 备注: - {{ row.remark || '-' }} -
-
- 创建人: - {{ row.createBy }} -
-
- 更新时间: - {{ parseTime(row.updateTime, '{y}-{m}-{d}') }} -
+
+
-
- 修改 - 删除 -
- +
- @@ -123,10 +114,7 @@ - @@ -144,9 +132,14 @@