nidapeng
2024-04-02 74225654b1d1dba53fe00b3a5e9b9e91cfa0c922
提交一把
已添加1个文件
已修改7个文件
427 ■■■■■ 文件已修改
company/src/assets/style/style.scss 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaUnionApplyCheckWindow.vue 202 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaWtbApplyShopWindow.vue 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/detailsEntrustedInsurance.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/common/UploadFile.vue 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/common/UploadFileLink.vue 174 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/core/utils/Constants.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/assets/style/style.scss
@@ -96,6 +96,6 @@
  color: #F95601 !important;
}
  .apply-status5,.apply-status27,.change-status7,.settle-status7,
  .tax-status1,.du-status1,.settle-status4 .union-apply-status3 {
  .tax-status1,.du-status1,.settle-status4 ,.union-apply-status3 {
  color: #00BA92  !important;
}
company/src/components/business/OperaUnionApplyCheckWindow.vue
@@ -1,7 +1,7 @@
<template>
    <GlobalWindow
        :title="title"
        width="50%"
        width="60%"
        :visible.sync="visible"
        :confirm-working="isWorking"
        @confirm="confirm"
@@ -18,14 +18,14 @@
          </el-form-item>
          <div v-for="(item,index) in this.model.applyList" :key="index">
            <el-form-item :label="(index+1)+'.被保险人('+item.companyName+'):'" prop="tbdMultifileList[index]">
              <UploadFile   :uploadData="{ folder: 'apply',fileType:'.pdf' }"  :fileIndex="index"  :showTips="showTips" :fileList="model.applyList[index].fileList" @uploadSuccess="toubaoFileUploaded2" />
              <UploadFile  @remove="deleIndex(0,index)"  :uploadData="{ folder: 'apply',fileType:'.pdf' }"  :fileIndex="index"  :showTips="showTips" :fileList="model.applyList[index].fileList" @uploadSuccess="toubaoFileUploaded2" />
            </el-form-item>
          </div>
        </el-form>
        <!--    ä¸Šä¼ ä¿é™©å•    -->
      <el-form v-if="visible3==true" :model="form" ref="form3" :rules="rules3" style="width: 100%;">
        <el-form-item label="客户期望保险生效起期:">
          {{ model.applyStartTime }}
        <el-form-item label="期望保险生效期:">
          <span >{{( form.startTime|| '-') +'  è‡³  '+( form.endTime|| '-')}}</span>
        </el-form-item>
        <el-form-item label="" >
          <el-radio-group v-model="form.selectRadio" @change="selectChange">
@@ -41,20 +41,46 @@
              placeholder="选择日期">
          </el-date-picker>
        </el-form-item>
        <el-form-item label="保险生效起期:">
          {{ form.startTime }}
        <el-form-item label="保险生效止期:" prop="endTime" v-if="form.selectRadio === 1">
          <el-date-picker
              v-model="form.endTime"
              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" />
          <UploadFile @remove="dele3"  :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList1" @uploadSuccess="baoxianFileUploaded" />
        </el-form-item>
        <div v-for="(item,index) in this.model.applyList" :key="index">
        <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.insureNum }}</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 class="box_table_content_item">  <el-input style="width: 60%" v-model="form.bxdMultifileList[index].serverMoney" placeholder="请输入"  ></el-input>
              <span style="margin-left: 15px">元/人</span></div>
          </div>
        </div>
<!--        <div v-for="(item,index) in this.model.applyList" :key="index">
          <el-form-item :label="item.companyName" prop="bxdMultifileList[index]">
            <UploadFile   :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileIndex="index" :showTips="showTips" :fileList="model.applyList[index].fileList1" @uploadSuccess="baoxianFileUploaded2" />
          </el-form-item>
        </div>
        </div>-->
      </el-form>
      <template v-slot:footer>
        <el-button type="primary" @click="doSubmit">ç¡® å®š</el-button>
