增加配置项表、增加文件列表默认值写入逻辑
This commit is contained in:
parent
847bf6cbfb
commit
720b2953b9
|
|
@ -18,4 +18,5 @@ public class FileConfig {
|
|||
private String fieldName;
|
||||
private String fileId;
|
||||
private String isFilled;
|
||||
private String isDefault;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
package com.engine.secret.service.impl;
|
||||
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.secret.entity.unpack.*;
|
||||
import com.engine.secret.exception.CustomizeRunTimeException;
|
||||
import com.engine.secret.service.QualificationApplicationService;
|
||||
import com.engine.secret.util.ConfigUtil;
|
||||
import com.engine.secret.util.ModeUtil;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
|
|
@ -15,6 +17,7 @@ import net.lingala.zip4j.model.FileHeader;
|
|||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.docs.docs.DocImageManager;
|
||||
import weaver.file.ImageFileManager;
|
||||
import weaver.formmode.IgnoreCaseHashMap;
|
||||
import weaver.general.BaseBean;
|
||||
|
|
@ -37,12 +40,11 @@ import java.util.stream.Collectors;
|
|||
*/
|
||||
public class QualificationApplicationServiceImpl extends Service implements QualificationApplicationService {
|
||||
|
||||
private static String UNZIP_PWD = "zizhi102!";
|
||||
private static int UPLOAD_CATALOGUE = 122;
|
||||
private static int uploadCatalogue;
|
||||
|
||||
private static String CONFIG_TABLE_NAME = "uf_config_package";
|
||||
private static String CONFIG_DETAIL_TABLE_NAME = "uf_config_package_dt1";
|
||||
private static String FILE_DETAIL_TABLE_NAME = "uf_config_package_dt2";
|
||||
private static final String CONFIG_TABLE_NAME = "uf_config_package";
|
||||
private static final String CONFIG_DETAIL_TABLE_NAME = "uf_config_package_dt1";
|
||||
private static final String FILE_DETAIL_TABLE_NAME = "uf_config_package_dt2";
|
||||
|
||||
BaseBean baseBean = new BaseBean();
|
||||
|
||||
|
|
@ -61,6 +63,30 @@ public class QualificationApplicationServiceImpl extends Service implements Qual
|
|||
throw new CustomizeRunTimeException("文件获取失败,请确认文件是否上传");
|
||||
}
|
||||
baseBean.writeLog("imageId==" + imageId);
|
||||
|
||||
// docId 转为换imageFileId
|
||||
DocImageManager imgManger = new DocImageManager();
|
||||
imgManger.setDocid(Integer.parseInt(imageId));
|
||||
imgManger.selectDocImageInfo();
|
||||
imgManger.next();
|
||||
String imageFileId = imgManger.getImagefileid();
|
||||
baseBean.writeLog("imageFileId==" + imageFileId);
|
||||
if (StringUtils.isBlank(imageFileId) || "-1".equals(imageFileId)) {
|
||||
throw new CustomizeRunTimeException("文件获取失败,请确认文件是否上传,imageFileId=[" + imageFileId + "]");
|
||||
}
|
||||
|
||||
|
||||
// 初始化配置
|
||||
String unzipPwd = ConfigUtil.getConfig("UNZIP_PWD");
|
||||
baseBean.writeLog("unzipPwd==" + unzipPwd);
|
||||
|
||||
String uploadCatalogueStr = ConfigUtil.getConfig("UPLOAD_CATALOGUE");
|
||||
if (StringUtils.isBlank(uploadCatalogueStr)) {
|
||||
throw new CustomizeRunTimeException("未获取到解析文件目录设置,检查配置[uf_config]");
|
||||
}
|
||||
uploadCatalogue = Convert.toInt(uploadCatalogueStr, -1);
|
||||
baseBean.writeLog("uploadCatalogue==" + uploadCatalogue);
|
||||
|
||||
Map<String, Object> returnMap = new HashMap<>();
|
||||
// 根据文件id获取文件流
|
||||
ImageFileManager manager = new ImageFileManager();
|
||||
|
|
@ -76,7 +102,7 @@ public class QualificationApplicationServiceImpl extends Service implements Qual
|
|||
|
||||
//解压文件,处理压缩包
|
||||
baseBean.writeLog("开始解压文件,处理压缩包");
|
||||
unzipWithPassword(tempZipFile, Paths.get("output"), UNZIP_PWD);
|
||||
unzipWithPassword(tempZipFile, Paths.get("output"), unzipPwd);
|
||||
baseBean.writeLog("压缩包处理完成");
|
||||
|
||||
|
||||
|
|
@ -165,6 +191,7 @@ public class QualificationApplicationServiceImpl extends Service implements Qual
|
|||
*/
|
||||
private void offline(JsonNode rootNode) throws Exception {
|
||||
List<DataConfig> dataConfigList = getDataConfig("0");
|
||||
baseBean.writeLog("dataConfigList==" + JSON.toJSONString(dataConfigList));
|
||||
|
||||
// 处理文件数据
|
||||
List<ApplicationResource> applicationResourceList = getApplicationResourceList(rootNode);
|
||||
|
|
@ -182,6 +209,7 @@ public class QualificationApplicationServiceImpl extends Service implements Qual
|
|||
for (DataConfig dataConfig : dataConfigList) {
|
||||
String mainTableName = dataConfig.getMainTableName();
|
||||
String rootPath = dataConfig.getRootPath();
|
||||
baseBean.writeLog("rootPath==" + rootPath);
|
||||
// 字段对照关系
|
||||
List<DataConfigDetail> fieldDetailList = dataConfig.getDetailList();
|
||||
// 获取明细表相关信息
|
||||
|
|
@ -371,12 +399,20 @@ public class QualificationApplicationServiceImpl extends Service implements Qual
|
|||
*/
|
||||
private void dealFileList(int mainId, List<FileConfig> fileConfigList, String tableName, boolean isDetail) throws Exception {
|
||||
Map<String, Object> dataMap = new IgnoreCaseHashMap<>();
|
||||
Map<String, Object> defaultDataMap = new IgnoreCaseHashMap<>();
|
||||
for (FileConfig fileConfig : fileConfigList) {
|
||||
String fieldName = fileConfig.getFieldName();
|
||||
// 是否更正文件
|
||||
String isFilled = fileConfig.getIsFilled();
|
||||
// 文件标识ID
|
||||
String fileId = fileConfig.getFileId();
|
||||
String isDefault = fileConfig.getIsDefault();
|
||||
if ("1".equals(isDefault)) {
|
||||
// 默认值条件,直接写入表单对应的字段
|
||||
defaultDataMap.put(fieldName, fileId);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
List<ApplicationResource> applicationResources = applicationResourceMap.get(fileId);
|
||||
if (CollectionUtils.isEmpty(applicationResources)) {
|
||||
|
|
@ -401,7 +437,7 @@ public class QualificationApplicationServiceImpl extends Service implements Qual
|
|||
String fileName = resourceInfo.getFileName();
|
||||
Integer imageFileId = imageFileMap.get(fileName);
|
||||
// 生成文档ID
|
||||
int docId = ModeUtil.createDocId(UPLOAD_CATALOGUE, imageFileId, user);
|
||||
int docId = ModeUtil.createDocId(uploadCatalogue, imageFileId, user);
|
||||
docIds.add(docId);
|
||||
}
|
||||
dataMap.put(fieldName, StringUtils.join(docIds, ","));
|
||||
|
|
@ -412,11 +448,13 @@ public class QualificationApplicationServiceImpl extends Service implements Qual
|
|||
return;
|
||||
}
|
||||
|
||||
// 合并默认值数据,如果文件集合为空,则不单独插入默认值
|
||||
dataMap.putAll(defaultDataMap);
|
||||
baseBean.writeLog("文件插入集合,dataMap==" + JSON.toJSONString(dataMap));
|
||||
// 根据主表、明细表,区分数据处理方式
|
||||
if (isDetail) {
|
||||
dataMap.put("mainid", mainId);
|
||||
ModeUtil.insertData(dataMap,tableName);
|
||||
ModeUtil.insertData(dataMap, tableName);
|
||||
} else {
|
||||
dataMap.put("id", mainId);
|
||||
// 根据ID更新主表数据
|
||||
|
|
@ -437,7 +475,7 @@ public class QualificationApplicationServiceImpl extends Service implements Qual
|
|||
// 获取离线包的先关配置
|
||||
List<DataConfig> dataConfigList = new ArrayList<>();
|
||||
RecordSet rs = new RecordSet();
|
||||
rs.executeQuery("select * from " + CONFIG_TABLE_NAME + " where main_table is not null and main_table !='' and source_type = ?", type);
|
||||
rs.executeQuery("select * from uf_config_package where main_table is not null and source_type = ?", type);
|
||||
while (rs.next()) {
|
||||
DataConfig dataConfig = new DataConfig();
|
||||
dataConfig.setId(rs.getString("id"));
|
||||
|
|
@ -473,7 +511,7 @@ public class QualificationApplicationServiceImpl extends Service implements Qual
|
|||
|
||||
for (String dtName : detailNameArray) {
|
||||
RecordSet rs = new RecordSet();
|
||||
rs.executeQuery("select * from " + CONFIG_TABLE_NAME + " where (main_table is null or main_table ='') and detail_tables = ? and source_type = ?", dtName, type);
|
||||
rs.executeQuery("select * from " + CONFIG_TABLE_NAME + " where main_table is null and detail_tables = ? and source_type = ?", dtName, type);
|
||||
while (rs.next()) {
|
||||
DataConfig dataConfig = new DataConfig();
|
||||
dataConfig.setId(rs.getString("id"));
|
||||
|
|
@ -517,7 +555,12 @@ public class QualificationApplicationServiceImpl extends Service implements Qual
|
|||
RecordSet rs = new RecordSet();
|
||||
rs.executeQuery("select * from " + FILE_DETAIL_TABLE_NAME + " where mainId = ?", mainId);
|
||||
while (rs.next()) {
|
||||
fileList.add(FileConfig.builder().fieldName(rs.getString("field_name")).fileId(rs.getString("file_id")).isFilled(rs.getString("file_type")).build());
|
||||
fileList.add(FileConfig.builder()
|
||||
.fieldName(rs.getString("field_name"))
|
||||
.fileId(rs.getString("file_id"))
|
||||
.isFilled(rs.getString("file_type"))
|
||||
.isDefault(rs.getString("is_default"))
|
||||
.build());
|
||||
}
|
||||
return fileList;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,24 @@
|
|||
package com.engine.secret.util;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import weaver.conn.RecordSet;
|
||||
|
||||
/**
|
||||
* @author:dxfeng
|
||||
* @createTime: 2025/03/31
|
||||
* @version: 1.0
|
||||
*/
|
||||
public class ConfigUtil {
|
||||
public static String getConfig(String name) {
|
||||
if (StringUtils.isBlank(name)) {
|
||||
return "";
|
||||
}
|
||||
RecordSet rs = new RecordSet();
|
||||
rs.executeQuery("select value from uf_config where name = ?",name.trim());
|
||||
if(rs.next()){
|
||||
return rs.getString("value").trim();
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue