chenlu
2024-06-07 2f640b1038fa331954f78ed1f4317212cf5bb34d
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<?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.example.erp.mapper.pp.DeviceMaintenanceMapper">
    <resultMap id="DeviceMaintenanceMapper" type="com.example.erp.entity.pp.DeviceMaintenance">
        <id column="id" property="id"/>
        <result column="device_id" property="deviceId"/>
        <result column="type" property="type"/>
        <result column="fault_time" property="faultTime"/>
        <result column="fault_reason" property="faultReason"/>
        <result column="maintenance_time" property="maintenanceTime"/>
        <result column="maintenance_illustrate" property="maintenanceIllustrate"/>
        <result column="start_time" property="startTime"/>
        <result column="stop_time" property="stopTime"/>
        <result column="personnel" property="personnel"/>
        <result column="cost" property="cost"/>
 
 
    </resultMap>
    <select id="getBasicData">
        select id
        from sd.basic_data
        where basic_category = 'process'
          and basic_name = #{process}
    </select>
 
<insert id="addMachineMp">
    insert into pp.basic_data_produce(basic_type,basic_name,basic_category,create_time)
    values('device',#{basicName},#{basicId},now())
</insert>
 
    <select id="selectProcessMp">
        select * from sd.basic_data where basic_type='product' and basic_category='process'
    </select>
 
    <select id="selectDeviceMp">
        SELECT
            bdp.id,
            bdp.basic_type,
            bdp.basic_name,
            bd.basic_name AS basic_category
        FROM
            sd.basic_data AS bd
                LEFT JOIN `basic_data_produce` AS bdp ON bd.id = bdp.basic_category
        WHERE
            bd.basic_category = 'process'
          AND bdp.basic_type = 'device'
    </select>
 
    <select id="getDeviceData">
        select id
        from basic_data_produce
        where basic_type = 'device'
          and basic_name = #{deviceName}
    </select>
 
    <insert id="saveMaintenanceAndRepairMp">
        insert into device_maintenance(device_id,device_name,type,fault_time,fault_reason,maintenance_time,
                                       maintenance_illustrate,start_time,stop_time,process,personnel,cost,create_time)
        values (#{deviceId},#{deviceName},#{type},#{faultTime},#{faultReason},#{maintenanceTime},
                #{maintenanceIllustrate},#{stopTime},#{startTime},#{process},#{personnel},#{cost},now())
    </insert>
 
    <select id="selectMaintenanceMp" resultMap="DeviceMaintenanceMapper">
        select id,
               device_id,
               device_name,
               type,
               date(fault_time) as fault_time,
               fault_reason,
               date(maintenance_time) as maintenance_time,
               maintenance_illustrate,
               date(start_time) as start_time,
               date(stop_time) as stop_time,
               process,
               personnel,
               cost
        from device_maintenance
        where DATE_FORMAT((create_time), '%Y-%m-%d') BETWEEN #{ selectTime1 } AND #{ selectTime2 }
    </select>
 
    <delete id="deleteMaintenanceMp">
        delete from device_maintenance where id = #{id}
    </delete>
 
    <select id="selectMachineMp">
        select dm.device_id,dm.device_name,
        if(dm.type=1,'维修','保养') as type,
        (select count(*) from device_maintenance where id = dm.id and type = 1) as faultCount,
        (select count(*) from device_maintenance where id = dm.id and type = 2) as maintenanceCount,
        (select date(fault_time) from device_maintenance where id = dm.id and type = 1 order by fault_time desc limit 1) as faultLastTime,
        (select date(maintenance_time) from device_maintenance where id = dm.id and type = 2 order by maintenance_time desc limit 1) as maintenanceLastTime,
        (select sum(cost) from device_maintenance where id = dm.id and dm.type=1) as faultCost,
        (select sum(cost) from device_maintenance where id = dm.id and dm.type=2) as maintenanceCost,
        dm.process
        from device_maintenance as dm
        group by dm.device_id
 
    </select>
 
    <select id="openSelectIdMp">
    select id,
           device_id,
           device_name,
           type,
           date(fault_time) as fault_time,
           fault_reason,
           date(maintenance_time) as maintenance_time,
           maintenance_illustrate,
           date(start_time) as start_time,
           date(stop_time) as stop_time,
           process,
           personnel,
           cost from device_maintenance where id = #{id}
    </select>
 
    <update id="updateMaintenanceMp">
        update device_maintenance set
        device_name = #{deviceName},
        type = #{type},
        fault_time = #{faultTime},
        fault_reason = #{faultReason},
        maintenance_time = #{maintenanceTime},
        maintenance_illustrate = #{maintenanceIllustrate},
        start_time = #{startTime},
        stop_time = #{stopTime},
        process = #{process},
        personnel = #{personnel},
        cost = #{cost}
        where id = #{id}
    </update>
</mapper>