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 createRepairApply(@Valid @RequestBody RepairApplyAddVO repairApplyAddVO) { return R.data(this.repairApplyService.createRepairApply(repairApplyAddVO)); } @ApiOperationSupport(order = 2) @GetResource({"get-apply-detail"}) @ApiOperation("获取维修申请详情(包含对应附件)") @PreAuth public R 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> 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> queryRepairApply(@RequestBody RepairApplyLookVO repairApplyLookVO) { return R.data(this.repairApplyService.queryApply(repairApplyLookVO)); } @ApiOperationSupport(order = RegionCache.VILLAGE_LEVEL) @PostResource({"/delete-apply-ids"}) @ApiOperation("维修申请记录(批量删除)") @PreAuth public R deleteApply(@RequestParam("ids") @ApiParam("维修申请ids") List ids) { return R.status(this.repairApplyService.deleteRepairApply(ids)); } @ApiOperationSupport(order = 6) @GetResource({"/implement-repair-apply"}) @ApiOperation("确认维修申请单") public R 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 updateRepairApply(@Valid @RequestBody RepairApplyUpdateVO repairApplyUpdateVO) { return R.data(this.repairApplyService.updateRepairApply(repairApplyUpdateVO)); } @ApiOperationSupport(order = 8) @GetResource({"/get-apply-file"}) @ApiOperation("查看申请附件接口") @PreAuth public R 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> getApplyCodeList() { return R.data(this.repairApplyService.queryApplyCode()); } @ApiOperationSupport(order = 10) @PostResource({"/export-apply"}) @ApiOperation("导出维修申请") @PreAuth public R exportProduct(@RequestBody RepairApplyExportVO repairApplyExportVO) { List 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 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> getPageRepairApplyForHmi(@RequestParam @ApiParam(value = "workstationId", required = true) String workstationId, Query query) { return R.data(this.repairApplyService.getPageApplyForHmi(Long.valueOf(workstationId), query)); } }