SMMNP09000_일일수술처치기준관리.xfdl 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMMNP09000" position="absolute 0 0 800 600" titletext="수술실 외래 처치 기준 관리" oninit="SMMNP09000_oninit" onload="SMMNP09000_onload" ontimer="SMMNP09000_ontimer">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 25 800 61" align="align:center top;" id="grp_sea" class="div_SA" anchor="left top right">
  8. <Layouts>
  9. <Layout>
  10. <Static text="처방코드 :" position="absolute 10 8 100 28" id="caption2" class="search_name" anchor="default"/>
  11. <Button position="absolute 563 8 619 28" id="btn_sear" class="btn1" text="조회" onclick="grp_sea_btn_sear_onclick" anchor="top right"/>
  12. <Shape position="absolute 554 7 560 30" linetype="vertical" id="line16" anchor="top right"/>
  13. <Static text="처 방 명 :" position="absolute 239 8 329 28" id="caption1" class="search_name" anchor="default"/>
  14. <Edit position="absolute 86 8 198 28" id="input1" onkeyup="grp_sea_input1_onkeyup" anchor="default" autoselect="true"/>
  15. <Edit position="absolute 313 8 521 28" id="input2" onkeyup="grp_sea_input2_onkeyup" anchor="default" autoselect="true"/>
  16. <Button position="absolute 679 8 735 28" id="button1" class="btn4" text="삭제" onclick="grp_sea_button1_onclick" anchor="top right"/>
  17. <Button position="absolute 621 8 677 28" id="button2" class="btn4" text="추가" onclick="grp_sea_button2_onclick" anchor="top right"/>
  18. <Button position="absolute 737 8 793 28" id="button3" class="btn4" text="저장" onclick="grp_sea_button3_onclick" anchor="top right"/>
  19. </Layout>
  20. </Layouts>
  21. </Div>
  22. <Grid position="absolute 0 66 800 600" id="grd_prcplist" binddataset="ds_main_dscprcpinfo_prcplist" autoenter="select" onheadclick="grd_prcplist_onheadclick" onexpandup="grd_prcplist_onexpandup" autosizingtype="row" extendsizetype="row" anchor="all" oncellclick="grd_prcplist_oncellclick" cellsizingtype="both" cellsizebandtype="allband" selecttype="multirow" cellclickbound="cell">
  23. <Formats>
  24. <Format id="default">
  25. <Columns>
  26. <Column size="24" band="left"/>
  27. <Column size="30"/>
  28. <Column size="80"/>
  29. <Column size="400"/>
  30. <Column size="90"/>
  31. <Column size="90"/>
  32. <Column size="70"/>
  33. <Column size="0"/>
  34. </Columns>
  35. <Rows>
  36. <Row size="24" band="head"/>
  37. <Row size="24"/>
  38. </Rows>
  39. <Band id="head">
  40. <Cell/>
  41. <Cell col="1"/>
  42. <Cell col="2" text="처방코드"/>
  43. <Cell col="3" text="처방명"/>
  44. <Cell col="4" text="시작일자"/>
  45. <Cell col="5" text="종료일자"/>
  46. <Cell col="6" text="최종수정자"/>
  47. <Cell col="7" text="최종수정자id"/>
  48. </Band>
  49. <Band id="body">
  50. <Cell celltype="head"/>
  51. <Cell col="1" displaytype="checkbox" edittype="checkbox" text="bind:sel"/>
  52. <Cell col="2" displaytype="text" edittype="text" text="bind:prcpcd" expandshow="show"/>
  53. <Cell col="3" style="align:left;padding:5 0 5 5;" text="bind:prcpnm" wordwrap="word"/>
  54. <Cell col="4" displaytype="date" edittype="date" style="align:center;" text="bind:valifromdd" calendardisplaynulltype="none"/>
  55. <Cell col="5" displaytype="date" edittype="date" style="align:center;" text="bind:valitodd" calendardisplaynulltype="none"/>
  56. <Cell col="6" style="align:left;" text="bind:rgstnm"/>
  57. <Cell col="7" text="bind:rgstid"/>
  58. </Band>
  59. </Format>
  60. </Formats>
  61. </Grid>
  62. <Static text="수술실 외래 처치 처방 기준 관리" position="absolute 0 0 230 25" id="caption6" class="tit_1"/>
  63. <Shape position="absolute 0 61 800 67" linetype="horizontal" id="line3" class="line_10" anchor="left top right"/>
  64. </Layout>
  65. </Layouts>
  66. <Objects>
  67. <Dataset id="ds_send_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  68. <ColumnInfo>
  69. <Column id="workdd" type="STRING" size="256" sumtext="workdd"/>
  70. <Column id="prcpcd" type="STRING" size="256" sumtext="처방코드"/>
  71. <Column id="prcpnm" type="STRING" size="256" sumtext="처방명"/>
  72. </ColumnInfo>
  73. <Rows>
  74. <Row/>
  75. </Rows>
  76. </Dataset>
  77. <Dataset id="ds_main_dscprcpinfo_prcplist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  78. <ColumnInfo>
  79. <Column id="prcpcd" type="STRING" size="256" sumtext="처방코드"/>
  80. <Column id="prcpnm" type="STRING" size="256" sumtext="처방명"/>
  81. <Column id="valifromdd" type="STRING" size="256" sumtext="시작일"/>
  82. <Column id="valitodd" type="STRING" size="256" sumtext="종료일"/>
  83. <Column id="rgstid" type="STRING" size="256" sumtext="최종수정자"/>
  84. <Column id="rgstnm" type="STRING" size="256" sumtext="최종수정일"/>
  85. </ColumnInfo>
  86. </Dataset>
  87. <Dataset id="ds_send_savedata_prcplist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  88. <ColumnInfo>
  89. <Column id="m" type="STRING" size="256" sumtext="상태"/>
  90. <Column id="prcpcd" type="STRING" size="256" sumtext="처방코드"/>
  91. <Column id="prcpnm" type="STRING" size="256" sumtext="처방명"/>
  92. <Column id="valifromdd" type="STRING" size="256" sumtext="시작일"/>
  93. <Column id="valitodd" type="STRING" size="256" sumtext="종료일"/>
  94. <Column id="rgstid" type="STRING" size="256" sumtext="최종수정자"/>
  95. <Column id="rgstnm" type="STRING" size="256" sumtext="최종수정일"/>
  96. </ColumnInfo>
  97. </Dataset>
  98. <Dataset id="ds_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  99. <ColumnInfo>
  100. <Column id="srch_prcpcd" type="STRING" size="256"/>
  101. <Column id="srch_prcpnm" type="STRING" size="256"/>
  102. </ColumnInfo>
  103. <Rows>
  104. <Row/>
  105. </Rows>
  106. </Dataset>
  107. </Objects>
  108. <Bind>
  109. <BindItem id="item0" compid="grp_sea.input1" propid="value" datasetid="ds_cond" columnid="srch_prcpcd"/>
  110. <BindItem id="item1" compid="grp_sea.input2" propid="value" datasetid="ds_cond" columnid="srch_prcpnm"/>
  111. </Bind>
  112. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  113. * System Name : 경대 의료정보시스템
  114. * Job Name : emr_opanstxp -> SMMNP09000
  115. * Creator : yjh
  116. * Make Date : 2016-01-19
  117. * Description :
  118. *---------------------------------------------------------------------------------------
  119. * Modify Date Modifier Modify Description
  120. *---------------------------------------------------------------------------------------
  121. * 2016-01-19 yjh TF->XP
  122. *
  123. *---------------------------------------------------------------------------------------
  124. ****************************************************************************************/
  125. //=======================================================================================
  126. // Lib Include
  127. //---------------------------------------------------------------------------------------
  128. include "com_commonxp::comm_main.xjs";
  129. //=======================================================================================
  130. // Global Form Variable
  131. //---------------------------------------------------------------------------------------
  132. //=======================================================================================
  133. // Function
  134. //---------------------------------------------------------------------------------------
  135. /****************************************************************************************
  136. * Argument : N/A
  137. * Description :
  138. ****************************************************************************************/
  139. function fSearch() {
  140. var curdate = utlf_getCurrentDate();
  141. var srch_prcpcd = ds_cond.getColumn(0, "srch_prcpcd");
  142. var srch_prcpnm = ds_cond.getColumn(0, "srch_prcpnm");
  143. var valitodd = "";
  144. ds_send_reqdata.setColumn(0, "workdd", curdate);
  145. ds_send_reqdata.setColumn(0, "prcpcd", srch_prcpcd);
  146. ds_send_reqdata.setColumn(0, "prcpnm", srch_prcpnm);
  147. grdf_clearSort(grd_prcplist);
  148. var oParam = {};
  149. oParam.id = "TRMNP09001";
  150. oParam.service = "opanstapp.OpAnstDscMngt";
  151. oParam.method = "reqGetDscActingPrcpList";
  152. oParam.inds = "req=ds_send_reqdata";
  153. oParam.outds = "ds_main_dscprcpinfo_prcplist=prcplist";
  154. oParam.async = false;
  155. oParam.callback = "cf_TRMNP09001";
  156. tranf_submit(oParam);
  157. }
  158. function cf_TRMNP09001(sSvcId, nErrorCode, sErrorMsg) {
  159. if(nErrorCode < 0) return;
  160. ds_main_dscprcpinfo_prcplist.addColumn("m", "string");
  161. ds_main_dscprcpinfo_prcplist.addColumn("sel", "string");
  162. var curdate = utlf_getCurrentDate();
  163. var sExprBack = "EXPR(";
  164. var sExprColor = "EXPR(";
  165. var sExprFont = "EXPR(";
  166. for (var i = 0; i < grd_prcplist.rowcount; i ++) {
  167. valitodd = ds_main_dscprcpinfo_prcplist.getColumn(i, "valitodd");
  168. if ( valitodd < curdate) {
  169. sExprBack += "currow == "+i+" ? '#E0E0E0' : ";
  170. sExprColor += "currow == "+i+" ? '#5f5f5f' : ";
  171. sExprFont += "currow == "+i+" ? 'arial,9,italic' : ";
  172. }
  173. }
  174. sExprBack += "'#ffffff')";
  175. sExprColor += "'')";
  176. sExprFont += "'')";
  177. for (var i = 1; i < grd_prcplist.getCellCount("Body"); i ++) {
  178. grd_prcplist.setCellProperty("Body", i, "background", sExprBack);
  179. grd_prcplist.setCellProperty("Body", i, "background2", sExprBack);
  180. grd_prcplist.setCellProperty("Body", i, "color", sExprColor);
  181. grd_prcplist.setCellProperty("Body", i, "color2", sExprColor);
  182. grd_prcplist.setCellProperty("Body", i, "font", sExprFont);
  183. }
  184. }
  185. function fSave() {
  186. var rows = grd_prcplist.rowcount;
  187. for (var i = 0; i < rows; i ++) {
  188. if( utlf_isNull(ds_main_dscprcpinfo_prcplist.getColumn(i, "valifromdd")) ){
  189. ds_main_dscprcpinfo_prcplist.setColumn(i, "valifromdd", utlf_getCurrentDate());
  190. }
  191. if( utlf_isNull(ds_main_dscprcpinfo_prcplist.getColumn(i, "valitodd")) ){
  192. ds_main_dscprcpinfo_prcplist.setColumn(i, "valitodd", "99991231");
  193. }
  194. if( utlf_isNull(ds_main_dscprcpinfo_prcplist.getColumn(i, "rgstid")) ){
  195. ds_main_dscprcpinfo_prcplist.setColumn(i, "rgstid", sysf_getUserInfo("userid"));
  196. ds_main_dscprcpinfo_prcplist.setColumn(i, "rgstnm", sysf_getUserInfo("usernm"));
  197. }
  198. }
  199. var savedata = grdf_getGridUpdateData(grd_prcplist);
  200. if (savedata == "" ) {
  201. sysf_messageBox("저장할 데이터가 없습니다.", "E999");
  202. } else {
  203. grdf_setStatusColumn(savedata, "m");
  204. ds_send_savedata_prcplist.assign(savedata);
  205. ds_send_savedata_prcplist.updateColID("m", "stat");
  206. grdf_clearSort(grd_prcplist);
  207. var oParam = {};
  208. oParam.id = "TXMNP09001";
  209. oParam.service = "opanstapp.OpAnstDscMngt";
  210. oParam.method = "reqSetDscActingPrcpList";
  211. oParam.inds = "savedata=ds_send_savedata_prcplist:A";
  212. oParam.outds = "ds_main_dscprcpinfo_prcplist=prcplist";
  213. oParam.async = false;
  214. oParam.callback = "cf_TXMNP09001";
  215. tranf_submit(oParam);
  216. }
  217. }
  218. function cf_TXMNP09001(sSvcId, nErrorCode, sErrorMsg) {
  219. if(nErrorCode < 0) return;
  220. grp_sea.btn_sear.click();
  221. }
  222. //=======================================================================================
  223. // Event
  224. //---------------------------------------------------------------------------------------
  225. /****************************************************************************************
  226. * Components : Form
  227. * Components ID : SMMNP09000
  228. * Event : oninit
  229. * Argument : 01.obj : Object Event has occurred
  230. * : 02.e : Event Object
  231. * Description : 화면 처음 초기화시
  232. ****************************************************************************************/
  233. function SMMNP09000_oninit(obj:Form, e:InitEventInfo)
  234. {
  235. frmf_initForm(obj); //폼 초기화
  236. }
  237. /****************************************************************************************
  238. * Components : Form
  239. * Components ID : SMMNP09000
  240. * Event : onload
  241. * Argument : 01.obj : Object Event has occurred
  242. * : 02.e : Event Object
  243. * Description : 화면 로딩 완료시
  244. ****************************************************************************************/
  245. function SMMNP09000_onload(obj:Form, e:LoadEventInfo)
  246. {
  247. grdf_setRowTypeIcon(grd_prcplist, 0); //그리드 상태 아이콘 보여주기
  248. //속도개선
  249. this.setTimer(0, 100);
  250. //fSearch();
  251. }
  252. /****************************************************************************************
  253. * Components : Edit
  254. * Components ID : input1
  255. * Event : onkeyup
  256. * Argument : 01.obj : Object Event has occurred
  257. * : 02.e : Event Object
  258. * Description : 처방코드 키 입력시
  259. ****************************************************************************************/
  260. function grp_sea_input1_onkeyup(obj:Edit, e:KeyEventInfo)
  261. {
  262. if( e.keycode == 13 ){
  263. grp_sea.btn_sear.setFocus();
  264. fSearch();
  265. }
  266. }
  267. /****************************************************************************************
  268. * Components : Edit
  269. * Components ID : input2
  270. * Event : onkeyup
  271. * Argument : 01.obj : Object Event has occurred
  272. * : 02.e : Event Object
  273. * Description : 처방명 키 입력시
  274. ****************************************************************************************/
  275. function grp_sea_input2_onkeyup(obj:Edit, e:KeyEventInfo)
  276. {
  277. if( e.keycode == 13 ){
  278. grp_sea.btn_sear.setFocus();
  279. fSearch();
  280. }
  281. }
  282. /****************************************************************************************
  283. * Components : Button
  284. * Components ID : btn_sear
  285. * Event : onclick
  286. * Argument : 01.obj : Object Event has occurred
  287. * : 02.e : Event Object
  288. * Description : 조회버튼 클릭시
  289. ****************************************************************************************/
  290. function grp_sea_btn_sear_onclick(obj:Button, e:ClickEventInfo)
  291. {
  292. fSearch();
  293. }
  294. /****************************************************************************************
  295. * Components : Grid
  296. * Components ID : grd_prcplist
  297. * Event : onheadclick
  298. * Argument : 01.obj : Object Event has occurred
  299. * : 02.e : Event Object
  300. * Description : 그리드 헤더 클릭시
  301. ****************************************************************************************/
  302. function grd_prcplist_onheadclick(obj:Grid, e:GridClickEventInfo)
  303. {
  304. grdf_gridSort(obj, e);
  305. }
  306. /****************************************************************************************
  307. * Components : Grid
  308. * Components ID : grd_prcplist
  309. * Event : onexpandup
  310. * Argument : 01.obj : Object Event has occurred
  311. * : 02.e : Event Object
  312. * Description : 그리드 expand버튼 클릭시
  313. ****************************************************************************************/
  314. function grd_prcplist_onexpandup(obj:Grid, e:GridMouseEventInfo)
  315. {
  316. switch( obj.getCellProperty("Body", e.col, "text") ){
  317. case "bind:prcpcd" :
  318. frmf_setParameter("scrnflag", "help");
  319. frmf_setParameter("rtnpath", "ds_main_dscprcpinfo_prcplist");
  320. var objArg = new Object();
  321. frmf_open("SPMNW11100", "SPMNW11100", objArg, null, 1, 100, 500, null, null, null, null, null, "M"); //yjh : 커밋
  322. break;
  323. default :
  324. break;
  325. }
  326. }
  327. /****************************************************************************************
  328. * Components : Button
  329. * Components ID : button2
  330. * Event : onclick
  331. * Argument : 01.obj : Object Event has occurred
  332. * : 02.e : Event Object
  333. * Description : 추가버튼 클릭시
  334. ****************************************************************************************/
  335. function grp_sea_button2_onclick(obj:Button, e:ClickEventInfo)
  336. {
  337. ds_main_dscprcpinfo_prcplist.addRow();
  338. }
  339. /****************************************************************************************
  340. * Components : Button
  341. * Components ID : button1
  342. * Event : onclick
  343. * Argument : 01.obj : Object Event has occurred
  344. * : 02.e : Event Object
  345. * Description : 삭제버튼 클릭시
  346. ****************************************************************************************/
  347. function grp_sea_button1_onclick(obj:Button, e:ClickEventInfo)
  348. {
  349. for (var i = 0; i < grd_prcplist.rowcount; i++) {
  350. if (ds_main_dscprcpinfo_prcplist.getColumn(i, "sel") == "1") {
  351. ds_main_dscprcpinfo_prcplist.enableevent = false;
  352. ds_main_dscprcpinfo_prcplist.updatecontrol = false;
  353. ds_main_dscprcpinfo_prcplist.setRowType(i, 8);
  354. ds_main_dscprcpinfo_prcplist.updatecontrol = true;
  355. ds_main_dscprcpinfo_prcplist.enableevent = true;
  356. }
  357. }
  358. }
  359. /****************************************************************************************
  360. * Components : Button
  361. * Components ID : button3
  362. * Event : onclick
  363. * Argument : 01.obj : Object Event has occurred
  364. * : 02.e : Event Object
  365. * Description : 저장버튼 클릭시
  366. ****************************************************************************************/
  367. function grp_sea_button3_onclick(obj:Button, e:ClickEventInfo)
  368. {
  369. fSave();
  370. }
  371. function SMMNP09000_ontimer(obj:Form, e:TimerEventInfo)
  372. {
  373. if (e.timerid == 0) {
  374. this.killTimer(0);
  375. fSearch();
  376. }
  377. }
  378. function grd_prcplist_oncellclick(obj:Grid, e:GridClickEventInfo)
  379. {
  380. grdf_controlGridCalendar(obj, e);
  381. }
  382. ]]></Script>
  383. </Form>
  384. </FDL>