Bläddra i källkod

ContractServiceImpl

24282 2 år sedan
förälder
incheckning
4ea1612609

+ 30 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/contract/vo/ContractPdfInfoVo.java

@@ -139,6 +139,36 @@ public class ContractPdfInfoVo {
      */
     private Long shroffAccountId;
 
+    /**
+     * 账户名称(外汇信息)
+     */
+    private String beneficiaryName;
+
+    /**
+     * 开户银行(外汇信息)
+     */
+    private String beneficiaryBank;
+
+    /**
+     * 开户银行地址(外汇信息)
+     */
+    private String beneficiaryBankAddress;
+
+    /**
+     * 账号(外汇信息)
+     */
+    private String beneficiaryAccountNumber;
+
+    /**
+     * 银行代码(外汇信息)
+     */
+    private String swiftCode;
+
+    /**
+     * 收款人地址(外汇信息)
+     */
+    private String beneficiaryAddress;
+
     @Getter
     @Setter
     public static class ProductInfo {

+ 29 - 7
hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractServiceImpl.java

@@ -5,24 +5,23 @@ import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson2.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.account.controller.utils.DateUtils;
+import com.fjhx.account.entity.account.po.AccountManagement;
+import com.fjhx.account.service.account.AccountManagementService;
 import com.fjhx.area.utils.AreaUtil;
 import com.fjhx.common.entity.corporation.po.Corporation;
 import com.fjhx.common.entity.documentary.bo.DocumentaryData;
-import com.fjhx.common.service.contract.ContractTemplateService;
 import com.fjhx.common.service.corporation.CorporationService;
 import com.fjhx.common.service.documentary.GetDocumentaryBusinessTemplate;
 import com.fjhx.customer.entity.customer.dto.CustomerDto;
 import com.fjhx.customer.entity.customer.po.Customer;
 import com.fjhx.customer.service.customer.CustomerService;
 import com.fjhx.item.entity.product.dto.ProductInfoSelectDto;
-import com.fjhx.item.entity.product.vo.ProductInfoVo;
 import com.fjhx.item.service.product.ProductInfoService;
 import com.fjhx.sale.entity.contract.bo.ContractDocumentaryBo;
 import com.fjhx.sale.entity.contract.dto.ContractDto;
@@ -80,9 +79,6 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
     private CustomerService customerService;
 
     @Autowired
-    private ContractTemplateService contractTemplateService;
-
-    @Autowired
     private CorporationService corporationService;
 
     @Autowired
@@ -91,6 +87,9 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
     @Autowired
     private ProductInfoService productInfoService;
 
+    @Autowired
+    private AccountManagementService accountManagementService;
+
     /**
      * 分页
      *
@@ -317,6 +316,13 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
                     setProductList(contractPdfInfoVo, contract);
                 }, threadPoolExecutor);
 
+        // 设置收款账号
+        CompletableFuture<Void> setAccountManagementFuture = CompletableFuture.runAsync(
+                () -> {
+                    SecurityContextHolder.setContext(context);
+                    setAccountManagement(contractPdfInfoVo, contract);
+                }, threadPoolExecutor);
+
         // 赋值合同基本信息
         setInfo(contractPdfInfoVo, contract);
 
@@ -324,7 +330,8 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
                 setSellCorporationInfoFuture,
                 setBuyCorporationFuture,
                 setAreaFuture,
-                setProductListFuture
+                setProductListFuture,
+                setAccountManagementFuture
         ).join();
 
     }
@@ -461,4 +468,19 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
 
     }
 
+    private void setAccountManagement(ContractPdfInfoVo contractPdfInfoVo, Contract contract) {
+        Long shroffAccountId = contract.getShroffAccountId();
+        AccountManagement accountManagement = accountManagementService.getById(shroffAccountId);
+        if (accountManagement == null) {
+            return;
+        }
+
+        contractPdfInfoVo.setBeneficiaryName(accountManagement.getBeneficiaryName());
+        contractPdfInfoVo.setBeneficiaryBank(accountManagement.getBeneficiaryBank());
+        contractPdfInfoVo.setBeneficiaryBankAddress(accountManagement.getBeneficiaryBankAddress());
+        contractPdfInfoVo.setBeneficiaryAccountNumber(accountManagement.getBeneficiaryAccountNumber());
+        contractPdfInfoVo.setSwiftCode(accountManagement.getSwiftCode());
+        contractPdfInfoVo.setBeneficiaryAddress(accountManagement.getBeneficiaryAddress());
+    }
+
 }