在糖尿病患者信息管理系统中,导入病人信息功能!

在糖尿病患者信息管理系统中,导入病人信息功能!form表单提交数据(Excel文件),在后台得不到file文件,解决方法:

private File filePath; //文件

private String fileName; //文件名

private String fileType; //文件类型

注:上面filePath必须有,否则下面得到filePath为空!

/**

* 导入病人信息,并且插入用户信息

*/

public String importPatient() throws Exception {

if (filePath != null) {

FileInputStream fis = new FileInputStream(filePath);

Workbook readWb = Workbook.getWorkbook(fis);

// 得到sheet

Sheet readSheet = readWb.getSheet(0);

// 得到多少列

int rsColumns = readSheet.getColumns();

// 得到多少行

int rsRows = readSheet.getRows();

// 单元格

Cell cell;

// 实例化病人对象

Patient patient = new Patient();

SysUser sysUser = new SysUser();

Map<Integer, String> map = new HashMap<Integer, String>();

for (int i = 1; i < rsRows; i++) {

for (int j = 0; j < rsColumns; j++) {

cell = readSheet.getCell(j, i);

map.put(j, cell.getContents());

}

UUID uuid = UUID.randomUUID();

String patientId = uuid.toString();

patient.setId(patientId);

//用户信息

sysUser.setId(uuid.toString());

sysUser.setUserName(map.get(5));

sysUser.setPassword(md5keyBean.getkeyBeanofStr("123456"));

sysUser.setNickName(map.get(1));

sysUser.setPhone(map.get(5));

//1:默认不锁定;0:锁定

sysUser.setStatus("1");

//角色id

List<SysRole> sysRoles = sysRoleService.findAllSysRoles();

if(sysRoles.size()>0) {

for (int j = 0; j < sysRoles.size(); j++) {

if("病人".equals(sysRoles.get(j).getName())) {

sysUser.setSysRole(sysRoles.get(j));

}

}

}

//病人id

sysUser.setFlagId(patientId);

sysUser.setCreateTime(new Date());

sysUserService.saveSysUser(sysUser);

patient.setNumber(map.get(0));

patient.setRealName(map.get(1));

patient.setAge(Integer.parseInt(map.get(2)));

// 性别:1男0女

if ("男".equals(map.get(3))) {

patient.setSex("1");

} else if ("女".equals(map.get(3))) {

patient.setSex("0");

} else {

patient.setSex("1");

}

patient.setNation(map.get(4));

patient.setPhone(map.get(5));

// 婚况:1:已婚 0:未婚

if ("已婚".equals(map.get(6))) {

patient.setStateMarriage("1");

} else if ("未婚".equals(map.get(6))) {

patient.setStateMarriage("0");

} else {

patient.setStateMarriage("1");

}

patient.setBirthAdress(map.get(7));

patient.setAddress(map.get(8));

patient.setOrganize(map.get(9));

patient.setNumberId(map.get(10));

// 患病类型

String diseaseType = map.get(11);

List<DiseaseType> diseaseTypes = diseaseTypeService

.findAllDiseaseTypes();

if (diseaseTypes.size() > 0) {

for (int j = 0; j < diseaseTypes.size(); j++) {

if (diseaseType.equals(diseaseTypes.get(j)

.getDiseaseType())) {

patient.setDiseaseTypeId(diseaseTypes.get(j)

.getId());

}

}

}

patientService.savePatient(patient);

}

}

return "listAction";

}

jsp代码:

<!-- 批量导入病人信息 -->

<form class="form-horizontal" method="post" action="${pageContext.request.contextPath}/sys/patientAction_importPatient.do" id="fileUpload" name="fileUpload" enctype="multipart/form-data">

<style type="text/css">

.file {

position: relative;

display: inline-block;

background: #78CD51;

border: 1px solid #99D3F5;

border-radius: 4px;

padding: 4px 12px;

color: #FFFFFF;

text-decoration: none;

text-indent: 0;

line-height: 25px;

}

.file input {

position: absolute;

width:120px;

right: 0;

top: 0;

opacity: 0;

}

.file:hover {

background: #78CD51;

border-color: #78C3F3;

color: #FFFFFF;

text-decoration: none;

}

</style>

<script type="text/javascript" language="javascript">

function submitFile() {

document.getElementById("fileUpload").submit();

}

</script>

<a href="javascript:;" class="file">批量导入病人信息

<input type="file" name="filePath" id="excelFile" onChange="submitFile()">

</a>

</form>

FileInputStream是InputStream的子类,不能直接转换,不过FileInputStream可当做InputStream来使用。

该批量导入和幼儿园管理系统导入不太一样!

时间: 2024-11-10 16:05:40

在糖尿病患者信息管理系统中,导入病人信息功能!的相关文章

学生信息管理系统中遇到的问题解析

项目概述:做一个简单的学生信息管理系统 要求:学生信息的增删查改,成绩的增删.自动生成的编号. 工具:微软企业库与MiniUI 遇到的问题与解决方法:(前面的博文也有类似的问题和解决方法,这里不再写冗余的文字了) 1 整体思路(数据的传输思路) 我从后台说起: 数据库获取数据(DataTable) --> (ArrayList)--->Hashtable--->[业务处理]--(JSON类)解析成json-->(mini.decode)-->js对象---(页面展示) 2 唯

