feat:分公司统计

koumen
dearLin 2026-03-16 18:12:56 +08:00
parent 52ede3a50e
commit 5e8c2d8772
10 changed files with 117 additions and 2 deletions

View File

@ -9,6 +9,7 @@ import com.jjb.saas.framework.auth.model.SSOUser;
import com.jjb.saas.framework.auth.utils.AuthContext; import com.jjb.saas.framework.auth.utils.AuthContext;
import com.zcloud.primeport.api.VehicleApplyServiceI; import com.zcloud.primeport.api.VehicleApplyServiceI;
import com.zcloud.primeport.dto.*; import com.zcloud.primeport.dto.*;
import com.zcloud.primeport.dto.clientobject.FgsVehicleCountCo;
import com.zcloud.primeport.dto.clientobject.VehicleApplyCO; import com.zcloud.primeport.dto.clientobject.VehicleApplyCO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
@ -96,8 +97,8 @@ public class VehicleApplyController {
} }
@ApiOperation("分公司统计") @ApiOperation("分公司统计")
@GetMapping("/fgsCount") @GetMapping("/fgsCount")
public PageResponse<VehicleApplyCO> fgsCount(@RequestBody VehicleApplyPageQry qry) { public PageResponse<FgsVehicleCountCo> fgsCount(@RequestParam HashMap<String,String> qry) {
return vehicleApplyService.listPage(qry); return vehicleApplyService.fgsCount(qry);
} }
} }

View File

@ -1,6 +1,8 @@
package com.zcloud.primeport.command.convertor; package com.zcloud.primeport.command.convertor;
import com.zcloud.primeport.dto.clientobject.FgsVehicleCountCo;
import com.zcloud.primeport.dto.clientobject.VehicleApplyCO; import com.zcloud.primeport.dto.clientobject.VehicleApplyCO;
import com.zcloud.primeport.persistence.dataobject.FgsVehicleCountDto;
import com.zcloud.primeport.persistence.dataobject.VehicleApplyDO; import com.zcloud.primeport.persistence.dataobject.VehicleApplyDO;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
@ -20,6 +22,7 @@ public interface VehicleApplyCoConvertor {
* @return * @return
*/ */
List<VehicleApplyCO> converDOsToCOs(List<VehicleApplyDO> vehicleApplyDOs); List<VehicleApplyCO> converDOsToCOs(List<VehicleApplyDO> vehicleApplyDOs);
List<FgsVehicleCountCo> converCOsToDtos(List<FgsVehicleCountDto> vehicleApplyDOs);
VehicleApplyCO converDOToCO(VehicleApplyDO vehicleApplyDO); VehicleApplyCO converDOToCO(VehicleApplyDO vehicleApplyDO);
} }

View File

@ -5,7 +5,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zcloud.gbscommon.utils.PageQueryHelper; import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.primeport.command.convertor.VehicleApplyCoConvertor; import com.zcloud.primeport.command.convertor.VehicleApplyCoConvertor;
import com.zcloud.primeport.dto.VehicleApplyPageQry; import com.zcloud.primeport.dto.VehicleApplyPageQry;
import com.zcloud.primeport.dto.clientobject.FgsVehicleCountCo;
import com.zcloud.primeport.dto.clientobject.VehicleApplyCO; import com.zcloud.primeport.dto.clientobject.VehicleApplyCO;
import com.zcloud.primeport.persistence.dataobject.FgsVehicleCountDto;
import com.zcloud.primeport.persistence.dataobject.VehicleApplyDO; import com.zcloud.primeport.persistence.dataobject.VehicleApplyDO;
import com.zcloud.primeport.persistence.dataobject.VehicleAuditDO; import com.zcloud.primeport.persistence.dataobject.VehicleAuditDO;
import com.zcloud.primeport.persistence.repository.VehicleApplyRepository; import com.zcloud.primeport.persistence.repository.VehicleApplyRepository;
@ -15,6 +17,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -61,5 +64,12 @@ public class VehicleApplyQueryExe {
vehicleApplyCO.setVehicleAuditLogList(vehicleAuditLogs); vehicleApplyCO.setVehicleAuditLogList(vehicleAuditLogs);
return vehicleApplyCO; return vehicleApplyCO;
} }
public PageResponse<FgsVehicleCountCo> fgsCount(HashMap<String, String> qry) {
PageResponse<FgsVehicleCountDto> pageResponse = vehicleApplyRepository.fgsCount(qry);
List<FgsVehicleCountCo> examCenterCOS = vehicleApplyCoConvertor.converCOsToDtos(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
} }

