ess-etl-go/pkg/domain/employee_wi.go

49 lines
2.1 KiB
Go
Raw Normal View History

package domain
import (
"encoding/xml"
"go.mongodb.org/mongo-driver/bson/primitive"
)
type WorkInfo struct {
EmployeeNumber int `xml:"EmployeeNumber" json:"employee_number" bson:"employee_number"`
Date string `xml:"Date" json:"date" bson:"date"`
Shifts []Shift `xml:"Shifts>Shift" json:"shifts" bson:"shifts"`
}
type Shift struct {
Start string `xml:"Start" json:"start" bson:"start"`
End string `xml:"End" json:"end" bson:"end"`
ShiftCode string `xml:"ShiftCode" json:"shift_code" bson:"shift_code"`
ActualStart string `xml:"ActualStart" json:"actual_start" bson:"actual_start"`
ActualEnd string `xml:"ActualEnd" json:"actual_end" bson:"actual_end"`
RoleCode string `xml:"RoleCode" json:"role_code" bson:"role_code"`
ShiftCategoryCode string `xml:"ShiftCategoryCode" json:"shift_category_code" bson:"shift_category_code"`
CustomFields []CustomField `xml:"CustomFields>CustomField" json:"custom_fields" bson:"custom_fields"`
}
type Baseline struct {
BaselineType string `xml:"BaselineType,attr" json:"baseline_type" bson:"baseline_type"`
Shifts []Shift `xml:"Shifts>Shift" json:"shifts" bson:"shifts"`
}
type CustomField struct {
Name string `xml:"Name" json:"name" bson:"name"`
Value string `xml:"Value" json:"value" bson:"value"`
}
type EmployeeWorkInformation struct {
ID primitive.ObjectID `json:"id" bson:"_id"`
EmployeeNumber int `xml:"EmployeeNumber" json:"employee_number" bson:"employee_number"`
Date string `xml:"Date" json:"date"`
WorkInformation WorkInfo `xml:"WorkInformation" json:"work_information" bson:"work_information"`
Baselines []Baseline `json:"baselines" bson:"baselines"`
CustomFields []CustomField `json:"custom_fields" bson:"custom_fields"`
}
type ArrayOfEmployeeWorkInformation struct {
XMLName xml.Name `xml:"ArrayOfEmployeeWorkInformation"`
EmployeeWorkInfos []EmployeeWorkInformation `xml:"EmployeeWorkInformation"`
}