李林
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
<?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.equipment.mapper.EquipmentMapper">
 
    <resultMap id="equipmentMap" type="com.chinaztt.mes.equipment.dto.EquipmentDTO">
        <id property="id" column="id"/>
        <result property="number" column="number"/>
        <result property="name" column="name"/>
        <result property="factoryId" column="factory_id"/>
        <result property="position" column="position"/>
        <result property="email" column="email"/>
        <result property="supplier" column="supplier"/>
        <result property="manufacturer" column="manufacturer"/>
        <result property="typeSpecification" column="type_specification"/>
        <result property="manufactureDate" column="manufacture_date"/>
        <result property="installDate" column="install_date"/>
        <result property="state" column="state"/>
        <result property="description" column="description"/>
        <result property="factoryName" column="factory_name"></result>
        <result property="disabled" column="disabled"></result>
        <result property="key" column="id"></result>
        <result property="label" column="name"></result>
        <result property="workshop" column="workshop"></result>
    </resultMap>
 
    <sql id="Equipment">
        SELECT equipment_equipment.*,basic_factory.factory_name
        FROM equipment_equipment
                 LEFT JOIN basic_factory ON equipment_equipment.factory_id = basic_factory.id
        WHERE equipment_equipment.active = TRUE
    </sql>
 
    <select id="getEquipmentPage" resultMap="equipmentMap">
        <include refid="Equipment"/>
        <if test="ew.emptyOfWhere == false">
            and ${ew.SqlSegment}
        </if>
    </select>
 
    <select id="toResource" resultMap="equipmentMap">
        SELECT equipment_equipment.*,basic_factory.factory_name
        FROM
            equipment_equipment,
            basic_factory
        WHERE
            NOT EXISTS(
                    SELECT aps_resource.resource_no
                    FROM aps_resource
                    WHERE aps_resource.resource_no = equipment_equipment."number")
          AND
            basic_factory."id" = equipment_equipment.factory_id
    </select>
 
    <update id="upEquipDate">
        UPDATE equipment_equipment
        SET number = NULL
        WHERE id = #{id}
    </update>
 
    <select id="getNoWorkstationEquipment" resultMap="equipmentMap">
        SELECT coalesce(tempa.disabled, FALSE) disabled,ee.*
        FROM equipment_equipment ee
                 LEFT JOIN
                 (SELECT bwe.equipment_id,TRUE disabled
                  FROM basic_workstation_equipment bwe
                  WHERE bwe.workstation_id != #{id}) tempa ON ee."id" = tempa.equipment_id
                 LEFT JOIN basic_workstation A ON ee.factory_id = A.factory_id
        WHERE A."id" = #{id} and ee.active = true
    </select>
 
    <select id="getEquipmentByFactoryId" resultMap="equipmentMap">
        SELECT COALESCE
                   (tempa.disabled, FALSE) disabled,
               ee.*
        FROM
            equipment_equipment ee
                LEFT JOIN (SELECT bwe.equipment_id, TRUE disabled FROM basic_workstation_equipment bwe WHERE bwe.workstation_id != NULL) tempa ON ee."id" = tempa.equipment_id
        WHERE ee.factory_id = #{id}
    </select>
 
    <select id="getFactory" resultType="com.chinaztt.mes.equipment.vo.FactoryVO">
        SELECT A.*
        FROM basic_factory A
    </select>
 
    <select id="getEquipmentPageByWorkstation" resultMap="equipmentMap">
        SELECT ee.*
        FROM
        equipment_equipment ee
        LEFT JOIN basic_workstation_equipment bwe on bwe.equipment_id = ee."id"
        WHERE bwe.workstation_id = #{id} AND ee.active = TRUE
    </select>
</mapper>