feat(device): 增加除尘器设备数据处理支持
- 删除多余的 PageData 对象创建,简化 listTargetByEquId 方法调用- 增加对除尘器设备阈值数据的查询与处理逻辑- 优化设备ID匹配逻辑,明确区分高炉与除尘器设备 - 增加PLC_NAME字段以完善设备信息- 实现实时数据表的插入与更新逻辑,确保数据同步 - 扩展TbIronPlcMapper接口及XML映射文件,支持实时数据操作- 更新TagDescription枚举描述,提高标签可读性 -优化MesDeviceMonitoringMapper接口结构,移除冗余注释dev
							parent
							
								
									9ac702069b
								
							
						
					
					
						commit
						edb9196ffe
					
				|  | @ -22,7 +22,6 @@ public class AppPosiDeviceController { | |||
|     @Resource | ||||
|     private TbIronPlcMapper tbIronPlcMapper; | ||||
| 
 | ||||
| 
 | ||||
|     @Resource | ||||
|     private MesDeviceMonitoringMapper mesDeviceMonitoringMapper; | ||||
| 
 | ||||
|  | @ -157,8 +156,7 @@ public class AppPosiDeviceController { | |||
|         String location = parma.get("location"); | ||||
|         // 根据设备的地点和td1或者是t2td1判断出设备对应系统中的哪个
 | ||||
|         // 查出所有一氧化碳设备的阈值配置
 | ||||
|         PageData equPd = new PageData(); | ||||
|         List<PageData> targetAllList = tbIronPlcMapper.listTargetByEquId(equPd); | ||||
|         List<PageData> targetAllList = tbIronPlcMapper.listTargetByEquId(); | ||||
|         // 定义一个存储集合用于存储要入库的数据
 | ||||
|         List<Map<String, Object>> dataList = new ArrayList<>(); | ||||
|         // TODO: 这里要读表作对比然后存入数据库
 | ||||
|  |  | |||
|  | @ -5,11 +5,45 @@ import com.zcloud.entity.PageData; | |||
| import java.util.ArrayList; | ||||
| import java.util.HashMap; | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
| 
 | ||||
| public interface TbIronPlcMapper { | ||||
| 
 | ||||
| 
 | ||||
|     ArrayList<HashMap<String,String>> listAll (); | ||||
| 
 | ||||
|     List<PageData> listTargetByEquId(PageData pd); | ||||
| } | ||||
|     List<PageData> listTargetByEquId(); | ||||
| 
 | ||||
|     List<PageData> listDustDeviceAll(); | ||||
| 
 | ||||
|     /** | ||||
|      * 根据设备ID查询实时数据 | ||||
|      * @param equipmentId 设备ID | ||||
|      * @return 数据列表 | ||||
|      */ | ||||
|     List<PageData> listRealtimeDataByEquipmentId(String equipmentId); | ||||
| 
 | ||||
|     /** | ||||
|      * 批量插入数据到实时表 | ||||
|      * @param dataList 数据列表 | ||||
|      */ | ||||
|     void insertBatchToRealtime(List<Map<String, Object>> dataList); | ||||
| 
 | ||||
|     /** | ||||
|      * 单条插入数据到实时表 | ||||
|      * @param data 数据 | ||||
|      */ | ||||
|     void insertToRealtime(Map<String, Object> data); | ||||
| 
 | ||||
|     /** | ||||
|      * 批量更新从MES获取的数据 | ||||
|      * @param dataList 数据列表 | ||||
|      */ | ||||
|     void updateBatchToRealtime(List<Map<String, Object>> dataList); | ||||
|      | ||||
|     /** | ||||
|      * 单条更新从MES获取的数据 | ||||
|      * @param data 数据 | ||||
|      */ | ||||
|     void updateToRealtime(Map<String, Object> data); | ||||
| } | ||||
|  | @ -6,9 +6,6 @@ import org.springframework.stereotype.Repository; | |||
| import java.util.List; | ||||
| import java.util.Map; | ||||
| 
 | ||||
| /** | ||||
|  * MES数据访问接口 | ||||
|  */ | ||||
| @Repository | ||||
| public interface MesDeviceMonitoringMapper { | ||||
| 
 | ||||
|  | @ -24,4 +21,5 @@ public interface MesDeviceMonitoringMapper { | |||
|      * @param dataList 数据列表 | ||||
|      */ | ||||
|     void saveBatchFromMes(List<Map<String, Object>> dataList); | ||||
| 
 | ||||
| } | ||||
|  |  | |||
|  | @ -137,9 +137,10 @@ public class MesDataScheduled extends IJobHandler { | |||
| 
 | ||||
|         XxlJobHelper.log("从MES系统获取到{}条数据", mesDataList.size()); | ||||
| 
 | ||||
|         // 查询填报的所有阈值数据
 | ||||
|         PageData equPd = new PageData(); | ||||
|         List<PageData> targetAllList = tbIronPlcMapper.listTargetByEquId(equPd); | ||||
|         // 查询高炉、转炉、精炼炉、一氧化碳报警器设备填报的所有阈值数据
 | ||||
|         List<PageData> targetAllList = tbIronPlcMapper.listTargetByEquId(); | ||||
|         // 查询除尘器设备填报的所有阈值数据
 | ||||
|         List<PageData> targetDustAllList = tbIronPlcMapper.listDustDeviceAll(); | ||||
| 
 | ||||
|         // 1#精炼炉
 | ||||
|         List<PageData> jll1TargetList = targetAllList.stream() | ||||
|  | @ -175,6 +176,7 @@ public class MesDataScheduled extends IJobHandler { | |||
|                 .filter(item -> item.get("EQUIPMENT_ID") != null && item.get("EQUIPMENT_ID").equals("67c2e8315ca57d68201762e4ce9db351")) | ||||
|                 .collect(Collectors.toList()); | ||||
| 
 | ||||
| 
 | ||||
|         // 保存数据到数据库
 | ||||
|         if (!mesDataList.isEmpty()) { | ||||
|             ArrayList<Map<String, Object>> mesSaveList = new ArrayList<>(); | ||||
|  | @ -190,7 +192,6 @@ public class MesDataScheduled extends IJobHandler { | |||
|                     mesData.put("INSERT_TIME", DateUtil.date2Str(new Date())); | ||||
|                     mesData.put("WARNING", 0); // 是否告警 要完善相关告警逻辑进行判断
 | ||||
|                     mesData.put("GATHER_TIME", 5); | ||||
|                     mesData.put("PLC_NAME", ""); | ||||
|                     mesData.put("OVERVIEW_OF_ALERTS", ""); | ||||
|                     // 下面是在已经填报的
 | ||||
|                     String[] parts = key.split("_", 2);  // split("_", 2) 限制分割为2部分
 | ||||
|  | @ -211,23 +212,33 @@ public class MesDataScheduled extends IJobHandler { | |||
|                     } else if (suffix.equals("A2") || suffix.equals("B2")) { | ||||
|                         mesData.put("EQUIPMENT_ID", "2c83b99df54e80a674be5657b11db55c"); | ||||
|                         collect = zl2TargetList.stream().filter(item -> item.getString("TARGET_NAME").equals(key)).collect(Collectors.toList()); | ||||
|                     } else if (key.contains("1#")) { | ||||
|                     } else if (key.contains("1#高炉")) { | ||||
|                         mesData.put("EQUIPMENT_ID", "c6825a6e1c959c3e5c800433516b2e8d"); | ||||
|                         collect = gl1TargetList.stream().filter(item -> item.getString("TARGET_NAME").equals(key)).collect(Collectors.toList()); | ||||
|                     } else if (key.contains("2#")) { | ||||
|                     } else if (key.contains("2#高炉")) { | ||||
|                         mesData.put("EQUIPMENT_ID", "7face71b8cb7b47872cbe94f9b16831d"); | ||||
|                         collect = gl2TargetList.stream().filter(item -> item.getString("TARGET_NAME").equals(key)).collect(Collectors.toList()); | ||||
|                     } else if (key.contains("3#")) { | ||||
|                     } else if (key.contains("3#高炉")) { | ||||
|                         mesData.put("EQUIPMENT_ID", "2cb052450581597064b510118c076e2a"); | ||||
|                         collect = gl3TargetList.stream().filter(item -> item.getString("TARGET_NAME").equals(key)).collect(Collectors.toList()); | ||||
|                     } else if (key.contains("4#")) { | ||||
|                     } else if (key.contains("4#高炉")) { | ||||
|                         mesData.put("EQUIPMENT_ID", "67c2e8315ca57d68201762e4ce9db351"); | ||||
|                         collect = gl4TargetList.stream().filter(item -> item.getString("TARGET_NAME").equals(key)).collect(Collectors.toList()); | ||||
|                     } else if (key.contains("1#除尘器")) { | ||||
|                         mesData.put("EQUIPMENT_ID", "72c06a71cadd49ccb8a202e9f5f45553"); | ||||
|                         collect = targetDustAllList.stream().filter(item -> item.getString("PLC_NAME").equals(key)).collect(Collectors.toList()); | ||||
|                     } else if (key.contains("2#除尘器")) { | ||||
|                         mesData.put("EQUIPMENT_ID", "06fdb464c7a74abbb2b82e19a27ec2d3"); | ||||
|                         collect = targetDustAllList.stream().filter(item -> item.getString("PLC_NAME").equals(key)).collect(Collectors.toList()); | ||||
|                     } else if (key.contains("3#除尘器")) { | ||||
|                         mesData.put("EQUIPMENT_ID", "d0a99c9671ea429e9bbbc7ec69a085b9"); | ||||
|                         collect = targetDustAllList.stream().filter(item -> item.getString("PLC_NAME").equals(key)).collect(Collectors.toList()); | ||||
|                     } | ||||
|                     if (collect.size() > 0) { | ||||
|                         PageData pageData = collect.get(0); | ||||
|                         mesData.put("IPCDEVICE_ID", pageData.getString("IPCDEVICE_ID")); | ||||
|                         mesData.put("PLC_ID", pageData.getString("PLC_ID")); | ||||
|                         mesData.put("PLC_NAME", pageData.getString("PLC_NAME")); | ||||
|                         mesData.put("TARGET_TYPE", pageData.getString("TARGET_TYPE")); | ||||
|                         mesData.put("TARGET_PLACE", pageData.getString("TARGET_PLACE")); | ||||
|                         mesData.put("TARGET_UNIT", pageData.getString("TARGET_UNIT")); | ||||
|  | @ -247,6 +258,7 @@ public class MesDataScheduled extends IJobHandler { | |||
|                     } else { | ||||
|                         mesData.put("IPCDEVICE_ID", ""); | ||||
|                         mesData.put("PLC_ID", ""); | ||||
|                         mesData.put("PLC_NAME", ""); | ||||
|                         mesData.put("TARGET_TYPE", ""); | ||||
|                         mesData.put("TARGET_PLACE", ""); | ||||
|                         mesData.put("TARGET_UNIT", ""); | ||||
|  | @ -269,6 +281,47 @@ public class MesDataScheduled extends IJobHandler { | |||
|             } | ||||
| 
 | ||||
|             // 处理接过来的MES数据
 | ||||
|             // 先查询实时数据表中是否已有对应设备的数据
 | ||||
|             List<Map<String, Object>> insertList = new ArrayList<>(); | ||||
|             List<Map<String, Object>> updateList = new ArrayList<>(); | ||||
| 
 | ||||
|             for (Map<String, Object> data : mesSaveList) { | ||||
|                 String equipmentId = (String) data.get("EQUIPMENT_ID"); | ||||
|                 if (equipmentId != null && !equipmentId.isEmpty()) { | ||||
|                     // 查询该设备在实时数据表中是否已存在
 | ||||
|                     List<PageData> existingData = tbIronPlcMapper.listRealtimeDataByEquipmentId(equipmentId); | ||||
|                     if (existingData != null && !existingData.isEmpty()) { | ||||
|                         // 如果存在,则加入更新列表
 | ||||
|                         updateList.add(data); | ||||
|                     } else { | ||||
|                         // 如果不存在,则加入插入列表
 | ||||
|                         insertList.add(data); | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
| 
 | ||||
|             // 对于不存在的数据执行插入操作到实时表
 | ||||
|             if (!insertList.isEmpty()) { | ||||
|                 int insertCount = 0; | ||||
|                 for (Map<String, Object> data : insertList) { | ||||
|                     // 使用单条插入方法因为批量插入拼接sql会有乱码执行不成功
 | ||||
|                     tbIronPlcMapper.insertToRealtime(data); | ||||
|                     insertCount++; | ||||
|                 } | ||||
|                 XxlJobHelper.log("成功插入{}条新数据到实时数据表", insertCount); | ||||
|             } | ||||
| 
 | ||||
|             // 对于已存在的数据执行更新操作
 | ||||
|             if (!updateList.isEmpty()) { | ||||
|                 int updateCount = 0; | ||||
|                 for (Map<String, Object> data : updateList) { | ||||
|                     // 使用单条更新方法因为批量更新拼接sql会有乱码执行不成功
 | ||||
|                     tbIronPlcMapper.updateToRealtime(data); | ||||
|                     updateCount++; | ||||
|                 } | ||||
|                 XxlJobHelper.log("成功更新{}条实时数据表中的数据", updateCount); | ||||
|             } | ||||
|             // 保存MES数据
 | ||||
|             mesDeviceMonitoringMapper.saveBatchFromMes(mesSaveList); | ||||
|             XxlJobHelper.log("成功保存{}条MES数据到本地数据库", mesSaveList.size()); | ||||
| 
 | ||||
|  |  | |||
|  | @ -2,23 +2,23 @@ package com.zcloud.scheduled.dataDocking; | |||
| 
 | ||||
| public enum TagDescription { | ||||
|     // 定义枚举常量,TAG值作为名称,描述作为参数
 | ||||
|     TAG325("1#炉顶西压力"), | ||||
|     TAG326("1#炉顶东压力"), | ||||
|     TAG325("1#高炉顶西压力"), | ||||
|     TAG326("1#高炉顶东压力"), | ||||
|     TAG317("1#高炉南放散开关"), | ||||
|     TAG318("1#高炉北放散开关"), | ||||
|     TAG327("2#炉顶西压力"), | ||||
|     TAG328("2#炉顶东压力"), | ||||
|     TAG327("2#高炉顶西压力"), | ||||
|     TAG328("2#高炉顶东压力"), | ||||
|     TAG319("2#高炉南放散开关"), | ||||
|     TAG320("2#高炉北放散开关"), | ||||
|     TAG329("3#炉顶西压力"), | ||||
|     TAG330("3#炉顶东压力"), | ||||
|     TAG329("3#高炉顶西压力"), | ||||
|     TAG330("3#高炉顶东压力"), | ||||
|     TAG321("3#高炉南放散开关"), | ||||
|     TAG322("3#高炉北放散开关"), | ||||
|     TAG331("4#煤气上升管东北压力"), | ||||
|     TAG332("4#煤气上升管东南压力"), | ||||
|     TAG333("4#煤气上升管西北压力"), | ||||
|     TAG334("4#煤气上升管西南压力"), | ||||
|     TAG323("4#高炉南放散开关"), | ||||
|     TAG331("4#高炉煤气上升管东北压力"), | ||||
|     TAG332("4#高炉煤气上升管东南压力"), | ||||
|     TAG333("4#高炉煤气上升管西北压力"), | ||||
|     TAG334("4#高炉煤气上升管西南压力"), | ||||
|     TAG323("4#高炉高炉南放散开关"), | ||||
|     TAG324("4#高炉北放散开关"), | ||||
|     // 除尘器参数枚举
 | ||||
|     TAG335("1#除尘器进风口压力"), | ||||
|  |  | |||
|  | @ -22,7 +22,8 @@ | |||
|             mt.TARGET_DESCRIPTION, | ||||
|             mt.BIT_NO, | ||||
|             mt.SIGNAL_TYPE, | ||||
|             mt.ALARM_VALUE | ||||
|             mt.ALARM_VALUE, | ||||
|             mt.REPORT_ID | ||||
|         FROM | ||||
|             tb_iron_plc p | ||||
|                 LEFT JOIN tb_iron_equipment_info e on p.EQUIPMENT_ID = e.EQUIPMENT_ID | ||||
|  | @ -31,43 +32,160 @@ | |||
|             p.CORPINFO_ID = '499d43c24fab49f59391ce49fb401837' and p.ISDELETE = 0  and mt.ISDELETE = 0 | ||||
|     </select> | ||||
| 
 | ||||
|     <select id="listDustDeviceAll" resultType="com.zcloud.entity.PageData"> | ||||
|         SELECT | ||||
|             dds.DEVICE_SENSOR_ID as PLC_ID, | ||||
|             dds.SENSOR_NAME as PLC_NAME, | ||||
|             dds.SENSOR_CODE as IPCDEVICE_ID, | ||||
|             dds.DEVICE_ID as EQUIPMENT_ID, | ||||
|             dd.DEVICE_TYPE, | ||||
|             ddsa.RULE_NAME as TARGET_NAME, | ||||
|             dds.SENSOR_TYPE as TARGET_TYPE, | ||||
|             dds.INDICATOR_POSITION as TARGET_PLACE, | ||||
|             dds.UNIT_VALUE as TARGET_UNIT, | ||||
|             ddsa.HIGH_ALARM as THRESHOLD_UP_LIMIT, | ||||
|             ddsa.HIGH_HIGH_ALARM as THRESHOLD_UP_UP_LIMIT, | ||||
|             ddsa.LOW_ALARM as THRESHOLD_DOWN_LIMIT, | ||||
|             ddsa.LOW_LOW_ALARM as THRESHOLD_DOWN_DOWN_LIMIT, | ||||
|             dds.DESCRIPTION as TARGET_DESCRIPTION, | ||||
|             dds.TAG_NUMBER as BIT_NO, | ||||
|             dds.SIGNAL_TYPE, | ||||
|             ddsa.SWITCH_ALARM_VALUE as ALARM_VALUE, | ||||
|             dds.DISABLED_STATUS as TARGET_STATUS, | ||||
|             dds.CORPINFO_ID, | ||||
|             dds.DATA_ACCESS_CODE as REPORT_ID | ||||
|         FROM | ||||
|             dust_device_sensor dds | ||||
|                 LEFT JOIN dust_device dd on dd.DEVICE_ID = dds.DEVICE_ID | ||||
|                 LEFT JOIN dust_device_sensor_alarm_rule ddsa on ddsa.DEVICE_SENSOR_ID = dds.DEVICE_SENSOR_ID | ||||
|         WHERE | ||||
|             dds.CORPINFO_ID = '499d43c24fab49f59391ce49fb401837' and dds.ISDELETE = 0 | ||||
|     </select> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     <!-- 查询填报的数据上下限高低值范围 --> | ||||
|     <select id="listTargetByEquId" parameterType="com.zcloud.entity.PageData" resultType="com.zcloud.entity.PageData"> | ||||
|         select | ||||
|             p.MONITORING_ID, | ||||
|             p.IPCDEVICE_ID, | ||||
|     <select id="listTargetByEquId" resultType="com.zcloud.entity.PageData"> | ||||
|         SELECT | ||||
|             p.PLC_ID, | ||||
|             plc.EQUIPMENT_ID, | ||||
|             p.TARGET_NAME, | ||||
|             p.TARGET_TYPE, | ||||
|             p.TARGET_PLACE, | ||||
|             p.TARGET_UNIT, | ||||
|             p.THRESHOLD_UP_LIMIT, | ||||
|             p.THRESHOLD_UP_UP_LIMIT, | ||||
|             p.THRESHOLD_DOWN_LIMIT, | ||||
|             p.THRESHOLD_DOWN_DOWN_LIMIT, | ||||
|             p.RANGE_UP, | ||||
|             p.RANGE_DOWN, | ||||
|             p.TARGET_DESCRIPTION, | ||||
|             p.BIT_NO, | ||||
|             p.SIGNAL_TYPE, | ||||
|             p.ALARM_VALUE, | ||||
|             p.TARGET_STATUS, | ||||
|             p.PLC_NAME, | ||||
|             p.IPCDEVICE_ID, | ||||
|             p.EQUIPMENT_ID, | ||||
|             e.DEVICE_TYPE, | ||||
|             mt.TARGET_NAME, | ||||
|             mt.TARGET_TYPE, | ||||
|             mt.TARGET_PLACE, | ||||
|             mt.TARGET_UNIT, | ||||
|             mt.THRESHOLD_UP_LIMIT, | ||||
|             mt.THRESHOLD_UP_UP_LIMIT, | ||||
|             mt.THRESHOLD_DOWN_LIMIT, | ||||
|             mt.THRESHOLD_DOWN_DOWN_LIMIT, | ||||
|             mt.RANGE_UP, | ||||
|             mt.RANGE_DOWN, | ||||
|             mt.TARGET_DESCRIPTION, | ||||
|             mt.BIT_NO, | ||||
|             mt.SIGNAL_TYPE, | ||||
|             mt.ALARM_VALUE, | ||||
|             mt.TARGET_STATUS, | ||||
|             p.CORPINFO_ID, | ||||
|             p.CREATOR, | ||||
|             p.CREATTIME, | ||||
|             p.OPERATOR, | ||||
|             p.OPERATTIME, | ||||
|             p.ISDELETE, | ||||
|             p.REPORT_ID | ||||
|         from | ||||
|             tb_iron_monitoring_target p | ||||
|         left join tb_iron_plc plc ON p.PLC_ID = plc.PLC_ID | ||||
|         where | ||||
|             p.ISDELETE = 0 | ||||
|         and | ||||
|             plc.ISDELETE = 0 | ||||
|             mt.REPORT_ID | ||||
|         FROM | ||||
|             tb_iron_plc p | ||||
|                 LEFT JOIN tb_iron_equipment_info e on p.EQUIPMENT_ID = e.EQUIPMENT_ID | ||||
|                 LEFT JOIN tb_iron_monitoring_target mt on mt.PLC_ID = p.PLC_ID | ||||
|         WHERE | ||||
|             p.CORPINFO_ID = '499d43c24fab49f59391ce49fb401837' and p.ISDELETE = 0  and mt.ISDELETE = 0 | ||||
|     </select> | ||||
| 
 | ||||
|     <!-- 根据设备ID查询实时数据 --> | ||||
|     <select id="listRealtimeDataByEquipmentId" parameterType="java.lang.String" resultType="com.zcloud.entity.PageData"> | ||||
|         SELECT * FROM tb_iron_device_realtime_sxgt | ||||
|         WHERE EQUIPMENT_ID = #{equipmentId} | ||||
|     </select> | ||||
| 
 | ||||
| 
 | ||||
|     <!-- 单条插入数据到实时表 --> | ||||
|     <insert id="insertToRealtime" parameterType="java.util.Map"> | ||||
|         INSERT INTO tb_iron_device_realtime_sxgt ( | ||||
|             MONITORING_ID, | ||||
|             TARGET_NAME, | ||||
|             TARGET_PLACE, | ||||
|             TARGET_UNIT, | ||||
|             SIGNAL_TYPE, | ||||
|             CURRENT_VALUE, | ||||
|             ALARM_VALUE, | ||||
|             THRESHOLD_UP_LIMIT, | ||||
|             THRESHOLD_UP_UP_LIMIT, | ||||
|             THRESHOLD_DOWN_LIMIT, | ||||
|             THRESHOLD_DOWN_DOWN_LIMIT, | ||||
|             RANGE_UP, | ||||
|             RANGE_DOWN, | ||||
|             PROCESSING_TIME, | ||||
|             INSERT_TIME, | ||||
|             PLC_ID, | ||||
|             WARNING, | ||||
|             GATHER_TIME, | ||||
|             CORPINFO_ID, | ||||
|             IPCDEVICE_ID, | ||||
|             PLC_NAME, | ||||
|             PROCESSING_BATCH_ID, | ||||
|             OVERVIEW_OF_ALERTS, | ||||
|             EQUIPMENT_ID | ||||
|         ) | ||||
|         VALUES ( | ||||
|             #{MONITORING_ID, jdbcType=CHAR}, | ||||
|             #{TARGET_NAME, jdbcType=VARCHAR}, | ||||
|             #{TARGET_PLACE, jdbcType=VARCHAR}, | ||||
|             #{TARGET_UNIT, jdbcType=VARCHAR}, | ||||
|             #{SIGNAL_TYPE, jdbcType=VARCHAR}, | ||||
|             #{CURRENT_VALUE, jdbcType=VARCHAR}, | ||||
|             #{ALARM_VALUE, jdbcType=VARCHAR}, | ||||
|             #{THRESHOLD_UP_LIMIT, jdbcType=VARCHAR}, | ||||
|             #{THRESHOLD_UP_UP_LIMIT, jdbcType=VARCHAR}, | ||||
|             #{THRESHOLD_DOWN_LIMIT, jdbcType=VARCHAR}, | ||||
|             #{THRESHOLD_DOWN_DOWN_LIMIT, jdbcType=VARCHAR}, | ||||
|             #{RANGE_UP, jdbcType=VARCHAR}, | ||||
|             #{RANGE_DOWN, jdbcType=VARCHAR}, | ||||
|             #{PROCESSING_TIME, jdbcType=VARCHAR}, | ||||
|             STR_TO_DATE(#{INSERT_TIME}, '%Y-%m-%d %H:%i:%s'), | ||||
|             #{PLC_ID, jdbcType=CHAR}, | ||||
|             #{WARNING, jdbcType=CHAR}, | ||||
|             #{GATHER_TIME, jdbcType=VARCHAR}, | ||||
|             #{CORPINFO_ID, jdbcType=VARCHAR}, | ||||
|             #{IPCDEVICE_ID, jdbcType=VARCHAR}, | ||||
|             #{PLC_NAME, jdbcType=VARCHAR}, | ||||
|             #{PROCESSING_BATCH_ID, jdbcType=VARCHAR}, | ||||
|             #{OVERVIEW_OF_ALERTS, jdbcType=VARCHAR}, | ||||
|             #{EQUIPMENT_ID, jdbcType=VARCHAR} | ||||
|         ) | ||||
|     </insert> | ||||
| 
 | ||||
|     <!-- 单条更新MES获取的数据 --> | ||||
|     <update id="updateToRealtime" parameterType="java.util.Map"> | ||||
|         UPDATE tb_iron_device_realtime_sxgt | ||||
|         SET | ||||
|             TARGET_NAME = #{TARGET_NAME, jdbcType=VARCHAR}, | ||||
|             TARGET_PLACE = #{TARGET_PLACE, jdbcType=VARCHAR}, | ||||
|             TARGET_UNIT = #{TARGET_UNIT, jdbcType=VARCHAR}, | ||||
|             SIGNAL_TYPE = #{SIGNAL_TYPE, jdbcType=VARCHAR}, | ||||
|             CURRENT_VALUE = #{CURRENT_VALUE, jdbcType=VARCHAR}, | ||||
|             ALARM_VALUE = #{ALARM_VALUE, jdbcType=VARCHAR}, | ||||
|             THRESHOLD_UP_LIMIT = #{THRESHOLD_UP_LIMIT, jdbcType=VARCHAR}, | ||||
|             THRESHOLD_UP_UP_LIMIT = #{THRESHOLD_UP_UP_LIMIT, jdbcType=VARCHAR}, | ||||
|             THRESHOLD_DOWN_LIMIT = #{THRESHOLD_DOWN_LIMIT, jdbcType=VARCHAR}, | ||||
|             THRESHOLD_DOWN_DOWN_LIMIT = #{THRESHOLD_DOWN_DOWN_LIMIT, jdbcType=VARCHAR}, | ||||
|             RANGE_UP = #{RANGE_UP, jdbcType=VARCHAR}, | ||||
|             RANGE_DOWN = #{RANGE_DOWN, jdbcType=VARCHAR}, | ||||
|             PROCESSING_TIME = #{PROCESSING_TIME, jdbcType=VARCHAR}, | ||||
|             INSERT_TIME = STR_TO_DATE(#{INSERT_TIME}, '%Y-%m-%d %H:%i:%s'), | ||||
|             PLC_ID = #{PLC_ID, jdbcType=CHAR}, | ||||
|             WARNING = #{WARNING, jdbcType=CHAR}, | ||||
|             GATHER_TIME = #{GATHER_TIME, jdbcType=VARCHAR}, | ||||
|             CORPINFO_ID = #{CORPINFO_ID, jdbcType=VARCHAR}, | ||||
|             IPCDEVICE_ID = #{IPCDEVICE_ID, jdbcType=VARCHAR}, | ||||
|             PLC_NAME = #{PLC_NAME, jdbcType=VARCHAR}, | ||||
|             PROCESSING_BATCH_ID = #{PROCESSING_BATCH_ID, jdbcType=VARCHAR}, | ||||
|             OVERVIEW_OF_ALERTS = #{OVERVIEW_OF_ALERTS, jdbcType=VARCHAR} | ||||
|         WHERE EQUIPMENT_ID = #{EQUIPMENT_ID, jdbcType=VARCHAR} | ||||
|     </update> | ||||
| </mapper> | ||||
|  |  | |||
|  | @ -14,6 +14,8 @@ | |||
|         </if> | ||||
|     </select> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     <!-- 批量保存从MES获取的数据 注意列名加双引号,防止自动转换为小写导致无法匹配pg数据库的大写列名,pg数据库严格按照大小写进行字段匹配。 --> | ||||
|     <insert id="saveBatchFromMes" parameterType="java.util.List"> | ||||
|         INSERT INTO "sx_yjb".device_monitoring_sxgt ( | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue