"use strict";
/**
 * mplus_safety_bleeding
 */
var mplus_safety_bleeding = function() {
  console.log("Start----------");
  // 상속
  mplus_common.call(this);
  console.log("End----------");

  // 상위 객체 생성
  //var mplusPatient = new mplus_mobile_patient();
  //var mplusNursing = new mplus_nursing();

  //super
  var self = this;

  //==== 변수 { ====
  // column 정렬의 토글 상태 제어용 : 0: not selected, 1:오름차순, 2:내림차순
  var varToggleCol1 = 0;
  var varToggleCol2 = 0;
  var varToggleCol3 = 0;
  var varToggleCol4 = 0;
  var varToggleCol5 = 0;
  var varToggleCol6 = 0;
  var varToggleCol7 = 0;
  var varToggleCol8 = 0;

  var varResultLists = [];

  var varSearchCls = "OP"; // 조회구분(I:입원, O:외래, E:응급, OP:수술, T:시술, C:협진)

  var varSearchDateGap = 2; // 날짜검색 간격

  //투약번호 Length처리
  var inputBleedingLength = 0;

  //==== 변수 } ====

  /**
   * 초기화
   */
  this.init = function() {
    //여기서 모든화면 콤보박스데이터를 집어넣자!!! 그래야지 화면이동할때 속도가 오래걸리지않음!!!
    // 접근 권한 체크
    checkAccessPermission();

    // 초기 화면 조건 구성
    initCondition();

    // 이벤트 초기화
    addEvent();

    // 환자 검색 실행 및 환자 정보 화면 출력
    //searchPatient();

    $("#txtBleedingPatientSearch").focus();
  };

  //==== 접근 권한 체크 { ====
  var checkAccessPermission = function() {
    //if( !self.common.checkAccessJobKind( "1000")){
    //	self.alertTrue("접근 권한이 없습니다.", self.common.gotoDefaultHomePage);
    //}
    //if( !self.common.checkAccessUserAuth( "01")){
    //	self.alertTrue("접근 권한이 없습니다.", self.common.gotoDefaultHomePage);
    //}
    //self.common.disableElements( $("#myModalBtn"));
  };
  //==== 접근 권한 체크 } ====

  //==== 초기화 설정 { ====
  var initCondition = function() {
    // 초기 화면 조건 구성

    //환자정보 초기화
    initPatientInfo();

    // 종료 날짜를 현재 날짜로 등록
    var varCurDate = new Date();
    var strCurDate = self.util.toDate(new Date());
    $("#dateBleedingEndDt").val(strCurDate);

    // 시작 날짜를 날짜 검색 간격 전 날짜를 등록
    var var2DaysAgo = varCurDate;
    var2DaysAgo.setDate(varCurDate.getDate() - varSearchDateGap);
    var str2DaysAgo = self.util.toDate(var2DaysAgo);
    //$("#dateOppatientStartDt").val( str2DaysAgo);
    $("#dateBleedingStartDt").val(str2DaysAgo);
  };

  /**
   * 환자 정보 초기화
   */
  var initPatientInfo = function() {
    //$("#divResultRows").empty();

    //채혈 실행 버튼
    $("#btnBleedingAct").attr("disabled", true);

    $(".patient-name").text("환자명");
    $(".patient-gender").text("성별");
    $(".patient-age").text("나이");
    $(".patient-birthDt").text("생년월일");
    $(".dept-name").text("실시부서");
    $(".user-name").text("실시자명");
    $(".user-code").text("(사원번호)");

    // $(".modal-patient-name").text("-");
    // $(".modal-patient-id").text("-");
    // $(".modal-patient-age-gender").text("-");
    // $(".modal-patient-treat-cls").text("-");
  };

  /**
   * 채혈실시 초기화
   */
  var initInputBleeding = function() {
    $("#bleedingActionNum").empty();
    //CheckBoxLength 초기화
    inputBleedingLength = 0;
    //처방번호 체크
    for (var fCnt = 0; fCnt < varResultLists.length; fCnt++) {
      if ($("#checkBleedingSel" + fCnt).is(":checked")) {
        var tempSpan =
          "<p>" +
          '<span id="spanInputBleedingNum' +
          inputBleedingLength +
          '" style="">' +
          varResultLists[fCnt].col4 +
          " " +
          varResultLists[fCnt].col2 +
          " " +
          varResultLists[fCnt].col3 +
          "</span>" +
          //+ "&nbsp;&nbsp;<button type=\"button\" name=\"button\" class=\"btn btn-primary classBtnInPutActBarcode\" btnLength=\"" + inputBleedingLength + "\" id=\"btnInPutActBarcode" + inputBleedingLength + "\" style=\"color: #ffffff;background: #0067a1;text-align: center;\">"
          //+ "<span style=\"color:white;\">⊙</span></button>"
          "<p/>";
        $("#bleedingActionNum").append(tempSpan);
        inputBleedingLength++;
      }
    }
    //eventMakeBarcodeCondition();
  };

  var initBarcodeInputBleeding = function(barcodeData) {
    for (var fCnt = 0; fCnt < varResultLists.length; fCnt++) {
      if (varResultLists[fCnt].col4 == barcodeData) {
        $("#checkBleedingSel" + fCnt).prop("checked", true);
        $(".checkClassBleedingSel").trigger("change");
        return true;
      }
    }
    return false;
  };

  // 환자정보 요청
  var getPatientInfo = function() {
    var param = {
      hospitalCd: "",
      userId: gLoginUserId,
      patientId: $("#txtBleedingPatientSearch").val()
    };
    self.medical.getPatientInfo(param, processGetPatientInfo);
  };

  // 채혈 목록을 처리
  var processGetPatientInfo = function(lists) {
    $(".patient-name").text(lists[0].patientNm);
    $(".patient-gender").text(lists[0].gender);
    $(".patient-age").text(lists[0].age);
    $(".patient-birthDt").text(lists[0].birthDt);
    $(".dept-name").text(lists[0].deptNm);
    $(".user-name").text(gLoginUserNm);
    $(".user-code").text(gLoginUserId);

    // $(".modal-patient-name").text(lists[0].patientNm);
    // $(".modal-patient-id").text(lists[0].patientId);
    // $(".modal-patient-age-gender").text(lists[0].age + " / " + lists[0].gender);
    // $(".modal-patient-treat-cls").text("입원");

    getSpecimenList();
    $("#txtBleedingNumberSearchTxt").focus();
  };

  // 채혈실시
  var inputBleeding = function() {
    var params = { param: [] };
    for (var fCnt = 0; fCnt < inputBleedingLength; fCnt++) {
      params.param.push({
        param1: $("#spanInputBleedingNum" + fCnt).text(),
        param2: "20190101",
        param3: "121212",
        param4: "aaa"

        /*
              파티마 actSpecimen 추가 예정 부분
              hospitalCd: varResultLists,
              userId: gLoginUserId,
              specimenCd: "",
              specimenNm: "",
              actSpecimenType: "",
              actSpecimenDtTm: "",
              actType: ""
              */
      });
    }
    self.safety.inputBleeding(params, processInputBleeding);
  };

  var processInputBleeding = function(lists) {
    if (lists != undefined && lists.length > 0) {
      var inputCnt = 0;
      for (var fCnt = 0; fCnt < lists.length; fCnt++) {
        if (lists[fCnt].returnCd == "0000") {
          inputCnt++;
        }
      }
      self.alert(inputCnt + "건 처리되었습니다.");
      //데이터 초기화
      $("#mplusAlertBleedingAction").modal("hide");
      initPatientInfo();
      getPatientInfo();
      $("#txtBleedingNumberSearchTxt").focus();
    } else {
      self.alert("처리중 오류가 발생했습니다.");
    }
  };

  var checkInputBleedingData = function() {
    if ($("#dateBleedingActionDate").val() == "") {
      self.alert("채혈 실시일을 입력해주세요.");
      return false;
    } else if ($("#dateBleedingActionTime").val() == "") {
      self.alert("채혈 시간을 입력해주세요.");
      return false;
    }

    //변경
    return true;

    //바코드 체크
    var btnInPutActBarcodeCheck = false;
    for (var fCnt = 0; fCnt < inputBleedingLength; fCnt++) {
      console.log("TEST : " + $("#btnInPutActBarcode" + fCnt).is("[disabled]"));
      if (!$("#btnInPutActBarcode" + fCnt).is("[disabled]")) {
        btnInPutActBarcodeCheck = true;
      }
    }
    if (btnInPutActBarcodeCheck) {
      self.alert("채혈번호 바코드를 확인해주세요.");
      return false;
    }

    return true;
  };

  var settingSetInputBleeding = function() {
    $("#dateBleedingActionDate").val(moment(new Date()).format("YYYY-MM-DD"));
    $("#dateBleedingActionTime").val(moment(new Date()).format("HH:mm:ss"));
  };

  var checkBarcodeNum = function(barcodeNum) {
    for (var fCnt = 0; fCnt < inputBleedingLength; fCnt++) {
      if (barcodeNum == $("#spanInputBleedingNum" + fCnt).text()) {
        $("#spanInputBleedingNum" + fCnt).css("color", "blue");
        $("#btnInPutActBarcode" + fCnt).attr("disabled", true);
      }
    }
  };

  // 채혈정보
  var getSpecimenList = function() {
    var param = {
      hospitalCd: "",
      userId: gLoginUserId,
      patientId: $("#txtBleedingPatientSearch").val(),
      specimenSearchCls: "0"
    };
    self.safety.getSpecimenList(param, processGetSpecimenList);
  };

  var processGetSpecimenList = function(lists){
    varResultLists = lists;
    var strDisplayTemp = "";
    $("#list-group").empty();
    if( lists.length == 0){
        // strDisplayTemp = "<div class=\"row text-center\" style=\"line-height: 60px; vertical-align: middle;\"> 검색 결과가 없습니다. </div>"
        //     + "<div style=\"height: 55vh;\"></div>";
        $("#alertEmptyPatient").modal("show");
    }
    for( var i = 0; i < lists.length; i++){

      strDisplayTemp += "<li class=\"list-group-item\""+ i +" >" 
          +  "<div class=\"row\">"
          +    "<div class=\"col-xs-6\">" + lists[i].specimenNm + "</div>"
          +    "<div class=\"col-xs-4 text-center\">" + lists[i].specimenDtTm + "</div>"
          +    "<div class=\"col-xs-2 text-center select_ico\"><input type=\"checkbox\" id=\"checkBleedingSel" + i + "\"></div>"
          +    "<div class=\"group\"><label class=\"btn btn-check icon\" for=\"d\" ><span class=\"glyphicon glyphicon-ok\" aria-hidden=\"true\"></span></label><label class=\"btn btn-outline-check icon\" for=\"d\"><span class=\"glyphicon \" aria-hidden=\"true\"></span></label></div></li>";


        // strDisplayTemp += "<div class=\"chart-content well\">"
        //     + "  <div class=\"row patient-row\" patientNo=\"" + i + "\" patientId=\"" + lists[i].col1 + "\" patientNm=\"" + lists[i].col2 + "\" age=\"" + lists[i].col2 + "\" gender=\"" + lists[i].col2 + "\" treatCls=\"" + lists[i].col2 + "\" receiptNo=\"" + lists[i].col2 + "\" deptCd=\"" + lists[i].col2.trim() + "\" doctorId=\"" + lists[i].col2 + "\">"
        //     + "    <div class=\"col-xs-12\">"
        //     + "      <div class=\"col-xs-1 text-center\" style=\"padding:0px;word-break: break-word;\"><input type=\"checkbox\" class=\"form-check-input checkClassBleedingSel\" id=\"checkBleedingSel" + i + "\" disabled ></div>"
        //     + "      <div class=\"col-xs-2 text-center\" style=\"padding:0px;word-break: break-word;\">" + lists[i].col2 + "</div>"
        //     + "      <div class=\"col-xs-2 text-center\" style=\"padding:0px;word-break: break-word;\">" + lists[i].col3 + "</div>"
        //     + "      <div class=\"col-xs-2 text-center\" style=\"padding:0px;word-break: break-word;\">" + lists[i].col4 + "</div>"
        //     + "      <div class=\"col-xs-1 text-center\" style=\"padding:0px;word-break: break-word;\">" + lists[i].col5 + "</div>"
        //     + "      <div class=\"col-xs-1 text-center\" style=\"padding:0px;word-break: break-word;\">" + lists[i].col6 + "</div>"
        //     + "      <div class=\"col-xs-3 text-center\" style=\"padding:0px;word-break: break-word;\">" + lists[i].col7 + "</div>"
        //     + "    </div>"
        //     + "</div>"
        //     + "</div>";
        // //console.log( i + " : " + lists[i].patientId + " : " + lists[i].patientNm);
    }
    $("#list-group").append(strDisplayTemp); // element 추가
    eventMakeCondition();
  };

  //==== 초기화 설정 } ====

  //==== 이벤트 설정 { ====
  var addEvent = function() {
    // 컬럼 클릭의 정렬 이벤트
    eventColumnClick();

    eventRowClick();

    eventCondition();

    eventBackBlock();
  };

  // 20190228 shinsunwoo 환자의 바코드 추출 toNative 호출
  var readBarcode = function(barMode) {
    var callbackFn = "window.activeObj.readBarcodeCallBack";
    if (barMode == "search") {
      callbackFn = "window.activeObj.readBarcodeCallBack";
    } else if (barMode == "check") {
      callbackFn = "window.activeObj.readBarcodeCallBackCheck";
    } else if (barMode == "number") {
      callbackFn = "window.activeObj.readBarcodeCallBackNumber";
    } else {
      callbackFn = "window.activeObj.readBarcodeCallBack";
    }
    console.log("call readBarcode");
    var msg = {
      type: "command",
      functionType: "readBarcode",
      value: {
        callbackFn: callbackFn
      }
    };
    self.toNative(msg);
  };

  // 20190228 shinsunwoo 환자의 바코드 추출 callback 처리
  this.readBarcodeCallBack = function(returnCode) {
    var results = new Object();
    if (typeof returnCode === "string") {
      results = self.util.parseJson(returnCode);
    } else {
      results = returnCode;
    }

    if (results.success != undefined && results.success == "true") {
      console.log("readBarcode : success");
      console.log(results.result);
      $("#txtBleedingPatientSearch").val(results.result);
      getPatientInfo();
    } else {
      console.log("readBarcode : failed");
      self.alert("readBarcode APP function 호출 오류 ");
    }
  };

  this.readBarcodeCallBackCheck = function(returnCode) {
    var results = new Object();
    if (typeof returnCode === "string") {
      results = self.util.parseJson(returnCode);
    } else {
      results = returnCode;
    }

    if (results.success != undefined && results.success == "true") {
      console.log("readBarcode : success");
      console.log(results.result);
      checkBarcodeNum(results.result);
    } else {
      console.log("readBarcode : failed");
      self.alert("readBarcode APP function 호출 오류 ");
    }
  };

  this.deviceBarcodeCallBackCheck = function(returnCode) {
    var results = new Object();
    if (typeof returnCode === "string") {
      results = self.util.parseJson(returnCode);
    } else {
      results = returnCode;
    }

    if (results.success != undefined && results.success == "true") {
      console.log("readBarcode : success");
      console.log(results.result);
      checkBarcodeNum(results.result);
    } else {
      console.log("readBarcode : failed");
      self.alert("readBarcode APP function 호출 오류 ");
    }
  };

  this.readBarcodeCallBackNumber = function(returnCode) {
    var results = new Object();
    if (typeof returnCode === "string") {
      results = self.util.parseJson(returnCode);
    } else {
      results = returnCode;
    }

    if (results.success != undefined && results.success == "true") {
      console.log("readBarcode : success");
      console.log(results.result);
      $("#txtBleedingNumberSearchTxt").val(results.result);
      $("#txtBleedingNumberSearchTxt").trigger("keydown");
    } else {
      console.log("readBarcode : failed");
      self.alert("readBarcode APP function 호출 오류 ");
    }
  };

  //검색 페이지 뒤로가기 막기
  var eventBackBlock = function() {
    $(window).off("pageshow");
    $(window).bind("pageshow", function(event) {
      if (event.originalEvent.persisted) {
        document.location.reload();
      }
    });
  };

  var eventColumnClick = function() {
    /*
        $("#divResultHeaderColumn1").off("click");
        $("#divResultHeaderColumn1").on("click", function(){
            //alert("column1 clicked!!");
            sortColumn( 1, "patientId");
        });

        $("#divResultHeaderColumn2").off("click");
        $("#divResultHeaderColumn2").on("click", function(){
            //alert("column2 clicked!!");
            sortColumn( 2, "patientNm");
        });

        $("#divResultHeaderColumn3").off("click");
        $("#divResultHeaderColumn3").on("click", function(){
            //alert("column3 clicked!!");
            sortColumn( 3, "roomNm");
        });

        $("#divResultHeaderColumn4").off("click");
        $("#divResultHeaderColumn4").on("click", function(){
            //alert("column4 clicked!!");
            sortColumn( 4, "age");
        });

        $("#divResultHeaderColumn5").off("click");
        $("#divResultHeaderColumn5").on("click", function(){
            //alert("column5 clicked!!");
            sortColumn( 5, "operationDt");
        });

        $("#divResultHeaderColumn6").off("click");
        $("#divResultHeaderColumn6").on("click", function(){
            //alert("column6 clicked!!");
            sortColumn( 6, "anesthesiaTy");
        });

        $("#divResultHeaderColumn7").off("click");
        $("#divResultHeaderColumn7").on("click", function(){
            //alert("column7 clicked!!");
            sortColumn( 7, "deptNm");
        });

        $("#divResultHeaderColumn8").off("click");
        $("#divResultHeaderColumn8").on("click", function(){
            //alert("column8 clicked!!");
            sortColumn( 8, "operationStatNm");
        });
        */
  };

  var eventRowClick = function() {};

  var eventCondition = function() {
    ///////////////////////////////////////////////////////////////////////////////// 2019.09.04 추가 Start

    //데이터 전체길이 입력시 검색
    $("#txtBleedingPatientSearch").off("keydown");
    $("#txtBleedingPatientSearch").on("keydown", function(e) {
      if (
        e.keyCode == 13 &&
        $("#txtBleedingPatientSearch").val().length != 0
      ) {
        initPatientInfo();
        getPatientInfo();
      } else if (
        e.keyCode == 13 &&
        $("#txtBleedingPatientSearch").val().length == 0
      ) {
        self.alert("환자번호를 입력해주세요.");
        $("#txtBleedingPatientSearch").focus();
      }
    });

    //포커스 초기화
    $("#txtBleedingPatientSearch").off("focus");
    $("#txtBleedingPatientSearch").on("focus", function() {
      $(this).val("");
    });

    //데이터 전체길이 입력시 검색
    $("#txtBleedingNumberSearchTxt").off("keydown");
    $("#txtBleedingNumberSearchTxt").on("keydown", function(e) {
      if (e.keyCode == 13 && varResultLists.length != 0) {
        if (!initBarcodeInputBleeding($(this).val())) {
          self.alert("처방되지 않은 검체번호를 입력하셨습니다.");
          return;
        }
        $(this).val("");
      } else if (e.keyCode == 13 && varResultLists.length == 0) {
        self.alert("환자번호를 검색해주세요.");
        $("#txtBleedingPatientSearch").focus();
      }
    });

    //포커스 초기화
    $("#txtBleedingNumberSearchTxt").off("focus");
    $("#txtBleedingNumberSearchTxt").on("focus", function() {
      $(this).val("");
      $(this).prop("placeholder", "채혈바코드를 스캔해주세요.");
    });

    // 투약번호 선택 처리
    $("#btnBarcodeSearchSelect").off("click");
    $("#btnBarcodeSearchSelect").on("click", function() {
      $("#txtBleedingNumberSearchTxt").val("");
      $("#txtBleedingNumberSearchTxt").focus();
    });

    // 바코드 검색
    $("#btnBarcodeSearch").off("click");
    $("#btnBarcodeSearch").on("click", function() {
      $("#txtBleedingNumberSearchTxt").val("");
      readBarcode("number");
    });

    $("#mplusAlert").off("hidden.bs.modal");
    $("#mplusAlert").on("hidden.bs.modal", function() {
      $("#txtBleedingNumberSearchTxt").focus();
    });

    ///////////////////////////////////////////////////////////////////////////////// 2019.09.04 추가 End

    // 환자 조회 이벤트 처리
    $("#btnBleedingList").off("click");
    $("#btnBleedingList").on("click", function() {
      var searchTxt = $("#txtBleedingPatientSearch").val();
      if (searchTxt == "") {
        self.alert("환자번호를 입력해주세요.");
        return;
      }
      initPatientInfo();
      getPatientInfo();
    });

    // 바코드 검색
    $("#btnBarcodeSearch").off("click");
    $("#btnBarcodeSearch").on("click", function() {
      $("#txtBleedingPatientSearch").val("");
      readBarcode("search");
    });

    // 채혈처리
    $("#btnInputBleedingAct").off("click");
    $("#btnInputBleedingAct").on("click", function() {
      initInputBleeding();
      settingSetInputBleeding();
      $("#mplusAlertBleedingAction").modal("show");
    });

    // 채혈실시 선택
    $("#checkBleedingAll").off("change");
    $("#checkBleedingAll").on("change", function() {
      if ($("#checkBleedingAll").is(":checked")) {
        $(".checkClassBleedingSel").prop("checked", true);
        $(".checkClassBleedingSel").trigger("change");
      } else {
        $(".checkClassBleedingSel").prop("checked", false);
        $(".checkClassBleedingSel").trigger("change");
      }
    });

    // 채혈실시
    $("#btnBleedingAct").off("click");
    $("#btnBleedingAct").on("click", function() {
      if (checkInputBleedingData()) {
        inputBleeding();
      }
    });

    // 투약취소
    $("#btnBleedingCancel").off("click");
    $("#btnBleedingCancel").on("click", function() {
      $("#mplusAlertBleedingAction").modal("hide");
      $("#txtBleedingNumberSearchTxt").focus();
    });
  };

  var eventMakeCondition = function() {
    $(".checkClassBleedingSel").off("change");
    $(".checkClassBleedingSel").on("change", function() {
      var checkSelected = false;
      for (var fCnt = 0; fCnt < varResultLists.length; fCnt++) {
        if ($("#checkBleedingSel" + fCnt).is(":checked")) {
          checkSelected = true;
          break;
        }
      }
      if (checkSelected) {
        $("#btnInputBleedingAct").attr("disabled", false);
      } else {
        $("#btnInputBleedingAct").attr("disabled", true);
      }
    });
  };

  var eventMakeBarcodeCondition = function() {
    $(".classBtnInPutActBarcode").off("click");
    $(".classBtnInPutActBarcode").on("click", function() {
      //readBarcode("check");
      //TEST 삭제
      for (var fCnt = 0; fCnt < inputBleedingLength; fCnt++) {
        checkBarcodeNum($("#spanInputBleedingNum" + fCnt).text());
      }
    });
  };

  //==== 이벤트 설정 } ====

  //==== 환자 정보 조회 처리 { ====

  //==== 환자 정보 조회 처리 } ====

  //==== 컬럼 정렬 프로세스 { ====
  // 컬럼 상태를 초기화 처리
  var initColumnStatus = function() {
    varToggleCol1 = 0;
    varToggleCol2 = 0;
    varToggleCol3 = 0;
    varToggleCol4 = 0;
    varToggleCol5 = 0;
    varToggleCol6 = 0;
    varToggleCol7 = 0;
    varToggleCol8 = 0;

     // 컬럼 정렬 아이콘 초기화 :  ▼ ▲
     $("#spanSortColumn1").text("");
     $("#spanSortColumn2").text("");
     $("#spanSortColumn3").text("");
     $("#spanSortColumn4").text("");
     $("#spanSortColumn5").text("");
     $("#spanSortColumn6").text("");
     $("#spanSortColumn7").text("");
     $("#spanSortColumn8").text("");
     };
 
     // 컬럼 상태를 설정(정렬 조건 적용)
     var setColumnStatus = function( columnNo){
 
       // 클릭된 column의 현재 상태를 백업
       var copyToggleStatus = 0;
       if( columnNo == 1)
           copyToggleStatus = varToggleCol1;
       else if( columnNo == 2)
           copyToggleStatus = varToggleCol2;
       else if( columnNo == 3)
           copyToggleStatus = varToggleCol3;
       else if( columnNo == 4)
           copyToggleStatus = varToggleCol4;
       else if( columnNo == 5)
           copyToggleStatus = varToggleCol5;
       else if( columnNo == 6)
           copyToggleStatus = varToggleCol6;
       else if( columnNo == 7)
           copyToggleStatus = varToggleCol7;
       else if( columnNo == 8)
           copyToggleStatus = varToggleCol8;
 
       // column 상태를 초기화
       initColumnStatus();
       // 클릭된 column의 백업된 상태에서 한단계 진핸된 상태로 변경
       if( columnNo == 1)
           copyToggleStatus == 0 ? varToggleCol1 = 1 : copyToggleStatus == 1 ? varToggleCol1 = 2 : varToggleCol1 = 1;
       else if( columnNo == 2)
           copyToggleStatus == 0 ? varToggleCol2 = 1 : copyToggleStatus == 1 ? varToggleCol2 = 2 : varToggleCol2 = 1;
       else if( columnNo == 3)
           copyToggleStatus == 0 ? varToggleCol3 = 1 : copyToggleStatus == 1 ? varToggleCol3 = 2 : varToggleCol3 = 1;
       else if( columnNo == 4)
           copyToggleStatus == 0 ? varToggleCol4 = 1 : copyToggleStatus == 1 ? varToggleCol4 = 2 : varToggleCol4 = 1;
       else if( columnNo == 5)
           copyToggleStatus == 0 ? varToggleCol5 = 1 : copyToggleStatus == 1 ? varToggleCol5 = 2 : varToggleCol5 = 1;
       else if( columnNo == 6)
           copyToggleStatus == 0 ? varToggleCol6 = 1 : copyToggleStatus == 1 ? varToggleCol6 = 2 : varToggleCol6 = 1;
       else if( columnNo == 7)
           copyToggleStatus == 0 ? varToggleCol7 = 1 : copyToggleStatus == 1 ? varToggleCol7 = 2 : varToggleCol7 = 1;
       else if( columnNo == 8)
           copyToggleStatus == 0 ? varToggleCol8 = 1 : copyToggleStatus == 1 ? varToggleCol8 = 2 : varToggleCol8 = 1;
       // 정렬 상태 화면에 그리기
       varToggleCol1 == 1 ? $("#spanSortColumn1").text("▲") : varToggleCol1 == 2 ? $("#spanSortColumn1").text("▼") : $("#spanSortColumn1").text("");
       varToggleCol2 == 1 ? $("#spanSortColumn2").text("▲") : varToggleCol2 == 2 ? $("#spanSortColumn2").text("▼") : $("#spanSortColumn2").text("");
       varToggleCol3 == 1 ? $("#spanSortColumn3").text("▲") : varToggleCol3 == 2 ? $("#spanSortColumn3").text("▼") : $("#spanSortColumn3").text("");
       varToggleCol4 == 1 ? $("#spanSortColumn4").text("▲") : varToggleCol4 == 2 ? $("#spanSortColumn4").text("▼") : $("#spanSortColumn4").text("");
       varToggleCol5 == 1 ? $("#spanSortColumn5").text("▲") : varToggleCol5 == 2 ? $("#spanSortColumn5").text("▼") : $("#spanSortColumn5").text("");
       varToggleCol6 == 1 ? $("#spanSortColumn6").text("▲") : varToggleCol6 == 2 ? $("#spanSortColumn6").text("▼") : $("#spanSortColumn6").text("");
       varToggleCol7 == 1 ? $("#spanSortColumn7").text("▲") : varToggleCol7 == 2 ? $("#spanSortColumn7").text("▼") : $("#spanSortColumn7").text("");
       varToggleCol8 == 1 ? $("#spanSortColumn8").text("▲") : varToggleCol8 == 2 ? $("#spanSortColumn8").text("▼") : $("#spanSortColumn8").text("");
     };
 
     // 컬럼 상태를 조회(정렬 조건 적용)
     var getColumnStatus = function( columnNo){
       if( columnNo == 1)
           return varToggleCol1;
       else if( columnNo == 2)
           return varToggleCol2;
       else if( columnNo == 3)
           return varToggleCol3;
       else if( columnNo == 4)
           return varToggleCol4;
       else if( columnNo == 5)
           return varToggleCol5;
       else if( columnNo == 6)
           return varToggleCol6;
       else if( columnNo == 7)
           return varToggleCol7;
       else if( columnNo == 8)
           return varToggleCol8;
     };
 
     // 컬럼의 정렬을 실행
     var sortColumn = function( columnNo, fieldName){
       // 컬럼 상태 설정
       setColumnStatus( columnNo);
       // 오름차순, 내림차순 선택
       var isAscending = true;
       getColumnStatus( columnNo) == 1 ? isAscending = true : getColumnStatus( columnNo) == 2 ? isAscending = false : isAscending = true;
       // 정렬 실행
       self.common.sortArrayObject( varResultLists, fieldName, isAscending);
       // 환자 정보 다시 그리기
       drawPatientList();
     }
     //==== 컬럼 정렬 프로세스 } ====
 };