From 6444d035c75d9dd5a1d16246f9ebe624d3811027 Mon Sep 17 00:00:00 2001 From: pengjie <17373303529@163.com> Date: Wed, 13 Sep 2023 18:20:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=BF=E5=8A=A1=E5=A2=9E=E5=8A=A0=E5=B1=82?= =?UTF-8?q?=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/GovernmentController.java | 23 ++++++-- .../admin/SystemUserAuthController.java | 9 ++- .../enterprise/EntLifterAlarmController.java | 9 ++- .../government/GovLifterAlarmController.java | 6 ++ .../project/LifterAlarmController.java | 6 ++ .../basicdata/service/IGovernmentService.java | 5 +- .../service/impl/GovernmentServiceImpl.java | 56 ++++++++++--------- .../impl/DangerousEngineeringServiceImpl.java | 26 +++++---- .../statistics/DangerousEngineeringStat.java | 12 ++-- 9 files changed, 97 insertions(+), 55 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/admin/GovernmentController.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/admin/GovernmentController.java index 24d9bcb..759953f 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/admin/GovernmentController.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/admin/GovernmentController.java @@ -93,16 +93,23 @@ public class GovernmentController { /** * 层级查询 - * @param government + * @param map * @return */ @OperLog(operModul = "政务管理", operType = "层级查询", operDesc = "层级查询政务信息") @ApiOperation(value = " 层级查询政务信息", notes = "层级查询政务信息", httpMethod="POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "governmentName", value = "政务名称", paramType = "body", dataType = "String"), + @ApiImplicitParam(name = "pageNo", value = "页数", paramType = "body", required = true, defaultValue = "1", dataType = "Integer"), + @ApiImplicitParam(name = "pageSize", value = "每页条数", paramType = "body", required = true, defaultValue = "10", dataType = "Integer") + }) @PostMapping(value = "/tree") - public Result> treeList(@RequestBody Government government) { - Result> result = new Result>(); - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(government); - List list = governmentService.treeList(queryWrapper); + public Result> treeList(@ApiIgnore @RequestBody Map map) { + Result> result = new Result>(); + QueryWrapper queryWrapper = QueryGenerator.initPageQueryWrapper(Government.class, map); + Page page = PageUtil.getPage(map); + queryWrapper.lambda().orderByDesc(Government::getCreateTime); + Page list = governmentService.treeList(page, queryWrapper); result.setSuccess(true); result.setResult(list); return result; @@ -149,6 +156,12 @@ public class GovernmentController { if(governmentEntity==null) { result.error500("未找到对应实体"); }else { + // 检验政务账号是否已存在 + SystemUser systemUser = systemUserService.getOne(Wrappers.lambdaQuery().eq(SystemUser::getAccount, governmentVo.getAccount())); + if (systemUser != null) { + result.error500("该用户账号已被使用"); + return result; + } boolean ok = governmentService.updateInfo(governmentVo) == 1 ? true : false; if(ok) { result.success("修改成功!"); diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/admin/SystemUserAuthController.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/admin/SystemUserAuthController.java index 3698852..47c3c0a 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/admin/SystemUserAuthController.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/admin/SystemUserAuthController.java @@ -171,17 +171,22 @@ public class SystemUserAuthController { if (user != null) { BeanUtils.copyProperties(user, userInfo); } - if(user==null) { + if(user==null || user.getAccountType() == 5) { result.error500("登录名或密码错误"); } else if(userInfo.getState() == 0) { result.error500("账号未启用,请联系管理员"); } else if(userInfo.getAccountType() != 1) { Government government = governmentService.getGovByUser(userInfo.getAccountType(), userInfo.getSn()); + Government parent = governmentService.getOne(Wrappers.lambdaQuery().eq(Government::getGovernmentId, government.getParentId())); + if (parent.getExpireTime() != null && DateUtil.endOfDay(parent.getExpireTime()).before(new Date())) { + parent.setState(0); + governmentService.updateById(parent); + } if (government.getExpireTime() != null && DateUtil.endOfDay(government.getExpireTime()).before(new Date())) { government.setState(0); governmentService.updateById(government); } - if (government == null || government.getState() == 0) { + if (government == null || government.getState() == 0 || parent.getState() == 0) { result.error500("住建局账号异常,请联系管理员"); } if (!userInfo.getIsManager()) { diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/enterprise/EntLifterAlarmController.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/enterprise/EntLifterAlarmController.java index ea6bc95..b7198e8 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/enterprise/EntLifterAlarmController.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/enterprise/EntLifterAlarmController.java @@ -1,9 +1,8 @@ package com.zhgd.xmgl.modules.basicdata.controller.enterprise; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zhgd.annotation.OperLog; import com.zhgd.jeecg.common.api.vo.Result; @@ -17,6 +16,7 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.MapUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -24,6 +24,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; +import java.util.Date; import java.util.List; import java.util.Map; @@ -64,6 +65,10 @@ public class EntLifterAlarmController { public Result> queryPageList(@ApiIgnore @RequestBody Map map) { QueryWrapper queryWrapper = QueryGenerator.initPageQueryWrapper(LifterAlarm.class, map); Page page = PageUtil.getPage(map); + Integer dayRange = MapUtils.getInteger(map, "dayRange"); + if (dayRange != null) { + queryWrapper.lambda().between(LifterAlarm::getCreateTime, DateUtil.offsetDay(new Date(), -dayRange), DateUtil.endOfDay(new Date())); + } queryWrapper.lambda().orderByDesc(LifterAlarm::getCreateTime); IPage pageList = lifterAlarmService.page(page, queryWrapper); return Result.success(pageList); diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/government/GovLifterAlarmController.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/government/GovLifterAlarmController.java index 0c2644e..f0771e0 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/government/GovLifterAlarmController.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/government/GovLifterAlarmController.java @@ -1,5 +1,6 @@ package com.zhgd.xmgl.modules.basicdata.controller.government; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -26,6 +27,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; +import java.util.Date; import java.util.List; import java.util.Map; @@ -69,6 +71,10 @@ public class GovLifterAlarmController { if (StringUtils.isNotBlank(MapUtils.getString(map, ParamConstants.PROJECT_SN))) { queryWrapper.lambda().eq(LifterAlarm::getEngineeringSn, StrUtil.EMPTY); } + Integer dayRange = MapUtils.getInteger(map, "dayRange"); + if (dayRange != null) { + queryWrapper.lambda().between(LifterAlarm::getCreateTime, DateUtil.offsetDay(new Date(), -dayRange), DateUtil.endOfDay(new Date())); + } queryWrapper.lambda().orderByDesc(LifterAlarm::getCreateTime); IPage pageList = lifterAlarmService.page(page, queryWrapper); return Result.success(pageList); diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/project/LifterAlarmController.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/project/LifterAlarmController.java index 9cf14c2..175864a 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/project/LifterAlarmController.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/project/LifterAlarmController.java @@ -1,5 +1,6 @@ package com.zhgd.xmgl.modules.basicdata.controller.project; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -26,6 +27,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; +import java.util.Date; import java.util.List; import java.util.Map; @@ -69,6 +71,10 @@ public class LifterAlarmController { if (StringUtils.isNotBlank(MapUtils.getString(map, ParamConstants.PROJECT_SN))) { queryWrapper.lambda().eq(LifterAlarm::getEngineeringSn, StrUtil.EMPTY); } + Integer dayRange = MapUtils.getInteger(map, "dayRange"); + if (dayRange != null) { + queryWrapper.lambda().between(LifterAlarm::getCreateTime, DateUtil.offsetDay(new Date(), -dayRange), DateUtil.endOfDay(new Date())); + } queryWrapper.lambda().orderByDesc(LifterAlarm::getCreateTime); IPage pageList = lifterAlarmService.page(page, queryWrapper); return Result.success(pageList); diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/IGovernmentService.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/IGovernmentService.java index ccc8d87..1c05fa2 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/IGovernmentService.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/IGovernmentService.java @@ -1,6 +1,7 @@ package com.zhgd.xmgl.modules.basicdata.service; import com.baomidou.mybatisplus.core.conditions.Wrapper; +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.baomidou.mybatisplus.extension.service.IService; @@ -8,8 +9,6 @@ import com.zhgd.xmgl.modules.basicdata.dto.GovernmentDto; import com.zhgd.xmgl.modules.basicdata.entity.Government; import com.zhgd.xmgl.modules.basicdata.vo.GovernmentVo; -import java.util.List; - /** * @Description: 政务信息 * @author: pds @@ -29,5 +28,5 @@ public interface IGovernmentService extends IService { Government getGovByUser(Integer accountType, String sn); - List treeList(Wrapper queryWrapper); + Page treeList(Page page, QueryWrapper queryWrapper); } diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/GovernmentServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/GovernmentServiceImpl.java index fc3ce4e..5cea945 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/GovernmentServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/GovernmentServiceImpl.java @@ -3,6 +3,7 @@ package com.zhgd.xmgl.modules.basicdata.service.impl; import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -55,20 +56,7 @@ public class GovernmentServiceImpl extends ServiceImpl selectPage(Page page, Wrapper wrapper) { Page pageList = this.page(page, wrapper); - List projectList = new ArrayList<>(); - if (pageList.getRecords().size() > 0) { - projectList = projectMapper.selectList(Wrappers.lambdaQuery() - .in(Project::getGovernmentSn, pageList.getRecords().stream().map(g -> g.getGovernmentSn()).collect(Collectors.toList())) - .eq(Project::getState, 1)); - } - for (Government government : pageList.getRecords()) { - if (government.getExpireTime() != null) { - Integer between = (int) DateUtil.between(new Date(), DateUtil.endOfDay(government.getExpireTime()), DateUnit.DAY, false); - government.setDiffDay(between > 0 ? between : 0); - government.setState(between > 0 || DateUtil.endOfDay(government.getExpireTime()).after(new Date()) ? government.getState() : 0); - } - government.setInstallProject(projectList.stream().filter(p -> p.getGovernmentSn().equals(government.getGovernmentSn())).count()); - } + build(pageList.getRecords()); return pageList; } @@ -79,6 +67,8 @@ public class GovernmentServiceImpl extends ServiceImpl treeList(Wrapper queryWrapper) { - List list = this.list(queryWrapper); - List treeList = list.stream().filter(d -> d.getParentId().equals(0L)).collect(Collectors.toList()); - return getTreeList(treeList, list); + public Page treeList(Page page, QueryWrapper queryWrapper) { + queryWrapper.lambda().eq(Government::getParentId, "0L"); + Page pageList = this.page(page, queryWrapper); + List list = this.list(Wrappers.lambdaQuery().in(Government::getParentId, pageList.getRecords().stream().map(g -> g.getGovernmentId()).collect(Collectors.toList()))); + build(list); + getTreeList(pageList.getRecords(), list); + build(pageList.getRecords()); + return pageList; } - private List getTreeList(List treeList, List list) { - for (Government government : treeList) { + private void getTreeList(List pageList, List list) { + for (Government government : pageList) { List children = list.stream().filter(d -> d.getParentId() != null && d.getParentId().equals(government.getGovernmentId())).collect(Collectors.toList()); - getTreeList(children, list); - if (government.getParentId().equals(0L)) { - government.setParentId(null); - } government.setChildren(children); } - return treeList; + } + + private void build(List list) { + List projectList = new ArrayList<>(); + if (list.size() > 0) { + projectList = projectMapper.selectList(Wrappers.lambdaQuery() + .in(Project::getGovernmentSn, list.stream().map(g -> g.getGovernmentSn()).collect(Collectors.toList())) + .eq(Project::getState, 1)); + } + for (Government government : list) { + if (government.getExpireTime() != null) { + Integer between = (int) DateUtil.between(new Date(), DateUtil.endOfDay(government.getExpireTime()), DateUnit.DAY, false); + government.setDiffDay(between > 0 ? between : 0); + government.setState(between > 0 || DateUtil.endOfDay(government.getExpireTime()).after(new Date()) ? government.getState() : 0); + } + government.setInstallProject(projectList.stream().filter(p -> p.getGovernmentSn().equals(government.getGovernmentSn())).count()); + } } } diff --git a/src/main/java/com/zhgd/xmgl/modules/safety/service/impl/DangerousEngineeringServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/safety/service/impl/DangerousEngineeringServiceImpl.java index 6fbc586..4aac753 100644 --- a/src/main/java/com/zhgd/xmgl/modules/safety/service/impl/DangerousEngineeringServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/safety/service/impl/DangerousEngineeringServiceImpl.java @@ -80,19 +80,21 @@ public class DangerousEngineeringServiceImpl extends ServiceImpl wrapper) { List list = this.list(wrapper); - List engineeringCheckAccepts = dangerousEngineeringInspectService.list(Wrappers.lambdaQuery() - .eq(DangerousEngineeringInspect::getDangerousEngineeringId, list.stream().map(l -> l.getId()).collect(Collectors.toList())) - .between(DangerousEngineeringInspect::getCreateTime, DateUtil.beginOfMonth(new Date()), DateUtil.endOfMonth(new Date()))); DangerousEngineeringStat dangerousEngineeringStat = new DangerousEngineeringStat(); - dangerousEngineeringStat.setBuilding(list.stream().filter(l -> DateUtil.compare(l.getConstructionStartTime(), new Date()) < 0 && - DateUtil.compare(l.getConstructionEndTime(), new Date()) > 0).collect(Collectors.toList()).size()); - dangerousEngineeringStat.setSiteNum(list.stream().map(l -> l.getConstructionLocation()).distinct().collect(Collectors.toList()).size()); - dangerousEngineeringStat.setCheckNumber(engineeringCheckAccepts.size()); - dangerousEngineeringStat.setQuestionNum(engineeringCheckAccepts.stream().filter(e -> e.getQuestion() != 0).collect(Collectors.toList()).size()); - BigDecimal checkNum = new BigDecimal(engineeringCheckAccepts.size()); - BigDecimal buildingNum = new BigDecimal(dangerousEngineeringStat.getBuilding()); - dangerousEngineeringStat.setCheckRatio(dangerousEngineeringStat.getBuilding() == 0 ? buildingNum : checkNum.divide(buildingNum, 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))); - dangerousEngineeringStat.setPlanNum(list.stream().filter(l -> DateUtil.month(l.getConstructionPlanStartTime()) == DateUtil.month(new Date()) + 1).collect(Collectors.toList()).size()); + if(list.size() > 0) { + List dangerousEngineeringInspectList = dangerousEngineeringInspectService.list(Wrappers.lambdaQuery() + .between(DangerousEngineeringInspect::getInspectTime, DateUtil.beginOfMonth(new Date()), DateUtil.endOfMonth(new Date())) + .in(DangerousEngineeringInspect::getDangerousEngineeringId, list.stream().map(l -> l.getId()).collect(Collectors.toList()))); + dangerousEngineeringStat.setBuilding(list.stream().filter(l -> DateUtil.compare(l.getConstructionStartTime(), new Date()) < 0 && + DateUtil.compare(l.getConstructionEndTime(), new Date()) > 0).collect(Collectors.toList()).size()); + dangerousEngineeringStat.setSiteNum(list.stream().map(l -> l.getConstructionLocation()).distinct().collect(Collectors.toList()).size()); + dangerousEngineeringStat.setCheckNumber(dangerousEngineeringInspectList.size()); + dangerousEngineeringStat.setQuestionNum(dangerousEngineeringInspectList.stream().filter(e -> e.getQuestion() != 0).collect(Collectors.toList()).size()); + BigDecimal checkNum = new BigDecimal(dangerousEngineeringInspectList.stream().map(d -> d.getDangerousEngineeringId()).distinct().collect(Collectors.toList()).size()); + BigDecimal buildingNum = new BigDecimal(dangerousEngineeringStat.getBuilding()); + dangerousEngineeringStat.setCheckRatio(dangerousEngineeringStat.getBuilding() == 0 ? buildingNum : checkNum.divide(buildingNum, 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))); + dangerousEngineeringStat.setPlanNum(list.stream().filter(l -> DateUtil.month(l.getConstructionPlanStartTime()) == DateUtil.month(new Date()) + 1).collect(Collectors.toList()).size()); + } return dangerousEngineeringStat; } } diff --git a/src/main/java/com/zhgd/xmgl/modules/safety/statistics/DangerousEngineeringStat.java b/src/main/java/com/zhgd/xmgl/modules/safety/statistics/DangerousEngineeringStat.java index c872132..23cf59f 100644 --- a/src/main/java/com/zhgd/xmgl/modules/safety/statistics/DangerousEngineeringStat.java +++ b/src/main/java/com/zhgd/xmgl/modules/safety/statistics/DangerousEngineeringStat.java @@ -9,20 +9,20 @@ import java.math.BigDecimal; public class DangerousEngineeringStat { @ApiModelProperty(value = "在施危大工程") - private Integer building; + private Integer building = 0; @ApiModelProperty(value = "危大工程施工部位") - private Integer siteNum; + private Integer siteNum = 0; @ApiModelProperty(value = "本月检查次数") - private Integer checkNumber; + private Integer checkNumber = 0; @ApiModelProperty(value = "本月危大工程导致隐患数量") - private Integer questionNum; + private Integer questionNum = 0; @ApiModelProperty(value = "本月危大工程排查覆盖率") - private BigDecimal checkRatio; + private BigDecimal checkRatio = new BigDecimal(0); @ApiModelProperty(value = "下月计划施工的危大工程") - private Integer planNum; + private Integer planNum = 0; }