示例#1
0
        }         //  end WriteUnitGroup

        private void loadExportOutputList(LogStockDO justLog, string currSort, string currGrade, bool errFound)
        {
            //  EX2
            exportToOutput eto = new exportToOutput();

            eto.errorFound = errFound;
            eto.export1    = justLog.Tree.Stratum.Code;
            eto.export2    = justLog.Tree.CuttingUnit.Code;
            eto.export3    = justLog.Tree.Plot.PlotNumber.ToString();
            eto.export4    = justLog.Tree.TreeNumber.ToString();
            eto.export5    = justLog.LogNumber;
            eto.export6    = justLog.Tree.Species;
            eto.export7    = justLog.ExportGrade;
            eto.export8    = justLog.Grade;
            eto.export9    = currSort;
            eto.export10   = currGrade;
            eto.export11   = justLog.Length;
            eto.export12   = justLog.SeenDefect;
            eto.export13   = justLog.Length;;
            eto.export14   = justLog.SmallEndDiameter;
            eto.export15   = justLog.NetBoardFoot;
            eto.export16   = justLog.SeenDefect;
            exToOutput.Add(eto);
            return;
        }   //  end loadExportOutputList
示例#2
0
        }   //  end CreateEX4and5

        private void CreateEX6orEX7(StratumDO currST, string currCU)
        {
            //  EX6 and EX7
            string currSpecies = "";
            //List<PRODO> proList = Global.BL.getPRO();
            //  get correct acres
            double strAcres = Utilities.ReturnCorrectAcres(currST.Code, (long)currST.Stratum_CN);

            //  first pull unique sort and grade codes
            //List<LogStockDO> justSorts = Global.BL.getLogSorts("");
            logStockList = Global.BL.getCutLogs().ToList();
            //  then loop through sort codes to get logs
            List <LogStockDO> justLogs = new List <LogStockDO>();

            foreach (LogStockDO js in Global.BL.getLogSorts(""))
            {
                //  pull logs for this group based on report
                if (currentReport == "EX6")
                {
                    justLogs = logStockList.FindAll(
                        l => l.Tree.Stratum.Code == currST.Code && l.Tree.CuttingUnit.Code == currCU &&
                        l.ExportGrade == js.ExportGrade && l.Grade == js.Grade);
                }
                else if (currentReport == "EX7")
                {
                    justLogs = logStockList.FindAll(
                        l => l.Tree.Stratum.Code == currST.Code &&
                        l.ExportGrade == js.ExportGrade && l.Grade == js.Grade);
                }   //  endif
                //  sum values into output list
                double proratFactor = 0;
                double sumExpFac    = 0;
                double sumGrossBDFT = 0;
                double sumGrossCUFT = 0;
                double sumNetBDFT   = 0;
                double sumNetCUFT   = 0;
                double sumDefect    = 0;
                double sumLength    = 0;
                foreach (LogStockDO jl in justLogs)
                {
                    //  find proration factor for the group
                    PRODO prodo = Global.BL.getPRO().FirstOrDefault(
                        p => p.Stratum == jl.Tree.Stratum.Code && p.CuttingUnit == jl.Tree.CuttingUnit.Code &&
                        p.SampleGroup == jl.Tree.SampleGroup.Code);
                    if (prodo != null)
                    {
                        proratFactor = prodo.ProrationFactor;
                    }
                    else
                    {
                        proratFactor = 1.0;
                    }
                    //  save species
                    currSpecies = jl.Tree.Species;
                    //  Board foot volumes
                    sumGrossBDFT += jl.GrossBoardFoot * jl.Tree.ExpansionFactor * proratFactor;
                    sumNetBDFT   += jl.NetBoardFoot * jl.Tree.ExpansionFactor * proratFactor;
                    //  Cubic foot volumes
                    sumGrossCUFT += jl.GrossCubicFoot * jl.Tree.ExpansionFactor * proratFactor;
                    sumNetCUFT   += jl.NetCubicFoot * jl.Tree.ExpansionFactor * proratFactor;
                    //  these values are summed differently for 100% method
                    if (currST.Method == "100")
                    {
                        sumExpFac += jl.Tree.ExpansionFactor;
                        sumDefect += jl.SeenDefect;
                        sumLength += jl.Length * jl.Tree.ExpansionFactor;
                    }
                    else
                    {
                        sumExpFac += jl.Tree.ExpansionFactor * strAcres;
                        sumDefect += jl.SeenDefect * jl.Tree.ExpansionFactor * strAcres;
                        sumLength += jl.Length * jl.Tree.ExpansionFactor * strAcres;
                    } //  endif on method
                }     //  end foreach loop
                //  load group into output list
                exportToOutput eto = new exportToOutput();
                eto.export1  = currST.Code.PadLeft(2, ' ');
                eto.export2  = currCU.PadLeft(3, ' ');
                eto.export3  = currSpecies.PadRight(6, ' ');
                eto.export4  = js.ExportGrade;
                eto.export5  = js.Grade;
                eto.export11 = sumExpFac;
                eto.export12 = sumGrossBDFT;
                eto.export13 = sumNetBDFT;
                eto.export14 = sumGrossCUFT;
                eto.export15 = sumNetCUFT;
                eto.export16 = sumDefect;
                eto.export17 = sumLength;

                exToOutput.Add(eto);
            } //  end foreach loop
            return;
        }     //  end CreateEX6