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<Integer> 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;
|
}
|
|
|
}
|