GDMN-Salary (Руководство разработчика)
м (→Классы, хранящиеся в клиентской БД) |
(→Классы, хранящиеся в клиентской БД) |
||
| Строка 1: | Строка 1: | ||
| + | === 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"}} | ||
| + | |||
| + | |||
=== Классы, хранящиеся в клиентской БД === | === Классы, хранящиеся в клиентской БД === | ||
Указаны лишь те поля, которые связаны с БД | Указаны лишь те поля, которые связаны с БД | ||
| Строка 320: | Строка 379: | ||
| | | | ||
|} | |} | ||
| + | |||
| + | |||
| + | |||
'''Класс PayslipItemModel''' | '''Класс PayslipItemModel''' | ||
{|border="1" cellpadding="2" cellspacing="0" style="border-collapse:collapse;" | {|border="1" cellpadding="2" cellspacing="0" style="border-collapse:collapse;" | ||
| Строка 361: | Строка 423: | ||
| double | | double | ||
| | | | ||
| + | |} | ||
| + | '''Класс PayslipModel''' | ||
| + | {|border="1" cellpadding="2" cellspacing="0" style="border-collapse:collapse;" | ||
| + | !style="background:#ffdead;"| Наименование | ||
| + | !style="background:#ffdead;"| Тип данных | ||
| + | !style="background:#ffdead;"| Описание | ||
| + | |- align="center" | ||
| + | | uid | ||
| + | | String | ||
| + | | PK записи | ||
| + | |- align="center" | ||
| + | | employeeKey | ||
| + | | String | ||
| + | | | ||
| + | |- align="center" | ||
| + | | payDate | ||
| + | | Date | ||
| + | | | ||
| + | |- align="center" | ||
| + | | employeeKey | ||
| + | | String | ||
| + | | | ||
| + | |- align="center" | ||
| + | | employee | ||
| + | | EmployeeModel | ||
| + | | | ||
| + | |- align="center" | ||
| + | | department | ||
| + | | String | ||
| + | | | ||
| + | |- align="center" | ||
| + | | position | ||
| + | | String | ||
| + | | | ||
| + | |- align="center" | ||
| + | | salary | ||
| + | | double | ||
| + | | | ||
| + | |- align="center" | ||
| + | | hourRate | ||
| + | | double | ||
| + | | | ||
| + | |- align="center" | ||
| + | | dependents | ||
| + | | int | ||
| + | | | ||
| + | |- align="center" | ||
| + | | items | ||
| + | | RealmList<PayslipItemModel> | ||
| + | | Начисления, Удержания, Налоги | ||
| + | |- align="center" | ||
| + | | benefits | ||
| + | | RealmList<PayslipBenefitModel> | ||
| + | | Льготы | ||
| + | |- align="center" | ||
| + | | deductions | ||
| + | | RealmList<PayslipDeductionModel> | ||
| + | | Вычеты | ||
| + | |} | ||
| + | '''Класс SyncGdMsgStateModel''' | ||
| + | {|border="1" cellpadding="2" cellspacing="0" style="border-collapse:collapse;" | ||
| + | !style="background:#ffdead;"| Наименование | ||
| + | !style="background:#ffdead;"| Тип данных | ||
| + | !style="background:#ffdead;"| Описание | ||
| + | |- align="center" | ||
| + | | uid | ||
| + | | String | ||
| + | | PK записи | ||
| + | |- align="center" | ||
| + | | statusIndex | ||
| + | | int | ||
| + | | UpdatedStatus {READED, DELETED} | ||
| + | |- align="center" | ||
| + | | gdMsgKey | ||
| + | | int | ||
| + | | | ||
| + | |} | ||
| + | '''Класс SyncMetaDataModel''' | ||
| + | {|border="1" cellpadding="2" cellspacing="0" style="border-collapse:collapse;" | ||
| + | !style="background:#ffdead;"| Наименование | ||
| + | !style="background:#ffdead;"| Тип данных | ||
| + | !style="background:#ffdead;"| Описание | ||
| + | |- align="center" | ||
| + | | uid | ||
| + | | int | ||
| + | | PK записи | ||
| + | |- align="center" | ||
| + | | addressServer | ||
| + | | String | ||
| + | | | ||
| + | |- align="center" | ||
| + | | authKey | ||
| + | | String | ||
| + | | | ||
| + | |- align="center" | ||
| + | | lastSyncDate | ||
| + | | String | ||
| + | | | ||
| + | |- align="center" | ||
| + | | lastSyncMsgDate | ||
| + | | String | ||
| + | | | ||
| + | |- align="center" | ||
| + | | gcmRegistrationId | ||
| + | | String | ||
| + | | | ||
| + | |- align="center" | ||
| + | | inviteCode | ||
| + | | String | ||
| + | | | ||
| + | |- align="center" | ||
| + | | permits | ||
| + | | boolean | ||
| + | | | ||
| + | |} | ||
| + | '''Класс TimesheetModel''' | ||
| + | {|border="1" cellpadding="2" cellspacing="0" style="border-collapse:collapse;" | ||
| + | !style="background:#ffdead;"| Наименование | ||
| + | !style="background:#ffdead;"| Тип данных | ||
| + | !style="background:#ffdead;"| Описание | ||
| + | |- align="center" | ||
| + | | uid | ||
| + | | String | ||
| + | | PK записи | ||
| + | |- align="center" | ||
| + | | dayTypeIndex | ||
| + | | int | ||
| + | | | ||
| + | |- align="center" | ||
| + | | employee | ||
| + | | EmployeeModel | ||
| + | | | ||
| + | |- align="center" | ||
| + | | description | ||
| + | | String | ||
| + | | | ||
| + | |- align="center" | ||
| + | | hours | ||
| + | | double | ||
| + | | | ||
| + | |- align="center" | ||
| + | | date | ||
| + | | Date | ||
| + | | | ||
| + | |- align="center" | ||
| + | | events | ||
| + | | RealmList<DayEventModel> | ||
| + | | | ||
| + | |} | ||
| + | '''Класс WorkScheduleModel''' | ||
| + | {|border="1" cellpadding="2" cellspacing="0" style="border-collapse:collapse;" | ||
| + | !style="background:#ffdead;"| Наименование | ||
| + | !style="background:#ffdead;"| Тип данных | ||
| + | !style="background:#ffdead;"| Описание | ||
| + | |- align="center" | ||
| + | | uid | ||
| + | | String | ||
| + | | PK записи | ||
| + | |- align="center" | ||
| + | | dayTypeIndex | ||
| + | | int | ||
| + | | | ||
| + | |- align="center" | ||
| + | | employee | ||
| + | | EmployeeModel | ||
| + | | | ||
| + | |- align="center" | ||
| + | | description | ||
| + | | String | ||
| + | | | ||
| + | |- align="center" | ||
| + | | hours | ||
| + | | double | ||
| + | | | ||
| + | |- align="center" | ||
| + | | date | ||
| + | | Date | ||
| + | | | ||
| + | |- align="center" | ||
| + | | events | ||
| + | | RealmList<DayEventModel> | ||
| + | | | ||
|} | |} | ||
| + | === Таблицы данных для приложения на сервере === | ||
[[Category:Документация]] | [[Category:Документация]] | ||
Версия 05:04, 1 февраля 2016
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 | String | PK записи |
| eventTypeIndex | String | Тип события дня. Строковое представление DayEventModel.EventType |
| workScheduleKey | String | |
| timesheetKey | String | |
| timeBegin | Date | |
| timeEnd | Date | |
| hours | double | |
| description | String | |
| isAllDay | boolean |
Класс DeviceInfoModel
| Наименование | Тип данных | Описание |
|---|---|---|
| uid | int | PK записи |
| phoneNumber | String | |
| deviceId | String | |
| deviceModel | String |
Класс EmployeeModel
| Наименование | Тип данных | Описание |
|---|---|---|
| uid | String | PK записи |
| firstname | String | |
| surname | String | |
| middlename | String | |
| passportId | String | |
| middlename | listNumber |
Класс ExRatesMonthlyModel
| Наименование | Тип данных | Описание |
|---|---|---|
| uid | String | 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 | String | PK записи |
| payslipKey | String | |
| date | Date | |
| name | String | |
| sum | double | |
| code | int |
Класс PayslipItemModel
| Наименование | Тип данных | Описание |
|---|---|---|
| uid | String | PK записи |
| categoryIndex | int | PayslipItemModel.Category |
| payslipKey | String | |
| date | Date | |
| name | String | |
| sum | double | |
| code | int | |
| debit | double | |
| credit | double |
Класс PayslipModel
| Наименование | Тип данных | Описание |
|---|---|---|
| uid | String | PK записи |
| employeeKey | String | |
| payDate | Date | |
| employeeKey | String | |
| employee | EmployeeModel | |
| department | String | |
| 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 записи |
| addressServer | String | |
| authKey | String | |
| lastSyncDate | String | |
| lastSyncMsgDate | String | |
| gcmRegistrationId | String | |
| inviteCode | String | |
| permits | boolean |
Класс TimesheetModel
| Наименование | Тип данных | Описание |
|---|---|---|
| uid | String | PK записи |
| dayTypeIndex | int | |
| employee | EmployeeModel | |
| description | String | |
| hours | double | |
| date | Date | |
| events | RealmList<DayEventModel> |
Класс WorkScheduleModel
| Наименование | Тип данных | Описание |
|---|---|---|
| uid | String | PK записи |
| dayTypeIndex | int | |
| employee | EmployeeModel | |
| description | String | |
| hours | double | |
| date | Date | |
| events | RealmList<DayEventModel> |