diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/ProjectProfitLossVO.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/ProjectProfitLossVO.java index 4f480c3..353edbc 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/ProjectProfitLossVO.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/ProjectProfitLossVO.java @@ -1,5 +1,6 @@ package com.ruoyi.oa.domain.vo; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.math.BigDecimal; @@ -12,14 +13,19 @@ public class ProjectProfitLossVO { private String projectNum; private Date beginTime; private String projectStatus; + @JsonFormat(shape = JsonFormat.Shape.STRING) private BigDecimal originalFunds; // 原始合同金额 private String projectRemark; // 项目备注(用于判断币种) private BigDecimal contractAmountUsd; // 美元合同金额 private Integer isUsd; // 是否美元(1是,0否) private BigDecimal exchangeRate; // 实时汇率 + @JsonFormat(shape = JsonFormat.Shape.STRING) private BigDecimal contractAmountCny; // 人民币合同金额 + @JsonFormat(shape = JsonFormat.Shape.STRING) private BigDecimal warehouseCost; + @JsonFormat(shape = JsonFormat.Shape.STRING) private BigDecimal hrCost; + @JsonFormat(shape = JsonFormat.Shape.STRING) private BigDecimal profitLoss; //盈亏金额 // ...其他字段 // getter/setter diff --git a/ruoyi-oa/src/main/resources/mapper/oa/SysOaProjectMapper.xml b/ruoyi-oa/src/main/resources/mapper/oa/SysOaProjectMapper.xml index 8f467d0..11cb40d 100644 --- a/ruoyi-oa/src/main/resources/mapper/oa/SysOaProjectMapper.xml +++ b/ruoyi-oa/src/main/resources/mapper/oa/SysOaProjectMapper.xml @@ -857,8 +857,10 @@ a.project_id, SUM( CASE - WHEN a.hour > 0 THEN a.hour * u.labor_cost - ELSE a.day_length * 8 * u.labor_cost + -- 当小时数存在时,使用日薪/8计算小时薪资 + WHEN a.hour > 0 THEN a.hour * (COALESCE(u.labor_cost, 0) DIV 8) + -- 当日数存在时,使用日薪×天数 + ELSE a.day_length * COALESCE(u.labor_cost, 0) END ) AS total_hr_cost FROM