From 54bbda6f374f3b8ebafed04d49f756fd75e53a1a Mon Sep 17 00:00:00 2001
From: nidapeng <jp@doumee.com>
Date: 星期六, 06 四月 2024 12:31:39 +0800
Subject: [PATCH] 提交一把

---
 server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java    |   42 +++
 company/src/api/business/applyChange.js                                                      |    1 
 company/src/components/business/detailsEntrustedInsurance.vue                                |    2 
 company/src/components/business/UnionChangeDetails.vue                                       |    4 
 company/src/components/business/OperaUnionChangeDetailWindow.vue                             |   76 ++++-
 server/service/src/main/java/com/doumee/dao/business/model/ApplyChange.java                  |    4 
 server/service/src/main/java/com/doumee/dao/business/model/UnionChange.java                  |   11 
 server/service/src/main/java/com/doumee/core/utils/Constants.java                            |    8 
 server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java |    4 
 server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java    |   57 +++
 company/src/api/business/unionChange.js                                                      |   18 +
 company/src/components/business/OperaUnionChangeCheckWindow.vue                              |  500 ++++++++++++++++++++++++++++++++++++++
 server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java             |   29 +-
 13 files changed, 698 insertions(+), 58 deletions(-)

diff --git a/company/src/api/business/applyChange.js b/company/src/api/business/applyChange.js
index 90664a8..0a5bfb0 100644
--- a/company/src/api/business/applyChange.js
+++ b/company/src/api/business/applyChange.js
@@ -43,7 +43,6 @@
 export function applyChangeOpt (data) {
     return request.post('/business/applyChange/applyChangeOpt', data)
 }
-
 // 鍒楄〃鏌ヨ
 export function applyChagneDetailList (data) {
     return request.post('/business/applyChagneDetail/list', data)
diff --git a/company/src/api/business/unionChange.js b/company/src/api/business/unionChange.js
index 76f4895..82281bd 100644
--- a/company/src/api/business/unionChange.js
+++ b/company/src/api/business/unionChange.js
@@ -6,6 +6,12 @@
         trim: true
     })
 }
