コード例 #1
0
        public virtual SupplierTable convertToSupplierTable(ProjectDBProperties prop)
        {
            SupplierTable obj = BlankResourceInitializer.createBlankSupplier(null);

            obj.DatabaseId = SupplierDatabaseId;
            if (DatabaseCreationDate == null)
            {
                obj.DatabaseCreationDate = 100L;                 //ResourceUtil.MISSING_DB_CREATE_DATE);
            }
            else
            {
                obj.DatabaseCreationDate = DatabaseCreationDate;
            }
            obj.Address       = quotationTable.Address;
            obj.Title         = quotationTable.CompanyName;
            obj.ContactPerson = quotationTable.ContactPerson;
            obj.GroupCode     = boqItemTable.GroupCode;
            obj.GekCode       = boqItemTable.GekCode;
            obj.Description   = boqItemTable.Description;
            obj.Notes         = boqItemTable.Notes;
            obj.EditorId      = DatabaseDBUtil.Properties.UserId;
            obj.PhoneNumber   = quotationTable.PhoneNumber;
            obj.MobileNumber  = quotationTable.MobileNumber;
            obj.Email         = quotationTable.Email;
            obj.Url           = quotationTable.Url;
            obj.Country       = quotationTable.Country;
            obj.City          = quotationTable.City;
            obj.StateProvince = quotationTable.StateProvince;
            obj.GeoLocation   = quotationTable.GeoLocation;
            obj.FaxNumber     = quotationTable.FaxNumber;
            obj.Performance   = "" + quotationTable.Performance;
            obj.ExtraCode1    = boqItemTable.ExtraCode1;
            obj.ExtraCode2    = boqItemTable.ExtraCode2;
            obj.ExtraCode3    = boqItemTable.ExtraCode3;
            obj.ExtraCode4    = boqItemTable.ExtraCode4;
            obj.ExtraCode5    = boqItemTable.ExtraCode5;
            obj.ExtraCode6    = boqItemTable.ExtraCode6;
            obj.ExtraCode7    = boqItemTable.ExtraCode7;
            obj.ExtraCode8    = boqItemTable.ExtraCode8;
            obj.ExtraCode9    = boqItemTable.ExtraCode9;
            obj.ExtraCode10   = boqItemTable.ExtraCode10;
            obj.CreateUserId  = quotationTable.EditorId;
            if (quotationTable.ReceivedDate != null)
            {
                obj.LastUpdate = quotationTable.ReceivedDate;
                obj.CreateDate = quotationTable.ReceivedDate;
            }
            else
            {
                obj.LastUpdate = DateTime.Now;
                obj.CreateDate = obj.LastUpdate;
            }
            obj.recalculate();

            return(obj);
        }
