feat(oa): 新增 BOM 管理、产品管理和分类功能

- 添加 BOM 头和 BOM 明细相关实体、控制器、服务和 Mapper
- 实现 BOM 头和 BOM 明细的增删查改功能
- 添加产品和产品分类相关实体、控制器、服务和 Mapper
- 实现产品和产品分类的增删查改功能- 为所有新增功能添加相应的 Excel 导出功能
This commit is contained in:
2025-08-19 13:53:30 +08:00
parent 6b1a1ca5a6
commit 45f44d8ada
41 changed files with 2730 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
package com.gear.oa.domain.bo;
import com.gear.common.core.validate.AddGroup;
import com.gear.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.util.Date;
import com.gear.common.core.domain.BaseEntity;
/**
* BOM 头,关联产品或原材料业务对象 gear_bom
*
* @author Joshi
* @date 2025-08-19
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class GearBomBo extends BaseEntity {
/**
* BOM 主键ID
*/
private Long bomId;
/**
* BOM 编码(可选)
*/
private String bomCode;
/**
* BOM 名称(可选)
*/
private String bomName;
/**
* 是否启用0=否1=是)
*/
private Integer isEnabled;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,55 @@
package com.gear.oa.domain.bo;
import com.gear.common.core.validate.AddGroup;
import com.gear.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.util.Date;
import com.gear.common.core.domain.BaseEntity;
/**
* BOM 明细,存放属性–值业务对象 gear_bom_item
*
* @author Joshi
* @date 2025-08-19
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class GearBomItemBo extends BaseEntity {
/**
* BOM 明细ID
*/
private Long itemId;
/**
* 关联 wms_bom.bom_id
*/
private Long bomId;
/**
* 属性名称
*/
private String attrKey;
/**
* 属性值
*/
private String attrValue;
/**
* 是否启用0=否1=是)
*/
private Integer isEnabled;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,75 @@
package com.gear.oa.domain.bo;
import com.gear.common.core.validate.AddGroup;
import com.gear.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.util.Date;
import com.gear.common.core.domain.BaseEntity;
/**
* 产品业务对象 gear_product
*
* @author Joshi
* @date 2025-08-19
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class GearProductBo extends BaseEntity {
/**
* 主键ID
*/
private Long productId;
/**
* 产品编号
*/
private String productCode;
/**
* 产品名称
*/
private String productName;
/**
* 负责人
*/
private String owner;
/**
* 单位
*/
private String unit;
/**
* BOM 表头ID
*/
private Long bomId;
/**
* 产品类型product=产品semi=半成品raw=原料)
*/
private String type;
/**
* 是否启用0=否1=是)
*/
private Integer isEnabled;
/**
* 备注
*/
private String remark;
/**
* 分类ID
*/
private Long categoryId;
}

View File

@@ -0,0 +1,50 @@
package com.gear.oa.domain.bo;
import com.gear.common.core.validate.AddGroup;
import com.gear.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.util.Date;
import com.gear.common.core.domain.TreeEntity;
/**
* 产品分类树业务对象 gear_product_category
*
* @author Joshi
* @date 2025-08-19
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class GearProductCategoryBo extends TreeEntity<GearProductCategoryBo> {
/**
* 树节点唯一标识(根节点用固定值)
*/
private Long categoryId;
/**
* 节点名称根节点为类型名产品节点为product_name
*/
private String categoryName;
/**
* 节点类型root=根节点、product=产品节点)
*/
private String categoryType;
/**
* 同级排序号
*/
private Long sortNo;
/**
* 备注
*/
private String remark;
}