From 9f0add00d40fc00e039b92b2fb3469394b1a24f5 Mon Sep 17 00:00:00 2001 From: yanjinhui <3306209981@qq.com> Date: 星期五, 28 三月 2025 14:28:59 +0800 Subject: [PATCH] 111 --- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs | 208 ++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 170 insertions(+), 38 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs" index e772d08..aad8de4 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs" @@ -4,11 +4,15 @@ using System.Text; using System.Threading.Tasks; using AutoMapper; +using SqlSugar; using WIDESEAWCS_Core; using WIDESEAWCS_Core.BaseRepository; using WIDESEAWCS_Core.BaseServices; using WIDESEAWCS_ITelescopicService; using WIDESEAWCS_Model.Models; +using WIDESEAWCS_DTO; +using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime; +using WIDESEAWCS_DTO.Telescopic; namespace WIDESEAWCS_TelescopicService { @@ -21,70 +25,138 @@ { _user = user; } - - public WebResponseContent ShowMaintence() + public WebResponseContent ShowMaintence(PaginationDTO pagination) { try { - var sys = _user.QueryData(); - var main = BaseDal.QueryData(); + int totalCount = 0; + var sys = _user.Db.Queryable<Sys_User>(); + var main = Db.Queryable<Dt_Maintenance>(); - var result = sys.Join(main, - u => u.UserName, - m => m.UserAccount, - (u, m) => new + var query = sys.InnerJoin<Dt_Maintenance>((a, b) => a.UserName == b.UserAccount); + if (!string.IsNullOrEmpty(pagination.searchKeyword)) + { + query = query.Where((a, b) => + a.UserTrueName.Contains(pagination.searchKeyword) || + a.UserName.Contains(pagination.searchKeyword) || + a.CardNumber.ToString().Contains(pagination.searchKeyword)|| + a.Userteam.Contains(pagination.searchKeyword) + ); + } + var result= query .Select((a, b) => new + { + b.ID, + a.UserTrueName, + a.UserName, + a.CardNumber, + a.Userteam, + a.HeadImageUrl, + b.IsPossible + }).ToPageList(pagination.pageIndex, pagination.pageSize, ref totalCount); + return new WebResponseContent + { + Status = true, + Data = new { - u.UserTrueName, - u.UserName, - u.CardNumber, - u.RoleName, - u.HeadImageUrl, - m.IsPossible, - }); - return new WebResponseContent { Status = true, Data = result }; + TotalCount = totalCount,//鎬绘暟 + PageIndex = pagination.pageIndex,//椤垫暟 + PageSize = pagination.pageSize,//涓�椤靛灏戜釜鏁版嵁 + Items = result + } + }; } catch (Exception ex) { - - return new WebResponseContent { Status = false, Data = ex }; + return new WebResponseContent { Status = false, Data = ex.Message }; } } - public WebResponseContent PersonnelMonitoring(bool ispossible) + + + + /// <summary> + /// 妯$硦鏌ヨ + /// </summary> + /// <param name="pageIndex"></param> + /// <param name="pageSize"></param> + /// <param name="searchKeyword"></param> + /// <returns></returns> + public WebResponseContent PersonnelMonitoring(PaginationDTO pagination) { try { - var sys = _user.QueryData(); - var main = BaseDal.QueryData(); + int totalCount = 0; + var sys = _user.Db.Queryable<Sys_User>(); + var main = Db.Queryable<Dt_Maintenance>(); - var result = sys.Join(main, - u => u.UserName, - m => m.UserAccount, - (u, m) => new + var query = sys.InnerJoin<Dt_Maintenance>((a, b) => a.UserName == b.UserAccount) + .Where((a, b) => b.IsPossible == "true"); // 鍏堢瓫閫� IsPossible 涓� true 鐨勬暟鎹� + + // 濡傛灉鎻愪緵浜嗘悳绱㈠叧閿瓧锛屽垯杩涜妯$硦鏌ヨ + if (!string.IsNullOrEmpty(pagination.searchKeyword)) + { + query = query.Where((a, b) => + a.UserTrueName.Contains(pagination.searchKeyword) || // 鎸夌湡瀹炲鍚嶆ā绯婃悳绱� + a.Userteam.Contains(pagination.searchKeyword)); // 鎸夌敤鎴风彮缁勬ā绯婃悳绱� + } + + // 濡傛灉鎻愪緵浜� status 鍙傛暟锛屽垯鎸夌姸鎬佺瓫閫� + if (pagination.status.HasValue)//绛変环if锛坰tatus锛�=null锛� + { + query = query.Where((a, b) => b.MaintenanceStatus == pagination.status.Value); + } + + var result = query + .Select((a, b) => new { - u.UserTrueName, - u.RoleName, - u.HeadImageUrl, - m.MaintenanceStatus, - m.MaintenanceDate, - m.IsPossible, - }).Where(x=>x.IsPossible== ispossible); - return new WebResponseContent { Status = true, Data = result }; + a.UserTrueName, + a.Userteam, + a.HeadImageUrl, + b.MaintenanceStatus, + b.MaintenanceDate, + b.IsPossible, + }) + .ToPageList(pagination.pageIndex, pagination.pageSize, ref totalCount); // 鍒嗛〉 + + return new WebResponseContent + { + Status = true, + Data = new + { + TotalCount = totalCount, // 鎬绘暟 + PageIndex = pagination.pageIndex, // 褰撳墠椤电爜 + PageSize = pagination.pageSize, // 姣忛〉鏁版嵁閲� + Items = result + } + }; } catch (Exception ex) { - - return new WebResponseContent { Status = false, Data = ex }; + return new WebResponseContent { Status = false, Data = ex.Message }; } } - public WebResponseContent RunOperation(int id) + + + + + + public WebResponseContent RunOperation(int id, string ispossible) { try { var mon = BaseDal.QueryFirst(x => x.ID == id); - mon.IsPossible = true; - BaseDal.UpdateData(mon); + if (ispossible == "true") + { + mon.IsPossible = "true"; + mon.MaintenanceDate = DateTime.Now; + BaseDal.UpdateData(mon); + } + else + { + mon.IsPossible = "false"; + BaseDal.UpdateData(mon); + } return new WebResponseContent { Status = true, Data = mon }; } catch (Exception ex) @@ -134,6 +206,66 @@ } /// <summary> + /// 妫�淇搷浣滆褰� + /// </summary> + /// <param name="pageIndex">椤垫暟</param> + /// <param name="pageSize">涓�椤靛灏戜釜鏁版嵁</param> + /// <returns></returns> + public WebResponseContent MaintenanceOperationRecord(PaginationDTO pagination) + { + try + { + int totalCount = 0; + var sys = _user.Db.Queryable<Sys_User>(); + var main = Db.Queryable<Dt_Maintenance>(); + + var query = sys.InnerJoin<Dt_Maintenance>((a, b) => a.UserName == b.UserAccount); + + if (!string.IsNullOrEmpty(pagination.searchKeyword)) + { + query = query.Where((a, b) => + a.UserTrueName.Contains(pagination.searchKeyword)|| + a.Userteam.Contains(pagination.searchKeyword)|| + a.HeadImageUrl.Contains(pagination.searchKeyword) + ); + } + + if (pagination.startDate.HasValue && pagination.endDate.HasValue) + { + query = query.Where((a, b) => b.MaintenancStartTime >= pagination.startDate.Value && b.MaintenancStartTime <= pagination.endDate.Value); + } + + var result = query.Select((a, b) => new + { + a.UserTrueName, + a.Userteam, + a.HeadImageUrl, + b.MaintenancStartTime, + b.MaintenancEendTime, + }).ToPageList(pagination.pageIndex, pagination.pageSize, ref totalCount); + + return new WebResponseContent + { + Status = true, + Data = new + { + TotalCount = totalCount,//鎬绘暟 + PageIndex = pagination.pageIndex,//椤垫暟 + PageSize = pagination.pageSize,//涓�椤靛灏戜釜鏁版嵁 + Items = result + } + }; + } + catch (Exception ex) + { + + return new WebResponseContent { Status = false, Message = "閿欒淇℃伅锛�" + ex.Message }; + } + } + + + + /// <summary> /// 鐘舵�佹灇涓� /// </summary> private enum Maint -- Gitblit v1.9.3