brealinxx 9 ماه پیش
والد
کامیت
6804e514a2

+ 26 - 0
src/main/java/com/xjrsoft/config/HikvisionConfig.java

@@ -0,0 +1,26 @@
+package com.xjrsoft.config;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Author: dzx
+ * @Date: 2024年5月30日
+ */
+@Data
+@Component
+@ConfigurationProperties("xjrsoft.hikvision")
+public class HikvisionConfig {
+
+    private String host;
+
+    private String appKey;
+
+    private String appSecret;
+
+    private String peopleUrl;
+
+    private String carUrl;
+
+}

+ 2 - 3
src/main/java/com/xjrsoft/module/attendance/controller/TeacherStatisticsController.java

@@ -76,7 +76,7 @@ public class TeacherStatisticsController {
             LocalDateTime startTime, endTime;
             LocalDateTime startTime, endTime;
 
 
             if(dto.getTimePeriod() == 1){
             if(dto.getTimePeriod() == 1){
-                startTime = queryDate.atTime(9, 0, 0);
+                startTime = queryDate.atTime(5, 0, 0);
                 endTime = queryDate.atTime(12, 0, 0);
                 endTime = queryDate.atTime(12, 0, 0);
             }else if(dto.getTimePeriod() == 2){
             }else if(dto.getTimePeriod() == 2){
                 startTime = queryDate.atTime(12, 0, 0);
                 startTime = queryDate.atTime(12, 0, 0);
@@ -92,7 +92,7 @@ public class TeacherStatisticsController {
             List<TeacherOutInRecord> outInRecords = teacherOutInRecordService.list(
             List<TeacherOutInRecord> outInRecords = teacherOutInRecordService.list(
                     new QueryWrapper<TeacherOutInRecord>().lambda()
                     new QueryWrapper<TeacherOutInRecord>().lambda()
                             .between(TeacherOutInRecord::getRecordTime, startTime, endTime)
                             .between(TeacherOutInRecord::getRecordTime, startTime, endTime)
-                            .eq(TeacherOutInRecord::getStatus, 0)
+                            .eq(TeacherOutInRecord::getStatus, 1)
                             .orderByAsc(TeacherOutInRecord::getRecordTime)
                             .orderByAsc(TeacherOutInRecord::getRecordTime)
             );
             );
             Map<Long, TeacherOutInRecord> outInMap = new HashMap<>();
             Map<Long, TeacherOutInRecord> outInMap = new HashMap<>();
@@ -114,7 +114,6 @@ public class TeacherStatisticsController {
                     }else{
                     }else{
                         record.setStatus("缺勤");
                         record.setStatus("缺勤");
                     }
                     }
-
                 }
                 }
             }
             }
         }
         }

+ 3 - 1
src/main/java/com/xjrsoft/module/hikvision/util/EventController.java

@@ -7,6 +7,7 @@ import com.google.gson.JsonObject;
 import com.xjrsoft.common.constant.GlobalConstant;
 import com.xjrsoft.common.constant.GlobalConstant;
 import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.utils.DatasourceUtil;
 import com.xjrsoft.common.utils.DatasourceUtil;
+import com.xjrsoft.config.HikvisionConfig;
 import com.xjrsoft.module.system.controller.AuthorizeController;
 import com.xjrsoft.module.system.controller.AuthorizeController;
 import com.xjrsoft.module.teacher.mapper.FaceImportMapper;
 import com.xjrsoft.module.teacher.mapper.FaceImportMapper;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
