ecology_maven/com/api/aiyh_pcn/fadada/dao/FaDDContractMapping.java

177 lines
5.6 KiB
Java

package com.api.aiyh_pcn.fadada.dao;
import aiyh.utils.Util;
import aiyh.utils.zwl.common.ToolUtil;
import com.api.aiyh_pcn.fadada.entity.FaDaDaConfigDTO;
import com.api.aiyh_pcn.fadada.entity.UfContractInfoDTO;
import weaver.aiyh_pcn.fadada.entity.FileInfo;
import weaver.conn.RecordSet;
import weaver.workflow.workflow.WorkflowVersion;
import java.util.List;
import java.util.Map;
/**
* @author EBU7-dev1-ayh
* @create 2021/11/3 0003 14:56
*/
public class FaDDContractMapping {
private final RecordSet rs = new RecordSet();
private final ToolUtil toolUtil = new ToolUtil();
/**
* 查询合同相关的配置信息
*
* @param workflowId 流程id
* @param type 配置的类型
* @return 配置信息
*/
public FaDaDaConfigDTO queryConfig(String workflowId, int type) {
String versionStringByWfid = WorkflowVersion.getVersionStringByWfid(workflowId);
String query = "select main.id,main.workflow_type,main.api_type, main.params_config, " +
"wf.fieldname field_control, wf1.fieldname contract_doc, " +
"(select GROUP_CONCAT('',selectvalue,'') selectvalue from workflow_selectitem " +
"where FIND_IN_SET(id,main.check_personal)) check_personal, " +
"(select GROUP_CONCAT('',selectvalue,'') selectvalue from workflow_selectitem " +
"where FIND_IN_SET(id,main.check_enterprise)) check_enterprise, " +
"main.check_source_type,wdt.tablename check_source " +
"from uf_contract_config main " +
"left join workflow_field_table_view wf on wf.id = main.field_control " +
"left join workflow_field_table_view wf1 on wf1.id = main.contract_doc " +
"left join workflow_detail_table_view wdt on wdt.id = main.check_source and " +
"wdt.workflow_id = main.workflow_type " +
"where main.workflow_type in ( " + versionStringByWfid + ") and api_type = ?";
rs.executeQuery(query, type);
return Util.recordeSet2Entity(rs, FaDaDaConfigDTO.class, true);
}
/**
* 获取全版本的workflowId
*
* @param versionStringByWfid 全版本的workflowId
* @return
*/
public String getAllVersion(String versionStringByWfid) {
String query = "select distinct workflow_type from uf_contract_config where workflow_type in (" + versionStringByWfid + ")";
rs.executeQuery(query);
rs.next();
return rs.getString(1);
}
/**
* 获取节点信息
*
* @param versionStringByWfid 全版本的流程
* @param markOnly 获取配置的节点信息
* @return
*/
public String getNodes(String versionStringByWfid, String markOnly) {
String query = "select workflow_nodes from uf_node_config where workflow_type in (" + versionStringByWfid + ") and mark_only = ?";
rs.executeQuery(query, markOnly);
rs.next();
return rs.getString(1);
}
/**
* 获取流程主表
*
* @param workflowId
* @return
*/
public String getMainTable(String workflowId) {
String versionStringByWfid = WorkflowVersion.getVersionStringByWfid(workflowId);
String query = "select tablename from workflow_bill " +
" where id in (select formid from workflow_base " +
" where id in (" + versionStringByWfid + ") )";
rs.executeQuery(query);
rs.next();
String mainTable = rs.getString(1);
toolUtil.writeErrorLog("mainTable:" + mainTable);
return mainTable;
}
/**
* 获取配置的明细表
*
* @param workflowId
* @param type
* @return
*/
public String getDetailTable(String workflowId, int type) {
FaDaDaConfigDTO faDaDaConfigDTO = this.queryConfig(workflowId, type);
String detailTable = faDaDaConfigDTO.getCheckSource();
toolUtil.writeErrorLog("detailTable:" + detailTable);
return detailTable;
}
/**
* 根据主表和请求id查询主表数据
*
* @param requestId 请求id
* @param mainTableName 主表表名
* @return
*/
public Map<String, Object> queryMainMap(String requestId, String mainTableName) {
String query = "select * from " + mainTableName + " where requestid = ?";
RecordSet rs = new RecordSet();
rs.executeQuery(query, requestId);
return Util.recordSet2Map(rs);
}
/**
* 查询明细数据
*
* @param mainId 主表id
* @param tableName 明细表表名
* @return
*/
public List<Map<String, Object>> queryDetailMaps(String mainId, String tableName) {
String query = "select * from " + tableName + " where mainid = ?";
RecordSet rs = new RecordSet();
rs.executeQuery(query, mainId);
return Util.recordSet2MapList(rs);
}
/**
* 查询合同的配置信息
*
* @param workflowId
* @return
*/
/* public Map<String, Object> queryContractConfig(String workflowId) {
String versionStringByWfid = WorkflowVersion.getVersionStringByWfid(workflowId);
RecordSet rs = new RecordSet();
rs.executeQuery("select * from uf_contract_config where workflow_type in ( " + versionStringByWfid + " ) and api_type = ?", 2);
return Util.recordSet2Map(rs);
}*/
/**
* 根据文件的id查询物理文件的id
* @param fileIds
* @return
*/
public List<FileInfo> queryImgFileIdByDocIds(String fileIds) {
String query = "select imagefileid,imagefilename from docimagefile where docid in ( " + fileIds + " )";
rs.executeQuery(query);
return Util.recordeSet2Array(rs, FileInfo.class);
}
public UfContractInfoDTO queryContractInfo(String contractNo) {
String query = "select * from uf_contract_info where contract_no = ?";
RecordSet rs = new RecordSet();
rs.executeQuery(query,contractNo);
return Util.recordeSet2Entity(rs,UfContractInfoDTO.class,true);
}
public UfContractInfoDTO queryContractInfoByRequestId(String requestId) {
String query = "select * from uf_contract_info where workflow_request_id = ?";
RecordSet rs = new RecordSet();
rs.executeQuery(query,requestId);
return Util.recordeSet2Entity(rs,UfContractInfoDTO.class,true);
}
}