From 3e1a5520f6153a66a436109719d553fb0550e41b Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 26 六月 2024 15:35:47 +0800
Subject: [PATCH] 提交一把

---
 server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java |   74 +++++++++
 company/src/api/business/applyChange.js                                                   |    5 
 company/src/components/business/OperaWtbApplyShopWindow.vue                               |    4 
 server/service/src/main/java/com/doumee/service/business/ApplyChangeService.java          |    1 
 server/service/src/main/java/com/doumee/dao/business/model/ApplyChange.java               |   10 +
 company/src/views/enterprise/add_subtract_month.vue                                       |  169 +++++++++++++++++++++
 company/src/views/enterprise/myPolicy.vue                                                 |    4 
 company/src/components/business/OperaApplyChangeMonthWindow.vue                           |  188 +++++++++++++++++++++++
 company/src/views/enterprise/insuranceApply.vue                                           |    9 
 server/company/src/main/java/com/doumee/api/business/ApplyChangeController.java           |    7 
 10 files changed, 465 insertions(+), 6 deletions(-)

diff --git a/company/src/api/business/applyChange.js b/company/src/api/business/applyChange.js
index 0a5bfb0..53f514b 100644
--- a/company/src/api/business/applyChange.js
+++ b/company/src/api/business/applyChange.js
@@ -11,6 +11,11 @@
         trim: true
     })
 }
