SMRPD31600_전문의평가등록.xfdl 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMRPD31600" position="absolute 0 0 1200 790" titletext="전문의 평가 - 평가등록" oninit="SMRPD31600_oninit" onload="SMRPD31600_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 0 1195 28" id="group1">
  8. <Layouts>
  9. <Layout>
  10. <Static text="전문의 평가 - 평가 등록" position="absolute 0 0 178 24" id="caption6" class="tit_1" anchor="default"/>
  11. <Static id="caption4" class="patient_text_black" anchor="default" position="absolute 0 0 0 0"/>
  12. </Layout>
  13. </Layouts>
  14. </Div>
  15. <Div position="absolute 0 40 1195 784" id="group3" scrollbars="autoboth">
  16. <Layouts>
  17. <Layout>
  18. <Div position="absolute 0 10 1194 45" align="align:center top;" id="grp_sea" anchor="default" class="div_SA">
  19. <Layouts>
  20. <Layout>
  21. <Shape position="absolute 416 6 422 28" linetype="vertical" id="line5" class="line_4" anchor="default"/>
  22. <Button position="absolute 435 7 491 29" align="align:left middle;" id="btn_search" class="btn1" taborder="2" text="조회" anchor="default" onclick="group3_grp_sea_btn_search_onclick"/>
  23. <Combo position="absolute 115 8 257 27" id="cmb_instcd" class="combo_s_default" enable="false" anchor="default" onitemchanged="group3_grp_sea_cmb_instcd_onitemchanged"/>
  24. <Static text="기관코드" position="absolute 49 9 125 26" id="caption1" class="search_name" anchor="default"/>
  25. <Static text="연도" position="absolute 290 9 351 26" id="caption7" class="search_name" anchor="default"/>
  26. <MaskEdit position="absolute 330 8 380 27" align="align:center middle;" id="ipt_year" taborder="1" mask="####" anchor="default" autoskip="true" autoselect="true"/>
  27. <Static position="absolute 525 8 1010 28" id="cp_evalperiod" anchor="default" style="color:#993300ff;font:Dotum,9,bold;"/>
  28. </Layout>
  29. </Layouts>
  30. </Div>
  31. <Shape position="absolute 0 75 535 81" linetype="horizontal" id="line3" class="line_10" anchor="default"/>
  32. <Shape position="absolute 540 75 1193 81" linetype="horizontal" id="line1" class="line_10" anchor="default"/>
  33. <Static text="평가 대상자" position="absolute 0 59 131 78" id="caption21" class="tit_2" anchor="default"/>
  34. <Static text="평가표" position="absolute 540 59 746 75" id="caption20" class="tit_2" anchor="default"/>
  35. <Grid position="absolute 0 80 535 735" id="grd_psnlist" binddataset="ds_main_psnlist" anchor="default" oncellclick="group3_grd_psnlist_oncellclick">
  36. <Formats>
  37. <Format id="default">
  38. <Columns>
  39. <Column size="20"/>
  40. <Column size="51"/>
  41. <Column size="70"/>
  42. <Column size="150"/>
  43. <Column size="130"/>
  44. <Column size="37"/>
  45. <Column size="57"/>
  46. <Column size="0"/>
  47. <Column size="0"/>
  48. </Columns>
  49. <Rows>
  50. <Row size="24" band="head"/>
  51. <Row size="24"/>
  52. </Rows>
  53. <Band id="head">
  54. <Cell/>
  55. <Cell col="1" text="사번"/>
  56. <Cell col="2" text="성명"/>
  57. <Cell col="3" text="부서명"/>
  58. <Cell col="4" text="직종"/>
  59. <Cell col="5" text="평가"/>
  60. <Cell col="6" text="총평점"/>
  61. <Cell col="7" text="instcd"/>
  62. <Cell col="8" text="year"/>
  63. </Band>
  64. <Band id="body">
  65. <Cell celltype="head"/>
  66. <Cell col="1" text="bind:emplno"/>
  67. <Cell col="2" style="align:left;" text="bind:emplnm"/>
  68. <Cell col="3" style="align:left top;padding:5 2 1 2;" text="bind:deptnm" wordwrap="word"/>
  69. <Cell col="4" style="align:left top;padding:5 2 1 2;" text="bind:jobkindnm" wordwrap="word"/>
  70. <Cell col="5" text="bind:fnshyn"/>
  71. <Cell col="6" displaytype="number" style="align:center;" text="bind:totscore" mask="#,###"/>
  72. <Cell col="7" text="bind:instcd"/>
  73. <Cell col="8" text="bind:year"/>
  74. </Band>
  75. </Format>
  76. </Formats>
  77. </Grid>
  78. <Static text="총 평" position="absolute 540 679 675 735" align="align:center middle;" id="caption27" class="cell_1" anchor="default"/>
  79. <TextArea position="absolute 675 679 1193 735" id="txt_cmt" anchor="default" wordwrap="word"/>
  80. <Grid position="absolute 540 111 1193 655" id="grd_scorelist" binddataset="ds_main_psninfo_scorelist" anchor="default">
  81. <Formats>
  82. <Format id="default">
  83. <Columns>
  84. <Column size="133"/>
  85. <Column size="252"/>
  86. <Column size="40"/>
  87. <Column size="40"/>
  88. <Column size="40"/>
  89. <Column size="40"/>
  90. <Column size="40"/>
  91. <Column size="40"/>
  92. <Column size="0"/>
  93. <Column size="0"/>
  94. <Column size="0"/>
  95. <Column size="0"/>
  96. </Columns>
  97. <Rows>
  98. <Row size="24" band="head"/>
  99. <Row size="24" band="head"/>
  100. <Row size="24" band="head"/>
  101. <Row size="24"/>
  102. </Rows>
  103. <Band id="head">
  104. <Cell rowspan="3" text="평가항목" taborder="undefined"/>
  105. <Cell col="1" rowspan="3" text="세부항목" taborder="undefined"/>
  106. <Cell col="2" colspan="6" text="평정등급 및 점수" taborder="undefined"/>
  107. <Cell col="8" text="instcd"/>
  108. <Cell col="9" text="year"/>
  109. <Cell col="10" text="emplno"/>
  110. <Cell col="11" text="dtlitemcd"/>
  111. <Cell row="1" col="2" rowspan="2" text="수&#10;(5.0)" taborder="undefined"/>
  112. <Cell row="1" col="3" rowspan="2" text="우&#10;(4.0)" taborder="undefined"/>
  113. <Cell row="1" col="4" rowspan="2" text="미&#10;(3.0)" taborder="undefined"/>
  114. <Cell row="1" col="5" rowspan="2" text="양&#10;(2.0)" taborder="undefined"/>
  115. <Cell row="1" col="6" rowspan="2" text="가&#10;(1.0)" taborder="undefined"/>
  116. <Cell row="1" col="7" rowspan="2" text="평점" taborder="undefined"/>
  117. <Cell row="1" col="8" text="instcd"/>
  118. <Cell row="1" col="9" text="year"/>
  119. <Cell row="1" col="10" text="emplno"/>
  120. <Cell row="1" col="11" text="dtlitemcd"/>
  121. <Cell row="2" col="8" text="instcd"/>
  122. <Cell row="2" col="9" text="year"/>
  123. <Cell row="2" col="10" text="emplno"/>
  124. <Cell row="2" col="11" text="dtlitemcd"/>
  125. </Band>
  126. <Band id="body">
  127. <Cell style="align:top;padding:5 2 1 2;" text="bind:itemnm" wordwrap="word" suppress="1" suppressalign="middle,over"/>
  128. <Cell col="1" style="align:left top;padding:5 2 1 2;" text="bind:dtlitemnm" wordwrap="word"/>
  129. <Cell col="2" displaytype="checkbox" edittype="checkbox" text="bind:pos1" expr="expr:pos1 == '1' || pos1 == 'Y' ? '1' : '0'"/>
  130. <Cell col="3" displaytype="checkbox" edittype="checkbox" text="bind:pos2" expr="expr:pos2 == '1' || pos2 == 'Y' ? '1' : '0'"/>
  131. <Cell col="4" displaytype="checkbox" edittype="checkbox" text="bind:pos3" expr="expr:pos3 == '1' || pos3 == 'Y' ? '1' : '0'"/>
  132. <Cell col="5" displaytype="checkbox" edittype="checkbox" text="bind:pos4" expr="expr:pos4 == '1' || pos4 == 'Y' ? '1' : '0'"/>
  133. <Cell col="6" displaytype="checkbox" edittype="checkbox" text="bind:pos5" expr="expr:pos5 == '1' || pos5 == 'Y' ? '1' : '0'"/>
  134. <Cell col="7" displaytype="number" text="bind:score"/>
  135. <Cell col="8" text="bind:instcd"/>
  136. <Cell col="9" text="bind:year"/>
  137. <Cell col="10" text="bind:emplno"/>
  138. <Cell col="11" text="bind:dtlitemcd"/>
  139. </Band>
  140. </Format>
  141. </Formats>
  142. </Grid>
  143. <Static text="사번" position="absolute 620 79 660 102" align="align:center middle;" id="cap_matrnm" class="cell_1" anchor="default"/>
  144. <Edit readonly="true" position="absolute 660 81 700 100" align="align:center middle;" id="opt_emplno" anchor="default" class="output"/>
  145. <Edit readonly="true" position="absolute 740 81 800 100" id="opt_emplnm" anchor="default" class="output"/>
  146. <Static text="성명" position="absolute 700 79 740 102" align="align:center middle;" id="caption2" class="cell_1" anchor="default"/>
  147. <Static text="부서명" position="absolute 800 79 850 102" align="align:center middle;" id="caption3" class="cell_1" anchor="default"/>
  148. <Edit readonly="true" position="absolute 850 81 1025 100" id="opt_deptnm" anchor="default" class="output"/>
  149. <Static text="직종" position="absolute 1025 79 1065 102" align="align:center middle;" id="caption5" class="cell_1" anchor="default"/>
  150. <Edit readonly="true" position="absolute 1065 81 1193 100" id="opt_jobkindnm" anchor="default" class="output"/>
  151. <Shape position="absolute 540 102 1193 107" linetype="horizontal" id="line4" class="line_10" anchor="default"/>
  152. <Static text="총평점" position="absolute 1030 655 1105 678" align="align:center middle;" id="caption8" class="cell_1" anchor="default"/>
  153. <Edit readonly="true" position="absolute 1105 657 1193 676" align="align:center middle;" id="opt_totscore" anchor="default" class="output" style="align:center middle;font:Dotum,9;"/>
  154. <Static text="연도" position="absolute 540 79 580 102" align="align:center middle;" id="caption9" class="cell_1" anchor="default"/>
  155. <Edit readonly="true" position="absolute 580 81 620 100" align="align:center middle;" id="output1" anchor="default" class="output"/>
  156. </Layout>
  157. </Layouts>
  158. </Div>
  159. <Div id="group4" taborder="1" position="absolute 0 13 1195 45">
  160. <Layouts>
  161. <Layout>
  162. <Shape id="line2" linetype="horizontal" class="line_6" position="absolute 0 24 1194 30" anchor="default"/>
  163. <Button id="btn_save" taborder="1" text="저장" class="btn4" position="absolute 1137 3 1193 25" anchor="default" onclick="group4_btn_save_onclick"/>
  164. </Layout>
  165. </Layouts>
  166. </Div>
  167. </Layout>
  168. </Layouts>
  169. <Objects>
  170. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  171. <ColumnInfo>
  172. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  173. <Column id="year" type="STRING" size="256" sumtext="연도"/>
  174. <Column id="emplno" type="STRING" size="256" sumtext="사번"/>
  175. <Column id="cmt" type="STRING" size="256" sumtext="총평"/>
  176. </ColumnInfo>
  177. <Rows>
  178. <Row/>
  179. </Rows>
  180. </Dataset>
  181. <Dataset id="ds_init_evalperiodinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  182. <ColumnInfo>
  183. <Column id="evalfromdd" type="STRING" size="256" sumtext="평가 등록 from일자"/>
  184. <Column id="evaltodd" type="STRING" size="256" sumtext="평가 등록 to일자"/>
  185. </ColumnInfo>
  186. </Dataset>
  187. <Dataset id="ds_main_psnlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  188. <ColumnInfo>
  189. <Column id="emplno" type="STRING" size="256" sumtext="사번"/>
  190. <Column id="emplnm" type="STRING" size="256" sumtext="성명"/>
  191. <Column id="jobkindnm" type="STRING" size="256" sumtext="직종명"/>
  192. <Column id="deptnm" type="STRING" size="256" sumtext="부서명"/>
  193. <Column id="fnshyn" type="STRING" size="256" sumtext="평가완료여부"/>
  194. <Column id="totscore" type="STRING" size="256" sumtext="평점(계)"/>
  195. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  196. <Column id="year" type="STRING" size="256" sumtext="연도"/>
  197. </ColumnInfo>
  198. </Dataset>
  199. <Dataset id="ds_main_psninfo_scorelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_psninfo_scorelist_oncolumnchanged">
  200. <ColumnInfo>
  201. <Column id="itemnm" type="STRING" size="256" sumtext="코드명"/>
  202. <Column id="dtlitemnm" type="STRING" size="256" sumtext="종료일자"/>
  203. <Column id="score" type="STRING" size="256" sumtext="점수"/>
  204. <Column id="pos1" type="STRING" size="256" sumtext="위치1"/>
  205. <Column id="pos2" type="STRING" size="256" sumtext="위치2"/>
  206. <Column id="pos3" type="STRING" size="256" sumtext="위치3"/>
  207. <Column id="pos4" type="STRING" size="256" sumtext="위치4"/>
  208. <Column id="pos5" type="STRING" size="256" sumtext="위치5"/>
  209. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  210. <Column id="year" type="STRING" size="256" sumtext="연도"/>
  211. <Column id="emplno" type="STRING" size="256" sumtext="사번"/>
  212. <Column id="dtlitemcd" type="STRING" size="256" sumtext="시작일자"/>
  213. </ColumnInfo>
  214. </Dataset>
  215. <Dataset id="ds_main_psninfo_cmtinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  216. <ColumnInfo>
  217. <Column id="cmt" type="STRING" size="256" sumtext="총평"/>
  218. <Column id="emplnm" type="STRING" size="256" sumtext="성명"/>
  219. <Column id="jobkindnm" type="STRING" size="256" sumtext="직종명"/>
  220. <Column id="deptnm" type="STRING" size="256" sumtext="부서명"/>
  221. <Column id="totscore" type="STRING" size="256" sumtext="평점(계)"/>
  222. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  223. <Column id="year" type="STRING" size="256" sumtext="연도"/>
  224. <Column id="emplno" type="STRING" size="256" sumtext="사번"/>
  225. <Column id="strtdd" type="STRING" size="256" sumtext="평정기간(시작일자)"/>
  226. <Column id="enddd" type="STRING" size="256" sumtext="평정기간(끝일자)"/>
  227. </ColumnInfo>
  228. <Rows>
  229. <Row/>
  230. </Rows>
  231. </Dataset>
  232. <Dataset id="ds_send_scorelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  233. <ColumnInfo>
  234. <Column id="score" type="STRING" size="256" sumtext="점수"/>
  235. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  236. <Column id="year" type="STRING" size="256" sumtext="연도"/>
  237. <Column id="emplno" type="STRING" size="256" sumtext="사번"/>
  238. <Column id="dtlitemcd" type="STRING" size="256" sumtext="시작일자"/>
  239. </ColumnInfo>
  240. </Dataset>
  241. <Dataset id="ds_hidden_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  242. <ColumnInfo>
  243. <Column id="count" type="STRING" size="256" sumtext="실행건수"/>
  244. </ColumnInfo>
  245. </Dataset>
  246. <Dataset id="ds_main_condition" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_condition_oncolumnchanged">
  247. <ColumnInfo>
  248. <Column id="instcd" type="STRING" size="256"/>
  249. <Column id="year" type="STRING" size="256"/>
  250. </ColumnInfo>
  251. <Rows>
  252. <Row/>
  253. </Rows>
  254. </Dataset>
  255. <Dataset id="ds_hidden_psninfo_scorelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  256. <ColumnInfo>
  257. <Column id="itemnm" type="STRING" size="256" sumtext="코드명"/>
  258. <Column id="dtlitemnm" type="STRING" size="256" sumtext="종료일자"/>
  259. <Column id="score" type="STRING" size="256" sumtext="점수"/>
  260. <Column id="pos1" type="STRING" size="256" sumtext="위치1"/>
  261. <Column id="pos2" type="STRING" size="256" sumtext="위치2"/>
  262. <Column id="pos3" type="STRING" size="256" sumtext="위치3"/>
  263. <Column id="pos4" type="STRING" size="256" sumtext="위치4"/>
  264. <Column id="pos5" type="STRING" size="256" sumtext="위치5"/>
  265. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  266. <Column id="year" type="STRING" size="256" sumtext="연도"/>
  267. <Column id="emplno" type="STRING" size="256" sumtext="사번"/>
  268. <Column id="dtlitemcd" type="STRING" size="256" sumtext="시작일자"/>
  269. </ColumnInfo>
  270. </Dataset>
  271. <Dataset id="ds_hidden_psninfo_cmtinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  272. <ColumnInfo>
  273. <Column id="cmt" type="STRING" size="256" sumtext="총평"/>
  274. <Column id="emplnm" type="STRING" size="256" sumtext="성명"/>
  275. <Column id="jobkindnm" type="STRING" size="256" sumtext="직종명"/>
  276. <Column id="deptnm" type="STRING" size="256" sumtext="부서명"/>
  277. <Column id="totscore" type="STRING" size="256" sumtext="평점(계)"/>
  278. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  279. <Column id="year" type="STRING" size="256" sumtext="연도"/>
  280. <Column id="emplno" type="STRING" size="256" sumtext="사번"/>
  281. <Column id="strtdd" type="STRING" size="256" sumtext="평정기간(시작일자)"/>
  282. <Column id="enddd" type="STRING" size="256" sumtext="평정기간(끝일자)"/>
  283. </ColumnInfo>
  284. <Rows>
  285. <Row/>
  286. </Rows>
  287. </Dataset>
  288. </Objects>
  289. <Bind>
  290. <BindItem id="item0" compid="group3.grp_sea.cmb_instcd" propid="value" datasetid="ds_main_condition" columnid="instcd"/>
  291. <BindItem id="item1" compid="group3.grp_sea.ipt_year" propid="value" datasetid="ds_main_condition" columnid="year"/>
  292. <BindItem id="item2" compid="group3.output1" propid="value" datasetid="ds_main_psninfo_cmtinfo" columnid="year"/>
  293. <BindItem id="item3" compid="group3.opt_emplno" propid="value" datasetid="ds_main_psninfo_cmtinfo" columnid="emplno"/>
  294. <BindItem id="item4" compid="group3.opt_emplnm" propid="value" datasetid="ds_main_psninfo_cmtinfo" columnid="emplnm"/>
  295. <BindItem id="item5" compid="group3.opt_deptnm" propid="value" datasetid="ds_main_psninfo_cmtinfo" columnid="deptnm"/>
  296. <BindItem id="item6" compid="group3.opt_jobkindnm" propid="value" datasetid="ds_main_psninfo_cmtinfo" columnid="jobkindnm"/>
  297. <BindItem id="item7" compid="group3.opt_totscore" propid="value" datasetid="ds_main_psninfo_cmtinfo" columnid="totscore"/>
  298. <BindItem id="item8" compid="group3.txt_cmt" propid="value" datasetid="ds_main_psninfo_cmtinfo" columnid="cmt"/>
  299. </Bind>
  300. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  301. * System Name : 경대 의료정보시스템
  302. * Job Name : mis_dligclaznsmngtxp -> SMRPD31600
  303. * Creator : pjb
  304. * Make Date : 2017-12-20
  305. * Description :
  306. *---------------------------------------------------------------------------------------
  307. * Modify Date Modifier Modify Description
  308. *---------------------------------------------------------------------------------------
  309. * 2017-12-20 pjb TF->XP
  310. *
  311. *---------------------------------------------------------------------------------------
  312. ****************************************************************************************/
  313. //=======================================================================================
  314. // Lib Include
  315. //---------------------------------------------------------------------------------------
  316. include "com_commonxp::comm_main.xjs";
  317. include "mis_miscommonxp::MIS.xjs";
  318. //=======================================================================================
  319. // Global Form Variable
  320. //---------------------------------------------------------------------------------------
  321. var arErrorCode = new HashArray();
  322. //=======================================================================================
  323. // Function
  324. //---------------------------------------------------------------------------------------
  325. //화면 로드시 초기화 함수
  326. function fOpenForm() {
  327. misfComboInstCdListMulti("group3.grp_sea.cmb_instcd", utlf_getCurrentDate(),"","N");
  328. //2016.03.21 박준범 : 현재는 본원 진료행정과에서 본원, 칠곡 인력 모두를 등록하여 일괄관리하기 때문에
  329. // 강제로 '031' 로 setting되도록 한다. 그래야 login한 평가자의 근무지가 본원, 칠곡에 무관하게
  330. // 본원 진료행정과에서 등록한 피평가자 대상들이 보여지게 된다.
  331. // 향후, 혹시 칠곡 진료행정과에서 별도로 평가대상 인력을 선정하고 평가가 이루어지는 시점에
  332. // 아래 comment 처리를 원복하도록 한다.
  333. //cmb_instcd.value = getUserInfo("dutplceinstcd");
  334. group3.grp_sea.cmb_instcd.value = "031"; //강제로 본원으로 setting
  335. group3.grp_sea.ipt_year.value = utlf_getCurrentDate().substr(0,4) - 1;
  336. misfGridInit(group3.grd_scorelist);
  337. fGetPsnList(); //평가대상자 목록 조회
  338. // if(model.getValue("/root/main/psnlist[1]/matrcd") != "") {
  339. // grd_psnlist.isSelected(1) = true;
  340. // fGetPsnInfo(1);
  341. // }else {
  342. // fCopyInstance();
  343. // }
  344. }
  345. //평가 대상자 목록 조회 함수
  346. function fGetPsnList() {
  347. misfGridInit(group3.grd_psnlist);
  348. ds_send.copyRow(0, ds_main_condition, 0);
  349. //평가 등록기간 조회
  350. var oParam = {};
  351. oParam.id = "TRRPD31602";
  352. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  353. oParam.method = "reqGetSpcEvalPsnPeriodList";
  354. oParam.inds = "req=ds_send";
  355. oParam.outds = "ds_init_evalperiodinfo=evalperiodinfo";
  356. oParam.async = false;
  357. oParam.callback = "cf_TRRPD31602";
  358. tranf_submit(oParam);
  359. if(arErrorCode.pop("TRRPD31602") > -1) {
  360. var fromdd = utlf_transNullToEmpty(ds_init_evalperiodinfo.getColumn(0, "evalfromdd"));
  361. if(fromdd.length > 0) {
  362. var todd = ds_init_evalperiodinfo.getColumn(0, "evaltodd");
  363. group3.grp_sea.cp_evalperiod.text = "※ 평가 등록기간 : "
  364. + fromdd.substr(0,4) + "-" + fromdd.substr(4,2) + "-" + fromdd.substr(6,2) + " ~ "
  365. + todd.substr(0,4) + "-" + todd.substr(4,2) + "-" + todd.substr(6,2) ;
  366. } else {
  367. group3.grp_sea.cp_evalperiod.text = "";
  368. }
  369. }
  370. //평가대상자 목록 조회
  371. var oParam = {};
  372. oParam.id = "TRRPD31601";
  373. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  374. oParam.method = "reqGetSpcEvalPsnFnshList";
  375. oParam.inds = "req=ds_send";
  376. oParam.outds = "ds_main_psnlist=psnlist";
  377. oParam.async = false;
  378. //oParam.callback = "cf_TRRPD31601";
  379. tranf_submit(oParam);
  380. }
  381. function cf_TRRPD31602(sSvcId, nErrorCode, sErrorMsg) {
  382. arErrorCode.push(sSvcId, nErrorCode);
  383. }
  384. //평가 점수 및 총평 조회
  385. function fGetPsnInfo(pRow) {
  386. if ( pRow > -1 ) {
  387. ds_send.clearData();
  388. ds_send.addRow();
  389. ds_send.copyRow(0, ds_main_psnlist, pRow);
  390. var oParam = {};
  391. oParam.id = "TRRPD31603";
  392. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  393. oParam.method = "reqGetSpcEvalPsnScoreList";
  394. oParam.inds = "req=ds_send";
  395. oParam.outds = "ds_main_psninfo_scorelist=scorelist ds_main_psninfo_cmtinfo=cmtinfo";
  396. oParam.async = false;
  397. //oParam.callback = "cf_TRRPD31603";
  398. tranf_submit(oParam);
  399. fCopyInstance();
  400. fCalScore();
  401. }
  402. }
  403. //인스턴스 Copy 함수
  404. function fCopyInstance() {
  405. ds_hidden_psninfo_scorelist.copyData(ds_main_psninfo_scorelist);
  406. ds_hidden_psninfo_cmtinfo.copyData(ds_main_psninfo_cmtinfo);
  407. }
  408. //평점을 계산하여 display합니다.
  409. function fCalScore() {
  410. var vTotal = 0;
  411. var vScore = "";
  412. for(var i = 0; i < ds_main_psninfo_scorelist.rowcount; i++) {
  413. vScore = ds_main_psninfo_scorelist.getColumn(i, "score");
  414. if(utlf_isNull(vScore) ) continue;
  415. vTotal = vTotal + parseFloat(ds_main_psninfo_scorelist.getColumn(i, "score"));
  416. }
  417. group3.opt_totscore.value = vTotal;
  418. }
  419. // 저장버튼 클릭시 저장 수행 함수
  420. function fClickSaveBtn() {
  421. for(var i = 0; i < ds_main_psninfo_scorelist.rowcount ; i++) {
  422. if(utlf_isNull(ds_main_psninfo_scorelist.getColumn(i, "score"))) {
  423. sysf_messageBox("미평가 항목이 존재합니다. 확인 후 저장하시기 바랍니다. ", "E999", "");
  424. return;
  425. }
  426. }
  427. ds_send.clearData(); //cf. clear();
  428. ds_send.addRow();
  429. ds_send.copyRow(0, ds_main_psninfo_cmtinfo, 0);
  430. //copyData : 메소드를 수행하면 대상 데이터셋의 모든 열과 행 정보는 삭제됩니다.
  431. //데이터셋이 복사될 때 삭제된 행은 복사하지 않습니다.
  432. //또한, copyData 메소드를 수행하여 복사된 행의 타입은 ROWTYPE_NORMAL이 됩니다
  433. //ds_senddata_execdata_codelist.copyData(update);
  434. //assign : 지정한 데이터셋에서 행(row) 타입, 열(column) 타입, 데이터 등의 모든 행, 열 정보를 대상 데이터셋에 부여하는 메소드
  435. ds_send_scorelist.assign(grdf_getGridUpdateData(group3.grd_scorelist));
  436. var oParam = {};
  437. oParam.id = "TXRPD31601";
  438. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  439. oParam.method = "reqExeSaveSpcEvalPsnScoreList";
  440. oParam.inds = "cmtinfo=ds_send scorelist=ds_send_scorelist";
  441. oParam.outds = "ds_hidden_item=item";
  442. oParam.async = false;
  443. oParam.callback = "cf_TXRPD31601";
  444. tranf_submit(oParam);
  445. if(arErrorCode.pop("TXRPD31601") > -1) {
  446. fGetPsnList();//평가대상자 목록 재조회
  447. ds_send.copyRow(0, ds_main_psninfo_cmtinfo, 0);
  448. var oParam = {};
  449. oParam.id = "TRRPD31603"; //상세내역 및 조사표 재조회
  450. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  451. oParam.method = "reqGetSpcEvalPsnScoreList";
  452. oParam.inds = "req=ds_send";
  453. oParam.outds = "ds_main_psninfo_scorelist=scorelist ds_main_psninfo_cmtinfo=cmtinfo";
  454. oParam.async = false;
  455. //oParam.callback = "cf_TRRPD31603";
  456. tranf_submit(oParam);
  457. fCalScore();
  458. fCopyInstance();
  459. }
  460. }
  461. function cf_TXRPD31601(sSvcId, nErrorCode, sErrorMsg) {
  462. arErrorCode.push(sSvcId, nErrorCode);
  463. }
  464. //=======================================================================================
  465. // Event
  466. //---------------------------------------------------------------------------------------
  467. /****************************************************************************************
  468. * Components : Form
  469. * Components ID : SMRPD31600
  470. * Event : oninit
  471. * Argument : 01.obj : Object Event has occurred
  472. * : 02.e : Event Object
  473. * Description : 화면 처음 초기화시
  474. ****************************************************************************************/
  475. function SMRPD31600_oninit(obj:Form, e:InitEventInfo)
  476. {
  477. frmf_initForm(obj); //폼 초기화
  478. }
  479. /****************************************************************************************
  480. * Components : Form
  481. * Components ID : SMRPD31600
  482. * Event : onload
  483. * Argument : 01.obj : Object Event has occurred
  484. * : 02.e : Event Object
  485. * Description : 화면 로딩 완료시
  486. ****************************************************************************************/
  487. function SMRPD31600_onload(obj:Form, e:LoadEventInfo)
  488. {
  489. grdf_setRowTypeIcon(group3.grd_psnlist, 0);
  490. grdf_setGridSort(group3.grd_psnlist);
  491. fOpenForm();
  492. }
  493. /****************************************************************************************
  494. * Components : Combo
  495. * Components ID : group3_grp_sea_cmb_instcd
  496. * Event : onitemchanged
  497. * Argument : 01.obj : Object Event has occurred
  498. * : 02.e : Event Object
  499. * Description : 기관코드 콤보 항목 변경시
  500. ****************************************************************************************/
  501. function group3_grp_sea_cmb_instcd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  502. {
  503. fGetPsnList();
  504. }
  505. /****************************************************************************************
  506. * Components : Dataset
  507. * Components ID : ds_main_condition
  508. * Event : oncolumnchanged
  509. * Argument : 01.obj : Object Event has occurred
  510. * : 02.e : Event Object
  511. * Description : 데이터셋 값 변경시
  512. ****************************************************************************************/
  513. function ds_main_condition_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  514. {
  515. switch( e.columnid ) {
  516. case "year" :
  517. fGetPsnList();
  518. break;
  519. default :
  520. break;
  521. }
  522. }
  523. /****************************************************************************************
  524. * Components : Button
  525. * Components ID : group3_grp_sea_btn_search
  526. * Event : onclick
  527. * Argument : 01.obj : Object Event has occurred
  528. * : 02.e : Event Object
  529. * Description : 조회 버튼 클릭시
  530. ****************************************************************************************/
  531. function group3_grp_sea_btn_search_onclick(obj:Button, e:ClickEventInfo)
  532. {
  533. fGetPsnList();
  534. }
  535. /****************************************************************************************
  536. * Components : Grid
  537. * Components ID : group3_grd_psnlist
  538. * Event : oncellclick
  539. * Argument : 01.obj : Object Event has occurred
  540. * : 02.e : Event Object
  541. * Description : 그리드 셀 클릭시
  542. ****************************************************************************************/
  543. function group3_grd_psnlist_oncellclick(obj:Grid, e:GridClickEventInfo)
  544. {
  545. var cur_row = group3.grd_psnlist.currentrow;
  546. fGetPsnInfo(cur_row);
  547. group3.opt_emplno.setFocus();
  548. }
  549. /****************************************************************************************
  550. * Components : Grid
  551. * Components ID : group3_grd_psnlist
  552. * Event : oncellclick
  553. * Argument : 01.obj : Object Event has occurred
  554. * : 02.e : Event Object
  555. * Description : 그리드 셀 클릭시
  556. ****************************************************************************************/
  557. function ds_main_psninfo_scorelist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  558. {
  559. switch( e.columnid ){
  560. case "pos1" :
  561. case "pos2" :
  562. case "pos3" :
  563. case "pos4" :
  564. case "pos5" :
  565. if( e.newvalue == "1" || e.newvalue == "Y" ){
  566. obj.setColumn(e.row, e.columnid, "Y");
  567. }else{
  568. obj.setColumn(e.row, e.columnid, "N");
  569. }
  570. break;
  571. default :
  572. break;
  573. }
  574. var icol = group3.grd_scorelist.currentcell; //currentcol 과 비교! - 셀병합시 다를 수 있다.
  575. var irow = group3.grd_scorelist.currentrow;
  576. var offset = 0;
  577. var MaxScore = 5; //최고 점수
  578. if( group3.grd_scorelist.getCellValue(irow, icol) == "Y" ) {
  579. for( var i = group3.grd_scorelist.getBindCellIndex("body", "pos1") ; i <= group3.grd_scorelist.getBindCellIndex("body", "pos5"); i++ ) {
  580. if( i == icol ) {
  581. ds_main_psninfo_scorelist.setColumn(irow, "score", MaxScore - offset);
  582. } else {
  583. var sColNM = group3.grd_scorelist.getCellProperty("Body", i, "text").replace("bind:", "");
  584. ds_main_psninfo_scorelist.setColumn(irow, sColNM, "N");
  585. }
  586. offset++;
  587. }
  588. } else {
  589. ds_main_psninfo_scorelist.setColumn(irow, "score", "");
  590. }
  591. //평점계를 계산하여 display
  592. fCalScore();
  593. }
  594. /****************************************************************************************
  595. * Components : Button
  596. * Components ID : group4_btn_save
  597. * Event : onclick
  598. * Argument : 01.obj : Object Event has occurred
  599. * : 02.e : Event Object
  600. * Description : 그리드 셀 클릭시
  601. ****************************************************************************************/
  602. function group4_btn_save_onclick(obj:Button, e:ClickEventInfo)
  603. {
  604. fClickSaveBtn();
  605. }
  606. ]]></Script>
  607. </Form>
  608. </FDL>