Ecology-Dev-chaofa/FiveHzCenter/src/com/engine/hzzx/conn/DataUtil.java

228 lines
7.2 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.engine.hzzx.conn;
import com.engine.hzzx.exception.CustomizeRunTimeException;
import org.apache.commons.lang3.StringUtils;
import weaver.common.DateUtil;
import weaver.conn.RecordSet;
import weaver.formmode.setup.ModeRightInfo;
import weaver.general.Util;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* @author:dxfeng
* @createTime: 2025/02/27
* @version: 1.0
*/
public class DataUtil {
/**
* 根据流程ID获取流程表名
*
* @param workflowId
* @return
*/
public static String getTableNameById(String workflowId) {
RecordSet rs = new RecordSet();
rs.executeQuery("select formid from workflow_base where id= ?", workflowId);
if (rs.next()) {
String formId = rs.getString("formid");
if (StringUtils.isNotBlank(formId)) {
rs.executeQuery("select tablename from workflow_bill wb where id = ?", formId);
if (rs.next()) {
return rs.getString("tablename");
}
}
}
return null;
}
/**
* 根据建模表名,获取建模ID
*
* @param modeTable
* @return
*/
public static int getModeIdByTableName(String modeTable) {
int formModeId = -1;
RecordSet rs = new RecordSet();
rs.executeQuery("select id from modeinfo where formid =( select id from workflow_bill where tablename = ? ) and isdelete = 0 order by id", modeTable);
if (rs.next()) {
formModeId = rs.getInt("id");
}
return formModeId;
}
/**
* 根据表名获取表单ID
*
* @param modeTable
* @return
*/
public static int getFormIdByTableName(String modeTable) {
int formId = -1;
RecordSet rs = new RecordSet();
rs.executeQuery("select id from workflow_bill where tablename = ? ", modeTable);
if (rs.next()) {
formId = rs.getInt("id");
}
return formId;
}
/**
* 插入数据
*
* @param dataMap 数据集合
* @param tableName 表名
*/
public static void insertData(Map<String, String> dataMap, String tableName) {
List<String> fieldList = new ArrayList<>();
List<String> dataList = new ArrayList<>();
List<String> paramList = new ArrayList<>();
dataMap.forEach((key, value) -> {
if (StringUtils.isNotBlank(value)) {
fieldList.add(key);
dataList.add(value);
paramList.add("?");
}
});
String insertSql = " insert into " + tableName + "(" + StringUtils.join(fieldList, ",") + ") values (" + StringUtils.join(paramList, ",") + ")";
RecordSet rs = new RecordSet();
rs.executeUpdate(insertSql, dataList);
if (StringUtils.isNotBlank(rs.getExceptionMsg())) {
throw new CustomizeRunTimeException(rs.getExceptionMsg());
}
}
/**
* 根据ID更新数据
*
* @param dataMap
* @param tableName
*/
public static void updateDataById(Map<String, String> dataMap, String tableName) {
List<String> fieldList = new ArrayList<>();
List<Object> dataList = new ArrayList<>();
String id = Util.null2String(dataMap.get("id"));
dataMap.remove("id");
dataMap.forEach((key, value) -> {
fieldList.add(key + " = ? ");
dataList.add(value);
});
dataList.add(id);
String updateSql = "update " + tableName + " set " + StringUtils.join(fieldList, ",") + " where id = ? ";
RecordSet rs = new RecordSet();
rs.executeUpdate(updateSql, dataList);
if (StringUtils.isNotBlank(rs.getExceptionMsg())) {
throw new CustomizeRunTimeException(rs.getExceptionMsg());
}
}
/**
* 构建建模表基本数据
*
* @param mainDataMap 参数集合
*/
public static void buildModeInsertFields(Map<String, String> mainDataMap, String userId) {
String dateTime = DateUtil.getFullDate();
String[] dateSplit = dateTime.split(" ");
mainDataMap.put("modedatacreater", userId);
mainDataMap.put("modedatacreatedate", dateSplit[0]);
mainDataMap.put("modedatacreatetime", dateSplit[1]);
mainDataMap.put("modedatacreatertype", "0");
}
/**
* 构建建模表基本数据
*
* @param mainDataMap 参数集合
*/
public static void buildModeUpdateFields(Map<String, String> mainDataMap, String userId) {
String dateTime = DateUtil.getFullDate();
mainDataMap.put("modedatamodifier", userId);
mainDataMap.put("modedatamodifydatetime", dateTime);
}
/**
* 建模表数据权限重构
*
* @param uuid
* @param modeTable
* @param formModeId
*/
public static int refreshRight(String uuid, String modeTable, int formModeId, String creator) {
RecordSet rs = new RecordSet();
rs.executeQuery("select id from " + modeTable + " where modeuuid='" + uuid + "'");
if (rs.next()) {
//建模数据的id
int bid = Util.getIntValue(rs.getString("id"));
ModeRightInfo modeRightInfo = new ModeRightInfo();
modeRightInfo.setNewRight(true);
//新建的时候添加共享
modeRightInfo.editModeDataShare(Integer.parseInt(creator), formModeId, bid);
return bid;
}
return -1;
}
/**
* 获取表单下拉框展示文本
*
* @param formId 表单ID
* @param fieldName 字段明湖曾
* @param value 下拉框值
* @return
*/
public static String getSelectName(String formId, String fieldName, String value) {
String cancelReason = "";
RecordSet rs = new RecordSet();
rs.executeQuery("select selectname from workflow_selectitem where fieldid =( select id from workflow_billfield where billid = ? and fieldname = ? ) and selectvalue = ?", formId, fieldName, value);
if (rs.next()) {
cancelReason = rs.getString("selectname");
}
return cancelReason;
}
/**
* 获取表单下拉框值
*
* @param formId 表单ID
* @param fieldName 字段明湖曾
* @param selectName 下拉框展示内容
* @return
*/
public static String getSelectValue(String formId, String fieldName, String selectName) {
String selectValue = "";
RecordSet rs = new RecordSet();
rs.executeQuery("select selectvalue from workflow_selectitem where fieldid =( select id from workflow_billfield where billid = ? and fieldname = ? ) and selectname = ?", formId, fieldName, selectName);
if (rs.next()) {
selectValue = rs.getString("selectvalue");
}
return selectValue;
}
/**
* 获取文档ID
*
* @param imageFileId
* @return
*/
public static String getDocIdByImageId(String imageFileId) {
if (StringUtils.isBlank(imageFileId)) {
return "";
}
RecordSet rs = new RecordSet();
rs.executeQuery("select docid from DocImageFile where IMAGEFILEID=?", imageFileId);
if (rs.next()) {
return rs.getString("docid");
}
return "";
}
}