| | |
| | | |
| | | 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.common.redis.RedisOpsUtils; |
| | | import org.sxkj.gd.common.IdParam; |
| | | import org.sxkj.gd.workorder.entity.GdPatrolTaskEntity; |
| | | import org.sxkj.gd.workorder.enums.PatrolTaskStatusEnum; |
| | |
| | | import org.sxkj.gd.workorder.param.GdPatrolTaskAuditParam; |
| | | import org.sxkj.gd.workorder.param.GdPatrolTaskPageParam; |
| | | import org.sxkj.gd.workorder.param.GdPatrolTaskUpdateParam; |
| | | import org.sxkj.gd.workorder.vo.GdPatrolTaskSimpleVO; |
| | | import org.sxkj.gd.workorder.vo.GdPatrolTaskVO; |
| | | import org.sxkj.gd.workorder.excel.GdPatrolTaskExcel; |
| | | import org.sxkj.gd.workorder.wrapper.GdPatrolTaskWrapper; |
| | |
| | | import org.sxkj.system.cache.SysCache; |
| | | import springfox.documentation.annotations.ApiIgnore; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Map; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.*; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | /** |
| | |
| | | * @author lw |
| | | * @since 2026-01-14 |
| | | */ |
| | | @Slf4j |
| | | @RestController |
| | | @AllArgsConstructor |
| | | @RequestMapping("workOrder/gdPatrolTask") |
| | |
| | | @ApiOperationSupport(order = 1) |
| | | @ApiOperation(value = "详情", notes = "传入gdPatrolTask") |
| | | public R<GdPatrolTaskVO> detail(GdPatrolTaskEntity gdPatrolTask) { |
| | | GdPatrolTaskEntity detail = gdPatrolTaskService.getOne(Condition.getQueryWrapper(gdPatrolTask)); |
| | | return R.data(GdPatrolTaskWrapper.build().entityVO(detail)); |
| | | GdPatrolTaskVO detail = gdPatrolTaskService.getPatrolTaskDetail(gdPatrolTask); |
| | | return R.data(detail); |
| | | } |
| | | |
| | | /** |
| | |
| | | |
| | | /** |
| | | * 巡查任务执行完成-对外 |
| | | * 根据执行结果设置不同状态: |
| | | * - 执行成功(success=true或不传): 状态设置为待验收(PENDING_ACCEPTANCE) |
| | | * - 执行失败(success=false): 状态设置为待签收(PENDING_SIGNING) |
| | | */ |
| | | @PostMapping("/auditExternal") |
| | | @ApiOperationSupport(order = 11) |
| | | @ApiOperation(value = "巡查任务执行完成-对外", notes = "只能使用执行完成操作") |
| | | @ApiOperation(value = "巡查任务执行完成-对外", notes = "根据执行结果设置不同状态,不传success默认为成功") |
| | | public R auditExternal(@Valid @RequestBody IdParam param) { |
| | | log.info("巡查任务执行完成-对外:{}", param); |
| | | if (param.getId() == null) { |
| | | return R.fail("巡检任务id不能为空"); |
| | | } |
| | | GdPatrolTaskEntity auditParam = new GdPatrolTaskEntity(); |
| | | auditParam.setId(param.getId()); |
| | | auditParam.setTaskStatus(PatrolTaskStatusEnum.PENDING_ACCEPTANCE.getValue()); |
| | | return R.status(gdPatrolTaskService.updateById(auditParam)); |
| | | // 根据执行结果设置不同状态,不传success默认为成功 |
| | | if (param.getSuccess() == null || Boolean.TRUE.equals(param.getSuccess())) { |
| | | // 执行成功(或不传),设置为待验收状态 |
| | | auditParam.setTaskStatus(PatrolTaskStatusEnum.PENDING_ACCEPTANCE.getValue()); |
| | | } else { |
| | | // 执行失败,设置为待签收状态 |
| | | auditParam.setTaskStatus(PatrolTaskStatusEnum.PENDING_SIGNING.getValue()); |
| | | } |
| | | return R.status(gdPatrolTaskService.updatePatrolTaskById(auditParam)); |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | return gdPatrolTaskService.pushXingtuFlyTask(id); |
| | | } |
| | | |
| | | //分享页面缓存数据接口 |
| | | @PostMapping("/share-cache-data") |
| | | @ApiOperationSupport(order = 15) |
| | | @ApiOperation(value = "分享页面缓存数据接口", notes = "传入需要缓存的数据") |
| | | public R<Object> shareCacheData(@RequestBody Object requestData) { |
| | | if (requestData == null) { |
| | | return R.fail("缓存的数据不能为空"); |
| | | } |
| | | // 缓存数据 7天过过期 |
| | | String cacheKey = UUID.randomUUID().toString(); |
| | | RedisOpsUtils.setWithExpire(cacheKey, requestData, 60 * 60 * 24 * 7); |
| | | return R.data(cacheKey); |
| | | } |
| | | |
| | | @GetMapping("/get-share-cache-data") |
| | | @ApiOperationSupport(order = 16) |
| | | @ApiOperation(value = "获取分享页面缓存数据接口", notes = "传入缓存key") |
| | | public R<Object> getShareCacheData(@RequestParam String cacheKey) { |
| | | if (cacheKey == null) { |
| | | return R.fail("缓存key不能为空"); |
| | | } |
| | | Object cacheData = RedisOpsUtils.get(cacheKey); |
| | | return R.data(cacheData); |
| | | } |
| | | |
| | | /** |
| | | * 根据工单ID查询巡查任务列表(仅返回id和名称) |
| | | */ |
| | | @GetMapping("/listByWorkOrderId") |
| | | @ApiOperationSupport(order = 17) |
| | | @ApiOperation(value = "根据工单ID查询巡查任务列表", notes = "传入工单ID") |
| | | public R<List<GdPatrolTaskSimpleVO>> listByWorkOrderId(@ApiParam(value = "工单ID", required = true) @RequestParam Long workOrderId) { |
| | | if (workOrderId == null) { |
| | | return R.fail("工单ID不能为空"); |
| | | } |
| | | List<GdPatrolTaskSimpleVO> list = gdPatrolTaskService.selectListByWorkOrderId(workOrderId); |
| | | return R.data(list); |
| | | } |
| | | |
| | | } |