<?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.ApsPlateStandardRequireOrderEndDayMapper"> 
 | 
  
 | 
    <resultMap id="BaseResultMap" type="com.aps.core.domain.ApsPlate.ApsPlateStandardRequireOrderEndDay"> 
 | 
            <id property="id" column="id" /> 
 | 
  
 | 
            <result property="docNo" column="doc_no" /> 
 | 
            <result property="planStartDay" column="plan_end_day" /> 
 | 
            <result property="planEndDay" column="plan_end_day" /> 
 | 
            <result property="orgCode" column="org_code" /> 
 | 
            <result property="batchNumber" column="batch_number" /> 
 | 
            <result property="delFlag" column="del_flag" /> 
 | 
            <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="Base_Column_List"> 
 | 
        id,bom_order_id,require_id,require_track_id,bom_line_code,doc_no, 
 | 
        plan_end_day,org_code,batch_number,del_flag,create_by, 
 | 
        create_time,update_by,update_time 
 | 
    </sql> 
 | 
  
 | 
    <sql id="select_plan_time"> 
 | 
        with a as ( 
 | 
            select snow_next_id() as id, 
 | 
                   plan.id as plan_id, 
 | 
                   detail.doc_no, 
 | 
                   min(require.start_date)    as start_date, 
 | 
                   min(require.complete_date) as end_date, 
 | 
                   detail.org_code, 
 | 
                   detail.batch_number 
 | 
            from aps_plate_standard_require_bom_order_detail detail 
 | 
                     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 require.del_flag = '0' and detail.del_flag='0' 
 | 
                and plan.id in 
 | 
                <foreach collection="planIds" item="planId" open="(" separator="," close=")"> 
 | 
                    #{planId} 
 | 
                </foreach> 
 | 
            group by plan.id ,detail.doc_no,detail.org_code,detail.batch_number 
 | 
        ) 
 | 
    </sql> 
 | 
    <insert id="batchInsert" parameterType="Long"> 
 | 
        <include refid="select_plan_time" /> 
 | 
        insert into aps_plate_standard_require_order_end_day 
 | 
        (id,plan_id, doc_no, plan_start_day, plan_end_day, org_code, batch_number 
 | 
        , del_flag, create_time, create_by 
 | 
        ) 
 | 
        select a.id, a.plan_id, a.doc_no, a.start_date, a.end_date, a.org_code,  a.batch_number, 
 | 
        0, now(), #{createBy} 
 | 
        from a 
 | 
  
 | 
    </insert> 
 | 
    <update id="batchRemoveByPlanId" parameterType="Long"> 
 | 
        update aps_plate_standard_require_order_end_day 
 | 
        set del_flag=1 
 | 
        where plan_id in 
 | 
        <foreach collection="planIds" item="planId" open="(" separator="," close=")"> 
 | 
            #{planId} 
 | 
        </foreach> 
 | 
    </update> 
 | 
    <update id="batchRemove" > 
 | 
    update aps_plate_standard_require_order_end_day 
 | 
        set del_flag=1 
 | 
    where del_flag=0 
 | 
    </update> 
 | 
  
 | 
</mapper> 
 |