OwnerV1ServiceDaoImplMapper.xml 10.3 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="ownerV1ServiceDaoImpl">

    <!-- 保存业主信息信息 add by wuxw 2018-07-03 -->
    <insert id="saveOwnerInfo" parameterType="Map">
        insert into building_owner(id_card, sex, link, owner_type_cd, remark, owner_id, user_id, name, state,
                                   community_id, age, member_id, address,person_type,person_role,concact_person,concact_link,face_url)
        values (#{idCard}, #{sex}, #{link}, #{ownerTypeCd}, #{remark}, #{ownerId}, #{userId}, #{name}, #{state},
                #{communityId}, #{age}, #{memberId}, #{address},#{personType},#{personRole},#{concactPerson},#{concactLink},#{faceUrl})
    </insert>

    <!-- 查询业主信息信息 add by wuxw 2018-07-03 -->
    <select id="getOwnerInfo" parameterType="Map" resultType="Map">
        select t.id_card,t.id_card idCard,t.sex,t.link,t.owner_type_cd,t.owner_type_cd
        ownerTypeCd,t.remark,t.status_cd,t.status_cd statusCd,t.owner_id,t.owner_id ownerId,t.user_id,t.user_id
        userId,t.name,t.state,t.community_id,t.community_id communityId,t.age,t.member_id,t.member_id memberId,
        t.address ,t.person_type personType,t.person_role personRole,t.concact_person concactPerson,td.name ownerTypeName,
        t.concact_link concactLink,t.face_url faceUrl,tdType.name personTypeName,tdRole.name personRoleName
        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
        where 1 =1
        <if test="idCard !=null and idCard != ''">
            and t.id_card= #{idCard}
        </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>
        <if test="sex !=null and sex != ''">
            and t.sex= #{sex}
        </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="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="remark !=null and remark != ''">
            and t.remark= #{remark}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="ownerId !=null and ownerId != ''">
            and t.owner_id= #{ownerId}
        </if>
        <if test="ownerIds !=null">
            and t.owner_id in
            <foreach collection="ownerIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="userId !=null and userId != ''">
            and t.user_id= #{userId}
        </if>
        <if test="name !=null and name != ''">
            and t.name= #{name}
        </if>
        <if test="nameLike !=null and nameLike != ''">
            and t.name like concat('%',#{nameLike},'%')
        </if>
        <if test="state !=null and state != ''">
            and t.state= #{state}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="age !=null and age != ''">
            and t.age= #{age}
        </if>
        <if test="memberId !=null and memberId != ''">
            and t.member_id= #{memberId}
        </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="updateOwnerInfo" parameterType="Map">
        update building_owner t set t.status_cd = #{statusCd}
        <if test="newBId != null and newBId != ''">
            ,t.b_id = #{newBId}
        </if>
        ,t.id_card= #{idCard}
        <if test="sex !=null and sex != ''">
            ,t.sex= #{sex}
        </if>
        <if test="link !=null and link != ''">
            ,t.link= #{link}
        </if>
        <if test="address !=null and address != ''">
            ,t.address= #{address}
        </if>
        <if test="ownerTypeCd !=null and ownerTypeCd != ''">
            ,t.owner_type_cd= #{ownerTypeCd}
        </if>
        <if test="remark !=null and remark != ''">
            ,t.remark= #{remark}
        </if>
        <if test="ownerId !=null and ownerId != ''">
            ,t.owner_id= #{ownerId}
        </if>
        <if test="userId !=null and userId != ''">
            ,t.user_id= #{userId}
        </if>
        <if test="name !=null and name != ''">
            ,t.name= #{name}
        </if>
        <if test="state !=null and state != ''">
            ,t.state= #{state}
        </if>

        <if test="age != ''">
            ,t.age= #{age}
        </if>
        <if test="personType !=null and personType != ''">
            , t.person_type= #{personType}
        </if>
        <if test="personRole !=null and personRole != ''">
            , t.person_role= #{personRole}
        </if>
        <if test="concactPerson !=null and concactPerson != ''">
            , t.concact_person= #{concactPerson}
        </if>
        <if test="concactLink !=null and concactLink != ''">
            , t.concact_link= #{concactLink}
        </if>
        <if test="faceUrl !=null and faceUrl != ''">
            , t.face_url= #{faceUrl}
        </if>
        where 1=1
        <if test="memberId !=null and memberId != ''">
            and t.member_id= #{memberId}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
    </update>

    <!-- 查询业主信息数量 add by wuxw 2018-07-03 -->
    <select id="queryOwnersCount" parameterType="Map" resultType="Map">
        select count(1) count
        from building_owner t
        where 1 =1
        <if test="idCard !=null and idCard != ''">
            and t.id_card= #{idCard}
        </if>
        <if test="sex !=null and sex != ''">
            and t.sex= #{sex}
        </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="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="remark !=null and remark != ''">
            and t.remark= #{remark}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="ownerId !=null and ownerId != ''">
            and t.owner_id= #{ownerId}
        </if>
        <if test="ownerIds !=null">
            and t.owner_id in
            <foreach collection="ownerIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="userId !=null and userId != ''">
            and t.user_id= #{userId}
        </if>
        <if test="name !=null and name != ''">
            and t.name= #{name}
        </if>
        <if test="nameLike !=null and nameLike != ''">
            and t.name like concat('%',#{nameLike},'%')
        </if>
        <if test="state !=null and state != ''">
            and t.state= #{state}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="age !=null and age != ''">
            and t.age= #{age}
        </if>
        <if test="memberId !=null and memberId != ''">
            and t.member_id= #{memberId}
        </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>

    <select id="queryOwnersBindCount" parameterType="Map" resultType="Map">
        select count(DISTINCT t.member_id) count
        from building_owner t
        left join owner_app_user oau on t.community_id = oau.community_id and t.member_id = oau.member_id and
        oau.status_cd = '0'
        where t.status_cd = '0'
        <if test='isBind == "N"'>
            and oau.member_id is null
        </if>
        <if test='isBind == "Y"'>
            and oau.member_id is not null
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
    </select>

    <select id="queryOwnerMembersCount" parameterType="Map" resultType="Map">
        select t.owner_id ownerId,count(1) memberCount
        from
        building_owner t
        where t.status_cd = '0'
        and t.owner_type_cd != '1001'
        and t.owner_id in
        <foreach collection="ownerIds" item="item" open="(" close=")" separator=",">
            #{item}
        </foreach>
        group by t.owner_id
    </select>


</mapper>