MMR01301.xjs 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/**
  3. * MMR01301.js
  4. * SMMMR01301_수술(시술)전기록.xrw
  5. * 이윤주
  6. * /
  7. /**
  8. * @desc : [item코드목록]
  9. * "0000931001" 주호소
  10. * "0001173001" 현병력
  11. * "0000570001" 신체적상태
  12. * "0000053001" 검사결과
  13. * "0001019001" 추정진단
  14. * "0013328001" 수술(시술)계획
  15. *
  16. */
  17. var gItemCds = new Array(
  18. "0000931001"//주호소
  19. , "0001173001"//현병력
  20. , "0000570001"//신체적상태
  21. , "0000053001"//검사결과
  22. , "0001019001"//추정진단
  23. , "0013328001"//수술(시술)계획
  24. );
  25. var gItemCdsTextArea = new Array(
  26. "0000931001"//주호소
  27. , "0001173001"//현병력
  28. , "0000570001"//신체적상태
  29. , "0000053001"//검사결과
  30. , "0001019001"//추정진단
  31. , "0013328001"//수술(시술)계획
  32. );
  33. /**
  34. * @desc : 확장버튼(이미지,가계도,추가기록)을 기록여부에 따라 표시를 위한 버튼목록
  35. * @id :
  36. * @authur : dhkim
  37. * @history : 2009.12.03 신규
  38. */
  39. var gLoadFormCnts = 0;
  40. /****************************************************************************************
  41. * Function : fFormReady()
  42. * Description : 화면 로딩후 초기화 작업 수행
  43. * retrun type :
  44. ****************************************************************************************/
  45. function fFormReady()
  46. {
  47. this.ComnFormObj = this.grup_base;
  48. dsf_createDsRow("ds_temp_mainrecitem",
  49. [{col:"formxrw", val:""}]);
  50. // 공통서식의 초기 recitem 정보. 기록 데이터 조합시 사용
  51. ds_temp_mainrecitem.assign(ds_data_recitem);
  52. //섹션사이즈초기화
  53. lf_setSectionSize(gItemCds, "grup_base.tar_0000931001", "grup_base.tar_0013328001");
  54. //섹션별 버튼초기화
  55. InitBtnImge(gItemCds);
  56. InitBtnFmy(gItemCds);
  57. InitBtnEtcRec(gItemCds);
  58. // InitBtnComn(gItemCds);
  59. InitBtnDiag("0001019001");//0001019001: 추정진단
  60. //기본 첫번째 부분서식을 로딩해서 보여준다.
  61. // dispOnLoadComplete(COMN_FORM);//COMN_FORM : 1
  62. // lf_checkUnitForm(gItemCds); // 부분서식 로딩
  63. lf_AllLoadUnitFormExpand(gItemCds); // 전체 로딩
  64. //2010.01.21, hkjoo
  65. // initCmbExtnList(gItemCds);
  66. lf_setRecData(gItemCds);
  67. }
  68. /**
  69. * @desc : 기록데이터 조회
  70. * @id :
  71. * @event : xforms-ready
  72. * @return : void
  73. * @authur : 박종훈
  74. */
  75. function fLoadData()
  76. {
  77. InitPgmFormData();
  78. InitUnitFormData(gItemCds);
  79. return true;
  80. }
  81. /****************************************************************************************
  82. * Function : fLoadUnitForm()
  83. * Description : 부분서식 로딩
  84. * retrun type :
  85. ****************************************************************************************/
  86. function fLoadUnitForm()
  87. {
  88. initSection(gItemCds);
  89. }
  90. /****************************************************************************************
  91. * Function : fOnLoadComplete()
  92. * Description : 부분서식 로딩후 후처리
  93. * retrun type :
  94. ****************************************************************************************/
  95. function fOnLoadComplete()
  96. {
  97. var curLoadFormCd = this.frmf_getParameter("loadformcd");
  98. var arrUnitformmast = objExt.findRows(ds_data_unitformmast, "formcd", curLoadFormCd);
  99. var fstLevlItemCd = "";
  100. for (var i=0; i<arrUnitformmast.length; i++) {
  101. var unitformload = ds_data_unitformmast.getColumn(arrUnitformmast[i], "loaded");
  102. if (unitformload != "true") {
  103. fstLevlItemCd = ds_data_unitformmast.getColumn(arrUnitformmast[i], "orgsupdegnitemcd");
  104. var ivwObj = ComnFormObj.components["ivw_" + fstLevlItemCd];
  105. if(!utlf_isNull(ivwObj))
  106. {
  107. var nRow = ds_data_unitformmast.findRow("orgsupdegnitemcd", fstLevlItemCd);
  108. ds_data_unitformmast.setColumn(nRow, "loaded", "true");
  109. //setFstLevlItemCdOnUnitForm(ivwObj, ds_data_unitformmast.getColumn(arrUnitformmast[i], "orgsupdegnitemno"));//부분서식의 아이템에 부분서식 상위코드를 세팅
  110. break;
  111. }
  112. }
  113. }
  114. //확장서식 데이터 값 매핑
  115. // fExtnInitFormRec();
  116. gLoadFormCnts++;
  117. utlf_addLog("@@@@@ gItemCds.length : " + gItemCds.length + " gLoadFormCnts : " + gLoadFormCnts );
  118. if(gItemCds.length == gLoadFormCnts)
  119. {
  120. dispOnLoadComplete(UNIT_FORM);
  121. //서식 로딩 후 포커스 처리
  122. if (parent.fGetFormRec("status") == "C")
  123. {
  124. SetDefFocusMTX(gItemCds);
  125. }
  126. }
  127. //2010.04.14 dhkim 환자교육 날짜 default
  128. fSetEduDt();
  129. }
  130. /****************************************************************************************
  131. * Function : fGetDefData()
  132. * Description : 동일 서식이 떠있을 경우 내부 인스턴스 로딩 후 디폴트 조회내용 조회
  133. * retrun type :
  134. ****************************************************************************************/
  135. function fGetDefData()
  136. {
  137. dispOnLoadComplete(UNIT_FORM);
  138. if (parent.fGetFormRec("status") == "C")
  139. {
  140. SetDefFocusMTX(gItemCds);//공통기록 디폴트 포커스처리(MTX)
  141. }
  142. }
  143. /****************************************************************************************
  144. * Function : fSetSize1FormCC
  145. * Description : 서식 주호소 화면 로딩 후 사이즈 조절
  146. * 검사결과 화면 로딩 후 사이즈 조절
  147. * 수술(시술)계획화면 로딩 후 사이즈 조절
  148. * retrun type :
  149. ****************************************************************************************/
  150. function fSetSize1FormCC(gItemCd_MMR00401)
  151. {
  152. //서식 주호소 화면 로딩
  153. if(gItemCd_MMR00401 == "0000931001")
  154. grup_base.ivw_0000931001.fInitPage(false, parseInt(grup_base.ivw_0000931001.position.height), parseInt(grup_base.ivw_0000931001.position.width));
  155. }
  156. /**
  157. * @group :
  158. * @ver : 2009.12.04
  159. * @by : dhkim
  160. * @---------------------------------------------------
  161. * @type : function
  162. * @access : private
  163. * @desc : 부분서식 로딩
  164. * (0000053001) 검사결과,
  165. * (0013328001) 수술(시술)계획,
  166. * (0006747001) 환자및보호자교육
  167. * @param : gItemCds
  168. * @return :
  169. * @---------------------------------------------------
  170. */
  171. function loadUnitForm_MMR00401(itemCds){
  172. var pageInfo = new PAGEINFO();
  173. copyNodeset("/root/main", "/root/main", "replace", model, parent.model);
  174. model.removeNodeset("/root/main/recinfo");
  175. makeRefByDegnitemno();
  176. for (var i = 0; i < itemCds.length; i++)
  177. {
  178. var formdegnseq = model.getValue(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+itemCds[i]+"']/formdegnseq");
  179. var unitformcd = model.getValue(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+itemCds[i]+"']/formcd");
  180. var ivwObj = document.controls("ivw_" + itemCds[i]);
  181. var tarObj = document.controls("tar_" + itemCds[i]);
  182. }
  183. }
  184. /****************************************************************************************
  185. * Function : expandSection_MMR00401
  186. * Description : 검사결과 ivw 확대
  187. * retrun type :
  188. ****************************************************************************************/
  189. function expandSection_MMR00401(obj){
  190. var ctrlID = obj.name;
  191. var itemcd = ctrlID.replace("lbl_", "");
  192. var bFold = itemcd == gMaxSectionID ? true : false;
  193. var ctrl = null;
  194. var unitformcd = "";
  195. var itemCds = gItemCds;
  196. for (var i = 0; i < itemCds.length; i++)
  197. {
  198. var secCtrl = ComnFormOjb.components["lbl_" + itemCds[i]];
  199. var nFindRow = ds_data_unitformmast.findRow("orgsupdegnitemcd", itemCds[i]);
  200. var formdegnseq = ds_data_unitformmast.getColumn(nFindRow, "formdegnseq");
  201. unitformcd = ds_data_unitformmast.getColumn(nFindRow, "formcd");
  202. if(utlf_isNull(formdegnseq))
  203. ctrl = ComnFormObj.components["tar_" + itemCds[i]];
  204. else
  205. ctrl = ComnFormObj.components["ivw_" + itemCds[i]];
  206. //20100106 dhkim ivw 축소/확장
  207. if(itemcd == itemCds[i]){
  208. if(bFold){
  209. ctrl.position.height = gMaxSectionHei;
  210. if (unitformcd == "0900006875")//검사결과 상용구 hidden
  211. {
  212. ctrl.fInitPage(true, parseInt(gMaxSectionHei), parseInt(ctrl.position.width));
  213. }else{
  214. ctrl.fInitPage(false, parseInt(gMaxSectionHei), parseInt(ctrl.position.width));
  215. }
  216. }else{
  217. ctrl.position.height = ctrl.orgheight;
  218. if (unitformcd == "0900006875")//검사결과 상용구 hidden
  219. {
  220. ctrl.fInitPage(true, parseInt(secCtrl.orgheight), parseInt(ctrl.position.width));
  221. }else{
  222. ctrl.fInitPage(false, parseInt(secCtrl.orgheight), parseInt(ctrl.position.width));
  223. }
  224. }
  225. }
  226. }
  227. }
  228. /**
  229. * @group :
  230. * @ver : 2009.10.09
  231. * @by :
  232. * @---------------------------------------------------
  233. * @type : function
  234. * @access : private
  235. * @desc :
  236. * @param :
  237. * @return :
  238. * @---------------------------------------------------
  239. */
  240. function setInterfaceData()
  241. {
  242. // alert("setInterfaceData");
  243. var ifItemCds = new Array(
  244. "0000931001"//주호소
  245. , "0001173001"//현병력
  246. , "0000570001"//신체적상태
  247. , "0001019001"//추정진단
  248. , "0000053001"//검사결과
  249. , "0013328001"//수술(시술)계획
  250. );
  251. copyNodeset(gPageInfo.recItemRef2, "/root/main/recifinfo/recitem", "replace", model, parent.model);
  252. setSrchData(gPageInfo.recItemRef2 , window);
  253. InitUnitFormData(ifItemCds);
  254. setButtonToggleAllByRecYn(window, gExtnBtnIds);
  255. }
  256. /**
  257. * @desc : 서식 데이터 Clear
  258. * @id :
  259. * @event : xforms-ready
  260. * @return : void
  261. * @authur : 박종훈
  262. */
  263. function fClearComnFormData()
  264. {
  265. if (gMaxSectionID != "")
  266. {
  267. var MaxObj = document.controls("lbl_" + gMaxSectionID);
  268. MaxObj.dispatch("onclick");
  269. }
  270. ClearComnFormData(gItemCds);
  271. clearData();
  272. //포커스 처리
  273. SetDefFocusMTX(gItemCds);
  274. }
  275. /**
  276. * @desc : 기록 인스턴스 연결
  277. * @id :
  278. * @event : xforms-ready
  279. * @return : void
  280. * @authur : 박종훈
  281. */
  282. function fSetRecItemValue(reciteminfo)
  283. {
  284. return SetCommMediFormValue(gItemCds, reciteminfo);
  285. }
  286. /****************************************************************************************
  287. * Function : fChkPreSave
  288. * Description : 저장전 체크 로직
  289. * 2010.01.06 dhkim - (검사결과, 수술(시술)계획)필수체크 추가
  290. * "0000053001"//검사결과
  291. * "0013328001"//수술(시술)계획
  292. * retrun type :
  293. ****************************************************************************************/
  294. function fChkPreSave()
  295. {
  296. var nFindRow = ds_data_formdegn.findRow("degnitemcd", "0000053001");
  297. var itemNm = ds_data_formdegn.getColumn(nFindRow, "itemnm");
  298. //var rtnVal = grup_base.ivw_0000053001.fChkGrdPreSave(itemNm);
  299. var rtnVal = true;
  300. if(rtnVal == false){
  301. return rtnVal;
  302. }else{
  303. }
  304. }
  305. /**
  306. * @group :
  307. * @ver : 2008.09.02
  308. * @by : jonghun
  309. * @---------------------------------------------------
  310. * @type : function
  311. * @access : private
  312. * @desc : 추가기록창 팝업처리
  313. * @param :
  314. * @return :
  315. * @---------------------------------------------------
  316. */
  317. function fEtcRec()
  318. {
  319. //setParameter("etc_rec", "추가 기타기록 테스트입니다...");
  320. modal("SPMMR06100");
  321. var recrtn = getParameter("etcrec_rtn");
  322. if (recrtn != "")
  323. {
  324. model.setValue("/root/main/recinfo/recitem[degnitemlevlcd='0000098.0008458']/reccnts", recrtn);
  325. setParameter("etc_rec", recrtn);
  326. }
  327. //alert(recrtn);
  328. }
  329. /**
  330. * @desc : Value List데이터 아이템 값 매핑
  331. * @
  332. * @param :
  333. * @return :
  334. * @authur : 박종훈
  335. */
  336. function fSetDataValItem()
  337. {
  338. var pageInfo = new PAGEINFO();
  339. //model.removenode(pageInfo.formdegnRef + "[degnitemno = '"+cEduyn+"']/itemnm");
  340. //model.makenode(pageInfo.formdegnRef + "[degnitemno = '"+cEduyn+"']/itemnm");
  341. }
  342. /**
  343. * @desc : 확장서식 기록 초기 설정
  344. * @
  345. * @param :
  346. * @return :
  347. * @authur : 박종훈
  348. */
  349. function fExtnInitFormRec()
  350. {
  351. // alert("-----fExtnInitFormRec");
  352. fSetDataValItem();
  353. }
  354. /**
  355. * @desc : 퇴원요구도/교육요구도 jci 팝업 호출
  356. * @
  357. * @param :
  358. * @return :
  359. * @authur : dhkim 20091216
  360. */
  361. function fPopEduDsch_SMMMR00401(){
  362. var pid = parent.window.javascript.fGetPamInfo("pid");
  363. var indd = parent.window.javascript.fGetPamInfo("indd");
  364. var cretno = parent.window.javascript.fGetPamInfo("cretno");
  365. setParameter("SPMRJ00300_pid", pid);
  366. setParameter("SPMRJ00300_orddd", indd);
  367. setParameter("SPMRJ00300_cretno", cretno);
  368. modal("SPMRJ00300", 1, 0, 0, "", "", "");
  369. }
  370. /****************************************************************************************
  371. * Function : getSubmitID_MMR01300I
  372. * Description : MMR01300.js에서 submit직전에 submitID를 설정하기 위해서 호출한다.
  373. * retrun type :
  374. ****************************************************************************************/
  375. function getSubmitID_MMR01300I(flag) {
  376. //2010.02.23 dhkim - 통합기록조회용 JCI구분자추가(fSetXsltFlag없애고 getSubmitID_MMR01300I로 이동)
  377. parent.fSetFormRec("xsltflag", "JCI2");
  378. //2010.03.12 안치원 - 수정없이 staff-sign할때 xsltflag가 들어가지 않는 오류수정
  379. if (utlf_isNull(flag)) {
  380. parent.fSetFormRec("addexecflag", "careplan;patedu");
  381. return TX_SUBMIT_EXTN_FORM;
  382. }
  383. }
  384. /****************************************************************************************
  385. * Function : initFormAtLast_MMR01100I
  386. * Description : MMR01100.js에서 서식load를 완료한 후에 호출한다.
  387. * retrun type :
  388. ****************************************************************************************/
  389. function initFormAtLast_MMR01100I() {
  390. //신규서식로딩의 경우만 입원초진기록 연동
  391. if (parent.fGetFormRec("status") == "C") {
  392. //2010.01.21 dhkim - 리턴값 추가(blocking 메세지후 리턴)
  393. if(!fGetRecIfData_MMR01301("recdata")){
  394. return false;
  395. }
  396. }
  397. }
  398. /**
  399. * @desc : 분만실코드조회(간호공통테이블에서조회)
  400. * @ver : 2010.04.26 dhkim 추가
  401. */
  402. function fGetNursHardCdInfo_MMR00401(pCode, pDate){
  403. model.removeNodeset("/root/send_mmr00401");
  404. model.removeNodeset("/root/code_mmr00401");
  405. model.makeNode("/root/code_mmr00401");
  406. model.makeValue("/root/send_mmr00401/cdgrupid", pCode); // 조회할 CdGrupID 코드정보
  407. model.makeValue("/root/send_mmr00401/srchdd" , pDate); // 조회기준일자
  408. submit("TRMMR00902",false);
  409. }
  410. /**
  411. * @desc : 환자및 보호자 교육 일자,시간 세팅
  412. * @param :
  413. * @return :
  414. * @authur : dhkim 20100414
  415. */
  416. function fSetEduDt(){
  417. }
  418. /**
  419. * @desc : staff-sign 버튼을 설정한다.
  420. * @param :
  421. * @return :
  422. * @authur : acwon 20091218
  423. */
  424. function fCosignCheck_SMMMR00401() {
  425. //2010.01.15 안치원 - 입원초진기록JCI Staff-Sign 막음.
  426. //2010.02.25 dhkim- 입원초진JCI Staff-Sign 주석해제.
  427. //return;
  428. //alert("formrecdept:"+parent.window.javascript.fGetFormRec("formrecdeptcd"));
  429. //alert("dutplcecd:"+getUserInfo("dutplcecd"));
  430. if (parent.window.javascript.fGetFormRec("formrecdeptcd") == getUserInfo("dutplcecd")) {
  431. if (parent.window.javascript.fGetFormRec("espiyn") == "Y") {
  432. var authyn = model.getValue("/root/main/extninfo/staffauthinfo/authyn");
  433. var cosign = parent.window.javascript.fGetFormRec("cosign");
  434. //alert("authyn :"+authyn + "cosign :"+cosign );
  435. //alert("authyn getFormrec:"+parent.window.javascript.fGetFormRec("authyn"));
  436. if (cosign == "Y") {
  437. if (parent.window.javascript.fGetFormRec("cosignid") == getUserId()) {
  438. if (parent.window.javascript.fGetFormRec("formrecuserid") == getUserId()) {
  439. //staff이 신규작성하여 sign된 경우 수정모드
  440. parent.window.javascript.initButtonLayer_MMR01100("staff_auth_n");
  441. } else {
  442. //전공의가 신규작성하여 staff이 sign한 경우 싸인모드
  443. parent.window.javascript.initButtonLayer_MMR01100("staff_auth_y");
  444. }
  445. } else {
  446. //staff sign이후이므로 staff이외에는 수정불가
  447. parent.window.javascript.initButtonLayer_MMR01100("no_auth");
  448. }
  449. } else {
  450. if (authyn == "Y") {
  451. //전공의 신규작성후에 staff이 수정모드로 열었으므로, 싸인모드
  452. parent.window.javascript.initButtonLayer_MMR01100("staff_auth_y");
  453. } else {
  454. //수정모드
  455. parent.window.javascript.initButtonLayer_MMR01100("staff_auth_n");
  456. }
  457. }
  458. } else {
  459. //수정모드
  460. parent.window.javascript.initButtonLayer_MMR01100("staff_auth_n");
  461. }
  462. } else {
  463. parent.window.javascript.initButtonLayer_MMR01100("no_auth");
  464. }
  465. ////////////////////////////////////////////////////////////////////////////////////////////////////
  466. //2010.02.25 dhkim - staff-sign적용부분을 수술기록과 동일하게 변경
  467. /*
  468. if (parent.window.javascript.fGetFormRec("espiyn") == "Y") {
  469. var authyn = model.getValue("/root/main/extninfo/staffauthinfo/authyn");
  470. //1.미비항목에 등록되어 있는 ID(주치의, 집도의)이면 Staff-Sign 가능
  471. if (authyn == "Y") {
  472. parent.window.javascript.initButtonLayer_MMR01100("staff_auth_y");
  473. } else {
  474. //2.1.코사인 상태이면
  475. if (parent.window.javascript.fGetFormRec("cosign") == "Y") {
  476. if (parent.window.javascript.fGetFormRec("cosignid") == getUserId()) {
  477. //2.1.1.코사인한 사용자와 동일하면 수정 가능
  478. parent.window.javascript.initButtonLayer_MMR01100("staff_auth_n");
  479. } else {
  480. //2.1.2.코사인한 사용자와 동일하지 않으면 모든 기능 불가능
  481. parent.window.javascript.initButtonLayer_MMR01100("no_auth");
  482. }
  483. } else {
  484. //2.2.수정가능
  485. parent.window.javascript.initButtonLayer_MMR01100("staff_auth_n");
  486. }
  487. }
  488. } else {
  489. if (parent.window.javascript.fGetFormRec("formrecdeptcd") == getUserInfo("dutplcecd")) {
  490. parent.window.javascript.initButtonLayer_MMR01100("staff_auth_n");
  491. } else {
  492. parent.window.javascript.initButtonLayer_MMR01100("no_auth");
  493. }
  494. }
  495. */
  496. }
  497. /****************************************************************************************
  498. * Function : fGetRecIfData_MMR01301
  499. * Description :
  500. * retrun type :
  501. ****************************************************************************************/
  502. function fGetRecIfData_MMR01301(infoflag) {
  503. ds_send_extninfo.clearData();
  504. var nRow = ds_send_extninfo.addRow();
  505. ds_send_extninfo.setColumn(nRow, "infoflag", infoflag);
  506. ds_send_extninfo.setColumn(nRow, "pid", parent.fGetFormRec("pid"));
  507. ds_send_extninfo.setColumn(nRow, "orddd", parent.fGetFormRec("orddd"));
  508. ds_send_extninfo.setColumn(nRow, "cretno", parent.fGetFormRec("cretno"));
  509. ds_send_extninfo.setColumn(nRow, "fromsrcformcd", "0000000003"); //입원초진기록의 기본서식코드
  510. ds_send_extninfo.setColumn(nRow, "toformcd", parent.fGetFormMast("formcd"));
  511. ds_send_extninfo.setColumn(nRow, "srcformcd", parent.fGetFormRec("srcformcd"));
  512. ds_send_extninfo.setColumn(nRow, "formrecdd", parent.fGetFormRec("formrecdd"));
  513. ds_send_extninfo.setColumn(nRow, "indd", ds_send_extninfo.getColumn(nRow, "orddd"));
  514. ds_send_extninfo.setColumn(nRow, "standd", parent.fGetFormRec("formrecdd"));
  515. ds_send_extninfo.setColumn(nRow, "deptcd", parent.fGetFormRec("formrecdeptcd"));
  516. ds_send_extninfo.setColumn(nRow, "jobkindcd", "0330");
  517. //2010.02.22 dhkim 추가
  518. ds_send_extninfo.setColumn(nRow, "formrecseq", parent.fGetFormRec("formrecseq"));
  519. dsf_setDefaultVal(ds_send_extninfo, "dschdd:99991231");
  520. var oParam = {};
  521. oParam.id = "TRMMR01302";
  522. oParam.service = "medirecapp.RecIf";
  523. oParam.method = "reqGetFormRecExtnInfo";
  524. oParam.inds = "req=ds_send_extninfo";
  525. oParam.outds = "ds_main_extninfo_resultinfo=resultinfo ds_main_extninfo_staffauthinfo=staffauthinfo ds_main_extninfo_oprinfo=oprinfo "
  526. + "ds_main_extninfo_oplistinfo=oplistinfo ds_main_extninfo_recitem=recitem ds_main_extninfo_drlistinfo=drlistinfo "
  527. + "ds_data_diagcdlist=diagcdlist ds_main_extninfo_selectoplist=selectoplist ds_main_extninfo_dscinoutinfo=dscinoutinfo "
  528. + "ds_main_extninfo_rectextinfo=rectextinfo ds_main_extninfo_anstdrlistinfo=anstdrlistinfo ds_main_extninfo_oproomlistinfo=oproomlistinfo "
  529. + "ds_main_extninfo_recseqinfo=recseqinfo ds_main_extninfo_etcinfo=etcinfo";
  530. oParam.async = false;
  531. oParam.callback = "cf_TRMMR01302";
  532. tranf_submit(oParam);
  533. if(arErrorCode.pop("TRMMR01302") > -1)
  534. {
  535. var execInfoFlag = ds_main_extninfo_resultinfo.getColumn(0, "infoflag");
  536. //2010.05.19 김달현 - recdata, opr, opdiag 분기순서변경
  537. if (execInfoFlag.indexOf("recdata;") != -1) {
  538. /*
  539. ClearComnFormData(gItemCds);
  540. //Copy Of 입원초진기록
  541. copyNodeset(gPageInfo.recItemRef2, "/root/main/extninfo/recitem", "replace", model, model);
  542. if(!fLoadData()){
  543. return false;
  544. }
  545. */
  546. fSetCopyRecData();
  547. }
  548. }
  549. else
  550. {
  551. return false;
  552. }
  553. //2010.01.21 dhkim - 리턴값 추가(blocking 메세지후 리턴)
  554. return true;
  555. }
  556. /****************************************************************************************
  557. * Function : fSetCopyRecData
  558. * Description : BriefOpNote 정보 연계
  559. * retrun type :
  560. ****************************************************************************************/
  561. function fSetCopyRecData()
  562. {
  563. utlf_addLog(" fGetFormRec(status) : " + fGetFormRec("status") + "\n\n" + ds_main_extninfo_recitem.saveXML() );
  564. if(fGetFormRec("status") == "C")
  565. {
  566. var fstlevlitemcd = "";
  567. var degnitemcd = "";
  568. var reccnts = "";
  569. var sRow = "";
  570. // 1계층 MTX값 세팅, 조회해온 기록값 rowcount 만큼 루프
  571. for(var i = 0; i < ds_main_extninfo_recitem.rowcount; i++)
  572. {
  573. fstlevlitemcd = ds_main_extninfo_recitem.getColumn(i, "fstlevlitemcd");
  574. degnitemcd = ds_main_extninfo_recitem.getColumn(i, "degnitemcd");
  575. reccnts = ds_main_extninfo_recitem.getColumn(i, "reccnts");
  576. // 최상위 아이템이고 1계층 MTX 값이 있으면 세팅
  577. // 부분서식은 각자 onload 시 기록데이터 세팅
  578. if( (fstlevlitemcd == degnitemcd) && !utlf_isNull(reccnts))
  579. {
  580. sRow = ds_data_recitem.findRowExpr("fstlevlitemcd == '"+ fstlevlitemcd +"' && degnitemcd == '"+ degnitemcd +"' && degnitemkind == 'MTX'");
  581. ds_data_recitem.setColumn(sRow, "reccnts", reccnts);
  582. var tarObj = ComnFormObj.components["tar_" + fstlevlitemcd];
  583. if(tarObj != null)
  584. tarObj.value = reccnts;
  585. }
  586. }
  587. }
  588. }
  589. function cf_TRMMR01302(sSvcId, nErrorCode, sErrorMsg) {
  590. arErrorCode.push(sSvcId, nErrorCode);
  591. if(nErrorCode < 0) return;
  592. dsf_setDefaultVal(ds_main_extninfo_recitem, "recitemno:'',degnitemno:'',supdegnitemno:''");
  593. dsf_setTypeFormat(ds_main_extninfo_recitem, "recitemno:INT^degnitemno:INT^supdegnitemno:INT");
  594. }]]></Script>