فهرست منبع

fix: 主页解析异常原因概述优化

chenjianhua 4 ماه پیش
والد
کامیت
1bb168d7bb

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

@@ -37,7 +37,7 @@ public interface EmailParseInfoMapper {
 
     List<Map<String, Object>> searchEmailTypeCount(DataboardQuery databoardQuery);
 
-    Long countpdfNoData(@Param("item") DataboardQuery databoardQuery, @Param("errorInfo")String errorInfo);
+    Long countNoDataByFailReason(@Param("item") DataboardQuery databoardQuery, @Param("errorInfo")String errorInfo);
 
     Long countEmailTotal(@Param("emailType")Integer emailType);
 }

+ 1 - 1
service-base/src/main/resources/mapper/daq/EmailParseInfoMapper.xml

@@ -205,7 +205,7 @@
         group by email_type
         order by email_type
     </select>
-    <select id="countpdfNoData" resultType="java.lang.Long">
+    <select id="countNoDataByFailReason" resultType="java.lang.Long">
         select count(1) from email_parse_info
         where isvalid=1
         <if test="item.startDate != null  and item.startDate != ''">

+ 38 - 90
service-daq/src/main/java/com/simuwang/daq/service/EmailParseService.java

@@ -1123,124 +1123,72 @@ public class EmailParseService {
         }
         EmailParseFailAnalysisVO result = new EmailParseFailAnalysisVO();
         //净值规模
+        //净值规模
         List<NameValueVO> navNameValueVOS = new ArrayList<>();
-        NameValueVO navAssetIsErrorVO = new NameValueVO();
+        NameValueVO pdfNoDataVO = new NameValueVO();
         databoardQuery.setEmailType(1);
-        Long navAssetIsError = emailFundNavCollectionMapper.countDataByExceptionStatus(databoardQuery, NavParseStatusConst.NAV_ASSET_IS_ERROR);
-        navAssetIsErrorVO.setName(NavParseStatusConst.NAV_ASSET_IS_ERROR_TEXT);
-        navAssetIsErrorVO.setValue(navAssetIsError);
-        navNameValueVOS.add(navAssetIsErrorVO);
-
+        Long pdfNoData = emailParseInfoMapper.countNoDataByFailReason(databoardQuery, NavParseStatusConst.NO_DATA_FROM_PDF_TEXT);
+        pdfNoDataVO.setName(NavParseStatusConst.NO_DATA_FROM_PDF_TEXT);
+        pdfNoDataVO.setValue(pdfNoData);
+        navNameValueVOS.add(pdfNoDataVO);
         NameValueVO priceDateMissVO = new NameValueVO();
-        Long priceDateMiss = emailFundNavCollectionMapper.countDataByExceptionStatus(databoardQuery, NavParseStatusConst.PRICE_DATE_IS_NULL);
+        Long priceDateMiss = emailParseInfoMapper.countNoDataByFailReason(databoardQuery, NavParseStatusConst.PRICE_DATE_IS_NULL_TEXT);
         priceDateMissVO.setValue(priceDateMiss);
         priceDateMissVO.setName(NavParseStatusConst.PRICE_DATE_IS_NULL_TEXT);
         navNameValueVOS.add(priceDateMissVO);