如何在通用权限管理系统中集成log4net日志功能

开发人员都知道,在系统运行中要记录各种日志,自己写一个日志功能,无论是在效率还是功能扩展上来说都不是很好,目前大多用的是第三方的日志系统,其中一个非常有名,用的最多的就是log4net.下面是关于这个组件的介绍 ”Log4net是基于.net开发的一款非常著名的记录日志开源组件.最早是2001年7月由NeoWorks Limited启动的项目,基本的框架源, 于另外的一个非常著名的姐妹组件-log4j.现由Apache组织开发与维护.此日志架构是可灵活扩展,且通过配置文件来设置日志的属性及输出,

PHP基础示例:商品信息管理系统v1.1

实现目标:使用php和mysql写一个商品信息管理系统,并带有购物车功能 一.创建数据库和表 1.创建数据库和表:demodb 2.创建表格:goods 字段:商品编号,商品名称,商品类型,商品图片,单价,商品描述,库存量,添加时间 二.创建php文件编写代码(以下为要创建的php文件及其用途) add.php 商品添加页面 edit.php      商品信息编辑表单页 index.php 商品信息浏览页 action.php 执行商品信息添加和修改及删除等操作处理 dbconfig.php

学生信息管理系统

根据资料显示,那么,如果写一个字符串到一个文件中,是什么方式呢?显示到屏幕上是默认的输出文件,如果是硬盘中的一个文件,首先要打开一个文件,然后才能往里写,那么就要告诉程序这个文件在什么地方,按照什么样的方式打开(读.写.读和写.添加.覆盖等),然后打开后要给这个打开的文件一个符号(指针变量),表示后续的读和写都是针对这个文件的,而不是到屏幕的,这个指针变量以后就代表了文件自身了. 在学生信息管理系统中,需要同时保存一个学生的姓名,性别,年龄等信息,那么设置变量保存很多同学的这些信息就有点不太方便

PHP基础示例:商品信息管理系统v1.1[转]

实现目标:使用php和mysql写一个商品信息管理系统,并带有购物车功能 一.创建数据库和表 1.创建数据库和表:demodb 2.创建表格:goods 字段:商品编号,商品名称,商品类型,商品图片,单价,商品描述,库存量,添加时间 二.创建php文件编写代码(以下为要创建的php文件及其用途) add.php 商品添加页面 edit.php      商品信息编辑表单页 index.php 商品信息浏览页 action.php 执行商品信息添加和修改及删除等操作处理 dbconfig.php

C++实现景区信息管理系统

景区信息管理系统 简单的景区信息管理系统,实现了: 1.1 建立主程序应用菜单选项 主程序应用菜单选项包含所实现的所有功能,并且对选项采用数字标识进行选择,对其他错误输入可以进行判别,提示输入错误. 1.2 导游线路图的创建级景区分布图的输出 用邻接链表存储景点分布图的信息,(带权无向)图的邻接链表.输出景区景点分布图(邻接矩阵).图中边的权值∞用32767表示. 1.3  输出导游线路图 景区旅游信息管理系统中制订旅游景点导游线路策略,首先通过遍历景点,给出一个入口景点,建立一个导游线路图,导

员工信息管理系统需求分析

员工信息管理系统"可以是面向企业或事业单位的科学.全面.高效进行人事管理的系统,可以根据企业或事业单位人事管理的实际情况,进行科学的.具体的.实用性的系统设计.内容包括机构的建立和维护,人员信息的录入和输出,各种实用信息的浏览,个人信息相关信息的添加,工资的调整和发放以及各类报表的绘制和输出等功能.系统简便灵活实用或者自动化功能较强均可. 系统设计分析 用于小型企业,其功能主要分为: 用户管理:用于对用户的添加,删除,修改. 帮助信息:用于对本系统的具体操作进行详解. 本系统性能力求易于使用,具

教师信息管理系统 ----三层架构

任务描述: 拿到这个项目,首先我们要了解教师信息管理系统,增加教师信息的维护功能 主要功能主要包括以下几个方面: 1.列表显示教师信息 2.增加教师信息 3.删除教师信息 首先我们要搭建三层框架(UI   DAL   BLL) 先搭建第一个框架 UI: 首先我们先创建UI层 Student.UI 我们看一下窗体框架(参照上图顺序) 接下来我们看一下Model层 我们就以Model里面Studeng.cs类里面谁写的代码为例(数据根据库表里面的数据来写). public class Student

【转载】C语言综合实验1—学生信息管理系统

http://www.cnblogs.com/Anker/archive/2013/05/06/3063436.html 实验题目:学生信息管理系统 实验要求:用户可以选择1-7可以分别进行学生信息的查看.添加.删除,修改,计算平均成绩,保存,退出系统操作. 提示:用一个结构体类型表示学生信息 typedef struct node /*定义结构体*/ { int num; //学号 char name[15];//姓名 char sex[9]; //性别 int age; //年龄 int e