Files
16-Xikai-MesProjectNew/MisDataFunction/Function1056/Methods/EngineGetOverBaseWork.cs
2026-05-29 09:34:04 +08:00

110 lines
4.0 KiB
C#

using System;
using System.Data;
using bizFacade;
using MesServerWork;
namespace MesServerFunctions
{
partial class FunctionMES
{
/// <summary>
/// 正常逻辑工作(传递机型)
/// </summary>
/// <param name="OpName"></param>
/// <param name="EngineTypeID"></param>
/// <param name="EngineType"></param>
/// <param name="EngineID"></param>
/// <param name="PartPallet_Code"></param>
private void EngineTypeGetOver_PLC_Work(string OpName, int EngineTypeID, string EngineType, string EngineID, int PartPallet_Code,string OrderForm)
{
int IsAllowWork;
int RepairPartStatusPLC = 0;
int MES_QualityMask = 1;
DataTable dt;
dt = BaseDataSystemMES.EngineTypeChange(OpName, EngineType);
//通知web显示
SendMessageFun.SendMessage("123", "111", OpName);
MIS_BASE.Read_PalletInfo(OpName, out MES_QualityMask);//合格标志
SendMessageFun.SendInfomation("QualityMask", Convert.ToString(MES_QualityMask), OpName);//显示合格标志
MIS_BASE.Write_FixAllow(OpName, true);
// 当A92 到位时表示当前一定是第二个件 先判断当前工件是否为已匹配的第二个工件 是的话是工作,不是报警
Db.OPA92_EngineGetOverCheckWorkType(EngineID, out int MatchResult, out string MatchResultStr);
if (MatchResult == 1)
{
// 轮毂线
MIS_BASE.Write_Match(OpName, true);// 匹配结果
MIS_BASE.Write_MatchingCompleted(OpName, true);// 匹配完成
MIS_BASE.Write_FixAllow(OpName, true); // 允许工作
return;
}
else
{
// 将根据轮毂号 工位号 时间 报错内容 存储到数据库中供查询
// 匹配结果不成功
MIS_BASE.Write_Match(OpName, false);// 匹配结果
MIS_BASE.Write_MatchingCompleted(OpName, true);// 匹配完成
return;
}
//if (MES_QualityMask == 2)
//{
// //工作完成
// //MIS_BASE.Write_MaterialVerifyOver(OpName, true);
// //SendMessageFun.SendInfomation("NgGO", "1", OpName);//显示不合格标志
// //return;
//}
//第三步,用于工件离开后完工数量统计及工件编号追溯
//BaseDataSystemMES.MaterialPush_EngineIDStatus_Insert(OpName);//更新订单产量
////第四步,获取是否允许工作
//BaseDataSystemMES.MesServer_Judge_IsCanWork(OpName, out IsAllowWork);
////暂时先定义为扫描完成才能进行压装工作,因为考虑到工作完成后,操作工未必会去扫描物料的情况
//if (IsAllowWork == 1)
//{
// //通知PLC允许工作,允许工作在保存完成时清空
// MIS_BASE.Write_FixAllow(OpName, true);
//}
//else
//{
// SendMessageFun.AsyncSendMessage_Notice(OpName, "请扫描物料!");
//}
}
/// <summary>
/// 返修件需要工作
/// </summary>
/// <param name="OpName">工位号</param>
private void IsNeedRepaire_OK(string OpName)
{
string orderForm = "";
int engineTypeID;
string engineType = "";
string engineID = "";
string palletCode = "";
int isRepair;
string repairCode = "";
//从监控系统中查询出本工位信息
BaseDataSystemMES.OpName_MIS_Moby_Select(OpName,
out orderForm, out engineTypeID, out engineType,
out engineID, out palletCode, out isRepair, out repairCode);
EngineTypeGetOver_PLC_Work(OpName, engineTypeID, engineType, engineID, Convert.ToInt32(palletCode),orderForm);
}
}
}