Пример #1
0
 private void tmrEditNotify_Tick(object sender, EventArgs e)
 {
     if (m_bDirtys)
     {
         // Kiểm tra lại bản mạch đã OK trên WIP chưa?
         // Nếu OK => Đóng dấu
         // Nếu FAIL => Bỏ qua không đóng dấu, thông báo lỗi
         //trạng thái bản mạch hiện tại
         if (checkEditSerialPort.Checked == true)
         {
             var checkAgain = _workOrderItemService.Get_WORK_ORDER_ITEMS_By_BoardNo(productionId);
             if (checkAgain.BOARD_STATE == 1)
             {
                 //com.WriteData("O");
                 lblMarking.Visible = true;
             }
             else if (checkAgain.BOARD_STATE == 2)
             {
                 messageError = $"Board '{productionId}' NG Wip. Vui lòng kiểm tra lại!";
                 MessageHelpers.SetErrorStatus(true, "NG", messageError, lblStatus, lblMessage);
                 CheckTextBoxNullValue.SetColorErrorTextControl(txtBarcode);
                 var errorForm = new FormError(messageError);
                 errorForm.ShowDialog();
                 txtBarcode.Focus();
             }
         }
         int iHandle2 = NativeWin32.FindWindow(null, this.Text);
         NativeWin32.SetForegroundWindow(iHandle2);
         lblPass.Text  = pass.ToString();
         lblNG.Text    = ng.ToString();
         lblTotal.Text = total.ToString();
         LoadData(productionId, modelId, gridLookUpEditProcessID.EditValue.ToString(), boardState);
         m_bDirtys = false;
     }
 }
