diff --git a/src/main/java/com/zhgd/xmgl/modules/baotou/controller/HeightPermitController.java b/src/main/java/com/zhgd/xmgl/modules/baotou/controller/HeightPermitController.java index fe34ff4ff..9a1f491a8 100644 --- a/src/main/java/com/zhgd/xmgl/modules/baotou/controller/HeightPermitController.java +++ b/src/main/java/com/zhgd/xmgl/modules/baotou/controller/HeightPermitController.java @@ -191,4 +191,11 @@ public class HeightPermitController { return Result.success(heightPermitService.queryById(id)); } + @ApiOperation(value = "统计作业", notes = "统计作业", httpMethod = "GET") + @ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "query", required = true, dataType = "String") + @GetMapping(value = "/countWork") + public Result> countWork(String projectSn) { + return Result.success(heightPermitService.countWork(projectSn)); + } + } diff --git a/src/main/java/com/zhgd/xmgl/modules/baotou/service/IHeightPermitService.java b/src/main/java/com/zhgd/xmgl/modules/baotou/service/IHeightPermitService.java index 3ec88f9a4..77b9ce2b3 100644 --- a/src/main/java/com/zhgd/xmgl/modules/baotou/service/IHeightPermitService.java +++ b/src/main/java/com/zhgd/xmgl/modules/baotou/service/IHeightPermitService.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.core.metadata.IPage; import java.util.HashMap; import java.util.List; +import java.util.Map; /** * @Description: 高处作业许可证 @@ -50,4 +51,5 @@ public interface IHeightPermitService extends IService { */ HeightPermit queryById(String id); + Map countWork(String projectSn); } diff --git a/src/main/java/com/zhgd/xmgl/modules/baotou/service/impl/HeightPermitServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/baotou/service/impl/HeightPermitServiceImpl.java index 1a867c2b6..78b980c02 100644 --- a/src/main/java/com/zhgd/xmgl/modules/baotou/service/impl/HeightPermitServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/baotou/service/impl/HeightPermitServiceImpl.java @@ -1,31 +1,54 @@ package com.zhgd.xmgl.modules.baotou.service.impl; -import com.zhgd.jeecg.common.execption.OpenAlertException; -import com.zhgd.xmgl.modules.baotou.entity.HeightPermit; -import com.zhgd.xmgl.modules.baotou.mapper.HeightPermitMapper; -import com.zhgd.xmgl.modules.baotou.service.IHeightPermitService; -import org.springframework.stereotype.Service; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.zhgd.jeecg.common.system.query.QueryGenerator; -import com.zhgd.xmgl.util.PageUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import java.util.HashMap; -import java.util.List; +import com.zhgd.jeecg.common.execption.OpenAlertException; +import com.zhgd.jeecg.common.system.query.QueryGenerator; +import com.zhgd.xmgl.modules.baotou.entity.ConfinedSpaceOperation; +import com.zhgd.xmgl.modules.baotou.entity.FirstOrderFire; +import com.zhgd.xmgl.modules.baotou.entity.HeightPermit; +import com.zhgd.xmgl.modules.baotou.entity.LiftingOperation; +import com.zhgd.xmgl.modules.baotou.mapper.HeightPermitMapper; +import com.zhgd.xmgl.modules.baotou.service.IConfinedSpaceOperationService; +import com.zhgd.xmgl.modules.baotou.service.IFirstOrderFireService; +import com.zhgd.xmgl.modules.baotou.service.IHeightPermitService; +import com.zhgd.xmgl.modules.baotou.service.ILiftingOperationService; +import com.zhgd.xmgl.util.PageUtil; import com.zhgd.xmgl.util.RefUtil; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * @Description: 高处作业许可证 * @author: pds - * @date: 2024-08-15 + * @date: 2024-08-15 * @version: V1.0 */ @Service public class HeightPermitServiceImpl extends ServiceImpl implements IHeightPermitService { @Autowired private HeightPermitMapper heightPermitMapper; + @Lazy + @Autowired + private IFirstOrderFireService firstOrderFireService; + @Lazy + @Autowired + private IConfinedSpaceOperationService confinedSpaceOperationService; + @Lazy + @Autowired + private ILiftingOperationService liftingOperationService; + @Override public IPage queryPageList(HashMap param) { QueryWrapper queryWrapper = this.getQueryWrapper(param); @@ -60,7 +83,7 @@ public class HeightPermitServiceImpl extends ServiceImpl countWork(String projectSn) { + List permitList = heightPermitMapper.selectList(new LambdaQueryWrapper() + .eq(HeightPermit::getProjectSn, projectSn) + ); + List fireList = firstOrderFireService.list(new LambdaQueryWrapper() + .eq(FirstOrderFire::getProjectSn, projectSn)); + List operationList = confinedSpaceOperationService.list(new LambdaQueryWrapper() + .eq(ConfinedSpaceOperation::getProjectSn, projectSn)); + List liftOperationList = liftingOperationService.list(new LambdaQueryWrapper() + .eq(LiftingOperation::getProjectSn, projectSn)); + DateTime today = DateUtil.beginOfDay(new Date()); + DateTime endToday = DateUtil.endOfDay(new Date()); + DateTime seven = DateUtil.offsetDay(new Date(), -7); + DateTime month = DateUtil.offsetDay(new Date(), -30); + HashMap map = new HashMap<>(); + long c1 = permitList.stream().filter(o -> DateUtil.compare(o.getWorkerTimeBegin(), endToday) <= 0 && DateUtil.compare(o.getWorkerTimeEnd(), today) >= 0).count(); + long c2 = fireList.stream().filter(o -> DateUtil.compare(o.getHotStartTime(), endToday) <= 0 && DateUtil.compare(o.getHotEndTime(), today) >= 0).count(); + long c3 = operationList.stream().filter(o -> DateUtil.compare(o.getJobStartTime(), endToday) <= 0 && DateUtil.compare(o.getJobEndTime(), today) >= 0).count(); + long c4 = liftOperationList.stream().filter(o -> DateUtil.compare(o.getOperationStartTime(), endToday) <= 0 && DateUtil.compare(o.getOperationEndTime(), today) >= 0).count(); + long c11 = permitList.stream().filter(o -> DateUtil.compare(o.getWorkerTimeBegin(), endToday) <= 0 && DateUtil.compare(o.getWorkerTimeEnd(), seven) >= 0).count(); + long c21 = fireList.stream().filter(o -> DateUtil.compare(o.getHotStartTime(), endToday) <= 0 && DateUtil.compare(o.getHotEndTime(), seven) >= 0).count(); + long c31 = operationList.stream().filter(o -> DateUtil.compare(o.getJobStartTime(), endToday) <= 0 && DateUtil.compare(o.getJobEndTime(), seven) >= 0).count(); + long c41 = liftOperationList.stream().filter(o -> DateUtil.compare(o.getOperationStartTime(), endToday) <= 0 && DateUtil.compare(o.getOperationEndTime(), seven) >= 0).count(); + long c12 = permitList.stream().filter(o -> DateUtil.compare(o.getWorkerTimeBegin(), endToday) <= 0 && DateUtil.compare(o.getWorkerTimeEnd(), month) >= 0).count(); + long c22 = fireList.stream().filter(o -> DateUtil.compare(o.getHotStartTime(), endToday) <= 0 && DateUtil.compare(o.getHotEndTime(), month) >= 0).count(); + long c32 = operationList.stream().filter(o -> DateUtil.compare(o.getJobStartTime(), endToday) <= 0 && DateUtil.compare(o.getJobEndTime(), month) >= 0).count(); + long c42 = liftOperationList.stream().filter(o -> DateUtil.compare(o.getOperationStartTime(), endToday) <= 0 && DateUtil.compare(o.getOperationEndTime(), month) >= 0).count(); + map.put("today", c1 + c2 + c3 + c4 + ""); + map.put("seven", c11 + c21 + c31 + c41 + ""); + map.put("month", c12 + c22 + c32 + c42 + ""); + return map; + } + }