package com.kingdee.eas.custom.szpgm.osf.service;
import com.kingdee.bos.BOSException;
import com.kingdee.bos.Context;
import com.kingdee.bos.bsf.service.app.IHRMsfService;
import com.kingdee.eas.common.EASBizException;
import com.kingdee.eas.util.app.DbUtil;
import com.kingdee.jdbc.rowset.IRowSet;
import org.apache.commons.lang3.StringUtils;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 获取角色/角色成员信息接口(分管领导接口)
*
* 根据修改日期、角色名称、角色编号等条件分页查询角色成员-角色关联信息,
* 包含角色名称、编号、类型、状态以及人员关联关系等字段。
* 数据来源于 T_WFR_PERSONROLE(人员-角色关联表),左连 T_WFR_WFROLE(工作流角色表)、
* t_org_admin(行政组织表)、t_bd_person(员工基础信息表)等。
*
*
* 关联数据表
*
* - T_WFR_PERSONROLE(prole)—— 人员-角色关联表,主表
* - T_WFR_WFROLE(role)—— 工作流角色表
* - t_org_admin(org)—— 行政组织表
* - t_bd_person(pe)—— 员工基础信息表
* - t_bd_person(dpe)—— 员工基础信息表(二次关联,取委托操作人信息)
*
*
* 入参说明
*
* modifyDate - 最后修改日期(yyyy-MM-dd),同时过滤角色-角色成员关联的最后修改时间
* name - 角色名称(左模糊匹配)
* code - 角色编号(精确匹配)
* size - 每页条数(可选,默认100,最大1000)
* page - 页码(可选,默认1)
*
*
* 返回值说明
*
* code - 状态码(200:成功, 500:异常)
* msg - 提示信息
* page - 当前页码
* size - 每页条数
* data - 角色负责人列表,每项包含:
* id - 主键(人员-角色关联表主键)
* roleid - 角色ID(关联 T_WFR_WFROLE.FID)
* orgCode - 组织编号
* personCode - 人员编号
* isinclude - 是否包含下级
* isdele - 是否委托
* deleperson - 委托操作人编号
* rolename - 角色名称
* rolenumber - 角色编号
* roledescribe- 角色描述
* roletype - 角色类型
* state - 角色状态
*
*
* @author szpgm
* @since 1.0.0
*/
public class GetRoleSupervisorInfoOsfService implements IHRMsfService {
/**
* 处理角色-角色成员信息查询请求
*
* @param context 上下文对象
* @param map 入参,支持以下 key:
*
* - modifyDate - 最后修改日期(可选,yyyy-MM-dd)
* - name - 角色名称(可选,左模糊匹配)
* - code - 角色编号(可选,精确匹配)
* - page - 页码(可选,默认1)
* - size - 每页条数(可选,默认100,最大1000)
*
* @return Map<String, Object>,包含 code、msg、page、size、data 字段
* @throws EASBizException 业务异常
* @throws BOSException 平台异常
*/
@Override
public Object process(Context context, Map map) throws EASBizException, BOSException {
Map result = new HashMap();
List