86 lines
3.6 KiB
C#
86 lines
3.6 KiB
C#
using System;
|
||
using bizFacade;
|
||
//using SystemFramework;
|
||
using MesServerWork;
|
||
|
||
namespace MesServerFunctions
|
||
{
|
||
partial class Functions_BASE_02
|
||
{
|
||
/// <summary>
|
||
///1.输入壳体码,只有输入壳体码后才能允许工作
|
||
/// 手动输入壳体码,因目前无二维码所以得加这个
|
||
/// </summary>
|
||
/// <param name="OpName"></param>
|
||
/// <param name="barcode"></param>
|
||
public void WorkNumber(object e)
|
||
{
|
||
try
|
||
{
|
||
DoWhatPlc.CustomeEvetnArgs msgEvent = (DoWhatPlc.CustomeEvetnArgs)e;
|
||
string OpName = Convert.ToString(msgEvent.OpName);
|
||
string barcode = Convert.ToString(msgEvent.TagValue).Split('&')[0]; // 壳体码
|
||
string distanceNumber = Convert.ToString(msgEvent.TagValue).Split('&')[1]; // 间隔号
|
||
int IsAllowWork;
|
||
bool IsSuccess = false;
|
||
bool IsSuccess2 = false;
|
||
bool EngineGetOver_PLC_NextWorkStep;
|
||
//工件是否到位
|
||
MIS_BASE.Read_WorkStart(OpName, out EngineGetOver_PLC_NextWorkStep);
|
||
|
||
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);
|
||
|
||
//此处逻辑有问题 需要考虑到批次扫描 提示PLC未传递机型的情况
|
||
if (EngineGetOver_PLC_NextWorkStep)
|
||
{
|
||
//1.更新壳体码
|
||
BaseDataSystemMES.WorkNumber_Edit(OpName, barcode, OrderForm);
|
||
// 1.1把输入的壳体码作为物料写到OP010工位里去
|
||
//第二步,将零件信息转移到零件_临时表中(本地BOM与订单BOM的选择显示关系)
|
||
BaseDataSystemMES.MesServer_Process_EngineTypeOver("OP0010", 1);
|
||
//第三步直接验证物料
|
||
BaseDataSystemMES.PartMaterial_DM_Update("OP0010", barcode, out IsSuccess2);
|
||
|
||
//2.显示新MOBY
|
||
Sendmessage("5", "1", OpName);
|
||
//3.将MOBY写入地址,等待工作完成后保存在码块中
|
||
MIS_BASE.Write_EngineID_MES(OpName, barcode);
|
||
|
||
//1.1 写入间隔号
|
||
BaseDataSystemMES.distanceNumber_Edit(distanceNumber, OrderForm);
|
||
|
||
//4.判断有无要扫的物料,如果没有就直接允许工作
|
||
//获取是否允许工作
|
||
BaseDataSystemMES.MesServer_Judge_IsCanWork(OpName, out IsAllowWork);
|
||
if (IsAllowWork == 1)
|
||
{
|
||
//通知PLC允许工作,允许工作在保存完成时清空
|
||
MIS_BASE.Write_FixAllow(OpName, true);
|
||
AsyncSendMessage_Notice(OpName, "壳体码与间隔号修改成功,请开始工作");
|
||
}
|
||
else
|
||
{
|
||
AsyncSendMessage_Notice(OpName, "壳体码与间隔号修改成功,请扫描物料");
|
||
}
|
||
}
|
||
else
|
||
{
|
||
AsyncSendMessage_Notice(OpName, "PLC未传递机型");
|
||
}
|
||
}
|
||
catch (Exception err)
|
||
{
|
||
////ApplicationLog.WriteLog(err, "Function02:Barcode");
|
||
}
|
||
}
|
||
|
||
|
||
}
|
||
}
|