| | |
| | | */ |
| | | package org.sxkj.gd.workorder.controller; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import io.swagger.annotations.ApiParam; |
| | |
| | | import lombok.AllArgsConstructor; |
| | | import javax.validation.Valid; |
| | | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springblade.core.secure.BladeUser; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | |
| | | import org.springframework.web.bind.annotation.*; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import org.sxkj.gd.common.GenericConverter; |
| | | import org.sxkj.gd.workorder.dto.GdTaskResultDTO; |
| | | import org.sxkj.gd.workorder.entity.GdTaskResultEntity; |
| | | import org.sxkj.gd.workorder.vo.GdTaskResultVO; |
| | | import org.sxkj.gd.workorder.excel.GdTaskResultExcel; |
| | | import org.sxkj.gd.workorder.wrapper.GdTaskResultWrapper; |
| | | import org.sxkj.gd.workorder.param.GdClueEventDistributeParam; |
| | | import org.sxkj.gd.workorder.service.IGdClueEventService; |
| | | import org.sxkj.gd.workorder.service.IGdTaskResultService; |
| | | import org.springblade.core.boot.ctrl.BladeController; |
| | | import org.springblade.core.tool.utils.DateUtil; |
| | |
| | | * @author lw |
| | | * @since 2026-01-14 |
| | | */ |
| | | @Slf4j |
| | | @RestController |
| | | @AllArgsConstructor |
| | | @RequestMapping("workOrder/gdTaskResult") |
| | |
| | | public class GdTaskResultController extends BladeController { |
| | | |
| | | private final IGdTaskResultService gdTaskResultService; |
| | | private final IGdClueEventService gdClueEventService; |
| | | |
| | | /** |
| | | * 成果表 详情 |
| | |
| | | return R.data(GdTaskResultWrapper.build().entityVO(detail)); |
| | | } |
| | | /** |
| | | * 成果表 分页 |
| | | * 成果表 列表 |
| | | * |
| | | * @param patrolTaskId 巡查任务ID |
| | | * @param attachmentTypes 附件类型列表:1媒体文件;2ai文件;3主视频;(可选,不传则查询全部,多个用逗号分隔) |
| | | * @return 成果列表 |
| | | */ |
| | | @GetMapping("/list") |
| | | @ApiOperationSupport(order = 2) |
| | | @ApiOperation(value = "分页", notes = "传入gdTaskResult") |
| | | public R<IPage<GdTaskResultVO>> list(@ApiIgnore @RequestParam Map<String, Object> gdTaskResult, Query query) { |
| | | IPage<GdTaskResultEntity> pages = gdTaskResultService.page(Condition.getPage(query), Condition.getQueryWrapper(gdTaskResult, GdTaskResultEntity.class)); |
| | | return R.data(GdTaskResultWrapper.build().pageVO(pages)); |
| | | @ApiOperation(value = "列表", notes = "传入patrolTaskId和attachmentTypes") |
| | | public R<List<GdTaskResultVO>> list( |
| | | @ApiParam(value = "巡查任务ID", required = true) @RequestParam Long patrolTaskId, |
| | | @ApiParam(value = "附件类型:1媒体文件;2ai文件;3主视频;多个用逗号分隔") @RequestParam(required = false) List<Integer> attachmentTypes) { |
| | | return R.data(gdTaskResultService.listByPatrolTaskId(patrolTaskId, attachmentTypes)); |
| | | } |
| | | // /** |
| | | // * 成果表 分页 |
| | | // */ |
| | | // @GetMapping("/list") |
| | | // @ApiOperationSupport(order = 2) |
| | | // @ApiOperation(value = "分页", notes = "传入gdTaskResult") |
| | | // public R<IPage<GdTaskResultVO>> list(@ApiIgnore @RequestParam Map<String, Object> gdTaskResult, Query query) { |
| | | // IPage<GdTaskResultEntity> pages = gdTaskResultService.page(Condition.getPage(query), Condition.getQueryWrapper(gdTaskResult, GdTaskResultEntity.class)); |
| | | // return R.data(GdTaskResultWrapper.build().pageVO(pages)); |
| | | // } |
| | | |
| | | /** |
| | | * 成果表 自定义分页 |
| | |
| | | IPage<GdTaskResultVO> pages = gdTaskResultService.selectGdTaskResultPage(Condition.getPage(query), gdTaskResult); |
| | | return R.data(pages); |
| | | } |
| | | |
| | | /** |
| | | * 成果表 新增 |
| | | */ |
| | | @PostMapping("/save") |
| | | @ApiOperationSupport(order = 4) |
| | | @ApiOperation(value = "新增", notes = "传入gdTaskResult") |
| | | public R save(@Valid @RequestBody GdTaskResultEntity gdTaskResult) { |
| | | return R.status(gdTaskResultService.save(gdTaskResult)); |
| | | } |
| | | |
| | | /** |
| | | * 成果表 修改 |
| | | */ |
| | | @PostMapping("/update") |
| | | @ApiOperationSupport(order = 5) |
| | | @ApiOperation(value = "修改", notes = "传入gdTaskResult") |
| | | public R update(@Valid @RequestBody GdTaskResultEntity gdTaskResult) { |
| | | return R.status(gdTaskResultService.updateById(gdTaskResult)); |
| | | } |
| | | // |
| | | // /** |
| | | // * 成果表 新增 |
| | | // */ |
| | | // @PostMapping("/save") |
| | | // @ApiOperationSupport(order = 4) |
| | | // @ApiOperation(value = "新增", notes = "传入gdTaskResult") |
| | | // public R save(@Valid @RequestBody GdTaskResultEntity gdTaskResult) { |
| | | // return R.status(gdTaskResultService.save(gdTaskResult)); |
| | | // } |
| | | // |
| | | // /** |
| | | // * 成果表 修改 |
| | | // */ |
| | | // @PostMapping("/update") |
| | | // @ApiOperationSupport(order = 5) |
| | | // @ApiOperation(value = "修改", notes = "传入gdTaskResult") |
| | | // public R update(@Valid @RequestBody GdTaskResultEntity gdTaskResult) { |
| | | // return R.status(gdTaskResultService.updateById(gdTaskResult)); |
| | | // } |
| | | |
| | | /** |
| | | * 成果表 新增或修改 |
| | |
| | | @PostMapping("/submit") |
| | | @ApiOperationSupport(order = 6) |
| | | @ApiOperation(value = "新增或修改", notes = "传入gdTaskResult") |
| | | public R submit(@Valid @RequestBody GdTaskResultEntity gdTaskResult) { |
| | | return R.status(gdTaskResultService.saveOrUpdate(gdTaskResult)); |
| | | public R submit(@Valid @RequestBody GdTaskResultDTO gdTaskResult) { |
| | | return R.status(gdTaskResultService.saveOrUpdate(GenericConverter.convert(gdTaskResult, GdTaskResultEntity.class))); |
| | | } |
| | | |
| | | /** |
| | | * 成果表批量新增-对外接口 |
| | | */ |
| | | @PostMapping("/batchSaveExternal") |
| | | @ApiOperationSupport(order = 7) |
| | | @ApiOperation(value = "批量新增", notes = "传入gdTaskResult") |
| | | public R batchSaveExternal(@Valid @RequestBody List<GdTaskResultDTO> gdTaskResults) { |
| | | log.info("批量新增-对外接口{}", JSON.toJSONString(gdTaskResults)); |
| | | return R.status(gdTaskResultService.saveBatchTaskResult(gdTaskResults)); |
| | | } |
| | | |
| | | /** |
| | | * 成果表批量新增并返回ID列表,不关联任务-对外接口 |
| | | */ |
| | | // @PostMapping("/batchSaveWithIds") |
| | | // @ApiOperationSupport(order = 8) |
| | | // @ApiOperation(value = "批量新增并返回ID", notes = "传入gdTaskResult") |
| | | // public R<List<Long>> batchSaveWithIds(@Valid @RequestBody List<GdTaskResultDTO> gdTaskResults) { |
| | | // log.info("批量新增并返回ID-对外接口{}", JSON.toJSONString(gdTaskResults)); |
| | | // return R.data(gdTaskResultService.batchSaveWithIds(gdTaskResults)); |
| | | // } |
| | | |
| | | /** |
| | | * 成果表 删除 |
| | |
| | | @ApiOperationSupport(order = 7) |
| | | @ApiOperation(value = "逻辑删除", notes = "传入ids") |
| | | public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { |
| | | return R.status(gdTaskResultService.deleteLogic(Func.toLongList(ids))); |
| | | return R.status(gdTaskResultService.removeBatchByIds(Func.toLongList(ids))); |
| | | } |
| | | |
| | | /** |
| | | * 成果分发事件 |
| | | */ |
| | | @PostMapping("/distribute") |
| | | @ApiOperationSupport(order = 8) |
| | | @ApiOperation(value = "分发事件", notes = "传入分发参数") |
| | | public R distribute(@Valid @RequestBody GdClueEventDistributeParam distributeParam) { |
| | | return R.status(gdClueEventService.distributeClueEvent(distributeParam)); |
| | | } |
| | | |
| | | /** |
| | | * 导出数据 |
| | |
| | | ExcelUtil.export(response, "成果表数据" + DateUtil.time(), "成果表数据表", list, GdTaskResultExcel.class); |
| | | } |
| | | |
| | | /** |
| | | * 批量下载成果文件 |
| | | */ |
| | | @GetMapping("/download") |
| | | @ApiOperationSupport(order = 10) |
| | | @ApiOperation(value = "批量下载成果文件", notes = "传入成果ID,多个用逗号分隔") |
| | | public void downloadResultFiles(@ApiParam(value = "成果ID集合,多个用逗号分隔", required = true) @RequestParam String ids, HttpServletResponse response) { |
| | | gdTaskResultService.downloadResultFiles(ids, response); |
| | | } |
| | | |
| | | } |