|
@@ -18,7 +18,6 @@ import com.spire.xls.ExcelPicture;
|
|
|
import com.spire.xls.FileFormat;
|
|
|
import com.spire.xls.Worksheet;
|
|
|
import com.spire.xls.collections.PicturesCollection;
|
|
|
-import io.swagger.models.auth.In;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
@@ -45,6 +44,7 @@ import org.springblade.business.feign.TrialSelfInspectionRecordClient;
|
|
|
import org.springblade.business.vo.SaveContractLogVO;
|
|
|
import org.springblade.common.constant.CommonConstant;
|
|
|
import org.springblade.common.utils.CommonUtil;
|
|
|
+import org.springblade.manager.util.DataStructureFormatUtils;
|
|
|
import org.springblade.common.utils.SnowFlakeUtil;
|
|
|
import org.springblade.common.vo.DataVO;
|
|
|
import org.springblade.core.log.exception.ServiceException;
|
|
@@ -54,7 +54,6 @@ import org.springblade.core.mp.support.Query;
|
|
|
import org.springblade.core.oss.model.BladeFile;
|
|
|
import org.springblade.core.secure.BladeUser;
|
|
|
import org.springblade.core.secure.utils.AuthUtil;
|
|
|
-import org.springblade.core.secure.utils.SecureUtil;
|
|
|
import org.springblade.core.tool.api.R;
|
|
|
import org.springblade.core.tool.node.ForestNodeMerger;
|
|
|
import org.springblade.core.tool.utils.DateUtil;
|
|
@@ -75,12 +74,10 @@ import org.springblade.manager.vo.*;
|
|
|
import org.springblade.resource.feign.NewIOSSClient;
|
|
|
import org.springblade.system.cache.ParamCache;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.context.annotation.Lazy;
|
|
|
import org.springframework.dao.DataAccessException;
|
|
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
|
|
import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
-import org.springframework.jdbc.core.RowCallbackHandler;
|
|
|
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
|
|
import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -92,7 +89,6 @@ import org.springframework.transaction.support.DefaultTransactionDefinition;
|
|
|
import java.io.*;
|
|
|
import java.net.HttpURLConnection;
|
|
|
import java.net.URL;
|
|
|
-import java.nio.file.Files;
|
|
|
import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
@@ -738,19 +734,20 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
|
String tabName = tableNode.getInitTableName();
|
|
|
|
|
|
//拼接SQL
|
|
|
- StringBuilder sql = new StringBuilder("INSERT INTO " + tabName),
|
|
|
- keySql = new StringBuilder("id, group_id"),
|
|
|
- valSql = new StringBuilder("" + tableInfo.getBusinessId() + ", " + tableInfo.getPkeyId());
|
|
|
+// StringBuilder sql = new StringBuilder("INSERT INTO " + tabName),
|
|
|
+// keySql = new StringBuilder("id, group_id"),
|
|
|
+// valSql = new StringBuilder("" + tableInfo.getBusinessId() + ", " + tableInfo.getPkeyId());
|
|
|
|
|
|
//参数
|
|
|
LinkedHashMap<String, String> dataMap2 = tableInfo.getDataMap();
|
|
|
- updateFieldLength(tabName, dataMap2);
|
|
|
- for (String key : dataMap2.keySet()) {
|
|
|
- keySql.append(", ").append(key);
|
|
|
- valSql.append(", '").append(dataMap2.get(key)).append("'");
|
|
|
- }
|
|
|
-
|
|
|
- sql.append("(").append(keySql).append(")").append(" values(").append(valSql).append(")");
|
|
|
+ dataMap2.remove("p_key_id");
|
|
|
+ StringBuilder sql = buildMTableInsertSql(tabName, dataMap2, tableInfo.getBusinessId(), tableInfo.getPkeyId(), null);
|
|
|
+// for (String key : dataMap2.keySet()) {
|
|
|
+// keySql.append(", ").append(key);
|
|
|
+// valSql.append(", '").append(dataMap2.get(key)).append("'");
|
|
|
+// }
|
|
|
+//
|
|
|
+// sql.append("(").append(keySql).append(")").append(" values(").append(valSql).append(")");
|
|
|
|
|
|
//新增数据
|
|
|
try {
|
|
@@ -1116,18 +1113,17 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
|
for (TableInfo tableInfo : tableInfoList) {
|
|
|
//获取字段信息
|
|
|
LinkedHashMap<String, String> dataMap2 = tableInfo.getDataMap();
|
|
|
- updateFieldLength(table.getTabEnName(),dataMap2);
|
|
|
- //拼接SQL
|
|
|
- StringBuilder sql = new StringBuilder("INSERT INTO " + table.getTabEnName()),
|
|
|
- keySql = new StringBuilder("id, group_id"),
|
|
|
- valSql = new StringBuilder("" + SnowFlakeUtil.getId() + ", " + firstId);
|
|
|
-
|
|
|
- for (String key : dataMap2.keySet()) {
|
|
|
- keySql.append(", ").append(key);
|
|
|
- valSql.append(", '").append(dataMap2.get(key)).append("'");
|
|
|
- }
|
|
|
-
|
|
|
- sql.append("(").append(keySql).append(")").append(" values(").append(valSql).append(")");
|
|
|
+ StringBuilder sql = buildMTableInsertSql(table.getTabEnName(), dataMap2, SnowFlakeUtil.getId(), firstId, null);
|
|
|
+// // 拼接SQL
|
|
|
+// StringBuilder sql = new StringBuilder("INSERT INTO " + table.getTabEnName()),
|
|
|
+// keySql = new StringBuilder("id, group_id"),
|
|
|
+// valSql = new StringBuilder("" + SnowFlakeUtil.getId() + ", " + firstId);
|
|
|
+// for (String key : dataMap2.keySet()) {
|
|
|
+// keySql.append(", ").append(key);
|
|
|
+// valSql.append(", '").append(dataMap2.get(key)).append("'");
|
|
|
+// }
|
|
|
+//
|
|
|
+// sql.append("(").append(keySql).append(")").append(" values(").append(valSql).append(")");
|
|
|
|
|
|
//新增数据
|
|
|
try {
|
|
@@ -1244,21 +1240,21 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
|
String delSql = "delete from " + tabName + " where p_key_id=" + tableInfo.getPkeyId();
|
|
|
String sqlInfo = "";
|
|
|
LinkedHashMap<String, String> dataMap2 = tableInfo.getDataMap();
|
|
|
- updateFieldLength(tabName, dataMap2);
|
|
|
/*检查发现有p_key_id缺失的情况,导致表单数据丢失,所以强制覆盖*/
|
|
|
dataMap2.put("p_key_id", tableInfo.getPkeyId());
|
|
|
+ sqlInfo = buildMTableInsertSql(tabName, dataMap2, SnowFlakeUtil.getId(), null, null).toString();
|
|
|
//统计保存的字段
|
|
|
|
|
|
- sqlInfo = "INSERT INTO " + tabName + " ( ";
|
|
|
- String keyStr = "id,";
|
|
|
- String valStr = SnowFlakeUtil.getId() + ",";
|
|
|
- for (String keys : dataMap2.keySet()) {
|
|
|
- keyStr += keys + ",";
|
|
|
- valStr += "'" + dataMap2.get(keys) + "',";
|
|
|
- }
|
|
|
- keyStr = keyStr.substring(0, keyStr.lastIndexOf(","));
|
|
|
- valStr = valStr.substring(0, valStr.lastIndexOf(","));
|
|
|
- sqlInfo = sqlInfo + keyStr + ") VALUES (" + valStr + ")";
|
|
|
+// sqlInfo = "INSERT INTO " + tabName + " ( ";
|
|
|
+// String keyStr = "id,";
|
|
|
+// String valStr = SnowFlakeUtil.getId() + ",";
|
|
|
+// for (String keys : dataMap2.keySet()) {
|
|
|
+// keyStr += keys + ",";
|
|
|
+// valStr += "'" + dataMap2.get(keys) + "',";
|
|
|
+// }
|
|
|
+// keyStr = keyStr.substring(0, keyStr.lastIndexOf(","));
|
|
|
+// valStr = valStr.substring(0, valStr.lastIndexOf(","));
|
|
|
+// sqlInfo = sqlInfo + keyStr + ") VALUES (" + valStr + ")";
|
|
|
|
|
|
WbsTreeContract wbsTreeContractByP = wbsTreeContractService.getBaseMapper().selectOne(Wrappers.<WbsTreeContract>query().lambda()
|
|
|
.eq(WbsTreeContract::getId, wbsTreeContract.getParentId()).eq(WbsTreeContract::getContractId, tableInfo.getContractId()));
|
|
@@ -1354,60 +1350,6 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
|
return R.data(tableInfoList2);
|
|
|
// return R.success(fileName1);
|
|
|
}
|
|
|
-
|
|
|
- public void updateFieldLength(String tableName, Map<String, String> fieldNameAndLengthMap) {
|
|
|
- if (fieldNameAndLengthMap == null || fieldNameAndLengthMap.isEmpty()) {
|
|
|
- return;
|
|
|
- }
|
|
|
- String fields = fieldNameAndLengthMap.keySet().stream().filter(key -> !key.equals("id") && !key.equals("p_key_id") && !key.equals("group_id")).map(key -> "'" + key + "'").collect(Collectors.joining(","));
|
|
|
- if (fields.isEmpty()) {
|
|
|
- return;
|
|
|
- }
|
|
|
- List<Map<String, Object>> fieldMap = jdbcTemplate.queryForList("select distinct COLUMN_NAME as fieldName, CHARACTER_MAXIMUM_LENGTH as fieldLength from information_schema.COLUMNS where TABLE_NAME = '" + tableName +
|
|
|
- "' and COLUMN_NAME in (" + fields + ")");
|
|
|
- Map<String, Integer> map = fieldMap.stream().collect(toMap(k -> k.get("fieldName") + "", v -> {
|
|
|
- try {
|
|
|
- return Integer.parseInt(v.get("fieldLength") + "");
|
|
|
- } catch (Exception e) {
|
|
|
- return 0;
|
|
|
- }
|
|
|
- }, Math::max));
|
|
|
-
|
|
|
- List<WbsFormElement> elementList = jdbcTemplate.query("SELECT id,e_key,e_length from m_wbs_form_element WHERE f_id = (SELECT id from m_table_info WHERE tab_en_name = '" + tableName
|
|
|
- +"' and is_deleted = 0 limit 1) and is_deleted = 0 and e_key in ( " + fields + ")", new BeanPropertyRowMapper<>(WbsFormElement.class));
|
|
|
- StringBuilder sql = new StringBuilder();
|
|
|
- sql.append("alter table ").append(tableName);
|
|
|
- elementList.forEach(element -> {
|
|
|
- String data = fieldNameAndLengthMap.get(element.getEKey());
|
|
|
- Integer fieldLength = map.get(element.getEKey());
|
|
|
- if (data != null && element.getELength() != null && data.length() > fieldLength) {
|
|
|
- int length = data.length();
|
|
|
- // 取整
|
|
|
- length = (length / 10 + 1) * 10;
|
|
|
- if (length < element.getELength()) {
|
|
|
- length = element.getELength();
|
|
|
- element.setELength(null);
|
|
|
- } else {
|
|
|
- element.setELength(length);
|
|
|
- }
|
|
|
- sql.append(" modify column ").append(element.getEKey()).append(" ").append("varchar").append("(").append(length).append("),");
|
|
|
- }
|
|
|
- });
|
|
|
- if (sql.indexOf("modify") > 0) {
|
|
|
- sql.deleteCharAt(sql.length() - 1);
|
|
|
- TransactionStatus transactionStatus = this.beginTransaction(transactionManager1);
|
|
|
- try {
|
|
|
- jdbcTemplate.batchUpdate("update m_wbs_form_element set e_length = ? where id = ?", elementList.stream().filter(element -> element.getELength() != null).map(element -> new Object[]{element.getELength(), element.getId()}).collect(Collectors.toList()));
|
|
|
- jdbcTemplate.execute(sql.toString());
|
|
|
- transactionManager1.commit(transactionStatus);
|
|
|
- } catch (Exception e) {
|
|
|
- transactionManager1.rollback(transactionStatus);
|
|
|
- log.error("更新字段长度失败, error: " + e.getMessage());
|
|
|
- throw new ServiceException("字段长度超出限制, 系统无法进行扩容,请尝试缩小字段长度或者联系系统管理员处理");
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
public String reason(String log) {
|
|
|
/*保存的时候错误提示例如:字段过短提示 yangyj*/
|
|
|
StringBuilder sb = new StringBuilder();
|
|
@@ -1428,6 +1370,103 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
|
}
|
|
|
return sb.append("保存异常,请联系管理员").toString();
|
|
|
}
|
|
|
+ public StringBuilder buildMTableInsertSql(String tabName, Map<String, String> dataMap2, Object id, Object groupId, Object pKeyId) {
|
|
|
+ if (dataMap2 == null || dataMap2.isEmpty() || tabName == null || tabName.isEmpty()) {
|
|
|
+ return new StringBuilder();
|
|
|
+ }
|
|
|
+ //拼接SQL
|
|
|
+ StringBuilder sql = new StringBuilder("INSERT INTO " + tabName),
|
|
|
+ keySql = new StringBuilder(),
|
|
|
+ valSql = new StringBuilder();
|
|
|
+ if (id == null) {
|
|
|
+ if (dataMap2.containsKey("id")) {
|
|
|
+ id = dataMap2.get("id");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ keySql.append("id");
|
|
|
+ valSql.append(id == null ? SnowFlakeUtil.getId() : id);
|
|
|
+ if (groupId == null) {
|
|
|
+ groupId = dataMap2.get("group_id");
|
|
|
+ }
|
|
|
+ if (groupId != null) {
|
|
|
+ keySql.append(", group_id");
|
|
|
+ valSql.append(", ").append(groupId);
|
|
|
+ }
|
|
|
+ if (pKeyId == null) {
|
|
|
+ pKeyId = dataMap2.get("p_key_id");
|
|
|
+ }
|
|
|
+ if (pKeyId != null) {
|
|
|
+ keySql.append(", p_key_id");
|
|
|
+ valSql.append(", ").append(pKeyId);
|
|
|
+ }
|
|
|
+ //参数
|
|
|
+ Map<String, String> opsParamMap = new HashMap<>();
|
|
|
+ dataMap2.remove("id");
|
|
|
+ dataMap2.remove("group_id");
|
|
|
+ dataMap2.remove("p_key_id");
|
|
|
+ String fields = dataMap2.keySet().stream().map(key -> "'" + key + "'").collect(Collectors.joining(","));
|
|
|
+ Map<String, Integer> map = new HashMap<>();
|
|
|
+ if (!fields.isEmpty()) {
|
|
|
+ try {
|
|
|
+ fields = fields + ", 'key_201'";
|
|
|
+ List<Map<String, Object>> fieldMap = jdbcTemplate.queryForList("select distinct COLUMN_NAME as fieldName, CHARACTER_MAXIMUM_LENGTH as fieldLength from information_schema.COLUMNS where TABLE_NAME = '" + tabName +
|
|
|
+ "' and COLUMN_NAME in (" + fields + ")");
|
|
|
+ map = fieldMap.stream().collect(toMap(k -> k.get("fieldName") + "", v -> {
|
|
|
+ try {
|
|
|
+ return Integer.parseInt(v.get("fieldLength") + "");
|
|
|
+ } catch (Exception e) {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ }, Math::min));
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (String key : dataMap2.keySet()) {
|
|
|
+ String[] split = key.split("_");
|
|
|
+ if (split.length > 1 && Integer.parseInt(split[1]) > 80) {
|
|
|
+ // 大于80则保留在扩展字段中
|
|
|
+ opsParamMap.put(key, dataMap2.get(key));
|
|
|
+ } else {
|
|
|
+ String value = dataMap2.get(key);
|
|
|
+ if (value != null) {
|
|
|
+ Integer i = map.get(key);
|
|
|
+ // 长度超过数据库长度也保留在扩展字段中
|
|
|
+ if (i != null && value.length() > i) {
|
|
|
+ opsParamMap.put(key, dataMap2.get(key));
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ keySql.append(", ").append(key);
|
|
|
+ valSql.append(", '").append(value).append("'");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!opsParamMap.isEmpty()) {
|
|
|
+ keySql.append(", key_201");
|
|
|
+ String data = DataStructureFormatUtils.buildData(opsParamMap);
|
|
|
+ try {
|
|
|
+ if (!map.containsKey( "key_201")) {
|
|
|
+ jdbcTemplate.execute("alter table " + tabName + " add column key_201 text");
|
|
|
+ } else {
|
|
|
+ Integer i = map.get("key_201");
|
|
|
+ if (data.length() > i) {
|
|
|
+ if (i < 10000) {
|
|
|
+ // 65535 byte
|
|
|
+ jdbcTemplate.execute("alter table " + tabName + " modify column key_201 text");
|
|
|
+ }else {
|
|
|
+ // 16777215 byte
|
|
|
+ jdbcTemplate.execute("alter table " + tabName + " modify column key_201 mediumtext");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ valSql.append(", '").append(data).append("'");
|
|
|
+ }
|
|
|
+ sql.append("(").append(keySql).append(")").append(" values(").append(valSql).append(")");
|
|
|
+ return sql;
|
|
|
+ }
|
|
|
|
|
|
// 获取用户
|
|
|
@Override
|
|
@@ -1690,6 +1729,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
|
|
|
|
if (dataIn != null && dataIn.size() >= 1) {
|
|
|
Map<String, Object> mysqlData = dataIn.get(0);
|
|
|
+ DataStructureFormatUtils.parseDataByKey(mysqlData);
|
|
|
for (String key : mysqlData.keySet()) {
|
|
|
String tabVal = mysqlData.get(key) + "";
|
|
|
// 时间段处理
|
|
@@ -1975,6 +2015,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
|
|
|
|
if (dataIn != null && dataIn.size() >= 1) {
|
|
|
Map<String, Object> mysqlData = dataIn.get(0);
|
|
|
+ DataStructureFormatUtils.parseDataByKey(mysqlData);
|
|
|
for (String key : mysqlData.keySet()) {
|
|
|
String tabVal = mysqlData.get(key) + "";
|
|
|
// 时间段处理
|
|
@@ -3083,6 +3124,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
|
reData1=new HashMap<>(reData);
|
|
|
if (dataIn.size() >= 1) {
|
|
|
Map<String, Object> mysqlData = dataIn.get(0);
|
|
|
+ DataStructureFormatUtils.parseDataByKey(mysqlData);
|
|
|
for (String key : mysqlData.keySet()) {
|
|
|
String tabVal = mysqlData.get(key) + "";
|
|
|
|
|
@@ -3353,6 +3395,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
|
|
|
|
if (dataIn.size() >= 1) {
|
|
|
Map<String, Object> mysqlData = dataIn.get(0);
|
|
|
+ DataStructureFormatUtils.parseDataByKey(mysqlData);
|
|
|
for (String key : mysqlData.keySet()) {
|
|
|
String tabVal = mysqlData.get(key) + "";
|
|
|
|
|
@@ -4015,22 +4058,22 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
|
//新增SQL
|
|
|
String sqlInfo = "";
|
|
|
LinkedHashMap<String, String> dataMap2 = tableInfo.getDataMap();
|
|
|
- updateFieldLength(wbsTreePrivate.getInitTableName() ,dataMap2);
|
|
|
if(!dataMap2.containsKey("p_key_id")){
|
|
|
if(tableInfo.getPkeyId()!=null&&!tableInfo.getPkeyId().equals("")){
|
|
|
dataMap2.put("p_key_id",tableInfo.getPkeyId());
|
|
|
}
|
|
|
}
|
|
|
- sqlInfo = "INSERT INTO " + wbsTreePrivate.getInitTableName() + " ( ";
|
|
|
- String keyStr = "id,group_id,";
|
|
|
- String valStr = SnowFlakeUtil.getId() + "," + groupId + ",";
|
|
|
- for (String keys : dataMap2.keySet()) {
|
|
|
- keyStr += keys + ",";
|
|
|
- valStr += "'" + dataMap2.get(keys) + "',";
|
|
|
- }
|
|
|
- keyStr = keyStr.substring(0, keyStr.lastIndexOf(","));
|
|
|
- valStr = valStr.substring(0, valStr.lastIndexOf(","));
|
|
|
- sqlInfo = sqlInfo + keyStr + ") VALUES (" + valStr + ")";
|
|
|
+ sqlInfo = buildMTableInsertSql(wbsTreePrivate.getInitTableName(), dataMap2, SnowFlakeUtil.getId(), groupId, tableInfo.getPkeyId()).toString();
|
|
|
+// sqlInfo = "INSERT INTO " + wbsTreePrivate.getInitTableName() + " ( ";
|
|
|
+// String keyStr = "id,group_id,";
|
|
|
+// String valStr = SnowFlakeUtil.getId() + "," + groupId + ",";
|
|
|
+// for (String keys : dataMap2.keySet()) {
|
|
|
+// keyStr += keys + ",";
|
|
|
+// valStr += "'" + dataMap2.get(keys) + "',";
|
|
|
+// }
|
|
|
+// keyStr = keyStr.substring(0, keyStr.lastIndexOf(","));
|
|
|
+// valStr = valStr.substring(0, valStr.lastIndexOf(","));
|
|
|
+// sqlInfo = sqlInfo + keyStr + ") VALUES (" + valStr + ")";
|
|
|
TransactionStatus transactionStatus = this.beginTransaction(transactionManager1);
|
|
|
try {
|
|
|
//删除
|
|
@@ -5283,6 +5326,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
|
|
|
|
if (dataIn.size() >= 1) {
|
|
|
Map<String, Object> mysqlData = dataIn.get(0);
|
|
|
+ DataStructureFormatUtils.parseDataByKey(mysqlData);
|
|
|
for (String key : mysqlData.keySet()) {
|
|
|
String tabVal = mysqlData.get(key) + "";
|
|
|
// 时间段处理
|
|
@@ -5707,6 +5751,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
|
|
|
|
if (dataIn.size() >= 1) {
|
|
|
Map<String, Object> mysqlData = dataIn.get(0);
|
|
|
+ DataStructureFormatUtils.parseDataByKey(mysqlData);
|
|
|
for (String key : mysqlData.keySet()) {
|
|
|
String tabVal = mysqlData.get(key) + "";
|
|
|
// 时间段处理
|