package com.estate.expert.admin.controller.admin; import com.estate.expert.admin.domain.common.request.BatchReq; import com.estate.expert.admin.domain.common.request.PageReq; import com.estate.expert.admin.domain.common.request.RecordPageRequest; import com.estate.expert.admin.domain.common.response.PageResp; import com.estate.expert.admin.domain.exam.record.error.ErrorRecord; import com.estate.expert.admin.domain.exam.record.error.ErrorRecordDto; import com.estate.expert.admin.domain.exam.record.info.SetResponsibleDto; import com.estate.expert.admin.domain.exam.record.review.ErrorReviewDto; import com.estate.expert.admin.domain.exam.record.warning.WarningRecord; import com.estate.expert.admin.domain.exam.record.warning.WarningRecordDto; import com.estate.expert.admin.domain.user.User; import com.estate.expert.admin.service.ErrorRecordService; import com.estate.expert.admin.service.WarningRecordService; import com.estate.expert.common.domain.Session; import com.estate.expert.common.rpc.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @Slf4j @CrossOrigin @Api(tags = "管理后台/检查结果") @RequestMapping("/admin/record") @RestController @Validated public class RecordController { @Resource private ErrorRecordService errorRecordService; @Resource private WarningRecordService warningRecordService; //////// 问题清单 //////// @ApiOperation("综合问题复杂查询") @PostMapping("/error/system/query") public Result listSystemErrorRecords(@Validated @RequestBody RecordPageRequest request){ return Result.success(errorRecordService.listSystemErrors( request.getClientId(), request.getPlanId(), request.getTaskId(), request.getStartDate(), request.getEndDate(), request.getPageReq())); } @ApiOperation("设备问题复杂查询") @PostMapping("/error/device/query") public Result listDeviceErrorRecords(@Validated @RequestBody RecordPageRequest request){ PageResp errorRecordDtoPageResp = errorRecordService.listDeviceErrors(request.getClientId(), request.getPlanId(), request.getTaskId(), request.getStartDate(), request.getEndDate(), request.getPageReq()); return Result.success(errorRecordDtoPageResp); } @ApiOperation("综合问题清单") @PostMapping("/error/system/list") public Result listSystemRecords(@ApiParam(hidden = true)Session session, @RequestParam("checkTaskId") Integer checkTaskId, @RequestParam(value = "mine", required = false) Boolean mine, @Validated @RequestBody PageReq pageReq){ var creatorId = mine ? ((User)session.getUser()).getId() : null; return Result.success(errorRecordService.listSystemErrors(checkTaskId, creatorId, pageReq)); } @ApiOperation("设备问题清单") @PostMapping("/error/device/list") public Result listDeviceRecords(@ApiParam(hidden = true)Session session, @RequestParam("checkTaskId") Integer checkTaskId, @RequestParam(value = "deviceId", required = false) Integer deviceId, @RequestParam(value = "mine", required = false) Boolean mine, @Validated @RequestBody PageReq pageReq){ var creatorId = mine ? ((User)session.getUser()).getId() : null; return Result.success(errorRecordService.listDeviceErrors(checkTaskId, deviceId, creatorId, pageReq)); } @ApiOperation("添加问题") @PostMapping("/error/add") public Result addErrorRecord(@ApiParam(hidden = true)Session session, @Validated @RequestBody ErrorRecordDto errorRecordDto){ errorRecordService.add((User)session.getUser(), errorRecordDto); return Result.success(); } @ApiOperation("添加问题(随机,测试用)") @PostMapping("/addErrorRecords") public Result addErrorRecords(@ApiParam(hidden = true)Session session, @RequestParam("id") Integer id) { errorRecordService.addErrorRecords((User)session.getUser(), id); return Result.success(); } @ApiOperation("编辑问题") @PostMapping("/error/edit") public Result editErrorRecord(@Validated @RequestBody ErrorRecordDto errorRecordDto){ errorRecordService.edit(errorRecordDto); return Result.success(); } @ApiOperation("删除问题") @PostMapping("/error/del") public Result deleteErrorRecord(@Validated @RequestBody BatchReq request){ errorRecordService.deleteAllById(request.getIds()); return Result.success(); } @ApiOperation("计算问题的隐患等级") @PostMapping("/error/computeLevel") public Result computeErrorLevel(@Validated @RequestBody ErrorRecordDto errorRecordDto){ return Result.success(errorRecordService.computeErrorLevel(errorRecordDto)); } //////// 复查记录 //////// @ApiOperation("添加复查记录") @PostMapping("/review/add") public Result addErrorReview(@ApiParam(hidden = true)Session session, @RequestParam("errorRecordId") Integer errorRecordId, @Validated @RequestBody ErrorReviewDto errorReviewDto){ errorRecordService.addReview((User)session.getUser(), errorRecordId, errorReviewDto); return Result.success(); } @ApiOperation("添加复查记录(测试用)") @PostMapping("/addErrorReviews") public Result addErrorReviews(@ApiParam(hidden = true)Session session, @RequestParam("id") Integer id) { errorRecordService.addErrorReviews((User)session.getUser(), id); return Result.success(); } @ApiOperation("编辑复查记录") @PostMapping("/review/edit") public Result editErrorReview(@RequestParam("errorRecordId") Integer errorRecordId, @Validated @RequestBody ErrorReviewDto errorReviewDto){ errorRecordService.editReview(errorRecordId, errorReviewDto); return Result.success(); } @ApiOperation("获取复查记录") @PostMapping("/review/get") public Result getErrorReview(@RequestParam("errorRecordId") Integer errorRecordId){ return Result.success(errorRecordService.getReview(errorRecordId)); } //////// 正确做法 //////// @ApiOperation("正确做法清单") @PostMapping("/warning/list") public Result listWarningRecords(@ApiParam(hidden = true)Session session, @RequestParam(value = "checkTaskId", required = false) Integer checkTaskId, @RequestParam(value = "mine", required = false) Boolean mine, @Validated @RequestBody PageReq pageReq){ var creatorId = mine ? ((User)session.getUser()).getId() : null; return Result.success(warningRecordService.list(checkTaskId, creatorId, pageReq)); } @ApiOperation("正确做法复杂查询") @PostMapping("/warning/listComplex") public Result listWarningRecords(@Validated @RequestBody RecordPageRequest request){ return Result.success(warningRecordService.list(request.getClientId(), request.getPlanId(), request.getTaskId(), request.getStartDate(), request.getEndDate(), request.getPageReq())); } @ApiOperation("添加正确做法") @PostMapping("/warning/add") public Result addWarningRecord(@ApiParam(hidden = true)Session session, @Validated @RequestBody WarningRecordDto warningRecordDto){ warningRecordService.add((User)session.getUser(), warningRecordDto); return Result.success(); } @ApiOperation("编辑正确做法") @PostMapping("/warning/edit") public Result editWarningRecord(@Validated @RequestBody WarningRecordDto warningRecordDto){ warningRecordService.edit(warningRecordDto); return Result.success(); } @ApiOperation("删除正确做法") @PostMapping("/warning/del") public Result deleteWarningRecord(@Validated @RequestBody BatchReq request){ warningRecordService.deleteAllById(request.getIds()); return Result.success(); } @ApiOperation("设置责任人") @PostMapping("/setResponsible") public Result setResponsible(@Validated @RequestBody SetResponsibleDto dto){ WarningRecord warningRecord = warningRecordService.get(dto.getId()); if(warningRecord!=null){ warningRecord.setResponsiblePerson(dto.getResponsiblePerson()); warningRecordService.save(warningRecord); }else { ErrorRecord errorRecord = errorRecordService.get(dto.getId()); if(errorRecord!=null){ errorRecord.setResponsiblePerson(dto.getResponsiblePerson()); errorRecordService.save(errorRecord); } } return Result.success(); } }