From a9ca0823ab8f33ca85abebcf6ec4a8da235adb49 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期二, 30 一月 2024 14:36:49 +0800 Subject: [PATCH] 开发业务接口 --- company/src/api/business/dispatchUnit.js | 7 company/src/components/business/dispatchUnitReviewDetails.vue | 4 server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java | 5 company/src/views/business/taxes.vue | 32 + company/src/components/business/OperaInsuranceApplyCheckWindow.vue | 18 + server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java | 8 company/src/views/business/dispatchUnitReview.vue | 71 ++-- company/src/components/business/dispatchReviewCheck.vue | 151 ++++++++++ company/src/views/business/company.vue | 2 company/src/components/business/dispatchReview.vue | 132 ++++++--- server/platform/src/main/java/com/doumee/api/business/DispatchUnitController.java | 2 server/service/src/main/java/com/doumee/core/utils/Date.java | 3 server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java | 99 ++++-- company/src/components/business/dispatchUnitDetailsPlat.vue | 285 ++++++++++++++++++++ server/service/src/main/java/com/doumee/dao/business/model/DuLog.java | 3 15 files changed, 699 insertions(+), 123 deletions(-) diff --git a/company/src/api/business/dispatchUnit.js b/company/src/api/business/dispatchUnit.js index 4c74a05..bba7319 100644 --- a/company/src/api/business/dispatchUnit.js +++ b/company/src/api/business/dispatchUnit.js @@ -21,7 +21,12 @@ export function getById (id) { return request.get(`/business/dispatchUnit/${id}`) } - +export function check (data) { + return request.post('/business/dispatchUnit/check', data) +} +export function checkWorktype (data) { + return request.post('/business/dispatchUnit/checkWorktype', data) +} // 娣诲姞宸ョ export function createSolution (data) { return request.post('/business/dispatchUnit/createSolution', data) diff --git a/company/src/components/business/OperaInsuranceApplyCheckWindow.vue b/company/src/components/business/OperaInsuranceApplyCheckWindow.vue index 2f22c03..82a670f 100644 --- a/company/src/components/business/OperaInsuranceApplyCheckWindow.vue +++ b/company/src/components/business/OperaInsuranceApplyCheckWindow.vue @@ -172,6 +172,24 @@ methods: { open(title,target,flag){ this.visible=true + this.model={} + this.form= { + id: null, + backCheckInfo:'', + dealBackInfo:'', + editCheckInfo:'', + editDate: '', + editCode: '', + startTime:null, + code:null, + toubaodanFile:null, + baoxianFile:null, + editBaoxianFile:null, + fileList: [], + fileList1: [], + fileList2: [], + selectRadio:0 + }, this.model=target this.form.startTime=this.model.startTime this.title=title diff --git a/company/src/components/business/dispatchReview.vue b/company/src/components/business/dispatchReview.vue index 9d1ce17..6a3dfad 100644 --- a/company/src/components/business/dispatchReview.vue +++ b/company/src/components/business/dispatchReview.vue @@ -1,54 +1,57 @@ <template> <GlobalWindow :title="title" - width="50%" + width="100%" :visible.sync="visible" :confirm-working="isWorking" > - <div class="box"> - <div class="box_label">淇濋櫓鏂规锛氬钩瀹変繚闄╅泧涓昏矗浠婚櫓B鐗�</div> + <!-- 椹冲洖閫�鍥炵敵璇� --> + <div class="form"> + <div class="form_item"> + <div class="form_item_label"><span>*</span>瀹℃牳璇存槑锛�</div> + <div class="form_item_val"> + <el-input type="textarea" v-model="form.checkInfo" :rows="2" placeholder="璇疯緭鍏�"></el-input> + </div> + </div> + </div> + + <div class="box" v-for="(item, index) in duSolutionList" :key="index"> + <div class="box_label">淇濋櫓鏂规锛歿{item.solutionName}}</div> <el-table - :data="tableData" + v-if="item.duWorktypeList && item.duWorktypeList.length>0" + :data="item.duWorktypeList" border style="width: 100%"> - <el-table-column - prop="date" - label="鏃ユ湡"> - </el-table-column> - <el-table-column - prop="name" - label="濮撳悕"> - </el-table-column> - <el-table-column - prop="address" - label="鍦板潃"> - </el-table-column> + <el-table-column label="搴忓彿" width="80px"> + <template slot-scope="scope"> + <span>{{scope.$index + 1}}</span> + </template> + </el-table-column> + <el-table-column + prop="workTypeName" + label="鎵�灞炲伐绉�"> + </el-table-column> + <el-table-column + prop="name" + label="鎿嶄綔瑙嗛"> + <template slot-scope="{row}"> + <video loop controls width="150px" height="150px" :src="row.videoUrlFull"></video> + </template> + </el-table-column> + <el-table-column + label="鐘舵��"> + <template slot-scope="{row}"> + <span v-if="row.status === 0">寰呭鏍�</span> + <span v-if="row.status === 1">瀹℃牳閫氳繃</span> + <span v-if="row.status === 2">瀹℃牳涓嶉�氳繃</span> + </template> + </el-table-column> </el-table> - </div> - <!-- 椹冲洖閫�鍥炵敵璇� --> - <el-dialog - title="瀹℃牳纭" - :visible.sync="visible5" - :show-close="false" - :close-on-click-modal="false" - width="30%" - center> - <div class="form"> - <div class="form_item"> - <div class="form_item_label"><span>*</span>瀹℃牳璇存槑锛�</div> - <div class="form_item_val"> - <el-input type="textarea" :rows="2" placeholder="璇疯緭鍏�"></el-input> - </div> - </div> - </div> - <span slot="footer" class="dialog-footer"> - <el-button @click="visible5 = false">鍙� 娑�</el-button> - <el-button type="primary" @click="visible5 = false">纭� 瀹�</el-button> - </span> - </el-dialog> + </div> <template v-slot:footer> - <el-button type="primary" @click="visible5 = true">瀹℃牳閫氳繃</el-button> - <el-button @click="visible5 = true">瀹℃牳閫�鍥�</el-button> + <el-button type="primary" @click="doSubmit(1)">瀹℃牳閫氳繃</el-button> + <el-button type="danger" @click="doSubmit(2)">瀹℃牳閫�鍥�</el-button> + <el-button @click="visible=false">鍙栨秷</el-button> </template> </GlobalWindow> </template> @@ -56,6 +59,7 @@ <script> import BaseOpera from '@/components/base/BaseOpera' import GlobalWindow from '@/components/common/GlobalWindow' + import {checkWorktype} from "@/api/business/dispatchUnit"; export default { name: 'dispatchReview', extends: BaseOpera, @@ -64,9 +68,10 @@ return { // 琛ㄥ崟鏁版嵁 form: { - id: null, - editDate: '' + checkInfo:'', + duSolutionList:[] }, + duSolutionList:[], // 楠岃瘉瑙勫垯 rules: { }, @@ -81,6 +86,44 @@ }) }, methods: { + open(title, target){ + this.title=title + this.visible=true + this.form ={} + this.form = target; + this.duSolutionList=[] + var duSolutionList = this.form.duSolutionList; + duSolutionList.forEach(item => { + var worktyps = item.duWorktypeList; + var flag = 0; + var tempworktyps = new Array(); + worktyps.forEach(item1 => { + if(item1.status == null || item1.status == 0){ + //濡傛灉鏄緟瀹℃牳宸ョ + flag = 1; + tempworktyps.push(item1); + } + if(flag ==1){ + this.duSolutionList.push({duWorktypeList:tempworktyps,solutionName:item.solutionName}) + } + }) + }) + + console.log(this.form) + }, + doSubmit(type){ + this.$dialog.messageConfirm('纭杩涜璇ユ搷浣滃悧锛�') + .then(() => { + this.isWorking = true + checkWorktype({id:this.form.id,checkInfo:this.form.checkInfo,worktypeStatus:type}) + .then(response => { + this.visible = false + this.$emit('success') + }).catch(err => { + this.$tip.apiFailed(err) + }) + }) + } } } @@ -101,6 +144,7 @@ display: flex; align-items: center; flex-direction: column; + margin-bottom: 50px; .form_span { width: 100%; display: flex; @@ -122,13 +166,13 @@ width: 100%; display: flex; align-items: center; - margin-bottom: 20px; + margin-bottom: 50px; &:last-child { margin: 0 !important; } .form_item_label { flex-shrink: 0; - width: 170px; + //width: 170px; color: black; font-size: 14px; span { diff --git a/company/src/components/business/dispatchReviewCheck.vue b/company/src/components/business/dispatchReviewCheck.vue new file mode 100644 index 0000000..b1051c9 --- /dev/null +++ b/company/src/components/business/dispatchReviewCheck.vue @@ -0,0 +1,151 @@ +<template> + <GlobalWindow + :title="title" + width="50%" + :visible.sync="visible" + :confirm-working="isWorking" + > + <div class="form"> + <div class="form_item"> + <div class="form_item_label"><span>*</span>瀹℃牳璇存槑锛�</div> + <div class="form_item_val"> + <el-input type="textarea" v-model="form.checkInfo" :rows="2" placeholder="璇疯緭鍏�"></el-input> + </div> + </div> + </div> + + <template v-slot:footer> + <el-button type="primary" @click="doSubmit(1)">瀹℃牳閫氳繃</el-button> + <el-button type="danger" @click="doSubmit(2)">瀹℃牳閫�鍥�</el-button> + <el-button @click="visible=false">鍙栨秷</el-button> + </template> + </GlobalWindow> +</template> + +<script> + import BaseOpera from '@/components/base/BaseOpera' + import GlobalWindow from '@/components/common/GlobalWindow' + import {check} from "@/api/business/dispatchUnit"; + export default { + name: 'dispatchReviewCheck', + extends: BaseOpera, + components: { GlobalWindow }, + data () { + return { + // 琛ㄥ崟鏁版嵁 + form: { + id: null, + checkInfo: '' + }, + // 楠岃瘉瑙勫垯 + rules: { + }, + tableData: [], + visible5: false + } + }, + created () { + this.config({ + api: '/business/insuranceApply', + 'field.id': 'id' + }) + }, + methods: { + open(title,target){ + this.form.id = null + this.title=title + this.visible=true + this.form.id=target.id + }, + doSubmit(type){ + this.$dialog.messageConfirm('纭杩涜璇ユ搷浣滃悧锛�') + .then(() => { + this.isWorking = true + check({id:this.form.id,checkInfo:this.form.checkInfo,unitStatus:type}) + .then(response => { + this.visible = false + this.$emit('success') + }).catch(err => { + this.$tip.apiFailed(err) + }) + }) + } + } + } +</script> + +<style lang="scss" scoped> + .box { + width: 100%; + .box_label { + width: 100%; + color: black; + font-size: 14px; + margin-bottom: 15px; + } + } + .form { + width: 100%; + display: flex; + align-items: center; + flex-direction: column; + .form_span { + width: 100%; + display: flex; + align-items: start; + flex-direction: column; + margin-bottom: 20px; + span { + font-size: 14px; + &:nth-child(1) { + color: black; + margin-bottom: 5px; + } + &:nth-child(2) { + color: #8c939d; + } + } + } + .form_item { + width: 100%; + display: flex; + align-items: center; + margin-bottom: 20px; + &:last-child { + margin: 0 !important; + } + .form_item_label { + flex-shrink: 0; + width: 170px; + color: black; + font-size: 14px; + span { + color: red; + font-size: 14px; + } + } + .form_item_val { + flex: 1; + /*height: 40px;*/ + margin-left: 20px; + textarea { + width: 100%; + height: 70px; + border: 1px solid #cbcbcb; + padding: 10px; + outline: none; + box-sizing: border-box; + } + input { + width: 100%; + height: 40px; + outline: none; + border-radius: 5px; + border: 1px solid #cbcbcb; + padding: 0 20px; + box-sizing: border-box; + } + } + } + } +</style> diff --git a/company/src/components/business/dispatchUnitDetailsPlat.vue b/company/src/components/business/dispatchUnitDetailsPlat.vue new file mode 100644 index 0000000..afbdb8a --- /dev/null +++ b/company/src/components/business/dispatchUnitDetailsPlat.vue @@ -0,0 +1,285 @@ +<template> + <GlobalWindow + :title="title" + width="100%" + :visible.sync="visible" + :confirm-working="isWorking" + @confirm="confirm" + > + <div class="info"> + <div class="info_head"> + <span>鎵�灞炰紒涓氾細{{ form.companyName }} </span> + <el-button type="primary" v-if=" form.unitStatus == 0" @click="$refs.dispatchReviewCheck.open('瀹℃牳娲鹃仯鍗曚綅',form)" >瀹℃牳</el-button> + <el-button type="primary" v-else-if="form.unitStatus == 1 &&( form.worktypeStatus == null || form.worktypeStatus == 0)" @click="$refs.dispatchReview.open('瀹℃牳宸ョ',form)">瀹℃牳宸ョ</el-button> + </div> + <div class="info_list"> + <div class="info_list_item"> + <div class="info_list_item_label">娲鹃仯鍗曚綅锛�</div> + <div class="info_list_item_val">{{form.name}}</div> + </div> + <div class="info_list_item"> + <div class="info_list_item_label">娲鹃仯鍗曚綅淇$敤浠g爜锛�</div> + <div class="info_list_item_val">{{form.code}}</div> + </div> + <div class="info_list_item"> + <div class="info_list_item_label">娲鹃仯鍗曚綅鐘舵�侊細</div> + <div class="info_list_item_val" style="color:#2E68EC;" v-if="form.unitStatus === 0">寰呭鏍�</div> + <div class="info_list_item_val" v-if="form.unitStatus === 1"> + <span style="color:#2E68EC;" v-if="form.worktypeStatus ==null||form.worktypeStatus === 0">宸ョ寰呭</span> + <span style="color: green" v-if="form.worktypeStatus === 1">瀹℃牳閫氳繃</span> + <span style="color: red;" v-if="form.worktypeStatus === 2">宸ョ瀹℃牳涓嶉�氳繃</span> + </div> + <div class="info_list_item_val" style="color: red;" v-if="form.unitStatus === 2">瀹℃牳涓嶉�氳繃</div> + </div> + <div class="info_list_item"> + <div class="info_list_item_label">娲鹃仯鍗曚綅璇﹁堪锛�</div> + <div class="info_list_item_val">{{form.content}}</div> + </div> + </div> + <div class="info_table"> + <div class="info_table_item" v-for="(item, index) in form.duSolutionList" :key="index"> + <div class="info_table_item_label">淇濋櫓鏂规锛歿{item.solutionName}}</div> + <div class="info_table_item_content"> + <el-table + :data="item.duWorktypeList" + border + style="width: 100%"> + <el-table-column label="搴忓彿" width="80px"> + <template slot-scope="scope"> + <span>{{scope.$index + 1}}</span> + </template> + </el-table-column> + <el-table-column + prop="workTypeName" + label="鎵�灞炲伐绉�"> + </el-table-column> + <el-table-column + prop="name" + label="鎿嶄綔瑙嗛"> + <template slot-scope="{row}"> + <video loop controls width="150px" height="150px" :src="row.videoUrlFull"></video> + </template> + </el-table-column> + <el-table-column + prop="checkDate" + label="瀹℃牳閫氳繃鏃ユ湡"> + </el-table-column> + <el-table-column + label="鐘舵��"> + <template slot-scope="{row}"> + <span v-if="row.status === 0">寰呭鏍�</span> + <span v-if="row.status === 1">瀹℃牳閫氳繃</span> + <span v-if="row.status === 2">瀹℃牳涓嶉�氳繃</span> + </template> + </el-table-column> +<!-- <el-table-column + label="鎿嶄綔"> + <template slot-scope="scope"> + <el-button type="text" style="color: red;" v-if="scope.row.status === 2" @click="dele(scope.row.id, index, scope.$index)">鍒犻櫎</el-button> + </template> + </el-table-column>--> + </el-table> + </div> + </div> + </div> + <div class="info_status"> + <div class="info_status_label">瀹℃牳娴佺▼</div> + <div class="info_status_list"> + <el-timeline :reverse="reverse"> + <el-timeline-item + v-for="(activity, index) in form.duLogList" + :key="index"> + <div style="display: flex; flex-direction: column;"> + <span style="font-size: 16px; font-weight: 400; color: black;"> + {{activity.title}} + <span style="font-size: 16px; font-weight: 400; color: black; margin-left: 10px;" v-if="activity.objType === 5 || activity.objType === 6 || activity.objType === 1 || activity.objType === 2"> + 鎻愪氦鎰忚锛歿{activity.content}} + </span> + </span> + <span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;"> + 鎿嶄綔鍛�-{{activity.creatorName}}锛坽{activity.creatorType==1? activity.companyName: "骞冲彴绔�"}}锛墈{activity.createDate}} + </span> + </div> + </el-timeline-item> + </el-timeline> + </div> + </div> + </div> + + <!-- 娣诲姞鏂规 --> + <addJobType ref="addJobType" @success="callback" /> + <!-- 缂栬緫 --> + <OperaDispatchUnitWindow ref="OperaDispatchUnitWindow" @success="callback" /> + <dispatchReview ref="dispatchReview" @success="callback" /> + <dispatchReviewCheck ref="dispatchReviewCheck" @success="callback" /> + </GlobalWindow> +</template> + +<script> + import BaseOpera from '@/components/base/BaseOpera' + import GlobalWindow from '@/components/common/GlobalWindow' + import addJobType from '@/components/enterprise/addJobType' + import dispatchReview from '@/components/business/dispatchReview' + import dispatchReviewCheck from '@/components/business/dispatchReviewCheck' + import OperaDispatchUnitWindow from '@/components/enterprise/OperaDispatchUnitWindow' + import { getById } from '@/api/business/dispatchUnit' + import { deleteById } from '@/api/business/duWorktype' + export default { + name: 'dispatchUnitDetailsPlat', + extends: BaseOpera, + components: { GlobalWindow, addJobType, OperaDispatchUnitWindow,dispatchReview ,dispatchReviewCheck}, + data () { + return { + // 琛ㄥ崟鏁版嵁 + form: { + id: null, + name: '', + code: '', + content: '', + companyName:'', + unitStatus: '', + worktypeStatus: '', + duLogList: [], + duSolutionList: [], + saveDuSolutionDTOList: [ + { + id: '', + saveDuWorkTypeDTOList: [ + { + videoUrl: '', + workTypeId: '', + file: { + videourl: '', + videourlfull: '' + } + } + ], + typeWork: [], + solutionId: '' + } + ] + }, + tableData: [], + insuranceScheme: [], + reverse: true, + visible5:false, + activities: [] + } + }, + created () { + this.config({ + api: '/business/dispatchUnit', + 'field.id': 'id' + }) + }, + methods: { + open (title, target) { + this.title = title + this.visible = true + this.form={ + id: null, + name: '', + code: '', + content: '', + unitStatus: '', + companyName:'', + worktypeStatus: '', + duLogList: [], + duSolutionList: [], + saveDuSolutionDTOList:[ ] + } + + this.form.id = target.id + this.getDetails() + }, + async getDetails() { + let res = await getById(this.form.id) + for (const key in this.form) { + this.form[key] = res[key] + } + }, + callback() { + // this.visible = true + this.open (this.title, this.form) + this.$emit('success') + } + } + } +</script> + +<style lang="scss" scoped> + .info { + width: 100%; + .info_list { + width: 100%; + display: flex; + align-items: center; + flex-wrap: wrap; + .info_list_item { + width: 33.3%; + display: flex; + align-items: center; + margin-bottom: 15px; + .info_list_item_label { + flex-shrink: 0; + //width: 150px; + font-size: 14px; + color: black; + } + .info_list_item_val { + flex: 1; + font-size: 14px; + color: black; + } + } + } + .info_head { + width: 100%; + display: flex; + align-items: center; + justify-content: space-between; + span { + color: black; + font-size: 14px; + } + } + .info_btns { + width: 100%; + display: flex; + align-items: center; + margin-bottom: 15px; + } + .info_table { + width: 100%; + display: flex; + flex-direction: column; + margin-bottom: 15px; + .info_table_item { + width: 100%; + display: flex; + flex-direction: column; + margin-bottom: 15px; + &:last-child { + margin: 0 !important; + } + .info_table_item_label { + font-size: 14px; + color: black; + margin-bottom: 10px; + } + .info_table_item_content { + width: 100%; + } + } + } + .info_status { + width: 100%; + .info_status_label { + width: 100%; + font-size: 18px; + font-weight: bold; + margin-bottom: 15px; + } + } + } +</style> diff --git a/company/src/components/business/dispatchUnitReviewDetails.vue b/company/src/components/business/dispatchUnitReviewDetails.vue index e628141..a4a5fb4 100644 --- a/company/src/components/business/dispatchUnitReviewDetails.vue +++ b/company/src/components/business/dispatchUnitReviewDetails.vue @@ -230,6 +230,10 @@ color: black; font-size: 14px; } + span { + color: black; + font-size: 14px; + } } .info_list { width: 100%; diff --git a/company/src/views/business/company.vue b/company/src/views/business/company.vue index 8b37f4d..ca2a24f 100644 --- a/company/src/views/business/company.vue +++ b/company/src/views/business/company.vue @@ -59,7 +59,9 @@ <template slot-scope="{row}"> <el-button type="text" @click="$refs.OperaCompanyDescWindow.open('浼佷笟璇︽儏', row)" v-permissions="['business:company:update']">鏌ョ湅璇︽儏</el-button> <el-button type="text" @click="edit(row)" v-permissions="['business:company:update']">淇敼</el-button> +<!-- <el-button type="text" @click="$refs.operaCompanyWindow.open('缂栬緫浼佷笟淇℃伅琛�', row)" v-permissions="['business:company:update']">鐢靛瓙绛捐璇�</el-button> +--> </template> </el-table-column> </el-table> diff --git a/company/src/views/business/dispatchUnitReview.vue b/company/src/views/business/dispatchUnitReview.vue index 081779a..6d0c29c 100644 --- a/company/src/views/business/dispatchUnitReview.vue +++ b/company/src/views/business/dispatchUnitReview.vue @@ -2,30 +2,22 @@ <TableLayout :permissions="['business:dispatchunit:query']"> <!-- 鎼滅储琛ㄥ崟 --> <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> - <el-form-item label="鎵�灞炰紒涓�" prop="companyId"> - <el-select v-model="searchForm.companyId" placeholder="璇烽�夋嫨" @change="search"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> - </el-form-item> - <el-form-item label="娲鹃仯鍗曚綅" prop="name"> - <el-select v-model="searchForm.name" placeholder="璇烽�夋嫨" @change="search"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> - </el-form-item> + <el-form-item label="鎵�灞炰笟" prop="companyId"> + <el-select v-model="searchForm.companyId" placeholder="璇烽�夋嫨" @change="search"> + <el-option + v-for="item in companyList" + :key="item.id" + :label="item.name" + :value="item.id"> + </el-option> + </el-select> + </el-form-item> + <el-form-item label="娲鹃仯鍗曚綅" prop="name"> + <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ユ淳閬e崟浣�" @keypress.enter.native="search"></el-input> + </el-form-item> <section> <el-button type="primary" @click="search">鎼滅储</el-button> <el-button @click="reset">閲嶇疆</el-button> - <el-button @click="$refs.dispatchUnitReviewDetails.open('娲鹃仯鍗曚綅璇︽儏')">璇︽儏</el-button> </section> </el-form> <!-- 琛ㄦ牸鍜屽垎椤� --> @@ -40,13 +32,17 @@ <span>{{scope.$index + 1}}</span> </template> </el-table-column> - <el-table-column prop="companyId" label="鎵�灞炰紒涓�" min-width="100px"></el-table-column> + <el-table-column prop="companyName" label="鎵�灞炰紒涓�" min-width="100px"></el-table-column> <el-table-column prop="name" label="娲鹃仯鍗曚綅" min-width="100px"></el-table-column> <el-table-column label="娲鹃仯鍗曚綅鐘舵��" min-width="100px"> <template slot-scope="{row}"> - <span v-if="row.unitStatus === 0">寰呭鏍�</span> - <span v-if="row.unitStatus === 1">瀹℃牳閫氳繃</span> - <span v-if="row.unitStatus === 2">瀹℃牳涓嶉�氳繃</span> + <span style="color: #2E68EC" v-if="row.unitStatus === 0">寰呭鏍�</span> + <span v-if="row.unitStatus === 1"> + <span style="color:#2E68EC" v-if="row.worktypeStatus ==null || row.worktypeStatus === 0">宸ョ寰呭</span> + <span style="color: green" v-else-if="row.worktypeStatus === 1">瀹℃牳閫氳繃</span> + <span style="color: red" v-else-if="row.worktypeStatus === 2">宸ョ瀹℃牳涓嶉�氳繃</span> + </span> + <span style="color: red" v-if="row.unitStatus === 2">瀹℃牳涓嶉�氳繃</span> </template> </el-table-column> <el-table-column prop="createDate" label="鎻愪氦鏃ユ湡" min-width="100px"></el-table-column> @@ -57,7 +53,7 @@ fixed="right" > <template slot-scope="{row}"> - <el-button type="text" @click="$refs.operaDispatchUnitWindow.open('缂栬緫娲鹃仯鍗曚綅淇℃伅琛�', row)" icon="el-icon-edit" v-permissions="['business:dispatchunit:update']">鏌ョ湅璇︽儏</el-button> + <el-button type="text" @click="$refs.dispatchUnitDetailsPlat.open('娲鹃仯鍗曚綅璇︽儏', row)" icon="el-icon-edit" v-permissions="['business:dispatchunit:update']">鏌ョ湅璇︽儏</el-button> </template> </el-table-column> </el-table> @@ -69,7 +65,7 @@ </pagination> </template> <!-- 鏂板缓/淇敼 --> - <dispatchUnitReviewDetails ref="dispatchUnitReviewDetails" @success="handlePageChange"/> + <dispatchUnitDetailsPlat ref="dispatchUnitDetailsPlat" @success="handlePageChange"/> </TableLayout> </template> @@ -77,18 +73,20 @@ import BaseTable from '@/components/base/BaseTable' import TableLayout from '@/layouts/TableLayout' import Pagination from '@/components/common/Pagination' - import dispatchUnitReviewDetails from '@/components/business/dispatchUnitReviewDetails' + import dispatchUnitDetailsPlat from '@/components/business/dispatchUnitDetailsPlat' + import {pageAll as companyAll} from '@/api/business/company' export default { name: 'dispatchUnitReview', extends: BaseTable, - components: { TableLayout, Pagination, dispatchUnitReviewDetails }, + components: { TableLayout, Pagination, dispatchUnitDetailsPlat }, data () { return { // 鎼滅储 searchForm: { name: '', companyId: '' - } + }, + companyList:[] } }, created () { @@ -99,6 +97,19 @@ 'field.main': 'id' }) this.search() + this.loadSelectList() + }, + methods:{ + // handlePageChange() { + // this.search() + // }, + loadSelectList() { + companyAll({}).then(res => { + this.companyList = res + }).catch(err => { + }) } + + } } </script> diff --git a/company/src/views/business/taxes.vue b/company/src/views/business/taxes.vue index 79d6e85..be106cb 100644 --- a/company/src/views/business/taxes.vue +++ b/company/src/views/business/taxes.vue @@ -19,14 +19,14 @@ </el-date-picker> </el-form-item> <el-form-item label="鐢宠寮�绁ㄤ紒涓�" prop="companyId"> - <el-select v-model="searchForm.companyId" placeholder="璇烽�夋嫨" @keypress.enter.native="search"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> + <el-select v-model="searchForm.companyId" placeholder="璇烽�夋嫨" @change="search"> + <el-option + v-for="item in companyList" + :key="item.id" + :label="item.name" + :value="item.id"> + </el-option> + </el-select> </el-form-item> <section> <el-button type="primary" @click="search">鎼滅储</el-button> @@ -122,6 +122,8 @@ import TableLayout from '@/layouts/TableLayout' import Pagination from '@/components/common/Pagination' import OperaTaxesWindow from '@/components/business/OperaTaxesWindow' + import {all as solutionAll} from "@/api/business/solutions"; + import {pageAll as companyAll} from "@/api/business/company"; export default { name: 'Taxes', extends: BaseTable, @@ -129,6 +131,7 @@ data () { return { // 鎼滅储 + companyList:[], searchForm: { status: '', companyId: '' @@ -144,11 +147,22 @@ 'field.main': 'id' }) this.search() + this.loadSelectList() }, methods: { handleRemove(file, fileList) { console.log(file, fileList); - } + }, + loadSelectList() { + solutionAll({dataType:0}).then(res => { + this.solutionList = res + }).catch(err => { + }) + companyAll({}).then(res => { + this.companyList = res + }).catch(err => { + }) + } } } </script> diff --git a/server/platform/src/main/java/com/doumee/api/business/DispatchUnitController.java b/server/platform/src/main/java/com/doumee/api/business/DispatchUnitController.java index fd216af..1ee2268 100644 --- a/server/platform/src/main/java/com/doumee/api/business/DispatchUnitController.java +++ b/server/platform/src/main/java/com/doumee/api/business/DispatchUnitController.java @@ -100,6 +100,6 @@ @GetMapping("/{id}") @RequiresPermissions("business:dispatchunit:query") public ApiResponse findById(@PathVariable Integer id) { - return ApiResponse.success(dispatchUnitService.findById(id)); + return ApiResponse.success(dispatchUnitService.detailById(id)); } } diff --git a/server/service/src/main/java/com/doumee/core/utils/Date.java b/server/service/src/main/java/com/doumee/core/utils/Date.java index 73310aa..b35f2db 100644 --- a/server/service/src/main/java/com/doumee/core/utils/Date.java +++ b/server/service/src/main/java/com/doumee/core/utils/Date.java @@ -20,6 +20,9 @@ * @return java.util.Date */ public java.util.Date getStart (java.util.Date date) { + if(date == null){ + return null; + } Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(Calendar.HOUR_OF_DAY, 0); diff --git a/server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java b/server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java index d8d52a5..0c3cebc 100644 --- a/server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java +++ b/server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java @@ -94,6 +94,7 @@ @ExcelColumn(name="鑱旂郴浜�") private String linkname; + @ApiModelProperty(value = "瀹℃牳鏃堕棿") @ExcelColumn(name="瀹℃牳鏃堕棿") @@ -138,5 +139,9 @@ @TableField(exist = false) private Integer duSolutionId; + @ApiModelProperty(value = "浼佷笟鍚嶇О") + @TableField(exist = false) + private String companyName; + } diff --git a/server/service/src/main/java/com/doumee/dao/business/model/DuLog.java b/server/service/src/main/java/com/doumee/dao/business/model/DuLog.java index 4819e7c..9069da9 100644 --- a/server/service/src/main/java/com/doumee/dao/business/model/DuLog.java +++ b/server/service/src/main/java/com/doumee/dao/business/model/DuLog.java @@ -87,6 +87,9 @@ @ApiModelProperty(value = "鍒涘缓浜哄悕绉�", example = "1") @TableField(exist = false) private String creatorName; + @ApiModelProperty(value = "鍒涘缓浜虹被鍨� 0骞冲彴 1浼佷笟", example = "1") + @TableField(exist = false) + private Integer creatorType; @ApiModelProperty(value = "鍏徃鍚嶇О", example = "1") @TableField(exist = false) diff --git a/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java index 46b2958..c14e455 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java @@ -82,13 +82,13 @@ } LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); DispatchUnit model = dispatchUnitMapper.selectById(param.getId()); - if(Objects.isNull(model) || Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO) ||!Constants.equalsInteger(model.getDataType(),Constants.ZERO)){ + if(Objects.isNull(model) || !Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO) ||!Constants.equalsInteger(model.getDataType(),Constants.ZERO)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌娲鹃仯鍗曚綅淇℃伅"); } - if(!Constants.equalsInteger(model.getStatus(),Constants.ONE)){ + if(!Constants.equalsInteger(model.getUnitStatus(),Constants.ONE)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ユ淳閬e崟浣嶅皻鏈鏍搁�氳繃锛屼笉鏀寔璇ユ搷浣滐紒"); } - if(Constants.equalsInteger(model.getWorktypeStatus(),Constants.ZERO)){ + if(!Constants.equalsInteger(model.getWorktypeStatus(),Constants.ZERO)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ユ淳閬e崟浣嶅伐绉嶅凡瀹℃牳锛岃鍕块噸澶嶆彁浜"); } DispatchUnit update = new DispatchUnit(); @@ -139,6 +139,9 @@ duSolutionMapper.update(null,new UpdateWrapper<DuSolution>().lambda() .set(DuSolution::getStatus,Constants.ONE) + .set(DuSolution::getCheckDate,update.getEditDate() ) + .set(DuSolution::getCheckUserId,update.getCheckUserId()) + .set(DuSolution::getCheckInfo,update.getCheckInfo()) .eq(DuSolution::getIsdeleted,Constants.ZERO) .eq(DuSolution::getStatus,Constants.ZERO) .eq(DuSolution::getDispatchUnitId,model.getId()) @@ -164,6 +167,9 @@ duWorktypeMapper.update(null,new UpdateWrapper<DuWorktype>().lambda() .set(DuWorktype::getStatus,Constants.ONE) + .set(DuWorktype::getCheckDate,update.getEditDate()) + .set(DuWorktype::getCheckUserId,update.getCheckUserId()) + .set(DuWorktype::getCheckInfo,update.getCheckInfo()) .eq(DuWorktype::getIsdeleted,Constants.ZERO) .eq(DuWorktype::getStatus,Constants.ZERO) .eq(DuWorktype::getDuSolutionId,s.getId())); @@ -212,7 +218,7 @@ update.setEditDate(new Date()); update.setId(model.getId()); update.setUnitStatus(param.getUnitStatus()); - update.setWorktypeStatus(param.getWorktypeStatus()); + update.setWorktypeStatus(param.getUnitStatus()); update.setCheckDate(update.getEditDate()); update.setCheckUserId(user.getId()); update.setCheckInfo(param.getCheckInfo()); @@ -226,8 +232,8 @@ }else{ //鏇存柊鏄庣粏鏁版嵁涓哄鏍稿け璐� duSolutionMapper.update(null,new UpdateWrapper<DuSolution>().lambda() - .set(DuSolution::getCheckDate,new Date() ) .set(DuSolution::getStatus,Constants.TWO) + .set(DuSolution::getCheckDate,new Date() ) .set(DuSolution::getCheckUserId,update.getCheckUserId()) .set(DuSolution::getCheckInfo,update.getCheckInfo()) .eq(DuSolution::getDispatchUnitId,update.getId())); @@ -669,74 +675,93 @@ @Override public PageData<DispatchUnit> findPage(PageWrap<DispatchUnit> pageWrap) { IPage<DispatchUnit> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); - QueryWrapper<DispatchUnit> queryWrapper = new QueryWrapper<>(); + if(pageWrap.getModel().getDataType() ==null){ + pageWrap.getModel().setDataType(Constants.ZERO); + } + + LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); Utils.MP.blankToNull(pageWrap.getModel()); - queryWrapper.lambda().eq(DispatchUnit::getIsdeleted,Constants.ZERO); + MPJLambdaWrapper<DispatchUnit> queryWrapper = new MPJLambdaWrapper<DispatchUnit>(); + queryWrapper.selectAll(DispatchUnit.class) + .selectAs(Company::getName,DispatchUnit::getCompanyName) + .leftJoin(Company.class,Company::getId,DispatchUnit::getCompanyId); + queryWrapper.eq(DispatchUnit::getIsdeleted,Constants.ZERO); + if(Constants.equalsInteger(user.getType(),Constants.ZERO)){ + //鍙兘鐪嬫潈闄愯寖鍥村唴 + if(user.getCompanyIdList() == null || user.getCompanyIdList().size() == 0){ + queryWrapper. eq(Company::getId,-1);//璁剧疆鏃犳晥璁块棶 + }else { + queryWrapper. in(Company::getId, user.getCompanyIdList()); + } + } else { + //浼佷笟鐢ㄦ埛鍙湅鑷繁鐨勬暟鎹� + pageWrap.getModel().setCompanyId(user.getCompanyId()); + } if (pageWrap.getModel().getId() != null) { - queryWrapper.lambda().eq(DispatchUnit::getId, pageWrap.getModel().getId()); + queryWrapper.eq(DispatchUnit::getId, pageWrap.getModel().getId()); } if (pageWrap.getModel().getCreator() != null) { - queryWrapper.lambda().eq(DispatchUnit::getCreator, pageWrap.getModel().getCreator()); + queryWrapper.eq(DispatchUnit::getCreator, pageWrap.getModel().getCreator()); } if (pageWrap.getModel().getCreateDate() != null) { - queryWrapper.lambda().ge(DispatchUnit::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); - queryWrapper.lambda().le(DispatchUnit::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); + queryWrapper.ge(DispatchUnit::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); + queryWrapper.le(DispatchUnit::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); } if (pageWrap.getModel().getEditor() != null) { - queryWrapper.lambda().eq(DispatchUnit::getEditor, pageWrap.getModel().getEditor()); + queryWrapper.eq(DispatchUnit::getEditor, pageWrap.getModel().getEditor()); } if (pageWrap.getModel().getEditDate() != null) { - queryWrapper.lambda().ge(DispatchUnit::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); - queryWrapper.lambda().le(DispatchUnit::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); + queryWrapper.ge(DispatchUnit::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); + queryWrapper.le(DispatchUnit::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); } if (pageWrap.getModel().getIsdeleted() != null) { - queryWrapper.lambda().eq(DispatchUnit::getIsdeleted, pageWrap.getModel().getIsdeleted()); + queryWrapper.eq(DispatchUnit::getIsdeleted, pageWrap.getModel().getIsdeleted()); } if (pageWrap.getModel().getName() != null) { - queryWrapper.lambda().eq(DispatchUnit::getName, pageWrap.getModel().getName()); + queryWrapper.like(DispatchUnit::getName, pageWrap.getModel().getName()); } if (pageWrap.getModel().getRemark() != null) { - queryWrapper.lambda().eq(DispatchUnit::getRemark, pageWrap.getModel().getRemark()); + queryWrapper.eq(DispatchUnit::getRemark, pageWrap.getModel().getRemark()); } if (pageWrap.getModel().getStatus() != null) { - queryWrapper.lambda().eq(DispatchUnit::getStatus, pageWrap.getModel().getStatus()); + queryWrapper.eq(DispatchUnit::getStatus, pageWrap.getModel().getStatus()); } if (pageWrap.getModel().getUnitStatus() != null) { - queryWrapper.lambda().eq(DispatchUnit::getUnitStatus, pageWrap.getModel().getUnitStatus()); + queryWrapper.eq(DispatchUnit::getUnitStatus, pageWrap.getModel().getUnitStatus()); } if (pageWrap.getModel().getWorktypeStatus() != null) { - queryWrapper.lambda().eq(DispatchUnit::getWorktypeStatus, pageWrap.getModel().getWorktypeStatus()); + queryWrapper.eq(DispatchUnit::getWorktypeStatus, pageWrap.getModel().getWorktypeStatus()); } if (pageWrap.getModel().getSortnum() != null) { - queryWrapper.lambda().eq(DispatchUnit::getSortnum, pageWrap.getModel().getSortnum()); + queryWrapper.eq(DispatchUnit::getSortnum, pageWrap.getModel().getSortnum()); } if (pageWrap.getModel().getCompanyId() != null) { - queryWrapper.lambda().eq(DispatchUnit::getCompanyId, pageWrap.getModel().getCompanyId()); + queryWrapper.eq(DispatchUnit::getCompanyId, pageWrap.getModel().getCompanyId()); } if (pageWrap.getModel().getPhone() != null) { - queryWrapper.lambda().eq(DispatchUnit::getPhone, pageWrap.getModel().getPhone()); + queryWrapper.eq(DispatchUnit::getPhone, pageWrap.getModel().getPhone()); } if (pageWrap.getModel().getLinkname() != null) { - queryWrapper.lambda().eq(DispatchUnit::getLinkname, pageWrap.getModel().getLinkname()); + queryWrapper.eq(DispatchUnit::getLinkname, pageWrap.getModel().getLinkname()); } if (pageWrap.getModel().getCheckDate() != null) { - queryWrapper.lambda().ge(DispatchUnit::getCheckDate, Utils.Date.getStart(pageWrap.getModel().getCheckDate())); - queryWrapper.lambda().le(DispatchUnit::getCheckDate, Utils.Date.getEnd(pageWrap.getModel().getCheckDate())); + queryWrapper.ge(DispatchUnit::getCheckDate, Utils.Date.getStart(pageWrap.getModel().getCheckDate())); + queryWrapper.le(DispatchUnit::getCheckDate, Utils.Date.getEnd(pageWrap.getModel().getCheckDate())); } if (pageWrap.getModel().getCheckInfo() != null) { - queryWrapper.lambda().eq(DispatchUnit::getCheckInfo, pageWrap.getModel().getCheckInfo()); + queryWrapper.eq(DispatchUnit::getCheckInfo, pageWrap.getModel().getCheckInfo()); } if (pageWrap.getModel().getCheckUserId() != null) { - queryWrapper.lambda().eq(DispatchUnit::getCheckUserId, pageWrap.getModel().getCheckUserId()); + queryWrapper.eq(DispatchUnit::getCheckUserId, pageWrap.getModel().getCheckUserId()); } if (pageWrap.getModel().getVersion() != null) { - queryWrapper.lambda().eq(DispatchUnit::getVersion, pageWrap.getModel().getVersion()); + queryWrapper.eq(DispatchUnit::getVersion, pageWrap.getModel().getVersion()); } if (pageWrap.getModel().getDataType() != null) { - queryWrapper.lambda().eq(DispatchUnit::getDataType, pageWrap.getModel().getDataType()); + queryWrapper.eq(DispatchUnit::getDataType, pageWrap.getModel().getDataType()); } if (pageWrap.getModel().getBaseId() != null) { - queryWrapper.lambda().eq(DispatchUnit::getBaseId, pageWrap.getModel().getBaseId()); + queryWrapper.eq(DispatchUnit::getBaseId, pageWrap.getModel().getBaseId()); } for(PageWrap.SortData sortData: pageWrap.getSorts()) { if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { @@ -745,8 +770,8 @@ queryWrapper.orderByAsc(sortData.getProperty()); } } - PageData<DispatchUnit> dispatchUnitPageData = PageData.from(dispatchUnitMapper.selectPage(page, queryWrapper)); - return dispatchUnitPageData; + PageData<DispatchUnit> pageData = PageData.from(dispatchUnitJoinMapper.selectJoinPage(page,DispatchUnit.class, queryWrapper)); + return pageData; } @Override @@ -758,7 +783,12 @@ @Override public DispatchUnit detailById(Integer id) { - DispatchUnit dispatchUnit = dispatchUnitMapper.selectById(id); + DispatchUnit dispatchUnit = dispatchUnitJoinMapper.selectJoinOne(DispatchUnit.class, + new MPJLambdaWrapper<DispatchUnit>() + .selectAll(DispatchUnit.class) + .selectAs(Company::getName,DispatchUnit::getCompanyName) + .leftJoin(Company.class,Company::getId,DispatchUnit::getCompanyId) + .eq(DispatchUnit::getId,id) ); //鏂规閰嶇疆琛� List<DuSolution> duSolutionList = duSolutionJoinMapper.selectJoinList(DuSolution.class, new MPJLambdaWrapper<DuSolution>() @@ -794,6 +824,7 @@ List<DuLog> duLogList = duLogJoinMapper.selectJoinList(DuLog.class, new MPJLambdaWrapper<DuLog>() .selectAll(DuLog.class) + .selectAs(SystemUser::getType,DuLog::getCreatorType) .selectAs(SystemUser::getRealname,DuLog::getCreatorName) .selectAs(Company::getName,DuLog::getCompanyName) .leftJoin(SystemUser.class,SystemUser::getId,DuLog::getCreator) 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 b88ae19..34b0053 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 @@ -290,8 +290,8 @@ queryWrapper.eq(Taxes::getCompanyId,-1);//璁剧疆鏃犳晥璁块棶 }else{ queryWrapper.in(Taxes::getCompanyId,user.getCompanyIdList()); - queryWrapper.ge(pageWrap.getModel().getStartDate() != null,Taxes::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getStartDate())); - queryWrapper.le(SignRecord::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getEndDate())); + queryWrapper.ge(pageWrap.getModel().getStartDate() != null,Taxes::getCreateDate, pageWrap.getModel().getStartDate()); + queryWrapper.le(pageWrap.getModel().getEndDate() != null,Taxes::getCreateDate, pageWrap.getModel().getEndDate()); queryWrapper.eq(pageWrap.getModel().getTaxBank() != null,Taxes::getTaxBank, pageWrap.getModel().getTaxBank()); queryWrapper.eq(pageWrap.getModel().getTaxBank() != null,Taxes::getTaxBank, pageWrap.getModel().getTaxBank()); queryWrapper.eq(pageWrap.getModel().getRemark() != null,Taxes::getRemark, pageWrap.getModel().getRemark()); @@ -340,8 +340,8 @@ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炰紒涓氱敤鎴锋棤娉曡繘琛岃涓氬姟鏌ヨ"); } if(!Objects.isNull(queryModel)){ - queryWrapper.ge(pageWrap.getModel().getStartDate() != null,Taxes::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getStartDate())); - queryWrapper.le(SignRecord::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getEndDate())); + queryWrapper.ge(pageWrap.getModel().getStartDate() != null,Taxes::getCreateDate, (pageWrap.getModel().getStartDate())); + queryWrapper.le(pageWrap.getModel().getEndDate() != null,Taxes::getCreateDate, (pageWrap.getModel().getEndDate())); queryWrapper.eq(!Objects.isNull(queryModel.getInsuranceApplyId()),Taxes::getInsuranceApplyId,queryModel.getInsuranceApplyId()); queryWrapper.eq(!Objects.isNull(queryModel.getStatus()),Taxes::getStatus,queryModel.getStatus()); } -- Gitblit v1.9.3