ws183
2025-04-28 b306d1106b915bb13fd7a02217ae9c65de2fd03d
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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
package com.ld.igds.m.view;
 
import com.bstek.dorado.annotation.DataProvider;
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
import com.bstek.dorado.data.provider.Page;
import com.ld.igds.check.CheckStandardManager;
import com.ld.igds.check.dto.CheckItemData;
import com.ld.igds.m.ReportManage;
import com.ld.igds.m.service.HQualityManageService;
import com.ld.igds.models.Depot;
import com.ld.igds.models.DicTrigger;
import com.ld.igds.models.MQuality;
import com.ld.igds.view.service.HDepotService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
 
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
 
/**
 * 质量追溯管理
 *
 * @author: chen
 */
@Component
public class QualityManagerPR {
 
    @Autowired
    private HQualityManageService qualityManageService;
    @Autowired
    private CheckStandardManager checkStandardManager;
    @Autowired
    private ReportManage reportManage;
    @Autowired
    private HDepotService depotService;
 
    /**
     * 检验类别
     * <p>
     * ${dorado.getDataProvider("qualityManagerPR#triggerType").getResult()}
     *
     * @return
     */
    @DataProvider
    public List<DicTrigger> triggerType() {
        List<DicTrigger> list = new ArrayList<DicTrigger>();
        list.add(new DicTrigger("01", "入仓验收"));
        list.add(new DicTrigger("02", "出仓检验"));
        list.add(new DicTrigger("03", "3月末普检"));
        list.add(new DicTrigger("04", "9月末普检"));
        list.add(new DicTrigger("05", "入库初检"));
        list.add(new DicTrigger("06", "月度检查"));
        list.add(new DicTrigger("07", "3月末库内普查"));
        list.add(new DicTrigger("08", "9月末库内普查"));
        return list;
    }
 
    /**
     * 指标类别
     * <p>
     * ${dorado.getDataProvider("qualityManagerPR#triggerStandard").getResult()}
     *
     * @return
     */
    @DataProvider
    public List<DicTrigger> triggerStandard() {
        List<DicTrigger> list = new ArrayList<DicTrigger>();
 
        list.add(new DicTrigger("1", "国标"));
        list.add(new DicTrigger("0", "其他"));
 
        return list;
    }
 
    /**
     * 检验依据
     * <p>
     * ${dorado.getDataProvider("qualityManagerPR#triggerMetrics").getResult()}
     *
     * @return
     */
    @DataProvider
    public List<DicTrigger> triggerMetrics() {
        List<DicTrigger> list = new ArrayList<DicTrigger>();
 
        list.add(new DicTrigger("1", "质量指标检验"));
        list.add(new DicTrigger("2", "储存品质检验"));
        list.add(new DicTrigger("3", "食品安全检验"));
 
        return list;
    }
 
    /**
     * 分页获取质量巡检记录信息
     * <p>
     * qualityManagerPR#listQuality
     *
     * @param page
     * @param param
     * @throws Exception
     */
    @DataProvider
    public void listQuality(Page<MQuality> page, Map<String, Object> param) throws Exception {
        qualityManageService.listQuality(page, param);
    }
 
    /**
     * 保存质量巡检记录及相关检测项信息
     * qualityManagerPR#saveQuality
     *
     * @param data
     */
    @DataResolver
    public void saveQuality(MQuality data) {
        if (StringUtils.isEmpty(data.getId())) {
            data.setId( "ZJ_" + qualityManageService.getIdByTime(data.getTime()));
        }
        try {
            qualityManageService.saveQuality(data.getId(), data);
            //保存货位质检数据
            Depot depot = depotService.getDepotById(data.getCompanyId(), data.getDepotId());
            depot.setCheckDate(data.getTime());
 
            //保存检测的化验项信息
            if (null != data.getCheckItems()) {
                checkStandardManager.updateCheckItems(data.getId(), null, data.getCheckItems());
                List<CheckItemData> checkItems = data.getCheckItems();
 
                for (CheckItemData checkItem : checkItems) {
                    if("C01".equals(checkItem.getStandardId())){
                        String value = checkItem.getValue();
                        depot.setPerWet(Double.valueOf(value));
                    }
                    if("C02".equals(checkItem.getStandardId())){
                        String value = checkItem.getValue();
                        depot.setPerImpurity(Double.valueOf(value));
                    }
                    if("C03".equals(checkItem.getStandardId())){
                        String value = checkItem.getValue();
                        depot.setBulkWeight(Double.valueOf(value));
                    }
                }
            }
 
            depotService.updateDepot(depot);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
    /**
     * qualityManagerPR#delQuality
     *
     * @param data
     * @return
     */
    @Expose
    public String delQuality(MQuality data) {
        return qualityManageService.delQuality(data);
    }
 
    /**
     * qualityManagerPR#getPer
     *
     * @param checkId
     * @return
     */
    @Expose
    public CheckItemData getPer(String checkId) {
        return qualityManageService.getCheckItem(checkId);
    }
 
    /**
     * qualityManagerPR#printQualityBill 打印质检报告单
     *
     * @param data
     * @return
     */
    @Expose
    public String printQualityBill(MQuality data) {
        if (StringUtils.isEmpty(data.getFoodVariety())) {
            return "粮情品种为空,不支持打印!";
        }
        return reportManage.printQualityBill(data);
    }
 
}