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
4c4bd695
Commit
4c4bd695
authored
Apr 26, 2022
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
页面修改
parent
3241642d
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
143 additions
and
92 deletions
+143
-92
RB_Student_ViewModel.cs
Edu.Model/ViewModel/User/RB_Student_ViewModel.cs
+10
-0
RB_Student_OrderGuestRepository.cs
Edu.Repository/User/RB_Student_OrderGuestRepository.cs
+14
-3
StudentStatController.cs
Edu.WebApi/Controllers/User/StudentStatController.cs
+119
-89
No files found.
Edu.Model/ViewModel/User/RB_Student_ViewModel.cs
View file @
4c4bd695
...
...
@@ -269,6 +269,11 @@ namespace Edu.Model.ViewModel.User
/// </summary>
public
int
ConsultantId
{
get
;
set
;
}
/// <summary>
/// 课程顾问编号【逗号分隔】
/// </summary>
public
string
ConsultantIds
{
get
;
set
;
}
/// <summary>
/// 渠道名称
/// </summary>
...
...
@@ -431,6 +436,11 @@ namespace Edu.Model.ViewModel.User
/// </summary>
public
int
HeadTeacherId
{
get
;
set
;
}
/// <summary>
/// 班主任【逗号分隔】
/// </summary>
public
string
HeadTeacherIds
{
get
;
set
;
}
/// <summary>
/// 查询类型(1-课程顾问,2-老师,3-市场)
/// </summary>
...
...
Edu.Repository/User/RB_Student_OrderGuestRepository.cs
View file @
4c4bd695
...
...
@@ -399,14 +399,17 @@ where sog.Status =0 and o.Group_Id ={group_Id} and o.OrderState <>3 and IFNULL(o
{
DynamicParameters
parameters
=
new
DynamicParameters
();
string
where
=
" 1=1 and s.Status =0 and c.CourseId <>1"
;
//排除内部班课程
if
(
demodel
.
Group_Id
>
0
)
{
if
(
demodel
.
Group_Id
>
0
)
{
where
+=
$" and s.
{
nameof
(
RB_Student_ViewModel
.
Group_Id
)}
=
{
demodel
.
Group_Id
}
"
;
}
if
(!
string
.
IsNullOrEmpty
(
demodel
.
StuName
))
{
if
(!
string
.
IsNullOrEmpty
(
demodel
.
StuName
))
{
where
+=
$" and s.
{
nameof
(
RB_Student_ViewModel
.
StuName
)}
like @StuName"
;
parameters
.
Add
(
"StuName"
,
"%"
+
demodel
.
StuName
+
"%"
);
}
if
(!
string
.
IsNullOrEmpty
(
demodel
.
StuRealMobile
))
{
if
(!
string
.
IsNullOrEmpty
(
demodel
.
StuRealMobile
))
{
where
+=
$" and s.
{
nameof
(
RB_Student_ViewModel
.
StuRealMobile
)}
like @StuRealMobile"
;
parameters
.
Add
(
"StuRealMobile"
,
"%"
+
demodel
.
StuRealMobile
+
"%"
);
}
...
...
@@ -460,10 +463,18 @@ where sog.Status =0 and o.Group_Id ={group_Id} and o.OrderState <>3 and IFNULL(o
{
where
+=
$@" AND s.StuId IN (SELECT StuId FROM rb_student_assist WHERE AssistId =
{
demodel
.
ConsultantId
}
AND `Status`=0)"
;
}
if
(!
string
.
IsNullOrEmpty
(
demodel
.
ConsultantIds
))
{
where
+=
$@" AND s.StuId IN (SELECT StuId FROM rb_student_assist WHERE AssistId IN(
{
demodel
.
ConsultantIds
}
) AND `Status`=0)"
;
}
if
(
demodel
.
HeadTeacherId
>
0
)
{
where
+=
$@" AND s.StuId IN (SELECT StuId FROM rb_student_assist WHERE AssistId =
{
demodel
.
HeadTeacherId
}
AND `Status`=0 AND AssistType=4)"
;
}
if
(!
string
.
IsNullOrEmpty
(
demodel
.
HeadTeacherIds
))
{
where
+=
$@" AND s.StuId IN (SELECT StuId FROM rb_student_assist WHERE AssistId IN(
{
demodel
.
HeadTeacherIds
}
) AND `Status`=0 AND AssistType=4)"
;
}
if
(
demodel
.
CourseId
>
0
)
{
where
+=
$" and o.CourseId =
{
demodel
.
CourseId
}
"
;
...
...
Edu.WebApi/Controllers/User/StudentStatController.cs
View file @
4c4bd695
...
...
@@ -42,6 +42,11 @@ namespace Edu.WebApi.Controllers.User
/// </summary>
private
readonly
OKRPeriodModule
okrPeriodModule
=
new
OKRPeriodModule
();
/// <summary>
/// 员工处理类
/// </summary>
private
readonly
EmployeeModule
employeeModule
=
new
EmployeeModule
();
#
region
学员跟进
/// <summary>
...
...
@@ -51,8 +56,8 @@ namespace Edu.WebApi.Controllers.User
[
HttpPost
]
public
ApiResult
GetStudentFollowUpPageList
()
{
var
userInfo
=
base
.
UserInfo
;
ResultPageModel
pmodel
=
JsonHelper
.
DeserializeObject
<
ResultPageModel
>(
base
.
RequestParm
.
Msg
.
ToString
());
var
userInfo
=
base
.
UserInfo
;
RB_Student_ViewModel
demodel
=
new
RB_Student_ViewModel
()
{
BelongType
=
base
.
ParmJObj
.
GetInt
(
"BelongType"
),
...
...
@@ -73,9 +78,9 @@ namespace Edu.WebApi.Controllers.User
StuType
=
base
.
ParmJObj
.
GetInt
(
"StuType"
),
WeChatNo
=
base
.
ParmJObj
.
GetStringValue
(
"WeChatNo"
),
StuPurpose
=
base
.
ParmJObj
.
GetInt
(
"StuPurpose"
),
HeadTeacherId
=
base
.
ParmJObj
.
GetInt
(
"HeadTeacherId"
),
QueryTpye
=
base
.
ParmJObj
.
GetInt
(
"QueryTpye"
),
AdvisorStatus
=
base
.
ParmJObj
.
GetInt
(
"AdvisorStatus"
),
HeadTeacherId
=
base
.
ParmJObj
.
GetInt
(
"HeadTeacherId"
),
QueryTpye
=
base
.
ParmJObj
.
GetInt
(
"QueryTpye"
),
AdvisorStatus
=
base
.
ParmJObj
.
GetInt
(
"AdvisorStatus"
),
};
string
schoolId
=
base
.
ParmJObj
.
GetStringValue
(
"School_Id"
);
if
(
schoolId
!=
"-1"
)
...
...
@@ -88,58 +93,70 @@ namespace Edu.WebApi.Controllers.User
demodel
.
CreateIds
=
Common
.
Plugin
.
JsonHelper
.
DeserializeObject
<
List
<
int
>>(
CreateIds
);
}
demodel
.
Group_Id
=
userInfo
.
Group_Id
;
if
(
demodel
.
IsQueryMyStu
==
1
)
{
demodel
.
CreateBy
=
base
.
UserInfo
.
Id
;
}
else
if
(
demodel
.
BelongType
==
1
)
//市场部
if
(
demodel
.
QueryTpye
==
3
)
{
if
(
base
.
UserInfo
.
IsMarket
==
1
)
demodel
.
BelongType
=
1
;
var
markerUserList
=
employeeModule
.
GetEmployeeListModule
(
new
Employee_ViewModel
()
{
if
(
base
.
UserInfo
.
IsManager
==
0
)
{
demodel
.
CreateBy
=
base
.
UserInfo
.
Id
;
}
else
if
(
base
.
UserInfo
.
IsManager
==
1
)
{
var
tempList
=
okrPeriodModule
.
GetOKRPersonalDimensionListModule
(
base
.
UserInfo
.
Group_Id
,
base
.
UserInfo
.
Id
,
base
.
UserInfo
.
DeptId
);
string
QCreateBys
=
""
;
if
(
tempList
!=
null
&&
tempList
.
Count
>
0
)
{
foreach
(
var
jItem
in
tempList
)
{
JObject
jObj
=
JObject
.
Parse
(
JsonHelper
.
Serialize
(
jItem
));
QCreateBys
+=
jObj
.
GetStringValue
(
"Id"
)
+
","
;
}
}
int
qCreateBy
=
base
.
ParmJObj
.
GetInt
(
"CreateBy"
);
if
(
qCreateBy
>
0
)
{
QCreateBys
=
qCreateBy
.
ToString
();
}
if
(!
string
.
IsNullOrEmpty
(
QCreateBys
))
{
demodel
.
QCreateBys
=
QCreateBys
.
TrimStart
(
','
).
TrimEnd
(
','
);
}
}
UserRole
=
UserRoleEnum
.
MarketPersion
,
IsLeave
=
1
});
string
QCreateBys
=
""
;
QCreateBys
=
string
.
Join
(
","
,
markerUserList
?.
Select
(
qitem
=>
qitem
.
Id
));
//普通市场人员
if
(
base
.
UserInfo
.
IsMarket
==
1
&&
base
.
UserInfo
.
IsManager
==
0
)
{
demodel
.
CreateBy
=
base
.
UserInfo
.
Id
;
}
else
int
qCreateBy
=
base
.
ParmJObj
.
GetInt
(
"CreateBy"
);
if
(
qCreateBy
>
0
)
{
demodel
.
BelongType
=
0
;
QCreateBys
=
qCreateBy
.
ToString
();
}
if
(!
string
.
IsNullOrEmpty
(
QCreateBys
))
{
demodel
.
QCreateBys
=
QCreateBys
.
TrimStart
(
','
).
TrimEnd
(
','
);
}
}
else
if
(
demodel
.
BelongType
>
1
)
{
demodel
.
CreateBy
=
base
.
UserInfo
.
Id
;
//课程顾问部
if
(
demodel
.
QueryTpye
==
1
)
{
demodel
.
BelongType
=
0
;
//string adviserStr = "";
//var adviserList = employeeModule.GetEmployeeListModule(new Employee_ViewModel()
//{
// IsLeave=1,
// UserRole = UserRoleEnum.CourseConsultant
//});
//adviserStr = string.Join(",", adviserList?.Select(qitem => qitem.Id));
//if (demodel.ConsultantId <= 0 &&!string.IsNullOrEmpty(adviserStr))
//{
// demodel.ConsultantIds = adviserStr;
//}
}
var
list
=
studentStatModule
.
GetStudentFollowUpPageModule
(
pmodel
.
PageIndex
,
pmodel
.
PageSize
,
out
long
count
,
demodel
);
if
(
demodel
.
QueryTpye
==
2
)
{
//string teacherStr = "";
//var teacherList = employeeModule.GetEmployeeListModule(new Employee_ViewModel()
//{
// IsLeave = 1,
// AccountType = AccountTypeEnum.Teacher
//});
//teacherStr = string.Join(",", teacherList?.Select(qitem => qitem.Id));
//if (demodel.HeadTeacherId <= 0 && !string.IsNullOrEmpty(teacherStr))
//{
// demodel.HeadTeacherIds = teacherStr;
//}
}
var
list
=
studentStatModule
.
GetStudentFollowUpPageModule
(
pmodel
.
PageIndex
,
pmodel
.
PageSize
,
out
long
count
,
demodel
);
pmodel
.
Count
=
count
;
pmodel
.
PageData
=
list
;
return
ApiResult
.
Success
(
""
,
pmodel
);
}
/// <summary>
/// 下载学员跟进信息
/// </summary>
...
...
@@ -149,6 +166,7 @@ namespace Edu.WebApi.Controllers.User
public
FileContentResult
DownLoadStudentFollowUp
()
{
List
<
ExcelDataSource
>
slist
=
new
List
<
ExcelDataSource
>();
var
userInfo
=
base
.
UserInfo
;
RB_Student_ViewModel
demodel
=
new
RB_Student_ViewModel
()
{
BelongType
=
base
.
ParmJObj
.
GetInt
(
"BelongType"
),
...
...
@@ -170,7 +188,7 @@ namespace Edu.WebApi.Controllers.User
WeChatNo
=
base
.
ParmJObj
.
GetStringValue
(
"WeChatNo"
),
StuPurpose
=
base
.
ParmJObj
.
GetInt
(
"StuPurpose"
),
HeadTeacherId
=
base
.
ParmJObj
.
GetInt
(
"HeadTeacherId"
),
QueryTpye
=
base
.
ParmJObj
.
GetInt
(
"QueryTpye"
),
QueryTpye
=
base
.
ParmJObj
.
GetInt
(
"QueryTpye"
),
AdvisorStatus
=
base
.
ParmJObj
.
GetInt
(
"AdvisorStatus"
),
};
string
schoolId
=
base
.
ParmJObj
.
GetStringValue
(
"School_Id"
);
...
...
@@ -183,53 +201,65 @@ namespace Edu.WebApi.Controllers.User
{
demodel
.
CreateIds
=
Common
.
Plugin
.
JsonHelper
.
DeserializeObject
<
List
<
int
>>(
CreateIds
);
}
demodel
.
Group_Id
=
base
.
UserInfo
.
Group_Id
;
if
(
demodel
.
IsQueryMyStu
==
1
)
{
demodel
.
CreateBy
=
base
.
UserInfo
.
Id
;
}
else
if
(
base
.
UserInfo
.
IsMarket
==
1
)
demodel
.
Group_Id
=
userInfo
.
Group_Id
;
//市场部
if
(
demodel
.
QueryTpye
==
3
)
{
if
(
base
.
UserInfo
.
IsManager
==
0
)
demodel
.
BelongType
=
1
;
var
markerUserList
=
employeeModule
.
GetEmployeeListModule
(
new
Employee_ViewModel
()
{
demodel
.
CreateBy
=
base
.
UserInfo
.
Id
;
}
else
if
(
base
.
UserInfo
.
IsManager
==
1
)
UserRole
=
UserRoleEnum
.
MarketPersion
,
IsLeave
=
1
});
string
QCreateBys
=
""
;
QCreateBys
=
string
.
Join
(
","
,
markerUserList
?.
Select
(
qitem
=>
qitem
.
Id
));
//普通市场人员
if
(
base
.
UserInfo
.
IsMarket
==
1
&&
base
.
UserInfo
.
IsManager
==
0
)
{
var
tempList
=
okrPeriodModule
.
GetOKRPersonalDimensionListModule
(
base
.
UserInfo
.
Group_Id
,
base
.
UserInfo
.
Id
,
base
.
UserInfo
.
DeptId
);
string
QCreateBys
=
""
;
if
(
tempList
!=
null
&&
tempList
.
Count
>
0
)
{
foreach
(
var
jItem
in
tempList
)
{
JObject
jObj
=
JObject
.
Parse
(
JsonHelper
.
Serialize
(
jItem
));
QCreateBys
+=
jObj
.
GetStringValue
(
"Id"
)
+
","
;
}
}
int
qCreateBy
=
base
.
ParmJObj
.
GetInt
(
"CreateBy"
);
if
(
qCreateBy
>
0
)
{
QCreateBys
=
qCreateBy
.
ToString
();
}
if
(!
string
.
IsNullOrEmpty
(
QCreateBys
))
{
demodel
.
QCreateBys
=
QCreateBys
.
TrimStart
(
','
).
TrimEnd
(
','
);
}
demodel
.
CreateBy
=
base
.
UserInfo
.
Id
;
}
}
else
{
if
(
demodel
.
BelongType
==
1
)
int
qCreateBy
=
base
.
ParmJObj
.
GetInt
(
"CreateBy"
);
if
(
qCreateBy
>
0
)
{
demodel
.
BelongType
=
0
;
//暂先查全部
QCreateBys
=
qCreateBy
.
ToString
();
}
if
(
demodel
.
BelongType
>
1
)
if
(
!
string
.
IsNullOrEmpty
(
QCreateBys
)
)
{
demodel
.
CreateBy
=
base
.
UserInfo
.
Id
;
demodel
.
QCreateBys
=
QCreateBys
.
TrimStart
(
','
).
TrimEnd
(
','
)
;
}
}
//课程顾问部
if
(
demodel
.
QueryTpye
==
1
)
{
demodel
.
BelongType
=
0
;
//string adviserStr = "";
//var adviserList = employeeModule.GetEmployeeListModule(new Employee_ViewModel()
//{
// IsLeave=1,
// UserRole = UserRoleEnum.CourseConsultant
//});
//adviserStr = string.Join(",", adviserList?.Select(qitem => qitem.Id));
//if (demodel.ConsultantId <= 0 &&!string.IsNullOrEmpty(adviserStr))
//{
// demodel.ConsultantIds = adviserStr;
//}
}
if
(
demodel
.
QueryTpye
==
2
)
{
//string teacherStr = "";
//var teacherList = employeeModule.GetEmployeeListModule(new Employee_ViewModel()
//{
// IsLeave = 1,
// AccountType = AccountTypeEnum.Teacher
//});
//teacherStr = string.Join(",", teacherList?.Select(qitem => qitem.Id));
//if (demodel.HeadTeacherId <= 0 && !string.IsNullOrEmpty(teacherStr))
//{
// demodel.HeadTeacherIds = teacherStr;
//}
}
var
list
=
studentStatModule
.
GetStudentFollowUpPageModule
(
1
,
1000000
,
out
long
count
,
demodel
);
var
QueryTpye
=
base
.
ParmJObj
.
GetInt
(
"QueryTpye"
);
string
excelName
=
"学员跟踪.xls"
;
try
{
...
...
@@ -249,13 +279,13 @@ namespace Edu.WebApi.Controllers.User
header
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"结课时间"
)
{
CellWidth
=
15
,
Rowspan
=
2
});
header
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"当前级别"
)
{
CellWidth
=
15
,
Rowspan
=
2
});
header
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"生日"
)
{
CellWidth
=
15
,
Rowspan
=
2
});
if
(
demodel
.
QueryTpye
!=
2
)
if
(
QueryTpye
!=
2
)
{
header
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"客户来源"
)
{
CellWidth
=
15
,
Rowspan
=
2
});
}
header
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"学习目的"
)
{
CellWidth
=
15
,
Rowspan
=
2
});
if
(
demodel
.
QueryTpye
!=
2
)
if
(
QueryTpye
!=
2
)
{
header
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"关联来源人"
)
{
CellWidth
=
15
,
Rowspan
=
2
});
header
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"收客渠道"
)
{
CellWidth
=
15
,
Rowspan
=
2
});
...
...
@@ -263,7 +293,7 @@ namespace Edu.WebApi.Controllers.User
header
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"负责人"
)
{
CellWidth
=
15
,
Rowspan
=
2
});
header
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"合同状态"
)
{
CellWidth
=
15
,
Rowspan
=
2
});
if
(
demodel
.
QueryTpye
!=
2
)
if
(
QueryTpye
!=
2
)
{
header
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"期望达成协议日期"
)
{
CellWidth
=
15
,
Rowspan
=
2
});
header
.
ExcelRows
.
Add
(
new
ExcelColumn
(
"目前状态"
)
{
CellWidth
=
15
,
Rowspan
=
2
});
...
...
@@ -286,7 +316,7 @@ namespace Edu.WebApi.Controllers.User
new
ExcelColumn
(),
}
};
if
(
demodel
.
QueryTpye
!=
2
)
if
(
QueryTpye
!=
2
)
{
subHeader
.
ExcelRows
.
Add
(
new
ExcelColumn
());
subHeader
.
ExcelRows
.
Add
(
new
ExcelColumn
());
...
...
@@ -295,7 +325,7 @@ namespace Edu.WebApi.Controllers.User
subHeader
.
ExcelRows
.
Add
(
new
ExcelColumn
());
}
subHeader
.
ExcelRows
.
Add
(
new
ExcelColumn
());
if
(
demodel
.
QueryTpye
!=
2
)
if
(
QueryTpye
!=
2
)
{
subHeader
.
ExcelRows
.
Add
(
new
ExcelColumn
());
subHeader
.
ExcelRows
.
Add
(
new
ExcelColumn
());
...
...
@@ -348,12 +378,12 @@ namespace Edu.WebApi.Controllers.User
columns
.
Add
(
new
ExcelColumn
(
item
.
GraduationTime
));
columns
.
Add
(
new
ExcelColumn
(
item
.
JapanBaseInfo
));
columns
.
Add
(
new
ExcelColumn
(
item
.
StuBirthStr
));
if
(
demodel
.
QueryTpye
!=
2
)
if
(
QueryTpye
!=
2
)
{
columns
.
Add
(
new
ExcelColumn
(
item
.
CreateTypeName
));
}
columns
.
Add
(
new
ExcelColumn
(
item
.
StuPurposeName
));
if
(
demodel
.
QueryTpye
!=
2
)
if
(
QueryTpye
!=
2
)
{
columns
.
Add
(
new
ExcelColumn
(
item
.
StuSourceIdName
));
columns
.
Add
(
new
ExcelColumn
(
item
.
StuChannelName
));
...
...
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