From 9f3858dd723a69c56dbab909e0c7e6c5ef8b85a8 Mon Sep 17 00:00:00 2001 From: yanjinhui <3306209981@qq.com> Date: 星期一, 09 六月 2025 20:27:19 +0800 Subject: [PATCH] 修改plc信息,以及进入检修接口 --- project/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs | 97 ++++++++++++++++++++++++++---------------------- 1 files changed, 53 insertions(+), 44 deletions(-) diff --git a/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs b/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs index 0454faa..a99fa9d 100644 --- a/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs +++ b/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/MaintenanceService.cs @@ -148,6 +148,7 @@ a.UserTrueName, a.Userteam,//鐝粍 a.Unit,//鍗曚綅 + b.ID,//id b.MaintenanceStatus,//妫�淇姸鎬� b.CreateDate,//鏃ユ湡 b.MaintenancStartTime,//寮�濮嬫椂闂� @@ -177,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) { @@ -606,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 = "娌℃湁鎵惧埌璇ョ敤鎴�" }; @@ -626,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