package com.yuanchu.mom.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.mom.annotation.ValueAuth; import com.yuanchu.mom.annotation.ValueClassify; import com.yuanchu.mom.dto.QualityMonitorDto; import com.yuanchu.mom.exception.ErrorException; import com.yuanchu.mom.mapper.QualityMonitorDetailsEvaluateFileMapper; import com.yuanchu.mom.pojo.*; import com.yuanchu.mom.service.QualityMonitorDetailsService; import com.yuanchu.mom.service.QualityMonitorService; import com.yuanchu.mom.utils.JackSonUtil; import com.yuanchu.mom.vo.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; /** * 质量监控计划主表 * * @author zhuo * @since 2024-11-06 */ @Api(tags = "质量监控计划") @AllArgsConstructor @RestController @RequestMapping("/qualityMonitor") public class QualityMonitorController { private QualityMonitorService qualityMonitorService; private QualityMonitorDetailsService qualityMonitorDetailsService; private QualityMonitorDetailsEvaluateFileMapper qualityMonitorDetailsEvaluateFileMapper; /** * 导入监控计划 * @return */ @ValueAuth @ApiOperation(value = "导入监控计划") @PostMapping("/importQualityMonitor") public Result importQualityMonitor(MultipartFile file){ return Result.success(qualityMonitorService.importQualityMonitor(file)); } /** * 监控计划审核 * @return */ @ValueClassify("质量监控计划") @ApiOperation(value = "监控计划审核") @PostMapping("/examineQualityMonitor") public Result examineQualityMonitor(@RequestBody QualityMonitor qualityMonitor){ return Result.success(qualityMonitorService.examineQualityMonitor(qualityMonitor)); } /** * 监控计划删除 * @return */ @ValueAuth @ApiOperation(value = "监控计划删除") @GetMapping("/delQualitySupervise") public Result delQualitySupervise(Integer qualityMonitorId){ return Result.success(qualityMonitorService.removeById(qualityMonitorId)); } /** * 监控计划批准 * @return */ @ValueClassify("质量监控计划") @ApiOperation(value = "监控计划批准") @PostMapping("/ratifyQualityMonitor") public Result ratifyQualityMonitor(@RequestBody QualityMonitor qualityMonitor){ return Result.success(qualityMonitorService.ratifyQualityMonitor(qualityMonitor)); } /** * 监控计划列表 * @param data * @return */ @ValueAuth @ApiOperation(value = "监控计划列表") @PostMapping("/pageQualityMonitor") public Result> pageQualityMonitor(@RequestBody Map data) throws Exception { Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); QualityMonitor qualityMonitor = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), QualityMonitor.class); return Result.success(qualityMonitorService.pageQualityMonitor(page, qualityMonitor)); } /** * 监控计划详情列表 * @param data * @return */ @ValueAuth @ApiOperation(value = "监控计划详情列表") @PostMapping("/pageQualityMonitorDetail") public Result> pageQualityMonitorDetail(@RequestBody Map data) throws Exception { Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); QualityMonitorDetails qualityMonitorDetails = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), QualityMonitorDetails.class); return Result.success(qualityMonitorService.pageQualityMonitorDetail(page, qualityMonitorDetails)); } /** * 新增监控计划详情 * @return */ @ValueAuth @ApiOperation(value = "新增监控计划详情") @PostMapping("/addQualityMonitorDetail") public Result addQualityMonitorDetail(@RequestBody QualityMonitorDetails qualityMonitorDetails){ if (qualityMonitorDetails.getQualityMonitorId() == null) { throw new ErrorException("缺少监控计划主表id"); } return Result.success(qualityMonitorDetailsService.save(qualityMonitorDetails)); } /** * 修改监控计划详情 * @return */ @ValueAuth @ApiOperation(value = "修改监控计划详情") @PostMapping("/updateQualityMonitorDetail") public Result updateQualityMonitorDetail(@RequestBody QualityMonitorDetails qualityMonitorDetails){ return Result.success(qualityMonitorDetailsService.updateById(qualityMonitorDetails)); } /** * 删除监控计划详情 * @return */ @ValueAuth @ApiOperation(value = "删除监控计划详情") @GetMapping("/delQualityMonitorDetail") public Result delQualityMonitorDetail(Integer qualityMonitorDetailsId){ return Result.success(qualityMonitorDetailsService.removeById(qualityMonitorDetailsId)); } /** * 导出监控计划 * @return */ @ValueAuth @ApiOperation(value = "导出监控计划") @GetMapping("/exportQualityMonitorDetail") public void exportQualityMonitorDetail(Integer qualityMonitorId, HttpServletResponse response){ qualityMonitorService.exportQualityMonitorDetail(qualityMonitorId, response); } /************************************************************ 实施 *******************************************************************/ /** * 查询监控计划详情实施信息 * @return */ @ValueAuth @ApiOperation(value = "查询监控计划详情实施信息") @GetMapping("/getQualityMonitorRatify") public Result getQualityMonitorRatify(Integer qualityMonitorDetailsId){ return Result.success(qualityMonitorService.getQualityMonitorRatify(qualityMonitorDetailsId)); } /** * 新增监控计划详情实施信息 * @return */ @ValueAuth @ApiOperation(value = "新增监控计划详情实施信息") @PostMapping("/addQualityMonitorRatify") public Result addQualityMonitorRatify(@RequestBody QualityMonitorDetailsRatify qualityMonitorDetailsRatify){ return Result.success(qualityMonitorService.addQualityMonitorRatify(qualityMonitorDetailsRatify)); } /** * 监控计划详情提交批准意见 * @return */ @ValueAuth @ApiOperation(value = "监控计划详情提交批准意见") @PostMapping("/addQualityMonitorRatifyOpinion") public Result addQualityMonitorRatifyOpinion(@RequestBody QualityMonitorDetailsRatify qualityMonitorDetailsRatify){ return Result.success(qualityMonitorService.addQualityMonitorRatifyOpinion(qualityMonitorDetailsRatify)); } /** * 导出监控计划详情实施信息 * @param qualityMonitorDetailsId 监控计划详情实施id */ @ValueAuth @ApiOperation(value = "导出监控计划详情实施信息") @GetMapping("/exportQualityMonitorRatify") public void exportQualityMonitorRatify(Integer qualityMonitorDetailsId, HttpServletResponse response){ qualityMonitorService.exportQualityMonitorRatify(qualityMonitorDetailsId, response); } /************************************************************ 评价 *******************************************************************/ /** * 查询监控评价 * @return */ @ValueAuth @ApiOperation(value = "查询监控评价") @GetMapping("/getQualityMonitorEvaluate") public Result getQualityMonitorEvaluate(Integer qualityMonitorDetailsId){ return Result.success(qualityMonitorService.getQualityMonitorEvaluate(qualityMonitorDetailsId)); } /** * 新增监控评价 * @return */ @ValueAuth @ApiOperation(value = "新增监控评价") @PostMapping("/addQualityMonitorEvaluate") public Result addQualityMonitorEvaluate(@RequestBody QualityMonitorDetailsEvaluate qualityMonitorDetailsEvaluate){ return Result.success(qualityMonitorService.addQualityMonitorEvaluate(qualityMonitorDetailsEvaluate)); } /** * 导出监控评价 * @param qualityMonitorDetailsId 监控评价id */ @ValueAuth @ApiOperation(value = "导出监控评价") @GetMapping("/exportQualityMonitorEvaluate") public void exportQualityMonitorEvaluate(Integer qualityMonitorDetailsId, HttpServletResponse response){ qualityMonitorService.exportQualityMonitorEvaluate(qualityMonitorDetailsId, response); } /** * 监控评价批准意见 * @return */ @ValueAuth @ApiOperation(value = "监控评价批准意见") @PostMapping("/addMonitorEvaluateOpinion") public Result addMonitorEvaluateOpinion(@RequestBody QualityMonitorDetailsEvaluate qualityMonitorDetailsEvaluate){ return Result.success(qualityMonitorService.addMonitorEvaluateOpinion(qualityMonitorDetailsEvaluate)); } /** * 新增监控评价附件表 * @param detailsEvaluateId * @param file * @return */ @ValueAuth @ApiOperation(value = "新增监控评价附件表") @PostMapping("/uploadEvaluateFile") public Result uploadEvaluateFile(Integer detailsEvaluateId, MultipartFile file) { return Result.success(qualityMonitorService.uploadEvaluateFile(detailsEvaluateId, file)); } /** * 查询监控评价附件列表 * @return */ @ValueAuth @ApiOperation(value = "查询监控评价附件列表") @GetMapping("/getEvaluateFileList") public Result> getEvaluateFileList(Integer detailsEvaluateId){ return Result.success(qualityMonitorService.getEvaluateFileList(detailsEvaluateId)); } /** * 删除监控评价附件表 * @return */ @ValueAuth @ApiOperation(value = "删除监控评价附件表") @GetMapping("/delVerifyEvaluateFileList") public Result delVerifyMethodFileList(Integer evaluateFileId){ return Result.success(qualityMonitorDetailsEvaluateFileMapper.deleteById(evaluateFileId)); } }