Files
MyBlog/src/work/todo/2026-04.md

7.4 KiB
Raw Blame History

icon, date, pageClass, category, tag, title
icon date pageClass category tag title
fa6-solid:list-check 2026-04-01 todo-page
待办
任务清单
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. 修复并验证导出文件可正常打开