<?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.ApsPlateOrderPlanManagerMapper">
|
|
<resultMap type="com.aps.core.domain.ApsPlate.ApsPlateOrderPlanManager" id="ApsPlateOrderPlanManagerResult">
|
<result property="id" column="id" />
|
<result property="requireId" column="require_id" />
|
<result property="requireTrackId" column="require_track_id" />
|
<result property="workOrderNo" column="doc_no" />
|
<result property="deductionAmount" column="deduction_amount" />
|
<result property="workOrderType" column="professional_affiliation" />
|
<result property="mainPartNumber" column="main_part_number" />
|
<result property="mainPartDrawingNumber" column="main_part_drawing_number" />
|
<result property="customer" column="customer" />
|
<result property="productionQuantity" column="production_quantity" />
|
<result property="applicableFactories" column="plant" />
|
<result property="productionBase" column="production_base" />
|
<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_delay_risk" />
|
<result property="startDate" column="start_date" />
|
<result property="completeDate" column="complete_date" />
|
<result property="orderCreateTime" column="order_create_time" />
|
</resultMap>
|
|
<select id="selectApsPlanOrderManager" parameterType="com.aps.core.domain.ApsPlate.ApsPlateOrderPlanManager" resultMap="ApsPlateOrderPlanManagerResult">
|
select
|
detail.require_id,
|
detail.require_track_id,
|
detail.doc_no,
|
detail.deduction_amount,
|
plan.professional_affiliation,
|
plan.main_part_number,
|
plan.main_part_drawing_number,
|
plan.customer,
|
plan.production_quantity,
|
plan.plant,
|
plan.production_base,
|
plan.plan_start_day,
|
plan.plan_end_day,
|
plan.unmatched_quantity,
|
require.has_delay_risk,
|
plan.id,
|
require.start_date,
|
require.complete_date,
|
plan.order_create_time
|
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 plan.del_flag = '0'
|
<if test="workOrderNo != null and workOrderNo != ''"> and detail.doc_no = #{workOrderNo}</if>
|
<if test="requireTrackId != null and requireTrackId != ''"> and detail.require_track_id = '${requireTrackId}'</if>
|
<if test="mainPartNumber != null and mainPartNumber != ''"> and plan.main_part_number = #{mainPartNumber}</if>
|
<if test="hasDelayRisk != null and hasDelayRisk != ''"> and require.has_delay_risk = #{hasDelayRisk}</if>
|
</select>
|
|
|
<resultMap type="com.aps.core.domain.ApsPlate.ApsPlateStandardRequire" id="ApsPlateStandardRequireResult">
|
<result property="id" column="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" />
|
<result property="bomUseAmount" column="bom_use_amount" />
|
<result property="processRouteId" column="process_route_id" />
|
<result property="processRouteHours" column="process_route_hours" />
|
<result property="requireAmount" column="require_amount" />
|
<result property="netRequirement" column="net_requirement" />
|
<result property="startDate" column="start_date" />
|
<result property="completeDate" column="complete_date" />
|
<result property="demandDate" column="demand_date" />
|
<result property="orgCode" column="org_code" />
|
<result property="productionBase" column="production_base" />
|
<result property="matchState" column="match_state" />
|
<result property="matchMode" column="match_mode" />
|
<result property="unmatchedDemandAmount" column="unmatched_demand_amount" />
|
<result property="suggestedCompletionDate" column="suggested_completion_date" />
|
<result property="hasDelayRisk" column="has_delay_risk" />
|
<result property="batchNumber" column="batch_number" />
|
<result property="delFlag" column="del_flag" />
|
<result property="createTime" column="create_time" />
|
<result property="createBy" column="create_by" />
|
<result property="updateBy" column="update_by" />
|
<result property="updateTime" column="update_time" />
|
</resultMap>
|
|
<sql id="selectApsPlateStandardRequireVo">
|
select distinct require.id,
|
require.require_track_id,
|
require.bom_line_id,
|
require.bom_line_code,
|
require.bom_line_level,
|
require.bom_use_amount,
|
require.process_route_id,
|
require.process_route_hours,
|
require.require_amount,
|
require.net_requirement,
|
require.start_date,
|
require.complete_date,
|
require.demand_date,
|
require.org_code,
|
require.production_base,
|
require.match_state,
|
require.match_mode,
|
require.unmatched_demand_amount,
|
require.suggested_completion_date,
|
require.has_delay_risk,
|
require.batch_number,
|
require.del_flag,
|
require.create_time,
|
require.create_by,
|
require.update_by,
|
require.update_time
|
from
|
aps_plate_standard_require require
|
left join aps_plate_standard_require_bom_order_detail detail on detail.require_id = require.id
|
</sql>
|
|
<select id="selectApsPlanStandardRequire" parameterType="String" resultMap="ApsPlateStandardRequireResult">
|
<include refid="selectApsPlateStandardRequireVo"/>
|
where require.del_flag = '0'
|
<if test="workOrderNo != null and workOrderNo != ''"> and detail.doc_no = #{workOrderNo}</if>
|
</select>
|
|
<resultMap type="com.aps.core.domain.ApsPlate.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 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
|
plan.id in
|
<foreach collection="planIds" item="planId" open="(" separator="," close=")">
|
#{planId}
|
</foreach>
|
group by plan.id
|
</select>
|
|
<update id="updatePlanDateByBatch" parameterType="com.aps.core.domain.ApsPlate.ApsPlateOrderPlanRequireDate">
|
update aps_plate_plan set
|
plan_start_day = #{start},
|
plan_end_day = #{end},
|
update_by = #{updateBy},
|
update_time = now()
|
where id = #{id}
|
</update>
|
|
<update id="updatePlanDateByCustom" parameterType="com.aps.core.domain.ApsPlate.ApsPlateOrderPlanDate">
|
update aps_plate_plan set
|
plan_end_day = #{customDate},
|
update_by = #{updateBy},
|
update_time = now()
|
where id in
|
<foreach collection="planIds" item="id" open="(" separator="," close=")">
|
#{id}
|
</foreach>
|
</update>
|
|
</mapper>
|