MMR01300.xjs 56 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[var gSubmitID = TX_SUBMIT_COMN_FORM;
  3. var g_formrec_oldimge = "";
  4. var g_recitem_oldimge = "";
  5. var g_formrec_newimge = "";
  6. var g_recitem_newimge = "";
  7. /****************************************************************************************
  8. * Function : fSetSaveComnFormRecInfo
  9. * Description : 저장을 위한 기록정보 셋팅
  10. * retrun type :
  11. * Creator :
  12. ****************************************************************************************/
  13. function fSetSaveComnFormRecInfo(signedYn)
  14. {
  15. sysf_trace("***** fSetSaveComnFormRecInfo() MMR01300 저장을 위한 기록정보 셋팅 *****");
  16. var msgYn = oOpener.frmf_getParameter("SaveMsgYn");
  17. sysf_trace("@@@@@ msgYn : " + msgYn + " @@@@@");
  18. if( this.objects["ds_send_saverecinfo_recitem"] == null ) dsf_createDs("ds_send_saverecinfo_recitem");
  19. if (fGetFormRec("status") == "D" && msgYn != "N")
  20. {
  21. var rtnVal = sysf_messageBox("기록을 삭제", "S001");
  22. if(rtnVal == "7")
  23. return "N";
  24. else if(rtnVal == "2")
  25. return "C";
  26. }
  27. else
  28. {
  29. var rtn = fCheckChangeData();
  30. sysf_trace("@@@@@ rtn(fCheckChangData): " + rtn + " @@@@@");
  31. if (rtn == "N")
  32. {
  33. return "N";
  34. }
  35. else if (rtn == "M")
  36. {
  37. }
  38. else
  39. {
  40. //가계도, 이미지, 추가입력 데이터 저장 시 필수 컬럼 누락 된 것 재셋팅, 노드 중복 방지를 위해 model.makeNode사용.
  41. var cnts = ds_data_recitem.getRowCount();
  42. for(var i = 0; i < cnts; i++)
  43. {
  44. var degnitemkind = ds_data_recitem.getColumn(i, "degnitemkind");
  45. var degnitemnm = ds_data_recitem.getColumn(i, "degnitemnm");
  46. if ( degnitemkind == "IMG" || degnitemkind=="FDG" || degnitemnm =="§추가입력" )
  47. {
  48. var adIdx1 = ds_data_recitem.addColumn("recrefcd", "string");
  49. var adIdx2 = ds_data_recitem.addColumn("recitemnm", "string");
  50. var adIdx3 = ds_data_recitem.addColumn("supdegnitemno", "string");
  51. var adIdx4 = ds_data_recitem.addColumn("extdegnitemlevlcd", "string");
  52. var adIdx5 = ds_data_recitem.addColumn("rectermflag", "string");
  53. var adIdx6 = ds_data_recitem.addColumn("degnunitcd", "string");
  54. if( adIdx1 != -1 || adIdx2 != -1 || adIdx3 != -1 || adIdx4 != -1 || adIdx5 != -1 || adIdx6 != -1 ){
  55. sysf_trace("!!!!! 컬럼 누락 확인 degnitemkind : " + degnitemkind + " || adIdx1 : " + adIdx1 + " || adIdx2 : " + adIdx2
  56. + " || adIdx3 : " + adIdx3 + " || adIdx4 : " + adIdx4 + " || adIdx5 : " + adIdx5 + " || adIdx6 : " + adIdx6);
  57. }
  58. }
  59. }
  60. var grdDs = this.objects[grd_recitem.binddataset];
  61. sysf_trace("@@@@@ grdDsCnt : " + grdDs.rowcount + " @@@@@");
  62. for (var i = 0; i < grdDs.rowcount; i++)
  63. {
  64. grdf_setStatus(grd_recitem, "I", [i]);
  65. }
  66. var CSVdata = grdf_getGridUpdateData(grd_recitem);
  67. if( this.objects["ds_send_saverecinfo_recitem"] == null ) dsf_createDs("ds_send_saverecinfo_recitem");
  68. ds_send_saverecinfo_recitem.copyData(CSVdata, true);
  69. }
  70. }
  71. if( this.objects["ds_send_saverecinfo_formrec"] == null ) dsf_createDs("ds_send_saverecinfo_formrec");
  72. ds_send_saverecinfo_formrec.copyData(ds_data_formrec);
  73. ds_send_saverecinfo_formrec.addColumn("rscdoctid", "string");
  74. ds_send_saverecinfo_formrec.setColumn(0, "rscdoctid", dsf_getColumnNullToEmpty(ds_data_formrec, 0, "rscdoctid"));
  75. ds_send_saverecinfo_formrec.setColumn(0, "orddrid", ds_data_formrec.getColumn(0, "recvuserid"));
  76. ds_send_saverecinfo_formrec.setColumn(0, "orddeptcd", ds_data_formrec.getColumn(0, "recvdeptcd"));
  77. ds_send_saverecinfo_formrec.addColumn("anstflag", "string");
  78. ds_send_saverecinfo_formrec.setColumn(0, "anstflag", ivw_base.objects["ds_init_cond"] == null ? "" : ivw_base.ds_init_cond.getColumn(0, "anstflag"));
  79. ds_send_saverecinfo_formrec.addColumn("gubunflag", "string");
  80. ds_send_saverecinfo_formrec.setColumn(0, "gubunflag", ivw_base.objects["ds_init_cond"] == null ? "" : ivw_base.ds_init_cond.getColumn(0, "gubunflag"));
  81. ds_send_saverecinfo_formrec.setColumn(0, "recvdeptcd", ivw_base.objects["ds_init_cond"] == null ? "" : ivw_base.ds_init_cond.getColumn(0, "recvdeptcd")); // 컨설트에 필요
  82. //진찰료 산정여부 세팅(20170521 이윤주)
  83. if( ds_send_saverecinfo_formrec.getColumnInfo("jinyn") == null ){
  84. ds_send_saverecinfo_formrec.addColumn("jinyn", "string");
  85. }
  86. ds_send_saverecinfo_formrec.setColumn(0, "jinyn", ivw_base.objects["ds_init_cond"] == null ? "" : ivw_base.ds_init_cond.getColumn(0, "jinyn"));
  87. // [요청번호:20171026045] 의무기록 접근권한 관리 및 정정관리 프로그램개발 요청
  88. if(lf_getChkRecCorrect(signedYn) == false ){
  89. return "N";
  90. }
  91. }
  92. /**
  93. * @desc : 기록 서명정보 가져오기
  94. * @id :
  95. * @event : xforms-ready
  96. * @return : void
  97. * @authur : 박종훈
  98. */
  99. function fGetSignRecInfo()
  100. {
  101. var sign_path = "/root/temp/signinfo";
  102. var sign_path_mast = sign_path + "/환자기록정보";
  103. var sign_path_detl = sign_path + "/환자기록내용";
  104. model.makeNode(sign_path_mast + "/등록번호", model.getValue());
  105. }
  106. /****************************************************************************************
  107. * Function : fSaveComnFormRecInfo
  108. * Description : 기록 저장 로직
  109. * Argument : 01. signedYn - 인증저장유무
  110. * retrun type :
  111. * Creator :
  112. ****************************************************************************************/
  113. var gSubmitSaveFlag = true;
  114. function fSaveComnFormRecInfo(signedYn)
  115. {
  116. sysf_trace("****** fSaveComnFormRecInfo("+signedYn+") 기록 저장 로직 MMR01300 *****");
  117. var savedInfo = new SAVED_INFO();
  118. if (!utlf_isNull(signedYn))
  119. {
  120. fSetFormRec("signedyn", signedYn);
  121. }
  122. //2009.12.17 안치원 submitID설정값을 child에서 할 수 있도록
  123. //저장직전에 child에서 설정된 submitID로 설정된다.
  124. var submitID = gSubmitID;
  125. try {
  126. var childSubmitID = ivw_base.getSubmitID_MMR01300I();
  127. if (! utlf_isNull(childSubmitID)) {
  128. submitID = childSubmitID;
  129. }
  130. } catch (e) {
  131. sysf_catchTrace(e);
  132. }
  133. //2016.04.22 기록삭제 중지기능 추가
  134. var rtnSaveRecInfo = fSetSaveComnFormRecInfo(signedYn);
  135. if( rtnSaveRecInfo == "N" )
  136. {
  137. return savedInfo;
  138. }
  139. else if( rtnSaveRecInfo == "C" ) // 중지
  140. {
  141. savedInfo.rechistseq = -100;
  142. return savedInfo;
  143. }
  144. // var stext_path = "ds_send_saverecinfo_formrec_certcnts";
  145. // var bfstext_path = "ds_send_saverecinfo_formrec_bfcertcnts"; //인증전데이터
  146. // var espiyn_path = "ds_send_saverecinfo_formrec_espiyn"; //인증저장여부
  147. var nonCert = oOpener.frmf_getParameter("SSMMR01100_nonCert");
  148. frmf_setParameter("SSMMR01100_nonCert", "");
  149. if (signedYn == "Y")
  150. {
  151. var sUserID = sysf_getUserInfo("userid");
  152. /*
  153. //이미지 삭제관련
  154. dsf_createDs("ds_remtmp_formrec");
  155. ds_remtmp_formrec.copyData(ds_data_formrec);
  156. dsf_createDs("ds_remitemtmp_recitem");
  157. ds_remitemtmp_recitem.copyData(ds_data_recitem);
  158. var itemNode = ds_remitemtmp_recitem;
  159. for(var i = 0; i < itemNode.rowcount; i++)
  160. {
  161. var sDgnItmKind = itemNode.getColumn(i, "degnitemkind");
  162. if (sDgnItmKind == "IMG" || sDgnItmKind == "FDG")
  163. {
  164. itemNode.setColumn(i, "srcimge", "");
  165. itemNode.setColumn(i, "recimge", "");
  166. itemNode.setColumn(i, "reccnts", "");
  167. }
  168. }
  169. dsf_copyDsList(["ds_remtmp_recitem"], ["ds_remitemtmp_recitem"], "append", this, this);
  170. dsf_deleteDs("ds_remitemtmp_recitem"); //삭제를 위한 기록항목 인스턴스 삭제
  171. //이미지 삭제관련
  172. var objDomParser = new DomParser;
  173. var objDOM = objDomParser.parseFromString("<recinfo></recinfo>");
  174. rptf_setNodeListToDOM(objDOM, "/recinfo/formrec", ds_remtmp_formrec); // 데이터셋 1
  175. rptf_setNodeListToDOM(objDOM, "/recinfo/recitem", ds_remtmp_recitem); // 데이터셋 2
  176. sysf_trace(objDOM.documentElement.source);
  177. var signrecinfo = objDOM.documentElement.source; //이미지 삭제된 인스턴스
  178. // Temp Ds Delete
  179. dsf_deleteDs("ds_remtmp_formrec"); //삭제를 위한 기록항목 인스턴스 삭제
  180. dsf_deleteDs("ds_remtmp_recitem");
  181. */
  182. var signrecinfo = lf_makeSignData();
  183. utlf_addLog(signrecinfo);
  184. if (nonCert == "Y")
  185. {
  186. var signedrecinfo = "";
  187. }
  188. else
  189. {
  190. //2010.02.25 안치원 - 입퇴원요약기록 - 퇴원처방 입력방법 변경(팝업)
  191. if (ds_hidden_loader_ini.getColumn(0, "autoSaveYn") == "Y") { //model.getValue(PATH_LOADER_INI+"/autoSaveYn")
  192. // KNUH_20100820_박성호_start 인증서 안나오게 수정
  193. var signedrecinfo = zesf_SignData(signrecinfo, sUserID, false);
  194. //var signedrecinfo = "-";
  195. // KNUH_20100820_박성호_end
  196. }
  197. else {
  198. //서식검색창이 포커스는 잡는 문제로 진료기록메인에서 인증창 호출 할 경우 기록메인의 저장로직 타도록 수정
  199. //2008-08-01 박종훈
  200. var oprnerId = oOpener.frmf_getScreenID();
  201. //[요청번호:13338, Task No:52246, 우선순위:SY] 2010.04.09 박종훈수정(내원구분이 S(건진)인 경우 O로 넘겨줌)
  202. var sChosflag = fGetFormRec("chosflag");
  203. if (sChosflag == "S")
  204. {
  205. sChosflag = "O";
  206. }
  207. if(oprnerId == "SMMMR00100" && sysf_getObjType(this) != "Form")
  208. {
  209. // KNUH_20100820_박성호_start 인증서 안나오게 수정
  210. var signedrecinfo = oOpener.fMakeSignData(signrecinfo, sChosflag, sUserID);
  211. //var signedrecinfo = "-";
  212. // KNUH_20100820_박성호_end
  213. }
  214. else
  215. {
  216. // 입원 또는 응급일 경우 // 20111201 knuh 최원돈
  217. // 기록/처방 직전 인증저장이 정해진 시간(분 단위, 하드코드 401) 이내이면 인증서를 띄우지 않음(1/6)
  218. // SMMMO00100.js, MMR01300.js, MMR00100.js, SPMRF05200.js
  219. // 하드코드 값 가져오기 로직
  220. var ls_emrinptsavetime = lf_getHardCDList("Y", 401, 3);
  221. var ll_emrinptsavetime = utlf_isNull(ls_emrinptsavetime) ? 0 : parseInt(ls_emrinptsavetime) * -1;
  222. // SMAER00400_결과관리(서식).xrw 에서는 모두 외래기준으로 인증서를 띄우도록 적용 // 20111202 knuh 최원돈
  223. // gSubmitSaveFlag 는 SMAER00400_결과관리(서식)에서만 사용하여서 적용함
  224. //if (sChosflag == "O"
  225. if ( sChosflag == "O"
  226. || !gSubmitSaveFlag)
  227. {
  228. // KNUH_20100820_박성호_start 인증서 안나오게 수정
  229. var signedrecinfo = zesf_SignData(signrecinfo, sUserID, false); //외래환자일경우 한번만 인증서 띄움
  230. //var signedrecinfo = "-"; //외래환자일경우 한번만 인증서 띄움
  231. // KNUH_20100820_박성호_end
  232. }
  233. // 입원 또는 응급일 경우 // 20111201 knuh 최원돈
  234. // 기록/처방 직전 인증저장이 정해진 시간(분 단위, 하드코드 401) 이내이면 인증서를 띄우지 않음(2/6)
  235. // SMMMO00100.js, MMR01300.js, MMR00100.js, SPMRF05200.js
  236. // 띄우지 않는 로직
  237. else if ( ( sChosflag == "I"
  238. || sChosflag == "E")
  239. && ll_emrinptsavetime < 0
  240. && sysf_getGlobalVariable("emrinptsavetime") >= utlf_getCurrentDateTime().toDate("YYYYMMDD hhmmss").getAddDate(ll_emrinptsavetime, "m").getDateFormat("YYYYMMDD hhmmss"))
  241. {
  242. var signedrecinfo = zesf_SignData(signrecinfo, sUserID, false); //외래환자일경우 한번만 인증서 띄움
  243. }
  244. else
  245. {
  246. // KNUH_20100820_박성호_start 인증서 안나오게 수정
  247. var signedrecinfo = zesf_SignData(signrecinfo, sUserID, true);
  248. //var signedrecinfo = "-";
  249. // KNUH_20100820_박성호_end
  250. }
  251. }
  252. if (utlf_isNull(signedrecinfo))
  253. {
  254. frmf_setParameter("mediRecCnclYn", "Y");
  255. }
  256. }
  257. }
  258. if (utlf_isNull(signedrecinfo) && nonCert != "Y")
  259. {
  260. fSetFormRec("signedyn", "N");
  261. return savedInfo;
  262. }
  263. else
  264. {
  265. fSetFormRec("espiyn", signedYn);
  266. ds_send_saverecinfo_formrec.setColumn(0, "espiyn", signedYn);
  267. }
  268. //utlf_addLog(ds_send_saverecinfo_formrec.saveXML());
  269. ds_send_saverecinfo_formrec.addColumn("bfcertcnts", "string");
  270. ds_send_saverecinfo_formrec.addColumn("certcnts", "string");
  271. ds_send_saverecinfo_formrec.setColumn(0, "bfcertcnts", signrecinfo);
  272. ds_send_saverecinfo_formrec.setColumn(0, "certcnts", signedrecinfo);
  273. }
  274. else
  275. {
  276. fSetFormRec("espiyn", "N");
  277. ds_send_saverecinfo_formrec.setColumn(0, "espiyn", "N"); //인증저장여부
  278. ds_send_saverecinfo_formrec.setColumn(0, "certcnts", "");
  279. }
  280. if (gSubmitSaveFlag)
  281. {
  282. var submit = false;
  283. dsf_createDs("ds_main_savedinfo_rsltmsg");
  284. if( submitID == "TXMMR01303" ){
  285. dsf_setDefaultVal(ds_send_saverecinfo_formrec, "cosignyn:N,addexecflag:''");
  286. dsf_setTypeFormat(ds_send_saverecinfo_formrec,"cretno:INT");
  287. dsf_deleteColumn(ds_send_saverecinfo_formrec, "formrecdrid");
  288. if( ds_send_saverecinfo_recitem.rowcount != 0 ){
  289. dsf_setDefaultVal(ds_send_saverecinfo_recitem, "formdegnseq:0,degnitemlevlno:1,supdegnitemno:0");
  290. dsf_setTypeFormat(ds_send_saverecinfo_recitem,"recitemno:BICDEDIMAL^degnitemno:BIGDECIMAL^degnitemlevlno:BIGDECIMAL^supdegnitemno:BIGDECIMAL^recimge:BLOB^srcimge:BLOB");
  291. }
  292. utlf_addLog(ds_send_saverecinfo_recitem.saveXML());
  293. var oParam = {};
  294. oParam.id = "TXMMR01303";
  295. oParam.service = "medirecapp.ExtnMediRec";
  296. oParam.method = "reqExeExtnFormRec";
  297. oParam.inds = "formrec=ds_send_saverecinfo_formrec recitem=ds_send_saverecinfo_recitem mdfrecinfo=ds_save_mdfrecinfo unprep=ds_save_unprepinfo";
  298. oParam.outds = "ds_main_savedinfo_rsltmsg=rsltmsg";
  299. oParam.async = false;
  300. //oParam.progress = false;
  301. oParam.callback = "cf_TXMMR01303";
  302. if( GSUBMIT == true ) // TEST 목적
  303. tranf_submit(oParam);
  304. if( arErrorCode.pop("TXMMR01303") > -1 ){
  305. submit = true;
  306. }
  307. }else if( submitID == "TXMMR01301"){
  308. dsf_setDefaultVal(ds_send_saverecinfo_formrec, "cosignyn:N");
  309. dsf_setTypeFormat(ds_send_saverecinfo_formrec, "cretno:INT^oprsrvno:BIGDECIMAL");
  310. dsf_deleteColumn(ds_send_saverecinfo_formrec, "formrecdrid");
  311. if( ds_send_saverecinfo_recitem.rowcount != 0 ){
  312. dsf_setDefaultVal(ds_send_saverecinfo_recitem, "formdegnseq:0,degnitemlevlno:1,supdegnitemno:0");
  313. dsf_setTypeFormat(ds_send_saverecinfo_recitem, "recitemno:BIGDECIMAL^degnitemno:BIGDECIMAL^degnitemlevlno:BIGDECIMAL^supdegnitemno:BIGDECIMAL^recimge:BLOB^srcimge:BLOB");
  314. }
  315. var oParam = {};
  316. oParam.id = "TXMMR01301";
  317. oParam.service = "medirecapp.ComnMediRec";
  318. oParam.method = "reqExeComnFormRec";
  319. oParam.inds = "formrec=ds_send_saverecinfo_formrec recitem=ds_send_saverecinfo_recitem mdfrecinfo=ds_save_mdfrecinfo unprep=ds_save_unprepinfo";
  320. oParam.outds = "ds_main_savedinfo_rsltmsg=rsltmsg";
  321. oParam.async = false;
  322. //oParam.progress = false;
  323. oParam.callback = "cf_TXMMR01301";
  324. if( GSUBMIT == true ) // TEST 목적
  325. tranf_submit(oParam);
  326. if( arErrorCode.pop("TXMMR01301") > -1 ){
  327. submit = true;
  328. }
  329. }
  330. sysf_trace("*****submitID : " + submitID + " || submit : " + submit);
  331. if (submit)
  332. {
  333. var mess = utlf_transNullToEmpty(ds_main_savedinfo_rsltmsg.getColumn(0, "msg"));
  334. //2010.07.22 안치원 - 진료의뢰 회신시 회신내용 저장되지 않는 오류 해결을 위해 경고창을 표시하며 인스턴스와 클라이언트로그를 메일로 발송한다.
  335. var errFlag = "[ERR_CNST_RECV_CNTS_EMPTY]";
  336. if (mess.indexOf(errFlag) == 0) {
  337. sendSystemMail_MMR071(errFlag, null);
  338. system.setClipboard("CF_TEXT", ds_data_recitem.lookup("degnitemlevlcd", "0011529.0000146", "reccnts"));
  339. sysf_messageBox(mess, "E", "");
  340. dsf_makeValue(ds_main_savedinfo_rsltmsg, "msg", "1", 0);
  341. mess = ds_main_savedinfo_rsltmsg.getColumn(0, "msg");
  342. }
  343. if (fGetFormRec("status") == "C" && mess == "1")
  344. {
  345. //sysf_messageBox("신규작성 되었습니다.", "I", "");
  346. }
  347. else if (fGetFormRec("status") == "U")
  348. {
  349. if(mess == "1")
  350. {
  351. if (fGetFormRec("cosignyn") == "Y")
  352. {
  353. //2010-03-31 오전 11:19:16 강지훈 추가 : 최종진단명 요약지 추가
  354. fSetFormRec("cosign", "Y");
  355. var lastDiagSaveFlag = frmf_getParameter("SSMMR01100_fChkLastDiag");
  356. if(lastDiagSaveFlag == "Y"){
  357. sysf_messageBox("저장되었습니다.", "I", "");
  358. }
  359. else{
  360. sysf_messageBox("STAFF SIGN 저장되었습니다.", "I", "");
  361. }
  362. }
  363. //messageBox("수정저장 되었습니다.", "I", "");
  364. }
  365. else
  366. {
  367. sysf_messageBox(mess, "I", "");
  368. }
  369. }
  370. else if (fGetFormRec("status") == "D")
  371. {
  372. if(mess == "1")
  373. {
  374. //messageBox("삭제 되었습니다.", "I", "");
  375. }
  376. else
  377. {
  378. sysf_messageBox(mess, "I", "");
  379. }
  380. frmf_setParameter("afterRecDelete", "Y");
  381. }
  382. else
  383. {
  384. sysf_messageBox("저장에 실패하였습니다.", "I", "");
  385. }
  386. gChkModiRecFlag = true;
  387. fSetFormRec("espiyn", fGetFormRec("signedyn"));
  388. g_recitem_oldrec = fGetCSV("ds_data_recitem");
  389. g_formrec_newimge_cosign = fGetCSV("formrec");
  390. g_recitem_newimge_cosign = fGetCSV("ds_data_recitem");
  391. // 입원 또는 응급일 경우 // 20111201 knuh 최원돈
  392. // 기록/처방 직전 인증저장이 정해진 시간(분 단위, 하드코드 401) 이내이면 인증서를 띄우지 않음(3/6)
  393. // SMMMO00100.js, MMR01300.js, MMR00100.js, SPMRF05200.js
  394. // 인증저장된 시간을 저장.
  395. if ((fGetFormRec("chosflag") == "I" || fGetFormRec("chosflag") == "E")&& signedYn == "Y" ) {
  396. sysf_setGlobalVariable("emrinptsavetime", utlf_getCurrentDateTime());
  397. }
  398. } else {
  399. // var type = model.getValue(gvErrorMsgPath+"/type");
  400. // var code = model.getValue(gvErrorMsgPath+"/code");
  401. // var msg = model.getValue(gvErrorMsgPath+"/msg");
  402. // var desc = model.getValue(gvErrorMsgPath+"/description");
  403. }
  404. if (ds_main_savedinfo_rsltmsg.getColumn(0, "msg") == "1")
  405. {
  406. //2010.01.03 안치원 - formrecseq 지수로 표현되는 오류수정
  407. savedInfo.formrecseq = ds_main_savedinfo_rsltmsg.getColumn(0, "formrecseq");
  408. savedInfo.rechistseq = ds_main_savedinfo_rsltmsg.getColumn(0, "rechistseq");
  409. g_formrec_oldimge = g_formrec_newimge;
  410. g_recitem_oldimge = g_recitem_newimge;
  411. if (ds_main_savedinfo_rsltmsg.getColumn(0, "cosign") == "Y")
  412. {
  413. grup_btn.btn_cosign.enable = false;
  414. if (isProgForm())
  415. {
  416. if(fGetFormRec("srcformcd") == "0000000680"){
  417. var childrenObj = ivw_base.grup_base.components;
  418. for(i=0; i< childrenObj.length; i++){
  419. childObj = childrenObj[i];
  420. if (childObj.name == "btn_lastdiag_0001013001"){
  421. childObj.enable = true;
  422. }
  423. else{
  424. childObj.enable = false;
  425. }
  426. }
  427. }
  428. else if(ivw_base.grup_base.enable){
  429. ivw_base.grup_base.enable = false;
  430. }
  431. }
  432. }
  433. else
  434. {
  435. grup_btn.btn_cosign.enable = true;
  436. //2010-04-07 강지훈 수정 : TF버그로 인해 분기. TF버그 수정반영되면 수정해야함.
  437. if (isProgForm() && !ivw_base.grup_base.enable)
  438. {
  439. ivw_base.grup_base.enable = true;
  440. }
  441. else if(isProgForm() && fGetFormRec("srcformcd") == "0000000680"){
  442. ivw_base.grup_base.enable = true;
  443. }
  444. }
  445. }
  446. if (fGetFormRec("status") != "D" && savedInfo.formrecseq != 0)
  447. {
  448. //fAfterSaveExtnDoing(fGetFormRec("status")); // 저장 후 호출함수
  449. fSetFormRec("status", "U");
  450. fSetFormRec("formrecseq", savedInfo.formrecseq);
  451. fSetFormRec("lastrechistseq", savedInfo.rechistseq);
  452. fSetFormRec("espiseq", ds_main_savedinfo_rsltmsg.getColumn(0, "espiseq"));
  453. grup_titl.cap_formnm.text = ds_data_formmast.getColumn(0, "formnminfo") + " - 수정 중";
  454. }
  455. if(mess == "1" || !utlf_isNull(savedInfo.formrecseq))
  456. {
  457. return savedInfo;
  458. }
  459. }
  460. else
  461. {
  462. savedInfo.rechistseq = -100
  463. return savedInfo;
  464. }
  465. }
  466. function cf_TXMMR01303(sSvcId, nErrorCode, sErrorMsg) {
  467. arErrorCode.push(sSvcId, nErrorCode);
  468. if(nErrorCode < 0) {
  469. utlf_addLog("***** cf_TXMMR01303 nErrorCode *****");
  470. agv_objAppBottomPath.form.stt_statusMsg.text = sErrorMsg;
  471. return;
  472. }
  473. utlf_addLog("***** cf_TXMMR01303 *****");
  474. dsf_setDefaultVal(ds_main_savedinfo_rsltmsg, "cosign:N");
  475. }
  476. function cf_TXMMR01301(sSvcId, nErrorCode, sErrorMsg) {
  477. arErrorCode.push(sSvcId, nErrorCode);
  478. if(nErrorCode < 0) {
  479. utlf_addLog("***** cf_TXMMR01301 nErrorCode *****");
  480. agv_objAppBottomPath.form.stt_statusMsg.text = sErrorMsg;
  481. return;
  482. }
  483. utlf_addLog("***** cf_TXMMR01301 *****");
  484. dsf_setDefaultVal(ds_main_savedinfo_rsltmsg, "cosign:N");
  485. }
  486. /**
  487. * @desc : 기록 저장 후 정보 셋팅
  488. * @id :
  489. * @event : xforms-ready
  490. * @return : void
  491. * @authur : 박종훈
  492. */
  493. function fSetSavedInfo(formrecseq, rechistseq, espiseq)
  494. {
  495. // debugger;
  496. g_formrec_oldimge = g_formrec_newimge;
  497. g_recitem_oldimge = g_recitem_newimge;
  498. if (fGetFormRec("status") != "D")
  499. {
  500. fSetFormRec("status", "U");
  501. fSetFormRec("formrecseq", formrecseq);
  502. fSetFormRec("lastrechistseq", rechistseq);
  503. fSetFormRec("espiseq", espiseq);
  504. }
  505. }
  506. /**
  507. * @desc : 기록 내용 조회
  508. * @id :
  509. * @event : xforms-ready
  510. * @return : void
  511. * @authur : 박종훈
  512. */
  513. function fGetComnFormRecInfo(formrecseq)
  514. {
  515. model.makeValue("/root/send/reqrec/formrecseq", formrecseq);
  516. submit("TRMMR01301");
  517. doReplaceLtGt("/root/temp2/getrecinfo/recinfo/recitem");
  518. if (gMediRecMain && isOpenModalForm(model.getValue("/root/temp2/getrecinfo/recinfo/formrec/formprogflag")))
  519. {
  520. return true;
  521. }
  522. else
  523. {
  524. //fInitDataSrc();
  525. //var pageInfo = new PAGEINFO();
  526. //copyNodeset(pageInfo.recRef, pageInfo.popRecinfoRef);
  527. // 20080519 main3-> temp2/getrecinfo 소스 튜닝
  528. //model.removenodeset("/root/temp2");
  529. return false;
  530. }
  531. }
  532. /****************************************************************************************
  533. * Function : fSetFormRec
  534. * Description : 해당 값을 인스턴스에 추가
  535. * retrun type :
  536. * Creator : MMR01300에서 서식관련으로 이동
  537. ****************************************************************************************/
  538. // function fSetFormRec(key, val)
  539. // {
  540. //
  541. // dsf_makeValue(ds_data_formrec, key, "string", val);
  542. // //model.makeValue(gPageInfo.recMastRef + "/" + key, val);
  543. // }
  544. /****************************************************************************************
  545. * Function : fGetFormRec
  546. * Description : 해당 값을 인스턴스에서 가져오기
  547. * retrun type :
  548. * Creator : MMR01300에서 서식관련으로 이동
  549. ****************************************************************************************/
  550. // function fGetFormRec(key)
  551. // {
  552. // return utlf_transNullToEmpty(ds_data_formrec.getColumn(0, key));
  553. // }
  554. /**
  555. * @desc : 해당 값을 인스턴스에 추가(확장서식)
  556. * @id :
  557. * @event : xforms-ready
  558. * @return : void
  559. * @authur : 박종훈
  560. */
  561. function fSetExtnInfo(key, val)
  562. {
  563. model.makeValue(gPageInfo.recMastRef + "/" + key, val);
  564. }
  565. /**
  566. * @desc : 해당 값을 인스턴스에서 가져오기(확장서식)
  567. * @id :
  568. * @event : xforms-ready
  569. * @return : void
  570. * @authur : 박종훈
  571. */
  572. function fGetExtnInfo(key)
  573. {
  574. return model.getValue(gPageInfo.recMastRef + "/" + key);
  575. }
  576. /**
  577. * @desc : path에 해당하는 노드의 값을 CSV형태로 가져오기
  578. * @id :
  579. * @event : xforms-ready
  580. * @return : void
  581. * @authur : 박종훈
  582. */
  583. function fGetCSVByRecInfo(path)
  584. {
  585. if (path == null)
  586. path = "/root/temp2/getrecinfo/recinfo";
  587. var nodes = model.instances(0).selectNodes(path + "/formrec");
  588. var sFormRec = getNodeListCSV(nodes);
  589. nodes = model.instances(0).selectNodes(path + "/recitem");
  590. var sRecItem = getNodeListCSV(nodes);
  591. var info = sFormRec +INFO_CSV_DEL+ sRecItem;
  592. return info;
  593. }
  594. /**
  595. * @desc : CSV형태의 값을 인스턴스에 추가
  596. * @id :
  597. * @event : xforms-ready
  598. * @return : void
  599. * @authur : 박종훈
  600. */
  601. function fSetRecInfoByCSV(csvStr)
  602. {
  603. var info = csvStr.split(INFO_CSV_DEL);
  604. setCSVToNode(gPageInfo.recRef, info[0], "formrec");
  605. setCSVToNode(gPageInfo.recRef, info[1], "recitem");
  606. }
  607. /****************************************************************************************
  608. * Function : fCheckChangeData
  609. * Description : 변경된 데이터 여부 검사
  610. * retrun type :
  611. * Creator :
  612. ****************************************************************************************/
  613. function fCheckChangeData()
  614. {
  615. sysf_trace("***** fCheckChangeData() 변경된 데이터 여부 검사 MMR01300*****");
  616. var rtn;
  617. var ischg_formrec = false;
  618. var ischg_recitem = false;
  619. g_formrec_newimge = fGetCSV("formrec");
  620. g_recitem_newimge = fGetCSV("ds_data_recitem");//ds_hidden_recitem
  621. if (fGetFormRec("status") == "C")
  622. {
  623. if (ds_data_recitem.rowcount == 0)
  624. {
  625. sysf_messageBox("저장 할 데이터가 ", "I004");
  626. rtn = "N";
  627. }
  628. else
  629. {
  630. rtn = "Y";
  631. }
  632. }
  633. else if (fGetFormRec("status") == "U")
  634. {
  635. if( this.objects["ds_temp_saveimge"] == null ){
  636. dsf_createDs("ds_temp_saveimge");
  637. }
  638. dsf_makeValue(ds_temp_saveimge, "status", "string", fGetFormRec("status"), 0);
  639. dsf_makeValue(ds_temp_saveimge, "oldimge", "blob", g_formrec_oldimge, 0);
  640. dsf_makeValue(ds_temp_saveimge, "newimge", "blob", g_formrec_newimge, 0);
  641. // model.makeValue("/root/temp/saveimge/status", fGetFormRec("status"));
  642. // model.makeValue("/root/temp/saveimge/oldimge", g_formrec_oldimge);
  643. // model.makeValue("/root/temp/saveimge/newimge", g_formrec_newimge);
  644. if (g_formrec_oldimge != g_formrec_newimge)
  645. {
  646. ischg_formrec = true;
  647. }
  648. if (g_recitem_oldimge != g_recitem_newimge)
  649. {
  650. ischg_recitem = true;
  651. }
  652. if (fGetFormRec("espiyn") == "N" && fGetFormRec("signedyn") == "Y")
  653. {
  654. rtn = "Y";
  655. }
  656. else if (ischg_formrec == false && ischg_recitem == false)
  657. {
  658. rtn = "N";
  659. sysf_messageBox("수정된 데이터가 ", "I004");
  660. }
  661. else if (ischg_formrec == true && ischg_recitem == false)
  662. {
  663. //rtn = "M"; 20130509 이윤주 수정
  664. rtn = "Y";
  665. }
  666. else
  667. {
  668. rtn = "Y";
  669. }
  670. }
  671. return rtn;
  672. }
  673. /**
  674. * @desc : path의 노들르 CSV로 가져옴
  675. * @id :
  676. * @event : xforms-ready
  677. * @return : void
  678. * @authur : 박종훈
  679. */
  680. // function fGetCSV( path )
  681. // {
  682. // utlf_addLog("***** MMR01300 fGetCSV( "+path+" ) *****");
  683. // if (path == "formrec")
  684. // {
  685. // return fGetFormRec("formrecdd") +"▦"+ fGetFormRec("formrechm") +"▦"+ fGetFormRec("formrecextnnm");
  686. // }
  687. // else// if (flag == "recitem")
  688. // {
  689. //
  690. // var saveRgstInfo = "";
  691. // var sRectermcd = "";
  692. // var sRectermnm = "";
  693. // var sReccnts = "";
  694. //
  695. // eval(path).keystring = "S:degnitemlevlcd"; // 계층코드 기준 기록데이터 정렬
  696. // for(var i = 0; i < eval(path).rowcount; i++)
  697. // {
  698. // nRow = eval(path).findRowExpr(" (rectermcd != '"+null+"' || reccnts != '"+null+"') && degnitemkind != 'GRD'", i);
  699. // if(nRow != -1)
  700. // {
  701. // sRectermcd = eval(path).getColumn(nRow, "rectermcd");
  702. // sRectermnm = eval(path).getColumn(nRow, "rectermnm");
  703. // sReccnts = eval(path).getColumn(nRow, "reccnts");
  704. //
  705. // if(!utlf_isNull(sRectermcd))
  706. // saveRgstInfo += sRectermcd + ".";
  707. //
  708. // if(!utlf_isNull(sRectermnm))
  709. // saveRgstInfo += sRectermnm + ".";
  710. //
  711. // if(!utlf_isNull(sReccnts))
  712. // saveRgstInfo += sReccnts + ".";
  713. //
  714. // }
  715. // }
  716. // eval(path).keystring = "";
  717. // return saveRgstInfo;
  718. // /*
  719. // var nodes = this.objects[ path ];
  720. // var saveRgstInfo = "";
  721. //
  722. // if( !utlf_isNull(nodes) ){
  723. // nodes.filter("!utlf_isNull(rectermcd) || !utlf_isNull(reccnts)");
  724. // for (var i=0; i<nodes.rowcount; i++)
  725. // {
  726. // saveRgstInfo = saveRgstInfo.concat(nodes.getColumn(i, "rectermcd"));
  727. // saveRgstInfo = saveRgstInfo.concat(nodes.getColumn(i, "rectermnm"));
  728. // saveRgstInfo = saveRgstInfo.concat(nodes.getColumn(i, "reccnts"));
  729. //
  730. // saveRgstInfo = saveRgstInfo.concat(".");
  731. // }
  732. // nodes.filter("");
  733. // }
  734. // return saveRgstInfo;
  735. // */
  736. // }
  737. // }
  738. function fSetOldFormRecInfo()
  739. {
  740. // debugger;
  741. utlf_addLog("***** fSetOldFormRecInfo() *****");
  742. g_formrec_oldimge = fGetCSV("formrec");
  743. g_recitem_oldimge = fGetCSV("ds_data_recitem");
  744. }
  745. /**
  746. * @desc : 기록초기화(노드 삭제)
  747. * @id :
  748. * @event : xforms-ready
  749. * @return : void
  750. * @authur : 박종훈
  751. */
  752. function fInitDataSrc()
  753. {
  754. utlf_addLog("***** MMR01300 fInitDataSrc() *****");
  755. ds_data_formrec.clearData();
  756. // dsf_clearDsList(arrDsRecinfo, this);
  757. // dsf_clearDsList(arrDsExtnRecinfo, this);
  758. // model.removeNodeset(gPageInfo.recRef);
  759. // model.removeNodeset(gPageInfo.extnrecRef);
  760. }
  761. /**
  762. * @desc : 기록관련 노드 초기화
  763. * @id :
  764. * @event : xforms-ready
  765. * @return : void
  766. * @authur : 박종훈
  767. */
  768. function fSetNewFormRec()
  769. {
  770. utlf_addLog("***** MMR01300 fSetNewFormRec() 기록관련 노드 초기화 *****");
  771. fInitDataSrc();
  772. var objForm = this.getOwnerFrame().form;
  773. var scrnID = objForm.frmf_getScreenID();
  774. var paminfo = sysf_getGlobalVariable("paminfo")
  775. //var sFormrecdd = "";
  776. fSetFormRec("status" , "C");
  777. if( utlf_isNull(paminfo) || (!utlf_isNull(objForm) && (scrnID == "SPMMR05400" || scrnID == "SMAER00400" || scrnID == "SMANC00300" || scrnID == "SPMMO50000" || scrnID == "SMMMR02900") ) || gTopYn == false )
  778. { // 부서별 기록, 검사결과, 영양관리, 다학제 화면은 상단정보와 다른 환자선택하여 서식이 작성 가능하므로
  779. fSetFormRec("pid" , ds_temp_formdata.getColumn(0, "pid"));
  780. fSetFormRec("orddd" , ds_temp_formdata.getColumn(0, "orddd"));
  781. fSetFormRec("cretno" , ds_temp_formdata.getColumn(0, "cretno"));
  782. var sOrddeptcd = ds_temp_formdata.getColumn(0, "orddeptcd");
  783. if( !utlf_isNull(sOrddeptcd) )
  784. fSetFormRec("orddeptcd" , sOrddeptcd);
  785. var sIoflag = ds_temp_formdata.getColumn(0, "ioflag");
  786. if( !utlf_isNull(sIoflag) )
  787. fSetFormRec("chosflag" , sIoflag);
  788. var sWardcd = dsf_getColumnNullToEmpty(ds_temp_formdata, 0, "wardcd")
  789. if( !utlf_isNull(sWardcd) )
  790. fSetFormRec("wardcd" , sWardcd);
  791. // if( !utlf_isNull(ds_temp_formdata.getColumn(0, "orddrid")) )
  792. // fSetFormRec("orddrid" , ds_temp_formdata.getColumn(0, "orddrid"));
  793. //sFormrecdd = ds_temp_formdata.getColumn(0, "orddd");
  794. }
  795. else
  796. {
  797. fSetFormRec("pid" , fGetPamInfo("pid"));
  798. if (fGetPamInfo("ioflag") == "O" || fGetPamInfo("ioflag") == "S")
  799. {
  800. fSetFormRec("orddd" , fGetPamInfo("orddd"));
  801. fSetFormRec("orddrid" , fGetPamInfo("orddrid"));
  802. }
  803. else
  804. {
  805. fSetFormRec("orddd" , fGetPamInfo("indd"));
  806. fSetFormRec("orddrid" , fGetPamInfo("medispclid"));
  807. }
  808. fSetFormRec("cretno" , fGetPamInfo("cretno"));
  809. // 2019.01.07 응급의학과일경우 chosflag E로 설정하는 부분 제거(이윤주 선생님 요청)
  810. // if (fGetPamInfo("orddeptcd") == "2280000000")
  811. // fSetFormRec("chosflag" , "E");
  812. // else
  813. fSetFormRec("chosflag" , fGetPamInfo("ioflag"));
  814. fSetFormRec("orddeptcd" , fGetPamInfo("orddeptcd"));
  815. }
  816. fSetFormRec("formrecdeptcd" , sysf_getUserInfo("dutplcecd"));
  817. fSetFormRec("formrecdeptnm" , sysf_getUserInfo("dutplcenm"));
  818. fSetFormRec("formrecuserid" , sysf_getUserInfo("userid"));
  819. fSetFormRec("formrecusernm" , sysf_getUserInfo("usernm"));
  820. fSetFormRec("lastrechistseq" , 0);
  821. fSetFormRec("delyn" , "N");
  822. fSetFormRec("valiyn" , "Y");
  823. fSetFormRec("formcd" , fGetFormMast("formcd"));
  824. fSetFormRec("srcformcd" , fGetFormMast("srcformcd"));
  825. fSetFormRec("formfromdt" , fGetFormMast("formfromdt"));
  826. fSetFormRec("formdegnseq" , fGetFormMast("formdegnseq"));
  827. fSetFormRec("formrecextnnm" , "");
  828. fSetFormRec("fstktas" , "N"); //이윤주 추가
  829. //2008/01/24 박종훈 수정(미비서식 기록시 기록일자를 받아서 셋한다)
  830. var formrecdd = ""
  831. var formrecdd = frmf_getParameter("SSMMR01100_formrecdd");
  832. var formrechm = frmf_getParameter("SSMMR01100_formrechm");
  833. //var formrechm = "0000";
  834. var recddyn = false;
  835. if (utlf_isNull(formrechm))
  836. {
  837. formrechm = utlf_getCurrentTime().substring(0, 4);
  838. }
  839. if (utlf_isNull(formrecdd) && (fGetFormRec("chosflag") == "O" || fGetFormRec("chosflag") == "S"))
  840. {
  841. var rsrvflag = ds_data_paminfo.getColumn(0, "rsrvflag");
  842. // 2016.09.08 TF 상단정보 미사용일경우 PAMINFO 정보 변경로직은 XP일 경우 ds_data_formdata 정보로 설정
  843. if( (!utlf_isNull(objForm) && (scrnID == "SPMMR05400" || scrnID == "SMAER00400" || scrnID == "SMANC00300" || scrnID == "SPMMO50000" || scrnID == "SMMMR02900") ) || gTopYn == false ){
  844. formrecdd = ds_temp_formdata.getColumn(0, "orddd");
  845. }else{
  846. formrecdd = ds_data_paminfo.getColumn(0, "orddd");
  847. }
  848. formrechm = utlf_getCurrentTime().substring(0, 4);
  849. }
  850. else
  851. {
  852. if (fGetFormRec("srcformcd") == '0000000003')
  853. {
  854. if (!utlf_isNull(fGetPamInfo("ertransyn")) && fGetPamInfo("ertransyn") != "N")
  855. {
  856. //기록일시 셋팅(응급에서 입원 전환된 일시)
  857. if (!utlf_isNull(fGetPamInfo("ercareinrmdd")))
  858. {
  859. formrecdd = fGetPamInfo("ercareinrmdd");
  860. }
  861. if (!utlf_isNull(fGetPamInfo("ercareinrmtm")))
  862. {
  863. formrechm = fGetPamInfo("ercareinrmtm");
  864. }
  865. }
  866. else
  867. {
  868. //기록일시 셋팅(입원일시)
  869. if (!utlf_isNull(fGetPamInfo("indd")))
  870. {
  871. formrecdd = fGetPamInfo("indd");
  872. }
  873. if (!utlf_isNull(fGetPamInfo("intm")))
  874. {
  875. formrechm = fGetPamInfo("intm");
  876. }
  877. }
  878. }
  879. else if (fGetFormRec("srcformcd") == "0000000679")
  880. {
  881. //응급실 입실시간
  882. if (!utlf_isNull(fGetPamInfo("calcdd")) && fGetPamInfo("calcdd") != "00000000")
  883. {
  884. formrecdd = fGetPamInfo("calcdd");
  885. }
  886. if (!utlf_isNull(fGetPamInfo("calctm")) && fGetPamInfo("calctm") != "0000")
  887. {
  888. formrechm = fGetPamInfo("calctm");
  889. }
  890. }
  891. else if (fGetFormRec("srcformcd") == "0000000680")
  892. {
  893. //기록일시 셋팅(입원일시)
  894. if (!utlf_isNull(fGetPamInfo("indd")))
  895. {
  896. formrecdd = fGetPamInfo("indd");
  897. }
  898. if (!utlf_isNull(fGetPamInfo("intm")))
  899. {
  900. formrechm = fGetPamInfo("intm");
  901. }
  902. }
  903. }
  904. if (!utlf_isNull(formrecdd))
  905. {
  906. recddyn = true;
  907. }
  908. if(recddyn)
  909. {
  910. fSetFormRec("formrecdd" , formrecdd);
  911. fSetFormRec("formrechm" , formrechm);
  912. }
  913. else
  914. {
  915. //2010.02.03 dhkim - 퇴원환자 상단정보 올린 경우 현재일자로 세팅되는 부분 문제
  916. //(퇴원환자는 퇴원일자, 외래환자는 외래진료일자로 세팅하도록 변경)
  917. if(fGetPamInfo("ioflag") == "O"){
  918. formrecdd = fGetPamInfo("orddd");
  919. }else{
  920. //2010.02.18 dhkim 가퇴원 추가 , 퇴원일없을경우 처리, 입원상태의 경우 현재일자로 세팅
  921. if(fGetPamInfo("indschacptstat") == "D" || fGetPamInfo("indschacptstat") == "T"){
  922. formrecdd = fGetPamInfo("dschdd");
  923. formrechm = fGetPamInfo("dschtm");
  924. }else{
  925. //2010.02.18 dhkim
  926. //입원상태일 경우는 현재일자로 세팅함
  927. formrecdd = utlf_getCurrentDate();
  928. formrechm = utlf_getCurrentTime().substring(0, 4);
  929. }
  930. }
  931. //2010.02.08 dhkim 널처리 현재일시추가
  932. if (utlf_isNull(formrechm))
  933. {
  934. formrechm = utlf_getCurrentTime().substring(0, 4);
  935. }
  936. fSetFormRec("formrecdd" , formrecdd);
  937. fSetFormRec("formrechm" , formrechm);
  938. }
  939. fSetFormRec("signedyn" , "N");
  940. }
  941. /*******************************************************************************************************
  942. 튜닝 작업
  943. *******************************************************************************************************/
  944. /**
  945. * @desc : 기록 내용 조회
  946. * @id :
  947. * @event : xforms-ready
  948. * @return : void
  949. * @authur : 박종훈
  950. */
  951. function fGetRecFormInfo(formrecseq)
  952. {
  953. utlf_addLog("***** MMR01300 fGetRecFormInfo("+formrecseq+") *****");
  954. var objColInfo = new Array();
  955. objColInfo.push({col: "formrecseq", type:"BIGDECIMAL", size:256, val: formrecseq});
  956. dsf_createDsRow("ds_send_reqrec", objColInfo);
  957. var oParam = {};
  958. oParam.id = "TRMMR01301";
  959. oParam.service = "medirecapp.ComnMediRec";
  960. oParam.method = "reqGetFormRecInfo";
  961. oParam.inds = "req=ds_send_reqrec";
  962. oParam.outds = "ds_data_formrec=formrec ds_data_recitem=recitem";
  963. oParam.async = false;
  964. oParam.progress = false;
  965. oParam.callback = "cf_TRMMR01301";
  966. tranf_submit(oParam);
  967. if(arErrorCode.pop("TRMMR01301") > -1)
  968. {
  969. g_recitem_oldrec = fGetCSV("ds_data_recitem"); // 로딩 시점의 기록데이터 xml형태로 저장. 다른 서식 로드시 저장여부 체크를 위함.
  970. utlf_addLog("!!!!!! g_recitem_oldrec : " + g_recitem_oldrec );
  971. doReplaceLtGt(ds_data_recitem);
  972. return true;
  973. }
  974. return false;
  975. }
  976. function cf_TRMMR01301(sSvcId, nErrorCode, sErrorMsg) {
  977. arErrorCode.push(sSvcId, nErrorCode);
  978. if(nErrorCode < 0) return;
  979. utlf_addLog("***** cf_TRMMR01301 *****");
  980. }
  981. /**
  982. * @desc : 코사인시 변경된 데이터 여부 검사
  983. * @id :
  984. * @event : xforms-ready
  985. * @return : void
  986. * @authur : 박종훈
  987. */
  988. function fCheckChangeDataForCosign()
  989. {
  990. utlf_addLog("***** fCheckChangeDataForCosign() MMR01300 *****");
  991. //debugger;
  992. var rtn;
  993. var ischg_formrec = false;
  994. var ischg_recitem = false;
  995. if (isProgForm())
  996. {
  997. //ivw_base.getSaveComnFormData(null, "1");
  998. var rtn = lf_getProgFormRecData(); // 공통서식 기록데이터 취합
  999. if(rtn == false)
  1000. return;
  1001. ds_data_recitem.copyData(ivw_base.ds_data_recitem);
  1002. }
  1003. else
  1004. {
  1005. // ivw_base.getSaveData("ds_temp_sort_recitem", "replace", this, null, null);
  1006. // SortRecItem();
  1007. lf_getGenFormData();
  1008. }
  1009. g_formrec_newimge = fGetCSV("formrec");
  1010. g_recitem_newimge = fGetCSV("ds_data_recitem");
  1011. //dsf_clearDsList(["ds_hidden_recitem"], this);
  1012. //model.removeNodeset(gPageInfo.recItemRef2);
  1013. if (g_formrec_newimge_cosign != g_formrec_newimge && !utlf_isNull(g_formrec_newimge_cosign) && !utlf_isNull(g_recitem_newimge_cosign))
  1014. {
  1015. ischg_formrec = true;
  1016. }
  1017. if (g_recitem_newimge_cosign != g_recitem_newimge)
  1018. {
  1019. ischg_recitem = true;
  1020. }
  1021. if (ischg_formrec == false && ischg_recitem == false)
  1022. {
  1023. rtn = "N";
  1024. }
  1025. else if (ischg_formrec == true && ischg_recitem == false)
  1026. {
  1027. rtn = "Y";
  1028. }
  1029. else
  1030. {
  1031. rtn = "Y";
  1032. }
  1033. //이윤주 수정
  1034. var srcformcd = fGetFormRec("srcformcd");
  1035. if (srcformcd == "0800003416")
  1036. {
  1037. rtn = "N";
  1038. }
  1039. return rtn;
  1040. }
  1041. /**
  1042. * @desc : 입퇴원요약지 - 최종진단명을 입력시 staff sign 반려
  1043. * @id :
  1044. * @event : xforms-ready
  1045. * @return : void
  1046. * @authur : 2010-02-21 오후 3:09:03 강지훈
  1047. */
  1048. function fSaveLastDiagRec(signedYn)
  1049. {
  1050. var rsltMsg = "진단명 수정-최종진단명 요약지 작성";
  1051. var saverecinfo_path = "/root/send/saverecinfo/formrec";
  1052. model.copyNode(saverecinfo_path, gPageInfo.recMastRef);
  1053. model.removeNodeset("/root/send/saverecinfo/formrec/status");
  1054. model.removeNodeset("/root/send/saverecinfo/formrec/cosign");
  1055. model.removeNodeset("/root/send/saverecinfo/formrec/dralertcnts");
  1056. model.makeValue("/root/send/saverecinfo/formrec/status", "D");
  1057. model.makeValue("/root/send/saverecinfo/formrec/cosign", "Y");
  1058. model.makeValue("/root/send/saverecinfo/formrec/dralertcnts", rsltMsg);
  1059. if (submit("TXMMR01302"))
  1060. {
  1061. fSetFormRec("cosign", "N");
  1062. ivw_base.window.grup_base.disabled = false;
  1063. btn_cosign.disabled = false;
  1064. fAfterSaveExtnDoing();
  1065. }
  1066. }
  1067. /****************************************************************************************
  1068. * Function : lf_makeSignData
  1069. * Description : 인증데이터 조합
  1070. * retrun type : sign_data : 인증데이터
  1071. * Creator :
  1072. ****************************************************************************************/
  1073. function lf_makeSignData()
  1074. {
  1075. if(ds_data_formrec.rowcount == 0 || ds_data_recitem.rowcount == 0)
  1076. return "";
  1077. //fSetFormRec("bfcertcnts", "");
  1078. var arrRows = new Array();
  1079. var nRow = -1;
  1080. var indx = 0;
  1081. //formrec 헤더 생성
  1082. var sign_data = "<recinfo>\n";
  1083. //formrec part 생성
  1084. sign_data += " <formrec>\n";
  1085. var ColId = "";
  1086. for(var i = 0; i < ds_data_formrec.colcount; i++)
  1087. {
  1088. ColId = ds_data_formrec.getColID(i);
  1089. if(ColId == "instcd"){
  1090. sign_data += " <" + ColId + "><![CDATA[" + sysf_getUserInfo("dutplceinstcd") +"]]]]><![CDATA[></" + ColId + ">\n";
  1091. }else{
  1092. if(utlf_isNull(ds_data_formrec.getColumn(0, ColId)))
  1093. sign_data += " <" + ColId + "/>\n"
  1094. else
  1095. sign_data += " <" + ColId + "><![CDATA[" + ds_data_formrec.getColumn(0, ColId) + "]]]]><![CDATA[></" + ColId + ">\n";
  1096. }
  1097. }
  1098. sign_data += " </formrec>\n";
  1099. //recitem part 생성
  1100. for (var i = 0; i < ds_data_recitem.rowcount; i++)
  1101. {
  1102. sign_data += " <recitem>\n";
  1103. for(var j = 0; j < ds_data_recitem.colcount; j++)
  1104. {
  1105. ColId = ds_data_recitem.getColID(j);
  1106. var degnitemkind = ds_data_recitem.getColumn(i, "degnitemkind");
  1107. if(degnitemkind == "FDG" || degnitemkind == "IMG") // 이미지 데이터가 있으면 srcimge, recimge, reccnts 초기화
  1108. {
  1109. if(ColId == "instcd")
  1110. {
  1111. sign_data += " <" + ColId + "><![CDATA[" + sysf_getUserInfo("dutplceinstcd") + "]]]]><![CDATA[></" + ColId + ">\n";
  1112. }
  1113. else if( (ColId == "srcimge" || ColId == "recimge" || ColId == "reccnts") || (utlf_isNull(ds_data_recitem.getColumn(i, ColId))) )
  1114. {
  1115. sign_data += " <" + ColId + "/>\n";
  1116. }
  1117. else if(ColId == "degnitemno" && (parseInt(ds_data_recitem.getColumn(i, "degnitemno")) < 10000))
  1118. {
  1119. sign_data += " <" + ColId + "><![CDATA[" + ds_data_recitem.getColumn(i, ColId) + "]]]]><![CDATA[></" + ColId + ">\n";
  1120. if(ivw_base.isValidObject("gItemCds"))
  1121. {
  1122. for(var k = 0; k < ivw_base.gItemCds.length; k++)
  1123. {
  1124. var divComp = ivw_base.grup_base.components["ivw_" + ivw_base.gItemCds[k]];
  1125. if(!utlf_isNull(divComp))
  1126. {
  1127. for(var l = 0; l < divComp.all.length; l++){
  1128. if(divComp.all[l] instanceof ActiveX){
  1129. var obj_Image = divComp.all[l];
  1130. var obj_ImageNm = divComp.all[l].name;
  1131. var imgDegnNo = obj_ImageNm.replace("IMG_", "");
  1132. if(ds_data_recitem.getColumn(i, "degnitemno") != imgDegnNo){
  1133. continue;
  1134. }
  1135. sign_data += " <width><![CDATA[" + obj_Image.position.width + "]]]]><![CDATA[></width>\n";
  1136. sign_data += " <height><![CDATA[" + obj_Image.position.height + "]]]]><![CDATA[></height>\n";
  1137. }
  1138. }
  1139. }
  1140. }
  1141. }
  1142. }
  1143. else
  1144. {
  1145. sign_data += " <" + ColId + "><![CDATA[" + ds_data_recitem.getColumn(i, ColId) + "]]]]><![CDATA[></" + ColId + ">\n";
  1146. }
  1147. }
  1148. else // 이미지 데이터가 없으면
  1149. {
  1150. if(utlf_isNull(ds_data_recitem.getColumn(i, ColId)))
  1151. {
  1152. sign_data += " <" + ColId + "/>\n";
  1153. }
  1154. else
  1155. {
  1156. sign_data += " <" + ColId + "><![CDATA[" + ds_data_recitem.getColumn(i, ColId) + "]]]]><![CDATA[></" + ColId + ">\n";
  1157. }
  1158. }
  1159. }
  1160. sign_data += " </recitem>\n";
  1161. }
  1162. //20170619 x009 추가 - 통합기록조회 및 사본에서 max열갯수에 따른 표를 그리기 위해
  1163. var xGridTempNodeInfo = fGetFormRec("xgridtempnodeinfo");
  1164. if(!utlf_isNull(xGridTempNodeInfo)){
  1165. //xgridtempnodeinfo : 저장될Col갯수|표현(표) Col갯수|아이템레벨cd|아이템No
  1166. var arrTempNodeInfos = xGridTempNodeInfo.split("^");
  1167. for(i = 0; i < arrTempNodeInfos.length; i++){
  1168. var arrTempNodeInfo = arrTempNodeInfos[i].split("|");
  1169. sign_data += "\t<temp degnitemlevlcd = '" + arrTempNodeInfo[2] + "' degnitemno = '" + arrTempNodeInfo[3] + "'>\r\n\t\t";
  1170. //만들어야 하는 temp col node의 maxcol값을 구한다.
  1171. //ex : ceil(저장할col갯수/표기준col갯수) * 표기준col갯수 = temp col갯수
  1172. var iMakeColCnt = 0, iSaveColCnt = parseInt(arrTempNodeInfo[0]), iTableMaxColCnt = parseInt(arrTempNodeInfo[1]);
  1173. utlf_addLog("iSaveColCnt : " + iSaveColCnt + " || iTableMaxColCnt : " + iTableMaxColCnt);
  1174. iMakeColCnt = iSaveColCnt/iTableMaxColCnt;
  1175. //20170630 x009 로직변경 - 기록조회에서 표현할 테이블 갯수를 넣는것으로 변경함.
  1176. //iMakeColCnt = (iMakeColCnt.toString().getRound_medirec(-1, "UP") * iTableMaxColCnt);
  1177. iMakeColCnt = iMakeColCnt.toString().getRound_medirec(-1, "UP");
  1178. utlf_addLog("iMakeColCnt : " + iMakeColCnt);
  1179. for(j = 0; j < iMakeColCnt; j++){
  1180. sign_data += "<tbl/>";
  1181. }
  1182. sign_data += "\r\n\t</temp>\r\n";
  1183. }
  1184. }
  1185. sign_data += "</recinfo>\n";
  1186. return sign_data;
  1187. }
  1188. /**
  1189. * @desc : 기록 저장 로직
  1190. * @id :
  1191. * @event : xforms-ready
  1192. * @return : void
  1193. * @authur : 박종훈
  1194. */
  1195. function fSaveComnFormRecInfoForCosign(signedYn)
  1196. {
  1197. sysf_trace("****** fSaveComnFormRecInfoForCosign("+signedYn+") Staff Sign 기록 저장 로직 MMR01300 *****");
  1198. try {
  1199. //2010.03.12 안치원 - 수정없이 staff-sign할때 xsltflag가 들어가지 않는 오류수정
  1200. ivw_base.getSubmitID_MMR01300I("staffsign");
  1201. } catch (e) {
  1202. sysf_catchTrace(e);
  1203. }
  1204. var savedInfo = new SAVED_INFO();
  1205. // var stext_path = "/root/send/saverecinfo/formrec/certcnts";
  1206. // var bfstext_path = "/root/send/saverecinfo/formrec/bfcertcnts"; //인증전데이터
  1207. // var espiyn_path = "/root/send/saverecinfo/formrec/espiyn"; //인증저장여부
  1208. // var saverecinfo_path = "/root/send/saverecinfo/formrec";
  1209. var sUserID = sysf_getUserInfo("userid");
  1210. // var signrecinfo = model.instances(0).selectSingleNode("/root/remtmp/recinfo").xml; //이미지 삭제된 인스턴스
  1211. var signrecinfo = lf_makeSignData();
  1212. //서식검색창이 포커스는 잡는 문제로 진료기록메인에서 인증창 호출 할 경우 기록메인의 저장로직 타도록 수정
  1213. //2008-08-01 박종훈
  1214. var oprnerId = oOpener.frmf_getScreenID();
  1215. if(oprnerId == "SMMMR00100")
  1216. {
  1217. // KNUH_20100820_박성호_start 인증서 안나오게 수정
  1218. var signedrecinfo = oOpener.fMakeSignData(signrecinfo, fGetFormRec("chosflag"), sUserID);
  1219. //var signedrecinfo = "-";
  1220. // KNUH_20100820_박성호_end
  1221. }
  1222. else
  1223. {
  1224. // 입원 또는 응급일 경우 // 20111201 knuh 최원돈
  1225. // 기록/처방 직전 인증저장이 정해진 시간(분 단위, 하드코드 401) 이내이면 인증서를 띄우지 않음(4/6)
  1226. // SMMMO00100.js, MMR01300.js, MMR00100.js, SPMRF05200.js
  1227. // 하드코드 값 가져오기 로직
  1228. var ls_emrinptsavetime = lf_getHardCDList("Y", 401, 3);
  1229. var ll_emrinptsavetime = utlf_isNull(ls_emrinptsavetime) ? 0 : parseInt(ls_emrinptsavetime) * -1;
  1230. // SMAER00400_결과관리(서식).xrw 에서는 모두 외래기준으로 인증서를 띄우도록 적용 // 20111202 knuh 최원돈
  1231. // gSubmitSaveFlag 는 SMAER00400_결과관리(서식)에서만 사용하여서 적용함
  1232. //if (fGetFormRec("chosflag") == "O")
  1233. if ( fGetFormRec("chosflag") == "O"
  1234. || !gSubmitSaveFlag)
  1235. {
  1236. // KNUH_20100820_박성호_start 인증서 안나오게 수정
  1237. var signedrecinfo = zesf_SignData(signrecinfo, sUserID, false); //외래환자일경우 한번만 인증서 띄움
  1238. //var signedrecinfo = "-"; //외래환자일경우 한번만 인증서 띄움
  1239. // KNUH_20100820_박성호_end
  1240. }
  1241. // 입원 또는 응급일 경우 // 20111201 knuh 최원돈
  1242. // 기록/처방 직전 인증저장이 정해진 시간(분 단위, 하드코드 401) 이내이면 인증서를 띄우지 않음(5/6)
  1243. // SMMMO00100.js, MMR01300.js, MMR00100.js, SPMRF05200.js
  1244. // 띄우지 않는 로직
  1245. else if ( ( fGetFormRec("chosflag") == "I"
  1246. || fGetFormRec("chosflag") == "E")
  1247. && ll_emrinptsavetime < 0
  1248. && sysf_getGlobalVariable("emrinptsavetime") >= utlf_getCurrentDateTime().toDate("YYYYMMDD hhmmss").getAddDate(ll_emrinptsavetime, "m").getDateFormat("YYYYMMDD hhmmss"))
  1249. {
  1250. var signedrecinfo = zesf_SignData(signrecinfo, sUserID, false); //외래환자일경우 한번만 인증서 띄움
  1251. }
  1252. else
  1253. {
  1254. // KNUH_20100820_박성호_start 인증서 안나오게 수정
  1255. var signedrecinfo = zesf_SignData(signrecinfo, sUserID, true);
  1256. //var signedrecinfo = "-";
  1257. // KNUH_20100820_박성호_end
  1258. }
  1259. }
  1260. if (utlf_isNull(signedrecinfo))
  1261. {
  1262. fSetFormRec("signedyn", "N");
  1263. return savedInfo;
  1264. }
  1265. else
  1266. {
  1267. fSetFormRec("espiyn", signedYn);
  1268. //ds_send_saverecinfo_formrec.setColumn(0, "espiyn", signedYn);;
  1269. }
  1270. if( this.objects["ds_send_saverecinfo_formrec"] == null ) dsf_createDs("ds_send_saverecinfo_formrec");
  1271. ds_send_saverecinfo_formrec.copyData(ds_data_formrec);
  1272. ds_send_saverecinfo_formrec.addColumn("bfcertcnts", "string");
  1273. ds_send_saverecinfo_formrec.addColumn("certcnts", "string");
  1274. ds_send_saverecinfo_formrec.setColumn(0, "bfcertcnts", signrecinfo);
  1275. ds_send_saverecinfo_formrec.setColumn(0, "certcnts", signedrecinfo);
  1276. dsf_setDefaultVal(ds_send_saverecinfo_formrec, "cosignyn:N");
  1277. dsf_setTypeFormat(ds_send_saverecinfo_formrec, "cretno:INT");
  1278. dsf_createDs("ds_main_savedinfo_rsltmsg");
  1279. var oParam = {};
  1280. oParam.id = "TXMMR01302";
  1281. oParam.service = "medirecapp.ComnMediRec";
  1282. oParam.method = "reqExeFormRecCoSign";
  1283. oParam.inds = "formrec=ds_send_saverecinfo_formrec";
  1284. oParam.outds = "ds_main_savedinfo_rsltmsg=rsltmsg";
  1285. oParam.async = false;
  1286. //oParam.progress = false;
  1287. oParam.callback = "cf_TXMMR01302";
  1288. tranf_submit(oParam);
  1289. if( arErrorCode.pop("TXMMR01302") > -1 )
  1290. {
  1291. var mess = utlf_transNullToEmpty(ds_main_savedinfo_rsltmsg.getColumn(0, "msg"));
  1292. if (fGetFormRec("status") == "U")
  1293. {
  1294. if(mess == "1")
  1295. {
  1296. sysf_messageBox("STAFF SIGN 저장되었습니다.", "I", "");
  1297. grup_btn.btn_cosign.enable = false;
  1298. if (isProgForm())
  1299. {
  1300. if(fGetFormRec("srcformcd") == "0000000680"){
  1301. var childrenObj = ivw_base.grup_base.components;
  1302. for(i=0; i< childrenObj.length; i++)
  1303. {
  1304. childObj = childrenObj[i];
  1305. if(childObj.name == "btn_lastdiag_0001013001"){
  1306. childObj.enable = true;
  1307. }
  1308. else{
  1309. childObj.enable = false;
  1310. }
  1311. }
  1312. }else{
  1313. ivw_base.grup_base.enable = false;
  1314. }
  1315. }
  1316. }
  1317. else
  1318. {
  1319. sysf_messageBox(mess, "I", "");
  1320. grup_btn.btn_cosign.enable = true;
  1321. if (isProgForm())
  1322. {
  1323. ivw_base.grup_base.enable = true;
  1324. }
  1325. }
  1326. }
  1327. fSetFormRec("espiyn", fGetFormRec("signedyn"));
  1328. g_formrec_newimge_cosign = fGetCSV("formrec");
  1329. g_recitem_newimge_cosign = fGetCSV("ds_data_recitem");
  1330. g_recitem_oldrec = fGetCSV("ds_data_recitem");
  1331. // 입원 또는 응급일 경우 // 20111201 knuh 최원돈
  1332. // 기록/처방 직전 인증저장이 정해진 시간(분 단위, 하드코드 401) 이내이면 인증서를 띄우지 않음(6/6)
  1333. // SMMMO00100.js, MMR01300.js, MMR00100.js, SPMRF05200.js
  1334. // 인증저장된 시간을 저장.
  1335. if ((fGetFormRec("chosflag") == "I" || fGetFormRec("chosflag") == "E") && signedYn == "Y" ) {
  1336. sysf_setGlobalVariable("emrinptsavetime", utlf_getCurrentDateTime());
  1337. }
  1338. }
  1339. if (ds_main_savedinfo_rsltmsg.getColumn(0, "msg") == "1")
  1340. {
  1341. // savedInfo.formrecseq = parseInt(model.getValue(gPageInfo.savedInfoRef + "/rsltmsg/formrecseq"));
  1342. // savedInfo.rechistseq = parseInt(model.getValue(gPageInfo.savedInfoRef + "/rsltmsg/rechistseq"));
  1343. //2010.03.24 안치원 - formrecseq 지수로 표현되는 오류수정
  1344. savedInfo.formrecseq = ds_main_savedinfo_rsltmsg.getColumn(0, "formrecseq");
  1345. savedInfo.rechistseq = ds_main_savedinfo_rsltmsg.getColumn(0, "rechistseq");
  1346. g_formrec_oldimge = g_formrec_newimge;
  1347. g_recitem_oldimge = g_recitem_newimge;
  1348. }
  1349. if (fGetFormRec("status") != "D" && savedInfo.formrecseq != 0)
  1350. {
  1351. fSetFormRec("status", "U");
  1352. fSetFormRec("formrecseq", savedInfo.formrecseq);
  1353. fSetFormRec("lastrechistseq", savedInfo.rechistseq);
  1354. fSetFormRec("cosign", ds_main_savedinfo_rsltmsg.getColumn(0, "cosign")); //2010-03-31 오전 10:06:14 강지훈 추가 : 최종진단명 요약 추가
  1355. fSetFormRec("espiseq", ds_main_savedinfo_rsltmsg.getColumn(0, "espiseq"));
  1356. }
  1357. if(mess == "1" || utlf_isNull(savedInfo.formrecseq))
  1358. {
  1359. return savedInfo;
  1360. }
  1361. }
  1362. function cf_TXMMR01302(sSvcId, nErrorCode, sErrorMsg) {
  1363. arErrorCode.push(sSvcId, nErrorCode);
  1364. if(nErrorCode < 0) {
  1365. utlf_addLog("***** cf_TXMMR01302 nErrorCode *****");
  1366. agv_objAppBottomPath.form.stt_statusMsg.text = sErrorMsg;
  1367. return;
  1368. }
  1369. utlf_addLog("***** cf_TXMMR01302 *****");
  1370. }
  1371. ]]></Script>