Browse Source

1、出入记录调整
2、台账统计调整

dzx 1 year ago
parent
commit
ef2bf0d43f

+ 2 - 2
src/main/java/com/xjrsoft/module/ledger/controller/LedgerStatisticsController.java

@@ -40,9 +40,9 @@ import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
-* @title: 台账配置表
+* @title: 台账统计
 * @Author dzx
-* @Date: 2024-03-06
+* @Date: 2024年11月29日
 * @Version 1.0
 */
 @RestController

+ 0 - 2
src/main/java/com/xjrsoft/module/outint/controller/TeacherOutInRecordController.java

@@ -128,8 +128,6 @@ public class TeacherOutInRecordController {
     @ApiOperation(value = "同步教师出入记录")
     @SaCheckPermission("teacheroutinrecord:add")
     public RT<Boolean> syncHikvisionData(@Valid @RequestBody SyncHikvsionDataDto dto){
-
-
         return RT.ok(teacherOutInRecordService.syncHikvisionData(dto));
     }
 

+ 36 - 15
src/main/java/com/xjrsoft/module/outint/service/impl/TeacherOutInRecordServiceImpl.java

@@ -1,12 +1,17 @@
 package com.xjrsoft.module.outint.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.google.gson.JsonArray;
+import com.google.gson.JsonElement;
 import com.google.gson.JsonObject;
 import com.google.gson.JsonParser;
 import com.xjrsoft.common.exception.MyException;
+import com.xjrsoft.module.hikvision.entity.HikvisionData;
+import com.xjrsoft.module.hikvision.service.IHikvisionDataService;
 import com.xjrsoft.module.hikvision.util.ApiUtil;
 import com.xjrsoft.module.hikvision.util.OutInRecordUtil;
+import com.xjrsoft.module.organization.service.IUserService;
 import com.xjrsoft.module.outint.dto.SyncHikvsionDataDto;
 import com.xjrsoft.module.outint.dto.TeacherOutInRecordDto;
 import com.xjrsoft.module.outint.entity.TeacherOutInRecord;
@@ -33,6 +38,8 @@ import java.util.List;
 public class TeacherOutInRecordServiceImpl extends MPJBaseServiceImpl<TeacherOutInRecordMapper, TeacherOutInRecord> implements ITeacherOutInRecordService {
 
     private final FaceImportMapper faceImportMapper;
+    private final IHikvisionDataService hikvisionDataService;
+
 
     @Override
     public List<TeacherOutInRecord> getListByParam(TeacherOutInRecordDto dto) {
@@ -48,23 +55,37 @@ public class TeacherOutInRecordServiceImpl extends MPJBaseServiceImpl<TeacherOut
             ApiUtil apiUtil = new ApiUtil();
             String apiPath = "/api/acs/v2/door/events";
 
-            JsonObject paramJson = new JsonObject();
-            JsonArray eventList = new JsonArray();
-            eventList.add(196893); // 只获取人脸通过的
-            paramJson.addProperty("pageNo", limit);
-            paramJson.addProperty("pageSize", size);
-            paramJson.add("eventTypes", eventList);
+            List<HikvisionData> dataList = hikvisionDataService.list(
+                    new QueryWrapper<HikvisionData>().lambda()
+                            .eq(HikvisionData::getTableName, "base_teacher")
+            );
+
+            for (HikvisionData hikvisionData : dataList) {
+                JsonObject paramJson = new JsonObject();
+                JsonArray eventList = new JsonArray();
+                eventList.add(196893); // 只获取人脸通过的
+                paramJson.addProperty("pageNo", limit);
+                paramJson.addProperty("pageSize", size);
+                paramJson.add("eventTypes", eventList);
+                JsonArray personIds = new JsonArray();
+                personIds.add(hikvisionData.getHikvisionId());
+                if("14954816214342".equals(hikvisionData.getSourceId())){
+                    System.out.println(hikvisionData.getHikvisionId());
+                }
+
+                paramJson.add("personIds", personIds);
 
-            paramJson.addProperty("sort", "eventTime");
-            paramJson.addProperty("order", "desc");
-            paramJson.addProperty("startTime", dto.getStartTime().atOffset(ZoneOffset.ofHours(8)).format(DateTimeFormatter.ISO_OFFSET_DATE_TIME));
-            paramJson.addProperty("endTime", dto.getEndTime().atOffset(ZoneOffset.ofHours(8)).format(DateTimeFormatter.ISO_OFFSET_DATE_TIME));
+                paramJson.addProperty("sort", "eventTime");
+                paramJson.addProperty("order", "desc");
+                paramJson.addProperty("startTime", dto.getStartTime().atOffset(ZoneOffset.ofHours(8)).format(DateTimeFormatter.ISO_OFFSET_DATE_TIME));
+                paramJson.addProperty("endTime", dto.getEndTime().atOffset(ZoneOffset.ofHours(8)).format(DateTimeFormatter.ISO_OFFSET_DATE_TIME));
 
-            String doPost = apiUtil.doPost(apiPath, paramJson.toString(), null);
-            JsonParser parser = new JsonParser();
-            JsonObject data = parser.parse(doPost).getAsJsonObject().get("data").getAsJsonObject();
-            JsonArray list = data.get("list").getAsJsonArray();
-            new OutInRecordUtil().InsertTeacherStudentRecords(list, faceImportMapper);
+                String doPost = apiUtil.doPost(apiPath, paramJson.toString(), null);
+                JsonParser parser = new JsonParser();
+                JsonObject data = parser.parse(doPost).getAsJsonObject().get("data").getAsJsonObject();
+                JsonArray list = data.get("list").getAsJsonArray();
+                new OutInRecordUtil().InsertTeacherStudentRecords(list, faceImportMapper);
+            }
         }catch (Exception e){
             Log.error(e.getMessage(), e);
             throw new MyException("同步报错,请联系管理员");