政务增加层级

This commit is contained in:
pengjie 2023-09-13 18:20:25 +08:00
parent 79111fdd18
commit 6444d035c7
9 changed files with 97 additions and 55 deletions

View File

@ -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<List<Government>> treeList(@RequestBody Government government) {
Result<List<Government>> result = new Result<List<Government>>();
QueryWrapper<Government> queryWrapper = QueryGenerator.initQueryWrapper(government);
List<Government> list = governmentService.treeList(queryWrapper);
public Result<Page<Government>> treeList(@ApiIgnore @RequestBody Map<String, Object> map) {
Result<Page<Government>> result = new Result<Page<Government>>();
QueryWrapper<Government> queryWrapper = QueryGenerator.initPageQueryWrapper(Government.class, map);
Page<Government> page = PageUtil.getPage(map);
queryWrapper.lambda().orderByDesc(Government::getCreateTime);
Page<Government> 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.<SystemUser>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("修改成功!");

View File

@ -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.<Government>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()) {

View File

@ -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<IPage<LifterAlarm>> queryPageList(@ApiIgnore @RequestBody Map<String, Object> map) {
QueryWrapper<LifterAlarm> queryWrapper = QueryGenerator.initPageQueryWrapper(LifterAlarm.class, map);
Page<LifterAlarm> 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<LifterAlarm> pageList = lifterAlarmService.page(page, queryWrapper);
return Result.success(pageList);

View File

@ -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<LifterAlarm> pageList = lifterAlarmService.page(page, queryWrapper);
return Result.success(pageList);

View File

@ -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<LifterAlarm> pageList = lifterAlarmService.page(page, queryWrapper);
return Result.success(pageList);

View File

@ -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> {
Government getGovByUser(Integer accountType, String sn);
List<Government> treeList(Wrapper<Government> queryWrapper);
Page<Government> treeList(Page page, QueryWrapper<Government> queryWrapper);
}

View File

@ -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<GovernmentMapper, Governm
@Override
public IPage<Government> selectPage(Page page, Wrapper<Government> wrapper) {
Page<Government> pageList = this.page(page, wrapper);
List<Project> projectList = new ArrayList<>();
if (pageList.getRecords().size() > 0) {
projectList = projectMapper.selectList(Wrappers.<Project>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<GovernmentMapper, Governm
government.setGovernmentSn(CommonUtil.getUUid());
government.setGovernmentTel(governmentVo.getGovernmentTel());
government.setCreateTime(new Date());
government.setParentId(governmentVo.getParentId());
government.setGovernmentType(governmentVo.getGovernmentType());
this.save(government);
SystemUser systemUser = new SystemUser();
systemUser.setRealName(governmentVo.getGovernmentName());
@ -141,21 +131,37 @@ public class GovernmentServiceImpl extends ServiceImpl<GovernmentMapper, Governm
}
@Override
public List<Government> treeList(Wrapper<Government> queryWrapper) {
List<Government> list = this.list(queryWrapper);
List<Government> treeList = list.stream().filter(d -> d.getParentId().equals(0L)).collect(Collectors.toList());
return getTreeList(treeList, list);
public Page<Government> treeList(Page page, QueryWrapper<Government> queryWrapper) {
queryWrapper.lambda().eq(Government::getParentId, "0L");
Page<Government> pageList = this.page(page, queryWrapper);
List<Government> list = this.list(Wrappers.<Government>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<Government> getTreeList(List<Government> treeList, List<Government> list) {
for (Government government : treeList) {
private void getTreeList(List<Government> pageList, List<Government> list) {
for (Government government : pageList) {
List<Government> 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<Government> list) {
List<Project> projectList = new ArrayList<>();
if (list.size() > 0) {
projectList = projectMapper.selectList(Wrappers.<Project>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());
}
}
}

View File

@ -80,19 +80,21 @@ public class DangerousEngineeringServiceImpl extends ServiceImpl<DangerousEngine
@Override
public DangerousEngineeringStat stat(QueryWrapper<DangerousEngineering> wrapper) {
List<DangerousEngineering> list = this.list(wrapper);
List<DangerousEngineeringInspect> engineeringCheckAccepts = dangerousEngineeringInspectService.list(Wrappers.<DangerousEngineeringInspect>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();
if(list.size() > 0) {
List<DangerousEngineeringInspect> dangerousEngineeringInspectList = dangerousEngineeringInspectService.list(Wrappers.<DangerousEngineeringInspect>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(engineeringCheckAccepts.size());
dangerousEngineeringStat.setQuestionNum(engineeringCheckAccepts.stream().filter(e -> e.getQuestion() != 0).collect(Collectors.toList()).size());
BigDecimal checkNum = new BigDecimal(engineeringCheckAccepts.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;
}
}

View File

@ -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;
}