24282 4 月之前
父節點
當前提交
4f15c2ec99

+ 14 - 0
hx-account/src/main/java/com/fjhx/account/controller/account/AccountDeptRunningWaterController.java

@@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletResponse;
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
 
@@ -58,6 +59,19 @@ public class AccountDeptRunningWaterController {
         ExcelUtil.export(response, page.getRecords(), DeptExpenseVo.class);
     }
 
+    @PostMapping("/totality")
+    public BigDecimal totality(@RequestBody DeptExpenseDto dto) {
+        dto.setPageNum(1);
+        dto.setPageSize(Integer.MAX_VALUE);
+        Page<DeptExpenseVo> page = accountDeptRunningWaterService.getPage(dto);
+        List<DeptExpenseVo> records = page.getRecords();
+        if (records.isEmpty()) {
+            return BigDecimal.ZERO;
+        }
+
+        return records.stream().map(DeptExpenseVo::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+    }
+
 
     /**
      * 部门-资金流水关联表新增

+ 8 - 0
hx-account/src/main/java/com/fjhx/account/entity/account/po/AccountDeptRunningWater.java

@@ -2,6 +2,8 @@ package com.fjhx.account.entity.account.po;
 
 import com.ruoyi.common.core.domain.BasePo;
 import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.math.BigDecimal;
 import java.util.Date;
 import lombok.Getter;
 import lombok.Setter;
@@ -19,6 +21,12 @@ import lombok.Setter;
 @TableName("account_dept_running_water")
 public class AccountDeptRunningWater extends BasePo {
 
+    private Long deptId;
+    private String tenantId;
+    private String currency;
+    private BigDecimal amount;
+    private String remarks;
+    private Integer status;
 
 
     /**

+ 0 - 1
hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountDeptRunningWaterServiceImpl.java

@@ -83,7 +83,6 @@ public class AccountDeptRunningWaterServiceImpl extends ServiceImpl<AccountDeptR
         } else {
             this.save(accountDeptRunningWaterDto);
         }
-
     }
 
     @Override

+ 16 - 0
hx-account/src/main/resources/mapper/account/AccountDeptRunningWaterMapper.xml

@@ -101,6 +101,22 @@
         bytesailing_sale.commission c
         WHERE c.del_flag=0
 
+        UNION ALL
+
+        SELECT
+        c.id id,
+        c.dept_id department_id,
+        c.create_time transaction_time,
+        c.currency,
+        c.amount,
+        c.remarks,
+        d.dept_name,
+        c.status
+        FROM
+        bytesailing_account.account_dept_running_water c
+        LEFT JOIN bytesailing_base.sys_dept d on c.dept_id = d.dept_id
+        WHERE c.del_flag=0
+
         ) t
         <where>
             <if test="dto.remarks neq null and dto.remarks neq ''">

+ 5 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/commission/dto/CommissionSelectDto.java

@@ -19,6 +19,11 @@ public class CommissionSelectDto extends BaseSelectDto {
     private String time;
 
     /**
+     * 月份
+     */
+    private Integer month;
+
+    /**
      * 用户ID
      */
     private Long userId;

+ 27 - 1
hx-sale/src/main/java/com/fjhx/sale/flow/ContractFlow.java

@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.fjhx.area.utils.CustomizeAreaUtil;
 import com.fjhx.common.constant.SourceConstant;
 import com.fjhx.common.enums.CodingRuleEnum;
@@ -31,6 +32,8 @@ import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.system.domain.SysConfig;
+import com.ruoyi.system.service.ISysConfigService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -61,6 +64,9 @@ public class ContractFlow extends FlowDelegate {
     @Autowired
     private ContractShipmentService contractShipmentService;
 
+    @Autowired
+    private ISysConfigService sysConfigService;
+
     @Override
     public String getFlowKey() {
         return "contract_flow";
@@ -169,7 +175,27 @@ public class ContractFlow extends FlowDelegate {
         contract.setBuyCityId(contract.getCityId());
         contract.setBuyCountryId(contract.getCountryId());
         contract.setBuyProvinceId(contract.getProvinceId());
-        contract.setRate(ExchangeRateUtil.getCnyToCodeRate(contract.getCurrency()));
+
+
+        String currency = contract.getCurrency();
+
+        DynamicDataSourceContextHolder.push(SourceConstant.BASE);
+
+        SysConfig sysConfig = sysConfigService.getOne(Wrappers.<SysConfig>lambdaQuery()
+                .eq(SysConfig::getConfigKey, "currency_rate")
+        );
+
+        if (sysConfig != null) {
+            String configValue = sysConfig.getConfigValue();
+            JSONObject rateMap = JSONObject.parseObject(configValue);
+            contract.setRate(rateMap.getBigDecimal(currency));
+        }
+        DynamicDataSourceContextHolder.poll();
+
+        if (contract.getRate() == null) {
+            contract.setRate(ExchangeRateUtil.getCnyToCodeRate(contract.getCurrency()));
+        }
+
         contractService.saveOrUpdate(contract);
 
         // 保存合同产品

+ 2 - 0
hx-sale/src/main/java/com/fjhx/sale/service/commission/impl/CommissionServiceImpl.java

@@ -46,6 +46,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
         QueryWrapper<Object> query = Wrappers.query();
         query.eq(ObjectUtil.isNotEmpty(dto.getUserId()), "c.user_id", dto.getUserId());
         query.eq(ObjectUtil.isNotEmpty(dto.getTime()), "DATE_FORMAT(c.create_time,'%Y')", dto.getTime());
+        query.eq(ObjectUtil.isNotEmpty(dto.getMonth()), "DATE_FORMAT(c.create_time,'%m')", dto.getMonth());
         query.like(ObjectUtil.isNotEmpty(dto.getKeyword()),"c.contract_code",dto.getKeyword());
         query.orderByDesc("c.create_time");
         Page<CommissionVo> page = this.baseMapper.getPage(dto.getPage(), query);
@@ -62,6 +63,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
         QueryWrapper<Object> query = Wrappers.query();
         query.eq(ObjectUtil.isNotEmpty(dto.getUserId()), "c.user_id", dto.getUserId());
         query.eq(ObjectUtil.isNotEmpty(dto.getTime()), "DATE_FORMAT(c.create_time,'%Y')", dto.getTime());
+        query.eq(ObjectUtil.isNotEmpty(dto.getMonth()), "DATE_FORMAT(c.create_time,'%m')", dto.getMonth());
         query.like(ObjectUtil.isNotEmpty(dto.getKeyword()),"c.contract_code",dto.getKeyword());
         query.orderByDesc("c.create_time");
         CommissionVo commissionVo = this.baseMapper.getHeadStatistics(query);