From 07968530fd2a7c0d818adc8a89c96a9499dbbee6 Mon Sep 17 00:00:00 2001
From: yusijie <ysj@hz-kingdee.com>
Date: 星期一, 19 一月 2026 16:17:38 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API
---
WebAPI/Service/WebSocketServer.cs | 68 ++++++++++++++++++++++++++++++++-
1 files changed, 65 insertions(+), 3 deletions(-)
diff --git a/WebAPI/WebSocketServer.cs b/WebAPI/Service/WebSocketServer.cs
similarity index 73%
rename from WebAPI/WebSocketServer.cs
rename to WebAPI/Service/WebSocketServer.cs
index 2460a95..89581d6 100644
--- a/WebAPI/WebSocketServer.cs
+++ b/WebAPI/Service/WebSocketServer.cs
@@ -125,12 +125,11 @@
JArray dataTableJArray = JArray.Parse(JsonConvert.SerializeObject(ds.Tables[0]));
foreach (JToken row in dataTableJArray)
{
- // 鎻愬墠鑾峰彇骞跺鐞嗚鏁版嵁锛堥伩鍏嶉噸澶嶈闂� row["鍒楀悕"]锛屼笖澶勭悊 null锛�
string receiver = row["鎺ユ敹浜�"]?.ToString() ?? string.Empty; // 涓� null 鏃惰繑鍥炵┖瀛楃涓�
string ccUsers = row["鎵�鏈夋妱閫佷汉"]?.ToString() ?? string.Empty;
string sendType = row["鍙戦�佺被鍨�"]?.ToString() ?? string.Empty;
- // 璺宠繃鏃犳晥鏁版嵁琛岋紙涓夊垪鍧囦负绌烘椂锛屾棤闇�澶勭悊锛�
+ // 璺宠繃鏃犳晥鏁版嵁琛�
if (string.IsNullOrEmpty(receiver) && string.IsNullOrEmpty(ccUsers) && string.IsNullOrEmpty(sendType))
continue;
@@ -161,7 +160,7 @@
{
// 灏佽 websocket 淇℃伅
dictOne.Key.Send(new JObject{
- ["Type"]="Message",
+ ["Type"]="MessageNoRead",
["Content"]= NameMsgKVP[dictOne.Value.ToString()].ToString()
}.ToString());
}
@@ -208,5 +207,68 @@
}
}
}
+
+ // 鍗曟潯鏁版嵁鎺ㄩ�佸叕寮�璇彞
+ public static void PushOne(int HInterID)
+ {
+ SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+ DataSet ds = new DataSet();
+ try
+ {
+ JObject NameMsgKVP = new JObject();
+ ds = oCN.RunProcReturn($"select * from h_v_OA_WorkLinkBillAllList where hmainid = {HInterID}", "h_v_OA_WorkLinkBillAllList");
+ // 鍒ゆ柇骞挎挱杩樻槸绉佸彂 锛岀粺璁℃暟鎹�
+ JArray dataTableJArray = JArray.Parse(JsonConvert.SerializeObject(ds.Tables[0]));
+ foreach (JToken row in dataTableJArray)
+ {
+ string receiver = row["鎺ユ敹浜�"]?.ToString() ?? string.Empty; // 涓� null 鏃惰繑鍥炵┖瀛楃涓�
+ string ccUsers = row["鎶勯�佹帴鏀朵汉"]?.ToString() ?? string.Empty;
+ string sendType = row["鍙戦�佺被鍨�"]?.ToString() ?? string.Empty;
+
+ // 璺宠繃鏃犳晥鏁版嵁琛�
+ if (string.IsNullOrEmpty(receiver) && string.IsNullOrEmpty(ccUsers) && string.IsNullOrEmpty(sendType))
+ continue;
+
+ foreach (var dictOne in _NameConnectionDict)
+ {
+ string UName = dictOne.Value.Split('_')[1];
+ // 灏嗘帴鏀朵汉 鎶勯�佷汉 鑾峰彇 骞挎挱鐨勬秷鎭坊鍔犲埌娑堟伅缂撳瓨
+ if (string.Equals(row["鎺ユ敹浜�"].ToString(), UName)
+ || row["鎶勯�佹帴鏀朵汉"].ToString().Contains(UName)
+ || string.Equals(row["鍙戦�佺被鍨�"].ToString(), "鍏叡"))
+ {
+ string dictOneVal = dictOne.Value.ToString();
+ if (NameMsgKVP[dictOneVal] == null)
+ {
+ NameMsgKVP[dictOneVal] = new JArray();
+ }
+
+ var jArray = NameMsgKVP[dictOneVal] as JArray;
+
+ jArray.Add(row);
+ }
+ }
+ }
+ // 鏍规嵁鐢ㄦ埛ID鍒嗗彂鍒颁笉鍚岀殑瀹㈡埛绔�
+ foreach (var dictOne in _NameConnectionDict)
+ {
+ if (NameMsgKVP[dictOne.Value.ToString()] != null)
+ {
+ // 灏佽 websocket 淇℃伅
+ dictOne.Key.Send(new JObject
+ {
+ ["Type"] = "Message",
+ ["Content"] = NameMsgKVP[dictOne.Value.ToString()].ToString()
+ }.ToString());
+ }
+ }
+ LogService.Write("娑堟伅鎺ㄩ�佸畬鎴�...");
+ }
+ catch (Exception ex)
+ {
+ LogService.Write(ex.ToString());
+ return;
+ }
+ }
}
}
\ No newline at end of file
--
Gitblit v1.9.1