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
8871d8de
Commit
8871d8de
authored
Jul 01, 2021
by
liudong1993
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改 课耗统计 支持多月查询
parent
0ae3b8b0
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
99 additions
and
63 deletions
+99
-63
RB_Class_Plan_ViewModel.cs
Edu.Model/ViewModel/Course/RB_Class_Plan_ViewModel.cs
+5
-0
TeachingRewardsModule.cs
Edu.Module.Course/TeachingRewardsModule.cs
+6
-2
FinanceModule.cs
Edu.Module.Finance/FinanceModule.cs
+87
-60
RB_Class_PlanRepository.cs
Edu.Repository/Course/RB_Class_PlanRepository.cs
+1
-1
No files found.
Edu.Model/ViewModel/Course/RB_Class_Plan_ViewModel.cs
View file @
8871d8de
...
@@ -53,6 +53,11 @@ namespace Edu.Model.ViewModel.Course
...
@@ -53,6 +53,11 @@ namespace Edu.Model.ViewModel.Course
/// </summary>
/// </summary>
public
int
ClassType
{
get
;
set
;
}
public
int
ClassType
{
get
;
set
;
}
/// <summary>
/// 班级课时分钟数
/// </summary>
public
int
ClassHourMinute
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 老师头像
/// 老师头像
/// </summary>
/// </summary>
...
...
Edu.Module.Course/TeachingRewardsModule.cs
View file @
8871d8de
...
@@ -536,7 +536,9 @@ namespace Edu.Module.Course
...
@@ -536,7 +536,9 @@ namespace Edu.Module.Course
var
ts
=
Convert
.
ToDateTime
(
nowTime
+
" "
+
qitem
.
EndTime
)
-
Convert
.
ToDateTime
(
nowTime
+
" "
+
qitem
.
StartTime
);
var
ts
=
Convert
.
ToDateTime
(
nowTime
+
" "
+
qitem
.
EndTime
)
-
Convert
.
ToDateTime
(
nowTime
+
" "
+
qitem
.
StartTime
);
minute
+=
(
int
)
ts
.
TotalMinutes
;
minute
+=
(
int
)
ts
.
TotalMinutes
;
}
}
int
ksNum
=
minute
/
configModel
.
BasicMinutes
;
// 未达到一课时时间 算不算一课时
int
ClassHourMinute
=
configModel
.
BasicMinutes
;
//课时分钟数
if
(
item
.
ClassHourMinute
>
0
)
{
ClassHourMinute
=
item
.
ClassHourMinute
;
}
int
ksNum
=
minute
/
ClassHourMinute
;
// 未达到一课时时间 算不算一课时
//查询课单价
//查询课单价
var
typeModel
=
typeList
.
Where
(
x
=>
x
.
CTypeId
==
item
.
ClassType
).
FirstOrDefault
();
var
typeModel
=
typeList
.
Where
(
x
=>
x
.
CTypeId
==
item
.
ClassType
).
FirstOrDefault
();
var
teacherModel
=
teacherList
.
Where
(
x
=>
x
.
TId
==
item
.
TeacherId
).
FirstOrDefault
();
var
teacherModel
=
teacherList
.
Where
(
x
=>
x
.
TId
==
item
.
TeacherId
).
FirstOrDefault
();
...
@@ -1215,7 +1217,9 @@ namespace Edu.Module.Course
...
@@ -1215,7 +1217,9 @@ namespace Edu.Module.Course
//班级课时总分钟数
//班级课时总分钟数
int
TotalClassMin
=
class_PlanRepository
.
GetClassTotalMinute
(
classId
,
classModel
.
Group_Id
);
int
TotalClassMin
=
class_PlanRepository
.
GetClassTotalMinute
(
classId
,
classModel
.
Group_Id
);
//总课时
//总课时
int
ksNum
=
TotalClassMin
/
configModel
.
BasicMinutes
;
// 未达到一课时时间 不算一课时
int
ClassHourMinute
=
configModel
.
BasicMinutes
;
//课时分钟数
if
(
classModel
.
ClassHourMinute
>
0
)
{
ClassHourMinute
=
classModel
.
ClassHourMinute
;
}
int
ksNum
=
TotalClassMin
/
ClassHourMinute
;
// 未达到一课时时间 不算一课时
//满班率
//满班率
decimal
FullClassRate
=
0
;
decimal
FullClassRate
=
0
;
...
...
Edu.Module.Finance/FinanceModule.cs
View file @
8871d8de
...
@@ -2759,44 +2759,57 @@ namespace Edu.Module.Finance
...
@@ -2759,44 +2759,57 @@ namespace Edu.Module.Finance
Money
=
KSMoney
Money
=
KSMoney
});
});
}
}
#
region
基础课时处理
//初始化 基础课时
decimal
DeductionMoney
=
0
;
DateTime
STime
=
Convert
.
ToDateTime
(
startMonth
);
if
(
configModel
.
BasicHours
>
0
)
while
(
true
)
{
{
//遍历所有老师
DateTime
ETime
=
STime
.
AddMonths
(
1
).
AddDays
(-
1
);
List
<
int
>
TeacherIdList
=
RList
.
Select
(
x
=>
x
.
TeacherId
).
Distinct
().
ToList
();
var
mlist
=
RList
.
Where
(
x
=>
x
.
Date
>=
STime
&&
x
.
Date
<=
ETime
).
ToList
();
foreach
(
var
item
in
TeacherIdList
)
#
region
基础课时处理
decimal
DeductionMoney
=
0
;
if
(
configModel
.
BasicHours
>
0
)
{
{
var
qblist
=
RList
.
Where
(
x
=>
x
.
TeacherId
==
item
).
OrderBy
(
x
=>
x
.
UnitPrice
).
ThenBy
(
x
=>
x
.
Date
).
ToList
();
//遍历所有老师
decimal
BasicHours
=
(
decimal
)
configModel
.
BasicHours
;
List
<
int
>
TeacherIdList
=
mlist
.
Select
(
x
=>
x
.
TeacherId
).
Distinct
().
ToList
()
;
foreach
(
var
qitem
in
qbl
ist
)
foreach
(
var
item
in
TeacherIdL
ist
)
{
{
decimal
CourseHour
=
0
,
DeductionHour
=
0
;
var
qblist
=
mlist
.
Where
(
x
=>
x
.
TeacherId
==
item
).
OrderBy
(
x
=>
x
.
Date
).
ThenBy
(
x
=>
x
.
UnitPrice
).
ToList
();
if
(
BasicHours
>
qitem
.
KSNum
)
decimal
BasicHours
=
(
decimal
)
configModel
.
BasicHours
;
{
foreach
(
var
qitem
in
qblist
)
DeductionHour
=
qitem
.
KSNum
;
BasicHours
-=
qitem
.
KSNum
;
DeductionMoney
+=
qitem
.
KSNum
*
qitem
.
UnitPrice
;
}
else
{
{
DeductionHour
=
BasicHours
;
decimal
CourseHour
=
0
,
DeductionHour
=
0
;
CourseHour
=
qitem
.
KSNum
-
BasicHours
;
if
(
BasicHours
>
qitem
.
KSNum
)
DeductionMoney
+=
BasicHours
*
qitem
.
UnitPrice
;
{
BasicHours
=
0
;
DeductionHour
=
qitem
.
KSNum
;
}
BasicHours
-=
qitem
.
KSNum
;
qitem
.
KSNum
=
CourseHour
;
DeductionMoney
+=
qitem
.
KSNum
*
qitem
.
UnitPrice
;
qitem
.
DKNum
=
DeductionHour
;
}
qitem
.
Money
=
CourseHour
*
qitem
.
UnitPrice
;
else
if
(
BasicHours
<=
0
)
{
{
DeductionHour
=
BasicHours
;
break
;
CourseHour
=
qitem
.
KSNum
-
BasicHours
;
DeductionMoney
+=
BasicHours
*
qitem
.
UnitPrice
;
BasicHours
=
0
;
}
qitem
.
KSNum
=
CourseHour
;
qitem
.
DKNum
=
DeductionHour
;
qitem
.
Money
=
CourseHour
*
qitem
.
UnitPrice
;
if
(
BasicHours
<=
0
)
{
break
;
}
}
}
}
}
}
}
#
endregion
if
(
STime
.
Month
==
Convert
.
ToDateTime
(
endMonth
).
Month
)
{
break
;
}
STime
=
STime
.
AddMonths
(
1
);
}
}
#
endregion
}
}
return
RList
;
return
RList
;
}
}
...
@@ -2859,43 +2872,57 @@ namespace Edu.Module.Finance
...
@@ -2859,43 +2872,57 @@ namespace Edu.Module.Finance
});
});
}
}
#
region
基础课时处理
//初始化 基础课时
decimal
DeductionMoney
=
0
;
DateTime
STime
=
Convert
.
ToDateTime
(
startMonth
)
;
if
(
configModel
.
BasicHours
>
0
)
while
(
true
)
{
{
//遍历所有老师
DateTime
ETime
=
STime
.
AddMonths
(
1
).
AddDays
(-
1
);
List
<
int
>
TeacherIdList
=
RList
.
Select
(
x
=>
x
.
TeacherId
).
Distinct
().
ToList
();
var
mlist
=
RList
.
Where
(
x
=>
x
.
Date
>=
STime
&&
x
.
Date
<=
ETime
).
ToList
();
foreach
(
var
item
in
TeacherIdList
)
#
region
基础课时处理
decimal
DeductionMoney
=
0
;
if
(
configModel
.
BasicHours
>
0
)
{
{
var
qblist
=
RList
.
Where
(
x
=>
x
.
TeacherId
==
item
).
OrderBy
(
x
=>
x
.
UnitPrice
).
ThenBy
(
x
=>
x
.
Date
).
ToList
();
//遍历所有老师
decimal
BasicHours
=
(
decimal
)
configModel
.
BasicHours
;
List
<
int
>
TeacherIdList
=
mlist
.
Select
(
x
=>
x
.
TeacherId
).
Distinct
().
ToList
()
;
foreach
(
var
qitem
in
qbl
ist
)
foreach
(
var
item
in
TeacherIdL
ist
)
{
{
decimal
CourseHour
=
0
,
DeductionHour
=
0
;
var
qblist
=
mlist
.
Where
(
x
=>
x
.
TeacherId
==
item
).
OrderBy
(
x
=>
x
.
Date
).
ThenBy
(
x
=>
x
.
UnitPrice
).
ToList
();
if
(
BasicHours
>
qitem
.
KSNum
)
decimal
BasicHours
=
(
decimal
)
configModel
.
BasicHours
;
foreach
(
var
qitem
in
qblist
)
{
{
DeductionHour
=
qitem
.
KSNum
;
decimal
CourseHour
=
0
,
DeductionHour
=
0
;
BasicHours
-=
qitem
.
KSNum
;
if
(
BasicHours
>
qitem
.
KSNum
)
DeductionMoney
+=
qitem
.
KSNum
*
qitem
.
UnitPrice
;
{
}
DeductionHour
=
qitem
.
KSNum
;
else
BasicHours
-=
qitem
.
KSNum
;
{
DeductionMoney
+=
qitem
.
KSNum
*
qitem
.
UnitPrice
;
DeductionHour
=
BasicHours
;
}
CourseHour
=
qitem
.
KSNum
-
BasicHours
;
else
DeductionMoney
+=
BasicHours
*
qitem
.
UnitPrice
;
{
BasicHours
=
0
;
DeductionHour
=
BasicHours
;
}
CourseHour
=
qitem
.
KSNum
-
BasicHours
;
qitem
.
KSNum
=
CourseHour
;
DeductionMoney
+=
BasicHours
*
qitem
.
UnitPrice
;
qitem
.
DKNum
=
DeductionHour
;
BasicHours
=
0
;
qitem
.
Money
=
CourseHour
*
qitem
.
UnitPrice
;
}
if
(
BasicHours
<=
0
)
qitem
.
KSNum
=
CourseHour
;
{
qitem
.
DKNum
=
DeductionHour
;
break
;
qitem
.
Money
=
CourseHour
*
qitem
.
UnitPrice
;
if
(
BasicHours
<=
0
)
{
break
;
}
}
}
}
}
}
}
#
endregion
if
(
STime
.
Month
==
Convert
.
ToDateTime
(
endMonth
).
Month
)
{
break
;
}
STime
=
STime
.
AddMonths
(
1
);
}
}
#
endregion
foreach
(
var
item
in
RList
)
{
foreach
(
var
item
in
RList
)
{
ExcelDataSource
firstRow
=
new
ExcelDataSource
(
30
)
ExcelDataSource
firstRow
=
new
ExcelDataSource
(
30
)
...
...
Edu.Repository/Course/RB_Class_PlanRepository.cs
View file @
8871d8de
...
@@ -240,7 +240,7 @@ WHERE ClassId={1} AND ClassDate>'{2}'
...
@@ -240,7 +240,7 @@ WHERE ClassId={1} AND ClassDate>'{2}'
{
{
StringBuilder
builder
=
new
StringBuilder
();
StringBuilder
builder
=
new
StringBuilder
();
builder
.
AppendFormat
(
@"
builder
.
AppendFormat
(
@"
SELECT a.*,c.Teacher_Id,c.ClassName,c.ClassType,T.TeacherName ,cou.CourseName
SELECT a.*,c.Teacher_Id,c.ClassName,c.ClassType,
c.ClassHourMinute,
T.TeacherName ,cou.CourseName
FROM rb_class_plan as a
FROM rb_class_plan as a
LEFT JOIN rb_class c on a.ClassId = c.ClassId
LEFT JOIN rb_class c on a.ClassId = c.ClassId
LEFT JOIN rb_teacher AS T ON a.TeacherId=T.TId
LEFT JOIN rb_teacher AS T ON a.TeacherId=T.TId
...
...
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