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 int PK
eventTypeIndex int Тип события дня [DayEventModel.EventType]
timeBegin Date Время начала
timeEnd Date Время окончания
hours double Продолжительность, часов
description String Описание
isAllDay boolean Продолжительность: весь день

Класс DeviceInfoModel - информация об устройстве

Наименование Тип данных Описание
uid int PK
phoneNumber String MSISDN
deviceId String Уникальный идентификатор устройства [IMEI for GSM, MEI for GSM, MEID/ESN for CDMA phones, else: android_id]
deviceModel String Модель устройства

Класс EmployeeModel - сотрудник

Наименование Тип данных Описание
uid int PK
firstname String Имя
surname String Фамилия
middlename String Отчество
passportId String ID паспорта
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 Cообщение, на которое ответ (для серверных сообщений)

Класс GdMsgIncomeModel - заявка о справке о доходах

Наименование Тип данных Описание
uid int PK
dateBegin Date Дата начала
dateEnd Date Дата окончания
requestGdMsgModel GdMsgModel Cообщение, на которое ответ (для серверных сообщений)

Класс GdMsgInfoModel - информационное сообщение

Наименование Тип данных Описание
uid int PK
requestGdMsgModel GdMsgModel Cообщение, на которое ответ (для серверных сообщений)

Класс 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 Cообщение, на которое ответ (для серверных сообщений)

Класс GdMsgVacationModel - заявка об отпуске

Наименование Тип данных Описание
uid int PK
typeIndex int Тип отпуска [GdMsgVacationModel.Type]
dateBegin Date Дата начала
dateEnd Date Дата окончания
requestGdMsgModel GdMsgModel Cообщение, на которое ответ (для серверных сообщений)

Класс PayslipBenefitModel - льгота расчетного литка

Наименование Тип данных Описание
uid int PK
date Date Дата
name String Наименование
sum double Сумма
code int Код льготы

Класс PayslipDeductionModel - вычет расчетного листка

Наименование Тип данных Описание
uid int PK
date Date Дата
name String Наименование
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
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 Тип состояния [SyncGdMsgStateModel.UpdatedStatus]
gdMsgKey int GdMsg.uid сообщения

Класс SyncMetaDataModel - мета-данные для синхронизации

Наименование Тип данных Описание
uid int PK
scheme String Схема веб-протокола
addressServer String Адрес
authKey String Авторизационный ID
lastSyncDate String Дата последней синхронизации
lastSyncMsgDate String Дата последней синхронизации сообщений
gcmRegistrationId String ID девайса в Google Cloud Messaging
inviteCode String Инвайт-код
permits boolean Наличие права доступа к данным
lostMode boolean Режим потерянного девайса

Класс TimesheetModel - табель рабочего времени за день

Наименование Тип данных Описание
uid int PK
dayTypeIndex int Тип дня [DayType]
employee EmployeeModel Сотрудник
description String Описание
hours double Продолжительность, часов
date Date Дата
events RealmList<DayEventModel> Список событий

Класс WorkScheduleModel - рабочий график на день

Наименование Тип данных Описание
uid int PK
dayTypeIndex int Тип дня [DayType]
employee EmployeeModel Сотрудник
description String Описание
hours double Продолжительность, часов
date Date Дата
events RealmList<DayEventModel> Список событий

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

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

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