|  |  |  | 
|---|
|  |  |  | times30, amount31, money31, times31 | 
|---|
|  |  |  | </sql> | 
|---|
|  |  |  | <sql id="Base_Column_List_with_alias"> | 
|---|
|  |  |  | <!--@mbg.generated--> | 
|---|
|  |  |  | #{alias}.id, #{alias}.client_id, #{alias}.`year`, #{alias}.`month`, #{alias}.amount1, #{alias}.money1, #{alias}.times1, #{alias}.amount2, #{alias}.money2, #{alias}.times2, | 
|---|
|  |  |  | #{alias}.amount3, #{alias}.money3, #{alias}.times3, #{alias}.amount4, #{alias}.money4, #{alias}.times4, #{alias}.amount5, #{alias}.money5, #{alias}.times5, #{alias}.amount6, | 
|---|
|  |  |  | #{alias}.money6, #{alias}.times6, #{alias}.amount7, #{alias}.money7, #{alias}.times7, #{alias}.amount8, #{alias}.money8, #{alias}.times8, #{alias}.amount9, #{alias}.money9, | 
|---|
|  |  |  | #{alias}.times9, #{alias}.amount10, #{alias}.money10, #{alias}.times10, #{alias}.amount11, #{alias}.money11, #{alias}.times11, #{alias}.amount12, #{alias}.money12, | 
|---|
|  |  |  | #{alias}.times12, #{alias}.amount13, #{alias}.money13, #{alias}.times13, #{alias}.amount14, #{alias}.money14, #{alias}.times14, #{alias}.amount15, #{alias}.money15, | 
|---|
|  |  |  | #{alias}.times15, #{alias}.amount16, #{alias}.money16, #{alias}.times16, #{alias}.amount17, #{alias}.money17, #{alias}.times17, #{alias}.amount18, #{alias}.money18, | 
|---|
|  |  |  | #{alias}.times18, #{alias}.amount19, #{alias}.money19, #{alias}.times19, #{alias}.amount20, #{alias}.money20, #{alias}.times20, #{alias}.amount21, #{alias}.money21, | 
|---|
|  |  |  | #{alias}.times21, #{alias}.amount22, #{alias}.money22, #{alias}.times22, #{alias}.amount23, #{alias}.money23, #{alias}.times23, #{alias}.amount24, #{alias}.money24, | 
|---|
|  |  |  | #{alias}.times24, #{alias}.amount25, #{alias}.money25, #{alias}.times25, #{alias}.amount26, #{alias}.money26, #{alias}.times26, #{alias}.amount27, #{alias}.money27, | 
|---|
|  |  |  | #{alias}.times27, #{alias}.amount28, #{alias}.money28, #{alias}.times28, #{alias}.amount29, #{alias}.money29, #{alias}.times29, #{alias}.amount30, #{alias}.money30, | 
|---|
|  |  |  | #{alias}.times30, #{alias}.amount31, #{alias}.money31, #{alias}.times31 | 
|---|
|  |  |  | ${alias}.id, ${alias}.client_id, ${alias}.`year`, ${alias}.`month`, ${alias}.amount1, ${alias}.money1, ${alias}.times1, ${alias}.amount2, ${alias}.money2, ${alias}.times2, | 
|---|
|  |  |  | ${alias}.amount3, ${alias}.money3, ${alias}.times3, ${alias}.amount4, ${alias}.money4, ${alias}.times4, ${alias}.amount5, ${alias}.money5, ${alias}.times5, ${alias}.amount6, | 
|---|
|  |  |  | ${alias}.money6, ${alias}.times6, ${alias}.amount7, ${alias}.money7, ${alias}.times7, ${alias}.amount8, ${alias}.money8, ${alias}.times8, ${alias}.amount9, ${alias}.money9, | 
|---|
|  |  |  | ${alias}.times9, ${alias}.amount10, ${alias}.money10, ${alias}.times10, ${alias}.amount11, ${alias}.money11, ${alias}.times11, ${alias}.amount12, ${alias}.money12, | 
|---|
|  |  |  | ${alias}.times12, ${alias}.amount13, ${alias}.money13, ${alias}.times13, ${alias}.amount14, ${alias}.money14, ${alias}.times14, ${alias}.amount15, ${alias}.money15, | 
|---|
|  |  |  | ${alias}.times15, ${alias}.amount16, ${alias}.money16, ${alias}.times16, ${alias}.amount17, ${alias}.money17, ${alias}.times17, ${alias}.amount18, ${alias}.money18, | 
|---|
|  |  |  | ${alias}.times18, ${alias}.amount19, ${alias}.money19, ${alias}.times19, ${alias}.amount20, ${alias}.money20, ${alias}.times20, ${alias}.amount21, ${alias}.money21, | 
|---|
|  |  |  | ${alias}.times21, ${alias}.amount22, ${alias}.money22, ${alias}.times22, ${alias}.amount23, ${alias}.money23, ${alias}.times23, ${alias}.amount24, ${alias}.money24, | 
|---|
|  |  |  | ${alias}.times24, ${alias}.amount25, ${alias}.money25, ${alias}.times25, ${alias}.amount26, ${alias}.money26, ${alias}.times26, ${alias}.amount27, ${alias}.money27, | 
|---|
|  |  |  | ${alias}.times27, ${alias}.amount28, ${alias}.money28, ${alias}.times28, ${alias}.amount29, ${alias}.money29, ${alias}.times29, ${alias}.amount30, ${alias}.money30, | 
|---|
|  |  |  | ${alias}.times30, ${alias}.amount31, ${alias}.money31, ${alias}.times31 | 
|---|
|  |  |  | </sql> | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | select | 
|---|
|  |  |  | count(*) | 
|---|
|  |  |  | from se_client mtb | 
|---|
|  |  |  | <where> | 
|---|
|  |  |  | where mtb.deleted != 1 | 
|---|
|  |  |  | <trim prefix="and" suffixOverrides="and"> | 
|---|
|  |  |  | <if test="name != null and name != ''"> | 
|---|
|  |  |  | mtb.name like concat('%', #{name}, '%') | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </where> | 
|---|
|  |  |  | </trim> | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectDayStatistics" resultType="com.dy.pipIrrGlobal.voSt.VoStClientAmountDay"> | 
|---|
|  |  |  | <select id="selectClientIds4DayStatistics" resultType="com.dy.pipIrrGlobal.voSt.VoStClientIdAmountYearRecord"> | 
|---|
|  |  |  | select | 
|---|
|  |  |  | mtb.clientNum as clientNum, | 
|---|
|  |  |  | mtb.phone as clientPhone, | 
|---|
|  |  |  | mtb.address as clientAddress, | 
|---|
|  |  |  | <include refid="Base_Column_List_with_alias" > | 
|---|
|  |  |  | <property name="alias" value="stTb"/> | 
|---|
|  |  |  | </include> | 
|---|
|  |  |  | mtb.id as clientId | 
|---|
|  |  |  | from se_client mtb | 
|---|
|  |  |  | LEFT JOIN st_client_amount_day stTb on stTb.client_id = mtb.id | 
|---|
|  |  |  | <where> | 
|---|
|  |  |  | <if test = "year != null"> | 
|---|
|  |  |  | stTb.year = #{year, jdbcType=INTEGER} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test = "month != null"> | 
|---|
|  |  |  | AND stTb.month = #{month, jdbcType=INTEGER} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | where mtb.deleted != 1 | 
|---|
|  |  |  | <trim prefix="and" suffixOverrides="and"> | 
|---|
|  |  |  | <if test="name != null and name != ''"> | 
|---|
|  |  |  | AND mtb.name like concat('%', #{name}, '%') | 
|---|
|  |  |  | mtb.name like concat('%', #{name}, '%') | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </where> | 
|---|
|  |  |  | order by mtb.id ASC | 
|---|
|  |  |  | </trim> | 
|---|
|  |  |  | order by mtb.id DESC | 
|---|
|  |  |  | <trim prefix="limit " > | 
|---|
|  |  |  | <if test="start != null and count != null"> | 
|---|
|  |  |  | #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} | 
|---|
|  |  |  | 
|---|
|  |  |  | </trim> | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- ////////////////////////////////// --> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectDayStatistics" resultType="com.dy.pipIrrGlobal.voSt.VoStClientAmountDay"> | 
|---|
|  |  |  | select | 
|---|
|  |  |  | mtb.id as clientId, | 
|---|
|  |  |  | mtb.clientNum as clientNum, | 
|---|
|  |  |  | mtb.name as clientName, | 
|---|
|  |  |  | mtb.address as clientAddress, | 
|---|
|  |  |  | <include refid="Base_Column_List_with_alias" > | 
|---|
|  |  |  | <property name="alias" value="stTb"/> | 
|---|
|  |  |  | </include> | 
|---|
|  |  |  | from se_client mtb | 
|---|
|  |  |  | <if test="clientIdsJson != null and clientIdsJson !=''"> | 
|---|
|  |  |  | INNER JOIN JSON_TABLE( | 
|---|
|  |  |  | <!--'[{"clientId":"37142501020100215"},{"clientId":"37142501020100215"}]'--> | 
|---|
|  |  |  | #{clientIdsJson}, | 
|---|
|  |  |  | '$[*]' COLUMNS ( | 
|---|
|  |  |  | clientId BIGINT PATH '$.clientId' | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | ) clientIdTb ON clientIdTb.clientId = mtb.id | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | LEFT JOIN | 
|---|
|  |  |  | ( | 
|---|
|  |  |  | select * | 
|---|
|  |  |  | from st_client_amount_day | 
|---|
|  |  |  | <where> | 
|---|
|  |  |  | <if test="year != null"> | 
|---|
|  |  |  | `year` = #{year,jdbcType=INTEGER} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test = "month != null"> | 
|---|
|  |  |  | AND month = #{month, jdbcType=INTEGER} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </where> | 
|---|
|  |  |  | ) as stTb on stTb.client_id = mtb.id | 
|---|
|  |  |  | where mtb.deleted != 1 | 
|---|
|  |  |  | order by mtb.id DESC | 
|---|
|  |  |  | <!-- 2025-07-14 因为有clientIdsJson限制了数量,所以不再用limit了 | 
|---|
|  |  |  | <trim prefix="limit " > | 
|---|
|  |  |  | <if test="start != null and count != null"> | 
|---|
|  |  |  | #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </trim> | 
|---|
|  |  |  | --> | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- ////////////////////////////////// --> | 
|---|
|  |  |  | <!-- 统计相关                         --> | 
|---|
|  |  |  | <!-- ////////////////////////////////// --> | 
|---|
|  |  |  | <select id="statisticsByClient" resultType="com.dy.pipIrrGlobal.voSt.VoClientAmountStatistics"> | 
|---|