feat:接入海康二级口门进出记录
parent
6fda8745fe
commit
3009e4edcf
|
|
@ -0,0 +1,87 @@
|
|||
package com.zcloud.primeport.web;
|
||||
|
||||
|
||||
import com.zcloud.primeport.api.EVehicleBasicInfoServiceI;
|
||||
import com.zcloud.primeport.dto.EVehicleBasicInfoAddCmd;
|
||||
import com.zcloud.primeport.dto.EVehicleBasicInfoPageQry;
|
||||
import com.zcloud.primeport.dto.EVehicleBasicInfoUpdateCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.EVehicleBasicInfoCO;
|
||||
import com.alibaba.cola.dto.MultiResponse;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* web-adapter
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-04-23 10:04:31
|
||||
*/
|
||||
@Api(tags = "一级口门车辆出入信息")
|
||||
@RequestMapping("/${application.gateway}/eVehicleBasicInfo")
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class EVehicleBasicInfoController {
|
||||
private final EVehicleBasicInfoServiceI eVehicleBasicInfoService;
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<EVehicleBasicInfoCO> add(@Validated @RequestBody EVehicleBasicInfoAddCmd cmd) {
|
||||
return eVehicleBasicInfoService.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<EVehicleBasicInfoCO> page(@RequestBody EVehicleBasicInfoPageQry qry) {
|
||||
return eVehicleBasicInfoService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@GetMapping("/listAll")
|
||||
public MultiResponse<EVehicleBasicInfoCO> listAll() {
|
||||
return MultiResponse.of(new ArrayList<EVehicleBasicInfoCO>());
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<EVehicleBasicInfoCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(eVehicleBasicInfoService.queryById(id));
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
@DeleteMapping("/{id}")
|
||||
public Response remove(@PathVariable("id") Long id) {
|
||||
eVehicleBasicInfoService.remove(id);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("删除多个")
|
||||
@DeleteMapping("/ids")
|
||||
public Response removeBatch(@RequestParam("ids") String ids) {
|
||||
List<Long> idsList = Arrays.stream(ids.split(","))
|
||||
.map(Long::valueOf)
|
||||
.collect(Collectors.toList());
|
||||
eVehicleBasicInfoService.removeBatch(idsList);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("修改")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody EVehicleBasicInfoUpdateCmd eVehicleBasicInfoUpdateCmd) {
|
||||
eVehicleBasicInfoService.edit(eVehicleBasicInfoUpdateCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -48,7 +48,7 @@ public class VideoController {
|
|||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<VideoCO> getInfoById(@PathVariable("id") Long id) {
|
||||
return SingleResponse.of(new VideoCO());
|
||||
return SingleResponse.of(videoService.getInfoById(id));
|
||||
}
|
||||
|
||||
@ApiOperation("删除")
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ public class ClosedAreaCarApplyAddExe {
|
|||
closedAreaCarApplyE.setUserCard(userData.getUserIdCard());
|
||||
closedAreaCarApplyE.setUserFaceUrl(userData.getUserAvatarUrl());
|
||||
} else {
|
||||
closedAreaCarApplyE.setUserCard(Base64.encodeToString(cmd.getUserCard()));
|
||||
// closedAreaCarApplyE.setUserCard(Base64.encodeToString(cmd.getUserCard()));
|
||||
}
|
||||
boolean res = false;
|
||||
try {
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ public class ClosedAreaPersonApplyAddExe {
|
|||
closedAreaPersonApplyE.setUserCard(userData.getUserIdCard());
|
||||
closedAreaPersonApplyE.setUserFaceUrl(userData.getUserAvatarUrl());
|
||||
}else {
|
||||
closedAreaPersonApplyE.setUserCard(Base64.encodeToString(cmd.getUserCard()));
|
||||
// closedAreaPersonApplyE.setUserCard(Base64.encodeToString(cmd.getUserCard()));
|
||||
}
|
||||
boolean res = false;
|
||||
try {
|
||||
|
|
|
|||
|
|
@ -58,6 +58,12 @@ public class ClosedAreaPersonApplyUpdateExe {
|
|||
TodoListCompleteEvent todoListCompleteEvent = new TodoListCompleteEvent();
|
||||
todoListCompleteEvent.setForeignSubsidiaryKey(auditCmd.getId());
|
||||
todoListEventPusherUtil.sendMessageCompleteEvent(todoListCompleteEvent);
|
||||
// 审批通过赋予权限
|
||||
if (auditCmd.getAuditFlag().equals(2)) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,40 @@
|
|||
package com.zcloud.primeport.command;
|
||||
|
||||
import com.zcloud.primeport.domain.gateway.EVehicleBasicInfoGateway;
|
||||
import com.zcloud.primeport.domain.model.EVehicleBasicInfoE;
|
||||
import com.zcloud.primeport.dto.EVehicleBasicInfoAddCmd;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-04-23 10:04:31
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class EVehicleBasicInfoAddExe {
|
||||
private final EVehicleBasicInfoGateway eVehicleBasicInfoGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(EVehicleBasicInfoAddCmd cmd) {
|
||||
EVehicleBasicInfoE eVehicleBasicInfoE = new EVehicleBasicInfoE();
|
||||
BeanUtils.copyProperties(cmd, eVehicleBasicInfoE);
|
||||
boolean res = false;
|
||||
try {
|
||||
res = eVehicleBasicInfoGateway.add(eVehicleBasicInfoE);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
if (!res) {
|
||||
throw new BizException("保存失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
package com.zcloud.primeport.command;
|
||||
|
||||
import com.zcloud.primeport.domain.gateway.EVehicleBasicInfoGateway;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-04-23 10:04:33
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class EVehicleBasicInfoRemoveExe {
|
||||
private final EVehicleBasicInfoGateway eVehicleBasicInfoGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(Long id) {
|
||||
boolean res = eVehicleBasicInfoGateway.deletedEVehicleBasicInfoById(id);
|
||||
if (!res) {
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean execute(List<Long> ids) {
|
||||
boolean res = eVehicleBasicInfoGateway.deletedEVehicleBasicInfoByIds(ids);
|
||||
if (!res) {
|
||||
throw new BizException("删除失败");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
package com.zcloud.primeport.command;
|
||||
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.primeport.domain.gateway.EVehicleBasicInfoGateway;
|
||||
import com.zcloud.primeport.domain.model.EVehicleBasicInfoE;
|
||||
import com.zcloud.primeport.dto.EVehicleBasicInfoUpdateCmd;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-04-23 10:04:33
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class EVehicleBasicInfoUpdateExe {
|
||||
private final EVehicleBasicInfoGateway eVehicleBasicInfoGateway;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void execute(EVehicleBasicInfoUpdateCmd eVehicleBasicInfoUpdateCmd) {
|
||||
EVehicleBasicInfoE eVehicleBasicInfoE = new EVehicleBasicInfoE();
|
||||
BeanUtils.copyProperties(eVehicleBasicInfoUpdateCmd, eVehicleBasicInfoE);
|
||||
boolean res = eVehicleBasicInfoGateway.update(eVehicleBasicInfoE);
|
||||
if (!res) {
|
||||
throw new BizException("修改失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -72,7 +72,7 @@ public class VehicleApplyAddExe {
|
|||
// 临时
|
||||
if (cmd.getVehicleBelongType().equals(VehicleBelongTypeEnum.TEMP_VEHICLES.getCode())){
|
||||
examTypeE.setEmployeeVehicleUserName(cmd.getDrivingUserName());
|
||||
examTypeE.setLsUserIdcard(Base64.encodeToString(cmd.getLsUserIdcard()));
|
||||
// examTypeE.setLsUserIdcard(Base64.encodeToString(cmd.getLsUserIdcard()));
|
||||
}
|
||||
VehicleApplyE add = vehicleApplyGateway.add(examTypeE);
|
||||
VehicleAuditE build = VehicleAuditE.builder().vehicleApplyId(examTypeE.getId()).batchState(1).batchType(1)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,26 @@
|
|||
package com.zcloud.primeport.command.convertor;
|
||||
|
||||
import com.zcloud.primeport.dto.clientobject.EVehicleBasicInfoCO;
|
||||
import com.zcloud.primeport.persistence.dataobject.EVehicleBasicInfoDO;
|
||||
import org.mapstruct.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-04-23 10:04:31
|
||||
*/
|
||||
@Mapper(componentModel = "spring")
|
||||
public interface EVehicleBasicInfoCoConvertor {
|
||||
/**
|
||||
* @param eVehicleBasicInfoDOs
|
||||
* @return
|
||||
*/
|
||||
List<EVehicleBasicInfoCO> converDOsToCOs(List<EVehicleBasicInfoDO> eVehicleBasicInfoDOs);
|
||||
|
||||
EVehicleBasicInfoCO converDOToCO(EVehicleBasicInfoDO eVehicleBasicInfoDO);
|
||||
}
|
||||
|
||||
|
|
@ -20,5 +20,6 @@ public interface VideoCoConvertor {
|
|||
* @return
|
||||
*/
|
||||
List<VideoCO> converDOsToCOs(List<VideoDO> videoDOs);
|
||||
VideoCO converDOToCO(VideoDO videoDOs);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -81,6 +81,7 @@ public class ClosedAreaPersonApplyQueryExe {
|
|||
public PageResponse<UserCo> getCorpUserList(ClosedAreaPersonApplyPageQry qry) {
|
||||
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
|
||||
params.put("corpinfoId", AuthContext.getTenantId());
|
||||
params.put("selfUserId", AuthContext.getUserId());
|
||||
PageResponse<UserDto> pageResponse = closedAreaPersonApplyRepository.getCorpUserList(params);
|
||||
List<UserCo> examCenterCOS = closedAreaPersonApplyCoConvertor.converUserDtosToUserCos(pageResponse.getData());
|
||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
|
|
|
|||
|
|
@ -0,0 +1,52 @@
|
|||
package com.zcloud.primeport.command.query;
|
||||
|
||||
import com.zcloud.primeport.command.convertor.EVehicleBasicInfoCoConvertor;
|
||||
import com.zcloud.primeport.dto.EVehicleBasicInfoPageQry;
|
||||
import com.zcloud.primeport.dto.clientobject.EVehicleBasicInfoCO;
|
||||
import com.zcloud.primeport.persistence.dataobject.EVehicleBasicInfoDO;
|
||||
import com.zcloud.primeport.persistence.repository.EVehicleBasicInfoRepository;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-04-23 10:04:33
|
||||
*/
|
||||
@Component
|
||||
@AllArgsConstructor
|
||||
public class EVehicleBasicInfoQueryExe {
|
||||
private final EVehicleBasicInfoRepository eVehicleBasicInfoRepository;
|
||||
private final EVehicleBasicInfoCoConvertor eVehicleBasicInfoCoConvertor;
|
||||
|
||||
/**
|
||||
* 根据id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
public EVehicleBasicInfoCO queryById(Long id) {
|
||||
return eVehicleBasicInfoCoConvertor.converDOToCO(eVehicleBasicInfoRepository.getById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页
|
||||
*
|
||||
* @param eVehicleBasicInfoPageQry
|
||||
* @return
|
||||
*/
|
||||
public PageResponse<EVehicleBasicInfoCO> execute(EVehicleBasicInfoPageQry eVehicleBasicInfoPageQry) {
|
||||
Map<String, Object> params = PageQueryHelper.toHashMap(eVehicleBasicInfoPageQry);
|
||||
PageResponse<EVehicleBasicInfoDO> pageResponse = eVehicleBasicInfoRepository.listPage(params);
|
||||
List<EVehicleBasicInfoCO> examCenterCOS = eVehicleBasicInfoCoConvertor.converDOsToCOs(pageResponse.getData());
|
||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -47,7 +47,7 @@ public class MkmjQueryExe {
|
|||
|
||||
public List<MkmjCO> listAll(MkmjPageQry qry) {
|
||||
QueryWrapper<MkmjDO> mkmjDOQueryWrapper = new QueryWrapper<>();
|
||||
mkmjDOQueryWrapper.eq("mkmj_status","2");
|
||||
mkmjDOQueryWrapper.eq("mkmj_status", "2");
|
||||
if (Tools.notEmpty(qry.getHgAuthArea())) {
|
||||
mkmjDOQueryWrapper.eq("hg_auth_area", qry.getHgAuthArea());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,5 +38,10 @@ public class VideoQueryExe {
|
|||
List<VideoCO> examCenterCOS = videoCoConvertor.converDOsToCOs(pageResponse.getData());
|
||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
|
||||
public VideoCO getInfoById(Long id) {
|
||||
VideoDO byId = videoRepository.getById(id);
|
||||
return videoCoConvertor.converDOToCO(byId);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,67 @@
|
|||
package com.zcloud.primeport.service;
|
||||
|
||||
import com.zcloud.primeport.api.EVehicleBasicInfoServiceI;
|
||||
import com.zcloud.primeport.command.EVehicleBasicInfoAddExe;
|
||||
import com.zcloud.primeport.command.EVehicleBasicInfoRemoveExe;
|
||||
import com.zcloud.primeport.command.EVehicleBasicInfoUpdateExe;
|
||||
import com.zcloud.primeport.command.query.EVehicleBasicInfoQueryExe;
|
||||
import com.zcloud.primeport.dto.EVehicleBasicInfoAddCmd;
|
||||
import com.zcloud.primeport.dto.EVehicleBasicInfoPageQry;
|
||||
import com.zcloud.primeport.dto.EVehicleBasicInfoUpdateCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.EVehicleBasicInfoCO;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-04-23 10:04:33
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class EVehicleBasicInfoServiceImpl implements EVehicleBasicInfoServiceI {
|
||||
private final EVehicleBasicInfoAddExe eVehicleBasicInfoAddExe;
|
||||
private final EVehicleBasicInfoUpdateExe eVehicleBasicInfoUpdateExe;
|
||||
private final EVehicleBasicInfoRemoveExe eVehicleBasicInfoRemoveExe;
|
||||
private final EVehicleBasicInfoQueryExe eVehicleBasicInfoQueryExe;
|
||||
|
||||
@Override
|
||||
public EVehicleBasicInfoCO queryById(Long id) {
|
||||
return eVehicleBasicInfoQueryExe.queryById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResponse<EVehicleBasicInfoCO> listPage(EVehicleBasicInfoPageQry qry) {
|
||||
|
||||
return eVehicleBasicInfoQueryExe.execute(qry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse add(EVehicleBasicInfoAddCmd cmd) {
|
||||
|
||||
eVehicleBasicInfoAddExe.execute(cmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void edit(EVehicleBasicInfoUpdateCmd eVehicleBasicInfoUpdateCmd) {
|
||||
eVehicleBasicInfoUpdateExe.execute(eVehicleBasicInfoUpdateCmd);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove(Long id) {
|
||||
eVehicleBasicInfoRemoveExe.execute(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeBatch(List<Long> ids) {
|
||||
eVehicleBasicInfoRemoveExe.execute(ids);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -55,5 +55,10 @@ public class VideoServiceImpl implements VideoServiceI {
|
|||
public void removeBatch(Long[] ids) {
|
||||
videoRemoveExe.execute(ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public VideoCO getInfoById(Long id) {
|
||||
return videoQueryExe.getInfoById(id);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,32 @@
|
|||
package com.zcloud.primeport.api;
|
||||
|
||||
import com.zcloud.primeport.dto.EVehicleBasicInfoAddCmd;
|
||||
import com.zcloud.primeport.dto.EVehicleBasicInfoPageQry;
|
||||
import com.zcloud.primeport.dto.EVehicleBasicInfoUpdateCmd;
|
||||
import com.zcloud.primeport.dto.clientobject.EVehicleBasicInfoCO;
|
||||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-04-23 10:04:33
|
||||
*/
|
||||
public interface EVehicleBasicInfoServiceI {
|
||||
EVehicleBasicInfoCO queryById(Long id);
|
||||
|
||||
PageResponse<EVehicleBasicInfoCO> listPage(EVehicleBasicInfoPageQry qry);
|
||||
|
||||
SingleResponse<EVehicleBasicInfoCO> add(EVehicleBasicInfoAddCmd cmd);
|
||||
|
||||
void edit(EVehicleBasicInfoUpdateCmd cmd);
|
||||
|
||||
void remove(Long id);
|
||||
|
||||
void removeBatch(List<Long> ids);
|
||||
}
|
||||
|
||||
|
|
@ -23,5 +23,7 @@ public interface VideoServiceI {
|
|||
void remove(Long id);
|
||||
|
||||
void removeBatch(Long[] ids);
|
||||
|
||||
VideoCO getInfoById(Long id);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -28,6 +28,8 @@ public class ClosedAreaPersonApplyPageQry extends PageQuery {
|
|||
private String name;
|
||||
@ApiModelProperty(value = "随行人员按部门搜索", name = "deptId", required = true)
|
||||
private Long deptId;
|
||||
@ApiModelProperty(value = "1带自己,2不带自己", name = "noSelf", required = true)
|
||||
private Integer noSelf;
|
||||
|
||||
@ApiModelProperty(value = "申请人名称", name = "applyPersonUserName", required = true)
|
||||
private String applyPersonUserName;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,96 @@
|
|||
package com.zcloud.primeport.dto;
|
||||
|
||||
import com.alibaba.cola.dto.Command;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-04-23 10:04:31
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class EVehicleBasicInfoAddCmd extends Command {
|
||||
@ApiModelProperty(value = "车辆ID", name = "vehicleRecordId", required = true)
|
||||
// @NotEmpty(message = "车辆ID不能为空")
|
||||
private String vehicleRecordId;
|
||||
|
||||
@ApiModelProperty(value = "车辆备案信息录入单位", name = "vehicleFilingInfoRecordingOrg", required = true)
|
||||
// @NotEmpty(message = "车辆备案信息录入单位不能为空")
|
||||
private String vehicleFilingInfoRecordingOrg;
|
||||
|
||||
@ApiModelProperty(value = "车辆归属单位", name = "vehicleOwningEntity", required = true)
|
||||
// @NotEmpty(message = "车辆归属单位不能为空")
|
||||
private String vehicleOwningEntity;
|
||||
|
||||
@ApiModelProperty(value = "车辆牌照号码", name = "vehiclePlateNumber", required = true)
|
||||
// @NotEmpty(message = "车辆牌照号码不能为空")
|
||||
private String vehiclePlateNumber;
|
||||
|
||||
@ApiModelProperty(value = "车辆行驶证号码", name = "vehicleRegistrationNumber", required = true)
|
||||
// @NotEmpty(message = "车辆行驶证号码不能为空")
|
||||
private String vehicleRegistrationNumber;
|
||||
|
||||
@ApiModelProperty(value = "车辆类型名称", name = "vehicleCategoryName", required = true)
|
||||
// @NotEmpty(message = "车辆类型名称不能为空")
|
||||
private String vehicleCategoryName;
|
||||
|
||||
@ApiModelProperty(value = "车辆牌照颜色名称", name = "vehiclePlateColorName", required = true)
|
||||
// @NotEmpty(message = "车辆牌照颜色名称不能为空")
|
||||
private String vehiclePlateColorName;
|
||||
|
||||
@ApiModelProperty(value = "车辆备案时间", name = "vehicleFilingTime", required = true)
|
||||
// @NotEmpty(message = "车辆备案时间不能为空")
|
||||
private String vehicleFilingTime;
|
||||
|
||||
@ApiModelProperty(value = "车辆联系人姓名", name = "vehicleContactName", required = true)
|
||||
// @NotEmpty(message = "车辆联系人姓名不能为空")
|
||||
private String vehicleContactName;
|
||||
|
||||
@ApiModelProperty(value = "车辆联系人电话", name = "vehicleContactPhoneNumber", required = true)
|
||||
// @NotEmpty(message = "车辆联系人电话不能为空")
|
||||
private String vehicleContactPhoneNumber;
|
||||
|
||||
@ApiModelProperty(value = "车辆备案分类(1, 长期车辆,2, 一次性备案,3, 内部车辆, 4, 临时车辆)", name = "vehicleFilingMethod", required = true)
|
||||
// @NotEmpty(message = "车辆备案分类(1, 长期车辆,2, 一次性备案,3, 内部车辆, 4, 临时车辆)不能为空")
|
||||
private String vehicleFilingMethod;
|
||||
|
||||
@ApiModelProperty(value = "有效标识", name = "edwValidFlag", required = true)
|
||||
// @NotEmpty(message = "有效标识不能为空")
|
||||
private String edwValidFlag;
|
||||
|
||||
@ApiModelProperty(value = "数据源头", name = "edwDataSource", required = true)
|
||||
// @NotEmpty(message = "数据源头不能为空")
|
||||
private String edwDataSource;
|
||||
|
||||
@ApiModelProperty(value = "创建时间", name = "edwCreateDate", required = true)
|
||||
// @NotEmpty(message = "创建时间不能为空")
|
||||
private String edwCreateDate;
|
||||
|
||||
@ApiModelProperty(value = "更新时间", name = "edwLastUpdate", required = true)
|
||||
// @NotEmpty(message = "更新时间不能为空")
|
||||
private String edwLastUpdate;
|
||||
|
||||
@ApiModelProperty(value = "分区列", name = "dataVersion", required = true)
|
||||
// @NotNull(message = "分区列不能为空")
|
||||
private Long dataVersion;
|
||||
|
||||
@ApiModelProperty(value = "同步时间", name = "accLastUpdateDate", required = true)
|
||||
// @NotNull(message = "同步时间不能为空")
|
||||
private String accLastUpdateDate;
|
||||
|
||||
@ApiModelProperty(value = "${column.comment}", name = "idSequence", required = true)
|
||||
// @NotNull(message = "${column.comment}不能为空")
|
||||
private Long idSequence;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
package com.zcloud.primeport.dto;
|
||||
|
||||
import com.alibaba.cola.dto.PageQuery;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-04-23 10:04:32
|
||||
*/
|
||||
@Data
|
||||
public class EVehicleBasicInfoPageQry extends PageQuery {
|
||||
|
||||
/**
|
||||
* 查询条件操作前缀,支持以下几种数据库查询操作:
|
||||
* - `like`: 模糊匹配查询,对应SQL的LIKE操作符
|
||||
* - `eq`: 等值查询,对应SQL的=操作符
|
||||
* - `gt`: 大于比较查询
|
||||
* - `lt`: 小于比较查询
|
||||
* - `ge`: 大于等于比较查询
|
||||
* - `le`: 小于等于比较查询
|
||||
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
||||
*/
|
||||
private String likeVehicleRecordId;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
package com.zcloud.primeport.dto;
|
||||
|
||||
import com.alibaba.cola.dto.Command;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-04-23 10:04:33
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class EVehicleBasicInfoUpdateCmd extends Command {
|
||||
@ApiModelProperty(value = "id", name = "id", required = true)
|
||||
// @NotNull(message = "id不能为空")
|
||||
private Long id;
|
||||
@ApiModelProperty(value = "车辆ID", name = "vehicleRecordId", required = true)
|
||||
// @NotEmpty(message = "车辆ID不能为空")
|
||||
private String vehicleRecordId;
|
||||
@ApiModelProperty(value = "车辆备案信息录入单位", name = "vehicleFilingInfoRecordingOrg", required = true)
|
||||
// @NotEmpty(message = "车辆备案信息录入单位不能为空")
|
||||
private String vehicleFilingInfoRecordingOrg;
|
||||
@ApiModelProperty(value = "车辆归属单位", name = "vehicleOwningEntity", required = true)
|
||||
// @NotEmpty(message = "车辆归属单位不能为空")
|
||||
private String vehicleOwningEntity;
|
||||
@ApiModelProperty(value = "车辆牌照号码", name = "vehiclePlateNumber", required = true)
|
||||
// @NotEmpty(message = "车辆牌照号码不能为空")
|
||||
private String vehiclePlateNumber;
|
||||
@ApiModelProperty(value = "车辆行驶证号码", name = "vehicleRegistrationNumber", required = true)
|
||||
// @NotEmpty(message = "车辆行驶证号码不能为空")
|
||||
private String vehicleRegistrationNumber;
|
||||
@ApiModelProperty(value = "车辆类型名称", name = "vehicleCategoryName", required = true)
|
||||
// @NotEmpty(message = "车辆类型名称不能为空")
|
||||
private String vehicleCategoryName;
|
||||
@ApiModelProperty(value = "车辆牌照颜色名称", name = "vehiclePlateColorName", required = true)
|
||||
// @NotEmpty(message = "车辆牌照颜色名称不能为空")
|
||||
private String vehiclePlateColorName;
|
||||
@ApiModelProperty(value = "车辆备案时间", name = "vehicleFilingTime", required = true)
|
||||
// @NotEmpty(message = "车辆备案时间不能为空")
|
||||
private String vehicleFilingTime;
|
||||
@ApiModelProperty(value = "车辆联系人姓名", name = "vehicleContactName", required = true)
|
||||
// @NotEmpty(message = "车辆联系人姓名不能为空")
|
||||
private String vehicleContactName;
|
||||
@ApiModelProperty(value = "车辆联系人电话", name = "vehicleContactPhoneNumber", required = true)
|
||||
// @NotEmpty(message = "车辆联系人电话不能为空")
|
||||
private String vehicleContactPhoneNumber;
|
||||
@ApiModelProperty(value = "车辆备案分类(1, 长期车辆,2, 一次性备案,3, 内部车辆, 4, 临时车辆)", name = "vehicleFilingMethod", required = true)
|
||||
// @NotEmpty(message = "车辆备案分类(1, 长期车辆,2, 一次性备案,3, 内部车辆, 4, 临时车辆)不能为空")
|
||||
private String vehicleFilingMethod;
|
||||
@ApiModelProperty(value = "有效标识", name = "edwValidFlag", required = true)
|
||||
// @NotEmpty(message = "有效标识不能为空")
|
||||
private String edwValidFlag;
|
||||
@ApiModelProperty(value = "数据源头", name = "edwDataSource", required = true)
|
||||
// @NotEmpty(message = "数据源头不能为空")
|
||||
private String edwDataSource;
|
||||
@ApiModelProperty(value = "创建时间", name = "edwCreateDate", required = true)
|
||||
// @NotEmpty(message = "创建时间不能为空")
|
||||
private String edwCreateDate;
|
||||
@ApiModelProperty(value = "更新时间", name = "edwLastUpdate", required = true)
|
||||
// @NotEmpty(message = "更新时间不能为空")
|
||||
private String edwLastUpdate;
|
||||
@ApiModelProperty(value = "分区列", name = "dataVersion", required = true)
|
||||
// @NotNull(message = "分区列不能为空")
|
||||
private Long dataVersion;
|
||||
@ApiModelProperty(value = "同步时间", name = "accLastUpdateDate", required = true)
|
||||
// @NotNull(message = "同步时间不能为空")
|
||||
private String accLastUpdateDate;
|
||||
@ApiModelProperty(value = "${column.comment}", name = "idSequence", required = true)
|
||||
// @NotNull(message = "${column.comment}不能为空")
|
||||
private Long idSequence;
|
||||
}
|
||||
|
||||
|
|
@ -22,29 +22,29 @@ import javax.validation.constraints.NotNull;
|
|||
@AllArgsConstructor
|
||||
public class VideoUpdateCmd extends Command {
|
||||
@ApiModelProperty(value = "主键", name = "id", required = true)
|
||||
@NotNull(message = "主键不能为空")
|
||||
// @NotNull(message = "主键不能为空")
|
||||
private Long id;
|
||||
@ApiModelProperty(value = "口门/闸机id 外键id ", name = "foreignId", required = true)
|
||||
@NotNull(message = "口门/闸机id 外键id 不能为空")
|
||||
// @NotNull(message = "口门/闸机id 外键id 不能为空")
|
||||
private Long foreignId;
|
||||
@ApiModelProperty(value = "设备类型(1-口门 2-闸机)", name = "deviceType", required = true)
|
||||
@NotNull(message = "设备类型(1-口门 2-闸机)不能为空")
|
||||
// @NotNull(message = "设备类型(1-口门 2-闸机)不能为空")
|
||||
private Integer deviceType;
|
||||
@ApiModelProperty(value = "摄像头id", name = "videoResourceId", required = true)
|
||||
@NotEmpty(message = "摄像头id不能为空")
|
||||
// @NotEmpty(message = "摄像头id不能为空")
|
||||
private String videoResourceId;
|
||||
@ApiModelProperty(value = "摄像头名称", name = "videoResourceName", required = true)
|
||||
@NotEmpty(message = "摄像头名称不能为空")
|
||||
// @NotEmpty(message = "摄像头名称不能为空")
|
||||
private String videoResourceName;
|
||||
private String videoResourceCode;
|
||||
@ApiModelProperty(value = "摄像头类型(1-移动 2-平台)", name = "videoType", required = true)
|
||||
@NotNull(message = "摄像头类型(1-移动 2-平台)不能为空")
|
||||
// @NotNull(message = "摄像头类型(1-移动 2-平台)不能为空")
|
||||
private Integer videoType;
|
||||
@ApiModelProperty(value = "经度", name = "longitude", required = true)
|
||||
@NotEmpty(message = "经度不能为空")
|
||||
// @NotEmpty(message = "经度不能为空")
|
||||
private String longitude;
|
||||
@ApiModelProperty(value = "纬度", name = "latitude", required = true)
|
||||
@NotEmpty(message = "纬度不能为空")
|
||||
// @NotEmpty(message = "纬度不能为空")
|
||||
private String latitude;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,80 @@
|
|||
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.sql.Date;
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-04-23 10:04:31
|
||||
*/
|
||||
@Data
|
||||
public class EVehicleBasicInfoCO extends ClientObject {
|
||||
//id
|
||||
@ApiModelProperty(value = "id")
|
||||
private Long id;
|
||||
//车辆ID
|
||||
@ApiModelProperty(value = "车辆ID")
|
||||
private String vehicleRecordId;
|
||||
//车辆备案信息录入单位
|
||||
@ApiModelProperty(value = "车辆备案信息录入单位")
|
||||
private String vehicleFilingInfoRecordingOrg;
|
||||
//车辆归属单位
|
||||
@ApiModelProperty(value = "车辆归属单位")
|
||||
private String vehicleOwningEntity;
|
||||
//车辆牌照号码
|
||||
@ApiModelProperty(value = "车辆牌照号码")
|
||||
private String vehiclePlateNumber;
|
||||
//车辆行驶证号码
|
||||
@ApiModelProperty(value = "车辆行驶证号码")
|
||||
private String vehicleRegistrationNumber;
|
||||
//车辆类型名称
|
||||
@ApiModelProperty(value = "车辆类型名称")
|
||||
private String vehicleCategoryName;
|
||||
//车辆牌照颜色名称
|
||||
@ApiModelProperty(value = "车辆牌照颜色名称")
|
||||
private String vehiclePlateColorName;
|
||||
//车辆备案时间
|
||||
@ApiModelProperty(value = "车辆备案时间")
|
||||
private String vehicleFilingTime;
|
||||
//车辆联系人姓名
|
||||
@ApiModelProperty(value = "车辆联系人姓名")
|
||||
private String vehicleContactName;
|
||||
//车辆联系人电话
|
||||
@ApiModelProperty(value = "车辆联系人电话")
|
||||
private String vehicleContactPhoneNumber;
|
||||
//车辆备案分类(1, 长期车辆,2, 一次性备案,3, 内部车辆, 4, 临时车辆)
|
||||
@ApiModelProperty(value = "车辆备案分类(1, 长期车辆,2, 一次性备案,3, 内部车辆, 4, 临时车辆)")
|
||||
private String vehicleFilingMethod;
|
||||
//有效标识
|
||||
@ApiModelProperty(value = "有效标识")
|
||||
private String edwValidFlag;
|
||||
//数据源头
|
||||
@ApiModelProperty(value = "数据源头")
|
||||
private String edwDataSource;
|
||||
//创建时间
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private String edwCreateDate;
|
||||
//更新时间
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private String edwLastUpdate;
|
||||
//分区列
|
||||
@ApiModelProperty(value = "分区列")
|
||||
private Long dataVersion;
|
||||
//同步时间
|
||||
@ApiModelProperty(value = "同步时间")
|
||||
private String accLastUpdateDate;
|
||||
private Long idSequence;
|
||||
|
||||
//备注
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String remarks;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
package com.zcloud.primeport.dto.clientobject;
|
||||
|
||||
import com.alibaba.cola.dto.ClientObject;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,32 @@
|
|||
package com.zcloud.primeport.domain.gateway;
|
||||
|
||||
import com.zcloud.primeport.domain.model.EVehicleBasicInfoE;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* web-domain
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-04-23 10:04:32
|
||||
*/
|
||||
public interface EVehicleBasicInfoGateway {
|
||||
|
||||
/**
|
||||
* 新增
|
||||
*/
|
||||
Boolean add(EVehicleBasicInfoE eVehicleBasicInfoE);
|
||||
|
||||
/**
|
||||
* 修改
|
||||
*/
|
||||
Boolean update(EVehicleBasicInfoE eVehicleBasicInfoE);
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
Boolean deletedEVehicleBasicInfoById(Long id);
|
||||
|
||||
Boolean deletedEVehicleBasicInfoByIds(List<Long> id);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
package com.zcloud.primeport.domain.model;
|
||||
|
||||
import com.alibaba.cola.domain.Entity;
|
||||
import com.jjb.saas.framework.domain.model.BaseE;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* web-domain
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-04-23 10:04:32
|
||||
*/
|
||||
@Data
|
||||
public class EVehicleBasicInfoE extends BaseE {
|
||||
//车辆ID
|
||||
private String vehicleRecordId;
|
||||
//车辆备案信息录入单位
|
||||
private String vehicleFilingInfoRecordingOrg;
|
||||
//车辆归属单位
|
||||
private String vehicleOwningEntity;
|
||||
//车辆牌照号码
|
||||
private String vehiclePlateNumber;
|
||||
//车辆行驶证号码
|
||||
private String vehicleRegistrationNumber;
|
||||
//车辆类型名称
|
||||
private String vehicleCategoryName;
|
||||
//车辆牌照颜色名称
|
||||
private String vehiclePlateColorName;
|
||||
//车辆备案时间
|
||||
private String vehicleFilingTime;
|
||||
//车辆联系人姓名
|
||||
private String vehicleContactName;
|
||||
//车辆联系人电话
|
||||
private String vehicleContactPhoneNumber;
|
||||
//车辆备案分类(1, 长期车辆,2, 一次性备案,3, 内部车辆, 4, 临时车辆)
|
||||
private String vehicleFilingMethod;
|
||||
//有效标识
|
||||
private String edwValidFlag;
|
||||
//数据源头
|
||||
private String edwDataSource;
|
||||
//创建时间
|
||||
private String edwCreateDate;
|
||||
//更新时间
|
||||
private String edwLastUpdate;
|
||||
//分区列
|
||||
private Long dataVersion;
|
||||
//同步时间
|
||||
private String accLastUpdateDate;
|
||||
private Long idSequence;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
package com.zcloud.primeport.gatewayimpl;
|
||||
|
||||
import com.zcloud.primeport.domain.gateway.EVehicleBasicInfoGateway;
|
||||
import com.zcloud.primeport.domain.model.EVehicleBasicInfoE;
|
||||
import com.zcloud.primeport.persistence.dataobject.EVehicleBasicInfoDO;
|
||||
import com.zcloud.primeport.persistence.repository.EVehicleBasicInfoRepository;
|
||||
import lombok.AllArgsConstructor;
|
||||
import com.zcloud.gbscommon.utils.Tools;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-04-23 10:04:32
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class EVehicleBasicInfoGatewayImpl implements EVehicleBasicInfoGateway {
|
||||
private final EVehicleBasicInfoRepository eVehicleBasicInfoRepository;
|
||||
|
||||
@Override
|
||||
public Boolean add(EVehicleBasicInfoE eVehicleBasicInfoE) {
|
||||
EVehicleBasicInfoDO d = new EVehicleBasicInfoDO();
|
||||
BeanUtils.copyProperties(eVehicleBasicInfoE, d);
|
||||
eVehicleBasicInfoRepository.save(d);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean update(EVehicleBasicInfoE eVehicleBasicInfoE) {
|
||||
EVehicleBasicInfoDO d = new EVehicleBasicInfoDO();
|
||||
BeanUtils.copyProperties(eVehicleBasicInfoE, d);
|
||||
eVehicleBasicInfoRepository.updateById(d);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean deletedEVehicleBasicInfoById(Long id) {
|
||||
return eVehicleBasicInfoRepository.removeById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean deletedEVehicleBasicInfoByIds(List<Long> ids) {
|
||||
return eVehicleBasicInfoRepository.removeByIds(ids);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
package com.zcloud.primeport.persistence.dataobject;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.jjb.saas.framework.repository.basedo.BaseDO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-04-23 10:04:32
|
||||
*/
|
||||
@Data
|
||||
@TableName("e_vehicle_basic_info")
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class EVehicleBasicInfoDO extends BaseDO {
|
||||
//车辆ID
|
||||
@ApiModelProperty(value = "车辆ID")
|
||||
private String vehicleRecordId;
|
||||
//车辆备案信息录入单位
|
||||
@ApiModelProperty(value = "车辆备案信息录入单位")
|
||||
private String vehicleFilingInfoRecordingOrg;
|
||||
//车辆归属单位
|
||||
@ApiModelProperty(value = "车辆归属单位")
|
||||
private String vehicleOwningEntity;
|
||||
//车辆牌照号码
|
||||
@ApiModelProperty(value = "车辆牌照号码")
|
||||
private String vehiclePlateNumber;
|
||||
//车辆行驶证号码
|
||||
@ApiModelProperty(value = "车辆行驶证号码")
|
||||
private String vehicleRegistrationNumber;
|
||||
//车辆类型名称
|
||||
@ApiModelProperty(value = "车辆类型名称")
|
||||
private String vehicleCategoryName;
|
||||
//车辆牌照颜色名称
|
||||
@ApiModelProperty(value = "车辆牌照颜色名称")
|
||||
private String vehiclePlateColorName;
|
||||
//车辆备案时间
|
||||
@ApiModelProperty(value = "车辆备案时间")
|
||||
private String vehicleFilingTime;
|
||||
//车辆联系人姓名
|
||||
@ApiModelProperty(value = "车辆联系人姓名")
|
||||
private String vehicleContactName;
|
||||
//车辆联系人电话
|
||||
@ApiModelProperty(value = "车辆联系人电话")
|
||||
private String vehicleContactPhoneNumber;
|
||||
//车辆备案分类(1, 长期车辆,2, 一次性备案,3, 内部车辆, 4, 临时车辆)
|
||||
@ApiModelProperty(value = "车辆备案分类(1, 长期车辆,2, 一次性备案,3, 内部车辆, 4, 临时车辆)")
|
||||
private String vehicleFilingMethod;
|
||||
//有效标识
|
||||
@ApiModelProperty(value = "有效标识")
|
||||
private String edwValidFlag;
|
||||
//数据源头
|
||||
@ApiModelProperty(value = "数据源头")
|
||||
private String edwDataSource;
|
||||
//创建时间
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private String edwCreateDate;
|
||||
//更新时间
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private String edwLastUpdate;
|
||||
//分区列
|
||||
@ApiModelProperty(value = "分区列")
|
||||
private Long dataVersion;
|
||||
//同步时间
|
||||
@ApiModelProperty(value = "同步时间")
|
||||
private String accLastUpdateDate;
|
||||
private Long idSequence;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -74,5 +74,7 @@ public class MkmjDO extends BaseDO {
|
|||
private Long jurisdictionalCorpId;
|
||||
@TableField(exist = false)
|
||||
private String jurisdictionalCorpName;
|
||||
@TableField(exist = false)
|
||||
private String closedAreaName;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,9 +7,12 @@ import com.jjb.saas.framework.datascope.annotation.DataScopes;
|
|||
import com.zcloud.primeport.persistence.dataobject.ClosedAreaPersonApplyDO;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.zcloud.primeport.persistence.dataobject.UserDto;
|
||||
import com.zcloud.primeport.plan.mjDevice.TwoPersonUtil;
|
||||
import com.zcloud.primeport.plan.mjDevice.dto.TwoLevelUser;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
|
|
@ -26,5 +29,7 @@ public interface ClosedAreaPersonApplyMapper extends BaseMapper<ClosedAreaPerson
|
|||
IPage<UserDto> getCorpUserList(IPage<ClosedAreaPersonApplyDO> iPage, @Param("params") Map<String, Object> params);
|
||||
|
||||
IPage<ClosedAreaPersonApplyDO> listPage(Page<Map<String, Object>> page, @Param("params") Map<String, Object> params, String menuPerms);
|
||||
|
||||
List<TwoLevelUser> getDockAuthInfoById(Long applyId);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,17 @@
|
|||
package com.zcloud.primeport.persistence.mapper;
|
||||
|
||||
import com.zcloud.primeport.persistence.dataobject.EVehicleBasicInfoDO;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-04-23 10:04:32
|
||||
*/
|
||||
@Mapper
|
||||
public interface EVehicleBasicInfoMapper extends BaseMapper<EVehicleBasicInfoDO> {
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -4,8 +4,11 @@ import com.zcloud.primeport.persistence.dataobject.ClosedAreaPersonApplyDO;
|
|||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
||||
import com.zcloud.primeport.persistence.dataobject.UserDto;
|
||||
import com.zcloud.primeport.plan.mjDevice.TwoPersonUtil;
|
||||
import com.zcloud.primeport.plan.mjDevice.dto.TwoLevelUser;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
|
|
@ -17,5 +20,7 @@ public interface ClosedAreaPersonApplyRepository extends BaseRepository<ClosedAr
|
|||
PageResponse<ClosedAreaPersonApplyDO> listPage(Map<String,Object> params);
|
||||
|
||||
PageResponse<UserDto> getCorpUserList(Map<String, Object> params);
|
||||
|
||||
List<TwoLevelUser> getDockAuthInfoById(Long applyId);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
package com.zcloud.primeport.persistence.repository;
|
||||
|
||||
import com.zcloud.primeport.persistence.dataobject.EVehicleBasicInfoDO;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-04-23 10:04:33
|
||||
*/
|
||||
public interface EVehicleBasicInfoRepository extends BaseRepository<EVehicleBasicInfoDO> {
|
||||
PageResponse<EVehicleBasicInfoDO> listPage(Map<String, Object> params);
|
||||
}
|
||||
|
||||
|
|
@ -14,9 +14,13 @@ import com.zcloud.gbscommon.utils.Query;
|
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||
import com.zcloud.primeport.plan.mjDevice.TwoPersonUtil;
|
||||
import com.zcloud.primeport.plan.mjDevice.dto.TwoLevelUser;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
|
|
@ -50,5 +54,10 @@ public class ClosedAreaPersonApplyRepositoryImpl extends BaseRepositoryImpl<Clos
|
|||
IPage<UserDto> result = closedAreaPersonApplyMapper.getCorpUserList(iPage, params);
|
||||
return PageHelper.pageToResponse(result, result.getRecords());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TwoLevelUser> getDockAuthInfoById(Long applyId) {
|
||||
return closedAreaPersonApplyMapper.getDockAuthInfoById(applyId);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,39 @@
|
|||
package com.zcloud.primeport.persistence.repository.impl;
|
||||
|
||||
import com.zcloud.primeport.persistence.dataobject.EVehicleBasicInfoDO;
|
||||
import com.zcloud.primeport.persistence.mapper.EVehicleBasicInfoMapper;
|
||||
import com.zcloud.primeport.persistence.repository.EVehicleBasicInfoRepository;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.jjb.saas.framework.repository.common.PageHelper;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import com.zcloud.gbscommon.utils.Query;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
*
|
||||
* @Author dearLin
|
||||
* @Date 2026-04-23 10:04:33
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class EVehicleBasicInfoRepositoryImpl extends BaseRepositoryImpl<EVehicleBasicInfoMapper, EVehicleBasicInfoDO> implements EVehicleBasicInfoRepository {
|
||||
private final EVehicleBasicInfoMapper eVehicleBasicInfoMapper;
|
||||
|
||||
@Override
|
||||
public PageResponse<EVehicleBasicInfoDO> listPage(Map<String, Object> params) {
|
||||
IPage<EVehicleBasicInfoDO> iPage = new Query<EVehicleBasicInfoDO>().getPage(params);
|
||||
QueryWrapper<EVehicleBasicInfoDO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
|
||||
queryWrapper.orderByDesc("create_time");
|
||||
IPage<EVehicleBasicInfoDO> result = eVehicleBasicInfoMapper.selectPage(iPage, queryWrapper);
|
||||
return PageHelper.pageToResponse(result, result.getRecords());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,154 @@
|
|||
package com.zcloud.primeport.plan.mjDevice;
|
||||
|
||||
import cn.hutool.json.JSONArray;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import com.zcloud.gbscommon.dahuaDevice.DaHuaDeviceCommon;
|
||||
import com.zcloud.gbscommon.dahuaDevice.DhuaConfig;
|
||||
import com.zcloud.gbscommon.hkDevice.HKDeviceUtil;
|
||||
import com.zcloud.gbscommon.utils.DateUtil;
|
||||
import com.zcloud.gbscommon.utils.Tools;
|
||||
import com.zcloud.primeport.persistence.dataobject.XgfApplyPersonDO;
|
||||
import com.zcloud.primeport.persistence.repository.ClosedAreaPersonApplyRepository;
|
||||
import com.zcloud.primeport.persistence.repository.XgfApplyPersonRepository;
|
||||
import com.zcloud.primeport.plan.mjDevice.dto.TwoLevelUser;
|
||||
import jodd.util.Base64;
|
||||
import lombok.Data;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 一级人员门禁对接 前缀
|
||||
*
|
||||
*/
|
||||
@Component
|
||||
public class TwoPersonUtil {
|
||||
@Resource
|
||||
private ClosedAreaPersonApplyRepository closedAreaPersonApplyRepository;
|
||||
@Resource
|
||||
// @Value("${kmmj.dockflag}")
|
||||
// private Integer dockFlag;
|
||||
// @Value("${oneLevelPerson.prefix}")
|
||||
// private String prefix;
|
||||
private static Integer dockFlag = 1;
|
||||
private static String prefix = "https://skqhdg.porthebei.com:9008/yjkmRy/";
|
||||
private static String username = "shuangkong";
|
||||
private static String password = "qinan@202604";
|
||||
private static String clientId = "mkmj_management";
|
||||
private static String clientSecret = "5ef82f7c-9926-46a3-8d07-136fd054849c";
|
||||
|
||||
|
||||
public void levelTwoPeopleCompanyByApplyId(Long applyId) {
|
||||
List<TwoLevelUser> u = new ArrayList<>();
|
||||
List<TwoLevelUser> userList = closedAreaPersonApplyRepository.getDockAuthInfoById(applyId);
|
||||
userList.forEach(item -> {
|
||||
item.setUserCard(Base64.decodeToString(item.getUserCard()));
|
||||
u.add(item);
|
||||
if (Tools.notEmpty(item.getEntourage())) {
|
||||
List<TwoLevelUser> entourageList = getEntourageList(new JSONArray(item.getEntourage()));
|
||||
if (!entourageList.isEmpty()) {
|
||||
u.addAll(entourageList);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
protected List<TwoLevelUser> getEntourageList(JSONArray entries) {
|
||||
if (entries.isEmpty()) return new ArrayList<>();
|
||||
ArrayList<TwoLevelUser> objects = new ArrayList<>();
|
||||
for (int i = 0; i < entries.size(); i++) {
|
||||
TwoLevelUser u = new TwoLevelUser();
|
||||
JSONObject jsonObject = entries.getJSONObject(i);
|
||||
// [{"phone": "15128544888", "corpId": "2008796992261763072",
|
||||
// "deptId": "2018204266870550528", "userId": "2027620760511225858",
|
||||
// "corpName": "相关方普通企业_王雯仲", "deptName": "总经办",
|
||||
// "userCard": "MTMwMzI0MTk5NTA2MDQxMjUx", "userName": "培训测试人员3",
|
||||
// "userFaceUrl": null, "trainingState": "0", "endTrainingTime": null,
|
||||
// "startTrainingTime": null}, {"phone": "13230332854",
|
||||
// "corpId": "2008796992261763072", "deptId": "2018204266870550528",
|
||||
// "userId": "2021400333349629953", "corpName": "相关方普通企业_王雯仲",
|
||||
// "deptName": "总经办", "userCard": "MTMwMzI0MTk5NTA2MDQwNjkx",
|
||||
// "userName": "线下培训人员2",
|
||||
// "userFaceUrl": "2008796992261763072/202604/user_avatar/aa7880cf7abb4ee7aaa2eb6b911c6022.jpg",
|
||||
// "trainingState": "0",
|
||||
// "endTrainingTime": "2026-04-11 00:00:00",
|
||||
// "startTrainingTime": "2026-04-06 00:00:00"},
|
||||
u.setUserPhone(jsonObject.getStr("phone"));
|
||||
u.setUserCard(Base64.decodeToString(jsonObject.getStr("userCard")));
|
||||
u.setUserFaceImages(jsonObject.getStr("userFaceUrl"));
|
||||
u.setUserName(jsonObject.getStr("userName"));
|
||||
objects.add(u);
|
||||
}
|
||||
return objects;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 对接二级口门人
|
||||
*/
|
||||
public void dockLongTermUserAuthLevelTwo(TwoLevelUser towUser) {
|
||||
// 跟据身份证号查询 这个人有没有一级门禁 没有新增一级门禁
|
||||
if (!dockFlag.equals(1)) return;
|
||||
JSONObject userListByUserCard = HKDeviceUtil.getUserListByPhone(Arrays.asList(towUser.getUserPhone()));
|
||||
if (userListByUserCard.getJSONArray("data").isEmpty()) return;
|
||||
// 门禁系统里没有这个人,哪么需要把这个人的信息同步过去
|
||||
HKDeviceUtil.saveUser(towUser.getUserName(), towUser.getUserCard(), towUser.getUserFaceImagesBase64(), towUser.getUserPhone());
|
||||
}
|
||||
|
||||
private static <T> List<List<T>> partition(List<T> list, int size) {
|
||||
List<List<T>> partitions = new ArrayList<>();
|
||||
for (int i = 0; i < list.size(); i += size) {
|
||||
partitions.add(list.subList(i, Math.min(i + size, list.size())));
|
||||
}
|
||||
return partitions;
|
||||
}
|
||||
|
||||
/*
|
||||
* 给人授权门禁范围
|
||||
* */
|
||||
public void dockLongAuthTwo(List<TwoLevelUser> userIdList, List<String> resourceInfos, String time) {
|
||||
if (!dockFlag.equals(1)) return;
|
||||
JSONArray jsonArray = new JSONArray();
|
||||
List<String> phoneList = userIdList.stream().map(TwoLevelUser::getUserPhone).collect(Collectors.toList());
|
||||
List<List<String>> partition = partition(phoneList, 20);
|
||||
partition.forEach(item -> {
|
||||
// 接口有限制 最多一次查询20个人
|
||||
jsonArray.addAll(HKDeviceUtil.getUserListByPhone(item).getJSONObject("data").getJSONArray("list"));
|
||||
});
|
||||
ArrayList<JSONObject> objects = new ArrayList<>();
|
||||
resourceInfos.forEach(item -> {
|
||||
JSONObject entries = new JSONObject();
|
||||
entries.set("resourceIndexCode", item);
|
||||
entries.set("resourceType", "door");
|
||||
objects.add(entries);
|
||||
});
|
||||
// 接口有限制 最多一次存1000个人
|
||||
ArrayList<String> userIds = new ArrayList<>();
|
||||
for (int i = 0; i < jsonArray.size(); i++) {
|
||||
JSONObject jsonObject = jsonArray.getJSONObject(i);
|
||||
userIds.add(jsonObject.getStr("personId"));
|
||||
}
|
||||
List<List<String>> partitionUserIds = partition(userIds, 1000);
|
||||
partitionUserIds.forEach(itemUserPhones -> {
|
||||
HKDeviceUtil.authPersonArea(itemUserPhones, objects, time + "T00:00:00+08:00", time + "T23:59:59+08:00");
|
||||
});
|
||||
}
|
||||
|
||||
protected DaHuaDeviceCommon getDaHuaDeviceCommon() {
|
||||
return new DaHuaDeviceCommon(new DhuaConfig(dockFlag, prefix, username, password, clientId, clientSecret));
|
||||
}
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
JSONArray objects = new JSONArray();
|
||||
JSONArray objects1 = new JSONArray("");
|
||||
JSONArray objects3 = new JSONArray(null);
|
||||
|
||||
System.out.println(objects1);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.zcloud.primeport.plan.mjDevice.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class TwoLevelUser {
|
||||
private String userCard;
|
||||
private String userPhone;
|
||||
private String userUid;
|
||||
private String userName;
|
||||
private String userFaceImages;
|
||||
private String userFaceImagesBase64;
|
||||
private String visitStartTime;
|
||||
private String visitEndTime;
|
||||
private List<String> resourceIndexCode;
|
||||
private String hkIndexCode;
|
||||
private String entourage;
|
||||
}
|
||||
|
|
@ -48,6 +48,9 @@
|
|||
<if test="params.name != null and params.name != ''">
|
||||
AND u.name like CONCAT('%', #{params.name}, '%')
|
||||
</if>
|
||||
<if test="params.noSelf != null and params.noSelf == 2">
|
||||
AND u.id != #{params.selfUserId}
|
||||
</if>
|
||||
ORDER BY
|
||||
u.department_id
|
||||
</select>
|
||||
|
|
@ -84,5 +87,55 @@
|
|||
</if>
|
||||
order by c.id desc
|
||||
</select>
|
||||
<select id="getDockAuthInfoById" resultType="com.zcloud.primeport.plan.mjDevice.dto.TwoLevelUser">
|
||||
SELECT
|
||||
capa.id,
|
||||
capa.closed_area_id,
|
||||
GROUP_CONCAT( chvi.hk_index_code ) hk_index_code,
|
||||
capa.visit_start_time,
|
||||
capa.visit_end_time,
|
||||
capa.user_face_url,
|
||||
capa.user_phone,
|
||||
capa.user_card,
|
||||
capa.entourage
|
||||
FROM
|
||||
closed_area_person_apply capa
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
m.closed_area_id,
|
||||
GROUP_CONCAT( DISTINCT tmp.hk_index_code ) hk_index_code
|
||||
FROM
|
||||
mkmj m
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
mg.mkmj_id,
|
||||
mg.hk_index_code
|
||||
FROM
|
||||
mkmj_gate mg
|
||||
WHERE
|
||||
mg.gate_type = 'HGKM_MKMJ_GATE_TYPE_PERSON'
|
||||
AND mg.gate_status = 2
|
||||
AND mg.delete_enum = 'FALSE'
|
||||
) tmp ON m.id = tmp.mkmj_id
|
||||
WHERE
|
||||
m.delete_enum = 'FALSE'
|
||||
AND m.mkmj_status = 2
|
||||
AND m.mkmj_level = 2
|
||||
GROUP BY
|
||||
m.closed_area_id
|
||||
) chvi ON chvi.closed_area_id = capa.closed_area_id
|
||||
WHERE
|
||||
capa.delete_enum = 'FALSE'
|
||||
AND capa.audit_flag = 2
|
||||
AND capa.person_belong_type IN ( 1, 2, 3 )
|
||||
AND capa.visit_end_time >= DATE_FORMAT( now(), '%Y-%m-%d' )
|
||||
AND capa.visit_start_time <= DATE_FORMAT( now(), '%Y-%m-%d' )
|
||||
AND chvi.hk_index_code IS NOT NULL
|
||||
<if test="applyId != null">
|
||||
and capa.id = #{applyId}
|
||||
</if>
|
||||
GROUP BY
|
||||
capa.id
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="com.zcloud.primeport.persistence.mapper.EVehicleBasicInfoMapper">
|
||||
|
||||
</mapper>
|
||||
|
||||
|
|
@ -21,6 +21,7 @@
|
|||
m.longitude,
|
||||
m.latitude,
|
||||
m.closed_area_id,
|
||||
ca.closed_area_name,
|
||||
m.out_direction_type,
|
||||
ca.jurisdictional_corp_id,
|
||||
ca.jurisdictional_corp_name,
|
||||
|
|
|
|||
|
|
@ -53,6 +53,8 @@
|
|||
<if test="params.gateStatus != null">
|
||||
AND g.gate_status = #{params.gateStatus}
|
||||
</if>
|
||||
GROUP BY
|
||||
g.id
|
||||
ORDER BY g.id DESC
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue