| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- package com.kingdee.eas.custom.dataconfig.utils.service;
- import com.alibaba.fastjson.JSONArray;
- import com.kingdee.bos.BOSException;
- import com.kingdee.bos.Context;
- import com.kingdee.bos.bsf.service.app.IHRMsfService;
- import com.kingdee.bos.metadata.entity.EntityObjectInfo;
- import com.kingdee.eas.common.EASBizException;
- import com.kingdee.eas.custom.dataconfig.utils.SqlUtils;
- import java.util.Map;
- /**
- * 获取选择字段的服务类
- * 实现IHRMsfService接口,用于在金蝶EAS平台中处理获取指定实体选择字段的业务请求
- */
- public class GetSelectFieldService implements IHRMsfService {
- /**
- * 处理业务请求的核心方法
- * 实现IHRMsfService接口的process方法,用于接收请求参数并返回处理结果
- * @param context 系统上下文对象,包含用户信息、会话等上下文数据
- * @param map 存放请求参数的Map集合,包含业务所需的输入参数
- * @return 处理结果,返回JSONArray类型的选择字段信息
- * @throws EASBizException 抛出EAS业务异常,用于处理业务逻辑错误
- * @throws BOSException 抛出BOS平台异常,用于处理平台级错误
- */
- @Override
- public Object process(Context context, Map map) throws EASBizException, BOSException {
- // 从请求参数map中获取键为"entryFull1"的值,该值通常代表实体的完整标识(如实体全路径)
- Object o = map.get("entryFull1");
- // 从请求参数map中获取键为"alias"的值,该值通常代表实体的别名(用于筛选字段)
- Object o1 = map.get("alias");
- // 判断"entryFull1"对应的参数是否为空
- if(o==null){
- // 若"entryFull1"为空,则抛出运行时异常,提示"编号不能为空"
- throw new RuntimeException("编号不能为空");
- }
- // 将"entryFull1"的参数值转换为字符串类型,便于后续使用
- String entryFull1 = o.toString();
- // 创建SqlUtils工具类的实例,用于调用其提供的工具方法
- SqlUtils sqlUtils = new SqlUtils();
- // 调用SqlUtils的getEntryInfo方法,根据实体完整标识和上下文获取实体对象信息(元数据)
- EntityObjectInfo entryInfo1 = sqlUtils.getEntryInfo(entryFull1, context);
- // 定义JSONArray类型的变量selectField,用于存储获取到的选择字段信息
- JSONArray selectField = null;
- // 判断"alias"对应的参数是否为空
- if (o1==null){
- // 若"alias"为空,则调用SqlUtils的getSelectField方法,传入实体信息和上下文,获取无别名筛选的选择字段
- selectField = sqlUtils.getSelectField(entryInfo1, null, context);
- }else {
- // 若"alias"不为空,则将其转换为字符串,调用SqlUtils的getSelectField方法,传入实体信息、别名和上下文,获取带别名筛选的选择字段
- selectField = sqlUtils.getSelectField(entryInfo1,o1.toString(),context);
- }
- // 返回获取到的选择字段信息(JSONArray类型)
- return selectField;
- }
- }
|