package ecalc import ( "encoding/json" "io" ) type Ecalc struct { ID int `json:"id,omitempty"` Type string `json:"type"` Version string `json:"version"` CompanyFacts CompanyFacts `json:"companyFacts"` Matrix Matrix `json:"matrix"` } // EncodeJSON writes the JSON of the conf into the Writer func (e Ecalc) EncodeJSON(w io.Writer) error { enc := json.NewEncoder(w) enc.SetIndent("", " ") return enc.Encode(e) } type CompanyFacts struct { ID int `json:"id,omitempty"` TotalPurchaseFromSuppliers int `json:"totalPurchaseFromSuppliers"` TotalStaffCosts int `json:"totalStaffCosts"` Profit int `json:"profit"` FinancialCosts int `json:"financialCosts"` IncomeFromFinancialInvestments int `json:"incomeFromFinancialInvestments"` AdditionsToFixedAssets int `json:"additionsToFixedAssets"` Turnover int `json:"turnover"` TotalAssets int `json:"totalAssets"` FinancialAssetsAndCashBalance int `json:"financialAssetsAndCashBalance"` SupplyFractions []SupplyFraction `json:"supplyFractions"` EmployeesFractions []EmployeesFraction `json:"employeesFractions"` IndustrySectors []IndustrySector `json:"industrySectors"` NumberOfEmployees int `json:"numberOfEmployees"` HasCanteen bool `json:"hasCanteen"` IsB2B bool `json:"isB2B"` AverageJourneyToWorkForStaffInKm float64 `json:"averageJourneyToWorkForStaffInKm"` Rating Rating `json:"rating"` } type SupplyFraction struct { ID int `json:"id,omitempty"` IndustryCode string `json:"industryCode"` CountryCode string `json:"countryCode"` Costs int `json:"costs"` } type EmployeesFraction struct { ID int `json:"id,omitempty"` CountryCode string `json:"countryCode"` Percentage float64 `json:"percentage"` } type IndustrySector struct { ID int `json:"id,omitempty"` IndustryCode string `json:"industryCode"` AmountOfTotalTurnover int `json:"amountOfTotalTurnover"` Description string `json:"description"` } type Rating struct { Topics []Topic `json:"topics"` } type Topic struct { Points int `json:"points"` MaxPoints float64 `json:"maxPoints"` ID int `json:"id,omitempty"` ShortName string `json:"shortName"` Name string `json:"name"` Estimations int `json:"estimations"` Weight float64 `json:"weight"` IsWeightSelectedByUser bool `json:"isWeightSelectedByUser"` Aspects []Aspect `json:"aspects"` } type Aspect struct { Points int `json:"points"` MaxPoints float64 `json:"maxPoints"` ID int `json:"id,omitempty"` ShortName string `json:"shortName"` Name string `json:"name"` Estimations int `json:"estimations"` Weight float64 `json:"weight"` IsWeightSelectedByUser bool `json:"isWeightSelectedByUser"` IsPositive bool `json:"isPositive"` } type Matrix struct { Topics []MatrixTopic `json:"topics"` } type MatrixTopic struct { ShortName string `json:"shortName"` Name string `json:"name"` Points int `json:"points"` MaxPoints int `json:"maxPoints"` PercentageReached int `json:"percentageReached"` NotApplicable bool `json:"notApplicable"` }