18 |
19 |
20 |
21 | <%
22 | for (EmployeeStatatistic employeeStatatistic : employeeStatatistics) {
23 | %>
24 |
61 | <%
62 | }
63 | %>
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/src/main/webapp/assets/sass/md/_togglebutton.scss:
--------------------------------------------------------------------------------
1 | // This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
2 |
3 | .togglebutton {
4 | vertical-align: middle;
5 | &, label, input, .toggle {
6 | user-select: none;
7 | }
8 | label {
9 | cursor: pointer;
10 | color: $mdb-toggle-label-color;
11 | @include mdb-label-color-toggle-focus();
12 |
13 | // Hide original checkbox
14 | input[type=checkbox] {
15 | opacity: 0;
16 | width: 0;
17 | height: 0;
18 | }
19 |
20 | .toggle {
21 | text-align: left; // Issue #737 horizontal form
22 | margin-left: 5px;
23 | }
24 | // Switch bg off and disabled
25 | .toggle,
26 | input[type=checkbox][disabled] + .toggle {
27 | content: "";
28 | display: inline-block;
29 | width: 30px;
30 | height: 15px;
31 | background-color: rgba(80, 80, 80, 0.7);
32 | border-radius: 15px;
33 | margin-right: 15px;
34 | transition: background 0.3s ease;
35 | vertical-align: middle;
36 | }
37 | // Handle off
38 | .toggle:after {
39 | content: "";
40 | display: inline-block;
41 | width: 20px;
42 | height: 20px;
43 | background-color: #FFFFFF;
44 | border-radius: 20px;
45 | position: relative;
46 | box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4);
47 | left: -5px;
48 | top: -3px;
49 | border: 1px solid $mdb-checkbox-border-color;
50 | transition: left 0.3s ease, background 0.3s ease, box-shadow 0.1s ease;
51 | }
52 | input[type=checkbox] {
53 | // Handle disabled
54 | &[disabled] {
55 | & + .toggle:after,
56 | &:checked + .toggle:after {
57 | background-color: #BDBDBD;
58 | }
59 | }
60 |
61 | & + .toggle:active:after,
62 | &[disabled] + .toggle:active:after {
63 | box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba(0, 0, 0, 0.1);
64 | }
65 |
66 | // Ripple off and disabled
67 | &:checked + .toggle:after {
68 | left: 15px;
69 | }
70 | }
71 |
72 | // set bg when checked
73 | input[type=checkbox]:checked {
74 | + .toggle {
75 | background-color: rgba($brand-primary, (70/100)); // Switch bg on
76 | }
77 |
78 | + .toggle:after {
79 | border-color: $brand-primary; // Handle on
80 | }
81 |
82 | + .toggle:active:after {
83 | box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba($brand-primary, (10/100)); // Ripple on
84 | }
85 | }
86 | }
87 | }
88 |
--------------------------------------------------------------------------------
/src/main/java/com/hospital/models/Drug.java:
--------------------------------------------------------------------------------
1 | package com.hospital.models;
2 |
3 | import java.util.Date;
4 | import javax.persistence.CascadeType;
5 | import javax.persistence.Column;
6 | import javax.persistence.Entity;
7 | import javax.persistence.FetchType;
8 | import javax.persistence.GeneratedValue;
9 | import javax.persistence.GenerationType;
10 | import javax.persistence.Id;
11 | import javax.persistence.JoinColumn;
12 | import javax.persistence.OneToOne;
13 | import javax.persistence.Table;
14 |
15 | @Entity
16 | @Table(name = "Drugs")
17 | public class Drug implements java.io.Serializable {
18 |
19 | @Id
20 | @GeneratedValue(strategy = GenerationType.AUTO)
21 | @Column(name = "drugId")
22 | private Integer drugId;
23 |
24 | private double cost;
25 |
26 | private String name;
27 | private int quantity;
28 |
29 | private Date drug_expired;
30 | private Date startDate;
31 |
32 |
33 |
34 | @OneToOne(fetch = FetchType.EAGER, targetEntity = Employee.class, cascade = CascadeType.ALL)
35 | @JoinColumn(name = "employee_id")
36 | private Employee employee;
37 |
38 | public Drug() {
39 | }
40 |
41 |
42 |
43 | public double getCost() {
44 | return this.cost;
45 | }
46 |
47 | public void setCost(double cost) {
48 | this.cost = cost;
49 | }
50 | /*
51 | public String getFinishedDate() {
52 | return this.finishedDate;
53 | }
54 |
55 | public void setFinishedDate(String finishedDate) {
56 | this.finishedDate = finishedDate;
57 | }
58 | */
59 | public Date getDrug_expired() {
60 | return this.drug_expired;
61 | }
62 |
63 | public void setDrug_expired(Date drug_expired) {
64 | this.drug_expired = drug_expired;
65 | }
66 |
67 | public String getName() {
68 | return this.name;
69 | }
70 |
71 | public void setName(String name) {
72 | this.name = name;
73 | }
74 |
75 |
76 |
77 | public int getQuantity() {
78 | return this.quantity;
79 | }
80 |
81 | public void setQuantity(int quantity) {
82 | this.quantity = quantity;
83 | }
84 |
85 | public Date getStartDate() {
86 | return this.startDate;
87 | }
88 |
89 | public void setStartDate(Date startDate) {
90 | this.startDate = startDate;
91 | }
92 |
93 |
94 | public Integer getDrugId() {
95 | return drugId;
96 | }
97 |
98 | public void setDrugId(Integer drugId) {
99 | this.drugId = drugId;
100 | }
101 |
102 |
103 |
104 | public Employee getEmployee() {
105 | return employee;
106 | }
107 |
108 |
109 |
110 | public void setEmployee(Employee employee) {
111 | this.employee = employee;
112 | }
113 |
114 | }
115 |
--------------------------------------------------------------------------------
/src/main/webapp/assets/sass/md/_radios.scss:
--------------------------------------------------------------------------------
1 | // This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
2 |
3 | @mixin radio-color($color, $opacity){
4 | & ~ .check,
5 | & ~ .circle {
6 | opacity: $opacity;
7 | }
8 |
9 | & ~ .check {
10 | background-color: $color;
11 | }
12 |
13 | & ~ .circle {
14 | border-color: $color;
15 | }
16 | }
17 |
18 | .radio {
19 | label {
20 | cursor: pointer;
21 | padding-left: 35px;
22 | position: relative;
23 | color: $mdb-radio-label-color;
24 | @include mdb-label-color-toggle-focus();
25 |
26 | span {
27 | display: block;
28 | position: absolute;
29 | left: 10px;
30 | top: 2px;
31 | transition-duration: 0.2s;
32 | }
33 | .circle {
34 | border: 1px solid $mdb-radio-color-off;
35 | height: 15px;
36 | width: 15px;
37 | border-radius: 100%;
38 | }
39 | .check {
40 | height: 15px;
41 | width: 15px;
42 | border-radius: 100%;
43 | background-color: $mdb-radio-color-on;
44 | transform: scale3d(0, 0, 0);
45 | }
46 | .check:after {
47 | display: block;
48 | position: absolute;
49 | content: "";
50 | background-color: $mdb-text-color-primary;
51 | left: -18px;
52 | top: -18px;
53 | height: 50px;
54 | width: 50px;
55 | border-radius: 100%;
56 | z-index: 1;
57 | opacity: 0;
58 | margin: 0;
59 | transform: scale3d(1.5, 1.5, 1);
60 | }
61 | input[type=radio]:not(:checked) ~ .check:after {
62 | animation: rippleOff 500ms;
63 | }
64 | input[type=radio]:checked ~ .check:after {
65 | animation: rippleOn 500ms;
66 | }
67 |
68 | }
69 |
70 | input[type=radio] {
71 | opacity: 0;
72 | height: 0;
73 | width: 0;
74 | overflow: hidden;
75 |
76 | &:checked {
77 | @include radio-color($mdb-radio-color-on, 1);
78 | }
79 | &:checked ~ .check {
80 | transform: scale3d(0.65, 0.65, 1);
81 | }
82 | }
83 |
84 | input[type=radio][disabled] {
85 |
86 | // light theme spec: Disabled: #000000, Opacity 26%
87 | @include radio-color($black, 0.26);
88 |
89 | }
90 | }
91 |
92 | @keyframes rippleOn {
93 | 0% {
94 | opacity: 0;
95 | }
96 | 50% {
97 | opacity: 0.2;
98 | }
99 | 100% {
100 | opacity: 0;
101 | }
102 | }
103 |
104 | @keyframes rippleOff {
105 | 0% {
106 | opacity: 0;
107 | }
108 | 50% {
109 | opacity: 0.2;
110 | }
111 | 100% {
112 | opacity: 0;
113 | }
114 | }
115 |
--------------------------------------------------------------------------------
/src/main/resources/hibernate.cfg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | oracle.jdbc.driver.OracleDriver
6 | jdbc:oracle:thin:@127.0.0.1:1521:orcl
7 | hadeel
8 | hadeel
9 | org.hibernate.dialect.Oracle10gDialect
10 |
11 | false
12 | update
13 | false
14 | false
15 | after_transaction
16 | true
17 | 5
18 | thread
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/src/main/webapp/assets/sass/md/_misc.scss:
--------------------------------------------------------------------------------
1 | body {
2 | background-color: #EEEEEE;
3 | // background: #fdfdfe;
4 | color: $black-color;
5 | &.inverse {
6 | background: #333333;
7 | &, .form-control {
8 | color: $mdb-text-color-light;
9 | }
10 | .modal,
11 | .panel-default,
12 | .card {
13 | &,
14 | .form-control {
15 | background-color: initial;
16 | color: initial;
17 | }
18 | }
19 |
20 | }
21 | }
22 |
23 | .wrapper{
24 |
25 | &.wrapper-full-page{
26 | height: auto;
27 | min-height: 100vh;
28 | }
29 | }
30 |
31 |
32 | blockquote{
33 | p{
34 | font-style: italic;
35 | }
36 | }
37 |
38 | .life-of-material-dashboard{
39 | background: #FFFFFF;
40 | }
41 |
42 | body, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4 {
43 | font-family: $font-family-sans-serif;
44 | font-weight: 300;
45 | line-height: 1.5em;
46 | }
47 |
48 | .serif-font{
49 | font-family: $font-family-serif;
50 | }
51 |
52 | .page-header {
53 | height: 60vh;
54 | background-position: center center;
55 | background-size: cover;
56 | margin: 0;
57 | padding: 0;
58 | border: 0;
59 | border-bottom-left-radius: 6px;
60 | border-bottom-right-radius: 6px;
61 | }
62 |
63 | a{
64 | color: $link-color;
65 | &:hover,
66 | &:focus{
67 | color: darken($link-color, 5%);
68 | text-decoration: none;
69 | }
70 |
71 | &.text-info{
72 | &:hover, &:focus{
73 | color: darken($brand-info, 5%);
74 | }
75 | }
76 |
77 | & .material-icons {
78 | vertical-align: middle;
79 | }
80 | }
81 |
82 | /* Animations */
83 | .animation-transition-general{
84 | @include transition($general-transition-time, $transition-linear);
85 | }
86 |
87 | .animation-transition-slow{
88 | @include transition($slow-transition-time, $transition-linear);
89 | }
90 |
91 | .animation-transition-fast{
92 | @include transition($fast-transition-time, $transition-ease);
93 | }
94 | legend {
95 | border-bottom: 0;
96 | }
97 |
98 | // Prevent highlight on mobile
99 | * {
100 | -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
101 | -webkit-tap-highlight-color: transparent;
102 | &:focus {
103 | outline: 0;
104 | }
105 | }
106 | a:focus, a:active,
107 | button:active, button:focus, button:hover,
108 | button::-moz-focus-inner,
109 | input[type="reset"]::-moz-focus-inner,
110 | input[type="button"]::-moz-focus-inner,
111 | input[type="submit"]::-moz-focus-inner,
112 | select::-moz-focus-inner,
113 | input[type="file"] > input[type="button"]::-moz-focus-inner {
114 | outline : 0 !important;
115 | }
116 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Hospital-Management-System
2 |
3 | # Used Technologies
4 | 1. Java Web Application building using ( JSP - Servlet )
5 | 2. Hibernate
6 | 3. Design Pattern
7 | 4. Jasper Reports
8 | 5. Oracle Database
9 |
10 | ### Prerequisites And Installation
11 |
12 | After cloning this repository in your local machine , import using Eclipse IDE , or netbeans if you used eclipse after importing project press rigth click and select #run as --> maven install after cleaning and building your project you can run on any server
13 | Tomcat or Jboss
14 | - Run
15 | - Run On server
16 | - configure your server properties
17 |
18 | > Make sure you install **Java** JDK or JRE
19 |
20 | ### Home Page , Web View
21 | 
22 |
23 | ### Mobile View
24 | 
25 |
26 | ### Mail View
27 | 
28 |
29 | ### Statistic Page
30 | 
31 |
32 | ### Invoice
33 | 
34 |
35 | ### Employee Report
36 | 
37 |
38 | ### Profile Page
39 | 
40 |
41 | ### Pharmacy Page
42 | 
43 | 
44 |
45 | ### Patient Management Page
46 | 
47 | 
48 |
49 | ### Password Page
50 | 
51 |
52 |
53 | ## Deployment
54 | Clean and build your project , put war file in web app folder if you are using tomcat or standlon folder if you are using Jboss ,
55 | Then click on start.bat if you using windows or start.sh if using linux.
56 |
57 | ## Built With
58 | * [Maven](https://maven.apache.org/) - Dependency Management
59 |
60 |
--------------------------------------------------------------------------------
/src/main/webapp/assets/scss/gsdk-bootstrap-wizard/_inputs.scss:
--------------------------------------------------------------------------------
1 | /* Inputs */
2 | .form-control {
3 | background-color: #FFFFFF;
4 | border: 1px solid #E3E3E3;
5 | border-radius: 4px;
6 | box-shadow: none;
7 | color: #444444;
8 | height: 38px;
9 | padding: 6px 16px;
10 |
11 | &:focus{
12 | background-color: #FFFFFF;
13 | border: 1px solid #9A9A9A;
14 | box-shadow: none;
15 | outline: 0 none;
16 | }
17 |
18 | + .form-control-feedback{
19 | border-radius: 6px;
20 | font-size: 14px;
21 | padding: 0 12px 0 0;
22 | position: absolute;
23 | right: 25px;
24 | top: 13px;
25 | vertical-align: middle;
26 | }
27 |
28 | .has-success &,
29 | .has-error &,
30 | .has-success &:focus,
31 | .has-error &:focus{
32 | border-color: #E3E3E3;
33 | box-shadow: none;
34 | }
35 |
36 | .has-success &,
37 | .has-success .form-control-feedback,
38 | &.valid:focus{
39 | border-color: #05AE0E;
40 | color: #05AE0E;
41 | }
42 |
43 | .has-error &,
44 | .has-error .form-control-feedback,
45 | &.error{
46 | color: #FF3B30;
47 | border-color: #FF3B30;
48 | }
49 |
50 | &:focus + .input-group-addon,
51 | &:focus ~ .input-group-addon{
52 | background-color: #FFFFFF;
53 | border-color: #9A9A9A;
54 | }
55 |
56 | ::-moz-placeholder{
57 | color: #DDDDDD;
58 | opacity: 1;
59 | }
60 |
61 | ::-moz-placeholder{
62 | color: #DDDDDD;
63 | opacity: 1;
64 | }
65 |
66 | ::-webkit-input-placeholder{
67 | color: #DDDDDD;
68 | opacity: 1;
69 | }
70 |
71 | ::-ms-input-placeholder{
72 | color: #DDDDDD;
73 | opacity: 1;
74 | }
75 |
76 | &[disabled],
77 | &[readonly],
78 | fieldset[disabled] &{
79 | background-color: #EEEEEE;
80 | color: #999999;
81 | cursor: not-allowed;
82 | }
83 |
84 | }
85 |
86 | .input-lg{
87 | height: 56px;
88 | padding: 10px 16px;
89 | }
90 |
91 | .input-group-addon {
92 | background-color: #FFFFFF;
93 | border: 1px solid #E3E3E3;
94 | border-radius: 4px;
95 |
96 |
97 | }
98 |
99 |
100 | .input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child > .btn, .input-group-btn:first-child > .dropdown-toggle, .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) {
101 | border-right: 0 none;
102 | }
103 | .input-group .form-control:last-child, .input-group-addon:last-child, .input-group-btn:last-child > .btn, .input-group-btn:last-child > .dropdown-toggle, .input-group-btn:first-child > .btn:not(:first-child) {
104 | border-left: 0 none;
105 | }
106 |
--------------------------------------------------------------------------------
/src/main/webapp/templates/user/inbox.jsp:
--------------------------------------------------------------------------------
1 | <%@page import="com.hospital.models.Employee"%>
2 | <%@page import="com.hospital.models.Message"%>
3 | <%@page import="java.util.List"%>
4 | <%@page import="com.hospital.entities.HospitalService"%>
5 | <%@page import="com.hospital.entities.UserDAO"%>
6 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
19 |
20 |
21 |
22 | Eng
23 |
24 | Made with Mustafa
25 |
26 |
27 | <%
28 | UserDAO userDAO2 = HospitalService.getInstance();
29 | Employee em = (Employee) session.getAttribute("employee");
30 | List
unreadMessages = userDAO2.getAllMessagesForEmployee(em.getEmployeeId());
31 | %>
32 |
33 |
34 |
35 |
36 |
37 |
43 |
44 |
45 |
46 |
48 |
49 |
50 |
51 | | All Received Messages Messages |
52 |
53 |
54 | <%
55 | for (Message message : unreadMessages) {
56 | %>
57 |
58 |
59 | |
60 |
61 |
62 |
63 |
64 |
80 |
81 |
82 |
83 | |
84 |
85 |
86 | <%
87 | }
88 | %>
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
--------------------------------------------------------------------------------
/src/main/webapp/assets/sass/md/_pills.scss:
--------------------------------------------------------------------------------
1 | .nav-pills{
2 |
3 | .section-dark &,
4 | .section-image &{
5 | > li > a{
6 | color: $gray-color;
7 | }
8 | > li{
9 | > a:hover,
10 | > a:focus{
11 | background-color: #EEEEEE;
12 | }
13 | }
14 | }
15 |
16 | > li {
17 | > a{
18 | line-height: $mdb-btn-font-size-base * 2;
19 | text-transform: uppercase;
20 | font-size: $mdb-btn-font-size-base;
21 | font-weight: $font-weight-bold;
22 | min-width: 100px;
23 | text-align: center;
24 | color: $gray;
25 | transition: all .3s;
26 |
27 | &:hover{
28 | background-color: rgba(200, 200, 200, 0.2);
29 | }
30 | }
31 |
32 | i{
33 | display: block;
34 | font-size: 30px;
35 | padding: 15px 0;
36 | }
37 |
38 | &.active > a{
39 | &,
40 | &:focus,
41 | &:hover{
42 | background-color: $brand-primary;
43 | color: $white-color;
44 | @include shadow-big-color($brand-primary);
45 | }
46 | }
47 |
48 | }
49 |
50 | &:not(.nav-pills-icons){
51 | > li > a{
52 | border-radius: $border-radius-extreme;
53 | }
54 | }
55 |
56 | &.nav-stacked{
57 | > li + li{
58 | margin-top: 5px;
59 | }
60 | }
61 |
62 | &.nav-pills-info{
63 | > li {
64 | &.active > a{
65 | &,
66 | &:focus,
67 | &:hover{
68 | background-color: $brand-info;
69 | @include shadow-big-color($brand-info);
70 | }
71 | }
72 | }
73 | }
74 |
75 | &.nav-pills-success{
76 | > li {
77 | &.active > a{
78 | &,
79 | &:focus,
80 | &:hover{
81 | background-color: $brand-success;
82 | @include shadow-big-color($brand-success);
83 | }
84 | }
85 | }
86 | }
87 |
88 | &.nav-pills-warning{
89 | > li {
90 | &.active > a{
91 | &,
92 | &:focus,
93 | &:hover{
94 | background-color: $brand-warning;
95 | @include shadow-big-color($brand-warning);
96 | }
97 | }
98 | }
99 | }
100 |
101 | &.nav-pills-danger{
102 | > li {
103 | &.active > a{
104 | &,
105 | &:focus,
106 | &:hover{
107 | background-color: $brand-danger;
108 | @include shadow-big-color($brand-warning);
109 | }
110 | }
111 | }
112 | }
113 |
114 | }
115 | .tab-space{
116 | padding: 20px 0 50px 0px;
117 | }
118 |
--------------------------------------------------------------------------------
/src/main/webapp/computefees.jsp:
--------------------------------------------------------------------------------
1 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
2 | <%@page import="com.hospital.models.Employee"%>
3 | <%@ page language="java" contentType="text/html; charset=UTF-8"
4 | pageEncoding="UTF-8"%>
5 |
6 |
7 | <%
8 | Employee employee = (Employee) session.getAttribute("employee");
9 | %>
10 |
11 |
12 |
13 | Welcome <%=employee.getFirstName()%>
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
41 |
42 |
43 |
44 |
45 |
46 | <%@include file="templates/user/side-bar.jsp"%>
47 |
48 |
49 |
50 | <%@include file="templates/user/nav-bar.jsp"%>
51 |
52 | <%@include file="accountant/computeFees.jsp"%>
53 |
54 | <%@include file="templates/footer.jsp"%>
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
--------------------------------------------------------------------------------
/src/main/webapp/viewpatient.jsp:
--------------------------------------------------------------------------------
1 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
2 | <%@page import="com.hospital.models.Employee"%>
3 | <%@ page language="java" contentType="text/html; charset=UTF-8"
4 | pageEncoding="UTF-8"%>
5 |
6 |
7 | <%
8 | Employee employee = (Employee) session.getAttribute("employee");
9 | %>
10 |
11 |
12 |
13 | Welcome <%=employee.getFirstName()%>
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
41 |
42 |
43 |
44 |
45 |
46 | <%@include file="templates/user/side-bar.jsp"%>
47 |
48 |
49 |
50 | <%@include file="templates/user/nav-bar.jsp"%>
51 |
52 | <%@include file="templates/viewPatient.jsp"%>
53 |
54 | <%@include file="templates/footer.jsp"%>
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
--------------------------------------------------------------------------------
/src/main/webapp/viewservice.jsp:
--------------------------------------------------------------------------------
1 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
2 | <%@page import="com.hospital.models.Employee"%>
3 | <%@ page language="java" contentType="text/html; charset=UTF-8"
4 | pageEncoding="UTF-8"%>
5 |
6 |
7 | <%
8 | Employee employee = (Employee) session.getAttribute("employee");
9 | %>
10 |
11 |
12 |
13 | Welcome <%=employee.getFirstName()%>
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
41 |
42 |
43 |
44 |
45 |
46 | <%@include file="templates/user/side-bar.jsp"%>
47 |
48 |
49 |
50 | <%@include file="templates/user/nav-bar.jsp"%>
51 |
52 | <%@include file="nurse/viewServiceTime.jsp"%>
53 |
54 | <%@include file="templates/footer.jsp"%>
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
--------------------------------------------------------------------------------
/src/main/webapp/dieseasePatient.jsp:
--------------------------------------------------------------------------------
1 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
2 | <%@page import="com.hospital.models.Employee"%>
3 | <%@ page language="java" contentType="text/html; charset=UTF-8"
4 | pageEncoding="UTF-8"%>
5 |
6 |
7 | <%
8 | Employee employee = (Employee) session.getAttribute("employee");
9 | %>
10 |
11 |
12 |
13 | Welcome <%=employee.getFirstName()%>
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
41 |
42 |
43 |
44 |
45 |
46 | <%@include file="templates/user/side-bar.jsp"%>
47 |
48 |
49 |
50 | <%@include file="templates/user/nav-bar.jsp"%>
51 |
52 | <%@include file="doctor/dieseasepatient.jsp"%>
53 |
54 | <%@include file="templates/footer.jsp"%>
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
--------------------------------------------------------------------------------
/src/main/webapp/employeeProfile.jsp:
--------------------------------------------------------------------------------
1 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
2 | <%@page import="com.hospital.models.Employee"%>
3 | <%@ page language="java" contentType="text/html; charset=UTF-8"
4 | pageEncoding="UTF-8"%>
5 |
6 |
7 | <% Employee emp3= (Employee) session.getAttribute("employee"); %>
8 |
9 |
10 |
11 | Welcome <%= emp3.getFirstName() %>
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
38 |
39 |
40 |
41 |
42 |
43 |
44 | <%@include file="templates/user/side-bar.jsp"%>
45 |
46 |
47 |
48 | <%@include file="templates/user/nav-bar.jsp"%>
49 |
50 | <%@include file="templates/user/profile.jsp"%>
51 |
52 | <%@include file="templates/footer.jsp"%>
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
--------------------------------------------------------------------------------
/src/main/webapp/inbox.jsp:
--------------------------------------------------------------------------------
1 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
2 | <%@page import="com.hospital.models.Employee"%>
3 | <%@ page language="java" contentType="text/html; charset=UTF-8"
4 | pageEncoding="UTF-8"%>
5 |
6 |
7 | <%
8 | Employee employee = (Employee) session.getAttribute("employee");
9 | %>
10 |
11 |
12 |
13 | Welcome <%=employee.getFirstName()%>
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 | <%@include file="templates/user/side-bar.jsp"%>
49 |
50 |
51 |
52 | <%@include file="templates/user/nav-bar.jsp"%>
53 |
54 | <%@include file="templates/user/inbox.jsp"%>
55 |
56 | <%@include file="templates/footer.jsp"%>
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
--------------------------------------------------------------------------------
/src/main/webapp/assets/scss/gsdk-bootstrap-wizard/_misc.scss:
--------------------------------------------------------------------------------
1 | /* General overwrite */
2 | a{
3 | color: #2CA8FF;
4 | }
5 | a:hover, a:focus {
6 | color: #109CFF;
7 | }
8 | a:focus, a:active,
9 | button::-moz-focus-inner,
10 | input[type="reset"]::-moz-focus-inner,
11 | input[type="button"]::-moz-focus-inner,
12 | input[type="submit"]::-moz-focus-inner,
13 | select::-moz-focus-inner,
14 | input[type="file"] > input[type="button"]::-moz-focus-inner,
15 | input[type="button"]:focus {
16 | outline: 0 !important;
17 | }
18 |
19 | .btn:focus,
20 | .btn:hover,
21 | .btn:active{
22 | outline: 0;
23 | }
24 |
25 | /* Animations */
26 | .form-control, .input-group-addon{
27 | -webkit-transition: all 300ms linear;
28 | -moz-transition: all 300ms linear;
29 | -o-transition: all 300ms linear;
30 | -ms-transition: all 300ms linear;
31 | transition: all 300ms linear;
32 | }
33 |
34 | .image-container{
35 | min-height: 100vh;
36 | background-position: center center;
37 | background-size: cover;
38 | }
39 |
40 |
41 | .wizard-container{
42 |
43 | padding-top: 100px;
44 | z-index: 3;
45 | }
46 |
47 | .wizard-navigation{
48 | position: relative;
49 | }
50 |
51 | .made-with-mk{
52 | width: 50px;
53 | height: 50px;
54 | display: block;
55 | position: fixed;
56 | z-index: 555;
57 | bottom: 40px;
58 | right: 40px;
59 | border-radius: 30px;
60 | background-color: rgba(16, 16, 16, 0.35);
61 | border: 1px solid rgba(255,255,255,.15);
62 | color: $white-color;
63 | cursor: pointer;
64 | padding: 10px 12px;
65 | white-space: nowrap;
66 | overflow: hidden;
67 | -webkit-transition: .55s cubic-bezier(.6,0,.4,1);
68 | -moz-transition: .55s cubic-bezier(.6,0,.4,1);
69 | -o-transition: .55s cubic-bezier(.6,0,.4,1);
70 | transition: .55s cubic-bezier(.6,0,.4,1);
71 |
72 |
73 | &:hover,
74 | &:active,
75 | &:focus{
76 | width: 218px;
77 | color: $white-color;
78 | transition-duration: .55s;
79 | padding: 10px 30px;
80 |
81 | .made-with{
82 | opacity: 1;
83 | }
84 |
85 | .brand{
86 | left: 0;
87 | }
88 | }
89 |
90 | .brand,
91 | .made-with{
92 | float: left;
93 | }
94 | .brand{
95 | position: relative;
96 | top: 3px;
97 | left: -1px;
98 | letter-spacing: 1px;
99 | vertical-align: middle;
100 | font-size: 16px;
101 | font-weight: 600;
102 | }
103 |
104 | .made-with{
105 | color: rgba(255,255,255, .6);
106 | position: absolute;
107 | left: 75px;
108 | top: 15px;
109 | opacity: 0;
110 | margin: 0;
111 | -webkit-transition: .55s cubic-bezier(.6,0,.4,1);
112 | -moz-transition: .55s cubic-bezier(.6,0,.4,1);
113 | -o-transition: .55s cubic-bezier(.6,0,.4,1);
114 | transition: .55s cubic-bezier(.6,0,.4,1);
115 |
116 | strong{
117 | font-weight: 400;
118 | color: rgba(255,255,255, .9);
119 | letter-spacing: 1px
120 | }
121 | }
122 | }
123 |
--------------------------------------------------------------------------------
/src/main/webapp/viewmessage.jsp:
--------------------------------------------------------------------------------
1 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
2 | <%@page import="com.hospital.models.Employee"%>
3 | <%@ page language="java" contentType="text/html; charset=UTF-8"
4 | pageEncoding="UTF-8"%>
5 |
6 |
7 | <%
8 | Employee employee = (Employee) session.getAttribute("employee");
9 | %>
10 |
11 |
12 |
13 | Welcome <%=employee.getFirstName()%>
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 | <%@include file="templates/user/side-bar.jsp"%>
49 |
50 |
51 |
52 | <%@include file="templates/user/nav-bar.jsp"%>
53 |
54 | <%@include file="templates/user/viewMessage.jsp"%>
55 |
56 | <%@include file="templates/footer.jsp"%>
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
--------------------------------------------------------------------------------
/src/main/java/com/hospital/models/Message.java:
--------------------------------------------------------------------------------
1 | package com.hospital.models;
2 | // Generated Apr 26, 2017 7:53:39 PM by Hibernate Tools 4.3.1
3 |
4 | import java.util.Date;
5 |
6 | import javax.persistence.CascadeType;
7 | import javax.persistence.Column;
8 | import javax.persistence.Entity;
9 | import javax.persistence.FetchType;
10 | import javax.persistence.GeneratedValue;
11 | import javax.persistence.GenerationType;
12 | import javax.persistence.Id;
13 | import javax.persistence.JoinColumn;
14 | import javax.persistence.OneToOne;
15 | import javax.persistence.Table;
16 | import javax.persistence.Temporal;
17 |
18 | @Entity
19 | @Table(name = "Messages")
20 | public class Message implements java.io.Serializable {
21 |
22 | @Id
23 | @GeneratedValue(strategy = GenerationType.AUTO)
24 | @Column(name = "messageId")
25 | private Integer messageId;
26 |
27 | private String messageBody;
28 |
29 | private String subject;
30 |
31 | private boolean messageStatus;
32 |
33 | @Temporal(javax.persistence.TemporalType.DATE)
34 | private Date messageDate;
35 |
36 | @OneToOne(fetch = FetchType.EAGER, targetEntity = Employee.class, cascade = { CascadeType.ALL, CascadeType.REMOVE })
37 | @JoinColumn(name = "from_employee_id")
38 | private Employee fromEmployee;
39 |
40 | @OneToOne(fetch = FetchType.EAGER, targetEntity = Employee.class, cascade = { CascadeType.ALL, CascadeType.REMOVE })
41 | @JoinColumn(name = "fto_employee_id")
42 | private Employee toEmployee;
43 |
44 | @OneToOne(fetch = FetchType.EAGER, targetEntity = Patient.class, cascade = { CascadeType.ALL, CascadeType.REMOVE })
45 | @JoinColumn(name = "patient_id")
46 | private Patient patient;
47 |
48 | public Message() {
49 | }
50 |
51 | public Integer getMessageId() {
52 | return this.messageId;
53 | }
54 |
55 | public void setMessageId(Integer messageId) {
56 | this.messageId = messageId;
57 | }
58 |
59 | public Patient getPatient() {
60 | return this.patient;
61 | }
62 |
63 | public void setPatient(Patient patient) {
64 | this.patient = patient;
65 | }
66 |
67 | public String getMessageBody() {
68 | return this.messageBody;
69 | }
70 |
71 | public void setMessageBody(String messageBody) {
72 | this.messageBody = messageBody;
73 | }
74 |
75 | public String getSubject() {
76 | return this.subject;
77 | }
78 |
79 | public void setSubject(String subject) {
80 | this.subject = subject;
81 | }
82 |
83 | public boolean isMessageStatus() {
84 | return this.messageStatus;
85 | }
86 |
87 | public void setMessageStatus(boolean messageStatus) {
88 | this.messageStatus = messageStatus;
89 | }
90 |
91 | public Date getMessageDate() {
92 | return this.messageDate;
93 | }
94 |
95 | public void setMessageDate(Date messageDate) {
96 | this.messageDate = messageDate;
97 | }
98 |
99 | public Employee getFromEmployee() {
100 | return fromEmployee;
101 | }
102 |
103 | public void setFromEmployee(Employee fromEmployee) {
104 | this.fromEmployee = fromEmployee;
105 | }
106 |
107 | public Employee getToEmployee() {
108 | return toEmployee;
109 | }
110 |
111 | public void setToEmployee(Employee toEmployee) {
112 | this.toEmployee = toEmployee;
113 | }
114 |
115 | }
116 |
--------------------------------------------------------------------------------
/src/main/webapp/templates/user/compose.jsp:
--------------------------------------------------------------------------------
1 | <%@page import="com.hospital.utils.Entity"%>
2 | <%@page import="com.hospital.models.Patient"%>
3 | <%@page import="com.hospital.models.Employee"%>
4 | <%@page import="java.util.List"%>
5 | <%@page import="com.hospital.entities.HospitalService"%>
6 | <%@page import="com.hospital.entities.UserDAO"%>
7 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
8 |
9 |
10 |
11 | Eng
12 |
13 | Made with Mustafa
14 |
15 |
16 | <%
17 | UserDAO userDAO3 = HospitalService.getInstance();
18 | Employee currentEmployee=(Employee)session.getAttribute("employee");
19 | List employees = userDAO3.getListEmployeeWithout(currentEmployee.getEmployeeId());
20 |
21 | List patients=userDAO3.getListObjects(Patient.class);
22 | %>
23 |
24 |
88 |
89 |
--------------------------------------------------------------------------------
/src/main/webapp/home.jsp:
--------------------------------------------------------------------------------
1 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
2 | <%@page import="com.hospital.models.Employee"%>
3 | <%@ page language="java" contentType="text/html; charset=UTF-8"
4 | pageEncoding="UTF-8"%>
5 |
6 |
7 | <%
8 | Employee emp = (Employee) session.getAttribute("employee");
9 | %>
10 |
11 |
12 |
13 | Welcome <%=emp.getFirstName()%>
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 | <%@include file="templates/user/side-bar.jsp"%>
49 |
50 |
51 |
52 | <%@include file="templates/user/nav-bar.jsp"%>
53 |
54 | <%@include file="admin/dashboard.jsp"%>
55 |
56 | <%@include file="templates/footer.jsp"%>
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
--------------------------------------------------------------------------------
/src/main/webapp/assets/scss/gsdk-bootstrap-wizard/_tooltips.scss:
--------------------------------------------------------------------------------
1 | .tooltip {
2 | font-size: 14px;
3 | font-weight: bold;
4 | }
5 |
6 | .tooltip-arrow{
7 | display: none;
8 | opacity: 0;
9 | }
10 |
11 | .tooltip-inner {
12 | background-color: #FAE6A4;
13 | border-radius: 4px;
14 | box-shadow: 0 1px 13px rgba(0, 0, 0, 0.14), 0 0 0 1px rgba(115, 71, 38, 0.23);
15 | color: #734726;
16 | max-width: 200px;
17 | padding: 6px 10px;
18 | text-align: center;
19 | text-decoration: none;
20 |
21 | &:after {
22 | content: "";
23 | display: inline-block;
24 | left: 100%;
25 | margin-left: -56%;
26 | position: absolute;
27 | }
28 |
29 | &:before {
30 | content: "";
31 | display: inline-block;
32 | left: 100%;
33 | margin-left: -56%;
34 | position: absolute;
35 | }
36 | }
37 |
38 | .tooltip.top {
39 | margin-top: -11px;
40 | padding: 0;
41 |
42 | .tooltip-inner:after {
43 | border-top: 11px solid #FAE6A4;
44 | border-left: 11px solid rgba(0, 0, 0, 0);
45 | border-right: 11px solid rgba(0, 0, 0, 0);
46 | bottom: -10px;
47 | }
48 |
49 | .tooltip-inner:before {
50 | border-top: 11px solid rgba(0, 0, 0, 0.2);
51 | border-left: 11px solid rgba(0, 0, 0, 0);
52 | border-right: 11px solid rgba(0, 0, 0, 0);
53 | bottom: -11px;
54 | }
55 | }
56 |
57 | .tooltip.bottom {
58 | margin-top: 11px;
59 | padding: 0;
60 |
61 | .tooltip-inner:after {
62 | border-bottom: 11px solid #FAE6A4;
63 | border-left: 11px solid rgba(0, 0, 0, 0);
64 | border-right: 11px solid rgba(0, 0, 0, 0);
65 | top: -10px;
66 | }
67 |
68 | .tooltip-inner:before {
69 | border-bottom: 11px solid rgba(0, 0, 0, 0.2);
70 | border-left: 11px solid rgba(0, 0, 0, 0);
71 | border-right: 11px solid rgba(0, 0, 0, 0);
72 | top: -11px;
73 | }
74 | }
75 |
76 | .tooltip.left{
77 | margin-left: -11px;
78 | padding: 0;
79 |
80 | .tooltip-inner:after {
81 | border-left: 11px solid #FAE6A4;
82 | border-top: 11px solid rgba(0, 0, 0, 0);
83 | border-bottom: 11px solid rgba(0, 0, 0, 0);
84 | right: -10px;
85 | left: auto;
86 | margin-left: 0;
87 | }
88 |
89 | .tooltip-inner:before {
90 | border-left: 11px solid rgba(0, 0, 0, 0.2);
91 | border-top: 11px solid rgba(0, 0, 0, 0);
92 | border-bottom: 11px solid rgba(0, 0, 0, 0);
93 | right: -11px;
94 | left: auto;
95 | margin-left: 0;
96 | }
97 | }
98 |
99 | .tooltip.right{
100 | margin-left: 11px;
101 | padding: 0;
102 |
103 | .tooltip-inner:after {
104 | border-right: 11px solid #FAE6A4;
105 | border-top: 11px solid rgba(0, 0, 0, 0);
106 | border-bottom: 11px solid rgba(0, 0, 0, 0);
107 | left: -10px;
108 | top: 0;
109 | margin-left: 0;
110 | }
111 |
112 | .tooltip-inner:before {
113 | border-right: 11px solid rgba(0, 0, 0, 0.2);
114 | border-top: 11px solid rgba(0, 0, 0, 0);
115 | border-bottom: 11px solid rgba(0, 0, 0, 0);
116 | left: -11px;
117 | top: 0;
118 | margin-left: 0;
119 | }
120 | }
121 |
--------------------------------------------------------------------------------
/src/main/java/com/hospital/actions/ReportListener.java:
--------------------------------------------------------------------------------
1 | package com.hospital.actions;
2 |
3 | import java.io.File;
4 | import java.io.FileInputStream;
5 | import java.io.IOException;
6 | import java.io.InputStream;
7 | import java.io.PrintWriter;
8 | import java.io.StringWriter;
9 | import java.util.HashMap;
10 | import java.util.List;
11 |
12 | import javax.servlet.ServletOutputStream;
13 | import javax.servlet.annotation.WebServlet;
14 | import javax.servlet.http.HttpServlet;
15 | import javax.servlet.http.HttpServletRequest;
16 | import javax.servlet.http.HttpServletResponse;
17 |
18 | import com.hospital.entities.AdminDAO;
19 | import com.hospital.entities.HospitalService;
20 | import com.hospital.entities.UserDAO;
21 | import com.hospital.models.Employee;
22 |
23 | import net.sf.jasperreports.engine.JRDataSource;
24 | import net.sf.jasperreports.engine.JasperCompileManager;
25 | import net.sf.jasperreports.engine.JasperExportManager;
26 | import net.sf.jasperreports.engine.JasperFillManager;
27 | import net.sf.jasperreports.engine.JasperPrint;
28 | import net.sf.jasperreports.engine.JasperReport;
29 | import net.sf.jasperreports.engine.data.JRBeanArrayDataSource;
30 |
31 | public class ReportListener {
32 |
33 | private static ReportListener reportListener = new ReportListener();
34 |
35 | private UserDAO userDAO = HospitalService.getInstance();
36 |
37 | private ReportListener() {
38 | }
39 |
40 | public static ReportListener getInstance() {
41 | return reportListener;
42 | }
43 |
44 | private JRDataSource createReportDataSource(String employeeType) {
45 | JRBeanArrayDataSource dataSource;
46 | Object[] reportRows = initializeBeanArray(employeeType);
47 | dataSource = new JRBeanArrayDataSource(reportRows);
48 | return dataSource;
49 | }
50 |
51 | private Object[] initializeBeanArray(String employeeType) {
52 | List employees =userDAO.getEmployees(employeeType);
53 | Object[] ems = employees.toArray();
54 | return ems;
55 | }
56 |
57 | public void downloadEmployeeReport(HttpServletRequest request, HttpServletResponse response) throws IOException {
58 |
59 | String employeeType=request.getParameter("employeeType");
60 |
61 | ServletOutputStream servletOutputStream = response.getOutputStream();
62 |
63 | String imagePath = request.getServletContext().getRealPath("/reports/invoice_logo.png");
64 |
65 | InputStream reportStream = request.getServletContext().getResourceAsStream("/reports/employeeReport.jrxml");
66 | try {
67 | JRDataSource dataSource = createReportDataSource(employeeType);
68 | JasperReport jasperReport = JasperCompileManager.compileReport(reportStream);
69 |
70 | HashMap map = new HashMap<>();
71 | map.put("IMAGE_PATH", imagePath);
72 |
73 | JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, map, dataSource);
74 | JasperExportManager.exportReportToPdfStream(jasperPrint, response.getOutputStream());
75 |
76 | response.setContentType("application/pdf");
77 |
78 | servletOutputStream.flush();
79 | servletOutputStream.close();
80 |
81 | } catch (Exception e) {
82 | // display stack trace in the browser
83 | StringWriter stringWriter = new StringWriter();
84 | PrintWriter printWriter = new PrintWriter(stringWriter);
85 | e.printStackTrace();
86 |
87 | response.setContentType("text/plain");
88 | response.getOutputStream().print(stringWriter.toString());
89 | }
90 | }
91 |
92 | }
93 |
--------------------------------------------------------------------------------
/src/main/java/com/hospital/models/SelledDrug.java:
--------------------------------------------------------------------------------
1 | package com.hospital.models;
2 |
3 | import java.util.Date;
4 |
5 | import javax.persistence.CascadeType;
6 | import javax.persistence.Column;
7 | import javax.persistence.Entity;
8 | import javax.persistence.FetchType;
9 | import javax.persistence.GeneratedValue;
10 | import javax.persistence.GenerationType;
11 | import javax.persistence.Id;
12 | import javax.persistence.JoinColumn;
13 | import javax.persistence.OneToOne;
14 | import javax.persistence.Table;
15 | import javax.persistence.Temporal;
16 |
17 | @Entity
18 | @Table(name = "SelledDrugs")
19 | public class SelledDrug {
20 |
21 | @Id
22 | @GeneratedValue(strategy = GenerationType.AUTO)
23 | @Column(name = "selledDrugID")
24 | private int selledDrugID;
25 |
26 | @Temporal(javax.persistence.TemporalType.DATE)
27 | private Date startDate;
28 |
29 | @Temporal(javax.persistence.TemporalType.DATE)
30 | private Date endDate;
31 |
32 | private String unitPerDay;
33 |
34 | @OneToOne(fetch = FetchType.EAGER, targetEntity = Drug.class, cascade = { CascadeType.ALL })
35 | @JoinColumn(name = "Drug_ID")
36 | private Drug drug;
37 |
38 | @OneToOne(fetch = FetchType.EAGER, targetEntity = Pharmatiest.class, cascade = { CascadeType.ALL })
39 | @JoinColumn(name = "pharmatiest_ID")
40 | private Pharmatiest pharmatiest;
41 |
42 | @OneToOne(fetch = FetchType.EAGER, targetEntity = Patient.class, cascade = { CascadeType.ALL })
43 | @JoinColumn(name = "patient_ID")
44 | private Patient patient;
45 |
46 | private int quantity;
47 |
48 | @Temporal(javax.persistence.TemporalType.DATE)
49 | private Date selledDate;
50 |
51 | public Patient getPatient() {
52 | return patient;
53 | }
54 |
55 | public void setPatient(Patient patient) {
56 | this.patient = patient;
57 | }
58 |
59 | public Pharmatiest getPharmatiest() {
60 | return pharmatiest;
61 | }
62 |
63 | public void setPharmatiest(Pharmatiest pharmatiest) {
64 | this.pharmatiest = pharmatiest;
65 | }
66 |
67 | public Drug getDrug() {
68 | return drug;
69 | }
70 |
71 | public void setDrug(Drug drug) {
72 | this.drug = drug;
73 | }
74 |
75 | public int getQuantity() {
76 | return quantity;
77 | }
78 |
79 | public void setQuantity(int quantity) {
80 | this.quantity = quantity;
81 | }
82 |
83 | public int getSelledDrugID() {
84 | return selledDrugID;
85 | }
86 |
87 | public void setSelledDrugID(int selledDrugID) {
88 | this.selledDrugID = selledDrugID;
89 | }
90 |
91 | public Date getSelledDate() {
92 | return selledDate;
93 | }
94 |
95 | public void setSelledDate(Date selledDate) {
96 | this.selledDate = selledDate;
97 | }
98 |
99 | /**
100 | * @return the startDate
101 | */
102 | public Date getStartDate() {
103 | return startDate;
104 | }
105 |
106 | /**
107 | * @param startDate
108 | * the startDate to set
109 | */
110 | public void setStartDate(Date startDate) {
111 | this.startDate = startDate;
112 | }
113 |
114 | /**
115 | * @return the endDate
116 | */
117 | public Date getEndDate() {
118 | return endDate;
119 | }
120 |
121 | /**
122 | * @param endDate
123 | * the endDate to set
124 | */
125 | public void setEndDate(Date endDate) {
126 | this.endDate = endDate;
127 | }
128 |
129 | public String getUnitPerDay() {
130 | return unitPerDay;
131 | }
132 |
133 | public void setUnitPerDay(String unitPerDay) {
134 | this.unitPerDay = unitPerDay;
135 | }
136 |
137 | }
138 |
--------------------------------------------------------------------------------
/src/main/java/com/hospital/authentication/LoginService.java:
--------------------------------------------------------------------------------
1 | /*
2 | * To change this license header, choose License Headers in Project Properties.
3 | * To change this template file, choose Tools | Templates
4 | * and open the template in the editor.
5 | */
6 | package com.hospital.authentication;
7 |
8 | import java.io.IOException;
9 | import java.io.PrintWriter;
10 | import java.security.NoSuchAlgorithmException;
11 |
12 | import javax.servlet.ServletException;
13 | import javax.servlet.annotation.WebServlet;
14 | import javax.servlet.http.HttpServlet;
15 | import javax.servlet.http.HttpServletRequest;
16 | import javax.servlet.http.HttpServletResponse;
17 | import javax.servlet.http.HttpSession;
18 |
19 | import com.hospital.entities.HospitalService;
20 | import com.hospital.models.Employee;
21 | import com.hospital.utils.Entity;
22 | import com.hospital.utils.PasswordEncryption;
23 |
24 | @WebServlet("/LoginService")
25 | public class LoginService extends HttpServlet {
26 |
27 | HospitalService hospitalService = HospitalService.getInstance();
28 |
29 | protected void processRequest(HttpServletRequest request, HttpServletResponse response)
30 | throws ServletException, IOException {
31 | response.setContentType("text/html;charset=UTF-8");
32 |
33 | try (PrintWriter out = response.getWriter()) {
34 |
35 | HttpSession session = request.getSession();
36 |
37 | Employee employee = (Employee) session.getAttribute("employee");
38 |
39 | if (employee == null) {
40 |
41 | String user = request.getParameter("user");
42 | String pass = request.getParameter("pass");
43 | employee = hospitalService.getEmployee(user, PasswordEncryption.encrypt(pass));
44 | if (employee != null) {
45 | session.setAttribute("employee", employee);
46 | response.sendRedirect("home.jsp");
47 | } else {
48 | response.sendRedirect("index.jsp?error=true");
49 | }
50 | }
51 |
52 | } catch (NoSuchAlgorithmException e) {
53 | response.sendRedirect("index.jsp?error=true");
54 | }
55 | }
56 |
57 | //
59 | /**
60 | * Handles the HTTP GET method.
61 | *
62 | * @param request
63 | * servlet request
64 | * @param response
65 | * servlet response
66 | * @throws ServletException
67 | * if a servlet-specific error occurs
68 | * @throws IOException
69 | * if an I/O error occurs
70 | */
71 | @Override
72 | protected void doGet(HttpServletRequest request, HttpServletResponse response)
73 | throws ServletException, IOException {
74 | processRequest(request, response);
75 | }
76 |
77 | /**
78 | * Handles the HTTP POST method.
79 | *
80 | * @param request
81 | * servlet request
82 | * @param response
83 | * servlet response
84 | * @throws ServletException
85 | * if a servlet-specific error occurs
86 | * @throws IOException
87 | * if an I/O error occurs
88 | */
89 | @Override
90 | protected void doPost(HttpServletRequest request, HttpServletResponse response)
91 | throws ServletException, IOException {
92 | processRequest(request, response);
93 | }
94 |
95 | /**
96 | * Returns a short description of the servlet.
97 | *
98 | * @return a String containing servlet description
99 | */
100 | @Override
101 | public String getServletInfo() {
102 | return "Short description";
103 | }//
104 |
105 | }
106 |
--------------------------------------------------------------------------------
/src/main/webapp/assets/sass/md/mixins/_chartist.scss:
--------------------------------------------------------------------------------
1 | // Scales for responsive SVG containers
2 | $ct-scales: ((1), (15/16), (8/9), (5/6), (4/5), (3/4), (2/3), (5/8), (1/1.618), (3/5), (9/16), (8/15), (1/2), (2/5), (3/8), (1/3), (1/4)) !default;
3 | $ct-scales-names: (ct-square, ct-minor-second, ct-major-second, ct-minor-third, ct-major-third, ct-perfect-fourth, ct-perfect-fifth, ct-minor-sixth, ct-golden-section, ct-major-sixth, ct-minor-seventh, ct-major-seventh, ct-octave, ct-major-tenth, ct-major-eleventh, ct-major-twelfth, ct-double-octave) !default;
4 |
5 | // Class names to be used when generating CSS
6 | $ct-class-chart: ct-chart !default;
7 | $ct-class-chart-line: ct-chart-line !default;
8 | $ct-class-chart-bar: ct-chart-bar !default;
9 | $ct-class-horizontal-bars: ct-horizontal-bars !default;
10 | $ct-class-chart-pie: ct-chart-pie !default;
11 | $ct-class-chart-donut: ct-chart-donut !default;
12 | $ct-class-label: ct-label !default;
13 | $ct-class-series: ct-series !default;
14 | $ct-class-line: ct-line !default;
15 | $ct-class-point: ct-point !default;
16 | $ct-class-area: ct-area !default;
17 | $ct-class-bar: ct-bar !default;
18 | $ct-class-slice-pie: ct-slice-pie !default;
19 | $ct-class-slice-donut: ct-slice-donut !default;
20 | $ct-class-grid: ct-grid !default;
21 | $ct-class-vertical: ct-vertical !default;
22 | $ct-class-horizontal: ct-horizontal !default;
23 | $ct-class-start: ct-start !default;
24 | $ct-class-end: ct-end !default;
25 |
26 | // Container ratio
27 | $ct-container-ratio: (1/1.618) !default;
28 |
29 | // Text styles for labels
30 | $ct-text-color: rgba(0, 0, 0, 0.4) !default;
31 | $ct-text-size: 1.3rem !default;
32 | $ct-text-align: flex-start !default;
33 | $ct-text-justify: flex-start !default;
34 | $ct-text-line-height: 1;
35 |
36 | .ct-big-chart-white{
37 | $ct-grid-color: rgba(250, 250, 250, 0.7) !default;
38 | }
39 | // Grid styles
40 | $ct-grid-color: rgba(0, 0, 0, 0.2) !default;
41 | $ct-grid-dasharray: 2px !default;
42 | $ct-grid-width: 1px !default;
43 |
44 | // Line chart properties
45 | $ct-line-width: 3px !default;
46 | $ct-line-dasharray: false !default;
47 | $ct-point-size: 8px !default;
48 | // Line chart point, can be either round or square
49 | $ct-point-shape: round !default;
50 | // Area fill transparency between 0 and 1
51 | $ct-area-opacity: 0.8 !default;
52 |
53 | // Bar chart bar width
54 | $ct-bar-width: 10px !default;
55 |
56 | // Donut width (If donut width is to big it can cause issues where the shape gets distorted)
57 | $ct-donut-width: 60px !default;
58 |
59 | // If set to true it will include the default classes and generate CSS output. If you're planning to use the mixins you
60 | // should set this property to false
61 | $ct-include-classes: true !default;
62 |
63 | // If this is set to true the CSS will contain colored series. You can extend or change the color with the
64 | // properties below
65 | $ct-include-colored-series: $ct-include-classes !default;
66 |
67 | // If set to true this will include all responsive container variations using the scales defined at the top of the script
68 | $ct-include-alternative-responsive-containers: $ct-include-classes !default;
69 |
70 | // Series names and colors. This can be extended or customized as desired. Just add more series and colors.
71 | $ct-series-names: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) !default;
72 | $ct-series-colors: (
73 |
74 | $brand-info,
75 | $brand-danger,
76 | $brand-warning,
77 | $brand-primary,
78 | $brand-success,
79 | $font-background-light-grey,
80 | $gray-color,
81 | $social-google,
82 | $social-tumblr,
83 | $social-youtube,
84 | $social-twitter,
85 | $social-pinterest,
86 | $social-behance,
87 | #6188e2,
88 | #a748ca
89 | ) !default;
90 |
--------------------------------------------------------------------------------
/src/main/java/com/hospital/actions/DoctorListener.java:
--------------------------------------------------------------------------------
1 | package com.hospital.actions;
2 |
3 | import java.util.Date;
4 |
5 | import javax.servlet.http.HttpServletRequest;
6 | import javax.servlet.http.HttpServletResponse;
7 | import javax.servlet.http.HttpSession;
8 |
9 | import com.hospital.entities.HospitalService;
10 | import com.hospital.entities.DoctorDAO;
11 | import com.hospital.models.BloodGroup;
12 | import com.hospital.models.BookBed;
13 | import com.hospital.models.Disease;
14 | import com.hospital.models.Employee;
15 | import com.hospital.models.NextOfKin;
16 | import com.hospital.models.Patient;
17 | import com.hospital.models.Room;
18 |
19 | public class DoctorListener {
20 | private static DoctorListener doctorListener = new DoctorListener();
21 |
22 | private static DoctorDAO doctorDAO = HospitalService.getInstance();
23 |
24 | private HttpSession httpSession;
25 |
26 | private DoctorListener() {
27 | }
28 |
29 | public static DoctorListener getInstance() {
30 | return doctorListener;
31 | }
32 |
33 | public int addDiesease(HttpServletRequest request, HttpServletResponse response) {
34 |
35 | int statusCode = 0;
36 | try {
37 | httpSession=request.getSession();
38 |
39 | Employee employee=(Employee) httpSession.getAttribute("employee");
40 |
41 | int patientID = Integer.parseInt( request.getParameter("patientID") );
42 | String disease = request.getParameter("disease");
43 | String note = request.getParameter("note");
44 |
45 | Disease disease2=new Disease();
46 | disease2.setDisease(disease);
47 | disease2.setDiseaseDate(new Date());
48 | disease2.setEmployee(employee);
49 | disease2.setNote(note);
50 |
51 | Patient patient = (Patient) doctorDAO.getObject(patientID, Patient.class);
52 | disease2.setPatient(patient);
53 |
54 | doctorDAO.saveObject(disease2);
55 |
56 | response.sendRedirect("dieseasePatient.jsp");
57 |
58 | } catch (Exception ex) {
59 | ex.printStackTrace();
60 | }
61 | return statusCode;
62 | }
63 |
64 | public void deleteDiesease(HttpServletRequest request, HttpServletResponse response) {
65 | try {
66 | int diseaseID = Integer.parseInt(request.getParameter("udis"));
67 | Disease disease = (Disease) doctorDAO.getObject(diseaseID, Disease.class);
68 | disease.setEmployee(null);
69 | disease.setPatient(null);
70 |
71 | doctorDAO.deleteObject(disease);
72 |
73 | response.sendRedirect("dieseasePatient.jsp");
74 | } catch (Exception ex) {
75 |
76 | ex.printStackTrace();
77 | }
78 | }
79 |
80 | public void updateDiesease(HttpServletRequest request, HttpServletResponse response) {
81 |
82 | try {
83 | httpSession=request.getSession();
84 |
85 | Employee employee=(Employee) httpSession.getAttribute("employee");
86 |
87 | int diseaseID = Integer.parseInt(request.getParameter("diseaseID"));
88 |
89 |
90 | int patientID = Integer.parseInt( request.getParameter("patientID") );
91 | String disease = request.getParameter("disease");
92 | String note = request.getParameter("note");
93 |
94 | Disease disease2=new Disease();
95 | disease2.setDiseaseId(diseaseID);
96 | disease2.setDisease(disease);
97 | disease2.setDiseaseDate(new Date());
98 | disease2.setEmployee(employee);
99 | disease2.setNote(note);
100 | Patient patient = (Patient) doctorDAO.getObject(patientID, Patient.class);
101 | disease2.setPatient(patient);
102 |
103 | doctorDAO.updateObject(disease2);
104 |
105 | response.sendRedirect("dieseasePatient.jsp");
106 |
107 |
108 |
109 | } catch (Exception ex) {
110 |
111 | ex.printStackTrace();
112 | }
113 |
114 | }
115 |
116 | }
117 |
--------------------------------------------------------------------------------
/src/main/java/com/hospital/models/Patient.java:
--------------------------------------------------------------------------------
1 | package com.hospital.models;
2 |
3 | import java.util.Date;
4 |
5 | import javax.persistence.CascadeType;
6 | import javax.persistence.Column;
7 | import javax.persistence.Entity;
8 | import javax.persistence.FetchType;
9 | import javax.persistence.GeneratedValue;
10 | import javax.persistence.GenerationType;
11 | import javax.persistence.Id;
12 | import javax.persistence.JoinColumn;
13 | import javax.persistence.OneToOne;
14 | import javax.persistence.Table;
15 | import javax.persistence.Temporal;
16 | import javax.persistence.TemporalType;
17 |
18 | @Entity
19 | @Table(name = "Patients")
20 | public class Patient implements java.io.Serializable {
21 |
22 | @Id
23 | @GeneratedValue(strategy = GenerationType.AUTO)
24 | @Column(name = "patientId")
25 | private Integer patientId;
26 |
27 | private String address;
28 |
29 |
30 | @Temporal(TemporalType.DATE)
31 | private Date dob;
32 |
33 | private String email;
34 | private String familyName;
35 | private String fatherName;
36 | private String gender;
37 | private Date joiningDate;
38 | private String name;
39 | private long phone;
40 |
41 |
42 | @OneToOne(fetch = FetchType.EAGER,targetEntity = BloodGroup.class,cascade = CascadeType.ALL)
43 | @JoinColumn(name = "bloodGroup_id")
44 | private BloodGroup bloodGroup;
45 |
46 | @OneToOne(fetch = FetchType.EAGER,targetEntity = NextOfKin.class,cascade = CascadeType.ALL)
47 | @JoinColumn(name = "nextOfKin_id")
48 | private NextOfKin nextOfKin;
49 |
50 |
51 |
52 | public Patient() {
53 | }
54 |
55 |
56 |
57 |
58 | public Integer getPatientId() {
59 | return this.patientId;
60 | }
61 |
62 | public void setPatientId(Integer patientId) {
63 | this.patientId = patientId;
64 | }
65 |
66 | public BloodGroup getBloodGroup() {
67 | return this.bloodGroup;
68 | }
69 |
70 | public void setBloodGroup(BloodGroup bloodGroup) {
71 | this.bloodGroup = bloodGroup;
72 | }
73 |
74 |
75 | public NextOfKin getNextOfKin() {
76 | return this.nextOfKin;
77 | }
78 |
79 | public void setNextOfKin(NextOfKin nextOfKin) {
80 | this.nextOfKin = nextOfKin;
81 | }
82 |
83 | public String getAddress() {
84 | return this.address;
85 | }
86 |
87 | public void setAddress(String address) {
88 | this.address = address;
89 | }
90 |
91 |
92 |
93 | public Date getDob() {
94 | return this.dob;
95 | }
96 |
97 | public void setDob(Date dob) {
98 | this.dob = dob;
99 | }
100 |
101 | public String getEmail() {
102 | return this.email;
103 | }
104 |
105 | public void setEmail(String email) {
106 | this.email = email;
107 | }
108 |
109 | public String getFamilyName() {
110 | return this.familyName;
111 | }
112 |
113 | public void setFamilyName(String familyName) {
114 | this.familyName = familyName;
115 | }
116 |
117 | public String getFatherName() {
118 | return this.fatherName;
119 | }
120 |
121 | public void setFatherName(String fatherName) {
122 | this.fatherName = fatherName;
123 | }
124 |
125 | public String getGender() {
126 | return this.gender;
127 | }
128 |
129 | public void setGender(String gender) {
130 | this.gender = gender;
131 | }
132 |
133 | public Date getJoiningDate() {
134 | return this.joiningDate;
135 | }
136 |
137 | public void setJoiningDate(Date joiningDate) {
138 | this.joiningDate = joiningDate;
139 | }
140 |
141 | public String getName() {
142 | return this.name;
143 | }
144 |
145 | public void setName(String name) {
146 | this.name = name;
147 | }
148 |
149 | public long getPhone() {
150 | return this.phone;
151 | }
152 |
153 | public void setPhone(long phone) {
154 | this.phone = phone;
155 | }
156 |
157 |
158 |
159 | }
160 |
--------------------------------------------------------------------------------
/src/main/webapp/compose.jsp:
--------------------------------------------------------------------------------
1 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
2 | <%@page import="com.hospital.models.Employee"%>
3 | <%@ page language="java" contentType="text/html; charset=UTF-8"
4 | pageEncoding="UTF-8"%>
5 |
6 |
7 | <%
8 | Employee employee = (Employee) session.getAttribute("employee");
9 | %>
10 |
11 |
12 |
13 | Welcome <%=employee.getFirstName()%>
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
41 |
42 |
43 |
53 |
54 |
55 | onload="sendSuccess();"
57 | onload="error();"
58 |
59 | >
60 |
61 |
62 |
63 | <%@include file="templates/user/side-bar.jsp"%>
64 |
65 |
66 |
67 | <%@include file="templates/user/nav-bar.jsp"%>
68 |
69 | <%@include file="templates/user/compose.jsp"%>
70 |
71 | <%@include file="templates/footer.jsp"%>
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
--------------------------------------------------------------------------------
/src/main/webapp/sentMail.jsp:
--------------------------------------------------------------------------------
1 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
2 | <%@page import="com.hospital.models.Employee"%>
3 | <%@ page language="java" contentType="text/html; charset=UTF-8"
4 | pageEncoding="UTF-8"%>
5 |
6 |
7 | <%
8 | Employee employee = (Employee) session.getAttribute("employee");
9 | %>
10 |
11 |
12 |
13 | Welcome <%=employee.getFirstName()%>
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
40 |
41 |
55 |
56 |
57 |
58 |
59 |
60 | <%@include file="templates/user/side-bar.jsp"%>
61 |
62 |
63 |
64 | <%@include file="templates/user/nav-bar.jsp"%>
65 |
66 | <%@include file="templates/user/sentmail.jsp"%>
67 |
68 | <%@include file="templates/footer.jsp"%>
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
--------------------------------------------------------------------------------
/src/main/webapp/changePassword.jsp:
--------------------------------------------------------------------------------
1 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
2 | <%@page import="com.hospital.models.Employee"%>
3 | <%@ page language="java" contentType="text/html; charset=UTF-8"
4 | pageEncoding="UTF-8"%>
5 |
6 |
7 | <%
8 | Employee employee = (Employee) session.getAttribute("employee");
9 | %>
10 |
11 |
12 |
13 | Welcome <%=employee.getFirstName()%>
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
40 |
41 |
55 |
56 |
57 |
58 |
59 |
60 | <%@include file="templates/user/side-bar.jsp"%>
61 |
62 |
63 |
64 | <%@include file="templates/user/nav-bar.jsp"%>
65 |
66 | <%@include file="templates/user/changepass.jsp"%>
67 |
68 | <%@include file="templates/footer.jsp"%>
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
--------------------------------------------------------------------------------
/src/main/webapp/assets/sass/md/plugins/_plugin-nouislider.scss:
--------------------------------------------------------------------------------
1 | // This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
2 |
3 | .noUi-target,
4 | .noUi-target * {
5 | -webkit-touch-callout: none;
6 | -ms-touch-action: none;
7 | user-select: none;
8 | box-sizing: border-box;
9 | }
10 | .noUi-base {
11 | width: 100%;
12 | height: 100%;
13 | position: relative;
14 | }
15 | .noUi-origin {
16 | position: absolute;
17 | right: 0;
18 | top: 0;
19 | left: 0;
20 | bottom: 0;
21 | }
22 | .noUi-handle {
23 | position: relative;
24 | z-index: 1;
25 | box-sizing: border-box;
26 | }
27 | .noUi-stacking .noUi-handle {
28 | z-index: 10;
29 | }
30 | //.noUi-stacking + .noUi-origin {
31 | // *z-index: -1;
32 | //} WARNING: Property with star prefix found. Checks for the star property hack (targets IE6/7) (star-property-hack) Browsers: All
33 | .noUi-state-tap .noUi-origin {
34 | transition: left 0.3s, top 0.3s;
35 | }
36 | .noUi-state-drag * {
37 | cursor: inherit !important;
38 | }
39 | .noUi-horizontal {
40 | height: 10px;
41 | }
42 | .noUi-handle {
43 | box-sizing: border-box;
44 | width: 14px;
45 | height: 14px;
46 | left: -10px;
47 | top: -6px;
48 | cursor: pointer;
49 | border-radius: 100%;
50 | transition: all 0.2s ease-out;
51 | border: 1px solid;
52 | background: $white-color;
53 |
54 | @include shadow-2dp();
55 | }
56 | .noUi-vertical .noUi-handle {
57 | margin-left: 5px;
58 | cursor: ns-resize;
59 | }
60 | .noUi-horizontal.noUi-extended {
61 | padding: 0 15px;
62 | }
63 | .noUi-horizontal.noUi-extended .noUi-origin {
64 | right: -15px;
65 | }
66 | .noUi-background {
67 | height: 2px;
68 | margin: 20px 0;
69 | }
70 | .noUi-origin {
71 | margin: 0;
72 | border-radius: 0;
73 | height: 2px;
74 | background: #c8c8c8;
75 | &[style^="left: 0"] .noUi-handle {
76 | background-color: #fff;
77 | border: 2px solid #c8c8c8;
78 | &.noUi-active {
79 | border-width: 1px;
80 | }
81 | }
82 | }
83 | .noUi-target {
84 | border-radius: $border-radius-base;
85 | }
86 | .noUi-horizontal {
87 | height: 2px;
88 | margin: 15px 0;
89 | }
90 | .noUi-vertical {
91 | height: 100%;
92 | width: 2px;
93 | margin: 0 15px;
94 | display: inline-block;
95 | }
96 | .noUi-handle.noUi-active {
97 | transform: scale3d(2, 2, 1);
98 | }
99 | [disabled].noUi-slider{
100 | opacity: 0.5;
101 | }
102 | [disabled] .noUi-handle {
103 | cursor: not-allowed;
104 | }
105 |
106 | .slider {
107 | background: #c8c8c8;
108 | }
109 |
110 | .slider {
111 |
112 | &.noUi-connect{
113 | background-color: $brand-primary;
114 | }
115 |
116 | .noUi-handle{
117 | border-color: $brand-primary;
118 | }
119 |
120 | &.slider-info{
121 | & .noUi-connect,
122 | &.noUi-connect{
123 | background-color: $brand-info;
124 | }
125 |
126 | .noUi-handle{
127 | border-color: $brand-info;
128 | }
129 | }
130 | &.slider-success{
131 | & .noUi-connect,
132 | &.noUi-connect{
133 | background-color: $brand-success;
134 | }
135 |
136 | .noUi-handle{
137 | border-color: $brand-success;
138 | }
139 | }
140 | &.slider-warning{
141 | & .noUi-connect,
142 | &.noUi-connect{
143 | background-color: $brand-warning;
144 | }
145 |
146 | .noUi-handle{
147 | border-color: $brand-warning;
148 | }
149 | }
150 | &.slider-danger{
151 | & .noUi-connect,
152 | &.noUi-connect{
153 | background-color: $brand-danger;
154 | }
155 |
156 | .noUi-handle{
157 | border-color: $brand-danger;
158 | }
159 | }
160 |
161 | }
162 |
--------------------------------------------------------------------------------
/src/main/webapp/assets/scss/gsdk-bootstrap-wizard/_wizard-card.scss:
--------------------------------------------------------------------------------
1 | .wizard-card{
2 | min-height: 410px;
3 | background-color: #FFFFFF;
4 | box-shadow: 0 0 15px rgba(0, 0, 0, 0.15), 0 0 1px 1px rgba(0, 0, 0, 0.1);
5 | border-radius: 10px;
6 | padding: 10px 0;
7 |
8 | .picture-container{
9 | position: relative;
10 | cursor: pointer;
11 | text-align: center;
12 | }
13 |
14 | .picture{
15 | width: 106px;
16 | height: 106px;
17 | background-color: $gray-bg;
18 | border: 4px solid #CCCCCC;
19 | color: $white-color;
20 | border-radius: 50%;
21 | margin: 5px auto;
22 | overflow: hidden;
23 | transition: all 0.2s;
24 | -webkit-transition: all 0.2s;
25 |
26 | &:hover{
27 | border-color: #2ca8ff;
28 | }
29 | }
30 |
31 | .picture input[type="file"] {
32 | cursor: pointer;
33 | display: block;
34 | height: 100%;
35 | left: 0;
36 | opacity: 0 !important;
37 | position: absolute;
38 | top: 0;
39 | width: 100%;
40 | }
41 |
42 | .moving-tab{
43 | position: absolute;
44 | text-align: center;
45 | padding: 10px;
46 | font-size: 12px;
47 | text-transform: uppercase;
48 | -webkit-font-smoothing: subpixel-antialiased;
49 | top: 0px;
50 | left: 0px;
51 | color: $white-color;
52 | cursor: pointer;
53 | font-weight: 500;
54 | }
55 |
56 | .picture-src{
57 | width: 100%;
58 | }
59 |
60 | .tab-content{
61 | min-height: 340px;
62 | padding: 20px 10px;
63 | }
64 |
65 | .wizard-footer{
66 | padding: 0 10px;
67 | }
68 |
69 | .disabled{
70 | display: none;
71 | }
72 |
73 | .wizard-header h3{
74 | font-weight: 200;
75 | text-align: center;
76 | }
77 |
78 |
79 |
80 |
81 |
82 | &[data-color="green"]{
83 | @include set-wizard-color($success-color);
84 | }
85 |
86 | &[data-color="azzure"]{
87 | @include set-wizard-color($info-color);
88 | }
89 |
90 | &[data-color="blue"]{
91 | @include set-wizard-color($primary-color);
92 | }
93 |
94 | &[data-color="orange"]{
95 | @include set-wizard-color($warning-color);
96 | }
97 |
98 | &[data-color="red"]{
99 | @include set-wizard-color($danger-color);
100 | }
101 |
102 |
103 |
104 | .btn{
105 | text-transform: uppercase;
106 | }
107 |
108 | .info-text{
109 | text-align: center;
110 | font-weight: 300;
111 | margin: 10px 0 30px;
112 | }
113 |
114 | .choice{
115 | text-align: center;
116 | cursor: pointer;
117 | margin-top: 20px;
118 |
119 | .icon{
120 | text-align: center;
121 | vertical-align: middle;
122 | height: 116px;
123 | width: 116px;
124 | border-radius: 50%;
125 | background-color: $gray-bg;
126 | color: $white-color;
127 | margin: 0 auto 20px;
128 | border: 4px solid #CCCCCC;
129 | transition: all 0.2s;
130 | -webkit-transition: all 0.2s;
131 | }
132 |
133 | i{
134 | font-size: 30px;
135 | line-height: 111px;
136 | }
137 |
138 | &:hover,
139 | &.active{
140 | .icon{
141 | border-color: #2ca8ff;
142 | }
143 | }
144 |
145 | input[type="radio"],
146 | input[type="checkbox"]{
147 | position: absolute;
148 | left: -10000px;
149 | z-index: -1;
150 | }
151 | }
152 |
153 | .btn-finish{
154 | display: none;
155 | }
156 |
157 | .description{
158 | color: $gray-color;
159 | font-size: 14px;
160 | }
161 | }
162 |
--------------------------------------------------------------------------------
/src/main/webapp/assets/css/dataTables.bootstrap.min.css:
--------------------------------------------------------------------------------
1 | table.dataTable{clear:both;margin-top:6px !important;margin-bottom:6px !important;max-width:none !important;border-collapse:separate !important}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}div.dataTables_wrapper div.dataTables_length label{font-weight:normal;text-align:left;white-space:nowrap}div.dataTables_wrapper div.dataTables_length select{width:75px;display:inline-block}div.dataTables_wrapper div.dataTables_filter{text-align:right}div.dataTables_wrapper div.dataTables_filter label{font-weight:normal;white-space:nowrap;text-align:left}div.dataTables_wrapper div.dataTables_filter input{margin-left:0.5em;display:inline-block;width:auto}div.dataTables_wrapper div.dataTables_info{padding-top:8px;white-space:nowrap}div.dataTables_wrapper div.dataTables_paginate{margin:0;white-space:nowrap;text-align:right}div.dataTables_wrapper div.dataTables_paginate ul.pagination{margin:2px 0;white-space:nowrap}div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1em 0}table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting{padding-right:30px}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer;position:relative}table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{position:absolute;bottom:8px;right:8px;display:block;font-family:'Glyphicons Halflings';opacity:0.5}table.dataTable thead .sorting:after{opacity:0.2;content:"\e150"}table.dataTable thead .sorting_asc:after{content:"\e155"}table.dataTable thead .sorting_desc:after{content:"\e156"}table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{color:#eee}div.dataTables_scrollHead table.dataTable{margin-bottom:0 !important}div.dataTables_scrollBody>table{border-top:none;margin-top:0 !important;margin-bottom:0 !important}div.dataTables_scrollBody>table>thead .sorting:after,div.dataTables_scrollBody>table>thead .sorting_asc:after,div.dataTables_scrollBody>table>thead .sorting_desc:after{display:none}div.dataTables_scrollBody>table>tbody>tr:first-child>th,div.dataTables_scrollBody>table>tbody>tr:first-child>td{border-top:none}div.dataTables_scrollFoot>table{margin-top:0 !important;border-top:none}@media screen and (max-width: 767px){div.dataTables_wrapper div.dataTables_length,div.dataTables_wrapper div.dataTables_filter,div.dataTables_wrapper div.dataTables_info,div.dataTables_wrapper div.dataTables_paginate{text-align:center}}table.dataTable.table-condensed>thead>tr>th{padding-right:20px}table.dataTable.table-condensed .sorting:after,table.dataTable.table-condensed .sorting_asc:after,table.dataTable.table-condensed .sorting_desc:after{top:6px;right:6px}table.table-bordered.dataTable th,table.table-bordered.dataTable td{border-left-width:0}table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable td:last-child,table.table-bordered.dataTable td:last-child{border-right-width:0}table.table-bordered.dataTable tbody th,table.table-bordered.dataTable tbody td{border-bottom-width:0}div.dataTables_scrollHead table.table-bordered{border-bottom-width:0}div.table-responsive>div.dataTables_wrapper>div.row{margin:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:first-child{padding-left:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:last-child{padding-right:0}
--------------------------------------------------------------------------------
/src/main/webapp/mgmtroom.jsp:
--------------------------------------------------------------------------------
1 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
2 | <%@page import="com.hospital.models.Employee"%>
3 | <%@ page language="java" contentType="text/html; charset=UTF-8"
4 | pageEncoding="UTF-8"%>
5 |
6 |
7 | <%
8 | Employee employee = (Employee) session.getAttribute("employee");
9 | %>
10 |
11 |
12 |
13 | Welcome <%=employee.getFirstName()%>
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
40 |
41 |
42 |
62 |
63 |
64 |
65 | onload="addRoom();"
68 |
69 | onload="deleteRoom();"
70 |
71 | onload="updateRoom();"
72 |
73 |
74 | onload="error();"
75 |
76 | >
77 |
78 |
79 |
80 | <%@include file="templates/user/side-bar.jsp"%>
81 |
82 |
83 |
84 | <%@include file="templates/user/nav-bar.jsp"%>
85 |
86 | <%@include file="admin/mgmtroom.jsp"%>
87 |
88 | <%@include file="templates/footer.jsp"%>
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
--------------------------------------------------------------------------------
/src/main/webapp/bookBed.jsp:
--------------------------------------------------------------------------------
1 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
2 | <%@page import="com.hospital.models.Employee"%>
3 | <%@ page language="java" contentType="text/html; charset=UTF-8"
4 | pageEncoding="UTF-8"%>
5 |
6 |
7 | <%
8 | Employee employee = (Employee) session.getAttribute("employee");
9 | %>
10 |
11 |
12 |
13 | Welcome <%=employee.getFirstName()%>
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
39 |
42 |
43 |
63 |
64 |
65 | onload="addBookBed();"
67 | onload="deleteBookBed();"
68 | onload="updateBookBed();"
69 | onload="error();" >
70 |
71 |
72 |
73 |
74 |
75 | <%@include file="templates/user/side-bar.jsp"%>
76 |
77 |
78 |
79 | <%@include file="templates/user/nav-bar.jsp"%>
80 |
81 | <%@include file="reception/bookbed.jsp"%>
82 |
83 | <%@include file="templates/footer.jsp"%>
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
--------------------------------------------------------------------------------
/src/main/webapp/nurse/viewServiceTime.jsp:
--------------------------------------------------------------------------------
1 | <%@page import="com.hospital.entities.NurseDAO"%>
2 | <%@page import="com.hospital.models.NurseServiceTime"%>
3 | <%@page import="com.hospital.entities.DoctorDAO"%>
4 | <%@page import="com.hospital.models.Disease"%>
5 | <%@page import="com.hospital.models.BookBed"%>
6 | <%@page import="com.hospital.models.Patient"%>
7 | <%@page import="com.hospital.entities.ReceptioniestDAO"%>
8 | <%@page import="com.hospital.models.Room"%>
9 | <%@page import="com.hospital.entities.AdminDAO"%>
10 | <%@page import="com.hospital.models.RoomType"%>
11 | <%@page import="com.hospital.models.Employee"%>
12 | <%@page import="com.hospital.models.Message"%>
13 | <%@page import="java.util.List"%>
14 | <%@page import="com.hospital.entities.HospitalService"%>
15 | <%@page import="com.hospital.entities.UserDAO"%>
16 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
17 |
18 |
19 |
24 |
25 |
26 | Eng
27 |
28 | Made with Mustafa
29 |
30 |
31 | <%
32 | NurseDAO nurseDAO = HospitalService.getInstance();
33 |
34 | Employee employee3 = (Employee) session.getAttribute("employee");
35 | List nurseServiceTimes = nurseDAO.getAllServiceTime(employee3.getEmployeeId());
36 | %>
37 |
38 |
39 |
40 |
41 |
42 |
48 |
49 |
50 |
51 |
65 |
66 |
67 |
68 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
--------------------------------------------------------------------------------