Browse Source

更新飞手相关

master
牧羊人 4 years ago
parent
commit
0c8c52e31d
26 changed files with 962 additions and 40 deletions
  1. +4
    -4
      src/main/java/com/taauav/admin/dto/TauvInspectDriverAssignTaskDTO.java
  2. +23
    -2
      src/main/java/com/taauav/admin/dto/TauvInspectDriverDTO.java
  3. +7
    -2
      src/main/java/com/taauav/admin/entity/TauvInspectDriver.java
  4. +2
    -2
      src/main/java/com/taauav/admin/entity/TauvReport.java
  5. +2
    -0
      src/main/java/com/taauav/admin/service/ILsAdminService.java
  6. +8
    -0
      src/main/java/com/taauav/admin/service/ISysAdminService.java
  7. +1
    -0
      src/main/java/com/taauav/admin/service/ITauvInspectDriverService.java
  8. +31
    -0
      src/main/java/com/taauav/admin/service/impl/SysAdminServiceImpl.java
  9. +24
    -1
      src/main/java/com/taauav/admin/service/impl/TauvDriverServiceImpl.java
  10. +36
    -23
      src/main/java/com/taauav/admin/service/impl/TauvInspectDriverServiceImpl.java
  11. +1
    -1
      src/main/java/com/taauav/admin/service/impl/TauvInspectFileServiceImpl.java
  12. +1
    -1
      src/main/java/com/taauav/admin/service/impl/TauvInspectServiceImpl.java
  13. +2
    -2
      src/main/java/com/taauav/admin/service/impl/TauvReportServiceImpl.java
  14. +5
    -0
      src/main/java/com/taauav/admin/vo/TauvDriverListVo.java
  15. +1
    -1
      src/main/java/com/taauav/common/util/CodeGeneratorUtil.java
  16. +47
    -0
      src/main/java/com/taauav/front/controller/LSReportController.java
  17. +16
    -0
      src/main/java/com/taauav/front/mapper/LSReportMapper.java
  18. +5
    -0
      src/main/java/com/taauav/front/mapper/TauvReportMapper.xml
  19. +39
    -0
      src/main/java/com/taauav/front/query/LSReportQuery.java
  20. +34
    -0
      src/main/java/com/taauav/front/service/ILSReportService.java
  21. +231
    -0
      src/main/java/com/taauav/front/service/impl/LSReportServiceImpl.java
  22. +166
    -0
      src/main/java/com/taauav/front/vo/LSReportInfoVo.java
  23. +107
    -0
      src/main/java/com/taauav/front/vo/LSReportListVo.java
  24. +102
    -0
      src/main/java/com/taauav/front/vo/LSReportQuestionFileListVo.java
  25. +66
    -0
      src/main/java/com/taauav/front/vo/LSReportQuestionListVo.java
  26. +1
    -1
      src/main/resources/config/application-dev.yml

+ 4
- 4
src/main/java/com/taauav/admin/dto/TauvInspectDriverAssignTaskDTO.java View File

List<TauvInspectDriver> inspectDrivers; List<TauvInspectDriver> inspectDrivers;


/** /**
* 飞手ID
* 巡检任务飞手
*/ */
private Integer adminId;
private String inspectHand;


/** /**
* 无人机设备ID * 无人机设备ID
*/ */
private Integer equipmentId;
private String equipmentId;


/** /**
* 挂载设备ID * 挂载设备ID
*/ */
private Integer mountequipmentId;
private String mountequipmentId;


/** /**
* 执行时间 * 执行时间

+ 23
- 2
src/main/java/com/taauav/admin/dto/TauvInspectDriverDTO.java View File

*/ */
@Data @Data
public class TauvInspectDriverDTO extends BaseInspectDriverDTO { public class TauvInspectDriverDTO extends BaseInspectDriverDTO {
// /**
// * 飞手
// */
// private String flightHand;
// private String flightHandText;

/** /**
* 飞手 * 飞手
*/ */
private String flightHand;
private String flightHandText;
private String inspectHand;

/**
* 飞手名称
*/
private String inspectHandName;

/** /**
* 添加时间 * 添加时间
*/ */
* 河道长度 * 河道长度
*/ */
private BigDecimal driverLength; private BigDecimal driverLength;

/**
* 航线文件名
*/
private String driverFilename;

/**
* 航线文件
*/
private String driverFile;
} }

+ 7
- 2
src/main/java/com/taauav/admin/entity/TauvInspectDriver.java View File

/** /**
* 飞行设备ID * 飞行设备ID
*/ */
private Integer equipmentId;
private String equipmentId;


