|
@@ -80,44 +80,17 @@
|
|
|
info.fund_name,
|
|
|
c.company_name,
|
|
|
d.deletion_type,
|
|
|
- ddn.deletion_num,
|
|
|
- ddp.processed_num,
|
|
|
+ d.deletion_num,
|
|
|
+ d.processed_num,
|
|
|
d.last_deletion_date,
|
|
|
ci.id as channel_id,
|
|
|
ci.channel_name
|
|
|
FROM
|
|
|
- (select de.channel_id,de.fund_id,de.deletion_type,max(de.deletion_date) as last_deletion_date from deletion_info de where de.isvalid=1
|
|
|
- group by de.fund_id,de.deletion_type,de.channel_id) d
|
|
|
+ deletion_type_statistics d
|
|
|
LEFT JOIN pvn_fund_info info
|
|
|
ON d.fund_id = info.fund_id and info.isvalid=1
|
|
|
LEFT JOIN pvn_company_info c
|
|
|
ON info.trust_id = c.company_id and c.isvalid=1
|
|
|
- LEFT JOIN
|
|
|
- (SELECT di.channel_id,
|
|
|
- di.fund_id,
|
|
|
- di.deletion_type,
|
|
|
- COUNT(di.fund_id) AS deletion_num
|
|
|
- FROM
|
|
|
- deletion_info di
|
|
|
- WHERE di.isvalid = 1
|
|
|
- AND di.remark IS NULL
|
|
|
- GROUP BY di.channel_id,di.fund_id,
|
|
|
- di.deletion_type) ddn
|
|
|
- ON ddn.fund_id = d.fund_id
|
|
|
- AND d.deletion_type = ddn.deletion_type and d.channel_id = ddn.channel_id
|
|
|
- LEFT JOIN
|
|
|
- (SELECT dip.channel_id,
|
|
|
- dip.fund_id,
|
|
|
- dip.deletion_type,
|
|
|
- COUNT(dip.fund_id) AS processed_num
|
|
|
- FROM
|
|
|
- deletion_info dip
|
|
|
- WHERE dip.isvalid = 1
|
|
|
- AND dip.remark IS NOT NULL
|
|
|
- GROUP BY dip.channel_id,dip.fund_id,
|
|
|
- dip.deletion_type) ddp
|
|
|
- ON ddp.fund_id = d.fund_id
|
|
|
- AND d.deletion_type = ddp.deletion_type and d.channel_id = ddp.channel_id
|
|
|
left join channel_info ci
|
|
|
on ci.id = d.channel_id and ci.isvalid=1
|
|
|
WHERE 1=1
|
|
@@ -131,17 +104,17 @@
|
|
|
and d.deletion_type=#{deletionType}
|
|
|
</if>
|
|
|
<if test="deletionStartNum != null and deletionStartNum != ''">
|
|
|
- and ddn.deletion_num >= #{deletionStartNum}
|
|
|
+ and d.deletion_num >= #{deletionStartNum}
|
|
|
</if>
|
|
|
<if test="channelName != null and channelName != ''">
|
|
|
and ci.channel_name = #{channelName}
|
|
|
</if>
|
|
|
<if test="deletionEndNum != null and deletionEndNum != ''">
|
|
|
- and ddn.deletion_num <![CDATA[ <= ]]> #{deletionEndNum}
|
|
|
+ and d.deletion_num <![CDATA[ <= ]]> #{deletionEndNum}
|
|
|
</if>
|
|
|
<choose>
|
|
|
<when test="sort != null and sort !='' and sort=='lastDeletionDate' and order != null and order !=''">
|
|
|
- order by d.last_deletion_date ${order}
|
|
|
+ order by d.last_deletion_date asc
|
|
|
</when>
|
|
|
<otherwise>
|
|
|
order by d.last_deletion_date desc
|
|
@@ -152,58 +125,31 @@
|
|
|
<select id="countDeletion" resultType="java.lang.Long"
|
|
|
parameterType="com.simuwang.base.pojo.dto.query.DeletionPageQuery">
|
|
|
select count(1) from
|
|
|
- (select de.channel_id,de.fund_id,de.deletion_type,max(de.deletion_date) as last_deletion_date from deletion_info de where de.isvalid=1
|
|
|
- group by de.fund_id,de.deletion_type,de.channel_id) d
|
|
|
+ deletion_type_statistics d
|
|
|
LEFT JOIN pvn_fund_info info
|
|
|
ON d.fund_id = info.fund_id and info.isvalid=1
|
|
|
LEFT JOIN pvn_company_info c
|
|
|
ON info.trust_id = c.company_id and c.isvalid=1
|
|
|
- LEFT JOIN
|
|
|
- (SELECT di.channel_id,
|
|
|
- di.fund_id,
|
|
|
- di.deletion_type,
|
|
|
- COUNT(di.fund_id) AS deletion_num
|
|
|
- FROM
|
|
|
- deletion_info di
|
|
|
- WHERE di.isvalid = 1
|
|
|
- AND di.remark IS NULL
|
|
|
- GROUP BY di.channel_id,di.fund_id,
|
|
|
- di.deletion_type) ddn
|
|
|
- ON ddn.fund_id = d.fund_id
|
|
|
- AND d.deletion_type = ddn.deletion_type and d.channel_id = ddn.channel_id
|
|
|
- LEFT JOIN
|
|
|
- (SELECT dip.channel_id,
|
|
|
- dip.fund_id,
|
|
|
- dip.deletion_type,
|
|
|
- COUNT(dip.fund_id) AS processed_num
|
|
|
- FROM
|
|
|
- deletion_info dip
|
|
|
- WHERE dip.isvalid = 1
|
|
|
- AND dip.remark IS NOT NULL
|
|
|
- GROUP BY dip.channel_id,dip.fund_id,
|
|
|
- dip.deletion_type) ddp
|
|
|
- ON ddp.fund_id = d.fund_id
|
|
|
- AND d.deletion_type = ddp.deletion_type and d.channel_id = ddp.channel_id
|
|
|
left join channel_info ci
|
|
|
on ci.id = d.channel_id and ci.isvalid=1
|
|
|
WHERE 1=1
|
|
|
<if test="companyName != null and companyName !=''">
|
|
|
- and (c.company_name like concat('%',#{companyName},'%') or c.company_short_name like concat('%',#{companyName},'%'))
|
|
|
+ and (c.company_name like concat(#{companyName},'%') or c.company_short_name like concat(#{companyName},'%'))
|
|
|
</if>
|
|
|
<if test="fundName != null and fundName !=''">
|
|
|
- and (info.fund_name like concat('%',#{fundName},'%') or info.fund_short_name like concat('%',#{fundName},'%') or info.fund_id like concat('%',#{fundName},'%'))
|
|
|
+ and (info.fund_name like concat(#{fundName},'%') or info.fund_short_name like concat(#{fundName},'%') or info.fund_id like concat(#{fundName},'%'))
|
|
|
</if>
|
|
|
<if test="deletionType != null and deletionType != -1">
|
|
|
and d.deletion_type=#{deletionType}
|
|
|
</if>
|
|
|
<if test="deletionStartNum != null and deletionStartNum != ''">
|
|
|
- and ddn.deletion_num >= #{deletionStartNum}
|
|
|
+ and d.deletion_num >= #{deletionStartNum}
|
|
|
</if>
|
|
|
<if test="channelName != null and channelName != ''">
|
|
|
and ci.channel_name = #{channelName}
|
|
|
</if>
|
|
|
<if test="deletionEndNum != null and deletionEndNum != ''">
|
|
|
- and ddn.deletion_num <![CDATA[ <= ]]> #{deletionEndNum}
|
|
|
+ and d.deletion_num <![CDATA[ <= ]]> #{deletionEndNum}
|
|
|
</if>
|
|
|
</select>
|
|
|
<select id="getLastDeletionDateByFundId" resultType="java.lang.String">
|
|
@@ -317,6 +263,21 @@
|
|
|
and d.fund_id = #{fundId} and d.createtime >= #{updateTime}
|
|
|
order by info.fund_id desc,d.deletion_type desc,d.deletion_date desc
|
|
|
</select>
|
|
|
+ <select id="getFundDeletionTypeMapList" resultType="com.simuwang.base.pojo.dos.FundDeletionTypeDO">
|
|
|
+ SELECT fund_id as "fundId",deletion_type as "deletionType",channel_id as "channelId" from PPW_EMAIL.deletion_info where isvalid=1 group by fund_id,deletion_type,channel_id
|
|
|
+ </select>
|
|
|
+ <select id="countChannelFundDeletion" resultType="java.lang.Integer">
|
|
|
+ select count(1) from PPW_EMAIL.deletion_info where isvalid=1 and fund_id=#{fundId} and deletion_type=#{deletionType} and channel_id=#{channelId}
|
|
|
+ <if test="type == 1">
|
|
|
+ and remark is null
|
|
|
+ </if>
|
|
|
+ <if test="type != 1">
|
|
|
+ and remark is not null
|
|
|
+ </if>
|
|
|
+ </select>
|
|
|
+ <select id="getLastDeletionDate" resultType="java.lang.String">
|
|
|
+ select max(deletion_date) from PPW_EMAIL.deletion_info where isvalid=1 and fund_id=#{fundId} and deletion_type=#{deletionType} and channel_id=#{channelId} AND remark is null
|
|
|
+ </select>
|
|
|
<update id="updateSendStatusByFundId">
|
|
|
update deletion_info d set d.is_send=1,d.updatetime=now() where d.isvalid=1
|
|
|
and d.fund_id in
|