using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.SqlClient; using System.Data.OleDb; using DataLinkMesWork; using System.Collections; //using SystemFramework; namespace bizFacade { public partial class BaseDataSystemMES { /// /// /// [MES_基本变量_厂家代码] /// /// //public static Hashtable GetFatoryCodeHashtable() //{ // //厂家代码 // string fatoryCode; // //三位码 // string threeCode; // Hashtable fatoryCodeHashtable; // fatoryCodeHashtable = new Hashtable (); // DataTable dt; // string sql; // sql = "SELECT * FROM MES_基本变量_厂家代码 "; // DataAccess.ExecuteDataTable_OleDb_Access(sql, out dt); // for (int i = 0; i < dt.Rows.Count; i++) // { // if (Convert.IsDBNull(dt.Rows[i]["厂家代码"])) // { // fatoryCode = ""; // } // else // { // fatoryCode = dt.Rows[i]["厂家代码"].ToString(); // } // if (Convert.IsDBNull(dt.Rows[i]["三位码"])) // { // threeCode = ""; // } // else // { // threeCode = dt.Rows[i]["三位码"].ToString(); // } // fatoryCodeHashtable.Add(fatoryCode, threeCode); // } // return fatoryCodeHashtable; //} /// /// 根据订单号和工位获得主物料号 /// [MES_计划BOM_发动机装配指南] /// /// 订单号 /// 工位号 /// public static string GetMainMaterialCode(string orderForm, string OpName) { string mainMaterialNumber=""; DataTable dt; string sql; sql = "SELECT * FROM MES_计划BOM_发动机装配指南 " + " WHERE 订单号 = '" + orderForm + "'" + " AND 工位号 = '" + OpName + "'" + " AND 是否主物料= 1"; //if (!SQLCommon.SqlServerConnectionStatus) //{ // DataAccess.ExecuteDataTable_OleDb_Access(sql, out dt); //} //else { DataAccess.ExecuteDataTable(sql, out dt); } if (dt == null) { mainMaterialNumber = ""; } if (dt.Rows.Count > 0) { mainMaterialNumber = dt.Rows[0]["物料号"].ToString().Trim(); } return mainMaterialNumber; } /// /// 根据订单号和工位获得装配指南信息 /// [MES_计划BOM_订单计划下达] /// 同步通讯,从SqlServer数据库获得 /// 异步通讯,从Access数据库获得 /// /// 订单号 /// 工位号 /// (true 是验证物料)(false 是全部物料) /// public static DataTable GetMaterialList(string orderForm, string OpName, bool isVerify) { string errorMessage; DataTable dt; string sql; if (isVerify) { sql = "SELECT [ID], [订单号], " + "[主配厂家],[工位号], [工位名称], [物料号], [零件图号], [零件名称], [零件数量],[是否扫描],d.扫描方式代码,d.扫描方式,[是否主物料],[厂家代码], [生产厂家], " + "[操作指导],'' as 发动机号,'' as 追踪代码,'' as 主物料号,0 as 物料号表索引号,0 as 零件数量验证," + "'' as 物料条码,'' as 物料条码物料号,'' as 物料条码批次,0 as 验证结果," + "'' as 操作者工号,'' as 操作者姓名,'' as 班次代码," + "b.物料来源代码, b.物料来源, a.是否禁用代码, a.是否禁用,被强制验证物料号,更改代码,更改原因 " + " FROM MES_计划BOM_订单计划下达_扫描方式 AS d INNER JOIN (MES_计划BOM_订单计划下达_是否禁用 AS a INNER JOIN (MES_计划BOM_订单计划下达_物料来源 AS b INNER JOIN MES_计划BOM_发动机装配指南 AS c ON b.物料来源代码 = c.物料来源代码) ON a.是否禁用代码 = c.是否禁用代码) ON c.扫描方式=d.扫描方式代码 " + "where 订单号='" + orderForm + "'" + "and 工位号='" + OpName + "' and a.是否禁用代码 = 0 and 是否扫描 <> 0 " + " ORDER BY 物料号 "; sql = "SELECT [ID],[订单号]," + "[主配厂家],[工位号], [工位名称], [物料号], [零件图号], [零件名称],[零件数量]," + "[是否扫描],扫描方式 as 扫描方式代码,'' as 扫描方式,是否主物料,[厂家代码], [生产厂家], " + "'' as 操作指导,'' as 发动机号,'' as 追踪代码,'' as 主物料号,0 as 物料号表索引号,0 as 零件数量验证," + "'' as 物料条码,'' as 物料条码物料号,'' as 物料条码批次,0 as 验证结果,'' as 操作者工号,'' as 操作者姓名,'' as 班次代码," + " 物料来源代码,'' as 物料来源,是否禁用代码,'' as 是否禁用, 被强制验证物料号,更改代码,更改原因" + " from MES_计划BOM_发动机装配指南" + " where 是否扫描 <> 0" + " and 订单号='" + orderForm + "'" +"and 工位号='" + OpName + "'"; // + "([订单号]," //+ "[主配厂家],[工位号], [工位名称],[物料号], [零件图号], [零件名称], [零件数量]," //+ "[是否扫描],[扫描方式代码], [扫描方式],[是否主物料], [厂家代码],[生产厂家], " //+ "[操作指导],[发动机号],[追踪代码],[主物料号],[物料号表索引号],[零件数量验证]," //+ "[物料条码], [物料条码物料号], [物料条码批次],[验证结果], [操作者工号], [操作者姓名], [班次代码], " //+ "物料来源代码,物料来源,是否禁用代码,是否禁用,被强制验证物料号,更改代码,更改原因)" // SELECT [ID],[订单号],[主配厂家],[工位号], [工位名称], [物料号], [零件图号], [零件名称],[零件数量],[是否扫描], //是否主物料,[厂家代码], [生产厂家], 0 as 零件数量验证,'' as 物料条码,'' //as 物料条码物料号,'' as 物料条码批次,0 as 验证结果,被强制验证物料号,更改代码,更改原因,是否禁用代码,物料来源代码,扫描方式 //from MES_计划BOM_发动机装配指南 //where 订单号='100080211'and 工位号='OP3120' } else { sql = "SELECT [ID],[订单号]," + "[主配厂家],[工位号], [工位名称], [物料号], [零件图号], [零件名称], [零件数量],[是否扫描],d.扫描方式代码,d.扫描方式,是否主物料,[厂家代码], [生产厂家], " + "[操作指导],'' as 发动机号,'' as 主物料号,0 as 物料号表索引号,0 as 零件数量验证," + "'' as 物料条码,'' as 物料条码物料号,'' as 物料条码批次,0 as 验证结果," + "'' as 操作者工号,'' as 操作者姓名,'' as 班次代码," + "b.物料来源代码, b.物料来源, a.是否禁用代码, a.是否禁用,被强制验证物料号,更改代码,更改原因 " + " FROM MES_计划BOM_订单计划下达_扫描方式 AS d INNER JOIN (MES_计划BOM_订单计划下达_是否禁用 AS a INNER JOIN (MES_计划BOM_订单计划下达_物料来源 AS b INNER JOIN MES_计划BOM_发动机装配指南 AS c ON b.物料来源代码 = c.物料来源代码) ON a.是否禁用代码 = c.是否禁用代码) ON c.扫描方式=d.扫描方式代码 " + "where 订单号='" + orderForm + "'" + "and 工位号='" + OpName + "' and a.是否禁用代码 = 0 " + " ORDER BY 物料号 "; sql = "SELECT [ID],[订单号]," + "[主配厂家],[工位号], [工位名称], [物料号], [零件图号], [零件名称],[零件数量]," + "[是否扫描],扫描方式 as 扫描方式代码,'' as 扫描方式,是否主物料,[厂家代码], [生产厂家], " + "'' as 操作指导,'' as 发动机号,'' as 追踪代码,'' as 主物料号,0 as 物料号表索引号,0 as 零件数量验证," + "'' as 物料条码,'' as 物料条码物料号,'' as 物料条码批次,0 as 验证结果,'' as 操作者工号,'' as 操作者姓名,'' as 班次代码," + " 物料来源代码,'' as 物料来源,是否禁用代码,'' as 是否禁用, 被强制验证物料号,更改代码,更改原因" + " from MES_计划BOM_发动机装配指南" + " where 订单号='" + orderForm + "'" + "and 工位号='" + OpName + "'"; } //if (!SQLCommon.SqlServerConnectionStatus) //{ // SQLCommon.ExecuteDataTable_OleDb(sql, ApplicationConfig.ConnectionString_Access, out dt, out errorMessage); //} //else { DataAccess.ExecuteDataTable(sql, out dt); } return dt; } /// /// MES_装配数据_零部件追溯_临时状态_增加 /// /// /// //public static void VerifyMaterialTempTableInsert(DataTable dt) //{ // string sql; // sql = "INSERT INTO [MES_装配数据_零部件追溯_临时状态]" // + "([订单号]," // + "[主配厂家],[工位号], [工位名称],[物料号], [零件图号], [零件名称], [零件数量]," // + "[是否扫描],[扫描方式代码], [扫描方式],[是否主物料], [厂家代码],[生产厂家], " // + "[操作指导],[发动机号],[追踪代码],[主物料号],[物料号表索引号],[零件数量验证]," // + "[物料条码], [物料条码物料号], [物料条码批次],[验证结果], [操作者工号], [操作者姓名], [班次代码], " // + "物料来源代码,物料来源,是否禁用代码,是否禁用,被强制验证物料号,更改代码,更改原因)" // + "VALUES(@订单号," // + "@主配厂家,@工位号,@工位名称,@物料号,@零件图号,@零件名称,@零件数量," // + " @是否扫描,@扫描方式代码,@扫描方式,@是否主物料,@厂家代码,@生产厂家," // + "@操作指导,@发动机号,@追踪代码,@主物料号,@物料号表索引号,@零件数量验证," // + "@物料条码,@物料条码物料号,@物料条码批次,@验证结果,@操作者工号,@操作者姓名,@班次代码," // + "@物料来源代码,@物料来源,@是否禁用代码,@是否禁用,@被强制验证物料号,@更改代码,@更改原因)"; // OleDbParameter[] thisParms1 = new OleDbParameter[34]; // // + "([订单号] " // thisParms1[0] = new OleDbParameter("@订单号", OleDbType.VarChar, 50, "订单号"); // // + "@主配厂家,@工位号,@工位名称,@物料号,@零件图号,@零件名称,@零件数量," // thisParms1[1] = new OleDbParameter("@主配厂家", OleDbType.VarChar, 50, "主配厂家"); // thisParms1[2] = new OleDbParameter("@工位号", OleDbType.VarChar, 50, "工位号"); // thisParms1[3] = new OleDbParameter("@工位名称", OleDbType.VarChar, 50, "工位名称"); // thisParms1[4] = new OleDbParameter("@物料号", OleDbType.VarChar, 50, "物料号"); // thisParms1[5] = new OleDbParameter("@零件图号", OleDbType.VarChar, 50, "零件图号"); // thisParms1[6] = new OleDbParameter("@零件名称", OleDbType.VarChar, 50, "零件名称"); // thisParms1[7] = new OleDbParameter("@零件数量", OleDbType.Integer, 4, "零件数量"); // // +"[是否扫描],扫描方式代码, [扫描方式], [厂家代码],[生产厂家], " // thisParms1[8] = new OleDbParameter("@是否扫描", OleDbType.Integer, 4, "是否扫描"); // thisParms1[9] = new OleDbParameter("@扫描方式代码", OleDbType.Integer, 4, "扫描方式代码"); // thisParms1[10] = new OleDbParameter("@扫描方式", OleDbType.VarChar, 50, "扫描方式"); // thisParms1[11] = new OleDbParameter("@是否主物料", OleDbType.Integer, 4, "是否主物料"); // thisParms1[12] = new OleDbParameter("@厂家代码", OleDbType.VarChar, 50, "厂家代码"); // thisParms1[13] = new OleDbParameter("@生产厂家", OleDbType.VarChar, 50, "生产厂家"); // //+ "@操作指导,@发动机号,@物料号表索引号,@零件数量验证," // thisParms1[14] = new OleDbParameter("@操作指导", OleDbType.VarChar, 255, "操作指导"); // thisParms1[15] = new OleDbParameter("@发动机号", OleDbType.VarChar, 50, "发动机号"); // thisParms1[16] = new OleDbParameter("@追踪代码", OleDbType.VarChar, 50, "追踪代码"); // thisParms1[17] = new OleDbParameter("@主物料号", OleDbType.VarChar, 50, "主物料号"); // thisParms1[18] = new OleDbParameter("@物料号表索引号", OleDbType.Integer, 4, "物料号表索引号"); // thisParms1[19] = new OleDbParameter("@零件数量验证", OleDbType.Integer, 4, "零件数量验证"); // // +"[物料条码], [物料条码物料号], [物料条码批次],@验证结果, [操作者工号], [操作者姓名], [班次代码], " // thisParms1[20] = new OleDbParameter("@物料条码", OleDbType.VarChar, 50, "物料条码"); // thisParms1[21] = new OleDbParameter("@物料条码物料号", OleDbType.VarChar, 50, "物料条码物料号"); // thisParms1[22] = new OleDbParameter("@物料条码批次", OleDbType.VarChar, 50, "物料条码批次"); // thisParms1[23] = new OleDbParameter("@验证结果", OleDbType.Integer, 4, "验证结果"); // thisParms1[24] = new OleDbParameter("@操作者工号", OleDbType.VarChar, 50, "操作者工号"); // thisParms1[25] = new OleDbParameter("@操作者姓名", OleDbType.VarChar, 50, "操作者姓名"); // thisParms1[26] = new OleDbParameter("@班次代码", OleDbType.VarChar, 50, "班次代码"); // // +"物料来源代码,物料来源,是否禁用代码,是否禁用,被强制验证物料号,更改代码,更改原因)" // thisParms1[27] = new OleDbParameter("@物料来源代码", OleDbType.Integer, 4, "物料来源代码"); // thisParms1[28] = new OleDbParameter("@物料来源", OleDbType.VarChar, 50, "物料来源"); // thisParms1[29] = new OleDbParameter("@是否禁用代码", OleDbType.Integer, 4, "是否禁用代码"); // thisParms1[30] = new OleDbParameter("@是否禁用", OleDbType.VarChar, 50, "是否禁用"); // thisParms1[31] = new OleDbParameter("@被强制验证物料号", OleDbType.VarChar, 50, "被强制验证物料号"); // thisParms1[32] = new OleDbParameter("@更改代码", OleDbType.VarChar, 50, "更改代码"); // thisParms1[33] = new OleDbParameter("@更改原因", OleDbType.VarChar, 255, "更改原因"); // DataAccess.ExecuteDataTable_OleDb_Insert_Access(sql, dt, ref thisParms1); //} /// /// 查询订单号对应的订单数据 /// [MES_计划BOM_发动机号] /// /// /// /// public static bool EngineSelectByOrderForm(string orderForm, out DataTable dt) { string sql; sql = "SELECT TOP 1 * FROM MES_计划BOM_发动机号 WHERE 订单号='" + orderForm+"'"; //if (!SQLCommon.SqlServerConnectionStatus) //{ // return DataAccess.ExecuteDataTable_OleDb_Access(sql, out dt); //} //else { return DataAccess.ExecuteDataTable(sql, out dt); } } /// /// 根据追踪代码查询订单号对应的订单数据 /// [MES_装配数据_发动机号_追踪代码] /// /// /// /// //public static bool GetOrderFormByEngineTraceCode(string engineTraceCode, out DataTable dt) //{ // string sql; // sql = "SELECT TOP 1 * FROM MES_装配数据_发动机号_追踪代码 WHERE 追踪代码='" + engineTraceCode + "'"; // return DataAccess.ExecuteDataTable_OleDb_Access(sql, out dt); //} } }