yangys
2024-04-04 ed4a5236bab800094be4a8378f5098eebe3de6ac
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
package com.qianwen.smartman.modules.tpm.controller;
 
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import java.util.List;
import javax.validation.Valid;
import com.qianwen.smartman.common.cache.RegionCache;
import com.qianwen.core.excel.util.ExcelUtil;
import com.qianwen.core.mp.support.Query;
import com.qianwen.core.oss.model.BladeFile;
import com.qianwen.core.scanner.modular.annotation.GetResource;
import com.qianwen.core.scanner.modular.annotation.PostResource;
import com.qianwen.core.scanner.modular.stereotype.ApiResource;
import com.qianwen.core.secure.annotation.PreAuth;
import com.qianwen.core.tool.api.R;
import com.qianwen.core.tool.utils.DateUtil;
import com.qianwen.smartman.modules.resource.builder.oss.OssBuilder;
import com.qianwen.smartman.modules.tpm.entity.RepairApply;
import com.qianwen.smartman.modules.tpm.service.IRepairApplyService;
import com.qianwen.smartman.modules.tpm.vo.ApplyCodeVO;
import com.qianwen.smartman.modules.tpm.vo.RepairApplyAddVO;
import com.qianwen.smartman.modules.tpm.vo.RepairApplyDetailVO;
import com.qianwen.smartman.modules.tpm.vo.RepairApplyExportVO;
import com.qianwen.smartman.modules.tpm.vo.RepairApplyLookVO;
import com.qianwen.smartman.modules.tpm.vo.RepairApplyUpdateVO;
import com.qianwen.smartman.modules.tpm.vo.RepairApplyVO;
import com.qianwen.smartman.modules.tpm.vo.RepairFileVO;
import com.qianwen.smartman.modules.tpm.vo.excel.RepairApplyExcelVO;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
 
@ApiResource({"blade-tpm/repair-apply"})
@Api(value = "维修申请", tags = {"维修申请"})
@RestController
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/tpm/controller/RepairApplyController.class */
public class RepairApplyController {
    private final IRepairApplyService repairApplyService;
    private final OssBuilder ossBuilder;
 
    public RepairApplyController(final IRepairApplyService repairApplyService, final OssBuilder ossBuilder) {
        this.repairApplyService = repairApplyService;
        this.ossBuilder = ossBuilder;
    }
 
    @ApiOperationSupport(order = 1)
    @PostResource({"create-repair-apply"})
    @ApiOperation("新增维修申请记录")
    public R<RepairApply> createRepairApply(@Valid @RequestBody RepairApplyAddVO repairApplyAddVO) {
        return R.data(this.repairApplyService.createRepairApply(repairApplyAddVO));
    }
 
    @ApiOperationSupport(order = 2)
    @GetResource({"get-apply-detail"})
    @ApiOperation("获取维修申请详情(包含对应附件)")
    @PreAuth
    public R<RepairApplyDetailVO> getApplyDetail(@RequestParam @ApiParam(value = "id", required = true) String id) {
        return R.data(this.repairApplyService.detailApply(Long.valueOf(Long.parseLong(id))));
    }
 
    @ApiOperationSupport(order = 3)
    @PostResource({"/page"})
    @ApiOperation(value = "查询分页", notes = "查询分页")
    public R<IPage<RepairApplyVO>> getPageRepairApply(@RequestBody RepairApplyLookVO repairApplyLookVO, Query query) {
        return R.data(this.repairApplyService.getPageApply(repairApplyLookVO, query));
    }
 
    @ApiOperationSupport(order = 4)
    @PostResource({"/list"})
    @ApiOperation(value = "根据关键字查询(不分页)", notes = "关键字:申请单号,设备编码,设备名称模糊匹配")
    @PreAuth
    public R<List<RepairApplyVO>> queryRepairApply(@RequestBody RepairApplyLookVO repairApplyLookVO) {
        return R.data(this.repairApplyService.queryApply(repairApplyLookVO));
    }
 
    @ApiOperationSupport(order = RegionCache.VILLAGE_LEVEL)
    @PostResource({"/delete-apply-ids"})
    @ApiOperation("维修申请记录(批量删除)")
    @PreAuth
    public R<Boolean> deleteApply(@RequestParam("ids") @ApiParam("维修申请ids") List<Long> ids) {
        return R.status(this.repairApplyService.deleteRepairApply(ids));
    }
 
    @ApiOperationSupport(order = 6)
    @GetResource({"/implement-repair-apply"})
    @ApiOperation("确认维修申请单")
    public R<Boolean> implementRepairApply(@RequestParam @ApiParam(value = "id", required = true) String id) {
        return R.status(this.repairApplyService.implementApply(Long.valueOf(Long.parseLong(id))));
    }
 
    @ApiOperationSupport(order = 7)
    @PostResource({"/update-repair-apply"})
    @ApiOperation("编辑维修申请记录")
    @PreAuth
    public R<RepairApply> updateRepairApply(@Valid @RequestBody RepairApplyUpdateVO repairApplyUpdateVO) {
        return R.data(this.repairApplyService.updateRepairApply(repairApplyUpdateVO));
    }
 
    @ApiOperationSupport(order = 8)
    @GetResource({"/get-apply-file"})
    @ApiOperation("查看申请附件接口")
    @PreAuth
    public R<RepairFileVO> getApplyFile(@RequestParam @ApiParam(value = "id", required = true) String id) {
        return R.data(this.repairApplyService.getFileAndDes(Long.valueOf(Long.parseLong(id))));
    }
 
    @ApiOperationSupport(order = 9)
    @GetResource({"/get-apply-code"})
    @ApiOperation(value = "获取维修申请单号列表", notes = "给维修记录中单号选择提供(只包含状态为“执行中”的申请单)")
    @PreAuth
    public R<List<ApplyCodeVO>> getApplyCodeList() {
        return R.data(this.repairApplyService.queryApplyCode());
    }
 
    @ApiOperationSupport(order = 10)
    @PostResource({"/export-apply"})
    @ApiOperation("导出维修申请")
    @PreAuth
    public R<BladeFile> exportProduct(@RequestBody RepairApplyExportVO repairApplyExportVO) {
        List<RepairApplyExcelVO> repairApplyList = this.repairApplyService.exportRepairApply(repairApplyExportVO);
        String fileName = String.format("%s-%s.xlsx", "维修申请数据", DateUtil.time());
        MultipartFile multipartFile = ExcelUtil.exportToMultipartFile(fileName, "维修申请数据表", repairApplyList, RepairApplyExcelVO.class);
        BladeFile bladeFile = this.ossBuilder.tempTemplate().putFile(multipartFile.getOriginalFilename(), multipartFile);
        return R.data(bladeFile);
    }
 
    @ApiOperationSupport(order = 2)
    @GetResource({"detail"})
    @ApiOperation("获取维修申请和记录详情(包含对应附件)")
    public R<RepairApplyDetailVO> getetail(@RequestParam @ApiParam(value = "id", required = true) String id) {
        return R.data(this.repairApplyService.detail(Long.valueOf(Long.parseLong(id))));
    }
 
    @PostResource({"/page-hmi"})
    @ApiOperation(value = "查询分页", notes = "查询分页")
    public R<IPage<RepairApplyVO>> getPageRepairApplyForHmi(@RequestParam @ApiParam(value = "workstationId", required = true) String workstationId, Query query) {
        return R.data(this.repairApplyService.getPageApplyForHmi(Long.valueOf(workstationId), query));
    }
}