From 35c66d27af5f6567b23fbbe702fef4378e440cc4 Mon Sep 17 00:00:00 2001 From: king Date: Thu, 7 May 2026 17:10:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BB=E8=A6=81=E4=BA=A7=E5=93=81=E5=89=8D10?= =?UTF-8?q?=E9=94=80=E5=94=AE=E6=94=B6=E5=85=A5=E4=B8=8E=E5=8D=A0=E6=AF=94?= =?UTF-8?q?=20=E8=B0=83=E6=95=B4,=E6=96=B0=E5=A2=9E=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../report/xtsy/stgoodTop10Plugin.java | 64 ++++++++++++++++++ .../entity/NewGrBiSaAggMonthCount.java | 12 ++++ .../mapper/NewGrBiSaAggMonthCountMapper.java | 19 ++++-- .../INewGrBiSaAggMonthCountService.java | 8 +-- .../NewGrBiSaAggMonthCountServiceImpl.java | 19 +++--- .../NewGrBiSaAggMonthCountMapper.xml | 66 +++++++++++++++++++ 6 files changed, 171 insertions(+), 17 deletions(-) create mode 100644 lidee-core/src/main/java/com/lideeyunji/core/framework/enhance/example/report/xtsy/stgoodTop10Plugin.java diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/enhance/example/report/xtsy/stgoodTop10Plugin.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/enhance/example/report/xtsy/stgoodTop10Plugin.java new file mode 100644 index 0000000..ea614ac --- /dev/null +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/enhance/example/report/xtsy/stgoodTop10Plugin.java @@ -0,0 +1,64 @@ + +package com.lideeyunji.core.framework.enhance.example.report.xtsy; + +import cn.hutool.core.bean.BeanUtil; +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.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.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 报表-主要产品前10销售收入与占比-插件 + */ +@Slf4j +@Component("stgoodTop10Plugin") +public class stgoodTop10Plugin implements ReportAroundAdvicePlugin { + + @Resource + INewGrBiSaAggMonthCountService newGrBiSaAggMonthCountService; + + + @Override + public ResultDataModel executeAround(EnhanceReportContext enhanceContext) { + log.info("进入=======>stgoodTop10Plugin=======>execute"); + Map params = enhanceContext.getParam().getParams(); + if(!params.containsKey("useYearStart")){ + params.put("useYearStart", "2026"); + params.put("useMonthStart", "1"); + } + if(!params.containsKey("useYearEnd")){ + params.put("useYearEnd", "2026"); + params.put("useMonthEnd", "4"); + } + 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.stgoodTop10(params); + 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/entity/NewGrBiSaAggMonthCount.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/entity/NewGrBiSaAggMonthCount.java index aa77bfb..2109408 100644 --- a/lidee-core/src/main/java/com/lideeyunji/core/framework/entity/NewGrBiSaAggMonthCount.java +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/entity/NewGrBiSaAggMonthCount.java @@ -85,6 +85,9 @@ public class NewGrBiSaAggMonthCount implements Serializable @TableField(value = "std_goods_name") private String stdGoodsName; + @TableField(value = "goods_id") + private String goodsId; + @TableField(value = "province_id") private String provinceId; @@ -190,4 +193,13 @@ public class NewGrBiSaAggMonthCount implements Serializable @TableField(value = "monthprofit_yoy") private String monthprofit_yoy; + @TableField(value = "yoy_money_sub") + private String yoyMoneySub; + + @TableField(value = "money") + private String money; + + @TableField(value = "money_share") + private String moneyShare; + } 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 5a49e7c..1ffcca0 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 @@ -1,16 +1,15 @@ package com.lideeyunji.core.framework.mapper; -import java.util.List; -import java.util.Map; - import com.baomidou.dynamic.datasource.annotation.DS; -import com.lideeyunji.core.framework.entity.NewGrBiSaAgg; -import com.lideeyunji.core.framework.entity.NewGrBiSaAggMonthCount; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.lideeyunji.core.framework.entity.NewGrBiSaAggMonthCount; import com.lideeyunji.core.framework.params.SaAggParam; import com.lideeyunji.tool.framework.permission.core.annotation.DataPermission; import org.apache.ibatis.annotations.Param; +import java.util.List; +import java.util.Map; + /** * 综合销售情况月维度Mapper接口 * @@ -100,4 +99,14 @@ public interface NewGrBiSaAggMonthCountMapper extends BaseMapper selectNewGrBiSaAggGroupNoMonthNoYearList(@Param("dataSourceType") String dataSourceType, @Param("saAggParam") SaAggParam saAggParam, @Param("params") Map params, @Param("groupFieldList")List groupFieldList); + /** + * 主要产品前10销售收入与占比 -月度 + * + * @param params 综合销售情况明细参数 + * @return 综合销售情况明细集合 + */ + @DataPermission(enable = false) + @DS(value = "#dataSourceType") + public List stgoodTop10(@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 e10fa5c..3ca1cd6 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 @@ -1,12 +1,11 @@ package com.lideeyunji.core.framework.service; +import com.lideeyunji.core.framework.entity.NewGrBiSaAggMonthCount; +import com.lideeyunji.core.framework.params.SaAggParam; + import java.util.List; import java.util.Map; -import com.lideeyunji.core.framework.entity.NewGrBiSaAgg; -import com.lideeyunji.core.framework.entity.NewGrBiSaAggMonthCount; -import com.lideeyunji.core.framework.params.SaAggParam; - /** * 综合销售情况月维度Service接口 * @@ -72,4 +71,5 @@ public interface INewGrBiSaAggMonthCountService public List selectNewGrBiSaAggGroupNoMonthNoYearList(Map params, List groupFieldList); + List stgoodTop10(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 e62e9c3..ebeb102 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 @@ -1,17 +1,15 @@ package com.lideeyunji.core.framework.service.impl; -import java.util.Collections; -import java.util.List; -import java.util.Map; - import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.lideeyunji.core.framework.entity.NewGrBiSaAgg; +import com.lideeyunji.core.framework.entity.NewGrBiSaAggMonthCount; +import com.lideeyunji.core.framework.mapper.NewGrBiSaAggMonthCountMapper; import com.lideeyunji.core.framework.params.SaAggParam; +import com.lideeyunji.core.framework.service.INewGrBiSaAggMonthCountService; import com.lideeyunji.tool.framework.common.constant.lideeYunJiBaseConstant; import org.springframework.stereotype.Service; -import com.lideeyunji.core.framework.mapper.NewGrBiSaAggMonthCountMapper; -import com.lideeyunji.core.framework.entity.NewGrBiSaAggMonthCount; -import com.lideeyunji.core.framework.service.INewGrBiSaAggMonthCountService; + +import java.util.List; +import java.util.Map; /** * 综合销售情况月维度Service业务层处理 @@ -116,4 +114,9 @@ public class NewGrBiSaAggMonthCountServiceImpl extends ServiceImpl stgoodTop10(Map params) { + return this.baseMapper.stgoodTop10(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 b279a94..ed7a192 100644 --- a/lidee-core/src/main/resources/mapper/framework/NewGrBiSaAggMonthCountMapper.xml +++ b/lidee-core/src/main/resources/mapper/framework/NewGrBiSaAggMonthCountMapper.xml @@ -1319,4 +1319,70 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" use_year = YEAR(CURDATE()) and sale_type_name in ( '代理品种','其他收入','自营品种','公司出口','委托加工','外贸品种') + + \ No newline at end of file