<?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.qianwen.smartman.modules.coproduction.mapper.PlanProcessMapper">
|
|
<select id="getProcessByCraftIdAndVersionId" resultType="com.qianwen.smartman.modules.coproduction.dto.PlanProcessInfoDTO">
|
SELECT
|
bpcp.sort,
|
bpcp.process_name as name,
|
bpcp.process_code as code,
|
bpcp.standard_time,
|
bpcp.prepare_time,
|
bpcp.disassembly_time,
|
bpcp.transport_time,
|
a.workstationId,
|
a.workstationName,
|
bpcp.process_id,
|
bpcp.program_id,
|
bpcp.program_name,
|
bpcp.main_sequence_id,
|
bpcp.bag_id as artBagId,
|
bpcp.bag_name as artBagName,
|
bpcp.whether_parallel,
|
bpcp.whether_test,
|
bpcp.id as craftProcessId
|
FROM
|
(SELECT
|
pcp.version_id as versionId,
|
pcp.id AS pcpId,
|
<if test="_databaseId=='mysql'">
|
GROUP_CONCAT( w.id ORDER BY w.id SEPARATOR ',' ) AS workstationId,
|
GROUP_CONCAT( w.NAME ORDER BY w.NAME SEPARATOR ',' ) AS workstationName
|
</if>
|
<if test="_databaseId=='dm'">
|
WM_CONCAT( w.id) AS workstationId,
|
WM_CONCAT( w.NAME) AS workstationName
|
</if>
|
<if test="_databaseId=='oracle'">
|
LISTAGG ( w.id, ',' ) WITHIN GROUP ( ORDER BY w.id ) AS workstationId,
|
LISTAGG ( w.NAME, ',' ) WITHIN GROUP ( ORDER BY w.NAME ) AS workstationName
|
</if>
|
FROM
|
blade_craft_routing cr
|
LEFT JOIN blade_production_craft_version pcv ON cr.id = pcv.craft_id
|
LEFT JOIN blade_production_craft_process pcp ON pcp.version_id = pcv.id
|
LEFT JOIN blade_process_association pa ON pcp.process_id = pa.process_id
|
LEFT JOIN blade_workstation w ON w.id = pa.biz_id
|
WHERE
|
cr.id = #{craftId}
|
AND pcv.id=#{versionId}
|
AND cr.is_deleted = 0
|
AND pcv.is_deleted = 0
|
AND pcp.is_deleted = 0
|
GROUP BY
|
pcp.version_id,pcp.process_id,pcp.id
|
)a LEFT JOIN blade_production_craft_process bpcp ON bpcp.id = a.pcpId
|
WHERE
|
bpcp.is_deleted = 0
|
</select>
|
<select id="listByPlanId" resultType="com.qianwen.smartman.modules.coproduction.vo.PlanProcessVO">
|
select bpp.*,
|
bp.type workType,
|
bd.dict_value workTypeLabel
|
from blade_plan_process bpp
|
left join blade_process bp on bpp.code = bp.code and bp.is_deleted = 0
|
left join blade_dict bd on bd.code = 'work_type' and bd.dict_key = bp.type and bd.is_deleted = 0
|
where bpp.plan_id = #{planId}
|
and bpp.is_deleted = 0
|
order by bpp.sort
|
</select>
|
</mapper>
|