Browse Source

fix: 别名管理增加备案编码的查询

chenjianhua 7 months ago
parent
commit
f18a52cec0

+ 1 - 1
service-base/src/main/java/com/simuwang/base/mapper/EmailFundAssetMapper.java

@@ -17,7 +17,7 @@ public interface EmailFundAssetMapper {
 
     long countAssetDetail(ParseDetailPageQuery parseDetailPageQuery);
 
-    Integer countNoStoreAsset(String sourceFundName);
+    Integer countNoStoreAsset(@Param("fundName") String sourceFundName,@Param("registerNumber")String registerNumber);
 
     void deleteByFileId(@Param("fileId") Integer fileId);
 

+ 1 - 1
service-base/src/main/java/com/simuwang/base/mapper/EmailFundNavMapper.java

@@ -18,7 +18,7 @@ public interface EmailFundNavMapper {
 
     long countNavDetail(ParseDetailPageQuery parseDetailPageQuery);
 
-    Integer countNoStoreNav(@Param("fundName") String sourceFundName);
+    Integer countNoStoreNav(@Param("fundName") String sourceFundName,@Param("registerNumber") String registerNumber);
 
     List<Integer> selectFileIdByFundName(@Param("fundName") String sourceFundName);
 

+ 5 - 0
service-base/src/main/java/com/simuwang/base/pojo/dos/FundAliasDO.java

@@ -35,6 +35,10 @@ public class FundAliasDO {
      */
     private String targetRegisterNumber;
     /**
+     * 匹配的源备案编码
+     */
+    private String companyName;
+    /**
      * 记录的有效性;1-有效;0-无效;
      */
     private Integer isvalid;
@@ -63,6 +67,7 @@ public class FundAliasDO {
         fundAliasVO.setTargetFundId(this.targetFundId);
         fundAliasVO.setTargetFundName(this.targetFundName);
         fundAliasVO.setTargetRegisterNumber(this.targetRegisterNumber);
+        fundAliasVO.setCompanyName(this.companyName);
         return fundAliasVO;
     }
 }

+ 6 - 1
service-base/src/main/resources/mapper/EmailFundAssetMapper.xml

@@ -164,7 +164,12 @@
         select count(id)
         from PPW_EMAIL.email_fund_asset
         where isvalid =1 and exception_status=3
-          and fund_name=#{fundName}
+        <if test="fundName != null and fundName !=''">
+            and fund_name=#{fundName}
+        </if>
+        <if test="registerNumber != null and registerNumber !=''">
+            and register_number=#{registerNumber}
+        </if>
     </select>
     <select id="selectNotMappingAsset" resultMap="BaseResultMap"
             parameterType="java.lang.String">

+ 5 - 0
service-base/src/main/resources/mapper/EmailFundNavMapper.xml

@@ -166,7 +166,12 @@
         select count(nav.id)
         from PPW_EMAIL.email_fund_nav nav
         where nav.isvalid =1 and nav.exception_status=3
+        <if test="fundName != null and fundName != ''">
             and nav.fund_name=#{fundName}
+        </if>
+        <if test="registerNumber != null and registerNumber != ''">
+            and nav.register_number=#{registerNumber}
+        </if>
     </select>
     <select id="selectFileIdByFundName" resultType="java.lang.Integer" parameterType="java.lang.String">
         select distinct nav.file_id from PPW_EMAIL.email_fund_nav nav where nav.isvalid =1 and nav.exception_status=3

+ 6 - 0
service-base/src/main/resources/mapper/FundAliasMapper.xml

@@ -8,6 +8,7 @@
         <result column="target_fund_id" property="targetFundId"/>
         <result column="target_fund_name" property="targetFundName"/>
         <result column="target_register_number" property="targetRegisterNumber"/>
+        <result column="company_name" property="companyName"/>
         <result column="isvalid" property="isvalid"/>
         <result column="creatorid" property="creatorId"/>
         <result column="createtime" property="createTime"/>
@@ -89,6 +90,7 @@
         alias.target_fund_id,
         info.fund_name as target_fund_name,
         info.register_number as target_register_number,
+        c.company_name as company_name,
         alias.isvalid,
         alias.creatorid,
         alias.createtime,
@@ -97,6 +99,8 @@
         from PPW_EMAIL.fund_alias alias
         left join PPW_EMAIL.pvn_fund_info info
         on alias.target_fund_id = info.fund_id and info.isvalid=1
+        left join PPW_EMAIL.pvn_company_info c
+        on c.company_id = info.trust_id and c.isvalid=1
         where alias.isvalid=1
         <if test="fundName != null and fundName !=''">
             and (alias.source_fund_name like concat('%',#{fundName},'%') or alias.source_register_number like concat('%',#{fundName},'%') )
@@ -118,6 +122,8 @@
         select count(1) from PPW_EMAIL.fund_alias alias
         left join PPW_EMAIL.pvn_fund_info info
         on alias.target_fund_id = info.fund_id and info.isvalid=1
+        left join PPW_EMAIL.pvn_company_info c
+        on c.company_id = info.trust_id and c.isvalid=1
         where alias.isvalid=1
         <if test="fundName != null and fundName !=''">
             and (alias.source_fund_name like concat('%',#{fundName},'%') or alias.source_register_number like concat('%',#{fundName},'%') )

+ 3 - 6
service-manage/src/main/java/com/simuwang/manage/service/impl/FundAliasServiceImpl.java

@@ -18,6 +18,7 @@ import com.simuwang.shiro.utils.UserUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -57,15 +58,11 @@ public class FundAliasServiceImpl implements FundAliasService {
         List<FundAliasVO> fundAliasVOList =  fundAliasDOList.stream().map(FundAliasDO::toVo).collect(Collectors.toList());
         for(FundAliasVO vo : fundAliasVOList){
             //异常净值数量
-            Integer navTotal = emailFundNavMapper.countNoStoreNav(vo.getSourceFundName());
+            Integer navTotal = emailFundNavMapper.countNoStoreNav(vo.getSourceFundName(),vo.getSourceRegisterNumber());
             vo.setNavTotal(navTotal);
             //异常净值数量
-            Integer assetTotal = emailFundAssetMapper.countNoStoreAsset(vo.getSourceFundName());
+            Integer assetTotal = emailFundAssetMapper.countNoStoreAsset(vo.getSourceFundName(),vo.getSourceRegisterNumber());
             vo.setAssetTotal(assetTotal);
-            //管理人
-            if(vo.getTargetFundId() !=null){
-                vo.setCompanyName(companyInformationMapper.getCompanyNameByFundId(vo.getTargetFundId()));
-            }
             //最新净值日期
             vo.setPriceDate(emailFundNavMapper.getMaxPriceDate(vo.getSourceFundName()));
         }