Sfoglia il codice sorgente

feat(basicData): 同比页面添加两年以前的数据展示及排序功能

- 在 CrmEnterpriseTaxPaymentInfoController 和 CrmOutputValueController 中添加了获取季度同比数据的接口
- 在 CrmEnterpriseTaxPaymentInfoService 和 CrmOutputValueService 接口中定义了新的方法
- 实现了 CrmEnterpriseTaxPaymentInfoServiceImpl 和 CrmOutputValueServiceImpl 中的同比数据计算逻辑
- 更新了 MonitorVo 和 QuarterYoYVo 类以包含两年以前的数据字段
- 修改了同比数据的排序逻辑,支持按当前年和前一年的数据进行排序
nahida 1 anno fa
parent
commit
0cc84e6178

+ 5 - 2
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnterpriseTaxPaymentInfoController.java

@@ -140,8 +140,11 @@ public class CrmEnterpriseTaxPaymentInfoController extends BaseController{
 
     @GetMapping("/getListByQuarterYoY")
     @ApiOperation(value = "获取某个季度的同比数据", notes = "获取某个季度的同比数据")
-    public AjaxResult getListByQuarterYoY(@RequestParam("quarter") Integer quarter){
-        return service.getListByQuarterYoY(quarter);
+    public AjaxResult getListByQuarterYoY(
+            @RequestParam("quarter") Integer quarter,
+            @RequestParam(value = "isCurrent",required = false) Boolean isCurrent
+            ){
+        return service.getListByQuarterYoY(quarter,isCurrent);
     }
 }
 

+ 19 - 12
zksy-admin/src/main/resources/banner.txt

@@ -1,14 +1,21 @@
 Application Version: ${zksy.version}
 Spring Boot Version: ${spring-boot.version}
-                                                                                                        
-@@@@@@@@@@@@@.    ./@@@@@@`    .@@@@@@@@@\`       ,@@@@@@\.    @@@\      @@@.  =@@@@@@@@@@@@        
-,[[[[@@@/[[[[.   /@@@` .\@@@`  .@@@[[[[[\@@@`   ,@@@/. ,@@@\   @@@@\     @@@.  =@@@[[[[[[[[`        
-    @@@^       =@@/     ,@@@. .@@@.     .@@@. .@@@`     \@@^  @@@@@^    @@@.  =@@@                 
-    @@@^      .@@@`      \@@^ .@@@.      @@@. =@@/      ,@@@  @@@O@@^   @@@.  =@@@                 
-    @@@^      .@@@       =@@^ .@@@.     ,@@@  =@@^      .@@@. @@@^\@@`  @@@.  =@@@]]]]]]]].        
-    @@@^      =@@@       =@@^ .@@@@@@@@@@@/   @@@^      .@@@. @@@^ \@@` @@@.  =@@@@@@@@@@@.        
-    @@@^      .@@@.      =@@^ .@@@[[[[[[`     =@@^      .@@@. @@@^  @@@.@@@.  =@@@                 
-    @@@^       @@@^      @@@^ .@@@.           =@@@      =@@@  @@@^  .@@@@@@.  =@@@                 
-    @@@^       =@@\     ,@@@  .@@@.           .@@@`     /@@^  @@@^   .@@@@@.  =@@@                 
-    @@@^        =@@@\]]@@@@.  .@@@.            .@@@@]]/@@@^   @@@^    ,@@@@.  =@@@]]]]]]]]]`       
-    @@@^          ,\@@@@[`    .@@@.              .[@@@@/[     @@@^     ,@@@.  =@@@@@@@@@@@@^
+//////////////////////////////////////////////////////////////////////////
+//     #     #          #                #########           #          //
+//     #     #          #                #       #           #          //
+//     #  #  #          #        #       #########           #          //
+//     #  #  #  #       ###########      #       #           #     #    //
+//   # ## ########      #                #########      #############   //
+//   # # #   #          #                  #   #             #     #    //
+//   # # #   #          #        #     #############         #     #    //
+//  #  ##    #          ###########        #   #             #     #    //
+//     #     # #                 #    ###############        #     #    //
+//     #  #######                #         #   #             #     #    //
+//     #     #                #  #        #  #  #            #     #    //
+//     #     #       ########### #      ## # # # ####       #      #    //
+//     #     #                   #    ##    ###    #        #      #    //
+//     #     #   #               #        #  #  #          #   #   #    //
+//     ############           # #        #   #   #         #    # #     //
+//     #                       #            ##          ###      #      //
+//                                                                      //
+//////////////////////////////////////////////////////////////////////////

+ 1 - 0
zksy-system/src/main/java/com/zksy/system/basicData/domain/vo/MonitorVo.java

@@ -12,4 +12,5 @@ public class MonitorVo {
     private String enterpriseName;
     private Double currentYearTotal;
     private Double lastYearTotal;
+    private Double lastLastYearTotal;
 }

+ 1 - 0
zksy-system/src/main/java/com/zksy/system/basicData/domain/vo/QuarterYoYVo.java

@@ -12,4 +12,5 @@ public class QuarterYoYVo {
     String enterpriseName;
     Double lastQuarterCurrentTotal;
     Double lastQuarterLastTotal;
+    Double lastLastQuarterLastTotal;
 }

+ 1 - 1
zksy-system/src/main/java/com/zksy/system/basicData/service/CrmEnterpriseTaxPaymentInfoService.java

@@ -23,5 +23,5 @@ public interface CrmEnterpriseTaxPaymentInfoService extends IService<CrmEnterpri
 
     AjaxResult getListByYear();
 
-    AjaxResult getListByQuarterYoY(Integer quarter);
+    AjaxResult getListByQuarterYoY(Integer quarter,Boolean isCurrent);
 }

+ 24 - 5
zksy-system/src/main/java/com/zksy/system/basicData/service/impl/CrmEnterpriseTaxPaymentInfoServiceImpl.java

@@ -29,6 +29,7 @@ public class CrmEnterpriseTaxPaymentInfoServiceImpl extends ServiceImpl<CrmEnter
     private CrmEnterpriseTaxPaymentInfoMapper mapper;
     private static final String CURRENT_YEAR = String.valueOf(Year.now().getValue());
     private static final String LAST_YEAR = String.valueOf(Year.now().getValue() - 1);
+    private static final String LAST_LAST_YEAR = String.valueOf(Year.now().getValue() - 2);
 
 
     @Override
@@ -69,6 +70,8 @@ public class CrmEnterpriseTaxPaymentInfoServiceImpl extends ServiceImpl<CrmEnter
                             monitorVo.setCurrentYearTotal(total);
                         } else if (LAST_YEAR.equals(annualAmount)) {
                             monitorVo.setLastYearTotal(total);
+                        } else if (LAST_LAST_YEAR.equals(annualAmount)){
+                            monitorVo.setLastLastYearTotal(total);
                         }
                     });
             resVo.add(monitorVo);
@@ -81,6 +84,7 @@ public class CrmEnterpriseTaxPaymentInfoServiceImpl extends ServiceImpl<CrmEnter
                 MonitorVo existingVo = map.get(vo.getUnifiedSocialCreditCode());
                 Optional.ofNullable(vo.getCurrentYearTotal()).ifPresent(existingVo::setCurrentYearTotal);
                 Optional.ofNullable(vo.getLastYearTotal()).ifPresent(existingVo::setLastYearTotal);
+                Optional.ofNullable(vo.getLastLastYearTotal()).ifPresent(existingVo::setLastLastYearTotal);
             }
         }
         List<MonitorVo> vos = new ArrayList<>(map.values())
@@ -94,7 +98,7 @@ public class CrmEnterpriseTaxPaymentInfoServiceImpl extends ServiceImpl<CrmEnter
     }
 
     @Override
-    public AjaxResult getListByQuarterYoY(Integer quarter) {
+    public AjaxResult getListByQuarterYoY(Integer quarter,Boolean isCurrent) {
         int lastQuarter = quarter;
         ArrayList<QuarterYoYVo> resList = new ArrayList<>();
         List<CrmEnterpriseTaxPaymentInfo> valueList = this.list();
@@ -115,10 +119,17 @@ public class CrmEnterpriseTaxPaymentInfoServiceImpl extends ServiceImpl<CrmEnter
             }
             resList.add(quarterYoYVo);
         });
-        List<QuarterYoYVo> res = resList.stream()
-                .sorted((a, b) -> (Optional.ofNullable(b.getLastQuarterCurrentTotal()).map(Double::intValue).orElse(0)) - (Optional.ofNullable(a.getLastQuarterCurrentTotal()).map(Double::intValue).orElse(0)))
-                .peek(System.out::println)
-                .collect(Collectors.toList());
+        boolean flag = Optional.ofNullable(isCurrent).orElse(true);
+        List<QuarterYoYVo> res;
+        if(flag){
+            res = resList.stream()
+                    .sorted((a, b) -> (Optional.ofNullable(b.getLastQuarterCurrentTotal()).map(Double::intValue).orElse(0)) - (Optional.ofNullable(a.getLastQuarterCurrentTotal()).map(Double::intValue).orElse(0)))
+                    .collect(Collectors.toList());
+        }else {
+            res = resList.stream()
+                    .sorted((a, b) -> (Optional.ofNullable(b.getLastQuarterLastTotal()).map(Double::intValue).orElse(0)) - (Optional.ofNullable(a.getLastQuarterLastTotal()).map(Double::intValue).orElse(0)))
+                    .collect(Collectors.toList());
+        }
         return AjaxResult.success(res);
     }
     private static void setYoY(MonitorVo q, List<CrmEnterpriseTaxPaymentInfo> valueList, QuarterYoYVo quarterYoYVo,String field) {
@@ -138,6 +149,14 @@ public class CrmEnterpriseTaxPaymentInfoServiceImpl extends ServiceImpl<CrmEnter
                     Double k2 = getQuarterAmount(w, field);
                     quarterYoYVo.setLastQuarterLastTotal(k2);
                 });
+        valueList.stream()
+                .filter(c-> Objects.equals(c.getAnnualAmount(), LAST_LAST_YEAR))
+                .filter(c-> Objects.equals(c.getUnifiedSocialCreditCode(), q.getUnifiedSocialCreditCode()))
+                .findFirst()
+                .ifPresent(w->{
+                    Double k3 = getQuarterAmount(w, field);
+                    quarterYoYVo.setLastLastQuarterLastTotal(k3);
+                });
     }
     private static String getFieldValue(CrmEnterpriseTaxPaymentInfo w, String fieldName) {
         try {

+ 12 - 0
zksy-system/src/main/java/com/zksy/system/basicData/service/impl/CrmOutputValueServiceImpl.java

@@ -29,6 +29,7 @@ public class CrmOutputValueServiceImpl extends ServiceImpl<CrmOutputValueMapper,
     private CrmOutputValueMapper mapper;
     private static final String CURRENT_YEAR = String.valueOf(Year.now().getValue());
     private static final String LAST_YEAR = String.valueOf(Year.now().getValue() - 1);
+    private static final String LAST_LAST_YEAR = String.valueOf(Year.now().getValue() - 2);
 
 
     @Override
@@ -69,6 +70,8 @@ public class CrmOutputValueServiceImpl extends ServiceImpl<CrmOutputValueMapper,
                             monitorVo.setCurrentYearTotal(total);
                         } else if (LAST_YEAR.equals(annualAmount)) {
                             monitorVo.setLastYearTotal(total);
+                        } else if (LAST_LAST_YEAR.equals(annualAmount)){
+                            monitorVo.setLastLastYearTotal(total);
                         }
                     });
             resVo.add(monitorVo);
@@ -81,6 +84,7 @@ public class CrmOutputValueServiceImpl extends ServiceImpl<CrmOutputValueMapper,
                 MonitorVo existingVo = map.get(vo.getUnifiedSocialCreditCode());
                 Optional.ofNullable(vo.getCurrentYearTotal()).ifPresent(existingVo::setCurrentYearTotal);
                 Optional.ofNullable(vo.getLastYearTotal()).ifPresent(existingVo::setLastYearTotal);
+                Optional.ofNullable(vo.getLastLastYearTotal()).ifPresent(existingVo::setLastLastYearTotal);
             }
         }
         List<MonitorVo> vos = new ArrayList<>(map.values())
@@ -137,6 +141,14 @@ public class CrmOutputValueServiceImpl extends ServiceImpl<CrmOutputValueMapper,
                     Double k2 = getQuarterAmount(w, field);
                     quarterYoYVo.setLastQuarterLastTotal(k2);
                 });
+        valueList.stream()
+                .filter(c-> Objects.equals(c.getAnnualAmount(), LAST_LAST_YEAR))
+                .filter(c-> Objects.equals(c.getUnifiedSocialCreditCode(), q.getUnifiedSocialCreditCode()))
+                .findFirst()
+                .ifPresent(w->{
+                    Double k3 = getQuarterAmount(w, field);
+                    quarterYoYVo.setLastLastQuarterLastTotal(k3);
+                });
     }
     private static String getFieldValue(CrmOutputValue w, String fieldName) {
         try {