using System;
using System.Data;
using MesServerWork;
namespace MesServerFunctions
{
partial class Functions_BASE_01
{
///
/// 获取自动或手动,并以对应的方式创建总成号
///
/// 工位号
/// 产品型号
/// 产品编号
private void CreateEngineID(string OpName, out string engineType, out int engineTypeID, out string engineID)
{
string orderForm = "";//订单号
string repairCode = "";//返修代码
string engineID2 = "";
string palletCode = "";//托盘编号
int palletCode_PLC = 0;
int isRepair = 0;
int engineNumber = 0;
int IsAutoOrManul = 0;//0为自动方式,1为手动方式
DataTable dt_EngineType = null;
DataTable dt_temp_isAutoOrManul;//查询创建总成编号的table
engineType = "";
engineID = "";
//获取订单号,发动机型号,发动机型号代码(在线首工位将选择的订单,机型等信息保存到监控表中)
bizFacade.BaseDataSystemMES.OpName_MIS_Moby_Select(OpName, out orderForm, out engineTypeID, out engineType, out engineID2, out palletCode, out isRepair, out repairCode);
MIS_BASE.Read_PalletCode(OpName, out palletCode_PLC);//获取托盘编号
dt_temp_isAutoOrManul = bizFacade.BaseDataSystemMES.OpName_MIS_AutoOrMaunal_Select(OpName);//数据库查询创建总成号的方式 0:自动; 1:手动
if (dt_temp_isAutoOrManul != null && dt_temp_isAutoOrManul.Rows.Count > 0)
{
IsAutoOrManul = Convert.ToInt32(dt_temp_isAutoOrManul.Rows[0]["自动手动"]);//获取创建总成号方式
}
//以自动或手动方式创建发动机号
ProduceEngineID(OpName, IsAutoOrManul, orderForm, engineType, engineTypeID, palletCode_PLC.ToString(), engineNumber, out dt_EngineType, out engineID);
}
///
/// 以自动或手动方式创建工件编号
///
/// 工位号
/// 自动手动
/// 订单号
/// 产品型号
/// 产品型号代码
/// 托盘编号
/// 手动创建_年
/// 手动创建_月
/// 手动创建_日
/// 流水号
/// 返回信息
/// 产品编号
///
///
private void ProduceEngineID(string opName, int IsAutoOrManul, string orderForm, string engineType, int engineTypeID, string palletCode, int engineNumber, out DataTable dt_EngineType, out string engineID)
{
string engineYear = "";
string engineMoon = "";
string engineDay = "";
DataTable dt_MaualPrint;
dt_EngineType = null;
engineID = "";
if (IsAutoOrManul == 0)
{
//自动方式创建工件编号
CreateEngineID_Auto(opName, orderForm, engineType, engineTypeID, palletCode, out dt_EngineType, out engineID);
}
if (IsAutoOrManul == 1)
{
bizFacade.BaseDataSystemMES.OpName_MIS_MaualPrint_Select(opName, out dt_MaualPrint);
if (dt_MaualPrint != null && dt_MaualPrint.Rows.Count > 0)
{
engineYear = dt_MaualPrint.Rows[0]["年"].ToString();
engineMoon = dt_MaualPrint.Rows[0]["月"].ToString();
engineDay = dt_MaualPrint.Rows[0]["日"].ToString();
engineNumber = Convert.ToInt32(dt_MaualPrint.Rows[0]["流水号"]);
}
//手动方式创建自动编号
CreateEngineID_Manul(opName, orderForm, engineType, engineTypeID, palletCode, engineYear, engineMoon, engineDay, engineNumber, out dt_EngineType, out engineID);
}
if (!GetEngineID_Save(opName, IsAutoOrManul, orderForm, engineType, engineTypeID, engineID, palletCode.ToString(), dt_EngineType, engineYear, engineMoon, engineDay))
{
engineID = "";
engineTypeID = -1;
engineType = "";
AsyncSendMessage_Notice(opName,"保存工件信息出错...");
return;
}
}
///
/// 自动方式创建工件编号
///
///
///
///
///
/// 托盘号
///
/// 发动机号
private void CreateEngineID_Auto(string opName, string orderForm, string engineType, int engineTypeID, string palletCode, out DataTable dt_EngineType, out string engineID)
{
try
{
dt_EngineType = null;
engineID = "";
bizFacade.BaseDataSystemMES.GetEngineID_Auto(opName, engineType, palletCode, out dt_EngineType);
if (dt_EngineType != null && dt_EngineType.Rows.Count > 0)
{
engineID = dt_EngineType.Rows[0]["发动机号"].ToString();
}
}
catch (Exception err)
{
dt_EngineType=null;
engineID="";
}
}
///
/// 手动方式创建总成号
///
///
///
///
///
///
///
///
///
///
///
///
private void CreateEngineID_Manul(string opName,string orderForm, string engineType, int engineTypeID, string palletCode,
string engineYear, string engineMoon, string engineDay, int engineNumber, out DataTable dt_EngineType, out string engineID)
{
dt_EngineType = null;
engineID = "";
//手动方式创建
bizFacade.BaseDataSystemMES.GetEngineID_Manual(opName, engineType, engineYear, engineMoon, engineDay, engineNumber, true, out dt_EngineType);
if (dt_EngineType != null)
{
if (dt_EngineType.Rows.Count > 0)
{
engineID = dt_EngineType.Rows[0]["发动机号"].ToString();
}
}
}
///
/// 电子看板_发动机号_线首工位_增加
///
///
///
///
///
///
///
///
///
///
///
///
///
private bool GetEngineID_Save(string opName, int IsAutoOrManul,
string orderForm, string engineType, int engineTypeID, string engineID, string partPalletCode, DataTable dt_EngineType,
string year, string month, string day
)
{
if (IsAutoOrManul == 1)
{
string EngineID_DateTime = year + "-" + month + "-" + day + " 00:00:00";
return bizFacade.BaseDataSystemMES.GetEngineID_ManulEngine_Save(opName, orderForm, partPalletCode, engineType, EngineID_DateTime, dt_EngineType);
}
else
{
return bizFacade.BaseDataSystemMES.GetEngineID_Save(opName, orderForm, partPalletCode, engineType, dt_EngineType);
}
}
}
}