Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
Education
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄奎
Education
Commits
0f220e41
Commit
0f220e41
authored
Dec 17, 2021
by
liudong1993
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
620f29c7
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
2508 additions
and
0 deletions
+2508
-0
RB_Sell_Achievements_Rule.cs
Edu.Model/Entity/Sell/RB_Sell_Achievements_Rule.cs
+91
-0
RB_Sell_Achievements_Rule_ViewModel.cs
...del/ViewModel/Sell/RB_Sell_Achievements_Rule_ViewModel.cs
+53
-0
SellAchievementsModule.cs
Edu.Module.Course/SellAchievementsModule.cs
+1726
-0
RB_Sell_Achievements_RuleRepository.cs
Edu.Repository/Sell/RB_Sell_Achievements_RuleRepository.cs
+37
-0
SellAchievementsController.cs
Edu.WebApi/Controllers/Course/SellAchievementsController.cs
+601
-0
No files found.
Edu.Model/Entity/Sell/RB_Sell_Achievements_Rule.cs
0 → 100644
View file @
0f220e41
using
Edu.Common.Enum
;
using
Edu.Common.Enum.Course
;
using
System
;
using
VT.FW.DB
;
namespace
Edu.Model.Entity.Sell
{
/// <summary>
/// 市场顾问提成规则实体类
/// </summary>
[
Serializable
]
[
DB
(
ConnectionName
=
"DefaultConnection"
)]
public
class
RB_Sell_Achievements_Rule
{
/// <summary>
/// Id
/// </summary>
public
int
Id
{
get
;
set
;
}
/// <summary>
/// 方案名称
/// </summary>
public
string
Name
{
get
;
set
;
}
/// <summary>
/// 类型 1市场、2顾问、3教师
/// </summary>
public
int
Type
{
get
;
set
;
}
/// <summary>
/// 课程类型 1包含 2不包含
/// </summary>
public
int
CourseType
{
get
;
set
;
}
/// <summary>
/// 相关课程Ids 英文逗号分隔
/// </summary>
public
string
CourseIds
{
get
;
set
;
}
/// <summary>
/// 提成方式 1课耗提成 2次月全提 3课程比例
/// </summary>
public
int
CommissionType
{
get
;
set
;
}
/// <summary>
/// 提成人员
/// </summary>
public
string
EmpIds
{
get
;
set
;
}
/// <summary>
/// 子人员 用于部门的情况
/// </summary>
public
string
ChildEmpIds
{
get
;
set
;
}
/// <summary>
/// 集团编号
/// </summary>
public
int
Group_Id
{
get
;
set
;
}
/// <summary>
/// 创建人
/// </summary>
public
int
CreateBy
{
get
;
set
;
}
/// <summary>
/// 创建时间
/// </summary>
public
DateTime
CreateTime
{
get
;
set
;
}
/// <summary>
/// 修改人
/// </summary>
public
int
UpdateBy
{
get
;
set
;
}
/// <summary>
/// 修改时间
/// </summary>
public
DateTime
UpdateTime
{
get
;
set
;
}
/// <summary>
/// 课程比例
/// </summary>
public
decimal
CourseRate
{
get
;
set
;
}
/// <summary>
/// 业绩提成比例 json格式
/// </summary>
public
string
Content
{
get
;
set
;
}
}
}
Edu.Model/ViewModel/Sell/RB_Sell_Achievements_Rule_ViewModel.cs
0 → 100644
View file @
0f220e41
using
Edu.Model.Entity.Sell
;
using
Edu.Model.ViewModel.Course
;
using
Edu.Model.ViewModel.User
;
using
System
;
using
System.Collections.Generic
;
namespace
Edu.Model.ViewModel.Sell
{
/// <summary>
/// 市场顾问提成规则实体类
/// </summary>
[
Serializable
]
public
class
RB_Sell_Achievements_Rule_ViewModel
:
RB_Sell_Achievements_Rule
{
/// <summary>
/// 业绩比例
/// </summary>
public
List
<
AchievementsRateModel
>
RateList
{
get
;
set
;
}
/// <summary>
/// 课程
/// </summary>
public
List
<
RB_Course_ViewModel
>
CourseList
{
get
;
set
;
}
/// <summary>
/// 人员列表
/// </summary>
public
List
<
Employee_ViewModel
>
EmpList
{
get
;
set
;
}
/// <summary>
/// 部门下人员列表
/// </summary>
public
List
<
Employee_ViewModel
>
ChildEmpList
{
get
;
set
;
}
}
/// <summary>
/// 业绩比列
/// </summary>
public
class
AchievementsRateModel
{
/// <summary>
/// 开始值 (不包含)
/// </summary>
public
decimal
StartValue
{
get
;
set
;
}
/// <summary>
/// 结束值 -1表示不限 (包含)
/// </summary>
public
decimal
EndValue
{
get
;
set
;
}
/// <summary>
/// 提成比例
/// </summary>
public
decimal
Rate
{
get
;
set
;
}
}
}
\ No newline at end of file
Edu.Module.Course/SellAchievementsModule.cs
0 → 100644
View file @
0f220e41
This source diff could not be displayed because it is too large. You can
view the blob
instead.
Edu.Repository/Sell/RB_Sell_Achievements_RuleRepository.cs
0 → 100644
View file @
0f220e41
using
Edu.Common.Enum
;
using
Edu.Model.Entity.Course
;
using
Edu.Model.Entity.Sell
;
using
Edu.Model.ViewModel.Course
;
using
Edu.Model.ViewModel.Sell
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
VT.FW.DB.Dapper
;
namespace
Edu.Repository.Sell
{
/// <summary>
/// 市场顾问提成规则仓储层
/// </summary>
public
class
RB_Sell_Achievements_RuleRepository
:
BaseRepository
<
RB_Sell_Achievements_Rule
>
{
/// <summary>
/// 获取列表
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public
List
<
RB_Sell_Achievements_Rule_ViewModel
>
GetList
(
RB_Sell_Achievements_Rule_ViewModel
demodel
)
{
string
where
=
$@" 1=1"
;
if
(
demodel
.
Group_Id
>
0
)
{
where
+=
$@" and r.
{
nameof
(
RB_Sell_Achievements_Rule_ViewModel
.
Group_Id
)}
=
{
demodel
.
Group_Id
}
"
;
}
string
sql
=
$@" select r.* from RB_Sell_Achievements_Rule r where
{
where
}
order by r.Id desc"
;
return
Get
<
RB_Sell_Achievements_Rule_ViewModel
>(
sql
).
ToList
();
}
}
}
Edu.WebApi/Controllers/Course/SellAchievementsController.cs
0 → 100644
View file @
0f220e41
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
Edu.Cache.User
;
using
Edu.Common.API
;
using
Edu.Common.Enum.Course
;
using
Edu.Common.Plugin
;
using
Edu.Model.ViewModel.Course
;
using
Edu.Model.ViewModel.Log
;
using
Edu.Model.ViewModel.Sell
;
using
Edu.Module.Course
;
using
Edu.WebApi.Filter
;
using
Microsoft.AspNetCore.Cors
;
using
Microsoft.AspNetCore.Mvc
;
using
Newtonsoft.Json.Linq
;
namespace
Edu.WebApi.Controllers.Course
{
[
Route
(
"api/[controller]/[action]"
)]
[
ApiExceptionFilter
]
[
ApiController
]
[
EnableCors
(
"AllowCors"
)]
public
class
SellAchievementsController
:
BaseController
{
/// <summary>
/// 教务奖励处理类对象
/// </summary>
private
readonly
SellCommissionModule
sellCommissionModule
=
new
SellCommissionModule
();
/// <summary>
/// 市场顾问
/// </summary>
private
readonly
SellAchievementsModule
sellAchievementsModule
=
new
SellAchievementsModule
();
#
region
规则配置
/// <summary>
/// 获取规则列表
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetSellAchievementsRuleList
()
{
var
userInfo
=
base
.
UserInfo
;
var
list
=
sellAchievementsModule
.
GetSellAchievementsRuleList
(
userInfo
.
Group_Id
);
return
ApiResult
.
Success
(
""
,
list
.
Select
(
x
=>
new
{
x
.
Id
,
x
.
Name
,
x
.
Type
,
x
.
CourseType
,
x
.
CourseIds
,
CourseList
=
x
.
CourseList
.
Select
(
y
=>
new
{
y
.
CourseId
,
y
.
CourseName
}),
x
.
CommissionType
,
x
.
EmpIds
,
EmpList
=
x
.
EmpList
.
Select
(
y
=>
new
{
y
.
Id
,
y
.
EmployeeName
}),
x
.
ChildEmpIds
,
ChildEmpList
=
x
.
ChildEmpList
.
Select
(
y
=>
new
{
y
.
Id
,
y
.
EmployeeName
}),
x
.
CourseRate
,
x
.
RateList
,
CreateTime
=
x
.
CreateTime
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
)
}));
}
/// <summary>
/// 保存规则配置
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
SetSellAchievementsRule
()
{
var
userInfo
=
base
.
UserInfo
;
RB_Sell_Achievements_Rule_ViewModel
demodel
=
JsonHelper
.
DeserializeObject
<
RB_Sell_Achievements_Rule_ViewModel
>(
base
.
RequestParm
.
Msg
.
ToString
());
if
(
string
.
IsNullOrEmpty
(
demodel
.
Name
))
{
return
ApiResult
.
ParamIsNull
(
"请传递方案名称"
);
}
if
(
demodel
.
CourseList
!=
null
&&
demodel
.
CourseList
.
Any
())
{
demodel
.
CourseIds
=
string
.
Join
(
","
,
demodel
.
CourseList
.
Select
(
x
=>
x
.
CourseId
));
}
if
(
demodel
.
EmpList
==
null
||
!
demodel
.
EmpList
.
Any
())
{
return
ApiResult
.
ParamIsNull
(
"请传递人员列表"
);
}
demodel
.
EmpIds
=
string
.
Join
(
","
,
demodel
.
EmpList
.
Select
(
x
=>
x
.
Id
));
if
(
demodel
.
ChildEmpList
!=
null
&&
demodel
.
ChildEmpList
.
Any
())
{
demodel
.
ChildEmpIds
=
string
.
Join
(
","
,
demodel
.
ChildEmpList
.
Select
(
x
=>
x
.
Id
));
}
if
(
demodel
.
CommissionType
==
3
)
{
if
(
demodel
.
CourseRate
<=
0
)
{
return
ApiResult
.
ParamIsNull
(
"请传递课程比例"
);
}
}
if
(
demodel
.
RateList
==
null
||
!
demodel
.
RateList
.
Any
())
{
return
ApiResult
.
ParamIsNull
(
"请传递业绩提成比例"
);
}
int
length
=
demodel
.
RateList
.
Count
();
for
(
var
i
=
0
;
i
<
length
;
i
++)
{
if
(
i
<
length
-
1
)
{
if
(
demodel
.
RateList
[
i
].
EndValue
>
demodel
.
RateList
[
i
+
1
].
StartValue
)
{
return
ApiResult
.
ParamIsNull
(
"业绩金额有误,请核实后再试"
);
}
}
if
(
demodel
.
RateList
[
i
].
Rate
<=
0
)
{
return
ApiResult
.
ParamIsNull
(
"业绩提成比例有误"
);
}
}
demodel
.
Content
=
JsonHelper
.
Serialize
(
demodel
.
RateList
);
demodel
.
Group_Id
=
userInfo
.
Group_Id
;
demodel
.
CreateBy
=
userInfo
.
Id
;
demodel
.
CreateTime
=
DateTime
.
Now
;
demodel
.
UpdateBy
=
userInfo
.
Id
;
demodel
.
UpdateTime
=
DateTime
.
Now
;
var
flag
=
sellAchievementsModule
.
SetSellAchievementsRule
(
demodel
);
if
(
flag
)
{
return
ApiResult
.
Success
();
}
else
{
return
ApiResult
.
Failed
();
}
}
#
endregion
#
region
提成列表
/// <summary>
/// 获取提成期数分页列表
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetSellCommissionPeriodsPageList
()
{
var
userInfo
=
base
.
UserInfo
;
var
pageModel
=
JsonHelper
.
DeserializeObject
<
ResultPageModel
>(
RequestParm
.
Msg
.
ToString
());
var
dmodel
=
JsonHelper
.
DeserializeObject
<
RB_Sell_Commission_Periods_ViewModel
>(
RequestParm
.
Msg
.
ToString
());
dmodel
.
Group_Id
=
userInfo
.
Group_Id
;
var
list
=
sellCommissionModule
.
GetSellCommissionPeriodsPageList
(
pageModel
.
PageIndex
,
pageModel
.
PageSize
,
out
long
count
,
dmodel
);
pageModel
.
Count
=
Convert
.
ToInt32
(
count
);
pageModel
.
PageData
=
list
.
Select
(
x
=>
new
{
x
.
Id
,
x
.
Periods
,
x
.
SumPrice
,
x
.
SchooldCommission
,
x
.
Name
,
FrIdList
=
string
.
IsNullOrEmpty
(
x
.
Financials
)
?
new
List
<
string
>()
:
x
.
Financials
.
Split
(
','
).
ToList
(),
x
.
CreateBy
,
CreateByName
=
UserReidsCache
.
GetUserLoginInfo
(
x
.
CreateBy
)?.
AccountName
??
""
,
CreateTime
=
x
.
CreateTime
.
ToString
(
"yyyy-MM-dd"
)
});
return
ApiResult
.
Success
(
""
,
pageModel
);
}
/// <summary>
/// 获取期数列表
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetSellCommissionPeriodsList
()
{
var
userInfo
=
base
.
UserInfo
;
var
dmodel
=
JsonHelper
.
DeserializeObject
<
RB_Sell_Commission_Periods_ViewModel
>(
RequestParm
.
Msg
.
ToString
());
dmodel
.
Group_Id
=
userInfo
.
Group_Id
;
var
list
=
sellCommissionModule
.
GetSellCommissionPeriodsList
(
dmodel
);
return
ApiResult
.
Success
(
""
,
list
.
Select
(
x
=>
new
{
x
.
Id
,
x
.
Periods
,
x
.
Name
,
}));
}
/// <summary>
/// 获取提成用户列表
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetSellCommissionUserList
()
{
var
userInfo
=
base
.
UserInfo
;
var
dmodel
=
JsonHelper
.
DeserializeObject
<
RB_Sell_Commission_Details_ViewModel
>(
RequestParm
.
Msg
.
ToString
());
dmodel
.
Group_Id
=
userInfo
.
Group_Id
;
if
(
dmodel
.
PeriodId
<=
0
)
{
return
ApiResult
.
ParamIsNull
(
"请传递期数id"
);
}
var
list
=
sellCommissionModule
.
GetSellCommissionUserList
(
dmodel
);
return
ApiResult
.
Success
(
""
,
list
.
Select
(
x
=>
new
{
x
.
School_Id
,
x
.
SchoolName
,
x
.
Depart_Id
,
x
.
DeptName
,
x
.
UserId
,
x
.
UserName
,
x
.
StudentCount
,
x
.
CurrentPeriodMoney
,
x
.
CurrentExtraMoney
,
CommissionMoney
=
x
.
CurrentPeriodMoney
+
x
.
CurrentExtraMoney
}));
}
/// <summary>
/// 获取提成用户明细列表
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetSellCommissionUserDetailList
()
{
var
userInfo
=
base
.
UserInfo
;
var
dmodel
=
JsonHelper
.
DeserializeObject
<
RB_Sell_Commission_Details_ViewModel
>(
RequestParm
.
Msg
.
ToString
());
dmodel
.
Group_Id
=
userInfo
.
Group_Id
;
if
(
dmodel
.
PeriodId
<=
0
)
{
return
ApiResult
.
ParamIsNull
(
"请传递期数id"
);
}
var
list
=
sellCommissionModule
.
GetSellCommissionUserDetailList_V2
(
dmodel
);
return
ApiResult
.
Success
(
""
,
list
.
Select
(
x
=>
new
{
x
.
School_Id
,
x
.
SchoolName
,
x
.
Depart_Id
,
x
.
DeptName
,
x
.
UserId
,
x
.
UserName
,
x
.
ClassId
,
x
.
ClassName
,
x
.
ClassNo
,
x
.
ClassType
,
x
.
ClassTypeName
,
x
.
OrderId
,
x
.
IssueNum
,
x
.
StudentCount
,
x
.
Periods
,
TotalCommissionMoney
=
x
.
CommissionMoney
+
x
.
OtherMoney
+
x
.
BackMoney
,
x
.
OtherMoney
,
x
.
BackMoney
,
x
.
GiveOutMoney
,
x
.
IsFirstCommission
,
x
.
TotalHours
,
x
.
TotalLearn
,
x
.
CurrentHours
,
x
.
IsContinueClass
,
x
.
Remark
,
x
.
CurrentPeriodMoney
,
x
.
CurrentExtraMoney
,
x
.
DeductionMoney
,
x
.
DeductionExtraMoney
,
YFMoney
=
x
.
CurrentPeriodMoney
+
x
.
CurrentExtraMoney
+
x
.
DeductionMoney
+
x
.
DeductionExtraMoney
}));
}
/// <summary>
/// 获取提成订单明细列表
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetSellCommissionForOrderList
()
{
var
userInfo
=
base
.
UserInfo
;
var
dmodel
=
JsonHelper
.
DeserializeObject
<
RB_Sell_Commission_Details_ViewModel
>(
RequestParm
.
Msg
.
ToString
());
dmodel
.
Group_Id
=
userInfo
.
Group_Id
;
if
(
dmodel
.
OrderId
<=
0
)
{
return
ApiResult
.
ParamIsNull
(
"请传递订单id"
);
}
var
list
=
sellCommissionModule
.
GetSellCommissionUserDetailList
(
dmodel
);
return
ApiResult
.
Success
(
""
,
list
.
Select
(
x
=>
new
{
x
.
School_Id
,
x
.
SchoolName
,
x
.
Depart_Id
,
x
.
DeptName
,
x
.
UserId
,
x
.
UserName
,
x
.
ClassId
,
x
.
ClassName
,
x
.
ClassNo
,
x
.
ClassType
,
x
.
ClassTypeName
,
x
.
OrderId
,
x
.
StudentCount
,
x
.
Periods
,
TotalCommissionMoney
=
x
.
CommissionMoney
+
x
.
OtherMoney
+
x
.
BackMoney
,
x
.
OtherMoney
,
x
.
BackMoney
,
x
.
GiveOutMoney
,
x
.
IsFirstCommission
,
x
.
TotalHours
,
x
.
TotalLearn
,
x
.
CurrentHours
,
x
.
IsContinueClass
,
x
.
Remark
,
x
.
CurrentPeriodMoney
,
x
.
CurrentExtraMoney
,
x
.
DeductionMoney
,
x
.
DeductionExtraMoney
,
YFMoney
=
x
.
CurrentPeriodMoney
+
x
.
CurrentExtraMoney
+
x
.
DeductionMoney
+
x
.
DeductionExtraMoney
}));
}
/// <summary>
/// 提成统计
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetSellCommissionStatistics
()
{
var
userInfo
=
base
.
UserInfo
;
var
pageModel
=
JsonHelper
.
DeserializeObject
<
ResultPageModel
>(
RequestParm
.
Msg
.
ToString
());
var
dmodel
=
JsonHelper
.
DeserializeObject
<
RB_Sell_Commission_Details_ViewModel
>(
RequestParm
.
Msg
.
ToString
());
dmodel
.
Group_Id
=
userInfo
.
Group_Id
;
var
list
=
sellCommissionModule
.
GetSellCommissionStatisticsPageList
(
pageModel
.
PageIndex
,
pageModel
.
PageSize
,
out
long
count
,
dmodel
);
decimal
TotalMoney
=
sellCommissionModule
.
GetSellCommissionStatistics
(
dmodel
);
pageModel
.
Count
=
Convert
.
ToInt32
(
count
);
pageModel
.
PageData
=
new
{
TotalCommission
=
TotalMoney
,
List
=
list
.
Select
(
x
=>
new
{
x
.
School_Id
,
x
.
SchoolName
,
x
.
Depart_Id
,
x
.
DeptName
,
x
.
UserId
,
x
.
UserName
,
x
.
ClassId
,
x
.
ClassName
,
x
.
ClassNo
,
x
.
ClassType
,
x
.
ClassTypeName
,
x
.
OrderId
,
x
.
StudentCount
,
x
.
Periods
,
TotalCommissionMoney
=
x
.
CommissionMoney
+
x
.
OtherMoney
+
x
.
BackMoney
,
x
.
OtherMoney
,
x
.
BackMoney
,
x
.
GiveOutMoney
,
x
.
IsFirstCommission
,
x
.
TotalHours
,
x
.
TotalLearn
,
x
.
CurrentHours
,
x
.
IsContinueClass
,
x
.
Remark
,
x
.
CurrentPeriodMoney
,
x
.
CurrentExtraMoney
,
x
.
DeductionMoney
,
x
.
DeductionExtraMoney
,
YFMoney
=
x
.
CurrentPeriodMoney
+
x
.
CurrentExtraMoney
+
x
.
DeductionMoney
+
x
.
DeductionExtraMoney
})
};
return
ApiResult
.
Success
(
""
,
pageModel
);
}
/// <summary>
/// 导出提成统计 Excel
/// </summary>
/// <returns></returns>
[
HttpPost
]
[
Obsolete
]
public
FileContentResult
GetSellCommissionStatisticsToExcel
()
{
var
userInfo
=
base
.
UserInfo
;
var
dmodel
=
JsonHelper
.
DeserializeObject
<
RB_Sell_Commission_Details_ViewModel
>(
RequestParm
.
Msg
.
ToString
());
dmodel
.
Group_Id
=
userInfo
.
Group_Id
;
string
ExcelName
=
"销售提成"
+
DateTime
.
Now
.
ToString
(
"yyyyMMddHHmmss"
)
+
".xls"
;
List
<
ExcelDataSource
>
slist
=
new
List
<
ExcelDataSource
>();
ExcelDataSource
header
=
new
ExcelDataSource
()
{
ExcelRows
=
new
List
<
ExcelColumn
>(
30
)
{
new
ExcelColumn
(
value
:
"校区"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"部门"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"销售"
)
{
CellWidth
=
25
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"班号"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"班级"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"班级类型"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"学生数量"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"订单号"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"订单应发"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"额外奖励"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"额外扣除"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"累计已发"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"首次发放"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"总课时"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"已学习课时"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"当期消费课时"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"当期应发"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"当期额外奖励"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"当期抵扣"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"当期奖励抵扣"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"最终发放"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"期数"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
},
new
ExcelColumn
(
value
:
"备注"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
}
}
};
slist
.
Add
(
header
);
try
{
var
list
=
sellCommissionModule
.
GetSellCommissionStatisticsPageList
(
1
,
1000000
,
out
long
count
,
dmodel
);
decimal
TotalMoney
=
sellCommissionModule
.
GetSellCommissionStatistics
(
dmodel
);
#
region
组装数据
foreach
(
var
item
in
list
)
{
ExcelDataSource
datarow
=
new
ExcelDataSource
()
{
ExcelRows
=
new
List
<
ExcelColumn
>(
30
)
{
new
ExcelColumn
(
value
:
item
.
SchoolName
){
},
new
ExcelColumn
(
value
:
item
.
DeptName
){
},
new
ExcelColumn
(
value
:
item
.
UserName
){
},
new
ExcelColumn
(
value
:
item
.
ClassNo
){
},
new
ExcelColumn
(
value
:
item
.
ClassName
+
(
item
.
IsContinueClass
==
1
?
" 续班"
:
""
)){
},
new
ExcelColumn
(
value
:
item
.
ClassTypeName
){
},
new
ExcelColumn
(
value
:
item
.
StudentCount
.
ToString
()){
},
new
ExcelColumn
(
value
:
item
.
OrderId
.
ToString
()){
},
new
ExcelColumn
(
value
:
(
item
.
CommissionMoney
+
item
.
OtherMoney
+
item
.
BackMoney
).
ToString
(
"#0.00"
)){
},
new
ExcelColumn
(
value
:
(
item
.
OtherMoney
).
ToString
(
"#0.00"
)){
},
new
ExcelColumn
(
value
:
(
item
.
BackMoney
).
ToString
(
"#0.00"
)){
},
new
ExcelColumn
(
value
:
(
item
.
GiveOutMoney
).
ToString
(
"#0.00"
)){
},
new
ExcelColumn
(
value
:
item
.
IsFirstCommission
==
1
?
"是"
:
"否"
){
},
new
ExcelColumn
(
value
:
item
.
TotalHours
.
ToString
()){
},
new
ExcelColumn
(
value
:
item
.
TotalLearn
.
ToString
()){
},
new
ExcelColumn
(
value
:
item
.
CurrentHours
==
-
1
?
"-"
:
item
.
CurrentHours
.
ToString
()){
},
new
ExcelColumn
(
value
:
(
item
.
CurrentPeriodMoney
).
ToString
(
"#0.00"
)){
},
new
ExcelColumn
(
value
:
(
item
.
CurrentExtraMoney
).
ToString
(
"#0.00"
)){
},
new
ExcelColumn
(
value
:
(
item
.
DeductionMoney
).
ToString
(
"#0.00"
)){
},
new
ExcelColumn
(
value
:
(
item
.
DeductionExtraMoney
).
ToString
(
"#0.00"
)){
},
new
ExcelColumn
(
value
:
(
item
.
CurrentPeriodMoney
+
item
.
CurrentExtraMoney
+
item
.
DeductionMoney
+
item
.
DeductionExtraMoney
).
ToString
(
"#0.00"
)){
},
new
ExcelColumn
(
value
:
item
.
Periods
){
},
new
ExcelColumn
(
value
:
item
.
Remark
){
},
},
ColumnHight
=
30
};
slist
.
Add
(
datarow
);
}
//统计
ExcelDataSource
datarows
=
new
ExcelDataSource
()
{
ExcelRows
=
new
List
<
ExcelColumn
>(
30
)
{
new
ExcelColumn
(
value
:
"汇总"
){
},
new
ExcelColumn
(
value
:
""
){
},
new
ExcelColumn
(
value
:
""
){
},
new
ExcelColumn
(
value
:
""
){
},
new
ExcelColumn
(
value
:
""
){
},
new
ExcelColumn
(
value
:
""
){
},
new
ExcelColumn
(
value
:
""
){
},
new
ExcelColumn
(
value
:
""
){
},
new
ExcelColumn
(
value
:
""
){
},
new
ExcelColumn
(
value
:
""
){
},
new
ExcelColumn
(
value
:
""
){
},
new
ExcelColumn
(
value
:
""
){
},
new
ExcelColumn
(
value
:
""
){
},
new
ExcelColumn
(
value
:
""
){
},
new
ExcelColumn
(
value
:
""
){
},
new
ExcelColumn
(
value
:
""
){
},
new
ExcelColumn
(
value
:
""
){
},
new
ExcelColumn
(
value
:
""
){
},
new
ExcelColumn
(
value
:
""
){
},
new
ExcelColumn
(
value
:
""
){
},
new
ExcelColumn
(
value
:
TotalMoney
.
ToString
(
"#0.00"
)){
},
new
ExcelColumn
(
value
:
""
){
},
new
ExcelColumn
(
value
:
""
){
},
},
ColumnHight
=
30
};
slist
.
Add
(
datarows
);
#
endregion
var
byteData
=
ExcelTempLateHelper
.
ToExcelExtend
(
slist
);
return
File
(
byteData
,
"application/octet-stream"
,
ExcelName
);
}
catch
(
Exception
ex
)
{
LogHelper
.
Write
(
ex
,
string
.
Format
(
"GetTeachingBonusDetailToExcel: {0}"
,
JsonHelper
.
Serialize
(
RequestParm
)));
var
byteData1
=
ExcelTempLateHelper
.
ToExcelExtend
(
slist
);
return
File
(
byteData1
,
"application/octet-stream"
,
ExcelName
);
}
}
/// <summary>
/// 创建销售提成
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
SetSellCommissionInfo
()
{
var
userInfo
=
base
.
UserInfo
;
JObject
parms
=
JObject
.
Parse
(
RequestParm
.
Msg
.
ToString
());
string
Month
=
parms
.
GetStringValue
(
"Month"
);
//月份
if
(
string
.
IsNullOrEmpty
(
Month
))
{
return
ApiResult
.
ParamIsNull
();
}
try
{
Month
=
Convert
.
ToDateTime
(
Month
+
"-01"
).
ToString
(
"yyyy-MM"
);
}
catch
(
Exception
)
{
return
ApiResult
.
Failed
(
"日期格式有误"
);
}
string
msg
=
sellCommissionModule
.
SetSellCommissionInfo
(
Month
,
userInfo
);
if
(
msg
==
""
)
{
return
ApiResult
.
Success
();
}
else
{
return
ApiResult
.
Failed
(
msg
);
}
}
/// <summary>
/// 验证用户离职
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetUserLeaveOrderCommission
()
{
var
userInfo
=
base
.
UserInfo
;
JObject
parms
=
JObject
.
Parse
(
RequestParm
.
Msg
.
ToString
());
int
UserId
=
parms
.
GetInt
(
"UserId"
,
0
);
if
(
UserId
<=
0
)
{
return
ApiResult
.
ParamIsNull
();
}
string
msg
=
sellCommissionModule
.
GetUserLeaveOrderCommission
(
UserId
,
userInfo
);
if
(
msg
==
""
)
{
return
ApiResult
.
Success
(
"暂无需补交订单"
);
}
else
{
return
ApiResult
.
Failed
(
msg
);
}
}
/// <summary>
/// 获取提成可发放人员列表
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetSellCommissionSendEmployeeList
()
{
var
userInfo
=
base
.
UserInfo
;
JObject
parms
=
JObject
.
Parse
(
RequestParm
.
Msg
.
ToString
());
int
PeriodId
=
parms
.
GetInt
(
"PeriodId"
,
0
);
//期数id
if
(
PeriodId
<=
0
)
{
return
ApiResult
.
ParamIsNull
();
}
var
list
=
sellCommissionModule
.
GetSellCommissionSendEmployeeList
(
PeriodId
,
userInfo
);
return
ApiResult
.
Success
(
""
,
list
);
}
/// <summary>
/// 设置提成发放人员
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
SetSellCommissionSendEmployee
()
{
var
userInfo
=
base
.
UserInfo
;
JObject
parms
=
JObject
.
Parse
(
RequestParm
.
Msg
.
ToString
());
int
PeriodId
=
parms
.
GetInt
(
"PeriodId"
,
0
);
//期数id
string
EmpIds
=
parms
.
GetStringValue
(
"EmpIds"
);
//人员列表
if
(
PeriodId
<=
0
)
{
return
ApiResult
.
ParamIsNull
();
}
if
(
string
.
IsNullOrEmpty
(
EmpIds
))
{
return
ApiResult
.
ParamIsNull
(
"请传递用户id"
);
}
string
msg
=
sellCommissionModule
.
SetSellCommissionSendEmployee
(
PeriodId
,
EmpIds
,
userInfo
);
if
(
msg
==
""
)
{
return
ApiResult
.
Success
(
""
);
}
else
{
return
ApiResult
.
Failed
(
msg
);
}
}
#
endregion
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment