MMR00401.xjs 32 KB

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