ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
@@ -1,24 +1,32 @@
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.WorkOrderQuery;
import com.ycl.platform.domain.query.*;
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;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
import java.util.Map;
/**
 * 工单 前端控制器
@@ -31,9 +39,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 = "添加")
@@ -65,47 +80,46 @@
    @PutMapping("/yw-condition")
    @ApiOperation(value = "运维情况", notes = "运维情况")
    public Result ywCondition(@RequestBody @Validated(Update.class) WorkOrderYWConditionForm form) {
    public Result ywCondition(@RequestBody @Validated WorkOrderYWConditionForm form) {
        return workOrderService.ywCondition(form);
    }
    @GetMapping("/yw-condition/{workOrderNo}")
    @PutMapping("/yw-condition-list")
    @ApiOperation(value = "运维情况", notes = "运维情况")
    public Result ywCondition(@PathVariable String workOrderNo) {
        return workOrderService.selectYwConditionByYwId(workOrderNo);
    public Result ywConditionList(@RequestBody @Validated WorkOrderYWConditionsForm form) {
        System.out.println(form);
//        return workOrderService.ywCondition(form);
        return workOrderService.ywConditionList(form);
    }
    @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) {
    public Result ywResult(@RequestBody @Validated WorkOrderYWResultForm form) {
        return workOrderService.ywResult(form);
    }
    //现在没用
    @PutMapping("/check-result")
    @ApiOperation(value = "检测结果", notes = "检测结果")
    public Result ywCondition(@RequestBody @Validated(Update.class) WorkOrderCheckResultForm form) {
    public Result ywCheckResult(@RequestBody @Validated WorkOrderCheckResultForm form) {
        return workOrderService.checkResult(form);
    }
    @DeleteMapping("/{id}")
    @ApiOperation(value = "ID删除", notes = "ID删除")
    @PreAuthorize("@ss.hasPermi('work:order:remove')")
    @Log(title = "删除工单", businessType = BusinessType.DELETE)
    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);
    }
//    @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 = "分页")
@@ -114,9 +128,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 +152,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,9 +160,16 @@
    @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);
    }
    @GetMapping("/check")
    @ApiOperation(value = "图片检测", notes = "图片检测")
    @PreAuthorize("@ss.hasPermi('work:order:check')")
    public Result check(String workOrderNo,String serialNumber) {
        return workOrderService.checkImage(workOrderNo,serialNumber);
    }
    @GetMapping("/list")
@@ -148,4 +178,45 @@
    public Result list() {
        return workOrderService.all();
    }
    @GetMapping("/errorType/list")
    @ApiOperation(value = "故障列表", notes = "故障列表")
    @PreAuthorize("@ss.hasPermi('work:order:list')")
    public Result errorList() {
        return workOrderService.errorAll();
    }
    @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);
    }
    /**
     * 批量删除工单
     *
     * @return {@link Result }
     * @author
     */
    @DeleteMapping("/batchDelete")
    @PreAuthorize("@ss.hasPermi('work:order:delete')")
    @ApiOperation(value = "批量删除工单", notes = "批量删除工单")
    @Log(title = "批量删除工单", businessType = BusinessType.DELETE)
    public Result batchDeleteWorkOrder(@RequestBody List<String> workOrderNos) {
        return workOrderService.batchDeleteWorkOrder(workOrderNos);
    }
}