SMAEA07300.xjs 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  3. * System Name : DBS
  4. * Job Name :
  5. * File Name : SMMRC03100.xjs
  6. * Creator :
  7. * Make Date : 2014-11-06
  8. *
  9. * Description :
  10. *---------------------------------------------------------------------------------------
  11. * Modify Date Modifier Modify Description
  12. *---------------------------------------------------------------------------------------
  13. * 2014-11-06 DBS Converting Program(TF->XP)
  14. *
  15. *---------------------------------------------------------------------------------------
  16. ****************************************************************************************/
  17. //=======================================================================================
  18. // Global Form Variable
  19. //---------------------------------------------------------------------------------------
  20. var arErrorCode = new HashArray();
  21. var fso = inff_fileSystemObject();
  22. //=======================================================================================
  23. // Transaction Callback
  24. //---------------------------------------------------------------------------------------
  25. /****************************************************************************************
  26. * Argument : 01.sSvcId : 서비스 ID
  27. * : 02.nErrorCode : 에러코드
  28. * : 03.sErrorMsg : 에러메시지
  29. * Description : tr_getCodeList의 콜백함수
  30. ****************************************************************************************/
  31. function cf_TRMMR05501(sSvcId, nErrorCode, sErrorMsg) {
  32. arErrorCode.push(sSvcId, nErrorCode);
  33. if(nErrorCode < 0) return;
  34. //sysf_trace("***** cf_TRMMR05501 *****");
  35. }
  36. function cf_TRMRF03104(sSvcId, nErrorCode, sErrorMsg) {
  37. arErrorCode.push(sSvcId, nErrorCode);
  38. if(nErrorCode < 0) return;
  39. //sysf_trace("***** cf_TRMRF03104 *****");
  40. }
  41. function cf_TRMRC03003(sSvcId, nErrorCode, sErrorMsg) {
  42. arErrorCode.push(sSvcId, nErrorCode);
  43. if(nErrorCode < 0){
  44. ds_grd_apphist.enableevent = true;
  45. return;
  46. }
  47. //sysf_trace("***** cf_TRMRC03003 *****");
  48. ds_grd_apphist.rowposition = -1;
  49. ds_grd_apphist.enableevent = true;
  50. ds_main_appinfo_copyinfo.clearData();
  51. ds_main_appinfo_copyinfo.addRow();
  52. }
  53. function cf_TRMRC03004(sSvcId, nErrorCode, sErrorMsg) {
  54. arErrorCode.push(sSvcId, nErrorCode);
  55. if(nErrorCode < 0) return;
  56. //sysf_trace("***** cf_TRMRC03004 *****");
  57. //sysf_trace(ds_grd_outpat.saveXML());
  58. }
  59. function cf_TRMRC03012(sSvcId, nErrorCode, sErrorMsg) {
  60. arErrorCode.push(sSvcId, nErrorCode);
  61. if(nErrorCode < 0) return;
  62. sysf_messageBox("","I001"); //처리되었습니다
  63. }
  64. // 의무기록 부서코드 찾기
  65. function fIsEmrDept()
  66. {
  67. var dutplcecd = sysf_getUserInfo("dutplcecd");
  68. var hardcdno = "1001";
  69. if( ds_send_reqdata.rowcount == 0 ) ds_send_reqdata.addRow();
  70. ds_send_reqdata.setColumn(0, "hardcdno", hardcdno);
  71. //utlf_addLog(ds_send_reqdata.saveXML());
  72. var oParam = {};
  73. oParam.id = "TRMRF03104";
  74. oParam.service = "formmngtapp.SetIndxMngt";
  75. oParam.method = "reqGetEmrInfoTeamCd";
  76. oParam.inds = "req=ds_send_reqdata";
  77. oParam.outds = "ds_main_hardcdlist=hardcdlist";
  78. oParam.async = false;
  79. oParam.callback = "cf_TRMRF03104";
  80. tranf_submit(oParam);
  81. //utlf_addLog(ds_main_hardcdlist.saveXML());
  82. for(var idx = 0; idx < ds_main_hardcdlist.rowcount; idx++)
  83. {
  84. if(dutplcecd == ds_main_hardcdlist.getColumn(idx, "trgtcd"))
  85. {
  86. return 1;
  87. }
  88. }
  89. return 0;
  90. }
  91. /**
  92. * @group :
  93. * @ver :
  94. * @by : 이창록 2008-08-29
  95. * @---------------------------------------------------
  96. * @type : function
  97. * @access : public
  98. * @desc : 신청인에 따른 위임장유뮤 변경
  99. * @param :
  100. * @return :
  101. * @---------------------------------------------------
  102. */
  103. function fAppManNmSetting()
  104. {
  105. utlf_addLog("***** fAppManNmSetting() *****");
  106. if(ds_main_appinfo_copyinfo.getColumn(0, "appmanflag")!="9"){
  107. group3.ipt_appmannm.enable = false;
  108. group3.ipt_appmannm.value = "";
  109. var appmanflag = ds_main_appinfo_copyinfo.getColumn(0, "appmanflag");
  110. if(appmanflag=="1"){
  111. group3.rdo_trustyn.value = "N";
  112. }else{
  113. group3.rdo_trustyn.value = "Y";
  114. }
  115. }else{
  116. group3.ipt_appmannm.enable = true;
  117. group3.rdo_trustyn.value = "Y";
  118. }
  119. }
  120. /**
  121. * @desc 이전사본발행 내역조회
  122. * @param pid : 등록번호
  123. */
  124. function fReqGetBfCopyIssHistList(pid){
  125. ds_send_reqdata.clearData();
  126. ds_send_reqdata.addRow();
  127. ds_send_reqdata.setColumn(0, "pid", pid);
  128. // ds_grd_apphist.enableevent = false;
  129. var oParam = {};
  130. oParam.id = "dump_TRMRC03003";
  131. oParam.service = "examcureacptexecapp.ExamCureAcpt";
  132. oParam.method = "reqGetCDCopyHist";
  133. oParam.inds = "req=ds_send_reqdata";
  134. oParam.outds = "ds_grd_apphist=applist";
  135. oParam.async = false;
  136. oParam.callback = "cf_TRMRC03003";
  137. tranf_submit(oParam);
  138. }
  139. /**
  140. * @group :
  141. * @ver :
  142. * @by : 권영애 2018-12-13
  143. * @---------------------------------------------------
  144. * @type : function
  145. * @access : public
  146. * @desc : cd 복사 처방
  147. * @param :
  148. * @return :
  149. * @---------------------------------------------------
  150. */
  151. function fGetOrder()
  152. {
  153. ds_send_reqdata.clearData();
  154. ds_grd_mainordlist.clearData();
  155. ds_send_cond.setColum
  156. dsf_createDsRow("ds_send_cond", [
  157. {col:"pid", type:"STRING", size:256, val:ds_main_cond.getColumn(0,"pid")}
  158. , {col:"orddeptcd", type:"STRING", size:256, val:ds_main_cond.getColumn(0,"orddeptcd")}
  159. , {col:"suppdeptcd1", type:"STRING", size:256, val:ds_send_globalinstance.getColumn(0,"instance1")}
  160. , {col:"excuroomcd", type:"STRING", size:256, val:"RA064"}
  161. , {col:"srchexecflag", type:"STRING", size:256, val:ds_main_cond.getColumn(0,"srchexecflag")=="Y"?"Y":""}
  162. ]);
  163. var oParam = {};
  164. oParam.id = "dump_TRMRC03004";
  165. oParam.service = "examcureacptexecapp.ExamCureAcpt";
  166. oParam.method = "reqGetCDCopyList";
  167. oParam.inds = "reqparam=ds_send_cond";
  168. oParam.outds = "ds_grd_mainordlist=examcureacptlist";
  169. oParam.async = false;
  170. oParam.callback = "cf_TRMRC03004";
  171. tranf_submit(oParam);
  172. }
  173. //접수정보가져오기
  174. function fGetAcptInfo()
  175. {
  176. ds_send_reqdata.clearData();
  177. ds_grd_acptlist.clearData();
  178. ds_send_cond.setColum
  179. dsf_createDsRow("ds_send_cond", [
  180. {col:"pid", type:"STRING", size:256, val:ds_main_cond.getColumn(0,"pid")}
  181. , {col:"suppdeptcd1", type:"STRING", size:256, val:ds_send_globalinstance.getColumn(0,"instance1")}
  182. ]);
  183. var oParam = {};
  184. oParam.id = "dump_TRMRC03004";
  185. oParam.service = "examcureacptexecapp.ExamCureAcpt";
  186. oParam.method = "reqGetAcptList";
  187. oParam.inds = "reqparam=ds_send_cond";
  188. oParam.outds = "ds_grd_acptlist=acptlist";
  189. oParam.async = false;
  190. oParam.callback = "cf_TRMRC03004";
  191. tranf_submit(oParam);
  192. }
  193. // 환자찾기 Popup
  194. function fPatPopUp(pFlag)
  195. {
  196. utlf_addLog("***** fPatPopUp("+pFlag+") *****");
  197. var objColInfo = new Array();
  198. objColInfo.push({col: "pid", type:"string", size:256});
  199. objColInfo.push({col: "hngnm", type:"string", size:256});
  200. objColInfo.push({col: "srchcond", type:"string", size:256});
  201. objColInfo.push({col: "autoflag", type:"string", size:256});
  202. objColInfo.push({col: "rrgstno1", type:"string", size:256});
  203. objColInfo.push({col: "rrgstno2", type:"string", size:256});
  204. dsf_createDs("ds_temp_patcond", objColInfo);
  205. ds_temp_patcond.addRow();
  206. ds_temp_patcond.setColumn(0, "srchcond", pFlag);
  207. if(pFlag == "1"){
  208. ds_temp_patcond.setColumn(0, "pid", utlf_transNullToEmpty(ds_main_cond.getColumn(0, "pid")));
  209. }else{
  210. ds_temp_patcond.setColumn(0, "pid", "");
  211. }
  212. if(pFlag == "2"){
  213. ds_temp_patcond.setColumn(0, "hngnm", utlf_transNullToEmpty(ds_main_cond.getColumn(0, "hngnm")));
  214. }else{
  215. ds_temp_patcond.setColumn(0, "hngnm", "");
  216. }
  217. if(pFlag == "3"){
  218. ds_temp_patcond.setColumn(0, "rrgstno1", utlf_transNullToEmpty(ds_main_cond.getColumn(0, "rrgstno1")));
  219. ds_temp_patcond.setColumn(0, "rrgstno2", utlf_transNullToEmpty(ds_main_cond.getColumn(0, "rrgstno2")));
  220. //alert("주민번호:"+utlf_transNullToEmpty(ds_main_cond.getColumn(0, "rrgstno1"))+"#"+utlf_transNullToEmpty(ds_main_cond.getColumn(0, "rrgstno2")));
  221. }else{
  222. ds_temp_patcond.setColumn(0, "rrgstno1", "");
  223. ds_temp_patcond.setColumn(0, "rrgstno2", "");
  224. }
  225. ds_temp_patcond.setColumn(0, "autoflag", "Y");
  226. var objArgs = new Object();
  227. //objArgs.ds_SPPMC02500 = ds_temp_patcond; //2015.04.10 주석
  228. objArgs.arg_ds_send = ds_temp_patcond;
  229. ds_main_cond.clearData();
  230. ds_main_cond.addRow();
  231. frmf_modal("SPPMC02500", "SPPMC02500", objArgs, null, "1", "10", "10", null, null, null, null, null, "M");
  232. // if(fIsEmrDept() == false){
  233. // if(pFlag == "2"){
  234. // var globalPid = appf_getPatientInfo("pid");
  235. // var newPid = ds_patinfolist.getColumn(0, "pid");//model.getValue("/root/main/patinfo/patinfolist/pid");
  236. // if(globalPid != newPid) {
  237. // sysf_messageBox("사본신청은 진료중인 환자에 대해서만 신청이 가능합니다.\n등록번호를 상단 환자등록번호와 일치시켜서","C003");
  238. // fInitialize();
  239. // return;
  240. // }
  241. // }
  242. // }
  243. var spid = ds_patinfolist.getColumn(0, "pid");
  244. ds_main_cond.setColumn(0, "pid", ds_patinfolist.getColumn(0, "pid"));
  245. ds_main_cond.setColumn(0, "hngnm", ds_patinfolist.getColumn(0, "hngnm"));
  246. ds_main_cond.setColumn(0, "rrgstno1", ds_patinfolist.getColumn(0, "rrgstno1"));
  247. ds_main_cond.setColumn(0, "rrgstno2", ds_patinfolist.getColumn(0, "rrgstno2"));
  248. //alert("주민번호2:"+utlf_transNullToEmpty(ds_main_cond.getColumn(0, "rrgstno1"))+"#"+utlf_transNullToEmpty(ds_main_cond.getColumn(0, "rrgstno2")));
  249. ds_main_cond.setColumn(0, "sa", ds_patinfolist.getColumn(0, "sex") + "/" + ds_patinfolist.getColumn(0, "age"));
  250. ds_main_cond.setColumn(0, "recepinfochk", "Y");
  251. lf_setPid();
  252. }
  253. function fGetTotalCopies()
  254. {
  255. utlf_addLog("***** fGetTotalCopies() *****");
  256. var tmpTotalCopies = 0;
  257. if(g_inputbox == "Y") // 수가가 기본, 추가 수가코드로 이루어진 경우
  258. {
  259. var shtno = eval(ds_temp2_appinfo_copyinfo.getColumn(0, "totalshrtno"));
  260. var copies = eval(ds_temp2_appinfo_copyinfo.getColumn(0, "totalcopies"));
  261. tmpTotalCopies = shtno * copies;
  262. }
  263. else // 서울성모
  264. {
  265. // 가져온 그리드가 여러줄인경우를 대비해 전체 매수를 구한다.
  266. for(var idx = 0; idx < ds_grd_rcptlist.rowcount; idx++)
  267. {
  268. tmpTotalCopies += eval(ds_grd_rcptlist.getColumn(idx, "shtno"));
  269. }
  270. }
  271. utlf_addLog("***** tmpTotalCopies : " + tmpTotalCopies );
  272. return tmpTotalCopies;
  273. }
  274. function lf_setPid()
  275. {
  276. group2.ipt_pid.updateToDataset();
  277. var newPid = group2.ipt_pid.text;
  278. group4.txt_delivefact.value = "";
  279. ds_grd_apphist.clearData();
  280. ds_grd_mainordlist.clearData();
  281. ds_main_appinfo_copyinfo.clearData();
  282. ds_main_appinfo_copyinfo.addRow();
  283. // // 의료정보팀인지 타 부서인지 체크
  284. // if(fIsEmrDept() == false)
  285. // {
  286. // var globalPid = appf_getPatientInfo("pid");
  287. // utlf_addLog(" globalPid : " + globalPid);
  288. // if(globalPid != newPid) {
  289. // sysf_messageBox("사본신청은 진료중인 환자에 대해서만 신청이 가능합니다.\n등록번호를 상단 환자등록번호와 일치시켜서","C003");
  290. // return;
  291. // }
  292. // }
  293. // 2009.05.26 이경희
  294. // 의료정보팀인 경우 신청내역저장 버튼이 계속 비활성화되는것을 방지
  295. btn_save.enable = true;
  296. //환자기본 및 원무정보 조회
  297. //fReqGetComnPatOrdInfo(newPid);
  298. fReqGetComnPatInfo(newPid);
  299. //환자 이전사본발행내역 조회
  300. fReqGetBfCopyIssHistList(newPid);
  301. ds_main_appinfo_copyinfo.setColumn(0, "appmanflag", "1");
  302. ds_main_appinfo_copyinfo.setColumn(0, "trustyn", "N");
  303. fGetCountOfEMR(); //타부서의무기록 정보 가져오기
  304. }
  305. /**
  306. * @desc : 사본신청/발급 화면 초기화
  307. * : 상단정보 처리 여부, 화면 팝업처리 여부 판단 및 화면 기본정보 설정
  308. * @
  309. * @param :
  310. * @return :
  311. * @---------------------------------------------------
  312. */
  313. function fInitialize(){
  314. var paminfo = sysf_getGlobalVariable("paminfo"); //상단정보가 있을 경우는 검색
  315. if(!utlf_isNull(paminfo)){
  316. ds_main_paminfo.clearData();
  317. dsf_setCSVToDs("ds_main_paminfo", paminfo);
  318. var ioflag = ds_main_paminfo.getColumn(0, "ioflag");
  319. }
  320. //발행목적
  321. appf_getCodeList([{dsNm: "ds_init_issgoalcd_M0332", cdGrpId: "M0332"}, {dsNm: "ds_init_prcpstatcd_M0011", cdGrpId: "M0011"}], true);
  322. //20191203 영상복사이력 상세신청내역 정보 가져오기
  323. ds_init_A0051.clearData();
  324. lf_getAstCodeList([{dsNm: "ds_init_A0051", cdGrpId: "A0051"}], true ) ;
  325. //신청과,신청의
  326. appf_getInOutOrdDeptList(sysf_getUserInfo("dutplceinstcd"), "depthngnm", "asc", null, null, "ds_init_cmb_emrorddeptcd", false, null); //전체 진료과
  327. frmf_addComboItem("group3.cmb_emrorddeptcd","전체","-", "above");
  328. ds_main_appinfo_copyinfo.setColumn(0, "appdeptcd","-"); // 신청과
  329. appf_getOrdDeptDoctorList("none", sysf_getUserInfo("dutplceinstcd"), group3.cmb_emrorddeptcd.value, "usernm", "asc", utlf_getCurrentDate(), "ds_init_cmb_orddrid");
  330. ds_main_cond.setColumn(0, "pid", ds_main_paminfo.getColumn(0, "pid"));
  331. ds_main_cond.setColumn(0, "srchexecflag", "Y");
  332. lf_setPid(); //환자정보 + 이전영상복사내역
  333. }
  334. /**
  335. * @desc : 사본신청/발급 화면 초기화
  336. * : 의무기록 발급 유무 찾기
  337. * : 당일 의무기록발급이력, 병리슬라이스대여이력 , 영상복사이력
  338. * @
  339. * @param :
  340. * @return :
  341. * @---------------------------------------------------
  342. */
  343. function fGetCountOfEMR(){
  344. ds_grd_othist.clearData();
  345. ds_send_reqdata.clearData();
  346. ds_send_reqdata.addRow();
  347. ds_send_reqdata.setColumn(0, "pid", ds_main_cond.getColumn(0,"pid"));
  348. //ds_grd_apphist.enableevent = false;
  349. var oParam = {};
  350. oParam.id = "dump_TRMRC03003";
  351. oParam.service = "examcureacptexecapp.ExamCureAcpt";
  352. oParam.method = "reqGetCountOfEMR";
  353. oParam.inds = "reqparam=ds_send_reqdata";
  354. oParam.outds = "ds_grd_othist=applist";
  355. oParam.async = false;
  356. //oParam.callback = "cf_TRMRC03003";
  357. tranf_submit(oParam);
  358. if (ds_grd_othist.rowcount > 0 ) {
  359. btn_other.visible = true;
  360. } else {
  361. btn_other.visible = false;
  362. }
  363. }
  364. /**
  365. * @desc : 환자진료정보 조회 및 설정
  366. * @
  367. * @param : pid : 등록번호
  368. * @return :
  369. * @---------------------------------------------------
  370. */
  371. function fReqGetComnPatOrdInfo(pid){
  372. //fMersPatChk("EMR", pid); // 메르스 안내 메세지 팝업
  373. ds_send_reqdata.clearData();
  374. var nRow = ds_send_reqdata.addRow();
  375. ds_send_reqdata.setColumn(nRow, "pid" , pid);
  376. ds_send_reqdata.setColumn(nRow, "orddeptcd", "-");
  377. ds_send_reqdata.setColumn(nRow, "orddrid", "-");
  378. ds_send_reqdata.setColumn(nRow, "srchmode" , "F");
  379. dsf_setDefaultVal(ds_send_reqdata, "orddeptcd:-,orddrid:-");
  380. var oParam = {};
  381. oParam.id = "TRMMR05501";
  382. oParam.service = "medirecapp.ExtnMediRec";
  383. oParam.method = "reqGetPatHistList";
  384. oParam.inds = "req=ds_send_reqdata";
  385. oParam.outds = "ds_main_result_pathistlist=pathistlist";
  386. oParam.async = false;
  387. oParam.callback = "cf_TRMMR05501";
  388. tranf_submit(oParam);
  389. if(arErrorCode.pop("TRMMR05501") > -1 ){
  390. dsf_setDefaultVal(ds_main_result_pathistlist, "all");
  391. if(ds_main_result_pathistlist.rowcount > 0){
  392. var pid = ds_main_result_pathistlist.getColumn(0, "pid");
  393. var orddd = ds_main_result_pathistlist.getColumn(0, "orddd");
  394. var cretno = ds_main_result_pathistlist.getColumn(0, "cretno");
  395. var hngnm = ds_main_result_pathistlist.getColumn(0, "hngnm");
  396. var sex = ds_main_result_pathistlist.getColumn(0, "sex");
  397. var age = ds_main_result_pathistlist.getColumn(0, "age");
  398. var brthdd = ds_main_result_pathistlist.getColumn(0, "brthdd");
  399. var rrgstno1 = ds_main_result_pathistlist.getColumn(0, "rrgstno1");
  400. var rrgstno2 = ds_main_result_pathistlist.getColumn(0, "rrgstno2");
  401. var addr = ds_main_result_pathistlist.getColumn(0, "addr");
  402. var hometel = ds_main_result_pathistlist.getColumn(0, "hometel");
  403. var ioflag = ds_main_result_pathistlist.getColumn(0, "ordtype");
  404. var orddeptcd= ds_main_result_pathistlist.getColumn(0, "orddeptcd");
  405. var orddeptnm= ds_main_result_pathistlist.getColumn(0, "orddeptnm");
  406. }else{
  407. sysf_messageBox("환자 정보를 찾을 수", "I004");
  408. return;
  409. }
  410. ds_main_cond.setColumn(0, "pid" , pid);
  411. //ds_main_cond.setColumn(0, "orddd" , orddd);
  412. //ds_main_cond.setColumn(0, "cretno" , cretno);
  413. ds_main_cond.setColumn(0, "hngnm" , hngnm);
  414. ds_main_cond.setColumn(0, "rrgstno1" , rrgstno1);
  415. //ds_main_cond.setColumn(0, "rrgstno2" , rrgstno2.substring(0, 1) + "******");
  416. ds_main_cond.setColumn(0, "rrgstno2" , rrgstno2);
  417. ds_main_cond.setColumn(0, "age" , age);
  418. ds_main_cond.setColumn(0, "sa" , sex.concat("/").concat(age));
  419. if(age < parseInt(14)) {
  420. ds_main_appinfo_copyinfo.setColumn(0, "appmanflag", "2");
  421. ds_main_appinfo_copyinfo.setColumn(0, "trustyn", "Y");
  422. }
  423. fSetRcptpossynmsg(ds_main_cond.getColumn(0, "pid")); //무인수납 가능 여부 조회, 2010.03.08 주희경
  424. }
  425. }
  426. /**
  427. * @desc : 환자정보 조회
  428. * @
  429. * @param : pid : 등록번호
  430. * @return :
  431. * @---------------------------------------------------
  432. */
  433. function fReqGetComnPatInfo(pid){
  434. ds_send_reqdata.clearData();
  435. ds_send_reqdata.addRow();
  436. ds_send_reqdata.setColumn(0, "pid", pid);
  437. //ds_grd_apphist.enableevent = false;
  438. var oParam = {};
  439. oParam.id = "dump_TRMRC03003";
  440. oParam.service = "examcureacptexecapp.ExamCureAcpt";
  441. oParam.method = "reqGetComnPatInfo";
  442. oParam.inds = "reqparam=ds_send_reqdata";
  443. oParam.outds = "ds_patinfo=patinfo";
  444. oParam.async = false;
  445. oParam.callback = "cf_TRMRC03003";
  446. tranf_submit(oParam);
  447. ds_main_cond.setColumn(0, "pid" , ds_patinfo.getColumn(0,"pid"));
  448. ds_main_cond.setColumn(0, "hngnm" , ds_patinfo.getColumn(0,"hngnm"));
  449. ds_main_cond.setColumn(0, "rrgstno1" , ds_patinfo.getColumn(0,"rrgstno1"));
  450. if (!utlf_isNull(ds_patinfo.getColumn(0,"rrgstno2"))) {
  451. ds_main_cond.setColumn(0, "rrgstno2" , ds_patinfo.getColumn(0,"rrgstno2").substring(0, 1) + "******");
  452. }
  453. }
  454. /**
  455. * @desc 이전사본발행 내역조회
  456. * @param pid : 등록번호
  457. */
  458. function fReqGetBfCopyIssHistList(pid){
  459. ds_send_reqdata.clearData();
  460. ds_send_reqdata.addRow();
  461. ds_send_reqdata.setColumn(0, "pid", pid);
  462. //ds_grd_apphist.enableevent = false;
  463. var oParam = {};
  464. oParam.id = "dump_TRMRC03003";
  465. oParam.service = "examcureacptexecapp.ExamCureAcpt";
  466. oParam.method = "reqGetCDCopyHist";
  467. oParam.inds = "reqparam=ds_send_reqdata";
  468. oParam.outds = "ds_grd_apphist=applist";
  469. oParam.async = false;
  470. oParam.callback = "cf_TRMRC03003";
  471. tranf_submit(oParam);
  472. }
  473. /**
  474. * @group :
  475. * @ver :
  476. * @by : 이창록 2008-08-29
  477. * @---------------------------------------------------
  478. * @type : function
  479. * @access : public
  480. * @desc : 사본발행 목적 팝업 호출(사본발행신청 화면과 동일)
  481. * @param :
  482. * @return :
  483. * @---------------------------------------------------
  484. */
  485. function fIssGoalPopUp(){
  486. utlf_addLog("***** fIssGoalPopUp() *****");
  487. var sIssUsge = "";
  488. var sIssUsgeCnt = 0;
  489. var sIssGoalEtcYN = false;
  490. var sIssGoalEtc = "";
  491. var sIssGoalEtcCd = "";
  492. var sIssGoalCd = "";
  493. var sStndRow = 0;
  494. var sIssno = "";
  495. var sIssissgoalcd = "";
  496. frmf_setParameter("SPMMR02200_multichkyn", "N");
  497. var rtObj = frmf_modal("SPMMR02200", "SPMMR02200", null, null, null, null, null, null, null, null, null, null, "M");
  498. //ds_main_issusge dataset return
  499. if( !utlf_isNull(rtObj.copyInfoDs) ){
  500. var nRow = rtObj.copyInfoDs.rowposition;
  501. var issusge = utlf_transNullToEmpty(rtObj.copyInfoDs.getColumn(nRow, "reqdata"));
  502. sIssUsge = issusge;
  503. sIssUsgeCnt = issusge.split("▩").length;
  504. if(sIssUsgeCnt > 0){
  505. for(var i=1; i<sIssUsgeCnt; i++){
  506. if(i != sIssUsgeCnt-1){
  507. if(!utlf_isNull(sIssGoalEtc)) sIssGoalEtc += ",";
  508. if(!utlf_isNull(sIssGoalEtcCd)) sIssGoalEtcCd += ",";
  509. }
  510. sIssGoalEtc += getArrayData(sIssUsge, i, 1);
  511. sIssGoalCd = getArrayData(sIssUsge, i, 0);
  512. if(sIssGoalCd == "99"){
  513. sIssGoalEtcYN = true;
  514. }
  515. sIssGoalEtcCd += sIssGoalCd;
  516. }
  517. if(sIssGoalEtcYN == true){
  518. group3.ipt_issgoaletc.enable = true;
  519. }else{
  520. ds_main_appinfo_copyinfo.setColumn(0, "issgoalcd","");
  521. group3.ipt_issgoaletc.enable = false;
  522. }
  523. if(sIssGoalEtcCd.indexOf("06") > -1){
  524. sysf_messageBox("직할병원용 : 주치의가 8개 직할 병원으로 이동하여 환자도 함께 전원 가기를 희망하는 경우 선택","E008");
  525. }
  526. ds_main_appinfo_copyinfo.setColumn(0, "issgoaletc", sIssGoalEtc);
  527. ds_main_appinfo_copyinfo.setColumn(0, "issgoaletccd", sIssGoalEtcCd);
  528. ds_main_appinfo_copyinfo.setColumn(0, "issgoaletcnm", "");
  529. }
  530. }
  531. }
  532. function fContentsPopUp(){
  533. utlf_addLog("***** fContentsPopUp() *****");
  534. var sIssUsge = "";
  535. var sIssUsgeCnt = 0;
  536. var sIssGoalEtcYN = false;
  537. var sIssGoalEtc = "";
  538. var sIssGoalEtcCd = "";
  539. var sIssGoalCd = "";
  540. var sStndRow = 0;
  541. var sIssno = "";
  542. var sIssissgoalcd = "";
  543. frmf_setParameter("SPAEA05600_multichkyn", "N");
  544. var rtObj = frmf_modal("SPAEA05600", "SPAEA05600", null, null, null, null, null, null, null, null, null, null, "M");
  545. //ds_main_issusge dataset return
  546. if( !utlf_isNull(rtObj.copyInfoDs) ){
  547. var nRow = rtObj.copyInfoDs.rowposition;
  548. var issusge = utlf_transNullToEmpty(rtObj.copyInfoDs.getColumn(nRow, "reqdata"));
  549. sIssUsge = issusge;
  550. sIssUsgeCnt = issusge.split("▩").length;
  551. if(sIssUsgeCnt > 0){
  552. for(var i=1; i<sIssUsgeCnt; i++){
  553. if(i != sIssUsgeCnt-1){
  554. if(!utlf_isNull(sIssGoalEtc)) sIssGoalEtc += ",";
  555. if(!utlf_isNull(sIssGoalEtcCd)) sIssGoalEtcCd += ",";
  556. }
  557. sIssGoalEtc += getArrayData(sIssUsge, i, 1);
  558. sIssGoalCd = getArrayData(sIssUsge, i, 0);
  559. if(sIssGoalCd == "99"){
  560. sIssGoalEtcYN = true;
  561. }
  562. sIssGoalEtcCd += sIssGoalCd;
  563. }
  564. if(sIssGoalEtcYN == true){
  565. group3.ipt_issgoaletc.enable = true;
  566. }else{
  567. ds_main_appinfo_copyinfo.setColumn(0, "issgoalcd","");
  568. group3.ipt_issgoaletc.enable = false;
  569. }
  570. if(sIssGoalEtcCd.indexOf("06") > -1){
  571. sysf_messageBox("직할병원용 : 주치의가 8개 직할 병원으로 이동하여 환자도 함께 전원 가기를 희망하는 경우 선택","E008");
  572. }
  573. ds_main_appinfo_copyinfo.setColumn(0, "issgoaletc", sIssGoalEtc);
  574. ds_main_appinfo_copyinfo.setColumn(0, "issgoaletccd", sIssGoalEtcCd);
  575. }
  576. }
  577. }
  578. //영상복사 신청내역 삭제
  579. function fRadCopyDelete()
  580. {
  581. utlf_addLog("***** fRadCopyDelete() *****");
  582. if(utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "copyseqno"))){
  583. sysf_messageBox("영상복사이력를 먼저 선택","I008");
  584. } else {
  585. var pid = ds_main_appinfo_copyinfo.getColumn(0, "pid");
  586. var copyseqno = ds_main_appinfo_copyinfo.getColumn(0, "copyseqno");
  587. }
  588. if ( sysf_messageBox("영상복사이력을 ","Q001")== 7 ) { //삭제 예 =6, 아니오=7
  589. return;
  590. }
  591. ds_send_reqdata.clearData();
  592. ds_send_reqdata.addRow();
  593. ds_send_reqdata.setColumn(0, "pid", pid);
  594. ds_send_reqdata.setColumn(0, "copyseqno", copyseqno);
  595. var oParam = {};
  596. oParam.id = "dump_TRMRC03013";
  597. oParam.service = "examcureacptexecapp.ExamCureAcpt";
  598. oParam.method = "reqDelCDCopyList";
  599. oParam.inds = "reqparam=ds_send_reqdata";
  600. oParam.outds = "ds_return=return";
  601. oParam.async = false;
  602. oParam.callback = "cf_TRMRC03012";
  603. tranf_submit(oParam);
  604. //이전영상복사내역 조회
  605. fReqGetBfCopyIssHistList(group2.ipt_pid.text);
  606. }
  607. // 영상복사 신청내역 저장
  608. function fRadCopySave()
  609. {
  610. utlf_addLog("***** fRadCopySave() *****");
  611. var cnt = 0;
  612. if(utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "appdeptcd"))){
  613. sysf_messageBox("진료과를 먼저 선택","I008");
  614. return;
  615. }
  616. if(utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "appdrid"))){
  617. sysf_messageBox("신청의사를 선택","I008");
  618. return;
  619. }
  620. if (utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "appmanflag"))){
  621. group3.rdo_appmanflag.setFocus();
  622. sysf_messageBox("사본발행 신청인을", "C001");
  623. return;
  624. }
  625. if ( ds_main_appinfo_copyinfo.getColumn(0, "appmanflag")=="9"){
  626. if (utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "appmanetc"))){
  627. group3.ipt_appmannm.setFocus();
  628. sysf_messageBox("사본발행 신청인을", "C001");
  629. return;
  630. }
  631. }
  632. if (utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "trustyn"))){
  633. group3.rdo_trustyn.setFocus();
  634. sysf_messageBox("위임장/인감증명서 유무를", "C001");
  635. return;
  636. }
  637. if (utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "issgoaletc"))){
  638. group3.ipt_issgoalnm.setFocus();
  639. sysf_messageBox("사본발행목적을", "C001");
  640. return;
  641. }
  642. if ( ds_main_appinfo_copyinfo.getColumn(0, "issgoaletc")=="기타"){
  643. if (utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "issgoaletcnm"))){
  644. group3.ipt_issgoaletc.setFocus();
  645. sysf_messageBox("사본발행목적을", "C001");
  646. return;
  647. }
  648. }
  649. if (utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "delivefact"))){
  650. group4.txt_delivefact.setFocus();
  651. sysf_messageBox("사본발행 상세내역을", "C001");
  652. return;
  653. }
  654. //20181224 발행번호가 없을 경우에만 체크
  655. if(utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "copyseqno"))){
  656. for (var i = 0; i < ds_grd_mainordlist.rowcount; i++) {
  657. if(ds_grd_mainordlist.getColumn(i,"chk") == "1"){
  658. cnt = cnt + 1;
  659. ds_main_appinfo_copyinfo.setColumn(0, "prcpdd", ds_grd_mainordlist.getColumn(i,"prcpdd"));
  660. ds_main_appinfo_copyinfo.setColumn(0, "prcpno", ds_grd_mainordlist.getColumn(i,"prcpno"));
  661. ds_main_appinfo_copyinfo.setColumn(0, "prcphistno", ds_grd_mainordlist.getColumn(i,"prcphistno"));
  662. }
  663. }
  664. if ( cnt == 0 ) {
  665. sysf_messageBox("처방내역을 ", "C002");
  666. return;
  667. }
  668. }
  669. //저장정보 수집
  670. dsf_createDs("ds_send_savedata_copyinfo");
  671. ds_send_savedata_copyinfo.copyData(ds_main_appinfo_copyinfo,true);
  672. ds_send_savedata_copyinfo.setColumn(0, "status", "i");
  673. ds_send_savedata_copyinfo.setColumn(0, "pid" ,ds_main_cond.getColumn(0, "pid"));
  674. ds_send_savedata_copyinfo.setColumn(0, "appdd" ,utlf_getCurrentDate());
  675. if(ds_main_appinfo_copyinfo.getColumn(0, "appmanflag")=="9")
  676. {
  677. ds_send_savedata_copyinfo.setColumn(0, "appmanflag" ,ds_main_appinfo_copyinfo.getColumn(0, "appmanflag"));
  678. ds_send_savedata_copyinfo.setColumn(0, "appmannm" ,group3.ipt_appmannm.text);
  679. }
  680. else
  681. {
  682. ds_send_savedata_copyinfo.setColumn(0, "appmanflag" ,ds_main_appinfo_copyinfo.getColumn(0, "appmanflag"));
  683. ds_send_savedata_copyinfo.setColumn(0, "appmannm" ,group3.rdo_appmanflag.text);
  684. }
  685. ds_send_savedata_copyinfo.setColumn(0, "trustyn" ,ds_main_appinfo_copyinfo.getColumn(0, "trustyn"));
  686. if(ds_main_appinfo_copyinfo.getColumn(0, "issgoaletccd") == "99") // 사본발행목적이 기타일 경우
  687. {
  688. ds_send_savedata_copyinfo.setColumn(0, "issgoalcd" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletccd"));
  689. ds_send_savedata_copyinfo.setColumn(0, "issgoalnm" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletcnm"));
  690. }
  691. else
  692. {
  693. ds_send_savedata_copyinfo.setColumn(0, "issgoalcd" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletccd"));
  694. ds_send_savedata_copyinfo.setColumn(0, "issgoalnm" ,ds_main_appinfo_copyinfo.getColumn(0, "issgoaletc"));
  695. }
  696. ds_send_savedata_copyinfo.setColumn(0, "delivefact" ,ds_main_appinfo_copyinfo.getColumn(0, "delivefact"));
  697. ds_send_savedata_copyinfo.setColumn(0, "cdcount" ,ds_main_appinfo_copyinfo.getColumn(0, "cdcount"));
  698. var oParam = {};
  699. oParam.id = "dump_TRMRC03012";
  700. oParam.service = "examcureacptexecapp.ExamCureAcpt";
  701. oParam.method = "reqExeCDCopyList";
  702. oParam.inds = "reqparam=ds_send_savedata_copyinfo";
  703. oParam.outds = "ds_return=return";
  704. oParam.async = false;
  705. oParam.callback = "cf_TRMRC03012";
  706. tranf_submit(oParam);
  707. //이전영상복사내역 조회
  708. fReqGetBfCopyIssHistList(group2.ipt_pid.text);
  709. }
  710. //프린트 인쇄
  711. function fRadCopyPrint()
  712. {
  713. utlf_addLog("***** fRadCopyPrint() *****");
  714. if (utlf_isNull(ds_main_appinfo_copyinfo.getColumn(0, "copyseqno"))){
  715. sysf_messageBox("영상복사신청자료를", "C002");
  716. return;
  717. }
  718. dsf_createDs("ds_send_savedata_copyinfo");
  719. ds_send_savedata_copyinfo.copyData(ds_main_appinfo_copyinfo,true);
  720. if(ds_main_appinfo_copyinfo.getColumn(0, "appmanflag")=="9")
  721. {
  722. ds_send_savedata_copyinfo.setColumn(0, "appmannm" ,ds_main_appinfo_copyinfo.getColumn(0, "appmanetc"));
  723. }
  724. dsf_createDs("ds_send_savedata_paminfo");
  725. ds_send_savedata_paminfo.copyData(ds_main_cond,true);
  726. // exeReportPreview("RPAEA05200", "XMLSTR" , "" , "" , "true" , "", "", "", "", "true");
  727. var objDOM = rptf_createDOM(); // DOM 객체 설정
  728. var objParam = new Object();
  729. rptf_setNodeListToDOM(objDOM, "/root/rexsend/copyinfo", ds_send_savedata_copyinfo);
  730. rptf_setNodeListToDOM(objDOM, "/root/rexsend/paminfo", ds_send_savedata_paminfo);
  731. objParam.xml_data_XML1 = objDOM.documentElement.source;
  732. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0;";
  733. rptf_exeReportPreview30(["RPAEA07300"],[objParam], option);
  734. }
  735. //상세신청내역
  736. function fContenPopUp()
  737. {
  738. ds_hidden.setColumn(0, "checkseq","57");
  739. ds_hidden.setColumn(0, "grupcdid","A0012");
  740. var objArg = new Object();
  741. objArg.arg_ds_source = "";
  742. frmf_modal("SPAEA05600", "SPAEA05600" ,objArg,"","", "100", "100", "", "", "", "", "","M");
  743. }
  744. ]]></Script>