From 4f57c3e602eef9ec929a2315183fa28b21cd0987 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期三, 29 三月 2023 10:51:33 +0800
Subject: [PATCH] 订单下达获取工单语句修改、生产工单手工创建获取单据号接口

---
 VueWebApi/Hubs/ChatHub.cs |   90 +++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 82 insertions(+), 8 deletions(-)

diff --git a/VueWebApi/Hubs/ChatHub.cs b/VueWebApi/Hubs/ChatHub.cs
index 5b6f1dc..77ab1dd 100644
--- a/VueWebApi/Hubs/ChatHub.cs
+++ b/VueWebApi/Hubs/ChatHub.cs
@@ -1,11 +1,20 @@
-锘縰sing Microsoft.AspNet.SignalR;
+锘縰sing Dapper;
+using Microsoft.AspNet.SignalR;
+using Microsoft.AspNet.SignalR.Hubs;
 using System;
 using System.Collections.Generic;
+using System.Data;
 using System.Linq;
 using System.Web;
+using VueWebApi.Models;
+using VueWebApi.Tools;
 
 namespace VueWebApi.Hubs
 {
+    /// <summary>
+    /// chatHub闆嗙嚎鍣ㄧ被
+    /// </summary>
+    [HubName("chatHub")]
     public class ChatHub : Hub
     {
         /// <summary>
@@ -13,14 +22,10 @@
         /// </summary>
         private IList<string> userList = UserInfo.userList;
 
-
-
         /// <summary>
         /// 鐢ㄦ埛鐨刢onnectionID涓庣敤鎴峰悕瀵圭収琛�
         /// </summary>
         private readonly static Dictionary<string, string> _connections = new Dictionary<string, string>();
-
-
 
         /// <summary>
         /// 鍙戦�佸嚱鏁帮紝鍓嶇瑙﹀彂璇ュ嚱鏁扮粰鏈嶅姟鍣紝鏈嶅姟鍣ㄥ湪灏嗘秷鎭彂閫佺粰鍓嶇锛岋紙Clients.All.(鍑芥暟鍚�)鏄叏浣撳箍鎾紝鍙﹀Clients鎻愪緵浜嗙粍鎾紝骞挎挱鎺掗櫎锛岀粍鎾帓闄わ紝鎸囧畾鐢ㄦ埛鎾彂绛夌瓑锛�
@@ -31,18 +36,56 @@
         /// <param name="cont">娑堟伅鍐呭</param>
         public void SendByGroup(string name1, string name2, string cont)
         {
+            LogHelper.WriteLogData("鐧诲綍浜哄憳:" + name1 + "鍙戦�佷汉:" + name2 + "鍙戦�佸唴瀹�:" + cont);
             //Client鍐呬负鐢ㄦ埛鐨刬d锛屾槸鍞竴鐨勶紝SendMessage鍑芥暟鏄墠绔嚱鏁帮紝鎰忔�濇槸鏈嶅姟鍣ㄥ皢璇ユ秷鎭帹閫佽嚦鍓嶇
+            //Clients.Client(_connections[name2]).SendMessage("鏉ヨ嚜鐢ㄦ埛:" + name1 + " 鍐呭锛�" + cont + "" + DateTime.Now.ToString("yyyy/MM/ddhh:mm:ss") + "鐨勬秷鎭帹閫侊紒");
             Clients.Client(_connections[name2]).SendMessage("鏉ヨ嚜鐢ㄦ埛:" + name1 + " 鍐呭锛�" + cont + "" + DateTime.Now.ToString("yyyy/MM/ddhh:mm:ss") + "鐨勬秷鎭帹閫侊紒");
+        }
+        public void SendByGroups(string name1, DataTable name2, string cont)
+        {
+            var departmentIDs = name2.AsEnumerable().ToList().Select(x => x.Field<string>("name")).ToList();
+            var FindPublicBaseDic = _connections.Where(d => departmentIDs.Contains(d.Key)).Select(x => x.Value).ToList();
+            Clients.Clients(FindPublicBaseDic).SendMessage("鏉ヨ嚜鐢ㄦ埛:" + name1 + " 鍐呭锛�" + cont + "" + DateTime.Now.ToString("yyyy/MM/ddhh:mm:ss") + "鐨勬秷鎭帹閫侊紒");
+        }
+
+        /// <summary>
+        /// 瀹夌伅鍛煎彨鎻愪氦鏃惰皟鐢�
+        /// </summary>
+        /// <param name="username">鍙戣捣浜�</param>
+        /// <param name="wkshpcode">杞﹂棿缂栫爜</param>
+        /// <param name="eqpcode">璁惧缂栫爜</param>
+        /// <param name="json"></param>
+        public void SendByGroupList(string username,string wkshpcode, string eqpcode, List<AnDnDate> json)
+        {
+            try
+            {
+                for (int i = 0; i < json.Count; i++)
+                {
+                    string cont = wkshpcode + "瀵瑰簲璁惧" + eqpcode + json[i].name.ToString();
+                    var departmentIDs = json[i].children.ToList().Select(x => x.username).ToList();//鑾峰彇鎺ㄩ�佷汉鍛�
+                    var FindPublicBaseDic = _connections.Where(d => departmentIDs.Contains(d.Key)).Select(x => x.Value).ToList(); //鍖归厤宸茬粡鐧诲綍鐨勬帹閫佷汉鍛樺敮涓�鐮�
+                    LogHelper.WriteLogData("鍦ㄧ嚎浜烘暟锛�"+FindPublicBaseDic.Count.ToString());
+                    var FindPublicBaseDicName = _connections.Where(d => FindPublicBaseDic.Contains(d.Value)).Select(x => x.Key).ToList(); //鏍规嵁鍞竴鐮佸尮閰嶅凡缁忕櫥褰曠殑鎺ㄩ�佷汉鍛樺悕绉�
+                    LogHelper.WriteLogData("鍦ㄧ嚎浜轰汉鍛樺悕绉帮細" + FindPublicBaseDicName.ToString());
+                    Clients.Clients(FindPublicBaseDic).SendMessage("鏉ヨ嚜鐢ㄦ埛:" + username + " 鍐呭锛�" + cont + "鏃堕棿" + DateTime.Now.ToString("yyyy/MM/ddhh:mm:ss") + "鐨勬秷鎭�氱煡锛�");
+                }
+            }
+            catch (Exception ex)
+            {
+                LogHelper.WriteLogData("鎶ラ敊:"+ex.Message);
+                throw;
+            }
+           
         }
 
 
-
         /// <summary>
-        /// 鐢ㄦ埛涓婄嚎鍑芥暟
+        /// 鐢ㄦ埛涓婄嚎鍑芥暟(鍗曠敤鎴�)
         /// </summary>
-        /// <param name="name"></param>
+        /// <param name="name">鐢ㄦ埛鍚�</param>
         public void SendLogin(string name)
         {
+            //LogHelper.WriteLogData("鐧诲綍浜哄憳:" + name);
             if (!userList.Contains(name))
             {
                 userList.Add(name);
@@ -53,6 +96,37 @@
             {
                 //姣忔鐧婚檰id浼氬彂鐢熷彉鍖�
                 _connections[name] = Context.ConnectionId;
+                LogHelper.WriteLogData("鎵ц鍏宠仈:-->" + _connections[name]);
+            }
+            //鏂扮敤鎴蜂笂绾匡紝鏈嶅姟鍣ㄥ箍鎾鐢ㄦ埛鍚�
+            Clients.All.loginUser(userList);
+        }
+        /// <summary>
+        /// 鐢ㄦ埛涓婄嚎鍑芥暟(澶氱敤鎴�)
+        /// </summary>
+        /// <param name="code">鐢ㄦ埛鍚嶉泦鍚�</param>
+        public void SendLogins(string code)
+        {
+            string[] selects = Array.ConvertAll<string, string>(code.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[] 
+            //鏌ユ壘绯荤粺鐢ㄦ埛
+            var sql = @"select usercode as code,username as name
+                            from TUser 
+                            where  is_delete='0' and enable='Y' and usercode in @usercode";
+            var data = DapperHelper.selectlist(sql, new { shopcode = selects.ToArray() });
+            for (int i = 0; i < data.Rows.Count; i++)
+            {
+
+                if (!userList.Contains(data.Rows[i]["name"].ToString()))
+                {
+                    userList.Add(data.Rows[i]["name"].ToString());
+                    //杩欓噷渚挎槸灏嗙敤鎴穒d鍜屽鍚嶈仈绯昏捣鏉�
+                    _connections.Add(data.Rows[i]["name"].ToString(), Context.ConnectionId);
+                }
+                else
+                {
+                    //姣忔鐧婚檰id浼氬彂鐢熷彉鍖�
+                    _connections[data.Rows[i]["name"].ToString()] = Context.ConnectionId;
+                }
             }
             //鏂扮敤鎴蜂笂绾匡紝鏈嶅姟鍣ㄥ箍鎾鐢ㄦ埛鍚�
             Clients.All.loginUser(userList);

--
Gitblit v1.9.3