1. 需求目标

应用:经营预算(6100)应用简称:Jyys

本概览基于实现设计与代码规划包整理:经营预算应用,需求主题为中旅投后全成本管理,覆盖投后项目管理列表、填报人配置列表、投后成本填报列表、创建版本表单、成本版本编辑表单、版本对比分析列表、版本记录列表、全成本查询列表、投后成本查询(内部)列表、来源项目明细列表、内部版本对比分析列表;数据模型与后端开发范围为4张业务表、3组实体关系、11项后端能力。人工处理事项:确认集团接口和外部跳转后续承接方式、确认外部数据来源和历史数据处理后续安排。

2. 方案概览

新增5
修改0
新增4
修改0
新增11
修改0
新增9
修改0
新增2
修改0
新增11
修改0
待人工处理2

3. 数据模型

本次新增 4 张业务表,修改 0 张业务表,新增 3 组实体关系。

新增 投后项目 x_PostCostProject

存储需报送集团的项目范围、集团展示口径和来源系统关联字段

  • 字段名字段类型中文解释
  • ProjectGUIDGUID投后项目ID/业务主键
  • ProjectName单行文本,512项目名称/手工维护项目名称
  • BUGUIDGUID所属公司ID/关联组织架构公司
  • BUName单行文本,512所属公司名称/列表展示和查询使用
  • SourceSystem固定枚举来源系统/固定枚举,本期不生成业务参数
  • SourceProjectCode单行文本,512来源系统项目编码/后续关联经分项目时使用
  • SourceProjectName单行文本,512来源系统项目名称/后续关联经分项目时使用
  • GroupProjectCode单行文本,512集团展示项目编码/集团展示维度聚合编码
  • GroupProjectName单行文本,512集团展示项目名称/集团展示维度聚合名称
  • IsPushToGroup单选,是/否是否推送至集团投资系统/新增默认否;创建版本仅取是
  • IsManualCreated单选,是/否是否手工新增/删除只影响本模块手工或引入后的投后项目,不影响经分主数据
  • CreatedByGUID创建人/系统审计
  • CreatedTime日期时间创建时间/系统审计
  • ModifiedByGUID修改人/系统审计
  • ModifiedTime日期时间修改时间/系统审计
新增 投后项目填报人配置 x_PostCostOwnerConfig

存储每个项目六类成本填报责任人,用于后续编辑权限控制

  • 字段名字段类型中文解释
  • OwnerConfigGUIDGUID配置ID/业务主键
  • ProjectGUIDGUID投后项目ID/关联投后项目
  • LandOwnerGUIDGUID土地成本填报人ID/绑定组织用户
  • LandOwnerName单行文本,512土地成本填报人名称/展示组织用户名称
  • BuildOwnerGUIDGUID建安成本填报人ID/绑定组织用户
  • BuildOwnerName单行文本,512建安成本填报人名称/展示组织用户名称
  • UnforeseenOwnerGUIDGUID不可预见费填报人ID/绑定组织用户
  • UnforeseenOwnerName单行文本,512不可预见费填报人名称/展示组织用户名称
  • MarketingOwnerGUIDGUID营销费用填报人ID/绑定组织用户
  • MarketingOwnerName单行文本,512营销费用填报人名称/展示组织用户名称
  • ManageOwnerGUIDGUID管理费用填报人ID/绑定组织用户
  • ManageOwnerName单行文本,512管理费用填报人名称/展示组织用户名称
  • FinanceOwnerGUIDGUID财务费用填报人ID/绑定组织用户
  • FinanceOwnerName单行文本,512财务费用填报人名称/展示组织用户名称
  • CreatedByGUID创建人/系统审计
  • CreatedTime日期时间创建时间/系统审计
  • ModifiedByGUID修改人/系统审计
  • ModifiedTime日期时间修改时间/系统审计
新增 投后成本版本 x_PostCostVersion

