From 541c8aa8d08e4bb758adad33167d1e84943cbfec Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 07 五月 2024 13:36:47 +0800
Subject: [PATCH] 提交一把

---
 company/src/components/business/OperaSolutionsDescWindow.vue                              |  247 ++++++++++++++++++++---------------
 company/src/views/business/solutions.vue                                                  |    2 
 server/service/src/main/java/com/doumee/dao/business/model/Solutions.java                 |   20 ++
 server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java |    5 
 server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java   |    6 
 server/service/src/main/java/com/doumee/dao/business/dto/UnionChangeBXDDTO.java           |    3 
 company/src/components/business/OperaSolutionsWindow.vue                                  |   69 +++++++--
 company/src/components/business/OpearaUnionApply.vue                                      |    2 
 server/service/src/main/java/com/doumee/dao/business/model/ApplyChange.java               |    7 
 server/service/src/main/java/com/doumee/dao/business/model/UnionChange.java               |    4 
 server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java |    5 
 server/service/src/main/java/com/doumee/service/business/third/SignService.java           |    1 
 server/platform/src/main/resources/application.yml                                        |    2 
 company/.env.development                                                                  |    3 
 14 files changed, 244 insertions(+), 132 deletions(-)

diff --git a/company/.env.development b/company/.env.development
index ee0e9a4..503ec02 100644
--- a/company/.env.development
+++ b/company/.env.development
@@ -9,6 +9,5 @@
 
 # VUE_APP_API = 'https://dmtest.ahapp.net/yyb_admin_api/'
 
-VUE_APP_API = 'http://192.168.0.190:10030/'
 
-# VUE_APP_API = 'http://localhost:10030/'
+VUE_APP_API = 'http://localhost:10030/'
diff --git a/company/src/components/business/OpearaUnionApply.vue b/company/src/components/business/OpearaUnionApply.vue
index 41a3126..5892db2 100644
--- a/company/src/components/business/OpearaUnionApply.vue
+++ b/company/src/components/business/OpearaUnionApply.vue
@@ -25,7 +25,7 @@
                 <el-form-item label="淇濋櫓鐢熸晥璧锋鏈燂細" prop="startDate" style="margin-left: 40px">
                     <div style="display: flex; flex-direction: column;">
                         <el-date-picker
-                            @change="changeTime"
+                            @change="changeTime" 
                             v-model="time"
                             type="daterange"
                             format="yyyy 骞� MM 鏈� dd 鏃�"
diff --git a/company/src/components/business/OperaSolutionsDescWindow.vue b/company/src/components/business/OperaSolutionsDescWindow.vue
index 8404f01..21a010c 100644
--- a/company/src/components/business/OperaSolutionsDescWindow.vue
+++ b/company/src/components/business/OperaSolutionsDescWindow.vue
@@ -64,6 +64,27 @@
                     <div class="info_list_item_label">鎺ユ敹鏂囦欢閭锛�</div>
                     <div class="info_list_item_val">{{form.email}}</div>
                 </div>