Пример #2
0
        private void txtBarcode_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                lblMarking.Visible = false;
                string boardNo = txtBarcode.Text;

                if (boardNo.Contains("="))
                {
                    boardNo = boardNo.Replace("=", "_");
                }

                string set_station_no = gridLookUpEditProcessID.EditValue.ToString();

                if (!CheckTextBoxNullValue.ValidationTextEditNullValue(txtBarcode))
                {
                    MessageHelpers.SetErrorStatus(true, "NG", "Please input a barcode!", lblStatus, lblMessage);
                    return;
                }
                else if (txtBarcode.Text.Length <= 5)
                {
                    MessageHelpers.SetErrorStatus(true, "NG", "Board No invaild. Please try again!", lblStatus, lblMessage);
                    CheckTextBoxNullValue.SetColorErrorTextControl(txtBarcode);
                    return;
                }
                else
                {
                    MessageHelpers.SetDefaultStatus(true, "N/A", "N/A", lblStatus, lblMessage);
                    CheckTextBoxNullValue.SetColorDefaultTextControl(txtBarcode);

                    // Lấy toàn bộ thông tin bản mạch hiện tại bắn vào
                    var boards = _scanningLogsService.Get_SCANNING_LOGS(boardNo).FirstOrDefault();

                    // Nếu đã được khởi tạo trước đó, thì thực hiện các bước kiểm tra tiếp theo
                    if (boards != null)
                    {
                        //Lấy thông tin PROCESS_NO hiện tại theo PRODUCT_ID của board hiện tại
                        var process_No = _inspectionProcessesService.GET_INSPECTION_PROCESSES_BY_PRODUCT_ID(boards.PRODUCT_ID);

                        // Nếu có dữ liệu, thì thực hiện các bước tiếp theo
                        if (process_No != null)
                        {
                            //trạng thái bản mạch hiện tại
                            var curentStationNo = _workOrderItemService.Get_WORK_ORDER_ITEMS_By_BoardNo(boardNo);
                            if (curentStationNo != null)
                            {
                                // nếu đã đã chạy qua các bước, với trạng thái là Finished
                                // thì thông báo cho người dùng biết
                                if (curentStationNo.IS_FINISHED == true)
                                {
                                    messageError = $"Board '{boardNo}' is finished!";
                                    MessageHelpers.SetErrorStatus(true, "NG", messageError, lblStatus, lblMessage);
                                    CheckTextBoxNullValue.SetColorErrorTextControl(txtBarcode);
                                    var errorForm = new FormError(messageError);
                                    errorForm.ShowDialog();
                                    txtBarcode.Focus();
                                }
                                // Kiểm tra nếu trạng thái bản mạch hiện tại bị NG
                                // mà khác với với trạm được cài đặt "FCT" thì thông báo lỗi
                                else if (curentStationNo.BOARD_STATE == 2)
                                {
                                    //messageError = $"Board '{boardNo}' bị 'NG' tại trạm '{set_station_no}'!";
                                    //MessageHelpers.SetErrorStatus(true, "NG", messageError, lblStatus, lblMessage);
                                    //CheckTextBoxNullValue.SetColorErrorTextControl(txtBarcode);
                                    //var errorForm = new FormError(messageError);
                                    //errorForm.ShowDialog();
                                    //txtBarcode.Focus();
                                    //return;
                                    Excute(boardNo, boards.PRODUCT_ID);
                                }
                                // Nếu tên trạm hiện tại giống vs tên cài đặt, thì thông báo đã chạy qua công đoạn này rồi
                                else if (curentStationNo.STATION_NO == set_station_no && curentStationNo.BOARD_STATE == 1)
                                {
                                    //messageError = $"Board '{boardNo}' is pass '{set_station_no}'!";
                                    //MessageHelpers.SetErrorStatus(true, "NG", messageError, lblStatus, lblMessage);
                                    //CheckTextBoxNullValue.SetColorErrorTextControl(txtBarcode);
                                    //var errorForm = new FormError(messageError);
                                    //errorForm.ShowDialog();
                                    //txtBarcode.Focus();
                                    //return;

                                    Excute(boardNo, boards.PRODUCT_ID);
                                }
                                else
                                {
                                    var process_Designer = _inspectionProcessesDesignersService.GET_INSPECTION_PROCEDURE_DESIGNERS_BY_PROCESS_NO(process_No.PROCESS_NO);
                                    // Set station no
                                    var process_by_station_no = process_Designer.FirstOrDefault(item => item.STATION_NO == set_station_no);
                                    // Nếu trong process_Designer không có STATION_NO giống với
                                    // station_no curent thì thông báo cho người dùng biết
                                    if (process_by_station_no == null)
                                    {
                                        messageError = $"Board '{boardNo}' station '{set_station_no}' not invaild!";
                                        MessageHelpers.SetErrorStatus(true, "NG", messageError, lblStatus, lblMessage);
                                        CheckTextBoxNullValue.SetColorErrorTextControl(txtBarcode);
                                        var errorForm = new FormError(messageError);
                                        errorForm.ShowDialog();
                                        txtBarcode.Focus();
                                    }
                                    // nếu hợp lệ thực hiện tiếp
                                    else
                                    {
                                        // Khi hai giá trị bằng nhau => ICT_FUJ
                                        if (curentStationNo.PROCEDURE_INDEX < (process_by_station_no.INDEX - 1))
                                        {
                                            messageError = $"Board '{boardNo}' bỏ qua công đoạn!";
                                            MessageHelpers.SetErrorStatus(true, "NG", messageError, lblStatus, lblMessage);
                                            CheckTextBoxNullValue.SetColorErrorTextControl(txtBarcode);
                                            var errorForm = new FormError(messageError);
                                            errorForm.ShowDialog();
                                            txtBarcode.Focus();
                                        }
                                        //// Nếu Index Board > Set Index
                                        else if (curentStationNo.PROCEDURE_INDEX > process_by_station_no.INDEX)
                                        {
                                            Excute(boardNo, boards.PRODUCT_ID);
                                        }
                                        else if (curentStationNo.PROCEDURE_INDEX == (process_by_station_no.INDEX - 1))
                                        {
                                            Excute(boardNo, boards.PRODUCT_ID);
                                        }
                                        else if (curentStationNo.BOARD_STATE == 2)
                                        {
                                            Excute(boardNo, boards.PRODUCT_ID);
                                        }
                                    }
                                }
                            }
                            else
                            {
                                messageError = $"Không tìm thấy trạm nào với tên '{curentStationNo.STATION_NO}'!";
                                MessageHelpers.SetErrorStatus(true, "NG", messageError, lblStatus, lblMessage);
                                CheckTextBoxNullValue.SetColorErrorTextControl(txtBarcode);
                                var errorForm = new FormError(messageError);
                                errorForm.ShowDialog();
                                txtBarcode.Focus();
                            }
                        }
                        // PROCESS_NO = null thì thông báo lỗi
                        else
                        {
                            messageError = $"Không tìm thấy trạm nào với tên '{set_station_no}'!";
                            MessageHelpers.SetErrorStatus(true, "NG", messageError, lblStatus, lblMessage);
                            CheckTextBoxNullValue.SetColorErrorTextControl(txtBarcode);
                            var errorForm = new FormError(messageError);
                            errorForm.ShowDialog();
                            txtBarcode.Focus();
                        }
                    }
                    // Nếu chưa có thì thông báo lỗi cho người dùng
                    else
                    {
                        messageError = $"Board '{boardNo}' chưa được khởi tạo. Vui lòng kiểm tra lại!";
                        MessageHelpers.SetErrorStatus(true, "NG", messageError, lblStatus, lblMessage);
                        CheckTextBoxNullValue.SetColorErrorTextControl(txtBarcode);
                        var errorForm = new FormError(messageError);
                        errorForm.ShowDialog();
                        txtBarcode.Focus();
                    }
                }
            }
        }