-
-        NameValueVO navAssetMissVO = new NameValueVO();
-        Long navAssetMiss = emailFundNavCollectionMapper.countDataByExceptionStatus(databoardQuery, NavParseStatusConst.NAV_ASSET_IS_NULL);
-        navAssetMissVO.setName(NavParseStatusConst.NAV_ASSET_IS_NULL_TEXT);
-        navAssetMissVO.setValue(navAssetMiss);
-        navNameValueVOS.add(navAssetMissVO);
-
+        NameValueVO priceDateErrorVO = new NameValueVO();
+        Long priceDateError = emailParseInfoMapper.countNoDataByFailReason(databoardQuery, NavParseStatusConst.PRICE_DATE_IS_ERROR_TEXT);
+        priceDateErrorVO.setValue(priceDateError);
+        priceDateErrorVO.setName(NavParseStatusConst.PRICE_DATE_IS_ERROR_TEXT);
+        navNameValueVOS.add(priceDateErrorVO);
+        NameValueVO navMissVO = new NameValueVO();
+        Long navMiss = emailParseInfoMapper.countNoDataByFailReason(databoardQuery, NavParseStatusConst.NAV_ASSET_IS_NULL_TEXT);
+        navMissVO.setName(NavParseStatusConst.NAV_ASSET_IS_NULL_TEXT);
+        navMissVO.setValue(navMiss);
+        navNameValueVOS.add(navMissVO);
+        NameValueVO navAssetErrorVO = new NameValueVO();
+        Long navAssetError = emailParseInfoMapper.countNoDataByFailReason(databoardQuery, NavParseStatusConst.NAV_ASSET_IS_ERROR_TEXT);
+        navAssetErrorVO.setName(NavParseStatusConst.NAV_ASSET_IS_ERROR_TEXT);
+        navAssetErrorVO.setValue(navAssetError);
+        navNameValueVOS.add(navAssetErrorVO);
         NameValueVO fundNameNumberMissVO = new NameValueVO();
-        Long fundNameNumberMiss = emailFundNavCollectionMapper.countDataByExceptionStatus(databoardQuery, NavParseStatusConst.FUND_NAME_REGISTER_IS_NULL);
+        Long fundNameNumberMiss = emailParseInfoMapper.countNoDataByFailReason(databoardQuery, NavParseStatusConst.FUND_NAME_REGISTER_IS_NULL_TEXT);
         fundNameNumberMissVO.setName(NavParseStatusConst.FUND_NAME_REGISTER_IS_NULL_TEXT);
         fundNameNumberMissVO.setValue(fundNameNumberMiss);
         navNameValueVOS.add(fundNameNumberMissVO);
