24282 3 months ago
parent
commit
131392c4b8

+ 6 - 5
jy-business/src/main/java/com/jy/business/contract/dao/ContractInfoDao.java

@@ -55,10 +55,10 @@ public class ContractInfoDao extends BaseDao<ContractInfoMapper, ContractInfo> {
                 .select(
                         ci.sellerCompany,
                         _count(0).as(ContractStatisticsVo::getContractQuantity),
-                        _sum(ci.amount).as(ContractStatisticsVo::getContractAmount),
+                        _sum(ci.amount.multiply(ci.exchangeRate)).as(ContractStatisticsVo::getContractAmount),
                         t.field(ContractStatisticsVo::getFundReceivedAmount),
                         t.field(ContractStatisticsVo::getFundReceivedAmount)
-                                .subtract(_ifNull(t2.field("amount"),0)).as(ContractStatisticsVo::getProfit)
+                                .subtract(_ifNull(t2.field("amount"), 0)).as(ContractStatisticsVo::getProfit)
                 )
                 .from(ci)
                 .leftJoin(t).on(ci.sellerCompany.eq(t.field(ContractInfo::getSellerCompany)))
@@ -100,11 +100,12 @@ public class ContractInfoDao extends BaseDao<ContractInfoMapper, ContractInfo> {
 
         return sql(ContractInfoVo.class)
                 .select(
-                        ci.all,
+                        ci.all.exclude(ci.amount),
+                        ci.amount.multiply(ci.exchangeRate).as(ContractInfoVo::getAmount),
                         sql()
                                 .select(_sum(_ifNull(cd.costPrice, 0).multiply(cd.quantity))).from(cd).where(ci.id.eq(cd.contractId))
-                                .add(ci.freightPrice)
-                                .add(ci.insurance)
+                                .add(ci.freightPrice.multiply(ci.exchangeRate))
+                                .add(ci.insurance.multiply(ci.exchangeRate))
                                 .as(ContractInfoVo::getCostPrice)
                 )
                 .from(ci)

+ 2 - 3
jy-framework/src/main/java/com/jy/framework/mybatis/join/QueryColumn.java

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.toolkit.LambdaUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringPool;
 import com.baomidou.mybatisplus.core.toolkit.support.LambdaMeta;
 import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
-import lombok.RequiredArgsConstructor;
 import org.apache.ibatis.reflection.property.PropertyNamer;
 
 public class QueryColumn extends AbstractQueryColumn {
@@ -13,12 +12,12 @@ public class QueryColumn extends AbstractQueryColumn {
     /**
      * 表别名
      */
-    private final String tableAlias;
+    protected final String tableAlias;
 
     /**
      * 字段
      */
-    private final String field;
+    protected final String field;
 
     public QueryColumn(String field) {
         this.tableAlias = StringPool.EMPTY;

+ 14 - 1
jy-framework/src/main/java/com/jy/framework/mybatis/join/QueryColumns.java

@@ -13,13 +13,26 @@ public class QueryColumns extends AbstractSql {
 
     List<QueryColumn> queryColumnList = new ArrayList<>();
 
+    List<String> excludeColumnList = new ArrayList<>();
+
+    public QueryColumns exclude(QueryColumn queryColumn) {
+        QueryColumns queryColumns = new QueryColumns();
+        queryColumns.queryColumnList.addAll(this.queryColumnList);
+        queryColumns.excludeColumnList.addAll(this.excludeColumnList);
+        queryColumns.excludeColumnList.add(queryColumn.field);
+        return queryColumns;
+    }
+
     protected void add(QueryColumn queryColumn) {
         queryColumnList.add(queryColumn);
     }
 
     @Override
     protected String format() {
-        return queryColumnList.stream().map(QueryColumn::format).collect(Collectors.joining(StringPool.COMMA));
+        return queryColumnList.stream()
+                .filter(item -> !excludeColumnList.contains(item.field))
+                .map(QueryColumn::format)
+                .collect(Collectors.joining(StringPool.COMMA));
     }
 
 }