Commit 108121b3 authored by maoying's avatar maoying

Merge branch 'developer' into develop_dl_plan6

parents 16c2909a 334f8fd1
......@@ -132,12 +132,12 @@ public class ControllerAop {
CompanyBo company = new CompanyBo();
DepartmentBo department = new DepartmentBo();
RoleBo role = new RoleBo();
//平台更新 人员部门可能为NULL 导致redis缓存不到人员信息
//平台更新 人员部门可能为NULL 导致redis缓存不到人员信息
Map<Long, List<DepartmentModel>> mapDepartments = new HashMap<>();
DepartmentModel departmentM = new DepartmentModel();
CompanyModel companyM = user.getCompanys() != null ? user.getCompanys().get(0) : null;
Bean.copyExistPropertis(companyM, company);
if (user.getCompanyDepartments() != null){
if (!ValidationUtil.isEmpty(user.getCompanyDepartments())){
mapDepartments = user.getCompanyDepartments();
departmentM = companyM != null ? mapDepartments.get(companyM.getSequenceNbr()).get(0) : null;
}
......
......@@ -387,8 +387,8 @@ FROM
(
SELECT
address AS location,
coordinate_x AS latitude,
coordinate_y AS longitude
coordinate_x AS longitude,
coordinate_y AS latitude
FROM
jc_alert_called
WHERE
......@@ -396,8 +396,8 @@ FROM
) UNION all (
SELECT
address_desc AS location,
latitude,
longitude
longitude,
latitude
FROM
cb_key_site
WHERE
......
package com.yeejoin.amos.supervision.dao.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import java.util.Date;
......@@ -15,6 +17,7 @@ import java.util.Date;
@Data
@Entity
@Table(name = "p_hidden_danger")
@TableName("p_hidden_danger")
public class HiddenDanger extends BasicEntity {
private static final long serialVersionUID = 1L;
......
......@@ -5,6 +5,8 @@ import java.util.Date;
import javax.persistence.*;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.data.annotation.LastModifiedDate;
......@@ -16,6 +18,7 @@ import org.springframework.data.annotation.LastModifiedDate;
@Entity
@Table(name="p_plan")
@NamedQuery(name="Plan.findAll", query="SELECT p FROM Plan p")
@TableName("p_plan")
public class Plan extends BasicEntity {
private static final long serialVersionUID = 1L;
/**
......@@ -64,6 +67,7 @@ public class Plan extends BasicEntity {
*/
private int duration;
@TableField(exist = false)
private String ownerId;
@Transient
......
package com.yeejoin.amos.supervision.dao.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.List;
import javax.persistence.CascadeType;
......@@ -16,6 +19,7 @@ import javax.persistence.Table;
*/
@Entity
@Table(name="p_plan_task")
@TableName("p_plan_task")
@NamedQuery(name="PlanTask.findAll", query="SELECT p FROM PlanTask p")
public class PlanTask extends BasicEntity {
private static final long serialVersionUID = 1L;
......@@ -123,6 +127,7 @@ public class PlanTask extends BasicEntity {
/**
* 任务点明细
*/
@TableField(exist = false)
private List<PlanTaskDetail> taskDetail;
public PlanTask() {
......
......@@ -10,6 +10,7 @@ import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import com.baomidou.mybatisplus.annotation.TableName;
import org.hibernate.annotations.Where;
import cn.afterturn.easypoi.excel.annotation.Excel;
......@@ -23,6 +24,7 @@ import cn.afterturn.easypoi.excel.annotation.Excel;
@Table(name="p_point")
@NamedQuery(name="Point.findAll", query="SELECT p FROM Point p")
@Where(clause="is_delete=0")//表示未删除的数据
@TableName("p_point")
public class Point extends BasicEntity {
private static final long serialVersionUID = 1L;
......
package com.yeejoin.amos.supervision.dao.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import javax.persistence.*;
import java.util.List;
......@@ -10,6 +13,7 @@ import java.util.List;
@Entity
@Table(name = "p_route_point")
@NamedQuery(name = "RoutePoint.findAll", query = "SELECT r FROM RoutePoint r")
@TableName("p_route_point")
public class RoutePoint extends BasicEntity {
private static final long serialVersionUID = 1L;
......@@ -51,9 +55,11 @@ public class RoutePoint extends BasicEntity {
/**
* 前端标记删除
*/
@TableField(exist = false)
private boolean isDelete = false;
@TableField(exist = false)
private List<RoutePointItem> routePointItem;
......
......@@ -190,4 +190,11 @@ public interface FormInstanceMapper extends BaseMapper<FormInstance> {
List<Map<String, Long>> getBuildVideoCount();
int updateFormInstanceByInstanceAndFieldName(String name,String value ,Long instanceId);
/**
* 查询子节点
* @param id
* @return
*/
List<String> selectChildListdate(@Param("id")Long id);
}
......@@ -427,8 +427,8 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ
confirmAlamVo.setUnitInvolvedId(equipmentSpecific.getAgencyId());
confirmAlamVo.setUnitInvolvedName(unitMap.getString("bizOrgName"));
confirmAlamVo.setAddress(address == null ? jsonObject.getString("companyLocation"):address);
confirmAlamVo.setLongitude(latitude == null?jsonObject.getDouble("longitude"): Double.valueOf(latitude));
confirmAlamVo.setLatitude(longitude == null?jsonObject.getDouble("latitude"):Double.valueOf(longitude));
confirmAlamVo.setLongitude(longitude== null?jsonObject.getDouble("longitude"): Double.valueOf(longitude));
confirmAlamVo.setLatitude(latitude == null?jsonObject.getDouble("latitude"):Double.valueOf(latitude));
}
try {
// 机场人员
......
......@@ -500,7 +500,13 @@ public class FireFightingSystemServiceImpl extends ServiceImpl<FireFightingSyste
List<PointTreeVo> pointData = fireFightingSystemMapper.getPointData(id,instanceId);
if (!CollectionUtils.isEmpty(pointData)) {
// 查询所有wl_source_scene,判断是否绑定
List<SourceScene> sourceSceneList = sourceSceneMapper.selectList(null);
LambdaQueryWrapper<SourceScene> wrapper = new LambdaQueryWrapper<>();
if (StringUtils.isEmpty(id)) {
wrapper.eq(SourceScene::getSourceType, "building");
} else {
wrapper.eq(SourceScene::getSourceType, "system");
}
List<SourceScene> sourceSceneList = sourceSceneMapper.selectList(wrapper);
Map<Long, String> sourceSceneMap = null;
String equipSpecificIds = null;
if (!CollectionUtils.isEmpty(sourceSceneList)) {
......
......@@ -156,22 +156,33 @@ public class FormInstanceServiceImpl extends ServiceImpl<FormInstanceMapper, For
boolean saveOrUpdateBatch = this.saveOrUpdateBatch(entities);
//字节点单位修改
Map<String, String> mapid= formInstanceMapper.getChildListdate(instanceId);
if(mapid.get("ids")!=null && !mapid.get("ids").equals("")){
String[] listid= mapid.get("ids").split(",");
if(listid!=null){
List<String> listiods= new ArrayList<>();
for (String s : listid) {
if(!"".equals(s)){
listiods.add(s);
}
}
String bizOrgCode = map.get("bizOrgCode").toString();
// Map<String, String> mapid= formInstanceMapper.getChildListdate(instanceId);
// if(mapid.get("ids")!=null && !mapid.get("ids").equals("")){
// String[] listid= mapid.get("ids").split(",");
// if(listid!=null){
// List<String> listiods= new ArrayList<>();
// for (String s : listid) {
// if(!"".equals(s)){
// listiods.add(s);
// }
// }
//
// String bizOrgCode = map.get("bizOrgCode").toString();
// String bizOrgName = map.get("bizOrgName").toString();
// formInstanceMapper.updateListChild(bizOrgCode,listiods,"bizOrgCode");
// formInstanceMapper.updateListChild(bizOrgName,listiods,"bizOrgName");
// }
//
//
// }
// 修改bug---6163
List<String> listiods = formInstanceMapper.selectChildListdate(instanceId);
if (!CollectionUtils.isEmpty(listiods)){
String bizOrgCode = map.get("bizOrgCode").toString();
String bizOrgName = map.get("bizOrgName").toString();
formInstanceMapper.updateListChild(bizOrgCode,listiods,"bizOrgCode");
formInstanceMapper.updateListChild(bizOrgName,listiods,"bizOrgName");
}
}
......
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.dao.entity.HiddenDanger;
import org.apache.ibatis.annotations.Param;
......@@ -10,7 +11,7 @@ import java.util.List;
/**
* @author DELL
*/
public interface HiddenDangerMapper extends BaseMapper {
public interface HiddenDangerMapper extends BaseMapper<HiddenDanger>, com.yeejoin.amos.supervision.business.dao.mapper.BaseMapper {
/**
* 隐患业务关系表
* @param planId 计划id
......
......@@ -3,13 +3,14 @@ package com.yeejoin.amos.supervision.business.dao.mapper;
import java.util.HashMap;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.biz.common.annotations.DataAuth;
import org.apache.ibatis.annotations.Param;
import com.yeejoin.amos.supervision.business.param.PlanInfoPageParam;
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);
......
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.supervision.business.entity.mybatis.CheckChkExListBo;
import com.yeejoin.amos.supervision.business.entity.mybatis.PlanTaskPointInputItemBo;
......@@ -17,7 +18,7 @@ import java.util.HashMap;
import java.util.List;
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;
import java.util.List;
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.entity.mybatis.CheckPtListBo;
import com.yeejoin.amos.supervision.business.param.CheckPtListPageParam;
......@@ -18,7 +19,7 @@ import org.apache.ibatis.annotations.Param;
import com.yeejoin.amos.supervision.core.common.response.PointResponse;
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获取点的检查项
......
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;
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.deepoove.poi.XWPFTemplate;
......@@ -16,8 +17,9 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
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.PlanTaskMapper;
import com.yeejoin.amos.supervision.business.dao.mapper.*;
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.feign.DangerFeignClient;
import com.yeejoin.amos.supervision.business.feign.JCSFeignClient;
......@@ -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.CheckReportParamDto;
import com.yeejoin.amos.supervision.core.common.dto.DangerDto;
import com.yeejoin.amos.supervision.dao.entity.CheckReport;
import com.yeejoin.amos.supervision.dao.entity.Plan;
import com.yeejoin.amos.supervision.dao.entity.PlanTask;
import com.yeejoin.amos.supervision.dao.entity.*;
import org.apache.poi.xwpf.usermodel.XWPFTable;
import org.apache.poi.xwpf.usermodel.XWPFTableRow;
import org.springframework.beans.BeanUtils;
......@@ -52,13 +52,7 @@ import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.text.ParseException;
import java.util.Arrays;
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.*;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.stream.Collectors;
......@@ -86,6 +80,23 @@ public class CheckReportServiceImpl extends BaseService<CheckReportDto, CheckRep
@Autowired
JCSFeignClient jcsFeignClient;
@Autowired
HiddenDangerMapper hiddenDangerMapper;
@Autowired
IPlanDao planDao;
@Autowired
PointMapper pointMapper;
@Autowired
PlanMapper planMapper;
@Autowired
RoutePointMapper routePointMapper;
private static String[] stringSplit(String str) {
String[] strs = new String[0];
if (!ValidationUtil.isEmpty(str)) {
......@@ -145,18 +156,60 @@ public class CheckReportServiceImpl extends BaseService<CheckReportDto, CheckRep
public CheckReportDto getDetailById(String checkReportId) {
CheckReportDto checkReportDto = this.baseMapper.selectDetailById(Long.valueOf(checkReportId));
if (!ValidationUtil.isEmpty(checkReportDto)) {
// 获取本次检查单位信息
List<CheckReportCompanyDto> companyDtoList =
this.baseMapper.getCheckReportCompanyList(checkReportDto.getPlanTaskId());
if (!ValidationUtil.isEmpty(companyDtoList)) {
List<String> companyIdList = Lists.transform(companyDtoList, CheckReportCompanyDto::getId);
if (!checkReportDto.getPlanCheckLevel().equals("3")) {
// 获取本次检查单位信息
List<CheckReportCompanyDto> companyDtoList =
this.baseMapper.getCheckReportCompanyList(checkReportDto.getPlanTaskId());
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 =
jcsFeignClient.getDeptCountByCompanyIds(companyIdList).getResult();
companyDtoList.forEach(c -> {
c.setDeptCount(companyDeptCountMap.get(c.getId()));
jcsFeignClient.getDeptCountByCompanyIds(pointNoList).getResult();
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();
......
......@@ -91,7 +91,9 @@ public class PlanAuditServiceImpl implements IPlanAuditService {
planAuditLogDao.save(planAuditLog);
if("导入外部监查隐患".equals(planAuditLog.getFlowTaskName()) && plan.getCheckLevel().equals("3")) {
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());
......
......@@ -3,9 +3,12 @@ package com.yeejoin.amos.supervision.business.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.beust.jcommander.internal.Sets;
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.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
......@@ -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.RoleModel;
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.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.mapper.*;
import com.yeejoin.amos.supervision.business.dao.repository.*;
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.PointCheckDetailBo;
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.JCSFeignClient;
import com.yeejoin.amos.supervision.business.param.CheckPtListPageParam;
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.IPlanTaskService;
import com.yeejoin.amos.supervision.business.util.PlanTaskUtil;
......@@ -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.LeavePlanTaskVo;
import com.yeejoin.amos.supervision.business.vo.PlanTaskVo;
import com.yeejoin.amos.supervision.common.enums.PlanStatusEnum;
import com.yeejoin.amos.supervision.common.enums.PlanTaskDetailIsFinishEnum;
import com.yeejoin.amos.supervision.common.enums.PlanTaskFinishStatusEnum;
import com.yeejoin.amos.supervision.common.enums.*;
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.response.AppCheckInputRespone;
import com.yeejoin.amos.supervision.core.common.response.AppPointCheckRespone;
import com.yeejoin.amos.supervision.core.util.DateUtil;
import com.yeejoin.amos.supervision.core.util.StringUtil;
import com.yeejoin.amos.supervision.dao.entity.Check;
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.dao.entity.*;
import com.yeejoin.amos.supervision.exception.YeeException;
import com.yeejoin.amos.supervision.feign.RemoteSecurityService;
import com.yeejoin.amos.supervision.quartz.IJobService;
......@@ -57,6 +53,7 @@ import org.apache.commons.collections.CollectionUtils;
import com.google.common.collect.Lists;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.Page;
......@@ -126,10 +123,26 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
@Autowired
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}")
private String supervisionPersonChargerRole;
private final String MAJOR_DANGER = "majorDanger";
@Override
public Page<HashMap<String, Object>> getPlanTaskInfo(PlanTaskPageParam params) {
long total = planTaskMapper.countPlanTask(params);
......@@ -517,6 +530,104 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
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
*
......
......@@ -5,6 +5,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.yeejoin.amos.supervision.dao.entity.Plan;
import org.springframework.data.domain.Page;
import com.yeejoin.amos.supervision.business.entity.mybatis.CheckChkExListBo;
......@@ -172,4 +173,6 @@ public interface IPlanTaskService {
List<Map<String, Object>> queryTimeAxis(Long userId, Integer createDate);
Boolean taskExecutionImportPlan(Long id);
void taskAddPlanTask(Plan plan, String personName);
}
......@@ -548,4 +548,18 @@ AND field_name =#{name}
</update>
<select id="selectChildListdate" resultType="java.lang.String">
SELECT distinct a.instance_id FROM
(select instance_id ,field_value from wl_form_instance where group_type in('building','room','floor') and field_name='parentId') a
WHERE a.field_value = #{id} union all SELECT distinct b.instance_id FROM
(select instance_id ,field_value from wl_form_instance where group_type in('building','room','floor') and field_name='parentId') b
WHERE b.field_value in (SELECT distinct c.instance_id FROM
(select instance_id ,field_value from wl_form_instance where group_type in('building','room','floor') and field_name='parentId') c
WHERE c.field_value = #{id})
</select>
</mapper>
......@@ -1917,7 +1917,7 @@
LEFT JOIN p_point pp ON pp.id = pc.point_id
) a
<include refid="mobile-check-record-where" />
order by checkDate
<if test="orderRule == null or orderRule == ''"> order by checkDate </if>
limit #{offset},#{pageSize}
</select>
......
......@@ -46,4 +46,6 @@ public class MsgLogDto extends BaseDto {
@ApiModelProperty(value = "站端类型: WEB,APP")
private String terminalType;
@ApiModelProperty(value = "是否已读")
private Boolean isRead = false;
}
......@@ -7,7 +7,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import javax.naming.ldap.PagedResultsControl;
import java.util.Date;
/**
......@@ -70,5 +69,9 @@ public class MsgLog extends BaseEntity {
*/
private String terminalType;
/**
* 是否已读
*/
@TableField("is_read")
private Boolean isRead = false;
}
......@@ -5,12 +5,16 @@ import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import java.util.List;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.MsgLogServiceImpl;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.tzs.api.dto.MsgLogDto;
......@@ -37,28 +41,28 @@ public class MsgLogController extends BaseController {
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增消息流水表", notes = "新增消息流水表")
public ResponseModel<MsgLogDto> save(@RequestBody MsgLogDto model) {
model = msgLogServiceImpl.createWithModel(model);
return ResponseHelper.buildResponse(model);
}
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增消息流水表", notes = "新增消息流水表")
public ResponseModel<MsgLogDto> save(@RequestBody MsgLogDto model) {
model = msgLogServiceImpl.createWithModel(model);
return ResponseHelper.buildResponse(model);
}
/**
/**
* 根据sequenceNbr更新
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新消息流水表", notes = "根据sequenceNbr更新消息流水表")
public ResponseModel<MsgLogDto> updateBySequenceNbrMsgLog(@RequestBody MsgLogDto model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(msgLogServiceImpl.updateWithModel(model));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新消息流水表", notes = "根据sequenceNbr更新消息流水表")
public ResponseModel<MsgLogDto> updateBySequenceNbrMsgLog(@RequestBody MsgLogDto model, @PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(msgLogServiceImpl.updateWithModel(model));
}
/**
/**
* 根据sequenceNbr删除
*
* @param sequenceNbr 主键
......@@ -67,63 +71,85 @@ public class MsgLogController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除消息流水表", notes = "根据sequenceNbr删除消息流水表")
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr){
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(msgLogServiceImpl.removeById(sequenceNbr));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个消息流水表", notes = "根据sequenceNbr查询单个消息流水表")
public ResponseModel<MsgLogDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(msgLogServiceImpl.queryBySeq(sequenceNbr));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个消息流水表", notes = "根据sequenceNbr查询单个消息流水表")
public ResponseModel<MsgLogDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(msgLogServiceImpl.queryBySeq(sequenceNbr));
}
/**
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET",value = "消息流水表分页查询", notes = "消息流水表分页查询")
public ResponseModel<Page<MsgLogDto>> queryForPage(@RequestParam(value = "current") int current,@RequestParam
(value = "size") int size) {
Page<MsgLogDto> page = new Page<MsgLogDto>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(msgLogServiceImpl.queryForMsgLogPage(page));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET", value = "消息流水表分页查询", notes = "消息流水表分页查询")
public ResponseModel<Page<MsgLogDto>> queryForPage(@RequestParam(value = "current") int current, @RequestParam
(value = "size") int size) {
Page<MsgLogDto> page = new Page<MsgLogDto>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(msgLogServiceImpl.queryForMsgLogPage(page));
}
/**
* 列表全部数据查询
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "消息流水表列表全部数据查询", notes = "消息流水表列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<MsgLogDto>> selectForList() {
return ResponseHelper.buildResponse(msgLogServiceImpl.queryForMsgLogList());
}
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "消息流水表列表全部数据查询", notes = "消息流水表列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<MsgLogDto>> selectForList() {
return ResponseHelper.buildResponse(msgLogServiceImpl.queryForMsgLogList());
}
/**
* 告警数量统计
*
* @return Integer
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "告警数量统计", notes = "告警数量统计")
@GetMapping(value = "/count")
public ResponseModel<Integer> countByTerminalType(
@RequestParam(value = "terminalType", required = false) String terminalType) {
return ResponseHelper.buildResponse(msgLogServiceImpl.countByTerminalType(terminalType));
}
/**
* 告警数量统计
*
* @return Integer
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "告警数量统计", notes = "告警数量统计")
@GetMapping(value = "/count")
public ResponseModel<Integer> countByTerminalType(
@RequestParam(value = "terminalType",required = false) String terminalType) {
return ResponseHelper.buildResponse(msgLogServiceImpl.countByTerminalType(terminalType));
}
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @param terminalType 终端类型
* @param isRead 是否未读
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page/terminalType")
@ApiOperation(httpMethod = "GET", value = "消息流水表分页查询", notes = "消息流水表分页查询")
public ResponseModel<Page<MsgLogDto>> queryForPage(@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size,
@RequestParam(value = "terminalType") String terminalType,
@RequestParam(value = "isRead") Boolean isRead) {
Page<MsgLogDto> page = new Page<MsgLogDto>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(msgLogServiceImpl.queryForMsgLogByTerminalTypePage(page, terminalType, isRead));
}
}
\ No newline at end of file
......@@ -89,4 +89,8 @@ public class MsgLogServiceImpl extends BaseService<MsgLogDto,MsgLog,MsgLogMapper
public Integer countByTerminalType(String terminalType) {
return this.list(new LambdaQueryWrapper<MsgLog>().eq(StringUtils.isNotEmpty(terminalType), MsgLog::getTerminalType, terminalType)).size();
}
public Page<MsgLogDto> queryForMsgLogByTerminalTypePage(Page<MsgLogDto> page, String terminalType, Boolean isRead) {
return this.queryForPage(page, "rec_date", false, terminalType, isRead);
}
}
\ No newline at end of file
......@@ -62,7 +62,7 @@ public class TaskServiceImpl extends BaseService<TaskDto, Task, TaskMapper> impl
* 分页查询
*/
public Page<TaskDto> queryForTaskPage(Page<TaskDto> page, String userId, @Condition(Operator.in) List<Integer> status) {
return this.queryForPage(page, null, false, userId, status);
return this.queryForPage(page, "rec_date", false, userId, status);
}
/**
......
......@@ -1457,7 +1457,43 @@
</sql>
</changeSet>
<changeSet author="xl" id="2022-06-01-01">
<preConditions onFail="MARK_RAN">
<not>
<tableExists tableName="tz_task"/>
</not>
</preConditions>
<comment>add table tz_task</comment>
<sql>
CREATE TABLE `tz_task` (
`sequence_nbr` bigint(20) NOT NULL COMMENT 'id',
`name` varchar(255) DEFAULT NULL COMMENT '任务名称',
`content` text COMMENT '内容',
`description` varchar(500) DEFAULT NULL COMMENT '描述',
`status` int(1) DEFAULT NULL COMMENT '状态【0:待填报,1:待签收,2:已完成】',
`user_id` varchar(255) DEFAULT NULL COMMENT '用户ID',
`create_date` datetime DEFAULT NULL COMMENT '创建时间',
`rec_user_name` varchar(15) DEFAULT NULL COMMENT '更新人名称',
`rec_user_id` varchar(19) DEFAULT NULL COMMENT '用户ID',
`rec_date` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_delete` bit(1) NOT NULL COMMENT '是否删除',
`app_id` varchar(255) DEFAULT NULL COMMENT '对接公司编码',
`dept_id` varchar(255) DEFAULT NULL COMMENT '单位ID',
`dept_name` varchar(255) DEFAULT NULL COMMENT '单位名称'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='任务表';
</sql>
</changeSet>
<changeSet author="xl" id="2022-06-01-02">
<preConditions onFail="MARK_RAN">
<tableExists tableName="tz_msg_log"/>
</preConditions>
<comment>modify table tz_msg_log add is_read columns</comment>
<sql>
ALTER TABLE `tz_msg_log` add is_read bit(1) DEFAULT NULL COMMENT '是否已读【0:未读;1:已读】';
UPDATE tz_msg_log set is_read = false;
</sql>
</changeSet>
</databaseChangeLog>
......@@ -20,7 +20,7 @@
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.73</version>
<version>${fastjson.version}</version>
</dependency>
<dependency>
......@@ -33,6 +33,12 @@
<groupId>com.alibaba.nls</groupId>
<artifactId>nls-sdk-transcriber</artifactId>
<version>2.2.1</version>
<exclusions>
<exclusion>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
......
......@@ -19,13 +19,13 @@
<amos-biz-boot.version>1.0.0</amos-biz-boot.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<fastjson.version>1.2.75</fastjson.version>
<fastjson.version>1.2.83</fastjson.version>
<knife4j-spring-boot-starter.version>2.0.7</knife4j-spring-boot-starter.version>
<springboot.version>2.3.11.RELEASE</springboot.version>
<springcloud.version>Hoxton.SR8</springcloud.version>
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
<tyboot-version>1.1.20</tyboot-version>
<amos.version>1.7.1</amos.version>
<amos.version>1.7.8</amos.version>
<itext.version>7.1.1</itext.version>
</properties>
......@@ -60,7 +60,7 @@
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.67</version>
<version>${fastjson.version}</version>
</dependency>
<dependency>
<groupId>com.yeejoin</groupId>
......
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