package cn.iocoder.yudao.module.mes.controller.admin.safety; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.mes.controller.admin.safety.vo.document.SafetyDocumentApprovalReqVO; import cn.iocoder.yudao.module.mes.controller.admin.safety.vo.document.SafetyDocumentSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.safety.SafetyDocumentDO; import cn.iocoder.yudao.module.mes.dal.dataobject.safety.SafetyDocumentApprovalDO; import cn.iocoder.yudao.module.mes.service.safety.SafetyDocumentService; 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 static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @RestController @RequestMapping("/safety/document") @Validated public class SafetyDocumentController { @Resource private SafetyDocumentService service; @GetMapping("/page") @PreAuthorize("@ss.hasPermission('safety:document:query')") public CommonResult> page(@Valid PageParam page, @RequestParam(value = "title", required = false) String title, @RequestParam(value = "status", required = false) String status) { return success(service.page(page, title, status)); } @GetMapping("/approvals") @PreAuthorize("@ss.hasPermission('safety:document:query')") public CommonResult> approvals(@RequestParam("id") Long id) { return success(service.approvals(id)); } @PostMapping("/create") @PreAuthorize("@ss.hasPermission('safety:document:create')") public CommonResult create(@Valid @RequestBody SafetyDocumentSaveReqVO req) { return success(service.create(req)); } @PutMapping("/update") @PreAuthorize("@ss.hasPermission('safety:document:update')") public CommonResult update(@Valid @RequestBody SafetyDocumentSaveReqVO req) { service.update(req); return success(true); } @PutMapping("/submit") @PreAuthorize("@ss.hasPermission('safety:document:update')") public CommonResult submit(@RequestParam("id") Long id) { service.submit(id); return success(true); } @PutMapping("/approve") @PreAuthorize("@ss.hasPermission('safety:document:approve')") public CommonResult approve(@Valid @RequestBody SafetyDocumentApprovalReqVO req) { service.approve(req); return success(true); } @PostMapping("/revision") @PreAuthorize("@ss.hasPermission('safety:document:create')") public CommonResult revision(@RequestParam("id") Long id) { return success(service.createRevision(id)); } }