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
3b94b4f0
Commit
3b94b4f0
authored
Jun 29, 2021
by
吴春
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交代码
parent
d799607a
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
276 additions
and
33 deletions
+276
-33
ClassModule.cs
Edu.Module.Course/ClassModule.cs
+233
-33
ClassRoomController.cs
Edu.WebApi/Controllers/Course/ClassRoomController.cs
+43
-0
No files found.
Edu.Module.Course/ClassModule.cs
View file @
3b94b4f0
...
...
@@ -126,6 +126,12 @@ namespace Edu.Module.Course
/// </summary>
private
readonly
RB_Visitor_ReserveRepository
visitor_ReserveRepository
=
new
RB_Visitor_ReserveRepository
();
/// <summary>
/// 教室异常仓储对象
/// </summary>
private
readonly
RB_Class_RoomUseLogRepository
class_RoomUseLogRepository
=
new
RB_Class_RoomUseLogRepository
();
/// <summary>
/// 获取班级列表
/// </summary>
...
...
@@ -1072,7 +1078,7 @@ namespace Edu.Module.Course
/// </summary>
/// <param name="classId">班级编号</param>
/// <returns></returns>
public
object
GetClassStudentListModule
(
int
classId
,
int
school_Id
,
int
group_Id
,
int
ClassTimeId
,
int
QEffectStatus
=
0
)
public
object
GetClassStudentListModule
(
int
classId
,
int
school_Id
,
int
group_Id
,
int
ClassTimeId
,
int
QEffectStatus
=
0
)
{
List
<
object
>
list
=
new
List
<
object
>();
var
orderStudentList
=
order_GuestRepository
.
GetOrderGuestListRepository
(
new
RB_Order_Guest_ViewModel
()
...
...
@@ -1080,7 +1086,7 @@ namespace Edu.Module.Course
ClassId
=
classId
,
Group_Id
=
group_Id
,
School_Id
=
school_Id
,
QEffectStatus
=
QEffectStatus
,
QEffectStatus
=
QEffectStatus
,
}).
Where
(
x
=>
x
.
GuestState
==
1
).
ToList
();
var
classModel
=
GetClassModule
(
classId
);
var
courseModel
=
courseRepository
.
GetEntity
((
classModel
?.
CouseId
??
0
));
...
...
@@ -1296,13 +1302,13 @@ namespace Edu.Module.Course
{
List
<
RB_Class_Check_ViewModel
>
list
=
new
List
<
RB_Class_Check_ViewModel
>();
bool
flag
=
false
;
var
checkList
=
classCheckRepository
.
GetClassCheckListRepository
(
new
RB_Class_Check_ViewModel
());
var
basic
=
class_ConfigRepository
.
GetBasicMinutesRepository
(
100000
);
var
checkList
=
classCheckRepository
.
GetClassCheckListRepository
(
new
RB_Class_Check_ViewModel
());
var
basic
=
class_ConfigRepository
.
GetBasicMinutesRepository
(
100000
);
if
(
checkList
!=
null
&&
checkList
.
Count
>
0
)
{
classCheckRepository
.
ClearCheck
();
string
classIds
=
string
.
Join
(
","
,
checkList
.
Select
(
qitem
=>
qitem
.
ClassId
));
var
planList
=
class_PlanRepository
.
GetClassPlanListExtRepository
(
new
RB_Class_Plan_ViewModel
()
{
QClassIds
=
classIds
});
var
planList
=
class_PlanRepository
.
GetClassPlanListExtRepository
(
new
RB_Class_Plan_ViewModel
()
{
QClassIds
=
classIds
});
foreach
(
var
item
in
checkList
)
{
var
tempPlanList
=
planList
.
Where
(
qitem
=>
qitem
.
ClassId
==
item
.
ClassId
&&
qitem
.
ClassDate
==
item
.
ClassDate
).
ToList
();
...
...
@@ -1310,25 +1316,25 @@ namespace Edu.Module.Course
{
RB_Class_Check_ViewModel
model
=
new
RB_Class_Check_ViewModel
()
{
ClassCheckId
=
0
,
ClassId
=
item
.
ClassId
,
ClassDate
=
item
.
ClassDate
,
Status
=
item
.
Status
,
ClassRoomId
=
item
.
ClassRoomId
,
Group_Id
=
item
.
Group_Id
,
School_Id
=
item
.
School_Id
,
TeacherId
=
item
.
TeacherId
,
OrderGuestId
=
item
.
OrderGuestId
,
CheckStatus
=
item
.
CheckStatus
,
CreateBy
=
item
.
CreateBy
,
CreateTime
=
item
.
CreateTime
,
StudyNum
=
subItem
.
ClassMinutes
,
MakeUpStatus
=
item
.
MakeUpStatus
,
CurrentDeductionHours
=
subItem
.
ClassMinutes
/
basic
,
IsAbsentHours
=
item
.
IsAbsentHours
,
ClassTimeId
=
subItem
.
ClassTimeId
ClassCheckId
=
0
,
ClassId
=
item
.
ClassId
,
ClassDate
=
item
.
ClassDate
,
Status
=
item
.
Status
,
ClassRoomId
=
item
.
ClassRoomId
,
Group_Id
=
item
.
Group_Id
,
School_Id
=
item
.
School_Id
,
TeacherId
=
item
.
TeacherId
,
OrderGuestId
=
item
.
OrderGuestId
,
CheckStatus
=
item
.
CheckStatus
,
CreateBy
=
item
.
CreateBy
,
CreateTime
=
item
.
CreateTime
,
StudyNum
=
subItem
.
ClassMinutes
,
MakeUpStatus
=
item
.
MakeUpStatus
,
CurrentDeductionHours
=
subItem
.
ClassMinutes
/
basic
,
IsAbsentHours
=
item
.
IsAbsentHours
,
ClassTimeId
=
subItem
.
ClassTimeId
};
flag
=
classCheckRepository
.
Insert
(
model
)>
0
;
flag
=
classCheckRepository
.
Insert
(
model
)
>
0
;
}
}
}
...
...
@@ -2176,7 +2182,7 @@ namespace Edu.Module.Course
/// <param name="query">查询条件</param>
/// <param name="ClassType">课程类型(0-全部,1-正常,2-试听课)</param>
/// <returns></returns>
public
object
GetClassPlanStatisticalModule
(
RB_Class_Plan_ViewModel
query
,
int
ClassType
=
0
)
public
object
GetClassPlanStatisticalModule
(
RB_Class_Plan_ViewModel
query
,
int
ClassType
=
0
)
{
List
<
object
>
mondayList
=
new
List
<
object
>();
List
<
object
>
tuesdayList
=
new
List
<
object
>();
...
...
@@ -2216,11 +2222,11 @@ namespace Edu.Module.Course
reserveList
=
reserve_ClassRepository
.
GetReserveClassListRepository
(
reserveQuery
);
}
if
(
list
!=
null
||
reserveList
!=
null
)
if
(
list
!=
null
||
reserveList
!=
null
)
{
var
timeList
=
new
List
<
RB_Class_Time_ViewModel
>();
var
guestList
=
new
List
<
RB_Order_Guest_ViewModel
>();
if
(
list
!=
null
&&
list
.
Count
>
0
)
if
(
list
!=
null
&&
list
.
Count
>
0
)
{
string
classIds
=
string
.
Join
(
","
,
list
.
Select
(
qitem
=>
qitem
.
ClassId
));
string
planIds
=
string
.
Join
(
","
,
list
.
Select
(
qitem
=>
qitem
.
ClassPlanId
));
...
...
@@ -2268,17 +2274,17 @@ namespace Edu.Module.Course
var
currentDate
=
Common
.
ConvertHelper
.
FormatDate
(
ClassDate
)
+
" "
+
(
subItem
?.
ClassTime
??
""
);
subList
.
Add
(
new
{
ClassType
=
2
,
ClassId
=
subItem
.
ReserveClassId
,
ClassName
=
"试听课"
,
CourseName
=
subItem
.
ClassContent
,
ClassType
=
2
,
ClassId
=
subItem
.
ReserveClassId
,
ClassName
=
"试听课"
,
CourseName
=
subItem
.
ClassContent
,
subItem
.
RoomName
,
subItem
.
TeacherName
,
TimeStr
=
Common
.
ConvertHelper
.
GetTimeStr
(
currentDate
),
StartTime
=
subItem
.
ClassTime
,
subItem
.
EndTime
,
CompleteProgress
=
-
1
,
GuestList
=
visitorList
?.
Where
(
qitem
=>
qitem
.
ReserveClassId
==
subItem
.
ReserveClassId
)?.
Select
(
qitem
=>
new
{
GuestName
=
qitem
.
VisitorName
})
CompleteProgress
=
-
1
,
GuestList
=
visitorList
?.
Where
(
qitem
=>
qitem
.
ReserveClassId
==
subItem
.
ReserveClassId
)?.
Select
(
qitem
=>
new
{
GuestName
=
qitem
.
VisitorName
})
});
}
var
obj
=
new
...
...
@@ -2343,5 +2349,199 @@ namespace Edu.Module.Course
}
return
result
;
}
/// <summary>
/// 教室使用记录
/// </summary>
/// <param name="query">查询条件</param>
/// <param name="ClassType">课程类型(0-全部,1-正常,2-试听课)</param>
/// <returns></returns>
public
object
GetClassUseStatisticalModule
(
RB_Class_Plan_ViewModel
query
,
int
ClassType
=
0
)
{
List
<
object
>
mondayList
=
new
List
<
object
>();
List
<
object
>
tuesdayList
=
new
List
<
object
>();
List
<
object
>
wednesdayList
=
new
List
<
object
>();
List
<
object
>
thursdayList
=
new
List
<
object
>();
List
<
object
>
fridayList
=
new
List
<
object
>();
List
<
object
>
saturdayList
=
new
List
<
object
>();
List
<
object
>
sundayList
=
new
List
<
object
>();
var
startTime
=
Convert
.
ToDateTime
(
Common
.
ConvertHelper
.
GetWeekMonday
(
query
.
StartTime
));
var
endTime
=
Convert
.
ToDateTime
(
Common
.
ConvertHelper
.
GetWeekSunday
(
query
.
EndTime
));
TimeSpan
sp
=
endTime
.
Subtract
(
startTime
);
var
days
=
sp
.
Days
+
1
;
//正常上课计划列表
var
list
=
new
List
<
RB_Class_Plan_ViewModel
>();
//试听课列表
var
reserveList
=
new
List
<
RB_Reserve_Class_Extend
>();
List
<
RB_Class_RoomUseLog_ViewModel
>
roomUserLogList
=
new
List
<
RB_Class_RoomUseLog_ViewModel
>();
var
reserveQuery
=
new
RB_Reserve_Class_Extend
()
{
StartClassDate
=
query
.
StartTime
,
EndClassDate
=
query
.
EndTime
,
TeacherId
=
query
.
TeacherId
,
ClassRoomId
=
query
.
ClassRoomId
};
if
(
ClassType
==
0
)
{
list
=
class_PlanRepository
.
GetClassPlanStatisticalRepository
(
query
);
reserveList
=
reserve_ClassRepository
.
GetReserveClassListRepository
(
reserveQuery
);
}
else
if
(
ClassType
==
1
)
{
list
=
class_PlanRepository
.
GetClassPlanStatisticalRepository
(
query
);
}
else
if
(
ClassType
==
2
)
{
reserveList
=
reserve_ClassRepository
.
GetReserveClassListRepository
(
reserveQuery
);
}
if
(
list
!=
null
||
reserveList
!=
null
)
{
var
timeList
=
new
List
<
RB_Class_Time_ViewModel
>();
var
guestList
=
new
List
<
RB_Order_Guest_ViewModel
>();
List
<
int
>
classRoomId
=
new
List
<
int
>();
if
(
list
!=
null
&&
list
.
Any
())
{
classRoomId
.
AddRange
(
list
.
Select
(
x
=>
x
.
ClassRoomId
).
ToList
());
}
if
(
reserveList
!=
null
&&
reserveList
.
Any
())
{
classRoomId
.
AddRange
(
reserveList
.
Select
(
x
=>
x
.
ClassRoomId
).
ToList
());
}
string
roomIds
=
string
.
Join
(
","
,
classRoomId
.
Select
(
x
=>
x
).
Distinct
());
if
(!
string
.
IsNullOrWhiteSpace
(
roomIds
))
{
roomUserLogList
=
class_RoomUseLogRepository
.
GetClassRoomUseLogListRepository
(
new
RB_Class_RoomUseLog_ViewModel
{
StartTime
=
query
.
StartTime
,
EndTime
=
query
.
EndTime
,
QRoomIds
=
roomIds
});
}
if
(
list
!=
null
&&
list
.
Count
>
0
)
{
string
classIds
=
string
.
Join
(
","
,
list
.
Select
(
qitem
=>
qitem
.
ClassId
));
string
planIds
=
string
.
Join
(
","
,
list
.
Select
(
qitem
=>
qitem
.
ClassPlanId
));
timeList
=
class_TimeRepository
.
GetClassTimeListRepository
(
new
RB_Class_Time_ViewModel
()
{
QClassIds
=
classIds
,
QClassPlanIds
=
planIds
});
guestList
=
order_GuestRepository
.
GetOrderGuestListRepository
(
new
RB_Order_Guest_ViewModel
()
{
ClassIds
=
classIds
});
}
var
visitorList
=
new
List
<
RB_Visitor_Reserve_Extend
>();
if
(
reserveList
!=
null
&&
reserveList
.
Count
>
0
)
{
string
reserveClassIds
=
string
.
Join
(
","
,
reserveList
.
Select
(
qitem
=>
qitem
.
ReserveClassId
));
visitorList
=
visitor_ReserveRepository
.
GetVisitorReserveListRepository
(
new
Model
.
ViewModel
.
Reserve
.
RB_Visitor_Reserve_Extend
()
{
Q_ReserveClassIds
=
reserveClassIds
});
}
for
(
var
i
=
0
;
i
<
days
;
i
++)
{
var
ClassDate
=
startTime
.
AddDays
(
i
);
List
<
object
>
subList
=
new
List
<
object
>();
var
tempRoomUseLogList
=
roomUserLogList
.
Where
(
qitem
=>
qitem
.
CreateTime
.
ToString
(
"yyyy-MM-dd"
)
==
ClassDate
.
ToString
(
"yyyy-MM-dd"
)).
OrderBy
(
qitem
=>
qitem
.
CreateTime
);
foreach
(
var
subItem
in
tempRoomUseLogList
)
{
subList
.
Add
(
new
{
Id
=
subItem
.
RoomErrorId
,
ClassType
=
2
,
ClassId
=
0
,
ClassName
=
subItem
.
ErrorTitle
,
CourseName
=
subItem
.
ErrorContent
,
RoomName
=
""
,
TeacherName
=
""
,
TimeStr
=
Common
.
ConvertHelper
.
GetTimeStr
(
subItem
.
CreateTime
),
StartTime
=
subItem
.
CreateTime
.
ToString
(
"HHLmm"
),
EndTime
=
subItem
.
UpdateTime
.
HasValue
?
subItem
.
UpdateTime
.
Value
.
ToString
(
"HHLmm"
)
:
"未知"
,
CompleteProgress
=
-
1
,
GuestList
=
new
List
<
string
>(),
Type
=
subItem
.
ErrorType
,
// 0-班级,1-使用记录,2-异常记录
});
}
var
tempList
=
list
.
Where
(
qitem
=>
qitem
.
ClassDate
==
ClassDate
).
OrderBy
(
qitem
=>
qitem
.
StartTime
);
foreach
(
var
subItem
in
tempList
)
{
var
tempTimeList
=
timeList
?.
Where
(
qitem
=>
qitem
.
ClassPlanId
==
subItem
.
ClassPlanId
)?.
ToList
()?.
OrderBy
(
qitem
=>
qitem
.
StartTime
);
var
currentDate
=
Common
.
ConvertHelper
.
FormatDate
(
ClassDate
)
+
" "
+
(
tempTimeList
?.
FirstOrDefault
()?.
StartTime
??
""
);
foreach
(
var
item
in
tempTimeList
)
{
subList
.
Add
(
new
{
Id
=
item
?.
ClassTimeId
??
0
,
ClassType
=
1
,
subItem
.
ClassId
,
subItem
.
ClassName
,
subItem
.
CourseName
,
subItem
.
RoomName
,
subItem
.
TeacherName
,
subItem
.
CompleteProgress
,
TimeStr
=
Common
.
ConvertHelper
.
GetTimeStr
(
currentDate
),
StartTime
=
item
?.
StartTime
??
""
,
EndTime
=
item
?.
EndTime
??
""
,
GuestList
=
guestList
.
Where
(
qitem
=>
qitem
.
ClassId
==
subItem
.
ClassId
)?.
Select
(
qitem
=>
new
{
qitem
.
GuestName
}),
Type
=
0
,
// 0-班级,1-使用记录,2-异常记录
});
}
}
var
tempReserveList
=
reserveList
.
Where
(
qitem
=>
qitem
.
ClassDate
==
ClassDate
).
OrderBy
(
qitem
=>
qitem
.
ClassTime
);
foreach
(
var
subItem
in
tempReserveList
)
{
var
currentDate
=
Common
.
ConvertHelper
.
FormatDate
(
ClassDate
)
+
" "
+
(
subItem
?.
ClassTime
??
""
);
subList
.
Add
(
new
{
Id
=
subItem
.
ReserveClassId
,
ClassType
=
2
,
ClassId
=
subItem
.
ReserveClassId
,
ClassName
=
"试听课"
,
CourseName
=
subItem
.
ClassContent
,
subItem
.
RoomName
,
subItem
.
TeacherName
,
TimeStr
=
Common
.
ConvertHelper
.
GetTimeStr
(
currentDate
),
StartTime
=
subItem
.
ClassTime
,
subItem
.
EndTime
,
CompleteProgress
=
-
1
,
GuestList
=
visitorList
?.
Where
(
qitem
=>
qitem
.
ReserveClassId
==
subItem
.
ReserveClassId
)?.
Select
(
qitem
=>
new
{
GuestName
=
qitem
.
VisitorName
}),
Type
=
0
,
// 0-班级,1-使用记录,2-异常记录
});
}
var
obj
=
new
{
ClassDate
=
Common
.
ConvertHelper
.
FormatDate
(
ClassDate
),
WeekStr
=
Common
.
ConvertHelper
.
GetWeekDay
(
ClassDate
),
SubList
=
subList
};
switch
(
ClassDate
.
DayOfWeek
)
{
case
DayOfWeek
.
Monday
:
mondayList
.
Add
(
obj
);
break
;
case
DayOfWeek
.
Tuesday
:
tuesdayList
.
Add
(
obj
);
break
;
case
DayOfWeek
.
Wednesday
:
wednesdayList
.
Add
(
obj
);
break
;
case
DayOfWeek
.
Thursday
:
thursdayList
.
Add
(
obj
);
break
;
case
DayOfWeek
.
Friday
:
fridayList
.
Add
(
obj
);
break
;
case
DayOfWeek
.
Saturday
:
saturdayList
.
Add
(
obj
);
break
;
case
DayOfWeek
.
Sunday
:
sundayList
.
Add
(
obj
);
break
;
}
}
}
return
new
{
mondayList
,
tuesdayList
,
wednesdayList
,
thursdayList
,
fridayList
,
saturdayList
,
sundayList
};
}
}
}
Edu.WebApi/Controllers/Course/ClassRoomController.cs
View file @
3b94b4f0
...
...
@@ -230,6 +230,49 @@ namespace Edu.WebApi.Controllers.Course
/// <summary>
/// 老师上课计划统计
/// </summary>
/// <returns></returns>
public
ApiResult
GetNewClassRoomTimeList
()
{
var
startDate
=
base
.
ParmJObj
.
GetStringValue
(
"StartTime"
);
var
endDate
=
base
.
ParmJObj
.
GetStringValue
(
"EndTime"
);
DateTime
now
=
DateTime
.
Now
;
//获取当前月的第一天
DateTime
d1
=
new
DateTime
(
now
.
Year
,
now
.
Month
,
1
);
//当月最后一天
DateTime
d2
=
d1
.
AddMonths
(
1
).
AddDays
(-
1
);
if
(
string
.
IsNullOrEmpty
(
startDate
))
{
startDate
=
Common
.
ConvertHelper
.
FormatDate
(
d1
);
}
if
(
string
.
IsNullOrEmpty
(
endDate
))
{
endDate
=
Common
.
ConvertHelper
.
FormatDate
(
d2
);
}
else
{
}
RB_Class_Plan_ViewModel
query
=
new
RB_Class_Plan_ViewModel
()
{
StartTime
=
startDate
,
EndTime
=
endDate
,
TeacherId
=
base
.
ParmJObj
.
GetInt
(
"TeacherId"
),
ClassRoomId
=
base
.
ParmJObj
.
GetInt
(
"ClassRoomId"
),
Group_Id
=
base
.
UserInfo
.
Group_Id
,
ClassId
=
base
.
ParmJObj
.
GetInt
(
"ClassId"
),
};
//课程类型(0-全部,1-正常,2-试听课)
int
ClassType
=
base
.
ParmJObj
.
GetInt
(
"ClassType"
);
var
obj
=
classModule
.
GetClassUseStatisticalModule
(
query
,
ClassType
:
ClassType
);
return
ApiResult
.
Success
(
data
:
obj
);
}
/// <summary>
/// 教室使用记录
/// </summary>
...
...
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