Beispiel #1
0
        internal DSSegm.DefektingumaiRow defektingumaiRow(OleDbCommand cmd, DSSegm.SegmentaiRow segmRow, Terminas term)
        {
            DSSegm.DefektingumaiRow drow = dSSegm.Defektingumai.NewDefektingumaiRow();
            drow.segmentaiId = segmRow.ID;
            drow.terminas    = term.Text();
            using (OleDbDataReader reader = cmd.ExecuteReader())
            {
                while (reader.Read())
                {
                    string pl = reader["pl"].ToString().ToUpper().Trim();
                    switch (pl)
                    {
                    case "L":
                        drow.L = Convert.ToInt32(reader["vnt"]);
                        break;

                    case "ID":
                        drow.ID = Convert.ToInt32(reader["vnt"]);
                        break;

                    case "DP":
                        drow.DP = Convert.ToInt32(reader["vnt"]);
                        break;

                    case "D1":
                        drow.D1 = Convert.ToInt32(reader["vnt"]);
                        break;

                    case "D2":
                        drow.D2 = Convert.ToInt32(reader["vnt"]);
                        break;

                    case "D3":
                        drow.D3 = Convert.ToInt32(reader["vnt"]);
                        break;

                    default:
                        throw new Exception("Nesuprantamas pavojingumo laipsnis: " + pl);
                    }
                }
            }
            drow.ind                = segmRow.ind;
            drow.defektingumas      = Math.Round(Convert.ToDecimal(def(drow.L, drow.ID, drow.DP, drow.D1, drow.D2, drow.D3, term.Months(), segmRow.ilgis)), 2);
            drow.pavadinimas        = segmRow.linijos_pavad + ", " + segmRow.pavad;
            drow.ilgis              = (decimal)segmRow.ilgis;
            drow.iesmu              = segmRow.iesmu;
            drow.btipas             = segmRow.btipas;
            drow.bsunkus            = segmRow.bsunkus;
            drow.vezimas_per_metus  = segmRow.vezimas_per_metus;
            drow.praleistas_tonazas = segmRow.praleistas_tonazas;
            drow.kategorija         = segmRow.kategorija;
            drow.linijosID          = segmRow.linijosID;
            drow.linijos_kodas      = segmRow.linijos_kodas;
            drow.linijos_pavad      = segmRow.linijos_pavad;

            return(drow);
        }
Beispiel #2
0
        internal void fillDefektingumai()
        {
            DateTime startDate = dtpData.Value;
            string   pask20d   = Helper.pask20dienu(startDate);
            string   pask3m    = Helper.pask3men(startDate);
            string   pask6m    = Helper.pask6men(startDate);

            using (OleDbConnection conn = new OleDbConnection(Program.DefectConnString))
            {
                OleDbCommand cmd = new OleDbCommand();
                cmd.Connection = conn;
                try
                {
                    conn.Open();
                    dSSegm.Defektingumai.Clear();
                    foreach (DSSegm.SegmentaiRow row in dSSegm.Segmentai.Rows)
                    {
                        cmd.CommandText = mainQuery(pask20d, row.sqlString);
                        DSSegm.DefektingumaiRow pask20 = defektingumaiRow(cmd, row, Terminas.pask20dienu);

                        cmd.CommandText = mainQuery(pask3m, row.sqlString);
                        DSSegm.DefektingumaiRow pask3 = defektingumaiRow(cmd, row, Terminas.pask3men);

                        cmd.CommandText = mainQuery(pask6m, row.sqlString);
                        DSSegm.DefektingumaiRow pask6 = defektingumaiRow(cmd, row, Terminas.pask6men);

                        pask20.max_def = pask20.defektingumas >= pask3.defektingumas && pask20.defektingumas >= pask6.defektingumas;
                        pask3.max_def  = pask3.defektingumas > pask20.defektingumas && pask3.defektingumas >= pask6.defektingumas;
                        pask6.max_def  = pask6.defektingumas > pask20.defektingumas && pask6.defektingumas > pask3.defektingumas;

                        dSSegm.Defektingumai.Rows.Add(pask20);
                        dSSegm.Defektingumai.Rows.Add(pask3);
                        dSSegm.Defektingumai.Rows.Add(pask6);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }

                calcPeriodiskumai();
            }
        }