用户组保存接口

业务场景

可以使用「用户组保存接口」保存或更新用户组,该接口内支持部分更新用户组的信息。

接口说明

  1. 接口支持批量导入多个用户组,单次导入最多支持10组数据
  2. 某个用户组的失败不会导致整体的失败
  3. 用户组子组导入,若员工工号不存在(employeeIds),则该用户组下所有子组同步失败
  4. 用户组子组导入,若子组的管理范围内的值部分不存在,不会导致整个子组失败
  5. fullReload字段true值慎用,会将原来的子组全部删除,如果在流程中被使用,则可能导致流程不正常运行。如不知哪些子组需要被删除,可以通过查询接口查询后比对再删除。

接口限制

 1. 10次/秒;
 2. 用户组子组一次导入数量不能大于50个,超出可以尝试使用该接口的增量模式分批次导入。

接口地址

用户组编辑接口

/api/openapi/usergroup

请求类型

POST

请求参数

参数说明

参数名称 类型 是否必填 参数说明
name string 用户组的名称 。
如名称已存在则视为更新操作,不存在则视为新增操作
nameEn string 用户组英文名称
bizCode string 否。如涉及改名动作,则其必填 用户组的编码 。
如编码不填,则以name为主键去匹配更新或新增动作(新增时,会自动生成一个唯一编码)。
categoryName string 分类名称 。
如分类名称已存在则认为用户组在该分类下,若分类名称不存在则创建该分类
不填则认为用户组在根目录下
comment string 用户组的描述信息
affiliatedCompanyBizCodes List<String> 用户组所属公司编码
source string
不填则认为其属于内部用户组,可以在每刻页面中被编辑
描述用户组来源

若填了改值,则每刻页面上会显示该用户组属于外部用户组,在每刻页面上会以只读形式出现
subUserGroups array 用户组子组
defaultSubUserGroup object 默认子组 。
如果是新增动作,则是;如果是修改动作,不填则认为不对默认子组做修改
fullReload boolean 是否覆盖更新 。
选择覆盖更新则会将子组的信息以覆盖的形式更新进用户组中,原来的用户子组会被删除,如已被使用则可能导致流程问题(慎用)。否则则是以增量的形式添加进用户组中。
默认:false

用户组子组(subUserGroups)

参数名称 类型 是否必填 参数说明
name string 子组名称
bizCode string 子组编码 。
若子组编码已存在则认为是更新动作,否则则认为是新增动作。
affiliatedCompanyBizCodes List<String> 子组所属公司编码
employeeIds array 员工工号
responsiblePersonIds array 子组负责人工号
conditions array 子组管理范围 。
每组条件之间为或关系。
每组条件内可以选择多个条件,为且关系

条件(conditions)

参数名 类型 是否必填 参数说明
departmentBizCodes List<String> 否 (保证这些条件有一个即可) 部门编码(承担部门)(含下级部门)
currentDepartmentBizCodes List<String> 否 (保证这些条件有一个即可) 部门编码(承担部门)(不含下级部门)
departmentBizCodesIncludeAllocations List<String> 否 (保证这些条件有一个即可) 部门编码(承担部门)(含分摊及其下级部门)
currentDepartmentBizCodesIncludeAllocations List<String> 否 (保证这些条件有一个即可) 部门编码(承担部门)(含分摊)(不含下级部门)
requestUserDepartmentBizCodes List<String> 否 (保证这些条件有一个即可) 提单人所在部门的编码 (含下级部门)
requestUserCurrentDepartmentBizCodes List<String> 否 (保证这些条件有一个即可) 提单人所在部门的编码(不含下级部门)
internalUserDepartmentBizCodes List<String> 否 (保证这些条件有一个即可) 内部参与人所在部门的编码 (含下级部门)
internalUserCurrentDepartmentBizCodes List<String> 否 (保证这些条件有一个即可) 内部参与人所在部门的编码(不含下级部门)
legalEntityBizCodes List<String> 否 (保证这些条件有一个即可) 公司抬头
referenceDatas List<referenceDatas> 否 (保证这些条件有一个即可) 自定义档案信息(内部档案)
externalReferenceDatas List<externalReferenceDatas> 否 (保证这些条件有一个即可) 自定义档案信息(外部档案)
shareReferenceDatas List<referenceDatas> 否 (保证这些条件有一个即可) 自定义档案信息(内部档案)(含分摊)
notExpression boolean 是否为非逻辑 。
true 表示 不属于
false 表示属于
默认为false
expenseTypeTotalAmountCondition object 费用类型合计金额条件

内部档案信息(referenceDatas)

参数名 类型 是否必填 参数说明
bizCode String 自定义档案编码(选项组)
detailBizCodes List<String> 该自定义档案中的选项编码。
两者需有关联关系,即保证选项在所填档案编码的档案中

新增内部档案信息(含分摊)(shareReferenceDatas)

