feat(api): 添加危险作业统计数据接口和部门统计功能
parent
43eece07c2
commit
2cff61eb31
|
|
@ -8,6 +8,8 @@ import com.zcloud.eightwork.dto.EightworkInfoPageQry;
|
||||||
import com.zcloud.eightwork.dto.EightworkInfoUpdateCmd;
|
import com.zcloud.eightwork.dto.EightworkInfoUpdateCmd;
|
||||||
import com.zcloud.eightwork.dto.EightworkInfoWithdrawCmd;
|
import com.zcloud.eightwork.dto.EightworkInfoWithdrawCmd;
|
||||||
import com.zcloud.eightwork.dto.ForceTerminateCmd;
|
import com.zcloud.eightwork.dto.ForceTerminateCmd;
|
||||||
|
import com.zcloud.eightwork.dto.ScreenDangerWorkDataStatisticsQry;
|
||||||
|
import com.zcloud.eightwork.dto.ScreenDepartmentStatisticsQry;
|
||||||
import com.zcloud.eightwork.dto.ScreenStatisticsQry;
|
import com.zcloud.eightwork.dto.ScreenStatisticsQry;
|
||||||
import com.zcloud.eightwork.dto.ScreenWorkPageQry;
|
import com.zcloud.eightwork.dto.ScreenWorkPageQry;
|
||||||
import com.zcloud.eightwork.dto.ScreenWorkRecordQry;
|
import com.zcloud.eightwork.dto.ScreenWorkRecordQry;
|
||||||
|
|
@ -15,6 +17,8 @@ import com.zcloud.eightwork.dto.ScreenWorkTrendQry;
|
||||||
import com.zcloud.eightwork.dto.clientobject.DangerWorkStatisticsCO;
|
import com.zcloud.eightwork.dto.clientobject.DangerWorkStatisticsCO;
|
||||||
import com.zcloud.eightwork.dto.clientobject.StatisticsByWorkTypeCO;
|
import com.zcloud.eightwork.dto.clientobject.StatisticsByWorkTypeCO;
|
||||||
import com.zcloud.eightwork.dto.clientobject.EightworkInfoCO;
|
import com.zcloud.eightwork.dto.clientobject.EightworkInfoCO;
|
||||||
|
import com.zcloud.eightwork.dto.clientobject.ScreenDangerWorkDataStatisticsCO;
|
||||||
|
import com.zcloud.eightwork.dto.clientobject.ScreenDepartmentStatisticsCO;
|
||||||
import com.zcloud.eightwork.dto.clientobject.ScreenStatusStatisticsCO;
|
import com.zcloud.eightwork.dto.clientobject.ScreenStatusStatisticsCO;
|
||||||
import com.zcloud.eightwork.dto.clientobject.ScreenWorkPageCO;
|
import com.zcloud.eightwork.dto.clientobject.ScreenWorkPageCO;
|
||||||
import com.zcloud.eightwork.dto.clientobject.ScreenWorkRecordCO;
|
import com.zcloud.eightwork.dto.clientobject.ScreenWorkRecordCO;
|
||||||
|
|
@ -152,5 +156,17 @@ public class EightworkInfoController {
|
||||||
return eightworkInfoService.screenWorkPage(qry);
|
return eightworkInfoService.screenWorkPage(qry);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("可视化大屏-部门统计")
|
||||||
|
@PostMapping("/screenDepartmentStatistics")
|
||||||
|
public MultiResponse<ScreenDepartmentStatisticsCO> screenDepartmentStatistics(@RequestBody ScreenDepartmentStatisticsQry qry) {
|
||||||
|
return MultiResponse.of(eightworkInfoService.screenDepartmentStatistics(qry));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("可视化大屏-危险作业数据统计")
|
||||||
|
@PostMapping("/screenDangerWorkDataStatistics")
|
||||||
|
public MultiResponse<ScreenDangerWorkDataStatisticsCO> screenDangerWorkDataStatistics(@RequestBody ScreenDangerWorkDataStatisticsQry qry) {
|
||||||
|
return MultiResponse.of(eightworkInfoService.screenDangerWorkDataStatistics(qry));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.zcloud.eightwork.command.query;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import com.alibaba.cola.dto.PageResponse;
|
import com.alibaba.cola.dto.PageResponse;
|
||||||
|
import com.alibaba.cola.exception.BizException;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||||
import com.zcloud.eightwork.command.convertor.EightworkInfoCoConvertor;
|
import com.zcloud.eightwork.command.convertor.EightworkInfoCoConvertor;
|
||||||
|
|
@ -9,12 +10,16 @@ import com.zcloud.eightwork.domain.model.EightworkInfoE;
|
||||||
import com.zcloud.eightwork.domain.model.enums.WorkCodeEnum;
|
import com.zcloud.eightwork.domain.model.enums.WorkCodeEnum;
|
||||||
import com.zcloud.eightwork.dto.DangerWorkStatisticsQry;
|
import com.zcloud.eightwork.dto.DangerWorkStatisticsQry;
|
||||||
import com.zcloud.eightwork.dto.EightworkInfoPageQry;
|
import com.zcloud.eightwork.dto.EightworkInfoPageQry;
|
||||||
|
import com.zcloud.eightwork.dto.ScreenDangerWorkDataStatisticsQry;
|
||||||
|
import com.zcloud.eightwork.dto.ScreenDepartmentStatisticsQry;
|
||||||
import com.zcloud.eightwork.dto.ScreenStatisticsQry;
|
import com.zcloud.eightwork.dto.ScreenStatisticsQry;
|
||||||
import com.zcloud.eightwork.dto.ScreenWorkPageQry;
|
import com.zcloud.eightwork.dto.ScreenWorkPageQry;
|
||||||
import com.zcloud.eightwork.dto.ScreenWorkRecordQry;
|
import com.zcloud.eightwork.dto.ScreenWorkRecordQry;
|
||||||
import com.zcloud.eightwork.dto.ScreenWorkTrendQry;
|
import com.zcloud.eightwork.dto.ScreenWorkTrendQry;
|
||||||
import com.zcloud.eightwork.dto.clientobject.DangerWorkStatisticsCO;
|
import com.zcloud.eightwork.dto.clientobject.DangerWorkStatisticsCO;
|
||||||
import com.zcloud.eightwork.dto.clientobject.EightworkInfoCO;
|
import com.zcloud.eightwork.dto.clientobject.EightworkInfoCO;
|
||||||
|
import com.zcloud.eightwork.dto.clientobject.ScreenDangerWorkDataStatisticsCO;
|
||||||
|
import com.zcloud.eightwork.dto.clientobject.ScreenDepartmentStatisticsCO;
|
||||||
import com.zcloud.eightwork.dto.clientobject.ScreenStatusStatisticsCO;
|
import com.zcloud.eightwork.dto.clientobject.ScreenStatusStatisticsCO;
|
||||||
import com.zcloud.eightwork.dto.clientobject.ScreenWorkPageCO;
|
import com.zcloud.eightwork.dto.clientobject.ScreenWorkPageCO;
|
||||||
import com.zcloud.eightwork.dto.clientobject.ScreenWorkRecordCO;
|
import com.zcloud.eightwork.dto.clientobject.ScreenWorkRecordCO;
|
||||||
|
|
@ -23,6 +28,8 @@ import com.zcloud.eightwork.dto.clientobject.StatisticsByWorkTypeCO;
|
||||||
import com.zcloud.eightwork.persistence.dataobject.EightworkInfoDO;
|
import com.zcloud.eightwork.persistence.dataobject.EightworkInfoDO;
|
||||||
import com.zcloud.eightwork.persistence.dataobject.EightworkSupplementaryInfoDO;
|
import com.zcloud.eightwork.persistence.dataobject.EightworkSupplementaryInfoDO;
|
||||||
import com.zcloud.eightwork.persistence.dataobject.dto.DangerWorkStatisticsDTO;
|
import com.zcloud.eightwork.persistence.dataobject.dto.DangerWorkStatisticsDTO;
|
||||||
|
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenDangerWorkDataStatisticsDTO;
|
||||||
|
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenDepartmentStatisticsDTO;
|
||||||
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenStatusStatisticsDTO;
|
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenStatusStatisticsDTO;
|
||||||
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenWorkRecordDTO;
|
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenWorkRecordDTO;
|
||||||
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenWorkTrendDTO;
|
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenWorkTrendDTO;
|
||||||
|
|
@ -114,6 +121,12 @@ public class EightworkInfoQueryExe {
|
||||||
if (statisticsCO.getAppliedCount() == null) {
|
if (statisticsCO.getAppliedCount() == null) {
|
||||||
statisticsCO.setAppliedCount(0L);
|
statisticsCO.setAppliedCount(0L);
|
||||||
}
|
}
|
||||||
|
if (statisticsCO.getWorkingCount() == null) {
|
||||||
|
statisticsCO.setWorkingCount(0L);
|
||||||
|
}
|
||||||
|
if (statisticsCO.getArchivedCount() == null) {
|
||||||
|
statisticsCO.setArchivedCount(0L);
|
||||||
|
}
|
||||||
return statisticsCO;
|
return statisticsCO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -193,6 +206,46 @@ public class EightworkInfoQueryExe {
|
||||||
return PageResponse.of(records, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
return PageResponse.of(records, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<ScreenDepartmentStatisticsCO> screenDepartmentStatistics(ScreenDepartmentStatisticsQry qry) {
|
||||||
|
|
||||||
|
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
|
||||||
|
List<ScreenDepartmentStatisticsDTO> statisticsDTOS = eightworkInfoRepository.screenDepartmentStatistics(params);
|
||||||
|
if (CollUtil.isEmpty(statisticsDTOS)) {
|
||||||
|
return new ArrayList<>();
|
||||||
|
}
|
||||||
|
return statisticsDTOS.stream().map(statisticsDTO -> {
|
||||||
|
ScreenDepartmentStatisticsCO statisticsCO = new ScreenDepartmentStatisticsCO();
|
||||||
|
BeanUtils.copyProperties(statisticsDTO, statisticsCO);
|
||||||
|
if (statisticsCO.getWorkCount() == null) {
|
||||||
|
statisticsCO.setWorkCount(0L);
|
||||||
|
}
|
||||||
|
return statisticsCO;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<ScreenDangerWorkDataStatisticsCO> screenDangerWorkDataStatistics(ScreenDangerWorkDataStatisticsQry qry) {
|
||||||
|
|
||||||
|
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
|
||||||
|
List<ScreenDangerWorkDataStatisticsDTO> statisticsDTOS = eightworkInfoRepository.screenDangerWorkDataStatistics(params);
|
||||||
|
Map<String, ScreenDangerWorkDataStatisticsDTO> statisticsMap = new HashMap<>();
|
||||||
|
if (CollUtil.isNotEmpty(statisticsDTOS)) {
|
||||||
|
statisticsMap = statisticsDTOS.stream()
|
||||||
|
.collect(Collectors.toMap(ScreenDangerWorkDataStatisticsDTO::getWorkType, item -> item, (oldItem, newItem) -> oldItem));
|
||||||
|
}
|
||||||
|
List<ScreenDangerWorkDataStatisticsCO> statisticsCOS = new ArrayList<>();
|
||||||
|
for (WorkCodeEnum workCodeEnum : WorkCodeEnum.values()) {
|
||||||
|
ScreenDangerWorkDataStatisticsDTO statisticsDTO = statisticsMap.get(workCodeEnum.getWorkType());
|
||||||
|
ScreenDangerWorkDataStatisticsCO statisticsCO = new ScreenDangerWorkDataStatisticsCO();
|
||||||
|
statisticsCO.setWorkType(workCodeEnum.getWorkType());
|
||||||
|
statisticsCO.setWorkTypeName(workCodeEnum.getName());
|
||||||
|
statisticsCO.setWorkCount(statisticsDTO == null || statisticsDTO.getWorkCount() == null ? 0L : statisticsDTO.getWorkCount());
|
||||||
|
statisticsCO.setDoingCount(statisticsDTO == null || statisticsDTO.getDoingCount() == null ? 0L : statisticsDTO.getDoingCount());
|
||||||
|
statisticsCO.setPersonCount(statisticsDTO == null || statisticsDTO.getPersonCount() == null ? 0L : statisticsDTO.getPersonCount());
|
||||||
|
statisticsCOS.add(statisticsCO);
|
||||||
|
}
|
||||||
|
return statisticsCOS;
|
||||||
|
}
|
||||||
|
|
||||||
private List<LocalDate> buildDateRange(ScreenWorkTrendQry qry) {
|
private List<LocalDate> buildDateRange(ScreenWorkTrendQry qry) {
|
||||||
LocalDate endDate = LocalDate.now();
|
LocalDate endDate = LocalDate.now();
|
||||||
LocalDate startDate = endDate.minusDays(6);
|
LocalDate startDate = endDate.minusDays(6);
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,8 @@ import com.zcloud.eightwork.dto.DangerWorkStatisticsQry;
|
||||||
import com.zcloud.eightwork.dto.EightworkInfoAddCmd;
|
import com.zcloud.eightwork.dto.EightworkInfoAddCmd;
|
||||||
import com.zcloud.eightwork.dto.EightworkInfoPageQry;
|
import com.zcloud.eightwork.dto.EightworkInfoPageQry;
|
||||||
import com.zcloud.eightwork.dto.EightworkInfoUpdateCmd;
|
import com.zcloud.eightwork.dto.EightworkInfoUpdateCmd;
|
||||||
|
import com.zcloud.eightwork.dto.ScreenDangerWorkDataStatisticsQry;
|
||||||
|
import com.zcloud.eightwork.dto.ScreenDepartmentStatisticsQry;
|
||||||
import com.zcloud.eightwork.dto.ScreenStatisticsQry;
|
import com.zcloud.eightwork.dto.ScreenStatisticsQry;
|
||||||
import com.zcloud.eightwork.dto.ScreenWorkPageQry;
|
import com.zcloud.eightwork.dto.ScreenWorkPageQry;
|
||||||
import com.zcloud.eightwork.dto.ScreenWorkRecordQry;
|
import com.zcloud.eightwork.dto.ScreenWorkRecordQry;
|
||||||
|
|
@ -24,6 +26,8 @@ import com.zcloud.eightwork.dto.ScreenWorkTrendQry;
|
||||||
import com.zcloud.eightwork.dto.TaskLogNextCmd;
|
import com.zcloud.eightwork.dto.TaskLogNextCmd;
|
||||||
import com.zcloud.eightwork.dto.clientobject.DangerWorkStatisticsCO;
|
import com.zcloud.eightwork.dto.clientobject.DangerWorkStatisticsCO;
|
||||||
import com.zcloud.eightwork.dto.clientobject.EightworkInfoCO;
|
import com.zcloud.eightwork.dto.clientobject.EightworkInfoCO;
|
||||||
|
import com.zcloud.eightwork.dto.clientobject.ScreenDangerWorkDataStatisticsCO;
|
||||||
|
import com.zcloud.eightwork.dto.clientobject.ScreenDepartmentStatisticsCO;
|
||||||
import com.zcloud.eightwork.dto.clientobject.ScreenStatusStatisticsCO;
|
import com.zcloud.eightwork.dto.clientobject.ScreenStatusStatisticsCO;
|
||||||
import com.zcloud.eightwork.dto.clientobject.ScreenWorkPageCO;
|
import com.zcloud.eightwork.dto.clientobject.ScreenWorkPageCO;
|
||||||
import com.zcloud.eightwork.dto.clientobject.ScreenWorkRecordCO;
|
import com.zcloud.eightwork.dto.clientobject.ScreenWorkRecordCO;
|
||||||
|
|
@ -202,5 +206,15 @@ public class EightworkInfoServiceImpl implements EightworkInfoServiceI {
|
||||||
public PageResponse<ScreenWorkPageCO> screenWorkPage(ScreenWorkPageQry qry) {
|
public PageResponse<ScreenWorkPageCO> screenWorkPage(ScreenWorkPageQry qry) {
|
||||||
return eightworkInfoQueryExe.screenWorkPage(qry);
|
return eightworkInfoQueryExe.screenWorkPage(qry);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ScreenDepartmentStatisticsCO> screenDepartmentStatistics(ScreenDepartmentStatisticsQry qry) {
|
||||||
|
return eightworkInfoQueryExe.screenDepartmentStatistics(qry);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ScreenDangerWorkDataStatisticsCO> screenDangerWorkDataStatistics(ScreenDangerWorkDataStatisticsQry qry) {
|
||||||
|
return eightworkInfoQueryExe.screenDangerWorkDataStatistics(qry);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,16 @@ import com.zcloud.eightwork.dto.DangerWorkStatisticsQry;
|
||||||
import com.zcloud.eightwork.dto.EightworkInfoAddCmd;
|
import com.zcloud.eightwork.dto.EightworkInfoAddCmd;
|
||||||
import com.zcloud.eightwork.dto.EightworkInfoPageQry;
|
import com.zcloud.eightwork.dto.EightworkInfoPageQry;
|
||||||
import com.zcloud.eightwork.dto.EightworkInfoUpdateCmd;
|
import com.zcloud.eightwork.dto.EightworkInfoUpdateCmd;
|
||||||
|
import com.zcloud.eightwork.dto.ScreenDangerWorkDataStatisticsQry;
|
||||||
|
import com.zcloud.eightwork.dto.ScreenDepartmentStatisticsQry;
|
||||||
import com.zcloud.eightwork.dto.ScreenStatisticsQry;
|
import com.zcloud.eightwork.dto.ScreenStatisticsQry;
|
||||||
import com.zcloud.eightwork.dto.ScreenWorkPageQry;
|
import com.zcloud.eightwork.dto.ScreenWorkPageQry;
|
||||||
import com.zcloud.eightwork.dto.ScreenWorkRecordQry;
|
import com.zcloud.eightwork.dto.ScreenWorkRecordQry;
|
||||||
import com.zcloud.eightwork.dto.ScreenWorkTrendQry;
|
import com.zcloud.eightwork.dto.ScreenWorkTrendQry;
|
||||||
import com.zcloud.eightwork.dto.clientobject.DangerWorkStatisticsCO;
|
import com.zcloud.eightwork.dto.clientobject.DangerWorkStatisticsCO;
|
||||||
import com.zcloud.eightwork.dto.clientobject.EightworkInfoCO;
|
import com.zcloud.eightwork.dto.clientobject.EightworkInfoCO;
|
||||||
|
import com.zcloud.eightwork.dto.clientobject.ScreenDangerWorkDataStatisticsCO;
|
||||||
|
import com.zcloud.eightwork.dto.clientobject.ScreenDepartmentStatisticsCO;
|
||||||
import com.zcloud.eightwork.dto.clientobject.ScreenStatusStatisticsCO;
|
import com.zcloud.eightwork.dto.clientobject.ScreenStatusStatisticsCO;
|
||||||
import com.zcloud.eightwork.dto.clientobject.ScreenWorkPageCO;
|
import com.zcloud.eightwork.dto.clientobject.ScreenWorkPageCO;
|
||||||
import com.zcloud.eightwork.dto.clientobject.ScreenWorkRecordCO;
|
import com.zcloud.eightwork.dto.clientobject.ScreenWorkRecordCO;
|
||||||
|
|
@ -69,5 +73,9 @@ public interface EightworkInfoServiceI {
|
||||||
PageResponse<ScreenWorkRecordCO> screenWorkRecord(ScreenWorkRecordQry qry);
|
PageResponse<ScreenWorkRecordCO> screenWorkRecord(ScreenWorkRecordQry qry);
|
||||||
|
|
||||||
PageResponse<ScreenWorkPageCO> screenWorkPage(ScreenWorkPageQry qry);
|
PageResponse<ScreenWorkPageCO> screenWorkPage(ScreenWorkPageQry qry);
|
||||||
|
|
||||||
|
List<ScreenDepartmentStatisticsCO> screenDepartmentStatistics(ScreenDepartmentStatisticsQry qry);
|
||||||
|
|
||||||
|
List<ScreenDangerWorkDataStatisticsCO> screenDangerWorkDataStatistics(ScreenDangerWorkDataStatisticsQry qry);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
package com.zcloud.eightwork.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 可视化大屏危险作业数据统计查询
|
||||||
|
*
|
||||||
|
* @author codex
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ScreenDangerWorkDataStatisticsQry implements Serializable {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "企业id", name = "corpinfoId")
|
||||||
|
private Long corpinfoId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "港区,1:秦皇岛港区,2:秦皇岛东,3:秦皇岛西", name = "portArea")
|
||||||
|
private Integer portArea;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
package com.zcloud.eightwork.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 可视化大屏部门统计查询
|
||||||
|
*
|
||||||
|
* @author codex
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ScreenDepartmentStatisticsQry implements Serializable {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "企业id", name = "corpinfoId")
|
||||||
|
private Long corpinfoId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "港区,1:秦皇岛港区,2:秦皇岛东,3:秦皇岛西", name = "portArea")
|
||||||
|
private Integer portArea;
|
||||||
|
}
|
||||||
|
|
@ -16,4 +16,10 @@ public class DangerWorkStatisticsCO extends ClientObject {
|
||||||
|
|
||||||
@ApiModelProperty(value = "已申请数量")
|
@ApiModelProperty(value = "已申请数量")
|
||||||
private Long appliedCount;
|
private Long appliedCount;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "作业中数量")
|
||||||
|
private Long workingCount;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "已归档数量")
|
||||||
|
private Long archivedCount;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
package com.zcloud.eightwork.dto.clientobject;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.ClientObject;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 可视化大屏危险作业数据统计
|
||||||
|
*
|
||||||
|
* @author codex
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ScreenDangerWorkDataStatisticsCO extends ClientObject {
|
||||||
|
@ApiModelProperty(value = "作业类型")
|
||||||
|
private String workType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "作业类型名称")
|
||||||
|
private String workTypeName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "作业数量")
|
||||||
|
private Long workCount;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "进行中作业数")
|
||||||
|
private Long doingCount;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "人员数")
|
||||||
|
private Long personCount;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
package com.zcloud.eightwork.dto.clientobject;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.ClientObject;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 可视化大屏部门统计
|
||||||
|
*
|
||||||
|
* @author codex
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ScreenDepartmentStatisticsCO extends ClientObject {
|
||||||
|
@ApiModelProperty(value = "部门id")
|
||||||
|
private Long departmentId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "部门名称")
|
||||||
|
private String departmentName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "作业数量")
|
||||||
|
private Long workCount;
|
||||||
|
}
|
||||||
|
|
@ -11,4 +11,6 @@ import lombok.Data;
|
||||||
public class DangerWorkStatisticsDTO {
|
public class DangerWorkStatisticsDTO {
|
||||||
private Long doingCount;
|
private Long doingCount;
|
||||||
private Long appliedCount;
|
private Long appliedCount;
|
||||||
|
private Long workingCount;
|
||||||
|
private Long archivedCount;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
package com.zcloud.eightwork.persistence.dataobject.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 可视化大屏危险作业数据统计
|
||||||
|
*
|
||||||
|
* @author codex
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ScreenDangerWorkDataStatisticsDTO {
|
||||||
|
private String workType;
|
||||||
|
private Long workCount;
|
||||||
|
private Long doingCount;
|
||||||
|
private Long personCount;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
package com.zcloud.eightwork.persistence.dataobject.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 可视化大屏部门统计
|
||||||
|
*
|
||||||
|
* @author codex
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ScreenDepartmentStatisticsDTO {
|
||||||
|
private Long departmentId;
|
||||||
|
private String departmentName;
|
||||||
|
private Long workCount;
|
||||||
|
}
|
||||||
|
|
@ -7,6 +7,8 @@ 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.eightwork.persistence.dataobject.EightworkInfoDO;
|
import com.zcloud.eightwork.persistence.dataobject.EightworkInfoDO;
|
||||||
import com.zcloud.eightwork.persistence.dataobject.dto.DangerWorkStatisticsDTO;
|
import com.zcloud.eightwork.persistence.dataobject.dto.DangerWorkStatisticsDTO;
|
||||||
|
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenDangerWorkDataStatisticsDTO;
|
||||||
|
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenDepartmentStatisticsDTO;
|
||||||
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenStatusStatisticsDTO;
|
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenStatusStatisticsDTO;
|
||||||
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenWorkRecordDTO;
|
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenWorkRecordDTO;
|
||||||
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenWorkTrendDTO;
|
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenWorkTrendDTO;
|
||||||
|
|
@ -42,5 +44,9 @@ public interface EightworkInfoMapper extends BaseMapper<EightworkInfoDO> {
|
||||||
IPage<ScreenWorkRecordDTO> screenWorkRecord(Page<Map<String, Object>> page, @Param("params") Map<String, Object> params);
|
IPage<ScreenWorkRecordDTO> screenWorkRecord(Page<Map<String, Object>> page, @Param("params") Map<String, Object> params);
|
||||||
|
|
||||||
IPage<ScreenWorkRecordDTO> screenWorkPage(Page<Map<String, Object>> page, @Param("params") Map<String, Object> params);
|
IPage<ScreenWorkRecordDTO> screenWorkPage(Page<Map<String, Object>> page, @Param("params") Map<String, Object> params);
|
||||||
|
|
||||||
|
List<ScreenDepartmentStatisticsDTO> screenDepartmentStatistics(@Param("params") Map<String, Object> params);
|
||||||
|
|
||||||
|
List<ScreenDangerWorkDataStatisticsDTO> screenDangerWorkDataStatistics(@Param("params") Map<String, Object> params);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,8 @@ 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.eightwork.persistence.dataobject.EightworkInfoDO;
|
import com.zcloud.eightwork.persistence.dataobject.EightworkInfoDO;
|
||||||
import com.zcloud.eightwork.persistence.dataobject.dto.DangerWorkStatisticsDTO;
|
import com.zcloud.eightwork.persistence.dataobject.dto.DangerWorkStatisticsDTO;
|
||||||
|
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenDangerWorkDataStatisticsDTO;
|
||||||
|
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenDepartmentStatisticsDTO;
|
||||||
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenStatusStatisticsDTO;
|
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenStatusStatisticsDTO;
|
||||||
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenWorkRecordDTO;
|
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenWorkRecordDTO;
|
||||||
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenWorkTrendDTO;
|
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenWorkTrendDTO;
|
||||||
|
|
@ -39,6 +41,10 @@ public interface EightworkInfoRepository extends BaseRepository<EightworkInfoDO>
|
||||||
|
|
||||||
PageResponse<ScreenWorkRecordDTO> screenWorkPage(Map<String, Object> params);
|
PageResponse<ScreenWorkRecordDTO> screenWorkPage(Map<String, Object> params);
|
||||||
|
|
||||||
|
List<ScreenDepartmentStatisticsDTO> screenDepartmentStatistics(Map<String, Object> params);
|
||||||
|
|
||||||
|
List<ScreenDangerWorkDataStatisticsDTO> screenDangerWorkDataStatistics(Map<String, Object> params);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 使用 CAS 方式更新 lockFlag(乐观锁)
|
* 使用 CAS 方式更新 lockFlag(乐观锁)
|
||||||
* 只有当 lockFlag 和 status 都匹配时才更新
|
* 只有当 lockFlag 和 status 都匹配时才更新
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,8 @@ import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||||
import com.zcloud.eightwork.domain.model.enums.MenuEnum;
|
import com.zcloud.eightwork.domain.model.enums.MenuEnum;
|
||||||
import com.zcloud.eightwork.persistence.dataobject.EightworkInfoDO;
|
import com.zcloud.eightwork.persistence.dataobject.EightworkInfoDO;
|
||||||
import com.zcloud.eightwork.persistence.dataobject.dto.DangerWorkStatisticsDTO;
|
import com.zcloud.eightwork.persistence.dataobject.dto.DangerWorkStatisticsDTO;
|
||||||
|
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenDangerWorkDataStatisticsDTO;
|
||||||
|
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenDepartmentStatisticsDTO;
|
||||||
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenStatusStatisticsDTO;
|
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenStatusStatisticsDTO;
|
||||||
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenWorkRecordDTO;
|
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenWorkRecordDTO;
|
||||||
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenWorkTrendDTO;
|
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenWorkTrendDTO;
|
||||||
|
|
@ -106,6 +108,16 @@ public class EightworkInfoRepositoryImpl extends BaseRepositoryImpl<EightworkInf
|
||||||
return PageHelper.pageToResponse(iPage, iPage.getRecords());
|
return PageHelper.pageToResponse(iPage, iPage.getRecords());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ScreenDepartmentStatisticsDTO> screenDepartmentStatistics(Map<String, Object> params) {
|
||||||
|
return eightworkInfoMapper.screenDepartmentStatistics(params);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ScreenDangerWorkDataStatisticsDTO> screenDangerWorkDataStatistics(Map<String, Object> params) {
|
||||||
|
return eightworkInfoMapper.screenDangerWorkDataStatistics(params);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean updateLockFlagToLocked(Long id, Integer expectedLockFlag, Integer newLockFlag, Integer expectedStatus) {
|
public boolean updateLockFlagToLocked(Long id, Integer expectedLockFlag, Integer newLockFlag, Integer expectedStatus) {
|
||||||
LambdaUpdateWrapper<EightworkInfoDO> updateWrapper = new LambdaUpdateWrapper<>();
|
LambdaUpdateWrapper<EightworkInfoDO> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
|
|
|
||||||
|
|
@ -136,7 +136,9 @@
|
||||||
<select id="dangerWorkStatistics" resultType="com.zcloud.eightwork.persistence.dataobject.dto.DangerWorkStatisticsDTO">
|
<select id="dangerWorkStatistics" resultType="com.zcloud.eightwork.persistence.dataobject.dto.DangerWorkStatisticsDTO">
|
||||||
select
|
select
|
||||||
coalesce(sum(case when t.status = 1 then 1 else 0 end), 0) as doingCount,
|
coalesce(sum(case when t.status = 1 then 1 else 0 end), 0) as doingCount,
|
||||||
coalesce(sum(case when t.status != 0 then 1 else 0 end), 0) as appliedCount
|
coalesce(sum(case when t.status != 0 then 1 else 0 end), 0) as appliedCount,
|
||||||
|
coalesce(sum(case when t.status = 1 then 1 else 0 end), 0) as workingCount,
|
||||||
|
coalesce(sum(case when t.status = 999 then 1 else 0 end), 0) as archivedCount
|
||||||
from eightwork_info t
|
from eightwork_info t
|
||||||
where t.delete_enum = 'FALSE'
|
where t.delete_enum = 'FALSE'
|
||||||
<if test="params.corpinfoId != null">
|
<if test="params.corpinfoId != null">
|
||||||
|
|
@ -245,4 +247,45 @@
|
||||||
order by t.create_time desc
|
order by t.create_time desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="screenDepartmentStatistics" resultType="com.zcloud.eightwork.persistence.dataobject.dto.ScreenDepartmentStatisticsDTO">
|
||||||
|
select
|
||||||
|
t.department_id as departmentId,
|
||||||
|
max(t.department_name) as departmentName,
|
||||||
|
count(1) as workCount
|
||||||
|
from eightwork_info t
|
||||||
|
left join vi_corp_info c on t.corpinfo_id = c.id
|
||||||
|
where t.delete_enum = 'FALSE'
|
||||||
|
and c.delete_enum = 'FALSE'
|
||||||
|
and t.status != 0
|
||||||
|
<if test="params.corpinfoId != null">
|
||||||
|
and t.corpinfo_id = #{params.corpinfoId}
|
||||||
|
</if>
|
||||||
|
<if test="params.portArea != null">
|
||||||
|
and c.port_area = #{params.portArea}
|
||||||
|
</if>
|
||||||
|
group by t.department_id
|
||||||
|
order by workCount desc
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="screenDangerWorkDataStatistics" resultType="com.zcloud.eightwork.persistence.dataobject.dto.ScreenDangerWorkDataStatisticsDTO">
|
||||||
|
select
|
||||||
|
t.work_type as workType,
|
||||||
|
count(distinct case when t.status != 0 then t.work_id end) as workCount,
|
||||||
|
count(distinct case when t.status = 1 then t.work_id end) as doingCount,
|
||||||
|
count(distinct case when log.act_user is not null then log.act_user end) as personCount
|
||||||
|
from eightwork_info t
|
||||||
|
left join vi_corp_info c on t.corpinfo_id = c.id
|
||||||
|
left join task_log log on log.work_id = t.work_id
|
||||||
|
where t.delete_enum = 'FALSE'
|
||||||
|
and c.delete_enum = 'FALSE'
|
||||||
|
and t.status != 0
|
||||||
|
<if test="params.corpinfoId != null">
|
||||||
|
and t.corpinfo_id = #{params.corpinfoId}
|
||||||
|
</if>
|
||||||
|
<if test="params.portArea != null">
|
||||||
|
and c.port_area = #{params.portArea}
|
||||||
|
</if>
|
||||||
|
group by t.work_type
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue