chenlu
2024-04-25 f0957ff7692bbf4f721121ed695df01f4c6d640d
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
<?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 * 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 * from device_maintenance where id = #{id}
    </select>
</mapper>