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_org_admin(组织管理表),左连 T_Org_admin(取上级组织信息)、
* T_Org_LayerType(组织类型表),按修改时间降序排列。
*
*
* 入参说明
*
* | 参数名 | 类型 | 必填 | 说明 |
* | layerType | String | 否 | 组织类型,支持逗号分隔多个值(如:公司、部门、集团、中心、子中心、公司(新)),精确匹配 |
* | modifyDate | String | 否 | 最后修改日期(yyyy-MM-dd),查询该日期及之后修改的组织 |
* | name | String | 否 | 组织名称,左模糊匹配 |
* | code | String | 否 | 组织编号,精确匹配 |
* | size | int | 否 | 每页条数,默认100,最大1000 |
* | page | int | 否 | 页码,默认1 |
*
*
* 返回值说明
*
* | 字段 | 类型 | 说明 |
* | code | String | 状态码(200:成功,500:异常) |
* | msg | String | 提示信息 |
* | page | int | 当前页码 |
* | size | int | 每页条数 |
* | data | List | 组织列表,每项字段见下方 |
*
* data 列表中每项包含以下字段:
*
* | 字段 | 类型 | 说明 |
* | id | String | 主键ID |
* | name | String | 组织名称 |
* | fullname | String | 组织全称(显示名) |
* | code | String | 组织编号 |
* | parent | String | 上级组织编号 |
* | fullnumber | String | 组织全编码(长编码层级路径) |
* | disporder | String | 显示排序号 |
* | status | String | 是否启用("1":有效,"0":封存,与数据库 fissealup 字段取反) |
* | description | String | 备注说明 |
* | modifyDate | String | 修改日期(yyyy-MM-dd,当前版本不返回此字段,如需返回请取消注释) |
* | layerType | String | 组织类型名称 |
*
*
* @author szpgm
* @since 1.0.0
*/
public class GetOrgInfoOsfService implements IHRMsfService {
/**
* 查询组织基础信息(分页接口)。
*
* 根据组织类型、修改日期、名称、编号等条件组合查询,支持分页返回。
* 组织类型支持逗号分隔的多个值,名称按左模糊匹配,编号精确匹配。
*
*
* @param context EAS 平台上下文对象
* @param map 入参,支持以下 key(均为可选):
*
* - layerType — 组织类型,逗号分隔多个值,精确匹配
* - modifyDate — 最后修改日期(yyyy-MM-dd),查询该日期及之后的数据
* - name — 组织名称,左模糊匹配
* - code — 组织编号,精确匹配
* - page — 页码,默认1
* - size — 每页条数,默认100,上限1000
*
* @return {@code Map},包含以下 key:
*
* - code — 状态码("200" 成功,"500" 异常)
* - msg — 提示信息
* - page — 当前页码
* - size — 每页条数
* - data — 组织信息列表({@code List
*
* @throws EASBizException 业务异常
* @throws BOSException 平台异常
*/
@Override
public Object process(Context context, Map map) throws EASBizException, BOSException {
Map result = new HashMap();
List