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<>();
}
}
EKP后端二次开发公用方法集 - 低代码相关
最新推荐文章于 2024-08-08 11:21:07 发布