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
ee71389f
Commit
ee71389f
authored
Feb 24, 2022
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
页面修改
parent
0f91ea8f
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
363 additions
and
91 deletions
+363
-91
RB_Consultant_Data_Extend.cs
...del/ViewModel/DataStatistics/RB_Consultant_Data_Extend.cs
+11
-0
CustomerModule.cs
Edu.Module.Customer/CustomerModule.cs
+44
-5
MarketConsultantModule.cs
Edu.Module.Customer/MarketConsultantModule.cs
+111
-43
RB_StudentRepository.cs
Edu.Repository/User/RB_StudentRepository.cs
+21
-5
B2BCustomerController.cs
Edu.WebApi/Controllers/Customer/B2BCustomerController.cs
+28
-14
UserCenterController.cs
Edu.WebApi/Controllers/User/UserCenterController.cs
+148
-24
No files found.
Edu.Model/ViewModel/DataStatistics/RB_Consultant_Data_Extend.cs
View file @
ee71389f
using
Edu.Model.Entity.DataStatistics
;
using
Edu.Model.ViewModel.User
;
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
...
...
@@ -24,5 +25,15 @@ namespace Edu.Model.ViewModel.DataStatistics
/// 创建人
/// </summary>
public
string
QCreateByIds
{
get
;
set
;
}
/// <summary>
/// 本周学员名单
/// </summary>
public
List
<
RB_Student_ViewModel
>
CurWeekStuList
{
get
;
set
;
}
/// <summary>
/// 本月学员名单
/// </summary>
public
List
<
RB_Student_ViewModel
>
CurMonthStuList
{
get
;
set
;
}
}
}
Edu.Module.Customer/CustomerModule.cs
View file @
ee71389f
...
...
@@ -352,12 +352,15 @@ namespace Edu.Module.Customer
var
empName
=
UserReidsCache
.
GetUserLoginInfo
(
empId
)?.
AccountName
??
""
;
foreach
(
var
item
in
clist
)
{
Dictionary
<
string
,
object
>
keyValues
=
new
Dictionary
<
string
,
object
>()
{
Dictionary
<
string
,
object
>
keyValues
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Customer_Extend
.
CreateBy
),
empId
},
{
nameof
(
RB_Customer_Extend
.
UpdateTime
),
DateTime
.
Now
},
};
List
<
WhereHelper
>
wheres
=
new
List
<
WhereHelper
>()
{
new
WhereHelper
(){
List
<
WhereHelper
>
wheres
=
new
List
<
WhereHelper
>()
{
new
WhereHelper
()
{
FiledName
=
nameof
(
RB_Customer_Extend
.
CustomerId
),
FiledValue
=
item
.
CustomerId
,
OperatorEnum
=
OperatorEnum
.
Equal
...
...
@@ -576,6 +579,42 @@ namespace Edu.Module.Customer
return
list
;
}
/// <summary>
/// 检测同行联系人是否存在
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public
bool
CheckCustomerModule
(
RB_Customer_Extend
model
,
int
checkType
)
{
List
<
WhereHelper
>
list
=
new
List
<
WhereHelper
>
{
new
WhereHelper
(
nameof
(
RB_Customer_Extend
.
Status
),
0
),
new
WhereHelper
(
nameof
(
RB_Customer_Extend
.
Group_Id
),
model
.
Group_Id
)
};
if
(
checkType
==
1
&&!
string
.
IsNullOrEmpty
(
model
.
ContactNumber
))
{
list
.
Add
(
new
WhereHelper
(
nameof
(
RB_Customer_Extend
.
ContactNumber
),
model
.
ContactNumber
));
}
if
(
checkType
==
2
&&
!
string
.
IsNullOrEmpty
(
model
.
QQ
))
{
list
.
Add
(
new
WhereHelper
(
nameof
(
RB_Customer_Extend
.
QQ
),
model
.
QQ
));
}
if
(
checkType
==
3
&&
!
string
.
IsNullOrEmpty
(
model
.
WeChatNo
))
{
list
.
Add
(
new
WhereHelper
(
nameof
(
RB_Customer_Extend
.
WeChatNo
),
model
.
WeChatNo
));
}
if
(
model
.
CustomerId
>
0
)
{
list
.
Add
(
new
WhereHelper
()
{
FiledName
=
nameof
(
RB_Customer_Category_Extend
.
CategoryId
),
FiledValue
=
model
.
CustomerId
,
OperatorEnum
=
OperatorEnum
.
NotEqual
});
}
return
customerRepository
.
Exists
(
list
);
}
/// <summary>
/// 检测同行是否存在
/// </summary>
...
...
Edu.Module.Customer/MarketConsultantModule.cs
View file @
ee71389f
...
...
@@ -111,7 +111,7 @@ namespace Edu.Module.Customer
QDeptIds
=
"4"
,
Group_Id
=
100000
,
IsLeave
=
1
,
UserRole
=
UserRoleEnum
.
MarketPersion
,
UserRole
=
UserRoleEnum
.
MarketPersion
,
});
if
(
empList
!=
null
&&
empList
.
Count
>
0
)
{
...
...
@@ -324,7 +324,7 @@ namespace Edu.Module.Customer
QDeptIds
=
"13"
,
Group_Id
=
100000
,
IsLeave
=
1
,
UserRole
=
UserRoleEnum
.
CourseConsultant
,
UserRole
=
UserRoleEnum
.
CourseConsultant
,
});
if
(
empList
!=
null
&&
empList
.
Count
>
0
)
{
...
...
@@ -785,21 +785,37 @@ namespace Edu.Module.Customer
public
object
ConsultantStaticModule
(
string
EmpIds
,
string
StartTime
,
string
EndTime
)
{
object
obj
=
new
object
();
DateTime
start
=
Convert
.
ToDateTime
(
StartTime
);
DateTime
end
=
Convert
.
ToDateTime
(
EndTime
);
var
days
=
(
end
-
start
).
Days
;
var
studentList
=
studentRepository
.
GetStudentListRepository
(
new
RB_Student_ViewModel
(
)
string
newStart
=
Common
.
ConvertHelper
.
FormatDate
(
end
.
AddMonths
(-
1
))
;
if
(
string
.
IsNullOrEmpty
(
EmpIds
)
)
{
StartTime
=
StartTime
,
EndTime
=
EndTime
,
QCreateBys
=
EmpIds
,
var
empList
=
accountRepository
.
GetEmployeeListRepository
(
new
Employee_ViewModel
()
{
//市场部编号4,课程顾问部编号13
QDeptIds
=
"13"
,
Group_Id
=
100000
,
IsLeave
=
1
,
UserRole
=
UserRoleEnum
.
CourseConsultant
,
});
EmpIds
=
string
.
Join
(
","
,
empList
.
Select
(
qitem
=>
qitem
.
Id
));
}
var
studentList
=
studentRepository
.
GetStudentListRepository
(
new
RB_Student_ViewModel
()
{
StartTime
=
newStart
,
EndTime
=
EndTime
,
QCreateBys
=
EmpIds
,
},
isQueryAssist
:
true
);
var
lastList
=
consultant_DataRepository
.
GetConsultantListRepository
(
new
RB_Consultant_Data_Extend
()
{
StartTime
=
StartTime
,
EndTime
=
EndTime
,
QCreateByIds
=
EmpIds
});
var
curWeekStuList
=
studentList
?.
Where
(
qitem
=>
Common
.
ConvertHelper
.
WeekOfYear
(
qitem
.
CreateTime
)
==
Common
.
ConvertHelper
.
WeekOfYear
(
end
.
AddDays
(-
1
)))?.
ToList
();
var
curMonthStuList
=
studentList
?.
Where
(
qitem
=>
qitem
.
CreateTime
.
Year
==
end
.
AddDays
(-
1
).
Year
&&
qitem
.
CreateTime
.
Month
==
end
.
AddDays
(-
1
).
Month
)?.
ToList
();
var
consultantGoal
=
GetConsultantGoalListModule
(
new
RB_Consultant_Goal_Extend
()
{
Group_Id
=
100000
,
Dept_Id
=
13
,
YearStr
=
end
.
Year
,
MonthStr
=
end
.
Month
})?.
FirstOrDefault
();
var
yesDataList
=
lastList
?.
Where
(
qitem
=>
qitem
.
Date
.
Year
==
end
.
AddDays
(-
1
).
Year
&&
qitem
.
Date
.
Month
==
end
.
AddDays
(-
1
).
Month
)?.
ToList
();
//当前周
...
...
@@ -838,21 +854,21 @@ namespace Edu.Module.Customer
var
LastMonthFollow
=
tempDataList
?.
Sum
(
qitem
=>
qitem
.
LastMonthFollow
)
??
0
;
decimal
AgFollow
=
0
;
if
(
yesDataList
!=
null
&&
yesDataList
.
Where
(
qitem
=>
qitem
.
AgFollow
>
0
).
Count
()
>
0
)
if
(
yesDataList
!=
null
&&
yesDataList
.
Where
(
qitem
=>
qitem
.
AgFollow
>
0
).
Count
()
>
0
)
{
AgFollow
=
Math
.
Round
(
yesDataList
?.
Average
(
qitem
=>
qitem
.
AgFollow
)
??
0
,
2
);
}
decimal
YestodayAgFollow
=
0
;
if
(
yesDataList
!=
null
&&
yesDataList
.
Where
(
qitem
=>
qitem
.
YestodayAgFollow
>
0
).
Count
()
>
0
)
{
YestodayAgFollow
=
Math
.
Round
(
yesDataList
?.
Average
(
qitem
=>
qitem
.
YestodayAgFollow
)
??
0
,
2
);
YestodayAgFollow
=
Math
.
Round
(
yesDataList
?.
Average
(
qitem
=>
qitem
.
YestodayAgFollow
)
??
0
,
2
);
}
decimal
CurWeekAgFollow
=
0
;
if
(
curWeekList
!=
null
&&
curWeekList
.
Where
(
qitem
=>
qitem
.
CurWeekAgFollow
>
0
).
Count
()
>
0
)
{
CurWeekAgFollow
=
Math
.
Round
(
curWeekList
?.
Average
(
qitem
=>
qitem
.
CurWeekAgFollow
)
??
0
,
2
);
CurWeekAgFollow
=
Math
.
Round
(
curWeekList
?.
Average
(
qitem
=>
qitem
.
CurWeekAgFollow
)
??
0
,
2
);
}
...
...
@@ -930,10 +946,62 @@ namespace Edu.Module.Customer
CurMonthOrderNum
,
LastMonthOrderNum
,
CurWeekStu
=
curWeekStuList
?.
Select
(
qitem
=>
new
{
qitem
.
StuId
,
qitem
.
StuName
}),
CurMonthStu
=
curWeekStuList
?.
Select
(
qitem
=>
new
{
qitem
.
StuId
,
qitem
.
StuName
}),
};
return
obj
;
}
/// <summary>
/// 课程顾问数据统计下载
/// </summary>
/// <param name="EmpIds"></param>
/// <param name="StartTime"></param>
/// <param name="EndTime"></param>
/// <returns></returns>
public
List
<
RB_Consultant_Data_Extend
>
DownLoadConsultantStaticModule
(
string
EmpIds
,
string
StartTime
,
string
EndTime
)
{
List
<
RB_Consultant_Data_Extend
>
list
=
new
List
<
RB_Consultant_Data_Extend
>();
DateTime
end
=
Convert
.
ToDateTime
(
EndTime
);
string
newStart
=
Common
.
ConvertHelper
.
FormatDate
(
end
.
AddMonths
(-
1
));
if
(
string
.
IsNullOrEmpty
(
EmpIds
))
{
var
empList
=
accountRepository
.
GetEmployeeListRepository
(
new
Employee_ViewModel
()
{
//市场部编号4,课程顾问部编号13
QDeptIds
=
"13"
,
Group_Id
=
100000
,
IsLeave
=
1
,
UserRole
=
UserRoleEnum
.
CourseConsultant
,
});
EmpIds
=
string
.
Join
(
","
,
empList
.
Select
(
qitem
=>
qitem
.
Id
));
}
var
studentList
=
studentRepository
.
GetStudentListRepository
(
new
RB_Student_ViewModel
()
{
StartTime
=
newStart
,
EndTime
=
EndTime
,
QCreateBys
=
EmpIds
,
},
isQueryAssist
:
true
);
var
lastList
=
consultant_DataRepository
.
GetConsultantListRepository
(
new
RB_Consultant_Data_Extend
()
{
StartTime
=
StartTime
,
EndTime
=
EndTime
,
QCreateByIds
=
EmpIds
});
if
(
lastList
!=
null
&&
lastList
.
Count
>
0
)
{
foreach
(
var
item
in
lastList
.
Where
(
qitem
=>
Common
.
ConvertHelper
.
FormatDate
(
qitem
.
Date
)
==
Common
.
ConvertHelper
.
FormatDate
(
end
.
AddDays
(-
1
))))
{
var
tempList
=
studentList
?.
Where
(
qitem
=>
(
qitem
.
CreateBy
==
item
.
CreateBy
||
qitem
?.
AssistList
?.
Where
(
sItem
=>
sItem
.
AssistId
==
item
.
CreateBy
).
Count
()
>
0
))?.
ToList
();
item
.
CurWeekStuList
=
tempList
?.
Where
(
qitem
=>
Common
.
ConvertHelper
.
WeekOfYear
(
qitem
.
CreateTime
)
==
Common
.
ConvertHelper
.
WeekOfYear
(
end
.
AddDays
(-
1
)))?.
ToList
();
item
.
CurMonthStuList
=
tempList
?.
Where
(
qitem
=>
qitem
.
CreateTime
.
Year
==
end
.
AddDays
(-
1
).
Year
&&
qitem
.
CreateTime
.
Month
==
end
.
AddDays
(-
1
).
Month
)?.
ToList
();
list
.
Add
(
item
);
}
}
return
list
;
}
#
region
课程顾问部目标设置
/// <summary>
...
...
@@ -1087,7 +1155,7 @@ namespace Edu.Module.Customer
{
//市场部编号4,课程顾问部编号13
QDeptIds
=
"4"
,
UserRole
=
UserRoleEnum
.
MarketPersion
,
UserRole
=
UserRoleEnum
.
MarketPersion
,
Group_Id
=
100000
,
IsLeave
=
1
,
QIds
=
qEmpIds
...
...
@@ -1223,7 +1291,7 @@ namespace Edu.Module.Customer
/// <param name="StartTime"></param>
/// <param name="EndTime"></param>
/// <returns></returns>
public
object
MarketCreateTypeStaticModule
(
List
<
int
>
queryEmployeeIds
,
string
StartTime
,
string
EndTime
)
public
object
MarketCreateTypeStaticModule
(
List
<
int
>
queryEmployeeIds
,
string
StartTime
,
string
EndTime
)
{
var
dataList
=
studentRepository
.
GetStudentChannelStaticRepository
(
new
RB_Student_ViewModel
()
{
...
...
@@ -1253,7 +1321,7 @@ namespace Edu.Module.Customer
customerList
=
customerRepository
.
GetCustomerListRepository
(
new
RB_Customer_Extend
()
{
CustomerIds
=
cusIds
});
}
var
categoryTypeList
=
dataList
?.
Where
(
qitem
=>
qitem
.
CreateType
==
StuCreateTypeEnum
.
CustomerInput
)
?.
GroupBy
(
qitem
=>
new
{
qitem
.
CatetoryType
})
?.
GroupBy
(
qitem
=>
new
{
qitem
.
CatetoryType
})
?.
Select
(
qitem
=>
new
{
qitem
.
Key
.
CatetoryType
});
foreach
(
var
sItem
in
categoryTypeList
)
...
...
@@ -1360,7 +1428,7 @@ namespace Edu.Module.Customer
/// <param name="StartTime"></param>
/// <param name="EndTime"></param>
/// <returns></returns>
public
List
<
MarketChannelStaticModel
>
MarketChannelStaticModule
(
List
<
int
>
queryEmployeeList
,
string
StartTime
,
string
EndTime
)
public
List
<
MarketChannelStaticModel
>
MarketChannelStaticModule
(
List
<
int
>
queryEmployeeList
,
string
StartTime
,
string
EndTime
)
{
List
<
MarketChannelStaticModel
>
list
=
new
List
<
MarketChannelStaticModel
>();
var
channelList
=
channelRepository
.
GetChannelListRepository
(
new
RB_Channel_Extend
()
{
});
...
...
@@ -1368,7 +1436,7 @@ namespace Edu.Module.Customer
{
StartTime
=
StartTime
,
EndTime
=
EndTime
,
CreateIds
=
queryEmployeeList
CreateIds
=
queryEmployeeList
});
if
(
channelList
!=
null
&&
channelList
.
Count
>
0
)
{
...
...
@@ -1379,11 +1447,11 @@ namespace Edu.Module.Customer
{
ChannelName
=
item
.
Name
,
ChannelId
=
item
.
Id
,
ChannelType
=
1
,
ClueCount
=
channelTempList
?.
Count
()
??
0
,
VisitCount
=
channelTempList
?.
Sum
(
qitem
=>
qitem
.
VisitCount
)
??
0
,
OrderCount
=
channelTempList
?.
Sum
(
qitem
=>
qitem
.
OrderCount
)
??
0
,
OrderIncome
=
channelTempList
?.
Sum
(
qitem
=>
qitem
.
OrderIncome
)
??
0
ChannelType
=
1
,
ClueCount
=
channelTempList
?.
Count
()
??
0
,
VisitCount
=
channelTempList
?.
Sum
(
qitem
=>
qitem
.
VisitCount
)
??
0
,
OrderCount
=
channelTempList
?.
Sum
(
qitem
=>
qitem
.
OrderCount
)
??
0
,
OrderIncome
=
channelTempList
?.
Sum
(
qitem
=>
qitem
.
OrderIncome
)
??
0
});
}
}
...
...
@@ -1412,13 +1480,13 @@ namespace Edu.Module.Customer
list
.
Add
(
new
MarketChannelStaticModel
()
{
ChannelName
=
"(企业)"
+
(
tempCustomer
?.
CustomerName
??
""
),
ChannelId
=
subItem
.
CategoryId
,
CustomerType
=
sItem
.
CatetoryType
,
ChannelId
=
subItem
.
CategoryId
,
CustomerType
=
sItem
.
CatetoryType
,
ChannelType
=
2
,
ClueCount
=
tempCusList
?.
Count
()
??
0
,
VisitCount
=
tempCusList
?.
Sum
(
qitem
=>
qitem
.
VisitCount
)
??
0
,
OrderCount
=
tempCusList
?.
Sum
(
qitem
=>
qitem
.
OrderCount
)
??
0
,
OrderIncome
=
tempCusList
?.
Sum
(
qitem
=>
qitem
.
OrderIncome
)
??
0
ClueCount
=
tempCusList
?.
Count
()
??
0
,
VisitCount
=
tempCusList
?.
Sum
(
qitem
=>
qitem
.
VisitCount
)
??
0
,
OrderCount
=
tempCusList
?.
Sum
(
qitem
=>
qitem
.
OrderCount
)
??
0
,
OrderIncome
=
tempCusList
?.
Sum
(
qitem
=>
qitem
.
OrderIncome
)
??
0
});
}
//校代同行
...
...
@@ -1427,13 +1495,13 @@ namespace Edu.Module.Customer
list
.
Add
(
new
MarketChannelStaticModel
()
{
ChannelName
=
"(校代)"
+
(
tempCustomer
?.
CustomerName
??
""
),
ChannelId
=
subItem
.
CategoryId
,
CustomerType
=
sItem
.
CatetoryType
,
ChannelId
=
subItem
.
CategoryId
,
CustomerType
=
sItem
.
CatetoryType
,
ChannelType
=
2
,
ClueCount
=
tempCusList
?.
Count
()
??
0
,
VisitCount
=
tempCusList
?.
Sum
(
qitem
=>
qitem
.
VisitCount
)
??
0
,
OrderCount
=
tempCusList
?.
Sum
(
qitem
=>
qitem
.
OrderCount
)
??
0
,
OrderIncome
=
tempCusList
?.
Sum
(
qitem
=>
qitem
.
OrderIncome
)
??
0
ClueCount
=
tempCusList
?.
Count
()
??
0
,
VisitCount
=
tempCusList
?.
Sum
(
qitem
=>
qitem
.
VisitCount
)
??
0
,
OrderCount
=
tempCusList
?.
Sum
(
qitem
=>
qitem
.
OrderCount
)
??
0
,
OrderIncome
=
tempCusList
?.
Sum
(
qitem
=>
qitem
.
OrderIncome
)
??
0
});
}
}
...
...
@@ -1454,12 +1522,12 @@ namespace Edu.Module.Customer
list
.
Add
(
new
MarketChannelStaticModel
()
{
ChannelName
=
"(内部介绍)"
+
(
empList
?.
FirstOrDefault
(
qitem
=>
qitem
.
Id
==
sItem
.
StuSourceId
)?.
EmployeeName
??
""
),
ChannelId
=
sItem
.
StuSourceId
,
ChannelId
=
sItem
.
StuSourceId
,
ChannelType
=
3
,
ClueCount
=
tempInnerList
?.
Count
()
??
0
,
VisitCount
=
tempInnerList
?.
Sum
(
qitem
=>
qitem
.
VisitCount
)
??
0
,
OrderCount
=
tempInnerList
?.
Sum
(
qitem
=>
qitem
.
OrderCount
)
??
0
,
OrderIncome
=
tempInnerList
?.
Sum
(
qitem
=>
qitem
.
OrderIncome
)
??
0
ClueCount
=
tempInnerList
?.
Count
()
??
0
,
VisitCount
=
tempInnerList
?.
Sum
(
qitem
=>
qitem
.
VisitCount
)
??
0
,
OrderCount
=
tempInnerList
?.
Sum
(
qitem
=>
qitem
.
OrderCount
)
??
0
,
OrderIncome
=
tempInnerList
?.
Sum
(
qitem
=>
qitem
.
OrderIncome
)
??
0
});
}
...
...
@@ -1480,10 +1548,10 @@ namespace Edu.Module.Customer
ChannelName
=
"(学员转介绍)"
+
stuList
?.
FirstOrDefault
(
qitem
=>
qitem
.
StuId
==
sItem
.
StuSourceId
)?.
StuName
??
""
,
ChannelId
=
sItem
.
StuSourceId
,
ChannelType
=
4
,
ClueCount
=
tempTransList
?.
Count
()
??
0
,
VisitCount
=
tempTransList
?.
Sum
(
qitem
=>
qitem
.
VisitCount
)
??
0
,
OrderCount
=
tempTransList
?.
Sum
(
qitem
=>
qitem
.
OrderCount
)
??
0
,
OrderIncome
=
tempTransList
?.
Sum
(
qitem
=>
qitem
.
OrderIncome
)
??
0
ClueCount
=
tempTransList
?.
Count
()
??
0
,
VisitCount
=
tempTransList
?.
Sum
(
qitem
=>
qitem
.
VisitCount
)
??
0
,
OrderCount
=
tempTransList
?.
Sum
(
qitem
=>
qitem
.
OrderCount
)
??
0
,
OrderIncome
=
tempTransList
?.
Sum
(
qitem
=>
qitem
.
OrderIncome
)
??
0
});
}
...
...
Edu.Repository/User/RB_StudentRepository.cs
View file @
ee71389f
...
...
@@ -60,12 +60,17 @@ namespace Edu.Repository.User
/// </summary>
private
readonly
RB_NeedsRepository
needsRepository
=
new
RB_NeedsRepository
();
/// <summary>
/// 学员协助人员仓储层对象
/// </summary>
private
readonly
RB_Student_AssistRepository
student_AssistRepository
=
new
RB_Student_AssistRepository
();
/// <summary>
/// 获取学生列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public
List
<
RB_Student_ViewModel
>
GetStudentListRepository
(
RB_Student_ViewModel
query
,
bool
isQueryCreateType
=
false
)
public
List
<
RB_Student_ViewModel
>
GetStudentListRepository
(
RB_Student_ViewModel
query
,
bool
isQueryCreateType
=
false
,
bool
isQueryAssist
=
false
)
{
var
parameters
=
new
DynamicParameters
();
StringBuilder
builder
=
new
StringBuilder
();
...
...
@@ -140,7 +145,7 @@ WHERE 1=1
}
if
(!
string
.
IsNullOrEmpty
(
query
.
QCreateBys
))
{
builder
.
AppendFormat
(
@" AND (t.CreateBy IN({0}) OR t.StuId IN(SELECT StuId FROM rb_student_assist WHERE AssistId IN({0}) AND `Status`= 0) ) "
,
query
.
QCreateBys
);
}
//根据订单编号查询学员
if
(!
string
.
IsNullOrEmpty
(
query
.
QOrderIds
))
...
...
@@ -167,7 +172,6 @@ WHERE 1=1
List
<
RB_Account_ViewModel
>
accountList
=
new
List
<
RB_Account_ViewModel
>();
if
(
stuList
!=
null
&&
stuList
.
Count
>
0
)
{
List
<
int
>
customerIdList
=
Common
.
ConvertHelper
.
StringToList
(
string
.
Join
(
","
,
stuList
.
Where
(
qitem
=>
qitem
.
CreateType
==
StuCreateTypeEnum
.
CustomerInput
).
Select
(
qitem
=>
qitem
.
StuSourceId
)));
if
(
customerIdList
!=
null
&&
customerIdList
.
Count
>
0
)
{
...
...
@@ -223,6 +227,18 @@ WHERE 1=1
}
}
}
if
(
isQueryAssist
)
{
if
(
stuList
!=
null
&&
stuList
.
Count
>
0
)
{
string
stuIds
=
string
.
Join
(
","
,
stuList
.
Select
(
qitem
=>
qitem
.
StuId
));
List
<
RB_Student_Assist_Extend
>
assistList
=
student_AssistRepository
.
GetStudentAssistListRepository
(
new
RB_Student_Assist_Extend
()
{
QStuIds
=
stuIds
});
foreach
(
var
item
in
stuList
)
{
item
.
AssistList
=
assistList
?.
Where
(
qitem
=>
qitem
.
StuId
==
item
.
StuId
)?.
ToList
()
??
new
List
<
RB_Student_Assist_Extend
>();
}
}
}
return
stuList
;
}
...
...
@@ -290,7 +306,7 @@ WHERE 1=1
}
if
(!
string
.
IsNullOrWhiteSpace
(
query
.
StuTel
))
{
builder
.
AppendFormat
(
" AND t.{0} LIKE @StuTel "
,
nameof
(
RB_Student_ViewModel
.
Stu
Tel
));
builder
.
AppendFormat
(
" AND t.{0} LIKE @StuTel "
,
nameof
(
RB_Student_ViewModel
.
Stu
RealMobile
));
parameters
.
Add
(
"StuTel"
,
"%"
+
query
.
StuTel
.
Trim
()
+
"%"
);
}
if
(!
string
.
IsNullOrWhiteSpace
(
query
.
QQ
))
...
...
Edu.WebApi/Controllers/Customer/B2BCustomerController.cs
View file @
ee71389f
...
...
@@ -102,9 +102,9 @@ namespace Edu.WebApi.Controllers.Customer
{
CustomerId
=
base
.
ParmJObj
.
GetInt
(
"CustomerId"
),
CustomerName
=
base
.
ParmJObj
.
GetStringValue
(
"CustomerName"
),
ContactNumber
=
base
.
ParmJObj
.
GetStringValue
(
"ContactNumber"
),
ContactNumber
=
base
.
ParmJObj
.
GetStringValue
(
"ContactNumber"
)
.
Trim
()
,
Fax
=
base
.
ParmJObj
.
GetStringValue
(
"Fax"
),
QQ
=
base
.
ParmJObj
.
GetStringValue
(
"QQ"
),
QQ
=
base
.
ParmJObj
.
GetStringValue
(
"QQ"
)
.
Trim
()
,
Email
=
base
.
ParmJObj
.
GetStringValue
(
"Email"
),
Address
=
base
.
ParmJObj
.
GetStringValue
(
"Address"
),
Sex
=
base
.
ParmJObj
.
GetInt
(
"Sex"
),
...
...
@@ -120,9 +120,19 @@ namespace Edu.WebApi.Controllers.Customer
Remark
=
base
.
ParmJObj
.
GetStringValue
(
"Remark"
),
EnterpriseName
=
base
.
ParmJObj
.
GetStringValue
(
"EnterpriseName"
),
CustomerType
=
(
CatetoryTypeEnum
)
base
.
ParmJObj
.
GetInt
(
"CustomerType"
),
WeChatNo
=
base
.
ParmJObj
.
GetStringValue
(
"WeChatNo"
),
WeChatNo
=
base
.
ParmJObj
.
GetStringValue
(
"WeChatNo"
)
.
Trim
()
,
CategoryId
=
base
.
ParmJObj
.
GetInt
(
"CategoryId"
),
};
model
.
Status
=
Common
.
Enum
.
DateStateEnum
.
Normal
;
model
.
CreateBy
=
base
.
UserInfo
.
Id
;
model
.
CreateTime
=
DateTime
.
Now
;
model
.
UpdateTime
=
DateTime
.
Now
;
model
.
Group_Id
=
base
.
UserInfo
.
Group_Id
;
model
.
School_Id
=
base
.
UserInfo
.
School_Id
;
model
.
ApproveState
=
1
;
model
.
ApproveId
=
base
.
UserInfo
.
Id
;
model
.
ApproveTime
=
DateTime
.
Now
;
model
.
CustomerState
=
CustomerStateEnum
.
Normal
;
if
(
string
.
IsNullOrEmpty
(
model
.
CustomerName
))
{
return
ApiResult
.
ParamIsNull
(
message
:
"请填写客户名称!"
);
...
...
@@ -133,6 +143,18 @@ namespace Edu.WebApi.Controllers.Customer
return
ApiResult
.
Failed
(
"手机号码、QQ号码、微信号码至少填写一项!"
);
}
if
(!
string
.
IsNullOrEmpty
(
model
.
ContactNumber
)
&&
customerModule
.
CheckCustomerModule
(
model
,
1
))
{
return
ApiResult
.
Failed
(
"此联系人手机号码已注册!"
);
}
if
(!
string
.
IsNullOrEmpty
(
model
.
QQ
)
&&
customerModule
.
CheckCustomerModule
(
model
,
2
))
{
return
ApiResult
.
Failed
(
"此联系人QQ号码已注册!"
);
}
if
(!
string
.
IsNullOrEmpty
(
model
.
WeChatNo
)
&&
customerModule
.
CheckCustomerModule
(
model
,
3
))
{
return
ApiResult
.
Failed
(
"此联系人微信号已注册!"
);
}
var
categoryModel
=
new
RB_Customer_Category_Extend
()
{
CategoryId
=
0
,
...
...
@@ -152,16 +174,7 @@ namespace Edu.WebApi.Controllers.Customer
model
.
CategoryId
=
categoryModel
.
CategoryId
;
}
model
.
Status
=
Common
.
Enum
.
DateStateEnum
.
Normal
;
model
.
CreateBy
=
base
.
UserInfo
.
Id
;
model
.
CreateTime
=
DateTime
.
Now
;
model
.
UpdateTime
=
DateTime
.
Now
;
model
.
Group_Id
=
base
.
UserInfo
.
Group_Id
;
model
.
School_Id
=
base
.
UserInfo
.
School_Id
;
model
.
ApproveState
=
1
;
model
.
ApproveId
=
base
.
UserInfo
.
Id
;
model
.
ApproveTime
=
DateTime
.
Now
;
model
.
CustomerState
=
CustomerStateEnum
.
Normal
;
var
flag
=
customerModule
.
SetCustomerModule
(
model
);
return
flag
?
ApiResult
.
Success
()
:
ApiResult
.
Failed
();
}
...
...
@@ -928,6 +941,7 @@ namespace Edu.WebApi.Controllers.Customer
{
item
.
CategoryId
,
item
.
CategoryName
,
item
.
CreateBy
,
CreateByName
=
item
.
CreateByName
,
item
.
CatetoryType
,
item
.
LinkManCount
,
...
...
@@ -1053,7 +1067,7 @@ namespace Edu.WebApi.Controllers.Customer
var
extModel
=
new
RB_Customer_Category_Extend
()
{
CategoryId
=
CategoryId
,
CategoryName
=
base
.
ParmJObj
.
GetStringValue
(
"CategoryName"
),
CategoryName
=
base
.
ParmJObj
.
GetStringValue
(
"CategoryName"
)
.
Trim
()
,
CatetoryType
=
(
CatetoryTypeEnum
)
base
.
ParmJObj
.
GetInt
(
"CatetoryType"
),
};
var
linkMan
=
base
.
ParmJObj
.
GetStringValue
(
"linkMan"
);
...
...
Edu.WebApi/Controllers/User/UserCenterController.cs
View file @
ee71389f
...
...
@@ -171,7 +171,7 @@ namespace Edu.WebApi.Controllers.User
public
ApiResult
GetDictvalue
()
{
string
Key
=
base
.
ParmJObj
.
GetStringValue
(
"Key"
);
var
model
=
attendancemodule
.
GetDictValueList
(
base
.
UserInfo
.
Group_Id
,
Key
)?.
FirstOrDefault
();
var
model
=
attendancemodule
.
GetDictValueList
(
base
.
UserInfo
.
Group_Id
,
Key
)?.
FirstOrDefault
();
return
ApiResult
.
Success
(
data
:
model
);
}
...
...
@@ -2587,14 +2587,14 @@ namespace Edu.WebApi.Controllers.User
{
endTime
=
Common
.
ConvertHelper
.
FormatDate
(
DateTime
.
Now
);
}
string
empIds
=
base
.
ParmJObj
.
GetStringValue
(
"empList"
);
string
empIds
=
base
.
ParmJObj
.
GetStringValue
(
"empList"
);
List
<
int
>
empList
=
new
List
<
int
>();
if
(!
string
.
IsNullOrEmpty
(
empIds
))
{
empList
=
JsonHelper
.
DeserializeObject
<
List
<
int
>>(
empIds
);
}
string
qEmpIds
=
""
;
if
(
empList
!=
null
&&
empList
.
Count
>
0
)
if
(
empList
!=
null
&&
empList
.
Count
>
0
)
{
qEmpIds
=
string
.
Join
(
","
,
empList
);
}
...
...
@@ -2634,6 +2634,130 @@ namespace Edu.WebApi.Controllers.User
var
obj
=
marketConsultantModule
.
ConsultantStaticModule
(
qEmpIds
,
startTime
,
endTime
);
return
ApiResult
.
Success
(
data
:
obj
);
}
/// <summary>
/// 下载课程顾问部数据统计
/// </summary>
/// <returns></returns>
[
HttpPost
]
[
Obsolete
]
public
FileContentResult
DownLoadConsultantStatic
()
{
List
<
ExcelDataSource
>
slist
=
new
List
<
ExcelDataSource
>();
string
startTime
=
base
.
ParmJObj
.
GetStringValue
(
"startTime"
);
if
(
string
.
IsNullOrEmpty
(
startTime
))
{
startTime
=
"2022-01-01"
;
}
string
endTime
=
base
.
ParmJObj
.
GetStringValue
(
"endTime"
);
if
(
string
.
IsNullOrEmpty
(
endTime
))
{
endTime
=
Common
.
ConvertHelper
.
FormatDate
(
DateTime
.
Now
);
}
string
empIds
=
base
.
ParmJObj
.
GetStringValue
(
"empList"
);
List
<
int
>
empList
=
new
List
<
int
>();
if
(!
string
.
IsNullOrEmpty
(
empIds
))
{
empList
=
JsonHelper
.
DeserializeObject
<
List
<
int
>>(
empIds
);
}
string
qEmpIds
=
""
;
if
(
empList
!=
null
&&
empList
.
Count
>
0
)
{
qEmpIds
=
string
.
Join
(
","
,
empList
);
}
var
list
=
marketConsultantModule
.
DownLoadConsultantStaticModule
(
qEmpIds
,
startTime
,
endTime
);
string
excelName
=
"课程顾问部数据统计.xls"
;
ExcelDataSource
header
=
new
ExcelDataSource
()
{
ExcelRows
=
new
List
<
ExcelColumn
>()
};
ExcelDataSource
subHeader
=
new
ExcelDataSource
()
{
ExcelRows
=
new
List
<
ExcelColumn
>()
};
header
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"员工"
)
{
Rowspan
=
2
,
CellWidth
=
15
});
subHeader
.
ExcelRows
.
Add
(
new
ExcelColumn
());
header
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"名单"
)
{
CellWidth
=
15
,
Colspan
=
2
});
subHeader
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"本周"
));
subHeader
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"本月"
));
header
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"试听"
)
{
CellWidth
=
15
,
Colspan
=
2
});
subHeader
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"本周"
));
subHeader
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"本月"
));
header
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"到访"
)
{
CellWidth
=
15
,
Colspan
=
2
});
subHeader
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"本周"
));
subHeader
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"本月"
));
header
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"转化率"
)
{
CellWidth
=
15
,
Colspan
=
2
});
subHeader
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"本周"
));
subHeader
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"本月"
));
header
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"有效回访总量"
)
{
CellWidth
=
15
,
Colspan
=
2
});
subHeader
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"本周"
));
subHeader
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"本月"
));
header
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"单资源回访平均数"
)
{
CellWidth
=
15
,
Colspan
=
2
});
subHeader
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"本周"
));
subHeader
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"本月"
));
header
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"签单"
)
{
CellWidth
=
15
,
Colspan
=
2
});
subHeader
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"本周"
));
subHeader
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"本月"
));
header
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"签单金额"
)
{
CellWidth
=
15
,
Colspan
=
2
});
subHeader
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"本周"
));
subHeader
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"本月"
));
slist
.
Add
(
header
);
slist
.
Add
(
subHeader
);
try
{
if
(
list
!=
null
)
{
foreach
(
var
item
in
list
)
{
var
excelRows
=
new
List
<
ExcelColumn
>();
excelRows
.
Add
(
new
ExcelColumn
(
UserReidsCache
.
GetUserLoginInfo
(
item
.
CreateBy
)?.
AccountName
));
string
curWeekStu
=
string
.
Join
(
","
,
item
?.
CurWeekStuList
?.
Select
(
qitem
=>
qitem
.
StuName
));
string
curMonthStu
=
string
.
Join
(
","
,
item
?.
CurMonthStuList
?.
Select
(
qitem
=>
qitem
.
StuName
));
excelRows
.
Add
(
new
ExcelColumn
(
curWeekStu
));
excelRows
.
Add
(
new
ExcelColumn
(
curWeekStu
));
excelRows
.
Add
(
new
ExcelColumn
(
item
.
CurWeekTrialLesson
.
ToString
()));
excelRows
.
Add
(
new
ExcelColumn
(
item
.
CurMonthTrialLesson
.
ToString
()));
excelRows
.
Add
(
new
ExcelColumn
(
item
.
CurWeekVisit
.
ToString
()));
excelRows
.
Add
(
new
ExcelColumn
(
item
.
CurMonthVisit
.
ToString
()));
excelRows
.
Add
(
new
ExcelColumn
(
item
.
CurWeekRates
.
ToString
()));
excelRows
.
Add
(
new
ExcelColumn
(
item
.
CurMonthRates
.
ToString
()));
excelRows
.
Add
(
new
ExcelColumn
(
item
.
CurWeekFollow
.
ToString
()));
excelRows
.
Add
(
new
ExcelColumn
(
item
.
CurMonthFollow
.
ToString
()));
excelRows
.
Add
(
new
ExcelColumn
(
item
.
CurWeekAgFollow
.
ToString
()));
excelRows
.
Add
(
new
ExcelColumn
(
item
.
CurMonthAgFollow
.
ToString
()));
excelRows
.
Add
(
new
ExcelColumn
(
item
.
CurWeekOrderNum
.
ToString
()));
excelRows
.
Add
(
new
ExcelColumn
(
item
.
CurMonthOrderNum
.
ToString
()));
excelRows
.
Add
(
new
ExcelColumn
(
item
.
CurWeekOrderSale
.
ToString
()));
excelRows
.
Add
(
new
ExcelColumn
(
item
.
CurMonthOrderSale
.
ToString
()));
var
dataRow
=
new
ExcelDataSource
()
{
ExcelRows
=
excelRows
,
};
slist
.
Add
(
dataRow
);
}
}
var
byteData
=
ExcelTempLateHelper
.
ToExcelExtend
(
slist
);
return
File
(
byteData
,
"application/octet-stream"
,
excelName
);
}
catch
(
Exception
ex
)
{
LogHelper
.
Write
(
ex
,
"OutToExcelOrderStudentClassHoursList"
);
var
byteData1
=
ExcelTempLateHelper
.
ToExcelExtend
(
slist
);
return
File
(
byteData1
,
"application/octet-stream"
,
excelName
);
}
}
#
endregion
#
region
课程顾问部目标
...
...
@@ -2648,12 +2772,12 @@ namespace Edu.WebApi.Controllers.User
var
pageModel
=
Common
.
Plugin
.
JsonHelper
.
DeserializeObject
<
ResultPageModel
>(
RequestParm
.
Msg
.
ToString
());
var
query
=
new
RB_Consultant_Goal_Extend
()
{
YearStr
=
base
.
ParmJObj
.
GetInt
(
"YearStr"
),
MonthStr
=
base
.
ParmJObj
.
GetInt
(
"MonthStr"
),
YearStr
=
base
.
ParmJObj
.
GetInt
(
"YearStr"
),
MonthStr
=
base
.
ParmJObj
.
GetInt
(
"MonthStr"
),
};
query
.
Group_Id
=
base
.
UserInfo
.
Group_Id
;
List
<
object
>
list
=
new
List
<
object
>();
var
data
=
marketConsultantModule
.
GetConsultantGoalPageModule
(
pageModel
.
PageIndex
,
pageModel
.
PageSize
,
out
long
rowsCount
,
query
);
var
data
=
marketConsultantModule
.
GetConsultantGoalPageModule
(
pageModel
.
PageIndex
,
pageModel
.
PageSize
,
out
long
rowsCount
,
query
);
if
(
data
!=
null
&&
data
.
Count
>
0
)
{
foreach
(
var
item
in
data
)
...
...
@@ -2688,11 +2812,11 @@ namespace Edu.WebApi.Controllers.User
{
var
model
=
new
RB_Consultant_Goal_Extend
()
{
Id
=
base
.
ParmJObj
.
GetInt
(
"Id"
),
YearStr
=
base
.
ParmJObj
.
GetInt
(
"YearStr"
),
MonthStr
=
base
.
ParmJObj
.
GetInt
(
"MonthStr"
),
GoalMoney
=
base
.
ParmJObj
.
GetDecimal
(
"GoalMoney"
),
Dept_Id
=
base
.
ParmJObj
.
GetInt
(
"Dept_Id"
),
Id
=
base
.
ParmJObj
.
GetInt
(
"Id"
),
YearStr
=
base
.
ParmJObj
.
GetInt
(
"YearStr"
),
MonthStr
=
base
.
ParmJObj
.
GetInt
(
"MonthStr"
),
GoalMoney
=
base
.
ParmJObj
.
GetDecimal
(
"GoalMoney"
),
Dept_Id
=
base
.
ParmJObj
.
GetInt
(
"Dept_Id"
),
};
model
.
CreateBy
=
base
.
UserInfo
.
Id
;
model
.
CreateTime
=
DateTime
.
Now
;
...
...
@@ -2852,7 +2976,7 @@ namespace Edu.WebApi.Controllers.User
try
{
JObject
headerObj
=
JObject
.
Parse
(
Common
.
Plugin
.
JsonHelper
.
Serialize
(
list
[
0
]));
var
headerArray
=
JsonHelper
.
DeserializeObject
<
List
<
MarketChannelStaticModel
>>(
headerObj
.
GetStringValue
(
"subList"
));
var
headerArray
=
JsonHelper
.
DeserializeObject
<
List
<
MarketChannelStaticModel
>>(
headerObj
.
GetStringValue
(
"subList"
));
ExcelDataSource
header
=
new
ExcelDataSource
()
{
ExcelRows
=
new
List
<
ExcelColumn
>()
};
var
subHeader
=
new
ExcelDataSource
()
{
ExcelRows
=
new
List
<
ExcelColumn
>()
};
header
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"员工"
)
{
Rowspan
=
2
,
CellWidth
=
20
});
...
...
@@ -2862,7 +2986,7 @@ namespace Edu.WebApi.Controllers.User
{
foreach
(
var
item
in
headerArray
)
{
header
.
ExcelRows
.
Add
(
new
ExcelColumn
(
item
.
ChannelName
)
{
Colspan
=
3
});
header
.
ExcelRows
.
Add
(
new
ExcelColumn
(
item
.
ChannelName
)
{
Colspan
=
3
});
subHeader
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"回单"
)
{
CellWidth
=
10
});
subHeader
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"到访"
)
{
CellWidth
=
10
});
subHeader
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"转化率"
)
{
CellWidth
=
10
});
...
...
@@ -2875,7 +2999,7 @@ namespace Edu.WebApi.Controllers.User
{
var
excelRows
=
new
List
<
ExcelColumn
>();
var
dataObj
=
JObject
.
Parse
(
Common
.
Plugin
.
JsonHelper
.
Serialize
(
item
));
var
dataArray
=
JsonHelper
.
DeserializeObject
<
List
<
MarketChannelStaticModel
>>(
dataObj
.
GetStringValue
(
"subList"
));
var
dataArray
=
JsonHelper
.
DeserializeObject
<
List
<
MarketChannelStaticModel
>>(
dataObj
.
GetStringValue
(
"subList"
));
excelRows
.
Add
(
new
ExcelColumn
(
dataObj
.
GetStringValue
(
"EmployeeName"
)));
if
(
dataArray
!=
null
&&
dataArray
.
Count
>
0
)
...
...
@@ -2889,7 +3013,7 @@ namespace Edu.WebApi.Controllers.User
}
excelRows
.
Add
(
new
ExcelColumn
(
subItem
.
ClueCount
.
ToString
()));
excelRows
.
Add
(
new
ExcelColumn
(
subItem
.
VisitCount
.
ToString
()));
excelRows
.
Add
(
new
ExcelColumn
(
rate
.
ToString
()
+
"%"
));
excelRows
.
Add
(
new
ExcelColumn
(
rate
.
ToString
()
+
"%"
));
}
}
var
dataRow
=
new
ExcelDataSource
()
...
...
@@ -3030,7 +3154,7 @@ namespace Edu.WebApi.Controllers.User
orderRate
=
Math
.
Round
(
Convert
.
ToDecimal
(
item
.
OrderCount
)
/
Convert
.
ToDecimal
(
item
.
VisitCount
)
*
Convert
.
ToDecimal
(
100
),
2
);
}
excelRows
.
Add
(
new
ExcelColumn
(
rate
.
ToString
()
+
"%"
));
excelRows
.
Add
(
new
ExcelColumn
(
rate
.
ToString
()
+
"%"
));
excelRows
.
Add
(
new
ExcelColumn
(
orderRate
.
ToString
()
+
"%"
));
var
dataRow
=
new
ExcelDataSource
()
...
...
@@ -3080,7 +3204,7 @@ namespace Edu.WebApi.Controllers.User
{
qEmpIds
=
string
.
Join
(
","
,
empList
);
}
var
data
=
marketConsultantModule
.
MarketChannelStaticModule
(
empList
,
startTime
,
endTime
);
var
data
=
marketConsultantModule
.
MarketChannelStaticModule
(
empList
,
startTime
,
endTime
);
return
ApiResult
.
Success
(
data
:
data
);
}
...
...
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