»õ ÆÄÀÏ |
| | |
| | |  |
| | | // ReveiwHistoryDlg.h: í¤ë íì¼ |
| | | // |
| | | |
| | | #pragma once |
| | | |
| | | #include "akFormationMap.h" |
| | | #include "akGridData.h" |
| | | #include "AlignDlg.h" |
| | | #include "akWndArrange.h" |
| | | #include "DitGlassRawServer.h" |
| | | #include "GlassRawBase.h" |
| | | #include "akCore/akFileDB.h" |
| | | #include "afxcmn.h" |
| | | #include "akGridCtrl/akGridCtrl.h" |
| | | #include "akImageView.h" |
| | | //#include "CameraImageView.h" |
| | | //#include "CHImageControls/CHRectTracker.h" |
| | | |
| | | |
| | | #define MAX_COUNT 100 |
| | | /*< LYW 20211025 - #3684 ADD Start >*/ |
| | | enum OFFSETCOUNT { |
| | | CAM_MAX_COUNT = 20, XPOS_MAX_COUNT = 10, SCAN_MAX_COUNT = 10, PROGRESS_BAR_MAX = 2000 |
| | | }; |
| | | |
| | | #define REVIEW_OFFSET_CONFIGFILE_PATH _T("D:\\DIT_Review\\ReviewServerConfig\\") //210805 |
| | | #define REVIEW_OFFSET_CONFIGFILE_NAME _T("ReviewOffSet.cfg") |
| | | #define REVIEW_OFFSET_CONFIGFILE_FULL_PATHNAME _T("D:\\DIT_Review\\ReviewServerConfig\\ReviewOffSet.cfg") |
| | | #define MOTOR_OFFSET_CONFIGFILE_FULL_PATHNAME _T("D:\\DIT_Review\\ReviewServerConfig\\MotorOffSet.cfg") |
| | | /*< LYW 20220525 - #4158 ADD Start >*/ |
| | | #define _REVIEW_SERVER_SYSTEM_SETTING_BACKUP_PATH_CPJT _T("\\\\126.100.100.5\\d\\DIT Back up\\DIT Review\\ReviewServerConfig") |
| | | /*< LYW 20220525 - #4158 ADD End >*/ |
| | | #define REVIEW_OFFSET_BACKUP_FORDER_NAME _T("OffsetBackup") |
| | | #define REVIEW_OFFSET_BACKUP_FORDER_PATH _T("D:\\DIT_Review\\ReviewServerConfig\\OffsetBackup\\") |
| | | |
| | | /*< LYW 20211111 - #3766 ADD Start >*/ |
| | | #define COPYDATA_REVIEWHISTORYOR2REVIEWSYSTEM 1800 |
| | | /*< LYW 20211111 - #3766 ADD End >*/ |
| | | /*< LYW 20211025 - #3684 ADD End >*/ |
| | | |
| | | struct _DefectList |
| | | { |
| | | int m_nFileTime; |
| | | CString m_strFileName; |
| | | CString m_strLoading; |
| | | CString m_strGlassID; |
| | | CString m_strPPID; |
| | | int m_nReviewCount; |
| | | int m_nAllCount; |
| | | CString m_strJudge; |
| | | }; |
| | | |
| | | /*< LYW 20211025 - #3684 ADD Start >*/ |
| | | struct OffSetInfo |
| | | { |
| | | int nXposIndex; |
| | | int nScanIndex; |
| | | int nCamIndex; |
| | | double dXposMax; |
| | | double dXposMin; |
| | | double dYposMax; |
| | | double dYposMin; |
| | | double dXoffSetValue; |
| | | double dYoffSetValue; |
| | | BOOL bCheckSave; |
| | | |
| | | }; |
| | | typedef std::vector<OffSetInfo> VecOffSetData; |
| | | typedef std::vector<VecOffSetData> VecOffSetScanData; |
| | | typedef std::vector<VecOffSetScanData> VecOffSetCameraInfo; |
| | | /*< LYW 20211025 - #3684 ADD End >*/ |
| | | |
| | | /*< LYW 20211029 - #3684 ADD Start >*/ |
| | | DWORD RunThreadReviewHistory(LPVOID param); |
| | | /*< LYW 20211029 - #3684 ADD End >*/ |
| | | |
| | | // CReveiwHistoryDlg ëí ìì |
| | | class CReveiwHistoryDlg : public CDialogEx |
| | | { |
| | | // ìì±ì
ëë¤. |
| | | public: |
| | | CReveiwHistoryDlg(CWnd* pParent = nullptr); // íì¤ ìì±ìì
ëë¤. |
| | | /*< LYW 20211029 - #3684 ADD Start >*/ |
| | | ~CReveiwHistoryDlg(void); |
| | | /*< LYW 20211029 - #3684 ADD End >*/ |
| | | |
| | | // ëí ìì ë°ì´í°ì
ëë¤. |
| | | #ifdef AFX_DESIGN_TIME |
| | | enum { IDD = IDD_DLG_REVIEWHISTORY }; |
| | | #endif |
| | | |
| | | protected: |
| | | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV ì§ìì
ëë¤. |
| | | |
| | | public: |
| | | CFont m_Filelistfont; |
| | | CFont m_Defectfont; |
| | | |
| | | _DefectDisplayOption m_DefectDisplayOption; |
| | | CakFormationMap m_FormationMap; |
| | | akDefectFormation m_Formation; |
| | | CString m_strRawFilePath; |
| | | CakWndArrange m_WndArrange; |
| | | |
| | | CakImageView m_ImageView; |
| | | |
| | | CAlignDlg* m_pDlgAlign; |
| | | |
| | | CakGridCtrl m_gridMultiLIst; |
| | | std::vector<CString> m_vecStrGridMultiHeader; |
| | | |
| | | CakGridCtrl m_gridReviewList; |
| | | std::vector<CString> m_vecStrGridReviewHeader; |
| | | std::vector<CString> m_vecStrGridReviewList; |
| | | std::vector<CString> m_vecStrGridReviewPath; |
| | | std::vector<CString> m_vecStrGridTimeList; |
| | | std::vector<_DefectList> m_vecStrDefectList; |
| | | |
| | | CakGridCtrl m_gridDefectInfo; |
| | | std::vector<CString> m_vecStrGridDefectHeader; |
| | | |
| | | CakGridCtrl m_gridGlassInfo; |
| | | std::vector<CString> m_vecStrGridGlassHeader; |
| | | |
| | | std::vector<CString> m_vecStrReviewTemp; |
| | | std::vector<_akFormation*> m_vecSortForm; |
| | | |
| | | std::vector<_akDefect> m_vectest; |
| | | |
| | | CImage m_DefectImage; |
| | | //LYW 20210825 #3486 ADD START |
| | | CImage m_DefectRotateImage; |
| | | //LYW 20210825 #3486 ADD END |
| | | CImage m_ReviewImage; |
| | | |
| | | CRect m_picture_rect; |
| | | CRect m_picture_rect2; |
| | | |
| | | CImage m_AlignFirst; |
| | | CImage m_AlignSecend; |
| | | |
| | | CRect m_Align_rect; |
| | | CRect m_Align_rect2; |
| | | |
| | | CButton m_chkAllDefect; |
| | | CButton m_chkReviewDefect; |
| | | CButton m_chkMuti; |
| | | CButton m_chkSingle; |
| | | |
| | | CSliderCtrl m_sldImg; |
| | | CEdit m_ctrCount; |
| | | |
| | | CStatic m_ctrReviewImage; |
| | | |
| | | CEdit m_ctlFileCount; |
| | | |
| | | CProgressCtrl m_ctlProgress; |
| | | |
| | | CakGridCtrl m_ctrlGridGlassList; |
| | | |
| | | /*< LYW 20211018 - #3684 ADD Start >*/ |
| | | //CurrentDefect, Offset ê³ì° ì¬ì© |
| | | int m_dCurDefectIdx; |
| | | int m_dCurDefectID; |
| | | /*< LYW 20211018 - #3684 ADD End >*/ |
| | | |
| | | /*< LYW 20211028 - #3684 ADD Start >*/ |
| | | CTime m_LastSaveOffsetTime; |
| | | CTime m_CurrentResultFileTime; |
| | | /*< LYW 20211028 - #3684 ADD End >*/ |
| | | /*< LYW 20211029 - #3684 ADD Start >*/ |
| | | DWORD m_ThreadId; |
| | | /*< LYW 20211029 - #3684 ADD End >*/ |
| | | |
| | | // tracker |
| | | BOOL m_bDrawTracker; |
| | | CPoint m_ptTrackerStart; |
| | | //CCHRectTracker m_rectTracker; |
| | | |
| | | // Scroll Pos |
| | | int m_nVScroll; |
| | | int m_nHScroll; |
| | | // Max Scroll Pos |
| | | int m_nMaxVScroll; |
| | | int m_nMaxHScroll; |
| | | |
| | | /////////////////////////////////////////////////////// |
| | | CDitGlassRawServer m_Server; |
| | | CGlassRawBase* m_pGlassRawMaker; |
| | | CgrmGlassRawData m_GlassRawDataBuffer; |
| | | /////////////////////////////////////////////////////// |
| | | |
| | | int m_nSelectedCol; |
| | | int m_nSelectedRow; |
| | | |
| | | char m_strConfigFile[MAX_PATH]; |
| | | |
| | | bool m_bDefectAll; |
| | | bool m_bFirst; |
| | | int m_nCount; |
| | | |
| | | int m_nGlassSelect; |
| | | int m_nFileCount; |
| | | int m_nSelectFile[105]; |
| | | int m_nDefectSize[105]; |
| | | int m_nCellSize[105]; |
| | | int m_nCellSizeTemp[105]; |
| | | int m_nImageSize[105]; |
| | | int m_nSizeDefect; |
| | | int m_nSizeImage; |
| | | int m_nDefectCount; |
| | | int m_nImageCount; |
| | | int m_nCellCount; |
| | | |
| | | BOOL m_bAsending; |
| | | |
| | | struct _InitOption |
| | | { |
| | | int m_nMaxDataNumCell; |
| | | int m_nMaxDataNumDefect; |
| | | |
| | | int m_nSelectRawType; |
| | | |
| | | char m_strLogFilePath[256]; |
| | | |
| | | int m_bUseStack; |
| | | char m_strStackLocalPath[256]; |
| | | char m_strStackEquipID[32]; |
| | | char m_strStackParam1[32]; |
| | | char m_strStackParam2[32]; |
| | | }m_ConfigOption; |
| | | |
| | | // 구íì
ëë¤. |
| | | protected: |
| | | HICON m_hIcon; |
| | | |
| | | // ìì±ë ë©ìì§ ë§µ í¨ì |
| | | virtual BOOL OnInitDialog(); |
| | | afx_msg void OnSysCommand(UINT nID, LPARAM lParam); |
| | | afx_msg void OnPaint(); |
| | | afx_msg HCURSOR OnQueryDragIcon(); |
| | | virtual BOOL PreTranslateMessage(MSG* pMsg); |
| | | |
| | | DECLARE_MESSAGE_MAP() |
| | | |
| | | void AddVecFileHeader(); |
| | | void AddVecGlassHeader(); |
| | | void AddVecDefectHeader(); |
| | | |
| | | void SlideInit(); |
| | | |
| | | void InitGridReviewLIst(CakGridCtrl* pGrid, UINT nRectCtrlID); |
| | | void InitGridGlassLIst(CakGridCtrl * pGrid, UINT nRectCtrlID); |
| | | void InitGridDefectLIst(CakGridCtrl* pGrid, UINT nRectCtrlID); |
| | | |
| | | void CreateUserDirectory(); |
| | | void CreateUserClass(); |
| | | void DestroyUserClass(); |
| | | |
| | | void getDispInfoGlass(int nCol, int nRow, CString* pStrData); |
| | | void getDispInfoGlassInfo(int nCol, int nRow, CString * pStrData); |
| | | void getDispInfoDefect(int nCol, int nRow, CString* pStrData); |
| | | |
| | | public: |
| | | afx_msg void OnBnClickedButtonMapviewFit(); |
| | | afx_msg void OnDestroy(); |
| | | afx_msg LRESULT OnMapDefectSelected(WPARAM wParam, LPARAM lParam); |
| | | afx_msg LRESULT OnDisplayWarning(WPARAM wParam, LPARAM lParam); |
| | | afx_msg LRESULT OnMapDefectMouseOver(WPARAM wParam, LPARAM lParam); |
| | | afx_msg LRESULT OnListDefectSelected(WPARAM wParam, LPARAM lParam); |
| | | /*< LYW 20211018 - #3684 ADD Start >*/ |
| | | afx_msg LRESULT OnImageClick(WPARAM wParam, LPARAM lParam); |
| | | /*< LYW 20211018 - #3684 ADD End >*/ |
| | | afx_msg void OnSize(UINT nType, int cx, int cy); |
| | | |
| | | afx_msg void OnOptionPathsetting(); |
| | | afx_msg void OnViewAlldefect(); |
| | | afx_msg void OnViewReviewdefect(); |
| | | afx_msg void OnAlignView(); |
| | | afx_msg void OnBnClickedBtnFindBin(); |
| | | afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar); |
| | | afx_msg void OnChangeEditCount(); |
| | | |
| | | afx_msg void OnClickedChkAllDefect(); |
| | | afx_msg void OnClickedChkMuti(); |
| | | afx_msg void OnClickedChkReviewDefect(); |
| | | afx_msg void OnClickedChkSingle(); |
| | | afx_msg void OnChangeEditFileCount(); |
| | | |
| | | afx_msg void OnBnClickedButton3(); |
| | | |
| | | virtual BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult); |
| | | |
| | | void FileTime(CString strPath); |
| | | void OpenFileHeader(CString strPath, CString strFullPath); |
| | | void BinFileOpen(int nCount); |
| | | void OnCbnSelchangeComboRawtype(); |
| | | /*< LYW 20211111 - #3766 ADD Start >*/ |
| | | void DrawInsViewCenterLine(CPaintDC *pDC); |
| | | /*< LYW 20211111 - #3766 ADD End >*/ |
| | | |
| | | /*< LYW 20211025 - #3684 ADD Start >*/ |
| | | afx_msg void OnBnClickedButtonOffsetApply(); |
| | | afx_msg void OnBnClickedButtonOffsetSave(); |
| | | BOOL LoadOffset(CString strFilePath); |
| | | BOOL SaveOffset(); |
| | | /*< LYW 20211111 - #3766 ADD Start >*/ |
| | | BOOL SendMsg2ReviewSystem(); |
| | | /*< LYW 20211111 - #3766 ADD End >*/ |
| | | BOOL ApplyOffset(int nModuleidx, int nCamIndex, int ScanIndex, double dXOffsetValue, double dYOffsetValue); |
| | | BOOL SetInputOffSet(int nModuleidx, int nCamIndex, int ScanIndex, int nXposIndex, double dXOffsetValue, double dYOffsetValue, double dXposMin, double dXposMax, BOOL bCheckSave = 0); |
| | | void InitDataInfo(); |
| | | OffSetInfo GetOffSetInfo(int nMoudleidx, int nCamIndex, int ScanIndex, int nXposIndex); |
| | | |
| | | int m_nCameraCount; |
| | | int m_nScanCount; |
| | | int m_XposCount; |
| | | double m_dWarnStandard; |
| | | double m_dHardStandard; |
| | | int m_nCurModelIdx; |
| | | |
| | | /*< LYW 20211025 - #3684 ADD End >*/ |
| | | |
| | | //Xpos ìì¹ë³ ì¤ì Offset Data 를 ê°ì§ê³ ìë Vector |
| | | VecOffSetData m_vecOffSetData; |
| | | //Scan Index를 íµí OffSet Data 를 ê´ë¦¬í기ìí Vector |
| | | VecOffSetScanData m_vecOffSetScanData; |
| | | //CamIndex를 íµí ê´ë¦¬ë¥¼ ìí Vector module 0 |
| | | VecOffSetCameraInfo m_vecOffSetCameraInfo; |
| | | //CamIndex를 íµí ê´ë¦¬ë¥¼ ìí Vector module 1 |
| | | VecOffSetCameraInfo m_vecOffSetCameraInfo2; |
| | | |
| | | void ShowProgressBar(); |
| | | void setDefectShow(int nDefectID, BOOL bEnsureVisible); |
| | | void ImageShow(int nDefectID); |
| | | |
| | | void SetScrollSetting(); |
| | | void SetScrollRest(); |
| | | |
| | | void Imagenoload(); |
| | | |
| | | //LYW 20210825 #3486 ADD START |
| | | void ImageRotate(CImage& SrcImage, CImage& DstImage, double degree = 180.0); |
| | | //LYW 20210825 #3486 ADD END |
| | | |
| | | /*< LYW 20211028 - #3684 ADD Start >*/ |
| | | void UpdateLastSaveOffsetTime(CString FileName); |
| | | CTime GetCurrentResultFileTime(CString FileName); |
| | | /*< LYW 20211028 - #3684 ADD End >*/ |
| | | |
| | | BOOL GetCheckFileLoad(int nCount); |
| | | |
| | | void GlassInfoRest(); |
| | | BOOL MultiSelectCheck(int nSelectCount); |
| | | int MultiInsert(int nSelectCount, int nDataCount); |
| | | void InitSelectGlass(int nSelectCount); |
| | | |
| | | void AddVecDataImage(int nDataCount); |
| | | void AddVecDataDefct(int nDataCount); |
| | | void AddVecDataDefectAll(int nDataCount); |
| | | void AddVecDataDefct2(int nDataCount/*, int nRawCount*/); |
| | | void AddVecDataDefectAll2(int nDataCount/*, int nRawCount*/); |
| | | void AddVecGlassData(int nCount); |
| | | void AddVecCellData(int nCellCount); |
| | | void AddVecDateSorting(int nDataCount); |
| | | void AddVecImageSorting(int nDataCount); |
| | | void AddVecCellSorting(int nCellCount); |
| | | |
| | | void SelectCell(int nDataCount); |
| | | |
| | | void SortFileList(int nCol); |
| | | void SortListDefect(int nCol); |
| | | |
| | | void SetDefectCount() { m_nDefectCount = m_nDefectCount + 1; } |
| | | int GetDefectCount() { return m_nDefectCount; } |
| | | |
| | | void SetImageCount() { m_nImageCount = m_nImageCount + 1; } |
| | | int GetImageCount() { return m_nImageCount; } |
| | | |
| | | void SetCellCount() { m_nCellCount = m_nCellCount + 1; } |
| | | int GetCellCount() { return m_nCellCount; } |
| | | |
| | | afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags); |
| | | int m_nEditCamIdx; |
| | | int m_nEditScanIdx; |
| | | double m_dEditOffsetX; |
| | | double m_dEditOffsetY; |
| | | CString m_strGantryIdx; |
| | | /*< LYW 20211028 - #index ADD Start >*/ |
| | | CString m_TextLastSaveOffsetTime; |
| | | /*< LYW 20211028 - #index ADD End >*/ |
| | | CButton m_CheckInsViewCenterLine; |
| | | afx_msg void OnBnClickedCheckInsViewCenterLine(); |
| | | }; |