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
a64cd6ff
Commit
a64cd6ff
authored
May 08, 2021
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
也没修过
parent
a7e1c459
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
200 additions
and
271 deletions
+200
-271
DutyStatusEnum.cs
Edu.Common/Enum/Duty/DutyStatusEnum.cs
+8
-2
RB_Duty_PlanDetails_ViewModel.cs
Edu.Model/ViewModel/Duty/RB_Duty_PlanDetails_ViewModel.cs
+1
-25
DutyPlanModule.cs
Edu.Module.Duty/DutyPlanModule.cs
+178
-236
DutyPlanController.cs
Edu.WebApi/Controllers/Duty/DutyPlanController.cs
+13
-8
No files found.
Edu.Common/Enum/Duty/DutyStatusEnum.cs
View file @
a64cd6ff
...
...
@@ -20,9 +20,15 @@ namespace Edu.Common.Enum.Duty
DutyIng
=
1
,
/// <summary>
///
值班
完成
///
已
完成
/// </summary>
[
EnumField
(
"
值班
完成"
)]
[
EnumField
(
"
已
完成"
)]
DutyFinished
=
2
,
/// <summary>
/// 未值班
/// </summary>
[
EnumField
(
"未值班"
)]
NoDuty
=
3
,
}
}
Edu.Model/ViewModel/Duty/RB_Duty_PlanDetails_ViewModel.cs
View file @
a64cd6ff
...
...
@@ -58,35 +58,11 @@ namespace Edu.Model.ViewModel.Duty
{
get
{
string
str
=
"未开始"
;
if
(
this
.
Status
==
1
)
{
str
=
"已打卡"
;
}
if
(
this
.
Status
==
2
)
{
str
=
"已交接"
;
}
return
str
;
return
Common
.
Plugin
.
EnumHelper
.
ToName
(
this
.
Status
);
}
}
/// <summary>
/// 值班状态(见枚举)
/// </summary>
public
DutyStatusEnum
DutyStatus
{
get
;
set
;
}
/// <summary>
/// 值班状态字符串
/// </summary>
public
string
DutyStatusStr
{
get
{
string
str
=
Common
.
Plugin
.
EnumHelper
.
ToName
(
this
.
DutyStatus
);
return
str
;
}
}
/// <summary>
/// 突发事件总数
...
...
Edu.Module.Duty/DutyPlanModule.cs
View file @
a64cd6ff
...
...
@@ -69,7 +69,7 @@ namespace Edu.Module.Duty
if
(!
string
.
IsNullOrEmpty
(
ids
))
{
//QDutyMan=query.QDutyMan
planDetails
=
GetDutyPlanDetailsListModule
(
new
RB_Duty_PlanDetails_ViewModel
()
{
QPlanIds
=
ids
,
},
IsQueryDutyMan
:
true
);
planDetails
=
GetDutyPlanDetailsListModule
(
new
RB_Duty_PlanDetails_ViewModel
()
{
QPlanIds
=
ids
,
},
IsQueryDutyMan
:
true
);
}
foreach
(
var
item
in
list
)
{
...
...
@@ -112,13 +112,13 @@ namespace Edu.Module.Duty
string
schoolIds
=
string
.
Join
(
","
,
list
.
Select
(
qitem
=>
qitem
.
School_Id
));
string
shiftIds
=
""
;
List
<
RB_Duty_PlanDetails_ViewModel
>
planDetails
=
new
List
<
RB_Duty_PlanDetails_ViewModel
>();
List
<
RB_Duty_Item_ViewModel
>
dutyItemList
=
new
List
<
RB_Duty_Item_ViewModel
>();
List
<
RB_Duty_Content_ViewModel
>
dutyContentList
=
new
List
<
RB_Duty_Content_ViewModel
>();
if
(!
string
.
IsNullOrEmpty
(
ids
))
{
planDetails
=
GetDutyPlanDetailsListModule
(
new
RB_Duty_PlanDetails_ViewModel
()
{
QPlanIds
=
ids
},
IsQueryDutyMan
:
true
);
dutyContentList
=
duty_ContentRepository
.
GetDutyContentListRepository
(
new
RB_Duty_Content_ViewModel
()
{
QPlanIds
=
ids
});
dutyContentList
=
duty_ContentRepository
.
GetDutyContentListRepository
(
new
RB_Duty_Content_ViewModel
()
{
QPlanIds
=
ids
});
}
if
(
planDetails
!=
null
&&
planDetails
.
Count
>
0
)
{
...
...
@@ -132,7 +132,7 @@ namespace Edu.Module.Duty
Shifts
=
shiftIds
});
}
foreach
(
var
item
in
list
)
{
item
.
PlanDetails
=
planDetails
?.
Where
(
qitem
=>
qitem
.
PlanId
==
item
.
Id
)?.
ToList
()
??
new
List
<
RB_Duty_PlanDetails_ViewModel
>();
...
...
@@ -142,78 +142,67 @@ namespace Edu.Module.Duty
foreach
(
var
subItem
in
item
.
PlanDetails
)
{
subItem
.
WorkContentList
=
new
List
<
RB_Duty_PlanWork_ViewModel
>();
//if (subItem.Status == 2)
//{
// subItem.DutyStatus = DutyStatusEnum.DutyFinished;
//}
//else
//{
// subItem.DutyStatus = CalcDutyPlanStatusModule(item.Date, subItem.StartTime, subItem.EndTime);
//}
//if (subItem.DutyStatus == DutyStatusEnum.DutyFinished)
//{
// foreach (var dItem in dutyContentList.Where(qitem => qitem.PlanType==1 && qitem.PlanId == item.Id && qitem.PlanShift == subItem.Shift))
// {
// 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;
// if (dutyItem.ItemType == ItemTypeEnum.Choice)
// {
// isFinish = dItem.WorkIsFinish;
// }
// else if (dutyItem.ItemType == ItemTypeEnum.FillIn)
// {
// if (!string.IsNullOrEmpty(dItem.WorkContent))
// {
// isFinish = 1;
// }
// }
// subItem.WorkContentList.Add(new RB_Duty_PlanWork_ViewModel()
// {
// Id = dItem.Id,
// ItemId = dutyItem?.Id ?? 0,
// ItemType = dutyItem?.ItemType ?? ItemTypeEnum.Choice,
// ItemName = dutyItem?.ItemName ?? "",
// WorkContent = dItem?.WorkContent ?? "",
// IsChecked=isFinish
// });
// }
//}
//else
//{
// 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();
// if (dutyItem.ItemType == ItemTypeEnum.Choice)
// {
// isFinish = dItem?.WorkIsFinish??0;
// }
// else if (dutyItem.ItemType == ItemTypeEnum.FillIn)
// {
// if (!string.IsNullOrEmpty(dItem?.WorkContent))
// {
// isFinish = 1;
// }
// }
// subItem.WorkContentList.Add(new RB_Duty_PlanWork_ViewModel()
// {
// Id = dItem?.Id??0,
// ItemId = dutyItem?.Id ?? 0,
// ItemType = dutyItem?.ItemType ?? ItemTypeEnum.Choice,
// ItemName = dutyItem?.ItemName ?? "",
// WorkContent = dItem?.WorkContent ?? "",
// IsChecked = isFinish
// });
// }
//}
//subItem.BurstCount = dutyContentList?.Where(qitem => qitem.PlanType == 3 && qitem.PlanId == item.Id && qitem.CreateBy == subItem.DutyMan)?.Count() ?? 0;
//if (subItem.Status == 2)
//{
// subItem.HandoverCount = dutyContentList?.Where(qitem => qitem.PlanType == 2 && qitem.PlanId == item.Id && qitem.CreateBy == subItem.DutyMan)?.Count() ?? 0;
//}
if
(
subItem
.
Status
==
DutyStatusEnum
.
DutyFinished
)
{
foreach
(
var
dItem
in
dutyContentList
.
Where
(
qitem
=>
qitem
.
PlanType
==
1
&&
qitem
.
PlanId
==
item
.
Id
&&
qitem
.
PlanShift
==
subItem
.
Shift
))
{
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
;
if
(
dutyItem
.
ItemType
==
ItemTypeEnum
.
Choice
)
{
isFinish
=
dItem
.
WorkIsFinish
;
}
else
if
(
dutyItem
.
ItemType
==
ItemTypeEnum
.
FillIn
)
{
if
(!
string
.
IsNullOrEmpty
(
dItem
.
WorkContent
))
{
isFinish
=
1
;
}
}
subItem
.
WorkContentList
.
Add
(
new
RB_Duty_PlanWork_ViewModel
()
{
Id
=
dItem
.
Id
,
ItemId
=
dutyItem
?.
Id
??
0
,
ItemType
=
dutyItem
?.
ItemType
??
ItemTypeEnum
.
Choice
,
ItemName
=
dutyItem
?.
ItemName
??
""
,
WorkContent
=
dItem
?.
WorkContent
??
""
,
IsChecked
=
isFinish
});
}
}
else
{
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
();
if
(
dutyItem
.
ItemType
==
ItemTypeEnum
.
Choice
)
{
isFinish
=
dItem
?.
WorkIsFinish
??
0
;
}
else
if
(
dutyItem
.
ItemType
==
ItemTypeEnum
.
FillIn
)
{
if
(!
string
.
IsNullOrEmpty
(
dItem
?.
WorkContent
))
{
isFinish
=
1
;
}
}
subItem
.
WorkContentList
.
Add
(
new
RB_Duty_PlanWork_ViewModel
()
{
Id
=
dItem
?.
Id
??
0
,
ItemId
=
dutyItem
?.
Id
??
0
,
ItemType
=
dutyItem
?.
ItemType
??
ItemTypeEnum
.
Choice
,
ItemName
=
dutyItem
?.
ItemName
??
""
,
WorkContent
=
dItem
?.
WorkContent
??
""
,
IsChecked
=
isFinish
});
}
}
subItem
.
BurstCount
=
dutyContentList
?.
Where
(
qitem
=>
qitem
.
PlanType
==
3
&&
qitem
.
PlanId
==
item
.
Id
&&
qitem
.
CreateBy
==
subItem
.
DutyMan
)?.
Count
()
??
0
;
if
(
subItem
.
Status
==
DutyStatusEnum
.
DutyFinished
)
{
subItem
.
HandoverCount
=
dutyContentList
?.
Where
(
qitem
=>
qitem
.
PlanType
==
2
&&
qitem
.
PlanId
==
item
.
Id
&&
qitem
.
CreateBy
==
subItem
.
DutyMan
)?.
Count
()
??
0
;
}
}
}
item
.
TotalBurstCount
=
item
.
PlanDetails
.
Sum
(
qitem
=>
qitem
.
BurstCount
);
...
...
@@ -230,16 +219,17 @@ namespace Edu.Module.Duty
/// <param name="startTime"></param>
/// <param name="endTime"></param>
/// <returns></returns>
public
DutyStatusEnum
CalcDutyPlanStatusModule
(
DateTime
planDate
,
string
startTime
,
string
endTime
)
public
DutyStatusEnum
CalcDutyPlanStatusModule
(
DateTime
planDate
,
string
startTime
,
string
endTime
)
{
DutyStatusEnum
dutyStatus
=
DutyStatusEnum
.
NoStart
;
var
dutyStartTime
=
Convert
.
ToDateTime
(
Common
.
ConvertHelper
.
FormatDate
(
planDate
)
+
" "
+
startTime
);
var
dutyEndTime
=
Convert
.
ToDateTime
(
Common
.
ConvertHelper
.
FormatDate
(
planDate
)
+
" "
+
endTime
);
if
(
DateTime
.
Now
>
dutyEndTime
)
var
dt
=
DateTime
.
Now
.
AddMinutes
(-
30
);
if
(
dt
>
dutyEndTime
)
{
dutyStatus
=
Common
.
Enum
.
Duty
.
DutyStatusEnum
.
DutyFinished
;
}
else
if
(
DateTime
.
Now
>=
dutyStartTime
&&
DateTime
.
Now
<=
dutyEndTime
)
else
if
(
dt
>=
dutyStartTime
&&
DateTime
.
Now
<=
dutyEndTime
)
{
dutyStatus
=
Common
.
Enum
.
Duty
.
DutyStatusEnum
.
DutyIng
;
}
...
...
@@ -250,28 +240,6 @@ namespace Edu.Module.Duty
return
dutyStatus
;
}
/// <summary>
/// 计算当天值班是否完成
/// </summary>
/// <returns></returns>
public
DutyStatusEnum
CalcDutyStatusModule
(
List
<
RB_Duty_PlanDetails_ViewModel
>
PlanDetails
)
{
DutyStatusEnum
dutyStatus
=
DutyStatusEnum
.
NoStart
;
//if (PlanDetails.Where(qitem => qitem.DutyStatus == DutyStatusEnum.NoStart).Count() == PlanDetails.Count)
//{
// dutyStatus = DutyStatusEnum.NoStart;
//}
//else if (PlanDetails.Where(qitem => qitem.DutyStatus == DutyStatusEnum.DutyFinished).Count() == PlanDetails.Count)
//{
// dutyStatus = DutyStatusEnum.DutyFinished;
//}
//else
//{
// dutyStatus = DutyStatusEnum.DutyIng;
//}
return
dutyStatus
;
}
/// <summary>
/// 获取值班班次详情列表
/// </summary>
...
...
@@ -456,29 +424,6 @@ namespace Edu.Module.Duty
if
(
model
!=
null
&&
model
.
Id
>
0
)
{
model
.
PlanDetails
=
GetDutyPlanDetailsListModule
(
new
RB_Duty_PlanDetails_ViewModel
()
{
PlanId
=
model
.
Id
});
if
(
model
.
PlanDetails
!=
null
&&
model
.
PlanDetails
.
Count
>
0
)
{
foreach
(
var
item
in
model
.
PlanDetails
)
{
//值班状态
DutyStatusEnum
dutyStatusEnum
=
DutyStatusEnum
.
NoStart
;
var
startTime
=
Convert
.
ToDateTime
(
Common
.
ConvertHelper
.
FormatDate
(
model
?.
Date
)
+
" "
+
item
?.
StartTime
);
var
endTime
=
Convert
.
ToDateTime
(
Common
.
ConvertHelper
.
FormatDate
(
model
?.
Date
)
+
" "
+
item
?.
EndTime
);
if
(
DateTime
.
Now
<
startTime
)
{
dutyStatusEnum
=
DutyStatusEnum
.
NoStart
;
}
else
if
(
startTime
<=
DateTime
.
Now
&&
DateTime
.
Now
<=
endTime
)
{
dutyStatusEnum
=
DutyStatusEnum
.
DutyIng
;
}
else
{
dutyStatusEnum
=
DutyStatusEnum
.
DutyFinished
;
}
// item.DutyStatus = dutyStatusEnum;
}
}
}
return
model
;
}
...
...
@@ -507,7 +452,7 @@ namespace Edu.Module.Duty
messageList
.
Add
(
new
PushMessageModel
()
{
CategoryId
=
PushMessageCategoryEnum
.
UserDuty
,
Content
=
string
.
Format
(
"您在{0}的值班,已被取消!"
,
Common
.
ConvertHelper
.
FormatDate
(
dutyModel
.
Date
)),
Content
=
string
.
Format
(
"您在{0}的值班,已被取消!"
,
Common
.
ConvertHelper
.
FormatDate
(
dutyModel
.
Date
)),
CoverImg
=
""
,
CreateByName
=
userInfo
.
AccountName
,
JumpUrl
=
""
,
...
...
@@ -526,7 +471,7 @@ namespace Edu.Module.Duty
}
return
flag
;
}
/// <summary>
/// 用户值班
/// </summary>
...
...
@@ -535,7 +480,7 @@ namespace Edu.Module.Duty
/// <param name="user">用户信息</param>
/// <param name="isQueryWork">是否查询工作内容-TRUE(查询)</param>
/// <returns></returns>
public
Dictionary
<
string
,
object
>
OnDutyModule
(
int
Id
,
int
Shift
,
UserInfo
user
,
bool
isQueryWork
=
false
)
public
Dictionary
<
string
,
object
>
OnDutyModule
(
int
Id
,
int
Shift
,
UserInfo
user
,
bool
isQueryWork
=
false
)
{
Dictionary
<
string
,
object
>
result
=
new
Dictionary
<
string
,
object
>();
var
model
=
GetMyDutyPlanPageModule
(
1
,
1
,
out
_
,
new
RB_Duty_Plan_ViewModel
()
{
Id
=
Id
,
QDutyMan
=
user
.
Id
.
ToString
(),
QShift
=
Shift
})?.
FirstOrDefault
();
...
...
@@ -571,14 +516,16 @@ namespace Edu.Module.Duty
nextModel
=
model
.
PlanDetails
[
nextIndex
];
}
}
if
(!
isQueryWork
)
{
result
.
Add
(
"Id"
,
model
?.
Id
);
result
.
Add
(
"PlanDate"
,
Common
.
ConvertHelper
.
FormatDate
(
model
?.
Date
));
result
.
Add
(
"WeekDay"
,
Common
.
ConvertHelper
.
GetWeekDay
(
model
?.
Date
));
result
.
Add
(
"CheckTime"
,
Common
.
ConvertHelper
.
FormatTime
(
currentModel
?.
CheckTime
));
result
.
Add
(
"FinishTime"
,
Common
.
ConvertHelper
.
FormatTime
(
currentModel
?.
FinishTime
));
result
.
Add
(
"CheckTime"
,
currentModel
?.
CheckTimeStr
);
result
.
Add
(
"FinishTime"
,
currentModel
?.
FinishTimeStr
);
result
.
Add
(
"CheckLateTime"
,
currentModel
?.
CheckLateTime
);
result
.
Add
(
"FinishLateTime"
,
currentModel
?.
FinishLateTime
);
result
.
Add
(
"SchoolName"
,
model
?.
SchoolName
);
result
.
Add
(
"ShiftName"
,
currentModel
?.
ShiftName
);
result
.
Add
(
"StartTime"
,
currentModel
?.
StartTime
);
...
...
@@ -590,7 +537,7 @@ namespace Edu.Module.Duty
}
else
{
var
dutyItemList
=
duty_ItemRepository
.
GetDutyItemListRepository
(
new
RB_Duty_Item_ViewModel
()
var
dutyItemList
=
duty_ItemRepository
.
GetDutyItemListRepository
(
new
RB_Duty_Item_ViewModel
()
{
ItemSchools
=
model
.
School_Id
.
ToString
(),
Shifts
=
currentModel
.
Shift
.
ToString
(),
...
...
@@ -623,70 +570,70 @@ namespace Edu.Module.Duty
}
List
<
object
>
pList
=
new
List
<
object
>();
var
currentPlanContetList
=
contentList
.
Where
(
qitem
=>
qitem
.
PlanShift
==
Shift
&&
qitem
.
PlanType
==
1
)?.
ToList
();
//if (currentModel.Duty
Status == DutyStatusEnum.DutyFinished)
//
{
//
foreach (var item in currentPlanContetList)
//
{
//
var c_itemModel = dutyItemList?.Where(qitem => qitem.Id == item.ItemId)?.FirstOrDefault();
//
if (c_itemModel != null)
//
{
//
var itemType = c_itemModel.ItemType;
//
int workIsFinish = 0;
// if (itemType == ItemTypeEnum.FillIn
)
//
{
//
if (!string.IsNullOrEmpty(item?.WorkContent))
//
{
//
workIsFinish = 1;
//
}
//
}
//
else
//
{
//
workIsFinish = item?.WorkIsFinish ?? 0;
//
}
//
var pObj = new
//
{
//
Id = item?.Id ?? 0,
// ItemId =
item.ItemId,
//
ItemName = c_itemModel?.ItemName ?? "",
//
ItemType = c_itemModel?.ItemType ?? ItemTypeEnum.FillIn,
//
IsChecked = workIsFinish,
//
WorkContent = item?.WorkContent ?? "",
//
};
//
pList.Add(pObj);
//
}
//
}
//
}
//
else
//
{
//
foreach (var item in PlanList)
//
{
//
var c_workModel = currentPlanContetList?.Where(qitem => qitem.ItemId == item.Id)?.FirstOrDefault();
//
var itemType = item.ItemType;
//
int workIsFinish = 0;
//
if (itemType == ItemTypeEnum.FillIn)
//
{
//
if (!string.IsNullOrEmpty(c_workModel?.WorkContent))
//
{
//
workIsFinish = 1;
//
}
//
}
//
else
//
{
//
workIsFinish = c_workModel?.WorkIsFinish ?? 0;
//
}
//
var pObj = new
//
{
//
Id = c_workModel?.Id ?? 0,
//
ItemId = item.Id,
//
item.ItemName,
//
item.ItemType,
//
IsChecked = workIsFinish,
//
WorkContent = c_workModel?.WorkContent ?? "",
//
};
//
pList.Add(pObj);
//
}
//
}
if
(
currentModel
.
Status
==
DutyStatusEnum
.
DutyFinished
)
{
foreach
(
var
item
in
currentPlanContetList
)
{
var
c_itemModel
=
dutyItemList
?.
Where
(
qitem
=>
qitem
.
Id
==
item
.
ItemId
)?.
FirstOrDefault
();
if
(
c_itemModel
!=
null
)
{
var
itemType
=
c_itemModel
.
ItemType
;
int
workIsFinish
=
0
;
if
(
itemType
==
ItemTypeEnum
.
FillIn
)
{
if
(!
string
.
IsNullOrEmpty
(
item
?.
WorkContent
))
{
workIsFinish
=
1
;
}
}
else
{
workIsFinish
=
item
?.
WorkIsFinish
??
0
;
}
var
pObj
=
new
{
Id
=
item
?.
Id
??
0
,
item
.
ItemId
,
ItemName
=
c_itemModel
?.
ItemName
??
""
,
ItemType
=
c_itemModel
?.
ItemType
??
ItemTypeEnum
.
FillIn
,
IsChecked
=
workIsFinish
,
WorkContent
=
item
?.
WorkContent
??
""
,
};
pList
.
Add
(
pObj
);
}
}
}
else
{
foreach
(
var
item
in
PlanList
)
{
var
c_workModel
=
currentPlanContetList
?.
Where
(
qitem
=>
qitem
.
ItemId
==
item
.
Id
)?.
FirstOrDefault
();
var
itemType
=
item
.
ItemType
;
int
workIsFinish
=
0
;
if
(
itemType
==
ItemTypeEnum
.
FillIn
)
{
if
(!
string
.
IsNullOrEmpty
(
c_workModel
?.
WorkContent
))
{
workIsFinish
=
1
;
}
}
else
{
workIsFinish
=
c_workModel
?.
WorkIsFinish
??
0
;
}
var
pObj
=
new
{
Id
=
c_workModel
?.
Id
??
0
,
ItemId
=
item
.
Id
,
item
.
ItemName
,
item
.
ItemType
,
IsChecked
=
workIsFinish
,
WorkContent
=
c_workModel
?.
WorkContent
??
""
,
};
pList
.
Add
(
pObj
);
}
}
result
.
Add
(
"WorkList"
,
pList
);
//突发事项列表
...
...
@@ -727,44 +674,40 @@ namespace Edu.Module.Duty
List
<
object
>
HandoverList
=
new
List
<
object
>();
foreach
(
var
item
in
model
.
PlanDetails
)
{
//if (
item.Id != currentModel.Id)
//
{
// if (item.Status == 2
)
//
{
//
var tempHandOverList = contentList?.Where(qitem => qitem.PlanType == 2 && qitem.PlanId == item.PlanId && qitem.PlanShift == item.Shift)?.ToList() ?? new List<RB_Duty_Content_ViewModel>();
//
if (tempHandOverList != null && tempHandOverList.Count > 0)
//
{
//
foreach (var subItem in tempHandOverList)
//
{
//
subItem.IsOperate = 0;
//
subItem.CreateByName = empList?.Where(qitem => qitem.Id == subItem.CreateBy)?.FirstOrDefault()?.EmployeeName ?? "";
//
}
//
HandoverList.AddRange(tempHandOverList);
//
}
//
}
//
}
//
else
//
{
//
var tempHandOverList = contentList?.Where(qitem => qitem.PlanType == 2 && qitem.PlanId == item.PlanId && qitem.PlanShift == item.Shift)?.ToList() ?? new List<RB_Duty_Content_ViewModel>();
//
if (tempHandOverList != null && tempHandOverList.Count > 0)
//
{
//
foreach (var subItem in tempHandOverList)
//
{
//
subItem.IsOperate = 1;
//
subItem.CreateByName = empList?.Where(qitem => qitem.Id == subItem.CreateBy)?.FirstOrDefault()?.EmployeeName ?? "";
//
}
//
HandoverList.AddRange(tempHandOverList);
//
}
//
}
if
(
item
.
Id
!=
currentModel
.
Id
)
{
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
>();
if
(
tempHandOverList
!=
null
&&
tempHandOverList
.
Count
>
0
)
{
foreach
(
var
subItem
in
tempHandOverList
)
{
subItem
.
IsOperate
=
0
;
subItem
.
CreateByName
=
empList
?.
Where
(
qitem
=>
qitem
.
Id
==
subItem
.
CreateBy
)?.
FirstOrDefault
()?.
EmployeeName
??
""
;
}
HandoverList
.
AddRange
(
tempHandOverList
);
}
}
}
else
{
var
tempHandOverList
=
contentList
?.
Where
(
qitem
=>
qitem
.
PlanType
==
2
&&
qitem
.
PlanId
==
item
.
PlanId
&&
qitem
.
PlanShift
==
item
.
Shift
)?.
ToList
()
??
new
List
<
RB_Duty_Content_ViewModel
>();
if
(
tempHandOverList
!=
null
&&
tempHandOverList
.
Count
>
0
)
{
foreach
(
var
subItem
in
tempHandOverList
)
{
subItem
.
IsOperate
=
1
;
subItem
.
CreateByName
=
empList
?.
Where
(
qitem
=>
qitem
.
Id
==
subItem
.
CreateBy
)?.
FirstOrDefault
()?.
EmployeeName
??
""
;
}
HandoverList
.
AddRange
(
tempHandOverList
);
}
}
}
result
.
Add
(
"HandoverList"
,
HandoverList
);
result
.
Add
(
"ReciveMan"
,
nextModel
?.
DutyManName
??
""
);
result
.
Add
(
"GiveMan"
,
previousModel
?.
DutyManName
??
""
);
}
//result.Add("DutyStatus", currentModel?.DutyStatus);
//result.Add("DutyStatusStr", (currentModel?.Status==2?Common.Plugin.EnumHelper.ToName(DutyStatusEnum.DutyFinished):currentModel?.DutyStatusStr));
return
result
;
}
...
...
@@ -781,7 +724,7 @@ namespace Edu.Module.Duty
int
currentIndex
=
0
;
for
(
var
i
=
0
;
i
<
model
.
PlanDetails
.
Count
;
i
++)
{
if
(
model
.
DetailId
==
model
.
PlanDetails
[
i
].
Id
)
if
(
model
.
DetailId
==
model
.
PlanDetails
[
i
].
Id
)
{
currentIndex
=
i
;
}
...
...
@@ -858,7 +801,7 @@ namespace Edu.Module.Duty
/// <param name="Id"></param>
/// <param name="Shift"></param>
/// <param name="DutyMan"></param>
/// <param name="Status">Status(1-值班
打卡,2-交接打卡
)</param>
/// <param name="Status">Status(1-值班
中,2-已完成
)</param>
/// <returns></returns>
public
bool
DutyCheckModule
(
int
Id
,
int
Shift
,
int
DutyMan
,
int
Status
)
{
...
...
@@ -867,13 +810,13 @@ namespace Edu.Module.Duty
{
nameof
(
RB_Duty_PlanDetails_ViewModel
.
Status
),
Status
},
};
DateTime
dt
=
DateTime
.
Now
;
var
planModel
=
GetDutyPlanDetailsListModule
(
new
RB_Duty_PlanDetails_ViewModel
()
{
PlanId
=
Id
,
Shift
=
Shift
,
QDutyMan
=
DutyMan
.
ToString
()
})?.
FirstOrDefault
();
var
startTime
=
Convert
.
ToDateTime
(
Common
.
ConvertHelper
.
FormatDate
(
dt
)
+
" "
+
planModel
?.
StartTime
);
var
endTime
=
Convert
.
ToDateTime
(
Common
.
ConvertHelper
.
FormatDate
(
dt
)
+
" "
+
planModel
?.
EndTime
);
var
planModel
=
GetDutyPlanDetailsListModule
(
new
RB_Duty_PlanDetails_ViewModel
()
{
PlanId
=
Id
,
Shift
=
Shift
,
QDutyMan
=
DutyMan
.
ToString
()
})?.
FirstOrDefault
();
var
startTime
=
Convert
.
ToDateTime
(
Common
.
ConvertHelper
.
FormatDate
(
dt
)
+
" "
+
planModel
?.
StartTime
);
var
endTime
=
Convert
.
ToDateTime
(
Common
.
ConvertHelper
.
FormatDate
(
dt
)
+
" "
+
planModel
?.
EndTime
);
if
(
Status
==
1
)
{
fileds
.
Add
(
nameof
(
RB_Duty_PlanDetails_ViewModel
.
CheckTime
),
dt
);
int
minute
=
Common
.
ConvertHelper
.
CalcMinutes
(
startTime
,
dt
);
int
minute
=
Common
.
ConvertHelper
.
CalcMinutes
(
startTime
,
dt
);
if
(
minute
>
0
)
{
fileds
.
Add
(
nameof
(
RB_Duty_PlanDetails_ViewModel
.
CheckLateTime
),
minute
);
...
...
@@ -886,7 +829,7 @@ namespace Edu.Module.Duty
if
(
Status
==
2
)
{
fileds
.
Add
(
nameof
(
RB_Duty_PlanDetails_ViewModel
.
FinishTime
),
dt
);
int
minute
=
Common
.
ConvertHelper
.
CalcMinutes
(
dt
,
endTime
);
int
minute
=
Common
.
ConvertHelper
.
CalcMinutes
(
dt
,
endTime
);
if
(
minute
>
0
)
{
fileds
.
Add
(
nameof
(
RB_Duty_PlanDetails_ViewModel
.
FinishLateTime
),
minute
);
...
...
@@ -926,7 +869,6 @@ namespace Edu.Module.Duty
model
.
ItemId
=
0
;
model
.
WorkIsFinish
=
0
;
}
if
(
model
.
Id
>
0
)
{
Dictionary
<
string
,
object
>
fileds
=
new
Dictionary
<
string
,
object
>()
...
...
Edu.WebApi/Controllers/Duty/DutyPlanController.cs
View file @
a64cd6ff
...
...
@@ -63,8 +63,7 @@ namespace Edu.WebApi.Controllers.Duty
PlanDate
=
Common
.
ConvertHelper
.
FormatDate
(
item
.
Date
),
item
.
SchoolName
,
item
.
School_Id
,
item
.
DutyStatus
,
item
.
DutyStatusStr
,
PlanDetails
=
item
?.
PlanDetails
?.
Select
(
qitem
=>
new
{
qitem
.
Id
,
...
...
@@ -75,8 +74,7 @@ namespace Edu.WebApi.Controllers.Duty
qitem
.
EndTime
,
qitem
.
Shift
,
qitem
.
ShiftName
,
qitem
.
DutyStatus
,
qitem
.
DutyStatusStr
,
qitem
.
Status
,
qitem
.
CheckTimeStr
,
qitem
.
FinishTimeStr
,
...
...
@@ -144,6 +142,7 @@ namespace Edu.WebApi.Controllers.Duty
nextModel
=
item
.
PlanDetails
[
nextIndex
];
}
}
string
jiaoBanMan
=
""
;
//交班人
string
jieBanMan
=
""
;
//接班人
if
(
nextModel
!=
null
&&
nextModel
.
Id
>
0
)
...
...
@@ -155,6 +154,10 @@ namespace Edu.WebApi.Controllers.Duty
{
jiaoBanMan
=
previousModel
?.
DutyManName
??
""
;
}
if
(
currentModel
.
Status
==
Common
.
Enum
.
Duty
.
DutyStatusEnum
.
NoStart
)
{
currentModel
.
Status
=
dutyPlanModule
.
CalcDutyPlanStatusModule
(
item
.
Date
,
currentModel
.
StartTime
,
currentModel
.
EndTime
);
}
result
.
Add
(
new
{
item
.
Id
,
...
...
@@ -165,17 +168,19 @@ namespace Edu.WebApi.Controllers.Duty
currentModel
.
StartTime
,
currentModel
.
EndTime
,
PlanList
=
currentModel
?.
WorkContentList
??
new
List
<
RB_Duty_PlanWork_ViewModel
>(),
currentModel
.
CheckLateTime
,
currentModel
.
FinishLateTime
,
currentModel
.
BurstCount
,
currentModel
.
HandoverCount
,
ReciveMan
=
jieBanMan
,
GiveMan
=
jiaoBanMan
,
item
.
CreateByName
,
currentModel
.
Duty
Status
,
currentModel
.
Duty
StatusStr
,
currentModel
.
Status
,
currentModel
.
StatusStr
,
item
.
TotalBurstCount
,
item
.
TotalHandoverCount
,
currentModel
.
CheckTimeStr
,
currentModel
.
CheckLateTime
,
currentModel
.
FinishTimeStr
,
currentModel
.
FinishLateTime
,
});
}
pageModel
.
Count
=
rowsCount
;
...
...
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