SSMRC03300.xjs 50 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  3. * System Name : DBS
  4. * Job Name :
  5. * File Name : SSMRC03300.xjs
  6. * Creator :
  7. * Make Date : 2014-11-21
  8. *
  9. * Description :
  10. *---------------------------------------------------------------------------------------
  11. * Modify Date Modifier Modify Description
  12. *---------------------------------------------------------------------------------------
  13. * 2014-11-21 DBS Converting Program(TF->XP)
  14. *
  15. *---------------------------------------------------------------------------------------
  16. ****************************************************************************************/
  17. //=======================================================================================
  18. // Transaction Callback
  19. //---------------------------------------------------------------------------------------
  20. /****************************************************************************************
  21. * Argument : 01.sSvcId : 서비스 ID
  22. * : 02.nErrorCode : 에러코드
  23. * : 03.sErrorMsg : 에러메시지
  24. * Description : tr_getCodeList의 콜백함수
  25. ****************************************************************************************/
  26. function cf_TRMRC00110(sSvcId, nErrorCode, sErrorMsg) {
  27. arErrorCode.push(sSvcId, nErrorCode);
  28. if(nErrorCode < 0) return;
  29. //sysf_trace("***** cf_TRMRC00110 *****");
  30. ds_grd_applist.rowposition = -1;
  31. }
  32. function cf_TRPMC02500(sSvcId, nErrorCode, sErrorMsg) {
  33. arErrorCode.push(sSvcId, nErrorCode);
  34. if(nErrorCode < 0) return;
  35. //sysf_trace("***** cf_TRPMC02500 *****");
  36. }
  37. function cf_TXMRC03001(sSvcId, nErrorCode, sErrorMsg) {
  38. arErrorCode.push(sSvcId, nErrorCode);
  39. arErrorMsg.push(sSvcId, sErrorMsg.split("|")[0]);
  40. //sysf_trace("***** cf_TXMRC03001 *****");
  41. }
  42. function cf_TRMRC00180(sSvcId, nErrorCode, sErrorMsg) {
  43. arErrorCode.push(sSvcId, nErrorCode);
  44. if(nErrorCode < 0) return;
  45. //sysf_trace("***** cf_TRMRC00180 *****");
  46. }
  47. function cf_TXMRC03003(sSvcId, nErrorCode, sErrorMsg) {
  48. arErrorCode.push(sSvcId, nErrorCode);
  49. arErrorMsg.push(sSvcId, sErrorMsg.split("|")[0]);
  50. //sysf_trace("***** cf_TXMRC03003 *****");
  51. }
  52. function cf_TRMRC00113(sSvcId, nErrorCode, sErrorMsg) {
  53. arErrorCode.push(sSvcId, nErrorCode);
  54. if(nErrorCode < 0) return;
  55. //sysf_trace("***** cf_TRMRC00113 *****");
  56. ds_grd_rendlist.rowposition = -1;
  57. }
  58. function cf_TRMRC00144(sSvcId, nErrorCode, sErrorMsg) {
  59. arErrorCode.push(sSvcId, nErrorCode);
  60. if(nErrorCode < 0) return;
  61. //sysf_trace("***** cf_TRMRC00144 *****");
  62. ds_grd_chrtlist.rowposition = -1;
  63. }
  64. function cf_TXMRC00120(sSvcId, nErrorCode, sErrorMsg) {
  65. arErrorCode.push(sSvcId, nErrorCode);
  66. if(nErrorCode < 0) return;
  67. //sysf_trace("***** cf_TXMRC00120 *****");
  68. ds_grd_applist.rowposition = -1;
  69. ds_grd_rendlist.rowposition = -1;
  70. }
  71. function cf_TXMRC00105(sSvcId, nErrorCode, sErrorMsg) {
  72. arErrorCode.push(sSvcId, nErrorCode);
  73. if(nErrorCode < 0) return;
  74. //sysf_trace("***** cf_TXMRC00105 *****");
  75. }
  76. function cf_TXMRC00102(sSvcId, nErrorCode, sErrorMsg) {
  77. arErrorCode.push(sSvcId, nErrorCode);
  78. if(nErrorCode < 0) return;
  79. //sysf_trace("***** cf_TXMRC00102 *****");
  80. }
  81. function cf_TXMRC00100(sSvcId, nErrorCode, sErrorMsg) {
  82. arErrorCode.push(sSvcId, nErrorCode);
  83. if(nErrorCode < 0) return;
  84. //sysf_trace("***** cf_TXMRC00100 *****");
  85. ds_grd_rendlist.rowposition = -1;
  86. }
  87. //=======================================================================================
  88. // Global Form Variable
  89. //---------------------------------------------------------------------------------------
  90. var arErrorCode = new HashArray();
  91. var arErrorMsg = new HashArray();
  92. var screenX = "";
  93. var screenY = "";
  94. //=======================================================================================
  95. // Function
  96. //---------------------------------------------------------------------------------------
  97. /****************************************************************************************
  98. * Argument : 01. :
  99. * : 02. :
  100. * Description : 화면 초기화
  101. ****************************************************************************************/
  102. /**
  103. * @desc : 폼초기화
  104. * @
  105. * @param :
  106. * @return :
  107. * @authur : 이은영 2008.03.18
  108. * @---------------------------------------------------
  109. */
  110. function fFormInit()
  111. {
  112. /* 마스터 정보 가져오기..
  113. //공통코드 가져오기...
  114. //M0392:챠트미대출사유코드
  115. //M0412:과보관사유코드
  116. //M0424:차트상태(분실)코드
  117. zbcfGetCodeList(new Array("M0392","M0412","M0424"), new Array("/root/init/M0392","/root/init/M0412","/root/init/M0424"));
  118. // 대출용도, 대출과, 차트과, 차트담당자, 보관장소
  119. model.makeValue("/root/send/reqdata/ioflag" , "O");
  120. model.makeValue("/root/send/reqdata/useyn" , "");
  121. model.makeValue("/root/send/reqdata/allwardyn", "");
  122. model.refresh();
  123. submit("TRMRC00100");
  124. //*/
  125. ds_send_reqdata.setColumn(0, "rendcd" , "ALL");
  126. ds_send_reqdata.setColumn(0, "appdept" , "ALL");
  127. ds_send_reqdata.setColumn(0, "appdd" , utlf_getCurrentDate());
  128. ds_send_reqdata.setColumn(0, "chrtman" , "ALL");
  129. ds_send_reqdata.setColumn(0, "keepplce", "ALL");
  130. ds_send_reqdata.setColumn(0, "renddd" , utlf_getCurrentDate());
  131. ds_send_reqdata.setColumn(0, "resettm" , utlf_getCurrentTime());
  132. ds_send_reqdata.setColumn(0, "acptid" , sysf_getUserId());
  133. // 2008.07.30. 차트자동대출 , 차트기타대출 : display 구분
  134. ds_send_reqdata.setColumn(0, "autolendflag", "A");
  135. fDisplayAutoLend();
  136. }
  137. /**
  138. * @desc : 차트자동대출 , 차트기타대출 : display
  139. * @
  140. * @param :
  141. * @return :
  142. * @authur : 이은영 2008.07.30
  143. * @---------------------------------------------------
  144. */
  145. function fDisplayAutoLend()
  146. {
  147. var flag = ds_send_reqdata.getColumn(0, "autolendflag");
  148. if (flag == "A") {
  149. grup_lendinfo.switch1.tabindex = 0;
  150. grup_lendinfo.switch1.lendinfo_etc.enable = false;
  151. grup_chrtlist.enable = false;
  152. }
  153. else if (flag == "I") { //2010.12.27, 주희경, 입원대출 추가
  154. grup_lendinfo.switch1.tabindex = 1;
  155. grup_chrtlist.enable = true;
  156. //cbo_lenddeptcd.dispatch("xforms-value-changed");
  157. var e = new ItemChangeEventInfo;
  158. frmf_inputEnterKey("grup_lendinfo.switch1.lendinfo_inpt.cbo_lenddeptcd", "onitemchanged", e);
  159. } else {
  160. grup_lendinfo.switch1.tabindex = 0;
  161. grup_lendinfo.switch1.lendinfo_etc.enable = true;
  162. grup_chrtlist.enable = true;
  163. //cmb_l_appdeptcd.dispatch("xforms-value-changed");
  164. var e = new ItemChangeEventInfo;
  165. frmf_inputEnterKey("grup_lendinfo.switch1.lendinfo_etc.cmb_l_appdeptcd", "onitemchanged", e);
  166. }
  167. grup_lendinfo.switch1.lendinfo_etc.ipt_l_lendmanid.enable = false;
  168. grup_lendinfo.switch1.lendinfo_etc.ipt_l_appmanid.enable = false;
  169. grup_lendinfo.switch1.lendinfo_etc.ipt_l_appmannm.enable = false;
  170. grup_chrtlist.ipt_chrtpnm.enable = false;
  171. }
  172. /**
  173. * @desc : 챠트 대출 우클릭시 - > 챠트대출
  174. * @
  175. * @param :
  176. * @return :
  177. * @authur : 이은영 2008.03.18
  178. * @---------------------------------------------------
  179. */
  180. function fsetrendchart()
  181. {
  182. fUpdateRendDelFlagYN("N");
  183. }
  184. /**
  185. * @desc : 챠트 대출 우클릭시 - > 대출 신청 취소
  186. * @
  187. * @param :
  188. * @return :
  189. * @authur : 이은영 2008.03.18
  190. * @---------------------------------------------------
  191. */
  192. function fsetrendcncl()
  193. {
  194. fUpdateRendDelFlagYN("Y");
  195. }
  196. /**
  197. * @desc : 챠트 대출 우클릭시 - > 챠트 대출 또는 대출 신청 취소(update)
  198. * @
  199. * @param : flag ('N'=> 챠트대출, 'Y'=>신청취소)
  200. * @return :
  201. * @authur : 이은영 2008.03.18
  202. * @---------------------------------------------------
  203. */
  204. function fUpdateRendDelFlagYN(flag)
  205. {
  206. //var ref = "/root/main/chrtlend/applist";
  207. var grdObj = grd_applist;
  208. var grdDs = this.objects[grdObj.binddataset];
  209. var savedata = "status▦chrtseqno▦medirecno▦pid▦rendcd▦appmanid▦appdeptcd▦delyn▦renddd▦resettm▦acptid▦ioflag▩";
  210. var dataString = "";
  211. var dataCount = 0;
  212. var renddd = utlf_getCurrentDate();
  213. ds_send_reqdata.setColumn(0, "renddd" , utlf_getCurrentDate());
  214. var resettm = ds_send_reqdata.getColumn(0, "resettm");
  215. var acptid = ds_send_reqdata.getColumn(0, "acptid");
  216. var selectedRows = grdf_getSelectedRows(grdObj);
  217. for ( var i = 0; i < selectedRows.length; i++)
  218. {
  219. var chrtlendyn = grdDs.getColumn(selectedRows[i], "chrtlendyn");
  220. if (chrtlendyn != "Y")
  221. {
  222. var chrtseqno = grdDs.getColumn(selectedRows[i], "chrtseqno");
  223. var medirecno = grdDs.getColumn(selectedRows[i], "medirecno");
  224. var pid = grdDs.getColumn(selectedRows[i], "pid");
  225. var rendcd = grdDs.getColumn(selectedRows[i], "rendcd");
  226. var appmanid = grdDs.getColumn(selectedRows[i], "appmanid");
  227. var appdeptcd = grdDs.getColumn(selectedRows[i], "appdeptcd");
  228. //2010.12.28, 주희경, 입원대출 시에는 ioflag를 I로 설정
  229. if ( ds_send_reqdata.getColumn(0, "autolendflag") == "I" )
  230. {
  231. var ioflag = "I";
  232. }
  233. dataString = dataString + "u▦" + chrtseqno + "▦" + medirecno + "▦" + pid + "▦" + rendcd + "▦" + appmanid + "▦" + appdeptcd + "▦" + flag + "▦";
  234. dataString = dataString + renddd + "▦" + resettm + "▦" + acptid + "▦"+ioflag+"▩";
  235. dataCount = dataCount + 1;
  236. }
  237. }
  238. if (dataString.length > 0)
  239. {
  240. //model.makeValue("/root/send/savedata", savedata + dataString);
  241. dsf_setCSVToDs("ds_send_savedata", savedata + dataString);
  242. //sysf_trace(ds_send_savedata.saveXML());
  243. if (flag == "N"){
  244. var oParam = {};
  245. oParam.id = "TXMRC00120";
  246. oParam.service = "chrtmngtapp.ChrtRendMngt";
  247. oParam.method = "setRendList";
  248. oParam.inds = "req=ds_send_savedata";
  249. oParam.outds = "ds_grd_applist=applist ds_grd_rendlist=rendlist";
  250. oParam.async = true
  251. oParam.callback = "cf_TXMRC00120";
  252. tranf_submit(oParam);
  253. alert("총 " + dataCount + " 건 챠트대출 되었습니다.");
  254. // 2008.01.02. 대출현황 조회 총건수..
  255. ds_init.setColumn(0, "count", ds_grd_rendlist.rowcount);
  256. } else {
  257. var oParam = {};
  258. oParam.id = "TXMRC00105";
  259. oParam.service = "chrtmngtapp.ChrtRendMngt";
  260. oParam.method = "setAppCancle";
  261. oParam.inds = "savedata=ds_send_savedata";
  262. //oParam.outds = "null";
  263. oParam.async = true;
  264. oParam.callback = "cf_TXMRC00105";
  265. tranf_submit(oParam);
  266. alert("총 " + dataCount + " 건 대출신청이 취소되었습니다.");
  267. }
  268. // 접수현황 다시 조회하기..
  269. fGetLendList();
  270. }
  271. }
  272. /**
  273. * @desc : 챠트 대출 우클릭시 - > 미대출 사유 입력
  274. * @
  275. * @param :
  276. * @return :
  277. * @authur : 이은영 2008.03.18
  278. * @---------------------------------------------------
  279. */
  280. function fsetrendresn(){
  281. if(ds_grd_applist.rowposition < 0){
  282. return;
  283. }
  284. // 2007.12.27. 미대출사유 입력하기...
  285. fShowWndIptBox("0");
  286. }
  287. /**
  288. * @desc : 챠트 대출 우클릭시 - > 미대출 사유 업데이트 (update)
  289. * @
  290. * @param :
  291. * @return :
  292. * @authur : 이은영 2008.03.18
  293. * @---------------------------------------------------
  294. */
  295. function fUpdateUnrendresn(){
  296. // 2007.12.27. 미대출사유 입력하기...
  297. var unrendcd = ds_hidden_applist.getColumn(0, "unrendcd");
  298. var unrendresn = ds_hidden_applist.getColumn(0, "unrendresn");
  299. var savedata ="chrtseqno▦unrendcd▦unrendresn▩";
  300. var dataString = "";
  301. var dataCount = 0;
  302. var selectedRows = grdf_getSelectedRows(grd_applist);
  303. for ( var i = 0; i < selectedRows.length; i++)
  304. {
  305. var chrtseqno = ds_grd_applist.getColumn(selectedRows[i], "chrtseqno");
  306. if (!utlf_isNull(chrtseqno)) {
  307. dataString = dataString + chrtseqno + "▦" + unrendcd + "▦" + unrendresn + "▩";
  308. dataCount = dataCount + 1;
  309. }
  310. }
  311. grup_unrendresn.visible = false;
  312. if (dataString.length > 0)
  313. {
  314. dsf_setCSVToDs("ds_send_savedata", savedata + dataString);
  315. //sysf_trace(ds_send_savedata.saveXML());
  316. var oParam = {};
  317. oParam.id = "TXMRC00102";
  318. oParam.service = "chrtmngtapp.ChrtRendMngt";
  319. oParam.method = "setUnRend";
  320. oParam.inds = "savedata=ds_send_savedata";
  321. //oParam.outds = "null";
  322. oParam.async = true;
  323. oParam.callback = "cf_TXMRC00102";
  324. tranf_submit(oParam);
  325. alert("총 " + dataCount + " 건 미대출(사유입력) 되었습니다.");
  326. // 다시 조회하기..
  327. fGetLendList();
  328. }
  329. }
  330. /**
  331. * @desc : 챠트 대출 조회
  332. * @
  333. * @param :
  334. * @return :
  335. * @authur : 이은영 2008.03.18
  336. * @---------------------------------------------------
  337. */
  338. function fGetLendList()
  339. {
  340. var oParam = {};
  341. oParam.id = "TRMRC00110";
  342. oParam.service = "chrtmngtapp.ChrtRendMngt";
  343. oParam.method = "reqGetRendList";
  344. oParam.inds = "req=ds_send_reqdata";
  345. oParam.outds = "ds_grd_applist=applist";
  346. oParam.async = true;
  347. oParam.callback = "cf_TRMRC00110";
  348. tranf_submit(oParam);
  349. //var pid = ds_send_reqdata.getColumn(0, "pid");
  350. //if (pid.length > 0) {
  351. // ds_send_reqdata.setColumn(0, "pid", pid);
  352. // model.refresh();
  353. // btn_chrtlist.dispatch("DOMActivate");
  354. //}
  355. }
  356. /**
  357. * @desc : 챠트 대출 조회 - 바크도 입력후 대출현황만 다시조회한다. (로그인 사용자별)
  358. * @
  359. * @param :
  360. * @return :
  361. * @authur : 이은영 2008.03.18
  362. * @---------------------------------------------------
  363. */
  364. function fGetUserLendList()
  365. {
  366. var oParam = {};
  367. oParam.id = "TRMRC00113";
  368. oParam.service = "chrtmngtapp.ChrtRendMngt";
  369. oParam.method = "reqGetUserRendList";
  370. oParam.inds = "req=ds_send_reqdata";
  371. oParam.outds = "ds_grd_rendlist=rendlist";
  372. oParam.async = true;
  373. oParam.callback = "cf_TRMRC00113";
  374. tranf_submit(oParam);
  375. }
  376. /**
  377. * @desc : 종이챠트 선택 후 -> 대출등록
  378. * @
  379. * @param :
  380. * @return :
  381. * @authur : 이은영 2008.03.18
  382. * @---------------------------------------------------
  383. */
  384. function fSetLendChart()
  385. {
  386. // 대출등록
  387. var rendcd = ds_main_lendinfo.getColumn(0, "rendcd");
  388. var appdeptcd = ds_main_lendinfo.getColumn(0, "appdeptcd");
  389. var lendmanid = ds_main_lendinfo.getColumn(0, "lendmanid");
  390. var appmanid = ds_main_lendinfo.getColumn(0, "appmanid");
  391. var cntctelno = ds_main_lendinfo.getColumn(0, "cntctelno");
  392. var msgcnts = ds_main_lendinfo.getColumn(0, "msgcnts");
  393. var chrtpid = ds_main_lendinfo.getColumn(0, "chrtpid");
  394. var autolendflag = ds_send_reqdata.getColumn(0, "autolendflag");
  395. if (utlf_isNull(rendcd)){
  396. alert("대출용도를 선택해 주세요", "차트대출 및 반납", 0 | 64);
  397. grup_lendinfo.switch1.lendinfo_etc.cmb_l_rendcd.setFocus();
  398. return;
  399. }
  400. if (utlf_isNull(appdeptcd)){
  401. alert("대출과를 선택해 주세요", "차트대출 및 반납", 0 | 64);
  402. grup_lendinfo.switch1.lendinfo_etc.cmb_l_appdeptcd.setFocus();
  403. return;
  404. }
  405. if (utlf_isNull(lendmanid) || lendmanid.isNumber()== false){
  406. alert("대출자를 선택해 주세요", "차트대출 및 반납", 0 | 64);
  407. grup_lendinfo.switch1.lendinfo_etc.ipt_l_lendmanid.setFocus();
  408. return;
  409. }
  410. if ( utlf_isNull(appmanid) || appmanid.isNumber()== false ){
  411. alert("신청자를 선택해 주세요", "차트대출 및 반납", 0 | 64);
  412. grup_lendinfo.switch1.lendinfo_etc.ipt_l_appmanid.setFocus();
  413. return;
  414. }
  415. // 2008.09.01. 차트신청시 [ 021:연구용, 022:임상연구용 ]
  416. // 전달메세지 : 반드시 전달메세지 (연구 제목 및 기타사항) 을 입력해 주십시오..
  417. if (rendcd == "021" || rendcd == "022"){
  418. msgcnts = msgcnts.getTrimLeft();
  419. msgcnts = msgcnts.getTrimRight();
  420. if (utlf_isNull(msgcnts.length)){
  421. alert("반드시 전달메세지 (연구 제목 및 기타사항) 을 입력해 주십시오..", "차트대출신청", 0 | 64);
  422. grup_lendinfo.switch1.lendinfo_etc.ipt_l_msgcnts.setFocus();
  423. return;
  424. }
  425. }
  426. // 2009.03.18. 대출과가 센터인 경우 진료과 선택 체킹하기...
  427. var orddeptkind = ds_main_lendinfo.getColumn(0, "orddeptkind");
  428. var orddeptcd = ds_main_lendinfo.getColumn(0, "orddeptcd");
  429. if (orddeptkind == "C" && orddeptcd == "-"){
  430. alert("대출과가 센터인 경우 진료과를 선택해주세요.", "차트대출신청", 0 | 64);
  431. grup_lendinfo.switch1.lendinfo_etc.cmb_l_orddeptcd.setFocus();
  432. return;
  433. }
  434. // 2009.03.18. 대출과가 센터인 경우 진료과 , 센터과 저장
  435. var centcd = "-";
  436. if (orddeptkind == "C") {
  437. centcd = ds_main_lendinfo.getColumn(0, "appdeptcd");
  438. }
  439. ds_send_reqdata.setColumn(0, "status", "i");
  440. // 2007.12.14. 대출일자는 당일로 한다...
  441. var renddd = utlf_getCurrentDate();
  442. ds_send_reqdata.setColumn(0, "renddd", renddd);
  443. var resettm = ds_send_reqdata.getColumn(0, "resettm");
  444. var acptid = ds_send_reqdata.getColumn(0, "acptid");
  445. var icnt = 0;
  446. var tmpSaveData = "status▦rendcd▦appdeptcd▦lendmanid▦appmanid▦cntctelno▦msgcnts▦renddd▦bcno▦";
  447. tmpSaveData = tmpSaveData + "pid▦chrtpid▦ioflag▦chrtflag▦medirecno▦resettm▦acptid▦orddeptcd▦centcd▦rendschedd▦dschdd▦deptcd▦chrtseqno▩";
  448. for ( var i = 0; i < ds_grd_chrtlist.rowcount; i++)
  449. {
  450. var ioflag = ds_grd_chrtlist.getColumn(i, "ioflag");
  451. //2010.12.28, 주희경, 입원대출 시에는 ioflag를 I로 설정
  452. if ( autolendflag == "I" )
  453. {
  454. ioflag = "I";
  455. }
  456. var chkflag = ds_grd_chrtlist.getColumn(i, "chkflag");
  457. var chrtflag = "P";
  458. var medirecno = ds_grd_chrtlist.getColumn(i, "medirecno");
  459. var pid = ds_grd_chrtlist.getColumn(i, "pid");
  460. if(chkflag == "Y"){
  461. tmpSaveData = tmpSaveData + "i▦" + rendcd + "▦" + appdeptcd + "▦" + lendmanid + "▦" + appmanid + "▦" + cntctelno + "▦" + msgcnts + "▦";
  462. tmpSaveData = tmpSaveData + renddd + "▦" + "" + "▦" + pid + "▦" + chrtpid + "▦" + ioflag + "▦" + chrtflag + "▦" + medirecno + "▦";
  463. tmpSaveData = tmpSaveData + resettm + "▦" + acptid + "▦" + orddeptcd + "▦" + centcd + "▦▦▦▦▩";
  464. icnt++;
  465. }
  466. }
  467. if(icnt < 1){
  468. alert("대출할 차트를 선택해 주세요", "차트대출 및 반납", 0 | 64);
  469. return;
  470. }
  471. //model.makeValue("/root/send/savedata", tmpSaveData);
  472. dsf_setCSVToDs("ds_send_savedata", tmpSaveData);
  473. //sysf_trace(ds_send_savedata.saveXML());
  474. var oParam = {};
  475. oParam.id = "TXMRC00100";
  476. oParam.service = "chrtmngtapp.ChrtRendMngt";
  477. oParam.method = "setRendList";
  478. oParam.inds = "req=ds_send_savedata";
  479. oParam.outds = "ds_grd_rendlist=rendlist";
  480. oParam.async = false;
  481. oParam.callback = "cf_TXMRC00100";
  482. tranf_submit(oParam);
  483. // 2008.01.02. 대출현황 조회 총건수..
  484. //model.setValue ("/root/init/count", grd_rendlist.rows - 1);
  485. //cap_rendlist.refresh();
  486. // 다시조회.. 종이챠트 리스트
  487. var e = new ClickEventInfo;
  488. frmf_inputEnterKey("grup_chrtlist.btn_chrtlist", "onclick", e);
  489. //btn_chrtlist.dispatch("DOMActivate");
  490. }
  491. /**
  492. * @desc : 바코드입력 후 엔터시 -> 대출등록 * @
  493. * @
  494. * @param :
  495. * @return :
  496. * @authur : 이은영 2008.03.18
  497. * @---------------------------------------------------
  498. */
  499. function fSetLendChartBcno()
  500. {
  501. var bcno = ds_send_reqdata.getColumn(0, "bcno");
  502. if (utlf_isNull(bcno) || bcno == "0"){
  503. alert("바코드를 입력해 주세요", "차트대출 및 반납", 0 | 64);
  504. ipt_lendbcno.setFocus();
  505. return;
  506. }
  507. // 2009.04.13. 의정부 성모인 경우..
  508. // 바코드 리딩시 lpad 로 해서 '0' 을 체움..
  509. // 리팅값과 DB값이 다를수 있음..
  510. // 바코드번호를 외래간호에서 생성하면 '0' 이 없고,
  511. // 의료정보팀에서 생성하면 '0' 이 있음..
  512. if (sysf_getUserInfo("dutplceinstcd") == "013") {
  513. if (bcno.length < 12) { bcno = bcno.getLeftPad(12, "0"); }
  514. }
  515. var autoflag = ds_send_reqdata.getColumn(0, "autolendflag");
  516. if (autoflag == "A"){ // 자동대출인 경우
  517. // 데이타 셋하기.. 외래/입원구분, 처리자ID, 대출일, 조회시간, 바코드
  518. var resettm = ds_send_reqdata.getColumn(0, "resettm");
  519. ds_send_req.setColumn(0, "ioflag" , "O");
  520. ds_send_req.setColumn(0, "acptid" , sysf_getUserId());
  521. ds_send_req.setColumn(0, "renddd" , utlf_getCurrentDate());
  522. ds_send_req.setColumn(0, "resettm" , resettm);
  523. ds_send_req.setColumn(0, "bcno" , bcno.toUpperCase());
  524. sysf_setErrorMsg(false);//setErrorOff
  525. var oParam = {};
  526. oParam.id = "TXMRC03001";
  527. oParam.service = "chrtmngtapp.ChrtRendMngt";
  528. oParam.method = "reqExeLendChrtByBcno";
  529. oParam.inds = "req=ds_send_req";
  530. oParam.outds = "ds_grd_rendlist=rendlist";
  531. oParam.async = false;
  532. oParam.callback = "cf_TXMRC03001";
  533. tranf_submit(oParam);
  534. sysf_setErrorMsg(true);
  535. //var result = submit("TXMRC03001", "", "/root/send/req", "/root/main/chrtlend/rendlist");
  536. if (arErrorCode.pop("TXMRC03001") < 0)
  537. {
  538. var message = arErrorMsg.pop("TXMRC03001");
  539. if (message == "차트대출 신청건이 2건 이상 있습니다......!")
  540. {
  541. // 노드 클리어..
  542. ds_grd_chrtapplist.clearData();
  543. // 신청내역조회하기..
  544. var oParam = {};
  545. oParam.id = "TRMRC00180";
  546. oParam.service = "chrtmngtapp.ChrtRendMngt";
  547. oParam.method = "reqGetChrtLendYNApp";
  548. oParam.inds = "req=ds_send_req";
  549. oParam.outds = "ds_grd_chrtapplist=chrtapplist";
  550. oParam.async = true;
  551. oParam.callback = "cf_TRMRC00180";
  552. tranf_submit(oParam);
  553. // 두개이상의 신청내역이 있으면 팝업으로 선택하게 한다.
  554. grup_applist.visible = true;
  555. return;
  556. } else {
  557. alert(message);
  558. }
  559. }
  560. } else if (autoflag == "E"){ // 기타대출인 경우
  561. //fSetLendChartBcnoEtc();
  562. //** 2008.11.19. 이은영.. 기타대출 속도 향상을 위해..
  563. // 대출등록
  564. var rendcd = ds_main_lendinfo.getColumn(0, "rendcd");
  565. var appdeptcd = ds_main_lendinfo.getColumn(0, "appdeptcd");
  566. var lendmanid = ds_main_lendinfo.getColumn(0, "lendmanid");
  567. var appmanid = ds_main_lendinfo.getColumn(0, "appmanid");
  568. var cntctelno = ds_main_lendinfo.getColumn(0, "cntctelno");
  569. var msgcnts = ds_main_lendinfo.getColumn(0, "msgcnts");
  570. if (utlf_isNull(rendcd)){
  571. alert("대출용도를 선택해 주세요", "차트대출 및 반납", 0 | 64);
  572. grup_lendinfo.switch1.lendinfo_etc.cmb_l_rendcd.setFocus();
  573. return;
  574. }
  575. if (utlf_isNull(appdeptcd)){
  576. alert("대출과를 선택해 주세요", "차트대출 및 반납", 0 | 64);
  577. grup_lendinfo.switch1.lendinfo_etc.cmb_l_appdeptcd.setFocus();
  578. return;
  579. }
  580. if (utlf_isNull(lendmanid) || lendmanid.isNumber()== false){
  581. alert("대출자를 선택해 주세요", "차트대출 및 반납", 0 | 64);
  582. grup_lendinfo.switch1.lendinfo_etc.ipt_l_lendmanid.setFocus();
  583. return;
  584. }
  585. if (utlf_isNull(appmanid) || appmanid.isNumber()== false){
  586. alert("신청자를 선택해 주세요", "차트대출 및 반납", 0 | 64);
  587. grup_lendinfo.switch1.lendinfo_etc.ipt_l_appmanid.setFocus();
  588. return;
  589. }
  590. // 2008.09.01. 차트신청시 [ 021:연구용, 022:임상연구용 ]
  591. // 전달메세지 : 반드시 전달메세지 (연구 제목 및 기타사항) 을 입력해 주십시오..
  592. if (rendcd == "021" || rendcd == "022"){
  593. msgcnts = msgcnts.getTrimLeft();
  594. msgcnts = msgcnts.getTrimRight();
  595. if (utlf_isNull(msgcnts.length)){
  596. alert("반드시 전달메세지 (연구 제목 및 기타사항) 을 입력해 주십시오..", "차트대출신청", 0 | 64);
  597. grup_lendinfo.switch1.lendinfo_etc.ipt_l_msgcnts.setFocus();
  598. return;
  599. }
  600. }
  601. // 2009.03.18. 대출과가 센터인 경우 진료과 선택 체킹하기...
  602. var orddeptkind = ds_main_lendinfo.getColumn(0, "orddeptkind");
  603. var orddeptcd = ds_main_lendinfo.getColumn(0, "orddeptcd");
  604. if (orddeptkind == "C" && orddeptcd == "-"){
  605. alert("대출과가 센터인 경우 진료과를 선택해주세요.", "차트대출신청", 0 | 64);
  606. grup_lendinfo.switch1.lendinfo_etc.cmb_l_orddeptcd.setFocus();
  607. return;
  608. }
  609. // 노드 클리어..
  610. ds_grd_chrtapplist.clearData();
  611. // 데이타 셋하기.. 외래/입원구분, 처리자ID, 대출일, 조회시간, 바코드
  612. var resettm = ds_send_reqdata.getColumn(0, "resettm");
  613. ds_send_req.setColumn(0, "ioflag" , "O");
  614. //2010.12.28, 주희경, 입원대출 시에는 ioflag를 I로 설정
  615. if ( ds_send_reqdata.getColumn(0, "autolendflag") == "I" )
  616. {
  617. ioflag = "I";
  618. }
  619. ds_send_req.setColumn(0, "acptid" , sysf_getUserId());
  620. ds_send_req.setColumn(0, "renddd" , utlf_getCurrentDate());
  621. ds_send_req.setColumn(0, "resettm" , resettm);
  622. ds_send_req.setColumn(0, "bcno" , bcno.toUpperCase());
  623. // 추가 데이타.. 대출용도, 대출신청과, 대출자ID, 신청자ID, 연락처, 전달메세지
  624. ds_send_req.setColumn(0, "rendcd" , rendcd);
  625. ds_send_req.setColumn(0, "appdeptcd" , appdeptcd);
  626. ds_send_req.setColumn(0, "lendmanid" , lendmanid);
  627. ds_send_req.setColumn(0, "appmanid" , appmanid);
  628. ds_send_req.setColumn(0, "cntctelno" , cntctelno);
  629. ds_send_req.setColumn(0, "msgcnts" , msgcnts);
  630. // 2009.03.18. 대출과가 센터인 경우 진료과 , 센터과 저장
  631. var orddeptkind = ds_main_lendinfo.getColumn(0, "orddeptkind");
  632. var centcd = "-";
  633. if (orddeptkind == "C") {
  634. centcd = ds_main_lendinfo.getColumn(0, "appdeptcd");
  635. }
  636. var orddeptcd = ds_main_lendinfo.getColumn(0, "orddeptcd");
  637. ds_send_req.setColumn(0, "centcd" , centcd);
  638. ds_send_req.setColumn(0, "orddeptcd" , orddeptcd);
  639. sysf_setErrorMsg(false);//setErrorOff();
  640. var oParam = {};
  641. oParam.id = "TXMRC03003";
  642. oParam.service = "chrtmngtapp.ChrtRendMngt";
  643. oParam.method = "reqExeEtcLendChrtByBcno";
  644. oParam.inds = "req=ds_send_req";
  645. oParam.outds = "ds_grd_rendlist=rendlist";
  646. oParam.async = false;
  647. oParam.callback = "cf_TXMRC03003";
  648. tranf_submit(oParam);
  649. sysf_setErrorMsg(true);
  650. //var result = submit("TXMRC03003", "", "/root/send/req", "/root/main/chrtlend/rendlist");
  651. //if (result == false)
  652. if( arErrorCode.pop("TXMRC03003") < 0 )
  653. {
  654. var message = arErrorMsg.pop("TXMRC03003");
  655. alert(message);
  656. }
  657. //*/
  658. }
  659. // 2008.01.25. 바코드 번호 클리어...
  660. ds_send_reqdata.setColumn(0, "bcno", "");
  661. ipt_lendbcno.setFocus();
  662. }
  663. /**
  664. * @desc : 바코드입력 후 엔터시 -> 대출등록 * @
  665. * @
  666. * @param :
  667. * @return :
  668. * @authur : 이은영 2008.03.18
  669. * @---------------------------------------------------
  670. */
  671. /*
  672. function fSetLendChartBcnoEtc()
  673. {
  674. // 노드 클리어..
  675. model.destroy("/root/hidden/chrtapplist");
  676. model.refresh();
  677. // 2009.04.13. 의정부 성모인 경우..
  678. // 바코드 리딩시 lpad 로 해서 '0' 을 체움..
  679. // 리팅값과 DB값이 다를수 있음..
  680. // 바코드번호를 외래간호에서 생성하면 '0' 이 없고,
  681. // 의료정보팀에서 생성하면 '0' 이 있음..
  682. var bcno = ds_send_reqdata.getColumn(0, "bcno");
  683. if (getUserInfo("dutplceinstcd") == "013") {
  684. if (bcno.length < 12) { bcno = bcno.getLeftPad(12, "0"); }
  685. }
  686. model.makeValue("/root/hidden/chkchrt/bcno", bcno.toUpperCase());
  687. model.makeValue("/root/hidden/chkchrt/medirecno", "");
  688. model.makeValue("/root/hidden/chkchrt/ioflag", "O");
  689. model.refresh();
  690. model.copyNode("/root/send/req", "/root/hidden/chkchrt");
  691. submit("TRMRC00180");
  692. // 2008.01.18. 바코드 리더기 대출 처리시
  693. // 1. 대출챠트인가?
  694. // 2. 대출신청건이 있는가?
  695. // 3. 대출신청건이 몇건인가?
  696. var lendyn = model.getValue("/root/hidden/chrtapplist[1]/lendyn");
  697. var chrtseqno = model.getValue("/root/hidden/chrtapplist[1]/chrtseqno");
  698. if (lendyn == "Y") {
  699. alert("이미 대출된 챠트입니다.");
  700. return;
  701. }
  702. // 2007.12.14. 대출일자는 당일로 한다...
  703. var renddd = getCurrentDate();
  704. model.makeValue("/root/send/reqdata/renddd", renddd);
  705. var resettm = ds_send_reqdata.getColumn(0, "resettm");
  706. var acptid = ds_send_reqdata.getColumn(0, "acptid");
  707. var cnt = getNodesetCnt(model, "/root/hidden/chrtapplist");
  708. if (cnt > 0) {
  709. if (lendyn == "N" && cnt == 1 && chrtseqno == "") {
  710. // 대출등록
  711. var rendcd = ds_main_lendinfo.getColumn(0, "rendcd");
  712. var appdeptcd = ds_main_lendinfo.getColumn(0, "appdeptcd");
  713. var lendmanid = ds_main_lendinfo.getColumn(0, "lendmanid");
  714. var appmanid = ds_main_lendinfo.getColumn(0, "appmanid");
  715. var cntctelno = ds_main_lendinfo.getColumn(0, "cntctelno");
  716. var msgcnts = ds_main_lendinfo.getColumn(0, "msgcnts");
  717. if (rendcd == ""){
  718. window.alert("대출용도를 선택해 주세요", "차트대출 및 반납", 0 | 64);
  719. model.setFocus("cmb_l_rendcd");
  720. return;
  721. }
  722. if (appdeptcd == ""){
  723. window.alert("대출과를 선택해 주세요", "차트대출 및 반납", 0 | 64);
  724. model.setFocus("cmb_l_appdeptcd");
  725. return;
  726. }
  727. if (lendmanid == "" || lendmanid.isNumber()== false){
  728. window.alert("대출자를 선택해 주세요", "차트대출 및 반납", 0 | 64);
  729. model.setFocus("ipt_l_lendmanid");
  730. return;
  731. }
  732. if (appmanid == "" || appmanid.isNumber()== false){
  733. window.alert("신청자를 선택해 주세요", "차트대출 및 반납", 0 | 64);
  734. model.setFocus("ipt_l_appmanid");
  735. return;
  736. }
  737. // 2008.09.01. 차트신청시 [ 021:연구용, 022:임상연구용 ]
  738. // 전달메세지 : 반드시 전달메세지 (연구 제목 및 기타사항) 을 입력해 주십시오..
  739. if (rendcd == "021" || rendcd == "022"){
  740. msgcnts = msgcnts.getTrimLeft();
  741. msgcnts = msgcnts.getTrimRight();
  742. if (msgcnts.length == ""){
  743. window.alert("반드시 전달메세지 (연구 제목 및 기타사항) 을 입력해 주십시오..", "차트대출신청", 0 | 64);
  744. model.setFocus("ipt_l_msgcnts");
  745. return;
  746. }
  747. }
  748. var pid = model.getValue("/root/hidden/chrtapplist[1]/pid");
  749. var medirecno = model.getValue("/root/hidden/chrtapplist[1]/medirecno");
  750. var bcno = model.getValue("/root/hidden/chrtapplist[1]/bcno");
  751. var tmpSaveData = "status▦rendcd▦rendschedd▦appdeptcd▦lendmanid▦appmanid▦";
  752. tmpSaveData = tmpSaveData + "cntctelno▦msgcnts▦renddd▦";
  753. tmpSaveData = tmpSaveData + "bcno▦pid▦ioflag▦chrtflag▦medirecno▦renddd▦resettm▦acptid▩";
  754. tmpSaveData = tmpSaveData + "i▦" + rendcd + "▦" + renddd + "▦" + appdeptcd + "▦" + lendmanid + "▦" + appmanid + "▦";
  755. tmpSaveData = tmpSaveData + cntctelno + "▦" + msgcnts + "▦" + renddd + "▦";
  756. tmpSaveData = tmpSaveData + "" + "▦" + pid + "▦O▦P▦" + medirecno + "▦" + renddd + "▦" + resettm + "▦" + acptid + "▩";
  757. model.makeValue("/root/send/savedata", tmpSaveData);
  758. submit("TXMRC00100");
  759. // 2008.01.02. 대출현황 조회 총건수..
  760. //model.setValue ("/root/init/count", grd_rendlist.rows - 1);
  761. //cap_rendlist.refresh();
  762. } else {
  763. // 대출신청이 있음
  764. window.alert("대출 신청건이 있습니다. 확인하세요.", "차트대출 및 반납", 0 | 64);
  765. }
  766. }
  767. }
  768. */
  769. /**
  770. * @desc : 등록된 환자번호인지 체킹한다..
  771. * @
  772. * @param : iptObj - 환자번호 입력 컨트롤 (pid)
  773. * @return :
  774. * @authur : 이은영 2008.09.17
  775. * @---------------------------------------------------
  776. */
  777. function fGetPidNo(iptObj, ref)
  778. {
  779. if (ref == "Y") {
  780. if (iptObj.text.length > 0) {
  781. var pid = iptObj.text;
  782. pid = getCretCheckNo(pid, sysf_getUserInfo("dutplceinstcd"));
  783. iptObj.value = pid;
  784. iptObj.updateToDataset();
  785. }
  786. }
  787. }
  788. /**
  789. * @desc : 등록된 환자번호인지 체킹한다..
  790. * @
  791. * @param : iptObj - 환자번호 입력 컨트롤 (pid)
  792. * @return : pnm - 환자명
  793. * @authur : 이은영 2008.03.18
  794. * @---------------------------------------------------
  795. */
  796. function fCheckPid(iptObj, refoDs:Dataset, refPnm)
  797. {
  798. ds_send_req.setColumn(0, "srchcond", "1");
  799. ds_send_req.setColumn(0, "pid", iptObj.text);
  800. //환자등록번호 체크
  801. if(iptObj.text.length > 0 ){
  802. ds_main_result_patinfo_patinfolist.clearData();
  803. var oParam = {};
  804. oParam.id = "TRPMC02500";
  805. oParam.service = "patinfomngtapp.PatBaseInfo";
  806. oParam.method = "reqGetPatInfo";
  807. oParam.inds = "req=ds_send_req";
  808. oParam.outds = "ds_main_result_patinfo_patinfolist=patinfolist";
  809. oParam.async = false;
  810. oParam.callback = "cf_TRPMC02500";
  811. tranf_submit(oParam);
  812. if(arErrorCode.pop("TRPMC02500") > -1){
  813. //fSearch는 인적사항 화면을 임포트 해간 화면에서 구현해 주어야 하는 함수이다.
  814. if( ds_main_result_patinfo_patinfolist.rowcount > 0 ){
  815. ds_patinfolist.copyData(ds_main_result_patinfo_patinfolist);
  816. //* 2009.04.07. 이중번호 메세지 ( 14257937 박용석 -> 13275912 신옥순 )
  817. var sBindPid = ds_main_result_patinfo_patinfolist.getColumn(0, "bindpid");
  818. if( sBindPid != '-' && !utlf_isNull(sBindPid) && sBindPid != ' ' ){
  819. //합번된 등록번호 메세지 처리
  820. var sPid = ds_main_result_patinfo_patinfolist.getColumn(0, "pid");
  821. var sHngnm = ds_main_result_patinfo_patinfolist.getColumn(0, "hngnm");
  822. var retValue = sysf_messageBox(sPid + " (" + sHngnm + ") 환자의 등록번호가 [ " + sBindPid + " ] 로 합번 되었습니다. 합번된 등록번호로 재조회 하시겠습니까?", "Q999", "");
  823. if( retValue == '6' ){
  824. iptObj.value = sBindPid;
  825. iptObj.updateToDataset();
  826. fCheckPid(iptObj, refoDs, refPnm);
  827. return "";
  828. }
  829. }
  830. //*/
  831. var pid = ds_main_result_patinfo_patinfolist.getColumn(0, "pid");
  832. var pnm = ds_main_result_patinfo_patinfolist.getColumn(0, "hngnm");
  833. if (refPnm != null)
  834. {
  835. refoDs.setColumn(0, refPnm, pnm);
  836. }
  837. return pnm;
  838. }else{
  839. ds_patinfolist.clearData();
  840. sysf_messageBox("없는 환자 번호 입니다.", "E999", "");
  841. return "";
  842. }
  843. }
  844. }else{
  845. sysf_messageBox("환자등록번호를 정확히", "C001");
  846. return "";
  847. }
  848. }
  849. /**
  850. * @desc : 환자등록번호 조회 팝업
  851. * @
  852. * @param : refPid - 환자번호 참고 node path
  853. * refPnm - 환자명 참고 node path
  854. * @return :
  855. * @authur : 이은영 2008.03.18
  856. * @---------------------------------------------------
  857. */
  858. function fGetPid(refoDs:Dataset, refPid, refPnm)
  859. {
  860. //조회건수가 1건일 경우 팝업창을 바로 닫는다.
  861. var objColInfo = new Array();
  862. objColInfo.push({col: "pid", type:"string", size:256, val:""});
  863. objColInfo.push({col: "hngnm", type:"string", size:256, val:""});
  864. objColInfo.push({col: "srchcond", type:"string", size:256, val:"2"});
  865. objColInfo.push({col: "autoflag", type:"string", size:256, val:"N"});
  866. objColInfo.push({col: "rrgstno1", type:"string", size:256, val:""});
  867. objColInfo.push({col: "rrgstno2", type:"string", size:256, val:""});
  868. objColInfo.push({col: "checkfnexam", type:"string", size:256, val:"1"});
  869. dsf_createDsRow("ds_hidden_tmp_pidpopupinfo", objColInfo);
  870. var objArgs = new Object();
  871. objArgs.ds_SPPMC02500 = ds_hidden_tmp_pidpopupinfo;
  872. frmf_modal("SPPMC02500", "SPPMC02500", objArgs, null, "1", "10", "10", null, null, null, null, null, "M");
  873. //model.resetInstanceNode("/root/source");
  874. //환자번호 copy
  875. ds_main.setColumn(0, "popupendflag", frmf_getParameter("SPPMC02500_popupendflag"));
  876. var popupendflag = ds_main.getColumn(0, "popupendflag");
  877. if (popupendflag == "ok")
  878. {
  879. refoDs.setColumn(0, refPid, ds_patinfolist.getColumn(0, "pid"));
  880. if (refPnm == null) { refPnm = "" }
  881. if (!utlf_isNull(refPnm)) {
  882. refoDs.setColumn(0, refPnm, ds_patinfolist.getColumn(0, "hngnm"));
  883. }
  884. }
  885. }
  886. /**
  887. * @desc : 등록된 사용자 번호인지 체킹한다..
  888. * @
  889. * @param : iptObj - 사용자 ID 입력 컨트롤 (userid)
  890. * @return : posdeptcd - 사용자 부서코드
  891. * @authur : 이은영 2008.03.18
  892. * @---------------------------------------------------
  893. */
  894. /*
  895. function fCheckUserid(iptObj)
  896. {
  897. setInputNodeCurText();
  898. // 사용자 번호 체크
  899. if(iptObj.currentText.length > 0 ){
  900. // 사용자 조회
  901. model.removenode("/root/hidden/tmp/tempuserinfo/list");
  902. model.reset("/root/hidden/tmp/tempuserinfo");
  903. model.setValue("/root/hidden/tmp/userpopupinfo/param", "_OneS");
  904. model.setValue("/root/hidden/tmp/userpopupinfo/flag", "userid");
  905. model.setValue("/root/hidden/tmp/userpopupinfo/searchitem", iptObj.currentText);
  906. modal("SPZSU10103", "", "200", "200", "SPZSU10103","/root/hidden/tmp/userpopupinfo","/root/main/temp");
  907. var iParam = getParameter("SPZSU10103_");
  908. setCSVToNode("/root/hidden/tmp/tempuserinfo", iParam);
  909. clearParameter("SPZSU10103_");
  910. //fSearch는 인적사항 화면을 임포트 해간 화면에서 구현해 주어야 하는 함수이다.
  911. if( getNodesetCount("/root/hidden/tmp/tempuserinfo/list") > 0 ){
  912. var userid = ds_hidden_tmp_tempuserinfo.getColumn(0, "userid");
  913. var posdeptcd = ds_hidden_tmp_tempuserinfo.getColumn(0, "posdeptcd");
  914. iptObj.value = userid;
  915. model.refresh();
  916. return posdeptcd;
  917. //fSearch();
  918. }else{
  919. model.resetInstanceNode("/root/hidden/tmp/tempuserinfo/list");
  920. messageBox("없는 사용자 번호 입니다.", "E999", "");
  921. model.refresh();
  922. }
  923. }else{
  924. messageBox("사용자 번호를 정확히", "C001");
  925. iptObj.value = "";
  926. model.refresh();
  927. }
  928. return "";
  929. }
  930. */
  931. /**
  932. * @desc : 마우스 오른쪽 버튼 팝업창
  933. * @
  934. * @param : job - 0:챠트대출, 1:챠트반납, 2:접수자명단
  935. * @return :
  936. * @authur : 이은영 2008.03.18
  937. * @---------------------------------------------------
  938. */
  939. function fMouseRghtBtnPopup(gridObj, e, job)
  940. {
  941. var oDs = this.objects[gridObj.binddataset];
  942. if( oDs.rowcount < 1 ) return;
  943. if (e.row > -1 && e.col > -1) {
  944. if (job == "0") {
  945. oDs.rowposition = e.row;
  946. ds_send_savedata.clearData();
  947. ds_send_savedata.addRow();
  948. popupmenu.trackPopup(e.screenX,e.screenY);
  949. screenX = e.clientX;
  950. screenY = e.clientY;
  951. //window.setPopupMenu(true, "/root/hidden/applist_menu/menu", "label", "func", false);
  952. }
  953. }
  954. }
  955. /**
  956. * @desc : 팝업폼 보여주기..
  957. * @
  958. * @param : job - 0:챠트대출(미대출사유) , 1:챠트반납(과보관사유),
  959. * @ 2:접수자명단(미대출사유), 3:챠트반납(대출연장) , 4:챠트반납(차트분실)
  960. * @return :
  961. * @authur : 이은영 2008.03.18
  962. * @---------------------------------------------------
  963. */
  964. function fShowWndIptBox(job)
  965. {
  966. grup_unrendresn.visible = false;
  967. if (job == "0") {
  968. ds_hidden_applist.setColumn(0, "unrendcd", "00");
  969. ds_hidden_applist.setColumn(0, "unrendresn", "");
  970. // if (event.clientY < 100) {
  971. // grup_unrendresn.attribute("top") = event.clientY-90;
  972. // } else {
  973. // grup_unrendresn.attribute("top") = 100;
  974. // }
  975. var nX = screenX;
  976. var nY = screenY;
  977. var widGrup = parseInt(grup_unrendresn.position.width);
  978. var widGrd = parseInt(grd_applist.position2.width);
  979. if (widGrd < nX + widGrup)
  980. {
  981. nX = widGrd - widGrup - 17;
  982. }
  983. nX = system.clientToScreenX(grd_applist,nX);
  984. nY = system.clientToScreenY(grd_applist,nY);
  985. grup_unrendresn.trackPopup(nX,nY);
  986. //grup_unrendresn.visible = true;
  987. }
  988. }
  989. /**
  990. * @desc : 대출신청내역이 여러 개인 경우 더블클릭으로 선택시 대출처리한다.
  991. * @
  992. * @param :
  993. * @return :
  994. * @authur : 이은영 2008.03.18
  995. * @---------------------------------------------------
  996. */
  997. function fChoiceChrtSeqNo()
  998. {
  999. //var ref = "/root/hidden/chrtapplist";
  1000. var grdObj = grup_applist.grd_chrtapplist;
  1001. var grdDs = this.objects[grdObj.binddataset];
  1002. if (grdObj.rowposition < 0){
  1003. grup_applist.visible = false;
  1004. return;
  1005. }
  1006. var savedata = "status▦chrtseqno▦medirecno▦pid▦rendcd▦delyn▦renddd▦resettm▦acptid▦ioflag▦appmanid▦appdeptcd▩";
  1007. var dataString = "";
  1008. var renddd = ds_send_reqdata.getColumn(0, "renddd");
  1009. var resettm = ds_send_reqdata.getColumn(0, "resettm");
  1010. var acptid = ds_send_reqdata.getColumn(0, "acptid");
  1011. var chrtseqno = grdDs.getColumn(grdDs.rowposition, "chrtseqno");
  1012. var medirecno = grdDs.getColumn(grdDs.rowposition, "medirecno");
  1013. var pid = grdDs.getColumn(grdDs.rowposition, "pid");
  1014. var rendcd = grdDs.getColumn(grdDs.rowposition, "rendcd");
  1015. var ioflag = "";
  1016. //2010.12.28, 주희경, 입원대출 시에는 ioflag를 I로 설정
  1017. if ( ds_send_reqdata.getColumn(0, "autolendflag") == "I" )
  1018. {
  1019. ioflag = "I";
  1020. }
  1021. dataString = "u▦" + chrtseqno + "▦" + medirecno + "▦" + pid + "▦" + rendcd + "▦N▦" + renddd + "▦" + resettm + "▦" + acptid + "▦O▦▦▩";
  1022. if (dataString.length > 0)
  1023. {
  1024. dsf_setCSVToDs("ds_send_savedata", savedata + dataString);
  1025. //sysf_trace(ds_send_savedata.saveXML());
  1026. var oParam = {};
  1027. oParam.id = "TXMRC00120";
  1028. oParam.service = "chrtmngtapp.ChrtRendMngt";
  1029. oParam.method = "setRendList";
  1030. oParam.inds = "req=ds_send_savedata";
  1031. oParam.outds = "ds_grd_applist=applist ds_grd_rendlist=rendlist";
  1032. oParam.async = true;
  1033. oParam.callback = "cf_TXMRC00120";
  1034. tranf_submit(oParam);
  1035. // 2008.01.25. 바코드 번호 클리어...
  1036. ds_send_reqdata.setColumn(0, "bcno", "");
  1037. }
  1038. grup_applist.visible = false;
  1039. }
  1040. /**
  1041. * @desc : 대출용도 코드 입력시 대출용도 콤보 선택되도록 함
  1042. * @
  1043. * @param :
  1044. * @return :
  1045. * @authur : 이은영 2008.05.30
  1046. * @---------------------------------------------------
  1047. */
  1048. function fSelectedComboLendCd(iptObjId, comboDs:Dataset, comboRef)
  1049. {
  1050. var iptObj = eval(iptObjId);
  1051. var lendcd = iptObj.text;
  1052. lendcd = lendcd.getLeftPad(3, "0");
  1053. iptObj.value = lendcd;
  1054. iptObj.updateToDataset();
  1055. comboDs.setColumn(0, comboRef, lendcd);
  1056. // var ref = iptObj.attribute("ref");
  1057. // model.setValue(ref, lendcd);
  1058. // model.setValue(comboRef, lendcd);
  1059. // model.refresh();
  1060. }
  1061. /**
  1062. * @desc : 대출과 약어 입력시 대출과 콤보 선택되도록 함
  1063. * @
  1064. * @param :
  1065. * @return :
  1066. * @authur : 이은영 2008.05.30
  1067. * @---------------------------------------------------
  1068. */
  1069. function fSelectedComboLendDeptCd(iptObjId, comboObjId)
  1070. {
  1071. var iptObj = eval(iptObjId);
  1072. var comboObj = eval(comboObjId);
  1073. var lenddeptabbr = iptObj.text;
  1074. lenddeptabbr = lenddeptabbr.toUpperCase();
  1075. iptObj.value = lenddeptabbr;
  1076. iptObj.updateToDataset();
  1077. var deptcd = ds_init_lendmastinfo_lenddeptlist.lookup("lenddeptabbr", lenddeptabbr, "lenddeptcd");
  1078. comboObj.value = deptcd;
  1079. comboObj.updateToDataset();
  1080. if (!utlf_isNull(deptcd)){
  1081. // 대출과에 따른 대출자(의사) 조회하기
  1082. var e = new ItemChangeEventInfo;
  1083. frmf_inputEnterKey(comboObjId, "onitemchanged", e);
  1084. //comboObj.dispatch("xforms-value-changed");
  1085. }
  1086. }
  1087. /**
  1088. * @desc : 환자 외래 차트 리스트 조회
  1089. * @
  1090. * @param :
  1091. * @return :
  1092. * @authur : 이은영 2008.08.07
  1093. * @---------------------------------------------------
  1094. */
  1095. function fGetChrtList()
  1096. {
  1097. fCheckPid(grup_chrtlist.ipt_chrtpid, ds_main_lendinfo, "pnm");
  1098. ds_send_req.setColumn(0, "ioflag", ds_main_lendinfo.getColumn(0, "ioflag"));
  1099. ds_send_req.setColumn(0, "pid" , ds_main_lendinfo.getColumn(0, "pid"));
  1100. var oParam = {};
  1101. oParam.id = "TRMRC00144";
  1102. oParam.service = "chrtmngtapp.ChrtRendMngt";
  1103. oParam.method = "reqGetPaperList";
  1104. oParam.inds = "req=ds_send_req";
  1105. oParam.outds = "ds_grd_chrtlist=chrtlist";
  1106. oParam.async = true;
  1107. oParam.callback = "cf_TRMRC00144";
  1108. tranf_submit(oParam);
  1109. }
  1110. /**
  1111. * @desc : 사용자콤보 조회
  1112. * @
  1113. * @param : ref - reference path
  1114. * rsltref - result reference path
  1115. * deptcd - 부서코드
  1116. * jobkindcd - 직종코드
  1117. * jobposcd - 직책코드
  1118. * specordyn - 선택진료여부
  1119. * @return :
  1120. * @author :
  1121. * @---------------------------------------------------
  1122. */
  1123. /*
  1124. function fGetUserComboList(ref, rsltref, deptcd, jobkindcd, specordyn)
  1125. {
  1126. model.removeNode(ref);
  1127. model.makeValue(ref + "/deptcd" , deptcd); //부서코드
  1128. model.makeValue(ref + "/jobkindcd", jobkindcd); //직종코드(의사:0330)
  1129. model.makeValue(ref + "/specordyn", specordyn); //선택진료여부
  1130. model.removeNode(rsltref);
  1131. model.makeValue(rsltref + "/userlist/usercombo[1]/usernm", '-');
  1132. model.makeValue(rsltref + "/userlist/usercombo[1]/userid", '');
  1133. model.refresh();
  1134. submit("TRMMB04102", "false", ref, rsltref + "/userlist");
  1135. }
  1136. */
  1137. /**
  1138. * @desc : 대출자 조회
  1139. * @
  1140. * @param : refUserid - 대출자 ID, refUserDeptcd - 소속부서코드 ( posdeptcd )
  1141. * @return :
  1142. * @authur : 이은영 2008.03.18
  1143. * @---------------------------------------------------
  1144. */
  1145. function fGetUserid(refoDs:Dataset, refUserid, refUsernm, refUserDeptcd, cmbObj)
  1146. {
  1147. //fGetUserid("/root/main/lendinfo/appmanid", "/root/main/lendinfo/appman");
  1148. ds_hidden_tmp_tempuserinfo.clearData();
  1149. var user = refoDs.getColumn(0, refUserid);
  1150. var flag = "userid";
  1151. if(isNaN(user)){
  1152. flag = "usernm";
  1153. }
  1154. ds_hidden_tmp_userpopupinfo.setColumn(0, "param", "_OneS");
  1155. ds_hidden_tmp_userpopupinfo.setColumn(0, "flag", flag);
  1156. ds_hidden_tmp_userpopupinfo.setColumn(0, "searchitem", user);
  1157. var objArgs = new Object();
  1158. objArgs.param = ds_hidden_tmp_userpopupinfo.getColumn(0, "param");
  1159. objArgs.flag = ds_hidden_tmp_userpopupinfo.getColumn(0, "flag");
  1160. objArgs.searchitem = ds_hidden_tmp_userpopupinfo.getColumn(0, "searchitem");
  1161. var rtn = frmf_modal("SPZSU10103", "SPZSU10103", objArgs, null, "1", "10", "10", null, null, null, null, null, "M");
  1162. //modal("SPZSU10103", "", "200", "200", "SPZSU10103","/root/hidden/tmp/userpopupinfo","/root/main/temp");
  1163. // var iParam = frmf_getParameter("SPZSU10103_");
  1164. //
  1165. // dsf_setCSVToDs("ds_hidden_tmp_tempuserinfo", iParam);
  1166. // frmf_clearParameter("SPZSU10103_");
  1167. ds_hidden_tmp_tempuserinfo.copyData(rtn);
  1168. //fSearch는 인적사항 화면을 임포트 해간 화면에서 구현해 주어야 하는 함수이다.
  1169. if( ds_hidden_tmp_tempuserinfo.rowcount > 0 ){
  1170. var userid = ds_hidden_tmp_tempuserinfo.getColumn(0, "userid");
  1171. var usernm = ds_hidden_tmp_tempuserinfo.getColumn(0, "usernm");
  1172. var posdeptcd = ds_hidden_tmp_tempuserinfo.getColumn(0, "posdeptcd");
  1173. if (!utlf_isNull(refUsernm)){
  1174. if (isNaN(refUsernm)){
  1175. refoDs.setColumn(0, refUsernm, usernm);
  1176. }
  1177. }
  1178. if (!utlf_isNull(refUserDeptcd)){
  1179. if (isNaN(refUserDeptcd)){
  1180. refoDs.setColumn(0, refUserDeptcd, posdeptcd);
  1181. }
  1182. }
  1183. if (cmbObj != null){
  1184. fAddUser(userid, usernm, cmbObj);
  1185. }
  1186. refoDs.setColumn(0, refUserid, userid);
  1187. }
  1188. }
  1189. /**
  1190. * @desc : 대출자ID, 대출자명 콤보에 추가하기
  1191. * @
  1192. * @param : refUserid - 대출자 ID, refUsernm - 대출자명
  1193. * @return :
  1194. * @authur : 이은영 2008.09.01
  1195. * @---------------------------------------------------
  1196. */
  1197. function fAddUser(Userid, Usernm, cmbObj)
  1198. {
  1199. if( cmbObj == "[object Combo]" ){
  1200. var objCombo = cmbObj;
  1201. }else{
  1202. var objCombo = eval(cmbObj);
  1203. }
  1204. //innerdataset
  1205. if(!((objCombo.innerdataset).toString() == "[object Dataset]"))
  1206. {
  1207. var objDs = eval(objCombo.innerdataset);
  1208. }
  1209. else
  1210. {
  1211. var objDs = objCombo.innerdataset;
  1212. }
  1213. var userid = objDs.lookup("userid", Userid, "userid");
  1214. if( utlf_isNull(userid) ){
  1215. var nRow = objDs.addRow();
  1216. objDs.setColumn(nRow, cmbObj.codecolumn, Userid);
  1217. objDs.setColumn(nRow, cmbObj.datacolumn, Usernm);
  1218. objCombo.value = Userid;
  1219. objCombo.updateToDataset();
  1220. }
  1221. // var ref = cmbObj.choices.itemset.attribute("nodeset");
  1222. // var cnt = getNodesetCnt(model, ref) + 1 ;
  1223. // var userid = model.getValue(ref + "[userid ='" + Userid + "']/userid");
  1224. // if (userid == ""){
  1225. // model.makeValue(ref + "["+ cnt +"]/userid", Userid);
  1226. // model.makeValue(ref + "["+ cnt +"]/usernm", Usernm);
  1227. // var dataRef = cmbObj.attribute("ref");
  1228. // model.setValue(dataRef, Userid);
  1229. // cmbObj.refresh();
  1230. // }
  1231. }
  1232. /**
  1233. * @desc : excel 저장 하기
  1234. * @
  1235. * @param :
  1236. * @return :
  1237. * @authur : 이은영 2008.07.14
  1238. * @---------------------------------------------------
  1239. */
  1240. function fExcel(gridObj, title){
  1241. if (title == null) { title = "" }
  1242. // var fileName = window.fileDialog("save", ",", false, title + "_" + getCurrentDate(), "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  1243. // if (fileName != "") {
  1244. // gridObj.saveExcel(fileName, "SheetName", true, true, "", "", true);
  1245. // }
  1246. grdf_exportExcel(gridObj, title, "SheetName");
  1247. }
  1248. /**
  1249. * @desc : 선택된 환자등록번호로 현위치조회 텝이동..
  1250. * @
  1251. * @param : gridObj - 그리드 컨트롤, ref - node path
  1252. * @return :
  1253. * @authur : 이은영 2008.03.18
  1254. * @---------------------------------------------------
  1255. */
  1256. function fMoveTabChartByPid(gridObj, e){
  1257. var oDs = this.objects[gridObj.binddataset];
  1258. if( oDs.rowcount < 1 ) return;
  1259. if( e.row < 0 && e.col < 0 ){
  1260. return;
  1261. }
  1262. if (oDs.rowposition < 0){
  1263. return;
  1264. }
  1265. var pid = oDs.getColumn(oDs.rowposition, "pid");
  1266. var pnm = oDs.getColumn(oDs.rowposition, "pnm");
  1267. this.getOwnerFrame().form.ds_send_reqdata.setColumn(0, "pid" , pid);
  1268. this.getOwnerFrame().form.ds_send_reqdata.setColumn(0, "pnm" , pnm);
  1269. this.getOwnerFrame().form.ds_send_reqdata.setColumn(0, "rrgstno", "");
  1270. this.getOwnerFrame().form.group2.switch1.tabindex = 0;
  1271. this.getOwnerFrame().form.fChartHistory();
  1272. }
  1273. /**
  1274. * @desc : 단축키 선택시 커서이동
  1275. * @
  1276. * @param :
  1277. * @return :
  1278. * @authur : 이은영 2009.01.28
  1279. * @---------------------------------------------------
  1280. */
  1281. function fMoveCursor(){
  1282. // 2009.02.17. 단축키 커서 이동시 자동대출 선택후 바코드에 커서가 위치하도록 수정함.
  1283. ds_send_reqdata.setColumn(0, "autolendflag", "A");
  1284. fDisplayAutoLend();
  1285. ipt_lendbcno.setFocus();
  1286. }
  1287. /**
  1288. * @desc : 단축키 선택시 커서이동
  1289. * @
  1290. * @param :
  1291. * @return :
  1292. * @authur : 이은영 2009.01.28
  1293. * @---------------------------------------------------
  1294. */
  1295. function fKeyDown(e){
  1296. // F7 : 118, F8 : 119 , F9 : 120, F10 : 121
  1297. var keyCode = e.keycode;
  1298. if (keyCode == "118") {
  1299. this.getOwnerFrame().form.fAccessKey1();
  1300. } else if (keyCode == "119") {
  1301. this.getOwnerFrame().form.fAccessKey2();
  1302. } else if (keyCode == "120") {
  1303. this.getOwnerFrame().form.fAccessKey3();
  1304. } else if (keyCode == "121") {
  1305. this.getOwnerFrame().form.fAccessKey4();
  1306. }
  1307. }
  1308. ]]></Script>