From c2cdc5a3def0fb52583cbb28788310afe679e4ee Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 21 三月 2024 18:26:26 +0800
Subject: [PATCH] git ch

---
 server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java    |    4 
 server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java    |    7 
 server/service/src/main/java/com/doumee/dao/business/model/UnionApply.java                   |    4 
 server/company/src/main/java/com/doumee/api/business/ApplyChangeController.java              |    2 
 server/service/src/main/java/com/doumee/dao/business/dto/UnionApplyBXDDDetailTO.java         |   32 +++
 server/service/src/main/java/com/doumee/dao/business/dto/UploadMultifileDTO.java             |   25 ++
 server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java     |  338 +++++++++++++++++++++++++++++++++
 server/service/src/main/java/com/doumee/dao/business/join/UnionApplyJoinMapper.java          |   13 +
 server/service/src/main/java/com/doumee/dao/business/model/ApplyChange.java                  |    6 
 server/service/src/main/java/com/doumee/core/utils/Constants.java                            |   14 +
 server/service/src/main/java/com/doumee/service/business/UnionApplyService.java              |   28 ++
 server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java |   13 +
 server/company/src/main/java/com/doumee/api/system/SystemController.java                     |    1 
 server/service/src/main/java/com/doumee/dao/business/dto/UnionApplyBXDDTO.java               |   43 ++++
 server/service/src/main/java/com/doumee/dao/business/dto/InsuranceApplyQueryDTO.java         |    4 
 server/service/src/main/java/com/doumee/dao/business/model/ApplyDetail.java                  |   10 +
 16 files changed, 532 insertions(+), 12 deletions(-)

diff --git a/server/company/src/main/java/com/doumee/api/business/ApplyChangeController.java b/server/company/src/main/java/com/doumee/api/business/ApplyChangeController.java
index 2debb6c..59512ec 100644
--- a/server/company/src/main/java/com/doumee/api/business/ApplyChangeController.java
+++ b/server/company/src/main/java/com/doumee/api/business/ApplyChangeController.java
@@ -116,7 +116,7 @@
     @ApiOperation("鏍规嵁ID鏌ヨ")
     @GetMapping("/{id}")
     @RequiresPermissions("business:applychange:query")
-    public ApiResponse findById(@PathVariable Integer id) {
+    public ApiResponse<ApplyChange> findById(@PathVariable Integer id) {
         return ApiResponse.success(applyChangeService.findDetail(id));
     }
 
diff --git a/server/company/src/main/java/com/doumee/api/system/SystemController.java b/server/company/src/main/java/com/doumee/api/system/SystemController.java
index 85cb705..c6d61cb 100644
--- a/server/company/src/main/java/com/doumee/api/system/SystemController.java
+++ b/server/company/src/main/java/com/doumee/api/system/SystemController.java
@@ -68,6 +68,7 @@
         subject.logout();
         return ApiResponse.success(null);
     }
+
     @Trace(withRequestParameters = false)
     @ApiOperation("淇敼褰撳墠鐢ㄦ埛瀵嗙爜")
     @PostMapping("/updatePwd")
diff --git a/server/service/src/main/java/com/doumee/core/utils/Constants.java b/server/service/src/main/java/com/doumee/core/utils/Constants.java
index 4efd1ab..c7962f9 100644
--- a/server/service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -439,6 +439,14 @@
         CA_APPLY_JIAJIAN_SIGN(13, "鍔犲噺淇濈敵璇风绔犳枃浠�", "鍔犲噺淇濈敵璇风绔犳枃浠�"),
         CA_APPLY_CHANGEUNIT_SIGN(14, "鎹㈠巶鐢宠绛剧珷鏂囦欢", "鎹㈠巶鐢宠绛剧珷鏂囦欢"),
 
+        HBD_BD_APPLY_PDF(15, "鍚堝苟鍗�-淇濆崟鐢宠琛≒DF ", "鍚堝苟鍗�-淇濆崟鐢宠琛≒DF "),
+        HBD_BD_SIGNED_PDF(16, "鍚堝苟鍗�-绛剧讲鍚庝繚鍗曠敵璇疯〃PDF", "鍚堝苟鍗�-绛剧讲鍚庝繚鍗曠敵璇疯〃PDF"),
+
+
+
+
+
+
 
         ;
         // 鎴愬憳鍙橀噺
@@ -847,7 +855,11 @@
     }
 
     public  enum UnionApplyStatus {
-        UPLOAD(1, "寰呬笂浼犳姇淇濆崟","",0),
+        MERGE(1, "寰呬笂浼犱繚鍗�","",0),
+        WAIT_SIGNATURE(2, "寰呯缃�","",0),
+        UPLOAD_INSURANCE_POLICY(3, "寰呬笂浼犱繚鍗�","",0),
+        FINISH(4, "淇濋殰涓�","",0),
+        CLOSE(5, "鍏抽棴","",0),
         ;
         // 鎴愬憳鍙橀噺
         private String name;
diff --git a/server/service/src/main/java/com/doumee/dao/business/dto/InsuranceApplyQueryDTO.java b/server/service/src/main/java/com/doumee/dao/business/dto/InsuranceApplyQueryDTO.java
index 91ea1bb..532210b 100644
--- a/server/service/src/main/java/com/doumee/dao/business/dto/InsuranceApplyQueryDTO.java
+++ b/server/service/src/main/java/com/doumee/dao/business/dto/InsuranceApplyQueryDTO.java
@@ -76,4 +76,8 @@
 
     @ApiModelProperty(value = "鐘舵�� 0寰呭鏍� 1寰呭嚭鍗� 2淇濋殰涓�  3宸茶繃鏈� 4宸叉挙鍥� 5閫�鍥炵敵璇蜂腑 6宸插叧闂�", example = "1")
     private Integer statusCollect;
+
+
+    @ApiModelProperty(value = "鐢熸晥涓� 0=鏄�")
+    private Integer isEffective;
 }
