人员车辆出入记录查询
parent
55f4b32ef1
commit
e5a92b048f
|
|
@ -11,6 +11,7 @@ import com.zcloud.primeport.api.VehicleApplyServiceI;
|
|||
import com.zcloud.primeport.domain.model.VehicleApplyE;
|
||||
import com.zcloud.primeport.dto.*;
|
||||
import com.zcloud.primeport.dto.clientobject.FgsVehicleCountCo;
|
||||
import com.zcloud.primeport.dto.clientobject.VehicleAccessRecordCO;
|
||||
import com.zcloud.primeport.dto.clientobject.VehicleApplyCO;
|
||||
import com.zcloud.primeport.dto.clientobject.VehicleAuditCO;
|
||||
import com.zcloud.primeport.dto.clientobject.XgfPersonApplyCO;
|
||||
|
|
@ -70,6 +71,12 @@ public class VehicleApplyController {
|
|||
return vehicleApplyService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("车辆进出记录分页列表")
|
||||
@PostMapping("/vehicleAccessRecordList")
|
||||
public PageResponse<VehicleAccessRecordCO> vehicleAccessRecordList(@Validated @RequestBody VehicleAccessRecordPageQry qry) {
|
||||
return vehicleApplyService.vehicleAccessRecordListPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("股份、相关方、临时车辆审批-详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<VehicleApplyCO> getInfoById(@PathVariable("id") Long id) {
|
||||
|
|
@ -124,5 +131,7 @@ public class VehicleApplyController {
|
|||
vehicleApplyService.xgfCarAuthorization(cmd);
|
||||
return Response.buildSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -1,9 +1,12 @@
|
|||
package com.zcloud.primeport.command.convertor;
|
||||
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjSwipeCardRecordCO;
|
||||
import com.zcloud.primeport.persistence.dataobject.DaHuaAccessRecordDO;
|
||||
import com.zcloud.primeport.persistence.dataobject.MkmjSwipeCardRecordDO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
|
|
@ -13,7 +16,7 @@ import java.util.List;
|
|||
* @Author dearLin
|
||||
* @Date 2026-04-22 17:04:00
|
||||
*/
|
||||
@Mapper(componentModel = "spring")
|
||||
@Mapper(componentModel = "spring", imports = {DateTimeFormatter.class})
|
||||
public interface MkmjSwipeCardRecordCoConvertor {
|
||||
/**
|
||||
* @param mkmjSwipeCardRecordDOs
|
||||
|
|
@ -22,5 +25,29 @@ public interface MkmjSwipeCardRecordCoConvertor {
|
|||
List<MkmjSwipeCardRecordCO> converDOsToCOs(List<MkmjSwipeCardRecordDO> mkmjSwipeCardRecordDOs);
|
||||
|
||||
MkmjSwipeCardRecordCO converDOToCO(MkmjSwipeCardRecordDO mkmjSwipeCardRecordDO);
|
||||
}
|
||||
|
||||
List<MkmjSwipeCardRecordCO> converDaHuaDOsToCOs(List<DaHuaAccessRecordDO> dahuaAccessRecordDOs);
|
||||
|
||||
@Mapping(target = "swingTime", expression = "java(source.getSwingTime() != null ? source.getSwingTime().format(DateTimeFormatter.ofPattern(\"yyyy-MM-dd HH:mm:ss\")) : null)")
|
||||
@Mapping(target = "channelName", source = "channelName")
|
||||
@Mapping(target = "deptName", source = "dahuaDepartmentName")
|
||||
@Mapping(target = "acsChannelCode", source = "channelCode")
|
||||
@Mapping(target = "acsChannelName", source = "channelName")
|
||||
@Mapping(target = "deviceName", source = "deviceName")
|
||||
@Mapping(target = "deviceCode", source = "deviceCode")
|
||||
@Mapping(target = "personCode", source = "personCode")
|
||||
@Mapping(target = "personName", source = "personName")
|
||||
@Mapping(target = "personId", source = "personId")
|
||||
@Mapping(target = "paperNumber", source = "paperNumber")
|
||||
@Mapping(target = "cardNumber", source = "cardNumber")
|
||||
@Mapping(target = "cardType", source = "cardType")
|
||||
@Mapping(target = "cardStatus", source = "cardStatus")
|
||||
@Mapping(target = "maskState", source = "maskState")
|
||||
@Mapping(target = "openResult", source = "openResult")
|
||||
@Mapping(target = "recordImage1", source = "recordImageUrl")
|
||||
@Mapping(target = "id", source = "id")
|
||||
@Mapping(target = "orgName", source = "dahuaDepartmentName")
|
||||
@Mapping(target = "deptId", source = "dahuaDepartmentId")
|
||||
@Mapping(target = "extendId", source = "mkmjId")
|
||||
MkmjSwipeCardRecordCO converDaHuaDOToCO(DaHuaAccessRecordDO source);
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package com.zcloud.primeport.command.convertor;
|
||||
|
||||
import com.zcloud.primeport.dto.clientobject.VehicleAccessRecordCO;
|
||||
import com.zcloud.primeport.persistence.dataobject.DaHuaVehicleAccessRecordDO;
|
||||
import org.mapstruct.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Mapper(componentModel = "spring")
|
||||
public interface VehicleAccessRecordCoConvertor {
|
||||
|
||||
List<VehicleAccessRecordCO> converDOsToCOs(List<DaHuaVehicleAccessRecordDO> vehicleAccessRecordDOs);
|
||||
|
||||
VehicleAccessRecordCO converDOToCO(DaHuaVehicleAccessRecordDO vehicleAccessRecordDO);
|
||||
}
|
||||
|
|
@ -3,8 +3,8 @@ package com.zcloud.primeport.command.query;
|
|||
import com.zcloud.primeport.command.convertor.MkmjSwipeCardRecordCoConvertor;
|
||||
import com.zcloud.primeport.dto.MkmjSwipeCardRecordPageQry;
|
||||
import com.zcloud.primeport.dto.clientobject.MkmjSwipeCardRecordCO;
|
||||
import com.zcloud.primeport.persistence.dataobject.MkmjSwipeCardRecordDO;
|
||||
import com.zcloud.primeport.persistence.repository.MkmjSwipeCardRecordRepository;
|
||||
import com.zcloud.primeport.persistence.dataobject.DaHuaAccessRecordDO;
|
||||
import com.zcloud.primeport.persistence.repository.DaHuaAccessRecordRepository;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
|
@ -23,7 +23,7 @@ import java.util.Map;
|
|||
@Component
|
||||
@AllArgsConstructor
|
||||
public class MkmjSwipeCardRecordQueryExe {
|
||||
private final MkmjSwipeCardRecordRepository mkmjSwipeCardRecordRepository;
|
||||
private final DaHuaAccessRecordRepository daHuaAccessRecordRepository;
|
||||
private final MkmjSwipeCardRecordCoConvertor mkmjSwipeCardRecordCoConvertor;
|
||||
|
||||
/**
|
||||
|
|
@ -33,7 +33,7 @@ public class MkmjSwipeCardRecordQueryExe {
|
|||
* @return
|
||||
*/
|
||||
public MkmjSwipeCardRecordCO queryById(Long id) {
|
||||
return mkmjSwipeCardRecordCoConvertor.converDOToCO(mkmjSwipeCardRecordRepository.getById(id));
|
||||
return mkmjSwipeCardRecordCoConvertor.converDaHuaDOToCO(daHuaAccessRecordRepository.getById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -44,9 +44,8 @@ public class MkmjSwipeCardRecordQueryExe {
|
|||
*/
|
||||
public PageResponse<MkmjSwipeCardRecordCO> execute(MkmjSwipeCardRecordPageQry mkmjSwipeCardRecordPageQry) {
|
||||
Map<String, Object> params = PageQueryHelper.toHashMap(mkmjSwipeCardRecordPageQry);
|
||||
PageResponse<MkmjSwipeCardRecordDO> pageResponse = mkmjSwipeCardRecordRepository.listPage(params);
|
||||
List<MkmjSwipeCardRecordCO> examCenterCOS = mkmjSwipeCardRecordCoConvertor.converDOsToCOs(pageResponse.getData());
|
||||
PageResponse<DaHuaAccessRecordDO> pageResponse = daHuaAccessRecordRepository.swipeCardListPage(params);
|
||||
List<MkmjSwipeCardRecordCO> examCenterCOS = mkmjSwipeCardRecordCoConvertor.converDaHuaDOsToCOs(pageResponse.getData());
|
||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -6,15 +6,20 @@ import com.alibaba.cola.dto.SingleResponse;
|
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import com.zcloud.primeport.command.convertor.VehicleAccessRecordCoConvertor;
|
||||
import com.zcloud.primeport.command.convertor.VehicleApplyCoConvertor;
|
||||
import com.zcloud.primeport.dto.VehicleAccessRecordPageQry;
|
||||
import com.zcloud.primeport.dto.VehicleApplyPageQry;
|
||||
import com.zcloud.primeport.dto.clientobject.AppCountCO;
|
||||
import com.zcloud.primeport.dto.clientobject.FgsVehicleCountCo;
|
||||
import com.zcloud.primeport.dto.clientobject.VehicleAccessRecordCO;
|
||||
import com.zcloud.primeport.dto.clientobject.VehicleApplyCO;
|
||||
import com.zcloud.primeport.persistence.dataobject.AppCountDTO;
|
||||
import com.zcloud.primeport.persistence.dataobject.DaHuaVehicleAccessRecordDO;
|
||||
import com.zcloud.primeport.persistence.dataobject.FgsVehicleCountDto;
|
||||
import com.zcloud.primeport.persistence.dataobject.VehicleApplyDO;
|
||||
import com.zcloud.primeport.persistence.dataobject.VehicleAuditDO;
|
||||
import com.zcloud.primeport.persistence.repository.DaHuaVehicleAccessRecordRepository;
|
||||
import com.zcloud.primeport.persistence.repository.VehicleApplyRepository;
|
||||
import com.zcloud.primeport.persistence.repository.VehicleAuditRepository;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
|
@ -39,6 +44,8 @@ public class VehicleApplyQueryExe {
|
|||
private final VehicleApplyRepository vehicleApplyRepository;
|
||||
private final VehicleAuditRepository vehicleAuditRepository;
|
||||
private final VehicleApplyCoConvertor vehicleApplyCoConvertor;
|
||||
private final DaHuaVehicleAccessRecordRepository daHuaVehicleAccessRecordRepository;
|
||||
private final VehicleAccessRecordCoConvertor vehicleAccessRecordCoConvertor;
|
||||
|
||||
/**
|
||||
* 分页
|
||||
|
|
@ -103,5 +110,11 @@ public class VehicleApplyQueryExe {
|
|||
List<AppCountDTO> appCountDTO = vehicleApplyRepository.getAppCount(parmas);
|
||||
return MultiResponse.of(vehicleApplyCoConvertor.converAppCountDTOsToAppCountCOs(appCountDTO));
|
||||
}
|
||||
}
|
||||
|
||||
public PageResponse<VehicleAccessRecordCO> vehicleAccessRecordListPage(VehicleAccessRecordPageQry qry) {
|
||||
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
|
||||
PageResponse<DaHuaVehicleAccessRecordDO> pageResponse = daHuaVehicleAccessRecordRepository.vehicleAccessRecordListPage(params);
|
||||
List<VehicleAccessRecordCO> cos = vehicleAccessRecordCoConvertor.converDOsToCOs(pageResponse.getData());
|
||||
return PageResponse.of(cos, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
}
|
||||
|
|
@ -17,6 +17,7 @@ import com.zcloud.gbscommon.dahua.cmd.DaHuaCarAddCmd;
|
|||
import com.zcloud.primeport.dto.*;
|
||||
import com.zcloud.primeport.dto.clientobject.AppCountCO;
|
||||
import com.zcloud.primeport.dto.clientobject.FgsVehicleCountCo;
|
||||
import com.zcloud.primeport.dto.clientobject.VehicleAccessRecordCO;
|
||||
import com.zcloud.primeport.dto.clientobject.VehicleApplyCO;
|
||||
import com.zcloud.primeport.dto.clientobject.VehicleAuditCO;
|
||||
import com.zcloud.primeport.persistence.dataobject.VehicleApplyDO;
|
||||
|
|
@ -190,4 +191,9 @@ public class VehicleApplyServiceImpl implements VehicleApplyServiceI {
|
|||
public MultiResponse<AppCountCO> getAppCount() {
|
||||
return vehicleApplyQueryExe.getAppCount();
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResponse<VehicleAccessRecordCO> vehicleAccessRecordListPage(VehicleAccessRecordPageQry qry) {
|
||||
return vehicleApplyQueryExe.vehicleAccessRecordListPage(qry);
|
||||
}
|
||||
}
|
||||
|
|
@ -7,6 +7,7 @@ import com.zcloud.primeport.domain.model.VehicleApplyE;
|
|||
import com.zcloud.primeport.dto.*;
|
||||
import com.zcloud.primeport.dto.clientobject.AppCountCO;
|
||||
import com.zcloud.primeport.dto.clientobject.FgsVehicleCountCo;
|
||||
import com.zcloud.primeport.dto.clientobject.VehicleAccessRecordCO;
|
||||
import com.zcloud.primeport.dto.clientobject.VehicleApplyCO;
|
||||
import com.zcloud.primeport.dto.clientobject.VehicleAuditCO;
|
||||
|
||||
|
|
@ -50,5 +51,6 @@ public interface VehicleApplyServiceI {
|
|||
Map<String, Object> checkLicenceNoBlack(String licenceNo);
|
||||
|
||||
MultiResponse<AppCountCO> getAppCount();
|
||||
}
|
||||
|
||||
PageResponse<VehicleAccessRecordCO> vehicleAccessRecordListPage(VehicleAccessRecordPageQry qry);
|
||||
}
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
package com.zcloud.primeport.dto;
|
||||
|
||||
import com.alibaba.cola.dto.PageQuery;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Data
|
||||
public class VehicleAccessRecordPageQry extends PageQuery {
|
||||
|
||||
@ApiModelProperty(value = "车牌号", name = "vehiclePlateNumber", required = true)
|
||||
@NotBlank(message = "车牌号不能为空")
|
||||
private String vehiclePlateNumber;
|
||||
|
||||
@ApiModelProperty(value = "进港时间范围数组 [开始日期, 结束日期],对应 enter_time", name = "time")
|
||||
private List<String> time;
|
||||
|
||||
@ApiModelProperty(value = "出场时间范围数组 [开始日期, 结束日期],对应 exit_time", name = "vehicleDepartureTime")
|
||||
private List<String> vehicleDepartureTime;
|
||||
|
||||
@ApiModelProperty(value = "进场开始时间 yyyy-MM-dd HH:mm:ss", name = "startVehicleArrivalTime")
|
||||
private String startVehicleArrivalTime;
|
||||
|
||||
@ApiModelProperty(value = "进场结束时间 yyyy-MM-dd HH:mm:ss", name = "endVehicleArrivalTime")
|
||||
private String endVehicleArrivalTime;
|
||||
|
||||
@ApiModelProperty(value = "出场开始时间 yyyy-MM-dd HH:mm:ss", name = "startVehicleDepartureTime")
|
||||
private String startVehicleDepartureTime;
|
||||
|
||||
@ApiModelProperty(value = "出场结束时间 yyyy-MM-dd HH:mm:ss", name = "endVehicleDepartureTime")
|
||||
private String endVehicleDepartureTime;
|
||||
}
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
package com.zcloud.primeport.dto.clientobject;
|
||||
|
||||
import com.alibaba.cola.dto.ClientObject;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
|
||||
@Data
|
||||
public class VehicleAccessRecordCO extends ClientObject {
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty(value = "大华访问记录ID")
|
||||
private String dahuaAccessId;
|
||||
|
||||
@ApiModelProperty(value = "企业ID")
|
||||
private Long corpId;
|
||||
|
||||
@ApiModelProperty(value = "企业名称")
|
||||
private String corpName;
|
||||
|
||||
@ApiModelProperty(value = "港区 1东港,2西港")
|
||||
private Integer portArea;
|
||||
|
||||
@ApiModelProperty(value = "大华部门ID")
|
||||
private Long dahuaDepartmentId;
|
||||
|
||||
@ApiModelProperty(value = "大华部门名称")
|
||||
private String dahuaDepartmentName;
|
||||
|
||||
@ApiModelProperty(value = "停车场编码")
|
||||
private String parkingLotCode;
|
||||
|
||||
@ApiModelProperty(value = "停车场名称")
|
||||
private String parkingLotName;
|
||||
|
||||
@ApiModelProperty(value = "车辆类型")
|
||||
private Integer carType;
|
||||
|
||||
@ApiModelProperty(value = "车辆类型名称")
|
||||
private String carTypeName;
|
||||
|
||||
@ApiModelProperty(value = "车牌号(进场)")
|
||||
private String carNum;
|
||||
|
||||
@ApiModelProperty(value = "车牌号(出场)")
|
||||
private String exitCarNum;
|
||||
|
||||
@ApiModelProperty(value = "进场通道编码")
|
||||
private String enterSluiceChannelCode;
|
||||
|
||||
@ApiModelProperty(value = "进场通道名称")
|
||||
private String enterSluiceChannelName;
|
||||
|
||||
@ApiModelProperty(value = "进场时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime enterTime;
|
||||
|
||||
@ApiModelProperty(value = "进场图片")
|
||||
private String enterImageUrl;
|
||||
|
||||
@ApiModelProperty(value = "出场通道编码")
|
||||
private String exitSluiceChannelCode;
|
||||
|
||||
@ApiModelProperty(value = "出场通道名称")
|
||||
private String exitSluiceChannelName;
|
||||
|
||||
@ApiModelProperty(value = "出场时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime exitTime;
|
||||
|
||||
@ApiModelProperty(value = "出场图片")
|
||||
private String exitImageUrl;
|
||||
}
|
||||
|
|
@ -16,4 +16,6 @@ public interface DaHuaAccessRecordRepository extends BaseRepository<DaHuaAccessR
|
|||
DashboardAccessStatDO countDashboardRecord(Map<String, Object> params);
|
||||
|
||||
PageResponse<DashboardAccessRecordDO> pageDashboardRecord(Map<String, Object> params);
|
||||
}
|
||||
|
||||
PageResponse<DaHuaAccessRecordDO> swipeCardListPage(Map<String, Object> params);
|
||||
}
|
||||
|
|
@ -1,9 +1,11 @@
|
|||
package com.zcloud.primeport.persistence.repository;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
||||
import com.zcloud.primeport.persistence.dataobject.DaHuaVehicleAccessRecordDO;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Map;
|
||||
|
||||
public interface DaHuaVehicleAccessRecordRepository extends BaseRepository<DaHuaVehicleAccessRecordDO> {
|
||||
|
||||
|
|
@ -12,4 +14,6 @@ public interface DaHuaVehicleAccessRecordRepository extends BaseRepository<DaHua
|
|||
void saveSyncCheckpoint(LocalDateTime checkpointTime);
|
||||
|
||||
void upsert(DaHuaVehicleAccessRecordDO record);
|
||||
}
|
||||
|
||||
PageResponse<DaHuaVehicleAccessRecordDO> vehicleAccessRecordListPage(Map<String, Object> params);
|
||||
}
|
||||
|
|
@ -1,18 +1,23 @@
|
|||
package com.zcloud.primeport.persistence.repository.impl;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jjb.saas.framework.repository.common.PageHelper;
|
||||
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||
import com.zcloud.gbscommon.utils.Query;
|
||||
import com.zcloud.primeport.persistence.dataobject.DaHuaAccessRecordDO;
|
||||
import com.zcloud.primeport.persistence.dataobject.DashboardAccessRecordDO;
|
||||
import com.zcloud.primeport.persistence.dataobject.DashboardAccessStatDO;
|
||||
import com.zcloud.primeport.persistence.mapper.DaHuaAccessRecordMapper;
|
||||
import com.zcloud.primeport.persistence.repository.DaHuaAccessRecordRepository;
|
||||
import jodd.util.Base64;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Map;
|
||||
|
||||
@Repository
|
||||
|
|
@ -39,4 +44,33 @@ public class DaHuaAccessRecordRepositoryImpl
|
|||
IPage<DashboardAccessRecordDO> result = baseMapper.pageDashboardRecord(page, params);
|
||||
return PageHelper.pageToResponse(result, result.getRecords());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResponse<DaHuaAccessRecordDO> swipeCardListPage(Map<String, Object> params) {
|
||||
IPage<DaHuaAccessRecordDO> iPage = new Query<DaHuaAccessRecordDO>().getPage(params);
|
||||
QueryWrapper<DaHuaAccessRecordDO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("delete_enum", "false");
|
||||
if (params.get("cardNo") != null && !StringUtils.isEmpty(params.get("cardNo").toString())) {
|
||||
String cardNo = params.get("cardNo").toString();
|
||||
try {
|
||||
cardNo = Base64.decodeToString(cardNo);
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
queryWrapper.eq("paper_number", cardNo);
|
||||
}
|
||||
if (params.get("likeDeviceName") != null && !StringUtils.isEmpty(params.get("likeDeviceName").toString())) {
|
||||
queryWrapper.like("channel_name", params.get("likeDeviceName"));
|
||||
}
|
||||
if (params.get("swingTimeStart") != null && !StringUtils.isEmpty(params.get("swingTimeStart").toString())) {
|
||||
String swingTimeStart = (String) params.get("swingTimeStart");
|
||||
queryWrapper.ge("dahua_create_time", LocalDateTime.parse(swingTimeStart, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
||||
}
|
||||
if (params.get("swingTimeEnd") != null && !StringUtils.isEmpty(params.get("swingTimeEnd").toString())) {
|
||||
String swingTimeEnd = (String) params.get("swingTimeEnd");
|
||||
queryWrapper.le("dahua_create_time", LocalDateTime.parse(swingTimeEnd, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
||||
}
|
||||
queryWrapper.orderByDesc("dahua_create_time");
|
||||
IPage<DaHuaAccessRecordDO> result = baseMapper.selectPage(iPage, queryWrapper);
|
||||
return PageHelper.pageToResponse(result, result.getRecords());
|
||||
}
|
||||
}
|
||||
|
|
@ -1,18 +1,31 @@
|
|||
package com.zcloud.primeport.persistence.repository.impl;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jjb.saas.framework.repository.common.PageHelper;
|
||||
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||
import com.zcloud.gbscommon.utils.Query;
|
||||
import com.zcloud.primeport.persistence.dataobject.DaHuaVehicleAccessRecordDO;
|
||||
import com.zcloud.primeport.persistence.mapper.DaHuaVehicleAccessRecordMapper;
|
||||
import com.zcloud.primeport.persistence.repository.DaHuaVehicleAccessRecordRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Repository
|
||||
public class DaHuaVehicleAccessRecordRepositoryImpl
|
||||
extends BaseRepositoryImpl<DaHuaVehicleAccessRecordMapper, DaHuaVehicleAccessRecordDO>
|
||||
implements DaHuaVehicleAccessRecordRepository {
|
||||
|
||||
private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
private static final DateTimeFormatter DATETIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
|
||||
@Override
|
||||
public LocalDateTime findSyncCheckpoint() {
|
||||
return baseMapper.findSyncCheckpoint();
|
||||
|
|
@ -27,4 +40,88 @@ public class DaHuaVehicleAccessRecordRepositoryImpl
|
|||
public void upsert(DaHuaVehicleAccessRecordDO record) {
|
||||
baseMapper.upsert(record);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public PageResponse<DaHuaVehicleAccessRecordDO> vehicleAccessRecordListPage(Map<String, Object> params) {
|
||||
IPage<DaHuaVehicleAccessRecordDO> iPage = new Query<DaHuaVehicleAccessRecordDO>().getPage(params);
|
||||
QueryWrapper<DaHuaVehicleAccessRecordDO> queryWrapper = new QueryWrapper<>();
|
||||
|
||||
if (params.get("vehiclePlateNumber") != null && !StringUtils.isEmpty(params.get("vehiclePlateNumber").toString())) {
|
||||
queryWrapper.eq("car_num", params.get("vehiclePlateNumber"));
|
||||
}
|
||||
|
||||
String startArrival = null;
|
||||
String endArrival = null;
|
||||
String startDeparture = null;
|
||||
String endDeparture = null;
|
||||
|
||||
if (params.get("startVehicleArrivalTime") != null && !StringUtils.isEmpty(params.get("startVehicleArrivalTime").toString())) {
|
||||
startArrival = params.get("startVehicleArrivalTime").toString();
|
||||
}
|
||||
if (params.get("endVehicleArrivalTime") != null && !StringUtils.isEmpty(params.get("endVehicleArrivalTime").toString())) {
|
||||
endArrival = params.get("endVehicleArrivalTime").toString();
|
||||
}
|
||||
if (params.get("startVehicleDepartureTime") != null && !StringUtils.isEmpty(params.get("startVehicleDepartureTime").toString())) {
|
||||
startDeparture = params.get("startVehicleDepartureTime").toString();
|
||||
}
|
||||
if (params.get("endVehicleDepartureTime") != null && !StringUtils.isEmpty(params.get("endVehicleDepartureTime").toString())) {
|
||||
endDeparture = params.get("endVehicleDepartureTime").toString();
|
||||
}
|
||||
|
||||
if (params.get("time") != null) {
|
||||
List<String> timeRange = (List<String>) params.get("time");
|
||||
if (timeRange.size() >= 2) {
|
||||
if (startArrival == null && !StringUtils.isEmpty(timeRange.get(0))) {
|
||||
startArrival = timeRange.get(0) + " 00:00:00";
|
||||
}
|
||||
if (endArrival == null && !StringUtils.isEmpty(timeRange.get(1))) {
|
||||
endArrival = timeRange.get(1) + " 23:59:59";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (params.get("vehicleDepartureTime") != null) {
|
||||
List<String> depRange = (List<String>) params.get("vehicleDepartureTime");
|
||||
if (depRange.size() >= 2) {
|
||||
if (startDeparture == null && !StringUtils.isEmpty(depRange.get(0))) {
|
||||
startDeparture = depRange.get(0) + " 00:00:00";
|
||||
}
|
||||
if (endDeparture == null && !StringUtils.isEmpty(depRange.get(1))) {
|
||||
endDeparture = depRange.get(1) + " 23:59:59";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
final LocalDateTime sa = startArrival == null ? null : LocalDateTime.parse(startArrival, DATETIME_FORMATTER);
|
||||
final LocalDateTime ea = endArrival == null ? null : LocalDateTime.parse(endArrival, DATETIME_FORMATTER);
|
||||
final LocalDateTime sd = startDeparture == null ? null : LocalDateTime.parse(startDeparture, DATETIME_FORMATTER);
|
||||
final LocalDateTime ed = endDeparture == null ? null : LocalDateTime.parse(endDeparture, DATETIME_FORMATTER);
|
||||
|
||||
boolean hasEnter = sa != null || ea != null;
|
||||
boolean hasExit = sd != null || ed != null;
|
||||
|
||||
if (hasEnter && hasExit) {
|
||||
queryWrapper.and(wrapper -> wrapper
|
||||
.and(w -> {
|
||||
if (sa != null) w.ge("enter_time", sa);
|
||||
if (ea != null) w.le("enter_time", ea);
|
||||
})
|
||||
.or(w -> {
|
||||
if (sd != null) w.ge("exit_time", sd);
|
||||
if (ed != null) w.le("exit_time", ed);
|
||||
})
|
||||
);
|
||||
} else if (hasEnter) {
|
||||
if (sa != null) queryWrapper.ge("enter_time", sa);
|
||||
if (ea != null) queryWrapper.le("enter_time", ea);
|
||||
} else if (hasExit) {
|
||||
if (sd != null) queryWrapper.ge("exit_time", sd);
|
||||
if (ed != null) queryWrapper.le("exit_time", ed);
|
||||
}
|
||||
|
||||
queryWrapper.orderByDesc("enter_time");
|
||||
IPage<DaHuaVehicleAccessRecordDO> result = baseMapper.selectPage(iPage, queryWrapper);
|
||||
return PageHelper.pageToResponse(result, result.getRecords());
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue