From 17d3a171569b150cae8c240e69e4969e0ae34b03 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 14 八月 2024 11:44:45 +0800
Subject: [PATCH] 最新版本
---
server/system_service/src/main/java/com/doumee/core/utils/Constants.java | 134 ++++++++
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Platform.java | 21 +
admin/src/components/business/OperaPlatformWindow.vue | 142 +++++++++
admin/src/api/platform/platform.js | 49 +++
server/visits/admin_timer/src/main/resources/bootstrap.yml | 2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java | 1
server/visits/dmvisit_admin/src/main/resources/bootstrap.yml | 2
server/visits/admin_timer/src/main/java/com/doumee/api/HkPlatformTimerController.java | 31 ++
admin/src/views/platform/platform.vue | 143 +++++++++
server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java | 3
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ext/HkSyncService.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/HkSyncController.java | 29 +
admin/src/components/common/SearchFormCollapse.vue | 11
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/PlatformListInfoResponse.java | 17
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java | 20 +
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java | 6
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java | 4
server/system_gateway/src/main/resources/application.yml | 4
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsJobServiceImpl.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPlatformsServiceImpl.java | 231 +++++++++++++++
21 files changed, 822 insertions(+), 34 deletions(-)
diff --git a/admin/src/api/platform/platform.js b/admin/src/api/platform/platform.js
new file mode 100644
index 0000000..be5bd9e
--- /dev/null
+++ b/admin/src/api/platform/platform.js
@@ -0,0 +1,49 @@
+import request from '../../utils/request'
+
+// 鏌ヨ
+export function fetchList (data) {
+ return request.post('/visitsAdmin/cloudService/business/platform/page', data, {
+ trim: true
+ })
+}
+
+// 鍚屾
+export function syncPlatforms (data) {
+ return request.post('/visitsAdmin/cloudService/business/hksync/syncPlatforms', data)
+}
+// 鍚屾
+export function syncPlatformStatus (data) {
+ return request.post('/visitsAdmin/cloudService/business/hksync/syncPlatformStatus', data)
+}
+
+// 瀵煎嚭Excel
+export function exportExcel (data) {
+ return request.post('/visitsAdmin/cloudService/business/platform/exportExcel', data, {
+ trim: true,
+ download: true
+ })
+}
+
+// 鍒涘缓
+export function create (data) {
+ return request.post('/visitsAdmin/cloudService/business/platform/create', data)
+}
+
+// 淇敼
+export function updateById (data) {
+ return request.post('/visitsAdmin/cloudService/business/platform/updateById', data)
+}
+
+// 鍒犻櫎
+export function deleteById (id) {
+ return request.get(`/visitsAdmin/cloudService/business/platform/delete/${id}`)
+}
+
+// 鎵归噺鍒犻櫎
+export function deleteByIdInBatch (ids) {
+ return request.get('/visitsAdmin/cloudService/business/platform/delete/batch', {
+ params: {
+ ids
+ }
+ })
+}
diff --git a/admin/src/components/business/OperaPlatformWindow.vue b/admin/src/components/business/OperaPlatformWindow.vue
new file mode 100644
index 0000000..753000b
--- /dev/null
+++ b/admin/src/components/business/OperaPlatformWindow.vue
@@ -0,0 +1,142 @@
+<template>
+ <GlobalWindow
+ :title="title"
+ :visible.sync="visible"
+ :confirm-working="isWorking"
+ @confirm="confirm"
+ >
+ <el-form :model="form" ref="form" :rules="rules">
+ <el-form-item label="鍒涘缓浜虹紪鐮�" prop="creator">
+ <el-input v-model="form.creator" placeholder="璇疯緭鍏ュ垱寤轰汉缂栫爜" v-trim/>
+ </el-form-item>
+ <el-form-item label="鍒涘缓鏃堕棿" prop="createDate">
+ <el-date-picker v-model="form.createDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ュ垱寤烘椂闂�"></el-date-picker>
+ </el-form-item>
+ <el-form-item label="鏇存柊浜虹紪鐮�" prop="editor">
+ <el-input v-model="form.editor" placeholder="璇疯緭鍏ユ洿鏂颁汉缂栫爜" v-trim/>
+ </el-form-item>
+ <el-form-item label="鏇存柊鏃堕棿" prop="editDate">
+ <el-date-picker v-model="form.editDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ユ洿鏂版椂闂�"></el-date-picker>
+ </el-form-item>
+ <el-form-item label="鏄惁鍒犻櫎0鍚� 1鏄�" prop="isdeleted">
+ <el-input v-model="form.isdeleted" placeholder="璇疯緭鍏ユ槸鍚﹀垹闄�0鍚� 1鏄�" v-trim/>
+ </el-form-item>
+ <el-form-item label="鍚嶇О" prop="name">
+ <el-input v-model="form.name" placeholder="璇疯緭鍏ュ悕绉�" v-trim/>
+ </el-form-item>
+ <el-form-item label="澶囨敞" prop="remark">
+ <el-input v-model="form.remark" placeholder="璇疯緭鍏ュ娉�" v-trim/>
+ </el-form-item>
+ <el-form-item label="鐘舵�� 0鍚敤 1绂佺敤" prop="status">
+ <el-input v-model="form.status" placeholder="璇疯緭鍏ョ姸鎬� 0鍚敤 1绂佺敤" v-trim/>
+ </el-form-item>
+ <el-form-item label="鎺掑簭鐮�" prop="sortnum">
+ <el-input v-model="form.sortnum" placeholder="璇疯緭鍏ユ帓搴忕爜" v-trim/>
+ </el-form-item>
+ <el-form-item label="鎵�灞炴湀鍙板垎閽熺紪鐮侊紙g鍏宠仈platform_group)" prop="groupId">
+ <el-input v-model="form.groupId" placeholder="璇疯緭鍏ユ墍灞炴湀鍙板垎閽熺紪鐮侊紙g鍏宠仈platform_group)" v-trim/>
+ </el-form-item>
+ <el-form-item label="宸ヤ綔寮�濮嬫椂闂�" prop="startTime">
+ <el-input v-model="form.startTime" placeholder="璇疯緭鍏ュ伐浣滃紑濮嬫椂闂�" v-trim/>
+ </el-form-item>
+ <el-form-item label="宸ヤ綔缁撴潫鏃堕棿" prop="endTime">
+ <el-input v-model="form.endTime" placeholder="璇疯緭鍏ュ伐浣滅粨鏉熸椂闂�" v-trim/>
+ </el-form-item>
+ <el-form-item label="鍚屾椂浣滀笟鏁伴噺" prop="workingNum">
+ <el-input v-model="form.workingNum" placeholder="璇疯緭鍏ュ悓鏃朵綔涓氭暟閲�" v-trim/>
+ </el-form-item>
+ <el-form-item label="绛夊緟鏁欏ソ鏃堕棿(绉掞級" prop="wariCallTime">
+ <el-input v-model="form.wariCallTime" placeholder="璇疯緭鍏ョ瓑寰呮暀濂芥椂闂�(绉掞級" v-trim/>
+ </el-form-item>
+ <el-form-item label="鍋滅暀瓒呮椂鎶ヨ鏃堕棿(绉掞級" prop="alermTime">
+ <el-input v-model="form.alermTime" placeholder="璇疯緭鍏ュ仠鐣欒秴鏃舵姤璀︽椂闂�(绉掞級" v-trim/>
+ </el-form-item>
+ <el-form-item label="鏈�鍚庝簨浠舵帹閫佹椂闂�" prop="lastEventTime">
+ <el-date-picker v-model="form.lastEventTime" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ユ渶鍚庝簨浠舵帹閫佹椂闂�"></el-date-picker>
+ </el-form-item>
+ <el-form-item label="鐩戞帶鐐瑰悕绉帮紝澶氫釜鐢ㄨ嫳鏂囬�楀彿闅斿紑" prop="deviceNames">
+ <el-input v-model="form.deviceNames" placeholder="璇疯緭鍏ョ洃鎺х偣鍚嶇О锛屽涓敤鑻辨枃閫楀彿闅斿紑" v-trim/>
+ </el-form-item>
+ <el-form-item label="鏈堝彴灞忓箷鍚嶇О锛屽涓敤鑻辨枃閫楀彿闅斿紑" prop="screenName">
+ <el-input v-model="form.screenName" placeholder="璇疯緭鍏ユ湀鍙板睆骞曞悕绉帮紝澶氫釜鐢ㄨ嫳鏂囬�楀彿闅斿紑" v-trim/>
+ </el-form-item>
+ <el-form-item label="娴峰悍鏍囪瘑" prop="hkId">
+ <el-input v-model="form.hkId" placeholder="璇疯緭鍏ユ捣搴锋爣璇�" v-trim/>
+ </el-form-item>
+ <el-form-item label="鍏宠仈鎵跨鍏徃" prop="companys">
+ <el-input v-model="form.companys" placeholder="璇疯緭鍏ュ叧鑱旀壙绉熷叕鍙�" v-trim/>
+ </el-form-item>
+ <el-form-item label="X鍧愭爣" prop="xpos">
+ <el-input v-model="form.xpos" placeholder="璇疯緭鍏鍧愭爣" v-trim/>
+ </el-form-item>
+ <el-form-item label="Y鍧愭爣" prop="ypos">
+ <el-input v-model="form.ypos" placeholder="璇疯緭鍏鍧愭爣" v-trim/>
+ </el-form-item>
+ <el-form-item label="瀹藉害" prop="width">
+ <el-input v-model="form.width" placeholder="璇疯緭鍏ュ搴�" v-trim/>
+ </el-form-item>
+ <el-form-item label="楂樺害" prop="height">
+ <el-input v-model="form.height" placeholder="璇疯緭鍏ラ珮搴�" v-trim/>
+ </el-form-item>
+ <el-form-item label="瑙掑害" prop="angle">
+ <el-input v-model="form.angle" placeholder="璇疯緭鍏ヨ搴�" v-trim/>
+ </el-form-item>
+ <el-form-item label="娴峰悍鏍囪瘑鍚屾鏃堕棿" prop="hkData">
+ <el-date-picker v-model="form.hkData" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ユ捣搴锋爣璇嗗悓姝ユ椂闂�"></el-date-picker>
+ </el-form-item>
+ </el-form>
+ </GlobalWindow>
+</template>
+
+<script>
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+export default {
+ name: 'OperaPlatformWindow',
+ extends: BaseOpera,
+ components: { GlobalWindow },
+ data () {
+ return {
+ // 琛ㄥ崟鏁版嵁
+ form: {
+ id: null,
+ creator: '',
+ createDate: '',
+ editor: '',
+ editDate: '',
+ isdeleted: '',
+ name: '',
+ remark: '',
+ status: '',
+ sortnum: '',
+ groupId: '',
+ startTime: '',
+ endTime: '',
+ workingNum: '',
+ wariCallTime: '',
+ alermTime: '',
+ lastEventTime: '',
+ deviceNames: '',
+ screenName: '',
+ hkId: '',
+ companys: '',
+ xpos: '',
+ ypos: '',
+ width: '',
+ height: '',
+ angle: '',
+ hkData: ''
+ },
+ // 楠岃瘉瑙勫垯
+ rules: {
+ }
+ }
+ },
+ created () {
+ this.config({
+ api: '/platform/platform',
+ 'field.id': 'id'
+ })
+ }
+}
+</script>
diff --git a/admin/src/components/common/SearchFormCollapse.vue b/admin/src/components/common/SearchFormCollapse.vue
index 5e602b8..771d38f 100644
--- a/admin/src/components/common/SearchFormCollapse.vue
+++ b/admin/src/components/common/SearchFormCollapse.vue
@@ -1,14 +1,21 @@
<template>
<div class="search-form-collapse" :class="{'collapse__hidden': !showMore}">
<slot></slot>
- <el-button v-if="!showMore" class="collapse__switch" @click="showMore = true">鏇村鏌ヨ...</el-button>
- <el-button v-else class="collapse__switch" @click="showMore = false">鏀惰捣</el-button>
+ <el-button v-if="needMore && !showMore" class="collapse__switch" @click="showMore = true">鏇村鏌ヨ...</el-button>
+ <el-button v-else-if="needMore && showMore" class="collapse__switch" @click="showMore = false">鏀惰捣</el-button>
</div>
</template>
<script>
export default {
name: 'SearchFormCollapse',
+ props: {
+ needMore: {
+ type: Boolean,
+ required: false,
+ default: () => true
+ }
+ },
data () {
return {
showMore: false
diff --git a/admin/src/views/platform/platform.vue b/admin/src/views/platform/platform.vue
new file mode 100644
index 0000000..19d6d74
--- /dev/null
+++ b/admin/src/views/platform/platform.vue
@@ -0,0 +1,143 @@
+<template>
+ <TableLayout :permissions="['business:platform:query']">
+ <!-- 鎼滅储琛ㄥ崟 -->
+ <SearchFormCollapse slot="search-form" :need-more="false">
+ <el-form ref="searchForm" :model="searchForm" label-width="100px" inline>
+ <el-form-item label="" prop="name">
+ <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ユ湀鍙板悕绉�" @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <section>
+ <el-button type="primary" @click="search">鎼滅储</el-button>
+ <el-button @click="reset">閲嶇疆</el-button>
+ </section>
+ </el-form>
+ </SearchFormCollapse>
+ <!-- 琛ㄦ牸鍜屽垎椤� -->
+ <template v-slot:table-wrap>
+ <ul class="toolbar" v-permissions="['business:hksync:platforms']">
+ <li><el-button type="primary" :loading="working" @click="syncData" icon="el-icon-plus" v-permissions="['business:hksync:platforms']">鍚屾</el-button></li>
+ <li><el-button type="primary" :loading="working1" @click="syncStatus" icon="el-icon-plus" v-permissions="['business:hksync:platforms']">鍚屾鐘舵��</el-button></li>
+ </ul>
+ <el-table
+ v-loading="isWorking.search"
+ :data="tableData.list"
+ stripe
+ @selection-change="handleSelectionChange"
+ >
+ <el-table-column type="selection" width="55"></el-table-column>
+ <el-table-column prop="name" label="鏈堝彴鍚嶇О" min-width="100px"></el-table-column>
+ <el-table-column prop="hkId" label="鏈堝彴缂栫爜" min-width="100px"></el-table-column>
+ <el-table-column prop="groupName" label="鎵�灞炴湀鍙扮粍" min-width="100px"></el-table-column>
+ <el-table-column prop="workingNum" label="鍚屾椂鍙彿杞﹁締鏁�" min-width="100px"></el-table-column>
+ <el-table-column prop="alermTime" label="鍋滅暀瓒呮椂鎶ヨ鏃堕棿(鍒嗛挓锛�" min-width="100px">
+ <template scope="{row}">{{row.alermTime?(row.alermTime/60):'-'}}</template>
+ </el-table-column>
+ <el-table-column prop="waitCallTime" label="浣滀笟瓒呮椂鎶ヨ鏃堕棿(鍒嗛挓锛�" min-width="100px">
+ <template scope="{row}"> {{row.waitCallTime?(row.alermTime/60):'-'}}</template>
+ </el-table-column>
+ <el-table-column prop="workRate" label="鏈堝彴浣滀笟鏁堢巼(涓囧彧/灏忔椂)" min-width="100px"></el-table-column>
+ <el-table-column prop="status" label="鐘舵��" min-width="100px"></el-table-column>
+ <el-table-column prop="broadcastName" label="鍏宠仈骞挎挱" min-width="100px"></el-table-column>
+ <el-table-column prop="ledName" label="鍏宠仈LED" min-width="100px"></el-table-column>
+ <el-table-column prop="hkDate" label="鍚屾鏃堕棿" min-width="100px"></el-table-column>
+ <el-table-column
+ v-if="containPermissions(['business:platform:update', 'business:platform:delete'])"
+ label="鎿嶄綔"
+ min-width="120"
+ fixed="right"
+ >
+ <template slot-scope="{row}">
+ <el-button type="text" @click="$refs.operaPlatformWindow.open('缂栬緫鏈堝彴淇℃伅琛�', row)" icon="el-icon-edit" v-permissions="['business:platform:update']">缂栬緫</el-button>
+ <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:platform:delete']">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <pagination
+ @size-change="handleSizeChange"
+ @current-change="handlePageChange"
+ :pagination="tableData.pagination"
+ >
+ </pagination>
+ </template>
+ <!-- 鏂板缓/淇敼 -->
+ <OperaPlatformWindow ref="operaPlatformWindow" @success="handlePageChange"/>
+ </TableLayout>
+</template>
+
+<script>
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import SearchFormCollapse from '@/components/common/SearchFormCollapse'
+import Pagination from '@/components/common/Pagination'
+import OperaPlatformWindow from '@/components/business/OperaPlatformWindow'
+import { syncDevices, updateEntranceById } from '@/api/business/device'
+import { syncPlatforms } from '@/api/platform/platform'
+export default {
+ name: 'Platform',
+ extends: BaseTable,
+ components: { SearchFormCollapse, TableLayout, Pagination, OperaPlatformWindow },
+ data () {
+ return {
+ // 鎼滅储
+ working: false,
+ working1: false,
+ searchForm: {
+ name: ''
+ }
+ }
+ },
+ created () {
+ this.config({
+ module: '鏈堝彴淇℃伅琛�',
+ api: '/platform/platform',
+ 'field.id': 'id',
+ 'field.main': 'id'
+ })
+ this.search()
+ },
+ methods: {
+ changeManufature (e, row) {
+ updateEntranceById({
+ id: row.id,
+ isEntrance: e
+ })
+ },
+ syncData () {
+ this.$dialog.actionConfirm('鎿嶄綔纭鎻愰啋', '鎮ㄧ‘璁ゅ悓姝ュ叏閮ㄤ俊鎭悧锛�')
+ .then(() => {
+ this.isWorking.working = true
+ this.api.syncPlatforms({})
+ .then(res => {
+ this.$tip.apiSuccess(res || '鍚屾鎴愬姛')
+ this.search()
+ })
+ .catch(e => {
+ this.$tip.apiFailed(e)
+ })
+ .finally(() => {
+ this.isWorking.working = false
+ })
+ })
+ .catch(() => {})
+ },
+ syncStatus () {
+ this.$dialog.actionConfirm('鎿嶄綔纭鎻愰啋', '鎮ㄧ‘璁ゅ悓姝ュ叏閮ㄤ俊鎭悧锛�')
+ .then(() => {
+ this.isWorking.working = true
+ this.api.syncPlatforms({})
+ .then(res => {
+ this.$tip.apiSuccess(res || '鍚屾鎴愬姛')
+ this.search()
+ })
+ .catch(e => {
+ this.$tip.apiFailed(e)
+ })
+ .finally(() => {
+ this.isWorking.working = false
+ })
+ })
+ .catch(() => {})
+ }
+ }
+}
+</script>
diff --git a/server/system_gateway/src/main/resources/application.yml b/server/system_gateway/src/main/resources/application.yml
index d3f483c..a5edc83 100644
--- a/server/system_gateway/src/main/resources/application.yml
+++ b/server/system_gateway/src/main/resources/application.yml
@@ -9,8 +9,8 @@
spring:
application:
name: system_gateway
- profiles:
- active: dev
+# profiles:
+# active: dev
# JSON杩斿洖閰嶇疆
jackson:
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 da04b9a..8646006 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
@@ -107,7 +107,9 @@
public static final String HK_NGINX_URL = "HK_NGINX_URL";
public static boolean DEALING_HK_SYNCPRIVILEGE= false;
public static boolean DEALING_HK_SYNCDEVICE = false;
+ public static boolean DEALING_HK_SYNCPLATFORM = false;
public static boolean DEALING_HK_SYNCDEVICE_STATUS = false;
+ public static boolean DEALING_HK_SYNCPLATFORM_STATUS = false;
public static boolean DEALING_HK_SYNCPARK = false;
public static boolean DEALING_HK_IMG = false;
public static boolean DEALING_HK_ORG = false;
@@ -899,5 +901,137 @@
T reqJson = mapper.readValue(json, clazz);
return reqJson;
}
+ /**
+ * 鍛樺伐淇℃伅缁存姢鎿嶄綔鍘嗗彶绫诲瀷 0瑙e喕 1鍐荤粨 2鎷夐粦 3鎭㈠ 4璁句负鎷滆浜� 5鍙栨秷鎷滆浜� 6璁句负楂樼骇瀹℃壒浜� 7鍙栨秷楂樼骇瀹℃壒浜� 8鎵嬪姩绂诲満 9鍒犻櫎 10鏇存柊 11鎺堟潈闂ㄧ鏉冮檺 12绂昏亴 13鎭㈠鍦ㄨ亴
+ */
+ public enum UserActionType {
+ CANCEL_FREEZE(0, "瑙e喕","鐢便��${param1}銆戜簬銆�${param2}銆戯紝杩涜銆愯В鍐汇��" ),
+ FREEZE(1, "鍐荤粨","鐢便��${param1}銆戜簬銆�${param2}銆戯紝杩涜銆愬喕缁撱��" ),
+ BLACKLIST(2, "鎷夐粦","鐢便��${param1}銆戜簬銆�${param2}銆戯紝杩涜銆愭媺榛戙��"),
+ CANCEL_BLACKLIST(3, "鎭㈠","鐢便��${param1}銆戜簬銆�${param2}銆戯紝杩涜銆愮Щ鍑洪粦鍚嶅崟銆�" ),
+ CANVISIT(4, "璁句负鎷滆浜�","鐢便��${param1}銆戜簬銆�${param2}銆戯紝杩涜銆愯涓烘嫓璁夸汉銆�" ),
+ CANCEL_VISIT(5, "鍙栨秷鎷滆浜�","鐢便��${param1}銆戜簬銆�${param2}銆戯紝杩涜銆愬彇娑堟嫓璁夸汉銆�" ),
+ //缁繚閫氱煡
+ HIGHCHECKOR(6, "璁句负楂樼骇瀹℃壒浜�","鐢便��${param1}銆戜簬銆�${param2}銆戯紝杩涜銆愯涓洪珮绾у鎵逛汉銆�" ),
+ CANCEL_HIGHCHECKOR(7, "鍙栨秷楂樼骇瀹℃壒浜�","鐢便��${param1}銆戜簬銆�${param2}銆戯紝杩涜銆愬彇娑堥珮绾у鎵逛汉銆�" ),
+ LEVEL(8, "鎵嬪姩绂诲満","鐢便��${param1}銆戜簬銆�${param2}銆戯紝杩涜銆愭墜鍔ㄧ鍦恒��" ),
+ DELETE(9, "鍒犻櫎","鐢便��${param1}銆戜簬銆�${param2}銆戯紝杩涜銆愬垹闄ゃ��" ),
+ EDIT(10, "鏇存柊","鐢便��${param1}銆戜簬銆�${param2}銆戯紝杩涜銆愭洿鏂般��" ),
+ AUTH_ROLE(11, "鎺堟潈闂ㄧ鏉冮檺","鐢便��${param1}銆戜簬銆�${param2}銆戯紝杩涜銆愭巿鏉冮棬绂佹潈闄愩��" ),
+ WORK_OFF(12, "绂昏亴","鐢便��${param1}銆戜簬銆�${param2}銆戯紝杩涜銆愮鑱屻�戞搷浣�" ),
+ WORK_ON(13, "鍦ㄨ亴","鐢便��${param1}銆戜簬銆�${param2}銆戯紝杩涜銆愬湪鑱屻�戞搷浣�" ),
+ IMPORT_TRAIMETIME(14, "瀵煎叆鍩硅鏈夋晥","鐢便��${param1}銆戜簬銆�${param2}銆戯紝杩涜銆愬鍏ュ煿璁湁鏁堛�戞搷浣�" ),
+ BE_HEAD(15, "璁句负涓荤","鐢便��${param1}銆戜簬銆�${param2}銆戯紝杩涜銆愯涓轰富绠°�戞搷浣�" ),
+ NOT_HEAD(16, "鍙栨秷涓荤","鐢便��${param1}銆戜簬銆�${param2}銆戯紝杩涜銆愬彇娑堜富绠°�戞搷浣�" ),
+ ;
+ // 鎴愬憳鍙橀噺
+ private int key;
+ private String name;
+ private String info;
+
+ // 鏋勯�犳柟娉�
+ UserActionType(int key, String name,String info ) {
+ this.key = key;
+ this.info = info;
+ this.name = name;
+ }
+ public static String getName(int index) {
+ for (UserActionType c : UserActionType.values()) {
+ if (c.getKey() == index) {
+ return c.name;
+ }
+ }
+ return null;
+ }
+
+ public int getKey() {
+ return key;
+ }
+
+ public void setKey(int key) {
+ this.key = key;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getInfo() {
+ return info;
+ }
+
+ public void setInfo(String info) {
+ this.info = info;
+ }
+ }
+ /**
+ * 鍏宠仈瀵硅薄绫诲瀷
+ 鍏宠仈瀵硅薄绫诲瀷 0浼佷笟钀ヤ笟鎵х収 1鐞嗚禂鎶ユ浜嬫晠瑙嗛鎴栧浘鐗� 2鐞嗚禂鍛樺伐鍏崇郴璇佹槑鏉愭枡 3鐞嗚禂闂ㄨ瘖璧勬枡 4鐞嗚禂浣忛櫌璧勬枡 5鐞嗚禂浼ゆ畫璧勬枡 6鐞嗚禂璧斾粯缁撴鏉愭枡 7浼佷笟韬唤璇佸彿 8淇濆崟鐢宠琛≒DF 9绛剧讲鍚庝繚鍗曠敵璇疯〃PDF 10浼佷笟绛剧珷 11鏈�缁堟姤鍗�
+ */
+ public enum MultiFile{
+ HIDDEN_DANGER_SUBMIT(0, "闅愭偅闅忔墜鎷嶆彁鎶�", "闅愭偅闅忔墜鎷嶆彁鎶�"),
+ HIDDEN_DANGER_DEAL_BEFORE(1, "闅愭偅闅忔墜鎷嶅鐞嗗墠", "闅愭偅闅忔墜鎷嶅鐞嗗墠"),
+ HIDDEN_DANGER_DEAL_AFTER(2, "闅愭偅闅忔墜鎷嶅鐞嗗悗 ", "闅愭偅闅忔墜鎷嶅鐞嗗悗 "),
+ ;
+ // 鎴愬憳鍙橀噺
+ private String name;
+ private int key;
+ private String noteinfo;// 鎻忚堪
+
+ // 鏋勯�犳柟娉�
+ MultiFile(int key, String name, String noteinfo) {
+ this.name = name;
+ this.key = key;
+ this.noteinfo = noteinfo;
+ }
+
+ // 鏅�氭柟娉�
+ public static String getName(int index) {
+ for (MultiFile c : MultiFile.values()) {
+ if (c.getKey() == index) {
+ return c.name;
+ }
+ }
+ return null;
+ }
+
+ // 鏅�氭柟娉�
+ public static String getInfo(int index) {
+ for (MultiFile c : MultiFile.values()) {
+ if (c.getKey() == index) {
+ return c.noteinfo;
+ }
+ }
+ return null;
+ }
+
+ // get set 鏂规硶
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public int getKey() {
+ return key;
+ }
+
+ public void setKey(int key) {
+ this.key = key;
+ }
+
+ public String getNoteinfo() {
+ return noteinfo;
+ }
+
+
+
+ }
}
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 6d0d8ea..54fb03b 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
@@ -28,6 +28,9 @@
@ApiOperation("銆愯瀹㈢郴缁熴�戝畾鏃舵煡璇㈣澶囩姸鎬�")
@GetMapping("/timer/device/getAscDeviceStatus")
ApiResponse getAscDeviceStatus() ;
+ @ApiOperation("銆愯瀹㈢郴缁熴�戝畾鏃舵煡璇㈡湀鍙扮姸鎬�")
+ @GetMapping("/timer/platform/getPlatformStatus")
+ ApiResponse getPlatformStatus() ;
@ApiOperation("銆愯瀹㈢郴缁熴�戝畾鏃朵笅杞芥捣搴风郴缁熷浘鐗囨暟鎹�")
@GetMapping("/timer/image/downHKImgs")
ApiResponse downHKImgs();
diff --git a/server/visits/admin_timer/src/main/java/com/doumee/api/HkPlatformTimerController.java b/server/visits/admin_timer/src/main/java/com/doumee/api/HkPlatformTimerController.java
new file mode 100644
index 0000000..dd7dfb6
--- /dev/null
+++ b/server/visits/admin_timer/src/main/java/com/doumee/api/HkPlatformTimerController.java
@@ -0,0 +1,31 @@
+package com.doumee.api;
+
+import com.doumee.core.haikang.model.param.request.PlatformStatusRequest;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.service.business.impl.hksync.HkSyncDeviceServiceImpl;
+import com.doumee.service.business.impl.hksync.HkSyncPlatformsServiceImpl;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/11/30 15:33
+ */
+@Api(tags = "璁惧瀹氭椂鍣ㄦ帴鍙�")
+@RestController
+@RequestMapping("/timer/platform")
+public class HkPlatformTimerController extends BaseController {
+ @Autowired
+ private HkSyncPlatformsServiceImpl hkSyncPlatformsService;
+ @ApiOperation("寮�鍚畾鏃舵煡璇㈡湀鍙扮姸鎬�")
+ @GetMapping("/getPlatformStatus")
+ public ApiResponse getPlatformStatus() {
+ hkSyncPlatformsService.getPlatformStatus(new PlatformStatusRequest());
+ return ApiResponse.success("寮�鍚畾鏃舵煡璇㈡湀鍙扮姸鎬佹垚鍔�");
+ }
+
+}
diff --git a/server/visits/admin_timer/src/main/resources/bootstrap.yml b/server/visits/admin_timer/src/main/resources/bootstrap.yml
index fb74d1e..efae338 100644
--- a/server/visits/admin_timer/src/main/resources/bootstrap.yml
+++ b/server/visits/admin_timer/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@
spring:
profiles:
- active: test
+ active: dev
application:
name: visitsTimer
# 瀹夊叏閰嶇疆
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/HkSyncController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/HkSyncController.java
index 54e296f..2af227f 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/HkSyncController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/HkSyncController.java
@@ -1,20 +1,14 @@
package com.doumee.api.business;
import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.haikang.model.param.request.AcsDeviceListRequest;
-import com.doumee.core.haikang.model.param.request.EventSubRequest;
-import com.doumee.core.haikang.model.param.request.ParkListRequest;
-import com.doumee.core.haikang.model.param.request.PrivilegeGroupRequest;
+import com.doumee.core.haikang.model.param.request.*;
import com.doumee.core.haikang.model.param.request.event.acs.EventAcsRequest;
import com.doumee.core.haikang.model.param.request.event.parks.EventParkRequest;
import com.doumee.core.haikang.model.param.request.event.parks.EventPlatCarstatusRequest;
import com.doumee.core.haikang.model.param.request.event.parks.EventPlatWorkstatusRequest;
import com.doumee.core.haikang.model.param.request.event.visit.EventVisitRequest;
import com.doumee.core.model.ApiResponse;
-import com.doumee.service.business.impl.hksync.HkSyncDeviceServiceImpl;
-import com.doumee.service.business.impl.hksync.HkSyncParkServiceImpl;
-import com.doumee.service.business.impl.hksync.HkSyncPrivilegeServiceImpl;
-import com.doumee.service.business.impl.hksync.HkSyncPushServiceImpl;
+import com.doumee.service.business.impl.hksync.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
@@ -42,7 +36,24 @@
private HkSyncPrivilegeServiceImpl hkSyncPrivilegeService;
@Autowired
private HkSyncPushServiceImpl hkSyncPushService;
-
+ @Autowired
+ private HkSyncPlatformsServiceImpl hkSyncPlatformsService;
+ @PreventRepeat
+ @ApiOperation("銆愭捣搴枫�戝叏閲忓悓姝ユ湀鍙颁俊鎭帴鍙�")
+ @PostMapping("/syncPlatforms")
+ @RequiresPermissions("business:hksync:platforms")
+ public ApiResponse syncPlatforms(@RequestBody PlatformsListRequest param) {
+ String result = hkSyncPlatformsService.syncPlatforms(param);
+ return ApiResponse.success(result);
+ }
+ @PreventRepeat
+ @ApiOperation("銆愭捣搴枫�戝叏閲忓悓姝ユ湀鍙扮姸鎬佷俊鎭帴鍙�")
+ @PostMapping("/syncPlatformStatus")
+ @RequiresPermissions("business:hksync:platforms")
+ public ApiResponse syncPlatformStatus(@RequestBody PlatformStatusRequest param) {
+ String result = hkSyncPlatformsService.getPlatformStatus(param);
+ return ApiResponse.success(result);
+ }
@PreventRepeat
@ApiOperation("銆愭捣搴枫�戝叏閲忓悓姝ラ棬绂佽澶囨帴鍙�")
@PostMapping("/syncDevices")
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java
index fa30516..256358f 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java
@@ -12,6 +12,7 @@
import com.doumee.service.business.impl.hksync.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -27,6 +28,8 @@
public class HkSyncCloudController extends BaseController {
@Autowired
+ private HkSyncPlatformsServiceImpl hkSyncPlatformsService;
+ @Autowired
private HkSyncDeviceServiceImpl hkSyncDeviceService;
@Autowired
private HkSyncParkServiceImpl hkSyncParkService;
@@ -36,7 +39,22 @@
private HkSyncPushServiceImpl hkSyncPushService;
@Autowired
private HkSyncLoginAuthServiceImpl hkSyncLoginAuthService;
-
+ @PreventRepeat
+ @ApiOperation("銆愭捣搴枫�戝叏閲忓悓姝ユ湀鍙颁俊鎭帴鍙�")
+ @PostMapping("/syncPlatforms")
+ @CloudRequiredPermission("business:hksync:platforms")
+ public ApiResponse syncPlatforms(@RequestBody PlatformsListRequest param) {
+ String result = hkSyncPlatformsService.syncPlatforms(param);
+ return ApiResponse.success(result);
+ }
+ @PreventRepeat
+ @ApiOperation("銆愭捣搴枫�戝叏閲忓悓姝ユ湀鍙扮姸鎬佷俊鎭帴鍙�")
+ @PostMapping("/syncPlatformStatus")
+ @CloudRequiredPermission("business:hksync:platforms")
+ public ApiResponse syncPlatformStatus(@RequestBody PlatformStatusRequest param) {
+ String result = hkSyncPlatformsService.getPlatformStatus(param);
+ return ApiResponse.success(result);
+ }
@PreventRepeat
@ApiOperation("銆愭捣搴枫�戝叏閲忓悓姝ラ棬绂佽澶囨帴鍙�")
@PostMapping("/syncDevices")
diff --git a/server/visits/dmvisit_admin/src/main/resources/bootstrap.yml b/server/visits/dmvisit_admin/src/main/resources/bootstrap.yml
index 86e11a3..9dc10e9 100644
--- a/server/visits/dmvisit_admin/src/main/resources/bootstrap.yml
+++ b/server/visits/dmvisit_admin/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@
spring:
profiles:
- active: test
+ active: dev
application:
name: visitsAdmin
# 瀹夊叏閰嶇疆
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
index b1ea5b6..ef6947a 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
@@ -628,8 +628,8 @@
* @param body
* @return
*/
- public static String platformStatus(String body) {
- return startDoPostStringArtemis(HKConstants.InterfacePath.platformStatus,body);
+ public static String platformStatus(String param) {
+ return startDoPostStringArtemis(HKConstants.InterfacePath.platformStatus+"?platformIds="+param,null);
}
/**
* 鑾峰彇鏈堝彴缁勪欢閰嶇疆鐨凩ED璁惧娓呭崟
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/PlatformListInfoResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/PlatformListInfoResponse.java
index e4f2603..8af46c9 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/PlatformListInfoResponse.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/PlatformListInfoResponse.java
@@ -2,23 +2,22 @@
import lombok.Data;
+import java.math.BigDecimal;
import java.util.List;
@Data
public class PlatformListInfoResponse {
- private String deviceIndexCode ;//String false 璁惧鍞竴鏍囪瘑
-
- private String platformtId;// String false 鏈堝彴ID
+ private String platformId;// String false 鏈堝彴ID
private List<PlatformCameraInfoResponse> cameras;// Array false 鍏宠仈鐩戞帶鐐�
- private String cyNames;// String false 鍏宠仈鎵跨鍏徃
private String platformName;// String false 鏈堝彴鍚嶇О
+ private String companyNames;// String false 鍏宠仈浣滀笟鍖�
private String createTime;// Number false 鍒涘缓鏃堕棿
- private Integer x ;//Number false X鍧愭爣
- private Integer y ;//Number false Y鍧愭爣
- private Integer width;// Number false 瀹藉害
- private Integer height;// Number false 闀垮害
- private Integer angle;// Number false 瑙掑害
+ private BigDecimal x ;//Number false X鍧愭爣
+ private BigDecimal y ;//Number false Y鍧愭爣
+ private BigDecimal width;// Number false 瀹藉害
+ private BigDecimal height;// Number false 闀垮害
+ private BigDecimal angle;// Number false 瑙掑害
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
index 6f9f778..a4f6d22 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -1118,7 +1118,7 @@
public static BaseResponse<BaseListPageResponse<PlatformStatusInfoResponse>> platformStatus(PlatformStatusRequest param) {
log.info("銆愭捣搴疯幏鍙栧叏閮ㄦ湀鍙颁俊鎭��================寮�濮�====" + JSONObject.toJSONString(param));
try {
- String res = HKTools.platformStatus(JSONObject.toJSONString(param));
+ String res = HKTools.platformStatus(param.getPlatformIds());
TypeReference typeReference =
new TypeReference<BaseResponse<BaseListPageResponse<PlatformStatusInfoResponse>>>() {
};
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Platform.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Platform.java
index a871f6e..5dc5399 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Platform.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Platform.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -80,9 +81,10 @@
@ExcelColumn(name="鍚屾椂浣滀笟鏁伴噺")
private Integer workingNum;
- @ApiModelProperty(value = "绛夊緟鏁欏ソ鏃堕棿(绉掞級", example = "1")
- @ExcelColumn(name="绛夊緟鏁欏ソ鏃堕棿(绉掞級")
- private Integer wariCallTime;
+
+ @ApiModelProperty(value = "浣滀笟瓒呮椂鎶ヨ鏃堕棿(绉掞級", example = "1")
+ @ExcelColumn(name="浣滀笟瓒呮椂鎶ヨ鏃堕棿(绉掞級")
+ private Integer waitCallTime;
@ApiModelProperty(value = "鍋滅暀瓒呮椂鎶ヨ鏃堕棿(绉掞級", example = "1")
@ExcelColumn(name="鍋滅暀瓒呮椂鎶ヨ鏃堕棿(绉掞級")
@@ -104,6 +106,9 @@
@ApiModelProperty(value = "娴峰悍鏍囪瘑")
@ExcelColumn(name="娴峰悍鏍囪瘑")
private String hkId;
+ @ApiModelProperty(value = "娴峰悍鏍囪瘑鍚屾鏃堕棿")
+ @ExcelColumn(name="娴峰悍鏍囪瘑鍚屾鏃堕棿")
+ private Date hkDate;
@ApiModelProperty(value = "鍏宠仈鎵跨鍏徃")
@ExcelColumn(name="鍏宠仈鎵跨鍏徃")
@@ -128,5 +133,15 @@
@ApiModelProperty(value = "瑙掑害", example = "1")
@ExcelColumn(name="瑙掑害")
private BigDecimal angle;
+ @ApiModelProperty(value = "鏈堝彴浣滀笟鏁堢巼锛堜竾鏀�/灏忔椂锛�", example = "1")
+ @ExcelColumn(name="鏈堝彴浣滀笟鏁堢巼锛堜竾鏀�/灏忔椂锛�")
+ private BigDecimal workRate;
+
+ @ApiModelProperty(value = "骞挎挱鍚嶇О", example = "1")
+ @TableField(exist = false)
+ private String broadcastName;
+ @ApiModelProperty(value = "led鍚嶇О", example = "1")
+ @TableField(exist = false)
+ private String ledName;
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ext/HkSyncService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ext/HkSyncService.java
index 411c0b6..cbd7cb7 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ext/HkSyncService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ext/HkSyncService.java
@@ -62,6 +62,8 @@
void syncUserData();
void syncVistAppointData(Date date);
void syncVehicleData();
+ String syncPlatforms(PlatformsListRequest param);
+ String getPlatformStatus(PlatformStatusRequest param);
void syncVehicleUpdateData(Date date);
void syncUserUpdateData(Date start, Date end);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java
index cb3c94c..486115c 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java
@@ -106,7 +106,6 @@
.eq(pageWrap.getModel().getStartTime() != null, Platform::getStartTime, pageWrap.getModel().getStartTime())
.eq(pageWrap.getModel().getEndTime() != null, Platform::getEndTime, pageWrap.getModel().getEndTime())
.eq(pageWrap.getModel().getWorkingNum() != null, Platform::getWorkingNum, pageWrap.getModel().getWorkingNum())
- .eq(pageWrap.getModel().getWariCallTime() != null, Platform::getWariCallTime, pageWrap.getModel().getWariCallTime())
.eq(pageWrap.getModel().getAlermTime() != null, Platform::getAlermTime, pageWrap.getModel().getAlermTime())
.ge(pageWrap.getModel().getLastEventTime() != null, Platform::getLastEventTime, Utils.Date.getStart(pageWrap.getModel().getLastEventTime()))
.le(pageWrap.getModel().getLastEventTime() != null, Platform::getLastEventTime, Utils.Date.getEnd(pageWrap.getModel().getLastEventTime()))
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 1c94748..eaf7f3a 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
@@ -106,8 +106,6 @@
.eq(pageWrap.getModel().getDriverName() != null, PlatformWmsJob::getDriverName, pageWrap.getModel().getDriverName())
.eq(pageWrap.getModel().getCarrierName() != null, PlatformWmsJob::getCarrierName, pageWrap.getModel().getCarrierName())
.eq(pageWrap.getModel().getCarryBillCode() != null, PlatformWmsJob::getCarryBillCode, pageWrap.getModel().getCarryBillCode())
- .ge(pageWrap.getModel().getIoCreatedate() != null, PlatformWmsJob::getIoCreatedate, Utils.Date.getStart(pageWrap.getModel().getIoCreatedate()))
- .le(pageWrap.getModel().getIoCreatedate() != null, PlatformWmsJob::getIoCreatedate, Utils.Date.getEnd(pageWrap.getModel().getIoCreatedate()))
.eq(pageWrap.getModel().getStatus() != null, PlatformWmsJob::getStatus, pageWrap.getModel().getStatus())
.ge(pageWrap.getModel().getCancelDate() != null, PlatformWmsJob::getCancelDate, Utils.Date.getStart(pageWrap.getModel().getCancelDate()))
.le(pageWrap.getModel().getCancelDate() != null, PlatformWmsJob::getCancelDate, Utils.Date.getEnd(pageWrap.getModel().getCancelDate()))
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java
index 6ab5454..4209984 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java
@@ -112,6 +112,12 @@
}
public void syncVehicleData(){
}
+ public String syncPlatforms(PlatformsListRequest param){
+ return null;
+ }
+ public String getPlatformStatus(PlatformStatusRequest param){
+ return null;
+ }
@Override
public void syncVehicleUpdateData(Date date){
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPlatformsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPlatformsServiceImpl.java
new file mode 100644
index 0000000..fdefd55
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPlatformsServiceImpl.java
@@ -0,0 +1,231 @@
+package com.doumee.service.business.impl.hksync;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.haikang.model.HKConstants;
+import com.doumee.core.haikang.model.param.BaseListPageResponse;
+import com.doumee.core.haikang.model.param.BaseResponse;
+import com.doumee.core.haikang.model.param.request.*;
+import com.doumee.core.haikang.model.param.respose.*;
+import com.doumee.core.haikang.service.HKService;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
+import com.doumee.dao.business.DeviceMapper;
+import com.doumee.dao.business.PlatformMapper;
+import com.doumee.dao.business.model.Device;
+import com.doumee.dao.business.model.Platform;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 璁惧淇℃伅琛⊿ervice瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2023/11/30 15:33
+ */
+@Service
+public class HkSyncPlatformsServiceImpl extends HkSyncBaseServiceImpl {
+
+ @Autowired
+ private PlatformMapper platformMapper;
+
+ /**
+ * 鍚屾娴峰悍鏈堝彴鏁版嵁
+ * @param param
+ * @return
+ */
+ @Override
+// @Async
+ public String syncPlatforms(PlatformsListRequest param){
+ if(Constants.DEALING_HK_SYNCPLATFORM){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "鍚屾浠诲姟姝e湪鎵ц鍝︼紝璇风◢鍚庢煡鐪嬬粨鏋滐紒") ;
+ }
+ Constants.DEALING_HK_SYNCPLATFORM =true;
+ try {
+ List<Platform> deleteList = new ArrayList<>();
+ List<Platform> addList = new ArrayList<>();
+ List<Platform> editList = new ArrayList<>();
+ Date date = new Date();
+ //鏌ヨ鍏ㄩ儴闂ㄧ璁惧鏁版嵁
+ List<Platform> allList = platformMapper.selectList(null);
+ List<PlatformListInfoResponse> allHkList = getAllHkList(param);
+ /**
+ * 鑾峰彇澧炲垹鏀规暟鎹泦鍚�
+ */
+ getDataChangeList(allList,allHkList,addList,editList,deleteList,date);
+ if(deleteList.size()>0){
+ //閫昏緫鍒犻櫎
+ for(Platform d : deleteList){
+ platformMapper.updateById(d);
+ }
+ }
+ if(addList.size()>0){
+ platformMapper.insert(addList);
+ }
+ if(editList.size()>0){
+ for(Platform d : editList){
+ platformMapper.updateById(d);
+ }
+ }
+ return "鍚屾鏁版嵁锛氭柊澧炪��"+addList.size()+"銆戞潯锛屾洿鏂般��"+editList.size()+"銆戞潯锛屽垹闄ゃ��"+deleteList.size()+"銆戞潯";
+ }catch (Exception e){
+ e.printStackTrace();
+ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "鍚屾澶辫触锛�");
+ }finally {
+ Constants.DEALING_HK_SYNCPLATFORM =false;
+ }
+ }
+ @Override
+// @Async
+ public String getPlatformStatus(PlatformStatusRequest param){
+ if(Constants.DEALING_HK_SYNCPLATFORM_STATUS){
+ return null;
+ }
+ Constants.DEALING_HK_SYNCPLATFORM_STATUS =true;
+ try {
+ List<Device> editList = new ArrayList<>();
+ Date date = new Date();
+ //鏌ヨ鍏ㄩ儴闂ㄧ璁惧鏁版嵁
+ List<PlatformStatusInfoResponse> allHkList = getAllHKStatusList(param);
+
+ if(allHkList.size()>0){
+ //鏇存柊鐘舵�� (鏈堝彴鐘舵�� 0-鏃犺溅 1-鏈夎溅 2-瓒呮椂鍋滈潬 3-閿欒鍋滈潬)
+ for(PlatformStatusInfoResponse d : allHkList){
+ platformMapper.update(null,new UpdateWrapper<Platform>().lambda()
+ .set(Platform::getStatus,d.getStatus())
+ .set(Platform::getEditDate,date)
+ .eq(Platform::getHkId,d.getPlatformtId()));
+ }
+ }
+ }catch (Exception e){
+ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "鍚屾璁惧鐘舵�佸け璐ワ紒");
+ }finally {
+ Constants.DEALING_HK_SYNCPLATFORM_STATUS =false;
+ }
+ return "鍚屾鎴愬姛";
+ }
+
+ private List<PlatformListInfoResponse> getAllHkList(PlatformsListRequest param) {
+ BaseResponse<BaseListPageResponse<PlatformListInfoResponse>> response = HKService.platformsList(param);
+ if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) || response.getData() ==null){
+ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝娴峰悍鍚屾鏁版嵁澶辫触~");
+ }
+
+ return response.getData().getList();
+ }
+
+ public List<PlatformStatusInfoResponse> getAllHKStatusList(PlatformStatusRequest param){
+ //鍒嗛〉閬嶅巻寰幆鏌ヨ鎵�鏈夐棬绂佽澶囨暟鎹�
+ BaseResponse<BaseListPageResponse<PlatformStatusInfoResponse>> response = HKService.platformStatus(param);
+ if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) || response.getData() ==null){
+ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝娴峰悍鍚屾鏁版嵁澶辫触~");
+ }
+ return response.getData().getList();
+
+ }
+
+
+ private AcsDeviceInfoResponse getDeviceByDoorid(String indexCode, List<AcsDeviceInfoResponse> allHkList ) {
+ if(allHkList!=null && allHkList.size()>0){
+ for(AcsDeviceInfoResponse info : allHkList){
+ if(StringUtils.equals(indexCode,info.getIndexCode())){
+ return info;
+ }
+ }
+ }
+
+ return new AcsDeviceInfoResponse();
+ }
+ private void getDataChangeList(List<Platform> allList,
+ List<PlatformListInfoResponse> allHkList,
+ List<Platform> addList,
+ List<Platform> editList,
+ List<Platform> deleteList, Date date) {
+ if(allHkList!=null && allHkList.size()>0){
+ //鑾峰彇娴峰悍鍏ㄩ儴闂ㄧ缁勬暟鎹�
+ for(PlatformListInfoResponse device : allHkList){
+ Platform model = getExistedDevice(device,allList);
+ if(model !=null){
+ //濡傛灉宸插瓨鍦紝鍒欐洿鏂版暟鎹�
+ model = initDataByHkData(model,device,date);
+ editList.add(model);
+ }else{
+ //濡傛灉涓嶅瓨鍦紝鍒欐柊澧炴暟鎹�
+ model = new Platform();
+ model = initDataByHkData(model,device,date);
+ addList.add(model);
+ }
+ }
+ }
+ //鍒ゆ柇鑾峰彇鍒犻櫎鐨勯棬绂佽澶囷紝閫昏緫鍒犻櫎
+ getDeleteList(allList,allHkList,deleteList,date);
+ }
+
+ /**
+ * 鍒濆鍖栨捣搴峰叆搴撴暟鎹�
+ * @param model
+ * @param device
+ * @param date
+ * @return
+ */
+ private Platform initDataByHkData(Platform model, PlatformListInfoResponse device,Date date ) {
+ model.setIsdeleted(Constants.ZERO);
+ model.setHkDate(date);
+ model.setHkId(device.getPlatformId());
+ model.setCreateDate(DateUtil.getISO8601DateByStr(device.getCreateTime()));
+ model.setName(device.getPlatformName());
+ model.setCompanys(device.getCompanyNames());
+ model.setAngle(device.getAngle());
+ model.setXpos(device.getX());
+ model.setYpos(device.getY());
+ model.setWidth(device.getWidth());
+ model.setHeight(device.getHeight());
+ model.setRemark(JSONObject.toJSONString(device));
+ return model;
+ }
+
+
+
+ private Platform getExistedDevice(PlatformListInfoResponse device, List<Platform> allList) {
+ if(allList.size()>0){
+ for(Platform r : allList){
+ if(StringUtils.equals(r.getHkId(), device.getPlatformId())){
+ //琛ㄧず鏈垹闄�
+ return r;
+ }
+ }
+ }
+ return null;
+ }
+
+ private void getDeleteList(List<Platform> allList, List<PlatformListInfoResponse> allHkList,List<Platform> deleteList ,Date date) {
+ if(allList!=null && allList.size()>0){
+ for(Platform device : allList){
+ if(isDeletedData(device,allHkList)){
+ device.setIsdeleted(Constants.ONE);
+ device.setEditDate(date);
+ deleteList.add(device);
+ }
+ }
+ }
+ }
+ private boolean isDeletedData(Platform device, List<PlatformListInfoResponse> allHkList) {
+ if(allHkList.size()>0){
+ for(PlatformListInfoResponse r : allHkList){
+ if(StringUtils.equals(device.getHkId(), r.getPlatformId())){
+ //琛ㄧず鏈垹闄�
+ return false;
+ }
+ }
+ }
+ return true;
+
+ }
+
+}
--
Gitblit v1.9.3