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
aca713f3
Commit
aca713f3
authored
3 years ago
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
页面修改
parent
9a308c62
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
87 additions
and
61 deletions
+87
-61
DutyPlanModule.cs
Edu.Module.Duty/DutyPlanModule.cs
+78
-31
DutyPlanController.cs
Edu.WebApi/Controllers/Duty/DutyPlanController.cs
+9
-30
No files found.
Edu.Module.Duty/DutyPlanModule.cs
View file @
aca713f3
...
...
@@ -126,9 +126,10 @@ namespace Edu.Module.Duty
foreach
(
var
subItem
in
item
.
PlanDetails
)
{
subItem
.
WorkContentList
=
new
List
<
RB_Duty_PlanWork_ViewModel
>();
if
(
subItem
.
Status
==
DutyStatusEnum
.
DutyFinished
)
var
tempContentList
=
dutyContentList
.
Where
(
qitem
=>
qitem
.
PlanType
==
1
&&
qitem
.
PlanId
==
item
.
Id
&&
qitem
.
PlanShift
==
subItem
.
Shift
&&
qitem
.
CreateBy
==
subItem
.
DutyMan
)?.
ToList
();
if
(
tempContentList
!=
null
&&
tempContentList
.
Count
>
0
)
{
foreach
(
var
dItem
in
dutyContentList
.
Where
(
qitem
=>
qitem
.
PlanType
==
1
&&
qitem
.
PlanId
==
item
.
Id
&&
qitem
.
PlanShift
==
subItem
.
Shift
)
)
foreach
(
var
dItem
in
tempContentList
)
{
var
dutyItem
=
dutyItemList
?.
Where
(
qitem
=>
qitem
.
Shifts
.
Contains
(
subItem
.
Shift
.
ToString
())
&&
qitem
.
Id
==
dItem
.
ItemId
&&
qitem
.
ItemSchools
.
Contains
(
item
.
School_Id
.
ToString
()))?.
FirstOrDefault
();
int
isFinish
=
0
;
...
...
@@ -159,7 +160,8 @@ namespace Edu.Module.Duty
foreach
(
var
dutyItem
in
dutyItemList
.
Where
(
qitem
=>
qitem
.
ItemSchools
.
Contains
(
item
.
School_Id
.
ToString
())
&&
qitem
.
Shifts
.
Contains
(
subItem
.
Shift
.
ToString
())))
{
int
isFinish
=
0
;
var
dItem
=
dutyContentList
.
Where
(
qitem
=>
qitem
.
PlanType
==
1
&&
qitem
.
PlanId
==
item
.
Id
&&
qitem
.
PlanShift
==
subItem
.
Shift
&&
qitem
.
ItemId
==
dutyItem
.
Id
)?.
FirstOrDefault
();
var
dItem
=
dutyContentList
.
Where
(
qitem
=>
qitem
.
PlanType
==
1
&&
qitem
.
PlanId
==
item
.
Id
&&
qitem
.
PlanShift
==
subItem
.
Shift
&&
qitem
.
ItemId
==
dutyItem
.
Id
&&
qitem
.
CreateBy
==
subItem
.
DutyMan
)?.
FirstOrDefault
();
if
(
dutyItem
.
ItemType
==
ItemTypeEnum
.
Choice
)
{
isFinish
=
dItem
?.
WorkIsFinish
??
0
;
...
...
@@ -474,31 +476,14 @@ namespace Edu.Module.Duty
}
//当前班次
var
currentModel
=
new
RB_Duty_PlanDetails_ViewModel
();
//上一个班次
var
previousModel
=
new
RB_Duty_PlanDetails_ViewModel
();
//下一个班次
var
nextModel
=
new
RB_Duty_PlanDetails_ViewModel
();
if
(
model
.
PlanDetails
!=
null
&&
model
.
PlanDetails
.
Count
>
0
)
{
//查找当前人员索引
int
currentIndex
=
CalcCurrentDutyManIndexModule_V2
(
model
);
//上一个班次索引
int
previousIndex
=
currentIndex
-
1
;
//下一个班次索引
int
nextIndex
=
currentIndex
+
1
;
//当前班次
currentModel
=
model
.
PlanDetails
[
currentIndex
];
//上一个班次
if
(
previousIndex
>=
0
)
{
previousModel
=
model
.
PlanDetails
[
previousIndex
];
}
//下一个班次
if
(
nextIndex
<
model
.
PlanDetails
.
Count
)
{
nextModel
=
model
.
PlanDetails
[
nextIndex
];
}
}
if
(!
isQueryWork
)
...
...
@@ -556,10 +541,38 @@ namespace Edu.Module.Duty
}
}
List
<
object
>
pList
=
new
List
<
object
>();
var
currentPlanContetList
=
contentList
.
Where
(
qitem
=>
qitem
.
PlanShift
==
Shift
&&
qitem
.
PlanType
==
1
)?.
ToList
();
var
currentPlanContetList
=
contentList
.
Where
(
qitem
=>
qitem
.
PlanShift
==
Shift
&&
qitem
.
PlanType
==
1
&&
qitem
.
CreateBy
==
userId
)?.
ToList
();
if
(
currentPlanContetList
==
null
||
(
currentPlanContetList
!=
null
&&
currentPlanContetList
.
Count
==
0
))
{
foreach
(
var
dayItem
in
dutyItemList
)
{
duty_ContentRepository
.
Insert
(
new
Model
.
Entity
.
Duty
.
RB_Duty_Content
()
{
CreateBy
=
userId
,
CreateTime
=
DateTime
.
Now
,
FileURL
=
""
,
Group_Id
=
model
.
Group_Id
,
Id
=
0
,
ItemId
=
dayItem
.
Id
,
OtherContent
=
""
,
OtherRemark
=
""
,
PlanId
=
model
.
Id
,
PlanShift
=
Shift
,
PlanType
=
1
,
Status
=
DateStateEnum
.
Normal
,
UpdateBy
=
userId
,
UpdateTime
=
DateTime
.
Now
,
WorkContent
=
""
,
WorkIsFinish
=
0
});
}
contentList
=
duty_ContentRepository
.
GetDutyContentListRepository
(
new
RB_Duty_Content_ViewModel
()
{
PlanId
=
model
.
Id
});
currentPlanContetList
=
contentList
.
Where
(
qitem
=>
qitem
.
PlanShift
==
Shift
&&
qitem
.
PlanType
==
1
)?.
ToList
();
}
if
(
currentModel
.
Status
==
DutyStatusEnum
.
DutyFinished
)
{
foreach
(
var
item
in
currentPlanContetList
)
foreach
(
var
item
in
currentPlanContetList
.
Where
(
qitem
=>
qitem
.
CreateBy
==
userId
)
)
{
var
c_itemModel
=
dutyItemList
?.
Where
(
qitem
=>
qitem
.
Id
==
item
.
ItemId
)?.
FirstOrDefault
();
if
(
c_itemModel
!=
null
)
...
...
@@ -595,7 +608,7 @@ namespace Edu.Module.Duty
{
foreach
(
var
item
in
PlanList
)
{
var
c_workModel
=
currentPlanContetList
?.
Where
(
qitem
=>
qitem
.
ItemId
==
item
.
Id
)?.
FirstOrDefault
();
var
c_workModel
=
currentPlanContetList
?.
Where
(
qitem
=>
qitem
.
ItemId
==
item
.
Id
&&
qitem
.
CreateBy
==
userId
)?.
FirstOrDefault
();
var
itemType
=
item
.
ItemType
;
int
workIsFinish
=
0
;
if
(
itemType
==
ItemTypeEnum
.
FillIn
)
...
...
@@ -629,7 +642,7 @@ namespace Edu.Module.Duty
{
if
(
item
.
Id
!=
currentModel
.
Id
)
{
var
tempEmergenciesList
=
contentList
?.
Where
(
qitem
=>
qitem
.
PlanType
==
3
&&
qitem
.
PlanId
==
item
.
PlanId
&&
qitem
.
PlanShift
==
item
.
Shift
)?.
ToList
()
??
new
List
<
RB_Duty_Content_ViewModel
>();
var
tempEmergenciesList
=
contentList
?.
Where
(
qitem
=>
qitem
.
PlanType
==
3
&&
qitem
.
PlanId
==
item
.
PlanId
&&
qitem
.
PlanShift
==
item
.
Shift
&&
qitem
.
CreateBy
!=
userId
)?.
ToList
()
??
new
List
<
RB_Duty_Content_ViewModel
>();
if
(
tempEmergenciesList
!=
null
&&
tempEmergenciesList
.
Count
>
0
)
{
tempEmergenciesList
.
ForEach
(
item
=>
item
.
IsOperate
=
0
);
...
...
@@ -643,7 +656,7 @@ namespace Edu.Module.Duty
}
else
{
var
tempEmergenciesList
=
contentList
?.
Where
(
qitem
=>
qitem
.
PlanType
==
3
&&
qitem
.
PlanId
==
item
.
PlanId
&&
qitem
.
PlanShift
==
item
.
Shift
)?.
ToList
()
??
new
List
<
RB_Duty_Content_ViewModel
>();
var
tempEmergenciesList
=
contentList
?.
Where
(
qitem
=>
qitem
.
PlanType
==
3
&&
qitem
.
PlanId
==
item
.
PlanId
&&
qitem
.
PlanShift
==
item
.
Shift
&&
qitem
.
CreateBy
==
userId
)?.
ToList
()
??
new
List
<
RB_Duty_Content_ViewModel
>();
if
(
tempEmergenciesList
!=
null
&&
tempEmergenciesList
.
Count
>
0
)
{
foreach
(
var
subItem
in
tempEmergenciesList
)
...
...
@@ -665,7 +678,7 @@ namespace Edu.Module.Duty
{
if
(
item
.
Status
==
DutyStatusEnum
.
DutyFinished
)
{
var
tempHandOverList
=
contentList
?.
Where
(
qitem
=>
qitem
.
PlanType
==
2
&&
qitem
.
PlanId
==
item
.
PlanId
&&
qitem
.
PlanShift
==
item
.
Shift
)?.
ToList
()
??
new
List
<
RB_Duty_Content_ViewModel
>();
var
tempHandOverList
=
contentList
?.
Where
(
qitem
=>
qitem
.
PlanType
==
2
&&
qitem
.
PlanId
==
item
.
PlanId
&&
qitem
.
PlanShift
==
item
.
Shift
&&
qitem
.
CreateBy
!=
userId
)?.
ToList
()
??
new
List
<
RB_Duty_Content_ViewModel
>();
if
(
tempHandOverList
!=
null
&&
tempHandOverList
.
Count
>
0
)
{
foreach
(
var
subItem
in
tempHandOverList
)
...
...
@@ -679,7 +692,7 @@ namespace Edu.Module.Duty
}
else
{
var
tempHandOverList
=
contentList
?.
Where
(
qitem
=>
qitem
.
PlanType
==
2
&&
qitem
.
PlanId
==
item
.
PlanId
&&
qitem
.
PlanShift
==
item
.
Shift
)?.
ToList
()
??
new
List
<
RB_Duty_Content_ViewModel
>();
var
tempHandOverList
=
contentList
?.
Where
(
qitem
=>
qitem
.
PlanType
==
2
&&
qitem
.
PlanId
==
item
.
PlanId
&&
qitem
.
PlanShift
==
item
.
Shift
&&
qitem
.
CreateBy
==
userId
)?.
ToList
()
??
new
List
<
RB_Duty_Content_ViewModel
>();
if
(
tempHandOverList
!=
null
&&
tempHandOverList
.
Count
>
0
)
{
foreach
(
var
subItem
in
tempHandOverList
)
...
...
@@ -692,8 +705,6 @@ namespace Edu.Module.Duty
}
}
result
.
Add
(
"HandoverList"
,
HandoverList
);
result
.
Add
(
"ReciveMan"
,
nextModel
?.
DutyManName
??
""
);
result
.
Add
(
"GiveMan"
,
previousModel
?.
DutyManName
??
""
);
}
return
result
;
}
...
...
@@ -719,6 +730,42 @@ namespace Edu.Module.Duty
return
currentIndex
;
}
/// <summary>
/// 计算当前值班人员索引
/// </summary>
/// <param name="planDate">值班日期</param>
/// <param name="PlanDetails">值班班次列表</param>
/// <param name="dutyManId">值班人</param>
/// <returns></returns>
public
Dictionary
<
string
,
List
<
RB_Duty_PlanDetails_ViewModel
>>
CalcCurrentDutyManIndexModule_V3
(
RB_Duty_Plan_ViewModel
model
)
{
Dictionary
<
string
,
List
<
RB_Duty_PlanDetails_ViewModel
>>
plans
=
new
Dictionary
<
string
,
List
<
RB_Duty_PlanDetails_ViewModel
>>()
{
{
"previous"
,
new
List
<
RB_Duty_PlanDetails_ViewModel
>()
},
{
"current"
,
new
List
<
RB_Duty_PlanDetails_ViewModel
>()
},
{
"next"
,
new
List
<
RB_Duty_PlanDetails_ViewModel
>()
},
};
var
shiftList
=
model
.
PlanDetails
.
GroupBy
(
qitem
=>
new
{
qitem
.
Shift
}).
Select
(
qitem
=>
new
{
Shift
=
qitem
.
Key
.
Shift
}).
ToList
();
for
(
var
i
=
0
;
i
<
shiftList
.
Count
();
i
++)
{
var
subList
=
model
.
PlanDetails
.
Where
(
qitem
=>
qitem
.
Shift
==
shiftList
[
i
].
Shift
)?.
ToList
();
if
(
subList
!=
null
&&
subList
.
Where
(
qitem
=>
qitem
.
Id
==
model
.
DetailId
).
Count
()
>
0
)
{
plans
[
"current"
]
=
subList
.
Where
(
qitem
=>
qitem
.
Id
==
model
.
DetailId
).
ToList
();
if
(
i
-
1
>=
0
)
{
plans
[
"previous"
]
=
model
.
PlanDetails
.
Where
(
qitem
=>
qitem
.
Shift
==
shiftList
[
i
-
1
].
Shift
)?.
ToList
();
}
if
(
i
+
1
<
shiftList
.
Count
())
{
plans
[
"next"
]
=
model
.
PlanDetails
.
Where
(
qitem
=>
qitem
.
Shift
==
shiftList
[
i
+
1
].
Shift
)?.
ToList
();
}
}
}
return
plans
;
}
/// <summary>
/// 获取值班详情
/// </summary>
...
...
This diff is collapsed.
Click to expand it.
Edu.WebApi/Controllers/Duty/DutyPlanController.cs
View file @
aca713f3
...
...
@@ -127,43 +127,22 @@ namespace Edu.WebApi.Controllers.Duty
//当前班次
var
currentModel
=
new
RB_Duty_PlanDetails_ViewModel
();
//上一个班次(交班)
var
previousModel
=
new
RB_Duty_PlanDetails_ViewModel
();
var
previousModel
=
new
List
<
RB_Duty_PlanDetails_ViewModel
>
();
//下一个班次(接班)
var
nextModel
=
new
RB_Duty_PlanDetails_ViewModel
();
//当前值班人员索引
int
currentIndex
=
0
;
if
(
item
.
PlanDetails
!=
null
&&
item
.
PlanDetails
.
Count
>
0
)
{
currentIndex
=
dutyPlanModule
.
CalcCurrentDutyManIndexModule_V2
(
item
);
//上一个班次索引
int
previousIndex
=
currentIndex
-
1
;
//下一个班次索引
int
nextIndex
=
currentIndex
+
1
;
//当前班次
currentModel
=
item
.
PlanDetails
[
currentIndex
];
//上一个班次
if
(
previousIndex
>=
0
)
{
previousModel
=
item
.
PlanDetails
[
previousIndex
];
}
//下一个班次
if
(
nextIndex
<
item
.
PlanDetails
.
Count
)
{
nextModel
=
item
.
PlanDetails
[
nextIndex
];
}
}
var
nextModel
=
new
List
<
RB_Duty_PlanDetails_ViewModel
>();
var
dic
=
dutyPlanModule
.
CalcCurrentDutyManIndexModule_V3
(
item
);
//当前班次
currentModel
=
dic
[
"current"
].
FirstOrDefault
();
string
jiaoBanMan
=
""
;
//交班人
string
jieBanMan
=
""
;
//接班人
if
(
nextModel
!=
null
&&
nextModel
.
Id
>
0
)
if
(
dic
[
"next"
]
!=
null
&&
dic
[
"next"
].
Count
>
0
)
{
jieBanMan
=
nextModel
?.
DutyManName
??
""
;
jieBanMan
=
string
.
Join
(
","
,
dic
[
"next"
].
Select
(
qitem
=>
qitem
.
DutyManName
))
;
}
if
(
previousModel
!=
null
&&
previousModel
.
Id
>
0
)
if
(
dic
[
"previous"
]
!=
null
&&
dic
[
"previous"
].
Count
>
0
)
{
jiaoBanMan
=
previousModel
?.
DutyManName
??
""
;
jiaoBanMan
=
string
.
Join
(
","
,
dic
[
"previous"
].
Select
(
qitem
=>
qitem
.
DutyManName
));
;
}
if
(
currentModel
.
Status
==
Common
.
Enum
.
Duty
.
DutyStatusEnum
.
NoStart
)
{
...
...
This diff is collapsed.
Click to expand it.
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