コード例 #1
0
        public virtual BoqItemTable convertToBoqItem(DateTime projectStartDate, long?code, ProjectDBUtil currentDBUtil, bool online, bool useProductivity, bool replaceQuantity)
        {
            BoqItemTable boqTable = BlankResourceInitializer.createBlankBoqItem(this, code, projectStartDate, useProductivity);

            Timestamp updateTime = new Timestamp(DateTimeHelper.CurrentUnixTimeMillis());

            //if ( useProductivity ) {
            //	boqTable.setCalculationType(BoqItemTable.s_PRODUCTIVITY_METHOD);
            //}
            //else {
            //	boqTable.setCalculationType(BoqItemTable.s_TOTAL_UNITS_METHOD);
            //}
            //boqTable.setProductivity(BigDecimalMath.ONE);
            //boqTable.setQuantity(BigDecimalMath.ONE);
            //boqTable.setDuration(BigDecimalMath.ONE);

            boqTable.LastUpdate = updateTime;
            boqTable.CreateDate = updateTime;

            boqTable.BoqItemAssemblySet      = new HashSet <object>();
            boqTable.BoqItemEquipmentSet     = new HashSet <object>();
            boqTable.BoqItemSubcontractorSet = new HashSet <object>();
            boqTable.BoqItemLaborSet         = new HashSet <object>();
            boqTable.BoqItemMaterialSet      = new HashSet <object>();
            boqTable.BoqItemConsumableSet    = new HashSet <object>();
            boqTable.BoqItemConditionSet     = new HashSet <object>();

            ConditionTable        conditionTable    = (ConditionTable)convertToConditionTable();
            BoqItemConditionTable boqConditionTable = new BoqItemConditionTable();

            boqConditionTable.Factor1         = BigDecimalMath.ONE;
            boqConditionTable.Factor2         = BigDecimalMath.ONE;
            boqConditionTable.QuantityPerUnit = BigDecimalMath.ONE;
            boqConditionTable.Sumup           = BigDecimalMath.ZERO;

            if (replaceQuantity)
            {
                if (conditionTable.DefaultQuantity == null || conditionTable.DefaultQuantity == 0 || conditionTable.DefaultQuantity == 1)
                {
                    boqTable.Quantity = conditionTable.Quantity1;
                }
                else if (conditionTable.DefaultQuantity == 2)
                {
                    boqTable.Quantity = conditionTable.Quantity2;
                }
                else if (conditionTable.DefaultQuantity == 3)
                {
                    boqTable.Quantity = conditionTable.Quantity3;
                }
                else if (conditionTable.DefaultQuantity == 4)
                {
                    boqTable.Quantity = conditionTable.QuantityF;
                }
            }
            if (conditionTable.DefaultQuantity == null || conditionTable.DefaultQuantity == 0 || conditionTable.DefaultQuantity == 1)
            {
                boqConditionTable.SelectedUnit = BoqItemConditionTable.SELECTED_UNIT1;
                boqTable.Quantity         = conditionTable.Quantity1;
                boqTable.MeasuredQuantity = conditionTable.Quantity1;
                //boqTable.setEstimatedQuantity(conditionTable.getQuantity1());
                boqTable.Unit       = conditionTable.Unit1;
                boqTable.SecondUnit = Unit1ToUnit2Util.Instance.getUnit2(conditionTable.Unit1);
                boqTable.UnitsDiv   = Unit1ToUnit2Util.Instance.getUnitDiv(conditionTable.Unit1);
            }
            else if (conditionTable.DefaultQuantity == 2)
            {
                boqConditionTable.SelectedUnit = BoqItemConditionTable.SELECTED_UNIT2;
                boqTable.Quantity         = conditionTable.Quantity2;
                boqTable.MeasuredQuantity = conditionTable.Quantity2;
                //boqTable.setEstimatedQuantity(conditionTable.getQuantity2());
                boqTable.Unit       = conditionTable.Unit2;
                boqTable.SecondUnit = Unit1ToUnit2Util.Instance.getUnit2(conditionTable.Unit2);
                boqTable.UnitsDiv   = Unit1ToUnit2Util.Instance.getUnitDiv(conditionTable.Unit2);
            }
            else if (conditionTable.DefaultQuantity == 3)
            {
                boqConditionTable.SelectedUnit = BoqItemConditionTable.SELECTED_UNIT3;
                boqTable.Quantity = conditionTable.Quantity3;
                //boqTable.setEstimatedQuantity(conditionTable.getQuantity3());
                boqTable.MeasuredQuantity = conditionTable.Quantity3;
                boqTable.Unit             = conditionTable.Unit3;
                boqTable.SecondUnit       = Unit1ToUnit2Util.Instance.getUnit2(conditionTable.Unit3);
                boqTable.UnitsDiv         = Unit1ToUnit2Util.Instance.getUnitDiv(conditionTable.Unit3);
            }
            else if (conditionTable.DefaultQuantity == 4)
            {
                boqConditionTable.SelectedUnit = BoqItemConditionTable.SELECTED_UNITF;
                boqTable.Quantity = conditionTable.QuantityF;
                //boqTable.setEstimatedQuantity(conditionTable.getQuantity3());
                boqTable.MeasuredQuantity = conditionTable.QuantityF;
                boqTable.Unit             = conditionTable.UnitF;
                boqTable.SecondUnit       = Unit1ToUnit2Util.Instance.getUnit2(conditionTable.UnitF);
                boqTable.UnitsDiv         = Unit1ToUnit2Util.Instance.getUnitDiv(conditionTable.UnitF);
            }

            boqConditionTable.LastUpdate = updateTime;

            boqConditionTable.ConditionTable = conditionTable;
            boqConditionTable.BoqItemTable   = boqTable;

            boqTable.BoqItemConditionSet.Add(boqConditionTable);

            boqTable.recalculate();

            return(boqTable);
        }
