SPMMO90800_처방사유입력.xfdl 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMMO90800" position="absolute 0 0 505 210" titletext="처방사유 입력" oninit="SPMMO90800_oninit" onload="SPMMO90800_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static text="처방 사유 입력" position="absolute 0 0 500 20" id="caption1" class="tit_2"/>
  8. <Grid position="absolute 0 49 500 185" id="grd_resnlist" binddataset="ds_resnlist" autofittype="col" oncellclick="grd_resnlist_oncellclick" autosizingtype="row" extendsizetype="row" scrollpixel="all" cellsizingtype="col" oncelldblclick="grd_resnlist_oncelldblclick">
  9. <Formats>
  10. <Format id="default">
  11. <Columns>
  12. <Column size="60"/>
  13. <Column size="420"/>
  14. </Columns>
  15. <Rows>
  16. <Row size="24" band="head"/>
  17. <Row size="24"/>
  18. </Rows>
  19. <Band id="head">
  20. <Cell text="코드"/>
  21. <Cell col="1" text="상세사유"/>
  22. </Band>
  23. <Band id="body">
  24. <Cell text="bind:code"/>
  25. <Cell col="1" displaytype="text" edittype="expr:(hardcd != &quot;T&quot;) ? &quot;none&quot; : &quot;text&quot;" text="bind:cdnm" wordwrap="word" editautoselect="true" autosizerow="limitmin"/>
  26. </Band>
  27. </Format>
  28. </Formats>
  29. </Grid>
  30. <Button position="absolute 440 187 500 207" id="btn_cncl" class="btn4" text="닫기" onclick="btn_cncl_onclick"/>
  31. <Button id="button3" taborder="1" text="저장" onclick="button3_onclick" class="btn4" position="absolute 378 187 438 207"/>
  32. <Static id="caption00" text="처방코드" class="cell_1" position="absolute 0 23 60 46" style="padding:0 0 0 0;align:center middle;"/>
  33. <Edit id="input1" taborder="2" class="input_default" enable="false" position="absolute 64 25 154 44"/>
  34. <Static id="caption2" text="처방명" class="cell_1" position="absolute 161 23 221 46" style="padding:0 0 0 0;align:center middle;"/>
  35. <Edit id="input2" taborder="3" class="input_default" enable="false" position="absolute 224 25 500 44"/>
  36. </Layout>
  37. </Layouts>
  38. <Objects>
  39. <Dataset id="ds_resninfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  40. <ColumnInfo>
  41. <Column id="resnflag" type="STRING" size="256"/>
  42. <Column id="autoyn" type="STRING" size="256"/>
  43. <Column id="ordtype" type="STRING" size="256"/>
  44. <Column id="pid" type="STRING" size="256"/>
  45. <Column id="orddd" type="STRING" size="256"/>
  46. <Column id="cretno" type="STRING" size="256"/>
  47. <Column id="orddeptcd" type="STRING" size="256"/>
  48. <Column id="prcpdd" type="STRING" size="256"/>
  49. <Column id="prcpno" type="STRING" size="256"/>
  50. <Column id="prcphistno" type="STRING" size="256"/>
  51. <Column id="prcpcd" type="STRING" size="256"/>
  52. <Column id="prcpnm" type="STRING" size="256"/>
  53. <Column id="resncd" type="STRING" size="256"/>
  54. <Column id="resncnts" type="STRING" size="256"/>
  55. <Column id="gubuncd" type="STRING" size="256"/>
  56. </ColumnInfo>
  57. <Rows>
  58. <Row/>
  59. </Rows>
  60. </Dataset>
  61. <Dataset id="ds_resnlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  62. <ColumnInfo>
  63. <Column id="code" type="STRING" size="256"/>
  64. <Column id="cdnm" type="STRING" size="256"/>
  65. </ColumnInfo>
  66. </Dataset>
  67. </Objects>
  68. <Bind>
  69. <BindItem id="item0" compid="input1" propid="value" datasetid="ds_patinfo" columnid="pid"/>
  70. <BindItem id="item1" compid="input2" propid="value" datasetid="ds_patinfo" columnid="pat_nm"/>
  71. </Bind>
  72. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  73. * System Name :
  74. * Job Name :
  75. * Creator : 엄영만
  76. * Make Date : 2017-12-28
  77. * Description : 처방 사유를 입력한다.
  78. *---------------------------------------------------------------------------------------
  79. * Modify Date Modifier Modify Description
  80. *---------------------------------------------------------------------------------------
  81. *
  82. *---------------------------------------------------------------------------------------
  83. ****************************************************************************************/
  84. include "com_commonxp::comm_main.xjs";
  85. function SPMMO90800_oninit(obj:Form, e:InitEventInfo)
  86. {
  87. frmf_initForm(obj);
  88. ds_resninfo.copyData(arg_ds_resninfo);
  89. }
  90. function SPMMO90800_onload(obj:Form, e:LoadEventInfo)
  91. {
  92. var sAutoYn = ds_resninfo.getColumn(0, "autoyn");
  93. if(utlf_isNull(sAutoYn)){
  94. sAutoYn = "N";
  95. ds_resninfo.setColumn(0, "autoyn", sAutoYn);
  96. }
  97. var sResnFlag = ds_resninfo.getColumn(0, "resnflag");
  98. if(utlf_isNull(sResnFlag)){
  99. sysf_messageBox("사유 구분 정보가 없습니다.", "E999");
  100. return;
  101. }
  102. if(utlf_isNull(ds_resninfo.getColumn(0, "pid"))){
  103. sysf_messageBox("환자번호 정보가 없습니다.", "E999");
  104. return;
  105. }
  106. if(utlf_isNull(ds_resninfo.getColumn(0, "orddd"))){
  107. sysf_messageBox("진료일자 정보가 없습니다.", "E999");
  108. return;
  109. }
  110. if(utlf_isNull(ds_resninfo.getColumn(0, "cretno"))){
  111. sysf_messageBox("접수번호 정보가 없습니다.", "E999");
  112. return;
  113. }
  114. appf_getCodeList([{dsNm: "ds_M0530", cdGrpId: "M0530"}], true);
  115. if(sAutoYn == "Y") { // 자동 등록 처리이면
  116. if(utlf_isNull(ds_resninfo.getColumn(0, "resncd"))){
  117. sysf_messageBox("사유코드 정보가 없습니다.", "E999");
  118. return;
  119. }
  120. if(utlf_isNull(ds_resninfo.getColumn(0, "resncnts"))){
  121. sysf_messageBox("사유내용 정보가 없습니다.", "E999");
  122. return;
  123. }
  124. fSaveResn();
  125. } else {
  126. dsf_makeValue(ds_resninfo, "gubuncd", "string", "PRCPRESN" + sResnFlag);
  127. var oParam = {};
  128. oParam.id = "TRMMO90801";
  129. oParam.service = "prcpmngtapp.PrcpMngt";
  130. oParam.method = "reqGetPrcpResnCdList";
  131. oParam.inds = "req=ds_resninfo";
  132. oParam.outds = "ds_resnlist=resnlist";
  133. oParam.async = true;
  134. oParam.callback = "cf_TRMMO90801";
  135. tranf_submit(oParam);
  136. }
  137. }
  138. function cf_TRMMO90801(sSvcId, nErrorCode, sErrorMsg) {
  139. if(nErrorCode < 0) return;
  140. }
  141. function grd_resnlist_oncellclick(obj:Grid, e:GridClickEventInfo)
  142. {
  143. if(e.row < 0 || e.col < 0) return;
  144. if ( obj.getCellPos() == obj.getBindCellIndex("body", "cdnm") ) {
  145. if ( ds_resnlist.getColumn(e.row, "cdnm") == "(이곳에 사유입력을 하세요)") {
  146. obj.setCellPos(e.col);
  147. obj.setCellProperty("body", e.col, "edittype", "text");
  148. obj.showEditor(true);
  149. } else {
  150. obj.setCellProperty("body", e.col, "edittype", "none");
  151. }
  152. }
  153. }
  154. function grd_resnlist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  155. {
  156. if(e.row < 0 || e.col < 0) return;
  157. if ( ds_resnlist.getColumn(e.row, "cdnm") == "(이곳에 사유입력을 하세요)") {
  158. obj.setCellPos(e.col);
  159. obj.setCellProperty("body", e.col, "edittype", "text");
  160. obj.showEditor(true);
  161. } else {
  162. fSaveResn();
  163. }
  164. }
  165. function button3_onclick(obj:Button, e:ClickEventInfo)
  166. {
  167. fSaveResn();
  168. }
  169. function fSaveResn() {
  170. var sAutoYn = ds_resninfo.getColumn(0, "autoyn");
  171. var sCode = "";
  172. var sCdNm = "";
  173. if(sAutoYn != "Y") {
  174. var currow = ds_resnlist.rowposition;
  175. if ( currow >= 0 ) {
  176. sCode = ds_resnlist.getColumn(currow, "code");
  177. sCdNm = ds_resnlist.getColumn(currow, "cdnm");
  178. if(sCdNm == "(이곳에 사유입력을 하세요)") {
  179. sCode = "";
  180. sCdNm = "";
  181. }
  182. }
  183. if(utlf_isNull(sCode)){
  184. sysf_messageBox ( "처방사유를 선택 하세요.", "E999" );
  185. return;
  186. }
  187. ds_resninfo.setColumn(0, "resncd", sCode);
  188. ds_resninfo.setColumn(0, "resncnts", sCdNm);
  189. }
  190. var oParam = {};
  191. oParam.id = "TXMMO90801";
  192. oParam.service = "prcpmngtapp.PrcpMngt";
  193. oParam.method = "reqExePrcpComResn";
  194. oParam.inds = "req=ds_resninfo";
  195. oParam.async = false;
  196. oParam.callback = "cf_TXMMO90801";
  197. tranf_submit(oParam);
  198. }
  199. function cf_TXMMO90801(sSvcId, nErrorCode, sErrorMsg) {
  200. if(nErrorCode < 0) return;
  201. opener.frmf_setParameter ( "SPMMO90800_rtn", "Y" );
  202. var sAutoYn = ds_resninfo.getColumn(0, "autoyn");
  203. if(sAutoYn != "Y"){
  204. sysf_messageBox("처방사유를 저장 하였습니다.", "I999");
  205. }
  206. close();
  207. }
  208. function btn_cncl_onclick(obj:Button, e:ClickEventInfo)
  209. {
  210. opener.frmf_setParameter ( "SPMMO90800_rtn", "N" );
  211. close();
  212. }
  213. ]]></Script>
  214. </Form>
  215. </FDL>