MMR00404.xjs 31 KB

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