You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

100 lines
4.7 KiB

<?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.RoutingOperationsMapper">
<select id="routingOperationsSearch"
parameterType="com.spring.modules.part.dto.RoutingOperationsQueryDto"
resultType="com.spring.modules.part.vo.RoutingOperationsVo">
SELECT
prc.site,
prc.PART_NO AS partNo,
p.part_desc AS partDesc,
prc.routing_type AS routingType,
prc.routing_revision AS routingRevision,
prc.alternative_no AS alternativeNo,
prd.status,
prc.operation_id AS operationId,
prc.operation_no AS operationNo,
prc.operation_name AS operationName,
prc.work_center_no AS workCenterNo,
wc.work_center_desc AS workCenterDesc,
prc.mach_setup_time AS machSetupTime,
prc.mach_run_factor AS machRunFactor,
prc.setup_labor_class_no AS setupLaborClassNo,
dbo.get_labor_class_desc(prc.site, prc.setup_labor_class_no) AS setupLaborClassDesc,
prc.labor_setup_time AS laborSetupTime,
prc.setup_crew_size AS setupCrewSize,
prc.labor_class_no AS laborClassNo,
dbo.get_labor_class_desc(prc.site, prc.labor_class_no) AS laborClassDesc,
prc.labor_run_factor AS laborRunFactor,
prc.run_time_code AS runTimeCode,
prc.crew_size AS crewSize,
prh.phase_in_date AS phaseInDate,
prh.phase_out_date AS phaseOutDate,
prc.overlap,
prc.efficiency_factor AS efficiencyFactor,
prc.outside_op_item AS outsideOpItem,
prc.create_date AS createDate,
prc.machine_no AS machineNo,
prc.note_text AS noteText,
prc.ifs_row_id AS ifsRowId,
prc.ifs_row_version AS ifsRowVersion
FROM plm_routing_component AS prc
LEFT JOIN part AS p ON prc.site = p.site AND prc.part_no = p.part_no
LEFT JOIN plm_routing_detail AS prd ON prd.site = prc.site AND prd.part_no = prc.part_no
AND prd.routing_type = prc.routing_type AND prd.routing_revision = prc.routing_revision AND prd.alternative_no = prc.alternative_no
LEFT JOIN plm_routing_header AS prh ON prh.site = prc.site AND prh.part_no = prc.part_no
AND prh.routing_type = prc.routing_type AND prh.routing_revision = prc.routing_revision
LEFT JOIN work_center AS wc ON prc.site = wc.site AND prc.work_center_no = wc.work_center_no
<where>
prc.site = #{query.site}
<if test="query.partNo != null and query.partNo != ''">
AND prc.part_no like #{query.partNo}
</if>
<if test="query.partDesc != null and query.partDesc != ''">
AND p.part_desc LIKE #{query.partDesc}
</if>
<if test="query.routingType != null and query.routingType != ''">
AND prc.routing_type = #{query.routingType}
</if>
<if test="query.routingRevision != null">
AND prc.routing_revision = #{query.routingRevision}
</if>
<if test="query.alternativeNo != null and query.alternativeNo != ''">
AND prc.alternative_no = #{query.alternativeNo}
</if>
<if test="query.operationNo != null">
AND prc.operation_no = #{query.operationNo}
</if>
<if test="query.operationName != null and query.operationName != ''">
AND prc.operation_name LIKE #{query.operationName}
</if>
<if test="query.workCenterNo != null and query.workCenterNo != ''">
AND prc.work_center_no = #{query.workCenterNo}
</if>
</where>
ORDER BY
prc.part_no,
prc.site,
prc.routing_revision,
prc.routing_type,
prc.alternative_no,
prc.operation_no
</select>
<select id="countWorkCenter" resultType="int">
SELECT COUNT(1) FROM work_center WHERE site = #{site} AND work_center_no = #{workCenterNo}
</select>
<select id="countLaborClass" resultType="int">
SELECT COUNT(1) FROM labor_class WHERE site = #{site} AND level_id = #{laborClassNo}
</select>
<select id="getWorkCenterDesc" resultType="java.lang.String">
SELECT dbo.get_workCenter_desc(#{site}, #{workCenterNo})
</select>
<select id="getLaborClassDesc" resultType="java.lang.String">
SELECT dbo.get_labor_class_desc(#{site}, #{laborClassNo})
</select>
</mapper>