コード例 #2
0
        public virtual SubcontractorTable convertToSubcontractorTable(ProjectDBProperties prop)
        {
            SubcontractorTable obj = BlankResourceInitializer.createBlankSubcontractor(null);

            BoqItemTable   boqItemTable   = BoqItemTable;
            QuotationTable quotationTable = QuotationTable;

            if (Title.IndexOf(boqItemTable.Title, StringComparison.Ordinal) != -1 && Title.IndexOf(boqItemTable.Description, StringComparison.Ordinal) != -1)
            {
                obj.Title = StringUtils.makeShortTitle(boqItemTable.Title);
            }
            else
            {
                obj.Title = StringUtils.makeShortTitle(Title);
            }

            obj.DatabaseId = DatabaseId;
            if (DatabaseCreationDate == null)
            {
                obj.DatabaseCreationDate = 100L;                 //ResourceUtil.MISSING_DB_CREATE_DATE);
            }
            else
            {
                obj.DatabaseCreationDate = DatabaseCreationDate;
            }
            obj.Address       = quotationTable.Address;
            obj.ContactPerson = quotationTable.ContactPerson;
            obj.GroupCode     = boqItemTable.GroupCode;
            obj.GekCode       = boqItemTable.GekCode;
            obj.Performance   = "" + quotationTable.Performance;
            obj.Project       = prop.getProperty("project.code") + " - " + prop.getProperty("project.name");
            obj.Description   = boqItemTable.Description;
            obj.Notes         = boqItemTable.Notes;

            obj.EditorId        = DatabaseDBUtil.Properties.UserId;
            obj.PhoneNumber     = quotationTable.PhoneNumber;
            obj.MobileNumber    = quotationTable.MobileNumber;
            obj.Email           = quotationTable.Email;
            obj.Country         = quotationTable.Country;
            obj.City            = quotationTable.City;
            obj.StateProvince   = quotationTable.StateProvince;
            obj.SubMaterialRate = MaterialRate;
            obj.Rate            = RateWithIndirect;
            obj.SubMaterialRate = MaterialRate;
            obj.IKA             = Insurance;
            obj.Quantity        = Quantity;
            obj.TotalRate       = calculateFinalRate();
            obj.Unit            = Unit;
            obj.Url             = quotationTable.Url;
            obj.Company         = quotationTable.CompanyName;
            obj.FaxNumber       = quotationTable.FaxNumber;
            obj.Currency        = quotationTable.Currency;
            obj.Accuracy        = SubcontractorTable.QUOTED_ACCURACY;

            if (quotationTable.HasMaterialRate.Value)
            {
                obj.Inclusion = SubcontractorTable.MATERIAL_AND_SHIPMENT_INCLUSION;
            }
            else
            {
                obj.Inclusion = SubcontractorTable.NONE_INCLUSION;
            }

            obj.CreateUserId = quotationTable.EditorId;
            if (quotationTable.ReceivedDate != null)
            {
                obj.LastUpdate = quotationTable.ReceivedDate;
                obj.CreateDate = quotationTable.ReceivedDate;
            }
            else
            {
                obj.LastUpdate = DateTime.Now;
                obj.CreateDate = obj.LastUpdate;
            }

            obj.ExtraCode1  = boqItemTable.ExtraCode1;
            obj.ExtraCode2  = boqItemTable.ExtraCode2;
            obj.ExtraCode3  = boqItemTable.ExtraCode3;
            obj.ExtraCode4  = boqItemTable.ExtraCode4;
            obj.ExtraCode5  = boqItemTable.ExtraCode5;
            obj.ExtraCode6  = boqItemTable.ExtraCode6;
            obj.ExtraCode7  = boqItemTable.ExtraCode7;
            obj.ExtraCode8  = boqItemTable.ExtraCode8;
            obj.ExtraCode9  = boqItemTable.ExtraCode9;
            obj.ExtraCode10 = boqItemTable.ExtraCode10;
            obj.recalculate();

            return(obj);
        }
