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