From 3c2e49d7bcc91268a75689db400d1f1698c0f8b7 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期日, 04 二月 2024 16:41:31 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 company/src/views/enterprise/entrustedInvoicing.vue                                          |    2 
 server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java    |    4 
 server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java |    5 
 server/service/src/main/java/com/doumee/dao/business/model/Taxes.java                        |    3 
 company/src/components/enterprise/commissionDetails.vue                                      |  325 ++++++++++++++++++++++++++++++++++++++++
 company/src/components/enterprise/directInvoicingApplication.vue                             |    3 
 server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java          |    5 
 company/src/api/business/taxes.js                                                            |    7 
 company/src/components/enterprise/entrustmentHistory.vue                                     |   15 +
 company/src/components/enterprise/entrustedInvoicingApplication.vue                          |   86 ++++++++++
 10 files changed, 439 insertions(+), 16 deletions(-)

diff --git a/company/src/api/business/taxes.js b/company/src/api/business/taxes.js
index 953bfb7..0fc1f00 100644
--- a/company/src/api/business/taxes.js
+++ b/company/src/api/business/taxes.js
@@ -39,3 +39,10 @@
         trim: true
     })
 }
+
+// 鎻愪氦濮旀墭鎶曟姤寮�绁�
+export function entrustInvoicing(data) {
+    return request.post('/business/taxes/entrustInvoicing', data, {
+        trim: true
+    })
+}
diff --git a/company/src/components/enterprise/commissionDetails.vue b/company/src/components/enterprise/commissionDetails.vue
new file mode 100644
index 0000000..551eec0
--- /dev/null
+++ b/company/src/components/enterprise/commissionDetails.vue
@@ -0,0 +1,325 @@
+<template>
+    <GlobalWindow
+        :title="title"
+        width="100%"
+        :visible.sync="visible"
+        :confirm-working="isWorking"
+        @confirm="confirm"
+    >
+        <div class="info">
+            <div class="info_list">
+                <div class="info_list_item">
+                    <div class="info_list_item_label">寮�绁ㄥ悕绉帮細</div>
+                    <div class="info_list_item_val">{{userInfo.company.name}}</div>
+                </div>
+                <div class="info_list_item">
+                    <div class="info_list_item_label">绾崇◣浜鸿瘑鍒彿锛�</div>
+                    <div class="info_list_item_val">{{userInfo.company.code}}</div>
+                </div>
+                <div class="info_list_item">
+                    <div class="info_list_item_label">寮�鎴疯锛�</div>
+                    <div class="info_list_item_val">{{userInfo.company.taxBank}}</div>
+                </div>
+                <div class="info_list_item">
+                    <div class="info_list_item_label">璐﹀彿锛�</div>
+                    <div class="info_list_item_val">
+                        {{userInfo.company.taxAccount}}
+                    </div>
+                </div>
+                <div class="info_list_item" style="width: 100%;">
+                    <div class="info_list_item_label">鍦板潃銆佺數璇濓細</div>
+                    <div class="info_list_item_val">{{userInfo.company.invoiceAddr}} {{userInfo.company.phone}}</div>
+                </div>
+                <div class="info_list_item" style="width: 100%;">
+                    <div class="info_list_item_label">寮�绁ㄩ噾棰濓細</div>
+                    <div class="info_list_item_val" style="color:rgba(249, 86, 1, 0.996078431372549);">{{totalPrice}}</div>
+                </div>
+                <div class="list" style="width: 100%;" v-if="form.type === 0">
+                    <div class="list_label">
+                        鎺ユ敹鏂瑰紡锛氱數瀛愬彂绁�
+                    </div>
+                    <div class="list_val">
+                        <div class="list_val_label">鎺ユ敹鍦板潃锛�</div>
+                        <div class="list_val_info">{{form.addr}}</div>
+                    </div>
+                </div>
+                <div class="list" style="width: 100%;" v-else>
+                    <div class="list_label">
+                        鎺ユ敹鏂瑰紡锛氱焊璐ㄥ彂绁�
+                    </div>
+                    <div class="list_val">
+                        <div class="list_val_label">鎺ユ敹鍦板潃锛�</div>
+                        <div class="list_val_info">{{form.addr}}</div>
+                    </div>
+                </div>
+            </div>
+            <!--      鍔犲噺淇�      -->
+            <el-table
+                :data="list1"
+                border
+                show-summary
+                :summary-method="getSummaries1"
+                style="width: 100%; margin-bottom: 20px;">
+                <el-table-column
+                    label="搴忓彿"
+                    align="center"
+                    width="80">
+                    <template slot-scope="scope">
+                        <span>{{scope.$index + 1}}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column
+                    align="center"
+                    prop="solutionName"
+                    label="淇濋櫓鏂规">
+                </el-table-column>
+                <el-table-column
+                    align="center"
+                    prop="applyCode"
+                    label="淇濆崟鍙�">
+                </el-table-column>
+                <el-table-column
+                    align="center"
+                    label="閲戦">
+                    <template slot-scope="{row}">
+                        <span style="color:rgba(249, 86, 1, 0.996078431372549);">{{row.totalFee}}</span>
+                    </template>
+                </el-table-column>
+            </el-table>
+        </div>
+        <template v-slot:footer>
+            <el-button @click="close">杩斿洖</el-button>
+        </template>
+    </GlobalWindow>
+</template>
+
+<script>
+    import BaseOpera from '@/components/base/BaseOpera'
+    import GlobalWindow from '@/components/common/GlobalWindow'
+    import { getDetail } from '@/api/business/taxes'
+    import { mapState } from 'vuex'
+    export default {
+        name: 'commissionDetails',
+        extends: BaseOpera,
+        components: { GlobalWindow },
+        data () {
+            return {
+                list1: [],
+                list2: [],
+                totalPrice: 0,
+                form: {
+                    id: null,
+                    type: '',
+                    addr: ''
+                }
+            }
+        },
+        created () {
+            this.config({
+                api: '/business/taxes',
+                'field.id': 'id'
+            })
+        },
+        computed: {
+            ...mapState(['userInfo'])
+        },
+        methods: {
+            open (title, target) {
+                this.title = title
+                this.visible = true
+                this.list1 = []
+                this.list2 = []
+                this.$nextTick(() => {
+                    for (const key in this.form) {
+                        this.form[key] = target[key]
+                    }
+                    this.getData()
+                })
+            },
+            close () {
+                this.visible = false
+            },
+            getData() {
+                getDetail(this.form.id)
+                    .then(res => {
+                        let price = 0
+                        this.list1 = res.applyList
+                        this.list2 = res.delTaxList
+                        if (this.list1 && this.list1.length > 0) {
+                            this.list1.forEach(item => {
+                                price += item.totalFee
+                            })
+                        }
+                        if (this.list2 && this.list2.length > 0) {
+                            this.list2.forEach(row => {
+                                price += row.totalFee
+                            })
+                        }
+                        this.totalPrice = price
+                    })
+            },
+            getSummaries1 (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.totalFee
+                        })
+                        sums[index] = price
+                    }
+                })
+                return sums;
+            },
+            getSummaries2 (param) {
+                const { columns, data } = param
+                const sums = []
+                columns.forEach((column, index) => {
+                    if (index === 0) {
+                        sums[index] = '鍚堣'
+                    } else if (index == 5) {
+                        let price = 0
+                        data.forEach(item => {
+                            price += item.totalFee
+                        })
+                        sums[index] = price
+                    }
+                })
+                return sums;
+            }
+        }
+    }
+</script>
+
+<style lang="scss" scoped>
+    ::v-deep .el-table__footer-wrapper tbody td {
+        cursor: pointer;
+        text-align: center;
+        &:nth-child(5) {
+            color:rgba(249, 86, 1, 0.996078431372549);
+        }
+    }
+    .red {
+        color: red;
+    }
+    .info {
+        width: 100%;
+        .info_label {
+            width: 100%;
+            display: flex;
+            align-items: center;
+            justify-content: space-between;
+            margin-bottom: 20px;
+            span {
+                font-size: 14px;
+                font-weight: 500;
+                color: #000000;
+            }
+        }
+        .info_list {
+            width: 100%;
+            display: flex;
+            align-items: left;
+            flex-wrap: wrap;
+            .list::v-deep {
+                width: 100%;
+                display: flex;
+                align-items: center;
+                justify-content: space-between;
+                margin-bottom: 15px;
+                .el-radio__label {
+                    color: black;
+                    font-size: 14px;
+                }
+                .list_label {
+                    color: black;
+                    font-size: 14px;
+                    margin-right: 20px;
+                }
+                .list_val {
+                    flex: 1;
+                    display: flex;
+                    align-items: center;
+                    .list_val_label {
+                        font-size: 14px;
+                        color: black;
+                        flex-shrink: 0;
+                        margin-right: 15px;
+                    }
+                    .list_val_info {
+                        flex: 1;
+                        font-size: 14px;
+                        color: black;
+                    }
+                }
+            }
+            .info_list_item {
+                width: 50%;
+                display: flex;
+                align-items: start;
+                font-size: 14px;
+                margin-bottom: 20px;
+                .info_list_item_label {
+                    width: 150px;
+                    flex-shrink: 0;
+                }
+                .info_list_item_val {
+                    flex: 1;
+                    display: flex;
+                    align-items: center;
+                    .image {
+                        width: 100px;
+                        height: 100px;
+                        display: flex;
+                        align-items: center;
+                        justify-content: center;
+                        overflow: hidden;
+                        img {
+                            width: 100%;
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    .form {
+        width: 100%;
+        display: flex;
+        flex-direction: column;
+        .form_item {
+            width: 100%;
+            display: flex;
+            align-items: center;
+            margin-bottom: 20px;
+            &:last-child {
+                margin-bottom: 0 !important;
+            }
+            .form_item_label {
+                width: 100px;
+                flex-shrink: 0;
+                font-size: 14px;
+                color: black;
+            }
+            .form_item_val {
+                flex: 1;
+                min-height: 35px;
+                display: flex;
+                align-items: center;
+                input {
+                    width: 100%;
+                    height: 100%;
+                    font-size: 14px;
+                    color: black;
+                    padding: 5px 10px;
+                    outline: none;
+                    box-sizing: border-box;
+                    border: 1px solid #ececec;
+                }
+            }
+        }
+    }
+</style>
diff --git a/company/src/components/enterprise/directInvoicingApplication.vue b/company/src/components/enterprise/directInvoicingApplication.vue
index f5dbcc1..9ece041 100644
--- a/company/src/components/enterprise/directInvoicingApplication.vue
+++ b/company/src/components/enterprise/directInvoicingApplication.vue
@@ -188,6 +188,9 @@
             open (title, target) {
                 this.title = title
                 this.visible = true
+                this.type = '0'
+                this.val = ''
+                this.val1 = ''
                 this.list1 = []
                 this.list2 = []
                 this.$nextTick(() => {
diff --git a/company/src/components/enterprise/entrustedInvoicingApplication.vue b/company/src/components/enterprise/entrustedInvoicingApplication.vue
index 1406ffc..95a98d1 100644
--- a/company/src/components/enterprise/entrustedInvoicingApplication.vue
+++ b/company/src/components/enterprise/entrustedInvoicingApplication.vue
@@ -34,10 +34,19 @@
                     <div class="info_list_item_label">寮�绁ㄩ噾棰濓細</div>
                     <div class="info_list_item_val" style="color:rgba(249, 86, 1, 0.996078431372549);">{{total}}</div>
                 </div>
-                <div class="info_list_item" style="width: 100%;">
-                    <div class="info_list_item_label">鎺ユ敹鏂瑰紡锛�</div>
-                    <div class="info_list_item_val">鐢靛瓙鍙戠エ</div>
-<!--                    <div v-if="model.type === 1" class="info_list_item_val">绾歌川鍙戠エ</div>-->
+                <div class="list" style="width: 100%;">
+                    <el-radio v-model="type" label="0">鐢靛瓙鍙戠エ</el-radio>
+                    <div class="list_val">
+                        <div class="list_val_label">鎺ユ敹鍦板潃锛�</div>
+                        <el-input v-model="val" :disabled="type === '1'" placeholder="111222333@qq.com"></el-input>
+                    </div>
+                </div>
+                <div class="list" style="width: 100%;">
+                    <el-radio v-model="type" label="1">绾歌川鍙戠エ</el-radio>
+                    <div class="list_val">
+                        <div class="list_val_label">鎺ユ敹鍦板潃锛�</div>
+                        <el-input v-model="val1" :disabled="type === '0'" placeholder="瀹夊窘鐪佸悎鑲ュ競缁忔祹鎶�鏈紑鍙戝尯鑾茶姳璺互涓溿�佺煶闂ㄨ矾浠ュ崡鑾茶姳璺�1锛�     0551-63450845"></el-input>
+                    </div>
                 </div>
             </div>
             <el-table
@@ -79,6 +88,7 @@
 <script>
     import BaseOpera from '@/components/base/BaseOpera'
     import GlobalWindow from '@/components/common/GlobalWindow'
+    import { entrustInvoicing } from '@/api/business/taxes'
     import { mapState } from 'vuex'
     export default {
         name: 'entrustedInvoicingApplication',
@@ -91,6 +101,9 @@
                     backInfo:'',
                     list: []
                 },
+                val: '',
+                val1: '',
+                type: '0',
                 rules: {
                     backInfo: [
                         { required: true, message: '璇疯緭鍏ラ��鍥炶鏄�' }
@@ -99,11 +112,18 @@
             }
         },
         created () {
-            console.log(this.userInfo)
             this.config({
                 api: '/business/taxes',
                 'field.id': 'id'
             })
+        },
+        watch: {
+            type: {
+                handler(news) {
+                    this.val = ''
+                    this.val1 = ''
+                }
+            }
         },
         computed: {
             ...mapState(['userInfo']),
@@ -118,11 +138,41 @@
         methods: {
             open (title, target) {
                 this.title = title
+                this.type = '0'
+                this.val = ''
+                this.val1 = ''
                 this.visible = true
                 this.$nextTick(() => {
                     for (const key in this.form) {
                         this.form[key] = target[key]
                     }
+                })
+            },
+            confirm () {
+                if (!this.val && !this.val1) {
+                    this.$message.warning('璇疯緭鍏ユ帴鏀跺湴鍧�')
+                    return
+                }
+                this.isWorking = true
+                entrustInvoicing({
+                    address: this.val || this.val1,
+                    invoicingMoney: this.total,
+                    taxDetialList: this.form.list.map(item => {
+                        return {
+                            insuranceApplyId: item.id,
+                            fee: item.totalPrice,
+                            applyCode: item.code
+                        }
+                    }),
+                    type: this.type
+                }).then(res => {
+                    this.visible = false
+                    this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
+                    this.$emit('success')
+                }).catch(e => {
+                    this.$tip.apiFailed(e)
+                }).finally(() => {
+                    this.isWorking = false
                 })
             },
             getSummaries (param) {
@@ -131,7 +181,8 @@
                 columns.forEach((column, index) => {
                     if (index === 0) {
                         sums[index] = '鍚堣'
-                    } else if (index == 4) {
+                        return
+                    } else if (index == 3) {
                         let price = 0
                         data.forEach(item => {
                             price += item.totalPrice
@@ -139,6 +190,7 @@
                         sums[index] = price
                     }
                 })
+                return sums;
             }
         }
     }
@@ -184,6 +236,28 @@
             display: flex;
             align-items: left;
             flex-wrap: wrap;
+            .list::v-deep {
+                width: 100%;
+                display: flex;
+                align-items: center;
+                justify-content: space-between;
+                margin-bottom: 15px;
+                .el-radio__label {
+                    color: black;
+                    font-size: 14px;
+                }
+                .list_val {
+                    flex: 1;
+                    display: flex;
+                    align-items: center;
+                    .list_val_label {
+                        font-size: 14px;
+                        color: black;
+                        flex-shrink: 0;
+                        margin-right: 15px;
+                    }
+                }
+            }
             .info_list_item {
                 width: 50%;
                 display: flex;
diff --git a/company/src/components/enterprise/entrustmentHistory.vue b/company/src/components/enterprise/entrustmentHistory.vue
index 50c2ca9..7861835 100644
--- a/company/src/components/enterprise/entrustmentHistory.vue
+++ b/company/src/components/enterprise/entrustmentHistory.vue
@@ -64,6 +64,7 @@
             <el-button @click="close">杩斿洖</el-button>
         </template>
         <directInsuranceDetails ref="directInsuranceDetails" />
+        <commissionDetails ref="commissionDetails" />
     </GlobalWindow>
 </template>
 
@@ -72,16 +73,18 @@
     import GlobalWindow from '@/components/common/GlobalWindow'
     import { list } from '@/api/business/taxes'
     import directInsuranceDetails from '@/components/enterprise/directInsuranceDetails'
+    import commissionDetails from '@/components/enterprise/commissionDetails'
     export default {
         name: 'entrustmentHistory',
         extends: BaseOpera,
-        components: { GlobalWindow, directInsuranceDetails },
+        components: { GlobalWindow, directInsuranceDetails, commissionDetails },
         data () {
             return {
                 form: {
                     id: null,
                     solutionsName: '',
-                    code: ''
+                    code: '',
+                    determine: ''
                 },
                 list: []
             }
@@ -116,10 +119,14 @@
                 } else {
                     info = '寰呭鐞�'
                 }
-                this.$refs.directInsuranceDetails.open(`寮�绁ㄨ鎯咃紙${info}锛塦, row)
+                if (this.form.determine === 1) {
+                    this.$refs.commissionDetails.open(`寮�绁ㄨ鎯咃紙${info}锛塦, row)
+                } else {
+                    this.$refs.directInsuranceDetails.open(`寮�绁ㄨ鎯咃紙${info}锛塦, row)
+                }
             },
             getList() {
-                list({ insuranceApplyId: this.form.id })
+                list({ applyId: this.form.id })
                     .then(res => {
                         this.list = res
                     })
diff --git a/company/src/views/enterprise/entrustedInvoicing.vue b/company/src/views/enterprise/entrustedInvoicing.vue
index 4298144..988a7f2 100644
--- a/company/src/views/enterprise/entrustedInvoicing.vue
+++ b/company/src/views/enterprise/entrustedInvoicing.vue
@@ -41,7 +41,7 @@
                 <el-table-column prop="endTime" label="鎶曚繚澶辨晥鏃ユ湡"></el-table-column>
                 <el-table-column label="鎿嶄綔" min-width="180px">
                     <template slot-scope="{row}">
-                        <el-button type="text" @click="$refs.entrustmentHistory.open('寮�绁ㄥ巻鍙�', row)">寮�绁ㄥ巻鍙�</el-button>
+                        <el-button type="text" @click="$refs.entrustmentHistory.open('寮�绁ㄥ巻鍙�', {...row, determine: 1})">寮�绁ㄥ巻鍙�</el-button>
                     </template>
                 </el-table-column>
             </el-table>
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/Taxes.java b/server/service/src/main/java/com/doumee/dao/business/model/Taxes.java
index aeabdaa..5065cf0 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/Taxes.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/Taxes.java
@@ -176,6 +176,9 @@
     @TableField(exist = false)
     List<TaxDetial> delTaxList ;//
 
+    @ApiModelProperty(value = "淇濆崟涓婚敭 - 鏌ヨ淇濆崟鐨勫紑绁ㄥ巻鍙茶褰�")
+    @TableField(exist = false)
+    private Integer applyId;
 
 
     public TaxesInvoicingVO getTaxesInvoicingVO(){
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 1eaf8e0..e2cfd75 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
@@ -640,7 +640,7 @@
 
         Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_COMPANY_COMMIT;
         String info =applyLogType.getInfo();
-//        info = info.replace("${param}", update.getCheckInfo());
+        info = info.replace("${param}", "");
         ApplyLog log = new ApplyLog(applyChange,applyLogType.getName(),info,applyChange.getId(),applyLogType.getKey(), null, null);
         applyLogMapper.insert(log);
         
@@ -721,7 +721,7 @@
 
         Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_UPLOAD_AGAIN;
         String info =applyLogType.getInfo();
-//        info = info.replace("${param}", update.getCheckInfo());
+        info = info.replace("${param}", "");
         ApplyLog log = new ApplyLog(applyChange,applyLogType.getName(),info,applyChange.getId(),applyLogType.getKey(), null, null);
         applyLogMapper.insert(log);
 
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 4e3fc27..a023f78 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
@@ -485,8 +485,9 @@
         }
         //鍒犻櫎鍏朵粬寰呭姙
         noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId()));
-        Notices notices = new Notices(noticeObjectType,Constants.ONE,model.getId(),model.getSolutionsName(),
+        Notices notices = new Notices(noticeObjectType,Constants.ZERO,model.getId(),model.getSolutionsName(),
                 model.getCompanyId(), Constants.NoticeType.TWO);
+        notices.setParam1(model.getApplyId().toString());
         noticesMapper.insert(notices);
 
         Multifile f = new Multifile();
@@ -566,6 +567,7 @@
                 .selectAs(Solutions::getName,InsuranceApply::getSolutionsName)
                 .selectAs(Solutions::getEmail,InsuranceApply::getSolutionEmail)
                 .selectAs(Company::getName,InsuranceApply::getCompanyName)
+                .selectAs(InsuranceApply::getCompanyId,ApplyChange::getCompanyId)
                 .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId)
                 .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
                 .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
@@ -624,6 +626,7 @@
                             .selectAs(Solutions::getName,InsuranceApply::getSolutionsName)
                             .selectAs(Solutions::getEmail,InsuranceApply::getSolutionEmail)
                             .selectAs(Company::getName,InsuranceApply::getCompanyName)
+                            .selectAs(InsuranceApply::getCompanyId,ApplyChange::getCompanyId)
                             .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId)
                             .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
                             .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java
index a3dee36..a980821 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java
@@ -393,6 +393,7 @@
             queryWrapper.le(queryModel.getEndDate() != null,Taxes::getCreateDate,  (queryModel.getEndDate()));
             queryWrapper.eq(!Objects.isNull(queryModel.getInsuranceApplyId()),Taxes::getInsuranceApplyId,queryModel.getInsuranceApplyId());
             queryWrapper.eq(!Objects.isNull(queryModel.getStatus()),Taxes::getStatus,queryModel.getStatus());
+            queryWrapper.exists(!Objects.isNull(queryModel.getApplyId())," select 1 from tax_detial td where td.insurance_apply_id = "+queryModel.getApplyId()+" and t.id = td.tax_id ");
         }
         queryWrapper.orderByAsc(Taxes::getCreateDate);
 
@@ -417,7 +418,7 @@
             || Objects.isNull(entrustInvoicingDTO.getInvoicingMoney())
             || Objects.isNull(entrustInvoicingDTO.getType())
             || Objects.isNull(entrustInvoicingDTO.getTaxDetialList())
-            || StringUtils.isNotBlank(entrustInvoicingDTO.getAddress())
+            || StringUtils.isBlank(entrustInvoicingDTO.getAddress())
         ){
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
@@ -455,7 +456,7 @@
             //鏌ヨ姣忎釜淇濆崟涓嬪彲浠ユ姇淇濈殑閲戦
             InsuranceApply insuranceApply = insuranceApplyJoinMapper.selectJoinOne(InsuranceApply.class,new MPJLambdaWrapper<InsuranceApply>()
                     .selectAll(InsuranceApply.class)
-                    .select(" ( select sum(td.fee) from taxes ts inner join tax_detial td on ts.TAX_ID = ts.id  where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id ) as taxesMoney ")
+                    .select(" ifnull(( select sum(td.fee) from taxes ts inner join tax_detial td on td.TAX_ID = ts.id  where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id ),0) as taxesMoney ")
                     .eq(InsuranceApply::getId,taxDetial.getInsuranceApplyId())
             );
             if(Objects.isNull(insuranceApply)){

--
Gitblit v1.9.3