View File

@ -10,6 +10,7 @@ import com.zcloud.primeport.command.VehicleApplyUpdateExe;
import com.zcloud.primeport.command.query.VehicleApplyQueryExe; import com.zcloud.primeport.command.query.VehicleApplyQueryExe;
import com.zcloud.primeport.domain.enums.AuditEnum; import com.zcloud.primeport.domain.enums.AuditEnum;
import com.zcloud.primeport.dto.*; import com.zcloud.primeport.dto.*;
import com.zcloud.primeport.dto.clientobject.FgsVehicleCountCo;
import com.zcloud.primeport.dto.clientobject.VehicleApplyCO; import com.zcloud.primeport.dto.clientobject.VehicleApplyCO;
import com.zcloud.primeport.persistence.dataobject.VehicleApplyDO; import com.zcloud.primeport.persistence.dataobject.VehicleApplyDO;
import com.zcloud.primeport.persistence.repository.VehicleApplyRepository; import com.zcloud.primeport.persistence.repository.VehicleApplyRepository;
@ -18,6 +19,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
/** /**
@ -100,5 +102,11 @@ public class VehicleApplyServiceImpl implements VehicleApplyServiceI {
public void inspectCarEdit(VehicleApplyInspectUpdateCmd cmd) { public void inspectCarEdit(VehicleApplyInspectUpdateCmd cmd) {
vehicleApplyUpdateExe.inspectCarEdit(cmd); vehicleApplyUpdateExe.inspectCarEdit(cmd);
} }
@Override
public PageResponse<FgsVehicleCountCo> fgsCount(HashMap<String, String> qry) {
return vehicleApplyQueryExe.fgsCount(qry);
}
} }

View File

@ -3,8 +3,11 @@ package com.zcloud.primeport.api;
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.*; import com.zcloud.primeport.dto.*;
import com.zcloud.primeport.dto.clientobject.FgsVehicleCountCo;
import com.zcloud.primeport.dto.clientobject.VehicleApplyCO; import com.zcloud.primeport.dto.clientobject.VehicleApplyCO;
import java.util.HashMap;
/** /**
* web-client * web-client
* *
@ -29,5 +32,7 @@ public interface VehicleApplyServiceI {
void inspectCarSave(VehicleApplyInspectAddCmd cmd); void inspectCarSave(VehicleApplyInspectAddCmd cmd);
void inspectCarEdit(VehicleApplyInspectUpdateCmd cmd); void inspectCarEdit(VehicleApplyInspectUpdateCmd cmd);
PageResponse<FgsVehicleCountCo> fgsCount(HashMap<String, String> qry);
} }

View File

@ -0,0 +1,19 @@
package com.zcloud.primeport.persistence.dataobject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class FgsVehicleCountDto {
//审批人企业id
@ApiModelProperty(value = "企业id",name = "corpId")
private Long corpId;
@ApiModelProperty(value = "企业名称",name = "corpName")
private Long corpName;
@ApiModelProperty(value = "人员数",name = "userCount")
private Integer userCount;
@ApiModelProperty(value = "个人车辆数",name = "priCarCount")
private Integer priCarCount;
@ApiModelProperty(value = "单位车辆数",name = "pubCarCount")
private Integer pubCarCount;
}

View File

@ -3,9 +3,11 @@ package com.zcloud.primeport.persistence.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zcloud.primeport.persistence.dataobject.FgsVehicleCountDto;
import com.zcloud.primeport.persistence.dataobject.VehicleApplyDO; import com.zcloud.primeport.persistence.dataobject.VehicleApplyDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
/** /**
@ -18,5 +20,7 @@ import java.util.Map;
public interface VehicleApplyMapper extends BaseMapper<VehicleApplyDO> { public interface VehicleApplyMapper extends BaseMapper<VehicleApplyDO> {
IPage<VehicleApplyDO> listPage(Page<Map<String, Object>> page, Map<String, Object> parmas, String menuPerms); IPage<VehicleApplyDO> listPage(Page<Map<String, Object>> page, Map<String, Object> parmas, String menuPerms);
IPage<FgsVehicleCountDto> fgsCount(Page<Map<String, Object>> page, HashMap<String, String> qry);
} }

View File

@ -2,7 +2,10 @@ package com.zcloud.primeport.persistence.repository;
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;
import com.zcloud.primeport.persistence.dataobject.FgsVehicleCountDto;
import com.zcloud.primeport.persistence.dataobject.VehicleApplyDO; import com.zcloud.primeport.persistence.dataobject.VehicleApplyDO;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
/** /**
@ -13,5 +16,7 @@ import java.util.Map;
*/ */
public interface VehicleApplyRepository extends BaseRepository<VehicleApplyDO> { public interface VehicleApplyRepository extends BaseRepository<VehicleApplyDO> {
PageResponse<VehicleApplyDO> listPage(Map<String, Object> parmas); PageResponse<VehicleApplyDO> listPage(Map<String, Object> parmas);
PageResponse<FgsVehicleCountDto> fgsCount(HashMap<String, String> qry);
} }

