JAVAweb健康管理系统

今天星期天将以前开发的项目整理一下,希望跟大家一起共同学习

在前台的功能实现上,可以分为以下几个部分:
1.教师饮食管理:根据教师的相关信息,计算其每天所需热量,给出一周的推荐菜单。
2.教师健康日志:用户可以记录自己健康日记,记录每一天的睡眠,饮酒,吸烟,血压,体重等情况。
3.教师体检管理:教师可通过该平台查询每次的体检结果,显示部分项目随时间变化的曲线。
4.疾病预测评估:针对糖尿病和高血压两种疾病,利用数学线性回归的方法,模拟计算出教师患病概率。

代码已经上传github,下载地址:https://github.com/21503882/community-manage
2.2.2 后台功能
后台主要有四个功能:
1.管理员用户登录功能:通过编号登录系统。
2.管理员管理教师功能:可以增删改查教师基本信息。
3.管理员管理体检结果:可以增删改查教师体检记录。
4.管理员管理健康新闻:可以发布或删除新闻。

JAVAweb健康管理系统

JAVAweb健康管理系统

JAVAweb健康管理系统

JAVAweb健康管理系统

JAVAweb健康管理系统

JAVAweb健康管理系统

 

 


import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;

import org.apache.poi.hssf.usermodel.HSSFDateUtil;

import cn.itbaizhan.health.action.base.ExamBaseAction;
import cn.itbaizhan.health.po.Exam;
import cn.itbaizhan.health.po.Teacher;
import cn.itbaizhan.health.service.impl.TeacherServiceImpl;
import cn.itbaizhan.health.util.ExcelFinalString;
import cn.itbaizhan.health.util.ExcelReader;
import cn.itbaizhan.health.vo.Highcharts;
import cn.itbaizhan.health.vo.Pages;

import com.opensymphony.xwork2.ActionContext;

public class ExamAction extends ExamBaseAction {
 ActionContext actionContext = ActionContext.getContext();
 Map<String, Object> session = actionContext.getSession();
 Teacher sessionTeacher = (Teacher) session.get("teacher");

 public String find() {
  try {
   examList = examService.find(sessionTeacher);
   return SUCCESS;
  } catch (Exception e) {
   e.printStackTrace();
  }
  return "error";
 }

 public String show() {

  try {
   List<Exam> examList = examService.find(sessionTeacher);
   List<String> xdataList = new ArrayList<String>();
   List<Highcharts> ydataList = new ArrayList<Highcharts>();
   List<Double> bpHighList = new ArrayList<Double>();
   List<Double> bpLowList = new ArrayList<Double>();

   Highcharts highchart1 = new Highcharts();
   Highcharts highchart2 = new Highcharts();

   SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时");
   String date = "";

   for (Exam e : examList) {
    bpHighList.add(Double.parseDouble(e.getSbp()));
    bpLowList.add(Double.parseDouble(e.getDbp()));
    date = sdf.format(e.getDatetime());
    xdataList.add(date);
   }

   highchart1.setName("舒张压");
   highchart1.setData(bpHighList);

   highchart2.setName("收缩压");
   highchart2.setData(bpLowList);

   ydataList.add(highchart1);
   ydataList.add(highchart2);

   jsonData.add(xdataList);
   jsonData.add(ydataList);

  } catch (Exception e) {
   e.printStackTrace();
  }
  return SUCCESS;
 }

 public String examBackFindAll() {
  try {
   if (pages == null) {
    pages = new Pages();
   }
   if (pages.getPageSize() == null) {
    pages.setPageSize(10);
   }
   pages = pageService.findAll(pages, "Exam", "datetime");
   return SUCCESS;
  } catch (Exception e) {
   e.printStackTrace();
  }
  return "error";
 }

