feat(closedArea): 添加封闭区域可视化大屏功能

pull/4/head^2
zhaokai 2026-07-27 09:45:38 +08:00
parent 83d0b39672
commit a81c46c457
65 changed files with 1103 additions and 179 deletions

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectStorage">
<option name="folderId" value="19905a0ab9f26f" />
<option name="path" value="海神女的私有团队-&gt;Gbs港务局-&gt;口门门禁" />
<option name="folderId" value="17b381cfb15336" />
<option name="path" value="海神女的私有团队-&gt;Gbs港务局-&gt;可视化大屏-&gt;口门门禁" />
<option name="projectId" value="35be46" />
</component>
</project>

View File

@ -1,8 +1,8 @@
spring:
config:
import:
- classpath:nacos.yml
# - classpath:prodnacos.yml
# - classpath:nacos.yml
- classpath:prodnacos.yml
- classpath:sdk.yml
- classpath:swagger.yml
# - classpath:ds.yml

View File

@ -1,7 +1,7 @@
sdk:
server:
# app-key: bbab676d39e443cfacc037ee15fdad37
app-key: c7fbb137c1a0484c8b0cca8ac9937c55
app-key: bbab676d39e443cfacc037ee15fdad37
# app-key: c7fbb137c1a0484c8b0cca8ac9937c55
#港务局线上appKey c7fbb137c1a0484c8b0cca8ac9937c55
client:
gateway:

View File

@ -7,21 +7,30 @@ import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.primeport.api.MkmjServiceI;
import com.zcloud.primeport.dto.MkmjAddCmd;
import com.zcloud.primeport.dto.MkmjPageQry;
import com.zcloud.primeport.dto.MkmjScreenPageQry;
import com.zcloud.primeport.dto.MkmjUpdateCmd;
import com.zcloud.primeport.dto.MkmjUpdateStatusCmd;
import com.zcloud.primeport.dto.clientobject.MkmjCO;
import com.zcloud.primeport.dto.clientobject.VehicleMessageCO;
import com.zcloud.primeport.dto.clientobject.MkmjScreenCO;
import com.zcloud.primeport.dto.clientobject.MkmjStatisticsCO;
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 org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
@Api(tags = "门口信息管理表")
@Api(tags = "信息管理")
@RequestMapping("/${application.gateway}/mkmj")
@RestController
@AllArgsConstructor
@ -91,5 +100,15 @@ public class MkmjController {
return SingleResponse.of(result);
}
}
@ApiOperation("可视化大屏-口门统计")
@GetMapping("/statistics")
public MultiResponse<MkmjStatisticsCO> statistics() {
return mkmjService.statistics();
}
@ApiOperation("可视化大屏-口门列表")
@PostMapping("/screenList")
public PageResponse<MkmjScreenCO> screenList(@RequestBody MkmjScreenPageQry qry) {
return mkmjService.screenList(qry);
}
}

View File

@ -10,8 +10,10 @@ import com.jjb.saas.framework.auth.utils.AuthContext;
import com.zcloud.primeport.api.MkmjGateServiceI;
import com.zcloud.primeport.dto.MkmjGateAddCmd;
import com.zcloud.primeport.dto.MkmjGatePageQry;
import com.zcloud.primeport.dto.MkmjGateScreenPageQry;
import com.zcloud.primeport.dto.MkmjGateUpdateCmd;
import com.zcloud.primeport.dto.clientobject.MkmjGateCO;
import com.zcloud.primeport.dto.clientobject.MkmjGateScreenCO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
@ -77,5 +79,11 @@ public class MkmjGateController {
result.put("available", available);
return SingleResponse.of(result);
}
@ApiOperation("可视化大屏-人员车辆闸机列表")
@PostMapping("/screenList")
public PageResponse<MkmjGateScreenCO> screenList(@RequestBody MkmjGateScreenPageQry qry) {
return mkmjGateService.screenList(qry);
}
}

View File

@ -10,8 +10,10 @@ import com.jjb.saas.framework.auth.utils.AuthContext;
import com.zcloud.primeport.api.VideoServiceI;
import com.zcloud.primeport.dto.VideoAddCmd;
import com.zcloud.primeport.dto.VideoPageQry;
import com.zcloud.primeport.dto.VideoScreenPageQry;
import com.zcloud.primeport.dto.VideoUpdateCmd;
import com.zcloud.primeport.dto.clientobject.VideoCO;
import com.zcloud.primeport.dto.clientobject.VideoScreenCO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
@ -64,5 +66,11 @@ public class VideoController {
videoService.edit(videoUpdateCmd);
return SingleResponse.buildSuccess();
}
@ApiOperation("可视化大屏-摄像头列表不区分企业")
@PostMapping("/screenList")
public PageResponse<VideoScreenCO> screenList(@RequestBody VideoScreenPageQry qry) {
return videoService.screenList(qry);
}
}

View File

@ -1,29 +1,31 @@
package com.zcloud.primeport.web.close;
import com.alibaba.cola.dto.*;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.Response;
import com.alibaba.cola.dto.SingleResponse;
import com.alibaba.cola.exception.BizException;
import com.zcloud.primeport.api.ClosedAreaCarApplyServiceI;
import com.zcloud.primeport.dto.ClosedAreaCarApplyAddCmd;
import com.zcloud.primeport.dto.ClosedAreaCarApplyAuditCmd;
import com.zcloud.primeport.dto.ClosedAreaCarApplyPageQry;
import com.zcloud.primeport.dto.ClosedAreaCarApplyScreenPageQry;
import com.zcloud.primeport.dto.ClosedAreaCarApplyUpdateCmd;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCarApplyCO;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCarApplyScreenCO;
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;
/**
* web-adapter
*
* @Author dearLin
* @Date 2026-03-20 10:07:13
*/
@Api(tags = "封闭区域-车辆")
@Api(tags = "封闭区域-车辆申请")
@RequestMapping("/${application.gateway}/closedAreaCarApply")
@RestController
@AllArgsConstructor
@ -38,7 +40,7 @@ public class ClosedAreaCarApplyController {
@ApiOperation("分页")
@PostMapping("/list")
// todo 完善申请人查询,审批人查询 数据权限
// todo 完善申请人查询,审批人查询数据权限
public PageResponse<ClosedAreaCarApplyCO> page(@RequestBody ClosedAreaCarApplyPageQry qry) {
return closedAreaCarApplyService.listPage(qry);
}
@ -65,5 +67,10 @@ public class ClosedAreaCarApplyController {
closedAreaCarApplyService.auditCarApply(auditCmd);
return Response.buildSuccess();
}
}
@ApiOperation("可视化大屏-车申请记录")
@PostMapping("/screenList")
public PageResponse<ClosedAreaCarApplyScreenCO> screenList(@RequestBody ClosedAreaCarApplyScreenPageQry qry) {
return closedAreaCarApplyService.screenList(qry);
}
}

View File