/** /**
* 挂载设备ID * 挂载设备ID
*/ */
private Integer mountequipmentId;
private String mountequipmentId;


/** /**
* 飞手ID * 飞手ID
*/ */
private Integer flightHand; private Integer flightHand;


/**
* 巡检任务飞手
*/
private String inspectHand;

/** /**
* 执行时间 * 执行时间
*/ */

+ 2
- 2
src/main/java/com/taauav/admin/entity/TauvReport.java View File

/** /**
* 报告描述 * 报告描述
*/ */
@TableField(value = "`desc`")
private String desc;
@TableField(value = "`description`")
private String description;


/** /**
* 创建人 * 创建人

+ 2
- 0
src/main/java/com/taauav/admin/service/ILsAdminService.java View File

import com.taauav.admin.query.LsAdminQuery; import com.taauav.admin.query.LsAdminQuery;
import com.taauav.common.service.IBaseService; import com.taauav.common.service.IBaseService;


import javax.validation.constraints.Max;
import java.util.List;
import java.util.Map; import java.util.Map;


/** /**

+ 8
- 0
src/main/java/com/taauav/admin/service/ISysAdminService.java View File

String getRealNameById(Integer id); String getRealNameById(Integer id);


List<Map<String,Object>> getAdminListByGroupId(Integer groupId); List<Map<String,Object>> getAdminListByGroupId(Integer groupId);

/**
* 根据ID获取人员名称
*
* @param adminIds
* @return
*/
List<String> getAdminNameByIds(String adminIds);
} }

+ 1
- 0
src/main/java/com/taauav/admin/service/ITauvInspectDriverService.java View File

* @return * @return
*/ */
Response reProcess(Map<String, Object> map); Response reProcess(Map<String, Object> map);

} }

+ 31
- 0
src/main/java/com/taauav/admin/service/impl/SysAdminServiceImpl.java View File

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.taauav.admin.entity.LsAuthGroup;
import com.taauav.common.bean.CacheUser; import com.taauav.common.bean.CacheUser;
import com.taauav.common.bean.Response; import com.taauav.common.bean.Response;
import com.taauav.common.constant.SysAdminConstant; import com.taauav.common.constant.SysAdminConstant;
} }
return response.success("操作成功", list); return response.success("操作成功", list);
} }

/**
* 根据ID获取人员名称
*
* @param adminIds 人员ID(多个逗号分隔)
* @return
*/
@Override
public List<String> getAdminNameByIds(String adminIds) {
// 查询条件
QueryWrapper<SysAdmin> queryWrapper = new QueryWrapper<>();
// 待分配任务
String arr[] = adminIds.split(",");
ArrayList arrayList = new ArrayList();
for (String s : arr) {
arrayList.add(s);
}
queryWrapper.in("id", arrayList);
queryWrapper.eq("mark", 1);

// 查询数据
List<SysAdmin> adminList = sysAdminMapper.selectList(queryWrapper);
List<String> stringList = new ArrayList<>();
if (!adminList.isEmpty()) {
adminList.forEach(item -> {
stringList.add(item.getRealname());
});
}
return stringList;
}
} }

+ 24
- 1
src/main/java/com/taauav/admin/service/impl/TauvDriverServiceImpl.java View File

import com.taauav.admin.service.ISysAdminService; import com.taauav.admin.service.ISysAdminService;
import com.taauav.admin.service.ITauvDriverService; import com.taauav.admin.service.ITauvDriverService;
import com.taauav.common.service.impl.BaseServiceImpl; import com.taauav.common.service.impl.BaseServiceImpl;
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.stereotype.Service; import org.springframework.stereotype.Service;
Integer pageSize = 10; Integer pageSize = 10;
IPage<TauvDriver> page = new Page<>(pageIndex, pageSize); IPage<TauvDriver> page = new Page<>(pageIndex, pageSize);
IPage<TauvDriver> data = driverMapper.selectPage(page, queryWrapper); IPage<TauvDriver> data = driverMapper.selectPage(page, queryWrapper);
return response.success("操作成功", data);
List<TauvDriver> driverList = data.getRecords();
List<TauvDriverListVo> driverListVoList = new ArrayList<>();
if (!driverList.isEmpty()) {
driverList.forEach(item -> {
TauvDriverListVo driverListVo = new TauvDriverListVo();
// 拷贝属性
BeanUtils.copyProperties(item, driverListVo);
// 河流ID
driverListVo.setDriverId(item.getId());
// 区划描述
String cityName = cityService.getCityName(item.getDriverArea());
driverListVo.setDriverAreaName(cityName);
driverListVoList.add(driverListVo);
});
}
// 返回结果
Map<String, Object> result = new HashMap<>();
result.put("total", data.getTotal());
result.put("size", data.getSize());
result.put("current", data.getCurrent());
result.put("pages", data.getPages());
result.put("records", driverListVoList);
return response.success(result);
} }
} }