-
-        NameValueVO navMissVO = new NameValueVO();
-        Long navMiss = emailFundNavCollectionMapper.countDataByExceptionStatus(databoardQuery, NavParseStatusConst.NAV_DEFICIENCY);
-        navMissVO.setName(NavParseStatusConst.NAV_DEFICIENCY_TEXT);
-        navMissVO.setValue(navMiss);
-        navNameValueVOS.add(navMissVO);
-
-        NameValueVO navNegativeVO = new NameValueVO();
-        Long navNegative = emailFundNavCollectionMapper.countDataByExceptionStatus(databoardQuery, NavParseStatusConst.NAV_NEGATIVE);
-        navNegativeVO.setName(NavParseStatusConst.NAV_NEGATIVE_TEXT);
-        navNegativeVO.setValue(navNegative);
-        navNameValueVOS.add(navNegativeVO);
-
-        NameValueVO assetLessZeroVO = new NameValueVO();
-        Long assetLessZero = emailFundNavCollectionMapper.countDataByExceptionStatus(databoardQuery, NavParseStatusConst.ASSET_NET_NEGATIVE);
-        assetLessZeroVO.setName(NavParseStatusConst.ASSET_NET_NEGATIVE_TEXT);
-        assetLessZeroVO.setValue(assetLessZero);
-        navNameValueVOS.add(assetLessZeroVO);
-
-        NameValueVO notMatchFundVO = new NameValueVO();
-        Long notMatch = emailFundNavCollectionMapper.countDataByExceptionStatus(databoardQuery, NavParseStatusConst.NOT_MATCH);
-        notMatchFundVO.setName(NavParseStatusConst.NOT_MATCH_TEXT);
-        notMatchFundVO.setValue(notMatch);
-        navNameValueVOS.add(notMatchFundVO);
-
-        NameValueVO amplitudeNavVO = new NameValueVO();
-        Long amplitudeNav = emailFundNavCollectionMapper.countDataByExceptionStatus(databoardQuery, NavParseStatusConst.AMPLITUDE_EXCEPTION);
-        amplitudeNavVO.setName(NavParseStatusConst.AMPLITUDE_EXCEPTION_TEXT);
-        amplitudeNavVO.setValue(amplitudeNav);
-        navNameValueVOS.add(amplitudeNavVO);
-
-        NameValueVO amplitudeNavErrorVO = new NameValueVO();
-        Long amplitudeNavError = emailFundNavCollectionMapper.countDataByExceptionStatus(databoardQuery, NavParseStatusConst.AMPLITUDE_ERROR);
-        amplitudeNavErrorVO.setName(NavParseStatusConst.AMPLITUDE_ERROR_TEXT);
-        amplitudeNavErrorVO.setValue(amplitudeNavError);
-        navNameValueVOS.add(amplitudeNavErrorVO);
-
-        NameValueVO priceDateAfterNowVO = new NameValueVO();
-        Long priceDateAfterNow = emailFundNavCollectionMapper.countDataByExceptionStatus(databoardQuery, NavParseStatusConst.PRICE_DATE_AFTER_NOW);
-        priceDateAfterNowVO.setName(NavParseStatusConst.PRICE_DATE_AFTER_NOW_TEXT);
-        priceDateAfterNowVO.setValue(priceDateAfterNow);
-        navNameValueVOS.add(priceDateAfterNowVO);
-
-        NameValueVO priceDateErrorVO = new NameValueVO();
-        Long priceDateError = emailFundNavCollectionMapper.countDataByExceptionStatus(databoardQuery, NavParseStatusConst.PRICE_DATE_IS_ERROR);
-        priceDateErrorVO.setName(NavParseStatusConst.PRICE_DATE_IS_ERROR_TEXT);
-        priceDateErrorVO.setValue(priceDateError);
-        navNameValueVOS.add(priceDateErrorVO);
-
-        NameValueVO priceDateBeforeInceptionVO = new NameValueVO();
-        Long priceDateBeforeInception = emailFundNavCollectionMapper.countDataByExceptionStatus(databoardQuery, NavParseStatusConst.PRICE_DATE_BEFORE_INCEPTION);
-        priceDateBeforeInceptionVO.setName(NavParseStatusConst.PRICE_DATE_BEFORE_INCEPTION_TEXT);
-        priceDateBeforeInceptionVO.setValue(priceDateBeforeInception);
-        navNameValueVOS.add(priceDateBeforeInceptionVO);
-
-        NameValueVO priceDateNotWorkDayVO = new NameValueVO();
-        Long priceDateNotWorkDay = emailFundNavCollectionMapper.countDataByExceptionStatus(databoardQuery, NavParseStatusConst.PRICE_DATE_NOT_WORK_DAY);
-        priceDateNotWorkDayVO.setName(NavParseStatusConst.PRICE_DATE_NOT_WORK_DAY_TEXT);
-        priceDateNotWorkDayVO.setValue(priceDateNotWorkDay);
-        navNameValueVOS.add(priceDateNotWorkDayVO);
-
-        NameValueVO priceDateAfterLiquidateVO = new NameValueVO();
-        Long priceDateAfterLiquidate = emailFundNavCollectionMapper.countDataByExceptionStatus(databoardQuery, NavParseStatusConst.PRICE_DATE_AFTER_LIQUIDATE);
-        priceDateAfterLiquidateVO.setName(NavParseStatusConst.PRICE_DATE_AFTER_LIQUIDATE_TEXT);
-        priceDateAfterLiquidateVO.setValue(priceDateAfterLiquidate);
-        navNameValueVOS.add(priceDateAfterLiquidateVO);
+        result.setNavFailAnalysisVO(navNameValueVOS);
+        NameValueVO templateUnSupportVO = new NameValueVO();
+        Long templateUnSupport = emailParseInfoMapper.countNoDataByFailReason(databoardQuery, NavParseStatusConst.TEMPLATE_NOT_SUPPORTED_TEXT);
+        templateUnSupportVO.setName(NavParseStatusConst.TEMPLATE_NOT_SUPPORTED_TEXT);
+        templateUnSupportVO.setValue(templateUnSupport);
+        navNameValueVOS.add(templateUnSupportVO);
         result.setNavFailAnalysisVO(navNameValueVOS);
 
         //估值表规模
         databoardQuery.setEmailType(2);
         List<NameValueVO> valuationNameValueVOS = new ArrayList<>();
         NameValueVO fileTypeErrorVO = new NameValueVO();
