From a2e8793e2c53c7e80b67c1fe407b78fde59b2296 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 29 十一月 2024 10:01:27 +0800
Subject: [PATCH] 最新版本541200007
---
server/system_service/src/main/java/com/doumee/core/utils/Constants.java | 11
server/visits/admin_timer/src/main/resources/application.yml | 2
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKCarOpenService.java | 236 +++++++++
server/system_timer/src/main/resources/application.yml | 2
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/PlatformJobRunBoardNewVO.java | 93 +++
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsGpsResponse.java | 25
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsDeviceResponse.java | 25
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/request/CarsDeviceRequest.java | 14
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/BoardJobCenterDataVO.java | 28 +
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsDeviceDetaisResponse.java | 23
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunActController.java | 157 ++++++
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/BaseCarsPageResponse.java | 18
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/BaseCarsResponse.java | 17
admin/src/api/business/areas.js | 43 +
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformLogMapper.java | 3
server/visits/openapi/src/main/resources/application.yml | 2
admin/src/views/business/areas.vue | 160 ++++++
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/CarsContractVO.java | 30 +
admin/.env.development | 4
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsDetail.java | 8
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsJob.java | 8
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/AlarmEventDataVO.java | 2
admin/src/components/business/OperaAreasWindow.vue | 94 +++
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java | 1
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/BoardCarsListVO.java | 31 +
server/visits/dmvisit_admin/src/main/resources/application.yml | 2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncInitConfigServiceImpl.java | 4
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformWmsJobMapper.java | 3
server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java | 8
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsDeviceChannelResponse.java | 16
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunController.java | 3
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/CarsJobAndContractVO.java | 36 +
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/CarsJobAndContractDTO.java | 19
server/visits/dmvisit_screen/src/main/resources/application.yml | 2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java | 381 ++++++++++++++
server/system_gateway/src/main/resources/application.yml | 2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java | 9
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/request/CarsGpsRequest.java | 18
server/meeting/meeting_admin/src/main/resources/application.yml | 2
39 files changed, 1,512 insertions(+), 30 deletions(-)
diff --git a/admin/.env.development b/admin/.env.development
index 3dfdc65..2fd4c21 100644
--- a/admin/.env.development
+++ b/admin/.env.development
@@ -1,8 +1,8 @@
# 寮�鍙戠幆澧冮厤缃�
NODE_ENV = 'development'
-#VUE_APP_API_URL = 'http://localhost:10010'
+VUE_APP_API_URL = 'http://localhost:10010'
# VUE_APP_API_URL = 'http://192.168.0.113:10010'
# VUE_APP_API_URL = 'http://192.168.0.173/gateway_interface'
- VUE_APP_API_URL = 'http://10.50.250.253:8088/gateway_interface'
+ #VUE_APP_API_URL = 'http://10.50.250.253:8088/gateway_interface'
diff --git a/admin/src/api/business/areas.js b/admin/src/api/business/areas.js
new file mode 100644
index 0000000..803018f
--- /dev/null
+++ b/admin/src/api/business/areas.js
@@ -0,0 +1,43 @@
+import request from '../../utils/request'
+
+// 鏌ヨ
+export function fetchList (data) {
+ // return request.post('/visitsAdmin/cloudService/business/areas/treeList', data, {
+ // trim: true
+ // })
+ return request.post('/visitsAdmin/cloudService/business/areas/page', data, {
+ trim: true
+ })
+}
+export function listByParentId (data) {
+ return request.post('/visitsAdmin/cloudService/business/areas/listByParentId', data)
+}
+
+// 鍒涘缓
+export function create (data) {
+ return request.post('/visitsAdmin/cloudService/business/areas/create', data)
+}
+
+// 淇敼
+export function updateById (data) {
+ return request.post('/visitsAdmin/cloudService/business/areas/updateById', data)
+}
+
+// 鏍戝舰
+export function treeList (data) {
+ return request.post('/visitsAdmin/cloudService/business/areas/listByParentId', data)
+}
+
+// 鍒犻櫎
+export function deleteById (id) {
+ return request.get(`/visitsAdmin/cloudService/business/areas/delete/${id}`)
+}
+
+// 鎵归噺鍒犻櫎
+export function deleteByIdInBatch (ids) {
+ return request.get('/visitsAdmin/cloudService/business/areas/delete/batch', {
+ params: {
+ ids
+ }
+ })
+}
diff --git a/admin/src/components/business/OperaAreasWindow.vue b/admin/src/components/business/OperaAreasWindow.vue
new file mode 100644
index 0000000..fea3c84
--- /dev/null
+++ b/admin/src/components/business/OperaAreasWindow.vue
@@ -0,0 +1,94 @@
+<template>
+ <GlobalAlertWindow
+ :title="title"
+ :visible.sync="visible"
+ :confirm-working="isWorking"
+ @confirm="confirm"
+ >
+ <el-form :model="form" ref="form" label-width="100px" label-suffix="锛�" :rules="rules">
+ <el-form-item :label="form.type==0?'甯傚悕绉�':'鍘垮尯鍚嶇О'" prop="name">
+ <el-input v-model="form.name" :placeholder="form.type==0?'杈撳叆甯傚悕绉�':'杈撳叆鍘垮尯鍚嶇О'" 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>
+ </GlobalAlertWindow>
+</template>
+
+<script>
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalAlertWindow from '@/components/common/GlobalAlertWindow'
+export default {
+ name: 'OperaAreasWindow',
+ extends: BaseOpera,
+ components: { GlobalAlertWindow },
+ data () {
+ return {
+ // 琛ㄥ崟鏁版嵁
+ form: {
+ id: null,
+ parentId: null,
+ name: null,
+ sortnum: '0',
+ type: '',
+ },
+ // 楠岃瘉瑙勫垯
+ rules: {
+ }
+ }
+ },
+ created () {
+ this.config({
+ api: '/business/areas',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+ // 纭鏂板缓
+ __confirmCreate () {
+ this.$refs.form.validate((valid) => {
+ if (!valid) {
+ return
+ }
+ // 璋冪敤鏂板缓鎺ュ彛
+ this.isWorking = true
+ this.api.create(this.form)
+ .then(() => {
+ this.visible = false
+ this.$message.success('鏂板缓鎴愬姛')
+ this.$emit('success', this.form.parentId)
+ })
+ .catch(e => {
+ this.$message.error(e)
+ })
+ .finally(() => {
+ this.isWorking = false
+ })
+ })
+ },
+ // 纭淇敼
+ __confirmEdit () {
+ this.$refs.form.validate((valid) => {
+ if (!valid) {
+ return
+ }
+ // 璋冪敤鏂板缓鎺ュ彛
+ this.isWorking = true
+ this.api.updateById(this.form)
+ .then(() => {
+ this.visible = false
+ this.$message.success('淇敼鎴愬姛')
+ this.$emit('success', this.form.parentId)
+ })
+ .catch(e => {
+ this.$message.error(e)
+ })
+ .finally(() => {
+ this.isWorking = false
+ })
+ })
+ }
+ },
+}
+</script>
diff --git a/admin/src/views/business/areas.vue b/admin/src/views/business/areas.vue
new file mode 100644
index 0000000..3d05d52
--- /dev/null
+++ b/admin/src/views/business/areas.vue
@@ -0,0 +1,160 @@
+<template>
+ <TableLayout :permissions="['business:areas:query']">
+ <!-- 琛ㄦ牸鍜屽垎椤� -->
+ <template v-slot:table-wrap>
+ <el-table
+ ref="table"
+ v-loading="isWorking.search"
+ :data="tableData.list"
+ lazy
+ :load="load"
+ :tree-props="{ children: 'childList', hasChildren: 'hasChildren' }"
+ row-key="id"
+ stripe
+ border
+ :header-row-class-name="'table-header'"
+ class="doumee-element-table"
+ @selection-change="handleSelectionChange"
+ >
+ <el-table-column prop="name" label="鍦板尯鍚嶇О" min-width="100px"></el-table-column>
+ <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" align="center" min-width="140px"></el-table-column>
+ <el-table-column prop="sortnum" label="鎺掑簭鐮�" align="center" min-width="140px"></el-table-column>
+ <el-table-column
+ v-if="containPermissions(['business:areas:update', 'business:areas:create', 'business:areas:delete'])"
+ label="鎿嶄綔"
+ align="center"
+ min-width="220"
+ fixed="right"
+ >
+ <template slot-scope="{ row }">
+ <el-button type="text" @click="edit(row)" v-permissions="['business:areas:update']">缂栬緫</el-button>
+ <el-button v-if="row.type!=2" type="text" @click="createChild(row)" v-permissions="['business:areas:create']">鏂板缓{{ row.type==0 ? '甯�' : '鍖哄幙' }}</el-button>
+ <el-button type="text" @click="deleteById(row)" v-permissions="['business:areas:delete']">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </template>
+ <!-- 鏂板缓/淇敼 -->
+ <OperaAreasWindow ref="operaAreasWindow" @success="update"/>
+ </TableLayout>
+</template>
+
+<script>
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import Pagination from '@/components/common/Pagination'
+import OperaAreasWindow from '@/components/business/OperaAreasWindow'
+import { listByParentId } from '@/api/business/areas'
+export default {
+ name: 'Areas',
+ extends: BaseTable,
+ components: { TableLayout, Pagination, OperaAreasWindow },
+ data () {
+ return {
+ // 鎼滅储
+ searchForm: {
+ type: 0,
+ parentId: ''
+ },
+ treeMaps: new Map(),
+ parentId: null
+ }
+ },
+ created () {
+ this.config({
+ module: '鐪佸競鍖轰俊鎭〃',
+ api: '/business/areas',
+ 'field.id': 'id',
+ 'field.main': 'id'
+ })
+ this.search()
+ },
+ methods: {
+
+ // 椤电爜鍙樻洿澶勭悊
+ handlePageChange (pageIndex) {
+
+ this.isWorking.search = true
+ listByParentId(this.searchForm)
+ .then(data => {
+ this.tableData.list = this.dataAddBool(data)
+ })
+ .catch(e => {
+ this.$message.error(e)
+ })
+ .finally(() => {
+ this.isWorking.search = false
+ })
+ },
+ dataAddBool(array) {
+ array.forEach(item => {
+ item.hasChildren = item.type != 2
+ // item.childList = item.childList && this.dataAddBool(item.childList)
+ })
+ return array
+ },
+ load(tree, treeNode, resolve) {
+ this.treeMaps.set(tree.id, { tree, treeNode, resolve })
+ listByParentId({ parentId: tree.id, type: tree.type + 1 })
+ .then(data => {
+ resolve(this.dataAddBool(data||[]))
+ })
+ .catch(e => {
+ this.$message.error(e)
+ })
+ .finally(() => {
+ this.isWorking.search = false
+ })
+ },
+ refreshLoadTree(parentId) {
+ if (this.treeMaps.get(parentId)) {
+ const { tree, treeNode, resolve } = this.treeMaps.get(parentId)
+ this.$set(this.$refs.table.store.states.lazyTreeNodeMap, parentId, [])
+ if (tree) { // 閲嶆柊鎵ц鐖惰妭鐐瑰姞杞藉瓙绾ф搷浣�
+ this.load(tree, treeNode, resolve)
+ if (tree.parentId) { // 鑻ュ瓨鍦ㄧ埛鐖风粨鐐癸紝鍒欐墽琛岀埛鐖疯妭鐐瑰姞杞藉瓙绾ф搷浣滐紝闃叉鏈�鍚庝竴涓瓙鑺傜偣琚垹闄ゅ悗鐖惰妭鐐逛笉鏄剧ず鍒犻櫎鎸夐挳
+ const a = this.treeMaps.get(tree.parentId)
+ this.load(a.tree, a.treeNode, a.resolve)
+ }
+ }
+ } else {
+ this.handlePageChange()
+ }
+ },
+ deleteById (row, childConfirm = true) {
+ // let message = `纭鍒犻櫎${this.module}銆�${row[this.configData['field.main']]}銆戝悧?`
+ let message = `纭鍒犻櫎璇ヨ褰曞悧?`
+ if (childConfirm && row.childList != null && row.childList.length > 0) {
+ // message = `纭鍒犻櫎${this.module}銆�${row[this.configData['field.main']]}銆戝強鍏跺瓙${this.module}鍚�?`
+ message = `纭鍒犻櫎璇ヨ褰曞強鍏跺瓙鏁版嵁鍚�?`
+ }
+ this.$dialog.deleteConfirm(message)
+ .then(() => {
+ this.isWorking.delete = true
+ this.api.deleteById(row[this.configData['field.id']])
+ .then(() => {
+ this.$message.success('鍒犻櫎鎴愬姛')
+ this.refreshLoadTree(row.parentId)
+ })
+ .catch(e => {
+ this.$message.error(e)
+ })
+ .finally(() => {
+ this.isWorking.delete = false
+ })
+ })
+ .catch(() => {})
+ },
+ edit(row) {
+ // this.parentId = row.type==0 ? null : row.type==1 ? '缂栬緫甯�' : '缂栬緫鍖哄幙'
+ this.$refs.operaAreasWindow.open(row.type==0 ? '缂栬緫鐪�' : row.type==1 ? '缂栬緫甯�' : '缂栬緫鍖哄幙', row)
+ },
+ createChild(row) {
+ this.$refs.operaAreasWindow.open(row.type == 0 ? '鏂板缓甯�' : '鏂板缓鍘垮尯', { parentId: row.id, name: '', type: row.type + 1 })
+ },
+ update(parentId) {
+ this.refreshLoadTree(parentId)
+ }
+ }
+}
+</script>
diff --git a/server/meeting/meeting_admin/src/main/resources/application.yml b/server/meeting/meeting_admin/src/main/resources/application.yml
index 518acab..7d88e9d 100644
--- a/server/meeting/meeting_admin/src/main/resources/application.yml
+++ b/server/meeting/meeting_admin/src/main/resources/application.yml
@@ -34,7 +34,7 @@
cache:
session:
# 浼氳瘽杩囨湡鏃堕暱(s)
- expire: 18000
+ expire: 1800
captcha:
# 楠岃瘉鐮佽繃鏈熸椂闀�(s)
expire: 300
diff --git a/server/system_gateway/src/main/resources/application.yml b/server/system_gateway/src/main/resources/application.yml
index 6503fa3..4ac439b 100644
--- a/server/system_gateway/src/main/resources/application.yml
+++ b/server/system_gateway/src/main/resources/application.yml
@@ -37,7 +37,7 @@
cache:
session:
# 浼氳瘽杩囨湡鏃堕暱(s)
- expire: 18000
+ expire: 1800
captcha:
# 楠岃瘉鐮佽繃鏈熸椂闀�(s)
expire: 300
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 6bedf52..5a66940 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
@@ -43,6 +43,9 @@
public static final String HK_APPSECRET ="HK_APPSECRET" ;
public static final String HK_HTTPS ="HK_HTTPS" ;
public static final String HK_PUSH_URL = "HK_PUSH_URL";
+ public static final String HK_CARS_OPENAPI_ACCESS_KEY = "HK_CARS_OPENAPI_ACCESS_KEY";
+ public static final String HK_CARS_OPENAPI_ACCESS_SECRET = "HK_CARS_OPENAPI_ACCESS_SECRET";
+ public static final String HK_CARS_OPENAPI_URL = "HK_CARS_OPENAPI_URL";
public static final String HK_ROOTORG_CODE ="HK_ROOTORG_CODE" ;
public static final String HK_ROOTORG_NAME ="HK_ROOTORG_NAME" ;
public static final String PLATFORM ="PLATFORM" ;
@@ -470,6 +473,14 @@
d = d.setScale(4, BigDecimal.ROUND_HALF_UP);
return d;
}
+ public static BigDecimal formatBigdecimal0Float(BigDecimal d) {
+ if (d == null) {
+ d = new BigDecimal(0.0);
+ }
+ //淇濈暀涓や綅灏忔暟涓斿洓鑸嶄簲鍏�
+ d = d.setScale(0, BigDecimal.ROUND_HALF_UP);
+ return d;
+ }
public static BigDecimal formatBigdecimal2Float(BigDecimal d) {
if (d == null) {
d = new BigDecimal(0.0);
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
index f36958d..138be2b 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
@@ -442,7 +442,7 @@
* @return String
* @throws Exception
*/
- public static String getNowPlusTime() throws Exception {
+ public static String getNowPlusTime() {
String nowDate = "";
try {
java.sql.Date date = null;
@@ -3042,6 +3042,12 @@
calendar.add(Calendar.MONTH, month);//
return calendar.getTime();
}
+ public static Date addYearToDate(Date date, int year) {
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(date);
+ calendar.add(Calendar.YEAR, year);//
+ return calendar.getTime();
+ }
public static String afterDateToStr(Integer days){
Date date = new Date();
diff --git a/server/system_timer/src/main/resources/application.yml b/server/system_timer/src/main/resources/application.yml
index aac855a..8910d6c 100644
--- a/server/system_timer/src/main/resources/application.yml
+++ b/server/system_timer/src/main/resources/application.yml
@@ -35,7 +35,7 @@
cache:
session:
# 浼氳瘽杩囨湡鏃堕暱(s)
- expire: 18000
+ expire: 1800
captcha:
# 楠岃瘉鐮佽繃鏈熸椂闀�(s)
expire: 300
diff --git a/server/visits/admin_timer/src/main/resources/application.yml b/server/visits/admin_timer/src/main/resources/application.yml
index 528dfe4..d1672e0 100644
--- a/server/visits/admin_timer/src/main/resources/application.yml
+++ b/server/visits/admin_timer/src/main/resources/application.yml
@@ -31,7 +31,7 @@
cache:
session:
# 浼氳瘽杩囨湡鏃堕暱(s)
- expire: 18000
+ expire: 1800
captcha:
# 楠岃瘉鐮佽繃鏈熸椂闀�(s)
expire: 300
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunActController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunActController.java
new file mode 100644
index 0000000..d990173
--- /dev/null
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunActController.java
@@ -0,0 +1,157 @@
+package com.doumee.cloud.board;
+
+import com.doumee.api.BaseController;
+import com.doumee.config.annotation.LoginNoRequired;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.join.PlatformJobJoinMapper;
+import com.doumee.dao.business.model.Platform;
+import com.doumee.dao.business.model.PlatformBooks;
+import com.doumee.dao.business.model.PlatformJob;
+import com.doumee.dao.business.model.PlatformWmsJob;
+import com.doumee.dao.web.reqeust.CarsJobAndContractDTO;
+import com.doumee.dao.web.response.platformReport.*;
+import com.doumee.service.business.third.BoardService;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2024/10/28 13:42
+ */
+
+@Api(tags = "銆愮湅鏉垮ぇ灞忋�戝洯鍖虹墿娴佽繍琛岃皟搴︾湅鏉�")
+@RestController
+@Slf4j
+@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/board/api/platformJobRunAct")
+public class PlatformJobRunActController extends BaseController {
+
+ @Autowired
+ private PlatformJobJoinMapper platformJobJoinMapper;
+ @Autowired
+ private BoardService boardService;
+
+ @LoginNoRequired
+ @ApiOperation("鏌ヨ鏈湀銆佹湰骞寸殑绱鍑哄簱閲�,鍑哄叆搴撲换鍔¢噺銆佸嚭鍏ュ簱浣滀笟鏁堢巼缁熻鏁版嵁")
+ @GetMapping("/centerData")
+ public ApiResponse<PlatformJobRunBoardNewVO> centerData() {
+ PlatformJobRunBoardNewVO data = boardService.platformJobCenterData();
+ return ApiResponse.success(data);
+ }
+
+
+
+ @LoginNoRequired
+ @ApiOperation("杩愯緭浠诲姟鍒嗘瀽")
+ @GetMapping("/transportMeasure")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "queryType", value = "鏌ヨ绫诲瀷锛�0=鍛紱1=鏈堬紱2=骞达紱", required = true),
+ })
+ public ApiResponse<List<TransportMeasureVO>> transportMeasure(@RequestParam Integer queryType) {
+ List<TransportMeasureVO> list = boardService.transportMeasure(queryType);
+ return ApiResponse.success(list);
+ }
+ @LoginNoRequired
+ @ApiOperation("姹借溅鐘舵�併�佺粡绾害闆嗗悎鏁版嵁")
+ @GetMapping("/carsList")
+ public ApiResponse<BoardCarsListVO> carsList() {
+ BoardCarsListVO data = boardService.platformJobCarsList();
+ return ApiResponse.success(data);
+ }
+ @LoginNoRequired
+ @ApiOperation("鏍规嵁杞︾墝鍙锋煡璇綔涓氫俊鎭拰鍚堝悓淇℃伅闆嗗悎")
+ @PostMapping("/getCarsJobDetails")
+ public ApiResponse<CarsJobAndContractVO> getCarsJobDetails(@RequestBody CarsJobAndContractDTO param) {
+ CarsJobAndContractVO data = boardService.getCarsJobDetails(param);
+ return ApiResponse.success(data);
+ }
+ @LoginNoRequired
+ @ApiOperation("褰撴棩杩愯緭浠诲姟")
+ @GetMapping("/platformJobList")
+ public ApiResponse<List<PlatformJob>> platformJobList() {
+ List<PlatformJob> list = platformJobJoinMapper.selectJoinList(PlatformJob.class,
+ new MPJLambdaWrapper<PlatformJob>()
+ .selectAll(PlatformJob.class)
+ .selectAs(PlatformBooks::getId,PlatformJob::getBookId)
+ .selectAs(Platform::getName,PlatformJob::getPlatformName)
+ .selectAs(Platform::getWorkRate,PlatformJob::getWorkRate)
+ .selectAs(PlatformWmsJob::getCarrierName,PlatformJob::getCarrierName)
+ .selectAs(PlatformWmsJob::getRepertotyAddress,PlatformJob::getRepertotyAddress)
+ .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
+ .leftJoin(PlatformWmsJob.class,PlatformWmsJob::getCarryBillCode,PlatformJob::getBillCode)
+ .leftJoin(PlatformBooks.class,PlatformBooks::getJobId,PlatformJob::getId)
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+ .in(PlatformJob::getStatus
+ ,Constants.PlatformJobStatus.WAIT_CALL.getKey()
+ ,Constants.PlatformJobStatus.CALLED.getKey()
+ ,Constants.PlatformJobStatus.IN_WAIT.getKey()
+ ,Constants.PlatformJobStatus.WORKING.getKey()
+ ,Constants.PlatformJobStatus.TRANSFERING.getKey()
+ ,Constants.PlatformJobStatus.EXCEPTION.getKey()
+ ,Constants.PlatformJobStatus.DONE.getKey()
+ )
+ .orderByDesc(PlatformJob::getSignNum)
+ .last(" limit 20 ")
+ );
+ return ApiResponse.success(list);
+ }
+ @LoginNoRequired
+ @ApiOperation("鍑哄叆搴撲换鍔¢噺")
+ @GetMapping("/jobData")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "queryType", value = "鏌ヨ绫诲瀷锛�0=鍑哄簱锛�1=鍏ュ簱锛�", required = true),
+ })
+ public ApiResponse<JobDataVO> jobData(@RequestParam Integer queryType) {
+ Random random = new Random();
+ JobDataVO jobDataVO = new JobDataVO();
+ jobDataVO.setPlanTaskNum(BigDecimal.valueOf(random.nextInt(1000)));
+ jobDataVO.setFinishTaskNum(BigDecimal.valueOf(jobDataVO.getPlanTaskNum().intValue()));
+ return ApiResponse.success(jobDataVO);
+ }
+ @LoginNoRequired
+ @ApiOperation("浠婃棩鍏ュ簱閲忕粺璁�")
+ @GetMapping("/totalInList")
+ public ApiResponse<List<GeneralVO>> totalInList() {
+ List<GeneralVO> list = new ArrayList<>();
+ for (int i = 1; i < 4; i++) {
+ Random random = new Random();
+ GeneralVO data = new GeneralVO();
+ data.setName("鍘傚尯鍚嶇О_"+i);
+ data.setNum(BigDecimal.valueOf(random.nextInt(1000)));
+ list.add(data);
+ }
+ return ApiResponse.success(list);
+ }
+
+
+
+ @LoginNoRequired
+ @ApiOperation("搴撳瓨鎯呭喌")
+ @GetMapping("/stockList")
+ public ApiResponse<List<GeneralVO>> stockList() {
+ List<GeneralVO> list = new ArrayList<>();
+ for (int i = 1; i < 10; i++) {
+ Random random = new Random();
+ GeneralVO data = new GeneralVO();
+ data.setName("鍚嶇О"+i);
+ data.setNum(BigDecimal.valueOf(random.nextInt(1000)));
+ list.add(data);
+ }
+ return ApiResponse.success(list);
+ }
+
+
+}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunController.java
index 131ee88..68ad75d 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunController.java
@@ -98,9 +98,6 @@
}
-
-
-
@LoginNoRequired
@ApiOperation("褰撴棩杩愯緭浠诲姟")
@GetMapping("/platformJobList")
diff --git a/server/visits/dmvisit_admin/src/main/resources/application.yml b/server/visits/dmvisit_admin/src/main/resources/application.yml
index a375639..b3bbf53 100644
--- a/server/visits/dmvisit_admin/src/main/resources/application.yml
+++ b/server/visits/dmvisit_admin/src/main/resources/application.yml
@@ -34,7 +34,7 @@
cache:
session:
# 浼氳瘽杩囨湡鏃堕暱(s)
- expire: 18000
+ expire: 1800
captcha:
# 楠岃瘉鐮佽繃鏈熸椂闀�(s)
expire: 300
diff --git a/server/visits/dmvisit_screen/src/main/resources/application.yml b/server/visits/dmvisit_screen/src/main/resources/application.yml
index 520ec84..a768f65 100644
--- a/server/visits/dmvisit_screen/src/main/resources/application.yml
+++ b/server/visits/dmvisit_screen/src/main/resources/application.yml
@@ -37,7 +37,7 @@
cache:
session:
# 浼氳瘽杩囨湡鏃堕暱(s)
- expire: 18000
+ expire: 1800
captcha:
# 楠岃瘉鐮佽繃鏈熸椂闀�(s)
expire: 300
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/BaseCarsPageResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/BaseCarsPageResponse.java
new file mode 100644
index 0000000..c7755a5
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/BaseCarsPageResponse.java
@@ -0,0 +1,18 @@
+package com.doumee.core.haikang.model.cars;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class BaseCarsPageResponse<T> {
+
+ private int total;// number False 鏌ヨ鏁版嵁璁板綍鎬绘暟
+ private int totalPages;// 鎬婚〉鏁� Integer
+ private int currentPage ;//褰撳墠椤� Integer
+ private int totalRecords;// 鎬昏褰曟潯鏁� Long
+ private int startIndex ;//璁板綍寮�濮嬪簭鍙� Long
+ @JSONField(name="results",alternateNames = {"rows","list"})
+ private List<T> results ;// object[] False 鏉冮檺缁勫璞″垪琛�
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/BaseCarsResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/BaseCarsResponse.java
new file mode 100644
index 0000000..a515ba2
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/BaseCarsResponse.java
@@ -0,0 +1,17 @@
+package com.doumee.core.haikang.model.cars;
+
+import lombok.Data;
+
+@Data
+public class BaseCarsResponse<T> {
+
+ private T data;
+ /**
+ *閿欒淇℃伅鎻忚堪锛屼粎status涓嶄负0鏃舵湁鍊�
+ */
+ private String msg;
+ /**
+ * 璇锋眰缁撴灉鐘舵�佸�硷紝 鎴愬姛涓�0锛屽叾浠栧�艰鏌ョ湅闄勫綍杩斿洖鐮佺姸鎬佽〃銆�
+ */
+ private Integer status;
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/request/CarsDeviceRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/request/CarsDeviceRequest.java
new file mode 100644
index 0000000..ea45f77
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/request/CarsDeviceRequest.java
@@ -0,0 +1,14 @@
+package com.doumee.core.haikang.model.cars.request;
+
+import lombok.Data;
+
+/**
+ * 璁惧鍒楄〃璇锋眰淇℃伅
+ */
+@Data
+public class CarsDeviceRequest {
+
+ private String productKey ;//璁惧鍨嬪彿绉橀挜 String 鏃� 鍚�
+ private Integer pageSize;// 椤甸潰澶у皬 Integer 1000 鍚�
+ private Integer pageNo ;//褰撳墠椤� Integer 1
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/request/CarsGpsRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/request/CarsGpsRequest.java
new file mode 100644
index 0000000..cdd615c
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/request/CarsGpsRequest.java
@@ -0,0 +1,18 @@
+package com.doumee.core.haikang.model.cars.request;
+
+import lombok.Data;
+
+/**
+ * GPS鍒楄〃璇锋眰淇℃伅
+ */
+@Data
+public class CarsGpsRequest {
+
+ private String deviceCode ;//璁惧缁堢鎵嬫満鍙� String 鏃� 鏄�
+ private String startTime ;//寮�濮嬫椂闂磞yyy-MM-dd HH:mm:ss String 鏃� 鏄�
+ private String endTime ;//缁撴潫鏃堕棿yyyy-MM-dd HH:mm:ss String 鏃� 鏄�
+ private Boolean filterInvalidGps ;//鏄惁杩囨护鏃犳晥鐨凣PS boolean true 鍚�
+ private Boolean filterSupplementGps ;//鏄惁杩囨护琛ユ姤鐨凣PS boolean true 鍚�
+ private Integer pageSize;// 椤甸潰澶у皬 Integer 1000 鍚�
+ private Integer pageNo ;//褰撳墠椤� Integer 1
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsDeviceChannelResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsDeviceChannelResponse.java
new file mode 100644
index 0000000..10b096c
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsDeviceChannelResponse.java
@@ -0,0 +1,16 @@
+package com.doumee.core.haikang.model.cars.response;
+
+import lombok.Data;
+
+
+/**
+ * 璁惧閫氶亾淇℃伅
+ * @param <T>
+ */
+@Data
+public class CarsDeviceChannelResponse<T> {
+ private String terminalID;// 缁堢鎵嬫満鍙� String
+ private String channelName;// 閫氶亾鍙峰悕绉� String
+ private Integer channelNum;// 閫氶亾缂栧彿
+ private Integer channelType;// 閫氶亾鍙风被鍨嬶紝0 瑙嗛閫氶亾锛�1 闊抽閫氶亾
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsDeviceDetaisResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsDeviceDetaisResponse.java
new file mode 100644
index 0000000..2eb08b9
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsDeviceDetaisResponse.java
@@ -0,0 +1,23 @@
+package com.doumee.core.haikang.model.cars.response;
+
+import lombok.Data;
+
+/**
+ * GPS鍒楄〃鍗曞厓淇℃伅
+ */
+@Data
+public class CarsDeviceDetaisResponse {
+ private Integer gpsValid ;//瀹氫綅鐘舵�侊紝0 鏃犳晥锛� 1 鏈夋晥
+ private Double longitude ;//缁忓害 Double
+ private Double latitude;// 绾害
+ private Double altitude ;//娴锋嫈楂樺害
+ private Float speed;// 閫熷害
+ private Integer direction;// 鏂瑰悜瑙� Integer
+ private String collectTime ;//GPS涓婃姤鏃堕棿yyyy-MM-dd HH:mm:ss String
+ private String accStatus;// acc鐘舵�� 0锛氬叧闂� 1锛氬紑鍚� String
+ private Integer supplementSign;// 琛ユ姤鏍囪瘑锛�1锛氳ˉ鎶ワ紱0锛氭甯镐笂鎶ワ級 Integer
+ private String createTime;// 绯荤粺鏀跺埌GPS鏃堕棿yyyy-MM-dd HH:mm:ss String
+ private Integer status;//璁惧鐘舵�� 0锛氱绾匡紱1锛氬湪绾匡紱2锛氫紤鐪�
+ private String plateNum;//杞︾墝鍙�
+ private String terminalID;// 缁堢鎵嬫満鍙� String
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsDeviceResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsDeviceResponse.java
new file mode 100644
index 0000000..5fbcdb0
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsDeviceResponse.java
@@ -0,0 +1,25 @@
+package com.doumee.core.haikang.model.cars.response;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 璁惧鍒楄〃鍗曞厓淇℃伅
+ * @param <T>
+ */
+@Data
+public class CarsDeviceResponse<T> {
+
+ private String terminalID;// 缁堢鎵嬫満鍙� String
+ private String productKey ;//璁惧鎵�灞炲瀷鍙风殑浜у搧瀵嗛挜 String
+ private String createTime;// 娣诲姞鏃堕棿 String
+ private String deviceStatus;// 璁惧鐘舵�� 0锛氱绾匡紱1锛氬湪绾匡紱2锛氫紤鐪� Integer
+ private String language ;//鍥轰欢璇█锛欳N/EN String
+ private String organizeName;// 缁勭粐鍚嶇О Sring
+ private String organizeId ;//缁勭粐id Integer
+ private String version ;//杞欢鐗堟湰 String
+ private String plateNum ;//杞︾墝鍙� String
+ private List<CarsDeviceChannelResponse> deviceChannelList;// 璁惧閫氶亾鍒楄〃锛岃缁嗗弬鏁拌*琛�2
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsGpsResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsGpsResponse.java
new file mode 100644
index 0000000..2f5642f
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsGpsResponse.java
@@ -0,0 +1,25 @@
+package com.doumee.core.haikang.model.cars.response;
+
+import lombok.Data;
+
+import javax.annotation.PostConstruct;
+import java.util.List;
+
+/**
+ * GPS鍒楄〃鍗曞厓淇℃伅
+ * @param <T>
+ */
+@Data
+public class CarsGpsResponse<T> {
+
+ private Integer gpsValid ;//瀹氫綅鐘舵�侊紝0 鏃犳晥锛� 1 鏈夋晥
+ private Double longitude ;//缁忓害 Double
+ private Double latitude;// 绾害
+ private Double altitude ;//娴锋嫈楂樺害
+ private Float speed;// 閫熷害
+ private Integer direction;// 鏂瑰悜瑙� Integer
+ private String collectTime ;//GPS涓婃姤鏃堕棿yyyy-MM-dd HH:mm:ss String
+ private String accStatus;// acc鐘舵�� 0锛氬叧闂� 1锛氬紑鍚� String
+ private Integer supplementSign;// 琛ユ姤鏍囪瘑锛�1锛氳ˉ鎶ワ紱0锛氭甯镐笂鎶ワ級 Integer
+ private String createTime;// 绯荤粺鏀跺埌GPS鏃堕棿yyyy-MM-dd HH:mm:ss String
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKCarOpenService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKCarOpenService.java
new file mode 100644
index 0000000..648f197
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKCarOpenService.java
@@ -0,0 +1,236 @@
+package com.doumee.core.haikang.service;
+
+ import com.alibaba.fastjson.JSONObject;
+ import com.alibaba.fastjson.TypeReference;
+ import com.doumee.core.haikang.model.cars.BaseCarsPageResponse;
+ import com.doumee.core.haikang.model.cars.BaseCarsResponse;
+ import com.doumee.core.haikang.model.cars.request.CarsDeviceRequest;
+ import com.doumee.core.haikang.model.cars.request.CarsGpsRequest;
+ import com.doumee.core.haikang.model.cars.response.CarsDeviceDetaisResponse;
+ import com.doumee.core.haikang.model.cars.response.CarsDeviceResponse;
+ import com.doumee.core.haikang.model.cars.response.CarsGpsResponse;
+ import com.doumee.core.haikang.model.param.BaseListPageResponse;
+ import com.doumee.core.haikang.model.param.BaseResponse;
+ import com.doumee.core.haikang.model.param.respose.FindHomeAlarmInfoPageResponse;
+ import com.doumee.core.utils.Constants;
+ import com.doumee.core.utils.DateUtil;
+ import com.google.common.collect.Maps;
+ import org.apache.commons.lang3.StringUtils;
+ import org.apache.http.client.methods.CloseableHttpResponse;
+ import org.apache.http.client.methods.HttpGet;
+ import org.apache.http.impl.client.CloseableHttpClient;
+ import org.apache.http.impl.client.HttpClientBuilder;
+ import org.apache.http.util.EntityUtils;
+ import org.springframework.http.HttpMethod;
+
+ import java.io.UnsupportedEncodingException;
+ import java.util.*;
+
+public class HKCarOpenService {
+
+ public static String ACCESS_KEY = "D_SUB_gfJkiUxt_1723101405213";
+ public static String ACCESS_SECRET = "0vB3VLU21SC6eG8T";
+ private static final String SIGNATURE_METHOD = "HMAC-SHA1";
+ private static final String DEFAULT_CHARSET = "UTF-8";
+ private static final String REGION_ID = "cn-hangzhou";
+ private static final String VERSION = "2.1.0";
+ public static String BASE_URL = "https://open.hikvisionauto.com:14021/v2/";
+ private static TreeMap<String, String> getBaseParams() {
+ Map<String, String> params = Maps.newHashMap();
+ params.put("SignatureMethod", SIGNATURE_METHOD);
+ params.put("SignatureNonce", UUID.randomUUID().toString());
+ params.put("AccessKey", ACCESS_KEY);
+ params.put("Timestamp", String.valueOf(System.currentTimeMillis()));
+ params.put("Version", VERSION);
+ params.put("RegionId", REGION_ID);
+ TreeMap<String, String> sortParas = Maps.newTreeMap();
+ sortParas.putAll(params);
+ return sortParas;
+ }
+
+ public static String sign(String accessSecret, TreeMap<String, String> params, HttpMethod method) throws Exception {
+ String stringToSign = getStringToSign(params, method);
+ System.out.println("StringToSign = [" + stringToSign + "]");
+ javax.crypto.Mac mac = javax.crypto.Mac.getInstance("HmacSHA1");
+ mac.init(new javax.crypto.spec.SecretKeySpec(accessSecret.getBytes(DEFAULT_CHARSET), "HmacSHA1"));
+ byte[] signData = mac.doFinal(stringToSign.getBytes(DEFAULT_CHARSET));
+ return new sun.misc.BASE64Encoder().encode(signData);
+ }
+
+ private static String getStringToSign(TreeMap<String, String> params, HttpMethod method) throws Exception {
+ StringBuilder sortQueryStringTmp = new StringBuilder();
+ for(Map.Entry<String, String> entry : params.entrySet()){
+ sortQueryStringTmp.append("&").append(specialUrlEncode(entry.getKey())).append("=").append(specialUrlEncode(entry.getValue()));
+ }
+ StringBuilder stringToSign = new StringBuilder();
+ stringToSign.append(method.toString()).append("&").append(specialUrlEncode("/")).append("&").append(specialUrlEncode(sortQueryStringTmp.substring(1)));
+ return stringToSign.toString();
+ }
+
+ public static String specialUrlEncode(String value) throws Exception {
+ return java.net.URLEncoder.encode(value, "UTF-8").replace("+", "%20").replace("*", "%2A").replace("%7E", "~");
+ }
+
+ public static void main(String[] args) {
+ getAllCarsDetais();
+ }
+
+ public static List<CarsDeviceDetaisResponse> getAllCarsDetais() {
+ List<CarsDeviceDetaisResponse> list = new ArrayList<>();
+ BaseCarsPageResponse<CarsDeviceResponse> data = getDeviceList(new CarsDeviceRequest());
+ if(data!=null &&data.getResults()!=null){
+ List<String> cars = new ArrayList<>();
+ List<String> codes = new ArrayList<>();
+ for(CarsDeviceResponse model :data.getResults()){
+// System.out.println("=================杞︾墝鍙凤細"+model.getPlateNum());
+ cars.add(model.getPlateNum());
+ codes.add(model.getTerminalID());
+ CarsDeviceDetaisResponse t = new CarsDeviceDetaisResponse();
+ t.setPlateNum(model.getPlateNum());
+ t.setTerminalID(model.getTerminalID());
+ /*CarsGpsRequest gp = new CarsGpsRequest();
+ gp.setDeviceCode(t.getTerminalID());
+ gp.setFilterSupplementGps(false);
+ gp.setFilterSupplementGps(false);
+ gp.setStartTime(DateUtil.getYesterday()+" 00:00:00");
+ gp.setEndTime(DateUtil.getNowPlusTime());
+ gp.setPageNo(1);
+ gp.setPageSize(10);*/
+ CarsGpsResponse tg = getLatestGpsInfo(t.getTerminalID());
+ if(tg!=null ){
+ t.setSpeed(tg.getSpeed());
+ t.setLatitude(tg.getLatitude());
+ t.setLongitude(tg.getLongitude());
+ t.setCollectTime(tg.getCollectTime());
+ t.setAccStatus(tg.getAccStatus());
+ t.setGpsValid(tg.getGpsValid());
+ }
+ list.add(t);
+ }
+ System.out.println("=================杞︾墝鎬绘暟锛�"+codes.size());
+ Map<String,Integer> statusList = getDeviceStatusList(codes);
+ if(statusList!=null &&statusList.size()>0){
+ for(Map.Entry<String, Integer> entry : statusList.entrySet()){
+ CarsDeviceDetaisResponse t = getFromListById(entry.getKey(),list);
+ if(t!=null) {
+ t.setStatus(entry.getValue());
+ }
+ }
+ }
+ }
+ for(CarsDeviceDetaisResponse m : list){
+
+ System.out.println("=================杞︾墝鍙凤細"+m.getPlateNum()+" 鐘舵�侊細銆�"+m.getStatus()+"銆�"+" 浣嶇疆锛氥��"+m.getLongitude()+","+m.getLatitude()+"銆�");
+ }
+ return list;
+ }
+
+ private static CarsDeviceDetaisResponse getFromListById(String key, List<CarsDeviceDetaisResponse> list) {
+ for(CarsDeviceDetaisResponse dd :list){
+ if(dd.getTerminalID()!=null && key !=null && dd.getTerminalID().equals(key)){
+ return dd;
+ }
+ }
+ return null;
+ }
+
+ public static String sendRequest(String url,TreeMap<String, String> map){
+ try {
+ StringBuilder sortQueryStringTmp = new StringBuilder();
+ for(Map.Entry<String, String> entry : map.entrySet()){
+ sortQueryStringTmp
+ .append("&")
+ .append(specialUrlEncode(entry.getKey()))
+ .append("=")
+ .append(specialUrlEncode(entry.getValue()));
+ }
+ //涓庝笅鏂圭殑HttpGet瀵瑰簲锛岄噰鐢ㄧ殑鏄疕ttpMethod.GET
+ String sign = sign(ACCESS_SECRET + "&", map, HttpMethod.GET);
+ url += "?Signature=" + specialUrlEncode(sign) + sortQueryStringTmp.toString();
+ CloseableHttpClient httpClient = HttpClientBuilder.create().build();
+ //涓庝笂鏂圭殑HttpMethod.GET瀵瑰簲锛屼娇鐢℉ttpGet
+ HttpGet httpDelete = new HttpGet(url);
+ CloseableHttpResponse response = httpClient.execute(httpDelete);
+ return EntityUtils.toString(response.getEntity());
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+
+ return null;
+}
+ public static BaseCarsPageResponse<CarsGpsResponse> getGpsList(CarsGpsRequest param) {
+ String url = BASE_URL + "gps/list/";
+ TreeMap<String, String> BASE_PARAMS = getBaseParams();
+ if(StringUtils.isNotBlank(param.getEndTime())) {
+ BASE_PARAMS.put("endTime", param.getEndTime());
+ }
+ if(StringUtils.isNotBlank(param.getStartTime())){
+ BASE_PARAMS.put("startTime",param.getStartTime());
+ }
+ if( param.getFilterInvalidGps() !=null && !param.getFilterInvalidGps()){
+ BASE_PARAMS.put("filterInvalidGps", "false");
+ }
+ if( param.getFilterSupplementGps() !=null && !param.getFilterSupplementGps()){
+ BASE_PARAMS.put("filterSupplementGps", "false");
+ }
+ if(StringUtils.isNotBlank(param.getDeviceCode())){
+ BASE_PARAMS.put("deviceCode", param.getDeviceCode().toString());//璁惧鍨嬪彿绉橀挜
+ }
+ BASE_PARAMS.put("pageSize",Constants.equalsInteger(param.getPageSize(),0)? "100":param.getPageSize().toString());//椤甸潰澶у皬
+ BASE_PARAMS.put("pageNo", Constants.equalsInteger(param.getPageNo(),0)? "1":param.getPageNo().toString());//褰撳墠椤�
+ String str = sendRequest(url,BASE_PARAMS);
+ TypeReference typeReference =
+ new TypeReference<BaseCarsResponse<BaseCarsPageResponse<CarsGpsResponse>>>(){};
+ BaseCarsResponse<BaseCarsPageResponse<CarsGpsResponse>> result = JSONObject.parseObject(str, typeReference.getType());
+ if(result!=null && Constants.equalsInteger(result.getStatus(),0)){
+ return result.getData();
+ }
+ return null;
+ }
+ public static CarsGpsResponse getLatestGpsInfo(String deviceCode) {
+ String url = BASE_URL + "gps/latest/";
+ TreeMap<String, String> BASE_PARAMS = getBaseParams();
+ BASE_PARAMS.put("deviceCode", deviceCode);//璁惧鍨嬪彿绉橀挜
+ String str = sendRequest(url,BASE_PARAMS);
+ TypeReference typeReference =
+ new TypeReference<BaseCarsResponse<CarsGpsResponse>>(){};
+ BaseCarsResponse<CarsGpsResponse> result = JSONObject.parseObject(str, typeReference.getType());
+ if(result!=null && Constants.equalsInteger(result.getStatus(),0)){
+ return result.getData();
+ }
+ return null;
+ }
+ public static Map<String,Integer> getDeviceStatusList(List<String> code) {
+ String url = BASE_URL + "device/status/";
+ TreeMap<String, String> BASE_PARAMS = getBaseParams();
+ if(code ==null || code.size() ==0){
+ return new HashMap<>();
+ }
+ BASE_PARAMS.put("deviceCodeList", JSONObject.toJSONString(code));//缁堢鎵嬫満鍙峰垪琛�
+ String str = sendRequest(url,BASE_PARAMS);
+ TypeReference typeReference =
+ new TypeReference<BaseCarsResponse<Map<String,Integer>>>(){};
+ BaseCarsResponse<Map<String,Integer>> result = JSONObject.parseObject(str, typeReference.getType());
+ if(result!=null && Constants.equalsInteger(result.getStatus(),0)){
+ return result.getData();
+ }
+ return null;
+ }
+ public static BaseCarsPageResponse<CarsDeviceResponse> getDeviceList(CarsDeviceRequest param) {
+ String url = BASE_URL + "device/list/";
+ TreeMap<String, String> BASE_PARAMS = getBaseParams();
+ if(StringUtils.isNotBlank(param.getProductKey())){
+ BASE_PARAMS.put("productKey", "");//璁惧鍨嬪彿绉橀挜
+ }
+ BASE_PARAMS.put("pageSize",Constants.equalsInteger(param.getPageSize(),0)? "100":param.getPageSize().toString());//椤甸潰澶у皬
+ BASE_PARAMS.put("pageNo", Constants.equalsInteger(param.getPageNo(),0)? "1":param.getPageNo().toString());//褰撳墠椤�
+ String str = sendRequest(url,BASE_PARAMS);
+ TypeReference typeReference =
+ new TypeReference<BaseCarsResponse<BaseCarsPageResponse<CarsDeviceResponse>>>(){};
+ BaseCarsResponse<BaseCarsPageResponse<CarsDeviceResponse>> result = JSONObject.parseObject(str, typeReference.getType());
+ if(result!=null && Constants.equalsInteger(result.getStatus(),0)){
+ return result.getData();
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformLogMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformLogMapper.java
index 9f9a195..bcde56a 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformLogMapper.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformLogMapper.java
@@ -2,11 +2,12 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.PlatformLog;
+import com.github.yulichang.base.MPJBaseMapper;
/**
* @author 姹熻箘韫�
* @date 2024/06/28 10:03
*/
-public interface PlatformLogMapper extends BaseMapper<PlatformLog> {
+public interface PlatformLogMapper extends MPJBaseMapper<PlatformLog> {
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformWmsJobMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformWmsJobMapper.java
index e809183..4987b99 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformWmsJobMapper.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformWmsJobMapper.java
@@ -2,11 +2,12 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.PlatformWmsJob;
+import com.github.yulichang.base.MPJBaseMapper;
/**
* @author 姹熻箘韫�
* @date 2024/06/28 10:03
*/
-public interface PlatformWmsJobMapper extends BaseMapper<PlatformWmsJob> {
+public interface PlatformWmsJobMapper extends MPJBaseMapper<PlatformWmsJob> {
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsDetail.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsDetail.java
index 2aad579..e671c0d 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsDetail.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsDetail.java
@@ -77,7 +77,9 @@
@ApiModelProperty(value = "渚涘簲鍟�")
@ExcelColumn(name="渚涘簲鍟�")
private String inRepertotyCode;
-
+ @ApiModelProperty(value = "鏀惰揣鍦�")
+ @ExcelColumn(name="鏀惰揣鍦�")
+ private String repertotyAddress;
@ApiModelProperty(value = "璁″垝鏀惰揣鏁伴噺", example = "1")
@ExcelColumn(name="璁″垝鏀惰揣鏁伴噺")
private BigDecimal ioQty;
@@ -98,7 +100,7 @@
@ApiModelProperty(value = "浣滀笟瀹屾垚鏃堕棿锛堟渶缁堟椂闂达級")
@TableField(exist = false)
private Date doneDate;
- @ApiModelProperty(value = "璁″垝鏀惰揣鏁伴噺(闈瀢ms)", example = "1")
+ @ApiModelProperty(value = "鎵胯繍鍗曞彿", example = "1")
@TableField(exist = false)
- private BigDecimal ortherIoQty;
+ private String carryBillCode;
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsJob.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsJob.java
index d85176d..af71293 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsJob.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsJob.java
@@ -75,7 +75,9 @@
@ApiModelProperty(value = "鍙告満濮撳悕")
@ExcelColumn(name="鍙告満濮撳悕")
private String driverName;
-
+ @ApiModelProperty(value = "鏀惰揣鍦�")
+ @ExcelColumn(name="鏀惰揣鍦�")
+ private String repertotyAddress;
@ApiModelProperty(value = "鎵胯繍鍟�")
@ExcelColumn(name="鎵胯繍鍟�")
private String carrierName;
@@ -104,10 +106,6 @@
@ApiModelProperty(value = "杞︾墝鍙�")
@ExcelColumn(name="杞︾墝鍙�")
private String plateNumber;
-
- @ApiModelProperty(value = "鏀惰揣鍦�")
- @ExcelColumn(name="鏀惰揣鍦�")
- private String repertotyAddress;
@ApiModelProperty(value = "鍚堝悓鍙穈")
@ExcelColumn(name="鍚堝悓鍙穈")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/CarsJobAndContractDTO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/CarsJobAndContractDTO.java
new file mode 100644
index 0000000..4a3a403
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/CarsJobAndContractDTO.java
@@ -0,0 +1,19 @@
+package com.doumee.dao.web.reqeust;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2024/1/4 16:17
+ */
+@Data
+public class CarsJobAndContractDTO {
+
+ @ApiModelProperty(value = "杞︾墝鍙�")
+ private String carCode;
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/AlarmEventDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/AlarmEventDataVO.java
index 7a14036..3c70b1e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/AlarmEventDataVO.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/AlarmEventDataVO.java
@@ -26,7 +26,7 @@
@ApiModelProperty(value = "鎶ヨ婧愯祫婧愬悕绉�")
private String resourceName;
@ApiModelProperty(value = "鎶ヨ鐘舵��")
- private String handleStatus;
+ private Integer handleStatus;
@ApiModelProperty(value = "鎶ヨ绫诲瀷鍚嶇О")
private String alarmTypeName;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/BoardCarsListVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/BoardCarsListVO.java
new file mode 100644
index 0000000..a523f02
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/BoardCarsListVO.java
@@ -0,0 +1,31 @@
+package com.doumee.dao.web.response.platformReport;
+
+import com.doumee.core.haikang.model.cars.response.CarsDeviceDetaisResponse;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 杩愯緭閲�
+ *
+ * @Author : Rk
+ * @create 2024/10/25 10:59
+ */
+@Data
+public class BoardCarsListVO {
+
+ @ApiModelProperty(value = "杞﹁締鍙婄粡绾害淇℃伅")
+ private List<CarsDeviceDetaisResponse> carsList;
+
+ @ApiModelProperty(value = "鍦ㄩ�旀暟閲�")
+ private int busyNum;
+ @ApiModelProperty(value = "绌洪棽鏁伴噺")
+ private int idleNum;
+
+ @ApiModelProperty(value = "绂荤嚎鏁伴噺")
+ private int offlineNum;
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/BoardJobCenterDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/BoardJobCenterDataVO.java
new file mode 100644
index 0000000..5535006
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/BoardJobCenterDataVO.java
@@ -0,0 +1,28 @@
+package com.doumee.dao.web.response.platformReport;
+
+import com.doumee.core.haikang.model.cars.response.CarsDeviceDetaisResponse;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 杩愯緭閲�
+ *
+ * @Author : Rk
+ * @create 2024/10/25 10:59
+ */
+@Data
+public class BoardJobCenterDataVO {
+
+
+ @ApiModelProperty(value = "鍦ㄩ�旀暟閲�")
+ private int busyNum;
+ @ApiModelProperty(value = "绌洪棽鏁伴噺")
+ private int idleNum;
+
+ @ApiModelProperty(value = "绂荤嚎鏁伴噺")
+ private int offlineNum;
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/CarsContractVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/CarsContractVO.java
new file mode 100644
index 0000000..01be1bf
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/CarsContractVO.java
@@ -0,0 +1,30 @@
+package com.doumee.dao.web.response.platformReport;
+
+import com.doumee.dao.business.model.PlatformLog;
+import com.doumee.dao.business.model.PlatformWmsDetail;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 杩愯緭閲�
+ *
+ * @Author : Rk
+ * @create 2024/10/25 10:59
+ */
+@Data
+public class CarsContractVO {
+
+ @ApiModelProperty(value = "鐗╂枡娓呭崟")
+ private List<PlatformWmsDetail> detailList;
+ @ApiModelProperty(value = "鍚堝悓鍙�")
+ private String ioCode;
+ @ApiModelProperty(value ="鏀惰揣鍦�")
+ private String address;
+ @ApiModelProperty(value = "杩愯緭鎬婚噺")
+ private BigDecimal totalNum;
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/CarsJobAndContractVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/CarsJobAndContractVO.java
new file mode 100644
index 0000000..72183e1
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/CarsJobAndContractVO.java
@@ -0,0 +1,36 @@
+package com.doumee.dao.web.response.platformReport;
+
+import com.doumee.core.haikang.model.cars.response.CarsDeviceDetaisResponse;
+import com.doumee.dao.business.model.PlatformLog;
+import com.doumee.dao.business.model.PlatformWmsDetail;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 杩愯緭閲�
+ *
+ * @Author : Rk
+ * @create 2024/10/25 10:59
+ */
+@Data
+public class CarsJobAndContractVO {
+
+ @ApiModelProperty(value = "浣滀笟璁板綍闆嗗悎")
+ private List<PlatformLog> logList;
+
+ @ApiModelProperty(value = "鍚堝悓鍒楄〃")
+ private List<CarsContractVO> contractList;
+ @ApiModelProperty(value = "鍙告満鎵嬫満鍙�")
+ private String phone;
+ @ApiModelProperty(value = "鍙告満濮撳悕")
+ private String name;
+ @ApiModelProperty(value = "杩愯緭鍗曞彿")
+ private String billCode;
+ @ApiModelProperty(value = "杩愯緭鎬婚噺")
+ private BigDecimal totalNum;
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/PlatformJobRunBoardNewVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/PlatformJobRunBoardNewVO.java
new file mode 100644
index 0000000..5a6985c
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/PlatformJobRunBoardNewVO.java
@@ -0,0 +1,93 @@
+package com.doumee.dao.web.response.platformReport;
+
+import com.doumee.dao.business.model.PlatformJob;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 鍥尯鐗╂祦杩愯璋冨害鐪嬫澘
+ *
+ * @Author : Rk
+ * @create 2024/10/25 9:54
+ */
+@Data
+public class PlatformJobRunBoardNewVO {
+
+ @ApiModelProperty(value = "绱鍑哄簱閲� - 鏈湀")
+ private BigDecimal monthOutTotal;
+
+ @ApiModelProperty(value = "绱鍑哄簱閲忔湀搴� - 涓婃湀")
+ private BigDecimal monthLastOutTotal;
+
+ @ApiModelProperty(value = "绱鍑哄簱閲� - 鏈勾")
+ private BigDecimal yearOutTotal;
+
+ @ApiModelProperty(value = "绱鍑哄簱閲忓勾搴� - 鍘诲勾")
+ private BigDecimal yearLastOutTotal;
+
+ @ApiModelProperty(value = "绱鍑哄簱杞︽ - 鏈湀")
+ private Integer monthOutTimes;
+
+ @ApiModelProperty(value = "绱鍑哄簱杞︽ - 鏈勾")
+ private Integer yearOutTimes;
+
+
+ @ApiModelProperty(value = "鍑哄簱浠诲姟 - 褰撳墠浠诲姟閲�")
+ private BigDecimal currentOutNum;
+ @ApiModelProperty(value = "鍑哄簱浠诲姟 - 褰撳墠瀹屾垚浠诲姟閲�")
+ private BigDecimal currentOutDoneNum;
+ @ApiModelProperty(value = "鍏ュ簱浠诲姟 - 褰撳墠浠诲姟閲�")
+ private BigDecimal currentInNum;
+ @ApiModelProperty(value = "鍏ュ簱浠诲姟 - 褰撳墠瀹屾垚浠诲姟閲�")
+ private BigDecimal currentInDoneNum;
+
+ @ApiModelProperty(value = "浠婃棩鍑哄簱鏁堢巼")
+ private BigDecimal todayOutRate;
+
+ @ApiModelProperty(value = "鏈湀鍑哄簱鏁堢巼")
+ private BigDecimal monthOutRate;
+
+ @ApiModelProperty(value = "浠婃棩鍏ュ簱鏁堢巼")
+ private BigDecimal todayInRate;
+
+ @ApiModelProperty(value = "鏈湀鍏ュ簱鏁堢巼")
+ private BigDecimal monthInRate;
+
+ @ApiModelProperty(value = "搴撳瓨鏈�澶у��")
+ private BigDecimal stockMax;
+
+ @ApiModelProperty(value = "褰撳墠搴撳瓨")
+ private BigDecimal stockTotal;
+
+
+
+ @ApiModelProperty(value = "杩愯緭浠诲姟鍒嗘瀽 - 7鏃�" , hidden = true)
+ private List<TransportMeasureVO> transportMeasureWeekList;
+
+ @ApiModelProperty(value = "杩愯緭浠诲姟鍒嗘瀽 - 鏈堝害", hidden = true)
+ private List<TransportMeasureVO> transportMeasureMonthList;
+
+ @ApiModelProperty(value = "杩愯緭浠诲姟鍒嗘瀽 - 骞村害", hidden = true)
+ private List<TransportMeasureVO> transportMeasureYearList;
+
+ @ApiModelProperty(value = "褰撴棩杩愯緭浠诲姟")
+ private List<PlatformJob> platformJobList;
+
+ @ApiModelProperty(value = "鍑哄簱浠诲姟")
+ private JobDataVO outJob;
+
+ @ApiModelProperty(value = "鍏ュ簱浠诲姟")
+ private JobDataVO inJob;
+
+ @ApiModelProperty(value = "浠婃棩鍏ュ簱閲忕粺璁�")
+ private List<GeneralVO> totalInList;
+
+ @ApiModelProperty(value = "搴撳瓨鎯呭喌")
+ private List<GeneralVO> stockList;
+
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncInitConfigServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncInitConfigServiceImpl.java
index fbd9683..06db1ef 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncInitConfigServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncInitConfigServiceImpl.java
@@ -3,6 +3,7 @@
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.haikang.model.HKConstants;
import com.doumee.core.haikang.model.HKTools;
+import com.doumee.core.haikang.service.HKCarOpenService;
import com.doumee.core.utils.Constants;
import com.doumee.service.business.InterfaceLogService;
import com.hikvision.artemis.sdk.config.ArtemisConfig;
@@ -28,6 +29,9 @@
@PostConstruct
public int initHkConfig(){
+ HKCarOpenService.ACCESS_KEY= systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_CARS_OPENAPI_ACCESS_KEY).getCode();
+ HKCarOpenService.BASE_URL= systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_CARS_OPENAPI_URL).getCode();
+ HKCarOpenService.ACCESS_SECRET= systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_CARS_OPENAPI_ACCESS_SECRET).getCode();
ArtemisConfig.host = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_HOST).getCode();
ArtemisConfig.appKey = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_APPKEY).getCode();
ArtemisConfig.appSecret = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_APPSECRET).getCode();
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
index 8886314..554c9fe 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -6,11 +6,13 @@
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.cars.response.CarsDeviceDetaisResponse;
import com.doumee.core.haikang.model.param.BaseListPageResponse;
import com.doumee.core.haikang.model.param.BaseResponse;
import com.doumee.core.haikang.model.param.BaseListPageRequest;
import com.doumee.core.haikang.model.param.request.*;
import com.doumee.core.haikang.model.param.respose.*;
+import com.doumee.core.haikang.service.HKCarOpenService;
import com.doumee.core.haikang.service.HKService;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageData;
@@ -22,6 +24,7 @@
import com.doumee.dao.business.join.VisitsJoinMapper;
import com.doumee.dao.business.model.*;
import com.doumee.dao.system.model.SystemDictData;
+import com.doumee.dao.web.reqeust.CarsJobAndContractDTO;
import com.doumee.dao.web.reqeust.SavePlatformWarnEventDTO;
import com.doumee.dao.web.response.platformReport.*;
import com.doumee.service.business.impl.PlatformJobServiceImpl;
@@ -62,6 +65,8 @@
private PlatformJobMapper platformJobMapper;
@Autowired
private PlatformWmsDetailMapper platformWmsDetailMapper;
+ @Autowired
+ private PlatformWmsJobMapper platformWmsJobMapper;
@Autowired
private PlatformMapper platformMapper;
@Autowired
@@ -451,6 +456,8 @@
FindHomeAlarmInfoPageRequest param = new FindHomeAlarmInfoPageRequest();
param.setHour(24);
param.setPage(1);
+ param.setUserId("admin");
+// param.setRegionIndexCodes("root000000");
param.setAlarmStartTime(DateUtil.getPlusTime2(DateUtil.addDaysToDate(new Date(),-1)));
param.setAlarmEndTime(DateUtil.getPlusTime2(new Date()));
param.setPageSize(20);
@@ -464,7 +471,7 @@
data.add(t);
}
}
- return data;
+ return data;
}
/**
@@ -477,7 +484,7 @@
List<MonitorDataVO> list = new ArrayList<>();
MinitorDataSearchRequest param = new MinitorDataSearchRequest();
param.setResourceTypeCodes(new String[]{});
- param.setRegionIndexCode("root0001");
+ param.setRegionIndexCode("root000000");
param.setIncludeDown("1");
param.setUserId("admin");
BaseResponse<BaseListPageResponse<MonitorDataSearchResponse>> response = HKService.minitorDataSearch(param);
@@ -514,8 +521,8 @@
@Override
public List<AlarmDataVO> fightingAlarmHandleData(){
List<AlarmDataVO> alarmHandleDataVOList = new ArrayList<>();
- Date now = DateUtil.getStartOfDay(new Date());
- for (int i = 1; i < 12; i++) {
+ Date now =DateUtil.StringToDate(DateUtil.getFirstDayCurrentMonth(),"yyyy-MM") ;
+ for (int i = 1; i <= 12; i++) {
Date start = DateUtil.addMonthToDate(now,-12+i);
Date end = DateUtil.addMonthToDate(now,-11+i);
AlarmDataVO t = getAlertDataByStartEndTime(DateUtil.getPlusTime2(start),DateUtil.getPlusTime2(end));
@@ -523,6 +530,138 @@
}
return alarmHandleDataVOList;
}
+ /**
+ * 銆愬洯鍖虹墿鏂欎腑蹇冭皟搴︺�戠湅鏉�-杩愯緭浠诲姟鍒嗘瀽
+ *
+ * @return
+ *
+ */
+ @Override
+ public List<TransportMeasureVO> transportMeasure(Integer queryType){
+ List<TransportMeasureVO> list = new ArrayList<>();
+ Random random = new Random();
+ List<String> dayList = DateUtil.getBeforDays(new Date(),7);
+ if(Constants.equalsInteger(queryType,Constants.ONE)){
+ dayList = DateUtil.getBeforDays(new Date(),30);
+ }else if(Constants.equalsInteger(queryType,Constants.TWO)){
+ dayList = DateUtil.getBeforMonth(new Date(),12);
+ }
+
+
+ for (String str:dayList) {
+ TransportMeasureVO data = new TransportMeasureVO();
+ data.setPlanDate(str);
+ data.setPlanTimes(random.nextInt(200));
+ data.setPlanTaskNum(new BigDecimal(random.nextInt(1000)));
+ data.setFinishTaskNum(new BigDecimal(data.getPlanTaskNum().intValue()));
+ list.add(data);
+ }
+ return list;
+ }
+ /**
+ * 銆愬洯鍖虹墿鏂欎腑蹇冭皟搴︺�戠湅鏉�-鏍规嵁杞︾墝鍙锋煡璇綔涓氫俊鎭拰鍚堝悓淇℃伅闆嗗悎
+ *
+ * @return
+ *
+ */
+ @Override
+ public CarsJobAndContractVO getCarsJobDetails(CarsJobAndContractDTO param){
+ CarsJobAndContractVO data = new CarsJobAndContractVO();
+ if(StringUtils.isBlank(param.getCarCode())){
+ return data;
+ }
+ PlatformJob job = platformJobMapper.selectJoinOne(PlatformJob.class,
+ new MPJLambdaWrapper<PlatformJob>()
+ .selectAll(PlatformJob.class)
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+ .eq(PlatformJob::getCarCodeFront,param.getCarCode())
+ .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey(),Constants.PlatformJobStatus.CALLED.getKey())
+ .last("limit 1"));
+ if(job!=null){
+ List<PlatformLog> logList = platformLogMapper.selectJoinList(PlatformLog.class,
+ new MPJLambdaWrapper<PlatformLog>()
+ .selectAll(PlatformLog.class)
+ .eq(PlatformLog::getIsdeleted,Constants.ZERO)
+ .eq(PlatformLog::getJobId,job.getId())
+ .orderByDesc(PlatformLog::getCreateDate));
+ data.setLogList(logList);
+ data.setName(job.getDriverName());
+ data.setPhone(job.getDrivierPhone());
+ data.setBillCode(job.getBillCode());
+ data.setTotalNum(Constants.formatBigdecimal(job.getTotalNum()));
+ data.setContractList(new ArrayList<>());
+ CarsContractVO tt = new CarsContractVO();
+ tt.setIoCode(job.getContractNum());
+ tt.setDetailList(new ArrayList<>());
+ data.getContractList().add(tt);
+
+ PlatformWmsJob wmsJob = platformWmsJobMapper.selectJoinOne(PlatformWmsJob.class,
+ new MPJLambdaWrapper<PlatformWmsJob>()
+ .selectAll(PlatformWmsJob.class)
+ .eq(PlatformWmsJob::getIsdeleted,Constants.ZERO)
+ .eq(PlatformWmsJob::getJobId,job.getId())
+ .last("limit 1"));
+ if(wmsJob!=null){
+ data.setName(wmsJob.getDriverName());
+ data.setPhone(wmsJob.getDriverPhone());
+ data.setBillCode(wmsJob.getCarryBillCode());
+ data.setContractList(new ArrayList<>());
+
+ List<PlatformWmsDetail> detailList = platformWmsDetailMapper.selectJoinList(PlatformWmsDetail.class,
+ new MPJLambdaWrapper<PlatformWmsDetail>()
+ .selectAll(PlatformWmsDetail.class)
+ .eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO)
+ .eq(PlatformWmsDetail::getWmsJobId,wmsJob.getId())
+ .orderByDesc(PlatformLog::getCreateDate));
+ if(detailList!=null){
+ for(PlatformWmsDetail d : detailList){
+ if(!isNotExistIocode(d.getIocode(),data.getContractList())){
+ continue;
+ }
+ tt = new CarsContractVO();
+ tt.setIoCode(d.getIocode());
+ tt.setAddress(d.getRepertotyAddress());
+ tt.setDetailList(getDetailListByCode(d.getIocode(),detailList,tt));
+ data.getContractList().add(tt);
+ data.getTotalNum().add(Constants.formatBigdecimal(tt.getTotalNum()));//鎬昏繍杈撻噺
+ }
+ }
+ }
+
+ }
+
+
+ return data;
+
+ }
+
+ private List<PlatformWmsDetail> getDetailListByCode(String iocode, List<PlatformWmsDetail> detailList,CarsContractVO tt) {
+ List<PlatformWmsDetail> list = new ArrayList<>();
+ BigDecimal total = new BigDecimal(0);
+ if(detailList!=null){
+ for(PlatformWmsDetail d :detailList){
+ if(StringUtils.equals(d.getIocode(),iocode)){
+ list.add(d);
+ total.add(Constants.formatBigdecimal(d.getIoQty()));
+ }
+ }
+ }
+ tt.setTotalNum(total);
+ return list;
+ }
+
+ private boolean isNotExistIocode(String iocode, List<CarsContractVO> detailList) {
+ if(detailList!=null){
+ for(CarsContractVO d :detailList){
+ if(StringUtils.equals(d.getIoCode(),iocode)){
+ return true;
+ }
+ }
+ }
+
+ return false;
+ }
+
/**
* 銆愭秷闃茬鎺с�戠湅鏉�-鍛婅淇℃伅闆嗗悎
*
@@ -534,6 +673,236 @@
AlarmDataVO alarmDataVO = getAlertDataByStartEndTime(DateUtil.getPlusTime2(DateUtil.addDaysToDate(new Date(),-1))
,(DateUtil.getPlusTime2(new Date())));
return alarmDataVO;
+ }
+
+ /**
+ * 鏌ヨ鏈湀 鏈勾鐨勭疮璁″嚭搴撻噺缁熻鏁版嵁,鍑哄簱浠诲姟銆佸叆搴撲换鍔¢噺
+ * @return
+ */
+ @Override
+ public PlatformJobRunBoardNewVO platformJobCenterData(){
+ PlatformJobRunBoardNewVO data = new PlatformJobRunBoardNewVO();
+ Random random = new Random();
+
+ data.setMonthOutTimes(random.nextInt(1000));
+ data.setYearOutTimes(random.nextInt(1000) * 11);
+
+ Date month = Utils.Date.getStart(new Date());//鏈湀
+ Date lastMonth = DateUtil.addMonthToDate(month,-1);//涓婃湀
+ Date year = Utils.Date.getStart(new Date());//浠婂勾
+ Date lastYear = DateUtil.addYearToDate(year,-1);//鍘诲勾
+
+ List<PlatformJob> monthNum = platformJobMapper.selectJoinList(PlatformJob.class,
+ new MPJLambdaWrapper<PlatformJob>()
+ .selectAs(PlatformJob::getId,PlatformJob::getId)
+ .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
+ .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",PlatformJob::getIoQty)
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+// .in(PlatformJob::getType,Constants.ONE,Constants.THREE)
+ .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())
+ .apply("year(create_date) = year("+DateUtil.getPlusTime2(month)+") and month(create_date) = month("+DateUtil.getPlusTime2(month)+") and to_days(create_date)<= "+DateUtil.getPlusTime2(month)));
+ List<PlatformJob> monthLastNum = platformJobMapper.selectJoinList(PlatformJob.class,
+ new MPJLambdaWrapper<PlatformJob>()
+ .selectAs(PlatformJob::getId,PlatformJob::getId)
+ .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",PlatformJob::getIoQty)
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+ .in(PlatformJob::getType,Constants.ONE,Constants.THREE)
+ .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())
+ .apply("year(create_date) = year("+DateUtil.getPlusTime2(lastMonth)+") and month(create_date) = month("+DateUtil.getPlusTime2(lastMonth)+") and to_days(create_date)<= "+DateUtil.getPlusTime2(lastMonth)));
+ List<PlatformJob> yearNum = platformJobMapper.selectJoinList(PlatformJob.class,
+ new MPJLambdaWrapper<PlatformJob>()
+ .selectAs(PlatformJob::getId,PlatformJob::getId)
+ .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
+ .selectCount(PlatformJob::getPlatformId,PlatformJob::getCountum)
+ .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",PlatformJob::getIoQty)
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+ .in(PlatformJob::getType,Constants.ONE,Constants.THREE)
+ .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())
+ .apply("year(create_date) = year("+DateUtil.getPlusTime2(year)+") and to_days(create_date)<= "+DateUtil.getPlusTime2(year)));
+ List<PlatformJob> yearLastNum = platformJobMapper.selectJoinList(PlatformJob.class,
+ new MPJLambdaWrapper<PlatformJob>()
+ .selectAs(PlatformJob::getId,PlatformJob::getId)
+ .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
+ .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",PlatformJob::getIoQty)
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+ .in(PlatformJob::getType,Constants.ONE,Constants.THREE)
+ .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())
+ .apply("year(create_date) = year("+DateUtil.getPlusTime2(lastYear)+") and to_days(create_date)<= "+DateUtil.getPlusTime2(lastYear)));
+
+ data.setMonthOutTotal(getSumTotalByList(monthNum,0,null));//鏈湀鍑哄簱閲�
+ data.setMonthLastOutTotal(getSumTotalByList(monthLastNum,null,null) );//涓婃湁鍑哄簱閲�
+ data.setYearOutTotal(getSumTotalByList(yearNum,null,null) );//鏈勾鍑哄簱閲�
+ data.setYearLastOutTotal(getSumTotalByList(yearLastNum,null,null) );//鍘诲勾鍑哄簱閲�
+ data.setMonthOutTimes(monthNum!=null?monthNum.size():0);
+ data.setYearOutTimes(yearNum!=null?yearNum.size():0);
+
+ //==========浠婂ぉ涔嬪墠鏈畬鎴愬嚭鍏ュ簱浠诲姟
+ List<PlatformJob> beforeJobNum = platformJobMapper.selectJoinList(PlatformJob.class,
+ new MPJLambdaWrapper<PlatformJob>()
+ .selectAs(PlatformJob::getId,PlatformJob::getId)
+ .selectAs(PlatformJob::getStatus,PlatformJob::getStatus)
+ .selectAs(PlatformJob::getType,PlatformJob::getType)
+ .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
+ .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",PlatformJob::getIoQty)
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+ .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey(),Constants.PlatformJobStatus.CALLED.getKey())
+ .apply(" and to_days(create_date) <to_days(now())"));
+
+ //==========浠婂ぉ鍑哄叆搴撲换鍔�
+ List<PlatformJob> currentNum = platformJobMapper.selectJoinList(PlatformJob.class,
+ new MPJLambdaWrapper<PlatformJob>()
+ .selectAs(PlatformJob::getId,PlatformJob::getId)
+ .selectAs(PlatformJob::getStatus,PlatformJob::getStatus)
+ .selectAs(PlatformJob::getType,PlatformJob::getType)
+ .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
+ .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",PlatformJob::getIoQty)
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+ .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.CALLED.getKey())
+ .apply("year(create_date) = year("+DateUtil.getPlusTime2(lastYear)+") and to_days(create_date)<= "+DateUtil.getPlusTime2(lastYear)));
+
+ BigDecimal beforeOutNum = (getSumTotalByList(beforeJobNum,0,null));//浠婂ぉ涔嬪墠鏈畬鎴愬嚭搴撲换鍔�
+ BigDecimal currentOutNum = (getSumTotalByList(currentNum,0,null));//浠婂ぉ涓嬪彂鍑哄簱浠诲姟
+ BigDecimal beforeInNum = (getSumTotalByList(beforeJobNum,1,null));//浠婂ぉ涔嬪墠鏈畬鎴愬叆搴撲换鍔�
+ BigDecimal currentInNum = (getSumTotalByList(currentNum,1,null));//浠婂ぉ涓嬪彂鍏ュ簱浠诲姟
+ data.setCurrentInNum(beforeInNum.add(currentInNum));//褰撳墠鍏ュ簱鎬讳换鍔℃垚閲�
+ data.setCurrentOutNum(beforeOutNum.add(currentOutNum));//褰撳墠鍑哄簱鎬讳换鍔℃垚閲�
+ data.setCurrentInDoneNum(getSumTotalByList(currentNum,0,1));//浠婃棩瀹屾垚閲�
+ data.setCurrentOutDoneNum(getSumTotalByList(currentNum,1,1));//浠婃棩瀹屾垚閲�
+
+ //------------浠婃棩鍑哄叆搴撴晥鐜�----------------
+ BigDecimal outHours = getTotalDoneTimes(currentNum,0);//
+ BigDecimal inHours = getTotalDoneTimes(currentNum,1);//
+ if(outHours.compareTo(new BigDecimal(0))>0){
+ data.setTodayOutRate(data.getCurrentOutDoneNum().divide(outHours,2));//褰撳墠鍏ュ簱鎬讳换鍔℃垚閲�
+ }
+ if(inHours.compareTo(new BigDecimal(0))>0){
+ data.setTodayInRate(data.getCurrentInDoneNum().divide(inHours,2));//褰撳墠鍏ュ簱鎬讳换鍔℃垚閲�
+ }
+ //------------鏈湀鍑哄叆搴撴晥鐜�----------------
+ BigDecimal outMonthNum = getSumTotalByList(monthNum,0,null).add(data.getCurrentOutDoneNum());
+ BigDecimal inMonthNum = getSumTotalByList(monthNum,1,null).add(data.getCurrentInDoneNum());
+ BigDecimal outYearHours = getTotalDoneTimes(yearNum,0).add(outHours);//
+ BigDecimal inYearHours = getTotalDoneTimes(yearNum,1).add(inHours);//
+ if(outYearHours.compareTo(new BigDecimal(0))>0){
+ data.setMonthOutRate(outMonthNum.divide(outYearHours,2));//鏈湀鍏ュ簱鏁堢巼
+ }
+ if(inYearHours.compareTo(new BigDecimal(0))>0){
+ data.setMonthInRate(inMonthNum.divide(inYearHours,2));//鏈湀鍏ュ簱鏁堢巼
+ }
+ return data;
+ }
+
+
+ private BigDecimal getDoneHoursByData(String start ,String end) {
+ List<PlatformLog> platformLogList = platformLogMapper.selectList(new QueryWrapper<PlatformLog>().lambda()
+ .apply("create_date >= '"+start+"' and create_date <= '"+end+"'")
+ .isNotNull(PlatformLog::getParam3)
+ .ne(PlatformLog::getParam3,Constants.ZERO+""));
+ if(platformLogList!=null && platformLogList.size()>0){
+ return new BigDecimal((double)(platformLogList.stream().map(m->Long.valueOf(m.getParam3())).reduce(Long.valueOf(0),Long::sum))/(double)60);
+ }
+
+ return new BigDecimal(0);
+
+ }
+ private BigDecimal getTotalDoneTimes(List<PlatformJob> list, Integer type) {
+ BigDecimal r = new BigDecimal(0);
+ if(list==null || list.size() == 0){
+ return r;
+ }
+ List<Integer> jobIds= new ArrayList<>();
+ for(PlatformJob job : list){
+ if( !(Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.DONE.getKey())
+ ||Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.LEAVED.getKey())
+ ||Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()))){
+ //鍙煡璇㈠畬鎴愭暟鎹�
+ continue;
+ }
+ if(type !=null &&type ==0 && (Constants.equalsInteger(job.getType(),Constants.ONE) ||Constants.equalsInteger(job.getType(),Constants.THREE))){
+ //鍑哄簱
+ jobIds.add(job.getId());
+ }
+ if(type !=null &&type ==1 && (Constants.equalsInteger(job.getType(),Constants.ZERO) ||Constants.equalsInteger(job.getType(),Constants.TWO)||Constants.equalsInteger(job.getType(),Constants.FOUR))){
+ //鍏ュ簱
+ jobIds.add(job.getId());
+ }
+ }
+ if(jobIds.size()>0){
+ //澶勭悊浣滀笟鏃堕暱
+ List<PlatformLog> platformLogList = platformLogMapper.selectList(new QueryWrapper<PlatformLog>().lambda()
+ .in(PlatformLog::getJobId,jobIds)
+ .isNotNull(PlatformLog::getParam3)
+ .ne(PlatformLog::getParam3,Constants.ZERO+""));
+ if(platformLogList!=null && platformLogList.size()>0){
+ return new BigDecimal((double)(platformLogList.stream().map(m->Long.valueOf(m.getParam3())).reduce(Long.valueOf(0),Long::sum))/(double)60);
+ }
+ }
+ return r;
+ }
+
+ private BigDecimal getSumTotalByList(List<PlatformJob> list,Integer type,Integer status) {
+ BigDecimal r = new BigDecimal(0);
+ if(list==null || list.size() == 0){
+ return r;
+ }
+ for(PlatformJob job : list){
+
+ if(type !=null &&type ==0 && !(Constants.equalsInteger(job.getType(),Constants.ONE) ||Constants.equalsInteger(job.getType(),Constants.THREE))){
+ continue;
+ }
+ if(type !=null &&type ==1 && !(Constants.equalsInteger(job.getType(),Constants.ZERO) ||Constants.equalsInteger(job.getType(),Constants.TWO)||Constants.equalsInteger(job.getType(),Constants.FOUR))){
+ continue;
+ }
+ if(status !=null &&status ==1 && !(Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.DONE.getKey())
+ ||Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.LEAVED.getKey())
+ ||Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()))){
+ continue;
+ }
+ if(Constants.formatBigdecimal(job.getIoQty()).compareTo(new BigDecimal(0)) >0){
+ r.add( job.getIoQty());
+ }else{
+ r.add(Constants.formatBigdecimal(job.getTotalNum()));
+ }
+ }
+ return Constants.formatBigdecimal0Float(r);
+ }
+
+ @Override
+ public BoardCarsListVO platformJobCarsList(){
+ BoardCarsListVO data = new BoardCarsListVO();
+ List<CarsDeviceDetaisResponse> detaisResponses = HKCarOpenService.getAllCarsDetais();
+ data.setCarsList(detaisResponses);
+ if(data.getCarsList()!=null && data.getCarsList().size()>0){
+ List<String> codes = new ArrayList<>();
+ //璁惧鐘舵�� 0锛氱绾匡紱1锛氬湪绾匡紱2锛氫紤鐪�
+ int online = 0;
+ for(CarsDeviceDetaisResponse model:detaisResponses){
+ if(Constants.equalsInteger(model.getStatus(),Constants.ONE) ||Constants.equalsInteger(model.getStatus(),Constants.TWO)){
+ //濡傛灉鏄湪绾挎垨鑰呬紤鐪狅紝鏌ヨ鍦ㄩ�旇繕鏄┖闂�
+ codes.add(model.getPlateNum());
+ }else
+ data.setOfflineNum(data.getOfflineNum()+1);
+ }
+ if(codes.size()>0){
+ //鐘舵�� 0寰呯‘璁� 1寰呯鍒� 2绛夊緟鍙彿 3鍏ュ洯绛夊緟 4宸插彨鍙� 5浣滀笟涓� 6浣滀笟瀹屾垚 7杞Щ涓� 8寮傚父鎸傝捣 9宸叉巿鏉冪鍥� 10宸茬鍥� 11 宸茶繃鍙� 12鍙栨秷锛圵MS锛�
+ long busyNum = platformJobMapper.selectCount(new QueryWrapper<PlatformJob>().lambda()
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+ .in(PlatformJob::getCarCodeFront,codes)
+ .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WORKING.getKey()
+ ,Constants.PlatformJobStatus.WAIT_CALL.getKey()
+ ,Constants.PlatformJobStatus.CALLED.getKey()
+ ,Constants.PlatformJobStatus.IN_WAIT.getKey()
+ ,Constants.PlatformJobStatus.TRANSFERING.getKey()
+ ,Constants.PlatformJobStatus.WART_SIGN_IN.getKey()
+ ,Constants.PlatformJobStatus.WAIT_CONFIRM.getKey()
+ ,Constants.PlatformJobStatus.EXCEPTION.getKey())
+ .groupBy(PlatformJob::getCarCodeFront));
+ data.setBusyNum((int)busyNum);//鍦ㄩ�旀湁浠诲姟鏁伴噺
+ data.setIdleNum(codes.size() -data.getBusyNum());//鏃犱换鍔$┖闂叉暟閲�
+ }
+ }
+
+ return data;
}
public static AlarmDataVO getAlertDataByStartEndTime(String start,String end){
@@ -615,12 +984,12 @@
data.setDeviceTypeList(list);
Long totalNum =hiddenDangerMapper.selectCount(new QueryWrapper<HiddenDanger>().lambda()
.eq(HiddenDanger::getIsdeleted,Constants.ZERO )
- .apply("to_day(create_data) = to_days(now())" ) );
+ .apply("to_days(create_date) = to_days(now())" ) );
data.setDangerTotalNum(totalNum !=null?totalNum.intValue():0);//浠婃棩闅愭偅鏁伴噺
totalNum =hiddenDangerMapper.selectCount(new QueryWrapper<HiddenDanger>().lambda()
.eq(HiddenDanger::getIsdeleted,Constants.ZERO )
.in(HiddenDanger::getStatus,Constants.ONE,Constants.TWO )
- .apply("to_day(check_date) = to_days(now())" ) );
+ .apply("to_days(check_date) = to_days(now())" ) );
data.setDangerDealedNum(totalNum !=null?totalNum.intValue():0);//浠婃棩澶勭悊闅愭偅鏁伴噺
return data;
}
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 d6ce594..9ed7e62 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
@@ -462,6 +462,7 @@
entity.setJobId(job.getJobId());
entity.setWmsJobId(job.getId());
entity.setIoQty(d.getIoQty());
+ entity.setRepertotyAddress(job.getRepertotyAddress());
entity.setWmsJobId(job.getId());
entity.setStatus(Constants.ZERO);
entity.setRate(d.getRate());
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java
index fe0d750..0e07eb7 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java
@@ -12,6 +12,7 @@
import com.doumee.core.tms.model.response.TmsOrderInfoResponse;
import com.doumee.core.tms.model.response.TmsOrderListResponse;
import com.doumee.dao.business.model.PlatformWarnEvent;
+import com.doumee.dao.web.reqeust.CarsJobAndContractDTO;
import com.doumee.dao.web.response.platformReport.*;
import java.util.List;
@@ -81,4 +82,12 @@
List<AlarmDataVO> fightingAlarmHandleData();
List<MonitorDataVO> monitorDataList();
+
+ BoardCarsListVO platformJobCarsList();
+
+ PlatformJobRunBoardNewVO platformJobCenterData();
+
+ CarsJobAndContractVO getCarsJobDetails(CarsJobAndContractDTO param);
+
+ List<TransportMeasureVO> transportMeasure(Integer queryType);
}
diff --git a/server/visits/openapi/src/main/resources/application.yml b/server/visits/openapi/src/main/resources/application.yml
index 96b89ae..a69bc7c 100644
--- a/server/visits/openapi/src/main/resources/application.yml
+++ b/server/visits/openapi/src/main/resources/application.yml
@@ -36,7 +36,7 @@
cache:
session:
# 浼氳瘽杩囨湡鏃堕暱(s)
- expire: 18000
+ expire: 1800
captcha:
# 楠岃瘉鐮佽繃鏈熸椂闀�(s)
expire: 300
--
Gitblit v1.9.3