xiangpei
2024-07-19 34ef93d02c402663740ecfeccf772fba7cd53c3f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
package com.ycl.platform.controller;
 
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.vo.DistributeWorkOrderVO;
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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
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;
 
    @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);
    }
 
    @GetMapping("/yw-condition/{id}")
    @ApiOperation(value = "运维情况", notes = "运维情况")
    public Result ywCondition(@PathVariable Integer id) {
        return workOrderService.selectYwConditionByYwId(id);
    }
 
    @GetMapping("/yw-auditing-list/{id}")
    @ApiOperation(value = "运维审核记录", notes = "运维审核记录")
    public Result ywAuditingByYwId(@PathVariable @Validated(Update.class) String id) {
        return workOrderService.selectYwAuditingListByYwId(id);
    }
 
    @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("/distribute/page")
    @ApiOperation(value = "下发分页", notes = "下发分页")
    @PreAuthorize("@ss.hasPermi('work:order:distribute')")
    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:query')")
    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();
    }
}