Commit 16843bcd authored by liudong1993's avatar liudong1993

Merge branch 'master' of http://gitlab.oytour.com/Kui2/education

parents 0f2c8884 f59324a7
using Edu.Common.Enum.Course;
using System;
using VT.FW.DB;
namespace Edu.Model.Entity.Log
{
/// <summary>
/// 公告日志实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Notice_Log
{
/// <summary>
/// 日志编号
/// </summary>
public int CLogId { get; set; }
/// <summary>
/// 审核状态,1-审核通过,2-审核拒绝
/// </summary>
public int ReviewStatus { get; set; }
/// <summary>
/// 审核理由
/// </summary>
public string LogContent { get; set; }
/// <summary>
/// 公告编号
/// </summary>
public int NoticeId { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 校区编号
/// </summary>
public int School_Id { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
}
}
......@@ -73,7 +73,6 @@ namespace Edu.Model.ViewModel.EduTask
/// </summary>
public List<ChangePlanItem> OldChangePlanItemList { get; set; }
/// <summary>
/// 调整新数据信息
/// </summary>
......@@ -97,22 +96,35 @@ namespace Edu.Model.ViewModel.EduTask
/// </summary>
public DateTime ClassDate { get; set; }
/// <summary>
/// 上课时间
/// </summary>
public string ClassDateStr { get { return Common.ConvertHelper.FormatDate(this.ClassDate); } }
/// <summary>
/// 老师编号
/// </summary>
public int TeacherId { get; set; }
/// <summary>
/// 教师姓名
/// </summary>
public string TeacherName { get; set; }
/// <summary>
/// 教室编号
/// </summary>
public int ClassRoomId { get; set; }
/// <summary>
/// 教师名称
/// </summary>
public string ClassRoomName { get; set; }
/// <summary>
///班级计划上课日期的上课时间表
/// </summary>
public List<Course.RB_Class_Time_ViewModel> PlanTimeList { get; set; }
}
......@@ -131,6 +143,7 @@ namespace Edu.Model.ViewModel.EduTask
/// 课时分钟数
/// </summary>
public int ClassHourMinute { get; set; }
/// <summary>
/// 开课时间
/// </summary>
......@@ -141,11 +154,21 @@ namespace Edu.Model.ViewModel.EduTask
/// </summary>
public int TeacherId { get; set; }
/// <summary>
/// 老师姓名
/// </summary>
public string TeacherName { get; set; }
/// <summary>
/// 教室编号
/// </summary>
public int ClassRoomId { get; set; }
/// <summary>
/// 教师名称
/// </summary>
public string ClassRoomName { get; set; }
/// 选中的周几/或日期数组
/// </summary>
public List<string> WeekDayList { get; set; }
......@@ -155,22 +178,12 @@ namespace Edu.Model.ViewModel.EduTask
/// </summary>
public List<ClassTimeItem> DefaultTimeList { get; set; }
/// <summary>
/// 默认选中的日期、周
/// </summary>
//public string DateJson { get; set; }
/// <summary>
/// 排课方式(1-周,2-月,3-固定日期,4-约课)
/// </summary>
public Common.Enum.Course.ClassStyleEnum ClassStyle { get; set; }
/// <summary>
/// 默认时间字符串JSON
/// </summary>
// public string DefaultTimeJson { get; set; }
}
///<summary>
......
......@@ -24,5 +24,20 @@ namespace Edu.Model.ViewModel.EduTask
/// 班级编号
/// </summary>
public string ClassNo { get; set; }
/// <summary>
/// 老师姓名
/// </summary>
public string TeacherName { get; set; }
/// <summary>
/// 学校名称
/// </summary>
public string SchoolName { get; set; }
/// <summary>
/// 课程名称
/// </summary>
public string CourseName { get; set; }
}
}
......@@ -34,5 +34,21 @@ namespace Edu.Model.ViewModel.User
/// 查看时间
/// </summary>
public string LookTime { get; set; }
/// <summary>
/// 审核状态
/// </summary>
public int ReviewStatus { get; set; }
/// <summary>
/// 审核时间
/// </summary>
public DateTime? ReviewTime { get; set; }
/// <summary>
/// 审核备注
/// </summary>
public string LogContent { get; set; }
}
}
\ No newline at end of file
using Edu.Common.API;
using Edu.AOP.CustomerAttribute;
using Edu.Common.API;
using Edu.Common.Plugin;
using Edu.Model.CacheModel;
using Edu.Model.Entity.User;
......@@ -44,7 +45,10 @@ namespace Edu.Module.User
/// </summary>
private readonly RB_AccountRepository accountRepository = new RB_AccountRepository();
/// <summary>
/// 公告日志记录表
/// </summary>
private readonly Repository.Log.RB_Notice_LogRepository noticeLogRepository = new Repository.Log.RB_Notice_LogRepository();
/// <summary>
/// 获取公告配置信息
/// </summary>
......@@ -152,12 +156,40 @@ namespace Edu.Module.User
return list;
}
/// <summary>
/// 获取公告信息
/// 我审批的公告
/// </summary>
/// <param name="noticeId"></param>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="demodel"></param>
/// <returns></returns>
public ApiResult GetNoticeInfo(int noticeId)
public List<RB_Notice_ViewModel> GetMyPageLogList(int pageIndex, int pageSize, out long count, RB_Notice_ViewModel demodel)
{
var list = noticeRepository.GetMyPageLogList(pageIndex, pageSize, out count, demodel);
if (list.Any())
{
//查询阅读人数
string NoticeIds = string.Join(",", list.Select(x => x.Id));
var readList = notice_ReadRepository.GetNoticeReadNumList(NoticeIds);
foreach (var item in list)
{
item.ReadNum = readList.Where(x => x.NoticeId == item.Id).FirstOrDefault()?.ReadNum ?? 0;
}
}
return list;
}
/// <summary>
/// 获取公告信息
/// </summary>
/// <param name="noticeId"></param>
/// <returns></returns>
public ApiResult GetNoticeInfo(int noticeId)
{
var model = noticeRepository.GetEntity<RB_Notice_ViewModel>(noticeId);
if (model == null) { return ApiResult.ParamIsNull(); }
......@@ -211,10 +243,10 @@ namespace Edu.Module.User
var empModel = new RB_Account_ViewModel();
if (model.UpdateBy > 0)
{
empModel= accountRepository.GetAccountListExtRepository(new Model.ViewModel.User.RB_Account_ViewModel()
{
Id = model.UpdateBy
})?.FirstOrDefault();
empModel = accountRepository.GetAccountListExtRepository(new Model.ViewModel.User.RB_Account_ViewModel()
{
Id = model.UpdateBy
})?.FirstOrDefault();
}
return ApiResult.Success("", new
{
......@@ -226,9 +258,9 @@ namespace Edu.Module.User
NoticeStateName = model.NoticeState.ToName(),
model.Is_Top,
model.To,
toList= DepartmentList,
toList = DepartmentList,
model.CopyPeople,
ccList=CopyPeopleList,
ccList = CopyPeopleList,
model.Content,
fileList = model.FileList.Select(x => new
{
......@@ -315,6 +347,63 @@ namespace Edu.Module.User
}
}
/// <summary>
/// 获取公告实体
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public RB_Notice GetNoticeEntity(object Id)
{
return noticeRepository.GetEntity(Id);
}
/// <summary>
///
/// </summary>
/// <param name="demodel"></param>
/// <param name="log"></param>
/// <returns></returns>
[TransactionCallHandler]
public bool UpdateNotice(RB_Notice demodel, Model.Entity.Log.RB_Notice_Log log)
{
bool flag = false;
if (demodel.Id > 0)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>()
{
{ nameof(RB_Notice.NoticeState),(int)demodel.NoticeState},
{ nameof(RB_Notice.UpdateBy),demodel.UpdateBy},
{ nameof(RB_Notice.UpdateTime),DateTime.Now},
};
List<WhereHelper> wheres = new List<WhereHelper>()
{
new WhereHelper(nameof(RB_Notice.Id), demodel.Id)
};
flag = noticeRepository.Update(keyValues, wheres);
if (flag)
{
noticeLogRepository.AddNoticeLogRepository(log);
}
}
return flag;
}
/// <summary>
/// 获取公告日志分页列表
/// </summary>
/// <param name="pageIndex">当前页</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowsCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<Model.Entity.Log.RB_Notice_Log> GetNoticeLogPageListRepository(int pageIndex, int pageSize, out long rowsCount, Model.Entity.Log.RB_Notice_Log query)
{
return noticeLogRepository.GetNoticeLogPageListRepository( pageIndex, pageSize, out rowsCount, query);
}
/// <summary>
/// 新增修改公告
/// </summary>
......@@ -444,6 +533,6 @@ namespace Edu.Module.User
return flag;
}
}
}
}
\ No newline at end of file
......@@ -547,7 +547,7 @@ where sog.Account_Id={query.StuId} and c.ClassStatus in(1,2) and c.`Status`=0 an
public List<RB_Class_Plan_ViewModel> GetClassPlanStatisticalRepository(RB_Class_Plan_ViewModel query)
{
StringBuilder where = new StringBuilder();
where.AppendFormat(" AND B.ClassStatus NOT IN(1,4) ");
where.AppendFormat(" AND B.ClassStatus IN(1,2) ");
if (query != null)
{
if (query.Group_Id > 0)
......@@ -594,7 +594,7 @@ FROM rb_class_plan AS A INNER JOIN rb_class AS B ON A.ClassId=B.ClassId
LEFT JOIN rb_class_room AS E ON A.ClassRoomId=E.RoomId
LEFT JOIN rb_class_time F on A.ClassPlanId = F.ClassPlanId
LEFT JOIN ((SELECT ClassId,COUNT(*) as TotalPlanNum from rb_class_plan where `Status`=0 GROUP BY ClassId)) as plan on plan.ClassId=a.ClassId
WHERE 1=1 AND A.`Status`=0 {0}
WHERE 1=1 AND A.`Status`=0 AND B.`Status`=0 {0}
) AS A
GROUP BY A.ClassPlanId,A.ClassId ,A.ClassDate,A.ClassRoomId,A.CompleteProgress
", where.ToString());
......@@ -637,7 +637,7 @@ GROUP BY A.ClassPlanId,A.ClassId ,A.ClassDate,A.ClassRoomId,A.CompleteProgress
{
StringBuilder where = new StringBuilder();
StringBuilder whereReserve = new StringBuilder();
where.AppendFormat(" AND B.ClassStatus NOT IN(1,4) ");
where.AppendFormat(" AND B.ClassStatus IN(1,2) and b.`Status`=0 ");
whereReserve.AppendFormat(" AND A.{0}={1} ", nameof(RB_Reserve_Class_Extend.Status), (int)DateStateEnum.Normal);
if (query != null)
{
......
......@@ -215,7 +215,7 @@ LEFT JOIN rb_teacher as t on a.TeacherId=t.TId
LEFT JOIN rb_class as c on c.ClassId=a.ClassId
LEFT JOIN rb_course as cou on cou.CourseId=c.CouseId
LEFT JOIN (SELECT ClassPlanId,MAX(LessonPlanId) as LessonPlanId from rb_class_lessonplan where `Status`=0 GROUP BY ClassPlanId) as lp on lp.ClassPlanId=a.ClassPlanId
where a.`Status`=0 and b.ClassStatus<>2 and c.ClassStatus =2 and a.ClassRoomId={RoomId} and a.Group_Id={Group_Id} and DATE_FORMAT(A.ClassDate,'%Y-%m-%d')>=DATE_FORMAT(NOW(),'%Y-%m-%d') ORDER BY CONCAT( DATE_FORMAT(A.ClassDate,'%Y-%m-%d') ,' ',B.EndTime,':00') asc LIMIT 10");
where a.`Status`=0 and b.ClassStatus<>2 and c.ClassStatus in(1,2) and a.ClassRoomId={RoomId} and a.Group_Id={Group_Id} and DATE_FORMAT(A.ClassDate,'%Y-%m-%d')>=DATE_FORMAT(NOW(),'%Y-%m-%d') ORDER BY CONCAT( DATE_FORMAT(A.ClassDate,'%Y-%m-%d') ,' ',B.EndTime,':00') asc LIMIT 10");
return Get<RB_Class_Time_Extend>(builder.ToString()).ToList();
}
......@@ -236,7 +236,7 @@ LEFT JOIN rb_class as c on c.ClassId=a.ClassId
LEFT JOIN rb_course as cou on cou.CourseId=c.CouseId
LEFT JOIN rb_class_room as croom on croom.RoomId=a.ClassRoomId
LEFT JOIN (SELECT ClassPlanId,MAX(LessonPlanId) as LessonPlanId from rb_class_lessonplan where `Status`=0 GROUP BY ClassPlanId) as lp on lp.ClassPlanId=a.ClassPlanId
where a.`Status`=0 and c.ClassStatus =2 and a.ClassId={ClassId} and a.Group_Id={Group_Id} and DATE_FORMAT(A.ClassDate,'%Y-%m-%d')>=DATE_FORMAT(NOW(),'%Y-%m-%d') ORDER BY CONCAT( DATE_FORMAT(A.ClassDate,'%Y-%m-%d') ,' ',B.EndTime,':00') asc LIMIT 10");
where a.`Status`=0 and c.ClassStatus in(1,2) and a.ClassId={ClassId} and a.Group_Id={Group_Id} and DATE_FORMAT(A.ClassDate,'%Y-%m-%d')>=DATE_FORMAT(NOW(),'%Y-%m-%d') ORDER BY CONCAT( DATE_FORMAT(A.ClassDate,'%Y-%m-%d') ,' ',B.EndTime,':00') asc LIMIT 10");
return Get<RB_Class_Time_Extend>(builder.ToString()).ToList();
}
/// <summary>
......@@ -255,7 +255,7 @@ LEFT JOIN rb_class as c on c.ClassId=a.ClassId
LEFT JOIN rb_course as cou on cou.CourseId=c.CouseId
LEFT JOIN rb_class_room as croom on croom.RoomId=a.ClassRoomId
LEFT JOIN (SELECT ClassPlanId,MAX(LessonPlanId) as LessonPlanId from rb_class_lessonplan where `Status`=0 GROUP BY ClassPlanId) as lp on lp.ClassPlanId=a.ClassPlanId
where a.`Status`=0 and c.ClassStatus =2 and a.TeacherId={TId} and a.Group_Id={Group_Id} and DATE_FORMAT(A.ClassDate,'%Y-%m-%d')>=DATE_FORMAT(NOW(),'%Y-%m-%d') ORDER BY CONCAT( DATE_FORMAT(A.ClassDate,'%Y-%m-%d') ,' ',B.EndTime,':00') asc LIMIT 10");
where a.`Status`=0 and c.ClassStatus in(1,2) and a.TeacherId={TId} and a.Group_Id={Group_Id} and DATE_FORMAT(A.ClassDate,'%Y-%m-%d')>=DATE_FORMAT(NOW(),'%Y-%m-%d') ORDER BY CONCAT( DATE_FORMAT(A.ClassDate,'%Y-%m-%d') ,' ',B.EndTime,':00') asc LIMIT 10");
return Get<RB_Class_Time_Extend>(builder.ToString()).ToList();
}
......
......@@ -66,9 +66,13 @@ namespace Edu.Repository.EduTask
}
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*,IFNULL(B.ClassName,'') AS ClassName,IFNULL(B.ClassNo,'') AS ClassNo {0}
SELECT A.*,IFNULL(B.ClassName,'') AS ClassName,IFNULL(B.ClassNo,'') AS ClassNo,IFNULL(C.TeacherName,'') AS TeacherName
,IFNULL(D.SName,'') AS SchoolName,IFNULL(E.CourseName,'') AS CourseName {0}
FROM RB_Education_Receipt AS A LEFT JOIN rb_class AS B ON A.ClassId=B.ClassId
WHERE 1=1
LEFT JOIN rb_teacher AS C ON B.Teacher_Id=C.TId
LEFT JOIN rb_school AS D ON A.School_Id=D.SId
LEFT JOIN rb_course AS E ON B.CouseId=E.CourseId
WHERE 1=1
", isSpecNode);
if (query != null)
{
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Edu.Model.Entity.Log;
namespace Edu.Repository.Log
{
public class RB_Notice_LogRepository:BaseRepository<RB_Notice_Log>
{
/// <summary>
/// 获取公告日志分页列表
/// </summary>
/// <param name="pageIndex">当前页</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowsCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Notice_Log> GetNoticeLogPageListRepository(int pageIndex, int pageSize, out long rowsCount, RB_Notice_Log query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT *
FROM RB_Notice_Log
WHERE 1=1
");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Notice_Log.Group_Id), query.Group_Id);
}
//if (query.School_Id > 0)
//{
// builder.AppendFormat(" AND {0}={1} ", nameof(RB_Notice_Log.School_Id), query.School_Id);
//}
if (query.NoticeId > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Notice_Log.NoticeId), query.NoticeId);
}
}
builder.Append(" ORDER BY CLogId DESC ");
return GetPage<RB_Notice_Log>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList();
}
/// <summary>
/// 新增公告日志
/// </summary>
/// <param name="logType">日志类型</param>
/// <param name="LogContent">日志内容</param>
/// <param name="NoticeId">公告编号</param>
/// <param name="Group_Id">集团编号</param>
/// <param name="School_Id">校区编号</param>
/// <param name="CreateBy">创建人</param>
/// <returns></returns>
public bool AddNoticeLogRepository(RB_Notice_Log model)
{
var newmodel = new RB_Notice_Log()
{
LogContent = model.LogContent.TrimStart(',').TrimEnd(',').TrimStart('、').TrimEnd('、'),
NoticeId = model.NoticeId,
Group_Id = model.Group_Id,
School_Id = model.School_Id,
CreateBy = model.CreateBy,
CreateTime = DateTime.Now,
};
return base.Insert(newmodel) > 0;
}
}
}
......@@ -23,7 +23,7 @@ namespace Edu.Repository.User
/// <param name="count"></param>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Notice_ViewModel> GetPageList(int pageIndex,int pageSize, out long count,RB_Notice_ViewModel demodel)
public List<RB_Notice_ViewModel> GetPageList(int pageIndex, int pageSize, out long count, RB_Notice_ViewModel demodel)
{
var parameters = new DynamicParameters();
string where = $@" 1=1 AND {nameof(RB_Notice.Status)}=0 ";
......@@ -53,7 +53,7 @@ namespace Edu.Repository.User
{
where += $@" and {nameof(RB_Notice.Is_Top)} ={demodel.Is_Top}";
}
if (demodel.UpdateBy > 0)
if (demodel.UpdateBy > 0)
{
where += $@" and {nameof(RB_Notice.UpdateBy)} ={demodel.UpdateBy}";
}
......@@ -63,12 +63,12 @@ namespace Edu.Repository.User
{
OrderBy = " UpdateTime desc";
}
else if (demodel.OrderBy == 2)
else if (demodel.OrderBy == 2)
{
OrderBy = " Is_Top asc,UpdateTime desc";
}
string sql = $@" select * from RB_Notice where {where} order by {OrderBy}";
return GetPage<RB_Notice_ViewModel>(pageIndex, pageSize, out count, sql,parameters).ToList();
return GetPage<RB_Notice_ViewModel>(pageIndex, pageSize, out count, sql, parameters).ToList();
}
/// <summary>
......@@ -87,13 +87,16 @@ namespace Edu.Repository.User
{
where += $@" and {nameof(RB_Notice.School_Id)} ={demodel.School_Id}";
}
if (!string.IsNullOrEmpty(demodel.Title)) {
if (!string.IsNullOrEmpty(demodel.Title))
{
where += $@" and {nameof(RB_Notice.Title)} like '%{demodel.Title}%'";
}
if (demodel.NoticeState > 0) {
if (demodel.NoticeState > 0)
{
where += $@" and {nameof(RB_Notice.NoticeState)} ={(int)demodel.NoticeState}";
}
if (demodel.Is_Top > 0) {
if (demodel.Is_Top > 0)
{
where += $@" and {nameof(RB_Notice.Is_Top)} ={demodel.Is_Top}";
}
......@@ -159,7 +162,8 @@ namespace Edu.Repository.User
{
where += $@" and n.{nameof(RB_Notice.UpdateBy)} ={demodel.UpdateBy}";
}
if (!string.IsNullOrEmpty(demodel.To)) {
if (!string.IsNullOrEmpty(demodel.To))
{
where += $@" and (FIND_IN_SET(d.DeptId,'{demodel.To}') or n.To =-1)";
}
if (!string.IsNullOrEmpty(demodel.LookTime))
......@@ -185,5 +189,68 @@ GROUP BY n.Id
ORDER BY {OrderBy}";
return GetPage<RB_Notice_ViewModel>(pageIndex, pageSize, out count, sql).ToList();
}
/// <summary>
/// 我审批的公告
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Notice_ViewModel> GetMyPageLogList(int pageIndex, int pageSize, out long count, RB_Notice_ViewModel demodel)
{
var parameters = new DynamicParameters();
string where = $@" 1=1 AND b.{nameof(RB_Notice.Status)}=0 ";
if (demodel.Group_Id > 0)
{
where += $@" and b.{nameof(RB_Notice.Group_Id)} ={demodel.Group_Id}";
}
if (demodel.School_Id > 0)
{
where += $@" and b.{nameof(RB_Notice.School_Id)} ={demodel.School_Id}";
}
if (!string.IsNullOrEmpty(demodel.Title))
{
where += $@" AND b.{nameof(RB_Notice.Title)} LIKE @Title ";
parameters.Add("Title", "%" + demodel.Title.Trim() + "%");
}
if (!string.IsNullOrEmpty(demodel.Number))
{
where += $@" and b.{nameof(RB_Notice.Number)} LIKE @Number ";
parameters.Add("Number", "%" + demodel.Number.Trim() + "%");
}
if (demodel.NoticeState > 0)
{
where += $@" and b.{nameof(RB_Notice.NoticeState)} ={(int)demodel.NoticeState}";
}
if (demodel.Is_Top > 0)
{
where += $@" and b.{nameof(RB_Notice.Is_Top)} ={demodel.Is_Top}";
}
if (demodel.CreateBy > 0)//审核人
{
where += $@" and a.CreateBy ={demodel.CreateBy}";
}
if (demodel.UpdateBy > 0)
{
where += $@" and b.{nameof(RB_Notice.UpdateBy)} ={demodel.UpdateBy}";
}
string OrderBy = " a.CLogId desc";
if (demodel.OrderBy == 1)
{
OrderBy = " b.UpdateTime desc";
}
else if (demodel.OrderBy == 2)
{
OrderBy = " b.Is_Top asc,b.UpdateTime desc";
}
string sql = $@" select b.*,a.ReviewStatus,a.CreateTime as ReviewTime,a.LogContent from rb_notice_log as a LEFT JOIN rb_notice as b on a.NoticeId=b.Id where {where} order by {OrderBy}";
return GetPage<RB_Notice_ViewModel>(pageIndex, pageSize, out count, sql, parameters).ToList();
}
}
}
\ No newline at end of file
......@@ -30,7 +30,7 @@ namespace Edu.WebApi.Controllers.User
/// <summary>
/// 助教处理类对象
/// </summary>
private readonly NoticeModule noticeModule = new NoticeModule();
private readonly NoticeModule noticeModule = AOP.AOPHelper.CreateAOPObject<NoticeModule>();
/// <summary>
/// 考勤处理类
/// </summary>
......@@ -113,7 +113,7 @@ namespace Edu.WebApi.Controllers.User
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetNoticeBaseKeyDictValue()
public ApiResult GetNoticeBaseKeyDictValue()
{
UserInfo userInfo = base.UserInfo;
var model = attendancemodule.GetDictValueList(userInfo.Group_Id, Config.Notice_BaseKey).FirstOrDefault();
......@@ -150,9 +150,6 @@ namespace Edu.WebApi.Controllers.User
}
/// <summary>
/// 新增修改公告基础
/// </summary>
......@@ -299,7 +296,7 @@ namespace Edu.WebApi.Controllers.User
}
demodel.FileList ??= new List<Model.Public.FileModel>();
demodel.File = JsonHelper.Serialize(demodel.FileList.Select(x => new { x.FileName, x.FileUrl }));
if (demodel.NoticeState != NoticeStateEnum.Publish && demodel.NoticeState != NoticeStateEnum.Draft)
if (demodel.NoticeState != NoticeStateEnum.Review && demodel.NoticeState != NoticeStateEnum.Draft)
{
return ApiResult.ParamIsNull("公告状态不正确");
}
......@@ -347,6 +344,122 @@ namespace Edu.WebApi.Controllers.User
}
}
/// <summary>
/// 审核公告
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetReviewNotice()
{
UserInfo userInfo = base.UserInfo;
int NoticeId = base.ParmJObj.GetInt("NoticeId", 0);
int ReviewStatus = base.ParmJObj.GetInt("ReviewStatus");// 审核状态,1-审核通过,2-审核拒绝
string LogContent = base.ParmJObj.GetStringValue("LogContent");
if (ReviewStatus == 2 && string.IsNullOrWhiteSpace(LogContent))
{
return ApiResult.Failed("拒绝必须填写理由");
}
if (NoticeId <= 0)
{
return ApiResult.ParamIsNull("公告编号不存在!");
}
var oldModel = noticeModule.GetNoticeEntity(NoticeId);
if (oldModel == null || oldModel.Id == 0)
{
return ApiResult.ParamIsNull("公告信息不存在!");
}
if (oldModel.NoticeState != NoticeStateEnum.Review)
{
return ApiResult.ParamIsNull("当前公告不是待审核状态!");
}
if (ReviewStatus == 1)
{
oldModel.NoticeState = NoticeStateEnum.Publish;
}
else if (ReviewStatus == 2)
{
oldModel.NoticeState = NoticeStateEnum.Draft;
}
else
{
return ApiResult.ParamIsNull("审核状态错误!");
}
var model = attendancemodule.GetDictValueList(userInfo.Group_Id, Config.Notice_BaseKey).FirstOrDefault();
if (model.Content != userInfo.Id.ToString())
{
return ApiResult.ParamIsNull("您不是公告审核人!");
}
oldModel.UpdateBy = userInfo.Id;
oldModel.UpdateTime = System.DateTime.Now;
var noticeLogModel = new Model.Entity.Log.RB_Notice_Log()
{
LogContent = LogContent,
NoticeId = NoticeId,
Group_Id = userInfo.Group_Id,
School_Id = userInfo.School_Id,
CreateBy = userInfo.Id,
CreateTime = System.DateTime.Now
};
bool flag = noticeModule.UpdateNotice(oldModel, noticeLogModel);
if (flag)
{
return ApiResult.Success();
}
else
{
return ApiResult.Failed();
}
}
/// <summary>
/// 获取公告分页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetNoticeLogPageList()
{
var pageModel = JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var query = new RB_Notice_ViewModel()
{
Is_Top = base.ParmJObj.GetInt("Is_Top"),
NoticeState = (NoticeStateEnum)base.ParmJObj.GetInt("NoticeState"),
Number = base.ParmJObj.GetStringValue("Number"),
Title = base.ParmJObj.GetStringValue("Title"),
UpdateBy = base.ParmJObj.GetInt("UpdateBy"),
};
query.Group_Id = base.UserInfo.Group_Id;
query.CreateBy = base.UserInfo.Id;
var list = noticeModule.GetMyPageLogList(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
pageModel.Count = rowsCount;
pageModel.PageData = list.Select(x => new
{
ReviewStatusStr = x.ReviewStatus == 1 ? "审核通过" : "审核拒绝",
x.LogContent,
CreateByName = UserReidsCache.GetUserLoginInfo(x.CreateBy)?.AccountName ?? "",
CreateTime = x.ReviewTime.HasValue ? x.ReviewTime.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
x.Id,
x.From,
x.Number,
x.Title,
x.NoticeState,
NoticeStateName = x.NoticeState.ToName(),
x.Is_Top,
x.ReadNum,
x.UpdateBy,
UpdateByName = UserReidsCache.GetUserLoginInfo(x.UpdateBy)?.AccountName ?? "",
UpdateTime = x.UpdateTime.HasValue ? x.UpdateTime.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""
});
return ApiResult.Success("", pageModel);
}
/// <summary>
/// 获取枚举列表
/// </summary>
......
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