package com.ruoyi.quality.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.quality.pojo.QualityUnqualified; import com.ruoyi.quality.service.IQualityUnqualifiedService; import org.springframework.util.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.util.List; /** * 不合格管理 */ @RestController @RequestMapping("/quality/qualityUnqualified") public class QualityUnqualifiedController { @Resource private IQualityUnqualifiedService qualityUnqualifiedService; /** * 新增不合格管理 * @param qualityUnqualified * @return */ @PostMapping("/add") public AjaxResult add(@RequestBody QualityUnqualified qualityUnqualified) { if (qualityUnqualified != null && qualityUnqualified.getInspectState() == null) { qualityUnqualified.setInspectState(0); } String validationMessage = validateUnqualified(qualityUnqualified, false); if (validationMessage != null) { return AjaxResult.error(validationMessage); } if (!qualityUnqualifiedService.save(qualityUnqualified)) { throw new ServiceException("新增不合格记录失败"); } return AjaxResult.success(true); } /** * 删除不合格管理 * @param ids * @return */ @DeleteMapping("/del") public AjaxResult delQualityUnqualified(@RequestBody List ids) { if(CollectionUtils.isEmpty(ids)){ return AjaxResult.error("请选择至少一条数据"); } return AjaxResult.success(qualityUnqualifiedService.removeBatchByIds(ids)); } /** * 不合格管理详情 * @param id * @return */ @GetMapping("/{id}") public AjaxResult QualityUnqualifiedDetail(@PathVariable("id") Integer id) { return AjaxResult.success(qualityUnqualifiedService.getById(id)); } /** * 不合格管理修改 * @param qualityUnqualified * @return */ @PostMapping("/update") public AjaxResult update(@RequestBody QualityUnqualified qualityUnqualified) { String validationMessage = validateUnqualified(qualityUnqualified, true); if (validationMessage != null) { return AjaxResult.error(validationMessage); } if (qualityUnqualifiedService.getById(qualityUnqualified.getId()) == null) { return AjaxResult.error("不合格记录不存在"); } if (!qualityUnqualifiedService.updateById(qualityUnqualified)) { throw new ServiceException("修改不合格记录失败"); } return AjaxResult.success(true); } /** *不合格管理分页查询 * @param page * @param qualityUnqualified * @return */ @GetMapping("/listPage") public AjaxResult qualityUnqualifiedListPage(Page page, QualityUnqualified qualityUnqualified) { return AjaxResult.success(qualityUnqualifiedService.qualityUnqualifiedListPage(page, qualityUnqualified)); } /** * 不合格管理导出 * @param response * @param qualityUnqualified */ @PostMapping("/export") public void qualityUnqualifiedExport(HttpServletResponse response,QualityUnqualified qualityUnqualified) { qualityUnqualifiedService.qualityUnqualifiedExport(response, qualityUnqualified); } private String validateUnqualified(QualityUnqualified record, boolean requireId) { if (record == null) { return "不合格数据不能为空"; } if (requireId && record.getId() == null) { return "不合格记录ID不能为空"; } if (record.getInspectType() == null || record.getInspectType() < 0 || record.getInspectType() > 2) { return "检验类别不正确"; } if (record.getInspectState() == null || (record.getInspectState() != 0 && record.getInspectState() != 1)) { return "处理状态不正确"; } if (record.getProductId() == null) { return "请选择产品"; } if (record.getQuantity() == null || record.getQuantity().signum() <= 0) { return "不合格数量必须大于0"; } if (StringUtils.isBlank(record.getDefectivePhenomena())) { return "请填写不合格原因或现象"; } if (Integer.valueOf(1).equals(record.getInspectState())) { if (StringUtils.isBlank(record.getDealType())) { return "请选择处理方式"; } if (StringUtils.isBlank(record.getDealResult())) { return "请填写处理结果"; } if (StringUtils.isBlank(record.getDealName())) { return "请填写处理人"; } if (record.getDealTime() == null) { return "请选择处理日期"; } } return null; } }