songjunekeun 5 years ago
parent
commit
0d05b7ca3e

+ 1 - 1
.idea/misc.xml

@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="JDK" project-jdk-type="JavaSDK" />
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
 </project>

+ 7 - 5
app/build.gradle

@@ -33,7 +33,7 @@ android {
         debug {
 //            buildConfigField "com.dbs.mplus.knuh.setting.DeployPhase", "DEPLOY_PHASE", "com.dbs.mplus.knuh.setting.DeployPhase.Debug"
             buildConfigField "String", "NAME_SPACE", "\"http://tempuri.org/\""
-            minifyEnabled true
+            minifyEnabled false
 //            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
             proguardFile 'proguard-rules.pro'
 //            proguardFile 'proguard-debug.pro'
@@ -47,8 +47,9 @@ android {
             signingConfig signingConfigs.release
             buildConfigField "String", "originalPackageName", "\"com.dbs.mplus.knuh\""
             buildConfigField "String", "NAME_SPACE", "\"http://tempuri.org/\""
-            minifyEnabled true
-            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+            minifyEnabled false
+//            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+            proguardFile 'proguard-rules.pro'
 
             ndk {
                 abiFilters "armeabi-v7a", "armeabi" // includes ARM SO files only, so no x86 SO file
@@ -62,8 +63,8 @@ android {
             applicationIdSuffix ".local"
             buildConfigField "String", "originalPackageName", "\"com.dbs.mplus.knuh\""
             buildConfigField "String", "CONSENT_SERVER_URL", "\"http://128.127.95.125/\""
-//            buildConfigField "String", "CONSENT_EFORM_SERVER_URL", "\"https://emadev.knuh.kr:8095/eformservice.aspx\""
-            buildConfigField "String", "CONSENT_EFORM_SERVER_URL", "\"https://ema031.knuh.kr:9090/eformservice.aspx\""
+            buildConfigField "String", "CONSENT_EFORM_SERVER_URL", "\"https://emadev.knuh.kr:8095/eformservice.aspx\""
+//            buildConfigField "String", "CONSENT_EFORM_SERVER_URL", "\"https://ema031.knuh.kr:9090/eformservice.aspx\""
             buildConfigField "String", "INST_CD", "\"031\""
             manifestPlaceholders = [appLabel: "로컬교육"]
         }
@@ -75,6 +76,7 @@ android {
             buildConfigField "String", "originalPackageName", "\"com.dbs.mplus.knuh\""
 //            buildConfigField "String", "CONSENT_SERVER_URL", "\"https://ema031.knuh.kr:9091/\""
             buildConfigField "String", "CONSENT_SERVER_URL", "\"https://ema031.knuh.kr:9096/\""
+//            buildConfigField "String", "CONSENT_SERVER_URL", "\"https://ematest.knuh.kr:9091/\""
             buildConfigField "String", "CONSENT_EFORM_SERVER_URL", "\"https://ema031.knuh.kr:9090/eformservice.aspx\""
             buildConfigField "String", "INST_CD", "\"031\""
 //            manifestPlaceholders = [appLabel: "본원NEW"]

+ 7 - 6
app/proguard-rules.pro

@@ -19,9 +19,10 @@
 # If you keep the line number information, uncomment this to
 # hide the original source file name.
 #-renamesourcefileattribute SourceFile
--dontwarn org.xmlpull.v1.**
--dontwarn okhttp3.**
--dontwarn okio.**
--keep class kr.co.clipsoft.** {*;}
--keep class com.lumensoft.** {*;}
--keep class com.androidKmi.** {*;}
+
+#-dontwarn org.xmlpull.v1.**
+#-dontwarn okhttp3.**
+#-dontwarn okio.**
+#-keep class kr.co.clipsoft.** {*;}
+#-keep class com.lumensoft.** {*;}
+#-keep class com.androidKmi.** {*;}

+ 10 - 12
app/src/main/java/com/dbs/mplus/knuh/activity/ConsentActivity.java

@@ -169,8 +169,6 @@ public class ConsentActivity extends AppCompatActivity {
   public String indexPage = "";
   public String drKind    = "";
 
-
-
   @Override
   protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
@@ -179,16 +177,16 @@ public class ConsentActivity extends AppCompatActivity {
     init();
   }
 
-//  @Override
-//  public boolean onTouchEvent(MotionEvent event) {
-//    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
-//    if (getCurrentFocus() == null) {
-//      return false;
-//    }
-//    imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
-//
-//    return true;
-//  }
+  @Override
+  public boolean onTouchEvent(MotionEvent event) {
+    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
+    if (getCurrentFocus() == null) {
+      return false;
+    }
+    imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
+
+    return true;
+  }
 
   private void init() {
     mActivity = this;

+ 11 - 0
app/src/main/java/com/dbs/mplus/knuh/activity/activityEvent/LeftMenu.java

@@ -31,6 +31,7 @@ import com.dbs.mplus.knuh.adapter.DeptSpinnerAdapter;
 import com.dbs.mplus.knuh.adapter.PatientListAdapter;
 import com.dbs.mplus.knuh.customView.CustomRadioGroup;
 import com.dbs.mplus.knuh.httpTask.CallBack;
+import com.dbs.mplus.knuh.httpTask.HttpSoapConnection;
 import com.dbs.mplus.knuh.httpTask.SoapParser;
 import com.dbs.mplus.knuh.model.DeptListVO;
 import com.dbs.mplus.knuh.model.DoctorListVO;
@@ -45,6 +46,7 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.HashMap;
+import java.util.concurrent.ExecutionException;
 
 import javax.security.auth.callback.Callback;
 
@@ -754,6 +756,15 @@ public class LeftMenu {
 
     if (Util.checkNetwork(mContext) == true) {
       Util.callHttp(mContext, ConsentConfig.HOST_HOSPITAL, ConsentConfig.GET_PATIENT_LIST, patientSearchMap, callBack);
+//      HttpSoapConnection connection = new HttpSoapConnection(ConsentConfig.HOST_HOSPITAL, ConsentConfig.GET_PATIENT_LIST, patientSearchMap);
+//      try {
+//        SoapObject object = connection.execute().get();
+//        callBack.result(object);
+//      } catch (ExecutionException e) {
+//        e.printStackTrace();
+//      } catch (InterruptedException e) {
+//        e.printStackTrace();
+//      }
     } else {
       instance.dismissProgress();
       Util.networkErrorAlert(mActivity);

+ 21 - 2
app/src/main/java/com/dbs/mplus/knuh/consent/EFormSaveHandler.java

@@ -16,18 +16,24 @@ import com.dbs.mplus.knuh.util.ConsentConfig;
 import com.dbs.mplus.knuh.util.Util;
 
 import org.json.JSONObject;
+import org.ksoap2.SoapEnvelope;
 import org.ksoap2.serialization.SoapObject;
+import org.ksoap2.serialization.SoapSerializationEnvelope;
+import org.ksoap2.transport.HttpTransportSE;
+import org.xmlpull.v1.XmlPullParserException;
 
 import java.io.BufferedInputStream;
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileReader;
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.concurrent.ExecutionException;
+import java.util.zip.ZipFile;
 
 import javax.xml.transform.Result;
 
@@ -70,7 +76,6 @@ public class EFormSaveHandler implements IEventHandler<ResultEventArgs>, CallBac
   private HashMap createSaveData(ResultEventArgs eventArgs, HashMap consentData) {
     HashMap resultMap = new HashMap();
     int index = eventArgs.getFormOpenSequence() - 1;
-    Log.e(TAG, "index -- > " + index);
     HashMap<String, String> globalParam = (HashMap<String, String>) consentData.get("globalParam");
     ArrayList<HashMap<String, String>> formListParam = (ArrayList<HashMap<String, String>>) consentData.get("formListParam");
     HashMap<String, String> formParam = (HashMap<String, String>) formListParam.get(index);
@@ -122,6 +127,18 @@ public class EFormSaveHandler implements IEventHandler<ResultEventArgs>, CallBac
     File eptFile = new File(eptFilePath);
     eptFile.delete();
 
+
+//
+//    try {
+//      String compress = Util.base64Encode(Util.zipStringToBytes(formXml.toString()));
+//      resultMap.put("formXml", compress);
+//      compress = Util.base64Encode(Util.zipStringToBytes(dataXml));
+//      resultMap.put("dataXml", compress);
+//    } catch (Exception e) {
+//      e.printStackTrace();
+//    }
+//
+
     resultMap.put("userId", userId);
     resultMap.put("userDeptCd", userDeptCd);
     resultMap.put("patientCode", patientCode);
@@ -167,14 +184,16 @@ public class EFormSaveHandler implements IEventHandler<ResultEventArgs>, CallBac
           saveData.putAll(imageUpload(eventArgs));
           saveData.put("actKind", "C");
           saveData.put("consentState", "CERTIFY_CMP");
-//        eFormToolkit.sendEFormViewerOkEvent();
+        eFormToolkit.sendEFormViewerOkEvent();
 
           Util.callHttp(mContext, ConsentConfig.HOST_CONSENT, ConsentConfig.SAVE_CONFIRM_CERTIFY, saveData, callBack);
           break;
         case TEMP_SAVE:  // 임시저장
           saveData.put("actKind", "T");
           saveData.put("consentState", "TEMP");
+//          eFormToolkit.sendEFormViewerOkEvent();
           Util.callHttp(mContext, ConsentConfig.HOST_CONSENT, ConsentConfig.SAVE_TEMP, saveData, callBack);
+
           break;
         case TEMP_SAVE2: // 확인저장
           saveData.putAll(imageUpload(eventArgs));

+ 53 - 0
app/src/main/java/com/dbs/mplus/knuh/consent/SavedConsent.java

@@ -0,0 +1,53 @@
+package com.dbs.mplus.knuh.consent;
+
+import org.xmlpull.v1.XmlPullParser;
+import org.xmlpull.v1.XmlPullParserException;
+import org.xmlpull.v1.XmlPullParserFactory;
+
+import java.io.IOException;
+import java.io.StringReader;
+
+public class SavedConsent {
+
+  private String dataXml;
+
+
+  public void parse(String xml) {
+    this.dataXml = xml;
+    try {
+      XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
+      XmlPullParser parser = factory.newPullParser();
+      parser.setInput(new StringReader(xml));
+      int eventType = parser.getEventType();
+      while(eventType != XmlPullParser.END_DOCUMENT) {
+        switch(eventType) {
+          case XmlPullParser.START_TAG:
+            // 태그명 가져오기
+            String startTag = parser.getName();
+            Class clz = this.getClass();
+            try {
+              // 태그명 필드 찾아서 값 설정
+              clz.getField(startTag).set(this, parser.nextText());
+            } catch (NoSuchFieldException e) {
+              // 없는필드 무시
+            } catch (IllegalAccessException e) {
+              e.printStackTrace();
+              // 발생할일이 없음
+            }
+            break;
+          case XmlPullParser.END_TAG:
+            String endTag = parser.getName();
+            break;
+        }
+        // 다음 이벤트 가져옴
+        eventType = parser.next();
+      }
+    } catch (XmlPullParserException e) {
+      e.printStackTrace();
+    } catch (IOException e) {
+      e.printStackTrace();
+    }
+  }
+
+  public String getDataXml() { return this.dataXml; }
+}

+ 19 - 7
app/src/main/java/com/dbs/mplus/knuh/httpTask/HttpSoapConnection.java

@@ -5,7 +5,9 @@ import android.util.Log;
 
 import com.dbs.mplus.knuh.BuildConfig;
 import com.dbs.mplus.knuh.util.ConsentConfig;
+import com.dbs.mplus.knuh.util.Util;
 
+import org.ksoap2.HeaderProperty;
 import org.ksoap2.SoapEnvelope;
 import org.ksoap2.serialization.SoapObject;
 import org.ksoap2.serialization.SoapSerializationEnvelope;
@@ -13,7 +15,9 @@ import org.ksoap2.transport.HttpTransportSE;
 import org.xmlpull.v1.XmlPullParserException;
 
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 
 public class HttpSoapConnection extends AsyncTask<Void, Void, SoapObject> {
   
@@ -34,22 +38,29 @@ public class HttpSoapConnection extends AsyncTask<Void, Void, SoapObject> {
   
   @Override
   protected SoapObject doInBackground(Void... voids) {
-    
+
     SoapObject soapObject  = soapRequestParam(callMethod, mData);
     SoapObject soapResponse = null;
 
     try {
-      
-      SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER12);
+
+      SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
       soapEnvelope.bodyOut = soapObject;
       soapEnvelope.setOutputSoapObject(soapObject);
       soapEnvelope.dotNet = true;
       soapEnvelope.implicitTypes = false;
 
+      List<HeaderProperty> headers=new ArrayList<HeaderProperty>();
+      HeaderProperty headerProperty=new HeaderProperty("Accept-Encoding", "none");
+      headers.add(headerProperty);
+
       Log.e(TAG, "soapAction -- > " + soapAction);
       Log.e(TAG, "callMmethod -- > " + callMethod);
+
       HttpTransportSE hts = new HttpTransportSE(soapAction, ConsentConfig.CONNECT_TIMEOUT);
-      hts.call(soapAction + callMethod, soapEnvelope);
+      Log.e(TAG, "http reuqest " + callMethod + " start -- > " + Util.logTime());
+      hts.debug = true;
+      hts.call(BuildConfig.NAME_SPACE + callMethod, soapEnvelope, headers);
 
       if (soapEnvelope.getResponse() instanceof SoapObject) {
         soapResponse = (SoapObject) soapEnvelope.getResponse();
@@ -57,20 +68,21 @@ public class HttpSoapConnection extends AsyncTask<Void, Void, SoapObject> {
         soapResponse = new SoapObject();
         soapResponse.addProperty(callMethod, soapEnvelope.getResponse());
       }
+      Log.e(TAG, "http reuqest " + callMethod + " end -- > " + Util.logTime());
 
       if (soapResponse != null) {
         return soapResponse;
       } else {
 //        errorObject.addProperty("ERROR", "ERROR");
       }
-      
+
     } catch (IOException e) {
       e.printStackTrace();
       Log.e(TAG, "서버에서 요청을 처리할 수 없습니다 -- > " + callMethod);
     } catch (XmlPullParserException e) {
       e.printStackTrace();
     }
-    
+
     return null;
   }
   
@@ -81,7 +93,7 @@ public class HttpSoapConnection extends AsyncTask<Void, Void, SoapObject> {
   
   private SoapObject soapRequestParam(String callMmethod, HashMap<String, String> hashMap) {
     SoapObject soapObject = new SoapObject(BuildConfig.NAME_SPACE, callMmethod);
-    
+
     for (String key : hashMap.keySet()) {
       soapObject.addProperty(key, hashMap.get(key));
     }

+ 11 - 36
app/src/main/java/com/dbs/mplus/knuh/util/Util.java

@@ -65,6 +65,10 @@ import java.util.Locale;
 import java.util.zip.GZIPInputStream;
 import java.util.zip.GZIPOutputStream;
 
+import static java.lang.Thread.MAX_PRIORITY;
+import static java.lang.Thread.MIN_PRIORITY;
+import static java.lang.Thread.NORM_PRIORITY;
+
 public class Util {
   private static final String TAG = "Util";
 
@@ -104,42 +108,6 @@ public class Util {
     return value;
   }
 
-  public void parse(String xml) {
-    try {
-      XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
-      XmlPullParser parser = factory.newPullParser();
-      parser.setInput(new StringReader(xml));
-      int eventType = parser.getEventType();
-      while(eventType != XmlPullParser.END_DOCUMENT) {
-        switch(eventType) {
-          case XmlPullParser.START_TAG:
-            // 태그명 가져오기
-            String startTag = parser.getName();
-            Class clz = this.getClass();
-            try {
-              // 태그명 필드 찾아서 값 설정
-              clz.getField(startTag).set(this, parser.nextText());
-            } catch (NoSuchFieldException e) {
-              // 없는필드 무시
-            } catch (IllegalAccessException e) {
-              e.printStackTrace();
-              // 발생할일이 없음
-            }
-            break;
-          case XmlPullParser.END_TAG:
-            String endTag = parser.getName();
-            break;
-        }
-        // 다음 이벤트 가져옴
-        eventType = parser.next();
-      }
-    } catch (XmlPullParserException e) {
-      e.printStackTrace();
-    } catch (IOException e) {
-      e.printStackTrace();
-    }
-  }
-
   /**
    * 현재날짜을 가져온다
    * @author jksong
@@ -297,6 +265,13 @@ public class Util {
     return strDate;
   }
 
+  public static String logTime() {
+    SimpleDateFormat format = new SimpleDateFormat ( "yyyy-MM-dd HH:mm:ss");
+    Date date = new Date();
+    String strDate = format.format(date);
+    return strDate;
+  }
+
   /**
    * 문자열에 / (슬러쉬)를 제거한다
    * @author jksong