yangys
2024-04-04 2cf2921440e7473ae50796c2cb688f609b3a7995
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<?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>