修改:同步任务异常信息优化

This commit is contained in:
2026-02-03 14:35:32 +08:00
parent 0ee4b469b2
commit 61001d680a
4 changed files with 36 additions and 35 deletions

View File

@@ -1,4 +1,5 @@
package com.sdm.outbridge.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
@@ -12,7 +13,7 @@ import lombok.experimental.Accessors;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName(value = "v_project_station_exception_to_DM", autoResultMap = true)
@TableName(value = "v_ecn_info_DM", autoResultMap = true)
@Schema(description = "项目——工位——异常信息视图")
public class LyricVProjectStationExcepTionToDM {
@@ -21,35 +22,35 @@ public class LyricVProjectStationExcepTionToDM {
private String projectNum;
@Schema(description = "异常编号")
@TableField(value = "exception_num")
private String exceptionNum;
@TableField(value = "ecn_code")
private String ecnCode;
@Schema(description = "异常描述")
@TableField(value = "exception_desc")
private String exceptionDesc;
@TableField(value = "question_description")
private String questionDescription;
@Schema(description = "工位")
@TableField(value = "station_num")
private String stationNum;
@Schema(description = "工位")
@TableField(value = "station_code")
private String stationCode;
@Schema(description = "工位名称")
@TableField(value = "station_name")
private String stationName;
@Schema(description = "异常类别")
@TableField(value = "exception_type")
private String exceptionType;
@Schema(description = "当前责任人")
@TableField(value = "current_responsible_person")
private String currentResponsiblePerson;
@Schema(description = "异常提出者")
@TableField(value = "exception_proposer")
private String exceptionProposer;
@TableField(value = "question_proposer")
private String questionProposer;
@Schema(description = "异常类别")
@TableField(value = "exception_category")
private String exceptionCategory;
@Schema(description = "异常等级")
@TableField(value = "exception_level")
private String exceptionLevel;
@TableField(value = "abnormal_level")
private String abnormalLevel;
@Schema(description = "工号")
@TableField(value = "jobnum")
private String jobNum;
}

View File

@@ -5,21 +5,21 @@
<select id="queryExceptionsByProjectAndStation"
resultType="com.sdm.outbridge.entity.LyricVProjectStationExcepTionToDM">
SELECT
project_num,
exception_num,
exception_desc,
station_num,
station_name,
exception_type,
current_responsible_person,
exception_proposer,
exception_level
FROM LyricVProjectStationExcepTionToDM
project_num projectNum,
ecn_code ecnCode,
question_description questionDescription,
station_code stationCode,
station_name stationName,
question_proposer questionProposer,
exception_category exceptionCategory,
abnormal_level abnormalLevel,
jobnum jobNum
FROM v_ecn_info_DM
WHERE 1=1
AND (
<foreach collection="list" item="task" separator="OR">
<!-- 核心条件projectNum = tag1Code 且 stationNum = tag5Code -->
(project_num = #{task.tag1Code} AND station_num = #{task.tag5Code})
<!-- 核心条件project_num = tag1Code 且 station_code = tag5Code -->
(project_num = #{task.tag1Code} AND station_code = #{task.tag5Code})
</foreach>
)
</select>

View File

@@ -2106,10 +2106,10 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
// 过滤掉异常列表中的无效数据null 或关键字段为空)
.filter(exception -> exception != null
&& exception.getProjectNum() != null && !exception.getProjectNum().trim().isEmpty()
&& exception.getStationNum() != null && !exception.getStationNum().trim().isEmpty())
&& exception.getStationCode() != null && !exception.getStationCode().trim().isEmpty())
.map(exception -> {
// 生成匹配键projectNum + "_" + stationNum
String matchKey = exception.getProjectNum().trim() + "_" + exception.getStationNum().trim();
String matchKey = exception.getProjectNum().trim() + "_" + exception.getStationCode().trim();
// 从 taskMap 中查找匹配的任务对象
SimulationTaskSyncExBo matchTask = taskMap.get(matchKey);
if (matchTask != null) {

View File

@@ -764,7 +764,7 @@
<select id="queryNodeCodeByTags" resultType="com.sdm.project.model.entity.SimulationNode">
SELECT nodeCode,uuid
FROM spdm_baseline.simulation_node
FROM simulation_node
WHERE nodeType = #{tagValue}
<!-- 处理 List<String> 的 IN 条件,防止空列表导致 SQL 报错 -->
<if test="list != null and list.size() > 0">