|
@@ -1,6 +1,7 @@
|
|
package org.springblade.manager.service.impl;
|
|
package org.springblade.manager.service.impl;
|
|
|
|
|
|
|
|
|
|
|
|
+import cn.hutool.core.date.DatePattern;
|
|
import cn.hutool.core.date.DateTime;
|
|
import cn.hutool.core.date.DateTime;
|
|
import cn.hutool.core.util.HashUtil;
|
|
import cn.hutool.core.util.HashUtil;
|
|
import cn.hutool.log.StaticLog;
|
|
import cn.hutool.log.StaticLog;
|
|
@@ -15,7 +16,6 @@ import org.jsoup.Jsoup;
|
|
import org.jsoup.nodes.Document;
|
|
import org.jsoup.nodes.Document;
|
|
import org.jsoup.nodes.Element;
|
|
import org.jsoup.nodes.Element;
|
|
import org.jsoup.select.Elements;
|
|
import org.jsoup.select.Elements;
|
|
-import org.springblade.common.utils.BaseUtils;
|
|
|
|
import org.springblade.common.utils.SnowFlakeUtil;
|
|
import org.springblade.common.utils.SnowFlakeUtil;
|
|
import org.springblade.core.mp.base.BaseServiceImpl;
|
|
import org.springblade.core.mp.base.BaseServiceImpl;
|
|
import org.springblade.core.tool.api.R;
|
|
import org.springblade.core.tool.api.R;
|
|
@@ -78,10 +78,6 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
private final IFormulaDataBlockService formulaDataBlockService;
|
|
private final IFormulaDataBlockService formulaDataBlockService;
|
|
|
|
|
|
private TableElementConverter tec;
|
|
private TableElementConverter tec;
|
|
-// private Map<String,Object> constantMap;
|
|
|
|
-// private List<FormData> formDataList;
|
|
|
|
-// private Map<String,FormData> formDataMap;
|
|
|
|
-// private Map<String,Map<String,Object>> tableDataMaps;
|
|
|
|
public final static String WP="WP";
|
|
public final static String WP="WP";
|
|
public final static String CHAIN="trees";
|
|
public final static String CHAIN="trees";
|
|
public final static String FC="FC.";
|
|
public final static String FC="FC.";
|
|
@@ -175,6 +171,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
/**补充确实的原始依赖*/
|
|
/**补充确实的原始依赖*/
|
|
public void checkingMissingList(){
|
|
public void checkingMissingList(){
|
|
List<String> missingList = new ArrayList<>();
|
|
List<String> missingList = new ArrayList<>();
|
|
@@ -650,6 +647,8 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public IFormulaService calculate() {
|
|
public IFormulaService calculate() {
|
|
|
|
+ /*天气*/
|
|
|
|
+ weather();
|
|
/*通用计算*/
|
|
/*通用计算*/
|
|
generalCalc();
|
|
generalCalc();
|
|
/*汇总信息处理*/
|
|
/*汇总信息处理*/
|
|
@@ -659,6 +658,33 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
return this;
|
|
return this;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+ private void weather(){
|
|
|
|
+ List<String> dateList=new ArrayList<>();
|
|
|
|
+ tec.formDataList.forEach(e->{
|
|
|
|
+ if(e.executable()&&e.getFormula().getFormula().contains(".weather(")){
|
|
|
|
+ String code= RegexUtil.findResult("(?<=weather\\(E\\[')[^']+(?='\\],WEATHER\\))",e.getFormula().getFormula());
|
|
|
|
+ if(code!=null){
|
|
|
|
+ FormData formData= tec.getFormDataMap().get(code);
|
|
|
|
+ if(formData!=null&&!formData.empty()){
|
|
|
|
+ Optional<String> op= formData.getValues().stream().map(ElementData::stringValue).filter(StringUtils::isNotEmpty).findFirst();
|
|
|
|
+ op.ifPresent(t->{
|
|
|
|
+ dateList.add(new DateTime(t).toString(DatePattern.NORM_DATE_PATTERN));
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ if(dateList.size()>0){
|
|
|
|
+ List<Map<String,Object>> listMap= this.jdbcTemplate.queryForList(" select DATE(b.create_time) ds,b.weather from m_project_contract_area a join u_weather_info b on a.id=contract_area_id where a.contract_id=1530020611913850882 and DATE(b.create_time) in('"+ String.join(",", dateList) +"')");
|
|
|
|
+ Map<String,String> map= new HashMap<>();
|
|
|
|
+ listMap.forEach(m->{
|
|
|
|
+ map.put(Func.toStr(m.get("ds")),Func.toStr(m.get("weather")));
|
|
|
|
+ });
|
|
|
|
+ tec.constantMap.put("WEATHER",map);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
/**通用计算*/
|
|
/**通用计算*/
|
|
public void generalCalc(){
|
|
public void generalCalc(){
|
|
String checkTable ="";
|
|
String checkTable ="";
|
|
@@ -754,6 +780,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
+
|
|
/**附表处理*/
|
|
/**附表处理*/
|
|
public void forSubTb(){
|
|
public void forSubTb(){
|
|
try {
|
|
try {
|