From 114ffafeeb20ef7066cb2e2882bb58b96f791ab5 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期一, 20 十月 2025 11:33:11 +0800
Subject: [PATCH] 提交数据
---
项目代码/后端/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/ParametersService.cs | 195 ++++++++++++++++++++++++++++++++----------------
1 files changed, 130 insertions(+), 65 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/ParametersService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/ParametersService.cs"
index 33da6ce..8d38f61 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/ParametersService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/ParametersService.cs"
@@ -5,6 +5,8 @@
using System.Text;
using System.Threading.Tasks;
using AutoMapper;
+using Microsoft.AspNetCore.Http;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
using SqlSugar;
using WIDESEAWCS_Core;
@@ -24,30 +26,46 @@
{
public IRepository<Dt_Parameters> Repository => BaseDal;
private readonly IRepository<Sys_User> _user;
+ private readonly IRepository<Dt_AlarmResetHsy> _alarm;
+ private readonly IRepository<Dt_CustomIPaddress> _cunstomip;
- public ParametersService(IRepository<Dt_Parameters> BaseDal, IRepository<Sys_User> user) : base(BaseDal)
+ public ParametersService(IRepository<Dt_Parameters> BaseDal, IRepository<Sys_User> user, IRepository<Dt_AlarmResetHsy> alarm, IRepository<Dt_CustomIPaddress> cunstomip) : base(BaseDal)
{
- _user = user;
+ _user = user;
+ _alarm = alarm;
+ _cunstomip = cunstomip;
}
/// <summary>
- /// 鑷姩鎺у埗浼哥缉鏉嗙殑浼稿嚭鍜岀缉鍥為�熷害
+ /// 鑷姩鎺у埗璀︽儠鏈烘瀯鐨勪几鍑哄拰缂╁洖閫熷害
/// </summary>
/// <param name="ExtendedState">浼�/鍑虹姸鎬�</param>
/// <returns></returns>
- public WebResponseContent automation(string ExtendedState)
+ public WebResponseContent automation(string ExtendedState, string LocalIP)
{
try
{
+
+ ////鏍规嵁int.TryParse(AppSettings.Get("DepartmentID")璇诲彇鍒板綋鍓嶆槸杞ㄩ亾鍑狅紝鎵�鏈変汉閮藉彧鑳芥搷浣滃綋鍓�
+ //if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
+ //{
+ // return new WebResponseContent { Status = false, Message = "閰嶇疆椤� DepartmentID 鏃犳硶杞崲涓烘暣鏁�" };
+ //};
- //鏍规嵁int.TryParse(AppSettings.Get("DepartmentID")璇诲彇鍒板綋鍓嶆槸杞ㄩ亾鍑狅紝鎵�鏈変汉閮藉彧鑳芥搷浣滃綋鍓�
- if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
+ //var devices = GetDevicesByDeptId(deid);
+ //鍏堟煡璇㈣澶噄p閰嶇疆琛紙Dt_CustomIPaddress锛夛紝鐪嬫槸鍚︽湁閰嶇疆锛屾病鏈夊氨鎻愮ず浠栭厤缃�
+ var customip=_cunstomip.QueryData(x=>x.IPaddress==LocalIP).FirstOrDefault();
+ if (customip == null)
{
- return new WebResponseContent { Status = false, Message = "閰嶇疆椤� DepartmentID 鏃犳硶杞崲涓烘暣鏁�" };
- };
+ return new WebResponseContent { Status = false, Message = "浣犺繕娌℃湁閰嶇疆璇ヨ建閬撶珯鐨処P鍦板潃,璇峰厛閰嶇疆鍦ㄦ搷浣�" };
+ }
+ var deid = customip.StationID;
var devices = GetDevicesByDeptId(deid);
+
+
+
//鎵惧埌Dt_Parameters涓殑鏈�鏂颁竴鏉℃暟鎹�
var para = BaseDal.QueryData().Where(x => x.Deptid == deid).OrderByDescending(x => x.CreateDate).FirstOrDefault();
@@ -60,8 +78,16 @@
int rigtpostition = (int)para.RightPosition;//鍙充几鍑轰綅缃�
string message = "";
+ var alarm = _alarm.QueryData(x => x.ResetStatus == true && x.Deptid == deid && !x.AlarmContent.Contains("闅滅")); // 鎺掗櫎 AlarmContent 鍖呭惈 "闅滅s" 鐨勮褰�.ToList();
+ if (alarm.Count > 0)
+ {
+ return new WebResponseContent { Status = true, Message = "璀︽儠鏈烘瀯鎶ヨ锛岃鍏堝浣�" };
+ }
+
+
try
{
+
if (devices.Value.left.Communicator.Read<bool>("M117"))
{
@@ -74,6 +100,8 @@
}
try
{
+
+
if (devices.Value.right.Communicator.Read<bool>("M117"))
{
return new WebResponseContent { Status = true, Message = "鐜板湪姝e湪杩涜涓紝绛夊緟鎿嶄綔瀹屾垚" };
@@ -91,7 +119,7 @@
{
if (devices.Value.left.Communicator.Read<float>("D80")>= liftPosition-5)//鍒拌揪鏈�澶т綅缃�)
{
- message += "宸︿几缂╂潌鍒拌揪鐩爣浣嶇疆锛�";
+ message += "宸﹁鎯曟満鏋勫埌杈剧洰鏍囦綅缃紱";
}
else
{
@@ -107,7 +135,7 @@
{
if (devices.Value.right.Communicator.Read<float>("D80") >= rigtpostition-5)
{
- message += "鍙充几缂╂潌鍒拌揪鐩爣浣嶇疆锛�";
+ message += "鍙宠鎯曟満鏋勫埌杈剧洰鏍囦綅缃紱";
}
else
{
@@ -126,7 +154,7 @@
{
if (devices.Value.left.Communicator.Read<bool>("M115")) //鍒拌揪鍘熺偣浣�
{
- message += "宸︿几缂╂潌宸插埌鍘熺偣锛�";
+ message += "宸﹁鎯曟満鏋勫凡鍒板師鐐癸紱";
}
else
{
@@ -144,7 +172,7 @@
{
if (devices.Value.right.Communicator.Read<bool>("M115"))
{
- message += "鍙充几缂╂潌宸插埌鍘熺偣锛�";
+ message += "鍙宠鎯曟満鏋勫凡鍒板師鐐癸紱";
}
else
{
@@ -184,20 +212,22 @@
/// <summary>
- /// 鎵嬪姩鎺у埗锛屼几缂╂潌鐨勭缉鍥炲拰浼稿嚭閫熷害
+ /// 鎵嬪姩鎺у埗锛岃鎯曟満鏋勭殑缂╁洖鍜屼几鍑洪�熷害
/// </summary>
- /// <param name="position">浼哥缉鏉嗙殑浣嶇疆锛堝乏鍙筹級</param>
+ /// <param name="position">璀︽儠鏈烘瀯鐨勪綅缃紙宸﹀彸锛�</param>
/// <param name="ExtendedState">浼�/缂╃姸鎬�</param>
/// <returns></returns>
///
- public WebResponseContent ManualOperation(string position, string ExtendedState)
+ public WebResponseContent ManualOperation(string position, string ExtendedState, string LocalIP)
{
try
{
- if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
+ var customip = _cunstomip.QueryData(x => x.IPaddress == LocalIP).FirstOrDefault();
+ if (customip == null)
{
- return new WebResponseContent { Status = false, Message = "閰嶇疆椤� DepartmentID 鏃犳硶杞崲涓烘暣鏁�" };
+ return new WebResponseContent { Status = false, Message = "浣犺繕娌℃湁閰嶇疆璇ヨ建閬撶珯鐨処P鍦板潃,璇峰厛閰嶇疆鍦ㄦ搷浣�" };
}
+ var deid = customip.StationID;
var devices = GetDevicesByDeptId(deid);
//淇╀釜plc宸﹀彸鍚勪竴涓�
@@ -213,9 +243,20 @@
//bool canLeft = true,
// canRight = true;
string message = "";
+ var alarm = _alarm.QueryData(x => x.ResetStatus == true && x.Deptid == deid && !x.AlarmContent.Contains("闅滅")); // 鎺掗櫎 AlarmContent 鍖呭惈 "闅滅s" 鐨勮褰�.ToList();
+ if (alarm.Count > 0)
+ {
+ return new WebResponseContent { Status = true, Message = "璀︽儠鏈烘瀯鎶ヨ锛岃鍏堝浣�" };
+ }
try
{
+
+ //var alarmSignals = new[] { "M109", "M111", "M110", "M120" };
+ //if (alarmSignals.Any(signal => devices.Value.left.Communicator.Read<bool>(signal)))
+ //{
+ // return new WebResponseContent { Status = true, Message = "璀︽儠鏈烘瀯鎶ヨ锛岃鍏堝浣�" };
+ //}
if (devices.Value.left.Communicator.Read<bool>("M117")) //榛樿鏄痜lase
{
@@ -228,6 +269,8 @@
}
try
{
+
+
if (devices.Value.right.Communicator.Read<bool>("M117"))
{
return new WebResponseContent { Status = true, Message = "鐜板湪姝e湪杩涜涓紝绛夊緟鎿嶄綔瀹屾垚" };
@@ -241,7 +284,7 @@
{
if (devices.Value.left.Communicator.Read<float>("D80") >= liftPosition - 5) //鍒拌揪鐩爣浣嶇疆
{
- message += "宸︿几缂╂潌鍒拌揪鐩爣浣嶇疆锛�";
+ message += "宸﹁鎯曟満鏋勫埌杈剧洰鏍囦綅缃紱";
}
else
{
@@ -252,7 +295,7 @@
devices.Value.left.Communicator.Write<bool>("M100", false); // 閲婃斁鎸夐挳
- Console.WriteLine($"{position}浼哥缉鏉嗘墜鍔ㄤ几鍑簕ext}");
+ Console.WriteLine($"{position}璀︽儠鏈烘瀯鎵嬪姩浼稿嚭{ext}");
}
}
@@ -260,16 +303,16 @@
{
if (devices.Value.left.Communicator.Read<bool>("M115"))//缂╁洖鐨勬椂鍊欏垽鏂�)
{
- message += "宸︿几缂╂潌宸插埌鍘熺偣锛�";
+ message += "宸﹁鎯曟満鏋勫凡鍒板師鐐癸紱";
}
else
{
- //devices.Value.left.Communicator.Write<int>("D1004", liftPosition);//浼稿嚭浣嶇疆
+ devices.Value.left.Communicator.Write<int>("D1004", liftPosition);//浼稿嚭浣嶇疆
devices.Value.left.Communicator.Write<int>("D1000", ext);//宸LC鎵嬪姩浼稿嚭缂╁洖閫熷害
devices.Value.left.Communicator.Write<bool>("M101", true);
Thread.Sleep(100); // 绛夊緟100ms锛堟ā鎷熸寜閽寜涓嬶級
devices.Value.left.Communicator.Write<bool>("M101", false); // 閲婃斁鎸夐挳
- Console.WriteLine($"{position}浼哥缉鏉嗘墜鍔ㄧ缉鍥瀧ext}");
+ Console.WriteLine($"{position}璀︽儠鏈烘瀯鎵嬪姩缂╁洖{ext}");
}
}
@@ -278,7 +321,7 @@
{
if (devices.Value.right.Communicator.Read<float>("D80") >= rigtpostition - 5)
{
- message += "鍙充几缂╂潌鍒拌揪鐩爣浣嶇疆锛�";
+ message += "鍙宠鎯曟満鏋勫埌杈剧洰鏍囦綅缃紱";
}
else
{
@@ -287,7 +330,7 @@
devices.Value.right.Communicator.Write<bool>("M100", true);
Thread.Sleep(100); // 绛夊緟100ms锛堟ā鎷熸寜閽寜涓嬶級
devices.Value.right.Communicator.Write<bool>("M100", false); // 閲婃斁鎸夐挳
- Console.WriteLine($"{position}浼哥缉鏉嗘墜鍔ㄤ几鍑簕ret}");
+ Console.WriteLine($"{position}璀︽儠鏈烘瀯鎵嬪姩浼稿嚭{ret}");
}
@@ -296,16 +339,16 @@
{
if (devices.Value.right.Communicator.Read<bool>("M115"))
{
- message += "鍙充几缂╂潌宸插埌鍘熺偣锛�";
+ message += "鍙宠鎯曟満鏋勫凡鍒板師鐐癸紱";
}
else
{
- //devices.Value.right.Communicator.Write<int>("D1004", rigtpostition);//浼稿嚭浣嶇疆
+ devices.Value.right.Communicator.Write<int>("D1004", rigtpostition);//浼稿嚭浣嶇疆
devices.Value.right.Communicator.Write<int>("D1000", ret);//鍙砅LC鎵嬪姩浼稿嚭缂╁洖閫熷害
devices.Value.right.Communicator.Write<bool>("M101", true);
Thread.Sleep(100); // 绛夊緟100ms锛堟ā鎷熸寜閽寜涓嬶級
devices.Value.right.Communicator.Write<bool>("M101", false); // 閲婃斁鎸夐挳
- Console.WriteLine($"{position}浼哥缉鏉嗘墜鍔ㄧ缉鍥瀧ret}");
+ Console.WriteLine($"{position}璀︽儠鏈烘瀯鎵嬪姩缂╁洖{ret}");
}
}
@@ -336,39 +379,46 @@
/// <summary>
- /// 鏍规嵁鐢ㄦ埛娣诲姞閫熷害
+ /// 鏍规嵁褰撳墠鏈烘ip鍦板潃鏉ユ坊鍔犻�熷害
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
- public WebResponseContent AddSpeed(SpeedDTO entity)
+ public WebResponseContent AddSpeed(SpeedDTO entity,string LocalIP)
{
try
{
- // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛
- var user = _user.QueryData(x => x.UserName == entity.account).FirstOrDefault();
- // 鍒ゆ柇锛氬鏋滀笉鏄鐞嗗憳 && Dept_Id 涓虹┖锛屽垯鎻愮ず閿欒
- if (user.UserName != "admin" && user.Dept_Id == null)
+ // // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛
+ // var user = _user.QueryData(x => x.UserName == entity.account).FirstOrDefault();
+ //// 鍒ゆ柇锛氬鏋滀笉鏄鐞嗗憳 && Dept_Id 涓虹┖锛屽垯鎻愮ず閿欒
+ // if (user.UserName != "admin" && user.Dept_Id == null)
+ // {
+ // return new WebResponseContent { Status = false, Message = "浣犵殑璐﹀彿娌℃湁璁剧疆杞ㄩ亾绔欏彿锛屾棤娉曟坊鍔狅紝璇疯仈绯荤鐞嗗憳" };
+ // }
+
+ //var dept = user.Dept_Id;
+
+ //// 鑾峰彇閰嶇疆鏂囦欢涓殑 DepartmentID锛堢鐞嗗憳涓撶敤锛�
+ //if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
+ //{
+ // return new WebResponseContent
+ // {
+ // Status = false,
+ // Message = "閰嶇疆椤� DepartmentID 鏃犳硶杞崲涓烘暣鏁�"
+ // };
+ //}
+
+
+ //// 鍒ゆ柇鏄惁涓虹鐞嗗憳璐﹀彿
+ //bool isAdmin = user?.UserName?.Equals("admin") == true; //濡傛灉褰撳墠鐢ㄦ埛涓嶄负绌猴紝涓旂敤鎴峰悕鏄� "admin"锛屽氨璁や负杩欎釜鐢ㄦ埛鏄鐞嗗憳
+
+ //鍘昏鍙栧搴旇澶囩殑ip鍦板潃
+ var customip = _cunstomip.QueryData(x => x.IPaddress == LocalIP).FirstOrDefault();
+ if (customip == null)
{
- return new WebResponseContent { Status = false, Message = "浣犵殑璐﹀彿娌℃湁璁剧疆杞ㄩ亾绔欏彿锛屾棤娉曟坊鍔狅紝璇疯仈绯荤鐞嗗憳" };
+ return new WebResponseContent { Status = false, Message = "浣犺繕娌℃湁閰嶇疆璇ヨ建閬撶珯鐨処P鍦板潃,璇峰厛閰嶇疆鍦ㄦ搷浣�" };
}
-
- var dept = user.Dept_Id;
+ var deid = customip.StationID;
- // 鑾峰彇閰嶇疆鏂囦欢涓殑 DepartmentID锛堢鐞嗗憳涓撶敤锛�
- if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
- {
- return new WebResponseContent
- {
- Status = false,
- Message = "閰嶇疆椤� DepartmentID 鏃犳硶杞崲涓烘暣鏁�"
- };
- }
-
-
- // 鍒ゆ柇鏄惁涓虹鐞嗗憳璐﹀彿
- bool isAdmin = user?.UserName?.Equals("admin") == true; //濡傛灉褰撳墠鐢ㄦ埛涓嶄负绌猴紝涓旂敤鎴峰悕鏄� "admin"锛屽氨璁や负杩欎釜鐢ㄦ埛鏄鐞嗗憳
-
- // 鏍规嵁鏄惁鏄鐞嗗憳鍐冲畾浣跨敤鍝釜 Deptid
var parmet = new Dt_Parameters
{
ExtendSpeed = entity.ExtendSpeed,
@@ -376,8 +426,9 @@
ManualExtend = entity.ManualExtend,
ManualRetraction = entity.ManualRetraction,
LeftPosition = entity.LeftPosition,
- RightPosition = entity.RightPosition,
- Deptid = isAdmin ? deid : dept.GetValueOrDefault()//濡傛灉褰撳墠鐢ㄦ埛鏄鐞嗗憳锛屽氨鐢ㄩ厤缃枃浠朵腑鐨� DepartmentID锛屽惁鍒欑敤浼犲叆鐨� entity 鍙傛暟涓殑 Deptid
+ RightPosition = entity.RightPosition,
+ //Deptid = isAdmin ? deid : dept.GetValueOrDefault()//濡傛灉褰撳墠鐢ㄦ埛鏄鐞嗗憳锛屽氨鐢ㄩ厤缃枃浠朵腑鐨� DepartmentID锛屽惁鍒欑敤浼犲叆鐨� entity 鍙傛暟涓殑 Deptid
+ Deptid = deid
};
// 娣诲姞鏁版嵁
AddData(parmet);
@@ -402,16 +453,24 @@
///褰撹嚜鍔ㄤ几鍑洪渶瑕佹殏鍋滄椂锛屾殏鍋滄寜閽�
/// </summary>
/// <returns></returns>
- public WebResponseContent PauseButton()
+ public WebResponseContent PauseButton(string LocalIP)
{
try
{
- //鏍规嵁int.TryParse(AppSettings.Get("DepartmentID")璇诲彇鍒板綋鍓嶆槸杞ㄩ亾鍑狅紝鎵�鏈変汉閮藉彧鑳芥搷浣滃綋鍓�
- if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
+ ////鏍规嵁int.TryParse(AppSettings.Get("DepartmentID")璇诲彇鍒板綋鍓嶆槸杞ㄩ亾鍑狅紝鎵�鏈変汉閮藉彧鑳芥搷浣滃綋鍓�
+ //if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
+ //{
+ // return new WebResponseContent { Status = false, Message = "閰嶇疆椤� DepartmentID 鏃犳硶杞崲涓烘暣鏁�" };
+ //};
+ //var devices = GetDevicesByDeptId(deid);
+ var customip = _cunstomip.QueryData(x => x.IPaddress == LocalIP).FirstOrDefault();
+ if (customip == null)
{
- return new WebResponseContent { Status = false, Message = "閰嶇疆椤� DepartmentID 鏃犳硶杞崲涓烘暣鏁�" };
- };
+ return new WebResponseContent { Status = false, Message = "浣犺繕娌℃湁閰嶇疆璇ヨ建閬撶珯鐨処P鍦板潃,璇峰厛閰嶇疆鍦ㄦ搷浣�" };
+ }
+ var deid = customip.StationID;
var devices = GetDevicesByDeptId(deid);
+
try
{
devices.Value.left.Communicator.Write<bool>("M104", true);
@@ -443,18 +502,24 @@
/// <summary>
- /// 鑾峰彇褰撳墠绋嬪簭鏈�鏂扮殑浼哥缉鏉嗛�熷害
+ /// 鑾峰彇褰撳墠绋嬪簭鏈�鏂扮殑璀︽儠鏈烘瀯閫熷害
/// </summary>
/// <returns></returns>
- public WebResponseContent BackfillSpeed()
+ public WebResponseContent BackfillSpeed(string LocalIP)
{
try
{
- if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
- {
- return new WebResponseContent { Status = false, Message = "閰嶇疆椤� DepartmentID 鏃犳硶杞崲涓烘暣鏁�" };
+ //if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
+ //{
+ // return new WebResponseContent { Status = false, Message = "閰嶇疆椤� DepartmentID 鏃犳硶杞崲涓烘暣鏁�" };
+ //}
+ var customip = _cunstomip.QueryData(x => x.IPaddress == LocalIP).FirstOrDefault();
+ if (customip == null)
+ {
+ return new WebResponseContent { Status = false, Message = "浣犺繕娌℃湁閰嶇疆璇ヨ建閬撶珯鐨処P鍦板潃,璇峰厛閰嶇疆鍦ㄦ搷浣�" };
}
+ var deid = customip.StationID;
var para = BaseDal.QueryData().Where(x => x.Deptid == deid).OrderByDescending(x => x.CreateDate).FirstOrDefault();
if (para == null)
{
@@ -470,7 +535,7 @@
}
/// <summary>
- /// 鑾峰彇褰撳墠浼哥缉鏉嗙殑浣嶇疆(鑷姩)
+ /// 鑾峰彇褰撳墠璀︽儠鏈烘瀯鐨勪綅缃�(鑷姩)
/// </summary>
/// <param name="ExtendedState"></param>
/// <returns></returns>
@@ -488,7 +553,7 @@
var deviceslift = devices.Value.left.Communicator.Read<float>("D80");
var devicesright = devices.Value.right.Communicator.Read<float>("D80");
- Console.WriteLine($"褰撳墠宸﹀彸浼哥缉鏉嗚繑鍥為�熷害鍒嗗埆涓轰负{deviceslift}");
+ Console.WriteLine($"褰撳墠宸﹀彸璀︽儠鏈烘瀯杩斿洖閫熷害鍒嗗埆涓轰负{deviceslift}");
return new WebResponseContent
--
Gitblit v1.9.3