コード例 #3
0
        public virtual MaterialTable convertToMaterialTable(ProjectDBProperties prop)
        {
            MaterialTable  obj            = BlankResourceInitializer.createBlankMaterial(null);
            BoqItemTable   boqItemTable   = BoqItemTable;
            QuotationTable quotationTable = QuotationTable;

            double[] projectGeoPosition  = StringUtils.extractDoubles(prop.getProperty("project.geolocation"));
            double[] supplierGeoPosition = StringUtils.extractDoubles(quotationTable.GeoLocation);
            double   distanceKm          = HaversineDistanceUtil.distance(HaversineDistanceUtil.KM_DISTANCE, projectGeoPosition, supplierGeoPosition);

            if (Title.IndexOf(boqItemTable.Title, StringComparison.Ordinal) != -1 && Title.IndexOf(boqItemTable.Description, StringComparison.Ordinal) != -1)
            {
                obj.Title = StringUtils.makeShortTitle(boqItemTable.Title);
            }
            else
            {
                obj.Title = StringUtils.makeShortTitle(Title);
            }
            obj.DatabaseId = DatabaseId;
            if (DatabaseCreationDate == null)
            {
                obj.DatabaseCreationDate = 100L;                 //ResourceUtil.MISSING_DB_CREATE_DATE);
            }
            else
            {
                obj.DatabaseCreationDate = DatabaseCreationDate;
            }
            obj.Weight        = BigDecimalMath.ZERO;
            obj.WeightUnit    = "KG";
            obj.GroupCode     = boqItemTable.GroupCode;
            obj.GekCode       = boqItemTable.GekCode;
            obj.Project       = prop.getProperty("project.code") + " - " + prop.getProperty("project.name");
            obj.Description   = boqItemTable.Description;
            obj.Notes         = boqItemTable.Notes;
            obj.EditorId      = DatabaseDBUtil.Properties.UserId;
            obj.Country       = quotationTable.Country;
            obj.StateProvince = quotationTable.StateProvince;
            obj.Rate          = Rate;

            obj.DistanceToSite = new BigDecimalFixed("" + distanceKm);
            obj.DistanceUnit   = "KM";

            obj.RawMaterial         = MaterialTable.UNSPECIFIED_RAWMAT;
            obj.RawMaterialReliance = BigDecimalMath.ZERO;

            obj.CreateUserId = quotationTable.EditorId;
            if (quotationTable.ReceivedDate != null)
            {
                obj.LastUpdate = quotationTable.ReceivedDate;
                obj.CreateDate = quotationTable.ReceivedDate;
            }
            else
            {
                obj.LastUpdate = DateTime.Now;
                obj.CreateDate = obj.LastUpdate;
            }

            if (quotationTable.OnSiteDelivery.Value)
            {
                if (ShipmentCost != null)
                {
                    decimal indirectRate = BigDecimalMath.ZERO;

                    if (IndirectCost != null)
                    {
                        decimal qty = Quantity;
                        if (BigDecimalMath.cmpCheckNulls(qty, BigDecimalMath.ZERO) == 0)
                        {
                            qty = BigDecimalMath.ONE;
                        }

                        obj.ShipmentRate = BigDecimalMath.div(shipmentCost, qty);
                    }

                    //				double qty = getQuantity().doubleValue();
                    //				if ( qty == 0 )
                    //					qty = 1;
                    //				double srate = shipmentCost.doubleValue()/getQuantity().doubleValue();
                    //				obj.setShipmentRate(new BigDecimalFixed(""+srate));
                }
                else
                {
                    obj.ShipmentRate = BigDecimalMath.ZERO;
                }

                obj.Inclusion = MaterialTable.SHIPMENT_INCLUSION;
            }
            else
            {
                obj.Inclusion    = MaterialTable.NONE_INCLUSION;
                obj.ShipmentRate = BigDecimalMath.ZERO;
            }

            obj.FabricationRate = BigDecimalMath.ZERO;
            obj.TotalRate       = obj.Rate + obj.ShipmentRate;
            obj.Quantity        = Quantity;
            obj.Unit            = Unit;
            obj.Currency        = quotationTable.Currency;
            obj.Accuracy        = MaterialTable.QUOTED_ACCURACY;

            obj.ExtraCode1  = boqItemTable.ExtraCode1;
            obj.ExtraCode2  = boqItemTable.ExtraCode2;
            obj.ExtraCode3  = boqItemTable.ExtraCode3;
            obj.ExtraCode4  = boqItemTable.ExtraCode4;
            obj.ExtraCode5  = boqItemTable.ExtraCode5;
            obj.ExtraCode6  = boqItemTable.ExtraCode6;
            obj.ExtraCode7  = boqItemTable.ExtraCode7;
            obj.ExtraCode8  = boqItemTable.ExtraCode8;
            obj.ExtraCode9  = boqItemTable.ExtraCode9;
            obj.ExtraCode10 = boqItemTable.ExtraCode10;

            boqItemTable.loadBimMaterialsAndTypes();

            obj.BimMaterial = boqItemTable.BimMaterial;
            obj.BimType     = boqItemTable.BimType;
            obj.recalculate();

            return(obj);
        }