GDMN-Salary (Руководство разработчика)
Web-server API
Запрос к серверу ?token=REQUEST_PARAM_TOKEN & param=value ...
ip_address app_version_code
auth_key для всех кроме авторизации
header
Content-Type: application/json; charset=utf-8
объекты передаются в формате json
токены прописаны в скрипте...
Ответ сервера
{"cl":"SyncHeader", "params":{"f1":"v1","f2":"v2","f3":"v3"}} {}
client timeouts:
ConnectTimeout - 60 сек ReadTimeout - 60 с
RequestMethod: GET
RealmSyncObject {
String cl - не null List<Link> master - может быть null List<Link> link - может быть null <T extends RealmObject> obj - не null boolean deleted
}
Link {
String cl - не null String uid - не null String field - не null
}
Пример данных для EmployeeModel, PayslipModel и PayslipItemModel:
{cl:"EmployeeModel", obj:{uid:"123", ...}}
{cl:"PayslipModel", link:[{cl:"EmployeeModel", uid:"123", field:"employee"}], obj:{uid:"456", ...}}
{cl:"PayslipItemModel", master:[{cl:"PayslipModel", uid:"456", field:"items"}], obj:{...}}
Пример данных для EmployeeModel, TimesheetModel, WorkscheduleModel и DayEventModel:
{cl:"EmployeeModel", obj:{uid:"123", ...}}
{cl:"TimesheetModel", link:[{cl:"EmployeeModel", uid:"123", field:"employee"}], obj:{uid:"456", ...}}
{cl:"WorkscheduleModel", link:[{cl:"EmployeeModel", uid:"123", field:"employee"}], obj:{uid:"789", ...}}
{cl:"DayEventModel", master:[{cl:"TimesheetModel", uid:"456", field:"events"}, {cl:"WorkscheduleModel", uid:"789", field:"events"}], obj:{...}}
Пример удаления записи:
{cl:"EmployeeModel", delete:"true", obj:{uid:"123"}}
Классы, хранящиеся в клиентской БД
Указаны лишь те поля, которые связаны с БД
Класс DayEventModel
| Наименование | Тип данных | Описание |
|---|---|---|
| uid | int | PK записи |
| eventTypeIndex | int | Тип события дня DayEventModel.EventType |
| timeBegin | Date | |
| timeEnd | Date | |
| hours | double | |
| description | String | |
| isAllDay | boolean |
Класс DeviceInfoModel
| Наименование | Тип данных | Описание |
|---|---|---|
| uid | int | PK записи |
| phoneNumber | String | |
| deviceId | String | |
| deviceModel | String |
Класс EmployeeModel
| Наименование | Тип данных | Описание |
|---|---|---|
| uid | int | PK записи |
| firstname | String | |
| surname | String | |
| middlename | String | |
| passportId | String | |
| listNumber | String |
Класс ExRatesMonthlyModel
| Наименование | Тип данных | Описание |
|---|---|---|
| uid | int | PK записи |
| onDate | Date | |
| usdRate | double | |
| eurRate | double |
Класс GdMsgAbsenceModel
| Наименование | Тип данных | Описание |
|---|---|---|
| uid | int | PK записи |
| typeIndex | int | GdMsgAbsenceModel.Type |
| dateBegin | Date | |
| dateEnd | Date | |
| requestGdMsgModel | GdMsgModel | для серверных сообщений - сообщение на которое ответ |
Класс GdMsgIncomeModel
| Наименование | Тип данных | Описание |
|---|---|---|
| uid | int | PK записи |
| dateBegin | Date | |
| dateEnd | Date | |
| requestGdMsgModel | GdMsgModel | для серверных сообщений - сообщение на которое ответ |
Класс GdMsgInfoModel
| Наименование | Тип данных | Описание |
|---|---|---|
| uid | int | PK записи |
| requestGdMsgModel | GdMsgModel | для серверных сообщений - сообщение на которое ответ |
Класс GdMsgModel
| Наименование | Тип данных | Описание |
|---|---|---|
| uid | int | PK записи |
| requestStatusIndex | int | GdMsgModel.RequestStatus |
| subjectIndex | int | GdMsgModel.Subject |
| senderIndex | int | GdMsgModel.Sender |
| isUnread | boolean | |
| timestamp | Date | |
| msg | String | |
| comment | String | |
| gdMsgString | String | |
| gdMsgAbsenceModel | GdMsgAbsenceModel | |
| gdMsgIncomeModel | GdMsgIncomeModel | |
| gdMsgVacationModel | GdMsgVacationModel | |
| gdMsgInfoModel | GdMsgInfoModel | |
| gdMsgVacationInfoModel | GdMsgVacationInfoModel |
Класс GdMsgVacationInfoModel
| Наименование | Тип данных | Описание |
|---|---|---|
| uid | int | PK записи |
| dateBegin | Date | |
| dateEnd | Date | |
| requestGdMsgModel | GdMsgModel | для серверных сообщений - сообщение на которое ответ |
Класс GdMsgVacationModel
| Наименование | Тип данных | Описание |
|---|---|---|
| uid | int | PK записи |
| typeIndex | int | GdMsgVacationModel.Type |
| dateBegin | Date | |
| dateEnd | Date | |
| requestGdMsgModel | GdMsgModel | для серверных сообщений - сообщение на которое ответ |
Класс PayslipBenefitModel
| Наименование | Тип данных | Описание |
|---|---|---|
| uid | int | PK записи |
| date | Date | |
| name | String | |
| sum | double | |
| code | int |
Класс PayslipDeductionModel
| Наименование | Тип данных | Описание | ||||
|---|---|---|---|---|---|---|
| uid | int | PK записи | ||||
| date | Date | |||||
| name | String | - align="center" | deductionKind | String | вид вычета | |
| sum | double | |||||
| code | int |
Класс PayslipItemModel
| Наименование | Тип данных | Описание |
|---|---|---|
| uid | int | PK записи |
| categoryIndex | int | PayslipItemModel.Category |
| date | Date | |
| name | String | |
| code | int | |
| debit | double | |
| credit | double |
Класс PayslipModel
| Наименование | Тип данных | Описание |
|---|---|---|
| uid | int | PK записи |
| employeeKey | String | |
| payDate | Date | |
| employee | EmployeeModel | |
| department | String | |
| isFinal | boolean | |
| position | String | |
| salary | double | |
| hourRate | double | |
| dependents | int | |
| items | RealmList<PayslipItemModel> | Начисления, Удержания, Налоги |
| benefits | RealmList<PayslipBenefitModel> | Льготы |
| deductions | RealmList<PayslipDeductionModel> | Вычеты |
Класс SyncGdMsgStateModel
| Наименование | Тип данных | Описание |
|---|---|---|
| uid | String | PK записи |
| statusIndex | int | UpdatedStatus {READED, DELETED} |
| gdMsgKey | int |
Класс SyncMetaDataModel
| Наименование | Тип данных | Описание |
|---|---|---|
| uid | int | PK записи |
| scheme | String | |
| addressServer | String | |
| authKey | String | |
| lastSyncDate | String | |
| lastSyncMsgDate | String | |
| gcmRegistrationId | String | |
| inviteCode | String | |
| permits | boolean | |
| lostMode | boolean |
Класс TimesheetModel
| Наименование | Тип данных | Описание |
|---|---|---|
| uid | int | PK записи |
| dayTypeIndex | int | |
| employee | EmployeeModel | |
| description | String | |
| hours | double | |
| date | Date | |
| events | RealmList<DayEventModel> |
Класс WorkScheduleModel
| Наименование | Тип данных | Описание |
|---|---|---|
| uid | int | PK записи |
| dayTypeIndex | int | |
| employee | EmployeeModel | |
| description | String | |
| hours | double | |
| date | Date | |
| events | RealmList<DayEventModel> |