zhanghl
2025-05-08 7097f55c291cc62ab29d9f52caef80f605247e40
Merge remote-tracking branch 'origin/dev' into dev
已修改7个文件
已添加2个文件
198 ■■■■ 文件已修改
aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlatOrderPlanManagerController.java 14 ●●●● 补丁 | 查看 | 原始文档 | 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 20 ●●●● 补丁 | 查看 | 原始文档 | 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 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanOrderManagerMapper.xml 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-gen/src/main/resources/vm/java/domain.java.vm 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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
 * &#064;date  2025-05-06
 * @author sfd
 * &#064;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
 * &#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,29 +1,26 @@
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;
/**
 * é’£é‡‘工单计划管理接口 Service业务层处理
 *
 *
 * @author ruoyi
 * @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