123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394 |
- "use strict";
- /**
- * mplus_safety_bleeding
- * 2020.02.06
- */
- var mplus_transfusion = function() {
- // 상속
- mplus_common.call(this);
-
- var self = this;
- /* Fatima 전역 변수 */
- var bloodArr = []; // API 호출 lists 를 담는 List
- var patientArr = []; // 환자 정보 List
- var executionDtTm = self.util.toDatetimeFatima2(new Date());
- var selectItem = []; // 선택된 아이템 정보
- // 인증저장 완료 후 초기화 필요함
- var doctorInfo = []; // 시작 및 간호사 정보
- var failedArr = []; // 마지막 활력징후 API 에서 실패한 데이터
- var successArr = []; // 마지막 활력징후 API 에서 성공한 데이터
- var xmlDataArr = []; // native Callback XML 데이터 저장
- var signDataArr = []; // native Callback 인증 데이터 저장
- var certXml = ""; // toNative 로 던져주기 위한 Xml String
- var maxIndex = 0;
-
- this.maxLengthCheck = function(object){
- if (object.value.length > object.maxLength){
- object.value = object.value.slice(0, object.maxLength);
- }
-
- if (object.id == "inputTemperature" && object.value.length == 2) {
- $("#inputTemperatureSub").focus();
- }
-
- if (object.id == "inputTemperature2" && object.value.length == 2) {
- $("#inputTemperatureSub2").focus();
- }
- if (object.id == "inputTemperature3" && object.value.length == 2) {
- $("#inputTemperatureSub3").focus();
- }
-
- if (object.id == "inputTemperatureSub" && object.value.length == 1) {
- $("#inputSbp").focus();
- }
-
- if (object.id == "inputTemperatureSub2" && object.value.length == 1) {
- $("#inputSbp2").focus();
- }
- if (object.id == "inputTemperatureSub3" && object.value.length == 1) {
- $("#inputSbp3").focus();
- }
- if (object.id == "nfcDoctorId1" && object.value.length == 6) {
- var doctorId = String($("#nfcDoctorId1").val()).padStart(6, "0");
- var type = "first";
- if ($("#nfcDoctorId2").val() == "" || $("#nfcDoctorId2").val() == null) {
- getDoctorId(doctorId, type);
- } else {
- if ($("#nfcDoctorId2").val() == $("#nfcDoctorId1").val()) {
- alert("의료진은 중복으로 입력될 수 없습니다.");
- $("#nfcDoctorId1").val("");
- } else {
- getDoctorId(doctorId, type);
- }
- }
- }
- if (object.id == "nfcDoctorId2" && object.value.length == 6) {
- var doctorId = String($("#nfcDoctorId2").val()).padStart(6, "0");
- var type = "second";
- if ($("#nfcDoctorId1").val() == "" || $("#nfcDoctorId1").val() == null) {
- getDoctorId(doctorId, type);
- }
- else {
- if ($("#nfcDoctorId2").val() == $("#nfcDoctorId1").val()) {
- alert("의료진은 중복으로 입력될 수 없습니다.");
- $("#nfcDoctorId2").val("");
- }
- else {
- getDoctorId(doctorId, type);
- }
- }
-
- }
- };
-
- /* Fatima 전역 변수 */
- /**
- * 초기화
- */
- this.init = function() {
- localStorage.removeItem("defaultHomePage");
- localStorage.setItem("defaultHomePage", "transfusion");
- // 초기 화면 조건 구성
- initCondition();
- // 이벤트 초기화
- addEvent();
- $("#txtTransFusionSearch").focus();
- };
- //==== 초기화 설정 { ====
- var initCondition = function() {
- // 초기 화면 조건 구성
- //환자정보 초기화
- initPatientInfo();
- };
- /**
- * 2020.02.06
- * 수혈 환자 정보 초기화
- */
- var initPatientInfo = function() {
- $(".patient-name").text("환자명");
- $(".patient-gender-age").text("성별/나이");
- $(".patient-birthDt").text("생년월일");
- $("#patientInfo").text("성별/나이");
- $(".dept-name").text("실시부서");
- $(".user-name").text("실시자명");
- $(".user-code").text("(사원번호)");
- $(".patient-name button").attr("style", "display: none");
- };
- var initList = function() {
- $("#bloodListGroup").empty();
- $("#scanBarcodeGroup").attr("style", "display: ;");
- $("#bloodDetail").attr("style", "display: none;");
- }
-
- function initLayout() {
- $("#inputPulse").val("");
- $("#inputRespiration").val("");
- $("#inputTemperature").val("");
- $("#inputTemperatureSub").val("");
- $("#inputSbp").val("");
- $("#inputDbp").val("");
- $("#inputPulse2").val("");
- $("#inputRespiration2").val("");
- $("#inputTemperature2").val("");
- $("#inputTemperatureSub2").val("");
- $("#inputSbp2").val("");
- $("#inputDbp2").val("");
- $(".modal-body.pt-4.pb-4").children().remove();
-
- $("#inputPulse3").val("");
- $("#inputRespiration3").val("");
- $("#inputTemperature3").val("");
- $("#inputTemperatureSub3").val("");
- $("#inputSbp3").val("");
- $("#inputDbp3").val("");
- }
- /**
- *
- * 환자 기본정보 호출
- * @param {*} patientId 입력받은 환자번호
- * @param {*} isSecondTrial 두 번째 호출 여부
- */
- var getPocPatientInfo = function(patientId, isSecondTrial) {
- var param = {
- hospitalCd: localStorage.getItem("hospitalCd"),
- userId: gLoginUserId,
- patientId: patientId,
- isSecondTrial: isSecondTrial
- };
- self.safety.getPocPatientInfo(param, patientId, isSecondTrial, processGetPocPatientInfo);
- };
- /**
- * 호출된 기본정보를 화면에 매핑
- * @param {*} lists API 호출 후 반환되는 처방정보
- * @param {*} barPid 입력받은 환자번호
- * @param {*} isSecondTrial 2 번째 호출 여부
- */
- var processGetPocPatientInfo = function(lists, barPid, isSecondTrial) {
- patientArr = [];
- if(self.util.isEmpty(lists) || lists.length == 0){
- initPatientInfo();
- initList();
- $("#Modal01 .modal-body h4").text("환자정보 조회 실패");
- $("#Modal01 .modal-body p").text("환자정보 조회에 실패하였습니다.");
- $("#Modal01").modal("show");
- $('#txtTransFusionSearch').blur();
- return;
- }
- // 1. 만일 환자 정보가 맞다면 환자 정보를 보여준다.
- if (barPid == lists[0].patientId) {
- patientArr = lists;
- $(".patient-name").text(lists[0].patientNm);
- $("#patientInfo").text(lists[0].age + "/" + lists[0].gender + " " + lists[0].roomNm + "호");
- $(".patient-birthDt").text(lists[0].birthDt);
- $(".dept-name").text(localStorage.getItem("selectedDeptNm"));
- $(".user-name").text(gLoginUserNm);
- $(".user-code").text("(" + gLoginUserId + ")");
- $(".patient-name").append("<button type=\"button\" class=\"btn btn-blood\">" + lists[0].bloodType + "</button>");
-
- var summaryCd = lists[0].patientSummaryCd.split(",");
- var spanTag = "";
- for (var i = 0; i < summaryCd.length; i++) {
- var sCd = summaryCd[i];
- if (sCd == "!") {
- sCd = "t";
- } else if (sCd == "₩") {
- sCd = "w";
- }
- spanTag = "<span class=\"glyphicon ico ico_" + sCd.toLowerCase() + " align-middle\" aria-hidden=\"true\"></span>"
- $("#patientInfo").append(spanTag);
- }
-
- getBloodCheckList(false);
- }
- // 2. 환자 정보가 맞지 않으면
- else {
- // 2.1 2번째 호출이 아니면 다시 환자 정보 조회
- if (!isSecondTrial) {
- getPocPatientInfo(barPid, true);
- }
- // 2.2 2번째 호출이면 Alert
- else {
- initPatientInfo();
- initList();
- $("#Modal01 .modal-body h4").text("환자정보 조회 실패");
- $("#Modal01 .modal-body p").text("시스템 이용량이 많습니다. 다시 조회해 주세요.");
- $("#Modal01").modal("show");
- }
- }
- }
- /**
- * 바코드 콜백
- */
- this.barcodeCallback = function(data) {
- var result = "";
- // null 이라면 반환
- if(self.util.isEmpty(data)){
- return;
- }
- else{
- result = self.util.decodeBarcode(data);
- }
- if(self.util.isEmpty(result) || result.type == 'errBarcode'){
- $("#txtTransFusionSearch").blur();
- $("#Modal01 .modal-body h4").text("수혈실시 바코드가 아닙니다.");
- $("#Modal01 .modal-body p").text("바코드를 다시 확인해주세요.");
- $("#Modal01").modal("show");
- return;
- }
- else if (result.type == 'pid') {
- var patientId = result.data;
- $("#txtTransFusionSearch").val(patientId)
- getPocPatientInfo(patientId, false);
- $("#btnTransFusionSearch").removeClass("btn-secondary").addClass("btn-primary");
- $("#txtTransFusionSearch").blur();
- }
- else if (result.type == "medicine") {
- $("#txtTransFusionSearch").blur();
- if (patientArr.length == 0) {
- $("#Modal01 .modal-body h4").text("환자 정보가 없습니다.");
- $("#Modal01 .modal-body p").text("환자 조회를 해주세요.");
- $("#Modal01").modal("show");
- return;
- }
- var foundCnt = 0;
- for(var idx = 0; idx < bloodArr.length; idx++){
- if(bloodArr[idx].prescriptionNo == result.data.replace("B", "")){
- // console.log("label[for='checkBloodSel_" + idx + "']");
- var labelObj = $("label[for='checkBloodSel_" + idx + "']");
- labelObj.attr('class', 'btn btn-barcode icon');
- var iptObj = $('input:checkbox[id="checkBloodSel_' + idx + '"]');
- iptObj.prop('checked', true);
- var li = $('li[id="listGroupItem_' + idx + '"]');
- li.addClass("active");
- foundCnt++;
- }
- }
- if(foundCnt == 0){
- $("#Modal01 .modal-body h4").text("실시할 수 없는 수혈 바코드 입니다.");
- $("#Modal01 .modal-body p").text("");
- $("#Modal01").modal("show");
- }
- }
- else{
- $("#txtTransFusionSearch").blur();
- $("#Modal01 .modal-body h4").text("수혈실시 바코드가 아닙니다.");
- $("#Modal01 .modal-body p").text("바코드를 다시 확인해주세요.");
- $("#Modal01").modal("show");
- }
- };
- /**
- * 혈액내역정보 리스트 호출
- * @param {*} isSecondTrial 두 번째 호출여부
- */
- var getBloodCheckList = function(isSecondTrial) {
- var param = {
- hospitalCd: localStorage.getItem("hospitalCd"),
- userId : gLoginUserId,
- patientId: $("#txtTransFusionSearch").val(),
- isSecondTrial: isSecondTrial
- };
- self.safety.getBloodCheckList(param, isSecondTrial, processGetBloodCheckList);
- }
- /**
- * 혈액내역정보 호출된 리스트 매핑
- * @param {*} isSecondTrial 2번째 호출 여부
- * @param {*} lists API 반환 데이터
- */
- var processGetBloodCheckList = function(isSecondTrial, lists) {
- console.log("bloodList -- > " + JSON.stringify(lists));
- bloodArr = [];
- var strListTemp = "";
- $("#bloodListGroup").empty();
- // 예외처리
- if(self.util.isEmpty(lists) || lists.length == 0){
- // $("#Modal01 .modal-body h4").text("수혈정보 조회");
- // $("#Modal01 .modal-body p").text("조회된 혈액정보가 없습니다.");
- // $("#Modal01").modal("show");
- return;
- }
- // 1. 기존 환자 ID와 반환되는 환자 ID가 일치하다면 정상적으로 실행
- if (patientArr[0].patientId == lists[0].patientId) {
- bloodArr = lists;
- $("#scanBarcodeGroup").attr("style", "display: none;");
- $("#bloodDetail").attr("style", "display: ");
- for (var i = 0; i < lists.length; i++) {
- var statusMapping = lists[i].bloodCheckupStatus;
- var bloodCheckupStatus = "";
- var prcpNm = "";
- var dTtm = "";
- if (lists[i].releaseDtTm == null || lists[i].releaseDtTm == "" || lists[i].releaseDtTm == undefined) {
- lists[i].releaseDtTm = "";
- }
- if (statusMapping == "00") {
- bloodCheckupStatus = "혈액불출";
- prcpNm = "불출일시";
- dTtm = (lists[i].releaseDtTm).substring(4, 6) + "-" + (lists[i].releaseDtTm).substring(6, 8) + "<br>" + (lists[i].releaseDtTm).substring(8, 10)
- + ":" + (lists[i].releaseDtTm).substring(10, 12);
- } else if (statusMapping == "01") {
- bloodCheckupStatus = "환자/혈액/의료진 확인";
- prcpNm = "불출일시";
- dTtm = (lists[i].releaseDtTm).substring(4, 6) + "-" + (lists[i].releaseDtTm).substring(6, 8) + "<br>" + (lists[i].releaseDtTm).substring(8, 10)
- + ":" + (lists[i].releaseDtTm).substring(10, 12);
- } else if (statusMapping == "02") {
- bloodCheckupStatus = "수혈안내동의";
- prcpNm = "승인일시";
- dTtm = (lists[i].approvalDtTm).substring(4, 6) + "-" + (lists[i].approvalDtTm).substring(6, 8) + "<br>" + (lists[i].approvalDtTm).substring(8, 10)
- + ":" + (lists[i].approvalDtTm).substring(10, 12);
- } else if (statusMapping == "03") {
- bloodCheckupStatus = "약물투여확인";
- prcpNm = "승인일시";
- dTtm = (lists[i].approvalDtTm).substring(4, 6) + "-" + (lists[i].approvalDtTm).substring(6, 8) + "<br>" + (lists[i].approvalDtTm).substring(8, 10)
- + ":" + (lists[i].approvalDtTm).substring(10, 12);
- } else if (statusMapping == "04") {
- bloodCheckupStatus = "활력징후 측정(15분후)";
- prcpNm = "수혈시작";
- dTtm = (lists[i].startDtTm).substring(4, 6) + "-" + (lists[i].startDtTm).substring(6, 8) + "<br>" + (lists[i].startDtTm).substring(8, 10)
- + ":" + (lists[i].startDtTm).substring(10, 12);
- } else if (statusMapping == "05") {
- bloodCheckupStatus = "활력징후 측정(수혈종료)";
- prcpNm = "수혈시작";
- dTtm = (lists[i].startDtTm).substring(4, 6) + "-" + (lists[i].startDtTm).substring(6, 8) + "<br>" + (lists[i].startDtTm).substring(8, 10)
- + ":" + (lists[i].startDtTm).substring(10, 12);
- } else {
- bloodCheckupStatus = "활력징후 측정(수혈종료)";
- prcpNm = "수혈시작";
- dTtm = (lists[i].startDtTm).substring(4, 6) + "-" + (lists[i].startDtTm).substring(6, 8) + "<br>" + (lists[i].startDtTm).substring(8, 10)
- + ":" + (lists[i].startDtTm).substring(10, 12);
- }
- strListTemp +=
- "<li class=\"list-group-item\" id=\"listGroupItem_" + i + "\">"
- + "<div class=\"row\">"
- // CheckBox 시작
- + "<div class=\"col-xs-2 text-center select_ico\">"
- + "<input type=\"checkbox\" class=\"checkClassBloodSel\" id=\"checkBloodSel_" + i + "\" autocomplete=\"off\"/>"
- + "<div class=\"group\">"
- + "<label class=\"btn btn-check icon\" for=\"checkBloodSel_" + i + "\" >"
- + "<span class=\"glyphicon glyphicon-ok\" aria-hidden=\"true\"></span>"
- + "</label>"
- + "<label class=\"btn btn-outline-check icon\" for=\"checkBloodSel_" + i + "\">"
- + "<span class=\"glyphicon\" aria-hidden=\"true\"></span>"
- + "</label>"
- + "</div>"
- + "</div>"
- // CheckBox 끝
- //혈액 정보(활력징후 시작시간 혈액형 혈액처방정보 출력
- + "<div class=\"col-xs-6\">"
- + "<p class=\"title\" id=statusSetting>" + bloodCheckupStatus + "</p>"
- + "<p class=\"blood\" id=prcpDdSetting>" + lists[i].bloodNo +"<span> </span><span class=\"btn btn-blood\">" + lists[i].bloodType + lists[i].bloodRhType + "</span></p>"
- + "<p>" + lists[i].bloodProduct + "</p>"
- + "</div>"
- //혈액 정보(활력징후 시작시간 혈액형 혈액처방정보 출력 끝
- //수혈 진행 상황 및 시간 출력
- + "<div class=\"col-xs-3 text-center align-middle blood\">"
- + "<span>" + prcpNm + "</span>"
- + "</br>"
- + "<span>" + dTtm + "</span>"
- + "</div>"
- //수혈 진행 상황 및 시간 출력
- // //리스트 오른쪽 버튼
- + "<div class=\"col-xs-1 text-muted text-right\" >"
- + "<h3>"
- + "<a href=\"#\" id=\"btnItemDetail_" + i + "\">"
- + "<span class=\"glyphicon glyphicon-option-vertical\" aria-hidden=\"true\" >"
- + "</span>"
- + "</a>"
- + "</h3>"
- + "</div>"
- // // 리스트 오른쪽 버튼
- + "</li>"
- + "</div>";
- }
- $("#bloodListGroup").append(strListTemp);
-
- openDetailModal();
- inputCheckedItem();
- inputListClick();
- // 2. 환자정보가 일치하지 않다면
- } else {
- // 2.1 첫번째 호출인가
- if (!isSecondTrial) {
- getBloodCheckList(true);
- // 2.2 두번째 호출인가
- } else {
- $("#Modal01 .modal-body h4").text("수혈정보 조회 오류");
- $("#Modal01 .modal-body p").text("시스템 이용량이 많습니다. 다시 조회해 주세요.");
- $("#Modal01").modal("show");
- }
- }
- }
-
- /**
- * 체크박스 선택 아이템
- */
- var inputCheckedItem = function() {
- // $("#bloodListGroup li input").off("click");
- $("#bloodListGroup li input").on("click", function() {
- var li = $(this).parent().parent().parent();
- var id = li.attr("id");
- var rowNum = id.split('_')[1];
- var checkBox = $("#checkBloodSel_" + rowNum);
- var firstLabel = checkBox.parent().children().children().eq(0);
- var secondLabel = checkBox.parent().children().children().eq(1);
- if (checkBox.is(":checked") == true) {
- li.toggleClass("active");
- } else {
- li.toggleClass("active");
- firstLabel.attr("class", "btn btn-check icon");
- secondLabel.attr("class", "btn btn-outline-check icon");
- }
- });
- };
-
- function openDetailModal() {
- $(".list-group li a").on("click", function () {
- var id = $(this).attr("id");
- var index = id.split("_")[1];
- var checkYn = "";
-
- var hospitalCd = localStorage.getItem("hospitalCd");
- var userId = gLoginUserId;
- var patientId = $("#txtTransFusionSearch").val();
- var prescriptionNo = bloodArr[index].prescriptionNo;
- var bloodNo = bloodArr[index].bloodNo;
- var bloodSeq = bloodArr[index].bloodSeq;
- var bloodProduct = bloodArr[index].bloodProduct;
-
- var param = {
- hospitalCd : hospitalCd ,
- userId : userId ,
- patientId : patientId ,
- prescriptionNo : prescriptionNo,
- bloodNo : bloodNo ,
- bloodSeq : bloodSeq ,
- bloodProduct : bloodProduct
- };
-
- self.safety.getBloodDetailInfo(param, index, bloodDetailInfoCallback);
-
- });
- }
-
- var bloodDetailInfoCallback = function(index, output) {
- $("#detailBloodSeq").attr("style", "display: none;");
- $("#detailBloodCheckupNm").attr("style", "display: none;");
- $("#detailBloodCheckupNm2").attr("style", "display: none;");
- $("#detailStartDtTm").attr("style", "display: none;");
- $("#detailBf").attr("style", "display: none;");
- $("#detail15").attr("style", "display: none;");
- if (output.length == 0) {
- $("#Modal01 .modal-body h4").text("수혈 상세정보가 없습니다.");
- $("#Modal01 .modal-body p").text("");
- $("#Modal01").modal("show");
- return;
- }
- else{
- if (bloodArr[index].prescriptionNo != output[0].prescriptionNo) {
- $("#Modal01 .modal-body h4").text("상세정보 조회 오류");
- $("#Modal01 .modal-body p").text("상세정보 조회에 실패하였습니다.");
- $("#Modal01").modal("show");
- return;
- }
- $("#ModalDetail").modal("show");
- var transBfDiastolicBp = output[0].transBfDiastolicBp == undefined ? "" : output[0].transBfDiastolicBp;
- var trans15DiastolicBp = output[0].trans15DiastolicBp == undefined ? "" : output[0].trans15DiastolicBp;
- var bloodSeq = output[0].bloodSeq == undefined ? "" : output[0].bloodSeq;
- var bloodType = output[0].bloodType == undefined ? "" : output[0].bloodType;
- var transBfSystolicBp = output[0].transBfSystolicBp == undefined ? "" : output[0].transBfSystolicBp;
- var transBfRespiration = output[0].transBfRespiration == undefined ? "" : output[0].transBfRespiration;
- var prcpHistNo = output[0].prcpHistNo == undefined ? "" : output[0].prcpHistNo;
- var transAfRespiration = output[0].transAfRespiration == undefined ? "" : output[0].transAfRespiration;
- var transBfBodytemperature = output[0].transBfBodytemperature == undefined ? "" : output[0].transBfBodytemperature;
- var ird = output[0].ird == undefined ? "" : output[0].ird;
- var trans15SystolicBp = output[0].trans15SystolicBp == undefined ? "" : output[0].trans15SystolicBp;
- var hospitalCd = output[0].hospitalCd == undefined ? "" : output[0].hospitalCd;
- var transAfDiastolicBp = output[0].transAfDiastolicBp == undefined ? "" : output[0].transAfDiastolicBp;
- var transAfSystolicBp = output[0].transAfSystolicBp == undefined ? "" : output[0].transAfSystolicBp;
- var transCheckupId2 = output[0].transCheckupId2 == undefined ? "" : output[0].transCheckupId2;
- var prcpDd = output[0].prcpDd == undefined ? "" : output[0].prcpDd;
- var transCheckupId1 = output[0].transCheckupId1 == undefined ? "" : output[0].transCheckupId1;
- var prcpNm = output[0].prcpNm == undefined ? "" : output[0].prcpNm;
- var approvalDtTm = output[0].approvalDtTm == undefined ? "" : output[0].approvalDtTm;
- var releaseDtTm = output[0].releaseDtTm == undefined ? "" : output[0].releaseDtTm;
- var prcpCd = output[0].prcpCd == undefined ? "" : output[0].prcpCd;
- var bloodNo = output[0].bloodNo == undefined ? "" : output[0].bloodNo;
- var startDtTm = output[0].startDtTm == undefined ? "" : output[0].startDtTm;
- var bloodProduct = output[0].bloodProduct == undefined ? "" : output[0].bloodProduct;
- var prescriptionNo = output[0].prescriptionNo == undefined ? "" : output[0].prescriptionNo;
- var transBfPulse = output[0].transBfPulse == undefined ? "" : output[0].transBfPulse;
- var trans15Bodytemperature = output[0].trans15Bodytemperature == undefined ? "" : output[0].trans15Bodytemperature;
- var receiveId = output[0].receiveId == undefined ? "" : output[0].receiveId;
- var transCheckupNm1 = output[0].transCheckupNm1 == undefined ? "" : output[0].transCheckupNm1;
- var transAfBodytemperature = output[0].transAfBodytemperature == undefined ? "" : output[0].transAfBodytempera;
- var receiveNm = output[0].receiveNm == undefined ? "" : output[0].receiveNm;
- var trans15Pulse = output[0].trans15Pulse == undefined ? "" : output[0].trans15Pulse;
- var transAfPulse = output[0].transAfPulse == undefined ? "" : output[0].transAfPulse;
- var trans15Respiration = output[0].trans15Respiration == undefined ? "" : output[0].trans15Respiration;
- var transCheckupNm2 = output[0].transCheckupNm2 == undefined ? "" : output[0].transCheckupNm2;
- var bloodRhType = output[0].bloodRhType == undefined ? "" : output[0].bloodRhType;
- var sideEffectNms = output[0].sideEffectNms == undefined? "" : output[0].sideEffectNms;
- var transStopYn = output[0].transStopYn == undefined? "" : output[0].transStopYn;
- var transStopReasonNm = output[0].transStopReasonNm == undefined? "" : output[0].transStopReasonNm;
- $("#bloodNo").text(bloodNo);
- $("#bloodProduct").text(prcpNm);
- $("#bloodType").text(bloodType+bloodRhType);
- $("#ird").text(ird);
- $("#bloodSeq").text(bloodSeq);
- $("#transCheckupNm1").text(transCheckupNm1);
- $("#transCheckupNm2").text(transCheckupNm2);
- $("#receiveNm").text(receiveNm);
- if (sideEffectNms == null || sideEffectNms == "" || sideEffectNms == undefined) {
- $("#detailSideEffect").attr("style", "display: none;");
- } else {
- // var sideEffectNm = sideEffectNms.replace(" /", ",");
- // sideEffectNm[0].substring(1);
- // $("#detailSideEffectNm").empty();
- // for (var i = 0; i < sideEffectNm.length; i++) {
- // $("#detailSideEffectNm").append("<p>" + sideEffectNm[i] +"</p>");
- // }
- // $("#detailSideEffect").attr("style", "display: ;");
- // }
-
- var sideEffectNm = sideEffectNms.substring(1);
- $("#detailSideEffectNm").empty();
- $("#detailSideEffectNm").append("<p>" + sideEffectNm +"</p>");
- $("#detailSideEffect").attr("style", "display: ;");
- }
- if (transStopYn == null || transStopYn == "" || transStopYn == undefined) {
- $("#detailTransYn").attr("style", "display: none;");
- $("#detailTransNm").attr("style", "display: none;");
- } else {
- $("#detailTransYn2").text(transStopYn);
- $("#detailTransYn").attr("style", "display: ;");
- if (transStopYn == "N") {
- $("#detailTransNm").attr("style", "display: none;");
- } else {
- var transStopReasonNms = transStopReasonNm.trim();
- $("#detailTransNms").empty();
- $("#detailTransNms").text(transStopReasonNms);
- $("#detailTransNm").attr("style", "display: ;");
- }
- }
-
- if (releaseDtTm != "") {
- $("#releaseDtTm").text(moment(fullDateParse(releaseDtTm)).format("YYYY-MM-DD HH:mm:ss"));
- }
- if (approvalDtTm != "") {
- $("#approvalDtTm").text(moment(fullDateParse(approvalDtTm)).format("YYYY-MM-DD HH:mm:ss"));
- }
- if (startDtTm != "") {
- $("#startDtTm").text(moment(dateParse(startDtTm)).format("YYYY-MM-DD HH:mm"));
- }
- if (!self.util.isEmpty(transBfPulse)) {
- $("#detailBloodSeq").attr("style", "display: ;");
- $("#detailBloodCheckupNm").attr("style", "display: ;");
- $("#detailBloodCheckupNm2").attr("style", "display: ;");
- $("#detailStartDtTm").attr("style", "display: ;");
- $("#detailBf").attr("style", "display: ;");
- }
- $("#transBfPulseRespiration").text("맥박 : " + transBfPulse + "회, " + "호흡 : " + transBfRespiration + "회");
- $("#transBfBodytemperature").text("체온 : " + transBfBodytemperature + ", 혈압 : " + transBfSystolicBp + " / " + transBfDiastolicBp);
- $("#trans15PulseRespiration").text("맥박 : " + trans15Pulse + "회, " + "호흡 : " + trans15Respiration + "회");
- $("#trans15Bodytemperature").text("체온 : " + trans15Bodytemperature + ", 혈압 : " + trans15SystolicBp + " / " + trans15DiastolicBp);
- if (self.util.isEmpty(trans15Pulse)) {
- $("#newBadge").attr("style", "display: none");
- } else {
- $("#newBadge").attr("style", "display: none");
- $("#detail15").attr("style", "display: ;");
- }
- }
- }
-
- /**
- * 리스트 아이템 선택 이벤트
- */
- var inputListClick = function () {
- // $("#bloodListGroup li").off("click");
- $("#bloodListGroup li").on("click", function(e) {
- if(e.target.localName != "input" && e.target.localName != "label" && e.target.localName != "span"){
- selectItem = [];
-
- var li = $(this);
- var id = li.attr("id");
- var input = li.children().children().children("input");
- var bloodCheckupStatus = [];
- bloodCheckupStatus.push(bloodArr[id.split("_")[1]].bloodCheckupStatus);
-
- var bCheckUpStatus = bloodArr[id.split("_")[1]].bloodCheckupStatus;
-
- input.prop("checked", true);
- li.addClass("active");
- var selectList = $('#bloodListGroup li[class="list-group-item active"] input');
-
- for (var i = 0; i < selectList.length; i++) {
- var _id = selectList[i].id.split("_")[1];
- var _bloodCheckupStatus = bloodArr[_id].bloodCheckupStatus;
-
- for (var j = 0; j < bloodCheckupStatus.length; j++) {
- if (_bloodCheckupStatus != bloodCheckupStatus[j]) {
- $("#Modal01 .modal-body h4").text("같은 단계의 혈액팩이 아닙니다.");
- $("#Modal01 .modal-body p").text("일괄처리를 할 수 없습니다.");
- $("#Modal01").modal("show");
-
- input.prop("checked", false);
- li.removeClass("active");
- return;
- }
- }
- selectItem.push(bloodArr[_id]);
- }
-
- if (bCheckUpStatus == "00") { // 혈액불출
- openStep2Modal();
- } else if (bCheckUpStatus == "04") { // 활력징후 측정(수혈전)
- openStep3Modal();
- } else if (bCheckUpStatus == "05") { // 활력징후 측정(15분후)
- openStep4Modal();
- } else if (bCheckUpStatus == "06") {
- openStep4Modal();
- }
-
- }
-
- });
- };
- function openStep2Modal() {
- $(".modal").modal("hide");
- $(".modal-backdrop").modal("hide");
- $("#step3").modal("show");
-
- var patientId = patientArr[0].patientId;
- var patientNm = patientArr[0].patientNm;
- var bloodType = patientArr[0].bloodType;
- var gender = patientArr[0].gender;
- var age = patientArr[0].age;
- var birthDt = moment(patientArr[0].birthDt).format("YYYY-MM-DD");
- var deptNm = localStorage.getItem("selectedDeptNm");
- var summaryCd = patientArr[0].patientSummaryCd.split(",");
- var wardNm = patientArr[0].wardNm;
- var roomNm = patientArr[0].roomNm;
- var bedNm = patientArr[0].bedNm;
- var inDd = patientArr[0].inDd;
- var doctorNm = patientArr[0].doctorNm;
- $(".h2PatientInfo").text(patientId + " " + patientNm);
- $(".h2PatientInfo").append("<span class=\"blood\">" + " " + bloodType +"</span>");
- $(".patientSexNAge").text(gender + "/" + age + " " + roomNm + "호");
- $(".userInfo").html("<strong>실시부서</strong> : " + deptNm +"<span class=\"px-1\">|</span>" + gLoginUserNm + "(" +gLoginUserId +")");
- $(".date span").eq(0).remove();
- $(".date").html("<span>" + self.util.toDatetimeFatima(new Date()) + "</span>");
-
- var spanTag = "";
- for (var i = 0; i < summaryCd.length; i++) {
- var sCd = summaryCd[i];
- if (sCd == "!") {
- sCd = "t";
- } else if (sCd == "₩") {
- sCd = "w";
- }
- spanTag = "<span class=\"glyphicon ico ico_" + sCd.toLowerCase() + " align-middle\" aria-hidden=\"true\"></span>"
- $(".patientSexNAge").append(spanTag);
- }
-
- $("#patientIdName2").text(patientId + " " + patientNm);
- $("#patientSexNAge2").text(gender + "/" + age + " " + birthDt);
- $("#blood2").text(bloodType);
- $("#wardInfo").text(wardNm + "/" + roomNm + "/" + bedNm);
- $("#inDd").text(moment(inDd).format("YYYY-MM-DD"));
-
- var collapseDiv = $("#collapse2 div[class=row]");
- var badgeCount = (selectItem.length -1);
- var badgeCountTag = "<span class=\"badge\"> + " + badgeCount +"</span>";
- $("#heading2 button[data-toggle=collapse] div[class=row]").children().eq(0).text(selectItem[0].bloodNo);
- $("#heading2 button[data-toggle=collapse] div[class=row]").children().eq(1).html(selectItem[0].prcpNm + (badgeCount > 0 ? badgeCountTag : ""));
-
- collapseDiv.children().remove();
-
- var divItem = "";
- for (var i = 1; i < selectItem.length; i++) {
- divItem = "<div class=\"col-xs-4\">"+ selectItem[i].bloodNo + "</div>"
- + "<div class=\"col-xs-8\">" + selectItem[i].prcpNm + "</div>";
- collapseDiv.append(divItem);
- }
-
- $("#nfcDoctorName1").text("");
- $("#nfcDoctorId1").val("");
- $("#checkUpDoctorId1").remove();
-
- $("#nfcDoctorName2").text("");
- $("#nfcDoctorId2").val("");
- $("#checkUpDoctorId2").remove();
-
- $("#save3").off("click");
- $("#save3").on("click", function() {
- var nfcDoctorId1 = $("#nfcDoctorId1").val().trim();
- var nfcDoctorId2 = $("#nfcDoctorId2").val().trim();
-
- if (nfcDoctorId1 != "" && nfcDoctorId2 != "") {
-
- $("#checkUpDoctorId1").remove();
- $("#checkUpDoctorId2").remove();
-
- $("#nfcDoctorId1").parent().append("<input type=\"hidden\" id=\"checkUpDoctorId1\" name=\"checkUpDoctorId\" value=\"" + nfcDoctorId1 + "\" />");
- $("#nfcDoctorId2").parent().append("<input type=\"hidden\" id=\"checkUpDoctorId2\" name=\"checkUpDoctorId\" value=\"" + nfcDoctorId2 + "\" />");
-
- // var result = inputCheckupId();
-
- } else {
- alert("의료진은 2명이 필수 입력입니다.");
- return;
- }
-
- var inputPulse = $("#inputPulse").val();
- var inputRespiration = $("#inputRespiration").val();
- var inputTemperature = $("#inputTemperature").val();
- var inputTemperatureSub = $("#inputTemperatureSub").val();
- var inputSbp = $("#inputSbp").val();
- var inputDbp = $("#inputDbp").val();
-
- if (inputPulse == "" || inputRespiration == "" || inputTemperature == "" || inputTemperatureSub == ""
- || inputSbp == "" || inputDbp == "") {
- alert("미입력된 항목이 있습니다. \n입력 후, 진행이 가능합니다.");
- } else {
-
- inputBloodHealthCheckStep3();
- // openStep3Modal();
- }
-
- });
- }
-
- function openStep3Modal() {
- getSideEffectList();
- getTransStopReasonList("Step2");
- $(".modal").modal("hide");
- $(".modal-backdrop").modal("hide");
- $("#step4").modal("show");
- var patientId = patientArr[0].patientId;
- var patientNm = patientArr[0].patientNm;
- var bloodType = patientArr[0].bloodType;
- var gender = patientArr[0].gender;
- var age = patientArr[0].age;
- var deptNm = localStorage.getItem("selectedDeptNm");
- var summaryCd = patientArr[0].patientSummaryCd.split(",");
- var roomNm = patientArr[0].roomNm;
- $("#patientInfo2").text(patientId + " " + patientNm);
- $("#patientInfo2").append("<span class=\"blood\">" + " " + bloodType +"</span>");
- $("#patientSexAge2").text(gender + "/" + age + " " + roomNm + "호");
- $(".userInfo").html("<strong>실시부서</strong> : " + deptNm +"<span class=\"px-1\">|</span>" + gLoginUserNm + "(" +gLoginUserId +")");
- $(".date span").eq(0).remove();
- $(".date").html("<span>" + self.util.toDatetimeFatima(new Date()) + "</span>");
-
- var startDtTm = selectItem[0].startDtTm;
- if (selectItem[0].startDtTm == null || selectItem[0].startDtTm == "" || selectItem[0].startDtTm == undefined) {
- startDtTm = executionDtTm;
- }
- var badgeCount = (selectItem.length -1);
- var badgeCountTag = "<span class=\"badge\"> + " + badgeCount +"</span>";
- $("#heading4 button[data-toggle=collapse] div[class=row]").children().eq(0).text(selectItem[0].bloodNo);
- $("#heading4 button[data-toggle=collapse] div[class=row]").children().eq(1).html(selectItem[0].prcpNm + (badgeCount > 0 ? badgeCountTag : ""));
-
- if (startDtTm != "") {
- var strDate = moment(dateParse(startDtTm)).format("YYYY-MM-DD HH:mm");
- var addDate = new Date(strDate);
- var convertAddDate = addDate.setMinutes(addDate.getMinutes() + 15);
- var convertStrDate = moment(new Date(convertAddDate)).format("YYYY-MM-DD HH:mm");
-
- $(".time_box").children().eq(0).text("시작 : " + strDate);
- // console.log("strDate -- > " + strDate);
- $(".info_box2 p[class=blood]").text("15분 : " + convertStrDate);
- } else {
- $(".time_box").children().eq(0).text("시작 : ");
- $(".info_box2 p[class=blood]").text("15분 : ");
- }
-
- var collapseDiv = $("#collapse4 div[class=row]");
- collapseDiv.children().remove();
-
- var divItem = "";
- for (var i = 1; i < selectItem.length; i++) {
- divItem = "<div class=\"col-xs-4\">"+ selectItem[i].bloodNo + "</div>"
- + "<div class=\"col-xs-8\">" + selectItem[i].prcpNm + "</div>";
- collapseDiv.append(divItem);
- }
-
- $("#sideEffectEmpty").on("click", function() {
- for (var i = 0; i < $("input[name=sideEffectChk]").length; i++) {
- $("input[name=sideEffectChk]").eq(i).prop("checked", false);
-
- }
- $("#inputEtc").val("");
- $("#inputEtc").attr("disabled", true);
- });
-
- $(".sideEffect").on("click", function(){
- // getSideEffectList();
- $("#sideEffect_pop").modal("show");
- // $("#sideEffect_pop").attr("style", "display: block");
- });
-
- $("#save4").off("click");
- $("#save4").on("click", function() {
-
- var inputPulse = $("#inputPulse2").val();
- var inputRespiration = $("#inputRespiration2").val();
- var inputTemperature = $("#inputTemperature2").val();
- var inputTemperatureSub = $("#inputTemperatureSub2").val();
- var inputSbp = $("#inputSbp2").val();
- var inputDbp = $("#inputDbp2").val();
- var stopYn = "N";
- if ($("#raY1").is(":checked") == true) {
- stopYn = "Y";
- } else if ($("#raN1").is(":checked") == true) {
- stopYn = "N";
- }
- if (inputPulse == "" || inputRespiration == "" || inputTemperature == "" || inputTemperatureSub == ""
- || inputSbp == "" || inputDbp == "") {
- alert("미입력된 항목이 있습니다. \n입력 후, 진행이 가능합니다.");
- } else {
- if (stopYn == "Y") {
- if ($("#reasonBox option:selected").text().trim() == "기타") {
- if ($("#reasonEtc").val() == "") {
- alert("미입력된 항목이 있습니다. \n입력 후, 진행이 가능합니다.");
- } else {
- inputBloodHealthCheckStep4(stopYn, convertStrDate);
- }
- } else {
- inputBloodHealthCheckStep4(stopYn, convertStrDate);
- }
- } else {
- inputBloodHealthCheckStep4(stopYn, convertStrDate);
- }
- }
-
- });
- }
-
- function openStep4Modal() {
- getTransStopReasonList("Step3");
- getSideFinishEffectList();
- $(".modal").modal("hide");
- $(".modal-backdrop").modal("hide");
- $("#step5").modal("show");
- var patientId = patientArr[0].patientId;
- var patientNm = patientArr[0].patientNm;
- var bloodType = patientArr[0].bloodType;
- var gender = patientArr[0].gender;
- var age = patientArr[0].age;
- var deptNm = localStorage.getItem("selectedDeptNm");
- var summaryCd = patientArr[0].patientSummaryCd.split(",");
- var roomNm = patientArr[0].roomNm;
-
- $("#patientInfo3").text(patientId + " " + patientNm);
- $("#patientInfo3").append("<span class=\"blood\">" + " " + bloodType +"</span>");
- $("#patientSexAge3").text(gender + "/" + age + " " + roomNm + "호");
- $(".userInfo").html("<strong>실시부서</strong> : " + deptNm +"<span class=\"px-1\">|</span>" + gLoginUserNm + "(" +gLoginUserId +")");
- $(".date span").eq(0).remove();
- $(".date").html("<span>" + self.util.toDatetimeFatima(new Date()) + "</span>");
-
- var badgeCount = (selectItem.length -1);
- var badgeCountTag = "<span class=\"badge\"> + " + badgeCount +"</span>";
- $("#heading5 button[data-toggle=collapse] div[class=row]").children().eq(0).text(selectItem[0].bloodNo);
- $("#heading5 button[data-toggle=collapse] div[class=row]").children().eq(1).html(selectItem[0].prcpNm + (badgeCount > 0 ? badgeCountTag : ""));
- var collapseDiv = $("#collapse5 div[class=row]");
-
- collapseDiv.children().remove();
-
- var divItem = "";
- for (var i = 1; i < selectItem.length; i++) {
- divItem = "<div class=\"col-xs-4\">"+ selectItem[i].bloodNo + "</div>"
- + "<div class=\"col-xs-8\">" + selectItem[i].prcpNm + "</div>";
- collapseDiv.append(divItem);
- }
- $("#sideEffectInputN").off("click");
- $("#sideEffectInputN").on("click", function() {
- // console.log("sideEffectInputN");
- $("#sideEffetcValue").val("N");
- for (var i = 0; i < $("input[name=sideEffectChk2]").length; i++) {
- $("input[name=sideEffectChk2]").eq(i).prop("checked", false);
- }
-
- $("#inputFinishEtc").val("");
- });
-
- $("#sideEffectInputY").off("click");
- $("#sideEffectInputY").on("click", function() {
- // console.log("sideEffectInputY");
- $("#sideEffetcValue").val("Y");
- // getSideFinishEffectList();
- $("#sideEffect_pop2").modal("show");
- });
-
- $("#saveEndNext").off("click");
- $("#saveEndNext").on("click", function() {
- saveEndEvent("saveEndNext");
-
- });
-
- $("#saveEnd").off("click");
- $("#saveEnd").on("click", function() {
- saveEndEvent("saveEnd");
- });
-
- }
-
- function saveEndEvent(type) {
- var inputPulse = $("#inputPulse3").val();
- var inputRespiration = $("#inputRespiration3").val();
- var inputTemperature = $("#inputTemperature3").val();
- var inputTemperatureSub = $("#inputTemperatureSub3").val();
- var inputSbp = $("#inputSbp3").val();
- var inputDbp = $("#inputDbp3").val();
- var stopYn = "N";
- var index = selectItem.length - 1;
- if ($("#raY2").is(":checked") == true) {
- stopYn = "Y";
- } else if ($("#raN2").is(":checked") == true) {
- stopYn = "N";
- }
- if (inputPulse == "" || inputRespiration == "" || inputTemperature == "" || inputTemperatureSub == ""
- || inputSbp == "" || inputDbp == "") {
- alert("미입력된 항목이 있습니다. \n입력 후, 진행이 가능합니다.");
- } else {
- if (stopYn == "Y") {
- if ($("#reasonBox2 option:selected").text().trim() == "기타") {
- if ($("#reasonEtc2").val() == "") {
- alert("미입력된 항목이 있습니다. \n입력 후, 진행이 가능합니다.");
- } else {
- inputBloodHealthCheckFinishStep(stopYn);
- }
- } else {
- inputBloodHealthCheckFinishStep(stopYn);
- }
- } else {
- inputBloodHealthCheckFinishStep(stopYn);
- }
- }
- }
- async function inputBloodHealthCheckFinishStep(stopYn) {
-
- stopYn = stopYn == "Y" ? stopYn : "N";
- var sideEffect = "N";
-
- var sideEffectCode = "";
- var sideEffectName = "";
- for (var i = 0; i < $("input[name=sideEffectChk2]").length; i++) {
- if ($("input[name=sideEffectChk2]").eq(i).is(":checked") == true) {
- sideEffect = "Y";
- var _sideEffectName = $("input[name=sideEffectChk2]").eq(i).parent().parent().children().eq(1).text().trim();
- var _sideEffectCode = $("input[name=sideEffectCode2]").eq(i).val().trim();
- // sideEffectCode += "CD:" + _sideEffectCode + "^";
- sideEffectCode += _sideEffectCode + "^";
-
- if (_sideEffectName == "기타") {
- sideEffectName = $("#inputFinishEtc").val();
- }
- }
- }
- var transStopReasonCd = "";
- var transStopReasonEtc = "";
- if (stopYn == "Y") {
- if ($("#raY2").is(":checked") == true) {
- transStopReasonCd = $("#reasonBox2 option:selected").val();
- if ($("#reasonBox2 option:selected").text().trim() == "기타") {
- transStopReasonEtc = $("#reasonEtc2").val();
- }
-
- } else {
- transStopReasonCd = "";
- transStopReasonEtc = "";
- }
- } else {
- transStopReasonCd = "";
- transStopReasonEtc = "";
- }
-
- sideEffectCode = sideEffectCode.slice(0,-1);
- executionDtTm = "";
- var cnt = 0;
- for (var i = 0; i < selectItem.length; i++) {
- var hospitalCd = localStorage.getItem("hospitalCd");
- var userId = gLoginUserId;
- var userDeptCd = localStorage.getItem("selectedDeptCd");
- var patientId = $("#txtTransFusionSearch").val();
- var prescriptionNo = selectItem[i].prescriptionNo;
- var bloodNo = selectItem[i].bloodNo;
- var bloodSeq = selectItem[i].bloodSeq;
- var bloodProduct = selectItem[i].bloodProduct;
- var bloodCheckupStatus = "06";
- var pulse = $("#inputPulse3").val();
- var respiration = $("#inputRespiration3").val();
- var bodytemperature = $("#inputTemperature3").val() + "." + $("#inputTemperatureSub3").val(); //체온
- var systolicBp = $("#inputSbp3").val();
- var diastolicBp = $("#inputDbp3").val();
- var sideEffectYn = sideEffect;
- var sideEffectCds = sideEffectCode;
- var sideEffectNm = sideEffectName;
- var transStopYn = stopYn;
- executionDtTm = self.util.toDatetimeFatima2(new Date());
- var bloodType = selectItem[i].bloodType;
- var bloodRhType = selectItem[i].bloodRhType;
- var prcpNm = selectItem[i].prcpNm;
- var prcpCd = selectItem[i].prcpCd;
- var prcpDd = selectItem[i].prcpDd;
- var transCheckupId1 = "";
- var transCheckupId2 = "";
- var param = {
- hospitalCd : hospitalCd ,
- userId : userId ,
- userDeptCd : userDeptCd ,
- patientId : patientId ,
- prescriptionNo : prescriptionNo ,
- bloodNo : bloodNo ,
- bloodSeq : bloodSeq ,
- bloodProduct : bloodProduct ,
- bloodCheckupStatus : bloodCheckupStatus,
- pulse : pulse ,
- respiration : respiration ,
- bodytemperature : bodytemperature ,
- systolicBp : systolicBp ,
- diastolicBp : diastolicBp ,
- sideEffectYn : sideEffectYn ,
- sideEffectCds : sideEffectCds ,
- sideEffectNm : sideEffectNm ,
- transStopYn : transStopYn ,
- executionDtTm : executionDtTm ,
- bloodType : bloodType ,
- bloodRhType : bloodRhType ,
- prcpNm : prcpNm ,
- prcpCd : prcpCd ,
- prcpDd : prcpDd ,
- transCheckupId1 : "" ,
- transCheckupId2 : "" ,
- transCheckupNm1 : "" ,
- transCheckupNm2 : "" ,
- transStopReasonCd : transStopReasonCd ,
- transStopReasonEtc : transStopReasonEtc
- }
- self.safety.inputBloodHealthCheck(param, selectItem, inputBloodHealthCheckCallback, "finish");
- // inputBloodHealthCheckCallback("", i, 3, "finish");
- }
- }
- function inputBloodHealthCheckStep3() {
- executionDtTm = "";
- var cnt = 0;
- for (var i = 0; i < selectItem.length; i++) {
- var hospitalCd = localStorage.getItem("hospitalCd");
- var userId = gLoginUserId;
- var userDeptCd = localStorage.getItem("selectedDeptCd");
- var patientId = $("#txtTransFusionSearch").val();
- var prescriptionNo = selectItem[i].prescriptionNo;
- var bloodNo = selectItem[i].bloodNo;
- var bloodSeq = selectItem[i].bloodSeq;
- var bloodProduct = selectItem[i].bloodProduct;
- var bloodCheckupStatus = "04"; // 00
- var pulse = $("#inputPulse").val();
- var respiration = $("#inputRespiration").val();
- var bodytemperature = $("#inputTemperature").val() + "." + $("#inputTemperatureSub").val(); //체온
- var systolicBp = $("#inputSbp").val();
- var diastolicBp = $("#inputDbp").val();
- var sideEffectYn = "N";
- var sideEffectCds = "";
- var sideEffectNm = "";
- var transStopYn = "N";
- executionDtTm = self.util.toDatetimeFatima2(new Date());
- var bloodType = selectItem[i].bloodType;
- var bloodRhType = selectItem[i].bloodRhType;
- var prcpNm = selectItem[i].prcpNm;
- var prcpCd = selectItem[i].prcpCd;
- var prcpDd = selectItem[i].prcpDd;
- var transCheckupId1 = $("#nfcDoctorId1").val();
- var transCheckupId2 = $("#nfcDoctorId2").val();
- var transCheckupNm1 = $("#nfcDoctorName1").text();
- var transCheckupNm2 = $("#nfcDoctorName2").text();
- var transStopReasonCd = "";
- var transStopReasonEtc = "";
-
- var param = {
- hospitalCd : hospitalCd ,
- userId : userId ,
- userDeptCd : userDeptCd ,
- patientId : patientId ,
- prescriptionNo : prescriptionNo ,
- bloodNo : bloodNo ,
- bloodSeq : bloodSeq ,
- bloodProduct : bloodProduct ,
- bloodCheckupStatus : bloodCheckupStatus,
- pulse : pulse ,
- respiration : respiration ,
- bodytemperature : bodytemperature ,
- systolicBp : systolicBp ,
- diastolicBp : diastolicBp ,
- sideEffectYn : sideEffectYn ,
- sideEffectCds : sideEffectCds ,
- sideEffectNm : sideEffectNm ,
- transStopYn : transStopYn ,
- executionDtTm : executionDtTm ,
- bloodType : bloodType ,
- bloodRhType : bloodRhType ,
- prcpNm : prcpNm ,
- prcpCd : prcpCd ,
- prcpDd : prcpDd ,
- transCheckupId1 : transCheckupId1 ,
- transCheckupId2 : transCheckupId2 ,
- transCheckupNm1 : transCheckupNm1,
- transCheckupNm2 : transCheckupNm2,
- transStopReasonCd : transStopReasonCd,
- transStopReasonEtc : transStopReasonEtc
- }
- console.log("step3 param -- > " + JSON.stringify(param));
- self.safety.inputBloodHealthCheck(param, selectItem, inputBloodHealthCheckCallback, "step3");
- }
- }
-
- function inputBloodHealthCheckCallback(result, checkCnt, itemCount, stepName) {
- // stepName 마지막 단계인 경우 인증저장 시작
- if (stepName == "finish1") {
- if (checkCnt == itemCount) {
- if (result == undefined) {
- alert("저장에 실패하였습니다.");
- }
- else {
- // 인증저장에 필요한 전역변수 초기화
- successArr = [];
- failedArr = [];
- signDataArr = [];
- xmlDataArr = [];
- signDataArr = [];
- certXml = "";
- maxIndex = 0;
- // result = "0000,0001,0000";
- // 활력징후 입력 API 성공 여부 조회
- var resultAr = result.split(",");
- for (var i = 0; i < resultAr.length; i++) {
- var resCode = resultAr[i];
- if (resCode != "0000") {
- failedArr.push(selectItem[i]); // 활력징후 입력 실패
- } else {
- successArr.push(selectItem[i]); // 활력징후 입력 성공
- }
- }
- maxIndex = successArr.length - 1; // 네이티브 콜백에서 인덱스를 비교하기 위한 인덱스
- for (var i = 0; i < successArr.length; i++) {
- var prescriptionNo = successArr[i].prescriptionNo;
- var bloodNo = successArr[i].bloodNo;
- var bloodSeq = successArr[i].bloodSeq;
- var bloodProduct = successArr[i].bloodProduct;
- var index = i;
- getCertDetailInfo(prescriptionNo, bloodNo, bloodSeq, bloodProduct, index);
- }
- }
- }
- } else {
- if (checkCnt == itemCount) {
- if (result == undefined) {
- alert("저장에 실패하였습니다.");
-
- } else {
-
- result = result.slice(0,-1);
-
- var resultAr = result.split(",");
-
- for (var i = 0; i < resultAr.length; i++) {
- var resCode = resultAr[i];
- if (resCode != "0000") {
- alert("저장에 실패하였습니다.");
- return;
- }
- }
- $(".modal").modal("hide");
- $(".modal-backdrop").modal("hide");
- getPocPatientInfo($("#txtTransFusionSearch").val(), false);
- }
- }
- }
- }
-
- /**
- * successArr 데이터를 호출하여 상세정보 API Call
- *
- * @param {*} prescriptionNo
- * @param {*} bloodNo
- * @param {*} bloodSeq
- * @param {*} bloodProduct
- * @param {*} index certToNative 호출을 한 번만 하기위한 index 값
- */
- function getCertDetailInfo(prescriptionNo, bloodNo, bloodSeq, bloodProduct, index) {
- console.log("----------Start DetailApiCall----------");
- var detailParam = {
- hospitalCd: localStorage.getItem("hospitalCd"),
- userId: gLoginUserId,
- patientId: patientArr[0].patientId,
- prescriptionNo: prescriptionNo,
- bloodNo: bloodNo,
- bloodSeq: bloodSeq,
- bloodProduct: bloodProduct
- }
- self.safety.getBloodDetailInfo(detailParam, index, certTempDetailInfo);
- }
- /**
- *
- *
- * @param {*} index getCertDetailInfo 에서 받아온 파라미터
- * @param {*} lists getBloodDetailInfo 리턴 데이터
- */
- function certTempDetailInfo(index, lists) {
- console.log("----------Second DetailCallback----------" + JSON.stringify(lists));
- var checkIndex = index + 1; // successArr 과 비교하여 네이티브를 한번만 호출 (checkIndex == successArr.length)
- doctorInfo = []; // doctorInfo 호출하기 전에 기존에 있는 데이터 초기화 필요, 아니면 3, 4로 쌓임
- getDoctorId(lists[0].transCheckupId1, "cert"); // 시작간호사 호출
- getDoctorId(lists[0].transCheckupId2, "cert"); // 확인간호사 호출
-
- if (index == 0) {
- certXml += certXmlItem(lists);
- } else {
- certXml += "|%POC%|" + certXmlItem(lists); // 인증해야할 데이터가 여러개일 경우 단일 String -> Native(split)
- }
- // Callback 이 오기전에 상위 for loop 가 계속 돌아감
- // 최상위 for문 i + 1 값과 successArr.length 가 같을 때 한 번만 호출
- if (checkIndex == successArr.length) {
- certDataToNative(certXml);
- }
- }
- /**
- * xml 데이터와 Native 호출
- *
- * @param {*} data XmlData
- */
- function certDataToNative(data) {
- var msg = {
- type: "command", // 네이티브에서 Error, Command 구분
- functionType: "certDataToNative", // 네이티브 함수 이름
- value: {
- userId: gLoginUserId, // userId
- xmlData: data, // xmlData
- callbackFn: "window.activeObj.certCallback" // callback 함수명
- }
- }
- self.toNative(msg)
- };
- /**
- * @param {*} returnCode ex) {"success" : "0000", "index" : "0"}
- * @param {*} signData 사인데이터
- * @param {*} xmlData XML 원본 데이터
- */
- this.certCallback = function(returnCode, signData, xmlData) {
-
- // reutrnCode JSON Parse
- var result = new Object();
- if (typeof returnCode === "string") {
- result = JSON.parse(returnCode);
- } else {
- result = returnCode;
- }
- console.log("first failedArr -- > " + JSON.stringify(failedArr));
- var index = Number(result.index); // index를 String으로 받아오기 때문에 Number로 형변환 하여 사용함
- console.log("index -- > " + index);
- if (self.util.isEmpty(result)) {
- alert("인증저장에 실패하였습니다 \n 다시 시도 해주세요.");
- }
- else {
- if (result.success == "0000") { // 성공 했을 경우 사인데이터와 xml데이터를 전역 Arr에 담음
- signDataArr.push(signData);
- xmlDataArr.push(xmlData);
- }
- else {
- failedArr.push(successArr[index]); // failedArr 에 추가함 (failedArr 은 순서 상관 없음)
- console.log("second failedArr -- > " + JSON.stringify(failedArr));
- successArr.splice(index, 1); // 실패 했을 경우 successArr 해당 인덱스를 제거
- }
- }
-
- // 네이티브 for문 index 값과 로직이 돌기 전 successArr 길이가 같다면 아래 for loop 수행
- if (index == maxIndex) {
- for (var i = 0; i < successArr.length; i++) {
- var param = {
- hospitalCd: localStorage.getItem("hospitalCd"),
- userId: gLoginUserId,
- patientId: successArr[i].patientId,
- prescriptionNo: successArr[i].prescriptionNo,
- bloodNo: successArr[i].bloodNo,
- bloodSeq: successArr[i].bloodSeq,
- bloodProduct: successArr[i].bloodProduct,
- // bloodXmlData: btoa(unescape(encodeURIComponent(xmlDataArr[i]))),
- bloodXmlData: xmlDataArr[i],
- bloodSignData: signDataArr[i]
- // bloodXmlData: "TEST",
- // bloodSignData: "TESTTEST"
- }
- self.safety.inputBloodSignData(param, successArr, inputBloodSignDataCallback);
- }
- }
- };
- /**
- * 인증저장 Callback, 기본적인 구조는 inputBloodHealthCheck 와 같음
- *
- * @param {*} result returnCode ex) "0000,0001,0000,0001"
- * @param {*} checkCnt API 가 호출된 횟수
- * @param {*} itemCnt successArr.length
- */
- function inputBloodSignDataCallback(result, checkCnt, itemCnt) {
- console.log("result -- > " + result);
- if (checkCnt == itemCnt) {
- if (result == undefined) {
- alert("저장에 실패하였습니다.");
- }
- else {
- result = result.slice(0,-1);
- var resultAr = result.split(",");
-
- // 실패한 코드가 내려오면 successArr index 값을 제거 후 failedArr 에 추가
- for (var i = 0; i < resultAr.length; i++) {
- var resCode = resultAr[i];
- if (resCode != "0000") {
- successArr.splice(i, 1);
- failedArr.push(selectItem[i]);
- }
- }
- if (failedArr.length > 0) {
- for (var i = 0; i < failedArr.length; i++) {
- if (self.util.isEmpty(failedArr[i])) {
- failedArr.splice(i, 1);
- }
- }
- }
- console.log("real failedArr -- > " + JSON.stringify(failedArr));
- var successMsg = "";
- var failMsg = "";
- console.log("successArr -- > " + JSON.stringify(successArr));
- // Alert에 보여줄 Message 정의 (혈액번호가 리스트에 보여지므로 혈액번호로 정의함)
- if (successArr.length != 0 || failedArr.length != 0) {
- if (successArr.length != 0) {
- for (var i = 0; i < successArr.length; i++) {
- if (i == 0) {
- successMsg += successArr[i].bloodNo;
- }
- else {
- successMsg += ", " + successArr[i].bloodNo;
- }
- }
- }
- if (failedArr.length != 0) {
- for (var i = 0; i < failedArr.length; i++) {
- if (i == 0) {
- failMsg += failedArr[i].bloodNo;
- }
- else {
- failMsg += ", " + successArr[i].bloodNo;
- }
- }
- }
- alert("인증 성공(혈액번호) \n " + successMsg + "\n 인증 실패(혈액번호) \n" + failMsg);
- $(".modal").modal("hide");
- $(".modal-backdrop").modal("hide");
- getPocPatientInfo($("#txtTransFusionSearch").val(), false);
- }
- }
- }
- }
- /**
- * @param {*} lists 호출된 상세정보 리스트
- */
- var certXmlItem = function(lists) {
- var endDate = self.util.toDatetimeFatima2(new Date()); // YYYYMMddHHmm
- var certXml = "";
-
- certXml = "<SignData>"
- + " <PatientInfo name=\"환자정보\">"
- + " <pid name=\"환자번호\">" + self.util.isXmlEmpty(patientArr[0].patientId) + "</pid>"
- + " <pname name=\"환자이름\">"+ self.util.isXmlEmpty(patientArr[0].patientNm) + "</pname>"
- + " <age name=\"나이성별\"><![CDATA[" + self.util.isCdataCheck(patientArr[0].age) + "/" + self.util.isCdataCheck(patientArr[0].gender) + "]]></age>"
- + " <body name=\"키몸무게\"><![CDATA[" + self.util.isCdataCheck(patientArr[0].body).slice(0, 3) + "/" + self.util.isCdataCheck(patientArr[0].body).slice(3) + "]]></body>"
- + " <btype name=\"혈액형\"><![CDATA[" + self.util.isCdataCheck(patientArr[0].bloodType) + "]]></btype>"
- + " <insukind name=\"보험유형\">" + self.util.isXmlEmpty(patientArr[0].insukind) + "</insukind>"
- + " <orddept name=\"진료과\">" + self.util.isXmlEmpty(patientArr[0].deptNm) + "</orddept>"
- + " <apntdr name=\"지정의\">" + self.util.isXmlEmpty(patientArr[0].doctorNm) + "</apntdr>"
- + " <attndr name=\"주치의\"><![CDATA[" + self.util.isCdataCheck(patientArr[0].specialistNm) + "]]></attndr>"
- + " </PatientInfo>"
- + " <SignInfo name=\"인증정보\">"
- + " <tnsnurserecgruplist>"
- + " <blodno>" + self.util.isXmlEmpty(lists[0].bloodNo) + "</blodno>"
- + " <prcpnm><![CDATA[" + self.util.isCdataCheck(lists[0].prcpNm) + "]]></prcpnm>"
- + " <abo><![CDATA[" + self.util.isCdataCheck(lists[0].bloodType + lists[0].bloodRhType) +"]]></abo>"
- + " <tnsstrdd>" + self.util.isXmlEmpty(lists[0].startDtTm.slice(0,8)) + "</tnsstrdd>"
- + " <tnsstrtm>" + self.util.isXmlEmpty(lists[0].startDtTm.slice(8)) + "</tnsstrtm>"
- + " <tnsenddd>" + endDate.slice(0, 8) + "</tnsenddd>"
- + " <tnsendtm>" + endDate.slice(8) + "</tnsendtm>"
- + " <tnsstrnursdeptnm>" + self.util.isXmlEmpty(doctorInfo[0].deptNm) + "</tnsstrnursdeptnm>"
- + " <tnsstrnursnm>" + self.util.isXmlEmpty(doctorInfo[0].doctorNm) + "</tnsstrnursnm>"
- + " <tnsendnursdeptnm>" + self.util.isXmlEmpty(doctorInfo[1].deptNm) +"</tnsendnursdeptnm>"
- + " <tnsendnursnm>" + self.util.isXmlEmpty(doctorInfo[1].doctorNm) + "</tnsendnursnm>"
- + " <discontinuyn>" + self.util.isXmlEmpty(lists[0].transStopYn) + " </discontinuyn>"
- + " <drugqty>" + self.util.isXmlEmpty(lists[0].drugqty) + "</drugqty>"
- + " <tnsrec><![CDATA[" + self.util.isCdataCheck(lists[0].tnsrec) + "]]></tnsrec>"
- + " <tnsstrnursall>" + self.util.isXmlEmpty(doctorInfo[0].doctorId) + "," + self.util.isXmlEmpty(doctorInfo[0].doctorNm) + ",,," + self.util.isXmlEmpty(doctorInfo[0].deptNm) + "," + self.util.isXmlEmpty(doctorInfo[0].deptCd) + "</tnsstrnursall>"
- + " <tnsendnursall>" + self.util.isXmlEmpty(doctorInfo[1].doctorId) + "," + self.util.isXmlEmpty(doctorInfo[1].doctorNm) + ",,," + self.util.isXmlEmpty(doctorInfo[1].deptNm) + "," + self.util.isXmlEmpty(doctorInfo[1].deptCd) + "</tnsendnursall>"
- + " <tnssideeffect>" + self.util.isXmlEmpty(lists[0].sideEffectNms) + "</tnssideeffect> "
- + " <instcd>" + self.util.isXmlEmpty(lists[0].instcd) + "</instcd> "
- + " <signno><![CDATA[" + self.util.isCdataCheck(lists[0].signno) + "]]></signno> "
- + " <prcpno>" + self.util.isXmlEmpty(lists[0].prcpno) + "</prcpno> "
- + " <onepintqty>" + self.util.isXmlEmpty(lists[0].drugqty) + "</onepintqty> "
- + " <tnscarerecseq>" + self.util.isXmlEmpty(lists[0].tnscarerecseq) + "</tnscarerecseq> "
- + " <tnscnfmnursdeptnm>" + self.util.isXmlEmpty(doctorInfo[1].deptNm) +"</tnscnfmnursdeptnm> "
- + " <tnscnfmnursall>" + self.util.isXmlEmpty(doctorInfo[1].doctorId) + "," + self.util.isXmlEmpty(doctorInfo[1].doctorNm) + ",,," + self.util.isXmlEmpty(doctorInfo[1].deptNm) + "," + self.util.isXmlEmpty(doctorInfo[1].deptCd) + "</tnscnfmnursall> "
- + " <tnscnfmnursnm>" + self.util.isXmlEmpty(doctorInfo[1].doctorNm) + "</tnscnfmnursnm> "
- + " </tnsnurserecgruplist>"
- + " <vitalsigngrup>"
- + " <vitalsigngruplist>"
- + " <stat>u</stat> "
- + " <recdd>" + self.util.isXmlEmpty(lists[0].startDtTm.slice(0,8)) + "</recdd> "
- + " <rectm>" + self.util.isXmlEmpty(lists[0].startDtTm.slice(8)) + "</rectm> "
- + " <flag>수혈시작</flag> "
- + " <bp><![CDATA[" + self.util.isCdataCheck(lists[0].transBfSystolicBp) + "/" + self.util.isCdataCheck(lists[0].transBfDiastolicBp) + "]]></bp> "
- + " <pulse>" + self.util.isXmlEmpty(lists[0].transBfPulse) + "</pulse> "
- + " <breth>" + self.util.isXmlEmpty(lists[0].transBfRespiration) + "</breth> "
- + " <bdtp><![CDATA[" + self.util.isCdataCheck(lists[0].transBfBodytemperature) + "]]></bdtp> "
- + " <tnscarerecseq>" + self.util.isXmlEmpty(lists[0].tnscarerecseq) + "</tnscarerecseq> "
- + " <tnscarerecvsseq>1</tnscarerecvsseq> "
- + " <instcd>" + self.util.isXmlEmpty(lists[0].instcd) + "</instcd> "
- + " <blodno>" + self.util.isXmlEmpty(lists[0].bloodNo) + "</blodno> "
- + " <pid>" + self.util.isXmlEmpty(patientArr[0].patientId) + "</pid> "
- + " <prcpcd>" + self.util.isXmlEmpty(lists[0].prcpCd) + "</prcpcd> "
- + " </vitalsigngruplist>"
- + " <vitalsigngruplist>"
- + " <stat>u</stat> "
- + " <recdd>" + self.util.isXmlEmpty(lists[0].trans15dttm.slice(0, 8)) + "</recdd> "
- + " <rectm>" + self.util.isXmlEmpty(lists[0].trans15dttm.slice(8)) + "</rectm> "
- + " <flag>수혈15분이내</flag> "
- + " <bp><![CDATA[" + self.util.isCdataCheck(lists[0].trans15SystolicBp) + "/" + self.util.isCdataCheck(lists[0].trans15DiastolicBp) + "]]></bp> "
- + " <pulse>" + self.util.isXmlEmpty(lists[0].trans15Pulse) + "</pulse> "
- + " <breth>" + self.util.isXmlEmpty(lists[0].trans15Respiration) + "</breth> "
- + " <bdtp><![CDATA[" + self.util.isCdataCheck(lists[0].trans15Bodytemperature) + "]]></bdtp> "
- + " <tnscarerecseq>" + self.util.isXmlEmpty(lists[0].tnscarerecseq) + "</tnscarerecseq> "
- + " <tnscarerecvsseq>2</tnscarerecvsseq> "
- + " <instcd>" + self.util.isXmlEmpty(lists[0].instcd) + "</instcd> "
- + " <blodno>" + self.util.isXmlEmpty(lists[0].bloodNo) + "</blodno> "
- + " <pid>" + self.util.isXmlEmpty(patientArr[0].patientId) + "</pid> "
- + " <prcpcd>" + self.util.isXmlEmpty(lists[0].prcpCd) + "</prcpcd> "
- + " </vitalsigngruplist>"
- + " <vitalsigngruplist>"
- + " <stat>u</stat> "
- + " <recdd>" + self.util.isXmlEmpty(lists[0].transafdttm.slice(0, 8)) + "</recdd> "
- + " <rectm>" + self.util.isXmlEmpty(lists[0].transafdttm.slice(8)) + "</rectm> "
- + " <flag>수혈종료</flag> "
- + " <bp><![CDATA[" + self.util.isCdataCheck(lists[0].transAfSystolicBp) + "/" + self.util.isCdataCheck(lists[0].transAfDiastolicBp) + "]]></bp> "
- + " <pulse>" + self.util.isXmlEmpty(lists[0].transAfPulse) + "</pulse> "
- + " <breth>" + self.util.isXmlEmpty(lists[0].transAfRespiration) + "</breth> "
- + " <bdtp><![CDATA[" + self.util.isCdataCheck(lists[0].transAfBodytemperature) + "]]></bdtp> "
- + " <tnscarerecseq>" + self.util.isXmlEmpty(lists[0].tnscarerecseq) + "</tnscarerecseq> "
- + " <tnscarerecvsseq>3</tnscarerecvsseq> "
- + " <instcd>" + self.util.isXmlEmpty(lists[0].instcd) + "</instcd> "
- + " <blodno>" + self.util.isXmlEmpty(lists[0].bloodNo) + "</blodno> "
- + " <pid>" + self.util.isXmlEmpty(patientArr[0].patientId) + "</pid> "
- + " <prcpcd>" + self.util.isXmlEmpty(lists[0].prcpCd) + "</prcpcd> "
- + " </vitalsigngruplist>"
- + " </vitalsigngrup>"
- + " </SignInfo>"
- + " <SessionInfo name=\"Session정보\">"
- + " <userid name=\"사용자번호\">" + self.util.isXmlEmpty(localStorage.getItem("selectedUserId")) + "</userid>"
- + " <usernm name=\"사용자이름\">" + self.util.isXmlEmpty(localStorage.getItem("selectedUserNm")) + "</usernm>"
- + " <posinstnm name=\"소속기관명\">" + self.util.isXmlEmpty(localStorage.getItem("posinstnm")) + "</posinstnm>"
- + " <posdeptnm name=\"소속부서명\">" + self.util.isXmlEmpty(localStorage.getItem("posdeptnm")) + "</posdeptnm>"
- + " <dutplceinstnm name=\"근무지기관명\">" + self.util.isXmlEmpty(localStorage.getItem("dutplceinstnm")) + "</dutplceinstnm>"
- + " <dutplcenm name=\"근무지부서명\">" + self.util.isXmlEmpty(localStorage.getItem("dutplcenm")) + "</dutplcenm>"
- + " <jobkindnm name=\"직종명\">" + self.util.isXmlEmpty(localStorage.getItem("selectedJobKindNm")) + "</jobkindnm>"
- + " <jobposnm name=\"직위명\">" + self.util.isXmlEmpty(localStorage.getItem("jobposnm")) + "</jobposnm>"
- + " <jobrespnm name=\"직책명\">" + self.util.isXmlEmpty(localStorage.getItem("selectedUserId")) + "</jobrespnm>"
- + " <prfshipflagnm name=\"교직구분명\">" + self.util.isXmlEmpty(localStorage.getItem("prfshipflagnm")) + "</prfshipflagnm>"
- + " <deptabbr name=\"부서약어\">" + self.util.isXmlEmpty(localStorage.getItem("deptabbr")) + "</deptabbr>"
- + " <systemnm name=\"시스템명칭\">" + self.util.isXmlEmpty(localStorage.getItem("systemnm")) + "</systemnm>"
- + " <systeminstnm name=\"시스템소속기관명\">" + self.util.isXmlEmpty(localStorage.getItem("systeminstnm")) + "</systeminstnm>"
- + " <logindt name=\"로그인시간\">" + self.util.isXmlEmpty(localStorage.getItem("initLoginDtTm")) + "</logindt>"
- + " </SessionInfo>"
- + "</SignData>";
- return certXml;
- }
- function getSideFinishEffectList() {
- var param = {
- hospitalCd : localStorage.getItem("hospitalCd"),
- userId : gLoginUserId
- }
- self.safety.getSideEffectList(param, getSideEffectListFinishCallback);
- }
-
- function getSideEffectListFinishCallback(output) {
-
- $("#sideEffectFinish").children().remove();
- for (var i = 0; i < output.length; i++) {
- var sideEffectNm = output[i].sideEffectNm.trim();
- var sideEffectCd = output[i].sideEffectCd.trim();
- var div = "<div class=\"select_ico row mb-1\">"
- + " <div class=\"col-xs-2 text-right\">"
- + " <input type=\"checkbox\" name=\"sideEffectChk2\" autocomplete=\"off\" id=\"b" + (i+1) +"\"/>"
- + " <div class=\"group\">"
- + " <label class=\"btn btn-check icon mt-0\" for=\"b" + (i+1) + "\">"
- + " <span class=\"glyphicon glyphicon-ok\" aria-hidden=\"true\"></span>"
- + " </label>"
- + " <label class=\"btn btn-outline-check icon mt-0\" for=\"b" + (i+1) + "\">"
- + " <span class=\"glyphicon\" aria-hidden=\"true\"></span>"
- + " </label>"
- + " </div>"
- + " </div>"
- + " <div class=\"col-xs-10\">"
- + sideEffectNm
- + " <input type=\"hidden\" name=\"sideEffectCode2\" value=\"" + sideEffectCd + "\" />"
- + " </div>"
- + "</div>";
-
- if (sideEffectNm == "기타") {
- div = "<div class=\"select_ico row mb-1\">"
- + " <div class=\"col-xs-2 text-right\">"
- + " <input type=\"checkbox\" name=\"sideEffectChk2\" autocomplete=\"off\" id=\"sideEffectEtc2\"/>"
- + " <div class=\"group\">"
- + " <label class=\"btn btn-check icon mt-0\" for=\"sideEffectEtc2\">"
- + " <span class=\"glyphicon glyphicon-ok\" aria-hidden=\"true\"></span>"
- + " </label>"
- + " <label class=\"btn btn-outline-check icon mt-0\" for=\"sideEffectEtc2\">"
- + " <span class=\"glyphicon\" aria-hidden=\"true\"></span>"
- + " </label>"
- + " </div>"
- + " </div>"
- + " <div class=\"col-xs-10\">"
- + sideEffectNm
- + " <input id=\"inputFinishEtc\" type=\"text\" class=\"form-control w-75 etc_text\" disabled />"
- + " <input type=\"hidden\" name=\"sideEffectCode2\" value=\"" + sideEffectCd + "\" />"
- + " </div>"
- + "</div>";
- }
- // $(".modal-body.pt-4.pb-4").append(div);
- $("#sideEffectFinish").append(div);
- }
- var sideEffectCds = selectItem[0].sideEffectCds;
- var realSideEffects = sideEffectCds.split("^");
- // var sideEffectCds = "02^03^07";
- // var realSideEffects = sideEffectCds.split("^");
- if (realSideEffects.length > 0) {
- for (var i = 0; i < realSideEffects.length; i++) {
- for (var j = 0; j < output.length; j++) {
- if (realSideEffects[i] == output[j].sideEffectCd) {
- $("#b" + (j + 1)).prop("checked", true);
- if (output[j].sideEffectCd == "07") {
- $("#sideEffectEtc2").prop("checked", true);
- $("#inputFinishEtc").attr("disabled", false);
- $("#inputFinishEtc").val(output[j].sideEffectNm);
- }
- }
- }
- }
- }
- $("#sideEffectEtc2").off("click");
- $("#sideEffectEtc2").on("click", function() {
- if ($("#sideEffectEtc2").is(":checked") == true) {
- $("#inputFinishEtc").attr("disabled", false);
- } else {
- $("#inputFinishEtc").attr("disabled", true);
- }
- });
-
- $("#sideEffectButton2").off("click");
- $("#sideEffectButton2").on("click", function() {
- $("#sideEffect_pop2").modal("hide");
- // $("#sideEffect_pop").attr("style", "display: none");
- });
- // $("#transfusionStop2").off("click");
- // $("#transfusionStop2").on("click", function() {
- // var checkCnt = 0;
- // for (var i = 0; i < $("input[name=sideEffectChk2]").length; i++) {
- // if ($("input[name=sideEffectChk2]").eq(i).is(":checked") == true) {
- // checkCnt = checkCnt + 1;
- // }
- // }
- // if ($("#inputPulse3").val() == "" || $("#inputRespiration3").val() == ""
- // || $("#inputTemperature3").val() == "" || $("#inputTemperatureSub3").val() == ""
- // || $("#inputSbp3").val() == "" || $("#inputDbp3").val() == "") {
-
- // alert("미입력된 항목이 있습니다. \n입력 후, 진행이 가능합니다.");
- // return;
- // }
- // if (checkCnt == 0) {
- // alert("미입력된 항목이 있습니다. \n입력 후, 진행이 가능합니다.");
- // } else {
- // inputBloodHealthCheckFinishStep("Y", 0);
- // // $("#sideEffect_pop").attr("style", "display: none");
- // $("#sideEffect_pop2").modal("hide");
- // $(".modal").modal("hide");
- // $(".modal-backdrop").modal("hide");
- // getPocPatientInfo($("#txtTransFusionSearch").val(), false);
- // }
- // });
- }
- function getTransStopReasonList(type) {
- var param = {
- hospitalCd : localStorage.getItem("hospitalCd"),
- userId : gLoginUserId
- }
- self.safety.getTransStopReasonList(param, type ,getTransStopReasonListCallBack);
- }
- function getTransStopReasonListCallBack(type, output) {
- if (type == "Step2") {
- secondStepTransYn(output);
- } else if (type == "Step3") {
- thirdstepTransYn(output);
- }
- }
- function secondStepTransYn(output) {
- $("#reasonEtcDiv").attr("style", "display: none;");
- $("#reasonBox").attr("disabled", true);
- $("#raN1").prop('checked', true);
- $("#reasonBox").empty();
- $("#reasonEtc").val("");
- var reason = "";
- for (var i = 0; i < output.length; i++) {
- var transStopReasonNm = output[i].transStopReasonNm;
- var transStopReasonCd = output[i].transStopReasonCd;
- reason += "<option text=\""+ transStopReasonNm +"\"id=\"reason_" + i + "\" value=\"" + transStopReasonCd + "\">"+ transStopReasonNm + "</option> ";
- }
- $("#reasonBox").append(reason);
- $("#raY1").off("click");
- $("#raY1").on("click", function() {
- if ($("#raY1").is(":checked") == true) {
- $("#reasonBox").attr("disabled", false);
- if ($("#reasonBox option:selected").text().trim() == "기타") {
- $("#reasonEtcDiv").attr("style", "display: ;");
- }
- } else {
- $("#reasonBox").attr("disabled", true);
- $("#reasonEtcDiv").attr("style", "display: none;");
- }
- });
- $("#raN1").off("click");
- $("#raN1").on("click", function() {
- if ($("#raN1").is(":checked") == true) {
- $("#reasonBox").attr("disabled", true);
- $("#reasonEtcDiv").attr("style", "display: none;");
- } else {
- $("#reasonBox").attr("disabled", false);
- if ($("#reasonBox option:selected").text().trim() == "기타") {
- $("#reasonEtcDiv").attr("style", "display: ;");
- }
- }
- });
- $("#reasonBox").change(function() {
- $("#reasonBox option:selected").each(function() {
- var selectEtc = $("#reasonBox option:selected").text().trim();
- if (selectEtc == "기타") {
- $("#reasonEtcDiv").attr("style", "display: ;");
- } else {
- $("#reasonEtcDiv").attr("style", "display: none;");
- }
- });
- });
-
- }
- function thirdstepTransYn(output) {
- $("#reasonEtcDiv2").attr("style", "display: none;");
- $("#reasonBox2").attr("disabled", true);
- $("#raN2").prop('checked', true);
- $("#reasonBox2").empty();
- $("#reasonEtc2").val("");
- var selectTransStopYn = selectItem[0].transStopYn;
- var selectTransStopReasonEtc = selectItem[0].transStopReasonEtc;
- var selectTransStopReasonCd = selectItem[0].transStopReasonCd;
-
- var reason = "";
- for (var i = 0; i < output.length; i++) {
- var transStopReasonNm = output[i].transStopReasonNm;
- var transStopReasonCd = output[i].transStopReasonCd;
- reason += "<option text=\""+ transStopReasonNm + "\" value=\"" + transStopReasonCd + "\">"+ transStopReasonNm + "</option> ";
- }
- $("#reasonBox2").append(reason);
- if (selectTransStopYn == "Y") {
- $("#raY2").prop("checked", true);
- $("#reasonBox2").attr("disabled", false);
- for (var i = 0; i < output.length; i++) {
- if (selectTransStopReasonCd == output[i].transStopReasonCd) {
- // $("#reasonBox2").selectpicker('refresh');
- // $("#reasonBox2").selectpicker("val", output[i].transStopReasonNm);
- $("#reasonBox2 option:eq(" + i + ")").attr("selected", "selected");
- if (output[i].transStopReasonCd.trim() == "12399") {
- $("#reasonBox2 option:eq(" + i + ")").attr("selected", "selected");
- $("#reasonEtc2").val(selectTransStopReasonEtc);
- $("#reasonEtcDiv2").attr("style", "display: ;");
- }
- }
- }
- }
- $("#raY2").off("click");
- $("#raY2").on("click", function() {
- if ($("#raY2").is(":checked") == true) {
- $("#reasonBox2").attr("disabled", false);
- if ($("#reasonBox2 option:selected").text().trim() == "기타") {
- $("#reasonEtcDiv2").attr("style", "display: ;");
- }
- } else {
- $("#reasonBox2").attr("disabled", true);
- $("#reasonEtcDiv2").attr("style", "display: none;");
- }
- });
- $("#raN2").off("click");
- $("#raN2").on("click", function() {
- if ($("#raN2").is(":checked") == true) {
- $("#reasonBox2").attr("disabled", true);
- $("#reasonEtcDiv2").attr("style", "display: none;");
- } else {
- $("#reasonBox2").attr("disabled", false);
- if ($("#reasonBox2 option:selected").text().trim() == "기타") {
- $("#reasonEtcDiv2").attr("style", "display: ;");
- }
- }
- });
- $("#reasonBox2").change(function() {
- $("#reasonBox2 option:selected").each(function() {
- var selectEtc = $("#reasonBox2 option:selected").text().trim();
- if (selectEtc == "기타") {
- $("#reasonEtcDiv2").attr("style", "display: ;");
- } else {
- $("#reasonEtcDiv2").attr("style", "display: none;");
- }
- });
- });
- }
-
- function getSideEffectList() {
- var param = {
- hospitalCd : localStorage.getItem("hospitalCd"),
- userId : gLoginUserId
- }
-
- self.safety.getSideEffectList(param, getSideEffectList15Callback);
- }
-
- function getSideEffectList15Callback(output) {
-
- $("#sideEffectPop").children().remove();
- for (var i = 0; i < output.length; i++) {
- var sideEffectNm = output[i].sideEffectNm.trim();
- var sideEffectCd = output[i].sideEffectCd.trim();
-
- var div = "<div class=\"select_ico row mb-1\">"
- + " <div class=\"col-xs-2 text-right\">"
- + " <input type=\"checkbox\" name=\"sideEffectChk\" autocomplete=\"off\" id=\"p" + (i+1) +"\"/>"
- + " <div class=\"group\">"
- + " <label class=\"btn btn-check icon mt-0\" for=\"p" + (i+1) + "\">"
- + " <span class=\"glyphicon glyphicon-ok\" aria-hidden=\"true\"></span>"
- + " </label>"
- + " <label class=\"btn btn-outline-check icon mt-0\" for=\"p" + (i+1) + "\">"
- + " <span class=\"glyphicon\" aria-hidden=\"true\"></span>"
- + " </label>"
- + " </div>"
- + " </div>"
- + " <div class=\"col-xs-10\">"
- + sideEffectNm
- + " <input type=\"hidden\" name=\"sideEffectCode\" value=\"" + sideEffectCd + "\" />"
- + " </div>"
- + "</div>";
-
- if (sideEffectNm == "기타") {
- div = "<div class=\"select_ico row mb-1\">"
- + " <div class=\"col-xs-2 text-right\">"
- + " <input type=\"checkbox\" name=\"sideEffectChk\" autocomplete=\"off\" id=\"sideEffectEtc\"/>"
- + " <div class=\"group\">"
- + " <label class=\"btn btn-check icon mt-0\" for=\"sideEffectEtc\">"
- + " <span class=\"glyphicon glyphicon-ok\" aria-hidden=\"true\"></span>"
- + " </label>"
- + " <label class=\"btn btn-outline-check icon mt-0\" for=\"sideEffectEtc\">"
- + " <span class=\"glyphicon\" aria-hidden=\"true\"></span>"
- + " </label>"
- + " </div>"
- + " </div>"
- + " <div class=\"col-xs-10\">"
- + sideEffectNm
- + " <input id=\"inputEtc\" type=\"text\" class=\"form-control w-75 etc_text\" disabled />"
- + " <input type=\"hidden\" name=\"sideEffectCode\" value=\"" + sideEffectCd + "\" />"
- + " </div>"
- + "</div>";
- }
-
- // $(".modal-body.pt-4.pb-4").append(div);
- $("#sideEffectPop").append(div);
- }
-
- $("#sideEffectEtc").off("click");
- $("#sideEffectEtc").on("click", function() {
- if ($("#sideEffectEtc").is(":checked") == true) {
- $("#inputEtc").attr("disabled", false);
- } else {
- $("#inputEtc").attr("disabled", true);
- }
- });
-
- $("#sideEffectButton").off("click");
- $("#sideEffectButton").on("click", function() {
- $("#sideEffect_pop").modal("hide");
- // $("#sideEffect_pop").attr("style", "display: none");
- });
- $("#transfusionStop").off("click");
- $("#transfusionStop").on("click", function() {
-
- var checkCnt = 0;
- for (var i = 0; i < $("input[name=sideEffectChk]").length; i++) {
- if ($("input[name=sideEffectChk]").eq(i).is(":checked") == true) {
- checkCnt = checkCnt + 1;
- }
- }
-
- if ($("#inputPulse2").val() == "" || $("#inputRespiration2").val() == ""
- || $("#inputTemperature2").val() == "" || $("#inputTemperatureSub2").val() == ""
- || $("#inputSbp2").val() == "" || $("#inputDbp2").val() == "") {
-
- alert("미입력된 항목이 있습니다. \n입력 후, 진행이 가능합니다.");
- return;
- }
-
- if (checkCnt == 0) {
- alert("미입력된 항목이 있습니다. \n입력 후, 진행이 가능합니다.");
- } else {
- inputBloodHealthCheckStep4("Y");
- // $("#sideEffect_pop").attr("style", "display: none");
- $("#sideEffect_pop").modal("hide");
- $(".modal").modal("hide");
- $(".modal-backdrop").modal("hide");
- getPocPatientInfo($("#txtTransFusionSearch").val(), false);
- }
-
- });
- }
-
-
- function inputBloodHealthCheckStep4(stopYn, convertStrDate) {
- stopYn = stopYn == "Y" ? stopYn : "N";
- var sideEffect = "N";
-
- var sideEffectCode = "";
- var sideEffectName = "";
- for (var i = 0; i < $("input[name=sideEffectChk]").length; i++) {
- if ($("input[name=sideEffectChk]").eq(i).is(":checked") == true) {
- sideEffect = "Y";
- var _sideEffectName = $("input[name=sideEffectChk]").eq(i).parent().parent().children().eq(1).text().trim();
- var _sideEffectCode = $("input[name=sideEffectCode]").eq(i).val().trim();
- // sideEffectCode += "CD:" + _sideEffectCode + "^";
- sideEffectCode += _sideEffectCode + "^";
-
- if (_sideEffectName == "기타") {
- sideEffectName = $("#inputEtc").val();
- }
- }
- }
- var transStopReasonCd = "";
- var transStopReasonEtc = "";
- if (stopYn == "Y") {
- if ($("#raY1").is(":checked") == true) {
- transStopReasonCd = $("#reasonBox option:selected").val();
- if ($("#reasonBox option:selected").text().trim() == "기타") {
- transStopReasonEtc = $("#reasonEtc").val();
- }
-
- } else {
- transStopReasonCd = "";
- transStopReasonEtc = "";
- }
- } else {
- transStopReasonCd = "";
- transStopReasonEtc = "";
- }
-
-
- sideEffectCode = sideEffectCode.slice(0,-1);
- executionDtTm = "";
- var cnt = 0;
- for (var i = 0; i < selectItem.length; i++) {
- var hospitalCd = localStorage.getItem("hospitalCd");
- var userId = gLoginUserId;
- var userDeptCd = localStorage.getItem("selectedDeptCd");
- var patientId = $("#txtTransFusionSearch").val();
- var prescriptionNo = selectItem[i].prescriptionNo;
- var bloodNo = selectItem[i].bloodNo;
- var bloodSeq = selectItem[i].bloodSeq;
- var bloodProduct = selectItem[i].bloodProduct;
- var bloodCheckupStatus = "05";
- var pulse = $("#inputPulse2").val();
- var respiration = $("#inputRespiration2").val();
- var bodytemperature = $("#inputTemperature2").val() + "." + $("#inputTemperatureSub2").val(); //체온
- var systolicBp = $("#inputSbp2").val();
- var diastolicBp = $("#inputDbp2").val();
- var sideEffectYn = sideEffect;
- var sideEffectCds = sideEffectCode;
- var sideEffectNm = sideEffectName;
- var transStopYn = stopYn;
- console.log("stopYn -- > " + stopYn);
- executionDtTm = moment(convertStrDate).format("YYYYMMDDHHmm");
- console.log("executionDtTm -- > " + executionDtTm);
- var bloodType = selectItem[i].bloodType;
- var bloodRhType = selectItem[i].bloodRhType;
- var prcpNm = selectItem[i].prcpNm;
- var prcpCd = selectItem[i].prcpCd;
- var prcpDd = selectItem[i].prcpDd;
- var transCheckupId1 = "";
- var transCheckupId2 = "";
- transStopReasonCd = transStopReasonCd;
- console.log("transStopReasonCd -- > " + transStopReasonCd);
- transStopReasonEtc = transStopReasonEtc;
- console.log("transStopReasonEtc -- > " + transStopReasonEtc);
-
- var param = {
- hospitalCd : hospitalCd ,
- userId : userId ,
- userDeptCd : userDeptCd ,
- patientId : patientId ,
- prescriptionNo : prescriptionNo ,
- bloodNo : bloodNo ,
- bloodSeq : bloodSeq ,
- bloodProduct : bloodProduct ,
- bloodCheckupStatus : bloodCheckupStatus,
- pulse : pulse ,
- respiration : respiration ,
- bodytemperature : bodytemperature ,
- systolicBp : systolicBp ,
- diastolicBp : diastolicBp ,
- sideEffectYn : sideEffectYn ,
- sideEffectCds : sideEffectCds ,
- sideEffectNm : sideEffectNm ,
- transStopYn : transStopYn ,
- executionDtTm : executionDtTm ,
- bloodType : bloodType ,
- bloodRhType : bloodRhType ,
- prcpNm : prcpNm ,
- prcpCd : prcpCd ,
- prcpDd : prcpDd ,
- transCheckupId1 : "" ,
- transCheckupId2 : "" ,
- transStopReasonCd : transStopReasonCd ,
- transStopReasonEtc : transStopReasonEtc,
- transCheckupNm1 : "",
- transCheckupNm2 : ""
- }
-
- console.log("inputBloodHealthCheckStep4 param -- > " + JSON.stringify(param));
- // self.safety.inputBloodHealthCheck(param, inputBloodHealthCheckCallback, selectItem);
- self.safety.inputBloodHealthCheck(param, selectItem, inputBloodHealthCheckCallback, "step4");
- };
-
- }
-
- // Step01 NFC 태그 이벤트
- this.nfctagCallback = function(doctorId){
- if(self.util.isEmpty(doctorId)){
- $("#Modal01 .modal-body h4").text("NFC 정보가 없습니다");
- $("#Modal01 .modal-body p").text("NFC 정보를 확인하여 주세요");
- $("#Modal01").modal("show");
- return;
- } else {
- var stringData = String(doctorId);
- stringData = stringData.padStart(10, '0');
- getNfcDoctorId(stringData);
- console.log('NFC TAG READ: ' + stringData);
- }
- };
- // Step01 NFC 태그 후 의료진 정보 API 호출
- var getNfcDoctorId = function(doctorId) {
- var param = {
- hospitalCd: localStorage.getItem("hospitalCd"),
- nfcId : doctorId
- }
- self.safety.getNfcDoctorId(param, processGetNfcDoctorId);
- };
- // 의료진 정보 API Callback
- var processGetNfcDoctorId = function(result) {
- var checkUpDoctorIdList = $("#inputDoctor input[name=checkUpDoctorId]");
-
- if (checkUpDoctorIdList.length >= 2) {
- alert("의료진은 최대 2명 까지 입력 가능합니다.");
- } else {
- for (var i = 0; i < checkUpDoctorIdList.length; i++) {
- var _doctorId = checkUpDoctorIdList[i].value;
-
- if (_doctorId.trim() == result[0].doctorId.trim()) {
- alert("의료진 정보가 중복되었습니다.");
- return;
- }
- }
- }
- if(result.length == 0) {
- alert("조회된 의료진이 없습니다.");
- } else {
- if(result.length == 0){
- alert("조회된 의료진이 없습니다.");
- } else {
- $("#doctorEmpty").attr("style", "display: none;");
- if ($("#nfcDoctorId1").val() == "") {
- $("#nfcDoctorId1").val("");
- $("#nfcDoctorName1").text("");
- $("#checkUpDoctorId1").remove();
-
- $("#nfcDoctorName1").text(result[0].doctorNm.trim())
- $("#nfcDoctorId1").val(result[0].doctorId.trim());
- $("#nfcDoctorId1").parent().append("<input type=\"hidden\" id=\"checkUpDoctorId1\" name=\"checkUpDoctorId\" value=\"" + result[0].doctorId.trim() + "\" />");
- } else if ($("#nfcDoctorId2").val() == "") {
-
- $("#nfcDoctorId2").val("");
- $("#nfcDoctorName2").text("");
- $("#checkUpDoctorId2").remove();
-
- $("#nfcDoctorName2").text(result[0].doctorNm.trim())
- $("#nfcDoctorId2").val(result[0].doctorId.trim());
- $("#nfcDoctorId2").parent().append("<input type=\"hidden\" id=\"checkUpDoctorId2\" name=\"checkUpDoctorId\" value=\"" + result[0].doctorId.trim() + "\" />");
- }
- $("#inputDoctor div button").on("click", function() {
- $(this).parent().parent().children().eq(0).children().eq(0).val("");
- $(this).parent().parent().children().eq(0).children().eq(1).remove();
- $(this).parent().parent().children().eq(1).text("")
- });
- }
- }
- };
- var getDoctorId = function (doctorId, type) {
- var param = {
- hospitalCd: localStorage.getItem("hospitalCd"),
- userId: gLoginUserId,
- doctorId: doctorId
- }
- self.schedule.getDoctorInfo(param, processGetDoctorId, type);
- };
- var processGetDoctorId = function(output, type) {
- if (output.length == 0) {
- alert("조회된 정보가 없습니다. 사번을 확인하여 주세요");
- if (type == "first") {
- $("#nfcDoctorId1").val("");
- } else if (type == "second") {
- $("#nfcDoctorId2").val("");
- }
- } else {
- if (type == "first") {
- $("#nfcDoctorName1").text(output[0].doctorNm);
- } else if (type == "second") {
- $("#nfcDoctorName2").text(output[0].doctorNm);
- } else if (type == "cert") {
- doctorInfo.push(output[0]);
- console.log("----------Third DoctorInfo----------" + JSON.stringify(doctorInfo));
- }
- }
- }
- /**
- * 문자열 일자 Date로 변환
- * ex) 202002121430
- */
- function dateParse(str) {
- if(!/^(\d){12}$/.test(str) || str == "") return "";
- var y = str.substr(0, 4);
- var m = str.substr(4, 2);
- var d = str.substr(6, 2);
- var h = str.substr(8, 2);
- var mm = str.substr(10, 2);
-
- return new Date(y,m-1,d,h,mm);
- }
-
- /**
- * 문자열 일자 Date로 변환
- * ex) 20200212143010
- * YYYY-MM-DD HH:mm:ss
- */
- function fullDateParse(str) {
- if(!/^(\d){14}$/.test(str) || str == "") return "";
- var y = str.substr(0, 4);
- var m = str.substr(4, 2) -1;
- var d = str.substr(6, 2);
- var h = str.substr(8, 2);
- var mm = str.substr(10, 2);
- var ss = str.substr(12, 2);
-
- return new Date(y,m,d,h,mm,ss);
- }
- /**
- * 문자열 일자 Date로 변환
- * ex) 02 12 14 30
- * MM-DD HH:mm
- */
- function dateParse2(str) {
- if(!/^(\d){8}$/.test(str) || str == "") return "";
- var m = str.substr(0, 2);
- var d = str.substr(2, 2);
- var h = str.substr(4, 2);
- var mm = str.substr(6, 2);
-
- return new Date(m, d, h, mm);
- }
- // 기본 클릭 이벤트 및 여러 이벤트 추가
- var addEvent = function() {
- eventCondition();
- eventBackBlock();
- };
- //검색 페이지 뒤로가기 막기
- var eventBackBlock = function() {
- $(window).off("pageshow");
- $(window).bind("pageshow", function(event) {
- if (event.originalEvent.persisted) {
- document.location.reload();
- }
- });
- };
- var eventCondition = function() {
- /**
- * 조회 버튼 클릭 이벤트
- */
- $("#btnTransFusionSearch").off("click");
- $("#btnTransFusionSearch").on("click", function() {
- $(this).blur();
- var txtSearch = $("#txtTransFusionSearch").val();
- if (txtSearch == "") {
- $("#Modal01 .modal-body h4").text("입력된 환자번호가 없습니다.");
- $("#Modal01 .modal-body p").text("환자번호를 입력해주세요.");
- $("#Modal01").modal("show");
- } else {
- $("#btnTransFusionSearch").removeClass("btn-secondary").addClass("btn-primary");
- getPocPatientInfo($("#txtTransFusionSearch").val(), false);
- }
- });
- // Enter 입력시 검색
- $("#txtTransFusionSearch").off("keydown");
- $("#txtTransFusionSearch").on("keydown", function(e) {
- if (e.keyCode == 13 && $("#txtTransFusionSearch").val().length != 0) {
- $("#btnTransFusionSearch").removeClass("btn-secondary").addClass("btn-primary");
- initPatientInfo();
- getPocPatientInfo($("#txtTransFusionSearch").val(), false);
- } else if (e.keyCode == 13 && $("#txtTransFusionSearch").val().length == 0) {
- $("#Modal01 .modal-body h4").text("입력된 환자번호가 없습니다.");
- $("#Modal01 .modal-body p").text("환자번호를 입력해주세요.");
- $("#Modal01").modal("show");
- $("#txtTransFusionSearch").focus();
- }
- });
-
- $(".btn_close.float-right").off("click");
- $(".btn_close.float-right").on("click", function() {
- $(".modal").modal("hide");
- $(".modal-backdrop").modal("hide");
- getPocPatientInfo($("#txtTransFusionSearch").val(), false);
- });
- /**
- * 활력징후 삭제 버튼 이벤트 시작
- */
- $("#bfPulseDel").off("click");
- $("#bfPulseDel").on("click", function() {
- $("#inputPulse").val("");
- });
- $("#bfRespirationDel").off("click");
- $("#bfRespirationDel").on("click", function() {
- $("#inputRespiration").val("");
- });
- $("#bfTempDel").off("click");
- $("#bfTempDel").on("click", function() {
- $("#inputTemperature").val("");
- $("#inputTemperatureSub").val("");
- });
- $("#bfSbpDel").off("click");
- $("#bfSbpDel").on("click", function() {
- $("#inputSbp").val("");
- });
- $("#bfDbpDel").off("click");
- $("#bfDbpDel").on("click", function() {
- $("#inputDbp").val("");
- });
- $("#15PulseDel").off("click");
- $("#15PulseDel").on("click", function() {
- $("#inputPulse2").val("");
- });
- $("#15RespirationDel").off("click");
- $("#15RespirationDel").on("click", function() {
- $("#inputRespiration2").val("");
- });
- $("#15TempDel").off("click");
- $("#15TempDel").on("click", function() {
- $("#inputTemperature2").val("");
- $("#inputTemperatureSub2").val("");
- });
- $("#15SbpDel").off("click");
- $("#15SbpDel").on("click", function() {
- $("#inputSbp2").val("");
- });
- $("#15DbpDel").off("click");
- $("#15DbpDel").on("click", function() {
- $("#inputDbp2").val("");
- });
- $("#afPulseDel").off("click");
- $("#afPulseDel").on("click", function() {
- $("#inputPulse3").val("");
- });
- $("#afRespirationDel").off("click");
- $("#afRespirationDel").on("click", function() {
- $("#inputRespiration3").val("");
- });
- $("#afTempDel").off("click");
- $("#afTempDel").on("click", function() {
- $("#inputTemperature3").val("");
- $("#inputTemperatureSub3").val("");
- });
- $("#afSbpDel").off("click");
- $("#afSbpDel").on("click", function() {
- $("#inputSbp3").val("");
- });
- $("#afDbpDel").off("click");
- $("#afDbpDel").on("click", function() {
- $("#inputDbp3").val("");
- });
- /**
- * 활력징후 삭제 버튼 이벤트 끝
- */
- /**
- * Step1 의료진 수동 입력 삭제버튼
- */
- $("#delFirstDoctor").off("click");
- $("#delFirstDoctor").on("click", function() {
- $("#nfcDoctorId1").val("");
- $("#nfcDoctorName1").text("");
- });
-
- $("#delSecondDoctor").off("click");
- $("#delSecondDoctor").on("click", function() {
- $("#nfcDoctorId2").val("");
- $("#nfcDoctorName2").text("");
- });
- /**
- * Step1 의료진 수동 입력 삭제버튼 끝
- */
-
- };
-
- };
|