yangys
2024-10-30 c27b939fa5fa6ce4d712f7e9ced2ad811d69d5ec
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.servlet.http.HttpServletResponse;
import com.qianwen.smartman.common.cache.RegionCache;
import com.qianwen.core.boot.ctrl.BladeController;
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.tenant.annotation.NonDS;
import com.qianwen.core.tool.api.R;
import com.qianwen.smartman.modules.smis.vo.MaintainRecordAddVO;
import com.qianwen.smartman.modules.smis.vo.MaintainRecordExportVO;
import com.qianwen.smartman.modules.smis.vo.MaintainRecordIdListVO;
import com.qianwen.smartman.modules.smis.vo.MaintainRecordSearchVO;
import com.qianwen.smartman.modules.smis.vo.MaintainRecordUpdateVO;
import com.qianwen.smartman.modules.tpm.entity.MaintainRecord;
import com.qianwen.smartman.modules.tpm.service.IDeviceMaterialRecordService;
import com.qianwen.smartman.modules.tpm.service.IMaintainRecordService;
import com.qianwen.smartman.modules.tpm.vo.MaintainRecordItemVO;
import com.qianwen.smartman.modules.tpm.vo.MaintainRecordVO;
import com.qianwen.smartman.modules.tpm.vo.MaintainVO;
import com.qianwen.smartman.modules.tpm.vo.RepairRecordMaterialVO;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
 
@Api(value = "保养记录", tags = {"保养记录"})
@RestController
@ApiResource({"blade-tpm/maintain-record"})
@NonDS
@Validated
 
public class MaintainRecordController extends BladeController {
    private final IMaintainRecordService maintainRecordService;
    private final IDeviceMaterialRecordService deviceMaterialRecordService;
 
    public MaintainRecordController(final IMaintainRecordService maintainRecordService, final IDeviceMaterialRecordService deviceMaterialRecordService) {
        this.maintainRecordService = maintainRecordService;
        this.deviceMaterialRecordService = deviceMaterialRecordService;
    }
 
    @ApiOperationSupport(order = 1)
    @PostResource({"/create-maintain-record"})
    @ApiOperation("添加保养记录")
    public R<MaintainRecord> createMaintainRecord(@Validated @RequestBody MaintainRecordAddVO maintainRecordAddVO) {
        return R.data(this.maintainRecordService.createMaintainRecord(maintainRecordAddVO));
    }
 
    @ApiOperationSupport(order = 2)
    @PostResource({"/edit-maintain-record"})
    @ApiOperation("编辑保养记录")
    @PreAuth
    public R<MaintainRecord> editMaintainRecord(@Validated @RequestBody MaintainRecordUpdateVO maintainRecordUpdateVO) {
        return R.data(this.maintainRecordService.editMaintainRecord(maintainRecordUpdateVO));
    }
 
    @ApiOperationSupport(order = 3)
    @GetResource({"/get-maintain-record"})
    @ApiOperation("查看保养记录")
    public R<MaintainRecordVO> getMaintainRecord(@RequestParam("id") @ApiParam("保养记录ID") String id) {
        return R.data(this.maintainRecordService.getMaintainRecord(Long.valueOf(id)));
    }
 
    @ApiOperationSupport(order = 4)
    @PostResource({"/list"})
    @ApiOperation("通过设备类型查看保养记录(不分页)")
    @PreAuth
    public R<List<MaintainRecordVO>> queryMaintainRecordList(@RequestBody MaintainRecordSearchVO maintainRecordSearchDTO) {
        return R.data(this.maintainRecordService.queryMaintainRecordList(maintainRecordSearchDTO));
    }
 
    @ApiOperationSupport(order = RegionCache.VILLAGE_LEVEL)
    @PostResource({"/page"})
    @ApiOperation("通过设备类型查看保养记录(分页)")
    public R<IPage<MaintainRecordVO>> queryMaintainRecordPage(@RequestBody MaintainRecordSearchVO maintainRecordSearchVO, Query query) {
        return R.data(this.maintainRecordService.queryMaintainRecordPage(maintainRecordSearchVO, query));
    }
 
    @ApiOperationSupport(order = 6)
    @GetResource({"/item-list"})
    @ApiOperation("通过保养记录ID查看保养项列表(不分页)")
    @PreAuth
    public R<List<MaintainRecordItemVO>> queryMaintainRecordItemList(@RequestParam("recordId") @ApiParam("保养记录Id") String recordId) {
        return R.data(this.maintainRecordService.queryMaintainRecordItemList(Long.valueOf(recordId)));
    }
 
    @ApiOperationSupport(order = 7)
    @GetResource({"/item-page"})
    @ApiOperation("通过保养记录ID查看保养项列表(分页)")
    @PreAuth
    public R<IPage<MaintainRecordItemVO>> queryMaintainRecordItemListPage(@RequestParam("recordId") @ApiParam("保养记录Id") String recordId, Query query) {
        return R.data(this.maintainRecordService.queryMaintainRecordItemListPage(Long.valueOf(recordId), query));
    }
 
    @ApiOperationSupport(order = 8)
    @GetResource({"/material-list"})
    @ApiOperation("通过保养记录ID查看备品备件")
    @PreAuth
    public List<RepairRecordMaterialVO> queryMaintainRecordMaterialList(@RequestParam("recordId") @ApiParam("保养记录Id") String recordId) {
        return this.deviceMaterialRecordService.getRecordByRecordId(Long.valueOf(recordId));
    }
 
    @ApiOperationSupport(order = 9)
    @PostResource({"/delete-maintain-record"})
    @ApiOperation("删除保养记录")
    @PreAuth
    public R<Boolean> deleteMaintainRecord(@Validated @RequestBody MaintainRecordIdListVO maintainRecordIdListVO) {
        return R.data(this.maintainRecordService.deleteMaintainRecord(maintainRecordIdListVO));
    }
 
    @ApiOperationSupport(order = 10)
    @PostResource({"/perform-maintain-record"})
    @ApiOperation("确认保养记录")
    public R<Boolean> confirmMaintainRecord(@RequestParam("id") @ApiParam("保养记录Id") String id) {
        return R.data(this.maintainRecordService.confirmMaintainRecord(Long.valueOf(id)));
    }
 
    @ApiOperationSupport(order = 11)
    @PostResource({"/export"})
    @ApiOperation("导出")
    @PreAuth
    public R<BladeFile> exportMaintainRecord(@RequestBody MaintainRecordExportVO maintainRecordExportVO, HttpServletResponse response) {
        return R.data(this.maintainRecordService.exportMaintainRecord(maintainRecordExportVO, response));
    }
 
    @ApiOperationSupport(order = 3)
    @GetResource({"/get-maintain-detail"})
    @ApiOperation("查看保养详情")
    @PreAuth
    public R<MaintainVO> getMaintainDetail(@RequestParam("id") @ApiParam("保养计划ID") String id) {
        return R.data(this.maintainRecordService.getMaintainDetail(id));
    }
}