统计
This commit is contained in:
@@ -1,7 +1,13 @@
|
||||
package com.ruoyi.web.controller.cxxm;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.time.Period;
|
||||
import java.time.ZoneId;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
@@ -11,13 +17,20 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.utils.bean.BeanUtils;
|
||||
import com.ruoyi.cxxm.domain.*;
|
||||
import com.ruoyi.cxxm.domain.enums.SFSB;
|
||||
import com.ruoyi.cxxm.domain.dto.TaskCheckSubmit;
|
||||
import com.ruoyi.cxxm.domain.enums.SHJG;
|
||||
import com.ruoyi.cxxm.domain.enums.XFQK;
|
||||
import com.ruoyi.cxxm.domain.enums.ZGQK;
|
||||
import com.ruoyi.cxxm.domain.query.TaskQuery;
|
||||
import com.ruoyi.cxxm.domain.vo.TaskCheckLog;
|
||||
import com.ruoyi.cxxm.domain.vo.TaskCheckStatistics;
|
||||
import com.ruoyi.cxxm.domain.vo.TaskCheckSubmitVo;
|
||||
import com.ruoyi.cxxm.service.*;
|
||||
import net.bytebuddy.asm.Advice;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
@@ -88,64 +101,7 @@ public class TaskCheckController extends BaseController {
|
||||
@PreAuthorize("@ss.hasPermi('cxxm:taskCheck:query')")
|
||||
@GetMapping(value = "/{taskId}")
|
||||
public AjaxResult getInfoByTaskId(@PathVariable("taskId") Long taskId) {
|
||||
TaskCheckSubmitVo taskCheckSubmitVo = new TaskCheckSubmitVo();
|
||||
// 最后一条填报内容
|
||||
LambdaQueryWrapper<TaskCheck> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(TaskCheck::getTaskId, taskId);
|
||||
queryWrapper.eq(TaskCheck::getSfsb, SFSB.YSB.getValue());
|
||||
queryWrapper.orderByDesc(TaskCheck::getId);
|
||||
queryWrapper.last("limit 1");
|
||||
TaskCheck taskCheck = taskCheckService.getOne(queryWrapper);
|
||||
if (taskCheck == null) {
|
||||
return AjaxResult.success();
|
||||
}
|
||||
BeanUtils.copyProperties(taskCheck, taskCheckSubmitVo);
|
||||
// 图片
|
||||
LambdaQueryWrapper<TaskCheckImage> tcImagesQueryWrapper = new LambdaQueryWrapper<>();
|
||||
tcImagesQueryWrapper.eq(TaskCheckImage::getTcId, taskCheck.getId());
|
||||
List<TaskCheckImage> taskCheckImages = taskCheckImageService.list(tcImagesQueryWrapper);
|
||||
taskCheckSubmitVo.setTaskCheckImages(taskCheckImages);
|
||||
// 视频
|
||||
LambdaQueryWrapper<TaskCheckVideo> tcVideosQueryWrapper = new LambdaQueryWrapper<>();
|
||||
tcVideosQueryWrapper.eq(TaskCheckVideo::getTcId, taskCheck.getId());
|
||||
List<TaskCheckVideo> taskCheckVideos = taskCheckVideoService.list(tcVideosQueryWrapper);
|
||||
taskCheckSubmitVo.setTaskCheckVideos(taskCheckVideos);
|
||||
// 图斑信息
|
||||
Task task = taskService.getById(taskCheck.getTaskId());
|
||||
Tbxx tbxx = tbxxService.selectTbxxByTbbh(task.getTbbh());
|
||||
taskCheckSubmitVo.setTbxx(tbxx);
|
||||
// 填报记录列表
|
||||
LambdaQueryWrapper<TaskCheck> tcLogQueryWrapper = new LambdaQueryWrapper<>();
|
||||
tcLogQueryWrapper.eq(TaskCheck::getTaskId, taskId);
|
||||
tcLogQueryWrapper.orderByDesc(TaskCheck::getId);
|
||||
List<TaskCheck> tcList = taskCheckService.list(tcLogQueryWrapper);
|
||||
List<TaskCheckLog> tcLogList = new ArrayList<>();
|
||||
for (TaskCheck item : tcList) {
|
||||
// 跳过未上报,且非本人巡查的记录
|
||||
if (Objects.equals(item.getSfsb(), SFSB.WSB.getValue()) && !Objects.equals(item.getXcryId(), SecurityUtils.getUserId())) {
|
||||
continue;
|
||||
}
|
||||
TaskCheckLog taskCheckLog = new TaskCheckLog();
|
||||
BeanUtils.copyProperties(item, taskCheckLog);
|
||||
taskCheckLog.setTcId(item.getId());
|
||||
// 填报记录图片
|
||||
LambdaQueryWrapper<TaskCheckImage> tcLogImagesQueryWrapper = new LambdaQueryWrapper<>();
|
||||
tcLogImagesQueryWrapper.eq(TaskCheckImage::getTcId, item.getId());
|
||||
List<TaskCheckImage> tcLogImages = taskCheckImageService.list(tcLogImagesQueryWrapper);
|
||||
taskCheckLog.setTaskCheckImages(tcLogImages);
|
||||
// 填报记录视频
|
||||
LambdaQueryWrapper<TaskCheckVideo> tcLogVideosQueryWrapper = new LambdaQueryWrapper<>();
|
||||
tcLogVideosQueryWrapper.eq(TaskCheckVideo::getTcId, item.getId());
|
||||
List<TaskCheckVideo> tcLogVideos = taskCheckVideoService.list(tcLogVideosQueryWrapper);
|
||||
taskCheckLog.setTaskCheckVideos(tcLogVideos);
|
||||
// 填报记录审核
|
||||
LambdaQueryWrapper<TaskCheckAudit> tcAuditQueryWrapper = new LambdaQueryWrapper<>();
|
||||
tcAuditQueryWrapper.eq(TaskCheckAudit::getTcId, item.getId());
|
||||
TaskCheckAudit taskCheckAudit = taskCheckAuditService.getOne(tcAuditQueryWrapper);
|
||||
taskCheckLog.setTaskCheckAudit(taskCheckAudit);
|
||||
tcLogList.add(taskCheckLog);
|
||||
}
|
||||
taskCheckSubmitVo.setTaskCheckLogs(tcLogList);
|
||||
TaskCheckSubmitVo taskCheckSubmitVo = taskCheckService.getTaskCheckSubmitVo(taskId);
|
||||
return AjaxResult.success(taskCheckSubmitVo);
|
||||
}
|
||||
|
||||
@@ -204,5 +160,19 @@ public class TaskCheckController extends BaseController {
|
||||
public AjaxResult cancelReport(@PathVariable Long tcId) {
|
||||
return toAjax(taskCheckService.cancelReportTaskCheckInfo(tcId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询本人填报记录表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('cxxm:taskCheck:list')")
|
||||
@GetMapping("/submitted/list")
|
||||
public TableDataInfo submittedList(TaskCheck taskCheck, PageDomain pageDomain) {
|
||||
startPage();
|
||||
LambdaQueryWrapper<TaskCheck> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(TaskCheck::getXcryId,SecurityUtils.getUserId());
|
||||
queryWrapper.eq(TaskCheck::getXcsj,taskCheck.getXcsj());
|
||||
List<TaskCheck> list = taskCheckService.list(queryWrapper);
|
||||
return getDataTable(list);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,19 +4,24 @@ import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.net.InetAddress;
|
||||
import java.net.UnknownHostException;
|
||||
import java.util.*;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
|
||||
import com.ruoyi.common.core.text.StrFormatter;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.utils.bean.BeanUtils;
|
||||
import com.ruoyi.cxxm.domain.Tbxx;
|
||||
import com.ruoyi.cxxm.domain.enums.XFQK;
|
||||
import com.ruoyi.cxxm.domain.query.TaskQuery;
|
||||
import com.ruoyi.cxxm.domain.vo.TaskCheckSubmitVo;
|
||||
import com.ruoyi.cxxm.domain.vo.TaskDetailVo;
|
||||
import com.ruoyi.cxxm.mapper.DeptMapper;
|
||||
import com.ruoyi.cxxm.service.ITbxxService;
|
||||
@@ -280,5 +285,45 @@ public class TaskController extends BaseController {
|
||||
List<Task> list = taskService.list(queryWrapper);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
// @PreAuthorize("@ss.hasPermi('cxxm:taskCheck:query')")
|
||||
// @Log(title = "任务巡查记录", businessType = BusinessType.EXPORT)
|
||||
// @PostMapping("/exportWord/{taskId}")
|
||||
// public void exportWordByTaskId(HttpServletResponse response, @PathVariable("taskId") Long taskId) throws UnknownHostException {
|
||||
// TaskCheckSubmitVo taskCheckSubmitVo = taskCheckSubmitService.selectTaskCheckSubmitByTaskId(taskId);
|
||||
// String jsonString = JSON.toJSONString(taskCheckSubmitVo);
|
||||
// Map taskCheckSubmitMap = JSONObject.parseObject(jsonString, Map.class);
|
||||
// String zgqk =(String) taskCheckSubmitMap.get("zgqk");
|
||||
// switch (zgqk) {
|
||||
// case "0":
|
||||
// taskCheckSubmitMap.put("zgqk","☑无 □未整改 □未整改到位 □已整改");
|
||||
// break;
|
||||
// case "1":
|
||||
// taskCheckSubmitMap.put("zgqk","□无 ☑未整改 □未整改到位 □已整改");
|
||||
// break;
|
||||
// case "2":
|
||||
// taskCheckSubmitMap.put("zgqk","□无 □未整改 ☑未整改到位 □已整改");
|
||||
// break;
|
||||
// case "3":
|
||||
// taskCheckSubmitMap.put("zgqk","□无 □未整改 □未整改到位 ☑未整改");
|
||||
// break;
|
||||
// }
|
||||
// Object taskCheckImages = taskCheckSubmitMap.get("taskCheckImages");
|
||||
// List taskCheckImagelist = JSONObject.parseObject(JSON.toJSONString(taskCheckImages), List.class);
|
||||
// ArrayList<Object> newTaskCheckImages = new ArrayList<>();
|
||||
// for (Object item : taskCheckImagelist) {
|
||||
// Map itemMap = JSONObject.parseObject(JSON.toJSONString(item), Map.class);
|
||||
// String cclj = (String) itemMap.get("cclj");
|
||||
// String ip = InetAddress.getLocalHost().getHostAddress();
|
||||
// String port = environment.getProperty("server.port");
|
||||
// String full_cclj = StrFormatter.format("http://{}:{}{}", ip, port, cclj);
|
||||
// itemMap.put("cclj", Pictures.ofUrl(full_cclj).size(200, 200).create());
|
||||
// newTaskCheckImages.add(itemMap);
|
||||
// }
|
||||
// taskCheckSubmitMap.put("taskCheckImages",newTaskCheckImages);
|
||||
// List<String> nameList = new ArrayList<>();
|
||||
// nameList.add("taskCheckImages");
|
||||
// PoiTlWordUtils.poiTlWord(taskCheckSubmitMap, nameList, "template/taskCheckExport.doc", "taskCheck", response);
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.ruoyi.web.controller.cxxm;
|
||||
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.cxxm.domain.query.StatisticsQuery;
|
||||
import com.ruoyi.cxxm.domain.vo.HistogramDataItem;
|
||||
import com.ruoyi.cxxm.domain.vo.StatisticsVo;
|
||||
import com.ruoyi.cxxm.service.IStatisticsService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static com.ruoyi.common.core.domain.AjaxResult.success;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/cxxm/task/statistics")
|
||||
public class TaskStatisticsController {
|
||||
@Autowired
|
||||
private IStatisticsService statisticsService;
|
||||
|
||||
/**
|
||||
* 获取统计数据
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
// @PreAuthorize("@ss.hasPermi('cxxm:task:statistics')")
|
||||
@GetMapping()
|
||||
public AjaxResult getStatistics(StatisticsQuery statisticsQuery) {
|
||||
StatisticsVo statisticsVo = statisticsService.taskStatistics(statisticsQuery);
|
||||
List<HistogramDataItem> histogramData = statisticsService.histogramStatistics(statisticsQuery);
|
||||
List<Object> lineData = statisticsService.lineStatistics(statisticsQuery);
|
||||
statisticsVo.setHistogramData(histogramData);
|
||||
statisticsVo.setLineData(lineData);
|
||||
return success(statisticsVo);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user