切换导航条
此项目
正在载入...
登录
mmm-go
/
partnermg
·
提交
转到一个项目
GitLab
转到群组
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
邮件补丁
差异文件
浏览文件
作者
tangxvhui
5 years ago
提交
a1fea06cb8e502d061b1a11151896da2b9a6b7a8
1 个父辈
d740da50
更新
隐藏空白字符变更
内嵌
并排对比
正在显示
2 个修改的文件
包含
20 行增加
和
9 行删除
pkg/domain/order_base.go
pkg/domain/order_good.go
pkg/domain/order_base.go
查看文件 @
a1fea06
...
...
@@ -99,27 +99,34 @@ func (order *OrderBase) Compute() error {
partnerBonusExpense
:=
decimal
.
NewFromFloat
(
0
)
//统计所以货品的值
for
i
:=
range
order
.
Goods
{
planPartnerBonus
.
Add
(
decimal
.
NewFromFloat
(
order
.
Goods
[
i
]
.
GoodCompute
.
PlanPartnerBonus
))
planOrderAmount
.
Add
(
decimal
.
NewFromFloat
(
order
.
Goods
[
i
]
.
GoodCompute
.
PlanAmount
))
planPartnerBonus
=
planPartnerBonus
.
Add
(
decimal
.
NewFromFloat
(
order
.
Goods
[
i
]
.
GoodCompute
.
PlanPartnerBonus
))
planOrderAmount
=
planOrderAmount
.
Add
(
decimal
.
NewFromFloat
(
order
.
Goods
[
i
]
.
GoodCompute
.
PlanAmount
))
planOrderCount
+=
order
.
Goods
[
i
]
.
PlanGoodNumber
//调整值 非负值得情况
goodUseAmount
:=
decimal
.
NewFromFloat
(
order
.
Goods
[
i
]
.
GoodCompute
.
UseAmount
)
if
goodUseAmount
.
GreaterThanOrEqual
(
decimal
.
NewFromFloat
(
0
))
{
//调整值非负值得情况
hasUseOrderAmount
=
true
useOrderAmount
.
Add
(
goodUseAmount
)
useOrderAmount
=
useOrderAmount
.
Add
(
goodUseAmount
)
}
else
{
useOrderAmount
=
useOrderAmount
.
Add
(
decimal
.
NewFromFloat
(
order
.
Goods
[
i
]
.
GoodCompute
.
PlanAmount
))
}
goodUsePartnerBonus
:=
decimal
.
NewFromFloat
(
order
.
Goods
[
i
]
.
GoodCompute
.
UsePartnerBonus
)
if
goodUsePartnerBonus
.
GreaterThanOrEqual
(
decimal
.
NewFromFloat
(
0
))
{
hasUsePartnerBonus
=
true
usePartnerBonus
.
Add
(
goodUsePartnerBonus
)
usePartnerBonus
=
usePartnerBonus
.
Add
(
goodUsePartnerBonus
)
}
else
{
usePartnerBonus
=
usePartnerBonus
.
Add
(
decimal
.
NewFromFloat
(
order
.
Goods
[
i
]
.
GoodCompute
.
PlanPartnerBonus
))
}
if
order
.
Goods
[
i
]
.
UseGoodNumber
>=
0
{
HasUseOrderCount
=
true
useOrderCount
+=
order
.
Goods
[
i
]
.
UseGoodNumber
}
else
{
useOrderCount
+=
order
.
Goods
[
i
]
.
PlanGoodNumber
}
partnerBonusHas
.
Add
(
decimal
.
NewFromFloat
(
order
.
Goods
[
i
]
.
GoodCompute
.
PartnerBonusHas
))
partnerBonusNot
.
Add
(
decimal
.
NewFromFloat
(
order
.
Goods
[
i
]
.
GoodCompute
.
PartnerBonusNot
))
partnerBonusExpense
.
Add
(
decimal
.
NewFromFloat
(
order
.
Goods
[
i
]
.
GoodCompute
.
PartnerBonusExpense
))
partnerBonusHas
=
partnerBonusHas
.
Add
(
decimal
.
NewFromFloat
(
order
.
Goods
[
i
]
.
GoodCompute
.
PartnerBonusHas
))
partnerBonusNot
=
partnerBonusNot
.
Add
(
decimal
.
NewFromFloat
(
order
.
Goods
[
i
]
.
GoodCompute
.
PartnerBonusNot
))
partnerBonusExpense
=
partnerBonusExpense
.
Add
(
decimal
.
NewFromFloat
(
order
.
Goods
[
i
]
.
GoodCompute
.
PartnerBonusExpense
))
}
//汇总赋值
order
.
OrderCompute
.
PartnerBonusExpense
,
_
=
partnerBonusExpense
.
Round
(
2
)
.
Float64
()
...
...
@@ -128,6 +135,7 @@ func (order *OrderBase) Compute() error {
order
.
OrderCompute
.
PlanPartnerBonus
,
_
=
planPartnerBonus
.
Round
(
2
)
.
Float64
()
order
.
OrderCompute
.
PlanOrderAmount
,
_
=
planOrderAmount
.
Round
(
2
)
.
Float64
()
order
.
OrderCompute
.
PlanOrderCount
=
planOrderCount
if
hasUsePartnerBonus
{
order
.
OrderCompute
.
UsePartnerBonus
,
_
=
usePartnerBonus
.
Round
(
2
)
.
Float64
()
}
else
{
...
...
@@ -135,8 +143,11 @@ func (order *OrderBase) Compute() error {
}
if
hasUseOrderAmount
{
order
.
OrderCompute
.
UseOrderAmount
,
_
=
useOrderAmount
.
Round
(
2
)
.
Float64
()
//计算业务员的抽成
order
.
OrderCompute
.
SalesmanBonus
,
_
=
useOrderAmount
.
Mul
(
decimal
.
NewFromFloat
(
order
.
SalesmanBonusPercent
))
.
Round
(
2
)
.
Float64
()
}
else
{
order
.
OrderCompute
.
UseOrderAmount
=
-
1
order
.
OrderCompute
.
SalesmanBonus
,
_
=
planOrderAmount
.
Mul
(
decimal
.
NewFromFloat
(
order
.
SalesmanBonusPercent
))
.
Round
(
2
)
.
Float64
()
}
if
HasUseOrderCount
{
order
.
OrderCompute
.
UseOrderCount
=
useOrderCount
...
...
pkg/domain/order_good.go
查看文件 @
a1fea06
...
...
@@ -135,7 +135,7 @@ func NewOrderGood() OrderGood {
//Compute 数据汇总核算
func
(
good
*
OrderGood
)
Compute
()
error
{
price
:=
decimal
.
NewFrom
Int
(
int64
(
good
.
PlanGoodNumber
)
)
price
:=
decimal
.
NewFrom
Float
(
good
.
Price
)
planamount
:=
price
.
Mul
(
decimal
.
NewFromInt
(
int64
(
good
.
PlanGoodNumber
)))
//price*planGoodNumber
//price*useGoodNumber
planPartnerBonus
:=
planamount
.
Mul
(
decimal
.
NewFromFloat
(
good
.
PartnerBonusPercent
))
//price*planGoodNumber*PartnerBonusPercent
...
...
请
注册
或
登录
后发表评论