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
6163ad93
Commit
6163ad93
authored
Jul 09, 2021
by
吴春
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交代码
parent
40b1fd63
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
251 additions
and
14 deletions
+251
-14
RB_Change_ClassPlan_ViewModel.cs
Edu.Model/ViewModel/EduTask/RB_Change_ClassPlan_ViewModel.cs
+14
-0
RB_Order_GuestRepository.cs
Edu.Repository/Course/RB_Order_GuestRepository.cs
+2
-1
RB_Change_ClassPlanRepository.cs
Edu.Repository/EduTask/RB_Change_ClassPlanRepository.cs
+179
-2
ChangePlanController.cs
Edu.WebApi/Controllers/EduTask/ChangePlanController.cs
+56
-11
No files found.
Edu.Model/ViewModel/EduTask/RB_Change_ClassPlan_ViewModel.cs
View file @
6163ad93
...
...
@@ -10,7 +10,16 @@ namespace Edu.Model.ViewModel.EduTask
/// </summary>
public
class
RB_Change_ClassPlan_ViewModel
:
RB_Change_ClassPlan
{
/// <summary>
/// 调整原数据信息
/// </summary>
public
List
<
ChangePlanItem
>
OldChangePlanItemList
{
get
;
set
;
}
/// <summary>
/// 调整新数据信息
/// </summary>
public
List
<
ChangePlanItem
>
NewChangePlanItemList
{
get
;
set
;
}
}
public
class
ChangePlanItem
...
...
@@ -35,6 +44,11 @@ namespace Edu.Model.ViewModel.EduTask
/// </summary>
public
int
ClassRoomId
{
get
;
set
;
}
/// <summary>
///班级计划上课日期的上课时间表
/// </summary>
public
List
<
Course
.
RB_Class_Time_ViewModel
>
PlanTimeList
{
get
;
set
;
}
}
}
Edu.Repository/Course/RB_Order_GuestRepository.cs
View file @
6163ad93
...
...
@@ -298,6 +298,7 @@ WHERE 1=1 and A.Status=0 and b.OrderState<>3
{
builder
.
AppendFormat
(
$@" AND A.
{
nameof
(
RB_Order_Guest_ViewModel
.
GuestState
)}
=
{
demodel
.
GuestState
}
"
);
}
builder
.
AppendFormat
(
$@" order by A.
{
nameof
(
RB_Order_Guest_ViewModel
.
Id
)}
desc"
);
return
GetPage
<
RB_Order_Guest_ViewModel
>(
pageIndex
,
pageSize
,
out
rowsCount
,
builder
.
ToString
()).
ToList
();
}
}
...
...
Edu.Repository/EduTask/RB_Change_ClassPlanRepository.cs
View file @
6163ad93
...
...
@@ -12,6 +12,33 @@ namespace Edu.Repository.EduTask
/// </summary>
public
class
RB_Change_ClassPlanRepository
:
BaseRepository
<
RB_Change_ClassPlan
>
{
/// <summary>
/// 班级上课计划仓储层对象
/// </summary>
private
readonly
Course
.
RB_Class_PlanRepository
class_PlanRepository
=
new
Course
.
RB_Class_PlanRepository
();
/// <summary>
/// 班级上课计划上课时间仓储层对象
/// </summary>
private
readonly
Course
.
RB_Class_TimeRepository
class_TimeRepository
=
new
Course
.
RB_Class_TimeRepository
();
/// <summary>
/// 教室仓储层对象
/// </summary>
private
readonly
Course
.
RB_Class_RoomRepository
class_RoomRepository
=
new
Course
.
RB_Class_RoomRepository
();
/// <summary>
/// 教师仓储层对象
/// </summary>
private
readonly
User
.
RB_TeacherRepository
teacherRepository
=
new
User
.
RB_TeacherRepository
();
/// <summary>
/// 教务单据仓储层对象
/// </summary>
private
readonly
RB_Education_ReceiptRepository
education_ReceiptRepository
=
new
RB_Education_ReceiptRepository
();
/// <summary>
/// 课程日志记录表
/// </summary>
private
readonly
Log
.
RB_Class_LogRepository
classLogRepository
=
new
Log
.
RB_Class_LogRepository
();
/// <summary>
/// 获取调课计划列表
/// </summary>
...
...
@@ -31,5 +58,155 @@ WHERE 1=1
}
return
Get
<
RB_Change_ClassPlan_ViewModel
>(
builder
.
ToString
()).
ToList
();
}
/// <summary>
/// 审核通过后更新调课信息
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public
bool
UpdateChangeClassPlan
(
object
Id
)
{
//查询当前调课信息
bool
flag
=
false
;
var
model
=
GetEntity
(
Id
);
if
(
model
==
null
||
model
.
Id
==
0
)
{
return
false
;
}
else
{
//更新信息
string
logContent
=
""
;
StringBuilder
builder
=
new
StringBuilder
();
List
<
ChangePlanItem
>
oldChangePlanItemList
=
new
List
<
ChangePlanItem
>();
List
<
ChangePlanItem
>
newChangePlanItemList
=
new
List
<
ChangePlanItem
>();
List
<
Model
.
Entity
.
Log
.
RB_Class_Log
>
classLogList
=
new
List
<
Model
.
Entity
.
Log
.
RB_Class_Log
>();
if
(
model
.
ChangeType
==
1
)
//1.调课
{
//原数据
if
(!
string
.
IsNullOrWhiteSpace
(
model
.
SourceData
))
{
oldChangePlanItemList
=
Common
.
Plugin
.
JsonHelper
.
DeserializeObject
<
List
<
ChangePlanItem
>>(
model
.
SourceData
);
}
//目标数据
if
(!
string
.
IsNullOrWhiteSpace
(
model
.
TargetData
))
{
newChangePlanItemList
=
Common
.
Plugin
.
JsonHelper
.
DeserializeObject
<
List
<
ChangePlanItem
>>(
model
.
TargetData
);
}
foreach
(
var
item
in
oldChangePlanItemList
)
{
var
newChangePlanItemModel
=
newChangePlanItemList
.
Where
(
x
=>
x
.
ClassPlanId
==
item
.
ClassPlanId
).
FirstOrDefault
();
if
(
item
.
ClassDate
!=
newChangePlanItemModel
.
ClassDate
)
{
logContent
+=
string
.
Format
(
"日期由【{0}】修改为【{1}】."
,
Common
.
ConvertHelper
.
FormatDate
(
item
.
ClassDate
),
Common
.
ConvertHelper
.
FormatDate
(
newChangePlanItemModel
.
ClassDate
));
builder
.
AppendFormat
(
" update RB_Class_Plan ClassDate={0} where ClassPlanId ={1};"
,
newChangePlanItemModel
.
ClassDate
,
item
.
ClassPlanId
);
}
foreach
(
var
itemTime
in
newChangePlanItemModel
.
PlanTimeList
)
{
var
oldTimeModel
=
item
.
PlanTimeList
.
Where
(
x
=>
x
.
ClassTimeId
==
itemTime
.
ClassTimeId
).
FirstOrDefault
();
if
(
oldTimeModel
!=
null
&&
oldTimeModel
.
ClassTimeId
>
0
)
{
if
(
oldTimeModel
.
StartTime
!=
itemTime
.
StartTime
)
{
logContent
+=
string
.
Format
(
"{0}上课开始时间由【{1}】修改为【{2}】."
,
Common
.
ConvertHelper
.
FormatDate
(
newChangePlanItemModel
.
ClassDate
),
oldTimeModel
.
StartTime
,
itemTime
.
EndTime
);
}
if
(
oldTimeModel
.
EndTime
!=
itemTime
.
EndTime
)
{
logContent
+=
string
.
Format
(
"{0}上课结束时间由【{1}】修改为【{2}】."
,
Common
.
ConvertHelper
.
FormatDate
(
newChangePlanItemModel
.
ClassDate
),
oldTimeModel
.
EndTime
,
itemTime
.
EndTime
);
}
if
(
oldTimeModel
.
StartTime
!=
itemTime
.
StartTime
||
oldTimeModel
.
EndTime
!=
itemTime
.
EndTime
)
{
builder
.
AppendFormat
(
" update rb_class_time StartTime={0} ,EndTime={1} where ClassTimeId ={1};"
,
itemTime
.
StartTime
,
itemTime
.
EndTime
,
itemTime
.
ClassTimeId
);
}
}
}
}
}
else
if
(
model
.
ChangeType
==
2
||
model
.
ChangeType
==
3
)
//更新老师或者更新教室
{
if
(
model
.
ChangeType
==
2
)
{
builder
.
AppendFormat
(
" update RB_Class_Plan TeacherId={0} where ClassPlanId in(1)"
,
newChangePlanItemList
.
FirstOrDefault
().
TeacherId
,
string
.
Join
(
","
,
oldChangePlanItemList
.
Select
(
x
=>
x
.
TeacherId
)));
string
tIds
=
string
.
Join
(
","
,
oldChangePlanItemList
.
Select
(
x
=>
x
.
TeacherId
))
+
","
+
newChangePlanItemList
.
FirstOrDefault
().
TeacherId
;
var
teacherList
=
teacherRepository
.
GetTeacherListRepository
(
new
Model
.
ViewModel
.
User
.
RB_Teacher_ViewModel
()
{
QTIds
=
tIds
});
foreach
(
var
item
in
oldChangePlanItemList
)
{
logContent
+=
string
.
Format
(
Common
.
ConvertHelper
.
FormatDate
(
item
.
ClassDate
)
+
"的讲师由【{0}】修改为【{1}】."
,
(
teacherList
?.
Where
(
qitem
=>
qitem
.
TId
==
item
.
TeacherId
)?.
FirstOrDefault
()?.
TeacherName
??
""
),
(
teacherList
?.
Where
(
qitem
=>
qitem
.
TId
==
newChangePlanItemList
.
FirstOrDefault
().
TeacherId
)?.
FirstOrDefault
()?.
TeacherName
??
""
)
);
}
}
else
if
(
model
.
ChangeType
==
3
)
{
builder
.
AppendFormat
(
" update RB_Class_Plan ClassRoomId={0} where ClassPlanId in(1)"
,
newChangePlanItemList
.
FirstOrDefault
().
ClassRoomId
,
string
.
Join
(
","
,
oldChangePlanItemList
.
Select
(
x
=>
x
.
ClassRoomId
)));
string
roomIds
=
string
.
Join
(
","
,
oldChangePlanItemList
.
Select
(
x
=>
x
.
ClassRoomId
))
+
","
+
newChangePlanItemList
.
FirstOrDefault
().
ClassRoomId
;
var
roomList
=
class_RoomRepository
.
GetClassRoomListRepository
(
new
Edu
.
Model
.
ViewModel
.
Course
.
RB_Class_Room_ViewModel
()
{
QRoomIds
=
roomIds
});
foreach
(
var
item
in
oldChangePlanItemList
)
{
logContent
+=
string
.
Format
(
Common
.
ConvertHelper
.
FormatDate
(
item
.
ClassDate
)
+
"的教室由【{0}】修改为【{1}】."
,
(
roomList
?.
Where
(
qitem
=>
qitem
.
RoomId
==
item
.
ClassRoomId
)?.
FirstOrDefault
()?.
RoomName
??
""
),
(
roomList
?.
Where
(
qitem
=>
qitem
.
RoomId
==
newChangePlanItemList
.
FirstOrDefault
().
ClassRoomId
)?.
FirstOrDefault
()?.
RoomName
??
""
)
);
}
}
}
else
if
(
model
.
ChangeType
==
4
)
//取消课程
{
var
oldPlanList
=
class_TimeRepository
.
GetClassTimeListRepository
(
new
Edu
.
Model
.
ViewModel
.
Course
.
RB_Class_Time_ViewModel
()
{
ClassId
=
model
.
ClassId
,
QClassPlanIds
=
string
.
Join
(
","
,
oldChangePlanItemList
.
Select
(
x
=>
x
.
ClassPlanId
)),
});
List
<
int
>
deletePlanList
=
new
List
<
int
>();
List
<
int
>
deletePlanTimeList
=
new
List
<
int
>();
foreach
(
var
item
in
oldPlanList
.
GroupBy
(
x
=>
x
.
ClassPlanId
))
{
var
tempPlanTimeList
=
oldPlanList
.
Where
(
x
=>
x
.
ClassPlanId
==
item
.
Key
);
var
oldPlanTimeModel
=
oldChangePlanItemList
.
Where
(
x
=>
x
.
ClassPlanId
==
item
.
Key
).
FirstOrDefault
();
if
(
tempPlanTimeList
.
Count
()
==
oldPlanTimeModel
.
PlanTimeList
.
Count
())
{
deletePlanList
.
Add
(
item
.
Key
);
}
deletePlanTimeList
.
AddRange
(
oldPlanTimeModel
.
PlanTimeList
.
Select
(
x
=>
x
.
ClassTimeId
));
}
foreach
(
var
item
in
oldChangePlanItemList
)
{
foreach
(
var
itemTime
in
item
.
PlanTimeList
)
{
logContent
+=
string
.
Format
(
"删除{0}上课时间【{1} - {2}】."
,
Common
.
ConvertHelper
.
FormatDate
(
item
.
ClassDate
),
itemTime
.
StartTime
,
itemTime
.
EndTime
);
}
}
if
(
deletePlanList
!=
null
&&
deletePlanList
.
Any
())
{
builder
.
AppendFormat
(
" update RB_Class_Plan Status=1 where ClassPlanId in(0);"
,
string
.
Join
(
","
,
deletePlanList
.
Select
(
x
=>
x
)));
}
if
(
deletePlanTimeList
!=
null
&&
deletePlanTimeList
.
Any
())
{
builder
.
AppendFormat
(
" DELETE FROM rb_class_time where classtimeId in(0)"
,
string
.
Join
(
","
,
deletePlanTimeList
.
Select
(
x
=>
x
)));
}
}
flag
=
class_PlanRepository
.
Execute
(
builder
.
ToString
())
>
0
;
if
(!
string
.
IsNullOrEmpty
(
logContent
)
&&
flag
)
{
classLogRepository
.
AddClassLogRepository
(
new
Model
.
Entity
.
Log
.
RB_Class_Log
()
{
LogType
=
Common
.
Enum
.
Course
.
ClassLogTypeEnum
.
Class
,
LogContent
=
logContent
,
ClassId
=
model
.
ClassId
,
Group_Id
=
model
.
Group_Id
,
School_Id
=
model
.
School_Id
,
CreateBy
=
model
.
CreateBy
});
}
}
return
flag
;
}
}
}
Edu.WebApi/Controllers/EduTask/ChangePlanController.cs
View file @
6163ad93
using
Edu.Common.API
;
using
Edu.Common.Plugin
;
using
Edu.Model.ViewModel.Course
;
using
Edu.Model.ViewModel.EduTask
;
using
Edu.Module.EduTask
;
using
Edu.WebApi.Filter
;
...
...
@@ -36,18 +37,62 @@ namespace Edu.WebApi.Controllers.EduTask
{
var
model
=
new
RB_Change_ClassPlan_ViewModel
()
{
Id
=
base
.
ParmJObj
.
GetInt
(
"Id"
),
ClassId
=
base
.
ParmJObj
.
GetInt
(
"ClassId"
),
CourseId
=
base
.
ParmJObj
.
GetInt
(
"CourseId"
),
ChangeType
=
base
.
ParmJObj
.
GetInt
(
"ChangeType"
),
MoveType
=
base
.
ParmJObj
.
GetInt
(
"MoveType"
),
SourceData
=
base
.
ParmJObj
.
GetStringValue
(
"SourceData"
),
TargetData
=
base
.
ParmJObj
.
GetStringValue
(
"TargetData"
),
Id
=
base
.
ParmJObj
.
GetInt
(
"Id"
),
ClassId
=
base
.
ParmJObj
.
GetInt
(
"ClassId"
),
CourseId
=
base
.
ParmJObj
.
GetInt
(
"CourseId"
),
ChangeType
=
base
.
ParmJObj
.
GetInt
(
"ChangeType"
),
MoveType
=
base
.
ParmJObj
.
GetInt
(
"MoveType"
),
//
SourceData=base.ParmJObj.GetStringValue("SourceData"),
//
TargetData=base.ParmJObj.GetStringValue("TargetData"),
};
model
.
Group_Id
=
base
.
UserInfo
.
Group_Id
;
model
.
School_Id
=
base
.
UserInfo
.
School_Id
;
try
{
model
.
OldChangePlanItemList
=
Common
.
Plugin
.
JsonHelper
.
DeserializeObject
<
List
<
ChangePlanItem
>>(
base
.
ParmJObj
.
GetStringValue
(
"OldChangePlanItemList"
));
model
.
NewChangePlanItemList
=
Common
.
Plugin
.
JsonHelper
.
DeserializeObject
<
List
<
ChangePlanItem
>>(
base
.
ParmJObj
.
GetStringValue
(
"NewChangePlanItemList"
));
}
catch
(
Exception
ex
)
{
Common
.
Plugin
.
LogHelper
.
Write
(
ex
,
"SetChangeClassPlan"
);
}
if
(
model
.
ChangeType
==
1
)
//调课
{
if
(
model
.
OldChangePlanItemList
.
Count
()
!=
model
.
NewChangePlanItemList
.
Count
())
{
return
ApiResult
.
Failed
(
"排课原次数与现有次数不一致"
);
}
foreach
(
var
item
in
model
.
OldChangePlanItemList
)
{
if
(
item
.
PlanTimeList
.
Count
()
!=
model
.
NewChangePlanItemList
.
Where
(
x
=>
x
.
ClassDate
==
item
.
ClassDate
).
Count
())
{
return
ApiResult
.
Failed
(
item
.
ClassDate
.
ToString
(
"yyyy-MM-dd"
)
+
"号的排课原课时数与现有课时数不一致"
);
}
}
}
if
(
model
.
OldChangePlanItemList
!=
null
&&
model
.
OldChangePlanItemList
.
Any
())
{
model
.
SourceData
=
JsonHelper
.
Serialize
(
model
.
OldChangePlanItemList
);
}
else
{
model
.
SourceData
=
""
;
}
if
(
model
.
NewChangePlanItemList
!=
null
&&
model
.
NewChangePlanItemList
.
Any
())
{
model
.
TargetData
=
JsonHelper
.
Serialize
(
model
.
NewChangePlanItemList
);
}
else
{
model
.
TargetData
=
""
;
}
if
(
model
.
Id
==
0
)
{
model
.
CreateBy
=
base
.
UserInfo
.
Id
;
model
.
CreateTime
=
DateTime
.
Now
;
model
.
Group_Id
=
base
.
UserInfo
.
Group_Id
;
model
.
School_Id
=
base
.
UserInfo
.
School_Id
;
}
model
.
UpdateBy
=
base
.
UserInfo
.
Id
;
model
.
UpdateTime
=
DateTime
.
Now
;
bool
flag
=
changeClassPlanModule
.
SetChangeClassPlanModule
(
model
);
...
...
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