feat:app角标统计

koumen
dearLin 2026-04-01 10:34:33 +08:00
parent 1487be91fd
commit feb79c9153
11 changed files with 147 additions and 1 deletions

View File

@ -0,0 +1,21 @@
package com.zcloud.primeport.web.app;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.primeport.api.VehicleApplyServiceI;
import com.zcloud.primeport.dto.clientobject.AppCountCO;
import io.swagger.annotations.Api;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Api(tags = "App统计角标")
@RequestMapping("/${application.gateway}/appStatisticsCorner")
@RestController
@AllArgsConstructor
public class AppCountController {
private final VehicleApplyServiceI vehicleApplyService;
@RequestMapping("/getAppCount")
public SingleResponse<AppCountCO> getAppCount() {
return vehicleApplyService.getAppCount();
}
}

View File

@ -1,7 +1,10 @@
package com.zcloud.primeport.command.convertor;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.primeport.dto.clientobject.AppCountCO;
import com.zcloud.primeport.dto.clientobject.FgsVehicleCountCo;
import com.zcloud.primeport.dto.clientobject.VehicleApplyCO;
import com.zcloud.primeport.persistence.dataobject.AppCountDTO;
import com.zcloud.primeport.persistence.dataobject.FgsVehicleCountDto;
import com.zcloud.primeport.persistence.dataobject.VehicleApplyDO;
import org.mapstruct.Mapper;
@ -24,5 +27,7 @@ public interface VehicleApplyCoConvertor {
List<VehicleApplyCO> converDOsToCOs(List<VehicleApplyDO> vehicleApplyDOs);
List<FgsVehicleCountCo> converCOsToDtos(List<FgsVehicleCountDto> vehicleApplyDOs);
VehicleApplyCO converDOToCO(VehicleApplyDO vehicleApplyDO);
AppCountCO converAppCountDTOToAppCountCO(AppCountDTO appCountDTO);
}

View File

@ -1,12 +1,16 @@
package com.zcloud.primeport.command.query;
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.primeport.command.convertor.VehicleApplyCoConvertor;
import com.zcloud.primeport.dto.VehicleApplyPageQry;
import com.zcloud.primeport.dto.clientobject.AppCountCO;
import com.zcloud.primeport.dto.clientobject.FgsVehicleCountCo;
import com.zcloud.primeport.dto.clientobject.VehicleApplyCO;
import com.zcloud.primeport.persistence.dataobject.AppCountDTO;
import com.zcloud.primeport.persistence.dataobject.FgsVehicleCountDto;
import com.zcloud.primeport.persistence.dataobject.VehicleApplyDO;
import com.zcloud.primeport.persistence.dataobject.VehicleAuditDO;
@ -91,5 +95,12 @@ public class VehicleApplyQueryExe {
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
public SingleResponse<AppCountCO> getAppCount() {
Map<String, Object> parmas = new HashMap<>();
parmas.put("userId", AuthContext.getUserId());
AppCountDTO appCountDTO = vehicleApplyRepository.getAppCount(parmas);
return SingleResponse.of(vehicleApplyCoConvertor.converAppCountDTOToAppCountCO(appCountDTO));
}
}

View File

@ -13,6 +13,7 @@ import com.zcloud.primeport.command.query.VehicleApplyQueryExe;
import com.zcloud.primeport.domain.enums.AuditEnum;
import com.zcloud.primeport.domain.model.VehicleApplyE;
import com.zcloud.primeport.dto.*;
import com.zcloud.primeport.dto.clientobject.AppCountCO;
import com.zcloud.primeport.dto.clientobject.FgsVehicleCountCo;
import com.zcloud.primeport.dto.clientobject.VehicleApplyCO;
import com.zcloud.primeport.dto.clientobject.VehicleAuditCO;
@ -85,7 +86,7 @@ public class VehicleApplyServiceImpl implements VehicleApplyServiceI {
}
Map<String, Object> result = new HashMap<>();
result.put("available", true);
if (vehicleApplyRepository.count(queryWrapper) == 0) {
if (vehicleApplyRepository.count(queryWrapper) != 0) {
result.put("available", false);
result.put("availableMessage", "该车牌号已存在");
}
@ -159,5 +160,10 @@ public class VehicleApplyServiceImpl implements VehicleApplyServiceI {
}
return result;
}
@Override
public SingleResponse<AppCountCO> getAppCount() {
return vehicleApplyQueryExe.getAppCount();
}
}

View File

@ -4,6 +4,7 @@ import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.primeport.domain.model.VehicleApplyE;
import com.zcloud.primeport.dto.*;
import com.zcloud.primeport.dto.clientobject.AppCountCO;
import com.zcloud.primeport.dto.clientobject.FgsVehicleCountCo;
import com.zcloud.primeport.dto.clientobject.VehicleApplyCO;
import com.zcloud.primeport.dto.clientobject.VehicleAuditCO;
@ -46,5 +47,7 @@ public interface VehicleApplyServiceI {
void xgfCarAuthorization(CarAuthCmd cmd);
Map<String, Object> checkLicenceNoBlack(String licenceNo);
SingleResponse<AppCountCO> getAppCount();
}

View File

