SMMNO01100_SMS전송.xfdl 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMMNO01100" position="absolute 0 0 1195 765" titletext="SMS 전송" oninit="SMMNO01100_oninit" onload="SMMNO01100_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 19 1195 765" id="group3" scrollbars="autoboth" anchor="all">
  8. <Layouts>
  9. <Layout>
  10. <Div position="absolute 0 6 1195 41" align="align:center top;" id="grp_sea" class="div_SA" anchor="left top right">
  11. <Layouts>
  12. <Layout>
  13. <Combo position="absolute 265 8 410 27" id="cmb_orddept" class="combo_search" enable="true" innerdataset="@ds_init_cmb_orddept" datacolumn="depthngnm" codecolumn="deptcd" anchor="default" onitemchanged="group3_grp_sea_cmb_suppdept_onitemchanged"/>
  14. <Static text="진료과 :" position="absolute 201 9 264 26" id="caption5" class="search_name" anchor="default"/>
  15. <Button position="absolute 1133 7 1189 29" id="btn_sea" class="btn1" text="조회" anchor="top right" onclick="group3_grp_sea_btn_sea_onclick"/>
  16. <Shape position="absolute 1124 7 1130 29" linetype="vertical" id="line13" class="line_4" anchor="top right"/>
  17. <Static text="진료일자 :" position="absolute 10 9 86 26" id="caption3" class="search_name" anchor="default"/>
  18. <Calendar position="absolute 90 8 180 27" id="ipt_orddd" class="input_search" anchor="default" onchanged="group3_grp_sea_ipt_orddd_onchanged" dateformat="yyyy-MM-dd" value="null" autoselect="true"/>
  19. <Static text="진료의사 :" position="absolute 423 9 502 26" id="caption2" class="search_name" anchor="default"/>
  20. <Combo position="absolute 501 8 616 27" id="cmb_orddr" class="combo_search" innerdataset="@ds_init_cmb_orddr" datacolumn="userdepthngnm" codecolumn="userid" anchor="default" onitemchanged="group3_grp_sea_cmb_orddr_onitemchanged"/>
  21. <Radio position="absolute 627 9 897 26" id="radio2" taborder="1" columncount="3" codecolumn="codecolumn" datacolumn="datacolumn" anchor="default" onitemchanged="group3_grp_sea_radio2_onitemchanged">
  22. <Dataset id="innerdataset">
  23. <ColumnInfo>
  24. <Column id="codecolumn" size="256"/>
  25. <Column id="datacolumn" size="256"/>
  26. </ColumnInfo>
  27. <Rows>
  28. <Row>
  29. <Col id="codecolumn">A</Col>
  30. <Col id="datacolumn">진료일정의사</Col>
  31. </Row>
  32. <Row>
  33. <Col id="codecolumn">Y</Col>
  34. <Col id="datacolumn">진료의전체</Col>
  35. </Row>
  36. <Row>
  37. <Col id="codecolumn">R</Col>
  38. <Col id="datacolumn">퇴직의사</Col>
  39. </Row>
  40. </Rows>
  41. </Dataset>
  42. </Radio>
  43. <Radio position="absolute 928 9 1107 28" id="radio1" taborder="1" columncount="3" codecolumn="codecolumn" datacolumn="datacolumn" anchor="default">
  44. <Dataset id="innerdataset">
  45. <ColumnInfo>
  46. <Column id="codecolumn" size="256"/>
  47. <Column id="datacolumn" size="256"/>
  48. </ColumnInfo>
  49. <Rows>
  50. <Row>
  51. <Col id="codecolumn">A</Col>
  52. <Col id="datacolumn">오전</Col>
  53. </Row>
  54. <Row>
  55. <Col id="codecolumn">P</Col>
  56. <Col id="datacolumn">오후</Col>
  57. </Row>
  58. <Row>
  59. <Col id="codecolumn">D</Col>
  60. <Col id="datacolumn">전일</Col>
  61. </Row>
  62. </Rows>
  63. </Dataset>
  64. </Radio>
  65. </Layout>
  66. </Layouts>
  67. </Div>
  68. <Static text="전송 대상자 조회" position="absolute 455 54 608 70" id="caption1" class="tit_2" anchor="default"/>
  69. <Shape position="absolute 455 70 1195 76" linetype="horizontal" id="line1" class="line_10" anchor="left top right"/>
  70. <Button position="absolute 1152 51 1194 70" id="button2" class="btn2" text="전송" anchor="top right" onclick="group3_button2_onclick"/>
  71. <Static text="메시지 작성" position="absolute 0 55 121 76" id="caption4" class="tit_2" anchor="default"/>
  72. <Static text="전송구분" position="absolute 0 76 85 99" align="align:center middle;" id="caption13" class="cell_1" anchor="default"/>
  73. <Shape position="absolute 0 71 450 77" linetype="horizontal" id="line2" class="line_10" anchor="default"/>
  74. <Static text="전송내역 리스트" position="absolute 0 247 118 268" id="caption7" class="tit_2" anchor="default"/>
  75. <TextArea position="absolute 0 100 450 234" align="align:left middle;" id="textarea1" anchor="default" onkeyup="group3_textarea1_onkeyup" wordwrap="char" scrollbars="autovert" style="align:left middle;"/>
  76. <Shape position="absolute 0 95 450 101" linetype="horizontal" id="line3" class="line_2" anchor="default"/>
  77. <Shape position="absolute 0 233 450 239" linetype="horizontal" id="line4" class="line_3" anchor="default"/>
  78. <Shape position="absolute 0 262 450 270" linetype="horizontal" id="line5" class="line_10" anchor="default"/>
  79. <Grid position="absolute 0 268 450 745" id="grd_baselist" binddataset="ds_grd_baselist" anchor="left top bottom" oncellclick="group3_grd_baselist_oncellclick" cellsizingtype="col" extendsizetype="row" autosizingtype="row">
  80. <Formats>
  81. <Format id="default">
  82. <Columns>
  83. <Column size="79"/>
  84. <Column size="346"/>
  85. </Columns>
  86. <Rows>
  87. <Row size="24" band="head"/>
  88. <Row size="24"/>
  89. </Rows>
  90. <Band id="head">
  91. <Cell text="전송구분"/>
  92. <Cell col="1" text="상용문구"/>
  93. </Band>
  94. <Band id="body">
  95. <Cell text="bind:basetypenm"/>
  96. <Cell col="1" style="align:left;padding:2 0 2 5;" text="bind:typenm" wordwrap="char" autosizerow="limitmin"/>
  97. </Band>
  98. </Format>
  99. </Formats>
  100. </Grid>
  101. <Grid position="absolute 455 75 1195 746" id="grd_opatmngt" binddataset="ds_grd_opatmngt" anchor="all" autofittype="col" oncellclick="group3_grd_opatmngt_oncellclick" cellsizingtype="col" selecttype="multirow" cellclickbound="cell">
  102. <Formats>
  103. <Format id="default">
  104. <Columns>
  105. <Column size="22"/>
  106. <Column size="55"/>
  107. <Column size="57"/>
  108. <Column size="58"/>
  109. <Column size="45"/>
  110. <Column size="54"/>
  111. <Column size="36"/>
  112. <Column size="61"/>
  113. <Column size="166"/>
  114. <Column size="40"/>
  115. <Column size="92"/>
  116. <Column size="0"/>
  117. <Column size="0"/>
  118. <Column size="0"/>
  119. <Column size="0"/>
  120. <Column size="0"/>
  121. <Column size="0"/>
  122. <Column size="0"/>
  123. <Column size="0"/>
  124. </Columns>
  125. <Rows>
  126. <Row size="24" band="head"/>
  127. <Row size="24"/>
  128. </Rows>
  129. <Band id="head">
  130. <Cell displaytype="checkbox" edittype="checkbox"/>
  131. <Cell col="1" text="예약시간"/>
  132. <Cell col="2" text="등록번호"/>
  133. <Cell col="3" text="성명"/>
  134. <Cell col="4" text="S/A"/>
  135. <Cell col="5" text="초/재"/>
  136. <Cell col="6" text="수납"/>
  137. <Cell col="7" text="예약구분"/>
  138. <Cell col="8" text="Remark"/>
  139. <Cell col="9" text="전송"/>
  140. <Cell col="10" text="휴대전화번호"/>
  141. <Cell col="11"/>
  142. <Cell col="12"/>
  143. <Cell col="13"/>
  144. <Cell col="14"/>
  145. <Cell col="15"/>
  146. <Cell col="16"/>
  147. <Cell col="17"/>
  148. <Cell col="18"/>
  149. </Band>
  150. <Band id="body">
  151. <Cell displaytype="checkbox" edittype="checkbox" text="bind:acptyn" expr="expr:acptyn == 'true' || acptyn == '1'?1:0"/>
  152. <Cell col="1" text="bind:ordtm" mask="##:##"/>
  153. <Cell col="2" text="bind:pid"/>
  154. <Cell col="3" text="bind:hngnm"/>
  155. <Cell col="4" text="bind:sexage"/>
  156. <Cell col="5" displaytype="combo" text="bind:fsexamflag" enable="false"/>
  157. <Cell col="6" displaytype="combo" text="bind:calcyn" enable="false"/>
  158. <Cell col="7" text="bind:rsrvflag"/>
  159. <Cell col="8" style="align:left middle;" text="bind:remfact"/>
  160. <Cell col="9" text="bind:smsyn"/>
  161. <Cell col="10" text="bind:mpphontel"/>
  162. <Cell col="11" text="bind:roomcd"/>
  163. <Cell col="12" text="bind:cntctel"/>
  164. <Cell col="13" text="bind:prcpdd"/>
  165. <Cell col="14" text="bind:rsrvdd"/>
  166. <Cell col="15" text="bind:execprcpuniqno"/>
  167. <Cell col="16" text="bind:rsrvdd"/>
  168. <Cell col="17" text="bind:suppdeptcd"/>
  169. <Cell col="18" text="bind:excuroomcd"/>
  170. </Band>
  171. </Format>
  172. </Formats>
  173. </Grid>
  174. <Button position="absolute 978 51 1064 70" id="button4" class="btn2" text="상용문구관리" anchor="top right" onclick="group3_button4_onclick"/>
  175. <Combo position="absolute 88 77 188 96" id="cmb_sendgb" class="combo_default" innerdataset="ds_init_cmb_sendgb" datacolumn="typenm" codecolumn="basetypecd" anchor="default" onitemchanged="group3_cmb_sendgb_onitemchanged"/>
  176. <Edit position="absolute 274 77 374 96" id="ipt_cntctel" class="input_default" anchor="default"/>
  177. <Static text="발신번호" position="absolute 191 76 271 99" align="align:center middle;" id="cap_bfrecuser" class="cell_1" anchor="default"/>
  178. <Static text="/40자" position="absolute 415 74 450 99" align="align:center middle;" id="caption120" anchor="default"/>
  179. <Edit readonly="true" position="absolute 379 77 415 96" align="align:right middle;" id="opt_msgcnt" anchor="default"/>
  180. <Button id="button3" taborder="1" text="전송결과조회" class="btn2" position="absolute 1065 51 1151 70" onclick="group3_button3_onclick" anchor="top right"/>
  181. </Layout>
  182. </Layouts>
  183. </Div>
  184. <Static text="SMS 전송" position="absolute 0 0 100 25" id="caption6" class="tit_1"/>
  185. </Layout>
  186. </Layouts>
  187. <Objects>
  188. <Dataset id="ds_init_cmb_orddept" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  189. <ColumnInfo>
  190. <Column id="depthngnm" type="STRING"/>
  191. <Column id="deptcd" type="STRING"/>
  192. </ColumnInfo>
  193. </Dataset>
  194. <Dataset id="ds_init_cmb_orddr" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  195. <ColumnInfo>
  196. <Column id="userdepthngnm" type="STRING"/>
  197. <Column id="userid" type="STRING"/>
  198. </ColumnInfo>
  199. </Dataset>
  200. <Dataset id="ds_grd_baselist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  201. <ColumnInfo>
  202. <Column id="basetypenm" type="STRING"/>
  203. <Column id="typenm" type="STRING"/>
  204. </ColumnInfo>
  205. </Dataset>
  206. <Dataset id="ds_grd_opatmngt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false" oncolumnchanged="ds_grd_opatmngt_oncolumnchanged">
  207. <ColumnInfo>
  208. <Column id="acptyn" type="STRING"/>
  209. <Column id="rsrvtm" type="STRING"/>
  210. <Column id="pid" type="STRING"/>
  211. <Column id="hngnm" type="STRING"/>
  212. <Column id="age" type="STRING"/>
  213. <Column id="prcpgenrflag" type="STRING"/>
  214. <Column id="execprcpstatcd" type="STRING"/>
  215. <Column id="smsyn" type="STRING"/>
  216. <Column id="mpphontel" type="STRING"/>
  217. <Column id="prcpcd" type="STRING"/>
  218. <Column id="prcpnm" type="STRING"/>
  219. <Column id="usernm" type="STRING"/>
  220. <Column id="prcpdt" type="STRING"/>
  221. <Column id="rsrvrem" type="STRING"/>
  222. <Column id="prcpdelivefact" type="STRING"/>
  223. <Column id="clinccmtcnts" type="STRING"/>
  224. <Column id="roomcd" type="STRING"/>
  225. <Column id="cntctel" type="STRING"/>
  226. <Column id="prcpdd" type="STRING"/>
  227. <Column id="rsrvdd" type="STRING"/>
  228. <Column id="execprcpuniqno" type="STRING"/>
  229. <Column id="rsrvdd" type="STRING"/>
  230. <Column id="suppdeptcd" type="STRING"/>
  231. <Column id="excuroomcd" type="STRING"/>
  232. </ColumnInfo>
  233. </Dataset>
  234. <Dataset id="ds_init_cmb_sendgb" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  235. <ColumnInfo>
  236. <Column id="typenm" type="STRING"/>
  237. <Column id="basetypecd" type="STRING"/>
  238. </ColumnInfo>
  239. </Dataset>
  240. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  241. <ColumnInfo>
  242. <Column id="orddeptcd" type="STRING" size="256"/>
  243. <Column id="orddrid" type="STRING" size="256"/>
  244. <Column id="orddd" type="STRING" size="256"/>
  245. <Column id="ampmflag" type="STRING" size="256"/>
  246. <Column id="basetypecd" type="STRING" size="256"/>
  247. <Column id="baseclsflag" type="STRING" size="256"/>
  248. <Column id="supbasetypecd" type="STRING" size="256"/>
  249. <Column id="ordclsdeptflag" type="STRING" size="256"/>
  250. <Column id="supdeptcd" type="STRING" size="256"/>
  251. <Column id="prcpspecflag" type="STRING" size="256"/>
  252. <Column id="cntctel" type="STRING" size="256"/>
  253. </ColumnInfo>
  254. <Rows>
  255. <Row>
  256. <Col id="orddeptcd"/>
  257. <Col id="orddrid"/>
  258. <Col id="orddd"/>
  259. <Col id="ampmflag">A</Col>
  260. <Col id="basetypecd"/>
  261. <Col id="baseclsflag"/>
  262. <Col id="supbasetypecd"/>
  263. <Col id="ordclsdeptflag"/>
  264. <Col id="supdeptcd"/>
  265. <Col id="prcpspecflag">A</Col>
  266. <Col id="cntctel"/>
  267. </Row>
  268. </Rows>
  269. </Dataset>
  270. <Dataset id="ds_init_M0011" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  271. <Dataset id="ds_init_M0010" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  272. </Objects>
  273. <Bind>
  274. <BindItem id="item0" compid="group3.grp_sea.ipt_orddd" propid="value" datasetid="ds_send" columnid="orddd"/>
  275. <BindItem id="item1" compid="group3.grp_sea.cmb_orddept" propid="value" datasetid="ds_send" columnid="orddeptcd"/>
  276. <BindItem id="item2" compid="group3.grp_sea.cmb_orddr" propid="value" datasetid="ds_send" columnid="orddrid"/>
  277. <BindItem id="item3" compid="group3.grp_sea.radio2" propid="value" datasetid="ds_send" columnid="prcpspecflag"/>
  278. <BindItem id="item4" compid="group3.grp_sea.radio1" propid="value" datasetid="ds_send" columnid="ampmflag"/>
  279. <BindItem id="item5" compid="group3.cmb_sendgb" propid="value" datasetid="ds_send" columnid="supbasetypecd"/>
  280. <BindItem id="item6" compid="group3.ipt_cntctel" propid="value" datasetid="ds_send" columnid="cntctel"/>
  281. </Bind>
  282. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  283. * System Name :
  284. * Job Name :
  285. * Creator :
  286. * Make Date : 2015-11-13
  287. * Description :
  288. *---------------------------------------------------------------------------------------
  289. * Modify Date Modifier Modify Description
  290. *---------------------------------------------------------------------------------------
  291. * 2015-11-13 Live Converter TF->XP
  292. *
  293. *---------------------------------------------------------------------------------------
  294. ****************************************************************************************/
  295. include "com_commonxp::comm_main.xjs";
  296. include "ast_examcurexp::AEZ0001.xjs";
  297. include "com_basiccodexp::ZBC001.xjs";
  298. include "com_departmentcodexp::ZSD001.xjs";
  299. function fDeptChanged() {
  300. if(utlf_isNull(ds_send.getColumn(0,"orddeptcd"))){
  301. return;
  302. }
  303. group3.grp_sea.cmb_orddr.enable = true;
  304. var sordclsdeptflag = ds_init_cmb_orddept.lookup("deptcd",ds_send.getColumn(0,"orddeptcd"),"ordclsdeptflag"); // 센터/대표/분과/서브 구분
  305. var sorddeptkind = ds_init_cmb_orddept.lookup("deptcd",ds_send.getColumn(0,"orddeptcd"),"orddeptkind"); // 센터/대표 구분
  306. var ssupdeptcd = ds_init_cmb_orddept.lookup("deptcd",ds_send.getColumn(0,"orddeptcd"),"supdeptcd"); // 상위부서코드
  307. var sorddeptflag = "";
  308. if (sorddeptkind == "C") { // 센터이면
  309. sorddeptflag = "C";
  310. //} else if (sorddeptkind != "C" && sordclsdeptflag == "A") { // 센터가 아니면서 분과이면
  311. // sorddeptflag = "A";
  312. } else { // 그외에 기타과
  313. sorddeptflag = "etc";
  314. }
  315. ds_send.setColumn(0,"ordclsdeptflag",sorddeptflag);
  316. ds_send.setColumn(0,"supdeptcd",ssupdeptcd);
  317. dsf_createDsRow("ds_send_req" , [
  318. {col: "orddeptcd", val:ds_send.getColumn(0,"orddeptcd")}
  319. ,{col: "orddd", val:ds_send.getColumn(0,"orddd")}
  320. ,{col: "ordclsdeptflag", val:ds_send.getColumn(0,"ordclsdeptflag")}
  321. ,{col: "supdeptcd", val:ds_send.getColumn(0,"supdeptcd")}
  322. ,{col: "prcpspecflag", val:ds_send.getColumn(0,"prcpspecflag")}
  323. ]);
  324. var oParam = {};
  325. oParam.id = "TRMNO00104";
  326. oParam.service = "outcareapp.OutCareMngt";
  327. oParam.method = "reqGetDrId";
  328. oParam.inds = "reqdrid=ds_send_req";
  329. oParam.outds = "ds_init_cmb_orddr=orddr";
  330. oParam.async = false;
  331. oParam.callback = "cf_TRMNO00104";
  332. tranf_submit(oParam);
  333. }
  334. function cf_TRMNO00104(sSvcId, nErrorCode, sErrorMsg) {
  335. if(nErrorCode < 0) return;
  336. // group3.grp_sea.cmb_orddr.index = 0;
  337. }
  338. function fBtnRefClicked(){
  339. var arrCompId = new Array("group3.grp_sea.ipt_orddd", "group3.grp_sea.cmb_orddept", "group3.grp_sea.cmb_orddr");
  340. if(frmf_isRequiredControls(arrCompId)) {
  341. group3.grd_opatmngt.setCellProperty("head",0,"text","0");
  342. ds_grd_opatmngt.clearData();
  343. // 날짜 변경시 의사스케쥴재조회
  344. fDeptChanged();
  345. var oParam = {};
  346. oParam.id = "TRMNO01100";
  347. oParam.service = "outcareapp.OutCareMngt";
  348. oParam.method = "reqGetPatSmsList";
  349. oParam.inds = "opatref=ds_send";
  350. oParam.outds = "ds_grd_opatmngt=opatlist";
  351. oParam.async = false;
  352. oParam.callback = "cf_TRMNO01100";
  353. tranf_submit(oParam);
  354. //조회 후 상태 정보 clear
  355. //grd_opatmngt.clearStatus();
  356. }
  357. ds_send.setColumn(0,"cntctel", utlf_rTrim(ds_grd_opatmngt.getColumn(0,"cntctel")));
  358. }
  359. function cf_TRMNO01100(sSvcId, nErrorCode, sErrorMsg) {
  360. if(nErrorCode < 0) return;
  361. }
  362. function fBaseCodeSearch(typegubn){
  363. ds_send.setColumn(0,"baseclsflag", "O"); // 외래기준자료
  364. ds_send.setColumn(0,"basetypecd", typegubn);
  365. ds_send.setColumn(0,"supbasetypecd", "O");
  366. var oParam = {};
  367. oParam.id = "TRMNO00801";
  368. oParam.service = "outcareapp.OutCareMngt";
  369. oParam.method = "reqGetBaseCodeListInfo";
  370. oParam.inds = "req=ds_send";
  371. oParam.outds = "ds_init_cmb_sendgb=basecodelistinfo";
  372. oParam.async = false;
  373. oParam.callback = "cf_TRMNO00801";
  374. tranf_submit(oParam);
  375. }
  376. function cf_TRMNO00801(sSvcId, nErrorCode, sErrorMsg) {
  377. if(nErrorCode < 0) return;
  378. ds_grd_baselist.clearData();
  379. group3.cmb_sendgb.index = 0;
  380. group3_cmb_sendgb_onitemchanged();
  381. }
  382. function SMMNO01100_oninit(obj:Form, e:InitEventInfo)
  383. {
  384. frmf_initForm(obj);
  385. }
  386. function SMMNO01100_onload(obj:Form, e:LoadEventInfo)
  387. {
  388. g_updateData = grdf_getGridUpdateData(group3.grd_opatmngt,"update");
  389. dsf_createDs("ds_tempupdate");
  390. //dsf_copyDs(ds_tempupdate,g_updateData);
  391. ds_tempupdate.copyData(g_updateData, true);
  392. ds_grd_opatmngt.clearData();
  393. //오늘 날짜로 초기화 하는 부분.(진료일자를 default로 오늘 날짜로 선택함)
  394. var dt = utlf_getCurrentDate();
  395. grdf_initGrid(group3.grd_baselist);
  396. grdf_initGrid(group3.grd_opatmngt);
  397. ds_send.setColumn(0,"orddd", dt);
  398. var instcd = sysf_getUserInfo("dutplceinstcd");
  399. var standard_yn = "orduseyn";
  400. var ord_deptflag = "X"; //외래진료실
  401. zsdfGetCareOutOrderDepartmentList(instcd, "ds_init_cmb_orddept", dt);
  402. // var rslt_ref = "/root/init/cmb_info/orddeptcdlist";
  403. // zbcfGetDeptCodeList(instcd, standard_yn, ord_deptflag, rslt_ref);
  404. // appf_getDeptCodeList(instcd, standard_yn, ord_deptflag, "", "", "", "", "", "ds_init_cmb_suppdept")
  405. // zbcfGetCodeList( new Array("M0011","M0010"), new Array("/root/init2/cmb_info/initexecprcpstatcd","/root/init2/cmb_info/prcpgenrflag") );
  406. var arrParam = [{dsNm: "ds_init_M0011", cdGrpId: "M0011"}
  407. ,{dsNm: "ds_init_M0010", cdGrpId: "M0010"}
  408. ]
  409. appf_getCodeList(arrParam);
  410. //submit("TRZBC00101", false);
  411. ds_send.setColumn(0,"orddeptcd", sysf_getUserInfo("dutplcecd")); // 근무지부서코드
  412. fDeptChanged();
  413. fBaseCodeSearch("B"); // 전송구분 조회
  414. if (frmf_isPopup()) {
  415. var pid = opener.frmf_getParameter("SMPMO00200_SMS_pid");
  416. if (!utlf_isNull(pid)) {
  417. var orddd = frmf_getParameter("SMPMO00200_SMS_orddd");
  418. var orddeptcd = frmf_getParameter("SMPMO00200_SMS_orddeptcd");
  419. var orddrid = frmf_getParameter("SMPMO00200_SMS_orddrid");
  420. ds_send.setColumn(0,"orddd", orddd);
  421. ds_send.setColumn(0,"orddeptcd", orddeptcd);
  422. fDeptChanged();
  423. fBaseCodeSearch("B"); // 전송구분 조회
  424. ds_grd_opatmngt.clearData();
  425. ds_send.setColumn(0,"orddrid", orddrid);
  426. ds_send.setColumn(0,"ampmflag", "D");
  427. fBtnRefClicked();
  428. for (var i = 0; i < ds_grd_opatmngt.rowcount; i++) {
  429. if (pid == ds_grd_opatmngt.getColumn(i,"pid")) {
  430. ds_grd_opatmngt.setColumn(i,"acptyn", "1");
  431. //grd_opatmngt.rowStatus(i) = 2;
  432. grdf_setStatus(group3.grd_opatmngt,"U",i);
  433. group3.grd_opatmngt.setFocus();
  434. ds_grd_opatmngt.rowposition = i;
  435. break;
  436. }
  437. }
  438. group3.textarea1.value = opener.frmf_getParameter("SMPMO00200_SMS_msg");
  439. }
  440. }
  441. }
  442. function group3_grp_sea_cmb_suppdept_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  443. {
  444. obj.updateToDataset();
  445. fDeptChanged();
  446. fBaseCodeSearch("B"); // 전송구분 조회
  447. ds_grd_opatmngt.clearData();
  448. }
  449. function group3_grp_sea_btn_sea_onclick(obj:Button, e:ClickEventInfo)
  450. {
  451. fBtnRefClicked();
  452. }
  453. function group3_button2_onclick(obj:Button, e:ClickEventInfo)
  454. {
  455. if(utlf_isNull(group3.textarea1.value)){
  456. sysf_messageBox("전송내용을 입력하지 ","E007");
  457. return;
  458. }
  459. if(utlf_isNull(ds_send.getColumn(0,"cntctel"))){
  460. sysf_messageBox("발신번호를 입력하지 ","E007");
  461. return;
  462. }
  463. // 발신번호 Setting
  464. var chkcnt = 0;
  465. for (var i=0; i< ds_grd_opatmngt.rowcount ; i++){
  466. if (ds_grd_opatmngt.getColumn(i,"acptyn") == "true") {
  467. ds_grd_opatmngt.setColumn(i,"cntctel", ds_send.getColumn(0,"cntctel"));
  468. chkcnt++;
  469. }
  470. }
  471. var ds_updatedata = grdf_getGridUpdateData(group3.grd_opatmngt,"update");
  472. dsf_createDs("ds_send_updatedata");
  473. ds_send_updatedata.copyData(ds_updatedata, true);
  474. //dsf_copyDs(ds_send_updatedata,ds_updatedata);
  475. if(ds_tempupdate.saveXML() == ds_send_updatedata.saveXML()
  476. || ds_send_updatedata.rowcount == 0 ){
  477. sysf_messageBox("SMS 전송대상이", "I004")
  478. return;
  479. }
  480. for(var iRow = 0; iRow <ds_grd_opatmngt.rowcount; iRow++){
  481. if((utlf_transNullToEmpty(ds_grd_opatmngt.getColumn(iRow,"mpphontel")).length < 10) &&
  482. (ds_grd_opatmngt.getColumn(iRow,"acptyn") == "true")){
  483. sysf_messageBox(ds_grd_opatmngt.getColumn(iRow,"hngnm") + "의 휴대전화번호가 ","C001");
  484. return;
  485. }
  486. }
  487. var sRtnMsg = sysf_messageBox("SMS 전송을 ", "Q003");
  488. if(sRtnMsg != 6) return;
  489. // model.copynode("/root/send", "/root/main/cond");
  490. dsf_makeValue(ds_send,"msgparam", "string", group3.textarea1.value);
  491. var oParam = {};
  492. oParam.id = "TXMNO01101";
  493. oParam.service = "outcareapp.OutCareMngt";
  494. oParam.method = "reqExeCallMngtInfo";
  495. oParam.inds = "reqdata=ds_send_updatedata opatref=ds_send";
  496. oParam.outds = "ds_grd_opatmngt=opatlist";
  497. oParam.async = false;
  498. oParam.callback = "cf_TXMNO01101";
  499. tranf_submit(oParam);
  500. }
  501. function cf_TXMNO01101(sSvcId, nErrorCode, sErrorMsg) {
  502. if(nErrorCode < 0) return;
  503. group3.grd_opatmngt.setCellProperty("head",0,"text","0");
  504. group3.textarea1.value = "";
  505. dsf_deleteDs("ds_send_updatedata");
  506. }
  507. function group3_textarea1_onkeyup(obj:TextArea, e:KeyEventInfo)
  508. {
  509. group3.opt_msgcnt.value = (group3.textarea1.text).length;
  510. }
  511. function group3_grd_baselist_oncellclick(obj:Grid, e:GridClickEventInfo)
  512. {
  513. var iRow = ds_grd_baselist.rowposition;
  514. if(iRow < 0) return;
  515. group3.textarea1.value = ds_grd_baselist.getColumn(iRow,"typenm");
  516. group3.opt_msgcnt.value = (ds_grd_baselist.getColumn(iRow,"typenm")).length;
  517. }
  518. function group3_button4_onclick(obj:Button, e:ClickEventInfo)
  519. {
  520. var sParam_Data = "O";
  521. frmf_setParameter("SMMNO00800_Param",sParam_Data);
  522. frmf_modal("SMMNO00800","SMMNO00800","","","","","","","","","","","M");
  523. }
  524. function group3_cmb_sendgb_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  525. {
  526. //obj.updateToDataset();
  527. ds_grd_baselist.clearData();
  528. ds_send.setColumn(0,"baseclsflag", "O"); // 외래기준자료
  529. var oParam = {};
  530. oParam.id = "TRMNO00800";
  531. oParam.service = "outcareapp.OutCareMngt";
  532. oParam.method = "reqGetBaseCodeListInfo";
  533. oParam.inds = "req=ds_send";
  534. oParam.outds = "ds_grd_baselist=basecodelistinfo";
  535. oParam.async = false;
  536. //oParam.callback = "cf_TRMNO00800";
  537. tranf_submit(oParam);
  538. }
  539. function group3_grp_sea_ipt_orddd_onchanged(obj:Calendar, e:ChangeEventInfo)
  540. {
  541. fBtnRefClicked();
  542. }
  543. function group3_grp_sea_cmb_orddr_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  544. {
  545. obj.updateToDataset();
  546. fBtnRefClicked();
  547. }
  548. function group3_grp_sea_radio2_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  549. {
  550. obj.updateToDataset();
  551. fDeptChanged();
  552. }
  553. function group3_button3_onclick(obj:Button, e:ClickEventInfo)
  554. {
  555. frmf_modal("SMMNO01200","SMMNO01200","","","","","","","","","","","M");
  556. }
  557. function ds_grd_opatmngt_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  558. {
  559. if(e.columnid == "acptyn")
  560. {
  561. if(obj.getColumn(e.row,"acptyn") == "1"){
  562. obj.setColumn(e.row,"acptyn","true");
  563. }else{
  564. obj.setColumn(e.row,"acptyn","false");
  565. grdf_setStatus(group3.grd_opatmngt, "", [e.row]);
  566. }
  567. }
  568. }
  569. function group3_grd_opatmngt_oncellclick(obj:Grid, e:GridClickEventInfo)
  570. {
  571. if( e.row < 0 || e.col < 1 ) return;
  572. var grdDs = this.objects[obj.binddataset];
  573. var nRow = grdDs.rowposition;
  574. if(grdDs.getColumn(nRow, "acptyn") == "true"){
  575. grdDs.setColumn(nRow, "acptyn","false");
  576. grdf_setStatus(obj, "", [nRow]);
  577. }else{
  578. grdDs.setColumn(nRow, "acptyn", 1);
  579. }
  580. }
  581. ]]></Script>
  582. </Form>
  583. </FDL>