@@ -72,11 +98,12 @@
  uploadToubaodan
} from '@/api/business/unionApply'
import UploadFile from '@/components/common/UploadFile'
import UploadFileLink from '@/components/common/UploadFileLink'
export default {
  name: 'OperaUnionApplyCheckWindow',
  extends: BaseOpera,
  components: { UploadFile, GlobalWindow },
  components: { UploadFile, GlobalWindow ,UploadFileLink},
  data () {
    return {
      // è¡¨å•数据
@@ -100,6 +127,9 @@
        startTime: [
          { required: true, message: '请完善信息' }
        ],
        endTime: [
          { required: true, message: '请完善信息' }
        ],
        baoxianFile: [
          { required: true, message: '请完善信息' }
        ]
@@ -109,6 +139,7 @@
        backCheckInfo: '',
        editCheckInfo: '',
        startTime: null,
        endTime: null,
        code: null,
        toubaodanFile: null,
        baoxianFile: null,
@@ -134,9 +165,14 @@
      this.form.toubaodanFile= null
    },
    deleIndex (flag,index) {
      if(flag == 0)
      this.form.tbdMultifileList[index].fileurl = null
      this.form.tbdMultifileList[index].name = null
      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].fileName = null
      }
    },
    dele3 () {
      this.form.baoxianFile = null
@@ -152,10 +188,13 @@
        editDate: '',
        editCode: '',
        startTime: null,
        endTime: null,
        code: null,
        toubaodanFile: null,
        baoxianFile: null,
        editBaoxianFile: null,
        tbdMultifileList:[],
        bxdMultifileList:[],
        fileList: [],
        fileList1: [],
        selectRadio: 0
@@ -163,6 +202,7 @@
      this.model = target
      this.form.startTime = target.startTime
      this.form.endTime = target.endTime
      this.title = title
      this.flag = flag
      this.visible1 = false
@@ -188,7 +228,7 @@
        if(this.model.applyList){
          this.model.applyList.forEach(item =>{
            item.fileList1 =[]
            this.form.bxdMultifileList.push({objId:item.id,fileurl:null,name:null})
            this.form.bxdMultifileList.push({applyId:item.id,serverMoney:0,fileUrl:null,fileName:null})
          })
        }
      }
