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
c124c1b1
提交
c124c1b1
authored
10月 21, 2025
作者:
吕本才
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改百分比,增加小数
上级
e28f52ca
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
57 行增加
和
19 行删除
+57
-19
DealerBaseInfoImpl.java
...ava/com/ruoyi/dealer/service/impl/DealerBaseInfoImpl.java
+13
-2
DealerRoundInfoServiceImpl.java
...ruoyi/dealer/service/impl/DealerRoundInfoServiceImpl.java
+8
-2
DealerRoundResultServiceImpl.java
...oyi/dealer/service/impl/DealerRoundResultServiceImpl.java
+36
-15
没有找到文件。
ruoyi-system/src/main/java/com/ruoyi/dealer/service/impl/DealerBaseInfoImpl.java
浏览文件 @
c124c1b1
...
...
@@ -18,6 +18,8 @@ import org.springframework.beans.BeanUtils;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.List
;
/**
...
...
@@ -68,7 +70,10 @@ public class DealerBaseInfoImpl extends ServiceImpl<DealerBaseInfoMapper, Dealer
// 查询当前的轮次
WechatDealerRoundInfoRes
roundInfoRes
=
new
WechatDealerRoundInfoRes
();
BeanUtils
.
copyProperties
(
dealerBaseInfo
,
roundInfoRes
);
roundInfoRes
.
setPaymentPercentage
(
Math
.
round
(
dealerBaseInfo
.
getPaymentTtl
()
*
100.0
/
dealerBaseInfo
.
getGoalTtlAct
())
+
"%"
);
// 获取支付百分比 保留两位小数点
roundInfoRes
.
setPaymentPercentage
(
getPercentage
(
dealerBaseInfo
.
getPaymentTtl
(),
dealerBaseInfo
.
getGoalTtlAct
())
+
"%"
);
// 轮次
roundInfoRes
.
setRoundTime
(
round
);
...
...
@@ -79,10 +84,16 @@ public class DealerBaseInfoImpl extends ServiceImpl<DealerBaseInfoMapper, Dealer
.
eq
(
DealerRoundResult:
:
getDealerId
,
dealerId
));
if
(
result
!=
null
)
{
roundInfoRes
.
setPaymentTtl
(
result
.
getPaymentTtl
());
roundInfoRes
.
setPaymentPercentage
(
Math
.
round
(
result
.
getPaymentTtl
()
*
100.0
/
dealerBaseInfo
.
getGoalTtlAct
())
+
"%"
);
roundInfoRes
.
setPaymentPercentage
(
getPercentage
(
result
.
getPaymentTtl
(),
dealerBaseInfo
.
getGoalTtlAct
())
+
"%"
);
}
// 没有结果数据 数据怎么初始化 ??
return
roundInfoRes
;
}
private
String
getPercentage
(
Integer
paymentTtl
,
Integer
goalTtlAct
)
{
return
new
BigDecimal
(
paymentTtl
).
multiply
(
new
BigDecimal
(
100
)).
divide
(
new
BigDecimal
(
goalTtlAct
),
2
,
RoundingMode
.
HALF_UP
)
.
toString
();
}
}
ruoyi-system/src/main/java/com/ruoyi/dealer/service/impl/DealerRoundInfoServiceImpl.java
浏览文件 @
c124c1b1
...
...
@@ -23,6 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.stream.Collectors
;
...
...
@@ -87,7 +88,7 @@ public class DealerRoundInfoServiceImpl extends ServiceImpl<DealerRoundInfoMappe
resultInfo
.
setRoundTime
(
dealerRoundInfoReq
.
getRoundTime
());
resultInfo
.
setPaymentTtl
(
dealerRoundInfoReq
.
getPaymentTtlNew
());
resultInfo
.
setPaymentTtlPre
(
dealerRoundInfoReq
.
getPaymentTtl
());
resultInfo
.
setPaymentPercentage
(
new
BigDecimal
(
dealerRoundInfoReq
.
getPaymentTtlNew
()).
multiply
(
new
BigDecimal
(
100
)).
divide
(
new
BigDecimal
(
dealerRoundInfoReq
.
getGoalTtlAct
()),
4
,
BigDecimal
.
ROUND_HALF_UP
));
resultInfo
.
setPaymentPercentage
(
new
BigDecimal
(
getPercentage
(
dealerRoundInfoReq
.
getPaymentTtl
(),
dealerRoundInfoReq
.
getGoalTtlAct
(),
4
)
));
resultInfo
.
setGoalTtlAct
(
dealerRoundInfoReq
.
getGoalTtlAct
());
resultInfo
.
setDealerCategory
(
dealerRoundInfoReq
.
getDealerCategory
());
...
...
@@ -166,5 +167,10 @@ public class DealerRoundInfoServiceImpl extends ServiceImpl<DealerRoundInfoMappe
return
list
;
}
private
String
getPercentage
(
Integer
paymentTtl
,
Integer
goalTtlAct
,
Integer
scale
)
{
return
new
BigDecimal
(
paymentTtl
)
.
multiply
(
new
BigDecimal
(
100
))
.
divide
(
new
BigDecimal
(
goalTtlAct
),
scale
,
RoundingMode
.
HALF_UP
)
.
toString
();
}
}
ruoyi-system/src/main/java/com/ruoyi/dealer/service/impl/DealerRoundResultServiceImpl.java
浏览文件 @
c124c1b1
...
...
@@ -4,15 +4,20 @@ package com.ruoyi.dealer.service.impl;
import
cn.hutool.core.util.ObjectUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.ruoyi.dealer.domain.DealerBaseInfo
;
import
com.ruoyi.dealer.domain.DealerRoundResult
;
import
com.ruoyi.dealer.domain.dto.DealerBigScreenGroupListRes
;
import
com.ruoyi.dealer.domain.dto.DealerBigScreenGroupResultDto
;
import
com.ruoyi.dealer.domain.dto.DealerBigScreenGroupResultRes
;
import
com.ruoyi.dealer.domain.dto.DealerRoundDetailListRes
;
import
com.ruoyi.dealer.mapper.DealerRoundResultMapper
;
import
com.ruoyi.dealer.service.IDealerBaseInfoService
;
import
com.ruoyi.dealer.service.IDealerRoundResultService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
@@ -21,6 +26,9 @@ import java.util.List;
*/
@Service
public
class
DealerRoundResultServiceImpl
extends
ServiceImpl
<
DealerRoundResultMapper
,
DealerRoundResult
>
implements
IDealerRoundResultService
{
@Autowired
private
IDealerBaseInfoService
dealerBaseInfoService
;
@Override
public
List
<
DealerBigScreenGroupListRes
>
groupList
(
String
CategoryName
)
{
// 查询第一列分组的前几名
...
...
@@ -42,7 +50,7 @@ public class DealerRoundResultServiceImpl extends ServiceImpl<DealerRoundResultM
res
.
setGoalTtlAct
(
item
.
getGoalTtlAct
());
res
.
setPaymentTtl
(
item
.
getPaymentTtl
());
res
.
setPaymentPercentage
(
Math
.
round
(
item
.
getPaymentTtl
()
*
100.0
/
item
.
getGoalTtlAct
()
)
+
"%"
);
res
.
setPaymentPercentage
(
getPercentage
(
item
.
getPaymentTtl
(),
item
.
getGoalTtlAct
(),
4
)
+
"%"
);
list
.
add
(
res
);
});
...
...
@@ -60,7 +68,7 @@ public class DealerRoundResultServiceImpl extends ServiceImpl<DealerRoundResultM
res
.
setPaymentTtl
(
item
.
getPaymentTtl
());
res
.
setGoalTtlAct
(
item
.
getGoalTtlAct
());
res
.
setPaymentPercentage
(
Math
.
round
(
item
.
getPaymentPercentage
()
)
+
"%"
);
res
.
setPaymentPercentage
(
new
BigDecimal
(
item
.
getPaymentPercentage
()).
setScale
(
4
,
RoundingMode
.
HALF_UP
).
toString
(
)
+
"%"
);
list
.
add
(
res
);
});
return
list
;
...
...
@@ -86,7 +94,7 @@ public class DealerRoundResultServiceImpl extends ServiceImpl<DealerRoundResultM
res
.
setPaymentTtl
(
item
.
getPaymentTtl
());
res
.
setGoalTtlAct
(
item
.
getGoalTtlAct
());
res
.
setPaymentPercentage
(
Math
.
round
(
item
.
getPaymentTtl
()
*
100.0
/
item
.
getGoalTtlAct
()
)
+
"%"
);
res
.
setPaymentPercentage
(
getPercentage
(
item
.
getPaymentTtl
(),
item
.
getGoalTtlAct
(),
4
)
+
"%"
);
list
.
add
(
res
);
});
...
...
@@ -97,26 +105,39 @@ public class DealerRoundResultServiceImpl extends ServiceImpl<DealerRoundResultM
@Override
public
int
initRoundInfo
()
{
List
<
DealerRoundResult
>
round2Results
=
this
.
list
(
new
LambdaQueryWrapper
<
DealerRoundResult
>()
.
eq
(
DealerRoundResult:
:
getRoundTime
,
2
)
List
<
DealerRoundResult
>
round1Results
=
this
.
list
(
new
LambdaQueryWrapper
<
DealerRoundResult
>()
.
eq
(
DealerRoundResult:
:
getRoundTime
,
1
)
);
if
(
round
2
Results
.
size
()>
0
){
throw
new
RuntimeException
(
"
第二轮
数据已存在"
);
if
(
round
1
Results
.
size
()>
0
){
throw
new
RuntimeException
(
"
轮次
数据已存在"
);
}
// 获取所有经销商信息
List
<
DealerRoundResult
>
resultList
=
this
.
list
(
new
LambdaQueryWrapper
<
DealerRoundResult
>()
.
eq
(
DealerRoundResult:
:
getRoundTime
,
1
)
);
List
<
DealerBaseInfo
>
resultList
=
dealerBaseInfoService
.
list
();
// 复制所有数据
List
<
DealerRoundResult
>
roundResults
=
new
ArrayList
<>();
// 先清空id
resultList
.
forEach
(
item
->
{
roundResults
.
forEach
(
item
->
{
item
.
setRoundTime
(
1
);
item
.
setDealerId
(
item
.
getDealerId
());
item
.
setResultId
(
null
);
item
.
setRoundTime
(
2
);
item
.
setDealerName
(
item
.
getDealerName
());
item
.
setDealerCategory
(
item
.
getDealerCategory
());
item
.
setPhone
(
item
.
getPhone
());
item
.
setGoalTtlAct
(
item
.
getGoalTtlAct
());
item
.
setPaymentTtl
(
item
.
getPaymentTtl
());
item
.
setPaymentPercentage
(
item
.
getPaymentPercentage
());
// 覆盖字段
item
.
setGroupName
(
item
.
getSalesRegionGroupName
());
item
.
set
SalesRegion
GroupName
(
item
.
getSalesRegionGroupName
());
});
this
.
saveBatch
(
r
esultList
);
this
.
saveBatch
(
r
oundResults
);
return
resultList
.
size
();
}
private
String
getPercentage
(
Integer
paymentTtl
,
Integer
goalTtlAct
,
Integer
scale
)
{
return
new
BigDecimal
(
paymentTtl
)
.
multiply
(
new
BigDecimal
(
100
))
.
divide
(
new
BigDecimal
(
goalTtlAct
),
scale
,
RoundingMode
.
HALF_UP
)
.
toString
();
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论