| | |
| | | <result property="planStartDay" column="plan_start_day" /> |
| | | <result property="processPlanEndDay" column="process_plan_end_day" /> |
| | | <result property="orderPlanEndDay" column="order_plan_end_day" /> |
| | | <result property="routeProcessNumber" column="route_process_number" /> |
| | | <result property="warning" column="warning" /> |
| | | <result property="plant" column="plant" /> |
| | | <result property="workshop" column="workshop" /> |
| | | <result property="batchNumber" column="batch_number" /> |
| | | </resultMap> |
| | | |
| | | <sql id="selectApsGasPipingRouteStatVo"> |
| | |
| | | process_plan_start_day, design_times, del_flag, create_by, |
| | | process_name, create_time, item_number, standard_dosage, |
| | | process_total_dosage, design_capacity, major, plan_start_year, |
| | | plan_start_month, plan_start_day , warning, plant |
| | | plan_start_month, plan_start_day, process_plan_end_day, order_plan_end_day, |
| | | warning, plant, workshop, batch_number |
| | | from aps_gas_piping_route_stat |
| | | </sql> |
| | | |
| | | <select id="selectApsGasPipingRouteStatList" parameterType="com.aps.core.domain.ApsGasPipingRouteStat" resultMap="ApsGasPipingRouteStatResult"> |
| | | <include refid="selectApsGasPipingRouteStatVo"/> |
| | | <where> |
| | | <where> |
| | | <if test="workOrderNo != null and workOrderNo != ''"> and work_order_no = #{workOrderNo}</if> |
| | | <if test="roadProcessNumber != null and roadProcessNumber != ''"> and road_process_number = #{roadProcessNumber}</if> |
| | | <if test="currentProcessNumber != null and currentProcessNumber != ''"> and current_process_number = #{currentProcessNumber}</if> |
| | | <if test="productionQuantity != null and productionQuantity != ''"> and production_quantity = #{productionQuantity}</if> |
| | | <if test="standardTime != null and standardTime != ''"> and standard_time = #{standardTime}</if> |
| | | <if test="processTotalTime != null and processTotalTime != ''"> and process_total_time = #{processTotalTime}</if> |
| | | <if test="processPlanStartDay != null and processPlanStartDay != ''"> and process_plan_start_day = #{processPlanStartDay}</if> |
| | | <if test="roadProcessNumber != null "> and road_process_number = #{roadProcessNumber}</if> |
| | | <if test="currentProcessNumber != null "> and current_process_number = #{currentProcessNumber}</if> |
| | | <if test="productionQuantity != null "> and production_quantity = #{productionQuantity}</if> |
| | | <if test="standardTime != null "> and standard_time = #{standardTime}</if> |
| | | <if test="processTotalTime != null "> and process_total_time = #{processTotalTime}</if> |
| | | <if test="processPlanStartDay != null "> and process_plan_start_day = #{processPlanStartDay}</if> |
| | | <if test="designTimes != null "> and design_times = #{designTimes}</if> |
| | | <if test="processName != null and processName != ''"> and process_name like '%' || #{processName} || '%')</if> |
| | | <if test="major != null and major != ''"> and major = #{major} </if> |
| | | <if test="planStartYear != null and planStartYear != ''"> and plan_start_year = #{planStartYear} </if> |
| | | <if test="planStartMonth != null and planStartMonth != ''"> and plan_start_month = #{planStartMonth} </if> |
| | | <if test="planStartDay != null and planStartDay != ''"> and plan_start_day = #{planStartDay} </if> |
| | | <if test="searchStartDate != null and searchStartDate != '' and searchEndDate != null and searchEndDate != ''"> and (process_plan_start_day >= #{searchStartDate} and process_plan_start_day <= #{searchEndDate}) </if> |
| | | <if test="processName != null and processName != ''"> and process_name = #{processName}</if> |
| | | <if test="itemNumber != null and itemNumber != ''"> and item_number = #{itemNumber}</if> |
| | | <if test="standardDosage != null "> and standard_dosage = #{standardDosage}</if> |
| | | <if test="processTotalDosage != null "> and process_total_dosage = #{processTotalDosage}</if> |
| | | <if test="designCapacity != null "> and design_capacity = #{designCapacity}</if> |
| | | <if test="major != null and major != ''"> |
| | | <if test="major == 'piping'"> |
| | | and process_name in (select process_name from aps_standard_process where major='管路') |
| | |
| | | <if test="major == 'gas'"> |
| | | and process_name in (select process_name from aps_standard_process where major='气柜') |
| | | </if> |
| | | <if test="major != 'piping' and major != 'gas'"> |
| | | and major = #{major} |
| | | </if> |
| | | </if> |
| | | <if test="plant != null and plant != ''"> and plant = #{plant} </if> |
| | | <if test="planStartYear != null and planStartYear != ''"> and plan_start_year = #{planStartYear}</if> |
| | | <if test="planStartMonth != null and planStartMonth != ''"> and plan_start_month = #{planStartMonth}</if> |
| | | <if test="planStartDay != null and planStartDay != ''"> and plan_start_day = #{planStartDay}</if> |
| | | <if test="processPlanEndDay != null "> and process_plan_end_day = #{processPlanEndDay}</if> |
| | | <if test="orderPlanEndDay != null "> and order_plan_end_day = #{orderPlanEndDay}</if> |
| | | <if test="warning != null "> and warning = #{warning}</if> |
| | | <if test="plant != null and plant != ''"> and plant = #{plant}</if> |
| | | <if test="workshop != null and workshop != ''"> and workshop = #{workshop}</if> |
| | | <if test="batchNumber != null and batchNumber != ''"> and batch_number = #{batchNumber}</if> |
| | | </where> |
| | | </select> |
| | | |
| | |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="id != null">id,</if> |
| | | <if test="workOrderNo != null">work_order_no,</if> |
| | | <if test="roadProcessNumber != null and roadProcessNumber != ''">road_process_number,</if> |
| | | <if test="roadProcessNumber != null">road_process_number,</if> |
| | | <if test="currentProcessNumber != null">current_process_number,</if> |
| | | <if test="productionQuantity != null">production_quantity,</if> |
| | | <if test="standardTime != null">standard_time,</if> |
| | | <if test="processTotalTime != null">process_total_time,</if> |
| | | <if test="processPlanStartDay != null ">process_plan_start_day,</if> |
| | | <if test="processPlanStartDay != null">process_plan_start_day,</if> |
| | | <if test="designTimes != null">design_times,</if> |
| | | <if test="delFlag != null">del_flag,</if> |
| | | <if test="createBy != null">create_by,</if> |
| | |
| | | <if test="planStartDay != null">plan_start_day,</if> |
| | | <if test="processPlanEndDay != null">process_plan_end_day,</if> |
| | | <if test="orderPlanEndDay != null">order_plan_end_day,</if> |
| | | <if test="batchNumber != null">batch_number,</if> |
| | | <if test="warning != null">warning,</if> |
| | | <if test="plant != null">plant,</if> |
| | | <if test="workshop != null">workshop,</if> |
| | | <if test="batchNumber != null">batch_number,</if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="id != null">#{id},</if> |
| | | <if test="workOrderNo != null">#{workOrderNo},</if> |
| | | <if test="roadProcessNumber != null and roadProcessNumber != ''">#{roadProcessNumber},</if> |
| | | <if test="roadProcessNumber != null">#{roadProcessNumber},</if> |
| | | <if test="currentProcessNumber != null">#{currentProcessNumber},</if> |
| | | <if test="productionQuantity != null">#{productionQuantity},</if> |
| | | <if test="standardTime != null">#{standardTime},</if> |
| | | <if test="processTotalTime != null">#{processTotalTime},</if> |
| | | <if test="processPlanStartDay != null ">#{processPlanStartDay},</if> |
| | | <if test="processPlanStartDay != null">#{processPlanStartDay},</if> |
| | | <if test="designTimes != null">#{designTimes},</if> |
| | | <if test="delFlag != null">#{delFlag},</if> |
| | | <if test="createBy != null">#{createBy},</if> |
| | |
| | | <if test="planStartDay != null">#{planStartDay},</if> |
| | | <if test="processPlanEndDay != null">#{processPlanEndDay},</if> |
| | | <if test="orderPlanEndDay != null">#{orderPlanEndDay},</if> |
| | | <if test="batchNumber != null">#{batchNumber},</if> |
| | | <if test="warning != null">#{warning},</if> |
| | | <if test="plant != null">#{plant},</if> |
| | | <if test="workshop != null">#{workshop},</if> |
| | | <if test="batchNumber != null">#{batchNumber},</if> |
| | | </trim> |
| | | </insert> |
| | | |
| | |
| | | update aps_gas_piping_route_stat |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | <if test="workOrderNo != null">work_order_no = #{workOrderNo},</if> |
| | | <if test="roadProcessNumber != null and roadProcessNumber != ''">road_process_number = #{roadProcessNumber},</if> |
| | | <if test="roadProcessNumber != null">road_process_number = #{roadProcessNumber},</if> |
| | | <if test="currentProcessNumber != null">current_process_number = #{currentProcessNumber},</if> |
| | | <if test="productionQuantity != null">production_quantity = #{productionQuantity},</if> |
| | | <if test="standardTime != null">standard_time = #{standardTime},</if> |
| | | <if test="processTotalTime != null">process_total_time = #{processTotalTime},</if> |
| | | <if test="processPlanStartDay != null and processPlanStartDay != ''">process_plan_start_day = #{processPlanStartDay},</if> |
| | | <if test="processPlanStartDay != null">process_plan_start_day = #{processPlanStartDay},</if> |
| | | <if test="designTimes != null">design_times = #{designTimes},</if> |
| | | <if test="delFlag != null">del_flag = #{delFlag},</if> |
| | | <if test="createBy != null">create_by = #{createBy},</if> |
| | |
| | | <if test="planStartYear != null">plan_start_year = #{planStartYear},</if> |
| | | <if test="planStartMonth != null">plan_start_month = #{planStartMonth},</if> |
| | | <if test="planStartDay != null">plan_start_day = #{planStartDay},</if> |
| | | <if test="processPlanEndDay != null">process_plan_end_day = #{processPlanEndDay},</if> |
| | | <if test="orderPlanEndDay != null">order_plan_end_day = #{orderPlanEndDay},</if> |
| | | <if test="warning != null">warning = #{warning},</if> |
| | | <if test="plant != null">plant = #{plant},</if> |
| | | <if test="workshop != null">workshop = #{workshop},</if> |
| | | <if test="batchNumber != null">batch_number = #{batchNumber},</if> |
| | | </trim> |
| | | where id = #{id} |
| | | </update> |
| | |
| | | #{id} |
| | | </foreach> |
| | | </delete> |
| | | |
| | | |
| | | <delete id="deleteApsGasPipingRouteStatByBatchNum" parameterType="String"> |
| | | delete from aps_gas_piping_route_stat where batch_number != #{batchNumber} |
| | | </delete> |
| | | |
| | | <insert id="insertApsGasPipingRouteStatBatch"> |
| | | INSERT INTO aps_gas_piping_route_stat |
| | | ( |
| | | id,work_order_no, road_process_number, current_process_number, production_quantity, standard_time, |
| | | process_total_time, process_plan_start_day, design_times, del_flag, create_by, process_name, |
| | | create_time, item_number, standard_dosage, process_total_dosage, design_capacity, major, |
| | | plan_start_year, plan_start_month, plan_start_day,batch_number,process_plan_end_day,warning,order_plan_end_day,plant |
| | | ) |
| | | VALUES |
| | | <foreach collection="apsGasPipingRouteStatList" item="stat" separator=","> |
| | | |
| | | <insert id="insertApsGasPipingRouteStatBatch" parameterType="java.util.List"> |
| | | insert into aps_gas_piping_route_stat ( |
| | | id, work_order_no, road_process_number, current_process_number, |
| | | production_quantity, standard_time, process_total_time, |
| | | process_plan_start_day, design_times, del_flag, create_by, |
| | | process_name, create_time, item_number, standard_dosage, |
| | | process_total_dosage, design_capacity, major, plan_start_year, |
| | | plan_start_month, plan_start_day, process_plan_end_day, order_plan_end_day, |
| | | warning, plant, workshop, batch_number |
| | | ) values |
| | | <foreach item="item" index="index" collection="list" separator=","> |
| | | ( |
| | | #{stat.id},#{stat.workOrderNo}, #{stat.roadProcessNumber}, #{stat.currentProcessNumber}, #{stat.productionQuantity}, |
| | | #{stat.standardTime}, #{stat.processTotalTime}, #{stat.processPlanStartDay}, #{stat.designTimes}, #{stat.delFlag}, |
| | | #{stat.createBy}, #{stat.processName}, #{stat.createTime}, #{stat.itemNumber}, #{stat.standardDosage}, |
| | | #{stat.processTotalDosage}, #{stat.designCapacity}, #{stat.major}, #{stat.planStartYear}, |
| | | #{stat.planStartMonth}, #{stat.planStartDay}, #{stat.batchNumber}, #{stat.processPlanEndDay},#{stat.warning},#{stat.orderPlanEndDay},#{stat.plant} |
| | | #{item.id}, #{item.workOrderNo}, #{item.roadProcessNumber}, #{item.currentProcessNumber}, |
| | | #{item.productionQuantity}, #{item.standardTime}, #{item.processTotalTime}, |
| | | #{item.processPlanStartDay}, #{item.designTimes}, #{item.delFlag}, #{item.createBy}, |
| | | #{item.processName}, #{item.createTime}, #{item.itemNumber}, #{item.standardDosage}, |
| | | #{item.processTotalDosage}, #{item.designCapacity}, #{item.major}, #{item.planStartYear}, |
| | | #{item.planStartMonth}, #{item.planStartDay}, #{item.processPlanEndDay}, #{item.orderPlanEndDay}, |
| | | #{item.warning}, #{item.plant}, #{item.workshop}, #{item.batchNumber} |
| | | ) |
| | | </foreach> |
| | | |
| | | </insert> |
| | | |
| | | <delete id="deleteAll"> |
| | | delete from aps_gas_piping_route_stat |
| | | </delete> |
| | | |
| | | <select id="queryTempStat" resultMap="ApsGasPipingRouteStatResult" > |
| | | select row_number() over (partition by rt.work_order_no order by rt.process_number desc ) as num, |
| | |
| | | where pl.document_number is not null and rt.work_order_no is not null and pl.plan_end_day is not null |
| | | order by rt.work_order_no asc, rt.process_number desc |
| | | </select> |
| | | |
| | | <!-- 联合查询手工气体预测数据相关信息 --> |
| | | <select id="selectPredictionRouteData" resultType="java.util.Map"> |
| | | SELECT |
| | | p.id as prediction_id, |
| | | p.material_code, |
| | | p.factory, |
| | | p.predict_quantity, |
| | | p.predict_date, |
| | | h.route_id, |
| | | l.route_name as process_name, |
| | | l.route_num as process_number, |
| | | l.standard_time, |
| | | m.domain, |
| | | s.work_shop as workshop |
| | | FROM aps_gas_pipeline_prediction p |
| | | JOIN aps_standard_process_route_header h ON p.material_code = h.item_code AND p.factory = h.org_code |
| | | JOIN aps_standard_process_route_line l ON h.route_id = l.route_id |
| | | LEFT JOIN aps_material_product_group_management m ON p.material_code = m.material_code AND p.factory = m.factory |
| | | LEFT JOIN aps_standard_process s ON l.route_name = s.process_name |
| | | ORDER BY p.material_code, l.route_num |
| | | </select> |
| | | |
| | | <!-- 联合查询手工气体工单数据相关信息 --> |
| | | <select id="selectMoRouteData" resultType="java.util.Map"> |
| | | SELECT |
| | | mo.id as mo_id, |
| | | mo.mo as work_order_no, |
| | | mo.material_code, |
| | | mo.factory, |
| | | mo.quantity, |
| | | mo.plan_end, |
| | | r.process_name, |
| | | r.process_number, |
| | | r.standard_time, |
| | | m.domain, |
| | | s.work_shop as workshop |
| | | FROM aps_gas_pipeline_mo mo |
| | | JOIN aps_process_route r ON mo.mo = r.work_order_no |
| | | LEFT JOIN aps_material_product_group_management m ON mo.material_code = m.material_code AND mo.factory = m.factory |
| | | LEFT JOIN aps_standard_process s ON r.process_name = s.process_name |
| | | ORDER BY mo.mo, r.process_number |
| | | </select> |
| | | |
| | | <!-- 聚合查询统计数据 - 按工序名称和时间聚合 --> |
| | | <select id="selectAggregatedStatData" parameterType="java.util.Map" resultType="java.util.Map"> |
| | | SELECT |
| | | process_name AS "processName", |
| | | plan_start_year AS "year", |
| | | plan_start_month AS "month", |
| | | <choose> |
| | | <when test="timeGranularity != null and timeGranularity == 'day'"> |
| | | plan_start_day AS "day" |
| | | </when> |
| | | <otherwise> |
| | | '01' AS "day" |
| | | </otherwise> |
| | | </choose>, |
| | | plant AS "plant", |
| | | major AS "major", |
| | | workshop AS "workshop", |
| | | SUM(process_total_time) AS "totalProcessTime" |
| | | FROM aps_gas_piping_route_stat |
| | | <where> |
| | | <if test="yearStart != null and monthStart != null"> |
| | | (plan_start_year > #{yearStart} OR |
| | | (plan_start_year = #{yearStart} AND plan_start_month >= #{monthStart})) |
| | | AND |
| | | (plan_start_year < #{yearEnd} OR |
| | | (plan_start_year = #{yearEnd} AND plan_start_month <= #{monthEnd})) |
| | | </if> |
| | | <if test="plant != null and plant != ''"> |
| | | AND plant = #{plant} |
| | | </if> |
| | | <if test="major != null and major != ''"> |
| | | AND major = #{major} |
| | | </if> |
| | | <if test="workshop != null and workshop != ''"> |
| | | AND workshop = #{workshop} |
| | | </if> |
| | | </where> |
| | | GROUP BY |
| | | process_name, |
| | | plan_start_year, |
| | | plan_start_month |
| | | <if test="timeGranularity != null and timeGranularity == 'day'"> |
| | | , plan_start_day |
| | | </if>, |
| | | plant, |
| | | major, |
| | | workshop |
| | | ORDER BY |
| | | process_name, |
| | | plan_start_year, |
| | | plan_start_month |
| | | <if test="timeGranularity != null and timeGranularity == 'day'"> |
| | | , plan_start_day |
| | | </if> |
| | | </select> |
| | | |
| | | <!-- 查询原始统计数据(不进行聚合)- 用于在Service层自行处理聚合逻辑 --> |
| | | <select id="selectRawStatData" parameterType="java.util.Map" resultType="java.util.Map"> |
| | | SELECT |
| | | process_name AS "processName", |
| | | process_plan_start_day AS "processPlanStartDay", |
| | | plant AS "plant", |
| | | major AS "major", |
| | | workshop AS "workshop", |
| | | process_total_time AS "processTotalTime" |
| | | FROM aps_gas_piping_route_stat |
| | | <where> |
| | | <if test="yearStart != null and monthStart != null"> |
| | | (EXTRACT(YEAR FROM process_plan_start_day) > #{yearStart} OR |
| | | (EXTRACT(YEAR FROM process_plan_start_day) = #{yearStart} AND EXTRACT(MONTH FROM process_plan_start_day) >= #{monthStart})) |
| | | AND |
| | | (EXTRACT(YEAR FROM process_plan_start_day) < #{yearEnd} OR |
| | | (EXTRACT(YEAR FROM process_plan_start_day) = #{yearEnd} AND EXTRACT(MONTH FROM process_plan_start_day) <= #{monthEnd})) |
| | | </if> |
| | | <if test="plants != null and plants.size() > 0"> |
| | | AND plant IN |
| | | <foreach collection="plants" item="item" open="(" separator="," close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | <if test="plant != null and plant != ''"> |
| | | AND plant = #{plant} |
| | | </if> |
| | | <if test="majors != null and majors.size() > 0"> |
| | | AND major IN |
| | | <foreach collection="majors" item="item" open="(" separator="," close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | <if test="major != null and major != ''"> |
| | | AND major = #{major} |
| | | </if> |
| | | <if test="workshops != null and workshops.size() > 0"> |
| | | AND workshop IN |
| | | <foreach collection="workshops" item="item" open="(" separator="," close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | <if test="workshop != null and workshop != ''"> |
| | | AND workshop = #{workshop} |
| | | </if> |
| | | </where> |
| | | ORDER BY |
| | | process_name, |
| | | process_plan_start_day |
| | | </select> |
| | | |
| | | </mapper> |