 public String examDelete() {
  try {
   boolean flag = examService.delete(id);
   if (flag) {
    return SUCCESS;
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
  errorMessage = "教师体检信息删除失败!";
  return "error";
 }

 public String examSave() {
  try {
   ExcelReader excel = new ExcelReader();
   List<String[]> list = excel.getExcle(getFilePath().toString());
   boolean flag;
   String[] temp;
   for (int i = 0; i < list.size(); i++) {
    flag = false;
    temp = list.get(i);
    Exam exam = new Exam();
     Date date = HSSFDateUtil.getJavaDate(Double.parseDouble(temp[ExcelFinalString.DATE]));
    exam.setDatetime(date);
    exam.setSbp(temp[ExcelFinalString.SBP]);
    exam.setDbp(temp[ExcelFinalString.DBP]);
    exam.setBmi(temp[ExcelFinalString.BMI]);
    exam.setWhr(temp[ExcelFinalString.WHR]);
    exam.setBun(temp[ExcelFinalString.BUN]);
    exam.setUa(temp[ExcelFinalString.UA]);
    exam.setCrea(temp[ExcelFinalString.CREA]);
    exam.setTg(temp[ExcelFinalString.TG]);
    exam.setChol(temp[ExcelFinalString.CHOL]);
    exam.setHdl(temp[ExcelFinalString.HDL]);
    exam.setLdl(temp[ExcelFinalString.LDL]);
    exam.setGlu(temp[ExcelFinalString.GLU]);
    exam.setHcy(temp[ExcelFinalString.HCY]);
    exam.setM_alb(temp[ExcelFinalString.M_ALB]);
    exam.setM_alb_crea(temp[ExcelFinalString.M_ALB_CREA]);
       Teacher teacher = teacherService.find(temp[ExcelFinalString.TEACHER_REALNAME]);
    exam.setTeacher(teacher);
    flag = examService.save(exam);
    if (!flag) {
     errorMessage = "第" + (i + 1) + "条记录入库失败";
     return "error";
    }
   }
   return SUCCESS;
  } catch (Exception e) {
   e.printStackTrace();
  }
  errorMessage = "体检表入库失败";
  return "error";
 }

}


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ include file="/header.jsp"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <title>教师饮食管理</title>
  
  <script type="text/javascript" src="${url}/dwr/engine.js"></script>
  <script type="text/javascript" src="${url}/dwr/util.js"></script>
  <script type="text/javascript" src="${url}/dwr/interface/foodheat.js">
</script>
  <script type="text/javascript">
$(document).ready(function() {
 $("#sum").click(function() {
  DWRUtil.useLoadingMessage("正在计算...");
  var formMap = DWRUtil.getValues("heatform");
  foodheat.heatCalculate(formMap, heat);
  foodheat.showFoods(setTable);
 });
 var heat = function(value) {
  $("#heat").html("您的当前目标热量值为 :" + value + "(千卡)");
  $("#xia").css('display','block');
 }
 var setTable = function(foodlist) {
  if (typeof window['DWRUtil'] == 'undefined')
   window.DWRUtil = dwr.util;
  $("#foodtable").html("");
  var i=1;
   DWRUtil.addRows("foodtable", foodlist, [
    function(item) {
     switch(i++){
     case 1:return "周一";break;
     case 2:return "周二";break;
     case 3:return "周三";break;
     case 4:return "周四";break;
     case 5:return "周五";break;
     case 6:return "周六";break;
     case 7:return "周日";break;
     } 
     },
    function(item) {return item[0].name},
    function(item) {return item[1].name},
    function(item) {return item[2].name},
    function(item) {return item[3].name},
    function(item) {return item[4].name},
    function(item) {return item[5].name},
    function(item) {return item[6].name},
    function(item) {return item[7].name},
    function(item) {return item[8].name},
    function(item) {return item[9].name},
    function(item) {return item[10].name},
    function(item) {return item[11].name},
   ], {
    rowCreator:function(options) { //自定义 tr 的创建行为
      var row = document.createElement("tr");
      row.style.backgroundColor = "rgb(" + (options.rowIndex * 50) + ",80,140)";
      return row;
    },
    cellCreator:function(options) { //自定义 td 的创建行为
      var td = document.createElement("td");
      td.style.fontWeight = "bold";
      td.style.height = "25px";
      return td;
    }
   });
  

 }
});
</script>
 </head>
 <body>
  <div id="main">
   <div id="header">
    <div id="top">
     <div style="padding-top: 143px">
      <div id="menu11" class="menu11">
       <ul>

        <li>
         <a href="${url}/notice/show!show">主页</a>
        </li>
        <li>
         <a href="${url}/exam/find!find">教师体检管理</a>
        </li>
        <li>
         <a href="${url}/sick.jsp">疾病精确评估</a>
        </li>
        <li id="selected">
         教师饮食管理
        </li>
        <li>
         <a href="${url}/dairy/find!find?day=${date}">教师健康日志</a>
        </li>

       </ul>
      </div>
     </div>
    </div>
    <br />
    <div id="locate">
     &nbsp;&nbsp;当前位置>>首页>>教师饮食管理
    </div>
   </div>
   <div id="content">
    <div id="shang" style="padding-top: 70px">
     <form id="heatform" action="" method="post">
      <table border="0" width="500" align="left">
       <tr>
        <th colspan="2">
         <font size=3px; color==#A4A4A4;float:left>配餐设置</font>
        </th>
       </tr>
       <tr>
        <td>
         体重:
        </td>
        <td>
         <input type="text" name="weight" id="weight" size="3px">
         公斤
        </td>
       </tr>
       <tr>
        <td>
         性别:
        </td>
        <td>
         <input type="radio" name="sex" value="0" checked>
         男
         <input type="radio" name="sex" value="1">
         女
        </td>

       </tr>

       <tr>
        <td>
         年龄:
        </td>
        <td>
         <input type="radio" name="agegroup" value="1" checked>
         18-30岁
         <input type="radio" name="agegroup" value="2">
         31-60岁
         <input type="radio" name="agegroup" value="3">
         60岁以上
        </td>
       </tr>
       <tr>
        <td>
         体力活动水平:
        </td>
        <td>
         <input type="radio" name="coefficient" value="1">
         极--轻卧床全天
         <input type="radio" name="coefficient" value="2" checked>
         轻--轻活动生活模式(多坐或缓步)
         <input type="radio" name="coefficient" value="3">
         重--一般活动度
         <input type="radio" name="coefficient" value="4">
         极重--活动量大的生活模式
        </td>
       </tr>
       <tr>
        <td colspan="2" align="center">
         <input type="button" id="sum" value="计算">
        </td>

       </tr>
       <tr>
        <td colspan="2">
         <div id="heat"></div>
        </td>
       </tr>

      </table>
     </form>
     <img src="images/q.jpg" border="0" width="310" height="210" />
    </div>

    <div id="xia" style="display: none;">
     <table border=1 width="800" align="center" cellspacing="0"
      cellpadding="0" bgcolor="#cccccc">
      <caption>
       <h1>
        推荐配餐
       </h1>
      </caption>


      <tr bgcolor="#aaa">
       <th width="10%;" height="30px;">
        时间
       </th>
       <th colspan="4" width="30%;">
        早餐
       </th>
       <th colspan="4" width="30%;">
        午餐
       </th>
       <th colspan="4" width="30%;">
        晚餐
       </th>
      </tr>
      <tbody id="foodtable"></tbody>
     </table>
    </div>
   </div>

   <div id="footer">
    <div id="copyright">
     <div id="copy">
      <p>
       <font size=3px; color=#666666;> CopyRight&copy; 北京交通大学</font>
      </p>

     </div>
    </div>
    <div id="bgbottom"></div>
   </div>

  </div>

 </body>
</html>