From 56d111945916746dd9a2486665bf3be6eb58bdf7 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期二, 28 五月 2024 18:28:14 +0800 Subject: [PATCH] 最新版本 --- server/system_service/src/main/java/com/doumee/core/utils/Constants.java | 8 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java | 15 admin/src/api/business/carUseBook.js | 47 ++++ server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerLogServiceImpl.java | 14 server/system_service/src/main/java/com/doumee/dao/system/MultifileMapper.java | 3 admin/src/components/business/OperaHiddenDangerWindow.vue | 70 +++--- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java | 82 +++++-- server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java | 2 admin/src/views/operation/serviceCar/apprRecord.vue | 307 ++++++++++++++++++----------- admin/src/views/operation/danger/record.vue | 18 + 10 files changed, 360 insertions(+), 206 deletions(-) diff --git a/admin/src/api/business/carUseBook.js b/admin/src/api/business/carUseBook.js new file mode 100644 index 0000000..94ac03e --- /dev/null +++ b/admin/src/api/business/carUseBook.js @@ -0,0 +1,47 @@ +import request from '../../utils/request' + +// 鏌ヨ +export function fetchList (data) { + return request.post('/visitsAdmin/cloudService/business/carUseBook/page', data, { + trim: true + }) +} +// 鏌ヨ +export function findLogList (data) { + return request.post('/visitsAdmin/cloudService/business/carUseBookLog/findList', data, { + trim: true + }) +} + +// 鍒涘缓 +export function create (data) { + return request.post('/visitsAdmin/cloudService/business/carUseBook/create', data) +} +export function transfercarUseBook (data) { + return request.post('/visitsAdmin/cloudService/business/carUseBook/transfercarUseBook', data) +} +export function dealcarUseBook (data) { + return request.post('/visitsAdmin/cloudService/business/carUseBook/dealcarUseBook', data) +} + +// 淇敼 +export function updateById (data) { + return request.post('/visitsAdmin/cloudService/business/carUseBook/updateById', data) +} + +// 鍒犻櫎 +export function deleteById (id) { + return request.get(`/visitsAdmin/cloudService/business/carUseBook/delete/${id}`) +} +// 鏍规嵁ID鏌ヨ +export function detail(id) { + return request.get(`/visitsAdmin/cloudService/business/carUseBook/${id}`) +} +// 鎵归噺鍒犻櫎 +export function deleteByIdInBatch (ids) { + return request.get('/visitsAdmin/cloudService/business/carUseBook/delete/batch', { + params: { + ids + } + }) +} diff --git a/admin/src/components/business/OperaHiddenDangerWindow.vue b/admin/src/components/business/OperaHiddenDangerWindow.vue index f004feb..a59097c 100644 --- a/admin/src/components/business/OperaHiddenDangerWindow.vue +++ b/admin/src/components/business/OperaHiddenDangerWindow.vue @@ -13,8 +13,8 @@ <div class="time">鎻愭姤鏃堕棿锛歿{model.createDate}}</div> </div> <div class="right" v-if="model.status==0">寰呭鐞�</div> - <div class="right" v-if="model.status==1">宸插鐞�</div> - <div class="right" v-if="model.status==2">宸叉挙閿�</div> + <div class="right" style="background:#53b76f " v-if="model.status==1">宸插鐞�</div> + <div class="right" style="background:#dc362e " v-if="model.status==2">宸查��鍥�</div> </div> <div class="info"> <div class="title">闅愭偅鎻愭姤璇︽儏</div> @@ -146,7 +146,7 @@ <template v-slot:footer> <el-button @click="isShowProblem = true" type="primary" v-if="model.status==0&& model.checkUserId == userInfo.memberId" class="status-red">澶勭悊</el-button> <el-button type="primary" plain v-if="model.status==0 && model.checkUserId == userInfo.memberId" @click="handleTransfer">杞氦</el-button> - <el-button @click="backDo" v-if="model.status==0&& model.checkUserId == userInfo.memberId" type="danger" >閫�鍥�</el-button> + <el-button @click="isBackProblem=true" v-if="model.status==0&& model.checkUserId == userInfo.memberId" type="danger" >閫�鍥�</el-button> <el-button @click="visible=false">杩斿洖</el-button> </template> @@ -186,8 +186,9 @@ <el-form-item label="鏁存敼鏃堕棿" prop="checkDate"> <el-date-picker class="w300" - type="date" - placeholder="閫夋嫨鏃ユ湡" + type="datetime" + value-format="yyyy-MM-dd HH:mm:ss" + placeholder="閫夋嫨鏁存敼鏃堕棿" v-model="dealForm.checkDate" /> </el-form-item> @@ -220,16 +221,18 @@ <el-dialog append-to-body title="闅愭偅閫�鍥�" + class="dialogCl" :visible.sync="isBackProblem" - width="480px" + width="600px" > <el-form :model="backForm" :rules="rulesBack" ref="backForm" label-width="100px"> <el-form-item label="閫�鍥炴椂闂�" prop="checkDate"> <el-date-picker class="w300" - type="date" - placeholder="閫夋嫨鏃ユ湡" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + placeholder="閫夋嫨閫�鍥炴椂闂�" v-model="backForm.checkDate" /> </el-form-item> @@ -303,10 +306,10 @@ rulesBack: { checkDate: [ { required: true, message: '璇烽�夋嫨閫�鍥炴椂闂�' } - ], + ]/*, dealBeforeFileList: [ { required: true, message: '璇蜂笂浼犳暣鏀瑰墠鎯呭喌' } - ] + ]*/ }, memberList: [], transForm: { @@ -345,8 +348,8 @@ this.dealForm.dealAfterFileList.splice(index, 1) } } else if (type == 2) { - if (this.backForm.dealAfterFileList != null && this.backForm.dealAfterFileList.length > index) { - this.backForm.dealAfterFileList.splice(index, 1) + if (this.backForm.dealBeforeFileList != null && this.backForm.dealBeforeFileList.length > index) { + this.backForm.dealBeforeFileList.splice(index, 1) } } }, @@ -356,10 +359,9 @@ this.dealForm.dealBeforeFileList = [] } this.dealForm.dealBeforeFileList.push({ - id: this.model.id, + fileurl: e.imgaddr, url: e.url, - fileUrl: e.imgaddr, - fileName: e.originname, + name: e.originname, fileType: e.type }) } else if (objType === 1) { @@ -367,21 +369,19 @@ this.dealForm.dealAfterFileList = [] } this.dealForm.dealAfterFileList.push({ - id: this.model.id, - fileUrl: e.imgaddr, + fileurl: e.imgaddr, url: e.url, - fileName: e.originname, + name: e.originname, fileType: e.type }) } else if (objType === 2) { - if (this.backForm.dealAfterFileList == null) { - this.backForm.dealAfterFileList = [] + if (this.backForm.dealBeforeFileList == null) { + this.backForm.dealBeforeFileList = [] } - this.backForm.dealAfterFileList.push({ - id: this.model.id, - fileUrl: e.imgaddr, + this.backForm.dealBeforeFileList.push({ + fileurl: e.imgaddr, url: e.url, - fileName: e.originname, + name: e.originname, fileType: e.type }) } @@ -394,20 +394,20 @@ } this.$dialog.actionConfirm('鎿嶄綔纭', '鎮ㄧ‘璁ゆ彁浜よ闅愭偅澶勭悊鎯呭喌鍚楋紵') .then(() => { - this.transfering = true + this.dealing = true this.api.dealHiddenDanger({ id: this.dataId, status: 1, - checkDate: this.dealForm.checkDate, + dealTime: this.dealForm.checkDate, checkInfo: this.dealForm.checkInfo, dealBeforeFileList: this.dealForm.dealBeforeFileList, - dealAfterFileList: this.dealForm.dealBeforeFileList + dealAfterFileList: this.dealForm.dealAfterFileList }) .then(res => { - this.$tip.apiSuccess('杞氦鎴愬姛') + this.$tip.apiSuccess('澶勭悊鎴愬姛') this.getDetail() this.getLogList() - this.isShowTransfer = false + this.isShowProblem = false }) .catch(e => { }) @@ -424,19 +424,19 @@ } this.$dialog.actionConfirm('鎿嶄綔纭', '鎮ㄧ‘璁ら��鍥炶闅愭偅澶勭悊鎯呭喌鍚楋紵') .then(() => { - this.transfering = true + this.dealing = true this.api.dealHiddenDanger({ id: this.dataId, - status: 0, - checkDate: this.backForm.checkDate, + status: 2, + dealTime: this.backForm.checkDate, checkInfo: this.backForm.checkInfo, dealBeforeFileList: this.backForm.dealBeforeFileList }) .then(res => { - this.$tip.apiSuccess('杞氦鎴愬姛') + this.$tip.apiSuccess('閫�鍥炴垚鍔�') this.getDetail() this.getLogList() - this.isShowTransfer = false + this.isBackProblem = false }) .catch(e => { }) @@ -692,7 +692,7 @@ .icon2 { position: relative; z-index: 11; - color: red; + color: #dc362e; font-size: 24px; } .avatar { diff --git a/admin/src/views/operation/danger/record.vue b/admin/src/views/operation/danger/record.vue index 2ba20b5..f7bca4b 100644 --- a/admin/src/views/operation/danger/record.vue +++ b/admin/src/views/operation/danger/record.vue @@ -6,10 +6,10 @@ <el-input v-model="searchForm.memberName" placeholder="璇疯緭鍏ュ鍚�/鎵嬫満鍙�" @keypress.enter.native="search"></el-input> </el-form-item> <el-form-item label="鎻愭姤浜虹粍缁�" prop="companyName"> - <el-input v-model="searchForm.companyName" placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input> + <el-input v-model="searchForm.companyName" placeholder="璇疯緭鍏�" clearable @keypress.enter.native="search"></el-input> </el-form-item> <el-form-item label="闅愭偅鍖哄煙" prop="areaId"> - <el-select v-model="searchForm.areaId" placeholder="璇烽�夋嫨闅愭偅鍖哄煙" @keypress.enter.native="search"> + <el-select v-model="searchForm.areaId" placeholder="璇烽�夋嫨闅愭偅鍖哄煙" clearable @change="search"> <el-option v-for="item in areaList" :key="item.id" @@ -19,13 +19,20 @@ </el-select> </el-form-item> <el-form-item label="闅愭偅绫诲瀷" prop="cateId"> - <el-select v-model="searchForm.cateId" placeholder="璇烽�夋嫨闅愭偅绫诲瀷" @keypress.enter.native="search"> + <el-select v-model="searchForm.cateId" placeholder="璇烽�夋嫨闅愭偅绫诲瀷" clearable @change="search"> <el-option v-for="item in cateList" :key="item.id" :label="item.name" :value="item.id"> </el-option> + </el-select> + </el-form-item> + <el-form-item label="鐘舵��" prop="status"> + <el-select v-model="searchForm.status" @change="search" clearable placeholder="鐘舵��"> + <el-option label="寰呭鐞�" value="0"></el-option> + <el-option label="宸插鐞�" value="1"></el-option> + <el-option label="宸查��鍑�" value="2"></el-option> </el-select> </el-form-item> <el-form-item label="鎻愭姤鏃堕棿" prop="startTime"> @@ -72,7 +79,7 @@ <template slot-scope="{row}"> <span class="status-blue" v-if="row.status === 0">寰呭鐞�</span> <span class="status-green" v-if="row.status === 1">宸插鐞�</span> - <span class="status-red" v-if="row.status === 2">宸叉挙閿�</span> + <span class="status-red" v-if="row.status === 2">宸查��鍥�</span> </template> </el-table-column> <el-table-column prop="editDate" label="鎿嶄綔鏃堕棿" min-width="150px"></el-table-column> @@ -117,7 +124,8 @@ queryStartTime: '', queryEndTime: '', areaId: null, - cateId: null + cateId: null, + status:null }, cateList: [], areaList: [], diff --git a/admin/src/views/operation/serviceCar/apprRecord.vue b/admin/src/views/operation/serviceCar/apprRecord.vue index 8b72d68..c4974cf 100644 --- a/admin/src/views/operation/serviceCar/apprRecord.vue +++ b/admin/src/views/operation/serviceCar/apprRecord.vue @@ -1,135 +1,206 @@ <template> - <div class="main_app"> - <QueryForm - v-model="filters" - :query-form-config="queryFormConfig" - @handleQuery="getList(1)" - @clear="clear" - /> - <el-table v-loading="loading" :data="list" stripe> - <el-table-column - prop="name" - label="鐢宠浜�" - min-width="100" - show-overflow-tooltip - /> - <el-table-column - prop="name" - label="缁勭粐" - min-width="100" - show-overflow-tooltip - /> - <el-table-column - prop="name" - label="杞︾墝鐓�" - min-width="100" - show-overflow-tooltip - /> - <el-table-column - prop="name" - label="鐢ㄨ溅鏃堕棿" - min-width="80" - show-overflow-tooltip - /> - <el-table-column - prop="name" - label="鍑哄彂鏃堕棿" - min-width="100" - show-overflow-tooltip - /> - <el-table-column - prop="name" - label="鐩殑鍦扮被鍒�" - min-width="110" - show-overflow-tooltip - /> - <el-table-column - prop="name" - label="鐩殑鍦�" - min-width="100" - show-overflow-tooltip - /> - <el-table-column - prop="name" - label="鐢宠鐘舵��" - min-width="80" - show-overflow-tooltip - /> - <el-table-column - prop="name" - label="鎿嶄綔" - min-width="80" - show-overflow-tooltip + <TableLayout :permissions="['business:empower:query']"> + <!-- 鎼滅储琛ㄥ崟 --> + <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> + <el-form-item label="鐢宠浜�" prop="memberName"> + <el-input v-model="searchForm.memberName" placeholder="璇疯緭鍏ュ鍚�/鎵嬫満鍙�" @keypress.enter.native="search"></el-input> + </el-form-item> + <el-form-item label="鐢宠浜虹粍缁�" prop="companyName"> + <el-input v-model="searchForm.companyName" placeholder="璇疯緭鍏ョ敵璇蜂汉缁勭粐" clearable @keypress.enter.native="search"></el-input> + </el-form-item> + <el-form-item label="杞︾墝鍙�" prop="carCode"> + <el-input v-model="searchForm.carCode" placeholder="璇疯緭鍏ヨ溅鐗屽彿" clearable @keypress.enter.native="search"></el-input> + </el-form-item> + <el-form-item label="鐘舵��" prop="status"> + <el-select v-model="searchForm.status" @change="search" clearable placeholder="鐘舵��"> + <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> + <el-option label="宸插彇娑�" value="4"></el-option> + </el-select> + </el-form-item> + <el-form-item label="鐩殑鍦扮被鍨�" prop="type"> + <el-select v-model="searchForm.type" @change="search" clearable placeholder="鐩殑鍦扮被鍨�"> + <el-option label="甯傚唴鐢ㄨ溅" value="0"></el-option> + <el-option label="甯傚鐢ㄨ溅" value="1"></el-option> + </el-select> + </el-form-item> + <el-form-item label="鍑哄彂鏃堕棿" prop="startTime"> + <el-date-picker + @change="seleTime" + v-model="time" + @keypress.enter.native="search" + type="datetimerange" + format="yyyy-MM-dd HH:mm:ss" + value-format="yyyy-MM-dd HH:mm:ss" + range-separator="鑷�" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡"> + </el-date-picker> + </el-form-item> + <el-radio-group v-model="searchForm.radio" size="small" @input="changeRadio"> + <el-radio-button label="0">褰撳ぉ</el-radio-button> + <el-radio-button label="1">杩�7澶�</el-radio-button> + <el-radio-button label="2">杩�30澶�</el-radio-button> + </el-radio-group> + <section> + <el-button type="primary" @click="search">鎼滅储</el-button> + <el-button @click="reset">閲嶇疆</el-button> + </section> + </el-form> + <!-- 琛ㄦ牸鍜屽垎椤� --> + <template v-slot:table-wrap> + <ul class="toolbar" v-permissions="['business:empower:create', 'business:empower:delete']"> + <!--<li><el-button type="primary" v-permissions="['business:empower:exportExcel']" @click="exportExcel">瀵煎嚭</el-button></li> --> + </ul> + <el-table + v-loading="isWorking.search" + :data="tableData.list" + stripe + @selection-change="handleSelectionChange" > - <template> - <el-button type="text">鏌ョ湅璇︽儏</el-button> - </template> - </el-table-column> - </el-table> - <pagination - @size-change="handleSizeChange" - @current-change="getList" - :pagination="pagination" - /> - </div> + <el-table-column type="selection" width="55"></el-table-column> + <el-table-column prop="memberName" label="鎻愭姤浜�" min-width="80px"></el-table-column> + <el-table-column prop="companyName" label="鎵�灞炵粍缁�" min-width="150px"></el-table-column> + <el-table-column prop="carCode" label="杞︾墝鍙�" min-width="100px"></el-table-column> + <el-table-column label="鐢ㄨ溅鏃堕棿" min-width="170px"> + <template slot-scope="{row}"> + <span>璧�:{{row.startTime || ''}}</span><br> + <span>姝�:{{row.endTime || ''}}</span> + </template> + </el-table-column> + <el-table-column prop="planUseDate" label="鍑哄彂鏃堕棿" min-width="150px"></el-table-column> + <el-table-column label="鐩殑鍦扮被鍨�" min-width="100px"> + <template slot-scope="{row}"> + <span class="status-green" v-if="row.type === 0">甯傚唴鐢ㄨ溅</span> + <span class="status-red" v-if="row.type === 1">甯傚鐢ㄨ溅</span> + </template> + </el-table-column> + <el-table-column prop="addr" label="鐩殑鍦�" min-width="200px"></el-table-column> + <el-table-column label="鐘舵��" min-width="100px"> + <template slot-scope="{row}"> + <span class="status-blue" v-if="row.status === 0">鐢宠涓�</span> + <span class="status-blue" v-if="row.status === 1">寰呭鎵�</span> + <span class="status-green" v-if="row.status === 2">瀹℃壒閫氳繃</span> + <span class="status-red" v-if="row.status === 3">瀹℃壒涓嶉�氳繃</span> + <span class="status-red" v-if="row.status === 4">宸插彇娑�</span> + </template> + </el-table-column> + + <el-table-column prop="createDate" label="鐢宠鏃堕棿" min-width="150px"></el-table-column> + <el-table-column prop="editDate" label="鎿嶄綔鏃堕棿" min-width="150px"></el-table-column> + <el-table-column + label="鎿嶄綔" + min-width="100" + align="center" + fixed="right" + > + <template slot-scope="{row}"> + <el-button type="text" icon="el-icon-edit" @click="$refs.OperaHiddenDangerWindow.open('闅愭偅闅忔墜鎷嶈鎯�',row)" >鏌ョ湅璇︽儏</el-button> + </template> + </el-table-column> + </el-table> + <pagination + @size-change="handleSizeChange" + @current-change="handlePageChange" + :pagination="tableData.pagination" + > + </pagination> + </template> + <OperaHiddenDangerWindow ref="OperaHiddenDangerWindow" @success="handlePageChange"/> + </TableLayout> </template> <script> +import BaseTable from '@/components/base/BaseTable' +import TableLayout from '@/layouts/TableLayout' import Pagination from '@/components/common/Pagination' -import QueryForm from '@/components/common/QueryForm' +import OperaHiddenDangerWindow from '@/components/business/OperaHiddenDangerWindow' +import { timeForMat } from '@/utils/util' +import { allList } from '@/api/business/hiddenDangerParam' export default { - components: { - Pagination, - QueryForm - }, + name: 'Empower', + extends: BaseTable, + components: { TableLayout, Pagination ,OperaHiddenDangerWindow}, data () { return { - filters: {}, - loading: false, - queryFormConfig: { - formItems: [ - { - filed: 'name', - type: 'input', - label: '鐢宠浜哄鍚�' - }, - { - filed: 'idCard', - type: 'input', - label: '杞︾墝鐓�' - }, - { - filed: 'name', - type: 'select', - label: '鐩殑鍦扮被鍒�', - options: [] - }, - { - filed: 'name', - type: 'datetimerange', - label: '鍑哄彂鏃堕棿', - options: [] - } - ], - online: true + // 鎼滅储 + searchForm: { + memberName: '', + companyName: '', + queryStartTime: '', + queryEndTime: '', + type: null, + status:null }, - pagination: { - capacity: 10, - page: 1 - }, - list: [], - total: 0 + cateList: [], + areaList: [], + time: [] } }, + created () { + this.config({ + module: '鐢ㄨ溅鐢宠绠$悊', + api: '/business/carUseBook', + 'field.id': 'id', + 'field.main': 'id' + }) + // this.search() + this.changeRadio('0') + this.loadParams() + }, methods: { - getList (page) { }, - clear () { }, - handleSizeChange (capacity) { - this.pagination.capacity = capacity + changeRadio (e) { + this.searchForm.radio = e + if (e === '0') { + this.searchForm.queryStartTime = timeForMat(0)[0] + this.searchForm.queryEndTime = timeForMat(0)[1] + this.time = timeForMat(0) + } else if (e === '1') { + this.searchForm.queryStartTime = timeForMat(6)[0] + this.searchForm.queryEndTime = timeForMat(6)[1] + this.time = timeForMat(6) + } else if (e === '2') { + this.searchForm.queryStartTime = timeForMat(29)[0] + this.searchForm.queryEndTime = timeForMat(29)[1] + this.time = timeForMat(29) + } + this.search() + }, + loadParams () { + allList({ + }) + .then(res => { + if (res != null && res.length) { + res.forEach(item => { + if (item && item.type != null && item.type === 0) { + this.areaList.push(item) + } + if (item && item.type != null && item.type === 1) { + this.cateList.push(item) + } + }) + } + }) + .catch(e => { + // this.$tip.apiFailed(e) + }) + .finally(() => { + }) + }, + seleTime (e) { + this.searchForm.queryStartTime = e[0] + this.searchForm.queryEndTime = e[1] + this.searchForm.radio = null + this.search() + }, + reset () { + this.$refs.searchForm.resetFields() + this.searchForm.radio = '0' + this.changeRadio('0') + // this.search() } } } </script> - -<style> -</style> diff --git a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java index 9271ca9..d89fc2d 100644 --- a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java +++ b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java @@ -299,14 +299,6 @@ int invalid =9; } - public interface multifileObjType{ - //0闅愭偅鐜板満鎯呭喌 1闅愭偅澶勭悊鍓嶆儏鍐� 2闅愭偅澶勭悊鍚庢儏鍐� 3闅愭偅閫�鍥炶鏄� - int zero = 0; - int one = 1; - int two = 2; - int three = 3; - } - public interface EmpowerStatus{ //涓�鍗¢�氭巿鏉冧笅鍙戠姸鎬� 0寰呬笅鍙� 1宸蹭笅鍙� 2涓嬪彂鎴愬姛 3宸插彇娑� 4涓嬪彂澶辫触 5浠诲姟涓嬭浇宸茬粨鏉� diff --git a/server/system_service/src/main/java/com/doumee/dao/system/MultifileMapper.java b/server/system_service/src/main/java/com/doumee/dao/system/MultifileMapper.java index c13a8fc..6b5e635 100644 --- a/server/system_service/src/main/java/com/doumee/dao/system/MultifileMapper.java +++ b/server/system_service/src/main/java/com/doumee/dao/system/MultifileMapper.java @@ -3,10 +3,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.doumee.dao.system.model.Multifile; +import java.util.List; + /** * @author 姹熻箘韫� * @date 2023/05/04 18:18 */ public interface MultifileMapper extends BaseMapper<Multifile> { + void insertBatchSomeColumn(List<Multifile> fileList); } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java index 8112d11..0f9ed9a 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java @@ -84,7 +84,7 @@ @ApiModelProperty(value = "澶勭悊璇存槑") @ExcelColumn(name="澶勭悊璇存槑") - private String checklInfo; + private String checkInfo; @ApiModelProperty(value = "澶勭悊浜虹紪鐮侊紙鍏宠仈member)", example = "1") @ExcelColumn(name="澶勭悊浜虹紪鐮侊紙鍏宠仈member)") diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java index f875670..04afebc 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java @@ -165,11 +165,11 @@ queryWrapper.select("t1.name",CarUseBook::getMemberName); queryWrapper.select("t1.phone",CarUseBook::getMemberPhone); queryWrapper.select("t2.name",CarUseBook::getDriverName); - queryWrapper.select("t3.phone",CarUseBook::getDriverPhone); + queryWrapper.select("t2.phone",CarUseBook::getDriverPhone); queryWrapper.select("t4.company_name_path",CarUseBook::getCompanyName); queryWrapper.leftJoin(Member.class,Member::getId,CarUseBook::getMemberId) - .leftJoin("company t4 on t1.company_id=t4.id") .leftJoin(Member.class,Member::getId,CarUseBook::getDriverId) + .leftJoin("company t4 on t1.company_id=t4.id") .eq(CarUseBook::getId,id) .last("limit 1" ); CarUseBook model = carUseBookMapper.selectJoinOne(CarUseBook.class,queryWrapper); @@ -203,11 +203,11 @@ queryWrapper.select("t1.name",CarUseBook::getMemberName); queryWrapper.select("t1.phone",CarUseBook::getMemberPhone); queryWrapper.select("t2.name",CarUseBook::getDriverName); - queryWrapper.select("t3.phone",CarUseBook::getDriverPhone); + queryWrapper.select("t2.phone",CarUseBook::getDriverPhone); queryWrapper.select("t4.company_name_path",CarUseBook::getCompanyName); queryWrapper.leftJoin(Member.class,Member::getId,CarUseBook::getMemberId) - .leftJoin("company t4 on t1.company_id=t4.id") - .leftJoin(Member.class,Member::getId,CarUseBook::getDriverId); + .leftJoin(Member.class,Member::getId,CarUseBook::getDriverId) + .leftJoin("company t4 on t1.company_id=t4.id"); queryWrapper .eq(pageWrap.getModel().getId() != null, CarUseBook::getId, pageWrap.getModel().getId()) .eq(pageWrap.getModel().getCreator() != null, CarUseBook::getCreator, pageWrap.getModel().getCreator()) @@ -243,6 +243,7 @@ .eq(pageWrap.getModel().getAddr() != null, CarUseBook::getAddr, pageWrap.getModel().getAddr()) .eq(pageWrap.getModel().getMemberId() != null, CarUseBook::getMemberId, pageWrap.getModel().getMemberId()) .eq(pageWrap.getModel().getDriverId() != null, CarUseBook::getDriverId, pageWrap.getModel().getDriverId()) + .apply(pageWrap.getModel().getCompanyName() != null, "t4.company_name_path like '%"+pageWrap.getModel().getCompanyName()+"%'") .and(StringUtils.isNotBlank(pageWrap.getModel().getQueryDate()), i->i.and(j->j.lt(CarUseBook::getStartTime,pageWrap.getModel().getQueryDate() +"00:00:00").gt(CarUseBook::getStartTime,pageWrap.getModel().getQueryDate() +"23:59:59")) .or() @@ -254,8 +255,8 @@ ) .and(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()), ms->ms.like(Member::getName,pageWrap.getModel().getMemberName()) .or().like(Member::getPhone,pageWrap.getModel().getMemberName())) - .ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), Empower::getCreateDate,pageWrap.getModel().getQueryStartTime()) - .le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()),Empower::getCreateDate,pageWrap.getModel().getQueryEndTime()) + .ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), CarUseBook::getPlanUseDate,pageWrap.getModel().getQueryStartTime()) + .le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()),CarUseBook::getPlanUseDate,pageWrap.getModel().getQueryEndTime()) .orderByDesc(Visits::getCreateDate) ; for(PageWrap.SortData sortData: pageWrap.getSorts()) { diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerLogServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerLogServiceImpl.java index 312a77c..5d5b729 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerLogServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerLogServiceImpl.java @@ -126,14 +126,14 @@ if(Objects.isNull(hiddenDanger)){ return null; } - HiddenDangerLog newBean = new HiddenDangerLog(); - newBean.setCreateUserName("-"); - newBean.setCompanyName("-"); - newBean.setTitle("闅愭偅澶勭悊"); - newBean.setAvatar("-"); - if(hiddenDanger.getStatus().equals(Constants.ZERO)){ //涓嬩竴姝ュ鐞嗕汉 + HiddenDangerLog newBean = new HiddenDangerLog(); + newBean.setCreateUserName("-"); + newBean.setCompanyName("-"); + newBean.setTitle("闅愭偅澶勭悊"); + newBean.setAvatar("-"); + SystemUser systemUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda().eq(SystemUser::getMemberId,hiddenDanger.getCheckUserId())); if(Objects.nonNull(systemUser)){ newBean.setCreateUserName(systemUser.getRealname()); @@ -143,8 +143,8 @@ newBean.setCompanyName(company.getCompanyNamePath()); } } + hiddenDangerLogList.add(newBean); } - hiddenDangerLogList.add(newBean); String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java index c3c58f0..a59e7e3 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java @@ -104,7 +104,7 @@ multifile.setCreator(hiddenDanger.getCreator()); multifile.setIsdeleted(Constants.ZERO); multifile.setObjId(hiddenDanger.getId()); - multifile.setObjType(Constants.multifileObjType.zero); + multifile.setObjType(Constants.MultiFile.HIDDEN_DANGER_SUBMIT.getKey()); multifile.setSortnum(i+1); multifileMapper.insert(multifile); } @@ -260,7 +260,7 @@ .eq(pageWrap.getModel().getMemberId() != null, HiddenDanger::getMemberId, pageWrap.getModel().getMemberId()) .ge(pageWrap.getModel().getCheckDate() != null, HiddenDanger::getCheckDate, Utils.Date.getStart(pageWrap.getModel().getCheckDate())) .le(pageWrap.getModel().getCheckDate() != null, HiddenDanger::getCheckDate, Utils.Date.getEnd(pageWrap.getModel().getCheckDate())) - .eq(pageWrap.getModel().getChecklInfo() != null, HiddenDanger::getChecklInfo, pageWrap.getModel().getChecklInfo()) + .eq(pageWrap.getModel().getCheckInfo() != null, HiddenDanger::getCheckInfo, pageWrap.getModel().getCheckInfo()) .eq(pageWrap.getModel().getCheckUserId() != null, HiddenDanger::getCheckUserId, pageWrap.getModel().getCheckUserId()) .eq(pageWrap.getModel().getAreaName() != null, HiddenDanger::getAreaName, pageWrap.getModel().getAreaName()) @@ -291,12 +291,31 @@ @Override @Transactional(rollbackFor = {Exception.class,BusinessException.class}) public void dealHiddenDanger(HiddenDanger hiddenDanger){ + isParamValid(hiddenDanger); + dealFileBiz(hiddenDanger); + hiddenDanger.setEditor(hiddenDanger.getLoginUserInfo().getId()); + hiddenDanger.setEditDate(new Date()); + hiddenDanger.setCheckDate(hiddenDanger.getEditDate()); + hiddenDangerMapper.updateById(hiddenDanger); + //瀛樺偍 鎿嶄綔鏃ュ織 + HiddenDangerLog hiddenDangerLog = new HiddenDangerLog(); + hiddenDangerLog.setIsdeleted(Constants.ZERO); + hiddenDangerLog.setCreateDate(new Date()); + hiddenDangerLog.setCreator(hiddenDanger.getEditor()); + hiddenDangerLog.setHiddenDangerId(hiddenDanger.getId()); + hiddenDangerLog.setContent(hiddenDanger.getCheckInfo()); + hiddenDangerLog.setTitle(hiddenDanger.getStatus().equals(Constants.ONE)?"闅愭偅澶勭悊":"闅愭偅閫�鍥�"); + hiddenDangerLog.setObjType(hiddenDanger.getStatus().equals(Constants.ONE)?Constants.FOUR:Constants.TWO); + hiddenDangerLogMapper.insert(hiddenDangerLog); + } + + private void isParamValid(HiddenDanger hiddenDanger) { if(Objects.isNull(hiddenDanger) - || Objects.isNull(hiddenDanger.getId()) - || Objects.isNull(hiddenDanger.getDealTime()) - || Objects.isNull(hiddenDanger.getLoginUserInfo()) - || Objects.isNull(hiddenDanger.getStatus()) - ){ + || Objects.isNull(hiddenDanger.getId()) + || Objects.isNull(hiddenDanger.getDealTime()) + || Objects.isNull(hiddenDanger.getLoginUserInfo()) + || Objects.isNull(hiddenDanger.getStatus()) + ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } HiddenDanger model = hiddenDangerMapper.selectById(hiddenDanger.getId()); @@ -306,53 +325,66 @@ if (!model.getStatus().equals(Constants.ZERO)) { throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�佸凡娴佽浆!"); } - if (!model.getCheckUserId().equals(hiddenDanger.getEditor())) { + if (!model.getCheckUserId().equals(hiddenDanger.getLoginUserInfo().getMemberId())) { throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"澶勭悊浜洪潪褰撳墠浜哄憳锛�"); } if(!(hiddenDanger.getStatus().equals(Constants.ONE)||hiddenDanger.getStatus().equals(Constants.TWO))){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�侀敊璇紒"); } - //鏁存敼鍓嶆枃浠� + } + + private void dealFileBiz(HiddenDanger hiddenDanger) {//鏁存敼鍓嶆枃浠� List<Multifile> beforList = hiddenDanger.getDealBeforeFileList(); + List<Multifile> fileList = new ArrayList<>(); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(beforList)){ + boolean isTrue = false; for (int i = 0; i < beforList.size(); i++) { Multifile multifile = beforList.get(i); + if(StringUtils.isBlank(multifile.getFileurl())){ + continue; + } multifile.setCreateDate(new Date()); multifile.setCreator(hiddenDanger.getEditor()); multifile.setIsdeleted(Constants.ZERO); multifile.setObjId(hiddenDanger.getId()); - multifile.setObjType(Constants.multifileObjType.one); + multifile.setCreator(hiddenDanger.getLoginUserInfo().getId()); + multifile.setObjType(Constants.MultiFile.HIDDEN_DANGER_DEAL_BEFORE.getKey()); multifile.setSortnum(i+1); - multifileMapper.insert(multifile); + fileList.add(multifile); + isTrue=true; + } + if(hiddenDanger.getStatus().equals(Constants.ONE) && !isTrue){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇锋寜瑕佹眰濉啓澶勭悊鏁版嵁"); } } if(hiddenDanger.getStatus().equals(Constants.ONE)){ + boolean isTrue = false; List<Multifile> afterList = hiddenDanger.getDealAfterFileList(); if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(afterList)){ for (int i = 0; i < afterList.size(); i++) { Multifile multifile = afterList.get(i); + if(StringUtils.isBlank(multifile.getFileurl())){ + continue; + } multifile.setCreateDate(new Date()); multifile.setCreator(hiddenDanger.getEditor()); multifile.setIsdeleted(Constants.ZERO); + multifile.setCreator(hiddenDanger.getLoginUserInfo().getId()); multifile.setObjId(hiddenDanger.getId()); - multifile.setObjType(Constants.multifileObjType.two); + multifile.setObjType(Constants.MultiFile.HIDDEN_DANGER_DEAL_AFTER.getKey()); multifile.setSortnum(i+1); - multifileMapper.insert(multifile); + fileList.add(multifile); + isTrue = true; } } + if(isTrue){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇锋寜瑕佹眰濉啓澶勭悊鏁版嵁"); + } } - hiddenDanger.setEditor(hiddenDanger.getLoginUserInfo().getId()); - hiddenDanger.setEditDate(new Date()); - hiddenDangerMapper.updateById(hiddenDanger); - //瀛樺偍 鎿嶄綔鏃ュ織 - HiddenDangerLog hiddenDangerLog = new HiddenDangerLog(); - hiddenDangerLog.setIsdeleted(Constants.ZERO); - hiddenDangerLog.setCreateDate(new Date()); - hiddenDangerLog.setCreator(hiddenDanger.getCreator()); - hiddenDangerLog.setHiddenDangerId(hiddenDanger.getId()); - hiddenDangerLog.setTitle(hiddenDanger.getStatus().equals(Constants.ONE)?"闅愭偅澶勭悊":"闅愭偅閫�鍥�"); - hiddenDangerLog.setObjType(hiddenDanger.getStatus().equals(Constants.ONE)?Constants.FOUR:Constants.TWO); - hiddenDangerLogMapper.insert(hiddenDangerLog); + if(fileList.size()>0){ + multifileMapper.insertBatchSomeColumn(fileList); + } } -- Gitblit v1.9.3