车辆统计接口

This commit is contained in:
guoshengxiong 2024-05-27 16:31:26 +08:00
parent dca2ac1a68
commit 7a20a6ca47
10 changed files with 97 additions and 21 deletions

View File

@ -11,6 +11,7 @@ import com.zhgd.jeecg.common.mybatis.EntityMap;
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService;
import com.zhgd.xmgl.modules.car.entity.CarInfo;
import com.zhgd.xmgl.modules.car.entity.vo.CountCarModuleTypeVo;
import com.zhgd.xmgl.modules.car.service.ICarInfoService;
import com.zhgd.xmgl.modules.worker.service.IWorkerInfoService;
import com.zhgd.xmgl.security.util.SecurityUtils;
@ -240,7 +241,7 @@ public class CarInfoController {
return result;
}
@ApiOperation(value = "统计项目下各车辆类型情况", notes = "统计项目下各车辆类型情况", httpMethod="POST")
@ApiOperation(value = "统计项目下各车辆黑白名单情况", notes = "统计项目下各车辆黑白名单情况", httpMethod = "POST")
@ApiImplicitParams({
@ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "body", required = true, dataType = "String"),
})
@ -249,4 +250,14 @@ public class CarInfoController {
return Result.success(carInfoService.selectCarTypeCount(map));
}
@ApiOperation(value = "统计项目下各车辆类型情况", notes = "统计项目下各车辆类型情况", httpMethod = "POST")
@ApiImplicitParams({
@ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "body", required = true, dataType = "String"),
})
@PostMapping(value = "/countCarModuleType")
public Result<CountCarModuleTypeVo> countCarModuleType(@RequestBody Map<String, Object> map) {
return Result.success(carInfoService.countCarModuleType(map));
}
}

View File

@ -0,0 +1,14 @@
package com.zhgd.xmgl.modules.car.entity.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class CountCarModuleTypeVo {
@ApiModelProperty("固定车数量")
private Integer gdcNum;
@ApiModelProperty("长期车数量")
private Integer cqcNum;
@ApiModelProperty("临时车数量")
private Integer lscNum;
}

View File

@ -8,9 +8,28 @@ import lombok.Data;
public class TodayOutInNumber {
private String passTime;
@ApiModelProperty("出的数量")
@ApiModelProperty("出的数量(总出场次数)")
private Integer outnum;
@ApiModelProperty("进的数量")
@ApiModelProperty("进的数量(总进场次数)")
private Integer innum;
@ApiModelProperty("固定车进场车次")
private Integer gdcInNum;
@ApiModelProperty("长期车进场车次")
private Integer cqcInNum;
@ApiModelProperty("临时车进场车次")
private Integer lscInNum;
@ApiModelProperty("外来车辆进场车次")
private Integer wlcInNum;
@ApiModelProperty("固定车出场车次")
private Integer gdcOutNum;
@ApiModelProperty("长期车出场车次")
private Integer cqcOutNum;
@ApiModelProperty("临时车出场车次")
private Integer lscOutNum;
@ApiModelProperty("外来车辆出场车次")
private Integer wlcOutNum;
}

View File