+ 36
- 23
src/main/java/com/taauav/admin/service/impl/TauvInspectDriverServiceImpl.java View File

destFile = destFile.replace(uploadFolder, ""); destFile = destFile.replace(uploadFolder, "");
driver.setDriverFile(destFile + fileName); driver.setDriverFile(destFile + fileName);
} else { } else {
return "图片保存失败了!";
return "文件保存失败了!";
} }
} }
} }
//抛出异常 //抛出异常
return "河流名称不存在"; return "河流名称不存在";
} }
driver.setId(0);
driver.setInspectId(inspectId); driver.setInspectId(inspectId);
driver.setInspectNo(inspect.getInspectNo()); driver.setInspectNo(inspect.getInspectNo());
driver.setCreateTime(DateUtil.now()); driver.setCreateTime(DateUtil.now());
return response.failure("执行时间不能为空"); return response.failure("执行时间不能为空");
} }
// 无人机设备校验 // 无人机设备校验
if (assignTaskDto.getEquipmentId() == null || assignTaskDto.getEquipmentId() <= 0) {
if (StringUtils.isEmpty(assignTaskDto.getEquipmentId())) {
return response.failure("无人机设备不能为空"); return response.failure("无人机设备不能为空");
} }
// 挂载设备 // 挂载设备
if (assignTaskDto.getMountequipmentId() == null || assignTaskDto.getMountequipmentId() <= 0) {
if (StringUtils.isEmpty(assignTaskDto.getMountequipmentId())) {
return response.failure("挂载设备不能为空"); return response.failure("挂载设备不能为空");
} }
// 飞手校验 // 飞手校验
if (assignTaskDto.getAdminId() == null || assignTaskDto.getAdminId() <= 0) {
if (StringUtils.isEmpty(assignTaskDto.getInspectHand())) {
return response.failure("飞手不能为空"); return response.failure("飞手不能为空");
} }
// 循环遍历河流信息 // 循环遍历河流信息
// 挂载设备 // 挂载设备
inspectDriver.setMountequipmentId(assignTaskDto.getMountequipmentId()); inspectDriver.setMountequipmentId(assignTaskDto.getMountequipmentId());
// 飞手 // 飞手
inspectDriver.setFlightHand(assignTaskDto.getAdminId());
inspectDriver.setInspectHand(assignTaskDto.getInspectHand());
// 设置已分配状态 // 设置已分配状态
inspectDriver.setStatus(2); inspectDriver.setStatus(2);
// 更新巡检河流信息 // 更新巡检河流信息
detail.put("flightTime", info.getFlightTime()); detail.put("flightTime", info.getFlightTime());
detail.put("flightHeight", info.getFlightHeight()); detail.put("flightHeight", info.getFlightHeight());
detail.put("flightSpeed", info.getFlightSpeed()); detail.put("flightSpeed", info.getFlightSpeed());
detail.put("flightGroup", info.getFlightHand());
detail.put("flightHand", info.getFlightHand());
detail.put("inspectHand", info.getInspectHand());
// 巡检时间 // 巡检时间
String inspectTime = ""; String inspectTime = "";
if (!StringUtils.isEmpty(inspectInfo.getInspectTime())) { if (!StringUtils.isEmpty(inspectInfo.getInspectTime())) {
if (StringUtils.isEmpty(info)) { if (StringUtils.isEmpty(info)) {
return response.failure("数据不存在"); return response.failure("数据不存在");
} }
Integer fligGroup = info.getFlightHand();
if (!fligGroup.equals(adminId) && !fligGroup.equals(1)) {
Integer flightHand = info.getFlightHand();
if (!flightHand.equals(adminId) && !flightHand.equals(1)) {
response.failure("只有被分配的小组才有权限"); response.failure("只有被分配的小组才有权限");
} }
TauvInspectDriver inspectDriver = new TauvInspectDriver(); TauvInspectDriver inspectDriver = new TauvInspectDriver();
if (!StringUtils.isEmpty(info.get("error"))) { if (!StringUtils.isEmpty(info.get("error"))) {
return response.failure(info.get("error")); return response.failure(info.get("error"));
} }
Integer groupId = (Integer) info.get("flightGroup");
Long startTime = new Long(info.get("executionTime").toString());
Long inspectTime = new Long(info.get("inspectTime").toString());
if (startTime > 0) {
info.put("executionTime", FunctionUtils.formatTime(startTime.intValue(), "yyyy-MM-dd HH:mm:ss"));
} else {
info.put("executionTime", "");
}
if (inspectTime > 0) {
info.put("formatInspectTime", FunctionUtils.formatTime(inspectTime.intValue(), "yyyy-MM-dd HH:mm:ss"));
} else {
info.put("formatInspectTime", "");
}
SysAdmin adminInfo = iSysAdminService.getAdminInfo(groupId);
info.put("flightGroupText", StringUtils.isEmpty(adminInfo) ? "" : adminInfo.getRealname());
// Integer groupId = (Integer) info.get("flightGroup");
// Long startTime = new Long(info.get("executionTime").toString());
// Long inspectTime = new Long(info.get("inspectTime").toString());
// if (startTime > 0) {
// info.put("executionTime", info.get("executionTime").toString());
// } else {
// info.put("executionTime", "");
// }
// if (inspectTime > 0) {
// info.put("formatInspectTime", info.get("inspectTime").toString());
// } else {
// info.put("formatInspectTime", "");
// }
info.put("executionTime", info.get("executionTime").toString());
info.put("formatInspectTime", info.get("inspectTime").toString());

// 巡检飞手
String inspectHand = info.get("inspectHand").toString();

// 获取飞手名称
List<String> stringList = iSysAdminService.getAdminNameByIds(inspectHand);
info.put("inspectHandName", org.apache.commons.lang3.StringUtils.join(stringList.toArray(), ","));
return response.success(info); return response.success(info);
} }