diff --git a/server/service/src/main/java/com/doumee/dao/business/dto/UnionApplyBXDDDetailTO.java b/server/service/src/main/java/com/doumee/dao/business/dto/UnionApplyBXDDDetailTO.java
new file mode 100644
index 0000000..0630205
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/dto/UnionApplyBXDDDetailTO.java
@@ -0,0 +1,32 @@
+package com.doumee.dao.business.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2024/3/20 16:52
+ */
+@Data
+public class UnionApplyBXDDDetailTO {
+
+    @ApiModelProperty(value = "鎶曚繚鍗曚富閿� insurance_apply")
+    private Integer applyId;
+
+    @ApiModelProperty(value = "鏈嶅姟璐� 姣忎汉")
+    private BigDecimal serverMoney;
+
+    @ApiModelProperty(value = "淇濆崟鏂囦欢鍦板潃")
+    private String fileUrl;
+
+    @ApiModelProperty(value = "鏂囦欢鍚嶇О")
+    private String fileName;
+
+    
+}
diff --git a/server/service/src/main/java/com/doumee/dao/business/dto/UnionApplyBXDDTO.java b/server/service/src/main/java/com/doumee/dao/business/dto/UnionApplyBXDDTO.java
new file mode 100644
index 0000000..cf7aa4b
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/dto/UnionApplyBXDDTO.java
@@ -0,0 +1,43 @@
+package com.doumee.dao.business.dto;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2024/3/20 16:52
+ */
+@Data
+public class UnionApplyBXDDTO {
+
+    @ApiModelProperty(value = "鍚堝苟鍗曚富閿�")
+    private Integer id;
+
+    @ApiModelProperty(value = "淇濆崟鍙�")
+    private String code;
+
+    @ApiModelProperty(value = "淇濋櫓鐢熸晥姝㈡湡")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date endTime;
+
+    @ApiModelProperty(value = "淇濋櫓鐢熸晥璧锋湡")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date startTime;
+
+    @ApiModelProperty(value = "淇濆崟鏂囦欢鍦板潃")
+    private String fileUrl;
+
+    @ApiModelProperty(value = "淇濆崟鏂囦欢鍚嶇О")
+    private String fileName;
+
+    @ApiModelProperty(value = "鍚堝苟鍗曟槑缁嗕繚鍗曚俊鎭�")
+    private List<UnionApplyBXDDDetailTO> unionApplyBXDDDetailTOList;
+    
+}
diff --git a/server/service/src/main/java/com/doumee/dao/business/dto/UploadMultifileDTO.java b/server/service/src/main/java/com/doumee/dao/business/dto/UploadMultifileDTO.java
new file mode 100644
index 0000000..1b472ca
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/dto/UploadMultifileDTO.java
@@ -0,0 +1,25 @@
+package com.doumee.dao.business.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2024/3/19 16:52
+ */
+@Data
+public class UploadMultifileDTO {
+
+
+    @ApiModelProperty(value = "涓氬姟涓婚敭")
+    private Integer businessId;
+
+    @ApiModelProperty(value = "鏂囦欢璺緞")
+    private String filePath;
+
+    @ApiModelProperty(value = "鏂囦欢鍚嶇О")
+    private String fileName;
+
+}
diff --git a/server/service/src/main/java/com/doumee/dao/business/join/UnionApplyJoinMapper.java b/server/service/src/main/java/com/doumee/dao/business/join/UnionApplyJoinMapper.java
new file mode 100644
index 0000000..3a10f64
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/join/UnionApplyJoinMapper.java
@@ -0,0 +1,13 @@
+package com.doumee.dao.business.join;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.UnionApply;
+import com.github.yulichang.base.mapper.MPJJoinMapper;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/03/12 11:34
+ */
+public interface UnionApplyJoinMapper extends MPJJoinMapper<UnionApply> {
+
+}
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/ApplyChange.java b/server/service/src/main/java/com/doumee/dao/business/model/ApplyChange.java
index d8a786d..39fd7bb 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/ApplyChange.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/ApplyChange.java
@@ -151,6 +151,12 @@
     @TableField(exist = false)
     private String createDateE;
 
