SMMNO02700_외래 진찰료 마감 취소.xfdl 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMMNO02700" position="absolute 0 0 234 388" titletext="외래 진찰료 마감 취소" oninit="SMMNO02700_oninit" onload="SMMNO02700_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 20 223 381" id="group3">
  8. <Layouts>
  9. <Layout>
  10. <Grid position="absolute 0 161 221 291" id="grd_endResn" taborder="5" binddataset="ds_grd_endResn" anchor="default" oncellclick="group3_grd_endResn_oncellclick">
  11. <Formats>
  12. <Format id="default">
  13. <Columns>
  14. <Column size="198"/>
  15. <Column size="0"/>
  16. </Columns>
  17. <Rows>
  18. <Row size="24" band="head"/>
  19. <Row size="24"/>
  20. </Rows>
  21. <Band id="head">
  22. <Cell text="마감취소사유"/>
  23. <Cell col="1" text="cdid"/>
  24. </Band>
  25. <Band id="body">
  26. <Cell style="align:left;" text="bind:cdnm"/>
  27. <Cell col="1" text="bind:cdid"/>
  28. </Band>
  29. </Format>
  30. </Formats>
  31. </Grid>
  32. <Combo position="absolute 105 110 219 129" id="combo1" class="combo_search" taborder="3" innerdataset="@ds_init_combo1" datacolumn="usernm" codecolumn="userid" anchor="default" onitemchanged="group3_combo1_onitemchanged"/>
  33. <Combo position="absolute 105 85 219 104" id="cmb_orddept" class="combo_s_essential" taborder="2" innerdataset="ds_init_cmb_orddept" datacolumn="deptnm" codecolumn="deptcd" anchor="default" onitemchanged="group3_cmb_orddept_onitemchanged"/>
  34. <Static text="등록번호" position="absolute 0 6 104 29" align="align:center middle;" id="caption52" class="cell_1" anchor="default"/>
  35. <Edit position="absolute 105 8 219 27" id="ipt_pid" class="input_default" taborder="1" anchor="default" onkeydown="group3_ipt_pid_onkeydown"/>
  36. <Static text="환자명" position="absolute 0 31 104 54" align="align:center middle;" id="caption2" class="cell_1" anchor="default"/>
  37. <Edit readonly="true" position="absolute 105 33 219 52" id="output1" anchor="default"/>
  38. <Shape position="absolute 0 26 220 32" linetype="horizontal" id="line36" class="line_2" anchor="default"/>
  39. <Static text="주민등록번호" position="absolute 0 56 104 79" align="align:center middle;" id="caption3" class="cell_1" anchor="default"/>
  40. <Shape position="absolute 0 51 220 57" linetype="horizontal" id="line1" class="line_2" anchor="default"/>
  41. <Edit readonly="true" position="absolute 105 58 219 77" id="output2" anchor="default"/>
  42. <Shape position="absolute 0 77 220 83" linetype="horizontal" id="line8" class="line_3" anchor="default"/>
  43. <Static text="진료과" position="absolute 0 82 104 105" align="align:center middle;" id="caption4" class="cell_1" anchor="default"/>
  44. <Static text="진료의" position="absolute 0 107 104 130" align="align:center middle;" id="caption5" class="cell_1" anchor="default"/>
  45. <Shape position="absolute 0 102 220 108" linetype="horizontal" id="line4" class="line_2" anchor="default"/>
  46. <Static text="진료일자" position="absolute 0 132 104 155" align="align:center middle;" id="caption7" class="cell_1" anchor="default"/>
  47. <Shape position="absolute 0 127 220 133" linetype="horizontal" id="line6" class="line_2" anchor="default"/>
  48. <Shape position="absolute 0 153 221 159" linetype="horizontal" id="line2" class="line_1" anchor="default"/>
  49. <Static text="기타사유" position="absolute 0 295 95 316" id="caption8" class="tit_2" anchor="default"/>
  50. <Edit position="absolute 0 317 221 336" id="output3" class="input_default" taborder="6" anchor="default"/>
  51. <Button position="absolute 178 338 220 357" id="button5" class="btn5" taborder="7" text="저장" anchor="default" onclick="group3_button5_onclick"/>
  52. <Shape id="line00" class="line_3" position="absolute 0 3 220 9"/>
  53. </Layout>
  54. </Layouts>
  55. </Div>
  56. <Static text="외래 진찰료 마감 취소" position="absolute 0 0 166 25" id="caption6" class="tit_1"/>
  57. <Combo position="absolute 105 152 219 171" id="combo2" class="combo_search" taborder="4" innerdataset="ds_init_combo2" datacolumn="ordddview" codecolumn="orddd"/>
  58. </Layout>
  59. </Layouts>
  60. <Objects>
  61. <Dataset id="ds_grd_endResn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  62. <ColumnInfo>
  63. <Column id="cdnm" type="STRING"/>
  64. <Column id="cdid" type="STRING"/>
  65. </ColumnInfo>
  66. </Dataset>
  67. <Dataset id="ds_init_combo1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  68. <ColumnInfo>
  69. <Column id="usernm" type="STRING"/>
  70. <Column id="userid" type="STRING"/>
  71. </ColumnInfo>
  72. </Dataset>
  73. <Dataset id="ds_init_cmb_orddept" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  74. <ColumnInfo>
  75. <Column id="deptnm" type="STRING"/>
  76. <Column id="deptcd" type="STRING"/>
  77. </ColumnInfo>
  78. </Dataset>
  79. <Dataset id="ds_init_combo2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  80. <ColumnInfo>
  81. <Column id="ordddview" type="STRING"/>
  82. <Column id="orddd" type="STRING"/>
  83. </ColumnInfo>
  84. </Dataset>
  85. <Dataset id="ds_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  86. <cond>
  87. <pid/>
  88. <hngnm/>
  89. <rgstno/>
  90. <orddeptcd/>
  91. <orddrid/>
  92. <orddd/>
  93. <cnclresn/>
  94. <etc/>
  95. </cond>
  96. <ColumnInfo>
  97. <Column id="pid" type="STRING" size="256"/>
  98. <Column id="hngnm" type="STRING" size="256"/>
  99. <Column id="rgstno" type="STRING" size="256"/>
  100. <Column id="orddeptcd" type="STRING" size="256"/>
  101. <Column id="orddrid" type="STRING" size="256"/>
  102. <Column id="orddd" type="STRING" size="256"/>
  103. <Column id="cnclresn" type="STRING" size="256"/>
  104. <Column id="etc" type="STRING" size="256"/>
  105. </ColumnInfo>
  106. <Rows>
  107. <Row>
  108. <Col id="pid"/>
  109. <Col id="hngnm"/>
  110. <Col id="rgstno"/>
  111. <Col id="orddeptcd"/>
  112. <Col id="orddrid"/>
  113. <Col id="orddd"/>
  114. <Col id="cnclresn"/>
  115. <Col id="etc"/>
  116. </Row>
  117. </Rows>
  118. </Dataset>
  119. <Dataset id="ds_cond_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  120. <Dataset id="ds_otptkey" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  121. <Dataset id="ds_prcdcnt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  122. </Objects>
  123. <Bind>
  124. <BindItem id="item0" compid="group3.ipt_pid" propid="value" datasetid="ds_cond" columnid="pid"/>
  125. <BindItem id="item1" compid="group3.output1" propid="value" datasetid="ds_cond" columnid="hngnm"/>
  126. <BindItem id="item2" compid="group3.output2" propid="value" datasetid="ds_cond" columnid="rgstno"/>
  127. <BindItem id="item3" compid="group3.cmb_orddept" propid="value" datasetid="ds_cond" columnid="orddeptcd"/>
  128. <BindItem id="item4" compid="group3.combo1" propid="value" datasetid="ds_cond" columnid="orddrid"/>
  129. <BindItem id="item5" compid="combo2" propid="value" datasetid="ds_cond" columnid="orddd"/>
  130. <BindItem id="item6" compid="group3.output3" propid="value" datasetid="ds_cond" columnid="etc"/>
  131. </Bind>
  132. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  133. * System Name :
  134. * Job Name :
  135. * Creator :
  136. * Make Date : 2015-11-13
  137. * Description :
  138. *---------------------------------------------------------------------------------------
  139. * Modify Date Modifier Modify Description
  140. *---------------------------------------------------------------------------------------
  141. * 2015-11-13 Live Converter TF->XP
  142. *
  143. *---------------------------------------------------------------------------------------
  144. ****************************************************************************************/
  145. include "com_commonxp::comm_main.xjs";
  146. include "emr_carecomxp::CareCom.xjs";
  147. include "com_departmentcodexp::ZSD001.xjs";
  148. include "emr_prcpmngtxp::MMOCommon.xjs";
  149. var arErrorCode = new HashArray();
  150. function SMMNO02700_oninit(obj:Form, e:InitEventInfo)
  151. {
  152. frmf_initForm(obj);
  153. }
  154. function SMMNO02700_onload(obj:Form, e:LoadEventInfo)
  155. {
  156. }
  157. function cf_TRMNO02701(sSvcId, nErrorCode, sErrorMsg) {
  158. arErrorCode.push(sSvcId, nErrorCode);
  159. }
  160. function group3_ipt_pid_onkeydown(obj:Edit, e:KeyEventInfo)
  161. {
  162. if(e.keycode == 13){
  163. group3.output1.setFocus();
  164. if(utlf_isNull(ds_cond.getColumn(0,"pid")) ){
  165. sysf_messageBox("등록번호를","C001");
  166. group3.ipt_pid.setFocus();
  167. return;
  168. }
  169. dsf_createDsRow("ds_send", [{col: "pid", val:ds_cond.getColumn(0,"pid") }
  170. ]);
  171. var oParam = {};
  172. oParam.id = "TRMNO02701";
  173. oParam.service = "outcareapp.OutCareMngt";
  174. oParam.method = "reqGetEndPatnm";
  175. oParam.inds = "req=ds_send";
  176. oParam.outds = "ds_cond_cond=cond";
  177. oParam.async = false;
  178. oParam.callback = "cf_TRMNO02701";
  179. tranf_submit(oParam);
  180. if(arErrorCode.pop("TRMNO02701") > -1){
  181. ds_cond.setColumn(0,"hngnm",ds_cond_cond.getColumn(0,"hngnm"));
  182. ds_cond.setColumn(0,"rgstno",ds_cond_cond.getColumn(0,"rgstno"));
  183. if(utlf_isNull(ds_cond.getColumn(0,"hngnm"))){
  184. sysf_messageBox("입력한 등록번호에 해당하는 환자가","I004");
  185. group3.ipt_pid.setFocus();
  186. return;
  187. }else{
  188. ds_grd_endResn.clearData();
  189. //zbcfGetCodeList(new Array("P0432"), new Array("/root/main/endResn"));
  190. var arrParam = [{dsNm: "ds_grd_endResn", cdGrpId: "P0432"}
  191. ]
  192. appf_getCodeList(arrParam);
  193. dsf_createDsRow("ds_send", [{col: "pid", val:ds_cond.getColumn(0,"pid") }
  194. ]);
  195. var oParam = {};
  196. oParam.id = "TRMNO02702";
  197. oParam.service = "outcareapp.OutCareMngt";
  198. oParam.method = "reqGetEndDept";
  199. oParam.inds = "req=ds_send";
  200. oParam.outds = "ds_init_cmb_orddept=orddept";
  201. oParam.async = false;
  202. //oParam.callback = "cf_TRMNO02702";
  203. tranf_submit(oParam);
  204. group3.cmb_orddept.index = 0;
  205. var ev = new ItemChangeEventInfo;
  206. frmf_inputEnterKey("group3.cmb_orddept", "onitemchanged", ev );
  207. group3.output3.setFocus();
  208. }
  209. }
  210. }
  211. }
  212. function group3_grd_endResn_oncellclick(obj:Grid, e:GridClickEventInfo)
  213. {
  214. ds_cond.setColumn(0,"cnclresn",ds_grd_endResn.getColumn(ds_grd_endResn.rowposition,"cdid"));
  215. }
  216. function group3_combo1_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  217. {
  218. obj.updateToDataset();
  219. dsf_createDsRow("ds_send", [{col: "pid", val:ds_cond.getColumn(0,"pid") }
  220. ,{col: "orddeptcd", val:ds_cond.getColumn(0,"orddeptcd") }
  221. ,{col: "orddrid", val:ds_cond.getColumn(0,"orddrid") }
  222. ]);
  223. var oParam = {};
  224. oParam.id = "TRMNO02704";
  225. oParam.service = "outcareapp.OutCareMngt";
  226. oParam.method = "reqGetEndOrddd";
  227. oParam.inds = "req=ds_send";
  228. oParam.outds = "ds_init_combo2=orddd";
  229. oParam.async = false;
  230. // oParam.callback = "cf_TRMNO02704";
  231. tranf_submit(oParam);
  232. combo2.index = 0;
  233. combo2.updateToDataset();
  234. }
  235. function group3_cmb_orddept_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  236. {
  237. obj.updateToDataset();
  238. dsf_createDsRow("ds_send", [{col: "pid", val:ds_cond.getColumn(0,"pid") }
  239. ,{col: "orddeptcd", val:ds_cond.getColumn(0,"orddeptcd") }
  240. ]);
  241. var oParam = {};
  242. oParam.id = "TRMNO02703";
  243. oParam.service = "outcareapp.OutCareMngt";
  244. oParam.method = "reqGetEndDrid";
  245. oParam.inds = "req=ds_send";
  246. oParam.outds = "ds_init_combo1=orddr";
  247. oParam.async = false;
  248. //oParam.callback = "cf_TRMNO02703";
  249. tranf_submit(oParam);
  250. group3.combo1.index = 0;
  251. var ev = new ItemChangeEventInfo;
  252. frmf_inputEnterKey("group3.combo1", "onitemchanged", ev );
  253. }
  254. function group3_button5_onclick(obj:Button, e:ClickEventInfo)
  255. {
  256. if(sysf_messageBox("마감취소를","Q002") != 6) return;
  257. if( (utlf_isNull(ds_cond.getColumn(0,"pid"))) ||
  258. (utlf_isNull(ds_cond.getColumn(0,"orddeptcd"))) ||
  259. (utlf_isNull(ds_cond.getColumn(0,"orddrid"))) ||
  260. (utlf_isNull(ds_cond.getColumn(0,"orddd")))
  261. ){
  262. sysf_messageBox("등록번호, 진료과, 진료의, 접수일자는 ","I003");
  263. group3.ipt_pid.setFocus();
  264. return;
  265. }
  266. if(utlf_isNull(ds_cond.getColumn(0,"cnclresn"))){
  267. sysf_messageBox("마감취소사유를","C002");
  268. group3.grd_endResn.setFocus();
  269. return;
  270. }
  271. if(ds_cond.getColumn(0,"cnclresn") == "99") {
  272. if(utlf_isNull(ds_cond.getColumn(0,"etc"))){
  273. sysf_messageBox("기타사유를","C001");
  274. group3.output3.setFocus();
  275. return;
  276. }
  277. }
  278. dsf_createDsRow("ds_send", [{col: "pid", val:ds_cond.getColumn(0,"pid") }
  279. ,{col: "orddeptcd", val:ds_cond.getColumn(0,"orddeptcd") }
  280. ,{col: "orddrid", val:ds_cond.getColumn(0,"orddrid") }
  281. ,{col: "orddd", val:ds_cond.getColumn(0,"orddd") }
  282. ]);
  283. var oParam = {};
  284. oParam.id = "TRMNO02705";
  285. oParam.service = "outcareapp.OutCareMngt";
  286. oParam.method = "reqGetEndOtptKey";
  287. oParam.inds = "req=ds_send";
  288. oParam.outds = "ds_otptkey=otptkey";
  289. oParam.async = false;
  290. oParam.callback = "cf_TRMNO02705";
  291. tranf_submit(oParam);
  292. if(arErrorCode.pop("TRMNO02705") > -1){
  293. if( ds_otptkey.rowcount > 0 ){
  294. dsf_createDsRow("ds_send", [{col: "pid", val:ds_cond.getColumn(0,"pid") }
  295. ,{col: "cretno", val:ds_otptkey.getColumn(0,"cretno") }
  296. ,{col: "orddd", val:ds_cond.getColumn(0,"orddd") }
  297. ]);
  298. var oParam = {};
  299. oParam.id = "TRMNO02706";
  300. oParam.service = "outcareapp.OutCareMngt";
  301. oParam.method = "reqGetEndPrcdCnt";
  302. oParam.inds = "req=ds_send";
  303. oParam.outds = "ds_prcdcnt=prcdcnt";
  304. oParam.async = false;
  305. oParam.callback = "cf_TRMNO02706";
  306. tranf_submit(oParam);
  307. if(arErrorCode.pop("TRMNO02706") > -1){
  308. if( ds_prcdcnt.getColumn(0,"cnt") > 0 ){
  309. if("6" != sysf_messageBox("취소되지 않은 처방이 존재합니다. 마감 취소 하시겠습니까?","Q999")) {
  310. group3.ipt_pid.setFocus();
  311. return;
  312. }
  313. }
  314. var etc = "";
  315. if(ds_cond.getColumn(0,"cnclresn") == "99") {
  316. etc = ds_cond.getColumn(0,"etc");
  317. }else{
  318. etc = ds_grd_endResn.getColumn(ds_grd_endResn.rowposition,"cdnm");
  319. }
  320. dsf_createDsRow("ds_send", [{col: "pid", val:ds_cond.getColumn(0,"pid") }
  321. ,{col: "cretno", val:ds_otptkey.getColumn(0,"cretno") }
  322. ,{col: "orddd", val:ds_cond.getColumn(0,"orddd") }
  323. ,{col: "acptseqno", val:ds_otptkey.getColumn(0,"acptseqno") }
  324. ,{col: "cnclresn", val:ds_cond.getColumn(0,"cnclresn") }
  325. ,{col: "etc", val:etc }
  326. ]);
  327. var oParam = {};
  328. oParam.id = "TXMNO02701";
  329. oParam.service = "outcareapp.OutCareMngt";
  330. oParam.method = "reqExeSetEndPrcp";
  331. oParam.inds = "req=ds_send";
  332. oParam.outds = "";
  333. oParam.async = false;
  334. //oParam.callback = "cf_TXMNO02701";
  335. tranf_submit(oParam);
  336. if(sysf_messageBox("마감취소작업이 정상적으로 처리되었습니다. \n"+
  337. "외래접수에 대한 수정작업 후 반드시 재마감을 하십시오. \n\n"+
  338. "다른환자의 마감취소를","Q003") != 6) {
  339. this.close();
  340. return;
  341. }else{
  342. group3.ipt_pid.setFocus();
  343. }
  344. }
  345. }else{
  346. sysf_messageBox("환자등록번호, 진료과, 진료의, 접수일자에 대한 마감내역이","I004");
  347. group3.ipt_pid.setFocus();
  348. return;
  349. }
  350. } // if end
  351. }
  352. function cf_TRMNO02705(sSvcId, nErrorCode, sErrorMsg) {
  353. arErrorCode.push(sSvcId, nErrorCode);
  354. }
  355. function cf_TRMNO02706(sSvcId, nErrorCode, sErrorMsg) {
  356. arErrorCode.push(sSvcId, nErrorCode);
  357. }
  358. ]]></Script>
  359. </Form>
  360. </FDL>