新增两张bom表的增删改查,以及产品和原料表添加bom_id的修改
This commit is contained in:
106
klp-wms/src/main/java/com/klp/controller/WmsBomController.java
Normal file
106
klp-wms/src/main/java/com/klp/controller/WmsBomController.java
Normal file
@@ -0,0 +1,106 @@
|
||||
package com.klp.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.klp.common.annotation.RepeatSubmit;
|
||||
import com.klp.common.annotation.Log;
|
||||
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.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.WmsBomVo;
|
||||
import com.klp.domain.bo.WmsBomBo;
|
||||
import com.klp.service.IWmsBomService;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* BOM 头,关联产品或原材料
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-07-29
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/klp/bom")
|
||||
public class WmsBomController extends BaseController {
|
||||
|
||||
private final IWmsBomService iWmsBomService;
|
||||
|
||||
/**
|
||||
* 查询BOM 头,关联产品或原材料列表
|
||||
*/
|
||||
@SaCheckPermission("klp:bom:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<WmsBomVo> list(WmsBomBo bo, PageQuery pageQuery) {
|
||||
return iWmsBomService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出BOM 头,关联产品或原材料列表
|
||||
*/
|
||||
@SaCheckPermission("klp:bom:export")
|
||||
@Log(title = "BOM 头,关联产品或原材料", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(WmsBomBo bo, HttpServletResponse response) {
|
||||
List<WmsBomVo> list = iWmsBomService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "BOM 头,关联产品或原材料", WmsBomVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取BOM 头,关联产品或原材料详细信息
|
||||
*
|
||||
* @param bomId 主键
|
||||
*/
|
||||
@SaCheckPermission("klp:bom:query")
|
||||
@GetMapping("/{bomId}")
|
||||
public R<WmsBomVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long bomId) {
|
||||
return R.ok(iWmsBomService.queryById(bomId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增BOM 头,关联产品或原材料
|
||||
*/
|
||||
@SaCheckPermission("klp:bom:add")
|
||||
@Log(title = "BOM 头,关联产品或原材料", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody WmsBomBo bo) {
|
||||
return toAjax(iWmsBomService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改BOM 头,关联产品或原材料
|
||||
*/
|
||||
@SaCheckPermission("klp:bom:edit")
|
||||
@Log(title = "BOM 头,关联产品或原材料", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody WmsBomBo bo) {
|
||||
return toAjax(iWmsBomService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除BOM 头,关联产品或原材料
|
||||
*
|
||||
* @param bomIds 主键串
|
||||
*/
|
||||
@SaCheckPermission("klp:bom:remove")
|
||||
@Log(title = "BOM 头,关联产品或原材料", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{bomIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] bomIds) {
|
||||
return toAjax(iWmsBomService.deleteWithValidByIds(Arrays.asList(bomIds), true));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
package com.klp.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.klp.common.annotation.RepeatSubmit;
|
||||
import com.klp.common.annotation.Log;
|
||||
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.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.WmsBomItemVo;
|
||||
import com.klp.domain.bo.WmsBomItemBo;
|
||||
import com.klp.service.IWmsBomItemService;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* BOM 明细,存放属性–值
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-07-29
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/wms/bomItem")
|
||||
public class WmsBomItemController extends BaseController {
|
||||
|
||||
private final IWmsBomItemService iWmsBomItemService;
|
||||
|
||||
/**
|
||||
* 查询BOM 明细,存放属性–值列表
|
||||
*/
|
||||
@SaCheckPermission("wms:bomItem:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<WmsBomItemVo> list(WmsBomItemBo bo, PageQuery pageQuery) {
|
||||
return iWmsBomItemService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出BOM 明细,存放属性–值列表
|
||||
*/
|
||||
@SaCheckPermission("wms:bomItem:export")
|
||||
@Log(title = "BOM 明细,存放属性–值", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(WmsBomItemBo bo, HttpServletResponse response) {
|
||||
List<WmsBomItemVo> list = iWmsBomItemService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "BOM 明细,存放属性–值", WmsBomItemVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取BOM 明细,存放属性–值详细信息
|
||||
*
|
||||
* @param itemId 主键
|
||||
*/
|
||||
@SaCheckPermission("wms:bomItem:query")
|
||||
@GetMapping("/{itemId}")
|
||||
public R<WmsBomItemVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long itemId) {
|
||||
return R.ok(iWmsBomItemService.queryById(itemId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增BOM 明细,存放属性–值
|
||||
*/
|
||||
@SaCheckPermission("wms:bomItem:add")
|
||||
@Log(title = "BOM 明细,存放属性–值", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody WmsBomItemBo bo) {
|
||||
return toAjax(iWmsBomItemService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改BOM 明细,存放属性–值
|
||||
*/
|
||||
@SaCheckPermission("wms:bomItem:edit")
|
||||
@Log(title = "BOM 明细,存放属性–值", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody WmsBomItemBo bo) {
|
||||
return toAjax(iWmsBomItemService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除BOM 明细,存放属性–值
|
||||
*
|
||||
* @param itemIds 主键串
|
||||
*/
|
||||
@SaCheckPermission("wms:bomItem:remove")
|
||||
@Log(title = "BOM 明细,存放属性–值", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{itemIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] itemIds) {
|
||||
return toAjax(iWmsBomItemService.deleteWithValidByIds(Arrays.asList(itemIds), true));
|
||||
}
|
||||
}
|
||||
57
klp-wms/src/main/java/com/klp/domain/WmsBom.java
Normal file
57
klp-wms/src/main/java/com/klp/domain/WmsBom.java
Normal file
@@ -0,0 +1,57 @@
|
||||
package com.klp.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
|
||||
/**
|
||||
* BOM 头,关联产品或原材料对象 wms_bom
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-07-29
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("wms_bom")
|
||||
public class WmsBom extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* BOM 主键ID
|
||||
*/
|
||||
@TableId(value = "bom_id")
|
||||
private Long bomId;
|
||||
/**
|
||||
* BOM 编码(可选)
|
||||
*/
|
||||
private String bomCode;
|
||||
/**
|
||||
* BOM 名称(可选)
|
||||
*/
|
||||
private String bomName;
|
||||
/**
|
||||
* 所属类型: PRODUCT 或 RAW_MATERIAL
|
||||
*/
|
||||
private String parentType;
|
||||
/**
|
||||
* 对应 wms_product.product_id 或 wms_raw_material.raw_material_id
|
||||
*/
|
||||
private Long parentId;
|
||||
/**
|
||||
* 是否启用(0=否,1=是)
|
||||
*/
|
||||
private Integer isEnabled;
|
||||
/**
|
||||
* 删除标志(0=正常,1=删除)
|
||||
*/
|
||||
@TableLogic
|
||||
private Integer delFlag;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
||||
53
klp-wms/src/main/java/com/klp/domain/WmsBomItem.java
Normal file
53
klp-wms/src/main/java/com/klp/domain/WmsBomItem.java
Normal file
@@ -0,0 +1,53 @@
|
||||
package com.klp.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
|
||||
/**
|
||||
* BOM 明细,存放属性–值对象 wms_bom_item
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-07-29
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("wms_bom_item")
|
||||
public class WmsBomItem extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* BOM 明细ID
|
||||
*/
|
||||
@TableId(value = "item_id")
|
||||
private Long itemId;
|
||||
/**
|
||||
* 关联 wms_bom.bom_id
|
||||
*/
|
||||
private Long bomId;
|
||||
/**
|
||||
* 属性名称
|
||||
*/
|
||||
private String attrKey;
|
||||
/**
|
||||
* 属性值
|
||||
*/
|
||||
private String attrValue;
|
||||
/**
|
||||
* 是否启用(0=否,1=是)
|
||||
*/
|
||||
private Integer isEnabled;
|
||||
/**
|
||||
* 删除标志(0=正常,1=删除)
|
||||
*/
|
||||
@TableLogic
|
||||
private Integer delFlag;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
||||
@@ -82,5 +82,11 @@ public class WmsProduct extends BaseEntity {
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* BOM 表头ID
|
||||
*/
|
||||
private Long bomId;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -126,5 +126,11 @@ public class WmsRawMaterial extends BaseEntity {
|
||||
* 单位
|
||||
*/
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* BOM 表头ID
|
||||
*/
|
||||
private Long bomId;
|
||||
|
||||
}
|
||||
|
||||
|
||||
56
klp-wms/src/main/java/com/klp/domain/bo/WmsBomBo.java
Normal file
56
klp-wms/src/main/java/com/klp/domain/bo/WmsBomBo.java
Normal file
@@ -0,0 +1,56 @@
|
||||
package com.klp.domain.bo;
|
||||
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
|
||||
/**
|
||||
* BOM 头,关联产品或原材料业务对象 wms_bom
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-07-29
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class WmsBomBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* BOM 主键ID
|
||||
*/
|
||||
private Long bomId;
|
||||
|
||||
/**
|
||||
* BOM 编码(可选)
|
||||
*/
|
||||
private String bomCode;
|
||||
|
||||
/**
|
||||
* BOM 名称(可选)
|
||||
*/
|
||||
private String bomName;
|
||||
|
||||
/**
|
||||
* 所属类型: PRODUCT 或 RAW_MATERIAL
|
||||
*/
|
||||
private String parentType;
|
||||
|
||||
/**
|
||||
* 对应 wms_product.product_id 或 wms_raw_material.raw_material_id
|
||||
*/
|
||||
private Long parentId;
|
||||
|
||||
/**
|
||||
* 是否启用(0=否,1=是)
|
||||
*/
|
||||
private Integer isEnabled;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
42
klp-wms/src/main/java/com/klp/domain/bo/WmsBomItemBo.java
Normal file
42
klp-wms/src/main/java/com/klp/domain/bo/WmsBomItemBo.java
Normal file
@@ -0,0 +1,42 @@
|
||||
package com.klp.domain.bo;
|
||||
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
|
||||
/**
|
||||
* BOM 明细,存放属性–值业务对象 wms_bom_item
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-07-29
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class WmsBomItemBo extends BaseEntity {
|
||||
|
||||
private Long itemId;
|
||||
/**
|
||||
* 属性名称
|
||||
*/
|
||||
private String attrKey;
|
||||
|
||||
/**
|
||||
* 属性值
|
||||
*/
|
||||
private String attrValue;
|
||||
|
||||
/**
|
||||
* 是否启用(0=否,1=是)
|
||||
*/
|
||||
private Integer isEnabled;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -96,4 +96,10 @@ public class WmsProductBo extends BaseEntity {
|
||||
private Integer isEnabled;
|
||||
//备注
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* BOM 表头ID
|
||||
*/
|
||||
private Long bomId;
|
||||
}
|
||||
|
||||
|
||||
@@ -145,5 +145,10 @@ public class WmsRawMaterialBo extends BaseEntity {
|
||||
*/
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* BOM 表头ID
|
||||
*/
|
||||
private Long bomId;
|
||||
|
||||
}
|
||||
|
||||
|
||||
48
klp-wms/src/main/java/com/klp/domain/vo/WmsBomItemVo.java
Normal file
48
klp-wms/src/main/java/com/klp/domain/vo/WmsBomItemVo.java
Normal file
@@ -0,0 +1,48 @@
|
||||
package com.klp.domain.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.klp.common.annotation.ExcelDictFormat;
|
||||
import com.klp.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* BOM 明细,存放属性–值视图对象 wms_bom_item
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-07-29
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class WmsBomItemVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 属性名称
|
||||
*/
|
||||
@ExcelProperty(value = "属性名称")
|
||||
private String attrKey;
|
||||
|
||||
/**
|
||||
* 属性值
|
||||
*/
|
||||
@ExcelProperty(value = "属性值")
|
||||
private String attrValue;
|
||||
|
||||
/**
|
||||
* 是否启用(0=否,1=是)
|
||||
*/
|
||||
@ExcelProperty(value = "是否启用", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(dictType = "common_swicth")
|
||||
private Integer isEnabled;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
69
klp-wms/src/main/java/com/klp/domain/vo/WmsBomVo.java
Normal file
69
klp-wms/src/main/java/com/klp/domain/vo/WmsBomVo.java
Normal file
@@ -0,0 +1,69 @@
|
||||
package com.klp.domain.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.klp.common.annotation.ExcelDictFormat;
|
||||
import com.klp.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* BOM 头,关联产品或原材料视图对象 wms_bom
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-07-29
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class WmsBomVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* BOM 主键ID
|
||||
*/
|
||||
@ExcelProperty(value = "BOM 主键ID")
|
||||
private Long bomId;
|
||||
|
||||
/**
|
||||
* BOM 编码(可选)
|
||||
*/
|
||||
@ExcelProperty(value = "BOM 编码", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "可=选")
|
||||
private String bomCode;
|
||||
|
||||
/**
|
||||
* BOM 名称(可选)
|
||||
*/
|
||||
@ExcelProperty(value = "BOM 名称", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "可=选")
|
||||
private String bomName;
|
||||
|
||||
/**
|
||||
* 所属类型: PRODUCT 或 RAW_MATERIAL
|
||||
*/
|
||||
@ExcelProperty(value = "所属类型: PRODUCT 或 RAW_MATERIAL", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(dictType = "stock_item_type")
|
||||
private String parentType;
|
||||
|
||||
/**
|
||||
* 对应 wms_product.product_id 或 wms_raw_material.raw_material_id
|
||||
*/
|
||||
@ExcelProperty(value = "对应 wms_product.product_id 或 wms_raw_material.raw_material_id")
|
||||
private Long parentId;
|
||||
|
||||
/**
|
||||
* 是否启用(0=否,1=是)
|
||||
*/
|
||||
@ExcelProperty(value = "是否启用", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "0==否,1=是")
|
||||
private Integer isEnabled;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -107,5 +107,11 @@ public class WmsProductVo {
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* BOM 表头ID
|
||||
*/
|
||||
@ExcelProperty(value = "BOM 表头ID")
|
||||
private Long bomId;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -187,5 +187,11 @@ public class WmsRawMaterialVo {
|
||||
@ExcelProperty(value = "单位")
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* BOM 表头ID
|
||||
*/
|
||||
@ExcelProperty(value = "BOM 表头ID")
|
||||
private Long bomId;
|
||||
|
||||
}
|
||||
|
||||
|
||||
15
klp-wms/src/main/java/com/klp/mapper/WmsBomItemMapper.java
Normal file
15
klp-wms/src/main/java/com/klp/mapper/WmsBomItemMapper.java
Normal file
@@ -0,0 +1,15 @@
|
||||
package com.klp.mapper;
|
||||
|
||||
import com.klp.domain.WmsBomItem;
|
||||
import com.klp.domain.vo.WmsBomItemVo;
|
||||
import com.klp.common.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* BOM 明细,存放属性–值Mapper接口
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-07-29
|
||||
*/
|
||||
public interface WmsBomItemMapper extends BaseMapperPlus<WmsBomItemMapper, WmsBomItem, WmsBomItemVo> {
|
||||
|
||||
}
|
||||
15
klp-wms/src/main/java/com/klp/mapper/WmsBomMapper.java
Normal file
15
klp-wms/src/main/java/com/klp/mapper/WmsBomMapper.java
Normal file
@@ -0,0 +1,15 @@
|
||||
package com.klp.mapper;
|
||||
|
||||
import com.klp.domain.WmsBom;
|
||||
import com.klp.domain.vo.WmsBomVo;
|
||||
import com.klp.common.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* BOM 头,关联产品或原材料Mapper接口
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-07-29
|
||||
*/
|
||||
public interface WmsBomMapper extends BaseMapperPlus<WmsBomMapper, WmsBom, WmsBomVo> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.klp.service;
|
||||
|
||||
import com.klp.domain.WmsBomItem;
|
||||
import com.klp.domain.vo.WmsBomItemVo;
|
||||
import com.klp.domain.bo.WmsBomItemBo;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* BOM 明细,存放属性–值Service接口
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-07-29
|
||||
*/
|
||||
public interface IWmsBomItemService {
|
||||
|
||||
/**
|
||||
* 查询BOM 明细,存放属性–值
|
||||
*/
|
||||
WmsBomItemVo queryById(Long itemId);
|
||||
|
||||
/**
|
||||
* 查询BOM 明细,存放属性–值列表
|
||||
*/
|
||||
TableDataInfo<WmsBomItemVo> queryPageList(WmsBomItemBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询BOM 明细,存放属性–值列表
|
||||
*/
|
||||
List<WmsBomItemVo> queryList(WmsBomItemBo bo);
|
||||
|
||||
/**
|
||||
* 新增BOM 明细,存放属性–值
|
||||
*/
|
||||
Boolean insertByBo(WmsBomItemBo bo);
|
||||
|
||||
/**
|
||||
* 修改BOM 明细,存放属性–值
|
||||
*/
|
||||
Boolean updateByBo(WmsBomItemBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除BOM 明细,存放属性–值信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
49
klp-wms/src/main/java/com/klp/service/IWmsBomService.java
Normal file
49
klp-wms/src/main/java/com/klp/service/IWmsBomService.java
Normal file
@@ -0,0 +1,49 @@
|
||||
package com.klp.service;
|
||||
|
||||
import com.klp.domain.WmsBom;
|
||||
import com.klp.domain.vo.WmsBomVo;
|
||||
import com.klp.domain.bo.WmsBomBo;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* BOM 头,关联产品或原材料Service接口
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-07-29
|
||||
*/
|
||||
public interface IWmsBomService {
|
||||
|
||||
/**
|
||||
* 查询BOM 头,关联产品或原材料
|
||||
*/
|
||||
WmsBomVo queryById(Long bomId);
|
||||
|
||||
/**
|
||||
* 查询BOM 头,关联产品或原材料列表
|
||||
*/
|
||||
TableDataInfo<WmsBomVo> queryPageList(WmsBomBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询BOM 头,关联产品或原材料列表
|
||||
*/
|
||||
List<WmsBomVo> queryList(WmsBomBo bo);
|
||||
|
||||
/**
|
||||
* 新增BOM 头,关联产品或原材料
|
||||
*/
|
||||
Boolean insertByBo(WmsBomBo bo);
|
||||
|
||||
/**
|
||||
* 修改BOM 头,关联产品或原材料
|
||||
*/
|
||||
Boolean updateByBo(WmsBomBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除BOM 头,关联产品或原材料信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@@ -0,0 +1,111 @@
|
||||
package com.klp.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
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 lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.klp.domain.bo.WmsBomItemBo;
|
||||
import com.klp.domain.vo.WmsBomItemVo;
|
||||
import com.klp.domain.WmsBomItem;
|
||||
import com.klp.mapper.WmsBomItemMapper;
|
||||
import com.klp.service.IWmsBomItemService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* BOM 明细,存放属性–值Service业务层处理
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-07-29
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class WmsBomItemServiceImpl implements IWmsBomItemService {
|
||||
|
||||
private final WmsBomItemMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询BOM 明细,存放属性–值
|
||||
*/
|
||||
@Override
|
||||
public WmsBomItemVo queryById(Long itemId){
|
||||
return baseMapper.selectVoById(itemId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询BOM 明细,存放属性–值列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<WmsBomItemVo> queryPageList(WmsBomItemBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<WmsBomItem> lqw = buildQueryWrapper(bo);
|
||||
Page<WmsBomItemVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询BOM 明细,存放属性–值列表
|
||||
*/
|
||||
@Override
|
||||
public List<WmsBomItemVo> queryList(WmsBomItemBo bo) {
|
||||
LambdaQueryWrapper<WmsBomItem> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<WmsBomItem> buildQueryWrapper(WmsBomItemBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<WmsBomItem> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getAttrKey()), WmsBomItem::getAttrKey, bo.getAttrKey());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getAttrValue()), WmsBomItem::getAttrValue, bo.getAttrValue());
|
||||
lqw.eq(bo.getIsEnabled() != null, WmsBomItem::getIsEnabled, bo.getIsEnabled());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增BOM 明细,存放属性–值
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(WmsBomItemBo bo) {
|
||||
WmsBomItem add = BeanUtil.toBean(bo, WmsBomItem.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setItemId(add.getItemId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改BOM 明细,存放属性–值
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(WmsBomItemBo bo) {
|
||||
WmsBomItem update = BeanUtil.toBean(bo, WmsBomItem.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(WmsBomItem entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除BOM 明细,存放属性–值
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,113 @@
|
||||
package com.klp.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
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 lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.klp.domain.bo.WmsBomBo;
|
||||
import com.klp.domain.vo.WmsBomVo;
|
||||
import com.klp.domain.WmsBom;
|
||||
import com.klp.mapper.WmsBomMapper;
|
||||
import com.klp.service.IWmsBomService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* BOM 头,关联产品或原材料Service业务层处理
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-07-29
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class WmsBomServiceImpl implements IWmsBomService {
|
||||
|
||||
private final WmsBomMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询BOM 头,关联产品或原材料
|
||||
*/
|
||||
@Override
|
||||
public WmsBomVo queryById(Long bomId){
|
||||
return baseMapper.selectVoById(bomId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询BOM 头,关联产品或原材料列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<WmsBomVo> queryPageList(WmsBomBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<WmsBom> lqw = buildQueryWrapper(bo);
|
||||
Page<WmsBomVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询BOM 头,关联产品或原材料列表
|
||||
*/
|
||||
@Override
|
||||
public List<WmsBomVo> queryList(WmsBomBo bo) {
|
||||
LambdaQueryWrapper<WmsBom> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<WmsBom> buildQueryWrapper(WmsBomBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<WmsBom> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getBomCode()), WmsBom::getBomCode, bo.getBomCode());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getBomName()), WmsBom::getBomName, bo.getBomName());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getParentType()), WmsBom::getParentType, bo.getParentType());
|
||||
lqw.eq(bo.getParentId() != null, WmsBom::getParentId, bo.getParentId());
|
||||
lqw.eq(bo.getIsEnabled() != null, WmsBom::getIsEnabled, bo.getIsEnabled());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增BOM 头,关联产品或原材料
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(WmsBomBo bo) {
|
||||
WmsBom add = BeanUtil.toBean(bo, WmsBom.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setBomId(add.getBomId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改BOM 头,关联产品或原材料
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(WmsBomBo bo) {
|
||||
WmsBom update = BeanUtil.toBean(bo, WmsBom.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(WmsBom entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除BOM 头,关联产品或原材料
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@@ -74,6 +74,7 @@ public class WmsProductServiceImpl implements IWmsProductService {
|
||||
lqw.eq(bo.getWidth() != null, WmsProduct::getWidth, bo.getWidth());
|
||||
lqw.eq(bo.getInnerDiameter() != null, WmsProduct::getInnerDiameter, bo.getInnerDiameter());
|
||||
lqw.eq(bo.getIsEnabled() != null, WmsProduct::getIsEnabled, bo.getIsEnabled());
|
||||
lqw.eq(bo.getBomId() != null, WmsProduct::getBomId, bo.getBomId());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
|
||||
@@ -83,6 +83,7 @@ public class WmsRawMaterialServiceImpl implements IWmsRawMaterialService {
|
||||
lqw.eq(bo.getHeadTailCutFlag() != null, WmsRawMaterial::getHeadTailCutFlag, bo.getHeadTailCutFlag());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getInspectionResult()), WmsRawMaterial::getInspectionResult, bo.getInspectionResult());
|
||||
lqw.eq(bo.getIsEnabled() != null, WmsRawMaterial::getIsEnabled, bo.getIsEnabled());
|
||||
lqw.eq(bo.getBomId() != null, WmsRawMaterial::getBomId, bo.getBomId());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
|
||||
22
klp-wms/src/main/resources/mapper/klp/WmsBomItemMapper.xml
Normal file
22
klp-wms/src/main/resources/mapper/klp/WmsBomItemMapper.xml
Normal file
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.klp.mapper.WmsBomItemMapper">
|
||||
|
||||
<resultMap type="com.klp.domain.WmsBomItem" id="WmsBomItemResult">
|
||||
<result property="itemId" column="item_id"/>
|
||||
<result property="bomId" column="bom_id"/>
|
||||
<result property="attrKey" column="attr_key"/>
|
||||
<result property="attrValue" column="attr_value"/>
|
||||
<result property="isEnabled" column="is_enabled"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="remark" column="remark"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
</mapper>
|
||||
23
klp-wms/src/main/resources/mapper/klp/WmsBomMapper.xml
Normal file
23
klp-wms/src/main/resources/mapper/klp/WmsBomMapper.xml
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.klp.mapper.WmsBomMapper">
|
||||
|
||||
<resultMap type="com.klp.domain.WmsBom" id="WmsBomResult">
|
||||
<result property="bomId" column="bom_id"/>
|
||||
<result property="bomCode" column="bom_code"/>
|
||||
<result property="bomName" column="bom_name"/>
|
||||
<result property="parentType" column="parent_type"/>
|
||||
<result property="parentId" column="parent_id"/>
|
||||
<result property="isEnabled" column="is_enabled"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="remark" column="remark"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -24,6 +24,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="unit" column="unit"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="bomId" column="bom_id"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
|
||||
@@ -35,6 +35,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="unit" column="unit"/>
|
||||
<result property="bomId" column="bom_id"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user