Commit cfe1f516 authored by 黄奎's avatar 黄奎

页面修改

parent 7e69f43c
......@@ -45,6 +45,7 @@ namespace Edu.Common.Enum.Course
/// </summary>
[EnumField("未开班")]
NonOpenClass =1,
/// <学习中>
/// 开课中
/// </summary>
......
......@@ -90,5 +90,10 @@ namespace Edu.Model.Entity.Duty
/// 更新时间
/// </summary>
public DateTime UpdateTime { get; set; }
/// <summary>
/// 事项类型(1-选择,2-手动填写)
/// </summary>
public int ItemType { get; set; }
}
}
......@@ -56,5 +56,16 @@ namespace Edu.Model.Entity.Duty
/// 早退分钟数
/// </summary>
public int FinishLateTime { get; set; }
/// <summary>
/// 班次上班打卡设置时间
/// </summary>
public string StartTime { get; set; }
/// <summary>
/// 班次下班打卡设置时间
/// </summary>
public string EndTime { get; set; }
}
}
......@@ -18,7 +18,6 @@ namespace Edu.Model.ViewModel.Course
/// </summary>
public List<RB_Class_Time_ViewModel> PlanTimeList { get; set; }
/// <summary>
///班级学员
/// </summary>
......@@ -103,5 +102,15 @@ namespace Edu.Model.ViewModel.Course
/// 每一节课分钟数
/// </summary>
public int ClassMinutes { get; set; }
/// <summary>
/// 完成情况
/// </summary>
public decimal CompleteProgress { get; set; }
/// <summary>
/// 上课计划时间id
/// </summary>
public int ClassTimeId { get; set; }
}
}
......@@ -21,16 +21,6 @@ namespace Edu.Model.ViewModel.Duty
/// </summary>
public string ShiftName { get; set; }
/// <summary>
/// 值班开始时间
/// </summary>
public string StartTime { get; set; }
/// <summary>
/// 值班结束时间
/// </summary>
public string EndTime { get; set; }
/// <summary>
/// 值班人员
/// </summary>
......
This diff is collapsed.
......@@ -51,6 +51,11 @@ namespace Edu.Module.Duty
/// </summary>
private readonly RB_VisitorRepository visitorRepository = new RB_VisitorRepository();
/// <summary>
/// 班次仓储层对象
/// </summary>
private readonly RB_Duty_FrequencyRepository duty_FrequencyRepository = new RB_Duty_FrequencyRepository();
/// <summary>
/// 获取值班计划分页列表【管理端】
/// </summary>
......@@ -580,7 +585,8 @@ namespace Edu.Module.Duty
UpdateBy = userId,
UpdateTime = DateTime.Now,
WorkContent = "",
WorkIsFinish = 0
WorkIsFinish = 0,
ItemType = (int)dayItem.ItemType
});
}
contentList = duty_ContentRepository.GetDutyContentListRepository(new RB_Duty_Content_ViewModel() { PlanId = model.Id });
......@@ -607,6 +613,11 @@ namespace Edu.Module.Duty
{
workIsFinish = item?.WorkIsFinish ?? 0;
}
List<string> ItemImgList = new List<string>();
if (!string.IsNullOrEmpty(c_itemModel.ItemImg))
{
ItemImgList = Common.Plugin.JsonHelper.DeserializeObject<List<string>>(c_itemModel.ItemImg);
}
var pObj = new
{
Id = item?.Id ?? 0,
......@@ -615,9 +626,9 @@ namespace Edu.Module.Duty
ItemType = c_itemModel?.ItemType ?? ItemTypeEnum.FillIn,
IsChecked = workIsFinish,
WorkContent = item?.WorkContent ?? "",
item?.FileList,
item.FileList,
ItemImgList
};
pList.Add(pObj);
}
}
......@@ -653,7 +664,8 @@ namespace Edu.Module.Duty
item.ItemType,
IsChecked = workIsFinish,
WorkContent = c_workModel?.WorkContent ?? "",
ItemImgList
ItemImgList,
c_workModel?.FileList
};
pList.Add(pObj);
}
......@@ -869,12 +881,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,QDutyStatus=-1, 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 DutyFrequency=duty_FrequencyRepository.GetDutyFrequencyListRepository(new RB_Duty_Frequency_ViewModel() { Id = Shift }).FirstOrDefault();
var startTime = Convert.ToDateTime(Common.ConvertHelper.FormatDate(dt) + " " + DutyFrequency?.StartTime);
var endTime = Convert.ToDateTime(Common.ConvertHelper.FormatDate(dt) + " " + DutyFrequency?.EndTime);
if (Status == 1)
{
fileds.Add(nameof(RB_Duty_PlanDetails_ViewModel.CheckTime), dt);
fileds.Add(nameof(RB_Duty_PlanDetails_ViewModel.StartTime), DutyFrequency?.StartTime);
int minute = Common.ConvertHelper.CalcMinutes(startTime, dt);
if (minute > 0)
{
......@@ -887,6 +900,16 @@ namespace Edu.Module.Duty
}
if (Status == 2)
{
var workList= duty_ContentRepository.GetDutyContentListRepository(new RB_Duty_Content_ViewModel() { PlanId = Id, PlanShift = Shift, PlanType = 1,CreateBy=DutyMan }).ToList();
if (workList != null && workList.Count > 0)
{
var tempWorkList = workList.Where(qitem => qitem.WorkIsFinish == 0).ToList();
if (tempWorkList!=null&&tempWorkList.Count > 0)
{
message = "工作清单内还有没有完成的项目,请检查后再提交!";
return false;
}
}
if (dt < startTime)
{
message = "还未到下班时间,不能打卡!";
......@@ -898,6 +921,7 @@ namespace Edu.Module.Duty
return false;
}
fileds.Add(nameof(RB_Duty_PlanDetails_ViewModel.FinishTime), dt);
fileds.Add(nameof(RB_Duty_PlanDetails_ViewModel.EndTime), DutyFrequency?.EndTime);
int minute = Common.ConvertHelper.CalcMinutes(dt, endTime);
if (minute > 0)
{
......@@ -968,9 +992,15 @@ namespace Edu.Module.Duty
bool flag = false;
if (model.PlanType == 1)
{
model.FileURL = "";
model.OtherContent = "";
model.OtherRemark = "";
if (model.WorkIsFinish == 0)
{
if (!string.IsNullOrEmpty(model.WorkContent) || !string.IsNullOrEmpty(model.FileURL))
{
model.WorkIsFinish = 1;
}
}
}
else
{
......
......@@ -367,6 +367,10 @@ GROUP BY A.ClassId
{
builder.AppendFormat(" AND DATE_FORMAT(A.{0},'%Y-%m-%d')<=DATE_FORMAT('{1}','%Y-%m-%d') ", nameof(RB_Class_Check_ViewModel.ClassDate), query.EndDate);
}
if (query.ClassTimeId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Check_ViewModel.ClassTimeId), query.ClassTimeId);
}
}
return Get<RB_Class_Check_ViewModel>(builder.ToString()).ToList();
......
......@@ -103,6 +103,10 @@ WHERE 1=1
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.School_Id), query.School_Id);
}
if (query.ClassTimeId > 0)
{
builder.AppendFormat(" AND time.{0}={1} ", nameof(RB_Class_Plan_ViewModel.ClassTimeId), query.ClassTimeId);
}
if (!string.IsNullOrEmpty(query.QClassIds))
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Class_Plan_ViewModel.ClassId), query.QClassIds);
......@@ -501,11 +505,11 @@ where sog.Account_Id={query.StuId} and c.ClassStatus in(1,2) and c.`Status`=0 an
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.ClassPlanId,A.ClassId,A.ClassDate,A.ClassRoomId,A.ClassName,A.CourseName,A.Teacher_Id,A.TeacherName,A.RoomName
,SUM(A.minNum) AS ClassMinutes,MIN(A.StartTime) AS StartTime,MAX(A.EndTime) AS EndTime
,SUM(A.minNum) AS ClassMinutes,MIN(A.StartTime) AS StartTime,MAX(A.EndTime) AS EndTime,A.CompleteProgress
FROM
(
SELECT A.ClassPlanId, A.ClassId,A.ClassDate,A.ClassRoomId,B.ClassName,C.CourseName,B.Teacher_Id,IFNULL(D.TeacherName,'') AS TeacherName,E.RoomName
,TIMESTAMPDIFF(MINUTE, CONCAT('2020-12-16',' ',F.StartTime), CONCAT('2020-12-16',' ',F.EndTime)) AS minNum,F.StartTime,F.EndTime
,TIMESTAMPDIFF(MINUTE, CONCAT('2020-12-16',' ',F.StartTime), CONCAT('2020-12-16',' ',F.EndTime)) AS minNum,F.StartTime,F.EndTime,B.CompleteProgress
FROM rb_class_plan AS A INNER JOIN rb_class AS B ON A.ClassId=B.ClassId
LEFT JOIN rb_course AS C ON B.CouseId=C.CourseId
LEFT JOIN rb_teacher AS D ON B.Teacher_Id=D.TId
......@@ -513,7 +517,7 @@ FROM rb_class_plan AS A INNER JOIN rb_class AS B ON A.ClassId=B.ClassId
LEFT JOIN rb_class_time F on A.ClassPlanId = F.ClassPlanId
WHERE 1=1 AND A.`Status`=0 {0}
) AS A
GROUP BY A.ClassPlanId,A.ClassId ,A.ClassDate,A.ClassRoomId
GROUP BY A.ClassPlanId,A.ClassId ,A.ClassDate,A.ClassRoomId,A.CompleteProgress
", where.ToString());
return Get<RB_Class_Plan_ViewModel>(builder.ToString()).ToList();
}
......
......@@ -237,14 +237,14 @@ namespace Edu.WebApi.Controllers.APP
{
courseClassTypeResult.Add(new
{
Name = courseClassTypeItem.Name,
courseClassTypeItem.Name,
courseClassTypeItem.Id,
OrderStudentCount = list.Where(x => (int)x.StudentNumType == item.Id && (int)x.CourseClassType == courseClassTypeItem.Id).FirstOrDefault()?.OrderStudentCount ?? 0
});
}
result.Add(new
{
Name = item.Name,
item.Name,
item.Id,
ChildrenList = courseClassTypeResult
});
......
......@@ -722,11 +722,19 @@ namespace Edu.WebApi.Controllers.Course
var classId = base.ParmJObj.GetInt("ClassId");
var classPlanId = base.ParmJObj.GetInt("ClassPlanId");
var schoolId = base.ParmJObj.GetInt("School_Id");
var ClassTimeId = base.ParmJObj.GetInt("ClassTimeId");
if (classId == 0 || classPlanId == 0 || schoolId == 0)
{
return ApiResult.ParamIsNull();
}
var data = classModule.GetClassPlanListRepository(new RB_Class_Plan_ViewModel { ClassId = classId, ClassPlanId = classPlanId, Group_Id = base.UserInfo.Group_Id, School_Id = schoolId }).FirstOrDefault();
var data = classModule.GetClassPlanListExtModule(new RB_Class_Plan_ViewModel
{
ClassId = classId,
ClassPlanId = classPlanId,
Group_Id = base.UserInfo.Group_Id,
School_Id = schoolId,
ClassTimeId = ClassTimeId
}).FirstOrDefault();
if (data == null || data.ClassPlanId == 0)
{
return ApiResult.Failed("数据不存在");
......@@ -836,46 +844,16 @@ namespace Edu.WebApi.Controllers.Course
ClassId = base.ParmJObj.GetInt("ClassId"),
TeacherId = base.ParmJObj.GetInt("TeacherId")
};
var list = classModule.GetClassPlanLogPageListRepository(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
List<RB_Class_Check_ViewModel> checkLogList = new List<RB_Class_Check_ViewModel>();
if (list != null && list.Any())
{
checkLogList = classModule.GetClassCheckListRepository(new RB_Class_Check_ViewModel { Group_Id = query.Group_Id, School_Id = query.School_Id, ClassId = query.ClassId, StartDate = list.Min(x => x.ClassDate).ToString("yyyy-MM-dd HH:mm:ss"), EndDate = list.Max(x => x.ClassDate).ToString("yyyy-MM-dd HH:mm:ss") });
}
var list = classModule.GetClassPlanLogPageListModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
List<object> resultList = new List<object>();
var dateList = list.GroupBy(x => new { MonthStr = x.ClassDate.ToString("MM"), YearStr = x.ClassDate.ToString("yyyy") }).Select(x => new { x.Key.MonthStr, x.Key.YearStr });
foreach (var item in list)
{
int totalNum = checkLogList.Where(x => x.ClassId == item.ClassId && x.ClassRoomId == item.ClassRoomId && x.Group_Id == item.Group_Id && x.School_Id == item.School_Id && x.ClassDate == item.ClassDate).Count();
var checkList = checkLogList.Where(x => x.CheckStatus == 0 && x.ClassId == item.ClassId && x.ClassRoomId == item.ClassRoomId && x.Group_Id == item.Group_Id && x.School_Id == item.School_Id && x.ClassDate == item.ClassDate).ToList();
var noCheckList = checkLogList.Where(x => x.CheckStatus == 1 && x.ClassId == item.ClassId && x.ClassRoomId == item.ClassRoomId && x.Group_Id == item.Group_Id && x.School_Id == item.School_Id && x.ClassDate == item.ClassDate).ToList();
var planCheckObj = new
{
item.TeacherName,
IsAlternate = item.TeacherId == item.Teacher_Id ? 0 : 1,//是否代课老师
MonthStr = item.ClassDate.ToString("MM"),
DayStr = item.ClassDate.ToString("dd"),
YearStr = item.ClassDate.ToString("yyyy"),
CheckNum = checkList.Count(),
CheckList = checkList.Select(qitem => new { qitem.GuestName }),
NoCheckNum = noCheckList.Count(),
NoCheckList = noCheckList.Select(qitem => new { qitem.GuestName }),
ColorType = item.TeacherId != item.Teacher_Id ? 1 : (totalNum == noCheckList.Count() ? 2 : 3),
};
resultList.Add(planCheckObj);
}
var result = new { dateList, resultList };
pageModel.Count = rowsCount;
pageModel.PageData = result;
pageModel.PageData = list;
return ApiResult.Success(data: pageModel);
}
/// <summary>
/// 签到
/// 多人签到【后台】
/// </summary>
/// <returns></returns>
public ApiResult AddClassCheck()
......@@ -897,6 +875,7 @@ namespace Edu.WebApi.Controllers.Course
StudyNum = obj.GetInt("StudyNum"),
TeacherId = obj.GetInt("TeacherId"),
ClassId = obj.GetInt("classId"),
ClassTimeId=obj.GetInt("ClassTimeId"),
});
}
}
......@@ -911,7 +890,6 @@ namespace Edu.WebApi.Controllers.Course
return ApiResult.Failed("签到总人数错误,请先检查信息");
}
//判断今天有课没有
var planList = classModule.GetClassPlanModelRepository(new RB_Class_Plan_ViewModel
{
......@@ -925,7 +903,14 @@ namespace Edu.WebApi.Controllers.Course
}
//判断当天是否有已签到数据
var checkLogList = classModule.GetClassCheckList(new RB_Class_Check_ViewModel { Group_Id = base.UserInfo.Group_Id, ClassId = list.FirstOrDefault().ClassId, StartDate = list.FirstOrDefault().ClassDate.ToString("yyyy-MM-dd HH:mm:ss"), EndDate = list.FirstOrDefault().ClassDate.ToString("yyyy-MM-dd HH:mm:ss") });
var checkLogList = classModule.GetClassCheckList(new RB_Class_Check_ViewModel
{
Group_Id = base.UserInfo.Group_Id,
ClassId = list.FirstOrDefault().ClassId,
StartDate = list.FirstOrDefault().ClassDate.ToString("yyyy-MM-dd HH:mm:ss"),
EndDate = list.FirstOrDefault().ClassDate.ToString("yyyy-MM-dd HH:mm:ss"),
ClassTimeId= list.FirstOrDefault().ClassTimeId,
});
foreach (var item in list)
{
......@@ -1272,7 +1257,7 @@ namespace Edu.WebApi.Controllers.Course
};
Class_LessonPlan_ViewModel model = new Class_LessonPlan_ViewModel();
//获取班级上课新以及老师名称
var planDate = classModule.GetClassPlanListRepository(new RB_Class_Plan_ViewModel { Group_Id = base.UserInfo.Group_Id, ClassId = extModel.ClassId, ClassPlanId = extModel.ClassPlanId }).FirstOrDefault();
var planDate = classModule.GetClassPlanListModule(new RB_Class_Plan_ViewModel { Group_Id = base.UserInfo.Group_Id, ClassId = extModel.ClassId, ClassPlanId = extModel.ClassPlanId }).FirstOrDefault();
if (planDate == null || planDate.ClassPlanId == 0)
{
return ApiResult.Failed("班级上课计划不存在");
......
......@@ -331,6 +331,7 @@ namespace Edu.WebApi.Controllers.Duty
WorkContent = base.ParmJObj.GetStringValue("WorkContent"),
WorkIsFinish = base.ParmJObj.GetInt("WorkIsFinish"),
ItemId = base.ParmJObj.GetInt("ItemId"),
ItemType=base.ParmJObj.GetInt("ItemType"),
};
try
{
......@@ -344,7 +345,14 @@ namespace Edu.WebApi.Controllers.Duty
{
model.FileList = new List<string>();
}
if (model.FileList != null && model.FileList.Count > 0)
{
model.FileURL = Common.Plugin.JsonHelper.Serialize(model.FileList);
}
else
{
model.FileURL = "";
}
model.Group_Id = base.UserInfo.Group_Id;
model.Status = Common.Enum.DateStateEnum.Normal;
model.CreateBy = base.UserInfo.Id;
......
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