From 3ae57f026d9199f587fd25160e98d19572a30541 Mon Sep 17 00:00:00 2001
From: lyfO_o <764716047@qq.com>
Date: Wed, 30 Mar 2022 16:53:33 +0800
Subject: [PATCH] 1.柜子温湿浓度最大小值 2.新增柜子搜索当年月份
---
src/main/java/com/nanometer/smartlab/controller/ContainerStatusMngController.java | 137 +++++++++++++++++++++++++++++++++++++--------
1 files changed, 113 insertions(+), 24 deletions(-)
diff --git a/src/main/java/com/nanometer/smartlab/controller/ContainerStatusMngController.java b/src/main/java/com/nanometer/smartlab/controller/ContainerStatusMngController.java
index 6ddf9e1..93455e5 100644
--- a/src/main/java/com/nanometer/smartlab/controller/ContainerStatusMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/ContainerStatusMngController.java
@@ -5,12 +5,14 @@
import com.google.common.collect.Maps;
import com.nanometer.smartlab.entity.*;
import com.nanometer.smartlab.entity.dto.ContainerStatusMngDto;
+import com.nanometer.smartlab.model.SelectItemModel;
import com.nanometer.smartlab.service.SysContainerSensorsService;
import com.nanometer.smartlab.service.SysLaboratoryContainerService;
import com.nanometer.smartlab.service.SysLaboratoryService;
import com.nanometer.smartlab.service.SysWarehouseContainerService;
import com.nanometer.smartlab.util.FacesUtils;
import com.nanometer.smartlab.util.Utils;
+import org.apache.commons.collections4.map.SingletonMap;
import org.apache.commons.lang.RandomStringUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.time.DateFormatUtils;
@@ -26,6 +28,10 @@
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
+import javax.faces.model.SelectItem;
+import java.math.BigDecimal;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
import java.util.*;
@@ -34,6 +40,8 @@
public class ContainerStatusMngController extends BaseController {
private static Logger logger = Logger.getLogger(ContainerStatusMngController.class);
+ private static SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM");
+ private static SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
@Resource
private SysContainerSensorsService sysContainerSensorsService;
@@ -56,6 +64,25 @@
private SysContainerSensors selectedSysContainerSensors;
private List<SysContainerSensors> chartSensorsList;
+
+ private Map<String,BigDecimal> temperatureMap = new HashMap<>();
+ private Map<String,BigDecimal> humidityMap = new HashMap<>();
+ private Map<String,BigDecimal> vocMap = new HashMap<>();
+
+
+ private List<SelectItemModel> dateRangeList = new ArrayList<SelectItemModel>(){{
+ Calendar instance = Calendar.getInstance();
+ int year = instance.get(Calendar.YEAR);
+ add(new SelectItemModel(){{setName("本日");setValue("1");}});
+ add(new SelectItemModel(){{setName("本周");setValue("2");}});
+ add(new SelectItemModel(){{setName("本月");setValue("3");}});
+ for (int i = 1; i <= 12; i++) {
+ SelectItemModel item = new SelectItemModel();
+ item.setName(year +"年"+ i + "月");
+ item.setValue(year + String.format("%02d",i));
+ add(item);
+ }
+ }};
public LazyDataModel<ContainerStatusMngDto> getDataModel() {
@@ -85,29 +112,30 @@
} catch (Exception e) {
logger.error("error occured.", e);
}
+ selectContainerList = null;
return list;
}
@Override
public ContainerStatusMngDto getRowData(String rowKey) {
- Iterator<ContainerStatusMngDto> iterator = this.iterator();
- if (iterator != null) {
- ContainerStatusMngDto su = null;
- while (iterator.hasNext()) {
- su = iterator.next();
- if (rowKey.equals(su.getId())) {
- return su;
- }
- }
- }
- return null;
+// Iterator<ContainerStatusMngDto> iterator = this.iterator();
+// if (iterator != null) {
+// ContainerStatusMngDto su = null;
+// while (iterator.hasNext()) {
+// su = iterator.next();
+// if (rowKey.equals(su.getId())) {
+// return su;
+// }
+// }
+// }
+ return sysContainerSensorsService.getRowData(rowKey);
}
};
}
return dataModel;
}
- public void onViewBtnClick() {
+ public void onViewBtnClick() throws ParseException {
if (this.selectContainerList == null
|| this.selectContainerList.size() == 0) {
FacesUtils.warn("请选择数据。");
@@ -206,12 +234,12 @@
renderLineChart();
}
- public void onSelectPeriodType(){
+ public void onSelectPeriodType() throws ParseException {
fetchChartSensorsList();
renderLineChart();
}
- public void onSelectContainer(){
+ public void onSelectContainer() throws ParseException {
fetchChartSensorsList();
renderLineChart();
}
@@ -224,19 +252,44 @@
this.containerSelectorList = containerSelectorList;
}
- public void fetchChartSensorsList(){
+ public void fetchChartSensorsList() throws ParseException {
String beginDate = null;
+ String endDate = null;
- if(periodType == 1){
- beginDate = DateFormatUtils.ISO_DATE_FORMAT.format(new Date());
- } else if(periodType == 2){
- beginDate = Utils.getWeekMonday("yyyy-MM-dd");
- } else if(periodType ==3){
- beginDate = DateFormatUtils.ISO_DATE_FORMAT.format(DateUtils.truncate(new Date(),Calendar.MONTH));
+ switch (periodType) {
+ case 1: beginDate = DateFormatUtils.ISO_DATE_FORMAT.format(new Date());break;
+ case 2: beginDate = Utils.getWeekMonday("yyyy-MM-dd");break;
+ case 3: beginDate = DateFormatUtils.ISO_DATE_FORMAT.format(DateUtils.truncate(new Date(),Calendar.MONTH));break;
+ default:
+
+ Date parse = sdf.parse(periodType + "");
+ Calendar instance = Calendar.getInstance();
+ instance.setTime(parse);
+ instance.set(Calendar.DAY_OF_MONTH, 1);
+ beginDate = sdf2.format(instance.getTime()) +" 00:00:00";
+
+ instance.set(Calendar.DAY_OF_MONTH,instance.getActualMaximum(Calendar.DAY_OF_MONTH));;
+ endDate = sdf2.format(instance.getTime()) +" 23:59:59";
+
+ //1月
}
- Map params = ImmutableMap.of("containerId",selectedContainerId,"beginUpdateTime", beginDate,"orderby","update_time asc");
- chartSensorsList = sysContainerSensorsService.getListBySelective(params);
+
+
+ if (endDate != null) {
+ Map params = ImmutableMap.of("containerId",selectedContainerId,"beginUpdateTime", beginDate,"endUpdateTime", endDate,"orderby","update_time asc");
+ chartSensorsList = sysContainerSensorsService.getListBySelective(params);
+ }else{
+ Map params = ImmutableMap.of("containerId",selectedContainerId,"beginUpdateTime", beginDate,"orderby","update_time asc");
+ chartSensorsList = sysContainerSensorsService.getListBySelective(params);
+ }
+
+ temperatureMap = sysContainerSensorsService.selectMaxTemperature(selectedContainerId, beginDate, endDate);
+ humidityMap = sysContainerSensorsService.selectMaxHumidity(selectedContainerId,beginDate,endDate);
+ vocMap = sysContainerSensorsService.selectMaxVoc(selectedContainerId, beginDate, endDate);
+
+// this.maxHumidity = sysContainerSensorsService.selectMaxHumidity(selectedContainerId,beginDate,endDate);
+// this.maxVoc = sysContainerSensorsService.selectMaxVoc(selectedContainerId,beginDate,endDate);
}
public void renderLineChart() {
@@ -273,9 +326,10 @@
if (periodType == 2) {
xAxis.setTickFormat("%m-%d");
}
- if (periodType == 3) {
+ if (periodType >= 3) {
xAxis.setTickFormat("%m-%d");
}
+ xAxis.setTickAngle(-50);
// axis.setMax(DateFormatUtils.format(new Date(),"yyyy-MM-dd HH:mm"));
// axis.setMin(minDate);
// axis.setTickFormat("%Y-%m-%d %H:%M");
@@ -288,6 +342,8 @@
// yAxis.setMax(10);
}
+
+
public List<SysContainerSensors> getChartSensorsList() {
return chartSensorsList;
}
@@ -295,4 +351,37 @@
public void setChartSensorsList(List<SysContainerSensors> chartSensorsList) {
this.chartSensorsList = chartSensorsList;
}
+
+
+ public List<SelectItemModel> getDateRangeList() {
+ return dateRangeList;
+ }
+
+ public void setDateRangeList(List<SelectItemModel> dateRangeList) {
+ this.dateRangeList = dateRangeList;
+ }
+
+ public Map<String, BigDecimal> getTemperatureMap() {
+ return temperatureMap;
+ }
+
+ public void setTemperatureMap(Map<String, BigDecimal> temperatureMap) {
+ this.temperatureMap = temperatureMap;
+ }
+
+ public Map<String, BigDecimal> getHumidityMap() {
+ return humidityMap;
+ }
+
+ public void setHumidityMap(Map<String, BigDecimal> humidityMap) {
+ this.humidityMap = humidityMap;
+ }
+
+ public Map<String, BigDecimal> getVocMap() {
+ return vocMap;
+ }
+
+ public void setVocMap(Map<String, BigDecimal> vocMap) {
+ this.vocMap = vocMap;
+ }
}
--
Gitblit v1.9.2