+                <div class="info_list_item">
+                    <div class="info_list_item_label">鎵瑰鐢熸晥锛�</div>
+                    <div class="info_list_item_val">{{form.addValidDays||0}}澶�</div>
+                </div>
+                <div class="info_list_item">
+                    <div class="info_list_item_label">鎵瑰噺鐢熸晥锛�</div>
+                    <div class="info_list_item_val">{{form.delValidDays||0}}澶�</div>
+                </div>
+                <div class="info_list_item">
+                    <div class="info_list_item_label">鎵规敼鏀寔锛�</div>
+                    <div class="info_list_item_val">
+                      <span style="margin-right: 50px">鍔犱繚 <i  :class="form.canAdd ==1?'el-icon-circle-check':'el-icon-circle-close'" :style="form.canAdd ==1?'color:green;font-weight:bold':'color:red;font-weight:bold'"></i></span>
+                      <span  style="margin-right: 50px">鍑忎繚  <i   :class="form.canReduce ==1?'el-icon-circle-check':'el-icon-circle-close'" :style="form.canReduce ==1?'color:green;font-weight:bold':'color:red;font-weight:bold'"></i></span>
+                      <span>鏇存崲娲鹃仯鍗曚綅 <i   :class="form.canChangeUnit ==1?'el-icon-circle-check':'el-icon-circle-close'" :style="form.canChangeUnit ==1?'color:green;font-weight:bold':'color:red;font-weight:bold'"></i></span>
+                    </div>
+                </div>
+                <div class="info_list_item">
+                    <div class="info_list_item_label">鎵规敼浠呮敮鎸佹浛鎹細</div>
+                    <div class="info_list_item_val" v-if="form.delOnlyReplace == 1">鏄�</div>
+                    <div class="info_list_item_val" v-else>鍚�</div>
+                </div>
               <div class="info_list_item" style="width: 100%" v-if="form.type==1">
                 <div class="info_list_item_label">鏂规纭涔︼細</div>
                 <div class="info_list_item_val" ><a v-if="form.fanganFile && form.fanganFile.fileurlFull" style="cursor: pointer;color: #2E68EC" title="鐐瑰嚮鏌ョ湅" @click="openFile(form.fanganFile.fileurlFull)">{{ form.fanganFile.name || '鐐瑰嚮鏌ョ湅' }}</a></div>
@@ -99,114 +120,126 @@
 </template>
 
 <script>
