liurunyu
12 小时以前 bdb2f52b04d53f4e0faaa384238244f253b5334f
pipIrr-platform/pipIrr-global/src/main/resources/mapper/StClientAmountDayMapper.xml
@@ -1214,27 +1214,14 @@
    </trim>
  </select>
  <select id="selectDayStatistics" resultType="com.dy.pipIrrGlobal.voSt.VoStClientAmountDay">
  <select id="selectClientIds4DayStatistics" resultType="com.dy.pipIrrGlobal.voSt.VoStClientIdAmountYearRecord">
    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>
    mtb.id as clientId
    from se_client mtb
    LEFT JOIN st_client_amount_day stTb on stTb.client_id = mtb.id
    where mtb.deleted != 1
    <trim prefix="and" suffixOverrides="and">
      <if test = "year != null">
        stTb.year = #{year, jdbcType=INTEGER}
      </if>
      <if test = "month != null">
        AND stTb.month = #{month, jdbcType=INTEGER}
      </if>
      <if test="name != null and name != ''">
        AND mtb.name like concat('%', #{name}, '%')
        mtb.name like concat('%', #{name}, '%')
      </if>
    </trim>
    order by mtb.id DESC
@@ -1245,7 +1232,51 @@
    </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">