From cdade79054bddf08239bdbdbbc4d0eafb9497adb Mon Sep 17 00:00:00 2001 From: yanjinhui <3306209981@qq.com> Date: 星期五, 11 四月 2025 13:42:53 +0800 Subject: [PATCH] 优化更新人脸识别 --- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs | 159 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 154 insertions(+), 5 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 aad8de4..8a0db39 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" @@ -25,6 +25,8 @@ { _user = user; } + + public WebResponseContent ShowMaintence(PaginationDTO pagination) { try @@ -75,7 +77,7 @@ /// <summary> - /// 妯$硦鏌ヨ + /// 浜哄憳鐩戞帶 /// </summary> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> @@ -140,7 +142,12 @@ - + /// <summary> + /// 鏇存柊鐘舵�佹槸鍚﹀厑璁歌繘鍏ユ淇� + /// </summary> + /// <param name="id"></param> + /// <param name="ispossible"></param> + /// <returns></returns> public WebResponseContent RunOperation(int id, string ispossible) { try @@ -166,6 +173,12 @@ } } + + /// <summary> + /// 鏇存敼鐘舵�� + /// </summary> + /// <param name="id"></param> + /// <returns></returns> public WebResponseContent ChangeTasState(int id) { try @@ -219,8 +232,8 @@ 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) => @@ -229,12 +242,33 @@ 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); } + //鎺掑簭 + if (!string.IsNullOrEmpty(pagination.sortField)) + { + var isAcs = pagination.sortOrder?.ToLower() == "asc"; + query = pagination.sortField.ToLower() switch + { + + "maintenancstarttime" => isAcs ? query.OrderBy((a, b) => b.MaintenancStartTime) : query.OrderByDescending((a, b) => b.MaintenancStartTime), + + "maintenancenendtime" => isAcs ? query.OrderBy((a, b) => b.MaintenancEendTime) : query.OrderByDescending((a, b) => b.MaintenancEendTime), + + _ => query.OrderByDescending((a, b) => b.Creater) // 榛樿鎸夊垱寤烘椂闂撮檷搴� + }; + + } + else + { + query=query.OrderByDescending((a, b) => b.Creater); + } + + //杩斿洖缁撴灉 var result = query.Select((a, b) => new { a.UserTrueName, @@ -263,7 +297,122 @@ } } - + + /// <summary> + /// 鐪嬩粖澶╃殑妫�淇换鍔� + /// </summary> + /// <param name="id"></param> + /// <returns></returns> + public WebResponseContent MaintenanceTasksOfTheDay(string account) + { + try + { + var today = DateTime.Today; // 浠婂ぉ鐨勯浂鐐� + var tomorrow = today.AddDays(1); // 鏄庡ぉ鐨勯浂鐐� + + var query = _user.Db.Queryable<Sys_User>() + .InnerJoin<Dt_Maintenance>((a, b) => a.UserName == b.UserAccount) + .Where((a, b) => b.IsPossible == "true" && b.UserAccount == account && + b.MaintenanceDate >= today && b.MaintenanceDate < tomorrow).Select((a, b) => new + { + b.ID, + a.UserTrueName, + a.UserName, + a.CardNumber, + a.Userteam, + a.HeadImageUrl, + b.IsPossible, + b.MaintenanceDate, + b.MaintenancStartTime, + b.MaintenancEendTime, + }).ToList(); + if (query==null) + { + return new WebResponseContent { Status = false, Message = "浣犱粖澶╂病鏈夋淇换鍔�" }; + } + + + + return new WebResponseContent { Status=true, Data = query }; + } + catch (Exception ex) + { + + return new WebResponseContent { Status = false, Message = "閿欒淇℃伅锛�" + ex.Message }; + } + + } + + /// <summary> + /// 寮�濮嬫淇� + /// </summary> + /// <param name="account"></param> + /// <returns></returns> + public WebResponseContent StartMaintenceTask(string account) + { + try + { + var today = DateTime.Today; // 浠婂ぉ鐨勯浂鐐� + var tomorrow = today.AddDays(1); // 鏄庡ぉ鐨勯浂鐐� + + + var maint = BaseDal.QueryData(x => + x.UserAccount == account && + x.IsPossible == "true" && + x.MaintenanceDate >= today && + x.MaintenanceDate < tomorrow + ).FirstOrDefault(); + + if (maint == null) + { + return new WebResponseContent { Status = false, Message = "鏈壘鍒颁粖鏃ョ殑缁存姢浠诲姟璁板綍" }; + } + + maint.MaintenancStartTime = DateTime.Now; + BaseDal.UpdateData(maint); + + return new WebResponseContent { Status = true, Data = maint }; + } + catch (Exception ex) + { + return new WebResponseContent { Status = false, Message = "閿欒淇℃伅锛�" + ex.Message }; + } + } + + + /// <summary> + /// 缁撴潫妫�淇� + /// </summary> + /// <param name="account"></param> + /// <returns></returns> + public WebResponseContent StopMaintenanceTask(string account) + { + try + { + var today = DateTime.Today; // 浠婂ぉ鐨勯浂鐐� + var tomorrow = today.AddDays(1); // 鏄庡ぉ鐨勯浂鐐� + + var maint = BaseDal.QueryData(x => x.UserAccount == account && x.IsPossible == "true" + && x.MaintenanceDate >= today &&x.MaintenanceDate < tomorrow).FirstOrDefault(); + if (maint == null) + { + return new WebResponseContent { Status = false, Message = "鏈壘鍒板彲鐢ㄧ殑缁存姢浠诲姟璁板綍" }; + } + // 淇敼鍏剁粨鏉熸椂闂� + maint.MaintenancEendTime = DateTime.Now; + maint.IsPossible = "ok";//ok灏变唬琛ㄥ畬鎴愪簡 + BaseDal.UpdateData(maint); + return new WebResponseContent { Status = true, Data = maint }; + + } + catch (Exception ex) + { + + return new WebResponseContent { Status = false, Message = "閿欒淇℃伅锛�" + ex.Message }; + } + } + + /// <summary> /// 鐘舵�佹灇涓� -- Gitblit v1.9.3