Пример #3
0
        private void txtBarcode_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                string boardNo = txtBarcode.Text;
                dateCheck = Ultils.GetNetworkDateTime().ToString("yyMMddHHmmss");

                if (boardNo.Contains("="))
                {
                    boardNo = boardNo.Replace("=", "_");
                }

                string set_station_no = gridLookUpEditProcessID.EditValue.ToString();

                if (!CheckTextBoxNullValue.ValidationTextEditNullValue(txtBarcode))
                {
                    MessageHelpers.SetErrorStatus(true, "NG", "Please input a barcode!", lblStatus, lblMessage);
                    return;
                }
                else if (txtBarcode.Text.Length <= 5)
                {
                    MessageHelpers.SetErrorStatus(true, "NG", "Board No invaild. Please try again!", lblStatus, lblMessage);
                    CheckTextBoxNullValue.SetColorErrorTextControl(txtBarcode);
                    return;
                }
                else
                {
                    MessageHelpers.SetDefaultStatus(true, "N/A", "N/A", lblStatus, lblMessage);
                    CheckTextBoxNullValue.SetColorDefaultTextControl(txtBarcode);

                    // Lấy toàn bộ thông tin bản mạch hiện tại bắn vào
                    var boards = _scanningLogsService.Get_SCANNING_LOGS(boardNo).FirstOrDefault();

                    // Nếu đã được khởi tạo trước đó, thì thực hiện các bước kiểm tra tiếp theo
                    if (boards != null)
                    {
                        //Lấy thông tin PROCESS_NO hiện tại theo PRODUCT_ID của board hiện tại
                        var process_No = _inspectionProcessesService.GET_INSPECTION_PROCESSES_BY_PRODUCT_ID(boards.PRODUCT_ID);

                        // Nếu có dữ liệu, thì thực hiện các bước tiếp theo
                        if (process_No != null)
                        {
                            //trạng thái bản mạch hiện tại
                            var curentStationNo = _workOrderItemService.Get_WORK_ORDER_ITEMS_By_BoardNo(boardNo);
                            if (curentStationNo != null)
                            {
                                // nếu đã đã chạy qua các bước, với trạng thái là Finished
                                // thì thông báo cho người dùng biết
                                if (curentStationNo.IS_FINISHED == true)
                                {
                                    messageError = $"Board '{boardNo}' is finished!";
                                    MessageHelpers.SetErrorStatus(true, "NG", messageError, lblStatus, lblMessage);
                                    CheckTextBoxNullValue.SetColorErrorTextControl(txtBarcode);
                                    var errorForm = new FormError(messageError);
                                    errorForm.ShowDialog();
                                    txtBarcode.Focus();
                                }
                                // Kiểm tra nếu trạng thái bản mạch hiện tại bị NG
                                // mà khác với với trạm được cài đặt "FCT" thì thông báo lỗi
                                else if (curentStationNo.BOARD_STATE == 2)
                                {
                                    //messageError = $"Board '{boardNo}' bị 'NG' tại trạm '{set_station_no}'!";
                                    //MessageHelpers.SetErrorStatus(true, "NG", messageError, lblStatus, lblMessage);
                                    //CheckTextBoxNullValue.SetColorErrorTextControl(txtBarcode);
                                    //var errorForm = new FormError(messageError);
                                    //errorForm.ShowDialog();
                                    //txtBarcode.Focus();
                                    //return;
                                    Excute(boardNo, boards.PRODUCT_ID);
                                }
                                // Nếu tên giống nhau, thì thông báo đã chạy qua công đoạn này rồi
                                else if (curentStationNo.STATION_NO == set_station_no && curentStationNo.BOARD_STATE == 1)
                                {
                                    //messageError = $"Board '{boardNo}' is pass '{set_station_no}'!";
                                    //MessageHelpers.SetErrorStatus(true, "NG", messageError, lblStatus, lblMessage);
                                    //CheckTextBoxNullValue.SetColorErrorTextControl(txtBarcode);
                                    //var errorForm = new FormError(messageError);
                                    //errorForm.ShowDialog();
                                    //txtBarcode.Focus();
                                    //return;

                                    Excute(boardNo, boards.PRODUCT_ID);
                                }
                                else
                                {
                                    var process_Designer = _inspectionProcessesDesignersService.GET_INSPECTION_PROCEDURE_DESIGNERS_BY_PROCESS_NO(process_No.PROCESS_NO);
                                    // Set station no
                                    var process_by_station_no = process_Designer.FirstOrDefault(item => item.STATION_NO == set_station_no);
                                    // Nếu trong process_Designer không có STATION_NO giống với 
                                    // station_no curent thì thông báo cho người dùng biết
                                    if (process_by_station_no == null)
                                    {
                                        messageError = $"Board '{boardNo}' station '{set_station_no}' not invaild!";
                                        MessageHelpers.SetErrorStatus(true, "NG", messageError, lblStatus, lblMessage);
                                        CheckTextBoxNullValue.SetColorErrorTextControl(txtBarcode);
                                        var errorForm = new FormError(messageError);
                                        errorForm.ShowDialog();
                                        txtBarcode.Focus();
                                    }
                                    // nếu hợp lệ thực hiện tiếp
                                    else
                                    {
                                        // Khi hai giá trị bằng nhau => ICT_FUJ
                                        if (curentStationNo.PROCEDURE_INDEX < (process_by_station_no.INDEX - 1))
                                        {
                                            messageError = $"Board '{boardNo}' bỏ qua công đoạn!";
                                            MessageHelpers.SetErrorStatus(true, "NG", messageError, lblStatus, lblMessage);
                                            CheckTextBoxNullValue.SetColorErrorTextControl(txtBarcode);
                                            var errorForm = new FormError(messageError);
                                            errorForm.ShowDialog();
                                            txtBarcode.Focus();
                                        }
                                        //// Nếu Index Board > Set Index 
                                        else if (curentStationNo.PROCEDURE_INDEX > process_by_station_no.INDEX)
                                        {
                                            // transferred to the next station.
                                            //messageError = $"Board '{boardNo}' đã PASS ở trạm này rồi. Chuyển đến công đoạn tiếp theo để kiểm tra!";
                                            //MessageHelpers.SetErrorStatus(true, "NG", messageError, lblStatus, lblMessage);
                                            //CheckTextBoxNullValue.SetColorErrorTextControl(txtBarcode);
                                            //var errorForm = new FormError(messageError);
                                            //errorForm.ShowDialog();
                                            //txtBarcode.Focus();
                                            //return;
                                            Excute(boardNo, boards.PRODUCT_ID);
                                        }
                                        else if (curentStationNo.PROCEDURE_INDEX == (process_by_station_no.INDEX - 1))
                                        {
                                            Excute(boardNo, boards.PRODUCT_ID);
                                        }
                                        else if(curentStationNo.BOARD_STATE == 2)
                                        {
                                            Excute(boardNo, boards.PRODUCT_ID);
                                        }
                                    }
                                }
                            }
                            else
                            {
                                messageError = $"Không tìm thấy trạm nào với tên '{curentStationNo.STATION_NO}'!";
                                MessageHelpers.SetErrorStatus(true, "NG", messageError, lblStatus, lblMessage);
                                CheckTextBoxNullValue.SetColorErrorTextControl(txtBarcode);
                                var errorForm = new FormError(messageError);
                                errorForm.ShowDialog();
                                txtBarcode.Focus();
                            }
                        }
                        // PROCESS_NO = null thì thông báo lỗi
                        else
                        {
                            messageError = $"Không tìm thấy trạm nào với tên '{set_station_no}'!";
                            MessageHelpers.SetErrorStatus(true, "NG", messageError, lblStatus, lblMessage);
                            CheckTextBoxNullValue.SetColorErrorTextControl(txtBarcode);
                            var errorForm = new FormError(messageError);
                            errorForm.ShowDialog();
                            txtBarcode.Focus();
                        }
                    }
                    // Nếu chưa có thì thông báo lỗi cho người dùng
                    else
                    {
                        messageError = $"Board '{boardNo}' chưa được khởi tạo. Vui lòng kiểm tra lại!";
                        MessageHelpers.SetErrorStatus(true, "NG", messageError, lblStatus, lblMessage);
                        CheckTextBoxNullValue.SetColorErrorTextControl(txtBarcode);
                        var errorForm = new FormError(messageError);
                        errorForm.ShowDialog();
                        txtBarcode.Focus();
                    }
                }
            }    
        }