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.EightworkInfoWithdrawCmd;
|
||||
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.ScreenWorkPageQry;
|
||||
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.StatisticsByWorkTypeCO;
|
||||
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.ScreenWorkPageCO;
|
||||
import com.zcloud.eightwork.dto.clientobject.ScreenWorkRecordCO;
|
||||
|
|
@ -152,5 +156,17 @@ public class EightworkInfoController {
|
|||
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 com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
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.dto.DangerWorkStatisticsQry;
|
||||
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.ScreenWorkPageQry;
|
||||
import com.zcloud.eightwork.dto.ScreenWorkRecordQry;
|
||||
import com.zcloud.eightwork.dto.ScreenWorkTrendQry;
|
||||
import com.zcloud.eightwork.dto.clientobject.DangerWorkStatisticsCO;
|
||||
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.ScreenWorkPageCO;
|
||||
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.EightworkSupplementaryInfoDO;
|
||||
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.ScreenWorkRecordDTO;
|
||||
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenWorkTrendDTO;
|
||||
|
|
@ -114,6 +121,12 @@ public class EightworkInfoQueryExe {
|
|||
if (statisticsCO.getAppliedCount() == null) {
|
||||
statisticsCO.setAppliedCount(0L);
|
||||
}
|
||||
if (statisticsCO.getWorkingCount() == null) {
|
||||
statisticsCO.setWorkingCount(0L);
|
||||
}
|
||||
if (statisticsCO.getArchivedCount() == null) {
|
||||
statisticsCO.setArchivedCount(0L);
|
||||
}
|
||||
return statisticsCO;
|
||||
}
|
||||
|
||||
|
|
@ -193,6 +206,46 @@ public class EightworkInfoQueryExe {
|
|||
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) {
|
||||
LocalDate endDate = LocalDate.now();
|
||||
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.EightworkInfoPageQry;
|
||||
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.ScreenWorkPageQry;
|
||||
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.clientobject.DangerWorkStatisticsCO;
|
||||
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.ScreenWorkPageCO;
|
||||
import com.zcloud.eightwork.dto.clientobject.ScreenWorkRecordCO;
|
||||
|
|
@ -202,5 +206,15 @@ public class EightworkInfoServiceImpl implements EightworkInfoServiceI {
|
|||
public PageResponse<ScreenWorkPageCO> screenWorkPage(ScreenWorkPageQry 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.EightworkInfoPageQry;
|
||||
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.ScreenWorkPageQry;
|
||||
import com.zcloud.eightwork.dto.ScreenWorkRecordQry;
|
||||
import com.zcloud.eightwork.dto.ScreenWorkTrendQry;
|
||||
import com.zcloud.eightwork.dto.clientobject.DangerWorkStatisticsCO;
|
||||
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.ScreenWorkPageCO;
|
||||
import com.zcloud.eightwork.dto.clientobject.ScreenWorkRecordCO;
|
||||
|
|
@ -69,5 +73,9 @@ public interface EightworkInfoServiceI {
|
|||
PageResponse<ScreenWorkRecordCO> screenWorkRecord(ScreenWorkRecordQry 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 = "已申请数量")
|
||||
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 {
|
||||
private Long doingCount;
|
||||
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.zcloud.eightwork.persistence.dataobject.EightworkInfoDO;
|
||||
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.ScreenWorkRecordDTO;
|
||||
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> 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.zcloud.eightwork.persistence.dataobject.EightworkInfoDO;
|
||||
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.ScreenWorkRecordDTO;
|
||||
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);
|
||||
|
||||
List<ScreenDepartmentStatisticsDTO> screenDepartmentStatistics(Map<String, Object> params);
|
||||
|
||||
List<ScreenDangerWorkDataStatisticsDTO> screenDangerWorkDataStatistics(Map<String, Object> params);
|
||||
|
||||
/**
|
||||
* 使用 CAS 方式更新 lockFlag(乐观锁)
|
||||
* 只有当 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.persistence.dataobject.EightworkInfoDO;
|
||||
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.ScreenWorkRecordDTO;
|
||||
import com.zcloud.eightwork.persistence.dataobject.dto.ScreenWorkTrendDTO;
|
||||
|
|
@ -106,6 +108,16 @@ public class EightworkInfoRepositoryImpl extends BaseRepositoryImpl<EightworkInf
|
|||
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
|
||||
public boolean updateLockFlagToLocked(Long id, Integer expectedLockFlag, Integer newLockFlag, Integer expectedStatus) {
|
||||
LambdaUpdateWrapper<EightworkInfoDO> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
|
|
|
|||
|
|
@ -136,7 +136,9 @@
|
|||
<select id="dangerWorkStatistics" resultType="com.zcloud.eightwork.persistence.dataobject.dto.DangerWorkStatisticsDTO">
|
||||
select
|
||||
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
|
||||
where t.delete_enum = 'FALSE'
|
||||
<if test="params.corpinfoId != null">
|
||||
|
|
@ -245,4 +247,45 @@
|
|||
order by t.create_time desc
|
||||
</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>
|
||||
|
|
|
|||
Loading…
Reference in New Issue