Ejemplo n.º 1
0
        private Boolean _SaveData()
        {
            string value = string.Empty;

            Boolean _validate1 = false;

            _validate1 = _validateFields();

            if (!_validate1)
            {
                return(false);
            }
            value = tbLotCardNo.Text.Trim();
            tbLotCardNo.Clear();
            tbLotCardNo.Focus();

            if (!string.IsNullOrEmpty(lotGroupNo.ToUpper()))
            {
                //Boolean _CheckIfSameGroupNo = false;

                //_CheckIfSameGroupNo = CheckIfSameGroupNo(value.ToUpper());

                //if (!_CheckIfSameGroupNo)
                //    return false;
            }

            if (value.ToUpper().Trim() == "N/A")
            {
                return(false);
            }

            string data = string.Empty;

            string data2 = string.Empty;


            if (value.ToUpper().Replace(@"\", "|").Contains("|Z6") && value.Replace(@"\", "|").ToUpper().Contains("EPPI"))
            {
                DataTable table = new DataTable();

                table.Clear();

                foreach (var column in table.Columns.Cast <DataColumn>().ToArray())
                {
                    if (table.AsEnumerable().All(dr => dr.IsNull(column)))
                    {
                        table.Columns.Remove(column);
                    }
                }

                DataColumn colID = table.Columns.Add("LotCardNo", typeof(string));

                string[] list = value.ToUpper().Replace(@"\", "|").Split('|');

                foreach (string author in list)
                {
                    DataRow row = table.NewRow();
                    row[0] = author;
                    table.Rows.Add(row);
                }

                tbLastScannedLotCard.Text = table.Rows[6][0].ToString().ToUpper().Replace("Z6", "");

                sLotCardRefNo = tbLastScannedLotCard.Text.Trim().ToUpper();
            }
            else if (!value.ToUpper().Replace(@"\", "|").Contains("|Z6") && value.Contains("EPPI-"))
            {
                tbLastScannedLotCard.Text = value.ToUpper();

                sLotCardRefNo = tbLastScannedLotCard.Text.ToUpper();

                tbLotCardNo.Focus();
            }
            else
            {
                tbLastScannedLotCard.Text = value.ToUpper();

                sLotCardRefNo = tbLastScannedLotCard.Text.ToUpper();

                tbBQICSNumber.Clear();

                tbLotCardNo.Focus();

                var count = sLotCardRefNo.Count(x => x == '-');

                if (count > 4)
                {
                    MessageBox.Show("Invalid Barcode Format. Please try again.", "Invalid Barcode");

                    sLotCardRefNo = string.Empty;

                    tbLotCardNo.Focus();

                    return(false);
                }
            }

            var count2 = sLotCardRefNo.Count(x => x == '-');

            if (count2 == 4)
            {
                var input = sLotCardRefNo.Trim();

                var outerlot = SplitForward(input, '-', 3).ToArray();

                var innerlot = SplitForward(input, '-', 4).ToArray();

                foreach (string author in outerlot)
                {
                    data = author;
                }

                foreach (string author in innerlot)
                {
                    data2 = author;
                }

                lotGroupNo = sLotCardRefNo.Replace("-" + data + "-" + data2, "").Replace("Z6", "").ToUpper();
            }
            else
            {
                data2 = string.Empty;

                var input = sLotCardRefNo.Trim();

                var forwards = SplitForward(input, '-', 3).ToArray();

                string[] ssd = forwards;

                foreach (string author in ssd)
                {
                    data = author;
                }

                lotGroupNo = sLotCardRefNo.Replace("-" + data, "").Replace("Z6", "").ToUpper();
            }

            Boolean _validate = false;

            _validate = CheckIfAlreadyScanned();

            if (!_validate)
            {
                return(false);
            }

            Boolean _validate2 = false;

            _validate2 = CheckIfHasBQICS(sLotCardRefNo);

            if (!_validate2)
            {
                return(false);
            }

            Boolean _validate3 = false;

            _validate3 = CheckIfInnerLotcardControlNoWasScanned(sLotCardRefNo);

            if (!_validate3)
            {
                return(false);
            }

            Boolean _validate4 = false;

            _validate4 = CheckIfLotControlNoWasAlreadySavedInTheDatabase(sLotCardRefNo);

            if (!_validate4)
            {
                return(false);
            }

            DataTable dt;

            if (count2 == 4)
            {
                dt = ClsCantierDB.Sohbi_GetInnerLotCardBarcodeDetails(lotGroupNo, data, data2);
            }
            else
            {
                dt = ClsCantierDB.Sohbi_GetLotCardGroupBarcodeDetails(lotGroupNo, data);
            }

            string lmonth = string.Empty, lyear = string.Empty, lday = string.Empty;

            foreach (DataRow dr in dt.Rows)
            {
                Boolean _CheckIfReceivedByPMC = false;

                _CheckIfReceivedByPMC = CheckIfReceivedByPMC(Convert.ToBoolean(dr["ReceivedByPMC"]));

                if (!_CheckIfReceivedByPMC)
                {
                    return(false);
                }

                lOQC_ID = 0;

                lCust_ID = Convert.ToInt32(dr["CustomerID"]);

                sCustName = dr["CustomerName"].ToString().Trim();

                sPartCode = dr["ItemCode"].ToString().Trim();

                sPartRevNo = dr["ItemRevNo"].ToString().Trim();

                sPartName = dr["ItemDescription"].ToString().Trim();

                sJONumber = dr["JobOrderNo"].ToString().Trim();

                lQtyPerBox = count2 == 4 ? Convert.ToInt32(dr["InsideBoxQty"]) : Convert.ToInt32(dr["SPQ"]);

                dInspectionDate = dpInspectionDate.SelectedDate.Value;

                sInspector = cboInspector.Text.Trim();

                if (dr.IsNull("SohbiLotNo") || string.IsNullOrEmpty(dr["SohbiLotNo"].ToString().Trim()))
                {
                    lyear = Convert.ToDateTime(dr["ManufactureDate"]).Year.ToString().Substring(Convert.ToDateTime(dr["ManufactureDate"]).Year.ToString().Length - 1);

                    if (Convert.ToDateTime(dr["ManufactureDate"]).Month >= 1 && Convert.ToDateTime(dr["ManufactureDate"]).Month <= 9)
                    {
                        lmonth = Convert.ToDateTime(dr["ManufactureDate"]).Month.ToString().Substring(Convert.ToDateTime(dr["ManufactureDate"]).Month.ToString().Length - 1);
                    }
                    else if (Convert.ToDateTime(dr["ManufactureDate"]).Month == 10)
                    {
                        lmonth = "X";
                    }
                    else if (Convert.ToDateTime(dr["ManufactureDate"]).Month == 11)
                    {
                        lmonth = "Y";
                    }
                    else if (Convert.ToDateTime(dr["ManufactureDate"]).Month == 12)
                    {
                        lmonth = "Z";
                    }

                    if (Convert.ToDateTime(dr["ManufactureDate"]).Day >= 1 && Convert.ToDateTime(dr["ManufactureDate"]).Day <= 9)
                    {
                        lday = "0" + Convert.ToDateTime(dr["ManufactureDate"]).Day.ToString().Substring(Convert.ToDateTime(dr["ManufactureDate"]).Day.ToString().Length - 1);;
                    }
                    else
                    {
                        lday = Convert.ToDateTime(dr["ManufactureDate"]).Day.ToString().Substring(0, 1) +
                               Convert.ToDateTime(dr["ManufactureDate"]).Day.ToString().Substring(Convert.ToDateTime(dr["ManufactureDate"]).Day.ToString().Length - 1);
                    }

                    sLotNumber = lyear + lmonth + lday + "A";
                }
                else
                {
                    sLotNumber = dr["SohbiLotNo"].ToString().Trim();
                }

                bNormalInspection = false;

                bReinspection = false;

                bRepacked = true;

                bSample = false;

                bReplacement = false;

                dWorkDate = dpWorkDate.SelectedDate.Value;

                sWorkShift = cboWorkShift.Text.Trim();
            }

            SaveOQCinspectionDetail();

            SaveOQCinspectionSummary();

            SaveOQCdailyWorkReport();

            FillGrid(lotGroupNo);

            tbScannedBoxes.Text = (Convert.ToInt32(tbScannedBoxes.Text.Trim()) + 1).ToString();

            return(true);
        }
        private Boolean _SaveFG()
        {
            string value = string.Empty;

            Boolean _validateFields = false;

            _validateFields = ValidateFields();
            if (!_validateFields)
            {
                return(false);
            }

            value = tbLotCardNo.Text.Trim();
            tbLotCardNo.Clear();
            tbLotCardNo.Focus();

            //if (!string.IsNullOrEmpty(lotGroupNo.ToUpper()))
            //{
            //    Boolean _CheckIfSameGroupNo = false;

            //    _CheckIfSameGroupNo = CheckIfSameGroupNo(value.ToUpper());

            //    if (!_CheckIfSameGroupNo)
            //        return false;
            //}

            string data = string.Empty;

            string data2 = string.Empty;

            if (value.ToUpper().Replace(@"\", "|").Contains("|Z6") && value.Replace(@"\", "|").ToUpper().Contains("EPPI"))
            {
                DataTable table = new DataTable();

                table.Clear();

                foreach (var column in table.Columns.Cast <DataColumn>().ToArray())
                {
                    if (table.AsEnumerable().All(dr => dr.IsNull(column)))
                    {
                        table.Columns.Remove(column);
                    }
                }

                DataColumn colID = table.Columns.Add("LotCardNo", typeof(string));

                string[] list = value.ToUpper().Replace(@"\", "|").Split('|');

                foreach (string author in list)
                {
                    DataRow row = table.NewRow();
                    row[0] = author;
                    table.Rows.Add(row);
                }

                tbLastScannedLotCard.Text = table.Rows[6][0].ToString().ToUpper().Replace("Z6", "");

                sLotCardRefNo = tbLastScannedLotCard.Text.Trim().ToUpper();
            }
            else if (!value.ToUpper().Replace(@"\", "|").Contains("|Z6") && value.Contains("EPPI-"))
            {
                tbLastScannedLotCard.Text = value.ToUpper();
                sLotCardRefNo             = tbLastScannedLotCard.Text.ToUpper();
                tbLotCardNo.Focus();
            }
            else
            {
                tbLastScannedLotCard.Text = value.ToUpper();
                sLotCardRefNo             = tbLastScannedLotCard.Text.ToUpper();
                tbLotCardNo.Focus();

                var count = sLotCardRefNo.Count(x => x == '-');

                if (count > 4)
                {
                    MessageBox.Show("Invalid Barcode Format. Please try again.", "Invalid Barcode");
                    sLotCardRefNo = string.Empty;
                    tbLotCardNo.Focus();
                    return(false);
                }
            }

            var count2 = sLotCardRefNo.Count(x => x == '-');

            if (count2 == 4)
            {
                var input = sLotCardRefNo.Trim();

                var outerlot = SplitForward(input, '-', 3).ToArray();

                var innerlot = SplitForward(input, '-', 4).ToArray();

                foreach (string author in outerlot)
                {
                    data = author;
                }

                foreach (string author in innerlot)
                {
                    data2 = author;
                }

                lotGroupNo = sLotCardRefNo.Replace("-" + data + "-" + data2, "").Replace("Z6", "").ToUpper();
            }
            else
            {
                data2 = string.Empty;

                var input = sLotCardRefNo.Trim();

                var forwards = SplitForward(input, '-', 3).ToArray();

                string[] ssd = forwards;

                foreach (string author in ssd)
                {
                    data = author;
                }

                lotGroupNo = sLotCardRefNo.Replace("-" + data, "").Replace("Z6", "").ToUpper();
            }

            Boolean _CheckIfScannedByQC = false;

            _CheckIfScannedByQC = CheckIfScannedByQC(sLotCardRefNo);
            if (!_CheckIfScannedByQC)
            {
                return(false);
            }

            Boolean _CheckIfReceivedByPMC = false;

            _CheckIfReceivedByPMC = CheckIfReceivedByPMC(sLotCardRefNo);
            if (!_CheckIfReceivedByPMC)
            {
                return(false);
            }

            Boolean _CheckIfDelivered = false;

            _CheckIfDelivered = CheckIfDelivered(sLotCardRefNo);
            if (!_CheckIfDelivered)
            {
                return(false);
            }

            Boolean _CheckIfLotcardControlNoReturned2ProductionAndReinspected = false;

            _CheckIfLotcardControlNoReturned2ProductionAndReinspected = CheckIfLotcardControlNoReturned2ProductionAndReinspected(sLotCardRefNo);
            if (!_CheckIfLotcardControlNoReturned2ProductionAndReinspected)
            {
                return(false);
            }

            DataTable dt;

            if (count2 == 4)
            {
                dt = ClsCantierDB.Sohbi_GetInnerLotCardBarcodeDetails(lotGroupNo, data, data2);
            }
            else
            {
                dt = ClsCantierDB.Sohbi_GetLotCardGroupBarcodeDetails(lotGroupNo, data);
            }

            string lmonth = string.Empty, lyear = string.Empty, lday = string.Empty;

            foreach (DataRow dr in dt.Rows)
            {
                lCust_ID = Convert.ToInt32(dr["CustomerID"]);

                sCustName = dr["CustomerName"].ToString().Trim();

                sPartCode = dr["ItemCode"].ToString().Trim();

                sPartRevNo = dr["ItemRevNo"].ToString().Trim();

                sPartName = dr["ItemDescription"].ToString().Trim();

                sJONumber = dr["JobOrderNo"].ToString().Trim();

                lQtyPerBox = count2 == 4 ? Convert.ToInt32(dr["InsideBoxQty"]) : Convert.ToInt32(dr["SPQ"]);

                sdestination = dr["Destination"].ToString().Trim();

                if (dr.IsNull("SohbiLotNo") || string.IsNullOrEmpty(dr["SohbiLotNo"].ToString().Trim()))
                {
                    lyear = Convert.ToDateTime(dr["ManufactureDate"]).Year.ToString()
                            .Substring(Convert.ToDateTime(dr["ManufactureDate"]).Year.ToString().Length - 1);

                    if (Convert.ToDateTime(dr["ManufactureDate"]).Month >= 1 && Convert.ToDateTime(dr["ManufactureDate"]).Month <= 9)
                    {
                        lmonth = Convert.ToDateTime(dr["ManufactureDate"]).Month.ToString()
                                 .Substring(Convert.ToDateTime(dr["ManufactureDate"]).Month.ToString().Length - 1);
                    }
                    else if (Convert.ToDateTime(dr["ManufactureDate"]).Month == 10)
                    {
                        lmonth = "X";
                    }
                    else if (Convert.ToDateTime(dr["ManufactureDate"]).Month == 11)
                    {
                        lmonth = "Y";
                    }
                    else if (Convert.ToDateTime(dr["ManufactureDate"]).Month == 12)
                    {
                        lmonth = "Z";
                    }

                    if (Convert.ToDateTime(dr["ManufactureDate"]).Day >= 1 && Convert.ToDateTime(dr["ManufactureDate"]).Day <= 9)
                    {
                        lday = "0" + Convert.ToDateTime(dr["ManufactureDate"]).Day.ToString()
                               .Substring(Convert.ToDateTime(dr["ManufactureDate"]).Day.ToString().Length - 1);
                    }
                    else
                    {
                        lday = Convert.ToDateTime(dr["ManufactureDate"]).Day.ToString().Substring(0, 1) +
                               Convert.ToDateTime(dr["ManufactureDate"]).Day.ToString()
                               .Substring(Convert.ToDateTime(dr["ManufactureDate"]).Day.ToString().Length - 1);
                    }

                    sLotNumber = lyear + lmonth + lday + "A";
                }
                else
                {
                    sLotNumber = dr["SohbiLotNo"].ToString().Trim();
                }

                sHistoryNo = dr["HistoryNo"].ToString().Trim();
            }

            SaveFG();

            FillGrid(lotGroupNo);

            //MessageBox.Show(sLotCardRefNo);

            return(true);
        }