package com.tievd.jyz.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.tievd.cube.commons.annotations.AutoLog; import com.tievd.cube.commons.annotations.DictApi; import com.tievd.cube.commons.base.CubeController; import com.tievd.cube.commons.base.Result; import com.tievd.cube.commons.utils.SystemContextUtil; import com.tievd.cube.modules.system.model.LoginUser; import com.tievd.jyz.constants.SystemConstant; import com.tievd.jyz.entity.PatrolEvent; import com.tievd.jyz.entity.PatrolRecord; import com.tievd.jyz.entity.vo.PatrolRecordVo; import com.tievd.jyz.service.IPatrolEventService; import com.tievd.jyz.service.IPatrolRecordService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.sql.Timestamp; import java.util.*; /** * PatrolRecord * * @author cube * @since 2023-08-15 * @version V2.0.0 */ @Slf4j @DictApi @RestController @RequestMapping("/jyz/patrolRecord") @Tag(name = "巡查记录相关接口") public class PatrolRecordController extends CubeController { @Autowired private IPatrolRecordService patrolRecordService; @Autowired private IPatrolEventService patrolEventService; /** * 分页列表查询 */ @GetMapping("/list") @Operation(summary = "巡查记录列表") @ApiResponse(content = @Content(schema = @Schema(implementation = PatrolRecordVo.class))) public Result queryPageList( @Parameter(schema = @Schema(implementation = PatrolRecord.class)) PatrolRecord patrolRecord, @RequestParam(defaultValue="1") Integer pageNo, @RequestParam(defaultValue="10") Integer pageSize, HttpServletRequest req) { Page page = new Page<>(pageNo, pageSize); IPage pageList = patrolRecordService.listRecord(page, patrolRecord); return Result.ok(pageList); } @GetMapping("/listEvent") @Operation(summary = "巡查记录详情") public Result>> listEvent(@RequestParam @Parameter(description = "巡查记录id") String recordId) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(PatrolEvent::getRecordId, recordId); List list = patrolEventService.list(wrapper); Map> result = new HashMap(); result.put("inGroup", new ArrayList<>()); result.put("outGroup", new ArrayList<>()); for (PatrolEvent event : list) { if (SystemConstant.GROUP_ALG.equals(event.getAlgorithmCode())) { result.get("inGroup").add(event); } else { result.get("outGroup").add(event); } } return Result.ok(result); } @PostMapping("/auditPatrolEvent") @Operation(summary = "巡查记录审核") public Result auditPatrolEvent(@RequestBody List patrolEvents) { LoginUser sysUser = SystemContextUtil.currentLoginUser(); patrolEvents.forEach(p -> { p.setAuditTime(new Timestamp(System.currentTimeMillis())) .setAuditUser(sysUser.getUsername()); }); patrolEventService.updateBatchById(patrolEvents); return Result.ok(); } /** * 添加 */ @AutoLog("PatrolRecord-添加") @PostMapping("/add") public Result add(@RequestBody PatrolRecord patrolRecord) { patrolRecordService.save(patrolRecord); return Result.ok(); } /** * 编辑 */ @AutoLog("PatrolRecord-编辑") @PutMapping("/edit") public Result edit(@RequestBody PatrolRecord patrolRecord) { patrolRecordService.updateById(patrolRecord); return Result.ok(); } /** * 通过id删除 */ @AutoLog("PatrolRecord-通过id删除") @DeleteMapping("/delete") public Result delete(@RequestParam String id) { patrolRecordService.removeById(id); return Result.ok(); } /** * 批量删除 */ @AutoLog("PatrolRecord-批量删除") @DeleteMapping("/deleteBatch") public Result deleteBatch(@RequestParam String ids) { this.patrolRecordService.removeByIds(Arrays.asList(ids.split(","))); return Result.ok(); } /** * 通过id查询 */ @GetMapping("/queryById") public Result queryById(@RequestParam String id) { PatrolRecord patrolRecord = patrolRecordService.getById(id); return Result.ok(patrolRecord); } /** * 导出excel */ @RequestMapping("/exportXls") public void exportXls(HttpServletRequest request, HttpServletResponse response, PatrolRecord patrolRecord) throws IOException { super.exportXls(request, response, patrolRecord, "PatrolRecord"); } /** * 通过excel导入数据 */ @PostMapping("/importExcel") public Result importExcel(HttpServletRequest request) throws Exception { return super.importExcel(request, PatrolRecord.class); } }