package com.estate.expert.admin.controller.admin;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.estate.expert.admin.domain.business.check.Check;
|
import com.estate.expert.admin.domain.business.onduty.OnDuty;
|
import com.estate.expert.admin.domain.business.position.Position;
|
import com.estate.expert.admin.domain.common.request.AddCheckInfoRequest;
|
import com.estate.expert.admin.domain.common.request.AddOnDutyRequest;
|
import com.estate.expert.admin.domain.common.request.BatchReq;
|
import com.estate.expert.admin.domain.common.request.EditCheckInfoRequest;
|
import com.estate.expert.admin.domain.common.request.EditOnDutyRequest;
|
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.common.response.PageRespMp;
|
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.*;
|
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;
|
|
@Resource
|
private PositionService positionService;
|
|
@Resource
|
private OnDutyService onDutyService;
|
|
@Resource
|
private CheckService checkService;
|
|
//////// 问题清单 ////////
|
|
@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<ErrorRecordDto> 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();
|
}
|
|
//////// 在岗情况 ////////
|
|
/**
|
* 在岗情况列表查询
|
* 支持"全部/我创建的"筛选
|
*/
|
@ApiOperation(value = "【APP】在岗情况列表",response = OnDuty.class)
|
@PostMapping("/onduty/list")
|
public Result< PageRespMp<OnDuty>> listOnDutyRecords(@ApiParam(hidden = true) Session session,
|
@RequestParam(value = "checkTaskId") Integer checkTaskId,
|
@RequestParam(value = "mine", required = false) Boolean mine,
|
@Validated @RequestBody PageReq pageReq) {
|
// 根据 mine 参数决定是否筛选"我创建的"
|
var creatorId = mine != null && mine ? ((User) session.getUser()).getId() : null;
|
|
// 调用 Service 层的 JPA 查询方法
|
return Result.success(onDutyService.listOnDutyRecords(checkTaskId, creatorId, pageReq));
|
}
|
|
/**
|
* 添加在岗情况
|
*/
|
@ApiOperation("【APP】添加在岗情况")
|
@PostMapping("/onduty/add")
|
public Result addOnDuty(@ApiParam(hidden = true) Session session,
|
@Validated @RequestBody AddOnDutyRequest request) {
|
onDutyService.add((User) session.getUser(), request);
|
return Result.success();
|
}
|
|
/**
|
* 编辑在岗情况
|
*/
|
@ApiOperation("【APP】编辑在岗情况")
|
@PostMapping("/onduty/edit")
|
public Result editOnDuty(@Validated @RequestBody EditOnDutyRequest request) {
|
onDutyService.edit(request);
|
return Result.success();
|
}
|
|
/**
|
* 删除在岗情况
|
*/
|
@ApiOperation("【APP】删除在岗情况")
|
@PostMapping("/onduty/del")
|
public Result deleteOnDuty(@Validated @RequestBody BatchReq request) {
|
onDutyService.deleteByIds(request.getIds());
|
return Result.success();
|
}
|
|
@ApiOperation(value = "【APP】岗位列表")
|
@PostMapping("/position/list")
|
public Result<PageRespMp<Position>> list(@Validated @RequestBody PageReq pageReq) {
|
Page<Position> page = positionService.lambdaQuery().page(new Page<>(pageReq.getPage(), pageReq.getSize()));
|
return Result.success(PageRespMp.of(page));
|
}
|
|
/**
|
* 岗位详情
|
*/
|
@ApiOperation(value = "【APP】岗位详情",response = Position.class)
|
@GetMapping("/position/detail")
|
public Result<Position> getPositionDetail(@RequestParam("id") Integer id) {
|
Position position = positionService.getById(id);
|
if (position == null) {
|
throw new RuntimeException("岗位不存在");
|
}
|
return Result.success(position);
|
}
|
|
//////// 检查情况 ////////
|
|
/**
|
* 检查情况列表查询
|
* 支持"全部/我创建的"筛选
|
*/
|
@ApiOperation(value = "【APP】检查情况列表",response = Check.class)
|
@PostMapping("/checkinfo/list")
|
public Result<PageRespMp<Check>> listCheckInfoRecords(@ApiParam(hidden = true) Session session,
|
@RequestParam(value = "checkTaskId") Integer checkTaskId,
|
@RequestParam(value = "mine", required = false) Boolean mine,
|
@Validated @RequestBody PageReq pageReq) {
|
// 根据 mine 参数决定是否筛选"我创建的"
|
var creatorId = mine != null && mine ? ((User) session.getUser()).getId() : null;
|
|
// 调用 Service 层的 JPA 查询方法
|
return Result.success(checkService.listCheckInfoRecords(checkTaskId, creatorId, pageReq));
|
}
|
|
/**
|
* 添加检查信息
|
*/
|
@ApiOperation("【APP】添加检查信息")
|
@PostMapping("/checkinfo/add")
|
public Result addCheckInfo(@ApiParam(hidden = true) Session session,
|
@Validated @RequestBody AddCheckInfoRequest request) {
|
checkService.addCheckInfo((User) session.getUser(), request);
|
return Result.success();
|
}
|
|
/**
|
* 检查信息详情
|
*/
|
@ApiOperation(value = "【APP】检查信息详情", response = Check.class)
|
@GetMapping("/checkinfo/detail")
|
public Result<Check> getCheckInfoDetail(@RequestParam("id") Integer id) {
|
Check check = checkService.getById(id);
|
if (check == null) {
|
throw new RuntimeException("检查信息不存在");
|
}
|
return Result.success(check);
|
}
|
|
/**
|
* 编辑检查信息
|
*/
|
@ApiOperation("【APP】编辑检查信息")
|
@PostMapping("/checkinfo/edit")
|
public Result editCheckInfo(@Validated @RequestBody EditCheckInfoRequest request) {
|
checkService.editCheckInfo(request);
|
return Result.success();
|
}
|
|
/**
|
* 删除检查信息
|
*/
|
@ApiOperation("【APP】删除检查信息")
|
@PostMapping("/checkinfo/del")
|
public Result deleteCheckInfo(@Validated @RequestBody BatchReq request) {
|
checkService.deleteCheckInfoByIds(request.getIds());
|
return Result.success();
|
}
|
|
}
|