From 10c28ce3d0b384584c77ce9111a66a0641250752 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期四, 27 二月 2025 18:30:32 +0800 Subject: [PATCH] 最新版本541200007 --- server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformJobCloudController.java | 14 + admin/src/views/business/visits.vue | 2 admin/src/views/meeting/components/OperaBookingsDetailWindow.vue | 4 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java | 5 server/system_timer/src/main/java/com/doumee/jobs/service/TimerBizSevice.java | 28 +- server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/RoomsServiceImpl.java | 7 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java | 18 + server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java | 4 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java | 26 +- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWarnEventServiceImpl.java | 1 admin/src/views/meeting/bookings.vue | 8 admin/src/components/operation/HiddenDangerParam.vue | 11 admin/src/views/meeting/components/OperaRoomsWindow.vue | 10 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsJobServiceImpl.java | 4 server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java | 66 +++-- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java | 8 server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java | 4 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java | 1 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java | 18 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 32 +++ server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java | 17 server/system_service/src/main/java/com/doumee/api/BaseController.java | 9 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java | 13 server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java | 3 admin/src/views/meeting/rooms.vue | 8 server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Bookings.java | 6 admin/src/components/business/OperaMemberWindow.vue | 27 ++ server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java | 68 +++++- server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/CarEventVo.java | 2 server/system_service/src/main/java/com/doumee/core/utils/Constants.java | 4 admin/src/layouts/TableLayout1.vue | 10 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java | 1 server/system_service/src/main/java/com/doumee/service/timer/QuartzJobService.java | 11 + server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java | 5 server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Rooms.java | 3 server/system_service/src/main/java/com/doumee/dao/timer/scheduler/QuartzManage.java | 26 +- server/visits/admin_timer/src/main/java/com/doumee/api/HkVisitTimerController.java | 6 admin/src/views/task/visSubDetail.vue | 2 admin/src/layouts/TableLayout.vue | 10 admin/src/api/platform/index.js | 2 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java | 6 server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConstants.java | 2 admin/src/views/business/device.vue | 2 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformEventServiceImpl.java | 3 admin/src/views/business/relativeMember.vue | 6 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java | 19 + server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java | 19 + server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java | 13 admin/src/views/business/internalMember.vue | 6 admin/src/components/business/OperaCarsWindow.vue | 10 admin/src/views/operation/danger/record.vue | 6 51 files changed, 427 insertions(+), 169 deletions(-) diff --git a/admin/src/api/platform/index.js b/admin/src/api/platform/index.js index e3194f8..f7f1afa 100644 --- a/admin/src/api/platform/index.js +++ b/admin/src/api/platform/index.js @@ -2,7 +2,7 @@ // 鑾峰彇鏈堝彴缁勪俊鎭� export function getPlatformGroupList (data) { - return request.post('/visitsAdmin/cloudService/business/platform/getPlatformGroupList', data) + return request.post('/visitsAdmin/cloudService/business/platform/getPlatformGroupListNew', data) } // 鍙彿鍒楄〃 export function platformCallList (data) { diff --git a/admin/src/components/business/OperaCarsWindow.vue b/admin/src/components/business/OperaCarsWindow.vue index 439e693..7e4a40f 100644 --- a/admin/src/components/business/OperaCarsWindow.vue +++ b/admin/src/components/business/OperaCarsWindow.vue @@ -22,8 +22,10 @@ </el-form-item> <el-form-item label="閫夋嫨缁勭粐锛�" prop="groupId"> <el-select v-model="form.groupId" @change="changeSel" clearable filterable placeholder="璇烽�夋嫨"> - <el-option v-for="item in companyList" :key="item.id" :label="item.name" :value="item.id"> - </el-option> + <template v-for="item in companyList"> + <el-option v-if="item.countNum && item.countNum>0" :key="item.id" :label="item.name" :value="item.id"> + </el-option> + </template> </el-select> </el-form-item> <el-form-item label="閫夋嫨杞︿富锛�" prop="memberId"> @@ -148,8 +150,8 @@ }, getCompany() { companyGetList({ - model: {}, - capacity: 1000, + model: { },//鏈夊憳宸ョ殑鏁版嵁 + capacity: 10000, page: 1, }).then(res => { this.companyList = res.records || [] diff --git a/admin/src/components/business/OperaMemberWindow.vue b/admin/src/components/business/OperaMemberWindow.vue index fdc5fa7..2cc8ad5 100644 --- a/admin/src/components/business/OperaMemberWindow.vue +++ b/admin/src/components/business/OperaMemberWindow.vue @@ -5,8 +5,14 @@ <el-input v-model="form.name" placeholder="璇疯緭鍏ュ鍚�" v-trim /> </el-form-item> <el-form-item label="鎵�灞炵粍缁�" prop="companyId"> - <el-cascader v-model="form.company" :options="department" @change="handleChangeCompany" :show-all-levels="false" - clearable filterable :props="departprops"></el-cascader> +<!-- <el-cascader v-model="form.company" :options="department" @change="handleChangeCompany" :show-all-levels="false" + clearable filterable :props="departprops"></el-cascader>--> + <el-select v-model="form.companyId" clearable filterable placeholder="璇烽�夋嫨"> + <template v-for="item in companyList"> + <el-option v-if="item.countNum && item.countNum>0" :key="item.id" :label="item.companyNamePath" :value="item.id"> + </el-option> + </template> + </el-select> <div style="font-size: 12px;color: #F56C6C"> 娉細浠呮敮鎸侀�夋嫨 銆恵{ companyType === 0 ? '鐩稿叧鏂圭粍缁�' : '鍐呴儴缁勭粐' }}銆� </div> @@ -97,6 +103,7 @@ import { checkMobile, validIdCardNo, validIdCardNoNew } from '@/utils/form' import { allList } from '@/api/business/position' import { upload } from '@/api/system/common' +import {companyGetList} from "@/api/business/company"; export default { name: 'OperaCompanyWindow', extends: BaseOpera, @@ -124,6 +131,7 @@ companyType: 0, department: [], positionList: [], + companyList: [], // 琛ㄥ崟鏁版嵁 form: { id: null, @@ -161,6 +169,16 @@ }) }, methods: { + getCompany() { + companyGetList({ + model: {type:this.companyType } , + capacity: 10000, + page: 1, + }).then(res => { + this.companyList = res.records || [] + + }) + }, openCamera() { this.paisheModal = true this.isShowCamera = true @@ -314,7 +332,8 @@ faceImgFull: '' } this.companyType = companyType - this.getPositionList() + this.getCompany() + // this.getPositionList() // 鏂板缓 if (target == null) { this.$nextTick(() => { @@ -322,6 +341,8 @@ this.form[this.configData['field.id']] = null this.form.company = [] }) + + this.getCompany() return } // 缂栬緫 diff --git a/admin/src/components/operation/HiddenDangerParam.vue b/admin/src/components/operation/HiddenDangerParam.vue index babe186..ab8e973 100644 --- a/admin/src/components/operation/HiddenDangerParam.vue +++ b/admin/src/components/operation/HiddenDangerParam.vue @@ -151,7 +151,7 @@ this.initData() }, methods: { - + initData () { allList({ type: 1 }).then(res => { // 绫诲瀷 this.typeList = res || [] @@ -173,9 +173,12 @@ const { companyId } = this.param this.$set(this.param, 'areaId', '') this.$set(this.param, 'checkUserId', '') - allList({ type: 0,companyId }).then(res => { // 浣嶇疆 - this.addrList = res || [] - }) + this.addrList = [] + if(companyId){ + allList({ type: 0,companyId }).then(res => { // 浣嶇疆 + this.addrList = res || [] + }) + } }, changeArea (e) { const item = this.addrList.find(i => i.id === e) diff --git a/admin/src/layouts/TableLayout.vue b/admin/src/layouts/TableLayout.vue index 74eba3f..77c558e 100644 --- a/admin/src/layouts/TableLayout.vue +++ b/admin/src/layouts/TableLayout.vue @@ -108,7 +108,7 @@ .table-content { padding: 0 16px; .table-wrap { - padding: 16px 16px 0 16px; + padding: 16px 16px 60px 16px; background: #fff; // 宸ュ叿鏍� .toolbar { @@ -156,6 +156,14 @@ .table-pagination { padding: 16px 0; text-align: left; + display: block; + z-index: 100; + width: -webkit-fill-available; + /* width: 80%; */ + position: fixed; + bottom: 30px; + background-color: white; + margin-right: 50px; } } } diff --git a/admin/src/layouts/TableLayout1.vue b/admin/src/layouts/TableLayout1.vue index 56992b0..461cc85 100644 --- a/admin/src/layouts/TableLayout1.vue +++ b/admin/src/layouts/TableLayout1.vue @@ -112,7 +112,7 @@ .table-content { /*padding: 0 16px;*/ .table-wrap { - padding: 16px 16px 0 16px; + padding: 16px 16px 60px 16px; background: #fff; // 宸ュ叿鏍� .toolbar { @@ -160,6 +160,14 @@ .table-pagination { padding: 16px 0; text-align: left; + display: block; + z-index: 100; + width: -webkit-fill-available; + /* width: 80%; */ + position: fixed; + bottom: 30px; + background-color: white; + margin-right: 50px; } } } diff --git a/admin/src/views/business/device.vue b/admin/src/views/business/device.vue index e5d3caa..0ecbd96 100644 --- a/admin/src/views/business/device.vue +++ b/admin/src/views/business/device.vue @@ -39,7 +39,9 @@ <el-table-column prop="name" label="璁惧鍚嶇О"></el-table-column> <el-table-column prop="doorName" label="闂ㄧ鐐瑰悕绉�"></el-table-column> <el-table-column prop="regionPathName" label="鍖哄煙鍚嶇О"></el-table-column> +<!-- <el-table-column prop="doorNo" label="闂ㄧ鐐圭紪鍙�"></el-table-column> +--> <el-table-column prop="manufature" label="鍘傚晢"></el-table-column> <el-table-column prop="online" label="鍦ㄧ嚎鐘舵��"> <template slot-scope="{row}"> diff --git a/admin/src/views/business/internalMember.vue b/admin/src/views/business/internalMember.vue index 0b2d1f1..143355c 100644 --- a/admin/src/views/business/internalMember.vue +++ b/admin/src/views/business/internalMember.vue @@ -159,20 +159,20 @@ <div v-else>-</div> </template> </el-table-column> - <el-table-column prop="code" label="宸ュ彿" min-width="100px"></el-table-column> +<!-- <el-table-column prop="code" label="宸ュ彿" min-width="100px"></el-table-column> <el-table-column label="鍗$墖" min-width="80px"> <template slot-scope="{row}"> <el-button @click="$refs.cardOpeningRecord.open('寮�鍗¤褰�', row.id)" type="text">{{ row.memberCardCount || '0'}}</el-button> </template> - </el-table-column> + </el-table-column>--> <el-table-column prop="editorName" label="鎿嶄綔浜�" min-width="100px"></el-table-column> <el-table-column prop="editDate" label="鏈�鍚庢搷浣滄椂闂�" min-width="150px"></el-table-column> <el-table-column v-if="containPermissions(['business:member:update', 'business:member:delete', 'business:empower:create'])" label="鎿嶄綔" min-width="280" > <template slot-scope="{row}"> - <el-button type="text" icon="el-icon-edit" @click="$refs.OperaMemberWindow.open('缂栬緫鍛樺伐淇℃伅', row, department)" + <el-button type="text" icon="el-icon-edit" @click="$refs.OperaMemberWindow.open('缂栬緫鍛樺伐淇℃伅', row, department,searchForm.companyType)" v-permissions="['business:empower:update']">缂栬緫</el-button> <el-button type="text" icon="el-icon-plus" @click="empower(row.id)" v-permissions="['business:empower:create']">閲嶆柊鎺堟潈</el-button> diff --git a/admin/src/views/business/relativeMember.vue b/admin/src/views/business/relativeMember.vue index 98f1b72..db2e235 100644 --- a/admin/src/views/business/relativeMember.vue +++ b/admin/src/views/business/relativeMember.vue @@ -171,20 +171,20 @@ <div v-else>-</div> </template> </el-table-column> - <el-table-column prop="code" label="宸ュ彿" min-width="100px"></el-table-column> +<!-- <el-table-column prop="code" label="宸ュ彿" min-width="100px"></el-table-column> <el-table-column label="鍗$墖" min-width="80px"> <template slot-scope="{row}"> <el-button @click="$refs.cardOpeningRecord.open('寮�鍗¤褰�', row.id)" type="text">{{ row.memberCardCount || '0' }}</el-button> </template> - </el-table-column> + </el-table-column>--> <el-table-column prop="editorName" label="鎿嶄綔浜�" min-width="100px"></el-table-column> <el-table-column prop="editDate" label="鏈�鍚庢搷浣滄椂闂�" min-width="150px"></el-table-column> <el-table-column v-if="containPermissions(['business:member:update', 'business:member:delete', 'business:empower:create'])" label="鎿嶄綔" min-width="280" > <template slot-scope="{row}"> - <el-button type="text" icon="el-icon-edit" @click="$refs.OperaMemberWindow.open('缂栬緫鍛樺伐淇℃伅', row, department)" + <el-button type="text" icon="el-icon-edit" @click="$refs.OperaMemberWindow.open('缂栬緫鍛樺伐淇℃伅', row, department,searchForm.companyType)" v-permissions="['business:empower:update']">缂栬緫</el-button> <el-button type="text" icon="el-icon-plus" @click="empower(row.id)" v-permissions="['business:empower:create']">閲嶆柊鎺堟潈</el-button> diff --git a/admin/src/views/business/visits.vue b/admin/src/views/business/visits.vue index bfac6a3..f136dc0 100644 --- a/admin/src/views/business/visits.vue +++ b/admin/src/views/business/visits.vue @@ -61,7 +61,7 @@ <span v-else>-</span> </template> </el-table-column> - <el-table-column label="鏂藉伐浜哄憳" min-width="100px"> + <el-table-column label="鏄惁娑夊強鏂藉伐浣滀笟" min-width="100px"> <template slot-scope="{row}"> <span v-if="row.type == 0">鍚�</span> <span v-if="row.type == 1">鏄�</span> diff --git a/admin/src/views/meeting/bookings.vue b/admin/src/views/meeting/bookings.vue index c4443e1..f37b77c 100644 --- a/admin/src/views/meeting/bookings.vue +++ b/admin/src/views/meeting/bookings.vue @@ -101,14 +101,14 @@ <template slot-scope="{ row }"> <template> <el-button type="text" @click="$refs.operaBookingsDetailWindow.open('浼氳璇︽儏', row)">鏌ョ湅璇︽儏</el-button> - <el-button v-if="row.meetingStatus == '1' && row.creator === userInfo.id" type="text" + <el-button v-if="row.meetingStatus == '1' &&row.creator === userInfo.id " type="text" @click="$refs.operaBookingsWindow.open('缂栬緫浼氳棰勭害', row)">缂栬緫</el-button> <el-button type="text" - v-if="row.creator === userInfo.id && (row.meetingStatus == '1' || row.meetingStatus == '4')" + v-if="row.hasRole ==1 && (row.meetingStatus == '1' || row.meetingStatus == '4')" @click="handleStart(row)">寮�濮�</el-button> - <el-button type="text" v-if="row.creator === userInfo.id && row.meetingStatus == '2'" + <el-button type="text" v-if=" row.hasRole ==1&& row.meetingStatus == '2'" @click="handleEnd(row)">缁撴潫</el-button> - <el-button v-if="row.creator === userInfo.id && (row.meetingStatus == '1' || row.meetingStatus == '4')" + <el-button v-if="row.hasRole ==1 && (row.meetingStatus == '1' || row.meetingStatus == '4')" type="text" @click="cancelMeeting(row.id)">鎾ゅ洖</el-button> </template> <!-- <el-button v-else type="text" @click="deleteById(row)" v-permissions="['business:bookings:delete']">鍒犻櫎</el-button> --> diff --git a/admin/src/views/meeting/components/OperaBookingsDetailWindow.vue b/admin/src/views/meeting/components/OperaBookingsDetailWindow.vue index 2e7463d..1b0553b 100644 --- a/admin/src/views/meeting/components/OperaBookingsDetailWindow.vue +++ b/admin/src/views/meeting/components/OperaBookingsDetailWindow.vue @@ -21,13 +21,13 @@ <div class="item-title">浼氳鍐呭</div> <div class="item-value">{{ form.content || "鏃�" }}</div> </div> - <div v-if="form.projectList.length" class="item"> + <div v-if="form.projectList && form.projectList.length" class="item"> <div class="">鏈嶅姟椤�</div> <div class="item-value"> {{ form.projectList.map((item) => item.projectName).join(" | ") }} </div> </div> - <div class="item" v-if="form.fileList.length"> + <div class="item" v-if="form.fileList && form.fileList.length"> <div class="item-title">闄勪欢</div> <div> <FileLink diff --git a/admin/src/views/meeting/components/OperaRoomsWindow.vue b/admin/src/views/meeting/components/OperaRoomsWindow.vue index a9a6d58..f850a63 100644 --- a/admin/src/views/meeting/components/OperaRoomsWindow.vue +++ b/admin/src/views/meeting/components/OperaRoomsWindow.vue @@ -1,16 +1,19 @@ <template> <GlobalAlertWindow v-loading="isUploading" :title="title" :visible.sync="visible" :confirm-working="isWorking" @confirm="confirm"> + <p class="tip-warn" v-if="form.id"><i class="el-icon-warning"></i>鎿嶄綔璇存槑锛�<br> + <span style="color: #e75314">濡傛灉褰撳墠浼氳瀹ゅ瓨鍦ㄦ湭缁撴潫鐨勪細璁紝涓嶅厑璁告洿鏂板紑鏀炬椂闂村拰绮掑害鍒嗛挓锛屾彁浜ゅ悗寮�鏀炬椂闂村拰绮掑害鍒嗛挓淇敼涓嶇敓鏁堬紒</span> + </p> <el-form :model="form" ref="form" :rules="rules" label-width="120px" label-suffix="锛�"> <el-form-item label="浼氳瀹ゅ悕绉�" prop="name"> <el-input v-model="form.name" placeholder="璇疯緭鍏ヤ細璁鍚嶇О" :maxlength="10" v-trim /> </el-form-item> <el-form-item label="寮�鏀炬椂闂�" prop="timeRange"> - <el-time-picker is-range value-format="HH:mm" format="HH:mm" v-model="timeRange" range-separator="鑷�" + <el-time-picker is-range value-format="HH:mm" :disabled=" form.bookingNum && form.bookingNum>0" format="HH:mm" v-model="timeRange" range-separator="鑷�" start-placeholder="寮�濮嬫椂闂�" end-placeholder="缁撴潫鏃堕棿" placeholder="閫夋嫨鏃堕棿鑼冨洿" @change="selectRange"></el-time-picker> </el-form-item> <el-form-item label="绮掑害鍒嗛挓" prop="intervalTime"> - <el-input v-model="form.intervalTime" type="number" placeholder="璇疯緭鍏ユ椂闂寸矑搴︼紙鍒嗛挓锛�" v-trim /> + <el-input v-model="form.intervalTime" type="number" :disabled="form.bookingNum && form.bookingNum>0" placeholder="璇疯緭鍏ユ椂闂寸矑搴︼紙鍒嗛挓锛�" v-trim /> </el-form-item> <el-form-item label="瀹圭撼浜烘暟" prop="limitNum"> <el-input v-model="form.limitNum" type="number" placeholder="璇疯緭鍏ュ绾充汉鏁�" v-trim /> @@ -111,7 +114,8 @@ imgFullUrl: '', tips: '', status: 0, - intervalTime: 0 + intervalTime: 0, + bookingNum: 0, }, user: [], projectList: [], diff --git a/admin/src/views/meeting/rooms.vue b/admin/src/views/meeting/rooms.vue index 9742cab..b961a54 100644 --- a/admin/src/views/meeting/rooms.vue +++ b/admin/src/views/meeting/rooms.vue @@ -5,7 +5,7 @@ <el-form-item label="浼氳瀹ゅ悕绉�" prop="name"> <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ュ悕绉�" @keypress.enter.native="search"></el-input> </el-form-item> - <el-form-item label="绠$悊鍛�" prop="sysList"> +<!-- <el-form-item label="绠$悊鍛�" prop="sysList"> <el-select v-model="searchForm.sysList" filterable @@ -20,10 +20,10 @@ :value="item.id" :label="item.companyId?`${item.realname}-${item.companyName}`:item.realname" ></el-option> - <!-- :label="`${item.department.name}-${item.realname}`" --> - <!-- <el-option :key="1" :value="1" label="绂佺敤" /> --> + <!– :label="`${item.department.name}-${item.realname}`" –> + <!– <el-option :key="1" :value="1" label="绂佺敤" /> –> </el-select> - </el-form-item> + </el-form-item>--> <section> <el-button type="primary" @click="search">鎼滅储</el-button> diff --git a/admin/src/views/operation/danger/record.vue b/admin/src/views/operation/danger/record.vue index a685a96..c4a4062 100644 --- a/admin/src/views/operation/danger/record.vue +++ b/admin/src/views/operation/danger/record.vue @@ -78,6 +78,7 @@ <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> <el-table-column prop="categoryName" label="闅愭偅绫诲瀷" min-width="150px"></el-table-column> + <el-table-column prop="content" label="闂鎻忚堪" min-width="150px"></el-table-column> <el-table-column prop="memberName" label="鎻愭姤浜�" min-width="80px"></el-table-column> <el-table-column prop="companyName" label="鎵�灞炵粍缁�" min-width="150px"></el-table-column> <el-table-column prop="createDate" label="鎻愭姤鏃堕棿" min-width="150px"></el-table-column> @@ -88,7 +89,10 @@ <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 prop="dealTime" 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="180" diff --git a/admin/src/views/task/visSubDetail.vue b/admin/src/views/task/visSubDetail.vue index d9f19b2..c172862 100644 --- a/admin/src/views/task/visSubDetail.vue +++ b/admin/src/views/task/visSubDetail.vue @@ -37,7 +37,7 @@ <div class="value">{{ info.carNos }}</div> </div> <div class="item"> - <div class="label">鏂藉伐浜哄憳</div> + <div class="label">鏄惁娑夊強鏂藉伐浣滀笟</div> <div class="value">{{ info.type == "0" ? "鍚�" : "鏄�" }}</div> </div> <div class="item"> 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 98927c3..55b465e 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 @@ -140,10 +140,16 @@ @ApiModelProperty(value = "userId") @TableField(exist = false) private Integer userId ; + @ApiModelProperty(value = "鏄惁鍏锋湁鎿嶄綔鏉冮檺(寮�濮嬨�佺粨鏉熴�佹挙鍥烇級") + @TableField(exist = false) + private Integer hasRole ; @ApiModelProperty(value = "鍙備細浜哄憳") @TableField(exist = false) private List<UserRel> sysList; + @ApiModelProperty(value = "浼氳瀹ょ鐞嗗憳") + @TableField(exist = false) + private List<UserRel> adminList; @ApiModelProperty(value = "鏈嶅姟椤圭洰") @TableField(exist = false) diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Rooms.java b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Rooms.java index 16dc743..eb49449 100644 --- a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Rooms.java +++ b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Rooms.java @@ -112,6 +112,9 @@ @ApiModelProperty(value = "鍥剧墖鍏ㄨ矾寰�") @TableField(exist = false) private String imgFullUrl; + @ApiModelProperty(value = "鏈粨鏉熶細璁褰曟暟") + @TableField(exist = false) + private Integer bookingNum; @ApiModelProperty(value = "闄勪欢鏂囦欢") @TableField(exist = false) 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 15bcc39..a97b557 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 @@ -42,6 +42,7 @@ import com.doumee.service.business.ProjectsService; import com.doumee.service.system.SystemUserService; import com.github.yulichang.wrapper.MPJLambdaWrapper; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.springframework.beans.BeanUtils; @@ -69,6 +70,7 @@ * @date 2023/05/04 18:18 */ @Service +@Slf4j public class BookingsServiceImpl implements BookingsService { @Value("${des_pwd}") @@ -627,20 +629,31 @@ //鍙備細浜哄憳鍒楄〃 MPJLambdaWrapper<UserRel> urquery = new MPJLambdaWrapper<>(); urquery.selectAll(UserRel.class); + urquery.eq(UserRel::getObjType, MeetConstants.ONE); urquery.eq(UserRel::getIsdeleted, MeetConstants.ZERO); urquery.eq(UserRel::getObjId, s.getId()); urquery.select("(select REALNAME from system_user s where t.USER_ID = s.id and s.DELETED = 0 ) as realName"); List<UserRel> userrelList = userRelJoinMapper.selectJoinList(UserRel.class, urquery); s.setSysList(userrelList); + //浼氳瀹ょ鐞嗗憳 + MPJLambdaWrapper<UserRel> param = new MPJLambdaWrapper<>(); + urquery.selectAll(UserRel.class); + urquery.eq(UserRel::getObjType, MeetConstants.ZERO); + urquery.eq(UserRel::getIsdeleted, MeetConstants.ZERO); + urquery.eq(UserRel::getObjId, s.getRoomId()); + List<UserRel> adminList = userRelJoinMapper.selectJoinList(UserRel.class, urquery); + s.setAdminList(adminList); - //鏈嶅姟椤� + //鏌ヨ鏄惁鏈夋潈闄� + s.setHasRole(getHasRoleByParam(s,userInfo,adminList)); + /* //鏈嶅姟椤� MPJLambdaWrapper<ProjectRel> prquery = new MPJLambdaWrapper<>(); prquery.selectAll(ProjectRel.class); prquery.eq(ProjectRel::getIsdeleted, MeetConstants.ZERO); prquery.eq(ProjectRel::getObjId, s.getId()); prquery.select("(select p.name from meeting_projects p where t.PROJECT_ID = p.id and p.ISDELETED = 0 ) as projectName"); List<ProjectRel> prList = projectRelJoinMapper.selectJoinList(ProjectRel.class, prquery); - s.setProjectList(prList); + s.setProjectList(prList);*/ s.setFlag(MeetConstants.ZERO); if (System.currentTimeMillis() > s.getStartTime().getTime()) { @@ -650,7 +663,19 @@ }); return PageData.from(result); } - + public int getHasRoleByParam(Bookings s,LoginUserInfo userInfo,List<UserRel> adminList){ + if(Constants.equalsInteger(userInfo.getId(),s.getCreator()) ){ + return 1; + } + if(adminList!=null){ + for(UserRel u : adminList){ + if(Constants.equalsInteger(userInfo.getId(),u.getUserId()) ){ + return 1; + } + } + } + return 0; + } private void dealMeetingStatusByModel(Bookings s,Integer minute) { //浼氳鐘舵��: 1=鏈紑濮嬶紱2=杩涜涓紱3=宸茬粨鏉� ; 4=鍗冲皢寮�濮�; 5=宸叉挙閿� //status鐘舵�� 0宸查绾� 1宸叉挙閿� 2宸茬粨鏉� @@ -1295,7 +1320,7 @@ .eq(UserRel::getObjType,Constants.ZERO) .eq(UserRel::getUserId,businessOverDTO.getUserId())); - if (!bookings.getCreator().equals(businessOverDTO.getUserId()) && userRelList <= 0) { + if (!Constants.equalsInteger(bookings.getCreator(),businessOverDTO.getUserId()) && userRelList <= 0) { throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "闈炰綘鐨勯绾﹁褰�,鏃犳硶杩涜璇ユ搷浣�"); } if(!Constants.equalsInteger(bookings.getStatus(),Constants.ZERO)){ @@ -1346,7 +1371,7 @@ bookings.setEditDate(new Date()); bookings.setEditor(businessOverDTO.getUserId()); bookingsMapper.updateById(bookings); - /* //鏇存柊宸茬粨鏉熶絾鏈粨鏉熺殑浼氳淇℃伅涓哄凡缁撴潫 + //鏇存柊宸茬粨鏉熶絾鏈粨鏉熺殑浼氳淇℃伅涓哄凡缁撴潫 bookingsMapper.update(null,new UpdateWrapper<Bookings>() .lambda() .set(Bookings::getStatus,Constants.TWO) @@ -1355,7 +1380,7 @@ .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()) - );*/ + ); } @@ -1390,23 +1415,6 @@ response.setMultifileList(multifileList); } - -/* //鏌ヨ浼氳鍒楄〃 - List<MeetingListResponse> meetingList = bookingsMapper.meetingList( - new QueryWrapper<Bookings>() - .eq( "b.id", rooms.getId()) - .eq("b.ISDELETED",MeetConstants.ZERO) - .eq("b.STATUS",MeetConstants.ZERO) - .eq("a.ISDELETED",MeetConstants.ZERO) - .eq("a.status",Constants.ZERO) - .ne("a.status",Constants.TWO) - .like("a.start_time",DateUtil.getCurrDate()) - .apply(" not exists ( select 1 from meeting_book mb where mb.END_TIME < now() and mb.id = a.id and START_TIME_REAL is null ) ") - .orderByAsc("a.start_time") - ); - this.dealMeetingStatus(meetingList); - response.setMeetingListResponseList(meetingList);*/ - MPJLambdaWrapper<Bookings> queryWrapper = new MPJLambdaWrapper<Bookings>() .selectAll(Bookings.class) .selectAs(Rooms::getName, Bookings::getRoomName) @@ -1416,14 +1424,15 @@ .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(Bookings::getStatus, MeetConstants.ZERO) .eq(Rooms::getId, rooms.getId()) - .apply("to_days(t.start_time) = to_days(now())")//瀛愭煡璇㈠綋澶╃殑 - .orderByDesc(Bookings::getStartTime); + .apply("to_days(t.start_time) = to_days(now()) and t.end_time > now()")//瀛愭煡璇㈠綋澶╃殑 + .orderByAsc(Bookings::getStartTime); Integer minute =getNearStartMinut(); List<Bookings> meetingList =bookingsMapper.selectJoinList(Bookings.class,queryWrapper); + List<MeetingListResponse> rList= new ArrayList<>(); if(meetingList!=null){ - response.setMeetingListResponseList(new ArrayList<>()); + log.error(JSONObject.toJSONString(meetingList)); for(Bookings s : meetingList){ dealMeetingStatusByModel(s,minute); MeetingListResponse d = new MeetingListResponse(); @@ -1440,9 +1449,10 @@ d.setMeetingName(s.getName()); d.setRemark(s.getRemark()); d.setStartTime(s.getStartTime()); - response.getMeetingListResponseList().add(d); + rList.add(d); } } + response.setMeetingListResponseList(rList); return response; } diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/RoomsServiceImpl.java b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/RoomsServiceImpl.java index 82efd00..0962f78 100644 --- a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/RoomsServiceImpl.java +++ b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/RoomsServiceImpl.java @@ -387,6 +387,7 @@ // .set(Rooms::getStartTime, rooms.getStartTime()) .set(Rooms::getLimitNum, rooms.getLimitNum()) .set(Rooms::getTips, rooms.getTips()) + .set(Rooms::getIntervalTime, rooms.getIntervalTime()) .set(Rooms::getImgurl, rooms.getImgurl()) .eq(Rooms::getId, rooms.getId())); @@ -420,7 +421,7 @@ rooms.setEndTime(DateUtil.formatDate(endtime.getTime(), "yyyy-MM-dd HH:mm:ss")); - //TODO 鏇存柊浼氳瀹ゆ椂闂存 + //TODO鏇� 鏂颁細璁鏃堕棿娈� if (!Constants.equalsInteger(re, Constants.ONE)) { updateRoomTimes(rooms, user); } @@ -491,9 +492,8 @@ IPage<Rooms> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); MPJLambdaWrapper<Rooms> queryWrapper = new MPJLambdaWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); - queryWrapper.selectAll(Rooms.class); - + queryWrapper.select("(select count(a.id) from meeting_book a where a.room_id=t.id and a.isdeleted=0 and a.status=0)",Rooms::getBookingNum); queryWrapper.orderByDesc(Rooms::getCreateDate); queryWrapper.eq(Rooms::getIsdeleted, Constants.ZERO); queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getName()),Rooms::getName, pageWrap.getModel().getName()); @@ -501,7 +501,6 @@ if(org.apache.commons.collections4.CollectionUtils.isNotEmpty(pageWrap.getModel().getSysList())){ // queryWrapper.leftJoin(UserRel.class,UserRel::getObjId,Rooms::getId); List<Integer> collect = pageWrap.getModel().getSysList().stream().map(UserRel::getUserId).collect(Collectors.toList()); - queryWrapper.exists("select u.id from meeting_user_rel u where u.ISDELETED=0 and u.OBJ_ID =t.id and u.USER_ID in (" + StringUtils.strip(collect.toString(),"[]")+" )"); } diff --git a/server/system_service/src/main/java/com/doumee/api/BaseController.java b/server/system_service/src/main/java/com/doumee/api/BaseController.java index 6386efc..b335103 100644 --- a/server/system_service/src/main/java/com/doumee/api/BaseController.java +++ b/server/system_service/src/main/java/com/doumee/api/BaseController.java @@ -60,10 +60,17 @@ } public List<Integer> getIdList(String ids){ + if(StringUtils.isBlank(ids)){ + return null; + } String [] idArray = ids.split(","); List<Integer> idList = new ArrayList<>(); for (String id : idArray) { - idList.add(Integer.valueOf(id)); + try { + idList.add(Integer.valueOf(id)); + }catch (Exception e){ + + } } return idList; } 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 2a1305d..16072d0 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 @@ -88,7 +88,7 @@ }catch (Exception e){ }*/ } else { - throw new BusinessException(ResponseStatus.NO_LOGIN.getCode(),request.getRequestURI()+"鏈櫥褰�"); + throw new BusinessException(ResponseStatus.NO_LOGIN.getCode(),request.getRequestURI()+"鏈櫥褰曪紝TOKEN缂哄け"); } } }else{ @@ -130,11 +130,11 @@ 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(),"鐢ㄦ埛鐧婚檰宸插け鏁堬紝璇烽噸鏂扮櫥闄嗭紒"); } + stringRedisTemplate.expire(Constants.REDIS_TOKEN_KEY+token,this.expireTime, TimeUnit.MILLISECONDS); //鏉冮檺鍒ゆ柇------------ return user; } 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 2b7b0ad..b66f5bf 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 @@ -752,6 +752,10 @@ PT_FK(1,"鏅�氳瀹�"), NB_FK(2,"鍐呴儴浜哄憳"), + COMPANY_TYPE_REL(0,"鐩稿叧鏂圭粍缁�"), + COMPANY_TYPE_INTERNAL(1,"鍐呴儴浜哄憳"), + COMPANY_TYPE_FK(3,"璁垮"), + /** 杩涘満绫诲瀷 **/ OUT(0,"鍑�"), IN(1,"杩�"); diff --git a/server/system_service/src/main/java/com/doumee/dao/timer/scheduler/QuartzManage.java b/server/system_service/src/main/java/com/doumee/dao/timer/scheduler/QuartzManage.java index 357ab0f..e19936c 100644 --- a/server/system_service/src/main/java/com/doumee/dao/timer/scheduler/QuartzManage.java +++ b/server/system_service/src/main/java/com/doumee/dao/timer/scheduler/QuartzManage.java @@ -41,9 +41,11 @@ public CronTrigger getCronTrigger (Integer jobId){ try { return (CronTrigger) this.scheduler.getTrigger(getTriggerKey(jobId)) ; - } catch (SchedulerException e){ - throw new RuntimeException("getCronTrigger Fail",e) ; + }catch (Exception e){ + e.printStackTrace(); +// throw new RuntimeException("createJob Fail",e) ; } + return null; } /** @@ -69,8 +71,9 @@ scheduler.scheduleJob(jobDetail,trigger) ; // 鐘舵�佹牎楠� checkStop(quartzJob) ; - } catch (SchedulerException e){ - throw new RuntimeException("createJob Fail",e) ; + } catch (Exception e){ + e.printStackTrace(); +// throw new RuntimeException("createJob Fail",e) ; } } @@ -93,8 +96,9 @@ scheduler.rescheduleJob(triggerKey, trigger); // 鐘舵�佹牎楠� checkStop(quartzJob) ; - } catch (SchedulerException e) { - throw new RuntimeException("updateJob Fail",e) ; + }catch (Exception e){ + e.printStackTrace(); +// throw new RuntimeException("createJob Fail",e) ; } } @@ -128,8 +132,9 @@ JobDataMap dataMap = new JobDataMap() ; dataMap.put(QuartzJob.JOB_PARAM_KEY,quartzJob); this.scheduler.triggerJob(getJobKey(quartzJob.getId()),dataMap); - } catch (SchedulerException e){ - throw new RuntimeException("run Fail",e) ; + } catch (Exception e){ + e.printStackTrace(); +// throw new RuntimeException("createJob Fail",e) ; } } @@ -141,8 +146,9 @@ if(quartzJob.getState() != JobState.JOB_RUN.getStatus()){ this.scheduler.pauseJob(getJobKey(quartzJob.getId())); } - } catch (SchedulerException e){ - throw new RuntimeException("pauseJob Fail",e) ; + } catch (Exception e){ + e.printStackTrace(); +// throw new RuntimeException("createJob Fail",e) ; } } diff --git a/server/system_service/src/main/java/com/doumee/service/timer/QuartzJobService.java b/server/system_service/src/main/java/com/doumee/service/timer/QuartzJobService.java index c765b7f..b2e0c19 100644 --- a/server/system_service/src/main/java/com/doumee/service/timer/QuartzJobService.java +++ b/server/system_service/src/main/java/com/doumee/service/timer/QuartzJobService.java @@ -41,6 +41,11 @@ * 鏂板浠诲姟 */ public int insert(QuartzJob quartzJob) { + if(quartzJobMapper.selectCount(new QueryWrapper<QuartzJob>().lambda() + .eq(QuartzJob::getModule,quartzJob.getModule()) + .eq(QuartzJob::getBeanName,quartzJob.getBeanName())) >0){ + throw new BusinessException(ResponseStatus.DATA_EXISTS); + } int flag = quartzJobMapper.insert(quartzJob) ; if (flag > 0){ quartzManage.createJob(quartzJob) ; @@ -52,6 +57,12 @@ * 鏇存柊浠诲姟 */ public int update(QuartzJob quartzJob) { + if(quartzJobMapper.selectCount(new QueryWrapper<QuartzJob>().lambda() + .eq(QuartzJob::getModule,quartzJob.getModule()) + .ne(QuartzJob::getId,quartzJob.getId()) + .eq(QuartzJob::getBeanName,quartzJob.getBeanName())) >0){ + throw new BusinessException(ResponseStatus.DATA_EXISTS); + } int flag = quartzJobMapper.updateById(quartzJob); if (flag > 0){ quartzManage.updateJob(quartzJob); diff --git a/server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java b/server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java index 3e0284d..c6b666b 100644 --- a/server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java +++ b/server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java @@ -73,6 +73,9 @@ @ApiOperation("銆愯瀹㈢郴缁熴�戣瀹㈡暟鎹嵆灏嗚秴鏃堕璀�") @GetMapping("/timer/visit/visitTimeOut") ApiResponse visitTimeOut() ; + @ApiOperation("銆愯瀹㈢郴缁熴�戣瀹㈢敵璇峰緟瀹℃壒璁板綍鎴鏃堕棿宸茶繃鑷姩鍙栨秷棰勭害") + @GetMapping("/timer/visit/visitNoCheckCancel") + ApiResponse visitNoCheckCancel() ; @ApiOperation("銆愭暟瀛楀寲鏈堝彴銆戞湀鍙板仠闈犺秴鏃舵姤璀︿笟鍔�") @GetMapping("/timer/platformJob/platformJobTimer") ApiResponse platformJobTimer(); diff --git a/server/system_timer/src/main/java/com/doumee/jobs/service/TimerBizSevice.java b/server/system_timer/src/main/java/com/doumee/jobs/service/TimerBizSevice.java index c427e2a..9fcb389 100644 --- a/server/system_timer/src/main/java/com/doumee/jobs/service/TimerBizSevice.java +++ b/server/system_timer/src/main/java/com/doumee/jobs/service/TimerBizSevice.java @@ -23,17 +23,23 @@ */ @PostConstruct public void init () { - LambdaQueryWrapper<QuartzJob> queryWrapper = new LambdaQueryWrapper<>() ; - queryWrapper.in(QuartzJob::getState, JobState.JOB_RUN.getStatus(),JobState.JOB_STOP.getStatus()); - List<QuartzJob> jobList = quartzJobMapper.selectList(queryWrapper); - jobList.forEach(quartzJob -> { - CronTrigger cronTrigger = quartzManage.getCronTrigger(quartzJob.getId()) ; - if (Objects.isNull(cronTrigger)){ - quartzManage.createJob(quartzJob); - } else { - quartzManage.updateJob(quartzJob); - } - }); + LambdaQueryWrapper<QuartzJob> queryWrapper = new LambdaQueryWrapper<>() ; + queryWrapper.in(QuartzJob::getState, JobState.JOB_RUN.getStatus(),JobState.JOB_STOP.getStatus()); + List<QuartzJob> jobList = quartzJobMapper.selectList(queryWrapper); + jobList.forEach(quartzJob -> { + try { + CronTrigger cronTrigger = quartzManage.getCronTrigger(quartzJob.getId()) ; + if (Objects.isNull(cronTrigger)){ + quartzManage.createJob(quartzJob); + } else { + quartzManage.updateJob(quartzJob); + } + }catch (Exception e){ + e.printStackTrace(); + } + }); + + } } diff --git a/server/visits/admin_timer/src/main/java/com/doumee/api/HkVisitTimerController.java b/server/visits/admin_timer/src/main/java/com/doumee/api/HkVisitTimerController.java index c89eeb4..a4d39cd 100644 --- a/server/visits/admin_timer/src/main/java/com/doumee/api/HkVisitTimerController.java +++ b/server/visits/admin_timer/src/main/java/com/doumee/api/HkVisitTimerController.java @@ -65,5 +65,11 @@ visitsService.syncTimeOutData(); return ApiResponse.success("璁垮鍗冲皢瓒呮椂棰勮"); } + @ApiOperation("寰呭鎵硅褰曡秴鏃惰嚜鍔ㄥ彇娑堥绾�") + @GetMapping("/visitNoCheckCancel") + public ApiResponse visitNoCheckCancel() { + visitsService.visitNoCheckCancel(); + return ApiResponse.success("寰呭鎵硅褰曡秴鏃惰嚜鍔ㄥ彇娑堥绾�"); + } } diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java index c81a174..05737bd 100644 --- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java +++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java @@ -138,6 +138,12 @@ public ApiResponse<List<PlatformGroup>> getPlatformGroupList (@RequestBody PlatformDataDTO platformDataDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ return ApiResponse.success(platformGroupService.getAllPlatformGroup(platformDataDTO,getLoginUser(token))); } + @ApiOperation("鑾峰彇鏈堝彴缁勪俊鎭�(骞冲彴绔級") + @PostMapping("/getPlatformGroupListNew") + @CloudRequiredPermission("business:platform:query") + public ApiResponse<List<PlatformGroup>> getPlatformGroupListNew (@RequestBody PlatformDataDTO platformDataDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ + return ApiResponse.success(platformGroupService.getAllPlatformGroup(platformDataDTO,getLoginUser(token))); + } @ApiOperation("鑾峰彇鏈堝彴浠诲姟淇℃伅") @GetMapping("/getPlatformWorkData") 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 c897310..0732768 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 @@ -75,7 +75,19 @@ @GetMapping("/updateTotalNum") @CloudRequiredPermission("business:platformjob:update") public ApiResponse updateTotalNum(@RequestParam String ids,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ - wmsService.computjobTotalNum(this.getIdList(ids)); + List<Integer> idList =this.getIdList(ids); + if(idList == null || idList.size()==0){ + idList = new ArrayList<>(); + PlatformJob param = new PlatformJob(); + param.setIsdeleted(Constants.ZERO); + param.setOrigin(Constants.ONE); + List<PlatformJob> list= platformJobService.findList(param); + + for(PlatformJob j :list){ + idList.add(j.getId()); + } + } + wmsService.computjobTotalNum(idList); return ApiResponse.success(null); } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConstants.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConstants.java index f558446..f5d6ad6 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConstants.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConstants.java @@ -30,6 +30,8 @@ String visitAuditSuccess = "visitAuditSuccess"; // 瀹℃壒椹冲洖缁欑敵璇蜂汉锛氱敵璇峰凡琚┏鍥� String visitAuditFail = "visitAuditFail"; + //鏂瑰彲鐢宠涓嬪彂澶辫触 + String visitApplyHkFail = "visitApplyHkFail"; // 缁欏鎵逛汉锛氱敵璇峰緟鎮ㄥ鎵� String visitWaitAudit = "visitWaitAudit"; } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java index 8b2fa0e..8821a42 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java @@ -82,7 +82,6 @@ private String personPhone; @ApiModelProperty(value = "浜哄憳绫诲瀷") - @ExcelColumn(name="浜哄憳绫诲瀷",index = 6,width = 10,valueMapping = "0=鍔冲姟璁垮;1=鏅�氳瀹�;2=鍐呴儴浜哄憳;") private Integer personType; @ApiModelProperty(value = "浜哄憳韬唤璇佸彿") @@ -96,7 +95,8 @@ private String visitCompanyName; @ApiModelProperty(value = "缁勭粐绫诲瀷锛�0=鐩稿叧鏂癸紱1=鍐呴儴") - private String companyType; + @ExcelColumn(name="浜哄憳绫诲瀷",index = 6,width = 10,valueMapping = "0=鐩稿叧鏂圭粍缁�;1=鍐呴儴浜哄憳;2=璁垮;") + private Integer companyType; @ApiModelProperty(value = "杞﹁締绫诲瀷 0鍐呴儴杞﹁締 1鐩稿叧鏂硅溅杈� 2璁垮杞﹁締 3鍐呰繍鐗╂祦杞� 4澶栧崗杞﹁締 5甯傚叕鍙稿嵏璐ц溅 ") private String carType; diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java index baf09d4..862e7ea 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java @@ -58,7 +58,7 @@ private Integer areaId; @ApiModelProperty(value = "鐘舵�� 0寰呭鐞� 1宸插鐞� 2涓嶅鐞�", example = "1") - @ExcelColumn(name="澶勭悊缁撴灉" ,valueMapping ="0=0寰呭鐞�;1=宸插鐞�;2=涓嶅鐞�;",index = 5,width = 6) + @ExcelColumn(name="澶勭悊缁撴灉" ,valueMapping ="0=0寰呭鐞�;1=宸插鐞�;2=涓嶅鐞�;",index = 6,width = 6) private Integer status; @ApiModelProperty(value = "鐢宠澶勭悊浜虹紪鐮�(鍏宠仈member)", example = "1") @@ -70,7 +70,7 @@ private Integer cateId; @ApiModelProperty(value = "鎯呭喌璇存槑") -// @ExcelColumn(name="鎯呭喌璇存槑") + @ExcelColumn(name="闂鎻忚堪",index = 3,width = 20) private String content; @ApiModelProperty(value = "鎻愭姤浜虹紪鐮侊紙鍏宠仈member锛�", example = "1") @@ -95,17 +95,18 @@ @ApiModelProperty(value = "鐢宠浜哄鍚�", example = "1") @TableField(exist = false) - @ExcelColumn(name="鎻愭姤浜哄鍚�",index =3,width = 6) + @ExcelColumn(name="鎻愭姤浜哄鍚�",index =4,width = 6) private String memberName; @ApiModelProperty(value = "鐢宠浜烘墍灞炵粍缁囧悕绉�", example = "1") @TableField(exist = false) - @ExcelColumn(name="鎵�灞炵粍缁�",index = 4) + @ExcelColumn(name="鎵�灞炵粍缁�",index = 5,width = 15) private String companyName; @ApiModelProperty(value = "璐d换閮ㄩ棬鍚嶇О", example = "1") @TableField(exist = false) @ExcelColumn(name="璐d换閮ㄩ棬鍚嶇О",index = 0,width = 10) private String dutyCompanyName; @ApiModelProperty(value = "鐢宠浜烘墜鏈哄彿", example = "1") + @TableField(exist = false) // @ExcelColumn(name="鐢宠浜烘墜鏈哄彿") private String memberPhone; @@ -144,12 +145,12 @@ @ApiModelProperty(value = "鎻愭姤鏃堕棿") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @ExcelColumn(name="鎻愭姤鏃堕棿",index = 6,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 18) + @ExcelColumn(name="鎻愭姤鏃堕棿",index = 7,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 18) private Date submitTime; @ApiModelProperty(value = "澶勭悊鏃堕棿锛堟暣鏀�/閫�鍥炰娇鐢級") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @ExcelColumn(name="澶勭悊鏃堕棿",index = 7 ,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 18) + @ExcelColumn(name="澶勭悊鏃堕棿",index = 8 ,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 18) private Date dealTime; @ApiModelProperty(value = "闄勪欢淇℃伅") diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java index 64f59a6..c9bbdcf 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java @@ -425,6 +425,7 @@ private Integer worktimeOutAlarmTime; + public void dealTime(){ if(Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.WAIT_CONFIRM.getKey()) || Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey()) ){ diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/CarEventVo.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/CarEventVo.java index c766c4c..6d93f74 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/CarEventVo.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/CarEventVo.java @@ -14,7 +14,7 @@ private String plateNos; @ApiModelProperty(value = "浜哄憳绫诲瀷") - @ExcelColumn(name="褰掑睘鐢ㄦ埛绫诲瀷") + @ExcelColumn(name="浜哄憳绫诲瀷") private String typeName; @ApiModelProperty(value = "濮撳悕") 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 3cfa501..3b9cfce 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 @@ -152,4 +152,5 @@ * 鍗冲皢瓒呮椂閫氱煡 */ void syncTimeOutData(); + void visitNoCheckCancel(); } 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 ddb1602..f039bff 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 @@ -286,16 +286,16 @@ carEventExcel.getRecords().stream().forEach(obj->{ CarEventVo vo = new CarEventVo(); vo.setEventTypeName(HKConstants.EventTypes.getName(obj.getEventType())) ; - if(null != obj.getPersonType()) { - if(Constants.ZERO == obj.getPersonType()){ - vo.setTypeName(Constants.Status.LW_FK.getDes()); - }else if(Constants.ONE == obj.getPersonType()) { - vo.setTypeName(Constants.Status.PT_FK.getDes()); - }else { - vo.setTypeName(Constants.Status.NB_FK.getDes()); + if(obj.getCompanyType() == null){ + obj.setCompanyType(Constants.THREE); + } + vo.setTypeName(Constants.Status.COMPANY_TYPE_FK.getDes()); + if(null != obj.getCompanyType()) { + if(Constants.ZERO == obj.getCompanyType()){ + vo.setTypeName(Constants.Status.COMPANY_TYPE_REL.getDes()); + }else if(Constants.ONE == obj.getCompanyType()) { + vo.setTypeName(Constants.Status.COMPANY_TYPE_INTERNAL.getDes()); } - }else { - vo.setTypeName(""); } vo.setPlateNos(obj.getPlateNos()); vo.setPersonName(obj.getPersonName()); diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java index 2612c9a..2c5ced4 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java @@ -131,24 +131,25 @@ } Date date = new Date(); //鍒犻櫎宸叉巿鏉冧笅鍙戠殑鍖呮湡鎺堟潈 - dealCancelBookBiz(car.getCode(),date); - Cars model = new Cars(); - model.setEditDate(date); - model.setEdirot(user.getId()); - model.setId(id); - model.setIsdeleted(Constants.ONE); + dealCancelBookBiz(car.getCode(),date,parkBookJoinMapper); +// Cars model = new Cars(); +// model.setEditDate(date); +// model.setEdirot(user.getId()); +// model.setId(id); +// model.setIsdeleted(Constants.ONE); carsMapper.update(null,new UpdateWrapper<Cars>().lambda() - .eq(Cars::getId,model.getId()) + .eq(Cars::getId,id) .set(Cars::getStartTime,null) .set(Cars::getEndTime,null) + .set(Cars::getAuthTimeType,null) .set(Cars::getAuthStatus,Constants.ZERO) .set(Cars::getIsdeleted,Constants.ONE) - .set(Cars::getEditDate,model.getEditDate()) - .set(Cars::getEdirot,model.getEdirot()) + .set(Cars::getEditDate,date) + .set(Cars::getEdirot,user.getId()) ); - carsMapper.updateById(model); +// carsMapper.updateById(model); } - public boolean dealCancelBookBiz(String code,Date date){ + public static boolean dealCancelBookBiz(String code,Date date,ParkBookMapper parkBookJoinMapper){ List<ParkBook> parkBooks = parkBookJoinMapper.selectJoinList(ParkBook.class,new MPJLambdaWrapper<ParkBook>() .selectAll(ParkBook.class ) @@ -310,7 +311,7 @@ model.setHkStatus(Constants.ZERO); model.setRemark(""); model.setAuthStatus(Constants.ZERO); - dealCancelBookBiz(car.getCode(),model.getEditDate()); + dealCancelBookBiz(car.getCode(),model.getEditDate(),parkBookJoinMapper); carsMapper.update(null,new UpdateWrapper<Cars>().lambda() .eq(Cars::getId,model.getId()) .set(Cars::getAuthStatus,Constants.ZERO) @@ -321,6 +322,7 @@ .set(Cars::getEditDate,model.getEditDate()) .set(Cars::getEdirot,model.getEdirot()) .set(Cars::getMemberId,model.getMemberId()) + .set(Cars::getAuthTimeType,null) .set(Cars::getStartTime,null) .set(Cars::getEndTime,null) ); diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java index 67cda58..0a6c8e1 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java @@ -44,13 +44,13 @@ if(loginUserInfo == null){ loginUserInfo = model.getLoginUserInfo(); } - if(hiddenDangerParamMapper.selectCount(new QueryWrapper<HiddenDangerParam>().lambda() + /* if(hiddenDangerParamMapper.selectCount(new QueryWrapper<HiddenDangerParam>().lambda() .eq(HiddenDangerParam::getType,model.getType()) .eq(HiddenDangerParam::getName,model.getName()) .eq(HiddenDangerParam::getIsdeleted,Constants.ZERO) )>Constants.ZERO){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ュ悕绉板凡瀛樺湪!"); - } + }*/ if(Constants.equalsInteger(model.getType(),Constants.ZERO)){ //濡傛灉鏄尯鍩熼厤缃� if(model.getCompanyId() == null){ @@ -130,14 +130,14 @@ if(hiddenDangerParam == null || Constants.equalsInteger(hiddenDangerParam.getIsdeleted(),Constants.ONE)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇ラ厤缃俊鎭笉瀛樺湪锛岃杩斿洖鍒锋柊椤甸潰閲嶈瘯锛�"); } - if(hiddenDangerParamMapper.selectCount(new QueryWrapper<HiddenDangerParam>().lambda() + /* if(hiddenDangerParamMapper.selectCount(new QueryWrapper<HiddenDangerParam>().lambda() .eq(HiddenDangerParam::getType,model.getType()) .eq(HiddenDangerParam::getName,model.getName()) .eq(HiddenDangerParam::getIsdeleted,Constants.ZERO) .ne(HiddenDangerParam::getId,model.getId()) )>Constants.ZERO){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ュ悕绉板凡瀛樺湪!"); - } + }*/ if(Constants.equalsInteger(hiddenDangerParam.getType(),Constants.ZERO)){ //濡傛灉鏄尯鍩熼厤缃�,鏍¢獙瀹夊叏鍛樹俊鎭槸鍚︽纭� if(model.getCompanyId() == null){ 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 38577a8..b5e306a 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 @@ -434,7 +434,10 @@ if(userInfo!=null && userInfo.getCompanyIdList()!=null){ if( userInfo.getCompanyIdList().size() ==0){ //鍙兘鐪嬭嚜宸� - queryWrapper.eq(HiddenDanger::getCreator,userInfo.getId()); + queryWrapper.and(w->{ + w.eq(HiddenDanger::getCreator,userInfo.getId()).or(). + eq(HiddenDanger::getCheckUserId,userInfo.getId()); + }); }else{ queryWrapper.in("t1.company_id" ,userInfo.getCompanyIdList()); } 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 98d1e14..e994fcc 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 @@ -126,6 +126,10 @@ private TmsService tmsService; @Autowired private SystemUserMapper systemUserMapper; + @Autowired + private CarsMapper carsMapper; + @Autowired + private ParkBookMapper parkBookMapper; @Autowired @Lazy @@ -579,11 +583,13 @@ @Override @Transactional(rollbackFor = {BusinessException.class,Exception.class}) public void deleteById(Integer id,LoginUserInfo loginUserInfo) { + + Date date =new Date(); Member member=new Member(); member.setId(id); member.setIsdeleted(Constants.ONE); member.setEditor(loginUserInfo.getId()); - member.setEditDate(new Date()); + member.setEditDate(date); member.setHkStatus(Constants.ZERO); member.setRemark("浜哄憳宸插垹闄わ紝绛夊緟鍒犻櫎闂ㄧ鏉冮檺"); memberMapper.updateById(member); @@ -597,8 +603,30 @@ .set(SystemUser::getUpdateUser,member.getEditor()) .set(SystemUser::getUpdateTime,member.getEditDate()) ); - saveUserActionBiz(member,loginUserInfo,Constants.UserActionType.DELETE,userActionJoinMapper,JSONObject.toJSONString(member)); + List<Cars> carsList = carsMapper.selectList(new QueryWrapper<Cars>().lambda() + .eq(Cars::getMemberId,member.getId()) + .eq(Cars::getIsdeleted,Constants.ONE) + .eq(Cars::getAuthStatus,Constants.ONE)//宸叉巿鏉冨寘鏈熺殑杞﹁締 + ); + if ((carsMapper!=null && carsList.size()>0)){ + for(Cars car :carsList){ + if(Constants.equalsInteger(car.getAuthStatus(),Constants.ZERO)){ + Cars model = new Cars(); + carsMapper.update(null,new UpdateWrapper<Cars>().lambda() + .eq(Cars::getId,car.getId()) + .set(Cars::getStartTime,null) + .set(Cars::getEndTime,null) + .set(Cars::getAuthTimeType,null) + .set(Cars::getAuthStatus,Constants.ZERO) + .set(Cars::getEditDate,model.getEditDate()) + .set(Cars::getEdirot,model.getEdirot()) + ); + //鍒犻櫎宸叉巿鏉冧笅鍙戠殑鍖呮湡鎺堟潈 + CarsServiceImpl.dealCancelBookBiz(car.getCode(),date,parkBookMapper); + } + } + } } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformEventServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformEventServiceImpl.java index aa187e8..ac815f0 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformEventServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformEventServiceImpl.java @@ -222,6 +222,9 @@ String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.FTP,Constants.PLATFORM_EVENT_IMG).getCode(); for(PlatformEvent model : result.getRecords()){ + if(StringUtils.isNotBlank(model.getPlateNo())){ + model.setPlateNo(model.getPlateNo().replace("钃�", "").replace("榛�", "")); + } if(StringUtils.isNotBlank(model.getBackgroundImageDown())){ model.setBackgroundImageDown(prefixUrl + model.getBackgroundImageDown()); } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java index cebd0dd..4b2ede0 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java @@ -297,6 +297,11 @@ || Constants.equalsInteger(i.getPlatformGroupId(),platform.getGroupId()) ).collect(Collectors.toList()); if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformJobs)){ + for(PlatformJob i :platformJobList){ + if(Constants.equalsInteger(i.getOrigin(),Constants.ZERO)){ + i.setWmsContractNum(i.getContractNum()); + } + } platformWorkVO.setWorkNum( platformJobs.stream().filter(i->Constants.equalsInteger(i.getPlatformId(),platform.getId()) && Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())).collect(Collectors.toList()).size() ); 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 eb84711..af8fff4 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 @@ -1,6 +1,7 @@ package com.doumee.service.business.impl; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; @@ -365,7 +366,8 @@ .selectAs(Platform::getName,PlatformJob::getPlatformName) .selectAs(Platform::getWorkRate,PlatformJob::getWorkRate) .selectAs(PlatformWmsJob::getCarrierName,PlatformJob::getCarrierName) - .select(" case when t.total_num is null then ( select sum(pwd.IO_QTY) from platform_wms_detail pwd where pwd.JOB_ID = t.id ) else t.total_num end ioQty ") + .select(" (select GROUP_CONCAT(distinct(tt.contract_num )) from platform_wms_detail tt where tt.isdeleted=0 and tt.contract_num is not null and tt.job_id=t.id )as wmsContractNum") +// .select(" case when t.total_num is null then ( select sum(pwd.IO_QTY) from platform_wms_detail pwd where pwd.JOB_ID = t.id ) else t.total_num end ioQty ") .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId) .leftJoin(PlatformWmsJob.class,PlatformWmsJob::getCarryBillCode,PlatformJob::getBillCode) .leftJoin(PlatformBooks.class,PlatformBooks::getJobId,PlatformJob::getId) @@ -402,7 +404,10 @@ IPage<PlatformJob> platformJobIPage = platformJobJoinMapper.selectJoinPage(page,PlatformJob.class,queryWrapper); platformJobIPage.getRecords().forEach(i->{ i.dealTime(); - i.setTotalNum(i.getIoQty()); + if(Constants.equalsInteger(i.getOrigin(),Constants.ZERO)){ + i.setWmsContractNum(i.getContractNum()); + } +// i.setTotalNum(i.getIoQty()); // this.getWmsJobData(i); // this.queryWaitNum(i); }); @@ -1913,6 +1918,7 @@ .select(" ( select pl.CREATE_DATE from platform_log pl where t.id = pl.obj_id and pl.OBJ_TYPE = "+Constants.PlatformJobLogType.WORKING.getKey()+" order by pl.CREATE_DATE desc limit 1 ) as newStartDate ") .select(" ( select pl.CREATE_DATE from platform_log pl where t.id = pl.obj_id and pl.OBJ_TYPE = "+Constants.PlatformJobLogType.CALLED.getKey()+" order by pl.CREATE_DATE desc limit 1 ) as newCallDate ") .select(" case when t.total_num is null then ( select sum(pwd.IO_QTY) from platform_wms_detail pwd where pwd.JOB_ID = t.id ) else t.total_num end ioQty ") + .select(" (select GROUP_CONCAT(distinct(tt.contract_num )) from platform_wms_detail tt where tt.isdeleted=0 and tt.contract_num is not null and tt.job_id=t.id )as wmsContractNum") .selectAs(Platform::getName,PlatformJob::getPlatformName) .selectAs(Platform::getWorkRate,PlatformJob::getWorkRate) .selectAs(PlatformWmsJob::getCarrierName,PlatformJob::getCarrierName) @@ -1959,16 +1965,16 @@ ); //鏌ヨ浠婃棩瀹屾垚浠诲姟 platformOrderNumByDateResponse.setDoneNum( - platformJobMapper.selectCount(new QueryWrapper<PlatformJob>().lambda() + platformJobMapper.selectCount(new MPJLambdaWrapper<PlatformJob>() .eq(PlatformJob::getIsdeleted,Constants.ZERO) .like(PlatformJob::getDoneDate,queryDateStr) - .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey()) + .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey() + ,Constants.PlatformJobStatus.AUTHED_LEAVE.getKey() + ,Constants.PlatformJobStatus.LEAVED.getKey()) ) ); return platformOrderNumByDateResponse; } - - @Override public List<PlatformDataListResponse> platformWorkingDataList(PlatformDataListRequest param){ diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWarnEventServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWarnEventServiceImpl.java index f7816fe..dcadef0 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWarnEventServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWarnEventServiceImpl.java @@ -107,6 +107,7 @@ .selectAs(Platform::getName,PlatformWarnEvent::getPlatformName) .selectAs(Platform::getHkId,PlatformWarnEvent::getPlatfromHkId) .leftJoin(Platform.class,Platform::getId,PlatformWarnEvent::getPlatformId) + .orderByDesc(PlatformWarnEvent::getCreateDate) .last(" limit 20 ") ); List<PlatformWarnEventListResponse> list = new ArrayList<PlatformWarnEventListResponse>(); diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsJobServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsJobServiceImpl.java index a38e315..5753f76 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsJobServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsJobServiceImpl.java @@ -108,7 +108,7 @@ List<WmsJobContractVO> wmsJobContractVOList = new ArrayList<>(); for (String ioCode:ioCodeSet) { if(StringUtils.isBlank(ioCode)){ - continue; +// continue; } WmsJobContractVO wmsJobContractVO = new WmsJobContractVO(); wmsJobContractVO.setContractCode(ioCode); @@ -122,7 +122,7 @@ com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(wmsJobContractVO.getPlatformWmsDetailList())){ if(Constants.equalsInteger(platformWmsJob.getType(),Constants.ONE)){ if(Objects.isNull(wmsJobContractVO.getPlatformWmsDetailList().get(Constants.ZERO).getLockStatus())){ - wmsJobContractVO.setLockStatus(Constants.ZERO + wmsJobContractVO.setLockStatus(Constants.ZERO ); }else{ wmsJobContractVO.setLockStatus( diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java index 4c625f1..a7b6d61 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java @@ -266,16 +266,13 @@ for (Retention obj:retentionInfo.getRecords()) { RetentionVo vo = new RetentionVo(); vo.setCompanyName(obj.getCompanyName()); + vo.setTypeName(Constants.Status.COMPANY_TYPE_FK.getDes()); if(null != obj.getType()) { - if(Constants.ZERO == obj.getType()){ - vo.setTypeName(Constants.Status.LW_FK.getDes()); - }else if(Constants.ONE == obj.getType()) { - vo.setTypeName(Constants.Status.PT_FK.getDes()); - }else { - vo.setTypeName(Constants.Status.NB_FK.getDes()); + if(Constants.ZERO == obj.getCompanyType()){ + vo.setTypeName(Constants.Status.COMPANY_TYPE_REL.getDes()); + }else if(Constants.ONE == obj.getCompanyType()) { + vo.setTypeName(Constants.Status.COMPANY_TYPE_INTERNAL.getDes()); } - }else { - vo.setTypeName(""); } vo.setName(obj.getName()); vo.setPhone(obj.getPhone()); 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 49118e4..588beff 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 @@ -1882,6 +1882,25 @@ } + @Override + public void visitNoCheckCancel(){ + List<Visits> visitsList = visitsMapper.selectList(new QueryWrapper<Visits>().lambda() + .eq(Visits::getIsdeleted,Constants.ONE) + .eq(Visits::getStatus,Constants.VisitStatus.waitCheck) + .apply(" now() >= ENDTIME ") + ); + if(visitsList!=null){ + Date date =new Date(); + for(Visits s :visitsList){ + visitsMapper.update(null,new UpdateWrapper<Visits>().lambda() + .set(Visits::getIsdeleted,Constants.VisitStatus.cancel) + .set(Visits::getEditDate,date) + .set(Visits::getRemark,"棰勭害鎴鏃堕棿宸茶繃鏈鎵癸紝绯荤粺鑷姩鍙栨秷") + .eq(Visits::getId,s.getId())); + } + } + + } } 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 f356c7c..b88c838 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 @@ -25,9 +25,13 @@ import com.doumee.dao.business.model.Member; import com.doumee.dao.web.reqeust.SavePlatformWarnEventDTO; import com.doumee.service.business.impl.PlatformWarnEventServiceImpl; +import com.doumee.service.business.third.TmsService; +import com.doumee.service.business.third.model.request.TmsOrderInfoRequest; +import com.doumee.service.business.third.model.response.TmsOrderInfoResponse; import com.github.yulichang.wrapper.MPJLambdaWrapper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.checkerframework.checker.units.qual.C; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -80,6 +84,8 @@ private PlatformBroadcastLogMapper platformBroadcastLogMapper; @Autowired private PlatformJobMapper platformJobMapper; + @Autowired + private TmsService tmsService; @Autowired private PlatformWmsDetailMapper platformWmsDetailMapper; @Autowired @@ -901,7 +907,7 @@ Constants.PlatformJobStatus.TRANSFERING.getKey(), Constants.PlatformJobStatus.EXCEPTION.getKey() ) - )==Constants.ZERO){ + )==Constants.ZERO){//濡傛灉娌¤繘琛屼腑浠诲姟 PlatformJob platformJob = platformJobMapper.selectOne(new QueryWrapper<PlatformJob>().lambda() .eq(PlatformJob::getCarCodeFront,event.getPlateNos()) .eq(PlatformJob::getIsdeleted,Constants.ZERO) @@ -913,18 +919,14 @@ .last(" limit 1") ); if(Objects.nonNull(platformJob)){ - platformJob.setStatus(Constants.PlatformJobStatus.WAIT_CALL.getKey()); - platformJob.setArriveDate(new Date()); - platformJob.setSingType(Constants.TWO); - platformJob.setSignDate(new Date()); - List<PlatformJob> signList = platformJobMapper.selectList(new QueryWrapper<PlatformJob>().lambda().apply(" DATE(SIGN_DATE) = DATE(NOW()) and sign_date is not null ")); - if(CollectionUtils.isEmpty(signList)){ - platformJob.setSignNum(Constants.ONE); - } else{ - int maxNumber = Collections.max(signList.stream().map(i->i.getSignNum()).collect(Collectors.toList())); - platformJob.setSignNum(maxNumber + Constants.ONE); + if(Constants.equalsInteger(platformJob.getType(),Constants.ONE)){ + //濡傛灉鏄嚜鏈夎溅瑁呰揣鑷姩绛惧埌 + jobAutoSignBiz(platformJob); + }else if(Constants.equalsInteger(platformJob.getType(),Constants.ZERO)){ + //濡傛灉鏄嚜鏈夎溅鍗歌揣 鏌ヨTMS鍚堝悓鐘舵�侊紝鍐冲畾鏄惁鑷姩绛惧埌 + checkTmsContractStatusBiz(platformJob); } - platformJobMapper.updateById(platformJob); + } } }; @@ -956,6 +958,48 @@ return event; } + /** + * 锛涘鏋滄槸鍗歌揣浠诲姟锛岄渶瑕侀�氳繃TMS鎻愪緵鐨勨��2.2鍚堝悓鍒楄〃鎺ュ彛鈥濇帴鍙f煡璇㈣溅杈嗗搴旂殑鍚堝悓鐘舵�佹槸鍚︿负鍦ㄩ�旂姸鎬侊紙瀵瑰簲orderStatus鍊间负3/4/5/6锛夛紝 + * 濡傛灉鏄嚜鍔ㄧ鍒帮紝鍚﹀垯涓嶈嚜鍔ㄧ鍒帮紱濡傛灉涓�涓溅杈嗗搴斿涓悎鍚屽彿锛屽垯鍙栬繍鍗曚笅浠讳竴鍚堝悓鏌ヨ瀵瑰簲鍦ㄩ�斾俊鎭� + * @param platformJob + */ + private void checkTmsContractStatusBiz(PlatformJob platformJob) { + PlatformWmsDetail detail = platformWmsDetailMapper.selectOne(new QueryWrapper<PlatformWmsDetail>().lambda() + .eq(PlatformWmsDetail::getIsdeleted, Constants.ZERO) + .eq(PlatformWmsDetail::getJobId, platformJob.getId()) + .isNotNull(PlatformWmsDetail::getContractNum) + .last("limit 1") + ); + if(detail!=null && StringUtils.isNotBlank(detail.getContractNum())){ + TmsOrderInfoRequest param = new TmsOrderInfoRequest(); + param.setContractNumber(detail.getContractNum()); + TmsOrderInfoResponse response = tmsService.orderInfo(param); + if(response!=null &&( StringUtils.equals(response.getOrderStatus(),"3") ) + ||StringUtils.equals(response.getOrderStatus(),"4") + ||StringUtils.equals(response.getOrderStatus(),"5") + ||StringUtils.equals(response.getOrderStatus(),"6")){ + //濡傛灉鍚堝悓鍦ㄩ�旓紝鍒欒嚜鍔ㄧ鍒� + jobAutoSignBiz(platformJob); + } + } + + } + + private void jobAutoSignBiz(PlatformJob platformJob) { + platformJob.setStatus(Constants.PlatformJobStatus.WAIT_CALL.getKey()); + platformJob.setArriveDate(new Date()); + platformJob.setSingType(Constants.TWO); + platformJob.setSignDate(new Date()); + List<PlatformJob> signList = platformJobMapper.selectList(new QueryWrapper<PlatformJob>().lambda().apply(" DATE(SIGN_DATE) = DATE(NOW()) and sign_date is not null ")); + if(CollectionUtils.isEmpty(signList)){ + platformJob.setSignNum(Constants.ONE); + } else{ + int maxNumber = Collections.max(signList.stream().map(i->i.getSignNum()).collect(Collectors.toList())); + platformJob.setSignNum(maxNumber + Constants.ONE); + } + platformJobMapper.updateById(platformJob); + } + private Retention getRetentionModelByParkRequest(EventParkInfoRequest request,CarEvent event) { Retention retention = new Retention(); retention.setIsdeleted(Constants.ZERO); 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 8f2f689..e85c595 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 @@ -14,9 +14,11 @@ import com.doumee.core.utils.DESUtil; import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.ImageBase64Util; +import com.doumee.core.wx.wxPlat.WxPlatConstants; import com.doumee.core.wx.wxPlat.WxPlatNotice; import com.doumee.dao.business.DeviceRoleMapper; import com.doumee.dao.business.RetentionMapper; +import com.doumee.dao.business.WxNoticeConfigMapper; import com.doumee.dao.business.join.VisitsJoinMapper; import com.doumee.dao.business.model.DeviceRole; import com.doumee.dao.business.model.Member; @@ -40,14 +42,19 @@ public class HkSyncVisitServiceImpl extends HkSyncBaseServiceImpl { @Autowired private VisitsJoinMapper visitsMapper; + + + + @Autowired + private WxPlatNotice wxPlatNotice; + @Autowired + private WxNoticeConfigMapper wxNoticeConfigMapper; @Autowired private RetentionMapper retentionMapper; @Autowired private SystemDictDataBiz systemDictDataBiz; @Autowired private DeviceRoleMapper deviceRoleMapper; - @Autowired - private WxPlatNotice wxPlatNotice; /** * 鍚屾娴峰悍璁垮淇℃伅鏄惁宸茬绂荤姸鎬� */ @@ -312,6 +319,14 @@ // getUpdateModelByResponse(c,date,roleList,path); getUpdateModelByResponseIccm(c,date,roleList,path); visitsMapper.updateById(c); + //缁欑敵璇蜂汉鍙戦�佸井淇″叕浼楀彿 涓嬪彂鏉冮檺澶辫触 + if(StringUtils.isNotBlank(c.getOpenid()) && Constants.equalsInteger(c.getStatus(),Constants.VisitStatus.xfFail)){ + wxPlatNotice.sendVisitTemplateNotice(systemDictDataBiz, + wxNoticeConfigMapper,c, WxPlatConstants.visitContent.visitApplyHkFail, + systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(), + Arrays.asList(c.getOpenid().split(",")) + ); + } } }catch (Exception e){ e.printStackTrace(); 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 b5f6916..b04182f 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 @@ -310,8 +310,8 @@ if(details.size()>0){ platformWmsDetailMapper.insert(details); } + list.setJobIdList(jobIdList); if(jobList.size()>0){ - list.setJobIdList(jobIdList); startEndNoticeToDriver(jobList); } }catch (Exception e){ @@ -495,7 +495,6 @@ job.setContractNum(param.getContractNum()); job.setDriverPhone(param.getDriverPhone()); job.setDriverName(param.getDriverName()); -// job.setOrigin(Constants.ONE); platformWmsJobMapper.insert(job); } jobIdList.add(job.getId()); @@ -532,8 +531,8 @@ if(details.size()>0){ platformWmsDetailMapper.insert(details); } + list.setJobIdList(jobIdList); if(jobList.size()>0){ - list.setJobIdList(jobIdList); startEndNoticeToDriver(jobList); } }catch (Exception e){ @@ -723,14 +722,14 @@ .eq(PlatformWmsDetail::getIsdeleted, Constants.ZERO)); if(details!=null && details.size()>0){ for(PlatformWmsDetail d :details){ - num.add(Constants.formatBigdecimal(d.getIoQty())); + num = num.add(Constants.formatBigdecimal(d.getIoQty())); } - platformJobMapper.update(null,new UpdateWrapper<PlatformJob>().lambda() - .set(PlatformJob::getTotalNum,num) - .eq(PlatformJob::getOrigin, Constants.ZERO) - .eq(PlatformJob::getId, jobId)); - } + } + platformJobMapper.update(null,new UpdateWrapper<PlatformJob>().lambda() + .set(PlatformJob::getTotalNum,num) + .eq(PlatformJob::getOrigin, Constants.ONE) + .eq(PlatformJob::getId, jobId)); } } /** -- Gitblit v1.9.3