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.smartman.common.constant.ExcelConstant;
|
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.RepairRecord;
|
import com.qianwen.smartman.modules.tpm.service.IRepairRecordService;
|
import com.qianwen.smartman.modules.tpm.vo.ApplyRecordMaterialVO;
|
import com.qianwen.smartman.modules.tpm.vo.RepairRecordAddVO;
|
import com.qianwen.smartman.modules.tpm.vo.RepairRecordDetailVO;
|
import com.qianwen.smartman.modules.tpm.vo.RepairRecordExportVO;
|
import com.qianwen.smartman.modules.tpm.vo.RepairRecordLookVO;
|
import com.qianwen.smartman.modules.tpm.vo.RepairRecordUpdateVO;
|
import com.qianwen.smartman.modules.tpm.vo.RepairRecordVO;
|
import com.qianwen.smartman.modules.tpm.vo.excel.RepairRecordExcelVO;
|
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;
|
import springfox.documentation.annotations.ApiIgnore;
|
|
@ApiResource({"blade-tpm/repair-record"})
|
@Api(value = "维修记录", tags = {"维修记录"})
|
@RestController
|
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/tpm/controller/RepairRecordController.class */
|
public class RepairRecordController {
|
private final IRepairRecordService repairRecordService;
|
private final OssBuilder ossBuilder;
|
|
public RepairRecordController(final IRepairRecordService repairRecordService, final OssBuilder ossBuilder) {
|
this.repairRecordService = repairRecordService;
|
this.ossBuilder = ossBuilder;
|
}
|
|
@ApiOperationSupport(order = 1)
|
@PostResource({"/create-repair-record"})
|
@ApiOperation("新增维修记录")
|
public R<RepairRecord> createRepairApply(@Valid @RequestBody RepairRecordAddVO repairRecordAddVO) {
|
return R.data(this.repairRecordService.createRepairRecord(repairRecordAddVO));
|
}
|
|
@ApiOperationSupport(order = 2)
|
@PostResource({"/update-repair-record"})
|
@ApiOperation("编辑维修记录")
|
@PreAuth
|
public R<RepairRecord> updateRepairApply(@Valid @RequestBody RepairRecordUpdateVO repairRecordUpdateVO) {
|
return R.data(this.repairRecordService.updateRepairRecord(repairRecordUpdateVO));
|
}
|
|
@ApiOperationSupport(order = 3)
|
@PostResource({"/page"})
|
@ApiOperation(value = "维修记录查询分页", notes = "查询分页")
|
public R<IPage<RepairRecordVO>> getPageRepairApply(@RequestBody RepairRecordLookVO repairRecordLookVO, Query query) {
|
return R.data(this.repairRecordService.getPageRepairRecord(repairRecordLookVO, query));
|
}
|
|
@ApiOperationSupport(order = 4)
|
@GetResource({"/get-record-detail"})
|
@ApiOperation(value = "获取维修记录详情", notes = "包含对应附件和备品配件")
|
public R<RepairRecordDetailVO> getApplyDetail(@RequestParam @ApiParam(value = "id", required = true) String id) {
|
return R.data(this.repairRecordService.detailRecord(Long.valueOf(Long.parseLong(id))));
|
}
|
|
@ApiOperationSupport(order = RegionCache.VILLAGE_LEVEL)
|
@GetResource({"/implement-repair-record"})
|
@ApiOperation("确认维修申请记录单")
|
public R<Boolean> implementRepairRecord(@RequestParam @ApiParam(value = "id", required = true) String id) {
|
return R.status(this.repairRecordService.confirmRecord(Long.valueOf(Long.parseLong(id))));
|
}
|
|
@ApiOperationSupport(order = 6)
|
@GetResource({"/get-record-device"})
|
@ApiOperation(value = "设备履历关联维修记录接口", notes = "根据设备id查询关联的设备维修记录")
|
@PreAuth
|
public R<List<RepairRecordVO>> getRecordByDeviceId(@RequestParam @ApiParam(value = "deviceId", required = true) String deviceId) {
|
return R.data(this.repairRecordService.getRecordByDeviceId(Long.valueOf(Long.parseLong(deviceId))));
|
}
|
|
@ApiOperationSupport(order = 7)
|
@GetResource({"/get-record-file"})
|
@ApiOperation("查看维修记录附件接口")
|
@PreAuth
|
public R<ApplyRecordMaterialVO> getRecordFile(@RequestParam @ApiParam(value = "id", required = true) String id) {
|
return R.data(this.repairRecordService.getFiles(Long.valueOf(Long.parseLong(id))));
|
}
|
|
@ApiOperationSupport(order = 8)
|
@ApiIgnore
|
@PostResource({"/delete-record-ids"})
|
@ApiOperation("维修记录(批量删除)")
|
@PreAuth
|
public R<Boolean> deleteApply(@RequestParam("ids") @ApiParam("维修记录ids") List<Long> ids) {
|
return R.status(this.repairRecordService.deleteRecord(ids));
|
}
|
|
@ApiOperationSupport(order = 9)
|
@PostResource({"/list"})
|
@ApiOperation(value = "维修记录查询根据关键字查询(不分页)", notes = "关键词,维修单号,申请单号,设备编码,设备名称模糊匹配")
|
@PreAuth
|
public R<List<RepairRecordVO>> queryRepairApply(@RequestBody RepairRecordLookVO repairRecordLookVO) {
|
return R.data(this.repairRecordService.queryRecord(repairRecordLookVO));
|
}
|
|
@ApiOperationSupport(order = 10)
|
@PostResource({"/export-record"})
|
@ApiOperation("导出维修记录")
|
@PreAuth
|
public R<BladeFile> exportRecord(@RequestBody RepairRecordExportVO repairRecordExportVO) {
|
List<RepairRecordExcelVO> repairApplyList = this.repairRecordService.exportRepairRecord(repairRecordExportVO);
|
String fileName = String.format("%s-%s.xlsx", ExcelConstant.REPAIR_RECORD, DateUtil.time());
|
MultipartFile multipartFile = ExcelUtil.exportToMultipartFile(fileName, ExcelConstant.REPAIR_RECORD, repairApplyList, RepairRecordExcelVO.class);
|
BladeFile bladeFile = this.ossBuilder.tempTemplate().putFile(multipartFile.getOriginalFilename(), multipartFile);
|
return R.data(bladeFile);
|
}
|
|
@ApiOperationSupport(order = 11)
|
@GetResource({"/complete"})
|
@ApiOperation("完成维修")
|
@PreAuth
|
public R<RepairRecordVO> completeRepair(@RequestParam String id) {
|
return R.data(this.repairRecordService.completeRepair(Long.valueOf(Long.parseLong(id))));
|
}
|
}
|