SMRPD01900_표준번표대상자등록.xfdl 55 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMRPD01900" position="absolute 0 0 1198 797" titletext="표준번표대상자" onload="SMRPD01900_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 16 1195 29" id="group1">
  8. <Layouts>
  9. <Layout>
  10. <Static id="caption4" class="patient_text_black" position="absolute 0 0 0 0"/>
  11. </Layout>
  12. </Layouts>
  13. </Div>
  14. <Div position="absolute 0 26 1195 54" id="group5" scrollbars="autoboth" anchor="left top right">
  15. <Layouts>
  16. <Layout>
  17. <Shape position="absolute 0 21 1195 27" id="line75" class="line_6" anchor="left top right"/>
  18. <Button position="absolute 1070 0 1126 22" id="btn_save" class="btn4" text="저장" anchor="top right" onclick="group5_btn_save_onclick"/>
  19. <Button position="absolute 1127 0 1195 22" id="btn_clear" class="btn4" text="초기화" anchor="top right" onclick="group5_btn_clear_onclick"/>
  20. </Layout>
  21. </Layouts>
  22. </Div>
  23. <Div position="absolute 0 50 1196 795" id="group3" scrollbars="autohorz" anchor="all">
  24. <Layouts>
  25. <Layout>
  26. <Shape position="absolute 194 69 849 75" id="line1" class="line_10" anchor="left top right"/>
  27. <Div position="absolute 0 1 1195 41" align="align:center top;" id="group4" anchor="left top right" class="div_SA2">
  28. <Layouts>
  29. <Layout>
  30. <Shape position="absolute 1107 6 1113 34" linetype="vertical" id="line3" class="line_4" anchor="top right"/>
  31. <Static text="근무부서 :" position="absolute 293 11 379 28" id="caption1" class="search_name" anchor="default"/>
  32. <Static text="사원번호 :" position="absolute 617 11 703 28" id="caption2" class="search_name" anchor="default"/>
  33. <Edit position="absolute 703 10 773 29" id="ipt_emplno" class="input_search" taborder="6" anchor="default" autoselect="true" onkeydown="group3_group4_ipt_emplno_onkeydown"/>
  34. <Button position="absolute 778 12 794 28" id="btn_empl" class="icon_search" text="" anchor="default" onclick="group3_group4_btn_empl_onclick"/>
  35. <Edit position="absolute 799 10 919 29" id="ipt_emplnm" class="input_search" taborder="7" anchor="default" autoselect="true" onkeydown="group3_group4_ipt_emplnm_onkeydown"/>
  36. <Button position="absolute 1125 9 1181 31" align="align:left middle;" id="btn_search" class="btn1" taborder="8" text="조회" anchor="top right" onclick="group3_group4_btn_search_onclick"/>
  37. <Static text="적용일자 :" position="absolute 119 10 205 27" id="caption7" class="search_name" visible="false" anchor="default"/>
  38. <Combo position="absolute 380 10 459 29" id="cmb_dutplce" class="combo_essential" visible="false" anchor="default"/>
  39. <Calendar position="absolute 197 10 287 29" align="align:center middle;" id="ipt_appdd" class="input_essential" taborder="1" visible="false" anchor="default" onchanged="group3_group4_ipt_appdd_onchanged"/>
  40. <Edit position="absolute 380 10 460 29" align="align:center middle;" id="ipt_dutdeptcd" class="input_search" taborder="4" anchor="default" onkeydown="group3_group4_ipt_dutdeptcd_onkeydown" autoselect="true"/>
  41. <Edit position="absolute 483 10 603 29" id="ipt_dutdeptnm" class="input_search" taborder="5" anchor="default" autoselect="true" onkeydown="group3_group4_ipt_dutdeptnm_onkeydown"/>
  42. <Button position="absolute 464 12 480 28" id="btn_dutdept" class="icon_search" text="" anchor="default" onclick="group3_group4_btn_dutdept_onclick"/>
  43. <Combo position="absolute 102 10 255 29" id="cmb_instcd" class="combo_search" taborder="1" anchor="default"/>
  44. <Static text="소속기관 :" position="absolute 14 11 100 28" id="caption8" class="search_name" anchor="default"/>
  45. </Layout>
  46. </Layouts>
  47. </Div>
  48. <Static text="관리부서 목록" position="absolute 0 53 136 70" id="caption9" class="tit_2" anchor="default"/>
  49. <Shape position="absolute 0 69 193 75" linetype="horizontal" id="line4" class="line_10" anchor="default"/>
  50. <Static text="표준번표 적용대상자" position="absolute 194 53 349 70" id="caption3" class="tit_2" anchor="default"/>
  51. <Grid position="absolute 194 74 849 744" id="grd_stndduttabletrgtmanlist" class="text_center" binddataset="ds_main_stndduttabletrgtmanlist" anchor="all" oncellclick="group3_grd_stndduttabletrgtmanlist_oncellclick" onexpandup="group3_grd_stndduttabletrgtmanlist_onexpandup" ontextchanged="group3_grd_stndduttabletrgtmanlist_ontextchanged" cellclickbound="cell" autoenter="select">
  52. <Formats>
  53. <Format id="default">
  54. <Columns>
  55. <Column size="25" band="left"/>
  56. <Column size="0"/>
  57. <Column size="65"/>
  58. <Column size="60"/>
  59. <Column size="55"/>
  60. <Column size="0"/>
  61. <Column size="0"/>
  62. <Column size="0"/>
  63. <Column size="100"/>
  64. <Column size="70"/>
  65. <Column size="0"/>
  66. <Column size="0"/>
  67. <Column size="0"/>
  68. <Column size="0"/>
  69. <Column size="70"/>
  70. <Column size="40"/>
  71. <Column size="60"/>
  72. <Column size="0"/>
  73. <Column size="32"/>
  74. <Column size="30"/>
  75. <Column size="31"/>
  76. <Column size="0"/>
  77. <Column size="0"/>
  78. </Columns>
  79. <Rows>
  80. <Row size="24" band="head"/>
  81. <Row size="24" band="head"/>
  82. <Row size="24"/>
  83. </Rows>
  84. <Band id="head">
  85. <Cell rowspan="2" taborder="undefined"/>
  86. <Cell col="1" rowspan="2" text="기관코드" taborder="undefined"/>
  87. <Cell col="2" rowspan="2" text="사원번호" taborder="undefined"/>
  88. <Cell col="3" rowspan="2" text="성명" taborder="undefined"/>
  89. <Cell col="4" rowspan="2" text="직종" taborder="undefined"/>
  90. <Cell col="5" text="소속부서"/>
  91. <Cell col="6" text="현소속부서"/>
  92. <Cell col="7" text="근무부서"/>
  93. <Cell col="8" rowspan="2" text="근무지" taborder="undefined"/>
  94. <Cell col="9" rowspan="2" text="분류" taborder="undefined"/>
  95. <Cell col="10" text="팀"/>
  96. <Cell col="11" text="유닛"/>
  97. <Cell col="12" text="직군"/>
  98. <Cell col="13" text="직열"/>
  99. <Cell col="14" rowspan="2" text="근무유형" taborder="undefined"/>
  100. <Cell col="15" colspan="2" text="통상근무" taborder="undefined"/>
  101. <Cell col="17" text="야간근무"/>
  102. <Cell col="18" colspan="2" text="야간근무" taborder="undefined"/>
  103. <Cell col="20" rowspan="2" text="정렬순서" wordwrap="char" taborder="undefined"/>
  104. <Cell col="21" text="flag"/>
  105. <Cell col="22" text="적용일자"/>
  106. <Cell row="1" col="5" text="소속부서"/>
  107. <Cell row="1" col="6" text="현소속부서"/>
  108. <Cell row="1" col="7" text="근무부서"/>
  109. <Cell row="1" col="10" text="팀"/>
  110. <Cell row="1" col="11" text="유닛"/>
  111. <Cell row="1" col="12" text="직군"/>
  112. <Cell row="1" col="13" text="직열"/>
  113. <Cell row="1" col="15" text="코드"/>
  114. <Cell row="1" col="16" text="코드명"/>
  115. <Cell row="1" col="17" text="Grade"/>
  116. <Cell row="1" col="18" text="순번"/>
  117. <Cell row="1" col="19" text="여부"/>
  118. <Cell row="1" col="21" text="flag"/>
  119. <Cell row="1" col="22" text="적용일자"/>
  120. </Band>
  121. <Band id="body">
  122. <Cell celltype="head"/>
  123. <Cell col="1" text="bind:instcd"/>
  124. <Cell col="2" displaytype="text" edittype="text" class="input_essential" text="bind:emplno" editautoselect="true" expandshow="show" enable="false"/>
  125. <Cell col="3" displaytype="text" edittype="text" text="bind:emplnm" editautoselect="true" enable="false"/>
  126. <Cell col="4" text="bind:jobkindnm"/>
  127. <Cell col="5" text="bind:posdeptcd"/>
  128. <Cell col="6" text="bind:posdeptnm"/>
  129. <Cell col="7" text="bind:dutdeptcd"/>
  130. <Cell col="8" text="bind:dutdeptnm"/>
  131. <Cell col="9" displaytype="combo" edittype="combo" style="padding:1 2 1 2;" text="bind:untitle" combodisplayrowcount="20"/>
  132. <Cell col="10" text="bind:teamcd"/>
  133. <Cell col="11" text="bind:unitcd"/>
  134. <Cell col="12" text="bind:grupjoblncd"/>
  135. <Cell col="13" text="bind:joblncd"/>
  136. <Cell col="14" displaytype="combo" edittype="combo" style="padding:1 2 1 2;" text="bind:dutkindcd" combodataset="ds_cmb_dutkindcd" combocodecol="value" combodatacol="label" combodisplayrowcount="20"/>
  137. <Cell col="15" displaytype="text" edittype="text" text="bind:dutcd" editautoselect="true" expandshow="show"/>
  138. <Cell col="16" displaytype="text" edittype="text" text="bind:dutnm" editautoselect="true"/>
  139. <Cell col="17" displaytype="text" edittype="text" text="bind:dutgrde"/>
  140. <Cell col="18" displaytype="text" edittype="text" text="bind:dutseq" editautoselect="true"/>
  141. <Cell col="19" displaytype="checkbox" edittype="checkbox" text="bind:nigtdutyn" expr="expr:(nigtdutyn==&quot;Y&quot;||nigtdutyn==1)?1:0"/>
  142. <Cell col="20" displaytype="text" edittype="text" text="bind:prntseq" editautoselect="true"/>
  143. <Cell col="21" text="bind:flag"/>
  144. <Cell col="22" displaytype="date" edittype="date" class="input_essential" text="bind:appdd" mask="yyyy-mm-dd" enable="false"/>
  145. </Band>
  146. </Format>
  147. </Formats>
  148. </Grid>
  149. <Grid position="absolute 0 74 193 744" align="align:center middle;" id="grd_dutdeptlist" binddataset="ds_main_dutdeptlist" anchor="left top bottom" oncelldblclick="group3_grd_dutdeptlist_oncelldblclick" onselectchanged="group3_grd_dutdeptlist_onselectchanged">
  150. <Formats>
  151. <Format id="default">
  152. <Columns>
  153. <Column size="25" band="left"/>
  154. <Column size="0"/>
  155. <Column size="125"/>
  156. <Column size="30"/>
  157. <Column size="100"/>
  158. <Column size="0"/>
  159. </Columns>
  160. <Rows>
  161. <Row size="24" band="head"/>
  162. <Row size="24" band="head"/>
  163. <Row size="24"/>
  164. </Rows>
  165. <Band id="head">
  166. <Cell rowspan="2" taborder="undefined"/>
  167. <Cell col="1" rowspan="2" text="기관코드" taborder="undefined"/>
  168. <Cell col="2" rowspan="2" text="부서명" taborder="undefined"/>
  169. <Cell col="3" rowspan="2" text="정원" taborder="undefined"/>
  170. <Cell col="4" rowspan="2" text="정원적용일자" taborder="undefined"/>
  171. <Cell col="5" text="부서코드"/>
  172. <Cell row="1" col="5" text="부서코드"/>
  173. </Band>
  174. <Band id="body">
  175. <Cell celltype="head"/>
  176. <Cell col="1" text="bind:instcd"/>
  177. <Cell col="2" style="align:left top;padding:5 2 1 2;" text="bind:dutdeptnm" wordwrap="word"/>
  178. <Cell col="3" displaytype="text" edittype="text" text="bind:nrcnt"/>
  179. <Cell col="4" displaytype="expr:utlf_isNull(appdd) ? 'normal' : 'date'" edittype="date" text="bind:appdd" editautoselect="true"/>
  180. <Cell col="5" text="bind:dutdeptcd"/>
  181. </Band>
  182. </Format>
  183. </Formats>
  184. </Grid>
  185. <Button position="absolute 769 47 849 69" align="align:left middle;" id="btn_excadd" class="btn7" text="엑셀입력" anchor="top right" onclick="group3_btn_excadd_onclick"/>
  186. <Button position="absolute 632 47 685 69" id="btn_grddel" class="btn2" text="행삭제" anchor="top right" onclick="group3_btn_grddel_onclick"/>
  187. <Button position="absolute 577 47 630 69" id="btn_grdadd" class="btn2" text="행추가" anchor="top right" onclick="group3_btn_grdadd_onclick"/>
  188. <Button position="absolute 687 47 767 69" id="btn_excsave" class="btn7" text="엑셀저장" anchor="top right" onclick="group3_btn_excsave_onclick"/>
  189. <Edit readonly="true" position="absolute 480 50 505 69" id="output1" visible="false" anchor="default"/>
  190. <Edit readonly="true" position="absolute 515 50 540 69" id="output2" visible="false" anchor="default"/>
  191. <Grid position="absolute 850 74 1195 744" align="align:center middle;" id="grd_dutdetaillist" binddataset="ds_main_dutdetaillist" anchor="top right bottom" onexpandup="group3_grd_dutdetaillist_onexpandup" autoenter="select">
  192. <Formats>
  193. <Format id="default">
  194. <Columns>
  195. <Column size="25" band="left"/>
  196. <Column size="65"/>
  197. <Column size="60"/>
  198. <Column size="60"/>
  199. <Column size="69"/>
  200. <Column size="0"/>
  201. <Column size="50"/>
  202. <Column size="0"/>
  203. <Column size="0"/>
  204. </Columns>
  205. <Rows>
  206. <Row size="24" band="head"/>
  207. <Row size="24" band="head"/>
  208. <Row size="24"/>
  209. </Rows>
  210. <Band id="head">
  211. <Cell rowspan="2" taborder="undefined"/>
  212. <Cell col="1" rowspan="2" text="사원번호" taborder="undefined"/>
  213. <Cell col="2" rowspan="2" text="성명" taborder="undefined"/>
  214. <Cell col="3" rowspan="2" text="분류" taborder="undefined"/>
  215. <Cell col="4" rowspan="2" text="년월" taborder="undefined"/>
  216. <Cell col="5" text="부서"/>
  217. <Cell col="6" rowspan="2" text="부서장" taborder="undefined"/>
  218. <Cell col="7"/>
  219. <Cell col="8"/>
  220. <Cell row="1" col="5" text="부서"/>
  221. <Cell row="1" col="7"/>
  222. <Cell row="1" col="8"/>
  223. </Band>
  224. <Band id="body">
  225. <Cell celltype="head"/>
  226. <Cell col="1" displaytype="text" edittype="text" class="input_essential" text="bind:emplno" editautoselect="true" expandshow="show" enable="false"/>
  227. <Cell col="2" displaytype="text" edittype="text" text="bind:emplnm" editautoselect="true" enable="false"/>
  228. <Cell col="3" displaytype="combo" edittype="combo" style="padding:1 2 1 2;" text="bind:untitle" combodisplayrowcount="20"/>
  229. <Cell col="4" displaytype="expr:utlf_isNull(dutym) ? 'normal' : 'date'" edittype="date" text="bind:dutym" mask="expr:utlf_isNull(dutym) ? '' : 'yyyy-MM'" editautoselect="true"/>
  230. <Cell col="5" text="bind:dutdeptnm"/>
  231. <Cell col="6" displaytype="text" edittype="text" text="bind:fstrgstrid" editautoselect="true"/>
  232. <Cell col="7" text="bind:dutdeptcd"/>
  233. <Cell col="8" text="bind:beforedutym"/>
  234. </Band>
  235. </Format>
  236. </Formats>
  237. </Grid>
  238. <Shape position="absolute 850 69 1195 75" linetype="horizontal" id="line2" class="line_10" anchor="top right"/>
  239. <Button position="absolute 1098 47 1151 69" id="btn_deldutdetaillist" class="btn2" visible="false" text="행삭제" anchor="top right" onclick="group3_btn_deldutdetaillist_onclick"/>
  240. <Button position="absolute 1153 47 1195 69" id="btn_savedutdetaillist" class="btn2" visible="false" text="저장" anchor="top right" onclick="group3_btn_savedutdetaillist_onclick"/>
  241. <Button position="absolute 1043 47 1096 69" id="btn_adddutdetaillist" class="btn2" visible="false" text="행추가" anchor="top right" onclick="group3_btn_adddutdetaillist_onclick"/>
  242. <Combo position="absolute 370 50 435 69" id="cmb_delauth" visible="false" anchor="default"/>
  243. <Button position="absolute 151 47 193 69" id="button1" class="btn2" visible="false" text="저장" anchor="default" onclick="group3_button1_onclick"/>
  244. </Layout>
  245. </Layouts>
  246. </Div>
  247. <Static id="caption6" text="표준번표대상자등록" class="tit_1" position="absolute 0 0 160 25"/>
  248. </Layout>
  249. </Layouts>
  250. <Objects>
  251. <Dataset id="ds_hidden_savelist_detail" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep"/>
  252. <Dataset id="ds_send_srchdetail" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  253. <ColumnInfo>
  254. <Column id="srchemplno" type="STRING" size="256"/>
  255. <Column id="srchdeptcd" type="STRING" size="256"/>
  256. </ColumnInfo>
  257. <Rows>
  258. <Row>
  259. <Col id="srchemplno"/>
  260. <Col id="srchdeptcd"/>
  261. </Row>
  262. </Rows>
  263. </Dataset>
  264. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep" oncolumnchanged="ds_send_oncolumnchanged">
  265. <ColumnInfo>
  266. <Column id="instcd" type="STRING" size="256"/>
  267. <Column id="appdd" type="STRING" size="256"/>
  268. <Column id="posdeptcd" type="STRING" size="256"/>
  269. <Column id="posdeptnm" type="STRING" size="256"/>
  270. <Column id="dutunitcd" type="STRING" size="256"/>
  271. <Column id="dutunitnm" type="STRING" size="256"/>
  272. <Column id="emplno" type="STRING" size="256"/>
  273. <Column id="emplnm" type="STRING" size="256"/>
  274. <Column id="stndduttabletrgtmanlist" type="STRING" size="256"/>
  275. <Column id="dummy" type="STRING" size="256"/>
  276. <Column id="flag" type="STRING" size="256"/>
  277. <Column id="dutdeptcd" type="STRING" size="256"/>
  278. <Column id="dutdeptnm" type="STRING" size="256"/>
  279. </ColumnInfo>
  280. <Rows>
  281. <Row>
  282. <Col id="instcd"/>
  283. <Col id="appdd"/>
  284. <Col id="posdeptcd"/>
  285. <Col id="posdeptnm"/>
  286. <Col id="dutunitcd"/>
  287. <Col id="dutunitnm"/>
  288. <Col id="emplno"/>
  289. <Col id="emplnm"/>
  290. <Col id="stndduttabletrgtmanlist"/>
  291. <Col id="dummy"/>
  292. <Col id="flag"/>
  293. <Col id="dutdeptcd"/>
  294. <Col id="dutdeptnm"/>
  295. </Row>
  296. </Rows>
  297. </Dataset>
  298. <Dataset id="ds_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  299. <ColumnInfo>
  300. <Column id="temp" type="STRING" size="256"/>
  301. </ColumnInfo>
  302. <Rows>
  303. <Row>
  304. <Col id="temp"/>
  305. </Row>
  306. </Rows>
  307. </Dataset>
  308. <Dataset id="ds_delauth" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  309. <ColumnInfo>
  310. <Column id="delauth" type="STRING" size="256"/>
  311. </ColumnInfo>
  312. </Dataset>
  313. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  314. <ColumnInfo/>
  315. </Dataset>
  316. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  317. <ColumnInfo>
  318. <Column id="init" type="STRING" size="256"/>
  319. </ColumnInfo>
  320. <Rows>
  321. <Row>
  322. <Col id="init"/>
  323. </Row>
  324. </Rows>
  325. </Dataset>
  326. <Dataset id="ds_main_stndduttabletrgtmanlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  327. <Dataset id="ds_main_dutdetaillist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  328. <Dataset id="ds_main_dutdeptlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep"/>
  329. <Dataset id="ds_hidden_userinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  330. <Dataset id="ds_init_cmb_dutplce_combocodelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  331. <Dataset id="ds_init_combocd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  332. <Dataset id="ds_cmb_dutkindcd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  333. <ColumnInfo>
  334. <Column id="label" type="STRING" size="256"/>
  335. <Column id="value" type="STRING" size="256"/>
  336. </ColumnInfo>
  337. <Rows>
  338. <Row>
  339. <Col id="label">통상근무</Col>
  340. <Col id="value">A</Col>
  341. </Row>
  342. <Row>
  343. <Col id="label">격일제 근무</Col>
  344. <Col id="value">B</Col>
  345. </Row>
  346. <Row>
  347. <Col id="label">3교대근무</Col>
  348. <Col id="value">C</Col>
  349. </Row>
  350. </Rows>
  351. </Dataset>
  352. </Objects>
  353. <Bind>
  354. <BindItem id="item0" compid="group3.group4.ipt_emplno" propid="value" datasetid="ds_send" columnid="emplno"/>
  355. <BindItem id="item1" compid="group3.group4.ipt_emplnm" propid="value" datasetid="ds_send" columnid="emplnm"/>
  356. <BindItem id="item2" compid="group3.group4.cmb_dutplce" propid="value" datasetid="ds_send" columnid="dutunitcd"/>
  357. <BindItem id="item3" compid="group3.group4.ipt_appdd" propid="value" datasetid="ds_send" columnid="appdd"/>
  358. <BindItem id="item4" compid="group3.group4.ipt_dutdeptcd" propid="value" datasetid="ds_send" columnid="dutunitcd"/>
  359. <BindItem id="item5" compid="group3.group4.ipt_dutdeptnm" propid="value" datasetid="ds_send" columnid="dutunitnm"/>
  360. <BindItem id="item6" compid="group3.group4.cmb_instcd" propid="value" datasetid="ds_send" columnid="instcd"/>
  361. <BindItem id="item7" compid="group3.output1" propid="value" datasetid="ds_send" columnid="dutdeptcd"/>
  362. <BindItem id="item8" compid="group3.output2" propid="value" datasetid="ds_send" columnid="dutdeptnm"/>
  363. <BindItem id="item9" compid="group3.cmb_delauth" propid="value" datasetid="_root" columnid="delauth"/>
  364. </Bind>
  365. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  366. * System Name :
  367. * Job Name :
  368. * Creator :
  369. * Make Date : 2017-06-19
  370. * Description :
  371. *---------------------------------------------------------------------------------------
  372. * Modify Date Modifier Modify Description
  373. *---------------------------------------------------------------------------------------
  374. * 2017-06-19 Live Converter TF->XP
  375. *
  376. *---------------------------------------------------------------------------------------
  377. ****************************************************************************************/
  378. //=======================================================================================
  379. // Lib Include
  380. //---------------------------------------------------------------------------------------
  381. include "com_commonxp::comm_main.xjs";
  382. include "mis_miscommonxp::MIS.xjs";
  383. include "mis_dligclaznsmngtxp::RPD001.xjs";
  384. include "mis_humtrafactmngtxp::RPB001.xjs";
  385. //=======================================================================================
  386. // Global Form Variable
  387. //---------------------------------------------------------------------------------------
  388. var arErrorCode = new HashArray();
  389. //=======================================================================================
  390. // Function
  391. //---------------------------------------------------------------------------------------
  392. /****************************************************************************************
  393. * Argument : N/A
  394. * Description : 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
  395. ****************************************************************************************/
  396. function fInitialize()
  397. {
  398. misfGridInit(group3.grd_dutdeptlist);
  399. misfGridInit(group3.grd_stndduttabletrgtmanlist);
  400. misfGridInit(group3.grd_dutdetaillist);
  401. misfMsterDetailSet(group3.grd_dutdeptlist,null,"TRRPD01901","N");
  402. misfMsterDetailSet(group3.grd_stndduttabletrgtmanlist,null, "TRRPD01902", "Y");
  403. ds_send.clearData(); ds_send.addRow();
  404. misfComboInstCdListMulti("group3.group4.cmb_instcd",group3.group4.ipt_appdd.value,"","N");
  405. misfComboComCdListMulti("R0426,R0426,R9996","group3.grd_stndduttabletrgtmanlist.untitle,group3.grd_dutdetaillist.untitle,group3.cmb_delauth");
  406. group3.cmb_delauth.value = sysf_getUserInfo("userid");
  407. misfGetAndSetUserInfo();
  408. misfGetUserAuth();
  409. rpdfSetControlAuth();
  410. rpdfComboCdList(group3.group4.cmb_dutplce); // 권한별 근무부서 세팅
  411. rpdfSetDutUnitCombo();
  412. fSetComBoBind();
  413. ds_send.setColumn( 0, "dutunitcd", DUT_UNIT_CD);
  414. ds_send.setColumn( 0, "dutunitnm", DUT_UNIT_NM);
  415. ds_send.setColumn( 0, "dutdeptcd", DUT_UNIT_CD);
  416. ds_send.setColumn( 0, "dutdeptnm", DUT_UNIT_NM);
  417. ds_send.setColumn( 0, "instcd", sysf_getUserInfo("dutplceinstcd"));
  418. if(sysf_getUserInfo("dutplceinstcd") == "001" && DUTY_PART_YN == "Y")
  419. {
  420. group3.group4.cmb_instcd.enable = true;
  421. group3.group4.ipt_dutdeptcd.enable = true;
  422. group3.group4.ipt_dutdeptnm.enable = true;
  423. group3.group4.btn_dutdept.enable = true;
  424. group3.button1.visible = true;
  425. }
  426. else if ( DUTY_PART_YN == "Y" ) {
  427. group3.group4.ipt_dutdeptcd.enable = true;
  428. group3.group4.ipt_dutdeptnm.enable = true;
  429. group3.group4.btn_dutdept.enable = true;
  430. group3.button1.visible = true;
  431. }
  432. else
  433. {
  434. group3.group4.cmb_instcd.enable = false;
  435. group3.group4.ipt_dutdeptcd.enable = false;
  436. group3.group4.ipt_dutdeptnm.enable = false;
  437. group3.group4.btn_dutdept.enable = false;
  438. group3.button1.visible = false;
  439. }
  440. //화면 권한 설정
  441. group5.btn_save.enable = frmf_checkAuth("X");
  442. group3.group4.btn_search.enable = frmf_checkAuth("X");
  443. if(group3.group4.cmb_dutplce.length == 1)
  444. {
  445. //rpdfSetControlByJobRespCd("ipt_appdd,group3.group4.ipt_dutdeptcd,group3.group4.btn_dutdept,group3.group4.ipt_dutdeptnm,group3.group4.ipt_emplno,group3.group4.btn_empl,group3.group4.ipt_emplnm,group3.btn_grdadd,group3.btn_grddel,group3.btn_excsave,group3.btn_excadd,group3.group4.btn_search,group5.btn_save,btn_clear");
  446. }
  447. group3.group4.ipt_appdd.value = "20000101";
  448. var iRowIdx = ds_main_dutdeptlist.findRow("dutdeptcd", DUT_UNIT_CD);
  449. if(iRowIdx >= 0)
  450. {
  451. ds_main_dutdeptlist.rowposition = iRowIdx;
  452. group3.grd_dutdeptlist.setCellPos(group3.grd_dutdeptlist.getBindCellIndex("body","dutdeptnm"));
  453. group3.grd_dutdeptlist.setFocus();
  454. frmf_inputEnterKey("group3.grd_dutdeptlist", "oncelldblclick", new GridClickEventInfo);
  455. }
  456. if(group3.cmb_delauth.text == "1"){
  457. group3.btn_deldutdetaillist.visible = true;
  458. group3.btn_adddutdetaillist.visible = true;
  459. group3.btn_savedutdetaillist.visible = true;
  460. }
  461. }
  462. /****************************************************************************************
  463. * Argument : N/A
  464. * Description : 콤보설정. 인덱스가 헷갈림 테스트 필수
  465. ****************************************************************************************/
  466. function fSetComBoBind()
  467. {
  468. rpdfComboCdList(group3.group4.cmb_dutplce);
  469. ds_init_cmb_dutplce_combocodelist.copyData(ds_init_combocd_combocodelist);
  470. ds_main_dutdeptlist.updatecontrol = false;
  471. if(ds_init_cmb_dutplce_combocodelist.rowcount == 0)
  472. {
  473. ds_main_dutdeptlist.clearData();
  474. dsf_makeValue( ds_main_dutdeptlist, "instcd", "string", sysf_getUserInfo("dutplceinstcd"));
  475. dsf_makeValue( ds_main_dutdeptlist, "dutdeptcd", "string", DUT_UNIT_CD);
  476. dsf_makeValue( ds_main_dutdeptlist, "dutdeptnm", "string", DUT_UNIT_NM);
  477. group3.group4.cmb_dutplce.value = DUT_UNIT_NM;
  478. }
  479. else
  480. {
  481. var bAdd = true;
  482. var iStartIdx = -1;
  483. for(var i = 0; i < ds_init_cmb_dutplce_combocodelist.rowcount; i++)
  484. {
  485. if(ds_init_cmb_dutplce_combocodelist.getColumn(i, "cdid") == DUT_UNIT_CD) bAdd = false;
  486. }
  487. if(bAdd)
  488. {
  489. iStartIdx++;
  490. dsf_makeValue(ds_main_dutdeptlist, "instcd", "string", sysf_getUserInfo("dutplceinstcd"), iStartIdx);
  491. dsf_makeValue(ds_main_dutdeptlist, "dutdeptcd", "string", DUT_UNIT_CD, iStartIdx);
  492. dsf_makeValue(ds_main_dutdeptlist, "dutdeptnm", "string", DUT_UNIT_NM, iStartIdx);
  493. }
  494. var iIdx = 0;
  495. for(var i = 0; i < ds_init_cmb_dutplce_combocodelist.rowcount ; i++)
  496. {
  497. dsf_makeValue(ds_main_dutdeptlist, "instcd", "string", sysf_getUserInfo("dutplceinstcd"), i+iStartIdx);
  498. dsf_makeValue(ds_main_dutdeptlist, "dutdeptcd", "string", ds_init_cmb_dutplce_combocodelist.getColumn(iIdx, "cdid"), i+iStartIdx);
  499. dsf_makeValue(ds_main_dutdeptlist, "dutdeptnm", "string", ds_init_cmb_dutplce_combocodelist.getColumn(iIdx, "cdnm"), i+iStartIdx);
  500. dsf_makeValue(ds_main_dutdeptlist, "nrcnt", "string", ds_init_cmb_dutplce_combocodelist.getColumn(iIdx, "nrcnt"), i+iStartIdx);
  501. dsf_makeValue(ds_main_dutdeptlist, "appdd", "string", ds_init_cmb_dutplce_combocodelist.getColumn(iIdx, "appdd"), i+iStartIdx);
  502. iIdx++;
  503. }
  504. }
  505. ds_main_dutdeptlist.updatecontrol = true;
  506. }
  507. /****************************************************************************************
  508. * Argument : N/A
  509. * Description : 조회
  510. ****************************************************************************************/
  511. function fRetrieve()
  512. {
  513. if(utlf_isNull(group3.group4.ipt_appdd.value))
  514. {
  515. sysf_messageBox("적용일자를","C002");
  516. return;
  517. }
  518. ds_send.setColumn(0, "flag", "1");
  519. misfMsterDetailRetrieve();
  520. // group3.grd_dutdeptlist.col = 2;
  521. group3.grd_dutdeptlist.setFocus();
  522. group3.grd_dutdeptlist.setCellPos(2);
  523. }
  524. /****************************************************************************************
  525. * Argument : N/A
  526. * Description : 저장
  527. ****************************************************************************************/
  528. function fSave()
  529. {
  530. var updtdata = grdf_getGridUpdateData(group3.grd_stndduttabletrgtmanlist, "all");
  531. if (updtdata.rowcount == 0 )
  532. {
  533. sysf_messageBox("변경된 데이터가","I004");
  534. return;
  535. }
  536. var null_check1 = "";
  537. var null_chech2 = "";
  538. for(var i = 0; i < ds_main_stndduttabletrgtmanlist.rowcount; i++)
  539. {
  540. null_check1 = dsf_getColumnNullToEmpty(ds_main_stndduttabletrgtmanlist, i, "emplno");
  541. null_check2 = dsf_getColumnNullToEmpty(ds_main_stndduttabletrgtmanlist, i, "appdd");
  542. if(null_check1 == "")
  543. {
  544. sysf_messageBox("사원번호는","I003");
  545. return;
  546. }
  547. else if(null_check2 == "")
  548. {
  549. sysf_messageBox("적용일자는","I003");
  550. return;
  551. }
  552. }
  553. misfSave("TXRPD01901");
  554. // group3.grd_stndduttabletrgtmanlist.endEditCell();
  555. // group3.grd_stndduttabletrgtmanlist.dispatch("onclick");
  556. frmf_inputEnterKey("group3.grd_stndduttabletrgtmanlist", "oncellclick", new GridClickEventInfo);
  557. }
  558. /****************************************************************************************
  559. * Argument : N/A
  560. * Description : 초기화
  561. ****************************************************************************************/
  562. function fReset()
  563. {
  564. var updtdata = grdf_getGridUpdateData(group3.grd_stndduttabletrgtmanlist, "all");
  565. if (updtdata.rowcount > 0)
  566. {
  567. var ret = sysf_messageBox("그리드에 작업 중인 내용이 있습니다. 초기화 작업을","Q003");
  568. if (ret != 6) // not OK
  569. {
  570. return;
  571. }
  572. }
  573. fInitialize();
  574. }
  575. /****************************************************************************************
  576. * Argument : N/A
  577. * Description : 행추가
  578. ****************************************************************************************/
  579. function fAddRow()
  580. {
  581. var null_check1 = group3.group4.ipt_appdd.value;
  582. if(utlf_isNull(null_check1))
  583. {
  584. sysf_messageBox("적용일자를","C002");
  585. return;
  586. }
  587. misfGridIUD(group3.grd_stndduttabletrgtmanlist,"A");
  588. group3.grd_stndduttabletrgtmanlist.setFocus();
  589. group3.grd_stndduttabletrgtmanlist.setCellPos(2);
  590. group3.grd_stndduttabletrgtmanlist.showEditor(true);
  591. group3.grd_stndduttabletrgtmanlist.setEditCaret(-1);
  592. }
  593. /****************************************************************************************
  594. * Argument : N/A
  595. * Description : Detail내역 저장로직
  596. ****************************************************************************************/
  597. function fDetailSave(){
  598. ds_main_dutdetaillist.enableevent = false;
  599. ds_main_dutdetaillist.updatecontrol = false;
  600. for(var i = 0; i < ds_main_dutdetaillist.rowcount ;i++){
  601. ds_main_dutdetaillist.setColumn(i, "dutym", utlf_transNullToEmpty(ds_main_dutdetaillist.getColumn(i, "dutym")).substr(0, 6))
  602. }
  603. ds_main_dutdetaillist.updatecontrol = true;
  604. ds_main_dutdetaillist.enableevent = true;
  605. var dsUpdate = grdf_getGridUpdateData(group3.grd_dutdetaillist, "all");
  606. grdf_setStatusColumn(dsUpdate, "status");
  607. ds_hidden_savelist_detail.copyData(dsUpdate, true);
  608. var oParam = {};
  609. oParam.id = "TXRPD01902";
  610. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  611. oParam.method = "reqSetStndduttabletrgtmandetail";
  612. oParam.inds = "detail=ds_hidden_savelist_detail";
  613. oParam.outds = "";
  614. oParam.async = false;
  615. oParam.callback = "cf_TXRPD01902";
  616. tranf_submit(oParam);
  617. if (arErrorCode.pop("TXRPD01902") > -1) {
  618. sysf_messageBox("저장되었습니다.", "I000");
  619. frmf_inputEnterKey("group3.grd_stndduttabletrgtmanlist", "oncellclick", new GridClickEventInfo);
  620. }
  621. }
  622. function cf_TXRPD01902(sSvcId, nErrorCode, sErrorMsg) {
  623. arErrorCode.push(sSvcId, nErrorCode);
  624. }
  625. //=======================================================================================
  626. // Event
  627. //---------------------------------------------------------------------------------------
  628. /****************************************************************************************
  629. * Components : Form
  630. * Description : 화면 처음 초기화시 폼초기화
  631. ****************************************************************************************/
  632. function SMRPD01900_onload(obj:Form, e:LoadEventInfo) {
  633. frmf_initForm(obj);
  634. //grdf_initGrid(grd_XXX);
  635. grdf_setGridSort(group3.grd_dutdeptlist);
  636. grdf_setRowTypeIcon(group3.grd_dutdeptlist, 0);
  637. grdf_setGridSort(group3.grd_stndduttabletrgtmanlist);
  638. grdf_setRowTypeIcon(group3.grd_stndduttabletrgtmanlist, 0);
  639. grdf_setGridSort(group3.grd_dutdetaillist);
  640. grdf_setRowTypeIcon(group3.grd_dutdetaillist, 0);
  641. fInitialize();
  642. }
  643. /****************************************************************************************
  644. * Components : Button
  645. * Description : 저장
  646. ****************************************************************************************/
  647. function group5_btn_save_onclick(obj:Button, e:ClickEventInfo) {
  648. fSave();
  649. }
  650. /****************************************************************************************
  651. * Components : Button
  652. * Description : 초기화
  653. ****************************************************************************************/
  654. function group5_btn_clear_onclick(obj:Button, e:ClickEventInfo) {
  655. fReset();
  656. }
  657. /****************************************************************************************
  658. * Components : Edit
  659. * Description : 근무부서 코드 입력
  660. ****************************************************************************************/
  661. function group3_group4_ipt_emplno_onkeydown(obj:Edit, e:KeyEventInfo) {
  662. if(e.keycode == 13)
  663. {
  664. if(ds_send.getColumn(0,"emplno") == obj.text) return;
  665. obj.updateToDataset();
  666. }
  667. }
  668. /****************************************************************************************
  669. * Components : Button
  670. * Description : 사원번호 검색 팝업
  671. ****************************************************************************************/
  672. function group3_group4_btn_empl_onclick(obj:Button, e:ClickEventInfo) {
  673. rpbfOpenPopUpList("SPRPB00101", group3.group4.ipt_emplno, "emplno,emplnm,dutunitcd,dutunitnm", "", "N");
  674. }
  675. /****************************************************************************************
  676. * Components : Button
  677. * Description : 사원 명 넣고 검색
  678. ****************************************************************************************/
  679. function group3_group4_ipt_emplnm_onkeydown(obj:Edit, e:KeyEventInfo) {
  680. if(e.keycode == 13)
  681. {
  682. obj.updateToDataset();
  683. }
  684. }
  685. /****************************************************************************************
  686. * Components : Button
  687. * Description : 조회
  688. ****************************************************************************************/
  689. function group3_group4_btn_search_onclick(obj:Button, e:ClickEventInfo) {
  690. fRetrieve();
  691. }
  692. /****************************************************************************************
  693. * Components : Edit
  694. * Description : 근무부서 코드 입력
  695. ****************************************************************************************/
  696. function group3_group4_ipt_dutdeptcd_onkeydown(obj:Edit, e:KeyEventInfo) {
  697. if(e.keycode == 13)
  698. {
  699. obj.updateToDataset();
  700. }
  701. }
  702. /****************************************************************************************
  703. * Components : Edit
  704. * Description : 근무부서 명 입력
  705. ****************************************************************************************/
  706. function group3_group4_ipt_dutdeptnm_onkeydown(obj:Edit, e:KeyEventInfo) {
  707. if(e.keycode == 13)
  708. {
  709. obj.updateToDataset();
  710. }
  711. }
  712. /****************************************************************************************
  713. * Components : Button
  714. * Description : 근무부서 조회 팝업
  715. ****************************************************************************************/
  716. function group3_group4_btn_dutdept_onclick(obj:Button, e:ClickEventInfo) {
  717. misfOpenPopUpList("02", group3.group4.ipt_dutdeptcd, "", "dutunitcd,dutunitnm", group3.group4.cmb_instcd.value, "instcd");
  718. }
  719. /****************************************************************************************
  720. * Components : Grid
  721. * Description : 표준번표 적용대상자 내용 변경
  722. ****************************************************************************************/
  723. function group3_grd_stndduttabletrgtmanlist_ontextchanged(obj:Grid, e:GridEditTextChangedEventInfo) {
  724. if(e.col == obj.getBindCellIndex("body","nigtdutyn"))
  725. {
  726. var sYn = ds_main_stndduttabletrgtmanlist.getColumn(e.row, "nigtdutyn");
  727. if(sYn == "Y")
  728. {
  729. ds_main_stndduttabletrgtmanlist.setColumn(e.row, "dutkindcd", "C");
  730. }
  731. else
  732. {
  733. ds_main_stndduttabletrgtmanlist.setColumn(e.row, "dutkindcd", "A");
  734. }
  735. }
  736. else if(e.col == obj.getBindCellIndex("body","dutkindcd"))
  737. {
  738. var sDutKind = ds_main_stndduttabletrgtmanlist.getColumn(e.row, "dutkindcd");
  739. if(sDutKind == "C")
  740. {
  741. ds_main_stndduttabletrgtmanlist.setColumn(e.row, "nigtdutyn", "Y");
  742. }
  743. else
  744. {
  745. ds_main_stndduttabletrgtmanlist.setColumn(e.row, "nigtdutyn", "N");
  746. }
  747. }
  748. }
  749. /****************************************************************************************
  750. * Components : Grid
  751. * Description : 표준번표 적용대상자 버튼 클릭
  752. ****************************************************************************************/
  753. function group3_grd_stndduttabletrgtmanlist_onexpandup(obj:Grid, e:GridMouseEventInfo)
  754. {
  755. if(e.col == obj.getBindCellIndex("body","emplno")) //부서코드 버튼을 눌렀을 때
  756. {
  757. rpbfOpenPopUpList("SPRPB00101", group3.grd_stndduttabletrgtmanlist, "emplno,emplnm", "", "N");
  758. }
  759. else if(e.col == obj.getBindCellIndex("body","dutcd")) //근무코드 버튼을 눌렀을 때
  760. {
  761. misfOpenPopUpList("09", group3.grd_stndduttabletrgtmanlist, "", "dutcd,dutnm", group3.group4.cmb_instcd.value, "instcd");
  762. }
  763. }
  764. /****************************************************************************************
  765. * Components : Grid
  766. * Description : 표준번표 적용대상자 선택
  767. ****************************************************************************************/
  768. function group3_grd_stndduttabletrgtmanlist_oncellclick(obj:Grid, e:GridClickEventInfo) {
  769. if(ds_main_stndduttabletrgtmanlist.rowposition >= 0){
  770. if( !utlf_isNull(obj.getCellText(ds_main_stndduttabletrgtmanlist.rowposition, obj.getBindCellIndex("body","emplno")))
  771. && obj.getCellText(ds_main_stndduttabletrgtmanlist.rowposition, obj.getBindCellIndex("body","emplno")) != "사원번호" ){
  772. ds_send_srchdetail.setColumn(0,"srchemplno", obj.getCellText(ds_main_stndduttabletrgtmanlist.rowposition, obj.getBindCellIndex("body","emplno")));
  773. ds_send_srchdetail.setColumn(0,"srchdeptcd", obj.getCellText(ds_main_stndduttabletrgtmanlist.rowposition, obj.getBindCellIndex("body","dutdeptcd")));
  774. var oParam = {};
  775. oParam.id = "TRRPD01903";
  776. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  777. oParam.method = "reqGetstndduttabletrgtmandetaillist";
  778. oParam.inds = "req=ds_send_srchdetail";
  779. oParam.outds = "ds_main_dutdetaillist=dutdetaillist";
  780. oParam.async = false;
  781. //oParam.callback = "cf_TRRPD01903";
  782. tranf_submit(oParam);
  783. ds_main_dutdetaillist.addColumn("beforedutym", "string");
  784. ds_main_dutdetaillist.enableevent = false;
  785. ds_main_dutdetaillist.updatecontrol = false;
  786. for(var i = 0; i < ds_main_dutdetaillist.rowcount;i++){
  787. ds_main_dutdetaillist.setColumn(i, "beforedutym", ds_main_dutdetaillist.getColumn(i, "dutym"));
  788. }
  789. ds_main_dutdetaillist.updatecontrol = true;
  790. ds_main_dutdetaillist.enableevent = true;
  791. if( ds_main_stndduttabletrgtmanlist.getRowType(e.row) != 2 ){
  792. group3.btn_savedutdetaillist.enable = true;
  793. }else{
  794. group3.btn_savedutdetaillist.enable = false;
  795. }
  796. }else{
  797. group3.btn_savedutdetaillist.enable = false;
  798. }
  799. }
  800. }
  801. /****************************************************************************************
  802. * Components : Grid
  803. * Description : 관리부서 목록 선택
  804. ****************************************************************************************/
  805. function group3_grd_dutdeptlist_onselectchanged(obj:Grid, e:GridSelectEventInfo) {
  806. if(JOB_RESP_CD == "1901" || JOB_RESP_CD == "1070" || e.row > -1)
  807. {
  808. frmf_inputEnterKey("group3.grd_dutdeptlist", "oncelldblclick", new GridClickEventInfo);
  809. }
  810. }
  811. /****************************************************************************************
  812. * Components : Grid
  813. * Description : 관리부서 목록 선택
  814. ****************************************************************************************/
  815. function group3_grd_dutdeptlist_oncelldblclick(obj:Grid, e:GridClickEventInfo) {
  816. if(JOB_RESP_CD == "1901" || JOB_RESP_CD == "1070" || ds_main_dutdeptlist.rowposition > -1)
  817. {
  818. ds_send.setColumn(0,"dutunitcd", ds_main_dutdeptlist.getColumn(ds_main_dutdeptlist.rowposition, "dutdeptcd"));
  819. ds_send.setColumn(0,"dutunitnm", ds_main_dutdeptlist.getColumn(ds_main_dutdeptlist.rowposition, "dutdeptnm"));
  820. ds_send.setColumn(0,"dutdeptcd", ds_main_dutdeptlist.getColumn(ds_main_dutdeptlist.rowposition, "dutdeptcd"));
  821. ds_send.setColumn(0,"dutdeptnm", ds_main_dutdeptlist.getColumn(ds_main_dutdeptlist.rowposition, "dutdeptnm"));
  822. ds_send.setColumn(0,"flag", "1");
  823. submitFunc("TRRPD01902");
  824. for(var i = 0; i < ds_main_stndduttabletrgtmanlist.rowcount; i++)
  825. {
  826. if(ds_main_stndduttabletrgtmanlist.getColumn(i, "flag") == "0")
  827. {
  828. grdf_setStatus(group3.grd_stndduttabletrgtmanlist, "I", [i]);
  829. misfSetReadOnlyCol(group3.grd_stndduttabletrgtmanlist, "appdd", false, i);
  830. ds_main_stndduttabletrgtmanlist.setColumn(i,"appdd",group3.group4.ipt_appdd.value);
  831. }
  832. }
  833. // model.dispatch("onmouseup");
  834. var grdcnt = ds_main_stndduttabletrgtmanlist.rowcount;
  835. if( grdcnt > 0 ){
  836. ds_main_stndduttabletrgtmanlist.rowposition;
  837. group3.grd_stndduttabletrgtmanlist.setFocus();
  838. frmf_inputEnterKey("group3.grd_stndduttabletrgtmanlist", "oncellclick", new GridClickEventInfo);
  839. }
  840. }
  841. }
  842. /****************************************************************************************
  843. * Components : Button
  844. * Description : 표준번표 적용대상자 엑셀입력
  845. ****************************************************************************************/
  846. function group3_btn_excadd_onclick(obj:Button, e:ClickEventInfo) {
  847. ds_main_stndduttabletrgtmanlist.clearData();
  848. grdf_ImportExcel("ds_main_stndduttabletrgtmanlist", 2, group3.grd_stndduttabletrgtmanlist, 0);
  849. }
  850. /****************************************************************************************
  851. * Components : Button
  852. * Description : 표준번표 적용대상자 행삭제
  853. ****************************************************************************************/
  854. function group3_btn_grddel_onclick(obj:Button, e:ClickEventInfo) {
  855. misfGridIUD(group3.grd_stndduttabletrgtmanlist,"D");
  856. }
  857. /****************************************************************************************
  858. * Components : Button
  859. * Description : 표준번표 적용대상자 행추가
  860. ****************************************************************************************/
  861. function group3_btn_grdadd_onclick(obj:Button, e:ClickEventInfo) {
  862. fAddRow();
  863. group3.btn_savedutdetaillist.enable = false;
  864. }
  865. /****************************************************************************************
  866. * Components : Button
  867. * Description : 표준번표 적용대상자 엑셀저장
  868. ****************************************************************************************/
  869. function group3_btn_excsave_onclick(obj:Button, e:ClickEventInfo) {
  870. misfSaveExcel(group3.grd_stndduttabletrgtmanlist);
  871. }
  872. /****************************************************************************************
  873. * Components : Button
  874. * Description : 우측 그리드 행삭제
  875. ****************************************************************************************/
  876. function group3_btn_deldutdetaillist_onclick(obj:Button, e:ClickEventInfo) {
  877. if( group3.grd_stndduttabletrgtmanlist.getCellText(group3.grd_stndduttabletrgtmanlist.currentrow, group3.grd_stndduttabletrgtmanlist.getBindCellIndex("body","emplno")) == ""
  878. || group3.grd_stndduttabletrgtmanlist.getCellText(group3.grd_stndduttabletrgtmanlist.currentrow, group3.grd_stndduttabletrgtmanlist.getBindCellIndex("body","emplno")) == "사원번호" ){
  879. sysf_messageBox("표준번표 적용대상자를 선택후 진행해주세요.","E999","");
  880. return;
  881. }
  882. misfGridIUD(group3.grd_dutdetaillist,"D");
  883. }
  884. /****************************************************************************************
  885. * Components : Button
  886. * Description : 우측 그리드 행추가
  887. ****************************************************************************************/
  888. function group3_btn_savedutdetaillist_onclick(obj:Button, e:ClickEventInfo) {
  889. if( utlf_isNull(group3.grd_stndduttabletrgtmanlist.getCellText(group3.grd_stndduttabletrgtmanlist.currentrow, group3.grd_stndduttabletrgtmanlist.getBindCellIndex("body","emplno")))
  890. || group3.grd_stndduttabletrgtmanlist.getCellText(group3.grd_stndduttabletrgtmanlist.currentrow, group3.grd_stndduttabletrgtmanlist.getBindCellIndex("body","emplno")) == "사원번호" ){
  891. sysf_messageBox("표준번표 적용대상자를 선택후 진행해주세요.","E999","");
  892. return;
  893. }
  894. var updtdata = grdf_getGridUpdateData(group3.grd_dutdetaillist, "all");
  895. if (updtdata.rowcount == 0 ){
  896. sysf_messageBox("변경된 데이터가","I004");
  897. return;
  898. }
  899. var semplno = "";
  900. var sdutym = "";
  901. var dupleCnt = 0;
  902. var cnt = ds_main_dutdetaillist.rowcount;
  903. if( cnt > 0 ){
  904. for( var i = 0; i < ds_main_dutdetaillist.rowcount ; i++){
  905. dupleCnt = 0;
  906. if( dsf_getColumnNullToEmpty(ds_main_dutdetaillist, i, "emplno") == "" ){
  907. sysf_messageBox("사원번호는 필수입력값입니다.", "E999", "");
  908. return;
  909. }
  910. if( dsf_getColumnNullToEmpty(ds_main_dutdetaillist, i, "emplnm") == "" ){
  911. sysf_messageBox("성명은 필수입력값입니다.", "E999", "");
  912. return;
  913. }
  914. if( dsf_getColumnNullToEmpty(ds_main_dutdetaillist, i, "dutym") == "" ){
  915. sysf_messageBox("년월은 필수입력값입니다.", "E999", "");
  916. return;
  917. }
  918. if( dsf_getColumnNullToEmpty(ds_main_dutdetaillist, i, "untitle") == "" ){
  919. sysf_messageBox("분류는 필수입력값입니다.", "E999", "");
  920. return;
  921. }
  922. semplno = dsf_getColumnNullToEmpty(ds_main_dutdetaillist, i, "emplno");
  923. sdutym = dsf_getColumnNullToEmpty(ds_main_dutdetaillist, i, "dutym");
  924. for( var j = 0; j < ds_main_dutdetaillist.rowcount ; j++){
  925. if( semplno == dsf_getColumnNullToEmpty(ds_main_dutdetaillist, j, "emplno") &&
  926. sdutym == dsf_getColumnNullToEmpty(ds_main_dutdetaillist, j, "dutym") ){
  927. dupleCnt++;
  928. }
  929. }
  930. if( dupleCnt > 1 ){
  931. sysf_messageBox("사원번호와 년월이 중복된 값이 있습니다. [ " + semplno + " / " + group3.grd_dutdetaillist.getCellText(i, "dutym") + " ]" , "E999", "");
  932. return;
  933. }
  934. }
  935. }
  936. fDetailSave();
  937. }
  938. /****************************************************************************************
  939. * Components : Button
  940. * Description : 우측 그리드 행추가
  941. ****************************************************************************************/
  942. function group3_btn_adddutdetaillist_onclick(obj:Button, e:ClickEventInfo) {
  943. if( group3.grd_stndduttabletrgtmanlist.getCellText(group3.grd_stndduttabletrgtmanlist.currentrow, group3.grd_stndduttabletrgtmanlist.getBindCellIndex("body","emplno")) == ""
  944. || group3.grd_stndduttabletrgtmanlist.getCellText(group3.grd_stndduttabletrgtmanlist.currentrow, group3.grd_stndduttabletrgtmanlist.getBindCellIndex("body","emplno")) == "사원번호" ){
  945. sysf_messageBox("표준번표 적용대상자를 선택후 진행해주세요.","E999","");
  946. return;
  947. }
  948. var cnt = 0;
  949. misfGridIUD(group3.grd_dutdetaillist,"A");
  950. cnt = ds_main_dutdetaillist.rowcount - 1;
  951. ds_main_dutdetaillist.setColumn(cnt, "dutdeptcd", ds_main_stndduttabletrgtmanlist.getColumn(ds_main_stndduttabletrgtmanlist.rowposition, "dutdeptcd"));
  952. ds_main_dutdetaillist.setColumn(cnt, "dutdeptnm", ds_main_stndduttabletrgtmanlist.getColumn(ds_main_stndduttabletrgtmanlist.rowposition, "dutdeptnm"));
  953. ds_main_dutdetaillist.setColumn(cnt, "emplno", ds_main_stndduttabletrgtmanlist.getColumn(ds_main_stndduttabletrgtmanlist.rowposition, "emplno"));
  954. ds_main_dutdetaillist.setColumn(cnt, "emplnm", ds_main_stndduttabletrgtmanlist.getColumn(ds_main_stndduttabletrgtmanlist.rowposition, "emplnm"));
  955. ds_main_dutdetaillist.setColumn(cnt, "dutym", utlf_getCurrentDate().substring(0,6));
  956. dsf_makeValue(ds_main_dutdetaillist, "beforedutym", "string", utlf_getCurrentDate().substring(0,6), cnt);
  957. group3.grd_dutdetaillist.setFocus();
  958. group3.grd_dutdetaillist.setCellPos(1);
  959. group3.grd_dutdetaillist.showEditor(true);
  960. group3.grd_dutdetaillist.setEditCaret(-1);
  961. }
  962. /****************************************************************************************
  963. * Components : Button
  964. * Description : 관리부서 목록 저장
  965. ****************************************************************************************/
  966. function group3_button1_onclick(obj:Button, e:ClickEventInfo) {
  967. var updtdata = grdf_getGridUpdateData(group3.grd_dutdeptlist, "all");
  968. if (updtdata.rowcount == 0 ){
  969. sysf_messageBox("변경된 데이터가","I004");
  970. return;
  971. }
  972. grdf_setStatusColumn(updtdata, "status");
  973. dsf_createDs("ds_hidden_savelist_nrcnt");
  974. ds_hidden_savelist_nrcnt.copyData(updtdata, true);
  975. var oParam = {};
  976. oParam.id = "TXRPD01903";
  977. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  978. oParam.method = "reqSetDutDeptNrCnt";
  979. oParam.inds = "nrcnt=ds_hidden_savelist_nrcnt";
  980. oParam.outds = "";
  981. oParam.async = false;
  982. oParam.callback = "cf_TXRPD01903";
  983. tranf_submit(oParam);
  984. if (arErrorCode.pop("TXRPD01903") > -1) {
  985. sysf_messageBox("저장되었습니다.", "I000");
  986. fInitialize();
  987. }
  988. }
  989. function cf_TXRPD01903(sSvcId, nErrorCode, sErrorMsg) {
  990. arErrorCode.push(sSvcId, nErrorCode);
  991. }
  992. function ds_send_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  993. {
  994. if(e.columnid == "dutunitcd") {
  995. group3.group4.ipt_dutdeptcd.setFocus();
  996. misfValidationCheck("02", "", "dutunitcd,dutunitnm", group3.group4.cmb_instcd.value, "instcd");
  997. }
  998. if(e.columnid == "dutunitnm") {
  999. group3.group4.ipt_dutdeptcd.setFocus();
  1000. misfValidationCheck("02", "", "dutunitcd,dutunitnm", group3.group4.cmb_instcd.value, "instcd" );
  1001. }
  1002. if(e.columnid == "emplno") {
  1003. group3.group4.ipt_emplno.setFocus();
  1004. rpbfValidationCheck("EMPLNO", "emplno,emplnm,dutunitcd,dutunitnm");
  1005. }
  1006. if(e.columnid == "emplnm") {
  1007. group3.group4.ipt_emplno.setFocus();
  1008. misfValidationCheck("01-2", "", "emplno,emplnm");
  1009. group3.group4.btn_search.setFocus();
  1010. }
  1011. }
  1012. /****************************************************************************************
  1013. * Components : Calendar
  1014. * Description : 일자변경
  1015. ****************************************************************************************/
  1016. function group3_group4_ipt_appdd_onchanged(obj:Calendar, e:ChangeEventInfo)
  1017. {
  1018. var instcd = group3.group4.cmb_instcd.value;
  1019. if( utlf_getStringLength(group3.group4.ipt_appdd.value) == "8" ) {
  1020. misfComboInstCdListMulti("group3.group4.cmb_instcd",group3.group4.ipt_appdd.value,"","Y");
  1021. group3.group4.cmb_instcd.value = instcd;
  1022. }
  1023. }
  1024. /****************************************************************************************
  1025. * Components : Grid
  1026. * Description : 그리드 버튼 클릭
  1027. ****************************************************************************************/
  1028. function group3_grd_dutdetaillist_onexpandup(obj:Grid, e:GridMouseEventInfo)
  1029. {
  1030. if(e.col == obj.getBindCellIndex("body","emplno"))
  1031. {
  1032. rpbfOpenPopUpList("SPRPB00101", group3.grd_dutdetaillist, "emplno,emplnm", "", "N");
  1033. }
  1034. }
  1035. ]]></Script>
  1036. </Form>
  1037. </FDL>