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,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.gear.oa.mapper.GearBomItemMapper">
<resultMap type="com.gear.oa.domain.GearBomItem" id="GearBomItemResult">
<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>

View File

@@ -0,0 +1,21 @@
<?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.gear.oa.mapper.GearBomMapper">
<resultMap type="com.gear.oa.domain.GearBom" id="GearBomResult">
<result property="bomId" column="bom_id"/>
<result property="bomCode" column="bom_code"/>
<result property="bomName" column="bom_name"/>
<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>

View 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.gear.oa.mapper.GearProductCategoryMapper">
<resultMap type="com.gear.oa.domain.GearProductCategory" id="GearProductCategoryResult">
<result property="categoryId" column="category_id"/>
<result property="parentId" column="parent_id"/>
<result property="categoryName" column="category_name"/>
<result property="categoryType" column="category_type"/>
<result property="sortNo" column="sort_no"/>
<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>

View File

@@ -0,0 +1,49 @@
<?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.gear.oa.mapper.GearProductMapper">
<resultMap type="com.gear.oa.domain.GearProduct" id="GearProductResult">
<result property="productId" column="product_id"/>
<result property="categoryId" column="category_id"/>
<result property="productCode" column="product_code"/>
<result property="productName" column="product_name"/>
<result property="owner" column="owner"/>
<result property="unit" column="unit"/>
<result property="bomId" column="bom_id"/>
<result property="type" column="type"/>
<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>
<select id="selectVoPagePlus" resultType="com.gear.oa.domain.vo.GearProductVo">
SELECT
p.product_id AS productId,
p.category_id AS categoryId,
c.category_name AS categoryName,
p.product_code AS productCode,
p.product_name AS productName,
p.owner AS owner,
p.unit AS unit,
p.bom_id AS bomId,
p.type AS type,
p.is_enabled AS isEnabled,
p.del_flag AS delFlag,
p.create_time AS createTime,
p.create_by AS createBy,
p.update_time AS updateTime,
p.update_by AS updateBy,
p.remark AS remark
FROM
gear_product p
Left join gear_product_category c on p.category_id = c.category_id
${ew.customSqlSegment}
</select>
</mapper>