SPMMO01001_외래예약처방입원전환.xfdl 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMMO01000" position="absolute 0 0 890 392" titletext="외래예약처방 입원전환" oninit="SPMMO01000_oninit" onload="SPMMO01000_onload">
  5. <Layouts>
  6. <Layout>
  7. <Grid position="absolute 0 0 890 366" id="grd_prcplist" taborder="1" binddataset="ds_initsrch_rsrvcvrtprcp" autofittype="col">
  8. <Formats>
  9. <Format id="default">
  10. <Columns>
  11. <Column size="29"/>
  12. <Column size="68"/>
  13. <Column size="110"/>
  14. <Column size="72"/>
  15. <Column size="0"/>
  16. <Column size="72"/>
  17. <Column size="55"/>
  18. <Column size="253"/>
  19. <Column size="30"/>
  20. <Column size="30"/>
  21. <Column size="30"/>
  22. <Column size="133"/>
  23. </Columns>
  24. <Rows>
  25. <Row size="24" band="head"/>
  26. <Row size="24"/>
  27. </Rows>
  28. <Band id="head">
  29. <Cell/>
  30. <Cell col="1" text="처방일자"/>
  31. <Cell col="2" text="처방과"/>
  32. <Cell col="3" text="처방의"/>
  33. <Cell col="4" text="분류"/>
  34. <Cell col="5" text="처방분류"/>
  35. <Cell col="6" text="처방코드"/>
  36. <Cell col="7" text="처방명"/>
  37. <Cell col="8" text="수량"/>
  38. <Cell col="9" text="횟수"/>
  39. <Cell col="10" text="일수"/>
  40. <Cell col="11" text="예약일시"/>
  41. </Band>
  42. <Band id="body">
  43. <Cell displaytype="checkbox" edittype="expr:isReadonly(currow, &quot;choiflag&quot;) ? &quot;none&quot; : &quot;checkbox&quot;" style="controlbackground:EXPR(isReadonly(currow, &quot;choiflag&quot;) ? &quot;silver&quot; : &quot;default&quot;);controlborder:EXPR(isReadonly(currow, &quot;choiflag&quot;) ? &quot;1 solid #708090cc&quot; : &quot;default&quot;);" text="bind:choiflag" expr="expr:(choiflag == &quot;Y&quot; || choiflag == 1) ? 1 : 0"/>
  44. <Cell col="1" displaytype="date" text="bind:prcpdd"/>
  45. <Cell col="2" text="bind:depthngnm"/>
  46. <Cell col="3" text="bind:usernm"/>
  47. <Cell col="4" displaytype="combo" edittype="combo" text="bind:prcpclscd"/>
  48. <Cell col="5" displaytype="combo" edittype="combo" text="bind:prcpclscd" combodataset="ds_init_prcpclscd" combocodecol="cdid" combodatacol="cdnm"/>
  49. <Cell col="6" text="bind:prcpcd"/>
  50. <Cell col="7" text="bind:prcpnm"/>
  51. <Cell col="8" text="bind:prcpqty" mask="#.###"/>
  52. <Cell col="9" text="bind:prcptims"/>
  53. <Cell col="10" text="bind:prcpdayno"/>
  54. <Cell col="11" displaytype="date" text="bind:rsrvdt" mask="yyyy-MM-dd hh:mm:ss"/>
  55. </Band>
  56. </Format>
  57. </Formats>
  58. </Grid>
  59. <Shape position="absolute 7 0 890 1" linetype="vertical" id="line5" class="line_1"/>
  60. <Button position="absolute 774 372 830 392" id="button1" class="btn4" text="저장" onclick="button1_onclick"/>
  61. <Button position="absolute 834 372 890 392" id="button2" class="btn4" text="취소" onclick="button2_onclick"/>
  62. <Static text="외래 예약처방 입원전환은 해당 진료과 처방만 가능합니다." position="absolute 0 372 400 392" id="caption4"/>
  63. </Layout>
  64. </Layouts>
  65. <Objects>
  66. <Dataset id="ds_paminfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  67. <ColumnInfo>
  68. <Column id="pid" type="STRING" size="256"/>
  69. <Column id="orddd" type="STRING" size="256"/>
  70. <Column id="cretno" type="STRING" size="256"/>
  71. <Column id="instcd" type="STRING" size="256"/>
  72. <Column id="prcpdd" type="STRING" size="256"/>
  73. <Column id="deptcd" type="STRING" size="256"/>
  74. <Column id="userid" type="STRING" size="256"/>
  75. </ColumnInfo>
  76. <Rows>
  77. <Row/>
  78. </Rows>
  79. </Dataset>
  80. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  81. <ColumnInfo>
  82. <Column id="prcpkindcd" type="STRING" size="256"/>
  83. <Column id="prcpclscd" type="STRING" size="256"/>
  84. <Column id="prcpstatcd" type="STRING" size="256"/>
  85. <Column id="hosinprcpresncd" type="STRING" size="256"/>
  86. <Column id="payflagcd" type="STRING" size="256"/>
  87. <Column id="orddept" type="STRING" size="256"/>
  88. </ColumnInfo>
  89. </Dataset>
  90. <Dataset id="ds_initsrch" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  91. <ColumnInfo>
  92. <Column id="rsrvcvrtprcp" type="STRING" size="256"/>
  93. </ColumnInfo>
  94. </Dataset>
  95. <Dataset id="ds_initsrch_rsrvcvrtprcp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_initsrch_rsrvcvrtprcp_oncolumnchanged">
  96. <ColumnInfo>
  97. <Column id="prcpdd" type="STRING" size="256" sumtext="처방일자"/>
  98. <Column id="prcpno" type="STRING" size="256" sumtext="처방번호"/>
  99. <Column id="prcphistno" type="STRING" size="256" sumtext="처방이력번호"/>
  100. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  101. <Column id="prcpcd" type="STRING" size="256" sumtext="처방코드"/>
  102. <Column id="prcpnm" type="STRING" size="256" sumtext="처방명"/>
  103. <Column id="prcpqty" type="STRING" size="256" sumtext="처방수량"/>
  104. <Column id="prcptims" type="STRING" size="256" sumtext="처방횟수"/>
  105. <Column id="prcpdayno" type="STRING" size="256" sumtext="처방일수"/>
  106. <Column id="prcpgenrflag" type="STRING" size="256" sumtext="처방발생구분"/>
  107. <Column id="prcpclscd" type="STRING" size="256" sumtext="처방분류코드"/>
  108. <Column id="execprcpno" type="STRING" size="256" sumtext="실시처방번호"/>
  109. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  110. <Column id="orddd" type="STRING" size="256" sumtext="진료일자"/>
  111. <Column id="cretno" type="STRING" size="256" sumtext="생성번호"/>
  112. <Column id="actorddd" type="STRING" size="256" sumtext="실시진료일자"/>
  113. <Column id="actcretno" type="STRING" size="256" sumtext="실시생성번호"/>
  114. <Column id="execprcpqty" type="STRING" size="256" sumtext="실시처방수량"/>
  115. <Column id="execprcptims" type="STRING" size="256" sumtext="실시처방횟수"/>
  116. <Column id="execprcpdayno" type="STRING" size="256" sumtext="실시처방일수"/>
  117. <Column id="rsrvdt" type="STRING" size="256" sumtext="예약일시"/>
  118. <Column id="execprcpuniqno" type="STRING" size="256" sumtext="실시처방유일번호"/>
  119. <Column id="choiflag" type="STRING" size="256" sumtext="선택구분"/>
  120. <Column id="depthngnm" type="STRING" size="256" sumtext="처방과"/>
  121. <Column id="usernm" type="STRING" size="256" sumtext="처방의"/>
  122. <Column id="smdeptyn" type="STRING" size="256" sumtext="처방과동일여부"/>
  123. </ColumnInfo>
  124. </Dataset>
  125. <Dataset id="ds_send_cond1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  126. <ColumnInfo>
  127. <Column id="prcpdd" type="STRING" size="256" sumtext="처방일자"/>
  128. <Column id="prcpno" type="STRING" size="256" sumtext="처방번호"/>
  129. <Column id="prcphistno" type="STRING" size="256" sumtext="처방이력번호"/>
  130. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  131. <Column id="prcpcd" type="STRING" size="256" sumtext="처방코드"/>
  132. <Column id="prcpnm" type="STRING" size="256" sumtext="처방명"/>
  133. <Column id="prcpqty" type="STRING" size="256" sumtext="처방수량"/>
  134. <Column id="prcptims" type="STRING" size="256" sumtext="처방횟수"/>
  135. <Column id="prcpdayno" type="STRING" size="256" sumtext="처방일수"/>
  136. <Column id="prcpclscd" type="STRING" size="256" sumtext="처방분류코드"/>
  137. <Column id="execprcpno" type="STRING" size="256" sumtext="실시처방번호"/>
  138. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  139. <Column id="orddd" type="STRING" size="256" sumtext="진료일자"/>
  140. <Column id="cretno" type="STRING" size="256" sumtext="생성번호"/>
  141. <Column id="actorddd" type="STRING" size="256" sumtext="실시진료일자"/>
  142. <Column id="actcretno" type="STRING" size="256" sumtext="실시생성번호"/>
  143. <Column id="execprcpqty" type="STRING" size="256" sumtext="실시처방수량"/>
  144. <Column id="execprcptims" type="STRING" size="256" sumtext="실시처방횟수"/>
  145. <Column id="execprcpdayno" type="STRING" size="256" sumtext="실시처방일수"/>
  146. <Column id="rsrvdt" type="STRING" size="256" sumtext="예약일시"/>
  147. <Column id="execprcpuniqno" type="STRING" size="256" sumtext="실시처방유일번호"/>
  148. <Column id="choiflag" type="STRING" size="256" sumtext="선택구분"/>
  149. </ColumnInfo>
  150. <Rows>
  151. <Row/>
  152. </Rows>
  153. </Dataset>
  154. <Dataset id="ds_send_cond2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  155. <ColumnInfo>
  156. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  157. <Column id="orddd" type="STRING" size="256" sumtext="진료일자 (입원일 경우 입원일자)"/>
  158. <Column id="cretno" type="STRING" size="256" sumtext="생성번호"/>
  159. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  160. <Column id="prcpdd" type="STRING" size="256" sumtext="처방일자"/>
  161. <Column id="deptcd" type="STRING" size="256" sumtext="부서코드"/>
  162. <Column id="userid" type="STRING" size="256" sumtext="userid"/>
  163. </ColumnInfo>
  164. <Rows>
  165. <Row/>
  166. </Rows>
  167. </Dataset>
  168. <Dataset id="ds_rsrvcvrtprcp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  169. <Dataset id="ds_init_prcpclscd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  170. <ColumnInfo>
  171. <Column id="cdnm" type="STRING" size="256"/>
  172. <Column id="cdid" type="STRING" size="256"/>
  173. </ColumnInfo>
  174. </Dataset>
  175. </Objects>
  176. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  177. * System Name :
  178. * Job Name :
  179. * Creator :
  180. * Make Date : 2014-12-10
  181. * Description :
  182. *---------------------------------------------------------------------------------------
  183. * Modify Date Modifier Modify Description
  184. *---------------------------------------------------------------------------------------
  185. * 2014-12-10 Live Converter TF->XP
  186. *
  187. *---------------------------------------------------------------------------------------
  188. ****************************************************************************************/
  189. // 20200115 이돈희 : 처방창 오픈시 자동 오픈용
  190. include "com_commonxp::comm_main.xjs";
  191. function SPMMO01000_oninit(obj:Form, e:InitEventInfo)
  192. {
  193. frmf_initForm(obj);
  194. ds_initsrch_rsrvcvrtprcp.copyData(arg_ds_initsrch_rsrvcvrtprcp);
  195. var arrParam = [{dsNm: "ds_init_prcpclscd", cdGrpId: "M0005"}]
  196. appf_getCodeList(arrParam);
  197. }
  198. function SPMMO01000_onload(obj:Form, e:LoadEventInfo)
  199. {
  200. //진료과가 다를경우 Checkbox 비활성화
  201. /*
  202. for(var i = 0; i < grd_prcplist.rowcount; i++){
  203. var smdeptyn = ds_initsrch_rsrvcvrtprcp.getColumn(i, "smdeptyn"); //model.getValue("/root/initsrch/rsrvcvrtprcp[" + i + "]/smdeptyn");
  204. if (smdeptyn == "N") {
  205. grd_prcplist.setCellProperty('body', grd_prcplist.getBindCellIndex("body", "choiflag"), 'displaytype', 'none');
  206. grd_prcplist.setCellProperty('body', grd_prcplist.getBindCellIndex("body", "choiflag"), 'edittype', 'none');
  207. } else {
  208. grd_prcplist.setCellProperty('body', grd_prcplist.getBindCellIndex("body", "choiflag"), 'displaytype', 'checkbox');
  209. grd_prcplist.setCellProperty('body', grd_prcplist.getBindCellIndex("body", "choiflag"), 'edittype', 'checkbox');
  210. }
  211. }
  212. */
  213. }
  214. function button1_onclick(obj:Button, e:ClickEventInfo)
  215. {
  216. //var srcNodeList = model.instances(0).selectNodes ("/root/initsrch/rsrvcvrtprcp");
  217. //var destNode = model.instances(0).selectSingleNode( "/root/rsrvcvrtprcp" );
  218. var curitem = 0;
  219. var chkcnt = 0;
  220. var nochkcnt = 0;
  221. dsf_copyColInfo(ds_rsrvcvrtprcp, ds_initsrch_rsrvcvrtprcp);
  222. for ( var i = 0; i < ds_initsrch_rsrvcvrtprcp.rowcount; i++ ) {
  223. if ( ds_initsrch_rsrvcvrtprcp.getColumn(i, "choiflag") != "Y" ) {
  224. nochkcnt++;
  225. }
  226. curitem = i - 1;
  227. chkcnt++;
  228. var row = ds_rsrvcvrtprcp.addRow();
  229. ds_rsrvcvrtprcp.copyRow(row, ds_initsrch_rsrvcvrtprcp, i);
  230. //destNode.appendChild(srcNodeList.item(curitem).cloneNode(true));
  231. //kimsj app단에서 "Y", "N"에 따라 다른 프로세스로 이동하기 때문에 여기에서 걸러낼 필요없는 것으로 보임
  232. }
  233. if ( chkcnt > 0 ) {
  234. ds_paminfo.setColumn(0, "pid", opener.ds_paminfo.getColumn(0, "pid"));
  235. ds_paminfo.setColumn(0, "orddd", opener.ds_paminfo.getColumn(0, "indd"));
  236. ds_paminfo.setColumn(0, "cretno", opener.ds_paminfo.getColumn(0, "cretno"));
  237. ds_paminfo.setColumn(0, "instcd", opener.ds_paminfo.getColumn(0, "instcd"));
  238. ds_paminfo.setColumn(0, "prcpdd", opener.ds_init.getColumn(0, "prcpdd"));
  239. ds_paminfo.setColumn(0, "deptcd", sysf_getUserInfo("dutplcecd"));
  240. ds_paminfo.setColumn(0, "userid", sysf_getUserInfo("userid"));
  241. for( var j = 0; j < ds_rsrvcvrtprcp.colcount; j++ ) {
  242. var colId = ds_rsrvcvrtprcp.getColID(j);
  243. ds_send_cond1.setColumn( 0, colId, ds_rsrvcvrtprcp.getColumn(0, colId) );
  244. }
  245. for( var j = 0; j < ds_paminfo.colcount; j++ ) {
  246. var colId = ds_paminfo.getColID(j);
  247. ds_send_cond2.setColumn( 0, colId, ds_paminfo.getColumn(0, colId) );
  248. }
  249. if ( nochkcnt > 0 && sysf_messageBox ( "체크안된 처방은 승계되지 않습니다. 저장하시겠습니까?", "Q" ) != "6" ) {
  250. return;
  251. }
  252. var oParam = {};
  253. oParam.id = "TXMMO01001";
  254. oParam.service = "prcpmngtapp.PrcpMngt";
  255. oParam.method = "reqExeSaveRsrvPrcpCvrt";
  256. oParam.inds = "rsrvcvrtprcp=ds_rsrvcvrtprcp paminfo=ds_paminfo";
  257. //oParam.outds = "";
  258. oParam.async = false;
  259. oParam.callback = "cf_TXMMO01001";
  260. tranf_submit(oParam);
  261. } else {
  262. sysf_messageBox ( "선택된 처방이", "I004" );
  263. return;
  264. }
  265. close();
  266. }
  267. function cf_TXMMO01001(sSvcId, nErrorCode, sErrorMsg) {
  268. if(nErrorCode < 0) return;
  269. opener.frmf_setParameter ( "SPMMO01000_rtnyn", "Y" );
  270. }
  271. function button2_onclick(obj:Button, e:ClickEventInfo)
  272. {
  273. close();
  274. }
  275. function ds_initsrch_rsrvcvrtprcp_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  276. {
  277. if(e.columnid == "choiflag")
  278. obj.setColumn(e.row, e.columnid, (e.newvalue == "Y" || e.newvalue == 1) ? "Y" : "N");
  279. }
  280. // TF의 readonly bind 통합처리
  281. function isReadonly(currow, colId) {
  282. var result = false;
  283. if(colId == "choiflag") { // TF bind1
  284. var smdeptyn = ds_initsrch_rsrvcvrtprcp.getColumn(currow, "smdeptyn");
  285. if (smdeptyn == "N") {
  286. result = true;
  287. }
  288. }
  289. return result;
  290. } ]]></Script>
  291. </Form>
  292. </FDL>