Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit
已添加2个文件
已修改29个文件
已重命名1个文件
| | |
| | | "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", |
| | | "dev": true |
| | | }, |
| | | "path": { |
| | | "version": "0.12.7", |
| | | "resolved": "https://registry.npmmirror.com/path/-/path-0.12.7.tgz", |
| | | "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==", |
| | | "requires": { |
| | | "process": "^0.11.1", |
| | | "util": "^0.10.3" |
| | | }, |
| | | "dependencies": { |
| | | "inherits": { |
| | | "version": "2.0.3", |
| | | "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.3.tgz", |
| | | "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" |
| | | }, |
| | | "util": { |
| | | "version": "0.10.4", |
| | | "resolved": "https://registry.npmmirror.com/util/-/util-0.10.4.tgz", |
| | | "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", |
| | | "requires": { |
| | | "inherits": "2.0.3" |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | "path-browserify": { |
| | | "version": "0.0.1", |
| | | "resolved": "https://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.1.tgz", |
| | |
| | | "process": { |
| | | "version": "0.11.10", |
| | | "resolved": "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz", |
| | | "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", |
| | | "dev": true |
| | | "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" |
| | | }, |
| | | "process-nextick-args": { |
| | | "version": "2.0.1", |
| | |
| | | "element-ui": "^2.3.6", |
| | | "js-cookie": "^2.2.1", |
| | | "js-file-download": "^0.4.12", |
| | | "path": "^0.12.7", |
| | | "qrcodejs2": "0.0.2", |
| | | "vue": "^2.6.11", |
| | | "vue-clipboard2": "^0.3.1", |
| | |
| | | |
| | | // å é¤ |
| | | export function deleteById (id) { |
| | | return request.get(`/business/cars/delete/${id}`) |
| | | return request.get(`/visitsAdmin/cloudService/business/cars/delete/${id}`) |
| | | } |
| | | |
| | | // æ¹éå é¤ |
| | | export function deleteByIdInBatch (ids) { |
| | | return request.get('/business/cars/delete/batch', { |
| | | return request.get('/visitsAdmin/cloudService/business/cars/delete/batch', { |
| | | params: { |
| | | ids |
| | | } |
| | |
| | | trim: true |
| | | }) |
| | | } |
| | | export function allList (data) { |
| | | // return request.post('/business/member/page', data, { |
| | | // trim: true |
| | | // }) |
| | | return request.post('/visitsAdmin/cloudService/business/member/list', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | | // é¨é¨ä¿¡æ¯åæ¥ |
| | | export function memberSync (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/member/syncAll', data) |
| | |
| | | export function create (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/parkBook/create', data) |
| | | } |
| | | export function batchAuth (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/parkBook/batchAuth', data) |
| | | } |
| | | |
| | | // ä¿®æ¹ |
| | | export function updateById (data) { |
| | |
| | | |
| | | // å é¤ |
| | | export function deleteById (id) { |
| | | return request.get(`/business/parkBook/delete/${id}`) |
| | | return request.get(`/visitsAdmin/cloudService/business/parkBook/delete/${id}`) |
| | | } |
| | | |
| | | // æ¹éå é¤ |
| | |
| | | } |
| | | } |
| | | .tip-warn { |
| | | margin: 4px 0 12px 0; |
| | | margin: 4px 0 25px 0; |
| | | font-size: 12px; |
| | | color: #999; |
| | | i { |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | width="800px" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | | > |
| | | <p class="tip-warn"><i class="el-icon-warning"></i>æéï¼<br> |
| | | 1.è½¦è¾æéé
ç½®æååï¼ææä»»å¡å³è¿å
¥æéä¸åéåï¼å¯åå¾ãè½¦è¾ææç³è¯·è®°å½ãæ¥çä¸åè¿åº¦;<br> |
| | | 2.妿éè¦æ¸
空å½åéä¸äººåä¸åæéï¼ä»¥ä¸ãææå车åºã为空æäº¤å³å¯ã |
| | | </p> |
| | | <p class="tip" v-if="form.codes != null">æ£å¨ä¸º<em>ã{{ form.codes.map(item => `${item}`).join('ï¼') }}ã</em> é
ç½®åè½¦åºæé</p> |
| | | <el-form :model="form" ref="form" :rules="rules"> |
| | | <el-form-item label="æææææï¼" prop="authTimeType" > |
| | | <el-radio-group v-model="form.authTimeType"> |
| | | <el-radio :label="0">é¿æææ</el-radio> |
| | | <el-radio :label="1">èªå®ä¹æ¶é´</el-radio> |
| | | <el-radio :label="2">è·é车主</el-radio> |
| | | </el-radio-group> |
| | | <div v-if="form.authTimeType ==1" style="margin-top: 10px" > |
| | | <el-date-picker |
| | | @change="seleTime" |
| | | v-model="time" |
| | | 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> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="éæ©å车åº" prop="parkIdList"> |
| | | <el-select multiple v-model="form.parkIdList" filterable placeholder="è¯·éæ©" clearable> |
| | | <el-option |
| | | v-for="item in parks" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { findList } from '@/api/business/parks' |
| | | export default { |
| | | name: 'OperaCarsWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | data () { |
| | | var validateTime = (rule, value, callback) => { |
| | | if (this.form.authTimeType == null) { |
| | | callback(new Error('è¯·å¡«åæ£ç¡®çææææææ¶é´')) |
| | | return |
| | | } |
| | | if (this.form.authTimeType === 1 && (this.form.startTime == null || this.form.endTime == null)) { |
| | | callback(new Error('è¯·å¡«åæ£ç¡®çææææææ¶é´')) |
| | | return |
| | | } |
| | | callback() |
| | | } |
| | | return { |
| | | // è¡¨åæ°æ® |
| | | form: { |
| | | ids: [], |
| | | codes: [], |
| | | authTimeType: 0, |
| | | startTime: null, |
| | | endTime: null, |
| | | parkIdList: [] |
| | | }, |
| | | time: null, |
| | | parks: [], |
| | | // éªè¯è§å |
| | | rules: { |
| | | authTimeType: [ |
| | | { required: true, validator: validateTime, message: '请éä¸é¨ç¦æææ' } |
| | | ] |
| | | |
| | | }, |
| | | options: [] |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/parkBook', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | confirm () { |
| | | this.$refs.form.validate((valid) => { |
| | | if (!valid) { |
| | | return |
| | | } |
| | | if (this.form.parkIdList == null || this.form.parkIdList.length === 0) { |
| | | this.$dialog.actionConfirm('ææå车åºä¸ºç©ºï¼æäº¤å峿¸
餿é车è¾å·²åé
çå
¨é¨æé,请谨æ
æä½ï¼', 'æ¨ç¡®è®¤è¿è¡è¯¥æä½åï¼') |
| | | .then(() => { |
| | | this.confirmDo() |
| | | }) |
| | | .catch(() => {}) |
| | | } else { |
| | | this.confirmDo() |
| | | } |
| | | }) |
| | | }, |
| | | confirmDo () { |
| | | // è°ç¨æ°å»ºæ¥å£ |
| | | this.isWorking = true |
| | | this.api.batchAuth({ |
| | | idList: this.form.ids, |
| | | authTimeType: this.form.authTimeType, |
| | | startTime: this.form.startTime, |
| | | endTime: this.form.endTime, |
| | | parkIdList: this.form.parkIdList |
| | | }) |
| | | .then(() => { |
| | | this.visible = false |
| | | this.$tip.apiSuccess('æææå,å¯åå¾ãè½¦è¾ææç³è¯·è®°å½ãæ¥çä¸åè¿åº¦') |
| | | this.$emit('success') |
| | | }) |
| | | .catch(e => { |
| | | // this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.isWorking = false |
| | | }) |
| | | }, |
| | | seleTime (e) { |
| | | if (e && e.length >= 2) { |
| | | this.form.startTime = e[0] |
| | | this.form.endTime = e[1] |
| | | } else { |
| | | this.form.startTime = null |
| | | this.form.endTime = null |
| | | } |
| | | }, |
| | | open (title, ids, names, companyType) { |
| | | this.title = title |
| | | this.visible = true |
| | | this.companyType = companyType |
| | | // æ°å»º |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | this.form[this.configData['field.id']] = null |
| | | this.form.ids = ids |
| | | this.form.codes = names |
| | | |
| | | this.loadParks() |
| | | console.log(names) |
| | | }) |
| | | }, |
| | | loadParks () { |
| | | this.parks = [] |
| | | findList({ |
| | | isdeleted: 0 |
| | | }) |
| | | .then(res => { |
| | | this.parks = res |
| | | }) |
| | | .catch(e => { |
| | | this.$message.error('å è½½å车åºä¿¡æ¯å¤±è´¥') |
| | | }) |
| | | .finally(() => { |
| | | // this.isWorking = false |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <el-form-item label="车çå·" prop="code"> |
| | | <el-input v-model="form.code" placeholder="请è¾å
¥è½¦çå·" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="ç¨æ·ç±»å" prop="code"> |
| | | <el-radio-group v-model="form.code"> |
| | | <el-radio label="å
é¨åå·¥"></el-radio> |
| | | <el-radio label="å³å¡äººå"></el-radio> |
| | | <el-form-item label="车è¾ç±»å" prop="type"> |
| | | <el-radio-group v-model="form.type" > |
| | | <el-radio :label="0" >å工车è¾</el-radio> |
| | | <el-radio :label="1" >宿³°å
¬å¡è½¦</el-radio> |
| | | <el-radio :label="2" >宿³°ç©æµè½¦</el-radio> |
| | | <el-radio :label="3" >å¸å
¬å¸å
¬è½¦</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="éæ©ç¨æ·" prop="code"> |
| | | <el-select v-model="form.code" filterable placeholder="è¯·éæ©"> |
| | | <el-form-item label="éæ©è½¦ä¸»ï¼" prop="memberId"> |
| | | <el-select v-model="form.memberId" filterable placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | v-for="item in memberList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="æææææ" prop="code"> |
| | | <el-date-picker |
| | | v-model="form.code" |
| | | type="daterange" |
| | | range-separator="è³" |
| | | start-placeholder="å¼å§æ¥æ" |
| | | end-placeholder="ç»ææ¥æ"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="ææå车åº" prop="code"> |
| | | <el-radio-group v-model="form.code"> |
| | | <el-radio label="å
¨é¨å车åº"></el-radio> |
| | | <el-radio label="é¨åå车åº"></el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-form> |
| | | </GlobalWindow> |
| | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { allList } from '@/api/business/member' |
| | | export default { |
| | | name: 'OperaCarsWindow', |
| | | name: 'OperaInternalCompanyWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | data () { |
| | | return { |
| | | // è¡¨åæ°æ® |
| | | memberList: [], |
| | | form: { |
| | | id: null, |
| | | code: '' |
| | | code: null, |
| | | memberId: null, |
| | | type: 0 |
| | | }, |
| | | // éªè¯è§å |
| | | rules: { |
| | | }, |
| | | options: [] |
| | | code: [ |
| | | { required: true, message: '请è¾å
¥è½¦çå·' } |
| | | ], |
| | | type: [ |
| | | { required: true, message: 'è¯·éæ©è½¦è¾ç±»å' } |
| | | ] |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/parkBook', |
| | | api: '/business/cars', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | open (title, target) { |
| | | this.title = title |
| | | this.visible = true |
| | | this.loadMember() |
| | | // æ°å»ºç»ç» |
| | | if (target == null) { |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | this.form[this.configData['field.id']] = null |
| | | this.form.type=0 |
| | | }) |
| | | return |
| | | } |
| | | // ç¼è¾ |
| | | this.$nextTick(() => { |
| | | for (const key in this.form) { |
| | | this.form[key] = target[key] |
| | | } |
| | | }) |
| | | }, |
| | | loadMember () { |
| | | allList({ |
| | | type: 2 |
| | | }) |
| | | .then(res => { |
| | | this.memberList = res |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.isWorking = false |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <GlobalWindow |
| | | :title="title" |
| | | :visible.sync="visible" |
| | | width="900px" |
| | | width="70%" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | | > |
| | |
| | | }) |
| | | .then(() => { |
| | | this.visible = false |
| | | this.$tip.apiSuccess('æ°å»ºæå') |
| | | this.$tip.apiSuccess('æææåï¼å¯åå¾ãäººåææè®°å½ãæ¥çä¸åè¿åº¦') |
| | | this.$emit('success') |
| | | }) |
| | | .catch(e => { |
| | |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.OperaInternalCompanyWindow.open('ç¼è¾ä¼ä¸ä¿¡æ¯',{ id: row.parentId,name:row.parentName,type:row.parentType, companyPath:row.parentCompanyPath}, row)" icon="el-icon-edit" v-permissions="['business:company:update']">ç¼è¾</el-button> |
| | | <el-button type="text" @click="$refs.OperaInternalCompanyWindow.open('æ°å»ºå级', row,null)" icon="el-icon-plus">æ°å»ºå级</el-button> |
| | | <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:company:delete']">å é¤</el-button> |
| | | <el-button type="text" @click="deleteById(row)" style="color: red" icon="el-icon-delete" v-permissions="['business:company:delete']">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | } |
| | | } |
| | | return null |
| | | }, |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <el-input v-model="searchForm.keyword" placeholder="请è¾å
¥å§å/ææºå·/å·¥å·" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="hasFace"> |
| | | <el-select v-model="searchForm.hasFace" @keypress.enter.native="search" placeholder="æ¯å¦æäººè¸"> |
| | | <el-select v-model="searchForm.hasFace" @keypress.enter.native="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="canVisit"> |
| | | <el-select v-model="searchForm.canVisit" @keypress.enter.native="search" placeholder="å¯æè®¿"> |
| | | <el-select v-model="searchForm.canVisit" clearable @keypress.enter.native="search" placeholder="å¯æè®¿"> |
| | | <el-option label="æ¯" value="1"></el-option> |
| | | <el-option label="å¦" value="0"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="status"> |
| | | <el-select v-model="searchForm.status" @keypress.enter.native="search" placeholder="ç¶æ"> |
| | | <el-select v-model="searchForm.status" @keypress.enter.native="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="hkStatus"> |
| | | <el-select v-model="searchForm.hkStatus" @keypress.enter.native="search" placeholder="æµ·åº·åæ¥ç¶æ"> |
| | | <el-select v-model="searchForm.hkStatus" @keypress.enter.native="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-button type="text" :loading="heading" icon="el-icon-delete" @click="updateHead(row,0)" v-if="row.headStatus ==1 " v-permissions="['business:member:head']">åæ¶ä¸»ç®¡</el-button> |
| | | <el-button type="text" :loading="heading" icon="el-icon-edit" @click="updateHead(row,1)" v-if="row.headStatus == 0" v-permissions="['business:member:head']">设为主管</el-button> |
| | | <el-button type="text" icon="el-icon-plus" @click="empower(row.id)" v-permissions="['business:empower:create']">éæ°ææ</el-button> |
| | | <el-button type="text" icon="el-icon-delete" @click="empower(row.id)" v-permissions="['business:empower:delete']">å é¤</el-button> |
| | | <el-button type="text" icon="el-icon-delete" @click="deleteById(row)" style="color: red" v-permissions="['business:member:delete']">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:member:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="120px" inline> |
| | | <el-form-item label="车çå·" prop="code"> |
| | | <el-input v-model="searchForm.code" clearable placeholder="请è¾å
¥è½¦çå·" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="车主å§å/ææºå·" prop="memberName"> |
| | | <el-input v-model="searchForm.memberName" clearable placeholder="车主å§å/ææºå·" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="车主é¨é¨" prop="companyName"> |
| | | <el-input v-model="searchForm.companyName" clearable placeholder="车主é¨é¨åç§°" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ææç¶æ" prop="authStatus"> |
| | | <el-select v-model="searchForm.authStatus" @keypress.enter.native="search" clearable placeholder="æ¯å¦ææ"> |
| | | <el-option label="æ¯" value="1"></el-option> |
| | | <el-option label="å¦" value="0"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="车è¾ç±»å" prop="type"> |
| | | <el-select v-model="searchForm.type" @keypress.enter.native="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-select> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">æç´¢</el-button> |
| | | <el-button @click="reset">éç½®</el-button> |
| | | </section> |
| | | </el-form> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:cars:create', 'business:parkBook:create']"> |
| | | <li><el-button type="primary" @click="$refs.operaCarsWindow.open('æ°å»ºè½¦è¾')" icon="el-icon-plus" v-permissions="['business:cars:create']">æ°å»º</el-button></li> |
| | | <li><el-button type="primary" @click="startEmpowerBatch" icon="el-icon-plus" v-permissions="['business:parkbook:create']">ä¸åææ</el-button></li> |
| | | </ul> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="code" label="车çå·" min-width="100px"></el-table-column> |
| | | <el-table-column label="车è¾ç±»å" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.type == 0" >å工车è¾</span> |
| | | <span v-if="row.type == 1">宿³°å
¬å¡è½¦</span> |
| | | <span v-if="row.type == 2" >宿³°ç©æµè½¦</span> |
| | | <span v-if="row.type == 3" >å¸å
¬å¸å
¬è½¦</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="memberName" label="车主å§å" min-width="100px"></el-table-column> |
| | | <el-table-column prop="memberPhone" label="è½¦ä¸»ææºå·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="companyName" label="车主ç»ç»" min-width="200px"></el-table-column> |
| | | <el-table-column label="æ¯å¦ææ" align="center" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.authStatus == 1" style="color: green">æ¯</span> |
| | | <span v-else style="color: red">å¦</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="parksName" label="å·²ææå车åº" min-width="200px"> |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.parkBookList && row.parkBookList.length" > |
| | | <span v-for="item in row.parkBookList" :key="item.id" style="display: block"> |
| | | <span :style="(item.hkStatus== 0?'color:#2080f7':(item.hkStatus== 1?'color:green':(item.hkStatus== 2?'color:red':'')))">ã{{item.hkStatus== 0?'çå¾
ä¸å':(item.hkStatus== 1?'ä¸åæå':(item.hkStatus== 2?'ä¸å失败':''))}}ã </span>{{item.parksName}} |
| | | </span> |
| | | </div> |
| | | <span v-if="row.parkBookList ==null ||row.parkBookList.length ==0">-</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="ä¸åæææ" min-width="170px"> |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.authStatus !=null && row.authStatus == 1 && row.parkBookList!=null && row.parkBookList.length>0"> |
| | | <div v-if="!row.startTime || !row.endTime">é¿æææ</div> |
| | | <div v-else> |
| | | <span>èµ·ï¼{{row.startTime}}</span><br/> |
| | | <span>æ¢ï¼{{row.endTime}}</span> |
| | | </div> |
| | | </div> |
| | | <div v-else >-</div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="editorName" label="æä½äºº" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editDate" label="æä½æ¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:member:update', 'business:member:delete','business:empower:create'])" |
| | | label="æä½" |
| | | min-width="250" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" icon="el-icon-edit" @click="$refs.operaCarsWindow.open('ç¼è¾è½¦è¾ä¿¡æ¯',row)" v-permissions="['business:cars:update']">ç¼è¾</el-button> |
| | | <el-button type="text" icon="el-icon-edit" @click="$refs.operaCarAuthWindow.open('ä¸åææ',[row.id],[row.code])" v-permissions="['business:parkbook:create']">ä¸åææ</el-button> |
| | | <el-button type="text" icon="el-icon-delete" @click="deleteById(row)" style="color: red" v-permissions="['business:empower:delete']">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | <!-- æ°å»º/ä¿®æ¹ --> |
| | | <OperaCarAuthWindow ref="operaCarAuthWindow" @success="handlePageChange"/> |
| | | <OperaCarsWindow ref="operaCarsWindow" @success="handlePageChange"/> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaCarsWindow from '@/components/business/OperaCarsWindow' |
| | | import OperaCarAuthWindow from '@/components/business/OperaCarAuthWindow' |
| | | import { sync } from '@/api/business/cars' |
| | | export default { |
| | | name: 'Cars', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaCarsWindow,OperaCarAuthWindow }, |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | | searchForm: { |
| | | code: '', |
| | | memberName: '', |
| | | companyName: '', |
| | | type:null, |
| | | authStatus:null |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: '车è¾ä¿¡æ¯è¡¨', |
| | | api: '/business/cars', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | this.search() |
| | | }, |
| | | methods: { |
| | | // åæ¥ä¿¡æ¯ |
| | | startEmpowerBatch () { |
| | | if (this.tableData.selectedRows.length === 0) { |
| | | this.$tip.warning('请è³å°éæ©ä¸æ¡æ°æ®') |
| | | return |
| | | } |
| | | var ids = [] |
| | | var codes = [] |
| | | this.tableData.selectedRows.forEach(item => { |
| | | ids.push(item.id) |
| | | codes.push(item.code) |
| | | }) |
| | | this.$refs.operaCarAuthWindow.open('车è¾ä¸åææ', ids, codes) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <el-form-item label="车çå·" prop="carCode"> |
| | | <el-input v-model="searchForm.carCode" placeholder="请è¾å
¥è½¦çå·" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="åå·¥å§å/ææºå·" prop="memberName"> |
| | | <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="请è¾å
¥é¨é¨" @keypress.enter.native="search"></el-input> |
| | | <el-form-item label="车主ç»ç»" prop="companyName"> |
| | | <el-input v-model="searchForm.companyName" placeholder="请è¾å
¥è½¦ä¸»ç»ç»" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="å车åºåç§°" prop="parksName"> |
| | | <el-input v-model="searchForm.parksName" placeholder="请è¾å
¥å车åºåç§°" @keypress.enter.native="search"></el-input> |
| | |
| | | } |
| | | }, |
| | | configureWebpack: { |
| | | // provide the app's title in webpack's name field, so that |
| | | // it can be accessed in index.html to inject the correct title. |
| | | resolve: { |
| | | alias: { |
| | | '@': resolve('src') |
| | |
| | | @GetMapping("/delete/{id}") |
| | | @RequiresPermissions("business:cars:delete") |
| | | public ApiResponse deleteById(@PathVariable Integer id) { |
| | | carsService.deleteById(id); |
| | | carsService.deleteById(id,getLoginUser(null)); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | |
| | | for (String id : idArray) { |
| | | idList.add(Integer.valueOf(id)); |
| | | } |
| | | carsService.deleteByIdInBatch(idList); |
| | | carsService.deleteByIdInBatch(idList,getLoginUser(null)); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | |
| | | @PostMapping("/create") |
| | | @CloudRequiredPermission("business:cars:create") |
| | | public ApiResponse create(@RequestBody Cars cars,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | cars.setLoginUserInfo(this.getLoginUser(token)); |
| | | return ApiResponse.success(carsService.create(cars)); |
| | | } |
| | | |
| | |
| | | @GetMapping("/delete/{id}") |
| | | @CloudRequiredPermission("business:cars:delete") |
| | | public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | carsService.deleteById(id); |
| | | carsService.deleteById(id,this.getLoginUser(token)); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | |
| | | for (String id : idArray) { |
| | | idList.add(Integer.valueOf(id)); |
| | | } |
| | | carsService.deleteByIdInBatch(idList); |
| | | carsService.deleteByIdInBatch(idList,this.getLoginUser(token)); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | |
| | | @PostMapping("/updateById") |
| | | @CloudRequiredPermission("business:cars:update") |
| | | public ApiResponse updateById(@RequestBody Cars cars,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | cars.setLoginUserInfo(this.getLoginUser(token)); |
| | | carsService.updateById(cars); |
| | | return ApiResponse.success(null); |
| | | } |
| | |
| | | public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | return ApiResponse.success(hiddenDangerService.findById(id)); |
| | | } |
| | | |
| | | @ApiOperation("鿣å¤ç") |
| | | @PostMapping("/dealHiddenDanger") |
| | | public ApiResponse dealHiddenDanger (@RequestBody HiddenDanger hiddenDanger,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | hiddenDanger.setLoginUserInfo(getLoginUser(token)); |
| | | hiddenDangerService.dealHiddenDanger(hiddenDanger); |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | | |
| | | @ApiOperation("éæ£è½¬äº¤") |
| | | @PostMapping("/transferHiddenDanger") |
| | | public ApiResponse transferHiddenDanger (@RequestBody HiddenDanger hiddenDanger,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | hiddenDanger.setLoginUserInfo(getLoginUser(token)); |
| | | hiddenDangerService.transferHiddenDanger(hiddenDanger); |
| | | return ApiResponse.success("æä½æå"); |
| | | } |
| | | |
| | | } |
| | |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.dao.business.model.Cars; |
| | | import com.doumee.dao.business.model.ParkBook; |
| | | import com.doumee.service.business.ParkBookService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.shiro.authz.annotation.RequiresPermissions; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | |
| | | @PostMapping("/create") |
| | | @CloudRequiredPermission("business:parkbook:create") |
| | | public ApiResponse create(@RequestBody ParkBook parkBook,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | parkBook.setLoginUserInfo(this.getLoginUser(token)); |
| | | return ApiResponse.success(parkBookService.create(parkBook)); |
| | | } |
| | | @PreventRepeat |
| | | @ApiOperation("æ¹éä¸åææ") |
| | | @PostMapping("/batchAuth") |
| | | @CloudRequiredPermission("business:parkbook:create") |
| | | public ApiResponse batchAuth(@RequestBody Cars cars, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | cars.setLoginUserInfo(this.getLoginUser(token)); |
| | | return ApiResponse.success(parkBookService.batchAuth(cars)); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDå é¤") |
| | |
| | | @PostMapping("/updateById") |
| | | @CloudRequiredPermission("business:parkbook:update") |
| | | public ApiResponse updateById(@RequestBody ParkBook parkBook,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | parkBook.setLoginUserInfo(this.getLoginUser(token)); |
| | | parkBookService.updateById(parkBook); |
| | | return ApiResponse.success(null); |
| | | } |
| | |
| | | import lombok.Data; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 车è¾ä¿¡æ¯è¡¨ |
| | |
| | | |
| | | @ApiModelProperty(value = "å建人ç¼ç ") |
| | | @ExcelColumn(name="å建人ç¼ç ") |
| | | private String creator; |
| | | private Integer creator; |
| | | |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | @ExcelColumn(name="å建æ¶é´") |
| | |
| | | |
| | | @ApiModelProperty(value = "æ´æ°äººç¼ç ") |
| | | @ExcelColumn(name="æ´æ°äººç¼ç ") |
| | | private String edirot; |
| | | private Integer edirot; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´") |
| | | @ExcelColumn(name="æ´æ°æ¶é´") |
| | | private Date editDate; |
| | | @ApiModelProperty(value = "ææå¼å§æ¶é´") |
| | | @ExcelColumn(name="ææå¼å§æ¶é´") |
| | | private Date startTime; |
| | | @ApiModelProperty(value = "ææç»ææ¶é´") |
| | | @ExcelColumn(name="ææç»ææ¶é´") |
| | | private Date endTime; |
| | | @ApiModelProperty(value = "æå䏿¬¡è¿åæ¶é´") |
| | | @ExcelColumn(name="æå䏿¬¡è¿åæ¶é´") |
| | | private Date lastInDate; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") |
| | | @ExcelColumn(name="æ¯å¦å é¤0å¦ 1æ¯") |
| | | private Integer isdeleted; |
| | | @ApiModelProperty(value = "æææ¶é´ç±»å 0é¿æææ 1èªå®ä¹ 2è½¦ä¸»æææ", example = "1") |
| | | @ExcelColumn(name="æææ¶é´ç±»å 0é¿æææ 1èªå®ä¹ 2è½¦ä¸»æææ") |
| | | private Integer authTimeType; |
| | | |
| | | @ApiModelProperty(value = "夿³¨") |
| | | @ExcelColumn(name="夿³¨") |
| | |
| | | @ExcelColumn(name="车çå·") |
| | | private String code; |
| | | |
| | | @ApiModelProperty(value = "车åºç¼ç ï¼å
³èparks)", example = "1") |
| | | @ExcelColumn(name="车åºç¼ç ï¼å
³èparks)") |
| | | private Integer parkId; |
| | | @ApiModelProperty(value = "ææå车ç¼ç éåï¼å
³èparks)", example = "1") |
| | | @ExcelColumn(name="ææå车ç¼ç éåï¼å
³èparks)") |
| | | private String parkId; |
| | | |
| | | @ApiModelProperty(value = "海康æ è¯", example = "1") |
| | | @ExcelColumn(name="海康æ è¯") |
| | | private String hkId2; |
| | | |
| | | @ApiModelProperty(value = "æµ·åº·åæ¥ç¶æ 0æªåæ¥ 1已忥", example = "1") |
| | | @ExcelColumn(name="æµ·åº·åæ¥ç¶æ 0æªåæ¥ 1已忥") |
| | |
| | | @ApiModelProperty(value = "ç¶æ 0ç¦ç¨ 1å¯ç¨", example = "1") |
| | | @ExcelColumn(name="ç¶æ 0ç¦ç¨ 1å¯ç¨") |
| | | private Integer status; |
| | | @ApiModelProperty(value = "ææç¶æ 0å¦ 1æ¯", example = "1") |
| | | @ExcelColumn(name="ææç¶æ 0å¦ 1æ¯") |
| | | private Integer authStatus; |
| | | |
| | | |
| | | @ApiModelProperty(value = "æå±åç»ç¼ç ï¼å
³ècar_group)", example = "1") |
| | | @ExcelColumn(name="æå±åç»ç¼ç ï¼å
³ècar_group)") |
| | | private Integer groupId; |
| | | |
| | | |
| | | @ApiModelProperty(value = "æææ¶é´ç±»å 0é¿æææ 1èªå®ä¹ 2è½¦ä¸»æææ", example = "1") |
| | | @ExcelColumn(name="æææ¶é´ç±»å 0é¿æææ 1èªå®ä¹ 2è½¦ä¸»æææ") |
| | | private Integer authTimeType; |
| | | |
| | | |
| | | // |
| | | // @ApiModelProperty(value = "ç¶æ 0ç¦ç¨ 1å¯ç¨", example = "1") |
| | | // @ExcelColumn(name="ç¶æ 0ç¦ç¨ 1å¯ç¨") |
| | | // private Integer status; |
| | | // |
| | | // |
| | | // @ApiModelProperty(value = "ç¶æ 0ç¦ç¨ 1å¯ç¨", example = "1") |
| | | // @ExcelColumn(name="ç¶æ 0ç¦ç¨ 1å¯ç¨") |
| | | // private Integer status; |
| | | // |
| | | // @ApiModelProperty(value = "ç¶æ 0ç¦ç¨ 1å¯ç¨", example = "1") |
| | | // @ExcelColumn(name="ç¶æ 0ç¦ç¨ 1å¯ç¨") |
| | | // private Integer status; |
| | | // |
| | | // @ApiModelProperty(value = "ç¶æ 0ç¦ç¨ 1å¯ç¨", example = "1") |
| | | // @ExcelColumn(name="ç¶æ 0ç¦ç¨ 1å¯ç¨") |
| | | // private Integer status; |
| | | |
| | | |
| | | |
| | | |
| | | @ApiModelProperty(value = "ç±»å 0åå·¥è½¦è¾ 1宿³°å
¬å¡è½¦ 2èªæç©æµè½¦3å¤åç©æµè½¦ 4å¸å
¬å¸ç©æµè½¦ 5å¸å
¬å¸æ³¨å车è¾", example = "1") |
| | | @ExcelColumn(name="ç±»å 0åå·¥è½¦è¾ 1宿³°å
¬å¡è½¦ 2èªæç©æµè½¦3å¤åç©æµè½¦ 4å¸å
¬å¸ç©æµè½¦ 5å¸å
¬å¸æ³¨å车è¾") |
| | |
| | | |
| | | |
| | | |
| | | @ApiModelProperty(value = "å车åºåç§°", example = "1") |
| | | @ExcelColumn(name="å车åºåç§°") |
| | | @ApiModelProperty(value = "å车åºåç§°éå", example = "1") |
| | | @ExcelColumn(name="å车åºåç§°éå") |
| | | @TableField(exist = false) |
| | | private String parksName; |
| | | @ApiModelProperty(value = "ç¼è¾äººå§å", example = "1") |
| | | @ExcelColumn(name="ç¼è¾äººå§å") |
| | | @TableField(exist = false) |
| | | private String editorName; |
| | | |
| | | @ApiModelProperty(value = "ç¨æ·ç±»å 0å³å¡è®¿å®¢ 1æ®é访客 2å
é¨äººå", example = "1") |
| | | @ExcelColumn(name="ç¨æ·ç±»å 0å³å¡è®¿å®¢ 1æ®é访客 2å
é¨äººå") |
| | |
| | | @ExcelColumn(name="å§å") |
| | | @TableField(exist = false) |
| | | private String memberName; |
| | | @ApiModelProperty(value = "车主海康ç¼ç ", example = "1") |
| | | @TableField(exist = false) |
| | | private String memberHkId; |
| | | |
| | | @ApiModelProperty(value = "ææºå·", example = "1") |
| | | @ExcelColumn(name="ææºå·") |
| | |
| | | @ExcelColumn(name="é¨é¨") |
| | | @TableField(exist = false) |
| | | private String companyName; |
| | | @ApiModelProperty(value = "车主æ¯å¦å é¤", example = "1") |
| | | @TableField(exist = false) |
| | | private Integer memberDeleted; |
| | | @ApiModelProperty(value = "è½¦ä¸»æææææå¼å§", example = "1") |
| | | @TableField(exist = false) |
| | | private Date memberStartTime; |
| | | @ApiModelProperty(value = "è½¦ä¸»æææææç»æ", example = "1") |
| | | @TableField(exist = false) |
| | | private Date memberEndTime; |
| | | @ApiModelProperty(value = "车主ææç¶æ", example = "1") |
| | | @TableField(exist = false) |
| | | private Integer memberAuthStatus; |
| | | |
| | | @ApiModelProperty(value = "ææå车åºç¼ç éå", example = "1") |
| | | @TableField(exist = false) |
| | | private List<Integer> parkIdList; |
| | | @ApiModelProperty(value = "车è¾ç¼ç éå", example = "1") |
| | | @TableField(exist = false) |
| | | private List<Integer> idList; |
| | | @ApiModelProperty(value = "车è¾å
æè®°å½éå", example = "1") |
| | | @TableField(exist = false) |
| | | private List<ParkBook> parkBookList; |
| | | |
| | | |
| | | } |
| | |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date submitTime; |
| | | |
| | | @ApiModelProperty(value = "å¤çæ¶é´ï¼æ´æ¹/éå使ç¨ï¼") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date dealTime; |
| | | |
| | | @ApiModelProperty(value = "éä»¶ä¿¡æ¯") |
| | | @TableField(exist = false) |
| | |
| | | import lombok.Data; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 车è¾é¢çº¦è®°å½ä¿¡æ¯è¡¨ |
| | |
| | | |
| | | @ApiModelProperty(value = "å建人ç¼ç ") |
| | | @ExcelColumn(name="å建人ç¼ç ") |
| | | private String creator; |
| | | private Integer creator; |
| | | |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | @ExcelColumn(name="å建æ¶é´") |
| | |
| | | @TableField(exist = false) |
| | | private String companyName; |
| | | @ApiModelProperty(value = "åè½¦åºæµ·åº·ç¼ç ", example = "1") |
| | | @ExcelColumn(name="åè½¦åºæµ·åº·ç¼ç ") |
| | | @TableField(exist = false) |
| | | private String parkHkId; |
| | | |
| | | |
| | | } |
| | |
| | | package com.doumee.service.business; |
| | | |
| | | import com.doumee.core.model.LoginUserInfo; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.admin.request.CarsQuery; |
| | |
| | | * |
| | | * @param id ä¸»é® |
| | | */ |
| | | void deleteById(Integer id); |
| | | void deleteById(Integer id, LoginUserInfo user); |
| | | |
| | | /** |
| | | * å é¤ |
| | |
| | | * |
| | | * @param ids 主é®é |
| | | */ |
| | | void deleteByIdInBatch(List<Integer> ids); |
| | | void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user); |
| | | |
| | | /** |
| | | * 䏻鮿´æ° |
| | |
| | | * @return long |
| | | */ |
| | | long count(HiddenDanger hiddenDanger); |
| | | |
| | | void dealHiddenDanger(HiddenDanger hiddenDanger); |
| | | |
| | | void transferHiddenDanger(HiddenDanger hiddenDanger); |
| | | } |
| | |
| | | |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.business.model.Cars; |
| | | import com.doumee.dao.business.model.ParkBook; |
| | | import java.util.List; |
| | | |
| | |
| | | long count(ParkBook parkBook); |
| | | |
| | | void reUpdate(ParkBook parkBook); |
| | | |
| | | String batchAuth(Cars parkBook); |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | | import com.doumee.core.model.LoginUserInfo; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Constants; |
| | |
| | | import com.doumee.dao.admin.request.CarsQuery; |
| | | import com.doumee.dao.admin.response.CarsDTO; |
| | | import com.doumee.dao.business.CarsMapper; |
| | | import com.doumee.dao.business.MemberMapper; |
| | | import com.doumee.dao.business.join.CarJoinMapper; |
| | | import com.doumee.dao.business.join.ParkBookJoinMapper; |
| | | import com.doumee.dao.business.model.*; |
| | | import com.doumee.dao.system.model.SystemUser; |
| | | import com.doumee.service.business.CarsService; |
| | | import com.doumee.service.business.impl.hksync.HkSyncParkServiceImpl; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * 车è¾ä¿¡æ¯è¡¨Serviceå®ç° |
| | |
| | | |
| | | @Autowired |
| | | private CarJoinMapper carJoinMapper; |
| | | @Autowired |
| | | private MemberMapper memberMapper; |
| | | |
| | | @Autowired |
| | | private ParkBookJoinMapper parkBookJoinMapper; |
| | | |
| | | @Override |
| | | public Integer create(Cars cars) { |
| | | carsMapper.insert(cars); |
| | | return cars.getId(); |
| | | public Integer create(Cars model) { |
| | | LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | if(loginUserInfo == null){ |
| | | loginUserInfo = model.getLoginUserInfo(); |
| | | } |
| | | if(StringUtils.isBlank(model.getCode()) |
| | | ||model.getType()==null |
| | | ||model.getType()<0 |
| | | ||model.getType()>3 |
| | | ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | if(model.getMemberId()!=null){ |
| | | //æ£æ¥è½¦ä¸»ä¿¡æ¯ |
| | | Member member =memberMapper.selectOne(new QueryWrapper<Member>().lambda() |
| | | .eq(Member::getId,model.getMemberId() ) |
| | | .eq(Member::getType,Constants.TWO ) |
| | | .eq(Member::getIsdeleted,Constants.ZERO) |
| | | .last("limit 1")); |
| | | if(member == null){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对ä¸èµ·ï¼è½¦ä¸»ä¿¡æ¯ä¸åå¨ï¼è¯·è¿åå·æ°éè¯!"); |
| | | } |
| | | model.setMemberHkId(member.getHkId()); |
| | | } |
| | | //æ£æ¥è½¦çå·æ¯å¦éå¤ |
| | | if(carsMapper.selectCount(new QueryWrapper<Cars>().lambda() |
| | | .eq(Cars::getCode,model.getCode() ) |
| | | .eq(Cars::getIsdeleted,Constants.ZERO ) |
| | | ) >0){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对ä¸èµ·ï¼è½¦è¾å·²ç»å½å
¥ï¼ä¸è½éå¤å½å
¥!"); |
| | | } |
| | | model.setType(Constants.formatIntegerNum(model.getType())); |
| | | model.setCreateDate(new Date()); |
| | | model.setCreator(loginUserInfo.getId()); |
| | | model.setEditDate(new Date()); |
| | | model.setEdirot(loginUserInfo.getId()); |
| | | model.setStatus(Constants.ZERO); |
| | | model.setIsdeleted(Constants.ZERO); |
| | | model.setHkStatus(Constants.ZERO); |
| | | model.setAuthStatus(Constants.ZERO); |
| | | model.setRemark(""); |
| | | // model.setHkDate(model.getCreateDate()); |
| | | // model.setHkId(UUID.randomUUID().toString().replace("-","")); |
| | | carsMapper.insert(model); |
| | | |
| | | return model.getId(); |
| | | } |
| | | |
| | | @Override |
| | | public void deleteById(Integer id) { |
| | | carsMapper.deleteById(id); |
| | | @Transactional(rollbackFor = {BusinessException.class,Exception.class}) |
| | | public void deleteById(Integer id, LoginUserInfo user) { |
| | | Cars car = carJoinMapper.selectById(id); |
| | | if(car ==null ||Constants.equalsInteger(car.getIsdeleted(),Constants.ONE)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对ä¸èµ·ï¼è½¦è¾ä¿¡æ¯ä¸åå¨ï¼"); |
| | | |
| | | } |
| | | Date date = new Date(); |
| | | //å é¤å·²ææä¸åçå
æææ |
| | | dealCancelBookBiz(car.getCode(),date); |
| | | Cars model = new Cars(); |
| | | model.setEditDate(date); |
| | | model.setEdirot(user.getId()); |
| | | model.setId(id); |
| | | model.setIsdeleted(Constants.ONE); |
| | | carsMapper.update(null,new UpdateWrapper<Cars>().lambda() |
| | | .eq(Cars::getId,model.getId()) |
| | | .set(Cars::getStartTime,null) |
| | | .set(Cars::getEndTime,null) |
| | | .set(Cars::getAuthStatus,Constants.ZERO) |
| | | .set(Cars::getIsdeleted,Constants.ONE) |
| | | .set(Cars::getEditDate,model.getEditDate()) |
| | | .set(Cars::getEdirot,model.getEdirot()) |
| | | ); |
| | | carsMapper.updateById(model); |
| | | } |
| | | public boolean dealCancelBookBiz(String code,Date date){ |
| | | |
| | | List<ParkBook> parkBooks = parkBookJoinMapper.selectJoinList(ParkBook.class,new MPJLambdaWrapper<ParkBook>() |
| | | .selectAll(ParkBook.class ) |
| | | .selectAs(Parks::getHkId,ParkBook::getParkHkId ) |
| | | .leftJoin(Parks.class,Parks::getId,ParkBook::getParkId) |
| | | .eq(ParkBook::getCarCode,code) |
| | | .eq(ParkBook::getIsdeleted,Constants.ZERO )); |
| | | if(parkBooks !=null){ |
| | | for(ParkBook c : parkBooks){ |
| | | //妿忶é¢çº¦ï¼åè¿è¡åæ¶å
æ |
| | | if(StringUtils.isNotBlank(c.getParkHkId()) |
| | | && StringUtils.isNotBlank(c.getCarCode())){ |
| | | boolean result = HkSyncParkServiceImpl.cancelParkBookHk(c); |
| | | if(!result){ |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对ä¸èµ·ï¼åæ¶å·²ä¸åææå¤±è´¥ï¼è¯·è系管çåå¤ç~"); |
| | | } |
| | | c.setHkStatus(Constants.ONE); |
| | | c.setRemark("åæ¶å
ææå"); |
| | | }else{ |
| | | c.setHkStatus(Constants.TWO);//ä¸å失败 |
| | | c.setRemark("æ æåè½¦åºææä¸åï¼åæ¶å
æå¤±è´¥ï¼ç´æ¥å é¤è®°å½"); |
| | | } |
| | | c.setHkDate(date); |
| | | c.setIsdeleted(Constants.ONE); |
| | | parkBookJoinMapper.updateById(c); |
| | | } |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | @Override |
| | |
| | | } |
| | | |
| | | @Override |
| | | public void deleteByIdInBatch(List<Integer> ids) { |
| | | @Transactional(rollbackFor = {BusinessException.class,Exception.class}) |
| | | public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) { |
| | | if (CollectionUtils.isEmpty(ids)) { |
| | | return; |
| | | } |
| | | carsMapper.deleteBatchIds(ids); |
| | | for(Integer id : ids){ |
| | | deleteById(id,user); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void updateById(Cars cars) { |
| | | carsMapper.updateById(cars); |
| | | public void updateById(Cars model) { |
| | | LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | if(loginUserInfo == null){ |
| | | loginUserInfo = model.getLoginUserInfo(); |
| | | } |
| | | if(StringUtils.isBlank(model.getCode()) |
| | | ||model.getId()==null |
| | | ||model.getType()==null |
| | | ||model.getType()<0 |
| | | ||model.getType()>3 |
| | | ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | Cars car = carJoinMapper.selectById(model.getId()); |
| | | if(car ==null ||Constants.equalsInteger(car.getIsdeleted(),Constants.ONE)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对ä¸èµ·ï¼è½¦è¾ä¿¡æ¯ä¸åå¨ï¼"); |
| | | |
| | | } |
| | | if(model.getMemberId()!=null){ |
| | | //æ£æ¥è½¦ä¸»ä¿¡æ¯ |
| | | Member member =memberMapper.selectOne(new QueryWrapper<Member>().lambda() |
| | | .eq(Member::getId,model.getMemberId() ) |
| | | .eq(Member::getType,Constants.TWO ) |
| | | .eq(Member::getIsdeleted,Constants.ZERO) |
| | | .last("limit 1")); |
| | | if(member == null){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对ä¸èµ·ï¼è½¦ä¸»ä¿¡æ¯ä¸åå¨ï¼è¯·è¿åå·æ°éè¯!"); |
| | | } |
| | | model.setMemberHkId(member.getHkId()); |
| | | } |
| | | //æ£æ¥è½¦çå·æ¯å¦éå¤ |
| | | if(carsMapper.selectCount(new QueryWrapper<Cars>().lambda() |
| | | .eq(Cars::getCode,model.getCode() ) |
| | | .ne(Cars::getId,model.getId() ) |
| | | .eq(Cars::getIsdeleted,Constants.ZERO ) |
| | | ) >0){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对ä¸èµ·ï¼è½¦è¾å·²ç»å½å
¥ï¼ä¸è½éå¤å½å
¥!"); |
| | | } |
| | | model.setType(Constants.formatIntegerNum(model.getType())); |
| | | model.setEditDate(new Date()); |
| | | model.setEdirot(loginUserInfo.getId()); |
| | | model.setIsdeleted(Constants.ZERO); |
| | | model.setHkStatus(Constants.ZERO); |
| | | model.setRemark(""); |
| | | model.setAuthStatus(Constants.ZERO); |
| | | dealCancelBookBiz(model.getCode(),model.getEditDate()); |
| | | carsMapper.update(null,new UpdateWrapper<Cars>().lambda() |
| | | .eq(Cars::getId,model.getId()) |
| | | .set(Cars::getAuthStatus,Constants.ZERO) |
| | | .set(Cars::getType,model.getType()) |
| | | .set(Cars::getCode,model.getCode()) |
| | | .set(Cars::getEditDate,model.getEditDate()) |
| | | .set(Cars::getEdirot,model.getEdirot()) |
| | | .set(Cars::getMemberId,model.getMemberId()) |
| | | .set(Cars::getStartTime,null) |
| | | .set(Cars::getEndTime,null) |
| | | ); |
| | | } |
| | | |
| | | @Override |
| | |
| | | public PageData<Cars> findPage(PageWrap<Cars> pageWrap) { |
| | | IPage<Cars> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | MPJLambdaWrapper<Cars> queryWrapper = new MPJLambdaWrapper<>(); |
| | | |
| | | queryWrapper.selectAll(Cars.class); |
| | | queryWrapper.selectAs(Parks::getName,Cars::getParksName); |
| | | queryWrapper.selectAs(Member::getType,Cars::getMemberType); |
| | | queryWrapper.selectAs(Member::getName,Cars::getMemberName); |
| | | queryWrapper.selectAs(SystemUser::getRealname,Cars::getEditorName); |
| | | queryWrapper.selectAs(Member::getPhone,Cars::getMemberPhone); |
| | | queryWrapper.selectAs(Company::getName,Cars::getCompanyName); |
| | | |
| | | queryWrapper.leftJoin(Parks.class,Parks::getId,Cars::getParkId); |
| | | queryWrapper.selectAs(Company::getCompanyNamePath,Cars::getCompanyName); |
| | | queryWrapper.leftJoin(Member.class,Member::getId,Cars::getMemberId); |
| | | queryWrapper.leftJoin(SystemUser.class,SystemUser::getId,Cars::getEdirot); |
| | | queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId); |
| | | |
| | | |
| | | queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()), ms->ms.like(Member::getName,pageWrap.getModel().getMemberName()) |
| | | .or().like(Member::getPhone,pageWrap.getModel().getMemberName())); |
| | | queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Company::getName,pageWrap.getModel().getCompanyName()); |
| | | queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Company::getCompanyNamePath,pageWrap.getModel().getCompanyName()); |
| | | queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getMemberType()),Member::getType,pageWrap.getModel().getMemberType()); |
| | | queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCode()),Cars::getCode,pageWrap.getModel().getCode()); |
| | | queryWrapper.eq(Cars::getIsdeleted,Constants.ZERO); |
| | | |
| | | queryWrapper.eq(pageWrap.getModel().getType()!=null,Cars::getType,pageWrap.getModel().getType()); |
| | | queryWrapper.eq(pageWrap.getModel().getAuthStatus()!=null,Cars::getAuthStatus,pageWrap.getModel().getAuthStatus()); |
| | | queryWrapper.orderByDesc(Cars::getCreateDate); |
| | | IPage<Cars> result = carJoinMapper.selectJoinPage(page, Cars.class,queryWrapper); |
| | | if(result!=null && result.getRecords()!=null && result.getRecords().size()>0){ |
| | | List<String> codes = new ArrayList<>(); |
| | | for(Cars cars :result.getRecords()){ |
| | | codes.add(cars.getCode()); |
| | | } |
| | | List<ParkBook> parkBooks = parkBookJoinMapper.selectJoinList(ParkBook.class,new MPJLambdaWrapper<ParkBook>() |
| | | .selectAll(ParkBook.class) |
| | | .selectAs(Parks::getName,ParkBook::getParksName) |
| | | .leftJoin(Parks.class,Parks::getId,ParkBook::getParkId) |
| | | .in(ParkBook::getCarCode,codes) |
| | | .eq(ParkBook::getIsdeleted,Constants.ZERO) ); |
| | | for(Cars cars :result.getRecords()){ |
| | | cars.setParkBookList(getParkbookListByCode(cars.getCode(),parkBooks)); |
| | | } |
| | | } |
| | | return PageData.from(result); |
| | | } |
| | | |
| | | private List<ParkBook> getParkbookListByCode(String code, List<ParkBook> parkBooks) { |
| | | List<ParkBook> list =null; |
| | | for(ParkBook p : parkBooks){ |
| | | if(StringUtils.equals(p.getCarCode(),code)){ |
| | | if(list == null){ |
| | | list = new ArrayList<>(); |
| | | } |
| | | list.add(p); |
| | | } |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | @Override |
| | | public long count(Cars cars) { |
| | | QueryWrapper<Cars> wrapper = new QueryWrapper<>(cars); |
| | |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.dao.business.HiddenDangerLogMapper; |
| | | import com.doumee.dao.business.HiddenDangerMapper; |
| | | import com.doumee.dao.business.HiddenDangerParamMapper; |
| | | import com.doumee.dao.business.MemberMapper; |
| | | import com.doumee.dao.business.model.*; |
| | | import com.doumee.dao.system.MultifileMapper; |
| | | import com.doumee.dao.system.model.Multifile; |
| | | import com.doumee.service.business.HiddenDangerLogService; |
| | | import com.doumee.service.business.HiddenDangerService; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.*; |
| | |
| | | @Autowired |
| | | private HiddenDangerParamMapper hiddenDangerParamMapper; |
| | | |
| | | @Autowired |
| | | private HiddenDangerLogMapper hiddenDangerLogMapper; |
| | | |
| | | |
| | | @Override |
| | | public Integer create(HiddenDanger hiddenDanger) { |
| | | if(Objects.isNull(hiddenDanger) |
| | | || Objects.isNull(hiddenDanger.getCreator()) |
| | | || Objects.isNull(hiddenDanger.getLoginUserInfo()) |
| | | || Objects.isNull(hiddenDanger.getAreaId()) |
| | | || Objects.isNull(hiddenDanger.getCateId()) |
| | | || Objects.isNull(hiddenDanger.getApplyCheckUserId()) |
| | |
| | | if(Objects.isNull(hiddenDangerParam)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"æªæ¥è¯¢å°éæ£åºå"); |
| | | } |
| | | hiddenDanger.setCreator(hiddenDanger.getLoginUserInfo().getId()); |
| | | hiddenDanger.setAreaName(hiddenDangerParam.getName()); |
| | | hiddenDanger.setStatus(Constants.ZERO); |
| | | if(StringUtils.isBlank(hiddenDangerParam.getMemberIds()) |
| | |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鿣åºåä¸å¤ç人ä¸å¹é
"); |
| | | } |
| | | hiddenDangerMapper.insert(hiddenDanger); |
| | | //åå¨ æä½æ¥å¿ |
| | | HiddenDangerLog hiddenDangerLog = new HiddenDangerLog(); |
| | | hiddenDangerLog.setIsdeleted(Constants.ZERO); |
| | | hiddenDangerLog.setCreateDate(new Date()); |
| | | hiddenDangerLog.setCreator(hiddenDanger.getCreator()); |
| | | hiddenDangerLog.setHiddenDangerId(hiddenDanger.getId()); |
| | | hiddenDangerLog.setObjType(Constants.ZERO); |
| | | hiddenDangerLogMapper.insert(hiddenDangerLog); |
| | | |
| | | List<Multifile> multifiles = hiddenDanger.getMultifileList(); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifiles)){ |
| | | for (int i = 0; i < multifiles.size(); i++) { |
| | |
| | | QueryWrapper<HiddenDanger> wrapper = new QueryWrapper<>(hiddenDanger); |
| | | return hiddenDangerMapper.selectCount(wrapper); |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class,BusinessException.class}) |
| | | public void dealHiddenDanger(HiddenDanger hiddenDanger){ |
| | | if(Objects.isNull(hiddenDanger) |
| | | || 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()); |
| | | if(Objects.isNull(model)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"æªæ¥è¯¢å°éæ£æ°æ®"); |
| | | } |
| | | if (!model.getStatus().equals(Constants.ZERO)) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"æ°æ®ç¶æå·²æµè½¬!"); |
| | | } |
| | | if (!model.getCheckUserId().equals(hiddenDanger.getEditor())) { |
| | | 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(),"ä¸å¡ç±»åé误ï¼"); |
| | | } |
| | | //æ´æ¹åæä»¶ |
| | | if(hiddenDanger.getStatus().equals(Constants.ONE)){ |
| | | List<Multifile> beforList = hiddenDanger.getDealBeforeFileList(); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(beforList)){ |
| | | for (int i = 0; i < beforList.size(); i++) { |
| | | Multifile multifile = beforList.get(i); |
| | | multifile.setCreateDate(new Date()); |
| | | multifile.setCreator(hiddenDanger.getEditor()); |
| | | multifile.setIsdeleted(Constants.ZERO); |
| | | multifile.setObjId(hiddenDanger.getId()); |
| | | multifile.setObjType(Constants.multifileObjType.one); |
| | | multifile.setSortnum(i+1); |
| | | multifileMapper.insert(multifile); |
| | | } |
| | | } |
| | | } |
| | | 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); |
| | | multifile.setCreateDate(new Date()); |
| | | multifile.setCreator(hiddenDanger.getEditor()); |
| | | multifile.setIsdeleted(Constants.ZERO); |
| | | multifile.setObjId(hiddenDanger.getId()); |
| | | multifile.setObjType(Constants.multifileObjType.two); |
| | | multifile.setSortnum(i+1); |
| | | multifileMapper.insert(multifile); |
| | | } |
| | | } |
| | | 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.setObjType(hiddenDanger.getStatus().equals(Constants.ONE)?Constants.FOUR:Constants.TWO); |
| | | hiddenDangerLogMapper.insert(hiddenDangerLog); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class,BusinessException.class}) |
| | | public void transferHiddenDanger(HiddenDanger hiddenDanger){ |
| | | if(Objects.isNull(hiddenDanger) |
| | | || Objects.isNull(hiddenDanger.getId()) |
| | | || Objects.isNull(hiddenDanger.getDealTime()) |
| | | || Objects.isNull(hiddenDanger.getLoginUserInfo()) |
| | | || Objects.isNull(hiddenDanger.getCheckUserId()) |
| | | ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | HiddenDanger model = hiddenDangerMapper.selectById(hiddenDanger.getId()); |
| | | if(Objects.isNull(model)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"æªæ¥è¯¢å°éæ£æ°æ®"); |
| | | } |
| | | if (!model.getStatus().equals(Constants.ZERO)) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"æ°æ®ç¶æå·²æµè½¬!"); |
| | | } |
| | | if (!model.getCheckUserId().equals(hiddenDanger.getEditor())) { |
| | | 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(),"ä¸å¡ç±»åé误ï¼"); |
| | | } |
| | | if(model.getCheckUserId().equals(hiddenDanger.getCheckUserId())){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.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.setObjType(Constants.ONE); |
| | | hiddenDangerLogMapper.insert(hiddenDangerLog); |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | insert.setCanVisit(Constants.ZERO);//é»è®¤ä¸å¯è®¿é® |
| | | insert.setAuthStatus(Constants.ZERO); |
| | | insert.setName(member.getName()); |
| | | insert.setHkId(UUID.randomUUID().toString().replace("-","")); |
| | | insert.setHkStatus(Constants.ONE); |
| | | insert.setSex(Constants.getSexByCardNo( member.getIdcardNo()));//æ ¹æ®èº«ä»½è¯å·è·åæ§å« |
| | | insert.setBirthday( DateUtil.fromStringToDate("yyyyMMdd",IdcardUtil.getBirthByIdCard(member.getIdcardNo()))); |
| | |
| | | } |
| | | member.setHkId(model.getHkId()); |
| | | member.setFaceId(model.getFaceId());//人è¸ç¼ç |
| | | if(StringUtils.equals(model.getFaceImg(),member.getFaceImg())){ |
| | | //å¦æäººè¸æ²¡åå |
| | | member.setFaceImg(null); |
| | | } |
| | | return model; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public void deleteById(Integer id,LoginUserInfo user) { |
| | | LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | |
| | | public void deleteById(Integer id,LoginUserInfo loginUserInfo) { |
| | | Member member=new Member(); |
| | | member.setId(id); |
| | | member.setIsdeleted(Constants.ZERO); |
| | |
| | | //妿å工信æ¯ä¸åæ³ç´æ¥è·³è¿ |
| | | continue; |
| | | } |
| | | if(StringUtils.isNotBlank(member.getFaceId()) || !Constants.equalsInteger(member.getFaceStatus(),Constants.ONE)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼ç¨æ·ã"+member.getName()+"ãç人è¸ä¿¡æ¯ä¸æ»¡è¶³æææ¡ä»¶ï¼è¯·è¿åå®åååè¿è¡è¯¥æä½ï¼"); |
| | | } |
| | | member.setStartTime(memberRole.getStartTime()); |
| | | member.setEndTime(memberRole.getEndTime()); |
| | | Integer ischange = getRoleIdByParam(memberRole.getRoleIds(),member,memberRoleMapper,deviceRoleMapper); |
| | | if(ischange == 0){ |
| | | return;//æªåç°æéååï¼ç´æ¥è¿å |
| | | } |
| | | if(memberRole.getRoleIds()!=null && memberRole.getRoleIds().length>0 && StringUtils.isBlank(member.getRoleId())){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼æªæ¥è¯¢å°ææé¨ç¦ç»æ°æ®"); |
| | | } |
| | |
| | | private void dealHkUserBizBatch(List<Member> newList) { |
| | | List<String> hkIds = new ArrayList<>(); |
| | | try { |
| | | for(Member insert: newList){ |
| | | if(dealHkUserBiz(insert)){ |
| | | //å建系ç»ç»éè´¦å·ï¼é»è®¤æ ä»»ä½è§è²ï¼ |
| | | }else{ |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对ä¸èµ·ï¼å工信æ¯ã"+insert.getName()+"ã忥å®é²å¹³å°å¤±è´¥ï¼è¯·ç¨åéè¯ï¼"); |
| | | } |
| | | } |
| | | memberMapper.insertBatchSomeColumn(newList); |
| | | List<SystemUser> userList = new ArrayList<>(); |
| | | for(Member insert: newList){ |
| | | if(dealHkUserBiz(insert)){ |
| | | //å建系ç»ç»éè´¦å·ï¼é»è®¤æ ä»»ä½è§è²ï¼ |
| | | if(Constants.equalsInteger(insert.getCompanyType(),Constants.ONE)){ |
| | | //妿æ¯å
é¨ç»ç»äººåï¼æ°å¢ç³»ç»ç»éè´¦å· |
| | | userList.add(createSystemUser(insert)); |
| | | } |
| | | }else{ |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对ä¸èµ·ï¼å工信æ¯ã"+insert.getName()+"ã忥å®é²å¹³å°å¤±è´¥ï¼è¯·ç¨åéè¯ï¼"); |
| | | } |
| | | } |
| | | if(userList.size()>0){ |
| | |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对ä¸èµ·ï¼å工信æ¯å¯¼å
¥å¤±è´¥ï¼è¯·ç¨åéè¯ï¼"); |
| | | } |
| | | } |
| | | |
| | | private Member checkModelParam(MemberImport model, List<Member> newList |
| | | ,int index |
| | | ,LoginUserInfo loginUserInfo |
| | |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.dao.business.CarsMapper; |
| | | import com.doumee.dao.business.ParkBookMapper; |
| | | import com.doumee.dao.business.ParksMapper; |
| | | import com.doumee.dao.business.join.ParkBookJoinMapper; |
| | | import com.doumee.dao.business.model.*; |
| | | import com.doumee.service.business.ParkBookService; |
| | |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * 车è¾é¢çº¦è®°å½ä¿¡æ¯è¡¨Serviceå®ç° |
| | |
| | | @Autowired |
| | | private ParkBookMapper parkBookMapper; |
| | | @Autowired |
| | | private CarsMapper carsMapper; |
| | | @Autowired |
| | | private HkSyncParkServiceImpl hkSyncParkService; |
| | | @Autowired |
| | | private ParksMapper parksMapper; |
| | | |
| | | @Autowired |
| | | private ParkBookJoinMapper parkBookJoinMapper; |
| | |
| | | } |
| | | hkSyncParkService.syncParkBookBySingleModel(model); |
| | | } |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class,BusinessException.class}) |
| | | public String batchAuth(Cars cars) { |
| | | if(cars.getIdList() == null || cars.getIdList() == null |
| | | ||cars.getAuthTimeType() == null |
| | | ||cars.getAuthTimeType()>2 |
| | | ||cars.getAuthTimeType()<0 ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | MPJLambdaWrapper<Cars> queryWrapper = new MPJLambdaWrapper<>(); |
| | | queryWrapper.selectAll(Cars.class); |
| | | queryWrapper.selectAs(Member::getStartTime,Cars::getMemberStartTime); |
| | | queryWrapper.selectAs(Member::getEndTime,Cars::getMemberEndTime); |
| | | queryWrapper.selectAs(Member::getIsdeleted,Cars::getMemberDeleted); |
| | | queryWrapper.selectAs(Member::getAuthStatus,Cars::getMemberAuthStatus); |
| | | queryWrapper.leftJoin(Member.class,Member::getId,Cars::getMemberId); |
| | | queryWrapper.eq(Cars::getIsdeleted,Constants.ZERO) |
| | | .in(Cars::getId,cars.getIdList()); |
| | | List<Cars> carsList = carsMapper.selectList( queryWrapper); |
| | | if(carsList== null || carsList.size() ==0){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"车è¾ä¿¡æ¯æè¯¯ï¼è¯·è¿åå·æ°é¡µé¢éè¯ï¼"); |
| | | } |
| | | List<Parks> parksList = null; |
| | | if(cars.getParkIdList()!=null && cars.getParkIdList().size() > 0){ |
| | | MPJLambdaWrapper<Parks> queryWrapper1 = new MPJLambdaWrapper<>(); |
| | | queryWrapper1.selectAll(Parks.class); |
| | | queryWrapper1.eq(Parks::getIsdeleted,Constants.ZERO) |
| | | .in(Parks::getId,cars.getParkIdList()); |
| | | parksList = parksMapper.selectList( queryWrapper1); |
| | | if(parksList== null || parksList.size() ==0){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"å车åºä¿¡æ¯æè¯¯ï¼è¯·è¿åå·æ°é¡µé¢éè¯ï¼"); |
| | | } |
| | | } |
| | | |
| | | if(Constants.equalsInteger(cars.getAuthTimeType(),Constants.ONE)){ |
| | | if( cars.getStartTime() ==null || cars.getEndTime() == null ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对ä¸èµ·ï¼è¯·å¡«åæ£ç¡®çæææèå´"); |
| | | } |
| | | if( cars.getEndTime().getTime() < System.currentTimeMillis()){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"ææææªæ¢æ¥æä¸è½å°äºå½åæ¶é´ï¼"); |
| | | } |
| | | if(cars.getEndTime().getTime() <= cars.getStartTime().getTime()){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"ææææªæ¢æ¥æä¸è½å°äºå¼å§æ¶é´ï¼"); |
| | | } |
| | | } |
| | | Date date = new Date(); |
| | | for(Cars model : carsList){ |
| | | Date startTime = cars.getStartTime(); |
| | | Date endTime = cars.getEndTime(); |
| | | if(Constants.equalsInteger(cars.getAuthTimeType(),Constants.TWO)){ |
| | | if(!Constants.equalsInteger(model.getMemberAuthStatus(),Constants.ONE)){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对ä¸èµ·ï¼è½¦è¾ã"+model.getCode()+"ãè½¦ä¸»å°æªææé¨ç¦ä¿¡æ¯ï¼æææ æ³ãè·éè½¦ä¸»ãæææï¼"); |
| | | } |
| | | startTime = model.getMemberStartTime(); |
| | | endTime=model.getMemberEndTime(); |
| | | } |
| | | model.setAuthTimeType(cars.getAuthTimeType()); |
| | | model.setStartTime(startTime); |
| | | model.setEndTime(endTime); |
| | | dealCarAuthByModel(model,cars.getLoginUserInfo(),parksList,date); |
| | | model.setAuthStatus(Constants.ONE);//å·²ææ |
| | | carsMapper.update(null,new UpdateWrapper<Cars>().lambda() |
| | | .eq(Cars::getId,model.getId()) |
| | | .set(Cars::getEditDate,date) |
| | | .set(Cars::getEdirot,cars.getLoginUserInfo().getId()) |
| | | .set(Cars::getAuthStatus,Constants.ONE) |
| | | .set(Cars::getStartTime,startTime) |
| | | .set(Cars::getEndTime,endTime) |
| | | ); |
| | | } |
| | | return "æææå"; |
| | | |
| | | } |
| | | |
| | | private int dealCarAuthByModel(Cars model, LoginUserInfo loginUserInfo, List<Parks> parksList,Date date) { |
| | | //å é¤è½¦éåºè®°å½æ°æ® |
| | | parkBookMapper.update(null,new UpdateWrapper<ParkBook>().lambda() |
| | | .eq(ParkBook::getCarCode,model.getCode()) |
| | | .set(ParkBook::getIsdeleted,Constants.ONE) |
| | | .set(ParkBook::getHkStatus,Constants.ZERO) |
| | | ); |
| | | if(org.apache.commons.collections.CollectionUtils.isNotEmpty(parksList)){ |
| | | List<ParkBook> parkBookList = new ArrayList<>(); |
| | | for (Parks parks:parksList) { |
| | | ParkBook parkBook = new ParkBook(); |
| | | parkBook.setIsdeleted(Constants.ZERO); |
| | | parkBook.setCreateDate(date); |
| | | parkBook.setCreator(loginUserInfo.getId()); |
| | | parkBook.setEditor(loginUserInfo.getId()); |
| | | parkBook.setEditDate(date); |
| | | parkBook.setCarCode(model.getCode()); |
| | | parkBook.setParkId(parks.getId()); |
| | | parkBook.setOrigin(Constants.ZERO); |
| | | parkBook.setStartTime(model.getStartTime()); |
| | | parkBook.setEndTime(model.getEndTime()); |
| | | parkBook.setTimeType(model.getAuthTimeType()); |
| | | parkBook.setMemberId(model.getMemberId()); |
| | | parkBook.setHkStatus(Constants.ZERO); |
| | | parkBook.setRemark("å¾
忥å®é²å¹³å°"); |
| | | parkBookList.add(parkBook); |
| | | } |
| | | parkBookMapper.insertBatchSomeColumn(parkBookList); |
| | | } |
| | | return 0; |
| | | } |
| | | |
| | | @Override |
| | | public ParkBook findOne(ParkBook parkBook) { |
| | |
| | | return false; |
| | | } |
| | | } |
| | | private boolean cancelParkBookHk(ParkBook c) { |
| | | public static boolean cancelParkBookHk(ParkBook c) { |
| | | CarChargeDelRequest param = new CarChargeDelRequest(); |
| | | param.setPlateNo(c.getCarCode()); |
| | | param.setParkSyscode(c.getParkHkId()); |
| | |
| | | model.setOrgIndexCode(c.getHkOrgId()); |
| | | model.setJobNo(c.getCode()); |
| | | model.setPhoneNo(c.getPhone()); |
| | | if(StringUtils.isNotBlank(c.getIdcardNo())){ |
| | | model.setCertificateNo(DESUtil.decrypt(Constants.EDS_PWD, c.getIdcardNo())); |
| | | } |
| | | model.setCertificateType(HKConstants.CertificateType.SHENFENZHENG.getKey()+""); |
| | | model.setPersonId(type == 0 ?UUID.randomUUID().toString().replace("-", ""):c.getHkId()); |
| | | model.setGender(Constants.formatIntegerNum(c.getSex())+""); |
| | | model.setPersonName(c.getName()); |
| | | if(type== 0 && StringUtils.isNotBlank(c.getFaceImg())){ |
| | | if(StringUtils.isNotBlank(c.getFaceImg())){ |
| | | model.setFaces(new ArrayList<>()); |
| | | UserAddFaceRequest face = new UserAddFaceRequest(); |
| | | String imageBase = ImageBase64Util.Image2Base64(path+c.getFaceImg()); |