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
efd9bc57
Commit
efd9bc57
authored
Dec 16, 2020
by
liudong1993
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
教师绩效
parent
d698dd71
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
1230 additions
and
9 deletions
+1230
-9
BonusStateEnum.cs
Edu.Common/Enum/Course/BonusStateEnum.cs
+23
-0
RB_Teaching_Perf.cs
Edu.Model/Entity/Course/RB_Teaching_Perf.cs
+145
-0
RB_Teaching_PerfRemark.cs
Edu.Model/Entity/Course/RB_Teaching_PerfRemark.cs
+39
-0
RB_Teaching_Rewards_Base.cs
Edu.Model/Entity/Course/RB_Teaching_Rewards_Base.cs
+5
-0
RB_Teaching_PerfRemark_ViewModel.cs
...odel/ViewModel/Course/RB_Teaching_PerfRemark_ViewModel.cs
+17
-0
RB_Teaching_Perf_ViewModel.cs
Edu.Model/ViewModel/Course/RB_Teaching_Perf_ViewModel.cs
+65
-0
TeachingRewardsModule.cs
Edu.Module.Course/TeachingRewardsModule.cs
+446
-9
RB_Class_CheckRepository.cs
Edu.Repository/Course/RB_Class_CheckRepository.cs
+36
-0
RB_Class_PlanRepository.cs
Edu.Repository/Course/RB_Class_PlanRepository.cs
+24
-0
RB_Teaching_PerfRemarkRepository.cs
Edu.Repository/Course/RB_Teaching_PerfRemarkRepository.cs
+53
-0
RB_Teaching_PerfRepository.cs
Edu.Repository/Course/RB_Teaching_PerfRepository.cs
+170
-0
TeachingRewardsController.cs
Edu.WebApi/Controllers/Course/TeachingRewardsController.cs
+207
-0
No files found.
Edu.Common/Enum/Course/BonusStateEnum.cs
View file @
efd9bc57
...
...
@@ -32,4 +32,27 @@ namespace Edu.Common.Enum.Course
[
EnumField
(
"生成中"
)]
Create
=
4
}
/// <summary>
/// 绩效状态
/// </summary>
public
enum
PerfStateEnum
{
/// <summary>
/// 待确认
/// </summary>
[
EnumField
(
"待确认"
)]
Wait
=
1
,
/// <summary>
/// 已确认
/// </summary>
[
EnumField
(
"已确认"
)]
Confirmed
=
2
,
/// <summary>
/// 不发放绩效
/// </summary>
[
EnumField
(
"不发放绩效"
)]
Cancel
=
3
}
}
Edu.Model/Entity/Course/RB_Teaching_Perf.cs
0 → 100644
View file @
efd9bc57
using
Edu.Common.Enum
;
using
Edu.Common.Enum.Course
;
using
System
;
using
VT.FW.DB
;
namespace
Edu.Model.Entity.Course
{
/// <summary>
/// 教师绩效实体类
/// </summary>
[
Serializable
]
[
DB
(
ConnectionName
=
"DefaultConnection"
)]
public
class
RB_Teaching_Perf
{
/// <summary>
/// 主键
/// </summary>
public
int
Id
{
get
;
set
;
}
/// <summary>
/// 教师id
/// </summary>
public
int
TeacherId
{
get
;
set
;
}
/// <summary>
/// 班级Id
/// </summary>
public
int
ClassId
{
get
;
set
;
}
/// <summary>
/// 原带班人数
/// </summary>
public
int
BaseStuNum
{
get
;
set
;
}
/// <summary>
/// 原课时费
/// </summary>
public
decimal
BaseHourFee
{
get
;
set
;
}
/// <summary>
/// 增加带班人数
/// </summary>
public
int
AddStuNum
{
get
;
set
;
}
/// <summary>
/// 增加课时费
/// </summary>
public
decimal
AddHourFee
{
get
;
set
;
}
/// <summary>
/// 班级人数
/// </summary>
public
int
ClassPeopelNum
{
get
;
set
;
}
/// <summary>
/// 结课时间
/// </summary>
public
DateTime
EndDate
{
get
;
set
;
}
/// <summary>
/// 满班率
/// </summary>
public
decimal
FullClassRate
{
get
;
set
;
}
/// <summary>
/// 平均上课率
/// </summary>
public
decimal
AvgCheckRate
{
get
;
set
;
}
/// <summary>
/// 累计课时
/// </summary>
public
int
ClassHours
{
get
;
set
;
}
/// <summary>
/// 课时奖金
/// </summary>
public
decimal
UnitPrice
{
get
;
set
;
}
/// <summary>
/// 累计绩效金额
/// </summary>
public
decimal
Money
{
get
;
set
;
}
/// <summary>
/// 财务单据id
/// </summary>
public
int
FinanceId
{
get
;
set
;
}
/// <summary>
/// 枚举 绩效状态 1待确认 2已确认 3不发放绩效
/// </summary>
public
PerfStateEnum
PerfState
{
get
;
set
;
}
/// <summary>
/// 删除状态
/// </summary>
public
int
Status
{
get
;
set
;
}
/// <summary>
/// 集团编号
/// </summary>
public
int
Group_Id
{
get
;
set
;
}
/// <summary>
/// 校区id
/// </summary>
public
int
School_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
string
BonusJson
{
get
;
set
;
}
/// <summary>
/// 课时费对照
/// </summary>
public
string
ClassFeeJson
{
get
;
set
;
}
/// <summary>
/// 确认时间
/// </summary>
public
DateTime
?
ConfirmDate
{
get
;
set
;
}
}
}
Edu.Model/Entity/Course/RB_Teaching_PerfRemark.cs
0 → 100644
View file @
efd9bc57
using
Edu.Common.Enum
;
using
Edu.Common.Enum.Course
;
using
System
;
using
VT.FW.DB
;
namespace
Edu.Model.Entity.Course
{
/// <summary>
/// 绩效备注实体类
/// </summary>
[
Serializable
]
[
DB
(
ConnectionName
=
"DefaultConnection"
)]
public
class
RB_Teaching_PerfRemark
{
/// <summary>
/// id
/// </summary>
public
int
Id
{
get
;
set
;
}
/// <summary>
/// 绩效编号
/// </summary>
public
int
PerfId
{
get
;
set
;
}
/// <summary>
/// 备注
/// </summary>
public
string
Content
{
get
;
set
;
}
/// <summary>
/// 创建人
/// </summary>
public
int
CreateBy
{
get
;
set
;
}
/// <summary>
/// 创建时间
/// </summary>
public
DateTime
CreateTime
{
get
;
set
;
}
}
}
Edu.Model/Entity/Course/RB_Teaching_Rewards_Base.cs
View file @
efd9bc57
...
...
@@ -22,6 +22,11 @@ namespace Edu.Model.Entity.Course
/// </summary>
public
int
Type
{
get
;
set
;
}
/// <summary>
/// 班级类型ids
/// </summary>
public
string
ClassTypeIds
{
get
;
set
;
}
/// <summary>
/// 基础课时费用
/// </summary>
...
...
Edu.Model/ViewModel/Course/RB_Teaching_PerfRemark_ViewModel.cs
0 → 100644
View file @
efd9bc57
using
System
;
using
System.Collections.Generic
;
namespace
Edu.Model.ViewModel.Course
{
/// <summary>
/// 教师备注实体类
/// </summary>
[
Serializable
]
public
class
RB_Teaching_PerfRemark_ViewModel
:
Entity
.
Course
.
RB_Teaching_PerfRemark
{
/// <summary>
/// ids
/// </summary>
public
string
PerfIds
{
get
;
set
;
}
}
}
\ No newline at end of file
Edu.Model/ViewModel/Course/RB_Teaching_Perf_ViewModel.cs
0 → 100644
View file @
efd9bc57
using
System
;
using
System.Collections.Generic
;
namespace
Edu.Model.ViewModel.Course
{
/// <summary>
/// 教师绩效实体类
/// </summary>
[
Serializable
]
public
class
RB_Teaching_Perf_ViewModel
:
Entity
.
Course
.
RB_Teaching_Perf
{
/// <summary>
/// 班级名称
/// </summary>
public
string
ClassName
{
get
;
set
;
}
/// <summary>
/// 教师名称
/// </summary>
public
string
TeacherName
{
get
;
set
;
}
/// <summary>
/// 教师头像
/// </summary>
public
string
TeacherIcon
{
get
;
set
;
}
/// <summary>
/// 结课开始时间
/// </summary>
public
string
StartTime
{
get
;
set
;
}
/// <summary>
/// 结课结束时间
/// </summary>
public
string
EndTime
{
get
;
set
;
}
/// <summary>
/// 操作开始时间
/// </summary>
public
string
OPStartTime
{
get
;
set
;
}
/// <summary>
/// 操作结束时间
/// </summary>
public
string
OPEndTime
{
get
;
set
;
}
/// <summary>
/// 是否已确认 1是 2否
/// </summary>
public
int
Q_IsComfirm
{
get
;
set
;
}
/// <summary>
/// 是否已制单 1是 2否
/// </summary>
public
int
Q_IsCreateFinance
{
get
;
set
;
}
/// <summary>
/// 备注列表
/// </summary>
public
List
<
RB_Teaching_PerfRemark_ViewModel
>
RemarkList
{
get
;
set
;
}
/// <summary>
/// 奖金对照
/// </summary>
public
List
<
RB_Teaching_Rewards_Rate_ViewModel
>
JJList
{
get
;
set
;
}
/// <summary>
/// 课时费对照
/// </summary>
public
List
<
RB_Teaching_Rewards_Rate_ViewModel
>
KSList
{
get
;
set
;
}
}
}
\ No newline at end of file
Edu.Module.Course/TeachingRewardsModule.cs
View file @
efd9bc57
This diff is collapsed.
Click to expand it.
Edu.Repository/Course/RB_Class_CheckRepository.cs
View file @
efd9bc57
...
...
@@ -91,5 +91,41 @@ namespace Edu.Repository.Course
return
Get
<
RB_Class_Check_ViewModel
>(
builder
.
ToString
()).
ToList
();
}
/// <summary>
/// 班级总人数
/// </summary>
/// <param name="classId"></param>
/// <returns></returns>
public
int
GetClassToalPeopleNum
(
int
classId
,
int
groupId
)
{
string
sql
=
$@"SELECT count(*) AS Num FROM(SELECT OrderGuestId FROM rb_class_check WHERE `Status`=0 AND Group_Id=
{
groupId
}
AND ClassId =
{
classId
}
GROUP BY OrderGuestId)t"
;
var
obj
=
ExecuteScalar
(
sql
);
if
(
obj
!=
null
)
{
return
Convert
.
ToInt32
(
obj
);
}
else
{
return
0
;
}
}
/// <summary>
/// 获取平均上课率
/// </summary>
/// <param name="classId"></param>
/// <param name="group_Id"></param>
/// <returns></returns>
public
decimal
GetClassAvgTakeClassRate
(
int
classId
,
int
group_Id
)
{
string
sql1
=
$@"SELECT COUNT(0) AS TotalNum FROM rb_class_check WHERE `Status`=0 AND Group_Id=
{
group_Id
}
AND ClassId =
{
classId
}
;"
;
string
sql2
=
$@"SELECT COUNT(0) AS TotalNum FROM rb_class_check WHERE `Status`=0 AND Group_Id=
{
group_Id
}
AND CheckStatus =0 AND ClassId =
{
classId
}
;"
;
var
obj1
=
ExecuteScalar
(
sql1
);
var
obj2
=
ExecuteScalar
(
sql2
);
int
Num1
=
Convert
.
ToInt32
(
obj1
??
"0"
),
Num2
=
Convert
.
ToInt32
(
obj2
??
"0"
);
if
(
Num1
==
0
)
{
return
0
;
}
decimal
avgClassRate
=
Math
.
Round
(
Convert
.
ToDecimal
(
Num2
)
/
Num1
,
2
,
MidpointRounding
.
AwayFromZero
);
return
avgClassRate
;
}
}
}
Edu.Repository/Course/RB_Class_PlanRepository.cs
View file @
efd9bc57
...
...
@@ -251,5 +251,29 @@ LEFT JOIN rb_teacher as c on c.TId=a.TeacherId
builder
.
AppendFormat
(
@" order by ClassDate desc "
);
return
Get
<
RB_Class_Plan_ViewModel
>(
builder
.
ToString
()).
ToList
();
}
/// <summary>
/// 获取班级累计上课时间(分钟)
/// </summary>
/// <param name="classId"></param>
/// <param name="group_Id"></param>
/// <returns></returns>
public
int
GetClassTotalMinute
(
int
classId
,
int
group_Id
)
{
string
sql
=
$@"SELECT SUM(t.minNum) AS minNum FROM(
SELECT TIMESTAMPDIFF(MINUTE, CONCAT('2020-12-16',' ',t.StartTime), CONCAT('2020-12-16',' ',t.EndTime)) AS minNum FROM rb_class_plan p
INNER JOIN rb_class_time t on p.ClassPlanId = t.ClassPlanId
WHERE p.`Status`=0 AND p.Group_Id=
{
group_Id
}
AND p.ClassId =
{
classId
}
)t;
"
;
var
obj
=
ExecuteScalar
(
sql
);
if
(
obj
!=
null
)
{
return
Convert
.
ToInt32
(
obj
);
}
else
{
return
0
;
}
}
}
}
Edu.Repository/Course/RB_Teaching_PerfRemarkRepository.cs
0 → 100644
View file @
efd9bc57
using
Edu.Common.Enum
;
using
Edu.Model.Entity.Course
;
using
Edu.Model.ViewModel.Course
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
VT.FW.DB.Dapper
;
namespace
Edu.Repository.Course
{
/// <summary>
/// 绩效备注仓储层
/// </summary>
public
class
RB_Teaching_PerfRemarkRepository
:
BaseRepository
<
RB_Teaching_PerfRemark
>
{
/// <summary>
/// 获取列表
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public
List
<
RB_Teaching_PerfRemark_ViewModel
>
GetList
(
RB_Teaching_PerfRemark_ViewModel
demodel
)
{
string
where
=
$@" 1=1"
;
if
(
demodel
.
PerfId
>
0
)
{
where
+=
$@" and
{
nameof
(
RB_Teaching_PerfRemark
.
PerfId
)}
=
{
demodel
.
PerfId
}
"
;
}
if
(!
string
.
IsNullOrEmpty
(
demodel
.
PerfIds
))
{
where
+=
$@" and
{
nameof
(
RB_Teaching_PerfRemark
.
PerfId
)}
in(
{
demodel
.
PerfIds
}
)"
;
}
string
sql
=
$@" select * from RB_Teaching_PerfRemark where
{
where
}
order by Id desc"
;
return
Get
<
RB_Teaching_PerfRemark_ViewModel
>(
sql
).
ToList
();
}
/// <summary>
/// 获取最后一条记录
/// </summary>
/// <param name="perfId"></param>
/// <returns></returns>
public
RB_Teaching_PerfRemark_ViewModel
GetLastRemark
(
int
perfId
)
{
string
where
=
$@" 1=1"
;
where
+=
$@" and
{
nameof
(
RB_Teaching_PerfRemark
.
PerfId
)}
=
{
perfId
}
"
;
string
sql
=
$@" select * from RB_Teaching_PerfRemark where
{
where
}
order by Id desc limit 1"
;
return
Get
<
RB_Teaching_PerfRemark_ViewModel
>(
sql
).
FirstOrDefault
();
}
}
}
Edu.Repository/Course/RB_Teaching_PerfRepository.cs
0 → 100644
View file @
efd9bc57
using
Edu.Common.Enum
;
using
Edu.Model.Entity.Course
;
using
Edu.Model.Entity.User
;
using
Edu.Model.ViewModel.Course
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
VT.FW.DB.Dapper
;
namespace
Edu.Repository.Course
{
/// <summary>
/// 教师绩效仓储层
/// </summary>
public
class
RB_Teaching_PerfRepository
:
BaseRepository
<
RB_Teaching_Perf
>
{
/// <summary>
/// 获取列表
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public
List
<
RB_Teaching_Perf_ViewModel
>
GetList
(
RB_Teaching_Perf_ViewModel
demodel
)
{
string
where
=
$@" 1=1 and p.Status =0"
;
if
(
demodel
.
Group_Id
>
0
)
{
where
+=
$@" and p.
{
nameof
(
RB_Teaching_Perf
.
Group_Id
)}
=
{
demodel
.
Group_Id
}
"
;
}
if
(
demodel
.
School_Id
>
0
)
{
where
+=
$@" and p.
{
nameof
(
RB_Teaching_Perf
.
School_Id
)}
=
{
demodel
.
School_Id
}
"
;
}
if
(
demodel
.
ClassId
>
0
)
{
where
+=
$@" and p.
{
nameof
(
RB_Teaching_Perf
.
ClassId
)}
=
{
demodel
.
ClassId
}
"
;
}
if
(!
string
.
IsNullOrEmpty
(
demodel
.
ClassName
))
{
where
+=
$@" and c.
{
nameof
(
RB_Class
.
ClassName
)}
like '%
{
demodel
.
ClassName
}
%'"
;
}
if
(
demodel
.
TeacherId
>
0
)
{
where
+=
$@" and p.
{
nameof
(
RB_Teaching_Perf
.
TeacherId
)}
=
{
demodel
.
TeacherId
}
"
;
}
if
(!
string
.
IsNullOrEmpty
(
demodel
.
TeacherName
))
{
where
+=
$@" and t.
{
nameof
(
RB_Teacher
.
TeacherName
)}
like '%
{
demodel
.
TeacherName
}
%'"
;
}
if
(
demodel
.
Q_IsCreateFinance
==
1
)
{
where
+=
$@" and p.
{
nameof
(
RB_Teaching_Perf
.
FinanceId
)}
>0"
;
}
else
if
(
demodel
.
Q_IsCreateFinance
==
2
)
{
where
+=
$@" and p.
{
nameof
(
RB_Teaching_Perf
.
FinanceId
)}
=0"
;
}
if
(
demodel
.
Q_IsComfirm
==
1
)
{
where
+=
$@" and p.
{
nameof
(
RB_Teaching_Perf
.
PerfState
)}
=2"
;
}
else
if
(
demodel
.
Q_IsComfirm
==
2
)
{
where
+=
$@" and p.
{
nameof
(
RB_Teaching_Perf
.
PerfState
)}
in(1,3)"
;
}
if
(!
string
.
IsNullOrEmpty
(
demodel
.
StartTime
))
{
where
+=
$@" and p.
{
nameof
(
RB_Teaching_Perf
.
EndDate
)}
>='
{
demodel
.
StartTime
}
'"
;
}
if
(!
string
.
IsNullOrEmpty
(
demodel
.
EndTime
))
{
where
+=
$@" and p.
{
nameof
(
RB_Teaching_Perf
.
EndDate
)}
<='
{
demodel
.
EndTime
}
23:59:59'"
;
}
if
(!
string
.
IsNullOrEmpty
(
demodel
.
OPStartTime
))
{
where
+=
$@" and p.
{
nameof
(
RB_Teaching_Perf
.
ConfirmDate
)}
>='
{
demodel
.
OPStartTime
}
'"
;
}
if
(!
string
.
IsNullOrEmpty
(
demodel
.
OPEndTime
))
{
where
+=
$@" and p.
{
nameof
(
RB_Teaching_Perf
.
ConfirmDate
)}
<='
{
demodel
.
OPEndTime
}
23:59:59'"
;
}
string
sql
=
$@" select p.*,t.TeacherName,t.TeacherIcon,c.ClassName from RB_Teaching_Perf p
left join rb_teacher t on p.TeacherId = t.TId
left join rb_class c on p.ClassId = c.ClassId
where
{
where
}
order by p.Id desc"
;
return
Get
<
RB_Teaching_Perf_ViewModel
>(
sql
).
ToList
();
}
/// <summary>
/// 获取分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="demodel"></param>
/// <returns></returns>
public
List
<
RB_Teaching_Perf_ViewModel
>
GetPageList
(
int
pageIndex
,
int
pageSize
,
out
long
count
,
RB_Teaching_Perf_ViewModel
demodel
)
{
string
where
=
$@" 1=1 and p.Status =0"
;
if
(
demodel
.
Group_Id
>
0
)
{
where
+=
$@" and p.
{
nameof
(
RB_Teaching_Perf
.
Group_Id
)}
=
{
demodel
.
Group_Id
}
"
;
}
if
(
demodel
.
School_Id
>
0
)
{
where
+=
$@" and p.
{
nameof
(
RB_Teaching_Perf
.
School_Id
)}
=
{
demodel
.
School_Id
}
"
;
}
if
(
demodel
.
ClassId
>
0
)
{
where
+=
$@" and p.
{
nameof
(
RB_Teaching_Perf
.
ClassId
)}
=
{
demodel
.
ClassId
}
"
;
}
if
(!
string
.
IsNullOrEmpty
(
demodel
.
ClassName
))
{
where
+=
$@" and c.
{
nameof
(
RB_Class
.
ClassName
)}
like '%
{
demodel
.
ClassName
}
%'"
;
}
if
(
demodel
.
TeacherId
>
0
)
{
where
+=
$@" and p.
{
nameof
(
RB_Teaching_Perf
.
TeacherId
)}
=
{
demodel
.
TeacherId
}
"
;
}
if
(!
string
.
IsNullOrEmpty
(
demodel
.
TeacherName
))
{
where
+=
$@" and t.
{
nameof
(
RB_Teacher
.
TeacherName
)}
like '%
{
demodel
.
TeacherName
}
%'"
;
}
if
(
demodel
.
PerfState
>
0
)
{
where
+=
$@" and p.
{
nameof
(
RB_Teaching_Perf
.
PerfState
)}
=
{(
int
)
demodel
.
PerfState
}
"
;
}
if
(
demodel
.
Q_IsCreateFinance
==
1
)
{
where
+=
$@" and p.
{
nameof
(
RB_Teaching_Perf
.
FinanceId
)}
>0"
;
}
else
if
(
demodel
.
Q_IsCreateFinance
==
2
)
{
where
+=
$@" and p.
{
nameof
(
RB_Teaching_Perf
.
FinanceId
)}
=0"
;
}
if
(
demodel
.
Q_IsComfirm
==
1
)
{
where
+=
$@" and p.
{
nameof
(
RB_Teaching_Perf
.
PerfState
)}
=2"
;
}
else
if
(
demodel
.
Q_IsComfirm
==
2
)
{
where
+=
$@" and p.
{
nameof
(
RB_Teaching_Perf
.
PerfState
)}
in(1,3)"
;
}
if
(!
string
.
IsNullOrEmpty
(
demodel
.
StartTime
))
{
where
+=
$@" and p.
{
nameof
(
RB_Teaching_Perf
.
EndDate
)}
>='
{
demodel
.
StartTime
}
'"
;
}
if
(!
string
.
IsNullOrEmpty
(
demodel
.
EndTime
))
{
where
+=
$@" and p.
{
nameof
(
RB_Teaching_Perf
.
EndDate
)}
<='
{
demodel
.
EndTime
}
23:59:59'"
;
}
if
(!
string
.
IsNullOrEmpty
(
demodel
.
OPStartTime
))
{
where
+=
$@" and p.
{
nameof
(
RB_Teaching_Perf
.
ConfirmDate
)}
>='
{
demodel
.
OPStartTime
}
'"
;
}
if
(!
string
.
IsNullOrEmpty
(
demodel
.
OPEndTime
))
{
where
+=
$@" and p.
{
nameof
(
RB_Teaching_Perf
.
ConfirmDate
)}
<='
{
demodel
.
OPEndTime
}
23:59:59'"
;
}
string
sql
=
$@" select p.*,t.TeacherName,t.TeacherIcon,c.ClassName from RB_Teaching_Perf p
left join rb_teacher t on p.TeacherId = t.TId
left join rb_class c on p.ClassId = c.ClassId
where
{
where
}
order by p.Id desc"
;
return
GetPage
<
RB_Teaching_Perf_ViewModel
>(
pageIndex
,
pageSize
,
out
count
,
sql
).
ToList
();
}
}
}
Edu.WebApi/Controllers/Course/TeachingRewardsController.cs
View file @
efd9bc57
...
...
@@ -504,5 +504,212 @@ namespace Edu.WebApi.Controllers.Course
}));
}
#
endregion
#
region
教师绩效
/// <summary>
/// 教师绩效分页列表
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetTeachingPerfPageList
()
{
var
userInfo
=
base
.
UserInfo
;
var
pageModel
=
JsonHelper
.
DeserializeObject
<
ResultPageModel
>(
RequestParm
.
Msg
.
ToString
());
var
dmodel
=
JsonHelper
.
DeserializeObject
<
RB_Teaching_Perf_ViewModel
>(
RequestParm
.
Msg
.
ToString
());
dmodel
.
Group_Id
=
userInfo
.
Group_Id
;
var
list
=
teachingRewardsModule
.
GetTeachingPerfPageList
(
pageModel
.
PageIndex
,
pageModel
.
PageSize
,
out
long
count
,
dmodel
);
pageModel
.
Count
=
Convert
.
ToInt32
(
count
);
pageModel
.
PageData
=
list
.
Select
(
x
=>
new
{
x
.
Id
,
x
.
TeacherId
,
x
.
TeacherIcon
,
x
.
TeacherName
,
x
.
BaseHourFee
,
x
.
AddHourFee
,
x
.
BaseStuNum
,
x
.
AddStuNum
,
x
.
ClassName
,
x
.
ClassPeopelNum
,
x
.
EndDate
,
x
.
ConfirmDate
,
x
.
FullClassRate
,
x
.
AvgCheckRate
,
x
.
ClassHours
,
x
.
UnitPrice
,
x
.
Money
,
x
.
FinanceId
,
x
.
PerfState
,
PerfStateName
=
x
.
PerfState
.
ToName
(),
RemarkList
=
x
.
RemarkList
.
Select
(
z
=>
new
{
z
.
Id
,
z
.
Content
,
CreateBy
=
UserReidsCache
.
GetUserLoginInfo
(
z
.
CreateBy
)?.
AccountName
??
""
,
CreateTime
=
z
.
CreateTime
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
)
}),
x
.
UpdateBy
,
UpdateByName
=
UserReidsCache
.
GetUserLoginInfo
(
x
.
UpdateBy
)?.
AccountName
??
""
,
UpdateTime
=
x
.
UpdateTime
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
),
JJList
=
x
.
JJList
.
Select
(
z
=>
new
{
z
.
Id
,
z
.
StartValue
,
z
.
EndValue
,
FullClassList
=
z
.
FullClassList
.
Select
(
y
=>
new
{
y
.
Id
,
y
.
StartValue
,
y
.
EndValue
,
y
.
ClassMoney
,
y
.
PeopelNum
})
}),
JJFullRate
=
GetFullRateList
(
x
.
JJList
).
Select
(
y
=>
new
{
y
.
Id
,
y
.
StartValue
,
y
.
EndValue
}),
KSList
=
x
.
KSList
.
Select
(
z
=>
new
{
z
.
Id
,
z
.
StartValue
,
z
.
EndValue
,
FullClassList
=
z
.
FullClassList
.
Select
(
y
=>
new
{
y
.
Id
,
y
.
StartValue
,
y
.
EndValue
,
y
.
ClassMoney
,
y
.
PeopelNum
})
}),
KSFullRate
=
GetFullRateList
(
x
.
KSList
).
Select
(
y
=>
new
{
y
.
Id
,
y
.
StartValue
,
y
.
EndValue
}),
});
return
ApiResult
.
Success
(
""
,
pageModel
);
}
/// <summary>
/// 获取满班率
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
public
List
<
RB_Teaching_Rewards_Rate_ViewModel
>
GetFullRateList
(
List
<
RB_Teaching_Rewards_Rate_ViewModel
>
list
)
{
if
(
list
.
Any
())
{
return
list
.
FirstOrDefault
().
FullClassList
;
}
return
new
List
<
RB_Teaching_Rewards_Rate_ViewModel
>();
}
/// <summary>
/// 修改备注
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
SetTeachingPerfRemark
()
{
var
userInfo
=
base
.
UserInfo
;
JObject
parms
=
JObject
.
Parse
(
RequestParm
.
Msg
.
ToString
());
int
PerfId
=
parms
.
GetInt
(
"PerfId"
,
0
);
string
Remark
=
parms
.
GetStringValue
(
"Remark"
);
if
(
PerfId
<=
0
)
{
return
ApiResult
.
ParamIsNull
();
}
bool
flag
=
teachingRewardsModule
.
SetTeachingPerfRemark
(
PerfId
,
Remark
,
userInfo
);
if
(
flag
)
{
return
ApiResult
.
Success
();
}
else
{
return
ApiResult
.
Failed
();
}
}
/// <summary>
/// 设置教师绩效状态
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
SetTeachingPerfState
()
{
var
userInfo
=
base
.
UserInfo
;
JObject
parms
=
JObject
.
Parse
(
RequestParm
.
Msg
.
ToString
());
int
PerfId
=
parms
.
GetInt
(
"PerfId"
,
0
);
int
Type
=
parms
.
GetInt
(
"Type"
,
0
);
// 类型 1确认绩效 2不发放绩效 3恢复绩效 4撤销绩效
if
(
PerfId
<=
0
)
{
return
ApiResult
.
ParamIsNull
();
}
string
msg
=
teachingRewardsModule
.
SetTeachingPerfState
(
PerfId
,
Type
,
userInfo
);
if
(
msg
==
""
)
{
return
ApiResult
.
Success
();
}
else
{
return
ApiResult
.
Failed
(
msg
);
}
}
/// <summary>
/// 生成绩效
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
SetTeachingPerfCreate
()
{
JObject
parms
=
JObject
.
Parse
(
RequestParm
.
Msg
.
ToString
());
int
ClassId
=
parms
.
GetInt
(
"ClassId"
,
0
);
if
(
ClassId
<=
0
)
{
return
ApiResult
.
ParamIsNull
();
}
string
msg
=
teachingRewardsModule
.
SetTeachingPerfCreate
(
ClassId
);
if
(
msg
==
""
)
{
return
ApiResult
.
Success
();
}
else
{
return
ApiResult
.
Failed
(
msg
);
}
}
/// <summary>
/// 绩效一键制单
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
SetTeachingPerfFinance
()
{
var
userInfo
=
base
.
UserInfo
;
JObject
parms
=
JObject
.
Parse
(
RequestParm
.
Msg
.
ToString
());
int
PerfId
=
parms
.
GetInt
(
"PerfId"
,
0
);
int
IsPublic
=
parms
.
GetInt
(
"IsPublic"
,
0
);
int
CurrencyId
=
parms
.
GetInt
(
"CurrencyId"
,
0
);
if
(
PerfId
<=
0
)
{
return
ApiResult
.
ParamIsNull
();
}
string
msg
=
teachingRewardsModule
.
SetTeachingPerfFinance
(
PerfId
,
IsPublic
,
CurrencyId
,
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