EKP后端二次开发公用方法集 - 低代码相关

package com.landray.kmss.xp.modeling.app.appmain.util;

import com.landray.kmss.common.model.IBaseModel;
import com.landray.kmss.sys.modeling.main.model.ModelingAppSimpleMain;
import com.landray.kmss.sys.modeling.main.service.IModelingAppSimpleMainService;
import com.landray.kmss.sys.organization.model.SysOrgElement;
import com.landray.kmss.util.SpringBeanUtil;
import com.landray.kmss.xp.org.organizational.util.XpOrgUtil;
import com.landray.kmss.xp.util.XpHibernateUtil;
import com.landray.kmss.xp.util.XpStringUtil;

import java.util.*;

/**
 * @author liquid
 * 低代码无流程表单相关工具
 */
public class XpModelingSimpleMainUtil {
    private static IModelingAppSimpleMainService modelingAppSimpleMainService;

    public static IModelingAppSimpleMainService getModelingAppSimpleMainService() {
        if (modelingAppSimpleMainService == null) {
            modelingAppSimpleMainService = (IModelingAppSimpleMainService) SpringBeanUtil.getBean("modelingAppSimpleMainServiceTarget");
        }
        return modelingAppSimpleMainService;
    }

    /**
     * 获取主文档ModelingAppSimpleMain实例
     * @author liquid
     * @date 2023年1月5日
     * @param fdModelId 模板实例id(modeling_simple_main.fd_id)
     */
    public static IBaseModel getModelingSimpleMainById(String fdModelId) {
        IBaseModel mainModel = null;
        IModelingAppSimpleMainService modelingAppSimpleMainService = getModelingAppSimpleMainService();
        try {
            mainModel = modelingAppSimpleMainService.findByPrimaryKey(fdModelId);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return mainModel;
    }

    /**
     * 获取主文档ModelingAppSimpleMain实例的表单控件值(单个控件)
     * @author liquid
     * @date 2023年1月5日
     * @param mainModel 流程主文档实例
     * @param fieldId 控件fd_id
     * @return 控件值(Map或List)
     */
    public static Object getData(ModelingAppSimpleMain mainModel, String fieldId) {
        if (XpHibernateUtil.isHbmObjNull(mainModel)) {
            return null;
        }
        Map<String, Object> modelData;
        Object data = null;
        try {
            modelData = mainModel.getExtendDataModelInfo().getModelData();
            data = modelData.get(fieldId);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return data;
    }

    /**
     * 获取主文档ModelingAppSimpleMain实例的表单控件值(全部控件)
     * @author liquid
     * @date 2023年1月5日
     * @param mainModel 主文档实例
     * @return 控件值Map
     */
    public static Map<String, Object> getData(ModelingAppSimpleMain mainModel) {
        if (XpHibernateUtil.isHbmObjNull(mainModel)) {
            return new HashMap<>();
        }
        Map<String, Object> modelData = null;
        try {
            modelData = mainModel.getExtendDataModelInfo().getModelData();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return modelData;
    }

    /**
     * 获取主文档ModelingAppSimpleMain实例的表单控件值(单个控件)
     * @author liquid
     * @date 2023年1月5日
     * @param fdModelId 主文档实例id(modeling_simple_main.fd_id)
     * @param fieldId 控件fd_id
     * @return 控件值(Map或List)
     */
    public static Object getDataById(String fdModelId, String fieldId) {
        ModelingAppSimpleMain mainModel = (ModelingAppSimpleMain) getModelingSimpleMainById(fdModelId);
        if (XpHibernateUtil.isHbmObjNull(mainModel)) {
            return null;
        }
        Map<String, Object> modelData;
        Object data = null;
        try {
            modelData = mainModel.getExtendDataModelInfo().getModelData();
            data = modelData.get(fieldId);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return data;
    }

    /**
     * 获取主文档ModelingAppSimpleMain实例的表单控件值(全部控件)
     * @author liquid
     * @date 2023年1月5日
     * @param fdModelId 主文档实例id(modeling_simple_main.fd_id)
     * @return 控件值Map
     */
    public static Map<String, Object> getDataById(String fdModelId) {
        ModelingAppSimpleMain mainModel = (ModelingAppSimpleMain) getModelingSimpleMainById(fdModelId);
        if (XpHibernateUtil.isHbmObjNull(mainModel)) {
            return new HashMap<>();
        }
        Map<String, Object> modelData = null;
        try {
            modelData = mainModel.getExtendDataModelInfo().getModelData();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return modelData;
    }

    /**
     * 获取ModelingAppSimpleMain实例多选地址本控件值
     * @author liquid
     * @date 2023年1月10日
     * @param fdModelId 主文档实例id(modeling_simple_main.fd_id)
     * @param fieldId 控件fd_id
     * @return 多选地址本控件值
     */
    public static List<SysOrgElement> getMultiAddressOrgList(String fdModelId, String fieldId, Class classType) {
        Map<String, String> multiOrgMap = (Map<String, String>) XpModelingSimpleMainUtil.getDataById(fdModelId, fieldId);
        assert multiOrgMap != null;
        String orgIdStr = multiOrgMap.get("id");
        if (XpStringUtil.isNotNull(orgIdStr)) {
            List<String> orgIds = Arrays.asList(orgIdStr.split(";"));
            return XpOrgUtil.getSysOrgElementByIdList(orgIds, classType);
        }
        return new ArrayList<>();
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Liquid-Li

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值