217 lines
16 KiB
C#
217 lines
16 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Text;
|
||
using System.Data;
|
||
using System.Data.SqlClient;
|
||
using System.Data.OleDb;
|
||
using DataLinkMesWork;
|
||
|
||
//using SystemFramework;
|
||
|
||
namespace bizFacade
|
||
{
|
||
public partial class BaseDataSystemMES
|
||
{
|
||
///// <summary>
|
||
///// MES_计划BOM_发动机号
|
||
///// 获得订单号
|
||
///// </summary>
|
||
///// <param name="dt"></param>
|
||
//static public void WorkPositionGuidOnLine_OrderForm(out DataTable dt)
|
||
//{
|
||
// string sql;
|
||
// sql = "SELECT distinct 订单号 from MES_计划BOM_订单计划下达_执行顺序 ";
|
||
// DataAccess.ExecuteDataTable_OleDb_Access(sql, out dt);
|
||
//}
|
||
///// <summary>
|
||
///// 物料清单
|
||
///// 根据ID号获得物料清单
|
||
///// 一行
|
||
///// </summary>
|
||
///// <param name="ID"></param>
|
||
///// <param name="dt"></param>
|
||
//static public void WorkPositionGuidOnLine_MaterialList(int ID, out DataTable dt)
|
||
//{
|
||
// string sql;
|
||
|
||
// sql = "SELECT [订单号], [SAP物料号], [发动机型号], [发动机型号代码], [发动机机型]," +
|
||
// "[发动机数量], [厂牌编号起始号], [客户名称], [投料日期], [文件编号], [集团名称], [通知号], " +
|
||
// "[功率], [指南文件编号], [装机状态], [适用状态], [物料描述],[计划下达日期], [计划完工日期],[实际完成日期],[实际结束日期],[操作时间]," +
|
||
// "[主配厂家],[工位号], [工位名称], [物料号], [零件图号], [零件名称], [零件数量],[是否扫描],扫描方式,[厂家代码], [生产厂家], " +
|
||
// "[操作指导],[工位基本操作指导],[工位基本指导图片],[日计划产量], [工位操作指导],[工位指导图片],[物料来源代码],[是否禁用代码],[被强制验证物料号],更改代码,更改原因" +
|
||
// " FROM MES_计划BOM_订单计划下达 " +
|
||
// " WHERE ID =" + Convert.ToString(ID);
|
||
|
||
// DataAccess.ExecuteDataTable_OleDb_Access(sql, out dt);
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 物料清单
|
||
///// 根据订单号和工位号
|
||
///// </summary>
|
||
///// <param name="orderForm"></param>
|
||
///// <param name="opName"></param>
|
||
///// <param name="dt"></param>
|
||
//static public void WorkPositionGuidOnLine_MaterialList(string orderForm, string opName, out DataTable dt)
|
||
//{
|
||
// string sql;
|
||
// //sql = "SELECT [ID], [订单号], [SAP物料号], [发动机型号], [发动机型号代码], [发动机机型]," +
|
||
// // "[发动机数量], [厂牌编号起始号], [客户名称], [投料日期], [文件编号], [集团名称], [通知号], " +
|
||
// // "[功率], [指南文件编号], [装机状态], [适用状态], [物料描述],[计划下达日期], [计划完工日期],[实际完成日期],[实际结束日期],[操作时间], " +
|
||
// // "[主配厂家],[工位号], [工位名称], [物料号], [零件图号], [零件名称], [零件数量],[是否扫描],d.扫描方式代码,d.扫描方式,[厂家代码], [生产厂家], " +
|
||
// // "[操作指导],[工位基本操作指导],[工位基本指导图片],[日计划产量], [工位操作指导],[工位指导图片],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 + "' "
|
||
// // + " ORDER BY 物料号 ";
|
||
// sql = " SELECT a.订单号, a.执行顺序,a.SAP物料号,a.发动机型号,a.发动机型号代码,a.发动机机型,"
|
||
// + "a.发动机数量,a.厂牌编号起始号,a.客户名称,a.投料日期,a.文件编号,a.集团名称,a.通知号,a.功率,"
|
||
// + "a.指南文件编号,a.装机状态,a.适用状态,a.物料描述,a.计划下达日期,a.计划完工日期,a.实际完成日期,"
|
||
// + "a.实际结束日期,a.完成情况代码,a.完成数量,a.订单完成日期 ,"
|
||
// + "b.主配厂家, b.工位号, b.工位名称, b.物料号,b.零件图号,b.零件名称,b.零件数量,"
|
||
// + "b.是否扫描,b.扫描方式,b.是否主物料,b.厂家代码,b.生产厂家,b.操作指导,b.物料来源代码,"
|
||
// + "b.是否禁用代码,b.被强制验证物料号,b.更改代码,b.更改原因,"
|
||
// + "c.工位基本指导图片,d.工位操作指导, d.工位指导图片 "
|
||
// + " FROM MES_计划BOM_订单计划下达_执行顺序 AS a INNER JOIN "
|
||
// + "(MES_计划BOM_工位操作指南 AS d INNER JOIN "
|
||
// + "(MES_计划BOM_发动机装配指南 AS b INNER JOIN MES_计划BOM_工位基本指导 AS c ON b.工位号 = c.工位号)"
|
||
// + "ON d.工位号 = b.工位号) ON a.订单号 = b.订单号"
|
||
// + " WHERE a.发动机型号代码=d.发动机型号代码 "
|
||
// + " AND a.订单号 = '" + orderForm + "' "
|
||
// + " AND b.工位号 = '" + opName + "' "
|
||
// + " ORDER BY 物料号 ";
|
||
// DataAccess.ExecuteDataTable_OleDb_Access(sql, out dt);
|
||
//}
|
||
///// <summary>
|
||
///// 0090 F2 分线缸盖上线工位
|
||
///// 1、缸盖到位后,显示该工位的操作指南,物料表和物料验证表
|
||
///// 2、扫描缸盖,验证缸盖物料号
|
||
///// 3、扫描“物料追踪号”
|
||
///// 4、保存“物料追踪号”和缸盖号到缸盖需要验证的工位
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//static public void WorkPositionGuidOnLine_MaterialList_F2(out DataTable dt, out string engineID)
|
||
//{
|
||
// //订单号
|
||
// string orderForm;
|
||
// //发动机号
|
||
// engineID = null;
|
||
// string sql;
|
||
// string whereStr = " WHERE c.ID <> 0 ";
|
||
// string order = " ORDER BY d.是否优先代码 DESC, a.执行顺序, c.发动机号 ";
|
||
// sql = "SELECT a.订单号, a.执行顺序, a.计划下达日期, a.订单完成日期, b.完成情况代码, b.完成情况, "
|
||
// + " c.ID, c.发动机号, c.发动机型号代码,c.发动机机型, c.投料日期, c.人员代码, c.班次, "
|
||
// + " c.是否优先代码, c.是否装配代码, c.装配日期, d.是否优先代码, d.是否优先, e.是否装配代码, e.是否装配"
|
||
// + " FROM (((MES_计划BOM_订单计划下达_执行顺序 AS a INNER JOIN MES_计划BOM_订单计划下达_完成情况 AS b ON a.完成情况代码 = b.完成情况代码) INNER JOIN MES_计划BOM_发动机号 AS c ON a.订单号 = c.订单号) INNER JOIN MES_计划BOM_发动机号_是否优先 AS d ON c.是否优先代码 = d.是否优先代码) INNER JOIN MES_计划BOM_发动机号_是否装配 AS e ON c.是否装配代码 = e.是否装配代码 ";
|
||
// whereStr = whereStr + " and e.是否装配代码 = 0";
|
||
// sql = sql + whereStr + order;
|
||
// DataAccess.ExecuteDataTable_OleDb_Access(sql, out dt);
|
||
// if (dt != null)
|
||
// {
|
||
// if (dt.Rows.Count > 0)
|
||
// {
|
||
// orderForm = dt.Rows[0]["订单号"].ToString();
|
||
// engineID = dt.Rows[0]["发动机号"].ToString();
|
||
// WorkPositionGuidOnLine_MaterialList(orderForm, ApplicationConfig.OpName, out dt);
|
||
// }
|
||
// }
|
||
//}
|
||
///// <summary>
|
||
///// 根据追踪代码(挂牌号)获得物料表
|
||
/////六:分线缸盖半自动工位流程:MachineType=“S”,ScannerType = “1”,
|
||
/////OpType=“P2”, OpNameMainLine=“OP0000”(总线缸盖上线工位)
|
||
/////1:PLC向MES发送工件到位,开始扫描信号。WorkStart=1
|
||
/////2:扫描追踪代码(挂牌号)
|
||
/////3:通过OpNameMainLine(总线缸盖上线工位)工位数据表和本工位的装配指南,
|
||
/////获得当前工位的装配指南,订单号、缸盖号、机型、机型标志。
|
||
/////4:显示订单号、缸盖号、机型、机型标志
|
||
/////5:显示装配指南和被验证物料
|
||
/////6:MES向PLC写入发动机号、机型、机型标志、追踪代码
|
||
/////7:MES向PLC写入MES激发变量扫描完成,EngineGetOver=1
|
||
/////8:验证物料。
|
||
/////9:物料验证完成,MES向PLC写入MES激发变量物料验证完毕信号,MaterialVerifyOver=1。
|
||
/////10:PLC向MES发送工件离开信号WorkStart=0,
|
||
/////保存数据发动机号、机型、机型标志、追踪代码到OpNameMainLine(总线缸盖上线工位)工位数据表中,
|
||
/////完成工件当日计数和工作开始时间和结束时间。
|
||
///// </summary>
|
||
///// <returns></returns>
|
||
//static public void WorkPositionGuidOnLine_MaterialList_P2(string opName, string orderForm, out DataTable dt)
|
||
//{
|
||
// ////物料追踪数据库来源
|
||
// //string OpNameOther=null;
|
||
// //////物料追踪数据库保存
|
||
// ////string OpNameMainLine;
|
||
// ////订单号
|
||
// //string orderForm=null;
|
||
// string sql;
|
||
// //sql = "SELECT * FROM [MES_装配数据_零部件追溯_数据主表] "
|
||
// // + " WHERE 追踪代码='" + traceCode+"'";
|
||
// //DataAccess.ExecuteDataTable_OleDb_Access(sql,ApplicationConfig.OpNameOtherFileName, out dt);
|
||
// //if (dt == null) return;
|
||
// //if (dt.Rows.Count > 0)
|
||
// //{
|
||
// // orderForm = dt.Rows[0]["订单号"].ToString();
|
||
// //}
|
||
// ////物料清单
|
||
|
||
// sql = "SELECT [ID], [订单号], [SAP物料号], [发动机型号], [发动机型号代码], [发动机机型]," +
|
||
// "[发动机数量], [厂牌编号起始号], [客户名称], [投料日期], [文件编号], [集团名称], [通知号], " +
|
||
// "[功率], [指南文件编号], [装机状态], [适用状态], [物料描述],[计划下达日期], [计划完工日期],[实际完成日期],[实际结束日期],[操作时间], " +
|
||
// "[主配厂家],[工位号], [工位名称], [物料号], [零件图号], [零件名称], [零件数量],[是否扫描],d.扫描方式代码,d.扫描方式,[厂家代码], [生产厂家], " +
|
||
// "[操作指导],[工位基本操作指导],[工位基本指导图片],[日计划产量], [工位操作指导],[工位指导图片],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 + "' "
|
||
// + " ORDER BY 物料号 ";
|
||
|
||
// DataAccess.ExecuteDataTable_OleDb_Access(sql, out dt);
|
||
//}
|
||
/// <summary>
|
||
/// 根据订单号和工位获得装配指南信息
|
||
/// [MES_计划BOM_订单计划下达]
|
||
/// </summary>
|
||
/// <param name="orderForm">订单号</param>
|
||
/// <param name="OpName">工位号</param>
|
||
/// <param name="isVerify">是验证物料还是全部物料</param>
|
||
/// <returns></returns>
|
||
//public static DataTable GetMaterialListBak(string orderForm, string OpName, bool isVerify)
|
||
//{
|
||
// string errorMessage;
|
||
// DataTable dt;
|
||
// string sql;
|
||
// if (isVerify)
|
||
// {
|
||
// sql = "SELECT [ID], [订单号], [SAP物料号], [发动机型号], [发动机型号代码], [发动机机型]," +
|
||
// "[发动机数量], [厂牌编号起始号], [客户名称], [投料日期], [文件编号], [集团名称], [通知号], " +
|
||
// "[功率], [指南文件编号], [装机状态], [适用状态], [物料描述],[计划下达日期], [计划完工日期]," +
|
||
// "[主配厂家],[工位号], [工位名称], [物料号], [零件图号], [零件名称], [零件数量],[是否扫描],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 and 是否扫描 <> 0 "
|
||
// + " ORDER BY 物料号 ";
|
||
// }
|
||
// else
|
||
// {
|
||
// sql = "SELECT [ID],[订单号], [SAP物料号], [发动机型号], [发动机型号代码], [发动机机型]," +
|
||
// "[发动机数量], [厂牌编号起始号], [客户名称], [投料日期], [文件编号], [集团名称], [通知号], " +
|
||
// "[功率], [指南文件编号], [装机状态], [适用状态], [物料描述],[计划下达日期], [计划完工日期]," +
|
||
// "[主配厂家],[工位号], [工位名称], [物料号], [零件图号], [零件名称], [零件数量],[是否扫描],d.扫描方式代码,d.扫描方式,[厂家代码], [生产厂家], " +
|
||
// "[操作指导],'' 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 物料号 ";
|
||
// }
|
||
// SQLCommon.ExecuteDataTable_OleDb(sql, ApplicationConfig.ConnectionString_Access, out dt, out errorMessage);
|
||
// return dt;
|
||
//}
|
||
}
|
||
}
|