From ed53388ed935a0fac6a0b829af63456c38eee4e6 Mon Sep 17 00:00:00 2001
From: lishuai <260038442@qq.com>
Date: 星期三, 27 十二月 2023 10:39:51 +0800
Subject: [PATCH] 导出字段对接调整提交

---
 server/dmvisit_admin/src/main/java/com/doumee/api/business/DeviceEventController.java             |    3 
 server/dmvisit_service/src/main/java/com/doumee/dao/system/vo/DeviceEventVo.java                  |   55 +++++++++++++
 server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java                         |    6 +
 server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/DeviceEventDTO.java            |    2 
 server/dmvisit_service/src/main/java/com/doumee/service/business/DeviceEventService.java          |    9 ++
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java |  107 ++++++++++++++++++++------
 6 files changed, 153 insertions(+), 29 deletions(-)

diff --git a/server/dmvisit_admin/src/main/java/com/doumee/api/business/DeviceEventController.java b/server/dmvisit_admin/src/main/java/com/doumee/api/business/DeviceEventController.java
index e4f472b..f9b1493 100644
--- a/server/dmvisit_admin/src/main/java/com/doumee/api/business/DeviceEventController.java
+++ b/server/dmvisit_admin/src/main/java/com/doumee/api/business/DeviceEventController.java
@@ -8,6 +8,7 @@
 import com.doumee.core.model.PageData;
 import com.doumee.dao.admin.response.DeviceEventDTO;
 import com.doumee.dao.business.model.DeviceEvent;
+import com.doumee.dao.system.vo.DeviceEventVo;
 import com.doumee.service.business.DeviceEventService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -79,7 +80,7 @@
     @PostMapping("/exportExcel")
     //@RequiresPermissions("business:deviceevent:exportExcel")
     public void exportExcel (@RequestBody PageWrap<DeviceEvent> pageWrap, HttpServletResponse response) {
-        ExcelExporter.build(DeviceEvent.class).export(deviceEventService.findPage(pageWrap).getRecords(), "闂ㄧ浜嬩欢鎺ㄩ�佽褰曡〃", response);
+        ExcelExporter.build(DeviceEventVo.class).export(deviceEventService.findDeviceEventExcel(pageWrap), "闂ㄧ浜嬩欢鎺ㄩ�佽褰曡〃", response);
     }
 
     @ApiOperation("鏍规嵁ID鏌ヨ")
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 7c9855f..b2d6bf7 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
@@ -305,7 +305,11 @@
         /** 鐢ㄦ埛绫诲瀷 **/
         LW_FK(0,"鍔冲姟璁垮"),
         PT_FK(1,"鏅�氳瀹�"),
-        NB_FK(2,"鍐呴儴浜哄憳");
+        NB_FK(2,"鍐呴儴浜哄憳"),
+
+        /** 杩涘満绫诲瀷 **/
+        OUT(0,"鍑�"),
+        IN(1,"杩�");
 
         private  Integer value;
         private  String des;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/DeviceEventDTO.java b/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/DeviceEventDTO.java
index 682303c..35b60fb 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/DeviceEventDTO.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/DeviceEventDTO.java
@@ -108,7 +108,7 @@
     private String personPhone;
 
     @ApiModelProperty(value = "浜哄憳绫诲瀷")
-    private String personType;
+    private Integer personType;
 
     @ApiModelProperty(value = "浜哄憳韬唤璇佸彿")
     private String personIdcardDecode;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/system/vo/DeviceEventVo.java b/server/dmvisit_service/src/main/java/com/doumee/dao/system/vo/DeviceEventVo.java