+    @ApiModelProperty(value = "鎵瑰崟鐢熸晥璧锋湡鏃堕棿")
+    private String applyStartS;
+
+    @ApiModelProperty(value = "鎵瑰崟姝㈡晥鏃堕棿")
+    private String applyStartE;
+
     @ApiModelProperty(value = "淇濋櫓鏂规涓婚敭")
     @TableField(exist = false)
     private Integer solutionsId;
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/ApplyDetail.java b/server/service/src/main/java/com/doumee/dao/business/model/ApplyDetail.java
index f52f696..46a235c 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/ApplyDetail.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/ApplyDetail.java
@@ -72,8 +72,10 @@
     @ApiModelProperty(value = "瀹為檯淇濋櫓鐢熸晥璧锋湡")
     @ExcelColumn(name="淇濋櫓鐢熸晥璧锋湡",index =8,width = 12,dateFormat="yyyy-MM-dd HH:mm:ss")
     private Date startTime;
+
     @ApiModelProperty(value = "鍚堝苟鍗曠紪鐮侊紙鍏宠仈union_apply)", example = "1")
     private Integer unionApplyId;
+
     @ApiModelProperty(value = "韬唤璇佸彿鐮�")
     @ExcelColumn(name="韬唤璇佸彿鐮�",index = 5,width = 12)
     private String idcardNo;
@@ -89,6 +91,10 @@
     @ApiModelProperty(value = "璐圭敤", example = "1")
     @ExcelColumn(name="璐圭敤",index = 10,width = 5)
     private BigDecimal fee;
+
+
+    @ApiModelProperty(value = "鍗曚环", example = "1")
+    private BigDecimal price;
 
     @ApiModelProperty(value = "鎬у埆 0=鐢�;1=濂�", example = "1")
     @ExcelColumn(name="鎬у埆",index =4,valueMapping = "0=鐢�;1=濂�;",width = 3)
@@ -119,6 +125,10 @@
     @TableField(exist = false)
     private String validCode;
 
+    @ApiModelProperty(value = "淇濋殰鐘舵�侊細0=淇濋殰涓紱1=涓嶅湪淇�")
+    @TableField(exist = false)
+    private Integer applyStatus;
+
     @ApiModelProperty(value = "娲鹃仯鍗曚綅鍚嶇О")
     @TableField(exist = false)
     @ExcelColumn(name="娲鹃仯鍗曚綅",index = 6,width = 10)
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/UnionApply.java b/server/service/src/main/java/com/doumee/dao/business/model/UnionApply.java
index 0ec7761..b1f4ee3 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/UnionApply.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/UnionApply.java
@@ -103,4 +103,8 @@
     @ExcelColumn(name="鍦ㄧ嚎绛剧珷鍚堝悓鍙�")
     private String signApplyNo;
 
+    @ApiModelProperty(value = "鏂规缂栫爜锛堝叧鑱攕olutions锛�", example = "1")
+    @ExcelColumn(name="鏂规缂栫爜锛堝叧鑱攕olutions锛�")
+    private Integer solutionId;
+
 }
diff --git a/server/service/src/main/java/com/doumee/service/business/UnionApplyService.java b/server/service/src/main/java/com/doumee/service/business/UnionApplyService.java
index 354081f..d62db04 100644
--- a/server/service/src/main/java/com/doumee/service/business/UnionApplyService.java
+++ b/server/service/src/main/java/com/doumee/service/business/UnionApplyService.java
@@ -3,6 +3,8 @@
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.dao.business.dto.SaveUnionApplyDTO;
+import com.doumee.dao.business.dto.UnionApplyBXDDTO;
+import com.doumee.dao.business.dto.UploadMultifileDTO;
 import com.doumee.dao.business.model.UnionApply;
 import java.util.List;
 
@@ -101,4 +103,30 @@
      * @param saveUnionApplyDTO
      */
     void merge(SaveUnionApplyDTO saveUnionApplyDTO);
+
+    /**
+     * 鍙栨秷鍚堝苟鍗�
+     * @param id
+     */
+    void cancelMerge(Integer id);
+
+    /**
+     * 涓婁紶鎶曚繚鍗�
+     * @param uploadMultifileDTO
+     */
+    void uploadToubaodan(UploadMultifileDTO uploadMultifileDTO);
+
+    /**
+     * 鍚堝苟鍗� 淇濆崟绛剧讲
+     * @param id
+     * @return
+     */
+    String getSignLink(Integer id);
+
+    /**
+     * 涓婁紶淇濋櫓鍗�
+     * @param unionApplyBXDDTO
+     */
+    void uploadBXD(UnionApplyBXDDTO unionApplyBXDDTO);
+
 }
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
index 1398edb..d1411f1 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
@@ -1472,7 +1472,9 @@
                 .eq(!Objects.isNull(model.getApplyId()),ApplyChange::getApplyId,model.getApplyId())
                 .eq(!Objects.isNull(model.getBaseSolutionsId()),Solutions::getBaseId,model.getBaseSolutionsId())
                 .ge(StringUtils.isNotBlank(model.getCreateDateS()),ApplyChange::getCreateDate, model.getCreateDateS()+" 00:00:00" )
