package com.ycl.platform.controller;
|
|
import annotation.Log;
|
import com.ycl.platform.domain.entity.WorkOrderAuditingRecord;
|
import com.ycl.platform.domain.form.*;
|
import com.ycl.platform.domain.query.DistributeWorkOrderQuery;
|
import com.ycl.platform.domain.query.WorkOrderExportQuery;
|
import com.ycl.platform.domain.query.WorkOrderQuery;
|
import com.ycl.platform.domain.vo.ContractResultVO;
|
import com.ycl.platform.domain.vo.DistributeWorkOrderVO;
|
import com.ycl.platform.domain.vo.WorkOrderVO;
|
import com.ycl.platform.domain.vo.WorkOrderYwConditionRecordVO;
|
import com.ycl.platform.service.WorkOrderService;
|
import com.ycl.system.Result;
|
import com.ycl.system.domain.group.Add;
|
import com.ycl.system.domain.group.Update;
|
import com.ycl.utils.PageUtils;
|
import com.ycl.utils.poi.ExcelUtil;
|
import enumeration.BusinessType;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import jakarta.servlet.http.HttpServletResponse;
|
import jakarta.validation.constraints.NotEmpty;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 工单 前端控制器
|
*
|
* @author xp
|
* @since 2024-03-05
|
*/
|
@Validated
|
@RequiredArgsConstructor
|
@Api(value = "工单", tags = "工单管理")
|
@RestController
|
@RequestMapping("/work-order")
|
public class WorkOrderController {
|
|
private final WorkOrderService workOrderService;
|
|
@GetMapping("/process/{workOrderNo}")
|
@ApiOperation(value = "过程图", notes = "过程图")
|
@PreAuthorize("@ss.hasPermi('work:order:process')")
|
public Result processImg(@PathVariable("workOrderNo") String workOrderNo) {
|
return workOrderService.processImg(workOrderNo);
|
}
|
|
@PostMapping
|
@ApiOperation(value = "添加", notes = "添加")
|
@PreAuthorize("@ss.hasPermi('work:order:add')")
|
public Result add(@RequestBody @Validated(Add.class) WorkOrderForm form) {
|
return workOrderService.add(form);
|
}
|
|
@PutMapping
|
@ApiOperation(value = "修改", notes = "修改")
|
@PreAuthorize("@ss.hasPermi('work:order:edit')")
|
public Result update(@RequestBody @Validated(Update.class) WorkOrderForm form) {
|
return workOrderService.update(form);
|
}
|
|
@PutMapping("/auditing")
|
@ApiOperation(value = "审核", notes = "工单审核")
|
@PreAuthorize("@ss.hasPermi('work:order:audit')")
|
public Result auditing(@RequestBody @Validated(Update.class) WorkOrderAuditingForm form) {
|
return workOrderService.auditing(form);
|
}
|
|
@PutMapping("/batchAuditing")
|
@ApiOperation(value = "审核", notes = "工单批量审核")
|
@PreAuthorize("@ss.hasPermi('work:order:audit')")
|
public Result batchAuditing(@RequestBody @Validated(Update.class) WorkOrderBatchAuditingForm form) {
|
return workOrderService.batchAuditing(form);
|
}
|
|
@PutMapping("/yw-condition")
|
@ApiOperation(value = "运维情况", notes = "运维情况")
|
public Result ywCondition(@RequestBody @Validated(Update.class) WorkOrderYWConditionForm form) {
|
return workOrderService.ywCondition(form);
|
}
|
|
@PutMapping("/yw-result")
|
@ApiOperation(value = "运维结果", notes = "运维结果")
|
public Result ywCondition(@RequestBody @Validated(Update.class) WorkOrderYWResultForm form) {
|
return workOrderService.ywResult(form);
|
}
|
|
@PutMapping("/check-result")
|
@ApiOperation(value = "检测结果", notes = "检测结果")
|
public Result ywCondition(@RequestBody @Validated(Update.class) WorkOrderCheckResultForm form) {
|
return workOrderService.checkResult(form);
|
}
|
|
@DeleteMapping("/{id}")
|
@ApiOperation(value = "ID删除", notes = "ID删除")
|
@PreAuthorize("@ss.hasPermi('work:order:remove')")
|
public Result removeById(@PathVariable("id") String id) {
|
return workOrderService.removeById(id);
|
}
|
|
@DeleteMapping("/batch")
|
@ApiOperation(value = "批量删除", notes = "批量删除")
|
@PreAuthorize("@ss.hasPermi('work:order:remove')")
|
public Result remove(@RequestBody @NotEmpty(message = "请选择数据") List<String> ids) {
|
return workOrderService.remove(ids);
|
}
|
|
@PostMapping("/page")
|
@ApiOperation(value = "分页", notes = "分页")
|
@PreAuthorize("@ss.hasPermi('work:order:page')")
|
public Result page(@RequestBody WorkOrderQuery query) {
|
return workOrderService.page(query);
|
}
|
|
@PostMapping("/export")
|
@ApiOperation(value = "导出", notes = "导出")
|
@Log(title = "导出工单", businessType = BusinessType.EXPORT)
|
public void export(HttpServletResponse response, WorkOrderExportQuery query) {
|
List<WorkOrderVO> results = workOrderService.export(query);
|
ExcelUtil<WorkOrderVO> util = new ExcelUtil<>(WorkOrderVO.class);
|
util.exportExcel(response, results, "工单");
|
}
|
|
@PostMapping("/distribute/page")
|
@ApiOperation(value = "下发分页", notes = "下发分页")
|
@PreAuthorize("@ss.hasPermi('work:order:distribute:page')")
|
public Result distributePage(@RequestBody DistributeWorkOrderQuery query) {
|
return workOrderService.distributePage(query);
|
}
|
|
@PostMapping("/distribute/fast")
|
@ApiOperation(value = "快速下发", notes = "快速下发")
|
@PreAuthorize("@ss.hasPermi('work:order:distribute')")
|
public Result distributeFast(@RequestBody @Validated DistributeWorkOrderVO data) {
|
return workOrderService.distributeFast(data);
|
}
|
|
@PostMapping("/distribute/ids")
|
@ApiOperation(value = "下发选择的工单", notes = "下发选择选择的工单")
|
@PreAuthorize("@ss.hasPermi('work:order:distribute')")
|
public Result selectedIdsDistribute(@RequestBody DistributeWorkOrderQuery query) {
|
return workOrderService.selectedIdsDistribute(query);
|
}
|
|
@GetMapping("/{id}")
|
@ApiOperation(value = "详情", notes = "详情")
|
@PreAuthorize("@ss.hasPermi('work:order:detail')")
|
public Result detail(@PathVariable("id") String id) {
|
return workOrderService.detail(id);
|
}
|
|
@GetMapping("/list")
|
@ApiOperation(value = "列表", notes = "列表")
|
@PreAuthorize("@ss.hasPermi('work:order:list')")
|
public Result list() {
|
return workOrderService.all();
|
}
|
|
@GetMapping("/detail/info/{workOrderNo}")
|
@ApiOperation(value = "详情", notes = "详情")
|
@PreAuthorize("@ss.hasPermi('work:order:detail')")
|
public Result detailByNo(@PathVariable("workOrderNo") String workOrderNo) {
|
return workOrderService.detailByNo(workOrderNo);
|
}
|
|
@GetMapping("/yw-condition-list/{workOrderNo}")
|
@ApiOperation(value = "运维情况记录列表", notes = "运维情况记录列表")
|
public Result ywCondition(@PathVariable String workOrderNo) {
|
List<WorkOrderYwConditionRecordVO> data = workOrderService.selectYwConditionByYwId(workOrderNo);
|
return Result.ok().data(data);
|
}
|
|
@GetMapping("/yw-auditing-list/{workOrderNo}")
|
@ApiOperation(value = "运维审核记录", notes = "运维审核记录")
|
public Result ywAuditingByYwId(@PathVariable String workOrderNo) {
|
List<WorkOrderAuditingRecord> data = workOrderService.selectYwAuditingListByYwId(workOrderNo);
|
return Result.ok().data(data);
|
}
|
}
|