@@ -35,6 +36,7 @@ public class EventController {
     DataSource datasource = DatasourceUtil.getDataSource(GlobalConstant.DEFAULT_DATASOURCE_KEY);
     DataSource datasource = DatasourceUtil.getDataSource(GlobalConstant.DEFAULT_DATASOURCE_KEY);
     private final Db use = Db.use(datasource);
     private final Db use = Db.use(datasource);
     private final FaceImportMapper faceImportMapper;
     private final FaceImportMapper faceImportMapper;
+    private final HikvisionConfig hikvisionConfig;
 
 
     @PostMapping("/receiveCar")
     @PostMapping("/receiveCar")
     @ApiOperation(value = "接收车辆事件")
     @ApiOperation(value = "接收车辆事件")
@@ -78,7 +80,7 @@ public class EventController {
         eventList.add(196893); //人脸匹配
         eventList.add(196893); //人脸匹配
 //        eventList.add(771760131); //正常过车
 //        eventList.add(771760131); //正常过车
 //        eventList.add(771760134);
 //        eventList.add(771760134);
-        paramJson.addProperty("eventDest", "http://ff.cf.yingcaibx.com/event/receivePeople");
+        paramJson.addProperty("eventDest", hikvisionConfig.getPeopleUrl());
 //******************************************************************
 //******************************************************************
         paramJson.add("eventTypes", eventList);
         paramJson.add("eventTypes", eventList);
 
 

+ 13 - 12
src/main/java/com/xjrsoft/module/outint/controller/CarOutInRecordController.java

@@ -61,26 +61,27 @@ public class CarOutInRecordController {
 
 
         IPage<CarOutInRecordPageVo> page = carOutInRecordService.selectJoinListPage(ConventPage.getPage(dto),CarOutInRecordPageVo.class,
         IPage<CarOutInRecordPageVo> page = carOutInRecordService.selectJoinListPage(ConventPage.getPage(dto),CarOutInRecordPageVo.class,
                 MPJWrappers.<CarOutInRecord>lambdaJoin()
                 MPJWrappers.<CarOutInRecord>lambdaJoin()
-                        .orderByDesc(CarOutInRecord::getId)
+                        .orderByDesc(CarOutInRecord::getRecordTime)
                         .disableSubLogicDel()
                         .disableSubLogicDel()
-                        .between((ObjectUtil.isNotNull(dto.getStartTime()) && ObjectUtil.isNotNull(dto.getStartTime())), StudentOutInRecord::getRecordTime, LocalDateTimeUtil.format(dto.getStartTime(),"yyyy-MM-dd")+" 00:00:00", LocalDateTimeUtil.format(dto.getEndTime(),"yyyy-MM-dd")+" 23:59:59")
+                        .between((ObjectUtil.isNotNull(dto.getStartTime()) && ObjectUtil.isNotNull(dto.getStartTime())), CarOutInRecord::getRecordTime, LocalDateTimeUtil.format(dto.getStartTime(),"yyyy-MM-dd HH:mm:ss"), LocalDateTimeUtil.format(dto.getEndTime(),"yyyy-MM-dd HH:mm:ss"))
                         .eq(ObjectUtil.isNotNull(dto.getCategory()), CarOutInRecord::getCategory, dto.getCategory())
                         .eq(ObjectUtil.isNotNull(dto.getCategory()), CarOutInRecord::getCategory, dto.getCategory())
                         .eq(ObjectUtil.isNotNull(dto.getStatus()), CarOutInRecord::getStatus, dto.getStatus())
                         .eq(ObjectUtil.isNotNull(dto.getStatus()), CarOutInRecord::getStatus, dto.getStatus())
-                        .eq(ObjectUtil.isNotNull(dto.getVehicleType()), CarMessageApply::getVehicleType, dto.getVehicleType())
-                        .like(StrUtil.isNotBlank(dto.getName()), CarMessageApply::getName,dto.getName())
 
 
-                        .like(StrUtil.isNotBlank(dto.getPhone()),XjrUser::getMobile,dto.getPhone())
+                        .eq(ObjectUtil.isNotNull(dto.getVehicleType()), CarOutInRecord::getVehicleType, dto.getVehicleType())
+                        .eq(ObjectUtil.isNotNull(dto.getReleaseReason()), CarOutInRecord::getReleaseReason, dto.getReleaseReason())
+                        .eq(ObjectUtil.isNotNull(dto.getReleaseWay()), CarOutInRecord::getReleaseWay, dto.getReleaseWay())
+                        .eq(ObjectUtil.isNotNull(dto.getReleaseResult()), CarOutInRecord::getReleaseResult, dto.getReleaseResult())
+                        .like(StrUtil.isNotBlank(dto.getName()), CarOutInRecord::getName,dto.getName())
+                        .like(StrUtil.isNotBlank(dto.getPhone()),CarOutInRecord::getPhone,dto.getPhone())
+
+
                         .select(CarOutInRecord::getId)
                         .select(CarOutInRecord::getId)
 
 
-                        .select(CarOutInRecord.class,x -> VoToColumnUtil.fieldsToColumns(CarOutInRecordPageVo.class).contains(x.getProperty()))
                         .selectAs(CarOutInRecord::getPlanNo,CarOutInRecordPageVo::getPlateNumber)
                         .selectAs(CarOutInRecord::getPlanNo,CarOutInRecordPageVo::getPlateNumber)
 
 
-                        .select(CarMessageApply::getVehicleType)
-                        .leftJoin(CarMessageApply.class,CarMessageApply::getId,CarOutInRecord::getCarMessageApplyId,ext->ext
-                                .select(CarMessageApply::getName))
-                        .leftJoin(DictionaryDetail.class,DictionaryDetail::getCode, CarMessageApply::getGender, ext->ext.selectAs(DictionaryDetail::getName, CarOutInRecordPageVo::getGender))
-                        .leftJoin(XjrUser.class,XjrUser::getId,CarMessageApply::getUserId,ext->ext.selectAs(XjrUser::getMobile,CarOutInRecordPageVo::getPhone)
-                                .selectAs(XjrUser::getCredentialNumber,CarOutInRecordPageVo::getIdentityCard))
+                        .leftJoin(DictionaryDetail.class,DictionaryDetail::getCode, CarOutInRecord::getReleaseReason, ext->ext.selectAs(DictionaryDetail::getName, CarOutInRecordPageVo::getReleaseReasonCn))
+
+                        .select(CarOutInRecord.class,x -> VoToColumnUtil.fieldsToColumns(CarOutInRecordPageVo.class).contains(x.getProperty()))
 
 
                 );
                 );
 
 

+ 12 - 0
src/main/java/com/xjrsoft/module/outint/dto/CarOutInRecordPageDto.java

@@ -58,4 +58,16 @@ public class CarOutInRecordPageDto extends PageInput {
     @ApiModelProperty("手机号码")
     @ApiModelProperty("手机号码")
     private String phone;
     private String phone;
 
 
+    @ApiModelProperty("放行结果")
+    private String releaseResult;
+
+    @ApiModelProperty("放行方式")
+    private String releaseWay;
+
+    /**
+     * 放行原因 100-固定车放行 101-临时车自动放行 102-预约车自动放行 103-一户多车自动放行
+     */
+    @ApiModelProperty(" 放行原因 100-固定车放行 101-临时车自动放行 102-预约车自动放行 103-一户多车自动放行")
+    private String releaseReason;
+
 }
 }

+ 18 - 10
src/main/java/com/xjrsoft/module/outint/entity/CarOutInRecord.java

@@ -102,24 +102,32 @@ public class CarOutInRecord implements Serializable {
     @ApiModelProperty("车牌号")
     @ApiModelProperty("车牌号")
     private String planNo;
     private String planNo;
 
 
-    @ApiModelProperty("放行原因")
-    private Integer releaseReason;
-
-    @ApiModelProperty("放行结果")
-    private Integer releaseResult;
-
     @ApiModelProperty("放行方式")
     @ApiModelProperty("放行方式")
-    private Integer releaseWay;
+    private String releaseWay;
+    /**
+     * 100-固定车放行 101-临时车自动放行 102-预约车自动放行 103-一户多车自动放行
+     */
+    @ApiModelProperty("100-固定车放行 101-临时车自动放行 102-预约车自动放行 103-一户多车自动放行")
+    private String releaseReason;
 
 
-    @ApiModelProperty("车辆id(car_message_apply),固定车辆使用")
-    private Long carMessageApplyId;
+    @ApiModelProperty("放行结果")
+    private String releaseResult;
 
 
+    /**
+     * 车辆类型
+     */
     @ApiModelProperty("车辆类型")
     @ApiModelProperty("车辆类型")
-    private Integer vehicleType;
+    private String vehicleType;
 
 
+    /**
+     * 手机号
+     */
     @ApiModelProperty("手机号")
     @ApiModelProperty("手机号")
     private String phone;
     private String phone;
 
 
+    /**
+     * 姓名
+     */
     @ApiModelProperty("姓名")
     @ApiModelProperty("姓名")
     private String name;
     private String name;
 }
 }

+ 16 - 0
src/main/java/com/xjrsoft/module/outint/vo/CarOutInRecordPageVo.java

@@ -119,4 +119,20 @@ public class CarOutInRecordPageVo {
     @ApiModelProperty("人脸照片地址")
     @ApiModelProperty("人脸照片地址")
     private String facePhotoUrl;
     private String facePhotoUrl;
 
 
+
+    @ApiModelProperty("放行结果")
+    private String releaseResult;
+
+    @ApiModelProperty("放行方式")
+    private String releaseWay;
+
+    /**
+     * 放行原因 100-固定车放行 101-临时车自动放行 102-预约车自动放行 103-一户多车自动放行
+     */
+    @ApiModelProperty(" 放行原因 100-固定车放行 101-临时车自动放行 102-预约车自动放行 103-一户多车自动放行")
+    private String releaseReason;
+
+    @ApiModelProperty(" 放行原因 100-固定车放行 101-临时车自动放行 102-预约车自动放行 103-一户多车自动放行")
+    private String releaseReasonCn;
+
 }
 }

