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, 80 insertions(+), 10 deletions(-)
diff --git a/VueWebApi/Hubs/ChatHub.cs b/VueWebApi/Hubs/ChatHub.cs
index f095823..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,22 +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, IList<string>name2, string cont)
+ public void SendByGroups(string name1, DataTable name2, string cont)
{
- //Client鍐呬负鐢ㄦ埛鐨刬d锛屾槸鍞竴鐨勶紝SendMessage鍑芥暟鏄墠绔嚱鏁帮紝鎰忔�濇槸鏈嶅姟鍣ㄥ皢璇ユ秷鎭帹閫佽嚦鍓嶇
- Clients.Clients(name2).SendMessage("鏉ヨ嚜鐢ㄦ埛:" + name1 + " 鍐呭锛�" + cont + "" + DateTime.Now.ToString("yyyy/MM/ddhh:mm:ss") + "鐨勬秷鎭帹閫侊紒");
+ 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>
public void SendLogin(string name)
{
+ //LogHelper.WriteLogData("鐧诲綍浜哄憳:" + name);
if (!userList.Contains(name))
{
userList.Add(name);
@@ -57,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