市北互联平台后端仓库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

188 lines
7.2 KiB

4 years ago
<?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.epmet.dao.IcResiUserDao">
4 years ago
<insert id="add">
insert into ${tableName}
(
<foreach collection="map.entrySet()" index="key" item="value" separator=",">
${key}
</foreach>
,DEL_FLAG
,REVISION
,CREATED_TIME
,UPDATED_TIME
) values
(
4 years ago
<foreach collection="map.entrySet()" index="key" item="value" separator=",">
#{value}
</foreach>
,'0'
,'0'
,NOW()
,NOW()
4 years ago
)
</insert>
4 years ago
4 years ago
<update id="upTable">
UPDATE ${tableName}
SET
<foreach collection="map.entrySet()" index="key" item="value" separator=",">
${key} = #{value}
</foreach>
,UPDATED_TIME = NOW()
WHERE id = #{id}
</update>
4 years ago
4 years ago
4 years ago
<select id="selectListMapById" parameterType="map" resultType="map">
select * from ic_resi_user where del_flag='0' and id=#{icResiUserId} and customer_id=#{customerId}
4 years ago
</select>
<select id="selectSubTableRecords" parameterType="map" resultType="map">
4 years ago
select * from ${subTableName} where del_flag='0' and IC_RESI_USER=#{icResiUserId} and customer_id=#{customerId}
4 years ago
</select>
<!-- 列表查询 -->
<sql id="listWhereForPage">
ic_resi_user.DEL_FLAG = '0'
and ic_resi_user.customer_id=#{customerId}
and (ic_resi_user.AGENCY_ID =#{currentStaffAgencyId} or ic_resi_user.pids like concat(#{staffOrgPath},'%'))
<if test="null != conditions and conditions.size() > 0">
<foreach item="subCondition" collection="conditions" open="" separator="" close="">
<if test="null != subCondition.columnValue and subCondition.columnValue.size() > 0">
<if test="subCondition.queryType!= null and subCondition.queryType == 'equal' ">
and ${subCondition.tableName}.${subCondition.columnName} = #{subCondition.columnValue[0]}
</if>
<if test="subCondition.queryType!= null and subCondition.queryType == 'like' ">
and ${subCondition.tableName}.${subCondition.columnName} like concat('%',#{subCondition.columnValue[0]},'%')
</if>
<if test="subCondition.queryType!= null and subCondition.queryType == 'daterange' ">
and ${subCondition.tableName}.${subCondition.columnName} between #{subCondition.columnValue[0]} and #{subCondition.columnValue[1]}
</if>
</if>
</foreach>
</if>
</sql>
4 years ago
<!-- 导出公用where条件 -->
4 years ago
<sql id="listWhere">
ic_resi_user.DEL_FLAG = '0'
and ic_resi_user.customer_id=#{customerId}
<if test="null != conditions and conditions.size() > 0">
<foreach item="subCondition" collection="conditions" open="" separator="" close="">
<if test="null != subCondition.columnValue and subCondition.columnValue.size() > 0">
<if test="subCondition.queryType!= null and subCondition.queryType == 'equal' ">
and ${subCondition.tableName}.${subCondition.columnName} = #{subCondition.columnValue[0]}
</if>
<if test="subCondition.queryType!= null and subCondition.queryType == 'like' ">
and ${subCondition.tableName}.${subCondition.columnName} like concat('%',#{subCondition.columnValue[0]},'%')
</if>
<if test="subCondition.queryType!= null and subCondition.queryType == 'daterange' ">
and ${subCondition.tableName}.${subCondition.columnName} between #{subCondition.columnValue[0]} and #{subCondition.columnValue[1]}
</if>
</if>
</foreach>
</if>
</sql>
<!-- 查询列表用 -->
4 years ago
<select id="selectListResiMap" parameterType="map" resultType="map">
select
ic_resi_user.id as icResiUserId,
ic_resi_user.AGENCY_ID as ORG_ID,
4 years ago
<foreach item="column" collection="resultColumns" open="" separator="," close="">
${column.columnName}
</foreach>
,
GROUP_CONCAT(ic_resi_demand.CATEGORY_CODE) as DEMAND_CATEGORY_IDS,
GROUP_CONCAT(ic_resi_demand_dict.CATEGORY_NAME) as DEMAND_NAME
FROM
ic_resi_user
<if test="null != subTables and subTables.size() > 0">
<foreach item="subTableName" collection="subTables" open="" separator="" close="">
${subTableName}
</foreach>
</if>
left join ic_resi_demand_dict
on(ic_resi_user.customer_id=ic_resi_demand_dict.CUSTOMER_ID
and ic_resi_demand.CATEGORY_CODE=ic_resi_demand_dict.CATEGORY_CODE )
4 years ago
<where>
<include refid="listWhereForPage"></include>
4 years ago
</where>
group by IC_RESI_USER.id
order by ic_resi_user.CREATED_TIME desc
</select>
4 years ago
<update id="updateToDel" parameterType="java.lang.String">
update ic_resi_user set del_flag='1' where id=#{icResiUserId}
</update>
4 years ago
4 years ago
<update id="updateSubTableToDel" parameterType="map">
update ${subTalbeName} set del_flag='1' where IC_RESI_USER=#{icResiUserId}
</update>
4 years ago
<select id="dynamicQuery" parameterType="map" resultType="map">
select
${resultTableName}.*
FROM
ic_resi_user
<if test="null != subTables and subTables.size() > 0">
<foreach item="subTableName" collection="subTables" open="" separator="" close="">
${subTableName}
</foreach>
</if>
<where>
<include refid="listWhere"></include>
</where>
group by IC_RESI_USER.id
order by ic_resi_user.CREATED_TIME desc
</select>
4 years ago
<!-- 查询个人信息 -->
<resultMap id="selectPersonData" type="com.epmet.dto.result.PersonDataResultDTO">
<result column="GZDW" property="workUnit"/>
<result column="ID_CARD" property="idCard"/>
<collection property="financialSituation" ofType="com.epmet.dto.FinancialSituationDTO">
<result column="YSR" property="monthlyIncome"/>
<result column="TXJE" property="retirementAmount"/>
</collection>
</resultMap>
<select id="personData" resultMap="selectPersonData">
SELECT
GZDW AS workUnit,
name,
YSR,
TXJE,
ID_CARD
FROM ic_resi_user
WHERE DEL_FLAG = '0'
AND ID = #{userId}
</select>
<!-- 根据名字,组织查询人 -->
<select id="searchByName" resultType="com.epmet.dto.result.SearchByNameResultDTO">
SET @curRank = #{pageNo};
SELECT
@curRank := @curRank + 1 AS sort,
ID AS userId,
`NAME`,
VILLAGE_ID AS neighborHoodId,
BUILD_ID,
GRID_ID
FROM ic_resi_user
WHERE DEL_FLAG = '0'
AND PIDS LIKE CONCAT('%',#{agencyId},'%')
AND `NAME` LIKE CONCAT('%',#{name},'%')
ORDER BY `NAME`
</select>
4 years ago
</mapper>