lohir
2024-10-23 da426ecaf4fd047c6cb43cd9a0c1288e39c4e91d
ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
@@ -1,16 +1,27 @@
package com.ycl.platform.controller;
import annotation.Log;
import com.ycl.platform.domain.entity.WorkOrderAuditingRecord;
import com.ycl.platform.domain.entity.WorkOrderWhite;
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.query.WorkOrderWhiteQuery;
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.controller.BaseController;
import com.ycl.system.domain.group.Add;
import com.ycl.system.domain.group.Update;
import com.ycl.utils.PageUtils;
import com.ycl.system.page.TableDataInfo;
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;
@@ -18,7 +29,6 @@
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
 * 工单 前端控制器
@@ -31,9 +41,16 @@
@Api(value = "工单", tags = "工单管理")
@RestController
@RequestMapping("/work-order")
public class WorkOrderController {
public class WorkOrderController extends BaseController {
    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 = "添加")
@@ -69,18 +86,6 @@
        return workOrderService.ywCondition(form);
    }
    @GetMapping("/yw-condition/{workOrderNo}")
    @ApiOperation(value = "运维情况", notes = "运维情况")
    public Result ywCondition(@PathVariable String workOrderNo) {
        return workOrderService.selectYwConditionByYwId(workOrderNo);
    }
    @GetMapping("/yw-auditing-list/{workOrderNo}")
    @ApiOperation(value = "运维审核记录", notes = "运维审核记录")
    public Result ywAuditingByYwId(@PathVariable String workOrderNo) {
        return workOrderService.selectYwAuditingListByYwId(workOrderNo);
    }
    @PutMapping("/yw-result")
    @ApiOperation(value = "运维结果", notes = "运维结果")
    public Result ywCondition(@RequestBody @Validated(Update.class) WorkOrderYWResultForm form) {
@@ -114,9 +119,18 @@
        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')")
    @PreAuthorize("@ss.hasPermi('work:order:distribute:page')")
    public Result distributePage(@RequestBody DistributeWorkOrderQuery query) {
        return workOrderService.distributePage(query);
    }
@@ -129,7 +143,7 @@
    }
    @PostMapping("/distribute/ids")
    @ApiOperation(value = "下发选择", notes = "下发选择")
    @ApiOperation(value = "下发选择的工单", notes = "下发选择选择的工单")
    @PreAuthorize("@ss.hasPermi('work:order:distribute')")
    public Result selectedIdsDistribute(@RequestBody DistributeWorkOrderQuery query) {
        return workOrderService.selectedIdsDistribute(query);
@@ -137,7 +151,7 @@
    @GetMapping("/{id}")
    @ApiOperation(value = "详情", notes = "详情")
    @PreAuthorize("@ss.hasPermi('work:order:query')")
    @PreAuthorize("@ss.hasPermi('work:order:detail')")
    public Result detail(@PathVariable("id") String id) {
        return workOrderService.detail(id);
    }
@@ -148,4 +162,61 @@
    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);
    }
    /**
     * 工单白名单列表
     */
    @PostMapping("/white/page")
    @ApiOperation(value = "工单白名单列表", notes = "工单白名单列表")
    public Result whitePage(@RequestBody WorkOrderWhiteQuery workOrderWhiteQuery)
    {
        return workOrderService.selectWorkOrderWhiteList(workOrderWhiteQuery);
    }
    /**
     * 添加工单白名单
     *
     * @param workOrderWhite 白色工单
     * @return {@link Result }
     * @author
     */
    @PostMapping("/white/add")
    @ApiOperation(value = "新增工单白名单", notes = "新增工单白名单")
    public Result addWorkOrderWhite(@RequestBody WorkOrderWhite workOrderWhite) {
        return workOrderService.addWorkOrderWhite(workOrderWhite);
    }
    /**
     * 批量删除工单白名单
     *
     * @param ids ids
     * @return {@link Result }
     * @author
     */
    @DeleteMapping("/white/batchDelete")
    @ApiOperation(value = "批量删除工单白名单", notes = "批量删除工单白名单")
    public Result batchDeleteWorkOrderWhite(@RequestBody List<String> ids) {
        return workOrderService.batchDeleteWorkOrderWhite(ids);
    }
}