SMMMR00901.js 45 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386
  1. /**
  2. * MMR00901.js
  3. * SMMMR00901_DSC기록JCI.xrw
  4. */
  5. //부분서식의 부모아이템 배열
  6. var gItemCds = new Array(
  7. "0007983001" //수술전진단명
  8. , "0000521001" //수술후진단명
  9. , "0000509001" //수술명
  10. , "0000512001" //수술소견및절차
  11. , "0001113001" //투약정보
  12. , "0008539001" //처치정보
  13. , "0001115001" //특이사항
  14. );
  15. var gItemCdsTextArea = new Array("0000512001");//수술소견및절차
  16. var gItemCdsXRWArea = new Array(
  17. "0007983001" //수술전진단명
  18. , "0000521001" //수술후진단명
  19. , "0000509001" //수술명
  20. );
  21. var gItemCdsExpand = new Array(
  22. "0000509001" //수술명
  23. , "0000512001" //수술소견및절차
  24. , "0001113001" //투약정보
  25. , "0008539001" //처치정보
  26. , "0001115001" //특이사항
  27. );
  28. //부분서식의 개수만큼 일단 '0'으로 채운다.
  29. var iOpdate = ipt_opdate.attribute("degnitemno");
  30. var cOdt = cmb_odt.attribute("degnitemno");
  31. var cSdt = cmb_sdt.attribute("degnitemno");
  32. var cOproom = cmb_oproom.attribute("degnitemno");
  33. //var iSurg = ipt_surg.attribute("degnitemlevlcd");
  34. var iMcdnm = ipt_mcdnm.attribute("degnitemlevlcd");
  35. var iScdnm = ipt_scdnm.attribute("degnitemlevlcd");
  36. var cOdt1 = cmb_odt.attribute("degnitemlevlcd");
  37. //var cOdt1 = cmb_odt1.attribute("degnitemlevlcd");
  38. //var cSdt1 = cmb_sdt1.attribute("degnitemlevlcd");
  39. var instance = document.models(0).instances(0);
  40. var pageInfo = new PAGEINFO();
  41. //var operation = getGlobalVariable("operation").split("▩")[1];
  42. var oprsrvno = "";
  43. //2010.01.25 dhkim 마취과코드추가
  44. var anstdeptcd = "";
  45. /**
  46. * @desc : 확장버튼(이미지,가계도,추가기록)을 기록여부에 따라 표시를 위한 버튼목록
  47. * @id :
  48. * @authur : 안치원
  49. * @history : 2009.09.09 신규 안치원 ACW_090909A
  50. */
  51. var gExtnBtnIds = new Array("btn_imge_0000512001" //수술소견및절차 이미지버튼
  52. , "btn_etcrec_0000512001" //수술소견및절차 추가기록버튼
  53. );
  54. /*
  55. if(operation != null && operation != "")
  56. oprsrvno = operation.split("▦")[0];
  57. */
  58. /**
  59. * @desc : 서식 데이터 Clear, 인터페이스 입력값 조회 입력
  60. * @id :
  61. * @event : xforms-ready
  62. * @return : void
  63. * @authur : 박종훈
  64. */
  65. function fClearComnFormData()
  66. {
  67. if (gMaxSectionID != "")
  68. {
  69. var MaxObj = document.controls("lbl_" + gMaxSectionID);
  70. MaxObj.dispatch("onclick");
  71. }
  72. ClearComnFormData(gItemCds);
  73. fInitialize();
  74. /* //20100104 dhkim 수술정보연동 주석후 변경(initFormAtLast_MMR01100I에서 조회)
  75. var rtn = fGetdiagFormOprsrvno(oprsrvno, iMcdnm, iMcdnm, iScdnm, iScdnm); //수술예약번호로 진단명 조회
  76. //ivw_0000509001.window.javascript.fSrchOprlist(oprsrvno, cOdt1); //환자정보로 수술명, 집도의 조회
  77. fSrchOprPerfDrlist(oprsrvno); //환자정보로 수술명, 집도의, 마취의 조회
  78. if(!rtn)
  79. {
  80. fBtnDisEnable(true);
  81. return "oprfalse";
  82. } else {
  83. model.refresh();
  84. }
  85. fGetIfCnts();
  86. */
  87. //포커스 처리
  88. SetDefFocusIVW(gItemCdsTextArea);
  89. parent.window.javascript.fSetFormRec("extnflag", "opr");
  90. parent.window.javascript.fSetFormRec("oprsrvno", oprsrvno);
  91. }
  92. /**
  93. * @desc : 기록데이터 조회
  94. * @id :
  95. * @event : xforms-ready
  96. * @return : void
  97. * @authur : 박종훈
  98. */
  99. function fLoadData()
  100. {
  101. fInitialize();
  102. //Program 서식 데이터 조회반영
  103. InitPgmFormData();
  104. this.recRef2 = "/root/hidden/recinfo"
  105. //부분서식 데이터 조회 반영
  106. InitUnitFormData(gItemCds);
  107. parent.window.javascript.gSubmitID = TX_SUBMIT_EXTN_FORM;
  108. parent.window.javascript.fSetFormRec("extnflag", "opr");
  109. //parent.window.javascript.fSetFormRec("oprsrvno", oprsrvno);
  110. }
  111. /**
  112. * @desc : 화면 초기화
  113. * @
  114. * @param :
  115. * @return :
  116. * @authur : 박종훈
  117. */
  118. function fInitialize()
  119. {
  120. var operation = getGlobalVariable("operation").split("▩")[1];
  121. if(operation != null && operation != ""){
  122. oprsrvno = operation.split("▦")[0];
  123. perfdeptcd = operation.split("▦")[10];
  124. }
  125. if (parent.window.javascript.fGetFormRec("status") == "C")
  126. {
  127. parent.window.javascript.fSetFormRec("extnflag", "opr");
  128. parent.window.javascript.fSetFormRec("oprsrvno", oprsrvno);
  129. }
  130. /*
  131. var uInfo = getUserInfos();
  132. uInfo = uInfo.split("|");
  133. //초기조건 설정
  134. mmbfGetUserComboList("/root/init/reqdata", "/root/init/drlist" + cOdt , uInfo[8], "0330"); //집도의과 의사 조회
  135. mmbfGetUserComboList("/root/init/reqdata", "/root/init/drlist" + cSdt , '2090000000', "0330"); //마취통증의학과 의사 조회
  136. reqOpRoomList(getCurrentDate(), "/root/init/oproom", "total"); //수술실 조회
  137. */
  138. ivw_0007983001.attribute("border-style") = "none";//수술전진단명
  139. ivw_0000521001.attribute("border-style") = "none";//수술후진단명
  140. ivw_0000509001.attribute("border-style") = "none";
  141. // gTermViewTopPos = 29;
  142. gTermViewTopPos = 0;
  143. // gTermViewHei = 152;
  144. gTermViewHei = 266;
  145. gTermViewItems = gItemCdsXRWArea;
  146. //fRadioYN();
  147. model.refresh();
  148. }
  149. /**
  150. * @desc : 의사 조회에 따른 reccnts셋팅(tur)
  151. * @
  152. * @param :
  153. * @return :
  154. * @authur : 박종훈
  155. */
  156. function fChngDocts(degnitemno1, degnitemno2, degnitemno3)
  157. {
  158. //집도의
  159. var sDrid = model.getValue("/root/main/recinfo/recitem[degnitemno='" + degnitemno1 + "']/rectermcd");
  160. var sDrnm = model.getValue("/root/init/drlist" + degnitemno1 + "/usercombo[userid='" + sDrid + "']/usernm");
  161. if (sDrnm == "")
  162. {
  163. sDrnm = "";
  164. model.setValue("/root/main/recinfo/recitem[degnitemno='" + degnitemno1 + "']/rectermcd", "");
  165. }
  166. model.setValue("/root/main/recinfo/recitem[degnitemno='" + degnitemno1 + "']/rectermnm", sDrnm);
  167. //마취의
  168. var sanstDrid = model.getValue("/root/main/recinfo/recitem[degnitemno='" + degnitemno2 + "']/rectermcd");
  169. var sanstDrnm = model.getValue("/root/init/drlist" + degnitemno2 + "/usercombo[userid='" + sanstDrid + "']/usernm");
  170. if (sanstDrnm == "")
  171. {
  172. sanstDrnm = "";
  173. model.setValue("/root/main/recinfo/recitem[degnitemno='" + degnitemno2 + "']/rectermcd", "");
  174. }
  175. model.setValue("/root/main/recinfo/recitem[degnitemno='" + degnitemno2 + "']/rectermnm", sanstDrnm);
  176. //수술방
  177. var sRoomcd = model.getValue("/root/main/recinfo/recitem[degnitemno='" + degnitemno3 + "']/rectermcd");
  178. var sRoomnm = model.getValue("/root/init/oproom/oproomlist[oproomcd='"+sRoomcd+"']/oproomnm");
  179. if (sRoomnm == "")
  180. {
  181. sRoomnm = "";
  182. model.setValue("/root/main/recinfo/recitem[degnitemno='" + degnitemno3 + "']/rectermcd", "");
  183. }
  184. model.setValue("/root/main/recinfo/recitem[degnitemno='" + degnitemno3 + "']/rectermnm", sRoomnm);
  185. model.refresh();
  186. }
  187. /**
  188. * @desc : 의사 선택에 따른 reccnts셋팅(tur)
  189. * @
  190. * @param :
  191. * @return :
  192. * @authur : 박종훈
  193. */
  194. function fChngDoct(degnitemno)
  195. {
  196. var sDrid = model.getValue("/root/main/recinfo/recitem[degnitemno='" + degnitemno + "']/rectermcd");
  197. var sDrnm = model.getValue("/root/init/drlist"+degnitemno+"/usercombo[userid='"+sDrid+"']/usernm");
  198. if (sDrnm == "")
  199. {
  200. sDrnm = "";
  201. model.setValue("/root/main/recinfo/recitem[degnitemno='" + degnitemno + "']/rectermcd", "");
  202. }
  203. model.setValue("/root/main/recinfo/recitem[degnitemno='" + degnitemno + "']/rectermnm", sDrnm);
  204. model.refresh();
  205. }
  206. /**
  207. * @desc : 수술실 선택에 따른 reccnts셋팅(tur)
  208. * @
  209. * @param :
  210. * @return :
  211. * @authur : 박종훈
  212. */
  213. function fChngOproom(degnitemno)
  214. {
  215. var sRoomcd = model.getValue("/root/main/recinfo/recitem[degnitemno='" + degnitemno + "']/rectermcd");
  216. var sRoomnm = model.getValue("/root/init/oproom/oproomlist[oproomcd='"+sRoomcd+"']/oproomnm");
  217. if (sRoomnm == "")
  218. {
  219. sRoomnm = "";
  220. model.setValue("/root/main/recinfo/recitem[degnitemno='" + degnitemno + "']/rectermcd", "");
  221. }
  222. model.setValue("/root/main/recinfo/recitem[degnitemno='" + degnitemno + "']/rectermnm", sRoomnm);
  223. model.refresh();
  224. }
  225. /**
  226. * @desc : 라디오버튼 선택에 따른 reccnts셋팅(tur)
  227. * @
  228. * @param :
  229. * @return :
  230. * @authur : 박종훈
  231. */
  232. function fRadioYN(degnitemno)
  233. {
  234. var sRdoCd = model.getValue("/root/main/recinfo/recitem[degnitemno='" + degnitemno + "']/rectermcd");
  235. var sRdoNm = model.getValue("/root/main/forminfo/vallist[valcd='" + sRdoCd + "']/valitemnm");
  236. model.setValue("/root/main/recinfo/recitem[degnitemno='" + degnitemno + "']/rectermnm", sRdoNm);
  237. }
  238. /**
  239. * @desc : 기록 인스턴스 연결
  240. * @
  241. * @param :
  242. * @return :
  243. * @authur : 박종훈
  244. */
  245. function fSetRecItemValue(reciteminfo)
  246. {
  247. return SetCommMediFormValue(gItemCds, reciteminfo);
  248. }
  249. /**
  250. * @desc : 수술예약번호를 통한 진단명, 마취종류 조회(tur)
  251. * @
  252. * @param :
  253. * @return :
  254. * @---------------------------------------------------
  255. * /
  256. function fGetdiagFormOprsrvno(oprsrvno, iMcdnm, iMcdnm, iScdnm, iScdnm)
  257. {
  258. if(oprsrvno != ""){
  259. model.removeNodeset("/root/main/diaginfo/diagcdlist");
  260. model.makeValue("/root/send/oprsrvno", oprsrvno);
  261. //model.makeValue("/root/send/oprsrvno", "2007000009");
  262. submit("TRMRF04001", false);
  263. var anstmthdcd = model.getValue("/root/main/diaginfo/anstlist/anstmthdcd");
  264. var mcdnm = model.getValue("/root/main/diaginfo/anstlist/mcdnm");
  265. var anstmthdcdsub = model.getValue("/root/main/diaginfo/anstlist/anstmthdcdsub");
  266. var scdnm = model.getValue("/root/main/diaginfo/anstlist/scdnm");
  267. var pageInfo = new PAGEINFO();
  268. var iptMObj = document.controls("ipt_mcdnm");
  269. var iptSObj = document.controls("ipt_scdnm");
  270. if (anstmthdcd != "" && mcdnm != "")
  271. {
  272. //주마취
  273. model.setValue("/root/main/recinfo/recitem[degnitemlevlcd='" + iMcdnm + "']/rectermcd", anstmthdcd);
  274. model.setValue("/root/main/recinfo/recitem[degnitemlevlcd='" + iMcdnm + "']/rectermnm", mcdnm);
  275. iptMObj.attribute("ref") = pageInfo.recItemRef + "[degnitemlevlcd='" + iMcdnm + "']/rectermnm";
  276. }
  277. else
  278. {
  279. iptMObj.attribute("ref") = pageInfo.recItemRef + "[degnitemlevlcd='" + iMcdnm + "']/reccnts";
  280. }
  281. if (anstmthdcdsub != "" && scdnm != "")
  282. {
  283. //부마취
  284. model.setValue("/root/main/recinfo/recitem[degnitemlevlcd='" + iScdnm + "']/rectermcd", anstmthdcdsub);
  285. model.setValue("/root/main/recinfo/recitem[degnitemlevlcd='" + iScdnm + "']/rectermnm", scdnm);
  286. iptSObj.attribute("ref") = pageInfo.recItemRef + "[degnitemlevlcd='" + iScdnm + "']/rectermnm";
  287. }
  288. else
  289. {
  290. iptSObj.attribute("ref") = pageInfo.recItemRef + "[degnitemlevlcd='" + iScdnm + "']/reccnts";
  291. }
  292. copyNodeset("/root/main/diaginfo/diagcdlist", "/root/main/diaginfo/diagcdlist", "replace", ivw_0007983001.model, model);
  293. copyNodeset("/root/main/diaginfo/diagcdlist", "/root/main/diaginfo/diagcdlist", "replace", ivw_0000521001.model, model);
  294. model.refresh();
  295. ivw_0007983001.window.javascript.fSetDiagNmInstance();
  296. ivw_0000521001.window.javascript.fSetDiagNmInstance();
  297. return true;
  298. }else{
  299. //alert("해당환자는 수술환자가 아닙니다!");
  300. //grup_base.disabled = true;
  301. //parent.window.javascript.fBtnDisable();
  302. return false;
  303. }
  304. }
  305. */
  306. /**
  307. * @desc : 수술명, 집도의 조회(tur)
  308. * @
  309. * @param :
  310. * @return :
  311. * @---------------------------------------------------
  312. * /
  313. function fSrchOprPerfDrlist(oprsrvno)
  314. {
  315. model.removeNodeset("/root/tmpop/selectoplist");
  316. model.removeNodeset("/root/main/paminfo/list");
  317. var node = getGlobalVariable("paminfo");
  318. if(node != "" && node != null){
  319. setCSVToNode("/root/main/paminfo", node);
  320. model.makeValue("/root/send/pid", model.getValue("/root/main/paminfo/list/pid"));
  321. model.makeValue("/root/send/cretno", model.getValue("/root/main/paminfo/list/cretno"));
  322. if (model.getValue("/root/main/paminfo/list/ioflag") == "O")
  323. {
  324. model.makeValue("/root/send/orddd", model.getValue("/root/main/paminfo/list/orddd"));
  325. }
  326. else
  327. {
  328. model.makeValue("/root/send/orddd", model.getValue("/root/main/paminfo/list/indd"));
  329. }
  330. model.makeValue("/root/send/oprsrvno", oprsrvno);
  331. model.makeValue("/root/send/srchmode", "rec");
  332. model.removeNodeset("/root/main/recinfo/recitem[degnitemno = '1']");
  333. if ( submit("TRMRF04301") )
  334. {
  335. copyNodeset("/root/tmpop/selectoplist", "/root/tmpop/selectoplist", "replace", ivw_0000509001.model, model);//수술명
  336. ivw_0000509001.window.javascript.fAfterSrch();
  337. }
  338. if ( submit("TRMRF04302") )
  339. {
  340. var perfdrid = model.getValue("/root/tmp/perfdr/perfdrid");
  341. var anstdrid = model.getValue("/root/tmp/perfdr/anstdrid");
  342. var oproomcd = model.getValue("/root/tmp/perfdr/oproomcd");
  343. var opfromdt = model.getValue("/root/tmp/perfdr/opfromdt");
  344. var opstdd = opfromdt.substring(0, 8);
  345. var opsttm = opfromdt.substring(8, 12);
  346. if (opstdd == "" || opstdd.length < 8)
  347. {
  348. opstdd = getCurrentDate();
  349. }
  350. if (opsttm == "" || opsttm.length < 4)
  351. {
  352. opsttm = getCurrentTime().substr(0, 4);
  353. }
  354. //var transopdd = opstdd.substr(0, 4) + "-" + opstdd.substr(4, 2) + "-" + opstdd.substr(6, 2)
  355. parent.window.javascript.fSetFormRec("formrecdd" , opstdd);
  356. parent.window.javascript.fSetFormRec("formrechm" , opsttm);
  357. parent.ipt_formrecdd.refresh();
  358. parent.ipt_formrectm.refresh();
  359. model.setValue("/root/main/recinfo/recitem[degnitemno='" + iOpdate + "']/reccnts", opstdd); //수술일
  360. model.setValue("/root/main/recinfo/recitem[degnitemno='" + cOdt + "']/rectermcd", perfdrid);
  361. model.setValue("/root/main/recinfo/recitem[degnitemno='" + cSdt + "']/rectermcd", anstdrid);
  362. model.setValue("/root/main/recinfo/recitem[degnitemno='" + cOproom + "']/rectermcd", oproomcd);
  363. fChngDocts(cOdt, cSdt, cOproom);
  364. }
  365. }
  366. }
  367. */
  368. /**
  369. * @desc : 진단명 사이즈 조절(tur)
  370. * @
  371. * @param :
  372. * @return :
  373. * @---------------------------------------------------
  374. */
  375. function fSetSizeFormDiag()
  376. {
  377. ivw_0007983001.window.javascript.fInitPage(false, parseInt(ivw_0007983001.attribute("height")), parseInt(ivw_0007983001.attribute("width")), "ivw_0007983001", "수술전 진단명");
  378. }
  379. /**
  380. * @desc : 수술후 진단명 사이즈 조절
  381. * @
  382. * @param :
  383. * @return :
  384. * @---------------------------------------------------
  385. */
  386. function fSetSizeFormDiag1()
  387. {
  388. ivw_0000521001.window.javascript.fInitPage(false, parseInt(ivw_0000521001.attribute("height")), parseInt(ivw_0000521001.attribute("width")), "ivw_0000521001", "수술후 진단명(Free text)");
  389. }
  390. /**
  391. * @desc : 서식 수술명 사이즈 조절(tur)
  392. * @
  393. * @param :
  394. * @return :
  395. * @---------------------------------------------------
  396. */
  397. function fSetSizeFormOpr()
  398. {
  399. ivw_0000509001.window.javascript.fInitPage(false, parseInt(ivw_0000509001.attribute("height")), parseInt(ivw_0000509001.attribute("width")), "ivw_0000509001");
  400. }
  401. /*****************************************************************************
  402. 튜닝
  403. ******************************************************************************/
  404. var gLoadFormCnts = 0;
  405. /**
  406. * @group :
  407. * @ver : 2008.06.13
  408. * @by : snoweye
  409. * @---------------------------------------------------
  410. * @type : function
  411. * @access : private
  412. * @desc : 화면 로딩후 초기화 작업 수행
  413. * @param :
  414. * @return :
  415. * @---------------------------------------------------
  416. */
  417. function fFormReady()
  418. {
  419. grup_base.attribute("border-style") = "none";
  420. setSectionSize(gItemCds, 201, 431);
  421. //20080702 박종훈 추가
  422. InitBtnImge(gItemCdsTextArea);
  423. InitBtnComn(gItemCds);
  424. InitBtnEtcRec(gItemCdsTextArea);
  425. dispOnLoadComplete(COMN_FORM);
  426. fInitialize();
  427. if (parent.window.javascript.fGetFormRec("status") == "C")
  428. {
  429. fViewOPfindingsCaption_SMMMR00901("0000512001");
  430. }
  431. //2010.01.21, hkjoo
  432. initCmbExtnList(gItemCds);
  433. }
  434. /**
  435. * @group :
  436. * @ver : 2008.06.13
  437. * @by : snoweye
  438. * @---------------------------------------------------
  439. * @type : function
  440. * @access : private
  441. * @desc : 부분서식 로딩
  442. * @param :
  443. * @return :
  444. * @---------------------------------------------------
  445. */
  446. function fLoadUnitForm()
  447. {
  448. initSection(gItemCds);
  449. }
  450. var diagcnt = 0;
  451. /**
  452. * @group :
  453. * @ver : 2008.06.13
  454. * @by : snoweye
  455. * @---------------------------------------------------
  456. * @type : function
  457. * @access : private
  458. * @desc : 부분서식 로딩후 후처리
  459. * @param :
  460. * @return :
  461. * @---------------------------------------------------
  462. */
  463. function fOnLoadComplete()
  464. {
  465. var rtn = false;
  466. var curLoadFormCd = getParameter("loadformcd");
  467. setParameter("loadformcd", "");
  468. var fstLevlItemCd = model.getValue(gPageInfo.forminfoRef + "/unitformmast[formcd='" + curLoadFormCd + "' and loaded != 'true']/orgsupdegnitemcd");
  469. var ivwObj = document.controls("ivw_" + fstLevlItemCd);
  470. var unitformload = model.getValue(gPageInfo.forminfoRef + "/unitformmast[formcd='" + curLoadFormCd + "' and loaded != 'true']/loaded");
  471. if(ivwObj != null && unitformload != "true")
  472. {
  473. //ivwObj.window.javascript.setFstLevlItemCd(fstLevlItemCd);
  474. setFstLevlItemCd(ivwObj, curLoadFormCd);
  475. model.setValue(gPageInfo.forminfoRef + "/unitformmast[formcd='" + curLoadFormCd + "']/loaded", "true");
  476. }
  477. //수술전진단명 부분서식 로딩후 처리
  478. if(fstLevlItemCd == '0007983001')
  479. {
  480. fSetSizeFormDiag();
  481. // rtn = fGetdiagFormOprsrvno(oprsrvno); //수술예약번호로 수술전진단명 조회
  482. }
  483. //수술후진단명 부분서식 로딩후 처리
  484. if(fstLevlItemCd == '0000521001')
  485. {
  486. fSetSizeFormDiag1();
  487. if (parent.window.javascript.fGetFormRec("status") == "C")
  488. {
  489. //rtn = fGetdiagFormOprsrvno(oprsrvno, iMcdnm, iMcdnm, iScdnm, iScdnm); //수술예약번호로 진단명 조회
  490. }
  491. }
  492. /*
  493. //수술명 부분서식 로딩후 처리
  494. if(fstLevlItemCd == '0000509001')
  495. {
  496. dispOnLoadComplete(UNIT_FORM);
  497. }
  498. */
  499. //수술명 부분서식 로딩후 처리
  500. if(fstLevlItemCd == '0000509001')
  501. {
  502. fSetSizeFormOpr();
  503. if (parent.window.javascript.fGetFormRec("status") == "C")
  504. {
  505. //fSrchOprPerfDrlist(oprsrvno, cOdt1); //환자정보로 수술명, 집도의 조회
  506. fClearComnFormData();
  507. //2010.01.25 dhkim - 화면 두번 호출되어 주석처리함
  508. //dispOnLoadComplete(UNIT_FORM);
  509. }
  510. // else if (parent.window.javascript.fGetFormRec("status") == "U")
  511. // {
  512. // fCosignCheck();
  513. // }
  514. }
  515. gLoadFormCnts++;
  516. if(gItemCds.length == gLoadFormCnts)
  517. {
  518. fSetSizeFormOpr();
  519. if (parent.window.javascript.fGetFormRec("status") == "C")
  520. {
  521. //model.setValue("/root/main/recinfo/recitem[degnitemno='" + iSurg + "']/reccnts", getCurrentDate()); //수술일
  522. //2010.03.22 dhkim ordtype이 상단설정과 다른 환자로 세팅되는 오류 발견하여 상단환자로 다시세팅하도록 변경함.
  523. //var ordtype = model.getValue("/root/main/paminfo/ioflag");
  524. model.removeNodeset("/root/main/paminfo/list");
  525. var node = getGlobalVariable("paminfo");
  526. if(node != "" && node != null)
  527. {
  528. setCSVToNode("/root/main/paminfo", node);
  529. var ordtype = model.getValue("/root/main/paminfo/list/ioflag");
  530. if(ordtype != "D")
  531. {
  532. messageBox("해당환자는 DSC가 아닌", "I005");
  533. grup_base.disabled = true;
  534. fBtnDisEnable(true);
  535. return;
  536. }
  537. else
  538. {
  539. if(oprsrvno == "")
  540. {
  541. messageBox("수술예약이 되지 않은 환자이거나 수술탭에서 선택하지 않은", "I005");
  542. grup_base.disabled = true;
  543. fBtnDisEnable(true);
  544. return;
  545. } else {
  546. fBtnDisEnable(false);
  547. }
  548. }
  549. }
  550. // fSrchOprPerfDrlist(oprsrvno); //환자정보로 수술명, 집도의, 마취의 조회
  551. parent.window.javascript.fSetFormRec("extnflag", "opr");
  552. parent.window.javascript.fSetFormRec("oprsrvno", oprsrvno);
  553. //서식 로딩 후 포커스 처리(2008-11-18 박종훈)
  554. SetDefFocusIVW(gItemCdsTextArea);
  555. // fGetIfCnts(); //인터페이스 항목 조회
  556. }
  557. if(parent.window.javascript.fGetFormRec("status") == "U"){
  558. //마취정보세팅
  559. var anstmthdcd = parent.model.getValue("/root/main/recinfo/recitem[degnitemlevlcd='" + iMcdnm + "']/rectermcd");
  560. var mcdnm = parent.model.getValue("/root/main/recinfo/recitem[degnitemlevlcd='" + iMcdnm + "']/rectermnm");
  561. var anstmthdcdsub = parent.model.getValue("/root/main/recinfo/recitem[degnitemlevlcd='" + iScdnm + "']/rectermcd");
  562. var scdnm = parent.model.getValue("/root/main/recinfo/recitem[degnitemlevlcd='" + iScdnm + "']/rectermnm");
  563. var iptMObj = document.controls("ipt_mcdnm");
  564. var iptSObj = document.controls("ipt_scdnm");
  565. if (anstmthdcd != "" && mcdnm != "")
  566. {
  567. iptMObj.attribute("ref") = pageInfo.recItemRef + "[degnitemlevlcd='" + iMcdnm + "']/rectermnm";
  568. }
  569. else
  570. {
  571. iptMObj.attribute("ref") = pageInfo.recItemRef + "[degnitemlevlcd='" + iMcdnm + "']/reccnts";
  572. }
  573. if (anstmthdcdsub != "" && scdnm != "")
  574. {
  575. iptSObj.attribute("ref") = pageInfo.recItemRef + "[degnitemlevlcd='" + iScdnm + "']/rectermnm";
  576. }
  577. else
  578. {
  579. iptSObj.attribute("ref") = pageInfo.recItemRef + "[degnitemlevlcd='" + iScdnm + "']/reccnts";
  580. }
  581. iptMObj.refresh();
  582. iptSObj.refresh();
  583. //버튼세팅
  584. if(parent.window.javascript.fCheckSaveDept()){
  585. grup_base.disabled = false;
  586. fBtnDisEnable(false);
  587. }
  588. else{
  589. messageBox("타과에서 작성된 DSC기록은 수정", "E001");
  590. grup_base.disabled = true;
  591. fBtnDisEnable(true);
  592. }
  593. }
  594. dispOnLoadComplete(UNIT_FORM);
  595. }
  596. if(!rtn)
  597. {
  598. return "oprfalse";
  599. } else {
  600. model.refresh();
  601. }
  602. }
  603. /**
  604. * @group :
  605. * @ver : 2008.11.28
  606. * @by : jonghun
  607. * @---------------------------------------------------
  608. * @type : function
  609. * @access : private
  610. * @desc : 동일 서식이 떠있을 경우 내부 인스턴스 로딩 후 디폴트 조회내용 조회
  611. * @param :
  612. * @return :
  613. * @---------------------------------------------------
  614. */
  615. function fGetDefData()
  616. {
  617. fSetSizeFormOpr();
  618. operation = getGlobalVariable("operation").split("▩")[1];
  619. if(operation != null && operation != ""){
  620. oprsrvno = operation.split("▦")[0];
  621. perfdeptcd = operation.split("▦")[10];
  622. }
  623. if (parent.window.javascript.fGetFormRec("status") == "C")
  624. {
  625. //model.setValue("/root/main/recinfo/recitem[degnitemno='" + iSurg + "']/reccnts", getCurrentDate()); //수술일
  626. //2010.03.22 dhkim ordtype이 상단설정과 다른 환자로 세팅되는 오류 발견하여 상단환자로 다시세팅하도록 변경함.
  627. //var ordtype = model.getValue("/root/main/paminfo/ioflag");
  628. model.removeNodeset("/root/main/paminfo/list");
  629. var node = getGlobalVariable("paminfo");
  630. if(node != "" && node != null)
  631. {
  632. setCSVToNode("/root/main/paminfo", node);
  633. var ordtype = model.getValue("/root/main/paminfo/list/ioflag");
  634. if(ordtype != "D")
  635. {
  636. messageBox("해당환자는 DSC가 아닌", "I005");
  637. grup_base.disabled = true;
  638. fBtnDisEnable(true);
  639. return;
  640. }
  641. else
  642. {
  643. if(oprsrvno == "")
  644. {
  645. messageBox("수술예약이 되지 않은 환자이거나 수술탭에서 선택하지 않은", "I005");
  646. grup_base.disabled = true;
  647. fBtnDisEnable(true);
  648. return;
  649. } else {
  650. fBtnDisEnable(false);
  651. }
  652. }
  653. }
  654. // fSrchOprPerfDrlist(oprsrvno); //환자정보로 수술명, 집도의, 마취의 조회
  655. parent.window.javascript.fSetFormRec("extnflag", "opr");
  656. parent.window.javascript.fSetFormRec("oprsrvno", oprsrvno);
  657. //서식 로딩 후 포커스 처리(2008-11-18 박종훈)
  658. SetDefFocusIVW(gItemCdsTextArea);
  659. // fGetIfCnts(); //인터페이스 항목 조회
  660. }
  661. dispOnLoadComplete(UNIT_FORM);
  662. }
  663. /**
  664. * @desc : 저장버튼 Disable
  665. * @
  666. * @param :
  667. * @return :
  668. * @authur : 박종훈
  669. */
  670. function fBtnDisEnable(flag)
  671. {
  672. if(flag)
  673. {
  674. parent.window.javascript.fDisalbeSave(flag);
  675. }
  676. else
  677. {
  678. parent.window.javascript.fDisalbeSave(flag);
  679. }
  680. }
  681. /**
  682. * @group :
  683. * @ver : 2008.09.05
  684. * @by : jonghun
  685. * @---------------------------------------------------
  686. * @type : function
  687. * @access : private
  688. * @desc : 서식기록 인터페이스 항목 조회
  689. * @param :
  690. * @return :
  691. * @---------------------------------------------------
  692. * /
  693. function fGetIfCnts()
  694. {
  695. var pid = model.getValue("/root/main/paminfo/pid");
  696. var ioflag = model.getValue("/root/main/paminfo/ioflag");
  697. var orddd = "";
  698. if (ioflag == "O" || ioflag == "S")
  699. {
  700. orddd = model.getValue("/root/main/paminfo/orddd");
  701. }
  702. else if (ioflag == "I" || ioflag == "E" || ioflag == "D")
  703. {
  704. orddd = model.getValue("/root/main/paminfo/indd");
  705. }
  706. var cretno= model.getValue("/root/main/paminfo/cretno");
  707. //model.removeNodeset("/root/send");
  708. model.makeValue("/root/send/pid", pid);
  709. model.makeValue("/root/send/orddd", orddd);
  710. model.makeValue("/root/send/cretno", cretno);
  711. model.makeValue("/root/send/oprsrvno", oprsrvno);
  712. if (submit("TRMMR00901"))
  713. {
  714. var opcmt = model.getValue("/root/init/iflist/opcmt");
  715. var nurin = model.getValue("/root/init/iflist/nurin");
  716. var nurout = model.getValue("/root/init/iflist/nurout");
  717. var oprin = model.getValue("/root/init/iflist/oprin");
  718. var oprout = model.getValue("/root/init/iflist/oprout");
  719. var skinprep = model.getValue("/root/init/iflist/skinprep");
  720. var skintermcd = "";
  721. var skintermnm = "";
  722. //수술부위 피부준비
  723. if (skinprep == "Y")
  724. {
  725. var skintermcd = model.getValue(pageInfo.forminfoRef + "/vallist[valitemnm = 'Yes']/valcd");
  726. var skintermnm = model.getValue(pageInfo.forminfoRef + "/vallist[valitemnm = 'Yes']/valitemnm");
  727. }
  728. else
  729. {
  730. var skintermcd = model.getValue(pageInfo.forminfoRef + "/vallist[valitemnm = 'No']/valcd");
  731. var skintermnm = model.getValue(pageInfo.forminfoRef + "/vallist[valitemnm = 'No']/valitemnm");
  732. }
  733. if(skintermcd != "" && skintermnm != "")
  734. {
  735. model.setValue("/root/main/recinfo/recitem[degnitemlevlcd='0016684.0005330']/rectermcd", skintermcd);
  736. model.setValue("/root/main/recinfo/recitem[degnitemlevlcd='0016684.0005330']/rectermnm", skintermnm);
  737. }
  738. //수술소견
  739. ivw_0000512001.model.setValue("/root/main/recinfo/recitem[degnitemlevlcd = '0000512.0000146']/reccnts", opcmt);
  740. ivw_0000512001.model.refresh();
  741. //DSC입퇴실 시간
  742. model.setValue("/root/main/recinfo/recitem[degnitemlevlcd='0018614']/reccnts", nurin);
  743. model.setValue("/root/main/recinfo/recitem[degnitemlevlcd='0018617']/reccnts", nurout);
  744. //수술실 입퇴실시간
  745. model.setValue("/root/main/recinfo/recitem[degnitemlevlcd='0018615']/reccnts", oprin);
  746. model.setValue("/root/main/recinfo/recitem[degnitemlevlcd='0018616']/reccnts", oprout);
  747. //투약, 처치정보 조회
  748. GetPatDrugPrcpList("0001113001", "0008539001");
  749. model.refresh();
  750. }
  751. }
  752. */
  753. /**
  754. * 20091211 dhkim
  755. * 수술소견 및 절차에 데이터가 없을때 캡션을 보여준다.
  756. */
  757. function fViewOPfindingsCaption_SMMMR00901(itemcd){
  758. /*
  759. if(itemcd == '0000512001'){//수술소견및절차
  760. var tarid = document.controls("tar_" + itemcd);
  761. var ivwid = document.controls("ivw_" + itemcd);
  762. var capid = document.controls("cap_" + itemcd);
  763. var tarVal = ivwid.model.getValue(pageInfo.recItemRef + "[fstlevlitemcd = '" + itemcd + "']/reccnts");
  764. if(tarVal == null || tarVal == ""){
  765. capid.attribute("visibility") = "visible";
  766. tarid.attribute("visibility") = "hidden";
  767. ivwid.attribute("visibility") = "hidden";
  768. }else{
  769. capid.attribute("visibility") = "hidden";
  770. tarid.attribute("visibility") = "visible";
  771. ivwid.attribute("visibility") = "visible";
  772. }
  773. }
  774. */
  775. }
  776. /**
  777. * 20091231 dhkim 추가
  778. * MMR01100.js에서 서식load를 완료한 후에 호출한다.
  779. * @return
  780. */
  781. function initFormAtLast_MMR01100I() {
  782. //2010.01.25 dhkim 마취과코드 추가(간호공통기준자료테이블에서 가죠옴)
  783. var pCode = "'012'"; // 조회할 CdGrupID 코드정보(012:마취과)
  784. var pDate = getCurrentDate(); //조회기준일자
  785. fGetNursHardCdInfo_MMR00901(pCode, pDate);
  786. anstdeptcd = model.getValue("/root/code_mmr00901/codeinfo/codelist[cdgrupid = '012']/cdid");
  787. var formcd = parent.window.javascript.fGetFormMast("formcd");
  788. //신규서식로딩의 경우만 수술기록정보 연동
  789. if (parent.window.javascript.fGetFormRec("status") == "C") {
  790. //2010.01.25 dhkim 집도의, 마취의 리스트 조회추가
  791. fGetRecIfData_MMR00901("opr;opnm;opdiag;dscinout;drlist;anstdrlist;oproomlist");
  792. } else {
  793. //2010.01.25 dhkim 집도의, 마취의, 수술방 리스트 조회추가
  794. fGetRecIfData_MMR00901("drlist;anstdrlist;oproomlist");
  795. }
  796. fInitAnstTypeCtrl_SMMMR00901();
  797. //2010.01.19 dhkim - 통합기록조회용 JCI구분자추가
  798. //parent.window.javascript.fSetFormRec("xsltflag", "JCI");//(fSetXsltFlag없애고 getSubmitID_MMR01300I로 이동)
  799. model.refresh();
  800. }
  801. /**
  802. * MMR01300.js에서 submit직전에 submitID를 설정하기 위해서 호출한다.
  803. * @return
  804. */
  805. function getSubmitID_MMR01300I() {
  806. //2010.02.23 dhkim - 통합기록조회용 JCI구분자추가(fSetXsltFlag없애고 getSubmitID_MMR01300I로 이동)
  807. parent.window.javascript.fSetFormRec("xsltflag", "JCI");
  808. return TX_SUBMIT_EXTN_FORM;
  809. }
  810. /**
  811. * 수술기록의 Data를 설정한다.
  812. * TRMMR01302 submission 호출로 통합
  813. * @return
  814. */
  815. function fGetRecIfData_MMR00901(infoflag) {
  816. model.removenode("/root/send/extninfo");
  817. model.makeValue("/root/send/extninfo/infoflag", infoflag);
  818. model.makeValue("/root/send/extninfo/pid", parent.window.javascript.fGetFormRec("pid"));
  819. model.makeValue("/root/send/extninfo/oprsrvno", parent.window.javascript.fGetFormRec("oprsrvno"));
  820. //2010.01.11 dhkim - dsc 입퇴실정보 조회위해 orddd, cretno 추가
  821. model.makeValue("/root/send/extninfo/orddd", parent.window.javascript.fGetFormRec("orddd"));//dsc는 orddd로 들어감
  822. model.makeValue("/root/send/extninfo/cretno", parent.window.javascript.fGetFormRec("cretno"));
  823. //2010.01.25 dhkim - 집도의,마취의, 수술방 리스트조회 콤보에 필요한 파라미터 추가
  824. if(isSearchString(infoflag, "drlist"))
  825. model.makeValue("/root/send/extninfo/deptcd", getUserInfo("dutplcecd"));
  826. if(isSearchString(infoflag, "anstdrlist"))
  827. model.makeValue("/root/send/extninfo/anstdeptcd", anstdeptcd);
  828. if(isSearchString(infoflag, "oproomlist"))
  829. model.makeValue("/root/send/extninfo/opdd", parent.window.javascript.fGetFormRec("orddd"));
  830. if (submit("TRMMR01302")) {
  831. var execInfoFlag = model.getValue("/root/main/extninfo/resultinfo/infoflag");
  832. //2010.01.11 dhkim - 집도의, 마취의 콤보 노드리스트에 조회한 의사정보 없을경우 노드추가
  833. //집도의
  834. var perfdrnm = makeDrNames_MMR00901(new Array("perfdrnm"));
  835. var perfdrid = makeDrNames_MMR00901(new Array("perfdrid"));
  836. //2010.01.25 dhkim - 수정모드일 경우는 recinfo에서 조회
  837. if(parent.window.javascript.fGetFormRec("status") == "U"){
  838. perfdrnm = model.getValue("/root/main/recinfo/recitem[degnitemno='" + cOdt + "']/rectermnm");
  839. perfdrid = model.getValue("/root/main/recinfo/recitem[degnitemno='" + cOdt + "']/rectermcd");
  840. perfCnt = getNodesetCount("/root/main/extninfo/drlistinfo[userid='"+perfdrid+"']/userid");
  841. }
  842. var perfCnt = getNodesetCount("/root/main/extninfo/drlistinfo[userid='"+perfdrid+"']/userid");
  843. if(perfCnt == 0){
  844. var node_userid = instance1.createElement("userid");
  845. var node_usernm = instance1.createElement("usernm");
  846. var node_usercombo = instance1.createElement("usercombo");
  847. node_userid.text = perfdrid;
  848. node_usernm.text = perfdrnm;
  849. node_usercombo.appendChild(node_userid);
  850. node_usercombo.appendChild(node_usernm);
  851. var nodedrlist = model.instance1.selectSingleNode("/root/init/drlist" + cOdt);
  852. nodedrlist.appendChild(node_usercombo);
  853. }
  854. //마취의
  855. var anstdrnm = makeDrNames_MMR00901(new Array("anstdrnm"));
  856. var anstdrid = makeDrNames_MMR00901(new Array("anstdrid"));
  857. //2010.01.25 dhkim - 수정모드의 경우 recinfo에서 조회
  858. if(parent.window.javascript.fGetFormRec("status") == "U"){
  859. anstdrnm = model.getValue("/root/main/recinfo/recitem[degnitemno='" + cSdt + "']/rectermnm");
  860. anstdrid = model.getValue("/root/main/recinfo/recitem[degnitemno='" + cSdt + "']/rectermcd");
  861. }
  862. var anstdrCnt = getNodesetCount("/root/main/extninfo/anstdrlistinfo[userid='"+anstdrid+"']/userid");
  863. if(anstdrCnt == 0){
  864. var node_userid = instance1.createElement("userid");
  865. var node_usernm = instance1.createElement("usernm");
  866. var node_usercombo = instance1.createElement("usercombo");
  867. node_userid.text = anstdrid;
  868. node_usernm.text = anstdrnm;
  869. node_usercombo.appendChild(node_userid);
  870. node_usercombo.appendChild(node_usernm);
  871. var nodedrlist = model.instance1.selectSingleNode("/root/init/drlist" + cSdt);
  872. nodedrlist.appendChild(node_usercombo);
  873. }
  874. if (execInfoFlag.indexOf("opr;") != -1) {
  875. //수술정보 설정
  876. //수술일자,진료일자
  877. var opcnfmdd = model.getValue("/root/main/extninfo/oprinfo/opcnfmdd");
  878. var opcnfmhm = model.getValue("/root/main/extninfo/oprinfo/opcnfmhm");
  879. model.setValue(gPageInfo.recItemRef+"[degnitemlevlcd='0000515']/reccnts", opcnfmdd);
  880. //2010.01.11 dhkim - 진료일자,진료시간 세팅
  881. parent.window.javascript.fSetFormRec("formrecdd", opcnfmdd);
  882. parent.window.javascript.fSetFormRec("formrechm", opcnfmhm);
  883. parent.ipt_formrecdd.refresh();
  884. parent.ipt_formrectm.refresh();
  885. //집도의 설정
  886. model.setValue(gPageInfo.recItemRef+"[degnitemlevlcd='0000980']/rectermcd", perfdrid);
  887. model.setValue(gPageInfo.recItemRef+"[degnitemlevlcd='0000980']/rectermnm", perfdrnm);
  888. //마취의 설정
  889. model.setValue(gPageInfo.recItemRef+"[degnitemlevlcd='0007992']/rectermcd", anstdrid);
  890. model.setValue(gPageInfo.recItemRef+"[degnitemlevlcd='0007992']/rectermnm", anstdrnm);
  891. //수술방 설정
  892. var oproomcd = model.getValue("/root/main/extninfo/oprinfo/oproomcd");
  893. // knuh_20110705_수정_최초로딩시 수술방명을 인스턴스에 셋팅을 못하여 저장시 빠짐
  894. //var oproomnm = model.getValue("/root/init/oproom/oproomlist[oproomcd='"+oproomcd+"']/oproomnm");
  895. var oproomnm = model.getValue("/root/main/extninfo/oproomlistinfo[oproomcd='"+oproomcd+"']/oproomnm");
  896. if(oproomcd != ""){
  897. model.setValue(gPageInfo.recItemRef+"[degnitemlevlcd='0016684.0007004']/rectermcd", oproomcd);
  898. model.setValue(gPageInfo.recItemRef+"[degnitemlevlcd='0016684.0007004']/rectermnm", oproomnm);
  899. }
  900. //수술부위피부준비 설정
  901. var skinprepcc = model.getValue("/root/main/extninfo/oprinfo/skinprepcc");
  902. if(skinprepcc == "0001965001"){
  903. model.setValue(gPageInfo.recItemRef+"[degnitemlevlcd='0016684.0005330']/rectermnm", "Yes");
  904. model.setValue(gPageInfo.recItemRef+"[degnitemlevlcd='0016684.0005330']/rectermcd", skinprepcc);
  905. }else if(skinprepcc == "0001347001"){
  906. model.setValue(gPageInfo.recItemRef+"[degnitemlevlcd='0016684.0005330']/rectermnm", "No");
  907. model.setValue(gPageInfo.recItemRef+"[degnitemlevlcd='0016684.0005330']/rectermcd", skinprepcc);
  908. }
  909. //주마취 설정
  910. model.setValue(gPageInfo.recItemRef+"[degnitemlevlcd='0000248.0015528']/rectermnm", model.getValue("/root/main/extninfo/oprinfo/anstmthdnm"));
  911. model.setValue(gPageInfo.recItemRef+"[degnitemlevlcd='0000248.0015528']/rectermcd", model.getValue("/root/main/extninfo/oprinfo/anstmthdcd"));
  912. //부마취 설정
  913. model.setValue(gPageInfo.recItemRef+"[degnitemlevlcd='0000248.0008458']/rectermnm", model.getValue("/root/main/extninfo/oprinfo/anstmthdcdsubnm"));
  914. model.setValue(gPageInfo.recItemRef+"[degnitemlevlcd='0000248.0008458']/rectermcd", model.getValue("/root/main/extninfo/oprinfo/anstmthdcdsub"));
  915. }
  916. if (execInfoFlag.indexOf("opdiag;") != -1) {
  917. //수술진단 설정
  918. copyNodeset("/root/main/diaginfo/diagcdlist", "/root/main/extninfo/diagcdlist", "replace", ivw_0007983001.model, model);
  919. copyNodeset("/root/main/diaginfo/diagcdlist", "/root/main/extninfo/diagcdlist", "replace", ivw_0000521001.model, model);
  920. ivw_0007983001.window.javascript.fSetDiagNmInstance();
  921. ivw_0000521001.window.javascript.fSetDiagNmInstance();
  922. }
  923. if (execInfoFlag.indexOf("opnm;") != -1) {
  924. //수술명설정
  925. copyNodeset("/root/tmpop/selectoplist", "/root/main/extninfo/selectoplist", "replace", ivw_0000509001.model, model);
  926. ivw_0000509001.window.javascript.fAfterSrch();
  927. }
  928. //2010.01.10 dhkim dsc 입퇴실시간 정보 추가
  929. if (execInfoFlag.indexOf("dscinout;") != -1) {
  930. //dsc입퇴실시간
  931. var nurin = model.getValue("/root/main/extninfo/dscinoutinfo/nurin");
  932. var nurout = model.getValue("/root/main/extninfo/dscinoutinfo/nurout");
  933. //수술 입퇴실시간
  934. var oprin = model.getValue("/root/main/extninfo/dscinoutinfo/oprin");
  935. var oprout = model.getValue("/root/main/extninfo/dscinoutinfo/oprout");
  936. model.setValue(gPageInfo.recItemRef+"[degnitemlevlcd='0018614']/reccnts", nurin);//DSC 도착시간
  937. model.setValue(gPageInfo.recItemRef+"[degnitemlevlcd='0018617']/reccnts", nurout);//DSC 퇴실시간
  938. model.setValue(gPageInfo.recItemRef+"[degnitemlevlcd='0018615']/reccnts", oprin);//OR 도착시간
  939. model.setValue(gPageInfo.recItemRef+"[degnitemlevlcd='0018616']/reccnts", oprout);//DSC 회복시간
  940. }
  941. //2010.01.25 dhkim - 집도의,마취의,수술방 콤보 리스트 추가
  942. if (execInfoFlag.indexOf("anstdrlist;") != -1) {
  943. //extninfo에 조회해온 마취의 노드리스트 콤보리스트에 copy
  944. model.removenode("/root/init/drlist" + cSdt);
  945. copyNodeset("/root/init/drlist" + cSdt + "/usercombo", "/root/main/extninfo/anstdrlistinfo");
  946. }
  947. if (execInfoFlag.indexOf("drlist;") != -1) {
  948. //extninfo에 조회해온 집도의 노드리스트 콤보리스트에 copy
  949. model.removenode("/root/init/drlist" + cOdt);
  950. copyNodeset("/root/init/drlist" + cOdt + "/usercombo", "/root/main/extninfo/drlistinfo");
  951. }
  952. if (execInfoFlag.indexOf("oproomlist;") != -1) {
  953. //extninfo에 조회해온 수술방 노드리스트 콤보리스트에 copy
  954. model.removenode("/root/init/oproom");
  955. copyNodeset("/root/init/oproom/oproomlist", "/root/main/extninfo/oproomlistinfo");
  956. }
  957. //수술소견
  958. /*
  959. var findings_itemcd = '0000512001';
  960. var findings = model.getValue("/root/hidden/recinfo/recitem[fstlevlitemcd='"+findings_itemcd+"']/reccnts");
  961. var findings_degnitemcd = model.getValue(gPageInfo.formdegnRef+"[supdegnitemcd='"+findings_itemcd+"' and degnitemkind='FRM']/degnitemcd");
  962. alert(findings);
  963. //수술소견 세팅
  964. if(findings_degnitemcd == "0000000005"){//자유입력서식
  965. if (ivw_0000512001.src != "")
  966. {
  967. ivw_0000512001.model.setValue(gPageInfo.recItemRef+"[fstlevlitemcd='"+findings_itemcd+"']/reccnts", findings);
  968. ivw_0000512001.model.refresh();
  969. }
  970. }else if(findings_degnitemcd == null || findings_degnitemcd == ""){
  971. model.setValue(gPageInfo.recItemRef+"[fstlevlitemcd='"+findings_itemcd+"']/reccnts", findings);//MTX
  972. }
  973. */
  974. }
  975. }
  976. /**
  977. * @desc : 의사명 노드리스트 세팅
  978. */
  979. function makeDrNames_MMR00901(arr) {
  980. var buf = "";
  981. for (var i=0; i<arr.length; i++) {
  982. var nm = model.getValue("/root/main/extninfo/oprinfo/" + arr[i]);
  983. if (nm == "") {
  984. break;
  985. } else {
  986. buf += nm;
  987. if (i<arr.length-1 && model.getValue("/root/main/extninfo/oprinfo/" + arr[i+1]) != "") {
  988. buf += ", ";
  989. }
  990. }
  991. }
  992. return buf;
  993. }
  994. /**
  995. * @desc : 수술연동관련 컨트롤 바인딩 초기화
  996. * 마취종류(주/부) 바인딩
  997. *
  998. */
  999. function fInitAnstTypeCtrl_SMMMR00901() {
  1000. var anstmthdcd = "";
  1001. var mcdnm = "";
  1002. var anstmthdcdsub = "";
  1003. var scdnm = "";
  1004. var node = "";
  1005. //주마취
  1006. anstmthdcd = model.getValue("/root/main/extninfo/oprinfo/anstmthdcd");
  1007. mcdnm = model.getValue("/root/main/extninfo/oprinfo/anstmthdnm");
  1008. if(parent.window.javascript.fGetFormRec("status") == "U"){
  1009. node = model.instance1.selectSingleNode(gPageInfo.recItemRef2+"[degnitemlevlcd='0000248.0015528']");
  1010. if (node != null) {
  1011. anstmthdcd = node.getXPathString("rectermcd");
  1012. mcdnm = node.getXPathString("rectermnm");
  1013. }
  1014. }
  1015. //부마취
  1016. anstmthdcdsub = model.getValue("/root/main/extninfo/oprinfo/anstmthdcdsub");
  1017. scdnm = model.getValue("/root/main/extninfo/oprinfo/anstmthdcdsubnm");
  1018. if(parent.window.javascript.fGetFormRec("status") == "U"){
  1019. node = model.instance1.selectSingleNode(gPageInfo.recItemRef2+"[degnitemlevlcd='0000248.0008458']");
  1020. if (node != null) {
  1021. anstmthdcdsub = node.getXPathString("rectermcd");
  1022. scdnm = node.getXPathString("rectermnm");
  1023. }
  1024. }
  1025. var pageInfo = new PAGEINFO();
  1026. var iptMObj = document.controls("ipt_mcdnm");
  1027. var iptSObj = document.controls("ipt_scdnm");
  1028. //2010.01.18 dhkim - 마취바인딩 무조건 rectermcd, rectermnm으로 변경
  1029. if(anstmthdcd == null || anstmthdcd == ""){
  1030. anstmthdcd = "-";
  1031. }
  1032. if(anstmthdcdsub == null || anstmthdcdsub == ""){
  1033. anstmthdcdsub = "-";
  1034. }
  1035. //주마취
  1036. model.setValue("/root/main/recinfo/recitem[degnitemlevlcd='" + iMcdnm + "']/rectermcd", anstmthdcd);
  1037. model.setValue("/root/main/recinfo/recitem[degnitemlevlcd='" + iMcdnm + "']/rectermnm", mcdnm);
  1038. iptMObj.attribute("ref") = pageInfo.recItemRef + "[degnitemlevlcd='" + iMcdnm + "']/rectermnm";
  1039. //부마취
  1040. model.setValue("/root/main/recinfo/recitem[degnitemlevlcd='" + iScdnm + "']/rectermcd", anstmthdcdsub);
  1041. model.setValue("/root/main/recinfo/recitem[degnitemlevlcd='" + iScdnm + "']/rectermnm", scdnm);
  1042. iptSObj.attribute("ref") = pageInfo.recItemRef + "[degnitemlevlcd='" + iScdnm + "']/rectermnm";
  1043. iptMObj.refresh();
  1044. iptSObj.refresh();
  1045. /*
  1046. if (anstmthdcd != "" && mcdnm != "")
  1047. {
  1048. //주마취
  1049. model.setValue("/root/main/recinfo/recitem[degnitemlevlcd='" + iMcdnm + "']/rectermcd", anstmthdcd);
  1050. model.setValue("/root/main/recinfo/recitem[degnitemlevlcd='" + iMcdnm + "']/rectermnm", mcdnm);
  1051. iptMObj.attribute("ref") = pageInfo.recItemRef + "[degnitemlevlcd='" + iMcdnm + "']/rectermnm";
  1052. }
  1053. else
  1054. {
  1055. iptMObj.attribute("ref") = pageInfo.recItemRef + "[degnitemlevlcd='" + iMcdnm + "']/reccnts";
  1056. }
  1057. if (anstmthdcdsub != "" && scdnm != "")
  1058. {
  1059. //부마취
  1060. model.setValue("/root/main/recinfo/recitem[degnitemlevlcd='" + iScdnm + "']/rectermcd", anstmthdcdsub);
  1061. model.setValue("/root/main/recinfo/recitem[degnitemlevlcd='" + iScdnm + "']/rectermnm", scdnm);
  1062. iptSObj.attribute("ref") = pageInfo.recItemRef + "[degnitemlevlcd='" + iScdnm + "']/rectermnm";
  1063. }
  1064. else
  1065. {
  1066. iptSObj.attribute("ref") = pageInfo.recItemRef + "[degnitemlevlcd='" + iScdnm + "']/reccnts";
  1067. }
  1068. */
  1069. }
  1070. /**
  1071. * @desc : 마취과코드조회(간호공통테이블에서조회)
  1072. * @ver : 2010.01.25 dhkim 추가
  1073. */
  1074. function fGetNursHardCdInfo_MMR00901(pCode, pDate){
  1075. model.removeNodeset("/root/send_mmr00901");
  1076. model.removeNodeset("/root/code_mmr00901");
  1077. model.makeNode("/root/code_mmr00901");
  1078. model.makeValue("/root/send_mmr00901/cdgrupid", pCode); // 조회할 CdGrupID 코드정보
  1079. model.makeValue("/root/send_mmr00901/srchdd" , pDate); // 조회기준일자
  1080. submit("TRMMR00902",false);
  1081. }
  1082. /**
  1083. * @desc : 2010.01.25 dhkim - 추가) 저장전 체크 로직
  1084. * @id :
  1085. * @event : xforms-ready
  1086. * @return : void
  1087. * @authur : dhkim
  1088. */
  1089. function fChkPreSave()
  1090. {
  1091. //2010.01.25 dhkim - DSC는 마취종류 주, 부 필수체크 안하여 주석처리함.
  1092. /*
  1093. //2010.01.25 dhkim 마취종류 주, 부 필수체크
  1094. //(degnitemkind='STX'이나 데이터는 rectermcd, rectermnm에 들어가므로 EMRCommon.js에서 필수체크할수 없음)
  1095. //주마취
  1096. var anstmthdcd = model.getValue("/root/main/recinfo/recitem[degnitemlevlcd='" + iMcdnm + "']/rectermcd");
  1097. var anstmthdnm = model.getValue("/root/main/recinfo/recitem[degnitemlevlcd='" + iMcdnm + "']/rectermnm");
  1098. //default값세팅
  1099. if(anstmthdcd == null || anstmthdcd == ""){
  1100. anstmthdcd = "-";
  1101. model.setValue("/root/main/recinfo/recitem[degnitemlevlcd='" + iMcdnm + "']/rectermcd", anstmthdcd);
  1102. model.refresh();
  1103. }
  1104. if(anstmthdnm == null || anstmthdnm == ""){
  1105. messageBox("마취종류(주)는 필수 입력입니다.", "E");
  1106. return false;
  1107. }
  1108. //부마취
  1109. var anstmthdcdsub = model.getValue("/root/main/recinfo/recitem[degnitemlevlcd='" + iScdnm + "']/rectermcd");
  1110. var anstmthdcdsubnm = model.getValue("/root/main/recinfo/recitem[degnitemlevlcd='" + iScdnm + "']/rectermnm");
  1111. //default값세팅
  1112. if(anstmthdcdsub == null || anstmthdcdsub == ""){
  1113. anstmthdcdsub = "-";
  1114. model.setValue("/root/main/recinfo/recitem[degnitemlevlcd='" + iScdnm + "']/rectermcd", anstmthdcdsub);
  1115. model.refresh();
  1116. }
  1117. if(anstmthdcdsubnm == null || anstmthdcdsubnm == ""){
  1118. messageBox("마취종류(부)는 필수 입력입니다.", "E");
  1119. return false;
  1120. }
  1121. */
  1122. }