feat(web): 添加港区人车数量统计功能
parent
8691b218ad
commit
061f052080
|
|
@ -18,6 +18,7 @@ import com.zcloud.personnel.positioning.dto.clientobject.BiOverviewCO;
|
||||||
import com.zcloud.personnel.positioning.dto.clientobject.BiPersonLocationCO;
|
import com.zcloud.personnel.positioning.dto.clientobject.BiPersonLocationCO;
|
||||||
import com.zcloud.personnel.positioning.dto.clientobject.BiPersonPositionCO;
|
import com.zcloud.personnel.positioning.dto.clientobject.BiPersonPositionCO;
|
||||||
import com.zcloud.personnel.positioning.dto.clientobject.BiPersonTraceCO;
|
import com.zcloud.personnel.positioning.dto.clientobject.BiPersonTraceCO;
|
||||||
|
import com.zcloud.personnel.positioning.dto.clientobject.BiPortPersonVehicleStatCO;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
|
|
@ -109,5 +110,10 @@ public class PersonnelPositioningBiController {
|
||||||
@RequestBody BiCompanyOnlinePersonQry qry) {
|
@RequestBody BiCompanyOnlinePersonQry qry) {
|
||||||
return MultiResponse.of(personnelPositioningBiService.listCompanyPersonPosition(qry));
|
return MultiResponse.of(personnelPositioningBiService.listCompanyPersonPosition(qry));
|
||||||
}
|
}
|
||||||
|
@ApiOperation("可视化大屏-统计人车数量")
|
||||||
|
@GetMapping("/personLocation/portPersonVehicleStat")
|
||||||
|
public MultiResponse<BiPortPersonVehicleStatCO> listPortPersonVehicleStat() {
|
||||||
|
return MultiResponse.of(personnelPositioningBiService.listPortPersonVehicleStat());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@ import com.zcloud.personnel.positioning.dto.clientobject.BiOverviewCO;
|
||||||
import com.zcloud.personnel.positioning.dto.clientobject.BiPersonLocationCO;
|
import com.zcloud.personnel.positioning.dto.clientobject.BiPersonLocationCO;
|
||||||
import com.zcloud.personnel.positioning.dto.clientobject.BiPersonPositionCO;
|
import com.zcloud.personnel.positioning.dto.clientobject.BiPersonPositionCO;
|
||||||
import com.zcloud.personnel.positioning.dto.clientobject.BiPersonTraceCO;
|
import com.zcloud.personnel.positioning.dto.clientobject.BiPersonTraceCO;
|
||||||
|
import com.zcloud.personnel.positioning.dto.clientobject.BiPortPersonVehicleStatCO;
|
||||||
import com.zcloud.personnel.positioning.dto.clientobject.BiPortStatCO;
|
import com.zcloud.personnel.positioning.dto.clientobject.BiPortStatCO;
|
||||||
import com.zcloud.personnel.positioning.integration.finds.FindsOpenApiClient;
|
import com.zcloud.personnel.positioning.integration.finds.FindsOpenApiClient;
|
||||||
import com.zcloud.personnel.positioning.persistence.dataobject.AreaDO;
|
import com.zcloud.personnel.positioning.persistence.dataobject.AreaDO;
|
||||||
|
|
@ -244,6 +245,27 @@ public class PersonnelPositioningBiQueryExe {
|
||||||
return PageResponse.of(rows.subList(fromIndex, toIndex), rows.size(), pageSize, pageNo);
|
return PageResponse.of(rows.subList(fromIndex, toIndex), rows.size(), pageSize, pageNo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<BiPortPersonVehicleStatCO> listPortPersonVehicleStat() {
|
||||||
|
List<BiPortPersonVehicleStatCO> result = new ArrayList<>();
|
||||||
|
result.add(buildPortPersonVehicleStat(2, "东港区"));
|
||||||
|
result.add(buildPortPersonVehicleStat(3, "西港区"));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
private BiPortPersonVehicleStatCO buildPortPersonVehicleStat(Integer portArea, String portName) {
|
||||||
|
int personCount = 0;
|
||||||
|
for (BiCorpInfoDO corpInfo : biRepository.listPersonPositionCompanies(null, portArea)) {
|
||||||
|
personCount += biPersonLocationProvider.listCompanyOnlinePersons(
|
||||||
|
corpInfo.getCorpinfoId(), corpInfo.getCorpName(), corpInfo.getCode()).size();
|
||||||
|
}
|
||||||
|
BiPortPersonVehicleStatCO co = new BiPortPersonVehicleStatCO();
|
||||||
|
co.setPortArea(portArea);
|
||||||
|
co.setPortName(portName);
|
||||||
|
co.setOnlinePersonCount(personCount);
|
||||||
|
co.setOnlineVehicleCount(0);
|
||||||
|
return co;
|
||||||
|
}
|
||||||
|
|
||||||
public List<BiCompanyPersonPositionCO> listCompanyPersonPosition(BiCompanyOnlinePersonQry qry) {
|
public List<BiCompanyPersonPositionCO> listCompanyPersonPosition(BiCompanyOnlinePersonQry qry) {
|
||||||
BiCompanyOnlinePersonQry query = qry == null ? new BiCompanyOnlinePersonQry() : qry;
|
BiCompanyOnlinePersonQry query = qry == null ? new BiCompanyOnlinePersonQry() : qry;
|
||||||
validatePortArea(query.getPortArea());
|
validatePortArea(query.getPortArea());
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@ import com.zcloud.personnel.positioning.dto.clientobject.BiOverviewCO;
|
||||||
import com.zcloud.personnel.positioning.dto.clientobject.BiPersonLocationCO;
|
import com.zcloud.personnel.positioning.dto.clientobject.BiPersonLocationCO;
|
||||||
import com.zcloud.personnel.positioning.dto.clientobject.BiPersonPositionCO;
|
import com.zcloud.personnel.positioning.dto.clientobject.BiPersonPositionCO;
|
||||||
import com.zcloud.personnel.positioning.dto.clientobject.BiPersonTraceCO;
|
import com.zcloud.personnel.positioning.dto.clientobject.BiPersonTraceCO;
|
||||||
|
import com.zcloud.personnel.positioning.dto.clientobject.BiPortPersonVehicleStatCO;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
|
@ -53,6 +54,11 @@ public class PersonnelPositioningBiServiceImpl implements PersonnelPositioningBi
|
||||||
return personnelPositioningBiQueryExe.listPersonLocation(qry);
|
return personnelPositioningBiQueryExe.listPersonLocation(qry);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<BiPortPersonVehicleStatCO> listPortPersonVehicleStat() {
|
||||||
|
return personnelPositioningBiQueryExe.listPortPersonVehicleStat();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<BiCompanyPersonPositionCO> listCompanyPersonPosition(BiCompanyOnlinePersonQry qry) {
|
public List<BiCompanyPersonPositionCO> listCompanyPersonPosition(BiCompanyOnlinePersonQry qry) {
|
||||||
return personnelPositioningBiQueryExe.listCompanyPersonPosition(qry);
|
return personnelPositioningBiQueryExe.listCompanyPersonPosition(qry);
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ import com.zcloud.personnel.positioning.dto.clientobject.BiOverviewCO;
|
||||||
import com.zcloud.personnel.positioning.dto.clientobject.BiPersonLocationCO;
|
import com.zcloud.personnel.positioning.dto.clientobject.BiPersonLocationCO;
|
||||||
import com.zcloud.personnel.positioning.dto.clientobject.BiPersonPositionCO;
|
import com.zcloud.personnel.positioning.dto.clientobject.BiPersonPositionCO;
|
||||||
import com.zcloud.personnel.positioning.dto.clientobject.BiPersonTraceCO;
|
import com.zcloud.personnel.positioning.dto.clientobject.BiPersonTraceCO;
|
||||||
|
import com.zcloud.personnel.positioning.dto.clientobject.BiPortPersonVehicleStatCO;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
@ -33,6 +34,8 @@ public interface PersonnelPositioningBiServiceI {
|
||||||
|
|
||||||
PageResponse<BiPersonLocationCO> listPersonLocation(BiPersonLocationQry qry);
|
PageResponse<BiPersonLocationCO> listPersonLocation(BiPersonLocationQry qry);
|
||||||
|
|
||||||
|
List<BiPortPersonVehicleStatCO> listPortPersonVehicleStat();
|
||||||
|
|
||||||
List<BiCompanyPersonPositionCO> listCompanyPersonPosition(BiCompanyOnlinePersonQry qry);
|
List<BiCompanyPersonPositionCO> listCompanyPersonPosition(BiCompanyOnlinePersonQry qry);
|
||||||
|
|
||||||
List<BiPersonPositionCO> listPersonPosition(BiPersonPositionQry qry);
|
List<BiPersonPositionCO> listPersonPosition(BiPersonPositionQry qry);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
package com.zcloud.personnel.positioning.dto.clientobject;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.ClientObject;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 可视化大屏港区人车数量统计。
|
||||||
|
*
|
||||||
|
* @Author Codex
|
||||||
|
* @Date 2026-07-29
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class BiPortPersonVehicleStatCO extends ClientObject {
|
||||||
|
@ApiModelProperty(value = "港区,2:秦皇岛东,3:秦皇岛西", name = "portArea")
|
||||||
|
private Integer portArea;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "港区名称", name = "portName")
|
||||||
|
private String portName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "在线人数", name = "onlinePersonCount")
|
||||||
|
private Integer onlinePersonCount;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "在线车数", name = "onlineVehicleCount")
|
||||||
|
private Integer onlineVehicleCount;
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue