From 57639dfd35931021cdab41964f08297ae302ef0a Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期一, 26 二月 2024 18:37:47 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit
---
server/dmvisit_admin/src/main/java/com/doumee/api/business/StagingController.java | 66 ++++++
server/dmvisit_service/src/main/java/com/doumee/core/utils/ImageBase64Util.java | 7
server/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java | 10
server/dmvisit_admin/src/main/java/com/doumee/service/impl/HkSyncEventServiceImpl.java | 3
admin/src/views/business/visits.vue | 20 +
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java | 9
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitEvent.java | 70 ++++---
server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/VisitEventDTO.java | 2
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java | 78 +++++--
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java | 73 ++++++
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 65 +++++
server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java | 13
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java | 7
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java | 15
server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java | 2
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java | 9
server/dmvisit_admin/src/main/java/com/doumee/api/business/HkSyncController.java | 7
server/dmvisit_admin/src/main/java/com/doumee/api/business/VisitEventController.java | 4
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Company.java | 9
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPrivilegeServiceImpl.java | 4
admin/src/views/business/visitEvent.vue | 13
server/dmvisit_service/src/main/java/com/doumee/service/business/VisitEventService.java | 4
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitEventServiceImpl.java | 52 +---
server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/StagingDataVO.java | 47 ++++
24 files changed, 434 insertions(+), 155 deletions(-)
diff --git a/admin/src/views/business/visitEvent.vue b/admin/src/views/business/visitEvent.vue
index 5cf8c69..f3b0c33 100644
--- a/admin/src/views/business/visitEvent.vue
+++ b/admin/src/views/business/visitEvent.vue
@@ -50,22 +50,23 @@
stripe
>
<el-table-column prop="personName" label="濮撳悕" min-width="100px"></el-table-column>
- <el-table-column prop="personPhone" label="鎵嬫満鍙风爜" min-width="100px"></el-table-column>
+ <el-table-column prop="phone" label="鎵嬫満鍙风爜" min-width="100px"></el-table-column>
<el-table-column prop="idNo" label="韬唤璇佸彿鐮�" min-width="100px"></el-table-column>
- <el-table-column prop="personCompanyName" label="鍏徃" min-width="100px"></el-table-column>
+ <el-table-column prop="visitorWorkUint" label="鍏徃" min-width="100px"></el-table-column>
<el-table-column prop="carNo" label="杞︾墝鍙�" min-width="100px"></el-table-column>
<el-table-column prop="beVisitedPersonName" label="琚浜�" min-width="100px"></el-table-column>
+ <el-table-column prop="beVisitedPersonOrg" label="琚浜虹粍缁�" min-width="100px"></el-table-column>
<el-table-column prop="eventTypeName" label="浜嬩欢绫诲瀷" min-width="100px"></el-table-column>
<el-table-column label="鎶撴媿鍥緐ri" min-width="100px">
<template slot-scope="{row}">
- <el-image
+ <el-image v-if="row.captureUrlFull!=null"
style="width: 80px; height: 80px"
- :src="row.captureUrl"
- :preview-src-list="[row.captureUrl]">
+ :src="row.captureUrlFull"
+ :preview-src-list="[row.captureUrlFull]">
</el-image>
</template>
</el-table-column>
- <el-table-column prop="happenTime" label="浜嬩欢鏃堕棿" min-width="100px"></el-table-column>
+ <el-table-column prop="createDate" label="浜嬩欢鏃堕棿" min-width="100px"></el-table-column>
</el-table>
<pagination
@size-change="handleSizeChange"
diff --git a/admin/src/views/business/visits.vue b/admin/src/views/business/visits.vue
index 0e35462..50209e2 100644
--- a/admin/src/views/business/visits.vue
+++ b/admin/src/views/business/visits.vue
@@ -13,13 +13,15 @@
</el-form-item>
<el-form-item label="瀹℃壒鐘舵��" prop="status">
<el-select v-model="searchForm.status" placeholder="璇烽�夋嫨">
- <el-option label="寰呭鏍�" value="0"></el-option>
- <el-option label="宸叉彁浜RP瀹℃壒" value="1"></el-option>
+ <el-option label="寰呮彁浜ゅ鎵�" value="0"></el-option>
+ <el-option label="瀹℃壒涓�" value="1"></el-option>
<el-option label="瀹℃牳閫氳繃" value="2"></el-option>
<el-option label="瀹℃牳涓嶉�氳繃" value="3"></el-option>
<el-option label="鍙栨秷" value="4"></el-option>
- <el-option label="涓嬪彂鎴愬姛" value="5"></el-option>
- <el-option label="涓嬪彂澶辫触" value="6"></el-option>
+ <el-option label="棰勭害鎴愬姛" value="5"></el-option>
+ <el-option label="棰勭害澶辫触" value="6"></el-option>
+ <el-option label="鎷滆涓�" value="7"></el-option>
+ <el-option label="宸茬绂�" value="8"></el-option>
</el-select>
</el-form-item>
<section>
@@ -64,13 +66,15 @@
</el-table-column>
<el-table-column prop="status" fixed="right" label="鐘舵��" min-width="100px">
<template slot-scope="{row}">
- <span style="color: rgba(245, 154, 35, 0.996);" v-if="row.status === 0">寰呭鏍�</span>
- <span v-if="row.status === 1">宸叉彁浜RP瀹℃壒</span>
+ <span style="color: rgba(245, 154, 35, 0.996);" v-if="row.status === 0">寰呮彁浜ゅ鎵�</span>
+ <span v-if="row.status === 1">瀹℃壒涓�</span>
<span v-if="row.status === 2">瀹℃牳閫氳繃</span>
<span style="color: red;" v-if="row.status === 3">瀹℃牳涓嶉�氳繃</span>
<span v-if="row.status === 4">鍙栨秷</span>
- <span v-if="row.status === 5">涓嬪彂鎴愬姛</span>
- <span v-if="row.status === 6">涓嬪彂澶辫触</span>
+ <span v-if="row.status === 5">棰勭害鎴愬姛</span>
+ <span v-if="row.status === 6">棰勭害澶辫触</span>
+ <span v-if="row.status === 7">鎷滆涓�</span>
+ <span v-if="row.status === 8">宸茬绂�</span>
</template>
</el-table-column>
<el-table-column
diff --git a/server/dmvisit_admin/src/main/java/com/doumee/api/business/HkSyncController.java b/server/dmvisit_admin/src/main/java/com/doumee/api/business/HkSyncController.java
index 66055b0..98132b6 100644
--- a/server/dmvisit_admin/src/main/java/com/doumee/api/business/HkSyncController.java
+++ b/server/dmvisit_admin/src/main/java/com/doumee/api/business/HkSyncController.java
@@ -16,6 +16,7 @@
import com.doumee.service.business.impl.hksync.HkSyncPushServiceImpl;
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.*;
@@ -46,7 +47,7 @@
@PreventRepeat
@ApiOperation("銆愭捣搴枫�戝叏閲忓悓姝ラ棬绂佽澶囨帴鍙�")
@PostMapping("/syncDevices")
-// @RequiresPermissions("business:hksync:device")
+ @RequiresPermissions("business:hksync:device")
public ApiResponse syncHkDevices(@RequestBody AcsDeviceListRequest param) {
String result = hkSyncDeviceService.syncHkDevices(param);
return ApiResponse.success(result);
@@ -54,7 +55,7 @@
@PreventRepeat
@ApiOperation("銆愭捣搴枫�戝叏閲忓悓姝ュ仠杞﹀簱鎺ュ彛")
@PostMapping("/syncParks")
-// @RequiresPermissions("business:hksync:park")
+ @RequiresPermissions("business:hksync:park")
public ApiResponse syncHkParks(@RequestBody ParkListRequest param) {
String result = hkSyncParkService.syncHkParks(param);
return ApiResponse.success(result);
@@ -62,7 +63,7 @@
@PreventRepeat
@ApiOperation("銆愭捣搴枫�戝叏閲忓悓姝ヨ瀹㈡潈闄愮粍鎺ュ彛")
@PostMapping("/syncPrivilege")
-// @RequiresPermissions("business:hksync:privilege")
+ @RequiresPermissions("business:hksync:privilege")
public ApiResponse syncPrivilege(@RequestBody PrivilegeGroupRequest param) {
String result = hkSyncPrivilegeService.syncPrivilege(param);
return ApiResponse.success(result);
diff --git a/server/dmvisit_admin/src/main/java/com/doumee/api/business/StagingController.java b/server/dmvisit_admin/src/main/java/com/doumee/api/business/StagingController.java
new file mode 100644
index 0000000..ad9f02c
--- /dev/null
+++ b/server/dmvisit_admin/src/main/java/com/doumee/api/business/StagingController.java
@@ -0,0 +1,66 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.admin.response.StagingDataVO;
+import com.doumee.dao.business.model.Visits;
+import com.doumee.service.business.MemberService;
+import com.doumee.service.business.VisitsService;
+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.*;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2024/2/26 11:00
+ */
+@Api(tags = "宸ヤ綔鍙版暟鎹�")
+@RestController
+@RequestMapping("/business/staging")
+public class StagingController extends BaseController {
+
+
+ @Autowired
+ private MemberService memberService;
+
+ @Autowired
+ private VisitsService visitsService;
+
+
+
+ @ApiOperation("澶撮儴鏁版嵁")
+ @GetMapping("/head")
+ public ApiResponse<StagingDataVO> head() {
+ return ApiResponse.success("鏌ヨ鎴愬姛",memberService.stagingHead(new StagingDataVO()));
+ }
+
+
+ @ApiOperation("涓讳綋鏁版嵁")
+ @GetMapping("/body")
+ public ApiResponse<StagingDataVO> body() {
+ return ApiResponse.success("鏌ヨ鎴愬姛",memberService.stagingBody(new StagingDataVO()));
+ }
+
+
+ @ApiOperation("瓒呮椂棰勮浜哄憳")
+ @PostMapping("/timeoutPage")
+ public ApiResponse<PageData<Visits>> timeoutPage (@RequestBody PageWrap<Visits> pageWrap) {
+ pageWrap.getModel().setLevelStatus(Constants.ZERO);
+ return ApiResponse.success(visitsService.retentionPage(pageWrap));
+ }
+
+ @ApiOperation("瓒呮椂棰勮浜哄憳绂诲満")
+ @GetMapping("/level")
+ public ApiResponse level (@RequestParam Integer visitId) {
+ visitsService.visitLevel(visitId);
+ return ApiResponse.success("鎿嶄綔鎴愬姛");
+ }
+
+}
diff --git a/server/dmvisit_admin/src/main/java/com/doumee/api/business/VisitEventController.java b/server/dmvisit_admin/src/main/java/com/doumee/api/business/VisitEventController.java
index e65e0b2..6a629fa 100644
--- a/server/dmvisit_admin/src/main/java/com/doumee/api/business/VisitEventController.java
+++ b/server/dmvisit_admin/src/main/java/com/doumee/api/business/VisitEventController.java
@@ -72,7 +72,7 @@
@ApiOperation("鍒嗛〉鏌ヨ")
@PostMapping("/page")
//@RequiresPermissions("business:visitevent:query")
- public ApiResponse<PageData<VisitEventDTO>> findPage (@RequestBody PageWrap<VisitEvent> pageWrap) {
+ public ApiResponse<PageData<VisitEvent>> findPage (@RequestBody PageWrap<VisitEvent> pageWrap) {
return ApiResponse.success(visitEventService.findVisitPage(pageWrap));
}
@@ -80,7 +80,7 @@
@PostMapping("/exportExcel")
//@RequiresPermissions("business:visitevent:exportExcel")
public void exportExcel (@RequestBody PageWrap<VisitEvent> pageWrap, HttpServletResponse response) {
- ExcelExporter.build(VisitEventVo.class).export(visitEventService.findPageExcel(pageWrap), "璁垮浜嬩欢鎺ㄩ�佽褰曡〃", response);
+ ExcelExporter.build(VisitEvent.class).export(visitEventService.findPageExcel(pageWrap), "璁垮浜嬩欢鎺ㄩ�佽褰曡〃", response);
}
@ApiOperation("鏍规嵁ID鏌ヨ")
diff --git a/server/dmvisit_admin/src/main/java/com/doumee/service/impl/HkSyncEventServiceImpl.java b/server/dmvisit_admin/src/main/java/com/doumee/service/impl/HkSyncEventServiceImpl.java
index d31fad0..3c8935d 100644
--- a/server/dmvisit_admin/src/main/java/com/doumee/service/impl/HkSyncEventServiceImpl.java
+++ b/server/dmvisit_admin/src/main/java/com/doumee/service/impl/HkSyncEventServiceImpl.java
@@ -86,7 +86,7 @@
HKService.eventSub(param);//鍋滆溅鍦轰簨浠�
param.setEventDest(path+"/visit");
- param.setEventTypes(new Integer[]{HKConstants.EventTypes.VISIT_SIGN_OUT.getKey()
+ param.setEventTypes(new Integer[]{HKConstants.EventTypes.VISIT_SIGN_IN.getKey()
,HKConstants.EventTypes.VISIT_SIGN_OUT.getKey()});
HKService.cancelEventSub(param);//鍏堝彇娑�
HKService.eventSub(param);//璁垮浜嬩欢
@@ -107,6 +107,7 @@
,HKConstants.EventTypes.PARK_LINE_OUT.getKey()
,HKConstants.EventTypes.PARK_PASS_IN.getKey()
,HKConstants.EventTypes.PARK_PASS_OUT.getKey()
+ ,HKConstants.EventTypes.VISIT_SIGN_IN.getKey()
,HKConstants.EventTypes.VISIT_SIGN_OUT.getKey(),
HKConstants.EventTypes.DOOR_FACE_AUTH_SUCCESS.getKey()});
String path =systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_PUSH_URL).getCode();
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java b/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
index 22b4a0f..d5a038b 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -100,6 +100,8 @@
// 鍐呴儴浜哄憳鍐荤粨閰嶇疆鏃堕棿
public static final String TIMEOUT_FREEZE = "TIMEOUT_FREEZE";
+ // 瓒呮椂棰勮閰嶇疆
+ public static final String TIMEOUT_WARNING = "TIMEOUT_WARNING";
// FTP鏂囦欢鏈嶅姟鍣ㄨ祫婧愯闂湴鍧�
public static Date getBirthdyByCardNo(String idCard){
@@ -133,7 +135,7 @@
* 鍒ゆ柇鏄惁涓烘湁鏁堣溅鐗屽彿
*/
public static boolean checkCarNo(String str) {
- String patt="^[浜触娌唨鏅嬭窘鍚夐粦鑻忔禉鐨栭椊璧i瞾璞剛婀樼菠妗傜惣宸濋粩浜戞笣钘忛檿闄囬潚瀹佹柊闂界菠鏅嬬惣浣块A_Z]{1}[A_Z]{1}[A-Z0-9]{4}[A-Z0-9鎸傚璀︽腐婢砞{1}$";
+ String patt="^[浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧i剛妗傜敇鏅嬭挋闄曞悏闂借吹宸濋潚钘忕惣瀹佺Е宸漖\\\\d{5}[A-Z]$";
Pattern r = Pattern.compile(patt);
Matcher matcher = r.matcher(str);
return matcher.find();
@@ -190,7 +192,7 @@
int nb = 2;//鍐呴儴璁垮
}
public interface VisitStatus{
- //瀹℃牳鐘舵�� 0寰呭鏍� 1宸叉彁浜RP瀹℃壒 2瀹℃牳閫氳繃 3瀹℃牳涓嶉�氳繃 4鍙栨秷 5涓嬪彂鎴愬姛 6涓嬪彂澶辫触 7宸茬绂�
+ //瀹℃牳鐘舵�� 0寰呭鏍� 1宸叉彁浜RP瀹℃壒 2瀹℃牳閫氳繃 3瀹℃牳涓嶉�氳繃 4鍙栨秷 5涓嬪彂鎴愬姛 6涓嬪彂澶辫触 7宸茬櫥璁� 8宸茬绂�
int waitCheck = 0;
int submitCheck = 1;
int pass = 2;
@@ -198,7 +200,8 @@
int cancel = 4;
int xfSuccess = 5;
int xfFail = 6;
- int signout = 7;
+ int signin= 7;
+ int signout = 8;
}
public interface EmpowerStatus{
//涓�鍗¢�氭巿鏉冧笅鍙戠姸鎬� 0寰呬笅鍙� 1宸蹭笅鍙� 2涓嬪彂鎴愬姛 3宸插彇娑� 4涓嬪彂澶辫触 5浠诲姟涓嬭浇宸茬粨鏉�
@@ -327,8 +330,8 @@
public static void main(String[] args) {
- String t = URLDecoder.decode("https://lsqw.gtja.com/qwcos/v-index.html#/loginforProperty?corpId=ww4b7aefafeb430e4b&corpId=ww4b7aefafeb430e4b&agentId=1000005&agentId=1000005&fromRoute=&userCode=013561&userCode=&userId=zz&userId=&encryptUserCode=&custQwId=wmIUuSDgAAR8MhtVY8w90EyKltvoK5fA&custCode=&openId=op1wZwD1dKuBQywmWWS5957zUOJI&name=%E8%B9%84%E8%B9%84&headUrl=http%3A%2F%2Fwx.qlogo.cn%2Fmmhead%2FQ3auHgzwzM4QlibSOAvYcvRMdsoyF3Ua7duLOYSJfB3dsGsYxIYonBw%2F0&dbHeadUrl=https%3A%2F%2Ftgf.gtja.com%2Ff%2F%2Fqwoms%2F2022512%2Fqwoms_1652332606613_8.jpg");
- System.out.println(t);
+ System.out.println(Constants.checkCarNo("婀楤40D17"));
+ System.out.println(Constants.checkCarNo("鐨朅P0637"));
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/utils/ImageBase64Util.java b/server/dmvisit_service/src/main/java/com/doumee/core/utils/ImageBase64Util.java
index 327f16c..0ee1cc5 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/utils/ImageBase64Util.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/utils/ImageBase64Util.java
@@ -91,7 +91,8 @@
outStream.write(buffer, 0, len);
}
// 瀵瑰瓧鑺傛暟缁凚ase64缂栫爜
- return new BASE64Encoder().encode(outStream.toByteArray());
+ return Base64.encodeBase64String(outStream.toByteArray());
+// return new BASE64Encoder().encode(outStream.toByteArray());
}catch (Exception e) {
e.printStackTrace();
}
@@ -121,9 +122,9 @@
}
public static void main(String[] args) {
- String url= "http://doumeetest.oss-cn-beijing.aliyuncs.com/member/20210515/de923f81-b417-47fc-a702-472d60d7870a.png";// 寰呭鐞嗙殑鍥剧墖
+ String url= "http://175.27.187.84/file4/member/20223402/DM1005.png";// 寰呭鐞嗙殑鍥剧墖
String imgbese = Image2Base64(url);
- System.out.println(imgbese);
+ System.out.println(imgbese.replace("\r\n", ""));
// String url= "D:\\1.jpg";// 鏂扮敓鎴愮殑鍥剧墖
// generateImage(imgbese, url);
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/StagingDataVO.java b/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/StagingDataVO.java
new file mode 100644
index 0000000..6ece8b1
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/StagingDataVO.java
@@ -0,0 +1,47 @@
+package com.doumee.dao.admin.response;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2024/2/26 11:02
+ */
+@Data
+@ApiModel("宸ヤ綔鍙版暟鎹�")
+public class StagingDataVO {
+
+ @ApiModelProperty(value = "鍐呴儴鍛樺伐")
+ private Long workerCount;
+
+ @ApiModelProperty(value = "璁垮浜哄憳")
+ private Long visitorCount;
+
+ @ApiModelProperty(value = "鍔冲姟浜哄憳")
+ private Long lwCount;
+
+ @ApiModelProperty(value = "鍦ㄥ満杞﹁締")
+ private Integer presenceCarCount;
+
+ @ApiModelProperty(value = "棰勭害杞﹁締")
+ private Integer visitorCarCount;
+
+ @ApiModelProperty(value = "闀挎湡杞﹁締")
+ private Integer longCarCount;
+
+ @ApiModelProperty(value = "渚涘簲鍟嗘暟閲�")
+ private Integer supplierCount;
+
+ @ApiModelProperty(value = "鍔冲姟鍏徃浜哄憳鏁�")
+ private List<Map<String,Object>> companyUsers;
+
+ @ApiModelProperty(value = "婊炵暀浜哄憳鏁版嵁")
+ private List<Map<String,Object>> retentionUsers;
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/VisitEventDTO.java b/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/VisitEventDTO.java
index d6f9cb7..09f4d91 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/VisitEventDTO.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/VisitEventDTO.java
@@ -68,7 +68,7 @@
@ApiModelProperty(value = "鎵嬫満鍙�")
- private String personPhone;
+ private String phone;
@ApiModelProperty(value = "浜哄憳绫诲瀷")
private String personType;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Company.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Company.java
index 5f9a4fb..b7a30a9 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Company.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Company.java
@@ -174,4 +174,13 @@
@TableField(exist = false)
private List<Company> childList;
+ @ApiModelProperty(value = "娴峰悍閮ㄩ棬绾у埆璺緞", example = "1")
+ @ExcelColumn(name="娴峰悍閮ㄩ棬绾у埆璺緞")
+ private String hk_company_path;
+ @ApiModelProperty(value = "鑷缓閮ㄩ棬绾у埆璺緞", example = "1")
+ @ExcelColumn(name="鑷缓閮ㄩ棬绾у埆璺緞")
+ private String company_path;
+ @ApiModelProperty(value = "erp閮ㄩ棬绾у埆璺緞", example = "1")
+ @ExcelColumn(name="erp閮ㄩ棬绾у埆璺緞")
+ private String erp_company_path;
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
index 717a1f0..0a26680 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
@@ -64,8 +64,8 @@
@ExcelColumn(name="鍋ュ悍鐮�")
private String imgurl;
- @ApiModelProperty(value = "绫诲瀷 0鍔冲姟璁垮 1鏅�氳瀹� 2鍐呴儴鍛樺伐")
- @ExcelColumn(name="绫诲瀷 0鍔冲姟璁垮 1鏅�氳瀹� 2鍐呴儴鍛樺伐")
+ @ApiModelProperty(value = "绫诲瀷 0鍔冲姟璁垮 1鏅�氳瀹� 2鍐呴儴鍛樺伐 3杞﹁締淇℃伅")
+ @ExcelColumn(name="绫诲瀷 0鍔冲姟璁垮 1鏅�氳瀹� 2鍐呴儴鍛樺伐 3杞﹁締淇℃伅")
private Integer type;
@ApiModelProperty(value = "璁垮鍚嶇О")
@@ -115,6 +115,11 @@
@ExcelColumn(name="浜嬩欢绫诲瀷鐮�")
private String eventCode;
+
+ @ApiModelProperty(value = "杞︾墝鍙凤紙type=3浣跨敤锛�")
+ @ExcelColumn(name="杞︾墝鍙凤紙type=3浣跨敤锛�")
+ private String carNo;
+
@ApiModelProperty(value = "鍏徃缁勭粐")
@ExcelColumn(name="鍏徃缁勭粐")
@TableField(exist = false)
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitEvent.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitEvent.java
index 5a55fa1..c45977c 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitEvent.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitEvent.java
@@ -23,73 +23,73 @@
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "涓婚敭", example = "1")
- @ExcelColumn(name="涓婚敭")
+// @ExcelColumn(name="涓婚敭")
private Integer id;
@ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
- @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+// @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
private Integer creator;
@ApiModelProperty(value = "鍒涘缓鏃堕棿")
- @ExcelColumn(name="鍒涘缓鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd")
+ @ExcelColumn(name="鍒涘缓鏃堕棿" )
+// @JsonFormat(pattern = "yyyy-MM-dd")
private Date createDate;
@ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
- @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+// @ExcelColumn(name="鏇存柊浜虹紪鐮�")
private Integer editor;
@ApiModelProperty(value = "鏇存柊鏃堕棿")
- @ExcelColumn(name="鏇存柊鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd")
+// @ExcelColumn(name="鏇存柊鏃堕棿")
+// @JsonFormat(pattern = "yyyy-MM-dd")
private Date editDate;
@ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
- @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+// @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
private Integer isdeleted;
@ApiModelProperty(value = "澶囨敞")
- @ExcelColumn(name="澶囨敞")
+// @ExcelColumn(name="澶囨敞")
private String remark;
@ApiModelProperty(value = "浜嬩欢鍞竴鏍囪瘑锛屽悓涓�浜嬩欢鑻ヤ笂鎶ュ娆★紝鍒欎笂鎶ヤ簨浠剁殑eventId鐩稿悓")
- @ExcelColumn(name="浜嬩欢鍞竴鏍囪瘑锛屽悓涓�浜嬩欢鑻ヤ笂鎶ュ娆★紝鍒欎笂鎶ヤ簨浠剁殑eventId鐩稿悓")
+// @ExcelColumn(name="浜嬩欢鍞竴鏍囪瘑")
private String eventId;
@ApiModelProperty(value = "浜嬩欢婧愮紪鍙凤紝鐗╃悊璁惧鏄祫婧愮紪鍙�")
- @ExcelColumn(name="浜嬩欢婧愮紪鍙凤紝鐗╃悊璁惧鏄祫婧愮紪鍙�")
+// @ExcelColumn(name="浜嬩欢婧愮紪鍙凤紝鐗╃悊璁惧鏄祫婧愮紪鍙�")
private String srcIndex;
@ApiModelProperty(value = "浜嬩欢婧愮被鍨�")
- @ExcelColumn(name="浜嬩欢婧愮被鍨�")
+// @ExcelColumn(name="浜嬩欢婧愮被鍨�")
private String srcType;
@ApiModelProperty(value = "浜嬩欢婧愬悕绉�")
- @ExcelColumn(name="浜嬩欢婧愬悕绉�")
+// @ExcelColumn(name="浜嬩欢婧愬悕绉�")
private String srcName;
@ApiModelProperty(value = "浜嬩欢绫诲瀷锛堢櫥璁� 绛剧锛�")
- @ExcelColumn(name="浜嬩欢绫诲瀷")
+// @ExcelColumn(name="浜嬩欢绫诲瀷")
private Integer eventType;
@ApiModelProperty(value = "浜嬩欢鐘舵��,0-鐬椂1-寮�濮�2-鍋滄4-浜嬩欢鑱斿姩缁撴灉鏇存柊5-浜嬩欢鍥剧墖寮傛涓婁紶", example = "1")
- @ExcelColumn(name="浜嬩欢鐘舵��,0-鐬椂1-寮�濮�2-鍋滄4-浜嬩欢鑱斿姩缁撴灉鏇存柊5-浜嬩欢鍥剧墖寮傛涓婁紶")
+// @ExcelColumn(name="浜嬩欢鐘舵��,0-鐬椂1-寮�濮�2-鍋滄4-浜嬩欢鑱斿姩缁撴灉鏇存柊5-浜嬩欢鍥剧墖寮傛涓婁紶")
private Integer status;
@ApiModelProperty(value = "鑴夊啿瓒呮椂鏃堕棿")
- @ExcelColumn(name="鑴夊啿瓒呮椂鏃堕棿")
+// @ExcelColumn(name="鑴夊啿瓒呮椂鏃堕棿")
private Integer timeout;
@ApiModelProperty(value = "浜嬩欢鍙戠敓鏃堕棿锛堣澶囨椂闂�")
- @ExcelColumn(name="浜嬩欢鍙戠敓鏃堕棿锛堣澶囨椂闂�")
+// @ExcelColumn(name="浜嬩欢鍙戠敓鏃堕棿")
private String happenTime;
@ApiModelProperty(value = "浜嬩欢鍙戠敓鐨勪簨浠舵簮鐖惰澶�")
- @ExcelColumn(name="浜嬩欢鍙戠敓鐨勪簨浠舵簮鐖惰澶�")
+// @ExcelColumn(name="浜嬩欢鍙戠敓鐨勪簨浠舵簮鐖惰澶�")
private String srcParentIndex;
@ApiModelProperty(value = "璁垮Is锛�,瀵瑰簲璁垮鏉ヨ璁板綍涓殑orderId瀛楁")
- @ExcelColumn(name="璁垮Is锛�,瀵瑰簲璁垮鏉ヨ璁板綍涓殑orderId瀛楁")
+// @ExcelColumn(name="璁垮Is锛�,瀵瑰簲璁垮鏉ヨ璁板綍涓殑orderId瀛楁")
private String visitorId;
@ApiModelProperty(value = "濮撳悕")
@@ -97,15 +97,15 @@
private String personName;
@ApiModelProperty(value = "鎬у埆 1-鐢�2-濂�", example = "1")
- @ExcelColumn(name="鎬у埆 1-鐢�2-濂�")
+// @ExcelColumn(name="鎬у埆 1-鐢�2-濂�")
private Integer sex;
@ApiModelProperty(value = "璇佷欢绫诲瀷 111韬唤璇�")
- @ExcelColumn(name="璇佷欢绫诲瀷 111韬唤璇�")
+// @ExcelColumn(name="璇佷欢绫诲瀷 111韬唤璇�")
private Integer idType;
@ApiModelProperty(value = "璇佷欢鍙� ")
- @ExcelColumn(name="璇佷欢鍙� ")
+ @ExcelColumn(name="璇佷欢鍙�")
private String idNo;
@ApiModelProperty(value = "琚闂汉濮撳悕")
@@ -121,7 +121,7 @@
private String visitorWorkUint;
@ApiModelProperty(value = "璁垮楠岃瘉鐮�")
- @ExcelColumn(name="璁垮楠岃瘉鐮�")
+// @ExcelColumn(name="璁垮楠岃瘉鐮�")
private String visitorCode;
@ApiModelProperty(value = "鏉ヨ浜嬬敱")
@@ -129,7 +129,7 @@
private String purpose;
@ApiModelProperty(value = "璇佷欢绛惧彂鏈哄叧")
- @ExcelColumn(name="璇佷欢绛惧彂鏈哄叧")
+// @ExcelColumn(name="璇佷欢绛惧彂鏈哄叧")
private String signOrg;
@ApiModelProperty(value = "鏉ヨ鏃堕棿")
@@ -148,27 +148,27 @@
private String carNo;
@ApiModelProperty(value = "鐓х墖uri")
- @ExcelColumn(name="鐓х墖uri")
+// @ExcelColumn(name="鐓х墖uri")
private String photoUrl;
@ApiModelProperty(value = "鎶撴媿鍥緐ri")
- @ExcelColumn(name="鎶撴媿鍥緐ri")
+// @ExcelColumn(name="鎶撴媿鍥緐ri")
private String captureUrl;
@ApiModelProperty(value = "鍥剧墖瀛樺偍鏈嶅姟鍣ㄥ敮涓�鏍囪瘑")
- @ExcelColumn(name="鍥剧墖瀛樺偍鏈嶅姟鍣ㄥ敮涓�鏍囪瘑")
+// @ExcelColumn(name="鍥剧墖瀛樺偍鏈嶅姟鍣ㄥ敮涓�鏍囪瘑")
private String svrIndexCode;
@ApiModelProperty(value = "琚闂汉id")
- @ExcelColumn(name="琚闂汉id")
+// @ExcelColumn(name="琚闂汉id")
private String beVisitedPersonId;
@ApiModelProperty(value = "琚闂汉鎵�灞炵粍缁噄d")
- @ExcelColumn(name="琚闂汉鎵�灞炵粍缁噄d")
+// @ExcelColumn(name="琚闂汉鎵�灞炵粍缁噄d")
private String beVisitedPersonOrgId;
@ApiModelProperty(value = "琚闂汉鎵�灞炵粍缁噄d")
- @ExcelColumn(name="琚闂汉鎵�灞炵粍缁噄d")
+// @ExcelColumn(name="琚闂汉鎵�灞炵粍缁噄d")
private String idcardDecode;
// 鏉′欢鏌ヨ鍙傛暟
@@ -183,4 +183,14 @@
@ApiModelProperty(value = "缁熻鏁伴噺 ")
@TableField(exist = false)
private int num ;
+
+ @ApiModelProperty(value = "浜嬩欢绫诲瀷鍚嶇О")
+ @TableField(exist = false)
+ @ExcelColumn(name="浜嬩欢绫诲瀷")
+ private String eventTypeName;
+
+ @ApiModelProperty(value = "鎶撴媿鍥緐ri瀹屾暣")
+ @TableField(exist = false)
+// @ExcelColumn(name="鎶撴媿鍥緐ri")
+ private String captureUrlFull;
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java
index 5105d1c..3118a34 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java
@@ -107,14 +107,11 @@
@ApiModelProperty(value = "闅忕▼浜哄憳鏁�", example = "1")
@ExcelColumn(name="闅忕▼浜哄憳鏁�")
private Integer memberNum;
-
-
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "闂ㄧ鏈夋晥鏈熷紑濮�")
@ExcelColumn(name="闂ㄧ鏈夋晥鏈熷紑濮�")
private Date starttime;
-
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "闂ㄧ鏈夋晥鏈熸埅姝�")
@@ -123,7 +120,6 @@
@ApiModelProperty(value = "杩涘巶鏃堕棿")
@ExcelColumn(name="杩涘巶鏃堕棿")
private Date inDate;
-
@ApiModelProperty(value = "绂诲満鏃堕棿")
@ExcelColumn(name="绂诲満鏃堕棿")
private Date outDate;
@@ -153,8 +149,8 @@
@ExcelColumn(name="鎺ュ緟浜哄憳")
private Integer receptMemberId;
- @ApiModelProperty(value = "瀹℃牳鐘舵�� 0寰呭鏍� 1宸叉彁浜RP瀹℃壒 2瀹℃牳閫氳繃 3瀹℃牳涓嶉�氳繃 4鍙栨秷 5涓嬪彂鎴愬姛 6涓嬪彂澶辫触", example = "1")
- @ExcelColumn(name="瀹℃牳鐘舵�� 0寰呭鏍� 1宸叉彁浜RP瀹℃壒 2瀹℃牳閫氳繃 3瀹℃牳涓嶉�氳繃 4鍙栨秷 5涓嬪彂鎴愬姛 6涓嬪彂澶辫触")
+ @ApiModelProperty(value = "瀹℃牳鐘舵�� 0寰呭鏍� 1宸叉彁浜RP瀹℃壒 2瀹℃牳閫氳繃 3瀹℃牳涓嶉�氳繃 4鍙栨秷 5涓嬪彂鎴愬姛 6涓嬪彂澶辫触 7鎷滆涓� 8宸茬绂�", example = "1")
+ @ExcelColumn(name="瀹℃牳鐘舵�� 0寰呭鏍� 1宸叉彁浜RP瀹℃壒 2瀹℃牳閫氳繃 3瀹℃牳涓嶉�氳繃 4鍙栨秷 5涓嬪彂鎴愬姛 6涓嬪彂澶辫触 7鎷滆涓� 8宸茬绂�")
private Integer status;
@ApiModelProperty(value = "鍒濆浜虹紪鐮�", example = "1")
@@ -276,8 +272,15 @@
@TableField(exist = false)
private Integer timeOut;
+ @ApiModelProperty(value = "闅忚杞﹁締鏁伴噺", example = "1")
+ @TableField(exist = false)
+ private Integer carNum;
+
@ApiModelProperty(value = "瓒呮椂鐘舵��0鏈秴鏃讹紝1宸茶秴鏃讹紝2鍗冲皢瓒呮椂", example = "1")
@TableField(exist = false)
private Integer outStatus;
+ @ApiModelProperty(value = "绂诲満鐘舵�侊紱0=鏈鍦�", example = "1",hidden = true)
+ @TableField(exist = false)
+ private Integer levelStatus;
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java
index b306c56..a329b1d 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java
@@ -1,13 +1,12 @@
package com.doumee.service.business;
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
-import com.doumee.core.erp.model.openapi.response.AccessTokenResponse;
import com.doumee.dao.admin.request.LaborEmpowerDTO;
import com.doumee.dao.admin.request.LaborMemberDTO;
import com.doumee.dao.admin.request.MemberQuery;
import com.doumee.dao.admin.response.MemberInfoDTO;
+import com.doumee.dao.admin.response.StagingDataVO;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.web.reqeust.AccountLoginDTO;
import com.doumee.dao.web.reqeust.CheckVisitedDTO;
@@ -194,4 +193,11 @@
* @return
*/
PageData<MemberVO> getVisitedMemberList(PageWrap<VisitMemberDTO> param);
+
+ /**
+ * 琛ュ厖鏁版嵁
+ */
+ StagingDataVO stagingHead(StagingDataVO stagingHeadVO);
+
+ StagingDataVO stagingBody(StagingDataVO stagingHeadVO);
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitEventService.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitEventService.java
index 6d07749..6b496dd 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitEventService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitEventService.java
@@ -106,7 +106,7 @@
* @param pageWrap 鍒嗛〉瀵硅薄
* @return PageData<VisitEvent>
*/
- PageData<VisitEventDTO> findVisitPage(PageWrap<VisitEvent> pageWrap);
+ PageData<VisitEvent> findVisitPage(PageWrap<VisitEvent> pageWrap);
/**
@@ -114,5 +114,5 @@
* @param pageWrap 鍒嗛〉瀵硅薄
* @return PageData<VisitEventVo>
*/
- List<VisitEventVo> findPageExcel(PageWrap<VisitEvent> pageWrap);
+ List<VisitEvent> findPageExcel(PageWrap<VisitEvent> pageWrap);
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
index 0094acb..dd95a92 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
@@ -124,4 +124,6 @@
* @param auditApproveDTO
*/
void auditApprove(AuditApproveDTO auditApproveDTO);
+
+ void visitLevel(Integer visitId);
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
index a827a1b..19b9e48 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -460,14 +460,13 @@
int origin =Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin());
List<Company> collect = null;
if(origin == DataSyncConfig.origin.erp){
- companies.stream().filter(s -> ( StringUtils.equals(s.getErpParentId()+"", parentId))).collect(Collectors.toList());
+ collect= companies.stream().filter(s -> ( StringUtils.defaultString(s.getErpParentId(),"").equals(StringUtils.defaultString(parentId)))).collect(Collectors.toList());
}else if(origin == DataSyncConfig.origin.hk){
- companies.stream().filter(s -> ( StringUtils.equals(s.getHkParentId()+"", parentId))).collect(Collectors.toList());
+ collect= companies.stream().filter(s -> ( StringUtils.defaultString(s.getHkParentId(),"").equals(StringUtils.defaultString(parentId)))).collect(Collectors.toList());
}else{
- companies.stream().filter(s -> ( StringUtils.equals(s.getParentId()+"", parentId))).collect(Collectors.toList());
+ collect= companies.stream().filter(s -> (StringUtils.defaultString(s.getParentId()+"","").equals(StringUtils.defaultString(parentId)))).collect(Collectors.toList());
}
-
- if (CollectionUtils.isEmpty(companies)){
+ if (CollectionUtils.isEmpty(collect)){
return null;
}
List<CompanyDTO> companyDTOList = new ArrayList<>();
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index dfc80bd..5d16abd 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -2,11 +2,8 @@
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.lang.PatternPool;
-import cn.hutool.core.lang.Validator;
import cn.hutool.core.util.IdcardUtil;
import cn.hutool.core.util.PhoneUtil;
-import cn.hutool.core.util.ReUtil;
import com.alibaba.fastjson.JSONObject;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.config.DataSyncConfig;
@@ -15,7 +12,6 @@
import com.doumee.core.annotation.excel.ExcelImporter;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
-import com.doumee.core.haikang.model.HKConstants;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
@@ -29,18 +25,17 @@
import com.doumee.dao.admin.request.LaborMemberDTO;
import com.doumee.dao.admin.request.MemberQuery;
import com.doumee.dao.admin.response.MemberInfoDTO;
+import com.doumee.dao.admin.response.StagingDataVO;
import com.doumee.dao.business.*;
import com.doumee.dao.business.join.MemberJoinMapper;
+import com.doumee.dao.business.join.RetentionJoinMapper;
import com.doumee.dao.business.join.UserActionJoinMapper;
import com.doumee.dao.business.model.*;
import com.doumee.dao.system.model.SystemDictData;
-import com.doumee.dao.system.model.SystemUser;
import com.doumee.dao.web.reqeust.AccountLoginDTO;
import com.doumee.dao.web.reqeust.CheckVisitedDTO;
import com.doumee.dao.web.reqeust.VisitMemberDTO;
-import com.doumee.dao.web.reqeust.VisitRecordDTO;
import com.doumee.dao.web.response.MemberVO;
-import com.doumee.dao.web.response.VisitRecordVO;
import com.doumee.dao.web.response.WxAuthorizeVO;
import com.doumee.service.business.MemberService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -50,7 +45,6 @@
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.lang3.time.DateUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -96,9 +90,18 @@
private UserActionJoinMapper userActionJoinMapper;
@Autowired
+ private CompanyMapper companyMapper;
+
+ @Autowired
private RedisTemplate<String, Object> redisTemplate;
@Autowired
private DataSyncConfig dataSyncConfig;
+
+ @Autowired
+ private RetentionJoinMapper retentionJoinMapper;
+
+ @Autowired
+ private VisitsMapper visitsMapper;
@Override
@@ -583,6 +586,7 @@
MPJLambdaWrapper<Member> queryWrapper = new MPJLambdaWrapper<>();
queryWrapper.selectAll(Member.class);
+ queryWrapper.selectAs(Company::getName,Member::getCompanyName);
queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
queryWrapper.in(Objects.nonNull(pageWrap.getModel().getCompanyIds())&&pageWrap.getModel().getCompanyIds().size()>0,
Member::getCompanyId,pageWrap.getModel().getCompanyIds())
@@ -706,6 +710,7 @@
.or().like(Member::getVisitCompanyName,pageWrap.getModel().getCompanyName()))
.like(StringUtils.isNotBlank(pageWrap.getModel().getIdcardNo()),Member::getIdcardNo,pageWrap.getModel().getIdcardNo())
.eq(Member::getStatus,Constants.Status.FREEZE.getValue())
+ .eq(pageWrap.getModel().getCompanyId()!=null,Company::getId,pageWrap.getModel().getCompanyId())
.eq(Objects.nonNull(pageWrap.getModel().getCode()),Member::getCode,pageWrap.getModel().getCode())
.orderByDesc(Member::getCreateDate);
@@ -881,13 +886,16 @@
.eq(Member::getPhone,checkVisitedDTO.getMobile())
.eq(validType.equals(Constants.ONE),Member::getName,checkVisitedDTO.getName())
.eq(Member::getIsdeleted,Constants.ZERO)
- .eq(Member::getStatus,Constants.ZERO)
+// .eq(Member::getStatus,Constants.ZERO)
.eq(Member::getCanVisit,Constants.ONE)
.eq(Member::getType,Constants.memberType.internal)
.last(" limit 1 ")
);
MemberVO memberVO = new MemberVO();
if(!Objects.isNull(member)){
+ if(!member.getStatus().equals(Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"琚浜鸿处鍙峰紓甯革紝璇风‘璁ゅ悗鍐嶈瘯");
+ }
BeanUtils.copyProperties(member,memberVO);
}else{
throw new BusinessException(ResponseStatus.DATA_EMPTY);
@@ -980,6 +988,45 @@
+ @Override
+ public StagingDataVO stagingHead(StagingDataVO stagingHeadVO){
+ //浜哄憳淇℃伅
+ List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda().eq(Member::getIsdeleted,Constants.ZERO));
+ if(CollectionUtils.isNotEmpty(memberList)){
+ stagingHeadVO.setWorkerCount(memberList.stream().filter(m->m.getType().equals(Constants.memberType.internal)).count());
+ stagingHeadVO.setLwCount(memberList.stream().filter(m->m.getType().equals(Constants.memberType.lw_visitor)).count());
+ stagingHeadVO.setVisitorCount(memberList.stream().filter(m->m.getType().equals(Constants.memberType.visitor)).count());
+ }
+ //鍦ㄥ満杞﹁締
+ stagingHeadVO.setPresenceCarCount(retentionJoinMapper.selectCount(new QueryWrapper<Retention>().lambda().eq(Retention::getType,3)));
+ //闀挎湡杞﹁締
+ stagingHeadVO.setLongCarCount(retentionJoinMapper.selectCount(new QueryWrapper<Retention>().lambda().eq(Retention::getType,3)
+ .exists(" select 1 from park_book p where p.origin = 0 and p.car_code = retention.car_no and p.ISDELETED = 0 ")
+ ));
+ stagingHeadVO.setVisitorCarCount(stagingHeadVO.getPresenceCarCount() - stagingHeadVO.getLongCarCount());
+ stagingHeadVO.setSupplierCount(companyMapper.selectCount(new QueryWrapper<Company>().lambda().eq(Company::getIsdeleted,Constants.ZERO)));
+ return stagingHeadVO;
+ }
+
+
+ @Override
+ public StagingDataVO stagingBody(StagingDataVO stagingHeadVO){
+ List<Map<String,Object>> companyMaps = memberJoinMapper.selectJoinMaps(
+ new MPJLambdaWrapper<Member>()
+ .select("count(1) as memberCount, t1.name as companyName")
+ .leftJoin(Company.class,Company::getId,Member::getCompanyId)
+ .eq(Member::getType,Constants.memberType.lw_visitor)
+ .groupBy(Company::getId,Company::getName)
+ );
+ List<Map<String,Object>> retentionMaps = retentionJoinMapper.selectMaps(new MPJLambdaWrapper<Retention>()
+ .select(" count(1) as memberCount, type as memberType ")
+ .ne(Retention::getType,3)
+ .groupBy(Retention::getType)
+ );
+ stagingHeadVO.setCompanyUsers(companyMaps);
+ stagingHeadVO.setRetentionUsers(retentionMaps);
+ return stagingHeadVO;
+ }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitEventServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitEventServiceImpl.java
index 11ae971..5bbd244 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitEventServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitEventServiceImpl.java
@@ -235,9 +235,9 @@
}
@Override
- public PageData<VisitEventDTO> findVisitPage(PageWrap<VisitEvent> pageWrap) {
+ public PageData<VisitEvent> findVisitPage(PageWrap<VisitEvent> pageWrap) {
- IPage<VisitEventDTO> visitEventDTOIPage = getDataInfo(pageWrap);
+ IPage<VisitEvent> visitEventDTOIPage = getDataInfo(pageWrap);
if(null != visitEventDTOIPage && visitEventDTOIPage.getRecords().size() > 0) {
visitEventDTOIPage.setRecords(newVisitEvent(visitEventDTOIPage.getRecords()));
}
@@ -245,27 +245,12 @@
}
@Override
- public List<VisitEventVo> findPageExcel(PageWrap<VisitEvent> pageWrap) {
- IPage<VisitEventDTO> visitEventExcel = getDataInfo(pageWrap);
- List<VisitEventVo> voList = new ArrayList<>();
- if(null != visitEventExcel && visitEventExcel.getRecords().size() > 0) {
- visitEventExcel.getRecords().stream().forEach(obj->{
- VisitEventVo eventVo = new VisitEventVo();
- eventVo.setPersonName(obj.getPersonName());
- eventVo.setPersonPhone(obj.getPersonPhone());
- eventVo.setIdNo(obj.getIdNo());
- eventVo.setPersonCompanyName(obj.getPersonCompanyName());
- eventVo.setCarNo(obj.getCarNo());
- eventVo.setBeVisitedPersonName(obj.getBeVisitedPersonName()+"-"+obj.getBeVisitedPersonOrg());
- eventVo.setEventTypeName(HKConstants.EventTypes.getName(obj.getEventType()));
- eventVo.setHappenTime(obj.getHappenTime());
- voList.add(eventVo);
- });
- }
- return voList;
+ public List<VisitEvent> findPageExcel(PageWrap<VisitEvent> pageWrap) {
+ IPage<VisitEvent> visitEventExcel = getDataInfo(pageWrap);
+ return newVisitEvent(visitEventExcel.getRecords());
}
- private IPage<VisitEventDTO> getDataInfo(PageWrap<VisitEvent> pageWrap) {
+ private IPage<VisitEvent> getDataInfo(PageWrap<VisitEvent> pageWrap) {
//鏄惁鏄暟瀛�
boolean number = Validator.isNumber(pageWrap.getModel().getKeyWords());
//鏄惁鍖呭惈涓枃
@@ -275,9 +260,7 @@
IPage<VisitEvent> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
MPJLambdaWrapper<VisitEvent> queryWrapper = new MPJLambdaWrapper<>();
- queryWrapper .leftJoin(Visits.class,Visits::getHkId,VisitEvent::getVisitorId);
- queryWrapper.selectAll(VisitEvent.class)
- .selectAs(Visits::getCompanyName,VisitEventDTO::getPersonCompanyName);
+ queryWrapper.selectAll(VisitEvent.class);
queryWrapper.like(number,
VisitEvent::getPhone,
pageWrap.getModel().getKeyWords())
@@ -293,37 +276,36 @@
.eq(Objects.nonNull(pageWrap.getModel().getEventType()),
VisitEvent::getEventType,
pageWrap.getModel().getEventType())
- .ge(Objects.nonNull(pageWrap.getModel().getStartTime()),
+ .ge(StringUtils.isNotBlank(pageWrap.getModel().getStartTime()),
VisitEvent::getHappenTime,
pageWrap.getModel().getStartTime())
- .le(Objects.nonNull(pageWrap.getModel().getEndTime()),
+ .le(StringUtils.isNotBlank(pageWrap.getModel().getEndTime()),
VisitEvent::getHappenTime,
- pageWrap.getModel().getEndTime());
+ pageWrap.getModel().getEndTime())
+ .eq(VisitEvent::getIsdeleted,Constants.ZERO);
queryWrapper.orderByDesc(VisitEvent::getHappenTime);
- IPage<VisitEventDTO> visitEventDTOIPage = visitEventJoinMapper.selectJoinPage(page, VisitEventDTO.class, queryWrapper);
+ IPage<VisitEvent> visitEventDTOIPage = visitEventJoinMapper.selectJoinPage(page, VisitEvent.class, queryWrapper);
return visitEventDTOIPage;
}
- private List<VisitEventDTO> newVisitEvent(List<VisitEventDTO> VisitEventDTOList) {
+ private List<VisitEvent> newVisitEvent(List<VisitEvent> VisitEventDTOList) {
List<String> codes = Arrays.asList(Constants.FTP_RESOURCE_PATH,Constants.MEMBER_IMG);
List<SystemDictData> list = systemDictDataMapper.list(codes);
Map<String,SystemDictData> dataMap = list.stream().collect(Collectors.toMap(SystemDictData::getLabel, Function.identity()));
- List<VisitEventDTO> newDataList = new ArrayList<>();
VisitEventDTOList.stream().forEach(obj->{
if(StringUtils.isNotBlank( obj.getCaptureUrl())
&& !obj.getCaptureUrl().startsWith(HKConstants.IMG_INDEX)
&& !obj.getCaptureUrl().startsWith(HKConstants.IMG_INDEX_ERROR)) {
if(null != list && list.size() > 0) {
- obj.setCaptureUrl(dataMap.get(Constants.FTP_RESOURCE_PATH).getCode()
- +dataMap.get(Constants.MEMBER_IMG).getCode()
+ obj.setCaptureUrlFull(dataMap.get(Constants.FTP_RESOURCE_PATH).getCode()
+ +dataMap.get(Constants.VISIT_EVENT_IMG).getCode()
+obj.getCaptureUrl());
}
}
- obj.setEventTypeName(HKConstants.EventTypes.getName(obj.getEventType())) ;
- newDataList.add(obj);
+ obj.setEventTypeName(HKConstants.EventTypes.getName(obj.getEventType())); ;
});
- return newDataList;
+ return VisitEventDTOList;
}
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
index e42296e..8a1521d 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -476,7 +476,7 @@
private void isValidBaseParam(Visits visits) {
if(visits.getEndtime() == null
|| visits.getStarttime() == null
- || StringUtils.isBlank(visits.getReason())
+// || StringUtils.isBlank(visits.getReason())
|| StringUtils.isBlank( visits.getName())
|| StringUtils.isBlank( visits.getPhone())
|| visits.getIdcardType() == null
@@ -543,7 +543,11 @@
v.setIdcardDecode(Constants.getTuominStr(v.getIdcardNo()));//鑴辨晱韬唤璇佸彿
v.setIdcardNo(DESUtil.encrypt(Constants.EDS_PWD, v.getIdcardNo()));//韬唤璇佸彿鍔犲瘑
v.setErpId(visits.getErpId());
+ v.setReceptMemberId(visits.getReceptMemberId());
+ v.setMemberNum(Constants.ZERO);
v.setHkStatus(Constants.ZERO);
+ v.setReason(visits.getReason());
+ v.setDoors(visits.getDoors());
v.setStatus(Constants.VisitStatus.submitCheck);
}
//鎵归噺鎻掑叆鏁版嵁
@@ -660,25 +664,28 @@
//鏍¢獙闅忚浜哄憳濉姤鏁版嵁鍚堟硶鎬�
isValidWithVisitParam(model,addList,editList);
model.setCreateDate(visits.getCreateDate());
- getMemberListParam(model.getIdcardNo(),model,addList,editList);
+ Member visitsMember = getMemberListParam(model.getIdcardNo(),model,addList,editList);
+ model.setMemberId(visitsMember.getId());
}
}
- if(CollectionUtils.isNotEmpty(addList)){
- memberMapper.insertBatchSomeColumn(addList);
- }
- if(CollectionUtils.isNotEmpty(editList)){
- editList.forEach(i->{
- memberMapper.updateById(i);
- });
-
- }
+// if(CollectionUtils.isNotEmpty(addList)){
+// memberMapper.insertBatchSomeColumn(addList);
+// }
+// if(CollectionUtils.isNotEmpty(editList)){
+// editList.forEach(i->{
+// memberMapper.updateById(i);
+// });
+//
+// }
return m;
}
private Member getMemberListParam(String cardno, Visits visits, List<Member> addList, List<Member> editList) {
- if(StringUtils.isNotBlank(visits.getCarNos())&&!Constants.checkCarNo(visits.getCarNos())){
+ if(!StringUtils.isNotBlank(visits.getCarNos())
+// &&!Constants.checkCarNo(visits.getCarNos())
+ ){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝杞︾墝鍙枫��"+visits.getCarNos()+"銆戜笉鍚堟硶锛岃鏍稿疄鍚庨噸璇晘");
}
if(Constants.equalsInteger(Constants.ZERO, visits.getIdcardType())&&cardno.length()!=18
@@ -714,8 +721,9 @@
member.setHkStatus(Constants.ZERO);
member.setErpStatus(Constants.ZERO);
member.setVisitCompanyName(visits.getCompanyName());
- // 鏂板璁垮璁板綍
- addList.add(member);
+ memberMapper.insert(member);
+ // 鏂板璁垮
+// addList.add(member);
}else{
if(!Constants.equalsInteger(Constants.ZERO,member.getStatus() )){
//濡傛灉鐢ㄦ埛鐘舵�佸紓甯革紝鍒欐彁绀�
@@ -737,11 +745,13 @@
member.setHkStatus(Constants.ZERO);
member.setErpStatus(Constants.ZERO);
member.setVisitCompanyName(visits.getCompanyName());
+ memberMapper.updateById(member);
// 鏇存柊璁垮淇℃伅,
- editList.add(member);
+// editList.add(member);
}
//鏍规嵁鎵嬫満鍙峰拰韬唤璇佸彿鐮佹煡璇� 褰撳墠棰勭害鐨勬椂闂存槸鍚︿笌鍏朵粬棰勭害璁板綍鏈夊啿绐�
if (visitsMapper.selectCount(new QueryWrapper<Visits>().lambda()
+ .notIn(Visits::getStatus,Constants.VisitStatus.cancel,Constants.VisitStatus.cancel,Constants.VisitStatus.noPass,Constants.VisitStatus.xfFail)
.and(ms -> ms.eq(Visits::getPhone, visits.getPhone())
.or().eq(Visits::getIdcardDecode, Constants.getTuominStr(cardno)))
.and(ms -> ms.apply(" visits.STARTTIME <= '" + DateUtil.DateToStr(visits.getStarttime(),"yyyy-MM-dd HH:mm:ss") + "' and visits.ENDTIME >= '" + DateUtil.DateToStr(visits.getStarttime(),"yyyy-MM-dd HH:mm:ss") + "' ")
@@ -968,6 +978,7 @@
MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
queryWrapper.selectAll(Visits.class);
+ queryWrapper.select(" ( select count(distinct(v.CAR_NOS)) from visits v where v.PARENT_ID = t.ID and v.CAR_NOS is not null and v.CAR_NOS != '' and v.CAR_NOS != t.CAR_NOS ) as carNum ");
queryWrapper.selectAs(Member::getName,Visits::getReceptMemberName);
queryWrapper.selectAs(Company::getName,Visits::getReceptMemberDepartment);
queryWrapper.leftJoin(Member.class,Member::getId,Visits::getReceptMemberId);
@@ -983,6 +994,12 @@
queryWrapper.isNull(Visits::getParentId);
queryWrapper.orderByDesc(Visits::getCreateDate);
IPage<Visits> result = visitsJoinMapper.selectJoinPage(page, Visits.class,queryWrapper);
+
+ for (Visits visits:result.getRecords()) {
+ if(StringUtils.isNotBlank(visits.getCarNos())){
+ visits.setCarNum(visits.getCarNum() + Constants.ONE);
+ }
+ }
return PageData.from(result);
}
@@ -995,17 +1012,21 @@
@Override
public PageData<Visits> retentionPage(PageWrap<Visits> pageWrap) {
+ String code= systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.TIMEOUT_WARNING).getCode();
IPage<Visits> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
-
queryWrapper.selectAll(Visits.class);
queryWrapper.selectAs(Member::getName,Visits::getReceptMemberName);
- queryWrapper.select("TIMESTAMPDIFF(MINUTE,t.ENDTIME , NOW()) AS timeOut");
+ queryWrapper.select("TIMESTAMPDIFF( MINUTE, NOW(), t.ENDTIME) AS timeOut");
queryWrapper.selectAs(Member::getType,Visits::getMemberType);
queryWrapper.selectAs(Company::getName,Visits::getReceptMemberDepartment);
queryWrapper.leftJoin(Member.class,Member::getId,Visits::getReceptMemberId);
queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
queryWrapper.leftJoin(" member m on m.id=t.MEMBER_ID");
+
+ queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getLevelStatus()),Visits::getStatus,Constants.VisitStatus.signin);
+
+ queryWrapper.apply(Objects.nonNull(pageWrap.getModel().getLevelStatus())," TIMESTAMPDIFF( MINUTE, NOW(), t.ENDTIME) <= "+code+" ");
queryWrapper.ne("m.type ",Constants.TWO);
queryWrapper.eq(Visits::getIsdeleted,Constants.ZERO);
@@ -1017,16 +1038,15 @@
.eq(Objects.nonNull(pageWrap.getModel().getStatus()),Visits::getStatus,pageWrap.getModel().getStatus());
queryWrapper.isNull(Visits::getOutDate);
queryWrapper.orderByDesc(Visits::getEditDate);
- String code= systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.TIMEOUT_FREEZE).getCode();
IPage<Visits> result = visitsJoinMapper.selectJoinPage(page, Visits.class,queryWrapper);
if(result!=null&&result.getRecords()!=null){
result.getRecords().stream().forEach(s ->{
- if(s.getTimeOut()>=Constants.ZERO){
- s.setOutStatus(Constants.ONE);
- }else if(s.getTimeOut()<=Integer.valueOf(code)&&s.getTimeOut()>0){
+ if(s.getTimeOut()<=Integer.valueOf(code)&&s.getTimeOut()>=0){
s.setOutStatus(Constants.TWO);
- }else{
+ }else if(s.getTimeOut()>Constants.ZERO){
s.setOutStatus(Constants.ZERO);
+ }else{
+ s.setOutStatus(Constants.ONE);
}
});
@@ -1121,4 +1141,18 @@
+ @Override
+ public void visitLevel(Integer visitId){
+ Visits visits = visitsMapper.selectById(visitId);
+ if(Objects.isNull(visits)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ if(!visits.getStatus().equals(Constants.VisitStatus.signin)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁垮璁板綍鐘舵�侀敊璇紝璇峰埛鏂伴噸璇�");
+ }
+ visitsMapper.update(null,new UpdateWrapper<Visits>().lambda().set(Visits::getStatus,Constants.VisitStatus.signout)
+ .eq(Visits::getId,visitId));
+
+ }
+
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPrivilegeServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPrivilegeServiceImpl.java
index df5556f..60d05d1 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPrivilegeServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPrivilegeServiceImpl.java
@@ -141,9 +141,9 @@
model.setHkId(device.getPrivilegeGroupId());
model.setName(device.getPrivilegeGroupName());
model.setHkStatus(Constants.ONE);
- model.setIsdeleted(Constants.ZERO);
+ model.setStatus(Constants.ONE);
model.setIsDefault(device.getIsDefault());
- model.setType(String.valueOf(Constants.ZERO));
+ model.setType(String.valueOf(Constants.ONE));
return model;
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
index fe0d178..d872e52 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -50,6 +50,8 @@
@Autowired
private CarsMapper carsMapper;
@Autowired
+ private ParkBookMapper parkBookMapper;
+ @Autowired
private DeviceEventMapper deviceEventMapper;
@Autowired
private MemberMapper memberMapper;
@@ -307,7 +309,9 @@
EventVisitDataRequest model = request.getData();
MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
queryWrapper.selectAll(Visits.class);
+ queryWrapper.selectAs(Member::getType,Visits::getMemberType);
queryWrapper.eq(Visits::getHkId,model.getVisitorId() );
+ queryWrapper.leftJoin(Member.class,Member::getId,Visits::getMemberId );
queryWrapper.last("limit 1");
Visits visits = visitsMapper.selectJoinOne(Visits.class,queryWrapper);
if(visits !=null){
@@ -319,9 +323,13 @@
//濡傛灉鏄瀹㈢櫥璁帮紝褰曞叆浜哄憳鐨勫湪鍦烘暟鎹褰�
retentionList.add(getRetentionModelByVisitRequest(visits,request));
//鏉ヨ鏃堕棿
- updateVistis.setOutDate(DateUtil.getISO8601DateByStr(model.getStartTime()));
+ updateVistis.setStatus(Constants.VisitStatus.signin);
+ updateVistis.setInDate(DateUtil.getISO8601DateByStr(model.getStartTime()));
+ updateVistis.setOutDate(DateUtil.getISO8601DateByStr(model.getEndTime()));
}else {
//濡傛灉鏄瀹㈢绂讳簨浠�
+ updateVistis.setStatus(Constants.VisitStatus.signout);
+ updateVistis.setInDate(DateUtil.getISO8601DateByStr(model.getStartTime()));
updateVistis.setOutDate(DateUtil.getISO8601DateByStr(model.getEndTime()));
updateVistis.setOutType(Constants.ZERO);
updateVistis.setOutInfo("璁垮姝e父绛剧");
@@ -341,7 +349,9 @@
event.setVisitorCode(request.getData().getVisitorCode());
event.setTimeout(request.getTimeout());
event.setSvrIndexCode(request.getData().getSvrIndexCode());
+ event.setHappenTime(request.getHappenTime());
event.setStatus(request.getStatus());
+ event.setEndTime(request.getData().getEndTime());
event.setStartTime(request.getData().getStartTime());
event.setSrcType(request.getSrcType());
event.setSrcParentIndex(request.getSrcParentIndex());
@@ -350,8 +360,23 @@
event.setSignOrg(request.getData().getSignOrg());
event.setSex(request.getData().getSex());
event.setPurpose(request.getData().getPurpose());
+ event.setPhone(request.getData().getPhone());
+ event.setBeVisitedPersonId(request.getData().getBeVisitedPersonId());
+ event.setBeVisitedPersonName(request.getData().getBeVisitedPersonName());
+ event.setBeVisitedPersonOrg(request.getData().getBeVisitedPersonOrg());
+ event.setBeVisitedPersonOrgId(request.getData().getBeVisitedPersonOrgId());
+ event.setVisitorWorkUint(request.getData().getVisitorWorkUint());
event.setPhotoUrl(getHkImgUrl(request.getData().getPhotoUrl()));
event.setPersonName(request.getData().getPersonName());
+ event.setCarNo(request.getData().getCarNo());
+ event.setCaptureUrl(request.getData().getCaptureUrl());
+ if(StringUtils.isNotBlank(request.getData().getCaptureUrl())){
+ event.setCaptureUrl(HKConstants.IMG_INDEX+request.getData().getCaptureUrl());
+ }
+ if(StringUtils.isNotBlank(request.getData().getPhotoUrl())){
+
+ event.setPhotoUrl(HKConstants.IMG_INDEX+request.getData().getPhotoUrl());
+ }
event.setIdType(request.getData().getIdType());
String idnum =request.getData().getIdNo();
if(StringUtils.isNotBlank(idnum)){
@@ -362,8 +387,6 @@
}
event.setEventType(request.getEventType());
event.setEventId(request.getEventId());
- event.setHappenTime(event.getHappenTime());
-
return event;
}
@@ -409,16 +432,28 @@
//闂ㄧ浜嬩欢闆嗗悎
List<EventParkInfoRequest> events = param.getParams().getEvents();
List<CarEvent> list = new ArrayList<>();
+ List<Retention> retentionList = new ArrayList<>();
+ List<String> delRetentionList = new ArrayList<>();
for(EventParkInfoRequest request : events){
if(request.getData() ==null ||StringUtils.isBlank(request.getData().getPlateNo())){
continue;
}
//灏佽浜嬩欢淇℃伅琛ㄥ璞�
- list.add(getParkEventModelByRequest(request));
+ list.add(getParkEventModelByRequest(request,delRetentionList,retentionList));
}
if(list.size()>0){
//鎻掑叆闂ㄧ璁板綍
carEventMapper.insertBatchSomeColumn(list);
+ }
+ if(delRetentionList.size()>0){
+ //鍏堝垹闄ゅ師鏈夌殑鍦ㄥ満浜哄憳(鍐呴儴浜哄憳锛�
+ retentionMapper.delete(new UpdateWrapper<Retention>().lambda()
+ .eq(Retention::getType,Constants.THREE)
+ .in(Retention::getCarNo,delRetentionList));
+ }
+ if(retentionList.size()>0){
+ //鍐嶆彃鍏ユ渶鏂扮殑鍦ㄥ巶浜哄憳
+ retentionMapper.insertBatchSomeColumn(retentionList);
}
log.error("銆愭捣搴峰仠杞﹀満浜嬩欢鎺ㄩ�併��========鎴愬姛=======");
}catch (Exception e){
@@ -434,7 +469,7 @@
* @param request
* @return
*/
- private CarEvent getParkEventModelByRequest(EventParkInfoRequest request) {
+ private CarEvent getParkEventModelByRequest(EventParkInfoRequest request, List<String> delRetentionList , List<Retention> retentionList ) {
CarEvent event = new CarEvent();
event.setIsdeleted(Constants.ZERO);
event.setCreateDate(DateUtil.getISO8601DateByStr(request.getHappenTime()));
@@ -488,18 +523,40 @@
event.setPlatePicUrl(getHkImgUrl(request.getData().getPicUrl().getPlatePicUrl()));
}
if(StringUtils.isNotBlank(event.getPlateNos())){
- Cars cars = carsMapper.selectOne(new QueryWrapper<Cars>().lambda()
- .eq(Cars::getCode,event.getPlateNos())
- .eq(Cars::getIsdeleted,Constants.ONE )
+ ParkBook cars = parkBookMapper.selectOne(new QueryWrapper<ParkBook>().lambda()
+ .eq(ParkBook::getCarCode,event.getPlateNos())
+ .eq(ParkBook::getIsdeleted,Constants.ONE )
.last("limit 1" ));
if(cars!=null){
event.setMemberId(cars.getMemberId());
}
+
+ if(Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.PARK_PASS_IN.getKey()){
+ //濡傛灉鏄叆鍘傛斁琛�
+ delRetentionList.add(event.getPlateNos());
+ retentionList.add(getRetentionModelByParkRequest(request));
+ }else if(Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.PARK_PASS_OUT.getKey()){
+ //濡傛灉鏄嚭鍦烘斁琛�
+ delRetentionList.add(event.getPlateNos());
+ }
}
+
return event;
}
+ private Retention getRetentionModelByParkRequest(EventParkInfoRequest request) {
+ Retention retention = new Retention();
+ retention.setIsdeleted(Constants.ZERO);
+ retention.setCreateDate(DateUtil.getISO8601DateByStr(request.getHappenTime()));
+ retention.setCarNo(request.getData().getPlateNo());
+ retention.setType(Constants.THREE);
+// retention.setDeviceName(request.getSrcName());
+// retention.setDeviceIndex(request.getSrcIndex());
+
+ return retention;
+ }
+
private void saveInterfaceLog(Object param, String path,String result) {
InterfaceLog hkMonitoryLogDO=new InterfaceLog();
hkMonitoryLogDO.setType(1);
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java
index 02a711f..4a44285 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java
@@ -180,8 +180,8 @@
//浜鸿劯涓虹┖锛屼笉鑳借繘琛屾帹閫�
return null;
}
- request.setVisitStartTime(DateUtil.getISO8601Timestamp(c.getStarttime()));
- request.setVisitEndTime(DateUtil.getISO8601Timestamp(c.getEndtime()));
+ request.setVisitStartTime(DateUtil.getISO8601Timestamp2(c.getStarttime()));
+ request.setVisitEndTime(DateUtil.getISO8601Timestamp2(c.getEndtime()));
request.setReceptionistId(c.getReceptMemberHkId());//琚浜烘捣搴风紪鐮�
request.setVisitPurpose(c.getReason());
request.setVisitorInfo(info);
@@ -248,6 +248,7 @@
info.setVisitorWorkUnit(c.getCompanyName());
info.setPhoneNo(c.getPhone());
info.setPlateNo(c.getCarNos());
+ info.setGender(c.getSex()+"");
if(Constants.equalsInteger(c.getIdcardType(),Constants.ZERO)){
info.setCertificateType(HKConstants.CertificateType.SHENFENZHENG.getKey()+"");
info.setCertificateNo(DESUtil.decrypt(Constants.EDS_PWD, c.getIdcardNo()));
@@ -283,7 +284,7 @@
MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
queryWrapper.selectAll(Visits.class);
queryWrapper.selectAs(Member::getName,Visits::getReceptMemberName)
- .select("t1.hk_id as receptMemberHkId")
+ .selectAs(Member::getHkId,Visits::getReceptMemberHkId)
.leftJoin(Member.class,Member::getId,Visits::getReceptMemberId);
queryWrapper.eq(Visits::getStatus,Constants.VisitStatus.pass)//瀹℃壒閫氳繃
.eq(Visits::getHkStatus,Constants.ZERO)//鏈悓姝ュ埌娴峰悍
--
Gitblit v1.9.3