SPZMI00600_SBS메시지함.xfdl 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPZMI00600" classname="SPZMI00600_SBS메시지함" inheritanceid="" position="absolute 0 0 946 542" titletext="SBS메시지함" oninit="SPZMI00600_oninit" onload="SPZMI00600_onload">
  5. <Layouts>
  6. <Layout>
  7. <Grid id="grd_sbsmsglist" taborder="0" useinputpanel="false" position="absolute 0 64 946 542" binddataset="ds_sbsmsginfo" extendsizetype="row" autosizingtype="row" selecttype="multirow" autofittype="col" cellclickbound="cell" onlbuttonup="grd_sbsmsglist_onlbuttonup">
  8. <Formats>
  9. <Format id="default">
  10. <Columns>
  11. <Column size="24"/>
  12. <Column size="60"/>
  13. <Column size="60"/>
  14. <Column size="80"/>
  15. <Column size="275"/>
  16. <Column size="60"/>
  17. <Column size="60"/>
  18. <Column size="120"/>
  19. <Column size="70"/>
  20. <Column size="120"/>
  21. </Columns>
  22. <Rows>
  23. <Row size="24" band="head"/>
  24. <Row size="24"/>
  25. </Rows>
  26. <Band id="head">
  27. <Cell displaytype="checkbox" edittype="checkbox"/>
  28. <Cell col="1" displaytype="normal" text="신청구분"/>
  29. <Cell col="2" displaytype="normal" text="환자번호"/>
  30. <Cell col="3" displaytype="normal" text="환자명"/>
  31. <Cell col="4" displaytype="normal" text="메시지내용"/>
  32. <Cell col="5" displaytype="normal" text="환자병동"/>
  33. <Cell col="6" text="환자병실"/>
  34. <Cell col="7" displaytype="normal" text="요청시간"/>
  35. <Cell col="8" text="메시지확인"/>
  36. <Cell col="9" displaytype="normal" text="메시지확인시간"/>
  37. </Band>
  38. <Band id="body">
  39. <Cell displaytype="checkbox" edittype="checkbox" text="bind:msgcheck"/>
  40. <Cell col="1" displaytype="normal" style="background:EXPR((msgtype == &quot;T&quot;) ? &quot;yellowgreen&quot; : &quot;deepskyblue&quot;);background2:EXPR((msgtype == &quot;T&quot;) ? &quot;yellowgreen&quot; : &quot;deepskyblue&quot;);selectbackground:EXPR((msgtype == &quot;T&quot;) ? &quot;yellowgreen&quot; : &quot;deepskyblue&quot;);" text="bind:msgtypenm"/>
  41. <Cell col="2" displaytype="normal" text="bind:pid"/>
  42. <Cell col="3" displaytype="normal" text="bind:hngnm"/>
  43. <Cell col="4" displaytype="text" style="padding:1 4 1 4;font:Dotum,9,bold;selectfont:Dotum,9,bold;linespace:4;" text="bind:msgcnts" wordwrap="both" autosizerow="limitmin"/>
  44. <Cell col="5" displaytype="normal" text="bind:orddeptnm"/>
  45. <Cell col="6" text="bind:roomcd"/>
  46. <Cell col="7" displaytype="normal" text="bind:reqdt"/>
  47. <Cell col="8" style="color:EXPR((recvcnfmyn == &quot;Y&quot;) ? &quot;&quot; : &quot;red&quot;);color2:EXPR((recvcnfmyn == &quot;Y&quot;) ? &quot;&quot; : &quot;red&quot;);selectcolor:EXPR((recvcnfmyn == &quot;Y&quot;) ? &quot;&quot; : &quot;red&quot;);" text="bind:recvcnfmnm"/>
  48. <Cell col="9" displaytype="normal" text="bind:recvcnfmdt"/>
  49. </Band>
  50. </Format>
  51. </Formats>
  52. </Grid>
  53. <Div id="div_search" taborder="2" position="absolute 0 0 824 59" class="div_SA2">
  54. <Layouts>
  55. <Layout>
  56. <Static id="Static00" text="환자번호 :" position="absolute 15 9 86 29" class="search_name" anchor="default"/>
  57. <Edit id="edt_pid" taborder="1" position="absolute 93 8 177 28" anchor="default" autoselect="true" onkeydown="div_search_edt_pid_onkeydown"/>
  58. <Button id="btn_search" taborder="2" text="조회" position="absolute 757 19 811 39" class="btn1" anchor="default" onclick="div_search_btn_search_onclick"/>
  59. <Radio id="rdo_req" taborder="3" columncount="-1" rowcount="-1" position="absolute 276 19 464 39" codecolumn="codecolumn" datacolumn="datacolumn" style="textpadding:0 8 0 3;" anchor="default" onitemchanged="div_search_rdo_req_onitemchanged">
  60. <Dataset id="innerdataset">
  61. <ColumnInfo>
  62. <Column id="codecolumn" size="256"/>
  63. <Column id="datacolumn" size="256"/>
  64. </ColumnInfo>
  65. <Rows>
  66. <Row>
  67. <Col id="codecolumn">A</Col>
  68. <Col id="datacolumn">전체</Col>
  69. </Row>
  70. <Row>
  71. <Col id="codecolumn">T</Col>
  72. <Col id="datacolumn">병실이동</Col>
  73. </Row>
  74. <Row>
  75. <Col id="codecolumn">R</Col>
  76. <Col id="datacolumn">제증명</Col>
  77. </Row>
  78. </Rows>
  79. </Dataset>
  80. </Radio>
  81. <Static id="Static01" text="신청구분 :" class="search_name" position="absolute 200 19 271 39" anchor="default"/>
  82. <Static id="Static02" text="메시지확인 :" class="search_name" position="absolute 483 19 570 39" anchor="default"/>
  83. <Radio id="rdo_check" taborder="4" columncount="-1" rowcount="-1" position="absolute 572 19 736 39" codecolumn="codecolumn" datacolumn="datacolumn" style="textpadding:0 8 0 3;" anchor="default" onitemchanged="div_search_rdo_check_onitemchanged">
  84. <Dataset id="innerdataset">
  85. <ColumnInfo>
  86. <Column id="codecolumn" size="256"/>
  87. <Column id="datacolumn" size="256"/>
  88. </ColumnInfo>
  89. <Rows>
  90. <Row>
  91. <Col id="codecolumn">A</Col>
  92. <Col id="datacolumn">전체</Col>
  93. </Row>
  94. <Row>
  95. <Col id="codecolumn">N</Col>
  96. <Col id="datacolumn">미확인</Col>
  97. </Row>
  98. <Row>
  99. <Col id="codecolumn">Y</Col>
  100. <Col id="datacolumn">확인</Col>
  101. </Row>
  102. </Rows>
  103. </Dataset>
  104. </Radio>
  105. <Static id="Static03" text="환자명 :" class="search_name" position="absolute 15 32 86 52" anchor="default"/>
  106. <Edit id="edt_hngnm" taborder="5" autoselect="true" onkeydown="div_search_edt_pid_onkeydown" position="absolute 93 32 177 52" anchor="default"/>
  107. </Layout>
  108. </Layouts>
  109. </Div>
  110. <Shape id="Shape00" position="absolute 0 52 946 72" class="line_10"/>
  111. <Button id="btn_msgcheck" taborder="1" text="메시지확인" position="absolute 868 39 946 59" class="btn5" onclick="btn_msgcheck_onclick"/>
  112. <CheckBox id="chk_SBSMsgPopup" taborder="3" text="메시지 팝업 기능" position="absolute 835 0 946 20" tooltiptext="체크 시 메인창 SBS 메시지 수신시 팝업 알림이 뜹니다" onclick="chk_SBSMsgPopup_onclick"/>
  113. </Layout>
  114. </Layouts>
  115. <Objects>
  116. <Dataset id="ds_sbsmsginfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  117. <ColumnInfo>
  118. <Column id="msgcheck" type="STRING" size="256"/>
  119. <Column id="msgno" type="STRING" size="256"/>
  120. <Column id="pid" type="STRING" size="256"/>
  121. <Column id="hngnm" type="STRING" size="256"/>
  122. <Column id="msgtype" type="STRING" size="256"/>
  123. <Column id="msgtypenm" type="STRING" size="256"/>
  124. <Column id="recvrid" type="STRING" size="256"/>
  125. <Column id="msgcnts" type="STRING" size="256"/>
  126. <Column id="sbsreqno" type="STRING" size="256"/>
  127. <Column id="orddeptcd" type="STRING" size="256"/>
  128. <Column id="orddeptnm" type="STRING" size="256"/>
  129. <Column id="roomcd" type="STRING" size="256"/>
  130. <Column id="deptcd" type="STRING" size="256"/>
  131. <Column id="deptnm" type="STRING" size="256"/>
  132. <Column id="reqdt" type="STRING" size="256"/>
  133. <Column id="recvcnfmdt" type="STRING" size="256"/>
  134. <Column id="recvcnfmyn" type="STRING" size="256"/>
  135. <Column id="recvcnfmnm" type="STRING" size="256"/>
  136. <Column id="sbsyn" type="STRING" size="256"/>
  137. </ColumnInfo>
  138. </Dataset>
  139. <Dataset id="ds_search" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  140. <ColumnInfo>
  141. <Column id="pid" type="STRING" size="256"/>
  142. <Column id="hngnm" type="STRING" size="256"/>
  143. <Column id="msgtype" type="STRING" size="256"/>
  144. <Column id="recvcnfmyn" type="STRING" size="256"/>
  145. </ColumnInfo>
  146. <Rows>
  147. <Row>
  148. <Col id="msgtype">A</Col>
  149. <Col id="pid"/>
  150. <Col id="recvcnfmyn">N</Col>
  151. <Col id="hngnm"/>
  152. </Row>
  153. </Rows>
  154. </Dataset>
  155. <Dataset id="ds_check" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  156. </Objects>
  157. <Bind>
  158. <BindItem id="item0" compid="div_search.rdo_req" propid="value" datasetid="ds_search" columnid="msgtype"/>
  159. <BindItem id="item1" compid="div_search.rdo_check" propid="value" datasetid="ds_search" columnid="recvcnfmyn"/>
  160. <BindItem id="item2" compid="div_search.edt_pid" propid="value" datasetid="ds_search" columnid="pid"/>
  161. <BindItem id="item3" compid="div_search.edt_hngnm" propid="value" datasetid="ds_search" columnid="hngnm"/>
  162. </Bind>
  163. <Script type="xscript4.0"><![CDATA[include "com_commonxp::comm_main.xjs";
  164. function SPZMI00600_oninit(obj:Form, e:InitEventInfo)
  165. {
  166. frmf_initForm(obj);
  167. }
  168. function SPZMI00600_onload(obj:Form, e:LoadEventInfo)
  169. {
  170. // 메시지 확인 갱신
  171. agv_objAppBottomPath.form.lf_msgsvrSBSUserNotify();
  172. grdf_initGrid(grd_sbsmsglist);
  173. // 메시지 팝업 기능 체크
  174. var sbsmsgpopupflag = agv_objAppTopPath.form.lf_getUserConfig("sbsmsgpopupflag");
  175. chk_SBSMsgPopup.value = (sbsmsgpopupflag == "1")? true : false;
  176. div_search.btn_search.click();
  177. btn_msgcheck.setFocus();
  178. }
  179. function div_search_edt_pid_onkeydown(obj:Edit, e:KeyEventInfo)
  180. {
  181. if(e.keycode == 13) {
  182. obj.updateToDataset();
  183. div_search.btn_search.click();
  184. }
  185. }
  186. function div_search_rdo_req_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  187. {
  188. div_search.btn_search.click();
  189. }
  190. function div_search_rdo_check_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  191. {
  192. div_search.btn_search.click();
  193. }
  194. function div_search_btn_search_onclick(obj:Button, e:ClickEventInfo)
  195. {
  196. grd_sbsmsglist.setCellProperty("head", 0, "text", 1);
  197. var oParam = {};
  198. oParam.id = "getSBSMsgInfo";
  199. oParam.service = "instantmsgapp.InstantMsg";
  200. oParam.method = "reqGetSBSMsgInfo";
  201. oParam.inds = "req=ds_search"
  202. oParam.outds = "ds_sbsmsginfo=sbsmsginfo";
  203. oParam.async = true;
  204. tranf_submit(oParam);
  205. }
  206. function btn_msgcheck_onclick(obj:Button, e:ClickEventInfo)
  207. {
  208. ds_check.copyData(ds_sbsmsginfo);
  209. var rowcount = ds_sbsmsginfo.rowcount;
  210. for(var i = rowcount - 1; i >= 0; i--) {
  211. var check = ds_sbsmsginfo.getColumn(i, "msgcheck");
  212. if(check == 0 || check == false) continue;
  213. ds_check.clearData();
  214. var row = ds_check.addRow();
  215. ds_check.copyRow(row, ds_sbsmsginfo, i);
  216. var oParam = {};
  217. oParam.id = "setSBSMsgConfirm";
  218. oParam.service = "instantmsgapp.InstantMsg";
  219. oParam.method = "reqSetConfirm";
  220. oParam.inds = "req=ds_check"
  221. oParam.async = false;
  222. tranf_submit(oParam);
  223. }
  224. div_search.btn_search.click();
  225. // 메시지 확인을 한 후 메인화면 SBS 메시지 카운트 갱신 (중복 실행창 포함)
  226. agv_objAppBottomPath.form.lf_msgsvrSBSUserNotify();
  227. }
  228. function chk_SBSMsgPopup_onclick(obj:CheckBox, e:ClickEventInfo)
  229. {
  230. var sInDsName = dsf_createDsRow("ds_searchicon", [{col: "sbsmsgpopupflag", val: chk_SBSMsgPopup.value? "1" : ""}]);
  231. var oParam = {};
  232. oParam.id = "TXZMI00208";
  233. oParam.service = "instantmsgapp.InstantMsg";
  234. oParam.method = "reqExeSaveConfigurationSBS";
  235. oParam.inds = "req=" + sInDsName;
  236. oParam.async = false;
  237. oParam.callback = "cf_TXZMI00208";
  238. tranf_submit(oParam);
  239. }
  240. function cf_TXZMI00208(sSvcId, nErrorCode, sErrorMsg) {
  241. if(nErrorCode < 0) return;
  242. agv_objAppTopPath.form.lf_setUserConfig("sbsmsgpopupflag", chk_SBSMsgPopup.value ? "1" : "");
  243. }
  244. function grd_sbsmsglist_onlbuttonup(obj:Grid, e:GridMouseEventInfo)
  245. {
  246. if(e.row < 0 || e.col == 0) return;
  247. fSetGrdMultiSelect(obj);
  248. }
  249. function fSetGrdMultiSelect(obj:Grid) {
  250. var oDs = this.objects[obj.binddataset];
  251. var selectedRows = grdf_getSelectedRows(obj);
  252. for(var i = 0; i < selectedRows.length; i++) {
  253. var acptyn = oDs.getColumn(selectedRows[i], "msgcheck");
  254. if(acptyn == 1 || acptyn == true)
  255. oDs.setColumn(selectedRows[i], "msgcheck", 0);
  256. else
  257. oDs.setColumn(selectedRows[i], "msgcheck", 1);
  258. }
  259. }]]></Script>
  260. </Form>
  261. </FDL>