存储项目月度动态成本版本、成本金额、锁定状态和集团展示字段快照

  • 字段名字段类型中文解释
  • VersionGUIDGUID版本ID/业务主键
  • ProjectGUIDGUID投后项目ID/关联投后项目
  • ProjectName单行文本,512项目名称/创建版本时从投后项目快照
  • BUGUIDGUID所属公司ID/创建版本时从投后项目快照
  • BUName单行文本,512所属公司名称/创建版本时从投后项目快照
  • VersionMonth日期,年月版本月份/创建版本选择的月份
  • VersionName单行文本,512版本名称/项目名称-版本月份-动态版
  • TotalCost金额,2位小数总成本/六类成本自动汇总
  • LandCost金额,2位小数土地成本/按责任人权限维护
  • LandCostDesc单行文本,512土地成本填写说明/手工维护
  • BuildCost金额,2位小数建安成本/按责任人权限维护
  • BuildCostDesc单行文本,512建安成本填写说明/手工维护
  • UnforeseenCost金额,2位小数不可预见费/按责任人权限维护
  • UnforeseenCostDesc单行文本,512不可预见费填写说明/手工维护
  • MarketingCost金额,2位小数营销费用/按责任人权限维护
  • MarketingCostDesc单行文本,512营销费用填写说明/手工维护
  • ManageCost金额,2位小数管理费用/按责任人权限维护
  • ManageCostDesc单行文本,512管理费用填写说明/手工维护
  • FinanceCost金额,2位小数财务费用/按责任人权限维护
  • FinanceCostDesc单行文本,512财务费用填写说明/手工维护
  • Remark单行文本,512备注/手工维护
  • IsLocked单选,未锁定/已锁定是否锁定/创建默认未锁定
  • LockTime日期时间锁定时间/最新一次锁定时间
  • LockUserGUIDGUID锁定人ID/最新一次锁定人
  • LockUserName单行文本,512锁定人名称/展示锁定人
  • GroupProjectCode单行文本,512集团展示项目编码/创建版本时从投后项目快照
  • GroupProjectName单行文本,512集团展示项目名称/创建版本时从投后项目快照
  • CreatedByGUID创建人/系统审计
  • CreatedTime日期时间创建时间/系统审计
  • ModifiedByGUID修改人/系统审计
  • ModifiedTime日期时间修改时间/系统审计
新增 投后成本更新记录 x_PostCostUpdateRecord

记录版本各类成本字段的更新人、更新时间和更新内容

  • 字段名字段类型中文解释
  • RecordGUIDGUID更新记录ID/业务主键
  • VersionGUIDGUID版本ID/关联投后成本版本
  • CostType固定枚举成本类型/土地成本、建安成本、不可预见费、营销费用、管理费用、财务费用
  • OldAmount金额,2位小数更新前金额/更新前成本值
  • NewAmount金额,2位小数更新后金额/更新后成本值
  • OldDesc单行文本,512更新前说明/更新前说明
  • NewDesc单行文本,512更新后说明/更新后说明
  • UpdateUserGUIDGUID更新人ID/当前操作人
  • UpdateUserName单行文本,512更新人名称/当前操作人名称
  • UpdateTime日期时间更新时间/操作时间
无修改
主表主字段关系从表从字段用途
x_PostCostProjectProjectGUID1:1x_PostCostOwnerConfigProjectGUID每个投后项目一组填报责任人配置
x_PostCostProjectProjectGUID1:Nx_PostCostVersionProjectGUID每个投后项目按月份创建多个成本版本
x_PostCostVersionVersionGUID1:Nx_PostCostUpdateRecordVersionGUID每个版本记录各类成本更新明细

4. 页面开发

新增投后项目管理列表
入口投后全成本管理 > 投后项目管理 > 投后项目管理列表
页面结构
页面类型

普通列表(AppGrid)

查询区域

所属公司 BUName;项目名称 ProjectName;来源系统 SourceSystem;是否推送至集团投资系统 IsPushToGroup

列表区域

项目名称,ProjectName;所属公司,BUName;来源系统,SourceSystem;来源系统项目编码,SourceProjectCode;来源系统项目名称,SourceProjectName;集团展示项目编码,GroupProjectCode;集团展示项目名称,GroupProjectName;是否推送至集团投资系统,IsPushToGroup

数据来源

主数据源:投后项目,x_PostCostProject;关联数据源:组织架构公司数据源;过滤条件:按所属公司、项目名称、来源系统、是否推送至集团投资系统过滤;默认排序:修改时间倒序

功能列表
新增项目

新增一行投后项目,来源系统默认手工新增,是否推送默认否

零代码标准能力列表新增行、默认值和保存属于零代码标准能力
编辑

编辑当前项目行

零代码标准能力列表行编辑和保存属于零代码标准能力
删除

删除当前投后项目记录,不影响经分系统主数据

