SPMNO00300_변경의사선택.xfdl 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMNO00300" position="absolute 0 0 534 415" titletext="변경의사선택" onload="SPMNO00300_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div id="group3" position="absolute 8 59 526 383" anchor="default" positiontype="position">
  8. <Layouts>
  9. <Layout>
  10. <Static id="caption1" class="tit_2" position="absolute 5 0 118 20" anchor="default" text="진료의사" positiontype="position"/>
  11. <Shape id="line1" class="line_1" position="absolute 0 60 517 60" anchor="default" linetype="horizontal" positiontype="position"/>
  12. <Grid id="grd_orddrinfo" taborder="7" position="absolute 4 21 514 319" anchor="default" autofittype="col" oncelldblclick="group3_grd_orddrinfo_oncelldblclick" binddataset="ds_grid_grd_orddrinfo" positiontype="position">
  13. <Formats>
  14. <Format id="default">
  15. <Columns>
  16. <Column size="131"/>
  17. <Column size="100"/>
  18. <Column size="124"/>
  19. <Column size="129"/>
  20. </Columns>
  21. <Rows>
  22. <Row size="22" band="head"/>
  23. <Row size="24"/>
  24. </Rows>
  25. <Band id="head">
  26. <Cell text="센터/진료과"/>
  27. <Cell col="1" text="진료과"/>
  28. <Cell col="2" text="진료의사명"/>
  29. <Cell col="3" text="특진여부"/>
  30. </Band>
  31. <Band id="body">
  32. <Cell style="align:center middle;background:EXPR(userendflag == 'Y'? &quot;#999999&quot;:&quot;#ffffff&quot;);background2:EXPR(userendflag == 'Y'? &quot;#999999&quot;:&quot;#ffffff&quot;);font:EXPR(centflag == 'C'?&quot;돋움체 bold 9&quot;:&quot;돋움체 9&quot;);" text="bind:centnm"/>
  33. <Cell col="1" displaytype="normal" style="align:center middle;background:EXPR(userendflag == 'Y'? &quot;#999999&quot;:&quot;#ffffff&quot;);background2:EXPR(userendflag == 'Y'? &quot;#999999&quot;:&quot;#ffffff&quot;);" text="bind:deptnm" combodataset="ds_init_combo" combocodecol="value" combodatacol="label"/>
  34. <Cell col="2" style="align:center middle;background:EXPR(userendflag == 'Y'? &quot;#999999&quot;:&quot;#ffffff&quot;);background2:EXPR(userendflag == 'Y'? &quot;#999999&quot;:&quot;#ffffff&quot;);" text="bind:usernm"/>
  35. <Cell col="3" displaytype="combo" edittype="expr:specordyn == 'N'?&quot;none&quot;:&quot;combo&quot;" style="align:center middle;background:EXPR(userendflag == 'Y'? &quot;#999999&quot;:&quot;#ffffff&quot;);background2:EXPR(userendflag == 'Y'? &quot;#999999&quot;:&quot;#ffffff&quot;);" text="bind:specordyn" combodataset="ds_init_combo" combocodecol="value" combodatacol="label" combodisplay="edit"/>
  36. <Cell col="4"/>
  37. <Cell col="5"/>
  38. </Band>
  39. </Format>
  40. </Formats>
  41. </Grid>
  42. <CheckBox id="chk_flag" taborder="8" text="전체" position="absolute 454 0 512 20" anchor="default" truevalue="Y" falsevalue="N" onchanged="group3_chk_flag_onchanged"/>
  43. </Layout>
  44. </Layouts>
  45. </Div>
  46. <Div id="group1" position="absolute 16 382 534 409" anchor="default" positiontype="position">
  47. <Layouts>
  48. <Layout>
  49. <Button id="btn_confirm" class="btn4" taborder="8" position="absolute 391 6 447 26" anchor="default" text="확인" onclick="group1_btn_confirm_onclick" positiontype="position"/>
  50. <Button id="btn_cancel" class="btn4" taborder="9" position="absolute 450 6 506 26" anchor="default" text="취소" onclick="group1_btn_cancel_onclick" positiontype="position"/>
  51. <Shape id="line32" class="line_6" position="absolute 0 0 518 0" anchor="default" linetype="horizontal" positiontype="position"/>
  52. </Layout>
  53. </Layouts>
  54. </Div>
  55. <Div id="group2" taborder="2" class="div_SA" position="absolute 12 11 522 53" visible="true">
  56. <Layouts>
  57. <Layout>
  58. <Static id="caption2" text="진료과" class="search_name" position="absolute 8 10 83 30" anchor="default"/>
  59. <Combo id="cmb_orddept" taborder="1" class="combo_default" position="absolute 70 10 190 30" anchor="default" innerdataset="@ds_init_cmb_orddept" codecolumn="deptcd" datacolumn="depthngnm" enable="false" onitemchanged="group2_cmb_orddept_onitemchanged"/>
  60. <Static id="caption3" text="특진여부" class="search_name" position="absolute 214 10 300 30" anchor="default"/>
  61. <Combo id="cmb_specordyn" taborder="2" class="combo_default" position="absolute 288 10 348 30" anchor="default" codecolumn="codecolumn" datacolumn="datacolumn" enable="false" onitemchanged="group2_cmb_specordyn_onitemchanged">
  62. <Dataset id="innerdataset">
  63. <ColumnInfo>
  64. <Column id="codecolumn" size="256"/>
  65. <Column id="datacolumn" size="256"/>
  66. </ColumnInfo>
  67. <Rows>
  68. <Row>
  69. <Col id="codecolumn">Y</Col>
  70. <Col id="datacolumn">특진</Col>
  71. </Row>
  72. <Row>
  73. <Col id="codecolumn">N</Col>
  74. <Col id="datacolumn">일반</Col>
  75. </Row>
  76. </Rows>
  77. </Dataset>
  78. </Combo>
  79. <Button id="btn_search" taborder="3" text="조회" class="btn1" position="absolute 443 10 499 30" anchor="default" onclick="group2_btn_search_onclick" visible="true"/>
  80. </Layout>
  81. </Layouts>
  82. </Div>
  83. <cp_userinfolist id="cp_orddrid" titletext="New Form" taborder="3" text="cp_userinfolist00" position="absolute 421 84 521 100" style="background:transparent; " visible="false"/>
  84. <Static id="caption5" text="진료스케줄은 존재하나 의사가 존재하지 않는 경우, ex)퇴직" position="absolute 46 383 384 408"/>
  85. <Static id="caption4" position="absolute 14 386 40 403" style="background:#999999ff;"/>
  86. </Layout>
  87. </Layouts>
  88. <Objects>
  89. <Dataset id="ds_init_cmb_orddept" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  90. <ColumnInfo>
  91. <Column id="deptcd" type="STRING" size="256"/>
  92. <Column id="depthngnm" type="STRING" size="256"/>
  93. <Column id="supdeptcd" type="STRING" size="256"/>
  94. </ColumnInfo>
  95. </Dataset>
  96. <Dataset id="ds_grid_grd_orddrinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  97. <ColumnInfo>
  98. <Column id="usernm" type="STRING"/>
  99. <Column id="specordyn" type="STRING"/>
  100. <Column id="orddeptcd" type="STRING"/>
  101. <Column id="orddrid" type="STRING"/>
  102. <Column id="centnm" type="STRING" size="256"/>
  103. <Column id="deptnm" type="STRING" size="256"/>
  104. </ColumnInfo>
  105. </Dataset>
  106. <Dataset id="ds_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  107. <ColumnInfo>
  108. <Column id="orddd" type="STRING" size="256"/>
  109. <Column id="orddeptcd" type="STRING" size="256"/>
  110. <Column id="supdeptcd" type="STRING" size="256"/>
  111. <Column id="ordclsdeptflag" type="STRING" size="256"/>
  112. <Column id="specordyn" type="STRING" size="256"/>
  113. <Column id="orddrid" type="STRING" size="256"/>
  114. <Column id="orddeptnm" type="STRING" size="256"/>
  115. <Column id="orddrnm" type="STRING" size="256"/>
  116. <Column id="specordynnm" type="STRING" size="256"/>
  117. </ColumnInfo>
  118. <Rows>
  119. <Row>
  120. <Col id="specordynnm"/>
  121. </Row>
  122. </Rows>
  123. </Dataset>
  124. <Dataset id="ds_init_combo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  125. <ColumnInfo>
  126. <Column id="label" type="STRING" size="256"/>
  127. <Column id="value" type="STRING" size="256"/>
  128. </ColumnInfo>
  129. <Rows>
  130. <Row>
  131. <Col id="label">특진</Col>
  132. <Col id="value">Y</Col>
  133. </Row>
  134. <Row>
  135. <Col id="label">일반</Col>
  136. <Col id="value">N</Col>
  137. </Row>
  138. </Rows>
  139. </Dataset>
  140. </Objects>
  141. <Bind>
  142. <BindItem id="item0" compid="group2.cmb_orddept" propid="value" datasetid="ds_cond" columnid="orddeptcd"/>
  143. <BindItem id="item1" compid="group2.cmb_specordyn" propid="value" datasetid="ds_cond" columnid="specordyn"/>
  144. <BindItem id="item2" compid="group3.chk_flag" propid="value" datasetid="ds_cond" columnid=""/>
  145. </Bind>
  146. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  147. * System Name : KU2.0
  148. * Job Name :
  149. * File Name : SPMNO00300_변경의사선택.xfdl
  150. * Creator :
  151. *
  152. * Description :
  153. *---------------------------------------------------------------------------------------
  154. * Modify Date Modifier Modify Description
  155. *---------------------------------------------------------------------------------------
  156. *
  157. *---------------------------------------------------------------------------------------
  158. ****************************************************************************************/
  159. //=======================================================================================
  160. // Lib Include
  161. //---------------------------------------------------------------------------------------
  162. include "com_commonxp::comm_main.xjs";
  163. //=======================================================================================
  164. // Function
  165. //---------------------------------------------------------------------------------------
  166. function submit_TRMNO00301() {
  167. var chk_flag = group3.chk_flag.value;
  168. if( chk_flag == "N")
  169. {
  170. chk_flag = "";
  171. }
  172. var objParam = new Object();
  173. objParam.id = "TRMNO00301";
  174. objParam.service = "outcareapp.OutCareMngt";
  175. objParam.method = "reqGetOrddrList";
  176. objParam.inds = "req=ds_send";
  177. objParam.outds ="ds_grid_grd_orddrinfo=orddrinfolist";
  178. tranf_submit(objParam);
  179. if( ds_grid_grd_orddrinfo.rowcount > 1 ){
  180. group3.grd_orddrinfo.setFocus();
  181. }
  182. }
  183. //입력값의 유효범위 체크
  184. function fInputValueCheck(cond){
  185. switch(cond){
  186. case "1":
  187. var sspecordyn = ds_send.getColumn(0, "specordyn");
  188. if( !utlf_isNull(sspecordyn) ){
  189. return (true);
  190. }else{
  191. sysf_messageBox("특진여부를 정확히", "C001");
  192. return (false);
  193. }
  194. break;
  195. case "2":
  196. var sorddeptcd = ds_init_cmb_orddept.getColumn(0, "deptcd");
  197. if( !utlf_isNull(sorddeptcd)){
  198. return (true);
  199. }else{
  200. sysf_messageBox("진료과를 정확히", "C001");
  201. return (false);
  202. }
  203. break;
  204. default :
  205. sysf_messageBox("검색조건이 정확히 선택되지 않았습니다. 확인 후 다시 시도해 주십시요.", "E999", "");
  206. return( false );
  207. break;
  208. }
  209. }
  210. //=======================================================================================
  211. // Event
  212. //---------------------------------------------------------------------------------------
  213. /****************************************************************************************
  214. * Components :
  215. * Components ID : SPMNO00300
  216. * Event : onload
  217. * Argument : 01.obj : Object Event has occurred
  218. * : 02.e : Event Object
  219. * Description :
  220. ****************************************************************************************/
  221. function SPMNO00300_onload(obj:Form, e:LoadEventInfo)
  222. {
  223. frmf_initForm(obj); // 화면공통
  224. //공통모듈 사용자리스트
  225. var instcd = sysf_getUserInfo("dutplceinstcd");
  226. var dt = utlf_getCurrentDate();
  227. var chk_flag = group3.chk_flag.value;
  228. if( chk_flag == "N")
  229. {
  230. chk_flag = "";
  231. }
  232. appf_getCareOutOrderDepartmentList(instcd, dt, "ds_init_cmb_orddept", false , "cf_Dept");
  233. ds_cond.copyData(arg_ds_send);
  234. dsf_createDsRow("ds_send", [{col: "orddd", val:ds_cond.getColumn(0,"orddd") }
  235. ,{col: "orddeptcd", val:ds_cond.getColumn(0,"orddeptcd") }
  236. ,{col: "specordyn", val:ds_cond.getColumn(0,"specordyn") }
  237. ,{col: "supdeptcd", val:ds_cond.getColumn(0,"supdeptcd") }
  238. ,{col: "ordclsdeptflag", val:ds_cond.getColumn(0,"ordclsdeptflag") }
  239. ,{col: "flag", val:chk_flag }
  240. ,{col: "centnm", val:group2.cmb_orddept.text }
  241. ]);
  242. sysf_trace(ds_send.saveXML());
  243. var oParam = {};
  244. oParam.id = "TRMNO00301";
  245. oParam.service = "outcareapp.OutCareMngt";
  246. oParam.method = "reqGetOrddrList";
  247. oParam.inds = "req=ds_send";
  248. oParam.outds = "ds_grid_grd_orddrinfo=orddrinfolist";
  249. oParam.async = false;
  250. oParam.callback = "cf_TRMNO00301";
  251. tranf_submit(oParam);
  252. }
  253. function cf_TRMNO00301(sSvcId, nErrorCode, sErrorMsg) {
  254. if(nErrorCode < 0) return;
  255. }
  256. function cf_Dept(sSvcId, nErrorCode, sErrorMsg)
  257. {
  258. //error 메세지 처리
  259. if(nErrorCode < 0){
  260. trace(sErrorMsg, "E");
  261. }
  262. }
  263. /****************************************************************************************
  264. * Components :
  265. * Components ID : btn_search
  266. * Event : onclick
  267. * Argument : 01.obj : Object Event has occurred
  268. * : 02.e : Event Object
  269. * Description :
  270. ****************************************************************************************/
  271. function group2_btn_search_onclick(obj:Button, e:ClickEventInfo)
  272. {
  273. if( fInputValueCheck("2") ){
  274. submit_TRMNO00301();
  275. }
  276. }
  277. /****************************************************************************************
  278. * Components :
  279. * Components ID : btn_cancel
  280. * Event : onclick
  281. * Argument : 01.obj : Object Event has occurred
  282. * : 02.e : Event Object
  283. * Description :
  284. ****************************************************************************************/
  285. function group1_btn_cancel_onclick(obj:Button, e:ClickEventInfo)
  286. {
  287. opener.frmf_setParameter("popupendflag","cancel");
  288. this.close();
  289. }
  290. /****************************************************************************************
  291. * Components :
  292. * Components ID : grd_orddrinfo
  293. * Event : oncelldblclick
  294. * Argument : 01.obj : Object Event has occurred
  295. * : 02.e : Event Object
  296. * Description :
  297. ****************************************************************************************/
  298. function group3_grd_orddrinfo_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  299. {
  300. var ev = new ClickEventInfo;
  301. frmf_inputEnterKey("group1.btn_confirm", "onclick", ev );
  302. }
  303. /****************************************************************************************
  304. * Components :
  305. * Components ID : btn_confirm
  306. * Event : onclick
  307. * Argument : 01.obj : Object Event has occurred
  308. * : 02.e : Event Object
  309. * Description :
  310. ****************************************************************************************/
  311. function group1_btn_confirm_onclick(obj:Button, e:ClickEventInfo)
  312. {
  313. if ( frmf_checkOpener() ) {
  314. var row = ds_grid_grd_orddrinfo.rowposition; //group3.grd_orddrinfo.rowcount;
  315. var orddeptcd;
  316. //20090629_SMY추가
  317. var centflag = ds_grid_grd_orddrinfo.getColumn(row, "centflag");
  318. var userendflag = ds_grid_grd_orddrinfo.getColumn(row, "userendflag");
  319. var orddrid = ds_grid_grd_orddrinfo.getColumn(row, "orddrid");
  320. if(userendflag== "Y") {
  321. sysf_messageBox("해당의사로는 변경을 할수 없습니다.", "E");
  322. return;
  323. }
  324. if(centflag == "C") {
  325. orddeptcd = ds_grid_grd_orddrinfo.getColumn(row, "centcd");
  326. } else {
  327. orddeptcd = ds_grid_grd_orddrinfo.getColumn(row, "orddeptcd");
  328. }
  329. if(ds_send.getColumn(0,"orddrid") == ds_grid_grd_orddrinfo.getColumn(row, "orddrid")){
  330. sysf_messageBox("동일 의사를 선택하셨습니다.", "I");
  331. return;
  332. }
  333. opener.frmf_setParameter("popupendflag", "cancel");
  334. if( row >= 0 ){
  335. if( ds_grid_grd_orddrinfo.rowcount > 0 ){
  336. dsf_createDs("ds_temp");
  337. dsf_copyColInfo(ds_temp,ds_grid_grd_orddrinfo);
  338. ds_temp.copyRow(ds_temp.addRow(),ds_grid_grd_orddrinfo,row);
  339. opener.ds_orddrinfolist.copyData(ds_temp);
  340. opener.frmf_setParameter("popupendflag", "ok");
  341. }
  342. }else {
  343. sysf_messageBox("행이 정확히 선택되지", "E007");
  344. }
  345. } else {
  346. sysf_messageBox("상위화면이 변경되어 데이터를 가져올 수", "I004");
  347. }
  348. //opener.model.updateToDataset();
  349. this.close();
  350. }
  351. function Button00_onclick(obj:Button, e:ClickEventInfo)
  352. {
  353. opener.frmf_setParameter("popupendflag","cancel");
  354. this.close();
  355. }
  356. function group2_cmb_orddept_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  357. {
  358. ds_send.setColumn(0,"orddeptcd",e.postvalue);
  359. }
  360. function group2_cmb_specordyn_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  361. {
  362. ds_send.setColumn(0,"specordyn",e.postvalue);
  363. }
  364. function group3_chk_flag_onchanged(obj:CheckBox, e:CheckBoxChangeEventInfo)
  365. {
  366. var chk_flag = group3.chk_flag.value;
  367. if( chk_flag == "N")
  368. {
  369. chk_flag = "";
  370. }
  371. ds_send.setColumn(0,"flag",chk_flag);
  372. var ev = new ClickEventInfo;
  373. frmf_inputEnterKey("group2.btn_search", "onclick", ev );
  374. }
  375. ]]></Script>
  376. </Form>
  377. </FDL>