Пример #1
0
        /// <summary>
        /// Insert Log
        /// </summary>
        /// <param name="boxId"></param>
        private void InsertLog(string boxId)
        {
            if (!string.IsNullOrEmpty(txtProductID.Text.Trim()) ||
                !string.IsNullOrEmpty(txtBoxID.Text.Trim()))
            {
                int    lineId       = Program.CurrentUser.LineID;
                int    operationId  = Program.CurrentUser.OperationID;
                string operatorId   = Program.CurrentUser.OperatorCode;
                string productionId = txtProductID.Text.Trim();

                string status = null;
                bool   judge  = false;
                if (checkPASS.Checked == true)
                {
                    status = "P";
                    judge  = true;
                }
                if (checkNG.Checked == true)
                {
                    status = "F";
                    judge  = false;
                }
                var logs = _oqcService.GetLogsByBoxId(boxId).ToList();
                if (operationId == 1)
                {
                    // Nếu Box có dữ liệu của PCB
                    if (logs.Any())
                    {
                        var log = logs.SingleOrDefault(l => l.ProductionID == productionId);
                        // Nếu PCB mới bắn vào chưa có trong Box
                        if (log == null)
                        {
                            //string tmp = lblQuantityModel.Text.Replace("/", "");
                            //int countPcbInBox = int.Parse(lblCountPCB.Text);
                            //int quantity = int.Parse(tmp);

                            //if (logs.Count == quantity)
                            //{
                            //    SetErrorStatus("NG", $"Box [{txtBoxID.Text}] đã đủ số lượng. Vui lòng kiểm tra lại!");
                            //    Ultils.EditTextErrorNoMessage(txtBoxID);
                            //    txtProductID.ResetText();
                            //}
                            //else
                            //{
                            try
                            {
                                _iqcService.InsertLogs(productionId, lineId, "N/A", boxId, modelID, "N/T", 1, operatorId, false, "IT", StringHelper.GetInfo(), "N/A");

                                if (!_iqcService.CheckResultExits(productionId, operationId))
                                {
                                    _iqcService.InsertResult(productionId, operationId, judge, operatorId, _dateTimeCheck);
                                }
                                else
                                {
                                    _iqcService.UpdateResult(productionId, operationId, judge, operatorId);
                                }
                                Ultils.CreateFileLog(lblCurentModel.Text, productionId, status, Program.CurrentUser.ProcessID, _dateTimeCheck);
                                Ultils.CreateFileLogDirModelName(lblCurentModel.Text, productionId, status, Program.CurrentUser.ProcessID, _dateTimeCheck);
                                logs = _oqcService.GetLogsByBoxId(boxId).ToList();
                                gridControlData.Refresh();
                                gridControlData.DataSource = logs;
                                lblCountPCB.Text           = logs.Count.ToString(CultureInfo.InvariantCulture);

                                SetSuccessStatus("OK", $"Thành công!\nPCB [{txtProductID.Text}]");
                                ResetControls();
                                //if (logs.Count() == quantity)
                                //{
                                //    SetErrorStatus("NG", $"Box [{txtBoxID.Text}] đã đủ số lượng. Vui lòng lấy box mới!");
                                //    Ultils.EditTextErrorNoMessage(txtBoxID);
                                //    txtProductID.ResetText();
                                //}
                            }
                            catch (Exception ex)
                            {
                                SetErrorStatus("NG", "Model chưa có trong hệ thống!\nVui lòng nhập model này vào, và thử lại. \n" + ex.Message);
                                ResetControls();
                            }
                            //}
                        }
                        // Nếu có rồi thì thống báo lỗi
                        else
                        {
                            SetErrorStatus("NG", $"PCB [{txtProductID.Text}] này đã có trong Box rồi.\nVui lòng kiểm tra lại");
                            ResetControls();
                            gridControlData.Refresh();
                            gridControlData.DataSource = logs;
                            lblCountPCB.Text           = logs.Count.ToString(CultureInfo.InvariantCulture);
                        }
                    }
                    // Nếu Box chưa có dữ liệu gì, thực hiện insert
                    else
                    {
                        try
                        {
                            _iqcService.InsertLogs(productionId, lineId, "N/A", boxId, modelID, "N/T", 1, operatorId, false, "IT", StringHelper.GetInfo(), "N/A");

                            if (!_iqcService.CheckResultExits(txtProductID.Text, operationId))
                            {
                                _iqcService.InsertResult(productionId, operationId, judge, operatorId, _dateTimeCheck);
                            }
                            else
                            {
                                _iqcService.UpdateResult(productionId, operationId, judge, operatorId);
                            }
                            Ultils.CreateFileLog(lblCurentModel.Text, productionId, status, Program.CurrentUser.ProcessID, _dateTimeCheck);
                            Ultils.CreateFileLogDirModelName(lblCurentModel.Text, productionId, status, Program.CurrentUser.ProcessID, _dateTimeCheck);
                            logs = _oqcService.GetLogsByBoxId(boxId).ToList();
                            gridControlData.Refresh();
                            gridControlData.DataSource = logs;
                            lblCountPCB.Text           = logs.Count.ToString(CultureInfo.InvariantCulture);

                            SetSuccessStatus("OK", string.Format("Thêm thành công!\nPCB [{0}]", productionId));
                            ResetControls();
                        }
                        catch (Exception ex)
                        {
                            SetErrorStatus("NG", "Error Insert! \n" + ex.Message);
                            ResetControls();
                        }
                    }
                }
                else if (operationId >= 2)
                {
                    _iqcService.UpdateLogs(productionId, lineId, "N/A", boxId, modelID, null, operatorId, "N/A");
                    _iqcService.InsertResult(productionId, operationId, judge, operatorId, _dateTimeCheck);

                    logs = _oqcService.GetLogsByBoxId(boxId).ToList();
                    gridControlData.Refresh();
                    gridControlData.DataSource = logs;
                    lblCountPCB.Text           = logs.Count.ToString(CultureInfo.InvariantCulture);

                    SetSuccessStatus("OK", string.Format("Thành công!\nPCB [{0}] vừa được bắn lại lần {1}", productionId, operationId));
                    ResetControls();
                }
            }
            else
            {
                SetErrorStatus("NG", "Vui lòng nhập đủ thông tin!");
                txtProductID.Focus();
                txtProductID.SelectAll();
            }
        }
