ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/DashboardStatisticsController.java
@@ -23,6 +23,7 @@ import java.util.HashMap; import java.util.List; import java.util.Optional; /** * 数据统计面板 前端控制器 @@ -36,8 +37,6 @@ @RequiredArgsConstructor(onConstructor_ = @Lazy) public class DashboardStatisticsController { @Autowired private ScreenAccountService screenAccountService; @Autowired private TokenService tokenService; @@ -54,6 +53,8 @@ @Autowired private AccidentBriefService accidentBriefService; @Autowired private AccidentClassificationService accidentClassificationService; @ApiOperation("获取当前登录信息") @@ -99,10 +100,10 @@ @ApiOperation(value = "获取故事简讯列表",response = AccidentBrief.class) @PostMapping("/getStoryList") public R<Page<AccidentBrief>> getStoryList(@RequestBody StoryListQuery query) { @PostMapping("/getStoryPage") public R<Page<AccidentBrief>> getStoryPage(@RequestBody StoryListQuery query) { Page<AccidentBrief> page = new Page<>(query.getPageNum(), query.getPageSize()); List<AccidentClassification> list = accidentClassificationService.list(new LambdaQueryWrapper<AccidentClassification>().eq(AccidentClassification::getDeleted, false)); LambdaQueryWrapper<AccidentBrief> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(AccidentBrief::getState,1); if(query.getCity()!=null && !query.getCity().isEmpty()){ @@ -121,6 +122,39 @@ } wrapper.orderByDesc(AccidentBrief::getTime); Page<AccidentBrief> accidentBriefPage = accidentBriefService.page(page, wrapper); accidentBriefPage.getRecords().forEach(item->{ item.setClassifyName(list.stream().filter(classify->classify.getId().equals(item.getClassifyId())).findFirst().get().getName()); }); return R.ok(accidentBriefPage); } @ApiOperation(value = "获取故事简讯列表-不分页",response = AccidentBrief.class) @PostMapping("/getStoryList") public R<List<AccidentBrief>> getStoryList(@RequestBody StoryListQuery query) { List<AccidentClassification> list = accidentClassificationService.list(new LambdaQueryWrapper<AccidentClassification>().eq(AccidentClassification::getDeleted, false)); LambdaQueryWrapper<AccidentBrief> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(AccidentBrief::getState,1); if(query.getCity()!=null && !query.getCity().isEmpty()){ wrapper.eq(AccidentBrief::getCity, query.getCity()); } if(query.getClassifyId()!=null){ wrapper.eq(AccidentBrief::getClassifyId, query.getClassifyId()); } if(query.getTime()!=null && !query.getTime().isEmpty()){ String sTime = query.getTime().split(" - ")[0]+" 00:00:00"; String eTime = query.getTime().split(" - ")[1]+" 23:59:59"; wrapper.between(AccidentBrief::getTime,sTime,eTime); } if(query.getContent()!=null && !query.getContent().isEmpty()){ wrapper.like(AccidentBrief::getContent, query.getContent()); } wrapper.orderByDesc(AccidentBrief::getTime); List<AccidentBrief> accidentBriefPage = accidentBriefService.list( wrapper); accidentBriefPage.forEach(item->{ item.setClassifyName(list.stream().filter(classify -> classify.getId().equals(item.getClassifyId())).findFirst().orElse(new AccidentClassification()).getName()); }); return R.ok(accidentBriefPage); } ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/EntrustProjectController.java
@@ -242,9 +242,9 @@ @ApiOperation(value = "获取隐患详情") @GetMapping("/getHiddenDangerDetail/{problemId}") public R<?> getHiddenDangerDetail(@PathVariable Integer problemId) { var record = recordService.getHiddenDangerDetail(problemId); @GetMapping("/getHiddenDangerDetail/{id}") public R<?> getHiddenDangerDetail(@PathVariable Integer id) { var record = recordService.getHiddenDangerDetail(id); return R.ok(record); } ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ProjectController.java
@@ -163,10 +163,10 @@ } @ApiOperation(value = "获取隐患详情") @GetMapping("/getHiddenDangerDetail/{problemId}") public R<?> getHiddenDangerDetail(@PathVariable Integer problemId) { var record = recordService.getHiddenDangerDetail(problemId); @ApiOperation(value = "获取隐患详情",response = ProblemVo.class) @GetMapping("/getHiddenDangerDetail/{id}") public R<ProblemVo> getHiddenDangerDetail(@PathVariable Integer id) { ProblemVo record = recordService.getHiddenDangerDetail(id); return R.ok(record); } ruoyi-common/src/main/java/com/ruoyi/common/core/controller/FileController.java
@@ -40,7 +40,7 @@ } String TimeDir =new SimpleDateFormat("yyyy-MM-dd").format(new Date()); // String realPath = fileUploadConfig.getLocation() + TimeDir; String realPath = "/mnt/file/" + TimeDir; String realPath = "F:\\file\\estate\\files"; File file = new File(realPath); // 没有目录就创建 if (!file.exists()) { @@ -61,7 +61,7 @@ mf.transferTo(targetFile); //拼接数据 // String imgstr = fileUploadConfig.getAccessPath() + TimeDir +"\\"+ filename; String imgstr = TimeDir +"/"+ filename; String imgstr = filename; return R.ok(imgstr); } ruoyi-system/src/main/java/com/ruoyi/system/enums/BizResultCode.java
File was deleted ruoyi-system/src/main/java/com/ruoyi/system/mapper/RecordMapper.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.system.model.ErrorReview; import com.ruoyi.system.model.Record; import com.ruoyi.system.query.HiddenDangerListQuery; import com.ruoyi.system.vo.HiddenDangerListVo; @@ -27,5 +28,11 @@ ProblemVo getHiddenDangerDetail(@Param("problemId") Integer problemId); ErrorReview getErrorReview(@Param("errorReviewId") Integer errorReviewId); List<String> findReviewImg(@Param("errorReviewId") Integer errorReviewId); String getProjectName(@Param("checkTaskId") Integer checkTaskId); } ruoyi-system/src/main/java/com/ruoyi/system/model/AccidentBrief.java
@@ -85,5 +85,9 @@ @TableField("create_time") private LocalDateTime createTime; @TableField(exist = false) @ApiModelProperty(value = "类别名称") private String classifyName; } ruoyi-system/src/main/java/com/ruoyi/system/model/ErrorReview.java
New file @@ -0,0 +1,62 @@ package com.ruoyi.system.model; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.io.Serializable; import java.util.Date; import java.util.List; /** * <p> * * </p> * * @author administrator * @since 2026-01-23 */ @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @TableName("error_review") public class ErrorReview extends Model<ErrorReview> { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) private Integer id; @TableField("create_time") @ApiModelProperty(value = "创建时间") private Date createTime; private Boolean deleted; @ApiModelProperty(value = "名称") private String name; @TableField("update_time") @ApiModelProperty(value = "更新时间") private Date updateTime; @ApiModelProperty(value = "复核内容") private String content; @ApiModelProperty(value = "0未整改 1部分整改 2已整改") private Integer state; @TableField("creator_id") private Integer creatorId; @ApiModelProperty(value = "复核人") private String creator; @ApiModelProperty(value = "图片 没有前缀") private List<String> img; } ruoyi-system/src/main/java/com/ruoyi/system/service/RecordService.java
@@ -24,7 +24,7 @@ List<HiddenDangerListVo> getHiddenDangerList(Page<HiddenDangerListVo> page, @Valid HiddenDangerListQuery query, List<Integer> taskIds); ProblemVo getHiddenDangerDetail(Integer problemId); ProblemVo getHiddenDangerDetail(Integer id); ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RecordServiceImpl.java
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.system.mapper.RecordImageMapper; import com.ruoyi.system.mapper.RecordMapper; import com.ruoyi.system.model.ErrorReview; import com.ruoyi.system.model.Record; import com.ruoyi.system.model.RecordImage; import com.ruoyi.system.model.UserFile; @@ -70,9 +71,14 @@ } @Override public ProblemVo getHiddenDangerDetail(Integer problemId) { public ProblemVo getHiddenDangerDetail(Integer id) { // 根据id找到记录 Record record = baseMapper.selectById(id); // 直接查询并返回,让前端处理JSON字符串解析 ProblemVo hiddenDangerDetail = baseMapper.getHiddenDangerDetail(problemId); ProblemVo hiddenDangerDetail = baseMapper.getHiddenDangerDetail(record.getProblemId()); String projectName =baseMapper.getProjectName(record.getCheckTaskId()); hiddenDangerDetail.setProjectName(projectName); if(hiddenDangerDetail!=null){ if (hiddenDangerDetail.getSpecificTermsStr()!=null && !hiddenDangerDetail.getSpecificTermsStr().isEmpty()) { String specificTermsStr = hiddenDangerDetail.getSpecificTermsStr(); @@ -89,6 +95,17 @@ hiddenDangerDetail.setNumberFactors(JSON.parseArray(numberFactorsStr, String.class)); } } Integer errorReviewId = record.getErrorReviewId(); if(errorReviewId!=null){ ErrorReview errorReview = baseMapper.getErrorReview(errorReviewId); if(errorReview!=null){ // 查询图片 List<String> img = baseMapper.findReviewImg(errorReviewId); errorReview.setImg(img); hiddenDangerDetail.setErrorReview(errorReview); } } return hiddenDangerDetail; } } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ReportServiceImpl.java
File was deleted ruoyi-system/src/main/java/com/ruoyi/system/vo/ProblemVo.java
@@ -1,6 +1,7 @@ package com.ruoyi.system.vo; import com.ruoyi.system.model.ErrorReview; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Builder; @@ -68,4 +69,10 @@ @ApiModelProperty(value = "问题数量集合") List<String> numberFactors; @ApiModelProperty(value = "复核信息") ErrorReview errorReview; @ApiModelProperty(value = "项目名称") String projectName; } ruoyi-system/src/main/resources/mapper/system/RecordMapper.xml
@@ -60,7 +60,7 @@ and t1.create_time between #{query.startTime} and #{query.endTime} </if> ) as o ) as o where 1=1 <if test="query.type != null"> and o.type = #{query.type} </if> @@ -72,5 +72,27 @@ from problem where id = #{problemId} </select> <select id="getErrorReview" resultType="com.ruoyi.system.model.ErrorReview"> select t1.id, t1.create_time, t1.deleted, t1.name, t1.update_time, t1.content, t1.state, t1.creator_id, t2.name creator from error_review t1 left join user t2 on t1.creator_id = t2.id where t1.id = #{errorReviewId} </select> <select id="findReviewImg" resultType="java.lang.String"> select CONCAT(t2.name, '.', t2.extension) from error_review_image t1 left join user_file t2 on t1.user_file_id = t2.id where t1.error_review_id = #{errorReviewId} </select> <select id="getProjectName" resultType="java.lang.String"> select t2.name from task t1 left join project t2 on t1.project_id = t2.id where t1.id = #{checkTaskId} </select> </mapper>