SMMRI00300_의사별통계.xfdl 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.4">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMMRI00300" position="absolute 0 0 1195 780" titletext="의사별통계" oninit="SMMRI00300_oninit" onload="SMMRI00300_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static text="의사별통계" position="absolute 0 0 189 25" id="cap_title" class="tit_1"/>
  8. <Static text="의사별통계" position="absolute 3 111 111 126" id="caption20" class="tit_2"/>
  9. <Shape position="absolute 0 129 1194 131" linetype="horizontal" id="line1" class="line_1" anchor="left top right"/>
  10. <Grid position="absolute 0 131 1194 779" id="grd_unpreplist" binddataset="ds_grd_unpreplist" cellsizingtype="col" suppresslevel="sameskip" anchor="all">
  11. <Formats>
  12. <Format id="default">
  13. <Columns>
  14. <Column size="0"/>
  15. <Column size="100"/>
  16. <Column size="100"/>
  17. <Column size="100"/>
  18. <Column size="100"/>
  19. <Column size="130"/>
  20. <Column size="130"/>
  21. </Columns>
  22. <Rows>
  23. <Row size="24" band="head"/>
  24. <Row size="24"/>
  25. </Rows>
  26. <Band id="head">
  27. <Cell text="센터과"/>
  28. <Cell col="1" text="상위과"/>
  29. <Cell col="2" text="분과"/>
  30. <Cell col="3" text="의사구분"/>
  31. <Cell col="4" text="의사명"/>
  32. <Cell col="5" text="현재미정리환자수"/>
  33. <Cell col="6" text="실제미정리환자수"/>
  34. </Band>
  35. <Band id="body">
  36. <Cell text="bind:centernm"/>
  37. <Cell col="1" style="align:left middle;" text="bind:supdepthngnm" suppress="1" suppressalign="middle,over"/>
  38. <Cell col="2" style="align:left middle;" text="bind:underdepthngnm" suppress="2" suppressalign="middle,over"/>
  39. <Cell col="3" style="align:left middle;" text="bind:doctkindflag"/>
  40. <Cell col="4" style="align:left middle;" text="bind:orddrnm"/>
  41. <Cell col="5" style="align:left middle;" text="bind:t1"/>
  42. <Cell col="6" style="align:left top;" text="bind:t2"/>
  43. </Band>
  44. </Format>
  45. </Formats>
  46. </Grid>
  47. <Button position="absolute 1148 109 1190 128" id="btn_ex" class="btn2_letter2" text="엑셀" onclick="btn_ex_onclick" anchor="top right"/>
  48. <Button position="absolute 1103 109 1145 128" id="button1" class="btn2_letter2" text="출력" onclick="button1_onclick" anchor="top right"/>
  49. <Div id="roundrect1" type="roundrectangle" position="absolute 0 24 1194 104" class="div_SA" anchor="left top right">
  50. <Layouts>
  51. <Layout>
  52. <CheckBox id="bool5" taborder="1" enable="false" position="absolute 96 9 140 29" anchor="default" truevalue="Y" falsevalue="N" text="전체"/>
  53. <CheckBox id="bool4" taborder="2" position="absolute 282 9 330 29" anchor="default" truevalue="Y" falsevalue="N" text="인턴" onchanged="roundrect1_bool4_onchanged"/>
  54. <CheckBox id="bool3" taborder="3" position="absolute 207 9 277 29" anchor="default" truevalue="Y" falsevalue="N" text="레지던트" onchanged="roundrect1_bool3_onchanged"/>
  55. <CheckBox id="bool2" taborder="4" position="absolute 144 9 202 29" anchor="default" truevalue="Y" falsevalue="N" text="스태프" onchanged="roundrect1_bool2_onchanged"/>
  56. <Calendar id="ipt_fromdd" taborder="5" enable="false" position="absolute 691 52 781 71" anchor="default"/>
  57. <Combo id="cmb_orddept" taborder="6" innerdataset="ds_init_cmb_orddept" codecolumn="deptcd" datacolumn="depthngnm" class="combo_search" position="absolute 504 9 641 28" anchor="default"/>
  58. <Radio id="rdo_deptflag" taborder="7" columncount="4" rowcount="1" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 388 9 503 29" anchor="default">
  59. <Dataset id="innerdataset">
  60. <ColumnInfo>
  61. <Column id="codecolumn"/>
  62. <Column id="datacolumn"/>
  63. </ColumnInfo>
  64. <Rows>
  65. <Row>
  66. <Col id="codecolumn">unprep</Col>
  67. <Col id="datacolumn">미비과</Col>
  68. </Row>
  69. <Row>
  70. <Col id="codecolumn">dsch</Col>
  71. <Col id="datacolumn">퇴원과</Col>
  72. </Row>
  73. </Rows>
  74. </Dataset>
  75. </Radio>
  76. <Static id="caption8" text="미비의사 :" class="search_name" position="absolute 660 10 749 27" anchor="default"/>
  77. <Static id="caption6" text="의사구분 :" class="search_name" position="absolute 10 9 85 26" anchor="default"/>
  78. <Static id="caption15" text="날짜조회" position="absolute 556 52 606 72" anchor="default"/>
  79. <Calendar id="ipt_todd" taborder="8" enable="false" position="absolute 795 52 885 71" anchor="default"/>
  80. <Static id="cap_reqflag" text="조회구분 :" class="search_name" position="absolute 456 55 542 72" anchor="default"/>
  81. <Static id="caption4" text="미비구분 :" class="search_name" position="absolute 10 51 96 68" anchor="default"/>
  82. <Static id="caption2" text="재원구분 :" class="search_name" position="absolute 10 29 85 46" anchor="default"/>
  83. <Radio id="rdo_inoutflag" taborder="9" columncount="4" rowcount="1" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 94 29 307 49" anchor="default" canitemchange="roundrect1_rdo_inoutflag_canitemchange">
  84. <Dataset id="innerdataset">
  85. <ColumnInfo>
  86. <Column id="codecolumn"/>
  87. <Column id="datacolumn"/>
  88. </ColumnInfo>
  89. <Rows>
  90. <Row>
  91. <Col id="codecolumn">D</Col>
  92. <Col id="datacolumn">퇴원</Col>
  93. </Row>
  94. <Row>
  95. <Col id="codecolumn">I</Col>
  96. <Col id="datacolumn">재원</Col>
  97. </Row>
  98. <Row>
  99. <Col id="codecolumn">O</Col>
  100. <Col id="datacolumn">외래</Col>
  101. </Row>
  102. <Row>
  103. <Col id="codecolumn">E</Col>
  104. <Col id="datacolumn">응급실</Col>
  105. </Row>
  106. </Rows>
  107. </Dataset>
  108. </Radio>
  109. <Static id="caption1" text="~" position="absolute 781 52 796 67" anchor="default"/>
  110. <CheckBox id="bool1" taborder="10" position="absolute 531 51 561 71" anchor="default" truevalue="Y" falsevalue="N" onchanged="roundrect1_bool1_onchanged"/>
  111. <Edit id="ipt_unprepdrnm" taborder="11" position="absolute 747 9 824 28" anchor="default" onkeydown="roundrect1_ipt_unprepdrnm_onkeydown"/>
  112. <Combo id="cmb_inoutddflag" taborder="12" codecolumn="codecolumn" datacolumn="datacolumn" enable="false" position="absolute 611 52 689 71" anchor="default">
  113. <Dataset id="innerdataset">
  114. <ColumnInfo>
  115. <Column id="codecolumn"/>
  116. <Column id="datacolumn"/>
  117. </ColumnInfo>
  118. <Rows>
  119. <Row>
  120. <Col id="codecolumn">dschdd</Col>
  121. <Col id="datacolumn">퇴원일자</Col>
  122. </Row>
  123. <Row>
  124. <Col id="codecolumn">indd</Col>
  125. <Col id="datacolumn">입원일자</Col>
  126. </Row>
  127. <Row>
  128. <Col id="codecolumn">orddd</Col>
  129. <Col id="datacolumn">진료일자</Col>
  130. </Row>
  131. </Rows>
  132. </Dataset>
  133. </Combo>
  134. <Shape id="line5" linetype="vertical" position="absolute 1117 14 1123 75" anchor="top right"/>
  135. <Button id="btn_req" taborder="19" text="조회" class="btn1" position="absolute 1130 34 1186 56" anchor="top right" onclick="roundrect1_btn_req_onclick"/>
  136. <cp_checkboxList id="cp_checkboxList" taborder="20" scrollbars="none" style="background:transparent; " col="2" row="1" cellspacing="2" vcellspacing="100" itemWidth="100" itemHeight="20" overflow="visible" layoutselecttype="inner,width" anchor="default" position="absolute 95 51 195 71" positiontype="position"/>
  137. </Layout>
  138. </Layouts>
  139. </Div>
  140. </Layout>
  141. </Layouts>
  142. <Objects>
  143. <Dataset id="ds_grd_unpreplist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  144. <ColumnInfo>
  145. <Column id="centernm" type="STRING" size="256" sumtext="센터명"/>
  146. <Column id="supdepthngnm" type="STRING" size="256" sumtext="상위부서명"/>
  147. <Column id="underdepthngnm" type="STRING" size="256" sumtext="하위부서명"/>
  148. <Column id="cdnm" type="STRING" size="256" sumtext="의사구분"/>
  149. <Column id="usernm" type="STRING" size="256" sumtext="의사명"/>
  150. <Column id="t1" type="STRING" size="256" sumtext="의사별미비"/>
  151. <Column id="t2" type="STRING" size="256" sumtext="실제미비"/>
  152. <Column id="t3" type="STRING" size="256" sumtext="의사합계"/>
  153. </ColumnInfo>
  154. </Dataset>
  155. <Dataset id="ds_init_cmb_orddept" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  156. <ColumnInfo>
  157. <Column id="depthngnm" type="STRING"/>
  158. <Column id="deptcd" type="STRING"/>
  159. </ColumnInfo>
  160. </Dataset>
  161. <Dataset id="ds_main_cond_unprepdrbase" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  162. <ColumnInfo>
  163. <Column id="dschflag" type="STRING" size="256"/>
  164. <Column id="unprepstat" type="STRING" size="256"/>
  165. <Column id="unprepdrnm" type="STRING" size="256"/>
  166. <Column id="unprepdrid" type="STRING" size="256"/>
  167. <Column id="doctkindflag" type="STRING" size="256"/>
  168. <Column id="srchflag" type="STRING" size="256"/>
  169. <Column id="fromdd" type="STRING" size="256"/>
  170. <Column id="todd" type="STRING" size="256"/>
  171. <Column id="deptflag" type="STRING" size="256"/>
  172. <Column id="orddeptcd" type="STRING" size="256"/>
  173. <Column id="unprepstatlist" type="STRING" size="256"/>
  174. <Column id="unprepsign" type="STRING" size="256"/>
  175. <Column id="dayflag" type="STRING" size="256"/>
  176. <Column id="orderby" type="STRING" size="256"/>
  177. <Column id="scrnflag" type="STRING" size="256"/>
  178. <Column id="alldoctkindflag" type="STRING" size="256"/>
  179. <Column id="staff" type="STRING" size="256"/>
  180. <Column id="resident" type="STRING" size="256"/>
  181. <Column id="intern" type="STRING" size="256"/>
  182. <Column id="total" type="STRING" size="256"/>
  183. </ColumnInfo>
  184. <Rows>
  185. <Row>
  186. <Col id="dschflag">D</Col>
  187. <Col id="unprepstat">1 3</Col>
  188. <Col id="srchflag">dschdd</Col>
  189. <Col id="deptflag">unprep</Col>
  190. <Col id="orddeptcd">-</Col>
  191. <Col id="dayflag">N</Col>
  192. <Col id="alldoctkindflag">-</Col>
  193. <Col id="staff">Y</Col>
  194. </Row>
  195. </Rows>
  196. </Dataset>
  197. <Dataset id="ds_send_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  198. <Dataset id="ds_main_prntcond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  199. <ColumnInfo>
  200. <Column id="prnttitl" type="STRING" size="256"/>
  201. <Column id="grdtitl1" type="STRING" size="256"/>
  202. <Column id="grdtitl2" type="STRING" size="256"/>
  203. <Column id="condtitl" type="STRING" size="256"/>
  204. <Column id="fromdd" type="STRING" size="256"/>
  205. <Column id="todd" type="STRING" size="256"/>
  206. <Column id="tot1" type="STRING" size="256"/>
  207. <Column id="tot2" type="STRING" size="256"/>
  208. <Column id="tot3" type="STRING" size="256"/>
  209. <Column id="datacnt" type="STRING" size="256"/>
  210. <Column id="insttitl" type="STRING" size="256"/>
  211. <Column id="subtotal" type="STRING" size="256"/>
  212. </ColumnInfo>
  213. <Rows>
  214. <Row/>
  215. </Rows>
  216. </Dataset>
  217. <Dataset id="ds_cp_checkboxList" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  218. <ColumnInfo>
  219. <Column id="val" type="STRING" size="256"/>
  220. <Column id="lab" type="STRING" size="256"/>
  221. </ColumnInfo>
  222. <Rows>
  223. <Row>
  224. <Col id="val">-</Col>
  225. <Col id="lab">전체</Col>
  226. </Row>
  227. <Row>
  228. <Col id="val">0</Col>
  229. <Col id="lab">배치미비</Col>
  230. </Row>
  231. <Row>
  232. <Col id="val">1</Col>
  233. <Col id="lab">미비확인</Col>
  234. </Row>
  235. <Row>
  236. <Col id="val">2</Col>
  237. <Col id="lab">의사확인</Col>
  238. </Row>
  239. <Row>
  240. <Col id="val">3</Col>
  241. <Col id="lab">재미비</Col>
  242. </Row>
  243. <Row>
  244. <Col id="val">4</Col>
  245. <Col id="lab">완료</Col>
  246. </Row>
  247. </Rows>
  248. </Dataset>
  249. <Dataset id="ds_temp_userinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  250. </Objects>
  251. <Bind>
  252. <BindItem id="item0" compid="roundrect1.cmb_inoutddflag" propid="value" datasetid="ds_main_cond_unprepdrbase" columnid="srchflag"/>
  253. <BindItem id="item1" compid="roundrect1.ipt_unprepdrnm" propid="value" datasetid="ds_main_cond_unprepdrbase" columnid="unprepdrnm"/>
  254. <BindItem id="item2" compid="roundrect1.bool1" propid="value" datasetid="ds_main_cond_unprepdrbase" columnid="dayflag"/>
  255. <BindItem id="item3" compid="roundrect1.rdo_inoutflag" propid="value" datasetid="ds_main_cond_unprepdrbase" columnid="dschflag"/>
  256. <BindItem id="item4" compid="roundrect1.ipt_todd" propid="value" datasetid="ds_main_cond_unprepdrbase" columnid="todd"/>
  257. <BindItem id="item5" compid="roundrect1.rdo_deptflag" propid="value" datasetid="ds_main_cond_unprepdrbase" columnid="deptflag"/>
  258. <BindItem id="item6" compid="roundrect1.cmb_orddept" propid="value" datasetid="ds_main_cond_unprepdrbase" columnid="orddeptcd"/>
  259. <BindItem id="item7" compid="roundrect1.ipt_fromdd" propid="value" datasetid="ds_main_cond_unprepdrbase" columnid="fromdd"/>
  260. <BindItem id="item8" compid="roundrect1.bool5" propid="value" datasetid="ds_main_cond_unprepdrbase" columnid="total"/>
  261. <BindItem id="item9" compid="roundrect1.bool2" propid="value" datasetid="ds_main_cond_unprepdrbase" columnid="staff"/>
  262. <BindItem id="item10" compid="roundrect1.bool3" propid="value" datasetid="ds_main_cond_unprepdrbase" columnid="resident"/>
  263. <BindItem id="item11" compid="roundrect1.bool4" propid="value" datasetid="ds_main_cond_unprepdrbase" columnid="intern"/>
  264. </Bind>
  265. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  266. * System Name :
  267. * Job Name :
  268. * Creator :
  269. * Make Date : 2014-10-20
  270. * Description :
  271. *---------------------------------------------------------------------------------------
  272. * Modify Date Modifier Modify Description
  273. *---------------------------------------------------------------------------------------
  274. * 2014-10-20 Live Converter TF->XP
  275. *
  276. *---------------------------------------------------------------------------------------
  277. ****************************************************************************************/
  278. //=======================================================================================
  279. // Lib Include
  280. //---------------------------------------------------------------------------------------
  281. include "com_commonxp::comm_main.xjs"
  282. include "emr_prcpmngtxp::MMOCommon.xjs" // lf_mmbfGetDeptCodeComboList include
  283. //include "emr_prcpmngtxp::MMO001.xjs"
  284. //include "emr_commonxp::EMRCommon.xjs"
  285. //include "emr_unprepmngtxp::SMMRI00300.xjs"
  286. //=======================================================================================
  287. // Global Form Variable
  288. //---------------------------------------------------------------------------------------
  289. var arErrorCode = new HashArray();
  290. //=======================================================================================
  291. // Function
  292. //---------------------------------------------------------------------------------------
  293. /****************************************************************************************
  294. * Argument : 01.sKey : 코드아이디
  295. * : 02.sValue : 코드명
  296. * Description : 공통코드를 가져온다.
  297. ****************************************************************************************/
  298. /**
  299. * @desc 미비의사 조회
  300. */
  301. function fReqGetUnPrepDrSmplList(srchflag, srchdata){
  302. ds_send_reqdata.clearData();
  303. ds_send_reqdata.addColumn("srchflag", "string");
  304. ds_send_reqdata.addColumn("srchdata", "string");
  305. var nRow = ds_send_reqdata.addRow();
  306. ds_send_reqdata.setColumn(nRow, "srchflag", srchflag);
  307. ds_send_reqdata.setColumn(nRow, "srchdata", srchdata);
  308. var oParam = {};
  309. oParam.id = "TRMRI02901";
  310. oParam.service = "unprepmngtapp.ChrtUnprepMngt";
  311. oParam.method = "reqGetUnPrepDrSmplList";
  312. oParam.inds = "req=ds_send_reqdata";
  313. oParam.outds = "ds_temp_userinfo=usercombo";
  314. oParam.async = false;
  315. oParam.callback = "cf_TRMRI02901";
  316. tranf_submit(oParam);
  317. }
  318. function fSearch()
  319. {
  320. //조회조건 미비의사ID 설정
  321. var unprepdrnm = ds_main_cond_unprepdrbase.getColumn(0, "unprepdrnm");
  322. if(utlf_isNull(unprepdrnm)){
  323. ds_main_cond_unprepdrbase.setColumn(0, "unprepdrid", "");
  324. }
  325. //조회조건 미비의사명 설정
  326. var unprepstat = ds_main_cond_unprepdrbase.getColumn(0, "unprepstat");
  327. if(unprepstat != "-"){
  328. var unprepstatArray = unprepstat.split(' ');
  329. var cond = "";
  330. for(var i = 0; i < unprepstatArray.length; i++){
  331. cond += unprepstatArray[i] + '\',\'';
  332. }
  333. ds_main_cond_unprepdrbase.setColumn(0, "unprepstatlist", cond.substring(0, cond.length - 3));
  334. // sysf_trace("***** unprepstatlist : " + cond.substring(0, cond.length - 3));
  335. }
  336. //의사종류구분 설정
  337. var staff = ds_main_cond_unprepdrbase.getColumn(0, "staff");
  338. var intern = ds_main_cond_unprepdrbase.getColumn(0, "intern");
  339. var resident = ds_main_cond_unprepdrbase.getColumn(0, "resident");
  340. if(staff == "Y"){
  341. ds_main_cond_unprepdrbase.setColumn(0, "doctkindflag", "St");
  342. }else{
  343. if(resident == "Y" && intern == "Y"){
  344. ds_main_cond_unprepdrbase.setColumn(0, "doctkindflag", "R, I");
  345. }else if(resident == "Y"){
  346. ds_main_cond_unprepdrbase.setColumn(0, "doctkindflag", "R");
  347. }else if(intern == "Y"){
  348. ds_main_cond_unprepdrbase.setColumn(0, "doctkindflag", "I");
  349. }
  350. }
  351. dsf_copyDs(ds_send_reqdata, ds_main_cond_unprepdrbase, true);
  352. if( !utlf_isNull(ds_grd_unpreplist.getColumnInfo("doctkindflag")))
  353. ds_grd_unpreplist.updateColID("doctkindflag", "cdnm");
  354. if( !utlf_isNull(ds_grd_unpreplist.getColumnInfo("orddrnm")))
  355. ds_grd_unpreplist.updateColID("orddrnm", "usernm");
  356. var oParam = {};
  357. oParam.id = "TRMRI00301";
  358. oParam.service = "unprepmngtapp.ChrtUnprepMngt";
  359. oParam.method = "reqGetUnPrepDrStaTisTics";
  360. oParam.inds = "req=ds_send_reqdata";
  361. oParam.outds = "ds_grd_unpreplist=unprepdrstatistics";
  362. oParam.async = false;
  363. oParam.callback = "cf_TRMRI00301";
  364. tranf_submit(oParam);
  365. }
  366. //=======================================================================================
  367. // Transaction Callback
  368. //---------------------------------------------------------------------------------------
  369. /****************************************************************************************
  370. * Argument : 01.sSvcId : 서비스 ID
  371. * : 02.nErrorCode : 에러코드
  372. * : 03.sErrorMsg : 에러메시지
  373. * Description : tr_getCodeList의 콜백함수
  374. ****************************************************************************************/
  375. function cf_TRMRI00301(sSvcId, nErrorCode, sErrorMsg) {
  376. if(nErrorCode < 0) return;
  377. arErrorCode.push(sSvcId, nErrorCode);
  378. sysf_trace("***** cf_TRMRI00301 *****");
  379. //xp code add : col id change!!!execprcpuniqno
  380. if( !utlf_isNull(ds_grd_unpreplist.getColumnInfo("cdnm")))
  381. ds_grd_unpreplist.updateColID("cdnm", "doctkindflag");
  382. if( !utlf_isNull(ds_grd_unpreplist.getColumnInfo("usernm")))
  383. ds_grd_unpreplist.updateColID("usernm", "orddrnm");
  384. grd_unpreplist.setCellProperty("body", grd_unpreplist.getBindCellIndex("body", "supdepthngnm"), "suppress", "1");
  385. grd_unpreplist.setCellProperty("body", grd_unpreplist.getBindCellIndex("body", "underdepthngnm"), "suppress", "2");
  386. if(ds_main_cond_unprepdrbase.getColumn(0, "doctkindflag") == "St"){
  387. grd_unpreplist.setCellProperty("body", grd_unpreplist.getBindCellIndex("body", "t2"), "suppress", "0");
  388. }else{
  389. grd_unpreplist.setCellProperty("body", grd_unpreplist.getBindCellIndex("body", "t2"), "suppress", "3");
  390. }
  391. //sysf_trace(ds_grd_unpreplist.saveXML());
  392. }
  393. function cf_TRMRI02901(sSvcId, nErrorCode, sErrorMsg) {
  394. if(nErrorCode < 0) return;
  395. arErrorCode.push(sSvcId, nErrorCode);
  396. sysf_trace("***** cf_TRMRI02901 *****");
  397. }
  398. //=======================================================================================
  399. // Event
  400. //---------------------------------------------------------------------------------------
  401. /****************************************************************************************
  402. * Components :
  403. * Components ID : button5
  404. * Event : onlbuttonup
  405. * Argument : 01.obj : Object Event has occurred
  406. * : 02.e : Event Object
  407. * Description :
  408. ****************************************************************************************/
  409. function SMMRI00300_oninit(obj:Form, e:InitEventInfo)
  410. {
  411. frmf_initForm(obj);
  412. }
  413. function SMMRI00300_onload(obj:Form, e:LoadEventInfo)
  414. {
  415. /*
  416. * Argument : String sProp - user properties(setInitProperty)
  417. * Object objDs - dataset object(setBindDataset)
  418. * String sColVal - value column(setBindDataset)
  419. * String sColTxt - text column(setBindDataset)
  420. * String sEvent - event function(setCallEvent)
  421. */
  422. var sProp="col=6,row=1,cellspacing=0,vcellspacing=2,itemWidth=-1,itemHeight=20,overflow='visible'";
  423. roundrect1.cp_checkboxList.setInitComp(sProp, ds_cp_checkboxList,"val","lab","fn_cmpEvent");
  424. var aData = new Array();
  425. aData[0] = "1";
  426. aData[1] = "3";
  427. roundrect1.cp_checkboxList.setData(aData, null, false);
  428. lf_mmbfGetDeptCodeComboList(ds_init_cmb_orddept, "A", utlf_getCurrentDate());
  429. frmf_addComboItem( "roundrect1.cmb_orddept", "전체" , "-" , "above" );
  430. ds_grd_unpreplist.clearData();
  431. ds_main_cond_unprepdrbase.setColumn(0, "fromdd", utlf_getCurrentDate());
  432. ds_main_cond_unprepdrbase.setColumn(0, "todd" , utlf_getCurrentDate());
  433. ds_main_cond_unprepdrbase.setColumn(0, "orddeptcd" , "-");
  434. ds_main_prntcond.setColumn(0, "insttitl", sysf_getUserInfo("dutplceinstnm") + " " + sysf_getUserInfo("dutplcenm"));
  435. }
  436. function roundrect1_btn_req_onclick(obj:Button, e:ClickEventInfo)
  437. {
  438. fSearch();
  439. }
  440. function btn_ex_onclick(obj:Button, e:ClickEventInfo)
  441. {
  442. // var fileName = window.fileDialog("save", ",", false, "excel", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  443. // if (fileName != ""){
  444. // grd_unpreplist.saveExcel(fileName, "colhiddenextend:false;col_0:label;col_1:label;col_2:label;col_3:label;");
  445. // }
  446. grdf_exportExcel(grd_unpreplist, "excel", "SheetName", false, null, null, false);
  447. }
  448. function fn_cmpEvent(aa)
  449. {
  450. if(eval(aa).value == "-"){ //전체컬럼의 codecolumn값
  451. //roundrect1.cp_checkboxList.setCheckAll(true);
  452. //var fRow = ds_cp_checkboxList.findRow("value","0");
  453. var aData = new Array();
  454. aData[0] = "-";
  455. var aFalseData = new Array();
  456. aFalseData[0] = "0";
  457. aFalseData[1] = "1";
  458. aFalseData[2] = "2";
  459. aFalseData[3] = "3";
  460. aFalseData[4] = "4";
  461. roundrect1.cp_checkboxList.setData(aData, aFalseData, false);
  462. roundrect1.cp_checkboxList.chk_5.enable = false;
  463. roundrect1.cp_checkboxList.chk_4.enable = false;
  464. roundrect1.cp_checkboxList.chk_3.enable = false;
  465. roundrect1.cp_checkboxList.chk_2.enable = false;
  466. roundrect1.cp_checkboxList.chk_1.enable = false;
  467. }else{
  468. roundrect1.cp_checkboxList.chk_1.enable = true;
  469. roundrect1.cp_checkboxList.chk_2.enable = true;
  470. roundrect1.cp_checkboxList.chk_3.enable = true;
  471. roundrect1.cp_checkboxList.chk_4.enable = true;
  472. roundrect1.cp_checkboxList.chk_5.enable = true;
  473. }
  474. var rtn = "";
  475. rtn = roundrect1.cp_checkboxList.getData();
  476. var tmp = "";
  477. for(var i=0; i<rtn.length; i++){
  478. if( i == 0 ) tmp = rtn[i];
  479. else tmp = tmp + " " +rtn[i];
  480. }
  481. ds_main_cond_unprepdrbase.setColumn(0, "unprepstat", tmp);
  482. //sysf_trace(ds_main_cond_unprepdrbase.getColumn(0, "unprepstat"));
  483. }
  484. function roundrect1_ipt_unprepdrnm_onkeydown(obj:Edit, e:KeyEventInfo)
  485. {
  486. if(e.keycode == 13){
  487. ds_main_cond_unprepdrbase.setColumn(0, "unprepdrnm", roundrect1.ipt_unprepdrnm.text);
  488. var unprepdrnm = roundrect1.ipt_unprepdrnm.text;
  489. if(utlf_isNumber(unprepdrnm.charAt(0))){
  490. fReqGetUnPrepDrSmplList("id", unprepdrnm);
  491. }else{
  492. fReqGetUnPrepDrSmplList("nm", unprepdrnm);
  493. }
  494. var nodelistCnt = ds_temp_userinfo.rowcount;
  495. if(nodelistCnt == 0){
  496. sysf_messageBox("의사 정보가", "I004");
  497. return;
  498. }else if(nodelistCnt == 1){
  499. ds_main_cond_unprepdrbase.setColumn(0, "unprepdrid", ds_temp_userinfo.getColumn(0, "userid"));
  500. ds_main_cond_unprepdrbase.setColumn(0, "unprepdrnm", ds_temp_userinfo.getColumn(0, "usernm"));
  501. }else if(nodelistCnt > 1){
  502. frmf_setParameter("SPMRI02900_stnddd" , utlf_getCurrentDate());
  503. frmf_setParameter("SPMRI02900_orddrnm", roundrect1.ipt_unprepdrnm.text);
  504. frmf_modal("SPMRI02900", "SPMRI02900", null, null, null, null, null, null, null, null, null, null, "M");
  505. if(frmf_getParameter("SPMRI02900_useyn")=="Y"){
  506. var doctinfo = frmf_getParameter("SPMRI02900_rtnparam");
  507. doctinfo = doctinfo.split("^");
  508. ds_main_cond_unprepdrbase.setColumn(0, "unprepdrid", doctinfo[3]);
  509. ds_main_cond_unprepdrbase.setColumn(0, "unprepdrnm", doctinfo[4]);
  510. }
  511. }else{
  512. ds_main_cond_unprepdrbase.setColumn(0, "unprepdrid", ds_main_unprepdrinfo.getColumn(0, "orddrid"));
  513. ds_main_cond_unprepdrbase.setColumn(0, "unprepdrnm", ds_main_unprepdrinfo.getColumn(0, "orddrnm"));
  514. }
  515. }
  516. }
  517. function roundrect1_bool1_onchanged(obj:CheckBox, e:CheckBoxChangeEventInfo)
  518. {
  519. if(e.postvalue == "Y"){
  520. roundrect1.cmb_inoutddflag.enable = true;
  521. roundrect1.ipt_fromdd.enable = true;
  522. roundrect1.ipt_todd.enable = true;
  523. }else{
  524. roundrect1.cmb_inoutddflag.enable = false;
  525. roundrect1.ipt_fromdd.enable = false;
  526. roundrect1.ipt_todd.enable = false;
  527. }
  528. }
  529. function roundrect1_rdo_inoutflag_canitemchange(obj:Radio, e:ItemChangeEventInfo)
  530. {
  531. //재원구분 퇴원
  532. if(e.postvalue == "D"){
  533. ds_main_cond_unprepdrbase.setColumn(0, "srchflag", "dsch");
  534. }else if(e.postvalue == "I"){
  535. ds_main_cond_unprepdrbase.setColumn(0, "srchflag", "indd");
  536. }else if(e.postvalue == "O"){
  537. ds_main_cond_unprepdrbase.setColumn(0, "srchflag", "orddd");
  538. }else if(e.postvalue == "E"){
  539. ds_main_cond_unprepdrbase.setColumn(0, "srchflag", "orddd");
  540. }
  541. }
  542. function button1_onclick(obj:Button, e:ClickEventInfo)
  543. {
  544. var rexid = "";
  545. //출력물 메인타이틀 설정
  546. if(ds_main_cond_unprepdrbase.getColumn(0, "doctkindflag") == "St"){
  547. ds_main_prntcond.setColumn(0, "prnttitl", "◈과별 의사별 미정리 현황(Staff)◈");
  548. rexid = "RPMRI00300";
  549. }else{
  550. if(ds_main_cond_unprepdrbase.getColumn(0, "resident") == "Y" && ds_main_cond_unprepdrbase.getColumn(0, "intern") == "Y"){
  551. ds_main_prntcond.setColumn(0, "prnttitl", "◈과별 의사별 미정리 현황(Resident,Intern)◈");
  552. }else{
  553. if(ds_main_cond_unprepdrbase.getColumn(0, "resident") == "Y"){
  554. ds_main_prntcond.setColumn(0, "prnttitl", "◈과별 의사별 미정리 현황(Resident)◈");
  555. }
  556. if(ds_main_cond_unprepdrbase.getColumn(0, "intern") == "Y"){
  557. ds_main_prntcond.setColumn(0, "prnttitl", "◈과별 의사별 미정리 현황(Intern)◈");
  558. }
  559. }
  560. rexid = "RPMRI00500";
  561. //rexid = "RPMRI00700";
  562. }
  563. //날짜조회가 Y인 경우
  564. if(ds_main_cond_unprepdrbase.getColumn(0, "dayflag")=="Y"){
  565. ds_main_prntcond.setColumn(0, "condtitl", roundrect1.cmb_inoutddflag.text);
  566. ds_main_prntcond.setColumn(0, "fromdd", ds_main_cond_unprepdrbase.getColumn(0, "fromdd"));
  567. ds_main_prntcond.setColumn(0, "todd", ds_main_cond_unprepdrbase.getColumn(0, "todd"));
  568. }else{
  569. ds_main_prntcond.setColumn(0, "condtitl", "전체");
  570. }
  571. ds_main_prntcond.setColumn(0, "grdtitl1", grd_unpreplist.getCellProperty("head", grd_unpreplist.getBindCellIndex("body", "t1"), "text"));
  572. ds_main_prntcond.setColumn(0, "grdtitl2", grd_unpreplist.getCellProperty("head", grd_unpreplist.getBindCellIndex("body", "t2"), "text"));
  573. ds_main_prntcond.setColumn(0, "tot1", ds_grd_unpreplist.lookup("underdepthngnm", "합계", "t1"));
  574. ds_main_prntcond.setColumn(0, "tot2", ds_grd_unpreplist.lookup("underdepthngnm", "합계", "t2"));
  575. ds_main_prntcond.setColumn(0, "tot3", ds_grd_unpreplist.lookup("underdepthngnm", "합계", "t3"));
  576. var SubTotalListCnt = ds_grd_unpreplist.getCaseCount("underdepthngnm=='합계'");
  577. if(SubTotalListCnt == 0)
  578. {
  579. ds_main_prntcond.setColumn(0, "subtotal", "0"); // 합계 숨기기
  580. }
  581. else
  582. {
  583. ds_main_prntcond.setColumn(0, "subtotal", "1"); // 합계 보이기
  584. }
  585. // 2009-08-20 이경희
  586. // Resident 미비 조회시 출력물에 수련의 전체 총계 의사명수 count 누락 수정
  587. if(roundrect1.bool3.value == "Y" || roundrect1.bool4.value == "Y")
  588. {
  589. //var SubSumListCnt = ds_grd_unpreplist.getCaseCount("underdepthngnm=='합계'");
  590. var cnt = 0;
  591. var sum = 0;
  592. var finalsum = 0;
  593. dsf_createDs("ds_temp_filter");
  594. dsf_copy(ds_temp_filter, ds_grd_unpreplist);
  595. ds_temp_filter.filter("underdepthngnm=='합계'");
  596. var SubSumListCnt = ds_temp_filter.rowcount;
  597. if(SubSumListCnt > 0)
  598. {
  599. for( i = 0; i < SubSumListCnt; i++) {
  600. cnt = ds_temp_filter.getColumn(i, "orddrnm");
  601. // "명" 글자 제거
  602. cnt = cnt.setReplaceWord("명", "");
  603. // SUM
  604. sum += parseInt(cnt);
  605. }
  606. }
  607. ds_temp_filter.filter("");
  608. ds_main_prntcond.setColumn(0, "tot3", sum);
  609. var FinalSumListCnt = ds_temp_filter.getCaseCount("underdepthngnm=='총계'");;
  610. if(FinalSumListCnt > 0)
  611. {
  612. finalsum = ds_temp_filter.lookup("underdepthngnm", "총계", "orddrnm");
  613. ds_main_prntcond.addColumn("finalsum", "string");
  614. ds_main_prntcond.setColumn(0, "finalsum", finalsum);
  615. }
  616. }
  617. ds_main_prntcond.setColumn(0, "datacnt", ds_grd_unpreplist.rowcount - 1);
  618. //ds_main_prntcond.setColumn(0, "insttitl", sysf_getUserInfo("dutplceinstnm") + " " + sysf_getUserInfo("dutplcenm"));
  619. //sysf_trace(ds_main_prntcond.saveXML());
  620. var objDOM = rptf_createDOM(); // DOM 객체 설정
  621. rptf_setNodeListToDOM(objDOM, "/root/main/unprepdrstatistics/unprepdrstatistics", ds_grd_unpreplist); // 데이터셋 1
  622. rptf_setNodeListToDOM(objDOM, "/root/main/prntcond", ds_main_prntcond); // 데이터셋 2
  623. //sysf_trace(objDOM.documentElement.source); // XML 내용출력
  624. var objParam = new Object();
  625. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
  626. var option = "open=1;save=1;directprint=0;print=1;zoom=0;callback=cbf_rpt_onFinishPrintXML";
  627. rptf_exeReportPreview30([rexid],[objParam], option);
  628. //exeReportPreview(rexid, "XMLSTR"); //미리보기만 가능
  629. }
  630. function roundrect1_bool2_onchanged(obj:CheckBox, e:CheckBoxChangeEventInfo)
  631. {
  632. if( e.postvalue == "Y" ){
  633. roundrect1.bool3.value = "N";
  634. roundrect1.bool4.value = "N";
  635. grd_unpreplist.setCellProperty("Head", grd_unpreplist.getBindCellIndex("body", "t2"), "text", "실제미정리환자수");
  636. }
  637. }
  638. function roundrect1_bool3_onchanged(obj:CheckBox, e:CheckBoxChangeEventInfo)
  639. {
  640. if( e.postvalue == "Y" ){
  641. roundrect1.bool2.value = "N";
  642. grd_unpreplist.setCellProperty("Head", grd_unpreplist.getBindCellIndex("body", "t2"), "text", "미정리환자수");
  643. }
  644. }
  645. function roundrect1_bool4_onchanged(obj:CheckBox, e:CheckBoxChangeEventInfo)
  646. {
  647. if( e.postvalue == "Y" ){
  648. roundrect1.bool2.value = "N";
  649. grd_unpreplist.setCellProperty("Head", grd_unpreplist.getBindCellIndex("body", "t2"), "text", "미정리환자수");
  650. }
  651. }
  652. ]]></Script>
  653. </Form>
  654. </FDL>