diff --git a/web-adapter/src/main/java/com/zcloud/eightwork/web/EightworkInfoController.java b/web-adapter/src/main/java/com/zcloud/eightwork/web/EightworkInfoController.java index 55a7b45..85799db 100644 --- a/web-adapter/src/main/java/com/zcloud/eightwork/web/EightworkInfoController.java +++ b/web-adapter/src/main/java/com/zcloud/eightwork/web/EightworkInfoController.java @@ -2,11 +2,13 @@ package com.zcloud.eightwork.web; import com.zcloud.eightwork.api.EightworkInfoServiceI; +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.EightworkInfoWithdrawCmd; import com.zcloud.eightwork.dto.ForceTerminateCmd; +import com.zcloud.eightwork.dto.clientobject.DangerWorkStatisticsCO; import com.zcloud.eightwork.dto.clientobject.StatisticsByWorkTypeCO; import com.zcloud.eightwork.dto.clientobject.EightworkInfoCO; import com.alibaba.cola.dto.MultiResponse; @@ -112,5 +114,11 @@ public class EightworkInfoController { eightworkInfoService.exportConfinedspace(qry,httpServletResponse); } + @ApiOperation("可视化大屏-危险作业统计数量") + @PostMapping("/dangerWorkStatistics") + public SingleResponse dangerWorkStatistics(@RequestBody DangerWorkStatisticsQry qry) { + return SingleResponse.of(eightworkInfoService.dangerWorkStatistics(qry)); + } + } diff --git a/web-app/src/main/java/com/zcloud/eightwork/command/query/EightworkInfoQueryExe.java b/web-app/src/main/java/com/zcloud/eightwork/command/query/EightworkInfoQueryExe.java index 1951ff6..ce0b08b 100644 --- a/web-app/src/main/java/com/zcloud/eightwork/command/query/EightworkInfoQueryExe.java +++ b/web-app/src/main/java/com/zcloud/eightwork/command/query/EightworkInfoQueryExe.java @@ -6,11 +6,14 @@ import com.jjb.saas.framework.auth.utils.AuthContext; import com.zcloud.eightwork.command.convertor.EightworkInfoCoConvertor; 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.clientobject.DangerWorkStatisticsCO; import com.zcloud.eightwork.dto.clientobject.EightworkInfoCO; 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.StatisticsByWorkTypeDTO; import com.zcloud.eightwork.persistence.repository.EightworkInfoRepository; import com.zcloud.eightwork.persistence.repository.EightworkSupplementaryInfoRepository; @@ -82,6 +85,26 @@ public class EightworkInfoQueryExe { }).collect(Collectors.toList()); } + public DangerWorkStatisticsCO dangerWorkStatistics(DangerWorkStatisticsQry qry) { + Map params = new HashMap<>(); + if (qry != null) { + params.put("corpinfoId", qry.getCorpinfoId()); + } + DangerWorkStatisticsDTO statisticsDTO = eightworkInfoRepository.dangerWorkStatistics(params); + if (statisticsDTO == null) { + return new DangerWorkStatisticsCO(); + } + DangerWorkStatisticsCO statisticsCO = new DangerWorkStatisticsCO(); + BeanUtils.copyProperties(statisticsDTO, statisticsCO); + if (statisticsCO.getDoingCount() == null) { + statisticsCO.setDoingCount(0L); + } + if (statisticsCO.getAppliedCount() == null) { + statisticsCO.setAppliedCount(0L); + } + return statisticsCO; + } + public void exportConfinedspace(EightworkInfoPageQry qry, HttpServletResponse httpServletResponse) { // Map params = new HashMap<>(); // params.put("ids",ids); diff --git a/web-app/src/main/java/com/zcloud/eightwork/service/EightworkInfoServiceImpl.java b/web-app/src/main/java/com/zcloud/eightwork/service/EightworkInfoServiceImpl.java index 2e4dfdd..13f5a1b 100644 --- a/web-app/src/main/java/com/zcloud/eightwork/service/EightworkInfoServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/eightwork/service/EightworkInfoServiceImpl.java @@ -13,10 +13,12 @@ import com.zcloud.eightwork.command.query.EightworkInfoQueryExe; import com.zcloud.eightwork.domain.gateway.TaskLogGateway; import com.zcloud.eightwork.domain.model.TaskLogE; import com.zcloud.eightwork.domain.model.enums.TaskLogStatus; +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.TaskLogNextCmd; +import com.zcloud.eightwork.dto.clientobject.DangerWorkStatisticsCO; import com.zcloud.eightwork.dto.clientobject.EightworkInfoCO; import com.zcloud.eightwork.dto.clientobject.StatisticsByWorkTypeCO; import com.zcloud.eightwork.persistence.dataobject.EightworkInfoDO; @@ -167,5 +169,10 @@ public class EightworkInfoServiceImpl implements EightworkInfoServiceI { public void exportConfinedspace(EightworkInfoPageQry qry, HttpServletResponse httpServletResponse) { eightworkInfoQueryExe.exportConfinedspace(qry,httpServletResponse); } + + @Override + public DangerWorkStatisticsCO dangerWorkStatistics(DangerWorkStatisticsQry qry) { + return eightworkInfoQueryExe.dangerWorkStatistics(qry); + } } diff --git a/web-client/src/main/java/com/zcloud/eightwork/api/EightworkInfoServiceI.java b/web-client/src/main/java/com/zcloud/eightwork/api/EightworkInfoServiceI.java index e03a1e1..dd2d9d0 100644 --- a/web-client/src/main/java/com/zcloud/eightwork/api/EightworkInfoServiceI.java +++ b/web-client/src/main/java/com/zcloud/eightwork/api/EightworkInfoServiceI.java @@ -2,9 +2,11 @@ package com.zcloud.eightwork.api; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; +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.clientobject.DangerWorkStatisticsCO; import com.zcloud.eightwork.dto.clientobject.EightworkInfoCO; import com.zcloud.eightwork.dto.clientobject.StatisticsByWorkTypeCO; @@ -49,5 +51,7 @@ public interface EightworkInfoServiceI { void withdraw(Long id, String reason); void exportConfinedspace(EightworkInfoPageQry ids, HttpServletResponse httpServletResponse); + + DangerWorkStatisticsCO dangerWorkStatistics(DangerWorkStatisticsQry qry); } diff --git a/web-client/src/main/java/com/zcloud/eightwork/dto/DangerWorkStatisticsQry.java b/web-client/src/main/java/com/zcloud/eightwork/dto/DangerWorkStatisticsQry.java new file mode 100644 index 0000000..2c0a158 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/eightwork/dto/DangerWorkStatisticsQry.java @@ -0,0 +1,19 @@ +package com.zcloud.eightwork.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * 可视化大屏危险作业统计查询 + * + * @author codex + */ +@Data +public class DangerWorkStatisticsQry implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "企业ID") + private Long corpinfoId; +} diff --git a/web-client/src/main/java/com/zcloud/eightwork/dto/clientobject/DangerWorkStatisticsCO.java b/web-client/src/main/java/com/zcloud/eightwork/dto/clientobject/DangerWorkStatisticsCO.java new file mode 100644 index 0000000..b5196b1 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/eightwork/dto/clientobject/DangerWorkStatisticsCO.java @@ -0,0 +1,19 @@ +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 DangerWorkStatisticsCO extends ClientObject { + @ApiModelProperty(value = "进行中数量") + private Long doingCount; + + @ApiModelProperty(value = "已申请数量") + private Long appliedCount; +} diff --git a/web-infrastructure/src/main/java/com/zcloud/eightwork/persistence/dataobject/dto/DangerWorkStatisticsDTO.java b/web-infrastructure/src/main/java/com/zcloud/eightwork/persistence/dataobject/dto/DangerWorkStatisticsDTO.java new file mode 100644 index 0000000..7b6f8c0 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/eightwork/persistence/dataobject/dto/DangerWorkStatisticsDTO.java @@ -0,0 +1,14 @@ +package com.zcloud.eightwork.persistence.dataobject.dto; + +import lombok.Data; + +/** + * 可视化大屏危险作业统计数量 + * + * @author codex + */ +@Data +public class DangerWorkStatisticsDTO { + private Long doingCount; + private Long appliedCount; +} diff --git a/web-infrastructure/src/main/java/com/zcloud/eightwork/persistence/mapper/EightworkInfoMapper.java b/web-infrastructure/src/main/java/com/zcloud/eightwork/persistence/mapper/EightworkInfoMapper.java index d6a31c3..cfc7c39 100644 --- a/web-infrastructure/src/main/java/com/zcloud/eightwork/persistence/mapper/EightworkInfoMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/eightwork/persistence/mapper/EightworkInfoMapper.java @@ -6,6 +6,7 @@ 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.eightwork.persistence.dataobject.EightworkInfoDO; +import com.zcloud.eightwork.persistence.dataobject.dto.DangerWorkStatisticsDTO; import com.zcloud.eightwork.persistence.dataobject.dto.StatisticsByWorkTypeDTO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -28,5 +29,7 @@ public interface EightworkInfoMapper extends BaseMapper { IPage listPage(Page> page, @Param("params") Map parmas, String menuPerms); List statisticsByWorkType(@Param("params") Map params); + + DangerWorkStatisticsDTO dangerWorkStatistics(@Param("params") Map params); } diff --git a/web-infrastructure/src/main/java/com/zcloud/eightwork/persistence/repository/EightworkInfoRepository.java b/web-infrastructure/src/main/java/com/zcloud/eightwork/persistence/repository/EightworkInfoRepository.java index cfe0176..896bbc8 100644 --- a/web-infrastructure/src/main/java/com/zcloud/eightwork/persistence/repository/EightworkInfoRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/eightwork/persistence/repository/EightworkInfoRepository.java @@ -3,6 +3,7 @@ package com.zcloud.eightwork.persistence.repository; 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.StatisticsByWorkTypeDTO; import java.util.List; @@ -25,6 +26,8 @@ public interface EightworkInfoRepository extends BaseRepository List statisticsByWorkType(Map params); + DangerWorkStatisticsDTO dangerWorkStatistics(Map params); + /** * 使用 CAS 方式更新 lockFlag(乐观锁) * 只有当 lockFlag 和 status 都匹配时才更新 diff --git a/web-infrastructure/src/main/java/com/zcloud/eightwork/persistence/repository/impl/EightworkInfoRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/eightwork/persistence/repository/impl/EightworkInfoRepositoryImpl.java index 4a33f4f..bd04cb7 100644 --- a/web-infrastructure/src/main/java/com/zcloud/eightwork/persistence/repository/impl/EightworkInfoRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/eightwork/persistence/repository/impl/EightworkInfoRepositoryImpl.java @@ -10,6 +10,7 @@ import com.jjb.saas.framework.repository.common.PageHelper; 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.StatisticsByWorkTypeDTO; import com.zcloud.eightwork.persistence.mapper.EightworkInfoMapper; import com.zcloud.eightwork.persistence.repository.EightworkInfoRepository; @@ -73,6 +74,11 @@ public class EightworkInfoRepositoryImpl extends BaseRepositoryImpl params) { + return eightworkInfoMapper.dangerWorkStatistics(params); + } + @Override public boolean updateLockFlagToLocked(Long id, Integer expectedLockFlag, Integer newLockFlag, Integer expectedStatus) { LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); diff --git a/web-infrastructure/src/main/resources/mapper/EightworkInfoMapper.xml b/web-infrastructure/src/main/resources/mapper/EightworkInfoMapper.xml index ef50150..a4b0b74 100644 --- a/web-infrastructure/src/main/resources/mapper/EightworkInfoMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/EightworkInfoMapper.xml @@ -133,4 +133,15 @@ group by t.corpinfo_id + +