0701 - bug修改
parent
3c49092b13
commit
5620914fb1
|
|
@ -3,6 +3,7 @@ package com.zcloud.primeport.web.close;
|
||||||
|
|
||||||
import com.zcloud.primeport.api.ClosedAreaServiceI;
|
import com.zcloud.primeport.api.ClosedAreaServiceI;
|
||||||
import com.zcloud.primeport.dto.ClosedAreaAddCmd;
|
import com.zcloud.primeport.dto.ClosedAreaAddCmd;
|
||||||
|
import com.zcloud.primeport.dto.ClosedAreaCountCmd;
|
||||||
import com.zcloud.primeport.dto.ClosedAreaPageQry;
|
import com.zcloud.primeport.dto.ClosedAreaPageQry;
|
||||||
import com.zcloud.primeport.dto.ClosedAreaUpdateCmd;
|
import com.zcloud.primeport.dto.ClosedAreaUpdateCmd;
|
||||||
import com.zcloud.primeport.dto.clientobject.ClosedAreaCO;
|
import com.zcloud.primeport.dto.clientobject.ClosedAreaCO;
|
||||||
|
|
@ -98,5 +99,11 @@ public class ClosedAreaController {
|
||||||
closedAreaService.edit(closedAreaUpdateCmd);
|
closedAreaService.edit(closedAreaUpdateCmd);
|
||||||
return SingleResponse.buildSuccess();
|
return SingleResponse.buildSuccess();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("区域人员和车辆统计")
|
||||||
|
@PostMapping("/count")
|
||||||
|
public MultiResponse count(@RequestBody ClosedAreaCountCmd closedAreaCountCmd) {
|
||||||
|
return closedAreaService.count(closedAreaCountCmd);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
package com.zcloud.primeport.command.convertor;
|
||||||
|
|
||||||
|
import com.zcloud.primeport.dto.clientobject.ClosedAreaCO;
|
||||||
|
import com.zcloud.primeport.dto.clientobject.ClosedAreaCountCO;
|
||||||
|
import com.zcloud.primeport.persistence.dataobject.ClosedAreaCountDO;
|
||||||
|
import com.zcloud.primeport.persistence.dataobject.ClosedAreaDO;
|
||||||
|
import org.mapstruct.Mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-app
|
||||||
|
* @Author dearLin
|
||||||
|
* @Date 2026-03-19 10:27:50
|
||||||
|
*/
|
||||||
|
@Mapper(componentModel = "spring")
|
||||||
|
public interface ClosedAreaCountCoConvertor {
|
||||||
|
/**
|
||||||
|
* @param closedAreaCountDOs
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<ClosedAreaCountCO> converDOsToCOs(List<ClosedAreaCountDO> closedAreaCountDOs);
|
||||||
|
|
||||||
|
ClosedAreaCountCO converDOToCO(ClosedAreaCountDO closedAreaCountDO);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,78 @@
|
||||||
|
package com.zcloud.primeport.command.query;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.MultiResponse;
|
||||||
|
import com.alibaba.cola.dto.PageResponse;
|
||||||
|
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.ClosedAreaCountCmd;
|
||||||
|
import com.zcloud.primeport.dto.ClosedAreaPageQry;
|
||||||
|
import com.zcloud.primeport.dto.clientobject.ClosedAreaCO;
|
||||||
|
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.repository.ClosedAreaRepository;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
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));
|
||||||
|
}
|
||||||
|
return MultiResponse.of(examCenterCOS);
|
||||||
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -5,14 +5,17 @@ import com.zcloud.primeport.api.ClosedAreaServiceI;
|
||||||
import com.zcloud.primeport.command.ClosedAreaAddExe;
|
import com.zcloud.primeport.command.ClosedAreaAddExe;
|
||||||
import com.zcloud.primeport.command.ClosedAreaRemoveExe;
|
import com.zcloud.primeport.command.ClosedAreaRemoveExe;
|
||||||
import com.zcloud.primeport.command.ClosedAreaUpdateExe;
|
import com.zcloud.primeport.command.ClosedAreaUpdateExe;
|
||||||
|
import com.zcloud.primeport.command.query.ClosedAreaCountExe;
|
||||||
import com.zcloud.primeport.command.query.ClosedAreaQueryExe;
|
import com.zcloud.primeport.command.query.ClosedAreaQueryExe;
|
||||||
import com.zcloud.primeport.dto.ClosedAreaAddCmd;
|
import com.zcloud.primeport.dto.ClosedAreaAddCmd;
|
||||||
|
import com.zcloud.primeport.dto.ClosedAreaCountCmd;
|
||||||
import com.zcloud.primeport.dto.ClosedAreaPageQry;
|
import com.zcloud.primeport.dto.ClosedAreaPageQry;
|
||||||
import com.zcloud.primeport.dto.ClosedAreaUpdateCmd;
|
import com.zcloud.primeport.dto.ClosedAreaUpdateCmd;
|
||||||
import com.zcloud.primeport.dto.clientobject.ClosedAreaCO;
|
import com.zcloud.primeport.dto.clientobject.ClosedAreaCO;
|
||||||
|
|
||||||
import com.alibaba.cola.dto.PageResponse;
|
import com.alibaba.cola.dto.PageResponse;
|
||||||
import com.alibaba.cola.dto.SingleResponse;
|
import com.alibaba.cola.dto.SingleResponse;
|
||||||
|
import com.zcloud.primeport.dto.clientobject.ClosedAreaCountCO;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
|
@ -32,6 +35,7 @@ public class ClosedAreaServiceImpl implements ClosedAreaServiceI {
|
||||||
private final ClosedAreaUpdateExe closedAreaUpdateExe;
|
private final ClosedAreaUpdateExe closedAreaUpdateExe;
|
||||||
private final ClosedAreaRemoveExe closedAreaRemoveExe;
|
private final ClosedAreaRemoveExe closedAreaRemoveExe;
|
||||||
private final ClosedAreaQueryExe closedAreaQueryExe;
|
private final ClosedAreaQueryExe closedAreaQueryExe;
|
||||||
|
private final ClosedAreaCountExe closedAreaCountExe;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ClosedAreaCO queryById(Long id) {
|
public ClosedAreaCO queryById(Long id) {
|
||||||
|
|
@ -56,6 +60,12 @@ public class ClosedAreaServiceImpl implements ClosedAreaServiceI {
|
||||||
closedAreaUpdateExe.execute(closedAreaUpdateCmd);
|
closedAreaUpdateExe.execute(closedAreaUpdateCmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MultiResponse<ClosedAreaCountCO> count(ClosedAreaCountCmd cmd) {
|
||||||
|
return closedAreaCountExe.execute(cmd);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void remove(Long id) {
|
public void remove(Long id) {
|
||||||
closedAreaRemoveExe.execute(id);
|
closedAreaRemoveExe.execute(id);
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,14 @@ package com.zcloud.primeport.api;
|
||||||
|
|
||||||
import com.alibaba.cola.dto.MultiResponse;
|
import com.alibaba.cola.dto.MultiResponse;
|
||||||
import com.zcloud.primeport.dto.ClosedAreaAddCmd;
|
import com.zcloud.primeport.dto.ClosedAreaAddCmd;
|
||||||
|
import com.zcloud.primeport.dto.ClosedAreaCountCmd;
|
||||||
import com.zcloud.primeport.dto.ClosedAreaPageQry;
|
import com.zcloud.primeport.dto.ClosedAreaPageQry;
|
||||||
import com.zcloud.primeport.dto.ClosedAreaUpdateCmd;
|
import com.zcloud.primeport.dto.ClosedAreaUpdateCmd;
|
||||||
import com.zcloud.primeport.dto.clientobject.ClosedAreaCO;
|
import com.zcloud.primeport.dto.clientobject.ClosedAreaCO;
|
||||||
|
|
||||||
import com.alibaba.cola.dto.PageResponse;
|
import com.alibaba.cola.dto.PageResponse;
|
||||||
import com.alibaba.cola.dto.SingleResponse;
|
import com.alibaba.cola.dto.SingleResponse;
|
||||||
|
import com.zcloud.primeport.dto.clientobject.ClosedAreaCountCO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* web-client
|
* web-client
|
||||||
|
|
@ -23,6 +25,8 @@ public interface ClosedAreaServiceI {
|
||||||
|
|
||||||
void edit(ClosedAreaUpdateCmd cmd);
|
void edit(ClosedAreaUpdateCmd cmd);
|
||||||
|
|
||||||
|
MultiResponse<ClosedAreaCountCO> count(ClosedAreaCountCmd cmd);
|
||||||
|
|
||||||
void remove(Long id);
|
void remove(Long id);
|
||||||
|
|
||||||
void removeBatch(Long[] ids);
|
void removeBatch(Long[] ids);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
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.NotNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-client
|
||||||
|
* @Author dearLin
|
||||||
|
* @Date 2026-03-19 10:27:51
|
||||||
|
*/
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class ClosedAreaCountCmd extends Command {
|
||||||
|
@ApiModelProperty(value = "公司id", name = "corpId", required = true)
|
||||||
|
private Long corpId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "封闭区域名称", name = "closedAreaName", required = true)
|
||||||
|
private String closedAreaName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "父节点ID", name = "parentId", required = true)
|
||||||
|
private Long parentId;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,53 @@
|
||||||
|
package com.zcloud.primeport.dto.clientobject;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.ClientObject;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-client
|
||||||
|
*
|
||||||
|
* @Author dearLin
|
||||||
|
* @Date 2026-03-19 10:27:50
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ClosedAreaCountCO extends ClientObject {
|
||||||
|
//主键
|
||||||
|
@ApiModelProperty(value = "主键")
|
||||||
|
private Long id;
|
||||||
|
//父id
|
||||||
|
@ApiModelProperty(value = "父id")
|
||||||
|
private Long parentId;
|
||||||
|
@ApiModelProperty(value = "所属港区")
|
||||||
|
private String hgAuthArea;
|
||||||
|
@ApiModelProperty(value = "所属港区名称")
|
||||||
|
private String hgAuthAreaName;
|
||||||
|
//封闭区域名称
|
||||||
|
@ApiModelProperty(value = "封闭区域名称")
|
||||||
|
private String closedAreaName;
|
||||||
|
//区域类型
|
||||||
|
@ApiModelProperty(value = "区域类型")
|
||||||
|
private String closedAreaType;
|
||||||
|
//区域类型名称
|
||||||
|
@ApiModelProperty(value = "区域类型名称")
|
||||||
|
private String closedAreaTypeName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "封闭区域数")
|
||||||
|
private Integer totalAreaCount;
|
||||||
|
@ApiModelProperty(value = "管辖单位数")
|
||||||
|
private Integer totalCorpCount;
|
||||||
|
@ApiModelProperty(value = "是否有子集,1有2没有")
|
||||||
|
private Integer hasChild;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "人员数")
|
||||||
|
private Integer personCount;
|
||||||
|
@ApiModelProperty(value = "车辆数")
|
||||||
|
private Integer carCount;
|
||||||
|
|
||||||
|
@ApiModelProperty
|
||||||
|
private List<ClosedAreaCountCO> children;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,54 @@
|
||||||
|
package com.zcloud.primeport.persistence.dataobject;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
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-03-19 10:27:50
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("closed_area")
|
||||||
|
@NoArgsConstructor
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
public class ClosedAreaCountDO extends BaseDO {
|
||||||
|
//父id
|
||||||
|
@ApiModelProperty(value = "父id")
|
||||||
|
private Long parentId;
|
||||||
|
//封闭区域名称
|
||||||
|
@ApiModelProperty(value = "所属港区")
|
||||||
|
private String hgAuthArea;
|
||||||
|
@ApiModelProperty(value = "所属港区名称")
|
||||||
|
private String hgAuthAreaName;
|
||||||
|
@ApiModelProperty(value = "封闭区域名称")
|
||||||
|
private String closedAreaName;
|
||||||
|
//区域类型
|
||||||
|
@ApiModelProperty(value = "区域类型")
|
||||||
|
private String closedAreaType;
|
||||||
|
//区域类型名称
|
||||||
|
@ApiModelProperty(value = "区域类型名称")
|
||||||
|
private String closedAreaTypeName;
|
||||||
|
//管辖单位名id
|
||||||
|
@ApiModelProperty(value = "管辖单位名id")
|
||||||
|
private Long jurisdictionalCorpId;
|
||||||
|
//管辖单位名称
|
||||||
|
@ApiModelProperty(value = "管辖单位名称")
|
||||||
|
private String jurisdictionalCorpName;
|
||||||
|
//区域经纬度
|
||||||
|
@ApiModelProperty(value = "区域经纬度")
|
||||||
|
private String location;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "人员数")
|
||||||
|
@TableField(exist = false)
|
||||||
|
private Integer personCount;
|
||||||
|
@ApiModelProperty(value = "车辆数")
|
||||||
|
@TableField(exist = false)
|
||||||
|
private Integer carCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.zcloud.primeport.persistence.mapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.jjb.saas.framework.datascope.annotation.DataScope;
|
import com.jjb.saas.framework.datascope.annotation.DataScope;
|
||||||
import com.jjb.saas.framework.datascope.annotation.DataScopes;
|
import com.jjb.saas.framework.datascope.annotation.DataScopes;
|
||||||
|
import com.zcloud.primeport.persistence.dataobject.ClosedAreaCountDO;
|
||||||
import com.zcloud.primeport.persistence.dataobject.ClosedAreaDO;
|
import com.zcloud.primeport.persistence.dataobject.ClosedAreaDO;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
@ -23,6 +24,9 @@ import java.util.Map;
|
||||||
)
|
)
|
||||||
public interface ClosedAreaMapper extends BaseMapper<ClosedAreaDO> {
|
public interface ClosedAreaMapper extends BaseMapper<ClosedAreaDO> {
|
||||||
|
|
||||||
|
|
||||||
|
List<ClosedAreaCountDO> listCount(@Param("params") Map<String,Object> params);
|
||||||
|
|
||||||
List<ClosedAreaDO> getCountByHgAuthArea();
|
List<ClosedAreaDO> getCountByHgAuthArea();
|
||||||
|
|
||||||
IPage<ClosedAreaDO> listPage(IPage<ClosedAreaDO> iPage, @Param("params") Map<String, Object> params);
|
IPage<ClosedAreaDO> listPage(IPage<ClosedAreaDO> iPage, @Param("params") Map<String, Object> params);
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.zcloud.primeport.persistence.repository;
|
package com.zcloud.primeport.persistence.repository;
|
||||||
|
|
||||||
|
import com.zcloud.primeport.persistence.dataobject.ClosedAreaCountDO;
|
||||||
import com.zcloud.primeport.persistence.dataobject.ClosedAreaDO;
|
import com.zcloud.primeport.persistence.dataobject.ClosedAreaDO;
|
||||||
import com.alibaba.cola.dto.PageResponse;
|
import com.alibaba.cola.dto.PageResponse;
|
||||||
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
||||||
|
|
@ -15,6 +16,8 @@ import java.util.Map;
|
||||||
public interface ClosedAreaRepository extends BaseRepository<ClosedAreaDO> {
|
public interface ClosedAreaRepository extends BaseRepository<ClosedAreaDO> {
|
||||||
PageResponse<ClosedAreaDO> listPage(Map<String,Object> params);
|
PageResponse<ClosedAreaDO> listPage(Map<String,Object> params);
|
||||||
|
|
||||||
|
List<ClosedAreaCountDO> listCount(Map<String,Object> params);
|
||||||
|
|
||||||
List<ClosedAreaDO> getCountByHgAuthArea();
|
List<ClosedAreaDO> getCountByHgAuthArea();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.zcloud.primeport.persistence.repository.impl;
|
package com.zcloud.primeport.persistence.repository.impl;
|
||||||
|
|
||||||
|
import com.zcloud.primeport.persistence.dataobject.ClosedAreaCountDO;
|
||||||
import com.zcloud.primeport.persistence.dataobject.ClosedAreaDO;
|
import com.zcloud.primeport.persistence.dataobject.ClosedAreaDO;
|
||||||
import com.zcloud.primeport.persistence.mapper.ClosedAreaMapper;
|
import com.zcloud.primeport.persistence.mapper.ClosedAreaMapper;
|
||||||
import com.zcloud.primeport.persistence.repository.ClosedAreaRepository;
|
import com.zcloud.primeport.persistence.repository.ClosedAreaRepository;
|
||||||
|
|
@ -36,6 +37,11 @@ public class ClosedAreaRepositoryImpl extends BaseRepositoryImpl<ClosedAreaMappe
|
||||||
return PageHelper.pageToResponse(result, result.getRecords());
|
return PageHelper.pageToResponse(result, result.getRecords());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ClosedAreaCountDO> listCount(Map<String,Object> params) {
|
||||||
|
return closedAreaMapper.listCount(params);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ClosedAreaDO> getCountByHgAuthArea() {
|
public List<ClosedAreaDO> getCountByHgAuthArea() {
|
||||||
return closedAreaMapper.getCountByHgAuthArea();
|
return closedAreaMapper.getCountByHgAuthArea();
|
||||||
|
|
|
||||||
|
|
@ -56,5 +56,51 @@
|
||||||
ORDER BY
|
ORDER BY
|
||||||
c.id
|
c.id
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="listCount" resultType="com.zcloud.primeport.persistence.dataobject.ClosedAreaCountDO">
|
||||||
|
SELECT
|
||||||
|
c.*,
|
||||||
|
CASE WHEN child_cnt > 0 THEN 1 ELSE 2 END AS has_child,
|
||||||
|
IFNULL(person_cnt, 0) AS person_count,
|
||||||
|
IFNULL(car_cnt, 0) AS car_count
|
||||||
|
FROM
|
||||||
|
closed_area c
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT parent_id, COUNT(id) child_cnt
|
||||||
|
FROM closed_area
|
||||||
|
WHERE delete_enum = 'FALSE'
|
||||||
|
GROUP BY parent_id
|
||||||
|
) child ON c.id = child.parent_id
|
||||||
|
-- 人员申请数量预统计
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT closed_area_id, COUNT(DISTINCT id) person_cnt
|
||||||
|
FROM closed_area_person_apply
|
||||||
|
WHERE delete_enum = 'FALSE'
|
||||||
|
GROUP BY closed_area_id
|
||||||
|
) cpa ON c.id = cpa.closed_area_id
|
||||||
|
-- 车辆申请数量预统计
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT closed_area_id, COUNT(DISTINCT id) car_cnt
|
||||||
|
FROM closed_area_car_apply
|
||||||
|
WHERE delete_enum = 'FALSE'
|
||||||
|
GROUP BY closed_area_id
|
||||||
|
) cca ON c.id = cca.closed_area_id
|
||||||
|
WHERE
|
||||||
|
c.delete_enum = 'FALSE'
|
||||||
|
<if test="params.corpId != null">
|
||||||
|
AND c.tenant_id = #{params.corpId}
|
||||||
|
</if>
|
||||||
|
<if test="params.parentId != null">
|
||||||
|
AND c.parent_id = #{params.parentId}
|
||||||
|
</if>
|
||||||
|
<if test="params.closedAreaName != null and params.closedAreaName != ''">
|
||||||
|
AND C.closed_area_name LIKE CONCAT('%', #{params.closedAreaName}, '%')
|
||||||
|
</if>
|
||||||
|
GROUP BY
|
||||||
|
c.id
|
||||||
|
ORDER BY
|
||||||
|
c.id
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue