package cn.iocoder.yudao.module.qcreport.controller.admin.version;
|
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
import cn.iocoder.yudao.module.qcreport.controller.admin.version.vo.QcReportTemplateVersionPageReqVO;
|
import cn.iocoder.yudao.module.qcreport.controller.admin.version.vo.QcReportTemplateVersionRespVO;
|
import cn.iocoder.yudao.module.qcreport.controller.admin.version.vo.QcReportTemplateVersionSaveReqVO;
|
import cn.iocoder.yudao.module.qcreport.controller.admin.version.vo.QcReportTemplateVersionUpdateReqVO;
|
import cn.iocoder.yudao.module.qcreport.dal.dataobject.version.QcReportTemplateVersionDO;
|
import cn.iocoder.yudao.module.qcreport.service.version.QcReportTemplateVersionService;
|
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Parameter;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
import jakarta.annotation.Resource;
|
import jakarta.validation.Valid;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.List;
|
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
|
@Tag(name = "管理后台 - 智能质检报告模板版本")
|
@RestController
|
@RequestMapping("/qc-report/template-version")
|
@Validated
|
public class QcReportTemplateVersionController {
|
|
@Resource
|
private QcReportTemplateVersionService versionService;
|
|
@PostMapping("/create")
|
@Operation(summary = "创建模板版本")
|
@PreAuthorize("@ss.hasPermission('qc-report:template:update')")
|
public CommonResult<Long> createVersion(@Valid @RequestBody QcReportTemplateVersionSaveReqVO createReqVO) {
|
return success(versionService.createVersion(createReqVO));
|
}
|
|
@PutMapping("/update")
|
@Operation(summary = "更新模板版本(已发布的版本不可修改)")
|
@PreAuthorize("@ss.hasPermission('qc-report:template:update')")
|
public CommonResult<Boolean> updateVersion(@Valid @RequestBody QcReportTemplateVersionUpdateReqVO updateReqVO) {
|
versionService.updateVersion(updateReqVO);
|
return success(true);
|
}
|
|
@DeleteMapping("/delete")
|
@Operation(summary = "删除模板版本(仅草稿可删除)")
|
@Parameter(name = "id", description = "编号", required = true)
|
@PreAuthorize("@ss.hasPermission('qc-report:template:delete')")
|
public CommonResult<Boolean> deleteVersion(@RequestParam("id") Long id) {
|
versionService.deleteVersion(id);
|
return success(true);
|
}
|
|
@PostMapping("/publish")
|
@Operation(summary = "发布模板版本")
|
@Parameter(name = "id", description = "编号", required = true)
|
@PreAuthorize("@ss.hasPermission('qc-report:template:publish')")
|
public CommonResult<Boolean> publishVersion(@RequestParam("id") Long id) {
|
versionService.publishVersion(id);
|
return success(true);
|
}
|
|
@PostMapping("/rollback")
|
@Operation(summary = "回滚到指定历史版本")
|
@Parameter(name = "id", description = "编号", required = true)
|
@PreAuthorize("@ss.hasPermission('qc-report:template:publish')")
|
public CommonResult<Boolean> rollbackVersion(@RequestParam("id") Long id) {
|
versionService.rollbackVersion(id);
|
return success(true);
|
}
|
|
@PostMapping("/disable")
|
@Operation(summary = "停用模板版本")
|
@Parameter(name = "id", description = "编号", required = true)
|
@PreAuthorize("@ss.hasPermission('qc-report:template:publish')")
|
public CommonResult<Boolean> disableVersion(@RequestParam("id") Long id) {
|
versionService.disableVersion(id);
|
return success(true);
|
}
|
|
@GetMapping("/get")
|
@Operation(summary = "获得模板版本")
|
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
@PreAuthorize("@ss.hasPermission('qc-report:template:query')")
|
public CommonResult<QcReportTemplateVersionRespVO> getVersion(@RequestParam("id") Long id) {
|
QcReportTemplateVersionDO version = versionService.getVersion(id);
|
return success(BeanUtils.toBean(version, QcReportTemplateVersionRespVO.class));
|
}
|
|
@GetMapping("/list-by-template")
|
@Operation(summary = "获得模板的所有版本")
|
@Parameter(name = "templateId", description = "模板编号", required = true)
|
@PreAuthorize("@ss.hasPermission('qc-report:template:query')")
|
public CommonResult<List<QcReportTemplateVersionRespVO>> getVersionListByTemplateId(
|
@RequestParam("templateId") Long templateId) {
|
List<QcReportTemplateVersionDO> list = versionService.getVersionListByTemplateId(templateId);
|
return success(BeanUtils.toBean(list, QcReportTemplateVersionRespVO.class));
|
}
|
|
@GetMapping("/page")
|
@Operation(summary = "获得模板版本分页")
|
@PreAuthorize("@ss.hasPermission('qc-report:template:query')")
|
public CommonResult<PageResult<QcReportTemplateVersionRespVO>> getVersionPage(
|
@Valid QcReportTemplateVersionPageReqVO pageReqVO) {
|
PageResult<QcReportTemplateVersionDO> pageResult = versionService.getVersionPage(pageReqVO);
|
return success(BeanUtils.toBean(pageResult, QcReportTemplateVersionRespVO.class));
|
}
|
|
}
|