零代码标准能力删除当前业务表记录属于零代码标准能力,删除范围限定在新增实体
导出

导出当前筛选结果

零代码标准能力标准列表导出能力可完成
填报人配置

打开填报人配置列表弹窗

零代码标准能力打开目标页面属于零代码标准能力
需求原型
投后项目管理字段 项目操作说明 删除规则说明
新增填报人配置列表
入口投后全成本管理 > 投后项目管理 > 投后项目管理列表 > 填报人配置
页面结构
页面类型

普通列表(AppGrid)

查询区域

项目名称 ProjectName;集团展示项目名称 GroupProjectName

列表区域

项目名称,ProjectName;集团展示项目名称,GroupProjectName;土地成本填报人,LandOwnerName;建安成本填报人,BuildOwnerName;不可预见费填报人,UnforeseenOwnerName;营销费用填报人,MarketingOwnerName;管理费用填报人,ManageOwnerName;财务费用填报人,FinanceOwnerName

数据来源

主数据源:投后项目填报人配置,x_PostCostOwnerConfig;关联数据源:投后项目,x_PostCostProject;组织用户数据源;过滤条件:默认展示投后项目管理下所有项目;默认排序:项目名称升序

功能列表
保存

保存当前列表中单项目责任人配置

零代码标准能力单行编辑保存和组织用户字段选择可由零代码配置完成
批量维护

对选中项目批量写入六类成本责任人

需求原型
填报人配置说明
新增投后成本填报列表
入口投后全成本管理 > 投后成本填报 > 投后成本填报列表
页面结构
页面类型

普通列表(AppGrid)

查询区域

版本月份 VersionMonth;所属公司 BUName;项目名称 ProjectName

列表区域

项目名称,ProjectName;所属公司,BUName;版本月份,VersionMonth;版本名称,VersionName;总成本,TotalCost;土地成本,LandCost;建安成本,BuildCost;不可预见费,UnforeseenCost;营销费用,MarketingCost;管理费用,ManageCost;财务费用,FinanceCost;是否锁定,IsLocked;锁定时间,LockTime;集团展示项目编码,GroupProjectCode;集团展示项目名称,GroupProjectName

数据来源

主数据源:投后成本版本,x_PostCostVersion;关联数据源:投后项目,x_PostCostProject;过滤条件:按版本月份、所属公司、项目名称过滤;默认排序:版本月份倒序、项目名称升序

功能列表
创建版本

打开创建版本表单

零代码标准能力打开目标表单属于零代码标准能力
编辑

打开成本版本编辑表单

零代码标准能力打开目标表单属于零代码标准能力
锁定

锁定当前版本

批量锁定

批量锁定选中版本

批量解锁

批量解锁选中版本

版本对比

打开版本对比分析列表

零代码标准能力打开目标页面属于零代码标准能力
版本记录

打开版本记录列表

零代码标准能力打开目标页面属于零代码标准能力
需求原型
投后成本填报字段1 投后成本填报字段2 锁定及版本记录说明
新增创建版本表单
入口投后全成本管理 > 投后成本填报 > 投后成本填报列表 > 创建版本
页面结构
页面类型

表单(AppForm)

表单字段

版本月份,VersionMonth

数据来源

主数据源:投后成本版本,x_PostCostVersion;关联数据源:投后项目,x_PostCostProject;保存方式:保存前调用接口;默认值规则:版本月份由用户选择

功能列表
确定

调用 createMonthlyVersions 创建月度版本

取消

关闭弹窗

零代码标准能力标准关闭弹窗
需求原型
创建版本说明
新增成本版本编辑表单
入口投后全成本管理 > 投后成本填报 > 投后成本填报列表 > 编辑
页面结构
页面类型

表单(AppForm)

表单字段

项目名称,ProjectName;所属公司,BUName;版本月份,VersionMonth;版本名称,VersionName;集团展示项目编码,GroupProjectCode;集团展示项目名称,GroupProjectName;土地成本,LandCost;土地成本填写说明,LandCostDesc;建安成本,BuildCost;建安成本填写说明,BuildCostDesc;不可预见费,UnforeseenCost;不可预见费填写说明,UnforeseenCostDesc;营销费用,MarketingCost;营销费用填写说明,MarketingCostDesc;管理费用,ManageCost;管理费用填写说明,ManageCostDesc;财务费用,FinanceCost;财务费用填写说明,FinanceCostDesc;备注,Remark;总成本,TotalCost