@ -0,0 +1,16 @@
package com.zcloud.primeport.dto.clientobject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class AppCountCO {
@ApiModelProperty(value = "one_level_car-》一级车two_level_car二级车one_level_person-》一级口门人two_level_person-》封闭区域人",name = "type")
private String type;
@ApiModelProperty(value = "one_level_car-》车辆所属类型 1-股份员工车辆2-股份单位车辆3-分公司员工车辆4-分公司单位车辆 5-相关方车辆, 6:临时车辆7检查部门车辆8驻港单位员工车辆9驻港单位公车。two_level_car二级车-》申请归属1股份2分公司3相关方4临时人员5分公司内部车辆。one_level_person-》申请归属1股份2分公司3相关方4临时人员。two_level_person-》申请归属1股份2分公司3相关方4临时人员",name = "belongType")
private String belongType;
@ApiModelProperty(value = "审批人ID",name = "auditUserId")
private Long auditUserId;
@ApiModelProperty(value = "待审批数量",name = "waitAuditCount")
private int waitAuditCount;
}

View File

@ -0,0 +1,11 @@
package com.zcloud.primeport.persistence.dataobject;
import lombok.Data;
@Data
public class AppCountDTO {
private String type;
private String belongType;
private Long auditUserId;
private int waitAuditCount;
}

View File

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
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.AppCountDTO;
import com.zcloud.primeport.persistence.dataobject.FgsVehicleCountDto;
import com.zcloud.primeport.persistence.dataobject.VehicleApplyDO;
import org.apache.ibatis.annotations.Mapper;
@ -30,5 +31,7 @@ public interface VehicleApplyMapper extends BaseMapper<VehicleApplyDO> {
IPage<FgsVehicleCountDto> fgsCount(Page<Map<String, Object>> page, @Param("params") HashMap<String, String> qry);
VehicleApplyDO getInfoById(Long id);
AppCountDTO getAppCount(@Param("params") Map<String, Object> parmas);
}

View File

@ -2,6 +2,7 @@ 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.AppCountDTO;
import com.zcloud.primeport.persistence.dataobject.FgsVehicleCountDto;
import com.zcloud.primeport.persistence.dataobject.VehicleApplyDO;
@ -22,5 +23,7 @@ public interface VehicleApplyRepository extends BaseRepository<VehicleApplyDO> {
PageResponse<VehicleApplyDO> getCarByVehicleBelongType(Map<String, Object> params);
VehicleApplyDO getInfoById(Long id);
AppCountDTO getAppCount(Map<String, Object> parmas);
}

View File

@ -13,6 +13,7 @@ import com.zcloud.gbscommon.utils.Tools;
import com.zcloud.primeport.domain.enums.AuditEnum;
import com.zcloud.primeport.domain.enums.MenuEnum;
import com.zcloud.primeport.domain.enums.VehicleBelongTypeEnum;
import com.zcloud.primeport.persistence.dataobject.AppCountDTO;
import com.zcloud.primeport.persistence.dataobject.FgsVehicleCountDto;
import com.zcloud.primeport.persistence.dataobject.VehicleApplyDO;
import com.zcloud.primeport.persistence.dataobject.VehicleMessageDO;
@ -83,5 +84,10 @@ public class VehicleApplyRepositoryImpl extends BaseRepositoryImpl<VehicleApplyM
public VehicleApplyDO getInfoById(Long id) {
return vehicleApplyMapper.getInfoById(id);
}
@Override
public AppCountDTO getAppCount(Map<String, Object> parmas) {
return vehicleApplyMapper.getAppCount(parmas);
}
}

View File

@ -146,5 +146,66 @@
LEFT JOIN mkmj m on va.mkmj_id = m.id
WHERE va.id = #{id}
</select>
<select id="getAppCount" resultType="com.zcloud.primeport.persistence.dataobject.AppCountDTO">
SELECT
tmp.type,
tmp.belong_type,
tmp.audit_user_id,
COUNT( 1 ) wait_audit_count
FROM
(
SELECT
'one_level_car' type,
vap.vehicle_belong_type belong_type,
va.audit_user_id,
va.audit_user_name,
va.audit_status
FROM
vehicle_audit va
LEFT JOIN vehicle_apply vap ON va.vehicle_apply_id = vap.id
WHERE
va.delete_enum = 'FALSE'
AND va.audit_status = 1
AND vap.delete_enum = 'FALSE' UNION ALL
SELECT
'two_level_car' type,
caca.car_belong_type belong_type,
caca.audit_person_user_id audit_user_id,
caca.audit_person_user_name audit_user_name,
caca.audit_flag audit_status
FROM
closed_area_car_apply caca
WHERE
caca.delete_enum = 'FALSE'
AND caca.audit_flag = 1 UNION ALL
SELECT
'one_level_person' type,
xap.person_belong_type,
xap.audit_user_id,
xap.audit_user_name,
xap.audit_flag
FROM
xgf_apply_person xap
WHERE
xap.delete_enum = 'FALSE'
AND xap.audit_flag = 1 UNION ALL
SELECT
'two_level_person' type,
capa.person_belong_type,
capa.audit_person_user_id audit_user_id,
capa.audit_person_user_name audit_user_name,
capa.audit_flag
FROM
closed_area_person_apply capa
WHERE
capa.delete_enum = 'FALSE'
AND capa.audit_flag = 1
) tmp
where tmp.audit_user_id = #{params.userId}
GROUP BY
tmp.type,
tmp.belong_type,
tmp.audit_user_id
</select>
</mapper>