From 62b594026bfa1c5cd30c223518cc1969de384231 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=8E=8B=E6=96=87=E6=98=8A?=
<15984991+wwh2328692301@user.noreply.gitee.com>
Date: Mon, 20 Apr 2026 18:20:29 +0800
Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E8=A7=84=E7=A8=8B=E4=B8=BB?=
=?UTF-8?q?=E8=A1=A8=20wms=5Fprocess=5Fspec=20=E5=85=A8=E6=A0=88=20CRUD?=
=?UTF-8?q?=EF=BC=88=E4=BB=BB=E5=8A=A12=EF=BC=89?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
新增规程档案后端(Entity/BO/VO/Mapper/Service/Controller),接口前缀 /wms/processSpec,
含分页查询、导出、详情、增删改;保存时校验规程编号唯一;逻辑删除与全局配置一致(0 未删 / 2 已删)。
新增 Flyway 脚本 V10 建表及唯一索引;前端增加 api/wms/processSpec.js 与 views/wms/processSpec/index.vue,
支持按编号/名称/类型/产线/产品类型/启用状态筛选,产线下拉关联现有产线接口。
说明:需在目标库执行迁移并在菜单中配置组件路径 wms/processSpec/index。
---
.../db/migration/V10__wms_process_spec.sql | 20 ++
klp-ui/src/api/wms/processSpec.js | 44 +++
klp-ui/src/views/wms/processSpec/index.vue | 306 ++++++++++++++++++
.../controller/WmsProcessSpecController.java | 99 ++++++
.../java/com/klp/domain/WmsProcessSpec.java | 68 ++++
.../com/klp/domain/bo/WmsProcessSpecBo.java | 65 ++++
.../com/klp/domain/vo/WmsProcessSpecVo.java | 82 +++++
.../com/klp/mapper/WmsProcessSpecMapper.java | 14 +
.../klp/service/IWmsProcessSpecService.java | 47 +++
.../impl/WmsProcessSpecServiceImpl.java | 101 ++++++
.../mapper/klp/WmsProcessSpecMapper.xml | 23 ++
11 files changed, 869 insertions(+)
create mode 100644 klp-admin/src/main/resources/db/migration/V10__wms_process_spec.sql
create mode 100644 klp-ui/src/api/wms/processSpec.js
create mode 100644 klp-ui/src/views/wms/processSpec/index.vue
create mode 100644 klp-wms/src/main/java/com/klp/controller/WmsProcessSpecController.java
create mode 100644 klp-wms/src/main/java/com/klp/domain/WmsProcessSpec.java
create mode 100644 klp-wms/src/main/java/com/klp/domain/bo/WmsProcessSpecBo.java
create mode 100644 klp-wms/src/main/java/com/klp/domain/vo/WmsProcessSpecVo.java
create mode 100644 klp-wms/src/main/java/com/klp/mapper/WmsProcessSpecMapper.java
create mode 100644 klp-wms/src/main/java/com/klp/service/IWmsProcessSpecService.java
create mode 100644 klp-wms/src/main/java/com/klp/service/impl/WmsProcessSpecServiceImpl.java
create mode 100644 klp-wms/src/main/resources/mapper/klp/WmsProcessSpecMapper.xml
diff --git a/klp-admin/src/main/resources/db/migration/V10__wms_process_spec.sql b/klp-admin/src/main/resources/db/migration/V10__wms_process_spec.sql
new file mode 100644
index 00000000..211b8545
--- /dev/null
+++ b/klp-admin/src/main/resources/db/migration/V10__wms_process_spec.sql
@@ -0,0 +1,20 @@
+-- 冷轧涂镀数智运营 - 规程主表
+CREATE TABLE wms_process_spec (
+ spec_id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
+ spec_code VARCHAR(64) NOT NULL COMMENT '规程编号',
+ spec_name VARCHAR(200) NOT NULL COMMENT '规程名称',
+ spec_type VARCHAR(32) NOT NULL DEFAULT 'PROCESS' COMMENT '类型(PROCESS=工艺规程,STANDARD=标准)',
+ line_id BIGINT NOT NULL COMMENT '产线ID',
+ product_type VARCHAR(100) NULL COMMENT '产品类型',
+ is_enabled TINYINT NOT NULL DEFAULT 1 COMMENT '是否启用(0否1是)',
+ create_by VARCHAR(64) NULL COMMENT '创建人',
+ create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ update_by VARCHAR(64) NULL COMMENT '更新人',
+ update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+ del_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标志(0正常2删除,与全局逻辑删除配置一致)',
+ remark VARCHAR(500) NULL COMMENT '备注',
+ PRIMARY KEY (spec_id),
+ UNIQUE KEY uk_wms_process_spec_code (spec_code),
+ KEY idx_wms_process_spec_line (line_id),
+ KEY idx_wms_process_spec_type (spec_type)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='规程主表';
diff --git a/klp-ui/src/api/wms/processSpec.js b/klp-ui/src/api/wms/processSpec.js
new file mode 100644
index 00000000..5fc0a17a
--- /dev/null
+++ b/klp-ui/src/api/wms/processSpec.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询规程主表列表
+export function listProcessSpec(query) {
+ return request({
+ url: '/wms/processSpec/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询规程主表详细
+export function getProcessSpec(specId) {
+ return request({
+ url: '/wms/processSpec/' + specId,
+ method: 'get'
+ })
+}
+
+// 新增规程主表
+export function addProcessSpec(data) {
+ return request({
+ url: '/wms/processSpec',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改规程主表
+export function updateProcessSpec(data) {
+ return request({
+ url: '/wms/processSpec',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除规程主表
+export function delProcessSpec(specId) {
+ return request({
+ url: '/wms/processSpec/' + specId,
+ method: 'delete'
+ })
+}
diff --git a/klp-ui/src/views/wms/processSpec/index.vue b/klp-ui/src/views/wms/processSpec/index.vue
new file mode 100644
index 00000000..68128c8e
--- /dev/null
+++ b/klp-ui/src/views/wms/processSpec/index.vue
@@ -0,0 +1,306 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+ {{ formatSpecType(scope.row.specType) }}
+
+
+
+
+ {{ getLineName(scope.row.lineId) }}
+
+
+
+
+
+
+
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 启用
+ 禁用
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/klp-wms/src/main/java/com/klp/controller/WmsProcessSpecController.java b/klp-wms/src/main/java/com/klp/controller/WmsProcessSpecController.java
new file mode 100644
index 00000000..54ea98a9
--- /dev/null
+++ b/klp-wms/src/main/java/com/klp/controller/WmsProcessSpecController.java
@@ -0,0 +1,99 @@
+package com.klp.controller;
+
+import com.klp.common.annotation.Log;
+import com.klp.common.annotation.RepeatSubmit;
+import com.klp.common.core.controller.BaseController;
+import com.klp.common.core.domain.PageQuery;
+import com.klp.common.core.domain.R;
+import com.klp.common.core.page.TableDataInfo;
+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.bo.WmsProcessSpecBo;
+import com.klp.domain.vo.WmsProcessSpecVo;
+import com.klp.service.IWmsProcessSpecService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 规程主表
+ *
+ * @author klp
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/wms/processSpec")
+public class WmsProcessSpecController extends BaseController {
+
+ private final IWmsProcessSpecService wmsProcessSpecService;
+
+ /**
+ * 查询规程主表列表
+ */
+ @GetMapping("/list")
+ public TableDataInfo list(WmsProcessSpecBo bo, PageQuery pageQuery) {
+ return wmsProcessSpecService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 导出规程主表列表
+ */
+ @Log(title = "规程主表", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(WmsProcessSpecBo bo, HttpServletResponse response) {
+ List list = wmsProcessSpecService.queryList(bo);
+ ExcelUtil.exportExcel(list, "规程主表", WmsProcessSpecVo.class, response);
+ }
+
+ /**
+ * 获取规程主表详细信息
+ *
+ * @param specId 主键
+ */
+ @GetMapping("/{specId}")
+ public R getInfo(@NotNull(message = "主键不能为空")
+ @PathVariable Long specId) {
+ return R.ok(wmsProcessSpecService.queryById(specId));
+ }
+
+ /**
+ * 新增规程主表
+ */
+ @Log(title = "规程主表", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R add(@Validated(AddGroup.class) @RequestBody WmsProcessSpecBo bo) {
+ return toAjax(wmsProcessSpecService.insertByBo(bo));
+ }
+
+ /**
+ * 修改规程主表
+ */
+ @Log(title = "规程主表", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody WmsProcessSpecBo bo) {
+ return toAjax(wmsProcessSpecService.updateByBo(bo));
+ }
+
+ /**
+ * 删除规程主表
+ *
+ * @param specIds 主键串
+ */
+ @Log(title = "规程主表", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{specIds}")
+ public R remove(@NotEmpty(message = "主键不能为空")
+ @PathVariable Long[] specIds) {
+ return toAjax(wmsProcessSpecService.deleteWithValidByIds(Arrays.asList(specIds), true));
+ }
+}
diff --git a/klp-wms/src/main/java/com/klp/domain/WmsProcessSpec.java b/klp-wms/src/main/java/com/klp/domain/WmsProcessSpec.java
new file mode 100644
index 00000000..98835514
--- /dev/null
+++ b/klp-wms/src/main/java/com/klp/domain/WmsProcessSpec.java
@@ -0,0 +1,68 @@
+package com.klp.domain;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.klp.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 规程主表对象 wms_process_spec
+ *
+ * @author klp
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("wms_process_spec")
+public class WmsProcessSpec extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @TableId(value = "spec_id")
+ private Long specId;
+
+ /**
+ * 规程编号
+ */
+ private String specCode;
+
+ /**
+ * 规程名称
+ */
+ private String specName;
+
+ /**
+ * 类型(PROCESS/STANDARD)
+ */
+ private String specType;
+
+ /**
+ * 产线ID
+ */
+ private Long lineId;
+
+ /**
+ * 产品类型
+ */
+ private String productType;
+
+ /**
+ * 是否启用(0=否,1=是)
+ */
+ private Integer isEnabled;
+
+ /**
+ * 删除标志(0=正常,2=删除,与全局 logicDeleteValue 一致)
+ */
+ @TableLogic
+ private Integer delFlag;
+
+ /**
+ * 备注
+ */
+ private String remark;
+}
diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsProcessSpecBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsProcessSpecBo.java
new file mode 100644
index 00000000..227cb06a
--- /dev/null
+++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsProcessSpecBo.java
@@ -0,0 +1,65 @@
+package com.klp.domain.bo;
+
+import com.klp.common.core.domain.BaseEntity;
+import com.klp.common.core.validate.AddGroup;
+import com.klp.common.core.validate.EditGroup;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * 规程主表业务对象 wms_process_spec
+ *
+ * @author klp
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class WmsProcessSpecBo extends BaseEntity {
+
+ /**
+ * 主键
+ */
+ @NotNull(message = "主键不能为空", groups = {EditGroup.class})
+ private Long specId;
+
+ /**
+ * 规程编号
+ */
+ @NotBlank(message = "规程编号不能为空", groups = {AddGroup.class, EditGroup.class})
+ private String specCode;
+
+ /**
+ * 规程名称
+ */
+ @NotBlank(message = "规程名称不能为空", groups = {AddGroup.class, EditGroup.class})
+ private String specName;
+
+ /**
+ * 类型(PROCESS/STANDARD)
+ */
+ @NotBlank(message = "规程类型不能为空", groups = {AddGroup.class, EditGroup.class})
+ private String specType;
+
+ /**
+ * 产线ID
+ */
+ @NotNull(message = "产线不能为空", groups = {AddGroup.class, EditGroup.class})
+ private Long lineId;
+
+ /**
+ * 产品类型
+ */
+ private String productType;
+
+ /**
+ * 是否启用(0=否,1=是)
+ */
+ private Integer isEnabled;
+
+ /**
+ * 备注
+ */
+ private String remark;
+}
diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsProcessSpecVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsProcessSpecVo.java
new file mode 100644
index 00000000..3dcaf894
--- /dev/null
+++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsProcessSpecVo.java
@@ -0,0 +1,82 @@
+package com.klp.domain.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 规程主表视图对象 wms_process_spec
+ *
+ * @author klp
+ */
+@Data
+@ExcelIgnoreUnannotated
+public class WmsProcessSpecVo {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @ExcelProperty(value = "主键")
+ private Long specId;
+
+ /**
+ * 规程编号
+ */
+ @ExcelProperty(value = "规程编号")
+ private String specCode;
+
+ /**
+ * 规程名称
+ */
+ @ExcelProperty(value = "规程名称")
+ private String specName;
+
+ /**
+ * 类型(PROCESS/STANDARD)
+ */
+ @ExcelProperty(value = "规程类型")
+ private String specType;
+
+ /**
+ * 产线ID
+ */
+ @ExcelProperty(value = "产线ID")
+ private Long lineId;
+
+ /**
+ * 产品类型
+ */
+ @ExcelProperty(value = "产品类型")
+ private String productType;
+
+ /**
+ * 是否启用(0=否,1=是)
+ */
+ @ExcelProperty(value = "是否启用")
+ private Integer isEnabled;
+
+ /**
+ * 备注
+ */
+ @ExcelProperty(value = "备注")
+ private String remark;
+
+ /**
+ * 创建时间
+ */
+ @ExcelProperty(value = "创建时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date createTime;
+
+ /**
+ * 更新时间
+ */
+ @ExcelProperty(value = "更新时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date updateTime;
+}
diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsProcessSpecMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsProcessSpecMapper.java
new file mode 100644
index 00000000..69c1ad41
--- /dev/null
+++ b/klp-wms/src/main/java/com/klp/mapper/WmsProcessSpecMapper.java
@@ -0,0 +1,14 @@
+package com.klp.mapper;
+
+import com.klp.common.core.mapper.BaseMapperPlus;
+import com.klp.domain.WmsProcessSpec;
+import com.klp.domain.vo.WmsProcessSpecVo;
+
+/**
+ * 规程主表Mapper接口
+ *
+ * @author klp
+ */
+public interface WmsProcessSpecMapper extends BaseMapperPlus {
+
+}
diff --git a/klp-wms/src/main/java/com/klp/service/IWmsProcessSpecService.java b/klp-wms/src/main/java/com/klp/service/IWmsProcessSpecService.java
new file mode 100644
index 00000000..22c0ead6
--- /dev/null
+++ b/klp-wms/src/main/java/com/klp/service/IWmsProcessSpecService.java
@@ -0,0 +1,47 @@
+package com.klp.service;
+
+import com.klp.common.core.domain.PageQuery;
+import com.klp.common.core.page.TableDataInfo;
+import com.klp.domain.bo.WmsProcessSpecBo;
+import com.klp.domain.vo.WmsProcessSpecVo;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 规程主表Service接口
+ *
+ * @author klp
+ */
+public interface IWmsProcessSpecService {
+
+ /**
+ * 查询规程主表
+ */
+ WmsProcessSpecVo queryById(Long specId);
+
+ /**
+ * 查询规程主表分页列表
+ */
+ TableDataInfo queryPageList(WmsProcessSpecBo bo, PageQuery pageQuery);
+
+ /**
+ * 查询规程主表列表
+ */
+ List queryList(WmsProcessSpecBo bo);
+
+ /**
+ * 新增规程主表
+ */
+ Boolean insertByBo(WmsProcessSpecBo bo);
+
+ /**
+ * 修改规程主表
+ */
+ Boolean updateByBo(WmsProcessSpecBo bo);
+
+ /**
+ * 校验并批量删除规程主表
+ */
+ Boolean deleteWithValidByIds(Collection ids, Boolean isValid);
+}
diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsProcessSpecServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsProcessSpecServiceImpl.java
new file mode 100644
index 00000000..6c5b080a
--- /dev/null
+++ b/klp-wms/src/main/java/com/klp/service/impl/WmsProcessSpecServiceImpl.java
@@ -0,0 +1,101 @@
+package com.klp.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.klp.common.core.domain.PageQuery;
+import com.klp.common.core.page.TableDataInfo;
+import com.klp.common.exception.ServiceException;
+import com.klp.common.utils.StringUtils;
+import com.klp.domain.WmsProcessSpec;
+import com.klp.domain.bo.WmsProcessSpecBo;
+import com.klp.domain.vo.WmsProcessSpecVo;
+import com.klp.mapper.WmsProcessSpecMapper;
+import com.klp.service.IWmsProcessSpecService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 规程主表Service业务层处理
+ *
+ * @author klp
+ */
+@RequiredArgsConstructor
+@Service
+public class WmsProcessSpecServiceImpl implements IWmsProcessSpecService {
+
+ private final WmsProcessSpecMapper baseMapper;
+
+ @Override
+ public WmsProcessSpecVo queryById(Long specId) {
+ return baseMapper.selectVoById(specId);
+ }
+
+ @Override
+ public TableDataInfo queryPageList(WmsProcessSpecBo bo, PageQuery pageQuery) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ Page result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+ return TableDataInfo.build(result);
+ }
+
+ @Override
+ public List queryList(WmsProcessSpecBo bo) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ return baseMapper.selectVoList(lqw);
+ }
+
+ private LambdaQueryWrapper buildQueryWrapper(WmsProcessSpecBo bo) {
+ LambdaQueryWrapper lqw = Wrappers.lambdaQuery();
+ lqw.eq(StringUtils.isNotBlank(bo.getSpecCode()), WmsProcessSpec::getSpecCode, bo.getSpecCode());
+ lqw.like(StringUtils.isNotBlank(bo.getSpecName()), WmsProcessSpec::getSpecName, bo.getSpecName());
+ lqw.eq(StringUtils.isNotBlank(bo.getSpecType()), WmsProcessSpec::getSpecType, bo.getSpecType());
+ lqw.eq(bo.getLineId() != null, WmsProcessSpec::getLineId, bo.getLineId());
+ lqw.like(StringUtils.isNotBlank(bo.getProductType()), WmsProcessSpec::getProductType, bo.getProductType());
+ lqw.eq(bo.getIsEnabled() != null, WmsProcessSpec::getIsEnabled, bo.getIsEnabled());
+ return lqw;
+ }
+
+ @Override
+ public Boolean insertByBo(WmsProcessSpecBo bo) {
+ WmsProcessSpec add = BeanUtil.toBean(bo, WmsProcessSpec.class);
+ if (add.getIsEnabled() == null) {
+ add.setIsEnabled(1);
+ }
+ validEntityBeforeSave(add);
+ boolean flag = baseMapper.insert(add) > 0;
+ if (flag) {
+ bo.setSpecId(add.getSpecId());
+ }
+ return flag;
+ }
+
+ @Override
+ public Boolean updateByBo(WmsProcessSpecBo bo) {
+ WmsProcessSpec update = BeanUtil.toBean(bo, WmsProcessSpec.class);
+ validEntityBeforeSave(update);
+ return baseMapper.updateById(update) > 0;
+ }
+
+ private void validEntityBeforeSave(WmsProcessSpec entity) {
+ LambdaQueryWrapper lqw = Wrappers.lambdaQuery();
+ lqw.eq(WmsProcessSpec::getSpecCode, entity.getSpecCode());
+ if (entity.getSpecId() != null) {
+ lqw.ne(WmsProcessSpec::getSpecId, entity.getSpecId());
+ }
+ if (baseMapper.selectCount(lqw) > 0) {
+ throw new ServiceException("规程编号已存在");
+ }
+ }
+
+ @Override
+ public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) {
+ if (Boolean.TRUE.equals(isValid)) {
+ // 任务3 可在此校验版本等从表数据
+ }
+ return baseMapper.deleteBatchIds(ids) > 0;
+ }
+}
diff --git a/klp-wms/src/main/resources/mapper/klp/WmsProcessSpecMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsProcessSpecMapper.xml
new file mode 100644
index 00000000..51df1fb3
--- /dev/null
+++ b/klp-wms/src/main/resources/mapper/klp/WmsProcessSpecMapper.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+