From 98250a7cff913563152ae8b313c7f45cc27545ba Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期四, 27 二月 2025 09:13:50 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit
---
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformJobCloudController.java | 2
admin/src/views/business/visits.vue | 16
admin/src/views/business/retention.vue | 6
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java | 34
admin/src/components/business/OperaHiddenDangerParamWindow.vue | 7
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java | 33
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java | 29
server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java | 9
server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/UserActionController.java | 3
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java | 30
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDangerParam.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java | 33 +
admin/src/views/business/retentionCars.vue | 2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitEventServiceImpl.java | 6
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java | 151 +++-
server/system_service/src/main/java/com/doumee/config/cloudfilter/CloudWebConfig.java | 8
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java | 18
admin/src/api/business/visits.js | 2
server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java | 4
server/visits/dmvisit_admin/src/main/resources/application.yml | 1
server/system_service/src/main/java/com/doumee/dao/business/dao/UserActionMapper.java | 13
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/UserActionServiceImpl.java | 33
server/system_gateway/src/main/java/com/doumee/config/CustomWebFilterConfig.java | 4
server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Bookings.java | 6
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java | 13
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformBooksCloudController.java | 4
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/join/DeviceJoinMapper.java | 1
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java | 78 ++
admin/src/views/platform/LogisticsRecord/subscribe.vue | 4
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java | 5
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/UserActionCloudController.java | 11
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ApproveService.java | 3
admin/src/views/operation/serviceCar/apprRecord.vue | 236 +++++--
admin/src/views/platform/LogisticsRecord/waybill.vue | 2
server/system_service/src/main/java/com/doumee/core/utils/Constants.java | 69 +
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CarUseBookService.java | 2
server/system_service/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java | 5
admin/src/views/business/reportRecord.vue | 142 +++-
server/system_service/src/main/java/com/doumee/service/business/third/model/TMSContants.java | 8
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitsCloudController.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java | 1
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncNoticeServiceImpl.java | 2
admin/src/components/operation/OperCarUseBookParamWindow.vue | 59 +
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java | 21
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/UserActionService.java | 8
server/system_service/src/main/java/com/doumee/dao/business/dao/MemberMapper.java | 1
admin/src/views/business/userAction.vue | 32
server/system_service/src/main/java/com/doumee/dao/business/model/UserAction.java | 101 +++
admin/src/views/business/visitEvent.vue | 168 +++--
admin/src/views/business/userActionOther.vue | 79 ++
admin/src/views/business/carEvent.vue | 20
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarUseBookCloudController.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/RetentionCarsVO.java | 4
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java | 1
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformBooksService.java | 2
admin/src/api/platform/index.js | 58
server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/RoomDetailResponse.java | 3
/dev/null | 96 ---
admin/src/components/business/OperaHiddenDangerWindow.vue | 15
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitEvent.java | 4
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java | 44 +
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java | 3
server/system_gateway/src/main/resources/application.yml | 1
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/join/UserActionJoinMapper.java | 1
admin/src/views/business/deviceEvent.vue | 9
admin/src/views/operation/danger/record.vue | 111 +-
68 files changed, 1,314 insertions(+), 573 deletions(-)
diff --git a/admin/src/api/business/visits.js b/admin/src/api/business/visits.js
index 4fc01fb..805d0db 100644
--- a/admin/src/api/business/visits.js
+++ b/admin/src/api/business/visits.js
@@ -23,7 +23,7 @@
}
// 绂诲満
export function level (id) {
- return request.get('/visitsAdmin/cloudService/business/staging/level?visitId=' +id)
+ return request.get('/visitsAdmin/cloudService/business/staging/level?visitId=' + id)
}
// 淇敼
diff --git a/admin/src/api/platform/index.js b/admin/src/api/platform/index.js
index 4e85937..e3194f8 100644
--- a/admin/src/api/platform/index.js
+++ b/admin/src/api/platform/index.js
@@ -1,128 +1,128 @@
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
diff --git a/admin/src/components/business/OperaHiddenDangerParamWindow.vue b/admin/src/components/business/OperaHiddenDangerParamWindow.vue
index 27c9a0a..f373969 100644
--- a/admin/src/components/business/OperaHiddenDangerParamWindow.vue
+++ b/admin/src/components/business/OperaHiddenDangerParamWindow.vue
@@ -4,7 +4,7 @@
<el-form-item label="鍚嶇О" prop="name">
<el-input v-model="form.name" placeholder="璇疯緭鍏ュ悕绉�" v-trim />
</el-form-item>
- <el-form-item label="璐d换閮ㄩ棬" prop="companyId">
+ <el-form-item label="璐d换閮ㄩ棬" 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>
@@ -84,6 +84,9 @@
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 = []
@@ -106,7 +109,7 @@
loadMember(flag) {
if(flag && flag == 1){
this.$set(this.form, 'memberIdList', null)
- }
+ }
allList({
type: 2,
companyType: 1,
diff --git a/admin/src/components/business/OperaHiddenDangerWindow.vue b/admin/src/components/business/OperaHiddenDangerWindow.vue
index 694ad5b..fbaf9f4 100644
--- a/admin/src/components/business/OperaHiddenDangerWindow.vue
+++ b/admin/src/components/business/OperaHiddenDangerWindow.vue
@@ -161,9 +161,9 @@
<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>
@@ -266,6 +266,7 @@
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,
@@ -539,9 +540,13 @@
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 () { },
diff --git a/admin/src/components/operation/OperCarUseBookParamWindow.vue b/admin/src/components/operation/OperCarUseBookParamWindow.vue
index f4120a7..19c6d8b 100644
--- a/admin/src/components/operation/OperCarUseBookParamWindow.vue
+++ b/admin/src/components/operation/OperCarUseBookParamWindow.vue
@@ -29,7 +29,9 @@
</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>
@@ -186,12 +188,13 @@
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,
@@ -280,11 +283,11 @@
// immediate: true
// }
// },
- created() {
+ created () {
this.initData()
},
methods: {
- open() {
+ open () {
this.title = '鏂板缓鍏姟杞︾敤杞︾敵璇�'
this.form = {
type: 0,
@@ -295,18 +298,18 @@
})
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'
@@ -322,7 +325,7 @@
}
})
},
- openTime() {
+ openTime () {
const { form } = this
if (!form.carId) {
return this.$tip.error('璇峰厛閫夋嫨杞﹁締')
@@ -337,7 +340,7 @@
this.isShowShiwai = true
}
},
- changeType() {
+ changeType () {
this.$set(this.form, 'startTime', '')
this.$set(this.form, 'endTime', '')
this.$set(this.form, 'planUseDate', '')
@@ -345,7 +348,7 @@
this.$refs.formRef.clearValidate()
})
},
- clearTime() {
+ clearTime () {
this.isShowShiwai = false
this.$set(this.form, 'startTime', '')
this.$set(this.form, 'endTime', '')
@@ -355,7 +358,7 @@
}
})
},
- subTime() {
+ subTime () {
if (this.info && this.info.length > 0) return
if (this.form.type === 0) {
const selTimeList = this.timeList.filter(i => i.checked == '1')
@@ -380,7 +383,7 @@
}
console.log('form', this.form)
},
- datetimeClick(item, index) {
+ datetimeClick (item, index) {
if (item.carUseBookId) {
detail(
item.carUseBookId
@@ -428,19 +431,19 @@
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', '')
@@ -448,9 +451,9 @@
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({
@@ -460,11 +463,11 @@
}).then(res => {
this.info = res || []
})
- }else{
+ } else {
this.selPastDatetime = ''
}
},
- gettimes() {
+ gettimes () {
const { form } = this
carCanReservationDate({
dateDay: form.dateDay,
@@ -472,26 +475,29 @@
}).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 || []
- })
+ }) */
}
}
}
@@ -565,7 +571,6 @@
border: #cccccc solid 1px;
cursor: pointer;
}
-
.disable {
color: #fff;
diff --git a/admin/src/views/business/carEvent.vue b/admin/src/views/business/carEvent.vue
index 6579f2d..a14baf4 100644
--- a/admin/src/views/business/carEvent.vue
+++ b/admin/src/views/business/carEvent.vue
@@ -54,6 +54,16 @@
</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="鍑哄叆鍙e悕绉�" min-width="100px"></el-table-column>
@@ -64,16 +74,6 @@
<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">
diff --git a/admin/src/views/business/deviceEvent.vue b/admin/src/views/business/deviceEvent.vue
index 1496ee2..6dd132c 100644
--- a/admin/src/views/business/deviceEvent.vue
+++ b/admin/src/views/business/deviceEvent.vue
@@ -58,6 +58,10 @@
<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>
@@ -83,10 +87,7 @@
</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">
diff --git a/admin/src/views/business/reportRecord.vue b/admin/src/views/business/reportRecord.vue
index d106678..f9a206d 100644
--- a/admin/src/views/business/reportRecord.vue
+++ b/admin/src/views/business/reportRecord.vue
@@ -1,32 +1,77 @@
<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>
@@ -36,16 +81,23 @@
<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>
@@ -55,7 +107,7 @@
// 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,
@@ -63,7 +115,7 @@
Pagination,
OperaVisitsReportWindow
},
- data() {
+ data () {
return {
isShowEdit: false,
exLoading: false,
@@ -102,11 +154,11 @@
total: 0
}
},
- created() {
+ created () {
this.getList()
},
methods: {
- exportExcel() {
+ exportExcel () {
this.$dialog.exportConfirm('纭瀵煎嚭鍚楋紵')
.then(() => {
this.exLoading = true
@@ -126,13 +178,28 @@
})
})
},
- 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(() => {
@@ -143,28 +210,24 @@
})
})
},
- 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()
}
@@ -172,4 +235,5 @@
}
</script>
-<style lang="scss" scoped></style>
+<style lang="scss" scoped>
+</style>
diff --git a/admin/src/views/business/retention.vue b/admin/src/views/business/retention.vue
index f37b2e2..054b175 100644
--- a/admin/src/views/business/retention.vue
+++ b/admin/src/views/business/retention.vue
@@ -40,6 +40,9 @@
</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">{{
@@ -55,9 +58,6 @@
<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> -->
diff --git a/admin/src/views/business/retentionCars.vue b/admin/src/views/business/retentionCars.vue
index ab65e02..e4756e2 100644
--- a/admin/src/views/business/retentionCars.vue
+++ b/admin/src/views/business/retentionCars.vue
@@ -19,6 +19,7 @@
<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">
@@ -61,6 +62,7 @@
<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>
diff --git a/admin/src/views/business/userAction.vue b/admin/src/views/business/userAction.vue
index bc51338..0f1a5d6 100644
--- a/admin/src/views/business/userAction.vue
+++ b/admin/src/views/business/userAction.vue
@@ -36,18 +36,25 @@
</el-select>
</el-form-item>-->
<el-form-item label="鎿嶄綔绫诲瀷" prop="type">
- <el-select v-model="searchForm.type" placeholder="璇烽�夋嫨">
- <el-option label="瑙e喕" :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="瑙e喕" :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>
@@ -123,6 +130,7 @@
companyName: '',
memberType: '',
mobile: '',
+ objType:0,
beforeStatus: '',
type: ''
}
diff --git a/admin/src/views/business/userActionOther.vue b/admin/src/views/business/userActionOther.vue
new file mode 100644
index 0000000..325800b
--- /dev/null
+++ b/admin/src/views/business/userActionOther.vue
@@ -0,0 +1,79 @@
+<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>
diff --git a/admin/src/views/business/visitEvent.vue b/admin/src/views/business/visitEvent.vue
index cd8535b..c01ecdc 100644
--- a/admin/src/views/business/visitEvent.vue
+++ b/admin/src/views/business/visitEvent.vue
@@ -1,66 +1,95 @@
<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>
@@ -72,7 +101,7 @@
name: 'VisitEvent',
extends: BaseTable,
components: { TableLayout, Pagination },
- data() {
+ data () {
return {
// 鎼滅储
searchForm: {
@@ -82,13 +111,14 @@
startTime: '',
endTime: '',
eventType: '',
+ inOrOut: null,
visitorWorkUint: '',
radio: '0'
},
time: []
}
},
- created() {
+ created () {
this.config({
module: '璁垮浜嬩欢鎺ㄩ�佽褰曡〃',
api: '/business/visitEvent',
@@ -100,13 +130,13 @@
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]
@@ -122,11 +152,11 @@
}
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()
}
}
diff --git a/admin/src/views/business/visits.vue b/admin/src/views/business/visits.vue
index bf7cde0..bfac6a3 100644
--- a/admin/src/views/business/visits.vue
+++ b/admin/src/views/business/visits.vue
@@ -96,7 +96,8 @@
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>
@@ -164,15 +165,16 @@
})
},
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(() => {
@@ -184,10 +186,10 @@
cancelButtonText: '鍙栨秷',
type: 'warning'
}).then(() => {
- visitCancel(id)
+ this.api.visitCancel(id)
.then(res => {
this.page = 1
- this.getData()
+ this.search()
})
}).catch(() => {
@@ -202,7 +204,7 @@
this.api.visitResend(id)
.then(res => {
this.page = 1
- this.getData()
+ this.search()
})
}).catch(() => {
diff --git a/admin/src/views/operation/danger/record.vue b/admin/src/views/operation/danger/record.vue
index 3d58230..a685a96 100644
--- a/admin/src/views/operation/danger/record.vue
+++ b/admin/src/views/operation/danger/record.vue
@@ -6,36 +6,50 @@
<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="璐d换閮ㄩ棬" 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">
@@ -51,12 +65,15 @@
<!-- 琛ㄦ牸鍜屽垎椤� -->
<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="璐d换閮ㄩ棬" min-width="150px"></el-table-column>
<el-table-column prop="areaName" label="闅愭偅鍖哄煙" min-width="150px"></el-table-column>
@@ -66,25 +83,33 @@
<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>
@@ -99,8 +124,8 @@
export default {
name: 'Empower',
extends: BaseTable,
- components: { TableLayout, Pagination, OperaHiddenDangerWindow, HiddenDangerParam },
- data() {
+ components: { TableLayout, Pagination ,OperaHiddenDangerWindow, HiddenDangerParam},
+ data () {
return {
isShowEdit: false,
// 鎼滅储
@@ -108,7 +133,6 @@
memberName: '',
companyName: '',
queryStartTime: '',
- companyName: '',
queryEndTime: '',
areaId: null,
cateId: null,
@@ -120,7 +144,7 @@
time: []
}
},
- created() {
+ created () {
this.config({
module: '闅愭偅闅忔墜鎷嶇鐞�',
api: '/business/hiddenDanger',
@@ -132,7 +156,7 @@
this.loadParams()
},
methods: {
- handleEx() {
+ handleEx () {
this.$dialog.exportConfirm('纭瀵煎嚭鍚楋紵')
.then(() => {
this.exLoading = true
@@ -149,13 +173,13 @@
})
})
},
- 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]
@@ -172,7 +196,7 @@
}
this.search()
},
- loadParams() {
+ loadParams () {
allList({
})
.then(res => {
@@ -193,28 +217,17 @@
.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()
}
}
}
diff --git a/admin/src/views/operation/serviceCar/apprRecord.vue b/admin/src/views/operation/serviceCar/apprRecord.vue
index 8630319..7c6e24d 100644
--- a/admin/src/views/operation/serviceCar/apprRecord.vue
+++ b/admin/src/views/operation/serviceCar/apprRecord.vue
@@ -1,20 +1,43 @@
<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>
@@ -23,18 +46,36 @@
</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>
@@ -46,35 +87,74 @@
</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>
@@ -92,28 +172,58 @@
</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">
@@ -121,7 +231,10 @@
<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>
@@ -139,7 +252,7 @@
name: 'Empower',
extends: BaseTable,
components: { TableLayout, Pagination, OperaCarUseBookWindow, OperaCarUseBookParamWindow },
- data() {
+ data () {
return {
// 鎼滅储
searchForm: {
@@ -162,7 +275,7 @@
}
}
},
- created() {
+ created () {
this.config({
module: '鐢ㄨ溅鐢宠绠$悊',
api: '/business/carUseBook',
@@ -174,7 +287,7 @@
this.loadParams()
},
methods: {
- rowRevokeClick(row) {
+ rowRevokeClick (row) {
this.isShowBack = true
this.backParam = {}
this.$set(this.backParam, 'id', row.id)
@@ -182,14 +295,14 @@
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
@@ -206,7 +319,7 @@
})
})
},
- changeRadio(e) {
+ changeRadio (e) {
this.searchForm.radio = e
if (e === '0') {
this.searchForm.queryStartTime = timeForMat(0)[0]
@@ -223,10 +336,10 @@
}
this.search()
},
- handleEdit() {
+ handleEdit () {
this.$refs.OperaParamWindow.open()
},
- loadParams() {
+ loadParams () {
allList({
})
.then(res => {
@@ -247,26 +360,17 @@
.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()
}
}
}
diff --git a/admin/src/views/platform/LogisticsRecord/subscribe.vue b/admin/src/views/platform/LogisticsRecord/subscribe.vue
index 9dcc7a1..933b5b1 100644
--- a/admin/src/views/platform/LogisticsRecord/subscribe.vue
+++ b/admin/src/views/platform/LogisticsRecord/subscribe.vue
@@ -41,6 +41,7 @@
<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>
@@ -144,7 +145,6 @@
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' }],
@@ -197,7 +197,7 @@
}
],
online: true
- },
+ }
}
},
created() {
diff --git a/admin/src/views/platform/LogisticsRecord/waybill.vue b/admin/src/views/platform/LogisticsRecord/waybill.vue
index 58eb7f2..8888613 100644
--- a/admin/src/views/platform/LogisticsRecord/waybill.vue
+++ b/admin/src/views/platform/LogisticsRecord/waybill.vue
@@ -190,7 +190,7 @@
})
},
handleDel(row) {
- this.$dialog.exportConfirm('纭鍒犻櫎鍚楋紵').then(() => {
+ this.$dialog.deleteConfirm('纭鍒犻櫎鍚楋紵').then(() => {
platformJobDel(row.id).then(res => {
Message.success('鍒犻櫎鎴愬姛')
this.getList()
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java
index 9ddcb73..39eff3a 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java
@@ -102,7 +102,7 @@
"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);
@@ -149,7 +149,7 @@
"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>"+
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Bookings.java b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Bookings.java
index e7f3cb8..98927c3 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Bookings.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Bookings.java
@@ -202,5 +202,11 @@
@ApiModelProperty(value = "浼氳瀹や富閿�")
@TableField(exist = false)
private Integer roomsId;
+ @ApiModelProperty(value = "浼氳瀹ゅ浘鐗�")
+ @TableField(exist = false)
+ private String imgurl;
+ @TableField(exist = false)
+ @ApiModelProperty(value = "鏂囦欢绫诲瀷")
+ private Integer fileType;
}
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/RoomDetailResponse.java b/server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/RoomDetailResponse.java
index fb3d551..0ccae3e 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/RoomDetailResponse.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/RoomDetailResponse.java
@@ -1,5 +1,6 @@
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;
@@ -35,5 +36,7 @@
@ApiModelProperty(value = "浼氳鍒楄〃")
private List<MeetingListResponse> meetingListResponseList;
+// @ApiModelProperty(value = "浼氳鍒楄〃")
+// private List<Bookings> meetingListResponseList;
}
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
index abe4c42..15bcc39 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
@@ -1,5 +1,6 @@
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;
@@ -7,6 +8,8 @@
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;
@@ -85,6 +88,8 @@
@Autowired
private RoomsMapper roomsMapper;
+ @Autowired
+ private UserActionMapper userActionMapper;
@Autowired
private ProjectRelJoinMapper projectRelJoinMapper;
@Autowired
@@ -334,12 +339,39 @@
@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
@@ -506,7 +538,7 @@
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);
@@ -574,29 +606,9 @@
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());
@@ -637,6 +649,32 @@
});
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
@@ -1192,9 +1230,9 @@
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(), "鏈鎿嶄綔澶辫触,浼氳鐘舵�佸凡娴佽浆");
}
@@ -1308,7 +1346,7 @@
bookings.setEditDate(new Date());
bookings.setEditor(businessOverDTO.getUserId());
bookingsMapper.updateById(bookings);
- //鏇存柊宸茬粨鏉熶絾鏈粨鏉熺殑浼氳淇℃伅涓哄凡缁撴潫
+ /* //鏇存柊宸茬粨鏉熶絾鏈粨鏉熺殑浼氳淇℃伅涓哄凡缁撴潫
bookingsMapper.update(null,new UpdateWrapper<Bookings>()
.lambda()
.set(Bookings::getStatus,Constants.TWO)
@@ -1317,10 +1355,9 @@
.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){
@@ -1341,9 +1378,9 @@
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) {
@@ -1353,7 +1390,8 @@
response.setMultifileList(multifileList);
}
- //鏌ヨ浼氳鍒楄〃
+
+/* //鏌ヨ浼氳鍒楄〃
List<MeetingListResponse> meetingList = bookingsMapper.meetingList(
new QueryWrapper<Bookings>()
.eq( "b.id", rooms.getId())
@@ -1367,10 +1405,57 @@
.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)){
diff --git a/server/system_gateway/src/main/java/com/doumee/config/CustomWebFilterConfig.java b/server/system_gateway/src/main/java/com/doumee/config/CustomWebFilterConfig.java
index ac43309..9e877a8 100644
--- a/server/system_gateway/src/main/java/com/doumee/config/CustomWebFilterConfig.java
+++ b/server/system_gateway/src/main/java/com/doumee/config/CustomWebFilterConfig.java
@@ -1,6 +1,5 @@
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;
@@ -10,7 +9,6 @@
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;
@@ -41,7 +39,7 @@
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();
diff --git a/server/system_gateway/src/main/resources/application.yml b/server/system_gateway/src/main/resources/application.yml
index 79ba0b9..8b56fd5 100644
--- a/server/system_gateway/src/main/resources/application.yml
+++ b/server/system_gateway/src/main/resources/application.yml
@@ -63,6 +63,7 @@
enabled: true #鏄惁寮�鍚疛WT鐧诲綍璁よ瘉鍔熻兘
secret: fjkfaf;afa # JWT绉侀挜锛岀敤浜庢牎楠孞WT浠ょ墝鐨勫悎娉曟��
expiration: 1800000 #JWT浠ょ墝鐨勬湁鏁堟湡锛岀敤浜庢牎楠孞WT浠ょ墝鐨勫悎娉曟��
+# expiration: 300000 #JWT浠ょ墝鐨勬湁鏁堟湡锛岀敤浜庢牎楠孞WT浠ょ墝鐨勫悎娉曟��
header: JWTHeaderName #HTTP璇锋眰鐨凥eader鍚嶇О锛岃Header浣滀负鍙傛暟浼犻�扟WT浠ょ墝
userParamName: username #鐢ㄦ埛鐧诲綍璁よ瘉鐢ㄦ埛鍚嶅弬鏁板悕绉�
pwdParamName: password #鐢ㄦ埛鐧诲綍璁よ瘉瀵嗙爜鍙傛暟鍚嶇О
diff --git a/server/system_service/src/main/java/com/doumee/config/cloudfilter/CloudWebConfig.java b/server/system_service/src/main/java/com/doumee/config/cloudfilter/CloudWebConfig.java
index c8cf472..179623f 100644
--- a/server/system_service/src/main/java/com/doumee/config/cloudfilter/CloudWebConfig.java
+++ b/server/system_service/src/main/java/com/doumee/config/cloudfilter/CloudWebConfig.java
@@ -1,5 +1,7 @@
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;
@@ -9,15 +11,19 @@
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+"/**");
}
diff --git a/server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java b/server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java
index 6100bdc..2a1305d 100644
--- a/server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java
+++ b/server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java
@@ -3,6 +3,8 @@
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;
@@ -12,6 +14,7 @@
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;
@@ -21,14 +24,17 @@
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;
// 鐢变簬璇ョ被鏈氦缁檚pring绠$悊锛屽洜姝や笉鑳戒娇鐢ㄨ嚜鍔ㄨ閰嶇殑鏂瑰紡鑾峰彇RedisTemplate瀵硅薄
- public LoginHandlerInterceptor(RedisTemplate<String,Object> stringRedisTemplate) {
+ public LoginHandlerInterceptor(RedisTemplate<String,Object> stringRedisTemplate,long expireTime) {
+ this.expireTime = expireTime;
this.stringRedisTemplate = stringRedisTemplate;
}
@@ -124,6 +130,7 @@
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(),"鐢ㄦ埛鐧婚檰宸插け鏁堬紝璇烽噸鏂扮櫥闄嗭紒");
diff --git a/server/system_service/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java b/server/system_service/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java
index ca998e5..bd8d38a 100644
--- a/server/system_service/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java
+++ b/server/system_service/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java
@@ -240,7 +240,8 @@
* @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);
}
}
\ No newline at end of file
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
index 19f29d6..2b7b0ad 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -334,11 +334,12 @@
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;
}
@@ -417,6 +418,7 @@
int selfTruck = 3;
int outTruck = 4;
int cityComTruck = 5;
+ int unknown = 6;
}
@@ -676,14 +678,60 @@
}
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("鐨朅A10991"));
// System.out.println(Constants.getVehiclePlateNo("婀楤140D17").getDescription());
// System.out.println(Constants.getVehiclePlateNo("瀹緼P0637").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>");
}
@@ -1282,6 +1330,13 @@
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}銆戯紝杩涜銆愬垹闄ら殣鎮i殢鎵嬫媿銆�,瀵硅薄淇℃伅锛�${param3}"),
;
// 鎴愬憳鍙橀噺
diff --git a/server/system_service/src/main/java/com/doumee/dao/business/dao/MemberMapper.java b/server/system_service/src/main/java/com/doumee/dao/business/dao/MemberMapper.java
index 6aaddf5..0ed41c3 100644
--- a/server/system_service/src/main/java/com/doumee/dao/business/dao/MemberMapper.java
+++ b/server/system_service/src/main/java/com/doumee/dao/business/dao/MemberMapper.java
@@ -1,5 +1,6 @@
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;
diff --git a/server/system_service/src/main/java/com/doumee/dao/business/dao/UserActionMapper.java b/server/system_service/src/main/java/com/doumee/dao/business/dao/UserActionMapper.java
new file mode 100644
index 0000000..d83562a
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/dao/business/dao/UserActionMapper.java
@@ -0,0 +1,13 @@
+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> {
+
+}
diff --git a/server/system_service/src/main/java/com/doumee/dao/business/model/UserAction.java b/server/system_service/src/main/java/com/doumee/dao/business/model/UserAction.java
new file mode 100644
index 0000000..5888985
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/dao/business/model/UserAction.java
@@ -0,0 +1,101 @@
+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瑙e喕 1鍐荤粨 2鎷夐粦 3鎭㈠ 4璁句负鎷滆浜� 5鍙栨秷鎷滆浜� 6璁句负楂樼骇瀹℃壒浜� 7鍙栨秷楂樼骇瀹℃壒浜� 8鎵嬪姩绂诲満 9鍒犻櫎浜哄憳 10鏇存柊浜哄憳", example = "1")
+ @ExcelColumn(name="绫诲瀷 0瑙e喕 1鍐荤粨 2鎷夐粦 3鎭㈠ 4璁句负鎷滆浜� 5鍙栨秷鎷滆浜� 6璁句负楂樼骇瀹℃壒浜� 7鍙栨秷楂樼骇瀹℃壒浜� 8鎵嬪姩绂诲満 9鍒犻櫎浜哄憳 10鏇存柊浜哄憳")
+ private Integer type;
+
+ @ApiModelProperty(value = "浜哄憳鎿嶄綔璁板綍鏃ュ織")
+ @ExcelColumn(name="浜哄憳鎿嶄綔璁板綍鏃ュ織")
+ private String memberId;
+
+ @ApiModelProperty(value = "鎿嶄綔鍓嶇姸鎬� 0瑙e喕 1鍐荤粨 2鎷夐粦 3鎭㈠ 4璁句负鎷滆浜� 5鍙栨秷鎷滆浜� 6璁句负楂樼骇瀹℃壒浜� 7鍙栨秷楂樼骇瀹℃壒浜� 8鎵嬪姩绂诲満 9鍒犻櫎", example = "1")
+ @ExcelColumn(name="鎿嶄綔鍓嶇姸鎬� 0瑙e喕 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;
+
+}
diff --git a/server/system_service/src/main/java/com/doumee/service/business/third/model/TMSContants.java b/server/system_service/src/main/java/com/doumee/service/business/third/model/TMSContants.java
index a764f54..171657c 100644
--- a/server/system_service/src/main/java/com/doumee/service/business/third/model/TMSContants.java
+++ b/server/system_service/src/main/java/com/doumee/service/business/third/model/TMSContants.java
@@ -8,12 +8,8 @@
public class TMSContants {
public interface InterfacePath {
- String[] getSevenArrivalStatus = new String[]{"/tms/zhyt/getSevenArrivalStatus", "銆怲MS銆戣繎7鏃ュ埌璐ф儏鍐�"};//TMS杩�7鏃ュ埌璐ф儏鍐垫帴鍙e湴鍧�
- String[] getCurrentTransportationTask = new String[]{ "銆怲MS銆�/zhyt/getCurrentTransportationTask", "銆怲MS銆戝綋鍓嶈繍杈撲换鍔�"};//TMS褰撳墠杩愯緭浠诲姟鎺ュ彛鍦板潃
String[] getDistributionOfDeliveryLocations = new String[]{"/tms/zhyt/getDistributionOfDeliveryLocations", "銆怲MS銆戝叏鍥藉埌璐у湴鍒嗗竷鏌ヨ鏌ヨ"};//TMS鍏ㄥ浗鍒拌揣鍦板垎甯冩煡璇㈡煡璇㈡帴鍙e湴鍧�
String[] getRealTimeInventory = new String[]{"/tms/zhyt/getRealTimeInventory", "銆怲MS銆戝疄鏃跺簱瀛樻煡璇�"};//TMS瀹炴椂搴撳瓨鏌ヨ鎺ュ彛鍦板潃
- String[] getInboundOutbound = new String[]{"/tms/zhyt/getInboundOutbound", "銆怲MS銆戝嚭鍏ュ簱璁板綍鏌ヨ"};//TMS鍑哄叆搴撹褰曟煡璇㈡帴鍙e湴鍧�
- String[] getIntransitDetails = new String[]{"/tms/zhyt/getIntransitDetails", "銆怲MS銆戝湪閫旀槑缁嗗垪琛�"};//TMS鍦ㄩ�旀槑缁嗗垪琛ㄦ帴鍙e湴鍧�
String[] getOrderList = new String[]{"/tms/zhyt/getOrderList", "銆怲MS銆戝悎鍚屽垪琛ㄦ煡璇�"};//TMS鍚堝悓鍒楄〃鏌ヨ鎺ュ彛鍦板潃
String[] getTotalAndReportVehicleQty = new String[]{"/tms/zhyt/getTotalAndReportVehicleQty", "銆怲MS銆戞煡璇�5涓巶鐨勮繍鍔涜祫婧愬埄鐢ㄦ儏鍐点��"};//鏌ヨ5涓巶鐨勮繍鍔涜祫婧愬埄鐢ㄦ儏鍐点��
String[] getElecByContractNumberList = new String[]{"/tms/zhyt/getElecByContractNumberList", "銆怲MS銆戝悎鍚屼笂閿佺姸鎬�"};//TMS鍚堝悓涓婇攣鐘舵�佹帴鍙e湴鍧�
@@ -29,6 +25,10 @@
String[] driverStart = new String[]{"/tms/zhyt/driverStartAndArrival", "銆怲MS銆戝徃鏈哄惎杩愩��"};//3.17鍙告満鍚繍
String[] driverArrival = new String[]{"/tms/zhyt/driverStartAndArrival", "銆怲MS銆戝徃鏈哄埌璐с��"};//3.18鍙告満鍒拌揣
String[] getEmployeeList = new String[]{"/tms/zhyt/getEmployeeList", "銆怲MS銆戣惀閿�浜哄憳淇℃伅瀹炴椂鏌ヨ銆�"};//3.19钀ラ攢浜哄憳淇℃伅瀹炴椂鏌ヨ
+ String[] getInboundOutbound = new String[]{"/tms/zhyt/getInboundOutbound", "銆怲MS銆戝嚭鍏ュ簱璁板綍鏌ヨ"};//TMS鍑哄叆搴撹褰曟煡璇㈡帴鍙e湴鍧�
+ String[] getIntransitDetails = new String[]{"/tms/zhyt/getIntransitDetails", "銆怲MS銆戝湪閫旀槑缁嗗垪琛�"};//TMS鍦ㄩ�旀槑缁嗗垪琛ㄦ帴鍙e湴鍧�
+ String[] getSevenArrivalStatus = new String[]{"/tms/zhyt/getSevenArrivalStatus", "銆怲MS銆戣繎7鏃ュ埌璐ф儏鍐�"};//TMS杩�7鏃ュ埌璐ф儏鍐垫帴鍙e湴鍧�
+ String[] getCurrentTransportationTask = new String[]{ "銆怲MS銆�/zhyt/getCurrentTransportationTask", "銆怲MS銆戝綋鍓嶈繍杈撲换鍔�"};//TMS褰撳墠杩愯緭浠诲姟鎺ュ彛鍦板潃
}
public enum TopStatusLevel {
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/UserActionController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/UserActionController.java
index d39654a..cbddecc 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/UserActionController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/UserActionController.java
@@ -2,10 +2,11 @@
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;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarUseBookCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarUseBookCloudController.java
index df7abf9..9f271a0 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarUseBookCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarUseBookCloudController.java
@@ -53,7 +53,7 @@
@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);
}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformBooksCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformBooksCloudController.java
index 6fe59b6..8ba5ef2 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformBooksCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformBooksCloudController.java
@@ -54,8 +54,8 @@
@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);
}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformJobCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformJobCloudController.java
index 3943389..c897310 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformJobCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformJobCloudController.java
@@ -53,7 +53,7 @@
@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);
}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/UserActionCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/UserActionCloudController.java
index 51d366c..bca0c47 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/UserActionCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/UserActionCloudController.java
@@ -4,11 +4,12 @@
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;
@@ -35,7 +36,7 @@
@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));
}
@@ -63,7 +64,7 @@
@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);
}
@@ -71,14 +72,14 @@
@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);
}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitsCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitsCloudController.java
index a635e08..af20c8f 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitsCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitsCloudController.java
@@ -51,7 +51,7 @@
@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);
}
diff --git a/server/visits/dmvisit_admin/src/main/resources/application.yml b/server/visits/dmvisit_admin/src/main/resources/application.yml
index 8e1a715..afdf5a4 100644
--- a/server/visits/dmvisit_admin/src/main/resources/application.yml
+++ b/server/visits/dmvisit_admin/src/main/resources/application.yml
@@ -74,6 +74,7 @@
enabled: true #鏄惁寮�鍚疛WT鐧诲綍璁よ瘉鍔熻兘
secret: fjkfaf;afa # JWT绉侀挜锛岀敤浜庢牎楠孞WT浠ょ墝鐨勫悎娉曟��
expiration: 1800000 #JWT浠ょ墝鐨勬湁鏁堟湡锛岀敤浜庢牎楠孞WT浠ょ墝鐨勫悎娉曟��
+# expiration: 300000 #JWT浠ょ墝鐨勬湁鏁堟湡锛岀敤浜庢牎楠孞WT浠ょ墝鐨勫悎娉曟��
header: JWTHeaderName #HTTP璇锋眰鐨凥eader鍚嶇О锛岃Header浣滀负鍙傛暟浼犻�扟WT浠ょ墝
userParamName: username #鐢ㄦ埛鐧诲綍璁よ瘉鐢ㄦ埛鍚嶅弬鏁板悕绉�
pwdParamName: password #鐢ㄦ埛鐧诲綍璁よ瘉瀵嗙爜鍙傛暟鍚嶇О
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/UserActionMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/UserActionMapper.java
deleted file mode 100644
index f5d61e0..0000000
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/UserActionMapper.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.doumee.dao.business;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.doumee.dao.business.model.UserAction;
-
-/**
- * @author 姹熻箘韫�
- * @date 2023/12/14 13:57
- */
-public interface UserActionMapper extends BaseMapper<UserAction> {
-
-}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/join/DeviceJoinMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/join/DeviceJoinMapper.java
index 73bbfd7..9e5b5c5 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/join/DeviceJoinMapper.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/join/DeviceJoinMapper.java
@@ -1,7 +1,6 @@
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> {
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/join/UserActionJoinMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/join/UserActionJoinMapper.java
index c166202..24a255f 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/join/UserActionJoinMapper.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/join/UserActionJoinMapper.java
@@ -1,5 +1,6 @@
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;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDangerParam.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDangerParam.java
index 114e5ce..2bc7807 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDangerParam.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDangerParam.java
@@ -88,7 +88,7 @@
// @ExcelColumn(name="鎻愭姤浜虹紪鐮侊紙鍏宠仈member锛�")
private Integer companyId;
- @ApiModelProperty(value = "璐d换閮ㄩ棬缂栫爜", example = "1")
+ @ApiModelProperty(value = "璐d换閮ㄩ棬鍚嶇О", example = "1")
// @ExcelColumn(name="鎻愭姤浜虹紪鐮侊紙鍏宠仈member锛�")
@TableField(exist = false)
private String companyName;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
index 07466d5..6ef1553 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
@@ -54,25 +54,25 @@
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 = "韬唤璇佸彿锛圡D4鍔犲瘑锛�")
private String idcardNo;
@ApiModelProperty(value = "璇佷欢鏄剧ず淇℃伅")
- @ExcelColumn(name="韬唤璇佸彿" ,index = 5,width = 12)
+ @ExcelColumn(name="韬唤璇佸彿" ,index = 3,width = 12)
private String idcardDecode;
@ApiModelProperty(value = "宸ュ彿")
@@ -84,7 +84,7 @@
@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;
@@ -138,7 +138,7 @@
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;
@@ -146,7 +146,6 @@
@ApiModelProperty(value = "浜烘暟")
@TableField(exist = false)
private Integer num;
-
@ApiModelProperty(value = "鏌ヨ浜哄憳绫诲瀷")
@TableField(exist = false)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/UserAction.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/UserAction.java
deleted file mode 100644
index e5d5b81..0000000
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/UserAction.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package com.doumee.dao.business.model;
-
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.doumee.core.annotation.excel.ExcelColumn;
-import com.doumee.service.business.third.model.LoginUserModel;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-import java.util.Date;
-
-/**
- * 浜哄憳鎿嶄綔璁板綍鏃ュ織
- * @author 姹熻箘韫�
- * @date 2023/12/14 13:57
- */
-@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瑙e喕 1鍐荤粨 2鎷夐粦 3鎭㈠ 4璁句负鎷滆浜� 5鍙栨秷鎷滆浜� 6璁句负楂樼骇瀹℃壒浜� 7鍙栨秷楂樼骇瀹℃壒浜� 8鎵嬪姩绂诲満 9鍒犻櫎 10鏇存柊", example = "1")
- @ExcelColumn(name="绫诲瀷 0瑙e喕 1鍐荤粨 2鎷夐粦 3鎭㈠ 4璁句负鎷滆浜� 5鍙栨秷鎷滆浜� 6璁句负楂樼骇瀹℃壒浜� 7鍙栨秷楂樼骇瀹℃壒浜� 8鎵嬪姩绂诲満 9鍒犻櫎 10鏇存柊")
- private Integer type;
-
- @ApiModelProperty(value = "浜哄憳鎿嶄綔璁板綍鏃ュ織")
- @ExcelColumn(name="浜哄憳鎿嶄綔璁板綍鏃ュ織")
- private String memberId;
-
- @ApiModelProperty(value = "鎿嶄綔鍓嶇姸鎬� 0瑙e喕 1鍐荤粨 2鎷夐粦 3鎭㈠ 4璁句负鎷滆浜� 5鍙栨秷鎷滆浜� 6璁句负楂樼骇瀹℃壒浜� 7鍙栨秷楂樼骇瀹℃壒浜� 8鎵嬪姩绂诲満 9鍒犻櫎", example = "1")
- @ExcelColumn(name="鎿嶄綔鍓嶇姸鎬� 0瑙e喕 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;
-
-}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitEvent.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitEvent.java
index 86eb3b4..e1c9f8a 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitEvent.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitEvent.java
@@ -160,7 +160,9 @@
@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 = "鎶撴媿鍥緐ri瀹屾暣")
@TableField(exist = false)
private String captureUrlFull;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/RetentionCarsVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/RetentionCarsVO.java
index ca80d7d..a52d58f 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/RetentionCarsVO.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/RetentionCarsVO.java
@@ -32,8 +32,8 @@
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)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ApproveService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ApproveService.java
index 0e8f480..2332bf0 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ApproveService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ApproveService.java
@@ -1,5 +1,6 @@
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;
@@ -110,7 +111,7 @@
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);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CarUseBookService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CarUseBookService.java
index 7690fec..bc5f3aa 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CarUseBookService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CarUseBookService.java
@@ -22,7 +22,7 @@
* @return Integer
*/
Integer create(CarUseBook carUseBook) throws Exception ;
-
+ void deleteById(Integer id,LoginUserInfo user);
/**
* 涓婚敭鍒犻櫎
*
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformBooksService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformBooksService.java
index 9d9d314..5a4c9e9 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformBooksService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformBooksService.java
@@ -32,7 +32,7 @@
* @param id 涓婚敭
*/
void deleteById(Integer id);
-
+ void deleteById(Integer id,LoginUserInfo user);
/**
* 鍒犻櫎
*
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java
index 644d624..7bf7502 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java
@@ -36,6 +36,7 @@
* @param id 涓婚敭
*/
void deleteById(Integer id);
+ void deleteById(Integer id,LoginUserInfo user);
void delete(Integer id);
/**
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/UserActionService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/UserActionService.java
index e73dc6f..22a3c1c 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/UserActionService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/UserActionService.java
@@ -1,8 +1,10 @@
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;
/**
@@ -61,7 +63,7 @@
* @param id 涓婚敭
* @return UserAction
*/
- UserAction findById(Integer id);
+ UserAction findById(Integer id);
/**
* 鏉′欢鏌ヨ鍗曟潯璁板綍
@@ -69,7 +71,7 @@
* @param userAction 瀹炰綋瀵硅薄
* @return UserAction
*/
- UserAction findOne(UserAction userAction);
+ UserAction findOne(UserAction userAction);
/**
* 鏉′欢鏌ヨ
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
index 9157115..3cfa501 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
@@ -46,6 +46,7 @@
* @param id 涓婚敭
*/
void deleteById(Integer id);
+ void deleteById(Integer id,LoginUserInfo user);
/**
* 鍒犻櫎
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
index dc6e28b..8eff348 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
@@ -364,10 +364,11 @@
* @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)
@@ -394,18 +395,15 @@
}
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);
@@ -417,7 +415,7 @@
@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)){
@@ -446,7 +444,7 @@
}
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(),"瀹℃壒娴侀厤缃敊璇�");
@@ -468,15 +466,18 @@
* @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("鍙戣捣鐢宠");
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java
index ed0fc43..ddb1602 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java
@@ -335,7 +335,7 @@
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,
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
index 19e4391..0712acb 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
@@ -1,8 +1,10 @@
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;
@@ -56,6 +58,8 @@
@Autowired
private CarUseBookMapper carUseBookMapper;
+ @Autowired
+ private UserActionMapper userActionMapper;
@Autowired
private CarUseBookJoinMapper carUseBookJoinMapper;
@@ -148,7 +152,7 @@
}
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();
@@ -168,7 +172,32 @@
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);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java
index 664c09c..5d8c2df 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java
@@ -373,32 +373,18 @@
.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);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
index 5d6d27b..38577a8 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
@@ -8,6 +8,7 @@
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;
@@ -34,7 +35,6 @@
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;
@@ -71,6 +71,8 @@
@Autowired
private HiddenDangerLogMapper hiddenDangerLogMapper;
+ @Autowired
+ private UserActionMapper userActionMapper;
@Autowired
@@ -255,20 +257,21 @@
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());
@@ -276,6 +279,13 @@
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
@@ -403,6 +413,7 @@
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)
@@ -505,12 +516,20 @@
.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)
@@ -561,6 +580,7 @@
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) {//鏁存敼鍓嶆枃浠�
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index e9173a9..98d1e14 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -968,7 +968,7 @@
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());
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java
index 913db0d..f32e69e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java
@@ -1,8 +1,10 @@
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;
@@ -58,6 +60,10 @@
@Autowired
private PlatformBooksMapper platformBooksMapper;
+ @Autowired
+ private UserActionMapper userActionMapper;
+ @Autowired
+ private PlatformJobMapper platformJobMapper;
@Autowired
private NoticesJoinMapper noticesJoinMapper;
@@ -113,7 +119,32 @@
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);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
index f49d098..eb84711 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -10,7 +10,7 @@
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;
@@ -75,6 +75,8 @@
@Autowired
private PlatformJobMapper platformJobMapper;
+ @Autowired
+ private UserActionMapper userActionMapper;
@Autowired
private TmsService tmsService;
@@ -147,6 +149,30 @@
@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)
@@ -205,6 +231,7 @@
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)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/UserActionServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/UserActionServiceImpl.java
index eb83a8d..2ec7e2e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/UserActionServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/UserActionServiceImpl.java
@@ -1,14 +1,16 @@
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;
@@ -21,6 +23,7 @@
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
+import java.util.Date;
import java.util.List;
import java.util.Objects;
@@ -77,7 +80,24 @@
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);
@@ -100,7 +120,7 @@
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)
@@ -114,6 +134,7 @@
.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()
@@ -121,6 +142,10 @@
.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);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitEventServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitEventServiceImpl.java
index 93d9a0d..d8f00e9 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitEventServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitEventServiceImpl.java
@@ -172,6 +172,9 @@
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());
}
@@ -275,6 +278,9 @@
.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())
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
index d4a6aa1..49118e4 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -18,6 +18,7 @@
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;
@@ -27,10 +28,6 @@
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;
@@ -83,6 +80,8 @@
private RetentionMapper retentionMapper;
@Autowired
private VisitsJoinMapper visitsMapper;
+ @Autowired
+ private UserActionMapper userActionMapper;
@Autowired
private ApproveMapper approveMapper;
@Autowired
@@ -287,7 +286,7 @@
}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(), "瀵逛笉璧凤紝鍙戣捣鎷滆瀹℃壒鐢宠澶辫触锛�");
}
@@ -344,7 +343,7 @@
}
}
- approveService.createApproveFlow(visits.getType(),visits.getId(),visits.getReceptMemberId());
+ approveService.createApproveFlow(visits.getType(),visits.getId(),visits.getReceptMemberId(),null);
return visits.getId();
}
@@ -1137,6 +1136,32 @@
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) {
@@ -1180,6 +1205,7 @@
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){
@@ -1190,6 +1216,8 @@
List<DeviceRole> deviceRoleList= deviceRoleMapper.selectList(deviceQuery);
result.setDeviceRoleList(deviceRoleList);
}
+ }else{
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
MPJLambdaWrapper<Visits> visitQuery = new MPJLambdaWrapper<>();
@@ -1373,7 +1401,7 @@
@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());
@@ -1501,7 +1529,7 @@
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());
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncNoticeServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncNoticeServiceImpl.java
index c487008..9b0200c 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncNoticeServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncNoticeServiceImpl.java
@@ -72,7 +72,7 @@
while (hasNext){
//鍒嗛〉閬嶅巻寰幆鏌ヨ鎵�鏈夐棬绂佽澶囨暟鎹�
GetTodoListRequest param = new GetTodoListRequest();
- param.setComId("dfe");
+// param.setComId("dfe");//鎺ュ叏閮ㄧ殑浠e姙
param.setUserId(username);
param.setStatus(1);//鍙煡寰呭鐞嗙殑鏁版嵁
param.setPageNo(curPage);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
index a3da3de..f356c7c 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -460,7 +460,6 @@
* 鏍规嵁璁垮鎺ㄩ�佽瀹㈣褰曠紪鐮侊紝澶勭悊璁垮璁板綍銆佸湪鍦轰汉鍛樼瓑淇℃伅
*/
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<>();
@@ -479,7 +478,7 @@
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);
@@ -502,6 +501,7 @@
updateVistis.setOutType(Constants.ZERO);
updateVistis.setOutInfo("璁垮姝e父绛剧");
}
+ delRetentionLis.add(visits.getMemberId());
}else{
//濡傛灉浜哄憳淇℃伅瀛樺湪锛屽垏鏄瀹㈤�氳锛屽垯鍒犻櫎涔嬪墠鐨勬墍鏈夎繘鍦烘暟鎹紙鏃犺姝ゆ鎺ㄩ�佹槸杩涘巶杩樻槸鍑哄満鎺ㄩ�佷簨浠讹級
delRetentionLis.add(visits.getMemberId());
@@ -561,6 +561,15 @@
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());
@@ -816,7 +825,7 @@
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());
@@ -1076,13 +1085,24 @@
.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();
@@ -1330,6 +1350,56 @@
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);
+ }
+ }
/**
* 骞挎挱閫氱煡
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java
index af95672..8f2f689 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java
@@ -187,12 +187,13 @@
// 瀵圭浉搴旂姸鎬佷笅鐨勬暟鎹繘琛屻�愬凡绛剧銆戝鐞�
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);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
index 9a41523..4f503c5 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -1739,11 +1739,11 @@
.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 )));//宸茬绂�
@@ -1791,6 +1791,7 @@
result.getVisitRetentionDataList().add(t);
});
}
+ result.setRetentionNum(result.getVisitRetentionDataList().size());
return result;
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java
index b166f8f..b5f6916 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java
@@ -373,8 +373,16 @@
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)
@@ -383,8 +391,10 @@
//濡傛灉鏄嚜鏈夌墿娴佽溅
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());
--
Gitblit v1.9.3