@@ -223,8 +263,10 @@
    selectChange () {
      if (this.form.selectRadio == 0) {
        this.form.startTime = this.model.startTime
        this.form.endTime = this.model.endTime
      } else {
        this.form.startTime = ''
        // this.form.startTime = ''
        // this.form.endTime = ''
      }
    },
    toubaoFileUploaded (data) {
@@ -238,8 +280,8 @@
      this.form.baoxianFile = data
    },
    baoxianFileUploaded2 (data) {
      this.form.bxdMultifileList[data.index].fileurl = data.fileurl
      this.form.bxdMultifileList[data.index].name = data.name
      this.form.bxdMultifileList[data.index].fileUrl = data.fileurl
      this.form.bxdMultifileList[data.index].fileName = data.name
    },
    backDo () {
      this.$dialog.messageConfirm('确认进行该操作吗?')
@@ -273,7 +315,17 @@
      this.$dialog.messageConfirm('确认进行该操作吗?')
        .then(() => {
          this.isWorking = true
          uploadBXD({ id: this.model.id, startTime: this.form.startTime, code: this.form.code, baoxiandanFile: this.form.baoxianFile })
          var param ={
            id: this.model.id,
            startTime: this.form.startTime,
            endTime: this.form.endTime,
            code: this.form.code,
            fileUrl: this.form.baoxianFile.fileurl,
            fileName: this.form.baoxianFile.name,
            unionApplyBXDDDetailDTOList:this.form.bxdMultifileList
          }
          console.log(param)
          uploadBXD(param)
            .then(response => {
              this.visible = false
              this.$emit('success')
@@ -428,4 +480,118 @@
            }
        }
    }
    .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>
company/src/components/business/OperaWtbApplyShopWindow.vue
@@ -29,8 +29,8 @@
                          <el-button v-if="model.status == 24" type="primary" @click="closeOrder">关闭订单</el-button>
                          <el-button v-if="[21,22,23,24,25,26,27].includes(model.status)" type="primary" @click="viewFanganshu">查看确认书</el-button>
                          <el-button v-if="[22,23,24,25,26,27].includes(model.status)" type="primary" @click="viewShenqingdan">查看申请单</el-button>
                          <el-button v-if="[1,2,3].includes(model.unionApplyTbdStatus)" type="primary" @click="viewToubaodan">查看投保单</el-button>
                          <el-button v-if="[3].includes(model.unionApplyTbdStatus) " type="primary" @click="viewBaoxiandan">查看保险单</el-button>
                          <el-button v-if="[1,2,3].includes(model.unionApplyTbdStatus) &&(model.toubaodanFile || model.oubaodanSignedFile)" type="primary" @click="viewToubaodan">查看投保单</el-button>
                          <el-button v-if="[3].includes(model.unionApplyTbdStatus) &&(model.baoxiandanFile)" type="primary" @click="viewBaoxiandan">查看保险单</el-button>
<!--                          goSign-->
                          <el-button v-if="model.status == 20" type="primary" @click="getSignLink(0)">签署方案确认书</el-button>
                          <el-button v-if="model.status == 21" type="primary" @click="getSignLink(1)">签署申请单</el-button>
@@ -39,15 +39,17 @@
                    <template v-if="userInfo.type === 2">
                      <el-button v-if="[21,22,23,24,25,26,27].includes(model.status)" type="primary" @click="viewFanganshu">查看确认书</el-button>
                      <el-button v-if="[22,23,24,25,26,27].includes(model.status)" type="primary" @click="viewShenqingdan">查看申请单</el-button>
                      <el-button v-if="[1,2,3].includes(model.unionApplyTbdStatus) &&(model.toubaodanFile || model.oubaodanSignedFile)" type="primary" @click="viewToubaodan">查看投保单</el-button>
                      <el-button v-if="[3].includes(model.unionApplyTbdStatus) &&(model.baoxiandanFile)" type="primary" @click="viewBaoxiandan">查看保险单</el-button>
                      <el-button v-if="model.status == 22" type="primary" @click="$refs.InsuranceDetails.open('投保审核',model,1)">投保审核</el-button>
                      <el-button v-if="[20,21,22].includes(model.status)" type="danger" @click="$refs.OperaWtbApplyCheckWindow.open('退回投保',model,1)">退回申请</el-button>
                      <el-button v-if="model.status == 23" type="danger" @click="$refs.OperaWtbApplyCheckWindow.open('关闭申请',model,2)">关闭申请</el-button>
                    </template>
                    <template v-if="userInfo.type === 0">
                      <el-button v-if="[27].includes(model.status)" type="primary" @click="viewFanganshu">查看确认书</el-button>
                      <el-button v-if="[27].includes(model.status)" type="primary" @click="viewShenqingdan">查看申请单</el-button>
                      <el-button v-if="[27].includes(model.status)" type="primary" @click="viewToubaodan">查看投保单</el-button>
                      <el-button v-if="[27].includes(model.status)" type="primary" @click="viewBaoxiandan">查看保险单</el-button>
                      <el-button v-if="[21,22,23,24,25,26,27].includes(model.status)" type="primary" @click="viewFanganshu">查看确认书</el-button>
                      <el-button v-if="[22,23,24,25,26,27].includes(model.status)" type="primary" @click="viewShenqingdan">查看申请单</el-button>
                      <el-button v-if="[1,2,3].includes(model.unionApplyTbdStatus) &&(model.toubaodanFile || model.oubaodanSignedFile)" type="primary" @click="viewToubaodan">查看投保单</el-button>
                      <el-button v-if="[3].includes(model.unionApplyTbdStatus) &&(model.baoxiandanFile)" type="primary" @click="viewBaoxiandan">查看保险单</el-button>
                    </template>
                  </div>
                </div>
company/src/components/business/detailsEntrustedInsurance.vue
@@ -11,7 +11,7 @@
        <div class="desc_item_label">
          <div class="desc_item_label_left">
            <span>投保人:{{ model.companyName }}</span>
            <span>保单状态:<span  :class="'apply-status'+model.status" >{{ model.statusInfo }}</span></span>
            <span>保单状态:<span  :class="'union-apply-status'+model.status" >{{ model.statusInfo }}</span></span>
            <span>提交时间:{{ model.createDate }}</span>
          </div>
          <div class="desc_item_label_right">
company/src/components/common/UploadFile.vue
@@ -12,7 +12,7 @@
      :on-error="uploadError"
      :before-upload="beforeFileUpload"
      :file-list="fileList">
    <el-button size="small" type="primary"  >点击上传</el-button>
    <el-button  size="small" type="primary"  >点击上传</el-button>
    <div style="display: inline-block;position: absolute"  slot="tip" class="el-upload__tip" v-if="showTips">{{'(只能上传'+uploadData.fileType +'文件,且不超过5mb)'}}</div>
  </el-upload>
  </div>
@@ -46,6 +46,7 @@
  },
  data() {
    return {
      uploaded:false,
      // fileList:[],
      uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/public/upload?folder='+this.uploadData.folder
    }
@@ -54,6 +55,11 @@
    fileList (nv,ov) {
      if(this.fileList ==null){
        this.fileList = new Array();
      }
      if(this.fileList.length == 0){
        this.uploaded = false
      }else{
        this.uploaded=true
      }
     // alert(this.fileList)
    },
@@ -65,6 +71,7 @@
  },
  methods: {
    removes() {
      this.uploaded=false
      this.$emit('remove')
    },
    // ä¸Šä¼ å›¾ç‰‡
@@ -74,6 +81,7 @@
    handleFileSuccess(res, file) {
      if (res.code == 200) {
        let { data } = res
        this.uploaded = true
        // this.fileList = [{name: data.originname, url: data.url }]
        this.$message.success('上传成功')
        this.$emit('uploadSuccess', { fileurl: data.imgaddr,  fileurlFull: data.url, name: data.originname ,index:this.fileIndex})
company/src/components/common/UploadFileLink.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,174 @@
<template>
  <div>
    <el-upload
      ref="uploadFileBtn"
      class="upload-demo"
      :accept="uploadData.fileType"
      :action="uploadImgUrl"
      :limit="1"
      :before-remove="removes"
      :on-exceed="handleExceed"
      :on-success="handleFileSuccess"
      :on-error="uploadError"
      :before-upload="beforeFileUpload"
      :file-list="fileList">
    <a v-if="!uploaded" size="small" type="primary"  >点击上传</a>
    <div style="display: inline-block;position: absolute"  slot="tip" class="el-upload__tip" v-if="showTips">{{'(只能上传'+uploadData.fileType +'文件,且不超过5mb)'}}</div>
  </el-upload>
  </div>
</template>
<script>
export default {
  props: {
    fileList:{
      type: Array,
      default: () => []
    },
    file: {
      type: Object,
      default: () => {}
    },
    fileIndex: {
      type: Number,
      default: () =>0
    },
    showTips: {
      type: Boolean,
    default: () => true
    },
    customStyle: {
      type: String,
      default: 'width: 190px; height: 190px;'
    },
    uploadData: Object
  },
  data() {
    return {
      uploaded:false,
      // fileList:[],
      uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/public/upload?folder='+this.uploadData.folder
    }
  },
  watch: {
    fileList (nv,ov) {
      if(this.fileList ==null){
        this.fileList = new Array();
      }
      if(this.fileList.length == 0){
        this.uploaded = false
      }else{
        this.uploaded=true
      }
     // alert(this.fileList)
    },
    tipsLabel (nv,ov) {
      if(this.tipsLabel ==null){
        this.tipsLabel = ''
      }
    }
  },
  methods: {
    removes() {
      this.uploaded=false
      this.$emit('remove')
    },
    // ä¸Šä¼ å›¾ç‰‡
    handleExceed(){
      this.$message.error('只允许上传1个文件,请删除已传文件,重试!')
    },
    handleFileSuccess(res, file) {
      if (res.code == 200) {
        let { data } = res
        this.uploaded = true
        // this.fileList = [{name: data.originname, url: data.url }]
        this.$message.success('上传成功')
        this.$emit('uploadSuccess', { fileurl: data.imgaddr,  fileurlFull: data.url, name: data.originname ,index:this.fileIndex})
      } else {
        this.$message.apiFailed('上传失败')
      }
      this.$emit('uploadEnd')
    },
    uploadError() {
      this.$message.apiFailed('上传失败')
      this.$emit('endUpload')
    },
    // // æ‹¦æˆª
    beforeFileUpload(file) {
      this.$emit('uploadBegin')
      return true
    }
  }
}
</script>
<style lang="scss" scoped>
$image-width: 150px;
.avatar-uploader {
  width: $image-width;
  height: $image-width;
}
::v-deep .el-upload {
  //border: 1px dashed #d9d9d9;
  border-radius: 6px;
  cursor: pointer;
  position: relative;
  width: 150px;
  height: 30px;
  margin-top: 25px;
  overflow: hidden;
  color: #2E68EC;
  display: inline-block;
}
.avatar-uploader .el-upload:hover {
  border-color: #409EFF;
}
.avatar-uploader-icon {
  line-height: 90px;
  font-size: 28px;
  color: #8c939d;
  width: $image-width;
  height: $image-width;
  text-align: center;
}
.avatar {
  width: $image-width;
  height: $image-width;
  display: block;
}#67C23A
.tips-style {
  height: 13px;
  font-size: 13px;
  font-weight: 400;
  color: #999999;
  line-height: 13px;
}
</style>
<style lang="scss" scoped>
::v-deep .el-upload--picture-card{
  width: 90px !important;
  height: 90px !important;
}
::v-deep .el-upload-list__item-name{
  color: #67C23A;
}
::v-deep .el-upload-list{
  position: absolute;
  left: 0;
  top: 20px;
}
::v-deep .el-upload-list__item {
  width: 150px !important;
  height: 100% !important;
  display: inline-block;
}
.icon {
  -webkit-transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  transform: translate(0%, -85%);
}
</style>
server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -992,7 +992,7 @@
    public  enum UnionChangeStatus {
    public  enum å•†æˆ· {
        MERGE(0, "待签署",""),
        UPLOAD_INSURANCE_POLICY(1, "待出单",""),
        FINISH(2, "保障中",""),
@@ -1005,7 +1005,7 @@
        // æž„造方法
        UnionChangeStatus(int key, String name,String info) {
        å•†æˆ·(int key, String name,String info) {
            this.name = name;
            this.key = key;
            this.info = info;
@@ -1013,7 +1013,7 @@
        // æ™®é€šæ–¹æ³•
        public static String getName(int index) {
            for (UnionChangeStatus c : UnionChangeStatus.values()) {
            for (商户 c : å•†æˆ·.values()) {
                if (c.getKey() == index) {
                    return c.name;
                }
@@ -1021,7 +1021,7 @@
            return null;
        }
        public static String getInfo(int index) {
            for (UnionChangeStatus c : UnionChangeStatus.values()) {
            for (商户 c : å•†æˆ·.values()) {
                if (c.getKey() == index) {
                    return c.info;
                }
server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java
@@ -714,7 +714,8 @@
        List<UnionApplyBXDDetailDTO> unionApplyBXDDetailDTOList = unionApplyBXDDTO.getUnionApplyBXDDDetailDTOList();
        //所有投保申请保单明细行
        List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectList(new QueryWrapper<ApplyDetail>().lambda().select(ApplyDetail::getPrice)
        List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectList(new QueryWrapper<ApplyDetail>().lambda()
                .select(ApplyDetail::getId,ApplyDetail::getApplyId,ApplyDetail::getPrice)
                .in(ApplyDetail::getUnionApplyId,unionApply.getId()));
        //总天数
        Integer maxDays = DateUtil.calculateBetween(unionApplyBXDDTO.getStartTime(),unionApplyBXDDTO.getEndTime(),0);
@@ -732,11 +733,12 @@
        List<InsuranceApply> insuranceApplyList = insuranceApplyJoinMapper.selectList(new QueryWrapper<InsuranceApply>()
                .lambda().eq(InsuranceApply::getUnionApplyId,unionApply.getId()));
        for (InsuranceApply insuranceApply:insuranceApplyList) {
            BigDecimal price = insuranceApply.getPrice();
            Optional<UnionApplyBXDDetailDTO> unionApplyBXDDDetailTO= unionApplyBXDDetailDTOList.stream().filter(m->m.getApplyId().equals(insuranceApply.getId())).findFirst();
            BigDecimal price = Constants.formatBigdecimal(insuranceApply.getPrice());
            Optional<UnionApplyBXDDetailDTO> unionApplyBXDDDetailTO= unionApplyBXDDetailDTOList.stream().filter(
                    m->m.getApplyId().equals(insuranceApply.getId())).findFirst();
            if(unionApplyBXDDDetailTO.isPresent()){
                UnionApplyBXDDetailDTO unionApplyBXDDetailDTO = unionApplyBXDDDetailTO.get();
                price = price.add(unionApplyBXDDetailDTO.getServerMoney());
                price = Constants.formatBigdecimal(price).add(Constants.formatBigdecimal(unionApplyBXDDetailDTO.getServerMoney()));
                //上传保单信息
                if(StringUtils.isNotBlank(unionApplyBXDDetailDTO.getFileUrl())){
                    Multifile multifile = new Multifile();
@@ -762,7 +764,8 @@
                currentFee =  new BigDecimal(useDays).multiply(price);
            }
            List<ApplyDetail> applyDetails = applyDetailList.stream().filter(m->m.getApplyId().equals(insuranceApply.getId())).collect(Collectors.toList());
            List<ApplyDetail> applyDetails = applyDetailList.stream()
                    .filter(m->Constants.equalsInteger(m.getApplyId(),(insuranceApply.getId()))).collect(Collectors.toList());
            //更新投保申请单
            insuranceApplyJoinMapper.update(null,new UpdateWrapper<InsuranceApply>().lambda()
                    .set(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.WTB_DONE.getKey())
@@ -790,7 +793,7 @@
        unionApplyMapper.update(null,new UpdateWrapper<UnionApply>()
                .lambda()
                .set(UnionApply::getStatus,Constants.UnionApplyStatus.FINISH)
                .set(UnionApply::getStatus,Constants.UnionApplyStatus.FINISH.getKey())
                .set(UnionApply::getEditDate,new Date())
                .set(UnionApply::getEditor,user.getId())
                .set(UnionApply::getStartTime,unionApplyBXDDTO.getStartTime())