Преглед на файлове

Merge branch 'master' into test

yzc преди 1 година
родител
ревизия
ce966ee3a2

+ 1 - 1
hx-admin/src/main/resources/application-dev.yml

@@ -83,7 +83,7 @@ spring:
         # 地址
         host: 121.37.194.75
         # 端口,默认为6379
-        port: 30103
+        port: 31347
         # 数据库索引
         database: 5
         # 密码

+ 1 - 1
hx-admin/src/main/resources/application-prod.yml

@@ -71,7 +71,7 @@ spring:
         # 地址
         host: 127.0.0.1
         # 端口,默认为6379
-        port: 23784
+        port: 31347
         # 数据库索引
         database: 1
         # 密码

+ 2 - 2
hx-purchase/src/main/java/com/fjhx/purchase/flow/PayFlow.java

@@ -12,6 +12,7 @@ import com.fjhx.account.service.account.AccountPaymentService;
 import com.fjhx.common.constant.SourceConstant;
 import com.fjhx.common.enums.FlowStatusEnum1;
 import com.fjhx.common.utils.Assert;
+import com.fjhx.common.utils.ExchangeRateUtil;
 import com.fjhx.file.utils.ObsFileUtil;
 import com.fjhx.flow.core.FlowDelegate;
 import com.fjhx.flow.enums.FlowStatusEnum;
