package com.ld.igds.m.view; import com.bstek.dorado.annotation.DataProvider; import com.bstek.dorado.annotation.Expose; import com.ld.igds.common.CoreCommonService; import com.ld.igds.dto.GrainSupportData; import com.ld.igds.m.service.HGrainSupportService; import com.ld.igds.models.Depot; import com.ld.igds.models.Grain; import com.ld.igds.util.ContextUtil; import com.ld.igds.util.DateUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.text.ParseException; import java.util.*; /** * 决策辅助 * * @author: */ @Component public class GrainSupportPR { @Autowired private CoreCommonService coreCommonService; @Autowired private HGrainSupportService grainSupportService; /** * grainSupportPR#getQuery * @return */ @DataProvider public Map getQuery() { Map result = new HashMap(); result.put("curr", new Date()); Date last = DateUtil.getNewByDay(new Date(), -7); result.put("last", last); return result; } /** * grainSupportPR#getGrainSupportData * @param param * @return */ @Expose public GrainSupportData getGrainSupportData(Map param) throws ParseException { //获取仓库信息 String str = (String) param.get("depotId"); if (StringUtils.isEmpty(str)) { return null; } Depot depotData = coreCommonService.getCacheDepot(ContextUtil.getCompanyId(), str); GrainSupportData grainSupportData = new GrainSupportData(); //设置仓库信息 grainSupportData.setDepotId(depotData.getId()); grainSupportData.setName(depotData.getName()); grainSupportData.setDepotType(depotData.getDepotType()); grainSupportData.setStorageMax(depotData.getStorageMax()); grainSupportData.setStorageReal(depotData.getStorageReal()); grainSupportData.setDepotStatus(depotData.getDepotStatus()); grainSupportData.setFoodVariety(depotData.getFoodVariety()); grainSupportData.setFoodType(depotData.getFoodType()); grainSupportData.setFoodLocation(depotData.getFoodLocation()); grainSupportData.setStoreDate(depotData.getStoreDate()); grainSupportData.setStoreKeeperName(depotData.getStoreKeeperName()); Date curr = (Date) param.get("curr"); Date last = (Date) param.get("last"); boolean flag1 = false; //查询当前时间最近的粮情信息,往前查10天 if (null != curr) { List grain1 = grainSupportService.listGrain(str,DateUtil.getNewByDay(curr, -10),curr); if (null != grain1 && grain1.size()>0) { flag1 = true; //设置当前时间最近的粮情信息 grainSupportData.setTempAveCurr(grain1.get(0).getTempAve()); grainSupportData.setTempMaxCurr(grain1.get(0).getTempMax()); grainSupportData.setTempMinCurr(grain1.get(0).getTempMin()); grainSupportData.setHumidityInCurr(grain1.get(0).getHumidityIn()); grainSupportData.setTempInCurr(grain1.get(0).getTempIn()); grainSupportData.setReceiveDateCurr(grain1.get(0).getReceiveDate()); } } boolean flag2 = false; //查询上批时间最近的粮情信息,往前查10天 if (null != last) { List grain2 = grainSupportService.listGrain(str,DateUtil.getNewByDay(last, -10),last); if (null != grain2 && grain2.size()>0) { flag2 = true; //设置上批时间最近的粮情信息 grainSupportData.setTempAveLast(grain2.get(0).getTempAve()); grainSupportData.setTempMaxLast(grain2.get(0).getTempMax()); grainSupportData.setTempMinLast(grain2.get(0).getTempMin()); grainSupportData.setHumidityInLast(grain2.get(0).getHumidityIn()); grainSupportData.setTempInLast(grain2.get(0).getTempIn()); grainSupportData.setReceiveDateLast(grain2.get(0).getReceiveDate()); } } if(flag1 && flag2){ //设置通风指导 grainSupportData.setRegionalism("中温高湿储粮区"); grainSupportData.setZoologyTrait("15℃以上有效积温1029℃·d~3180℃·d,15℃以上的时间121~253d; 年降水量800 mm~1600 mm; 年平均相对湿度34%~98%;1月气温0℃~10℃,7月气温28℃左右; 主要粮油作物为单、双季稻、冬小麦; 代表性储粮害虫为玉米象、谷蠹、麦蛾、锯谷盗、长角扁谷盗、大谷盗、赤拟谷盗; 夏季高温、高湿; 晚稻水分含量高。"); grainSupportData.setMeasures("1.收后机械通风、烘干 2.冬春通风降温\n3.次年春季干燥高水分粮 4.春季气温回升前密封\n5.施用防护剂,害虫多时熏蒸 6.密切注意过夏粮粮温、水分,及时采取措施"); //决策说明图片url grainSupportData.setExplain("./static/images/grainSupport.png"); } return grainSupportData; } }