数据来源

主数据源:投后成本版本,x_PostCostVersion;关联数据源:投后项目填报人配置,x_PostCostOwnerConfig;保存方式:保存前调用接口;默认值规则:项目、版本和集团展示字段从版本记录带出只读

功能列表
保存

调用 saveCostVersion 保存成本数据、重算总成本并写入更新记录

取消

关闭弹窗

零代码标准能力标准关闭弹窗
需求原型
成本编辑字段 编辑权限说明
新增版本对比分析列表
入口投后全成本管理 > 投后成本填报 > 投后成本填报列表 > 版本对比
页面结构
页面类型

普通列表(AppGrid)

查询区域

对比版本A BaseVersionGUID

列表区域

成本项,CostType;版本A金额,BaseAmount;版本B金额,TargetAmount;偏差值,DeviationAmount;偏差率,DeviationRate

数据来源

主数据源:后端接口返回的版本对比结果;关联数据源:投后成本版本,x_PostCostVersion;过滤条件:当前版本B、选择的已有填报版本A;默认排序:成本项固定顺序

功能列表
对比

调用 compareVersion 生成对比结果

导出

导出当前对比结果

零代码标准能力标准列表导出能力可完成
需求原型
版本对比说明1 版本对比说明2
新增版本记录列表
入口投后全成本管理 > 投后成本填报 > 投后成本填报列表 > 版本记录
页面结构
页面类型

普通列表(AppGrid)

查询区域

成本类型 CostType

列表区域

成本类型,CostType;更新前金额,OldAmount;更新后金额,NewAmount;更新人,UpdateUserName;更新时间,UpdateTime

数据来源

主数据源:投后成本更新记录,x_PostCostUpdateRecord;关联数据源:投后成本版本,x_PostCostVersion;过滤条件:当前版本ID;默认排序:更新时间倒序

功能列表
查询

查询当前版本成本更新记录

零代码标准能力关联表查询属于标准列表能力
需求原型
版本记录说明
新增全成本查询列表
入口投后全成本管理 > 全成本查询 > 全成本查询列表
页面结构
页面类型

普通列表(AppGrid)

查询区域

所属公司 buguid;项目名称 projectName;版本月份 versionMonth

列表区域

项目名称,GroupProjectName;所属公司,BUName;版本月份,VersionMonth;版本名称,VersionName;总成本,TotalCost;土地成本,LandCost;建安成本,BuildCost;不可预见费,UnforeseenCost;营销费用,MarketingCost;管理费用,ManageCost;财务费用,FinanceCost

数据来源

主数据源:queryGroupLockedCosts 组件后端 API;关联数据源:投后成本版本,x_PostCostVersion;过滤条件:所属公司、项目名称、版本月份;仅已锁定版本;默认排序:版本月份倒序、集团展示项目名称升序

功能列表
查询

调用 queryGroupLockedCosts 查询已锁定集团口径数据

需求原型
全成本查询说明
新增投后成本查询(内部)列表
入口投后全成本管理 > 投后成本查询(内部) > 投后成本查询(内部)列表
页面结构
页面类型

普通列表(AppGrid)

查询区域

所属公司 buguid;项目名称 projectName;版本月份 versionMonth

列表区域

项目名称,GroupProjectName;所属公司,BUName;来源系统项目编码,SourceProjectCode;来源系统项目名称,SourceProjectName;来源项目个数,SourceProjectCount;版本月份,VersionMonth;版本名称,VersionName;总成本,TotalCost;六类成本;是否锁定,IsLocked

数据来源

主数据源:queryInternalGroupCosts 组件后端 API;关联数据源:投后成本版本,x_PostCostVersion;投后项目,x_PostCostProject;过滤条件:所属公司、项目名称、版本月份;默认排序:版本月份倒序、集团展示项目名称升序

功能列表
查询

调用 queryInternalGroupCosts 查询内部汇总数据

来源项目个数

打开来源项目明细列表

零代码标准能力点击列打开目标页面属于零代码页面绑定能力
版本对比

打开内部版本对比分析列表

零代码标准能力打开目标页面属于零代码标准能力
需求原型
内部查询字段1 内部查询字段2
新增来源项目明细列表
入口投后全成本管理 > 投后成本查询(内部) > 投后成本查询(内部)列表 > 来源项目个数
页面结构
页面类型

