GDMN-Salary (Руководство разработчика)

Материал из GedeminWiki
Перейти к: навигация, поиск

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>


Таблицы данных для приложения на сервере

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты