李林
2023-10-07 658d4927d468c47208fd012d9128b09249c07eff
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?xml version="1.0" encoding="UTF-8"?>
 
<!--
  ~
  ~      Copyright (c) 2018-2025, ztt All rights reserved.
  ~
  ~  Redistribution and use in source and binary forms, with or without
  ~  modification, are permitted provided that the following conditions are met:
  ~
  ~ Redistributions of source code must retain the above copyright notice,
  ~  this list of conditions and the following disclaimer.
  ~  Redistributions in binary form must reproduce the above copyright
  ~  notice, this list of conditions and the following disclaimer in the
  ~  documentation and/or other materials provided with the distribution.
  ~  Neither the name of the pig4cloud.com developer nor the names of its
  ~  contributors may be used to endorse or promote products derived from
  ~  this software without specific prior written permission.
  ~  Author: ztt
  ~
  -->
 
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 
<mapper namespace="com.chinaztt.mes.technology.mapper.RoutingOperationMapper">
 
    <resultMap id="routingOperationMap" type="com.chinaztt.mes.technology.dto.RoutingOperationDTO">
        <id property="id" column="id"/>
        <result property="routingId" column="routing_id"/>
        <result property="operationId" column="operation_id"/>
        <result property="productionCounting" column="production_counting"/>
        <result property="daq" column="daq"/>
        <result property="semiFinished" column="semi_finished"/>
        <result property="inspection" column="inspection"/>
        <result property="autoInspection" column="auto_inspection"/>
        <result property="materialCost" column="material_cost"/>
        <result property="loc" column="loc"/>
        <result property="isMaster" column="is_master"/>
        <result property="partId" column="part_id"/>
        <result property="partName" column="part_name"/>
        <result property="operationNo" column="operation_no"/>
        <result property="operationName" column="operation_name"/>
        <result property="reserved" column="reserved"/>
        <result property="remark" column="remark"/>
        <result property="unit" column="unit"/>
        <result property="workCenter" column="work_center"/>
        <result property="machSetupTime" column="mach_setup_time"/>
        <result property="machRunFactor" column="mach_run_factor"/>
        <result property="laborClassNo" column="labor_class_no"/>
        <result property="laborRunFactor" column="labor_run_factor"/>
        <result property="laborSetupTime" column="labor_setup_time"/>
        <result property="runTimeCodeDb" column="run_time_code_db"/>
        <result property="crewSize" column="crew_size"/>
        <result property="operationOrder" column="operation_order"/>
        <result property="isLast" column="is_last"/>
    </resultMap>
 
 
    <select id="getDtoListByRoutingId" resultMap="routingOperationMap">
        SELECT
            ro.*,
            bp.part_name,
            bp.unit,
            o.operation_no,
            o."name" operation_name
        FROM
            technology_routing_operation ro
                LEFT JOIN basic_part bp ON bp."id" = ro.part_id,
            technology_operation o
        WHERE
            ro.routing_id = #{routingId}
          AND ro.operation_id = o."id"
          AND o.active = TRUE
    </select>
 
    <select id="getDtoByPk" resultMap="routingOperationMap">
        SELECT
            ro.*,
            o.operation_no,
            o."name" operation_name
        FROM
            technology_routing_operation ro,
            technology_operation o
        WHERE
            ro.id = #{id}
          AND ro.operation_id = o."id"
          AND o.active = TRUE
    </select>
 
    <select id="checkOperationPartByRoutingId" resultType="java.lang.Long">
        SELECT tro."id"
        FROM technology_routing_operation tro
        WHERE tro.part_id IS NULL
          AND tro.routing_id = #{routingId}
    </select>
 
    <select id="checkMasterOperationByRoutingId" resultType="java.lang.Long">
        SELECT tro."id"
        FROM technology_routing_operation tro
        WHERE tro.is_master = TRUE
          AND tro.routing_id = #{routingId}
    </select>
 
    <select id="findByProductMainId" resultType="com.chinaztt.mes.technology.entity.RoutingOperation">
        SELECT tro.*
        FROM production_product_main ppm
        LEFT JOIN production_operation_task pot ON pot."id" = ppm.operation_task_id
        LEFT JOIN technology_routing_operation tro ON tro."id" = pot.routing_operation_id
        WHERE ppm."id" = #{productMainId}
    </select>
</mapper>