wuxw
2024-09-12 7935724516cb699835da888d59cd5b7bec5c6049
java110-db/src/main/resources/mapper/user/OwnerServiceDaoImplMapper.xml
old mode 100644 new mode 100755
@@ -1,25 +1,22 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="ownerServiceDaoImpl">
    <!-- 保存业主信息 add by wuxw 2018-07-03 -->
    <insert id="saveBusinessOwnerInfo" parameterType="Map">
        insert into business_building_owner(
        operate,sex,name,link,remark,owner_id,b_id,user_id,age,member_id,owner_type_cd,community_id,id_card,state
        ) values (
        #{operate},#{sex},#{name},#{link},#{remark},#{ownerId},#{bId},#{userId},#{age},#{memberId},#{ownerTypeCd},#{communityId},#{idCard},#{state}
        )
        insert into business_building_owner(operate, sex, name, link, remark, owner_id, b_id, user_id, age, member_id,
                                            owner_type_cd, community_id, id_card, state, owner_flag, address)
        values (#{operate}, #{sex}, #{name}, #{link}, #{remark}, #{ownerId}, #{bId}, #{userId}, #{age}, #{memberId},
                #{ownerTypeCd}, #{communityId}, #{idCard}, #{state}, #{ownerFlag}, #{address})
    </insert>
    <!-- 查询业主信息(Business) add by wuxw 2018-07-03 -->
    <select id="getBusinessOwnerInfo" parameterType="Map" resultType="Map">
        select t.operate,t.sex,t.name,t.link,t.remark,t.owner_id,t.owner_id ownerId,t.b_id,t.b_id bId,
        t.user_id,t.user_id userId,t.age,t.member_id,t.member_id memberId,t.owner_type_cd,
        t.owner_type_cd ownerTypeCd,t.community_id,t.community_id communityId,
        t.id_card, t.id_card idCard,t.state
        t.owner_type_cd ownerTypeCd,t.community_id,t.community_id communityId,t.owner_flag,t.owner_flag ownerFlag,
        t.id_card, t.id_card idCard,t.state,t.address
        from business_building_owner t
        where 1 =1
        <if test="operate !=null and operate != ''">
@@ -64,16 +61,17 @@
        <if test="ownerTypeCd !=null and ownerTypeCd != ''">
            and t.owner_type_cd= #{ownerTypeCd}
        </if>
        <if test="address != null and address != ''">
            and t.address= #{address}
        </if>
    </select>
    <!-- 保存业主信息至 instance表中 add by wuxw 2018-07-03 -->
    <insert id="saveOwnerInfoInstance" parameterType="Map">
        insert into building_owner(
        sex,name,link,status_cd,remark,owner_id,b_id,user_id,age,member_id,owner_type_cd,community_id,id_card,state
        sex,name,link,status_cd,remark,owner_id,b_id,user_id,age,member_id,owner_type_cd,community_id,id_card,state,owner_flag,address
        ) select t.sex,t.name,t.link,'0',t.remark,t.owner_id,t.b_id,t.user_id,t.age,t.member_id,t.owner_type_cd,
        t.community_id communityId,t.id_card,state
        t.community_id communityId,t.id_card,state,t.owner_flag,t.address
        from business_building_owner t where 1=1
        and t.operate= 'ADD'
        <if test="sex !=null">
@@ -115,8 +113,10 @@
        <if test="state !=null and state != ''">
            and t.state= #{state}
        </if>
        <if test="address !=null and address != ''">
            and t.address= #{address}
        </if>
    </insert>
    <!-- 查询业主信息 add by wuxw 2018-07-03 -->
    <select id="getOwnerInfo" parameterType="Map" resultType="Map">
@@ -124,39 +124,59 @@
        t.owner_id,t.owner_id ownerId,t.b_id,t.b_id bId,
        t.user_id,t.user_id userId,t.age,t.member_id,t.member_id memberId,t.owner_type_cd,
        t.owner_type_cd ownerTypeCd,t.create_time createTime,t.community_id,
        t.community_id communityId,t.id_card, t.id_card idCard,t.state,td.name ownerTypeName
        from building_owner t,t_dict td
        t.community_id communityId,t.id_card, t.id_card idCard,t.state,td.name ownerTypeName,
        t.owner_flag,t.owner_flag ownerFlag,t.address,t.person_type personType,t.person_role personRole,
        t.concact_person concactPerson, t.concact_link concactLink,t.face_url faceUrl,td.name ownerTypeName,
        tdType.name personTypeName,tdRole.name personRoleName
        <if test="roomIds != null">
            , borr.room_id roomId
        </if>
        from building_owner t
        left join t_dict td on td.table_name = 'building_owner' and td.`table_columns` = 'owner_type_cd' and td.status_cd = t.owner_type_cd
        left join t_dict tdType on tdType.table_name = 'building_owner' and tdType.`table_columns` = 'person_type' and tdType.status_cd = t.person_type
        left join t_dict tdRole on tdRole.table_name = 'building_owner' and tdRole.`table_columns` = 'person_role' and tdRole.status_cd = t.person_role
        <if test="roomId != null and roomId != ''">
            ,building_owner_room_rel borr
            left join building_owner_room_rel borr on borr.status_cd = '0' and t.owner_id = borr.owner_id
        </if>
        <if test="roomIds != null ">
            ,building_owner_room_rel borr
            left join building_owner_room_rel borr on t.owner_id = borr.owner_id and borr.status_cd = t.status_cd
        </if>
        where 1 =1
        where 1 = 1
        <if test="roomId != null and roomId != ''">
            and t.owner_id = borr.owner_id
            and borr.status_cd = '0'
            and borr.room_id = #{roomId}
        </if>
        <if test="roomIds != null">
            and t.owner_id = borr.owner_id
            and borr.status_cd = '0'
            and borr.room_id in
            <foreach collection="roomIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        and td.table_name = 'building_owner'
        and td.`table_columns` = 'owner_type_cd'
        and td.status_cd = t.owner_type_cd
        <if test="personType !=null and personType != ''">
            and t.person_type= #{personType}
        </if>
        <if test="personRole !=null and personRole != ''">
            and t.person_role= #{personRole}
        </if>
        <if test="concactPerson !=null and concactPerson != ''">
            and t.concact_person= #{concactPerson}
        </if>
        <if test="concactLink !=null and concactLink != ''">
            and t.concact_link= #{concactLink}
        </if>
        <if test="sex !=null">
            and t.sex= #{sex}
        </if>
        <if test="name !=null and name != ''">
            and t.name like concat('%',#{name},'%')
        </if>
        <if test="nameLike !=null and nameLike != ''">
            and t.name like concat('%',#{nameLike},'%')
        </if>
        <if test="link !=null and link != ''">
            and t.link= #{link}
        </if>
        <if test="address !=null and address != ''">
            and t.address= #{address}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
@@ -176,8 +196,8 @@
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="userId !=null and userId != ''">
            and t.user_id= #{userId}
        <if test="ownerFlag !=null and ownerFlag != ''">
            and t.owner_flag= #{ownerFlag}
        </if>
        <if test="age !=null and age != ''">
            and t.age= #{age}
@@ -207,28 +227,24 @@
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
    <!-- 查询业主信息 add by wuxw 2018-07-03 -->
    <select id="getOwnerInfoCount" parameterType="Map" resultType="Map">
        select count(1) count
        from building_owner t
        left join t_dict td on td.table_name = 'building_owner' and td.`table_columns` = 'owner_type_cd' and td.status_cd = t.owner_type_cd
        <if test="roomId != null and roomId != ''">
            ,building_owner_room_rel borr
            left join building_owner_room_rel borr on borr.status_cd = '0' and t.owner_id = borr.owner_id
        </if>
        <if test="roomIds != null ">
            ,building_owner_room_rel borr
            left join building_owner_room_rel borr on t.owner_id = borr.owner_id and borr.status_cd = t.status_cd
        </if>
        where 1 =1
        where 1 = 1
        <if test="roomId != null and roomId != ''">
            and t.owner_id = borr.owner_id
            and borr.status_cd = '0'
            and borr.room_id = #{roomId}
        </if>
        <if test="roomIds != null">
            and t.owner_id = borr.owner_id
            and borr.status_cd = '0'
            and borr.room_id in
            <foreach collection="roomIds" item="item" open="(" close=")" separator=",">
                #{item}
@@ -240,8 +256,14 @@
        <if test="name !=null and name != ''">
            and t.name like concat('%',#{name},'%')
        </if>
        <if test="nameLike !=null and nameLike != ''">
            and t.name like concat('%',#{nameLike},'%')
        </if>
        <if test="link !=null and link != ''">
            and t.link= #{link}
        </if>
        <if test="address !=null and address != ''">
            and t.address= #{address}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
@@ -261,8 +283,8 @@
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="userId !=null and userId != ''">
            and t.user_id= #{userId}
        <if test="ownerFlag !=null and ownerFlag != ''">
            and t.owner_flag= #{ownerFlag}
        </if>
        <if test="age !=null and age != ''">
            and t.age= #{age}
@@ -282,9 +304,25 @@
        <if test="ownerTypeCd !=null and ownerTypeCd != ''">
            and t.owner_type_cd= #{ownerTypeCd}
        </if>
        <if test="ownerTypeCds != null">
            and t.owner_type_cd in
            <foreach collection="ownerTypeCds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="personType !=null and personType != ''">
            and t.person_type= #{personType}
        </if>
        <if test="personRole !=null and personRole != ''">
            and t.person_role= #{personRole}
        </if>
        <if test="concactPerson !=null and concactPerson != ''">
            and t.concact_person= #{concactPerson}
        </if>
        <if test="concactLink !=null and concactLink != ''">
            and t.concact_link= #{concactLink}
        </if>
    </select>
    <!-- 修改业主信息 add by wuxw 2018-07-03 -->
    <update id="updateOwnerInfoInstance" parameterType="Map">
@@ -300,6 +338,9 @@
        </if>
        <if test="link !=null and link != ''">
            , t.link= #{link}
        </if>
        <if test="address !=null and address != ''">
            , t.address= #{address}
        </if>
        <if test="remark !=null and remark != ''">
            , t.remark= #{remark}
@@ -329,7 +370,6 @@
        <if test="memberId !=null and memberId != ''">
            and t.member_id= #{memberId}
        </if>
    </update>
    <!-- 查询业主数量 add by wuxw 2018-07-03 -->
@@ -345,6 +385,9 @@
        </if>
        <if test="link !=null and link != ''">
            and t.link= #{link}
        </if>
        <if test="address !=null and address != ''">
            and t.address= #{address}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
@@ -364,8 +407,8 @@
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="userId !=null and userId != ''">
            and t.user_id= #{userId}
        <if test="ownerFlag !=null and ownerFlag != ''">
            and t.owner_flag= #{ownerFlag}
        </if>
        <if test="age !=null and age != ''">
            and t.age= #{age}
@@ -379,8 +422,12 @@
        <if test="ownerTypeCd !=null and ownerTypeCd != ''">
            and t.owner_type_cd= #{ownerTypeCd}
        </if>
        <if test="ownerTypeCds != null ">
            and t.owner_type_cd in
            <foreach collection="ownerTypeCds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
    </select>
    <!-- 查询业主数量 add by wuxw 2018-07-03 -->
@@ -398,6 +445,9 @@
        <if test="link !=null and link != ''">
            and t.link= #{link}
        </if>
        <if test="address !=null and address != ''">
            and t.address= #{address}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
@@ -416,8 +466,8 @@
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="userId !=null and userId != ''">
            and t.user_id= #{userId}
        <if test="ownerFlag !=null and ownerFlag != ''">
            and t.owner_flag= #{ownerFlag}
        </if>
        <if test="age !=null and age != ''">
            and t.age= #{age}
@@ -428,18 +478,20 @@
        <if test="ownerTypeCd !=null and ownerTypeCd != ''">
            and t.owner_type_cd= #{ownerTypeCd}
        </if>
        <if test="ownerTypeCds != null ">
            and t.owner_type_cd in
            <foreach collection="ownerTypeCds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
    </select>
    <!-- 查询业主信息 add by wuxw 2018-07-03 -->
    <select id="getOwnerInfoByCondition" parameterType="Map" resultType="Map">
        select t.sex,t.name,t.link,t.status_cd,t.status_cd statusCd,t.remark,t.owner_id,t.owner_id ownerId,t.b_id,t.b_id
        bId,
        t.user_id,t.user_id userId,t.age,t.member_id,t.member_id memberId,
        bId,t.user_id,t.user_id userId,t.age,t.member_id,t.member_id memberId,
        t.owner_type_cd,t.owner_type_cd ownerTypeCd,t.community_id,
        t.community_id communityId,t.id_card, t.id_card idCard
        t.community_id communityId,t.id_card, t.id_card idCard,t.address
        FROM building_owner t
        WHERE
        t.`status_cd` = '0'
@@ -452,6 +504,9 @@
        <if test="link !=null and link != ''">
            and t.link= #{link}
        </if>
        <if test="address !=null and address != ''">
            and t.address= #{address}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
@@ -470,8 +525,8 @@
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="userId !=null and userId != ''">
            and t.user_id= #{userId}
        <if test="ownerFlag !=null and ownerFlag != ''">
            and t.owner_flag= #{ownerFlag}
        </if>
        <if test="age !=null and age != ''">
            and t.age= #{age}
@@ -488,35 +543,38 @@
        <if test="ownerTypeCd !=null and ownerTypeCd != ''">
            and t.owner_type_cd= #{ownerTypeCd}
        </if>
        <if test="ownerTypeCds != null ">
            and t.owner_type_cd in
            <foreach collection="ownerTypeCds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        order by t.create_time desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
    <!-- 查询未入驻业主 总数 -->
    <select id="queryNoEnterRoomOwnerCount" parameterType="Map" resultType="Map">
        SELECT
        COUNT(1) count
        FROM
        building_owner_room_rel a,
        building_owner o,
        s_community_member m
        WHERE a.`state` IN ('2001', '2003')
        AND a.`owner_id` = o.`owner_id`
        AND o.`owner_id` = m.`member_id`
        AND m.`member_type_cd` = '390001200005'
        AND m.`community_id` = #{communityId}
        AND a.`status_cd` = '0'
        AND o.`status_cd` = '0'
        AND m.`status_cd` = '0'
        select COUNT(1) count
        from building_owner o
            left join building_owner_room_rel orr
        on o.owner_id = orr.owner_id and orr.status_cd = '0'
        where o.status_cd = '0'
          and o.owner_type_cd = '1001'
          and o.community_id = #{communityId}
          and orr.rel_id is null
    </select>
    <!-- queryOwnersByRoom -->
    <!-- 根据房屋查询业主信息 -->
    <select id="queryOwnersByRoom" parameterType="Map" resultType="Map">
        SELECT t.sex,t.name,t.link,t.status_cd,t.status_cd statusCd,t.remark,t.owner_id,t.owner_id ownerId,t.b_id,t.b_id
        bId,
        t.user_id,t.user_id userId,t.age,t.member_id,t.member_id memberId,t.owner_type_cd,t.owner_type_cd ownerTypeCd,
        r.`room_id` roomId,r.`room_num` roomNum,t.community_id,t.community_id communityId,t.id_card, t.id_card idCard
        bId,t.user_id,t.user_id userId,t.age,t.member_id,t.member_id memberId,t.owner_type_cd,t.owner_type_cd
        ownerTypeCd,
        r.`room_id` roomId,r.`room_num` roomNum,t.community_id,t.community_id communityId,t.id_card, t.id_card
        idCard,orr.start_time startTime ,orr.end_time endTime,t.address
        FROM building_room r,building_owner_room_rel orr,building_owner t
        WHERE r.`room_id` = orr.`room_id`
        AND orr.`owner_id` = t.`owner_id`
@@ -532,6 +590,7 @@
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        and t.owner_type_cd = '1001'
        AND r.`status_cd` = '0'
        AND orr.`status_cd` = '0'
        AND t.`status_cd` = '0'
@@ -539,9 +598,8 @@
    <!-- 根据停车位查询 -->
    <select id="queryOwnersByParkingSpace" parameterType="Map" resultType="Map">
        select ps.num,ps.ps_id psId,t.sex,t.name,t.link,t.status_cd,t.status_cd statusCd,t.remark,t.owner_id,t.owner_id
        ownerId,t.b_id,t.b_id bId,
        ownerId,t.b_id,t.b_id bId,t.address,
        t.user_id,t.user_id userId,t.age,t.member_id,t.member_id memberId,
        t.owner_type_cd,t.owner_type_cd ownerTypeCd,t.id_card, t.id_card idCard
        from p_parking_space ps , owner_car oc,building_owner t
@@ -549,6 +607,7 @@
        and oc.owner_id = t.owner_id
        AND oc.`status_cd` = '0'
        AND ps.`status_cd` = '0'
        and oc.car_type_cd='1001'
        AND t.`status_cd` = '0'
        <if test="psIds != null ">
            and ps.ps_id in
@@ -559,8 +618,38 @@
        <if test="psId !=null and psId != ''">
            AND ps.`ps_id` = #{psId}
        </if>
    </select>
    <select id="queryOwnerLogsByRoom" parameterType="Map" resultType="Map">
        SELECT
        bo.owner_id ownerId,
        bo.`name`,
        bo.link,
        t.start_time startTime,
        t.end_time endTime,
        t.create_time createTime,
        t.room_id roomId
        FROM
        building_owner_room_rel t
        INNER JOIN building_owner bo ON t.owner_id = bo.owner_id AND bo.status_cd = '0' AND bo.community_id =
        #{communityId}
        WHERE
        bo.owner_type_cd = '1001'
        AND t.room_id = #{roomId}
        ORDER BY
        t.create_time DESC
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
    <select id="queryOwnerLogsCountByRoom" parameterType="Map" resultType="Map">
        select COUNT(1) count
        from building_owner_room_rel t
            inner join building_owner bo
        on t.owner_id = bo.owner_id and bo.status_cd = '0' and bo.community_id = #{communityId}
        where bo.owner_type_cd = '1001'
          and t.room_id = #{roomId}
    </select>
</mapper>