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.cps.vo.MaintainRecordAddVO; import com.qianwen.smartman.modules.cps.vo.MaintainRecordExportVO; import com.qianwen.smartman.modules.cps.vo.MaintainRecordIdListVO; import com.qianwen.smartman.modules.cps.vo.MaintainRecordSearchVO; import com.qianwen.smartman.modules.cps.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 /* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/tpm/controller/MaintainRecordController.class */ 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 createMaintainRecord(@Validated @RequestBody MaintainRecordAddVO maintainRecordAddVO) { return R.data(this.maintainRecordService.createMaintainRecord(maintainRecordAddVO)); } @ApiOperationSupport(order = 2) @PostResource({"/edit-maintain-record"}) @ApiOperation("编辑保养记录") @PreAuth public R editMaintainRecord(@Validated @RequestBody MaintainRecordUpdateVO maintainRecordUpdateVO) { return R.data(this.maintainRecordService.editMaintainRecord(maintainRecordUpdateVO)); } @ApiOperationSupport(order = 3) @GetResource({"/get-maintain-record"}) @ApiOperation("查看保养记录") public R 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> queryMaintainRecordList(@RequestBody MaintainRecordSearchVO maintainRecordSearchDTO) { return R.data(this.maintainRecordService.queryMaintainRecordList(maintainRecordSearchDTO)); } @ApiOperationSupport(order = RegionCache.VILLAGE_LEVEL) @PostResource({"/page"}) @ApiOperation("通过设备类型查看保养记录(分页)") public R> 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> 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> 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 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 deleteMaintainRecord(@Validated @RequestBody MaintainRecordIdListVO maintainRecordIdListVO) { return R.data(this.maintainRecordService.deleteMaintainRecord(maintainRecordIdListVO)); } @ApiOperationSupport(order = 10) @PostResource({"/perform-maintain-record"}) @ApiOperation("确认保养记录") public R 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 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 getMaintainDetail(@RequestParam("id") @ApiParam("保养计划ID") String id) { return R.data(this.maintainRecordService.getMaintainDetail(id)); } }