zhanghl
2025-04-22 fae792b6a44073c8a8ab005e0fed1aefe02ab56f
bom 后端代码
已添加6个文件
497 ■■■■■ 文件已修改
aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsBomController.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsBom.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsBomMapper.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/service/IApsBomService.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsBomServiceImpl.java 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/resources/mapper/core/ApsBomMapper.xml 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsBomController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,98 @@
package com.aps.core.controller.basicData;
import com.aps.common.core.utils.poi.ExcelUtil;
import com.aps.common.core.web.controller.BaseController;
import com.aps.common.core.web.domain.AjaxResult;
import com.aps.common.core.web.page.TableDataInfo;
import com.aps.common.log.annotation.Log;
import com.aps.common.log.enums.BusinessType;
import com.aps.common.security.annotation.RequiresPermissions;
import com.aps.core.domain.ApsBom;
import com.aps.core.service.IApsBomService;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * BOM数据管理Controller
 *
 * @author zhl
 * @date 2025-04-22
 */
@RestController
@RequestMapping("/ApsBom")
public class ApsBomController extends BaseController
{
    @Autowired
    private IApsBomService apsBomService;
    /**
     * æŸ¥è¯¢BOM数据管理列表
     */
    /*@RequiresPermissions("apsBom:list")*/
    @GetMapping("/list")
    public TableDataInfo list(ApsBom apsBom)
    {
        startPage();
        List<ApsBom> list = apsBomService.selectApsBomList(apsBom);
        return getDataTable(list);
    }
    /**
     * å¯¼å‡ºBOM数据管理列表
     */
    @RequiresPermissions("apsBom:export")
    @Log(title = "BOM数据管理", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, ApsBom apsBom)
    {
        List<ApsBom> list = apsBomService.selectApsBomList(apsBom);
        ExcelUtil<ApsBom> util = new ExcelUtil<ApsBom>(ApsBom.class);
        util.exportExcel(response, list, "BOM数据管理数据");
    }
    /**
     * èŽ·å–BOM数据管理详细信息
     */
    @RequiresPermissions("apsBom:query")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id)
    {
        return success(apsBomService.selectApsBomById(id));
    }
    /**
     * æ–°å¢žBOM数据管理
     */
    @RequiresPermissions("apsBom:add")
    @Log(title = "BOM数据管理", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody ApsBom apsBom)
    {
        return toAjax(apsBomService.insertApsBom(apsBom));
    }
    /**
     * ä¿®æ”¹BOM数据管理
     */
    @RequiresPermissions("apsBom:edit")
    @Log(title = "BOM数据管理", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody ApsBom apsBom)
    {
        return toAjax(apsBomService.updateApsBom(apsBom));
    }
    /**
     * åˆ é™¤BOM数据管理
     */
    @RequiresPermissions("apsBom:remove")
    @Log(title = "BOM数据管理", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids)
    {
        return toAjax(apsBomService.deleteApsBomByIds(ids));
    }
}
aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsBom.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,60 @@
package com.aps.core.domain;
import com.aps.common.core.annotation.Excel;
import com.aps.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.util.List;
/**
 * BOM数据管理对象 aps_bom
 *
 * @author zhl
 * @date 2025-04-22
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class ApsBom extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    /** ä¸»é”®ID */
    private Long id;
    /** bomID */
    @Excel(name = "bomID")
    private String bomId;
    /** çˆ¶èŠ‚ç‚¹BOM ID */
    @Excel(name = "父节点BOM ID")
    private String parentBomId;
    /** æ–™å· */
    @Excel(name = "料号")
    private String itemCode;
    /** ç‰©æ–™æè¿° */
    @Excel(name = "物料描述")
    private String itemName;
    /** ç”Ÿæ•ˆæ—¥æœŸ */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生效日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startDate;
    /** å¤±æ•ˆæ—¥æœŸ */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "失效日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endDate;
    /** å·¥åŽ‚ç¼–ç  */
    @Excel(name = "工厂编码")
    private String orgCode;
    /** åˆ é™¤æ ‡å¿—(0代表存在 2代表删除) */
    private String delFlag;
}
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsBomMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
package com.aps.core.mapper;
import java.util.List;
import com.aps.core.domain.ApsBom;
import org.apache.ibatis.annotations.Mapper;
/**
 * BOM数据管理Mapper接口
 *
 * @author zhl
 * @date 2025-04-22
 */
