Files
52-NingdePDC-MesProject/Common/09MesDataFunction/MesDataFunction/12SendMessageToWeb/SendMessageFun.cs
XingCheng3 dff0156cdd MVP!
2026-05-26 09:41:24 +08:00

260 lines
9.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using MisDataFunDll;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MesServerFunctions
{
/// <summary>
/// 命令
///显示托盘信息√ case "ShowMoby":
///显示操作指南√ case "ProcessList":
///显示物料√ case "MaterialList":
///显示操作图片√ case "PicShow":
///显示拧紧位置√ case "ShaftPosition":
///实时显示质量数据√ case "ShowTimelyQuality":
///手动拧紧实时显示质量数据√case "ShowTimelyQuality_Tight":
///√ case "OrderFormList":
///弹窗消息√ case "Notice":
///LED消息提醒√ case "ScrollNotice":
///物料检测初始化√ case "MaterialCheckPosition":
///返修质量数据显示√ case "RepairQuality"
///
/// </summary>
public class SendMessageFun
{
/// <summary>
/// 批量发送WEB消息Value为BOOL值
/// 1:显示工序内容
/// 2显示物料
/// 3显示操作指导图片
/// 5显示机型、工件流水号、订单信息
/// c:显示质量数据
/// </summary>
/// <param name="MessageNumm">消息编号组合</param>
/// <param name="Value">消息值组合</param>
/// <param name="OpName">工位号</param>
static public void SendMessage(string MessageNumm, string Value, string OpName)
{
for (int i = 0; i < MessageNumm.Length; i++)
{
SendMessage(MessageNumm[i], Value[i].ToString(), OpName);
}
}
/// <summary>
/// 向WEB发送信息value为字符串
/// </summary>
/// <param name="Command">消息种类</param>
/// <param name="Value">消息内容</param>
/// <param name="OpName">工位号</param>
static public void SendInfomation(string Command, string Value, string OpName)
{
string SendMessage = "MES|" + Command + "|" + OpName + "|" + Value;
AsyncSendMessage(SendMessage);
}
static public void AsyncSendMessage_Notice(string opname, string notice, string noticeType = "misServer")
{
//通知Web界面
notice = $"{{\"Notice\":\"{notice}\",\"NoticeType\":\"{noticeType}\"}}";
MisDataFun.Web_Notice_Insert(opname, notice);
string SendMessage = "MES|Notice_Info|" + opname + "|" + notice;
MIS_SendMessage.asyncSendMessage(SendMessage);
}
/// <summary>
///
/// </summary>
/// <param name="opname"></param>
/// <param name="notice"></param>
/// <param name="noticeType">barcode mis</param>
static public void AsyncSendMessage_Notice_Error(string opname, string notice, string noticeType)
{
//通知Web界面
// notice: notice, noticeType: noticeType
notice = $"{{\"Notice\":\"{notice}\",\"NoticeType\":\"{noticeType}\"}}";
MisDataFun.Web_Notice_Insert(opname, notice);
string SendMessage = "MES|Notice_Error|" + opname + "|" + notice;
MIS_SendMessage.asyncSendMessage(SendMessage);
}
static public void AsyncSendMessage_Materials_BarCode_Box(string opname, int isShow, string materialsCode = "",string batchCode = "",string msg = "")
{
//通知Web界面
string boxObjStr = $"{{\"IsShow\":\"{isShow}\",\"MaterialsCode\":\"{materialsCode}\",\"BatchCode\":\"{batchCode}\",\"Msg\":\"{msg}\"}}";
string SendMessage = "MES|Materials_BarCode_Box|" + opname + "|" + boxObjStr;
MIS_SendMessage.asyncSendMessage(SendMessage);
}
/// <summary>
/// 选择发送给WEB的消息
/// 1:显示工序内容
/// 2显示物料
/// 3显示操作指导图片
/// 5显示机型、工件流水号、订单信息
/// c:显示质量数据
/// </summary>
/// <param name="Num">消息类型</param>
/// <param name="OpName">消息工位</param>
static void SendMessage(char Num, string Value, string OpName)
{
string SendMessage;
switch (Num)
{
case '1':
//1直接在界面通过选择机型确认工序内容
SendMessage = "MES|ProcessList|" + OpName + "|" + Value;
AsyncSendMessage(SendMessage);
break;
case '2':
//2显示物料
SendMessage = "MES|MaterialList|" + OpName + "|" + Value;
AsyncSendMessage(SendMessage);
break;
case '3':
//3显示操作指导图片
SendMessage = "MES|PicShow|" + OpName + "|" + Value;
AsyncSendMessage(SendMessage);
break;
case '4':
//3显示操作指导图片
SendMessage = "MES|OrderFormList|" + OpName + "|" + Value;
AsyncSendMessage(SendMessage);
break;
case '5':
SendMessage = "MES|ShowMoby|" + OpName + "|" + Value;
AsyncSendMessage(SendMessage);
break;
case '6':
SendMessage = "MES|MaterialCheckPosition|" + OpName + "|" + Value;
AsyncSendMessage(SendMessage);
break;
case '7':
SendMessage = "MES|WorkStart|" + OpName + "|" + Value;
AsyncSendMessage(SendMessage);
break;
case '8':
SendMessage = "MES|OrderFormList|" + OpName + "|" + Value;
AsyncSendMessage(SendMessage);
break;
case '9':
SendMessage = "MES|ConfirmOkGo|" + OpName + "|" + Value;
AsyncSendMessage(SendMessage);
break;
case 'a':
SendMessage = "MES|FixAllow|" + OpName + "|" + Value;
AsyncSendMessage(SendMessage);
break;
case 'b':
SendMessage = "MES|ShaftPosition|" + OpName + "|" + Value;
AsyncSendMessage(SendMessage);
break;
case 'c':
//SendMessage = "MES|ShowQuality|" + OpName + "|" + Value;
SendMessage = "MES|ShowTimelyQuality|" + OpName + "|" + Value;
AsyncSendMessage(SendMessage);
break;
}
}
/// <summary>
/// 向WEB发送信息value为字符串
/// </summary>
/// <param name="Command">消息种类</param>
/// <param name="Value">消息内容</param>
/// <param name="OpName">工位号</param>
//void SendInfomation(string Command, string Value, string OpName)
//{
// string SendMessage = "MES|" + Command + "|" + OpName + "|" + Value;
// AsyncSendMessage(SendMessage);
//}
/// <summary>
/// 发送在线产量、在线节拍
/// </summary>
/// <param name="OpName"></param>
/// <param name="tagValue"></param>
private void SendActuallyCount(string OpName, int tagValue)
{
//当工件离开时,更新在线产量、在线节拍
if (tagValue == 0)
{
try
{
int opNameCount = 0;//在线产量
int opNameCountTime = 0;//在线节拍
MisDataFun.OpNameCount_New(OpName, out opNameCount, out opNameCountTime); //基本数据_工作日历_班次产量查询_New
SendInfomation("ActuallyCount", opNameCount.ToString() + "&" + opNameCountTime.ToString(), OpName);
}
catch (Exception err)
{
////ApplicationLog.WriteLog(err, "Function01:SendActuallyCount");
}
}
}
/// <summary>
/// 发送信息到MES通讯服务器或者其他的
/// </summary>
/// <param name="Message"></param>
static public void AsyncSendMessage(string Message)
{
MIS_SendMessage.asyncSendMessage(Message);
}
///// <summary>
///// 发送提示消息
///// </summary>
///// <param name="Message"></param>
//static public void AsyncSendMessage_Notice(string opname, string notice)
//{
// //通知Web界面
// BaseDataSystemMES.Web_Notice_Insert(opname, notice);
// string SendMessage = "MES|Notice|" + opname + "|" + "1";
// MIS_BASE.asyncSendMessage(SendMessage);
//}
/// <summary>
/// 发送信息到打印机
/// </summary>
/// <param name="Message"></param>
private void asyncSendMessageToMark(string Message)
{
string messageSend = (string)Message;
//UDPClientSend.Send_ALL(ApplicationConfig.MES_MarkPortNum, messageSend);
}
/// <summary>
/// 发送信息到LED
/// </summary>
/// <param name="Message"></param>
private void asyncSendMessageLED(string OpName)
{
//发送到大屏幕显示 41104
string strMessage = "MIS|" + OpName + "|" + "0" + "|" + "1";
//UDPClientSend.Send_ALL(ApplicationConfig.Port_ShowLED_ProductCount, strMessage);
}
}
}