<%--
Document : getInfo
Created on : 2018-10-7, 21:36:37
Author : acer
--%> <%@page import="java.util.Iterator"%>
<%@page import="java.util.List"%>
<%@page import="db.ActionDB"%>
<%@page import="db.DBConnection"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>智能分诊页</title>
</head>
<body>
<center><h2>智能分诊</h2></center>
<hr>
<form id='test_form' action='getInfoTwo.jsp' method='' omsubmit='return checkForm()'>
选择你现在省份:<select name="province" size="1" id="province">
<option value="北京市">北京市</option>
<option value="重庆市">重庆市</option>
<option value="香港特别行政区">香港特别行政区</option>
<option value="安徽省">安徽省</option>
<option value="河南省">河南省</option>
<option value="湖北省">湖北省</option>
<option value="陕西省">陕西省</option>
<option value="青海省">青海省</option>
<option value="台湾省">台湾省</option>
<option value="黑龙江省">黑龙江省</option>
<option value="山东省">山东省</option>
<option value="海南省">海南省</option>
<option value="贵州省">贵州省</option>
<option value="吉林省">吉林省</option>
<option value="福建省">福建省</option>
<option value="上海市">上海市</option>
<option value="浙江省">浙江省</option>
<option value="四川省">四川省</option>
<option value="云南省">云南省</option>
<option value="新疆维吾尔自治区">新疆维吾尔自治区</option>
<option value="河北省">河北省</option>
<option value="江苏省">江苏省</option>
<option value="江西省">江西省</option>
<option value="广东省">广东省</option>
<option value="辽宁省">辽宁省</option>
<option value="湖南省">湖南省</option>
<option value="甘肃省">甘肃省</option>
<option value="内蒙古自治区">内蒙古自治区</option>
<option value="广西壮族自治区">广西壮族自治区</option>
<option value="西藏自治区">西藏自治区</option>
<option value="澳门特别行政区">澳门特别行政区</option>
<option value="天津市">天津市</option>
<option value="山西省">山西省</option>
<option value="宁夏回族自治区">宁夏回族自治区</option>
</select>
<input type="submit" name="Submit" value="下一步" />
</form>
</body>
</html>

