Просмотр исходного кода

协议费用文件上传及展示

785834757 1 год назад
Родитель
Сommit
5e7c8c9aef

+ 25 - 1
src/main/java/com/ydtech/modules/protocol/controller/PtlAgreementController.java

@@ -4,7 +4,10 @@ package com.ydtech.modules.protocol.controller;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.core.page.PageResult;
 import com.ydtech.core.page.PageResult;
+import com.ydtech.exception.SystemException;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.base.controller.BaseController;
+import com.ydtech.modules.order.entity.po.InsUploadFiles;
+import com.ydtech.modules.order.service.InsUploadFilesService;
 import com.ydtech.modules.protocol.entity.po.PtlAgreement;
 import com.ydtech.modules.protocol.entity.po.PtlAgreement;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementNonCarProductCosts;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementNonCarProductCosts;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementProductCosts;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementProductCosts;
@@ -12,16 +15,20 @@ import com.ydtech.modules.protocol.entity.po.PtlAgreementUndwrtRules;
 import com.ydtech.modules.protocol.entity.vo.*;
 import com.ydtech.modules.protocol.entity.vo.*;
 import com.ydtech.modules.protocol.service.*;
 import com.ydtech.modules.protocol.service.*;
 import com.ydtech.modules.protocol.utils.AssertionUtils;
 import com.ydtech.modules.protocol.utils.AssertionUtils;
+import com.ydtech.validation.annotation.CheckObjectNotNull;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import org.apache.poi.ss.formula.functions.T;
 import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.List;
 import java.util.List;
+import java.util.Objects;
 
 
 /**
 /**
  * @author wenks
  * @author wenks
@@ -46,15 +53,19 @@ public class PtlAgreementController extends BaseController {
 
 
     private final PtlAgreementTrajectoryService ptlAgreementTrajectoryService;
     private final PtlAgreementTrajectoryService ptlAgreementTrajectoryService;
 
 
+    private final InsUploadFilesService insUploadFilesService;
+
     public PtlAgreementController(PtlAgreementService ptlAgreementService, PtlAgreementUndwrtRulesService ptlAgreementUndwrtRulesService,
     public PtlAgreementController(PtlAgreementService ptlAgreementService, PtlAgreementUndwrtRulesService ptlAgreementUndwrtRulesService,
                                   PtlAgreementProductCostsService ptlAgreementProductCostsService,
                                   PtlAgreementProductCostsService ptlAgreementProductCostsService,
                                   PtlAgreementNonCarProductCostsService ptlAgreementNonCarProductCostsService,
                                   PtlAgreementNonCarProductCostsService ptlAgreementNonCarProductCostsService,
-                                  PtlAgreementTrajectoryService ptlAgreementTrajectoryService) {
+                                  PtlAgreementTrajectoryService ptlAgreementTrajectoryService,
+                                  InsUploadFilesService insUploadFilesService) {
         this.ptlAgreementService = ptlAgreementService;
         this.ptlAgreementService = ptlAgreementService;
         this.ptlAgreementProductCostsService = ptlAgreementProductCostsService;
         this.ptlAgreementProductCostsService = ptlAgreementProductCostsService;
         this.ptlAgreementUndwrtRulesService = ptlAgreementUndwrtRulesService;
         this.ptlAgreementUndwrtRulesService = ptlAgreementUndwrtRulesService;
         this.ptlAgreementNonCarProductCostsService = ptlAgreementNonCarProductCostsService;
         this.ptlAgreementNonCarProductCostsService = ptlAgreementNonCarProductCostsService;
         this.ptlAgreementTrajectoryService = ptlAgreementTrajectoryService;
         this.ptlAgreementTrajectoryService = ptlAgreementTrajectoryService;
+        this.insUploadFilesService = insUploadFilesService;
     }
     }
 
 
     @PostMapping("/page")
     @PostMapping("/page")
@@ -245,4 +256,17 @@ public class PtlAgreementController extends BaseController {
     public HttpResult getAgreementTrajectory(@RequestBody PtlAgreementVo ptlAgreementVo) {
     public HttpResult getAgreementTrajectory(@RequestBody PtlAgreementVo ptlAgreementVo) {
         return ptlAgreementTrajectoryService.getAgreementTrajectory(ptlAgreementVo);
         return ptlAgreementTrajectoryService.getAgreementTrajectory(ptlAgreementVo);
     }
     }
+
+    @PostMapping("/updateFeeFile")
+    @ApiOperation("上传费用文件")
+    public HttpResult updateFeeFile(@CheckObjectNotNull(message = "上传文件不能为空") MultipartFile multipartFile, String agreementId) throws IOException {
+        agreementId = agreementId.replace(",","");
+        InsUploadFiles insUploadFiles = insUploadFilesService.uploadFile(multipartFile, getUserName(), "file");
+        PtlAgreement byId = ptlAgreementService.getById(agreementId);
+        if(Objects.isNull(byId)){
+            throw new SystemException("找不到协议");
+        }
+        byId.setFeeFileId(insUploadFiles.getId());
+        return ptlAgreementService.updateById(byId) ? HttpResult.ok("上传费用文件成功") : HttpResult.error("上传文件失败");
+    }
 }
 }

+ 19 - 0
src/main/java/com/ydtech/modules/protocol/entity/po/PtlAgreement.java

@@ -254,6 +254,25 @@ public class PtlAgreement implements Serializable {
     @TableField(value = "is_valid")
     @TableField(value = "is_valid")
     private String isValid;
     private String isValid;
 
 
+    /**
+     * 费用文件id
+     */
+    @TableField(value = "fee_file_id")
+    private String feeFileId;
+
+    /**
+     * 费用文件连接
+     */
+    @TableField(exist = false)
+    private String feeFileUrl;
+
+    /**
+     * 费用文件名称
+     */
+    @TableField(exist = false)
+    private String feeFileName;
+
+
     @TableField(exist = false)
     @TableField(exist = false)
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 

