package com.qianwen.smartman.modules.cps.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.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.BladeUser;
|
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.dto.MaintainItemExportDTO;
|
import com.qianwen.smartman.modules.cps.dto.MaintainItemUpdateVO;
|
import com.qianwen.smartman.modules.cps.entity.MaintainItem;
|
import com.qianwen.smartman.modules.cps.excel.MaintainItemImport;
|
import com.qianwen.smartman.modules.cps.service.IMaintainItemService;
|
import com.qianwen.smartman.modules.cps.vo.MaintainItemAddVO;
|
import com.qianwen.smartman.modules.cps.vo.MaintainItemVO;
|
import com.qianwen.smartman.modules.resource.enums.TemplateEnum;
|
import com.qianwen.smartman.modules.resource.service.ISystemResourceService;
|
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;
|
import org.springframework.web.multipart.MultipartFile;
|
|
@Api(value = "保养项", tags = {"保养项"})
|
@RestController
|
@ApiResource({"smis/maintain-item"})
|
@NonDS
|
@Validated
|
public class MaintainItemController extends BladeController {
|
private final IMaintainItemService maintainItemService;
|
private final ISystemResourceService systemResourceService;
|
|
public MaintainItemController(final IMaintainItemService maintainItemService, final ISystemResourceService systemResourceService) {
|
this.maintainItemService = maintainItemService;
|
this.systemResourceService = systemResourceService;
|
}
|
|
@ApiOperationSupport(order = 1)
|
@PostResource({"/create-maintain-item"})
|
@ApiOperation("添加保养项")
|
@PreAuth
|
public R<MaintainItem> createMaintainItem(@Validated @RequestBody MaintainItemAddVO maintainItemAddVO) {
|
return R.data(this.maintainItemService.createMaintainItem(maintainItemAddVO));
|
}
|
|
@ApiOperationSupport(order = 2)
|
@PostResource({"/edit-maintain-item"})
|
@ApiOperation("编辑保养项")
|
@PreAuth
|
public R<MaintainItem> editMaintainItem(@Validated @RequestBody MaintainItemUpdateVO maintainItemUpdateVO) {
|
return R.data(this.maintainItemService.editMaintainItem(maintainItemUpdateVO));
|
}
|
|
@ApiOperationSupport(order = 3)
|
@GetResource({"/query-maintain-item"})
|
@ApiOperation("查看保养项")
|
public R<MaintainItemVO> queryMaintainItem(@RequestParam("id") @ApiParam("保养项ID") String id) {
|
return R.data(this.maintainItemService.queryMaintainItem(Long.valueOf(id)));
|
}
|
|
@ApiOperationSupport(order = 4)
|
@GetResource({"/list"})
|
@ApiOperation("查看保养项列表(不分页)")
|
public R<List<MaintainItemVO>> queryMaintainItemList(@RequestParam(value = "keyWord", required = false) @ApiParam("关键词") String keyWord) {
|
return R.data(this.maintainItemService.queryMaintainItemList(keyWord));
|
}
|
|
@ApiOperationSupport(order = RegionCache.VILLAGE_LEVEL)
|
@GetResource({"/page"})
|
@ApiOperation("查看保养项列表(分页)")
|
@PreAuth
|
public R<IPage<MaintainItemVO>> queryMaintainItemListPage(@RequestParam(value = "keyWord", required = false) @ApiParam("关键词") String keyWord, @RequestParam(value = "status", required = false) @ApiParam("状态:1 启用 0 停用") Integer status, Query query) {
|
return R.data(this.maintainItemService.queryMaintainItemListPage(keyWord, query, status));
|
}
|
|
@ApiOperationSupport(order = 6)
|
@PostResource({"/delete-maintain-item"})
|
@ApiOperation("删除保养项")
|
@PreAuth
|
public R<Boolean> deleteMaintainItem(@RequestParam(value = "ids", required = true) @ApiParam("保养项ID") List<String> ids, @RequestParam("type") @ApiParam("删除传0 停用传1") Integer type) {
|
return R.data(this.maintainItemService.deleteMaintainItem(ids, type));
|
}
|
|
@ApiOperationSupport(order = 7)
|
@GetResource({"/list-can-relate"})
|
@ApiOperation("查看可以关联的保养项列表(不分页)")
|
public R<List<MaintainItemVO>> queryMaintainItemListCanRelate() {
|
return R.data(this.maintainItemService.queryMaintainItemListCanRelate());
|
}
|
|
@ApiOperationSupport(order = 8)
|
@GetResource({"/export/template"})
|
@ApiOperation("导出保养项模板")
|
@PreAuth
|
public R<BladeFile> exportMaintainItemTemplate(HttpServletResponse response, BladeUser bladeUser) {
|
return R.data(this.systemResourceService.getBusinessTemplateInfo(TemplateEnum.MAINTAIN_ITEM));
|
}
|
|
@ApiOperationSupport(order = 9)
|
@PostResource({"/import-maintain-item"})
|
@ApiOperation(value = "动态导入", notes = "传入excel")
|
@PreAuth
|
public R<BladeFile> importMaintainItem(MultipartFile file) {
|
List<MaintainItemImport> data = ExcelUtil.read(file, 0, 2, MaintainItemImport.class);
|
return R.data(this.maintainItemService.importMaintainItem(data));
|
}
|
|
@ApiOperationSupport(order = 10)
|
@PostResource({"/export"})
|
@ApiOperation("导出")
|
@PreAuth
|
public R<BladeFile> exportMaintainItem(@RequestBody MaintainItemExportDTO maintainItemExportDTO, HttpServletResponse response) {
|
return R.data(this.maintainItemService.exportMaintainItem(maintainItemExportDTO, response));
|
}
|
}
|