@ -1,32 +1,32 @@
package com.zcloud.primeport.web.close;
import com.zcloud.primeport.api.ClosedAreaServiceI;
import com.zcloud.primeport.dto.ClosedAreaAddCmd;
import com.zcloud.primeport.dto.ClosedAreaCountCmd;
import com.zcloud.primeport.dto.ClosedAreaPageQry;
import com.zcloud.primeport.dto.ClosedAreaUpdateCmd;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCO;
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 com.zcloud.primeport.api.ClosedAreaServiceI;
import com.zcloud.primeport.dto.ClosedAreaAddCmd;
import com.zcloud.primeport.dto.ClosedAreaCorpStatCmd;
import com.zcloud.primeport.dto.ClosedAreaCountCmd;
import com.zcloud.primeport.dto.ClosedAreaPageQry;
import com.zcloud.primeport.dto.ClosedAreaUpdateCmd;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCO;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCorpStatCO;
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 org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
/**
* web-adapter
*
* @Author dearLin
* @Date 2026-03-19 10:27:50
*/
@Api(tags = "封闭区域")
@RequestMapping("/${application.gateway}/closedArea")
@RestController
@ -39,6 +39,7 @@ public class ClosedAreaController {
public MultiResponse<ClosedAreaCO> listTree(ClosedAreaPageQry qry) {
return closedAreaService.listTree(qry);
}
@ApiOperation("统计港区里所有的封闭区域数与管辖单位数")
@GetMapping("/getCountByHgAuthArea")
public MultiResponse<ClosedAreaCO> getCountByHgAuthArea() {
@ -57,14 +58,13 @@ public class ClosedAreaController {
return closedAreaService.listPage(qry);
}
@ApiOperation("据港区选择对应的封闭区域")
@ApiOperation("据港区选择对应的封闭区域")
@GetMapping("/listAllByhgAuthArea")
public MultiResponse<ClosedAreaCO> listAllByhgAuthArea(@RequestParam("hgAuthArea") String hgAuthArea) {
return closedAreaService.listAllByhgAuthArea(hgAuthArea);
}
@ApiOperation("据管辖单位查询封闭区域")
@ApiOperation("据管辖单位查询封闭区域")
@GetMapping("/listAllByJurisdictionalCorpId/{id}")
public MultiResponse<ClosedAreaCO> listAllByJurisdictionalCorpId(@PathVariable("id") Long id) {
if (id == null) {
@ -105,5 +105,10 @@ public class ClosedAreaController {
public MultiResponse count(@RequestBody ClosedAreaCountCmd closedAreaCountCmd) {
return closedAreaService.count(closedAreaCountCmd);
}
}
@ApiOperation("可视化大屏-封闭区域统计")
@PostMapping("/corpStat")
public SingleResponse<ClosedAreaCorpStatCO> corpStat( @RequestBody ClosedAreaCorpStatCmd cmd) {
return closedAreaService.corpStat(cmd);
}
}

View File

@ -8,8 +8,10 @@ import com.zcloud.primeport.dto.ClosedAreaPersonApplyAddCmd;
import com.zcloud.primeport.dto.ClosedAreaPersonApplyAuditCmd;
import com.zcloud.primeport.dto.ClosedAreaPersonApplyAuthCmd;
import com.zcloud.primeport.dto.ClosedAreaPersonApplyPageQry;
import com.zcloud.primeport.dto.ClosedAreaPersonApplyScreenPageQry;
import com.zcloud.primeport.dto.clientobject.ClosedAreaPersonApplyCO;
import com.zcloud.primeport.dto.clientobject.ClosedAreaPersonApplyDeptCO;
import com.zcloud.primeport.dto.clientobject.ClosedAreaPersonApplyScreenCO;
import com.zcloud.primeport.dto.clientobject.UserCo;
import com.zcloud.primeport.persistence.dataobject.UserDto;
import io.swagger.annotations.Api;
@ -99,5 +101,11 @@ public class ClosedAreaPersonApplyController {
// closedAreaPersonApplyService.remove(id);
// return SingleResponse.buildSuccess();
// }
@ApiOperation("可视化大屏-人申请记录")
@PostMapping("/screenList")
public PageResponse<ClosedAreaPersonApplyScreenCO> screenList(@RequestBody ClosedAreaPersonApplyScreenPageQry qry) {
return closedAreaPersonApplyService.screenList(qry);
}
}

View File

@ -0,0 +1,33 @@
package com.zcloud.primeport.command.query;
import com.alibaba.cola.dto.PageResponse;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.primeport.dto.ClosedAreaCarApplyScreenPageQry;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCarApplyScreenCO;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaCarApplyDO;
import com.zcloud.primeport.persistence.repository.ClosedAreaCarApplyRepository;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Component
@AllArgsConstructor
public class ClosedAreaCarApplyScreenQueryExe {
private final ClosedAreaCarApplyRepository closedAreaCarApplyRepository;
public PageResponse<ClosedAreaCarApplyScreenCO> screenList(ClosedAreaCarApplyScreenPageQry qry) {
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
PageResponse<ClosedAreaCarApplyDO> pageResponse = closedAreaCarApplyRepository.screenList(params);
List<ClosedAreaCarApplyScreenCO> dataList = new ArrayList<>();
for (ClosedAreaCarApplyDO data : pageResponse.getData()) {
ClosedAreaCarApplyScreenCO co = new ClosedAreaCarApplyScreenCO();
BeanUtils.copyProperties(data, co);
dataList.add(co);
}
return PageResponse.of(dataList, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
}

View File

@ -1,21 +1,20 @@
package com.zcloud.primeport.command.query;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
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.gbscommon.utils.Tools;
import com.zcloud.primeport.command.convertor.ClosedAreaCoConvertor;
import com.zcloud.primeport.command.convertor.ClosedAreaCountCoConvertor;
import com.zcloud.primeport.dto.ClosedAreaCorpStatCmd;
import com.zcloud.primeport.dto.ClosedAreaCountCmd;
import com.zcloud.primeport.dto.ClosedAreaPageQry;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCO;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCorpStatCO;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCountCO;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaCountDO;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaDO;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaCorpStatDO;
import com.zcloud.primeport.persistence.repository.ClosedAreaRepository;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
@ -23,66 +22,49 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* web-app
*
* @Author dearLin
* @Date 2026-03-19 10:27:51
*/
@Component
@AllArgsConstructor
public class ClosedAreaCountExe {
private final ClosedAreaRepository closedAreaRepository;
private final ClosedAreaCountCoConvertor closedAreaCountCoConvertor;
/**
*
*
* @param cmd
* @return
*/
public MultiResponse<ClosedAreaCountCO> execute(ClosedAreaCountCmd cmd) {
Map<String, Object> params = PageQueryHelper.toHashMap(cmd);
// if (cmd.getCorpId() != null) {
// params.put("corpId", cmd.getCorpId());
// }else {
// params.put("corpId", AuthContext.getTenantId());
// }
List<ClosedAreaCountDO> pageResponse = closedAreaRepository.listCount(params);
List<ClosedAreaCountCO> examCenterCOS = closedAreaCountCoConvertor.converDOsToCOs(pageResponse);
for (ClosedAreaCountCO closedAreaCountCO : examCenterCOS) {
closedAreaCountCO.setChildren(treeChildren(closedAreaCountCO.getId(), pageResponse));
}
// 递归汇总子节点的人员数和车辆数到父节点
for (ClosedAreaCountCO closedAreaCountCO : examCenterCOS) {
sumChildrenCount(closedAreaCountCO);
}
return MultiResponse.of(examCenterCOS);
}
public SingleResponse<ClosedAreaCorpStatCO> corpStat(ClosedAreaCorpStatCmd cmd) {
Map<String, Object> params = new HashMap<>();
params.put("corpinfoId", cmd.getCorpinfoId());
ClosedAreaCorpStatDO statDO = closedAreaRepository.corpStat(params);
ClosedAreaCorpStatCO statCO = new ClosedAreaCorpStatCO();
if (statDO != null) {
BeanUtils.copyProperties(statDO, statCO);
}
return SingleResponse.of(statCO);
}
private List<ClosedAreaCountCO> treeChildren(Long parentId, List<ClosedAreaCountDO> closedAreaDOS) {
List<ClosedAreaCountCO> childList = new ArrayList<>();
for (ClosedAreaCountDO closedAreaCountDO : closedAreaDOS) {
//遍历所有节点与上级传过来的父节点id比较
if (parentId.equals(closedAreaCountDO.getParentId())) {
childList.add(closedAreaCountCoConvertor.converDOToCO(closedAreaCountDO));
}
}
//递归
for (ClosedAreaCountCO route : childList) {
route.setChildren(treeChildren(route.getId(), closedAreaDOS));
}
return childList.isEmpty() ? null : childList;
}
/**
*
*
*/
private void sumChildrenCount(ClosedAreaCountCO node) {
List<ClosedAreaCountCO> children = node.getChildren();
if (children == null || children.isEmpty()) {
@ -95,9 +77,7 @@ public class ClosedAreaCountExe {
personSum += (child.getPersonCount() != null ? child.getPersonCount() : 0);
carSum += (child.getCarCount() != null ? child.getCarCount() : 0);
}
// 父节点自身直接关联的数量 + 所有子节点的汇总
node.setPersonCount((node.getPersonCount() != null ? node.getPersonCount() : 0) + personSum);
node.setCarCount((node.getCarCount() != null ? node.getCarCount() : 0) + carSum);
}
}

View File

@ -0,0 +1,33 @@
package com.zcloud.primeport.command.query;
import com.alibaba.cola.dto.PageResponse;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.primeport.dto.ClosedAreaPersonApplyScreenPageQry;
import com.zcloud.primeport.dto.clientobject.ClosedAreaPersonApplyScreenCO;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaPersonApplyDO;
import com.zcloud.primeport.persistence.repository.ClosedAreaPersonApplyRepository;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Component
@AllArgsConstructor
public class ClosedAreaPersonApplyScreenQueryExe {
private final ClosedAreaPersonApplyRepository closedAreaPersonApplyRepository;
public PageResponse<ClosedAreaPersonApplyScreenCO> screenList(ClosedAreaPersonApplyScreenPageQry qry) {
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
PageResponse<ClosedAreaPersonApplyDO> pageResponse = closedAreaPersonApplyRepository.screenList(params);
List<ClosedAreaPersonApplyScreenCO> dataList = new ArrayList<>();
for (ClosedAreaPersonApplyDO data : pageResponse.getData()) {
ClosedAreaPersonApplyScreenCO co = new ClosedAreaPersonApplyScreenCO();
BeanUtils.copyProperties(data, co);
dataList.add(co);
}
return PageResponse.of(dataList, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
}

View File

@ -4,12 +4,16 @@ import com.alibaba.cola.dto.PageResponse;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.primeport.command.convertor.MkmjGateCoConvertor;
import com.zcloud.primeport.dto.MkmjGatePageQry;
import com.zcloud.primeport.dto.MkmjGateScreenPageQry;
import com.zcloud.primeport.dto.clientobject.MkmjGateCO;
import com.zcloud.primeport.dto.clientobject.MkmjGateScreenCO;
import com.zcloud.primeport.persistence.dataobject.MkmjGateDO;
import com.zcloud.primeport.persistence.repository.MkmjGateRepository;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -47,5 +51,17 @@ public class MkmjGateQueryExe {
public Boolean checkName(String gateName, Long passageId, Long id) {
return mkmjGateRepository.checkName(gateName, passageId, id);
}
public PageResponse<MkmjGateScreenCO> screenList(MkmjGateScreenPageQry qry) {
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
PageResponse<MkmjGateDO> pageResponse = mkmjGateRepository.listPage(params);
List<MkmjGateScreenCO> dataList = new ArrayList<>();
for (MkmjGateDO data : pageResponse.getData()) {
MkmjGateScreenCO co = new MkmjGateScreenCO();
BeanUtils.copyProperties(data, co);
dataList.add(co);
}
return PageResponse.of(dataList, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
}

View File

@ -6,12 +6,18 @@ import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.utils.Tools;
import com.zcloud.primeport.command.convertor.MkmjCoConvertor;
import com.zcloud.primeport.dto.MkmjPageQry;
import com.zcloud.primeport.dto.MkmjScreenPageQry;
import com.zcloud.primeport.dto.clientobject.MkmjCO;
import com.zcloud.primeport.dto.clientobject.MkmjScreenCO;
import com.zcloud.primeport.dto.clientobject.MkmjStatisticsCO;
import com.zcloud.primeport.persistence.dataobject.MkmjDO;
import com.zcloud.primeport.persistence.dataobject.MkmjStatisticsDO;
import com.zcloud.primeport.persistence.repository.MkmjRepository;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -64,5 +70,28 @@ public class MkmjQueryExe {
List<MkmjCO> examCenterCOS = mkmjCoConvertor.converDOsToCOs(list);
return examCenterCOS;
}
public List<MkmjStatisticsCO> statistics() {
List<MkmjStatisticsDO> dataList = mkmjRepository.listStatistics();
List<MkmjStatisticsCO> result = new ArrayList<>();
for (MkmjStatisticsDO data : dataList) {
MkmjStatisticsCO co = new MkmjStatisticsCO();
BeanUtils.copyProperties(data, co);
result.add(co);
}
return result;
}
public PageResponse<MkmjScreenCO> screenList(MkmjScreenPageQry qry) {
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
PageResponse<MkmjDO> pageResponse = mkmjRepository.listPage(params);
List<MkmjScreenCO> result = new ArrayList<>();
for (MkmjDO data : pageResponse.getData()) {
MkmjScreenCO co = new MkmjScreenCO();
BeanUtils.copyProperties(data, co);
result.add(co);
}
return PageResponse.of(result, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
}

View File

@ -4,12 +4,16 @@ import com.alibaba.cola.dto.PageResponse;
import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.primeport.command.convertor.VideoCoConvertor;
import com.zcloud.primeport.dto.VideoPageQry;
import com.zcloud.primeport.dto.VideoScreenPageQry;
import com.zcloud.primeport.dto.clientobject.VideoCO;
import com.zcloud.primeport.dto.clientobject.VideoScreenCO;
import com.zcloud.primeport.persistence.dataobject.VideoDO;
import com.zcloud.primeport.persistence.repository.VideoRepository;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -43,5 +47,17 @@ public class VideoQueryExe {
VideoDO byId = videoRepository.getById(id);
return videoCoConvertor.converDOToCO(byId);
}
public PageResponse<VideoScreenCO> screenList(VideoScreenPageQry qry) {
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
PageResponse<VideoDO> pageResponse = videoRepository.listScreenPage(params);
List<VideoScreenCO> dataList = new ArrayList<>();
for (VideoDO data : pageResponse.getData()) {
VideoScreenCO co = new VideoScreenCO();
BeanUtils.copyProperties(data, co);
dataList.add(co);
}
return PageResponse.of(dataList, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
}

View File

@ -4,10 +4,12 @@ import com.zcloud.primeport.api.ClosedAreaCarApplyServiceI;
import com.zcloud.primeport.command.ClosedAreaCarApplyAddExe;
import com.zcloud.primeport.command.ClosedAreaCarApplyRemoveExe;
import com.zcloud.primeport.command.ClosedAreaCarApplyUpdateExe;
import com.zcloud.primeport.command.query.ClosedAreaCarApplyScreenQueryExe;
import com.zcloud.primeport.command.query.ClosedAreaCarApplyQueryExe;
import com.zcloud.primeport.domain.enums.CloseCarBelongTypeEnum;
import com.zcloud.primeport.dto.*;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCarApplyCO;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCarApplyScreenCO;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
@ -29,6 +31,7 @@ public class ClosedAreaCarApplyServiceImpl implements ClosedAreaCarApplyServiceI
private final ClosedAreaCarApplyUpdateExe closedAreaCarApplyUpdateExe;
private final ClosedAreaCarApplyRemoveExe closedAreaCarApplyRemoveExe;
private final ClosedAreaCarApplyQueryExe closedAreaCarApplyQueryExe;
private final ClosedAreaCarApplyScreenQueryExe closedAreaCarApplyScreenQueryExe;
@Override
public ClosedAreaCarApplyCO queryById(Long id) {
@ -77,5 +80,10 @@ public class ClosedAreaCarApplyServiceImpl implements ClosedAreaCarApplyServiceI
closedAreaCarApplyAddCmd.setCarBelongType(CloseCarBelongTypeEnum.TEMPORARY_VEHICLES.getCode());
return closedAreaCarApplyAddExe.execute(closedAreaCarApplyAddCmd);
}
@Override
public PageResponse<ClosedAreaCarApplyScreenCO> screenList(ClosedAreaCarApplyScreenPageQry qry) {
return closedAreaCarApplyScreenQueryExe.screenList(qry);
}
}

View File

@ -6,6 +6,7 @@ import com.zcloud.primeport.command.ClosedAreaPersonApplyAddExe;
import com.zcloud.primeport.command.ClosedAreaPersonApplyRemoveExe;
import com.zcloud.primeport.command.ClosedAreaPersonApplyUpdateExe;
import com.zcloud.primeport.command.query.ClosedAreaPersonApplyQueryExe;
import com.zcloud.primeport.command.query.ClosedAreaPersonApplyScreenQueryExe;
import com.zcloud.primeport.domain.enums.CloseCarBelongTypeEnum;
import com.zcloud.primeport.dto.*;
import com.zcloud.primeport.dto.clientobject.ClosedAreaPersonApplyCO;
@ -13,6 +14,7 @@ import com.zcloud.primeport.dto.clientobject.ClosedAreaPersonApplyCO;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.primeport.dto.clientobject.ClosedAreaPersonApplyDeptCO;
import com.zcloud.primeport.dto.clientobject.ClosedAreaPersonApplyScreenCO;
import com.zcloud.primeport.dto.clientobject.UserCo;
import com.zcloud.primeport.persistence.dataobject.UserDto;
import lombok.AllArgsConstructor;
@ -31,6 +33,7 @@ public class ClosedAreaPersonApplyServiceImpl implements ClosedAreaPersonApplySe
private final ClosedAreaPersonApplyUpdateExe closedAreaPersonApplyUpdateExe;
private final ClosedAreaPersonApplyRemoveExe closedAreaPersonApplyRemoveExe;
private final ClosedAreaPersonApplyQueryExe closedAreaPersonApplyQueryExe;
private final ClosedAreaPersonApplyScreenQueryExe closedAreaPersonApplyScreenQueryExe;
@Override
public ClosedAreaPersonApplyCO queryById(Long id){
@ -96,5 +99,10 @@ public class ClosedAreaPersonApplyServiceImpl implements ClosedAreaPersonApplySe
public SingleResponse<ClosedAreaPersonApplyCO> getAuthorizationPersonInfo(Long id) {
return closedAreaPersonApplyQueryExe.getAuthorizationPersonInfo(id);
}
@Override
public PageResponse<ClosedAreaPersonApplyScreenCO> screenList(ClosedAreaPersonApplyScreenPageQry qry) {
return closedAreaPersonApplyScreenQueryExe.screenList(qry);
}
}

View File

@ -1,6 +1,8 @@
package com.zcloud.primeport.service;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.primeport.api.ClosedAreaServiceI;
import com.zcloud.primeport.command.ClosedAreaAddExe;
import com.zcloud.primeport.command.ClosedAreaRemoveExe;
@ -8,26 +10,18 @@ import com.zcloud.primeport.command.ClosedAreaUpdateExe;
import com.zcloud.primeport.command.query.ClosedAreaCountExe;
import com.zcloud.primeport.command.query.ClosedAreaQueryExe;
import com.zcloud.primeport.dto.ClosedAreaAddCmd;
import com.zcloud.primeport.dto.ClosedAreaCorpStatCmd;
import com.zcloud.primeport.dto.ClosedAreaCountCmd;
import com.zcloud.primeport.dto.ClosedAreaPageQry;
import com.zcloud.primeport.dto.ClosedAreaUpdateCmd;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCO;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCorpStatCO;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCountCO;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* web-app
*
* @Author dearLin
* @Date 2026-03-19 10:27:51
*/
@Service
@AllArgsConstructor
public class ClosedAreaServiceImpl implements ClosedAreaServiceI {
@ -44,13 +38,11 @@ public class ClosedAreaServiceImpl implements ClosedAreaServiceI {
@Override
public PageResponse<ClosedAreaCO> listPage(ClosedAreaPageQry qry) {
return closedAreaQueryExe.execute(qry);
}
@Override
public SingleResponse add(ClosedAreaAddCmd cmd) {
public SingleResponse<ClosedAreaCO> add(ClosedAreaAddCmd cmd) {
closedAreaAddExe.execute(cmd);
return SingleResponse.buildSuccess();
}
@ -65,6 +57,10 @@ public class ClosedAreaServiceImpl implements ClosedAreaServiceI {
return closedAreaCountExe.execute(cmd);
}
@Override
public SingleResponse<ClosedAreaCorpStatCO> corpStat(ClosedAreaCorpStatCmd cmd) {
return closedAreaCountExe.corpStat(cmd);
}
@Override
public void remove(Long id) {
@ -98,4 +94,3 @@ public class ClosedAreaServiceImpl implements ClosedAreaServiceI {
return closedAreaQueryExe.listAllByhgAuthArea(hgAuthArea);
}
}

View File

@ -9,8 +9,10 @@ import com.zcloud.primeport.command.MkmjGateUpdateExe;
import com.zcloud.primeport.command.query.MkmjGateQueryExe;
import com.zcloud.primeport.dto.MkmjGateAddCmd;
import com.zcloud.primeport.dto.MkmjGatePageQry;
import com.zcloud.primeport.dto.MkmjGateScreenPageQry;
import com.zcloud.primeport.dto.MkmjGateUpdateCmd;
import com.zcloud.primeport.dto.clientobject.MkmjGateCO;
import com.zcloud.primeport.dto.clientobject.MkmjGateScreenCO;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
@ -65,5 +67,10 @@ public class MkmjGateServiceImpl implements MkmjGateServiceI {
public Boolean checkName(String gateName, Long passageId, Long id) {
return mkmjGateQueryExe.checkName(gateName,passageId, id);
}
@Override
public PageResponse<MkmjGateScreenCO> screenList(MkmjGateScreenPageQry qry) {
return mkmjGateQueryExe.screenList(qry);
}
}

View File

@ -1,5 +1,6 @@
package com.zcloud.primeport.service;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.primeport.api.MkmjServiceI;
@ -10,12 +11,14 @@ import com.zcloud.primeport.command.query.MkmjQueryExe;
import com.zcloud.primeport.domain.gateway.MkmjGateway;
import com.zcloud.primeport.dto.MkmjAddCmd;
import com.zcloud.primeport.dto.MkmjPageQry;
import com.zcloud.primeport.dto.MkmjScreenPageQry;
import com.zcloud.primeport.dto.MkmjUpdateCmd;
import com.zcloud.primeport.dto.clientobject.MkmjCO;
import com.zcloud.primeport.dto.clientobject.MkmjScreenCO;
import com.zcloud.primeport.dto.clientobject.MkmjStatisticsCO;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
@Service
@ -67,5 +70,15 @@ public class MkmjServiceImpl implements MkmjServiceI {
public List<MkmjCO> listAll(MkmjPageQry qry) {
return mkmjQueryExe.listAll(qry);
}
@Override
public MultiResponse<MkmjStatisticsCO> statistics() {
return MultiResponse.of(mkmjQueryExe.statistics());
}
@Override
public PageResponse<MkmjScreenCO> screenList(MkmjScreenPageQry qry) {
return mkmjQueryExe.screenList(qry);
}
}

View File

@ -9,8 +9,10 @@ import com.zcloud.primeport.command.VideoUpdateExe;
import com.zcloud.primeport.command.query.VideoQueryExe;
import com.zcloud.primeport.dto.VideoAddCmd;
import com.zcloud.primeport.dto.VideoPageQry;
import com.zcloud.primeport.dto.VideoScreenPageQry;
import com.zcloud.primeport.dto.VideoUpdateCmd;
import com.zcloud.primeport.dto.clientobject.VideoCO;
import com.zcloud.primeport.dto.clientobject.VideoScreenCO;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
@ -60,5 +62,10 @@ public class VideoServiceImpl implements VideoServiceI {
public VideoCO getInfoById(Long id) {
return videoQueryExe.getInfoById(id);
}
@Override
public PageResponse<VideoScreenCO> screenList(VideoScreenPageQry qry) {
return videoQueryExe.screenList(qry);
}
}

View File

@ -2,6 +2,7 @@ package com.zcloud.primeport.api;
import com.zcloud.primeport.dto.*;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCarApplyCO;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCarApplyScreenCO;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
@ -28,5 +29,7 @@ public interface ClosedAreaCarApplyServiceI {
void auditCarApply(ClosedAreaCarApplyAuditCmd auditCmd);
Long saveTmpCarApply(ClosedTmpApplyAddCmd cmd);
PageResponse<ClosedAreaCarApplyScreenCO> screenList(ClosedAreaCarApplyScreenPageQry qry);
}

View File

@ -3,6 +3,7 @@ package com.zcloud.primeport.api;
import com.alibaba.cola.dto.MultiResponse;
import com.zcloud.primeport.dto.*;
import com.zcloud.primeport.dto.clientobject.ClosedAreaPersonApplyCO;
import com.zcloud.primeport.dto.clientobject.ClosedAreaPersonApplyScreenCO;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
@ -38,5 +39,7 @@ public interface ClosedAreaPersonApplyServiceI {
Long saveTmpPersonApply(ClosedTmpApplyAddCmd cmd);
SingleResponse<ClosedAreaPersonApplyCO> getAuthorizationPersonInfo(Long id);
PageResponse<ClosedAreaPersonApplyScreenCO> screenList(ClosedAreaPersonApplyScreenPageQry qry);
}

View File

@ -1,24 +1,20 @@
package com.zcloud.primeport.api;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.primeport.dto.ClosedAreaAddCmd;
import com.zcloud.primeport.dto.ClosedAreaCorpStatCmd;
import com.zcloud.primeport.dto.ClosedAreaCountCmd;
import com.zcloud.primeport.dto.ClosedAreaPageQry;
import com.zcloud.primeport.dto.ClosedAreaUpdateCmd;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCO;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCorpStatCO;
import com.zcloud.primeport.dto.clientobject.ClosedAreaCountCO;
/**
* web-client
* @Author dearLin
* @Date 2026-03-19 10:27:51
*/
public interface ClosedAreaServiceI {
ClosedAreaCO queryById(Long id);
ClosedAreaCO queryById(Long id);
PageResponse<ClosedAreaCO> listPage(ClosedAreaPageQry qry);
SingleResponse<ClosedAreaCO> add(ClosedAreaAddCmd cmd);
@ -27,6 +23,8 @@ public interface ClosedAreaServiceI {
MultiResponse<ClosedAreaCountCO> count(ClosedAreaCountCmd cmd);
SingleResponse<ClosedAreaCorpStatCO> corpStat(ClosedAreaCorpStatCmd cmd);
void remove(Long id);
void removeBatch(Long[] ids);
@ -39,4 +37,3 @@ public interface ClosedAreaServiceI {
MultiResponse<ClosedAreaCO> listAllByhgAuthArea(String hgAuthArea);
}

View File

@ -4,8 +4,10 @@ import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.primeport.dto.MkmjGateAddCmd;
import com.zcloud.primeport.dto.MkmjGatePageQry;
import com.zcloud.primeport.dto.MkmjGateScreenPageQry;
import com.zcloud.primeport.dto.MkmjGateUpdateCmd;
import com.zcloud.primeport.dto.clientobject.MkmjGateCO;
import com.zcloud.primeport.dto.clientobject.MkmjGateScreenCO;
/**
* web-client
@ -27,5 +29,7 @@ public interface MkmjGateServiceI {
MkmjGateCO getInfoById(Long id);
Boolean checkName(String gateName, Long passageId, Long id);
PageResponse<MkmjGateScreenCO> screenList(MkmjGateScreenPageQry qry);
}

View File

@ -1,14 +1,16 @@
package com.zcloud.primeport.api;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.primeport.dto.MkmjAddCmd;
import com.zcloud.primeport.dto.MkmjPageQry;
import com.zcloud.primeport.dto.MkmjScreenPageQry;
import com.zcloud.primeport.dto.MkmjUpdateCmd;
import com.zcloud.primeport.dto.clientobject.MkmjCO;
import com.zcloud.primeport.dto.clientobject.VehicleMessageCO;
import com.zcloud.primeport.dto.clientobject.MkmjScreenCO;
import com.zcloud.primeport.dto.clientobject.MkmjStatisticsCO;
import java.util.Collection;
import java.util.List;
public interface MkmjServiceI {
@ -27,5 +29,9 @@ public interface MkmjServiceI {
Boolean checkName(String mkmjName, Long id);
List<MkmjCO> listAll(MkmjPageQry qry);
MultiResponse<MkmjStatisticsCO> statistics();
PageResponse<MkmjScreenCO> screenList(MkmjScreenPageQry qry);
}

View File

@ -4,8 +4,10 @@ import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.primeport.dto.VideoAddCmd;
import com.zcloud.primeport.dto.VideoPageQry;
import com.zcloud.primeport.dto.VideoScreenPageQry;
import com.zcloud.primeport.dto.VideoUpdateCmd;
import com.zcloud.primeport.dto.clientobject.VideoCO;
import com.zcloud.primeport.dto.clientobject.VideoScreenCO;
/**
* web-client
@ -25,5 +27,7 @@ public interface VideoServiceI {
void removeBatch(Long[] ids);
VideoCO getInfoById(Long id);
PageResponse<VideoScreenCO> screenList(VideoScreenPageQry qry);
}

View File

@ -0,0 +1,11 @@
package com.zcloud.primeport.dto;
import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class ClosedAreaCarApplyScreenPageQry extends PageQuery {
@ApiModelProperty(value = "企业id")
private Long corpinfoId;
}

View File

@ -0,0 +1,11 @@
package com.zcloud.primeport.dto;
import com.alibaba.cola.dto.Command;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class ClosedAreaCorpStatCmd extends Command {
@ApiModelProperty(value = "企业id", name = "corpinfoId")
private Long corpinfoId;
}

View File

@ -0,0 +1,11 @@
package com.zcloud.primeport.dto;
import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class ClosedAreaPersonApplyScreenPageQry extends PageQuery {
@ApiModelProperty(value = "企业id")
private Long corpinfoId;
}

View File

@ -0,0 +1,14 @@
package com.zcloud.primeport.dto;
import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class MkmjGateScreenPageQry extends PageQuery {
@ApiModelProperty(value = "闸机类型HGKM_MKMJ_GATE_TYPE_PERSON 人员闸机HGKM_MKMJ_GATE_TYPE_CAR 车辆闸机", required = true)
private String gateType;
@ApiModelProperty(value = "企业id")
private Long corpinfoId;
}

View File

@ -0,0 +1,11 @@
package com.zcloud.primeport.dto;
import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class MkmjScreenPageQry extends PageQuery {
@ApiModelProperty(value = "企业id", name = "corpId")
private Long corpId;
}

View File

@ -0,0 +1,11 @@
package com.zcloud.primeport.dto;
import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class VideoScreenPageQry extends PageQuery {
@ApiModelProperty(value = "企业id")
private Long corpinfoId;
}

View File

@ -0,0 +1,140 @@
package com.zcloud.primeport.dto.clientobject;
import com.alibaba.cola.dto.ClientObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class ClosedAreaCarApplyScreenCO extends ClientObject {
@ApiModelProperty(value = "主键")
private Long id;
@ApiModelProperty(value = "申请归属1股份2分公司3相关方4临时人员")
private Integer carBelongType;
@ApiModelProperty(value = "车牌类型数据字典")
private String licenceType;
@ApiModelProperty(value = "车牌类型名称0-白牌 1-蓝牌 2-黄牌 3-绿牌 4-黑牌")
private String licenceTypeName;
@ApiModelProperty(value = "车牌号")
private String licenceNo;
@ApiModelProperty(value = "车辆类型")
private String vehicleType;
@ApiModelProperty(value = "车辆类型名称")
private String vehicleTypeName;
@ApiModelProperty(value = "一级口门id")
private Long levelOneMkmjId;
@ApiModelProperty(value = "一级口门名称")
private String levelOneMkmjName;
@ApiModelProperty(value = "二级口门名称")
private String levelTwoMkmjName;
@ApiModelProperty(value = "审核状态")
private Integer auditFlag;
@ApiModelProperty(value = "二级口门id")
private Long levelTwoMkmjId;
@ApiModelProperty(value = "封闭区域id")
private Long closedAreaId;
@ApiModelProperty(value = "封闭区域名称")
private String closedAreaName;
@ApiModelProperty(value = "访问开始时间")
private String visitStartTime;
@ApiModelProperty(value = "访问结束时间")
private String visitEndTime;
@ApiModelProperty(value = "有效期")
private String expiredExpiration;
@ApiModelProperty(value = "管辖单位id")
private Long jurisdictionalCorpId;
@ApiModelProperty(value = "管辖单位名称")
private String jurisdictionalCorpName;
@ApiModelProperty(value = "项目id")
private Long projectId;
@ApiModelProperty(value = "项目名称")
private String projectName;
@ApiModelProperty(value = "申请人员所属企业ID")
private Long applyPersonCorpId;
@ApiModelProperty(value = "申请人员所属企业名称")
private String applyPersonCorpName;
@ApiModelProperty(value = "申请人员所属部门id")
private Long applyPersonDepartmentId;
@ApiModelProperty(value = "申请人员部门名称")
private String applyPersonDepartmentName;
@ApiModelProperty(value = "申请人员id")
private Long applyPersonUserId;
@ApiModelProperty(value = "申请人员姓名")
private String applyPersonUserName;
@ApiModelProperty(value = "申请理由")
private String applyReason;
@ApiModelProperty(value = "申请人头像")
private String userFaceUrl;
@ApiModelProperty(value = "申请人手机号")
private String userPhone;
@ApiModelProperty(value = "申请人身份证号码")
private String userCard;
@ApiModelProperty(value = "随行人员")
private String entourage;
@ApiModelProperty(value = "告知签字")
private String informSignId;
@ApiModelProperty(value = "驾驶证照片")
private String drivingLicenseId;
@ApiModelProperty(value = "车辆照片")
private String attachmentId;
@ApiModelProperty(value = "审核人员所属企业ID")
private Long auditPersonCorpId;
@ApiModelProperty(value = "审核人员所属企业名称")
private String auditPersonCorpName;
@ApiModelProperty(value = "审核人员所属部门id")
private Long auditPersonDepartmentId;
@ApiModelProperty(value = "审核人员部门名称")
private String auditPersonDepartmentName;
@ApiModelProperty(value = "审核人员id")
private Long auditPersonUserId;
@ApiModelProperty(value = "审核人员姓名")
private String auditPersonUserName;
@ApiModelProperty(value = "审核时间")
private String auditTime;
@ApiModelProperty(value = "驳回原因")
private String refusalReason;
@ApiModelProperty(value = "申请人姓名")
private String applyUserName;
}

View File

@ -0,0 +1,17 @@
package com.zcloud.primeport.dto.clientobject;
import com.alibaba.cola.dto.ClientObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class ClosedAreaCorpStatCO extends ClientObject {
@ApiModelProperty(value = "封闭区域数")
private Integer closedAreaCount;
@ApiModelProperty(value = "车行通道数")
private Integer carPassageCount;
@ApiModelProperty(value = "人行通道数")
private Integer personPassageCount;
}

View File

@ -0,0 +1,116 @@
package com.zcloud.primeport.dto.clientobject;
import com.alibaba.cola.dto.ClientObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class ClosedAreaPersonApplyScreenCO extends ClientObject {
@ApiModelProperty(value = "主键")
private Long id;
@ApiModelProperty(value = "申请归属")
private Integer personBelongType;
@ApiModelProperty(value = "一级口门id")
private Long levelOneMkmjId;
@ApiModelProperty(value = "一级口门名称")
private String levelOneMkmjName;
@ApiModelProperty(value = "二级口门名称")
private String levelTwoMkmjName;
@ApiModelProperty(value = "审核状态")
private Integer auditFlag;
@ApiModelProperty(value = "二级口门id")
private Long levelTwoMkmjId;
@ApiModelProperty(value = "封闭区域id")
private Long closedAreaId;
@ApiModelProperty(value = "封闭区域名称")
private String closedAreaName;
@ApiModelProperty(value = "访问开始时间")
private String visitStartTime;
@ApiModelProperty(value = "访问结束时间")
private String visitEndTime;
@ApiModelProperty(value = "管辖单位id")
private Long jurisdictionalCorpId;
@ApiModelProperty(value = "管辖单位名称")
private String jurisdictionalCorpName;
@ApiModelProperty(value = "项目id")
private Long projectId;
@ApiModelProperty(value = "项目名称")
private String projectName;
@ApiModelProperty(value = "申请人员所属企业ID")
private Long applyPersonCorpId;
@ApiModelProperty(value = "申请人员所属企业名称")
private String applyPersonCorpName;
@ApiModelProperty(value = "申请人员所属部门id")
private Long applyPersonDepartmentId;
@ApiModelProperty(value = "申请人员部门名称")
private String applyPersonDepartmentName;
@ApiModelProperty(value = "申请人员id")
private Long applyPersonUserId;
@ApiModelProperty(value = "申请人员姓名")
private String applyPersonUserName;
@ApiModelProperty(value = "申请理由")
private String applyReason;
@ApiModelProperty(value = "申请人头像")
private String userFaceUrl;
@ApiModelProperty(value = "申请人手机号")
private String userPhone;
@ApiModelProperty(value = "申请人身份证号码")
private String userCard;
@ApiModelProperty(value = "随行人员")
private String entourage;
@ApiModelProperty(value = "告知签字")
private String informSignId;
@ApiModelProperty(value = "审核人员所属企业ID")
private Long auditPersonCorpId;
@ApiModelProperty(value = "审核人员所属企业名称")
private String auditPersonCorpName;
@ApiModelProperty(value = "审核人员所属部门id")
private Long auditPersonDepartmentId;
@ApiModelProperty(value = "审核人员部门名称")
private String auditPersonDepartmentName;
@ApiModelProperty(value = "审核人员id")
private Long auditPersonUserId;
@ApiModelProperty(value = "审核人员姓名")
private String auditPersonUserName;
@ApiModelProperty(value = "审核时间")
private String auditTime;
@ApiModelProperty(value = "驳回原因")
private String refusalReason;
@ApiModelProperty(value = "申请人姓名")
private String applyUserName;
}

View File

@ -0,0 +1,56 @@
package com.zcloud.primeport.dto.clientobject;
import com.alibaba.cola.dto.ClientObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class MkmjGateScreenCO extends ClientObject {
@ApiModelProperty(value = "主键")
private Long id;
@ApiModelProperty(value = "口门区域id")
private Long mkmjId;
@ApiModelProperty(value = "口门名称")
private String mkmjName;
@ApiModelProperty(value = "通道id")
private Long passageId;
@ApiModelProperty(value = "通道名称")
private String passageName;
@ApiModelProperty(value = "闸机标识")
private String gateNumber;
@ApiModelProperty(value = "闸机名称")
private String gateName;
@ApiModelProperty(value = "闸机类型")
private String gateType;
@ApiModelProperty(value = "闸机类型名称")
private String gateTypeName;
@ApiModelProperty(value = "闸机状态")
private Integer gateStatus;
@ApiModelProperty(value = "闸机类别")
private String gateCategory;
@ApiModelProperty(value = "闸机类别名称")
private String gateCategoryName;
@ApiModelProperty(value = "闸机型号")
private String gateModel;
@ApiModelProperty(value = "闸机位置")
private String gatePosition;
@ApiModelProperty(value = "经度")
private String longitude;
@ApiModelProperty(value = "纬度")
private String latitude;
}

View File

@ -0,0 +1,47 @@
package com.zcloud.primeport.dto.clientobject;
import com.alibaba.cola.dto.ClientObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class MkmjScreenCO extends ClientObject {
@ApiModelProperty(value = "主键")
private Long id;
@ApiModelProperty(value = "口门名称")
private String mkmjName;
@ApiModelProperty(value = "所属港区")
private String hgAuthArea;
@ApiModelProperty(value = "所属港区名称")
private String hgAuthAreaName;
@ApiModelProperty(value = "口门级别")
private Integer mkmjLevel;
@ApiModelProperty(value = "口门类型")
private String mkmjType;
@ApiModelProperty(value = "口门类型名称")
private String mkmjTypeName;
@ApiModelProperty(value = "口门状态")
private Integer mkmjStatus;
@ApiModelProperty(value = "经度")
private String longitude;
@ApiModelProperty(value = "纬度")
private String latitude;
@ApiModelProperty(value = "封闭区域id")
private Long closedAreaId;
@ApiModelProperty(value = "封闭区域名称")
private String closedAreaName;
@ApiModelProperty(value = "管辖单位id")
private Long jurisdictionalCorpId;
@ApiModelProperty(value = "企业id")
private Long mkmjAreaJurisdictionalCorpId;
@ApiModelProperty(value = "管辖单位名称")
private String jurisdictionalCorpName;
@ApiModelProperty(value = "进出类型")
private Integer outDirectionType;
@ApiModelProperty(value = "备注")
private String remarks;
@ApiModelProperty(value = "摄像头数量")
private Integer videoCount;
@ApiModelProperty(value = "通道数量")
private Integer passageCount;
}

View File

@ -0,0 +1,23 @@
package com.zcloud.primeport.dto.clientobject;
import com.alibaba.cola.dto.ClientObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class MkmjStatisticsCO extends ClientObject {
@ApiModelProperty(value = "港区编码")
private String areaType;
@ApiModelProperty(value = "港区名称")
private String areaName;
@ApiModelProperty(value = "口门数")
private Integer mkmjCount;
@ApiModelProperty(value = "车闸机数")
private Integer carPassageCount;
@ApiModelProperty(value = "人闸机数")
private Integer personPassageCount;
}

View File

@ -0,0 +1,50 @@
package com.zcloud.primeport.dto.clientobject;
import com.alibaba.cola.dto.ClientObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class VideoScreenCO extends ClientObject {
@ApiModelProperty(value = "主键")
private Long id;
@ApiModelProperty(value = "外键id")
private Long foreignId;
@ApiModelProperty(value = "设备类型")
private Integer deviceType;
@ApiModelProperty(value = "摄像头资源id")
private String videoResourceId;
@ApiModelProperty(value = "摄像头名称")
private String videoResourceName;
@ApiModelProperty(value = "摄像头编码")
private String videoResourceCode;
@ApiModelProperty(value = "摄像头类型")
private Integer videoType;
@ApiModelProperty(value = "经度")
private String longitude;
@ApiModelProperty(value = "纬度")
private String latitude;
@ApiModelProperty(value = "是否在线")
private String isOnline;
@ApiModelProperty(value = "摄像头来源")
private String type;
@ApiModelProperty(value = "口门名称")
private String mkmjName;
@ApiModelProperty(value = "闸机名称")
private String gateName;
@ApiModelProperty(value = "企业id")
private Long corpinfoId;
}

View File

@ -0,0 +1,16 @@
package com.zcloud.primeport.persistence.dataobject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class ClosedAreaCorpStatDO {
@ApiModelProperty(value = "封闭区域数")
private Integer closedAreaCount;
@ApiModelProperty(value = "车行通道数")
private Integer carPassageCount;
@ApiModelProperty(value = "人行通道数")
private Integer personPassageCount;
}

View File

@ -0,0 +1,22 @@
package com.zcloud.primeport.persistence.dataobject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class MkmjStatisticsDO {
@ApiModelProperty(value = "港区编码")
private String areaType;
@ApiModelProperty(value = "港区名称")
private String areaName;
@ApiModelProperty(value = "口门数")
private Integer mkmjCount;
@ApiModelProperty(value = "车闸机数")
private Integer carPassageCount;
@ApiModelProperty(value = "人闸机数")
private Integer personPassageCount;
}

View File

@ -1,51 +1,51 @@
package com.zcloud.primeport.persistence.dataobject;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
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;
/**
* web-infrastructure
*
* @Author makejava
* @Date 2026-03-05 11:33:30
*/
@Data
@TableName("video")
@EqualsAndHashCode(callSuper = true)
public class VideoDO extends BaseDO {
//口门/闸机id 外键id
@ApiModelProperty(value = "口门/闸机id 外键id ")
@ApiModelProperty(value = "口门/闸机id 外键id")
private Long foreignId;
//设备类型1-口门 2-闸机)
@ApiModelProperty(value = "设备类型1-口门 2-闸机)")
@ApiModelProperty(value = "设备类型 1-口门 2-闸机")
private Integer deviceType;
//摄像头id
@ApiModelProperty(value = "摄像头id")
@ApiModelProperty(value = "摄像头资源id")
private String videoResourceId;
//摄像头名称
@ApiModelProperty(value = "摄像头名称")
private String videoResourceName;
private String videoResourceCode;
//摄像头类型1-移动 2-平台)
@ApiModelProperty(value = "摄像头类型1-移动 2-平台)")
private Integer videoType;
//经度
@ApiModelProperty(value = "经度")
private String longitude;
//纬度
@ApiModelProperty(value = "纬度")
private String latitude;
@ApiModelProperty(value = "是否在线")
@TableField(exist = false)
private String isOnline;
@ApiModelProperty(value = "摄像头来源(yd移动/gd固定)")
@TableField(exist = false)
private String type;
}
@TableField(exist = false)
private String mkmjName;
@TableField(exist = false)
private String gateName;
@TableField(exist = false)
private Long corpinfoId;
}

View File

@ -27,6 +27,8 @@ public interface ClosedAreaCarApplyMapper extends BaseMapper<ClosedAreaCarApplyD
IPage<ClosedAreaCarApplyDO> listPage(Page<Map<String, Object>> page, @Param("params") Map<String, Object> params, String menuPerms);
IPage<ClosedAreaCarApplyDO> screenList(Page<Map<String, Object>> page, @Param("params") Map<String, Object> params);
List<TwoLevelCar> getFgsCarToDay(String licenceNo);
List<TwoLevelCar> dockTmpCarLevelTwo(String licenceNo);

View File

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.datascope.annotation.DataScope;
import com.jjb.saas.framework.datascope.annotation.DataScopes;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaCountDO;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaCorpStatDO;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
@ -27,6 +28,8 @@ public interface ClosedAreaMapper extends BaseMapper<ClosedAreaDO> {
List<ClosedAreaCountDO> listCount(@Param("params") Map<String,Object> params);
ClosedAreaCorpStatDO corpStat(@Param("params") Map<String, Object> params);
List<ClosedAreaDO> getCountByHgAuthArea();
IPage<ClosedAreaDO> listPage(IPage<ClosedAreaDO> iPage, @Param("params") Map<String, Object> params);

View File

@ -31,6 +31,8 @@ public interface ClosedAreaPersonApplyMapper extends BaseMapper<ClosedAreaPerson
IPage<ClosedAreaPersonApplyDO> listPage(Page<Map<String, Object>> page, @Param("params") Map<String, Object> params, String menuPerms);
IPage<ClosedAreaPersonApplyDO> screenList(Page<Map<String, Object>> page, @Param("params") Map<String, Object> params);
List<TwoLevelUser> getDockAuthInfoById(Long applyId);
List<ClosedAreaPersonApplyDeptDO> deptList();

View File

@ -6,8 +6,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jjb.saas.framework.datascope.annotation.DataScope;
import com.jjb.saas.framework.datascope.annotation.DataScopes;
import com.zcloud.primeport.persistence.dataobject.MkmjDO;
import com.zcloud.primeport.persistence.dataobject.MkmjStatisticsDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;
@ -24,5 +26,7 @@ import org.apache.ibatis.annotations.Param;
public interface MkmjMapper extends BaseMapper<MkmjDO> {
IPage<MkmjDO> listPage(Page<Map<String, Object>> page, @Param("params") Map<String, Object> params, String menuPerms);
List<MkmjStatisticsDO> listStatistics();
}

View File

@ -19,4 +19,6 @@ import java.util.Map;
public interface VideoMapper extends BaseMapper<VideoDO> {
IPage<VideoDO> listPageWithOnline(Page<Map<String, Object>> page, @Param("params") Map<String, Object> params);
IPage<VideoDO> listScreenPage(Page<Map<String, Object>> page, @Param("params") Map<String, Object> params);
}

View File

@ -17,6 +17,8 @@ import java.util.Map;
public interface ClosedAreaCarApplyRepository extends BaseRepository<ClosedAreaCarApplyDO> {
PageResponse<ClosedAreaCarApplyDO> listPage(Map<String, Object> params);
PageResponse<ClosedAreaCarApplyDO> screenList(Map<String, Object> params);
List<TwoLevelCar> getFgsCarToDay(String licenceNo);
List<TwoLevelCar> dockTmpCarLevelTwo(String licenceNo);

View File

@ -25,6 +25,8 @@ public interface ClosedAreaPersonApplyRepository extends BaseRepository<ClosedAr
PageResponse<UserDto> getCorpUserList(Map<String, Object> params);
PageResponse<ClosedAreaPersonApplyDO> screenList(Map<String, Object> params);
List<TwoLevelUser> getDockAuthInfoById(Long applyId);
List<TwoLevelUser> getDockAuthTmpInfoById(Long applyId);

View File

@ -1,6 +1,7 @@
package com.zcloud.primeport.persistence.repository;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaCountDO;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaCorpStatDO;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaDO;
import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.repo.BaseRepository;
@ -18,6 +19,8 @@ public interface ClosedAreaRepository extends BaseRepository<ClosedAreaDO> {
List<ClosedAreaCountDO> listCount(Map<String,Object> params);
ClosedAreaCorpStatDO corpStat(Map<String, Object> params);
List<ClosedAreaDO> getCountByHgAuthArea();
}

View File

@ -3,12 +3,16 @@ 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.MkmjDO;
import com.zcloud.primeport.persistence.dataobject.MkmjStatisticsDO;
import java.util.List;
import java.util.Map;
public interface MkmjRepository extends BaseRepository<MkmjDO> {
PageResponse<MkmjDO> listPage(Map<String, Object> params);
Boolean checkName(String mkmjName, Long excludeId);
List<MkmjStatisticsDO> listStatistics();
}

View File

@ -10,6 +10,8 @@ public interface VideoRepository extends BaseRepository<VideoDO> {
PageResponse<VideoDO> listPageWithOnline(Map<String, Object> params);
PageResponse<VideoDO> listScreenPage(Map<String, Object> params);
Integer countByForeignIdAndDeviceType(Long foreignId, Integer deviceType);
Integer countByForeignId(Long foreignId);

View File

@ -41,6 +41,15 @@ public class ClosedAreaCarApplyRepositoryImpl extends BaseRepositoryImpl<ClosedA
return PageHelper.pageToResponse(result, result.getRecords());
}
@Override
public PageResponse<ClosedAreaCarApplyDO> screenList(Map<String, Object> params) {
Page<Map<String, Object>> page = new Page<>(Integer.parseInt(params.get("pageIndex").toString()),
Integer.parseInt(params.get("pageSize").toString()));
page.setOptimizeJoinOfCountSql(false);
IPage<ClosedAreaCarApplyDO> result = closedAreaCarApplyMapper.screenList(page, params);
return PageHelper.pageToResponse(result, result.getRecords());
}
@Override
public List<TwoLevelCar> getFgsCarToDay(String licenceNo) {
return closedAreaCarApplyMapper.getFgsCarToDay(licenceNo);

View File

@ -64,6 +64,15 @@ public class ClosedAreaPersonApplyRepositoryImpl extends BaseRepositoryImpl<Clos
return PageHelper.pageToResponse(result, result.getRecords());
}
@Override
public PageResponse<ClosedAreaPersonApplyDO> screenList(Map<String, Object> params) {
Page<Map<String, Object>> page = new Page<>(Integer.parseInt(params.get("pageIndex").toString()),
Integer.parseInt(params.get("pageSize").toString()));
page.setOptimizeJoinOfCountSql(false);
IPage<ClosedAreaPersonApplyDO> result = closedAreaPersonApplyMapper.screenList(page, params);
return PageHelper.pageToResponse(result, result.getRecords());
}
@Override
public List<TwoLevelUser> getDockAuthInfoById(Long applyId) {
return closedAreaPersonApplyMapper.getDockAuthInfoById(applyId);

View File

@ -1,6 +1,7 @@
package com.zcloud.primeport.persistence.repository.impl;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaCountDO;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaCorpStatDO;
import com.zcloud.primeport.persistence.dataobject.ClosedAreaDO;
import com.zcloud.primeport.persistence.mapper.ClosedAreaMapper;
import com.zcloud.primeport.persistence.repository.ClosedAreaRepository;
@ -42,6 +43,11 @@ public class ClosedAreaRepositoryImpl extends BaseRepositoryImpl<ClosedAreaMappe
return closedAreaMapper.listCount(params);
}
@Override
public ClosedAreaCorpStatDO corpStat(Map<String, Object> params) {
return closedAreaMapper.corpStat(params);
}
@Override
public List<ClosedAreaDO> getCountByHgAuthArea() {
return closedAreaMapper.getCountByHgAuthArea();

View File

@ -10,11 +10,13 @@ import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.utils.Query;
import com.zcloud.primeport.domain.enums.MenuEnum;
import com.zcloud.primeport.persistence.dataobject.MkmjDO;
import com.zcloud.primeport.persistence.dataobject.MkmjStatisticsDO;
import com.zcloud.primeport.persistence.mapper.MkmjMapper;
import com.zcloud.primeport.persistence.repository.MkmjRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
@Service
@ -44,6 +46,11 @@ public class MkmjRepositoryImpl extends BaseRepositoryImpl<MkmjMapper, MkmjDO> i
}
return mkmjMapper.selectCount(queryWrapper) == 0;
}
@Override
public List<MkmjStatisticsDO> listStatistics() {
return mkmjMapper.listStatistics();
}
}

View File

@ -29,6 +29,14 @@ public class VideoRepositoryImpl extends BaseRepositoryImpl<VideoMapper, VideoDO
return PageHelper.pageToResponse(result, result.getRecords());
}
@Override
public PageResponse<VideoDO> listScreenPage(Map<String, Object> params) {
Page<Map<String, Object>> page = new Page<>(Integer.parseInt(params.get("pageIndex").toString()), Integer.parseInt(params.get("pageSize").toString()));
page.setOptimizeJoinOfCountSql(false);
IPage<VideoDO> result = videoMapper.listScreenPage(page, params);
return PageHelper.pageToResponse(result, result.getRecords());
}
@Override
public PageResponse<VideoDO> listPage(Map<String, Object> params) {
IPage<VideoDO> iPage = new Query<VideoDO>().getPage(params);

View File

@ -50,6 +50,17 @@
</if>
order by c.id desc
</select>
<select id="screenList" resultType="com.zcloud.primeport.persistence.dataobject.ClosedAreaCarApplyDO">
select c.*, c.create_name apply_user_name
from closed_area_car_apply c
left join closed_area ca on c.closed_area_id = ca.id and ca.delete_enum = 'FALSE'
where c.delete_enum = 'FALSE'
and c.audit_flag = 2
<if test="params.corpinfoId != null">
and ca.jurisdictional_corp_id = #{params.corpinfoId}
</if>
order by c.id desc
</select>
<select id="getFgsCarToDay" resultType="com.zcloud.primeport.plan.mjDevice.dto.TwoLevelCar">
SELECT
caca.licence_no,

View File

@ -105,5 +105,19 @@
c.id
</select>
<select id="corpStat" resultType="com.zcloud.primeport.persistence.dataobject.ClosedAreaCorpStatDO">
SELECT
IFNULL(COUNT(DISTINCT ca.id), 0) AS closed_area_count,
IFNULL(COUNT(DISTINCT CASE WHEN mp.passage_type = 'HGKM_MKMJ_PASSAGE_TYPE_CAR' THEN mp.id END), 0) AS car_passage_count,
IFNULL(COUNT(DISTINCT CASE WHEN mp.passage_type = 'HGKM_MKMJ_PASSAGE_TYPE_CAR_R' THEN mp.id END), 0) AS person_passage_count
FROM closed_area ca
LEFT JOIN mkmj m ON ca.id = m.closed_area_id AND m.delete_enum = 'FALSE'
LEFT JOIN mkmj_passage mp ON m.id = mp.mkmj_id AND mp.delete_enum = 'FALSE'
WHERE ca.delete_enum = 'FALSE'
<if test="params.corpinfoId != null">
AND ca.jurisdictional_corp_id = #{params.corpinfoId}
</if>
</select>
</mapper>

View File

@ -111,6 +111,18 @@
order by c.id desc
</select>
<select id="screenList" resultType="com.zcloud.primeport.persistence.dataobject.ClosedAreaPersonApplyDO">
select c.*, c.create_name apply_user_name
from closed_area_person_apply c
left join closed_area ca on c.closed_area_id = ca.id and ca.delete_enum = 'FALSE'
where c.delete_enum = 'FALSE'
and c.audit_flag = 2
<if test="params.corpinfoId != null">
and ca.jurisdictional_corp_id = #{params.corpinfoId}
</if>
order by c.id desc
</select>
<select id="deptList" resultType="com.zcloud.primeport.persistence.dataobject.ClosedAreaPersonApplyDeptDO">
SELECT DISTINCT
apply_person_corp_id,

View File

@ -50,8 +50,30 @@
<if test="params.mkmjStatus != null">
AND m.mkmj_status = #{params.mkmjStatus}
</if>
<if test="params.corpId != null">
AND m.mkmj_area_jurisdictional_corp_id = #{params.corpId}
</if>
GROUP BY m.id
ORDER BY m.mkmj_status asc,m.id DESC
</select>
<select id="listStatistics" resultType="com.zcloud.primeport.persistence.dataobject.MkmjStatisticsDO">
SELECT
m.hg_auth_area AS areaType,
m.hg_auth_area_name AS areaName,
COUNT(DISTINCT m.id) AS mkmjCount,
COUNT(DISTINCT CASE WHEN p.passage_type IN ('HGKM_MKMJ_CKM') THEN p.id END) AS carPassageCount,
COUNT(DISTINCT CASE WHEN p.passage_type IN ('HGKM_MKMJ_CKM_R') THEN p.id END) AS personPassageCount
FROM mkmj m
LEFT JOIN mkmj_passage p ON m.id = p.mkmj_id AND p.delete_enum = 'false'
WHERE m.delete_enum = 'false'
AND m.hg_auth_area IN ('QHD_GQ_DGQ', 'QHD_GQ_XGQ')
GROUP BY m.hg_auth_area, m.hg_auth_area_name
ORDER BY CASE m.hg_auth_area
WHEN 'QHD_GQ_DGQ' THEN 1
WHEN 'QHD_GQ_XGQ' THEN 2
ELSE 3
END
</select>
</mapper>

View File

@ -52,6 +52,9 @@
<if test="params.gateStatus != null">
AND g.gate_status = #{params.gateStatus}
</if>
<if test="params.corpinfoId != null">
AND m.mkmj_area_jurisdictional_corp_id = #{params.corpinfoId}
</if>
GROUP BY
g.id
ORDER BY g.id DESC

View File

@ -26,5 +26,28 @@
ORDER BY v.create_time DESC
</select>
<select id="listScreenPage" resultType="com.zcloud.primeport.persistence.dataobject.VideoDO">
SELECT
v.*,
vv.is_online,
vv.type,
m.mkmj_name AS mkmjName,
g.gate_name AS gateName,
COALESCE(m.mkmj_area_jurisdictional_corp_id, gm.mkmj_area_jurisdictional_corp_id) AS corpinfoId
FROM video v
LEFT JOIN vi_video vv ON v.video_resource_id = vv.id
LEFT JOIN mkmj m ON v.foreign_id = m.id AND m.delete_enum = 'false'
LEFT JOIN mkmj_gate g ON v.foreign_id = g.id AND g.delete_enum = 'false'
LEFT JOIN mkmj gm ON g.mkmj_id = gm.id AND gm.delete_enum = 'false'
WHERE v.delete_enum = 'FALSE'
<if test="params.corpinfoId != null">
AND (
m.mkmj_area_jurisdictional_corp_id = #{params.corpinfoId}
OR gm.mkmj_area_jurisdictional_corp_id = #{params.corpinfoId}
)
</if>
ORDER BY v.create_time DESC
</select>
</mapper>

View File

@ -1,56 +1,57 @@
package com.zcloud.primeport.dahua.config;
import com.zcloud.primeport.dahua.client.DaHuaApiClient;
import org.junit.jupiter.api.Test;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.Import;
import javax.annotation.Resource;
import static org.assertj.core.api.Assertions.assertThat;
@SpringBootTest(classes = DaHuaAutoConfigTest.TestConfig.class)
public class DaHuaAutoConfigTest {
@Resource
private DaHuaApiClient daHuaApiClient;
@Resource
private DaHuaProperties daHuaProperties;
@Test
public void testDaHuaApiClientBeanExists() {
assertThat(daHuaApiClient).isNotNull();
System.out.println("✅ DaHuaApiClient Bean 注入成功");
}
@Test
public void testDaHuaPropertiesBinding() {
assertThat(daHuaProperties.getHost()).isEqualTo("123.183.159.35");
assertThat(daHuaProperties.getClientId()).isEqualTo("123.183.159.35");
assertThat(daHuaProperties.getClientSecret()).isEqualTo("4edfdcd2-67e6-41db-a1ae-b98d47a70266");
assertThat(daHuaProperties.getUsername()).isEqualTo("system");
assertThat(daHuaProperties.getPassword()).isEqualTo("zcloud88888");
assertThat(daHuaProperties.isHttp()).isFalse();
assertThat(daHuaProperties.getPort()).isEqualTo("4443");
System.out.println("✅ DaHuaProperties 配置绑定成功");
System.out.println(" host: " + daHuaProperties.getHost());
System.out.println(" clientId: " + daHuaProperties.getClientId());
System.out.println(" username: " + daHuaProperties.getUsername());
}
@Test
public void testOauthConfigInitialized() {
assertThat(daHuaApiClient.getOauthConfig()).isNotNull();
// OauthConfigUserPwdInfo 是SDK内部类不暴露getHost配置绑定已通过DaHuaProperties验证
System.out.println("✅ OauthConfigUserPwdInfo 初始化成功");
System.out.println(" host: " + daHuaProperties.getHost());
System.out.println(" username: " + daHuaProperties.getUsername());
}
@EnableConfigurationProperties(DaHuaProperties.class)
@Import(DaHuaAutoConfig.class)
public static class TestConfig {
}
}
//package com.zcloud.primeport.dahua.config;
//
//import com.zcloud.primeport.dahua.client.DaHuaApiClient;
//import org.junit.jupiter.api.Test;
//import org.springframework.boot.context.properties.EnableConfigurationProperties;
//import org.springframework.boot.test.context.SpringBootTest;
//import org.springframework.context.annotation.Import;
//
//import javax.annotation.Resource;
//
//import static org.assertj.core.api.Assertions.assertThat;
//
////@SpringBootTest(classes = DaHuaAutoConfigTest.TestConfig.class)
//public class DaHuaAutoConfigTest {
//
// @Resource
// private DaHuaApiClient daHuaApiClient;
//
// @Resource
// private DaHuaProperties daHuaProperties;
//
// @Test
// public void testDaHuaApiClientBeanExists() {
// assertThat(daHuaApiClient).isNotNull();
// System.out.println("✅ DaHuaApiClient Bean 注入成功");
// }
//
//
// @Test
// public void testDaHuaPropertiesBinding() {
// assertThat(daHuaProperties.getHost()).isEqualTo("123.183.159.35");
// assertThat(daHuaProperties.getClientId()).isEqualTo("123.183.159.35");
// assertThat(daHuaProperties.getClientSecret()).isEqualTo("4edfdcd2-67e6-41db-a1ae-b98d47a70266");
// assertThat(daHuaProperties.getUsername()).isEqualTo("system");
// assertThat(daHuaProperties.getPassword()).isEqualTo("zcloud88888");
// assertThat(daHuaProperties.isHttp()).isFalse();
// assertThat(daHuaProperties.getPort()).isEqualTo("4443");
// System.out.println("✅ DaHuaProperties 配置绑定成功");
// System.out.println(" host: " + daHuaProperties.getHost());
// System.out.println(" clientId: " + daHuaProperties.getClientId());
// System.out.println(" username: " + daHuaProperties.getUsername());
// }
//
// @Test
// public void testOauthConfigInitialized() {
// assertThat(daHuaApiClient.getOauthConfig()).isNotNull();
// // OauthConfigUserPwdInfo 是SDK内部类不暴露getHost配置绑定已通过DaHuaProperties验证
// System.out.println("✅ OauthConfigUserPwdInfo 初始化成功");
// System.out.println(" host: " + daHuaProperties.getHost());
// System.out.println(" username: " + daHuaProperties.getUsername());
// }
//
// @EnableConfigurationProperties(DaHuaProperties.class)
// @Import(DaHuaAutoConfig.class)
// public static class TestConfig {
// }
//}