SMRPD06400_전공의(인턴)근무평가표.xfdl 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMRPD06400" position="absolute 0 0 1211 784" titletext="전공의(인턴) 근무평가표" oninit="SMRPD06400_oninit" onload="SMRPD06400_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div id="group2" taborder="5" style="border:1 solid dodgerblue ;" position="absolute 659 113 1194 776" anchor="top right bottom">
  8. <Layouts>
  9. <Layout>
  10. <Div id="table" taborder="19" position="absolute 28 344 467 429" style="border:1 solid black ;">
  11. <Layouts>
  12. <Layout>
  13. <Static id="table_static1" text="총 점" position="absolute 4 -1 87 27" style="align:center middle;font:Dotum,9,bold;" anchor="default"/>
  14. <Static id="table_static2" text="평 균" position="absolute 94 -1 177 27" style="align:center middle;font:Dotum,9,bold;" anchor="default"/>
  15. <Static id="table_static3" text="석 차" position="absolute 184 -1 267 27" style="align:center middle;font:Dotum,9,bold;" anchor="default"/>
  16. <Static id="table_static4" text="등 급" position="absolute 276 1 351 29" style="align:center middle;font:Dotum,9,bold;" anchor="default"/>
  17. <Static id="table_static5" text="비 고" position="absolute 362 -1 437 27" style="align:center middle;font:Dotum,9,bold;" anchor="default"/>
  18. </Layout>
  19. </Layouts>
  20. </Div>
  21. <Div id="table2" taborder="20" position="absolute 435 520 501 589" style="border:1 solid black ;">
  22. <Layouts>
  23. <Layout>
  24. <Static id="table_static00" text="취 급 자" position="absolute 3 4 61 18" style="align:center middle;"/>
  25. <Shape id="line00" position="absolute 2 20 63 25" style="strokepen:1 solid black;background:transparent;"/>
  26. </Layout>
  27. </Layouts>
  28. </Div>
  29. <Shape id="line07" linetype="ascent" position="absolute 210 371 300 426" style="strokepen:1 solid black;background:transparent;"/>
  30. <Shape id="line08" linetype="ascent" position="absolute 118 371 208 427" style="strokepen:1 solid black;background:transparent;"/>
  31. <MaskEdit id="ipt_issueno" taborder="2" mask="########" class="input_default" enable="false" position="absolute 49 10 104 29" maskchar=" " type="string" trimtype="both" style=":disabled {align:left middle;}" displaynulltext=" " autoselect="true"/>
  32. <Static id="caption1" text="No." position="absolute 24 10 49 30"/>
  33. <Static id="cp_title" text="전 공 의 ( 인 턴 ) 근 무 평 가 표" position="absolute 64 50 439 80" style="align:center middle;font:arial,14,bold underline;"/>
  34. <Static id="cp_gubun" text="치 과 여 부 :" position="absolute 24 95 124 115"/>
  35. <Radio id="rdo_gubun" taborder="3" columncount="2" rowcount="0" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 134 94 224 114" onitemchanged="group2_rdo_gubun_onitemchanged">
  36. <Dataset id="innerdataset">
  37. <ColumnInfo>
  38. <Column id="codecolumn"/>
  39. <Column id="datacolumn"/>
  40. </ColumnInfo>
  41. <Rows>
  42. <Row>
  43. <Col id="codecolumn">1</Col>
  44. <Col id="datacolumn">치과</Col>
  45. </Row>
  46. <Row>
  47. <Col id="codecolumn">0</Col>
  48. <Col id="datacolumn">의과</Col>
  49. </Row>
  50. </Rows>
  51. </Dataset>
  52. </Radio>
  53. <Static id="caption5" text="성 명 :" position="absolute 24 120 124 140"/>
  54. <Edit id="ipt_emplno" taborder="4" class="input_default" position="absolute 134 119 190 138" autoselect="true" autoskip="true" onkeyup="group2_ipt_emplno_onkeyup"/>
  55. <Button id="btn_emplno" taborder="5" class="icon_search" position="absolute 192 120 208 136" onclick="group2_btn_emplno_onclick"/>
  56. <Edit id="ipt_emplnm" taborder="6" class="input_default" position="absolute 210 119 329 138" autoselect="true" autoskip="true" onkeyup="group2_ipt_emplnm_onkeyup"/>
  57. <Combo id="cmb_gndr" taborder="7" codecolumn="codecolumn" datacolumn="datacolumn" enable="false" position="absolute 244 145 294 164">
  58. <Dataset id="innerdataset">
  59. <ColumnInfo>
  60. <Column id="codecolumn"/>
  61. <Column id="datacolumn"/>
  62. </ColumnInfo>
  63. <Rows>
  64. <Row>
  65. <Col id="codecolumn">M</Col>
  66. <Col id="datacolumn">남</Col>
  67. </Row>
  68. <Row>
  69. <Col id="codecolumn">F</Col>
  70. <Col id="datacolumn">여</Col>
  71. </Row>
  72. </Rows>
  73. </Dataset>
  74. </Combo>
  75. <MaskEdit id="ipt_brthdd" taborder="8" mask="####-##-##" class="input_default" enable="false" position="absolute 134 145 234 164" maskchar=" " type="string" trimtype="both" style=":disabled {align:center middle;}" displaynulltext=" " autoselect="true"/>
  76. <Static id="caption9" text="생 년 월 일 :" position="absolute 24 145 124 165"/>
  77. <Static id="caption10" text="전공의등록번호 :" position="absolute 24 170 124 190"/>
  78. <MaskEdit id="ipt_licnsmedino" taborder="9" mask="##-#####" class="input_default" enable="false" position="absolute 134 170 234 189" maskchar=" " type="string" trimtype="both" style=":disabled {align:center middle;}" displaynulltext=" " autoselect="true"/>
  79. <Static id="cp_stmt" text="상기인에 대하여 전공의(인턴) 근무성적을 아래와 같이 평가합니다." position="absolute 19 205 469 225" style="align:center middle;"/>
  80. <Static id="caption3" text="- 아 래 -" position="absolute 209 235 309 255"/>
  81. <Static id="caption7" text="1. 근무성적 평가기간 :" position="absolute 24 270 152 290"/>
  82. <Static id="caption11" text="2. 전공의수료일 :" position="absolute 24 295 152 315"/>
  83. <Static id="caption14" text="3. 평 가 내 용" position="absolute 24 320 152 340"/>
  84. <MaskEdit id="ipt_fnshdd" taborder="10" mask="####-##-##" class="input_default" enable="false" position="absolute 164 295 264 314" autoselect="true" trimtype="both" type="string" displaynulltext=" " maskchar=" "/>
  85. <MaskEdit id="ipt_evalfromdd" taborder="1" mask="####-##-##" class="input_default" enable="false" position="absolute 164 270 264 289" maskchar=" " type="string" trimtype="both" style=":disabled {align:center middle;}" displaynulltext=" " autoselect="true"/>
  86. <Static id="caption8" text="-" position="absolute 269 270 279 290"/>
  87. <MaskEdit id="ipt_evaltodd" taborder="0" mask="####-##-##" class="input_default" enable="false" position="absolute 284 270 384 289" maskchar=" " type="string" trimtype="both" style=":disabled {align:center middle;}" displaynulltext=" " autoselect="true"/>
  88. <Radio id="rdo_fnshscheflag" taborder="11" columncount="2" rowcount="0" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 284 295 374 315">
  89. <Dataset id="innerdataset">
  90. <ColumnInfo>
  91. <Column id="codecolumn"/>
  92. <Column id="datacolumn"/>
  93. </ColumnInfo>
  94. <Rows>
  95. <Row>
  96. <Col id="codecolumn">F</Col>
  97. <Col id="datacolumn">수료</Col>
  98. </Row>
  99. <Row>
  100. <Col id="codecolumn">S</Col>
  101. <Col id="datacolumn">예정</Col>
  102. </Row>
  103. </Rows>
  104. </Dataset>
  105. </Radio>
  106. <Static id="caption13" text=")" position="absolute 374 295 384 315"/>
  107. <Static id="caption12" text="(" position="absolute 274 295 284 315"/>
  108. <Edit id="ipt_average" taborder="12" class="input_default" position="absolute 122 376 167 395" style="align:center middle;" autoselect="true"/>
  109. <Edit id="ipt_rank" taborder="13" class="input_default" position="absolute 211 377 256 396" style="align:center middle;" autoselect="true"/>
  110. <Edit id="ipt_totcnt" taborder="14" class="input_default" position="absolute 254 403 299 422" style="align:center middle;" autoselect="true"/>
  111. <Edit id="ipt_grde" taborder="15" class="input_default" position="absolute 313 391 368 410" style="align:center middle;" autoselect="true"/>
  112. <MaskEdit id="ipt_totscor" taborder="16" mask="9,99999999999999" class="input_default" position="absolute 46 387 101 406" autoselect="true" autoskip="true" style="align:center middle;"/>
  113. <Static id="caption15" text="4. 기타 특기사항" position="absolute 24 440 129 460"/>
  114. <TextArea id="ta_cmt" taborder="17" position="absolute 39 460 464 515" wordwrap="word" acceptstab="true" autoselect="true"/>
  115. <Static id="cp_instnm" text="경 북 대 학 교 병 원 장" position="absolute 64 614 454 654" style="align:center middle;font:arial,14,bold;"/>
  116. <MaskEdit id="ipt_issuedd" taborder="18" mask="####-##-##" class="input_default" enable="false" position="absolute 329 594 429 613" maskchar=" " type="string" trimtype="both" style=":disabled {align:center middle;}" displaynulltext=" " autoselect="true"/>
  117. <Static id="caption19" text="100" position="absolute 175 406 197 421" style="font:Dotum,9,bold;"/>
  118. <Shape id="line06" linetype="vertical" position="absolute 380 344 390 429" style="strokepen:1 solid black;background:transparent;"/>
  119. <Shape id="line05" linetype="vertical" position="absolute 296 345 306 430" style="strokepen:1 solid black;background:transparent;"/>
  120. <Shape id="line02" linetype="vertical" position="absolute 208 344 210 429" style="strokepen:1 solid black;background:transparent;"/>
  121. <Shape id="line01" linetype="vertical" position="absolute 115 344 125 429" style="strokepen:1 solid black;background:transparent;"/>
  122. <Shape id="line00" position="absolute 28 369 466 374" style="strokepen:1 solid black;background:transparent;"/>
  123. </Layout>
  124. </Layouts>
  125. </Div>
  126. <Static id="caption6" text="전공의(인턴) 근무평가표" class="tit_1" position="absolute 0 0 184 25"/>
  127. <Shape id="line4" class="line_6" position="absolute 0 44 1195 50" anchor="left top right"/>
  128. <Button id="btn_new" taborder="1" text="신규" class="btn4" position="absolute 964 23 1020 45" anchor="top right" onclick="btn_new_onclick"/>
  129. <Button id="btn_del" taborder="2" text="삭제" class="btn4" position="absolute 1023 23 1079 45" anchor="top right" onclick="btn_del_onclick"/>
  130. <Button id="btn_save" taborder="3" text="저장" class="btn4" position="absolute 1081 23 1137 45" anchor="top right" onclick="btn_save_onclick"/>
  131. <Button id="btn_print" taborder="4" text="출력" class="btn6" position="absolute 1139 23 1195 45" anchor="top right" onclick="btn_print_onclick"/>
  132. <Div id="grp_sea" anchor="left top right" taborder="6" class="div_SA2" position="absolute 0 48 1195 88">
  133. <Layouts>
  134. <Layout>
  135. <Shape id="line5" linetype="vertical" class="line_4" position="absolute 551 8 557 30"/>
  136. <Button id="btn_search" taborder="4" text="조회" class="btn1" position="absolute 570 9 626 31" onclick="grp_sea_btn_search_onclick"/>
  137. <Calendar id="ipt_fromdd" taborder="5" class="input_search" position="absolute 120 10 220 29" mask="yyyy-mm-dd" autoselect="true" autoskip="true"/>
  138. <Static id="caption17" text="발급일자 :" class="search_name" position="absolute 40 11 126 28"/>
  139. <Static id="caption18" text="~" position="absolute 222 12 237 27"/>
  140. <Calendar id="ipt_todd" taborder="6" class="input_search" position="absolute 236 10 336 29" mask="yyyy-mm-dd" autoselect="true" autoskip="true"/>
  141. <Static id="caption2" text="성명 :" class="search_name" position="absolute 365 11 425 28"/>
  142. <Edit id="ipt_search_emplnm" taborder="7" class="input_search" position="absolute 421 10 521 29" autoselect="true" autoskip="true"/>
  143. </Layout>
  144. </Layouts>
  145. </Div>
  146. <Static id="caption21" text="발급이력" class="tit_2" position="absolute 0 97 139 118"/>
  147. <Shape id="line3" class="line_10" position="absolute 0 113 655 119" anchor="left top right"/>
  148. <Grid id="grd_matrlist" taborder="7" binddataset="ds_main_matrlist" autoenter="select" useinputpanel="false" cellsizingtype="col" autofittype="col" position="absolute 0 118 655 753" anchor="all" oncellclick="grd_matrlist_oncellclick">
  149. <Formats>
  150. <Format id="default">
  151. <Columns>
  152. <Column size="20"/>
  153. <Column size="48"/>
  154. <Column size="52"/>
  155. <Column size="71"/>
  156. <Column size="149"/>
  157. <Column size="62"/>
  158. <Column size="79"/>
  159. <Column size="74"/>
  160. <Column size="84"/>
  161. </Columns>
  162. <Rows>
  163. <Row size="24" band="head"/>
  164. <Row size="24"/>
  165. </Rows>
  166. <Band id="head">
  167. <Cell/>
  168. <Cell col="1" text="No."/>
  169. <Cell col="2" text="사번"/>
  170. <Cell col="3" text="성명"/>
  171. <Cell col="4" text="평가기간"/>
  172. <Cell col="5" text="치과여부"/>
  173. <Cell col="6" text="발급일자"/>
  174. <Cell col="7" text="출력자"/>
  175. <Cell col="8" text="출력일자"/>
  176. </Band>
  177. <Band id="body">
  178. <Cell celltype="head" expr="expr:currow == ds_main_matrlist.rowposition ? '▶' : '' "/>
  179. <Cell col="1" displaytype="text" style="align:center;" text="bind:issueno"/>
  180. <Cell col="2" text="bind:emplno"/>
  181. <Cell col="3" text="bind:emplnm"/>
  182. <Cell col="4" text="bind:evalperiod"/>
  183. <Cell col="5" displaytype="combo" edittype="combo" style="align:center middle;" text="bind:gubun" combodataset="ds_cmb_gubun" combocodecol="value" combodatacol="label" enable="false"/>
  184. <Cell col="6" displaytype="date" text="bind:issuedd" calendardisplaynulltype="nulltext"/>
  185. <Cell col="7" text="bind:prntnm"/>
  186. <Cell col="8" displaytype="date" text="bind:prntdd" calendardisplaynulltype="nulltext"/>
  187. </Band>
  188. </Format>
  189. </Formats>
  190. </Grid>
  191. <Static id="caption20" text="※ 출력이후에는 발급내역을 수정, 삭제, 재출력이 불가능합니다." position="absolute 0 758 462 778" anchor="left bottom" style="color:#ff0000ff;"/>
  192. <Button id="btn_copy" taborder="8" text="신규생성 (내역복사)" class="btn2" position="absolute 525 94 655 113" anchor="top right" onclick="btn_copy_onclick"/>
  193. </Layout>
  194. </Layouts>
  195. <Objects>
  196. <Dataset id="ds_main_condition" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  197. <ColumnInfo>
  198. <Column id="fromdd" type="STRING" size="256"/>
  199. <Column id="todd" type="STRING" size="256"/>
  200. <Column id="emplnm" type="STRING" size="256"/>
  201. <Column id="issuedd" type="STRING" size="256"/>
  202. </ColumnInfo>
  203. <Rows>
  204. <Row>
  205. <Col id="fromdd"/>
  206. <Col id="todd"/>
  207. <Col id="emplnm"/>
  208. </Row>
  209. </Rows>
  210. </Dataset>
  211. <Dataset id="ds_main_matrlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  212. <ColumnInfo>
  213. <Column id="issueno" type="STRING" size="256" sumtext="발급번호"/>
  214. <Column id="emplno" type="STRING" size="256" sumtext="사번"/>
  215. <Column id="emplnm" type="STRING" size="256" sumtext="성명"/>
  216. <Column id="issuedd" type="STRING" size="256" sumtext="발급일자"/>
  217. <Column id="evalperiod" type="STRING" size="256" sumtext="평가기간"/>
  218. <Column id="prntnm" type="STRING" size="256" sumtext="출력자"/>
  219. <Column id="prntdd" type="STRING" size="256" sumtext="출력일자"/>
  220. <Column id="gndr" type="STRING" size="256" sumtext="성별"/>
  221. <Column id="gubun" type="STRING" size="256" sumtext="치과구분"/>
  222. </ColumnInfo>
  223. </Dataset>
  224. <Dataset id="ds_cmb_gubun" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  225. <ColumnInfo>
  226. <Column id="label" type="STRING" size="256"/>
  227. <Column id="value" type="STRING" size="256"/>
  228. </ColumnInfo>
  229. <Rows>
  230. <Row>
  231. <Col id="label">Y</Col>
  232. <Col id="value">1</Col>
  233. </Row>
  234. <Row>
  235. <Col id="label">N</Col>
  236. <Col id="value">0</Col>
  237. </Row>
  238. </Rows>
  239. </Dataset>
  240. <Dataset id="ds_main_matrinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_matrinfo_oncolumnchanged">
  241. <ColumnInfo>
  242. <Column id="status" type="STRING" size="256" sumtext="상태"/>
  243. <Column id="issueno" type="STRING" size="256" sumtext="발급번호"/>
  244. <Column id="emplno" type="STRING" size="256" sumtext="사번"/>
  245. <Column id="emplnm" type="STRING" size="256" sumtext="성명"/>
  246. <Column id="brthdd" type="STRING" size="256" sumtext="생년월일"/>
  247. <Column id="licnsmedino" type="STRING" size="256" sumtext="전공의등록번호"/>
  248. <Column id="evalfromdd" type="STRING" size="256" sumtext="평가시작일"/>
  249. <Column id="evaltodd" type="STRING" size="256" sumtext="평가종료일"/>
  250. <Column id="fnshdd" type="STRING" size="256" sumtext="전공의수료일"/>
  251. <Column id="fnshscheflag" type="STRING" size="256" sumtext="수료에정구분"/>
  252. <Column id="totscor" type="STRING" size="256" sumtext="총점"/>
  253. <Column id="average" type="STRING" size="256" sumtext="평균"/>
  254. <Column id="rank" type="STRING" size="256" sumtext="석차"/>
  255. <Column id="totcnt" type="STRING" size="256" sumtext="총인원"/>
  256. <Column id="grde" type="STRING" size="256" sumtext="등급"/>
  257. <Column id="cmt" type="STRING" size="256" sumtext="특기사항"/>
  258. <Column id="issuedd" type="STRING" size="256" sumtext="평가종료일"/>
  259. <Column id="gndr" type="STRING" size="256" sumtext="성별"/>
  260. <Column id="gubun" type="STRING" size="256" sumtext="치과구분"/>
  261. </ColumnInfo>
  262. </Dataset>
  263. <Dataset id="ds_init_prvg" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  264. <ColumnInfo>
  265. <Column id="cnt" type="STRING" size="256" sumtext="권한유무(있으면 1, 없으면 0)"/>
  266. </ColumnInfo>
  267. </Dataset>
  268. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  269. <ColumnInfo>
  270. <Column id="issueno" type="STRING" size="256" sumtext="발급번호"/>
  271. <Column id="emplno" type="STRING" size="256" sumtext="사번"/>
  272. <Column id="emplnm" type="STRING" size="256" sumtext="성명"/>
  273. <Column id="issuedd" type="STRING" size="256" sumtext="발급일자"/>
  274. <Column id="evalperiod" type="STRING" size="256" sumtext="평가기간"/>
  275. <Column id="prntnm" type="STRING" size="256" sumtext="출력자"/>
  276. <Column id="prntdd" type="STRING" size="256" sumtext="출력일자"/>
  277. <Column id="gndr" type="STRING" size="256" sumtext="성별"/>
  278. <Column id="gubun" type="STRING" size="256" sumtext="치과구분"/>
  279. </ColumnInfo>
  280. </Dataset>
  281. <Dataset id="ds_hidden_matrinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  282. <Dataset id="ds_main_personinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  283. <Dataset id="ds_main_prntinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  284. <ColumnInfo>
  285. <Column id="prntyn" type="STRING" size="256" sumtext="출력여부"/>
  286. </ColumnInfo>
  287. </Dataset>
  288. </Objects>
  289. <Bind>
  290. <BindItem id="item0" compid="grp_sea.ipt_fromdd" propid="value" datasetid="ds_main_condition" columnid="fromdd"/>
  291. <BindItem id="item1" compid="grp_sea.ipt_todd" propid="value" datasetid="ds_main_condition" columnid="todd"/>
  292. <BindItem id="item2" compid="grp_sea.ipt_search_emplnm" propid="value" datasetid="ds_main_condition" columnid="emplnm"/>
  293. <BindItem id="item3" compid="group2.ipt_issueno" propid="value" datasetid="ds_main_matrinfo" columnid="issueno"/>
  294. <BindItem id="item4" compid="group2.rdo_gubun" propid="value" datasetid="ds_main_matrinfo" columnid="gubun"/>
  295. <BindItem id="item5" compid="group2.ipt_emplno" propid="value" datasetid="ds_main_matrinfo" columnid="emplno"/>
  296. <BindItem id="item6" compid="group2.ipt_emplnm" propid="value" datasetid="ds_main_matrinfo" columnid="emplnm"/>
  297. <BindItem id="item7" compid="group2.ipt_brthdd" propid="value" datasetid="ds_main_matrinfo" columnid="brthdd"/>
  298. <BindItem id="item8" compid="group2.cmb_gndr" propid="value" datasetid="ds_main_matrinfo" columnid="gndr"/>
  299. <BindItem id="item9" compid="group2.ipt_licnsmedino" propid="value" datasetid="ds_main_matrinfo" columnid="licnsmedino"/>
  300. <BindItem id="item10" compid="group2.ipt_evalfromdd" propid="value" datasetid="ds_main_matrinfo" columnid="evalfromdd"/>
  301. <BindItem id="item11" compid="group2.ipt_evaltodd" propid="value" datasetid="ds_main_matrinfo" columnid="evaltodd"/>
  302. <BindItem id="item12" compid="group2.ipt_fnshdd" propid="value" datasetid="ds_main_matrinfo" columnid="fnshdd"/>
  303. <BindItem id="item13" compid="group2.rdo_fnshscheflag" propid="value" datasetid="ds_main_matrinfo" columnid="fnshscheflag"/>
  304. <BindItem id="item14" compid="group2.ipt_totscor" propid="value" datasetid="ds_main_matrinfo" columnid="totscor"/>
  305. <BindItem id="item15" compid="group2.ipt_average" propid="value" datasetid="ds_main_matrinfo" columnid="average"/>
  306. <BindItem id="item16" compid="group2.ipt_rank" propid="value" datasetid="ds_main_matrinfo" columnid="rank"/>
  307. <BindItem id="item17" compid="group2.ipt_totcnt" propid="value" datasetid="ds_main_matrinfo" columnid="totcnt"/>
  308. <BindItem id="item18" compid="group2.ipt_grde" propid="value" datasetid="ds_main_matrinfo" columnid="grde"/>
  309. <BindItem id="item19" compid="group2.ta_cmt" propid="value" datasetid="ds_main_matrinfo" columnid="cmt"/>
  310. <BindItem id="item20" compid="group2.ipt_issuedd" propid="value" datasetid="ds_main_matrinfo" columnid="issuedd"/>
  311. </Bind>
  312. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  313. * System Name :
  314. * Job Name :
  315. * Creator :
  316. * Make Date : 2017-06-19
  317. * Description :
  318. *---------------------------------------------------------------------------------------
  319. * Modify Date Modifier Modify Description
  320. *---------------------------------------------------------------------------------------
  321. * 2017-06-19 Live Converter TF->XP
  322. *
  323. *---------------------------------------------------------------------------------------
  324. ****************************************************************************************/
  325. include "com_commonxp::comm_main.xjs";
  326. include "mis_miscommonxp::MIS.xjs";
  327. include "mis_humtrafactmngtxp::RPB001.xjs";
  328. var arErrorCode = new HashArray();
  329. function SMRPD06400_oninit(obj:Form, e:InitEventInfo)
  330. {
  331. frmf_initForm(obj);
  332. }
  333. function SMRPD06400_onload(obj:Form, e:LoadEventInfo)
  334. {
  335. grdf_initGrid(grd_matrlist);
  336. fInitialize();
  337. }
  338. function fInitialize()
  339. {
  340. if(sysf_getUserInfo("dutplceinstcd") == "033")
  341. {
  342. group2.cp_gubun.visible = false;
  343. group2.rdo_gubun.visible = false;
  344. misfColHidden(grd_matrlist, "gubun", true);
  345. }
  346. ds_main_condition.setColumn(0, "fromdd", String(utlf_getCurrentDate()).substr(0,4)+"0101");
  347. ds_main_condition.setColumn(0, "todd", utlf_getCurrentDate());
  348. ds_main_condition.setColumn(0, "issuedd", utlf_getCurrentDate());
  349. var oParam = {};
  350. oParam.id = "TRRPD06405";
  351. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  352. oParam.method = "reqGetEvalIssuePrvg";
  353. oParam.inds = "req=ds_main_condition";
  354. oParam.outds = "ds_init_prvg=matrlist";
  355. oParam.async = false;
  356. //oParam.callback = "cf_TRRPD06405";
  357. tranf_submit(oParam);
  358. fGetMatrList();
  359. btn_new.click();
  360. }
  361. function fGetMatrList()
  362. {
  363. misfGridInit(grd_matrlist);
  364. var oParam = {};
  365. oParam.id = "TRRPD06401";
  366. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  367. oParam.method = "reqGetEvalIssueList";
  368. oParam.inds = "req=ds_main_condition";
  369. oParam.outds = "ds_main_matrlist=matrlist";
  370. oParam.async = false;
  371. //oParam.callback = "cf_TRRPD06401";
  372. tranf_submit(oParam);
  373. }
  374. function grp_sea_btn_search_onclick(obj:Button, e:ClickEventInfo)
  375. {
  376. if( String(ds_main_condition.getColumn(0, "fromdd")).length != 8 )
  377. {
  378. sysf_messageBox("발급일자가 정확하게 입력되지 않았습니다. 조회조건을 확인하세요. ", "E999", "");
  379. grp_sea.ipt_fromdd.setFocus();
  380. return;
  381. }
  382. if( String(ds_main_condition.getColumn(0, "todd")).length != 8 )
  383. {
  384. sysf_messageBox("발급일자가 정확하게 입력되지 않았습니다. 조회조건을 확인하세요. ", "E999", "");
  385. grp_sea.ipt_todd.setFocus();
  386. return;
  387. }
  388. fGetMatrList();
  389. }
  390. function grd_matrlist_oncellclick(obj:Grid, e:GridClickEventInfo)
  391. {
  392. var cur_row = ds_main_matrlist.rowposition;
  393. fGetMatrInfo(cur_row);
  394. }
  395. function fGetMatrInfo(pRow)
  396. {
  397. if ( pRow > -1 )
  398. {
  399. ds_send.clearData();
  400. ds_send.addRow();
  401. ds_send.copyRow(0, ds_main_matrlist, pRow);
  402. var oParam = {};
  403. oParam.id = "TRRPD06402";
  404. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  405. oParam.method = "reqGetEvalIssueInfo";
  406. oParam.inds = "req=ds_send";
  407. oParam.outds = "ds_main_matrinfo=matrinfo";
  408. oParam.async = false;
  409. //oParam.callback = "cf_TRRPD06402";
  410. tranf_submit(oParam);
  411. group2.ipt_issueno.enable = false;
  412. fCopyInstance();
  413. frmf_inputEnterKey("group2.rdo_gubun", "onitemchanged", new ItemChangeEventInfo);
  414. }
  415. }
  416. function fCopyInstance()
  417. {
  418. ds_hidden_matrinfo.clearData();
  419. ds_hidden_matrinfo.copyData(ds_main_matrinfo);
  420. }
  421. function group2_rdo_gubun_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  422. {
  423. if(sysf_getUserInfo("dutplceinstcd") == "033")
  424. {
  425. group2.cp_title.text = "전 공 의 ( 인 턴 ) 근 무 평 가 표";
  426. group2.cp_stmt.text = "상기인에 대하여 전공의(인턴) 근무성적을 아래와 같이 평가합니다.";
  427. group2.cp_instnm.text = "경 북 대 학 교 치 과 병 원 장";
  428. }
  429. else
  430. {
  431. if(obj.value == "1")
  432. {
  433. group2.cp_title.text = "치과의사 전공의(인턴) 근무평가표";
  434. group2.cp_stmt.text = "상기인에 대하여 치과의사 전공의(인턴) 근무성적을 아래와 같이 평가합니다.";
  435. }
  436. else
  437. {
  438. group2.cp_title.text = "전 공 의 ( 인 턴 ) 근 무 평 가 표";
  439. group2.cp_stmt.text = "상기인에 대하여 전공의(인턴) 근무성적을 아래와 같이 평가합니다.";
  440. }
  441. group2.cp_instnm.text = "경 북 대 학 교 병 원 장";
  442. }
  443. }
  444. function group2_ipt_emplno_onkeyup(obj:Edit, e:KeyEventInfo)
  445. {
  446. if(e.keycode == 13)
  447. {
  448. obj.updateToDataset();
  449. }
  450. }
  451. function ds_main_matrinfo_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  452. {
  453. if(e.columnid == "emplno")
  454. {
  455. group2.ipt_emplno.value = e.newvalue;
  456. group2.ipt_emplno.setFocus();
  457. var recv_list = "emplno,emplnm" ;
  458. rpbfValidationCheck("EMPLNO", recv_list);
  459. fGetPersonInfo();
  460. }
  461. if(e.columnid == "emplnm")
  462. {
  463. group2.ipt_emplnm.value = e.newvalue;
  464. group2.ipt_emplnm.setFocus();
  465. var recv_list = "emplno,emplnm" ;
  466. rpbfValidationCheck("EMPLNM", recv_list);
  467. fGetPersonInfo();
  468. }
  469. }
  470. function fGetPersonInfo()
  471. {
  472. var oParam = {};
  473. oParam.id = "TRRPD06403";
  474. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  475. oParam.method = "reqGetEvalPersonInfo";
  476. oParam.inds = "req=ds_main_matrinfo";
  477. oParam.outds = "ds_main_personinfo=personinfo";
  478. oParam.async = false;
  479. oParam.callback = "cf_TRRPD06403";
  480. tranf_submit(oParam);
  481. if(arErrorCode.pop("TRRPD06403") > -1)
  482. {
  483. ds_main_matrinfo.setColumn(0, "brthdd", ds_main_personinfo.getColumn(0, "brthdd"));
  484. ds_main_matrinfo.setColumn(0, "licnsmedino", ds_main_personinfo.getColumn(0, "licnsmedino"));
  485. ds_main_matrinfo.setColumn(0, "evalfromdd", ds_main_personinfo.getColumn(0, "evalfromdd"));
  486. ds_main_matrinfo.setColumn(0, "evaltodd", ds_main_personinfo.getColumn(0, "evaltodd"));
  487. ds_main_matrinfo.setColumn(0, "fnshdd", ds_main_personinfo.getColumn(0, "fnshdd"));
  488. ds_main_matrinfo.setColumn(0, "gndr", ds_main_personinfo.getColumn(0, "gndr"));
  489. }
  490. else
  491. {
  492. ds_main_matrinfo.setColumn(0, "brthdd", "");
  493. ds_main_matrinfo.setColumn(0, "licnsmedino", "");
  494. ds_main_matrinfo.setColumn(0, "evalfromdd", "");
  495. ds_main_matrinfo.setColumn(0, "evaltodd", "");
  496. ds_main_matrinfo.setColumn(0, "fnshdd", "");
  497. ds_main_matrinfo.setColumn(0, "gndr", "");
  498. }
  499. }
  500. function cf_TRRPD06403(sSvcId, nErrorCode, sErrorMsg)
  501. {
  502. arErrorCode.push(sSvcId, nErrorCode);
  503. if(nErrorCode < 0) return;
  504. }
  505. function group2_btn_emplno_onclick(obj:Button, e:ClickEventInfo)
  506. {
  507. var recv_list = "emplno,emplnm" ;
  508. rpbfOpenPopUpList("SPRPB00101", group2.ipt_emplno, recv_list,"1","N");
  509. fGetPersonInfo();
  510. }
  511. function group2_ipt_emplnm_onkeyup(obj:Edit, e:KeyEventInfo)
  512. {
  513. if(e.keycode == 13)
  514. {
  515. obj.updateToDataset();
  516. }
  517. }
  518. function btn_copy_onclick(obj:Button, e:ClickEventInfo)
  519. {
  520. if(ds_main_matrlist.rowcount == 0) return;
  521. if (sysf_messageBox( "선택한 발급이력을 복사하여 신규 발급건을 생성하시겠습니까? ", "Q999","") != 6){
  522. return;
  523. }
  524. var oParam = {};
  525. oParam.id = "TXRPD06403";
  526. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  527. oParam.method = "reqExeSaveEvalIssueCopy";
  528. oParam.inds = "matrinfo=ds_main_matrinfo";
  529. oParam.outds = "ds_=item";
  530. oParam.async = false;
  531. oParam.callback = "cf_TXRPD06403";
  532. tranf_submit(oParam);
  533. if(arErrorCode.pop("TXRPD06403") > -1)
  534. {
  535. fGetMatrList();
  536. ds_main_matrlist.rowposition = 0;
  537. grd_matrlist_oncellclick();
  538. }
  539. }
  540. function cf_TXRPD06403(sSvcId, nErrorCode, sErrorMsg)
  541. {
  542. arErrorCode.push(sSvcId, nErrorCode);
  543. if(nErrorCode < 0) return;
  544. }
  545. function btn_new_onclick(obj:Button, e:ClickEventInfo)
  546. {
  547. fSetMatrInfo();
  548. }
  549. function fSetMatrInfo()
  550. {
  551. group2.ipt_issueno.enable = true;
  552. ds_main_matrinfo.clearData();
  553. ds_main_matrinfo.addRow();
  554. group2.ipt_issueno.setFocus();
  555. ds_main_matrinfo.setColumn(0, "status", "i");
  556. ds_main_matrinfo.setColumn(0, "issuedd", utlf_getCurrentDate());
  557. ds_main_matrinfo.setColumn(0, "fnshscheflag", "F");
  558. if(sysf_getUserInfo("dutplceinstcd") == "033")
  559. {
  560. ds_main_matrinfo.setColumn(0, "gubun", "1");
  561. }
  562. else
  563. {
  564. ds_main_matrinfo.setColumn(0, "gubun", "0");
  565. }
  566. frmf_inputEnterKey("group2.rdo_gubun", "onitemchanged", new ItemChangeEventInfo);
  567. fCopyInstance();
  568. }
  569. function btn_del_onclick(obj:Button, e:ClickEventInfo)
  570. {
  571. if(utlf_isNull(ds_main_matrinfo.getColumn(0, "issueno")))
  572. {
  573. sysf_messageBox("삭제할 자료가 없습니다.", "I999", "");
  574. return;
  575. }
  576. if (sysf_messageBox("해당 발급내역을", "Q001") == 6)
  577. {
  578. ds_main_matrinfo.setColumn(0, "status", "d");
  579. fClickSaveBtn();
  580. }
  581. }
  582. function fClickSaveBtn()
  583. {
  584. if(!fIsValidForSave()) return;
  585. model.resetInstanceNode("/root/send");
  586. model.copyNode("/root/send", "/root/main/matrinfo");
  587. var sStatus = ds_main_matrinfo.getColumn(0, "status");
  588. var oParam = {};
  589. oParam.id = "TXRPD06401";
  590. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  591. oParam.method = "reqExeSaveEvalIssueList";
  592. oParam.inds = "matrinfo=ds_main_matrinfo";
  593. oParam.outds = "ds_=item";
  594. oParam.async = false;
  595. oParam.callback = "cf_TXRPD06401";
  596. tranf_submit(oParam);
  597. if(arErrorCode.pop("TXRPD06401") > -1)
  598. {
  599. fGetMatrList();
  600. if(sStatus == "d")
  601. {
  602. btn_new.click();
  603. }
  604. else
  605. {
  606. ds_send.clearData();
  607. ds_send.copyData(ds_main_matrinfo);
  608. var oParam = {};
  609. oParam.id = "TRRPD06402";
  610. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  611. oParam.method = "reqGetEvalIssueInfo";
  612. oParam.inds = "req=ds_send";
  613. oParam.outds = "ds_main_matrinfo=matrinfo";
  614. oParam.async = false;
  615. //oParam.callback = "cf_TRRPD06402";
  616. tranf_submit(oParam);
  617. fCopyInstance();
  618. group2.ipt_issueno.enable = false;
  619. }
  620. }
  621. }
  622. function cf_TXRPD06401(sSvcId, nErrorCode, sErrorMsg)
  623. {
  624. arErrorCode.push(sSvcId, nErrorCode);
  625. if(nErrorCode < 0) return;
  626. }
  627. function fIsValidForSave()
  628. {
  629. arrCompId = new Array("group2.ipt_issueno","group2.ipt_emplno","group2.ipt_emplnm","group2.ipt_totscor","group2.ipt_average","group2.ipt_rank","group2.ipt_totcnt","group2.ipt_grde");
  630. if(!frmf_isRequiredControls(arrCompId)) return false;
  631. var sStatus = ds_main_matrinfo.getColumn(0, "status");
  632. var sNewData = dsf_getDsCSV(ds_main_matrinfo, 0, "", "","");
  633. var sOldData = dsf_getDsCSV(ds_hidden_matrinfo, 0, "", "","");
  634. if(sNewData != sOldData && sStatus == "-")
  635. {
  636. ds_main_matrinfo.setColumn(0, "status","u");
  637. return true;
  638. }
  639. else if(sNewData == sOldData && sStatus == "-" )
  640. {
  641. return true;
  642. }
  643. else if(sStatus == "i")
  644. {
  645. return true;
  646. }
  647. else if(sStatus = "d")
  648. {
  649. return true;
  650. }
  651. }
  652. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  653. {
  654. fClickSaveBtn();
  655. }
  656. function fClickSaveBtn()
  657. {
  658. if(!fIsValidForSave()) return;
  659. ds_send.clearData();
  660. ds_send.copyData(ds_main_matrinfo);
  661. var sStatus = ds_main_matrinfo.getColumn(0, "status");
  662. var oParam = {};
  663. oParam.id = "TXRPD06401";
  664. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  665. oParam.method = "reqExeSaveEvalIssueList";
  666. oParam.inds = "matrinfo=ds_main_matrinfo";
  667. oParam.outds = "ds_=item";
  668. oParam.async = false;
  669. oParam.callback = "cf_TXRPD06401";
  670. tranf_submit(oParam);
  671. if(arErrorCode.pop("TXRPD06401") > -1)
  672. {
  673. fGetMatrList();
  674. if(sStatus == "d")
  675. {
  676. btn_new.click();
  677. }
  678. else
  679. {
  680. ds_send.clearData();
  681. ds_send.copyData(ds_main_matrinfo);
  682. var oParam = {};
  683. oParam.id = "TRRPD06402";
  684. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  685. oParam.method = "reqGetEvalIssueInfo";
  686. oParam.inds = "req=ds_send";
  687. oParam.outds = "ds_main_matrinfo=matrinfo";
  688. oParam.async = false;
  689. //oParam.callback = "cf_TRRPD06402";
  690. tranf_submit(oParam);
  691. fCopyInstance();
  692. group2.ipt_issueno.enable = false;
  693. }
  694. }
  695. }
  696. function btn_print_onclick(obj:Button, e:ClickEventInfo)
  697. {
  698. var sStatus = ds_main_matrinfo.getColumn(0, "status");
  699. var sNewData = dsf_getDsCSV(ds_main_matrinfo, 0, "", "","");
  700. var sOldData = dsf_getDsCSV(ds_hidden_matrinfo, 0, "", "","");
  701. if(sNewData != sOldData && sStatus == "-")
  702. {
  703. sysf_messageBox("수정된 정보가 저장되지 않았습니다. \n저장 후 출력하십시요. ", "E999", "");
  704. return false;
  705. }
  706. else if(sNewData == sOldData && sStatus == "-" )
  707. {
  708. }
  709. else if(sStatus == "i")
  710. {
  711. sysf_messageBox("신규 내역이 저장되지 않았습니다. \n저장 후 출력하십시요. ", "E999", "");
  712. return false;
  713. }
  714. else if(sStatus = "d")
  715. {
  716. }
  717. if(ds_init_prvg.getColumn(0, "cnt") == "0")
  718. {
  719. if( !fGetPrntYn() ) return;
  720. }
  721. ds_send.clearData();
  722. ds_send.copyData(ds_main_matrinfo);
  723. var oParam = {};
  724. oParam.id = "TXRPD06402";
  725. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  726. oParam.method = "reqExeSaveEvalIssuePrint";
  727. oParam.inds = "matrinfo=ds_send";
  728. oParam.outds = "ds_=item";
  729. oParam.async = false;
  730. oParam.callback = "cf_TXRPD06402";
  731. tranf_submit(oParam);
  732. if(arErrorCode.pop("TXRPD06402") > -1)
  733. {
  734. dsf_makeValue(ds_main_matrinfo, "instcd", "string", sysf_getUserInfo("dutplceinstcd"), 0);
  735. var objDOM = rptf_createDOM();
  736. rptf_setNodeListToDOM(objDOM, "/root/main/matrinfo", ds_main_matrinfo);
  737. var objParam = new Object();
  738. objParam.xml_data_XML1 = objDOM.documentElement.source;
  739. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0;";
  740. rptf_exeReportPreview30(["RPRPD06401"],[objParam], option);
  741. fGetMatrList();
  742. }
  743. }
  744. function cf_TXRPD06402(sSvcId, nErrorCode, sErrorMsg)
  745. {
  746. arErrorCode.push(sSvcId, nErrorCode);
  747. if(nErrorCode < 0) return;
  748. }
  749. function fGetPrntYn()
  750. {
  751. ds_send.clearData();
  752. ds_send.copyData(ds_main_matrinfo);
  753. var oParam = {};
  754. oParam.id = "TRRPD06404";
  755. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  756. oParam.method = "reqGetEvalPrntInfo";
  757. oParam.inds = "req=ds_send";
  758. oParam.outds = "ds_main_prntinfo=prntinfo";
  759. oParam.async = false;
  760. oParam.callback = "cf_TRRPD06404";
  761. tranf_submit(oParam);
  762. if(arErrorCode.pop("TRRPD06404") > -1)
  763. {
  764. if(ds_main_prntinfo.getColumn(0, "prntyn") == "Y")
  765. {
  766. sysf_messageBox("이미 출력되었으므로 재출력이 불가능합니다. ", "E999", "");
  767. return false;
  768. }
  769. else
  770. {
  771. return true;
  772. }
  773. }
  774. else
  775. {
  776. sysf_messageBox("출력여부를 확인 중 에러가 발생하여 작업을 중단합니다. ", "E999", "");
  777. return false;
  778. }
  779. }
  780. function cf_TRRPD06404(sSvcId, nErrorCode, sErrorMsg)
  781. {
  782. arErrorCode.push(sSvcId, nErrorCode);
  783. if(nErrorCode < 0) return;
  784. }]]></Script>
  785. </Form>
  786. </FDL>