审批请求已有客户图纸,设计单保存内部图纸后,再补充客户图纸时部分图纸从页面消失。客户图纸和内部图纸应合并展示,而非互相覆盖。
// BizApprovalRequestServiceImpl.java
public DrawingAggregation getDrawingAggregation(String requestNo, String designTaskId) {
List<BizDrawing> externalDrawings = drawingMapper.selectByRequestNo(requestNo);
List<BizDrawing> internalDrawings = drawingMapper.selectByDesignTaskId(designTaskId);
// BUG: 直接覆盖而非合并
// 后补外部图纸时重建 payload,已有的内部图纸查询被覆盖
DrawingAggregation result = new DrawingAggregation();
if (CollectionUtils.isNotEmpty(externalDrawings)) {
result.setDrawings(externalDrawings); // 整列表替换
}
if (CollectionUtils.isNotEmpty(internalDrawings)) {
result.setDrawings(internalDrawings); // 再次替换,外部图纸丢失
}
return result;
}