Пример #2
0
        /// <summary>
        /// Insert Log
        /// </summary>
        /// <param name="boxId"></param>
        private void InsertLog(string boxId)
        {
            if (!string.IsNullOrEmpty(txtProductID.Text.Trim()) ||
                !string.IsNullOrEmpty(txtBoxID.Text.Trim()) ||
                !string.IsNullOrEmpty(txtModelUMC.Text.Trim()))
            {
                int    lineId       = Program.CurrentUser.LineID;
                int    operationId  = Program.CurrentUser.OperationID;
                string operatorId   = Program.CurrentUser.OperatorCode;
                string productionId = txtProductID.Text.Trim();

                string status = null;
                bool   judge  = false;
                if (checkPASS.Checked == true)
                {
                    status = "P";
                    judge  = true;
                }
                if (checkNG.Checked == true)
                {
                    status = "F";
                    judge  = false;
                }
                var logs = _murataService.GetProducts_Murata_by_BoxId(boxId).ToList();
                // Nếu Box có dữ liệu của PCB
                if (logs.Any())
                {
                    var log = logs.SingleOrDefault(l => l.ProductionID == productionId);
                    // Nếu PCB mới bắn vào chưa có trong Box
                    if (log == null)
                    {
                        var checkModelInBox = logs.FirstOrDefault();
                        // Nếu Production ID, có Model giống với Model hiện tại
                        if (productionId.Contains(checkModelInBox.ModelName))
                        {
                            string tmp           = lblQuantityModel.Text.Replace("/", "");
                            int    countPcbInBox = int.Parse(lblCountPCB.Text);
                            int    quantity      = int.Parse(tmp);

                            if (logs.Count == quantity)
                            {
                                SetErrorStatus("NG", $"Box [{boxId}] đã đủ số lượng. Vui lòng kiểm tra lại!");
                                Ultils.EditTextErrorNoMessage(txtBoxID);
                                EnableBoxIDWidthModel(true);
                                if (checkModelCUS.Checked == true)
                                {
                                    EnbaleCheckWidthModelCus(true);
                                }
                                else
                                {
                                    EnbaleCheckWidthModelCus(false);
                                }
                                txtProductID.ResetText();
                            }
                            else
                            {
                                try
                                {
                                    if (checkNG.Checked == false)
                                    {
                                        _murataService.InsertLogs(productionId, lineId, boxId, modelID, lblCurentModel.Text, operatorId, txtModelCUS.Text.Trim(), judge);
                                    }
                                    Ultils.CreateFileLog(lblCurentModel.Text, productionId, status, Program.CurrentUser.ProcessID, _dateTimeCheck);
                                    Ultils.CreateFileLogDirModelName(lblCurentModel.Text, productionId, status, Program.CurrentUser.ProcessID, _dateTimeCheck);
                                    logs = _murataService.GetProducts_Murata_by_BoxId(boxId).ToList();
                                    gridControlData.Refresh();
                                    gridControlData.DataSource = logs;
                                    lblCountPCB.Text           = logs.Count.ToString(CultureInfo.InvariantCulture);

                                    SetSuccessStatus("OK", $"Thành công!\nPCB [{txtProductID.Text}]");
                                    ResetControls();
                                    if (logs.Count() == quantity)
                                    {
                                        SetErrorStatus("OK", $"Box [{txtBoxID.Text}] đã đủ số lượng. Vui lòng lấy box mới!");
                                        Ultils.EditTextErrorNoMessage(txtBoxID);
                                        EnableBoxIDWidthModel(true);
                                        if (checkModelCUS.Checked == true)
                                        {
                                            EnbaleCheckWidthModelCus(true);
                                        }
                                        else
                                        {
                                            EnbaleCheckWidthModelCus(false);
                                        }
                                        txtProductID.ResetText();
                                    }
                                }
                                catch (Exception ex)
                                {
                                    SetErrorStatus("NG", "Model chưa có trong hệ thống!\nVui lòng nhập model này vào, và thử lại. \n" + ex.Message);
                                    ResetControls();
                                }
                            }
                        }
                        else
                        {
                            SetErrorStatus("NG", "Sai Model! Vui lòng kiểm tra và thử lại!");
                            Ultils.EditTextErrorNoMessage(txtProductID);
                            ResetControls();
                            logs = _murataService.GetProducts_Murata_by_BoxId(boxId).ToList();
                            gridControlData.Refresh();
                            gridControlData.DataSource = logs;
                            lblCountPCB.Text           = logs.Count.ToString(CultureInfo.InvariantCulture);
                        }
                    }
                    // Nếu có rồi thì thống báo lỗi
                    else
                    {
                        SetErrorStatus("NG", $"PCB [{txtProductID.Text}] này đã có trong Box rồi.\nVui lòng kiểm tra lại");
                        ResetControls();
                        gridControlData.Refresh();
                        gridControlData.DataSource = logs;
                        lblCountPCB.Text           = logs.Count.ToString(CultureInfo.InvariantCulture);
                    }
                }
                // Nếu Box chưa có dữ liệu gì, thực hiện insert
                else
                {
                    try
                    {
                        if (checkNG.Checked == false)
                        {
                            _murataService.InsertLogs(productionId, lineId, boxId, modelID, lblCurentModel.Text, operatorId, txtModelCUS.Text.Trim(), judge);
                        }
                        Ultils.CreateFileLog(lblCurentModel.Text, productionId, status, Program.CurrentUser.ProcessID, _dateTimeCheck);
                        Ultils.CreateFileLogDirModelName(lblCurentModel.Text, productionId, status, Program.CurrentUser.ProcessID, _dateTimeCheck);
                        logs = _murataService.GetProducts_Murata_by_BoxId(boxId).ToList();
                        gridControlData.Refresh();
                        gridControlData.DataSource = logs;
                        lblCountPCB.Text           = logs.Count.ToString(CultureInfo.InvariantCulture);

                        SetSuccessStatus("OK", string.Format("Thêm thành công!\nPCB [{0}]", productionId));
                        ResetControls();
                    }
                    catch (Exception ex)
                    {
                        SetErrorStatus("NG", "Error Insert! \n" + ex.Message);
                        ResetControls();
                    }
                }
            }
            else
            {
                SetErrorStatus("NG", "Vui lòng nhập đủ thông tin!");
                EnableBoxIDWidthModel(true);
                txtBoxID.Focus();
            }
        }