From 3ae57f026d9199f587fd25160e98d19572a30541 Mon Sep 17 00:00:00 2001 From: lyfO_o <764716047@qq.com> Date: 星期三, 30 三月 2022 16:53:33 +0800 Subject: [PATCH] 1.柜子温湿浓度最大小值 2.新增柜子搜索当年月份 --- src/main/java/com/nanometer/smartlab/controller/ContainerStatusMngController.java | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 100 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/controller/ContainerStatusMngController.java b/src/main/java/com/nanometer/smartlab/controller/ContainerStatusMngController.java index 4361ea5..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() { @@ -108,7 +135,7 @@ return dataModel; } - public void onViewBtnClick() { + public void onViewBtnClick() throws ParseException { if (this.selectContainerList == null || this.selectContainerList.size() == 0) { FacesUtils.warn("请选择数据。"); @@ -207,12 +234,12 @@ renderLineChart(); } - public void onSelectPeriodType(){ + public void onSelectPeriodType() throws ParseException { fetchChartSensorsList(); renderLineChart(); } - public void onSelectContainer(){ + public void onSelectContainer() throws ParseException { fetchChartSensorsList(); renderLineChart(); } @@ -225,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() { @@ -274,7 +326,7 @@ if (periodType == 2) { xAxis.setTickFormat("%m-%d"); } - if (periodType == 3) { + if (periodType >= 3) { xAxis.setTickFormat("%m-%d"); } xAxis.setTickAngle(-50); @@ -290,6 +342,8 @@ // yAxis.setMax(10); } + + public List<SysContainerSensors> getChartSensorsList() { return chartSensorsList; } @@ -297,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