You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
541 lines
22 KiB
C#
541 lines
22 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Drawing;
|
|
using System.Data;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using Estsh.Client.Base;
|
|
using System.Configuration;
|
|
using MainProgram;
|
|
using MainProgram.BLL;
|
|
using System.IO;
|
|
|
|
|
|
namespace Estsh.Client.StepLibrary
|
|
{
|
|
public partial class OutPdline : StepBase
|
|
{
|
|
private StepLibraryAPP app = null;
|
|
private List<dynamic> _CheckData = null; //绑定数据
|
|
private delegate void DeleGrdBind(List<dynamic> dt);
|
|
private int _terminalID = 0;
|
|
private string _sn = "";
|
|
|
|
////PASS上一次成功扫描时间
|
|
//private DateTime _lastPassDatetime;
|
|
|
|
//PASS扫描间隔
|
|
private int _passIntervalValue = 2000;
|
|
|
|
//PASS间隔限制工位集合
|
|
private string _passIntervalLimit = string.Empty;
|
|
|
|
public OutPdline()
|
|
{
|
|
InitializeComponent();
|
|
|
|
// 有用户界面的工步在初始化时需要设置为不可见
|
|
// 开始执行此工步后再置为可见
|
|
this.Visible = false;
|
|
|
|
|
|
}
|
|
|
|
public override bool Do()
|
|
{
|
|
try
|
|
{
|
|
// 置为可见并加载到最前端
|
|
this.Visible = true;
|
|
this.BringToFront();
|
|
|
|
// 从配置文件中加载工位编号
|
|
_terminalID = Convert.ToInt32(Context["terminal_id"].ToString());
|
|
_sn = Context["serial_number"].ToString();
|
|
|
|
app = new StepLibraryAPP(httpClient);
|
|
string _PartNo = app.GetPartNo(_sn);
|
|
string rule = app.GetRuleNo(_PartNo);
|
|
string partLocation = app.GetPartLoc(_PartNo);
|
|
|
|
|
|
for (int i = 0; i < _CheckData.Count; i++)
|
|
{
|
|
if (_CheckData[i]["str4"].ToString() == "合格")
|
|
{
|
|
OutPdlineList.Rows[i].DefaultCellStyle.BackColor = Color.Green;
|
|
}
|
|
else
|
|
{
|
|
OutPdlineList.Rows[i].DefaultCellStyle.BackColor = Color.Red;
|
|
}
|
|
}
|
|
|
|
//for (int i = 0; i < OutPdlineList.Count; i++)
|
|
//{
|
|
// OutPdlineList[i].DefaultCellStyle.BackColor = Color.Red;
|
|
//}
|
|
OutPdlineList.Update();
|
|
|
|
if (OutPdlineList.Rows.Count > 0)
|
|
{
|
|
OutPdlineList.Rows[0].Selected = false;
|
|
}
|
|
|
|
// 执行父类的 Do 方法并返回
|
|
return base.Do();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
// 记录日志
|
|
using (StreamWriter sw = new StreamWriter("Error_Log_" + DateTime.Now.ToString("yyyyMM") + ".txt", true))
|
|
{
|
|
sw.WriteLine(string.Format("{0} {1}", "["
|
|
+ DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
|
|
+ "] ", ex.ToString()));
|
|
sw.Flush();
|
|
sw.Close();
|
|
}
|
|
return false;
|
|
}
|
|
|
|
}
|
|
|
|
private void OutPdline_Load(object sender, EventArgs e)
|
|
{
|
|
_sn = Context["serial_number"].ToString();
|
|
|
|
app = new StepLibraryAPP(httpClient);
|
|
_terminalID = Convert.ToInt32(Context["terminal_id"].ToString());
|
|
|
|
if (_sn.ToUpper() != "PASS" || _sn.ToUpper() != "REWORK")
|
|
{
|
|
string PF_DJC = "N";
|
|
string QP_DJC = "N";
|
|
string QP_IMS = "N";
|
|
string QP_JYF = "N";
|
|
string QP_TLL = "N";
|
|
string QP_SBR = "N";
|
|
string QP_SJYX = "N";
|
|
string QM_TLL = "N";
|
|
string QM_DJC = "N";
|
|
string QE_DJC = "N";
|
|
|
|
//查询总成检查项
|
|
List<dynamic> outPdlineDetectionList = app.GetOutPdlineDetectionData(_sn);
|
|
if (outPdlineDetectionList.Count > 0)
|
|
{
|
|
PF_DJC = outPdlineDetectionList[0]["PF_DJC"].ToString();
|
|
QP_DJC = outPdlineDetectionList[0]["QP_DJC"].ToString();
|
|
QP_IMS = outPdlineDetectionList[0]["QP_IMS"].ToString();
|
|
QP_JYF = outPdlineDetectionList[0]["QP_JYF"].ToString();
|
|
QP_TLL = outPdlineDetectionList[0]["QP_TLL"].ToString();
|
|
QP_SBR = outPdlineDetectionList[0]["QP_SBR"].ToString();
|
|
QP_SJYX = outPdlineDetectionList[0]["QP_SJYX"].ToString();
|
|
QM_TLL = outPdlineDetectionList[0]["QM_TLL"].ToString();
|
|
QM_DJC = outPdlineDetectionList[0]["QM_DJC"].ToString();
|
|
QE_DJC = outPdlineDetectionList[0]["QE_DJC"].ToString();
|
|
}
|
|
|
|
|
|
//检验绑定和扭矩信息
|
|
_CheckData = app.OutPdlineCheck(_terminalID, _sn);
|
|
|
|
//前电检测设备
|
|
if (QP_DJC.Trim() == "Y")
|
|
{
|
|
List<dynamic> CheckDJData = app.OutPdlineCheckDJ(_terminalID, _sn);
|
|
if (CheckDJData.Count > 0)
|
|
{
|
|
if (CheckDJData[0]["测试结果(P/F)"].ToString() == "F")
|
|
{
|
|
DataRow newRow;
|
|
newRow = _CheckData.NewRow();
|
|
newRow["str1"] = CheckDJData[0]["条码"].ToString();
|
|
newRow["str2"] = CheckDJData[0]["设备名称"].ToString();
|
|
newRow["str3"] = CheckDJData[0]["设备名称"].ToString();
|
|
newRow["str4"] = "不合格";
|
|
_CheckData.Add(newRow);
|
|
}
|
|
else
|
|
{
|
|
DataRow newRow;
|
|
newRow = _CheckData.NewRow();
|
|
newRow["str1"] = CheckDJData[0]["条码"].ToString();
|
|
newRow["str2"] = CheckDJData[0]["设备名称"].ToString();
|
|
newRow["str3"] = CheckDJData[0]["设备名称"].ToString();
|
|
newRow["str4"] = "合格";
|
|
_CheckData.Add(newRow);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
DataRow newRow;
|
|
newRow = _CheckData.NewRow();
|
|
newRow["str1"] = _sn;
|
|
newRow["str2"] = "后排电检设备";
|
|
newRow["str3"] = "后排电检设备";
|
|
newRow["str4"] = "未检测";
|
|
_CheckData.Add(newRow);
|
|
}
|
|
}
|
|
|
|
//前排视觉设备
|
|
if (QP_SJYX.Trim() == "Y")
|
|
{
|
|
List<dynamic> CheckDJData = app.OutPdlineCheckSJYX(_terminalID, _sn);
|
|
if (CheckDJData.Count > 0)
|
|
{
|
|
if (CheckDJData[0]["测试结果(P/F)"].ToString() == "F")
|
|
{
|
|
DataRow newRow;
|
|
newRow = _CheckData.NewRow();
|
|
newRow["str1"] = CheckDJData[0]["条码"].ToString();
|
|
newRow["str2"] = CheckDJData[0]["设备名称"].ToString();
|
|
newRow["str3"] = CheckDJData[0]["设备名称"].ToString();
|
|
newRow["str4"] = "不合格";
|
|
_CheckData.Add(newRow);
|
|
}
|
|
else
|
|
{
|
|
DataRow newRow;
|
|
newRow = _CheckData.NewRow();
|
|
newRow["str1"] = CheckDJData[0]["条码"].ToString();
|
|
newRow["str2"] = CheckDJData[0]["设备名称"].ToString();
|
|
newRow["str3"] = CheckDJData[0]["设备名称"].ToString();
|
|
newRow["str4"] = "合格";
|
|
_CheckData.Add(newRow);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
DataRow newRow;
|
|
newRow = _CheckData.NewRow();
|
|
newRow["str1"] = _sn;
|
|
newRow["str2"] = "前排视觉设备";
|
|
newRow["str3"] = "前排视觉设备";
|
|
newRow["str4"] = "未检测";
|
|
_CheckData.Add(newRow);
|
|
}
|
|
}
|
|
|
|
//前排SBR
|
|
if (QP_SBR.Trim() == "Y")
|
|
{
|
|
List<dynamic> CheckDJSBRData = app.OutPdlineCheckDJSBR(_terminalID, _sn);
|
|
|
|
if (CheckDJSBRData.Count > 0)
|
|
{
|
|
if (CheckDJSBRData[0]["测试结果(P/F)"].ToString() == "F")
|
|
{
|
|
DataRow newRow;
|
|
newRow = _CheckData.NewRow();
|
|
newRow["str1"] = CheckDJSBRData[0]["条码"].ToString();
|
|
newRow["str2"] = CheckDJSBRData[0]["设备名称"].ToString();
|
|
newRow["str3"] = CheckDJSBRData[0]["设备名称"].ToString();
|
|
newRow["str4"] = "不合格";
|
|
_CheckData.Add(newRow);
|
|
}
|
|
else
|
|
{
|
|
DataRow newRow;
|
|
newRow = _CheckData.NewRow();
|
|
newRow["str1"] = CheckDJSBRData[0]["条码"].ToString();
|
|
newRow["str2"] = CheckDJSBRData[0]["设备名称"].ToString();
|
|
newRow["str3"] = CheckDJSBRData[0]["设备名称"].ToString();
|
|
newRow["str4"] = "合格";
|
|
_CheckData.Add(newRow);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
DataRow newRow;
|
|
newRow = _CheckData.NewRow();
|
|
newRow["str1"] = _sn;
|
|
newRow["str2"] = "前排SBR";
|
|
newRow["str3"] = "前排SBR";
|
|
newRow["str4"] = "未检测";
|
|
_CheckData.Add(newRow);
|
|
}
|
|
}
|
|
|
|
//前排推拉力电检设备
|
|
if (QP_TLL.Trim() == "Y")
|
|
{
|
|
List<dynamic> CheckDJTLLData = app.OutPdlineCheckDJTLL(_terminalID, _sn);
|
|
if (CheckDJTLLData.Count > 0)
|
|
{
|
|
if (CheckDJTLLData[0]["测试结果(P/F)"].ToString() == "F")
|
|
{
|
|
DataRow newRow;
|
|
newRow = _CheckData.NewRow();
|
|
newRow["str1"] = CheckDJTLLData[0]["条码"].ToString();
|
|
newRow["str2"] = CheckDJTLLData[0]["设备名称"].ToString();
|
|
newRow["str3"] = CheckDJTLLData[0]["设备名称"].ToString();
|
|
newRow["str4"] = "不合格";
|
|
_CheckData.Add(newRow);
|
|
}
|
|
else
|
|
{
|
|
DataRow newRow;
|
|
newRow = _CheckData.NewRow();
|
|
newRow["str1"] = CheckDJTLLData[0]["条码"].ToString();
|
|
newRow["str2"] = CheckDJTLLData[0]["设备名称"].ToString();
|
|
newRow["str3"] = CheckDJTLLData[0]["设备名称"].ToString();
|
|
newRow["str4"] = "合格";
|
|
_CheckData.Add(newRow);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
DataRow newRow;
|
|
newRow = _CheckData.NewRow();
|
|
newRow["str1"] = _sn;
|
|
newRow["str2"] = "推拉力电检设备";
|
|
newRow["str3"] = "推拉力电检设备";
|
|
newRow["str4"] = "未检测";
|
|
_CheckData.Add(newRow);
|
|
}
|
|
}
|
|
|
|
//前排静音房电检设备
|
|
if (QP_JYF.Trim() == "Y")
|
|
{
|
|
List<dynamic> CheckJYFData = app.OutPdlineCheckJYF(_terminalID, _sn);
|
|
if (CheckJYFData.Count > 0)
|
|
{
|
|
if (CheckJYFData[0]["测试结果(P/F)"].ToString() == "F")
|
|
{
|
|
DataRow newRow;
|
|
newRow = _CheckData.NewRow();
|
|
newRow["str1"] = CheckJYFData[0]["条码"].ToString();
|
|
newRow["str2"] = CheckJYFData[0]["设备名称"].ToString();
|
|
newRow["str3"] = CheckJYFData[0]["设备名称"].ToString();
|
|
newRow["str4"] = "不合格";
|
|
_CheckData.Add(newRow);
|
|
}
|
|
else
|
|
{
|
|
DataRow newRow;
|
|
newRow = _CheckData.NewRow();
|
|
newRow["str1"] = CheckJYFData[0]["条码"].ToString();
|
|
newRow["str2"] = CheckJYFData[0]["设备名称"].ToString();
|
|
newRow["str3"] = CheckJYFData[0]["设备名称"].ToString();
|
|
newRow["str4"] = "合格";
|
|
_CheckData.Add(newRow);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
DataRow newRow;
|
|
newRow = _CheckData.NewRow();
|
|
newRow["str1"] = _sn;
|
|
newRow["str2"] = "静音房设备";
|
|
newRow["str3"] = "静音房设备";
|
|
newRow["str4"] = "未检测";
|
|
_CheckData.Add(newRow);
|
|
}
|
|
}
|
|
|
|
|
|
//前排IMS电检设备
|
|
if (QP_IMS.Trim() == "Y")
|
|
{
|
|
List<dynamic> CheckIMSData = app.OutPdlineCheckIMS(_terminalID, _sn);
|
|
if (CheckIMSData.Count > 0)
|
|
{
|
|
if (CheckIMSData[0]["测试结果(P/F)"].ToString() == "F")
|
|
{
|
|
DataRow newRow;
|
|
newRow = _CheckData.NewRow();
|
|
newRow["str1"] = CheckIMSData[0]["条码"].ToString();
|
|
newRow["str2"] = CheckIMSData[0]["设备名称"].ToString();
|
|
newRow["str3"] = CheckIMSData[0]["设备名称"].ToString();
|
|
newRow["str4"] = "不合格";
|
|
_CheckData.Add(newRow);
|
|
}
|
|
else
|
|
{
|
|
DataRow newRow;
|
|
newRow = _CheckData.NewRow();
|
|
newRow["str1"] = CheckIMSData[0]["条码"].ToString();
|
|
newRow["str2"] = CheckIMSData[0]["设备名称"].ToString();
|
|
newRow["str3"] = CheckIMSData[0]["设备名称"].ToString();
|
|
newRow["str4"] = "合格";
|
|
_CheckData.Add(newRow);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
DataRow newRow;
|
|
newRow = _CheckData.NewRow();
|
|
newRow["str1"] = _sn;
|
|
newRow["str2"] = "IMS设备";
|
|
newRow["str3"] = "IMS设备";
|
|
newRow["str4"] = "未检测";
|
|
_CheckData.Add(newRow);
|
|
}
|
|
}
|
|
|
|
|
|
//QM二排电检设备
|
|
if (QM_DJC.Trim() == "Y")
|
|
{
|
|
List<dynamic> CheckQMDJCData = app.OutPdlineCheckQMDJC(_terminalID, _sn);
|
|
if (CheckQMDJCData.Count > 0)
|
|
{
|
|
if (CheckQMDJCData[0]["测试结论"].ToString().Trim() == "不合格")
|
|
{
|
|
DataRow newRow;
|
|
newRow = _CheckData.NewRow();
|
|
newRow["str1"] = CheckQMDJCData[0]["型号条码"].ToString();
|
|
newRow["str2"] = "电检测";
|
|
newRow["str3"] = "电检测";
|
|
newRow["str4"] = "不合格";
|
|
_CheckData.Add(newRow);
|
|
}
|
|
else
|
|
{
|
|
DataRow newRow;
|
|
newRow = _CheckData.NewRow();
|
|
newRow["str1"] = CheckQMDJCData[0]["型号条码"].ToString();
|
|
newRow["str2"] = "电检测";
|
|
newRow["str3"] = "电检测";
|
|
newRow["str4"] = "合格";
|
|
_CheckData.Add(newRow);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
DataRow newRow;
|
|
newRow = _CheckData.NewRow();
|
|
newRow["str1"] = _sn;
|
|
newRow["str2"] = "电检测设备";
|
|
newRow["str3"] = "电检测设备";
|
|
newRow["str4"] = "未检测";
|
|
_CheckData.Add(newRow);
|
|
}
|
|
}
|
|
|
|
//QM二排推拉力
|
|
if (QM_TLL.Trim() == "Y")
|
|
{
|
|
List<dynamic> CheckQMTLLData = app.OutPdlineCheckQMTLL(_terminalID, _sn);
|
|
if (CheckQMTLLData.Count > 0)
|
|
{
|
|
if (CheckQMTLLData[0]["测试结论"].ToString().Trim() == "不合格")
|
|
{
|
|
DataRow newRow;
|
|
newRow = _CheckData.NewRow();
|
|
newRow["str1"] = CheckQMTLLData[0]["型号条码"].ToString();
|
|
newRow["str2"] = "推拉力设备";
|
|
newRow["str3"] = "推拉力设备";
|
|
newRow["str4"] = "不合格";
|
|
_CheckData.Add(newRow);
|
|
}
|
|
else
|
|
{
|
|
DataRow newRow;
|
|
newRow = _CheckData.NewRow();
|
|
newRow["str1"] = CheckQMTLLData[0]["型号条码"].ToString();
|
|
newRow["str2"] = "推拉力设备";
|
|
newRow["str3"] = "推拉力设备";
|
|
newRow["str4"] = "合格";
|
|
_CheckData.Add(newRow);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
DataRow newRow;
|
|
newRow = _CheckData.NewRow();
|
|
newRow["str1"] = _sn;
|
|
newRow["str2"] = "推拉力设备";
|
|
newRow["str3"] = "推拉力设备";
|
|
newRow["str4"] = "未检测";
|
|
_CheckData.Add(newRow);
|
|
}
|
|
}
|
|
|
|
|
|
//QE电检设备
|
|
if (QE_DJC.Trim() == "Y")
|
|
{
|
|
List<dynamic> CheckQEDJCData = app.OutPdlineCheckQEDJC(_terminalID, _sn);
|
|
if (CheckQEDJCData.Count > 0)
|
|
{
|
|
if (CheckQEDJCData[0]["测试结果"].ToString().Trim() == "NG")
|
|
{
|
|
DataRow newRow;
|
|
newRow = _CheckData.NewRow();
|
|
newRow["str1"] = CheckQEDJCData[0]["座椅条码"].ToString();
|
|
newRow["str2"] = "电检测";
|
|
newRow["str3"] = "电检测";
|
|
newRow["str4"] = "不合格";
|
|
_CheckData.Add(newRow);
|
|
}
|
|
else
|
|
{
|
|
DataRow newRow;
|
|
newRow = _CheckData.NewRow();
|
|
newRow["str1"] = CheckQEDJCData[0]["座椅条码"].ToString();
|
|
newRow["str2"] = "电检测";
|
|
newRow["str3"] = "电检测";
|
|
newRow["str4"] = "合格";
|
|
_CheckData.Add(newRow);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
DataRow newRow;
|
|
newRow = _CheckData.NewRow();
|
|
newRow["str1"] = _sn;
|
|
newRow["str2"] = "电检测设备";
|
|
newRow["str3"] = "电检测设备";
|
|
newRow["str4"] = "未检测";
|
|
_CheckData.Add(newRow);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
OutPdlineList.AutoGenerateColumns = false;
|
|
OutPdlineList.DataSource = _CheckData;
|
|
|
|
//_CheckData[rowID]["KPSN"]
|
|
int count = 0;
|
|
|
|
for (int i = 0; i < _CheckData.Count; i++)
|
|
{
|
|
if (_CheckData[i]["str4"].ToString() == "合格")
|
|
{
|
|
//OutPdlineList[i].DefaultCellStyle.BackColor = Color.Green;
|
|
}
|
|
else
|
|
{
|
|
count++;
|
|
//OutPdlineList[i].DefaultCellStyle.BackColor = Color.Red;
|
|
}
|
|
}
|
|
|
|
//for (int i = 0; i < OutPdlineList.Count; i++)
|
|
//{
|
|
// OutPdlineList[i].DefaultCellStyle.BackColor = Color.Red;
|
|
//}
|
|
//OutPdlineList.Update();
|
|
|
|
if (count > 0)
|
|
{
|
|
ShowMessage(this, "red|座椅信息采集不完整!");
|
|
return;
|
|
}
|
|
}
|
|
|
|
// 工步执行完成后调用此方法
|
|
Complate(this, e);
|
|
}
|
|
}
|
|
}
|