-                .le(StringUtils.isNotBlank(model.getCreateDateE()),ApplyChange::getCreateDate, model.getCreateDateE()+" 23:59:59" );
+                .le(StringUtils.isNotBlank(model.getCreateDateE()),ApplyChange::getCreateDate, model.getCreateDateE()+" 23:59:59" )
+                .ge(StringUtils.isNotBlank(model.getApplyStartS()),ApplyChange::getApplyStartTime, model.getApplyStartS()+" 00:00:00" )
+                .le(StringUtils.isNotBlank(model.getApplyStartE()),ApplyChange::getApplyStartTime, model.getApplyStartE()+" 23:59:59" );
         LoginUserInfo loginUserInfo =(LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         //浼佷笟浜哄憳鏌ョ湅鏈紒涓氭暟鎹�
         if(loginUserInfo.getType().equals(Constants.ONE)){
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java
index 366e9f3..b62574e 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java
@@ -201,6 +201,7 @@
         queryWrapper.selectAs(Member::getIdcardNo,ApplyDetail::getIdcardNo);
         queryWrapper.selectAs(Member::getName,ApplyDetail::getMemberName);
         queryWrapper.selectAs(Solutions::getName,ApplyDetail::getSolutionName);
+        queryWrapper.selectAs(InsuranceApply::getStatus,ApplyDetail::getSolutionName);
         queryWrapper.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyDetail::getDuId);
         queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyDetail::getWorktypeId);
         queryWrapper.leftJoin(Member.class,Member::getId,ApplyDetail::getMemberId);
@@ -242,6 +243,12 @@
             int num = 1;
             for (ApplyDetail d : pageData.getRecords()){
                 d.setSortnum(num++);
+                if(d.getEndTime().compareTo(new Date())<0){
+                    d.setApplyStatus(Constants.ONE);
+                }else{
+                    d.setApplyStatus(Constants.ZERO);
+                }
+
             }
         }
         return pageData;
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
index e12b11b..901567a 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
@@ -251,8 +251,8 @@
         }
 
         return  1;
-
     }
+
     @Override
     @Transactional(rollbackFor = {Exception.class,BusinessException.class})
     public     Integer editBaoxiandan(InsuranceApply param) {
@@ -1290,8 +1290,9 @@
         queryWrapper.selectAs(Company::getName,InsuranceApply::getCompanyName);
         queryWrapper.selectAs(Solutions::getName,InsuranceApply::getSolutionsName);
         queryWrapper.selectAs(Solutions::getType,InsuranceApply::getSolutionType);
-        queryWrapper.select(" ( select sum(td.fee) from taxes ts inner join tax_detial td on ts.TAX_ID = ts.id  where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id ) as taxesMoney ");
-        queryWrapper.select(" ( select td.CREATE_DATE from taxes ts inner join tax_detial td on ts.TAX_ID = ts.id  where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id order by td.CREATE_DATE desc limit 1 ) as taxesLast ");
+        queryWrapper.select(" ( select max(ac.APPLY_START_TIME) from apply_change ac  where ac.apply_id = t.id and ac.status = 2 ) as lastChangeDate");
+        queryWrapper.select(" ( select sum(td.fee) from taxes ts inner join tax_detial td on td.TAX_ID = ts.id  where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id ) as taxesMoney ");
+        queryWrapper.select(" ( select td.CREATE_DATE from taxes ts inner join tax_detial td on td.TAX_ID = ts.id  where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id order by td.CREATE_DATE desc limit 1 ) as taxesLast ");
         queryWrapper.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId);
         queryWrapper.leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId);
         queryWrapper.eq(InsuranceApply::getIsdeleted,Constants.ZERO);
@@ -1341,6 +1342,12 @@
         if (CollectionUtils.isNotEmpty(model.getIds())) {
             queryWrapper.in(InsuranceApply::getId, model.getIds());
         }
+        if (CollectionUtils.isNotEmpty(model.getIds())) {
+            queryWrapper.in(InsuranceApply::getId, model.getIds());
+        }
+        if (model.getIsEffective() != null && model.getIsEffective().equals(Constants.ZERO)) {
+            queryWrapper.ge(InsuranceApply::getEndTime,DateUtil.DateToStr(new Date(),"yyyy-MM-dd HH:mm:ss"));
+        }
         List<InsuranceApply> list = insuranceApplyJoinMapper.selectJoinList(InsuranceApply.class, queryWrapper);
         return list;
     }
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java
index b9450d7..379f7bc 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java
@@ -1,35 +1,48 @@
 package com.doumee.service.business.impl;
 
+import com.alibaba.fastjson.JSONObject;
+import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
 import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
 import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.CompanyMapper;
+import com.doumee.dao.business.MultifileMapper;
+import com.doumee.dao.business.SolutionsMapper;
 import com.doumee.dao.business.UnionApplyMapper;
 import com.doumee.dao.business.dto.SaveUnionApplyDTO;
+import com.doumee.dao.business.dto.UnionApplyBXDDDetailTO;
+import com.doumee.dao.business.dto.UnionApplyBXDDTO;
+import com.doumee.dao.business.dto.UploadMultifileDTO;
+import com.doumee.dao.business.join.ApplyDetailJoinMapper;
 import com.doumee.dao.business.join.InsuranceApplyJoinMapper;