View File

@ -9,12 +9,14 @@ import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
import com.zcloud.gbscommon.utils.PageQueryHelper; import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.utils.Query; import com.zcloud.gbscommon.utils.Query;
import com.zcloud.primeport.domain.enums.MenuEnum; import com.zcloud.primeport.domain.enums.MenuEnum;
import com.zcloud.primeport.persistence.dataobject.FgsVehicleCountDto;
import com.zcloud.primeport.persistence.dataobject.VehicleApplyDO; import com.zcloud.primeport.persistence.dataobject.VehicleApplyDO;
import com.zcloud.primeport.persistence.mapper.VehicleApplyMapper; import com.zcloud.primeport.persistence.mapper.VehicleApplyMapper;
import com.zcloud.primeport.persistence.repository.VehicleApplyRepository; import com.zcloud.primeport.persistence.repository.VehicleApplyRepository;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
/** /**
@ -39,5 +41,14 @@ public class VehicleApplyRepositoryImpl extends BaseRepositoryImpl<VehicleApplyM
IPage<VehicleApplyDO> result = vehicleApplyMapper.listPage(page, parmas,menuPerms); IPage<VehicleApplyDO> result = vehicleApplyMapper.listPage(page, parmas,menuPerms);
return PageHelper.pageToResponse(result, result.getRecords()); return PageHelper.pageToResponse(result, result.getRecords());
} }
@Override
public PageResponse<FgsVehicleCountDto> fgsCount(HashMap<String, String> qry) {
Page<Map<String, Object>> page = new Page<>(Integer.parseInt(qry.get("pageIndex").toString()),
Integer.parseInt(qry.get("pageSize").toString()));
IPage<FgsVehicleCountDto> result = vehicleApplyMapper.fgsCount(page, qry);
return PageHelper.pageToResponse(result, result.getRecords());
}
} }

View File

@ -71,5 +71,54 @@
AND f.employee_vehicle_user_id = #{parmas.employeeVehicleUserId} AND f.employee_vehicle_user_id = #{parmas.employeeVehicleUserId}
</if> </if>
</select> </select>
<select id="fgsCount" resultType="com.zcloud.primeport.persistence.dataobject.FgsVehicleCountDto">
SELECT
c.id corp_id,
c.corp_name,
IFNULL( utmp.user_count, 0 ) user_count,
IFNULL( pubtmp.pub_car_count, 0 ) pub_car_count,
IFNULL( prtmp.pri_car_count, 0 ) pri_car_count
FROM
corp_info c
LEFT JOIN (
SELECT
COUNT( u.id ) user_count,
u.corpinfo_id
FROM
`user` u
WHERE
u.delete_enum = 'FALSE'
AND u.main_corp_flag = 0
GROUP BY
u.corpinfo_id
) utmp ON c.id = utmp.corpinfo_id
LEFT JOIN (
SELECT
va.vehicle_corp_id,
COUNT( va.id ) pri_car_count
FROM
`vehicle_apply` va
WHERE
va.delete_enum = 'FALSE'
AND va.vehicle_belong_type IN ( 1, 3 )
GROUP BY
va.vehicle_corp_id
) prtmp ON c.id = prtmp.vehicle_corp_id
LEFT JOIN (
SELECT
va.vehicle_corp_id,
COUNT(va.id) pub_car_count
FROM
`vehicle_apply` va WHERE va.delete_enum = 'FALSE' and va.vehicle_belong_type in (2,4)
GROUP BY
va.vehicle_corp_id) pubtmp on pubtmp.vehicle_corp_id = c.id
WHERE
c.delete_enum = 'FALSE'
AND c.type IN ( 0, 1, 6 )
ORDER BY
c.corp_order,
c.create_time DESC
</select>
</mapper> </mapper>