|  |  | 
 |  |  |       </if> | 
 |  |  |     </trim> | 
 |  |  |   </select> | 
 |  |  |   <select id="selectCountYearStatistics4OneYear" resultType="java.lang.Long"> | 
 |  |  |     select | 
 |  |  |     count(*) | 
 |  |  |     from se_client ctb | 
 |  |  |     INNER JOIN st_client_amount_year cayTb on cayTb.client_id = ctb.id | 
 |  |  |     where ctb.deleted != 1 | 
 |  |  |     <trim prefix="and" suffixOverrides="and"> | 
 |  |  |       <if test="year != null"> | 
 |  |  |         cayTb.`year` = #{year,jdbcType=INTEGER} | 
 |  |  |       </if> | 
 |  |  |       <if test="name != null and name != ''"> | 
 |  |  |         and ctb.name like concat('%', #{name}, '%') | 
 |  |  |       </if> | 
 |  |  |     </trim> | 
 |  |  |   </select> | 
 |  |  |  | 
 |  |  |   <select id="selectClientIds4YearStatistics" resultType="com.dy.pipIrrGlobal.voSt.VoStClientIdAmountYearRecord"> | 
 |  |  |     select | 
 |  |  | 
 |  |  |       </if> | 
 |  |  |     </trim> | 
 |  |  |   </select> | 
 |  |  |  | 
 |  |  |   <select id="selectYearStatistics4OneYear" resultType="com.dy.pipIrrGlobal.voSt.VoStClientAmountYearRecord"> | 
 |  |  |     select | 
 |  |  |     ctb.id as clientId, | 
 |  |  |     ctb.clientNum as clientNum, | 
 |  |  |     ctb.name as clientName, | 
 |  |  |     ctb.address as clientAddress, | 
 |  |  |     cayTb.amount as amount, | 
 |  |  |     cayTb.money as money, | 
 |  |  |     cayTb.times as times | 
 |  |  |     from se_client ctb | 
 |  |  |     INNER JOIN st_client_amount_year cayTb on cayTb.client_id = ctb.id | 
 |  |  |     where ctb.deleted != 1 | 
 |  |  |     <trim prefix="and" suffixOverrides="and"> | 
 |  |  |       <if test="year != null"> | 
 |  |  |         cayTb.`year` = #{year,jdbcType=INTEGER} | 
 |  |  |       </if> | 
 |  |  |       <!-- 2025-07-14 的selectClientIds4YearStatisticssselectClientIds4YearStatistics查询中已经用了name条件 | 
 |  |  |       <if test="name != null and name != ''"> | 
 |  |  |         and ctb.name like concat('%', #{clientName}, '%') | 
 |  |  |       </if> | 
 |  |  |        --> | 
 |  |  |     </trim> | 
 |  |  |     order by ctb.id DESC | 
 |  |  |     <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="selectYearStatistics" resultType="com.dy.pipIrrGlobal.voSt.VoStClientAmountYearRecord"> | 
 |  |  |     select | 
 |  |  | 
 |  |  |         ) | 
 |  |  |       ) clientIdTb ON clientIdTb.clientId = ctb.id | 
 |  |  |     </if> | 
 |  |  |     LEFT JOIN st_client_amount_year cayTb on cayTb.client_id = clientIdTb.clientId | 
 |  |  |     LEFT JOIN | 
 |  |  |     ( | 
 |  |  |       select * | 
 |  |  |       from st_client_amount_year | 
 |  |  |       <where> | 
 |  |  |         <if test="year != null"> | 
 |  |  |           `year` = #{year,jdbcType=INTEGER} | 
 |  |  |         </if> | 
 |  |  |       </where> | 
 |  |  |     ) as cayTb | 
 |  |  |     on cayTb.client_id = clientIdTb.clientId | 
 |  |  |     where ctb.deleted != 1 | 
 |  |  |     <trim prefix="and" suffixOverrides="and"> | 
 |  |  |       <if test="year != null"> | 
 |  |  |         (cayTb.`year` = #{year,jdbcType=INTEGER} or cayTb.`year` is null) | 
 |  |  |       </if> | 
 |  |  |       <!-- 2025-07-14 的selectClientIds4YearStatisticssselectClientIds4YearStatistics查询中已经用了name条件 | 
 |  |  |       <if test="name != null and name != ''"> | 
 |  |  |         and ctb.name like concat('%', #{clientName}, '%') | 
 |  |  | 
 |  |  |        --> | 
 |  |  |     </trim> | 
 |  |  |     order by ctb.id DESC | 
 |  |  |     <!-- 2025-07-14 因为有clientIdsJson限制的数量,所以不再用limit了 | 
 |  |  |     <!-- 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} |