-        Long fileTypeError = emailParseInfoMapper.countpdfNoData(databoardQuery, "文件格式错误");
+        Long fileTypeError = emailParseInfoMapper.countNoDataByFailReason(databoardQuery, "文件格式错误");
         fileTypeErrorVO.setName("文件格式错误");
         fileTypeErrorVO.setValue(fileTypeError);
         valuationNameValueVOS.add(fileTypeErrorVO);
         NameValueVO columnMissVO = new NameValueVO();
-        Long columnMiss = emailParseInfoMapper.countpdfNoData(databoardQuery, "无市值列或无数量列");
+        Long columnMiss = emailParseInfoMapper.countNoDataByFailReason(databoardQuery, "无市值列或无数量列");
         columnMissVO.setName("无市值列或无数量列");
         columnMissVO.setValue(columnMiss);
         valuationNameValueVOS.add(columnMissVO);
         NameValueVO numbericMissVO = new NameValueVO();
-        Long numbericMiss = emailParseInfoMapper.countpdfNoData(databoardQuery, "非数值数据");
+        Long numbericMiss = emailParseInfoMapper.countNoDataByFailReason(databoardQuery, "非数值数据");
         numbericMissVO.setName("非数值数据");
         numbericMissVO.setValue(numbericMiss);
         valuationNameValueVOS.add(numbericMissVO);
         NameValueVO noDataVO = new NameValueVO();
-        Long noData = emailParseInfoMapper.countpdfNoData(databoardQuery, "无数据");
+        Long noData = emailParseInfoMapper.countNoDataByFailReason(databoardQuery, "无数据");
         noDataVO.setValue(noData);
         noDataVO.setName("无数据");
         valuationNameValueVOS.add(noDataVO);
         NameValueVO templateErrorVO = new NameValueVO();
-        Long templateError = emailParseInfoMapper.countpdfNoData(databoardQuery, "模板不支持");
+        Long templateError = emailParseInfoMapper.countNoDataByFailReason(databoardQuery, "模板不支持");
         templateErrorVO.setValue(templateError);
         templateErrorVO.setName("模板不支持");
         valuationNameValueVOS.add(templateErrorVO);
@@ -1263,22 +1211,22 @@ public class EmailParseService {
         databoardQuery.setEmailType(3);
         List<NameValueVO> reportNameValueVOS = new ArrayList<>();
         NameValueVO scannedFileVO = new NameValueVO();
-        Long scannedFile = emailParseInfoMapper.countpdfNoData(databoardQuery, "为扫描件");
+        Long scannedFile = emailParseInfoMapper.countNoDataByFailReason(databoardQuery, "为扫描件");
         scannedFileVO.setName("报告为扫描件");
         scannedFileVO.setValue(scannedFile);
         reportNameValueVOS.add(scannedFileVO);
         NameValueVO errorAmacFileTypeVO = new NameValueVO();
-        Long errorAmacFileType = emailParseInfoMapper.countpdfNoData(databoardQuery, "不是基协统一格式");
+        Long errorAmacFileType = emailParseInfoMapper.countNoDataByFailReason(databoardQuery, "不是基协统一格式");
         errorAmacFileTypeVO.setName("报告不是基协统一格式");
         errorAmacFileTypeVO.setValue(errorAmacFileType);
         reportNameValueVOS.add(errorAmacFileTypeVO);
         NameValueVO watermarkFileErrorVO = new NameValueVO();
-        Long watermarkFileError = emailParseInfoMapper.countpdfNoData(databoardQuery, "没有解析到");
+        Long watermarkFileError = emailParseInfoMapper.countNoDataByFailReason(databoardQuery, "没有解析到");
         watermarkFileErrorVO.setName("报告水印干扰导致部分没有解析");
         watermarkFileErrorVO.setValue(watermarkFileError);
         reportNameValueVOS.add(watermarkFileErrorVO);
         NameValueVO noReportVO = new NameValueVO();
-        Long noReport = emailParseInfoMapper.countpdfNoData(databoardQuery, "不是定期报告");
+        Long noReport = emailParseInfoMapper.countNoDataByFailReason(databoardQuery, "不是定期报告");
         noReportVO.setName("报告不是定期报告");
         noReportVO.setValue(noReport);
         reportNameValueVOS.add(noReportVO);