SPMMO14400_퇴원후외래처방진료일정.xfdl 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMMO14400" position="absolute 0 0 523 51" titletext="퇴원후 외래처방 진료일정" onload="SPMMO14400_onload">
  5. <Layouts>
  6. <Layout>
  7. <Button position="absolute 406 31 463 51" id="button2" class="btn4" taborder="6" text="예약" onclick="button2_onclick"/>
  8. <Static text="진료의" position="absolute 192 5 262 25" id="caption7" class="cell_1"/>
  9. <Static text="진료과" position="absolute 0 5 64 25" align="align:left middle;" id="caption1" class="cell_1"/>
  10. <Shape position="absolute 0 -1 522 5" linetype="horizontal" id="line7" class="line_10"/>
  11. <Static text="진료일" position="absolute 359 5 429 25" id="caption2" class="cell_1"/>
  12. <Button position="absolute 465 31 522 51" id="button1" class="btn4" taborder="7" text="취소" onclick="button1_onclick"/>
  13. <Shape position="absolute 0 27 522 33" linetype="horizontal" id="line4" class="line_3"/>
  14. <Calendar position="absolute 431 5 522 25" align="align:center middle;" id="input1" taborder="3" dateformat="yyyy-MM-dd" value="null" autoselect="true"/>
  15. <MaskEdit position="absolute 310 31 355 51" align="align:center middle;" id="input2" taborder="4" visible="false" mask="#"/>
  16. <Combo position="absolute 65 5 190 25" id="cmb_orddept" class="combo_default" taborder="1" innerdataset="@ds_orddept" datacolumn="depthngnm" codecolumn="deptcd" onitemchanged="cmb_orddept_onitemchanged"/>
  17. <Combo position="absolute 264 5 357 25" id="cmb_dr" taborder="2" innerdataset="@ds_userlist" datacolumn="usernm" codecolumn="userid"/>
  18. <MaskEdit position="absolute 360 31 405 51" align="align:center middle;" id="input3" taborder="5" visible="false" mask="#"/>
  19. </Layout>
  20. </Layouts>
  21. <Objects>
  22. <Dataset id="ds_orddept" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  23. <ColumnInfo>
  24. <Column id="depthngnm" type="STRING"/>
  25. <Column id="deptcd" type="STRING"/>
  26. </ColumnInfo>
  27. </Dataset>
  28. <Dataset id="ds_userlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  29. <ColumnInfo>
  30. <Column id="usernm" type="STRING"/>
  31. <Column id="userid" type="STRING"/>
  32. </ColumnInfo>
  33. </Dataset>
  34. <Dataset id="ds_main_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  35. <ColumnInfo>
  36. <Column id="orddeptcd" type="STRING" size="256"/>
  37. <Column id="orddrid" type="STRING" size="256"/>
  38. </ColumnInfo>
  39. <Rows>
  40. <Row/>
  41. </Rows>
  42. </Dataset>
  43. <Dataset id="ds_root" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  44. <ColumnInfo>
  45. <Column id="orddd" type="STRING" size="256"/>
  46. <Column id="ordh" type="STRING" size="256"/>
  47. <Column id="ordm" type="STRING" size="256"/>
  48. </ColumnInfo>
  49. <Rows>
  50. <Row>
  51. <Col id="ordh">09</Col>
  52. <Col id="ordm">00</Col>
  53. </Row>
  54. </Rows>
  55. </Dataset>
  56. </Objects>
  57. <Bind>
  58. <BindItem id="item0" compid="input2" propid="value" datasetid="ds_root" columnid="ordh"/>
  59. <BindItem id="item1" compid="input3" propid="value" datasetid="ds_root" columnid="ordm"/>
  60. <BindItem id="item2" compid="input1" propid="value" datasetid="ds_root" columnid="orddd"/>
  61. <BindItem id="item3" compid="cmb_orddept" propid="value" datasetid="ds_main_cond" columnid="orddeptcd"/>
  62. <BindItem id="item4" compid="cmb_dr" propid="value" datasetid="ds_main_cond" columnid="orddrid"/>
  63. </Bind>
  64. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  65. * System Name :
  66. * Job Name :
  67. * Creator :
  68. * Make Date : 2014-12-10
  69. * Description :
  70. *---------------------------------------------------------------------------------------
  71. * Modify Date Modifier Modify Description
  72. *---------------------------------------------------------------------------------------
  73. * 2014-12-10 Live Converter TF->XP
  74. *
  75. *---------------------------------------------------------------------------------------
  76. ****************************************************************************************/
  77. include "com_commonxp::comm_main.xjs";
  78. include "emr_prcpmngtxp::MMOCommon.xjs";
  79. include "emr_prcpmngtxp::MMO001.xjs";
  80. function SPMMO14400_onload(obj:Form, e:LoadEventInfo)
  81. {
  82. frmf_initForm(obj);
  83. //20081117 마정민수정: 서소영선생님 요청으로 followup 진료과, 진료의를 환자진료과, 주치의정보로 함.
  84. //mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/init/orddept", "O");
  85. lf_mmbfGetDeptCodeComboList(ds_orddept, "O");
  86. var vDutplcecd = opener.ds_paminfo.getColumn(0, "orddeptcd"); //opener.model.getvalue ( "/root/paminfo/list/orddeptcd" );
  87. if ( utlf_isNull(vDutplcecd )) {
  88. vDutplcecd = sysf_getUserInfo("dutplcecd");
  89. }
  90. var vUserid = opener.ds_paminfo.getColumn(0, "medispclid"); //opener.model.getvalue ( "/root/paminfo/list/medispclid" );
  91. if ( utlf_isNull(vUserid )) {
  92. vDutplcecd = sysf_getUserInfo("userid");
  93. }
  94. //mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist", vDutplcecd, "0330");
  95. lf_mmbfGetUserComboList(ds_userlist, vDutplcecd, "0330");
  96. ds_main_cond.setColumn(0, "orddeptcd", vDutplcecd);
  97. ds_main_cond.setColumn(0, "orddrid", vUserid);
  98. //20081005 마정민수정: 퇴원예고일자를 진료일로 박아준다.
  99. //여기 진료일은 진료희망일 용도로만 쓰인다. 실제 예약잡을때는 퇴원예고일로 처리해 준다.
  100. var orddd = opener.ds_paminfo.getColumn(0, "dschdclrdt").substring(0, 8); //opener.model.getValue ( "/root/paminfo/list/dschdclrdt" ).substring( 0, 8 );
  101. var prcpgenrflag = opener.ds_patflag.getColumn(0, "prcpgenrflag"); //opener.model.getValue("/root/patflag/list/prcpgenrflag");
  102. if ( prcpgenrflag != "E" ) { //응급
  103. cmb_orddept.enable = true;
  104. cmb_dr.enable = true;
  105. ds_root.setColumn(0, "orddd", orddd);
  106. } else {
  107. ds_root.setColumn(0, "orddd", orddd);
  108. }
  109. }
  110. function button2_onclick(obj:Button, e:ClickEventInfo)
  111. {
  112. if (utlf_isNull(cmb_orddept.text)) {
  113. sysf_messageBox ( "진료과가", "E014" );
  114. return;
  115. }
  116. if (utlf_isNull(cmb_dr.text)) {
  117. sysf_messageBox ( "진료의가", "E014" );
  118. return;
  119. }
  120. var orddd = ds_root.getColumn(0, "orddd"); //model.getValue ( "/root/orddd" );
  121. if ( utlf_isNull(orddd)) {
  122. sysf_messageBox ( "진료일이", "E014" );
  123. return;
  124. }
  125. if ( !utlf_isValidDateTime ( orddd, "YYYYMMDD")) {
  126. sysf_messageBox ( "진료일이", "E016" );
  127. return;
  128. }
  129. if ( orddd < utlf_getCurrentDate()) {
  130. sysf_messageBox ( "진료일를 과거일자로 선택 할수 없습니다.", "E999" );
  131. return;
  132. }
  133. var ordh = ds_root.getColumn(0, "ordh");
  134. var ordm = ds_root.getColumn(0, "ordm");
  135. if ( utlf_isNull(ordh) || utlf_isNull(ordm)) {
  136. sysf_messageBox ( "진료시간이", "E014" );
  137. return;
  138. }
  139. if ( eval(ordh) >= 24 ) {
  140. sysf_messageBox ( "예약시간이 잘못 입력되었습니다.", "E" );
  141. return;
  142. }
  143. if ( eval(ordm) >= 60 ) {
  144. sysf_messageBox ( "예약분이 잘못 입력되었습니다.", "E" );
  145. return;
  146. }
  147. if( "11111" == ds_main_cond.getColumn(0, "orddrid") || "EMR" == ds_main_cond.getColumn(0, "orddrid") ) {
  148. sysf_messageBox ( "일반의사 또는 의무기록으로 퇴원후외래(F/U) 예약을 진행 할 수 없습니다.", "E" );
  149. return;
  150. }
  151. ordh = ordh.toString().getLeftPad ( 2, "0" );
  152. ordm = ordm.toString().getLeftPad ( 2, "0" );
  153. opener.frmf_setParameter ( "SPMMO14400_orddeptcd", ds_main_cond.getColumn(0, "orddeptcd") );
  154. opener.frmf_setParameter ( "SPMMO14400_orddrid", ds_main_cond.getColumn(0, "orddrid") );
  155. opener.frmf_setParameter ( "SPMMO14400_otpt_orddd", orddd );
  156. opener.frmf_setParameter ( "SPMMO14400_ordtm", ordh + ordm );
  157. opener.frmf_setParameter ( "SPMMO14400_rtnyn","Y" );
  158. close();
  159. }
  160. function button1_onclick(obj:Button, e:ClickEventInfo)
  161. {
  162. opener.frmf_setParameter ( "SPMMO14400_rtnyn","N" );
  163. close();
  164. }
  165. function cmb_orddept_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  166. {
  167. // model.removeNodeset("/root/init/userlist");
  168. // model.makeNode("/root/init/userlist/usercombo");
  169. lf_mmbfGetUserComboList(ds_userlist, cmb_orddept.value, "0330");
  170. cmb_dr.value = "";
  171. }
  172. ]]></Script>
  173. </Form>
  174. </FDL>