platformx-business-finance-biz/src/main/resources/mapper/ProductMapper.xml
@@ -67,11 +67,27 @@
         del_flag = '0'
      <if test="queryDTO.productName !=null and queryDTO.productName !=''">
         and ( t.product_name LIKE CONCAT('%', #{queryDTO.productName}, '%') or
         t.erp_code LIKE CONCAT('%', #{queryDTO.productName}, '%'))
         t.erp_code LIKE CONCAT('%', #{queryDTO.productName}, '%')
         <if test="queryDTO.productId != null and queryDTO.productId.size() > 0">
            or t.id IN
            <foreach collection="queryDTO.productId" item="id" open="(" separator="," close=")">
               #{id}
            </foreach>
         </if>
         )
      </if>
      <if test="queryDTO.parentId !=null ">
         and t.parent_id = #{queryDTO.parentId}
         and (t.parent_id = #{queryDTO.parentId}
         <if test="queryDTO.productId != null and queryDTO.productId.size() > 0">
            or t.id IN
            <foreach collection="queryDTO.productId" item="id" open="(" separator="," close=")">
               #{id}
            </foreach>
         </if>
         )
      </if>
      <choose>
         <when test="queryDTO.contractCategory !=null and queryDTO.contractCategory !='' and queryDTO.contractCategory=='water_house'">
            and t.erp_code in
@@ -112,11 +128,27 @@
      del_flag = '0'
      <if test="queryDTO.productName !=null and queryDTO.productName !=''">
         and ( t.product_name LIKE CONCAT('%', #{queryDTO.productName}, '%') or
         t.erp_code LIKE CONCAT('%', #{queryDTO.productName}, '%'))
         t.erp_code LIKE CONCAT('%', #{queryDTO.productName}, '%')
         <if test="queryDTO.productId != null and queryDTO.productId.size() > 0">
            or t.id IN
            <foreach collection="queryDTO.productId" item="id" open="(" separator="," close=")">
               #{id}
            </foreach>
         </if>
         )
      </if>
      <if test="queryDTO.parentId !=null ">
         and t.parent_id = #{queryDTO.parentId}
         and (t.parent_id = #{queryDTO.parentId}
         <if test="queryDTO.productId != null and queryDTO.productId.size() > 0">
            or t.id IN
            <foreach collection="queryDTO.productId" item="id" open="(" separator="," close=")">
               #{id}
            </foreach>
         </if>
         )
      </if>
      <choose>
         <when test="queryDTO.contractCategory !=null and queryDTO.contractCategory !='' and queryDTO.contractCategory=='water_house'">
            and t.erp_code in
@@ -133,4 +165,76 @@
      </choose>
      and ( t.comp_id = 2089995177814495234  or t.comp_id = 2089996921978040321 or t.comp_id = 2089997578009128962)
   </select>
    <select id="pageScope" resultType="com.by4cloud.platformx.business.entity.Product">
      SELECT
         t.id,
         t.product_name,
         t.main_code,
         t.erp_code,
         t.product_type,
         t.tax_rate,
         t.tax_class,
         t.tax_code,
         t.parent_id,
         t.create_by,
         t.update_by,
         t.create_time,
         t.update_time,
         t.del_flag,
         t.comp_id,
         ifnull((select product_name from product t1 where t1.id = t.parent_id),'根级产品') AS parentName
      FROM
         product t
      WHERE
         del_flag = '0'
      <if test="queryDTO.productName !=null and queryDTO.productName !=''">
         AND t.product_name LIKE CONCAT('%', #{queryDTO.productName}, '%')
      </if>
      <if test="queryDTO.mainCode !=null and queryDTO.mainCode !=''">
         AND t.main_code LIKE CONCAT('%', #{queryDTO.mainCode}, '%')
      </if>
      <if test="queryDTO.erpCode !=null and queryDTO.erpCode !=''">
         AND t.erp_code LIKE CONCAT('%', #{queryDTO.erpCode}, '%')
      </if>
         order by t.create_time desc
   </select>
   <select id="page" resultType="com.by4cloud.platformx.business.entity.Product">
      SELECT
      t.id,
      t.product_name,
      t.main_code,
      t.erp_code,
      t.product_type,
      t.tax_rate,
      t.tax_class,
      t.tax_code,
      t.parent_id,
      t.create_by,
      t.update_by,
      t.create_time,
      t.update_time,
      t.del_flag,
      t.comp_id,
      ifnull((select product_name from product t1 where t1.id = t.parent_id),'根级产品') AS parentName
      FROM
      product t
      WHERE
      del_flag = '0'
      <if test="queryDTO.productName !=null and queryDTO.productName !=''">
         AND t.product_name LIKE CONCAT('%', #{queryDTO.productName}, '%')
      </if>
      <if test="queryDTO.mainCode !=null and queryDTO.mainCode !=''">
         AND t.main_code LIKE CONCAT('%', #{queryDTO.mainCode}, '%')
      </if>
      <if test="queryDTO.erpCode !=null and queryDTO.erpCode !=''">
         AND t.erp_code LIKE CONCAT('%', #{queryDTO.erpCode}, '%')
      </if>
      <if test="smjList != null and smjList.size() > 0">
         AND t.comp_id IN
         <foreach collection="smjList" item="id" open="(" separator="," close=")">
            #{id}
         </foreach>
      </if>
      order by t.create_time desc
   </select>
</mapper>