package com.ruoyi.quality.controller; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.quality.dto.QualityInspectDto; import com.ruoyi.quality.pojo.QualityInspect; import com.ruoyi.quality.pojo.QualityInspectFile; import com.ruoyi.quality.pojo.QualityInspectParam; import com.ruoyi.quality.service.IQualityInspectFileService; import com.ruoyi.quality.service.IQualityInspectParamService; import com.ruoyi.quality.service.IQualityInspectService; import jakarta.servlet.http.HttpServletResponse; import lombok.AllArgsConstructor; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 原材料检验/过程检验/出厂检验 */ @RestController @RequestMapping("/quality/qualityInspect") @AllArgsConstructor public class QualityInspectController { private IQualityInspectService qualityInspectService; private IQualityInspectParamService qualityInspectParamService; private IQualityInspectFileService qualityInspectFileService; /** * 新增 * * @param qualityInspectDto * @return */ @PostMapping("/add") public AjaxResult add(@RequestBody QualityInspectDto qualityInspectDto) { return AjaxResult.success(qualityInspectService.add(qualityInspectDto)); } /** * 删除 * * @param ids * @return */ @DeleteMapping("/del") public AjaxResult delQualityInspect(@RequestBody List ids) { if (CollectionUtils.isEmpty(ids)) { return AjaxResult.error("请选择至少一条数据"); } //如果已经提交就不允许删除 List qualityInspects = qualityInspectService.listByIds(ids); for (QualityInspect qualityInspect : qualityInspects) { if (qualityInspect.getInspectState() == 1) { throw new RuntimeException("已提交的数据不允许删除"); } } //删除检验参数 qualityInspectParamService.remove(Wrappers.lambdaQuery() .in(QualityInspectParam::getInspectId, ids)); //删除检验附件 qualityInspectFileService.remove(Wrappers.lambdaQuery() .in(QualityInspectFile::getInspectId, ids)); //删除检验单 return AjaxResult.success(qualityInspectService.removeBatchByIds(ids)); } /** * 详情 * * @param id * @return */ @GetMapping("/{id}") public AjaxResult QualityInspectDetail(@PathVariable("id") Integer id) { return AjaxResult.success(qualityInspectService.getDetailById(id)); } /** * 修改 * * @param qualityInspectDto * @return */ @PostMapping("/update") public AjaxResult update(@RequestBody QualityInspectDto qualityInspectDto) { return AjaxResult.success(qualityInspectService.updateQualityInspect(qualityInspectDto)); } /** * 分页查询 * * @param page * @param qualityInspect * @return */ @GetMapping("/listPage") public AjaxResult qualityInspectListPage(Page page, QualityInspectDto qualityInspect) { return AjaxResult.success(qualityInspectService.qualityInspectListPage(page, qualityInspect)); } /** * 导出 * * @param response * @param qualityInspect */ @PostMapping("/export") public void qualityInspectExport(HttpServletResponse response, QualityInspect qualityInspect) { qualityInspectService.qualityInspectExport(response, qualityInspect); } /** * 提交 * * @param qualityInspect * @return */ @PostMapping("/submit") public AjaxResult submit(@RequestBody QualityInspect qualityInspect) { return AjaxResult.success(qualityInspectService.submit(qualityInspect)); } /** * 下载 * * @param response * @param qualityInspect */ @PostMapping("/down") public void down(HttpServletResponse response, @RequestBody QualityInspect qualityInspect) { qualityInspectService.down(response, qualityInspect); } }