@ -6,6 +6,7 @@ import java.util.Map;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhgd.annotation.DataScope;
import com.zhgd.jeecg.common.mybatis.EntityMap;
import com.zhgd.xmgl.modules.car.entity.vo.CountCarModuleTypeVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.zhgd.xmgl.modules.car.entity.CarInfo;
@ -18,7 +19,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @version V1.0
*/
@Mapper
@DataScope
@DataScope(includeTable = "car_info")
public interface CarInfoMapper extends BaseMapper<CarInfo> {
@DataScope(includeTable = "car_info")
@ -27,4 +28,6 @@ public interface CarInfoMapper extends BaseMapper<CarInfo> {
List<Map<String, Object>> selectCarTypeCount(Map<String, Object> map);
String getCarTypeName(CarInfo carInfo);
CountCarModuleTypeVo countCarModuleType(@Param("param") Map<String, Object> map);
}

View File

@ -1,5 +1,6 @@
package com.zhgd.xmgl.modules.car.mapper;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -11,6 +12,7 @@ import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.zhgd.xmgl.modules.car.entity.CarPassRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.data.redis.hash.HashMapper;
/**
* @Description: 车辆通行记录
@ -19,7 +21,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @version V1.0
*/
@Mapper
@DataScope(includeTable = "enterprise_info")
@DataScope(includeTable = "car_info")
public interface CarPassRecordMapper extends BaseMapper<CarPassRecord> {
Map<String, Object> getCurrentDayCarPassRecordOutAndInNum(Map<String, Object> map);
@ -41,7 +43,7 @@ public interface CarPassRecordMapper extends BaseMapper<CarPassRecord> {
String selectCarEnterTime(@Param("projectSn") String projectSn, @Param("carNumber") String carNumber);
TodayOutInNumber getTodayOutInNumber(@Param("projectSn") String projectSn, @Param("isOpen") Integer isOpen);
TodayOutInNumber getTodayOutInNumber(@Param("projectSn") String projectSn, @Param("isOpen") Integer isOpen, @Param("param") HashMap<String, Object> param);
CarPassRecord queryNewestCarPassRecord(Map<String, Object> map);

View File

@ -52,4 +52,13 @@
inner join car_type ct on ci.car_type = ct.id
where ci.id=#{id}
</select>
<select id="countCarModuleType" resultType="com.zhgd.xmgl.modules.car.entity.vo.CountCarModuleTypeVo">
select
ifnull(sum(if(t.car_module_type=1,1,0)),0) as gdcNum,
ifnull(sum(if(t.car_module_type=2,1,0)),0) as cqcNum,
ifnull(sum(if(t.car_module_type=3,1,0)),0) as lscNum
from car_info as t
WHERE t.project_sn=#{param.projectSn}
</select>
</mapper>

View File

@ -211,13 +211,22 @@
LIMIT 1
</select>
<select id="getTodayOutInNumber" resultType="com.zhgd.xmgl.modules.car.entity.vo.TodayOutInNumber">
SELECT IFNULL(SUM((CASE WHEN type = 1 THEN 1 ELSE 0 END)), 0) outnum,
IFNULL(SUM((CASE WHEN type = 0 THEN 1 ELSE 0 END)), 0) innum
FROM car_pass_record
WHERE project_sn = #{projectSn}
AND pass_time >= CONCAT(DATE_FORMAT(now(), "%Y-%m-%d"), ' 00:00:00')
SELECT IFNULL(SUM((CASE WHEN t.type = 1 THEN 1 ELSE 0 END)), 0) outnum,
IFNULL(SUM((CASE WHEN t.type = 0 THEN 1 ELSE 0 END)), 0) innum,
ifnull(sum(if(ifnull(c.car_module_type,4)=1 and t.type=0,1,0)),0) as gdcInNum,
ifnull(sum(if(ifnull(c.car_module_type,4)=2 and t.type=0,1,0)),0) as cqcInNum,
ifnull(sum(if(ifnull(c.car_module_type,4)=3 and t.type=0,1,0)),0) as lscInNum,
ifnull(sum(if(ifnull(c.car_module_type,4)=4 and t.type=0,1,0)),0) as wlcInNum,
ifnull(sum(if(ifnull(c.car_module_type,4)=1 and t.type=1,1,0)),0) as gdcOutNum,
ifnull(sum(if(ifnull(c.car_module_type,4)=2 and t.type=1,1,0)),0) as cqcOutNum,
ifnull(sum(if(ifnull(c.car_module_type,4)=3 and t.type=1,1,0)),0) as lscOutNum,
ifnull(sum(if(ifnull(c.car_module_type,4)=4 and t.type=1,1,0)),0) as wlcOutNum
FROM car_pass_record as t
left join car_info as c on c.car_number=t.car_number and c.project_sn=t.project_sn
WHERE t.project_sn = #{projectSn}
AND t.pass_time >= CONCAT(DATE_FORMAT(now(), "%Y-%m-%d"), ' 00:00:00')
<if test="isOpen != null and isOpen != ''">
and is_open = #{isOpen}
and t.is_open = #{isOpen}
</if>
</select>

View File

@ -5,6 +5,7 @@ import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.mybatis.EntityMap;
import com.zhgd.xmgl.modules.car.entity.CarInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zhgd.xmgl.modules.car.entity.vo.CountCarModuleTypeVo;
import java.util.Map;
@ -27,4 +28,6 @@ public interface ICarInfoService extends IService<CarInfo> {
Map<String, Object> selectCarTypeCount(Map<String, Object> map);
void delete(Map<String, Object> map);
CountCarModuleTypeVo countCarModuleType(Map<String, Object> map);
}

View File

@ -14,6 +14,7 @@ import com.zhgd.xmgl.async.AsyncHikvision;
import com.zhgd.xmgl.async.AsyncWorker;
import com.zhgd.xmgl.modules.basicdata.service.impl.SystemUserServiceImpl;
import com.zhgd.xmgl.modules.car.entity.*;
import com.zhgd.xmgl.modules.car.entity.vo.CountCarModuleTypeVo;
import com.zhgd.xmgl.modules.car.mapper.*;
import com.zhgd.xmgl.modules.car.service.ICarInfoService;
import com.zhgd.xmgl.modules.worker.mapper.WorkerInfoMapper;
@ -212,4 +213,9 @@ public class CarInfoServiceImpl extends ServiceImpl<CarInfoMapper, CarInfo> impl
//同步海康
asyncHikvision.deleteCarInfoForHikvision(carInfo);
}
@Override
public CountCarModuleTypeVo countCarModuleType(Map<String, Object> map) {
return baseMapper.countCarModuleType(map);
}
}

View File

@ -443,7 +443,7 @@ public class CarPassRecordServiceImpl extends ServiceImpl<CarPassRecordMapper, C
@Override
public TodayOutInNumber getTodayOutInNumber(String projectSn, Integer isOpen) {
return carPassRecordMapper.getTodayOutInNumber(projectSn, isOpen);
return carPassRecordMapper.getTodayOutInNumber(projectSn, isOpen, new HashMap<String, Object>());
}
@Override