From 9c7ff006100d327b1b60615304de348f5ad36c63 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期三, 16 八月 2023 09:06:14 +0800 Subject: [PATCH] Merge branch 'master' of http://47.108.235.38:8080/r/DocumentService --- DocumentServiceAPI.Application/WorkRemind/Services/WorkRemindService.cs | 284 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 284 insertions(+), 0 deletions(-) diff --git a/DocumentServiceAPI.Application/WorkRemind/Services/WorkRemindService.cs b/DocumentServiceAPI.Application/WorkRemind/Services/WorkRemindService.cs new file mode 100644 index 0000000..280ff00 --- /dev/null +++ b/DocumentServiceAPI.Application/WorkRemind/Services/WorkRemindService.cs @@ -0,0 +1,284 @@ +锘縰sing DocumentServiceAPI.Application.Repository; +using DocumentServiceAPI.Application.UserAndLogin.Services.Interfaces; +using DocumentServiceAPI.Application.UserAndLogin.ViewMode; +using DocumentServiceAPI.Application.WorkRemind.Services.Interfaces; +using DocumentServiceAPI.Application.WorkRemind.ViewMode; +using DocumentServiceAPI.Model; +using DocumentServiceAPI.Model.cyDocumentModel; +using DocumentServiceAPI.Model.UserInfoModel; +using DocumentServiceAPI.Utility; +using Furion.Logging.Extensions; +using Furion.Schedule; +using MapsterMapper; +using SqlSugar.Extensions; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Security.Claims; +using System.Text; +using System.Threading.Tasks; + +namespace DocumentServiceAPI.Application.WorkRemind.Services +{ + public class WorkRemindService : IWorkRemindService, IScoped + { + private ISqlSugarClient _db { get; set; } + private WorkRemindRepository _workRemindRepository { get; set; } + private IMapper _mapper { get; set; } + public WorkRemindService(ISqlSugarClient db, WorkRemindRepository workRemindRepository, IMapper mapper) + { + _db = db; + _workRemindRepository = workRemindRepository; + _mapper = mapper; + } + + + /// <summary> + /// 鎻愰啋璇︽儏 + /// </summary> + /// <param name="ID"></param> + /// <returns></returns> + public Document_WorkRemind GetWorkRemindInfo(int ID) + { + var ret = _db.Queryable<Document_WorkRemind>().Where(x => x.WorkRemindId == ID).First(); + + return ret; + } + + public bool UpEmployee(Document_WorkRemind dw) + { + + + + dw.LastUpTime = DateTime.Now; + + return _workRemindRepository.Update(dw); + + } + + public bool InEmployee(Document_WorkRemind dw) + { + var a = GetJwtInfo(); + dw.LastUpTime = DateTime.Now; + dw.CreatEmployeeId = a.EID; + + var tentlist = _db.Queryable<Document_EmployeeInfo>() + .Where(x => x.EmployeeId == a.EID + + ).First(); + if (tentlist != null) + { + dw.CreatEmployeeName = tentlist.EmployeeName; + + } + return _workRemindRepository.Insert(dw); + + + + + + } + + public bool DelEmployee(int ID) + { + + var workRemind = _workRemindRepository.GetById(ID); + + + return _workRemindRepository.Delete(workRemind); + + + + + + } + + /// <summary> + /// 鑾峰彇鎻愰啋鍒楄〃 + /// </summary> + /// <param name="page"></param> + /// <returns></returns> + public PageResult<Document_WorkRemind> postWorkRemindList(WorkRemindPageSearch page) + { + var a = GetJwtInfo(); + + SqlSugar.PageModel pg = new SqlSugar.PageModel(); + pg.PageSize = page.PageSize; + pg.PageIndex = page.PageIndex; + page.ToEmployeeId = a.EID; + int total = 0; + PageResult<Document_WorkRemind> result = new PageResult<Document_WorkRemind>(); + //result.Items = _db.Queryable<Document_WorkRemind>().Where(x => ((page.ToEmployeeId ==null || page.ToEmployeeId>0 ) || x.ToEmployeeId == page.ToEmployeeId) + //&& (!page.WorkRemindTimeStart.HasValue || x.WorkRemindTime >= page.WorkRemindTimeStart.Value) + // && (!page.WorkRemindTimeEnd.HasValue || x.WorkRemindTime <= page.WorkRemindTimeEnd.Value) + //) + // .OrderByDescending(x => x.WorkRemindTime).ToPageList(page.PageIndex, page.PageSize, ref total); + + + result.Items = _db.Queryable<Document_WorkRemind>() + + .WhereIF(page.ToEmployeeId != null && page.ToEmployeeId > 0 , x => (x.ToEmployeeId == page.ToEmployeeId) ) + .WhereIF(page.WorkRemindTimeStart.HasValue, x => x.WorkRemindTime >= page.WorkRemindTimeStart.Value) + .WhereIF(page.WorkRemindTimeEnd.HasValue, x=>x.WorkRemindTime <= page.WorkRemindTimeEnd.Value) + .WhereIF(!string.IsNullOrEmpty(page.ProjectName), x => x.ProjectName.Contains(page.ProjectName)) + .WhereIF(!string.IsNullOrEmpty(page.WorkRemindContent), x => x.WorkRemindContent.Contains(page.WorkRemindContent)) + .OrderByDescending(x => x.WorkRemindTime).ToPageList(page.PageIndex, page.PageSize, ref total); + + + result.TotalCount = total; + result.TotalPage = total%page.PageSize==0 ? total / page.PageSize : total / page.PageSize + 1; + return result; + } + + + /// <summary> + /// 鑾峰彇em鍒楄〃 + /// </summary> + /// <returns></returns> + public List<Document_EmployeeInfo> GetUEmployeeInfoList() + + { + var a = GetJwtInfo(); + //if (a.EID != null) + // throw Oops.Oh($"娌℃湁鏉冮檺"); + + + + var tentlist = _db.Queryable<EmployeeAtTenant, Document_EmployeeInfo>((et, ei) => + + new JoinQueryInfos + ( + JoinType.Right, ei.EmployeeId == et.EmployeeID + ) + ) + .Where((et, ei) => + (et.TenantID == a.TEID) && (ei.IsWork == null || ei.IsWork == 1)) + + .Select((et, ei) => new Document_EmployeeInfo + { + EmployeeId = ei.EmployeeId, + EmployeeName = ei.EmployeeName, + Job = ei.Job, + Phone = ei.Phone, + IsWork = ei.IsWork, + LeaveTime = ei.LeaveTime, + CardPositive = ei.CardPositive, + CardPositiveVersionNo = ei.CardPositiveVersionNo, + CardPositiveSize = ei.CardPositiveSize, + LastUpdateTime = ei.LastUpdateTime, + LastUpdateName = ei.LastUpdateName, + UserName = ei.UserName, + UserPassWord = ei.UserPassWord, + LoginTime = ei.LoginTime, + IsLogin = ei.IsLogin, + AdviseFlag = ei.AdviseFlag, + UserId = ei.UserId, + + } + ).ToList(); + + + return tentlist; + + } + + + /// <summary> + /// 鑾峰彇Jwt鐩稿叧淇℃伅 + /// </summary> + public JwtInfo GetJwtInfo() + { + JwtInfo jwtInfo = new JwtInfo(); + jwtInfo.LogInSource = (LogInFrom)(App.User?.FindFirstValue("loginfrom")?.ObjToInt() ?? 0); + jwtInfo.EID = App.User?.FindFirstValue("eid")?.ObjToInt(); + jwtInfo.UID = App.User?.FindFirstValue("uid")?.ObjToInt(); + jwtInfo.TEID = App.User?.FindFirstValue("teid")?.ObjToInt(); + var guid = App.User?.FindFirstValue("jid"); + jwtInfo.JID = string.IsNullOrEmpty(guid) ? null : new Guid(guid); + return jwtInfo; + } + + + + /// <summary> + /// 鏌ヨ鏁版嵁瀛楀吀 + /// </summary> + /// <returns></returns> + public List<Document_Dictionary> GetDictionaryList() + { + var ret = _db.Queryable<Document_Dictionary>().ToList(); + + return ret; + } + + /// <summary> + /// 鏌ヨ鐪佸競 + /// </summary> + /// <param name="CityLevel"></param> + /// <returns></returns> + public List<Sys_CitySite> GetCitySiteList(int CityLevel) + { + var ret = _db.Queryable<Sys_CitySite>().WhereIF(CityLevel>0,x=>x.CityLevel == CityLevel).ToList(); + + return ret; + } + + + /// <summary> + /// 鑾峰彇em鍒楄〃 + /// </summary> + /// <param name="isWork"></param> + /// <param name="Role"></param> + /// <returns></returns> + public List<DocumentEmployeeInfoDTO> GetEmployeeListByStatus(int isWork, int Role) + + { + var a = GetJwtInfo(); + //if (a.EID != null) + // throw Oops.Oh($"娌℃湁鏉冮檺"); + + + + var tentlist = _db.Queryable<Document_EmployeeInfo, EmployeeAtTenant, Document_EmployeeRole>((ei, et, er) => + + new JoinQueryInfos + ( + JoinType.Left, ei.EmployeeId == et.EmployeeID, + JoinType.Left, ei.EmployeeId == er.EmployeeId + ) + ) + .Where((ei, et, er) => + et.TenantID == a.TEID) + .WhereIF(isWork >0,(ei, et, er) => + ei.IsWork == isWork) + .WhereIF(Role > 0, (ei, et, er) => + er.RoleType == Role) + .Select(expression: (ei, et, er) => new DocumentEmployeeInfoDTO + { + EmployeeId = ei.EmployeeId, + EmployeeName = ei.EmployeeName, + Job = ei.Job, + Phone = ei.Phone, + IsWork = ei.IsWork, + LeaveTime = ei.LeaveTime, + CardPositive = ei.CardPositive, + CardPositiveVersionNo = ei.CardPositiveVersionNo, + CardPositiveSize = ei.CardPositiveSize, + LastUpdateTime = ei.LastUpdateTime, + LastUpdateName = ei.LastUpdateName, + UserName = ei.UserName, + UserPassWord = ei.UserPassWord, + LoginTime = ei.LoginTime, + IsLogin = ei.IsLogin, + AdviseFlag = ei.AdviseFlag, + UserId = ei.UserId, + + } + ).ToList(); + + + return tentlist; + + } + } +} -- Gitblit v1.9.1