|
|
<?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.spring.modules.part.mapper.RoutingManagementMapper">
<!-- 材料信息列表 --> <select id="routingManagementSearch" parameterType="com.spring.modules.part.vo.RoutingHeaderVo" resultType="com.spring.modules.part.vo.RoutingHeaderVo"> SELECT a.site, a.part_no, dbo.get_part_name(a.site, a.part_no) as partDesc, a.routing_revision, a.routing_type, a.note_text, a.phase_in_date, a.phase_out_date, a.create_date, a.create_by, a.update_date, a.update_by, b.um_id as printUnit, dbo.get_um_name(b.um_id) as printUnitName, b.ifs_part_no FROM plm_routing_header as a left join part as b on a.site = b.site and a.part_no = b.part_no <where> a.site = #{query.site} AND NOT (b.status = 'Y' AND (b.plm_part_no IS NULL OR b.plm_part_no = '')) <if test = "query.partNo != null and query.partNo != ''"> AND a.part_no like #{query.partNo} </if> <if test = "query.partDesc != null and query.partDesc != ''"> AND dbo.get_part_name(a.site, a.part_no) like #{query.partDesc} </if> <if test = "query.routingType != null and query.routingType != ''"> AND a.routing_type = #{query.routingType} </if> <if test = "query.routingRevision != null and query.routingRevision != ''"> AND a.routing_revision like #{query.routingRevision} </if> </where> </select>
<!-- 查询物料清单 --> <select id="queryPartList" parameterType="PartInformationEntity" resultType="RoutingAllFieldEntity"> SELECT site, part_no, part_desc, spec, um_id as printUnit, dbo.get_um_name(um_id) as printUnitName, part_type FROM part <where> site = #{query.site} and part_type in ('Manufactured', 'Manufactured Recipe') and active = 'Y' <if test = "query.partNo != null and query.partNo != ''"> AND part_no = #{query.partNo} </if> <if test = "query.partDesc != null and query.partDesc != ''"> AND part_desc like #{query.partDesc} </if> <if test = "query.status != null and query.status != ''"> AND status = #{query.status} </if> </where> </select>
<!-- 查出可创建Routing的物料 --> <select id="queryPartListRouting" parameterType="PartInformationEntity" resultType="RoutingAllFieldEntity"> SELECT site, part_no, part_desc, spec, um_id as printUnit, dbo.get_um_name(um_id) as printUnitName, part_type FROM part <where> site = #{query.site} and active = 'Y' and part_type in ('Manufactured', 'Manufactured Recipe') <if test = "query.partNo != null and query.partNo != ''"> AND part_no = #{query.partNo} </if> <if test = "query.partDesc != null and query.partDesc != ''"> AND part_desc like #{query.partDesc} </if> <if test = "query.status != null and query.status != ''"> AND status = #{query.status} </if> </where> </select>
<!-- 新增Routing主表内容 --> <insert id="saveRoutingHeader" parameterType="RoutingHeaderEntity"> INSERT INTO plm_routing_header (site, part_no, routing_revision, routing_type, note_text, phase_in_date, phase_out_date, create_date, create_by, official_flag) VALUES (#{site}, #{partNo}, #{routingRevision}, #{routingType}, #{noteText}, #{phaseInDate}, #{phaseOutDate}, getDate(), #{createBy}, #{officialFlag}) </insert>
<!-- routing明细新增 --> <insert id="routingDetailSave" parameterType="RoutingDetailEntity"> INSERT INTO plm_routing_detail (site, part_no, routing_revision, routing_type, alternative_no, alternative_description, fixed_lead_time_day, fixed_lead_time_hour, variable_lead_time_day, variable_lead_time_hour, for_std_lot_by_day, for_lot_by_day, min_lot_qty, note_text, create_date, create_by, status, official_flag) VALUES (#{site}, #{partNo}, #{routingRevision}, #{routingType}, #{alternativeNo}, #{alternativeDescription}, #{fixedLeadTimeDay}, #{fixedLeadTimeHour}, #{variableLeadTimeDay}, #{variableLeadTimeHour}, #{forStdLotByDay}, #{forLotByDay}, #{minLotQty}, #{detailNoteText}, getDate(), #{createBy}, #{status}, #{officialFlag}) </insert>
<!-- 新增Routing子明细表内容 --> <insert id="saveRoutingComponent" parameterType="RoutingComponentEntity" useGeneratedKeys="true" keyProperty="operationId"> INSERT INTO plm_routing_component (site, part_no, routing_revision, routing_type, alternative_no, operation_name, operation_no, efficiency_factor, mach_run_factor, mach_setup_time, run_time_code, labor_run_factor, labor_setup_time, crew_size, setup_crew_size, outside_op_item, machine_no, work_center_no, labor_class_no, setup_labor_class_no, overlap, note_text, create_date, create_by, ifs_row_id, ifs_row_version) VALUES (#{site}, #{partNo}, #{routingRevision}, #{routingType}, #{alternativeNo}, #{operationName}, #{operationNo}, #{efficiencyFactor}, #{machRunFactor}, #{machSetupTime}, #{runTimeCode}, #{laborRunFactor}, #{laborSetupTime}, #{crewSize}, #{setupCrewSize}, #{outsideOpItem}, #{machineNo}, #{workCenterNo}, #{laborClassNo}, #{setupLaborClassNo}, #{overlap}, #{noteText}, getDate(), #{createBy}, #{ifsRowId}, #{ifsRowVersion}) </insert>
<!-- 新增Routing子明细表内容 --> <insert id="saveRoutingComponents"> insert into plm_routing_component (site, part_no, routing_revision, routing_type, alternative_no, operation_name, operation_no, efficiency_factor, mach_run_factor, mach_setup_time, run_time_code, labor_run_factor, labor_setup_time, crew_size, setup_crew_size, outside_op_item, machine_no, work_center_no, labor_class_no, setup_labor_class_no, overlap, note_text, create_date, create_by, ifs_row_id, ifs_row_version) VALUES <foreach collection="list" item="item" index="index" separator=","> (#{item.site}, #{item.partNo}, #{item.routingRevision}, #{item.routingType}, #{item.alternativeNo}, #{item.operationName}, #{item.operationNo}, #{item.efficiencyFactor}, #{item.machRunFactor}, #{item.machSetupTime}, #{item.runTimeCode}, #{item.laborRunFactor}, #{item.laborSetupTime}, #{item.crewSize}, #{item.setupCrewSize}, #{item.outsideOpItem}, #{item.machineNo}, #{item.workCenterNo}, #{item.laborClassNo}, #{item.setupLaborClassNo}, #{item.overlap}, #{item.noteText}, getDate(), #{item.createBy}, #{item.ifsRowId}, #{item.ifsRowVersion}) </foreach> </insert>
<!-- 查routing明细 --> <select id="queryRoutingDetail" parameterType="RoutingHeaderEntity" resultType="RoutingDetailEntity"> SELECT site, part_no, routing_type, routing_revision, alternative_no, alternative_description, rout_template_id, plan_date, fixed_lead_time_day, fixed_lead_time_hour, variable_lead_time_day, variable_lead_time_hour, for_std_lot_by_day, for_lot_by_day, min_lot_qty, note_text as detailNoteText, status, official_flag FROM plm_routing_detail where site = #{site} and part_no = #{partNo} and routing_type = #{routingType} and routing_revision = #{routingRevision} </select>
<!-- 查routing明细对象 --> <select id="queryDetailDataByNo" parameterType="RoutingDetailEntity" resultType="RoutingDetailEntity"> SELECT site, part_no, routing_type, routing_revision, alternative_no, alternative_description, rout_template_id, plan_date, fixed_lead_time_day, fixed_lead_time_hour, variable_lead_time_day, variable_lead_time_hour, for_std_lot_by_day, for_lot_by_day, min_lot_qty, note_text as detailNoteText, status, official_flag FROM plm_routing_detail where site = #{site} and part_no = #{partNo} and routing_type = #{routingType} and routing_revision = #{routingRevision} and alternative_no = #{alternativeNo} </select>
<!-- 查routing子明细 --> <select id="queryRoutingComponent" parameterType="RoutingDetailEntity" resultType="com.spring.modules.part.vo.RoutingComponentVo"> SELECT a.site, a.part_no, a.routing_type, a.routing_revision, a.alternative_no, a.operation_id, a.operation_no, a.operation_name, a.efficiency_factor, a.mach_run_factor, a.mach_setup_time, a.run_time_code, case when a.run_time_code = 'Units/Hour' then '单位/小时' when a.run_time_code = 'Hours/Unit' then '小时/单位' when a.run_time_code = 'Hours' then '小时' else '' end as runTimeCodeDesc, a.labor_run_factor, a.labor_setup_time, a.crew_size, a.setup_crew_size, a.outside_op_item, a.machine_no, a.work_center_no, b.work_center_desc, b.work_center_type, a.labor_class_no, dbo.get_labor_class_desc(a.site, a.labor_class_no) as laborClassDesc, a.setup_labor_class_no, dbo.get_labor_class_desc(a.site, a.setup_labor_class_no) as setupLaborClassDesc, a.overlap, a.note_text, a.ifs_row_id, a.ifs_row_version FROM plm_routing_component as a LEFT JOIN work_center as b on a.site = b.site and a.work_center_no = b.work_center_no where a.site = #{site} and a.part_no = #{partNo} and a.routing_type = #{routingType} and a.routing_revision = #{routingRevision} and a.alternative_no = #{alternativeNo} order by a.operation_no </select>
<!-- routing主表编辑 --> <update id="updateRoutingHeader" parameterType="RoutingAllFieldEntity"> update plm_routing_header set phase_in_date = #{phaseInDate}, phase_out_date = #{phaseOutDate}, note_text = #{noteText}, update_date = getDate(), update_by = #{updateBy} where site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} </update>
<!-- routing明细表编辑 --> <update id="updateRoutingDetail" parameterType="RoutingDetailEntity"> update plm_routing_detail set alternative_description = #{alternativeDescription}, rout_template_id = #{routTemplateId}, plan_date = #{planDate}, fixed_lead_time_day = #{fixedLeadTimeDay}, fixed_lead_time_hour = #{fixedLeadTimeHour}, variable_lead_time_day = #{variableLeadTimeDay}, variable_lead_time_hour = #{variableLeadTimeHour}, for_std_lot_by_day = #{forStdLotByDay}, for_lot_by_day = #{forLotByDay}, min_lot_qty = #{minLotQty}, note_text = #{detailNoteText}, update_date = getDate(), update_by = #{updateBy}, status = #{status} where site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} and alternative_no = #{alternativeNo} </update>
<!-- 删除routing子明细 --> <delete id="deleteRoutingComponent" parameterType="RoutingAllFieldEntity"> delete from plm_routing_component where site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} and alternative_no = #{alternativeNo} </delete>
<!-- 删除替代 --> <delete id="routingDetailDelete" parameterType="RoutingDetailEntity"> delete from plm_routing_detail where site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} and alternative_no = #{alternativeNo} </delete>
<!-- routing主表查重 --> <select id="checkRoutingOnlyOne" parameterType="RoutingAllFieldEntity" resultType="com.spring.modules.part.vo.RoutingHeaderVo"> SELECT site, part_no, dbo.get_part_name(site, part_no) as partDesc, routing_type, routing_revision, phase_in_date, phase_out_date, note_text, official_flag FROM plm_routing_header where site = #{site} and part_no = #{partNo} and routing_type = #{routingType} and routing_revision = #{routingRevision} </select>
<!-- routing明细查重 --> <select id="checkRoutingDetailOnlyOne" parameterType="RoutingDetailEntity" resultType="RoutingDetailEntity"> SELECT site, part_no, routing_type, routing_revision, alternative_no, alternative_description, rout_template_id, plan_date, fixed_lead_time_day, fixed_lead_time_hour, variable_lead_time_day, variable_lead_time_hour, for_std_lot_by_day, for_lot_by_day, min_lot_qty, note_text as detailNoteText, row_key, row_version, status, official_flag FROM plm_routing_detail where site = #{site} and part_no = #{partNo} and routing_type = #{routingType} and routing_revision = #{routingRevision} and alternative_no = #{alternativeNo} </select>
<!-- 批量删除子明细物料 --> <delete id="deleteRoutingComponents" parameterType="RoutingComponentEntity"> delete from plm_routing_component where site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} and alternative_no = #{alternativeNo} and operation_id = #{operationId} </delete>
<!-- 删除routing子明细 --> <delete id="deleteRoutingComponentByPartNo" parameterType="RoutingHeaderEntity"> delete from plm_routing_component where site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} </delete>
<!-- 删除routing明细 --> <delete id="deleteRoutingDetailByPartNo" parameterType="RoutingHeaderEntity"> delete from plm_routing_detail where site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} </delete>
<!-- 删除routing主记录 --> <delete id="deleteRoutingHeaderByPartNo" parameterType="RoutingHeaderEntity"> delete from plm_routing_header where site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} </delete>
<!-- routing明细查重 --> <select id="checkRoutingComponentOnlyOne" parameterType="RoutingComponentEntity" resultType="RoutingComponentEntity"> SELECT site, part_no, routing_type, routing_revision, alternative_no, operation_id, operation_no FROM plm_routing_component where site = #{site} and part_no = #{partNo} and routing_type = #{routingType} and routing_revision = #{routingRevision} and alternative_no = #{alternativeNo} and operation_no = #{operationNo} </select>
<!-- 修改routing子明细 --> <update id="updateRoutingComponent" parameterType="RoutingComponentEntity"> update plm_routing_component set efficiency_factor = #{efficiencyFactor}, mach_run_factor = #{machRunFactor}, mach_setup_time = #{machSetupTime}, run_time_code = #{runTimeCode}, labor_run_factor = #{laborRunFactor}, labor_setup_time = #{laborSetupTime}, crew_size = #{crewSize}, setup_crew_size = #{setupCrewSize}, outside_op_item = #{outsideOpItem}, machine_no = #{machineNo}, work_center_no = #{workCenterNo}, labor_class_no = #{laborClassNo}, setup_labor_class_no = #{setupLaborClassNo}, overlap = #{overlap}, note_text = #{noteText}, update_date = getDate(), update_by = #{updateBy}, operation_no = #{operationNo}, operation_name = #{operationName}, ifs_row_id = #{ifsRowId}, ifs_row_version = #{ifsRowVersion} where site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} and alternative_no = #{alternativeNo} and operation_id = #{operationId} </update>
<!-- 查询工序清单 --> <select id="queryOperationList" parameterType="OperationEntity" resultType="OperationEntity"> SELECT site, operation_id, operation_name, work_center_no FROM dbo.operation <where> site = #{site} <if test = "operationId != null and operationId != ''"> AND operation_id like #{operationId} </if> <if test = "operationName != null and operationName != ''"> AND operation_name like #{operationName} </if> </where> </select>
<!-- 修改替代状态 --> <update id="updateAlternativeStatus" parameterType="RoutingDetailEntity"> update plm_routing_detail set status = #{status}, update_date = getDate(), update_by = #{updateBy} where site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} and alternative_no = #{alternativeNo} </update>
<!-- 判断是否已有该物料的 routing --> <select id="queryPartRouting" parameterType="RoutingAllFieldEntity" resultType="com.spring.modules.part.vo.RoutingHeaderVo"> SELECT top 1 site, part_no, routing_type, routing_revision, phase_in_date, phase_out_date, note_text, official_flag FROM plm_routing_header WHERE site = #{site} and part_no = #{partNo} and routing_type = #{routingType} order by routing_revision desc </select>
<!-- 判断该 routing 是否有 Buildable Obsolete 状态的替代 --> <select id="queryAlternativeStatus" parameterType="RoutingHeaderEntity" resultType="com.spring.modules.part.vo.RoutingDetailVo"> SELECT site, part_no, routing_revision, routing_type, alternative_no, status FROM plm_routing_detail WHERE site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} and (status = 'Buildable' or status = 'Obsolete') </select>
<!-- 判断该 routing 是否有正式的替代 --> <select id="queryOfficialRoutingDetail" parameterType="RoutingHeaderEntity" resultType="com.spring.modules.part.vo.RoutingDetailVo"> SELECT site, part_no, routing_revision, routing_type, alternative_no, status, official_flag FROM plm_routing_detail WHERE site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} and official_flag = 'Y' </select>
<!-- 判断 routing 是否存在子料 --> <select id="queryComponentPart" parameterType="RoutingHeaderEntity" resultType="com.spring.modules.part.vo.RoutingComponentVo"> SELECT site, part_no, routing_revision, routing_type, alternative_no, operation_id FROM plm_routing_component WHERE site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} </select>
<!-- 判断工序是否被引用 --> <select id="checkOperatorIsUse" parameterType="RoutingComponentEntity" resultType="com.spring.modules.part.vo.BomComponentVo"> SELECT site, part_no, eng_chg_level, bom_type, alternative_no, component_part FROM plm_bom_component WHERE site = #{site} and part_no = #{partNo} and operation_id = #{operationId} </select>
<!-- 获取ifs header 对象--> <select id="getRoutingHeader" parameterType="RoutingDetailEntity" resultType="RoutingIfsHeader"> SELECT site as contract, part_no, routing_revision, routing_type, phase_in_date, phase_out_date, note_text, 'add' as histType FROM plm_routing_header WHERE site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} </select>
<!-- 获取ifs component 对象--> <select id="getRoutingComponent" parameterType="RoutingDetailEntity" resultType="RoutingIfsItem"> SELECT site as contract, part_no, routing_revision, routing_type, alternative_no, operation_id, operation_no, operation_name as operationDesc, work_center_no, efficiency_factor, mach_setup_time, mach_run_factor, run_time_code, labor_run_factor, labor_setup_time, crew_size, setup_crew_size, machine_no, note_text, case when outside_op_item is null then '' else outside_op_item end as outsideOpItem, labor_class_no, setup_labor_class_no, case when overlap is null then '' else overlap end as overlap, ifs_row_id, ifs_row_version FROM plm_routing_component WHERE site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} and alternative_no = #{alternativeNo} </select>
<!-- 获取ifs component 对象--> <select id="searchRoutingTools" parameterType="RoutingToolEntity" resultType="com.spring.modules.part.vo.RoutingToolVo"> SELECT a.id, a.site, a.part_no, a.routing_revision, a.routing_type, a.alternative_no, dbo.plm_get_alternativeDesc(a.site, a.part_no, a.routing_revision, a.routing_type, a.alternative_no) as alternativeDescription, a.operation_id, b.operation_no, b.operation_name, a.tool_id, dbo.plm_get_toolDesc(a.site, a.tool_id) as toolDescription, a.tool_qty, a.remark, a.create_date, a.create_by, a.update_date, a.update_by, a.ifs_row_id, a.ifs_row_version FROM routing_tool as a left join plm_routing_component as b on a.operation_id = b.operation_id WHERE a.site = #{site} and a.part_no = #{partNo} and a.routing_revision = #{routingRevision} and a.routing_type = #{routingType} </select>
<!-- 新增 routingTools --> <insert id="routingToolSave" parameterType="com.spring.modules.part.vo.RoutingToolVo" keyProperty="id" useGeneratedKeys="true"> INSERT INTO routing_tool (site, part_no, routing_revision, routing_type, alternative_no, operation_id, tool_id, tool_qty, remark, create_date, create_by) VALUES (#{site}, #{partNo}, #{routingRevision}, #{routingType}, #{alternativeNo}, #{operationId}, #{toolId}, #{toolQty}, #{remark}, getDate(), #{createBy}) </insert>
<!-- 根据替代查询工序列表 --> <select id="queryOperationListByAlternative" parameterType="OperationEntity" resultType="OperationEntity"> SELECT site, part_no, routing_revision, routing_type, alternative_no, operation_id, operation_no, operation_name FROM plm_routing_component <where> site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} and alternative_no = #{alternativeNo} <if test = "operationNo != null and operationNo != ''"> AND operation_no = #{operationNo} </if> <if test = "operationName != null and operationName != ''"> AND operation_name like #{operationName} </if> </where> </select>
<!-- 根据替代查询工序列表 --> <select id="queryAlternativeListByPartNo" parameterType="AlternativeEntity" resultType="AlternativeEntity"> SELECT site, part_no, routing_revision, routing_type, alternative_no, alternative_description FROM plm_routing_detail where site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} </select>
<!-- 编辑 routingTools --> <update id="routingToolEdit" parameterType="RoutingToolEntity"> update routing_tool set tool_qty = #{toolQty}, remark = #{remark}, update_date = getDate(), update_by = #{updateBy} where site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} and alternative_no = #{alternativeNo} and operation_id = #{operationId} and tool_id = #{toolId} </update>
<!-- 删除 routingTools --> <delete id="deleteRoutingTool" parameterType="RoutingToolEntity"> delete from routing_tool where site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} and alternative_no = #{alternativeNo} and operation_id = #{operationId} and tool_id = #{toolId} </delete>
<select id="routingAllInfoSearch" parameterType="com.spring.modules.part.vo.RoutingHeaderVo" resultType="com.spring.modules.part.vo.RoutingInfoVo"> select a.site, a.part_no, e.part_desc partDesc, dbo.get_um_name(e.um_id) printUnitName, a.routing_revision, a.routing_type, a.phase_in_date, a.phase_out_date, a.note_text, b.alternative_no, b.alternative_description, b.rout_template_id, b.plan_date, b.fixed_lead_time_day, b.fixed_lead_time_hour, b.variable_lead_time_day, b.variable_lead_time_hour, b.for_std_lot_by_day, b.for_lot_by_day, b.min_lot_qty, b.note_text alternativeNoteText, b.status, c.operation_no, c.efficiency_factor, c.mach_run_factor, c.mach_setup_time, c.run_time_code, case when c.run_time_code = 'Units/Hour' then '单位/小时' when c.run_time_code = 'Hours/Unit' then '小时/单位' when c.run_time_code = 'Hours' then '小时' else '' end as runTimeCodeDesc, c.labor_run_factor, c.labor_setup_time, c.crew_size, c.setup_crew_size, c.outside_op_item, c.machine_no, c.work_center_no, dbo.get_workCenter_desc(a.site,c.work_center_no) workCenterDesc, c.labor_class_no, g.level_desc laborClassDesc, c.setup_labor_class_no, j.level_desc setupLaborClassDesc, c.overlap, c.operation_name, c.operation_id, c.note_text operationNoteText, d.tool_id, f.tool_description toolDescription, d.tool_qty, d.remark from plm_routing_header a LEFT JOIN part e on a.site = e.site AND a.part_no = e.part_no LEFT JOIN plm_routing_detail b on a.site = b.site AND a.part_no =b.part_no AND a.routing_revision = b.routing_revision and a.routing_type = b.routing_type LEFT JOIN plm_routing_component c on a.site = c.site AND a.part_no =c.part_no AND a.routing_revision = c.routing_revision and a.routing_type = c.routing_type and b.alternative_no = c.alternative_no LEFT JOIN routing_tool d on a.site = d.site AND a.part_no =d.part_no AND a.routing_revision = d.routing_revision and a.routing_type = d.routing_type and c.alternative_no = d.alternative_no and c.operation_id = d.operation_id LEFT JOIN tool_header f on a.site = f.site AND d.tool_id =f.tool_id LEFT JOIN labor_class g on a.site = g.site AND c.labor_class_no = g.level_id LEFT JOIN labor_class j on a.site = j.site AND c.setup_labor_class_no = j.level_id <where> a.site = #{query.site} AND NOT (e.status = 'Y' AND (e.plm_part_no IS NULL OR e.plm_part_no = '')) <if test = "query.partNo != null and query.partNo != ''"> AND a.part_no like #{query.partNo} </if> <if test = "query.partDesc != null and query.partDesc != ''"> AND e.part_desc like #{query.partDesc} </if> </where> </select>
<!-- 获取routing header 对象--> <select id="queryRoutingHeader" parameterType="RoutingHeaderEntity" resultType="RoutingHeaderEntity"> SELECT site, part_no, routing_revision, routing_type, note_text, phase_in_date, phase_out_date, row_version, row_key, official_flag FROM plm_routing_header WHERE site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} </select>
<!-- routing主表编辑 --> <update id="updateInDate" parameterType="RoutingHeaderEntity"> update plm_routing_header set phase_out_date = #{phaseOutDate}, update_date = getDate(), update_by = #{createBy} where site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} </update>
<!-- 根据RoutingType查询--> <select id="selectRoutingHeaderByType" parameterType="RoutingHeaderEntity" resultType="RoutingHeaderEntity"> SELECT site, part_no, routing_revision, routing_type, note_text, phase_in_date, phase_out_date, row_version, row_key, official_flag FROM plm_routing_header where site = #{site} and part_no = #{partNo} and routing_type = #{routingType} order by routing_revision desc </select>
<!-- 校验日期是否冲突--> <select id="queryHeaderPhaseDate" parameterType="RoutingHeaderEntity" resultType="RoutingHeaderEntity"> SELECT site, part_no, routing_revision, routing_type, note_text, phase_in_date, phase_out_date, row_version, row_key, official_flag FROM plm_routing_header <where> site = #{site} and part_no = #{partNo} and routing_type = #{routingType} <if test = "phaseOutDate == null"> and phase_in_date >= #{phaseInDate} </if> <if test = "phaseOutDate != null"> and #{phaseInDate} >= phase_in_date and phase_out_date >= #{phaseOutDate} </if> </where> </select>
<!-- 将上一个版本的失效日期改为当前生效日期减一 --> <update id="updatePhaseOutDate" parameterType="RoutingHeaderEntity"> update plm_routing_header set phase_out_date = #{phaseOutDate}, update_date = getDate(), update_by = #{createBy} where site = #{site} and part_no = #{partNo} and routing_type = #{routingType} and routing_revision = #{routingRevision} </update>
<!-- 查routing子明细 --> <select id="queryComponent" parameterType="RoutingDetailEntity" resultType="RoutingComponentEntity"> SELECT site, part_no, routing_type, routing_revision, alternative_no, operation_id, operation_no, operation_name, efficiency_factor, mach_run_factor, mach_setup_time, run_time_code, labor_run_factor, labor_setup_time, crew_size, setup_crew_size, outside_op_item, machine_no, work_center_no, labor_class_no, setup_labor_class_no, overlap, note_text, ifs_row_id, ifs_row_version FROM plm_routing_component where site = #{site} and part_no = #{partNo} and routing_type = #{routingType} and routing_revision = #{routingRevision} and alternative_no = #{alternativeNo} </select>
<!-- 判断替代是否为正式 --> <select id="queryRoutingDetailOfficialFlag" parameterType="RoutingComponentEntity" resultType="RoutingDetailEntity"> SELECT site, part_no, routing_type, routing_revision, alternative_no, alternative_description, rout_template_id, plan_date, fixed_lead_time_day, fixed_lead_time_hour, variable_lead_time_day, variable_lead_time_hour, for_std_lot_by_day, for_lot_by_day, min_lot_qty, note_text as detailNoteText, status, official_flag FROM plm_routing_detail where site = #{site} and part_no = #{partNo} and routing_type = #{routingType} and routing_revision = #{routingRevision} and alternative_no = #{alternativeNo} </select>
<!-- 获取该routing的全部Tool --> <select id="getRoutingToolByHeader" parameterType="RoutingHeaderEntity" resultType="RoutingToolEntity"> SELECT id, site, part_no, routing_type, routing_revision, alternative_no, operation_id, tool_id, tool_qty, remark FROM routing_tool where site = #{site} and part_no = #{partNo} and routing_type = #{routingType} and routing_revision = #{routingRevision} </select>
<!-- 批量新增routingTool --> <insert id="saveRoutingTool"> insert into routing_tool (site, part_no, routing_revision, routing_type, alternative_no, operation_id, tool_id, tool_qty, remark, create_date, create_by) VALUES <foreach collection="list" item="item" index="index" separator=","> (#{item.site}, #{item.partNo}, #{item.routingRevision}, #{item.routingType}, #{item.alternativeNo}, #{item.operationId}, #{item.toolId}, #{item.toolQty}, #{item.remark}, getDate(), #{item.createBy}) </foreach> </insert>
<!-- 获取该routing的全部guideLine --> <select id="getGuideLineByHeader" parameterType="RoutingHeaderEntity" resultType="WorkGuidelineEntity"> SELECT site, part_no, routing_type, routing_revision, alternative_no, id, guideline_seq, guideline_desc, guideline_text, guideline_type, sign_off_required, inspection_sign_off_required, operation_id FROM plm_routing_work_guide where site = #{site} and part_no = #{partNo} and routing_type = #{routingType} and routing_revision = #{routingRevision} </select>
<!-- 批量新增guideLine --> <insert id="saveGuideLine"> insert into plm_routing_work_guide (site, part_no, routing_revision, routing_type, alternative_no, guideline_seq, guideline_desc, guideline_text, guideline_type, sign_off_required, inspection_sign_off_required, operation_id, create_date, create_by) VALUES <foreach collection="list" item="item" index="index" separator=","> (#{item.site}, #{item.partNo}, #{item.routingRevision}, #{item.routingType}, #{item.alternativeNo}, #{item.guidelineSeq}, #{item.guidelineDesc}, #{item.guidelineText}, #{item.guidelineType}, #{item.signOffRequired}, #{item.inspectionSignOffRequired}, #{item.operationId}, getDate(), #{item.createBy}) </foreach> </insert>
<!-- 获取该工序的Tool --> <select id="getRoutingToolByOperation" parameterType="RoutingComponentEntity" resultType="RoutingToolEntity"> SELECT id, site, part_no, routing_type, routing_revision, alternative_no, operation_id, tool_id, tool_qty, remark FROM routing_tool where site = #{site} and part_no = #{partNo} and routing_type = #{routingType} and routing_revision = #{routingRevision} and alternative_no = #{alternativeNo} and operation_id = #{operationId} </select>
<!-- 获取该工序的Tool(ifs) --> <select id="getRoutingToolByOperationToIfs" resultType="RoutingIfsTool"> SELECT a.id, a.site as contract, a.part_no, a.routing_type, a.routing_revision, a.alternative_no, a.operation_id, b.operation_no, a.tool_id, a.tool_qty as toolQuantity, a.remark as noteText, b.ifs_row_id, b.ifs_row_version FROM routing_tool as a left join plm_routing_component as b on a.site = b.site and a.part_no = b.part_no and a.routing_type = b.routing_type and a.routing_revision = b.routing_revision and a.alternative_no = b.alternative_no and a.operation_id = b.operation_id where a.site = #{site} and a.part_no = #{partNo} and a.routing_type = #{routingType} and a.routing_revision = #{routingRevision} and a.alternative_no = #{alternativeNo} and a.operation_id = #{operationId} </select>
<!-- 修改工序Tool的 rowKey rowRevision --> <update id="updateIfsToolRowKeyAndRevision" parameterType="RoutingIfsTool"> update routing_tool set ifs_row_id = #{ifsRowId}, ifs_row_version = #{ifsRowVersion} where id = #{id} </update>
<!-- 获取该替代的全部guideLine --> <select id="getGuideLineByOperation" parameterType="RoutingComponentEntity" resultType="WorkGuidelineEntity"> SELECT site, part_no, routing_type, routing_revision, alternative_no, id, guideline_seq, guideline_desc, guideline_text, guideline_type, sign_off_required, inspection_sign_off_required, operation_id FROM plm_routing_work_guide where site = #{site} and part_no = #{partNo} and routing_type = #{routingType} and routing_revision = #{routingRevision} and alternative_no = #{alternativeNo} and operation_id = #{operationId} </select>
<!-- 修改工序Guideline的 rowKey rowRevision --> <update id="updateIfsGuidelineRowKeyAndRevision" parameterType="RoutingIfsGuideLine"> update plm_routing_work_guide set ifs_row_id = #{ifsRowId}, ifs_row_version = #{ifsRowVersion} where id = #{id} </update>
<!-- 获取该工序的Tool(ifs) --> <select id="getRoutingGuidelineByOperationToIfs" resultType="RoutingIfsGuideLine"> SELECT a.id, a.site as contract, a.part_no, a.routing_type, a.routing_revision, a.alternative_no, a.operation_id, b.operation_no, a.guideline_seq, a.guideline_desc, a.guideline_text, a.guideline_type as operWorkGuideType, a.sign_off_required as signOffReq, a.inspection_sign_off_required as inspectSignOffReq, b.ifs_row_id, b.ifs_row_version FROM plm_routing_work_guide as a left join plm_routing_component as b on a.site = b.site and a.part_no = b.part_no and a.routing_type = b.routing_type and a.routing_revision = b.routing_revision and a.alternative_no = b.alternative_no and a.operation_id = b.operation_id where a.site = #{site} and a.part_no = #{partNo} and a.routing_type = #{routingType} and a.routing_revision = #{routingRevision} and a.alternative_no = #{alternativeNo} and a.operation_id = #{operationId} </select>
<!-- 根据工序删除RoutingTool --> <delete id="deleteRoutingToolByOperation" parameterType="RoutingComponentEntity"> delete from routing_tool where site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} and alternative_no = #{alternativeNo} and operation_id = #{operationId} </delete>
<!-- 根据工序删除guideLine --> <delete id="deleteGuideLineByOperation" parameterType="RoutingComponentEntity"> delete from plm_routing_work_guide where site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} and alternative_no = #{alternativeNo} and operation_id = #{operationId} </delete>
<!-- 根据替代删除RoutingTool --> <delete id="deleteRoutingToolByAlternative" parameterType="RoutingDetailEntity"> delete from routing_tool where site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} and alternative_no = #{alternativeNo} </delete>
<!-- 根据替代删除guideLine --> <delete id="deleteGuideLineByAlternative" parameterType="RoutingDetailEntity"> delete from plm_routing_work_guide where site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} and alternative_no = #{alternativeNo} </delete>
<select id="queryRoutingDetailList" resultType="com.spring.modules.quotation.entity.QuoteRoutingHeader"> SELECT site, part_no, routing_type, routing_revision as version, alternative_no FROM plm_routing_detail where site = #{site} and part_no = #{partNo} </select>
<!-- 查询最大工序号 --> <select id="queryMaxOperationNo" parameterType="RoutingDetailEntity" resultType="RoutingComponentEntity"> SELECT top 1 site, part_no, routing_revision, routing_type, alternative_no, operation_no FROM plm_routing_component where site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} and alternative_no = #{alternativeNo} order by operation_no desc </select>
<!-- 修改工序的 rowKey rowRevision --> <update id="updateIfsRowKeyAndRevision" parameterType="RoutingIfsItem"> update plm_routing_component set ifs_row_id = #{ifsRowId}, ifs_row_version = #{ifsRowVersion} where site = #{contract} and part_no = #{partNo} and routing_type = #{routingType} and routing_revision = #{routingRevision} and alternative_no = #{alternativeNo} and operation_id = #{operationId} </update>
<!-- 修改工具的 rowKey rowRevision --> <update id="updateRoutingToolIfsRow" parameterType="com.spring.modules.part.vo.RoutingToolVo"> update routing_tool set ifs_row_id = #{ifsRowId}, ifs_row_version = #{ifsRowVersion} where id = #{id} </update>
<update id="updateRoutingHeaderOfficialFlag" parameterType="com.spring.modules.part.vo.RoutingDetailVo"> update plm_routing_header set official_flag = 'Y' where site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} </update>
<update id="updateRoutingDetailOfficialFlag" parameterType="com.spring.modules.part.vo.RoutingDetailVo"> update plm_routing_detail set official_flag = 'Y' where site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} and alternative_no = #{alternativeNo} </update>
<!-- 根据routing的替代查Tool --> <select id="getRoutingToolByAlternative" parameterType="com.spring.modules.part.vo.RoutingDetailVo" resultType="RoutingIfsTool"> SELECT a.id, a.site as contract, a.part_no, a.routing_type, a.routing_revision, a.alternative_no, a.operation_id, b.operation_no, a.tool_id, a.tool_qty as toolQuantity, a.remark as noteText, b.ifs_row_id, b.ifs_row_version FROM routing_tool as a left join plm_routing_component as b on a.site = b.site and a.part_no = b.part_no and a.routing_type = b.routing_type and a.routing_revision = b.routing_revision and a.alternative_no = b.alternative_no and a.operation_id = b.operation_id where a.site = #{site} and a.part_no = #{partNo} and a.routing_type = #{routingType} and a.routing_revision = #{routingRevision} and a.alternative_no = #{alternativeNo} </select>
<!-- 根据routing的替代查guideLine --> <select id="getGuideLineByAlternative" parameterType="com.spring.modules.part.vo.RoutingDetailVo" resultType="RoutingIfsGuideLine"> SELECT a.site as contract, a.part_no, a.routing_type, a.routing_revision, a.alternative_no, a.id, a.guideline_seq, a.guideline_desc, a.guideline_text, a.guideline_type as operWorkGuideType, a.sign_off_required as signOffReq, a.inspection_sign_off_required as inspectSignOffReq, a.operation_id, b.ifs_row_id, b.ifs_row_version FROM plm_routing_work_guide as a left join plm_routing_component as b on a.operation_id = b.operation_id where a.site = #{site} and a.part_no = #{partNo} and a.routing_type = #{routingType} and a.routing_revision = #{routingRevision} and a.alternative_no = #{alternativeNo} </select>
<!-- 获取Tool(ifs) --> <select id="getRoutingToolToIfs" parameterType="RoutingToolEntity" resultType="RoutingIfsTool"> SELECT id, site as contract, part_no, routing_type, routing_revision, alternative_no, operation_id, tool_id, tool_qty as toolQuantity, remark as noteText, ifs_row_id, ifs_row_version FROM routing_tool where site = #{site} and part_no = #{partNo} and routing_type = #{routingType} and routing_revision = #{routingRevision} and alternative_no = #{alternativeNo} and operation_id = #{operationId} and tool_id = #{toolId} </select>
<!-- 修改工序的 rowKey rowRevision --> <update id="updateRoutingComponentIfsRow" parameterType="RoutingComponentEntity"> update plm_routing_component set ifs_row_id = #{ifsRowId}, ifs_row_version = #{ifsRowVersion} where site = #{site} and part_no = #{partNo} and routing_type = #{routingType} and routing_revision = #{routingRevision} and alternative_no = #{alternativeNo} and operation_id = #{operationId} </update>
<!-- 获取工序(ifs) --> <select id="getRoutingComponentToIfs" parameterType="RoutingComponentEntity" resultType="RoutingIfsItem"> SELECT site as contract, part_no, routing_type, routing_revision, alternative_no, operation_id, operation_no, efficiency_factor, mach_run_factor, mach_setup_time, run_time_code, labor_run_factor, labor_setup_time, crew_size, setup_crew_size, outside_op_item, machine_no, work_center_no, labor_class_no, setup_labor_class_no, overlap, note_text, operation_name as operationDesc, ifs_row_id, ifs_row_version FROM plm_routing_component where site = #{site} and part_no = #{partNo} and routing_type = #{routingType} and routing_revision = #{routingRevision} and alternative_no = #{alternativeNo} and operation_id = #{operationId} </select>
<select id="getPLMLocations" resultType="LocationInformationEntity"> select site, location_id, location_name, warehouse_id, active, location_type, ifs_row_version from location where site in <foreach collection="arr" close=")" open="(" item="item" separator=","> #{item} </foreach> </select>
<!-- 批量删除 --> <delete id="syncDeleteLocation" parameterType="java.util.List"> DELETE FROM location WHERE <foreach item="item" index="index" collection="list" open="(" separator=") OR (" close=")"> location_id = #{item.locationId} AND site = #{item.site} </foreach> </delete>
<!-- 批量新增 --> <insert id="syncSaveLocation"> INSERT INTO location (site, location_id, location_name, warehouse_id, active, location_type, ifs_row_version) VALUES <foreach item="item" collection="list" separator=","> (#{item.site}, #{item.locationId}, #{item.locationName}, #{item.warehouseId}, #{item.active}, #{item.locationType}, #{item.ifsRowVersion}) </foreach> </insert>
<!-- 批量更新 --> <update id="syncUpdateLocation" parameterType="java.util.List"> UPDATE location SET location_name = CASE location_id <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.locationId} THEN #{item.locationName} </foreach> ELSE location_name END, active = CASE location_id <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.locationId} THEN #{item.active} </foreach> ELSE active END, warehouse_id = CASE location_id <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.locationId} THEN #{item.warehouseId} </foreach> ELSE warehouse_id END, location_type = CASE location_id <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.locationId} THEN #{item.locationType} </foreach> ELSE location_type END, ifs_row_version = CASE location_id <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.locationId} THEN #{item.ifsRowVersion} </foreach> ELSE ifs_row_version END WHERE location_id IN <foreach item="item" index="index" collection="list" open="(" close=")" separator=","> #{item.locationId} </foreach> AND site = #{list[0].site} </update>
<!-- <!– 批量更新 –>--><!-- <update id="syncUpdateLocation" parameterType="LocationInformationEntity">--><!-- UPDATE location SET--><!-- location_name = #{locationName},--><!-- active = #{active},--><!-- warehouse_id = #{warehouseId},--><!-- location_type = #{locationType},--><!-- ifs_row_version = #{ifsRowVersion}--><!-- WHERE location_id = #{locationId} AND site = #{site}--><!-- </update>-->
<select id="getPLMLaborClasss" resultType="PersonnelLevel"> select site, level_id, level_desc, level_cost, active, ifs_row_version from labor_class where site in <foreach collection="arr" close=")" open="(" item="item" separator=","> #{item} </foreach> </select>
<!-- 批量删除 --> <delete id="syncDeleteLaborClass" parameterType="java.util.List"> DELETE FROM labor_class WHERE <foreach item="item" index="index" collection="list" open="(" separator=") OR (" close=")"> level_id = #{item.levelId} AND site = #{item.site} </foreach> </delete>
<!-- 批量新增 --> <insert id="syncSaveLaborClass"> INSERT INTO labor_class (site, level_id, level_desc, level_cost, active, ifs_row_version) VALUES <foreach item="item" collection="list" separator=","> (#{item.site}, #{item.levelId}, #{item.levelDesc}, #{item.levelCost}, #{item.active}, #{item.ifsRowVersion}) </foreach> </insert>
<!-- 批量更新 --> <update id="syncUpdateLaborClass" parameterType="java.util.List"> UPDATE labor_class SET level_desc = CASE level_id <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.levelId} THEN #{item.levelDesc} </foreach> ELSE level_desc END, active = CASE level_id <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.levelId} THEN #{item.active} </foreach> ELSE active END, level_cost = CASE level_id <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.levelId} THEN #{item.levelCost} </foreach> ELSE level_cost END, ifs_row_version = CASE level_id <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.levelId} THEN #{item.ifsRowVersion} </foreach> ELSE ifs_row_version END WHERE level_id IN <foreach item="item" index="index" collection="list" open="(" close=")" separator=","> #{item.levelId} </foreach> AND site = #{list[0].site} </update>
<!-- <!– 批量更新 –>--><!-- <update id="syncUpdateLaborClass" parameterType="PersonnelLevel">--><!-- UPDATE labor_class SET--><!-- level_desc = #{levelDesc},--><!-- active = #{active},--><!-- level_cost = #{levelCost},--><!-- ifs_row_version = #{ifsRowVersion}--><!-- WHERE level_id = #{levelId} AND site = #{site}--><!-- </update>-->
<select id="getPLMWorkCenters" resultType="WorkCenter"> select site, work_center_no, work_center_desc, work_center_type_db, work_center_type, average_capacity, efficiency, utilization, capacity_type_db, capacity_type, um_id, active, remark, pro_line_no, can_create_new_roll_flag, need_setup_flag, ifs_row_version from work_center where site in <foreach collection="arr" close=")" open="(" item="item" separator=","> #{item} </foreach> </select>
<!-- 批量删除 --> <delete id="syncDeleteWorkCenter" parameterType="java.util.List"> DELETE FROM work_center WHERE <foreach item="item" index="index" collection="list" open="(" separator=") OR (" close=")"> work_center_no = #{item.workCenterNo} AND site = #{item.site} </foreach> </delete>
<!-- 批量新增 --> <insert id="syncSaveWorkCenter"> INSERT INTO work_center (site, work_center_no, work_center_desc, work_center_type_db, work_center_type, average_capacity, efficiency, utilization, capacity_type_db, capacity_type, um_id, active, remark, pro_line_no, can_create_new_roll_flag, need_setup_flag, ifs_row_version) VALUES <foreach item="item" collection="list" separator=","> (#{item.site}, #{item.workCenterNo}, #{item.workCenterDesc}, #{item.workCenterTypeDB}, #{item.workCenterType}, #{item.averageCapacity,jdbcType=DECIMAL}, #{item.efficiency,jdbcType=DECIMAL}, #{item.utilization,jdbcType=DECIMAL}, #{item.capacityTypeDB}, #{item.capacityType}, #{item.umId}, #{item.active}, #{item.remark}, #{item.proLineNo}, #{item.canCreateNewRollFlag}, #{item.needSetupFlag}, #{item.ifsRowVersion}) </foreach> </insert>
<!-- 批量更新 --> <update id="syncUpdateWorkCenter" parameterType="java.util.List"> UPDATE work_center SET work_center_desc = CASE work_center_no <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.workCenterNo} THEN #{item.workCenterDesc} </foreach> ELSE work_center_desc END, work_center_type_db = CASE work_center_no <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.workCenterNo} THEN #{item.workCenterTypeDB} </foreach> ELSE work_center_type_db END, work_center_type = CASE work_center_no <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.workCenterNo} THEN #{item.workCenterType} </foreach> ELSE work_center_type END, average_capacity = CASE work_center_no <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.workCenterNo} THEN #{item.averageCapacity,jdbcType=DECIMAL} </foreach> ELSE average_capacity END, efficiency = CASE work_center_no <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.workCenterNo} THEN #{item.efficiency,jdbcType=DECIMAL} </foreach> ELSE efficiency END, utilization = CASE work_center_no <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.workCenterNo} THEN #{item.utilization,jdbcType=DECIMAL} </foreach> ELSE utilization END, capacity_type_db = CASE work_center_no <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.workCenterNo} THEN #{item.capacityTypeDB} </foreach> ELSE capacity_type_db END, capacity_type = CASE work_center_no <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.workCenterNo} THEN #{item.capacityType} </foreach> ELSE capacity_type END, um_id = CASE work_center_no <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.workCenterNo} THEN #{item.umId} </foreach> ELSE um_id END, active = CASE work_center_no <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.workCenterNo} THEN #{item.active} </foreach> ELSE active END, remark = CASE work_center_no <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.workCenterNo} THEN #{item.remark} </foreach> ELSE remark END, pro_line_no = CASE work_center_no <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.workCenterNo} THEN #{item.proLineNo} </foreach> ELSE pro_line_no END, can_create_new_roll_flag = CASE work_center_no <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.workCenterNo} THEN #{item.canCreateNewRollFlag} </foreach> ELSE can_create_new_roll_flag END, need_setup_flag = CASE work_center_no <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.workCenterNo} THEN #{item.needSetupFlag} </foreach> ELSE need_setup_flag END, ifs_row_version = CASE work_center_no <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.workCenterNo} THEN #{item.ifsRowVersion} </foreach> ELSE ifs_row_version END WHERE work_center_no IN <foreach item="item" index="index" collection="list" open="(" close=")" separator=","> #{item.workCenterNo} </foreach> AND site = #{list[0].site} </update>
<select id="getPLMWorkCenterCosts" resultType="WorkCenterCost"> select site, work_center_no, item_no, unit_cost, overhead1_cost, overhead2_cost, um_id, begin_date, end_date, remark, current_work_center_cost, ifs_row_id, ifs_row_version, cost_set, cost_set_desc, wc_rate, wc_cost_code, overhead1_fac, overhead2_fac, overhead1_appl, overhead2_appl from work_center_cost where site in <foreach collection="arr" close=")" open="(" item="item" separator=","> #{item} </foreach> </select>
<!-- 批量新增 --> <insert id="syncSaveWorkCenterCost"> INSERT INTO work_center_cost (site, work_center_no, item_no, unit_cost, overhead1_cost, overhead2_cost, um_id, begin_date, end_date, remark, current_work_center_cost, ifs_row_id, ifs_row_version, cost_set, cost_set_desc, wc_rate, wc_cost_code, overhead1_fac, overhead2_fac, overhead1_appl, overhead2_appl) VALUES <foreach item="item" collection="list" separator=","> (#{item.site}, #{item.workCenterNo}, #{item.itemNo,jdbcType=FLOAT}, #{item.unitCost,jdbcType=FLOAT}, #{item.overhead1Cost,jdbcType=FLOAT}, #{item.overhead2Cost,jdbcType=FLOAT}, #{item.umId}, #{item.beginDate,jdbcType=DATE}, #{item.endDate,jdbcType=DATE}, #{item.remark}, #{item.currentWorkCenterCost,jdbcType=DECIMAL}, #{item.ifsRowId}, #{item.ifsRowVersion}, #{item.costSet}, #{item.costSetDesc}, #{item.wcRate}, #{item.wcCostCode}, #{item.overhead1Fac}, #{item.overhead2Fac}, #{item.overhead1Appl}, #{item.overhead2Appl}) </foreach> </insert>
<!-- 批量更新 --> <update id="syncUpdateWorkCenterCost" parameterType="java.util.List"> UPDATE work_center_cost SET item_no = CASE ifs_row_id <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.ifsRowId} THEN #{item.itemNo,jdbcType=FLOAT} </foreach> ELSE item_no END, unit_cost = CASE ifs_row_id <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.ifsRowId} THEN #{item.unitCost,jdbcType=FLOAT} </foreach> ELSE unit_cost END, overhead1_cost = CASE ifs_row_id <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.ifsRowId} THEN #{item.overhead1Cost,jdbcType=FLOAT} </foreach> ELSE overhead1_cost END, overhead2_cost = CASE ifs_row_id <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.ifsRowId} THEN #{item.overhead2Cost,jdbcType=FLOAT} </foreach> ELSE overhead2_cost END, um_id = CASE ifs_row_id <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.ifsRowId} THEN #{item.umId} </foreach> ELSE um_id END, begin_date = CASE ifs_row_id <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.ifsRowId} THEN #{item.beginDate} </foreach> ELSE begin_date END, end_date = CASE ifs_row_id <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.ifsRowId} THEN #{item.endDate} </foreach> ELSE end_date END, remark = CASE ifs_row_id <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.ifsRowId} THEN #{item.remark} </foreach> ELSE remark END, current_work_center_cost = CASE ifs_row_id <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.ifsRowId} THEN #{item.currentWorkCenterCost} </foreach> ELSE current_work_center_cost END, ifs_row_version = CASE ifs_row_id <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.ifsRowId} THEN #{item.ifsRowVersion} </foreach> ELSE ifs_row_version END, cost_set = CASE ifs_row_id <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.ifsRowId} THEN #{item.costSet} </foreach> ELSE cost_set END, cost_set_desc = CASE ifs_row_id <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.ifsRowId} THEN #{item.costSetDesc} </foreach> ELSE cost_set_desc END, wc_rate = CASE ifs_row_id <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.ifsRowId} THEN #{item.wcRate} </foreach> ELSE wc_rate END, wc_cost_code = CASE ifs_row_id <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.ifsRowId} THEN #{item.wcCostCode} </foreach> ELSE wc_cost_code END, overhead1_fac = CASE ifs_row_id <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.ifsRowId} THEN #{item.overhead1Fac} </foreach> ELSE overhead1_fac END, overhead2_fac = CASE ifs_row_id <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.ifsRowId} THEN #{item.overhead2Fac} </foreach> ELSE overhead2_fac END, overhead1_appl = CASE ifs_row_id <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.ifsRowId} THEN #{item.overhead1Appl} </foreach> ELSE overhead1_appl END, overhead2_appl = CASE ifs_row_id <foreach item="item" index="index" collection="list" open="" close="" separator=" "> WHEN #{item.ifsRowId} THEN #{item.overhead2Appl} </foreach> ELSE overhead2_appl END WHERE ifs_row_id IN <foreach item="item" index="index" collection="list" open="(" close=")" separator=","> #{item.ifsRowId} </foreach> </update>
<select id="getRoutingComponentRowKeyAndVersion" resultType="RoutingComponentEntity"> select site, part_no, routing_revision, routing_type, alternative_no, operation_no, operation_name, operation_id, ifs_row_id, ifs_row_version from plm_routing_component where operation_id = #{operationId} </select>
<select id="getMaxLocationRowVersion" resultType="java.lang.String"> select isnull(max(ifs_row_version),'') from location </select>
<select id="getMaxLaborClassRowVersion" resultType="java.lang.String"> select isnull(max(ifs_row_version),'') from labor_class </select>
<select id="getMaxWorkCenterRowVersion" resultType="java.lang.String"> select isnull(max(ifs_row_version),'') from work_center </select>
<select id="getMaxWorkCenterCostRowVersion" resultType="java.lang.String"> select isnull(max(ifs_row_version),'') from work_center_cost </select>
<select id="selectRoutingHeaderByPartNo" resultType="com.spring.modules.part.vo.RoutingHeaderVo"> SELECT site, part_no, routing_revision, routing_type, note_text, phase_in_date, phase_out_date, official_flag FROM plm_routing_header where site = #{site} and part_no = #{partNo} </select>
<select id="selectRoutingDetailByPartNo" resultType="com.spring.modules.part.vo.RoutingDetailVo"> SELECT site, part_no, routing_type, routing_revision, alternative_no, alternative_description, rout_template_id, plan_date, fixed_lead_time_day, fixed_lead_time_hour, variable_lead_time_day, variable_lead_time_hour, for_std_lot_by_day, for_lot_by_day, min_lot_qty, note_text as detailNoteText, 'Tentative' as status, official_flag FROM plm_routing_detail where site = #{site} and part_no = #{partNo} </select>
<select id="selectRoutingComponentByPartNo" resultType="com.spring.modules.part.vo.RoutingComponentVo"> SELECT site, part_no, routing_type, routing_revision, alternative_no, operation_id, operation_no, operation_name, efficiency_factor, mach_run_factor, mach_setup_time, run_time_code, labor_run_factor, labor_setup_time, crew_size, setup_crew_size, outside_op_item, machine_no, work_center_no, labor_class_no, setup_labor_class_no, overlap, note_text FROM plm_routing_component where site = #{site} and part_no = #{partNo} </select>
<insert id="saveRoutingHeaderList"> INSERT INTO plm_routing_header (site, part_no, routing_revision, routing_type, note_text, phase_in_date, phase_out_date, create_date, create_by, official_flag) VALUES <foreach collection="list" item="item" index="index" separator=","> (#{item.site}, #{item.partNo}, #{item.routingRevision}, #{item.routingType}, #{item.noteText}, #{item.phaseInDate}, #{item.phaseOutDate}, getDate(), #{item.createBy}, #{item.officialFlag}) </foreach> </insert>
<insert id="saveRoutingDetailList"> INSERT INTO plm_routing_detail (site, part_no, routing_revision, routing_type, alternative_no, alternative_description, fixed_lead_time_day, fixed_lead_time_hour, variable_lead_time_day, variable_lead_time_hour, for_std_lot_by_day, for_lot_by_day, min_lot_qty, note_text, create_date, create_by, status, official_flag) VALUES <foreach collection="list" item="item" index="index" separator=","> (#{item.site}, #{item.partNo}, #{item.routingRevision}, #{item.routingType}, #{item.alternativeNo}, #{item.alternativeDescription}, #{item.fixedLeadTimeDay}, #{item.fixedLeadTimeHour}, #{item.variableLeadTimeDay}, #{item.variableLeadTimeHour}, #{item.forStdLotByDay}, #{item.forLotByDay}, #{item.minLotQty}, #{item.detailNoteText}, getDate(), #{item.createBy}, #{item.status}, #{item.officialFlag}) </foreach> </insert>
<select id="selectRoutingToolByPartNo" resultType="RoutingToolEntity"> SELECT site, part_no, routing_type, routing_revision, alternative_no, operation_id, tool_id, tool_qty, remark FROM routing_tool where site = #{site} and part_no = #{partNo} </select>
<select id="selectRoutingGuidelineByPartNo" resultType="WorkGuidelineEntity"> SELECT site, part_no, routing_type, routing_revision, alternative_no, guideline_seq, guideline_desc, guideline_text, guideline_type, sign_off_required, inspection_sign_off_required, operation_id FROM plm_routing_work_guide where site = #{site} and part_no = #{partNo} </select>
<!-- 查工具列表 --> <select id="queryToolList" parameterType="ToolHeader" resultType="ToolHeader"> SELECT site, tool_id, tool_description FROM tool_header <where> site = #{query.site} and active = 'Y' <if test = "query.toolId != null and query.toolId != ''"> AND tool_id like #{query.toolId} </if> <if test = "query.toolDescription != null and query.toolDescription != ''"> AND tool_description like #{query.toolDescription} </if> </where> </select>
<!-- 清空加工中心成本数据 --> <delete id="deleteWorkCenterCostAll"> TRUNCATE TABLE work_center_cost </delete></mapper>
|