From fae792b6a44073c8a8ab005e0fed1aefe02ab56f Mon Sep 17 00:00:00 2001 From: zhanghl <253316343@qq.com> Date: 星期二, 22 四月 2025 13:09:01 +0800 Subject: [PATCH] bom 后端代码 --- aps-modules/aps-core/src/main/java/com/aps/core/service/IApsBomService.java | 61 ++++++ aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsBomMapper.java | 63 +++++++ aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsBomServiceImpl.java | 106 +++++++++++ aps-modules/aps-core/src/main/resources/mapper/core/ApsBomMapper.xml | 109 ++++++++++++ aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsBom.java | 60 ++++++ aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsBomController.java | 98 ++++++++++ 6 files changed, 497 insertions(+), 0 deletions(-) diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsBomController.java b/aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsBomController.java new file mode 100644 index 0000000..b9422ce --- /dev/null +++ b/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)); + } +} diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsBom.java b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsBom.java new file mode 100644 index 0000000..fe35cdc --- /dev/null +++ b/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; + + /** 鐖惰妭鐐笲OM ID */ + @Excel(name = "鐖惰妭鐐笲OM 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浠h〃瀛樺湪 2浠h〃鍒犻櫎锛� */ + private String delFlag; + +} diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsBomMapper.java b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsBomMapper.java new file mode 100644 index 0000000..3769713 --- /dev/null +++ b/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); +} diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsBomService.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsBomService.java new file mode 100644 index 0000000..f3184f7 --- /dev/null +++ b/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); +} diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsBomServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsBomServiceImpl.java new file mode 100644 index 0000000..6036b4f --- /dev/null +++ b/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); + + } + + +} diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsBomMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsBomMapper.xml new file mode 100644 index 0000000..e669db1 --- /dev/null +++ b/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> \ No newline at end of file -- Gitblit v1.9.3