Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit
| | |
| | | } |
| | | // ç¦»åº |
| | | export function level (id) { |
| | | return request.get('/visitsAdmin/cloudService/business/staging/level?visitId=' +id) |
| | | return request.get('/visitsAdmin/cloudService/business/staging/level?visitId=' + id) |
| | | } |
| | | |
| | | // ä¿®æ¹ |
| | |
| | | import request from '@/utils/request' |
| | | |
| | | // è·åæå°ç»ä¿¡æ¯ |
| | | export function getPlatformGroupList(data) { |
| | | export function getPlatformGroupList (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platform/getPlatformGroupList', data) |
| | | } |
| | | // å«å·å表 |
| | | export function platformCallList(data) { |
| | | export function platformCallList (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platform/platformCallList', data) |
| | | } |
| | | // å
¥åå«å· |
| | | export function platformInPark(data) { |
| | | export function platformInPark (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platform/platformInPark', data) |
| | | } |
| | | // æå°å«å· |
| | | export function platformCallNumber(data) { |
| | | export function platformCallNumber (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platform/platformCallNumber', data) |
| | | } |
| | | // å¼å§ä½ä¸ |
| | | export function platformBeginWork(data) { |
| | | export function platformBeginWork (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platform/beginWork', data) |
| | | } |
| | | // 宿ä½ä¸ |
| | | export function platformFinishWork(data) { |
| | | export function platformFinishWork (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platform/finishWork', data) |
| | | } |
| | | // è¿å· |
| | | export function platformOverNumber(data) { |
| | | export function platformOverNumber (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platform/platformOverNumber', data) |
| | | } |
| | | // å¼å¸¸æèµ· |
| | | export function platformErr(data) { |
| | | export function platformErr (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platform/platformErr', data) |
| | | } |
| | | // å¼å¸¸æèµ· |
| | | export function platformMove(data) { |
| | | export function platformMove (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platform/platformMove', data) |
| | | } |
| | | // æå°é
ç½® |
| | | export function updUserPlatformConfig(data) { |
| | | export function updUserPlatformConfig (data) { |
| | | return request.get('/visitsAdmin/cloudService/business/platform/updUserPlatformConfig?ids=' + data) |
| | | } |
| | | |
| | | // æ ¹æ®æå°ç»è·åæå°åè¡¨ä¿¡æ¯ |
| | | export function listByGroupId(id) { |
| | | export function listByGroupId (id) { |
| | | return request.get('/visitsAdmin/cloudService/business/platform/listByGroupId?groupId=' + id) |
| | | } |
| | | // æå°å表 ç¼è¾ |
| | | export function PlatformEdit(data) { |
| | | export function PlatformEdit (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platform/updateById', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | | // æå°å表 å é¤ |
| | | export function PlatformDel(id) { |
| | | export function PlatformDel (id) { |
| | | return request.get('/visitsAdmin/cloudService/business/platform/delete/' + id, { |
| | | trim: true |
| | | }) |
| | | } |
| | | // æå°è°åº¦ä¸å¿ å表 |
| | | export function getPlatformJob(data) { |
| | | export function getPlatformJob (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platformJob/page', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | | // è½¦è¾æéæ
åµ |
| | | export function platformLineUpPage(data) { |
| | | export function platformLineUpPage (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platform/platformLineUpPage', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | | |
| | | // å
¥ååå |
| | | export function platformReasonList() { |
| | | export function platformReasonList () { |
| | | return request.get('/visitsAdmin/cloudService/business/platformBooks/platformReasonList') |
| | | } |
| | | // ç©æµè½¦é¢çº¦ |
| | | export function platformBooksApply(data) { |
| | | export function platformBooksApply (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platformBooks/apply', data) |
| | | } |
| | | // è·åæå°ç» çå¾
ä¸å¼å¸¸æèµ·æ°æ® |
| | | export function getPlatformGroupWork(id) { |
| | | export function getPlatformGroupWork (id) { |
| | | return request.get('/visitsAdmin/cloudService/business/platform/getPlatformGroupWork?platformGroupId=' + id) |
| | | } |
| | | // æå°å
¥åé¢çº¦ å页å表 |
| | | export function platformBooksPage(data) { |
| | | export function platformBooksPage (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platformBooks/page', data) |
| | | } |
| | | // æå°å
¥åé¢çº¦ åè¡¨å¯¼åº |
| | | export function platformBooksExport(data) { |
| | | export function platformBooksExport (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platformBooks/exportExcel', data, { |
| | | trim: true, |
| | | download: true |
| | | }) |
| | | } |
| | | // æå°è°åº¦ä½ä¸ä»»å¡ å页å表 |
| | | export function platformJobPage(data) { |
| | | export function platformJobPage (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platformJob/page', data) |
| | | } |
| | | // ç»è®¡æå°ä½ä¸ä»»å¡ å页å表 |
| | | export function platformLogPage(data) { |
| | | export function platformLogPage (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platformLog/page', data) |
| | | } |
| | | // æå°ä½ä¸ç»è®¡ å页å表 |
| | | export function platformWorkReportPage(data) { |
| | | export function platformWorkReportPage (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platform/platformWorkReportPage', data) |
| | | } |
| | | // æå°è°åº¦ä½ä¸ä»»å¡ å é¤ |
| | | export function platformJobDel(id) { |
| | | return request.get('/visitsAdmin/cloudService/business/platformJob/delete?id=' + id) |
| | | export function platformJobDel (id) { |
| | | return request.get('/visitsAdmin/cloudService/business/platformJob/delete/' + id) |
| | | } |
| | | // æå°è¿å详æ
|
| | | export function platformWmsJobDetail(id) { |
| | | export function platformWmsJobDetail (id) { |
| | | return request.get('/visitsAdmin/cloudService/business/platformWmsJob/' + id) |
| | | } |
| | | // æå°è°åº¦ä½ä¸ä»»å¡ ç¾å° |
| | | export function platformJobSign(data) { |
| | | export function platformJobSign (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platformJob/signIn', data) |
| | | } |
| | | // æå°è°åº¦ä½ä¸ä»»å¡ ç¦»åææ |
| | | export function platformPowerLevel(data) { |
| | | export function platformPowerLevel (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platform/powerLevel', data) |
| | | } |
| | | // æå°è°åº¦ä½ä¸ä»»å¡ åè¡¨å¯¼åº |
| | | export function platformJobExport(data) { |
| | | export function platformJobExport (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platformJob/exportExcel', data, { |
| | | trim: true, |
| | | download: true |
| | |
| | | <el-form-item label="åç§°" prop="name"> |
| | | <el-input v-model="form.name" placeholder="请è¾å
¥åç§°" v-trim /> |
| | | </el-form-item> |
| | | <el-form-item label="责任é¨é¨" prop="companyId"> |
| | | <el-form-item label="责任é¨é¨" prop="companyId" v-if="form.type == 0"> |
| | | <el-select filterable clearable @change="() => loadMember(1)" v-model="form.companyId"> |
| | | <el-option v-for="op in department" :key="op.id" :label="op.name" :value="op.id"></el-option> |
| | | </el-select> |
| | |
| | | for (const key in this.form) { |
| | | this.form[key] = target[key] |
| | | this.form.type = type |
| | | if(type == 0){ |
| | | this.loadMember(1) |
| | | } |
| | | if (this.form.type == 0 && target.memberIds != null && target.memberIds != '') { |
| | | const t = target.memberIds.split(',') |
| | | this.form.memberIdList = [] |
| | |
| | | loadMember(flag) { |
| | | if(flag && flag == 1){ |
| | | this.$set(this.form, 'memberIdList', null) |
| | | } |
| | | } |
| | | allList({ |
| | | type: 2, |
| | | companyType: 1, |
| | |
| | | <el-select v-model="transForm.memberId" style="width: 300px" filterable clearable placeholder="è¯·éæ©è½¬äº¤å®å
¨å"> |
| | | <el-option |
| | | v-for="item in memberList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | :key="item.memberId" |
| | | :label="item.companyName ? `${item.realname}-${item.companyName}` : item.realname" |
| | | :value="item.memberId"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | import dayjs from 'dayjs' |
| | | import { memberList } from '@/api/business/hiddenDangerParam' |
| | | import { mapState } from 'vuex' |
| | | import {findAllList as userList} from "@/api/system/user"; |
| | | export default { |
| | | components: { GlobalWindow, upload }, |
| | | extends: BaseOpera, |
| | |
| | | this.loadMemberList() |
| | | }, |
| | | loadMemberList () { |
| | | memberList({}).then(res => { |
| | | userList({ queryParam: this.filterText, querySpecial: 1, type: 2, companyType: 1, workStatus: 0 }) |
| | | .then(res => { |
| | | this.memberList = res || [] |
| | | }) |
| | | /*memberList({}).then(res => { |
| | | this.memberList = res |
| | | }) |
| | | })*/ |
| | | }, |
| | | reject () { }, |
| | | handleAvatarSuccess () { }, |
| | |
| | | </el-form-item> |
| | | <el-form-item label="ä¹è½¦äººå" prop="memberIds"> |
| | | <el-select v-model="form.memberIds" multiple filterable placeholder="è¯·éæ©"> |
| | | <el-option v-for="item in memberList" :key="item.id" :label="item.name" :value="item.id"> |
| | | <el-option v-for="item in memberList" |
| | | :key="item.memberId" :value="item.memberId" |
| | | :label="item.companyName ? `${item.realname}-${item.companyName}` : item.realname" > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | import { carCanReservationDate, carUseBookCraete, carUseBookList, detail } from '@/api/business/carUseBook' |
| | | import { findTypeMemberInfo } from '@/api/business/memberCard' |
| | | import dayjs from 'dayjs' |
| | | import { findAllList as userList } from '@/api/system/user' |
| | | |
| | | export default { |
| | | name: 'OperCarUseBookParamWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | data() { |
| | | data () { |
| | | return { |
| | | // è¡¨åæ°æ® |
| | | isShowTime: false, |
| | |
| | | // immediate: true |
| | | // } |
| | | // }, |
| | | created() { |
| | | created () { |
| | | this.initData() |
| | | }, |
| | | methods: { |
| | | open() { |
| | | open () { |
| | | this.title = 'æ°å»ºå
¬å¡è½¦ç¨è½¦ç³è¯·' |
| | | this.form = { |
| | | type: 0, |
| | |
| | | }) |
| | | this.visible = true |
| | | }, |
| | | confirm() { |
| | | confirm () { |
| | | const form = JSON.parse(JSON.stringify(this.form)) |
| | | this.$refs.formRef.validate((valid) => { |
| | | const memberList = [] |
| | | form.memberIds.forEach(i => { |
| | | this.memberList.forEach(item => { |
| | | if (i === item.id) { |
| | | if (i === item.memberId) { |
| | | memberList.push(item) |
| | | } |
| | | }) |
| | | }) |
| | | form.memberNames = memberList.map(i => i.name).join(',') |
| | | form.memberNames = memberList.map(i => i.realname).join(',') |
| | | form.memberList = memberList |
| | | form.memberIds = form.memberIds.join(',') |
| | | form.startTime = form.startTime + ':00' |
| | |
| | | } |
| | | }) |
| | | }, |
| | | openTime() { |
| | | openTime () { |
| | | const { form } = this |
| | | if (!form.carId) { |
| | | return this.$tip.error('请å
éæ©è½¦è¾') |
| | |
| | | this.isShowShiwai = true |
| | | } |
| | | }, |
| | | changeType() { |
| | | changeType () { |
| | | this.$set(this.form, 'startTime', '') |
| | | this.$set(this.form, 'endTime', '') |
| | | this.$set(this.form, 'planUseDate', '') |
| | |
| | | this.$refs.formRef.clearValidate() |
| | | }) |
| | | }, |
| | | clearTime() { |
| | | clearTime () { |
| | | this.isShowShiwai = false |
| | | this.$set(this.form, 'startTime', '') |
| | | this.$set(this.form, 'endTime', '') |
| | |
| | | } |
| | | }) |
| | | }, |
| | | subTime() { |
| | | subTime () { |
| | | if (this.info && this.info.length > 0) return |
| | | if (this.form.type === 0) { |
| | | const selTimeList = this.timeList.filter(i => i.checked == '1') |
| | |
| | | } |
| | | console.log('form', this.form) |
| | | }, |
| | | datetimeClick(item, index) { |
| | | datetimeClick (item, index) { |
| | | if (item.carUseBookId) { |
| | | detail( |
| | | item.carUseBookId |
| | |
| | | this.selDatetime = '' |
| | | this.selPastDatetime = '' |
| | | } else { |
| | | let pastList = selTimeLists.filter(i => i.pastFlag) |
| | | if(pastList.length > 0){ |
| | | const pastList = selTimeLists.filter(i => i.pastFlag) |
| | | if (pastList.length > 0) { |
| | | this.selPastDatetime = 'å½åéæ©å
å«å·²ç»è¿å»æ¶é´ï¼è¯·ç¡®è®¤ååæäº¤ï¼' |
| | | }else{ |
| | | } else { |
| | | this.selPastDatetime = '' |
| | | } |
| | | this.selDatetime = this.form.dateDay.slice(5) + ' ' + selTimeLists[0].startHours + '-' + selTimeLists[selTimeLists.length - 1].endHours |
| | | } |
| | | }, |
| | | seletedDate(e) { |
| | | seletedDate (e) { |
| | | this.gettimes() |
| | | }, |
| | | seletedShiwaiDate(str) { |
| | | seletedShiwaiDate (str) { |
| | | const { form } = this |
| | | if (str && str == 1) { |
| | | this.$set(this.form, 'endTime', '') |
| | |
| | | |
| | | if (form.startTime && form.endTime) { |
| | | this.selDatetime = form.startTime + ' - ' + form.endTime |
| | | if(new Date(form.startTime).getTime() < new Date().getTime()){ |
| | | if (new Date(form.startTime).getTime() < new Date().getTime()) { |
| | | this.selPastDatetime = 'å½åéæ©å
å«å·²ç»è¿å»æ¶é´ï¼è¯·ç¡®è®¤ååæäº¤ï¼' |
| | | }else{ |
| | | } else { |
| | | this.selPastDatetime = '' |
| | | } |
| | | carUseBookList({ |
| | |
| | | }).then(res => { |
| | | this.info = res || [] |
| | | }) |
| | | }else{ |
| | | } else { |
| | | this.selPastDatetime = '' |
| | | } |
| | | }, |
| | | gettimes() { |
| | | gettimes () { |
| | | const { form } = this |
| | | carCanReservationDate({ |
| | | dateDay: form.dateDay, |
| | |
| | | }).then(res => { |
| | | this.timeList = res || [] |
| | | this.timeList.forEach((i, j) => { |
| | | i.pastFlag = new Date().getTime() > new Date(i.startTime).getTime() |
| | | i.pastFlag = new Date().getTime() > new Date(i.startTime).getTime() |
| | | i.checked = '0', |
| | | i.index = j |
| | | }) |
| | | |
| | | }) |
| | | }, |
| | | initData() { |
| | | initData () { |
| | | getCarList({ |
| | | type: 0 |
| | | }).then(res => { |
| | | this.carsList = res |
| | | }) |
| | | findTypeMemberInfo({ |
| | | userList({ queryParam: this.filterText, querySpecial: 1, type: 2, companyType: 1, workStatus: 0 }) |
| | | .then(res => { |
| | | this.memberList = res || [] |
| | | }) |
| | | /* findTypeMemberInfo({ |
| | | type: '2', |
| | | companyType: 1, |
| | | querySpecial: 1 |
| | | }).then(res => { |
| | | this.memberList = res || [] |
| | | }) |
| | | }) */ |
| | | } |
| | | } |
| | | } |
| | |
| | | border: #cccccc solid 1px; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | |
| | | .disable { |
| | | color: #fff; |
| | |
| | | </li> |
| | | </ul> |
| | | <el-table v-loading="isWorking.search" :data="tableData.list" stripe> |
| | | <el-table-column prop="personName" label="å§å" min-width="100px"></el-table-column> |
| | | <el-table-column prop="personPhone" label="ææºå·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="personCompanyName" label="ç»ç»" min-width="100px"></el-table-column> |
| | | <el-table-column label="人åç±»å" min-width="100px"> |
| | | <template slot-scope="{ row }"> |
| | | <span v-if="row.companyType == 0">ç¸å
³æ¹ç»ç»</span> |
| | | <span v-else-if="row.companyType == 1">å
é¨åå·¥</span> |
| | | <span v-else>访客</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="plateNos" label="车çå·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="parkName" label="å车åºåç§°" min-width="100px"></el-table-column> |
| | | <el-table-column prop="gateName" label="åºå
¥å£åç§°" min-width="100px"></el-table-column> |
| | |
| | | <span v-if="row.inoutType === 1">离å</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="人åç±»å" min-width="100px"> |
| | | <template slot-scope="{ row }"> |
| | | <span v-if="row.companyType == 0">ç¸å
³æ¹ç»ç»</span> |
| | | <span v-else-if="row.companyType == 1">å
é¨åå·¥</span> |
| | | <span v-else>访客</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="personName" label="å§å" min-width="100px"></el-table-column> |
| | | <el-table-column prop="personPhone" label="ææºå·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="personCompanyName" label="ç»ç»" min-width="100px"></el-table-column> |
| | | <el-table-column label="è½¦çææå¾" min-width="100px"> |
| | | <template slot-scope="{ row }"> |
| | | <div v-if="row.platePicUrl != null"> |
| | |
| | | <span v-if="row.personType == null">夿¥è®¿å®¢</span> |
| | | </template> |
| | | </el-table-column> --> |
| | | <el-table-column prop="personName" label="å§å" min-width="100px"></el-table-column> |
| | | <el-table-column prop="personPhone" label="ææºå·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="personIdcardDecode" label="è¯ä»¶å·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="personCompanyName" label="ç»ç»" min-width="100px"></el-table-column> |
| | | <el-table-column label="人åç±»å" min-width="100px"> |
| | | <template slot-scope="{ row }"> |
| | | <span v-if="row.companyType == 0">ç¸å
³æ¹ç»ç»</span> |
| | |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="personName" label="å§å" min-width="100px"></el-table-column> |
| | | <el-table-column prop="personPhone" label="ææºå·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="personIdcardDecode" label="è¯ä»¶å·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="personCompanyName" label="ç»ç»" min-width="100px"></el-table-column> |
| | | |
| | | |
| | | </el-table> |
| | | <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination"> |
| | |
| | | <template> |
| | | <div class="main_app"> |
| | | <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getList(1)" @clear="clear" /> |
| | | <div class="query_btns" style="margin: 16px 0 0" |
| | | v-permissions="['business:visits:create', 'business:visits:exportExcel']"> |
| | | <el-button type="primary" @click="handleEdit()" icon="el-icon-plus" |
| | | v-permissions="['business:visits:create']">æ°å»º</el-button> |
| | | <el-button type="primary" :loading="exLoading" @click="exportExcel" |
| | | v-permissions="['business:visits:exportExcel']">导åº</el-button> |
| | | <QueryForm |
| | | v-model="filters" |
| | | :query-form-config="queryFormConfig" |
| | | @handleQuery="getList(1)" |
| | | @clear="clear" |
| | | /> |
| | | <div class="query_btns" style="margin: 16px 0 0" v-permissions="['business:visits:create', 'business:visits:exportExcel']"> |
| | | <el-button type="primary" @click="handleEdit()" icon="el-icon-plus" v-permissions="['business:visits:create']">æ°å»º</el-button> |
| | | <el-button type="primary" :loading="exLoading" @click="exportExcel" v-permissions="['business:visits:exportExcel']">导åº</el-button> |
| | | </div> |
| | | <el-table v-loading="loading" :data="dataList" stripe row-key="id" default-expand-all> |
| | | <el-table |
| | | v-loading="loading" |
| | | :data="dataList" |
| | | stripe |
| | | row-key="id" |
| | | default-expand-all |
| | | > |
| | | <el-table-column type="selection" width="55" align="center"></el-table-column> |
| | | <el-table-column prop="carNos" label="å
¥å车è¾" min-width="100px"></el-table-column> |
| | | <el-table-column prop="companyName" label="å
¬å¸åç§°" min-width="100px"></el-table-column> |
| | | <el-table-column prop="name" label="è系人信æ¯" min-width="100px"></el-table-column> |
| | | <el-table-column prop="phone" label="ææºå·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="receptMemberName" label="被访人" min-width="100px"></el-table-column> |
| | | <el-table-column |
| | | prop="carNos" |
| | | label="å
¥å车è¾" |
| | | min-width="100px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="companyName" |
| | | label="å
¬å¸åç§°" |
| | | min-width="100px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="è系人信æ¯" |
| | | min-width="100px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="phone" |
| | | label="ææºå·" |
| | | min-width="100px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="receptMemberName" |
| | | label="被访人" |
| | | min-width="100px" |
| | | ></el-table-column> |
| | | <el-table-column label="æè®¿æ¶é´" min-width="160px"> |
| | | <template slot-scope="{ row }"> |
| | | <span>èµ·ï¼{{ row.starttime }}</span><br /> |
| | | <span>èµ·ï¼{{ row.starttime }}</span |
| | | ><br /> |
| | | <span>æ¢ï¼{{ row.endtime }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="reason" label="æè®¿äºç±" min-width="100"></el-table-column> |
| | | <el-table-column prop="status" fixed="right" label="ç¶æ" align="center" min-width="100"> |
| | | <el-table-column |
| | | prop="reason" |
| | | label="æè®¿äºç±" |
| | | min-width="100" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="status" |
| | | fixed="right" |
| | | label="ç¶æ" |
| | | align="center" |
| | | min-width="100" |
| | | > |
| | | <template slot-scope="{ row }"> |
| | | <span style="color: rgba(245, 154, 35, 0.996)" v-if="row.status === 0">å¾
æäº¤å®¡æ¹</span> |
| | | <span v-if="row.status === 1" style="color: rgba(245, 154, 35, 0.996)">å¤çä¸</span> |
| | | <span v-if="row.status === 2" style="color: rgba(245, 154, 35, 0.996)">å·²åæ</span> |
| | | <span style="color: rgba(245, 154, 35, 0.996)" v-if="row.status === 0" |
| | | >å¾
æäº¤å®¡æ¹</span |
| | | > |
| | | <span v-if="row.status === 1" style="color: rgba(245, 154, 35, 0.996)" |
| | | >å¤çä¸</span |
| | | > |
| | | <span v-if="row.status === 2" style="color: rgba(245, 154, 35, 0.996)" |
| | | >å·²åæ</span |
| | | > |
| | | <span style="color: gray" v-if="row.status === 3">å·²æç»</span> |
| | | <span v-if="row.status === 4" style="color: gray">åæ¶</span> |
| | | <span v-if="row.status === 5" style="color: green">ä¸åæå</span> |
| | |
| | | <span v-if="row.status === 9" style="color: gray">已失æ</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="æä½" align="center" width="100" fixed="right"> |
| | | <el-table-column label="æä½" align="center" width="180" fixed="right"> |
| | | <template slot-scope="{ row }"> |
| | | <el-button type="text" @click="handleDetail(row)" v-permissions="['business:company:update']">æ¥ç详æ
</el-button> |
| | | <el-button |
| | | type="text" |
| | | @click="handleDetail(row)" |
| | | v-permissions="['business:company:update']">æ¥ç详æ
</el-button> |
| | | <el-button type="text" icon="el-icon-delete" @click="deleteById(row)" style="color: red" v-permissions="['business:visits:delete']">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" /> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="getList" |
| | | :pagination="pagination" |
| | | /> |
| | | <ReportDetail v-if="isShowReport" ref="VisReportDetailRef" /> |
| | | <OperaVisitsReportWindow @close="isShowEdit = false" @success="getList" v-if="isShowEdit" |
| | | ref="operaVisitsWindowRef" /> |
| | | <OperaVisitsReportWindow @close="isShowEdit = false" @success="getList" v-if="isShowEdit" ref="operaVisitsWindowRef" /> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | // import ReportDetail from './page-components/ReportDetail.vue' |
| | | import ReportDetail from '@/views/task/visReportDetail.vue' |
| | | import OperaVisitsReportWindow from '@/components/business/operaVisitsReportWindow.vue' |
| | | import { fetchList, exportExcel } from '@/api/business/visits' |
| | | import { fetchList, exportExcel, deleteById } from '@/api/business/visits' |
| | | export default { |
| | | components: { |
| | | ReportDetail, |
| | |
| | | Pagination, |
| | | OperaVisitsReportWindow |
| | | }, |
| | | data() { |
| | | data () { |
| | | return { |
| | | isShowEdit: false, |
| | | exLoading: false, |
| | |
| | | total: 0 |
| | | } |
| | | }, |
| | | created() { |
| | | created () { |
| | | this.getList() |
| | | }, |
| | | methods: { |
| | | exportExcel() { |
| | | exportExcel () { |
| | | this.$dialog.exportConfirm('确认导åºåï¼') |
| | | .then(() => { |
| | | this.exLoading = true |
| | |
| | | }) |
| | | }) |
| | | }, |
| | | handleEdit() { |
| | | handleEdit () { |
| | | this.isShowEdit = true |
| | | this.$nextTick(() => { |
| | | this.$refs.operaVisitsWindowRef.isShowModal = true |
| | | }) |
| | | }, |
| | | handleDetail(row) { |
| | | deleteById (row) { |
| | | this.$confirm('ç¡®å®å é¤è¯¥è®°å½å, æ¯å¦ç»§ç»?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | deleteById(row.id) |
| | | .then(res => { |
| | | this.$message.success('æä½æå') |
| | | this.page = 1 |
| | | this.getList() |
| | | }) |
| | | }).catch(() => { |
| | | }) |
| | | }, |
| | | handleDetail (row) { |
| | | this.isShowReport = true |
| | | this.$nextTick(() => { |
| | | this.$nextTick(() => { |
| | |
| | | }) |
| | | }) |
| | | }, |
| | | getList(page) { |
| | | getList (page) { |
| | | const { pagination, filters } = this |
| | | pagination.page = page || pagination.page |
| | | this.loading = true |
| | | fetchList({ |
| | | model: { ...filters }, |
| | | ...pagination |
| | | }).then(res => { |
| | | this.loading = false |
| | | this.dataList = res.records || [] |
| | | this.pagination.total = res.total |
| | | }, () => { |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | clear() { |
| | | clear () { |
| | | this.filters = { |
| | | type: 2 |
| | | } |
| | | this.getList(1) |
| | | this.getList(0) |
| | | }, |
| | | handleSizeChange(capacity) { |
| | | handleSizeChange (capacity) { |
| | | this.pagination.capacity = capacity |
| | | this.getList() |
| | | } |
| | |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped></style> |
| | | <style lang="scss" scoped> |
| | | </style> |
| | |
| | | </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="name" label="å§å" min-width="100px"></el-table-column> |
| | | <el-table-column prop="phone" label="ææºå·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="idcardDecode" label="身份è¯å·" min-width="130px"></el-table-column> |
| | | <el-table-column prop="companyName" label="ç»ç»" min-width="100px"> |
| | | <template slot-scope="{ row }"> |
| | | <span v-if="row.type === 2 || row.type === 0">{{ |
| | |
| | | <span v-else>访客</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="å§å" min-width="100px"></el-table-column> |
| | | <el-table-column prop="phone" label="ææºå·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="idcardDecode" label="身份è¯å·" min-width="130px"></el-table-column> |
| | | <el-table-column label="è¿åºé¨ç¦" min-width="100px"> |
| | | <template slot-scope="{ row }"> |
| | | <!-- <span v-if="row.type === 1">-</span> --> |
| | |
| | | <el-option label="å
è¿ç©æµè½¦" value="3"></el-option> |
| | | <el-option label="å¤å车è¾" value="4"></el-option> |
| | | <el-option label="å¸å
¬å¸å¸è´§è½¦" value="5"></el-option> |
| | | <el-option label="æªç»è®°è½¦è¾" value="6"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="èµ·æ¢æ¶é´" prop="startTime"> |
| | |
| | | <span v-else-if="row.carType == 3">å
è¿ç©æµè½¦</span> |
| | | <span v-else-if="row.carType == 4">å¤å车è¾</span> |
| | | <span v-else-if="row.carType == 5">å¸å
¬å¸å¸è´§è½¦</span> |
| | | <span v-else-if="row.carType == 6">æªç»è®°è½¦è¾</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="å§å" min-width="100px"></el-table-column> |
| | |
| | | </el-select> |
| | | </el-form-item>--> |
| | | <el-form-item label="æä½ç±»å" prop="type"> |
| | | <el-select v-model="searchForm.type" 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-option label="åæ¶æè®¿äºº" :value="5"></el-option> |
| | | <el-option label="设为é«çº§å®¡æ¹äºº" :value="6"></el-option> |
| | | <el-option label="åæ¶é«çº§å®¡æ¹äºº" :value="7"></el-option> |
| | | <el-option label="æå¨ç¦»åº" :value="8"></el-option> |
| | | <el-option label="å é¤" :value="9"></el-option> |
| | | </el-select> |
| | | <el-select v-model="searchForm.type" 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-option label="åæ¶æè®¿äºº" :value="5"></el-option> |
| | | <el-option label="设为é«çº§å®¡æ¹äºº" :value="6"></el-option> |
| | | <el-option label="åæ¶é«çº§å®¡æ¹äºº" :value="7"></el-option> |
| | | <el-option label="æå¨ç¦»åº" :value="8"></el-option> |
| | | <el-option label="å é¤" :value="9"></el-option> |
| | | <el-option label="æ´æ°" :value="10"></el-option> |
| | | <el-option label="ææé¨ç¦æé" :value="11"></el-option> |
| | | <el-option label="离è" :value="12"></el-option> |
| | | <el-option label="å¨è" :value="13"></el-option> |
| | | <el-option label="导å
¥å¹è®æææ" :value="14"></el-option> |
| | | <el-option label="设为主管" :value="15"></el-option> |
| | | <el-option label="åæ¶ä¸»ç®¡" :value="16"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">æç´¢</el-button> |
| | |
| | | companyName: '', |
| | | memberType: '', |
| | | mobile: '', |
| | | objType:0, |
| | | beforeStatus: '', |
| | | type: '' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:useraction:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="æä½å
容" prop="createName"> |
| | | <el-input v-model="searchForm.remark" placeholder="请è¾å
¥æä½å
容" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æä½ç±»å" prop="type"> |
| | | <el-select v-model="searchForm.type" placeholder="è¯·éæ©"> |
| | | <el-option label="å é¤ä¼è®®å®¤ç³è¯·" :value="17"></el-option> |
| | | <el-option label="å é¤è®¿å®¢ç³è¯·" :value="18"></el-option> |
| | | <el-option label="å é¤è®¿å®¢æ¥å¤" :value="19"></el-option> |
| | | <el-option label="å 餿å°é¢çº¦ä»»å¡" :value="20"></el-option> |
| | | <el-option label="å é¤å
¬è½¦ç³è¯·" :value="21"></el-option> |
| | | <el-option label="å é¤å®æ³°ç©æµä½ä¸ä»»å¡" :value="22"></el-option> |
| | | <el-option label="å é¤éæ£éææ" :value="23"></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> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | > |
| | | <el-table-column prop="createName" label="æä½äººå"></el-table-column> |
| | | <el-table-column prop="typeName" label="æä½ç±»å" /> |
| | | <el-table-column prop="remark" label="æä½å
容" width="900"/> |
| | | <el-table-column prop="createDate" label="æä½æ¶é´"></el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | export default { |
| | | name: 'UserAction', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination }, |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | | searchForm: { |
| | | createName: '', |
| | | memberName: '', |
| | | companyName: '', |
| | | memberType: '', |
| | | mobile: '', |
| | | objType: 1, |
| | | beforeStatus: '', |
| | | type: '' |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: '人åæä½è®°å½æ¥å¿', |
| | | api: '/business/userAction', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | this.search() |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:visitevent:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="å§å/ææºå·" prop="keyWords"> |
| | | <el-input v-model="searchForm.keyWords" placeholder="请è¾å
¥å§å/ææºå·" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="车çå·" prop="carNo"> |
| | | <el-input v-model="searchForm.carNo" placeholder="请è¾å
¥è½¦çå·" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ç»ç»åç§°" prop="visitorWorkUint"> |
| | | <el-input v-model="searchForm.visitorWorkUint" placeholder="请è¾å
¥ç»ç»åç§°" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="äºä»¶ç±»å" prop="eventType"> |
| | | <el-select v-model="searchForm.eventType" placeholder="è¯·éæ©"> |
| | | <el-option label="访客ç»è®°" value="541200006"></el-option> |
| | | <el-option label="访客ç¾ç¦»" value="541200007"></el-option> |
| | | <el-option label="访客éè¡" value="541200060"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="èµ·å§æ¶é´" prop="carNo"> |
| | | <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> |
| | | </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:visitevent:exportExcel']"> |
| | | <li><el-button type="primary" :loading="isWorking.export" v-permissions="['business:visitevent:exportExcel']" |
| | | @click="exportExcel">导åº</el-button></li> |
| | | </ul> |
| | | <el-table v-loading="isWorking.search" :data="tableData.list" stripe> |
| | | <el-table-column prop="personName" label="å§å" min-width="100px"></el-table-column> |
| | | <el-table-column prop="phone" label="ææºå·ç " min-width="100px"></el-table-column> |
| | | <el-table-column prop="idcardDecode" label="身份è¯å·ç " min-width="100px"></el-table-column> |
| | | <el-table-column prop="visitorWorkUint" label="ç»ç»" min-width="100px"></el-table-column> |
| | | <el-table-column prop="carNo" label="车çå·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="beVisitedPersonName" label="被访人" min-width="100px"></el-table-column> |
| | | <el-table-column prop="beVisitedPersonOrg" label="被访人ç»ç»" min-width="100px"></el-table-column> |
| | | <el-table-column prop="eventTypeName" label="äºä»¶ç±»å" min-width="100px"></el-table-column> |
| | | <el-table-column label="ææå¾" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <el-image v-if="row.captureUrlFull != null" style="width: 80px; height: 80px" :src="row.captureUrlFull" |
| | | :preview-src-list="[row.captureUrlFull]"> |
| | | </el-image> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="createDate" label="äºä»¶æ¶é´" min-width="100px"></el-table-column> |
| | | </el-table> |
| | | <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination"> |
| | | </pagination> |
| | | </template> |
| | | </TableLayout> |
| | | <TableLayout :permissions="['business:visitevent:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="å§å/ææºå·" prop="keyWords"> |
| | | <el-input v-model="searchForm.keyWords" placeholder="请è¾å
¥å§å/ææºå·" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="车çå·" prop="carNo"> |
| | | <el-input v-model="searchForm.carNo" placeholder="请è¾å
¥è½¦çå·" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ç»ç»åç§°" prop="visitorWorkUint"> |
| | | <el-input v-model="searchForm.visitorWorkUint" placeholder="请è¾å
¥ç»ç»åç§°" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="äºä»¶ç±»å" prop="eventType"> |
| | | <el-select v-model="searchForm.eventType" placeholder="è¯·éæ©"> |
| | | <el-option label="访客ç»è®°" value="541200006"></el-option> |
| | | <el-option label="访客ç¾ç¦»" value="541200007"></el-option> |
| | | <el-option label="访客éè¡" value="541200060"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="è¿åºç±»å" prop="inOrOut"> |
| | | <el-select v-model="searchForm.inOrOut" 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="carNo"> |
| | | <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> |
| | | </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:visitevent:exportExcel']"> |
| | | <li><el-button type="primary" :loading="isWorking.export" v-permissions="['business:visitevent:exportExcel']" @click="exportExcel">导åº</el-button></li> |
| | | </ul> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | > |
| | | <el-table-column prop="personName" label="å§å" min-width="100px"></el-table-column> |
| | | <el-table-column prop="phone" label="ææºå·ç " min-width="100px"></el-table-column> |
| | | <el-table-column prop="idcardDecode" label="身份è¯å·ç " min-width="100px"></el-table-column> |
| | | <el-table-column prop="visitorWorkUint" label="ç»ç»" min-width="100px"></el-table-column> |
| | | <el-table-column prop="carNo" label="车çå·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="beVisitedPersonName" label="被访人" min-width="100px"></el-table-column> |
| | | <el-table-column prop="beVisitedPersonOrg" label="被访人ç»ç»" min-width="100px"></el-table-column> |
| | | <el-table-column prop="eventTypeName" label="äºä»¶ç±»å" min-width="100px"></el-table-column> |
| | | <el-table-column prop="inOrOut" label="è¿åºç±»å" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.inOrOut == '0'">è¿</span> |
| | | <span v-else-if="row.inOrOut == '1'">åº</span> |
| | | <span v-else>-</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="ææå¾" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <el-image v-if="row.captureUrlFull!=null" |
| | | style="width: 80px; height: 80px" |
| | | :src="row.captureUrlFull" |
| | | :preview-src-list="[row.captureUrlFull]"> |
| | | </el-image> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="createDate" label="äºä»¶æ¶é´" min-width="100px"></el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | |
| | | name: 'VisitEvent', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination }, |
| | | data() { |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | | searchForm: { |
| | |
| | | startTime: '', |
| | | endTime: '', |
| | | eventType: '', |
| | | inOrOut: null, |
| | | visitorWorkUint: '', |
| | | radio: '0' |
| | | }, |
| | | time: [] |
| | | } |
| | | }, |
| | | created() { |
| | | created () { |
| | | this.config({ |
| | | module: '访客äºä»¶æ¨éè®°å½è¡¨', |
| | | api: '/business/visitEvent', |
| | |
| | | this.search() |
| | | }, |
| | | methods: { |
| | | seleTime(e) { |
| | | seleTime (e) { |
| | | this.searchForm.startTime = e[0] |
| | | this.searchForm.endTime = e[1] |
| | | this.searchForm.radio = null |
| | | this.search() |
| | | }, |
| | | changeRadio(e) { |
| | | changeRadio (e) { |
| | | if (e === '0') { |
| | | this.searchForm.startTime = timeForMat(0)[0] |
| | | this.searchForm.endTime = timeForMat(0)[1] |
| | |
| | | } |
| | | this.search() |
| | | }, |
| | | reset() { |
| | | reset () { |
| | | this.$refs.searchForm.resetFields() |
| | | this.time = [] |
| | | this.searchForm.radio = '' |
| | | // this.changeRadio('0') |
| | | this.searchForm.radio = '0' |
| | | this.changeRadio('0') |
| | | this.search() |
| | | } |
| | | } |
| | |
| | | icon="el-icon-edit" v-if="row.status == 6">éæ°ä¸å</el-button> |
| | | <!-- <el-button type="text" @click="$refs.OperaVisitsDesWindow.open('详æ
', row.id)" icon="el-icon-view">详æ
</el-button> --> |
| | | <el-button type="text" @click="handleDetail(row)" icon="el-icon-view">详æ
</el-button> |
| | | <!-- <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:visits:delete']">æ¥è¯¢å®¡æ¹ç»æ</el-button>--> |
| | | <el-button type="text" icon="el-icon-delete" @click="deleteById(row)" style="color: red" v-permissions="['business:visits:delete']">å é¤</el-button> |
| | | <!-- <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:visits:delete']">æ¥è¯¢å®¡æ¹ç»æ</el-button>--> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | }) |
| | | }, |
| | | departure(id) { |
| | | this.$confirm('ç¡®å®ç¦»åå, æ¯å¦ç»§ç»?', 'æç¤º', { |
| | | this.$confirm('ç¡®å®è¿è¡ç¦»åºæä½åï¼è¯¥æä½ä¸å¯é请谨æ
æä½, æ¯å¦ç»§ç»?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | level(id) |
| | | this.api.level(id) |
| | | .then(res => { |
| | | this.$message.success('æä½æå') |
| | | this.page = 1 |
| | | this.getData() |
| | | this.search() |
| | | }) |
| | | }).catch(() => { |
| | | |
| | |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | visitCancel(id) |
| | | this.api.visitCancel(id) |
| | | .then(res => { |
| | | this.page = 1 |
| | | this.getData() |
| | | this.search() |
| | | }) |
| | | }).catch(() => { |
| | | |
| | |
| | | this.api.visitResend(id) |
| | | .then(res => { |
| | | this.page = 1 |
| | | this.getData() |
| | | this.search() |
| | | }) |
| | | }).catch(() => { |
| | | |
| | |
| | | <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-input v-model="searchForm.companyName" placeholder="请è¾å
¥" clearable @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="责任é¨é¨" prop="dutyCompanyName"> |
| | | <el-input v-model="searchForm.dutyCompanyName" placeholder="请è¾å
¥è´£ä»»é¨é¨" clearable |
| | | @keypress.enter.native="search"></el-input> |
| | | <el-input v-model="searchForm.dutyCompanyName" placeholder="请è¾å
¥è´£ä»»é¨é¨" clearable @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="鿣åºå" prop="areaId"> |
| | | <el-select v-model="searchForm.areaId" placeholder="è¯·éæ©éæ£åºå" clearable @change="search"> |
| | | <el-option v-for="item in areaList" :key="item.id" :label="item.name" :value="item.id"> |
| | | <el-select v-model="searchForm.areaId" placeholder="è¯·éæ©éæ£åºå" clearable @change="search"> |
| | | <el-option |
| | | v-for="item in areaList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="éæ£ç±»å" prop="cateId"> |
| | | <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 |
| | | 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-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"> |
| | | <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" :default-time="['00:00:00', '23:59:59']" |
| | | range-separator="è³" start-placeholder="å¼å§æ¥æ" end-placeholder="ç»ææ¥æ"> |
| | | <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" |
| | | :default-time="['00:00:00', '23:59:59']" |
| | | range-separator="è³" |
| | | start-placeholder="å¼å§æ¥æ" |
| | | end-placeholder="ç»ææ¥æ"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-radio-group v-model="searchForm.radio" size="small" @input="changeRadio"> |
| | |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:hiddendanger:create', 'business:hiddendanger:exportExcel']"> |
| | | <li><el-button type="primary" icon="el-icon-plus" v-permissions="['business:hiddendanger:create']" |
| | | @click="handleEdit">æ°å»º</el-button></li> |
| | | <li><el-button type="primary" v-permissions="['business:hiddendanger:exportExcel']" |
| | | @click="handleEx">导åº</el-button></li> |
| | | <li><el-button type="primary" icon="el-icon-plus" v-permissions="['business:hiddendanger:create']" @click="handleEdit">æ°å»º</el-button></li> |
| | | <li><el-button type="primary" v-permissions="['business:hiddendanger:exportExcel']" @click="handleEx">导åº</el-button></li> |
| | | </ul> |
| | | <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> |
| | | <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="dutyCompanyName" label="责任é¨é¨" min-width="150px"></el-table-column> |
| | | <el-table-column prop="areaName" label="鿣åºå" min-width="150px"></el-table-column> |
| | |
| | | <el-table-column prop="createDate" label="ææ¥æ¶é´" min-width="150px"></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-green" v-if="row.status === 1">å·²å¤ç</span> |
| | | <span class="status-red" v-if="row.status === 2">å·²éå</span> |
| | | <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> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="editDate" label="æä½æ¶é´" min-width="150px"></el-table-column> |
| | | <el-table-column label="æä½" min-width="100" fixed="right"> |
| | | <el-table-column |
| | | label="æä½" |
| | | min-width="180" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" icon="el-icon-edit" |
| | | @click="$refs.OperaHiddenDangerWindow.open('éæ£éææè¯¦æ
', row)">æ¥ç详æ
</el-button> |
| | | <el-button type="text" icon="el-icon-edit" @click="$refs.OperaHiddenDangerWindow.open('éæ£éææè¯¦æ
',row)" >æ¥ç详æ
</el-button> |
| | | <el-button type="text" icon="el-icon-delete" @click="deleteById(row)" style="color: red" v-permissions="['business:hiddendanger:delete']">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination"> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | <OperaHiddenDangerWindow ref="OperaHiddenDangerWindow" @success="handlePageChange" /> |
| | | <OperaHiddenDangerWindow ref="OperaHiddenDangerWindow" @success="handlePageChange"/> |
| | | <!-- æ°å»º --> |
| | | <HiddenDangerParam @close="isShowEdit = false" @success="search" v-if="isShowEdit" ref="HiddenDangerParamRef" /> |
| | | <HiddenDangerParam @close="isShowEdit = false" @success="search" v-if="isShowEdit" ref="HiddenDangerParamRef" /> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | |
| | | export default { |
| | | name: 'Empower', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaHiddenDangerWindow, HiddenDangerParam }, |
| | | data() { |
| | | components: { TableLayout, Pagination ,OperaHiddenDangerWindow, HiddenDangerParam}, |
| | | data () { |
| | | return { |
| | | isShowEdit: false, |
| | | // æç´¢ |
| | |
| | | memberName: '', |
| | | companyName: '', |
| | | queryStartTime: '', |
| | | companyName: '', |
| | | queryEndTime: '', |
| | | areaId: null, |
| | | cateId: null, |
| | |
| | | time: [] |
| | | } |
| | | }, |
| | | created() { |
| | | created () { |
| | | this.config({ |
| | | module: 'éæ£éææç®¡ç', |
| | | api: '/business/hiddenDanger', |
| | |
| | | this.loadParams() |
| | | }, |
| | | methods: { |
| | | handleEx() { |
| | | handleEx () { |
| | | this.$dialog.exportConfirm('确认导åºåï¼') |
| | | .then(() => { |
| | | this.exLoading = true |
| | |
| | | }) |
| | | }) |
| | | }, |
| | | handleEdit() { |
| | | handleEdit () { |
| | | this.isShowEdit = true |
| | | this.$nextTick(() => { |
| | | this.$refs.HiddenDangerParamRef.isShowModal = true |
| | | }) |
| | | }, |
| | | changeRadio(e) { |
| | | changeRadio (e) { |
| | | this.searchForm.radio = e |
| | | if (e === '0') { |
| | | this.searchForm.queryStartTime = timeForMat(0)[0] |
| | |
| | | } |
| | | this.search() |
| | | }, |
| | | loadParams() { |
| | | loadParams () { |
| | | allList({ |
| | | }) |
| | | .then(res => { |
| | |
| | | .finally(() => { |
| | | }) |
| | | }, |
| | | seleTime(e) { |
| | | seleTime (e) { |
| | | this.searchForm.queryStartTime = e[0] |
| | | this.searchForm.queryEndTime = e[1] |
| | | this.searchForm.radio = null |
| | | this.search() |
| | | }, |
| | | reset() { |
| | | reset () { |
| | | this.$refs.searchForm.resetFields() |
| | | this.time = [] |
| | | this.searchForm = { |
| | | memberName: '', |
| | | companyName: '', |
| | | queryStartTime: '', |
| | | companyName: '', |
| | | queryEndTime: '', |
| | | areaId: null, |
| | | cateId: null, |
| | | status: null, |
| | | radio: '' |
| | | } |
| | | // this.changeRadio('0') |
| | | this.search() |
| | | this.searchForm.radio = '0' |
| | | this.changeRadio('0') |
| | | // this.search() |
| | | } |
| | | } |
| | | } |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:empower:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <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-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-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-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-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="type"> |
| | | <el-select v-model="searchForm.type" @change="search" clearable placeholder="ç®çå°ç±»å"> |
| | | <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" :default-time="['00:00:00', '23:59:59']" |
| | | range-separator="è³" start-placeholder="å¼å§æ¥æ" end-placeholder="ç»ææ¥æ"> |
| | | <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" |
| | | :default-time="['00:00:00', '23:59:59']" |
| | | 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-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-form> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="[ |
| | | 'business:carusebook:create', |
| | | 'business:carusebook:exportExcel', |
| | | ]"> |
| | | <ul |
| | | class="toolbar" |
| | | v-permissions="[ |
| | | 'business:carusebook:create', |
| | | 'business:carusebook:exportExcel', |
| | | ]" |
| | | > |
| | | <li> |
| | | <el-button type="primary" @click="handleEdit" icon="el-icon-plus" |
| | | v-permissions="['business:carusebook:create']">æ°å»º</el-button> |
| | | <el-button |
| | | type="primary" |
| | | @click="handleEdit" |
| | | icon="el-icon-plus" |
| | | v-permissions="['business:carusebook:create']" |
| | | >æ°å»º</el-button |
| | | > |
| | | </li> |
| | | <li> |
| | | <el-button type="primary" @click="handleEx" v-permissions="['business:carusebook:exportExcel']">导åº</el-button> |
| | | <el-button |
| | | type="primary" |
| | | @click="handleEx" |
| | | v-permissions="['business:carusebook:exportExcel']" |
| | | >导åº</el-button |
| | | > |
| | | </li> |
| | | </ul> |
| | | <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> |
| | | <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="carCode" label="车çå·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="memberName" label="ææ¥äºº" min-width="80px"></el-table-column> |
| | | <el-table-column prop="memberNames" label="ä¹è½¦äºº" min-width="180px"></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 |
| | | prop="memberName" |
| | | label="ææ¥äºº" |
| | | min-width="80px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="memberNames" |
| | | label="ä¹è½¦äºº" |
| | | min-width="180px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="companyName" |
| | | label="æå±ç»ç»" |
| | | min-width="150px" |
| | | ></el-table-column> |
| | | <el-table-column label="ç¨è½¦æ¶é´" min-width="170px"> |
| | | <template slot-scope="{ row }"> |
| | | <span v-if="row.startTime">èµ·:{{ row.startTime.slice(0, 16) }}</span><br /> |
| | | <span v-if="row.endTime">æ¢:{{ row.endTime.slice(0, 16) }}</span> |
| | | <span v-if="row.startTime">èµ·:{{ row.startTime.slice(0,16) }}</span |
| | | ><br /> |
| | | <span v-if="row.endTime">æ¢:{{ row.endTime.slice(0,16) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="planUseDate" label="åºåæ¶é´" min-width="150px"> |
| | | <template slot-scope="{ row }"> |
| | | <span v-if="row.planUseDate">{{ row.planUseDate.slice(0, 16) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="planUseDate" |
| | | label="åºåæ¶é´" |
| | | min-width="150px" |
| | | > |
| | | <template slot-scope="{ row }"> |
| | | <span v-if="row.planUseDate">{{ row.planUseDate.slice(0,16) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="ç®çå°" min-width="200px"> |
| | | <template slot-scope="{ row }"> |
| | | <span class="status-green" v-if="row.type === 0">ãå¸å
ã</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="160" align="center" fixed="right"> |
| | | <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="160" |
| | | align="center" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{ row }"> |
| | | <el-button type="text" icon="el-icon-edit" |
| | | @click="$refs.OperaDetailsWindow.open('å
¬å¡è½¦ç³è¯·è¯¦æ
', row)">æ¥ç详æ
</el-button> |
| | | <el-button |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="$refs.OperaDetailsWindow.open('å
¬å¡è½¦ç³è¯·è¯¦æ
', row)" |
| | | >æ¥ç详æ
</el-button |
| | | > |
| | | <!-- <el-button v-if="(row.status === 1 || row.status === 2) && new Date().getTime() < new Date(row.startTime).getTime()" type="text" icon="el-icon-delete" @click="rowRevokeClick(row)" >æ¤é</el-button> --> |
| | | <el-button v-if=" |
| | | (row.status === 0 || row.status === 1 || row.status === 2) && |
| | | new Date().getTime() < new Date(row.startTime).getTime() |
| | | " type="text" icon="el-icon-delete" @click="rowRevokeClick(row)">æ¤é</el-button> |
| | | <el-button style="color: red" v-if=" (row.status === 0 || row.status === 1 || row.status === 2) && new Date().getTime() < new Date(row.startTime).getTime() " type="text" icon="el-icon-delete" @click="rowRevokeClick(row)" >æ¤é</el-button> |
| | | <el-button style="color: red" type="text" icon="el-icon-delete" @click="deleteById(row)" >å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination"> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | <!-- --> |
| | | <el-dialog title="ç¨è½¦æ¤é" :visible.sync="isShowBack" width="520px"> |
| | | <el-form :model="backParam" :rules="rules" ref="backForm" label-width="100px" class="demo-ruleForm"> |
| | | <el-form |
| | | :model="backParam" |
| | | :rules="rules" |
| | | ref="backForm" |
| | | label-width="100px" |
| | | class="demo-ruleForm" |
| | | > |
| | | <el-form-item label="说æ" prop="info"> |
| | | <el-input type="textarea" :rows="4" v-model="backParam.info" placeholder="请è¾å
¥æ¤é说æ"></el-input> |
| | | <el-input |
| | | type="textarea" |
| | | :rows="4" |
| | | v-model="backParam.info" |
| | | placeholder="请è¾å
¥æ¤é说æ" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | |
| | | <el-button type="primary" @click="backSubmit">ç¡®å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <OperaCarUseBookWindow ref="OperaDetailsWindow" @success="handlePageChange" /> |
| | | <OperaCarUseBookWindow |
| | | ref="OperaDetailsWindow" |
| | | @success="handlePageChange" |
| | | /> |
| | | <OperaCarUseBookParamWindow ref="OperaParamWindow" @success="search" /> |
| | | </TableLayout> |
| | | </template> |
| | |
| | | name: 'Empower', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaCarUseBookWindow, OperaCarUseBookParamWindow }, |
| | | data() { |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | | searchForm: { |
| | |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | | created () { |
| | | this.config({ |
| | | module: 'ç¨è½¦ç³è¯·ç®¡ç', |
| | | api: '/business/carUseBook', |
| | |
| | | this.loadParams() |
| | | }, |
| | | methods: { |
| | | rowRevokeClick(row) { |
| | | rowRevokeClick (row) { |
| | | this.isShowBack = true |
| | | this.backParam = {} |
| | | this.$set(this.backParam, 'id', row.id) |
| | |
| | | this.$refs.backForm.clearValidate() |
| | | }) |
| | | }, |
| | | backSubmit() { |
| | | backSubmit () { |
| | | revokeById({ ...this.backParam }).then(res => { |
| | | this.$tip.success('æ¤éæå') |
| | | this.isShowBack = false |
| | | this.search() |
| | | }) |
| | | }, |
| | | handleEx() { |
| | | handleEx () { |
| | | this.$dialog.exportConfirm('确认导åºåï¼') |
| | | .then(() => { |
| | | this.exLoading = true |
| | |
| | | }) |
| | | }) |
| | | }, |
| | | changeRadio(e) { |
| | | changeRadio (e) { |
| | | this.searchForm.radio = e |
| | | if (e === '0') { |
| | | this.searchForm.queryStartTime = timeForMat(0)[0] |
| | |
| | | } |
| | | this.search() |
| | | }, |
| | | handleEdit() { |
| | | handleEdit () { |
| | | this.$refs.OperaParamWindow.open() |
| | | }, |
| | | loadParams() { |
| | | loadParams () { |
| | | allList({ |
| | | }) |
| | | .then(res => { |
| | |
| | | .finally(() => { |
| | | }) |
| | | }, |
| | | seleTime(e) { |
| | | seleTime (e) { |
| | | this.searchForm.queryStartTime = e[0] |
| | | this.searchForm.queryEndTime = e[1] |
| | | this.searchForm.radio = null |
| | | this.search() |
| | | }, |
| | | reset() { |
| | | reset () { |
| | | this.$refs.searchForm.resetFields() |
| | | this.time = [] |
| | | this.searchForm = { |
| | | memberName: '', |
| | | companyName: '', |
| | | queryStartTime: '', |
| | | queryEndTime: '', |
| | | type: null, |
| | | status: null, |
| | | radio: '' |
| | | } |
| | | // this.changeRadio('0') |
| | | this.search() |
| | | this.searchForm.radio = '0' |
| | | this.changeRadio('0') |
| | | // this.search() |
| | | } |
| | | } |
| | | } |
| | |
| | | <template v-slot="scope"> |
| | | <el-button type="text" v-permissions="['business:platformbooks:detail']" |
| | | @click="handleDetail(scope.row)">é¢çº¦è¯¦æ
</el-button> |
| | | <el-button type="text" class="red" v-permissions="['business:platformjob:delete']" @click="handleDel(scope.row)">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | rules: { |
| | | contractNum: [{ required: true, message: '请è¾å
¥', trigger: 'blur' }], |
| | | totalNum: [{ required: true, message: '请è¾å
¥', trigger: 'blur' }], |
| | | driverName: [{ required: true, message: '请è¾å
¥', trigger: 'blur' }], |
| | | driverPhone: [{ required: true, message: '请è¾å
¥', trigger: 'blur' }], |
| | | carCodeFront: [{ required: true, message: '请è¾å
¥', trigger: 'blur' }], |
| | | carCodeBack: [{ required: true, message: '请è¾å
¥', trigger: 'blur' }], |
| | |
| | | } |
| | | ], |
| | | online: true |
| | | }, |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | }) |
| | | }, |
| | | handleDel(row) { |
| | | this.$dialog.exportConfirm('确认å é¤åï¼').then(() => { |
| | | this.$dialog.deleteConfirm('确认å é¤åï¼').then(() => { |
| | | platformJobDel(row.id).then(res => { |
| | | Message.success('å 餿å') |
| | | this.getList() |
| | |
| | | "SUM( CONVERT( (UNIX_TIMESTAMP(b.END_TIME) - UNIX_TIMESTAMP(b.START_TIME))/(60*60),DECIMAL(5,1))) c\n" + |
| | | "FROM meeting_book b\n" + |
| | | "LEFT JOIN meeting_rooms r ON r.ID = b.ROOM_ID \n" + |
| | | "WHERE DATE_FORMAT(b.START_TIME,'%Y') = #{yearNum} AND b.STATUS = 0 \n" + |
| | | "WHERE DATE_FORMAT(b.START_TIME,'%Y') = #{yearNum} AND b.STATUS in(0,2) \n" + |
| | | "GROUP BY b.ROOM_ID , DATE_FORMAT(b.START_TIME,'%m')\n" + |
| | | ") t) t1 GROUP BY t1.name") |
| | | List<RoomStatisticsVo> getRoomStatistics(@Param("yearNum") Integer yearNum); |
| | |
| | | "meeting_user_rel ur\n" + |
| | | "LEFT JOIN `SYSTEM_USER` su ON ur.USER_ID = su.id \n" + |
| | | "LEFT JOIN meeting_book b ON ur.OBJ_ID = b.id \n" + |
| | | "WHERE DATE_FORMAT(b.START_TIME,'%Y') = #{yearNum} AND b.STATUS = 0" + |
| | | "WHERE DATE_FORMAT(b.START_TIME,'%Y') = #{yearNum} AND b.STATUS in(0,2)" + |
| | | "<if test='userId != null'>"+ |
| | | "and ur.USER_ID = #{userId}\n" + |
| | | "</if>"+ |
| | |
| | | @ApiModelProperty(value = "ä¼è®®å®¤ä¸»é®") |
| | | @TableField(exist = false) |
| | | private Integer roomsId; |
| | | @ApiModelProperty(value = "ä¼è®®å®¤å¾ç") |
| | | @TableField(exist = false) |
| | | private String imgurl; |
| | | |
| | | @TableField(exist = false) |
| | | @ApiModelProperty(value = "æä»¶ç±»å") |
| | | private Integer fileType; |
| | | } |
| | |
| | | package com.doumee.dao.web.response; |
| | | |
| | | import com.doumee.dao.business.model.Bookings; |
| | | import com.doumee.dao.system.model.Multifile; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | |
| | | |
| | | @ApiModelProperty(value = "ä¼è®®å表") |
| | | private List<MeetingListResponse> meetingListResponseList; |
| | | // @ApiModelProperty(value = "ä¼è®®å表") |
| | | // private List<Bookings> meetingListResponseList; |
| | | |
| | | } |
| | |
| | | package com.doumee.service.business.impl; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | |
| | | import com.doumee.biz.system.SystemDictDataBiz; |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | | import com.doumee.dao.business.dao.MemberMapper; |
| | | import com.doumee.dao.business.dao.UserActionMapper; |
| | | import com.doumee.service.business.third.model.LoginUserInfo; |
| | | import com.doumee.service.business.third.model.PageData; |
| | | import com.doumee.service.business.third.model.PageWrap; |
| | |
| | | |
| | | @Autowired |
| | | private RoomsMapper roomsMapper; |
| | | @Autowired |
| | | private UserActionMapper userActionMapper; |
| | | @Autowired |
| | | private ProjectRelJoinMapper projectRelJoinMapper; |
| | | @Autowired |
| | |
| | | |
| | | @Override |
| | | public void deleteById(Integer id,LoginUserInfo user) { |
| | | Bookings model = bookingsMapper.selectById(id); |
| | | if(model==null ||Constants.equalsInteger(Constants.ONE,model.getIsdeleted())) { |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | |
| | | Date date = new Date(); |
| | | Bookings bookings = new Bookings(); |
| | | bookings.setId(id); |
| | | bookings.setIsdeleted(MeetConstants.ONE); |
| | | bookings.setEditDate(new Date()); |
| | | bookings.setEditDate(date); |
| | | bookings.setEditor(user.getId()); |
| | | bookingsMapper.updateById(bookings); |
| | | |
| | | String[] params = new String[3]; |
| | | params[0] = user.getRealname(); |
| | | params[1]=DateUtil.getPlusTime2(date); |
| | | params[2]=model.getName()+"-ãä¼è®®å®¤ï¼"+model.getRoomName()+" ã-ãæ¶é´ï¼"+DateUtil.getPlusTime2(model.getStartTime())+"-"+DateUtil.getPlusTime2(model.getEndTime())+"ã"; |
| | | String info = Constants.UserActionType.MEET_BOOK_DEL.getInfo(); |
| | | if(params!=null){ |
| | | for (int i = 0; i < params.length; i++) { |
| | | info = info.replace("${param"+(i+1)+"}",params[i]); |
| | | } |
| | | } |
| | | UserAction userAction=new UserAction(); |
| | | userAction.setIsdeleted(Constants.ZERO); |
| | | userAction.setCreateDate(date); |
| | | userAction.setCreator(user.getId()); |
| | | userAction.setBeforeStatus(Constants.ZERO); |
| | | userAction.setType( Constants.UserActionType.MEET_BOOK_DEL.getKey()); |
| | | userAction.setContent(JSONObject.toJSONString(model)); |
| | | userAction.setRemark(info); |
| | | userAction.setMemberId(id+""); |
| | | userActionMapper.insert(userAction); |
| | | } |
| | | |
| | | @Override |
| | |
| | | queryWrapper.selectAs(Rooms::getName, Bookings::getRoomName); |
| | | queryWrapper.selectAs(SystemUser::getRealname, Bookings::getRealName); |
| | | queryWrapper.selectAs(Company::getName, Bookings::getDepartmentName); |
| | | queryWrapper.select(" CASE WHEN t.START_TIME_REAL IS NULL AND t.`STATUS` = 0 THEN 1 WHEN ( ( t.END_TIME < now() AND t.`STATUS` = 0 ) or t.`STATUS` = 2 ) THEN 3 WHEN t.`STATUS` = 1 THEN 5 ELSE 2 END meetingStatus "); |
| | | // queryWrapper.select(" CASE WHEN t.START_TIME_REAL IS NULL AND t.`STATUS` = 0 THEN 1 WHEN ( ( t.END_TIME < now() AND t.`STATUS` = 0 ) or t.`STATUS` = 2 ) THEN 3 WHEN t.`STATUS` = 1 THEN 5 ELSE 2 END meetingStatus "); |
| | | queryWrapper.leftJoin(Rooms.class, Rooms::getId, Bookings::getRoomId); |
| | | queryWrapper.leftJoin(SystemUser.class, SystemUser::getId, Bookings::getCreator); |
| | | queryWrapper.leftJoin(Company.class,Company::getId,SystemUser::getCompanyId); |
| | |
| | | SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm"); |
| | | SimpleDateFormat format1 = new SimpleDateFormat("HH:mm"); |
| | | IPage<Bookings> result = bookingsJoinMapper.selectJoinPage(page, Bookings.class, queryWrapper); |
| | | |
| | | String configMinute = systemDictDataBiz.queryByCode(MeetConstants.SYSTEM, MeetConstants.EARLY_START).getCode(); |
| | | Integer minute = StringUtils.isNotBlank(configMinute) ? Integer.valueOf(configMinute) : 120; |
| | | Integer minute =getNearStartMinut(); |
| | | result.getRecords().stream().forEach(s -> { |
| | | |
| | | if(Constants.equalsInteger(s.getStatus(),Constants.ZERO)&&Constants.equalsInteger(s.getMeetingStatus(),Constants.ONE)){ |
| | | //å¼å§å120åé 大äºå½åæ¶é´ åæ¾ç¤ºå³å°å¼å§ |
| | | if( |
| | | DateUtil.afterMinutesDate(s.getStartTime(),-minute).getTime()<=System.currentTimeMillis() |
| | | ){ |
| | | s.setMeetingStatus(4); |
| | | } |
| | | } |
| | | |
| | | |
| | | if(s.getMeetingStatus().equals(Constants.ZERO)){ |
| | | if(s.getMeetingStatus()==Constants.ONE){ |
| | | //å¼å§å120åé 大äºå½åæ¶é´ åæ¾ç¤ºå³å°å¼å§ |
| | | if(DateUtil.afterMinutesDate(s.getStartTime(),-120).getTime()>System.currentTimeMillis()){ |
| | | s.setMeetingStatus(4); |
| | | } |
| | | } |
| | | } |
| | | dealMeetingStatusByModel(s,minute); |
| | | MPJLambdaWrapper<Multifile> bookquery = new MPJLambdaWrapper<>(); |
| | | bookquery.eq(Multifile::getIsdeleted, MeetConstants.ZERO); |
| | | bookquery.eq(Multifile::getObjId, s.getId()); |
| | |
| | | |
| | | }); |
| | | return PageData.from(result); |
| | | } |
| | | |
| | | private void dealMeetingStatusByModel(Bookings s,Integer minute) { |
| | | //ä¼è®®ç¶æ: 1=æªå¼å§ï¼2=è¿è¡ä¸ï¼3=å·²ç»æ ; 4=å³å°å¼å§; 5=å·²æ¤é |
| | | //statusç¶æ 0å·²é¢çº¦ 1å·²æ¤é 2å·²ç»æ |
| | | if(Constants.equalsInteger(s.getStatus(),Constants.ONE)){ |
| | | //å·²æ¤é |
| | | s.setMeetingStatus(Constants.FIVE); |
| | | }else if(Constants.equalsInteger(s.getStatus(),Constants.TWO)){ |
| | | //å·²ç»æ |
| | | s.setMeetingStatus(Constants.THREE); |
| | | }else if(Constants.equalsInteger(s.getStatus(),Constants.ZERO)){ |
| | | //0å·²é¢çº¦ |
| | | if(s.getStartTimeReal() ==null){ |
| | | //妿æªå¼å§ |
| | | s.setMeetingStatus(Constants.ONE); |
| | | //å¼å§å120åé 大äºå½åæ¶é´ åæ¾ç¤ºå³å°å¼å§ |
| | | if(DateUtil.afterMinutesDate(s.getStartTime(),-minute).getTime()<=System.currentTimeMillis() ){ |
| | | s.setMeetingStatus(Constants.FOUR);//åæ¾ç¤ºå³å°å¼å§ |
| | | } |
| | | }else{ |
| | | //ä¼è®®ä¸ |
| | | s.setMeetingStatus(Constants.TWO); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | @Override |
| | |
| | | if (System.currentTimeMillis() < bookings.getStartTimeReal().getTime()) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "ä¼è®®æªå¼å§,æ æ³è¿è¡ç»æï¼å¦é该æä½è¯·ä½¿ç¨åæ¶åè½"); |
| | | } |
| | | if (System.currentTimeMillis() > bookings.getEndTime().getTime()) { |
| | | /*if (System.currentTimeMillis() > bookings.getEndTime().getTime()) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "ä¼è®®å·²ç»æï¼æ æ³è¿è¡è¯¥æä½"); |
| | | } |
| | | }*/ |
| | | if(!bookings.getStatus().equals(MeetConstants.ZERO)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "æ¬æ¬¡æä½å¤±è´¥,ä¼è®®ç¶æå·²æµè½¬"); |
| | | } |
| | |
| | | bookings.setEditDate(new Date()); |
| | | bookings.setEditor(businessOverDTO.getUserId()); |
| | | bookingsMapper.updateById(bookings); |
| | | //æ´æ°å·²ç»æä½æªç»æçä¼è®®ä¿¡æ¯ä¸ºå·²ç»æ |
| | | /* //æ´æ°å·²ç»æä½æªç»æçä¼è®®ä¿¡æ¯ä¸ºå·²ç»æ |
| | | bookingsMapper.update(null,new UpdateWrapper<Bookings>() |
| | | .lambda() |
| | | .set(Bookings::getStatus,Constants.TWO) |
| | |
| | | .apply(" ( END_TIME < now() or ( END_TIME > now() and START_TIME < now() and START_TIME_REAL is null ) )") |
| | | .eq(Bookings::getStatus,Constants.ZERO) |
| | | .eq(Bookings::getRoomId,bookings.getRoomId()) |
| | | ); |
| | | );*/ |
| | | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public RoomDetailResponse getRoomDetail(Integer roomId){ |
| | |
| | | String prefix = systemDictDataBiz.queryByCode(MeetConstants.SYSTEM, MeetConstants.MEET_CODE_PREFIX).getCode() ; |
| | | response.setPrefix(prefix); |
| | | |
| | | String path = systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.FTP_RESOURCE_PATH) |
| | | .getCode() + systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.PROJECTS).getCode(); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){ |
| | | String path = systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.FTP_RESOURCE_PATH) |
| | | .getCode() + systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.PROJECTS).getCode(); |
| | | String localPath = systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.FTP_LOCAL_RESOURCE_PATH) |
| | | .getCode() + systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.PROJECTS).getCode(); |
| | | for (Multifile multifile:multifileList) { |
| | |
| | | response.setMultifileList(multifileList); |
| | | } |
| | | |
| | | //æ¥è¯¢ä¼è®®å表 |
| | | |
| | | /* //æ¥è¯¢ä¼è®®å表 |
| | | List<MeetingListResponse> meetingList = bookingsMapper.meetingList( |
| | | new QueryWrapper<Bookings>() |
| | | .eq( "b.id", rooms.getId()) |
| | |
| | | .orderByAsc("a.start_time") |
| | | ); |
| | | this.dealMeetingStatus(meetingList); |
| | | response.setMeetingListResponseList(meetingList); |
| | | response.setMeetingListResponseList(meetingList);*/ |
| | | |
| | | MPJLambdaWrapper<Bookings> queryWrapper = new MPJLambdaWrapper<Bookings>() |
| | | .selectAll(Bookings.class) |
| | | .selectAs(Rooms::getName, Bookings::getRoomName) |
| | | .selectAs(Rooms::getImgurl, Bookings::getImgurl) |
| | | .selectAs(Rooms::getFileType, Bookings::getFileType) |
| | | .selectAs(SystemUser::getRealname, Bookings::getRealName) |
| | | .leftJoin(Rooms.class, Rooms::getId, Bookings::getRoomId) |
| | | .leftJoin(SystemUser.class, SystemUser::getId, Bookings::getCreator) |
| | | .eq(Bookings::getIsdeleted, MeetConstants.ZERO) |
| | | .eq(Bookings::getId, MeetConstants.ZERO) |
| | | .eq(Rooms::getId, rooms.getId()) |
| | | .apply("to_days(t.start_time) = to_days(now())")//åæ¥è¯¢å½å¤©ç |
| | | .orderByDesc(Bookings::getStartTime); |
| | | Integer minute =getNearStartMinut(); |
| | | List<Bookings> meetingList =bookingsMapper.selectJoinList(Bookings.class,queryWrapper); |
| | | if(meetingList!=null){ |
| | | response.setMeetingListResponseList(new ArrayList<>()); |
| | | for(Bookings s : meetingList){ |
| | | dealMeetingStatusByModel(s,minute); |
| | | MeetingListResponse d = new MeetingListResponse(); |
| | | d.setId(s.getId()); |
| | | d.setRoomName(s.getRoomName()); |
| | | d.setBookingUser(s.getRealName()); |
| | | d.setMeetingStatus(s.getMeetingStatus()); |
| | | d.setPrefixUrl(path); |
| | | d.setImgUrl(s.getImgurl()); |
| | | d.setFileType(s.getFileType()); |
| | | d.setMeetingDate(DateUtil.getShortTime(s.getStartTime()));// |
| | | //CONCAT(date_format(a.START_TIME,'%H:%i') , ' ~ ',date_format(a.END_TIME,'%H:%i')) as meetingTime |
| | | d.setMeetingTime(DateUtil.formatDate(s.getStartTime(),"HH:mm")+"~"+DateUtil.formatDate(s.getEndTime(),"HH:mm")); |
| | | d.setMeetingName(s.getName()); |
| | | d.setRemark(s.getRemark()); |
| | | d.setStartTime(s.getStartTime()); |
| | | response.getMeetingListResponseList().add(d); |
| | | } |
| | | } |
| | | return response; |
| | | } |
| | | |
| | | private Integer getNearStartMinut() { |
| | | String configMinute = systemDictDataBiz.queryByCode(MeetConstants.SYSTEM, MeetConstants.EARLY_START).getCode(); |
| | | try { |
| | | return StringUtils.isNotBlank(configMinute) ? Integer.valueOf(configMinute) : 120; |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | return 120; |
| | | } |
| | | |
| | | |
| | | public void dealMeetingStatus(List<MeetingListResponse> meetingResponseList){ |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(meetingResponseList)){ |
| | |
| | | package com.doumee.config; |
| | | |
| | | import com.doumee.config.GatewayFilterProperties; |
| | | import com.doumee.config.jwt.JwtTokenUtil; |
| | | import com.doumee.core.utils.Constants; |
| | | import org.apache.commons.lang3.StringUtils; |
| | |
| | | import org.springframework.data.redis.core.RedisTemplate; |
| | | import org.springframework.http.HttpStatus; |
| | | import org.springframework.http.MediaType; |
| | | import org.springframework.http.server.reactive.ServerHttpResponse; |
| | | import org.springframework.http.server.reactive.ServerHttpRequest; |
| | | import org.springframework.util.AntPathMatcher; |
| | | import org.springframework.util.PathMatcher; |
| | |
| | | if (StringUtils.isBlank(userInfo)) { |
| | | return unAuthorize(exchange); |
| | | } |
| | | jwtTokenUtil.refreshTokenTime(token,userInfo); |
| | | jwtTokenUtil.refreshTokenTime(token); |
| | | //ææ°ç exchangeæ¾åå°è¿æ»¤é¾ |
| | | ServerHttpRequest request = exchange.getRequest().mutate().header(Constants.HEADER_USER_TOKEN, token).build(); |
| | | ServerWebExchange newExchange = exchange.mutate().request(request).build(); |
| | |
| | | enabled: true #æ¯å¦å¼å¯JWTç»å½è®¤è¯åè½ |
| | | secret: fjkfaf;afa # JWTç§é¥ï¼ç¨äºæ ¡éªJWT令ççåæ³æ§ |
| | | expiration: 1800000 #JWT令ççæææï¼ç¨äºæ ¡éªJWT令ççåæ³æ§ |
| | | # expiration: 300000 #JWT令ççæææï¼ç¨äºæ ¡éªJWT令ççåæ³æ§ |
| | | header: JWTHeaderName #HTTP请æ±çHeaderåç§°ï¼è¯¥Headerä½ä¸ºåæ°ä¼ éJWT令ç |
| | | userParamName: username #ç¨æ·ç»å½è®¤è¯ç¨æ·ååæ°åç§° |
| | | pwdParamName: password #ç¨æ·ç»å½è®¤è¯å¯ç åæ°åç§° |
| | |
| | | package com.doumee.config.cloudfilter; |
| | | |
| | | import com.doumee.config.jwt.JwtProperties; |
| | | import com.doumee.config.jwt.JwtTokenUtil; |
| | | import com.doumee.core.utils.Constants; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.boot.web.servlet.FilterRegistrationBean; |
| | |
| | | import org.springframework.web.servlet.config.annotation.InterceptorRegistry; |
| | | import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.Filter; |
| | | |
| | | @Configuration |
| | | public class CloudWebConfig implements WebMvcConfigurer { |
| | | @Autowired |
| | | private RedisTemplate<String,Object> stringRedisTemplate; |
| | | @Resource |
| | | private JwtProperties jwtProperties; |
| | | @Override |
| | | public void addInterceptors(InterceptorRegistry registry) { |
| | | registry.addInterceptor(new LoginHandlerInterceptor(stringRedisTemplate)) |
| | | registry.addInterceptor(new LoginHandlerInterceptor(stringRedisTemplate, |
| | | jwtProperties==null || jwtProperties.getExpiration()==null?1800000l:jwtProperties.getExpiration())) |
| | | .addPathPatterns(Constants.CLOUD_SERVICE_URL_INDEX+"/**"); |
| | | } |
| | | |
| | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.doumee.config.annotation.CloudRequiredPermission; |
| | | import com.doumee.config.annotation.LoginNoRequired; |
| | | import com.doumee.config.jwt.JwtProperties; |
| | | import com.doumee.config.jwt.JwtTokenUtil; |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | | import com.doumee.service.business.third.model.LoginUserInfo; |
| | |
| | | import org.springframework.web.method.HandlerMethod; |
| | | import org.springframework.web.servlet.HandlerInterceptor; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.ServletInputStream; |
| | | import javax.servlet.http.Cookie; |
| | | import javax.servlet.http.HttpServletRequest; |
| | |
| | | import java.io.IOException; |
| | | import java.io.InputStreamReader; |
| | | import java.util.*; |
| | | import java.util.concurrent.TimeUnit; |
| | | |
| | | public class LoginHandlerInterceptor implements HandlerInterceptor { |
| | | |
| | | private RedisTemplate<String,Object> stringRedisTemplate; |
| | | private long expireTime; |
| | | |
| | | |
| | | // ç±äºè¯¥ç±»æªäº¤ç»spring管çï¼å æ¤ä¸è½ä½¿ç¨èªå¨è£
é
çæ¹å¼è·åRedisTemplate对象 |
| | | public LoginHandlerInterceptor(RedisTemplate<String,Object> stringRedisTemplate) { |
| | | public LoginHandlerInterceptor(RedisTemplate<String,Object> stringRedisTemplate,long expireTime) { |
| | | this.expireTime = expireTime; |
| | | this.stringRedisTemplate = stringRedisTemplate; |
| | | } |
| | | |
| | |
| | | if (StringUtils.isBlank(userinfo)) { |
| | | throw new BusinessException(ResponseStatus.NO_LOGIN.getCode(),"æªç»å½"); |
| | | } |
| | | stringRedisTemplate.expire(Constants.REDIS_TOKEN_KEY+token,this.expireTime, TimeUnit.MILLISECONDS); |
| | | LoginUserInfo user = JSONObject.toJavaObject(JSONObject.parseObject(userinfo),LoginUserInfo.class ); |
| | | if(user ==null ){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"ç¨æ·ç»é已失æï¼è¯·éæ°ç»éï¼"); |
| | |
| | | * @param token |
| | | */ |
| | | |
| | | public void refreshTokenTime(String token,String usrerInfo) { |
| | | redisTemplate.opsForValue().set(Constants.REDIS_TOKEN_KEY+token,usrerInfo,jwtProperties.getExpiration(), TimeUnit.MILLISECONDS); |
| | | public void refreshTokenTime(String token ) { |
| | | redisTemplate.expire(Constants.REDIS_TOKEN_KEY+token,jwtProperties.getExpiration(), TimeUnit.MILLISECONDS); |
| | | // redisTemplate.opsForValue().set(Constants.REDIS_TOKEN_KEY+token,usrerInfo,jwtProperties.getExpiration(), TimeUnit.MILLISECONDS); |
| | | } |
| | | } |
| | |
| | | return ""; |
| | | } |
| | | int l = s.length(); |
| | | if(Constants.equalsInteger(l,7)){ |
| | | return s.substring(0,3)+"**"+s.substring(l-2,l); |
| | | } |
| | | if(l <= 8){ |
| | | return s.substring(0,3)+"***"+s.substring(l-2,l); |
| | | if(l >= 7){ |
| | | String tt = ""; |
| | | for (int i = 0; i < l-6; i++) { |
| | | tt = tt+"*"; |
| | | } |
| | | return s.substring(0,2)+tt+s.substring(l-4,l); |
| | | } |
| | | return s; |
| | | } |
| | |
| | | int selfTruck = 3; |
| | | int outTruck = 4; |
| | | int cityComTruck = 5; |
| | | int unknown = 6; |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | getChinesePingyin("DDaaæ±èç对对对"); |
| | | // getChinesePingyin("DDaaæ±èç对对对"); |
| | | // System.out.println(DateUtil.getShortTime(new Date())); |
| | | // System.out.println( "2025-01-14 10:50:56".substring(0,10)); |
| | | // System.out.println(Constants.checkCarNo("çAA10991")); |
| | | // System.out.println(Constants.getVehiclePlateNo("æ¹B140D17").getDescription()); |
| | | // System.out.println(Constants.getVehiclePlateNo("宿AP0637").getDescription()); |
| | | |
| | | |
| | | System.out.println("<script> SELECT \n" + |
| | | "t1.REALNAME `REALNAME`,\n" + |
| | | "MAX(t1.`01`) `januaryCount`,\n" + |
| | | "MAX(t1.`02`) `februaryCount`,\n" + |
| | | "MAX(t1.`03`) `marchCount`,\n" + |
| | | "MAX(t1.`04`) `aprilCount`,\n" + |
| | | "MAX(t1.`05`) `mayCount`,\n" + |
| | | "MAX(t1.`06`) `juneCount`,\n" + |
| | | "MAX(t1.`07`) `julyCount`,\n" + |
| | | "MAX(t1.`08`) `augustCount`,\n" + |
| | | "MAX(t1.`09`) `septemberCount`,\n" + |
| | | "MAX(t1.`10`) `octoberCount`,\n" + |
| | | "MAX(t1.`11`) `novemberCount`,\n" + |
| | | "MAX(t1.`12`) `decemberCount`\n" + |
| | | "FROM(\n" + |
| | | "SELECT \n" + |
| | | "t.id,\n" + |
| | | "t.REALNAME,\n" + |
| | | "CASE WHEN t.yue='01' THEN t.c ELSE 0 END AS `01`,\n" + |
| | | "CASE WHEN t.yue='02' THEN t.c ELSE 0 END AS `02`,\n" + |
| | | "CASE WHEN t.yue='03' THEN t.c ELSE 0 END AS `03`,\n" + |
| | | "CASE WHEN t.yue='04' THEN t.c ELSE 0 END AS `04`,\n" + |
| | | "CASE WHEN t.yue='05' THEN t.c ELSE 0 END AS `05`,\n" + |
| | | "CASE WHEN t.yue='06' THEN t.c ELSE 0 END AS `06`,\n" + |
| | | "CASE WHEN t.yue='07' THEN t.c ELSE 0 END AS `07`,\n" + |
| | | "CASE WHEN t.yue='08' THEN t.c ELSE 0 END AS `08`,\n" + |
| | | "CASE WHEN t.yue='09' THEN t.c ELSE 0 END AS `09`,\n" + |
| | | "CASE WHEN t.yue='10' THEN t.c ELSE 0 END AS `10`,\n" + |
| | | "CASE WHEN t.yue='11' THEN t.c ELSE 0 END AS `11`,\n" + |
| | | "CASE WHEN t.yue='12' THEN t.c ELSE 0 END AS `12` \n" + |
| | | "FROM \n" + |
| | | "(SELECT \n" + |
| | | "su.id,\n" + |
| | | "su.REALNAME,\n" + |
| | | "DATE_FORMAT(b.START_TIME,'%m') yue,\n" + |
| | | "SUM(" + |
| | | "CONVERT( (UNIX_TIMESTAMP(b.END_TIME) - UNIX_TIMESTAMP(b.START_TIME))/(60*60), DECIMAL(5,1))) c\n" + |
| | | "FROM \n" + |
| | | "meeting_user_rel ur\n" + |
| | | "LEFT JOIN `SYSTEM_USER` su ON ur.USER_ID = su.id \n" + |
| | | "LEFT JOIN meeting_book b ON ur.OBJ_ID = b.id \n" + |
| | | "WHERE DATE_FORMAT(b.START_TIME,'%Y') = #{yearNum} AND b.STATUS = 0" + |
| | | "<if test='userId != null'>"+ |
| | | "and ur.USER_ID = #{userId}\n" + |
| | | "</if>"+ |
| | | "GROUP BY su.id, DATE_FORMAT(b.START_TIME,'%m')) t) t1 GROUP BY t1.id" + |
| | | "</script>"); |
| | | } |
| | | |
| | | |
| | |
| | | IMPORT_TRAIMETIME(14, "导å
¥å¹è®ææ","ç±ã${param1}ãäºã${param2}ãï¼è¿è¡ã导å
¥å¹è®ææãæä½" ), |
| | | BE_HEAD(15, "设为主管","ç±ã${param1}ãäºã${param2}ãï¼è¿è¡ã设为主管ãæä½" ), |
| | | NOT_HEAD(16, "åæ¶ä¸»ç®¡","ç±ã${param1}ãäºã${param2}ãï¼è¿è¡ãåæ¶ä¸»ç®¡ãæä½" ), |
| | | MEET_BOOK_DEL(17, "å é¤ä¼è®®å®¤ç³è¯·","ç±ã${param1}ãäºã${param2}ãï¼è¿è¡ãå é¤ä¼è®®å®¤ç³è¯·ãæä½,对象信æ¯${param3}" ), |
| | | VISIT_DEL(18, "å é¤è®¿å®¢ç³è¯·","ç±ã${param1}ãäºã${param2}ãï¼è¿è¡ãå é¤è®¿å®¢ç³è¯·ã,对象信æ¯ï¼${param3}" ), |
| | | VISIT_CAR_DEL(19, "å é¤è®¿å®¢æ¥å¤","ç±ã${param1}ãäºã${param2}ãï¼è¿è¡ãå é¤è®¿å®¢æ¥å¤ã,对象信æ¯ï¼${param3}" ), |
| | | PLATFROM_BOOK_DEL(20, "å 餿å°é¢çº¦ä»»å¡","ç±ã${param1}ãäºã${param2}ãï¼è¿è¡ãå 餿å°é¢çº¦ä»»å¡ã,对象信æ¯ï¼${param3}" ), |
| | | CAR_BOOK_DEL(21, "å é¤å
¬è½¦ç³è¯·","ç±ã${param1}ãäºã${param2}ãï¼è¿è¡ãå é¤å
¬è½¦ç³è¯·ã,对象信æ¯ï¼${param3}"), |
| | | PLATFROM_JOB_DEL(22, "å é¤å®æ³°ç©æµä½ä¸ä»»å¡","ç±ã${param1}ãäºã${param2}ãï¼è¿è¡ãå é¤å®æ³°ç©æµä½ä¸ä»»å¡ã,对象信æ¯ï¼${param3}" ), |
| | | HIDEN_DANGER_DEL(23, "å é¤éæ£éææ","ç±ã${param1}ãäºã${param2}ãï¼è¿è¡ãå é¤éæ£éææã,对象信æ¯ï¼${param3}"), |
| | | ; |
| | | |
| | | // æååé |
| | |
| | | package com.doumee.dao.business.dao; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.doumee.dao.business.model.Member; |
| | | import com.github.yulichang.base.MPJBaseMapper; |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.business.dao; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.doumee.dao.business.model.UserAction; |
| | | import com.github.yulichang.base.MPJBaseMapper; |
| | | |
| | | /** |
| | | * @author æ±è¹è¹ |
| | | * @date 2023/11/30 15:33 |
| | | */ |
| | | public interface UserActionMapper extends MPJBaseMapper<UserAction> { |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.business.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.doumee.core.annotation.excel.ExcelColumn; |
| | | import com.doumee.service.business.third.model.LoginUserModel; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 人åä¿¡æ¯è¡¨ |
| | | * @author æ±è¹è¹ |
| | | * @date 2023/11/30 15:33 |
| | | */ |
| | | @Data |
| | | @ApiModel("人åä¿¡æ¯è¡¨") |
| | | @TableName("`user_action`") |
| | | public class UserAction extends LoginUserModel { |
| | | |
| | | @TableId(type = IdType.AUTO) |
| | | @ApiModelProperty(value = "主é®", example = "1") |
| | | @ExcelColumn(name="主é®") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "å建人ç¼ç ", example = "1") |
| | | @ExcelColumn(name="å建人ç¼ç ") |
| | | private Integer creator; |
| | | |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | @ExcelColumn(name="å建æ¶é´") |
| | | private Date createDate; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") |
| | | @ExcelColumn(name="æ´æ°äººç¼ç ") |
| | | private Integer editor; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´") |
| | | @ExcelColumn(name="æ´æ°æ¶é´") |
| | | private Date editDate; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") |
| | | @ExcelColumn(name="æ¯å¦å é¤0å¦ 1æ¯") |
| | | private Integer isdeleted; |
| | | |
| | | @ApiModelProperty(value = "夿³¨") |
| | | @ExcelColumn(name="夿³¨") |
| | | private String remark; |
| | | @ApiModelProperty(value = "ä¿®æ¹è¯¦ç»å
容") |
| | | @ExcelColumn(name="ä¿®æ¹è¯¦ç»å
容") |
| | | private String content; |
| | | |
| | | @ApiModelProperty(value = "ç±»å 0è§£å» 1å»ç» 2æé» 3æ¢å¤ 4设为æè®¿äºº 5åæ¶æè®¿äºº 6设为é«çº§å®¡æ¹äºº 7åæ¶é«çº§å®¡æ¹äºº 8æå¨ç¦»åº 9å é¤äººå 10æ´æ°äººå", example = "1") |
| | | @ExcelColumn(name="ç±»å 0è§£å» 1å»ç» 2æé» 3æ¢å¤ 4设为æè®¿äºº 5åæ¶æè®¿äºº 6设为é«çº§å®¡æ¹äºº 7åæ¶é«çº§å®¡æ¹äºº 8æå¨ç¦»åº 9å é¤äººå 10æ´æ°äººå") |
| | | private Integer type; |
| | | |
| | | @ApiModelProperty(value = "人åæä½è®°å½æ¥å¿") |
| | | @ExcelColumn(name="人åæä½è®°å½æ¥å¿") |
| | | private String memberId; |
| | | |
| | | @ApiModelProperty(value = "æä½åç¶æ 0è§£å» 1å»ç» 2æé» 3æ¢å¤ 4设为æè®¿äºº 5åæ¶æè®¿äºº 6设为é«çº§å®¡æ¹äºº 7åæ¶é«çº§å®¡æ¹äºº 8æå¨ç¦»åº 9å é¤", example = "1") |
| | | @ExcelColumn(name="æä½åç¶æ 0è§£å» 1å»ç» 2æé» 3æ¢å¤ 4设为æè®¿äºº 5åæ¶æè®¿äºº 6设为é«çº§å®¡æ¹äºº 7åæ¶é«çº§å®¡æ¹äºº 8æå¨ç¦»åº 9å é¤") |
| | | private Integer beforeStatus; |
| | | |
| | | @ApiModelProperty(value = "æä½äººåç§°", example = "1") |
| | | @TableField(exist = false) |
| | | private String createName; |
| | | |
| | | @ApiModelProperty(value = "人åç±»åï¼0å³å¡è®¿å®¢ 1æ®é访客 2å
é¨äººå", example = "1") |
| | | @TableField(exist = false) |
| | | private String memberType; |
| | | |
| | | @ApiModelProperty(value = "æä½å¯¹è±¡", example = "1") |
| | | @TableField(exist = false) |
| | | private String memberName; |
| | | |
| | | @ApiModelProperty(value = "å
¬å¸åç§°", example = "1") |
| | | @TableField(exist = false) |
| | | private String companyName; |
| | | |
| | | @ApiModelProperty(value = "访客å
¬å¸åç§°", example = "1") |
| | | @TableField(exist = false) |
| | | private String visitCompanyName; |
| | | @ApiModelProperty(value = "ç±»ååç§°", example = "1") |
| | | @TableField(exist = false) |
| | | private String typeName; |
| | | |
| | | @ApiModelProperty(value = "ææºå·", example = "1") |
| | | @TableField(exist = false) |
| | | private String mobile; |
| | | @ApiModelProperty(value = "æ¥è¯¢å¯¹è±¡ç±»å 0人åæä½ 1å
¶ä»ä¸å¡æä½", example = "1") |
| | | @TableField(exist = false) |
| | | private Integer objType; |
| | | |
| | | } |
| | |
| | | public class TMSContants { |
| | | |
| | | public interface InterfacePath { |
| | | String[] getSevenArrivalStatus = new String[]{"/tms/zhyt/getSevenArrivalStatus", "ãTMSãè¿7æ¥å°è´§æ
åµ"};//TMSè¿7æ¥å°è´§æ
嵿¥å£å°å |
| | | String[] getCurrentTransportationTask = new String[]{ "ãTMSã/zhyt/getCurrentTransportationTask", "ãTMSãå½åè¿è¾ä»»å¡"};//TMSå½åè¿è¾ä»»å¡æ¥å£å°å |
| | | String[] getDistributionOfDeliveryLocations = new String[]{"/tms/zhyt/getDistributionOfDeliveryLocations", "ãTMSãå
¨å½å°è´§å°å叿¥è¯¢æ¥è¯¢"};//TMSå
¨å½å°è´§å°å叿¥è¯¢æ¥è¯¢æ¥å£å°å |
| | | String[] getRealTimeInventory = new String[]{"/tms/zhyt/getRealTimeInventory", "ãTMSã宿¶åºåæ¥è¯¢"};//TMS宿¶åºåæ¥è¯¢æ¥å£å°å |
| | | String[] getInboundOutbound = new String[]{"/tms/zhyt/getInboundOutbound", "ãTMSãåºå
¥åºè®°å½æ¥è¯¢"};//TMSåºå
¥åºè®°å½æ¥è¯¢æ¥å£å°å |
| | | String[] getIntransitDetails = new String[]{"/tms/zhyt/getIntransitDetails", "ãTMSãå¨éæç»å表"};//TMSå¨éæç»å表æ¥å£å°å |
| | | String[] getOrderList = new String[]{"/tms/zhyt/getOrderList", "ãTMSãååå表æ¥è¯¢"};//TMSååå表æ¥è¯¢æ¥å£å°å |
| | | String[] getTotalAndReportVehicleQty = new String[]{"/tms/zhyt/getTotalAndReportVehicleQty", "ãTMSãæ¥è¯¢5个åçè¿åèµæºå©ç¨æ
åµã"};//æ¥è¯¢5个åçè¿åèµæºå©ç¨æ
åµã |
| | | String[] getElecByContractNumberList = new String[]{"/tms/zhyt/getElecByContractNumberList", "ãTMSãååä¸éç¶æ"};//TMSååä¸éç¶ææ¥å£å°å |
| | |
| | | String[] driverStart = new String[]{"/tms/zhyt/driverStartAndArrival", "ãTMSã叿ºå¯è¿ã"};//3.17叿ºå¯è¿ |
| | | String[] driverArrival = new String[]{"/tms/zhyt/driverStartAndArrival", "ãTMSã叿ºå°è´§ã"};//3.18叿ºå°è´§ |
| | | String[] getEmployeeList = new String[]{"/tms/zhyt/getEmployeeList", "ãTMSãè¥é人åä¿¡æ¯å®æ¶æ¥è¯¢ã"};//3.19è¥é人åä¿¡æ¯å®æ¶æ¥è¯¢ |
| | | String[] getInboundOutbound = new String[]{"/tms/zhyt/getInboundOutbound", "ãTMSãåºå
¥åºè®°å½æ¥è¯¢"};//TMSåºå
¥åºè®°å½æ¥è¯¢æ¥å£å°å |
| | | String[] getIntransitDetails = new String[]{"/tms/zhyt/getIntransitDetails", "ãTMSãå¨éæç»å表"};//TMSå¨éæç»å表æ¥å£å°å |
| | | String[] getSevenArrivalStatus = new String[]{"/tms/zhyt/getSevenArrivalStatus", "ãTMSãè¿7æ¥å°è´§æ
åµ"};//TMSè¿7æ¥å°è´§æ
嵿¥å£å°å |
| | | String[] getCurrentTransportationTask = new String[]{ "ãTMSã/zhyt/getCurrentTransportationTask", "ãTMSãå½åè¿è¾ä»»å¡"};//TMSå½åè¿è¾ä»»å¡æ¥å£å°å |
| | | } |
| | | |
| | | public enum TopStatusLevel { |
| | |
| | | |
| | | import com.doumee.core.annotation.excel.ExcelExporter; |
| | | import com.doumee.core.annotation.pr.PreventRepeat; |
| | | import com.doumee.dao.business.model.Member; |
| | | import com.doumee.dao.business.model.UserAction; |
| | | import com.doumee.service.business.third.model.ApiResponse; |
| | | import com.doumee.service.business.third.model.PageWrap; |
| | | import com.doumee.service.business.third.model.PageData; |
| | | import com.doumee.dao.business.model.UserAction; |
| | | import com.doumee.service.business.UserActionService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | |
| | | @GetMapping("/delete/{id}") |
| | | @CloudRequiredPermission("business:carusebook:delete") |
| | | public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | carUseBookService.deleteById(id); |
| | | carUseBookService.deleteById(id,this.getLoginUser(token)); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | |
| | | @ApiOperation("æ ¹æ®IDå é¤") |
| | | @GetMapping("/delete/{id}") |
| | | @CloudRequiredPermission("business:platformbooks:delete") |
| | | public ApiResponse deleteById(@PathVariable Integer id) { |
| | | platformBooksService.deleteById(id); |
| | | public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | platformBooksService.deleteById(id,this.getLoginUser(token)); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | |
| | | @GetMapping("/delete/{id}") |
| | | @CloudRequiredPermission("business:platformjob:delete") |
| | | public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | platformJobService.delete(id); |
| | | platformJobService.deleteById(id,this.getLoginUser(token)); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | |
| | | import com.doumee.config.annotation.CloudRequiredPermission; |
| | | import com.doumee.core.annotation.excel.ExcelExporter; |
| | | import com.doumee.core.annotation.pr.PreventRepeat; |
| | | import com.doumee.dao.business.model.Member; |
| | | import com.doumee.dao.business.model.UserAction; |
| | | import com.doumee.service.business.third.model.ApiResponse; |
| | | import com.doumee.service.business.third.model.PageData; |
| | | import com.doumee.service.business.third.model.PageWrap; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.dao.business.model.UserAction; |
| | | import com.doumee.service.business.UserActionService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | |
| | | @ApiOperation("æ°å»º") |
| | | @PostMapping("/create") |
| | | @CloudRequiredPermission("business:useraction:create") |
| | | public ApiResponse create(@RequestBody UserAction userAction,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | public ApiResponse create(@RequestBody UserAction userAction, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | return ApiResponse.success(userActionService.create(userAction)); |
| | | } |
| | | |
| | |
| | | @ApiOperation("æ ¹æ®IDä¿®æ¹") |
| | | @PostMapping("/updateById") |
| | | @CloudRequiredPermission("business:useraction:update") |
| | | public ApiResponse updateById(@RequestBody UserAction userAction,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | public ApiResponse updateById(@RequestBody UserAction userAction, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | userActionService.updateById(userAction); |
| | | return ApiResponse.success(null); |
| | | } |
| | |
| | | @ApiOperation("å页æ¥è¯¢") |
| | | @PostMapping("/page") |
| | | @CloudRequiredPermission("business:useraction:query") |
| | | public ApiResponse<PageData<UserAction>> findPage (@RequestBody PageWrap<UserAction> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | public ApiResponse<PageData<UserAction>> findPage (@RequestBody PageWrap<UserAction> pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | return ApiResponse.success(userActionService.findPage(pageWrap)); |
| | | } |
| | | |
| | | @ApiOperation("导åºExcel") |
| | | @PostMapping("/exportExcel") |
| | | @CloudRequiredPermission("business:useraction:exportExcel") |
| | | public void exportExcel (@RequestBody PageWrap<UserAction> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | public void exportExcel (@RequestBody PageWrap<UserAction> pageWrap, HttpServletResponse response, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | ExcelExporter.build(UserAction.class).export(userActionService.findPage(pageWrap).getRecords(), "人åæä½è®°å½æ¥å¿", response); |
| | | } |
| | | |
| | |
| | | @GetMapping("/delete/{id}") |
| | | @CloudRequiredPermission("business:visits:delete") |
| | | public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | visitsService.deleteById(id); |
| | | visitsService.deleteById(id,this.getLoginUser(token)); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | |
| | | enabled: true #æ¯å¦å¼å¯JWTç»å½è®¤è¯åè½ |
| | | secret: fjkfaf;afa # JWTç§é¥ï¼ç¨äºæ ¡éªJWT令ççåæ³æ§ |
| | | expiration: 1800000 #JWT令ççæææï¼ç¨äºæ ¡éªJWT令ççåæ³æ§ |
| | | # expiration: 300000 #JWT令ççæææï¼ç¨äºæ ¡éªJWT令ççåæ³æ§ |
| | | header: JWTHeaderName #HTTP请æ±çHeaderåç§°ï¼è¯¥Headerä½ä¸ºåæ°ä¼ éJWT令ç |
| | | userParamName: username #ç¨æ·ç»å½è®¤è¯ç¨æ·ååæ°åç§° |
| | | pwdParamName: password #ç¨æ·ç»å½è®¤è¯å¯ç åæ°åç§° |
| | |
| | | package com.doumee.dao.business.join; |
| | | |
| | | import com.doumee.dao.business.model.Device; |
| | | import com.doumee.dao.business.model.UserAction; |
| | | import com.github.yulichang.base.mapper.MPJJoinMapper; |
| | | |
| | | public interface DeviceJoinMapper extends MPJJoinMapper<Device> { |
| | |
| | | package com.doumee.dao.business.join; |
| | | |
| | | import com.doumee.dao.business.model.Member; |
| | | import com.doumee.dao.business.model.UserAction; |
| | | import com.github.yulichang.base.mapper.MPJJoinMapper; |
| | | |
| | |
| | | // @ExcelColumn(name="ææ¥äººç¼ç ï¼å
³èmemberï¼") |
| | | private Integer companyId; |
| | | |
| | | @ApiModelProperty(value = "责任é¨é¨ç¼ç ", example = "1") |
| | | @ApiModelProperty(value = "责任é¨é¨åç§°", example = "1") |
| | | // @ExcelColumn(name="ææ¥äººç¼ç ï¼å
³èmemberï¼") |
| | | @TableField(exist = false) |
| | | private String companyName; |
| | |
| | | private String imgurl; |
| | | |
| | | @ApiModelProperty(value = "ç±»å 0å³å¡è®¿å®¢ 1æ®é访客 2å
é¨åå·¥ 3车è¾ä¿¡æ¯") |
| | | @ExcelColumn(name="人åç±»å" ,index = 2, valueMapping="0=å³å¡è®¿å®¢;1=æ®é访客;2=å
é¨åå·¥;3=车è¾ä¿¡æ¯;",width = 8) |
| | | @ExcelColumn(name="人åç±»å" ,index = 5, valueMapping="0=å³å¡è®¿å®¢;1=æ®é访客;2=å
é¨åå·¥;3=车è¾ä¿¡æ¯;",width = 8) |
| | | private Integer type; |
| | | |
| | | @ApiModelProperty(value = "访客åç§°") |
| | | @ExcelColumn(name="å§å" ,index = 3,width = 6) |
| | | @ExcelColumn(name="å§å" ,index = 1,width = 6) |
| | | private String name; |
| | | |
| | | @ApiModelProperty(value = "访客年é¾") |
| | | private Date birthday; |
| | | |
| | | @ApiModelProperty(value = "ææºå·") |
| | | @ExcelColumn(name="ææºå·" ,index = 4,width = 12) |
| | | @ExcelColumn(name="ææºå·" ,index = 2,width = 12) |
| | | private String phone; |
| | | |
| | | @ApiModelProperty(value = "身份è¯å·ï¼MD4å å¯ï¼") |
| | | private String idcardNo; |
| | | |
| | | @ApiModelProperty(value = "è¯ä»¶æ¾ç¤ºä¿¡æ¯") |
| | | @ExcelColumn(name="身份è¯å·" ,index = 5,width = 12) |
| | | @ExcelColumn(name="身份è¯å·" ,index = 3,width = 12) |
| | | private String idcardDecode; |
| | | |
| | | @ApiModelProperty(value = "å·¥å·") |
| | |
| | | @ApiModelProperty(value = "海康é¨ç¦åç§°") |
| | | @ExcelColumn(name="è¿åé¨ç¦" ,index = 6,width = 12) |
| | | private String deviceName; |
| | | @ApiModelProperty(value = "车è¾ç±»å 0å
é¨è½¦è¾ 1ç¸å
³æ¹è½¦è¾ 2è®¿å®¢è½¦è¾ 3å
è¿ç©æµè½¦ 4å¤åè½¦è¾ 5å¸å
¬å¸å¸è´§è½¦ ") |
| | | @ApiModelProperty(value = "车è¾ç±»å 0å
é¨è½¦è¾ 1ç¸å
³æ¹è½¦è¾ 2è®¿å®¢è½¦è¾ 3å
è¿ç©æµè½¦ 4å¤åè½¦è¾ 5å¸å
¬å¸å¸è´§è½¦ 6æªç»è®°è½¦è¾ ") |
| | | private Integer carType ; |
| | | @ApiModelProperty(value = "海康é¨ç¦ç¼ç ") |
| | | private String deviceIndex; |
| | |
| | | private String faceImgFull; |
| | | |
| | | @ApiModelProperty(value = "导åºå
¬å¸åç§°",hidden = true) |
| | | @ExcelColumn(name="å
¬å¸/ç»ç»" ,index = 1,width = 12) |
| | | @ExcelColumn(name="å
¬å¸/ç»ç»" ,index = 4,width = 12) |
| | | @TableField(exist = false) |
| | | public String excelCompanyName; |
| | | |
| | |
| | | @ApiModelProperty(value = "人æ°") |
| | | @TableField(exist = false) |
| | | private Integer num; |
| | | |
| | | |
| | | @ApiModelProperty(value = "æ¥è¯¢äººåç±»å") |
| | | @TableField(exist = false) |
| | |
| | | @TableField(exist = false) |
| | | @ExcelColumn(name="äºä»¶ç±»å",index = 8,width = 16) |
| | | private String eventTypeName; |
| | | |
| | | @ApiModelProperty(value = "è¿åºç±»å 1,#è¿åºç±»åï¼1è¿å
¥2åºå»") |
| | | @ExcelColumn(name="è¿åºç±»å",index = 12,width = 8,valueMapping = "0=è¿;1=åº") |
| | | private String inOrOut;// 1,#è¿åºç±»åï¼1è¿å
¥2åºå» |
| | | @ApiModelProperty(value = "ææå¾uri宿´") |
| | | @TableField(exist = false) |
| | | private String captureUrlFull; |
| | |
| | | private String carNo; |
| | | @ApiModelProperty(value = "访客ID(å
³èmember)") |
| | | private Integer memberId; |
| | | @ApiModelProperty(value = "车è¾ç±»å 0å
é¨è½¦è¾ 1ç¸å
³æ¹è½¦è¾ 2è®¿å®¢è½¦è¾ 3å
è¿ç©æµè½¦ 4å¤åè½¦è¾ 5å¸å
¬å¸å¸è´§è½¦ ") |
| | | @ExcelColumn(name="车è¾ç±»å" ,index = 3, valueMapping="0=å
é¨è½¦è¾;1=ç¸å
³æ¹è½¦è¾;2=访客车è¾;3=å
è¿ç©æµè½¦;4=å¤å车è¾;5=å¸å
¬å¸å¸è´§è½¦;",width = 8) |
| | | @ApiModelProperty(value = "车è¾ç±»å 0å
é¨è½¦è¾ 1ç¸å
³æ¹è½¦è¾ 2è®¿å®¢è½¦è¾ 3å
è¿ç©æµè½¦ 4å¤åè½¦è¾ 5å¸å
¬å¸å¸è´§è½¦;6æªç»è®°è½¦è¾ ") |
| | | @ExcelColumn(name="车è¾ç±»å" ,index = 3, valueMapping="0=å
é¨è½¦è¾;1=ç¸å
³æ¹è½¦è¾;2=访客车è¾;3=å
è¿ç©æµè½¦;4=å¤å车è¾;5=å¸å
¬å¸å¸è´§è½¦;6=æªç»è®°è½¦è¾",width = 8) |
| | | private Integer carType ; |
| | | @ApiModelProperty(value = "å
¬å¸ç»ç»") |
| | | @ExcelColumn(name="å
¬å¸ç»ç»" ,index = 4,width = 12) |
| | |
| | | package com.doumee.service.business; |
| | | |
| | | import com.doumee.dao.business.model.Member; |
| | | import com.doumee.service.business.third.model.PageData; |
| | | import com.doumee.service.business.third.model.PageWrap; |
| | | import com.doumee.dao.business.dto.ApproveDTO; |
| | |
| | | |
| | | InternalHomeVO getHomeDataPC(NoticesDTO noticesDTO); |
| | | |
| | | void createApproveFlow(Integer tempType,Integer businessId,Integer createMemberId); |
| | | void createApproveFlow(Integer tempType, Integer businessId, Integer createMemberId, Member applyMember); |
| | | |
| | | void createApproveForPlatfrom(Integer tempId,Integer businessId,Integer createMemberId); |
| | | |
| | |
| | | * @return Integer |
| | | */ |
| | | Integer create(CarUseBook carUseBook) throws Exception ; |
| | | |
| | | void deleteById(Integer id,LoginUserInfo user); |
| | | /** |
| | | * 主é®å é¤ |
| | | * |
| | |
| | | * @param id ä¸»é® |
| | | */ |
| | | void deleteById(Integer id); |
| | | |
| | | void deleteById(Integer id,LoginUserInfo user); |
| | | /** |
| | | * å é¤ |
| | | * |
| | |
| | | * @param id ä¸»é® |
| | | */ |
| | | void deleteById(Integer id); |
| | | void deleteById(Integer id,LoginUserInfo user); |
| | | |
| | | void delete(Integer id); |
| | | /** |
| | |
| | | package com.doumee.service.business; |
| | | |
| | | import com.doumee.dao.business.model.Member; |
| | | import com.doumee.dao.business.model.UserAction; |
| | | import com.doumee.service.business.third.model.PageData; |
| | | import com.doumee.service.business.third.model.PageWrap; |
| | | import com.doumee.dao.business.model.UserAction; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | * @param id ä¸»é® |
| | | * @return UserAction |
| | | */ |
| | | UserAction findById(Integer id); |
| | | UserAction findById(Integer id); |
| | | |
| | | /** |
| | | * æ¡ä»¶æ¥è¯¢åæ¡è®°å½ |
| | |
| | | * @param userAction å®ä½å¯¹è±¡ |
| | | * @return UserAction |
| | | */ |
| | | UserAction findOne(UserAction userAction); |
| | | UserAction findOne(UserAction userAction); |
| | | |
| | | /** |
| | | * æ¡ä»¶æ¥è¯¢ |
| | |
| | | * @param id ä¸»é® |
| | | */ |
| | | void deleteById(Integer id); |
| | | void deleteById(Integer id,LoginUserInfo user); |
| | | |
| | | /** |
| | | * å é¤ |
| | |
| | | * @param tempType 模æ¿ç±»å 0éæ½å·¥äººå访客ç³è¯· 1æ½å·¥äººå访客ç³è¯· 2访客æ¥å¤ 3å
¬è½¦å¸å
ç¨è½¦ 4å
¬è½¦å®¤å¤ç¨è½¦ 5å¸å
¬å¸ç©æµè½¦é¢çº¦ |
| | | * @param businessId ä¸å¡ä¸»é® æ ¹æ® tempType |
| | | * @param createMemberId æäº¤æµç¨äººå |
| | | * @param applyMember ç³è¯·äººå¯¹è±¡ï¼å¦æä¸ºç©ºï¼é»è®¤ä¸ºæäº¤äººï¼ |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class,BusinessException.class}) |
| | | public void createApproveFlow(Integer tempType,Integer businessId,Integer createMemberId){ |
| | | public void createApproveFlow(Integer tempType,Integer businessId,Integer createMemberId,Member applyMember){ |
| | | //æ¥è¯¢å¤çæ¨¡æ¿ |
| | | ApproveTempl approveTempl = approveTemplMapper.selectOne(new QueryWrapper<ApproveTempl>().lambda() |
| | | .eq(ApproveTempl::getType,tempType) |
| | |
| | | } |
| | | List<ApproveParam> approveCopyList = approveParamAllList.stream().filter(i->i.getType().equals(Constants.ONE)).collect(Collectors.toList()); |
| | | |
| | | Member createMember = memberMapper.selectById(createMemberId); |
| | | Member createMember = memberMapper.selectById(createMemberId); |
| | | if(Objects.isNull(createMember)|| Objects.isNull(createMember.getCompanyId())){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"ç³è¯·äººç»ç»ä¿¡æ¯å¼å¸¸"); |
| | | } |
| | | List<Approve> approveList = new ArrayList<>(); |
| | | |
| | | this.organizeApproveData(approveTempl,approveParamList,createMember,businessId,approveList); |
| | | |
| | | this.organizeApproveData(approveTempl,approveParamList,createMember,applyMember,businessId,approveList); |
| | | if(CollectionUtils.isEmpty(approveList)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"å®¡æ¹æµé
ç½®é误"); |
| | | } |
| | | |
| | | //å¤çæéæ°æ® |
| | | if(CollectionUtils.isNotEmpty(approveCopyList)){ |
| | | this.organizeApproveCopyData(approveTempl,approveCopyList,businessId,approveList); |
| | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class,BusinessException.class}) |
| | | public void createApproveForPlatfrom(Integer tempId,Integer businessId,Integer createMemberId){ |
| | | public void createApproveForPlatfrom(Integer tempId,Integer businessId,Integer createMemberId ){ |
| | | //æ¥è¯¢å¤çæ¨¡æ¿ |
| | | ApproveTempl approveTempl = approveTemplMapper.selectById(tempId); |
| | | if(Objects.isNull(approveTempl)){ |
| | |
| | | } |
| | | List<Approve> approveList = new ArrayList<>(); |
| | | |
| | | this.organizeApproveData(approveTempl,approveParamList,createMember,businessId,approveList); |
| | | this.organizeApproveData(approveTempl,approveParamList,createMember,null,businessId,approveList); |
| | | |
| | | if(CollectionUtils.isEmpty(approveList)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"å®¡æ¹æµé
ç½®é误"); |
| | |
| | | * @param businessId |
| | | * @param approveList |
| | | */ |
| | | public void organizeApproveData(ApproveTempl approveTempl,List<ApproveParam> approveParamList,Member createMember,Integer businessId,List<Approve> approveList){ |
| | | public void organizeApproveData(ApproveTempl approveTempl,List<ApproveParam> approveParamList,Member createMember,Member applyMember,Integer businessId,List<Approve> approveList){ |
| | | |
| | | if(applyMember ==null){ |
| | | applyMember = createMember; |
| | | } |
| | | //å建é»è®¤äººä¿¡æ¯ |
| | | Approve createUserApprove = new Approve(); |
| | | createUserApprove.setRemark("åèµ·ç³è¯·"); |
| | | createUserApprove.setCreateDate(new Date()); |
| | | createUserApprove.setIsdeleted(Constants.ZERO); |
| | | createUserApprove.setTemplatId(approveTempl.getId()); |
| | | createUserApprove.setChekorId(createMember.getId()); |
| | | createUserApprove.setChekorId(applyMember.getId()); |
| | | createUserApprove.setCheckDate(createUserApprove.getCreateDate()); |
| | | createUserApprove.setStatus(Constants.approveStatus.pass); |
| | | createUserApprove.setTitle("åèµ·ç³è¯·"); |
| | |
| | | CarEvent::getPlateNos, |
| | | pageWrap.getModel().getPlateNos()) |
| | | |
| | | .and(StringUtils.isNotBlank(pageWrap.getModel().getKeyWords()),i->i.like(Member::getPhone,pageWrap.getModel().getKeyWords()).or().like(Member::getPhone, |
| | | .and(StringUtils.isNotBlank(pageWrap.getModel().getKeyWords()),i->i.like(Member::getName,pageWrap.getModel().getKeyWords()).or().like(Member::getPhone, |
| | | pageWrap.getModel().getKeyWords())) |
| | | .like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()), |
| | | Company::getName, |
| | |
| | | package com.doumee.service.business.impl; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.doumee.biz.system.SystemDictDataBiz; |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | | import com.doumee.dao.business.dao.UserActionMapper; |
| | | import com.doumee.service.business.third.model.LoginUserInfo; |
| | | import com.doumee.service.business.third.model.PageData; |
| | | import com.doumee.service.business.third.model.PageWrap; |
| | |
| | | @Autowired |
| | | private CarUseBookMapper carUseBookMapper; |
| | | |
| | | @Autowired |
| | | private UserActionMapper userActionMapper; |
| | | @Autowired |
| | | private CarUseBookJoinMapper carUseBookJoinMapper; |
| | | |
| | |
| | | } |
| | | carUseBookMapper.insert(carUseBook); |
| | | //ç¨è½¦ç³è¯· 审æ¹è®°å½å建 |
| | | approveService.createApproveFlow(carUseBook.getType()==0?3:4,carUseBook.getId(),carUseBook.getMemberId()); |
| | | approveService.createApproveFlow(carUseBook.getType()==0?3:4,carUseBook.getId(),carUseBook.getMemberId(),null); |
| | | //åé微信å
¬ä¼å·éç¥ |
| | | //åé微信å
¬ä¼å·éç¥ |
| | | WxPlatNotice wxPlatNotice = new WxPlatNotice(); |
| | |
| | | public void deleteById(Integer id) { |
| | | carUseBookMapper.deleteById(id); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = {BusinessException.class,Exception.class}) |
| | | public void deleteById(Integer id,LoginUserInfo user) { |
| | | Date date = new Date(); |
| | | MPJLambdaWrapper<CarUseBook> queryWrapper = new MPJLambdaWrapper<>(); |
| | | queryWrapper.selectAll(CarUseBook.class); |
| | | queryWrapper.select("t1.name",CarUseBook::getMemberName); |
| | | queryWrapper.leftJoin(Member.class,Member::getId,CarUseBook::getMemberId) |
| | | .eq(CarUseBook::getId,id) |
| | | .last("limit 1" ); |
| | | CarUseBook model = carUseBookMapper.selectJoinOne(CarUseBook.class,queryWrapper); |
| | | if(model==null ||Constants.equalsInteger(Constants.ONE,model.getIsdeleted())){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | carUseBookMapper.update(null,new UpdateWrapper<CarUseBook>().lambda() |
| | | .set(CarUseBook::getIsdeleted,Constants.ONE) |
| | | .set(CarUseBook::getEditDate,date) |
| | | .set(CarUseBook::getEditor,user.getId()) |
| | | .eq(CarUseBook::getId,id)); |
| | | String[] params = new String[3]; |
| | | params[0] = user.getRealname(); |
| | | params[1]=DateUtil.getPlusTime2(date); |
| | | params[2]=model.getCarCode()+"-ãä¹è½¦äººï¼"+model.getMemberNames()+" ã-ãé¢çº¦äººï¼"+model.getMemberName()+"ã-ãæ¶é´ï¼"+DateUtil.getPlusTime2(model.getStartTime())+"-"+DateUtil.getPlusTime2(model.getEndTime())+"ã"; |
| | | //è®°å½å 餿¥å¿ |
| | | UserActionServiceImpl.saveUserActionBiz(user,id,Constants.UserActionType.CAR_BOOK_DEL,userActionMapper,date,params, JSONObject.toJSONString(model)); |
| | | } |
| | | @Override |
| | | public void delete(CarUseBook carUseBook) { |
| | | UpdateWrapper<CarUseBook> deleteWrapper = new UpdateWrapper<>(carUseBook); |
| | |
| | | .selectAs(Company::getType,DeviceEventDTO::getCompanyType); |
| | | |
| | | queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getKeyWords()),w-> |
| | | w.like(Member::getName,pageWrap.getModel().getKeyWords()).or().like(Member::getPhone,pageWrap.getModel().getKeyWords())) |
| | | |
| | | |
| | | .eq( pageWrap.getModel().getQueryUserType()!=null&&Constants.equalsInteger(pageWrap.getModel().getQueryUserType(),Constants.ONE), |
| | | w.like(Member::getName,pageWrap.getModel().getKeyWords()).or().like(Member::getPhone,pageWrap.getModel().getKeyWords())); |
| | | queryWrapper.eq( pageWrap.getModel().getQueryUserType()!=null&&Constants.equalsInteger(pageWrap.getModel().getQueryUserType(),Constants.ONE), |
| | | Company::getType, Constants.ZERO) |
| | | |
| | | .isNull( pageWrap.getModel().getQueryUserType()!=null&&Constants.equalsInteger(pageWrap.getModel().getQueryUserType(),Constants.ZERO), |
| | | Member::getCompanyId) |
| | | |
| | | Member::getId) |
| | | .eq( pageWrap.getModel().getQueryUserType()!=null&&Constants.equalsInteger(pageWrap.getModel().getQueryUserType(),Constants.TWO), |
| | | Company::getType, Constants.ONE) |
| | | |
| | | .eq(Member::getIsdeleted,Constants.ZERO) |
| | | |
| | | .eq(Objects.nonNull(pageWrap.getModel().getEventType()), |
| | | DeviceEvent::getEventType, |
| | | pageWrap.getModel().getEventType()) |
| | | .like(Objects.nonNull(pageWrap.getModel().getCompanyName()),Company::getName, |
| | | pageWrap.getModel().getCompanyName()) |
| | | .ge(Objects.nonNull(pageWrap.getModel().getStartTime()), |
| | | DeviceEvent::getCreateDate, |
| | | pageWrap.getModel().getStartTime()) |
| | | .le(Objects.nonNull(pageWrap.getModel().getEndTime()), |
| | | DeviceEvent::getCreateDate, |
| | | pageWrap.getModel().getEndTime()) |
| | | |
| | | // .eq(Member::getIsdeleted,Constants.ZERO) |
| | | .eq(Objects.nonNull(pageWrap.getModel().getEventType()), DeviceEvent::getEventType, pageWrap.getModel().getEventType()) |
| | | .like(Objects.nonNull(pageWrap.getModel().getCompanyName()),Company::getName, pageWrap.getModel().getCompanyName()) |
| | | .ge(Objects.nonNull(pageWrap.getModel().getStartTime()), DeviceEvent::getCreateDate, pageWrap.getModel().getStartTime()) |
| | | .le(Objects.nonNull(pageWrap.getModel().getEndTime()), DeviceEvent::getCreateDate, pageWrap.getModel().getEndTime()) |
| | | .orderByDesc(DeviceEvent::getCreateDate); |
| | | queryWrapper.orderByDesc(DeviceEvent::getHappenTime); |
| | | IPage<DeviceEventDTO> deviceEventDTOIPage = deviceEventJoinMapper.selectJoinPage(page, DeviceEventDTO.class, queryWrapper); |
| | |
| | | import com.doumee.biz.system.SystemDictDataBiz; |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | | import com.doumee.dao.business.dao.UserActionMapper; |
| | | import com.doumee.service.business.third.model.LoginUserInfo; |
| | | import com.doumee.service.business.third.model.PageData; |
| | | import com.doumee.service.business.third.model.PageWrap; |
| | |
| | | import com.doumee.service.business.third.EmayService; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.checkerframework.checker.units.qual.C; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | |
| | | @Autowired |
| | | private HiddenDangerLogMapper hiddenDangerLogMapper; |
| | | @Autowired |
| | | private UserActionMapper userActionMapper; |
| | | |
| | | |
| | | @Autowired |
| | |
| | | if(Objects.isNull(model)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"æªæ¥è¯¢å°éæ£æ°æ®"); |
| | | } |
| | | if (!Constants.equalsInteger(model.getStatus(),Constants.ZERO)) { |
| | | /* if (!Constants.equalsInteger(model.getStatus(),Constants.ZERO)) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"æ°æ®ç¶æå·²æµè½¬,è¯·å·æ°æ¥ç!"); |
| | | } |
| | | }*/ |
| | | HiddenDanger hiddenDanger = new HiddenDanger(); |
| | | hiddenDanger.setIsdeleted(Constants.ONE); |
| | | hiddenDanger.setId(id); |
| | | hiddenDanger.setEditor(user.getId()); |
| | | Date date =new Date(); |
| | | |
| | | hiddenDanger.setEditDate(new Date()); |
| | | hiddenDanger.setEditDate(date); |
| | | hiddenDangerMapper.updateById(hiddenDanger); |
| | | //åå¨ æä½æ¥å¿ |
| | | HiddenDangerLog hiddenDangerLog = new HiddenDangerLog(); |
| | | hiddenDangerLog.setIsdeleted(Constants.ZERO); |
| | | hiddenDangerLog.setCreateDate(new Date()); |
| | | hiddenDangerLog.setCreateDate(date); |
| | | hiddenDangerLog.setCreator(hiddenDanger.getEditor()); |
| | | hiddenDangerLog.setEditDate(hiddenDangerLog.getCreateDate()); |
| | | hiddenDangerLog.setEditor(hiddenDanger.getCreator()); |
| | |
| | | hiddenDangerLog.setHiddenDangerId(hiddenDanger.getId()); |
| | | hiddenDangerLog.setObjType(Constants.FIVE); |
| | | hiddenDangerLogMapper.insert(hiddenDangerLog); |
| | | |
| | | String[] params = new String[3]; |
| | | params[0] = user.getRealname(); |
| | | params[1]=DateUtil.getPlusTime2(date); |
| | | params[2]=model.getAreaName()+"-ã"+model.getContent()+"ã"; |
| | | //è®°å½å 餿¥å¿ |
| | | UserActionServiceImpl.saveUserActionBiz(user,id,Constants.UserActionType.HIDEN_DANGER_DEL,userActionMapper,date,params,JSONObject.toJSONString(model)); |
| | | } |
| | | |
| | | @Override |
| | |
| | | IPage<HiddenDanger> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | MPJLambdaWrapper<HiddenDanger> queryWrapper = new MPJLambdaWrapper<>(); |
| | | Utils.MP.blankToNull(pageWrap.getModel()); |
| | | pageWrap.getModel().setIsdeleted(Constants.ZERO); |
| | | queryWrapper.selectAll(HiddenDanger.class) |
| | | .selectAs(HiddenDangerParam::getName,HiddenDanger::getCategoryName) |
| | | .select("t1.name", HiddenDanger::getMemberName) |
| | |
| | | .lambda() |
| | | .set(Notices::getReaded,Constants.ONE) |
| | | .set(Notices::getStatus,Constants.ONE) |
| | | .set(Notices::getInfo,hiddenDanger.getStatus().equals(Constants.ONE)?"å·²æ´æ¹":"å·²éå") |
| | | .set(Notices::getParam2,hiddenDanger.getStatus()) |
| | | .set(Notices::getParam4,hiddenDanger.getLoginUserInfo().getMemberId()) |
| | | .eq(Notices::getObjId,hiddenDanger.getId()) |
| | | .eq(Notices::getObjType,Constants.THREE) |
| | | .eq(Notices::getUserId,hiddenDanger.getLoginUserInfo().getMemberId()) |
| | | ); |
| | | .eq(Notices::getUserId,hiddenDanger.getLoginUserInfo().getMemberId())); |
| | | //åèµ·äººä»£åæ é¢ä¿®æ¹ä¸ºå¤çç»æ |
| | | noticesJoinMapper.update(null,new UpdateWrapper<Notices>() |
| | | .lambda() |
| | | .set(Notices::getInfo,hiddenDanger.getStatus().equals(Constants.ONE)?"å·²æ´æ¹":"å·²éå") |
| | | .set(Notices::getParam2,hiddenDanger.getStatus()) |
| | | .eq(Notices::getObjId,hiddenDanger.getId()) |
| | | .eq(Notices::getObjType,Constants.THREE) |
| | | .eq(Notices::getParam3,hiddenDanger.getMemberId().toString()) ); |
| | | |
| | | SystemUser memberUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda() |
| | | .eq(SystemUser::getDeleted, Constants.ZERO) |
| | |
| | | if(!(hiddenDanger.getStatus().equals(Constants.ONE)||hiddenDanger.getStatus().equals(Constants.TWO))){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"æ°æ®ç¶æé误,è¯·å·æ°æ¥çï¼"); |
| | | } |
| | | hiddenDanger.setMemberId(model.getMemberId());//å起人 |
| | | } |
| | | |
| | | private void dealFileBiz(HiddenDanger hiddenDanger) {//æ´æ¹åæä»¶ |
| | |
| | | |
| | | public static void saveUserActionBiz(Member updateMember,LoginUserInfo user, Constants.UserActionType type,UserActionJoinMapper userActionMapper,String content) { |
| | | updateMember.setEditDate(updateMember.getEditDate()==null?new Date():updateMember.getEditDate()); |
| | | UserAction userAction=new UserAction(); |
| | | UserAction userAction=new UserAction(); |
| | | userAction.setIsdeleted(Constants.ZERO); |
| | | userAction.setCreateDate(updateMember.getEditDate()); |
| | | userAction.setCreator(updateMember.getEditor()); |
| | |
| | | package com.doumee.service.business.impl; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.doumee.biz.system.SystemDictDataBiz; |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | | import com.doumee.dao.business.dao.UserActionMapper; |
| | | import com.doumee.service.business.third.model.LoginUserInfo; |
| | | import com.doumee.service.business.third.model.PageData; |
| | | import com.doumee.service.business.third.model.PageWrap; |
| | |
| | | |
| | | @Autowired |
| | | private PlatformBooksMapper platformBooksMapper; |
| | | @Autowired |
| | | private UserActionMapper userActionMapper; |
| | | @Autowired |
| | | private PlatformJobMapper platformJobMapper; |
| | | |
| | | @Autowired |
| | | private NoticesJoinMapper noticesJoinMapper; |
| | |
| | | public void deleteById(Integer id) { |
| | | platformBooksMapper.deleteById(id); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = {BusinessException.class,Exception.class}) |
| | | public void deleteById(Integer id,LoginUserInfo user) { |
| | | PlatformBooks model =findById(id); |
| | | if(model ==null || Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | Date date =new Date(); |
| | | platformBooksMapper.update(null,new UpdateWrapper<PlatformBooks>().lambda() |
| | | .set(PlatformBooks::getIsdeleted,Constants.ONE) |
| | | .set(PlatformBooks::getEditDate,date) |
| | | .set(PlatformBooks::getEditor,user.getId()) |
| | | .eq(PlatformBooks::getId,id)); |
| | | platformJobMapper.update(null,new UpdateWrapper<PlatformJob>().lambda() |
| | | .set(PlatformJob::getIsdeleted,Constants.ONE) |
| | | .set(PlatformJob::getEditDate,new Date()) |
| | | .set(PlatformJob::getEditor,user.getId()) |
| | | .eq(PlatformJob::getBookId,id) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO)); |
| | | String[] params = new String[3]; |
| | | params[0] = user.getRealname(); |
| | | params[1]=DateUtil.getPlusTime2(date); |
| | | params[2]=model.getContractNum()+"-ã叿ºï¼"+model.getDriverName()+" "+model.getDriverPhone()+"ã-ã车çå¥½ï¼ "+model.getPlateNum()+"ã"; |
| | | //è®°å½å 餿¥å¿ |
| | | UserActionServiceImpl.saveUserActionBiz(user,id,Constants.UserActionType.PLATFROM_BOOK_DEL,userActionMapper,date,params, JSONObject.toJSONString(model)); |
| | | } |
| | | @Override |
| | | public void delete(PlatformBooks platformBooks) { |
| | | UpdateWrapper<PlatformBooks> deleteWrapper = new UpdateWrapper<>(platformBooks); |
| | |
| | | import com.doumee.core.haikang.model.param.request.ParkReservationDelRequest; |
| | | import com.doumee.core.haikang.model.param.respose.ParkReservationAddResponse; |
| | | import com.doumee.core.haikang.service.HKService; |
| | | import com.doumee.service.business.third.WmsService; |
| | | import com.doumee.dao.business.dao.UserActionMapper; |
| | | import com.doumee.service.business.third.model.LoginUserInfo; |
| | | import com.doumee.service.business.third.model.PageData; |
| | | import com.doumee.service.business.third.model.PageWrap; |
| | |
| | | |
| | | @Autowired |
| | | private PlatformJobMapper platformJobMapper; |
| | | @Autowired |
| | | private UserActionMapper userActionMapper; |
| | | @Autowired |
| | | private TmsService tmsService; |
| | | |
| | |
| | | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = {BusinessException.class}) |
| | | public void deleteById(Integer id,LoginUserInfo user) { |
| | | Date date = new Date(); |
| | | PlatformJob job = platformJobMapper.selectById(id); |
| | | if(job==null ||Constants.equalsInteger(Constants.ONE,job.getIsdeleted())){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | if(! Constants.equalsInteger(Constants.PlatformJobStatus.CANCEL.getKey(),job.getStatus())){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对ä¸èµ·ï¼åªè½å é¤å·²åæ¶çä½ä¸ä»»å¡ï¼"); |
| | | } |
| | | platformJobMapper.update(null,new UpdateWrapper<PlatformJob>().lambda() |
| | | .set(PlatformJob::getIsdeleted,Constants.ONE) |
| | | .set(PlatformJob::getEditDate,date) |
| | | .set(PlatformJob::getEditor,user.getId()) |
| | | .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.CANCEL.getKey()) |
| | | .eq(PlatformJob::getId,id)); |
| | | String[] params = new String[3]; |
| | | params[0] = user.getRealname(); |
| | | params[1]=DateUtil.getPlusTime2(date); |
| | | params[2]=job.getBillCode()+"-ã叿ºï¼"+job.getDriverName()+" "+job.getDrivierPhone()+"ã-ã车çå·ï¼"+job.getCarCodeFront()+"ã"; |
| | | //è®°å½å 餿¥å¿ |
| | | UserActionServiceImpl.saveUserActionBiz(user,id,Constants.UserActionType.PLATFROM_JOB_DEL,userActionMapper,date,params,JSONObject.toJSONString(job)); |
| | | } |
| | | @Override |
| | | public void delete(Integer id) { |
| | | platformJobMapper.update(null,new UpdateWrapper<PlatformJob>().lambda() |
| | | .set(PlatformJob::getIsdeleted,Constants.ONE) |
| | |
| | | IPage<PlatformJob> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | MPJLambdaWrapper<PlatformJob> queryWrapper = new MPJLambdaWrapper<>(); |
| | | Utils.MP.blankToNull(pageWrap.getModel()); |
| | | pageWrap.getModel().setIsdeleted(Constants.ZERO); |
| | | queryWrapper |
| | | .selectAll(PlatformJob.class) |
| | | .selectAs(Platform::getName,PlatformJob::getPlatformName) |
| | |
| | | package com.doumee.service.business.impl; |
| | | |
| | | import com.doumee.dao.business.dao.MemberMapper; |
| | | import com.doumee.dao.business.dao.UserActionMapper; |
| | | import com.doumee.dao.business.model.UserAction; |
| | | import com.doumee.service.business.third.model.LoginUserInfo; |
| | | import com.doumee.service.business.third.model.PageData; |
| | | import com.doumee.service.business.third.model.PageWrap; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.dao.business.UserActionMapper; |
| | | import com.doumee.dao.business.join.UserActionJoinMapper; |
| | | import com.doumee.dao.business.model.Company; |
| | | import com.doumee.dao.business.model.Member; |
| | | import com.doumee.dao.business.model.UserAction; |
| | | import com.doumee.dao.system.model.SystemUser; |
| | | import com.doumee.service.business.UserActionService; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | |
| | | this.updateById(userAction); |
| | | } |
| | | } |
| | | |
| | | public static void saveUserActionBiz(LoginUserInfo user, Integer bizId, Constants.UserActionType type, UserActionMapper userActionMapper, Date date, String[] params, String modelInfo) { |
| | | String info = type.getInfo(); |
| | | if(params!=null){ |
| | | for (int i = 0; i < params.length; i++) { |
| | | info = info.replace("${param"+(i+1)+"}",params[i]); |
| | | } |
| | | } |
| | | UserAction userAction=new UserAction(); |
| | | userAction.setIsdeleted(Constants.ZERO); |
| | | userAction.setCreateDate(date); |
| | | userAction.setCreator(user.getId()); |
| | | userAction.setBeforeStatus(Constants.ZERO); |
| | | userAction.setType(type.getKey()); |
| | | userAction.setContent(modelInfo); |
| | | userAction.setRemark(info); |
| | | userAction.setMemberId(bizId+""); |
| | | userActionMapper.insert(userAction); |
| | | } |
| | | @Override |
| | | public UserAction findById(Integer id) { |
| | | return userActionMapper.selectById(id); |
| | |
| | | IPage<UserAction> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | MPJLambdaWrapper<UserAction> queryWrapper = new MPJLambdaWrapper<>(); |
| | | Utils.MP.blankToNull(pageWrap.getModel()); |
| | | UserAction queryModel = pageWrap.getModel(); |
| | | UserAction queryModel = pageWrap.getModel(); |
| | | queryWrapper.selectAll(UserAction.class) |
| | | .leftJoin(Member.class,Member::getId,UserAction::getMemberId) |
| | | .leftJoin(Company.class,Company::getId,Member::getCompanyId) |
| | |
| | | .like(StringUtils.isNotBlank(queryModel.getCreateName()),SystemUser::getRealname,queryModel.getCreateName()) |
| | | .like(StringUtils.isNotBlank(queryModel.getMemberName()),Member::getName,queryModel.getMemberName()) |
| | | .like(StringUtils.isNotBlank(queryModel.getMobile()),Member::getPhone,queryModel.getMobile()) |
| | | .like(StringUtils.isNotBlank(queryModel.getRemark()),Member::getPhone,queryModel.getRemark()) |
| | | .and(StringUtils.isNotBlank(queryModel.getCompanyName()), |
| | | p-> p.like(Company::getName, queryModel.getCompanyName()) |
| | | .or() |
| | |
| | | .eq(!Objects.isNull(queryModel.getMemberType()),Member::getType,queryModel.getMemberType()) |
| | | .eq(!Objects.isNull(queryModel.getBeforeStatus()),UserAction::getBeforeStatus,queryModel.getBeforeStatus()) |
| | | .eq(!Objects.isNull(queryModel.getType()),UserAction::getType,queryModel.getType()) |
| | | .ge(queryModel.getObjType() !=null &&queryModel.getObjType() == Constants.ZERO,UserAction::getType,Constants.UserActionType.CANCEL_FREEZE.getKey()) |
| | | .le(queryModel.getObjType() !=null &&queryModel.getObjType() == Constants.ZERO,UserAction::getType,Constants.UserActionType.NOT_HEAD.getKey()) |
| | | .ge(queryModel.getObjType() !=null &&queryModel.getObjType() == Constants.ONE,UserAction::getType,Constants.UserActionType.MEET_BOOK_DEL.getKey()) |
| | | .le(queryModel.getObjType() !=null &&queryModel.getObjType() == Constants.ONE,UserAction::getType,Constants.UserActionType.HIDEN_DANGER_DEL.getKey()) |
| | | .orderByDesc(UserAction::getCreateDate) |
| | | ; |
| | | IPage<UserAction> result = userActionJoinMapper.selectJoinPage(page,UserAction.class,queryWrapper); |
| | |
| | | if (pageWrap.getModel().getIdNo() != null) { |
| | | queryWrapper.lambda().eq(VisitEvent::getIdNo, pageWrap.getModel().getIdNo()); |
| | | } |
| | | if (pageWrap.getModel().getInOrOut() != null) { |
| | | queryWrapper.lambda().eq(VisitEvent::getInOrOut, pageWrap.getModel().getInOrOut()); |
| | | } |
| | | if (pageWrap.getModel().getBeVisitedPersonName() != null) { |
| | | queryWrapper.lambda().eq(VisitEvent::getBeVisitedPersonName, pageWrap.getModel().getBeVisitedPersonName()); |
| | | } |
| | |
| | | .eq(Objects.nonNull(pageWrap.getModel().getEventType()), |
| | | VisitEvent::getEventType, |
| | | pageWrap.getModel().getEventType()) |
| | | .eq(Objects.nonNull(pageWrap.getModel().getInOrOut()), |
| | | VisitEvent::getInOrOut, |
| | | pageWrap.getModel().getInOrOut()) |
| | | .ge(StringUtils.isNotBlank(pageWrap.getModel().getStartTime()), |
| | | VisitEvent::getCreateDate, |
| | | pageWrap.getModel().getStartTime()) |
| | |
| | | import com.doumee.core.haikang.model.param.request.VisitAppointmentRequest; |
| | | import com.doumee.core.haikang.model.param.respose.VisitAppointmentResponse; |
| | | import com.doumee.core.haikang.service.HKService; |
| | | import com.doumee.dao.business.dao.*; |
| | | import com.doumee.service.business.third.model.LoginUserInfo; |
| | | import com.doumee.service.business.third.model.PageData; |
| | | import com.doumee.service.business.third.model.PageWrap; |
| | |
| | | import com.doumee.dao.admin.response.InterestedListVO; |
| | | import com.doumee.dao.admin.response.PCWorkPlatformDataVO; |
| | | import com.doumee.dao.business.*; |
| | | import com.doumee.dao.business.dao.CompanyMapper; |
| | | import com.doumee.dao.business.dao.MemberMapper; |
| | | import com.doumee.dao.business.dao.SmsConfigMapper; |
| | | import com.doumee.dao.business.dao.SmsEmailMapper; |
| | | import com.doumee.dao.business.dto.ResetPasswordDTO; |
| | | import com.doumee.dao.business.join.DeviceJoinMapper; |
| | | import com.doumee.dao.business.join.VisitsJoinMapper; |
| | |
| | | private RetentionMapper retentionMapper; |
| | | @Autowired |
| | | private VisitsJoinMapper visitsMapper; |
| | | @Autowired |
| | | private UserActionMapper userActionMapper; |
| | | @Autowired |
| | | private ApproveMapper approveMapper; |
| | | @Autowired |
| | |
| | | }else if(dataSyncConfig.getVisitorDataOrigin().equals(Constants.ZERO)){ |
| | | visits.setStatus(Constants.VisitStatus.waitCheck); |
| | | visitsMapper.updateById(visits); |
| | | approveService.createApproveFlow(visits.getType(),visits.getId(),visits.getReceptMemberId()); |
| | | approveService.createApproveFlow(visits.getType(),visits.getId(),visits.getReceptMemberId(),member); |
| | | }else{ |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "对ä¸èµ·ï¼åèµ·æè®¿å®¡æ¹ç³è¯·å¤±è´¥ï¼"); |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | approveService.createApproveFlow(visits.getType(),visits.getId(),visits.getReceptMemberId()); |
| | | approveService.createApproveFlow(visits.getType(),visits.getId(),visits.getReceptMemberId(),null); |
| | | return visits.getId(); |
| | | } |
| | | |
| | |
| | | public void deleteById(Integer id) { |
| | | visitsMapper.deleteById(id); |
| | | } |
| | | @Override |
| | | @Transactional(rollbackFor ={BusinessException.class,Exception.class}) |
| | | public void deleteById(Integer id,LoginUserInfo user) { |
| | | Visits model = visitsMapper.selectById(id); |
| | | if(model ==null || Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | Date date = new Date(); |
| | | visitsMapper.update(null,new UpdateWrapper<Visits>().lambda() |
| | | .set(Visits::getIsdeleted,Constants.ONE) |
| | | .set(Visits::getEditDate,new Date()) |
| | | .set(Visits::getEditor,user.getId()) |
| | | .eq(Visits::getId,id)); |
| | | String[] params = new String[3]; |
| | | params[0] = user.getRealname(); |
| | | params[1]=DateUtil.getPlusTime2(date); |
| | | if(Constants.equalsInteger(model.getType(),Constants.TWO)){ |
| | | params[2]=model.getCarNos()+"-ãåä½ï¼"+model.getCompanyName()+" "+model.getName()+" "+model.getPhone()+"ã-ãæ¶é´ï¼"+DateUtil.getPlusTime2(model.getStarttime())+"-"+DateUtil.getPlusTime2(model.getEndtime())+"ã"; |
| | | //è®°å½å é¤è®¿å®¢æ¥å¤æ¥å¿ |
| | | UserActionServiceImpl.saveUserActionBiz(user,id,Constants.UserActionType.VISIT_DEL,userActionMapper,date,params, JSONObject.toJSONString(model)); |
| | | }else{ |
| | | params[2]=model.getCompanyName()+"-ã访客ï¼"+model.getName()+" "+model.getPhone()+"ã-ãæ¶é´ï¼"+DateUtil.getPlusTime2(model.getStarttime())+"-"+DateUtil.getPlusTime2(model.getEndtime())+"ã"; |
| | | //è®°å½å é¤è®¿å®¢ç³è¯·æ¥å¿ |
| | | UserActionServiceImpl.saveUserActionBiz(user,id,Constants.UserActionType.VISIT_DEL,userActionMapper,date,params, JSONObject.toJSONString(model)); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void delete(Visits visits) { |
| | |
| | | queryWrapper.leftJoin("Member t3 on t.CREATE_MEMBER_ID=t3.id"); |
| | | |
| | | queryWrapper.eq(Visits::getId,id); |
| | | queryWrapper.eq(Visits::getIsdeleted,Constants.ZERO); |
| | | Visits result = visitsJoinMapper.selectJoinOne(Visits.class,queryWrapper); |
| | | |
| | | if(result!=null){ |
| | |
| | | List<DeviceRole> deviceRoleList= deviceRoleMapper.selectList(deviceQuery); |
| | | result.setDeviceRoleList(deviceRoleList); |
| | | } |
| | | }else{ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | |
| | | MPJLambdaWrapper<Visits> visitQuery = new MPJLambdaWrapper<>(); |
| | |
| | | @Override |
| | | public VisitDetailVO getVisitDetail(Integer id,Integer memberId){ |
| | | Visits visits = visitsMapper.selectById(id); |
| | | if(Objects.isNull(visits)){ |
| | | if(Objects.isNull(visits) || Constants.equalsInteger(visits.getIsdeleted(),Constants.ONE)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | Member member = memberMapper.selectById(visits.getReceptMemberId()); |
| | |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | if(!visits.getStatus().equals(Constants.VisitStatus.signin)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"访客记å½ç¶æé误ï¼è¯·å·æ°éè¯"); |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"ä»
æ¯æãæè®¿ä¸ãç¶æè¿è¡è¯¥ç¦»åºæä½ï¼è¯·å·æ°éè¯"); |
| | | } |
| | | VisitAppointmentOutRequest request = new VisitAppointmentOutRequest(); |
| | | request.setOrderId(visits.getHkId()); |
| | |
| | | while (hasNext){ |
| | | //å页éåå¾ªç¯æ¥è¯¢ææé¨ç¦è®¾å¤æ°æ® |
| | | GetTodoListRequest param = new GetTodoListRequest(); |
| | | param.setComId("dfe"); |
| | | // param.setComId("dfe");//æ¥å
¨é¨ç代å |
| | | param.setUserId(username); |
| | | param.setStatus(1);//åªæ¥å¾
å¤ççæ°æ® |
| | | param.setPageNo(curPage); |
| | |
| | | * æ ¹æ®è®¿å®¢æ¨é访客记å½ç¼ç ï¼å¤ç访客记å½ãå¨åºäººåçä¿¡æ¯ |
| | | */ |
| | | private void dealVisitDataByRequstIccm(EventVisitIccmInfoRequest request, List<Integer> delRetentionLis, List<Retention> retentionList, InoutDayCount inoutDayCount) { |
| | | |
| | | EventVisitIccmDataRequest model = request.getData(); |
| | | EventVisitIccmInvoiceParamRequest data = request.getData().getVisitorInvoices(); |
| | | MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>(); |
| | |
| | | updateVistis.setId(visits.getId()); |
| | | if (Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.VISIT_SIGN_ICCM_IN.getKey()) { |
| | | //妿æ¯è®¿å®¢ç»è®°ï¼å½å
¥äººåçå¨åºæ°æ®è®°å½ |
| | | // retentionList.add(getRetentionModelByVisitRequest(visits, request.getHappenTime(),request.getSrcType())); |
| | | //retentionList.add(getRetentionModelByVisitRequest(visits, request.getHappenTime(),request.getSrcType())); |
| | | //æ¥è®¿æ¶é´ |
| | | if(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.xfSuccess)){ |
| | | inoutDayCount.setSigninVisitorNum(Constants.formatIntegerNum(inoutDayCount.getSigninVisitorNum())+1); |
| | |
| | | updateVistis.setOutType(Constants.ZERO); |
| | | updateVistis.setOutInfo("访客æ£å¸¸ç¾ç¦»"); |
| | | } |
| | | delRetentionLis.add(visits.getMemberId()); |
| | | }else{ |
| | | //å¦æäººåä¿¡æ¯åå¨ï¼åæ¯è®¿å®¢éè¡ï¼åå é¤ä¹åçææè¿åºæ°æ®ï¼æ è®ºæ¤æ¬¡æ¨éæ¯è¿åè¿æ¯åºåºæ¨éäºä»¶ï¼ |
| | | delRetentionLis.add(visits.getMemberId()); |
| | |
| | | event.setCreateDate(DateUtil.getISO8601DateByStr2(request.getHappenTime())); |
| | | if(event.getCreateDate() == null){ |
| | | event.setCreateDate(new Date()); |
| | | } |
| | | if (Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.VISIT_SIGN_ICCM_PASS.getKey()) { |
| | | //妿æ¯è®¿å®¢éè¡äºä»¶,è¿å
¥è¿åºäºä»¶ |
| | | if(request.getData()!=null&&request.getData().getParamValues()!=null && |
| | | StringUtils.equals(request.getData().getParamValues().getInOrOut(),"0")){ |
| | | event.setInOrOut("0");//è¿ |
| | | }else{ |
| | | event.setInOrOut("1");//åº |
| | | } |
| | | } |
| | | event.setVisitorWorkUint(detail.getUnit()); |
| | | event.setVisitorId(detail.getVisitorId()); |
| | |
| | | event.setEventCmd(request.getData().getEventCmd()); |
| | | event.setCardNo(request.getData().getCardNo()); |
| | | event.setCarAttributeName(request.getData().getCarAttributeName()); |
| | | |
| | | event.setCarType(Constants.RetentionCarType.unknown);//é»è®¤æªç»è®°è½¦è¾ |
| | | if(request.getData().getInResult()!=null && request.getData().getInResult().getRlsResult() !=null ){ |
| | | //æ¾è¡æ¹å¼ |
| | | event.setReleaseWay(request.getData().getInResult().getRlsResult().getReleaseWay()); |
| | |
| | | .selectAs(Platform::getName,PlatformJob::getPlatformName) |
| | | .selectAs(Platform::getLedContent,PlatformJob::getLedContent) |
| | | .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId) |
| | | // .eq(StringUtils.equals(status.getStockStatus(),"front"),PlatformJob::getCarCodeFront,status.getPlateNo() )//å车çå· |
| | | // .eq(!StringUtils.equals(status.getStockStatus(),"front"),PlatformJob::getCarCodeBack,status.getPlateNo() )//å车çå· |
| | | // .eq(StringUtils.equals(status.getStockStatus(),"front"),PlatformJob::getCarCodeFront,status.getPlateNo() )//å车çå· |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO ) |
| | | .eq(PlatformJob::getPlatformId,model.getPlatformId() ) |
| | | .orderByDesc(PlatformJob::getCallDate) |
| | | .last("limit 1 ")); |
| | | if(job == null){ |
| | | if(StringUtils.equals(status.getMotionStatus(),"enter")){ |
| | | //妿æå°å½å没ä½ä¸ï¼ç´æ¥æç¤ºè½¦è¾åé |
| | | Platform platform = platformMapper.selectJoinOne(Platform.class, new MPJLambdaWrapper<Platform>() |
| | | .selectAll(Platform.class) |
| | | .eq(Platform::getIsdeleted,Constants.ZERO ) |
| | | .eq(PlatformJob::getId,model.getPlatformId() ) |
| | | .last("limit 1 ")); |
| | | if(platform!=null){ |
| | | dealCarsAndPlatformErrorBiz(platform,status); |
| | | } |
| | | } |
| | | continue;//妿ä½ä¸ä¸ºç©ºï¼è·³è¿å¤ç |
| | | } |
| | | PlatformJob update = new PlatformJob(); |
| | |
| | | platformBroadcastLogMapper.insert(logList); |
| | | } |
| | | } |
| | | private void dealCarsAndPlatformErrorBiz( Platform model, EventPlatformCarsStatusInfoRequest status) { |
| | | //å¤ç车è¾è¿å
¥é误æå°ä¸å¡é»è¾ |
| | | SavePlatformWarnEventDTO savePlatformWarnEventDTO = new SavePlatformWarnEventDTO(); |
| | | savePlatformWarnEventDTO.setPlatformJobId(model.getId()); |
| | | savePlatformWarnEventDTO.setPlatformId(model.getId()); |
| | | savePlatformWarnEventDTO.setCarCode(status.getPlateNo()); |
| | | savePlatformWarnEventDTO.setEventType(Constants.PlatformWarnEvent.STOP_ERROR.getKey()); |
| | | platformWarnEventService.savePlatformWarnEvent(savePlatformWarnEventDTO); |
| | | |
| | | int speed = 13; |
| | | try { |
| | | speed = Integer.parseInt(systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.LED_CONTENT_SPEED).getCode()); |
| | | }catch (Exception e){ |
| | | |
| | | } |
| | | List<PlatformDevice> deviceList = platformDeviceMapper.selectList(new QueryWrapper<PlatformDevice>().lambda() |
| | | .eq(PlatformDevice::getPlatformId,model.getId()) |
| | | .eq(PlatformDevice::getIsdeleted,Constants.ZERO)); |
| | | if(deviceList ==null || deviceList.size() == 0){ |
| | | return; |
| | | } |
| | | String content =Constants.PlatformLedContent.WRONG_IN.getInfo(); |
| | | content = content.replace("${param2}",model.getName()); |
| | | content = content.replace("${param}",status.getPlateNo()); |
| | | List<String> broadcastList = new ArrayList<>(); |
| | | List<String> ledList = new ArrayList<>(); |
| | | String bNames = ""; |
| | | List<PlatformBroadcastLog> logList = new ArrayList<>(); |
| | | for(PlatformDevice device : deviceList){ |
| | | if(StringUtils.isBlank(device.getHkId())){ |
| | | continue; |
| | | } |
| | | if(Constants.equalsInteger(device.getType(),Constants.TWO)){ |
| | | //妿æ¯å¹¿æç¹ |
| | | bNames += device.getName()+";"; |
| | | broadcastList.add(device.getHkId()); |
| | | } |
| | | } |
| | | if(broadcastList.size()>0){ |
| | | PlatformJob job = new PlatformJob(); |
| | | job.setId(-1); |
| | | job.setCarCodeFront(status.getPlateNo()); |
| | | job.setPlatformId(model.getId()); |
| | | PlatformBroadcastLog log = dealBroadcastBiz(job,broadcastList,bNames,Constants.PlatformBroadcastContent.WRONG_IN.getInfo().replace("${param}",status.getPlateNo())); |
| | | logList.add(log); |
| | | } |
| | | if(logList.size()>0){ |
| | | platformBroadcastLogMapper.insert(logList); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 广æéç¥ |
| | |
| | | // 对ç¸åºç¶æä¸çæ°æ®è¿è¡ãå·²ç¾ç¦»ãå¤ç |
| | | if(!Constants.equalsInteger(c.getStatus(),Constants.VisitStatus.signout)){ |
| | | Visits update = new Visits(); |
| | | //已失æ |
| | | //å·²ç¾ç¦» |
| | | update.setStatus(Constants.VisitStatus.signout); |
| | | update.setEditDate(date); |
| | | update.setId(c.getId()); |
| | | update.setInDate(DateUtil.getISO8601DateByStr2(data.getVisitStartTime())); |
| | | update.setOutDate(DateUtil.getISO8601DateByStr2(data.getVisitEndTime())); |
| | | update.setOutInfo(model.getVisitorStatus().equals(5)?"è¿æèªå¨ç¾ç¦»":"æ¥è¯¢å·²ç¾ç¦»"); |
| | | update.setRemark("å·²ç¾ç¦»"); |
| | | visitsMapper.updateById(update); |
| | | |
| | |
| | | .eq(Visits::getIsdeleted,Constants.ZERO) |
| | | .apply("to_days(create_date)=to_days(now())") |
| | | .in(Visits::getStatus,Constants.VisitStatus.pass,Constants.VisitStatus.xfSuccess )));//å¾
è®¿é® |
| | | result.setWaitVisitNum(visitsJoinMapper.selectCount(new MPJLambdaWrapper<Visits>() |
| | | result.setRegisterVisitNum(visitsJoinMapper.selectCount(new MPJLambdaWrapper<Visits>() |
| | | .eq(Visits::getIsdeleted,Constants.ZERO) |
| | | .apply("to_days(create_date)=to_days(now())") |
| | | .in(Visits::getStatus,Constants.VisitStatus.signout,Constants.VisitStatus.signin )));//å·²ç»è®° |
| | | result.setWaitVisitNum(visitsJoinMapper.selectCount(new MPJLambdaWrapper<Visits>() |
| | | result.setLevelNum(visitsJoinMapper.selectCount(new MPJLambdaWrapper<Visits>() |
| | | .eq(Visits::getIsdeleted,Constants.ZERO) |
| | | .apply("to_days(create_date)=to_days(now())") |
| | | .in(Visits::getStatus,Constants.VisitStatus.signout )));//å·²ç¾ç¦» |
| | |
| | | result.getVisitRetentionDataList().add(t); |
| | | }); |
| | | } |
| | | result.setRetentionNum(result.getVisitRetentionDataList().size()); |
| | | return result; |
| | | |
| | | } |
| | |
| | | private void dealCarPlatformAndDriverInfo(PlatformJob job,int type) { |
| | | //æ¥è¯¢è½¦è¾æ¯å¦èªæè½¦ï¼ä»¥åjobNumè¡¨ç¤ºä½æ±ä½ä¸æ°éï¼é已离åçä½ä¸æ°) |
| | | Cars car = carsMapper.selectOne(new QueryWrapper<Cars>() |
| | | .select("*,(select count(1) from platform_job b where b.plate_num='"+job.getCarCodeFront()+"' and b.status in("+ |
| | | Constants.PlatformJobStatus.LEAVED.getKey()+")) as jobNum") |
| | | .select("*,(select count(1) from platform_job b where b.plate_num='"+job.getCarCodeFront()+"' " + |
| | | "and b.status in("+ |
| | | Constants.PlatformJobStatus.WART_SIGN_IN.getKey()+","+ |
| | | Constants.PlatformJobStatus.WART_SIGN_IN.getKey()+","+ |
| | | Constants.PlatformJobStatus.WAIT_CALL.getKey()+","+ |
| | | Constants.PlatformJobStatus.IN_WAIT.getKey()+","+ |
| | | Constants.PlatformJobStatus.CALLED.getKey()+","+ |
| | | Constants.PlatformJobStatus.TRANSFERING.getKey()+","+ |
| | | Constants.PlatformJobStatus.EXCEPTION.getKey()+","+ |
| | | Constants.PlatformJobStatus.WORKING.getKey()+")) as jobNum") |
| | | .lambda() |
| | | .eq(Cars::getIsdeleted,Constants.ZERO) |
| | | .eq(Cars::getType,Constants.ONE) |
| | |
| | | //妿æ¯èªæç©æµè½¦ |
| | | job.setType(type==0?Constants.platformJobType.zycxh:Constants.platformJobType.zyczh);//èªæè½¦å¸è´§/è£
è´§ |
| | | job.setCarCodeBack(job.getCarCodeFront());//èªæè½¦é»è®¤åå车ç䏿 · |
| | | if(retentionMapper.selectCount(new QueryWrapper<Retention>().lambda().eq(Retention::getType,Constants.THREE) |
| | | .eq(Retention::getCarNo,car.getCode()))>Constants.ZERO && car.getJobNum() == 0){ |
| | | if(job.getType() ==Constants.platformJobType.zyczh |
| | | && retentionMapper.selectCount(new QueryWrapper<Retention>().lambda().eq(Retention::getType,Constants.THREE) |
| | | .eq(Retention::getCarNo,car.getCode()))>Constants.ZERO |
| | | && car.getJobNum() == 0){ |
| | | //å¦æè½¦è¾å¨å |
| | | job.setStatus(Constants.PlatformJobStatus.WAIT_CALL.getKey());//å¨åæ ä½ä¸ç¶æï¼åèªå¨ãå·²ç¾å°ãå¤ç |
| | | job.setArriveDate(new Date()); |