Commit 61785628 authored by zhangsen's avatar zhangsen

外部消防单位生成检查报告

parent c5a1edf6
package com.yeejoin.amos.supervision.dao.entity; package com.yeejoin.amos.supervision.dao.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.NamedQuery;
import javax.persistence.Table; import javax.persistence.Table;
import java.util.Date; import java.util.Date;
...@@ -15,6 +17,7 @@ import java.util.Date; ...@@ -15,6 +17,7 @@ import java.util.Date;
@Data @Data
@Entity @Entity
@Table(name = "p_hidden_danger") @Table(name = "p_hidden_danger")
@TableName("p_hidden_danger")
public class HiddenDanger extends BasicEntity { public class HiddenDanger extends BasicEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
......
...@@ -5,6 +5,8 @@ import java.util.Date; ...@@ -5,6 +5,8 @@ import java.util.Date;
import javax.persistence.*; import javax.persistence.*;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.data.annotation.LastModifiedDate; import org.springframework.data.annotation.LastModifiedDate;
...@@ -16,6 +18,7 @@ import org.springframework.data.annotation.LastModifiedDate; ...@@ -16,6 +18,7 @@ import org.springframework.data.annotation.LastModifiedDate;
@Entity @Entity
@Table(name="p_plan") @Table(name="p_plan")
@NamedQuery(name="Plan.findAll", query="SELECT p FROM Plan p") @NamedQuery(name="Plan.findAll", query="SELECT p FROM Plan p")
@TableName("p_plan")
public class Plan extends BasicEntity { public class Plan extends BasicEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
...@@ -64,6 +67,7 @@ public class Plan extends BasicEntity { ...@@ -64,6 +67,7 @@ public class Plan extends BasicEntity {
*/ */
private int duration; private int duration;
@TableField(exist = false)
private String ownerId; private String ownerId;
@Transient @Transient
......
package com.yeejoin.amos.supervision.dao.entity; package com.yeejoin.amos.supervision.dao.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.List; import java.util.List;
import javax.persistence.CascadeType; import javax.persistence.CascadeType;
...@@ -16,6 +19,7 @@ import javax.persistence.Table; ...@@ -16,6 +19,7 @@ import javax.persistence.Table;
*/ */
@Entity @Entity
@Table(name="p_plan_task") @Table(name="p_plan_task")
@TableName("p_plan_task")
@NamedQuery(name="PlanTask.findAll", query="SELECT p FROM PlanTask p") @NamedQuery(name="PlanTask.findAll", query="SELECT p FROM PlanTask p")
public class PlanTask extends BasicEntity { public class PlanTask extends BasicEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -123,6 +127,7 @@ public class PlanTask extends BasicEntity { ...@@ -123,6 +127,7 @@ public class PlanTask extends BasicEntity {
/** /**
* 任务点明细 * 任务点明细
*/ */
@TableField(exist = false)
private List<PlanTaskDetail> taskDetail; private List<PlanTaskDetail> taskDetail;
public PlanTask() { public PlanTask() {
......
...@@ -10,6 +10,7 @@ import javax.persistence.Table; ...@@ -10,6 +10,7 @@ import javax.persistence.Table;
import javax.persistence.Temporal; import javax.persistence.Temporal;
import javax.persistence.TemporalType; import javax.persistence.TemporalType;
import com.baomidou.mybatisplus.annotation.TableName;
import org.hibernate.annotations.Where; import org.hibernate.annotations.Where;
import cn.afterturn.easypoi.excel.annotation.Excel; import cn.afterturn.easypoi.excel.annotation.Excel;
...@@ -23,6 +24,7 @@ import cn.afterturn.easypoi.excel.annotation.Excel; ...@@ -23,6 +24,7 @@ import cn.afterturn.easypoi.excel.annotation.Excel;
@Table(name="p_point") @Table(name="p_point")
@NamedQuery(name="Point.findAll", query="SELECT p FROM Point p") @NamedQuery(name="Point.findAll", query="SELECT p FROM Point p")
@Where(clause="is_delete=0")//表示未删除的数据 @Where(clause="is_delete=0")//表示未删除的数据
@TableName("p_point")
public class Point extends BasicEntity { public class Point extends BasicEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
......
package com.yeejoin.amos.supervision.dao.entity; package com.yeejoin.amos.supervision.dao.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import javax.persistence.*; import javax.persistence.*;
import java.util.List; import java.util.List;
...@@ -10,6 +13,7 @@ import java.util.List; ...@@ -10,6 +13,7 @@ import java.util.List;
@Entity @Entity
@Table(name = "p_route_point") @Table(name = "p_route_point")
@NamedQuery(name = "RoutePoint.findAll", query = "SELECT r FROM RoutePoint r") @NamedQuery(name = "RoutePoint.findAll", query = "SELECT r FROM RoutePoint r")
@TableName("p_route_point")
public class RoutePoint extends BasicEntity { public class RoutePoint extends BasicEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -51,9 +55,11 @@ public class RoutePoint extends BasicEntity { ...@@ -51,9 +55,11 @@ public class RoutePoint extends BasicEntity {
/** /**
* 前端标记删除 * 前端标记删除
*/ */
@TableField(exist = false)
private boolean isDelete = false; private boolean isDelete = false;
@TableField(exist = false)
private List<RoutePointItem> routePointItem; private List<RoutePointItem> routePointItem;
......
package com.yeejoin.amos.supervision.business.dao.mapper; package com.yeejoin.amos.supervision.business.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.supervision.business.dto.HiddenDangerDto; import com.yeejoin.amos.supervision.business.dto.HiddenDangerDto;
import com.yeejoin.amos.supervision.dao.entity.HiddenDanger; import com.yeejoin.amos.supervision.dao.entity.HiddenDanger;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -10,7 +11,7 @@ import java.util.List; ...@@ -10,7 +11,7 @@ import java.util.List;
/** /**
* @author DELL * @author DELL
*/ */
public interface HiddenDangerMapper extends BaseMapper { public interface HiddenDangerMapper extends BaseMapper<HiddenDanger>, com.yeejoin.amos.supervision.business.dao.mapper.BaseMapper {
/** /**
* 隐患业务关系表 * 隐患业务关系表
* @param planId 计划id * @param planId 计划id
......
...@@ -3,13 +3,14 @@ package com.yeejoin.amos.supervision.business.dao.mapper; ...@@ -3,13 +3,14 @@ package com.yeejoin.amos.supervision.business.dao.mapper;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.biz.common.annotations.DataAuth; import com.yeejoin.amos.boot.biz.common.annotations.DataAuth;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import com.yeejoin.amos.supervision.business.param.PlanInfoPageParam; import com.yeejoin.amos.supervision.business.param.PlanInfoPageParam;
import com.yeejoin.amos.supervision.dao.entity.Plan; import com.yeejoin.amos.supervision.dao.entity.Plan;
public interface PlanMapper extends BaseMapper { public interface PlanMapper extends BaseMapper<Plan>, com.yeejoin.amos.supervision.business.dao.mapper.BaseMapper {
void saveAs(String id); void saveAs(String id);
......
package com.yeejoin.amos.supervision.business.dao.mapper; package com.yeejoin.amos.supervision.business.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.biz.common.annotations.DataAuth; import com.yeejoin.amos.boot.biz.common.annotations.DataAuth;
import com.yeejoin.amos.supervision.business.entity.mybatis.CheckChkExListBo; import com.yeejoin.amos.supervision.business.entity.mybatis.CheckChkExListBo;
import com.yeejoin.amos.supervision.business.entity.mybatis.PlanTaskPointInputItemBo; import com.yeejoin.amos.supervision.business.entity.mybatis.PlanTaskPointInputItemBo;
...@@ -17,7 +18,7 @@ import java.util.HashMap; ...@@ -17,7 +18,7 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
public interface PlanTaskMapper extends BaseMapper { public interface PlanTaskMapper extends BaseMapper<PlanTask>, com.yeejoin.amos.supervision.business.dao.mapper.BaseMapper {
/** /**
* 统计-计划执行 * 统计-计划执行
* *
......
...@@ -4,6 +4,7 @@ import java.util.HashMap; ...@@ -4,6 +4,7 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.supervision.business.vo.PointInputItemNewVo; import com.yeejoin.amos.supervision.business.vo.PointInputItemNewVo;
import com.yeejoin.amos.supervision.business.entity.mybatis.CheckPtListBo; import com.yeejoin.amos.supervision.business.entity.mybatis.CheckPtListBo;
import com.yeejoin.amos.supervision.business.param.CheckPtListPageParam; import com.yeejoin.amos.supervision.business.param.CheckPtListPageParam;
...@@ -18,7 +19,7 @@ import org.apache.ibatis.annotations.Param; ...@@ -18,7 +19,7 @@ import org.apache.ibatis.annotations.Param;
import com.yeejoin.amos.supervision.core.common.response.PointResponse; import com.yeejoin.amos.supervision.core.common.response.PointResponse;
import com.yeejoin.amos.supervision.dao.entity.PointPhoto; import com.yeejoin.amos.supervision.dao.entity.PointPhoto;
public interface PointMapper extends BaseMapper { public interface PointMapper extends BaseMapper<Point>, com.yeejoin.amos.supervision.business.dao.mapper.BaseMapper {
/** /**
* 根据点ID获取点的检查项 * 根据点ID获取点的检查项
......
package com.yeejoin.amos.supervision.business.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.supervision.dao.entity.RoutePoint;
public interface RoutePointMapper extends BaseMapper<RoutePoint>, com.yeejoin.amos.supervision.business.dao.mapper.BaseMapper {
}
package com.yeejoin.amos.supervision.business.service.impl; package com.yeejoin.amos.supervision.business.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.deepoove.poi.XWPFTemplate; import com.deepoove.poi.XWPFTemplate;
...@@ -16,8 +17,9 @@ import com.google.common.collect.Lists; ...@@ -16,8 +17,9 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils; import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.supervision.business.dao.mapper.CheckReportMapper; import com.yeejoin.amos.supervision.business.dao.mapper.*;
import com.yeejoin.amos.supervision.business.dao.mapper.PlanTaskMapper; import com.yeejoin.amos.supervision.business.dao.repository.IPlanDao;
import com.yeejoin.amos.supervision.business.dao.repository.IPlanTaskDao;
import com.yeejoin.amos.supervision.business.dto.CheckReportMapperDto; import com.yeejoin.amos.supervision.business.dto.CheckReportMapperDto;
import com.yeejoin.amos.supervision.business.feign.DangerFeignClient; import com.yeejoin.amos.supervision.business.feign.DangerFeignClient;
import com.yeejoin.amos.supervision.business.feign.JCSFeignClient; import com.yeejoin.amos.supervision.business.feign.JCSFeignClient;
...@@ -32,9 +34,7 @@ import com.yeejoin.amos.supervision.core.common.dto.CheckReportDangerDto; ...@@ -32,9 +34,7 @@ import com.yeejoin.amos.supervision.core.common.dto.CheckReportDangerDto;
import com.yeejoin.amos.supervision.core.common.dto.CheckReportDto; import com.yeejoin.amos.supervision.core.common.dto.CheckReportDto;
import com.yeejoin.amos.supervision.core.common.dto.CheckReportParamDto; import com.yeejoin.amos.supervision.core.common.dto.CheckReportParamDto;
import com.yeejoin.amos.supervision.core.common.dto.DangerDto; import com.yeejoin.amos.supervision.core.common.dto.DangerDto;
import com.yeejoin.amos.supervision.dao.entity.CheckReport; import com.yeejoin.amos.supervision.dao.entity.*;
import com.yeejoin.amos.supervision.dao.entity.Plan;
import com.yeejoin.amos.supervision.dao.entity.PlanTask;
import org.apache.poi.xwpf.usermodel.XWPFTable; import org.apache.poi.xwpf.usermodel.XWPFTable;
import org.apache.poi.xwpf.usermodel.XWPFTableRow; import org.apache.poi.xwpf.usermodel.XWPFTableRow;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
...@@ -52,13 +52,7 @@ import java.io.OutputStream; ...@@ -52,13 +52,7 @@ import java.io.OutputStream;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.text.ParseException; import java.text.ParseException;
import java.util.Arrays; import java.util.*;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.function.BiConsumer; import java.util.function.BiConsumer;
import java.util.function.Consumer; import java.util.function.Consumer;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -86,6 +80,23 @@ public class CheckReportServiceImpl extends BaseService<CheckReportDto, CheckRep ...@@ -86,6 +80,23 @@ public class CheckReportServiceImpl extends BaseService<CheckReportDto, CheckRep
@Autowired @Autowired
JCSFeignClient jcsFeignClient; JCSFeignClient jcsFeignClient;
@Autowired
HiddenDangerMapper hiddenDangerMapper;
@Autowired
IPlanDao planDao;
@Autowired
PointMapper pointMapper;
@Autowired
PlanMapper planMapper;
@Autowired
RoutePointMapper routePointMapper;
private static String[] stringSplit(String str) { private static String[] stringSplit(String str) {
String[] strs = new String[0]; String[] strs = new String[0];
if (!ValidationUtil.isEmpty(str)) { if (!ValidationUtil.isEmpty(str)) {
...@@ -145,18 +156,60 @@ public class CheckReportServiceImpl extends BaseService<CheckReportDto, CheckRep ...@@ -145,18 +156,60 @@ public class CheckReportServiceImpl extends BaseService<CheckReportDto, CheckRep
public CheckReportDto getDetailById(String checkReportId) { public CheckReportDto getDetailById(String checkReportId) {
CheckReportDto checkReportDto = this.baseMapper.selectDetailById(Long.valueOf(checkReportId)); CheckReportDto checkReportDto = this.baseMapper.selectDetailById(Long.valueOf(checkReportId));
if (!ValidationUtil.isEmpty(checkReportDto)) { if (!ValidationUtil.isEmpty(checkReportDto)) {
// 获取本次检查单位信息 if (!checkReportDto.getPlanCheckLevel().equals("3")) {
List<CheckReportCompanyDto> companyDtoList = // 获取本次检查单位信息
this.baseMapper.getCheckReportCompanyList(checkReportDto.getPlanTaskId()); List<CheckReportCompanyDto> companyDtoList =
if (!ValidationUtil.isEmpty(companyDtoList)) { this.baseMapper.getCheckReportCompanyList(checkReportDto.getPlanTaskId());
List<String> companyIdList = Lists.transform(companyDtoList, CheckReportCompanyDto::getId); if (!ValidationUtil.isEmpty(companyDtoList)) {
List<String> companyIdList = Lists.transform(companyDtoList, CheckReportCompanyDto::getId);
Map<String, Integer> companyDeptCountMap =
jcsFeignClient.getDeptCountByCompanyIds(companyIdList).getResult();
companyDtoList.forEach(c -> {
c.setDeptCount(companyDeptCountMap.get(c.getId()));
});
}
checkReportDto.setCheckCompanyList(companyDtoList);
} else {
List<CheckReportCompanyDto> companyDtoList = new ArrayList<>();
PlanTask planTask = planTaskMapper.selectById(checkReportDto.getPlanTaskId());
QueryWrapper<HiddenDanger> qw = new QueryWrapper<>();
qw.lambda().eq(HiddenDanger::getPlanId, planTask.getPlanId());
List<HiddenDanger> hiddenDangers = hiddenDangerMapper.selectList(qw);
Map<Long, Integer> map = new HashMap<>();
List<Point> points = pointMapper.selectList(null);
Map<Long, Point> collect = points.stream().collect(Collectors.toMap(Point::getId, t -> t));
hiddenDangers.forEach(item -> {
if (!map.containsKey(item.getPointId())) {
map.put(item.getPointId(), 1);
} else {
map.put(item.getPointId(), map.get(item.getPointId()) + 1);
}
});
List<String> pointNoList = points.stream().map(Point::getPointNo).collect(Collectors.toList());
Plan plan = planMapper.selectById(planTask.getPlanId());
QueryWrapper<RoutePoint> lambda = new QueryWrapper<>();
lambda.lambda().eq(RoutePoint::getRouteId, plan.getRouteId());
List<RoutePoint> routePoints = routePointMapper.selectList(lambda);
Map<String, Integer> companyDeptCountMap = Map<String, Integer> companyDeptCountMap =
jcsFeignClient.getDeptCountByCompanyIds(companyIdList).getResult(); jcsFeignClient.getDeptCountByCompanyIds(pointNoList).getResult();
companyDtoList.forEach(c -> {
c.setDeptCount(companyDeptCountMap.get(c.getId())); routePoints.forEach(item -> {
CheckReportCompanyDto checkReportCompanyDto = new CheckReportCompanyDto();
checkReportCompanyDto.setCheckResult("正常");
checkReportCompanyDto.setId(collect.get(item.getPointId()).getPointNo());
checkReportCompanyDto.setName(collect.get(item.getPointId()).getName());
if (map.containsKey(item.getPointId())) {
checkReportCompanyDto.setCheckResult("存在隐患");
}
checkReportCompanyDto.setDeptCount(companyDeptCountMap.get(checkReportCompanyDto.getId()));
companyDtoList.add(checkReportCompanyDto);
}); });
checkReportDto.setCheckCompanyList(companyDtoList);
} }
checkReportDto.setCheckCompanyList(companyDtoList);
// 获取隐患信息 // 获取隐患信息
Map<String, String> dangerParamMap = Maps.newHashMap(); Map<String, String> dangerParamMap = Maps.newHashMap();
......
...@@ -91,7 +91,9 @@ public class PlanAuditServiceImpl implements IPlanAuditService { ...@@ -91,7 +91,9 @@ public class PlanAuditServiceImpl implements IPlanAuditService {
planAuditLogDao.save(planAuditLog); planAuditLogDao.save(planAuditLog);
if("导入外部监查隐患".equals(planAuditLog.getFlowTaskName()) && plan.getCheckLevel().equals("3")) { if("导入外部监查隐患".equals(planAuditLog.getFlowTaskName()) && plan.getCheckLevel().equals("3")) {
latentDangerFeignClient.updateStatusByUserIdAndPlandIdLike(userId, planAuditLog.getPlanId().toString()); latentDangerFeignClient.updateStatusByUserIdAndPlandIdLike(userId, planAuditLog.getPlanId().toString());
planTaskService.taskExecutionImportPlan(planAuditLog.getPlanId()); // planTaskService.taskExecutionImportPlan(planAuditLog.getPlanId());
//生成检查报告
planTaskService.taskAddPlanTask(plan, personIdentity.getPersonName());
} }
planService.getUserIdsByWorkflow(plan, instanceId, status, planAuditLog.getExcuteState()); planService.getUserIdsByWorkflow(plan, instanceId, status, planAuditLog.getExcuteState());
......
...@@ -3,9 +3,12 @@ package com.yeejoin.amos.supervision.business.service.impl; ...@@ -3,9 +3,12 @@ package com.yeejoin.amos.supervision.business.service.impl;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.beust.jcommander.internal.Sets; import com.beust.jcommander.internal.Sets;
import com.google.common.base.Joiner; import com.google.common.base.Joiner;
import com.google.common.collect.Maps;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey; import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
...@@ -14,20 +17,18 @@ import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; ...@@ -14,20 +17,18 @@ import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.DepartmentModel; import com.yeejoin.amos.feign.privilege.model.DepartmentModel;
import com.yeejoin.amos.feign.privilege.model.RoleModel; import com.yeejoin.amos.feign.privilege.model.RoleModel;
import com.yeejoin.amos.supervision.business.constants.XJConstant; import com.yeejoin.amos.supervision.business.constants.XJConstant;
import com.yeejoin.amos.supervision.business.dao.mapper.PlanMapper; import com.yeejoin.amos.supervision.business.dao.mapper.*;
import com.yeejoin.amos.supervision.business.dao.mapper.PlanTaskDetailMapper;
import com.yeejoin.amos.supervision.business.dao.mapper.PlanTaskMapper;
import com.yeejoin.amos.supervision.business.dao.mapper.PointMapper;
import com.yeejoin.amos.supervision.business.dao.mapper.RoutePointItemMapper;
import com.yeejoin.amos.supervision.business.dao.repository.*; import com.yeejoin.amos.supervision.business.dao.repository.*;
import com.yeejoin.amos.supervision.business.dto.OrgUsrFormDto; import com.yeejoin.amos.supervision.business.dto.OrgUsrFormDto;
import com.yeejoin.amos.supervision.business.entity.mybatis.CheckChkExListBo; import com.yeejoin.amos.supervision.business.entity.mybatis.CheckChkExListBo;
import com.yeejoin.amos.supervision.business.entity.mybatis.PointCheckDetailBo; import com.yeejoin.amos.supervision.business.entity.mybatis.PointCheckDetailBo;
import com.yeejoin.amos.supervision.business.feign.Business; import com.yeejoin.amos.supervision.business.feign.Business;
import com.yeejoin.amos.supervision.business.feign.DangerFeignClient;
import com.yeejoin.amos.supervision.business.feign.EquipFeign; import com.yeejoin.amos.supervision.business.feign.EquipFeign;
import com.yeejoin.amos.supervision.business.feign.JCSFeignClient; import com.yeejoin.amos.supervision.business.feign.JCSFeignClient;
import com.yeejoin.amos.supervision.business.param.CheckPtListPageParam; import com.yeejoin.amos.supervision.business.param.CheckPtListPageParam;
import com.yeejoin.amos.supervision.business.param.PlanTaskPageParam; import com.yeejoin.amos.supervision.business.param.PlanTaskPageParam;
import com.yeejoin.amos.supervision.business.service.intfc.ICheckReportService;
import com.yeejoin.amos.supervision.business.service.intfc.ICheckService; import com.yeejoin.amos.supervision.business.service.intfc.ICheckService;
import com.yeejoin.amos.supervision.business.service.intfc.IPlanTaskService; import com.yeejoin.amos.supervision.business.service.intfc.IPlanTaskService;
import com.yeejoin.amos.supervision.business.util.PlanTaskUtil; import com.yeejoin.amos.supervision.business.util.PlanTaskUtil;
...@@ -36,20 +37,15 @@ import com.yeejoin.amos.supervision.business.vo.CalDateVo; ...@@ -36,20 +37,15 @@ import com.yeejoin.amos.supervision.business.vo.CalDateVo;
import com.yeejoin.amos.supervision.business.vo.CodeOrderVo; import com.yeejoin.amos.supervision.business.vo.CodeOrderVo;
import com.yeejoin.amos.supervision.business.vo.LeavePlanTaskVo; import com.yeejoin.amos.supervision.business.vo.LeavePlanTaskVo;
import com.yeejoin.amos.supervision.business.vo.PlanTaskVo; import com.yeejoin.amos.supervision.business.vo.PlanTaskVo;
import com.yeejoin.amos.supervision.common.enums.PlanStatusEnum; import com.yeejoin.amos.supervision.common.enums.*;
import com.yeejoin.amos.supervision.common.enums.PlanTaskDetailIsFinishEnum;
import com.yeejoin.amos.supervision.common.enums.PlanTaskFinishStatusEnum;
import com.yeejoin.amos.boot.biz.common.enums.RuleTypeEnum; import com.yeejoin.amos.boot.biz.common.enums.RuleTypeEnum;
import com.yeejoin.amos.supervision.core.common.dto.DangerDto;
import com.yeejoin.amos.supervision.core.common.request.CommonPageable; import com.yeejoin.amos.supervision.core.common.request.CommonPageable;
import com.yeejoin.amos.supervision.core.common.response.AppCheckInputRespone; import com.yeejoin.amos.supervision.core.common.response.AppCheckInputRespone;
import com.yeejoin.amos.supervision.core.common.response.AppPointCheckRespone; import com.yeejoin.amos.supervision.core.common.response.AppPointCheckRespone;
import com.yeejoin.amos.supervision.core.util.DateUtil; import com.yeejoin.amos.supervision.core.util.DateUtil;
import com.yeejoin.amos.supervision.core.util.StringUtil; import com.yeejoin.amos.supervision.core.util.StringUtil;
import com.yeejoin.amos.supervision.dao.entity.Check; import com.yeejoin.amos.supervision.dao.entity.*;
import com.yeejoin.amos.supervision.dao.entity.Plan;
import com.yeejoin.amos.supervision.dao.entity.PlanTask;
import com.yeejoin.amos.supervision.dao.entity.PlanTaskDetail;
import com.yeejoin.amos.supervision.dao.entity.Point;
import com.yeejoin.amos.supervision.exception.YeeException; import com.yeejoin.amos.supervision.exception.YeeException;
import com.yeejoin.amos.supervision.feign.RemoteSecurityService; import com.yeejoin.amos.supervision.feign.RemoteSecurityService;
import com.yeejoin.amos.supervision.quartz.IJobService; import com.yeejoin.amos.supervision.quartz.IJobService;
...@@ -57,6 +53,7 @@ import org.apache.commons.collections.CollectionUtils; ...@@ -57,6 +53,7 @@ import org.apache.commons.collections.CollectionUtils;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
...@@ -126,10 +123,26 @@ public class PlanTaskServiceImpl implements IPlanTaskService { ...@@ -126,10 +123,26 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
@Autowired @Autowired
private JCSFeignClient jcsFeignClient; private JCSFeignClient jcsFeignClient;
@Autowired
ICheckReportService iCheckReportService;
@Autowired
HiddenDangerMapper hiddenDangerMapper;
@Autowired
CheckReportMapper checkReportMapper;
@Autowired
DangerFeignClient dangerFeignClient;
// 防火监督检查负责人角色名称 // 防火监督检查负责人角色名称
@Value("${supervision.person.charger.role:Person_charge_unit_fire_protection_supervision_inspection}") @Value("${supervision.person.charger.role:Person_charge_unit_fire_protection_supervision_inspection}")
private String supervisionPersonChargerRole; private String supervisionPersonChargerRole;
private final String MAJOR_DANGER = "majorDanger";
@Override @Override
public Page<HashMap<String, Object>> getPlanTaskInfo(PlanTaskPageParam params) { public Page<HashMap<String, Object>> getPlanTaskInfo(PlanTaskPageParam params) {
long total = planTaskMapper.countPlanTask(params); long total = planTaskMapper.countPlanTask(params);
...@@ -517,6 +530,104 @@ public class PlanTaskServiceImpl implements IPlanTaskService { ...@@ -517,6 +530,104 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
return true; return true;
} }
@Override
public void taskAddPlanTask(Plan plan, String personName) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String nowFormat = sdf.format(new Date());
int pointNum = iRoutePointDao.countRoutePoint(plan.getRouteId());
long batchNo = new Date().getTime();
String planBegin = plan.getPlanBegin();
String planEnd = plan.getPlanEnd();
PlanTask planTask = new PlanTask();
planTask.setOrgCode(plan.getOrgCode());
planTask.setUserName(plan.getUserName());
planTask.setPlanId(plan.getId());
planTask.setBatchNo(batchNo);
planTask.setRouteId(plan.getRouteId());
planTask.setInOrder(plan.getInOrder());
planTask.setUserId(plan.getUserId());
planTask.setPointNum(pointNum);
planTask.setFinishStatus(XJConstant.TASK_STATUS_FINISH);
planTask.setFinishNum(pointNum);
planTask.setCheckDate(nowFormat);
planTask.setBeginTime(planBegin);
planTask.setEndTime(planEnd);
// 1.保存执行数据主表
iplanTaskDao.saveAndFlush(planTask);
long planId = planTask.getId();
List<Long> pointIdList = iRoutePointDao.queryRoutePointIds(plan.getRouteId());
for (Number pointId : pointIdList) {
PlanTaskDetail planTaskDetailInstance = new PlanTaskDetail();
planTaskDetailInstance.setPointId(pointId.longValue());
planTaskDetailInstance.setTaskNo(planId);
planTaskDetailInstance.setStatus("0");
planTaskDetailInstance.setIsFinish(Integer.parseInt(XJConstant.PLAN_TASK_DET_FINISH_YES));
planTaskDetailInstance.setStatus("1");
// 查询点下检查项的个数
// List<PointInputItem> pointInputItemByPointId = pointInputItemDao.getPointInputItemByPointId(pointId.longValue());
Long routeId = plan.getRouteId();
int itemCount = routePointItemMapper.getPointItemCount(routeId, pointId.longValue());
planTaskDetailInstance.setItemNum(itemCount);
// 2.保存执行数据明细表
planTaskDetail.saveAndFlush(planTaskDetailInstance);
}
CheckReport checkReport = new CheckReport();
checkReport.setName(plan.getName());
checkReport.setStartCheckDate(new Date());
checkReport.setEndCheckDate(new Date());
checkReport.setCheckUser(personName);
QueryWrapper<HiddenDanger> qw = new QueryWrapper<>();
qw.lambda().eq(HiddenDanger::getPlanId, plan.getId());
List<HiddenDanger> hiddenDangers = hiddenDangerMapper.selectList(qw);
List<String> collect = hiddenDangers.stream().map(item -> {
return String.valueOf(item.getLatentDangerId());
}).collect(Collectors.toList());
// 获取隐患信息
Map<String, String> dangerParamMap = Maps.newHashMap();
dangerParamMap.put("dangerIds", Joiner.on(",").join(collect));
List<DangerDto> dangerDtoList = dangerFeignClient.listAll(dangerParamMap).getResult();
List<DangerDto> collect1 = dangerDtoList.stream().filter(s -> s.getDangerLevel().equals(MAJOR_DANGER)).collect(Collectors.toList());
checkReport.setHasMajorDanger(false);
if (collect1.size() > 0) {
checkReport.setHasMajorDanger(true);
}
checkReport.setDangerCount(hiddenDangers.size());
if (CollectionUtils.isNotEmpty(collect)) {
String join = String.join(",", collect);
checkReport.setDangerIds(join);
}
checkReport.setPlanType(3);
checkReport.setOrgCode(getParentOrgCode(plan.getOrgCode()));
List<Long> list = new ArrayList<>();
hiddenDangers.forEach(item -> {
if (!list.contains(item.getPointId())) {
list.add(item.getPointId());
}
});
checkReport.setProblemCompanyCount(list.size());
checkReport.setCompanyCount(pointIdList.size());
checkReport.setPlanTaskId(planTask.getId());
// checkReport.setCheckUser();
checkReportMapper.insert(checkReport);
// 任务完成后生成检查报告
}
/**
* 获取本单位orgCode
*
* @param orgCode
* @return
*/
private String getParentOrgCode(String orgCode) {
if (orgCode.contains("-")) {
return orgCode.substring(0, orgCode.indexOf("-"));
}
return orgCode;
}
/** /**
* 删除plantask及det * 删除plantask及det
* *
......
...@@ -5,6 +5,7 @@ import java.util.HashMap; ...@@ -5,6 +5,7 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import com.yeejoin.amos.supervision.dao.entity.Plan;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import com.yeejoin.amos.supervision.business.entity.mybatis.CheckChkExListBo; import com.yeejoin.amos.supervision.business.entity.mybatis.CheckChkExListBo;
...@@ -172,4 +173,6 @@ public interface IPlanTaskService { ...@@ -172,4 +173,6 @@ public interface IPlanTaskService {
List<Map<String, Object>> queryTimeAxis(Long userId, Integer createDate); List<Map<String, Object>> queryTimeAxis(Long userId, Integer createDate);
Boolean taskExecutionImportPlan(Long id); Boolean taskExecutionImportPlan(Long id);
void taskAddPlanTask(Plan plan, String personName);
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment