aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlatOrderPlanManagerController.java
@@ -1,15 +1,14 @@ package com.aps.core.controller.mainPlan; 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.security.annotation.RequiresPermissions; import com.aps.core.domain.ApsPlateOrderPlanDate; import com.aps.core.domain.ApsPlateOrderPlanManager; import com.aps.core.domain.ApsPlateStandardRequire; import com.aps.core.service.IApsPlateOrderPlanManagerService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -49,4 +48,11 @@ return list; } @PutMapping("/planDate") public AjaxResult list(@RequestBody ApsPlateOrderPlanDate apsPlateOrderPlanDate) { iapPlateOrderPlanManagerService.updatePlanDate(apsPlateOrderPlanDate); return AjaxResult.success(); } } aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlateOrderPlanDate.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,31 @@ package com.aps.core.domain; import lombok.Data; import java.io.Serial; import java.sql.Timestamp; import java.util.List; /** * é£éå·¥åè®¡åæ¥ææ¹éè®¾ç½®åæ° * * @author sfd * @date 2025-05-08 */ @Data public class ApsPlateOrderPlanDate { @Serial private static final long serialVersionUID = 1L; /** * æ¯å¦èªå®ä¹ */ private Boolean isCustom; /** å·¥åIDå表 */ private List<Long> planIds; /** èªå®ä¹æ¥æ */ private Timestamp customDate; } aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlateOrderPlanManager.java
@@ -9,16 +9,20 @@ import java.util.Date; /** * æ åå·¥èºè·¯çº¿Header对象 aps_standard_process_route_header * é£éå·¥å计å管ç * * @author zhl * @date 2025-05-06 * @author sfd * @date 2025-05-08 */ @Data public class ApsPlateOrderPlanManager { @Serial private static final long serialVersionUID = 1L; /** å·¥åID */ @Excel(name = "å·¥åID") private Long id; /** éæ±ID */ @Excel(name = "éæ±ID") @@ -86,4 +90,14 @@ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "å·¥åå建æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date orderCreateTime; /** éæ±è®¡åå¼å·¥æ¥ */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "éæ±è®¡åå¼å·¥æ¥", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date startDay; /** éæ±è®¡åå¼å®æ¥ */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "éæ±è®¡åå¼å®æ¥", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date completeDay; } aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlateOrderPlanRequireDate.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,32 @@ package com.aps.core.domain; import com.aps.common.core.web.domain.BaseEntity; import lombok.Data; import java.io.Serial; import java.sql.Timestamp; import java.util.List; /** * é£éå·¥å计åéæ±æ¥æ * * @author sfd * @date 2025-05-08 */ @Data public class ApsPlateOrderPlanRequireDate extends BaseEntity { @Serial private static final long serialVersionUID = 1L; /** * 计åID */ private Long id; /** ææ©å¼å·¥æ¥ */ private Timestamp start; /** ææ©å®å·¥æ¥ */ private Timestamp end; } aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateOrderPlanManagerMapper.java
@@ -1,6 +1,8 @@ package com.aps.core.mapper; import com.aps.core.domain.ApsPlateOrderPlanDate; import com.aps.core.domain.ApsPlateOrderPlanManager; import com.aps.core.domain.ApsPlateOrderPlanRequireDate; import com.aps.core.domain.ApsPlateStandardRequire; import org.apache.ibatis.annotations.Mapper; @@ -31,4 +33,10 @@ * @return æ¥è¯¢é£éå·¥åéæ± */ List<ApsPlateStandardRequire> selectApsPlanStandardRequire(String workOrderNo); List<ApsPlateOrderPlanRequireDate> selectPlanRequireIds(List<Long> planIds); void updatePlanDateByBatch(ApsPlateOrderPlanRequireDate planRequireDate); void updatePlanDateByCustom(ApsPlateOrderPlanDate apsPlateOrderPlanDate); } aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlateOrderPlanManagerService.java
@@ -1,5 +1,6 @@ package com.aps.core.service; import com.aps.core.domain.ApsPlateOrderPlanDate; import com.aps.core.domain.ApsPlateOrderPlanManager; import com.aps.core.domain.ApsPlateStandardRequire; @@ -17,4 +18,6 @@ List<ApsPlateOrderPlanManager> selectApsPlanOrderManager(ApsPlateOrderPlanManager apsPlateOrderPlanManager); List<ApsPlateStandardRequire> selectApsPlanStandardRequire(String workOrderNo); void updatePlanDate(ApsPlateOrderPlanDate apsPlateOrderPlanDate); } aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateOrderPlanManagerServiceImpl.java
@@ -1,17 +1,15 @@ package com.aps.core.service.impl; import com.aps.common.core.utils.DateUtils; import com.aps.common.core.utils.uuid.IdUtils; import com.aps.common.security.utils.SecurityUtils; import com.aps.core.domain.ApsPlant; import com.aps.core.domain.ApsPlateOrderPlanDate; import com.aps.core.domain.ApsPlateOrderPlanManager; import com.aps.core.domain.ApsPlateOrderPlanRequireDate; import com.aps.core.domain.ApsPlateStandardRequire; import com.aps.core.mapper.ApsPlantMapper; import com.aps.core.mapper.ApsPlateOrderPlanManagerMapper; import com.aps.core.service.IApsPlantService; import com.aps.core.service.IApsPlateOrderPlanManagerService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -22,8 +20,7 @@ * @date 2025-04-14 */ @Service public class ApsPlateOrderPlanManagerServiceImpl implements IApsPlateOrderPlanManagerService { public class ApsPlateOrderPlanManagerServiceImpl implements IApsPlateOrderPlanManagerService { @Autowired private ApsPlateOrderPlanManagerMapper apsPlateOrderPlanManagerMapper; @@ -42,4 +39,19 @@ public List<ApsPlateStandardRequire> selectApsPlanStandardRequire(String workOrderNo) { return apsPlateOrderPlanManagerMapper.selectApsPlanStandardRequire(workOrderNo); } @Transactional(rollbackFor = Exception.class) @Override public void updatePlanDate(ApsPlateOrderPlanDate apsPlateOrderPlanDate) { if (apsPlateOrderPlanDate.getIsCustom()){ apsPlateOrderPlanManagerMapper.updatePlanDateByCustom(apsPlateOrderPlanDate); }else{ List<ApsPlateOrderPlanRequireDate> planRequireDates = apsPlateOrderPlanManagerMapper.selectPlanRequireIds(apsPlateOrderPlanDate.getPlanIds()); planRequireDates.forEach(planRequireDate -> { planRequireDate.setUpdateBy(SecurityUtils.getUsername()); apsPlateOrderPlanManagerMapper.updatePlanDateByBatch(planRequireDate); }); } } } aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanOrderManagerMapper.xml
@@ -5,6 +5,7 @@ <mapper namespace="com.aps.core.mapper.ApsPlateOrderPlanManagerMapper"> <resultMap type="ApsPlateOrderPlanManager" id="ApsPlateOrderPlanManagerResult"> <result property="id" column="id" /> <result property="require_id" column="requireId" /> <result property="requireTrackId" column="require_track_id" /> <result property="workOrderNo" column="doc_no" /> @@ -19,7 +20,9 @@ <result property="planStartDay" column="plan_start_day" /> <result property="planEndDay" column="plan_end_day" /> <result property="unmatchedQuantity" column="unmatched_quantity" /> <result property="hasDelayRisk" column="has_risk" /> <result property="hasDelayRisk" column="has_delay_risk" /> <result property="startDate" column="start_date" /> <result property="completeDate" column="complete_date" /> </resultMap> <select id="selectApsPlanOrderManager" parameterType="ApsPlateOrderPlanManager" resultMap="ApsPlateOrderPlanManagerResult"> @@ -38,21 +41,25 @@ plan.plan_start_day, plan.plan_end_day, plan.unmatched_quantity, plan.has_risk require.has_delay_risk, plan.id, require.start_date, require.complete_date from aps_plate_standard_require_bom_order_detail detail left join aps_plate_standard_require require on on detail.require_id = require.id left join aps_plate_plan plan on detail.doc_no = plan.document_number <where> <if test="workOrderNo != null and workOrderNo != ''"> and detail.doc_no = #{workOrderNo}</if> <if test="requireId != null and requireId != ''"> and detail.require_id = #{requireId}</if> <if test="mainPartNumber != null and mainPartNumber != ''"> and plan.main_part_number = #{mainPartNumber}</if> <if test="hasDelayRisk != null and hasDelayRisk != ''"> and plan.has_risk = #{hasDelayRisk}</if> <if test="hasDelayRisk != null and hasDelayRisk != ''"> and require.has_delay_risk = #{hasDelayRisk}</if> </where> </select> <resultMap type="ApsPlateStandardRequire" id="ApsPlateStandardRequireResult"> <result property="id" column="id" /> <result property="requireId" column="require_id" /> <result property="requireTrackId" column="require_track_id" /> <result property="bomLineId" column="bom_line_id" /> <result property="bomLineCode" column="bom_line_code" /> <result property="bomLineLevel" column="bom_line_level" /> @@ -81,7 +88,7 @@ <sql id="selectApsPlateStandardRequireVo"> select require.id, require.require_id, require.require_track_id, require.bom_line_id, require.bom_line_code, require.bom_line_level, @@ -118,4 +125,45 @@ </where> </select> <resultMap type="ApsPlateOrderPlanRequireDate" id="selectPlanRequireIdsResult"> <result property="id" column="id" /> <result property="start" column="start_date" /> <result property="end" column="end_date" /> </resultMap> <select id="selectPlanRequireIds" parameterType="String" resultMap="selectPlanRequireIdsResult"> select plan.id, 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 on detail.require_id = require.id left join aps_plate_plan plan on detail.doc_no = plan.document_number where plan.id in <foreach collection="planIds" item="planId" open="(" separator="," close=")"> #{planId} </foreach> group by plan.id </select> <update id="updatePlanDateByBatch" parameterType="ApsPlateOrderPlanRequireDate"> update aps_plate_plan set plan_start_day = #{planRequireDate.start}, plan_end_day = #{planRequireDate.end}, update_by = #{planRequireDate.updateBy}, update_time = now() where id = #{planRequireDate.id} </update> <update id="updatePlanDateByCustom" parameterType="ApsPlateOrderPlanDate"> update aps_plate_plan set plan_end_day = #{planRequireDate.customDate}, update_by = #{planRequireDate.updateBy}, update_time = now() where id in <foreach collection="planRequireDate.planIds" item="id" open="(" separator="," close=")"> #{id} </foreach> </update> </mapper> aps-modules/aps-gen/src/main/resources/vm/java/domain.java.vm
@@ -25,7 +25,7 @@ #elseif($table.tree) #set($Entity="TreeEntity") #end @ApiModel("${functionName}å®ä½ç±»") @Schema(description = "${functionName}å®ä½ç±»") public class ${ClassName} extends ${Entity} { private static final long serialVersionUID = 1L; @@ -49,7 +49,7 @@ @Excel(name = "${comment}") #end #end @ApiModelProperty("$column.columnComment") @Schema(description = "$column.columnComment") private $column.javaType $column.javaField; #end