| | |
| | | import cn.gistack.nky.service.IArimaPredictService; |
| | | import cn.gistack.nky.service.INkyService; |
| | | import cn.gistack.nky.service.IZtApiService; |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.mysql.cj.util.StringUtils; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.tool.utils.ObjectUtil; |
| | |
| | | @Override |
| | | public void predictData(String type) { |
| | | List<DataResChildrenPo> cdList = getCdList(type); |
| | | cdList.forEach(dataResChildrenPo -> { |
| | | ArimaPredictReqPo arimaPredictReqPo = new ArimaPredictReqPo(dataResChildrenPo, type); |
| | | //循环预测请求 |
| | | nkyService.arimaPredict(arimaPredictReqPo); |
| | | |
| | | if (type.equals("1")){ |
| | | //渗压 |
| | | cdList.forEach(dataResChildrenPo -> { |
| | | ArimaPredictReqPo arimaPredictReqPo = new ArimaPredictReqPo(dataResChildrenPo, type); |
| | | //循环预测请求 |
| | | nkyService.arimaPredict(arimaPredictReqPo); |
| | | }); |
| | | }else if (type.equals("2")){ |
| | | //渗流 |
| | | }else if (type.equals("3") || type.equals("4") || type.equals("5")){ |
| | | cdList.forEach(dataResChildrenPo -> { |
| | | //循环预测请求 |
| | | ArimaPredictReqPo arimaPredictReqPoX = new ArimaPredictReqPo(dataResChildrenPo, "3"); |
| | | nkyService.arimaPredict(arimaPredictReqPoX); |
| | | |
| | | ArimaPredictReqPo arimaPredictReqPoY = new ArimaPredictReqPo(dataResChildrenPo, "4"); |
| | | nkyService.arimaPredict(arimaPredictReqPoY); |
| | | |
| | | ArimaPredictReqPo arimaPredictReqPoZ = new ArimaPredictReqPo(dataResChildrenPo, "5"); |
| | | nkyService.arimaPredict(arimaPredictReqPoZ); |
| | | }); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public List<ArimaPredict> getFutureData(String resCd,String type) { |
| | | List<ArimaPredict> futureData = baseMapper.getFutureData(resCd, type); |
| | | futureData.forEach(arimaPredict -> { |
| | | arimaPredict.setPredicts(JSON.parse(arimaPredict.getPredicts().toString())); |
| | | }); |
| | | return futureData; |
| | | } |
| | | |
| | | @Override |
| | |
| | | return false; |
| | | } |
| | | |
| | | //遍历表中当前水库,当前测点,当前类型的数据,检查是否有重复数据 |
| | | ArimaPredict params = new ArimaPredict(); |
| | | params.setDamId(entity.getDamId()); |
| | | params.setPointId(entity.getPointId()); |
| | | params.setType(entity.getType()); |
| | | params.setCreateTime(entity.getCreateTime()); |
| | | |
| | | List<ArimaPredict> list = list(Condition.getQueryWrapper(params)); |
| | | List<ArimaPredict> list = baseMapper.selectTodayData(entity); |
| | | |
| | | if (list.size()>0){ |
| | | return false; |
| | | //删除该数据,添加最新数据 |
| | | baseMapper.deleteById(list.get(0)); |
| | | return super.save(entity); |
| | | }else { |
| | | return super.save(entity); |
| | | } |