diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/SysOaProjectVo.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/SysOaProjectVo.java index 5cebe75..66cc179 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/SysOaProjectVo.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/SysOaProjectVo.java @@ -68,6 +68,12 @@ public class SysOaProjectVo { @ExcelProperty(value = "项目总款") private BigDecimal funds; + /** + * 人民币金额(转换后) + */ + @ExcelProperty(value = "人民币金额") + private BigDecimal fundsRmb; + /** * 项目负责人 */ diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/SysOaProjectServiceImpl.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/SysOaProjectServiceImpl.java index b641237..cb7b6a2 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/SysOaProjectServiceImpl.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/SysOaProjectServiceImpl.java @@ -161,6 +161,27 @@ public class SysOaProjectServiceImpl implements ISysOaProjectService { public TableDataInfo queryPageList(SysOaProjectBo bo, PageQuery pageQuery) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); Page result = baseMapper.selectVoPlus(pageQuery.build(), lqw); + + // 获取实时汇率 + BigDecimal currentExchangeRate = exchangeRateService.getCurrentUsdExchangeRate(); + + // 处理每条记录,转换美元金额为人民币 + for (SysOaProjectVo vo : result.getRecords()) { + if (vo.getRemark() != null && vo.getFunds() != null) { + // 检查备注中是否包含"美元"或"美金" + if (vo.getRemark().contains("美元") || vo.getRemark().contains("美金")) { + // 转换为人民币 + vo.setFundsRmb(vo.getFunds().multiply(currentExchangeRate)); + } else { + // 不需要转换,直接使用原金额 + vo.setFundsRmb(vo.getFunds()); + } + } else if (vo.getFunds() != null) { + // 没有备注信息,默认使用原金额 + vo.setFundsRmb(vo.getFunds()); + } + } + return TableDataInfo.build(result); }