aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlanManagementController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,122 @@ package com.aps.core.controller; 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.ApsPlanCycle; import com.aps.core.domain.ApsPlanManagement; import com.aps.core.service.IApsPlanManagementService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 计å管çController * * @author ruoyi * @date 2025-05-13 */ @Tag(name = "计å管ç", description = "计åç®¡çæ¥å£") @RestController @RequestMapping("/management") public class ApsPlanManagementController extends BaseController { @Autowired private IApsPlanManagementService apsPlanManagementService; /** * æ¥è¯¢è®¡å管çå表 */ @Operation(summary = "æ¥è¯¢è®¡å管çå表", description = "å页æ¥è¯¢") @RequiresPermissions("aps:management:list") @GetMapping("/list") public TableDataInfo list(ApsPlanManagement apsPlanManagement) { startPage(); List<ApsPlanManagement> list = apsPlanManagementService.selectApsPlanManagementList(apsPlanManagement); return getDataTable(list); } /** * 导åºè®¡å管çå表 */ @Operation(summary = "导åºè®¡å管çå表", description = "导åº") @RequiresPermissions("aps:management:export") @Log(title = "计å管ç", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, ApsPlanManagement apsPlanManagement) { List<ApsPlanManagement> list = apsPlanManagementService.selectApsPlanManagementList(apsPlanManagement); ExcelUtil<ApsPlanManagement> util = new ExcelUtil<ApsPlanManagement>(ApsPlanManagement.class); util.exportExcel(response, list, "计åç®¡çæ°æ®"); } /** * è·å计å管ç详ç»ä¿¡æ¯ */ @Operation(summary = "è·å计å管ç详ç»ä¿¡æ¯", description = "æ ¹æ®idè·å") @RequiresPermissions("aps:management:query") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { return success(apsPlanManagementService.selectApsPlanManagementById(id)); } /** * æ°å¢è®¡å管ç */ @Operation(summary = "æ°å¢è®¡å管ç", description = "å个æ°å¢") @RequiresPermissions("aps:management:add") @Log(title = "计å管ç", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody ApsPlanManagement apsPlanManagement) { return toAjax(apsPlanManagementService.insertApsPlanManagement(apsPlanManagement)); } /** * ä¿®æ¹è®¡åå¨æç®¡ç */ @Operation(summary = "ä¿®æ¹è®¡åå¨æç®¡ç", description = "ä¿®æ¹è®¡åå¨æç®¡ç") @RequiresPermissions("aps:planCycle:edit") @Log(title = "ä¿®æ¹è®¡åå¨æç®¡ç", businessType = BusinessType.UPDATE) @PutMapping("cycle") public AjaxResult edit(@RequestBody ApsPlanCycle apsPlanCycle) { apsPlanManagementService.updateApsPlanCycle(apsPlanCycle); return toAjax(true); } /** * ä¿®æ¹è®¡å管ç */ @Operation(summary = "ä¿®æ¹è®¡å管ç", description = "å个修æ¹") @RequiresPermissions("aps:management:edit") @Log(title = "计å管ç", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody ApsPlanManagement apsPlanManagement) { return toAjax(apsPlanManagementService.updateApsPlanManagement(apsPlanManagement)); } /** * å é¤è®¡å管ç */ @Operation(summary = "å é¤è®¡å管ç", description = "æ¹éå é¤") @RequiresPermissions("aps:management:remove") @Log(title = "计å管ç", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(apsPlanManagementService.deleteApsPlanManagementByIds(ids)); } } aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlateOrderPlanManagerController.java
ÎļþÃû´Ó aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlatOrderPlanManagerController.java ÐÞ¸Ä @@ -21,7 +21,7 @@ */ @RestController @RequestMapping("/ApsPlatOrderPlanManager") public class ApsPlatOrderPlanManagerController extends BaseController public class ApsPlateOrderPlanManagerController extends BaseController { @Autowired private IApsPlateOrderPlanManagerService iapPlateOrderPlanManagerService; aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlanCycle.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,137 @@ package com.aps.core.domain; import java.util.Date; import com.aps.common.core.web.domain.BaseEntity; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.aps.common.core.annotation.Excel; import org.springframework.data.annotation.Id; /** * 计åæäº§å¨æç®¡ç对象 aps_plan_cycle * * @author ruoyi * @date 2025-05-13 */ @TableName("aps_plan_cycle") @Schema(description = "计åæäº§å¨æç®¡çå®ä½ç±»") public class ApsPlanCycle extends BaseEntity { private static final long serialVersionUID = 1L; @Id private Long id; /** å¨æç±»å æ¥/æ */ @Excel(name = "å¨æç±»å æ¥/æ") @Schema(description = "å¨æç±»å æ¥/æ") private String type; /** æ»å¨æ¹å¼ */ @Excel(name = "æ»å¨æ¹å¼") @Schema(description = "æ»å¨æ¹å¼") private String rollType; /** 计å卿 */ @Excel(name = "计å卿") @Schema(description = "计å卿") private String period; /** 卿å¼å§ */ @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "卿å¼å§", width = 30, dateFormat = "yyyy-MM-dd") @Schema(description = "卿å¼å§") private Date periodStart; /** å¨æç»æ */ @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "å¨æç»æ", width = 30, dateFormat = "yyyy-MM-dd") @Schema(description = "å¨æç»æ") private Date periodEnd; /** 计åID */ @Excel(name = "计åID") @Schema(description = "计åID") private Long planId; public void setType(String type) { this.type = type; } public String getType() { return type; } public void setRollType(String rollType) { this.rollType = rollType; } public String getRollType() { return rollType; } public void setPeriod(String period) { this.period = period; } public String getPeriod() { return period; } public void setPeriodStart(Date periodStart) { this.periodStart = periodStart; } public Date getPeriodStart() { return periodStart; } public void setPeriodEnd(Date periodEnd) { this.periodEnd = periodEnd; } public Date getPeriodEnd() { return periodEnd; } public void setPlanId(Long planId) { this.planId = planId; } public Long getPlanId() { return planId; } @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) .append("type", getType()) .append("rollType", getRollType()) .append("period", getPeriod()) .append("periodStart", getPeriodStart()) .append("periodEnd", getPeriodEnd()) .append("planId", getPlanId()) .append("createBy", getCreateBy()) .append("createTime", getCreateTime()) .append("updateBy", getUpdateBy()) .append("updateTime", getUpdateTime()) .toString(); } } aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlanManagement.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,108 @@ package com.aps.core.domain; import com.aps.common.core.web.domain.BaseEntity; import io.swagger.v3.oas.annotations.media.Schema; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.aps.common.core.annotation.Excel; /** * 计å管ç对象 aps_plan_management * * @author ruoyi * @date 2025-05-13 */ @Schema(description = "计å管çå®ä½ç±»") public class ApsPlanManagement extends BaseEntity { private static final long serialVersionUID = 1L; /** 计åID */ @Schema(description = "计åID") private Long id; /** 计ååç§° */ @Excel(name = "计ååç§°") @Schema(description = "计ååç§°") private String name; /** 计åç±»å 0:è£ é å解计åï¼1:主计å */ @Excel(name = "计åç±»å 0:è£ é å解计åï¼1:主计å") @Schema(description = "计åç±»å 0:è£ é å解计åï¼1:主计å") private String type; /** 计åæäº§åºå å¤éï¼æä¸¾ */ @Excel(name = "计åæäº§åºå å¤éï¼æä¸¾") @Schema(description = "计åæäº§åºå å¤éï¼æä¸¾") private String area; /** 计åæäº§è§å */ @Excel(name = "计åæäº§è§å") @Schema(description = "计åæäº§è§å") private String rule; public void setId(Long id) { this.id = id; } public Long getId() { return id; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setType(String type) { this.type = type; } public String getType() { return type; } public void setArea(String area) { this.area = area; } public String getArea() { return area; } public void setRule(String rule) { this.rule = rule; } public String getRule() { return rule; } @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) .append("id", getId()) .append("name", getName()) .append("type", getType()) .append("area", getArea()) .append("rule", getRule()) .append("createBy", getCreateBy()) .append("createTime", getCreateTime()) .append("updateBy", getUpdateBy()) .append("updateTime", getUpdateTime()) .toString(); } } aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlanCycleMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,21 @@ package com.aps.core.mapper; import com.aps.core.domain.ApsPlanCycle; import com.aps.core.domain.ApsPlanManagement; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Select; import java.util.List; /** * 计åå¨æç®¡çMapperæ¥å£ * * @author ruoyi * @date 2025-05-13 */ public interface ApsPlanCycleMapper extends BaseMapper<ApsPlanCycle> { @Select("select * from aps_plan_cycle where plan_id = #{planId}") ApsPlanCycle selectByPlanId(Long planId); } aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlanManagementMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,64 @@ package com.aps.core.mapper; import com.aps.core.controller.ApsPlanManagementController; import com.aps.core.domain.ApsPlanManagement; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import java.util.List; /** * 计å管çMapperæ¥å£ * * @author ruoyi * @date 2025-05-13 */ public interface ApsPlanManagementMapper extends BaseMapper<ApsPlanManagement> { /** * æ¥è¯¢è®¡å管ç * * @param id 计å管çä¸»é® * @return 计å管ç */ public ApsPlanManagement selectApsPlanManagementById(Long id); /** * æ¥è¯¢è®¡å管çå表 * * @param apsPlanManagement 计å管ç * @return 计å管çéå */ public List<ApsPlanManagement> selectApsPlanManagementList(ApsPlanManagement apsPlanManagement); /** * æ°å¢è®¡å管ç * * @param apsPlanManagement 计å管ç * @return ç»æ */ public int insertApsPlanManagement(ApsPlanManagement apsPlanManagement); /** * ä¿®æ¹è®¡å管ç * * @param apsPlanManagement 计å管ç * @return ç»æ */ public int updateApsPlanManagement(ApsPlanManagement apsPlanManagement); /** * å é¤è®¡å管ç * * @param id 计å管çä¸»é® * @return ç»æ */ public int deleteApsPlanManagementById(Long id); /** * æ¹éå é¤è®¡å管ç * * @param ids éè¦å é¤çæ°æ®ä¸»é®éå * @return ç»æ */ public int deleteApsPlanManagementByIds(Long[] ids); } aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlanManagementService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,66 @@ package com.aps.core.service; import com.aps.core.domain.ApsPlanCycle; import com.aps.core.domain.ApsPlanManagement; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; /** * 计å管çServiceæ¥å£ * * @author ruoyi * @date 2025-05-13 */ public interface IApsPlanManagementService extends IService<ApsPlanManagement> { /** * æ¥è¯¢è®¡å管ç * * @param id 计å管çä¸»é® * @return 计å管ç */ public ApsPlanManagement selectApsPlanManagementById(Long id); /** * æ¥è¯¢è®¡å管çå表 * * @param apsPlanManagement 计å管ç * @return 计å管çéå */ public List<ApsPlanManagement> selectApsPlanManagementList(ApsPlanManagement apsPlanManagement); /** * æ°å¢è®¡å管ç * * @param apsPlanManagement 计å管ç * @return ç»æ */ public int insertApsPlanManagement(ApsPlanManagement apsPlanManagement); /** * ä¿®æ¹è®¡å管ç * * @param apsPlanManagement 计å管ç * @return ç»æ */ public int updateApsPlanManagement(ApsPlanManagement apsPlanManagement); /** * æ¹éå é¤è®¡å管ç * * @param ids éè¦å é¤ç计å管ç主é®éå * @return ç»æ */ public int deleteApsPlanManagementByIds(Long[] ids); /** * å é¤è®¡å管çä¿¡æ¯ * * @param id 计å管çä¸»é® * @return ç»æ */ public int deleteApsPlanManagementById(Long id); void updateApsPlanCycle(ApsPlanCycle apsPlanCycle); } aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlanManagementServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,110 @@ package com.aps.core.service.impl; import java.util.List; import com.aps.common.core.utils.DateUtils; import com.aps.core.domain.ApsPlanCycle; import com.aps.core.domain.ApsPlanManagement; import com.aps.core.mapper.ApsPlanCycleMapper; import com.aps.core.mapper.ApsPlanManagementMapper; import com.aps.core.service.IApsPlanManagementService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; /** * 计å管çServiceä¸å¡å±å¤ç * * @author ruoyi * @date 2025-05-13 */ @Service public class ApsPlanManagementServiceImpl extends ServiceImpl<ApsPlanManagementMapper, ApsPlanManagement> implements IApsPlanManagementService { @Autowired private ApsPlanManagementMapper apsPlanManagementMapper; @Autowired private ApsPlanCycleMapper apsPlanCycleMapper; /** * æ¥è¯¢è®¡å管ç * * @param id 计å管çä¸»é® * @return 计å管ç */ @Override public ApsPlanManagement selectApsPlanManagementById(Long id) { return selectApsPlanManagementById(id); } /** * æ¥è¯¢è®¡å管çå表 * * @param apsPlanManagement 计å管ç * @return 计å管ç */ @Override public List<ApsPlanManagement> selectApsPlanManagementList(ApsPlanManagement apsPlanManagement) { return apsPlanManagementMapper.selectApsPlanManagementList(apsPlanManagement); } /** * æ°å¢è®¡å管ç * * @param apsPlanManagement 计å管ç * @return ç»æ */ @Override public int insertApsPlanManagement(ApsPlanManagement apsPlanManagement) { apsPlanManagement.setCreateTime(DateUtils.getNowDate()); return apsPlanManagementMapper.insertApsPlanManagement(apsPlanManagement); } /** * ä¿®æ¹è®¡å管ç * * @param apsPlanManagement 计å管ç * @return ç»æ */ @Override public int updateApsPlanManagement(ApsPlanManagement apsPlanManagement) { apsPlanManagement.setUpdateTime(DateUtils.getNowDate()); return apsPlanManagementMapper.updateApsPlanManagement(apsPlanManagement); } /** * æ¹éå é¤è®¡å管ç * * @param ids éè¦å é¤ç计å管çä¸»é® * @return ç»æ */ @Override public int deleteApsPlanManagementByIds(Long[] ids) { return apsPlanManagementMapper.deleteApsPlanManagementByIds(ids); } /** * å é¤è®¡å管çä¿¡æ¯ * * @param id 计å管çä¸»é® * @return ç»æ */ @Override public int deleteApsPlanManagementById(Long id) { return apsPlanManagementMapper.deleteApsPlanManagementById(id); } @Transactional(rollbackFor = Exception.class) @Override public void updateApsPlanCycle(ApsPlanCycle apsPlanCycle) { ApsPlanCycle planCycle = apsPlanCycleMapper.selectByPlanId(apsPlanCycle.getPlanId()); if (planCycle == null) { apsPlanCycleMapper.insert(apsPlanCycle); } else { BeanUtils.copyProperties(apsPlanCycle, planCycle, "id", "planId"); apsPlanCycleMapper.updateById(planCycle); } } } aps-modules/aps-core/src/main/resources/mapper/core/ApsPlanManagementMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,87 @@ <?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.ApsPlanManagementMapper"> <resultMap type="com.aps.core.domain.ApsPlanManagement" id="ApsPlanManagementResult"> <result property="id" column="id" /> <result property="name" column="name" /> <result property="type" column="type" /> <result property="area" column="area" /> <result property="rule" column="rule" /> <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="selectApsPlanManagementVo"> select id, name, type, area, rule, create_by, create_time, update_by, update_time from aps_plan_management </sql> <select id="selectApsPlanManagementList" parameterType="com.aps.core.domain.ApsPlanManagement" resultMap="ApsPlanManagementResult"> <include refid="selectApsPlanManagementVo"/> <where> <if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if> <if test="type != null and type != ''"> and type = #{type}</if> <if test="area != null and area != ''"> and area = #{area}</if> <if test="rule != null and rule != ''"> and rule = #{rule}</if> </where> </select> <select id="selectApsPlanManagementById" parameterType="Long" resultMap="ApsPlanManagementResult"> </select> <insert id="insertApsPlanManagement" parameterType="com.aps.core.domain.ApsPlanManagement"> insert into aps_plan_management <trim prefix="(" suffix=")" suffixOverrides=","> <if test="id != null">id,</if> <if test="name != null">name,</if> <if test="type != null">type,</if> <if test="area != null">area,</if> <if test="rule != null">rule,</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="id != null">#{id},</if> <if test="name != null">#{name},</if> <if test="type != null">#{type},</if> <if test="area != null">#{area},</if> <if test="rule != null">#{rule},</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="updateApsPlanManagement" parameterType="com.aps.core.domain.ApsPlanManagement"> update aps_plan_management <trim prefix="SET" suffixOverrides=","> <if test="name != null">name = #{name},</if> <if test="type != null">type = #{type},</if> <if test="area != null">area = #{area},</if> <if test="rule != null">rule = #{rule},</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="deleteApsPlanManagementById" parameterType="Long"> delete from aps_plan_management where id = #{id} </delete> <delete id="deleteApsPlanManagementByIds" parameterType="String"> delete from aps_plan_management where id in <foreach item="id" collection="array" open="(" separator="," close=")"> #{id} </foreach> </delete> </mapper> aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanOrderManagerMapper.xml
@@ -47,9 +47,10 @@ require.start_date, require.complete_date from aps_plate_standard_require_bom_order_detail detail left join aps_plate_standard_require require on detail.require_id = require.id left join aps_plate_plan plan on detail.doc_no = plan.document_number left join aps_plate_standard_require require on detail.require_id = require.id and require.del_flag = '0' left join aps_plate_plan plan on detail.doc_no = plan.document_number and plan.del_flag = '0' <where> detail.del_flag = '0' <if test="workOrderNo != null and workOrderNo != ''"> and detail.doc_no = #{workOrderNo}</if> <if test="requireTrackId != null and requireTrackId != ''"> and detail.require_track_id = '${requireTrackId}'</if> <if test="mainPartNumber != null and mainPartNumber != ''"> and plan.main_part_number = #{mainPartNumber}</if> @@ -116,12 +117,13 @@ require.update_time from aps_plate_standard_require require left join aps_plate_standard_require_bom_order_detail detail on detail.require_id = require.id left join aps_plate_standard_require_bom_order_detail detail on detail.require_id = require.id and detail.del_flag = '0' </sql> <select id="selectApsPlanStandardRequire" parameterType="String" resultMap="ApsPlateStandardRequireResult"> <include refid="selectApsPlateStandardRequireVo"/> <where> require.del_flag = '0' <if test="workOrderNo != null and workOrderNo != ''"> and detail.doc_no = #{workOrderNo}</if> </where> </select> @@ -138,9 +140,11 @@ min(require.start_date) as start_date, min(require.complete_date) as end_date from aps_plate_standard_require_bom_order_detail detail left join aps_plate_standard_require require on detail.require_id = require.id left join aps_plate_plan plan on detail.doc_no = plan.document_number where plan.id in left join aps_plate_standard_require require on detail.require_id = require.id and require.del_flag = '0' left join aps_plate_plan plan on detail.doc_no = plan.document_number and plan.del_flag = '0' where detail.del_flag = '0' and plan.id in <foreach collection="planIds" item="planId" open="(" separator="," close=")"> #{planId} </foreach>