@Mapper
public interface ApsBomMapper
{
    /**
     * æŸ¥è¯¢BOM数据管理
     *
     * @param id BOM数据管理主键
     * @return BOM数据管理
     */
    public ApsBom selectApsBomById(Long id);
    /**
     * æŸ¥è¯¢BOM数据管理列表
     *
     * @param apsBom BOM数据管理
     * @return BOM数据管理集合
     */
    public List<ApsBom> selectApsBomList(ApsBom apsBom);
    /**
     * æ–°å¢žBOM数据管理
     *
     * @param apsBom BOM数据管理
     * @return ç»“æžœ
     */
    public int insertApsBom(ApsBom apsBom);
    /**
     * ä¿®æ”¹BOM数据管理
     *
     * @param apsBom BOM数据管理
     * @return ç»“æžœ
     */
    public int updateApsBom(ApsBom apsBom);
    /**
     * åˆ é™¤BOM数据管理
     *
     * @param id BOM数据管理主键
     * @return ç»“æžœ
     */
    public int deleteApsBomById(Long id);
    /**
     * æ‰¹é‡åˆ é™¤BOM数据管理
     *
     * @param ids éœ€è¦åˆ é™¤çš„æ•°æ®ä¸»é”®é›†åˆ
     * @return ç»“æžœ
     */
    public int deleteApsBomByIds(Long[] ids);
}
aps-modules/aps-core/src/main/java/com/aps/core/service/IApsBomService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
package com.aps.core.service;
import java.util.List;
import com.aps.core.domain.ApsBom;
/**
 * BOM数据管理Service接口
 *
 * @author zhl
 * @date 2025-04-22
 */
public interface IApsBomService
{
    /**
     * æŸ¥è¯¢BOM数据管理
     *
     * @param id BOM数据管理主键
     * @return BOM数据管理
     */
    public ApsBom selectApsBomById(Long id);
    /**
     * æŸ¥è¯¢BOM数据管理列表
     *
     * @param apsBom BOM数据管理
     * @return BOM数据管理集合
     */
    public List<ApsBom> selectApsBomList(ApsBom apsBom);
    /**
     * æ–°å¢žBOM数据管理
     *
     * @param apsBom BOM数据管理
     * @return ç»“æžœ
     */
    public int insertApsBom(ApsBom apsBom);
    /**
     * ä¿®æ”¹BOM数据管理
     *
     * @param apsBom BOM数据管理
     * @return ç»“æžœ
     */
    public int updateApsBom(ApsBom apsBom);
    /**
     * æ‰¹é‡åˆ é™¤BOM数据管理
     *
     * @param ids éœ€è¦åˆ é™¤çš„BOM数据管理主键集合
     * @return ç»“æžœ
     */
    public int deleteApsBomByIds(Long[] ids);
    /**
     * åˆ é™¤BOM数据管理信息
     *
     * @param id BOM数据管理主键
     * @return ç»“æžœ
     */
    public int deleteApsBomById(Long id);
}
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsBomServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,106 @@
package com.aps.core.service.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.aps.common.core.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.aps.core.mapper.ApsBomMapper;
import com.aps.core.domain.ApsBom;
import com.aps.core.service.IApsBomService;
/**
 * BOM数据管理Service业务层处理
 *
 * @author zhl
 * @date 2025-04-22
 */
