diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CIFNinjectModule.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CIFNinjectModule.cs index 0b08da1bb538c5b0bd70a57509689d153d56b058..6435bfe621cbedb293badd70008ba7fa38735fe4 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CIFNinjectModule.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CIFNinjectModule.cs @@ -190,15 +190,6 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation false, false))); - //Bind<IXMLCustomerReport>().To<HEV_IHPC_CompletedBusCIF>().Named(nameCombinationMethod.Invoke( - // ToParams(VehicleCategoryHelper.CompletedBus, - // VectoSimulationJobType.ParallelHybridVehicle, - // ArchitectureID.UNKNOWN, - // false, - // false, - // true))); - - Bind<IXMLCustomerReport>().To<HEV_S2_CompletedBusCIF>().Named(nameCombinationMethod.Invoke( ToParams(VehicleCategoryHelper.CompletedBus, VectoSimulationJobType.SerialHybridVehicle, @@ -261,7 +252,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation VectoSimulationJobType.BatteryElectricVehicle, ArchitectureID.E_IEPC, false, - false, + true, false))); Bind<IXMLCustomerReport>().To<Exempted_CompletedBusCIF>().Named(nameCombinationMethod.Invoke( @@ -327,6 +318,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation Bind<IXmlTypeWriter>().To<CIF_HEV_S4_CompletedBusVehicleWriter>().When(AccessedViaCIFFactory) .NamedLikeFactoryMethod((ICustomerInformationFileFactory f) => f.GetHEV_S4_CompletedBusVehicleType()); + Bind<IXmlTypeWriter>().To<CIF_HEV_IEPC_S_CompletedBusVehicleWriter>().When(AccessedViaCIFFactory) + .NamedLikeFactoryMethod((ICustomerInformationFileFactory f) => f.GetHEV_IEPC_S_CompletedBusVehicleType()); + Bind<IXmlTypeWriter>().To<CIF_PEV_E2_CompletedBusVehicleWriter>().When(AccessedViaCIFFactory) .NamedLikeFactoryMethod((ICustomerInformationFileFactory f) => f.GetPEV_E2_CompletedBusVehicleType()); @@ -339,12 +333,6 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation Bind<IXmlTypeWriter>().To<CIF_PEV_IEPC_CompletedBusVehicleWriter>().When(AccessedViaCIFFactory) .NamedLikeFactoryMethod((ICustomerInformationFileFactory f) => f.GetPEV_IEPC_CompletedBusVehicleType()); - //Bind<IXmlTypeWriter>().To<CIF_HEVCompletedBusVehicleWriter>().When(AccessedViaCIFFactory) - // .NamedLikeFactoryMethod((ICustomerInformationFileFactory f) => f.GetHEV_CompletedBusVehicleType()); - - //Bind<IXmlTypeWriter>().To<CIF_PEVCompletedBusVehicleWriter>().When(AccessedViaCIFFactory) - // .NamedLikeFactoryMethod((ICustomerInformationFileFactory f) => f.GetPEV_CompletedBusVehicleType()); - Bind<IXmlTypeWriter>().To<CIF_ExemptedCompletedBusVehicleWriter>().When(AccessedViaCIFFactory) .NamedLikeFactoryMethod((ICustomerInformationFileFactory f) => f.GetExemptedCompletedBusVehicleType()); #endregion @@ -371,6 +359,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation .NamedLikeFactoryMethod((ICustomerInformationFileFactory f) => f.GetCompletedBusVehicleTypeGroup()); Bind<IReportOutputGroup>().To<PEVCompletedBusVehicleTypeGroup>().When(AccessedViaCIFFactory) .NamedLikeFactoryMethod((ICustomerInformationFileFactory f) => f.GetPEVCompletedBusVehicleTypeGroup()); + Bind<IReportOutputGroup>().To<ExemptedCompletedBusVehicleTypeGroup>().When(AccessedViaCIFFactory) + .NamedLikeFactoryMethod((ICustomerInformationFileFactory f) => f.GetExemptedCompletedBusVehicleTypeGroup()); Bind<IReportOutputGroup>().To<HEV_CompletedBusVehicleSequenceGroupWriter>().When(AccessedViaCIFFactory) .NamedLikeFactoryMethod((ICustomerInformationFileFactory f) => f.GetHEV_CompletedBusVehicleSequenceGroupWriter()); @@ -387,6 +377,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation .NamedLikeFactoryMethod((ICustomerInformationFileFactory f) => f.GetTransmissionGroup()); Bind<IReportOutputGroup>().To<TransmissionGroupWithoutGearbox>().When(AccessedViaCIFFactory) .NamedLikeFactoryMethod((ICustomerInformationFileFactory f) => f.GetTransmissionGroupNoGearbox()); + Bind<IReportOutputGroup>().To<IEPCTransmissionGroup>().When(AccessedViaCIFFactory) + .NamedLikeFactoryMethod((ICustomerInformationFileFactory f) => f.GetIEPCTransmissionGroup()); Bind<IReportOutputGroup>().To<AxleWheelsGroup>().When(AccessedViaCIFFactory) .NamedLikeFactoryMethod((ICustomerInformationFileFactory f) => f.GetAxleWheelsGroup()); Bind<IReportOutputGroup>().To<ElectricMachineGroup>().When(AccessedViaCIFFactory) diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CIFWriter/ComponentGroupWriters.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CIFWriter/ComponentGroupWriters.cs index d1ff5d845f8646ac9783de3099cfd40317956b76..d82bad5a6d218fba4b5700bee71927234fa5576a 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CIFWriter/ComponentGroupWriters.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CIFWriter/ComponentGroupWriters.cs @@ -24,12 +24,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation public override IList<XElement> GetElements(IDeclarationInputDataProvider inputData) { - IEngineDeclarationInputData engine; - if (inputData is IMultistageBusInputDataProvider multistage) { - engine = multistage.JobInputData.PrimaryVehicle.Vehicle.Components.EngineInputData; - } else { - engine = inputData.JobInputData.Vehicle.Components.EngineInputData; - } + var vehicle = GetVehicle(inputData); + var engine = vehicle.Components.EngineInputData; var fuelTypesXElement = new XElement(_cif + XMLNames.Report_Vehicle_FuelTypes); @@ -64,12 +60,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation public override IList<XElement> GetElements(IDeclarationInputDataProvider inputData) { - IGearboxDeclarationInputData gearbox; - if (inputData is IMultistageBusInputDataProvider multistage) { - gearbox = multistage.JobInputData.PrimaryVehicle.Vehicle.Components.GearboxInputData; - } else { - gearbox = inputData.JobInputData.Vehicle.Components.GearboxInputData; - } + var vehicle = GetVehicle(inputData); + var gearbox = vehicle.Components.GearboxInputData; return new List<XElement>() { new XElement(_cif + "TransmissionValues", gearbox.CertificationMethod.ToXMLFormat()), @@ -99,6 +91,25 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation #endregion } + public class IEPCTransmissionGroup : AbstractCIFGroupWriter + { + public IEPCTransmissionGroup(ICustomerInformationFileFactory cifFactory) : base(cifFactory) { } + + #region Overrides of AbstractCIFGroupWriter + + public override IList<XElement> GetElements(IDeclarationInputDataProvider inputData) + { + var vehicle = GetVehicle(inputData); + var iepc = vehicle.Components.IEPC; + + return new List<XElement>() { + new XElement(_cif + "NrOfGears", iepc.Gears.Count) + }; + } + + #endregion + } + public class AxleWheelsGroup : AbstractCIFGroupWriter { public AxleWheelsGroup(ICustomerInformationFileFactory cifFactory) : base(cifFactory) { } diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CIFWriter/VehicleGroups.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CIFWriter/VehicleGroups.cs index 764adb91ce56959b1860742856cc381f3254c80a..faecbb6aba375bd69f762a9c22abef88ce57490a 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CIFWriter/VehicleGroups.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CIFWriter/VehicleGroups.cs @@ -332,7 +332,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation return result; } - private XElement GetManufacturers(IMultistageBusInputDataProvider completedBusData) + protected XElement GetManufacturers(IMultistageBusInputDataProvider completedBusData) { var manufacturers = new XElement(_cif + "Manufacturers", GetManufacturerAndAddress(completedBusData.JobInputData.PrimaryVehicle.Vehicle.Manufacturer, @@ -407,4 +407,42 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation #endregion } + + + public class ExemptedCompletedBusVehicleTypeGroup : CompletedBusVehicleTypeGroup + { + public ExemptedCompletedBusVehicleTypeGroup(ICustomerInformationFileFactory cifFactory) : base(cifFactory) { } + + public override IList<XElement> GetElements(IDeclarationInputDataProvider inputData) + { + var completedBusData = inputData as IMultistageBusInputDataProvider; + if (completedBusData == null) { + throw new ArgumentException( + $"{nameof(inputData)} must implement {nameof(IMultistageBusInputDataProvider)}"); + } + var result = new List<XElement>(); + result.AddRange( + _cifFactory.GetGeneralVehicleSequenceGroupWriterCompletedBus().GetElements(completedBusData)); + result.Add(GetManufacturers(completedBusData)); + + + + var consolidatedVehicle = completedBusData.JobInputData.ConsolidateManufacturingStage.Vehicle; + result.AddRange(new List<XElement>() { + new XElement(_cif + XMLNames.Component_Model, consolidatedVehicle.Model), + new XElement(_cif + XMLNames.CorrectedActualMass, consolidatedVehicle.CurbMassChassis.ValueAsUnit("kg", 0)), + new XElement(_cif + XMLNames.Vehicle_ZeroEmissionVehicle, consolidatedVehicle.ZeroEmissionVehicle), + new XElement(_cif + XMLNames.Vehicle_HybridElectricHDV, consolidatedVehicle.HybridElectricHDV), + new XElement(_cif + XMLNames.Vehicle_RegisteredClass, consolidatedVehicle.RegisteredClass.ToXMLFormat()), + new XElement(_cif + "TotalNumberOfPassengers", consolidatedVehicle.NumberPassengerSeatsLowerDeck + + consolidatedVehicle.NumberPassengerSeatsUpperDeck + + consolidatedVehicle.NumberPassengersStandingLowerDeck + + consolidatedVehicle.NumberPassengersStandingUpperDeck), + !consolidatedVehicle.VehicleTypeApprovalNumber.IsNullOrEmpty() ? new XElement(_cif + XMLNames.VehicleTypeApprovalNumber, consolidatedVehicle.VehicleTypeApprovalNumber) : null + }); + + return result; + } + + } } diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CIFWriter/VehicleWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CIFWriter/VehicleWriter.cs index fff456c37a543ffd1f13ddcd6cd7443f4c724ac4..a297b770912fa284bae82c0a14fc71bcbc7e0e67 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CIFWriter/VehicleWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CIFWriter/VehicleWriter.cs @@ -50,13 +50,13 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation protected XElement GetAxleRatio(IDeclarationInputDataProvider inputData, bool optional = false) { - if (!optional || (inputData.JobInputData.Vehicle.Components.AxleGearInputData != null)) { - IAxleGearInputData axlegear; - if (inputData is IMultistageBusInputDataProvider multistage) { - axlegear = multistage.JobInputData.PrimaryVehicle.Vehicle.Components.AxleGearInputData; - } else { - axlegear = inputData.JobInputData.Vehicle.Components.AxleGearInputData; - } + IAxleGearInputData axlegear; + if (inputData is IMultistageBusInputDataProvider multistage) { + axlegear = multistage.JobInputData.PrimaryVehicle.Vehicle.Components.AxleGearInputData; + } else { + axlegear = inputData.JobInputData.Vehicle.Components.AxleGearInputData; + } + if (!optional || (axlegear != null)) { return new XElement(_cif + "AxleRatio", axlegear.Ratio.ToXMLFormat(3)); } else { return null; @@ -499,6 +499,34 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation #endregion } + public class CIF_HEV_IEPC_S_CompletedBusVehicleWriter : CIF_HEV_Px_CompletedBusVehicleWriter + { + public CIF_HEV_IEPC_S_CompletedBusVehicleWriter(ICustomerInformationFileFactory cifFactory, IManufacturerReportFactory mrfFactory) : base(cifFactory, mrfFactory) { } + + #region Overrides of VehicleWriter + + public override XElement GetElement(IDeclarationInputDataProvider inputData) + { + return new XElement(_cif + XMLNames.Component_Vehicle, + new XAttribute(_xsi + XMLNames.XSIType, "HEV_S4_CompletedBusVehicleType"), + _cifFactory.GetCompletedBusVehicleTypeGroup().GetElements(inputData), + _cifFactory.GetHEV_CompletedBusVehicleSequenceGroupWriter().GetElements(inputData), + _cifFactory.GetHEVADASType().GetXmlType(((IMultistageBusInputDataProvider)inputData) + .JobInputData + .ConsolidateManufacturingStage.Vehicle.ADAS).WithXName(_cif + "ADAS"), + _cifFactory.GetEngineGroup().GetElements(inputData), + _cifFactory.GetElectricMachineGroup().GetElements(inputData), + _cifFactory.GetREESSGroup().GetElements(inputData), + _cifFactory.GetTransmissionGroupNoGearbox().GetElements(inputData), + _cifFactory.GetAxleWheelsGroup().GetElements(inputData), + + _cifFactory.GetHEV_Sx_CompletedBusAuxGroup().GetElements(inputData) + ); + } + + #endregion + } + public class CIF_PEV_E2_CompletedBusVehicleWriter : CIF_HEV_Px_CompletedBusVehicleWriter { public CIF_PEV_E2_CompletedBusVehicleWriter(ICustomerInformationFileFactory cifFactory, IManufacturerReportFactory mrfFactory) : base(cifFactory, mrfFactory) { } @@ -597,16 +625,16 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation return new XElement(_cif + XMLNames.Component_Vehicle, new XAttribute(_xsi + XMLNames.XSIType, "PEV_IEPC_CompletedBusVehicleType"), _cifFactory.GetPEVCompletedBusVehicleTypeGroup().GetElements(inputData), - _cifFactory.GetHEV_CompletedBusVehicleSequenceGroupWriter().GetElements(inputData), - _cifFactory.GetHEVADASType().GetXmlType(((IMultistageBusInputDataProvider)inputData) + _cifFactory.GetPEV_CompletedBusVehicleSequenceGroupWriter().GetElements(inputData), + _cifFactory.GetPEVADASType().GetXmlType(((IMultistageBusInputDataProvider)inputData) .JobInputData .ConsolidateManufacturingStage.Vehicle.ADAS).WithXName(_cif + "ADAS"), - _cifFactory.GetEngineGroup().GetElements(inputData), + //_cifFactory.GetEngineGroup().GetElements(inputData), _cifFactory.GetElectricMachineGroup().GetElements(inputData), _cifFactory.GetREESSGroup().GetElements(inputData), - _cifFactory.GetTransmissionGroup().GetElements(inputData), + _cifFactory.GetIEPCTransmissionGroup().GetElements(inputData), GetRetarder(inputData), - GetAxleRatio(inputData), + GetAxleRatio(inputData, true), _cifFactory.GetAxleWheelsGroup().GetElements(inputData), _cifFactory.GetPEV_CompletedBusAuxGroup().GetElements(inputData) @@ -616,48 +644,6 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation #endregion } - //public class CIF_HEVCompletedBusVehicleWriter : VehicleWriter - //{ - // public CIF_HEVCompletedBusVehicleWriter(ICustomerInformationFileFactory cifFactory, IManufacturerReportFactory mrfFactory) : base(cifFactory, mrfFactory) { } - - // #region Overrides of VehicleWriter - - // public override XElement GetElement(IDeclarationInputDataProvider inputData) - // { - // return new XElement(_cif + XMLNames.Component_Vehicle, - // _cifFactory.GetCompletedBusVehicleTypeGroup().GetElements(inputData), - // _cifFactory.GetHEVADASType().GetXmlType(((IMultistageBusInputDataProvider)inputData) - // .JobInputData - // .ConsolidateManufacturingStage.Vehicle.ADAS).WithXName(_cif + "ADAS"), - // _cifFactory.GetCompletedBusAuxGroup().GetElements(inputData) - // ); - // } - - // #endregion - //} - - //public class CIF_PEVCompletedBusVehicleWriter : VehicleWriter - //{ - // public CIF_PEVCompletedBusVehicleWriter(ICustomerInformationFileFactory cifFactory, IManufacturerReportFactory mrfFactory) : base(cifFactory, mrfFactory) { } - - // #region Overrides of VehicleWriter - - // public override XElement GetElement(IDeclarationInputDataProvider inputData) - // { - // return new XElement(_cif + XMLNames.Component_Vehicle, - // _cifFactory.GetCompletedBusVehicleTypeGroup().GetElements(inputData), - // _cifFactory.GetPEVADASType().GetXmlType(((IMultistageBusInputDataProvider)inputData) - // .JobInputData - // .ConsolidateManufacturingStage.Vehicle.ADAS).WithXName(_cif + "ADAS"), - // _cifFactory.GetCompletedBusAuxGroup().GetElements(inputData) - // ); - // } - - // #endregion - //} - - - public class CIF_ExemptedCompletedBusVehicleWriter : VehicleWriter { @@ -668,7 +654,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation public override XElement GetElement(IDeclarationInputDataProvider inputData) { return new XElement(_cif + XMLNames.Component_Vehicle, - _cifFactory.GetCompletedBusVehicleTypeGroup().GetElements(inputData) + _cifFactory.GetExemptedCompletedBusVehicleTypeGroup().GetElements(inputData) + //_cifFactory.GetConveCompletedBusVehicleSequenceGroupWriter().GetElements(inputData), ); } diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/ICustomerInformationFileFactory.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/ICustomerInformationFileFactory.cs index 68a8549340c1f20e701d224be08bde688ce43e1d..58816ff398eac6a9a42c5dc5c9d0c94ed1f2d610 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/ICustomerInformationFileFactory.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/ICustomerInformationFileFactory.cs @@ -73,6 +73,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation IReportOutputGroup GetPEV_LorryVehicleSequenceGroupWriter(); IReportOutputGroup GetPEV_CompletedBusVehicleSequenceGroupWriter(); IReportOutputGroup GetCompletedBusVehicleTypeGroup(); + IReportOutputGroup GetExemptedCompletedBusVehicleTypeGroup(); IReportCompletedBusOutputGroup GetGeneralVehicleSequenceGroupWriterCompletedBus(); @@ -81,5 +82,6 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation ICIFAdasType GetPEVADASType(); //IReportOutputGroup GetHEV_VehicleSequenceGroup(); IReportOutputGroup GetPEVCompletedBusVehicleTypeGroup(); + IReportOutputGroup GetIEPCTransmissionGroup(); } } diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/MRFNinjectModule.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/MRFNinjectModule.cs index 4d13f84f7883f4f3b852a6f06c8dd0490ffda54b..99011c4508806e819e084113dc8fcba49f9d398b 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/MRFNinjectModule.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/MRFNinjectModule.cs @@ -415,6 +415,14 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport. false, false))); + Bind<IXMLManufacturerReport>().To<HEV_CompletedBusManufacturerReport>().Named(nameCombinationMethod.Invoke( + ToParams(VehicleCategoryHelper.CompletedBus, + VectoSimulationJobType.SerialHybridVehicle, + ArchitectureID.S_IEPC, + false, + true, + false))); + Bind<IXMLManufacturerReport>().To<PEV_CompletedBusManufacturerReport>().Named(nameCombinationMethod.Invoke( ToParams(VehicleCategoryHelper.CompletedBus, VectoSimulationJobType.BatteryElectricVehicle, @@ -442,9 +450,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport. Bind<IXMLManufacturerReport>().To<PEV_CompletedBusManufacturerReport>().Named(nameCombinationMethod.Invoke( ToParams(VehicleCategoryHelper.CompletedBus, VectoSimulationJobType.BatteryElectricVehicle, - ArchitectureID.S_IEPC, - false, + ArchitectureID.E_IEPC, false, + true, false))); Bind<IXMLManufacturerReport>().To<Exempted_CompletedBusManufacturerReport>().Named(nameCombinationMethod.Invoke( diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VIFNinjectModule.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VIFNinjectModule.cs index f8b69dc8e82f49cb9cca46decac53001c9c48f2b..32df889eeeae0b27d89c341ecfc71108d41a348d 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VIFNinjectModule.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VIFNinjectModule.cs @@ -144,9 +144,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF Bind<IXMLMultistepIntermediateReport>().To<HEV_CompletedBus_VIF>().Named(nameCombinationMethod.Invoke( ToParams(VehicleCategoryHelper.PrimaryBus, VectoSimulationJobType.SerialHybridVehicle, - ArchitectureID.UNKNOWN, - false, + ArchitectureID.S_IEPC, false, + true, false))); Bind<IXMLMultistepIntermediateReport>().To<HEV_CompletedBus_VIF>().Named(nameCombinationMethod.Invoke( diff --git a/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.0.9.xsd b/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.0.9.xsd index b86e14e43d69487abafc81f1daee4cf3b2fa1ee9..40fb837966e453d386c0f13c5961668cc4e455b0 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.0.9.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.0.9.xsd @@ -829,7 +829,7 @@ </xs:complexType> <xs:complexType name="Exempted_CompletedBusVehicleType"> <xs:sequence> - <xs:group ref="HEVCompletedBusVehicleTypeGroup"/> + <xs:group ref="ExemptedCompletedBusVehicleTypeGroup"/> </xs:sequence> </xs:complexType> <xs:simpleType name="RatedPowerType"> @@ -1043,6 +1043,45 @@ </xs:sequence> </xs:sequence> </xs:group> + <xs:group name="ExemptedCompletedBusVehicleTypeGroup"> + <xs:sequence> + <xs:group ref="GeneralVehicleSequenceGroup"/> + <xs:sequence> + <xs:element name="Manufacturers"> + <xs:complexType> + <xs:sequence maxOccurs="unbounded"> + <xs:element name="Step"> + <xs:complexType> + <xs:sequence> + <xs:element name="Manufacturer"/> + <xs:element name="ManufacturerAddress"/> + </xs:sequence> + <xs:attribute name="stepCount" type="xs:int"/> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:element name="Model" type="xs:string"/> + <xs:sequence> + <xs:element name="CorrectedActualMass"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:int"> + <xs:attribute name="unit" type="out:MassUnitType" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="ZeroEmissionVehicle" type="xs:boolean"/> + <xs:element name="HybridElectricHDV" type="xs:boolean"/> + <xs:element name="ClassBus" type="xs:string"/> + <xs:element name="TotalNumberOfPassengers" type="xs:int"/> + <xs:element name="VehicleTypeApprovalNumber" type="xs:string" minOccurs="0"/> + </xs:sequence> + </xs:sequence> + </xs:group> <xs:complexType name="EngineCapacityType"> <xs:simpleContent> <xs:extension base="xs:double"/> diff --git a/VectoMockup/VectoMockup/Ninject/CIFMockupModule.cs b/VectoMockup/VectoMockup/Ninject/CIFMockupModule.cs index 52520d882420791cc7d9c05a5c3497aa9ab93700..80dc0573315abdb38d7c46e0f7c9b8963e40b676 100644 --- a/VectoMockup/VectoMockup/Ninject/CIFMockupModule.cs +++ b/VectoMockup/VectoMockup/Ninject/CIFMockupModule.cs @@ -269,7 +269,12 @@ namespace TUGraz.VectoMockup.Ninject return _cifFactory.GetCompletedBusVehicleTypeGroup(); } - public IReportCompletedBusOutputGroup GetGeneralVehicleSequenceGroupWriterCompletedBus() + public IReportOutputGroup GetExemptedCompletedBusVehicleTypeGroup() + { + return _cifFactory.GetExemptedCompletedBusVehicleTypeGroup(); + } + + public IReportCompletedBusOutputGroup GetGeneralVehicleSequenceGroupWriterCompletedBus() { return _cifFactory.GetGeneralVehicleSequenceGroupWriterCompletedBus(); } @@ -294,6 +299,11 @@ namespace TUGraz.VectoMockup.Ninject return _cifFactory.GetPEVCompletedBusVehicleTypeGroup(); } + public IReportOutputGroup GetIEPCTransmissionGroup() + { + return _cifFactory.GetIEPCTransmissionGroup(); + } + #endregion } } \ No newline at end of file