Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
cocktail-party-server
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
cocktail-party
cocktail-party-server
Commits
48e5c129
提交
48e5c129
authored
10月 21, 2025
作者:
吕本才
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
导出excel接口完善
上级
a14ab6ae
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
43 行增加
和
12 行删除
+43
-12
DealerBigScreenController.java
...uoyi/web/controller/dealer/DealerBigScreenController.java
+2
-2
ExcelUtil.java
...n/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
+4
-3
DealerRoundResult.java
.../main/java/com/ruoyi/dealer/domain/DealerRoundResult.java
+11
-0
DealerRoundResultMapper.java
...java/com/ruoyi/dealer/mapper/DealerRoundResultMapper.java
+11
-0
IDealerRoundResultService.java
...a/com/ruoyi/dealer/service/IDealerRoundResultService.java
+1
-1
DealerRoundResultServiceImpl.java
...oyi/dealer/service/impl/DealerRoundResultServiceImpl.java
+14
-6
没有找到文件。
ruoyi-admin/src/main/java/com/ruoyi/web/controller/dealer/DealerBigScreenController.java
浏览文件 @
48e5c129
...
...
@@ -81,8 +81,8 @@ public class DealerBigScreenController extends BaseController {
@GetMapping
(
"/result/totalResult"
)
public
AjaxResult
totalResult
()
{
List
<
DealerBigScreenTotalResultRes
>
list
=
resultService
.
totalResult
();
return
success
(
list
);
DealerBigScreenTotalResultRes
res
=
resultService
.
totalResult
();
return
success
(
res
);
}
@GetMapping
(
"/zip/download"
)
...
...
ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
浏览文件 @
48e5c129
...
...
@@ -1850,12 +1850,13 @@ public class ExcelUtil<T>
public
void
exportExcelFile
(
File
excelFile
)
{
try
{
writeSheet
();
FileInputStream
inputStream
=
new
FileInputStream
(
excelFile
);
wb
=
WorkbookFactory
.
create
(
inputStream
);
FileOutputStream
inputStream
=
new
FileOutputStream
(
excelFile
);
wb
.
write
(
inputStream
);
inputStream
.
close
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
log
.
error
(
"excel文件写入异常{}"
,
e
.
getMessage
());
throw
new
RuntimeException
(
"excel文件写入异常"
);
}
}
}
ruoyi-system/src/main/java/com/ruoyi/dealer/domain/DealerRoundResult.java
浏览文件 @
48e5c129
...
...
@@ -3,6 +3,7 @@ package com.ruoyi.dealer.domain;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.ruoyi.common.annotation.Excel
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
...
...
@@ -19,26 +20,31 @@ public class DealerRoundResult {
* 主键id
*/
@TableId
(
type
=
IdType
.
AUTO
)
@Excel
(
name
=
"主键id"
)
private
Long
resultId
;
/**
* 经销商id
*/
@Excel
(
name
=
"经销商标识"
)
private
Long
dealerId
;
/**
* 经销商名称
*/
@Excel
(
name
=
"经销商名称"
)
private
String
dealerName
;
/**
* 当前轮次
*/
@Excel
(
name
=
"经销商名称"
)
private
Integer
roundTime
;
/**
* 增加的预付款万
*/
@Excel
(
name
=
"预付款"
)
private
Integer
paymentTtl
;
/**
...
...
@@ -49,6 +55,7 @@ public class DealerRoundResult {
/**
* 手机号
*/
@Excel
(
name
=
"手机号"
)
private
String
phone
;
/**
...
...
@@ -69,11 +76,14 @@ public class DealerRoundResult {
* 第一轮分组+第二列分组
* 分组名称
*/
@Excel
(
name
=
"经销商分组"
)
private
String
groupName
;
@Excel
(
name
=
"经销商目标"
)
private
Integer
goalTtlAct
;
/**
* 预付款达成的百分比
*/
@Excel
(
name
=
"经销商达成率"
)
private
String
paymentPercentage
;
private
Integer
version
;
...
...
@@ -83,6 +93,7 @@ public class DealerRoundResult {
* 第二轮分组使用,例如:华东组、华南组、华北一组、华北二组、华中组、西南组、西北组
*
*/
@Excel
(
name
=
"经销商大区分组"
)
private
String
salesRegionGroupName
;
...
...
ruoyi-system/src/main/java/com/ruoyi/dealer/mapper/DealerRoundResultMapper.java
浏览文件 @
48e5c129
...
...
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import
com.ruoyi.dealer.domain.DealerRoundResult
;
import
com.ruoyi.dealer.domain.dto.DealerBigScreenGroupResultDto
;
import
com.ruoyi.dealer.domain.dto.DealerBigScreenGroupResultRes
;
import
com.ruoyi.dealer.domain.dto.DealerBigScreenTotalResultRes
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Result
;
import
org.apache.ibatis.annotations.Results
;
...
...
@@ -35,5 +36,15 @@ public interface DealerRoundResultMapper extends BaseMapper<DealerRoundResult> {
@Result
(
column
=
"payment_percentage"
,
property
=
"paymentPercentage"
)
// 字段名与属性名一致时可省略
})
List
<
DealerBigScreenGroupResultDto
>
groupTotalList
();
@Select
(
"select sum(result.payment_ttl) as payment_ttl,sum(result.goal_ttl_act) as goal_ttl_act , 100*sum(result.payment_ttl)/sum(result.goal_ttl_act) as payment_percentage from dealer_round_result result "
+
" order by payment_percentage desc "
)
// 手动指定映射:column(数据库字段)→ property(Java属性)
@Results
({
@Result
(
column
=
"payment_ttl"
,
property
=
"paymentTtl"
),
@Result
(
column
=
"goal_ttl_act"
,
property
=
"goalTtlAct"
),
@Result
(
column
=
"payment_percentage"
,
property
=
"paymentPercentage"
)
// 字段名与属性名一致时可省略
})
List
<
DealerBigScreenTotalResultRes
>
getTotalResult
();
// 若需要自定义 SQL 方法,可在此添加
}
ruoyi-system/src/main/java/com/ruoyi/dealer/service/IDealerRoundResultService.java
浏览文件 @
48e5c129
...
...
@@ -25,6 +25,6 @@ public interface IDealerRoundResultService extends IService<DealerRoundResult> {
String
downloadZip
();
List
<
DealerBigScreenTotalResultRes
>
totalResult
();
DealerBigScreenTotalResultRes
totalResult
();
// 自定义业务方法声明(可选)
}
ruoyi-system/src/main/java/com/ruoyi/dealer/service/impl/DealerRoundResultServiceImpl.java
浏览文件 @
48e5c129
...
...
@@ -166,10 +166,12 @@ public class DealerRoundResultServiceImpl extends ServiceImpl<DealerRoundResultM
List
<
DealerRoundResult
>
groupData
=
entry
.
getValue
();
ExcelUtil
<
DealerRoundResult
>
util
=
new
ExcelUtil
<>(
DealerRoundResult
.
class
);
String
excelFileName
=
"分组结果_"
+
groupName
+
".xlsx"
;
File
excelFile
=
FileUtil
.
createTempFile
();
// 创建临时文件
String
excelFileName
=
"分组结果_"
+
groupName
;
// 创建临时文件
File
excelFile
=
FileUtil
.
createTempFile
(
excelFileName
,
".xlsx"
,
true
);
util
.
init
(
groupData
,
"分组结果"
,
groupName
,
Excel
.
Type
.
EXPORT
);
util
.
exportExcelFile
(
excelFile
);
// 导出到临时文件
// 导出到excel文件
util
.
exportExcelFile
(
excelFile
);
excelFilePaths
.
add
(
excelFile
.
getAbsolutePath
());
}
...
...
@@ -177,15 +179,21 @@ public class DealerRoundResultServiceImpl extends ServiceImpl<DealerRoundResultM
// 生成 ZIP 文件
File
zipFile
=
FileUtil
.
createTempFile
();
InputStream
[]
inputStreams
=
new
InputStream
[
excelFilePaths
.
size
()];
for
(
int
i
=
0
;
i
<
excelFilePaths
.
size
();
i
++)
{
inputStreams
[
i
]
=
FileUtil
.
getInputStream
(
excelFilePaths
.
get
(
i
));
}
File
zip
=
ZipUtil
.
zip
(
zipFile
,
excelFilePaths
.
toArray
(
new
String
[
0
]),
inputStreams
);
// 打包所有 Excel 文件
// 返回 ZIP 文件路径
return
zip
File
.
getAbsolutePath
();
return
zip
.
getAbsolutePath
();
}
@Override
public
List
<
DealerBigScreenTotalResultRes
>
totalResult
()
{
return
null
;
public
DealerBigScreenTotalResultRes
totalResult
()
{
List
<
DealerBigScreenTotalResultRes
>
roundResults
=
this
.
baseMapper
.
getTotalResult
();
DealerBigScreenTotalResultRes
res
=
roundResults
.
get
(
0
);
res
.
setPaymentPercentage
(
getPercentage
(
res
.
getPaymentTtl
(),
res
.
getGoalTtlAct
(),
2
)
+
"%"
);
return
res
;
}
private
String
getPercentage
(
Integer
paymentTtl
,
Integer
goalTtlAct
,
Integer
scale
)
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论