From 25eca015c9edb5a8ab3fd9d68a8fd785619c1372 Mon Sep 17 00:00:00 2001 From: lyfO_o <764716047@qq.com> Date: 星期一, 28 二月 2022 11:24:48 +0800 Subject: [PATCH] 仓库状态温湿度阈值警报字段 --- src/main/java/com/nanometer/smartlab/service/SysWarehouseStatusServiceImpl.java | 40 +++++++++++++++++++ src/main/java/com/nanometer/smartlab/dao/SysWarehouseStatusDao.xml | 4 +- src/main/java/com/nanometer/smartlab/entity/SysWarehouseStatus.java | 10 +++++ src/main/webapp/warehouse_mng.xhtml | 42 ++++++++++++++++++++ 4 files changed, 92 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/dao/SysWarehouseStatusDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysWarehouseStatusDao.xml index 0fd4f51..099ff6c 100644 --- a/src/main/java/com/nanometer/smartlab/dao/SysWarehouseStatusDao.xml +++ b/src/main/java/com/nanometer/smartlab/dao/SysWarehouseStatusDao.xml @@ -6,9 +6,9 @@ <insert id="insertOne" parameterType="com.nanometer.smartlab.entity.SysWarehouseStatus"> insert into sys_warehouse_status - (type,name,temperature,humidity,creator,create_time,valid_flag,warehouse_id,select_date) + (type,name,temperature,humidity,creator,create_time,valid_flag,warehouse_id,select_date,warning) values - (#{type},#{name},#{temperature},#{humidity},#{creator},#{createTime},1,#{warehouseId},#{selectDate}) + (#{type},#{name},#{temperature},#{humidity},#{creator},#{createTime},1,#{warehouseId},#{selectDate},#{warning}) </insert> </mapper> diff --git a/src/main/java/com/nanometer/smartlab/entity/SysWarehouseStatus.java b/src/main/java/com/nanometer/smartlab/entity/SysWarehouseStatus.java index 3bbfef9..b3dd167 100644 --- a/src/main/java/com/nanometer/smartlab/entity/SysWarehouseStatus.java +++ b/src/main/java/com/nanometer/smartlab/entity/SysWarehouseStatus.java @@ -27,6 +27,8 @@ private String warehouseId; + private String warning; + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") private Date selectDate; @@ -109,4 +111,12 @@ public void setSelectDate(Date selectDate) { this.selectDate = selectDate; } + + public String getWarning() { + return warning; + } + + public void setWarning(String warning) { + this.warning = warning; + } } diff --git a/src/main/java/com/nanometer/smartlab/service/SysWarehouseStatusServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysWarehouseStatusServiceImpl.java index 6fe341b..0479715 100644 --- a/src/main/java/com/nanometer/smartlab/service/SysWarehouseStatusServiceImpl.java +++ b/src/main/java/com/nanometer/smartlab/service/SysWarehouseStatusServiceImpl.java @@ -1,6 +1,7 @@ package com.nanometer.smartlab.service; import com.nanometer.smartlab.dao.SysWarehouseStatusDao; +import com.nanometer.smartlab.entity.SysWarehouse; import com.nanometer.smartlab.entity.SysWarehouseStatus; import com.nanometer.smartlab.exception.BusinessException; import com.nanometer.smartlab.exception.ExceptionEnumCode; @@ -9,21 +10,58 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.math.BigDecimal; @Service public class SysWarehouseStatusServiceImpl implements SysWarehouseStatusService { @Resource private SysWarehouseStatusDao sysWarehouseStatusDao; + @Resource + private SysWarehouseService sysWarehouseService; @Override public void addOne(SysWarehouseStatus one) { - if (one.getTemperature() == null || one.getHumidity() == null || one.getSelectDate() == null) { + if (one.getTemperature() == null || one.getHumidity() == null || one.getSelectDate() == null ||one.getWarehouseId() == null) { throw new BusinessException(ExceptionEnumCode.PARAM_NULL, "参数不能为空"); } if (StringUtils.isBlank(one.getName()) || StringUtils.isBlank(one.getType())) { throw new BusinessException(ExceptionEnumCode.PARAM_NULL, "字符不能为空"); } + SysWarehouse sysWarehouse = sysWarehouseService.getSysWarehouse(one.getWarehouseId()); + if (sysWarehouse == null) { + throw new BusinessException(ExceptionEnumCode.PARAM_NULL, "查询不到仓库"); + } + //温度 + BigDecimal temperatureMax = sysWarehouse.getTemperatureMax(); + BigDecimal temperatureMin = sysWarehouse.getTemperatureMin(); + if (temperatureMax == null || temperatureMin == null) { + throw new BusinessException(ExceptionEnumCode.PARAM_NULL, "仓库未设置温度阈值"); + } + //湿度 + BigDecimal humidityMax = sysWarehouse.getHumidityMax(); + BigDecimal humidityMin = sysWarehouse.getHumidityMin(); + if (humidityMax == null || humidityMin == null) { + throw new BusinessException(ExceptionEnumCode.PARAM_NULL, "仓库未设置湿度阈值"); + } + + BigDecimal temperature = one.getTemperature(); + BigDecimal humidity = one.getHumidity(); + StringBuffer warningSb = new StringBuffer(); + if (temperature.compareTo(temperatureMin) < 0) { + warningSb.append("温度小于仓库设置最小值;"); + } + if (temperature.compareTo(temperatureMax) > 0) { + warningSb.append("温度超过仓库设置最大值;"); + } + if (humidity.compareTo(humidityMin) < 0) { + warningSb.append("湿度小于仓库设置最小值;"); + } + if (humidity.compareTo(humidityMax) > 0) { + warningSb.append("湿度大于仓库设置最大值;"); + } + + one.setWarning(warningSb.toString()); sysWarehouseStatusDao.insertOne(one); } } diff --git a/src/main/webapp/warehouse_mng.xhtml b/src/main/webapp/warehouse_mng.xhtml index 391df19..c8c96c7 100644 --- a/src/main/webapp/warehouse_mng.xhtml +++ b/src/main/webapp/warehouse_mng.xhtml @@ -68,6 +68,26 @@ value="#{'楼号:'.concat(row.location1).concat(' - 地址号:'.concat(row.location2))}"></h:outputText> </p:column> + <p:column headerText="温度最大值" width="50"> + <h:outputText + value="#{row.temperatureMax}"></h:outputText> + </p:column> + + <p:column headerText="温度最小值" width="50"> + <h:outputText + value="#{row.temperatureMin}"></h:outputText> + </p:column> + + <p:column headerText="湿度最大值" width="50"> + <h:outputText + value="#{row.humidityMax}"></h:outputText> + </p:column> + + <p:column headerText="湿度最小值" width="50"> + <h:outputText + value="#{row.humidityMin}"></h:outputText> + </p:column> + <p:column headerText="负责部门"> <h:outputText value="#{baseMetaService.getBaseMetaValue(row.department)}"/> </p:column> @@ -115,6 +135,26 @@ <f:selectItems value="#{baseMetaService.getBaseMetaList(constants.BASE_META_GROUP_USER_DEPARTMENT)}" var="item" itemLabel="#{item.metaValue}" itemValue="#{item.id}"></f:selectItems> </p:selectOneMenu> + + <p:outputLabel value="温度最大值"></p:outputLabel> + <p:inputNumber value="#{warehouseMngController.sysWarehouse.temperatureMax}" + modifyValueOnWheel="false" + decimalPlaces="4"/> + + <p:outputLabel value="温度最小值"></p:outputLabel> + <p:inputNumber value="#{warehouseMngController.sysWarehouse.temperatureMin}" + modifyValueOnWheel="false" + decimalPlaces="4"/> + + <p:outputLabel value="湿度最大值"></p:outputLabel> + <p:inputNumber value="#{warehouseMngController.sysWarehouse.humidityMax}" + modifyValueOnWheel="false" + decimalPlaces="4"/> + + <p:outputLabel value="湿度最大值"></p:outputLabel> + <p:inputNumber value="#{warehouseMngController.sysWarehouse.humidityMin}" + modifyValueOnWheel="false" + decimalPlaces="4"/> </p:panelGrid> <p:panel styleClass="btn"> <p:commandButton value="保存" @@ -126,4 +166,4 @@ </h:form> </p:dialog> </ui:composition> -</html> \ No newline at end of file +</html> -- Gitblit v1.9.2