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