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