Files
52-NingdePDC-MesProject/MisDataFunction/Function1055/OpcServer/FalseGO.cs
XingCheng3 dff0156cdd MVP!
2026-05-26 09:41:24 +08:00

100 lines
4.2 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 System;
using System.Data;
using System.Linq;
using System.Windows.Forms;
using System.Xml.Linq;
using MesDataFunction;
//using SystemFramework;
using MesServerWork;
using MisDataFunDll;
using MisDataSaveDate;
namespace MesServerFunctions
{
partial class FunctionMES
{
/// <summary>
/// 不合格放行
/// </summary>
/// <param name="OpName"></param>
/// <param name="tagValue"></param>
private void FalseGO(object e)
{
try
{
var msgEvent = (DeviceDriver_BasicData.CustomeEvetnArgs)e;
string OpName = Convert.ToString(msgEvent.OpName);
int tagValue = Convert.ToInt32(msgEvent.TagValue);
if (tagValue == 1)
{
//不合格放行信号
//MIS_BASE.Write_FalseGO(OpName, true);
//总合格标志2不合格
string code;
string message;
MIS_BASE.GetEngineTypeFromPLC(OpName, out int EngineTypeID, out string EngineType, out string EngineID, out int PartPallet_Code, out string OrderForm);
MisDataFun.Material_Insert_NG(OpName, 2);
if (MisDataFun.GetSpecialOpExist(OpName, "涂胶时间差校验")) MisDataFun.CheckTJTimeAndSave(OpName, EngineID, "", 1);
// 保存过站信息
MisDataFun.WorkStartInsert(OpName, 2);
//更新订单完工数量及物料
Sendmessage("24", "11", OpName);
bool okGo = false;
MIS_BASE.Read_ConfirmOkGo(OpName, out okGo);
if (!okGo) // 如果有合格放行 那说明是质量数据不合格 从 合格放行到不合格放行的 不重新调用出站接口
{
// 从数据库查出质量数据组 MOM_质量数据_上传_查询
MisDataFun.GetPartQualityGroupParams(OpName, EngineID, out DataTable dt_quality);
// 调用工厂MES出站接口
if (dt_quality.Rows.Count > 0)
{
CallWebService.Call_dataCollectForSfcEx(OpName, EngineID, dt_quality, 0, out code, out message);
}
else
{
CallWebService.Call_sfcComplete(OpName, EngineID, 0, out code, out message);
}
if (code == "0")
{
}
else if (code == "13921") // 质量判定不合格 走不合格放行
{
MIS_BASE.Write_OpNameIsOk(OpName, 2);
}
else
{
string msg = "出站失败:" + EngineID + "code" + code + "message" + message;
MisDataFun.LogRecording_OP(OpName, "ERROR", "MOM", msg);
return;
}
MisDataFun.LogRecording_OP(OpName, "INFO", "FalseGO", "MES保存数据完成");
MisDataFun.LogRecording_OP(OpName, "INFO", "FalseGO", "MES工作完成不合格放行");
}
MIS_BASE.Write_TagValueByTagTypeID(51, OpName, false); // 合格放行清掉
if (MisDataFun.GetSpecialOpExist(OpName, "人工PC工位"))
{
SendInfomation("showOpWorkFalseGoBox", "1", OpName); // 显示不合格刷卡放行弹窗
MisDataFun.LogRecording_OP(OpName, "INFO", "MIS", $"{EngineID} 产品不合格 待人工确认后不合格放行!");
return;
}
else
{
//通知PLCMES工作完成
MIS_BASE.Write_MesWorkFinish(OpName, true);
}
}
}
catch (Exception err)
{
////ApplicationLog.WriteLog(err, "Function02:FalseGO");
}
}
}
}