普通列表(AppGrid)

查询区域

来源项目名称 projectName

列表区域

项目名称,ProjectName;所属公司,BUName;来源系统项目编码,SourceProjectCode;来源系统项目名称,SourceProjectName;版本月份,VersionMonth;版本名称,VersionName;总成本和六类成本

数据来源

主数据源:querySourceProjectDetails 组件后端 API;关联数据源:投后成本版本,x_PostCostVersion;投后项目,x_PostCostProject;过滤条件:集团展示项目编码、集团展示项目名称、版本月份;默认排序:项目名称升序

功能列表
查询

调用 querySourceProjectDetails 查询来源明细和合计行

建模组件后端 API查询来源项目明细列表
需求原型
来源项目明细说明
新增内部版本对比分析列表
入口投后全成本管理 > 投后成本查询(内部) > 投后成本查询(内部)列表 > 版本对比
页面结构
页面类型

普通列表(AppGrid)

查询区域

版本A BaseVersionMonth;版本B TargetVersionMonth

列表区域

成本项,CostType;版本A金额,BaseAmount;版本B金额,TargetAmount;偏差值,DeviationAmount;偏差率,DeviationRate

数据来源

主数据源:compareInternalVersion 接口返回结果;关联数据源:投后成本版本,x_PostCostVersion;过滤条件:集团展示项目、版本A、版本B;默认排序:成本项固定顺序

功能列表
对比

调用 compareInternalVersion 生成集团展示项目维度对比结果

导出

导出当前对比结果

零代码标准能力标准列表导出能力可完成
需求原型
内部版本对比说明1 内部版本对比说明2

5. 后端开发

新增对多个项目批量写入六类成本责任人

类路径:com.mingyuanyun.jyys.postcost.appservice.PostCostProjectAppService

方法路径:batchSaveCostOwners

相关数据模型:投后项目x_PostCostProject投后项目填报人配置x_PostCostOwnerConfig

应用服务 / 普通 API

后端调整内容
- 变更类型:新增
- 能力标识:batchSaveCostOwners

前端调用方式
- 调用页面:填报人配置列表。
- AppService 方法:com.mingyuanyun.jyys.postcost.appservice.PostCostProjectAppService.batchSaveCostOwners。

请求参数
- projectGuids、landOwnerGuid、buildOwnerGuid、unforeseenOwnerGuid、marketingOwnerGuid、manageOwnerGuid、financeOwnerGuid

返回结果
- successCount、failItems[]、message

后端实现逻辑
1. 校验项目集合不能为空。
2. 校验传入责任人均可匹配组织用户。
3. 对每个项目新增或更新 x_PostCostOwnerConfig。
4. 返回成功项目数和失败项目明细。

异常/事务处理
- 组织用户不存在、项目不存在、无选中项目时展示业务提示。
新增按版本月份为是否推送至集团投资系统等于是的项目创

类路径:com.mingyuanyun.jyys.postcost.appservice.PostCostVersionAppService

方法路径:createMonthlyVersions

相关数据模型:投后项目x_PostCostProject投后成本版本x_PostCostVersion

应用服务 / 普通 API

后端调整内容
- 变更类型:新增
- 能力标识:createMonthlyVersions

前端调用方式
- 调用页面:创建版本表单。
- AppService 方法:com.mingyuanyun.jyys.postcost.appservice.PostCostVersionAppService.createMonthlyVersions。

请求参数
- versionMonth

返回结果
- createdCount、skippedItems[]、message

后端实现逻辑
1. 查询 x_PostCostProject 中 IsPushToGroup=是 的项目。
2. 对每个项目校验同一 ProjectGUID + VersionMonth 是否已存在版本。
3. 未存在时创建 x_PostCostVersion,版本名称为 项目名称-版本月份-动态版,六类成本为空,锁定状态为未锁定。
4. 已存在时跳过并返回跳过明细。

异常/事务处理
- 版本月份为空、无可创建项目、全部重复时展示业务提示。
新增未锁定版本置为已锁定

类路径:com.mingyuanyun.jyys.postcost.appservice.PostCostVersionAppService

方法路径:lockVersion

相关数据模型:投后成本版本x_PostCostVersion

应用服务 / 普通 API

后端调整内容
- 变更类型:新增
- 能力标识:lockVersion

