sfd
2025-05-08 5da2a83e7b6df51351702aa68e10790205689117
增加批量修改钣金计划时间接口
已修改6个文件
已添加2个文件
183 ■■■■■ 文件已修改
aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlatOrderPlanManagerController.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlateOrderPlanDate.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlateOrderPlanManager.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlateOrderPlanRequireDate.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateOrderPlanManagerMapper.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlateOrderPlanManagerService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateOrderPlanManagerServiceImpl.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanOrderManagerMapper.xml 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlatOrderPlanManagerController.java
@@ -1,14 +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.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;
@@ -48,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,10 +9,10 @@
import java.util.Date;
/**
 * æ ‡å‡†å·¥è‰ºè·¯çº¿Header对象 aps_standard_process_route_header
 * é’£é‡‘工单计划管理
 * 
 * @author zhl
 * &#064;date  2025-05-06
 * @author sfd
 * &#064;date  2025-05-08
 */
@Data
public class ApsPlateOrderPlanManager
@@ -90,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
 * &#064;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
@@ -20,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">
@@ -39,15 +41,18 @@
            plan.plan_start_day,
            plan.plan_end_day,
            plan.unmatched_quantity,
            plan.has_risk,
            plan.id
            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>
@@ -120,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>