From e7bc45add5319ca0e3f0dc62138974413c8a6048 Mon Sep 17 00:00:00 2001 From: king Date: Mon, 23 Mar 2026 16:38:05 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=BC=E5=90=88=E9=94=80=E5=94=AE=E6=83=85?= =?UTF-8?q?=E5=86=B5=E8=A1=A8=20=E6=9F=A5=E8=AF=A2=E5=90=88=E8=AE=A1?= =?UTF-8?q?=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../NewGrBiSaAggMonthCountController.java | 84 ++++++++++++++++ .../NewGrBiSaAggYearCountController.java | 96 +++++++++++++++++++ .../report/xtsy/zhxsqkLineReportEnhance.java | 33 ++++--- .../entity/NewGrBiSaAggMonthCount.java | 5 + .../entity/NewGrBiSaAggYearCount.java | 6 +- .../mapper/NewGrBiSaAggMonthCountMapper.java | 7 ++ .../mapper/NewGrBiSaAggYearCountMapper.java | 8 ++ .../core/framework/params/SaAggParam.java | 19 ++++ .../INewGrBiSaAggMonthCountService.java | 3 + .../INewGrBiSaAggYearCountService.java | 3 + .../NewGrBiSaAggMonthCountServiceImpl.java | 8 ++ .../NewGrBiSaAggYearCountServiceImpl.java | 8 ++ .../NewGrBiSaAggMonthCountMapper.xml | 32 +++++++ .../framework/NewGrBiSaAggYearCountMapper.xml | 38 ++++++++ 14 files changed, 331 insertions(+), 19 deletions(-) create mode 100644 lidee-core/src/main/java/com/lideeyunji/core/framework/controller/NewGrBiSaAggMonthCountController.java create mode 100644 lidee-core/src/main/java/com/lideeyunji/core/framework/controller/NewGrBiSaAggYearCountController.java create mode 100644 lidee-core/src/main/java/com/lideeyunji/core/framework/params/SaAggParam.java diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/controller/NewGrBiSaAggMonthCountController.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/controller/NewGrBiSaAggMonthCountController.java new file mode 100644 index 0000000..3377b43 --- /dev/null +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/controller/NewGrBiSaAggMonthCountController.java @@ -0,0 +1,84 @@ +package com.lideeyunji.core.framework.controller; + +import com.lideeyunji.core.framework.entity.NewGrBiSaAggMonthCount; +import com.lideeyunji.core.framework.entity.NewGrBiSaAggYearCount; +import com.lideeyunji.core.framework.params.SaAggParam; +import com.lideeyunji.core.framework.service.INewGrBiSaAggMonthCountService; +import com.lideeyunji.core.framework.service.INewGrBiSaAggYearCountService; +import com.lideeyunji.core.framework.utils.FuncWeb; +import com.lideeyunji.tool.framework.common.constant.lideeYunJiBaseConstant; +import com.lideeyunji.tool.framework.tenant.core.aop.TenantIgnore; +import com.lideeyunji.tool.framework.yunji.model.global.BaseWebResult; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; +import java.util.*; + +/** + * 综合销售情况月维度Controller + * + * @author king + * @date 2026-03-19 + */ +@TenantIgnore +@RestController +@RequestMapping(lideeYunJiBaseConstant.REQUEST_URL_START+"/agg/month") +public class NewGrBiSaAggMonthCountController extends BaseController +{ + @Autowired + private INewGrBiSaAggMonthCountService newGrBiSaAggMonthCountService; + + @Autowired + private INewGrBiSaAggYearCountService newGrBiSaAggYearCountService; + + + /** + * 查询综合销售情况月维度-总计 + */ +// @PreAuthorize("@ss.hasPermi('agg:month:total:detail')") + @PostMapping("/total/detail") + public BaseWebResult getTotalDetail(HttpServletRequest req) + { + Map params = FuncWeb.getParameterBodyMap(req); + SaAggParam saAggParam = new SaAggParam(); + + if (params.containsKey("usemonth")){ + saAggParam.setUseMonth(params.get("usemonth").toString()); + } + if(params.containsKey("useyear")){ + saAggParam.setUseYear(params.get("useyear").toString()); + } + if(params.containsKey("customname")){ + saAggParam.setCustomName(Arrays.asList(params.get("customname").toString().split(","))); + } + if (params.containsKey("zonename")){ + saAggParam.setZoneName(Arrays.asList(params.get("zonename").toString().split( ","))); + } + if (params.containsKey("saletypename")){ + saAggParam.setSaleTypeName(Arrays.asList(params.get("saletypename").toString().split( ","))); + } + + if (params.containsKey("salername")){ + saAggParam.setSalerName(Arrays.asList(params.get("salername").toString().split( ","))); + } + if (params.containsKey("dosagename")){ + saAggParam.setDosageName(Arrays.asList(params.get("dosagename").toString().split( ","))); + } + if (params.containsKey("stdGoodsName")){ + saAggParam.setStdGoodsName(Arrays.asList(params.get("stdGoodsName").toString().split( ","))); + } + if (params.containsKey("usemonth")){ + List list = newGrBiSaAggMonthCountService.getTotalDetail(saAggParam); + return BaseWebResult.success(list); + }else{ + List list = newGrBiSaAggYearCountService.getTotalDetail(saAggParam); + return BaseWebResult.success(list); + } + + } + +} diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/controller/NewGrBiSaAggYearCountController.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/controller/NewGrBiSaAggYearCountController.java new file mode 100644 index 0000000..e605b08 --- /dev/null +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/controller/NewGrBiSaAggYearCountController.java @@ -0,0 +1,96 @@ +package com.lideeyunji.core.framework.controller; + +import com.lideeyunji.core.framework.entity.NewGrBiSaAggMonthCount; +import com.lideeyunji.core.framework.entity.NewGrBiSaAggYearCount; +import com.lideeyunji.core.framework.params.SaAggParam; +import com.lideeyunji.core.framework.service.INewGrBiSaAggYearCountService; +import com.lideeyunji.core.framework.utils.FuncWeb; +import com.lideeyunji.tool.framework.common.constant.lideeYunJiBaseConstant; +import com.lideeyunji.tool.framework.tenant.core.aop.TenantIgnore; +import com.lideeyunji.tool.framework.yunji.model.global.BaseWebResult; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; +import java.util.Arrays; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +/** + * 综合销售情况年维度Controller + * + * @author king + * @date 2026-03-19 + */ +@TenantIgnore +@RestController +@RequestMapping(lideeYunJiBaseConstant.REQUEST_URL_START+"/agg/year") +public class NewGrBiSaAggYearCountController extends BaseController +{ + @Autowired + private INewGrBiSaAggYearCountService newGrBiSaAggYearCountService; + +// /** +// * 查询综合销售情况年维度-总计 +// */ +//// @PreAuthorize("@ss.hasPermi('agg:month:total:detail')") +// @PostMapping("/total/detail") +// public BaseWebResult getTotalDetail(HttpServletRequest req) { +// Map params = FuncWeb.getParameterBodyMap(req); +// SaAggParam saAggParam = new SaAggParam(); +// String groupField = params.get("Group by").toString(); +// LinkedList groupFieldList = new LinkedList<>(Arrays.asList(groupField.split(","))); +// +// if (params.containsKey("useyear")) { +// saAggParam.setUseYear(params.get("useyear").toString()); +// if (!groupField.contains("useyear")) { +// groupFieldList.addFirst("useyear"); +// } +// } +// if (params.containsKey("customname")) { +// saAggParam.setCustomName(Arrays.asList(params.get("customname").toString().split( ","))); +// if (!groupField.contains("customname")) { +// groupFieldList.addLast("customname"); +// } +// } +// if (params.containsKey("zonename")) { +// saAggParam.setZoneName(Arrays.asList(params.get("zonename").toString().split( ","))); +// if (!groupField.contains("zonename")) { +// groupFieldList.addLast("zonename"); +// } +// } +// if (params.containsKey("saletypename")) { +// saAggParam.setSaleTypeName(Arrays.asList(params.get("saletypename").toString().split( ","))); +// if (!groupField.contains("saletypename")) { +// groupFieldList.addLast("saletypename"); +// } +// } +// +// if (params.containsKey("salername")) { +// saAggParam.setSalerName(Arrays.asList(params.get("salername").toString().split( ","))); +// if (!groupField.contains("salername")) { +// groupFieldList.addLast("salername"); +// } +// } +// if (params.containsKey("dosagename")) { +// saAggParam.setDosageName(Arrays.asList(params.get("dosagename").toString().split( ","))); +// if (!groupField.contains("dosagename")) { +// groupFieldList.addLast("dosagename"); +// } +// } +// if (params.containsKey("stdGoodsName")) { +// saAggParam.setStdGoodsName(Arrays.asList(params.get("stdGoodsName").toString().split( ","))); +// if (!groupField.contains("stdGoodsName")) { +// groupFieldList.addLast("stdGoodsName"); +// } +// } +// saAggParam.setGroupFieldList(groupFieldList); +// List list = newGrBiSaAggYearCountService.getTotalDetail(saAggParam); +// return BaseWebResult.success(list); +// } +} diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/enhance/example/report/xtsy/zhxsqkLineReportEnhance.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/enhance/example/report/xtsy/zhxsqkLineReportEnhance.java index 8576c87..0f8ede2 100644 --- a/lidee-core/src/main/java/com/lideeyunji/core/framework/enhance/example/report/xtsy/zhxsqkLineReportEnhance.java +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/enhance/example/report/xtsy/zhxsqkLineReportEnhance.java @@ -68,9 +68,8 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin { executePluginSql.append(" ROUND(SUM(last_year_data.last_year_profit) / 10000, 2) AS lastYearProfit, \n");//上年毛利额(元) executePluginSql.append(" ROUND(SUM(last_year_data.last_year_cost) / 10000, 2) AS lastYearCost, \n"); //上年销售成本(元) -// executePluginSql.append(" ROUND(avg(current_year_data.profit_change), 2) as profitchange, \n"); //毛利变动(元) -// executePluginSql.append(" ROUND(avg(current_year_data.profit_growth), 2) as profitgrowth, \n"); //毛利额增长率 -// executePluginSql.append(" ROUND(avg(current_year_data.this_profit_rate), 2) as thisprofitrate, \n"); //本年毛利率 +// executePluginSql.append(" CONCAT(ROUND((max(total_year_data.this_year_sa_money_sum))/100000000 ,2), '亿') AS thissamoney_s, \n"); +// executePluginSql.append(" CONCAT(ROUND((max(total_year_data.this_year_profit_sum))/100000000 ,2), '亿') AS thisprofit_s, \n"); executePluginSql.append(" COALESCE(ROUND(sum(current_year_data.this_year_sa_money) / SUM(total_year_data.this_year_sa_money_sum) * 100, 2), 0) AS this_year_sa_money_share, \n");//上年销售金额占比 executePluginSql.append(" COALESCE (ROUND( sum(current_year_data.this_year_profit)/SUM(total_year_data.this_year_profit_sum) * 100, 2), 0 ) as thisprofitshare, \n"); //本年毛利额占比 executePluginSql.append(" -- 数量同比(原有) \n"); @@ -157,7 +156,6 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin { executePluginSql.append(" SUM(this_year_sa_money) AS this_year_sa_money_sum, \n"); executePluginSql.append(" SUM(this_year_profit) AS this_year_profit_sum \n"); executePluginSql.append(" FROM new_gr_bi_sa_agg_year_count \n"); - executePluginSql.append(" WHERE use_year = 2026 \n"); executePluginSql.append(" GROUP BY use_year) as total_year_data \n"); executePluginSql.append(" ON total_year_data.use_year = current_year_data.use_year \n"); @@ -236,23 +234,24 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin { if (groupFieldList.contains("stdGoodsName") || params.containsKey("stdGoodsName")) { //标准品名 executePluginSql.append(" current_month.std_goods_name as stdGoodsName, \n"); } - executePluginSql.append(" SUM(current_month.this_month_sa_qty) as thisMonthSaQty, "); //本月销售数量(件) - executePluginSql.append(" ROUND(SUM(current_month.this_month_sa_money) / 10000, 2) as thisMonthSaMoney, "); //本月销售金额(元) - executePluginSql.append(" ROUND(SUM(current_month.this_month_profit) / 10000, 2) as thisMonthProfit, "); //本月毛利额(元) - executePluginSql.append(" ROUND(SUM(current_month.this_month_cost) / 10000, 2) as thisMonthCost, "); //本月成本(元) + executePluginSql.append(" SUM(current_month.this_month_sa_qty) as thisMonthSaQty, \n"); //本月销售数量(件) + executePluginSql.append(" ROUND(SUM(current_month.this_month_sa_money) / 10000, 2) as thisMonthSaMoney, \n"); //本月销售金额(元) + executePluginSql.append(" ROUND(SUM(current_month.this_month_profit) / 10000, 2) as thisMonthProfit, \n"); //本月毛利额(元) + executePluginSql.append(" ROUND(SUM(current_month.this_month_cost) / 10000, 2) as thisMonthCost, \n"); //本月成本(元) - executePluginSql.append(" SUM(last_month_data.last_month_sa_qty) as lastMonthSaQty, "); //上月销售数量(件) - executePluginSql.append(" ROUND(SUM(last_month_data.last_month_sa_money) / 10000, 2) as lastMonthSaMoney, "); //上月销售金额(元) - executePluginSql.append(" ROUND(SUM(last_month_data.last_month_profit) / 10000, 2) as lastMonthProfit, "); //上月毛利额(元) - executePluginSql.append(" ROUND(SUM(last_month_data.last_month_cost) / 10000, 2) as lastMonthCost, "); //上月成本(元) + executePluginSql.append(" SUM(last_month_data.last_month_sa_qty) as lastMonthSaQty, \n"); //上月销售数量(件) + executePluginSql.append(" ROUND(SUM(last_month_data.last_month_sa_money) / 10000, 2) as lastMonthSaMoney, \n"); //上月销售金额(元) + executePluginSql.append(" ROUND(SUM(last_month_data.last_month_profit) / 10000, 2) as lastMonthProfit, \n"); //上月毛利额(元) + executePluginSql.append(" ROUND(SUM(last_month_data.last_month_cost) / 10000, 2) as lastMonthCost, \n"); //上月成本(元) + + executePluginSql.append(" ROUND(SUM(yoy_month.yoy_month_sa_qty)/ 10000, 2) as yoyMonthSaQty, \n"); //同比月销售数量(件) + executePluginSql.append(" ROUND(SUM(yoy_month.yoy_month_sa_money) / 10000, 2) as yoyMonthSaMoney, \n"); //同比月销售金额(元) + executePluginSql.append(" ROUND(SUM(yoy_month.yoy_month_profit) / 10000, 2) as yoyMonthProfit, \n"); //同比月毛利额(元) + executePluginSql.append(" ROUND(SUM(yoy_month.yoy_month_cost) / 10000, 2) as yoyMonthCost, \n"); //同比月成本(元) - executePluginSql.append(" ROUND(SUM(yoy_month.yoy_month_sa_qty)/ 10000, 2) as yoyMonthSaQty, "); //同比月销售数量(件) - executePluginSql.append(" ROUND(SUM(yoy_month.yoy_month_sa_money) / 10000, 2) as yoyMonthSaMoney, "); //同比月销售金额(元) - executePluginSql.append(" ROUND(SUM(yoy_month.yoy_month_profit) / 10000, 2) as yoyMonthProfit, "); //同比月毛利额(元) - executePluginSql.append(" ROUND(SUM(yoy_month.yoy_month_cost) / 10000, 2) as yoyMonthCost, "); //同比月成本(元) executePluginSql.append(" GROUP_CONCAT(DISTINCT current_month.province_id ORDER BY current_month.province_id SEPARATOR ',') as province_id, \n"); //行政区域ID executePluginSql.append(" GROUP_CONCAT(DISTINCT current_month.province_name ORDER BY current_month.province_name SEPARATOR ',') as province_name, \n"); //行政区域名称 - executePluginSql.append(" CASE WHEN (CASE WHEN sum(yoy_month.yoy_month_sa_qty) = 0 THEN IF(sum(current_month.this_month_sa_qty) > 0, 100, 0)\n"); + executePluginSql.append(" CASE WHEN (CASE WHEN sum(yoy_month.yoy_month_sa_qty) = 0 THEN IF(sum(current_month.this_month_sa_qty) > 0, 100, 0)\n"); executePluginSql.append(" ELSE (sum(current_month.this_month_sa_qty) - sum(yoy_month.yoy_month_sa_qty)) / sum(yoy_month.yoy_month_sa_qty) * 100 END) > 0 THEN\n"); executePluginSql.append(" CONCAT('🟢 ', ROUND((CASE WHEN sum(yoy_month.yoy_month_sa_qty) = 0 THEN IF(sum(current_month.this_month_sa_qty) > 0, 100, 0)\n"); executePluginSql.append(" ELSE (sum(current_month.this_month_sa_qty) - sum(yoy_month.yoy_month_sa_qty)) / sum(yoy_month.yoy_month_sa_qty) * 100 END), 2))\n"); 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 c153a65..4645899 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 @@ -3,6 +3,7 @@ package com.lideeyunji.core.framework.entity; import java.math.BigDecimal; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +import jdk.nashorn.internal.ir.annotations.Ignore; import lombok.Data; import java.io.Serializable; @@ -149,7 +150,11 @@ public class NewGrBiSaAggMonthCount implements Serializable private BigDecimal thisMonthProfitShare; + @TableField(value = "thissamoney_s") + private BigDecimal thissamoney_s; + @TableField(value = "thisprofit_s") + private BigDecimal thisprofit_s; } diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/entity/NewGrBiSaAggYearCount.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/entity/NewGrBiSaAggYearCount.java index bf58de5..77f8b21 100644 --- a/lidee-core/src/main/java/com/lideeyunji/core/framework/entity/NewGrBiSaAggYearCount.java +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/entity/NewGrBiSaAggYearCount.java @@ -145,8 +145,10 @@ public class NewGrBiSaAggYearCount implements Serializable @TableField(value = "this_year_profit_change") private BigDecimal thisYearProfitChange; + @TableField(value = "this_year_sa_money_s") + private BigDecimal thisYearSaMoney_s; - - + @TableField(value = "this_year_profit_s") + private BigDecimal thisYearProfit_s; } 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 ddb35b1..bc30432 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,8 +1,12 @@ package com.lideeyunji.core.framework.mapper; import java.util.List; + +import com.baomidou.dynamic.datasource.annotation.DS; import com.lideeyunji.core.framework.entity.NewGrBiSaAggMonthCount; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.lideeyunji.core.framework.params.SaAggParam; +import org.apache.ibatis.annotations.Param; /** * 综合销售情况月维度Mapper接口 @@ -59,4 +63,7 @@ public interface NewGrBiSaAggMonthCountMapper extends BaseMapper getTotalDetail(@Param("dataSourceType") String dataSourceType, @Param("saAggParam") SaAggParam saAggParam); } diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/mapper/NewGrBiSaAggYearCountMapper.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/mapper/NewGrBiSaAggYearCountMapper.java index 218f4f2..73c6bcd 100644 --- a/lidee-core/src/main/java/com/lideeyunji/core/framework/mapper/NewGrBiSaAggYearCountMapper.java +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/mapper/NewGrBiSaAggYearCountMapper.java @@ -1,8 +1,12 @@ package com.lideeyunji.core.framework.mapper; import java.util.List; + +import com.baomidou.dynamic.datasource.annotation.DS; import com.lideeyunji.core.framework.entity.NewGrBiSaAggYearCount; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.lideeyunji.core.framework.params.SaAggParam; +import org.apache.ibatis.annotations.Param; /** * 综合销售情况年维度Mapper接口 @@ -59,4 +63,8 @@ public interface NewGrBiSaAggYearCountMapper extends BaseMapper getTotalDetail(@Param("dataSourceType") String dataSourceType,@Param("saAggParam") SaAggParam saAggParam); } diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/params/SaAggParam.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/params/SaAggParam.java new file mode 100644 index 0000000..39232a0 --- /dev/null +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/params/SaAggParam.java @@ -0,0 +1,19 @@ +package com.lideeyunji.core.framework.params; + +import lombok.Data; + +import java.util.List; + +@Data +public class SaAggParam { + private String useYear; + private String useMonth; + private List customName; + private List zoneName; + private List saleTypeName; + private List salerName; + private List dosageName; + private List stdGoodsName; + + private List groupFieldList; +} 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 38f9ee2..16f646d 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 @@ -2,6 +2,7 @@ package com.lideeyunji.core.framework.service; import java.util.List; import com.lideeyunji.core.framework.entity.NewGrBiSaAggMonthCount; +import com.lideeyunji.core.framework.params.SaAggParam; /** * 综合销售情况月维度Service接口 @@ -58,4 +59,6 @@ public interface INewGrBiSaAggMonthCountService * @return 结果 */ public int deleteNewGrBiSaAggMonthCountById(Long id); + + List getTotalDetail(SaAggParam saAggParam); } diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/service/INewGrBiSaAggYearCountService.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/service/INewGrBiSaAggYearCountService.java index 51d457a..734f32e 100644 --- a/lidee-core/src/main/java/com/lideeyunji/core/framework/service/INewGrBiSaAggYearCountService.java +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/service/INewGrBiSaAggYearCountService.java @@ -2,6 +2,7 @@ package com.lideeyunji.core.framework.service; import java.util.List; import com.lideeyunji.core.framework.entity.NewGrBiSaAggYearCount; +import com.lideeyunji.core.framework.params.SaAggParam; /** * 综合销售情况年维度Service接口 @@ -58,4 +59,6 @@ public interface INewGrBiSaAggYearCountService * @return 结果 */ public int deleteNewGrBiSaAggYearCountById(Long id); + + List getTotalDetail(SaAggParam saAggParam); } 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 3f1ed4c..c14cdc5 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,7 +1,10 @@ package com.lideeyunji.core.framework.service.impl; +import java.util.Collections; import java.util.List; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.lideeyunji.core.framework.params.SaAggParam; +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; @@ -87,4 +90,9 @@ public class NewGrBiSaAggMonthCountServiceImpl extends ServiceImpl getTotalDetail(SaAggParam saAggParam) { + return this.baseMapper.getTotalDetail(lideeYunJiBaseConstant.DS_ERP_BI_DATA, saAggParam); + } } diff --git a/lidee-core/src/main/java/com/lideeyunji/core/framework/service/impl/NewGrBiSaAggYearCountServiceImpl.java b/lidee-core/src/main/java/com/lideeyunji/core/framework/service/impl/NewGrBiSaAggYearCountServiceImpl.java index 3c36528..1493d17 100644 --- a/lidee-core/src/main/java/com/lideeyunji/core/framework/service/impl/NewGrBiSaAggYearCountServiceImpl.java +++ b/lidee-core/src/main/java/com/lideeyunji/core/framework/service/impl/NewGrBiSaAggYearCountServiceImpl.java @@ -1,7 +1,10 @@ package com.lideeyunji.core.framework.service.impl; +import java.util.Collections; import java.util.List; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.lideeyunji.core.framework.params.SaAggParam; +import com.lideeyunji.tool.framework.common.constant.lideeYunJiBaseConstant; import org.springframework.stereotype.Service; import com.lideeyunji.core.framework.mapper.NewGrBiSaAggYearCountMapper; import com.lideeyunji.core.framework.entity.NewGrBiSaAggYearCount; @@ -87,4 +90,9 @@ public class NewGrBiSaAggYearCountServiceImpl extends ServiceImpl getTotalDetail(SaAggParam saAggParam) { + return this.baseMapper.getTotalDetail(lideeYunJiBaseConstant.DS_ERP_BI_DATA, saAggParam); + } } diff --git a/lidee-core/src/main/resources/mapper/framework/NewGrBiSaAggMonthCountMapper.xml b/lidee-core/src/main/resources/mapper/framework/NewGrBiSaAggMonthCountMapper.xml index ef373b8..9ceb01d 100644 --- a/lidee-core/src/main/resources/mapper/framework/NewGrBiSaAggMonthCountMapper.xml +++ b/lidee-core/src/main/resources/mapper/framework/NewGrBiSaAggMonthCountMapper.xml @@ -38,12 +38,44 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + select id, use_year, use_month, zone_id, zone_name, sale_type_id, sale_type_name, custom_id, custom_name, dosage_id, dosage_name, goods_id, std_goods_name, province_id, province_name, saler_id, saler_name, this_month_sa_qty, last_month_sa_qty, yoy_month_sa_qty, this_month_sa_money, last_month_sa_money, yoy_month_sa_money, this_month_profit, last_month_profit, yoy_month_profit, this_month_cost, last_month_cost, yoy_month_cost, this_month_profit_rate, last_month_profit_rate, last_month_profit_share, this_month_sa_money_share, this_month_profit_share from new_gr_bi_sa_agg_month_count + + + SELECT + use_year, + SUM( this_year_sa_money ) AS this_year_sa_money_s, + SUM( this_year_profit ) AS this_year_profit_s + FROM new_gr_bi_sa_agg_year_count + + and use_year = #{saAggParam.useYear} + and custom_name in + #{field} + + and zone_name in + #{field} + + and sale_type_name in + #{field} + + and saler_name in + #{field} + + and dosage_name in + #{field} + + and std_goods_name in + #{field} + + + + + + + + + + +