diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/enhance/example/report/xtsy/zdCustomerPlugin.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/enhance/example/report/xtsy/zdCustomerPlugin.java new file mode 100644 index 0000000..d1ccb4f --- /dev/null +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/enhance/example/report/xtsy/zdCustomerPlugin.java @@ -0,0 +1,66 @@ + +package com.lideeyunji.core.framework.enhance.example.report.xtsy; + +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.service.INewGrBiSaAggMonthCountService; +import com.lideeyunji.tool.framework.yunji.model.ResultDataModel; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; + +/** + * 报表-重点客户收入与占比情况-插件 + */ +@Slf4j +@Component("zdCustomerPlugin") +public class zdCustomerPlugin implements ReportAroundAdvicePlugin { + + @Resource + INewGrBiSaAggMonthCountService newGrBiSaAggMonthCountService; + + + @Override + public ResultDataModel executeAround(EnhanceReportContext enhanceContext) { + log.info("进入=======>zdCustomerPlugin=======>execute"); + Map params = enhanceContext.getParam().getParams(); + // 获取一个月前的时间和年月 + LocalDateTime lastNow = LocalDateTime.now().minusMonths(1); + int lastYear = lastNow.getYear(); + int lastMonth = lastNow.getMonthValue(); + if(!params.containsKey("useYearStart")){ + params.put("useYearStart", lastYear); + params.put("useMonthStart", "1"); + } + if(!params.containsKey("useYearEnd")){ + params.put("useYearEnd", lastYear); + params.put("useMonthEnd", lastMonth); + } + Page page = PageHelper.startPage(Integer.parseInt(params.get("pageNo").toString()), Integer.parseInt(params.get("pageSize").toString())); +// if (params.containsKey("column")) { +// String orderBy = params.get("column") + " " + params.get("order"); +//// 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(); +//// } +// page.setUnsafeOrderBy(orderBy); +// } + List> newGrBiSaAggList = newGrBiSaAggMonthCountService.zdCustomer(params); + PageInfo> pageInfo = new PageInfo<>(newGrBiSaAggList); +// List> list = newGrBiSaAggList.stream().map(BeanUtil::beanToMap).collect(Collectors.toList()); + return ResultDataModel.fomat(pageInfo.getTotal(), newGrBiSaAggList); + + } +} diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/mapper/NewGrBiSaAggMonthCountMapper.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/mapper/NewGrBiSaAggMonthCountMapper.java index 1ffcca0..389674f 100644 --- a/lidee-core/src/main/java/com/lideeyunji/core/framework/mapper/NewGrBiSaAggMonthCountMapper.java +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/mapper/NewGrBiSaAggMonthCountMapper.java @@ -109,4 +109,14 @@ public interface NewGrBiSaAggMonthCountMapper extends BaseMapper stgoodTop10(@Param("dataSourceType") String dataSourceType, @Param("params") Map params); + /** + * 重点客户收入与占比情况 -月度 + * + * @param params 综合销售情况明细参数 + * @return 综合销售情况明细集合 + */ + @DataPermission(enable = false) + @DS(value = "#dataSourceType") + public List> zdCustomer(@Param("dataSourceType") String dataSourceType, @Param("params") Map params); + } diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/service/INewGrBiSaAggMonthCountService.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/service/INewGrBiSaAggMonthCountService.java index 3ca1cd6..aa0bb6d 100644 --- a/lidee-core/src/main/java/com/lideeyunji/core/framework/service/INewGrBiSaAggMonthCountService.java +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/service/INewGrBiSaAggMonthCountService.java @@ -72,4 +72,6 @@ public interface INewGrBiSaAggMonthCountService public List selectNewGrBiSaAggGroupNoMonthNoYearList(Map params, List groupFieldList); List stgoodTop10(Map params); + + List> zdCustomer(Map params); } diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/service/impl/NewGrBiSaAggMonthCountServiceImpl.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/service/impl/NewGrBiSaAggMonthCountServiceImpl.java index ebeb102..5f88e19 100644 --- a/lidee-core/src/main/java/com/lideeyunji/core/framework/service/impl/NewGrBiSaAggMonthCountServiceImpl.java +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/service/impl/NewGrBiSaAggMonthCountServiceImpl.java @@ -119,4 +119,8 @@ public class NewGrBiSaAggMonthCountServiceImpl extends ServiceImpl stgoodTop10(Map params) { return this.baseMapper.stgoodTop10(lideeYunJiBaseConstant.DS_ERP_BI_DATA, params); } + @Override + public List> zdCustomer(Map params) { + return this.baseMapper.zdCustomer(lideeYunJiBaseConstant.DS_ERP_BI_DATA, params); + } } diff --git a/lidee-core/src/main/resources/mapper/framework/NewGrBiSaAggMonthCountMapper.xml b/lidee-core/src/main/resources/mapper/framework/NewGrBiSaAggMonthCountMapper.xml index ed7a192..6ecb164 100644 --- a/lidee-core/src/main/resources/mapper/framework/NewGrBiSaAggMonthCountMapper.xml +++ b/lidee-core/src/main/resources/mapper/framework/NewGrBiSaAggMonthCountMapper.xml @@ -1385,4 +1385,113 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ORDER BY money DESC + + + \ No newline at end of file