+// 鏌ヨ
+export function getSignLink (data) {
+    return request.post('/business/unionChange/getSignLink', data, {
+        trim: true
+    })
+}
 
 // 鍒涘缓
 export function create (data) {
@@ -20,7 +26,19 @@
 export function updateById (data) {
     return request.post('/business/unionChange/updateById', data)
 }
+export function uploadBXD (data) {
+    return request.post('/business/unionChange/uploadBXD', data)
+}
+export function close (data) {
+    return request.post('/business/unionChange/close', data)
+}
 
+export function exportDetailExcel (data) {
+    return request.post('/business/unionChange/exportDetailExcel', data, {
+        trim: true,
+        download: true
+    })
+}
 // 鏍规嵁ID鏌ヨ
 export function getById (id) {
     return request.get(`/business/unionChange/${id}`)
diff --git a/company/src/components/business/OperaUnionChangeCheckWindow.vue b/company/src/components/business/OperaUnionChangeCheckWindow.vue
new file mode 100644
index 0000000..092bf8b
--- /dev/null
+++ b/company/src/components/business/OperaUnionChangeCheckWindow.vue
@@ -0,0 +1,500 @@
+<template>
+    <GlobalWindow
+        :title="title"
+        width="60%"
+        :visible.sync="visible"
+        :confirm-working="isWorking"
+        @confirm="confirm"
+    >
+        <!--    閫�鍥炴姇淇�    -->
+        <el-form v-if="visible1==true" :model="form" ref="form1" :rules="rules1" style="width: 100%;">
+          <el-form-item label="濉啓閫�鍥炶鏄庯細" prop="backCheckInfo">
+            <el-input type="textarea" v-model="form.backCheckInfo" placeholder="璇疯緭鍏�" v-trim/>
+          </el-form-item>
+        </el-form>
+        <!--    涓婁紶淇濋櫓鍗�    -->
+      <el-form v-if="visible3==true" :model="form" ref="form3" :rules="rules3" style="width: 100%;">
+        <el-form-item label="鏈熸湜淇濋櫓鐢熸晥鏈燂細">
+          <span >{{( form.applyTime|| '-')}} </span>
+        </el-form-item>
+        <el-form-item label="" >
+          <el-radio-group v-model="form.selectRadio" @change="selectChange">
+            <el-radio :label="0" >涓庝繚鍗曚竴鑷�</el-radio>
+            <el-radio :label="1" >涓庝繚鍗曚笉涓�鑷�</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="淇濋櫓鐢熸晥璧锋湡锛�" prop="applyTime" v-if="form.selectRadio === 1">
+          <el-date-picker
+              v-model="form.applyTime"
+              type="date"
+              value-format="yyyy-MM-dd HH:mm:ss"
+              placeholder="閫夋嫨鏃ユ湡">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="淇濆崟鍙凤細" prop="code">
+          <el-input v-model="form.code" placeholder="璇疯緭鍏�" v-trim/>
+        </el-form-item>
+        <el-form-item label="涓婁紶淇濋櫓鍗曪細" prop="baoxianFile">
+          <UploadFile @remove="dele3"  :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList1" @uploadSuccess="baoxianFileUploaded" />
+        </el-form-item>
+        <div class="box_table">
+          <div class="box_table_head">
+            <div class="box_table_head_item">搴忓彿</div>
+            <div class="box_table_head_item">琚繚闄╀汉</div>
+            <div class="box_table_head_item">鍔犱繚浜烘暟</div>
+            <div class="box_table_head_item">鍑忎繚浜烘暟</div>
+            <div class="box_table_head_item">涓婁紶鎵瑰崟</div>
+          </div>
+          <div class="box_table_content" v-for="(item, index) in model.applyList" :key="index">
+            <div class="box_table_content_item">{{index + 1}}</div>
+            <div class="box_table_content_item" >{{ item.companyName }}</div>
+            <div class="box_table_content_item">{{ item.addNum }}</div>
+            <div class="box_table_content_item">{{ item.delNum }}</div>
+            <div class="box_table_content_item">
+              <el-form-item label="" prop="bxdMultifileList[index]">
+                <UploadFileLink   @remove="deleIndex(1,index)" :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileIndex="index" :showTips="showTips" :fileList="model.applyList[index].fileList1" @uploadSuccess="baoxianFileUploaded2" />
+              </el-form-item>
+            </div>
+          </div>
+        </div>
+      </el-form>
+      <template v-slot:footer>
+        <el-button type="primary" @click="doSubmit">纭� 瀹�</el-button>
+        <el-button @click="visible=false">鍙栨秷</el-button>
+      </template>
+    </GlobalWindow>
+</template>
+
+<script>
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import {
+  close,
+  uploadBXD
+} from '@/api/business/unionChange'
+import UploadFile from '@/components/common/UploadFile'
+import UploadFileLink from '@/components/common/UploadFileLink'
+
+export default {
+  name: 'OperaUnionApplyCheckWindow',
+  extends: BaseOpera,
+  components: { UploadFile, GlobalWindow ,UploadFileLink},
+  data () {
+    return {
+      // 琛ㄥ崟鏁版嵁
+      model: {},
+      falg: 0,
+      showTips:false,
+      rules1: {
+        backCheckInfo: [
+          { required: true, message: '璇峰畬鍠勪俊鎭�' }
+        ]
+      },
+      rules3: {
+        code: [
+          { required: true, message: '璇峰畬鍠勪俊鎭�' }
+        ],
+        applyDate: [
+          { required: true, message: '璇峰畬鍠勪俊鎭�' }
+        ],
+        baoxianFile: [
+          { required: true, message: '璇峰畬鍠勪俊鎭�' }
+        ]
+      },
+      form: {
+        id: null,
+        backCheckInfo: '',
+        applyTime: null,
+        code: null,
+        baoxianFile: null,
+        bxdMultifileList: [],
+        fileList1: [],
+        selectRadio: 0
+      },
+      visible1: false,
+      visible2: false,
+      visible3: false
+    }
+  },
+  created () {
+    this.config({
+      api: '/business/insuranceApply',
+      'field.id': 'id'
+    })
+  },
+  methods: {
+    deleIndex (flag,index) {
+      alert(index)
+      if(flag == 0){
+        this.form.tbdMultifileList[index].fileurl = null
+        this.form.tbdMultifileList[index].name = null
+      }else  if(flag ==1){
+        this.form.bxdMultifileList[index].fileurl = null
+        this.form.bxdMultifileList[index].name = null
+      }
+    },
+    dele3 () {
+      this.form.baoxianFile = null
+    },
+    open (title, target, flag) {
+      this.visible = true
+      this.model = {}
+      this.form = {
+        id: null,
+        backCheckInfo: '',
+        startTime: null,
+        code: null,
+        baoxianFile: null,
+        bxdMultifileList:[],
+        fileList1: [],
+        selectRadio: 0,
+        applyTime:null
+      }
+
+      this.model = target
+      this.form.applyTime = target.applyStartTime
+      this.title = title
+      this.flag = flag
+      this.visible1 = false
+      this.visible2 = false
+      this.visible3 = false
+      this.form.bxdMultifileList=[]
+      if (flag == 1) {
+        this.visible1 = true
+      }
+      if (flag == 3) {
+        this.visible3 = true
+        if(this.model.applyList){
+          this.model.applyList.forEach(item =>{
+            item.fileList1 =[]
+            this.form.bxdMultifileList.push({objId:item.id,fileUrl:null,fileName:null})
+          })
+        }
+      }
+    },
+    doSubmit () {
+      if (this.flag == 1) {
+        this.$refs.form1.validate((valid) => {
+          // debugger
+          if (!valid) {
+            return
+          }
+          this.backDo()
+        })
+      }  else if (this.flag == 3) {
+        this.$refs.form3.validate((valid) => {
+          // debugger
+          if (!valid) {
+            return
+          }
+          this.uploadBaoxiandan()
+        })
+      }
+    },
+    selectChange () {
+      if (this.form.selectRadio == 0) {
+        this.form.applyTime = this.model.applyStartTime
+      }
+    },
+    baoxianFileUploaded (data) {
+      this.form.baoxianFile = data
+    },
+    baoxianFileUploaded2 (data) {
+      this.form.bxdMultifileList[data.index].fileurl = data.fileurl
+      this.form.bxdMultifileList[data.index].name = data.name
+    },
+    backDo () {
+      this.$dialog.messageConfirm('纭杩涜璇ユ搷浣滃悧锛�')
+        .then(() => {
+          this.isWorking = true
+          close({ id: this.model.id, reason: this.form.backCheckInfo })
+            .then(response => {
+              this.visible = false
+              this.$emit('success')
+            }).catch(err => {
+              this.$tip.apiFailed(err)
+            })
+        })
+    },
+    uploadBaoxiandan () {
+      this.$dialog.messageConfirm('纭杩涜璇ユ搷浣滃悧锛�')
+        .then(() => {
+          this.isWorking = true
+          var param ={
+            id: this.model.id,
+            applyDate: this.form.applyTime,
+            code: this.form.code,
+            fileurl: this.form.baoxianFile.fileurl,
+            name: this.form.baoxianFile.name,
+            applyChangeBXDList:this.form.bxdMultifileList
+          }
+          uploadBXD(param)
+            .then(response => {
+              this.visible = false
+              this.$emit('success')
+            }).catch(err => {
+              this.$tip.apiFailed(err)
+            })
+        })
+    },
+    handleRemove (file, fileList) {
+      console.log(file, fileList)
+    },
+    handlePreview (file) {
+      console.log(file)
+    },
+    handleExceed (files, fileList) {
+      this.$message.warning(`褰撳墠闄愬埗閫夋嫨 3 涓枃浠讹紝鏈閫夋嫨浜� ${files.length} 涓枃浠讹紝鍏遍�夋嫨浜� ${files.length + fileList.length} 涓枃浠禶)
+    },
+    beforeRemove (file, fileList) {
+      return this.$confirm(`纭畾绉婚櫎 ${file.name}锛焋)
+    },
+    successEvent () {
+
+    },
+    handleSizeChange (val) {
+      console.log(`姣忛〉 ${val} 鏉)
+    },
+    handleCurrentChange (val) {
+      console.log(`褰撳墠椤�: ${val}`)
+    },
+    handleClick (tab, event) {
+      console.log(tab, event)
+    },
+    onSubmit () {
+
+    }
+  }
+}
+</script>
+<style>
+
+</style>
+<style lang="scss" scoped>
+    .form {
+        width: 100%;
+        display: flex;
+        align-items: center;
+        flex-direction: column;
+        .form_span {
+            width: 100%;
+            display: flex;
+            align-items: start;
+            flex-direction: column;
+            margin-bottom: 20px;
+            span {
+                font-size: 14px;
+                &:nth-child(1) {
+                    color: black;
+                    margin-bottom: 5px;
+                }
+                &:nth-child(2) {
+                    color: #8c939d;
+                }
+            }
+        }
+        .form_item {
+            width: 100%;
+            display: flex;
+            align-items: center;
+            margin-bottom: 20px;
+            &:last-child {
+                margin: 0 !important;
+            }
+            .form_item_label {
+                flex-shrink: 0;
+                /*width: 170px;*/
+                color: black;
+                font-size: 14px;
+                span {
+                    color: red;
+                    font-size: 14px;
+                }
+            }
+            .form_item_val {
+                flex: 1;
+                /*height: 40px;*/
+                margin-left: 20px;
+                textarea {
+                    width: 100%;
+                    height: 70px;
+                    border: 1px solid #cbcbcb;
+                    padding: 10px;
+                    outline: none;
+                    box-sizing: border-box;
+                }
+                input {
+                    width: 100%;
+                    height: 40px;
+                    outline: none;
+                    border-radius: 5px;
+                    border: 1px solid #cbcbcb;
+                    padding: 0 20px;
+                    box-sizing: border-box;
+                }
+            }
+        }
+    }
+    .desc {
+        width: 100%;
+        .desc_item {
+            width: 100%;
+            display: flex;
+            flex-direction: column;
+            .desc_item_label {
+                width: 100%;
+                display: flex;
+                align-items: center;
+                justify-content: space-between;
+                margin-bottom: 10px;
+                span {
+                    font-size: 14px;
+                    color: black;
+                    margin-right: 30px;
+                }
+            }
+            .desc_item_from {
+                width: 100%;
+                margin-bottom: 10px;
+                .desc_item_from_page {
+                    width: 100%;
+                    display: flex;
+                    align-items: center;
+                    justify-content: end;
+                    margin-top: 10px;
+                }
+            }
+            .desc_item_cate {
+                width: 100%;
+                margin-bottom: 10px;
+            }
+            .desc_item_search {
+                width: 100%;
+                margin-bottom: 20px;
+            }
+            .desc_item_review {
+                width: 100%;
+                .desc_item_review_label {
+                    font-size: 20px;
+                    color: black;
+                    font-weight: bold;
+                    margin-bottom: 15px;
+                }
+            }
+        }
+    }
+    .box_table {
+      width: 100%;
+      border-top: 1px solid #b4bbc5;
+      border-left: 1px solid #b4bbc5;
+      box-sizing: border-box;
+      .box_table_head {
+        width: 100%;
+        display: flex;
+        align-items: center;
+        .box_table_head_item1 {
+          flex: 1;
+          height: 50px;
+          background: #f2f2f2;
+          display: flex;
+          align-items: center;
+          justify-content: center;
+          font-size: 14px;
+          color: black;
+          border-right: 1px solid #b4bbc5;
+          border-bottom: 1px solid #b4bbc5;
+          box-sizing: border-box;
+        }
+        .box_table_head_item {
+          flex: 1;
+          height: 50px;
+          background: #f2f2f2;
+          display: flex;
+          align-items: center;
+          justify-content: center;
+          font-size: 14px;
+          color: black;
+          border-right: 1px solid #b4bbc5;
+          border-bottom: 1px solid #b4bbc5;
+          box-sizing: border-box;
+          &:nth-child(1) {
+            flex: 0.5;;
+          }
+          &:nth-child(2) {
+             flex:1.5;
+           }
+          &:nth-child(4) {
+             flex:1.5;
+           }
+          &:nth-child(5) {
+            flex: 1.5;;
+          }
+        }
+        .box_table_head_item5 {
+          flex: 1;
+          height: 50px;
+          background: #f2f2f2;
+          display: flex;
+          align-items: center;
+          justify-content: center;
+          font-size: 14px;
+          color: black;
+          border-right: 1px solid #b4bbc5;
+          border-bottom: 1px solid #b4bbc5;
+          box-sizing: border-box;
+          &:nth-child(2) {
+            flex: 5;
+          }
+        }
+        .box_form_item {
+          flex: 1;
+          height: 50px;
+          background: #ffffff;
+          display: flex;
+          align-items: center;
+          justify-content: center;
+          font-size: 14px;
+          color: black;
+          border-right: 1px solid #b4bbc5;
+          border-bottom: 1px solid #b4bbc5;
+          box-sizing: border-box;
+          &:nth-child(1) {
+            //flex: 0.5;
+          }
+        }
+      }
+      .box_table_content {
+        width: 100%;
+        display: flex;
+        align-items: center;
+        .box_table_content_header{
+          border-bottom: 0px solid #b4bbc5 !important;
+        }
+        .box_table_content_item {
+          flex: 1;
+          height: 50px;
+          background: #ffffff;
+          display: flex;
+          align-items: center;
+          justify-content: center;
+          font-size: 14px;
+          color: black;
+          border-right: 1px solid #b4bbc5;
+          border-bottom: 1px solid #b4bbc5;
+          box-sizing: border-box;
+          &:nth-child(1) {
+            flex: 0.5;;
+          }
+          &:nth-child(2) {
+            flex:1.5;
+          }
+          &:nth-child(4) {
+            flex: 1.5;
+          }
+          &:nth-child(5) {
+            flex: 1.5;
+          }
+        }
+      }
+    }
+</style>
diff --git a/company/src/components/business/OperaUnionChangeDetailWindow.vue b/company/src/components/business/OperaUnionChangeDetailWindow.vue
index bb5a3d4..8efe993 100644
--- a/company/src/components/business/OperaUnionChangeDetailWindow.vue
+++ b/company/src/components/business/OperaUnionChangeDetailWindow.vue
@@ -21,9 +21,10 @@
                         <template v-if="2">
                             <el-button type="primary"  @click="$refs.ApplyChangeDetails.open('鍔犲噺淇濊鍗�',model,0)">瀵煎嚭璇﹀崟</el-button>
                             <el-button v-if="[1,2].includes(model.status)" type="primary" @click="viewApplyFile">鏌ョ湅鐢宠鍗�</el-button>
+                            <el-button v-if="[0].includes(model.status)" type="primary" @click="getSignLink(0)">绛剧讲鐢宠鍗�</el-button>
                             <el-button v-if="[2].includes(model.status)" type="primary" @click="viewPidan">鏌ョ湅鎵瑰崟</el-button>
-                            <el-button v-if=" [1].includes(model.status)" type="primary" @click="$refs.OperaApplyChangeCheckWindow.open('涓婁紶鎵瑰崟',model,3)">涓婁紶鎵瑰崟</el-button>
-                            <el-button  v-if="[0,1].includes(model.status)" type="danger" @click="$refs.OperaApplyChangeCheckWindow.open('閫�鍥炴姇淇�',model,1)">閫�鍥炴姇淇�</el-button>
+                            <el-button v-if=" [1].includes(model.status)" type="primary" @click="$refs.OperaUnionChangeCheckWindow.open('涓婁紶鎵瑰崟',model,3)">涓婁紶鎵瑰崟</el-button>
+                            <el-button  v-if="[0,1].includes(model.status)" type="danger" @click="$refs.OperaUnionChangeCheckWindow.open('閫�鍥炴姇淇�',model,1)">閫�鍥炴姇淇�</el-button>
                         </template>
                         <template  v-if="0">
                                              </template>
@@ -173,7 +174,7 @@
             </div>
         </div>
         <UnionChangeDetails ref="ApplyChangeDetails" @success="successEvent" />
-        <OperaApplyChangeCheckWindow ref="OperaApplyChangeCheckWindow" @success="successEvent" />
+        <OperaUnionChangeCheckWindow ref="OperaUnionChangeCheckWindow" @success="successEvent" />
         <!--    浼佷笟鐢宠閫�鍥�    -->
 <!--        <applyReturn ref="applyReturn" @success="successEvent" />-->
         <add_subtract_return ref="add_subtract_return" @success="successEvent" />
@@ -207,8 +208,26 @@
           </el-form-item>
         </el-form>
         <span slot="footer" class="dialog-footer">
-                <el-button type="primary" @click="goSignDo()">纭�  瀹�</el-button>
+                <el-button type="primary" :loading="signing" @click="goSignDo()">纭�  瀹�</el-button>
                 <el-button @click="visiblePhone=false">鍙� 娑�</el-button>
+            </span>
+      </el-dialog>
+      <el-dialog
+          title="鏌ョ湅淇濋櫓鍗�"
+          :visible.sync="visibleFile"
+          width="500px"
+          :modal="true"
+          :show-close="true"
+          :close-on-click-modal="false"
+          append-to-body
+          center>
+        <div class="desc_item_from" v-for="(item, index) in pidanFileData" :key="index"  style="margin-bottom: 15px">
+          <span v-if="index ==0">{{item.name}}锛�</span>
+          <span v-if="index >0">琚繚闄╀汉锛坽{item.name}}锛変繚闄╁崟锛�</span>
+          <a style="cursor: pointer;color: #2E68EC" v-if="item.file && item.file.fileurl" @click="openFile(item.file.fileurlFull)">鍦ㄧ嚎棰勮</a><span v-if="!item.file || !item.file.fileurl">鏈笂浼�</span>
+        </div>
+        <span slot="footer" class="dialog-footer">
+                <el-button @click="visibleFile=false">鍏� 闂�</el-button>
             </span>
       </el-dialog>
       <template v-slot:footer>
@@ -222,7 +241,7 @@
 import BaseOpera from '@/components/base/BaseOpera'
 import GlobalWindow from '@/components/common/GlobalWindow'
 import UnionChangeDetails from '@/components/business/UnionChangeDetails'
-import OperaApplyChangeCheckWindow from '@/components/business/OperaApplyChangeCheckWindow'
+import OperaUnionChangeCheckWindow from '@/components/business/OperaUnionChangeCheckWindow'
 import reinsurance from '@/components/enterprise/reinsurance'
 import factoryChange from '@/components/enterprise/factoryChange'
 import add_subtract_return from '@/components/enterprise/add_subtract_return'
@@ -231,9 +250,9 @@
 } from '@/api/business/insuranceApply'
 import {
   getById,
+    getSignLink
 } from '@/api/business/unionChange'
-import { applyChangeOpt ,
-  getChangeMemberListOnlineSignLink} from '@/api/business/applyChange'
+import {applyChangeOpt, listAll as applyList} from '@/api/business/applyChange'
 
 import {sendSms} from "@/api/business/smsEmail";
 import OperaInsuranceApply from '@/components/enterprise/OperaInsuranceApplyWindow'
@@ -245,7 +264,7 @@
   components: {
       GlobalWindow,
     UnionChangeDetails,
-      OperaApplyChangeCheckWindow,
+    OperaUnionChangeCheckWindow,
       add_subtract_return,
       OperaInsuranceApply,
       reinsurance,
@@ -258,9 +277,12 @@
       modelId:null,
       num: 0,
       timer: null,
+      signing:false,
       signTitle: '鎵嬫満鍙烽獙璇�',
+      pidanFileData:[],
       model: {},
       visiblePhone: false,
+      visibleFile:false,
       form: {
           businessId: null,
           phone: this.$store.state.userInfo.company.phone,
@@ -305,6 +327,10 @@
        this.model={}
        this.form.businessId = target.id
        this.num=0
+       this.signing=false
+       this.visiblePhone=false
+       this.visibleFile=false
+       this. pidanFileData=[]
        this.timer=null
         this.getDetail()
         this.getList()
@@ -328,13 +354,7 @@
       }, 1000)
     },
     getSignLink (flag) {
-      if (flag === 0) {
         this.signTitle = '绛剧讲鏂规纭涔�'
-      } else if (flag === 1) {
-        this.signTitle = '绛剧讲鐢宠鍗�'
-      } else if (flag === 2) {
-        this.signTitle = '绛剧讲鎶曚繚鍗�'
-      }
       this.form.type = flag
       this.visiblePhone = true
       this.$nextTick(() => {
@@ -346,14 +366,16 @@
         if (!valid) {
           return
         }
-        this.isWorking = true
+        this.signing = true
         if(this.form.type===0){
-          getChangeMemberListOnlineSignLink(this.form).then(res => {
+          getSignLink(this.form).then(res => {
             setTimeout(() => {
               this.visiblePhone=false
+              this.signing=false
               window.open(res)
             }, 500)
           }).catch(err => {
+            this.signing=false
             this.$tip.apiFailed(err)
           })
         }
@@ -407,9 +429,7 @@
        }
     },
     viewPidan(){
-      if(this.model.pidanFile && this.model.pidanFile.fileurlFull){
-        window.open(this.model.pidanFile.fileurlFull)
-      }
+      this.visibleFile=true
     },
     handleSizeChange(val){
         console.log(val)
@@ -423,10 +443,28 @@
 
     },
     getDetail(){
+      this.pidanFileData=[]
       getById(this.modelId).then(res => {
         this.model = res
         this.tableData = new Array()
         this.tableData.push(res)
+        this.pidanFileData.push({ name: '鍟嗘埛淇濋櫓鍗�', file: this.model.pidanFile })
+        this.getApplyList()
+      }).catch(err => {
+      })
+    },
+    getApplyList () {
+      applyList({ unionChangeId: this.model.id, getFiles: 1 }).then(res => {
+        this.model.applyList = res
+        if (res && res.length > 0) {
+          res.forEach(item => {
+            if (item.pidanFile) {
+              this.pidanFileData.push({ name: item.companyName, file: item.pidanFile })
+            } else {
+              this.pidanFileData.push({ name: item.companyName, file: null })
+            }
+          })
+        }
       }).catch(err => {
       })
     },
diff --git a/company/src/components/business/UnionChangeDetails.vue b/company/src/components/business/UnionChangeDetails.vue
index c1fb079..ae0f531 100644
--- a/company/src/components/business/UnionChangeDetails.vue
+++ b/company/src/components/business/UnionChangeDetails.vue
@@ -117,7 +117,7 @@
     import GlobalWindow from '@/components/common/GlobalWindow'
     import {getChangeDetailList, exportJiajianBaoExcel} from "@/api/business/insuranceApply";
     import {check } from "@/api/business/applyChange";
-    import {exportComFiles} from "@/api/business/company";
+    import {exportDetailExcel} from "@/api/business/unionChange";
     export default {
         name: 'ApplyChangeDetails',
         extends: BaseOpera,
@@ -195,7 +195,7 @@
             this.$dialog.exportConfirm('纭瀵煎嚭璇﹀崟鍚楋紵')
                 .then(() => {
                   this.isWorking = true
-                  exportJiajianBaoExcel({ id: this.model.id })
+                  exportDetailExcel({ id: this.model.id })
                       .then(response => {
                         this.download(response)
                       })
diff --git a/company/src/components/business/detailsEntrustedInsurance.vue b/company/src/components/business/detailsEntrustedInsurance.vue
index cf7baf5..23fe825 100644
--- a/company/src/components/business/detailsEntrustedInsurance.vue
+++ b/company/src/components/business/detailsEntrustedInsurance.vue
@@ -770,6 +770,7 @@
     viewToubaodan () {
       this.fileData = this.taobaodanFileData;
       this.visibleFile=true
+      this.fileTitle='鏌ョ湅鎶曚繚鍗�'
       this.fileFlag = 0
      /* if (this.model.toubaodanSignedFile && this.model.toubaodanSignedFile.fileurlFull) {
         setTimeout(() => {
@@ -783,6 +784,7 @@
     },
     viewBaoxiandan () {
       this.fileFlag = 1
+      this.fileTitle='鏌ョ湅淇濋櫓鍗�'
       this.fileData = this.baoxiandanFileData;
       this.visibleFile=true
      /* if (this.model.baoxiandanFile && this.model.baoxiandanFile.fileurlFull) {
diff --git a/server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java b/server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java
index a371437..c9269d2 100644
--- a/server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java
+++ b/server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java
@@ -1006,17 +1006,17 @@
         try {
             sxssfWorkbook = new SXSSFWorkbook();
             Sheet sheet = sxssfWorkbook.createSheet(sheetName);
-            for (int i = 0; i < 8; i++) {
+            for (int i = 0; i < 9; i++) {
                 sheet.setColumnWidth(i, ((i==3|| i== 4|| i== 5 ||i== 6 || i==7)?16:8) * 2 * 256);
             }
             sheet.createFreezePane(0, 1);
-            sheet.addMergedRegion(new CellRangeAddress(0   ,0,0,7));
+            sheet.addMergedRegion(new CellRangeAddress(0   ,0,0,8));
             Row title = sheet.createRow(0);
             title.setHeight((short) 2000);
             Cell c = title.createCell(0);
             c.setCellValue(sheetName);
             configFirstCell(sxssfWorkbook,c);
-            for (int i = 0; i < 8; i++) {
+            for (int i = 0; i < 9; i++) {
                 if(i>0){
                     title.createCell(i).setCellValue("");
                 }
@@ -1549,14 +1549,14 @@
         try {
             sxssfWorkbook = new SXSSFWorkbook();
             Sheet sheet = sxssfWorkbook.createSheet(sheetName);
-            for (int i = 0; i < 12; i++) {
-                sheet.setColumnWidth(i, ((i==3|| i==4|| i== 5 || i==9||i==10||  i==11)?16:8) * 2 * 256);
+            for (int i = 0; i < 8; i++) {
+                sheet.setColumnWidth(i, ((i==0|| i==1|| i== 3|| i== 4|| i== 7)?16:8) * 2 * 256);
             }
             sheet.createFreezePane(0, 1);
-            sheet.addMergedRegion(new CellRangeAddress(0   ,0,0,11));
+            sheet.addMergedRegion(new CellRangeAddress(0   ,0,0,7));
             Row title = sheet.createRow(0);
             title.setHeight((short) 2000);
-            for (int i = 0; i < 12; i++) {
+            for (int i = 0; i < 8; i++) {
                 title.createCell(i).setCellValue(i==0?sheetName:"");
                 configTitleCell(sxssfWorkbook,title.getCell(i));
             }
@@ -1681,7 +1681,7 @@
                     header6.createCell(6).setCellValue("");
                     header6.createCell(7).setCellValue(applyChagneDetail.getWorkTypeName());
                     for (int i = 0; i < 8; i++) {
-                        configFirstCell(sxssfWorkbook,header6.getCell(i));
+                        configDataCell(sxssfWorkbook,header6.getCell(i));
                     }
                     sheet.addMergedRegion(new CellRangeAddress(row  ,row,5,6));
                 }
@@ -1703,7 +1703,7 @@
                 configInfoCell(sxssfWorkbook,header6.getCell(i),HorizontalAlignment.LEFT);
             }
             header6.setHeight((short) 2000);
-            sheet.addMergedRegion(new CellRangeAddress(rowIndex ,rowIndex,0,11));
+            sheet.addMergedRegion(new CellRangeAddress(rowIndex ,rowIndex,0,7));
             Row header7= sheet.createRow(rowIndex+1);
             header7.setHeight((short) 3000);
             header7.createCell(0).setCellValue("鎶曚繚浜虹绔� 锛�                            \n \n \n" +"鏃ユ湡锛�     骞�     鏈�     鏃�    ");
@@ -1713,7 +1713,7 @@
                 }
                 configInfoCell(sxssfWorkbook,header7.getCell(i),HorizontalAlignment.RIGHT);
             }
-            sheet.addMergedRegion(new CellRangeAddress(rowIndex+1 ,rowIndex+1,0,11));
+            sheet.addMergedRegion(new CellRangeAddress(rowIndex+1 ,rowIndex+1,0,7));
 
             //涓存椂缂撳啿鍖�
             ByteArrayOutputStream out = new ByteArrayOutputStream();
@@ -1798,7 +1798,7 @@
             header2.createCell(4).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(data.getEndTime()));
             header2.createCell(5).setCellValue(data.getApplyChagneDetailList().stream().filter(i->i.getType().equals(Constants.ZERO)).collect(Collectors.toList()).size());
             header2.createCell(6).setCellValue(data.getApplyChagneDetailList().stream().filter(i->i.getType().equals(Constants.ONE)).collect(Collectors.toList()).size());
-            header2.createCell(7).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(data.getValidTime()));
+            header2.createCell(7).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(data.getApplyStartTime()));
             for (int i = 0; i < 8; i++) {
                 configDataCell(sxssfWorkbook,   header2.getCell(i));
             }
@@ -1812,8 +1812,9 @@
             header3.createCell(5).setCellValue("");
             header3.createCell(6).setCellValue("");
             header3.createCell(7).setCellValue("");
-            for (int i = 0; i < 8; i++) {
-                configFirstCell(sxssfWorkbook,header3.getCell(i));
+            configFirstCell(sxssfWorkbook,header3.getCell(0));
+            for (int i = 1; i < 8; i++) {
+                configDataCell(sxssfWorkbook,header3.getCell(i));
             }
             sheet.addMergedRegion(new CellRangeAddress(3  ,3,1,7));
 
@@ -1853,7 +1854,7 @@
                     header6.createCell(6).setCellValue("");
                     header6.createCell(7).setCellValue(applyChagneDetail.getWorkTypeName());
                     for (int i = 0; i < 8; i++) {
-                        configFirstCell(sxssfWorkbook,header6.getCell(i));
+                        configDataCell(sxssfWorkbook,header6.getCell(i));
                     }
                     sheet.addMergedRegion(new CellRangeAddress(row  ,row,5,6));
                 }
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 6788a98..3ca983d 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
@@ -85,6 +85,7 @@
     public static final String SETTLE_FILE ="SETTLE_FILE" ;
     public static final String DU_FILE ="DU_FILE" ;
     public static final String SIGN_DONE_NOTIFY_URL = "SIGN_DONE_NOTIFY_URL";
+    public static final int FOUR = 4;
 
     /**
      * 浼佷笟鏁版嵁鏉ユ簮 0骞冲彴娉ㄥ唽 1鍚庡彴瀵煎叆
@@ -197,6 +198,9 @@
     }
 
     public static Integer getSexByIdCard(String idCard){
+        if(StringUtils.isBlank(idCard)){
+            return 2;
+        }
         Pattern pattern = Pattern.compile("\\d{17}[\\d|x]"); // 瀹氫箟韬唤璇佸彿鐮佹牸寮忕殑姝e垯琛ㄨ揪寮�
         Matcher matcher = pattern.matcher(idCard);
         Integer sex = 0;
@@ -208,7 +212,7 @@
                 sex = 1;
             }
         } else {
-           sex = -1;
+           sex = 2;
         }
         return sex;
     }
@@ -453,7 +457,7 @@
         WTB_BD_DONE_PDF(21, "濮旀墭鎶曚繚鍗� - 鍚堝苟鍗曟渶缁堜繚鍗�", "濮旀墭鎶曚繚鍗� - 鍚堝苟鍗曟渶缁堜繚鍗�"),
         WTB_CA_DONE_PDF(23, "濮旀墭鍔犲噺淇�/鎹㈠巶涓氬姟 - 鍚堝苟鍗曟渶缁堜繚鍗�", "濮旀墭鍔犲噺淇�/鎹㈠巶涓氬姟 - 鍚堝苟鍗曟渶缁堜繚鍗�"),
         WTB_CONFIRMATION_LATTER(24, "濮旀墭淇� - 鎶曚繚鏂规纭涔�", "濮旀墭淇� - 鎶曚繚鏂规纭涔�"),
-        WTB_CA_TBD_PDF(25, "濮旀墭鍔犲噺淇�/鎹㈠巶涓氬姟 -鎶曚繚鍗曪紙浼佷笟绛剧讲鍚嶱DF锛�", "濮旀墭鍔犲噺淇�/鎹㈠巶涓氬姟 -鎶曚繚鍗曪紙浼佷笟绛剧讲鍚嶱DF锛�"),
+        WTB_CA_TBD_PDF(25, "濮旀墭鍔犲噺淇�/鎹㈠巶涓氬姟 -鐢宠鍗曪紙鍟嗘埛绛剧讲鍚嶱DF锛�", "濮旀墭鍔犲噺淇�/鎹㈠巶涓氬姟 -鐢宠鍗曪紙鍟嗘埛绛剧讲鍚嶱DF锛�"),
         ;
         // 鎴愬憳鍙橀噺
         private String name;
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 4be61b8..a73def8 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
@@ -237,5 +237,7 @@
         taxesInvoicingVO.setType(Constants.ONE);
         return taxesInvoicingVO;
     }
-
+    @ApiModelProperty(value = "鏄惁鑾峰彇闄勪欢淇℃伅 0涓嶉渶瑕� 1闇�瑕�")
+    @TableField(exist = false)
+    private Integer getFiles;
 }
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/UnionChange.java b/server/service/src/main/java/com/doumee/dao/business/model/UnionChange.java
index 6595c70..caeac95 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/UnionChange.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/UnionChange.java
@@ -35,7 +35,6 @@
 
     @ApiModelProperty(value = "鍒涘缓鏃堕棿")
     @ExcelColumn(name="鍒涘缓鏃堕棿")
-    @JsonFormat(pattern = "yyyy-MM-dd")
     private Date createDate;
 
     @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
@@ -44,7 +43,6 @@
 
     @ApiModelProperty(value = "鏇存柊鏃堕棿")
     @ExcelColumn(name="鏇存柊鏃堕棿")
-    @JsonFormat(pattern = "yyyy-MM-dd")
     private Date editDate;
 
     @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
@@ -69,7 +67,6 @@
 
     @ApiModelProperty(value = "鎵瑰崟鐢熸晥鏃堕棿")
     @ExcelColumn(name="鎵瑰崟鐢熸晥鏃堕棿")
-    @JsonFormat(pattern = "yyyy-MM-dd")
     private Date applyStartTime;
 
     @ApiModelProperty(value = "鐘舵�� 0寰呯缃茬敵璇峰崟 1寰呬笂浼犳壒鍗� 2宸蹭笂浼犳壒鍗� 3閫�鍥�")
@@ -78,7 +75,6 @@
 
     @ApiModelProperty(value = "鏈熸湜淇濋櫓鐢熸晥璧锋湡")
     @ExcelColumn(name="鏈熸湜淇濋櫓鐢熸晥璧锋湡")
-    @JsonFormat(pattern = "yyyy-MM-dd")
     private Date validTime;
 
     @ApiModelProperty(value = "鎵瑰崟鍙�")
@@ -160,5 +156,12 @@
     @ApiModelProperty(value = "鏃ュ織璁板綍")
     @TableField(exist = false)
     private List<ApplyLog> applyLogList;
+    @ApiModelProperty(value = "鐢宠鍗曢檮浠�")
+    @TableField(exist = false)
+    private Multifile applyFile;
+
+    @ApiModelProperty(value = "鎵瑰崟闄勪欢")
+    @TableField(exist = false)
+    private Multifile pidanFile;
 
 }
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 3f93b3f..e07c92f 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
@@ -1537,6 +1537,7 @@
 //                .eq(!Objects.isNull(model.getSolutionsId()),ApplyChange::getSolutionsId,model.getSolutionsId())
                 .eq(!Objects.isNull(model.getSolutionType()),Solutions::getType,model.getSolutionType())
                 .eq(!Objects.isNull(model.getApplyId()),ApplyChange::getApplyId,model.getApplyId())
+                .eq(!Objects.isNull(model.getUnionChangeId()),ApplyChange::getUnionChangeId,model.getUnionChangeId())
                 .eq(!Objects.isNull(model.getBaseSolutionsId()),Solutions::getBaseId,model.getBaseSolutionsId())
                 .like(StringUtils.isNotBlank(model.getSolutionsName()),Solutions::getName,model.getSolutionsName())
                 .ge(StringUtils.isNotBlank(model.getCreateDateS()),ApplyChange::getCreateDate, model.getCreateDateS()+" 00:00:00" )
@@ -1567,7 +1568,46 @@
         }
 
         queryWrapper.orderByDesc(ApplyDetail::getCreateDate);
-        return applyChangeJoinMapper.selectJoinList(ApplyChange.class,queryWrapper);
+        List<ApplyChange> list =applyChangeJoinMapper.selectJoinList(ApplyChange.class,queryWrapper);
+        if(Constants.equalsObject(model.getGetFiles(),Constants.ONE)){
+            //濡傛灉鏄悎骞跺崟,闇�瑕佹煡璇㈤檮浠朵俊鎭�
+            initFileForList(list);
+        }
+        return list;
+    }
+    private void initFileForList(List<ApplyChange> list) {
+        List<Integer> objList =  new ArrayList<>();
+        if(list!=null && list.size()>0){
+            for(ApplyChange param : list){
+                objList.add(param.getId());
+            }
+        }else{
+            return;
+        }
+        List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda()
+                .in(Multifile::getObjId,objList)
+                .in(Multifile::getObjType,Arrays.asList(new Integer[]{Constants.MultiFile.CA_PD_PDF.getKey()}))
+                .eq(Multifile::getIsdeleted,Constants.ZERO)
+                .orderByAsc(Multifile::getId));
+        if(multifiles!=null && multifiles.size()>0){
+            String path = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()
+                    +systemDictDataBiz.queryByCode(Constants.OSS,Constants.APPLY_FILE).getCode();
+            for(ApplyChange model : list){
+                for(Multifile f : multifiles) {
+                    if (StringUtils.isBlank(f.getFileurl())) {
+                        continue;
+                    }
+                    f.setFileurlFull(path+f.getFileurl());
+                    if(Constants.equalsInteger(f.getObjId(), model.getId()) ){
+                        if (Constants.equalsInteger(f.getObjType(), Constants.MultiFile.CA_PD_PDF.getKey())) {
+                            //绛剧讲鍓嶇殑鎶曚繚鍗�
+                            model.setPidanFile(f);
+                        }
+                    }
+                }
+            }
+        }
+
     }
 
 
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 91eaaea..c50290c 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
@@ -852,8 +852,8 @@
         f.setType(Constants.TWO);
         f.setFileurl(fileurl);
         f.setFileurlFull(fullUrl);
-        f.setInfo("濮旀墭鍔犲噺淇�/鎹㈠巶涓氬姟 -鎶曚繚鍗�");
-        f.setName("濮旀墭鍔犲噺淇�/鎹㈠巶涓氬姟 -鎶曚繚鍗�.pdf");
+        f.setInfo("鎶曚繚鐢宠鍗� -鐢宠鍗�");
+        f.setName("鎶曚繚鐢宠鍗�.pdf");
         multifileMapper.insert(f);
 
         Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_HBD_SIGNATURE_TBD;
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java
index ad8d7af..be2de67 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java
@@ -172,15 +172,40 @@
                             .selectAs(SystemUser::getType,ApplyLog::getCreatorType)
                             .leftJoin(SystemUser.class,SystemUser::getId,ApplyLog::getCreator)
                             .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
-                            .in(ApplyLog::getObjType,Constants.ApplyLogType.getTypeList(Constants.THREE))
+                            .in(ApplyLog::getObjType,Constants.ApplyLogType.getTypeList(Constants.FOUR))
                             .eq(ApplyLog::getApplyId,unionChange.getId())
                             .orderByAsc(ApplyLog::getCreateDate)
             );
             unionChange.setApplyLogList(applyLogList);
         }
+        initFiles(unionChange);
         return unionChange;
     }
 
+    private void initFiles(UnionChange unionChange) {
+        List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda()
+                .eq(Multifile::getObjId, unionChange.getId() )
+                .in(Multifile::getObjType, Arrays.asList(new Integer[]{Constants.MultiFile.WTB_CA_TBD_PDF.getKey(),Constants.MultiFile.WTB_CA_DONE_PDF.getKey()}))
+                .eq(Multifile::getIsdeleted,Constants.ZERO));
+        if(multifiles!=null){
+            String path = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()
+                    +systemDictDataBiz.queryByCode(Constants.OSS,Constants.APPLY_FILE).getCode();
+            for(Multifile f : multifiles){
+                if(StringUtils.isBlank(f.getFileurl())){
+                    continue;
+                }
+                f.setFileurlFull(path+f.getFileurl());
+                if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.WTB_CA_TBD_PDF.getKey())){
+                    //绛剧讲鍚庣敵璇峰崟
+                    unionChange.setApplyFile(f);
+                }
+                if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.WTB_CA_DONE_PDF.getKey())){
+                    //绛剧讲鍚庣敵璇峰崟
+                    unionChange.setPidanFile(f);
+                }
+            }
+        }
+    }
 
 
     @Override
@@ -494,6 +519,7 @@
         }
         LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         UnionChange unionChange = this.unionChangeDetail(smsCheckDTO.getBusinessId());
+        unionChange.setStatus(Constants.formatIntegerNum(unionChange.getStatus()));
         if(Objects.isNull(unionChange)||!Constants.equalsInteger(unionChange.getIsdeleted(),Constants.ZERO)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY);
         }
@@ -506,7 +532,7 @@
         if(unionChange.getStatus().equals(Constants.UnionChangeStatus.CLOSE.getKey())){
             throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧凤紝鍚堝苟鍗曚笟鍔″凡鍏抽棴");
         }
-        if(unionChange.getStatus().equals(Constants.UnionChangeStatus.MERGE.getKey())){
+        if(!unionChange.getStatus().equals(Constants.UnionChangeStatus.MERGE.getKey())){
             throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧凤紝鍚堝苟鍗曠姸鎬佸凡娴佽浆");
         }
         Company company =  companyMapper.selectById(user.getCompanyId());
@@ -559,6 +585,8 @@
         if(Objects.isNull(unionChange)||!Constants.equalsInteger(unionChange.getIsdeleted(),Constants.ZERO)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY);
         }
+        unionChange.setStatus(Constants.formatIntegerNum(unionChange.getStatus()));
+        unionChange.setShopId(Constants.formatIntegerNum(unionChange.getShopId()));
         if(!unionChange.getShopId().equals(user.getCompanyId())){
             throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧烽潪鎮ㄧ殑鍚堝苟鍗曪紝鎮ㄦ棤娉曡繘琛屾搷浣滐紒");
         }
@@ -568,7 +596,7 @@
         if(unionChange.getStatus().equals(Constants.UnionChangeStatus.CLOSE.getKey())){
             throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧凤紝鍚堝苟鍗曚笟鍔″凡鍏抽棴");
         }
-        if(unionChange.getStatus().equals(Constants.UnionChangeStatus.UPLOAD_INSURANCE_POLICY.getKey())){
+        if(!unionChange.getStatus().equals(Constants.UnionChangeStatus.UPLOAD_INSURANCE_POLICY.getKey())){
             throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧凤紝鍚堝苟鍗曠姸鎬佸凡娴佽浆");
         }
 
@@ -608,15 +636,15 @@
                         ||StringUtils.isBlank(m.getFileurl())
                         ||StringUtils.isBlank(m.getName())
                 ){
-                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍔犲噺淇�/鎹㈠巶涓氬姟鎵瑰崟鏂囦欢淇℃伅缂哄け");
+                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎵瑰崟鏂囦欢淇℃伅缂哄け");
                 }
-                multifile.setIsdeleted(Constants.ZERO);
-                multifile.setCreator(user.getId());
-                multifile.setCreateDate(new Date());
-                multifile.setCreateDate(new Date());
-                multifile.setObjType(Constants.MultiFile.CA_PD_PDF.getKey());
-                multifile.setType(Constants.TWO);
-                multifileMapper.insert(multifile);
+                m.setId(null);
+                m.setIsdeleted(Constants.ZERO);
+                m.setCreator(user.getId());
+                m.setCreateDate(new Date());
+                m.setObjType(Constants.MultiFile.CA_PD_PDF.getKey());
+                m.setType(Constants.TWO);
+                multifileMapper.insert(m);
             }
         }
 
@@ -628,7 +656,12 @@
                 applyChange.setEditDate(new Date());
                 applyChange.setEditor(user.getId());
                 applyChange.setStatus(Constants.ApplyChangeStatus.APPROVE.getKey());
-                List<ApplyChagneDetail> allList = applyChagneDetailJoinMapper.selectList(new QueryWrapper<ApplyChagneDetail>().lambda().eq(ApplyChagneDetail::getApplyChangeId,applyChange.getId()));
+                List<ApplyChagneDetail> allList = applyChagneDetailJoinMapper.selectJoinList(ApplyChagneDetail.class,
+                        new MPJLambdaWrapper<ApplyChagneDetail>().selectAll(ApplyChagneDetail.class)
+                                .selectAs(Member::getName,ApplyChagneDetail::getMemberName )
+                                .selectAs(Member::getIdcardNo,ApplyChagneDetail::getIdcardNo )
+                                .leftJoin(Member.class,Member::getId,ApplyChagneDetail::getMemberId)
+                                .eq(ApplyChagneDetail::getApplyChangeId,applyChange.getId()));
                 this.dealApplyChangeDetail(applyChange,allList);
                 applyChange.setCode(unionChangeBXDDTO.getCode());
                 applyChange.setCheckUserId(user.getId());

--
Gitblit v1.9.3