<%--
Document : getInfoTwo
Created on : 2018-10-11, 13:22:00
Author : acer
--%> <%@page import="java.util.Iterator"%>
<%@page import="java.util.List"%>
<%@page import="db.ActionDB"%>
<%@page import="db.DBConnection"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>智能分诊页</title>
</head>
<center><h2>智能分诊</h2></center>
<hr>
<body>
<form action="fenzhen.jsp" method="post">
<table width="874" cellspacing="0" cellpadding="0">
<tr>
<td><div align="right">请输入你的症状:</div></td>
<td> <textarea name="zhengzhuang" id="zhengzhuang"></textarea> </td>
</tr>
<tr>
<td rowspan="2"><div align="right">请选择你目前所在地(省份/地区):</div></td>
<td>省份/地区:</td>
<td>
<%
String province = request.getParameter("province");
if (province != null) {
DBConnection conn = new DBConnection();
ActionDB action = new ActionDB(conn.getConnection());
List<String> administ = action.findAdminist(province);
Iterator<String> iter = administ.iterator();
int length = administ.size();
String[] str_administ = new String[length];
for (int i = 0; i < str_administ.length; i++) {
str_administ[i] = iter.next();
}
%>
省份:<input type='text' name='province' value='<%=province%>'/><br>
地区:<select name="administ" size="1" id="administ">
<%for (int i = 0; i < str_administ.length; i++) {%>
<option value="<%=str_administ[i]%>"><%=str_administ[i]%></option>
<%}%>
</select>
<%
}
%>
</td>
</tr>
<tr>
<td colspan="2"> <div align="center">
<input type="submit" name="Submit" value="确认" />
<input name="reset" type="reset" id="reset" value="重置" />
</div></td>
</tr>
</table>
</form>
</body>
</html>

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package db; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException; public class DBConnection { private static String DBDRIVER = "oracle.jdbc.OracleDriver"; //驱动标识符
private static String DBURL = "jdbc:oracle:thin:@localhost:1521:tszr"; //链接字符串
private static String DBUSER = "doctor"; //数据库的用户名
private static String DBPASSWORD = "admin"; //数据库的密码
private Connection conn = null; public DBConnection() throws Exception {
Class.forName(DBDRIVER);
this.conn = DriverManager.getConnection(DBURL, DBUSER, DBPASSWORD);
} public Connection getConnection() {
return this.conn;
} public void close() throws Exception {
if (this.conn != null) {
try {
this.conn.close();
} catch (SQLException e) {
throw e;
}
}
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package db; import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List; public class ActionDB { private Connection conn = null;
private PreparedStatement pstmt = null; public ActionDB() { } public ActionDB(Connection conn) {
this.conn = conn;
} public List<String> findAdminist(String province) throws Exception {
List<String> allList = new ArrayList<String>();
String sql = "select administrative from hostitaladrrest where province=?";
this.pstmt = this.conn.prepareStatement(sql);
this.pstmt.setString(1, province);
ResultSet rs = this.pstmt.executeQuery();
while (rs.next()) {
allList.add(rs.getString(1));
}
this.pstmt.close();
return allList;
}
}
<%--
Document : fenzhen
Created on : 2018-10-8, 6:09:42
Author : acer
--%> <%@page import="java.util.Iterator"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@page import="java.io.InputStreamReader"%>
<%@page import="java.io.BufferedReader"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>智能分诊显示页</title>
</head>
<% request.setCharacterEncoding("UTF-8"); %>
<body>
<center><h2>智能分诊结果显示</h2></center>
<hr>
<%
String zhengzhuang = request.getParameter("zhengzhuang");
String province = request.getParameter("province");
String administ = request.getParameter("administ");
String[] userInfo = new String[]{"python", "F:\\HostitalProject\\src\\java\\pyFile\\getInfo.py", zhengzhuang, province, administ};
Process pr = Runtime.getRuntime().exec(userInfo);
BufferedReader in = new BufferedReader(new InputStreamReader(pr.getInputStream()));
List<String> allList = new ArrayList<>();
String line;
while ((line = in.readLine()) != null) {
allList.add(line);
}
Iterator<String> iter = allList.iterator();
int length = allList.size();
String[] str_back = new String[length];
for (int i = 0; i < str_back.length; i++) {
str_back[i] = iter.next();
}
%>
<table width="874" cellspacing="0" cellpadding="0" border="1">
<tr>
<td width="383"><div align="right">你的症状:</div></td>
<td width="489"> <textarea name="zhengzhuang" id="zhengzhuang" value="<%=zhengzhuang%>"><%=zhengzhuang%></textarea> </td>
</tr>
<tr>
<td rowspan="2"><div align="right">目前所在地(省份/地区):</div></td>
<td>省份:
<input name="province" type="text" id="province" value="<%=province%>"/> </td>
</tr>
<tr>
<td>地区:<input name="administ" type="text" id="province" value="<%=administ%>"/> </td>
</tr>
<tr>
<td colspan="2"><div align="center">系统分诊信息</div></td>
</tr>
<tr>
<td colspan="2">
<%
for (int i = 0; i < str_back.length; i++) {
%>
<h3><%=str_back[i]%></h3>
<%
}
%>
</td>
</tr>
</table>
<h2><a href="log.html">返回登录页</a></h2>
</body>
</html>
# coding:utf-8

import sys
import cx_Oracle
import numpy as np
import pandas as pd
import tensorflow as tf conn = cx_Oracle.connect('doctor/admin@localhost:1521/tszr')
cursor = conn.cursor() def getPAH(province, administrative):
sql = "select hostitalname from hostitalAdrrest where province='%s' and administrative='%s'" % (
province, administrative)
cursor.execute(sql)
rows = cursor.fetchall()
hostitalName = []
for row in rows:
hostitalName.append(row[0])
for i in range(len(hostitalName)):
print(hostitalName[i]) def getSeeProject(subject):
sql = "select CHACKPRO from chackProject where FAMILY='%s'" % (subject)
cursor.execute(sql)
rows = cursor.fetchall()
seeproject = []
for row in rows:
seeproject.append(rows[0])
return seeproject[0][0] def getDoctors(sujects):
sql = "select addraction,name,summary from doctors where family='%s'" % (sujects)
cursor.execute(sql)
rows = cursor.fetchall()
doctorInfo = []
for row in rows:
doctorInfo.append(row[0])
doctorInfo.append(row[1])
doctorInfo.append(row[2])
print("主治专家姓名:" + doctorInfo[1])
print("主治专家简介:" + doctorInfo[2])
print("主治专家所在医院:" + doctorInfo[0])
return doctorInfo def getInfo(argv, province, administ):
sql = "select distinct surgery from menzhen"
cursor.execute(sql)
rows = cursor.fetchall()
dipart = []
for row in rows:
dipart.append(row[0])
############################################
sql = "select distinct surgery,surgerychest from menzhen"
cursor.execute(sql)
rows = cursor.fetchall()
dipartmentSubj = []
for row in rows:
one = []
one.append(row[0])
one.append(row[1])
dipartmentSubj.append(one)
###########################################################
sql = "select illSubject,question from questb"
cursor.execute(sql)
rows = cursor.fetchall()
subjectQues = []
for row in rows:
one = []
one.append(row[0])
one.append(row[1])
subjectQues.append(one)
#############################################################
if (len(argv) == 1):
print('很抱歉系统没有匹配到你症状所对应的门诊部门...')
else:
sym = ""
for i in range(1, len(argv)):
sym += argv[i]
symptom = []
symptom.extend(sym)
subCount = []
flat = False
for j in range(len(subjectQues)):
temp = []
que = []
que.extend(subjectQues[j][1])
count = 0
for i in range(len(symptom)):
if (symptom[i] != "," or symptom[i] != " "):
for k in range(len(que)):
if (symptom[i] == que[k]):
count = count + 1
flat = True
temp.append(subjectQues[j][0])
temp.append(count)
subCount.append(temp)
############################################################
if (flat):
for i in range(len(subCount)):
for j in range(len(dipartmentSubj)):
if (subCount[i][0] == dipartmentSubj[j][1]):
subCount[i].append(dipartmentSubj[j][0])
symMaxCount = sorted(subCount, key=(lambda x: x[1]), reverse=True)
print("根据你输入的问题,经过大数据分析建议你选择以下的门诊部和对应的科:")
print("门诊部门:" + symMaxCount[0][2])
print("对应的科:" + symMaxCount[0][0])
print("根据你的情况,系统推荐重点检查身体以下几项健康指标:")
seeproject = getSeeProject(symMaxCount[0][0])
print("推荐检查:", seeproject)
print("===============================================================================================")
print("根据你的情况,系统向你推荐以下在这一治疗领域专家:")
doctorInfo = getDoctors(symMaxCount[0][0])
print("===============================================================================================")
print("根据你所处的位置,系统找到以下与你距离最近的医院:")
getPAH(province, administ)
else:
print('很抱歉系统没有匹配到你症状所对应的门诊部门...') # getInfo("发烧 感冒 流鼻涕","广东省","广州市") import sys def action(infon):
getInfo(infon[0],infon[1],infon[2]) if __name__ == '__main__':
infon = []
for i in range(1,len(sys.argv)):
infon.append(sys.argv[i])
action(infon)

最新文章

  1. 【WP 8.1开发】How to 图像处理
  2. IEnumerable和IQueryable和Linq的查询
  3. infinitynewtab 背景api
  4. Visual Studio常用插件
  5. uva 11520 - Fill the Square
  6. Nginx 403 error
  7. Unity3D游戏开发——Asset Server搭建
  8. jQuery 源码分析6: jQuery 基本静态方法(二)
  9. 【百度地图API】如何进行地址解析与反地址解析?——模糊地址能搜索到精确地理信息!
  10. FZU 2087 统计树边
  11. node 在控制台打印有色彩的输出
  12. Android系统服务详解-android学习之旅(95)
  13. 使用Topshelf开发Windows服务、log4net记录日志
  14. Windows 操作系统
  15. [leetcode]1. Two Sum两数之和
  16. PHP 判断字符串括号是否匹配
  17. bzoj1027【JSOI2007】合金
  18. 面向对象----构造方法、this 关键字、函数的参数传递、package语句/import语句
  19. 使用JSon实现三级联动
  20. flume jetty 进程关系 flume jetty 跨域问题 jetty 源码分析

热门文章

  1. JS高级---函数作为参数使用
  2. 大数据-es(elasticsearch)
  3. Pikachu练习平台(暴力破解)
  4. AJAX--XMLHttpRequest对象
  5. select poll和 epoll
  6. 关于使用ssm与spring时,配置tomcat 虚拟目录( doBase )中的一些坑
  7. 解析python 生产/消费者模型实现过程
  8. codeforces 597div2 F. Daniel and Spring Cleaning(数位dp+二维容斥)
  9. js数组和对象
  10. centos7安装Nginx 配置及反向代理