Commit 570b0386 authored by 黄奎's avatar 黄奎

页面修改

parent 4c782843
......@@ -32,8 +32,18 @@ namespace Edu.Model.Entity.Duty
public int DutyMan { get; set; }
/// <summary>
/// 状态
/// 状态(1-打卡,2-交接)
/// </summary>
public DateStateEnum Status { get; set; }
public int Status { get; set; }
/// <summary>
/// 打卡时间
/// </summary>
public DateTime CheckTime { get; set; }
/// <summary>
/// 交接时间
/// </summary>
public DateTime FinishTime { get; set; }
}
}
......@@ -35,9 +35,35 @@ namespace Edu.Model.ViewModel.Duty
/// </summary>
public string DutyManName { get; set; }
/// <summary>
/// 值班人员头像
/// </summary>
public string DutyManIcon { get; set; }
/// <summary>
/// 工作清单列表
/// </summary>
public List<RB_Duty_Item_ViewModel> DutyItemList { get; set; }
/// <summary>
/// 状态字符串
/// </summary>
public string StatusStr
{
get
{
string str = "未开始";
if (this.Status == 1)
{
str = "已打卡";
}
if (this.Status == 2)
{
str = "已交接";
}
return str;
}
}
}
}
......@@ -34,5 +34,10 @@ namespace Edu.Model.ViewModel.Duty
/// 值班人员
/// </summary>
public int QDutyMan { get; set; }
/// <summary>
/// 班次
/// </summary>
public int QShift { get; set; }
}
}
using Edu.Common.Enum;
using Edu.Model.CacheModel;
using Edu.Model.ViewModel.Duty;
using Edu.Model.ViewModel.User;
using Edu.Repository.Duty;
......@@ -37,6 +38,11 @@ namespace Edu.Module.Duty
/// </summary>
private readonly RB_Duty_ItemRepository duty_ItemRepository = new RB_Duty_ItemRepository();
/// <summary>
/// 值班内容仓储层对象
/// </summary>
private readonly RB_Duty_ContentRepository duty_ContentRepository = new RB_Duty_ContentRepository();
/// <summary>
/// 获取值班计划分页列表【管理端】
/// </summary>
......@@ -133,7 +139,9 @@ namespace Edu.Module.Duty
}
foreach (var item in list)
{
item.DutyManName = empList?.Where(qitem => qitem.Id == item.DutyMan)?.FirstOrDefault()?.EmployeeName ?? "";
var empModel = empList?.Where(qitem => qitem.Id == item.DutyMan)?.FirstOrDefault();
item.DutyManName = empModel?.EmployeeName ?? "";
item.DutyManIcon = empModel?.UserIcon ?? "";
}
}
return list;
......@@ -244,5 +252,123 @@ namespace Edu.Module.Duty
var flag = duty_PlanRepository.Update(fileds, new WhereHelper(nameof(RB_Duty_Plan_ViewModel.Id), Id));
return flag;
}
/// <summary>
/// 用户值班
/// </summary>
/// <param name="Id"></param>
/// <param name="user"></param>
/// <returns></returns>
public object OnDutyModule(int Id,int Shift, UserInfo user)
{
object result = new object();
var model = GetMyDutyPlanPageModule(1, 1, out _, new RB_Duty_Plan_ViewModel() { Id = Id, QDutyMan = user.Id, QShift = Shift })?.FirstOrDefault();
if (model == null)
{
return result;
}
//获取所有的值班内容
var contentList = duty_ContentRepository.GetDutyContentListRepository(new RB_Duty_Content_ViewModel() { PlanId = model.Id });
//当前班次
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 = model.PlanDetails.FindIndex(qitem => qitem.DutyMan == user.Id);
//上一个班次索引
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];
}
}
int DutyStatus = 0;
string DutyStatusStr = "未开始";
var startTime = Convert.ToDateTime(Common.ConvertHelper.FormatDate(model?.Date) + " " + currentModel?.StartTime);
var endTime = Convert.ToDateTime(Common.ConvertHelper.FormatDate(model?.Date) + " " + currentModel?.EndTime);
if (DateTime.Now < startTime)
{
DutyStatus = 0;
DutyStatusStr = "未开始";
}
else if (startTime <= DateTime.Now && DateTime.Now <= endTime)
{
DutyStatus = 1;
DutyStatusStr = "值班中";
}
else
{
DutyStatus = 2;
DutyStatusStr = "值班结束";
}
var PlanList = currentModel?.DutyItemList ?? new List<RB_Duty_Item_ViewModel>();
result = new
{
model?.Id,
PlanDate= Common.ConvertHelper.FormatDate(model?.Date),
WeekDay=Common.ConvertHelper.GetWeekDay(model?.Date),
model?.SchoolName,
currentModel?.ShiftName,
currentModel?.StartTime,
currentModel?.EndTime,
currentModel?.DutyManName,
currentModel?.DutyManIcon,
currentModel?.Status,
currentModel?.StatusStr,
WorkList= PlanList,
ReciveMan = nextModel?.DutyManName ?? "",
GiveMan = previousModel?.DutyManName ?? "",
DutyStatus,
DutyStatusStr,
};
return result;
}
/// <summary>
/// 值班打卡/值班交接
/// </summary>
/// <param name="Id"></param>
/// <param name="Shift"></param>
/// <param name="DutyMan"></param>
/// <param name="Status">Status(1-值班打卡,2-交接打卡)</param>
/// <returns></returns>
public bool DutyCheckModule(int Id, int Shift, int DutyMan, int Status)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{ nameof(RB_Duty_PlanDetails_ViewModel.Status),Status},
};
if (Status == 1)
{
fileds.Add(nameof(RB_Duty_PlanDetails_ViewModel.CheckTime), DateTime.Now);
}
if (Status == 2)
{
fileds.Add(nameof(RB_Duty_PlanDetails_ViewModel.FinishTime), DateTime.Now);
}
List<WhereHelper> list = new List<WhereHelper>()
{
new WhereHelper(nameof(RB_Duty_PlanDetails_ViewModel.PlanId), Id),
new WhereHelper(nameof(RB_Duty_PlanDetails_ViewModel.DutyMan), DutyMan),
new WhereHelper(nameof(RB_Duty_PlanDetails_ViewModel.Shift), Shift)
};
var flag = duty_PlanDetailsRepository.Update(fileds, list);
return flag;
}
}
}
......@@ -39,6 +39,10 @@ WHERE 1=1
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Duty_Content_ViewModel.PlanId), query.PlanId);
}
if (query.PlanShift > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Duty_Content_ViewModel.PlanShift), query.PlanShift);
}
}
return Get<RB_Duty_Content_ViewModel>(builder.ToString()).ToList();
}
......
......@@ -82,6 +82,10 @@ WHERE 1=1 AND A.`Status`=0 AND B.`Status`=0
{
builder.AppendFormat(@" AND B.{0}={1} ", nameof(RB_Duty_PlanDetails_ViewModel.DutyMan), query.QDutyMan);
}
if (query.Id > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Duty_Plan_ViewModel.Id), query.Id);
}
}
builder.AppendFormat(" GROUP BY A.Id,A.Date,C.SName,A.CreateBy,A.School_Id ");
builder.AppendFormat(" ORDER BY A.Date ASC ");
......
......@@ -34,7 +34,7 @@ WHERE 1=1
{
builder.AppendFormat(" AND t.{0}={1} ", nameof(RB_Student_ViewModel.Group_Id), query.Group_Id);
}
if (query.School_Id > 0)
if (query.School_Id > -1)
{
builder.AppendFormat(" AND t.{0}={1} ", nameof(RB_Student_ViewModel.School_Id), query.School_Id);
}
......@@ -60,13 +60,14 @@ WHERE 1=1
{
builder.AppendFormat(" AND t.{0}={1} ", nameof(RB_Student_ViewModel.AreaId), query.AreaId);
}
if (query.StuStatus > 0)
{
builder.AppendFormat(" AND t.{0}={1} ", nameof(RB_Student_ViewModel.StuStatus), query.StuStatus);
}
else {
builder.AppendFormat(" AND t.{0} in({1}) ", nameof(RB_Student_ViewModel.StuStatus), "1,2");
}
//if (query.StuStatus > 0)
//{
// builder.AppendFormat(" AND t.{0}={1} ", nameof(RB_Student_ViewModel.StuStatus), query.StuStatus);
//}
//else
//{
// builder.AppendFormat(" AND t.{0} in({1}) ", nameof(RB_Student_ViewModel.StuStatus), "1,2");
//}
}
return Get<RB_Student_ViewModel>(builder.ToString(),parameters).ToList();
}
......
......@@ -769,8 +769,8 @@ namespace Edu.WebApi.Controllers.Course
#region 获取学员信息
public ApiResult GetStudentList()
{
var schoolId = base.ParmJObj.GetInt("SchoolId");
var data = classModule.GetStudentListRepository(new Model.ViewModel.User.RB_Student_ViewModel { School_Id = schoolId, Group_Id = base.UserInfo.Group_Id });
var schoolId = base.ParmJObj.GetInt("SchoolId",-1);
var data = classModule.GetStudentListRepository(new Model.ViewModel.User.RB_Student_ViewModel { School_Id = schoolId, Group_Id = base.UserInfo.Group_Id, StuStatus = 0 });
return ApiResult.Success(data: data);
}
#endregion
......
......@@ -101,7 +101,7 @@ namespace Edu.WebApi.Controllers.Duty
//上一个班次
var previousModel = new RB_Duty_PlanDetails_ViewModel();
//下一个班次
var nextModel=new RB_Duty_PlanDetails_ViewModel();
var nextModel = new RB_Duty_PlanDetails_ViewModel();
if (item.PlanDetails != null && item.PlanDetails.Count > 0)
{
//当前值班人员索引
......@@ -114,14 +114,14 @@ namespace Edu.WebApi.Controllers.Duty
//当前班次
currentModel = item.PlanDetails[currentIndex];
//上一个班次
if(previousIndex >= 0)
if (previousIndex >= 0)
{
previousModel = item.PlanDetails[previousIndex];
}
//下一个班次
if (nextIndex < item.PlanDetails.Count)
{
nextModel= item.PlanDetails[nextIndex];
nextModel = item.PlanDetails[nextIndex];
}
}
result.Add(new
......@@ -129,12 +129,13 @@ namespace Edu.WebApi.Controllers.Duty
item.Id,
PlanDate = Common.ConvertHelper.FormatDate(item.Date),
item.SchoolName,
currentModel.Shift,
currentModel.ShiftName,
currentModel.StartTime,
currentModel.EndTime,
PlanList= currentModel?.DutyItemList??new List<RB_Duty_Item_ViewModel>(),
ReciveMan=nextModel?.DutyManName??"",
GiveMan=previousModel?.DutyManName??"",
PlanList = currentModel?.DutyItemList ?? new List<RB_Duty_Item_ViewModel>(),
ReciveMan = nextModel?.DutyManName ?? "",
GiveMan = previousModel?.DutyManName ?? "",
item.CreateByName,
});
}
......@@ -152,8 +153,8 @@ namespace Edu.WebApi.Controllers.Duty
{
var model = new RB_Duty_Plan_ViewModel()
{
Id=base.ParmJObj.GetInt("Id"),
Date=base.ParmJObj.GetDateTime("Date"),
Id = base.ParmJObj.GetInt("Id"),
Date = base.ParmJObj.GetDateTime("Date"),
School_Id = base.ParmJObj.GetInt("School_Id")
};
try
......@@ -185,5 +186,44 @@ namespace Edu.WebApi.Controllers.Duty
var model = dutyPlanModule.GetDutyPlanModule(Id);
return ApiResult.Success(data: model);
}
/// <summary>
/// 删除排班计划
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult RemoveDutyPlan()
{
var Id = base.ParmJObj.GetInt("Id");
var model = dutyPlanModule.RemoveDutyPlanModule(Id);
return ApiResult.Success(data: model);
}
/// <summary>
/// 用户值班
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult OnDuty()
{
var Id = base.ParmJObj.GetInt("Id");
var Shift = base.ParmJObj.GetInt("Shift");
var obj = dutyPlanModule.OnDutyModule(Id, Shift, base.UserInfo);
return ApiResult.Success(data: obj);
}
/// <summary>
/// 值班打卡/值班交接
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult DutyCheck()
{
var Id = base.ParmJObj.GetInt("Id");
var Shift = base.ParmJObj.GetInt("Shift");
var Status = base.ParmJObj.GetInt("Status");
var flag = dutyPlanModule.DutyCheckModule(Id, Shift, base.UserInfo.Id, Status);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment