diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/enhance/example/report/xtsy/ZhxsqkPluginJx.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/enhance/example/report/xtsy/ZhxsqkPluginJx.java index 4e273e3..f8c136a 100644 --- a/lidee-core/src/main/java/com/lideeyunji/core/framework/enhance/example/report/xtsy/ZhxsqkPluginJx.java +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/enhance/example/report/xtsy/ZhxsqkPluginJx.java @@ -2,12 +2,15 @@ package com.lideeyunji.core.framework.enhance.example.report.xtsy; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.ListUtil; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.lideeyunji.core.framework.config.aspect.enhancereport.model.EnhanceReportContext; import com.lideeyunji.core.framework.config.aspect.enhancereport.plugin.ReportAroundAdvicePlugin; +import com.lideeyunji.core.framework.entity.NewGrBiSaAggMonthCount; import com.lideeyunji.core.framework.entity.NewGrBiSaAggYearCount; +import com.lideeyunji.core.framework.service.INewGrBiSaAggMonthCountService; import com.lideeyunji.core.framework.service.INewGrBiSaAggYearCountService; import com.lideeyunji.tool.framework.yunji.model.ResultDataModel; import lombok.extern.slf4j.Slf4j; @@ -20,6 +23,8 @@ import java.util.List; import java.util.Map; import java.util.stream.Collectors; +import static com.lideeyunji.core.framework.enhance.example.report.xtsy.ZhxsqkPlugin.setMonthOrderBy; + /** * 报表-综合销售表_剂型-插件 */ @@ -30,54 +35,75 @@ public class ZhxsqkPluginJx implements ReportAroundAdvicePlugin { @Resource INewGrBiSaAggYearCountService newGrBiSaAggYearCountService; + @Resource + INewGrBiSaAggMonthCountService newGrBiSaAggMonthCountService; + @Override public ResultDataModel executeAround(EnhanceReportContext enhanceContext) { log.info("进入=======>zhxsqkPluginJx=======>execute"); - List groupFieldList = Arrays.asList("useYear","dosageName"); - return zhxsqkFun(enhanceContext, groupFieldList, newGrBiSaAggYearCountService); + List groupFieldList = ListUtil.toList("useYear","dosageName"); + return zhxsqkFun(enhanceContext, groupFieldList, newGrBiSaAggYearCountService, newGrBiSaAggMonthCountService); } @NotNull - static ResultDataModel zhxsqkFun(EnhanceReportContext enhanceContext, List groupFieldList, INewGrBiSaAggYearCountService newGrBiSaAggYearCountService) { + static ResultDataModel zhxsqkFun(EnhanceReportContext enhanceContext, List groupFieldList, INewGrBiSaAggYearCountService newGrBiSaAggYearCountService, INewGrBiSaAggMonthCountService newGrBiSaAggMonthCountService) { Map params = enhanceContext.getParam().getParams(); - Page page = PageHelper.startPage(Integer.parseInt(params.get("pageNo").toString()), Integer.parseInt(params.get("pageSize").toString())); - if(params.containsKey("column")){ - String orderBy = ""; - if ("thisYearSaQty".equals(params.get("column"))) { - orderBy = "this_year_sa_qty " + params.get("order").toString(); - } - if ("saqty_yoy".equals(params.get("column"))) { - orderBy = "CAST(TRIM(REGEXP_SUBSTR(saqty_yoy, '-?([0-9]+\\.?[0-9]*|[0-9]*\\.?[0-9]+)')) AS DECIMAL(10,2)) " + params.get("order").toString(); - } - if ("thisYearSaMoney".equals(params.get("column"))) { - orderBy = "this_year_sa_money " + params.get("order").toString(); - } - if ("samoney_yoy".equals(params.get("column"))) { - orderBy = "CAST(TRIM(REGEXP_SUBSTR(samoney_yoy, '-?([0-9]+\\.?[0-9]*|[0-9]*\\.?[0-9]+)')) AS DECIMAL(10,2)) " + params.get("order").toString(); - } - if ("thisYearProfit".equals(params.get("column"))) { - orderBy = "this_year_profit " + params.get("order").toString(); - } - if ("profit_yoy".equals(params.get("column"))) { - orderBy = "CAST(TRIM(REGEXP_SUBSTR(profit_yoy, '-?([0-9]+\\.?[0-9]*|[0-9]*\\.?[0-9]+)')) AS DECIMAL(10,2)) " + params.get("order").toString(); - } - if ("thisYearCost".equals(params.get("column"))) { - orderBy = "this_year_cost " + params.get("order").toString(); - } - if ("thisYearSaMoneyShare".equals(params.get("column"))) { - orderBy = "this_year_sa_money_share " + params.get("order").toString(); - } - if ("thisprofitshare".equals(params.get("column"))) { - orderBy = "thisprofitshare " + params.get("order").toString(); - } - if ("thisYearSaMoneyGrowth".equals(params.get("column"))) { - orderBy = "CAST(TRIM(REGEXP_SUBSTR(this_year_sa_money_growth, '-?([0-9]+\\.?[0-9]*|[0-9]*\\.?[0-9]+)')) AS DECIMAL(10,2)) " + params.get("order").toString(); - } - page.setUnsafeOrderBy(orderBy); + if(params.containsKey("useMonth")){ + groupFieldList.add("useMonth"); + params.put("useMonthStart", params.get("useMonth")); + params.put("useMonthEnd", params.get("useMonth")); } - List newGrBiSaAggList = newGrBiSaAggYearCountService.selectNewGrBiSaAggGroupYearList(params, groupFieldList); - PageInfo pageInfo = new PageInfo<>(newGrBiSaAggList); - List> list = newGrBiSaAggList.stream().map(BeanUtil::beanToMap).collect(Collectors.toList()); - return ResultDataModel.fomat(pageInfo.getTotal(),list); + if(params.containsKey("useYear")){ + params.put("useYearStart", params.get("useYear")); + params.put("useYearEnd", params.get("useYear")); + } + Page page = PageHelper.startPage(Integer.parseInt(params.get("pageNo").toString()), Integer.parseInt(params.get("pageSize").toString())); + if(groupFieldList.contains("useMonth") || params.containsKey("useMonth")){ + setMonthOrderBy(params, page); + List newGrBiSaAggList = newGrBiSaAggMonthCountService.selectNewGrBiSaAggGroupMonthList(params, groupFieldList); + PageInfo pageInfo = new PageInfo<>(newGrBiSaAggList); + List> list = newGrBiSaAggList.stream().map(BeanUtil::beanToMap).collect(Collectors.toList()); + return ResultDataModel.fomat(pageInfo.getTotal(),list); + }else{ + if(params.containsKey("column")){ + String orderBy = ""; + if ("thisYearSaQty".equals(params.get("column"))) { + orderBy = "this_year_sa_qty " + params.get("order").toString(); + } + if ("saqty_yoy".equals(params.get("column"))) { + orderBy = "CAST(TRIM(REGEXP_SUBSTR(saqty_yoy, '-?([0-9]+\\.?[0-9]*|[0-9]*\\.?[0-9]+)')) AS DECIMAL(10,2)) " + params.get("order").toString(); + } + if ("thisYearSaMoney".equals(params.get("column"))) { + orderBy = "this_year_sa_money " + params.get("order").toString(); + } + if ("samoney_yoy".equals(params.get("column"))) { + orderBy = "CAST(TRIM(REGEXP_SUBSTR(samoney_yoy, '-?([0-9]+\\.?[0-9]*|[0-9]*\\.?[0-9]+)')) AS DECIMAL(10,2)) " + params.get("order").toString(); + } + if ("thisYearProfit".equals(params.get("column"))) { + orderBy = "this_year_profit " + params.get("order").toString(); + } + if ("profit_yoy".equals(params.get("column"))) { + orderBy = "CAST(TRIM(REGEXP_SUBSTR(profit_yoy, '-?([0-9]+\\.?[0-9]*|[0-9]*\\.?[0-9]+)')) AS DECIMAL(10,2)) " + params.get("order").toString(); + } + if ("thisYearCost".equals(params.get("column"))) { + orderBy = "this_year_cost " + params.get("order").toString(); + } + if ("thisYearSaMoneyShare".equals(params.get("column"))) { + orderBy = "this_year_sa_money_share " + params.get("order").toString(); + } + if ("thisprofitshare".equals(params.get("column"))) { + orderBy = "thisprofitshare " + params.get("order").toString(); + } + if ("thisYearSaMoneyGrowth".equals(params.get("column"))) { + orderBy = "CAST(TRIM(REGEXP_SUBSTR(this_year_sa_money_growth, '-?([0-9]+\\.?[0-9]*|[0-9]*\\.?[0-9]+)')) AS DECIMAL(10,2)) " + params.get("order").toString(); + } + page.setUnsafeOrderBy(orderBy); + } + List newGrBiSaAggList = newGrBiSaAggYearCountService.selectNewGrBiSaAggGroupYearList(params, groupFieldList); + PageInfo pageInfo = new PageInfo<>(newGrBiSaAggList); + List> list = newGrBiSaAggList.stream().map(BeanUtil::beanToMap).collect(Collectors.toList()); + return ResultDataModel.fomat(pageInfo.getTotal(),list); + } + } } diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/enhance/example/report/xtsy/ZhxsqkPluginLxfl.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/enhance/example/report/xtsy/ZhxsqkPluginLxfl.java index 5ccf3ce..ecef607 100644 --- a/lidee-core/src/main/java/com/lideeyunji/core/framework/enhance/example/report/xtsy/ZhxsqkPluginLxfl.java +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/enhance/example/report/xtsy/ZhxsqkPluginLxfl.java @@ -1,15 +1,16 @@ package com.lideeyunji.core.framework.enhance.example.report.xtsy; +import cn.hutool.core.collection.ListUtil; import com.lideeyunji.core.framework.config.aspect.enhancereport.model.EnhanceReportContext; import com.lideeyunji.core.framework.config.aspect.enhancereport.plugin.ReportAroundAdvicePlugin; +import com.lideeyunji.core.framework.service.INewGrBiSaAggMonthCountService; import com.lideeyunji.core.framework.service.INewGrBiSaAggYearCountService; import com.lideeyunji.tool.framework.yunji.model.ResultDataModel; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import javax.annotation.Resource; -import java.util.Arrays; import java.util.List; import static com.lideeyunji.core.framework.enhance.example.report.xtsy.ZhxsqkPluginJx.zhxsqkFun; @@ -24,10 +25,14 @@ public class ZhxsqkPluginLxfl implements ReportAroundAdvicePlugin { @Resource INewGrBiSaAggYearCountService newGrBiSaAggYearCountService; + @Resource + INewGrBiSaAggMonthCountService newGrBiSaAggMonthCountService; + + @Override public ResultDataModel executeAround(EnhanceReportContext enhanceContext) { log.info("进入=======>zhxsqkPluginLxfl=======>execute"); - List groupFieldList = Arrays.asList("useYear","effectName"); - return zhxsqkFun(enhanceContext, groupFieldList, newGrBiSaAggYearCountService); + List groupFieldList = ListUtil.toList("useYear","effectName"); + return zhxsqkFun(enhanceContext, groupFieldList, newGrBiSaAggYearCountService, newGrBiSaAggMonthCountService); } } diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/enhance/example/report/xtsy/ZhxsqkPluginXslx.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/enhance/example/report/xtsy/ZhxsqkPluginXslx.java index 50b48fc..79026d1 100644 --- a/lidee-core/src/main/java/com/lideeyunji/core/framework/enhance/example/report/xtsy/ZhxsqkPluginXslx.java +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/enhance/example/report/xtsy/ZhxsqkPluginXslx.java @@ -1,15 +1,16 @@ package com.lideeyunji.core.framework.enhance.example.report.xtsy; +import cn.hutool.core.collection.ListUtil; import com.lideeyunji.core.framework.config.aspect.enhancereport.model.EnhanceReportContext; import com.lideeyunji.core.framework.config.aspect.enhancereport.plugin.ReportAroundAdvicePlugin; +import com.lideeyunji.core.framework.service.INewGrBiSaAggMonthCountService; import com.lideeyunji.core.framework.service.INewGrBiSaAggYearCountService; import com.lideeyunji.tool.framework.yunji.model.ResultDataModel; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import javax.annotation.Resource; -import java.util.Arrays; import java.util.List; import static com.lideeyunji.core.framework.enhance.example.report.xtsy.ZhxsqkPluginJx.zhxsqkFun; @@ -24,10 +25,14 @@ public class ZhxsqkPluginXslx implements ReportAroundAdvicePlugin { @Resource INewGrBiSaAggYearCountService newGrBiSaAggYearCountService; + @Resource + INewGrBiSaAggMonthCountService newGrBiSaAggMonthCountService; + + @Override public ResultDataModel executeAround(EnhanceReportContext enhanceContext) { log.info("进入=======>zhxsqkPluginXslx=======>execute"); - List groupFieldList = Arrays.asList("useYear","saleTypeName"); - return zhxsqkFun(enhanceContext, groupFieldList, newGrBiSaAggYearCountService); + List groupFieldList = ListUtil.toList("useYear","saleTypeName"); + return zhxsqkFun(enhanceContext, groupFieldList, newGrBiSaAggYearCountService, newGrBiSaAggMonthCountService); } } diff --git a/lidee-core/src/main/resources/mapper/framework/NewGrBiSaAggMonthCountMapper.xml b/lidee-core/src/main/resources/mapper/framework/NewGrBiSaAggMonthCountMapper.xml index 7f970d3..792db6b 100644 --- a/lidee-core/src/main/resources/mapper/framework/NewGrBiSaAggMonthCountMapper.xml +++ b/lidee-core/src/main/resources/mapper/framework/NewGrBiSaAggMonthCountMapper.xml @@ -658,6 +658,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" current_month.dosage_id, current_month.dosage_name, + + current_month.effect_id, + current_month.effect_name, + current_month.std_goods_name, @@ -756,7 +760,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" dosage_id, dosage_name, - + + effect_id, + effect_name, + saler_id, saler_name, @@ -799,6 +806,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{name} + and effect_name in + + #{name} + + and goods_name in #{name} @@ -846,6 +858,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" dosage_id, dosage_name, + + effect_id, + effect_name, + saler_id, saler_name, @@ -873,6 +889,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" dosage_id, + + effect_id, + saler_id, @@ -902,6 +921,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" dosage_id, + + effect_id, + saler_id, @@ -926,6 +948,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND current_month.dosage_id = last_month_data.dosage_id + + AND current_month.effect_id = last_month_data.effect_id + AND current_month.saler_id = last_month_data.saler_id @@ -950,6 +975,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" dosage_id, + + effect_id, + saler_id, @@ -981,6 +1009,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{name} + and effect_name in + + #{name} + + and goods_name in #{name} @@ -1024,6 +1057,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" dosage_id, + + effect_id, + saler_id, @@ -1050,6 +1086,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND yoy_month.dosage_id = current_month.dosage_id + + AND yoy_month.effect_id = current_month.effect_id + AND yoy_month.saler_id = current_month.saler_id @@ -1091,6 +1130,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{name} + and current_month.effect_name in + + #{name} + + and current_month.goods_name in #{name}