driver.setReportId(report.getId()); driver.setReportId(report.getId());
} }
} }

// 获取飞行消息
List<String> inspectHandList = iSysAdminService.getAdminNameByIds(driver.getInspectHand());
driver.setInspectHandName(org.apache.commons.lang3.StringUtils.join(inspectHandList.toArray(), ","));
return driver; return driver;
} }



+ 1
- 1
src/main/java/com/taauav/admin/service/impl/TauvInspectFileServiceImpl.java View File

Integer adminId = ShiroUtils.getAdminId(); Integer adminId = ShiroUtils.getAdminId();
boolean hasAccess = getAccess(); boolean hasAccess = getAccess();
if (hasAccess) { if (hasAccess) {
map.put("flightGroup", adminId);
map.put("flightHand", adminId);
} }
List<TauvInspectDriverPicDTO> list = inspectDriverMapper.getFilePageList(page, map); List<TauvInspectDriverPicDTO> list = inspectDriverMapper.getFilePageList(page, map);
if (list != null) { if (list != null) {

+ 1
- 1
src/main/java/com/taauav/admin/service/impl/TauvInspectServiceImpl.java View File

destFile = destFile.replace(uploadFolder, ""); destFile = destFile.replace(uploadFolder, "");
inspect.setAttachment(destFile + fileName); inspect.setAttachment(destFile + fileName);
} else { } else {
return response.failure("图片保存失败了");
return response.failure("文件保存失败了");
} }
} }
} }

+ 2
- 2
src/main/java/com/taauav/admin/service/impl/TauvReportServiceImpl.java View File

