5.2.4. Функция getEtityLC

Материал из SATURN WIKI
Перейти к навигации Перейти к поиску

Функция getEtityLC

Описание: Список состояний (фаз) у ЖЦ [mainlc]

Параметры и пример POST запроса

com: getEtityLC

otype: PatProduct

opargs: {}

sid: SEAPISID:a91bfe083a71a23a1a3c2193403166dc7f3a1400c2aef98a7ebfc34923c6079c

Пример ответа сервера:

{

    "transId": null,

    "resCode": 200,

    "reqPerMin": null,

    "resMsg": null,

    "resDescription": null,

    "resData": {

        "targetObjAttr": null,

        "targetClass": "class fgisppa.statables.LC_BUC.BUC_210_PatProduct.PatProduct",

        "lifeCycleName": "mainlc",

        "startState": "draft",

        "states": [

            {

                "stateName": "actual",

                "title": "актуально",

                "operations": [

                    {

                        "operationName": "actual/undoSetActual()",

                        "title": "отмена операции принятия к учету",

                        "description": "перевести карточку в состояние 'черновик' (из актуального).",

                        "args": [],

                        "results": []

                    },

                    {

                        "operationName": "actual/setArchived()",

                        "title": "в архив",

                        "description": "перевести карточку в состояние архив - устаревшая или уже не актуальная информация.",

                        "args": [],

                        "results": []

                    }

                ]

            },

            {

                "stateName": "archived",

                "title": "архив",

                "operations": []

            },

            {

                "stateName": "canceled",

                "title": "архив",

                "operations": []

            },

            {

                "stateName": "[static]",

                "title": "[статические операции]",

                "operations": [

                    {

                        "operationName": "static/getList()",

                        "title": "просмотреть список",

                        "description": "отдает перечень заголовокв объектов объектов",

                        "args": [

                            {

                                "argName": "pos",

                                "titlle": "смещение, начало",

                                "description": "смещение начала списка, c нуля,\nпо умолчанию 0",

                                "type": "int",

                                "typeSpecs": null

                            },

                            {

                                "argName": "size",

                                "titlle": "длина списка",

                                "description": "длина списка, от единицы. \nпо умолчанию (если не указано)  100, минимум 2, максимум 500",

                                "type": "int",

                                "typeSpecs": null

                            },

                            {

                                "argName": "getFullCards",

                                "titlle": "полные карточки?",

                                "description": "1 - возвращать полносериалихованные карточки в objList, или 0 - только перечень атрибутов, в attrTable \n по умолчанию 1",

                                "type": "int",

                                "typeSpecs": null

                            },

                            {

                                "argName": "filters",

                                "titlle": "фильтры",

                                "description": "Json String, json array объектов описанием условий фильтра. например \"[ {'column':'colName','condition':'=','value':'value'}, {...}, ..., {...}]\". при этом value может быть числом, строкой, или массивом строк или чисел.  перечисленные условия объединяются по AND.",

                                "type": "String",

                                "typeSpecs": null

                            },

                            {

                                "argName": "orderBy",

                                "titlle": "колонки сортировки",

                                "description": "Json String, json array строк с именами колонок. например \"['colNameA','colNameB', ... , 'colNameZ']\"",

                                "type": "String",

                                "typeSpecs": null

                            }

                        ],

                        "results": [

                            {

                                "retName": "objList",

                                "titlle": "список объектов",

                                "description": "'связанный' json-массив HRJSON-объектов (глубокая сериализация сущностей с агрегацией всех ссылочных объектов).\nотдается, если не отдается attrTable",

                                "type": "String"

                            },

                            {

                                "retName": "attrTable",

                                "titlle": "таблица атрибутов",

                                "description": "JSON массив, 2-мерный. Первая строка - это имена заголовков. в конец добалвются колонки с суффиксами '__NAME' для указания имен ссылочных объектов.\nотдается, если не отдается objList",

                                "type": "String"

                            }

                        ]

                    },

                    {

                        "operationName": "static/createNew()",

                        "title": "создать объект",

                        "description": "конструктор нового объекта",

                        "args": [],

                        "results": [

                            {

                                "retName": "objList",

                                "titlle": "список объектов, 1 объект",

                                "description": "Объект который создан'связанный' json-массив HRJSON-объектов (глубокая сериализация сущностей с агрегацией всех ссылочных объектов).\nотдается, если не отдается attrTable",

                                "type": "String"

                            }

                        ]

                    }

                ]

            },

            {

                "stateName": "draft",

                "title": "черновик",

                "operations": [

                    {

                        "operationName": "draft/updateCard()",

                        "title": "изменить карточку сущности",

                        "description": "Команда для изменения структуры объекта имеющегося на сервере - обновления полей (в том числе и частичного), \n добавления или удаления строк табличной части и пр. \n Все присылаемые id должны соответствовать тем, что уже есть на сервере.\n",

                        "args": [

                            {

                                "argName": "theCard",

                                "titlle": "карточка объекта",

                                "description": "Карточка объекта, сериализованная в HRJSON,\nили простой JSON объект с именами полей равными изменяемым атрибутам объекта,\n\nВо всех json-объектах обязательными являются 2 поля : \n * '_class' с полным именем java-класса (пакеты и имя класса),\n * '_id' c идентификатором объекта в хранилищах бизнес-слоя. \n\nТабличные части передаются в поле '_tparts' - это должен быть json-объект, \nс полями равными именам табличных частей, в которых лежат массивы объектов с даннвми строк табличных частей.\n\nПри разборе значений анализируются значения только первого уровня, \nт.е. их непосредственные значения (а для вложенных hr-json объектов в FK-полях - поле '_id') \nВложенные hr-json объекты не создаются! \n\nДОБАВНИЕ СТРОК ТЧ: Если объект в ТЧ приведен с '_id'='-1' - строка табличной части будет создана.\n\nУДАЛЕНИЕ СТРОК ТЧ: Если объект в ТЧ приведен с существующим '_id', но \nи присутствует спец атрибут '_toDelete' со значением 'true' - значит \nстрока ТЧ будет удалена. \n\nПРОПУСК СТРОК ТЧ: Если строка в ТЧ приведена (есть '_id' и '_class'), \nно не приводятся атриубты - значит объект меняться не будет, и не будет удаляться.\n\nЕсли строка в ТЧ не приведена (объект пропущен), \nстрока в ТЧ не будет обновляться, и не будет удаляться.\n\nТаким образом, имеет смысл приводить только изменяемые/обновляемые строки в ТЧ.\n\nПеречни атрибутов рассматриваются как те которые моно изменять. \nЕсли атрибуты будут пропущены, они не будут изменены.\n\nНа список допустимых для обновления атрибутов и возможность добавлять/убитрать строки табличной части,\nмогут быть наложены ограничения - см .typeSpecs аргумента theCard",

                                "type": "commons.storages.flatObjects.AMDObject",

                                "typeSpecs": [

                                    "*",

                                    "*[]+-",

                                    "*[].*"

                                ]

                            },

                            {

                                "argName": "comment",

                                "titlle": "Комментарий к операции",

                                "description": "заметки оператора, о том, зачем он совершает эту операцию,\n",

                                "type": "String",

                                "typeSpecs": null

                            }

                        ],

                        "results": []

                    },

                    {

                        "operationName": "draft/setActual()",

                        "title": "в работу",

                        "description": "перевести карточку в состояние 'актуально' - актуальная информация для применения.",

                        "args": [],

                        "results": []

                    },

                    {

                        "operationName": "draft/setCanceled()",

                        "title": "отменить черновик",

                        "description": "перевести карточку в состояние 'отменено' - информация которая не была в работе, или признана ошибочно заведенной.",

                        "args": [],

                        "results": []

                    }

                ]

            },

            {

                "stateName": "[any]",

                "title": "[все состояния]",

                "operations": [

                    {

                        "operationName": "any/getFullCard()",

                        "title": "получить полную карточку сущности",

                        "description": "отдает 'глубокую сериализаци' карточки сущности",

                        "args": [],

                        "results": []

                    },

                    {

                        "operationName": "any/clone()",

                        "title": "скопировтаь объект",

                        "description": "создает копию записи, в отношении которой был вызван в состоянии черновик",

                        "args": [],

                        "results": [

                            {

                                "retName": "objList",

                                "titlle": "список объектов, 1 объект",

                                "description": "Объект который был создан'связанный' json-массив HRJSON-объектов (глубокая сериализация сущностей с агрегацией всех ссылочных объектов).\n",

                                "type": "HrJson"

                            }

                        ]

                    },

                    {

                        "operationName": "any/getPrintForm()",

                        "title": "получить печатную форму карточки",

                        "description": "отдает печатную форму карточки в формате excel",

                        "args": [],

                        "results": []

                    }

                ]

            }

        ]

    }

}