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

121 lines
4.9 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 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;
//电子看板_装配零件_临时表_增加_北汽
//第二步将零件信息转移到零件_临时表中
BaseDataSystemMES.MesServer_Process_EngineTypeOverBQ(OpName);
//通知web显示
SendMessageFun.SendMessage("123", "111", OpName);
//MIS_BASE.Read_PalletInfo(OpName, out MES_QualityMask);//合格标志 合格标志暂时改为即时响应式的
//MIS_BASE.Read_RepairStatus_PLC(OpName, out RepairPartStatusPLC);//返修标志
//SendMessageFun.SendInfomation("QualityMask", Convert.ToString(MES_QualityMask), OpName);//显示合格标志
//SendMessageFun.SendInfomation("RepairPartStatusPLC", Convert.ToString(RepairPartStatusPLC), OpName);//显示返修标志
if (MES_QualityMask == 2)
{
// 暂时先屏蔽掉
////工作完成
//MIS_BASE.Write_MaterialVerifyOver(OpName, true);
//SendMessageFun.SendInfomation("NgGO", "1", OpName);//显示不合格标志
//return;
}
//第三步,用于工件离开后完工数量统计及工件编号追溯
//BaseDataSystemMES.MaterialPush_EngineIDStatus_Insert(OpName);//更新订单产量
//MIS_BASE.Read_TagTypeID(201, OpName, out string EngineTypeID_QiaoKe);
Db.OP051_OP050_NeedWork(EngineID, OpName, OrderForm, out int MatchResult);
if (MatchResult == 2) // 不匹配 没有需要装配的轮毂了
{
MIS_BASE.Write_Match(OpName, false);// 匹配结果
MIS_BASE.Write_MatchingCompleted(OpName, false);// 匹配完成
MIS_BASE.WritePLC(77, OpName, "2"); ;// 托盘是否需要工作 1需要工作 2不需要工作
}
else if (MatchResult == 1) //匹配 有需要装配的轮毂
{
MIS_BASE.Write_Match(OpName, true);// 匹配结果
MIS_BASE.Write_MatchingCompleted(OpName, true);// 匹配完成
MIS_BASE.WritePLC(77, OpName, "1");// 托盘是否需要工作 1需要工作 2不需要工作
MIS_BASE.Write_FixAllow(OpName, true); // 允许工作
}
else
{
MIS_BASE.WritePLC(29, OpName, true); // 开始等待 通知A60 保存完成时更新下等待状态与匹配状态
}
}
/// <summary>
/// 二次工作
/// </summary>
/// <param name="OpName"></param>
private void EngineTypeGetOver_PLC_Work_two(string OpName)
{
int EngineTypeID;//机型代码
int PartPallet_Code;//托盘编号
string EngineType;//机型
string EngineID;//工件编号
string OrderForm;
MIS_BASE.GetEngineTypeFromPLC(OpName, out EngineTypeID, out EngineType, out EngineID, out PartPallet_Code, out OrderForm);
EngineTypeGetOver_PLC_Work(OpName, EngineTypeID, EngineType, EngineID, Convert.ToInt32(PartPallet_Code), OrderForm);
}
/// <summary>
/// 跳过二次工作
/// </summary>
/// <param name="OpName"></param>
private void EngineTypeGetOver_PLC_Work_Skip(string OpName)
{
MIS_BASE.Write_MesReadOver(OpName, true);
MIS_BASE.Write_MaterialVerifyOver(OpName, true);
}
/// <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);
}
}
}