SPMMO11300_연속처방DC.xfdl 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMMO11300" position="absolute 0 0 230 200" titletext="연속처방DC" oninit="SPMMO11300_oninit" onload="SPMMO11300_onload">
  5. <Layouts>
  6. <Layout>
  7. <Grid position="absolute 6 5 222 167" id="datagrid1" binddataset="ds_prcp_prcplist" autofittype="col" oncellclick="datagrid1_oncellclick">
  8. <Formats>
  9. <Format id="default">
  10. <Columns>
  11. <Column size="30"/>
  12. <Column size="72"/>
  13. <Column size="111"/>
  14. </Columns>
  15. <Rows>
  16. <Row size="24" band="head"/>
  17. <Row size="24"/>
  18. </Rows>
  19. <Band id="head">
  20. <Cell displaytype="normal"/>
  21. <Cell col="1" displaytype="normal" text="상태"/>
  22. <Cell col="2" text="처방일"/>
  23. </Band>
  24. <Band id="body">
  25. <Cell displaytype="checkbox" edittype="checkbox" text="bind:status" expr="expr:(status == &quot;C&quot; || diagkindcd == 1) ? 1 : 0"/>
  26. <Cell col="1" displaytype="combo" edittype="combo" style="align:center;" text="bind:execprcpstatcd" combodataset="ds_M0011" combocodecol="cdid" combodatacol="cdnm" combodisplayrowcount="20"/>
  27. <Cell col="2" style="align:center;" text="bind:actorddd" mask="####-##-##"/>
  28. </Band>
  29. </Format>
  30. </Formats>
  31. </Grid>
  32. <Shape position="absolute 6 0 222 6" linetype="vertical" id="line7" class="line_1"/>
  33. <Button position="absolute 108 173 164 195" id="button1" class="btn4" text="D/C" onclick="button1_onclick"/>
  34. <Button position="absolute 167 173 223 195" id="button2" class="btn4" text="취소" onclick="button2_onclick"/>
  35. </Layout>
  36. </Layouts>
  37. <Objects>
  38. <Dataset id="ds_datagrid1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  39. <ColumnInfo>
  40. <Column id="status" type="STRING"/>
  41. <Column id="execprcpstatcd" type="STRING"/>
  42. <Column id="actorddd" type="STRING"/>
  43. </ColumnInfo>
  44. </Dataset>
  45. <Dataset id="ds_prcp_prcplist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_prcp_prcplist_oncolumnchanged">
  46. <ColumnInfo>
  47. <Column id="status" type="STRING" size="256"/>
  48. <Column id="actorddd" type="STRING" size="256"/>
  49. <Column id="execprcpstatcd" type="STRING" size="256"/>
  50. <Column id="prcpnm" type="STRING" size="256"/>
  51. <Column id="prcpdd" type="STRING" size="256"/>
  52. <Column id="execprcpno" type="STRING" size="256"/>
  53. <Column id="actcretno" type="STRING" size="256"/>
  54. <Column id="execprcpuniqno" type="STRING" size="256"/>
  55. <Column id="rcptdd" type="STRING" size="256"/>
  56. <Column id="keyval" type="STRING" size="256"/>
  57. <Column id="prcpno" type="STRING" size="256"/>
  58. <Column id="prcphistno" type="STRING" size="256"/>
  59. <Column id="clamdd" type="STRING" size="256"/>
  60. </ColumnInfo>
  61. </Dataset>
  62. <Dataset id="ds_reset_prcplist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  63. <ColumnInfo>
  64. <Column id="status" type="STRING" size="256"/>
  65. <Column id="actorddd" type="STRING" size="256"/>
  66. <Column id="execprcpstatcd" type="STRING" size="256"/>
  67. <Column id="prcpnm" type="STRING" size="256"/>
  68. <Column id="prcpdd" type="STRING" size="256"/>
  69. <Column id="execprcpno" type="STRING" size="256"/>
  70. <Column id="actcretno" type="STRING" size="256"/>
  71. <Column id="execprcpuniqno" type="STRING" size="256"/>
  72. <Column id="rcptdd" type="STRING" size="256"/>
  73. <Column id="keyval" type="STRING" size="256"/>
  74. <Column id="prcpno" type="STRING" size="256"/>
  75. <Column id="prcphistno" type="STRING" size="256"/>
  76. <Column id="clamdd" type="STRING" size="256"/>
  77. </ColumnInfo>
  78. </Dataset>
  79. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  80. <ColumnInfo>
  81. <Column id="prcpstatcd" type="STRING" size="256"/>
  82. </ColumnInfo>
  83. </Dataset>
  84. <Dataset id="ds_M0011" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  85. </Objects>
  86. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  87. * System Name :
  88. * Job Name :
  89. * Creator :
  90. * Make Date : 2015-11-13
  91. * Description :
  92. *---------------------------------------------------------------------------------------
  93. * Modify Date Modifier Modify Description
  94. *---------------------------------------------------------------------------------------
  95. * 2015-11-13 Live Converter TF->XP
  96. *
  97. *---------------------------------------------------------------------------------------
  98. ****************************************************************************************/
  99. include "com_commonxp::comm_main.xjs";
  100. include "emr_prcpmngtxp::MMO001.xjs";
  101. function SPMMO11300_oninit(obj:Form, e:InitEventInfo)
  102. {
  103. frmf_initForm(obj);
  104. }
  105. function SPMMO11300_onload(obj:Form, e:LoadEventInfo)
  106. {
  107. //zbcfGetCodeList(new Array( "M0011" ), new Array("/root/init/prcpstatcd"));
  108. var arrParam = [{dsNm: "ds_M0011", cdGrpId: "M0011"}]
  109. appf_getCodeList(arrParam);
  110. var currow = opener.ds_prcpsrch_prcplist.rowposition;
  111. var contprcpspec = opener.ds_prcpsrch_prcplist.getColumn(currow, "contprcpspec"); //opener.model.getValue ( "/root/prcpsrch/prcplist[" + opener.grd_bfprcplist.row+ "]/contprcpspec" );
  112. var prcplen = contprcpspec.split("^").length;
  113. var status = "";
  114. var actorddd = "";
  115. var actcretno = "";
  116. var execprcpstatcd = "";
  117. var prcpdd = "";
  118. var execprcpno = "";
  119. var rcptdd = "";
  120. var keyval = "";
  121. var prcpno = "";
  122. var prcphistno = "";
  123. var clamdd = "";
  124. ds_prcp_prcplist.clearData(); //model.removeNodeset ( "/root/prcp/prcplist" );
  125. for ( var i = 1; i < prcplen; i++ ) { // 인덱스 1부터? var i = 1; i < prcplen; i++
  126. ds_prcp_prcplist.addRow();
  127. status = lf_getArrayData ( contprcpspec, i, 0, "^", "|" );
  128. actorddd = lf_getArrayData ( contprcpspec, i, 1, "^", "|" );
  129. actcretno = lf_getArrayData ( contprcpspec, i, 2, "^", "|" );
  130. execprcpstatcd = lf_getArrayData ( contprcpspec, i, 3, "^", "|" );
  131. prcpdd = lf_getArrayData ( contprcpspec, i, 4, "^", "|" );
  132. execprcpno = lf_getArrayData ( contprcpspec, i, 5, "^", "|" );
  133. execprcpuniqno = lf_getArrayData ( contprcpspec, i, 6, "^", "|" );
  134. rcptdd = lf_getArrayData ( contprcpspec, i, 7, "^", "|" );
  135. keyval = lf_getArrayData ( contprcpspec, i, 8, "^", "|" );
  136. prcpno = lf_getArrayData ( contprcpspec, i, 9, "^", "|" );
  137. prcphistno = lf_getArrayData ( contprcpspec, i, 10, "^", "|" );
  138. clamdd = lf_getArrayData ( contprcpspec, i, 11, "^", "|" );
  139. lf_appendChildPrcp ( "ds_reset_prcplist", "ds_prcp_prcplist", "main" ); //appendChildPrcp ( "/root/reset/prcplist", "/root/prcp", "main" );
  140. ds_prcp_prcplist.setColumn(i - 1 , "status", status);
  141. ds_prcp_prcplist.setColumn(i - 1 , "actorddd", actorddd);
  142. ds_prcp_prcplist.setColumn(i - 1, "actcretno", actcretno);
  143. ds_prcp_prcplist.setColumn(i - 1, "execprcpstatcd", execprcpstatcd);
  144. ds_prcp_prcplist.setColumn(i - 1, "prcpdd", prcpdd);
  145. ds_prcp_prcplist.setColumn(i - 1, "execprcpno", execprcpno);
  146. ds_prcp_prcplist.setColumn(i - 1, "execprcpuniqno", execprcpuniqno);
  147. ds_prcp_prcplist.setColumn(i - 1, "rcptdd", rcptdd);
  148. ds_prcp_prcplist.setColumn(i - 1, "keyval", keyval);
  149. ds_prcp_prcplist.setColumn(i - 1, "prcpno", prcpno);
  150. ds_prcp_prcplist.setColumn(i - 1, "prcphistno", prcphistno);
  151. ds_prcp_prcplist.setColumn(i - 1, "clamdd", clamdd);
  152. }
  153. }
  154. function datagrid1_oncellclick(obj:Grid, e:GridClickEventInfo)
  155. {
  156. //if( datagrid1.isCell(event.target) && datagrid1.row >= datagrid1.fixedRows ){
  157. if ( e.col != 0 && e.col != 1 ) { // datagrid1.col != 0
  158. if ( ds_prcp_prcplist.getColumn(ds_prcp_prcplist.rowposition, "status") == "-" ) { // model.getValue ( "/root/prcp/prcplist["+ datagrid1.row +"]/status" )
  159. ds_prcp_prcplist.setColumn(ds_prcp_prcplist.rowposition, "status", "C"); //model.setValue ( "/root/prcp/prcplist["+ datagrid1.row +"]/status", "C" );
  160. } else {
  161. ds_prcp_prcplist.setColumn(ds_prcp_prcplist.rowposition, "status", "-"); //model.setValue ( "/root/prcp/prcplist["+ datagrid1.row +"]/status", "-" );
  162. }
  163. }
  164. //}
  165. //model.refresh();
  166. }
  167. function button1_onclick(obj:Button, e:ClickEventInfo)
  168. {
  169. var contprcpspec = "status|actorddd|actcretno|execprcpstatcd|prcpdd|execprcpno|execprcpuniqno|rcptdd|keyval|prcpno|prcphistno|clamdd";
  170. var dccnt = 0;
  171. var statcdcnt = 0;
  172. for ( var i = 0; i < ds_prcp_prcplist.rowcount; i++ ) { // var i = 1; i < datagrid1.rows; i++
  173. if ( ds_prcp_prcplist.getColumn(i, "status") == "C" ) { // model.getValue ( "/root/prcp/prcplist[" + i + "]/status" )
  174. dccnt++;
  175. //수납후 반환시 메세지창
  176. var pamstatus = ds_prcp_prcplist.getColumn(i, "execprcpstatcd"); //model.getValue ( "/root/prcp/prcplist[" + i + "]/execprcpstatcd");
  177. if (pamstatus >= "230") statcdcnt++;
  178. }
  179. contprcpspec = contprcpspec + "^" + ds_prcp_prcplist.getColumn(i, "status") + "|";
  180. contprcpspec = contprcpspec + ds_prcp_prcplist.getColumn(i, "actorddd") + "|";
  181. contprcpspec = contprcpspec + ds_prcp_prcplist.getColumn(i, "actcretno") + "|";
  182. contprcpspec = contprcpspec + ds_prcp_prcplist.getColumn(i, "execprcpstatcd") + "|";
  183. contprcpspec = contprcpspec + ds_prcp_prcplist.getColumn(i, "prcpdd") + "|";
  184. contprcpspec = contprcpspec + ds_prcp_prcplist.getColumn(i, "execprcpno") + "|";
  185. contprcpspec = contprcpspec + ds_prcp_prcplist.getColumn(i, "execprcpuniqno") + "|";
  186. contprcpspec = contprcpspec + ds_prcp_prcplist.getColumn(i, "rcptdd") + "|";
  187. contprcpspec = contprcpspec + ds_prcp_prcplist.getColumn(i, "keyval") + "|";
  188. contprcpspec = contprcpspec + ds_prcp_prcplist.getColumn(i, "prcpno") + "|";
  189. contprcpspec = contprcpspec + ds_prcp_prcplist.getColumn(i, "prcphistno") + "|";
  190. contprcpspec = contprcpspec + ds_prcp_prcplist.getColumn(i, "clamdd");
  191. }
  192. if ( dccnt == 0 ) {
  193. alert ( "선택된 D/C 처방이 없습니다." );
  194. return;
  195. }
  196. //수납후 반환시 메세지창
  197. var prcpgenrflag = opener.frmf_getParameter( "SMMM02100_prcpgenrflag" ); //opener.javascript.getParameter( "SMMM02100_prcpgenrflag" );
  198. if ((prcpgenrflag == "O") && (statcdcnt != 0)) {
  199. if (sysf_messageBox ( "수납이 완료된 환자입니다. 처방을 수정하시겠습니까? \n 수정하신 후에는 환자에게 재수납하실 것을 설명해 주시기 바랍니다.", "Q" ) != "6" ) {
  200. return;
  201. }
  202. }
  203. sysf_trace("opener.ds_prcpsrch_prcplist.rowposion : " + opener.ds_prcpsrch_prcplist.rowposition);
  204. opener.ds_prcpsrch_prcplist.setColumn(opener.ds_prcpsrch_prcplist.rowposition, "chkcol", "D"); // opener.model.setValue ( "/root/prcpsrch/prcplist[" + opener.grd_bfprcplist.row+ "]/chkcol", "D" );
  205. opener.ds_prcpsrch_prcplist.setColumn(opener.ds_prcpsrch_prcplist.rowposition, "contprcpspec", contprcpspec); // opener.model.setValue ( "/root/prcpsrch/prcplist[" + opener.grd_bfprcplist.row+ "]/contprcpspec", contprcpspec );
  206. // opener.model.refresh();
  207. close();
  208. }
  209. function button2_onclick(obj:Button, e:ClickEventInfo)
  210. {
  211. close();
  212. }
  213. function ds_prcp_prcplist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  214. {
  215. var currow = e.row;
  216. if(e.columnid == "status")
  217. obj.setColumn(currow, e.columnid, (e.newvalue == "C" || e.newvalue == 1) ? "C" : "-");
  218. }
  219. ]]></Script>
  220. </Form>
  221. </FDL>