From ac93c4092a21dbf0fa9cf8b9b1302f2d5d183f61 Mon Sep 17 00:00:00 2001 From: yanjinhui <3306209981@qq.com> Date: 星期一, 09 六月 2025 20:48:20 +0800 Subject: [PATCH] 修改提示字段 --- project/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs | 161 ++++++++++++++++++++++------------------------------- 1 files changed, 67 insertions(+), 94 deletions(-) diff --git a/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs b/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs index 81671f3..a99fa9d 100644 --- a/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs +++ b/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs @@ -111,42 +111,22 @@ /// <summary> - /// 浜哄憳鐩戞帶 + /// 浜哄憳鐩戞帶锛堟暟瀛楀ぇ灞忥級 /// </summary> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <param name="searchKeyword"></param> - /// <returns></returns>(杩欎釜娌℃湁鐢ㄥ埌浜�) + /// <returns></returns> public WebResponseContent PersonnelMonitoring(PaginationDTO pagination) { try { - // 绗竴姝ワ細鑷姩娓呯悊杩囨湡妫�淇姸鎬� - var today = DateTime.Today; - var recordsToUpdate = Db.Queryable<Dt_Maintenance>() - .Where(b => b.MaintenanceDate != null && - b.MaintenanceDate.Value.Date < today ) - .ToList(); - - if (recordsToUpdate.Count > 0) - { - foreach (var record in recordsToUpdate)//鏇存柊 - { - record.MaintenanceDate = null;//娓呯┖妫�淇棩鏈� - record.MaintenancStartTime = null;//娓呯┖寮�濮嬫椂闂� - record.MaintenancEendTime = null;//娓呯┖缁撴潫鏃堕棿 - record.MaintenanceStatus = 0; // Set to false - record.IsPossible = "NULL"; //鏇存敼鐘舵�佷负false涓嶈繍琛屾淇�//榛樿涓篘ULL - } - Db.Updateable(recordsToUpdate).ExecuteCommand(); - } - 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) - .Where((a, b) => b.IsPossible == "true"); // 灞曠ず杩愯妫�淇殑 + .Where((a, b) => b.MaintenanceStatus==1); // 灞曠ず杩愯妫�淇殑 // 鎼滅储鍏抽敭瀛� if (!string.IsNullOrEmpty(pagination.searchKeyword)) @@ -156,37 +136,22 @@ a.Userteam.Contains(pagination.searchKeyword)); } - // 鐘舵�佸弬鏁� - if (pagination.status.HasValue) - { - query = query.Where((a, b) => b.MaintenanceStatus == pagination.status.Value); - } - - // 濡傛灉涓嶆槸绠$悊鍛橈紝璇锋寜閮ㄩ棬杩囨护 - if (pagination.account != "admin") - { - var currentUser = _user.Db.Queryable<Sys_User>() - .Where(u => u.UserName == pagination.account) - .First(); - - if (currentUser == null) - { - return new WebResponseContent { Status = false, Data = "鏈幏鍙栧埌鐢ㄦ埛淇℃伅" }; - } - - int? deptId = currentUser.Dept_Id; - query = query.Where((a, b) => a.Dept_Id == deptId); - } + //// 鐘舵�佸弬鏁� + //if (pagination.status.HasValue) //澶氫紶涓�涓姸鎬� + //{ + // query = query.Where((a, b) => b.MaintenanceStatus == pagination.status.Value); + //} var result = query .Select((a, b) => new { a.UserTrueName, - a.Userteam, - a.HeadImageUrl, - b.MaintenanceStatus, - b.MaintenanceDate, - b.IsPossible, + a.Userteam,//鐝粍 + a.Unit,//鍗曚綅 + b.ID,//id + b.MaintenanceStatus,//妫�淇姸鎬� + b.CreateDate,//鏃ユ湡 + b.MaintenancStartTime,//寮�濮嬫椂闂� }) .ToPageList(pagination.pageIndex, pagination.pageSize, ref totalCount); @@ -213,43 +178,38 @@ /// <summary> - /// 鏇存柊鐘舵�佹槸鍚﹀厑璁歌繘鍏ユ淇紙娣诲姞浜嗘淇褰曪級 + /// 鏇存柊鐘舵�佸己鍒朵笅绾匡紙娣诲姞浜嗘淇褰曪級 /// </summary> /// <param name="id"></param> /// <param name="ispossible"></param> /// <returns></returns> - public WebResponseContent RunOperation(int id, string ispossible) + public WebResponseContent RunOperation(int id,string LocalIP) { try { - var mon = BaseDal.QueryFirst(x => x.ID == id); - if (mon == null) + var user = BaseDal.QueryData();//妫�淇〃 + + var maint = user.Where(x => x.ID == id).FirstOrDefault(); //鍦ㄦ淇〃涓厛鎵惧埌璇ョ敤鎴� + var sysuer = _user.QueryData(x => x.UserName == maint.UserAccount).FirstOrDefault(); + if (maint == null ||sysuer==null) { - return new WebResponseContent { Status = false, Message = "鏃犳硶鏇存敼锛屾病鏈夋壘鍒拌鐢ㄦ埛" }; + return new WebResponseContent { Status = false, Message = "娌℃湁鎵惧埌璇ョ敤鎴�" }; } - var sysuer = _user.QueryData(x => x.UserName == mon.UserAccount).FirstOrDefault(); - if (ispossible == "true") + maint.MaintenanceStatus = 0;//鏀瑰彉鐘舵�佸己鍒朵笅绾� + BaseDal.UpdateData(maint); + //鎻掑叆璁板綍琛� + var recording = new Dt_MaintenanceTeam //娣诲姞璁板綍 { - mon.IsPossible = "true"; - mon.MaintenanceDate = DateTime.Now; - BaseDal.UpdateData(mon); - var recording = new Dt_MaintenanceTeam //娣诲姞璁板綍 - { - OperatorName = sysuer.UserTrueName, - TeamName = sysuer.RoleName, - DistributionTime = DateTime.Now, - Creater = "admin", - CreateDate = DateTime.Now, + Account = maint.UserAccount, + MaintenanceStatus = 0, + OperatorName = sysuer.UserTrueName, + TeamName = sysuer.RoleName, + DistributionTime = DateTime.Now, + IPAddress = LocalIP, + }; + _team.AddData(recording); - }; - _team.AddData(recording); - } - else - { - mon.IsPossible = "false"; - BaseDal.UpdateData(mon); - } - return new WebResponseContent { Status = true, Data = mon }; + return new WebResponseContent { Status = true,Message="寮哄埗涓嬬嚎鎴愬姛", Data = recording }; } catch (Exception ex) { @@ -642,19 +602,19 @@ } } - /// <summary> /// 缁撴潫妫�淇� - /// </summary>MaintenanceStatus 0浠h〃妫�淇畬鎴� 1浠h〃妫�淇腑 + /// </summary> /// <param name="account"></param> /// <returns></returns> public WebResponseContent StopMaintenanceTask(string account) { try { - var user = BaseDal.QueryData();//妫�淇〃 + var user = BaseDal.QueryData(); // 妫�淇〃 var maint = user.Where(x => x.UserAccount == account).FirstOrDefault(); - var sysuer = _user.QueryData(x => x.UserName == account).FirstOrDefault();//鐢ㄦ埛琛� + var sysuer = _user.QueryData(x => x.UserName == account).FirstOrDefault(); // 鐢ㄦ埛琛� + if (maint == null || sysuer == null) { return new WebResponseContent { Status = false, Message = "娌℃湁鎵惧埌璇ョ敤鎴�" }; @@ -662,33 +622,46 @@ // 鏌ユ壘璇ョ敤鎴峰湪 _team 琛ㄤ腑鐨勬渶鏂颁竴鏉¤褰� var lastRecord = _team.QueryData(x => x.Account == account) - .OrderByDescending(x => x.CreateDate) - .FirstOrDefault(); + .OrderByDescending(x => x.CreateDate) + .FirstOrDefault(); if (lastRecord == null || lastRecord.MaintenanceStatus != 1) { return new WebResponseContent { Status = false, Message = "浣犺繕娌℃湁寮�濮嬫淇紝璇峰厛鐐瑰嚮寮�濮嬫淇�" }; } - if (maint.IsLeader == 1)//濡傛灉璇ョ敤鎴锋槸鐝暱锛岄偅涔堣绛夊叏閮ㄤ汉閮芥淇畬鎴愶紝浠栨墠鍙互缁撴潫妫�淇� + // 妫�鏌ユ槸鍚﹁嚦灏戞湁涓�涓粍闀垮湪鍦� + var activeLeaders = user.Where(x => x.IsLeader == 1 && x.MaintenanceStatus == 1).ToList(); + + // 濡傛灉褰撳墠鐢ㄦ埛鏄粍闀� + if (maint.IsLeader == 1) { - //鍏堟煡鎵炬墍鏈夌敤鎴风殑缁勬槸閭d釜缁勭殑锛岀粍鍛樼姸鎬佹湁涓�涓笉鏄�1 - // 鏌ユ壘鍚岀粍鏈畬鎴愮殑缁勫憳锛圛sLeader=0 && MaintenanceStatus=1锛� - var hasUnfinishedMembers = user.Where(x =>x.IsLeader == 0 &&x.MaintenanceStatus == 1).ToList(); //锛欰ny()鏈変竴涓弧瓒冲氨杩斿洖true琛ㄧず瀛樺湪婊¤冻鏉′欢鐨勮褰� - if (hasUnfinishedMembers.Count>0) + // 濡傛灉鏄渶鍚庝竴涓湪鍦虹殑缁勯暱 + if (activeLeaders.Count == 1 && activeLeaders[0].UserAccount == account) { - return new WebResponseContent { Status = false, Message = "杩樻湁缁勫憳鏈畬鎴愬綋鍓嶆壒娆℃淇�" }; + // 妫�鏌ユ槸鍚﹁繕鏈夋湭瀹屾垚鐨勭粍鍛� + var unfinishedMembers = user.Where(x => x.IsLeader == 0 && x.MaintenanceStatus == 1).Any(); + if (unfinishedMembers) + { + return new WebResponseContent + { + Status = false, + Message = "鎮ㄦ槸鏈�鍚庝竴涓湪鍦虹殑缁勯暱锛岃绛夊緟鎵�鏈夌粍鍛樺畬鎴愭淇悗鍐嶇粨鏉�" + }; + } } } - //濡傛灉婊¤冻涓嬮潰鐨勬潯浠跺氨寮�濮� - maint.MaintenancEendTime = DateTime.Now;//璁板綍缁撴潫鏃堕棿 - maint.MaintenanceStatus = 0;//鏇存敼鐘舵�� + + // 鏇存柊褰撳墠鐢ㄦ埛鐨勬淇姸鎬� + maint.MaintenancEendTime = DateTime.Now; // 璁板綍缁撴潫鏃堕棿 + maint.MaintenanceStatus = 0; // 鏇存敼鐘舵�� BaseDal.UpdateData(maint); - ////鎻掑叆璁板綍琛� - var recording = new Dt_MaintenanceTeam //娣诲姞璁板綍 + + // 鎻掑叆璁板綍琛� + var recording = new Dt_MaintenanceTeam // 娣诲姞璁板綍 { Account = account, - MaintenanceStatus=0, + MaintenanceStatus = 0, OperatorName = sysuer.UserTrueName, TeamName = sysuer.RoleName, EndTime = DateTime.Now, -- Gitblit v1.9.3