This commit is contained in:
2024-04-07 15:04:02 +08:00
parent 1b8568984d
commit 90744d2a4c
37 changed files with 1251 additions and 1147 deletions

View File

@@ -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);
}
}

View File

@@ -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);
// }
}

View File

@@ -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);
}
}