Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
wangxiaolu-link-module-bi
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
sfa
wangxiaolu-link-module-bi
Commits
3c08d996
提交
3c08d996
authored
12月 02, 2024
作者:
李秋林
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
日销明细中请求中,返回表+图的格式
上级
e67a27c4
显示空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
81 行增加
和
17 行删除
+81
-17
SummaryMarketDailyDetailController.java
.../controller/query/SummaryMarketDailyDetailController.java
+3
-3
IEcMarketDailyDetailDao.java
.../java/com/link/bi/domain/dao/IEcMarketDailyDetailDao.java
+2
-0
EcMarketDailyDetailDaoImpl.java
...m/link/bi/domain/dao/impl/EcMarketDailyDetailDaoImpl.java
+5
-0
EcMarketDailyDetailMapper.java
.../com/link/bi/domain/mapper/EcMarketDailyDetailMapper.java
+1
-0
MarketDetailWq.java
src/main/java/com/link/bi/domain/wq/MarketDetailWq.java
+7
-0
MarketSummaryVo.java
src/main/java/com/link/bi/pojo/request/MarketSummaryVo.java
+16
-0
MarketSummaryDto.java
...main/java/com/link/bi/pojo/response/MarketSummaryDto.java
+12
-0
ISummaryMarketDailyDetailService.java
...com/link/bi/service/ISummaryMarketDailyDetailService.java
+2
-1
SummaryMarketDailyDetailImpl.java
...om/link/bi/service/impl/SummaryMarketDailyDetailImpl.java
+10
-3
EcMarketDailyDetailMapper.xml
src/main/resources/mapper/bi/EcMarketDailyDetailMapper.xml
+23
-10
没有找到文件。
src/main/java/com/link/bi/controller/query/SummaryMarketDailyDetailController.java
浏览文件 @
3c08d996
package
com
.
link
.
bi
.
controller
.
query
;
package
com
.
link
.
bi
.
controller
.
query
;
import
com.link.bi.pojo.request.MarketSummaryVo
;
import
com.link.bi.pojo.request.MarketSummaryVo
;
import
com.link.bi.pojo.response.MarketSummaryDto
;
import
com.link.bi.service.ISummaryMarketDailyDetailService
;
import
com.link.bi.service.ISummaryMarketDailyDetailService
;
import
com.sfa.common.security.annotation.RequiresPermissions
;
import
com.sfa.common.security.annotation.RequiresPermissions
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -9,7 +8,7 @@ import org.springframework.web.bind.annotation.GetMapping;
...
@@ -9,7 +8,7 @@ import org.springframework.web.bind.annotation.GetMapping;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.
List
;
import
java.util.
Map
;
/**
/**
* @author : liqiulin
* @author : liqiulin
...
@@ -28,7 +27,8 @@ public class SummaryMarketDailyDetailController {
...
@@ -28,7 +27,8 @@ public class SummaryMarketDailyDetailController {
*/
*/
@RequiresPermissions
(
"bi:store:list"
)
@RequiresPermissions
(
"bi:store:list"
)
@GetMapping
(
"/sum_d"
)
@GetMapping
(
"/sum_d"
)
public
List
<
MarketSummaryDto
>
marketSummary
(
MarketSummaryVo
summaryVo
){
public
Map
marketSummary
(
MarketSummaryVo
summaryVo
){
summaryVo
.
setDate
();
return
summaryService
.
marketSummary
(
summaryVo
);
return
summaryService
.
marketSummary
(
summaryVo
);
}
}
...
...
src/main/java/com/link/bi/domain/dao/IEcMarketDailyDetailDao.java
浏览文件 @
3c08d996
...
@@ -17,4 +17,6 @@ public interface IEcMarketDailyDetailDao {
...
@@ -17,4 +17,6 @@ public interface IEcMarketDailyDetailDao {
* YTD、MTD、近7日、昨日
* YTD、MTD、近7日、昨日
*/
*/
List
<
MarketSummaryDto
>
summaryByPlatform
(
MarketDetailWq
mqw
);
List
<
MarketSummaryDto
>
summaryByPlatform
(
MarketDetailWq
mqw
);
List
<
MarketSummaryDto
>
chartByPlatform
(
MarketDetailWq
mqw
);
}
}
src/main/java/com/link/bi/domain/dao/impl/EcMarketDailyDetailDaoImpl.java
浏览文件 @
3c08d996
...
@@ -28,4 +28,9 @@ public class EcMarketDailyDetailDaoImpl implements IEcMarketDailyDetailDao {
...
@@ -28,4 +28,9 @@ public class EcMarketDailyDetailDaoImpl implements IEcMarketDailyDetailDao {
public
List
<
MarketSummaryDto
>
summaryByPlatform
(
MarketDetailWq
mqw
)
{
public
List
<
MarketSummaryDto
>
summaryByPlatform
(
MarketDetailWq
mqw
)
{
return
mapper
.
summaryByPlatform
(
mqw
);
return
mapper
.
summaryByPlatform
(
mqw
);
}
}
@Override
public
List
<
MarketSummaryDto
>
chartByPlatform
(
MarketDetailWq
mqw
)
{
return
mapper
.
chartByPlatform
(
mqw
);
}
}
}
src/main/java/com/link/bi/domain/mapper/EcMarketDailyDetailMapper.java
浏览文件 @
3c08d996
...
@@ -25,6 +25,7 @@ public interface EcMarketDailyDetailMapper extends BaseMapper<EcMarketDailyDetai
...
@@ -25,6 +25,7 @@ public interface EcMarketDailyDetailMapper extends BaseMapper<EcMarketDailyDetai
*/
*/
List
<
MarketSummaryDto
>
summaryByPlatform
(
@Param
(
"qw"
)
MarketDetailWq
qw
);
List
<
MarketSummaryDto
>
summaryByPlatform
(
@Param
(
"qw"
)
MarketDetailWq
qw
);
List
<
MarketSummaryDto
>
chartByPlatform
(
@Param
(
"qw"
)
MarketDetailWq
mqw
);
}
}
...
...
src/main/java/com/link/bi/domain/wq/MarketDetailWq.java
浏览文件 @
3c08d996
...
@@ -37,6 +37,13 @@ public class MarketDetailWq {
...
@@ -37,6 +37,13 @@ public class MarketDetailWq {
*/
*/
private
Date
date
;
private
Date
date
;
/**
* 按日期区间查询
* 折线图使用
*/
private
Date
dateStart
;
private
Date
dateEnd
;
/**
/**
* 货品品类id
* 货品品类id
* 带汤去骨、礼盒、虎皮凤爪……
* 带汤去骨、礼盒、虎皮凤爪……
...
...
src/main/java/com/link/bi/pojo/request/MarketSummaryVo.java
浏览文件 @
3c08d996
package
com
.
link
.
bi
.
pojo
.
request
;
package
com
.
link
.
bi
.
pojo
.
request
;
import
cn.hutool.core.date.DateUtil
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.Date
;
...
@@ -29,7 +30,22 @@ public class MarketSummaryVo {
...
@@ -29,7 +30,22 @@ public class MarketSummaryVo {
* */
* */
private
String
prdCode
;
private
String
prdCode
;
/**
* 按日期区间查询
*/
private
Date
dateStart
;
private
Date
dateEnd
;
public
boolean
isOnlyPlatform
()
{
public
boolean
isOnlyPlatform
()
{
return
seriesId
==
null
&&
prdCode
==
null
;
return
seriesId
==
null
&&
prdCode
==
null
;
}
}
public
void
setDate
()
{
this
.
date
=
DateUtil
.
offsetDay
(
new
Date
(),
-
1
);
if
(
dateStart
==
null
||
dateEnd
==
null
)
{
int
i
=
DateUtil
.
dayOfMonth
(
date
);
this
.
dateStart
=
DateUtil
.
offsetDay
(
date
,
i
-
1
);
this
.
dateEnd
=
date
;
}
}
}
}
src/main/java/com/link/bi/pojo/response/MarketSummaryDto.java
浏览文件 @
3c08d996
...
@@ -4,6 +4,7 @@ import lombok.Data;
...
@@ -4,6 +4,7 @@ import lombok.Data;
import
lombok.experimental.Accessors
;
import
lombok.experimental.Accessors
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
/**
* @author : liqiulin
* @author : liqiulin
...
@@ -18,6 +19,11 @@ public class MarketSummaryDto {
...
@@ -18,6 +19,11 @@ public class MarketSummaryDto {
// 平台
// 平台
private
String
platform
;
private
String
platform
;
/**
* 日期
*/
private
Date
date
;
private
BigDecimal
targetSaleSum
;
private
BigDecimal
targetSaleSum
;
// 实际销售量-Y
// 实际销售量-Y
...
@@ -44,4 +50,10 @@ public class MarketSummaryDto {
...
@@ -44,4 +50,10 @@ public class MarketSummaryDto {
// 实际销售额-Ys
// 实际销售额-Ys
private
BigDecimal
saleSumYs
;
private
BigDecimal
saleSumYs
;
// 实际销售量-根据日期段查询
private
BigDecimal
saleCount
;
// 实际销售额-根据日期段查询
private
BigDecimal
saleSum
;
}
}
src/main/java/com/link/bi/service/ISummaryMarketDailyDetailService.java
浏览文件 @
3c08d996
...
@@ -4,6 +4,7 @@ import com.link.bi.pojo.request.MarketSummaryVo;
...
@@ -4,6 +4,7 @@ import com.link.bi.pojo.request.MarketSummaryVo;
import
com.link.bi.pojo.response.MarketSummaryDto
;
import
com.link.bi.pojo.response.MarketSummaryDto
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* @author : liqiulin
* @author : liqiulin
...
@@ -11,5 +12,5 @@ import java.util.List;
...
@@ -11,5 +12,5 @@ import java.util.List;
* @describe :
* @describe :
*/
*/
public
interface
ISummaryMarketDailyDetailService
{
public
interface
ISummaryMarketDailyDetailService
{
List
<
MarketSummaryDto
>
marketSummary
(
MarketSummaryVo
summaryVo
);
Map
marketSummary
(
MarketSummaryVo
summaryVo
);
}
}
src/main/java/com/link/bi/service/impl/SummaryMarketDailyDetailImpl.java
浏览文件 @
3c08d996
...
@@ -6,7 +6,6 @@ import com.link.bi.domain.wq.MarketDetailWq;
...
@@ -6,7 +6,6 @@ import com.link.bi.domain.wq.MarketDetailWq;
import
com.link.bi.pojo.request.MarketSummaryVo
;
import
com.link.bi.pojo.request.MarketSummaryVo
;
import
com.link.bi.pojo.response.MarketSummaryDto
;
import
com.link.bi.pojo.response.MarketSummaryDto
;
import
com.link.bi.service.ISummaryMarketDailyDetailService
;
import
com.link.bi.service.ISummaryMarketDailyDetailService
;
import
com.sfa.common.core.utils.DateUtils
;
import
com.sfa.common.redis.keys.RedisKeyBi
;
import
com.sfa.common.redis.keys.RedisKeyBi
;
import
com.sfa.common.redis.service.RedisService
;
import
com.sfa.common.redis.service.RedisService
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
@@ -32,7 +31,7 @@ public class SummaryMarketDailyDetailImpl implements ISummaryMarketDailyDetailSe
...
@@ -32,7 +31,7 @@ public class SummaryMarketDailyDetailImpl implements ISummaryMarketDailyDetailSe
RedisService
redisService
;
RedisService
redisService
;
@Override
@Override
public
List
<
MarketSummaryDto
>
marketSummary
(
MarketSummaryVo
summaryVo
)
{
public
Map
marketSummary
(
MarketSummaryVo
summaryVo
)
{
MarketDetailWq
mqw
=
new
MarketDetailWq
();
MarketDetailWq
mqw
=
new
MarketDetailWq
();
BeanUtils
.
copyProperties
(
summaryVo
,
mqw
);
BeanUtils
.
copyProperties
(
summaryVo
,
mqw
);
Date
date
=
mqw
.
getDate
();
Date
date
=
mqw
.
getDate
();
...
@@ -40,6 +39,7 @@ public class SummaryMarketDailyDetailImpl implements ISummaryMarketDailyDetailSe
...
@@ -40,6 +39,7 @@ public class SummaryMarketDailyDetailImpl implements ISummaryMarketDailyDetailSe
mqw
.
setMonth
(
DateUtil
.
month
(
date
)
+
1
);
mqw
.
setMonth
(
DateUtil
.
month
(
date
)
+
1
);
mqw
.
setFirstDay7
(
DateUtil
.
offsetDay
(
date
,-
7
));
mqw
.
setFirstDay7
(
DateUtil
.
offsetDay
(
date
,-
7
));
List
<
MarketSummaryDto
>
marketSummaryDtos
=
ecMarketDailyDetailDao
.
summaryByPlatform
(
mqw
);
List
<
MarketSummaryDto
>
marketSummaryDtos
=
ecMarketDailyDetailDao
.
summaryByPlatform
(
mqw
);
List
<
MarketSummaryDto
>
chartDtos
=
ecMarketDailyDetailDao
.
chartByPlatform
(
mqw
);
// 获取平台-年目标数据:
// 获取平台-年目标数据:
boolean
onlyPlatform
=
summaryVo
.
isOnlyPlatform
();
boolean
onlyPlatform
=
summaryVo
.
isOnlyPlatform
();
...
@@ -49,6 +49,7 @@ public class SummaryMarketDailyDetailImpl implements ISummaryMarketDailyDetailSe
...
@@ -49,6 +49,7 @@ public class SummaryMarketDailyDetailImpl implements ISummaryMarketDailyDetailSe
mDto
.
setTargetSaleSum
(
onlyPlatform
?
new
BigDecimal
(
tMap
.
get
(
mDto
.
getPlatformId
()
+
"-"
+
mDto
.
getPlatform
()))
:
BigDecimal
.
ZERO
);
mDto
.
setTargetSaleSum
(
onlyPlatform
?
new
BigDecimal
(
tMap
.
get
(
mDto
.
getPlatformId
()
+
"-"
+
mDto
.
getPlatform
()))
:
BigDecimal
.
ZERO
);
tMap
.
remove
(
mDto
.
getPlatformId
()
+
"-"
+
mDto
.
getPlatform
());
tMap
.
remove
(
mDto
.
getPlatformId
()
+
"-"
+
mDto
.
getPlatform
());
}
}
for
(
Map
.
Entry
<
String
,
String
>
entry
:
tMap
.
entrySet
())
{
for
(
Map
.
Entry
<
String
,
String
>
entry
:
tMap
.
entrySet
())
{
String
[]
split
=
StringUtils
.
split
(
entry
.
getKey
(),
"-"
);
String
[]
split
=
StringUtils
.
split
(
entry
.
getKey
(),
"-"
);
MarketSummaryDto
dto
=
new
MarketSummaryDto
().
setPlatformId
(
Integer
.
valueOf
(
split
[
0
]))
MarketSummaryDto
dto
=
new
MarketSummaryDto
().
setPlatformId
(
Integer
.
valueOf
(
split
[
0
]))
...
@@ -57,6 +58,12 @@ public class SummaryMarketDailyDetailImpl implements ISummaryMarketDailyDetailSe
...
@@ -57,6 +58,12 @@ public class SummaryMarketDailyDetailImpl implements ISummaryMarketDailyDetailSe
marketSummaryDtos
.
add
(
dto
);
marketSummaryDtos
.
add
(
dto
);
}
}
return
marketSummaryDtos
.
stream
().
sorted
(
Comparator
.
comparing
(
MarketSummaryDto:
:
getPlatformId
)).
collect
(
Collectors
.
toList
());
List
<
MarketSummaryDto
>
table
=
marketSummaryDtos
.
stream
().
sorted
(
Comparator
.
comparing
(
MarketSummaryDto:
:
getPlatformId
)).
collect
(
Collectors
.
toList
());
Map
<
Integer
,
List
<
MarketSummaryDto
>>
chart
=
chartDtos
.
stream
().
collect
(
Collectors
.
groupingBy
(
MarketSummaryDto:
:
getPlatformId
));
HashMap
<
String
,
Object
>
result
=
new
HashMap
<>();
result
.
put
(
"table"
,
table
);
result
.
put
(
"chart"
,
chart
);
return
result
;
}
}
}
}
src/main/resources/mapper/bi/EcMarketDailyDetailMapper.xml
浏览文件 @
3c08d996
...
@@ -58,6 +58,7 @@
...
@@ -58,6 +58,7 @@
<resultMap
id=
"SummaryByPlatformMap"
type=
"com.link.bi.pojo.response.MarketSummaryDto"
>
<resultMap
id=
"SummaryByPlatformMap"
type=
"com.link.bi.pojo.response.MarketSummaryDto"
>
<result
property=
"platformId"
column=
"platform_id"
jdbcType=
"INTEGER"
/>
<result
property=
"platformId"
column=
"platform_id"
jdbcType=
"INTEGER"
/>
<result
property=
"platform"
column=
"platform"
jdbcType=
"VARCHAR"
/>
<result
property=
"platform"
column=
"platform"
jdbcType=
"VARCHAR"
/>
<result
property=
"date"
column=
"date"
jdbcType=
"DATE"
/>
<result
property=
"saleCountY"
column=
"sale_count_y"
jdbcType=
"DECIMAL"
/>
<result
property=
"saleCountY"
column=
"sale_count_y"
jdbcType=
"DECIMAL"
/>
<result
property=
"saleSumY"
column=
"sale_sum_y"
jdbcType=
"DECIMAL"
/>
<result
property=
"saleSumY"
column=
"sale_sum_y"
jdbcType=
"DECIMAL"
/>
<result
property=
"saleCountM"
column=
"sale_count_m"
jdbcType=
"DECIMAL"
/>
<result
property=
"saleCountM"
column=
"sale_count_m"
jdbcType=
"DECIMAL"
/>
...
@@ -66,6 +67,8 @@
...
@@ -66,6 +67,8 @@
<result
property=
"saleSumW"
column=
"sale_sum_w"
jdbcType=
"DECIMAL"
/>
<result
property=
"saleSumW"
column=
"sale_sum_w"
jdbcType=
"DECIMAL"
/>
<result
property=
"saleCountYs"
column=
"sale_count_ys"
jdbcType=
"DECIMAL"
/>
<result
property=
"saleCountYs"
column=
"sale_count_ys"
jdbcType=
"DECIMAL"
/>
<result
property=
"saleSumYs"
column=
"sale_sum_ys"
jdbcType=
"DECIMAL"
/>
<result
property=
"saleSumYs"
column=
"sale_sum_ys"
jdbcType=
"DECIMAL"
/>
<result
property=
"saleCount"
column=
"sale_count"
jdbcType=
"DECIMAL"
/>
<result
property=
"saleSum"
column=
"sale_sum"
jdbcType=
"DECIMAL"
/>
</resultMap>
</resultMap>
<sql
id=
"Base_Column_List"
>
<sql
id=
"Base_Column_List"
>
...
@@ -97,8 +100,7 @@
...
@@ -97,8 +100,7 @@
</sql>
</sql>
<select
id=
"summaryByPlatform"
resultMap=
"SummaryByPlatformMap"
>
<select
id=
"summaryByPlatform"
resultMap=
"SummaryByPlatformMap"
>
select ey.platform as platform,
select ey.platform_id as platform_id,
ey.platform_id as platform_id,
ey.sale_count_y,
ey.sale_count_y,
ey.sale_sum_y,
ey.sale_sum_y,
em.sale_count_m,
em.sale_count_m,
...
@@ -107,33 +109,44 @@
...
@@ -107,33 +109,44 @@
ew.sale_sum_w,
ew.sale_sum_w,
eys.sale_count_ys,
eys.sale_count_ys,
eys.sale_sum_ys
eys.sale_sum_ys
from (select platform
, platform
_id, sum(sale_count) as sale_count_y, sum(sale_sum) as sale_sum_y
from (select platform_id, sum(sale_count) as sale_count_y, sum(sale_sum) as sale_sum_y
from ec_market_daily_detail
from ec_market_daily_detail
where year = #{qw.year}
where year = #{qw.year}
and platform_id is not null
and platform_id is not null
<include
refid=
"summaryWhere"
/>
<include
refid=
"summaryWhere"
/>
group by platform
, platform_id
) ey,
group by platform
_id
) ey,
(select platform
, platform
_id, sum(sale_count) as sale_count_m, sum(sale_sum) as sale_sum_m
(select platform_id, sum(sale_count) as sale_count_m, sum(sale_sum) as sale_sum_m
from ec_market_daily_detail
from ec_market_daily_detail
where year = #{qw.year}
where year = #{qw.year}
and month = #{qw.month}
and month = #{qw.month}
and platform_id is not null
and platform_id is not null
<include
refid=
"summaryWhere"
/>
<include
refid=
"summaryWhere"
/>
group by platform
, platform_id
) em,
group by platform
_id
) em,
(select platform
, platform
_id, sum(sale_count) as sale_count_w, sum(sale_sum) as sale_sum_w
(select platform_id, sum(sale_count) as sale_count_w, sum(sale_sum) as sale_sum_w
from ec_market_daily_detail
from ec_market_daily_detail
where date between #{qw.firstDay7} and #{qw.date}
where date between #{qw.firstDay7} and #{qw.date}
and platform_id is not null
and platform_id is not null
<include
refid=
"summaryWhere"
/>
<include
refid=
"summaryWhere"
/>
group by platform
, platform_id
) ew,
group by platform
_id
) ew,
(select platform
, platform_id
, sum(sale_count) as sale_count_ys, sum(sale_sum) as sale_sum_ys
(select platform
_id
, sum(sale_count) as sale_count_ys, sum(sale_sum) as sale_sum_ys
from ec_market_daily_detail
from ec_market_daily_detail
where date = #{qw.date}
where date = #{qw.date}
and platform_id is not null
and platform_id is not null
<include
refid=
"summaryWhere"
/>
<include
refid=
"summaryWhere"
/>
group by platform
, platform_id
) eys
group by platform
_id
) eys
where ey.platform_id = em.platform_id
where ey.platform_id = em.platform_id
and ey.platform_id = ew.platform_id
and ey.platform_id = ew.platform_id
and ey.platform_id = eys.platform_id;
and ey.platform_id = eys.platform_id;
</select>
</select>
<select
id=
"chartByPlatform"
resultMap=
"SummaryByPlatformMap"
>
select platform_id, date, sum(sale_count) sale_count, sum(sale_sum) sale_sum
from ec_market_daily_detail
where platform_id is not null
and date between #{qw.dateStart} and #{qw.dateEnd}
<include
refid=
"summaryWhere"
/>
group by platform_id, date
order by platform_id, date;
</select>
</mapper>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论