Files
2026-05-29 09:34:04 +08:00

102 lines
4.4 KiB
C#
Raw Permalink 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 System;
using MesServerWork;
using WebApi;
using MisDataSaveDate.MOM;
using System.Linq;
using MisDataFunDll;
namespace MesServerFunctions
{
partial class FunctionMES
{
/// <summary>
/// 器具码扫描完毕
/// </summary>
/// <param name="e"></param>
private void ToolCodeScanOver(object e)
{
try
{
DeviceDriver_BasicData.CustomeEvetnArgs msgEvent = (DeviceDriver_BasicData.CustomeEvetnArgs)e;
string OpName = Convert.ToString(msgEvent.OpName);
int tagValue = Convert.ToInt32(msgEvent.TagValue);
if (tagValue == 1)
{
// 记录器具码扫描完毕状态
MisDataFun.Location_MIS_MOBY_Insert(OpName, "ToolCodeScanOver", "1");
// 获取器具号318
string containerNo = MIS_BASE.ReadPLC(318, OpName).ToString();
// 记录器具号
if (!string.IsNullOrEmpty(containerNo))
{
MisDataFun.Location_MIS_MOBY_Insert(OpName, "器具号", containerNo);
}
// 调用器具信息查询接口
DeviceInfoResponse deviceInfoResult = CALL_Inerface_DataHandle.CALL_Inerface_DeviceInfoQuery(OpName, containerNo);
// 处理器具信息查询结果
bool isValid = true;
string validationMsg = "";
//if (deviceInfoResult != null && deviceInfoResult.code == 200 && deviceInfoResult.data != null)
//{
// isValid = true;
// if (deviceInfoResult.data.businessdata != null && deviceInfoResult.data.businessdata.Count > 0)
// {
// var firstMaterial = deviceInfoResult.data.businessdata.First();
// MisDataFun.Location_MIS_MOBY_Insert(OpName, "物料编号", firstMaterial.sku);
// MisDataFun.Location_MIS_MOBY_Insert(OpName, "批次号", firstMaterial.batchno);
// MisDataFun.Location_MIS_MOBY_Insert(OpName, "数量", firstMaterial.qty);
// validationMsg = $"器具验证成功,物料编号:{firstMaterial.sku}";
// }
// // 调用物料配送确认接口
// CALL_Inerface_DataHandle.CALL_Inerface_MaterialConfirm(OpName, containerNo);
//}
//else
//{
// // 器具信息查询失败
// isValid = false;
// validationMsg = deviceInfoResult?.message ?? "器具信息查询失败";
//}
bool isOk = CALL_Inerface_DataHandle.CALL_Inerface_MaterialConfirm(OpName, containerNo);
// 根据校验结果写入验证结果
// 送料信息验证结果3051 合格 2 不合格
MIS_BASE.WritePLC(305, OpName, isOk ? "1" : "2");
// 送料信息验证完成304
MIS_BASE.WritePLC(304, OpName, true);
// 更新验证状态
MisDataFun.Location_MIS_MOBY_Insert(OpName, "送料验证结果", isOk ? "1" : "2");
MisDataFun.Location_MIS_MOBY_Insert(OpName, "当前状态", validationMsg);
// 发送消息通知
string msg = $"【{OpName}】器具码扫描完毕,器具号:{containerNo}{validationMsg} 验证结果{isOk.ToString()}";
SendMessage.AsyncSendMessage_Notice(OpName, msg);
MyLog4Net.MyLogHelper.Info("ToolCodeScanOver", msg);
}
else
{
// 清除验证完成信号
MIS_BASE.WritePLC(305, OpName, "0");
MIS_BASE.WritePLC(304, OpName, false);
// 记录器具码扫描完毕状态
MisDataFun.Location_MIS_MOBY_Insert(OpName, "ToolCodeScanOver", "0");
}
}
catch (Exception err)
{
MisDataSaveDate.FuntionMesRead.Alarm_SaveFileLog4Error(System.Reflection.MethodBase.GetCurrentMethod().Name, e, "Fun1054", err);
}
}
}
}