MMR01201.xjs 30 KB

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