CCZ001.xjs 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/****************************************************************************************
  3. * Argument : search_condition
  4. * : search_term
  5. * : receive_msgsmlcd_path
  6. * : receive_msgmdlcd_path
  7. * : receive_msglrgcd_path
  8. * : receive_msgcnts_path
  9. * : receive_emailtitl_path
  10. * Description : 채널별 메시지를 검색하기위한 팝업창을 호출한다.
  11. path는 데이터셋/컬럼 형식으로 보내도록 함.
  12. ex) var obj = cczfOpenSelectMsg(search_condition, search_term)
  13. 리턴값
  14. var objArg = new Object();
  15. objArg.msglrgcd = msglrgcd;
  16. objArg.msgmdlcd = msgmdlcd;
  17. objArg.msgsmlcd = msgsmlcd;
  18. objArg.msgcnts = msgcnts;
  19. objArg.emailtitl = emailtitl;
  20. ****************************************************************************************/
  21. function cczfOpenSelectMsg(search_condition, search_term, receive_msgsmlcd_path, receive_msgmdlcd_path, receive_msglrgcd_path, receive_msgcnts_path, receive_emailtitl_path)
  22. {
  23. //채널 메시지 검색 팝업창
  24. frmf_setParameter("search_condition", search_condition);
  25. frmf_setParameter("search_term", search_term);
  26. frmf_setParameter("receive_msgsmlcd_path", receive_msgsmlcd_path);
  27. frmf_setParameter("receive_msgmdlcd_path", receive_msgmdlcd_path);
  28. frmf_setParameter("receive_msglrgcd_path", receive_msglrgcd_path);
  29. frmf_setParameter("receive_msgcnts_path", receive_msgcnts_path);
  30. frmf_setParameter("receive_emailtitl_path", receive_emailtitl_path);
  31. var rtn = frmf_modal("SPCCN00400", "SPCCN00400", "", "", "", "", "", "", "", "", "", "", "M");
  32. frmf_clearParameter("search_condition");
  33. frmf_clearParameter("search_term");
  34. return rtn;
  35. }
  36. /****************************************************************************************
  37. * Argument : recvrnmcol - 이름
  38. * : recvrtelnocol - 휴대번호
  39. * Description : SMS 전송을위한 팝업창을 호출한다.(grid와 text방식으로 나뉨)
  40. 컬럼 파라미터는 id값으로 입력하도록 함.
  41. ex) cczfSMSTrsmOpen("grid", grd_patlist,"hngnm","mpphontel", "", "");
  42. ****************************************************************************************/
  43. function cczfSMSTrsmOpen(flag, grid, recvrnmcol, recvrtelnocol, recvrnm, recvrtelno)
  44. {
  45. if(utlf_isNull(frmf_getComponents("ds_temp_smsinfo_recvrlist")))
  46. {
  47. dsf_createDs("ds_temp_smsinfo_recvrlist");
  48. }
  49. else
  50. {
  51. ds_temp_smsinfo_recvrlist.clearData();
  52. }
  53. var count = -1;
  54. var essnchk = "N";
  55. if (flag == "grid")
  56. {
  57. if (this.objects[grid.binddataset].rowposition < 0 || grdf_getSelectedRows(grid).length < 1)
  58. {
  59. sysf_messageBox("SMS를 전송할 리스트를","C002");
  60. }
  61. else
  62. {
  63. var rows = grdf_getSelectedRows(grid);
  64. for (var i = 0; i < rows.length; i++)
  65. {
  66. var s_row = rows[i];
  67. var recvrnm = this.objects[grid.binddataset].getColumn(s_row, recvrnmcol);
  68. var recvrtelno = this.objects[grid.binddataset].getColumn(s_row, recvrtelnocol);
  69. recvrtelno = String(recvrtelno).replace('-', '');
  70. recvrtelno = String(recvrtelno).replace('-', '');
  71. recvrtelno = String(recvrtelno).replace('.', '');
  72. recvrtelno = String(recvrtelno).replace('.', '');
  73. recvrtelno = String(recvrtelno).replace(' ', '');
  74. if (!utlf_isNull(String(recvrnm).getTrim()) && !utlf_isNull(String(recvrtelno).getTrim()) && String(recvrtelno).getTrim() != "없음" && String(recvrtelno).length >= 10)
  75. {
  76. count = count + 1
  77. essnchk = "Y";
  78. dsf_makeValue(ds_temp_smsinfo_recvrlist, "chk", "string", "N", count);
  79. dsf_makeValue(ds_temp_smsinfo_recvrlist, "recvrnm", "string", recvrnm, count);
  80. dsf_makeValue(ds_temp_smsinfo_recvrlist, "recvrtelno", "string", recvrtelno, count);
  81. }
  82. }
  83. if (essnchk == "N")
  84. {
  85. sysf_messageBox("수신자명 또는 수신번호가","I004");
  86. }
  87. else
  88. {
  89. var objArg = new Object();
  90. objArg.arg_ds_main_recvrinfo_recvrlist = ds_temp_smsinfo_recvrlist;
  91. frmf_modal("SPCCN00100", "SPCCN00100", objArg, "", "", "", "", "", "", "", "", "", "M");
  92. }
  93. }
  94. }
  95. else if (flag == "text")
  96. {
  97. if (utlf_isNull(recvrnm))
  98. {
  99. sysf_messageBox("SMS 전송받을 담당자","C001");
  100. }
  101. else if (utlf_isNull(recvrtelno))
  102. {
  103. sysf_messageBox("SMS 전송받을 번호를","C001");
  104. }
  105. else
  106. {
  107. dsf_makeValue(ds_temp_smsinfo_recvrlist, "chk", "string", "N");
  108. dsf_makeValue(ds_temp_smsinfo_recvrlist, "recvrnm", "string", recvrnm);
  109. dsf_makeValue(ds_temp_smsinfo_recvrlist, "recvrtelno", "string", recvrtelno);
  110. var objArg = new Object();
  111. objArg.arg_ds_main_recvrinfo_recvrlist = ds_temp_smsinfo_recvrlist;
  112. frmf_modal("SPCCN00100", "SPCCN00100", objArg, "", "", "", "", "", "", "", "", "", "M");
  113. }
  114. }
  115. }
  116. /****************************************************************************************
  117. * Argument : flag -
  118. * : grid - Grid ID
  119. * : recvremailcol - 휴대번호
  120. * : recvremail -
  121. * Description : Email 전송을위한 팝업창을 호출한다.
  122. ex) cczfEmailTrsmOpen("grid", grd_patlist,"email", "");
  123. ****************************************************************************************/
  124. function cczfEmailTrsmOpen(flag, grid, recvremailcol, recvremail)
  125. {
  126. if(utlf_isNull(frmf_getComponents("ds_temp_emailinfo_recvrlist")))
  127. {
  128. dsf_createDs("ds_temp_emailinfo_recvrlist");
  129. }
  130. else
  131. {
  132. ds_temp_emailinfo_recvrlist.clearData();
  133. }
  134. var count = 0;
  135. var essnchk = "N";
  136. if (flag == "grid")
  137. {
  138. if (this.objects[grid.binddataset].rowposition < 0 || grdf_getSelectedRows(grid).length < 1)
  139. {
  140. sysf_messageBox("Email를 전송할 리스트를","C002");
  141. }
  142. else
  143. {
  144. var rows = grdf_getSelectedRows(grid);
  145. for (var i = 0; i < rows.length; i++)
  146. {
  147. var s_row = rows[i];
  148. var recvremail = this.objects[grid.binddataset].getColumn(s_row, recvremailcol);
  149. if (recvremail != "-")
  150. {
  151. count = count + 1
  152. essnchk = "Y";
  153. if (count == 1)
  154. {
  155. recvremaillist = recvremail
  156. }
  157. else if (count > 1)
  158. {
  159. recvremaillist = recvremaillist + ";" + recvremail
  160. }
  161. }
  162. }
  163. if (essnchk == "N")
  164. {
  165. sysf_messageBox("Email주소가","I004");
  166. }
  167. else
  168. {
  169. dsf_makeValue(ds_temp_emailinfo_recvrlist, "recvremail", "string", recvremaillist);
  170. var objArg = new Object();
  171. objArg.arg_ds_main_emailattr = ds_temp_emailinfo_recvrlist;
  172. frmf_modal("SPCCN00200", "SPCCN00200", objArg, "", "", "", "", "", "", "", "", "", "M");
  173. //modal("SPCCN00200", "", "", "", "SPCCN00200", "/root/temp/emailinfo/recvrlist/recvremail", "/root/main/emailattr/recvremail");
  174. }
  175. }
  176. }
  177. else if (flag == "text")
  178. {
  179. if (utlf_isNull(recvremail))
  180. {
  181. sysf_messageBox("Email를 전송받을 주소를","C001");
  182. }
  183. else
  184. {
  185. dsf_makeValue(ds_temp_emailinfo_recvrlist, "recvremail", "string", recvremail);
  186. var objArg = new Object();
  187. objArg.arg_ds_main_emailattr = ds_temp_emailinfo_recvrlist;
  188. frmf_modal("SPCCN00200", "SPCCN00200", objArg, "", "", "", "", "", "", "", "", "", "M");
  189. //modal("SPCCN00200", "", "", "", "SPCCN00200", "/root/temp/emailinfo/recvrlist/recvremail", "/root/main/emailattr/recvremail");
  190. }
  191. }
  192. }
  193. /****************************************************************************************
  194. * Argument : grid - Grid ID
  195. * : recvrnmcol - 환자이름 컬럼ID
  196. * : recvrzipcdcol - 우편번호 컬럼ID
  197. * : recvraddrcol - 주소 컬럼ID
  198. * : recvrpidcol - 환자번호 컬럼ID
  199. * Description : DM 발송을위한 팝업창을 호출한다.
  200. ex) cczfDMTrsmOpen(grd_patlist,"hngnm","zipcd","address","pid");
  201. ****************************************************************************************/
  202. function cczfDMTrsmOpen(grid, recvrnmcol, recvrzipcdcol, recvraddrcol, recvrpidcol)
  203. {
  204. if(utlf_isNull(frmf_getComponents("ds_temp_dminfo_recvrlist")))
  205. {
  206. dsf_createDs("ds_temp_dminfo_recvrlist");
  207. }
  208. else
  209. {
  210. ds_temp_dminfo_recvrlist.clearData();
  211. }
  212. var count = -1;
  213. var essnchk = "N";
  214. if( utlf_isNull(recvrpidcol) || recvrpidcol == "" )
  215. {
  216. recvrpidcol = "";
  217. }
  218. if (this.objects[grid.binddataset].rowposition < 0 || grdf_getSelectedRows(grid).length < 1)
  219. {
  220. sysf_messageBox("DM을 발송할 리스트를","C002");
  221. }
  222. else
  223. {
  224. var rows = grdf_getSelectedRows(grid);
  225. for (var i = 0; i < rows.length; i++)
  226. {
  227. var s_row = rows[i];
  228. var recvrnm = this.objects[grid.binddataset].getColumn(s_row, recvrnmcol);
  229. var recvrzipcd = this.objects[grid.binddataset].getColumn(s_row, recvrzipcdcol);
  230. recvrzipcd = String(recvrzipcd).replace('-', '');
  231. var recvraddr = this.objects[grid.binddataset].getColumn(s_row, recvraddrcol);
  232. var recvrpid = this.objects[grid.binddataset].getColumn(s_row, recvrpidcol);
  233. if (!utlf_isNull(recvrnm) && recvraddr.getTrim() != "")
  234. {
  235. count = count + 1
  236. essnchk = "Y";
  237. dsf_makeValue(ds_temp_dminfo_recvrlist, "chk", "string", "N", count);
  238. dsf_makeValue(ds_temp_dminfo_recvrlist, "recvrnm", "string", recvrnm, count);
  239. dsf_makeValue(ds_temp_dminfo_recvrlist, "recvrzipcd", "string", recvrzipcd, count);
  240. dsf_makeValue(ds_temp_dminfo_recvrlist, "recvraddr", "string", recvraddr, count);
  241. dsf_makeValue(ds_temp_dminfo_recvrlist, "recvrpid", "string", recvrpid, count);
  242. }
  243. }
  244. if (essnchk == "N")
  245. {
  246. sysf_messageBox("수신자명 또는 수신자주소(우편번호)가","I004");
  247. }
  248. else
  249. {
  250. var objArg = new Object();
  251. objArg.arg_ds_main_recvrinfo_recvrlist = ds_temp_dminfo_recvrlist;
  252. frmf_modal("SPCCN00300", "SPCCN00300", objArg, "", "", "", "", "", "", "", "", "", "M");
  253. }
  254. }
  255. }
  256. /****************************************************************************************
  257. * Argument : grid - Grid ID
  258. * : biz_flag -
  259. * Description : 그리드에서 등록번호(pid)와 최종내원일(lastchosdt)을 넘겨받아 캠페인에 등록한다.
  260. ex) cczfOpenInsertCmpn(grd_tmpldtmnexec1,"04");
  261. ****************************************************************************************/
  262. function cczfOpenInsertCmpn(grid, biz_flag)
  263. {
  264. //grid는 grd_xxxx 형태의 목록이며 pid와 lastchosdt를 포함해야 함
  265. //biz_flag는 캠페인업무구분(공통코드 C0038 참조)
  266. var send_pid = new Array();
  267. var send_chosdd = new Array();
  268. var rcDataset = this.objects[grid.binddataset];
  269. var sColSep = "▦";
  270. var sRowSep = "▩";
  271. var send_data = "pid" + sColSep + "chosdd" + sRowSep; //타이틀 map file 등에서 사용
  272. var send_flag = (utlf_isNull(biz_flag) || biz_flag == "") ? "00" : biz_flag;
  273. if (rcDataset.rowposition < 0 || grdf_getSelectedRows(grid).length < 1)
  274. {
  275. sysf_messageBox("캠페인에 등록할 고객을","C002");
  276. }
  277. else
  278. {
  279. var rows = grdf_getSelectedRows(grid);
  280. for (var i = 0; i < rows.length; i++)
  281. {
  282. var s_row = rows[i];
  283. send_pid[i] = rcDataset.getColumn(s_row, "pid"); //등록번호
  284. send_chosdd[i] = rcDataset.getColumn(s_row, "lastchosdt"); //최종내원일시
  285. if (!utlf_isNull(send_pid[i]))
  286. {
  287. send_data += send_pid[i] + sColSep + send_chosdd[i] + sRowSep; //VO형태로 구성
  288. }
  289. }
  290. frmf_setParameter("send_data", send_data);
  291. frmf_setParameter("send_flag", send_flag);
  292. frmf_modal("SPCCP00100", "SPCCP00100", "", "", "", "", "", "", "", "", "", "", "M");
  293. frmf_clearParameter("send_data");
  294. frmf_clearParameter("send_flag");
  295. }
  296. }
  297. /****************************************************************************************
  298. * Argument : msglrgcd -
  299. * : msgmdlcd -
  300. * : msgsmlcd -
  301. * : gubun -
  302. * Description : 해당 메시지를 다른 업무에서 사용하는지에 따라 COUNT를 증감 시켜준다.
  303. ex) cczfMsgCount(msglrgcd, msgmdlcd, msgsmlcd, gubun);
  304. ****************************************************************************************/
  305. function cczfMsgCount(msglrgcd, msgmdlcd, msgsmlcd, gubun)
  306. {
  307. ds_send_msgcount.setColumn(0, "msglrgcd", msglrgcd);
  308. ds_send_msgcount.setColumn(0, "msgmdlcd", msgmdlcd);
  309. ds_send_msgcount.setColumn(0, "msgsmlcd", msgsmlcd);
  310. ds_send_msgcount.setColumn(0, "gubun", gubun);
  311. var oParam = {};
  312. oParam.id = "TXCNS00202";
  313. oParam.service = "chnlmngtapp.ChnlMngt";
  314. oParam.method = "reqExeMsgCount";
  315. oParam.inds = "msgcount=ds_send_msgcount";
  316. oParam.outds = "";
  317. oParam.async = false;
  318. //oParam.callback = "cf_TXCNS00202";
  319. tranf_submit(oParam);
  320. }
  321. /****************************************************************************************
  322. * Argument : search_condition -
  323. * : search_term -
  324. * Description : 부서를 검색하기위한 팝업창을 호출한다.
  325. ex) var ref = cczfOpenSelectDept(search_condition, search_term)
  326. 리턴
  327. var objArg = new Object();
  328. objArg.deptcd = deptcd;
  329. objArg.deptnm = deptnm;
  330. ****************************************************************************************/
  331. function cczfOpenSelectDept(search_condition, search_term)
  332. {
  333. frmf_setParameter("search_condition", search_condition);
  334. frmf_setParameter("search_term", search_term);
  335. var rtn = frmf_modal("SPCCM00300", "SPCCM00300", "", "", "", "", "", "", "", "", "", "", "M");
  336. frmf_clearParameter("search_condition");
  337. frmf_clearParameter("search_term");
  338. return rtn;
  339. }
  340. /****************************************************************************************
  341. * Argument : search_condition -
  342. * : search_term -
  343. * Description : 고객(환자)을 검색하기위한 팝업창을 호출한다.
  344. ex) var ref = cczfOpenSelectClnt(search_condition, search_term)
  345. 리턴값
  346. var objParam = new Object();
  347. objParam.pid = pid;
  348. objParam.hngnm = patnm;
  349. objParam.mpphontel = mpphontel;
  350. objParam.email = email;
  351. objParam.rrgstno1 = resdnrgstno1;
  352. objParam.rrgstno2 = resdnrgstno2;
  353. objParam.sex = gndr;
  354. objParam.zipcd1 = zipcd1;
  355. objParam.zipcd2 = zipcd2;
  356. objParam.zipcdseq = zipcdseq;
  357. objParam.zipcdaddr = zipcdaddr;
  358. objParam.detladdr = detladdr;
  359. objParam.etctelno1 = etctelno1;
  360. ****************************************************************************************/
  361. function cczfOpenSelectClnt(search_condition, search_term)
  362. {
  363. frmf_setParameter("search_condition", search_condition);
  364. frmf_setParameter("search_term", search_term);
  365. var rtn = frmf_modal("SPCCM00100", "SPCCM00100", "", "", "", "", "", "", "", "", "", "", "M");
  366. frmf_clearParameter("search_condition");
  367. frmf_clearParameter("search_term");
  368. return rtn;
  369. }
  370. /****************************************************************************************
  371. * Argument : search_condition -
  372. * : search_term -
  373. * Description : 고객(환자)을 검색하기위한 팝업창을 호출한다.
  374. ex) var ref = cczfOpenSelectClnt2(search_condition, search_term)
  375. 리턴값
  376. var objParam = new Object();
  377. objParam.pid = pid;
  378. objParam.hngnm = patnm;
  379. objParam.mpphontel = mpphontel;
  380. objParam.email = email;
  381. objParam.rrgstno1 = resdnrgstno1;
  382. objParam.rrgstno2 = resdnrgstno2;
  383. objParam.sex = gndr;
  384. objParam.zipcd1 = zipcd1;
  385. objParam.zipcd2 = zipcd2;
  386. objParam.zipcdseq = zipcdseq;
  387. objParam.zipcdaddr = zipcdaddr;
  388. objParam.detladdr = detladdr;
  389. objParam.etctelno1 = etctelno1;
  390. ****************************************************************************************/
  391. function cczfOpenSelectClnt2(search_condition, search_term)
  392. {
  393. frmf_setParameter("search_condition", search_condition);
  394. frmf_setParameter("search_term", search_term);
  395. var rtn = frmf_modal("SPCCM00100", "SPCCM00100", "", "", "", "", "", "", "", "", "", "", "M");
  396. frmf_clearParameter("search_condition");
  397. frmf_clearParameter("search_term");
  398. return rtn;
  399. }]]></Script>