using System; using MesServerWork; using WebApi; using MisDataSaveDate.MOM; using System.Linq; using MisDataFunDll; namespace MesServerFunctions { partial class FunctionMES { /// /// 器具码扫描完毕 /// /// 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); // 根据校验结果写入验证结果 // 送料信息验证结果(305):1 合格 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); } } } }