+ 17 - 0
src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementServiceImpl.java

@@ -16,7 +16,9 @@ import com.ydtech.modules.admin.service.SysSwitchConfigService;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.esm.model.EsmInsCompany;
 import com.ydtech.modules.esm.model.EsmInsCompany;
 import com.ydtech.modules.esm.service.EsmInsCompanyService;
 import com.ydtech.modules.esm.service.EsmInsCompanyService;
+import com.ydtech.modules.order.entity.po.InsUploadFiles;
 import com.ydtech.modules.order.service.InsCrawlerOrderService;
 import com.ydtech.modules.order.service.InsCrawlerOrderService;
+import com.ydtech.modules.order.service.InsUploadFilesService;
 import com.ydtech.modules.protocol.constants.HistoryStatusConstants;
 import com.ydtech.modules.protocol.constants.HistoryStatusConstants;
 import com.ydtech.modules.protocol.dao.PtlAgreementGroupLinkDeptMapper;
 import com.ydtech.modules.protocol.dao.PtlAgreementGroupLinkDeptMapper;
 import com.ydtech.modules.protocol.dao.PtlAgreementMapper;
 import com.ydtech.modules.protocol.dao.PtlAgreementMapper;
@@ -103,6 +105,9 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
     @Autowired
     @Autowired
     private SysSwitchConfigService sysSwitchConfigService;
     private SysSwitchConfigService sysSwitchConfigService;
 
 
+    @Autowired
+    private InsUploadFilesService insUploadFilesService;
+
 
 
     public PtlAgreementServiceImpl(PtlAgreementProductCostsService ptlAgreementProductCostsService,
     public PtlAgreementServiceImpl(PtlAgreementProductCostsService ptlAgreementProductCostsService,
                                    PtlAgreementAttributionService ptlAgreementAttributionService,
                                    PtlAgreementAttributionService ptlAgreementAttributionService,
@@ -568,7 +573,17 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
             agreeMap = deptList.stream().collect(Collectors.toMap(PtlAgreementDept::getAgreementId, PtlAgreementDept::getDeptId));
             agreeMap = deptList.stream().collect(Collectors.toMap(PtlAgreementDept::getAgreementId, PtlAgreementDept::getDeptId));
         }
         }
         Page<PtlAgreement> agreementPage = page(page, wrapper);
         Page<PtlAgreement> agreementPage = page(page, wrapper);
+        List<String> feeFileIds = agreementPage.getRecords().stream().map(m -> m.getFeeFileId()).filter(Objects::nonNull).collect(Collectors.toList());
+        List<InsUploadFiles> insUploadFiles = insUploadFilesService.listByIds(feeFileIds);
+
         for (PtlAgreement agreement : agreementPage.getRecords()) {
         for (PtlAgreement agreement : agreementPage.getRecords()) {
+            insUploadFiles.stream()
+                    .filter(file -> file.getId().equals(agreement.getFeeFileId()))
+                    .findFirst()
+                    .ifPresent(file -> {
+                        agreement.setFeeFileUrl(file.getUrl());
+                        agreement.setFeeFileName(file.getFileName());
+                    }); // 假设 record 有 setUrl 方法
             LocalDate startDate = agreement.getStartDate();
             LocalDate startDate = agreement.getStartDate();
             LocalDate endDate = agreement.getEndDate();
             LocalDate endDate = agreement.getEndDate();
             LocalDate now = LocalDate.now();
             LocalDate now = LocalDate.now();
@@ -1117,4 +1132,6 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
         }
         }
         return null;
         return null;
     }
     }
+
+
 }
 }

+ 6 - 0
src/main/java/com/ydtech/modules/protocols/entity/po/PtlAgreementProductCostsNew.java

@@ -222,6 +222,12 @@ public class PtlAgreementProductCostsNew {
     @TableField(exist = false)
     @TableField(exist = false)
     private boolean check;
     private boolean check;
 
 
+    @TableField(exist = false)
+    private String feeFileName;
+
+    @TableField(exist = false)
+    private String feeFileUrl;
+
     @TableField(exist = false)
     @TableField(exist = false)
     private List<PtlAgreementProductCostsAttrLink> costsAttrLinks;
     private List<PtlAgreementProductCostsAttrLink> costsAttrLinks;
 
 

+ 4 - 1
src/main/resources/mapper/modules/protocols/PtlAgreementProductCostsNewMapper.xml

@@ -8,10 +8,13 @@
         SELECT
         SELECT
         pa.insurance_company,
         pa.insurance_company,
         pa.agreement_name,
         pa.agreement_name,
-        papcn.*
+        papcn.*,
+        iuf.file_name as fee_file_name,
+        iuf.url as fee_file_url
         FROM
         FROM
         ptl_agreement_product_costs_new papcn
         ptl_agreement_product_costs_new papcn
         LEFT JOIN ptl_agreement pa ON papcn.agreement_id = pa.id
         LEFT JOIN ptl_agreement pa ON papcn.agreement_id = pa.id
+        LEFT JOIN ins_upload_files iuf on  pa.fee_file_id = iuf.id
         where 1=1
         where 1=1
         and pa.deleted = 0
         and pa.deleted = 0
         <if test="params.agreementIds != null and params.agreementIds != ''">
         <if test="params.agreementIds != null and params.agreementIds != ''">