Files
2026-06-08 10:59:21 +08:00

139 lines
4.7 KiB
C#

using MesWorkMqtt;
using MQTTnet.Client.Connecting;
using MQTTnet.Client.Disconnecting;
using MQTTnet.Client.Receiving;
using bizFacade;
using MesWorkMqtt;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MQTTnet;
using System.Threading;
using DoWhatPlc;
using MesServerWork;
namespace SyUpLoad
{
public partial class PartLoad
{
private void fun_EngineTypeGetOver_PLC3(object e)
{
DoWhatPlc.CustomeEvetnArgs msgEvent = (DoWhatPlc.CustomeEvetnArgs)e;
string OpName = Convert.ToString(msgEvent.OpName);
int tagValue = Convert.ToInt32(msgEvent.TagValue);
SetChekcBox(tagValue, checkBox_PlcEngineTypeGetOver3);
try
{
if (tagValue == 1)
{
int EngineTypeID;//机型代码
int PartPallet_Code;//托盘编号
string EngineType;//机型
string EngineID;//工件编号
//GetUpLoadWarehouseNoOpName02(string opName, string EngineIDType, out DataTable dt)
MIS_BASE.GetEngineTypeFromPLC(OPName02, out EngineTypeID, out EngineType, out EngineID, out PartPallet_Code);
SetTextBox(EngineType, textBox_PlcType3);
SetTextBox(EngineID, textBox_PlcEngineID3);
DataTable dt;
BaseDataSystemMES.GetUpLoadWarehouseNoOpName02(OPName02, EngineType, out dt);
if (dt.Rows.Count < 1)
{
button_ManualPartLoad.Invoke(new Action(() => {
button_ManualPartLoad.Enabled = true;
}));
MessageBox.Show("下线库存无匹配的工件!");
return;
}
int engineTypeID_MES = Convert.ToInt32(dt.Rows[0]["机型代码"]);
string engineID_MES = dt.Rows[0]["发动机号"].ToString();
string engineType_MES = dt.Rows[0]["发动机型号"].ToString();
byte kuweiNum_MES = Convert.ToByte(dt.Rows[0]["库位号"]);
DtWebApi.ReadWritePLC.WritePLC(warehouseLocation.ToString(), OpName, kuweiNum_MES);
MIS_BASE.Write_FixAllow(OpName, true);
// EngineTypeGetOver_PLC_Work(OpName, EngineTypeID, EngineType, EngineID, PartPallet_Code);
}
else
{
MIS_BASE.Write_FixAllow(OpName, false);
}
}
catch (Exception err)
{
////ApplicationLog.WriteLog(err, "Function03:EngineTypeGetOver_PLC");
}
}
private void fun_MesRead3(object e)
{
DoWhatPlc.CustomeEvetnArgs msgEvent = (DoWhatPlc.CustomeEvetnArgs)e;
string OpName = Convert.ToString(msgEvent.OpName);
int tagValue = Convert.ToInt32(msgEvent.TagValue);
//var cb = button_ManualPartLoad;
//cb.Invoke(new Action(() => {
// if (tagValue == 1)
// {
// cb.Enabled = false;
// }
// else
// {
// cb.Enabled = true;
// }
//}));
SetChekcBox(tagValue, checkBox_MesRead3);
if (tagValue == 1)
{
//保存库数据
int EngineTypeID;//机型代码
int PartPallet_Code;//托盘编号
string EngineType;//机型
string EngineID;//工件编号
MIS_BASE.GetEngineTypeFromPLC(OpName, out EngineTypeID, out EngineType, out EngineID, out PartPallet_Code);
object kuweiNum;
kuweiNum = DtWebApi.ReadWritePLC.ReadPLC(warehouseLocation.ToString(), OpName);
//1转移数据到总线
//2转移数据到总线
BaseDataSystemMES.GetUpLoadBarCode_0utUpdate(OPName02, kuweiNum.ToString());
BaseDataSystemMES.GetUpLoadBarCode(OPName02, out DataTable dt_OPName02);
dataGridView_OPA1002.Invoke(new Action(() => {
dataGridView_OPA1002.DataSource = dt_OPName02;
}));
MIS_BASE.Write_MesReadOver(OpName, true);
}
else
{
MIS_BASE.Write_MesReadOver(OpName, false);
}
}
}
}