Browse Source

添加在线模式:完成部分功能。

JeffWang 2 years ago
parent
commit
d4a489bf37

+ 31 - 1
Source/OGCAssistTool/OGCAssistTool/Global.cpp

@@ -232,7 +232,7 @@ again:
 		}
 
 		dDeltaEAVGValue = dAllDeltaEValue/vtDebugRGB.size();
-		if ( dDeltaEValue <= dDeltaEAVGValue )
+		if ( dDeltaEValue >= dDeltaEAVGValue )
 			bRet = TRUE;
 
 		return bRet;
@@ -1250,6 +1250,36 @@ end:
 		return npt ? 2 : 1;
 	}
 
+	int IsDigitString(LPCTSTR lpString)
+	{
+		if ( !lpString || lpString[0] == _T('\0') )
+			return -1;
+
+		int npt = 0;
+		int nLen = _tcslen(lpString);
+		for (int i = 0; i < nLen; i++)
+		{
+			if (!_istdigit(lpString[i]))
+			{
+				if ( lpString[i] == _T('.') && i != 0)
+				{
+					if ( npt > 1)
+					{
+						return -1;
+					}
+
+					npt++;
+				}
+				else
+				{
+					return -1;
+				}
+			}
+		}
+
+		return npt ? 2 : 1;
+	}
+
 	int IsDigitStringA(LPCSTR lpString)
 	{
 		if ( !lpString || lpString[0] == '\0' )

+ 5 - 0
Source/OGCAssistTool/OGCAssistTool/Global.h

@@ -126,6 +126,10 @@ namespace GLOBAL {
 		TCHAR	szBatchNumber[MAX_PATH];
 		TCHAR	szOGCToolPath[MAX_PATH];
 		TCHAR	szOGCToolProgram[MAX_PATH];
+		// ²úÏß´úÂë
+		TCHAR	szProcessCode[MAX_PATH];
+		// ¹¤Õ¾´úÂë
+		TCHAR	szCompanyCode[MAX_PATH];
 		__CONFIG__() {
 			nStdOut = 0;
 			nOffline = 0;
@@ -204,6 +208,7 @@ namespace GLOBAL {
 	BOOL StartProcess(LPCTSTR lpPath, BOOL bShowWnd = FALSE, BOOL bSuspend = FALSE);
 	int IsDigitString(IN CONST CString& str);
 	int IsDigitStringA(LPCSTR lpString);
+	int IsDigitString(LPTSTR lpString);
 };
 
 #endif

+ 7 - 1
Source/OGCAssistTool/OGCAssistTool/MESdb.cpp

@@ -458,7 +458,9 @@ bool CMESdb::GetWhiteid(TString strBom, TString &Whiteid)
 		{			
 			if (rsData->EndOfFile == VARIANT_FALSE)
 			{
-				Whiteid = rsData->GetCollect(_T("whiteid")).bstrVal;
+				TCHAR szValue[36] = {0};
+				_itow_s(rsData->GetCollect(_T("whiteid")).intVal, szValue, 10);
+				Whiteid = szValue;
 			}
 
 			rsData->Close();
@@ -516,7 +518,11 @@ bool CMESdb::GetDeltaEInfo(TString strBatch, TString &strDeltaEType, TString &st
 	{
 		// 2¡¢Í¨¹ýwhiteid²éѯ°×ƽºâ²ÎÊý
 		if ( GetWhiteValue(strWhiteid, _T("DeltaE_Test_Standard"), strDeltaEType) && GetWhiteValue(strWhiteid, _T("DeltaE_Test_Target"), strDeltaValue) )
+		{
+			if ( -1 == GLOBAL::IsDigitString(strDeltaValue.c_str()) )
+				return false;
 			return true;
+		}
 	}
 	
 	return false;

+ 13 - 12
Source/OGCAssistTool/OGCAssistTool/OGCAssistTool.rc

@@ -119,18 +119,18 @@ EXSTYLE WS_EX_STATICEDGE
 FONT 8, "MS Shell Dlg", 400, 0, 0x1
 BEGIN
     GROUPBOX        "参数",IDC_STATIC,7,7,714,31
-    EDITTEXT        EDIT_LINE,37,18,52,14,ES_AUTOHSCROLL | ES_READONLY
+    EDITTEXT        EDIT_LINE,37,18,39,14,ES_AUTOHSCROLL | ES_READONLY
     LTEXT           "线体:",IDC_STATIC,15,21,20,8
-    EDITTEXT        EDIT_BATCH_NUMBER,127,18,88,14,ES_AUTOHSCROLL
-    LTEXT           "批次号:",IDC_STATIC,98,21,28,8
-    CONTROL         "锁定",CHECK_LOCK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,457,20,32,10,WS_EX_TRANSPARENT
-    LTEXT           "▲E标准值:",IDC_STATIC,355,21,38,8
-    LTEXT           "▲E类型:",IDC_STATIC,266,21,30,8
-    COMBOBOX        COMBO_ETYPE,301,18,48,80,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    EDITTEXT        EDIT_EVALUE,394,18,48,14,ES_AUTOHSCROLL
-    CONTROL         "",SPIN_EVALUE,"msctls_updown32",UDS_ARROWKEYS,443,18,11,14
-    EDITTEXT        EDIT_SN,511,18,154,14,ES_AUTOHSCROLL
-    LTEXT           "SN:",IDC_STATIC,497,21,11,8
+    EDITTEXT        EDIT_BATCH_NUMBER,115,18,88,14,ES_AUTOHSCROLL
+    LTEXT           "批次号:",IDC_STATIC,85,21,28,8
+    CONTROL         "锁定",CHECK_LOCK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,466,20,32,10,WS_EX_TRANSPARENT
+    LTEXT           "▲E标准值:",IDC_STATIC,382,21,38,8
+    LTEXT           "▲E类型:",IDC_STATIC,291,21,30,8
+    COMBOBOX        COMBO_ETYPE,325,18,48,80,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    EDITTEXT        EDIT_EVALUE,424,18,29,14,ES_AUTOHSCROLL
+    CONTROL         "",SPIN_EVALUE,"msctls_updown32",UDS_ARROWKEYS,453,18,11,14
+    EDITTEXT        EDIT_SN,515,18,150,14,ES_AUTOHSCROLL
+    LTEXT           "SN:",IDC_STATIC,502,21,11,8
     CONTROL         "",LIST_DEBUG_DATA,"SysListView32",LVS_REPORT | LVS_ALIGNLEFT | LVS_OWNERDATA | WS_BORDER | WS_TABSTOP,7,41,714,242
     GROUPBOX        "结果:",IDC_STATIC,7,284,714,31
     LTEXT           "▲E平均值:",IDC_STATIC,15,298,43,8
@@ -139,8 +139,9 @@ BEGIN
     CONTROL         "劫持窗口",CHECK_HIJACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,667,297,48,10
     PUSHBUTTON      "测试",BTN_TEST,666,18,50,14
     PUSHBUTTON      "连接设备",BTN_CONNECT,610,295,50,14
-    PUSHBUTTON      "加载数据",BTN_LOAD_DATA,216,18,40,14
+    PUSHBUTTON      "加载数据",BTN_LOAD_DATA,203,18,40,14
     CTEXT           "",LABLE_RESULT,146,294,313,15
+    CONTROL         "SN反查",CHECK_SN_GET,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,246,20,41,10
 END
 
 PAGE_LOG DIALOGEX 0, 0, 732, 322

+ 92 - 0
Source/OGCAssistTool/OGCAssistTool/PageDebug.cpp

@@ -6,6 +6,7 @@
 #include "PageDebug.h"
 #include "Injection.h"
 #include "CharEncoding.h"
+#include "MESdb.h"
 
 // 注入;
 extern CInjection g_Injection;
@@ -122,6 +123,7 @@ HBRUSH CPageDebug::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
 	{
 	case CHECK_LOCK:
 	case CHECK_HIJACK:
+	case CHECK_SN_GET:
 		{
 #if 1 // 透明控件处理;
 			pDC->SetBkMode(TRANSPARENT);
@@ -438,6 +440,12 @@ DWORD CPageDebug::ThreadGoProc(LPVOID lpParam)
 											m_pDlg->m_lable_result.SetBkColor(COLOR_RED);
 										}
 
+										// 在线模式,上报结果;
+										if ( !GLOBAL::g_config.nOffline )
+										{
+											m_pDlg->UpLoadTestData();
+										}	
+
 										// 更新数据库;
 										TB_SN tbSN;
 										CHAR szValue[MAX_PATH] = {0};
@@ -855,6 +863,90 @@ void CPageDebug::OnBnClickedLock()
 void CPageDebug::OnBnClickedLoadData()
 {
 	// TODO: 在此添加控件通知处理程序代码
+	BOOL bSNReverse = ((CButton*)GetDlgItem(CHECK_SN_GET))->GetCheck(); 
+
+	CString strBatchNum;
+	GetDlgItemText(EDIT_BATCH_NUMBER, strBatchNum);
+	if ( strBatchNum.IsEmpty() )
+	{
+		MessageBox(_T("请输入订单号或SN号"), _T("提示"), MB_ICONWARNING);
+		return;
+	}
+
+	if ( bSNReverse )
+	{// 通过SN获取订单号;
+		
+	}
+	else
+	{
+		// 直接使用订单号;
+		if ( CMESdb::GetInstance() )
+		{
+			if ( bSNReverse )
+			{// 通过SN获取订单号;
+				TString strBom;
+				if ( CMESdb::GetInstance()->GetBomFromSN(strBatchNum.GetString(), strBom) )
+				{
+					// 设置文本;
+					SetDlgItemText(EDIT_BATCH_NUMBER, strBom.c_str());
+					_stprintf_s(GLOBAL::g_config.szBatchNumber, _T("%s"), strBom.c_str());
+				}
+				else
+				{
+					MessageBox(_T("未查找到SN对应的批次号"), _T("提示"), MB_ICONWARNING);
+				}
+			}
+			else
+			{
+				_stprintf_s(GLOBAL::g_config.szBatchNumber, _T("%s"), strBatchNum.GetString());
+			}
+
+			TString data;
+			if ( CMESdb::GetInstance()->GetProcessCode(data) )
+			{
+				_stprintf_s(GLOBAL::g_config.szProcessCode, _T("%s"), data.c_str());
+			}
+			else
+			{
+				MessageBox(_T("获取白平衡产线代码失败"), _T("提示"), MB_ICONWARNING);
+				return;
+			}
+
+			if ( CMESdb::GetInstance()->GetCompanyCode(data, GLOBAL::g_config.szLine) )
+			{
+				_stprintf_s(GLOBAL::g_config.szCompanyCode, _T("%s"), data.c_str());
+			}
+			else
+			{
+				MessageBox(_T("获取工站代码失败"), _T("提示"), MB_ICONWARNING);
+				return;
+			}
+
+			TString strDeltaEType, strDeltaValue;
+			if ( CMESdb::GetInstance()->GetDeltaEInfo(GLOBAL::g_config.szBatchNumber, strDeltaEType, strDeltaValue) )
+			{
+				SetDlgItemText(EDIT_EVALUE, strDeltaValue.c_str());
+
+				if ( strDeltaEType == _T("00") )
+				{
+					m_cbDeltaEType.SelectString(0, _T("DeltaE00"));
+				}
+				else if ( strDeltaEType == _T("76") )
+				{
+					m_cbDeltaEType.SelectString(0, _T("DeltaE76"));
+				}
+				else if ( strDeltaEType == _T("94") )
+				{
+					m_cbDeltaEType.SelectString(0, _T("DeltaE94"));
+				}
+			}
+			else
+			{
+				MessageBox(_T("获取DeltaE参数失败"), _T("提示"), MB_ICONWARNING);
+				return;
+			}
+		}
+	}
 }
 
 void CPageDebug::OnCbnSelchangeEtype()

+ 1 - 0
Source/OGCAssistTool/OGCAssistTool/PageDebug.h

@@ -68,5 +68,6 @@ public:
 	CHAR m_szDeltaEValue[MAX_PATH];
 	CHAR m_szSN[MAX_PATH];
 	void UpdateList(std::vector<GLOBAL::RGB_PAT> &vtRGB);
+	bool UpLoadTestData();
 	afx_msg void OnNMCustomdrawDebugData(NMHDR *pNMHDR, LRESULT *pResult);
 };

+ 3 - 1
Source/OGCAssistTool/OGCAssistTool/resource.h

@@ -53,6 +53,8 @@
 #define IDC_DATETIMEPICKER2             1023
 #define IDC_LIST1                       1024
 #define COMBO_ORDER                     1025
+#define IDC_CHECK2                      1026
+#define CHECK_SN_GET                    1026
 
 // Next default values for new objects
 // 
@@ -60,7 +62,7 @@
 #ifndef APSTUDIO_READONLY_SYMBOLS
 #define _APS_NEXT_RESOURCE_VALUE        136
 #define _APS_NEXT_COMMAND_VALUE         32771
-#define _APS_NEXT_CONTROL_VALUE         1026
+#define _APS_NEXT_CONTROL_VALUE         1027
 #define _APS_NEXT_SYMED_VALUE           101
 #endif
 #endif