-import com.doumee.dao.business.model.InsuranceApply;
-import com.doumee.dao.business.model.Solutions;
-import com.doumee.dao.business.model.UnionApply;
+import com.doumee.dao.business.join.UnionApplyJoinMapper;
+import com.doumee.dao.business.model.*;
 import com.doumee.service.business.UnionApplyService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.doumee.service.business.third.SignService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import io.swagger.models.auth.In;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * 鍚堝苟鎶曚繚鍗曚俊鎭〃Service瀹炵幇
@@ -43,7 +56,28 @@
     private UnionApplyMapper unionApplyMapper;
 
     @Autowired
+    private UnionApplyJoinMapper unionApplyJoinMapper;
+
+    @Autowired
+    private SolutionsMapper solutionsMapper;
+
+    @Autowired
+    private CompanyMapper companyMapper;
+
+    @Autowired
     private InsuranceApplyJoinMapper insuranceApplyJoinMapper;
+
+    @Autowired
+    private ApplyDetailJoinMapper applyDetailJoinMapper;
+
+    @Autowired
+    private MultifileMapper multifileMapper;
+
+    @Autowired
+    private SystemDictDataBiz systemDictDataBiz;
+
+    @Autowired
+    private SignService signService;
 
     @Override
     public Integer create(UnionApply unionApply) {
@@ -222,10 +256,15 @@
         unionApply.setStartTime(saveUnionApplyDTO.getStartDate());
         unionApply.setEndTime(saveUnionApplyDTO.getEndDate());
         unionApply.setCheckDate(new Date());
-        unionApply.setStatus(Constants.UnionApplyStatus.UPLOAD.getKey());
+        unionApply.setStatus(Constants.UnionApplyStatus.MERGE.getKey());
         unionApply.setCheckUserId(user.getId());
-        unionApply.setFee(insuranceApplyList.stream().map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
         unionApply.setCurrentFee(BigDecimal.ZERO);
+
+        Integer maxDays = DateUtil.calculateBetween(saveUnionApplyDTO.getStartDate(),saveUnionApplyDTO.getEndDate(),0);
+        List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectList(new QueryWrapper<ApplyDetail>().lambda().select(ApplyDetail::getPrice)
+                .in(ApplyDetail::getApplyId,saveUnionApplyDTO.getApplyIds()));
+        //unionApply.setFee(insuranceApplyList.stream().map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
+        unionApply.setFee(applyDetailList.stream().map(i->i.getPrice().multiply(new BigDecimal(maxDays))).reduce(BigDecimal.ZERO,BigDecimal::add));
         unionApplyMapper.insert(unionApply);
 
         insuranceApplyJoinMapper.update(null,new UpdateWrapper<InsuranceApply>().lambda()
@@ -234,16 +273,303 @@
                 .set(InsuranceApply::getCheckUserId,user.getId())
                 .in(InsuranceApply::getId,saveUnionApplyDTO.getApplyIds()));
 
+        applyDetailJoinMapper.update(null,new UpdateWrapper<ApplyDetail>().lambda()
+                .set(ApplyDetail::getUnionApplyId,unionApply.getId())
+                .in(ApplyDetail::getApplyId,saveUnionApplyDTO.getApplyIds()));
+
     }
 
 
+    /**
+     * 鍙栨秷淇濆崟鍚堝苟
+     * @param id
+     */
+    @Override
+    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
     public void cancelMerge(Integer id){
         LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         if(user.getType().equals(Constants.TWO)){
-            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炲晢鎴风敤鎴凤紝鏃犳硶杩涜璇ユ搷浣�");
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炲晢鎴风敤鎴凤紝鏃犳硶杩涜璇ユ搷浣滐紒");
+        }
+        UnionApply unionApply = unionApplyMapper.selectById(id);
+        if(Objects.isNull(unionApply)||!Constants.equalsInteger(unionApply.getIsdeleted(),Constants.ZERO)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        if(!unionApply.getCompanyId().equals(user.getCompanyId())){
+            throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧烽潪鎮ㄧ殑鍚堝苟鍗曪紝鎮ㄦ棤娉曡繘琛屾搷浣滐紒");
+        }
+        if(unionApply.getStatus().equals(Constants.UnionApplyStatus.FINISH.getKey())){
+            throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧凤紝鍚堝苟鍗曚笟鍔″凡瀹岀粨锛屾偍鏃犳硶杩涜璇ユ搷浣滐紒");
+        }
+        //鍚堝苟鍗曠姸鎬佸浜庡緟鎶曚繚
+        if(unionApply.getStatus().equals(Constants.UnionApplyStatus.UPLOAD_INSURANCE_POLICY.getKey())
+        || unionApply.getStatus().equals(Constants.UnionApplyStatus.WAIT_SIGNATURE.getKey())){
+            //TODO 鍒犻櫎浼佷笟鎶曚繚鍗曠殑 绛剧讲鏁版嵁
+
+        }
+        insuranceApplyJoinMapper.update(null,new UpdateWrapper<InsuranceApply>().lambda()
+                .set(InsuranceApply::getUnionApplyId,null)
+                .set(InsuranceApply::getCheckDate,new Date())
+                .set(InsuranceApply::getCheckUserId,user.getId())
+                .eq(InsuranceApply::getUnionApplyId,unionApply.getId()));
+
+
+        applyDetailJoinMapper.update(null,new UpdateWrapper<ApplyDetail>().lambda()
+                .set(ApplyDetail::getUnionApplyId,null)
+                .eq(ApplyDetail::getUnionApplyId,unionApply.getId()));
+
+
+        unionApplyMapper.update(null,new UpdateWrapper<UnionApply>().lambda()
+                .set(UnionApply::getCheckDate,new Date())
+                .set(UnionApply::getCheckUserId,user.getId())
+                .set(UnionApply::getStatus,Constants.UnionApplyStatus.CLOSE.getKey())
+                .eq(UnionApply::getId,unionApply.getId())
+        );
+    }
+
+
+    @Override
+    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+    public void uploadToubaodan(UploadMultifileDTO uploadMultifileDTO){
+        if(uploadMultifileDTO.getBusinessId() == null
+                ||StringUtils.isBlank( uploadMultifileDTO.getFilePath())
+                ||StringUtils.isBlank( uploadMultifileDTO.getFileName())){
+            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        UnionApply unionApply = unionApplyMapper.selectById(uploadMultifileDTO.getBusinessId());
+        if(Objects.isNull(unionApply)||!Constants.equalsInteger(unionApply.getIsdeleted(),Constants.ZERO)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        if(!unionApply.getCompanyId().equals(user.getCompanyId())){
+            throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧烽潪鎮ㄧ殑鍚堝苟鍗曪紝鎮ㄦ棤娉曡繘琛屾搷浣滐紒");
+        }
+        if(unionApply.getStatus().equals(Constants.UnionApplyStatus.FINISH.getKey())){
+            throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧凤紝鍚堝苟鍗曚笟鍔″凡瀹岀粨锛屾偍鏃犳硶杩涜璇ユ搷浣滐紒");
+        }
+        if(unionApply.getStatus().equals(Constants.UnionApplyStatus.MERGE.getKey())){
+            throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧凤紝鍚堝苟鍗曚笟鍔″凡娴佽浆锛屾偍鏃犳硶杩涜璇ユ搷浣滐紒");
         }
 
+        unionApply.setCheckDate(new Date());
+        unionApply.setCheckUserId(user.getId());
+        unionApply.setStatus(Constants.UnionApplyStatus.WAIT_SIGNATURE.getKey());
+        unionApply.setEditor(user.getId());
+        unionApply.setEditDate(new Date());
+        unionApplyMapper.updateById(unionApply);
+
+        Multifile multifile = new Multifile();
+        multifile.setIsdeleted(Constants.ZERO);
+        multifile.setCreator(user.getId());
+        multifile.setCreateDate(new Date());
+        multifile.setObjId(uploadMultifileDTO.getBusinessId());
+        multifile.setCreateDate(new Date());
+        multifile.setObjType(Constants.MultiFile.HBD_BD_SIGNED_PDF.getKey());
+        multifile.setType(Constants.TWO);
+        multifile.setFileurl(uploadMultifileDTO.getFilePath());
+        multifile.setName(uploadMultifileDTO.getFileName());
+        multifileMapper.insert(multifile);
+
     }
 
 
+    /**
+     * 鍚堝苟鍗� - 鎶曚繚鐢宠绛剧讲
+     * @param id
+     * @return
+     */
+    @Override
+    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+    public  String getSignLink(Integer id) {
+        if(id == null ){
+            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        UnionApply unionApply = unionApplyJoinMapper.selectById(id);
+        if(unionApply == null ||!Constants.equalsInteger(unionApply.getIsdeleted(),Constants.ZERO)){
+            throw  new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        Solutions solutions = solutionsMapper.selectById(unionApply.getSolutionId());
+        if(Objects.isNull(solutions)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�");
+        }
+
+        if(!Constants.equalsInteger(unionApply.getStatus(),Constants.UnionApplyStatus.WAIT_SIGNATURE.getKey())){
+            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ュ悎骞跺崟鐘舵�佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
+        }
+        Multifile f = multifileMapper.selectOne(new QueryWrapper<Multifile>().lambda()
+                .eq(Multifile::getObjId,unionApply.getId())
+                .eq(Multifile::getObjType,Constants.MultiFile.HBD_BD_SIGNED_PDF.getKey())
+                .eq(Multifile::getIsdeleted,Constants.ZERO)
+                .last("limit 1"));
+        if(f == null || StringUtils.isBlank(f.getFileurl())){
+            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鑾峰彇寰呯绔犳枃浠跺け璐ワ紝璇疯仈绯荤‘璁ゅ悎骞朵繚鍗曟槸鍚︽纭紒");
+        }
+
+        Company company =  companyMapper.selectById(unionApply.getCompanyId());
+        if(company== null || StringUtils.isBlank( company.getEmail()) || !Constants.equalsInteger(company.getSignStatus(),Constants.THREE)){
+            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝鍟嗘埛灏氭湭鍏峰鍦ㄧ嚎绛剧珷鏉′欢锛岃鑱旂郴骞冲彴绠$悊鍛樼‘璁");
+        }
+
+        String url = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+systemDictDataBiz.queryByCode(Constants.OSS,Constants.APPLY_FILE).getCode()+f.getFileurl();
+        String notifyUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SIGN_DONE_NOTIFY_URL).getCode();
+        notifyUrl = notifyUrl.replace("${type}","0").replace("${id}", unionApply.getId().toString());
+
+        String applyNo = signService.applySign(company.getName(),url,company.getName(),company.getCode(),company.getEmail(),null,company.getSignId(),notifyUrl);
+
+        if(StringUtils.isBlank(applyNo) ){
+            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鑾峰彇鍦ㄧ嚎绛剧珷鍦板潃澶辫触锛岃绋嶅悗閲嶈瘯锛�");
+        }
+        String link = signService.signLink(applyNo,company.getName(),company.getCode());
+        if(StringUtils.isBlank(link) ){
+            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鑾峰彇鍦ㄧ嚎绛剧珷鍦板潃澶辫触锛岃绋嶅悗閲嶈瘯锛�");
+        }
+        UnionApply update= new UnionApply();
+        update.setId(unionApply.getId());
+        update.setEditor(user.getId());
+        update.setEditDate(new Date());
+        update.setSignApplyNo(applyNo);
+        unionApplyJoinMapper.updateById(update);
+        return  link;
+    }
+
+
+
+    @Override
+    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+    public void uploadBXD(UnionApplyBXDDTO unionApplyBXDDTO){
+        if(Objects.isNull(unionApplyBXDDTO)
+            || Objects.isNull(unionApplyBXDDTO.getId())
+            || Objects.isNull(unionApplyBXDDTO.getStartTime())
+            || Objects.isNull(unionApplyBXDDTO.getEndTime())
+            || StringUtils.isBlank(unionApplyBXDDTO.getCode())
+            || Objects.isNull(unionApplyBXDDTO.getUnionApplyBXDDDetailTOList())
+        ){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        UnionApply unionApply = unionApplyJoinMapper.selectById(unionApplyBXDDTO.getId());
+        if(unionApply == null ||!Constants.equalsInteger(unionApply.getIsdeleted(),Constants.ZERO)){
+            throw  new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        if(unionApply.getStatus().equals(Constants.UnionApplyStatus.UPLOAD_INSURANCE_POLICY.getKey())){
+            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ュ悎骞跺崟鐘舵�佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
+        }
+        //鍔犱环鍙傛暟
+        List<UnionApplyBXDDDetailTO> unionApplyBXDDDetailTOList = unionApplyBXDDTO.getUnionApplyBXDDDetailTOList();
+
+        //鎵�鏈夋姇淇濈敵璇蜂繚鍗曟槑缁嗚
+        List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectList(new QueryWrapper<ApplyDetail>().lambda().select(ApplyDetail::getPrice)
+                .in(ApplyDetail::getUnionApplyId,unionApply.getId()));
+        //鎬诲ぉ鏁�
+        Integer maxDays = DateUtil.calculateBetween(unionApplyBXDDTO.getStartTime(),unionApplyBXDDTO.getEndTime(),0);
+        //瀹為檯宸茬粡浜х敓璐圭敤鐨勫ぉ鏁�
+        Integer useDays = 0 ;
+        if(unionApplyBXDDTO.getStartTime().compareTo(new Date()) <= 0 && unionApplyBXDDTO.getEndTime().compareTo(new Date()) >= 0 ){
+            //褰撳墠鏃ユ湡鍦ㄥ紑濮嬬粨鏉熸棩鏈熶箣鍐�
+            useDays =  DateUtil.calculateBetween(unionApplyBXDDTO.getStartTime(),new Date(),0);
+        }else if(unionApplyBXDDTO.getStartTime().compareTo(new Date()) <= 0&&unionApplyBXDDTO.getEndTime().compareTo(new Date()) <= 0){
+            //褰撳墠鏃ユ湡鍦ㄧ粨鏉熸棩鏈熶箣鍚�
+            useDays =  -1;
+        }
+
+        BigDecimal sumFee = BigDecimal.ZERO;
+        BigDecimal sumCurrFee = BigDecimal.ZERO;
+
+        for (UnionApplyBXDDDetailTO unionApplyBXDDDetailTO:unionApplyBXDDDetailTOList) {
+            InsuranceApply insuranceApply = insuranceApplyJoinMapper.selectById(unionApplyBXDDDetailTO.getApplyId());
+            if(Objects.isNull(insuranceApply)||!Constants.equalsInteger(insuranceApply.getIsdeleted(),Constants.ZERO)){
+                throw  new BusinessException(ResponseStatus.DATA_EMPTY);
+            }
+            if(!insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey())){
+                throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ユ姇淇濆崟鐘舵�佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
+            }
+            List<ApplyDetail> applyDetails = applyDetailList.stream().filter(m->m.getApplyId().equals(unionApplyBXDDDetailTO.getApplyId())).collect(Collectors.toList());
+            if(CollectionUtils.isEmpty(applyDetails)){
+                throw  new BusinessException(ResponseStatus.DATA_EMPTY);
+            }
+            //鎻愪氦鍚庣殑鏂颁环鏍� 鍔犱笂鏈嶅姟璐�
+            BigDecimal price = applyDetails.get(Constants.ZERO).getPrice().add(unionApplyBXDDDetailTO.getServerMoney());
+            //瀹為檯宸蹭骇鐢熻垂鐢�
+            BigDecimal currentFee = BigDecimal.ZERO;
+            if(useDays==-1){
+                currentFee =  new BigDecimal(maxDays).multiply(price);
+            }else if(useDays>0){
+                currentFee =  new BigDecimal(useDays).multiply(price);
+            }
+            //鏇存柊鎶曚繚鐢宠鍗�
+            insuranceApplyJoinMapper.update(null,new UpdateWrapper<InsuranceApply>().lambda()
+                    .set(InsuranceApply::getFee,
+                            new BigDecimal(applyDetails.size())
+                            .multiply(price)
+                    )
+                    .set(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())
+                    .set(InsuranceApply::getFee,price.multiply(new BigDecimal(applyDetails.size())).multiply(new BigDecimal(maxDays)))
+                    .set(InsuranceApply::getCurrentFee,currentFee.multiply(new BigDecimal(applyDetails.size())))
+                    .set(InsuranceApply::getStartTime,unionApplyBXDDTO.getStartTime())
+                    .set(InsuranceApply::getEndTime,unionApplyBXDDTO.getEndTime())
+                    .set(InsuranceApply::getEditDate,new Date())
+                    .set(InsuranceApply::getEditor,user.getId())
+                    .eq(InsuranceApply::getId,insuranceApply.getId()));
+            //鏇存柊鎶曚繚鍗曟槑缁嗛噾棰�
+            applyDetailJoinMapper.update(null,new UpdateWrapper<ApplyDetail>().lambda()
+                    .set(ApplyDetail::getPrice,price)
+                    .set(ApplyDetail::getFee, price.multiply(new BigDecimal(maxDays)))
+                    .set(ApplyDetail::getCurrentFee,currentFee)
+                    .set(ApplyDetail::getEditDate,new Date())
+                    .set(ApplyDetail::getEditor,user.getId())
+                    .set(ApplyDetail::getStartTime,unionApplyBXDDTO.getStartTime())
+                    .set(ApplyDetail::getEndTime,unionApplyBXDDTO.getEndTime())
+                    .in(ApplyDetail::getId,applyDetails.stream().map(m->m.getId()).collect(Collectors.toList()))
+            );
+            //涓婁紶淇濆崟淇℃伅
+            if(StringUtils.isNotBlank(unionApplyBXDDDetailTO.getFileUrl())){
+                Multifile multifile = new Multifile();
+                multifile.setIsdeleted(Constants.ZERO);
+                multifile.setCreator(user.getId());
+                multifile.setCreateDate(new Date());
+                multifile.setObjId(insuranceApply.getId());
+                multifile.setObjType(Constants.MultiFile.BD_APPLY_PDF.getKey());
+                multifile.setType(Constants.TWO);
+                multifile.setFileurl(unionApplyBXDDDetailTO.getFileUrl());
+                multifile.setName(unionApplyBXDDDetailTO.getFileName());
+                multifileMapper.insert(multifile);
+            }
+            sumFee = sumFee.add(price.multiply(new BigDecimal(applyDetails.size())).multiply(new BigDecimal(maxDays)));
+            sumCurrFee = sumCurrFee.add(currentFee.multiply(new BigDecimal(applyDetails.size())));
+        }
+        unionApplyMapper.update(null,new UpdateWrapper<UnionApply>()
+                .lambda()
+                .set(UnionApply::getStatus,Constants.UnionApplyStatus.FINISH)
+                .set(UnionApply::getEditDate,new Date())
+                .set(UnionApply::getEditor,user.getId())
+                .set(UnionApply::getStartTime,unionApplyBXDDTO.getStartTime())
+                .set(UnionApply::getEndTime,unionApplyBXDDTO.getEndTime())
+                .set(UnionApply::getFee,sumFee)
+                .set(UnionApply::getCurrentFee,sumCurrFee)
+                .eq(UnionApply::getId,unionApply.getId())
+        );
+        //鍚堝苟鍗� 鎬讳繚鍗�
+        if(StringUtils.isNotBlank(unionApplyBXDDTO.getFileUrl())){
+            Multifile multifile = new Multifile();
+            multifile.setIsdeleted(Constants.ZERO);
+            multifile.setCreator(user.getId());
+            multifile.setCreateDate(new Date());
+            multifile.setObjId(unionApply.getId());
+            multifile.setObjType(Constants.MultiFile.HBD_BD_APPLY_PDF.getKey());
+            multifile.setType(Constants.TWO);
+            multifile.setFileurl(unionApplyBXDDTO.getFileUrl());
+            multifile.setName(unionApplyBXDDTO.getFileName());
+            multifileMapper.insert(multifile);
+        }
+
+
+
+
+    }
+
+
+
+
+
 }

--
Gitblit v1.9.3