sfd
2025-05-08 5da2a83e7b6df51351702aa68e10790205689117
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>