Procházet zdrojové kódy

修改轨迹查询

liu před 2 roky
rodič
revize
9a954d3cde

+ 45 - 26
src/main/java/com/template/controller/SmartFaceDiscernController.java

@@ -15,10 +15,7 @@ import com.template.config.ControlConfig;
 import com.template.model.pojo.*;
 import com.template.model.result.CommonResult;
 import com.template.model.result.PageUtils;
-import com.template.model.vo.AskForLeaveScreenVo;
-import com.template.model.vo.FaceManagementVo;
-import com.template.model.vo.LastSevenDaysTrackVo;
-import com.template.model.vo.SmartAccessVo;
+import com.template.model.vo.*;
 import com.template.services.*;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
@@ -95,6 +92,9 @@ public class SmartFaceDiscernController implements SmartFaceDiscernControllerAPI
     @Autowired
     SmartPushConfigService smartPushConfigService;
 
+    @Autowired
+    SmartCoordService smartCoordService;
+
     @Override
     @DESRespondSecret(validated = true)
     public CommonResult track(Integer id, int dateTime) {
@@ -493,17 +493,23 @@ public class SmartFaceDiscernController implements SmartFaceDiscernControllerAPI
     @Override
     @DESRespondSecret(validated = true)
     public CommonResult selectTrack(Integer userId, String startTime, String endTime) {
-        ArrayList<LastSevenDaysTrackVo> vos = new ArrayList<>();
+        ArrayList<SelectTrackVo> vos = new ArrayList<>();
         //        人脸抓拍
         List<SmartFaceDiscern> faceDiscerns = smartFaceDiscernService.track(startTime, endTime, userId);
         for (SmartFaceDiscern faceDiscern : faceDiscerns) {
-            LastSevenDaysTrackVo lastSevenDaysTrackVo = new LastSevenDaysTrackVo();
-            lastSevenDaysTrackVo.setName(faceDiscern.getName());
-            lastSevenDaysTrackVo.setType(faceDiscern.getType());
-            lastSevenDaysTrackVo.setLocation(faceDiscern.getLocation());
-            lastSevenDaysTrackVo.setImage(faceDiscern.getImage());
-            lastSevenDaysTrackVo.setDateTime(faceDiscern.getDateTime());
-            vos.add(lastSevenDaysTrackVo);
+//            人脸通过type查询对应的坐标
+            SmartCoord smartCoord=smartCoordService.getBytype(faceDiscern.getLocation());
+            SelectTrackVo vo = new SelectTrackVo();
+            if (ObjectUtils.isNotEmpty(smartCoord)) {
+                vo.setX(smartCoord.getX());
+                vo.setY(smartCoord.getY());
+                vo.setLocation(smartCoord.getType());
+            }
+            vo.setName(faceDiscern.getName());
+            vo.setType(faceDiscern.getType());
+            vo.setImage(faceDiscern.getImage());
+            vo.setDateTime(faceDiscern.getDateTime());
+            vos.add(vo);
         }
 
 //        打卡
@@ -514,25 +520,38 @@ public class SmartFaceDiscernController implements SmartFaceDiscernControllerAPI
         String className = smartClass.getName();
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         for (SmartAttendance attendance : attendances) {
-            LastSevenDaysTrackVo lastSevenDaysTrackVo = new LastSevenDaysTrackVo();
-            lastSevenDaysTrackVo.setName(attendance.getXwUserName());
-            lastSevenDaysTrackVo.setType("打卡");
-            lastSevenDaysTrackVo.setLocation(className);
+//            通过班级找到对应的坐标
+            SmartCoord smartCoord=smartCoordService.getBytype(className);
+            SelectTrackVo vo = new SelectTrackVo();
+            if (ObjectUtils.isNotEmpty(smartCoord)) {
+                vo.setX(smartCoord.getX());
+                vo.setY(smartCoord.getY());
+                vo.setLocation(smartCoord.getType());
+            }
+            vo.setName(attendance.getXwUserName());
+            vo.setType("打卡");
             Date attendTime = attendance.getAttendTime();
-            lastSevenDaysTrackVo.setDateTime(sdf.format(attendTime));
-            vos.add(lastSevenDaysTrackVo);
+            vo.setDateTime(sdf.format(attendTime));
+            vos.add(vo);
         }
 
         //        门禁信息
         List<SmartAccess> smartAccesses = smartAccessService.track(startTime, endTime, userId);
-        for (SmartAccess faceDiscern : smartAccesses) {
-            LastSevenDaysTrackVo lastSevenDaysTrackVo = new LastSevenDaysTrackVo();
-            lastSevenDaysTrackVo.setName(faceDiscern.getName());
-            lastSevenDaysTrackVo.setType(faceDiscern.getType());
-            lastSevenDaysTrackVo.setLocation(faceDiscern.getLocation());
-            lastSevenDaysTrackVo.setImage(faceDiscern.getImage());
-            lastSevenDaysTrackVo.setDateTime(faceDiscern.getDateTime());
-            vos.add(lastSevenDaysTrackVo);
+        for (SmartAccess smartAccesse : smartAccesses) {
+            //            门禁的通过type找到对应的坐标
+            SmartCoord smartCoord=smartCoordService.getBytype(smartAccesse.getType());
+            SelectTrackVo vo = new SelectTrackVo();
+            if (ObjectUtils.isNotEmpty(smartCoord)) {
+                vo.setX(smartCoord.getX());
+                vo.setY(smartCoord.getY());
+                vo.setLocation(smartCoord.getType());
+            }
+            vo.setName(smartAccesse.getName());
+            vo.setType(smartAccesse.getType());
+            vo.setImage(smartAccesse.getImage());
+            vo.setDateTime(smartAccesse.getDateTime());
+
+            vos.add(vo);
         }
 
 //        排序

+ 2 - 0
src/main/java/com/template/mapper/SmartCoordMapper.java

@@ -2,6 +2,7 @@ package com.template.mapper;
 
 import com.template.model.pojo.SmartCoord;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
 
 /**
  * <p>
@@ -11,6 +12,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @author ceshi
  * @since 2024-06-21
  */
+@Repository
 public interface SmartCoordMapper extends BaseMapper<SmartCoord> {
 
 }

+ 1 - 0
src/main/java/com/template/services/SmartCoordService.java

@@ -13,4 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface SmartCoordService extends IService<SmartCoord> {
 
+    SmartCoord getBytype(String location);
 }

+ 9 - 0
src/main/java/com/template/services/impl/SmartCoordServiceImpl.java

@@ -1,5 +1,7 @@
 package com.template.services.impl;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.template.model.pojo.SmartCoord;
 import com.template.mapper.SmartCoordMapper;
 import com.template.services.SmartCoordService;
@@ -17,4 +19,11 @@ import org.springframework.stereotype.Service;
 @Service
 public class SmartCoordServiceImpl extends ServiceImpl<SmartCoordMapper, SmartCoord> implements SmartCoordService {
 
+    @Override
+    public SmartCoord getBytype(String location) {
+        LambdaQueryWrapper<SmartCoord> wrapper=new LambdaQueryWrapper<>();
+        wrapper.eq(SmartCoord::getAddress,location);
+        SmartCoord smartCoord = this.getOne(wrapper);
+        return smartCoord;
+    }
 }