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));
|
}
|
}
|