前端调用方式
- 调用页面:投后成本填报列表。
- AppService 方法:com.mingyuanyun.jyys.postcost.appservice.PostCostVersionAppService.lockVersion。

请求参数
- versionGuid

返回结果
- success、message

后端实现逻辑
1. 校验版本存在且当前为未锁定。
2. 将 IsLocked 更新为已锁定。
3. 写入 LockTime、LockUserGUID、LockUserName。

异常/事务处理
- 版本不存在、已锁定时展示业务提示。
新增批量将未锁定版本置为已锁定

类路径:com.mingyuanyun.jyys.postcost.appservice.PostCostVersionAppService

方法路径:batchLockVersions

相关数据模型:投后成本版本x_PostCostVersion

应用服务 / 普通 API

后端调整内容
- 变更类型:新增
- 能力标识:batchLockVersions

前端调用方式
- 调用页面:投后成本填报列表。
- AppService 方法:com.mingyuanyun.jyys.postcost.appservice.PostCostVersionAppService.batchLockVersions。

请求参数
- versionGuids

返回结果
- successCount、failItems[]、message

后端实现逻辑
1. 校验版本集合不能为空。
2. 对未锁定版本执行锁定。
3. 对已锁定或不存在的版本返回失败明细。

异常/事务处理
- 未选择版本时提示。
新增批量将已锁定版本置为未锁定

类路径:com.mingyuanyun.jyys.postcost.appservice.PostCostVersionAppService

方法路径:batchUnlockVersions

相关数据模型:投后成本版本x_PostCostVersion

应用服务 / 普通 API

后端调整内容
- 变更类型:新增
- 能力标识:batchUnlockVersions

前端调用方式
- 调用页面:投后成本填报列表。
- AppService 方法:com.mingyuanyun.jyys.postcost.appservice.PostCostVersionAppService.batchUnlockVersions。

请求参数
- versionGuids

返回结果
- successCount、failItems[]、message

后端实现逻辑
1. 校验版本集合不能为空。
2. 对已锁定版本执行解锁。
3. 对未锁定或不存在的版本返回失败明细。

异常/事务处理
- 未选择版本时提示。
新增按填报人配置校验六类成本可编辑范围

类路径:com.mingyuanyun.jyys.postcost.appservice.PostCostVersionAppService

方法路径:saveCostVersion

相关数据模型:投后项目填报人配置x_PostCostOwnerConfig投后成本版本x_PostCostVersion投后成本更新记录x_PostCostUpdateRecord

应用服务 / 普通 API

后端调整内容
- 变更类型:新增
- 能力标识:saveCostVersion

前端调用方式
- 调用页面:成本版本编辑表单。
- AppService 方法:com.mingyuanyun.jyys.postcost.appservice.PostCostVersionAppService.saveCostVersion。

请求参数
- versionGuid、六类成本金额和说明字段

返回结果
- success、totalCost、updatedCostTypes[]、message

后端实现逻辑
1. 校验版本存在且未锁定。
2. 根据 x_PostCostOwnerConfig 和当前用户判断六类成本字段可编辑范围。
3. 更新允许编辑的成本金额和说明。
4. 重算 TotalCost。
5. 对发生变化的成本类型写入 x_PostCostUpdateRecord。

异常/事务处理
- 锁定版本、无编辑权限、版本不存在时展示业务提示。
新增选择系统内已有填报版本A

类路径:com.mingyuanyun.jyys.postcost.appservice.PostCostCompareAppService

方法路径:compareVersion

相关数据模型:待确认

应用服务 / 普通 API

后端调整内容
- 变更类型:新增
- 能力标识:compareVersion

前端调用方式
- 调用页面:版本对比分析列表。
- AppService 方法:com.mingyuanyun.jyys.postcost.appservice.PostCostCompareAppService.compareVersion。

请求参数
- baseVersionGuid、targetVersionGuid

返回结果
- compareItems[]、summary

后端实现逻辑
1. 查询版本A和版本B的六类成本。
2. 逐项计算 偏差值=B-A。
3. 当 A 不为 0 时计算 偏差率=(B-A)/A;A 为 0 时返回偏差率为空并给出说明。
4. 标记偏差率大于 0 的成本项。

异常/事务处理
- 未选择版本、版本不存在、同一版本对比时展示提示。
新增对集团展示项目维度的两个已有填报版本进行偏差计算

