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; /** * 检验类别 *

* ${dorado.getDataProvider("qualityManagerPR#triggerType").getResult()} * * @return */ @DataProvider public List triggerType() { List list = new ArrayList(); 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; } /** * 指标类别 *

* ${dorado.getDataProvider("qualityManagerPR#triggerStandard").getResult()} * * @return */ @DataProvider public List triggerStandard() { List list = new ArrayList(); list.add(new DicTrigger("1", "国标")); list.add(new DicTrigger("0", "其他")); return list; } /** * 检验依据 *

* ${dorado.getDataProvider("qualityManagerPR#triggerMetrics").getResult()} * * @return */ @DataProvider public List triggerMetrics() { List list = new ArrayList(); list.add(new DicTrigger("1", "质量指标检验")); list.add(new DicTrigger("2", "储存品质检验")); list.add(new DicTrigger("3", "食品安全检验")); return list; } /** * 分页获取质量巡检记录信息 *

* qualityManagerPR#listQuality * * @param page * @param param * @throws Exception */ @DataProvider public void listQuality(Page page, Map 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 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); } }