1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
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;
    }
 
 
}