data.put("totalExamineScore", reportInfo.getTotalExamineScore()); data.put("totalExamineScore", reportInfo.getTotalExamineScore());
data.put("totalCheckScore", reportInfo.getTotalCheckScore()); data.put("totalCheckScore", reportInfo.getTotalCheckScore());
data.put("status", reportInfo.getStatus()); data.put("status", reportInfo.getStatus());
data.put("desc", reportInfo.getDesc());
data.put("desc", reportInfo.getDescription());
if (!StringUtils.isEmpty(reportInfo.getDriverArea())) { if (!StringUtils.isEmpty(reportInfo.getDriverArea())) {
SysCity cityInfo = iSysCityService.getInfoById(reportInfo.getDriverArea()); SysCity cityInfo = iSysCityService.getInfoById(reportInfo.getDriverArea());
data.put("driverArea", StringUtils.isEmpty(cityInfo) ? "" : cityInfo.getName()); data.put("driverArea", StringUtils.isEmpty(cityInfo) ? "" : cityInfo.getName());
if (desc.length() > 200) { if (desc.length() > 200) {
return response.failure("报告描述不能超过200字"); return response.failure("报告描述不能超过200字");
} }
tauvReport.setDesc(desc);
tauvReport.setDescription(desc);
} }
if (StringUtils.isEmpty(info.getReportNo())) { if (StringUtils.isEmpty(info.getReportNo())) {
String num = String.format("%04d", info.getId()); String num = String.format("%04d", info.getId());

+ 5
- 0
src/main/java/com/taauav/admin/vo/TauvDriverListVo.java View File

*/ */
private Integer id; private Integer id;


/**
* 河流ID
*/
private Integer driverId;

/** /**
* 河道编码 * 河道编码
*/ */

+ 1
- 1
src/main/java/com/taauav/common/util/CodeGeneratorUtil.java View File

private static final String AUTHOR = "dyg"; private static final String AUTHOR = "dyg";
private static final String HOST = "127.0.0.1"; private static final String HOST = "127.0.0.1";
private static final String DRIVER_CLASS_NAME = "com.mysql.cj.jdbc.Driver"; private static final String DRIVER_CLASS_NAME = "com.mysql.cj.jdbc.Driver";
private static final String DATABASE_NAME = "lishui.com";
private static final String DATABASE_NAME = "taauav_lishui";
private static final String DATABASE_USERNAME = "root"; private static final String DATABASE_USERNAME = "root";
private static final String DATABASE_PASSWORD = ""; private static final String DATABASE_PASSWORD = "";
private static final String PARENT_PACKAGE = "com.taauav"; private static final String PARENT_PACKAGE = "com.taauav";

+ 47
- 0
src/main/java/com/taauav/front/controller/LSReportController.java View File

package com.taauav.front.controller;


import com.taauav.common.bean.Response;
import com.taauav.front.query.LSReportQuery;
import com.taauav.front.service.ILSReportService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
* <p>
* 巡检报告表 前端控制器
* </p>
*
* @author dyg
* @since 2020-04-10
*/
@RestController
@RequestMapping("/front/report")
public class LSReportController {

@Autowired
private ILSReportService reportService;

/**
* 获取报告列表
*
* @param query 查询条件
* @return
*/
@PostMapping("/index")
public Response index(@RequestBody(required = false) LSReportQuery query) {
return reportService.getList(query);
}

/**
* 获取报告详情
*
* @param id 报告ID
* @return
*/
@GetMapping("/detail")
public Response detail(Integer id) {
return reportService.detail(id);
}

}

+ 16
- 0
src/main/java/com/taauav/front/mapper/LSReportMapper.java View File

package com.taauav.front.mapper;

import com.taauav.admin.entity.TauvReport;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

/**
* <p>
* 巡检报告表 Mapper 接口
* </p>
*
* @author dyg
* @since 2020-04-10
*/
public interface LSReportMapper extends BaseMapper<TauvReport> {

}

+ 5
- 0
src/main/java/com/taauav/front/mapper/TauvReportMapper.xml View File

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.taauav.front.mapper.LSReportMapper">

</mapper>

+ 39
- 0
src/main/java/com/taauav/front/query/LSReportQuery.java View File

package com.taauav.front.query;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.taauav.common.core.mps.BaseQuery;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigInteger;
import java.util.Date;

/**
* 报告查询对象
*/
@Data
public class LSReportQuery extends BaseQuery {

/**
* 报告单号
*/
private String reportNo;

/**
* 河湖名称
*/
private String driverName;

/**
* 巡检时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date inspectTime;

/**
* 区划ID
*/
private BigInteger driverArea;

}

+ 34
- 0
src/main/java/com/taauav/front/service/ILSReportService.java View File

package com.taauav.front.service;

import com.taauav.admin.entity.TauvReport;
import com.taauav.common.bean.Response;
import com.taauav.common.service.IBaseService;
import com.taauav.front.query.LSReportQuery;

/**
* <p>
* 巡检报告表 服务类
* </p>
*
* @author dyg
* @since 2020-04-10
*/
public interface ILSReportService extends IBaseService<TauvReport> {

/**
* 获取报告列表
*
* @param query 查询条件
* @return
*/
Response getList(LSReportQuery query);

/**
* 获取报告详情
*
* @param id 报告ID
* @return
*/
Response detail(Integer id);

}

+ 231
- 0
src/main/java/com/taauav/front/service/impl/LSReportServiceImpl.java View File

package com.taauav.front.service.impl;

import com.alibaba.fastjson.JSON;
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.taauav.admin.entity.TauvInspectDriver;
import com.taauav.admin.entity.TauvQuestionOptions;
import com.taauav.admin.entity.TauvReport;
import com.taauav.admin.entity.TauvReportRemark;
import com.taauav.admin.mapper.TauvInspectDriverMapper;
import com.taauav.admin.service.*;
import com.taauav.common.bean.Response;
import com.taauav.common.service.impl.BaseServiceImpl;
import com.taauav.common.util.DateUtil;
import com.taauav.common.util.StringUtils;
import com.taauav.front.mapper.LSReportMapper;
import com.taauav.front.query.LSReportQuery;
import com.taauav.front.service.ILSReportService;
import com.taauav.front.vo.LSReportInfoVo;
import com.taauav.front.vo.LSReportListVo;
import com.taauav.front.vo.LSReportQuestionFileListVo;
import com.taauav.front.vo.LSReportQuestionListVo;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

import java.util.*;

/**
* <p>
* 巡检报告表 服务实现类
* </p>
*
* @author dyg
* @since 2020-04-10
*/
@Service
public class LSReportServiceImpl extends BaseServiceImpl<LSReportMapper, TauvReport> implements ILSReportService {

@Value("${server.UPLOAD_URL}")
private String uploadUrl;

@Autowired
private LSReportMapper reportMapper;

@Autowired
private Response response;

@Autowired
private ISysCityService cityService;

@Autowired
private TauvInspectDriverMapper inspectDriverMapper;

@Autowired
private ITauvQuestionOptionsService questionOptionsService;

@Autowired
private ITauvInspectFileService inspectFileService;

@Autowired
private ITauvReportRemarkService reportRemarkService;

@Autowired
private ITauvReportEvaluationService reportEvaluationService;

/**
* 获取报告列表
*
* @param query 查询条件
* @return
*/
@Override
public Response getList(LSReportQuery query) {
// 查询条件
QueryWrapper<TauvReport> queryWrapper = new QueryWrapper<>();
// 报告编号
if (!StringUtils.isEmpty(query.getReportNo())) {
queryWrapper.like("report_no", query.getReportNo());
}
// 河湖名称
if (!StringUtils.isEmpty(query.getDriverName())) {
queryWrapper.like("driver_name", query.getDriverName());
}
// 巡检日期
if (query.getInspectTime() != null) {
String inspectTime = DateUtil.format(query.getInspectTime(), "yyyy-MM-dd");
Date startTime = DateUtil.parse(inspectTime + " 0:00:00", "yyyy-MM-dd HH:mm:ss");
Date endTime = DateUtil.parse(inspectTime + " 23:59:59", "yyyy-MM-dd HH:mm:ss");
}

// 区划ID
if (query.getDriverArea() != null) {
queryWrapper.eq("driver_area", query.getDriverArea());
}
queryWrapper.eq("mark", 1);

// 查询数据
IPage<TauvReport> page = new Page<>(query.getPage(), query.getPageSize());
IPage<TauvReport> data = reportMapper.selectPage(page, queryWrapper);
List<TauvReport> reportList = data.getRecords();
List<LSReportListVo> reportListVoList = new ArrayList<>();
if (!reportList.isEmpty()) {
reportList.forEach(item -> {
LSReportListVo reportListVo = new LSReportListVo();
// 拷贝属性
BeanUtils.copyProperties(item, reportListVo);
// 区划
String cityName = cityService.getCityName(item.getDriverArea());
reportListVo.setDriverAreaName(cityName);
// 状态描述
reportListVo.setStatusName(item.getStatusList().get(item.getStatus()));
reportListVoList.add(reportListVo);
});
}
// 返回结果
Map<String, Object> result = new HashMap<>();
result.put("total", data.getTotal());
result.put("size", data.getSize());
result.put("current", data.getCurrent());
result.put("pages", data.getPages());
result.put("records", reportListVoList);
return response.success(result);
}

/**
* 获取报告详情
*
* @param id 报告ID
* @return
*/
@Override
public Response detail(Integer id) {
if (id == null || id <= 0) {
return response.failure("报告ID不能为空");
}
// 获取报告信息
TauvReport report = reportMapper.selectById(id);
if (report == null) {
return response.failure("报告信息不存在");
}
// 拷贝属性
LSReportInfoVo reportInfoVo = new LSReportInfoVo();
BeanUtils.copyProperties(report, reportInfoVo);
// 区划描述
String cityName = cityService.getCityName(reportInfoVo.getDriverArea());
reportInfoVo.setDriverAreaName(cityName);
// 报告状态描述
reportInfoVo.setStatusName(report.getStatusList().get(report.getStatus()));

// 获取巡检信息
TauvInspectDriver inspectDriver = inspectDriverMapper.selectById(report.getInspectDriverId());
if (inspectDriver != null) {
reportInfoVo.setWeather(inspectDriver.getWeather());
reportInfoVo.setWind(inspectDriver.getWind());
reportInfoVo.setTemperature(inspectDriver.getTemperature());
reportInfoVo.setFlightSpeed(inspectDriver.getFlightSpeed().toString());
reportInfoVo.setFlightHeight(inspectDriver.getFlightHeight().toString());
reportInfoVo.setFlightTime(inspectDriver.getFlightTime().toString());
}

TauvQuestionOptions question = new TauvQuestionOptions();
// 分类列表
Map<Integer, String> categoryList = question.getCategoryList();
// 类型列表
Map<Integer, String> typeList = question.getTypeList();
// 获取问题列表
List<TauvQuestionOptions> questionData = questionOptionsService.getDataList();
List<LSReportQuestionListVo> reportQuestionListVoList = new ArrayList<>();
if (!questionData.isEmpty()) {
questionData.forEach(item -> {
// 问题数量
Integer questionNum = inspectFileService.getReviewNumByInspectDriverId(item.getId(), report.getInspectDriverId());
// 报告备注
TauvReportRemark remarkInfo = reportRemarkService.getInfoByReportIdAndQuestionId(report.getId(), report.getId());
if (remarkInfo != null) {
LSReportQuestionListVo reportQuestionListVo = new LSReportQuestionListVo();
reportQuestionListVo.setId(item.getId());
reportQuestionListVo.setCategory(item.getCategory());
reportQuestionListVo.setCategoryName(categoryList.get(item.getCategory()));
reportQuestionListVo.setType(item.getType());
reportQuestionListVo.setTypeName(typeList.get(item.getType()));
reportQuestionListVo.setQuestionNum(questionNum);
reportQuestionListVo.setRemark(remarkInfo.getRemark());
reportQuestionListVo.setContent(item.getContent());
reportQuestionListVo.setNote(item.getNote());
reportQuestionListVo.setExamineScore(remarkInfo.getExamineScore());
reportQuestionListVo.setCheckScore(remarkInfo.getCheckScore());
reportQuestionListVoList.add(reportQuestionListVo);
}
});
}
// 加入报告
reportInfoVo.setQuestionList(reportQuestionListVoList);

// 报告描述
List<Map<String, Object>> reportDescList = reportEvaluationService.getDataByStatus(1);
reportInfoVo.setReportDescList(reportDescList);

// 获取问题清单
List<Map<String, Object>> questionFileList = inspectFileService.getReviewDataByInspectDriverId(report.getInspectDriverId());
List<LSReportQuestionFileListVo> questionFileListVoList = new ArrayList<>();
if (!questionFileList.isEmpty()) {
questionFileList.forEach(item -> {
// Map转对象
LSReportQuestionFileListVo questionFileListVo = JSON.parseObject(JSON.toJSONString(item), LSReportQuestionFileListVo.class);
if (questionFileListVo.getStatus() == 1) {
Integer questionId = questionFileListVo.getQuestionId();
if (questionId != null && questionId > 0) {
TauvQuestionOptions questionOptions = questionOptionsService.getInfoById(Integer.valueOf(questionId));
questionFileListVo.setQuestionContent(questionOptions.getContent());
}
}
// 图片地址
if (!StringUtils.isEmpty(item.get("src").toString())) {
questionFileListVo.setFormatSrc(uploadUrl + item.get("src"));
}
// 原始图片
if (!StringUtils.isEmpty(item.get("original_img").toString())) {
questionFileListVo.setFormatOriginalImg(uploadUrl + item.get("original_img").toString());
}
questionFileListVoList.add(questionFileListVo);
});
}
// 设置问题清单
reportInfoVo.setQuestionFileList(questionFileListVoList);
return response.success(reportInfoVo);
}
}

+ 166
- 0
src/main/java/com/taauav/front/vo/LSReportInfoVo.java View File

package com.taauav.front.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
* 报告详情Vo
*/
@Data
public class LSReportInfoVo {

/**
* 报告ID
*/
private Integer id;

/**
* 报告编号
*/
private String reportNo;

/**
* 河流名称
*/
private String driverName;

/**
* 巡检时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date inspectTime;

/**
* 巡检长度
*/
private String inspectLength;

/**
* 群中满意度(校核分)
*/
private Integer manyiCheckScore;

/**
* 群中满意度(校核分)
*/
private Integer manyiExamineScore;

/**
* 知晓率得分(考核分)
*/
private Integer awareExamineScore;

/**
* 知晓率得分(校核分)
*/
private Integer awareCheckScore;

/**
* 考核总分
*/
private Integer totalExamineScore;

/**
* 校核总分
*/
private Integer totalCheckScore;

/**
* 状态:1待生成 2审核中 3审核通过 4审核驳回
*/
private Integer status;

/**
* 状态描述
*/
private String statusName;

/**
* 报告描述
*/
private String description;

/**
* 区划ID
*/
private BigInteger driverArea;

/**
* 区划描述
*/
private String driverAreaName;

/**
* 河流起点
*/
private String driverStart;

/**
* 河流终点
*/
private String driverEnd;

/**
* 视频地址
*/
private String videoUrl;

/**
* 图片地址
*/
private String imageUrl;

/**
* 天气
*/
private String weather;

/**
* 风速
*/
private String wind;

/**
* 温度
*/
private String temperature;

/**
* 飞行速度
*/
private String flightSpeed;

/**
* 飞行高度
*/
private String flightHeight;

/**
* 飞行时间
*/
private String flightTime;

/**
* 报告问题
*/
private List<LSReportQuestionListVo> questionList;

/**
* 报告描述列表
*/
private List<Map<String, Object>> reportDescList;

/**
* 问题清单列表
*/
private List<LSReportQuestionFileListVo> questionFileList;

}

+ 107
- 0
src/main/java/com/taauav/front/vo/LSReportListVo.java View File

package com.taauav.front.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigInteger;
import java.util.Date;

/**
* 报告列表Vo
*/
@Data
public class LSReportListVo {

/**
* ID
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;

/**
* 报告编号
*/
private String reportNo;

/**
* 河流名称
*/
private String driverName;

/**
* 河流区域ID
*/
private BigInteger driverArea;

/**
* 区划描述
*/
private String driverAreaName;

/**
* 河流起点
*/
private String driverStart;

/**
* 河流终点
*/
private String driverEnd;

/**
* 巡检总长
*/
private String inspectLength;

/**
* 巡检时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date inspectTime;

/**
* 执行时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date executionTime;

/**
* 巡检任务状态:1待生成 2审核中 3审核通过 4审核驳回
*/
private Integer status;

/**
* 状态描述
*/
private String statusName;

/**
* 创建人
*/
private Integer createUser;

/**
* 创建时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;

/**
* 更新人
*/
private Integer updateUser;

/**
* 更新时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;

}

+ 102
- 0
src/main/java/com/taauav/front/vo/LSReportQuestionFileListVo.java View File

package com.taauav.front.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;

/**
* 报告问题文件列表Vo
*/
@Data
public class LSReportQuestionFileListVo {

/**
* 问题文件ID
*/
private Integer id;

/**
* 经度(地里坐标)
*/
private String latitude;

/**
* 纬度(地里坐标)
*/
private String longitude;

/**
* 详细描述
*/
private String description;

/**
* 附件地址
*/
private String src;

/**
* 原图
*/
private String originalImg;

/**
* 问题类型ID
*/
private Integer questionId;

/**
* 状态
*/
private Integer status;

/**
* 文件归类
*/
private String fileDocument;

/**
* 百度经度
*/
private String baiduLatitude;

/**
* 百度纬度
*/
private String baiduLongitude;

/**
* 百度地址
*/
private String baiduAddress;

/**
* 高德经度
*/
private String gaodeLatitude;

/**
* 高德纬度
*/
private String gaodeLongitude;

/**
* 高德地址
*/
private String gaodeAddress;

/**
* 问题内容
*/
private String questionContent;

/**
* 图片地址
*/
private String formatSrc;

/**
* 原始图片地址
*/
private String formatOriginalImg;

}

+ 66
- 0
src/main/java/com/taauav/front/vo/LSReportQuestionListVo.java View File

package com.taauav.front.vo;

import lombok.Data;

/**
* 问题列表Vo
*/
@Data
public class LSReportQuestionListVo {

/**
* 问题ID
*/
private Integer id;

/**
* 分类:1水面 2岸线 3排口 4水质
*/
private Integer category;

/**
* 分类描述
*/
private String categoryName;

/**
* 类型:1日常监测 2重点核查
*/
private Integer type;

/**
* 问题描述
*/
private String typeName;

/**
* 问题数量
*/
private Integer questionNum;

/**
* 报告描述
*/
private String remark;

/**
* 问题选项
*/
private String content;

/**
* 备注
*/
private String note;

/**
* 考核分
*/
private Integer examineScore;

/**
* 校核分
*/
private Integer checkScore;

}

+ 1
- 1
src/main/resources/config/application-dev.yml View File

server: server:
port: 8010 port: 8010
UPLOAD_URL: http://upload.manufacturecloud.com/ UPLOAD_URL: http://upload.manufacturecloud.com/
AVATAR_URL: /data/webroot/taauav/public/uploads/
AVATAR_URL: /data/java/lishui/public/upload/
IMAGE_URL: http://img.manufacturecloud.com/ IMAGE_URL: http://img.manufacturecloud.com/
servlet: servlet:
context-path: / context-path: /

Loading…
Cancel
Save