+ 6 - 0
src/main/resources/application-dev.yml

@@ -141,6 +141,12 @@ xjrsoft:
   ureport:
   ureport:
     account: xjrsoft
     account: xjrsoft
     password: 123456
     password: 123456
+  hikvision:
+    host: 219.153.208.43:30443
+    appKey: 21350095
+    appSecret: LXi9rE2fm8IfRoLnTA2G
+    people-url: http://ff.cf.yingcaibx.com/event/receivePeople
+    car-url: http://ff.cf.yingcaibx.com/event/receive
   keycloak:
   keycloak:
     url: http://192.168.0.221:12829/auth/
     url: http://192.168.0.221:12829/auth/
     realm: test
     realm: test

+ 6 - 0
src/main/resources/application-pre.yml

@@ -125,6 +125,12 @@ xjrsoft:
   ureport:
   ureport:
     account: xjrsoft
     account: xjrsoft
     password: 123456
     password: 123456
+  hikvision:
+    host: 219.153.208.43:30443
+    appKey: 21350095
+    appSecret: LXi9rE2fm8IfRoLnTA2G
+    people-url: http://ff.cf.yingcaibx.com/event/receivePeople
+    car-url: http://ff.cf.yingcaibx.com/event/receive
   keycloak:
   keycloak:
     url: http://192.168.0.221:12829/auth/
     url: http://192.168.0.221:12829/auth/
     realm: test
     realm: test

+ 6 - 0
src/main/resources/application-prod.yml

@@ -121,6 +121,12 @@ xjrsoft:
   ureport:
   ureport:
     account: xjrsoft
     account: xjrsoft
     password: 123456
     password: 123456
+  hikvision:
+    host: 219.153.208.43:30443
+    appKey: 21350095
+    appSecret: LXi9rE2fm8IfRoLnTA2G
+    people-url: https://zhxy.cqtlzjzx.com/event/receivePeople
+    car-url: https://zhxy.cqtlzjzx.com/event/receive
   keycloak:
   keycloak:
     url: http://192.168.0.221:12829/auth/
     url: http://192.168.0.221:12829/auth/
     realm: test
     realm: test