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); } } } }