fix: 优化逻辑
This commit is contained in:
parent
fc09d69302
commit
d439191a9b
@ -29,4 +29,7 @@ public class MsOperationLog implements Serializable {
|
|||||||
|
|
||||||
@TableField("REMARK")
|
@TableField("REMARK")
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
|
@TableField("TABLE_NAME")
|
||||||
|
private String tableName;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -382,6 +382,7 @@ public class MsOperationLogServiceImpl implements IMsOperationLogService {
|
|||||||
MsOperationLog log = new MsOperationLog();
|
MsOperationLog log = new MsOperationLog();
|
||||||
log.setOperator(resolveOperator());
|
log.setOperator(resolveOperator());
|
||||||
log.setOperateTime(new Date());
|
log.setOperateTime(new Date());
|
||||||
|
log.setTableName(ENG_TABLE_NAME);
|
||||||
log.setSource(StrUtil.trimToNull(source));
|
log.setSource(StrUtil.trimToNull(source));
|
||||||
log.setRemark(remark);
|
log.setRemark(remark);
|
||||||
return log;
|
return log;
|
||||||
|
|||||||
@ -48,15 +48,6 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
|||||||
|
|
||||||
private static final LinkedHashMap<String, String> WQ_UPDATE_COLUMN_MAP = new LinkedHashMap<>();
|
private static final LinkedHashMap<String, String> WQ_UPDATE_COLUMN_MAP = new LinkedHashMap<>();
|
||||||
private static final Map<String, String> WQ_FIELD_MEANING_MAP = new LinkedHashMap<>();
|
private static final Map<String, String> WQ_FIELD_MEANING_MAP = new LinkedHashMap<>();
|
||||||
private static final List<String> WQ_SNAPSHOT_COLUMNS = Arrays.asList(
|
|
||||||
"STCD", "TM", "DT", "DRTP", "YEAR", "MONTH",
|
|
||||||
"WTMP", "PH", "DOX", "CODMN", "CODCR", "BOD5", "NH3N", "TP", "TN",
|
|
||||||
"CU", "ZN", "F", "SE", "ARS", "HG", "CD", "CR6", "PB", "CN",
|
|
||||||
"VLPH", "OIL", "LAS", "S2", "FCG", "CL", "SO4", "NO3", "THRD",
|
|
||||||
"COND", "FE", "MN", "AL", "CHLA", "CLARITY", "TU", "CYANO",
|
|
||||||
"WQGRD", "SFDB", "WQ_SFDBHN_YS", "IS_DELETED"
|
|
||||||
);
|
|
||||||
|
|
||||||
static {
|
static {
|
||||||
WQ_UPDATE_COLUMN_MAP.put("wtmp", "WTMP");
|
WQ_UPDATE_COLUMN_MAP.put("wtmp", "WTMP");
|
||||||
WQ_UPDATE_COLUMN_MAP.put("ph", "PH");
|
WQ_UPDATE_COLUMN_MAP.put("ph", "PH");
|
||||||
@ -144,8 +135,6 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
|||||||
WQ_FIELD_MEANING_MAP.put("WWQTG", "水功能区目标");
|
WQ_FIELD_MEANING_MAP.put("WWQTG", "水功能区目标");
|
||||||
WQ_FIELD_MEANING_MAP.put("SFDB", "是否达标");
|
WQ_FIELD_MEANING_MAP.put("SFDB", "是否达标");
|
||||||
WQ_FIELD_MEANING_MAP.put("WQ_SFDBHN_YS", "是否达标湖内饮用水源");
|
WQ_FIELD_MEANING_MAP.put("WQ_SFDBHN_YS", "是否达标湖内饮用水源");
|
||||||
WQ_FIELD_MEANING_MAP.put("ROW_KEY", "删除记录标识");
|
|
||||||
WQ_FIELD_MEANING_MAP.put("ROW_DATA", "删除记录数据");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
@ -4176,12 +4165,19 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
|||||||
List<MsOperationLogDetail> details = new ArrayList<>();
|
List<MsOperationLogDetail> details = new ArrayList<>();
|
||||||
for (Map<String, Object> row : rows) {
|
for (Map<String, Object> row : rows) {
|
||||||
String stcd = asString(row.get("STCD"));
|
String stcd = asString(row.get("STCD"));
|
||||||
String rowKey = buildWqRowKey(tableName, row);
|
for (Map.Entry<String, Object> entry : row.entrySet()) {
|
||||||
String rowSnapshot = buildWqRowSnapshot(row);
|
String fieldCode = entry.getKey();
|
||||||
details.add(buildWqDetail(mainLog.getId(), tableName, stcd, "ROW_KEY",
|
if (StrUtil.isBlank(fieldCode)) {
|
||||||
rowKey, rowKey, null, null, "删除记录"));
|
continue;
|
||||||
details.add(buildWqDetail(mainLog.getId(), tableName, stcd, "ROW_DATA",
|
}
|
||||||
rowSnapshot, rowSnapshot, null, null, "删除记录"));
|
Object oldValue = entry.getValue();
|
||||||
|
if (oldValue == null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
details.add(buildWqDetail(mainLog.getId(), tableName, stcd, fieldCode,
|
||||||
|
oldValue, resolveWqDisplayValue(fieldCode, oldValue),
|
||||||
|
null, null, "删除字段值"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
batchInsertWqLogDetails(details);
|
batchInsertWqLogDetails(details);
|
||||||
}
|
}
|
||||||
@ -4190,6 +4186,7 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
|||||||
MsOperationLog log = new MsOperationLog();
|
MsOperationLog log = new MsOperationLog();
|
||||||
log.setOperator(resolveLogOperator());
|
log.setOperator(resolveLogOperator());
|
||||||
log.setOperateTime(new Date());
|
log.setOperateTime(new Date());
|
||||||
|
log.setTableName(WQ_HOUR_TABLE_NAME);
|
||||||
log.setSource(StrUtil.trimToNull(source));
|
log.setSource(StrUtil.trimToNull(source));
|
||||||
log.setRemark(remark);
|
log.setRemark(remark);
|
||||||
return log;
|
return log;
|
||||||
@ -4222,34 +4219,12 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
|||||||
if (CollUtil.isEmpty(details)) {
|
if (CollUtil.isEmpty(details)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
msOperationLogDetailMapper.insert(details);
|
for (MsOperationLogDetail detail : details) {
|
||||||
}
|
if (detail == null) {
|
||||||
|
|
||||||
private String buildWqRowKey(String tableName, Map<String, Object> row) {
|
|
||||||
if (WQ_HOUR_TABLE_NAME.equals(tableName)) {
|
|
||||||
return "STCD=" + formatLogValue(row.get("STCD")) + ", TM=" + formatLogValue(row.get("TM"));
|
|
||||||
}
|
|
||||||
if (WQ_DAY_TABLE_NAME.equals(tableName)) {
|
|
||||||
return "STCD=" + formatLogValue(row.get("STCD")) + ", DT=" + formatLogValue(row.get("DT"));
|
|
||||||
}
|
|
||||||
return "STCD=" + formatLogValue(row.get("STCD")) + ", DRTP=" + formatLogValue(row.get("DRTP")) +
|
|
||||||
", YEAR=" + formatLogValue(row.get("YEAR")) + ", MONTH=" + formatLogValue(row.get("MONTH"));
|
|
||||||
}
|
|
||||||
|
|
||||||
private String buildWqRowSnapshot(Map<String, Object> row) {
|
|
||||||
if (row == null || row.isEmpty()) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
List<String> parts = new ArrayList<>();
|
|
||||||
for (String column : WQ_SNAPSHOT_COLUMNS) {
|
|
||||||
Object value = row.get(column);
|
|
||||||
String text = formatLogValue(value);
|
|
||||||
if (StrUtil.isBlank(text)) {
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
parts.add(column + "=" + text);
|
msOperationLogDetailMapper.insert(detail);
|
||||||
}
|
}
|
||||||
return parts.isEmpty() ? null : String.join("; ", parts);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private Object resolveWqDisplayValue(String fieldCode, Object rawValue) {
|
private Object resolveWqDisplayValue(String fieldCode, Object rawValue) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user