@@ -94,9 +95,8 @@ public class PayFlow extends FlowDelegate {
         if (opType == 1) {
             Assert.notEmpty(pay.getId(), "采购付款id不能为空");
         }
-
-        pay.setStatus(PayStatusEnum.UNDER_REVIEW.getKey());
         pay.setCurrency("CNY");//默认币种人民币
+        pay.setStatus(PayStatusEnum.UNDER_REVIEW.getKey());
         payService.saveOrUpdate(pay);
 
         List<PayDetail> payDetailList = pay.getPayDetailList();

+ 3 - 3
hx-purchase/src/main/resources/mapper/pay/PayDetailMapper.xml

@@ -41,9 +41,9 @@
 
     <select id="getPayDetailList" resultType="com.fjhx.purchase.entity.pay.po.Pay">
         SELECT
-            t1.money,
-            t2.rate,
-            t2.currency
+            IFNULL( t1.money, 0 ) AS amount,
+            IFNULL( t2.rate, 1 ) AS rate,
+            IFNULL( t2.currency, "CNY" ) AS currency
         FROM
         pay_detail t1
         LEFT JOIN pay t2 ON t1.pay_id = t2.id

+ 4 - 0
hx-sale/src/main/java/com/fjhx/sale/flow/ContractFlow.java

@@ -1,5 +1,6 @@
 package com.fjhx.sale.flow;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
@@ -78,6 +79,9 @@ public class ContractFlow extends FlowDelegate {
         if (StringUtils.isEmpty(contract.getCurrency())) {
             throw new ServiceException("币种不能为空");
         }
+        if(ObjectUtil.isEmpty(contract.getBuyCorporationId())){
+            throw new ServiceException("客户不能为空");
+        }
 
         //赋值合同号
         contract.setCode(codingRuleService.createCode(CodingRuleEnum.CONTRACT.getKey(), contract.getBuyCorporationId()));

+ 2 - 0
hx-sale/src/main/java/com/fjhx/sale/flow/PurchaseFlow.java

@@ -11,6 +11,7 @@ import com.fjhx.common.enums.CodingRuleEnum;
 import com.fjhx.common.enums.FlowStatusEnum1;
 import com.fjhx.common.service.coding.CodingRuleService;
 import com.fjhx.common.utils.Assert;
+import com.fjhx.common.utils.ExchangeRateUtil;
 import com.fjhx.flow.core.FlowDelegate;
 import com.fjhx.flow.core.FlowThreadLocalUtil;
 import com.fjhx.flow.enums.FlowStatusEnum;
@@ -183,6 +184,7 @@ public class PurchaseFlow extends FlowDelegate {
         if (opType == 1) {
             Assert.notEmpty(purchase.getId(), "采购id不能为空");
         }
+        purchase.setRate(ExchangeRateUtil.getCnyToCodeRate(purchase.getCurrency()));
         purchase.setPurchaseStatus(PurchaseStatusEnum.UNDER_REVIEW.getKey());
         purchaseService.saveOrUpdate(purchase);
         List<PurchaseDetail> purchaseDetailList = purchase.getPurchaseDetailList();

+ 4 - 0
hx-sale/src/main/java/com/fjhx/sale/flow/SaleQuotationFlow.java

@@ -1,5 +1,6 @@
 package com.fjhx.sale.flow;
 
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.extra.spring.SpringUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DS;
@@ -112,6 +113,9 @@ public class SaleQuotationFlow extends FlowDelegate {
      * @param opType 操作类型 0直接发起 1重新发起
      */
     private SaleQuotationDto commStart(SaleQuotationDto saleQuotation, Integer opType) {
+        if(ObjectUtil.isEmpty(saleQuotation.getBuyCorporationId())){
+            throw new ServiceException("客户不能为空");
+        }
         //赋值城市省份信息
         CustomizeAreaUtil.setAreaId(saleQuotation);
         saleQuotation.setBuyCityId(saleQuotation.getCityId());

+ 3 - 0
hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractServiceImpl.java

@@ -534,6 +534,9 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
      * 开始公共代码抽取
      */
     public ContractDto commStart(ContractDto contract) {
+        if(ObjectUtil.isEmpty(contract.getBuyCorporationId())){
+            throw new ServiceException("客户不能为空");
+        }
         // 赋值城市省份信息
         CustomizeAreaUtil.setAreaId(contract);
         contract.setUserName(SecurityUtils.getUsername());

+ 3 - 0
hx-sale/src/main/java/com/fjhx/sale/service/sale/impl/SaleQuotationServiceImpl.java

@@ -175,6 +175,9 @@ public class SaleQuotationServiceImpl extends ServiceImpl<SaleQuotationMapper, S
     @DSTransactional
     @Override
     public long add(SaleQuotationDto saleQuotation) {
+        if(ObjectUtil.isEmpty(saleQuotation.getBuyCorporationId())){
+            throw new ServiceException("客户不能为空");
+        }
         //赋值城市省份信息
         CustomizeAreaUtil.setAreaId(saleQuotation);
         saleQuotation.setBuyCityId(saleQuotation.getCityId());

+ 38 - 35
hx-sale/src/main/java/com/fjhx/sale/service/statement/impl/SaleStatementServiceImpl.java

@@ -317,7 +317,6 @@ public class SaleStatementServiceImpl implements SaleStatementService {
                  * 处理采购金额
                  */
                 List<Purchase> pList = purchaseMap.getOrDefault(p.getContractId(), null);
-                List<Long> purchaseIds = pList.stream().map(Purchase::getId).collect(Collectors.toList());
                 if (CollectionUtils.isNotEmpty(pList)) {
 
                     BigDecimal purchaseAmount = pList.stream().map(purchase -> {
@@ -329,21 +328,23 @@ public class SaleStatementServiceImpl implements SaleStatementService {
                         return rate.multiply(money);
                     }).reduce(BigDecimal.ZERO, BigDecimal::add);
                     p.setPurchaseAmount(purchaseAmount);
-                }
-                /**
-                 * 处理支付款金额
-                 */
-                List<Pay> payList = payDetailService.getSumMoney(purchaseIds);
-                if (CollectionUtils.isNotEmpty(payList)) {
-                    BigDecimal payAmount = payList.stream().map(pay -> {
-                        //获取汇率
-                        BigDecimal rate = assignCurrencyRatesMap.getOrDefault(pay.getCurrency(), BigDecimal.ONE);
-                        // 获取认领金额
-                        BigDecimal money = pay.getAmount();
-                        // 返回兑人民币后金额
-                        return rate.multiply(money);
-                    }).reduce(BigDecimal.ZERO, BigDecimal::add);
-                    p.setAccountPaid(payAmount);
+
+                    /**
+                     * 处理支付款金额
+                     */
+                    List<Long> purchaseIds = pList.stream().map(Purchase::getId).collect(Collectors.toList());
+                    List<Pay> payList = payDetailService.getSumMoney(purchaseIds);
+                    if (CollectionUtils.isNotEmpty(payList)) {
+                        BigDecimal payAmount = payList.stream().map(pay -> {
+                            //获取汇率
+                            BigDecimal rate = pay.getRate()==null?BigDecimal.ONE:pay.getRate();
+                            // 获取金额
+                            BigDecimal money = pay.getAmount()==null?BigDecimal.ZERO:pay.getAmount();
+                            // 返回兑人民币后金额
+                            return rate.multiply(money);
+                        }).reduce(BigDecimal.ZERO, BigDecimal::add);
+                        p.setPayForGoods(payAmount);
+                    }
                 }
                 /**
                  * 其他收入金额
@@ -373,7 +374,7 @@ public class SaleStatementServiceImpl implements SaleStatementService {
                     BigDecimal contractArrival = cList.stream().map(claimContract -> {
                         //获取汇率
                         BigDecimal rate = waterMap.getOrDefault(claimContract.getBusinessId(), BigDecimal.ONE);
-                        // 获取认领金额
+                        // 获取金额
                         BigDecimal money = claimContract.getMoney();
                         // 返回兑人民币后金额
                         return rate.multiply(money);
@@ -399,32 +400,34 @@ public class SaleStatementServiceImpl implements SaleStatementService {
                  * 处理采购金额
                  */
                 List<Purchase> pList = purchaseMap.getOrDefault(p.getContractId(), null);
-                List<Long> purchaseIds = pList.stream().map(Purchase::getId).collect(Collectors.toList());
+
                 if (CollectionUtils.isNotEmpty(pList)) {
                     BigDecimal purchaseAmount = pList.stream().map(purchase -> {
                         //获取汇率
-                        BigDecimal rate = purchase.getRate() == null ? BigDecimal.ZERO : purchase.getRate();
+                        BigDecimal rate = purchase.getRate() == null ? BigDecimal.ONE : purchase.getRate();
                         // 获取认领金额
                         BigDecimal money = purchase.getAmount() == null ? BigDecimal.ZERO : purchase.getAmount();
                         // 返回兑人民币后金额
                         return rate.multiply(money);
                     }).reduce(BigDecimal.ZERO, BigDecimal::add);
                     p.setPurchaseAmount(purchaseAmount);
-                }
-                /**
-                 * 处理支付款金额
-                 */
-                List<Pay> payList = payDetailService.getSumMoney(purchaseIds);
-                if (CollectionUtils.isNotEmpty(payList)) {
-                    BigDecimal payAmount = payList.stream().map(pay -> {
-                        //获取汇率
-                        BigDecimal rate = pay.getRate()==null?BigDecimal.ONE:pay.getRate();
-                        // 获取认领金额
-                        BigDecimal money = pay.getAmount();
-                        // 返回兑人民币后金额
-                        return rate.multiply(money);
-                    }).reduce(BigDecimal.ZERO, BigDecimal::add);
-                    p.setAccountPaid(payAmount);
+
+                    /**
+                     * 处理支付款金额
+                     */
+                    List<Long> purchaseIds = pList.stream().map(Purchase::getId).collect(Collectors.toList());
+                    List<Pay> payList = payDetailService.getSumMoney(purchaseIds);
+                    if (CollectionUtils.isNotEmpty(payList)) {
+                        BigDecimal payAmount = payList.stream().map(pay -> {
+                            //获取汇率
+                            BigDecimal rate = pay.getRate()==null?BigDecimal.ONE:pay.getRate();
+                            // 获取认领金额
+                            BigDecimal money = pay.getAmount()==null?BigDecimal.ZERO:pay.getAmount();
+                            // 返回兑人民币后金额
+                            return rate.multiply(money);
+                        }).reduce(BigDecimal.ZERO, BigDecimal::add);
+                        p.setPayForGoods(payAmount);
+                    }
                 }
                 /**
                  * 其他收入金额
@@ -515,7 +518,7 @@ public class SaleStatementServiceImpl implements SaleStatementService {
         for (ProfitSettlementVo profitSettlementVo : list) {
 
             // 收入
-            BigDecimal totalIncome = profitSettlementVo.getOtherIncome().add(profitSettlementVo.getContractArrival());
+            BigDecimal totalIncome = profitSettlementVo.getOtherIncome().add(profitSettlementVo.getContractArrival().add(profitSettlementVo.getTaxReturnMoney()));
             profitSettlementVo.setTotalIncome(totalIncome);
 
             // 支出