Pārlūkot izejas kodu

인증저장시 인증저장 가능 여부 체크 로직 추가

songjunekeun 5 gadi atpakaļ
vecāks
revīzija
a234c67bfc

+ 6 - 6
app/build.gradle

@@ -8,8 +8,8 @@ android {
         applicationId "com.dbs.mplus.knuh"
         minSdkVersion 24
         targetSdkVersion 28
-        versionCode 4
-        versionName "1.1.0.4"
+        versionCode 6
+        versionName "1.1.0.6"
         multiDexEnabled true
 //        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
     }
@@ -64,7 +64,6 @@ android {
             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", "INST_CD", "\"031\""
             manifestPlaceholders = [appLabel: "로컬교육"]
         }
@@ -75,8 +74,9 @@ android {
             applicationIdSuffix ".new"
             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_EFORM_SERVER_URL", "\"https://ema031.knuh.kr:9090/eformservice.aspx\""
+//            buildConfigField "String", "CONSENT_SERVER_URL", "\"https://ematest.knuh.kr:9091/\""
+//            buildConfigField "String", "CONSENT_EFORM_SERVER_URL", "\"https://ematest.knuh.kr:9090/eformservice.aspx\""
             buildConfigField "String", "INST_CD", "\"031\""
 //            manifestPlaceholders = [appLabel: "본원NEW"]
             manifestPlaceholders = [appLabel: "본원운영"]
@@ -93,8 +93,9 @@ android {
             applicationIdSuffix ".chilgok_new"
             buildConfigField "String", "originalPackageName", "\"com.dbs.mplus.knuh\""
             buildConfigField "String", "CONSENT_SERVER_URL", "\"https://ema032.knuh.kr:8091/\""
-//            buildConfigField "String", "CONSENT_SERVER_URL", "\"https://ema031.knuh.kr:8096/\""
             buildConfigField "String", "CONSENT_EFORM_SERVER_URL", "\"https://ema032.knuh.kr:8090/eformservice.aspx\""
+//            buildConfigField "String", "CONSENT_SERVER_URL", "\"https://ematest.knuh.kr:8091/\""
+//            buildConfigField "String", "CONSENT_EFORM_SERVER_URL", "\"https://ematest.knuh.kr:8090/eformservice.aspx\""
             buildConfigField "String", "INST_CD", "\"032\""
             manifestPlaceholders = [appLabel: "칠곡운영"]
         }
@@ -102,7 +103,6 @@ android {
             applicationIdSuffix ".chilgok.dev1_new"
             buildConfigField "String", "originalPackageName", "\"com.dbs.mplus.knuh\""
             buildConfigField "String", "CONSENT_SERVER_URL", "\"https://emadev.knuh.kr:9096/\""
-//            buildConfigField "String", "CONSENT_SERVER_URL", "\"http://192.168.101.93:9096/\""
             buildConfigField "String", "CONSENT_EFORM_SERVER_URL", "\"https://emadev.knuh.kr:9095/eformservice.aspx\""
             buildConfigField "String", "INST_CD", "\"032\""
             manifestPlaceholders = [appLabel: "칠곡교육"]

+ 4 - 1
app/src/main/java/com/dbs/mplus/knuh/activity/ConsentActivity.java

@@ -369,7 +369,10 @@ public class ConsentActivity extends AppCompatActivity {
     llPatientNmSort.setOnClickListener(leftMenu.sortOnClickListener);
     llRoomSort.setOnClickListener(leftMenu.sortOnClickListener);
 
-    leftMenu.getWardList();
+    if (indexPage.equals("I")) {
+      leftMenu.getWardList();
+    }
+
     leftMenu.getDeptList();
     leftMenu.getInitPatientList();
   }

+ 179 - 41
app/src/main/java/com/dbs/mplus/knuh/adapter/ConsentTempAdapter.java

@@ -1,5 +1,6 @@
 package com.dbs.mplus.knuh.adapter;
 
+import android.bluetooth.BluetoothDevice;
 import android.content.Context;
 import android.graphics.drawable.GradientDrawable;
 import android.util.Log;
@@ -16,15 +17,21 @@ import androidx.appcompat.app.AppCompatActivity;
 import androidx.core.content.ContextCompat;
 import androidx.recyclerview.widget.RecyclerView;
 
+import com.dbs.mplus.knuh.BuildConfig;
 import com.dbs.mplus.knuh.R;
 import com.dbs.mplus.knuh.activity.ConsentActivity;
 import com.dbs.mplus.knuh.consent.ConsentCreateParam;
 import com.dbs.mplus.knuh.consent.ConsentEvent;
 import com.dbs.mplus.knuh.consent.ConsentFacade;
+import com.dbs.mplus.knuh.consent.sign.SignWrapper;
+import com.dbs.mplus.knuh.customView.CustomDeleteAlert;
+import com.dbs.mplus.knuh.httpTask.CallBack;
 import com.dbs.mplus.knuh.model.ConsentFormListVO;
 import com.dbs.mplus.knuh.util.ConsentConfig;
 import com.dbs.mplus.knuh.util.Util;
 
+import org.ksoap2.serialization.SoapObject;
+
 import java.util.ArrayList;
 import java.util.HashMap;
 
@@ -39,6 +46,8 @@ public class ConsentTempAdapter extends RecyclerView.Adapter<ConsentTempAdapter.
 
   private HashMap<Integer, Object> checkMap;
 
+  private CustomDeleteAlert customDeleteAlert = null;
+
   public ConsentTempAdapter(AppCompatActivity mActivity, Context mContext, ArrayList<ConsentFormListVO> arrayList) {
     this.mActivity = mActivity;
     this.mContext  = mContext;
@@ -118,12 +127,12 @@ public class ConsentTempAdapter extends RecyclerView.Adapter<ConsentTempAdapter.
       holder.tvTemp.setVisibility(View.VISIBLE);
       holder.tvSubText.setText(mContext.getString(R.string.delete));
       tvSubBg.setColor(ContextCompat.getColor(mContext, R.color.alertColor));
-//      holder.tvSubText.setOnClickListener(onClickListener);
+      holder.tvSubText.setOnClickListener(onClickListener);
     } else if (consentStateEng.equals(ConsentConfig.UNFINISHED)) {
       holder.tvTemp.setVisibility(View.VISIBLE);
       holder.tvSubText.setText(mContext.getString(R.string.delete));
       tvSubBg.setColor(ContextCompat.getColor(mContext, R.color.alertColor));
-//      holder.tvSubText.setOnClickListener(onClickListener);
+      holder.tvSubText.setOnClickListener(onClickListener);
 
     } else {
       holder.tvTemp.setVisibility(View.GONE);
@@ -143,53 +152,182 @@ public class ConsentTempAdapter extends RecyclerView.Adapter<ConsentTempAdapter.
       ViewHolder holder = (ViewHolder) v.getTag();
       final int position = holder.getLayoutPosition();
       ConsentFormListVO consentFormListVO = arrayList.get(position);
+      final String formName        = consentFormListVO.getFormName();
+      final String consentMstRid   = consentFormListVO.getConsentMstRid();
+      final String pid             = consentFormListVO.getPid();
+      final String ordDeptCd       = consentFormListVO.getOrdDeptCd();
+      final String formCd          = consentFormListVO.getFormCd();
+      final String ordType         = consentFormListVO.getOrdType();
+      final String inDd            = consentFormListVO.getInDd();
+      final String ocrTag          = consentFormListVO.getOcrTag();
+      final String cretNo          = consentFormListVO.getCretNo();
+      final String pageCnt         = consentFormListVO.getPageCnt();
       String consentStateEng = consentFormListVO.getConsentStateEng();
 
-      consentEvent = new ConsentEvent(mContext, instance, consentFormListVO);
-      if (checkMap.size() == 0) {
-        consentEvent.consentOpenProc(instance.centerMenu.patientInfoVO, "centerTemp");
+      if (holder.listLayer == v) {
+        holder.chkConsent.setChecked(true);
 
-        ConsentHistoryAdapter adapter = (ConsentHistoryAdapter) instance.history.historyWriteRecyclerView.getAdapter();
-        if (adapter != null) {
-          adapter.arrayList.clear();
-          adapter = null;
-        }
-      } else {
-        String certPass = "N";
-        HashMap<String, String> multiGlobalMap = new HashMap<String, String>();
-        ArrayList<HashMap<String, String>> multiFormArray = new ArrayList<HashMap<String, String>>();
-        HashMap<String, Object> consentMap = new HashMap<String, Object>();
-
-        ConsentCreateParam consentCreateParam = new ConsentCreateParam(mContext);
-        multiGlobalMap = consentCreateParam.setMultiGlobalParam(instance.centerMenu.patientInfoVO);
-        for (int key : checkMap.keySet()) {
-          Log.e(TAG, "key -- > " + key);
-          ConsentFormListVO consentFormVO = arrayList.get(key);
-          String _certPass = consentFormVO.getCertUseYn();
-//          String consentMstRid   = consentFormVO.getConsentMstRid();
-//          String formRid         = consentFormVO.getFormRid();
-//          String guid            = consentFormVO.getFormGuid();
-//          String formPrntNm      = consentFormVO.getFormPrntNm();
-//          String linkCd          = consentFormVO.getLinkFormCd();
-//          String ocrTag          = consentFormVO.getOcrTag();
-//          String userDrFlag      = consentFormVO.getUserDrFlag();
-//          String consentState    = consentFormVO.getConsentState();
-//          String consentStateEng = consentFormVO.getConsentStateEng();
-
-          if (_certPass.equals("Y")) {
+        consentEvent = new ConsentEvent(mContext, instance, consentFormListVO);
+        if (checkMap.size() < 2) {
+          consentEvent.consentOpenProc(instance.centerMenu.patientInfoVO, "centerTemp");
+
+          ConsentHistoryAdapter adapter = (ConsentHistoryAdapter) instance.history.historyWriteRecyclerView.getAdapter();
+          if (adapter != null) {
+            adapter.arrayList.clear();
+            adapter = null;
+          }
+        } else {
+          int count = 0;
+          String certPass = "";
+          String state    = "";
+          HashMap<String, String> multiGlobalMap = new HashMap<String, String>();
+          ArrayList<HashMap<String, String>> multiFormArray = new ArrayList<HashMap<String, String>>();
+          HashMap<String, Object> consentMap = new HashMap<String, Object>();
+
+          ConsentCreateParam consentCreateParam = new ConsentCreateParam(mContext);
+          multiGlobalMap = consentCreateParam.setMultiGlobalParam(instance.centerMenu.patientInfoVO);
+          for (int key : checkMap.keySet()) {
+            Log.e(TAG, "key -- > " + key);
+            ConsentFormListVO consentFormVO = arrayList.get(key);
+            String _consentStateEng = consentFormVO.getConsentStateEng();
+            String _certPass        = consentFormVO.getCertUseYn();
+
+//            if (_consentStateEng.equals(ConsentConfig.ELECTR_CMP)) {
+//              instance.csAlert.show();
+//              instance.csAlert.setContent(mContext.getString(R.string.electrCmpCheckeMsg), ConsentConfig.ALERT_BTN_TYPE);
+//              instance.csAlert.btnConfirm2.setOnClickListener(new View.OnClickListener() {
+//                @Override
+//                public void onClick(View v) {
+//                  instance.csAlert.dismiss();
+//                }
+//              });
+//              return;
+//            }
+
+            HashMap<String, String> formMap = consentCreateParam.setMultiFormParam(instance.centerMenu.patientInfoVO, consentFormVO);
+            multiFormArray.add(formMap);
+
+            state += _consentStateEng;
+            if (checkMap.size() -1 > count) {
+              state += ",";
+            }
+
+            certPass += _certPass;
+            if (checkMap.size() - 1 > count) {
+              certPass += ",";
+            }
+
+            count = count + 1;
+          }
+
+          consentMap.put("globalParam", multiGlobalMap);
+          consentMap.put("formListParam", multiFormArray);
+
+          String[] stateAr = state.split(",");
+          boolean sameFlag = Util.allElementsTheSame(stateAr);
+          if (sameFlag == false) {
+            for (String data : stateAr) {
+              if (data.equals(ConsentConfig.ELECTR_CMP)) {
+                instance.csAlert.show();
+                instance.csAlert.setContent(mContext.getString(R.string.electrCmpCheckeMsg), ConsentConfig.ALERT_BTN_TYPE);
+                instance.csAlert.btnConfirm2.setOnClickListener(new View.OnClickListener() {
+                  @Override
+                  public void onClick(View v) {
+                    instance.csAlert.dismiss();
+                  }
+                });
+                return;
+              }
+            }
+          }
+
+          if (certPass.indexOf("N") > -1) {
+            if (SignWrapper.getInstance().isCertificate(userId) == true) {
+              certPass = "N";
+            }
+          } else {
             certPass = "Y";
           }
 
-          HashMap<String, String> formMap = consentCreateParam.setMultiFormParam(instance.centerMenu.patientInfoVO, consentFormVO);
-          multiFormArray.add(formMap);
+          ConsentFacade consentFacade = new ConsentFacade(mContext, consentStateEng);
+          consentFacade.startConsent(consentMap, certPass, "centerTemp");
         }
+      } else if (holder.tvSubText == v) {
+        String message = String.format(mContext.getString(R.string.deleteConsent), formName);
+        instance.csAlert.show();
+        instance.csAlert.setContent(message, "");
+        instance.csAlert.btnConfirm.setOnClickListener(new View.OnClickListener() {
+          @Override
+          public void onClick(View v) {
+            instance.csAlert.dismiss();
+
+            CallBack callBack = new CallBack() {
+              @Override
+              public void result(final SoapObject result) {
+                ((ConsentActivity) mContext).runOnUiThread(new Runnable() {
+                  @Override
+                  public void run() {
+                    if (result == null) {
+                      stop();
+                    } else {
+                      String res = result.getProperty("responseData").toString().trim();
+                      int intRes = Integer.parseInt(res);
+
+                      if (intRes == -1) {
+                        stop();
+                      } else {
+                        customDeleteAlert.dismiss();
+                      }
+                    }
+
+                    ((ConsentActivity) mContext).dismissProgress();
+                    arrayList.remove(position);
+                    notifyItemRemoved(position);
+                  }
+                });
+              }
+
+              @Override
+              public void stop() {
+                String message = String.format(mContext.getString(R.string.deleteConsentFailed), formName);
+                ((ConsentActivity) mContext).showSingButtonDialog(message);
+              }
+
+              @Override
+              public void error() {
+
+              }
+            };
+
+            String userId = Util.getStringPreference(mContext, "userInfo", "userId");
+            String userDeptCd = Util.getStringPreference(mContext, "userInfo", "deptCd");
+            HashMap<String, String> mData = new HashMap<String, String>();
+            mData.put("userId", userId);
+            mData.put("consentMstRid", consentMstRid);
+            mData.put("patientCode", pid);
+            mData.put("clnDeptCode", ordDeptCd);
+            mData.put("formCd", formCd);
+            mData.put("vistType", ordType);
+            mData.put("hosType", BuildConfig.INST_CD);
+            mData.put("clnDate", inDd);
+            mData.put("ocrCode", ocrTag);
+            mData.put("cretno", cretNo);
+            mData.put("userDeptCd", userDeptCd);
+            mData.put("pageCnt", pageCnt);
+            mData.put("clientType", ConsentConfig.CLIENT_TYPE);
+            mData.put("formName", formName);
+
+            customDeleteAlert = new CustomDeleteAlert(mContext, mData, callBack);
+            customDeleteAlert.show();
+          }
+        });
 
-        Log.e(TAG, "multiGlobalMap -- > " + multiGlobalMap);
-        Log.e(TAG, "multiFormArray -- > " + multiFormArray);
-        consentMap.put("globalParam", multiGlobalMap);
-        consentMap.put("formListParam", multiFormArray);
-        ConsentFacade consentFacade = new ConsentFacade(mContext, consentStateEng);
-        consentFacade.startConsent(consentMap, certPass, "centerTemp");
+        instance.csAlert.btnCancel.setOnClickListener(new View.OnClickListener() {
+          @Override
+          public void onClick(View v) {
+            instance.csAlert.dismiss();
+          }
+        });
       }
 
     }

+ 4 - 1
app/src/main/java/com/dbs/mplus/knuh/consent/ConsentCreateParam.java

@@ -293,6 +293,8 @@ public class ConsentCreateParam {
     } else {
       map.put("newConsent", "false");
     }
+
+    map.put("consentStateEng", consentStateEng);
     map.put("parCMSGBD_ocr_cd", ocrTag.equals("") ? getOcrTag() : ocrTag);
     map.put("parCMDCFT_1PrintNm", formPrntNm);
     map.put("rid", consentMstRid);
@@ -521,7 +523,7 @@ public class ConsentCreateParam {
     String statusEtc   = patientInfoVO.getStatusEtc();
     String signImage   = "";
 
-    if (consentMstRid.equals("0") || consentStateEng.equals(ConsentConfig.UNFINISHED)) {
+    if (consentMstRid.equals("0") || consentFormListVO.getConsentStateEng().equals(ConsentConfig.UNFINISHED)) {
       String[] ipAddressAr = Util.getIpAddress(mContext).split("[.]");
 
       String ipAddress = ipAddressAr[2] + "." + ipAddressAr[3];
@@ -616,6 +618,7 @@ public class ConsentCreateParam {
     String formCd     = consentFormListVO.getFormCd();
     String formRid    = consentFormListVO.getFormRid();
 
+    map.put("consentStateEng", consentStateEng);
     map.put("parCMSGBD_ocr_cd", ocrTag.equals("") ? getOcrTag() : ocrTag);
     map.put("parCMDCFT_1PrintNm", formPrntNm);
     map.put("rid", consentMstRid);

+ 4 - 5
app/src/main/java/com/dbs/mplus/knuh/consent/ConsentFacade.java

@@ -120,14 +120,11 @@ public class ConsentFacade {
   }
 
   public void startConsent(HashMap consentData, String certPass, String apiType) {
-//    HashMap<String, String> globalParam = (HashMap<String, String>) consentData.get("globalParam");
-//    ArrayList<HashMap<String, String>> formList = (ArrayList<HashMap<String, String>>) consentData.get("formListParam");
-
     String userId = Util.getStringPreference(mContext, "userInfo", "userId");
     String fos = createFOS(consentData);
 
 //    Log.e(TAG, "create fos -- > " + fos);
-    Util.LOG(ConsentFacade.class, "create fos -- > " + fos);
+//    Util.LOG(ConsentFacade.class, "create fos -- > " + fos);
 
     eFormToolkit.setExitEventHandler(new EformExitEventHandler());
     eFormToolkit.setResultEventHandler(new EFormSaveHandler(mContext, eFormToolkit, consentData, apiType));
@@ -343,8 +340,10 @@ public class ConsentFacade {
       visible = "false";
     }
 
+    String tempVisble = "true";
     String pageattachVisible = "true";
     if (consentStateEng.equals(ConsentConfig.ELECTR_CMP)) {
+      tempVisble = "false";
       pageattachVisible = "false";
     }
 
@@ -389,7 +388,7 @@ public class ConsentFacade {
                      "        'text': '" + mContext.getString(R.string.confirmSave) + "'                                                                                           " +
                      "      },                                                                                                                      " +
                      "      'tempsave': {                                                                                                           " +
-                     "        'visible': 'true',                                                                                                    " +
+                     "        'visible': '" + tempVisble + "',                                                                                                    " +
                      "        'enabled': 'true',                                                                                                    " +
                      "        'text': '" + mContext.getString(R.string.tempList) + "'                                                                                           " +
                      "      },                                                                                                                      " +

+ 52 - 19
app/src/main/java/com/dbs/mplus/knuh/consent/EFormSaveHandler.java

@@ -1,6 +1,7 @@
 package com.dbs.mplus.knuh.consent;
 
 import android.content.Context;
+import android.graphics.Bitmap;
 import android.os.Build;
 import android.util.Log;
 
@@ -112,6 +113,7 @@ public class EFormSaveHandler implements IEventHandler<ResultEventArgs>, CallBac
     String clientType        = ConsentConfig.CLIENT_TYPE;
     String opRsrvNo          = globalParam.get("parCMDCBD_OpRsrvNo");
     String dschDd            = globalParam.get("dschDd");
+    String consentStateEng   = formParam.get("consentStateEng");
 
     String eptFilePath = eventArgs.getTempFilePath();
     StringBuffer formXml = new StringBuffer();
@@ -171,6 +173,7 @@ public class EFormSaveHandler implements IEventHandler<ResultEventArgs>, CallBac
     resultMap.put("clientType", clientType);
     resultMap.put("opRsrvNo", opRsrvNo);
     resultMap.put("dschDd", dschDd);
+    resultMap.put("consentStateEng", consentStateEng);
 
     return resultMap;
   }
@@ -182,28 +185,58 @@ public class EFormSaveHandler implements IEventHandler<ResultEventArgs>, CallBac
     if (Util.checkNetwork(mContext) != true) {
       eFormToolkit.sendEFormViewerCancelEvent(mContext.getString(R.string.networkError));
     } else {
-      switch (eventArgs.getResultCode()) {
-        case SAVE:       // 인증저장
-          saveData.putAll(imageUpload(eventArgs));
-          saveData.put("actKind", "C");
-          saveData.put("consentState", "CERTIFY_CMP");
-
-          Util.callHttp(mContext, ConsentConfig.HOST_CONSENT, ConsentConfig.SAVE_CONFIRM_CERTIFY, saveData, callBack);
-          break;
-        case TEMP_SAVE:  // 임시저장
-          saveData.put("actKind", "T");
-          saveData.put("consentState", "TEMP");
+
+
+      if (Util.checkNetwork(mContext) == true) {
+        switch (eventArgs.getResultCode()) {
+          case SAVE:       // 인증저장
+            HashMap<String, String> mData = new HashMap<String, String>();
+            mData.put("consentmstrid", saveData.get("consentMstRid").toString());
+            mData.put("consent_state", saveData.get("consentStateEng").toString());
+//            Util.callHttp(mContext, ConsentConfig.HOST_CONSENT, ConsentConfig.CHECK_CONSENT_STATE, mData, callBack);
+
+            Log.e(TAG, "mData -- > " + mData);
+
+            int state = 0;
+            HttpSoapConnection connection = new HttpSoapConnection(ConsentConfig.HOST_CONSENT, ConsentConfig.CHECK_CONSENT_STATE, mData);
+            try {
+              SoapObject object = connection.execute().get();
+              state = Integer.parseInt(object.getProperty("responseData").toString().trim());
+            } catch (ExecutionException e) {
+              e.printStackTrace();
+            } catch (InterruptedException e) {
+              e.printStackTrace();
+            }
+
+            if (state == 1) {
+              eFormToolkit.sendEFormViewerCancelEvent(mContext.getString(R.string.writeConsnet));
+              return;
+            }
+
+            saveData.putAll(imageUpload(eventArgs));
+            saveData.put("actKind", "C");
+            saveData.put("consentState", "CERTIFY_CMP");
+
+            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);
+            Util.callHttp(mContext, ConsentConfig.HOST_CONSENT, ConsentConfig.SAVE_TEMP, saveData, callBack);
 
-          break;
-        case TEMP_SAVE2: // 확인저장
-          saveData.putAll(imageUpload(eventArgs));
-          saveData.put("actKind", "T");
-          saveData.put("consentState", "ELECTR_CMP");
+            break;
+          case TEMP_SAVE2: // 확인저장
+            saveData.putAll(imageUpload(eventArgs));
+            saveData.put("actKind", "T");
+            saveData.put("consentState", "ELECTR_CMP");
 
-          Util.callHttp(mContext, ConsentConfig.HOST_CONSENT, ConsentConfig.SAVE_CONFIRM_CERTIFY, saveData, callBack);
-          break;
+            Util.callHttp(mContext, ConsentConfig.HOST_CONSENT, ConsentConfig.SAVE_CONFIRM_CERTIFY, saveData, callBack);
+            break;
+        }
+
+      } else {
+        eFormToolkit.sendEFormViewerCancelEvent(mContext.getString(R.string.networkError));
       }
     }
   }

+ 15 - 0
app/src/main/java/com/dbs/mplus/knuh/util/Util.java

@@ -55,6 +55,7 @@ import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
+import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Collections;
 import java.util.Date;
@@ -431,6 +432,20 @@ public class Util {
     editor.commit();
   }
 
+  public static boolean allElementsTheSame(String[] array) {
+    if (array.length == 0) {
+      return true;
+    } else {
+      String first = array[0].trim();
+      for (String element : array) {
+      if (!element.trim().equals(first)) {
+          return false;
+        }
+      }
+      return true;
+    }
+  }
+
   /**
    * sha256 passwd encrypt
    * @author jksong

+ 2 - 0
app/src/main/res/values/strings.xml

@@ -121,6 +121,8 @@
     <string name="tempHint">직접입력은 100자 까지 입력 가능합니다.</string>
     <string name="deleteReasonStr">사유를 입력해주세요.</string>
 
+    <string name="electrCmpCheckeMsg">확인저장 서식은 함께 작성할 수 없습니다.</string>
+
     <string name="baseDataError">기본 정보 설정에 실패하였습니다. \n다시 시도해주세요.</string>
     <string name="networkError">네트워크에 연결되어 있지 않습니다</string>
     <string name="rootingDeviceMsg">루팅된 디바이스 입니다. 루팅된 디바이스는 사용할 수 없습니다.</string>