MachineServiceDaoImplMapper.xml 14.9 KB
<?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="machineServiceDaoImpl">

    <!-- 保存设备信息 add by wuxw 2018-07-03 -->
    <insert id="saveBusinessMachineInfo" parameterType="Map">
        insert into business_machine(machine_mac, machine_id, machine_code, auth_code, operate, machine_version,
                                     community_id, b_id,
                                     machine_name, machine_type_cd, machine_ip, location_type_cd, location_obj_id,
                                     state, direction, heartbeat_time, type_id)
        values (#{machineMac}, #{machineId}, #{machineCode}, #{authCode}, #{operate}, #{machineVersion},
                #{communityId}, #{bId}, #{machineName}, #{machineTypeCd}, #{machineIp},
                #{locationTypeCd}, #{locationObjId}, #{state}, #{direction}, #{heartbeatTime}, #{typeId})
    </insert>

    <!-- 查询设备信息(Business) add by wuxw 2018-07-03 -->
    <select id="getBusinessMachineInfo" parameterType="Map" resultType="Map">
        select t.machine_mac,t.machine_mac machineMac,t.machine_id,t.machine_id machineId,t.machine_code,t.machine_code
        machineCode,t.auth_code,t.auth_code authCode,t.operate,t.machine_version,t.machine_version
        machineVersion,t.community_id,t.community_id communityId,t.b_id,t.b_id bId,t.machine_name,t.machine_name
        machineName,t.machine_type_cd,t.machine_type_cd machineTypeCd,t.machine_ip,t.machine_ip machineIp,
        t.location_type_cd,t.location_obj_id,t.state,t.location_type_cd,t.location_obj_id,t.location_type_cd
        locationTypeCd,t.location_obj_id locationObjId,t.direction,t.heartbeat_time,t.heartbeat_time
        heartbeatTime,t.type_id typeId
        from business_machine t
        where 1 =1
        <if test="machineMac !=null and machineMac != ''">
            and t.machine_mac= #{machineMac}
        </if>
        <if test="machineId !=null and machineId != ''">
            and t.machine_id= #{machineId}
        </if>
        <if test="machineCode !=null and machineCode != ''">
            and t.machine_code= #{machineCode}
        </if>
        <if test="authCode !=null and authCode != ''">
            and t.auth_code= #{authCode}
        </if>
        <if test="operate !=null and operate != ''">
            and t.operate= #{operate}
        </if>
        <if test="machineVersion !=null and machineVersion != ''">
            and t.machine_version= #{machineVersion}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="machineName !=null and machineName != ''">
            and t.machine_name= #{machineName}
        </if>
        <if test="machineTypeCd !=null and machineTypeCd != ''">
            and t.machine_type_cd= #{machineTypeCd}
        </if>
        <if test="machineIp !=null and machineIp != ''">
            and t.machine_ip= #{machineIp}
        </if>
        <if test="typeId !=null and typeId != ''">
            and t.type_id= #{typeId}
        </if>
        <if test="locationTypeCd !=null and locationTypeCd != ''">
            and t.location_type_cd= #{locationTypeCd}
        </if>
        <if test="locationObjId !=null and locationObjId != ''">
            and t.location_obj_id= #{locationObjId}
        </if>
        <if test="state !=null and state != ''">
            and t.state = #{state}
        </if>
        <if test="direction !=null and direction != ''">
            and t.direction = #{direction}
        </if>
    </select>

    <!-- 保存设备信息至 instance表中 add by wuxw 2018-07-03 -->
    <insert id="saveMachineInfoInstance" parameterType="Map">
        insert into machine(
        machine_mac,machine_id,machine_code,auth_code,machine_version,status_cd,
        community_id,b_id,machine_name,machine_type_cd,machine_ip,
        location_type_cd,location_obj_id,state,direction,heartbeat_time,type_id
        ) select
        t.machine_mac,t.machine_id,t.machine_code,t.auth_code,t.machine_version,'0',t.community_id,t.b_id,
        t.machine_name,t.machine_type_cd,t.machine_ip,
        t.location_type_cd,t.location_obj_id,t.state,t.direction,t.heartbeat_time,type_id
        from business_machine t where 1=1
        <if test="machineMac !=null and machineMac != ''">
            and t.machine_mac= #{machineMac}
        </if>
        <if test="machineId !=null and machineId != ''">
            and t.machine_id= #{machineId}
        </if>
        <if test="machineCode !=null and machineCode != ''">
            and t.machine_code= #{machineCode}
        </if>
        <if test="authCode !=null and authCode != ''">
            and t.auth_code= #{authCode}
        </if>
        and t.operate= 'ADD'
        <if test="machineVersion !=null and machineVersion != ''">
            and t.machine_version= #{machineVersion}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="typeId !=null and typeId != ''">
            and t.type_id= #{typeId}
        </if>
        <if test="machineName !=null and machineName != ''">
            and t.machine_name= #{machineName}
        </if>
        <if test="machineTypeCd !=null and machineTypeCd != ''">
            and t.machine_type_cd= #{machineTypeCd}
        </if>
        <if test="machineIp !=null and machineIp != ''">
            and t.machine_ip= #{machineIp}
        </if>
        <if test="locationTypeCd !=null and locationTypeCd != ''">
            and t.location_type_cd= #{locationTypeCd}
        </if>
        <if test="locationObjId !=null and locationObjId != ''">
            and t.location_obj_id= #{locationObjId}
        </if>
        <if test="state !=null and state != ''">
            and t.state = #{state}
        </if>
        <if test="direction !=null and direction != ''">
            and t.direction = #{direction}
        </if>
    </insert>

    <!-- 查询设备信息 add by wuxw 2018-07-03 -->
    <select id="getMachineInfo" parameterType="Map" resultType="Map">
        select t.machine_mac,t.machine_mac machineMac,t.machine_id,t.machine_id machineId,t.machine_code,t.machine_code
        machineCode,t.auth_code,t.auth_code authCode,t.machine_version,t.machine_version
        machineVersion,t.status_cd,t.status_cd statusCd,t.community_id,t.community_id communityId,t.b_id,t.b_id
        bId,t.machine_name,t.machine_name machineName,t.machine_type_cd,t.machine_type_cd
        machineTypeCd,t.machine_ip,t.machine_ip machineIp,td.name machineTypeCdName,
        t.state,c.location_id locationTypeCd, c.location_name locationTypeName, t.location_obj_id locationObjId,
        t.location_type_cd,t.location_obj_id,t.heartbeat_time,t.heartbeat_time heartbeatTime,
        td1.name stateName,t.create_time createTime,t.direction,td3.name directionName,t.type_id typeId
        from machine t
        left join t_dict td on t.machine_type_cd=td.status_cd and td.table_name='machine' and
        td.table_columns='machine_type_cd'
        left join t_dict td1 on t.state = td1.status_cd and td1.table_name='machine' and td1.table_columns='state'
        left join t_dict td3 on t.direction = td3.status_cd and td3.table_name='machine' and
        td3.table_columns='direction'
        left join community_location c on t.location_type_cd = c.location_id and t.status_cd = '0'
        where 1 =1
        <if test="machineMac !=null and machineMac != ''">
            and t.machine_mac= #{machineMac}
        </if>
        <if test="machineId !=null and machineId != ''">
            and t.machine_id= #{machineId}
        </if>
        <if test="machineCode !=null and machineCode != ''">
            and t.machine_code= #{machineCode}
        </if>
        <if test="authCode !=null and authCode != ''">
            and t.auth_code= #{authCode}
        </if>
        <if test="machineVersion !=null and machineVersion != ''">
            and t.machine_version= #{machineVersion}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="machineName !=null and machineName != ''">
            and t.machine_name like '%${machineName}%'
        </if>
        <if test="machineTypeCd !=null and machineTypeCd != ''">
            and t.machine_type_cd= #{machineTypeCd}
        </if>
        <if test="machineIp !=null and machineIp != ''">
            and t.machine_ip= #{machineIp}
        </if>
        <if test="locationTypeCd !=null and locationTypeCd != ''">
            and t.location_type_cd= #{locationTypeCd}
        </if>
        <if test="machineTypeCds != null ">
            and t.machine_type_cd in
            <foreach collection="machineTypeCds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="typeId !=null and typeId != ''">
            and t.type_id= #{typeId}
        </if>
        <if test="locationObjId !=null and locationObjId != ''">
            and t.location_obj_id= #{locationObjId}
        </if>
        <if test="locationObjIds != null ">
            and t.location_obj_id in
            <foreach collection="locationObjIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="state !=null and state != ''">
            and t.state = #{state}
        </if>
        <if test="direction !=null and direction != ''">
            and t.direction = #{direction}
        </if>
        order by t.create_time desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>

    <!-- 修改设备信息 add by wuxw 2018-07-03 -->
    <update id="updateMachineInfoInstance" parameterType="Map">
        update machine t set t.status_cd = #{statusCd}
        <if test="newBId != null and newBId != ''">
            ,t.b_id = #{newBId}
        </if>
        <if test="machineMac !=null and machineMac != ''">
            , t.machine_mac= #{machineMac}
        </if>
        <if test="machineCode !=null and machineCode != ''">
            , t.machine_code= #{machineCode}
        </if>
        <if test="authCode !=null and authCode != ''">
            , t.auth_code= #{authCode}
        </if>
        <if test="machineVersion !=null and machineVersion != ''">
            , t.machine_version= #{machineVersion}
        </if>
        <if test="communityId !=null and communityId != ''">
            , t.community_id= #{communityId}
        </if>
        <if test="machineName !=null and machineName != ''">
            , t.machine_name= #{machineName}
        </if>
        <if test="machineTypeCd !=null and machineTypeCd != ''">
            , t.machine_type_cd= #{machineTypeCd}
        </if>
        <if test="machineIp !=null and machineIp != ''">
            , t.machine_ip= #{machineIp}
        </if>
        <if test="locationTypeCd !=null and locationTypeCd != ''">
            , t.location_type_cd= #{locationTypeCd}
        </if>
        <if test="locationObjId !=null and locationObjId != ''">
            , t.location_obj_id= #{locationObjId}
        </if>
        <if test="state !=null and state != ''">
            , t.state = #{state}
        </if>
        <if test="typeId !=null and typeId != ''">
            , t.type_id = #{typeId}
        </if>
        <if test="direction !=null and direction != ''">
            , t.direction = #{direction}
        </if>
        <if test="heartbeatTime !=null ">
            , t.heartbeat_time = #{heartbeatTime}
        </if>
        where 1=1
        <if test="machineId !=null and machineId != ''">
            and t.machine_id= #{machineId}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
    </update>

    <!-- 查询设备数量 add by wuxw 2018-07-03 -->
    <select id="queryMachinesCount" parameterType="Map" resultType="Map">
        select count(1) count
        from machine t
        left join t_dict td on t.machine_type_cd=td.status_cd and td.table_name='machine' and
        td.table_columns='machine_type_cd'
        left join t_dict td1 on t.state = td1.status_cd and td1.table_name='machine' and td1.table_columns='state'
        left join t_dict td3 on t.direction = td3.status_cd and td3.table_name='machine' and
        td3.table_columns='direction'
        left join community_location c on t.location_type_cd = c.location_id and t.status_cd = '0'
        where 1 =1
        <if test="machineMac !=null and machineMac != ''">
            and t.machine_mac= #{machineMac}
        </if>
        <if test="machineId !=null and machineId != ''">
            and t.machine_id= #{machineId}
        </if>
        <if test="machineCode !=null and machineCode != ''">
            and t.machine_code= #{machineCode}
        </if>
        <if test="authCode !=null and authCode != ''">
            and t.auth_code= #{authCode}
        </if>
        <if test="typeId !=null and typeId != ''">
            and t.type_id= #{typeId}
        </if>
        <if test="machineVersion !=null and machineVersion != ''">
            and t.machine_version= #{machineVersion}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="machineName !=null and machineName != ''">
            and t.machine_name like '%${machineName}%'
        </if>
        <if test="machineTypeCd !=null and machineTypeCd != ''">
            and t.machine_type_cd= #{machineTypeCd}
        </if>
        <if test="machineTypeCds != null ">
            and t.machine_type_cd in
            <foreach collection="machineTypeCds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="machineIp !=null and machineIp != ''">
            and t.machine_ip= #{machineIp}
        </if>
        <if test="locationTypeCd !=null and locationTypeCd != ''">
            and t.location_type_cd= #{locationTypeCd}
        </if>
        <if test="locationObjId !=null and locationObjId != ''">
            and t.location_obj_id= #{locationObjId}
        </if>
        <if test="locationObjIds != null ">
            and t.location_obj_id in
            <foreach collection="locationObjIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="state !=null and state != ''">
            and t.state = #{state}
        </if>
    </select>
</mapper>