Bläddra i källkod

销售合同pdf

24282 2 år sedan
förälder
incheckning
a9e47ec766

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

@@ -1,5 +1,6 @@
 package com.fjhx.sale.entity.contract.vo;
 
+import com.fjhx.sale.entity.contract.po.ContractProject;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -117,6 +118,11 @@ public class ContractPdfInfoVo {
     private List<ProductInfo> productInfoList;
 
     /**
+     * 其他收费项目
+     */
+    private List<ContractProject> contractProjectList;
+
+    /**
      * 总金额
      */
     private BigDecimal totalAmount;

+ 21 - 19
hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractServiceImpl.java

@@ -14,7 +14,6 @@ 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.entity.account.po.AccountRequestFundsDetail;
 import com.fjhx.account.entity.account.vo.AccountRequestFundsDetailVo;
 import com.fjhx.account.service.account.AccountManagementService;
 import com.fjhx.account.service.account.AccountRequestFundsDetailService;
@@ -31,37 +30,35 @@ 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.sale.entity.claim.po.Claim;
-import com.fjhx.sale.entity.claim.po.ClaimContract;
-import com.fjhx.sale.entity.contract.bo.ContractCurrencyRate;
-import com.fjhx.sale.entity.purchase.po.EhsdPurchaseProduct;
-import com.fjhx.sale.entity.purchase.vo.EhsdPurchaseProductVo;
-import com.fjhx.sale.entity.serviceContract.po.ServiceContract;
-import com.fjhx.sale.service.claim.ClaimContractService;
-import com.fjhx.sale.service.purchase.EhsdPurchaseProductService;
 import com.fjhx.file.entity.FileInfoVo;
 import com.fjhx.file.utils.ObsFileUtil;
 import com.fjhx.item.entity.product.dto.ProductInfoSelectDto;
 import com.fjhx.item.service.product.ProductInfoService;
 import com.fjhx.purchase.entity.purchase.vo.PurchaseDetailVo;
 import com.fjhx.purchase.service.purchase.PurchaseDetailService;
+import com.fjhx.sale.entity.claim.po.ClaimContract;
+import com.fjhx.sale.entity.contract.bo.ContractCurrencyRate;
 import com.fjhx.sale.entity.contract.bo.ContractDocumentaryBo;
 import com.fjhx.sale.entity.contract.dto.ContractDto;
 import com.fjhx.sale.entity.contract.dto.ContractSelectDto;
 import com.fjhx.sale.entity.contract.po.Contract;
 import com.fjhx.sale.entity.contract.po.ContractProduct;
+import com.fjhx.sale.entity.contract.po.ContractProject;
 import com.fjhx.sale.entity.contract.vo.ContractBudgetVo;
 import com.fjhx.sale.entity.contract.vo.ContractDocumentaryVo;
 import com.fjhx.sale.entity.contract.vo.ContractPdfInfoVo;
 import com.fjhx.sale.entity.contract.vo.ContractVo;
+import com.fjhx.sale.entity.purchase.vo.EhsdPurchaseProductVo;
 import com.fjhx.sale.entity.sale.vo.SaleQuotationVo;
 import com.fjhx.sale.mapper.contract.ContractMapper;
+import com.fjhx.sale.service.claim.ClaimContractService;
 import com.fjhx.sale.service.contract.ContractProductService;
+import com.fjhx.sale.service.contract.ContractProjectService;
 import com.fjhx.sale.service.contract.ContractService;
+import com.fjhx.sale.service.purchase.EhsdPurchaseProductService;
 import com.ruoyi.common.core.domain.BaseSelectDto;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.PageUtils;
-import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.common.utils.wrapper.SqlField;
@@ -130,6 +127,9 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
     @Autowired
     private AccountRequestFundsDetailService accountRequestFundsDetailService;
 
+    @Autowired
+    private ContractProjectService contractProjectService;
+
     /**
      * 分页
      *
@@ -813,10 +813,12 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
         );
 
         Map<Long, String> areaMap = CustomizeAreaUtil.getAreaMapByIds(areaIdList);
-        contractPdfInfoVo.setSellCountryName(areaMap.get(contract.getSellCountryId()));
-        contractPdfInfoVo.setSellProvinceName(areaMap.get(contract.getSellProvinceId()));
-        contractPdfInfoVo.setSellCityName(areaMap.get(contract.getSellCityId()));
+
+        contractPdfInfoVo.setSellCountryName(contract.getSellCountryName());
+        contractPdfInfoVo.setSellProvinceName(contract.getSellProvinceName());
+        contractPdfInfoVo.setSellCityName(contract.getSellCityName());
         contractPdfInfoVo.setSellDetailedAddress(contract.getSellAddress());
+
         contractPdfInfoVo.setBuyCountryName(areaMap.get(contract.getBuyCountryId()));
         contractPdfInfoVo.setBuyProvinceName(areaMap.get(contract.getBuyProvinceId()));
         contractPdfInfoVo.setBuyCityName(areaMap.get(contract.getBuyCityId()));
@@ -843,17 +845,17 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
      */
     private void setProductList(ContractPdfInfoVo contractPdfInfoVo, Contract contract) {
 
-        contractPdfInfoVo.setTotalAmount(BigDecimal.ZERO);
+        contractPdfInfoVo.setTotalAmount(contract.getAmount());
 
-        List<ContractProduct> list = contractProductService.list(q -> q.eq(ContractProduct::getContractId, contract.getId()));
+        List<ContractProject> contractProjectList = contractProjectService.list(q -> q.eq(ContractProject::getContractId, contract.getId()));
+        contractPdfInfoVo.setContractProjectList(contractProjectList);
 
-        if (list.size() == 0) {
+        List<ContractProduct> contractProductList = contractProductService.list(q -> q.eq(ContractProduct::getContractId, contract.getId()));
+        if (contractProductList.size() == 0) {
             return;
         }
 
-        List<ContractPdfInfoVo.ProductInfo> productInfoList = list.stream().map(item -> {
-            contractPdfInfoVo.setTotalAmount(contractPdfInfoVo.getTotalAmount().add(item.getAmount()));
-
+        List<ContractPdfInfoVo.ProductInfo> productInfoList = contractProductList.stream().map(item -> {
             ContractPdfInfoVo.ProductInfo productIndo = new ContractPdfInfoVo.ProductInfo();
             productIndo.setProductId(item.getProductId());
             productIndo.setProductQuantity(item.getQuantity());