Files
excelConverter/pkg/ecalc/ecalc.go
2021-02-28 11:04:15 +01:00

91 lines
3.5 KiB
Go

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"`
}
// 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"`
Aspects []Aspect `json:"aspects"`
IsPositive bool `json:"isPositive"`
}