|
@@ -16,12 +16,15 @@ import com.huimv.eartag2.manage2.pojo.EartagEartagRegister2;
|
|
import com.huimv.eartag2.manage2.pojo.SysAccountMultilevel;
|
|
import com.huimv.eartag2.manage2.pojo.SysAccountMultilevel;
|
|
import com.huimv.eartag2.manage2.service.IEartagData2Service;
|
|
import com.huimv.eartag2.manage2.service.IEartagData2Service;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
+import com.huimv.eartag2.manage2.utils.Data;
|
|
|
|
+import com.huimv.eartag2.manage2.utils.Filter;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
import java.text.ParseException;
|
|
import java.text.ParseException;
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
* <p>
|
|
* <p>
|
|
@@ -250,4 +253,83 @@ public class EartagData2ServiceImpl extends ServiceImpl<EartagData2Mapper, Earta
|
|
List<EartagData2> eartagData2List = this.list(new QueryWrapper<EartagData2>().eq("earmark", earmark).orderByDesc("add_time").last(String.format("limit %s", quantity)));
|
|
List<EartagData2> eartagData2List = this.list(new QueryWrapper<EartagData2>().eq("earmark", earmark).orderByDesc("add_time").last(String.format("limit %s", quantity)));
|
|
return new Result(ResultCode.SUCCESS,eartagData2List);
|
|
return new Result(ResultCode.SUCCESS,eartagData2List);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public List<Data> getActAndEemp(QueryWrapper<EartagData2> eartagData2QueryWrapper) {
|
|
|
|
+ return eartagData2Mapper.getActAndEemp(eartagData2QueryWrapper);
|
|
|
|
+ }
|
|
|
|
+ @Override
|
|
|
|
+ public Result getByTimeFilter(Map<String, String> map) {
|
|
|
|
+
|
|
|
|
+ String earmark = map.get("earmark");
|
|
|
|
+ String startDate = map.get("startDate");
|
|
|
|
+ String endDate = map.get("endDate");
|
|
|
|
+ Date now = new Date();
|
|
|
|
+ if (StringUtils.isBlank(earmark)) {
|
|
|
|
+ return new Result(10001, "请选择耳标", false);
|
|
|
|
+ }
|
|
|
|
+ QueryWrapper<EartagData2> wrapper = new QueryWrapper<>();
|
|
|
|
+ wrapper.eq("earmark", earmark);
|
|
|
|
+ if (StringUtils.isBlank(startDate)) {
|
|
|
|
+ wrapper.ge("add_time", DateUtil.beginOfDay(now));
|
|
|
|
+ } else {
|
|
|
|
+ wrapper.between("add_time", startDate, endDate);
|
|
|
|
+ }
|
|
|
|
+ wrapper.orderByAsc("add_time");
|
|
|
|
+ List<Double> list1 = new ArrayList<>();
|
|
|
|
+ List<Float> list2 = new ArrayList<>();
|
|
|
|
+ List<Float> list3 = new ArrayList<>();
|
|
|
|
+ List<Date> list4 = new ArrayList<>();
|
|
|
|
+ List<Long> list5 = new ArrayList<>();
|
|
|
|
+ List<Integer> list6 = new ArrayList<>();
|
|
|
|
+ List<Float> list7 = new ArrayList<>();
|
|
|
|
+ List<EartagData2> list = this.list(wrapper);
|
|
|
|
+ for (EartagData2 eartagData2 : list) {
|
|
|
|
+ Float earTemp1 = eartagData2.getEarTemp1();
|
|
|
|
+ Float earTemp2 = eartagData2.getEarTemp2();
|
|
|
|
+ Float envTemp1 = eartagData2.getEnvTemp1();
|
|
|
|
+
|
|
|
|
+ list1.add(earTemp1 == null ? null:Double.valueOf(earTemp1));
|
|
|
|
+ list2.add(earTemp2);
|
|
|
|
+ list3.add(envTemp1);
|
|
|
|
+ list4.add( eartagData2.getAddTime());
|
|
|
|
+ list5.add( eartagData2.getAct1());
|
|
|
|
+ list6.add( eartagData2.getBat());
|
|
|
|
+ list7.add( eartagData2.getEarTemp1());
|
|
|
|
+ }
|
|
|
|
+ Map endMap = new HashMap();
|
|
|
|
+// int size = list1.size();
|
|
|
|
+// if (size > 10){
|
|
|
|
+// List<Double> firstPart = list1.subList(0, size - 10);
|
|
|
|
+// List<Double> lastTen = list1.subList(size - 10, size);
|
|
|
|
+// Filter filter1 = new Filter(firstPart,0.2);
|
|
|
|
+// List<Double> earTemp1 = filter1.max(20, 200, 30, 40);
|
|
|
|
+// earTemp1.addAll(lastTen);
|
|
|
|
+// endMap.put("earTemp1",earTemp1.stream().map(number -> String.format("%.2f", number)).collect(Collectors.toList()));
|
|
|
|
+// }else {
|
|
|
|
+// endMap.put("earTemp1",list1.stream().map(number -> String.format("%.2f", number)).collect(Collectors.toList()));
|
|
|
|
+// }
|
|
|
|
+
|
|
|
|
+ Filter filter1 = new Filter(list1,0.2);
|
|
|
|
+ List<Double> earTemp1 = filter1.max(20, 200, 30, 40);
|
|
|
|
+
|
|
|
|
+// Filter filter2 = new Filter(list2,0.2);
|
|
|
|
+// List<Double> earTemp2 = filter2.max(20, 200, 30, 40);
|
|
|
|
+//
|
|
|
|
+// Filter filter3 = new Filter(list3,0.2);
|
|
|
|
+// List<Double> earTemp3 = filter3.max(20, 200, 10, 40);
|
|
|
|
+
|
|
|
|
+ endMap.put("earTemp1",earTemp1.stream().map(number -> String.format("%.2f", number)).collect(Collectors.toList()));
|
|
|
|
+ endMap.put("earTemp2",list2.stream().map(number -> String.format("%.2f", number)).collect(Collectors.toList()));
|
|
|
|
+ endMap.put("getEnvTemp1",list3.stream().map(number -> String.format("%.2f", number)).collect(Collectors.toList()));
|
|
|
|
+ endMap.put("earTemp",list7.stream().map(number -> String.format("%.2f", number)).collect(Collectors.toList()));
|
|
|
|
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
+ endMap.put("time",list4.stream()
|
|
|
|
+ .map(date -> formatter.format(date))
|
|
|
|
+ .collect(Collectors.toList()));
|
|
|
|
+ endMap.put("act",list5);
|
|
|
|
+ endMap.put("bat",list6);
|
|
|
|
+
|
|
|
|
+ return new Result(ResultCode.SUCCESS, endMap);
|
|
|
|
+ }
|
|
}
|
|
}
|