整理对比报表版本编辑验收后注释
明确最新基准、有效来源和更新摘要长度预留的业务前置条件。
| | |
| | | public void rejectUnknown(String field, Object value) |
| | | { throw new ServiceException("报表编辑不允许提交字段:" + field); } |
| | | |
| | | /** 主动更新只携带已有基准和原因,来源范围由后端快照确定。 */ |
| | | /** 主动更新只携带基准和原因,来源范围由后端确定;原因长度为系统追加的摘要前缀预留空间。 */ |
| | | public record Refresh(@Positive int baseVersionNo, @NotBlank @Size(max = 480) String changeSummary) |
| | | { |
| | | /** 来源和测量不得由调用方替换。 */ |
| | |
| | | return result; |
| | | } |
| | | |
| | | /** 普通编辑追加展示版本,测量、来源身份和单位完全沿用基准快照。 */ |
| | | /** 以最新版本为基准追加展示版本,测量、来源身份和单位完全沿用快照。 */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public Map<String, Object> edit(long id, CompareReportEditRequest request, long operatorId, String operatorName) |
| | | { |
| | |
| | | return get(id); |
| | | } |
| | | |
| | | /** 仅主动更新重读来源;人工表格值仍保留在设置中,不覆盖本次测量快照。 */ |
| | | /** 基准必须为最新版本且来源仍有效;重读来源生成新快照,保留独立的人工表格值。 */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public Map<String, Object> refresh(long id, CompareReportEditRequest.Refresh request, long operatorId, String operatorName) |
| | | { |