コード例 #2
0
        public virtual BoqItemConditionTable[] createBoqConditions(BoqItemTable paramBoqItemTable, ConditionTable[] paramArrayOfConditionTable)
        {
            BoqItemConditionTable[] arrayOfBoqItemConditionTable = new BoqItemConditionTable[paramArrayOfConditionTable.Length];
            sbyte b = 0;

            foreach (ConditionTable conditionTable in paramArrayOfConditionTable)
            {
                decimal bigDecimal = null;
                if (Quantities != null && Quantities.Count > b)
                {
                    bigDecimal = (decimal)Quantities[b];
                }
                BoqItemConditionTable boqItemConditionTable = new BoqItemConditionTable();
                string str = "";
                if (conditionTable.DefaultQuantity == null || conditionTable.DefaultQuantity.Value == 0)
                {
                    boqItemConditionTable.SelectedUnit = "selectedQty.1";
                    str = conditionTable.Unit1;
                    if (conditionTable.Quantity2 != null && !conditionTable.Quantity2.Equals(new BigDecimalFixed("0")))
                    {
                        boqItemConditionTable.SelectedUnit = "selectedQty.2";
                        str = conditionTable.Unit2;
                    }
                    if (conditionTable.Quantity3 != null && !conditionTable.Quantity3.Equals(new BigDecimalFixed("0")))
                    {
                        boqItemConditionTable.SelectedUnit = "selectedQty.3";
                        str = conditionTable.Unit3;
                    }
                    if (conditionTable.QuantityF != null && !conditionTable.QuantityF.Equals(new BigDecimalFixed("0")))
                    {
                        boqItemConditionTable.SelectedUnit = "selectedQty.F";
                        str = conditionTable.UnitF;
                    }
                }
                else if (conditionTable.DefaultQuantity.Value == 1)
                {
                    boqItemConditionTable.SelectedUnit = "selectedQty.1";
                    str = conditionTable.Unit1;
                }
                else if (conditionTable.DefaultQuantity.Value == 2)
                {
                    boqItemConditionTable.SelectedUnit = "selectedQty.2";
                    str = conditionTable.Unit2;
                }
                else if (conditionTable.DefaultQuantity.Value == 3)
                {
                    boqItemConditionTable.SelectedUnit = "selectedQty.3";
                    str = conditionTable.Unit3;
                }
                else if (conditionTable.DefaultQuantity.Value == 4)
                {
                    boqItemConditionTable.SelectedUnit = "selectedQty.F";
                    str = conditionTable.UnitF;
                }
                if (!str.Equals(paramBoqItemTable.Unit))
                {
                    if (str.Equals(conditionTable.Unit1))
                    {
                        boqItemConditionTable.SelectedUnit = "selectedQty.1";
                    }
                    if (str.Equals(conditionTable.Unit2))
                    {
                        boqItemConditionTable.SelectedUnit = "selectedQty.2";
                    }
                    if (str.Equals(conditionTable.Unit3))
                    {
                        boqItemConditionTable.SelectedUnit = "selectedQty.3";
                    }
                    if (str.Equals(conditionTable.UnitF))
                    {
                        boqItemConditionTable.SelectedUnit = "selectedQty.F";
                    }
                }
                boqItemConditionTable.Factor1 = BigDecimalMath.ONE;
                boqItemConditionTable.Factor2 = BigDecimalMath.ONE;
                boqItemConditionTable.Sumup   = BigDecimalMath.ZERO;
                if (BigDecimalMath.cmp(bigDecimal, BigDecimalMath.ZERO) > 0)
                {
                    boqItemConditionTable.OverridenQuantity = bigDecimal;
                }
                boqItemConditionTable.BoqItemTable   = paramBoqItemTable;
                boqItemConditionTable.ConditionTable = conditionTable;
                boqItemConditionTable.LastUpdate     = new Timestamp(DateTimeHelper.CurrentUnixTimeMillis());
                arrayOfBoqItemConditionTable[b++]    = boqItemConditionTable;
            }
            return(arrayOfBoqItemConditionTable);
        }