+export function monthList (data) {
+    return request.post('/business/applyChange/monthList', data, {
+        trim: true
+    })
+}
 export function getChangeMemberListOnlineSignLink (data) {
     return request.post('business/applyChange/getChangeMemberListOnlineSignLink', data, {
         trim: true
diff --git a/company/src/components/business/OperaApplyChangeMonthWindow.vue b/company/src/components/business/OperaApplyChangeMonthWindow.vue
new file mode 100644
index 0000000..4a0d276
--- /dev/null
+++ b/company/src/components/business/OperaApplyChangeMonthWindow.vue
@@ -0,0 +1,188 @@
+<template>
+    <GlobalWindow
+        :title="title"
+        width="100%"
+        :visible.sync="visible"
+        :confirm-working="isWorking"
+        @confirm="confirm"
+    >
+      <TableLayout :permissions="['business:applychange:query']">
+        <!-- 鎼滅储琛ㄥ崟 -->
+        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
+          <el-form-item label="淇濆崟鐘舵��" prop="status">
+            <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨" @change="search">
+              <el-option label="鍏ㄩ儴" value=""></el-option>
+              <el-option label="寰呯缃�" value="0"></el-option>
+              <el-option label="寰呭鏍�" value="1"></el-option>
+              <el-option label="宸茬敓鏁�" value="2"></el-option>
+              <el-option label="鐢宠閫�鍥�" value="3"></el-option>
+              <!--                    3 4 閮芥槸閫�鍥炵敵璇蜂腑-->
+              <el-option label="宸查��鍥�" value="5"></el-option>
+              <el-option label="宸插叧闂�" value="6"></el-option>
+              <el-option label="寰呭嚭鍗�" value="7"></el-option>
+              <el-option label="鎵规敼鐢宠涓�" value="9"></el-option>
+            </el-select>
+          </el-form-item>
+<!--          <el-form-item label="淇濋櫓鏂规" prop="baseSolutionsId">
+            <el-select v-model="searchForm.baseSolutionsId" placeholder="璇烽�夋嫨" @change="search">
+              <el-option
+                  v-for="item in solutionList"
+                  :key="item.baseId"
+                  :label="item.name"
+                  :value="item.baseId">
+              </el-option>
+            </el-select>
+          </el-form-item>-->
+          <el-form-item label="骞翠唤" prop="year">
+            <el-date-picker
+                v-model="searchForm.year"
+                type="year"
+                @change="search"
+                :clearable="false"
+                value-format="yyyy"
+                placeholder="璇烽�夋嫨骞翠唤"
+                format="yyyy"  >
+            </el-date-picker>
+          </el-form-item>
+          <section>
+            <el-button type="primary" @click="search">鎼滅储</el-button>
+            <el-button @click="reset">閲嶇疆</el-button>
+          </section>
+        </el-form>
+        <!-- 琛ㄦ牸鍜屽垎椤� -->
+        <template v-slot:table-wrap>
+          <el-table
+              v-loading="isWorking.search"
+              :data="dataList"
+              stripe
+              show-summary
+              :summary-method="getSummaries"
+          >
+            <el-table-column label="搴忓彿" width="80px">
+              <template slot-scope="scope">
+                <span>{{scope.$index + 1}}</span>
+              </template>
+            </el-table-column>
+            <el-table-column prop="month" label="骞存湀" ></el-table-column>
+            <el-table-column prop="countNum" label="鐢宠鍗曟暟"  ></el-table-column>
+            <el-table-column prop="fee" label="璐圭敤鍙樻洿(鍏�)"  ></el-table-column>
+          </el-table>
+        </template>
+        <!-- 璇︽儏 -->
+      </TableLayout>
+      <template v-slot:footer>
+        <el-button @click="visible=false">杩斿洖</el-button>
+      </template>
+    </GlobalWindow>
+</template>
+<script>
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import { all as solutionAll } from '@/api/business/solutions'
+import { monthList } from '@/api/business/applyChange'
+export default {
+  name: 'OperaApplyChangeMonthWindow',
+  extends: BaseTable,
+  components: { TableLayout ,GlobalWindow},
+  data () {
+    return {
+      // 鎼滅储
+      visible:false,
+      title: '',
+      searchForm: {
+        status: '',
+        type: '0',
+        applyId:null,
+        baseSolutionsId: '',
+        createDateE: '',
+        createDateS: '',
+        year:null
+      },
+      solutionList: [],
+      dataList: []
+    }
+  },
+  created () {
+    this.config({
+      module: '鍔犲噺淇濇崲鍘傜敵璇蜂俊鎭〃',
+      api: '/business/applyChange',
+      'field.id': 'id',
+      'field.main': 'id'
+    })
+  },
+  methods: {
+    open(title,taget){
+      this.searchForm.applyId = taget.id
+      this.title = title + "-" + taget.solutionsName
+      this.visible = true
+      this.searchForm.year = new Date().getFullYear().toString()
+      this.search()
+      this.getAll()
+    },
+    getSummaries (param) {
+      const { columns, data } = param
+      const sums = []
+      columns.forEach((column, index) => {
+        if (index === 0) {
+          sums[index] = '鍚堣'
+        } else if (index == 3) {
+          let price = 0
+          data.forEach(item => {
+            price += item.fee
+          })
+          sums[index] = price.toFixed(2)
+        }
+      })
+      return sums;
+    },
+    getAll () {
+      solutionAll({ dataType: 2 }).then(res => {
+        this.solutionList = res
+      }).catch(err => {
+      })
+    },
+    search () {
+      monthList(this.searchForm).then(res => {
+        this.dataList = res
+      }).catch(err => {
+      })
+    },
+    changeTime (e) {
+      if (e.length > 0) {
+        this.searchForm.createDateS = e[0]
+        this.searchForm.createDateE = e[1]
+      } else {
+        this.searchForm.createDateS = ''
+        this.searchForm.createDateE = ''
+      }
+      this.search()
+    },
+    reset () {
+      this.searchForm.createDateS = ''
+      this.searchForm.createDateE = ''
+      this.searchForm.time = []
+      this.$refs.searchForm.resetFields()
+      this.search()
+    }
+  }
+}
+</script>
+<style scoped>
+/* 鑷畾涔夊悎璁¤鑳屾櫙鑹� */
+::v-deep .el-table .el-table__footer-wrapper tr {
+  background-color: #f2f2f2;
+}
+::v-deep .el-table__footer tr {
+  background-color: #f2f2f2;
+}
+
+/* 鑷畾涔夊悎璁¤鏂囨湰棰滆壊 */
+::v-deep  .el-table .el-table__footer-wrapper tr td {
+  color: red;
+}
+::v-deep  .el-table__footer tr td {
+  color: red;
+  font-weight: bold;
+}
+</style>
diff --git a/company/src/components/business/OperaWtbApplyShopWindow.vue b/company/src/components/business/OperaWtbApplyShopWindow.vue
index 18725a9..9bf5ceb 100644
--- a/company/src/components/business/OperaWtbApplyShopWindow.vue
+++ b/company/src/components/business/OperaWtbApplyShopWindow.vue
@@ -255,13 +255,13 @@
                             :key="Math.random()"
                             prop="startTime"
                             align="center"
-                            label="淇濋櫓鐢熸晥璧锋湡">
+                            :label="getApplyTimeTitle(0,model.solutionType,model)">
                         </el-table-column>
                         <el-table-column
                             :key="Math.random()"
                             prop="endTime"
                             align="center"
-                            label="淇濋櫓鐢熸晥姝㈡湡">
+                            :label="getApplyTimeTitle(1,model.solutionType,model)">
                         </el-table-column>
                         <el-table-column
                             :key="Math.random()"
diff --git a/company/src/views/enterprise/add_subtract_month.vue b/company/src/views/enterprise/add_subtract_month.vue
new file mode 100644
index 0000000..025d755
--- /dev/null
+++ b/company/src/views/enterprise/add_subtract_month.vue
@@ -0,0 +1,169 @@
+<template>
+    <TableLayout :permissions="['business:applychange:query']">
+        <!-- 鎼滅储琛ㄥ崟 -->
+        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
+            <el-form-item label="淇濆崟鐘舵��" prop="status">
+                <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨" @change="search">
+                    <el-option label="鍏ㄩ儴" value=""></el-option>
+                    <el-option label="寰呯缃�" value="0"></el-option>
+                    <el-option label="寰呭鏍�" value="1"></el-option>
+                    <el-option label="宸茬敓鏁�" value="2"></el-option>
+                    <el-option label="鐢宠閫�鍥�" value="3"></el-option>
+<!--                    3 4 閮芥槸閫�鍥炵敵璇蜂腑-->
+                    <el-option label="宸查��鍥�" value="5"></el-option>
+                    <el-option label="宸插叧闂�" value="6"></el-option>
+                    <el-option label="寰呭嚭鍗�" value="7"></el-option>
+                    <el-option label="鎵规敼鐢宠涓�" value="9"></el-option>
+                </el-select>
+            </el-form-item>
+          <el-form-item label="淇濋櫓鏂规" prop="baseSolutionsId">
+            <el-select v-model="searchForm.baseSolutionsId" placeholder="璇烽�夋嫨" @change="search">
+              <el-option
+                  v-for="item in solutionList"
+                  :key="item.baseId"
+                  :label="item.name"
+                  :value="item.baseId">
+              </el-option>
+            </el-select>
+          </el-form-item>
+            <el-form-item label="骞翠唤" prop="year">
+                <el-date-picker
+                    v-model="searchForm.year"
+                    type="year"
+                    @change="search"
+                    :clearable="false"
+                    value-format="yyyy"
+                    placeholder="璇烽�夋嫨骞翠唤"
+                    format="yyyy"  >
+                </el-date-picker>
+            </el-form-item>
+            <section>
+                <el-button type="primary" @click="search">鎼滅储</el-button>
+                <el-button @click="reset">閲嶇疆</el-button>
+            </section>
+        </el-form>
+        <!-- 琛ㄦ牸鍜屽垎椤� -->
+        <template v-slot:table-wrap>
+            <el-table
+                v-loading="isWorking.search"
+                :data="dataList"
+                stripe
+                show-summary
+                :summary-method="getSummaries"
+            >
+                <el-table-column label="搴忓彿" width="80px">
+                    <template slot-scope="scope">
+                        <span>{{scope.$index + 1}}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="month" label="骞存湀" ></el-table-column>
+                <el-table-column prop="countNum" label="鐢宠鍗曟暟"  ></el-table-column>
+                <el-table-column prop="fee" label="璐圭敤鍙樻洿(鍏�)"  ></el-table-column>
+            </el-table>
+        </template>
+        <!-- 璇︽儏 -->
+    </TableLayout>
+</template>
+
+<script>
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import { all as solutionAll } from '@/api/business/solutions'
+import { monthList } from '@/api/business/applyChange'
+export default {
+  name: 'add_subtract',
+  extends: BaseTable,
+  components: { TableLayout },
+  data () {
+    return {
+      // 鎼滅储
+      searchForm: {
+        status: '',
+        type: '0',
+        applyId:null,
+        baseSolutionsId: '',
+        createDateE: '',
+        createDateS: '',
+        year:null
+      },
+      solutionList: [],
+      dataList: []
+    }
+  },
+  created () {
+    this.config({
+      module: '鍔犲噺淇濇崲鍘傜敵璇蜂俊鎭〃',
+      api: '/business/applyChange',
+      'field.id': 'id',
+      'field.main': 'id'
+    })
+    this.searchForm.year = new Date().getFullYear().toString()
+    this.search()
+    this.getAll()
+  },
+  methods: {
+    getSummaries (param) {
+      const { columns, data } = param
+      const sums = []
+      columns.forEach((column, index) => {
+        if (index === 0) {
+          sums[index] = '鍚堣'
+        } else if (index == 3) {
+          let price = 0
+          data.forEach(item => {
+            price += item.fee
+          })
+          sums[index] = price.toFixed(2)
+        }
+      })
+      return sums;
+    },
+    getAll () {
+      solutionAll({ dataType: 2 }).then(res => {
+        this.solutionList = res
+      }).catch(err => {
+      })
+    },
+    search () {
+      monthList(this.searchForm).then(res => {
+        this.dataList = res
+      }).catch(err => {
+      })
+    },
+    changeTime (e) {
+      if (e.length > 0) {
+        this.searchForm.createDateS = e[0]
+        this.searchForm.createDateE = e[1]
+      } else {
+        this.searchForm.createDateS = ''
+        this.searchForm.createDateE = ''
+      }
+      this.search()
+    },
+    reset () {
+      this.searchForm.createDateS = ''
+      this.searchForm.createDateE = ''
+      this.searchForm.time = []
+      this.$refs.searchForm.resetFields()
+      this.search()
+    }
+  }
+}
+</script>
+<style>
+/* 鑷畾涔夊悎璁¤鑳屾櫙鑹� */
+::v-deep .el-table .el-table__footer-wrapper tr {
+  background-color: #f2f2f2;
+}
+::v-deep .el-table__footer tr {
+  background-color: #f2f2f2;
+}
+
+/* 鑷畾涔夊悎璁¤鏂囨湰棰滆壊 */
+::v-deep  .el-table .el-table__footer-wrapper tr td {
+  color: red;
+}
+::v-deep  .el-table__footer tr td {
+  color: red;
+}
+</style>
diff --git a/company/src/views/enterprise/insuranceApply.vue b/company/src/views/enterprise/insuranceApply.vue
index b35060d..c134487 100644
--- a/company/src/views/enterprise/insuranceApply.vue
+++ b/company/src/views/enterprise/insuranceApply.vue
@@ -91,11 +91,12 @@
                 <el-table-column
                     v-if="containPermissions(['business:insuranceapply:update', 'business:insuranceapply:delete'])"
                     label="鎿嶄綔"
-                    min-width="120"
+                    min-width="150"
                     fixed="right"
                 >
                     <template slot-scope="{row}">
-                        <el-button type="text" @click="godetail(row)" v-permissions="['business:insuranceapply:update']">鏌ョ湅璇︽儏</el-button>
+                      <el-button type="text" @click="godetail(row)" v-permissions="['business:insuranceapply:update']">鏌ョ湅璇︽儏</el-button>
+                      <el-button type="text" @click="$refs.OperaApplyChangeMonthWindow.open('鍔犲噺淇濇湀搴﹁垂鐢ㄧ粺璁�',row)" v-permissions="['business:applychange:query']">鍔犲噺淇濊垂鐢�</el-button>
                     </template>
                 </el-table-column>
             </el-table>
@@ -108,6 +109,7 @@
         </template>
         <!--    鏂板鎶曚繚    -->
         <OperaInsuranceApplyAddWindow ref="OperaInsuranceApplyAddWindow" @success="result" />
+        <OperaApplyChangeMonthWindow ref="OperaApplyChangeMonthWindow" @success="handlePageChange" />
         <OperaWtbApplyShopWindow ref="OperaWtbApplyShopWindow" @success="handlePageChange" />
         <!--    鎶曚繚璇︽儏    -->
         <OperaInsuranceApplyDetails ref="OperaInsuranceApplyDetails" @success="handlePageChange" />
@@ -120,12 +122,13 @@
 import OperaInsuranceApplyAddWindow from '@/components/enterprise/OperaInsuranceApplyAddWindow'
 import OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow'
 import OperaWtbApplyShopWindow from '@/components/business/OperaWtbApplyShopWindow'
+import OperaApplyChangeMonthWindow from '@/components/business/OperaApplyChangeMonthWindow'
 
 import { all as solutionAll } from '@/api/business/solutions'
 export default {
   name: 'InsuranceApply',
   extends: BaseTable,
-  components: { TableLayout, Pagination, OperaInsuranceApplyAddWindow, OperaInsuranceApplyDetails,OperaWtbApplyShopWindow },
+  components: { TableLayout, Pagination,OperaApplyChangeMonthWindow, OperaInsuranceApplyAddWindow, OperaInsuranceApplyDetails,OperaWtbApplyShopWindow },
   data () {
     return {
       // 鎼滅储
diff --git a/company/src/views/enterprise/myPolicy.vue b/company/src/views/enterprise/myPolicy.vue
index c268ab0..813efcd 100644
--- a/company/src/views/enterprise/myPolicy.vue
+++ b/company/src/views/enterprise/myPolicy.vue
@@ -127,6 +127,7 @@
                 >
                     <template slot-scope="{row}">
                         <el-button type="text" @click="godetail(row)" v-permissions="['business:insuranceapply:update']">鏌ョ湅璇︽儏</el-button>
+                        <el-button type="text" @click="$refs.OperaApplyChangeMonthWindow.open('鍔犲噺淇濇湀搴﹁垂鐢ㄧ粺璁�',row)" v-permissions="['business:applychange:query']">鍔犲噺淇濊垂鐢�</el-button>
 <!--                        <template v-if="row.statusCollect === 2">-->
 <!--                            <el-button type="text" @click="$refs.additionSubtractionApplication.open('鍔犲噺淇濈敵璇�', { id: row.id })">鍔犲噺淇濈敵璇�</el-button>-->
 <!--                        </template>-->
@@ -148,6 +149,7 @@
         <!--    鍔犲噺淇濈敵璇�    -->
         <additionSubtractionApplication ref="additionSubtractionApplication" @success="handlePageChange" />
         <!--    缁繚寮圭獥    -->
+        <OperaApplyChangeMonthWindow ref="OperaApplyChangeMonthWindow" @success="handlePageChange" />
         <renewalInsurance ref="renewalInsurance" @success="handlePageChange" />
     </TableLayout>
 </template>
@@ -160,6 +162,7 @@
 import additionSubtractionApplication from '@/components/enterprise/additionSubtractionApplication'
 import renewalInsurance from '@/components/enterprise/renewalInsurance'
 import OperaWtbApplyShopWindow from '@/components/business/OperaWtbApplyShopWindow'
+import OperaApplyChangeMonthWindow from '@/components/business/OperaApplyChangeMonthWindow'
 
 import { all as solutionAll } from '@/api/business/solutions'
 import { getCaptcha, closeApplyNotice } from '@/api/business/notices'
@@ -172,6 +175,7 @@
     OperaInsuranceApplyWindow,
     OperaInsuranceApplyDetails,
     renewalInsurance,
+    OperaApplyChangeMonthWindow,
     additionSubtractionApplication,
     OperaWtbApplyShopWindow
   },
diff --git a/server/company/src/main/java/com/doumee/api/business/ApplyChangeController.java b/server/company/src/main/java/com/doumee/api/business/ApplyChangeController.java
index 1d187d8..d48549f 100644
--- a/server/company/src/main/java/com/doumee/api/business/ApplyChangeController.java
+++ b/server/company/src/main/java/com/doumee/api/business/ApplyChangeController.java
@@ -85,6 +85,13 @@
         return ApiResponse.success(applyChangeService.findPageForCompany(pageWrap));
     }
 
+    @ApiOperation("鏌ヨ鏈堝害缁熻鏁版嵁")
+    @PostMapping("/monthList")
+    @RequiresPermissions("business:applychange:query")
+    public ApiResponse<List<ApplyChange>> findPage (@RequestBody ApplyChange pageWrap) {
+        return ApiResponse.success(applyChangeService.monthTotalList(pageWrap));
+    }
+
     @ApiOperation("瀵煎嚭Excel")
     @PostMapping("/exportExcel")
     @RequiresPermissions("business:applychange:exportExcel")
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 c5adcb4..591c63c 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
@@ -230,7 +230,15 @@
     @ApiModelProperty(value = "鍚堝苟鍗曚富閿紙淇濆崟锛�")
     @TableField(exist = false)
     private Integer unionApplyId;
-
+    @ApiModelProperty(value = "骞翠唤")
+    @TableField(exist = false)
+    private Integer year;
+    @ApiModelProperty(value = "缁熻鏉$洰鏁�")
+    @TableField(exist = false)
+    private Integer countNum;
+    @ApiModelProperty(value = "鎻愪氦鏃ユ湡寮�濮� yyyy-MM ")
+    @TableField(exist = false)
+    private String month;
 
     public TaxesInvoicingVO toTaxesInvoicingVO(){
         TaxesInvoicingVO taxesInvoicingVO = new TaxesInvoicingVO();
diff --git a/server/service/src/main/java/com/doumee/service/business/ApplyChangeService.java b/server/service/src/main/java/com/doumee/service/business/ApplyChangeService.java
index 2959b9a..858f5ea 100644
--- a/server/service/src/main/java/com/doumee/service/business/ApplyChangeService.java
+++ b/server/service/src/main/java/com/doumee/service/business/ApplyChangeService.java
@@ -123,6 +123,7 @@
     String getSignLinkChangeUnit(ApplyChange model);
 
     List<ApplyChange> findListForCompany(ApplyChange model);
+    List<ApplyChange> monthTotalList(ApplyChange model);
 
     CountCyclePriceVO getChangeCountCyclePriceVO(ApplyChangeCyclePriceDTO applyChangeCyclePriceDTO);
 
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 ee90ea3..5df7fa5 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
@@ -1754,6 +1754,80 @@
     }
 
     @Override
+    public  List<ApplyChange> monthTotalList(ApplyChange model){
+        if(model.getApplyId() ==null || model.getYear() == null){
+            return  new ArrayList<>();
+        }
+        MPJLambdaWrapper<ApplyChange> queryWrapper = new MPJLambdaWrapper<>();
+        queryWrapper
+                .select("count(t.id)",ApplyChange::getCountNum)
+                .select("sum(t.fee)",ApplyChange::getFee)
+                .select("DATE_FORMAT(t.create_date, '%Y-%m')",ApplyChange::getMonth)
+                .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId)
+                .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
+                .eq(!Objects.isNull(model.getType()),ApplyChange::getType,model.getType())
+                .eq(ApplyChange::getApplyId,model.getApplyId())
+                .eq(!Objects.isNull(model.getStatus())&&!model.getStatus().equals(Constants.ApplyChangeStatus.RETURN_APPLY_UPLOAD.getKey()),ApplyChange::getStatus,model.getStatus())
+                .in(!Objects.isNull(model.getStatus())&&model.getStatus().equals(Constants.ApplyChangeStatus.RETURN_APPLY_UPLOAD.getKey()),
+                        ApplyChange::getStatus,
+                        Constants.ApplyChangeStatus.RETURN_APPLY_UPLOAD.getKey(),
+                        Constants.ApplyChangeStatus.RETURN_APPLY_SIGNATURE.getKey())
+                .eq(!Objects.isNull(model.getSolutionType()),Solutions::getType,model.getSolutionType())
+                .eq(!Objects.isNull(model.getBaseSolutionsId()),Solutions::getBaseId,model.getBaseSolutionsId())
+                .like(StringUtils.isNotBlank(model.getSolutionsName()),Solutions::getName,model.getSolutionsName())
+                .ge( ApplyChange::getCreateDate, model.getYear()+"-01-01 00:00:00" )
+                .lt(ApplyChange::getCreateDate, (model.getYear()+1)+"-01-01 00:00:00")
+                .groupBy("month"  );
+           /*     LoginUserInfo loginUserInfo =(LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+                //浼佷笟浜哄憳鏌ョ湅鏈紒涓氭暟鎹�
+                if(loginUserInfo.getType().equals(Constants.ONE)){
+                    queryWrapper.eq(InsuranceApply::getCompanyId, loginUserInfo.getCompanyId());
+                }else if(loginUserInfo.getType().equals(Constants.TWO)){
+                    //濡傛灉鏄晢鎴锋煡鐪�
+                    if(model.getSolutionType()!=null && model.getSolutionType() ==0){
+                        queryWrapper.exists("select cs.id from company_solution cs where cs.isdeleted=0 and cs.company_id=t1.company_id and cs.shop_id="+loginUserInfo.getCompanyId());
+                    }else if(model.getSolutionType()!=null && model.getSolutionType() ==1){
+                        queryWrapper.eq(Solutions::getShopId,loginUserInfo.getCompanyId());
+                    }else{
+                        queryWrapper.apply("((t2.type=0 and exists(select cs.id from company_solution cs where cs.isdeleted=0 and cs.company_id=t1.company_id and cs.shop_id="+loginUserInfo.getCompanyId()+")) or (" +
+                                "t2.type=1 and t2.shop_id="+loginUserInfo.getCompanyId()+"))") ;
+                    }
+                }else{
+                    if(loginUserInfo.getCompanyIdList()!=null && loginUserInfo.getCompanyIdList().size()>0){
+                        queryWrapper.in(InsuranceApply::getCompanyId, loginUserInfo.getCompanyIdList());
+                    }else{
+                        queryWrapper.eq(InsuranceApply::getCompanyId, -1);
+                    }
+                    queryWrapper.eq(model.getCompanyId()!=null,InsuranceApply::getCompanyId, model.getCompanyId());
+                }*/
+
+                List<ApplyChange> list =applyChangeJoinMapper.selectJoinList(ApplyChange.class,queryWrapper);
+                List<ApplyChange> result = new ArrayList<>();
+                for (int i = 1; i <= 12; i++) {
+                    if(i<10){
+                        result.add(getMonthDayFromList(model.getYear() +"-0"+i,list));
+                    }else{
+                        result.add(getMonthDayFromList(model.getYear() +"-"+i,list));
+                    }
+                }
+                return result;
+
+    }
+
+    private ApplyChange getMonthDayFromList(String s, List<ApplyChange> list) {
+        for(ApplyChange d : list){
+            if(StringUtils.equals(s,d.getMonth())){
+                return d;
+            }
+        }
+        ApplyChange d =  new ApplyChange();
+        d.setMonth(s);
+        d.setFee(new BigDecimal(0));
+        d.setCountNum(0);
+        return d;
+    }
+
+    @Override
     public List<ApplyChange> findListForCompany(ApplyChange model) {
         MPJLambdaWrapper<ApplyChange> queryWrapper = new MPJLambdaWrapper<>();
         queryWrapper

--
Gitblit v1.9.3