<?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.chinaztt.mes.quality.mapper.UnqualifiedProcessMapper">
|
|
<resultMap id="qualityUnqualifiedProcessMap" type="com.chinaztt.mes.quality.dto.UnqualifiedProcessDTO">
|
<id property="id" column="id"/>
|
<result property="unqualifiedQuantity" column="unqualified_quantity"/>
|
<result property="reason" column="reason"/>
|
<result property="processMode" column="process_mode"/>
|
<result property="processNo" column="process_no"/>
|
<result property="createTime" column="create_time"/>
|
<result property="updateTime" column="update_time"/>
|
<result property="createUser" column="create_user"/>
|
<result property="updateUser" column="update_user"/>
|
<result property="resultId" column="result_id"/>
|
<result property="applyPartId" column="apply_part_id"/>
|
<result property="systemNo" column="system_no"/>
|
<result property="remark" column="remark"/>
|
<result property="partNo" column="part_no"/>
|
<result property="partDesc" column="part_desc"/>
|
<result property="lotBatchNo" column="lot_batch_no"/>
|
<result property="applyNo" column="apply_no"/>
|
<result property="reportNo" column="report_no"/>
|
<result property="unqualifiedArrived" column="unqualified_arrived"/>
|
<result property="isQualified" column="is_qualified"/>
|
<result property="isUsed" column="is_used"/>
|
<result property="qualityLoss" column="quality_loss"/>
|
<result property="initiatingOrganization" column="initiating_organization"/>
|
<result property="receiver" column="receiver" />
|
<result property="correctiveMeasures" column="corrective_measures" />
|
<result property="causeType" column="cause_type" />
|
<result property="mainProcessNo" column="main_process_no"/>
|
<result property="partId" column="part_id" />
|
<result property="ifsNo" column="ifs_no" />
|
<result property="testUser" column="test_user"/>
|
<result property="productionUser" column="production_user"/>
|
<result property="productionTime" column="production_time"/>
|
<result property="workstationNo" column="workstation_no"/>
|
<result property="workstationName" column="workstation_name"/>
|
<result property="operationName" column="operation_name"/>
|
<result property="unqualifiedDesc" column="unqualified_desc"/>
|
<result property="type" column="type"/>
|
<result property="unqualifiedType" column="unqualified_type"/>
|
<result property="processResult" column="process_result"/>
|
<result property="outBatchNo" column="out_batch_no"/>
|
<result property="ifsBatchNo" column="ifs_batch_no"/>
|
<result property="applyType" column="apply_type"/>
|
<result property="state" column="state"/>
|
<result property="reportType" column="report_type"/>
|
<result property="workShop" column="work_shop"/>
|
<result property="checkLength" column="check_length"/>
|
<result property="replacePartId" column="replace_part_id"/>
|
<result property="replacePartNo" column="replace_part_no"/>
|
<result property="replacePartName" column="replace_part_name"/>
|
<result property="degradePartNo" column="degrade_part_no"/>
|
<result property="degradePartName" column="degrade_part_name"/>
|
<result property="examiner" column="examiner"/>
|
<result property="examineTime" column="examine_time"/>
|
<result property="handler" column="handler"/>
|
<result property="handleTime" column="handle_time"/>
|
<result property="degradePartId" column="degrade_part_id"/>
|
<result property="executeSn" column="execute_sn"/>
|
<result property="staffName" column="staff_name"/>
|
</resultMap>
|
|
<select id="getPage" resultMap="qualityUnqualifiedProcessMap">
|
SELECT
|
*
|
FROM
|
(SELECT
|
qupp.*,
|
qap.system_no,
|
qa.apply_no,
|
qr.report_no,
|
qap.unqualified_arrived,
|
qap.is_qualified,
|
qres.is_used,
|
qap.part_id,
|
COALESCE(qap.replace_part_no, qap.part_no) part_no,
|
COALESCE(qap.replace_part_name, qap.part_desc) part_desc,
|
qap.lot_batch_no,
|
qres."id" AS result_id,
|
qap.remark,
|
qr.report_type,
|
qr.update_user test_user, --检验人员
|
ppo.create_user production_user, --生产人员
|
ppo.create_time production_time, --生产日期
|
bw.workstation_no, --工作站编号
|
bw."name" workstation_name, --工作站名称
|
too."name" operation_name, --工序名称
|
pmo.work_shop,
|
bp.part_name as degrade_part_name,
|
bp.part_no as degrade_part_no,
|
bs.staff_name
|
FROM
|
quality_unqualified_process qupp
|
LEFT JOIN quality_apply_part qap ON qap."id" = qupp.apply_part_id
|
LEFT JOIN quality_apply qa ON qa."id" = qap.apply_id
|
LEFT JOIN quality_report qr ON qr."id" = qap.report_id
|
LEFT JOIN quality_result qres ON qres.system_no = qap.system_no AND qa.apply_type = qres.apply_type
|
LEFT JOIN production_product_output ppo ON qap.system_no = ppo.system_no
|
LEFT JOIN production_product_main ppm ON ppo.product_main_id = ppm."id"
|
LEFT JOIN basic_workstation bw ON ppm.workstation_id = bw."id"
|
LEFT JOIN production_operation_task pot ON ppm.operation_task_id = pot."id"
|
LEFT JOIN plan_manufacturing_order_routing_operation pmoro ON pot.mo_routing_operation_id = pmoro."id"
|
LEFT JOIN technology_operation too ON pmoro.operation_id = too."id"
|
LEFT JOIN plan_manufacturing_order pmo ON pmo."id" = pmoro.mo_id
|
LEFT JOIN basic_part bp ON bp."id" = qupp.degrade_part_id
|
LEFT JOIN basic_staff bs ON bs.staff_no = qupp.create_user
|
) TEMP
|
<if test="ew.emptyOfWhere == false">
|
${ew.customSqlSegment}
|
</if>
|
</select>
|
|
<select id="getById" resultMap="qualityUnqualifiedProcessMap">
|
SELECT
|
qupp.*,
|
qap.system_no,
|
qa.apply_no,
|
qr.report_no,
|
qap.unqualified_arrived,
|
qap.is_qualified,
|
qres.is_used,
|
qap.part_id,
|
COALESCE(qap.replace_part_no, qap.part_no) part_no,
|
COALESCE(qap.replace_part_name, qap.part_desc) part_desc,
|
qap.lot_batch_no,
|
qres."id" AS result_id,
|
qap.remark,
|
qr.report_type,
|
qr.update_user test_user, --检验人员
|
ppo.create_user production_user, --生产人员
|
ppo.create_time production_time, --生产日期
|
bw.workstation_no, --工作站编号
|
bw."name" workstation_name, --工作站名称
|
too."name" operation_name, --工序名称
|
pmo.work_shop,
|
bp.part_name as degrade_part_name,
|
bp.part_no as degrade_part_no,
|
bs.staff_name
|
FROM
|
quality_unqualified_process qupp
|
LEFT JOIN quality_apply_part qap ON qap."id" = qupp.apply_part_id
|
LEFT JOIN quality_apply qa ON qa."id" = qap.apply_id
|
LEFT JOIN quality_report qr ON qr."id" = qap.report_id
|
LEFT JOIN quality_result qres ON qres.system_no = qap.system_no AND qres.apply_type=qa.apply_type
|
LEFT JOIN production_product_output ppo ON qap.system_no = ppo.system_no
|
LEFT JOIN production_product_main ppm ON ppo.product_main_id = ppm."id"
|
LEFT JOIN basic_workstation bw ON ppm.workstation_id = bw."id"
|
LEFT JOIN production_operation_task pot ON ppm.operation_task_id = pot."id"
|
LEFT JOIN plan_manufacturing_order_routing_operation pmoro ON pot.mo_routing_operation_id = pmoro."id"
|
LEFT JOIN technology_operation too ON pmoro.operation_id = too."id"
|
LEFT JOIN plan_manufacturing_order pmo ON pmo."id" = pmoro.mo_id
|
LEFT JOIN basic_part bp ON bp."id" = qupp.degrade_part_id
|
LEFT JOIN basic_staff bs ON bs.staff_no = qupp.create_user
|
WHERE qupp.id = #{id}
|
</select>
|
|
<select id="getOaById" resultType="com.chinaztt.mes.quality.dto.UnqualifiedProcessOaDTO">
|
SELECT
|
qup.*,
|
sdi.description AS apply_type,
|
bp.part_name,
|
bp.part_no,
|
bp.specs,
|
ppo.out_batch_no,
|
bw."name" AS workstation_name,
|
ppo.reel_number,
|
ppo.product_qty,
|
bto."name" AS operation_name,
|
pot.optask_no,
|
qr.report_person,
|
qr.create_time AS report_time,
|
bs.staff_name
|
FROM
|
quality_unqualified_process qup
|
LEFT JOIN quality_apply_part qap ON qap."id" = qup.apply_part_id
|
LEFT JOIN quality_apply qa ON qa."id" = qap.apply_id
|
LEFT JOIN sys_dict_item sdi ON sdi."value" = qa.apply_type AND sdi."type" = 'apply_report_type'
|
LEFT JOIN basic_part bp ON bp."id" = qap.part_id
|
LEFT JOIN production_product_output ppo ON ppo.system_no = qap.system_no
|
LEFT JOIN production_product_main ppm ON ppm."id" = ppo.product_main_id
|
LEFT JOIN basic_workstation bw ON bw."id" = ppm.workstation_id
|
LEFT JOIN production_operation_task pot ON pot."id" = ppm.operation_task_id
|
LEFT JOIN basic_staff bs ON ppo.create_user = bs.staff_no
|
LEFT JOIN technology_operation bto ON bto."id" = qap.operation_id
|
LEFT JOIN quality_report qr ON qr."id" = qap.report_id
|
WHERE qup.id = #{id}
|
</select>
|
|
<select id="getRfOaInfoById" resultType="com.chinaztt.mes.quality.dto.UnqualifiedProcessRfOaDTO">
|
SELECT
|
qup.*,
|
bs.staff_no username,
|
bd.division_name,
|
mo.work_shop,
|
bto.name operationName,
|
bp.part_name,
|
ppo.create_time actual_finish_date,
|
bp.specs,
|
qap.lot_batch_no sn,
|
qap.unqualified_arrived
|
FROM
|
quality_unqualified_process qup
|
LEFT JOIN quality_apply_part qap ON qap."id" = qup.apply_part_id
|
LEFT JOIN basic_part bp ON bp."id" = qap.part_id
|
LEFT JOIN production_product_output ppo ON ppo.system_no = qap.system_no
|
LEFT JOIN production_product_main ppm ON ppm."id" = ppo.product_main_id
|
LEFT JOIN basic_workstation bw ON bw."id" = ppm.workstation_id
|
LEFT JOIN technology_operation bto ON bto."id" = qap.operation_id
|
LEFT JOIN sys_user su ON su.user_id = #{userId}
|
LEFT JOIN basic_staff bs ON bs.id = su.staff_id
|
LEFT JOIN basic_division bd ON bd.id = bs.division_id
|
LEFT JOIN production_operation_task pot ON pot.id = ppm.operation_task_id
|
LEFT JOIN production_operation_task_supply ots ON ots.operation_task_id = pot."id"
|
LEFT JOIN plan_manufacturing_order mo ON mo."id" = ots.mo_id
|
where
|
qup.id = #{id}
|
</select>
|
|
<select id="getExecuteList" resultMap="qualityUnqualifiedProcessMap">
|
SELECT
|
qup.*,
|
qap.system_no,
|
qap.unqualified_arrived,
|
qap.is_qualified,
|
qap.part_id,
|
qap.part_no,
|
qap.part_desc,
|
qap.lot_batch_no,
|
qap.check_length,
|
qap.replace_part_id,
|
qap.replace_part_no,
|
qap.replace_part_name,
|
qa.apply_type,
|
bp.planning_method,
|
ppo.out_batch_no,
|
ppo.ifs_batch_no,
|
pmo.work_shop
|
FROM
|
quality_unqualified_process qup
|
LEFT JOIN quality_apply_part qap ON qap."id" = qup.apply_part_id
|
LEFT JOIN quality_apply qa ON qa."id" = qap.apply_id
|
LEFT JOIN basic_part bp ON bp."id" = qap.part_id
|
LEFT JOIN production_product_output ppo ON ppo.system_no = qap.system_no
|
LEFT JOIN production_product_main ppm ON ppo.product_main_id = ppm."id"
|
LEFT JOIN production_operation_task pot ON ppm.operation_task_id = pot."id"
|
LEFT JOIN plan_manufacturing_order_routing_operation pmoro ON pot.mo_routing_operation_id = pmoro."id"
|
LEFT JOIN plan_manufacturing_order pmo ON pmo."id" = pmoro.mo_id
|
WHERE
|
qup.id IN
|
<foreach collection="ids" item="id" separator="," open="(" close=")">
|
#{id}
|
</foreach>
|
AND qup.state = '03accepted'
|
AND qup.process_mode IS NOT NULL
|
</select>
|
<select id="selectByQualityResultId" resultType="com.chinaztt.mes.quality.entity.UnqualifiedProcess">
|
select qup.*
|
from quality_unqualified_process qup
|
inner join quality_apply_part qap on qup.apply_part_id = qap.id
|
inner join quality_result qr
|
on qap.apply_id = qr.apply_id and qr.part_id = qap.part_id and qr.part_batch_no = qap.lot_batch_no
|
where qr.id = #{id} order by qup.create_time desc;
|
</select>
|
|
|
|
<update id="updateExecuteSn">
|
update quality_unqualified_process set execute_sn =
|
(
|
select out_batch_no from production_product_output where product_main_id in
|
(
|
select ppi.product_main_id from quality_unqualified_process qup
|
LEFT JOIN quality_apply_part qap ON qap."id" = qup.apply_part_id
|
LEFT JOIN production_product_input ppi on ppi.part_batch_no = qap.lot_batch_no
|
where qup.id = #{id} and ppi.input_quantity>0
|
order by ppi.id desc limit 1
|
)
|
limit 1
|
)
|
where id = #{id}
|
</update>
|
|
|
|
|
</mapper>
|