类路径:com.mingyuanyun.jyys.postcost.appservice.PostCostCompareAppService

方法路径:compareInternalVersion

相关数据模型:待确认

应用服务 / 普通 API

后端调整内容
- 变更类型:新增
- 能力标识:compareInternalVersion

前端调用方式
- 调用页面:内部版本对比分析列表。
- AppService 方法:com.mingyuanyun.jyys.postcost.appservice.PostCostCompareAppService.compareInternalVersion。

请求参数
- groupProjectCode、groupProjectName、baseVersionMonth、targetVersionMonth

返回结果
- compareItems[]、summary

后端实现逻辑
1. 按集团展示口径分别汇总版本A和版本B成本。
2. 逐项计算偏差值和偏差率。
3. A 为 0 时返回偏差率为空并给出说明。
4. 标记偏差率大于 0 的成本项。

异常/事务处理
- 未选择版本、版本不存在、同一版本对比时展示提示。
新增按集团展示项目维度汇总已锁定版本数据

类路径:com.mingyuanyun.jyys.postcost.api.PostCostQueryApi

方法路径:queryGroupLockedCosts

相关数据模型:投后成本版本x_PostCostVersion

建模组件后端 API

后端调整内容
- 变更类型:新增
- 能力标识:queryGroupLockedCosts

组件调用方式
- 调用页面:全成本查询列表。
- 组件 API:com.mingyuanyun.jyys.postcost.api.PostCostQueryApi.queryGroupLockedCosts。

取数范围
- 未在设计文档中明确,待人工确认

过滤条件
- buguid、projectName、versionMonth

返回绑定
- 集团展示项目编码、集团展示项目名称、版本月份、版本名称、总成本和六类成本

后端实现逻辑
1. 查询已锁定成本版本。
2. 按集团展示项目维度返回汇总结果。
3. 支持所属公司、项目名称、版本月份过滤。

异常处理
- 查询失败时展示错误提示。
新增按集团展示项目名称汇总投后成本填报数据

类路径:com.mingyuanyun.jyys.postcost.api.PostCostQueryApi

方法路径:queryInternalGroupCosts

相关数据模型:投后项目x_PostCostProject投后成本版本x_PostCostVersion

建模组件后端 API

后端调整内容
- 变更类型:新增
- 能力标识:queryInternalGroupCosts

组件调用方式
- 调用页面:投后成本查询(内部)列表。
- 组件 API:com.mingyuanyun.jyys.postcost.api.PostCostQueryApi.queryInternalGroupCosts。

取数范围
- 未在设计文档中明确,待人工确认

过滤条件
- buguid、projectName、versionMonth

返回绑定
- 集团展示项目编码、集团展示项目名称、来源项目个数、版本信息、总成本、六类成本、是否锁定

后端实现逻辑
1. 查询投后成本版本和项目。
2. 按集团展示项目名称汇总成本。
3. 计算来源项目个数。
4. 返回是否锁定状态。

异常处理
- 查询失败时展示错误提示。
新增查询来源项目明细列表

类路径:com.mingyuanyun.jyys.postcost.api.PostCostQueryApi

方法路径:querySourceProjectDetails

相关数据模型:投后项目x_PostCostProject投后成本版本x_PostCostVersion

建模组件后端 API

后端调整内容
- 变更类型:新增
- 能力标识:querySourceProjectDetails

组件调用方式
- 调用页面:来源项目明细列表。
- 组件 API:com.mingyuanyun.jyys.postcost.api.PostCostQueryApi.querySourceProjectDetails。

取数范围
- 未在设计文档中明确,待人工确认

过滤条件
- groupProjectCode、groupProjectName、versionMonth

返回绑定
- detailItems[]、totalRow

后端实现逻辑
1. 按集团展示口径和版本月份查询来源项目版本。
2. 返回来源项目明细行。
3. 自动生成合计行。

异常处理
- 无明细时展示空数据提示。

6. 人工处理

类型任务标题需要处理的问题具体操作/确认步骤完成标准
人工确认确认集团接口和外部跳转后续承接方式未在设计文档中明确,待人工确认未在设计文档中明确,待人工确认未在设计文档中明确,待人工确认
人工确认确认外部数据来源和历史数据处理后续安排未在设计文档中明确,待人工确认未在设计文档中明确,待人工确认未在设计文档中明确,待人工确认

7. 来源文档