MMR01202.xjs 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/**
  3. * MMR01201.js
  4. * SMMMR01201_재평가기록.xrw:20150107 이윤주
  5. * /
  6. /**
  7. * @desc : [item코드목록]
  8. * "0000931001" 주호소
  9. * "0001173001" 현병력
  10. * "0000098001" 과거력
  11. * "0000079001" 계통문진
  12. * "0000570001" 신체검진
  13. * "0001019001" 추정진단
  14. * "0022826001" Care Plan
  15. * "0013328001" 퇴원계획
  16. * "0006747001" 환자및보호자교육
  17. * [버튼목록]
  18. * "btn_imge_0001173001"
  19. * "btn_etcrec_0001173001"
  20. * "btn_imge_0000098001"
  21. * "btn_fmy_0000098001"
  22. * "btn_etcrec_0000098001"
  23. * "btn_imge_0000079001"
  24. * "btn_etcrec_0000079001"
  25. * "btn_imge_0000570001"
  26. * "btn_etcrec_0000570001"
  27. * "btn_etcrec_0001019001"
  28. * "btn_dsch_0013328001"
  29. * "btn_edu_0006747001"
  30. */
  31. var gItemCds = new Array(
  32. "0000931001"//주호소
  33. , "0000079001"//계통문진
  34. , "0000570001"//신체검진
  35. , "0001019001"//추정진단
  36. , "0022826001"//Care Plan
  37. , "0013328001"//퇴원계획
  38. );
  39. var gItemCdsTextArea = new Array(
  40. "0000931001"//주호소
  41. , "0000079001"//계통문진
  42. , "0000570001"//신체검진
  43. , "0001019001"//추정진단
  44. , "0022826001"//Care Plan
  45. , "0013328001"//퇴원계획
  46. );
  47. /**
  48. * @desc : 확장버튼(이미지,가계도,추가기록)을 기록여부에 따라 표시를 위한 버튼목록
  49. * @id :
  50. * @authur : dhkim
  51. * @history : 2009.12.03 신규
  52. */
  53. var gExtnBtnIds = new Array(
  54. "btn_imge_0000079001"
  55. , "btn_etcrec_0000079001"
  56. , "btn_imge_0000570001"
  57. , "btn_etcrec_0000570001"
  58. , "btn_etcrec_0001019001"
  59. );
  60. var gLoadFormCnts = 0;
  61. /****************************************************************************************
  62. * Function : fFormReady()
  63. * Description : 화면 로딩후 초기화 작업 수행
  64. * retrun type :
  65. ****************************************************************************************/
  66. function fFormReady()
  67. {
  68. this.ComnFormObj = this.grup_base;
  69. dsf_createDsRow("ds_temp_mainrecitem",
  70. [{col:"formxrw", val:""}]);
  71. // 공통서식의 초기 recitem 정보. 기록 데이터 조합시 사용
  72. ds_temp_mainrecitem.assign(ds_data_recitem);
  73. //섹션사이즈초기화
  74. lf_setSectionSize(gItemCds, "grup_base.tar_0000931001", "grup_base.tar_0013328001");
  75. //섹션별 버튼초기화
  76. InitBtnImge(gItemCds);
  77. InitBtnFmy(gItemCds);
  78. InitBtnEtcRec(gItemCds);
  79. // InitBtnComn(gItemCds);
  80. InitBtnDiag("0001019001");//0001019001: 추정진단
  81. //기본 첫번째 부분서식을 로딩해서 보여준다.
  82. // dispOnLoadComplete(COMN_FORM);//COMN_FORM : 1
  83. //2010.01.21, hkjoo
  84. // initCmbExtnList(gItemCds);
  85. // lf_checkUnitForm(gItemCds); // 부분서식 로딩
  86. lf_AllLoadUnitFormExpand(gItemCds); // 전체 로딩
  87. lf_setRecData(gItemCds);
  88. }
  89. /****************************************************************************************
  90. * Function : fLoadData
  91. * Description : 기록데이터 조회
  92. * retrun type :
  93. ****************************************************************************************/
  94. function fLoadData()
  95. {
  96. lf_setRecData(gItemCds);
  97. /*
  98. InitPgmFormData();
  99. InitUnitFormData(gItemCds);
  100. */
  101. }
  102. /****************************************************************************************
  103. * Function : fLoadUnitForm()
  104. * Description : 부분서식 로딩
  105. * retrun type :
  106. ****************************************************************************************/
  107. function fLoadUnitForm()
  108. {
  109. initSection(gItemCds);
  110. }
  111. /****************************************************************************************
  112. * Function : fOnLoadComplete()
  113. * Description : 부분서식 로딩후 후처리
  114. * retrun type :
  115. ****************************************************************************************/
  116. function fOnLoadComplete()
  117. {
  118. var curLoadFormCd = this.frmf_getParameter("loadformcd");
  119. var arrUnitformmast = objExt.findRows(ds_data_unitformmast, "formcd", curLoadFormCd);
  120. var fstLevlItemCd = "";
  121. for(var i = 0; i < arrUnitformmast.length; i++){
  122. var unitformload = ds_data_unitformmast.getColumn(arrUnitformmast[i], "loaded");
  123. if(unitformload != "true"){
  124. fstLevlItemCd = ds_data_unitformmast.getColumn(arrUnitformmast[i], "orgsupdegnitemcd");
  125. var ivwObj = ComnFormObj.components["ivw_" + fstLevlItemCd];
  126. if(!utlf_isNull(ivwObj))
  127. {
  128. var idx = ds_data_unitformmast.findRow("orgsupdegnitemcd", fstLevlItemCd );
  129. ds_data_unitformmast.setColumn(idx, "loaded", "true");
  130. //setFstLevlItemCdOnUnitForm(ivwObj, ds_data_unitformmast.getColumn(arrUnitformmast[i], "orgsupdegnitemno"));//부분서식의 아이템에 부분서식 상위코드를 세팅
  131. break;
  132. }
  133. }
  134. }
  135. if (fstLevlItemCd == "0000931001" || fstLevlItemCd == "0022826001" ) {
  136. //주호소,care plan,퇴원계획
  137. fSetSizeFormCC(fstLevlItemCd);
  138. }
  139. //확장서식 데이터 값 매핑
  140. //jw.choe 주석처리
  141. //fExtnInitFormRec();
  142. gLoadFormCnts++;
  143. utlf_addLog("@@@@@ gItemCds.length : " + gItemCds.length + " gLoadFormCnts : " + gLoadFormCnts );
  144. if(gItemCds.length == gLoadFormCnts)
  145. {
  146. dispOnLoadComplete(UNIT_FORM);
  147. //서식 로딩 후 포커스 처리
  148. if (parent.fGetFormRec("status") == "C")
  149. {
  150. SetDefFocusMTX(gItemCds);
  151. }
  152. }
  153. //2010.04.14 dhkim 환자교육 날짜 default
  154. //jw.choe 주석처리
  155. //fSetEduDt();
  156. }
  157. /****************************************************************************************
  158. * Function : fGetDefData()
  159. * Description : 동일 서식이 떠있을 경우 내부 인스턴스 로딩 후 디폴트 조회내용 조회
  160. * retrun type :
  161. ****************************************************************************************/
  162. function fGetDefData()
  163. {
  164. dispOnLoadComplete(UNIT_FORM);
  165. if (parent.fGetFormRec("status") == "C")
  166. {
  167. SetDefFocusMTX(gItemCds);//공통기록 디폴트 포커스처리(MTX)
  168. }
  169. }
  170. /****************************************************************************************
  171. * Function : fSetSizeFormCC()
  172. * Description : 서식 주호소 화면 로딩 후 사이즈 조절
  173. * care plan 화면 로딩 후 사이즈 조절
  174. * 퇴원계획화면 로딩 후 사이즈 조절
  175. * retrun type :
  176. ****************************************************************************************/
  177. function fSetSizeFormCC(gItemCd_MMR00401)
  178. {
  179. //서식 주호소 화면 로딩
  180. if(gItemCd_MMR00401 == "0000931001")
  181. grup_base.ivw_0000931001.fInitPage(false, parseInt(grup_base.ivw_0000931001.position.height), parseInt(grup_base.ivw_0000931001.position.width));
  182. //Care Plan 화면 로딩
  183. else if(gItemCd_MMR00401 == "0022826001")//상용구팝업 hidden
  184. grup_base.ivw_0022826001.fInitPage(true, parseInt(grup_base.ivw_0022826001.position.height), parseInt(grup_base.ivw_0022826001.position.width));
  185. }
  186. /**
  187. * @group :
  188. * @ver : 2009.12.04
  189. * @by : dhkim
  190. * @---------------------------------------------------
  191. * @type : function
  192. * @access : private
  193. * @desc : 부분서식 로딩
  194. * (0022826001) Care Plan,
  195. * (0013328001) 퇴원계획,
  196. * (0006747001) 환자및보호자교육
  197. * @param : gItemCds
  198. * @return :
  199. * @---------------------------------------------------
  200. */
  201. function loadUnitForm_MMR00401(itemCds){
  202. var pageInfo = new PAGEINFO();
  203. copyNodeset("/root/main", "/root/main", "replace", model, parent.model);
  204. model.removeNodeset("/root/main/recinfo");
  205. makeRefByDegnitemno();
  206. for (var i = 0; i < itemCds.length; i++)
  207. {
  208. var formdegnseq = model.getValue(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+itemCds[i]+"']/formdegnseq");
  209. var unitformcd = model.getValue(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+itemCds[i]+"']/formcd");
  210. var ivwObj = document.controls("ivw_" + itemCds[i]);
  211. var tarObj = document.controls("tar_" + itemCds[i]);
  212. if( itemCds[i] == "0022826001" //care plan
  213. // || itemCds[i] == "0013328001" //퇴원계획
  214. // || itemCds[i] == "0006747001" //환자및보호자교육
  215. ){
  216. ivwObj.visible = true;
  217. tarObj.visible = false;
  218. var unitformprogflag = model.getValue(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+itemCds[i]+"']/formprogflag");
  219. ivwObj.attribute("supdegnitemcd") = itemCds[i];
  220. ivwObj.attribute("unitformcd") = unitformcd;
  221. model.addLog(unitformcd + " Loading 시작 : " + getCurrentTime());
  222. //alert("loadUnitForm_MMR00401::"+itemCds[i]);
  223. loadUnitForm(ivwObj, itemCds[i]);
  224. model.addLog(unitformcd + " Loading 끝 : " + getCurrentTime());
  225. }
  226. }
  227. }
  228. /****************************************************************************************
  229. * Function : expandSection_MMR00401
  230. * Description : care plan ivw 확대
  231. * retrun type :
  232. ****************************************************************************************/
  233. function expandSection_MMR00401(obj, e){
  234. var ctrlID = obj.name;
  235. var itemcd = ctrlID.replace("lbl_", "");
  236. var bFold = itemcd == gMaxSectionID ? true : false;
  237. var ctrl = null;
  238. var unitformcd = "";
  239. var itemCds = gItemCds;
  240. for (var i = 0; i < itemCds.length; i++)
  241. {
  242. var secCtrl = ComnFormObj.components["lbl_" + itemCds[i]];
  243. var nFindRow = ds_data_unitformmast.findRow("orgsupdegnitemcd", itemCds[i]);
  244. var formdegnseq = ds_data_unitformmast.getColumn(nFindRow, "formdegnseq");
  245. unitformcd = ds_data_unitformmast.getColumn(nFindRow, "formcd");
  246. if(utlf_isNull(formdegnseq))
  247. ctrl = ComnFormObj.components["tar_" + itemCds[i]];
  248. else
  249. ctrl = ComnFormObj.components["ivw_" + itemCds[i]];
  250. //20100106 dhkim ivw 축소/확장
  251. if(itemcd == itemCds[i]){
  252. if(bFold){
  253. ctrl.position.height = gMaxSectionHei;
  254. if (unitformcd == "0900006875")//care plan 상용구 hidden
  255. {
  256. ctrl.fInitPage(true, parseInt(gMaxSectionHei), parseInt(ctrl.position.width));
  257. }else{
  258. ctrl.fInitPage(false, parseInt(gMaxSectionHei), parseInt(ctrl.position.width));
  259. }
  260. }else{
  261. ctrl.position.height = ctrl.orgheight;
  262. if (unitformcd == "0900006875")//care plan 상용구 hidden
  263. {
  264. ctrl.fInitPage(true, parseInt(ctrl.orgheight), parseInt(ctrl.position.width));
  265. }else{
  266. ctrl.fInitPage(false, parseInt(ctrl.orgheight), parseInt(ctrl.position.width));
  267. }
  268. }
  269. }
  270. }
  271. }
  272. /**
  273. * @group :
  274. * @ver : 2009.10.09
  275. * @by :
  276. * @---------------------------------------------------
  277. * @type : function
  278. * @access : private
  279. * @desc :
  280. * @param :
  281. * @return :
  282. * @---------------------------------------------------
  283. */
  284. function setInterfaceData()
  285. {
  286. // alert("setInterfaceData");
  287. var ifItemCds = new Array(
  288. "0000931001"//주호소
  289. , "0000079001"//계통문진
  290. , "0000570001"//신체검진
  291. , "0001019001"//추정진단
  292. , "0022826001"//Care Plan
  293. );
  294. copyNodeset(gPageInfo.recItemRef2, "/root/main/recifinfo/recitem", "replace", model, parent.model);
  295. setSrchData(gPageInfo.recItemRef2 , window);
  296. InitUnitFormData(ifItemCds);
  297. setButtonToggleAllByRecYn(window, gExtnBtnIds);
  298. }
  299. /**
  300. * @desc : 서식 데이터 Clear
  301. * @id :
  302. * @event : xforms-ready
  303. * @return : void
  304. * @authur : 박종훈
  305. */
  306. function fClearComnFormData()
  307. {
  308. if (gMaxSectionID != "")
  309. {
  310. var MaxObj = document.controls("lbl_" + gMaxSectionID);
  311. MaxObj.dispatch("onclick");
  312. }
  313. ClearComnFormData(gItemCds);
  314. clearData();
  315. //포커스 처리
  316. SetDefFocusMTX(gItemCds);
  317. }
  318. /**
  319. * @desc : 기록 인스턴스 연결
  320. * @id :
  321. * @event : xforms-ready
  322. * @return : void
  323. * @authur : 박종훈
  324. */
  325. function fSetRecItemValue(reciteminfo)
  326. {
  327. return SetCommMediFormValue(gItemCds, reciteminfo);
  328. }
  329. /****************************************************************************************
  330. * Function : fChkPreSave
  331. * Description : 저장전 체크 로직
  332. * 2010.01.06 dhkim - (care plan, 퇴원계획)필수체크 추가
  333. * "0022826001"//Care Plan
  334. * "0013328001"//퇴원계획
  335. * retrun type :
  336. ****************************************************************************************/
  337. function fChkPreSave()
  338. {
  339. var nFindRow = ds_data_formdegn.findRow("degnitemcd", "0022826001");
  340. var itemNm = ds_data_formdegn.getColumn(nFindRow, "itemnm");
  341. var rtnVal = grup_base.ivw_0022826001.fChkGrdPreSave(itemNm,true);
  342. if(rtnVal == false){
  343. return rtnVal;
  344. }
  345. }
  346. /**
  347. * @group :
  348. * @ver : 2008.09.02
  349. * @by : jonghun
  350. * @---------------------------------------------------
  351. * @type : function
  352. * @access : private
  353. * @desc : 추가기록창 팝업처리
  354. * @param :
  355. * @return :
  356. * @---------------------------------------------------
  357. */
  358. function fEtcRec()
  359. {
  360. //setParameter("etc_rec", "추가 기타기록 테스트입니다...");
  361. modal("SPMMR06100");
  362. var recrtn = getParameter("etcrec_rtn");
  363. if (recrtn != "")
  364. {
  365. model.setValue("/root/main/recinfo/recitem[degnitemlevlcd='0000098.0008458']/reccnts", recrtn);
  366. setParameter("etc_rec", recrtn);
  367. }
  368. //alert(recrtn);
  369. }
  370. /**
  371. * @desc : Value List데이터 아이템 값 매핑
  372. * @
  373. * @param :
  374. * @return :
  375. * @authur : 박종훈
  376. */
  377. function fSetDataValItem()
  378. {
  379. var pageInfo = new PAGEINFO();
  380. //model.removenode(pageInfo.formdegnRef + "[degnitemno = '"+cEduyn+"']/itemnm");
  381. //model.makenode(pageInfo.formdegnRef + "[degnitemno = '"+cEduyn+"']/itemnm");
  382. }
  383. /**
  384. * @desc : 확장서식 기록 초기 설정
  385. * @
  386. * @param :
  387. * @return :
  388. * @authur : 박종훈
  389. */
  390. function fExtnInitFormRec()
  391. {
  392. // alert("-----fExtnInitFormRec");
  393. fSetDataValItem();
  394. }
  395. /**
  396. * @desc : 퇴원요구도/교육요구도 jci 팝업 호출
  397. * @
  398. * @param :
  399. * @return :
  400. * @authur : dhkim 20091216
  401. */
  402. function fPopEduDsch_SMMMR00401(){
  403. var pid = parent.window.javascript.fGetPamInfo("pid");
  404. var indd = parent.window.javascript.fGetPamInfo("indd");
  405. var cretno = parent.window.javascript.fGetPamInfo("cretno");
  406. setParameter("SPMRJ00300_pid", pid);
  407. setParameter("SPMRJ00300_orddd", indd);
  408. setParameter("SPMRJ00300_cretno", cretno);
  409. modal("SPMRJ00300", 1, 0, 0, "", "", "");
  410. }
  411. /****************************************************************************************
  412. * Function : getSubmitID_MMR01300I
  413. * Description : MMR01300.js에서 submit직전에 submitID를 설정하기 위해서 호출한다.
  414. * retrun type :
  415. ****************************************************************************************/
  416. function getSubmitID_MMR01300I(flag) {
  417. //2010.02.23 dhkim - 통합기록조회용 JCI구분자추가(fSetXsltFlag없애고 getSubmitID_MMR01300I로 이동)
  418. parent.fSetFormRec("xsltflag", "JCI2");
  419. //2010.03.12 안치원 - 수정없이 staff-sign할때 xsltflag가 들어가지 않는 오류수정
  420. if (utlf_isNull(flag)) {
  421. parent.fSetFormRec("addexecflag", "careplan;patedu");
  422. return TX_SUBMIT_EXTN_FORM;
  423. }
  424. }
  425. /****************************************************************************************
  426. * Function : initFormAtLast_MMR01100I
  427. * Description : MMR01100.js에서 서식load를 완료한 후에 호출한다.
  428. * retrun type :
  429. ****************************************************************************************/
  430. function initFormAtLast_MMR01100I() {
  431. utlf_addLog("***** initFormAtLast_MMR01100I() *****");
  432. //grup_base.ivw_0022826001.fAddrow();
  433. var flag = false;
  434. if (parent.fGetFormRec("status") == "U" ) {
  435. if (parent.fGetFormRec("espiyn") == "Y") {
  436. var sSendDsNm = dsf_createDs("ds_send_extninfo", [{col: "infoflag" , type:"STRING", size:256}
  437. , {col: "formrecseq" , type:"BIGDECIMAL", size:256}
  438. , {col: "oprsrvno" , type:"STRING", size:256}
  439. , {col: "opendyn" , type:"STRING", size:256}
  440. , {col: "skinprepyn" , type:"STRING", size:256}
  441. , {col: "pid" , type:"STRING", size:256}
  442. , {col: "orddd" , type:"STRING", size:256}
  443. , {col: "cretno" , type:"STRING", size:256}
  444. , {col: "fromsrcformcd" , type:"STRING", size:256}
  445. , {col: "toformcd" , type:"STRING", size:256}
  446. , {col: "indd" , type:"STRING", size:256}
  447. , {col: "dschdd" , type:"STRING", size:256}
  448. , {col: "standd" , type:"STRING", size:256}
  449. , {col: "deptcd" , type:"STRING", size:256}
  450. , {col: "jobkindcd" , type:"STRING", size:256}
  451. , {col: "fstlevlitembasecds", type:"STRING", size:256}
  452. , {col: "srcformcd" , type:"STRING", size:256}
  453. , {col: "formrecdd" , type:"STRING", size:256}
  454. , {col: "anstdeptcd" , type:"STRING", size:256}
  455. , {col: "opdd" , type:"STRING", size:256}
  456. , {col: "recdataflag" , type:"STRING", size:256}
  457. , {col: "formrecdeptcd" , type:"STRING", size:256}
  458. , {col: "condflag" , type:"STRING", size:256}
  459. , {col: "orddeptcd" , type:"STRING", size:256}]);
  460. var objSendDS:Dataset = new Dataset;
  461. objSendDS = this.objects[sSendDsNm];
  462. objSendDS.addRow();
  463. //2010.01.15 안치원 - 입원초진기록JCI Staff-Sign 막음.
  464. //2010.02.25 dhkim - staff-sign주석해제
  465. flag = true;
  466. objSendDS.setColumn(0, "infoflag", "staffauth");
  467. objSendDS.setColumn(0, "formrecseq", parent.fGetFormRec("formrecseq"));
  468. }
  469. } else if (parent.fGetFormRec("status") == "C" ) {
  470. //2010.04.29 안치원 - 응급실,DSC경유 입원환자는 간호입실일자를 진료일자로하여 입원초진기록을 작성한다.
  471. //2010.04.29 dhkim - 응급실,DSC경유 입원환자 진료시간도 간호입실시간으로하여 입원초진기록을 작성한다.
  472. var ordtype = parent.fGetPamInfo("ioflag");
  473. var orgordtype = parent.fGetPamInfo("orgordtype");
  474. var careinrmdd = parent.fGetPamInfo("careinrmdd");
  475. var careinrmtm = parent.fGetPamInfo("careinrmtm");
  476. }
  477. if (flag) {
  478. // return dataset set
  479. var sRtnDsNm_1 = dsf_createDs("ds_main_extninfo_resultinfo", [{col: "infoflag", type:"STRING", size:256}]);
  480. var objRtnDS_1:Dataset = new Dataset;
  481. objSendDS_1 = this.objects[sRtnDsNm_1];
  482. var sRtnDsNm_2 = dsf_createDs("ds_main_extninfo_staffauthinfo", [{col: "authyn", type:"STRING", size:256}]);
  483. var objRtnDS_2:Dataset = new Dataset;
  484. objSendDS_2 = this.objects[sRtnDsNm_2];
  485. var sRtnDsNm_3 = dsf_createDs("ds_main_extninfo_oprinfo", [{col: "oprsrvno" , type:"STRING", size:256}
  486. , {col: "opcnfmdd" , type:"STRING", size:256}
  487. , {col: "opcnfmhm" , type:"STRING", size:256}
  488. , {col: "perfdeptcd" , type:"STRING", size:256}
  489. , {col: "perfdrid" , type:"STRING", size:256}
  490. , {col: "perfdrnm" , type:"STRING", size:256}
  491. , {col: "assdrid" , type:"STRING", size:256}
  492. , {col: "assdrnm" , type:"STRING", size:256}
  493. , {col: "oproomcd" , type:"STRING", size:256}
  494. , {col: "anstdrid" , type:"STRING", size:256}
  495. , {col: "anstdrnm" , type:"STRING", size:256}
  496. , {col: "anstmthdcd" , type:"STRING", size:256}
  497. , {col: "anstmthdnm" , type:"STRING", size:256}
  498. , {col: "anstmthdcdsub" , type:"STRING", size:256}
  499. , {col: "anstmthdcdsubnm" , type:"STRING", size:256}
  500. , {col: "skinprepcc" , type:"STRING", size:256}
  501. , {col: "perfdrnm2" , type:"STRING", size:256}
  502. , {col: "perfdrnm3" , type:"STRING", size:256}
  503. , {col: "assdrnm2" , type:"STRING", size:256}
  504. , {col: "assdrnm3" , type:"STRING", size:256}
  505. , {col: "assdrnm4" , type:"STRING", size:256}]);
  506. var objRtnDS_3:Dataset = new Dataset;
  507. objRtnDS_3 = this.objects[sRtnDsNm_3];
  508. var sRtnDsNm_4 = dsf_createDs("ds_main_extninfo_oplistinfo", [{col: "opinfo" , type:"STRING", size:256}
  509. , {col: "oprsrvno" , type:"STRING", size:256}
  510. , {col: "deptcd" , type:"STRING", size:256}
  511. , {col: "depthngnm" , type:"STRING", size:256}
  512. , {col: "opcnfmdd" , type:"STRING", size:256}]);
  513. var objRtnDS_4:Dataset = new Dataset;
  514. objRtnDS_4 = this.objects[sRtnDsNm_4];
  515. var sRtnDsNm_5 = dsf_createDs("ds_main_extninfo_recitem", [{col: "instcd" , type:"STRING", size:256}
  516. , {col: "rechistseq" , type:"BIGDECIMAL", size:256}
  517. , {col: "recitemno" , type:"INT", size:256}
  518. , {col: "fstlevlitemcd" , type:"STRING", size:256}
  519. , {col: "formcd" , type:"STRING", size:256}
  520. , {col: "formdegnseq" , type:"BIGDECIMAL", size:256}
  521. , {col: "degnitemno" , type:"INT", size:256}
  522. , {col: "degnitemcd" , type:"STRING", size:256}
  523. , {col: "degnitemkind" , type:"STRING", size:256}
  524. , {col: "degnitemlevlno" , type:"STRING", size:256}
  525. , {col: "degnitemnm" , type:"STRING", size:256}
  526. , {col: "degnitemlevlcd" , type:"STRING", size:256}
  527. , {col: "rectermcd" , type:"STRING", size:256}
  528. , {col: "rectermnm" , type:"STRING", size:256}
  529. , {col: "recrefcd" , type:"STRING", size:256}
  530. , {col: "recitemnm" , type:"STRING", size:256}
  531. , {col: "reccnts" , type:"STRING", size:256}
  532. , {col: "unitnm" , type:"STRING", size:256}
  533. , {col: "recimge" , type:"BLOB", size:256}
  534. , {col: "srcimge" , type:"BLOB", size:256}
  535. , {col: "rowno" , type:"STRING", size:256}
  536. , {col: "colno" , type:"STRING", size:256}
  537. , {col: "supdegnitemno" , type:"INT", size:256}
  538. , {col: "extdegnitemlevlcd" , type:"STRING", size:256}
  539. , {col: "rectermflag" , type:"STRING", size:256}
  540. , {col: "degnunitcd" , type:"STRING", size:256}]);
  541. var objRtnDS_5:Dataset = new Dataset;
  542. objRtnDS_5 = this.objects[sRtnDsNm_5];
  543. //dsf_setTypeFormat(objRtnDS_5, "recitemno:INT^degnitemno:INT^supdegnitemno:INT");
  544. var sRtnDsNm_6 = dsf_createDs("ds_main_extninfo_drlistinfo", [{col: "userid" , type:"STRING", size:256}
  545. , {col: "usernm" , type:"STRING", size:256}
  546. , {col: "mpphonno" , type:"STRING", size:256}
  547. , {col: "refseq" , type:"STRING", size:256}]);
  548. var objRtnDS_6:Dataset = new Dataset;
  549. objRtnDS_6 = this.objects[sRtnDsNm_6];
  550. var sRtnDsNm_7 = dsf_createDs("ds_data_diagcdlist", [{col: "diagkindcd" , type:"STRING", size:256}
  551. , {col: "diagkindcdflag" , type:"STRING", size:256}
  552. , {col: "icd10cd" , type:"STRING", size:256}
  553. , {col: "icd10cd" , type:"STRING", size:256}
  554. , {col: "diagengnm" , type:"STRING", size:256}
  555. , {col: "termhngnm" , type:"STRING", size:256}]);
  556. var objRtnDS_7:Dataset = new Dataset;
  557. objRtnDS_7 = this.objects[sRtnDsNm_7];
  558. var sRtnDsNm_8 = dsf_createDs("ds_main_extninfo_selectoplist", [{col: "opcd" , type:"STRING", size:256}
  559. , {col: "opengnm" , type:"STRING", size:256}]);
  560. var objRtnDS_8:Dataset = new Dataset;
  561. objRtnDS_8 = this.objects[sRtnDsNm_8];
  562. var sRtnDsNm_9 = dsf_createDs("ds_main_extninfo_dscinoutinfo", [{col: "nurin" , type:"STRING", size:256}
  563. , {col: "nurout" , type:"STRING", size:256}
  564. , {col: "oprin" , type:"STRING", size:256}
  565. , {col: "oprout" , type:"STRING", size:256}]);
  566. var objRtnDS_9:Dataset = new Dataset;
  567. objRtnDS_9 = this.objects[sRtnDsNm_9];
  568. var sRtnDsNm_10 = dsf_createDs("ds_main_extninfo_rectextinfo", [{col: "fstlevlitembasecd" , type:"STRING", size:256}
  569. , {col: "viewcnts" , type:"STRING", size:256}]);
  570. var objRtnDS_10:Dataset = new Dataset;
  571. objRtnDS_10 = this.objects[sRtnDsNm_10];
  572. var sRtnDsNm_11 = dsf_createDs("ds_main_extninfo_anstdrlistinfo", [{col: "userid" , type:"STRING", size:256}
  573. , {col: "usernm" , type:"STRING", size:256}
  574. , {col: "mpphonno" , type:"STRING", size:256}
  575. , {col: "refseq" , type:"STRING", size:256}]);
  576. var objRtnDS_11:Dataset = new Dataset;
  577. objRtnDS_11 = this.objects[sRtnDsNm_11];
  578. var sRtnDsNm_12 = dsf_createDs("ds_main_extninfo_oproomlistinfo", [{col: "oproomcd" , type:"STRING", size:256}
  579. , {col: "oproomnm" , type:"STRING", size:256}]);
  580. var objRtnDS_12:Dataset = new Dataset;
  581. objRtnDS_12 = this.objects[sRtnDsNm_12];
  582. var sRtnDsNm_13 = dsf_createDs("ds_main_extninfo_recseqinfo", [{col: "formrecseq" , type:"STRING", size:256}]);
  583. var objRtnDS_13:Dataset = new Dataset;
  584. objRtnDS_13 = this.objects[sRtnDsNm_13];
  585. var sRtnDsNm_14 = dsf_createDs("ds_main_extninfo_etcinfo", [{col: "col0" , type:"STRING", size:256}
  586. , {col: "col1" , type:"STRING", size:256}
  587. , {col: "col2" , type:"STRING", size:256}
  588. , {col: "col3" , type:"STRING", size:256}
  589. , {col: "col4" , type:"STRING", size:256}
  590. , {col: "col5" , type:"STRING", size:256}
  591. , {col: "col6" , type:"STRING", size:256}
  592. , {col: "col7" , type:"STRING", size:256}
  593. , {col: "col8" , type:"STRING", size:256}
  594. , {col: "col9" , type:"STRING", size:256}]);
  595. var objRtnDS_14:Dataset = new Dataset;
  596. objRtnDS_14 = this.objects[sRtnDsNm_14];
  597. var oParam = {};
  598. oParam.id = "TRMMR01302";
  599. oParam.service = "medirecapp.RecIf";
  600. oParam.method = "reqGetFormRecExtnInfo";
  601. oParam.inds = "req="+sSendDsNm;
  602. oParam.outds = sRtnDsNm_1+"=resultinfo "+sRtnDsNm_2+"=staffauthinfo "+sRtnDsNm_3+"=oprinfo "+sRtnDsNm_4+"=oplistinfo "
  603. +sRtnDsNm_5+"=recitem "+sRtnDsNm_6+"=drlistinfo "+sRtnDsNm_7+"=diagcdlist "+sRtnDsNm_8+"=selectoplist "
  604. +sRtnDsNm_9+"=dscinoutinfo "+sRtnDsNm_10+"=rectextinfo "+sRtnDsNm_11+"=anstdrlistinfo "+sRtnDsNm_12+"=oproomlistinfo "
  605. +sRtnDsNm_13+"=recseqinfo "+sRtnDsNm_14+"=etcinfo";
  606. oParam.async = false;
  607. oParam.callback = "cf_TRMMR01302";
  608. tranf_submit(oParam);
  609. if( arErrorCode.pop("TRMMR01302") > -1){
  610. var execInfoFlag = objRtnDS_1.getColumn(0, "infoflag");
  611. if (execInfoFlag.indexOf("staffauth;") != -1) {
  612. fCosignCheck_SMMMR00401();
  613. }
  614. }
  615. }
  616. }
  617. function cf_TRMMR01302(sSvcId, nErrorCode, sErrorMsg) {
  618. arErrorCode.push(sSvcId, nErrorCode);
  619. utlf_addLog("***** cf_TRMMR01302 *****");
  620. dsf_setDefaultVal(ds_main_extninfo_recitem, "recitemno:'',degnitemno:'',supdegnitemno:''");
  621. dsf_setTypeFormat(ds_main_extninfo_recitem, "recitemno:INT^degnitemno:INT^supdegnitemno:INT");
  622. }
  623. /**
  624. * @desc : 분만실코드조회(간호공통테이블에서조회)
  625. * @ver : 2010.04.26 dhkim 추가
  626. */
  627. function fGetNursHardCdInfo_MMR00401(pCode, pDate){
  628. model.removeNodeset("/root/send_mmr00401");
  629. model.removeNodeset("/root/code_mmr00401");
  630. model.makeNode("/root/code_mmr00401");
  631. model.makeValue("/root/send_mmr00401/cdgrupid", pCode); // 조회할 CdGrupID 코드정보
  632. model.makeValue("/root/send_mmr00401/srchdd" , pDate); // 조회기준일자
  633. submit("TRMMR00902",false);
  634. }
  635. /**
  636. * @desc : 환자및 보호자 교육 일자,시간 세팅
  637. * @param :
  638. * @return :
  639. * @authur : dhkim 20100414
  640. */
  641. function fSetEduDt(){
  642. if (parent.fGetFormRec("status") == "C" ) {
  643. }
  644. }
  645. /****************************************************************************************
  646. * Function : fCosignCheck_SMMMR00401
  647. * Description : staff-sign 버튼을 설정한다.
  648. * retrun type :
  649. ****************************************************************************************/
  650. function fCosignCheck_SMMMR00401() {
  651. utlf_addLog("***** fCosignCheck_SMMMR00401() *****");
  652. if (parent.fGetFormRec("formrecdeptcd") == sysf_getUserInfo("dutplcecd")) {
  653. if (parent.fGetFormRec("espiyn") == "Y") {
  654. var authyn = ds_main_extninfo_staffauthinfo.getColumn(0, "authyn");
  655. var cosign = parent.fGetFormRec("cosign");
  656. utlf_addLog("authyn :"+authyn + "cosign :"+cosign );
  657. utlf_addLog("authyn getFormrec:"+parent.fGetFormRec("authyn"));
  658. if (cosign == "Y") {
  659. if (parent.fGetFormRec("cosignid") == sysf_getUserId()) {
  660. if (parent.fGetFormRec("formrecuserid") == sysf_getUserId()) {
  661. //staff이 신규작성하여 sign된 경우 수정모드
  662. // [요청번호:20180712032] 입퇴원요약기록, 수술기록의 STAFF SIGN 관련건 수정모드 -> 싸인모드
  663. parent.initButtonLayer_MMR01100("staff_auth_y");
  664. } else {
  665. //전공의가 신규작성하여 staff이 sign한 경우 싸인모드
  666. parent.initButtonLayer_MMR01100("staff_auth_y");
  667. }
  668. } else {
  669. //staff sign이후이므로 staff이외에는 수정불가
  670. parent.initButtonLayer_MMR01100("no_auth");
  671. }
  672. } else {
  673. if (authyn == "Y") {
  674. //전공의 신규작성후에 staff이 수정모드로 열었으므로, 싸인모드
  675. parent.initButtonLayer_MMR01100("staff_auth_y");
  676. } else {
  677. //수정모드
  678. parent.initButtonLayer_MMR01100("staff_auth_n");
  679. }
  680. }
  681. } else {
  682. //수정모드
  683. parent.initButtonLayer_MMR01100("staff_auth_n");
  684. }
  685. } else {
  686. parent.initButtonLayer_MMR01100("no_auth");
  687. }
  688. }
  689. ]]></Script>