├── LICENSE ├── PalmHospital ├── .gitignore ├── .idea │ ├── .gitignore │ ├── compiler.xml │ ├── deploymentTargetDropDown.xml │ ├── gradle.xml │ └── misc.xml ├── app │ ├── .gitignore │ ├── build.gradle │ ├── libs │ │ └── alipaysdk-15.8.06.211122170115.aar │ ├── proguard-rules.pro │ ├── release │ │ ├── app-release.apk │ │ └── output-metadata.json │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── palmhospital │ │ │ └── ExampleInstrumentedTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── palmhospital │ │ │ │ ├── Config.java │ │ │ │ ├── bean │ │ │ │ ├── Depart.java │ │ │ │ ├── Doctor.java │ │ │ │ ├── Order.java │ │ │ │ ├── Schedule.java │ │ │ │ └── User.java │ │ │ │ ├── ui │ │ │ │ └── activity │ │ │ │ │ ├── ChooseDepartActivity.java │ │ │ │ │ ├── ChooseDoctorActivity.java │ │ │ │ │ ├── ChooseTimeActivity.java │ │ │ │ │ ├── DoctorDetailActivity.java │ │ │ │ │ ├── IndexActivity.java │ │ │ │ │ ├── LoginActivity.java │ │ │ │ │ ├── MyInfoActivity.java │ │ │ │ │ ├── PayActivity.java │ │ │ │ │ ├── RegisterActivity.java │ │ │ │ │ └── SplashActivity.java │ │ │ │ └── utils │ │ │ │ └── NetUtil.java │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ ├── btn_bg_skip.xml │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ ├── activity_choose_depart.xml │ │ │ ├── activity_choose_doctor.xml │ │ │ ├── activity_choose_time.xml │ │ │ ├── activity_doctor_detail.xml │ │ │ ├── activity_index.xml │ │ │ ├── activity_login.xml │ │ │ ├── activity_my_info.xml │ │ │ ├── activity_pay.xml │ │ │ ├── activity_register.xml │ │ │ ├── activity_splash.xml │ │ │ ├── item_depart_list_view.xml │ │ │ ├── item_doctor_list_view.xml │ │ │ ├── item_myinfo_list_view.xml │ │ │ └── item_time_list_view.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-mdpi │ │ │ ├── btn_back.png │ │ │ ├── depart_img.png │ │ │ ├── doctor_female.jpg │ │ │ ├── doctor_male.jpg │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.webp │ │ │ ├── ic_launcher_round.webp │ │ │ ├── login_bg.png │ │ │ ├── register_bg.png │ │ │ └── splashbg.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── values-night │ │ │ └── themes.xml │ │ │ ├── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ │ └── xml │ │ │ └── network_security_config.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── palmhospital │ │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── PalmHospitalService ├── .idea │ ├── .gitignore │ ├── artifacts │ │ ├── PalmHospitalService_war.xml │ │ └── PalmHospitalService_war_exploded.xml │ ├── compiler.xml │ ├── encodings.xml │ ├── jarRepositories.xml │ ├── libraries │ │ ├── Maven__javax_servlet_javax_servlet_api_4_0_1.xml │ │ ├── Maven__org_apiguardian_apiguardian_api_1_1_2.xml │ │ ├── Maven__org_junit_jupiter_junit_jupiter_api_5_8_1.xml │ │ ├── Maven__org_junit_jupiter_junit_jupiter_engine_5_8_1.xml │ │ ├── Maven__org_junit_platform_junit_platform_commons_1_8_1.xml │ │ ├── Maven__org_junit_platform_junit_platform_engine_1_8_1.xml │ │ ├── Maven__org_opentest4j_opentest4j_1_2_0.xml │ │ └── lib.xml │ ├── misc.xml │ └── modules.xml ├── PalmHospitalService.iml ├── pom.xml ├── src │ └── main │ │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── palmhospitalservice │ │ │ ├── HelloServlet.java │ │ │ ├── bean │ │ │ ├── Depart.java │ │ │ ├── Doctor.java │ │ │ ├── Order.java │ │ │ ├── Schedule.java │ │ │ └── User.java │ │ │ ├── dao │ │ │ ├── DepartDao.java │ │ │ ├── DoctorDao.java │ │ │ ├── OrderDao.java │ │ │ ├── ScheduleDao.java │ │ │ └── UserDao.java │ │ │ ├── servlet │ │ │ ├── ChooseDepartServlet.java │ │ │ ├── ChooseDoctorServlet.java │ │ │ ├── ChooseTimeServlet.java │ │ │ ├── LoginServlet.java │ │ │ ├── PayServlet.java │ │ │ └── RegisterServlet.java │ │ │ └── utils │ │ │ └── DbUtil.java │ │ ├── resources │ │ └── database.properties │ │ └── webapp │ │ ├── WEB-INF │ │ ├── lib │ │ │ ├── commons-dbutils-1.7.jar │ │ │ ├── druid-1.1.5.jar │ │ │ ├── gson-2.8.9.jar │ │ │ ├── mysql-connector-java-8.0.27.jar │ │ │ └── servlet-api.jar │ │ └── web.xml │ │ └── index.jsp └── target │ ├── PalmHospitalService-1.0-SNAPSHOT │ ├── META-INF │ │ └── MANIFEST.MF │ ├── WEB-INF │ │ ├── classes │ │ │ ├── com │ │ │ │ └── example │ │ │ │ │ └── palmhospitalservice │ │ │ │ │ ├── HelloServlet.class │ │ │ │ │ ├── bean │ │ │ │ │ ├── Depart.class │ │ │ │ │ ├── Doctor.class │ │ │ │ │ ├── Order.class │ │ │ │ │ ├── Schedule.class │ │ │ │ │ └── User.class │ │ │ │ │ ├── dao │ │ │ │ │ ├── DepartDao.class │ │ │ │ │ ├── DoctorDao.class │ │ │ │ │ ├── OrderDao.class │ │ │ │ │ ├── ScheduleDao.class │ │ │ │ │ └── UserDao.class │ │ │ │ │ ├── servlet │ │ │ │ │ ├── ChooseDepartServlet$1.class │ │ │ │ │ ├── ChooseDepartServlet.class │ │ │ │ │ ├── ChooseDoctorServlet$1.class │ │ │ │ │ ├── ChooseDoctorServlet.class │ │ │ │ │ ├── ChooseTimeServlet$1.class │ │ │ │ │ ├── ChooseTimeServlet.class │ │ │ │ │ ├── LoginServlet.class │ │ │ │ │ ├── PayServlet.class │ │ │ │ │ └── RegisterServlet.class │ │ │ │ │ └── utils │ │ │ │ │ └── DbUtil.class │ │ │ └── database.properties │ │ ├── lib │ │ │ ├── commons-dbutils-1.7.jar │ │ │ ├── druid-1.1.5.jar │ │ │ ├── gson-2.8.9.jar │ │ │ ├── mysql-connector-java-8.0.27.jar │ │ │ └── servlet-api.jar │ │ └── web.xml │ └── index.jsp │ └── classes │ ├── com │ └── example │ │ └── palmhospitalservice │ │ ├── HelloServlet.class │ │ ├── bean │ │ ├── Depart.class │ │ ├── Doctor.class │ │ ├── Order.class │ │ ├── Schedule.class │ │ └── User.class │ │ ├── dao │ │ ├── DepartDao.class │ │ ├── DoctorDao.class │ │ ├── OrderDao.class │ │ ├── ScheduleDao.class │ │ └── UserDao.class │ │ ├── servlet │ │ ├── ChooseDepartServlet$1.class │ │ ├── ChooseDepartServlet.class │ │ ├── ChooseDoctorServlet$1.class │ │ ├── ChooseDoctorServlet.class │ │ ├── ChooseTimeServlet$1.class │ │ ├── ChooseTimeServlet.class │ │ ├── LoginServlet.class │ │ ├── PayServlet.class │ │ └── RegisterServlet.class │ │ └── utils │ │ └── DbUtil.class │ └── database.properties ├── README.md ├── images ├── image-20221231140714678.png ├── image-20221231140728266.png ├── image-20221231140733071.png ├── image-20221231140739182.png ├── image-20221231140743859.png ├── image-20221231140748058.png ├── image-20221231140901327.png ├── image-20221231140909300.png ├── image-20221231140921971.png ├── image-20221231140928875.png ├── image-20221231140932185.png ├── image-20221231140935985.png ├── image-20221231140945834.png ├── image-20221231141041449.png ├── image-20221231141051149.png ├── image-20221231141059854.png ├── image-20221231141103426.png ├── image-20221231141109028.png ├── image-20221231141112228.png ├── image-20221231141118453.png ├── image-20221231141122041.png ├── image-20221231141124934.png └── image-20221231141129073.png └── report ├── PalmHospital.gif ├── PalmHospital.mp4 └── report.pdf /PalmHospital/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | local.properties 16 | -------------------------------------------------------------------------------- /PalmHospital/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /PalmHospital/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /PalmHospital/.idea/deploymentTargetDropDown.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /PalmHospital/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 19 | 20 | -------------------------------------------------------------------------------- /PalmHospital/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 28 | 29 | 30 | 31 | 32 | 33 | 35 | -------------------------------------------------------------------------------- /PalmHospital/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /PalmHospital/app/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'com.android.application' 3 | } 4 | 5 | android { 6 | compileSdk 31 7 | 8 | defaultConfig { 9 | applicationId "com.example.palmhospital" 10 | minSdk 21 11 | targetSdk 31 12 | versionCode 1 13 | versionName "1.0" 14 | 15 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 16 | } 17 | 18 | buildTypes { 19 | release { 20 | minifyEnabled false 21 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 22 | } 23 | } 24 | compileOptions { 25 | sourceCompatibility JavaVersion.VERSION_1_8 26 | targetCompatibility JavaVersion.VERSION_1_8 27 | } 28 | } 29 | 30 | dependencies { 31 | 32 | implementation 'androidx.appcompat:appcompat:1.4.0' 33 | implementation 'com.google.android.material:material:1.3.0' 34 | implementation 'androidx.constraintlayout:constraintlayout:2.1.2' 35 | testImplementation 'junit:junit:4.+' 36 | androidTestImplementation 'androidx.test.ext:junit:1.1.2' 37 | androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' 38 | implementation 'com.zhy:okhttputils:2.6.2' 39 | implementation 'com.squareup.picasso:picasso:2.5.2' 40 | implementation 'com.google.code.gson:gson:2.8.6' 41 | 42 | } -------------------------------------------------------------------------------- /PalmHospital/app/libs/alipaysdk-15.8.06.211122170115.aar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospital/app/libs/alipaysdk-15.8.06.211122170115.aar -------------------------------------------------------------------------------- /PalmHospital/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile -------------------------------------------------------------------------------- /PalmHospital/app/release/app-release.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospital/app/release/app-release.apk -------------------------------------------------------------------------------- /PalmHospital/app/release/output-metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "artifactType": { 4 | "type": "APK", 5 | "kind": "Directory" 6 | }, 7 | "applicationId": "com.example.palmhospital", 8 | "variantName": "release", 9 | "elements": [ 10 | { 11 | "type": "SINGLE", 12 | "filters": [], 13 | "attributes": [], 14 | "versionCode": 1, 15 | "versionName": "1.0", 16 | "outputFile": "app-release.apk" 17 | } 18 | ], 19 | "elementType": "File" 20 | } -------------------------------------------------------------------------------- /PalmHospital/app/src/androidTest/java/com/example/palmhospital/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospital; 2 | 3 | import android.content.Context; 4 | 5 | import androidx.test.platform.app.InstrumentationRegistry; 6 | import androidx.test.ext.junit.runners.AndroidJUnit4; 7 | 8 | import org.junit.Test; 9 | import org.junit.runner.RunWith; 10 | 11 | import static org.junit.Assert.*; 12 | 13 | /** 14 | * Instrumented test, which will execute on an Android device. 15 | * 16 | * @see Testing documentation 17 | */ 18 | @RunWith(AndroidJUnit4.class) 19 | public class ExampleInstrumentedTest { 20 | @Test 21 | public void useAppContext() { 22 | // Context of the app under test. 23 | Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); 24 | assertEquals("com.example.palmhospital", appContext.getPackageName()); 25 | } 26 | } -------------------------------------------------------------------------------- /PalmHospital/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 17 | 20 | 23 | 26 | 29 | 32 | 35 | 38 | 39 | 40 | 43 | 46 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /PalmHospital/app/src/main/java/com/example/palmhospital/Config.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospital; 2 | 3 | public class Config { 4 | public static String baseUrl ="http://192.168.2.102:8080/PalmHospitalService/"; 5 | } 6 | -------------------------------------------------------------------------------- /PalmHospital/app/src/main/java/com/example/palmhospital/bean/Depart.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospital.bean; 2 | 3 | import java.util.Objects; 4 | 5 | public class Depart { 6 | private int departid; 7 | private String departname; 8 | 9 | public Depart(){} 10 | public Depart(int departid, String departname) { 11 | this.departid = departid; 12 | this.departname = departname; 13 | } 14 | 15 | public int getDepartid() { 16 | return departid; 17 | } 18 | 19 | public void setDepartid(int departid) { 20 | this.departid = departid; 21 | } 22 | 23 | public String getDepartname() { 24 | return departname; 25 | } 26 | 27 | public void setDepartname(String departname) { 28 | this.departname = departname; 29 | } 30 | 31 | @Override 32 | public String toString() { 33 | return "Depart{" + 34 | "departid=" + departid + 35 | ", departname='" + departname + '\'' + 36 | '}'; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /PalmHospital/app/src/main/java/com/example/palmhospital/bean/Doctor.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospital.bean; 2 | 3 | import android.os.Parcel; 4 | import android.os.Parcelable; 5 | 6 | public class Doctor implements Parcelable { 7 | private int did; 8 | private String dname; 9 | private String dlevel; 10 | private String dinfo; 11 | private String ddepartid; 12 | private int sex; 13 | private String ddetail; 14 | 15 | public Doctor(){} 16 | 17 | public Doctor(int did, String dname, String dlevel, String dinfo, String ddepartid, int sex, String ddetail) { 18 | this.did = did; 19 | this.dname = dname; 20 | this.dlevel = dlevel; 21 | this.dinfo = dinfo; 22 | this.ddepartid = ddepartid; 23 | this.sex = sex; 24 | this.ddetail = ddetail; 25 | } 26 | 27 | protected Doctor(Parcel in) { 28 | did = in.readInt(); 29 | dname = in.readString(); 30 | dlevel = in.readString(); 31 | dinfo = in.readString(); 32 | ddepartid = in.readString(); 33 | sex = in.readInt(); 34 | ddetail = in.readString(); 35 | } 36 | 37 | public static final Creator CREATOR = new Creator() { 38 | @Override 39 | public Doctor createFromParcel(Parcel in) { 40 | return new Doctor(in); 41 | } 42 | 43 | @Override 44 | public Doctor[] newArray(int size) { 45 | return new Doctor[size]; 46 | } 47 | }; 48 | 49 | public int getDid() { 50 | return did; 51 | } 52 | 53 | public void setDid(int did) { 54 | this.did = did; 55 | } 56 | 57 | public String getDname() { 58 | return dname; 59 | } 60 | 61 | public void setDname(String dname) { 62 | this.dname = dname; 63 | } 64 | 65 | public String getDlevel() { 66 | return dlevel; 67 | } 68 | 69 | public void setDlevel(String dlevel) { 70 | this.dlevel = dlevel; 71 | } 72 | 73 | public String getDinfo() { 74 | return dinfo; 75 | } 76 | 77 | public void setDinfo(String dinfo) { 78 | this.dinfo = dinfo; 79 | } 80 | 81 | public String getDdepartid() { 82 | return ddepartid; 83 | } 84 | 85 | public void setDdepartid(String ddepartid) { 86 | this.ddepartid = ddepartid; 87 | } 88 | 89 | public int getSex() { 90 | return sex; 91 | } 92 | 93 | public void setSex(int sex) { 94 | this.sex = sex; 95 | } 96 | 97 | public String getDdetail() { 98 | return ddetail; 99 | } 100 | 101 | public void setDdetail(String ddetail) { 102 | this.ddetail = ddetail; 103 | } 104 | 105 | @Override 106 | public String toString() { 107 | return "Doctor{" + 108 | "did=" + did + 109 | ", dname='" + dname + '\'' + 110 | ", dlevel='" + dlevel + '\'' + 111 | ", dinfo='" + dinfo + '\'' + 112 | ", ddepartid='" + ddepartid + '\'' + 113 | ", sex=" + sex + 114 | ", ddetail='" + ddetail + '\'' + 115 | '}'; 116 | } 117 | 118 | @Override 119 | public int describeContents() { 120 | return 0; 121 | } 122 | 123 | @Override 124 | public void writeToParcel(Parcel parcel, int i) { 125 | parcel.writeInt(did); 126 | parcel.writeString(dname); 127 | parcel.writeString(dlevel); 128 | parcel.writeString(dinfo); 129 | parcel.writeString(ddepartid); 130 | parcel.writeInt(sex); 131 | parcel.writeString(ddetail); 132 | } 133 | } 134 | -------------------------------------------------------------------------------- /PalmHospital/app/src/main/java/com/example/palmhospital/bean/Order.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospital.bean; 2 | 3 | public class Order { 4 | String time; 5 | String departname; 6 | String dname; 7 | public Order(){} 8 | public Order(String time, String departname, String dname) { 9 | this.time = time; 10 | this.departname = departname; 11 | this.dname = dname; 12 | } 13 | 14 | public String getTime() { 15 | return time; 16 | } 17 | 18 | public void setTime(String time) { 19 | this.time = time; 20 | } 21 | 22 | public String getDepartname() { 23 | return departname; 24 | } 25 | 26 | public void setDepartname(String departname) { 27 | this.departname = departname; 28 | } 29 | 30 | public String getDname() { 31 | return dname; 32 | } 33 | 34 | public void setDname(String dname) { 35 | this.dname = dname; 36 | } 37 | 38 | @Override 39 | public String toString() { 40 | return "Order{" + 41 | "time='" + time + '\'' + 42 | ", departname='" + departname + '\'' + 43 | ", dname='" + dname + '\'' + 44 | '}'; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /PalmHospital/app/src/main/java/com/example/palmhospital/bean/Schedule.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospital.bean; 2 | 3 | public class Schedule { 4 | private int sid; 5 | private int did; 6 | private String time; 7 | float price; 8 | 9 | public Schedule(){} 10 | public Schedule(int sid, int did, String time, float price) { 11 | this.sid = sid; 12 | this.did = did; 13 | this.time = time; 14 | this.price = price; 15 | } 16 | 17 | public int getSid() { 18 | return sid; 19 | } 20 | 21 | public void setSid(int sid) { 22 | this.sid = sid; 23 | } 24 | 25 | public int getDid() { 26 | return did; 27 | } 28 | 29 | public void setDid(int did) { 30 | this.did = did; 31 | } 32 | 33 | public String getTime() { 34 | return time; 35 | } 36 | 37 | public void setTime(String time) { 38 | this.time = time; 39 | } 40 | 41 | public float getPrice() { 42 | return price; 43 | } 44 | 45 | public void setPrice(float price) { 46 | this.price = price; 47 | } 48 | 49 | @Override 50 | public String toString() { 51 | return "Schedule{" + 52 | "sid=" + sid + 53 | ", did=" + did + 54 | ", time='" + time + '\'' + 55 | ", price=" + price + 56 | '}'; 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /PalmHospital/app/src/main/java/com/example/palmhospital/bean/User.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospital.bean; 2 | 3 | 4 | public class User { 5 | private String uid; 6 | private String uname; 7 | private String upsw; 8 | public User(){} 9 | public User(String uid, String uname, String upsw) { 10 | this.uid = uid; 11 | this.uname = uname; 12 | this.upsw = upsw; 13 | } 14 | 15 | @Override 16 | public String toString() { 17 | return "User{" + 18 | "uid='" + uid + '\'' + 19 | ", uname='" + uname + '\'' + 20 | ", upsw='" + upsw + '\'' + 21 | '}'; 22 | } 23 | 24 | public String getUid() { 25 | return uid; 26 | } 27 | 28 | public void setUid(String uid) { 29 | this.uid = uid; 30 | } 31 | 32 | public String getUname() { 33 | return uname; 34 | } 35 | 36 | public void setUname(String uname) { 37 | this.uname = uname; 38 | } 39 | 40 | public String getUpsw() { 41 | return upsw; 42 | } 43 | 44 | public void setUpsw(String upsw) { 45 | this.upsw = upsw; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /PalmHospital/app/src/main/java/com/example/palmhospital/ui/activity/ChooseDepartActivity.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospital.ui.activity; 2 | 3 | import androidx.appcompat.app.AppCompatActivity; 4 | 5 | import android.content.Context; 6 | import android.content.Intent; 7 | import android.os.AsyncTask; 8 | import android.os.Bundle; 9 | import android.util.Log; 10 | import android.view.LayoutInflater; 11 | import android.view.View; 12 | import android.view.ViewGroup; 13 | import android.widget.BaseAdapter; 14 | import android.widget.Button; 15 | import android.widget.ImageView; 16 | import android.widget.ListView; 17 | import android.widget.TextView; 18 | 19 | import com.example.palmhospital.Config; 20 | import com.example.palmhospital.R; 21 | import com.example.palmhospital.bean.Depart; 22 | import com.example.palmhospital.bean.User; 23 | import com.example.palmhospital.utils.NetUtil; 24 | import com.google.gson.Gson; 25 | import com.google.gson.reflect.TypeToken; 26 | 27 | import java.util.List; 28 | 29 | public class ChooseDepartActivity extends AppCompatActivity { 30 | private String baseurl= Config.baseUrl + "ChooseDepartServlet"; 31 | private String result; 32 | private List departs; 33 | private ListView departListView; 34 | @Override 35 | protected void onCreate(Bundle savedInstanceState) { 36 | super.onCreate(savedInstanceState); 37 | setContentView(R.layout.activity_choose_depart); 38 | 39 | departListView = (ListView)findViewById(R.id.depart_list_view); 40 | new DepartAsyncTask().execute(); 41 | 42 | ImageView btn_back = findViewById(R.id.btn_back); 43 | btn_back.setOnClickListener(new View.OnClickListener() { 44 | @Override 45 | public void onClick(View view) { 46 | Intent intent = new Intent(ChooseDepartActivity.this,IndexActivity.class); 47 | startActivity(intent); 48 | } 49 | }); 50 | 51 | 52 | } 53 | 54 | public class DepartListAdapter extends BaseAdapter{ 55 | private List mdeparts; 56 | DepartListAdapter(List departs){ 57 | mdeparts = departs; 58 | } 59 | @Override 60 | public int getCount() { 61 | return mdeparts.size(); 62 | } 63 | 64 | @Override 65 | public Object getItem(int i) { 66 | return mdeparts.get(i); 67 | } 68 | 69 | @Override 70 | public long getItemId(int i) { 71 | return mdeparts.get(i).getDepartid(); 72 | } 73 | 74 | @Override 75 | public View getView(int i, View view, ViewGroup viewGroup) { 76 | 77 | if(view == null){ 78 | LayoutInflater layoutInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); 79 | view = layoutInflater.inflate(R.layout.item_depart_list_view,null); 80 | } 81 | TextView departName = view.findViewById(R.id.depart_name_tv); 82 | departName.setText(mdeparts.get(i).getDepartname()); 83 | 84 | departName.setOnClickListener(new View.OnClickListener() { 85 | @Override 86 | public void onClick(View view) { 87 | Intent intent = new Intent(ChooseDepartActivity.this,ChooseDoctorActivity.class); 88 | intent.putExtra("depart",new Gson().toJson(mdeparts.get(i))); 89 | startActivity(intent); 90 | 91 | 92 | } 93 | }); 94 | 95 | return view; 96 | } 97 | } 98 | 99 | public class DepartAsyncTask extends AsyncTask { 100 | 101 | @Override 102 | protected String doInBackground(Void... params) { 103 | result = NetUtil.requestDataByGet(baseurl); 104 | return result; 105 | } 106 | 107 | @Override 108 | protected void onPostExecute(String result) { 109 | super.onPostExecute(result); 110 | Gson gson = new Gson(); 111 | departs = gson.fromJson(result, new TypeToken>() {}.getType()); 112 | departListView.setAdapter(new DepartListAdapter( departs)); 113 | } 114 | } 115 | } -------------------------------------------------------------------------------- /PalmHospital/app/src/main/java/com/example/palmhospital/ui/activity/ChooseDoctorActivity.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospital.ui.activity; 2 | 3 | import androidx.appcompat.app.AppCompatActivity; 4 | 5 | import android.content.Context; 6 | import android.content.Intent; 7 | import android.os.AsyncTask; 8 | import android.os.Bundle; 9 | import android.util.Log; 10 | import android.view.LayoutInflater; 11 | import android.view.View; 12 | import android.view.ViewGroup; 13 | import android.widget.BaseAdapter; 14 | import android.widget.Button; 15 | import android.widget.ImageView; 16 | import android.widget.LinearLayout; 17 | import android.widget.ListView; 18 | import android.widget.TextView; 19 | 20 | import com.example.palmhospital.Config; 21 | import com.example.palmhospital.R; 22 | import com.example.palmhospital.bean.Depart; 23 | import com.example.palmhospital.bean.Doctor; 24 | import com.example.palmhospital.bean.User; 25 | import com.example.palmhospital.utils.NetUtil; 26 | import com.google.gson.Gson; 27 | import com.google.gson.reflect.TypeToken; 28 | 29 | import java.util.List; 30 | 31 | public class ChooseDoctorActivity extends AppCompatActivity { 32 | private String baseurl= Config.baseUrl + "ChooseDoctorServlet"; 33 | public static Depart depart = null; 34 | private String result; 35 | private List doctors; 36 | private ListView doctorListView; 37 | 38 | @Override 39 | protected void onCreate(Bundle savedInstanceState) { 40 | super.onCreate(savedInstanceState); 41 | setContentView(R.layout.activity_choose_doctor); 42 | 43 | int departid = 1; 44 | if(getIntent().hasExtra("depart")){ 45 | String departJson = getIntent().getStringExtra("depart"); 46 | depart = new Gson().fromJson(departJson, Depart.class); 47 | departid = depart.getDepartid(); 48 | } 49 | else if(getIntent().hasExtra("departid")){ 50 | departid = getIntent().getIntExtra("departid",1); 51 | } 52 | 53 | 54 | baseurl = baseurl + "?departid=" + departid; 55 | 56 | // 向服务器请求医生的数据 —— 传参数:科室id 57 | 58 | doctorListView = (ListView)findViewById(R.id.doctor_list_view); 59 | new ChooseDoctorActivity.DoctorAsyncTask().execute(); 60 | 61 | ImageView btn_back = findViewById(R.id.btn_back); 62 | btn_back.setOnClickListener(new View.OnClickListener() { 63 | @Override 64 | public void onClick(View view) { 65 | Intent intent = new Intent(ChooseDoctorActivity.this,ChooseDepartActivity.class); 66 | startActivity(intent); 67 | } 68 | }); 69 | 70 | 71 | 72 | } 73 | 74 | public class DoctorListAdapter extends BaseAdapter { 75 | private List mdoctors; 76 | DoctorListAdapter(List doctors){ 77 | mdoctors = doctors; 78 | } 79 | @Override 80 | public int getCount() { 81 | return mdoctors.size(); 82 | } 83 | 84 | @Override 85 | public Object getItem(int i) { 86 | return mdoctors.get(i); 87 | } 88 | 89 | @Override 90 | public long getItemId(int i) { 91 | return mdoctors.get(i).getDid(); 92 | } 93 | 94 | @Override 95 | public View getView(int i, View view, ViewGroup viewGroup) { 96 | 97 | if(view == null){ 98 | LayoutInflater layoutInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); 99 | view = layoutInflater.inflate(R.layout.item_doctor_list_view,null); 100 | } 101 | ImageView dimg = view.findViewById(R.id.dimg); 102 | TextView dname = view.findViewById(R.id.dname); 103 | TextView dlevel = view.findViewById(R.id.dlevel); 104 | TextView dinfo = view.findViewById(R.id.dinfo); 105 | 106 | LinearLayout btn_ddetail = view.findViewById(R.id.btn_ddetail); 107 | Button btn_reverse = view.findViewById(R.id.btn_reverse); 108 | 109 | 110 | if(mdoctors.get(i).getSex()==1){ 111 | dimg.setImageResource(R.mipmap.doctor_male); 112 | } 113 | else{ 114 | dimg.setImageResource(R.mipmap.doctor_female); 115 | } 116 | dname.setText(mdoctors.get(i).getDname()); 117 | dlevel.setText(mdoctors.get(i).getDlevel()); 118 | dinfo.setText(mdoctors.get(i).getDinfo()); 119 | 120 | 121 | btn_ddetail.setOnClickListener(new View.OnClickListener(){ 122 | @Override 123 | public void onClick(View view) { 124 | Intent intent = new Intent(ChooseDoctorActivity.this,DoctorDetailActivity.class); 125 | intent.putExtra("doctor",new Gson().toJson(mdoctors.get(i))); 126 | startActivity(intent); 127 | } 128 | }); 129 | 130 | btn_reverse.setOnClickListener(new View.OnClickListener() { 131 | @Override 132 | public void onClick(View view) { 133 | Intent intent = new Intent(ChooseDoctorActivity.this,ChooseTimeActivity.class); 134 | intent.putExtra("doctor",new Gson().toJson(mdoctors.get(i))); 135 | startActivity(intent); 136 | } 137 | }); 138 | 139 | return view; 140 | } 141 | } 142 | 143 | 144 | public class DoctorAsyncTask extends AsyncTask { 145 | 146 | @Override 147 | protected String doInBackground(Void... params) { 148 | result = NetUtil.requestDataByGet(baseurl); 149 | return result; 150 | } 151 | 152 | @Override 153 | protected void onPostExecute(String result) { 154 | super.onPostExecute(result); 155 | Gson gson = new Gson(); 156 | doctors = gson.fromJson(result, new TypeToken>() {}.getType()); 157 | doctorListView.setAdapter(new ChooseDoctorActivity.DoctorListAdapter( doctors)); 158 | } 159 | } 160 | } -------------------------------------------------------------------------------- /PalmHospital/app/src/main/java/com/example/palmhospital/ui/activity/ChooseTimeActivity.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospital.ui.activity; 2 | 3 | import androidx.appcompat.app.AppCompatActivity; 4 | 5 | import android.content.Context; 6 | import android.content.Intent; 7 | import android.os.AsyncTask; 8 | import android.os.Bundle; 9 | import android.util.Log; 10 | import android.view.LayoutInflater; 11 | import android.view.View; 12 | import android.view.ViewGroup; 13 | import android.widget.BaseAdapter; 14 | import android.widget.Button; 15 | import android.widget.ImageView; 16 | import android.widget.LinearLayout; 17 | import android.widget.ListView; 18 | import android.widget.TextView; 19 | 20 | import com.example.palmhospital.Config; 21 | import com.example.palmhospital.R; 22 | import com.example.palmhospital.bean.Doctor; 23 | import com.example.palmhospital.bean.Schedule; 24 | import com.example.palmhospital.utils.NetUtil; 25 | import com.google.gson.Gson; 26 | import com.google.gson.reflect.TypeToken; 27 | 28 | import java.util.List; 29 | 30 | public class ChooseTimeActivity extends AppCompatActivity { 31 | private String baseurl= Config.baseUrl + "ChooseTimeServlet"; 32 | private String result; 33 | private Doctor doctor; 34 | private List schedules; 35 | 36 | private ListView timeListView; 37 | @Override 38 | protected void onCreate(Bundle savedInstanceState) { 39 | super.onCreate(savedInstanceState); 40 | setContentView(R.layout.activity_choose_time); 41 | timeListView = findViewById(R.id.time_list_view); 42 | 43 | if(getIntent().hasExtra("doctor")){ 44 | String doctorJson = getIntent().getStringExtra("doctor"); 45 | doctor = new Gson().fromJson(doctorJson, Doctor.class); 46 | } 47 | 48 | 49 | baseurl= baseurl + "?did="+doctor.getDid(); 50 | new ChooseTimeActivity.TimeAsyncTask().execute(); 51 | 52 | 53 | ImageView dimg = findViewById(R.id.dimg); 54 | TextView dname = findViewById(R.id.dname); 55 | TextView dlevel = findViewById(R.id.dlevel); 56 | TextView dinfo = findViewById(R.id.dinfo); 57 | 58 | 59 | if(doctor.getSex()==1){ 60 | dimg.setImageResource(R.mipmap.doctor_male); 61 | } 62 | else{ 63 | dimg.setImageResource(R.mipmap.doctor_female); 64 | } 65 | dname.setText(doctor.getDname()); 66 | dlevel.setText(doctor.getDlevel()); 67 | dinfo.setText(doctor.getDinfo()); 68 | 69 | 70 | 71 | ImageView btn_back = findViewById(R.id.btn_back); 72 | btn_back.setOnClickListener(new View.OnClickListener() { 73 | @Override 74 | public void onClick(View view) { 75 | Intent intent = new Intent(ChooseTimeActivity.this,ChooseDoctorActivity.class); 76 | intent.putExtra("departid",doctor.getDdepartid()); 77 | startActivity(intent); 78 | } 79 | }); 80 | 81 | 82 | } 83 | 84 | public class TimeListAdapter extends BaseAdapter { 85 | private List mschedules; 86 | TimeListAdapter(List schedules){ 87 | mschedules = schedules; 88 | } 89 | @Override 90 | public int getCount() { 91 | return mschedules.size(); 92 | } 93 | 94 | @Override 95 | public Object getItem(int i) { 96 | return mschedules.get(i); 97 | } 98 | 99 | @Override 100 | public long getItemId(int i) { 101 | return mschedules.get(i).getDid(); 102 | } 103 | 104 | @Override 105 | public View getView(int i, View view, ViewGroup viewGroup) { 106 | if (view == null) { 107 | LayoutInflater layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 108 | view = layoutInflater.inflate(R.layout.item_time_list_view, null); 109 | } 110 | 111 | TextView time = view.findViewById(R.id.time); 112 | TextView price = view.findViewById(R.id.price); 113 | 114 | time.setText(mschedules.get(i).getTime()); 115 | float fprice = mschedules.get(i).getPrice(); 116 | price.setText("¥" + fprice); 117 | 118 | view.setOnClickListener(new View.OnClickListener() { 119 | @Override 120 | public void onClick(View view) { 121 | // 进入支付界面 122 | Intent intent = new Intent(ChooseTimeActivity.this,PayActivity.class); 123 | intent.putExtra("schedule",new Gson().toJson(mschedules.get(i))); 124 | intent.putExtra("doctor",new Gson().toJson(doctor)); 125 | startActivity(intent); 126 | } 127 | }); 128 | return view; 129 | } 130 | 131 | } 132 | 133 | 134 | 135 | public class TimeAsyncTask extends AsyncTask { 136 | 137 | @Override 138 | protected String doInBackground(Void... params) { 139 | result = NetUtil.requestDataByGet(baseurl); 140 | return result; 141 | } 142 | 143 | @Override 144 | protected void onPostExecute(String result) { 145 | super.onPostExecute(result); 146 | Gson gson = new Gson(); 147 | schedules = gson.fromJson(result, new TypeToken>() {}.getType()); 148 | 149 | timeListView.setAdapter(new ChooseTimeActivity.TimeListAdapter( schedules)); 150 | } 151 | } 152 | 153 | 154 | } -------------------------------------------------------------------------------- /PalmHospital/app/src/main/java/com/example/palmhospital/ui/activity/DoctorDetailActivity.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospital.ui.activity; 2 | 3 | import androidx.appcompat.app.AppCompatActivity; 4 | 5 | import android.content.Intent; 6 | import android.os.Bundle; 7 | import android.util.Log; 8 | import android.view.View; 9 | import android.widget.Button; 10 | import android.widget.ImageView; 11 | import android.widget.LinearLayout; 12 | import android.widget.TextView; 13 | 14 | import com.example.palmhospital.R; 15 | import com.example.palmhospital.bean.Doctor; 16 | import com.google.gson.Gson; 17 | 18 | public class DoctorDetailActivity extends AppCompatActivity { 19 | private Doctor doctor; 20 | @Override 21 | protected void onCreate(Bundle savedInstanceState) { 22 | super.onCreate(savedInstanceState); 23 | setContentView(R.layout.activity_doctor_detail); 24 | 25 | String doctorJson = getIntent().getStringExtra("doctor"); 26 | doctor = new Gson().fromJson(doctorJson, Doctor.class); 27 | 28 | Log.e("DoctorDetailActivity","传来的数据:"+ doctor); 29 | 30 | ImageView dimg = findViewById(R.id.dimg); 31 | TextView dname = findViewById(R.id.dname); 32 | TextView dlevel = findViewById(R.id.dlevel); 33 | TextView dinfo = findViewById(R.id.dinfo); 34 | TextView ddetail = findViewById(R.id.ddetail); 35 | 36 | 37 | 38 | if(doctor.getSex()==1){ 39 | dimg.setImageResource(R.mipmap.doctor_male); 40 | } 41 | else{ 42 | dimg.setImageResource(R.mipmap.doctor_female); 43 | } 44 | dname.setText(doctor.getDname()); 45 | dlevel.setText(doctor.getDlevel()); 46 | dinfo.setText(doctor.getDinfo()); 47 | ddetail.setText(doctor.getDdetail()); 48 | 49 | ImageView btn_back = findViewById(R.id.btn_back); 50 | btn_back.setOnClickListener(new View.OnClickListener() { 51 | @Override 52 | public void onClick(View view) { 53 | Intent intent = new Intent(DoctorDetailActivity.this,ChooseDoctorActivity.class); 54 | intent.putExtra("departid",doctor.getDdepartid()); 55 | startActivity(intent); 56 | } 57 | }); 58 | 59 | 60 | 61 | } 62 | } -------------------------------------------------------------------------------- /PalmHospital/app/src/main/java/com/example/palmhospital/ui/activity/IndexActivity.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospital.ui.activity; 2 | 3 | import androidx.appcompat.app.AppCompatActivity; 4 | 5 | import android.content.Intent; 6 | import android.os.Bundle; 7 | import android.util.Log; 8 | import android.view.View; 9 | import android.widget.Button; 10 | import android.widget.TextView; 11 | import android.widget.Toast; 12 | 13 | import com.example.palmhospital.R; 14 | import com.example.palmhospital.bean.Doctor; 15 | import com.example.palmhospital.bean.User; 16 | import com.google.gson.Gson; 17 | 18 | public class IndexActivity extends AppCompatActivity { 19 | public static User user = new User("001","李明","123"); 20 | 21 | 22 | 23 | @Override 24 | protected void onCreate(Bundle savedInstanceState) { 25 | super.onCreate(savedInstanceState); 26 | setContentView(R.layout.activity_index); 27 | 28 | if(getIntent().hasExtra("user")){ 29 | String userJson = getIntent().getStringExtra("user"); 30 | user = new Gson().fromJson(userJson, User.class); 31 | } 32 | 33 | TextView uname = findViewById(R.id.welcome_uname); 34 | 35 | Button btn1 = findViewById(R.id.btn1); 36 | Button btn2 = findViewById(R.id.btn2); 37 | Button btn3 = findViewById(R.id.btn3); 38 | 39 | if(user!=null){ 40 | uname.setText("" + user.getUname() + ",欢迎您!"); 41 | } 42 | 43 | btn1.setOnClickListener(new View.OnClickListener() { 44 | @Override 45 | public void onClick(View view) { 46 | 47 | startActivity(new Intent(IndexActivity.this,ChooseDepartActivity.class)); 48 | Log.e("IndexActivity","即将跳转到查询所有部门界面"); 49 | } 50 | }); 51 | 52 | btn2.setOnClickListener(new View.OnClickListener() { 53 | @Override 54 | public void onClick(View view) { 55 | Intent intent = new Intent(IndexActivity.this,MyInfoActivity.class); 56 | intent.putExtra("user",new Gson().toJson(user)); 57 | startActivity(intent); 58 | 59 | } 60 | }); 61 | 62 | btn3.setOnClickListener(new View.OnClickListener() { 63 | @Override 64 | public void onClick(View view) { 65 | startActivity(new Intent(IndexActivity.this,LoginActivity.class)); 66 | Toast.makeText(getBaseContext(),"退出账户成功!",Toast.LENGTH_SHORT).show(); 67 | } 68 | }); 69 | } 70 | 71 | 72 | 73 | 74 | } -------------------------------------------------------------------------------- /PalmHospital/app/src/main/java/com/example/palmhospital/ui/activity/LoginActivity.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospital.ui.activity; 2 | 3 | import androidx.appcompat.app.AppCompatActivity; 4 | 5 | import android.content.Intent; 6 | import android.os.Bundle; 7 | import android.text.TextUtils; 8 | import android.util.Log; 9 | import android.view.View; 10 | import android.widget.Button; 11 | import android.widget.EditText; 12 | import android.widget.TextView; 13 | import android.widget.Toast; 14 | 15 | import com.example.palmhospital.Config; 16 | import com.example.palmhospital.R; 17 | import com.example.palmhospital.bean.User; 18 | import com.example.palmhospital.utils.NetUtil; 19 | import com.google.gson.Gson; 20 | 21 | import java.io.IOException; 22 | import java.io.InputStream; 23 | import java.io.OutputStream; 24 | import java.net.HttpURLConnection; 25 | import java.net.MalformedURLException; 26 | import java.net.URL; 27 | import java.net.URLEncoder; 28 | 29 | public class LoginActivity extends AppCompatActivity { 30 | private EditText mEtUid; 31 | private EditText mEtUpsw; 32 | private Button mBtnLogin; 33 | private TextView mTvRegister; 34 | private String baseurl= Config.baseUrl + "LoginServlet"; 35 | public static String uid; 36 | private String upsw; 37 | private String mResult; 38 | public User user = null; 39 | 40 | @Override 41 | protected void onCreate(Bundle savedInstanceState) { 42 | super.onCreate(savedInstanceState); 43 | setContentView(R.layout.activity_login); 44 | user = null; 45 | initView(); 46 | initEvent(); 47 | } 48 | 49 | private void initEvent() { 50 | 51 | // 点击登录按钮 52 | mBtnLogin.setOnClickListener(new View.OnClickListener() { 53 | @Override 54 | public void onClick(View view) { 55 | uid = mEtUid.getText().toString(); 56 | upsw = mEtUpsw.getText().toString(); 57 | Log.e("LoginActivity",""+uid); 58 | Log.e("LoginActivity",""+upsw); 59 | if(TextUtils.isEmpty(uid)||TextUtils.isEmpty(upsw)){ 60 | Log.i("LoginActivity","账号或密码不能为空"); 61 | Toast.makeText(getBaseContext(),"账号或密码不能为空",Toast.LENGTH_SHORT).show(); 62 | return; 63 | } 64 | 65 | else{ // 提交参数给服务器端,进行登录逻辑验证 66 | new Thread(new Runnable() { 67 | @Override 68 | public void run() { 69 | requestDataByPost(baseurl); 70 | if(user!=null){ 71 | runOnUiThread(new Runnable() { 72 | @Override 73 | public void run() { 74 | Toast ts = Toast.makeText(getBaseContext(),"登录成功!",Toast.LENGTH_SHORT); 75 | ts.show(); 76 | 77 | } 78 | }); 79 | Intent intent = new Intent(LoginActivity.this,IndexActivity.class); 80 | intent.putExtra("user",new Gson().toJson(user)); 81 | startActivity(intent); 82 | 83 | } 84 | else{ 85 | runOnUiThread(new Runnable() { 86 | @Override 87 | public void run() { 88 | Toast ts = Toast.makeText(getBaseContext(),"账号或密码错误!",Toast.LENGTH_SHORT); 89 | ts.show(); 90 | } 91 | }); 92 | } 93 | } 94 | }).start(); 95 | } 96 | } 97 | }); 98 | 99 | // 点击注册按钮,跳转到注册界面 100 | mTvRegister.setOnClickListener(new View.OnClickListener() { 101 | @Override 102 | public void onClick(View view) { 103 | toRegisterActivity(); 104 | } 105 | }); 106 | } 107 | 108 | private void toRegisterActivity() { 109 | startActivity(new Intent(this,RegisterActivity.class)); 110 | } 111 | 112 | private void initView() { 113 | mEtUid = findViewById(R.id.id_et_uid); 114 | mEtUpsw = findViewById(R.id.id_et_upsw); 115 | mBtnLogin = findViewById(R.id.id_btn_login); 116 | mTvRegister = findViewById(R.id.id_tv_register); 117 | } 118 | 119 | public String requestDataByPost(String urlString) { 120 | String result = null; 121 | try { 122 | URL url = new URL(urlString); 123 | HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 124 | connection.setConnectTimeout(30000); 125 | connection.setRequestMethod("POST"); 126 | 127 | // 设置运行输入,输出: 128 | connection.setDoOutput(true); 129 | connection.setDoInput(true); 130 | // Post方式不能缓存,需手动设置为false 131 | connection.setUseCaches(false); 132 | connection.connect(); 133 | 134 | // 我们请求的数据: 135 | String data = "uid=" + URLEncoder.encode(uid, "UTF-8") 136 | + "&upsw=" + URLEncoder.encode(upsw, "UTF-8"); 137 | // 获取输出流 138 | OutputStream out = connection.getOutputStream(); 139 | out.write(data.getBytes()); 140 | out.flush(); 141 | out.close(); 142 | 143 | int responseCode = connection.getResponseCode(); 144 | if (responseCode == HttpURLConnection.HTTP_OK) { 145 | InputStream inputStream = connection.getInputStream(); 146 | result = NetUtil.streamToString(inputStream); 147 | 148 | user = new Gson().fromJson(result,User.class); 149 | 150 | 151 | } else { 152 | String responseMessage = connection.getResponseMessage(); 153 | 154 | } 155 | 156 | 157 | connection.disconnect(); 158 | return result; 159 | } catch (MalformedURLException e) { 160 | e.printStackTrace(); 161 | } catch (IOException e) { 162 | e.printStackTrace(); 163 | } 164 | return null; 165 | } 166 | 167 | 168 | } -------------------------------------------------------------------------------- /PalmHospital/app/src/main/java/com/example/palmhospital/ui/activity/MyInfoActivity.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospital.ui.activity; 2 | 3 | import androidx.appcompat.app.AppCompatActivity; 4 | 5 | import android.content.Context; 6 | import android.content.Intent; 7 | import android.os.AsyncTask; 8 | import android.os.Bundle; 9 | import android.view.LayoutInflater; 10 | import android.view.View; 11 | import android.view.ViewGroup; 12 | import android.widget.BaseAdapter; 13 | import android.widget.Button; 14 | import android.widget.ImageView; 15 | import android.widget.ListView; 16 | import android.widget.TextView; 17 | 18 | import com.example.palmhospital.Config; 19 | import com.example.palmhospital.R; 20 | import com.example.palmhospital.bean.Doctor; 21 | import com.example.palmhospital.bean.Order; 22 | import com.example.palmhospital.bean.Schedule; 23 | import com.example.palmhospital.bean.User; 24 | import com.example.palmhospital.utils.NetUtil; 25 | import com.google.gson.Gson; 26 | import com.google.gson.reflect.TypeToken; 27 | 28 | import java.util.List; 29 | 30 | public class MyInfoActivity extends AppCompatActivity { 31 | private User user; 32 | private ListView myInfoListView; 33 | private String result; 34 | private String baseurl= Config.baseUrl + "MyinfoServlet"; 35 | private List orders; 36 | @Override 37 | protected void onCreate(Bundle savedInstanceState) { 38 | super.onCreate(savedInstanceState); 39 | setContentView(R.layout.activity_my_info); 40 | 41 | 42 | user = new Gson().fromJson( getIntent().getStringExtra("user"), User.class); 43 | 44 | TextView uname = findViewById(R.id.welcome_uname); 45 | ImageView btn_back = findViewById(R.id.btn_back); 46 | myInfoListView = findViewById(R.id.myinfo_list_view); 47 | 48 | btn_back.setOnClickListener(new View.OnClickListener() { 49 | @Override 50 | public void onClick(View view) { 51 | Intent intent = new Intent(MyInfoActivity.this,IndexActivity.class); 52 | intent.putExtra("user",new Gson().toJson(user)); 53 | startActivity(intent); 54 | } 55 | }); 56 | 57 | if(user!=null){ 58 | uname.setText("" + user.getUname() + ",欢迎您!"); 59 | } 60 | 61 | baseurl= baseurl + "?uid="+user.getUid(); 62 | new MyInfoActivity.MyinfoAsyncTask().execute(); 63 | 64 | } 65 | public class MyinfoListAdapter extends BaseAdapter { 66 | private List morders; 67 | MyinfoListAdapter(List orders){ 68 | morders = orders; 69 | } 70 | @Override 71 | public int getCount() { 72 | return morders.size(); 73 | } 74 | 75 | @Override 76 | public Object getItem(int i) { 77 | return morders.get(i); 78 | } 79 | 80 | @Override 81 | public long getItemId(int i) { 82 | return i; 83 | } 84 | 85 | @Override 86 | public View getView(int i, View view, ViewGroup viewGroup) { 87 | if (view == null) { 88 | LayoutInflater layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 89 | view = layoutInflater.inflate(R.layout.item_myinfo_list_view, null); 90 | } 91 | 92 | TextView time = view.findViewById(R.id.time); 93 | TextView departname = view.findViewById(R.id.departname); 94 | TextView dname = view.findViewById(R.id.dname); 95 | 96 | time.setText(morders.get(i).getTime()); 97 | departname.setText(morders.get(i).getDepartname()); 98 | dname.setText(morders.get(i).getDname()); 99 | 100 | return view; 101 | } 102 | 103 | } 104 | public class MyinfoAsyncTask extends AsyncTask { 105 | @Override 106 | protected String doInBackground(Void... params) { 107 | result = NetUtil.requestDataByGet(baseurl); 108 | return result; 109 | } 110 | 111 | @Override 112 | protected void onPostExecute(String result) { 113 | super.onPostExecute(result); 114 | Gson gson = new Gson(); 115 | orders = gson.fromJson(result, new TypeToken>() {}.getType()); 116 | myInfoListView.setAdapter(new MyInfoActivity.MyinfoListAdapter( orders)); 117 | } 118 | } 119 | 120 | 121 | } -------------------------------------------------------------------------------- /PalmHospital/app/src/main/java/com/example/palmhospital/ui/activity/PayActivity.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospital.ui.activity; 2 | 3 | import androidx.appcompat.app.AppCompatActivity; 4 | 5 | import android.content.Intent; 6 | import android.os.AsyncTask; 7 | import android.os.Bundle; 8 | import android.util.Log; 9 | import android.view.View; 10 | import android.widget.Button; 11 | import android.widget.TextView; 12 | import android.widget.Toast; 13 | 14 | import com.example.palmhospital.Config; 15 | import com.example.palmhospital.R; 16 | import com.example.palmhospital.bean.Doctor; 17 | import com.example.palmhospital.bean.Schedule; 18 | import com.example.palmhospital.bean.User; 19 | import com.example.palmhospital.utils.NetUtil; 20 | import com.google.gson.Gson; 21 | 22 | public class PayActivity extends AppCompatActivity { 23 | private String baseurl= Config.baseUrl + "PayServlet"; 24 | private User user; 25 | private Schedule schedule; 26 | private String result; 27 | private Doctor doctor; 28 | 29 | @Override 30 | protected void onCreate(Bundle savedInstanceState) { 31 | super.onCreate(savedInstanceState); 32 | setContentView(R.layout.activity_pay); 33 | 34 | // 获取参数 35 | String doctorJson = getIntent().getStringExtra("doctor"); 36 | doctor = new Gson().fromJson(doctorJson, Doctor.class); 37 | 38 | String scheduleJson = getIntent().getStringExtra("schedule"); 39 | schedule = new Gson().fromJson(scheduleJson, Schedule.class); 40 | 41 | //显示挂号信息 42 | TextView uname = findViewById(R.id.uname); 43 | TextView dname = findViewById(R.id.dname); 44 | TextView departname = findViewById(R.id.departname); 45 | TextView time = findViewById(R.id.time); 46 | TextView price = findViewById(R.id.price); 47 | // 48 | user = IndexActivity.user; 49 | uname.setText(user.getUname()); 50 | dname.setText(doctor.getDname()); 51 | departname.setText(ChooseDoctorActivity.depart.getDepartname()); 52 | time.setText(schedule.getTime()); 53 | price.setText("¥"+schedule.getPrice()); 54 | 55 | // 按钮 56 | Button pay_yes = findViewById(R.id.pay_yes); 57 | Button pay_no = findViewById(R.id.pay_no); 58 | 59 | pay_yes.setOnClickListener(new View.OnClickListener() { 60 | @Override 61 | public void onClick(View view) { 62 | baseurl += "?sid="+schedule.getSid()+"&uid="+user.getUid(); 63 | Toast.makeText(getBaseContext(),"预约挂号成功!",Toast.LENGTH_SHORT).show(); 64 | new PayActivity.PayAsyncTask().execute(); 65 | 66 | } 67 | }); 68 | 69 | pay_no.setOnClickListener(new View.OnClickListener() { 70 | @Override 71 | public void onClick(View view) { 72 | Toast.makeText(getBaseContext(),"预约挂号取消成功!",Toast.LENGTH_SHORT).show(); 73 | Intent intent = new Intent(PayActivity.this,ChooseTimeActivity.class); 74 | intent.putExtra("doctor",new Gson().toJson(doctor)); 75 | startActivity(intent); 76 | } 77 | }); 78 | 79 | 80 | } 81 | 82 | public class PayAsyncTask extends AsyncTask { 83 | 84 | @Override 85 | protected String doInBackground(Void... params) { 86 | result = NetUtil.requestDataByGet(baseurl); 87 | return result; 88 | } 89 | 90 | @Override 91 | protected void onPostExecute(String result) { 92 | super.onPostExecute(result); 93 | 94 | Intent intent = new Intent(PayActivity.this,ChooseTimeActivity.class); 95 | intent.putExtra("doctor",new Gson().toJson(doctor)); 96 | startActivity(intent); 97 | // 服务器返回 98 | 99 | } 100 | } 101 | 102 | 103 | } -------------------------------------------------------------------------------- /PalmHospital/app/src/main/java/com/example/palmhospital/ui/activity/RegisterActivity.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospital.ui.activity; 2 | 3 | import androidx.appcompat.app.AppCompatActivity; 4 | 5 | import android.content.Intent; 6 | import android.os.Bundle; 7 | import android.text.TextUtils; 8 | import android.util.Log; 9 | import android.view.View; 10 | import android.widget.Button; 11 | import android.widget.EditText; 12 | import android.widget.TextView; 13 | import android.widget.Toast; 14 | 15 | import com.example.palmhospital.Config; 16 | import com.example.palmhospital.R; 17 | import com.example.palmhospital.bean.User; 18 | import com.example.palmhospital.utils.NetUtil; 19 | import com.google.gson.Gson; 20 | 21 | import java.io.IOException; 22 | import java.io.InputStream; 23 | import java.io.OutputStream; 24 | import java.net.HttpURLConnection; 25 | import java.net.MalformedURLException; 26 | import java.net.URL; 27 | import java.net.URLEncoder; 28 | 29 | public class RegisterActivity extends AppCompatActivity { 30 | private EditText mEtUname; 31 | private EditText mEtUid; 32 | private EditText mEtUpsw; 33 | private EditText mEtReUpsw; 34 | private Button mBtnRegister; 35 | private TextView mTvLogin; 36 | 37 | private String uname; 38 | private String uid; 39 | private String upsw; 40 | private String reupsw; 41 | private String TAG = "RegisterActivity"; 42 | 43 | private User user = null; 44 | private String baseurl= Config.baseUrl + "RegisterServlet"; 45 | private String mResult; 46 | 47 | @Override 48 | protected void onCreate(Bundle savedInstanceState) { 49 | super.onCreate(savedInstanceState); 50 | setContentView(R.layout.activity_register); 51 | 52 | initView(); 53 | initEvent(); 54 | } 55 | 56 | private void initEvent() { 57 | mBtnRegister.setOnClickListener(new View.OnClickListener() { 58 | @Override 59 | public void onClick(View view) { 60 | // 检验内容是否都填上了,如果是,进行注册 61 | uname = mEtUname.getText().toString(); 62 | uid = mEtUid.getText().toString(); 63 | upsw = mEtUpsw.getText().toString(); 64 | reupsw = mEtReUpsw.getText().toString(); 65 | 66 | if(TextUtils.isEmpty(uid)||TextUtils.isEmpty(upsw)||TextUtils.isEmpty(uname)||TextUtils.isEmpty(reupsw)){ 67 | Toast.makeText(getBaseContext(),"所填信息不能为空!",Toast.LENGTH_SHORT).show(); 68 | return; 69 | } 70 | else if(!upsw.equals(reupsw)){ 71 | Toast.makeText(getBaseContext(),"两次输入的密码不相同!",Toast.LENGTH_SHORT).show(); 72 | return; 73 | } 74 | else{ 75 | new Thread(new Runnable() { 76 | @Override 77 | public void run() { 78 | mResult = requestDataByPost(baseurl); 79 | 80 | if(user!=null){ 81 | runOnUiThread(new Runnable() { 82 | @Override 83 | public void run() { 84 | Toast ts = Toast.makeText(getBaseContext(),"注册成功!",Toast.LENGTH_SHORT); 85 | ts.show(); 86 | toLoginActivity(); 87 | 88 | } 89 | }); 90 | } 91 | else{ 92 | runOnUiThread(new Runnable() { 93 | @Override 94 | public void run() { 95 | 96 | Toast ts = Toast.makeText(getBaseContext(),"账号已存在!",Toast.LENGTH_SHORT); 97 | ts.show(); 98 | } 99 | }); 100 | } 101 | 102 | } 103 | }).start(); 104 | } 105 | } 106 | }); 107 | mTvLogin.setOnClickListener(new View.OnClickListener() { 108 | @Override 109 | public void onClick(View view) { 110 | toLoginActivity(); 111 | } 112 | }); 113 | } 114 | 115 | private void toLoginActivity() { 116 | startActivity(new Intent(this,LoginActivity.class)); 117 | } 118 | 119 | private void initView() { 120 | mEtUname = findViewById(R.id.id_et_register_uname); 121 | mEtUid = findViewById(R.id.id_et_register_uid); 122 | mEtUpsw = findViewById(R.id.id_et_register_upsw); 123 | mEtReUpsw = findViewById(R.id.id_et_register_reupsw); 124 | mBtnRegister = findViewById(R.id.id_btn_register); 125 | mTvLogin = findViewById(R.id.id_tv_login); 126 | 127 | 128 | } 129 | public String requestDataByPost(String urlString) { 130 | String result = null; 131 | try { 132 | 133 | URL url = new URL(urlString); 134 | HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 135 | connection.setConnectTimeout(30000); 136 | connection.setRequestMethod("POST"); 137 | // 设置运行输入,输出: 138 | connection.setDoOutput(true); 139 | connection.setDoInput(true); 140 | // Post方式不能缓存,需手动设置为false 141 | connection.setUseCaches(false); 142 | connection.connect(); 143 | 144 | // 我们请求的数据: 145 | String data ="uname=" + URLEncoder.encode(uname, "UTF-8") + "&uid=" + URLEncoder.encode(uid, "UTF-8") 146 | + "&upsw=" + URLEncoder.encode(upsw, "UTF-8"); 147 | 148 | // 获取输出流 149 | OutputStream out = connection.getOutputStream(); 150 | out.write(data.getBytes()); 151 | out.flush(); 152 | out.close(); 153 | 154 | int responseCode = connection.getResponseCode(); 155 | if (responseCode == HttpURLConnection.HTTP_OK) { 156 | InputStream inputStream = connection.getInputStream(); 157 | result = NetUtil.streamToString(inputStream); 158 | Gson gson = new Gson(); 159 | user = gson.fromJson(result, User.class); 160 | 161 | } else { 162 | String responseMessage = connection.getResponseMessage(); 163 | } 164 | final String finalResult = result; 165 | 166 | connection.disconnect(); 167 | return result; 168 | } catch (MalformedURLException e) { 169 | e.printStackTrace(); 170 | } catch (IOException e) { 171 | e.printStackTrace(); 172 | } 173 | return null; 174 | } 175 | } -------------------------------------------------------------------------------- /PalmHospital/app/src/main/java/com/example/palmhospital/ui/activity/SplashActivity.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospital.ui.activity; 2 | 3 | import androidx.appcompat.app.AppCompatActivity; 4 | 5 | import android.content.Intent; 6 | import android.os.Bundle; 7 | import android.os.Handler; 8 | import android.view.View; 9 | import android.widget.Button; 10 | 11 | import com.example.palmhospital.R; 12 | 13 | public class SplashActivity extends AppCompatActivity { 14 | 15 | private Handler mHandler = new Handler(); 16 | private Button mBtnSkip; 17 | 18 | private Runnable mRunnableToMain = new Runnable() { 19 | @Override 20 | public void run() { 21 | toLoginActivity(); 22 | } 23 | }; 24 | 25 | private void toLoginActivity() { 26 | Intent intent = new Intent(this, LoginActivity.class); 27 | startActivity(intent); 28 | finish(); 29 | } 30 | 31 | @Override 32 | protected void onCreate(Bundle savedInstanceState) { 33 | super.onCreate(savedInstanceState); 34 | setContentView(R.layout.activity_splash); 35 | 36 | mBtnSkip = (Button) findViewById(R.id.id_btn_skip); 37 | mHandler.postDelayed(mRunnableToMain, 3000); 38 | 39 | mBtnSkip.setOnClickListener(new View.OnClickListener() { 40 | @Override 41 | public void onClick(View view) { 42 | mHandler.removeCallbacks(mRunnableToMain); 43 | toLoginActivity(); 44 | } 45 | }); 46 | 47 | } 48 | } -------------------------------------------------------------------------------- /PalmHospital/app/src/main/java/com/example/palmhospital/utils/NetUtil.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospital.utils; 2 | 3 | import android.util.Log; 4 | 5 | import java.io.ByteArrayOutputStream; 6 | import java.io.IOException; 7 | import java.io.InputStream; 8 | import java.net.HttpURLConnection; 9 | import java.net.MalformedURLException; 10 | import java.net.URL; 11 | 12 | public class NetUtil { 13 | public static String requestDataByGet(String urlString) { 14 | String result = null; 15 | try { 16 | URL url = new URL(urlString); 17 | HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 18 | connection.setConnectTimeout(30000); // 设置超时时间 19 | connection.setRequestMethod("GET"); // 请求的方法类型:GET POST 20 | connection.setRequestProperty("Content-Type", "application/json"); // 获取到的数据格式 21 | connection.setRequestProperty("Charset", "UTF-8"); 22 | connection.setRequestProperty("Accept-Charset", "UTF-8"); 23 | connection.connect(); // 发起连接 24 | int responseCode = connection.getResponseCode(); // 获取请求的返回码 25 | if (responseCode == HttpURLConnection.HTTP_OK) { // 返回码是200,成功 26 | InputStream inputStream = connection.getInputStream(); 27 | result = streamToString(inputStream); 28 | } else { 29 | String responseMessage = connection.getResponseMessage(); 30 | //Log.e(TAG, "requestDataByPost: " + responseMessage); 31 | } 32 | } catch (MalformedURLException e) { 33 | e.printStackTrace(); 34 | } catch (IOException e) { 35 | e.printStackTrace(); 36 | } 37 | return result; 38 | } 39 | 40 | 41 | /** 42 | * 将输入流转换成字符串 43 | * 44 | * @param is 从网络获取的输入流 45 | * @return 字符串 46 | */ 47 | public static String streamToString(InputStream is) { 48 | try { 49 | ByteArrayOutputStream baos = new ByteArrayOutputStream(); 50 | byte[] buffer = new byte[1024]; 51 | int len; 52 | while ((len = is.read(buffer)) != -1) { 53 | baos.write(buffer, 0, len); 54 | } 55 | baos.close(); 56 | is.close(); 57 | byte[] byteArray = baos.toByteArray(); 58 | return new String(byteArray); 59 | } catch (Exception e) { 60 | Log.e("LoginActivity", e.toString()); 61 | return null; 62 | } 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 15 | 18 | 21 | 22 | 23 | 24 | 30 | -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/drawable/btn_bg_skip.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45 | 50 | 55 | 60 | 65 | 70 | 75 | 80 | 85 | 90 | 95 | 100 | 105 | 110 | 115 | 120 | 125 | 130 | 135 | 140 | 145 | 150 | 155 | 160 | 165 | 170 | 171 | -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/layout/activity_choose_depart.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 13 | 18 | 19 | 20 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/layout/activity_choose_doctor.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 13 | 18 | 19 | 20 | 26 | -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/layout/activity_choose_time.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 15 | 20 | 21 | 22 | 23 | 29 | 30 | 36 | 37 | 38 | 45 | 46 | 50 | 51 | 60 | 61 | 67 | 68 | 69 | 70 | 78 | 79 | 80 | 81 | 82 | 93 | 98 | 99 | 100 | -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/layout/activity_doctor_detail.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 15 | 20 | 21 | 22 | 23 | 30 | 31 | 37 | 38 | 39 | 46 | 47 | 51 | 52 | 61 | 62 | 68 | 69 | 70 | 71 | 79 | 80 | 81 | 82 | 83 | 84 | 94 | 101 | 102 | 103 | 104 | 105 | -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/layout/activity_index.xml: -------------------------------------------------------------------------------- 1 | 2 | 13 | 23 | 151 | 152 | 162 | 163 | 164 | 165 | 166 | -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/layout/activity_register.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 19 | 20 | 32 | 43 | 44 | 55 | 66 | 67 | 80 | 81 | 82 | 83 | 84 | -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/layout/item_myinfo_list_view.xml: -------------------------------------------------------------------------------- 1 | 12 | 13 | 21 | 22 | 32 | 33 | 34 | 35 | 36 | 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/layout/item_time_list_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 22 | 23 | 24 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospital/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospital/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/mipmap-mdpi/btn_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospital/app/src/main/res/mipmap-mdpi/btn_back.png -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/mipmap-mdpi/depart_img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospital/app/src/main/res/mipmap-mdpi/depart_img.png -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/mipmap-mdpi/doctor_female.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospital/app/src/main/res/mipmap-mdpi/doctor_female.jpg -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/mipmap-mdpi/doctor_male.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospital/app/src/main/res/mipmap-mdpi/doctor_male.jpg -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospital/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospital/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospital/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospital/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/mipmap-xhdpi/login_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospital/app/src/main/res/mipmap-xhdpi/login_bg.png -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/mipmap-xhdpi/register_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospital/app/src/main/res/mipmap-xhdpi/register_bg.png -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/mipmap-xhdpi/splashbg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospital/app/src/main/res/mipmap-xhdpi/splashbg.png -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospital/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospital/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospital/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospital/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/values-night/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16 | -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | PalmHospital 3 | -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16 | -------------------------------------------------------------------------------- /PalmHospital/app/src/main/res/xml/network_security_config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /PalmHospital/app/src/test/java/com/example/palmhospital/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospital; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /PalmHospital/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | buildscript { 3 | repositories { 4 | google() 5 | mavenCentral() 6 | } 7 | dependencies { 8 | classpath "com.android.tools.build:gradle:7.0.2" 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | task clean(type: Delete) { 16 | delete rootProject.buildDir 17 | } -------------------------------------------------------------------------------- /PalmHospital/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | # AndroidX package structure to make it clearer which packages are bundled with the 15 | # Android operating system, and which are packaged with your app"s APK 16 | # https://developer.android.com/topic/libraries/support-library/androidx-rn 17 | android.useAndroidX=true 18 | # Automatically convert third-party libraries to use AndroidX 19 | android.enableJetifier=true -------------------------------------------------------------------------------- /PalmHospital/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospital/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /PalmHospital/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Thu Jan 13 12:37:11 CST 2022 2 | distributionBase=GRADLE_USER_HOME 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip 4 | distributionPath=wrapper/dists 5 | zipStorePath=wrapper/dists 6 | zipStoreBase=GRADLE_USER_HOME 7 | -------------------------------------------------------------------------------- /PalmHospital/gradlew: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | # 4 | # Copyright 2015 the original author or authors. 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); 7 | # you may not use this file except in compliance with the License. 8 | # You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | ############################################################################## 20 | ## 21 | ## Gradle start up script for UN*X 22 | ## 23 | ############################################################################## 24 | 25 | # Attempt to set APP_HOME 26 | # Resolve links: $0 may be a link 27 | PRG="$0" 28 | # Need this for relative symlinks. 29 | while [ -h "$PRG" ] ; do 30 | ls=`ls -ld "$PRG"` 31 | link=`expr "$ls" : '.*-> \(.*\)$'` 32 | if expr "$link" : '/.*' > /dev/null; then 33 | PRG="$link" 34 | else 35 | PRG=`dirname "$PRG"`"/$link" 36 | fi 37 | done 38 | SAVED="`pwd`" 39 | cd "`dirname \"$PRG\"`/" >/dev/null 40 | APP_HOME="`pwd -P`" 41 | cd "$SAVED" >/dev/null 42 | 43 | APP_NAME="Gradle" 44 | APP_BASE_NAME=`basename "$0"` 45 | 46 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 47 | DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' 48 | 49 | # Use the maximum available, or set MAX_FD != -1 to use that value. 50 | MAX_FD="maximum" 51 | 52 | warn () { 53 | echo "$*" 54 | } 55 | 56 | die () { 57 | echo 58 | echo "$*" 59 | echo 60 | exit 1 61 | } 62 | 63 | # OS specific support (must be 'true' or 'false'). 64 | cygwin=false 65 | msys=false 66 | darwin=false 67 | nonstop=false 68 | case "`uname`" in 69 | CYGWIN* ) 70 | cygwin=true 71 | ;; 72 | Darwin* ) 73 | darwin=true 74 | ;; 75 | MINGW* ) 76 | msys=true 77 | ;; 78 | NONSTOP* ) 79 | nonstop=true 80 | ;; 81 | esac 82 | 83 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 84 | 85 | 86 | # Determine the Java command to use to start the JVM. 87 | if [ -n "$JAVA_HOME" ] ; then 88 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 89 | # IBM's JDK on AIX uses strange locations for the executables 90 | JAVACMD="$JAVA_HOME/jre/sh/java" 91 | else 92 | JAVACMD="$JAVA_HOME/bin/java" 93 | fi 94 | if [ ! -x "$JAVACMD" ] ; then 95 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 96 | 97 | Please set the JAVA_HOME variable in your environment to match the 98 | location of your Java installation." 99 | fi 100 | else 101 | JAVACMD="java" 102 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 103 | 104 | Please set the JAVA_HOME variable in your environment to match the 105 | location of your Java installation." 106 | fi 107 | 108 | # Increase the maximum file descriptors if we can. 109 | if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then 110 | MAX_FD_LIMIT=`ulimit -H -n` 111 | if [ $? -eq 0 ] ; then 112 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then 113 | MAX_FD="$MAX_FD_LIMIT" 114 | fi 115 | ulimit -n $MAX_FD 116 | if [ $? -ne 0 ] ; then 117 | warn "Could not set maximum file descriptor limit: $MAX_FD" 118 | fi 119 | else 120 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" 121 | fi 122 | fi 123 | 124 | # For Darwin, add options to specify how the application appears in the dock 125 | if $darwin; then 126 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" 127 | fi 128 | 129 | # For Cygwin or MSYS, switch paths to Windows format before running java 130 | if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then 131 | APP_HOME=`cygpath --path --mixed "$APP_HOME"` 132 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` 133 | 134 | JAVACMD=`cygpath --unix "$JAVACMD"` 135 | 136 | # We build the pattern for arguments to be converted via cygpath 137 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` 138 | SEP="" 139 | for dir in $ROOTDIRSRAW ; do 140 | ROOTDIRS="$ROOTDIRS$SEP$dir" 141 | SEP="|" 142 | done 143 | OURCYGPATTERN="(^($ROOTDIRS))" 144 | # Add a user-defined pattern to the cygpath arguments 145 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then 146 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" 147 | fi 148 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 149 | i=0 150 | for arg in "$@" ; do 151 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` 152 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option 153 | 154 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition 155 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` 156 | else 157 | eval `echo args$i`="\"$arg\"" 158 | fi 159 | i=`expr $i + 1` 160 | done 161 | case $i in 162 | 0) set -- ;; 163 | 1) set -- "$args0" ;; 164 | 2) set -- "$args0" "$args1" ;; 165 | 3) set -- "$args0" "$args1" "$args2" ;; 166 | 4) set -- "$args0" "$args1" "$args2" "$args3" ;; 167 | 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; 168 | 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; 169 | 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; 170 | 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; 171 | 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; 172 | esac 173 | fi 174 | 175 | # Escape application args 176 | save () { 177 | for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done 178 | echo " " 179 | } 180 | APP_ARGS=`save "$@"` 181 | 182 | # Collect all arguments for the java command, following the shell quoting and substitution rules 183 | eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" 184 | 185 | exec "$JAVACMD" "$@" 186 | -------------------------------------------------------------------------------- /PalmHospital/gradlew.bat: -------------------------------------------------------------------------------- 1 | @rem 2 | @rem Copyright 2015 the original author or authors. 3 | @rem 4 | @rem Licensed under the Apache License, Version 2.0 (the "License"); 5 | @rem you may not use this file except in compliance with the License. 6 | @rem You may obtain a copy of the License at 7 | @rem 8 | @rem https://www.apache.org/licenses/LICENSE-2.0 9 | @rem 10 | @rem Unless required by applicable law or agreed to in writing, software 11 | @rem distributed under the License is distributed on an "AS IS" BASIS, 12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | @rem See the License for the specific language governing permissions and 14 | @rem limitations under the License. 15 | @rem 16 | 17 | @if "%DEBUG%" == "" @echo off 18 | @rem ########################################################################## 19 | @rem 20 | @rem Gradle startup script for Windows 21 | @rem 22 | @rem ########################################################################## 23 | 24 | @rem Set local scope for the variables with windows NT shell 25 | if "%OS%"=="Windows_NT" setlocal 26 | 27 | set DIRNAME=%~dp0 28 | if "%DIRNAME%" == "" set DIRNAME=. 29 | set APP_BASE_NAME=%~n0 30 | set APP_HOME=%DIRNAME% 31 | 32 | @rem Resolve any "." and ".." in APP_HOME to make it shorter. 33 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi 34 | 35 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 36 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" 37 | 38 | @rem Find java.exe 39 | if defined JAVA_HOME goto findJavaFromJavaHome 40 | 41 | set JAVA_EXE=java.exe 42 | %JAVA_EXE% -version >NUL 2>&1 43 | if "%ERRORLEVEL%" == "0" goto execute 44 | 45 | echo. 46 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 47 | echo. 48 | echo Please set the JAVA_HOME variable in your environment to match the 49 | echo location of your Java installation. 50 | 51 | goto fail 52 | 53 | :findJavaFromJavaHome 54 | set JAVA_HOME=%JAVA_HOME:"=% 55 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 56 | 57 | if exist "%JAVA_EXE%" goto execute 58 | 59 | echo. 60 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 61 | echo. 62 | echo Please set the JAVA_HOME variable in your environment to match the 63 | echo location of your Java installation. 64 | 65 | goto fail 66 | 67 | :execute 68 | @rem Setup the command line 69 | 70 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 71 | 72 | 73 | @rem Execute Gradle 74 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* 75 | 76 | :end 77 | @rem End local scope for the variables with windows NT shell 78 | if "%ERRORLEVEL%"=="0" goto mainEnd 79 | 80 | :fail 81 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 82 | rem the _cmd.exe /c_ return code! 83 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 84 | exit /b 1 85 | 86 | :mainEnd 87 | if "%OS%"=="Windows_NT" endlocal 88 | 89 | :omega 90 | -------------------------------------------------------------------------------- /PalmHospital/settings.gradle: -------------------------------------------------------------------------------- 1 | dependencyResolutionManagement { 2 | repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) 3 | repositories { 4 | google() 5 | mavenCentral() 6 | jcenter() // Warning: this repository is going to shut down soon 7 | } 8 | } 9 | rootProject.name = "PalmHospital" 10 | include ':app' 11 | -------------------------------------------------------------------------------- /PalmHospitalService/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Editor-based HTTP Client requests 5 | /httpRequests/ 6 | # Datasource local storage ignored files 7 | /dataSources/ 8 | /dataSources.local.xml 9 | -------------------------------------------------------------------------------- /PalmHospitalService/.idea/artifacts/PalmHospitalService_war.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | $PROJECT_DIR$/target 4 | 5 | 6 | PalmHospitalService 7 | war 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /PalmHospitalService/.idea/artifacts/PalmHospitalService_war_exploded.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | $PROJECT_DIR$/target/PalmHospitalService-1.0-SNAPSHOT 4 | 5 | 6 | true 7 | PalmHospitalService 8 | war 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /PalmHospitalService/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /PalmHospitalService/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /PalmHospitalService/.idea/jarRepositories.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 9 | 10 | 14 | 15 | 19 | 20 | -------------------------------------------------------------------------------- /PalmHospitalService/.idea/libraries/Maven__javax_servlet_javax_servlet_api_4_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /PalmHospitalService/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /PalmHospitalService/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_8_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /PalmHospitalService/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_8_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /PalmHospitalService/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_8_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /PalmHospitalService/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_8_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /PalmHospitalService/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /PalmHospitalService/.idea/libraries/lib.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /PalmHospitalService/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /PalmHospitalService/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /PalmHospitalService/PalmHospitalService.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 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 | 39 | 40 | -------------------------------------------------------------------------------- /PalmHospitalService/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | com.example 8 | PalmHospitalService 9 | 1.0-SNAPSHOT 10 | PalmHospitalService 11 | war 12 | 13 | 14 | UTF-8 15 | 1.8 16 | 1.8 17 | 5.8.1 18 | 19 | 20 | 21 | 22 | javax.servlet 23 | javax.servlet-api 24 | 4.0.1 25 | provided 26 | 27 | 28 | org.junit.jupiter 29 | junit-jupiter-api 30 | ${junit.version} 31 | test 32 | 33 | 34 | org.junit.jupiter 35 | junit-jupiter-engine 36 | ${junit.version} 37 | test 38 | 39 | 40 | 41 | 42 | 43 | 44 | org.apache.maven.plugins 45 | maven-war-plugin 46 | 3.3.2 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /PalmHospitalService/src/main/java/com/example/palmhospitalservice/HelloServlet.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospitalservice; 2 | 3 | import java.io.*; 4 | import javax.servlet.http.*; 5 | import javax.servlet.annotation.*; 6 | 7 | @WebServlet(name = "helloServlet", value = "/hello-servlet") 8 | public class HelloServlet extends HttpServlet { 9 | private String message; 10 | 11 | public void init() { 12 | message = "Hello World!"; 13 | } 14 | 15 | public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { 16 | response.setContentType("text/html"); 17 | 18 | // Hello 19 | PrintWriter out = response.getWriter(); 20 | out.println(""); 21 | out.println("

" + message + "

"); 22 | out.println(""); 23 | } 24 | 25 | public void destroy() { 26 | } 27 | } -------------------------------------------------------------------------------- /PalmHospitalService/src/main/java/com/example/palmhospitalservice/bean/Depart.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospitalservice.bean; 2 | 3 | public class Depart { 4 | private int departid; 5 | private String departname; 6 | 7 | public Depart(){} 8 | public Depart(int departid, String departname) { 9 | this.departid = departid; 10 | this.departname = departname; 11 | } 12 | 13 | public int getDepartid() { 14 | return departid; 15 | } 16 | 17 | public void setDepartid(int departid) { 18 | this.departid = departid; 19 | } 20 | 21 | public String getDepartname() { 22 | return departname; 23 | } 24 | 25 | public void setDepartname(String departname) { 26 | this.departname = departname; 27 | } 28 | 29 | @Override 30 | public String toString() { 31 | return "Depart{" + 32 | "departid=" + departid + 33 | ", departname='" + departname + '\'' + 34 | '}'; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /PalmHospitalService/src/main/java/com/example/palmhospitalservice/bean/Doctor.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospitalservice.bean; 2 | 3 | 4 | public class Doctor { 5 | private int did; 6 | private String dname; 7 | private String dlevel; 8 | private String dinfo; 9 | private String ddepartid; 10 | private int sex; 11 | private String ddetail; 12 | 13 | public Doctor(){} 14 | 15 | public Doctor(int did, String dname, String dlevel, String dinfo, String ddepartid, int sex, String ddetail) { 16 | this.did = did; 17 | this.dname = dname; 18 | this.dlevel = dlevel; 19 | this.dinfo = dinfo; 20 | this.ddepartid = ddepartid; 21 | this.sex = sex; 22 | this.ddetail = ddetail; 23 | } 24 | 25 | public int getDid() { 26 | return did; 27 | } 28 | 29 | public void setDid(int did) { 30 | this.did = did; 31 | } 32 | 33 | public String getDname() { 34 | return dname; 35 | } 36 | 37 | public void setDname(String dname) { 38 | this.dname = dname; 39 | } 40 | 41 | public String getDlevel() { 42 | return dlevel; 43 | } 44 | 45 | public void setDlevel(String dlevel) { 46 | this.dlevel = dlevel; 47 | } 48 | 49 | public String getDinfo() { 50 | return dinfo; 51 | } 52 | 53 | public void setDinfo(String dinfo) { 54 | this.dinfo = dinfo; 55 | } 56 | 57 | public String getDdepartid() { 58 | return ddepartid; 59 | } 60 | 61 | public void setDdepartid(String ddepartid) { 62 | this.ddepartid = ddepartid; 63 | } 64 | 65 | public int getSex() { 66 | return sex; 67 | } 68 | 69 | public void setSex(int sex) { 70 | this.sex = sex; 71 | } 72 | 73 | public String getDdetail() { 74 | return ddetail; 75 | } 76 | 77 | public void setDdetail(String ddetail) { 78 | this.ddetail = ddetail; 79 | } 80 | 81 | @Override 82 | public String toString() { 83 | return "Doctor{" + 84 | "did=" + did + 85 | ", dname='" + dname + '\'' + 86 | ", dlevel='" + dlevel + '\'' + 87 | ", dinfo='" + dinfo + '\'' + 88 | ", ddepartid='" + ddepartid + '\'' + 89 | ", sex=" + sex + 90 | ", ddetail='" + ddetail + '\'' + 91 | '}'; 92 | } 93 | } -------------------------------------------------------------------------------- /PalmHospitalService/src/main/java/com/example/palmhospitalservice/bean/Order.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospitalservice.bean; 2 | 3 | public class Order { 4 | private String oid; 5 | private int sid; 6 | private int uid; 7 | public Order(){} 8 | public Order(String oid, int sid, int uid) { 9 | this.oid = oid; 10 | this.sid = sid; 11 | this.uid = uid; 12 | } 13 | 14 | public String getOid() { 15 | return oid; 16 | } 17 | 18 | public void setOid(String oid) { 19 | this.oid = oid; 20 | } 21 | 22 | public int getSid() { 23 | return sid; 24 | } 25 | 26 | public void setSid(int sid) { 27 | this.sid = sid; 28 | } 29 | 30 | public int getUid() { 31 | return uid; 32 | } 33 | 34 | public void setUid(int uid) { 35 | this.uid = uid; 36 | } 37 | 38 | @Override 39 | public String toString() { 40 | return "Order{" + 41 | "oid='" + oid + '\'' + 42 | ", sid=" + sid + 43 | ", uid=" + uid + 44 | '}'; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /PalmHospitalService/src/main/java/com/example/palmhospitalservice/bean/Schedule.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospitalservice.bean; 2 | 3 | 4 | public class Schedule { 5 | private int sid; 6 | private int did; 7 | private String time; 8 | float price; 9 | 10 | public Schedule(){} 11 | public Schedule(int sid, int did, String time, float price) { 12 | this.sid = sid; 13 | this.did = did; 14 | this.time = time; 15 | this.price = price; 16 | } 17 | 18 | public int getSid() { 19 | return sid; 20 | } 21 | 22 | public void setSid(int sid) { 23 | this.sid = sid; 24 | } 25 | 26 | public int getDid() { 27 | return did; 28 | } 29 | 30 | public void setDid(int did) { 31 | this.did = did; 32 | } 33 | 34 | public String getTime() { 35 | return time; 36 | } 37 | 38 | public void setTime(String time) { 39 | this.time = time; 40 | } 41 | 42 | public float getPrice() { 43 | return price; 44 | } 45 | 46 | public void setPrice(float price) { 47 | this.price = price; 48 | } 49 | 50 | @Override 51 | public String toString() { 52 | return "Schedule{" + 53 | "sid=" + sid + 54 | ", did=" + did + 55 | ", time='" + time + '\'' + 56 | ", price=" + price + 57 | '}'; 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /PalmHospitalService/src/main/java/com/example/palmhospitalservice/bean/User.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospitalservice.bean; 2 | 3 | public class User { 4 | private String uid; 5 | private String uname; 6 | private String upsw; 7 | public User(){} 8 | public User(String uid, String uname, String upsw) { 9 | this.uid = uid; 10 | this.uname = uname; 11 | this.upsw = upsw; 12 | } 13 | 14 | @Override 15 | public String toString() { 16 | return "User{" + 17 | "uid='" + uid + '\'' + 18 | ", uname='" + uname + '\'' + 19 | ", upsw='" + upsw + '\'' + 20 | '}'; 21 | } 22 | 23 | public String getUid() { 24 | return uid; 25 | } 26 | 27 | public void setUid(String uid) { 28 | this.uid = uid; 29 | } 30 | 31 | public String getUname() { 32 | return uname; 33 | } 34 | 35 | public void setUname(String uname) { 36 | this.uname = uname; 37 | } 38 | 39 | public String getUpsw() { 40 | return upsw; 41 | } 42 | 43 | public void setUpsw(String upsw) { 44 | this.upsw = upsw; 45 | } 46 | } -------------------------------------------------------------------------------- /PalmHospitalService/src/main/java/com/example/palmhospitalservice/dao/DepartDao.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospitalservice.dao; 2 | 3 | import com.example.palmhospitalservice.bean.Depart; 4 | import com.example.palmhospitalservice.utils.DbUtil; 5 | import org.apache.commons.dbutils.QueryRunner; 6 | import org.apache.commons.dbutils.handlers.BeanListHandler; 7 | 8 | import java.sql.SQLException; 9 | import java.util.List; 10 | 11 | public class DepartDao { 12 | private QueryRunner queryRunner = new QueryRunner(); 13 | public List selectAllDepart(){ 14 | List departs = null; 15 | try { 16 | departs = queryRunner.query(DbUtil.getConnection(),"select * from depart;",new BeanListHandler(Depart.class)); 17 | } catch (SQLException e) { 18 | e.printStackTrace(); 19 | } 20 | return departs; 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /PalmHospitalService/src/main/java/com/example/palmhospitalservice/dao/DoctorDao.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospitalservice.dao; 2 | 3 | import com.example.palmhospitalservice.bean.Depart; 4 | import com.example.palmhospitalservice.bean.Doctor; 5 | import com.example.palmhospitalservice.utils.DbUtil; 6 | import org.apache.commons.dbutils.QueryRunner; 7 | import org.apache.commons.dbutils.handlers.BeanListHandler; 8 | 9 | import java.sql.SQLException; 10 | import java.util.List; 11 | 12 | public class DoctorDao { 13 | private QueryRunner queryRunner = new QueryRunner(); 14 | public List selectDoctorsByDepartid(int departid){ 15 | List doctors = null; 16 | try { 17 | doctors = queryRunner.query(DbUtil.getConnection(),"select * from doctor where departid=?;",new BeanListHandler(Doctor.class),departid); 18 | } catch (SQLException e) { 19 | e.printStackTrace(); 20 | } 21 | return doctors; 22 | } 23 | 24 | 25 | } 26 | -------------------------------------------------------------------------------- /PalmHospitalService/src/main/java/com/example/palmhospitalservice/dao/OrderDao.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospitalservice.dao; 2 | 3 | import com.example.palmhospitalservice.bean.Order; 4 | import com.example.palmhospitalservice.bean.User; 5 | import com.example.palmhospitalservice.utils.DbUtil; 6 | import org.apache.commons.dbutils.QueryRunner; 7 | import org.apache.commons.dbutils.handlers.BeanHandler; 8 | 9 | import java.sql.SQLException; 10 | 11 | public class OrderDao { 12 | private QueryRunner queryRunner = new QueryRunner(); 13 | 14 | public int addOrder(int sid,int uid){ 15 | String oid = Integer.toString(sid)+"#" + Integer.toString(uid); 16 | int res = 0; 17 | 18 | System.out.println("添加的oid:" + oid); 19 | try { 20 | res = queryRunner.update(DbUtil.getConnection(),"INSERT INTO myOrder values(?,?,?)",oid,sid,uid); 21 | } catch (SQLException e) { 22 | e.printStackTrace(); 23 | } 24 | 25 | return res; 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /PalmHospitalService/src/main/java/com/example/palmhospitalservice/dao/ScheduleDao.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospitalservice.dao; 2 | 3 | import com.example.palmhospitalservice.bean.Doctor; 4 | import com.example.palmhospitalservice.bean.Schedule; 5 | import com.example.palmhospitalservice.utils.DbUtil; 6 | import org.apache.commons.dbutils.QueryRunner; 7 | import org.apache.commons.dbutils.handlers.BeanListHandler; 8 | 9 | import java.sql.SQLException; 10 | import java.util.List; 11 | 12 | public class ScheduleDao { 13 | private QueryRunner queryRunner = new QueryRunner(); 14 | 15 | public List selectchedulesByDid(int did){ 16 | List schedules = null; 17 | try { 18 | schedules = queryRunner.query(DbUtil.getConnection(),"select * from schedule where did=?;",new BeanListHandler(Schedule.class),did); 19 | } catch (SQLException e) { 20 | e.printStackTrace(); 21 | } 22 | return schedules; 23 | } 24 | 25 | 26 | } 27 | -------------------------------------------------------------------------------- /PalmHospitalService/src/main/java/com/example/palmhospitalservice/dao/UserDao.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospitalservice.dao; 2 | 3 | import com.example.palmhospitalservice.bean.User; 4 | import com.example.palmhospitalservice.utils.DbUtil; 5 | import org.apache.commons.dbutils.QueryRunner; 6 | import org.apache.commons.dbutils.handlers.BeanHandler; 7 | 8 | import java.sql.SQLException; 9 | 10 | public class UserDao { 11 | private QueryRunner queryRunner = new QueryRunner(); 12 | 13 | public User select(String uid) { 14 | User user = new User(); 15 | try { 16 | user = queryRunner.query(DbUtil.getConnection(),"select * from user where uid=?",new BeanHandler(User.class),uid); 17 | 18 | } catch (SQLException e) { 19 | e.printStackTrace(); 20 | } 21 | return user; 22 | } 23 | public int addUser(User user){ 24 | int res = 0; 25 | try { 26 | res = queryRunner.update(DbUtil.getConnection(),"INSERT INTO user values(?,?,?)",user.getUid(),user.getUname(),user.getUpsw()); 27 | } catch (SQLException e) { 28 | e.printStackTrace(); 29 | } 30 | 31 | return res; 32 | } 33 | 34 | 35 | public User login(String uid,String upsw){ 36 | User user = select(uid); 37 | if(user!=null && user.getUpsw().equals(upsw)){ // 该账号存在,能查询到用户 且 密码正确 38 | return user; 39 | } 40 | else return null; 41 | } 42 | 43 | } 44 | -------------------------------------------------------------------------------- /PalmHospitalService/src/main/java/com/example/palmhospitalservice/servlet/ChooseDepartServlet.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospitalservice.servlet; 2 | 3 | import com.example.palmhospitalservice.bean.Depart; 4 | import com.example.palmhospitalservice.bean.User; 5 | import com.example.palmhospitalservice.dao.DepartDao; 6 | import com.google.gson.Gson; 7 | import com.google.gson.reflect.TypeToken; 8 | 9 | import javax.servlet.*; 10 | import javax.servlet.http.*; 11 | import javax.servlet.annotation.*; 12 | import java.io.IOException; 13 | import java.io.PrintWriter; 14 | import java.util.List; 15 | 16 | @WebServlet(name = "ChooseDepartServlet", value = "/ChooseDepartServlet") 17 | public class ChooseDepartServlet extends HttpServlet { 18 | @Override 19 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 20 | request.setCharacterEncoding("UTF-8"); 21 | response.setContentType("text/html;charset=UTF-8"); 22 | 23 | DepartDao departDao = new DepartDao(); 24 | List departs = departDao.selectAllDepart(); 25 | 26 | PrintWriter writer=response.getWriter(); 27 | String result=""; 28 | 29 | response.setStatus(HttpServletResponse.SC_OK); 30 | result= new Gson().toJson(departs, new TypeToken>() {}.getType()); // 将user的数据变成json格式,传输给客户端 31 | writer.write(result); 32 | writer.flush(); 33 | writer.close(); 34 | 35 | } 36 | 37 | @Override 38 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 39 | doGet(request,response); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /PalmHospitalService/src/main/java/com/example/palmhospitalservice/servlet/ChooseDoctorServlet.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospitalservice.servlet; 2 | 3 | import com.example.palmhospitalservice.bean.Depart; 4 | import com.example.palmhospitalservice.bean.Doctor; 5 | import com.example.palmhospitalservice.dao.DepartDao; 6 | import com.example.palmhospitalservice.dao.DoctorDao; 7 | import com.google.gson.Gson; 8 | import com.google.gson.reflect.TypeToken; 9 | 10 | import javax.servlet.*; 11 | import javax.servlet.http.*; 12 | import javax.servlet.annotation.*; 13 | import java.io.IOException; 14 | import java.io.PrintWriter; 15 | import java.util.List; 16 | 17 | @WebServlet(name = "ChooseDoctorServlet", value = "/ChooseDoctorServlet") 18 | public class ChooseDoctorServlet extends HttpServlet { 19 | @Override 20 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 21 | System.out.println("接受到查询科室的所有医生请求了"); 22 | request.setCharacterEncoding("UTF-8"); 23 | response.setContentType("text/html;charset=UTF-8"); 24 | 25 | int departid = Integer.parseInt(request.getParameter("departid")); 26 | DoctorDao DoctorDao = new DoctorDao(); 27 | List doctors = DoctorDao.selectDoctorsByDepartid(departid); 28 | 29 | PrintWriter writer=response.getWriter(); 30 | String result=""; 31 | 32 | response.setStatus(HttpServletResponse.SC_OK); 33 | result= new Gson().toJson(doctors, new TypeToken>() {}.getType()); // 将user的数据变成json格式,传输给客户端 34 | writer.write(result); 35 | writer.flush(); 36 | writer.close(); 37 | 38 | System.out.println("查询某科室的所有医生:" + result); 39 | } 40 | 41 | @Override 42 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 43 | doGet(request,response); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /PalmHospitalService/src/main/java/com/example/palmhospitalservice/servlet/ChooseTimeServlet.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospitalservice.servlet; 2 | 3 | import com.example.palmhospitalservice.bean.Doctor; 4 | import com.example.palmhospitalservice.bean.Schedule; 5 | import com.example.palmhospitalservice.dao.DoctorDao; 6 | import com.example.palmhospitalservice.dao.ScheduleDao; 7 | import com.google.gson.Gson; 8 | import com.google.gson.reflect.TypeToken; 9 | 10 | import javax.servlet.*; 11 | import javax.servlet.http.*; 12 | import javax.servlet.annotation.*; 13 | import java.io.IOException; 14 | import java.io.PrintWriter; 15 | import java.util.List; 16 | 17 | @WebServlet(name = "ChooseTimeServlet", value = "/ChooseTimeServlet") 18 | public class ChooseTimeServlet extends HttpServlet { 19 | @Override 20 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 21 | System.out.println("接受到查询某医生的所有排班请求了"); 22 | request.setCharacterEncoding("UTF-8"); 23 | response.setContentType("text/html;charset=UTF-8"); 24 | 25 | int did = Integer.parseInt(request.getParameter("did")); 26 | ScheduleDao scheduleDao = new ScheduleDao(); 27 | List schedules = scheduleDao.selectchedulesByDid(did); 28 | 29 | PrintWriter writer=response.getWriter(); 30 | String result=""; 31 | 32 | response.setStatus(HttpServletResponse.SC_OK); 33 | result= new Gson().toJson(schedules, new TypeToken>() {}.getType()); // 将user的数据变成json格式,传输给客户端 34 | writer.write(result); 35 | writer.flush(); 36 | writer.close(); 37 | 38 | System.out.println("查询某医生的所有排班:" + result); 39 | } 40 | 41 | 42 | @Override 43 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 44 | doGet(request,response); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /PalmHospitalService/src/main/java/com/example/palmhospitalservice/servlet/LoginServlet.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospitalservice.servlet; 2 | 3 | import com.example.palmhospitalservice.bean.User; 4 | import com.example.palmhospitalservice.dao.UserDao; 5 | import com.google.gson.Gson; 6 | 7 | import javax.servlet.*; 8 | import javax.servlet.http.*; 9 | import javax.servlet.annotation.*; 10 | import java.io.IOException; 11 | import java.io.PrintWriter; 12 | 13 | @WebServlet(name = "LoginServlet", value = "/LoginServlet") 14 | public class LoginServlet extends HttpServlet { 15 | @Override 16 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 17 | request.setCharacterEncoding("UTF-8"); 18 | response.setContentType("text/html;charset=UTF-8"); 19 | 20 | // 接收参数 21 | String uid = request.getParameter("uid"); 22 | String upsw = request.getParameter("upsw"); 23 | 24 | UserDao userDao = new UserDao(); 25 | User user = userDao.login(uid,upsw); 26 | 27 | PrintWriter writer=response.getWriter(); 28 | String result=""; 29 | 30 | if(user == null){ // 登录失败 31 | response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); 32 | } 33 | else{ // 登录成功 34 | response.setStatus(HttpServletResponse.SC_OK); 35 | result= new Gson().toJson(user, User.class); // 将user的数据变成json格式,传输给客户端 36 | writer.write(result); 37 | writer.flush(); 38 | writer.close(); 39 | } 40 | 41 | } 42 | 43 | @Override 44 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 45 | doGet(request,response); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /PalmHospitalService/src/main/java/com/example/palmhospitalservice/servlet/PayServlet.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospitalservice.servlet; 2 | 3 | import com.example.palmhospitalservice.bean.Depart; 4 | import com.example.palmhospitalservice.dao.DepartDao; 5 | import com.example.palmhospitalservice.dao.OrderDao; 6 | import com.google.gson.Gson; 7 | import com.google.gson.reflect.TypeToken; 8 | 9 | import javax.servlet.*; 10 | import javax.servlet.http.*; 11 | import javax.servlet.annotation.*; 12 | import java.io.IOException; 13 | import java.io.PrintWriter; 14 | import java.util.List; 15 | 16 | @WebServlet(name = "PayServlet", value = "/PayServlet") 17 | public class PayServlet extends HttpServlet { 18 | @Override 19 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 20 | System.out.println("接受到支付请求了"); 21 | request.setCharacterEncoding("UTF-8"); 22 | response.setContentType("text/html;charset=UTF-8"); 23 | 24 | int uid = Integer.parseInt(request.getParameter("uid")); 25 | int sid = Integer.parseInt(request.getParameter("sid")); 26 | 27 | OrderDao orderDao = new OrderDao(); 28 | int res = orderDao.addOrder(sid,uid); // 将订单写入数据库 29 | 30 | PrintWriter writer=response.getWriter(); 31 | String result=""; 32 | System.out.println("servlet中:res="+ res); 33 | response.setStatus(HttpServletResponse.SC_OK); 34 | // result= new Gson().toJson(departs, new TypeToken>() {}.getType()); 35 | // writer.write(result); 36 | // writer.flush(); 37 | // writer.close(); 38 | 39 | System.out.println("订单预约结束" + result); 40 | } 41 | 42 | @Override 43 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 44 | doGet(request,response); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /PalmHospitalService/src/main/java/com/example/palmhospitalservice/servlet/RegisterServlet.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospitalservice.servlet; 2 | 3 | import com.example.palmhospitalservice.bean.User; 4 | import com.example.palmhospitalservice.dao.UserDao; 5 | import com.google.gson.Gson; 6 | 7 | import javax.servlet.*; 8 | import javax.servlet.http.*; 9 | import javax.servlet.annotation.*; 10 | import java.io.IOException; 11 | import java.io.PrintWriter; 12 | 13 | @WebServlet(name = "RegisterServlet", value = "/RegisterServlet") 14 | public class RegisterServlet extends HttpServlet { 15 | @Override 16 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 17 | System.out.println("接受到注册请求了"); 18 | request.setCharacterEncoding("UTF-8"); 19 | response.setContentType("text/html;charset=UTF-8"); 20 | 21 | // 接收参数 22 | String uname = request.getParameter("uname"); 23 | String uid = request.getParameter("uid"); 24 | String upsw = request.getParameter("upsw"); 25 | 26 | PrintWriter writer=response.getWriter(); 27 | String result=""; 28 | 29 | UserDao userDao = new UserDao(); 30 | User user = new User(uid,uname,upsw); 31 | int res = userDao.addUser(user); 32 | 33 | if(res == 0){ // 登录失败 34 | System.out.println("注册失败999!"); 35 | response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); 36 | } 37 | else{ // 登录成功 38 | System.out.println("注册成功啦!"); 39 | response.setStatus(HttpServletResponse.SC_OK); 40 | result= new Gson().toJson(user, User.class); // 将user的数据变成json格式,传输给客户端 41 | writer.write(result); 42 | writer.flush(); 43 | writer.close(); 44 | } 45 | 46 | } 47 | 48 | @Override 49 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 50 | doGet(request,response); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /PalmHospitalService/src/main/java/com/example/palmhospitalservice/utils/DbUtil.java: -------------------------------------------------------------------------------- 1 | package com.example.palmhospitalservice.utils; 2 | 3 | import com.alibaba.druid.pool.DruidDataSource; 4 | import com.alibaba.druid.pool.DruidDataSourceFactory; 5 | import org.apache.commons.dbutils.DbUtils; 6 | 7 | import java.io.IOException; 8 | import java.io.InputStream; 9 | import java.sql.Connection; 10 | import java.sql.ResultSet; 11 | import java.sql.SQLException; 12 | import java.sql.Statement; 13 | import java.util.Properties; 14 | 15 | public class DbUtil { 16 | private static DruidDataSource ds; 17 | private static final ThreadLocal THREAD_LOCAL = new ThreadLocal<>(); 18 | 19 | static { 20 | Properties properties = new Properties(); 21 | InputStream inputStream = DbUtils.class.getResourceAsStream("/database.properties"); 22 | try { 23 | properties.load(inputStream); 24 | ds = (DruidDataSource) DruidDataSourceFactory.createDataSource(properties); 25 | } catch (IOException e) { 26 | e.printStackTrace(); 27 | } catch (Exception e) { 28 | e.printStackTrace(); 29 | } 30 | 31 | } 32 | 33 | public static Connection getConnection() { 34 | 35 | Connection connection = THREAD_LOCAL.get(); 36 | 37 | try { 38 | if (connection == null) { 39 | connection = ds.getConnection(); 40 | 41 | THREAD_LOCAL.set(connection); 42 | } 43 | } catch (SQLException e) { 44 | e.printStackTrace(); 45 | } 46 | 47 | 48 | return connection; 49 | } 50 | 51 | public static void begin() { 52 | Connection connection = null; 53 | connection = getConnection(); 54 | try { 55 | connection.setAutoCommit(false); 56 | } catch (SQLException e) { 57 | e.printStackTrace(); 58 | } 59 | } 60 | 61 | public static void commit() { 62 | Connection connection = null; 63 | try { 64 | connection = getConnection(); 65 | connection.commit(); 66 | } catch (SQLException e) { 67 | e.printStackTrace(); 68 | } finally { 69 | closeAll(connection, null, null); 70 | } 71 | } 72 | 73 | public static void rollback() { 74 | Connection connection = null; 75 | try { 76 | connection = getConnection(); 77 | connection.rollback(); 78 | } catch (SQLException e) { 79 | e.printStackTrace(); 80 | } finally { 81 | closeAll(connection, null, null); 82 | } 83 | } 84 | 85 | public static void closeAll(Connection connection, Statement statement, ResultSet resultSet) { 86 | try { 87 | if (resultSet != null) { 88 | resultSet.close(); 89 | } 90 | if (statement != null) { 91 | statement.close(); 92 | } 93 | if (connection != null) { 94 | connection.close(); 95 | THREAD_LOCAL.remove(); 96 | } 97 | } catch (SQLException e) { 98 | e.printStackTrace(); 99 | } 100 | } 101 | } 102 | -------------------------------------------------------------------------------- /PalmHospitalService/src/main/resources/database.properties: -------------------------------------------------------------------------------- 1 | driver=com.mysql.jdbc.Driver 2 | url=jdbc:mysql://localhost:3306/palmhospital?useUnicode=true&characterEncoding=UTF-8 3 | username=root 4 | password=111111 5 | initialSize=10 6 | maxActive=20 7 | minIdle=5 8 | maxWait=3000 -------------------------------------------------------------------------------- /PalmHospitalService/src/main/webapp/WEB-INF/lib/commons-dbutils-1.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/src/main/webapp/WEB-INF/lib/commons-dbutils-1.7.jar -------------------------------------------------------------------------------- /PalmHospitalService/src/main/webapp/WEB-INF/lib/druid-1.1.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/src/main/webapp/WEB-INF/lib/druid-1.1.5.jar -------------------------------------------------------------------------------- /PalmHospitalService/src/main/webapp/WEB-INF/lib/gson-2.8.9.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/src/main/webapp/WEB-INF/lib/gson-2.8.9.jar -------------------------------------------------------------------------------- /PalmHospitalService/src/main/webapp/WEB-INF/lib/mysql-connector-java-8.0.27.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/src/main/webapp/WEB-INF/lib/mysql-connector-java-8.0.27.jar -------------------------------------------------------------------------------- /PalmHospitalService/src/main/webapp/WEB-INF/lib/servlet-api.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/src/main/webapp/WEB-INF/lib/servlet-api.jar -------------------------------------------------------------------------------- /PalmHospitalService/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | -------------------------------------------------------------------------------- /PalmHospitalService/src/main/webapp/index.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> 2 | 3 | 4 | 5 | JSP - Hello World 6 | 7 | 8 |

<%= "掌上医院服务器端" %> 9 |

10 |
11 | Hello Servlet 12 | 13 | -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Created-By: IntelliJ IDEA 3 | Built-By: Anwen 4 | Build-Jdk: Oracle OpenJDK version 1.8.0_152 5 | 6 | -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/HelloServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/HelloServlet.class -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/bean/Depart.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/bean/Depart.class -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/bean/Doctor.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/bean/Doctor.class -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/bean/Order.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/bean/Order.class -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/bean/Schedule.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/bean/Schedule.class -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/bean/User.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/bean/User.class -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/dao/DepartDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/dao/DepartDao.class -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/dao/DoctorDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/dao/DoctorDao.class -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/dao/OrderDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/dao/OrderDao.class -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/dao/ScheduleDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/dao/ScheduleDao.class -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/dao/UserDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/dao/UserDao.class -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/servlet/ChooseDepartServlet$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/servlet/ChooseDepartServlet$1.class -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/servlet/ChooseDepartServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/servlet/ChooseDepartServlet.class -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/servlet/ChooseDoctorServlet$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/servlet/ChooseDoctorServlet$1.class -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/servlet/ChooseDoctorServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/servlet/ChooseDoctorServlet.class -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/servlet/ChooseTimeServlet$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/servlet/ChooseTimeServlet$1.class -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/servlet/ChooseTimeServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/servlet/ChooseTimeServlet.class -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/servlet/LoginServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/servlet/LoginServlet.class -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/servlet/PayServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/servlet/PayServlet.class -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/servlet/RegisterServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/servlet/RegisterServlet.class -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/utils/DbUtil.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/com/example/palmhospitalservice/utils/DbUtil.class -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/classes/database.properties: -------------------------------------------------------------------------------- 1 | driver=com.mysql.jdbc.Driver 2 | url=jdbc:mysql://localhost:3306/palmhospital?useUnicode=true&characterEncoding=UTF-8 3 | username=root 4 | password=111111 5 | initialSize=10 6 | maxActive=20 7 | minIdle=5 8 | maxWait=3000 -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/lib/commons-dbutils-1.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/lib/commons-dbutils-1.7.jar -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/lib/druid-1.1.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/lib/druid-1.1.5.jar -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/lib/gson-2.8.9.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/lib/gson-2.8.9.jar -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/lib/mysql-connector-java-8.0.27.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/lib/mysql-connector-java-8.0.27.jar -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/lib/servlet-api.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/lib/servlet-api.jar -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | -------------------------------------------------------------------------------- /PalmHospitalService/target/PalmHospitalService-1.0-SNAPSHOT/index.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> 2 | 3 | 4 | 5 | JSP - Hello World 6 | 7 | 8 |

<%= "掌上医院服务器端" %> 9 |

10 |
11 | Hello Servlet 12 | 13 | -------------------------------------------------------------------------------- /PalmHospitalService/target/classes/com/example/palmhospitalservice/HelloServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/classes/com/example/palmhospitalservice/HelloServlet.class -------------------------------------------------------------------------------- /PalmHospitalService/target/classes/com/example/palmhospitalservice/bean/Depart.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/classes/com/example/palmhospitalservice/bean/Depart.class -------------------------------------------------------------------------------- /PalmHospitalService/target/classes/com/example/palmhospitalservice/bean/Doctor.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/classes/com/example/palmhospitalservice/bean/Doctor.class -------------------------------------------------------------------------------- /PalmHospitalService/target/classes/com/example/palmhospitalservice/bean/Order.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/classes/com/example/palmhospitalservice/bean/Order.class -------------------------------------------------------------------------------- /PalmHospitalService/target/classes/com/example/palmhospitalservice/bean/Schedule.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/classes/com/example/palmhospitalservice/bean/Schedule.class -------------------------------------------------------------------------------- /PalmHospitalService/target/classes/com/example/palmhospitalservice/bean/User.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/classes/com/example/palmhospitalservice/bean/User.class -------------------------------------------------------------------------------- /PalmHospitalService/target/classes/com/example/palmhospitalservice/dao/DepartDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/classes/com/example/palmhospitalservice/dao/DepartDao.class -------------------------------------------------------------------------------- /PalmHospitalService/target/classes/com/example/palmhospitalservice/dao/DoctorDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/classes/com/example/palmhospitalservice/dao/DoctorDao.class -------------------------------------------------------------------------------- /PalmHospitalService/target/classes/com/example/palmhospitalservice/dao/OrderDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/classes/com/example/palmhospitalservice/dao/OrderDao.class -------------------------------------------------------------------------------- /PalmHospitalService/target/classes/com/example/palmhospitalservice/dao/ScheduleDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/classes/com/example/palmhospitalservice/dao/ScheduleDao.class -------------------------------------------------------------------------------- /PalmHospitalService/target/classes/com/example/palmhospitalservice/dao/UserDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/classes/com/example/palmhospitalservice/dao/UserDao.class -------------------------------------------------------------------------------- /PalmHospitalService/target/classes/com/example/palmhospitalservice/servlet/ChooseDepartServlet$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/classes/com/example/palmhospitalservice/servlet/ChooseDepartServlet$1.class -------------------------------------------------------------------------------- /PalmHospitalService/target/classes/com/example/palmhospitalservice/servlet/ChooseDepartServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/classes/com/example/palmhospitalservice/servlet/ChooseDepartServlet.class -------------------------------------------------------------------------------- /PalmHospitalService/target/classes/com/example/palmhospitalservice/servlet/ChooseDoctorServlet$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/classes/com/example/palmhospitalservice/servlet/ChooseDoctorServlet$1.class -------------------------------------------------------------------------------- /PalmHospitalService/target/classes/com/example/palmhospitalservice/servlet/ChooseDoctorServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/classes/com/example/palmhospitalservice/servlet/ChooseDoctorServlet.class -------------------------------------------------------------------------------- /PalmHospitalService/target/classes/com/example/palmhospitalservice/servlet/ChooseTimeServlet$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/classes/com/example/palmhospitalservice/servlet/ChooseTimeServlet$1.class -------------------------------------------------------------------------------- /PalmHospitalService/target/classes/com/example/palmhospitalservice/servlet/ChooseTimeServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/classes/com/example/palmhospitalservice/servlet/ChooseTimeServlet.class -------------------------------------------------------------------------------- /PalmHospitalService/target/classes/com/example/palmhospitalservice/servlet/LoginServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/classes/com/example/palmhospitalservice/servlet/LoginServlet.class -------------------------------------------------------------------------------- /PalmHospitalService/target/classes/com/example/palmhospitalservice/servlet/PayServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/classes/com/example/palmhospitalservice/servlet/PayServlet.class -------------------------------------------------------------------------------- /PalmHospitalService/target/classes/com/example/palmhospitalservice/servlet/RegisterServlet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/classes/com/example/palmhospitalservice/servlet/RegisterServlet.class -------------------------------------------------------------------------------- /PalmHospitalService/target/classes/com/example/palmhospitalservice/utils/DbUtil.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/PalmHospitalService/target/classes/com/example/palmhospitalservice/utils/DbUtil.class -------------------------------------------------------------------------------- /PalmHospitalService/target/classes/database.properties: -------------------------------------------------------------------------------- 1 | driver=com.mysql.jdbc.Driver 2 | url=jdbc:mysql://localhost:3306/palmhospital?useUnicode=true&characterEncoding=UTF-8 3 | username=root 4 | password=111111 5 | initialSize=10 6 | maxActive=20 7 | minIdle=5 8 | maxWait=3000 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # CSU_Android_Hospital 2 | 中南大学课程设计:应用基础实践二(Web技术+数据库+移动应用开发)项目 **医院看病预约应用** 3 | 4 | ## 任务书 5 | 基本内容与要求 6 | 1. 用Android开发看病预约客户端。 7 | 2. 用JSP或PHP开发预约挂号Web服务器。 8 | 3. 用MySQL做预约挂号Web服务器的后台数据库。 9 | 4. 可以预约挂号、查看医生介绍及日程安排列表等功能。 10 | 5. 可以实现患者注册、登录功能。 11 | 6. 在线挂号支付。 12 | 13 | ## 演示动画 14 | 15 | 16 | ## 运行结果 17 | 18 | #### 1、 启动页面 19 | 20 | 启动程序,进入启动页面:上面含有程序应用名称、应用logo。用户点击左上角“跳过”或等待3s自动跳过,直接进入登录页面。 21 | 22 | ![image-20221231140714678](images/image-20221231140714678.png) 23 | 24 | ​ 25 | 26 | #### 2、 登录页面 27 | 28 | 之后进入登录页面: 29 | 30 | ![image-20221231140728266](images/image-20221231140728266.png) 31 | 32 | 当用户输入的信息不完整时,提示“账号或密码不能为空” 33 | 34 | ![image-20221231140733071](images/image-20221231140733071.png) 35 | 36 | 当输入的账号或密码有误时,提示信息如下: 37 | 38 | ![image-20221231140901327](images/image-20221231140901327.png) 39 | 40 | 当输入信息正确时,提示信息如下,并跳转到用户首页。 41 | 42 | ![image-20221231140909300](images/image-20221231140909300.png) 43 | 44 | 在登录页面中,点击下方的“注册账号”,可进入注册界面。 45 | 46 | ![image-20221231140921971](images/image-20221231140921971.png) 47 | 48 | #### 3、 注册页面 49 | 50 | 用户信息输入不完整时,提示信息如下: 51 | 52 | ![image-20221231140928875](images/image-20221231140928875.png) 53 | 54 | 用户输入的两次密码不相同时,提示信息如下: 55 | 56 | ![image-20221231140932185](images/image-20221231140932185.png) 57 | 58 | 当用户输入的账号已经被注册时,提示信息如下: 59 | 60 | ![image-20221231140935985](images/image-20221231140935985.png) 61 | 62 | 当以上情况均不存在时,注册成功,提示如下,并跳转到登录界面: 63 | 64 | ![image-20221231140945834](images/image-20221231140945834.png) 65 | 66 | 当用户已经注册过,可点击下方的“已经注册?直接登录”,直接跳转到登录界面。 67 | 68 | #### 4、 用户首页 69 | 70 | 用户首页包含上方的简单欢迎语与下方的三个功能,点击按钮,即可实现对应的功能。 71 | 72 | ![image-20221231141041449](images/image-20221231141041449.png) 73 | 74 | #### 5、 预约挂号 75 | 76 | 呈现所有的科室,供用户选择。 77 | 78 | ![image-20221231141051149](images/image-20221231141051149.png) 79 | 80 | 81 | 82 | 点击具体的科室之后,呈现该科室所有的值班医生。如下图,左边为皮肤科,右边为肠胃科: 83 | 84 | ​ ![image-20221231141059854](images/image-20221231141059854.png)![image-20221231141103426](images/image-20221231141103426.png) 85 | 86 | 点击医生的信息,进入医生的详情介绍页: 87 | 88 | ![image-20221231141109028](images/image-20221231141109028.png) 89 | 90 | 点击右边的预约按钮,查看该医生所有的排班情况: 91 | 92 | ![image-20221231141112228](images/image-20221231141112228.png) 93 | 94 | 95 | 96 | 点击具体的某一排班,进入预约信息确认界面: 97 | 98 | ![image-20221231141118453](images/image-20221231141118453.png) 99 | 100 | 点击左边的确认支付,返回到排班信息列表,并提示支付成功: 101 | 102 | ![image-20221231141122041](images/image-20221231141122041.png) 103 | 104 | 105 | 106 | 点击右边的取消预约按钮,退出预约界面 107 | 108 | ![image-20221231141124934](images/image-20221231141124934.png) 109 | 110 | #### 6、 查看我的信息 111 | 112 | ![image-20221231141129073](images/image-20221231141129073.png) 113 | 114 | -------------------------------------------------------------------------------- /images/image-20221231140714678.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/images/image-20221231140714678.png -------------------------------------------------------------------------------- /images/image-20221231140728266.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/images/image-20221231140728266.png -------------------------------------------------------------------------------- /images/image-20221231140733071.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/images/image-20221231140733071.png -------------------------------------------------------------------------------- /images/image-20221231140739182.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/images/image-20221231140739182.png -------------------------------------------------------------------------------- /images/image-20221231140743859.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/images/image-20221231140743859.png -------------------------------------------------------------------------------- /images/image-20221231140748058.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/images/image-20221231140748058.png -------------------------------------------------------------------------------- /images/image-20221231140901327.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/images/image-20221231140901327.png -------------------------------------------------------------------------------- /images/image-20221231140909300.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/images/image-20221231140909300.png -------------------------------------------------------------------------------- /images/image-20221231140921971.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/images/image-20221231140921971.png -------------------------------------------------------------------------------- /images/image-20221231140928875.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/images/image-20221231140928875.png -------------------------------------------------------------------------------- /images/image-20221231140932185.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/images/image-20221231140932185.png -------------------------------------------------------------------------------- /images/image-20221231140935985.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/images/image-20221231140935985.png -------------------------------------------------------------------------------- /images/image-20221231140945834.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/images/image-20221231140945834.png -------------------------------------------------------------------------------- /images/image-20221231141041449.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/images/image-20221231141041449.png -------------------------------------------------------------------------------- /images/image-20221231141051149.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/images/image-20221231141051149.png -------------------------------------------------------------------------------- /images/image-20221231141059854.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/images/image-20221231141059854.png -------------------------------------------------------------------------------- /images/image-20221231141103426.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/images/image-20221231141103426.png -------------------------------------------------------------------------------- /images/image-20221231141109028.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/images/image-20221231141109028.png -------------------------------------------------------------------------------- /images/image-20221231141112228.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/images/image-20221231141112228.png -------------------------------------------------------------------------------- /images/image-20221231141118453.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/images/image-20221231141118453.png -------------------------------------------------------------------------------- /images/image-20221231141122041.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/images/image-20221231141122041.png -------------------------------------------------------------------------------- /images/image-20221231141124934.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/images/image-20221231141124934.png -------------------------------------------------------------------------------- /images/image-20221231141129073.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/images/image-20221231141129073.png -------------------------------------------------------------------------------- /report/PalmHospital.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/report/PalmHospital.gif -------------------------------------------------------------------------------- /report/PalmHospital.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/report/PalmHospital.mp4 -------------------------------------------------------------------------------- /report/report.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwzhuang01/CSU_Android_Hospital/ee1271f4cf3d789c702b617c6e56b1616658229d/report/report.pdf --------------------------------------------------------------------------------