From b6576a4db959d2551e343a8bb0045aa67387aacc Mon Sep 17 00:00:00 2001
From: lyfO_o <764716047@qq.com>
Date: Mon, 28 Feb 2022 13:12:44 +0800
Subject: [PATCH] 库房状态管理
---
src/main/java/com/nanometer/smartlab/controller/WarehouseStatusController.java | 77 +++++++++++++++
src/main/java/com/nanometer/smartlab/service/SysWarehouseStatusService.java | 10 ++
src/main/webapp/WEB-INF/spring-menu.xml | 8 +
src/main/java/com/nanometer/smartlab/service/SysWarehouseStatusServiceImpl.java | 31 ++++++
src/main/java/com/nanometer/smartlab/dao/SysWarehouseStatusDao.java | 10 ++
src/main/java/com/nanometer/smartlab/dao/SysWarehouseStatusDao.xml | 50 ++++++++++
src/main/webapp/warehouse_status_mng.xhtml | 82 ++++++++++++++++
7 files changed, 267 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/nanometer/smartlab/controller/WarehouseStatusController.java b/src/main/java/com/nanometer/smartlab/controller/WarehouseStatusController.java
new file mode 100644
index 0000000..e1b1c9a
--- /dev/null
+++ b/src/main/java/com/nanometer/smartlab/controller/WarehouseStatusController.java
@@ -0,0 +1,77 @@
+package com.nanometer.smartlab.controller;
+
+
+import com.nanometer.smartlab.entity.SysWarehouse;
+import com.nanometer.smartlab.entity.SysWarehouseStatus;
+import com.nanometer.smartlab.service.SysWarehouseService;
+import com.nanometer.smartlab.service.SysWarehouseStatusService;
+import org.primefaces.model.LazyDataModel;
+import org.primefaces.model.SortOrder;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Scope;
+import org.springframework.stereotype.Controller;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+@Controller
+@Scope("session")
+public class WarehouseStatusController extends BaseController{
+
+
+ private LazyDataModel<SysWarehouseStatus> dataModel;
+
+ @Resource
+ private SysWarehouseStatusService sysWarehouseStatusService;
+
+ private String name;
+ private Date startTime;
+ private Date endTime;
+
+ public LazyDataModel<SysWarehouseStatus> getDataModel() {
+ if (this.dataModel == null) {
+ this.dataModel = new LazyDataModel<SysWarehouseStatus>() {
+ @Override
+ public List<SysWarehouseStatus> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) {
+ int count = sysWarehouseStatusService.getCount(name, startTime, endTime);
+ this.setRowCount(count);
+ return count != 0 ? sysWarehouseStatusService.selectList(name, startTime, endTime, first, pageSize) : new ArrayList<>();
+ }
+
+ @Override
+ public SysWarehouseStatus getRowData(String rowKey) {
+ return sysWarehouseStatusService.getById(rowKey);
+ }
+ };
+ }
+ return dataModel;
+ }
+
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Date getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(Date startTime) {
+ this.startTime = startTime;
+ }
+
+ public Date getEndTime() {
+ return endTime;
+ }
+
+ public void setEndTime(Date endTime) {
+ this.endTime = endTime;
+ }
+}
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysWarehouseStatusDao.java b/src/main/java/com/nanometer/smartlab/dao/SysWarehouseStatusDao.java
index e0a26a3..b62681e 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysWarehouseStatusDao.java
+++ b/src/main/java/com/nanometer/smartlab/dao/SysWarehouseStatusDao.java
@@ -2,8 +2,18 @@
import com.nanometer.smartlab.entity.SysWarehouse;
import com.nanometer.smartlab.entity.SysWarehouseStatus;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Map;
+import java.util.List;
public interface SysWarehouseStatusDao {
int insertOne(SysWarehouseStatus one);
+
+ int selectCount(@Param("params") Map<String, Object> params);
+
+ List<SysWarehouseStatus> selectList(@Param("params") Map<String, Object> params);
+
+ SysWarehouseStatus selectById(String id);
}
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysWarehouseStatusDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysWarehouseStatusDao.xml
index 099ff6c..e851ad8 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysWarehouseStatusDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/SysWarehouseStatusDao.xml
@@ -2,6 +2,17 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nanometer.smartlab.dao.SysWarehouseStatusDao">
<resultMap id="BaseMap" type="com.nanometer.smartlab.entity.SysWarehouseStatus">
+ <id property="id" column="id"/>
+ <result property="name" column="name" />
+ <result property="type" column="type"/>
+ <result property="temperature" column="temperature"/>
+ <result property="humidity" column="humidity"/>
+ <result property="creator" column="creator"/>
+ <result property="createTime" column="create_time"/>
+ <result property="validFlag" column="valid_flag"/>
+ <result property="warehouseId" column="warehouse_id"/>
+ <result property="warning" column="warning"/>
+ <result property="selectDate" column="select_date"/>
</resultMap>
<insert id="insertOne" parameterType="com.nanometer.smartlab.entity.SysWarehouseStatus">
@@ -10,5 +21,44 @@
values
(#{type},#{name},#{temperature},#{humidity},#{creator},#{createTime},1,#{warehouseId},#{selectDate},#{warning})
</insert>
+ <select id="selectCount" resultType="java.lang.Integer">
+ select count(0)
+ from sys_warehouse_status
+ <where>
+ <if test="params.name != null and params.name != ''">
+ name = #{params.name}
+ </if>
+ <if test="params.startTime != null and params.startTime != ''">
+ and select_date >= #{params.startTime}
+ </if>
+ <if test="params.endTime != null and params.endTime != ''">
+ and select_date <= #{params.endTime}
+ </if>
+ </where>
+ </select>
+
+ <select id="selectList" resultMap="BaseMap">
+ select *
+ from sys_warehouse_status
+ <where>
+ <if test="params.name != null and params.name != ''">
+ and name = #{params.name}
+ </if>
+ <if test="params.startTime != null and params.startTime != ''">
+ and select_date >= #{params.startTime}
+ </if>
+ <if test="params.endTime != null and params.endTime != ''">
+ and select_date <= #{params.endTime}
+ </if>
+ </where>
+ <if test="params.first != null and params.pageSize != null">
+ limit #{params.first},#{params.pageSize}
+ </if>
+ </select>
+ <select id="selectById" resultType="com.nanometer.smartlab.entity.SysWarehouseStatus">
+ select *
+ from sys_warehouse_status
+ where id = #{id}
+ </select>
</mapper>
diff --git a/src/main/java/com/nanometer/smartlab/service/SysWarehouseStatusService.java b/src/main/java/com/nanometer/smartlab/service/SysWarehouseStatusService.java
index a3d56e3..caa589b 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysWarehouseStatusService.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysWarehouseStatusService.java
@@ -1,8 +1,18 @@
package com.nanometer.smartlab.service;
+import com.nanometer.smartlab.entity.SysWarehouse;
import com.nanometer.smartlab.entity.SysWarehouseStatus;
+
+import java.util.Date;
+import java.util.List;
public interface SysWarehouseStatusService {
void addOne(SysWarehouseStatus one);
+
+ int getCount(String name, Date startTime, Date endTime);
+
+ List<SysWarehouseStatus> selectList(String name, Date startTime, Date endTime, int first, int pageSize);
+
+ SysWarehouseStatus getById(String rowKey);
}
diff --git a/src/main/java/com/nanometer/smartlab/service/SysWarehouseStatusServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysWarehouseStatusServiceImpl.java
index 0479715..0d1db46 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysWarehouseStatusServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysWarehouseStatusServiceImpl.java
@@ -11,8 +11,12 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
-@Service
+@Service("sysWarehouseStatusService")
public class SysWarehouseStatusServiceImpl implements SysWarehouseStatusService {
@Resource
@@ -64,4 +68,29 @@
one.setWarning(warningSb.toString());
sysWarehouseStatusDao.insertOne(one);
}
+
+ @Override
+ public int getCount(String name, Date startTime, Date endTime) {
+ Map<String,Object> params = new HashMap<>();
+ params.put("name", name);
+ params.put("startTime", startTime);
+ params.put("endTime", endTime);
+ return sysWarehouseStatusDao.selectCount(params);
+ }
+
+ @Override
+ public List<SysWarehouseStatus> selectList(String name, Date startTime, Date endTime, int first, int pageSize) {
+ Map<String,Object> params = new HashMap<>();
+ params.put("name", name);
+ params.put("startTime", startTime);
+ params.put("endTime", endTime);
+ params.put("first", first);
+ params.put("pageSize", pageSize);
+ return sysWarehouseStatusDao.selectList(params);
+ }
+
+ @Override
+ public SysWarehouseStatus getById(String rowKey) {
+ return sysWarehouseStatusDao.selectById(rowKey);
+ }
}
diff --git a/src/main/webapp/WEB-INF/spring-menu.xml b/src/main/webapp/WEB-INF/spring-menu.xml
index b6b5713..590a754 100644
--- a/src/main/webapp/WEB-INF/spring-menu.xml
+++ b/src/main/webapp/WEB-INF/spring-menu.xml
@@ -102,6 +102,14 @@
<property name="privilegeCode" value="container_status_mng"></property>
<property name="initMethod" value="initPage"></property>
</bean>
+
+ <bean class="com.nanometer.smartlab.model.MenuModel">
+ <property name="id" value="warehouse_status_mng"></property>
+ <property name="title" value="库房状态管理"></property>
+ <property name="page" value="warehouse_status_mng"></property>
+ <property name="privilegeCode" value="warehouse_status_mng"></property>
+ <property name="initMethod" value="initPage"></property>
+ </bean>
<bean class="com.nanometer.smartlab.model.MenuModel">
<property name="id" value="laboratory_store"></property>
<property name="dispInMenuList" value="false"></property>
diff --git a/src/main/webapp/warehouse_status_mng.xhtml b/src/main/webapp/warehouse_status_mng.xhtml
new file mode 100644
index 0000000..ff49470
--- /dev/null
+++ b/src/main/webapp/warehouse_status_mng.xhtml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:p="http://primefaces.org/ui"
+ xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:c="http://java.sun.com/jsp/jstl/core">
+<ui:composition>
+ <h:form id="warehouseStatusMngForm">
+ <p:panel styleClass="center-header">
+ <p:outputLabel styleClass="title" value="仓库状态管理"/>
+ <p:panelGrid styleClass="filter" columns="7">
+
+ <p:outputLabel value="仓库名:"/>
+ <p:selectOneMenu value="#{warehouseStatusController.name}">
+ <f:selectItem itemLabel="全部" itemValue="#{null}" noSelectionOption="true"/>
+ <f:selectItems value="#{sysWarehouseService.getSysWarehouseList(null,null,null,null)}"
+ var="item" itemLabel="#{item.name}" itemValue="#{item.name}"/>
+ </p:selectOneMenu>
+
+ <p:outputLabel for="startTime" value="开始时间:" />
+ <p:calendar id="startTime" value="#{warehouseStatusController.startTime}"
+ pattern="yyyy-MM-dd HH:mm:ss" locale="zh_CN"/>
+
+ <p:outputLabel for="endTime" value="结束时间:" />
+ <p:calendar id="endTime" value="#{warehouseStatusController.endTime}"
+ pattern="yyyy-MM-dd HH:mm:ss" locale="zh_CN"/>
+
+ <p:commandLink styleClass="search" process="@form" update="@form"/>
+ </p:panelGrid>
+ </p:panel>
+ <style type="text/css">
+ .warning{color:red}
+ </style>
+ <p:panel styleClass="center-body">
+
+ <p:dataTable id="warehouseStatusMngDataTable" styleClass="data-table"
+ paginator="true" paginatorAlwaysVisible="false" paginatorPosition="bottom"
+ lazy="true" value="#{warehouseStatusController.dataModel}" var="row"
+ rowKey="#{row.id}" emptyMessage="无数据"
+ rows="20" pageLinks="5">
+
+
+ <p:column headerText="仓库类型" style="text-align: center;" styleClass="#{row.warning == null?'warning':''}">
+ <h:outputText value="#{row.type}"/>
+ </p:column>
+
+ <p:column headerText="仓库名" style="text-align: center" styleClass="#{row.warning == null?'warning':''}">
+ <h:outputText value="#{row.name}" />
+ </p:column>
+
+ <p:column headerText="温度" style="text-align: center" styleClass="#{row.warning == null?'warning':''}">
+ <h:outputText
+ value="#{row.temperature}" />
+ </p:column>
+
+ <p:column headerText="湿度" style="text-align: center" styleClass="#{row.warning == null?'warning':''}">
+ <h:outputText
+ value="#{row.humidity}"/>
+ </p:column>
+
+ <p:column headerText="提交人" style="text-align: center" styleClass="#{row.warning == null?'warning':''}">
+ <h:outputText
+ value="#{row.creator}"/>
+ </p:column>
+
+ <p:column headerText="日期" style="text-align: center" styleClass="#{row.warning == null?'warning':''}">
+ <h:outputText
+ value="#{row.selectDate}">
+ <f:convertDateTime pattern="yyyy-M-d HH:mm:ss" /></h:outputText>
+ </p:column>
+
+
+
+
+ </p:dataTable>
+ </p:panel>
+ </h:form>
+</ui:composition>
+</html>
--
Gitblit v1.9.2