--- icon: fa6-solid:list-check date: 2026-04-01 pageClass: todo-page category: - 待办 tag: - 任务清单 title: 4月待办(2026-04) --- 4月待办事项记录 # 待办清单(2026-04) > 最后更新: 2026-04-02 > 统计: 未开始 3 项 ## 清单总览 - 当前优先: 3(未开始) ## 状态说明 --- ## 当前优先 ### 1. 巡视报告配置异常需要修复 - **描述**: 巡视报告配置异常,在这里设置筛选搜索修改设置之后,同一主设备下其它点的设置就变成空的了 - **错误日志**: ``` 2026-03-31 19:16:52.944 [TThreadPoolServer WorkerProcess-6] ERROR com.sunri.model.pipeline.DictatePipeline - DictatePipeline start, 处理异常 {} java.lang.IllegalStateException: Duplicate key PatrolReportDevicePointRecord(id=37327, mainDeviceId=2198, devicePointId=104250, reportSn=1, standardValue=正常) at java.util.stream.Collectors.lambda$throwingMerger$0(Collectors.java:133) at java.util.HashMap.merge(HashMap.java:1254) at java.util.stream.Collectors.lambda$toMap$58(Collectors.java:1320) at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169) at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566) at com.sunri.model.supersysmodel.pipeline.PatrolReportDevicePointRecordPipeLine.handle(PatrolReportDevicePointRecordPipeLine.java:44) at com.sunri.model.supersysmodel.pipeline.ObjectVerifyPipeline.proceed(ObjectVerifyPipeline.java:35) at com.sunri.model.supersysmodel.pipeline.PatrolReportDevicePointRecordPipeLine.proceed(PatrolReportDevicePointRecordPipeLine.java:19) at com.sunri.model.pipeline.DictatePipeline.start(DictatePipeline.java:23) at com.sunri.model.pipeline.DictatePipeline.skip(DictatePipeline.java:43) at com.sunri.model.pipeline.DictatePipeline.start(DictatePipeline.java:32) at com.sunri.model.pipeline.DictatePipeline.skip(DictatePipeline.java:43) at com.sunri.model.pipeline.DictatePipeline.start(DictatePipeline.java:32) at com.sunri.model.pipeline.DictatePipeline.skip(DictatePipeline.java:43) at com.sunri.model.pipeline.DictatePipeline.start(DictatePipeline.java:32) at com.sunri.model.pipeline.DictatePipeline.skip(DictatePipeline.java:43) at com.sunri.model.pipeline.DictatePipeline.start(DictatePipeline.java:32) at com.sunri.model.pipeline.DictatePipeline.skip(DictatePipeline.java:43) at com.sunri.model.pipeline.DictatePipeline.start(DictatePipeline.java:32) at com.sunri.model.pipeline.DictatePipeline.skip(DictatePipeline.java:43) at com.sunri.model.pipeline.DictatePipeline.start(DictatePipeline.java:32) at com.sunri.model.pipeline.DictatePipeline.skip(DictatePipeline.java:43) at com.sunri.model.pipeline.DictatePipeline.start(DictatePipeline.java:32) at com.sunri.model.pipeline.DictatePipeline.skip(DictatePipeline.java:43) at com.sunri.model.pipeline.DictatePipeline.start(DictatePipeline.java:32) at com.sunri.model.pipeline.DictatePipeline.skip(DictatePipeline.java:43) at com.sunri.model.pipeline.DictatePipeline.start(DictatePipeline.java:32) at com.sunri.model.pipeline.DictatePipeline.skip(DictatePipeline.java:43) at com.sunri.model.pipeline.DictatePipeline.start(DictatePipeline.java:32) at com.sunri.model.pipeline.DictatePipeline.skip(DictatePipeline.java:43) at com.sunri.model.pipeline.DictatePipeline.start(DictatePipeline.java:32) at com.sunri.model.supersysmodel.pipeline.DevicePointManager.pointImport(DevicePointManager.java:62) at com.sunri.model.supersysmodel.SuperSysModelConfiguration.readExcelBytes(SuperSysModelConfiguration.java:2419) at com.sunri.model.supersysmodel.SuperSysModelConfiguration.devicePointImport(SuperSysModelConfiguration.java:2495) at com.sunri.service.impl.supersysmodel.SuperSysModelServiceImpl.devicePointImport(SuperSysModelServiceImpl.java:172) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.sunri.server.mapper.handler.ByteArrayMethodHandler.proceed(ByteArrayMethodHandler.java:108) at com.sunri.pipeline.Pipeline.start(Pipeline.java:26) at com.sunri.pipeline.Pipeline.skip(Pipeline.java:43) at com.sunri.pipeline.Pipeline.start(Pipeline.java:32) at com.sunri.server.dispatch.Func.proceed(Func.java:152) at com.sunri.server.service.impl.RequestServiceImpl.doExec(RequestServiceImpl.java:43) at com.sunri.server.message.handler.RequestHandler.proceed(RequestHandler.java:30) at com.sunri.pipeline.Pipeline.start(Pipeline.java:26) at com.sunri.pipeline.Pipeline.skip(Pipeline.java:43) at com.sunri.pipeline.Pipeline.start(Pipeline.java:32) at com.sunri.server.processor.ServerProcessor.doExec(ServerProcessor.java:36) at com.sunri.server.service.RequestService$Processor$doExec.getResult(RequestService.java:155) at com.sunri.server.service.RequestService$Processor$doExec.getResult(RequestService.java:135) at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:38) at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:38) at com.sunri.server.processor.ServerProcessorFactory$RequestServiceProcessor.process(ServerProcessorFactory.java:74) at org.apache.thrift.TMultiplexedProcessor.process(TMultiplexedProcessor.java:138) at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:250) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) 2026-03-31 19:16:52.945 [TThreadPoolServer WorkerProcess-6] INFO com.sunri.model.pipeline.DictatePipeline - [流水线完成] PatrolReportDevicePointRecordPipeLine 处理耗时: 34ms ``` - **下一步**: 1. 定位 PatrolReportDevicePointRecordPipeLine.java:44 代码逻辑 2. 修复 toMap 重复 key 问题 3. 验证修改后同一主设备下多点位配置保存正常 ### 2. 与姬工讨论上海导出五通报表的问题 - **描述**: 姬工安排讨论上海项目导出五通报表相关需求与问题 - **下一步**: 1. 提前梳理现有报表导出功能逻辑 2. 预约时间与姬工同步讨论细节 ### 3. 修复现场linx80 excel打开失败问题 - **描述**: 现场linx80设备导出的Excel文件打开失败 - **下一步**: 1. 复现Excel导出问题 2. 排查导出格式兼容性问题 3. 修复并验证导出文件可正常打开