-    import BaseOpera from '@/components/base/BaseOpera'
-    import GlobalWindow from '@/components/common/GlobalWindow'
-    import OperaSolutionsWindow from '@/components/business/OperaSolutionsWindow'
-    import { solutionsId } from '@/api/business/solutions'
-    import {mapState} from "vuex";
-    export default {
-        name: 'OperaSolutionsDescWindow',
-        extends: BaseOpera,
-        components: { GlobalWindow, OperaSolutionsWindow },
-        data () {
-            return {
-                // 琛ㄥ崟鏁版嵁
-                form: {
-                    id: null,
-                    name: '',
-                    companyName: '',
-                    insuranceId: '',
-                    validType: 0,
-                    type: 0,
-                    minAge: '',
-                    maxAge: '',
-                    price: '',
-                    timeUnit: '',
-                    insureCycle: '',
-                    shopName:'',
-                    insureCycleUnit: '',
-                    validTypeNum: '',
-                    email: '',
-                    specialAgreement: '',
-                    specialInfo: '',
-                    ortherInfo: '',
-                    insuranceName: '',
-                    signKeyword: '',
-                    worktypeList: [],
-                    worktypeIdList: []
-                }
-            }
-        },
-        computed: {
-            ...mapState(['userInfo'])
-        },
-        created () {
-            this.config({
-                api: '/business/solutions',
-                'field.id': 'id'
-            })
-        },
-        methods: {
-            open (title, target) {
-                this.title = title
-                this.visible = true
-              this.form = {
-                    id: null,
-                    name: '',
-                    companyName: '',
-                    insuranceId: '',
-                    validType: 0,
-                    type: 0,
-                    minAge: '',
-                    maxAge: '',
-                    price: '',
-                    timeUnit: '',
-                    insureCycle: '',
-                    shopName:'',
-                    insureCycleUnit: '',
-                    validTypeNum: '',
-                    email: '',
-                    specialAgreement: '',
-                    specialInfo: '',
-                    ortherInfo: '',
-                    fanganFile:null,
-                    insuranceName: '',
-                    signKeyword: '',
-                    worktypeList: [],
-                    worktypeIdList: []
-              }
-
-                this.$nextTick(() => {
-                    for (const key in this.form) {
-                        this.form[key] = target[key]
-                    }
-                    this.getDetails()
-                })
-            },
-          openFile (url) {
-            setTimeout(() => {
-              window.open(url)
-            }, 500)
-          },
-            getDetails() {
-                solutionsId(this.form.id)
-                    .then(res => {
-                        for (const key in this.form) {
-                            this.form[key] = res[key]
-                        }
-                        this.form.worktypeIdList = res.worktypeList.map(item => {
-                            return {
-                                worktypeId: item.worktypeId
-                            }
-                        })
-                    })
-            },
-            callback() {
-                this.$emit('success')
-                this.visible = false
-            }
-        }
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import OperaSolutionsWindow from '@/components/business/OperaSolutionsWindow'
+import { solutionsId } from '@/api/business/solutions'
+import { mapState } from 'vuex'
+export default {
+  name: 'OperaSolutionsDescWindow',
+  extends: BaseOpera,
+  components: { GlobalWindow, OperaSolutionsWindow },
+  data () {
+    return {
+      // 琛ㄥ崟鏁版嵁
+      form: {
+        id: null,
+        name: '',
+        companyName: '',
+        insuranceId: '',
+        validType: 0,
+        type: 0,
+        minAge: '',
+        maxAge: '',
+        price: '',
+        timeUnit: '',
+        insureCycle: '',
+        shopName: '',
+        insureCycleUnit: '',
+        validTypeNum: '',
+        email: '',
+        canReduce: 0,
+        canChangeUnit: 0,
+        addValidDays: 0,
+        delValidDays: 0,
+        delOnlyReplace: 0,
+        canAdd: 0,
+        specialAgreement: '',
+        specialInfo: '',
+        ortherInfo: '',
+        insuranceName: '',
+        signKeyword: '',
+        worktypeList: [],
+        worktypeIdList: []
+      }
     }
+  },
+  computed: {
+    ...mapState(['userInfo'])
+  },
+  created () {
+    this.config({
+      api: '/business/solutions',
+      'field.id': 'id'
+    })
+  },
+  methods: {
+    open (title, target) {
+      this.title = title
+      this.visible = true
+      this.form = {
+        id: null,
+        name: '',
+        companyName: '',
+        insuranceId: '',
+        validType: 0,
+        type: 0,
+        minAge: '',
+        maxAge: '',
+        price: '',
+        timeUnit: '',
+        insureCycle: '',
+        shopName: '',
+        insureCycleUnit: '',
+        validTypeNum: '',
+        email: '',
+        specialAgreement: '',
+        specialInfo: '',
+        ortherInfo: '',
+        fanganFile: null,
+        canReduce: 0,
+        canChangeUnit: 0,
+        addValidDays: 0,
+        delValidDays: 0,
+        delOnlyReplace: 0,
+        canAdd: 0,
+        insuranceName: '',
+        signKeyword: '',
+        worktypeList: [],
+        worktypeIdList: []
+      }
+
+      this.$nextTick(() => {
+        for (const key in this.form) {
+          this.form[key] = target[key]
+        }
+        this.getDetails()
+      })
+    },
+    openFile (url) {
+      setTimeout(() => {
+        window.open(url)
+      }, 500)
+    },
+    getDetails () {
+      solutionsId(this.form.id)
+        .then(res => {
+          for (const key in this.form) {
+            this.form[key] = res[key]
+          }
+          this.form.worktypeIdList = res.worktypeList.map(item => {
+            return {
+              worktypeId: item.worktypeId
+            }
+          })
+        })
+    },
+    callback () {
+      this.$emit('success')
+      this.visible = false
+    }
+  }
+}
 </script>
 
 <style lang="scss" scoped>
diff --git a/company/src/components/business/OperaSolutionsWindow.vue b/company/src/components/business/OperaSolutionsWindow.vue
index 61d2a8d..83b62fc 100644
--- a/company/src/components/business/OperaSolutionsWindow.vue
+++ b/company/src/components/business/OperaSolutionsWindow.vue
@@ -79,6 +79,31 @@
                     <el-input style="margin-left: 20px;" type="number" v-model="form.validTypeNum" placeholder="璇疯緭鍏ュ欢杩熷ぉ鏁�" v-if="form.validType === 0"></el-input>
                 </div>
             </el-form-item>
+          <el-form-item label="鏄惁鏀寔" prop="addValidDays">
+            <div style="width: 100%; display: flex; align-items: center;">
+              <el-checkbox :true-label="1" :false-label="0"   v-model="form.canAdd">鍔犱繚</el-checkbox>
+              <el-checkbox :true-label="1" :false-label="0"   v-model="form.canReduce">鍑忎繚</el-checkbox>
+              <el-checkbox :true-label="1" :false-label="0"   v-model="form.canChangeUnit">鏇存崲娲鹃仯鍗曚綅</el-checkbox>
+            </div>
+          </el-form-item>
+          <el-form-item label="鎵瑰噺鍙敮鎸佹浛鎹紙鍑忎繚鎵规敼浠呮敮鎸佹浛鎹汉鍛樺嵆鍑忎繚浜哄憳灏戜簬鍔犱繚浜哄憳锛�" prop="delOnlyReplace">
+            <div style="width: 100%; display: flex; align-items: center;">
+              <el-radio-group v-model="form.delOnlyReplace">
+              <el-radio :label="1">鏄�</el-radio>
+              <el-radio :label="0">鍚�</el-radio>
+              </el-radio-group>
+            </div>
+          </el-form-item>
+          <el-form-item label="鎵瑰鐢熸晥锛堝ぉ鏁帮級" prop="addValidDays">
+            <div style="width: 100%; display: flex; align-items: center;">
+              <el-input style="margin-left: 20px;" type="number" v-model="form.addValidDays" placeholder="璇疯緭鍏ユ壒澧炵敓鏁堟椂闂达紙澶╂暟锛�" ></el-input>
+            </div>
+          </el-form-item>
+          <el-form-item label="鎵瑰噺鐢熸晥锛堝ぉ鏁帮級" prop="delValidDays">
+            <div style="width: 100%; display: flex; align-items: center;">
+              <el-input style="margin-left: 20px;" type="number" v-model="form.delValidDays" placeholder="璇疯緭鍏ユ壒鍑忕敓鏁堟椂闂达紙澶╂暟锛�" ></el-input>
+            </div>
+          </el-form-item>
             <el-form-item label="鎶曚繚绫诲瀷" prop="type">
                 <el-radio-group v-model="form.type" :disabled="form.id!=null">
                     <el-radio :label="0" >鐩翠繚</el-radio>
@@ -160,11 +185,11 @@
 import { all as allWorktype } from '@/api/business/worktype'
 import { solutionsId } from '@/api/business/solutions'
 import { pageAll as shopList } from '@/api/business/company'
-import UploadFile from "@/components/common/UploadFile";
+import UploadFile from '@/components/common/UploadFile'
 export default {
   name: 'OperaSolutionsWindow',
   extends: BaseOpera,
-  components: { GlobalWindow ,UploadFile},
+  components: { GlobalWindow, UploadFile },
   data () {
     var validType = (rule, value, callback) => {
       if (this.form.validType === 0 && !value) {
@@ -196,8 +221,14 @@
         ortherInfo: '',
         signKeyword: '',
         validTypeNum: '',
-        fileList1:[],
-        fanganFile:null,
+        canReduce: 0,
+        canChangeUnit: 0,
+        addValidDays: 0,
+        delValidDays: 0,
+        delOnlyReplace: 0,
+        canAdd: 0,
+        fileList1: [],
+        fanganFile: null,
         worktypeIdList: [{ worktypeId: '' }]
       },
       // 楠岃瘉瑙勫垯
@@ -242,8 +273,8 @@
     })
   },
   methods: {
-    editFanganFile(data){
-      this.form.fanganFile=data
+    editFanganFile (data) {
+      this.form.fanganFile = data
     },
     // 鍒囨崲鍏徃
     getAllWorktype1 () {
@@ -258,9 +289,9 @@
         if (!valid) {
           return
         }
-        if(data.type===1 &&  (!data.fanganFile || !data.fanganFile.fileurl)){
+        if (data.type === 1 && (!data.fanganFile || !data.fanganFile.fileurl)) {
           this.$message.error('璇蜂笂浼犳柟妗堢‘璁や功锛�')
-          return;
+          return
         }
         // 璋冪敤鏂板缓鎺ュ彛
         this.isWorking = true
@@ -293,8 +324,8 @@
         }
       })
     },
-    deleFile(){
-      this.form.fanganFile={}
+    deleFile () {
+      this.form.fanganFile = {}
     },
     open (title, target) {
       this.title = title
@@ -303,8 +334,14 @@
       this.form.timeUnit = ''
       this.form.insureCycleUnit = ''
       this.form.validTypeNum = ''
-      this.form.fanganFile=null
-      this.form.fileList1= new Array();
+      this.form.fanganFile = null
+      this.form.canReduce = 0
+      this.form.canChangeUnit = 0
+      this.form.addValidDays = 0
+      this.form.delOnlyReplace = 0
+      this.form.delValidDays = 0
+      this.form.canAdd = 0
+      this.form.fileList1 = []
       this.form.worktypeIdList = [{ worktypeId: '' }]
       // this.$refs['$upload'].clearFiles()//鍒濆鍖栧鍏ョ粍浠�
       this.allCompany()
@@ -317,8 +354,8 @@
           this.form.timeUnit = ''
           this.form.insureCycleUnit = ''
           this.form.validTypeNum = ''
-          this.form.fanganFile=null
-          this.form.fileList1= new Array();
+          this.form.fanganFile = null
+          this.form.fileList1 = []
           this.form.worktypeIdList = [{ worktypeId: '' }]
           this.form[this.configData['field.id']] = null
         })
@@ -331,8 +368,8 @@
             for (const key in this.form) {
               this.form[key] = res[key]
             }
-            if(this.form.fanganFile && this.form.fanganFile.fileurl){
-              this.form.fileList1= [{url: this.form.fanganFile.fileurlFull, name:this.form.fanganFile.name}];
+            if (this.form.fanganFile && this.form.fanganFile.fileurl) {
+              this.form.fileList1 = [{ url: this.form.fanganFile.fileurlFull, name: this.form.fanganFile.name }]
             }
             console.log(this.form.fileList1)
             this.form.worktypeIdList = res.worktypeList.map(item => {
diff --git a/company/src/views/business/solutions.vue b/company/src/views/business/solutions.vue
index a08f0ca..5a9b40b 100644
--- a/company/src/views/business/solutions.vue
+++ b/company/src/views/business/solutions.vue
@@ -52,6 +52,8 @@
                         <span v-if="row.validType === 1">娆℃湀鐢熸晥</span>
                     </template>
                 </el-table-column>
+<!--                <el-table-column prop="addValidDays"  label="鎵瑰鐢熸晥鏃堕棿" min-width="100px">   </el-table-column>
+                <el-table-column prop="delValidDays"  label="鎵瑰噺鐢熸晥鏃堕棿" min-width="100px">   </el-table-column>-->
                 <el-table-column label="淇濋櫓璐圭敤" min-width="100px">
                     <template slot-scope="{row}">
                         <span>{{row.price}}鍏�/浜�/</span>
diff --git a/server/platform/src/main/resources/application.yml b/server/platform/src/main/resources/application.yml
index 781f762..368c575 100644
--- a/server/platform/src/main/resources/application.yml
+++ b/server/platform/src/main/resources/application.yml
@@ -11,7 +11,7 @@
 #  application:
 #  name: doumeemes
   profiles:
-    active: pro
+    active: dev
 
   # JSON杩斿洖閰嶇疆
   jackson:
diff --git a/server/service/src/main/java/com/doumee/dao/business/dto/UnionChangeBXDDTO.java b/server/service/src/main/java/com/doumee/dao/business/dto/UnionChangeBXDDTO.java
index 98e0d03..98c3fea 100644
--- a/server/service/src/main/java/com/doumee/dao/business/dto/UnionChangeBXDDTO.java
+++ b/server/service/src/main/java/com/doumee/dao/business/dto/UnionChangeBXDDTO.java
@@ -26,6 +26,9 @@
     @ApiModelProperty(value = "鎵瑰崟鏃ユ湡")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date applyDate;
+    @ApiModelProperty(value = "鍑忎繚鎵瑰崟鏃ユ湡")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date delValidTime;
 
     @ApiModelProperty(value = "淇濆崟鏂囦欢鍦板潃")
     private String fileurl;
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 51592ae..c84e8c6 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
@@ -96,11 +96,10 @@
     private String signApplyNo;
     @ApiModelProperty(value = "鏈熸湜淇濋櫓鐢熸晥璧锋湡")
     @ExcelColumn(name="鏈熸湜淇濋櫓鐢熸晥璧锋湡")
-    //鍏ュ弬
-//     @DateTimeFormat(pattern = "yyyy-MM-dd")
-//    //鍑哄弬
-//    @JsonFormat(pattern="yyyy-MM-dd")
     private Date validTime;
+    @ApiModelProperty(value = "瀹為檯鍑忎繚鐢熸晥璧锋湡")
+    @ExcelColumn(name="瀹為檯鍑忎繚鐢熸晥璧锋湡")
+    private Date delValidTime;
 
     @ApiModelProperty(value = "鎵瑰崟鍙�")
     @ExcelColumn(name="鎵瑰崟鍙�")
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/Solutions.java b/server/service/src/main/java/com/doumee/dao/business/model/Solutions.java
index ee6648f..a67f42c 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/Solutions.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/Solutions.java
@@ -105,9 +105,29 @@
     @ExcelColumn(name="鏈�灏忔姇淇濆懆鏈熸椂闂村崟浣�0澶� 1鍗婃湀 2鏈� 3骞�")
     private Integer insureCycleUnit;
 
+    @ApiModelProperty(value = "鏄惁鍙姞淇� 0鍚� 1鏄�", example = "1")
+    @ExcelColumn(name="鏄惁鍙姞淇� 0鍚� 1鏄�")
+    private Integer canAdd;
+
+    @ApiModelProperty(value = "鏄惁鍙噺淇� 0鍚� 1鏄�", example = "1")
+    @ExcelColumn(name="鏄惁鍙噺淇� 0鍚� 1鏄�")
+    private Integer canReduce;
+    @ApiModelProperty(value = "鎵瑰噺鏄惁浠呮敮鎸佹浛鎹� 0鍚� 1鏄�", example = "1")
+    @ExcelColumn(name="鎵瑰噺鏄惁浠呮敮鎸佹浛鎹� 0鍚� 1鏄�")
+    private Integer delOnlyReplace;
+    @ApiModelProperty(value = "鏄惁鍙淳閬e崟浣� 0鍚� 1鏄�", example = "1")
+    @ExcelColumn(name="鏄惁鍙洿鎹㈡淳閬e崟浣� 0鍚� 1鏄�")
+    private Integer canChangeUnit;
+
     @ApiModelProperty(value = "鏈�灏忚璐瑰懆鏈熸椂闂村崟浣� 0澶� 1鍗婃湀 2鏈� 3骞�", example = "1")
     @ExcelColumn(name="鏈�灏忚璐瑰懆鏈熸椂闂村崟浣� 0澶� 1鍗婃湀 2鏈� 3骞�")
     private Integer priceCycleUnit;
+    @ApiModelProperty(value = "鎵瑰鐢熸晥澶╂暟", example = "1")
+    @ExcelColumn(name="鎵瑰鐢熸晥澶╂暟")
+    private Integer addValidDays;
+    @ApiModelProperty(value = "鎵瑰噺鐢熸晥澶╂暟", example = "1")
+    @ExcelColumn(name="鎵瑰噺鐢熸晥澶╂暟")
+    private Integer delValidDays;
 
     @ApiModelProperty(value = "鏄惁鍗曠嫭鎸囨淳宸ョ 0鍚� 1鍥�", example = "1")
     @ExcelColumn(name="鏄惁鍗曠嫭鎸囨淳宸ョ 0鍚� 1鍥�")
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 caeac95..a831310 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
@@ -77,6 +77,10 @@
     @ExcelColumn(name="鏈熸湜淇濋櫓鐢熸晥璧锋湡")
     private Date validTime;
 
+    @ApiModelProperty(value = "瀹為檯鍑忎繚鐢熸晥璧锋湡")
+    @ExcelColumn(name="瀹為檯鍑忎繚鐢熸晥璧锋湡")
+    private Date delValidTime;
+
     @ApiModelProperty(value = "鎵瑰崟鍙�")
     @ExcelColumn(name="鎵瑰崟鍙�")
     private String validCode;
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 77527e1..4681f37 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
@@ -196,6 +196,10 @@
         if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){
             throw  new BusinessException(ResponseStatus.DATA_EMPTY);
         }
+        if(!Constants.equalsInteger(model.getType(),Constants.ONE)&&
+                 param.getDelValidTime() == null ){
+            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
         if(!Constants.equalsInteger(model.getStatus(),Constants.ApplyChangeStatus.SIGNATURE.getKey())){
             throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
         }
@@ -217,6 +221,7 @@
         update.setId(model.getId());
         update.setValidCode(param.getValidCode());
         update.setApplyStartTime(param.getApplyStartTime());
+        update.setDelValidTime(param.getDelValidTime());
         update.setCode(model.getCode());
 
         param.getPidanFile().setIsdeleted(Constants.ZERO);
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java
index 076bb39..84e20a6 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java
@@ -71,7 +71,11 @@
         )>Constants.ZERO){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"淇濋櫓鏂规鍚嶇О宸插瓨鍦�");
         }
-
+        solutions.setCanAdd(Constants.formatIntegerNum(solutions.getCanAdd()));
+        solutions.setCanReduce(Constants.formatIntegerNum(solutions.getCanReduce()));
+        solutions.setCanChangeUnit(Constants.formatIntegerNum(solutions.getCanChangeUnit()));
+        solutions.setAddValidDays(Constants.formatIntegerNum(solutions.getAddValidDays()));
+        solutions.setDelValidDays(Constants.formatIntegerNum(solutions.getDelValidDays()));
         solutions.setIsdeleted(Constants.ZERO);
         solutions.setCreator(user.getId());
         solutions.setCreateDate(new Date());
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 424214c..1b77ec9 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
@@ -628,6 +628,10 @@
         if(Objects.isNull(unionChange)||!Constants.equalsInteger(unionChange.getIsdeleted(),Constants.ZERO)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY);
         }