参数名 类型 是否必填 参数说明
bizCode String 自定义档案编码(选项组)
detailBizCodes List<String> 该自定义档案中的选项编码。
两者需有关联关系,即保证选项在所填档案编码的档案中

外部档案信息(externalReferenceDatas)

参数名 类型 是否必填 参数说明
bizCode String 外部档案编码
details List<details> 外部档案内选项的信息

外部档案选项信息(details)

参数名 类型 是否必填 参数说明
bizCode String 选项的编码(保证其唯一性)(费控系统内全局唯一)
name String 选项的名称(保证其唯一性)

默认子组(defaultSubUserGroup)

参数名 类型 是否必填 参数说明
bizCode String 编码
employeeIds List<String> 员工工号

费用类型合计金额条件(expenseTypeTotalAmountCondition)

参数名 类型 是否必填 参数说明
expenseTypeTotalAmountComparison String 否(保证这些条件有一个即可) 费用类型合计金额比较符(>,>=,<,<=)
expenseTypeTotalAmountIncludedExpenseTypeBizCodes List<String> 否(当需要以费用类型合计金额作为管理范围的条件时,费用类型编码必填) 费用类型合计金额包含的费用类型编码
expenseTypeTotalAmount String 费用类型合计金额

参数示例

{
  "userGroups": [
    {
      "name": "部门主管",
      "nameEn": "userGroup EnglishName",
      "bizCode": "业务编码",
      "categoryName": "职级",
      "comment": "这是描述",
      "affiliatedCompanyBizCodes": [
        "00001",
        "00002"
      ],
      "source": "Maycur",
      "subUserGroups": [
        {
          "name": "测试分组",
          "bizCode": "subBizCode",
          "affiliatedCompanyBizCodes": [
            "00001",
            "00002"
          ],
          "employeeIds": [
            "Maycur003"
          ],
          "responsiblePersonIds": [
            "Maycur004"
          ],
          "conditions": [
            {
              "departmentBizCodes": [
                "departmentBizCode"
              ],
              "currentDepartmentBizCodes": [
                "departmentBizCode"
              ],
              "internalUserDepartmentBizCodes": ["internalUserDepartmentBizCodes"],
              "internalUserCurrentDepartmentBizCodes": ["internalUserCurrentDepartmentBizCodes"],
              "referenceDatas": [
                {
                  "bizCode": "referenceDataBizCode",
                  "details": [
                    "detailBizCode1",
                    "detailBizCode2"
                  ]
                }
              ],
              "externalReferenceDatas": [
                {
                  "bizCode": "externalReferenceDatas",
                  "details": [
                    {
                      "bizCode":"bizCode1",
                      "name":"name1"
                    }
                  ]
                }
              ],
              "notExpression": false,
              "expenseTypeTotalAmountCondition": {
                "expenseTypeTotalAmountComparison": ">=",
                "expenseTypeTotalAmountIncludedExpenseTypeBizCodes": [
                  "expenseTypeBizCode1",
                  "expenseTypeBizCode2"
                ],
                "expenseTypeTotalAmount": "100"
              }
            }
          ]
        }
      ],
      "defaultSubUserGroup": {
        "bizCode": "Maycur001",
        "employeeIds": [
          "Maycur003"
        ]
      },
      "fullReload": true
    }
  ]
}

响应参数

参数样例

  1. 正常响应参数示例
    {
    "success":true,
    "code": "ACK",
    "message": "保存成功!",
    "data": null
    }
    
  2. 错误返回示例
{
  "code": "NACK",
  "message": "保存失败!",
  "data": [
    {
      "userGroupName": "部门主管",
      "userGroupNameEn": "EnglishName",
      "errorMsg": "部门子组编码不能为空"
    }
  ],
  "success": false
}
{
  "code": "NACK",
  "message": "保存失败",
  "data": [
    {
      "userGroupName": "测试2333",
      "userGroupNameEn": null,
      "userGroupBizCode": "ces2333",
      "errorMsg": "子组编码为【Maycur001】的子组条件中具体的业务对象不存在!"
    }
  ],
  "errorCode": null,
  "success": false
}

errorCode 说明

编码 说明
SUB_USER_GROUP_NOT_EXISTED 用户组子组不存在
USER_GROUP_NOT_EXISTED 用户组不存在

常见报错说明

errorMsg错误提示 说明
子组编码为【Maycur001】的子组条件中具体的业务对象不存在! 【Maycur001】子组内conditions内存在空数组

修改记录

2022-01-19 新增
2023-11-03 添加条件:部门编码(承担部门)(含分摊)(不含下级部门)
Copyright © 杭州每刻科技有限公司 www.maycur.com all right reserved,powered by Gitbook该文件修订时间: 2024-11-20 10:52:00

results matching ""

    No results matching ""

    results matching ""

      No results matching ""