危大工程优化

This commit is contained in:
pengjie 2023-09-18 09:10:40 +08:00
parent 6444d035c7
commit 3c9acb7ad1
12 changed files with 73 additions and 37 deletions

View File

@ -157,7 +157,8 @@ public class GovernmentController {
result.error500("未找到对应实体");
}else {
// 检验政务账号是否已存在
SystemUser systemUser = systemUserService.getOne(Wrappers.<SystemUser>lambdaQuery().eq(SystemUser::getAccount, governmentVo.getAccount()));
SystemUser systemUser = systemUserService.getOne(Wrappers.<SystemUser>lambdaQuery().eq(SystemUser::getAccount, governmentVo.getAccount())
.ne(SystemUser::getSn, governmentEntity.getGovernmentSn()));
if (systemUser != null) {
result.error500("该用户账号已被使用");
return result;

View File

@ -87,7 +87,7 @@ public class EntDangerousEngineeringCheckAcceptController {
@ApiOperation(value = " 添加危大工程验收信息", notes = "添加危大工程验收信息", httpMethod = "POST")
@PostMapping(value = "/add")
public Result<Object> add(@RequestBody DangerousEngineeringCheckAccept dangerousEngineeringCheckAccept) {
dangerousEngineeringCheckAcceptService.save(dangerousEngineeringCheckAccept);
dangerousEngineeringCheckAcceptService.saveInfo(dangerousEngineeringCheckAccept);
return Result.success("添加成功!");
}

View File

@ -54,6 +54,7 @@ public class EntDangerousEngineeringController {
@PostMapping(value = "/page")
public Result<IPage<DangerousEngineering>> queryPageList(@ApiIgnore Page page, @ApiIgnore @RequestBody DangerousEngineering dangerousEngineering) {
QueryWrapper<DangerousEngineering> queryWrapper = QueryGenerator.initQueryWrapper(dangerousEngineering);
queryWrapper.lambda().orderByDesc(DangerousEngineering::getCreateTime);
IPage<DangerousEngineering> pageList = dangerousEngineeringService.page(page, queryWrapper);
return Result.success(pageList);
}
@ -129,7 +130,7 @@ public class EntDangerousEngineeringController {
if (dangerousEngineeringEntity == null) {
result.error500("未找到对应实体");
} else {
boolean ok = dangerousEngineeringService.removeById(dangerousEngineering.getId());
boolean ok = dangerousEngineeringService.removeInfo(dangerousEngineering);
if (ok) {
result.success("删除成功!");
} else {

View File

@ -97,6 +97,7 @@ public class GovDangerousEngineeringController {
if (StringUtils.isNotBlank(dangerousEngineering.getProjectSn())) {
queryWrapper.lambda().eq(DangerousEngineering::getEngineeringSn, StrUtil.EMPTY);
}
queryWrapper.lambda().orderByDesc(DangerousEngineering::getCreateTime);
IPage<DangerousEngineering> pageList = dangerousEngineeringService.page(page, queryWrapper);
return Result.success(pageList);
}
@ -134,7 +135,7 @@ public class GovDangerousEngineeringController {
if (dangerousEngineeringEntity == null) {
result.error500("未找到对应实体");
} else {
boolean ok = dangerousEngineeringService.removeById(dangerousEngineering.getId());
boolean ok = dangerousEngineeringService.removeInfo(dangerousEngineering);
if (ok) {
result.success("删除成功!");
} else {

View File

@ -59,6 +59,7 @@ public class DangerousEngineeringController {
if (StringUtils.isNotBlank(dangerousEngineering.getProjectSn())) {
queryWrapper.lambda().eq(DangerousEngineering::getEngineeringSn, StrUtil.EMPTY);
}
queryWrapper.lambda().orderByDesc(DangerousEngineering::getCreateTime);
IPage<DangerousEngineering> pageList = dangerousEngineeringService.page(page, queryWrapper);
return Result.success(pageList);
}
@ -137,7 +138,7 @@ public class DangerousEngineeringController {
if (dangerousEngineeringEntity == null) {
result.error500("未找到对应实体");
} else {
boolean ok = dangerousEngineeringService.removeById(dangerousEngineering.getId());
boolean ok = dangerousEngineeringService.removeInfo(dangerousEngineering);
if (ok) {
result.success("删除成功!");
} else {

View File

@ -1,6 +1,5 @@
package com.zhgd.xmgl.modules.basicdata.dto;
import com.zhgd.xmgl.modules.basicdata.entity.AnnexFile;
import com.zhgd.xmgl.modules.basicdata.entity.NoticeAccept;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -44,7 +43,7 @@ public class NoticeDto {
private Integer isRead;
@ApiModelProperty(value = "附件")
private List<AnnexFile> annexFileList;
private List<AnnexFileDto> annexFileList;
@ApiModelProperty(value = "接收方信息")
private List<NoticeAccept> acceptList;

View File

@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhgd.jeecg.common.util.PageUtil;
import com.zhgd.xmgl.async.AsyncAiAnalyse;
import com.zhgd.xmgl.handler.exception.CustomException;
import com.zhgd.xmgl.modules.basicdata.dto.AnnexFileDto;
import com.zhgd.xmgl.modules.basicdata.dto.NoticeDto;
import com.zhgd.xmgl.modules.basicdata.entity.AnnexFile;
import com.zhgd.xmgl.modules.basicdata.entity.Notice;
@ -26,10 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -108,16 +106,16 @@ public class NoticeServiceImpl extends ServiceImpl<NoticeMapper, Notice> impleme
List<NoticeAccept> noticeAcceptList = noticeAcceptService.getList(notice.getNoticeId());
noticeDto.setAcceptList(noticeAcceptList);
noticeDto.setAcceptSnList(noticeAcceptList.stream().map(n -> n.getAccept()).collect(Collectors.toList()));
// List<AnnexFileDto> annexFileDtoList = new ArrayList<>();
// annexFileList.stream().collect(Collectors.groupingBy((a) -> a.getLabel()));
// Set<String> label = annexFileList.stream().map(a -> a.getLabel()).collect(Collectors.toSet());
// for (String s : label) {
// AnnexFileDto annexFileDto = new AnnexFileDto();
// annexFileDto.setLabel(s);
// annexFileDto.setAnnexFileList(annexFileList.stream().filter(a -> a.getLabel().equals(s)).collect(Collectors.toList()));
// annexFileDtoList.add(annexFileDto);
// }
noticeDto.setAnnexFileList(annexFileList);
List<AnnexFileDto> annexFileDtoList = new ArrayList<>();
annexFileList.stream().collect(Collectors.groupingBy((a) -> a.getLabel()));
Set<String> label = annexFileList.stream().map(a -> a.getLabel()).collect(Collectors.toSet());
for (String s : label) {
AnnexFileDto annexFileDto = new AnnexFileDto();
annexFileDto.setLabel(s);
annexFileDto.setAnnexFileList(annexFileList.stream().filter(a -> a.getLabel().equals(s)).collect(Collectors.toList()));
annexFileDtoList.add(annexFileDto);
}
noticeDto.setAnnexFileList(annexFileDtoList);
return noticeDto;
}
@ -170,11 +168,16 @@ public class NoticeServiceImpl extends ServiceImpl<NoticeMapper, Notice> impleme
}
private boolean saveDetail(NoticeVo noticeVo, Long noticeId) {
List<AnnexFile> annexFileList = noticeVo.getAnnexFileList();
for (AnnexFile annexFile : annexFileList) {
annexFile.setRelevanceId(noticeId.toString());
annexFile.setCreateTime(new Date());
annexFile.setFileType(ParamEnum.AnnexFileType.NOTICE.getValue());
List<AnnexFile> annexFileList = new ArrayList<>();
List<AnnexFileDto> annexFileDtoList = noticeVo.getAnnexFileDtoList();
for (AnnexFileDto annexFileDto : annexFileDtoList) {
for (AnnexFile annexFile : annexFileDto.getAnnexFileList()) {
annexFile.setRelevanceId(noticeId.toString());
annexFile.setCreateTime(new Date());
annexFile.setLabel(annexFileDto.getLabel());
annexFile.setFileType(ParamEnum.AnnexFileType.NOTICE.getValue());
annexFileList.add(annexFile);
}
}
annexFileService.saveBatch(annexFileList);
List<NoticeAccept> acceptList = new ArrayList<>();

View File

@ -1,6 +1,6 @@
package com.zhgd.xmgl.modules.basicdata.vo;
import com.zhgd.xmgl.modules.basicdata.entity.AnnexFile;
import com.zhgd.xmgl.modules.basicdata.dto.AnnexFileDto;
import com.zhgd.xmgl.modules.basicdata.entity.NoticeAccept;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -25,7 +25,7 @@ public class NoticeVo {
private String type;
@ApiModelProperty(value = "附件列表")
private List<AnnexFile> annexFileList;
private List<AnnexFileDto> annexFileDtoList;
@ApiModelProperty(value = "收件单位")
private List<NoticeAccept> accepts;

View File

@ -26,5 +26,7 @@ public interface IDangerousEngineeringService extends IService<DangerousEngineer
boolean updateInfo(DangerousEngineering dangerousEngineering);
boolean removeInfo(DangerousEngineering dangerousEngineering);
DangerousEngineeringStat stat(QueryWrapper<DangerousEngineering> wrapper);
}

View File

@ -36,6 +36,7 @@ public class DangerousEngineeringProgressServiceImpl extends ServiceImpl<Dangero
@Override
public Page<DangerousEngineeringProgress> pageList(Page page, QueryWrapper<DangerousEngineeringProgress> wrapper) {
wrapper.lambda().orderByDesc(DangerousEngineeringProgress::getCreateTime);
return baseMapper.pageList(page, wrapper);
}

View File

@ -1,5 +1,6 @@
package com.zhgd.xmgl.modules.safety.service.impl;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -9,13 +10,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhgd.jeecg.common.util.PageUtil;
import com.zhgd.xmgl.modules.basicdata.dto.DangerousEngineeringEntDto;
import com.zhgd.xmgl.modules.basicdata.dto.DangerousEngineeringProjectDto;
import com.zhgd.xmgl.modules.basicdata.service.IAnnexFileService;
import com.zhgd.xmgl.modules.basicdata.service.IEngineeringService;
import com.zhgd.xmgl.modules.basicdata.service.IProjectService;
import com.zhgd.xmgl.modules.safety.entity.DangerousEngineering;
import com.zhgd.xmgl.modules.safety.entity.DangerousEngineeringInspect;
import com.zhgd.xmgl.modules.safety.entity.*;
import com.zhgd.xmgl.modules.safety.mapper.DangerousEngineeringMapper;
import com.zhgd.xmgl.modules.safety.service.IDangerousEngineeringInspectService;
import com.zhgd.xmgl.modules.safety.service.IDangerousEngineeringService;
import com.zhgd.xmgl.modules.safety.service.*;
import com.zhgd.xmgl.modules.safety.statistics.DangerousEngineeringStat;
import com.zhgd.xmgl.security.SecurityUtil;
import org.springframework.beans.factory.annotation.Autowired;
@ -42,9 +42,21 @@ public class DangerousEngineeringServiceImpl extends ServiceImpl<DangerousEngine
@Autowired
private IProjectService projectService;
@Autowired
private IAnnexFileService annexFileService;
@Autowired
private IDangerousEngineeringInspectService dangerousEngineeringInspectService;
@Autowired
private IDangerousEngineeringProgrammeService dangerousEngineeringProgrammeService;
@Autowired
private IDangerousEngineeringProgressService dangerousEngineeringProgressService;
@Autowired
private IDangerousEngineeringCheckAcceptService dangerousEngineeringCheckAcceptService;
@Override
public Page<DangerousEngineeringEntDto> pageListForSuperior(Map<String, Object> map) {
Page<DangerousEngineeringEntDto> pageList = PageUtil.copyProperties(engineeringService.pageListForSuperior(map), DangerousEngineeringEntDto.class);
@ -77,6 +89,19 @@ public class DangerousEngineeringServiceImpl extends ServiceImpl<DangerousEngine
return this.updateById(dangerousEngineering);
}
@Override
public boolean removeInfo(DangerousEngineering dangerousEngineering) {
dangerousEngineeringInspectService.remove(Wrappers.<DangerousEngineeringInspect>lambdaQuery()
.eq(DangerousEngineeringInspect::getDangerousEngineeringId, dangerousEngineering.getId()));
dangerousEngineeringProgressService.remove(Wrappers.<DangerousEngineeringProgress>lambdaQuery()
.eq(DangerousEngineeringProgress::getDangerousEngineeringId, dangerousEngineering.getId()));
dangerousEngineeringProgrammeService.remove(Wrappers.<DangerousEngineeringProgramme>lambdaQuery()
.eq(DangerousEngineeringProgramme::getDangerousEngineeringId, dangerousEngineering.getId()));
dangerousEngineeringCheckAcceptService.remove(Wrappers.<DangerousEngineeringCheckAccept>lambdaQuery()
.eq(DangerousEngineeringCheckAccept::getDangerousEngineeringId, dangerousEngineering.getId()));
return this.removeById(dangerousEngineering.getId());
}
@Override
public DangerousEngineeringStat stat(QueryWrapper<DangerousEngineering> wrapper) {
List<DangerousEngineering> list = this.list(wrapper);
@ -85,9 +110,9 @@ public class DangerousEngineeringServiceImpl extends ServiceImpl<DangerousEngine
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.setBuilding(list.stream().filter(l -> DateUtil.compare(l.getConstructionStartTime(), new Date(), DatePattern.NORM_DATE_PATTERN) <= 0 &&
DateUtil.compare(l.getConstructionEndTime(), new Date(), DatePattern.NORM_DATE_PATTERN) >= 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());

View File

@ -1,5 +1,7 @@
package com.zhgd.xmgl.util;
import cn.hutool.core.date.DatePattern;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.DayOfWeek;
@ -20,13 +22,13 @@ public class DateUtils {
public static String start(String time) {
Date date = cn.hutool.core.date.DateUtil.parse(time);
Date beginOfDay = cn.hutool.core.date.DateUtil.beginOfDay(date);
return cn.hutool.core.date.DateUtil.format(beginOfDay, "yyyy-MM-dd HH:mm:ss");
return cn.hutool.core.date.DateUtil.format(beginOfDay, DatePattern.NORM_DATETIME_PATTERN);
}
public static String end(String time) {
Date date = cn.hutool.core.date.DateUtil.parse(time);
Date endOfDay = cn.hutool.core.date.DateUtil.endOfDay(date);
return cn.hutool.core.date.DateUtil.format(endOfDay, "yyyy-MM-dd HH:mm:ss");
return cn.hutool.core.date.DateUtil.format(endOfDay, DatePattern.NORM_DATETIME_PATTERN);
}
public static void main(String[] args) {