@Service
public class ApsBomServiceImpl implements IApsBomService
{
    @Autowired
    private ApsBomMapper apsBomMapper;
    /**
     * æŸ¥è¯¢BOM数据管理
     *
     * @param id BOM数据管理主键
     * @return BOM数据管理
     */
    @Override
    public ApsBom selectApsBomById(Long id)
    {
        return apsBomMapper.selectApsBomById(id);
    }
    /**
     * æ–°å¢žBOM数据管理
     *
     * @param apsBom BOM数据管理
     * @return ç»“æžœ
     */
    @Override
    public int insertApsBom(ApsBom apsBom)
    {
        apsBom.setCreateTime(DateUtils.getNowDate());
        return apsBomMapper.insertApsBom(apsBom);
    }
    /**
     * ä¿®æ”¹BOM数据管理
     *
     * @param apsBom BOM数据管理
     * @return ç»“æžœ
     */
    @Override
    public int updateApsBom(ApsBom apsBom)
    {
        apsBom.setUpdateTime(DateUtils.getNowDate());
        return apsBomMapper.updateApsBom(apsBom);
    }
    /**
     * æ‰¹é‡åˆ é™¤BOM数据管理
     *
     * @param ids éœ€è¦åˆ é™¤çš„BOM数据管理主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteApsBomByIds(Long[] ids)
    {
        return apsBomMapper.deleteApsBomByIds(ids);
    }
    /**
     * åˆ é™¤BOM数据管理信息
     *
     * @param id BOM数据管理主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteApsBomById(Long id)
    {
        return apsBomMapper.deleteApsBomById(id);
    }
    /*-----*/
    /**
     * æŸ¥è¯¢BOM数据管理列表
     *
     * @param apsBom BOM数据管理
     * @return BOM数据管理
     */
    @Override
    public List<ApsBom> selectApsBomList(ApsBom apsBom)
    {
        return apsBomMapper.selectApsBomList(apsBom);
    }
}
aps-modules/aps-core/src/main/resources/mapper/core/ApsBomMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,109 @@
<?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.aps.core.mapper.ApsBomMapper">
    <resultMap type="ApsBom" id="ApsBomResult">
        <result property="id"    column="id"    />
        <result property="bomId"    column="bom_id"    />
        <result property="parentBomId"    column="parent_bom_id"    />
        <result property="itemCode"    column="item_code"    />
        <result property="itemName"    column="item_name"    />
        <result property="startDate"    column="start_date"    />
        <result property="endDate"    column="end_date"    />
        <result property="orgCode"    column="org_code"    />
        <result property="delFlag"    column="del_flag"    />
        <result property="createBy"    column="create_by"    />
        <result property="createTime"    column="create_time"    />
        <result property="updateBy"    column="update_by"    />
        <result property="updateTime"    column="update_time"    />
    </resultMap>
    <sql id="selectApsBomVo">
        select id, bom_id, parent_bom_id, item_code, item_name, start_date, end_date, org_code, del_flag, create_by, create_time, update_by, update_time from aps_bom
    </sql>
    <select id="selectApsBomList" parameterType="ApsBom" resultMap="ApsBomResult">
        <include refid="selectApsBomVo"/>
        <where>
            <if test="bomId != null  and bomId != ''"> and bom_id = #{bomId}</if>
            <if test="parentBomId != null  and parentBomId != ''"> and parent_bom_id = #{parentBomId}</if>
            <if test="itemCode != null  and itemCode != ''"> and item_code like '%'||#{itemCode}||'%'</if>
            <if test="itemName != null  and itemName != ''"> and item_name like '%'|| #{itemName}||'%'</if>
            <if test="params.beginStartDate != null and params.beginStartDate != '' and params.endStartDate != null and params.endStartDate != ''"> and start_date between #{params.beginStartDate} and #{params.endStartDate}</if>
            <if test="params.beginEndDate != null and params.beginEndDate != '' and params.endEndDate != null and params.endEndDate != ''"> and end_date between #{params.beginEndDate} and #{params.endEndDate}</if>
            <if test="orgCode != null  and orgCode != ''"> and org_code = #{orgCode}</if>
            <if test="params.beginCreateTime != null and params.beginCreateTime != '' and params.endCreateTime != null and params.endCreateTime != ''"> and create_time between #{params.beginCreateTime} and #{params.endCreateTime}</if>
            and del_flag='0'
        </where>
        order by parent_bom_id,bom_id
    </select>
    <select id="selectApsBomById" parameterType="Long" resultMap="ApsBomResult">
        <include refid="selectApsBomVo"/>
        where id = #{id}
    </select>
    <insert id="insertApsBom" parameterType="ApsBom" useGeneratedKeys="true" keyProperty="id">
        insert into aps_bom
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="bomId != null">bom_id,</if>
            <if test="parentBomId != null">parent_bom_id,</if>
            <if test="itemCode != null">item_code,</if>
            <if test="itemName != null">item_name,</if>
            <if test="startDate != null">start_date,</if>
            <if test="endDate != null">end_date,</if>
            <if test="orgCode != null">org_code,</if>
            <if test="delFlag != null">del_flag,</if>
            <if test="createBy != null">create_by,</if>
            <if test="createTime != null">create_time,</if>
            <if test="updateBy != null">update_by,</if>
            <if test="updateTime != null">update_time,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="bomId != null">#{bomId},</if>
            <if test="parentBomId != null">#{parentBomId},</if>
            <if test="itemCode != null">#{itemCode},</if>
            <if test="itemName != null">#{itemName},</if>
            <if test="startDate != null">#{startDate},</if>
            <if test="endDate != null">#{endDate},</if>
            <if test="orgCode != null">#{orgCode},</if>
            <if test="delFlag != null">#{delFlag},</if>
            <if test="createBy != null">#{createBy},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="updateBy != null">#{updateBy},</if>
            <if test="updateTime != null">#{updateTime},</if>
         </trim>
    </insert>
    <update id="updateApsBom" parameterType="ApsBom">
        update aps_bom
        <trim prefix="SET" suffixOverrides=",">
            <if test="bomId != null">bom_id = #{bomId},</if>
            <if test="parentBomId != null">parent_bom_id = #{parentBomId},</if>
            <if test="itemCode != null">item_code = #{itemCode},</if>
            <if test="itemName != null">item_name = #{itemName},</if>
            <if test="startDate != null">start_date = #{startDate},</if>
            <if test="endDate != null">end_date = #{endDate},</if>
            <if test="orgCode != null">org_code = #{orgCode},</if>
            <if test="delFlag != null">del_flag = #{delFlag},</if>
            <if test="createBy != null">create_by = #{createBy},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="updateBy != null">update_by = #{updateBy},</if>
            <if test="updateTime != null">update_time = #{updateTime},</if>
        </trim>
        where id = #{id}
    </update>
    <delete id="deleteApsBomById" parameterType="Long">
        delete from aps_bom where id = #{id}
    </delete>
    <delete id="deleteApsBomByIds" parameterType="String">
        delete from aps_bom where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
</mapper>