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.*;
/**
* 获取岗位信息接口
*
* 根据修改日期、岗位名称、岗位编号等条件分页查询岗位基础信息,
* 包含岗位名称、编号、所属组织、上级岗位、是否负责人岗等字段。
* 数据来源于 t_org_position(岗位表),左连 t_org_admin(行政组织表)、
* t_org_position(二次关联,取上级岗位信息),按修改时间降序排列。
*
*
* 关联数据表
*
* - t_org_position(pos)—— 岗位表,主表
* - t_org_admin(org)—— 行政组织表
* - t_org_position(ppos)—— 岗位表(二次关联,通过 fparentid 取上级岗位信息)
*
*
* 入参说明
*
* modifyDate - 修改日期(可选,yyyy-MM-dd,范围过滤:岗位或人员职位 >= 该日期)
* name - 岗位名称(可选,左模糊匹配)
* code - 岗位编号(可选,精确匹配)
* size - 每页条数(可选,默认100,最大1000)
* page - 页码(可选,默认1)
*
*
* 返回值说明
*
* code - 状态码(200:成功, 500:异常)
* msg - 提示信息
* page - 当前页码
* size - 每页条数
* data - 岗位列表,每项包含:
* id - 主键
* name - 岗位名称
* code - 岗位编号
* department - 所属组织编号
* parent - 上级岗位编号
* vice - 部门副职(1:是, 0:否)
* disporder - 显示顺序
* description - 备注
* isrespposition - 是否负责人岗(1:是, 0:否)
*
*
* @author szpgm
* @since 1.0.0
*/
public class GetPosInfoOsfService 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