using System;
using System.IO;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;
//using SystemFramework;
using DataLinkMesWork;
namespace bizFacade
{
public partial class BaseDataSystemMES
{
///
/// 保存[MES_装配数据_发动机号_追踪代码]
/// 与SqlServer连接正常,保存到SqlServer数据库中;
/// 与SqlServer连接不正常,保存到SqlServer数据库中;
///
public static void TableTraceInsert_SaveData()
{
DataTable dt;
dt = TraceCodeDataTableUpdate_Access();
//if (!SQLCommon.SqlServerConnectionStatus)
//{
// TableTraceInsert_Access(dt);
//}
//else
{
TableTraceInsert_SqlServer(dt);
}
}
///
/// [MES_装配数据_发动机号_追踪代码]数据保存到本地PC的Access数据库中
///
//private static bool TableTraceInsert_Access(DataTable dt)
//{
// string sql = null;
// sql =
// "INSERT INTO [MES_装配数据_发动机号_追踪代码] " +
// "(订单号,订单计划发动机号,发动机号,追踪代码,主物料号,工位号,操作者工号,班次代码," +
// "[SAP物料号],[发动机型号],[发动机型号代码], [发动机机型])" +
// "VALUES(@订单号,@订单计划发动机号,@发动机号,@追踪代码,@主物料号,@工位号,@操作者工号,@班次代码," +
// "@SAP物料号,@发动机型号,@发动机型号代码,@发动机机型)";
// OleDbParameter[] thisParms = new OleDbParameter[12];
// thisParms[0] = new OleDbParameter("@订单号", OleDbType.VarChar, 50, "订单号");
// thisParms[1] = new OleDbParameter("@订单计划发动机号", OleDbType.VarChar, 50, "订单计划发动机号");
// thisParms[2] = new OleDbParameter("@发动机号", OleDbType.VarChar, 50, "发动机号");
// thisParms[3] = new OleDbParameter("@追踪代码", OleDbType.VarChar, 50, "追踪代码");
// thisParms[4] = new OleDbParameter("@主物料号", OleDbType.VarChar, 50, "主物料号");
// thisParms[5] = new OleDbParameter("@工位号", OleDbType.VarChar, 50, "工位号");
// thisParms[6] = new OleDbParameter("@操作者工号", OleDbType.VarChar, 50, "操作者工号");
// thisParms[7] = new OleDbParameter("@班次代码", OleDbType.VarChar, 50, "班次代码");
// thisParms[8] = new OleDbParameter("@SAP物料号", OleDbType.VarChar, 50, "SAP物料号");
// thisParms[9] = new OleDbParameter("@发动机型号", OleDbType.VarChar, 50, "发动机型号");
// thisParms[10] = new OleDbParameter("@发动机型号代码", OleDbType.Integer, 4, "发动机型号代码");
// thisParms[11] = new OleDbParameter("@发动机机型", OleDbType.VarChar, 50, "发动机机型");
// return DataAccess.ExecuteDataTable_OleDb_Insert_Access(sql, dt, ref thisParms);
//}
///
/// [MES_装配数据_发动机号_追踪代码]保存到SqlServer数据库服务器
///
///
///
private static bool TableTraceInsert_SqlServer(DataTable dt)
{
string sql = null;
sql =
"INSERT INTO [MES_装配数据_发动机号_追踪代码] " +
"(订单号,订单计划发动机号,发动机号,追踪代码,主物料号,工位号,操作者工号,班次代码," +
"[SAP物料号],[发动机型号],[发动机型号代码], [发动机机型])" +
"VALUES(@订单号,@订单计划发动机号,@发动机号,@追踪代码,@主物料号,@工位号,@操作者工号,@班次代码," +
"@SAP物料号,@发动机型号,@发动机型号代码,@发动机机型)";
SqlParameter[] thisParms = new SqlParameter[12];
thisParms[0] = new SqlParameter("@订单号", SqlDbType.NVarChar, 50, "订单号");
thisParms[1] = new SqlParameter("@订单计划发动机号", SqlDbType.NVarChar, 50, "订单计划发动机号");
thisParms[2] = new SqlParameter("@发动机号", SqlDbType.NVarChar, 50, "发动机号");
thisParms[3] = new SqlParameter("@追踪代码", SqlDbType.NVarChar, 50, "追踪代码");
thisParms[4] = new SqlParameter("@主物料号", SqlDbType.NVarChar, 50, "主物料号");
thisParms[5] = new SqlParameter("@工位号", SqlDbType.NVarChar, 50, "工位号");
thisParms[6] = new SqlParameter("@操作者工号", SqlDbType.NVarChar, 50, "操作者工号");
thisParms[7] = new SqlParameter("@班次代码", SqlDbType.NVarChar, 50, "班次代码");
thisParms[8] = new SqlParameter("@SAP物料号", SqlDbType.NVarChar, 50, "SAP物料号");
thisParms[9] = new SqlParameter("@发动机型号", SqlDbType.NVarChar, 50, "发动机型号");
thisParms[10] = new SqlParameter("@发动机型号代码", SqlDbType.Int, 4, "发动机型号代码");
thisParms[11] = new SqlParameter("@发动机机型", SqlDbType.NVarChar, 50, "发动机机型");
return DataAccess.ExecuteSQL(sql, ref thisParms, dt);
//OleDbParameter[] thisParms = new OleDbParameter[12];
//thisParms[0] = new OleDbParameter("@订单号", OleDbType.VarChar, 50, "订单号");
//thisParms[1] = new OleDbParameter("@订单计划发动机号", OleDbType.VarChar, 50, "订单计划发动机号");
//thisParms[2] = new OleDbParameter("@发动机号", OleDbType.VarChar, 50, "发动机号");
//thisParms[3] = new OleDbParameter("@追踪代码", OleDbType.VarChar, 50, "追踪代码");
//thisParms[4] = new OleDbParameter("@主物料号", OleDbType.VarChar, 50, "主物料号");
//thisParms[5] = new OleDbParameter("@工位号", OleDbType.VarChar, 50, "工位号");
//thisParms[6] = new OleDbParameter("@操作者工号", OleDbType.VarChar, 50, "操作者工号");
//thisParms[7] = new OleDbParameter("@班次代码", OleDbType.VarChar, 50, "班次代码");
//thisParms[8] = new OleDbParameter("@SAP物料号", OleDbType.VarChar, 50, "SAP物料号");
//thisParms[9] = new OleDbParameter("@发动机型号", OleDbType.VarChar, 50, "发动机型号");
//thisParms[10] = new OleDbParameter("@发动机型号代码", OleDbType.Integer, 4, "发动机型号代码");
//thisParms[11] = new OleDbParameter("@发动机机型", OleDbType.VarChar, 50, "发动机机型");
//return DataAccess.ExecuteDataTable_OleDb_Insert_SqlServer(sql, dt, ref thisParms);
}
///
/// 创建临时表[MES_装配数据_发动机号_追踪代码]
///
///
private static DataTable CreateEngineTraceCodeDataTable()
{
DataTable dt;
dt = new DataTable();
dt.Columns.Add("订单号", typeof(string));
dt.Columns.Add("订单计划发动机号", typeof(string));
dt.Columns.Add("发动机号", typeof(string));
dt.Columns.Add("追踪代码", typeof(string));
dt.Columns.Add("主物料号", typeof(string));
dt.Columns.Add("工位号", typeof(string));
dt.Columns.Add("操作者工号", typeof(string));
dt.Columns.Add("班次代码", typeof(string));
dt.Columns.Add("SAP物料号", typeof(string));
dt.Columns.Add("发动机型号", typeof(string));
dt.Columns.Add("发动机型号代码", typeof(int));
dt.Columns.Add("发动机机型", typeof(string));
return dt;
}
///
/// 上线工位的[MES_装配数据_发动机号_追踪代码]数据
///
///
private DataTable GetTraceCodeDataTable()
{
DataTable dt;
dt = CreateEngineTraceCodeDataTable();
DataRow dr;
dr = dt.NewRow();
dr["订单号"] = MaterialData.orderForm;
dr["订单计划发动机号"] = MaterialData.engineNumber_OrderPlan;
dr["发动机号"] = MaterialData.engineNumber;
dr["追踪代码"] = MaterialData.engineTraceCode;
dr["主物料号"] = MaterialData.mainMaterialNumber;
dr["工位号"] = MaterialData.opName;
dr["操作者工号"] = MaterialData.operatorCode;
dr["班次代码"] = MaterialData.operatorShift;
dr["SAP物料号"] = MaterialData.sAPMaterialNumber;
dr["发动机型号"] = MaterialData.engineNumberType;
dr["发动机型号代码"] = MaterialData.engineNumberCode;
dr["发动机机型"] = MaterialData.engineNumberBasicType;
dt.Rows.Add(dr);
return dt;
}
///
/// 上线工位的[MES_装配数据_发动机号_追踪代码]数据
/// 从本工位
///
///
//public static bool GetTraceCodeDataTableFromAccess(string opName, out DataTable dt)
//{
// string sql;
// sql = "select 订单号,订单计划发动机号,发动机号,追踪代码,主物料号,工位号,操作者工号,班次代码,SAP物料号,发动机型号,发动机型号代码,发动机机型"
// + " from MES_装配数据_发动机号_追踪代码 where IsOK=0 and 工位号='" + opName + "'";
// return DataAccess.ExecuteDataTable_OleDb_Access(sql, out dt);
//}
///
/// 更新IsOK = 1 [MES_装配数据_发动机号_追踪代码]数据
///
///
//public static bool GetTraceCodeDataTableFromAccess_Update(string opName)
//{
// string sql;
// sql = "update MES_装配数据_发动机号_追踪代码 set IsOK = 1 where IsOK=0 and 工位号='" + opName + "'";
// return DataAccess.ExecuteSQL_OleDb_Access(sql);
//}
///
/// 数据库同步,应用于分装线线首工位
/// [数据MES_装配数据_发动机号_追踪代码_下达工位]
/// 从到Access中获得[数据MES_装配数据_发动机号_追踪代码_下达工位]数据,
/// 保存SqlServer数据库服务器,同时更新[是否同步]标志。
///
/// 当前工位
///
//public static void GetTraceCodeDataTableFromAccess_OpName_InsertIntoSqlServer(string opName)
//{
// DataTable dt;
// if (GetTraceCodeDataTableFromAccess(opName, out dt))
// {
// if (TableTraceInsert_SqlServer(dt))
// {
// GetTraceCodeDataTableFromAccess_Update(opName);
// }
// }
//}
///
/// 上线工位的[MES_装配数据_发动机号_追踪代码]
/// 对于分线上线工位,要将IsOK=0的行上传到分装部件的总线上线工位;上传后,该值置1。
///
///
private static DataTable TraceCodeDataTableUpdate_Access()
{
DataTable dt;
dt = CreateEngineTraceCodeDataTable();
DataRow dr;
dr = dt.NewRow();
dr["订单号"] = MaterialData.orderForm;
dr["订单计划发动机号"] = MaterialData.engineNumber_OrderPlan;
dr["发动机号"] = MaterialData.engineNumber;
dr["追踪代码"] = MaterialData.engineTraceCode;
dr["主物料号"] = MaterialData.mainMaterialNumber;
dr["工位号"] = MaterialData.opName;
dr["操作者工号"] = MaterialData.operatorCode;
dr["班次代码"] = MaterialData.operatorShift;
dr["SAP物料号"] = MaterialData.sAPMaterialNumber;
dr["发动机型号"] = MaterialData.engineNumberType;
dr["发动机型号代码"] = MaterialData.engineNumberCode;
dr["发动机机型"] = MaterialData.engineNumberBasicType;
dt.Rows.Add(dr);
return dt;
}
}
}