new file mode 100644
index 0000000..e76ab45
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/system/vo/DeviceEventVo.java
@@ -0,0 +1,55 @@
+package com.doumee.dao.system.vo;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel("闂ㄧ鍑哄叆浜嬩欢")
+public class DeviceEventVo {
+
+    @ApiModelProperty(value = "浜哄憳绫诲瀷")
+    @ExcelColumn(name = "浜哄憳绫诲瀷")
+    private String personTypeName;
+
+    @ApiModelProperty(value = "浜哄憳鍚嶇О")
+    @ExcelColumn(name = "濮撳悕")
+    private String personName;
+
+    @ApiModelProperty(value = "鎵嬫満鍙�")
+    @ExcelColumn(name = "鎵嬫満鍙�")
+    private String personPhone;
+
+    @ApiModelProperty(value = "韬唤璇佸彿鐮�")
+    @ExcelColumn(name = "韬唤璇佸彿鐮�")
+    private String personIdcardDecode;
+
+    @ApiModelProperty(value = "鍏徃/缁勭粐")
+    @ExcelColumn(name = "鍏徃/缁勭粐")
+    private String personCompanyName;
+
+    @ApiModelProperty(value = "闂ㄧ鍚嶇О")
+    @ExcelColumn(name = "闂ㄧ鍚嶇О")
+    private String devName;
+
+    @ApiModelProperty(value = "闂ㄧ鐐瑰悕绉�")
+    @ExcelColumn(name = "闂ㄧ鐐瑰悕绉�")
+    private String srcName;
+
+    @ApiModelProperty(value = "浜嬩欢绫诲瀷鍚嶇О")
+    @ExcelColumn(name = "浜嬩欢绫诲瀷")
+    private String eventTypeName;
+
+    @ApiModelProperty(value = "杩涘嚭鏂瑰悜 1-杩� 0-鍑� -1:鏈煡 瑕佹眰锛氳繘闂ㄨ鍗″櫒鎷ㄧ爜璁剧疆涓�1锛屽嚭闂ㄨ鍗″櫒鎷ㄧ爜璁剧疆涓�2")
+    @ExcelColumn(name = "鍑哄叆绫诲瀷")
+    private String extEventInOutName;
+
+    @ApiModelProperty(value = "浜嬩欢鍙戠敓鏃堕棿锛堣澶囨椂闂�")
+    @ExcelColumn(name = "浜嬩欢鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private String happenTime;
+
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/DeviceEventService.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/DeviceEventService.java
index 322790e..2854abb 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/DeviceEventService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/DeviceEventService.java
@@ -5,6 +5,8 @@
 import com.doumee.dao.admin.request.DeviceEventQuery;
 import com.doumee.dao.admin.response.DeviceEventDTO;
 import com.doumee.dao.business.model.DeviceEvent;
+import com.doumee.dao.system.vo.DeviceEventVo;
+
 import java.util.List;
 
 /**
@@ -104,4 +106,11 @@
      * @return PageData<DeviceEvent>
      */
     PageData<DeviceEventDTO> findDeviceEventDTOPage(PageWrap<DeviceEvent> pageWrap);
+
+    /**
+     * 瀵煎嚭
+     * @param pageWrap 鍒嗛〉瀵硅薄
+     * @return PageData<DeviceEventVO>
+     */
+    List<DeviceEventVo> findDeviceEventExcel(PageWrap<DeviceEvent> pageWrap);
 }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java
index aa135a7..3a3ff3e 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java
@@ -20,6 +20,7 @@
 import com.doumee.dao.business.model.Member;
 import com.doumee.dao.system.SystemDictDataMapper;
 import com.doumee.dao.system.model.SystemDictData;
+import com.doumee.dao.system.vo.DeviceEventVo;
 import com.doumee.dao.system.vo.SystemDictDataListVO;
 import com.doumee.service.business.DeviceEventService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -302,6 +303,63 @@
     @Override
     public PageData<DeviceEventDTO> findDeviceEventDTOPage(PageWrap<DeviceEvent> pageWrap) {
 
+        IPage<DeviceEventDTO> deviceEventDTOIPage = getDataInfo(pageWrap);
+        if(null != deviceEventDTOIPage && deviceEventDTOIPage.getRecords().size() > 0) {
+            deviceEventDTOIPage.setRecords(newDeviceEvent(deviceEventDTOIPage.getRecords()));
+        }
+        return PageData.from(deviceEventDTOIPage);
+    }
+
+    @Override
+    public List<DeviceEventVo> findDeviceEventExcel(PageWrap<DeviceEvent> pageWrap) {
+        IPage<DeviceEventDTO> deviceEventExcel = getDataInfo(pageWrap);
+        List<DeviceEventVo> voList = new ArrayList<>();
+        if(null != deviceEventExcel && deviceEventExcel.getRecords().size() > 0) {
+            deviceEventExcel.getRecords().stream().forEach(obj-> {
+                DeviceEventVo eventVo = new DeviceEventVo();
+                if(null != obj.getPersonType()) {
+                    if(Constants.ZERO == obj.getPersonType()){
+                        eventVo.setPersonTypeName(Constants.Status.LW_FK.getDes());
+                    }else if(Constants.ONE == obj.getPersonType()) {
+                        eventVo.setPersonTypeName(Constants.Status.PT_FK.getDes());
+                    }else {
+                        eventVo.setPersonTypeName(Constants.Status.NB_FK.getDes());
+                    }
+                }else {
+                    eventVo.setPersonTypeName("");
+                }
+                eventVo.setPersonName(obj.getPersonName());
+                eventVo.setPersonPhone(obj.getPersonName());
+                eventVo.setPersonIdcardDecode(obj.getPersonIdcardDecode());
+                eventVo.setPersonCompanyName(obj.getPersonCompanyName());
+                eventVo.setDevName(obj.getDevName());
+                eventVo.setSrcName(obj.getSrcName());
+                if(null != obj.getExtEventInOut()) {
+                    if(Constants.ZERO == obj.getExtEventInOut()){
+                        eventVo.setExtEventInOutName(Constants.Status.OUT.getDes());
+                    }else if(Constants.ONE == obj.getPersonType()) {
+                        eventVo.setExtEventInOutName(Constants.Status.PT_FK.getDes());
+                    }
+                }else {
+                    eventVo.setExtEventInOutName("");
+                }
+                if (Constants.formatIntegerNum(obj.getEventType()) == HKConstants.EventTypes.DOOR_FACE_AUTH_SUCCESS.getKey()) {
+                    eventVo.setEventTypeName(HKConstants.EventTypes.DOOR_FACE_AUTH_SUCCESS.getName());
+                } else if (Constants.formatIntegerNum(obj.getEventType()) == HKConstants.EventTypes.DOOR_FACE_AUTH_FAIL.getKey()) {
+                    eventVo.setEventTypeName(HKConstants.EventTypes.DOOR_FACE_AUTH_FAIL.getName());
+                }
+                try {
+                    eventVo.setHappenTime(DateUtil.timeEscape(obj.getHappenTime()));
+                } catch (ParseException e) {
+                    e.printStackTrace();
+                }
+                voList.add(eventVo);
+            });
+        }
+        return voList;
+    }
+
+    private IPage<DeviceEventDTO> getDataInfo(PageWrap<DeviceEvent> pageWrap) {
         IPage<DeviceEvent> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         MPJLambdaWrapper<DeviceEvent> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
@@ -313,35 +371,32 @@
         //鏄惁鍖呭惈鑻辨枃
         boolean hasWord = ReUtil.contains(PatternPool.WORD, pageWrap.getModel().getKeyWords());
         queryWrapper.leftJoin(Member.class,Member::getHkId,DeviceEvent::getExtEventPersonNo)
-                    .leftJoin(Company.class,Company::getId,Member::getCompanyId)
-                    .leftJoin(Device.class,Device::getHkId,DeviceEvent::getSrcParentIndex)
-                    .selectAll(DeviceEvent.class)
-                    .selectAs(Member::getName,DeviceEventDTO::getPersonName)
-                    .selectAs(Member::getType,DeviceEventDTO::getPersonType)
-                    .selectAs(Member::getPhone,DeviceEventDTO::getPersonPhone)
-                    .selectAs(Member::getIdcardDecode,DeviceEventDTO::getPersonIdcardDecode)
-                    .selectAs(Device::getName,DeviceEventDTO::getDevName)
-                    .selectAs(Company::getName,DeviceEventDTO::getPersonCompanyName);
+                .leftJoin(Company.class,Company::getId,Member::getCompanyId)
+                .leftJoin(Device.class,Device::getHkId,DeviceEvent::getSrcParentIndex)
+                .selectAll(DeviceEvent.class)
+                .selectAs(Member::getName,DeviceEventDTO::getPersonName)
+                .selectAs(Member::getType,DeviceEventDTO::getPersonType)
+                .selectAs(Member::getPhone,DeviceEventDTO::getPersonPhone)
+                .selectAs(Member::getIdcardDecode,DeviceEventDTO::getPersonIdcardDecode)
+                .selectAs(Device::getName,DeviceEventDTO::getDevName)
+                .selectAs(Company::getName,DeviceEventDTO::getPersonCompanyName);
         queryWrapper.like(number, Member::getPhone, pageWrap.getModel().getKeyWords())
-                    .like((b||hasWord),Member::getName, pageWrap.getModel().getKeyWords())
-                    .eq(StringUtils.isNotBlank(pageWrap.getModel().getPersonType()),
-                                                Member::getType,
-                                                pageWrap.getModel().getPersonType())
-                    .eq(Objects.nonNull(pageWrap.getModel().getEventType()),
-                                                DeviceEvent::getEventType,
-                                                pageWrap.getModel().getEventType())
-                    .ge(Objects.nonNull(pageWrap.getModel().getStartTime()),
-                                                DeviceEvent::getCreateDate,
-                                                pageWrap.getModel().getStartTime())
-                    .le(Objects.nonNull(pageWrap.getModel().getEndTime()),
-                                                DeviceEvent::getCreateDate,
-                                                pageWrap.getModel().getEndTime());
+                .like((b||hasWord),Member::getName, pageWrap.getModel().getKeyWords())
+                .eq(StringUtils.isNotBlank(pageWrap.getModel().getPersonType()),
+                        Member::getType,
+                        pageWrap.getModel().getPersonType())
+                .eq(Objects.nonNull(pageWrap.getModel().getEventType()),
+                        DeviceEvent::getEventType,
+                        pageWrap.getModel().getEventType())
+                .ge(Objects.nonNull(pageWrap.getModel().getStartTime()),
+                        DeviceEvent::getCreateDate,
+                        pageWrap.getModel().getStartTime())
+                .le(Objects.nonNull(pageWrap.getModel().getEndTime()),
+                        DeviceEvent::getCreateDate,
+                        pageWrap.getModel().getEndTime());
         queryWrapper.orderByDesc(DeviceEvent::getHappenTime);
         IPage<DeviceEventDTO> deviceEventDTOIPage = deviceEventJoinMapper.selectJoinPage(page, DeviceEventDTO.class, queryWrapper);
-        if(null != deviceEventDTOIPage && deviceEventDTOIPage.getRecords().size() > 0) {
-            deviceEventDTOIPage.setRecords(newDeviceEvent(deviceEventDTOIPage.getRecords()));
-        }
-        return PageData.from(deviceEventDTOIPage);
+        return deviceEventDTOIPage;
     }
 
     // 瀵瑰浘鐗囪繘琛屽垽鏂鐞�

--
Gitblit v1.9.3