+        if(!Constants.equalsInteger(unionChange.getType(),Constants.ONE)&&
+                unionChangeBXDDTO.getDelValidTime() == null ){
+            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
         unionChange.setStatus(Constants.formatIntegerNum(unionChange.getStatus()));
         unionChange.setShopId(Constants.formatIntegerNum(unionChange.getShopId()));
         if(!unionChange.getShopId().equals(user.getCompanyId())){
@@ -754,6 +758,7 @@
                 .set(UnionChange::getEditDate,new Date())
                 .set(UnionChange::getEditor,user.getId())
                 .set(UnionChange::getValidTime,unionChangeBXDDTO.getApplyDate())
+                .set(UnionChange::getDelValidTime,unionChangeBXDDTO.getDelValidTime())
                 .set(UnionChange::getApplyStartTime,unionChangeBXDDTO.getApplyDate())
                 .set(UnionChange::getCode,unionChangeBXDDTO.getCode())
                 .eq(UnionChange::getId,unionChangeBXDDTO.getId())
diff --git a/server/service/src/main/java/com/doumee/service/business/third/SignService.java b/server/service/src/main/java/com/doumee/service/business/third/SignService.java
index bb9af3f..466de0f 100644
--- a/server/service/src/main/java/com/doumee/service/business/third/SignService.java
+++ b/server/service/src/main/java/com/doumee/service/business/third/SignService.java
@@ -347,6 +347,7 @@
               return  json.getString("data");
           }
       }catch (Exception e){
+          e.printStackTrace();
 
       }
       return null;

--
Gitblit v1.9.3