Ejemplo n.º 1
0
        private void SetDataValueUnit(Int64 sheetNo, string key, ReportRow row)
        {
            DataValueUnitDataSet set = context.DB.DataValueUnitSet;

            row.RecNo = context.DB.GetGenNo("GN_DATAVALUEUNIT");

            set.RecNo       = row.RecNo;
            set.DataSheetNo = sheetNo;
            set.ValueName   = key;

            if (row.Row == null)
            {
                set.UnitType = 0;
                set.UnitFrom = 0;
                set.UnitTo   = 0;
                set.Format   = "0.0";
            }
            else
            {
                set.UnitType = (int)row.Row.Unit.Type;
                set.UnitFrom = (int)row.Row.Unit.From;
                set.UnitTo   = (int)row.Row.Unit.To;
                set.Format   = row.Row.Format;
            }
        }
Ejemplo n.º 2
0
        private void SetSheetValues(Dictionary <string, Cell> sheet, List <string> cellTags, int integCount,
                                    int integTime, DataValueUnitDataSet valueUnitSet, DataValueDataSet valueSet, bool isThermo, bool isNozzle = false)
        {
            string      tag, state = "";
            float       average        = 0;
            int         valueCount     = 0;
            int         valueUnitCount = valueUnitSet.GetRowCount();
            UnitConvert unit           = new UnitConvert(EUnitType.None, 0, 0);

            for (int i = 0; i < valueUnitCount; i++)
            {
                valueUnitSet.Fetch(i);

                unit.Type = (EUnitType)valueUnitSet.UnitType;
                unit.From = valueUnitSet.UnitFrom;
                unit.To   = valueUnitSet.UnitTo;

                if (isThermo == true)
                {
                    tag = $"{{{cellTags[i]}-N}}";
                    sheet[tag].Value = valueUnitSet.ValueName;
                }

                tag = $"{{{cellTags[i]}}}";

                if (cellTags[i] != "365")
                {
                    if (valueUnitSet.UnitType == 0)
                    {
                        sheet[tag].Value = "";
                    }
                    else
                    {
                        sheet[tag].Value = unit.ToDescription;
                    }
                }

                average = 0;
                valueSet.Select(valueUnitSet.RecNo);
                valueCount = valueSet.GetRowCount();

                for (int j = 0; j < valueCount; j++)
                {
                    valueSet.Fetch(j);

                    tag = $"{{{cellTags[i]}-{valueSet.DataNo+1}}}";

                    if (valueUnitSet.UnitType == 0)
                    {
                        if ((cellTags[i] == "365") && (isNozzle == true))
                        {
                            state            = GetNozzleState((byte)valueSet.DataValue);
                            sheet[tag].Value = state;
                        }
                        else
                        {
                            sheet[tag].Value = "";
                            average          = float.NaN;
                            break;
                        }
                    }
                    else
                    {
                        if (float.IsNaN(valueSet.DataValue) == true)
                        {
                            sheet[tag].Value = "";
                            average          = float.NaN;
                            break;
                        }
                        else
                        {
                            if (string.IsNullOrWhiteSpace(valueUnitSet.Format) == false)
                            {
                                sheet[tag].NumberFormat = valueUnitSet.Format;
                            }

                            sheet[tag].Value = unit.Convert(valueSet.DataValue);
                            average         += valueSet.DataValue;
                        }
                    }
                }

                tag = $"{{{cellTags[i]}-0}}";

                if (cellTags[i] == "365")
                {
                    if (isNozzle == true)
                    {
                        sheet[tag].Value = state;
                    }
                    else
                    {
                        sheet[tag].Value = "";
                    }
                }
                else
                {
                    if ((valueUnitSet.UnitType == 0) || (valueCount == 0))
                    {
                        sheet[tag].Value = "";
                    }
                    else
                    {
                        if (float.IsNaN(average) == true)
                        {
                            sheet[tag].Value = "";
                        }
                        else
                        {
                            average          = average / valueCount;
                            sheet[tag].Value = unit.Convert(average);
                        }
                    }
                }
            }

            sheet["{min-0}"].Value = "Average";
            for (int i = 0; i < integCount; i++)
            {
                tag = $"{{min-{i+1}}}";
                sheet[tag].Value = $"{(i+1)*integTime} min";
            }
        }
Ejemplo n.º 3
0
        public void Open(Int64 recNo)
        {
            sheetTags.Clear();
            db.Lock();

            try
            {
                Dictionary <string, Cell> sheet;
                DataBookDataSet           bookSet      = db.DataBookSet;
                DataSheetDataSet          sheetSet     = db.DataSheetSet;
                DataValueUnitDataSet      valueUnitSet = db.DataValueUnitSet;
                DataValueDataSet          valueSet     = db.DataValueSet;

                bookSet.Select(recNo);

                if (bookSet.IsEmpty() == false)
                {
                    bookSet.Fetch();
                    if (string.IsNullOrWhiteSpace(bookSet.TestName) == true)
                    {
                        fName = $"None_Line{bookSet.TestLine + 1}";
                    }
                    else
                    {
                        fName = $"{bookSet.TestName}_Line{bookSet.TestLine + 1}";
                    }

                    sheetSet.Select(bookSet.RecNo);

                    for (int i = 0; i < sheetSet.GetRowCount(); i++)
                    {
                        sheetSet.Fetch(i);

                        bool isNozzle = false;
                        if ((sheetSet.IDState.EndsWith("Cooling") == true) ||
                            (sheetSet.IDState.EndsWith("Heating") == true))
                        {
                            isNozzle = true;
                        }

                        sheet = sheetTags.Sheets[sheetSet.SheetName];

                        reportSheet.BeginUpdate();

                        try
                        {
                            SetSheetTitle(sheet, bookSet, sheetSet);

                            if (sheetSet.Use == true)
                            {
                                valueUnitSet.Select(sheetSet.RecNo);

                                if (i < 4)
                                {
                                    SetSheetValues(sheet, calorieTags,
                                                   bookSet.IntegCount, bookSet.IntegTime, valueUnitSet, valueSet, false, isNozzle);
                                }
                                else
                                {
                                    SetSheetValues(sheet, thermoTags,
                                                   bookSet.IntegCount, bookSet.IntegTime, valueUnitSet, valueSet, true, false);
                                }
                            }
                        }
                        finally
                        {
                            reportSheet.EndUpdate();
                        }

                        Thread.Sleep(1);
                    }
                }
            }
            finally
            {
                db.Unlock();
            }
        }