生成时间: 2026-08-02 · 数据来源: xnybw平台需求及工作计划.xlsx(南网在线绿能云缺陷跟踪表)· 仅针对 backup730/730backup 分支代码

"关联存量场站调度命名"未做权限控制,可查全网存量场站(Excel第9行)

类型:数据问题  严重性:严重  状态:5.1.已关闭(复测通过)

基本信息

问题描述改造完成之前,先按点击"关联存量场站调度命名"按钮时弹窗提醒"功能建设中"处理,不在列表展示存量场站数据。项目基本信息-添加场站-关联存量场站调度命名,没有做权限控制,可以查询到全网的存量场站。经主管确认:需进行功能改造,存量场站根据场站已关联的所有项目的"项目创建人电话"进行匹配,如果当前登录人电话是其中之一,则该列表默认展示出来这个场站信息,去除选择调管单位之后才能查询到场站的的功能
一级模块项目信息填报
二级模块/
涉及类型全部类型
是否阻断流程
处理人员陈键泽
复测情况复测通过

问题截图

row9 截图1
图1:"关联存量场站调度命名"按钮
row9 截图2
图2:存量场站选择弹窗,可通过省份/地市筛选查看全网数据

旧代码涉及的项目文件及行数(backup730/730backup)

入口按钮:xnybw5f / backup730 / src/views/projectNew/components/baseInfo/components/baseInfo.vue 第274行 <th-button @click="addExitPlant">关联存量场站调度命名</th-button>,第858-877行 addExitPlant() 打开 plantRelationSelector.vue 弹窗
弹窗组件src/views/projectNew/components/baseInfo/dialog/plantRelationSelector.vue
· 第19-26行:仍保留"省(自治区)""地市"两个可自由勾选的筛选框(searchForm.province / searchForm.city
· 第488-501行:_getDataList() 调用 projectOrtherApi.getProcessListPlant(this.searchForm),全文搜索该组件未发现任何"联系人电话"/"创建人手机号"相关字段或匹配逻辑
后端接口:xnybw5b / 730backup / src/main/java/cn/csg/so/oms/in/newenergy/project/controller/NewenergyPlantProcessController.java 第31-36行:getProcessListPlant(NewenergyPlantVo plantVO) 直接透传给 neDpArcProcAppFacade.getListPlant(plantVO),未见基于登录用户身份的强制过滤

核对结论

该条状态为"已关闭/复测通过",但经在 backup730/730backup 逐行核对,当前代码仍是"省份+地市手动筛选"的实现方式,并未落地经主管确认的最终需求(按项目创建人电话自动匹配默认展示、去除省份地市手动筛选)。结合本批次同一张缺陷表中的 row37(与本行 desc 几乎完全相同,状态为"2.5.待升级",研发备注"已调整更新待8.2升级"),判断该功能的最终版实现是在 8.2 升级中才落地,backup730/730backup 这条分支上仍是早期版本(可能是"从'完全无权限控制'改为'至少要选省份/地市'"的过渡态修复,故被判定为复测通过关闭),并非最终验收版本。

修复代码涉及的项目文件及行数

plantRelationSelector.vue 第19-26、380-486行(筛选表单与查询方法)+ NewenergyPlantProcessController.java/对应 AppService 的 getListPlant()

修复方案

按经主管确认的最终需求,需要把"手动选择调管单位查询"改造为"按创建人电话自动匹配默认展示":

// plantRelationSelector.vue
_getDataList() {
  this.tableLoading = true
  this.searchForm.fbStatus = '1'
  // 修复:不再依赖用户手动选择省份/地市,改为服务端按当前登录人手机号自动匹配
  // 前端不再传 province/city 作为查询条件(或仅作为登录人有权限范围内的二次筛选)
  projectOrtherApi.getProcessListPlant(this.searchForm).then(...)
}
// 后端 appservice 层新增按创建人电话匹配的逻辑
public Map getListPlant(NewenergyPlantVo plantVO) {
    String currentPhone = UserUtils.getUser().getPhone();
    // 查找该手机号作为"项目创建人电话"关联过的所有场站 plantId 集合,
    // 仅返回这些场站,不再允许按省份/地市查询全网数据
    List<String> plantIdScope = queryPlantIdsByCreatorPhone(currentPhone);
    plantVO.setPlantIdScope(plantIdScope);
    ...
}

同时前端应移除"省(自治区)""地市"筛选框,改为默认直接展示与当前登录人匹配到的存量场站列表,如无匹配结果则提示"未查询到与您关联的存量场站"。