SMCVT00200_부서그룹관리.xfdl 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMCVT00200" position="absolute 0 0 1200 796" titletext="VOC 부서그룹관리" oninit="SMCVT00200_oninit" onload="SMCVT00200_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 225 40 1195 80" align="align:center top;" id="grp_johe" class="div_SA2" anchor="left top right">
  8. <Layouts>
  9. <Layout>
  10. <Static text="그룹부서 :" position="absolute 19 12 105 29" id="caption8" class="search_name"/>
  11. <Combo position="absolute 103 10 243 29" id="ipt_searchterm" class="combo_default" codecolumn="codecolumn" datacolumn="datacolumn">
  12. <Dataset id="innerdataset">
  13. <ColumnInfo>
  14. <Column id="codecolumn"/>
  15. <Column id="datacolumn"/>
  16. </ColumnInfo>
  17. <Rows>
  18. <Row>
  19. <Col id="codecolumn">
  20. </Col>
  21. <Col id="datacolumn">선 택</Col>
  22. </Row>
  23. <Row>
  24. <Col id="codecolumn">AA</Col>
  25. <Col id="datacolumn">진료부서</Col>
  26. </Row>
  27. <Row>
  28. <Col id="codecolumn">BB</Col>
  29. <Col id="datacolumn">간호부서</Col>
  30. </Row>
  31. <Row>
  32. <Col id="codecolumn">CC</Col>
  33. <Col id="datacolumn">행정부서</Col>
  34. </Row>
  35. </Rows>
  36. </Dataset>
  37. </Combo>
  38. <Static text="하위부서 :" position="absolute 325 12 411 29" id="caption7" class="search_name"/>
  39. <Edit position="absolute 408 10 548 29" id="ipt_searchempnm" class="input_search" autoselect="true" onkeyup="grp_johe_ipt_searchempnm_onkeyup"/>
  40. <Shape position="absolute 880 8 886 29" linetype="vertical" id="line1" class="line_4" anchor="top right"/>
  41. <Button position="absolute 898 8 954 30" id="btn_search" class="btn1" text="조회" anchor="top right" onclick="grp_johe_btn_search_onclick"/>
  42. </Layout>
  43. </Layouts>
  44. </Div>
  45. <Div position="absolute 0 39 215 783" id="import1" url="./SSCVO00100_LeftTree.xfdl" anchor="left top bottom"/>
  46. <Static id="caption1" text="VOC 부서 그룹 관리" class="tit_1" position="absolute 0 0 209 24"/>
  47. <Div id="rndrctlgnd" anchor="left bottom" taborder="1" class="div_SA2" position="absolute 14 539 193 765">
  48. <Layouts>
  49. <Layout>
  50. <Static id="caption50" text="VOC 진행 프로세스" class="hand" position="absolute 14 13 158 33"/>
  51. <Static id="caption51" text="(1) 접수" position="absolute 32 37 91 53" tooltiptext="민원담당부서에서 여러 경로를 통해 접수된 VOC를 민원인 &#13;&#10; 정보와 함께 접수 등록을 하게 되면【접수】상태가 된다. " style="font:Dotum,9,bold;"/>
  52. <Static id="caption52" text="(2) 회신요청" position="absolute 32 53 147 68" tooltiptext="민원담당부서 담당자가 &quot;접수&quot;된 VOC를 선택하여 처리 요청을 &#13;&#10; 하게 되면【회신요청】상태가 된다. 이 때 담당부서가 2개 이상인 &#13;&#10; 경우에 미리 입력한 담당부서에 대하여 처리 요청을 할 수 있다. " style="font:Dotum,9,bold;"/>
  53. <Static id="caption53" text="(3) 부서처리중" position="absolute 32 69 147 84" tooltiptext="각 부서 담당자가 &quot;회신요청&quot;된 VOC를 선택하여 그 내용을 읽고 『부서 접수 확인』 &#13;&#10; 버튼을 눌러 해당 VOC 처리를 시작했음을 알리게 되면【부서처리중】상태가 된다." style="font:Dotum,9,bold;"/>
  54. <Static id="caption54" text="(4) 부서회신" position="absolute 32 85 147 101" tooltiptext=" 각 부서 담당자가 &quot;부서처리중&quot;인 VOC에 대하여 실제 업무처리를 하고 &#13;&#10; 부서장에게 결재 요청을 하고 난 뒤 부서장의 결재를 받아 부서 담당자가 &#13;&#10; 민원담당부서 담당자에게 회신하게 되면【부서회신】상태가 된다. " style="font:Dotum,9,bold;"/>
  55. <Static id="caption55" text="(5) 종결 / 임의종결" position="absolute 32 101 157 117" tooltiptext=" 민원담당부서 담당자가 &quot;부서장승인&quot;인 VOC에 대하여 종결 확인 &#13;&#10; 버튼을 눌러 부서에 대하여 종결처리를 하면【종결】상태가 된다. &#13;&#10; 해당 부서에 &quot;회신요청&quot;을 했음에도 불구하고 그 부서에서 답변이 &#13;&#10; 없을 때 업무 진행의 효율을 위해서 임의종결 처리를 하여 종결 &#13;&#10; 처리한 효과와 같은 효과를 줄 수 있다. " style="font:Dotum,9,bold;"/>
  56. <Static id="caption56" text="(6) 승인요청" position="absolute 32 117 147 133" tooltiptext=" 민원담당부서 담당자가 모든 해당 부서에 대하여 &quot;종결&quot; 또는 &#13;&#10; &quot;임의종결&quot;인 VOC에 대하여 민원담당부서장에게 고객 회신을 &#13;&#10; 위한 부서장 승인 요청을 하면【승인요청】상태가 된다. " style="font:Dotum,9,bold;"/>
  57. <Static id="caption57" text="(7) 부서장승인" position="absolute 32 133 147 149" tooltiptext="민원담당부서장은 &quot;승인요청&quot;인 VOC에 대하여 고객 회신을 &#13;&#10; 위한 부서장 승인을 하면【부서장승인】상태가 된다. " style="font:Dotum,9,bold;"/>
  58. <Static id="caption58" text="(8) 고객회신" position="absolute 32 149 147 165" tooltiptext="민원담당부서 담당자가 부서장 승인을 받은 VOC에 대하여 &#13;&#10; 민원인에게 그 결과를 알려주고 경과 내용을 입력하고 &#13;&#10; 고객회신 완료 버튼을 누르게 되면【고객회신】상태가 된다." style="font:Dotum,9,bold;"/>
  59. <Static id="caption59" text="(9) 처리완료" position="absolute 32 165 147 181" tooltiptext="민원담당부서 담당자가 &quot;고객회신&quot;인 VOC에 대하여 처리 경과 등 처리내용을 &#13;&#10; 적은 후 원인분석 및 개선활동을 적고 이후에도 지속적으로 관리하여야 하는지 &#13;&#10; 여부를 체크하고 완료처리 버튼을 누르게 되면【처리완료】상태가 된다. " style="font:Dotum,9,bold;"/>
  60. <Static id="caption60" text=" * 접수취소" position="absolute 38 185 153 200" tooltiptext=" &quot;접수&quot;된 VOC는 &quot;회신 요청&quot;을 하기 전에 &quot;접수 취소&quot;를 할 수 있다. 하지만 이미 &#13;&#10; 프로세스가 진행되어 담당부서로 요청한 경우에는 접수 취소를 할 수 없게 된다."/>
  61. <Static id="caption61" text=" * 자체처리" position="absolute 38 201 153 216" tooltiptext="&quot;접수&quot;된 VOC는 &quot;회신 요청&quot;을 하기 전에 민원담당부서에서 자체적으로 완료처리를 할 수 있다. &#13;&#10; 하지만 이미 프로세스가 진행되어 담당부서로 요청한 경우에는 자체처리를 할 수 없게 된다. "/>
  62. </Layout>
  63. </Layouts>
  64. </Div>
  65. <Static id="caption10" text="부서 그룹 목록" class="tit_2" position="absolute 225 87 410 108"/>
  66. <Shape id="line2" class="line_10" position="absolute 224 103 834 109" anchor="left top right"/>
  67. <Grid id="grd_voclist" taborder="2" binddataset="ds_main_list_voclist" useinputpanel="false" position="absolute 224 108 834 779" autoenter="select" cellsizingtype="col" anchor="all" oncelldblclick="grd_voclist_oncelldblclick">
  68. <Formats>
  69. <Format id="default">
  70. <Columns>
  71. <Column size="25"/>
  72. <Column size="120"/>
  73. <Column size="120"/>
  74. <Column size="180"/>
  75. <Column size="0"/>
  76. <Column size="0"/>
  77. <Column size="0"/>
  78. <Column size="169"/>
  79. <Column size="0"/>
  80. <Column size="0"/>
  81. </Columns>
  82. <Rows>
  83. <Row size="24" band="head"/>
  84. <Row size="24"/>
  85. </Rows>
  86. <Band id="head">
  87. <Cell/>
  88. <Cell col="1" text="기관명"/>
  89. <Cell col="2" text="그룹명"/>
  90. <Cell col="3" text="하위부서"/>
  91. <Cell col="4" text="그룹번호"/>
  92. <Cell col="5" text="부서번호"/>
  93. <Cell col="6" text="하위부서코드"/>
  94. <Cell col="7" text="상위부서"/>
  95. <Cell col="8" text="등록자"/>
  96. <Cell col="9" text="수정자"/>
  97. </Band>
  98. <Band id="body">
  99. <Cell celltype="head" expr="currow+1"/>
  100. <Cell col="1" style="align:center middle;" class="text_center" text="bind:instnm"/>
  101. <Cell col="2" style="align:center middle;" class="text_center" text="bind:groupnm"/>
  102. <Cell col="3" style="align:center middle;" class="text_center" text="bind:deptnm"/>
  103. <Cell col="4" style="align:center middle;" class="text_center" text="bind:groupcd"/>
  104. <Cell col="5" style="align:center middle;" class="text_center" text="bind:deptno"/>
  105. <Cell col="6" style="align:center middle;" class="text_center" text="bind:deptcd"/>
  106. <Cell col="7" style="align:center middle;" class="text_center" text="bind:psnworksupdeptnm"/>
  107. <Cell col="8" class="text_center" text="bind:fstrgstrnm"/>
  108. <Cell col="9" class="text_center" text="bind:lastupdtrnm"/>
  109. </Band>
  110. </Format>
  111. </Formats>
  112. </Grid>
  113. <Button id="btn_excsave" taborder="3" text="엑셀저장" class="btn7" position="absolute 754 84 834 103" onclick="btn_excsave_onclick" anchor="top right"/>
  114. <Static id="caption2" text="하위부서 추가" class="tit_2" position="absolute 844 87 978 109" anchor="top right"/>
  115. <Shape id="line3" class="line_10" position="absolute 844 103 1194 109" anchor="top right"/>
  116. <Combo id="cmb_group" taborder="4" innerdataset="@ds_temp_grpcd" codecolumn="value" datacolumn="label" class="combo_essential" position="absolute 952 110 1082 129" anchor="top right" onitemchanged="cmb_group_onitemchanged"/>
  117. <Static id="caption22" text="그룹명" class="cell_1" position="absolute 844 108 949 131" style="padding:0 0 0 0;align:center middle;" anchor="top right"/>
  118. <Shape id="line4" class="line_2" position="absolute 844 130 1194 136" anchor="top right"/>
  119. <Static id="caption14" text="하위부서" class="cell_1" position="absolute 844 134 949 157" style="padding:0 0 0 0;align:center middle;" anchor="top right"/>
  120. <Shape id="line5" class="line_2" position="absolute 844 156 1194 162" anchor="top right"/>
  121. <Static id="caption9" text="등록자" class="cell_1" position="absolute 844 160 949 183" style="padding:0 0 0 0;align:center middle;" anchor="top right"/>
  122. <Static id="caption3" text="최종수정자" class="cell_1" position="absolute 844 186 949 209" style="padding:0 0 0 0;align:center middle;" anchor="top right"/>
  123. <Edit id="input2" taborder="5" position="absolute 952 162 1082 181" autoselect="true" anchor="top right" readonly="true"/>
  124. <Edit id="input6" taborder="6" position="absolute 952 188 1082 207" autoselect="true" anchor="top right" readonly="true"/>
  125. <Shape id="line16" class="line_2" position="absolute 844 182 1194 188" anchor="top right"/>
  126. <Shape id="line6" class="line_3" position="absolute 844 208 1194 214" anchor="top right"/>
  127. <Edit id="ipt_DeptNm" taborder="7" class="input_essential" position="absolute 952 136 1082 155" autoselect="true" anchor="top right" onkeyup="ipt_DeptNm_onkeyup"/>
  128. <Edit id="ipt_DeptCd" taborder="8" readonly="true" visible="false" position="absolute 1104 136 1144 155" anchor="top right"/>
  129. <Button id="btnicon_search6" taborder="9" class="icon_search" position="absolute 1084 136 1100 152" anchor="top right" onclick="btnicon_search6_onclick"/>
  130. <Edit id="opt_deptno" taborder="10" readonly="true" visible="false" position="absolute 1104 110 1144 129" anchor="top right"/>
  131. <Edit id="opt_groupnm" taborder="11" readonly="true" visible="false" position="absolute 1104 162 1144 181" anchor="top right"/>
  132. <Button id="btn_clear" taborder="12" text="삭제" class="btn4" position="absolute 1006 212 1062 234" anchor="top right" onclick="btn_clear_onclick"/>
  133. <Button id="btn_save" taborder="13" text="저장" class="btn4" position="absolute 1066 212 1122 234" anchor="top right" onclick="btn_save_onclick"/>
  134. <Button id="button2" taborder="14" text="초기화" class="btn4" position="absolute 1126 212 1194 234" anchor="top right" onclick="button2_onclick"/>
  135. <Static id="caption4" text="부서그룹 관리에서는 &#13;&#10;&#13;&#10;진료부원장, 간호부장, 행정부원장 등의 경우처럼 &#13;&#10;&#13;&#10;여러 부서의 VOC 내용을 볼 필요가 있는 경우에&#13;&#10;&#13;&#10;보기를 원하는 부서를 지정하는 기능입니다.&#13;&#10;&#13;&#10;이 경우 기능을 단순히 조회만 할 수 있도록 &#13;&#10;&#13;&#10;지정해놓았습니다." position="absolute 860 311 1180 457" anchor="top right" style="font:Dotum,9,bold;"/>
  136. <Static id="caption5" text="알리는 글" class="hand" position="absolute 860 287 962 304" anchor="top right"/>
  137. </Layout>
  138. </Layouts>
  139. <Objects>
  140. <Dataset id="ds_send_data" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  141. <ColumnInfo>
  142. <Column id="srchgroupcd" type="STRING" size="256"/>
  143. <Column id="srchdeptnm" type="STRING" size="256"/>
  144. <Column id="instcd" type="STRING" size="256"/>
  145. </ColumnInfo>
  146. <Rows>
  147. <Row>
  148. <Col id="srchgroupcd"/>
  149. <Col id="srchdeptnm"/>
  150. <Col id="instcd"/>
  151. </Row>
  152. </Rows>
  153. </Dataset>
  154. <Dataset id="ds_main_list_voclist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  155. <ColumnInfo>
  156. <Column id="instnm" type="STRING" size="256" sumtext="기관명"/>
  157. <Column id="groupnm" type="STRING" size="256" sumtext="그룹명"/>
  158. <Column id="deptnm" type="STRING" size="256" sumtext="하위부서명"/>
  159. <Column id="groupcd" type="STRING" size="256" sumtext="그룹코드"/>
  160. <Column id="deptno" type="STRING" size="256" sumtext="부서일련번호"/>
  161. <Column id="deptcd" type="STRING" size="256" sumtext="하위부서코드"/>
  162. <Column id="psnworksupdeptnm" type="STRING" size="256" sumtext="상위부서명"/>
  163. <Column id="fstrgstrnm" type="STRING" size="256" sumtext="등록자"/>
  164. <Column id="lastupdtrnm" type="STRING" size="256" sumtext="수정자"/>
  165. </ColumnInfo>
  166. </Dataset>
  167. <Dataset id="ds_main_deptdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  168. <ColumnInfo>
  169. <Column id="groupnm" type="STRING" size="256"/>
  170. <Column id="groupcd" type="STRING" size="256"/>
  171. <Column id="deptno" type="STRING" size="256"/>
  172. <Column id="deptnm" type="STRING" size="256"/>
  173. <Column id="deptcd" type="STRING" size="256"/>
  174. <Column id="fstrgstrnm" type="STRING" size="256"/>
  175. <Column id="lastupdtrnm" type="STRING" size="256"/>
  176. <Column id="savemode" type="STRING" size="256"/>
  177. </ColumnInfo>
  178. <Rows>
  179. <Row>
  180. <Col id="groupnm"/>
  181. <Col id="groupcd"/>
  182. <Col id="deptno"/>
  183. <Col id="deptnm"/>
  184. <Col id="deptcd"/>
  185. <Col id="fstrgstrnm"/>
  186. <Col id="lastupdtrnm"/>
  187. <Col id="savemode">i</Col>
  188. </Row>
  189. </Rows>
  190. </Dataset>
  191. <Dataset id="ds_temp_grpcd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  192. <ColumnInfo>
  193. <Column id="label" type="STRING" size="256"/>
  194. <Column id="value" type="STRING" size="256"/>
  195. </ColumnInfo>
  196. <Rows>
  197. <Row>
  198. <Col id="label">선택</Col>
  199. <Col id="value"/>
  200. </Row>
  201. <Row>
  202. <Col id="label">진료부서</Col>
  203. <Col id="value">AA</Col>
  204. </Row>
  205. <Row>
  206. <Col id="label">간호부서</Col>
  207. <Col id="value">BB</Col>
  208. </Row>
  209. <Row>
  210. <Col id="label">행정부서</Col>
  211. <Col id="value">CC</Col>
  212. </Row>
  213. </Rows>
  214. </Dataset>
  215. </Objects>
  216. <Bind>
  217. <BindItem id="item0" compid="grp_johe.ipt_searchterm" propid="value" datasetid="ds_send_data" columnid="srchgroupcd"/>
  218. <BindItem id="item1" compid="grp_johe.ipt_searchempnm" propid="value" datasetid="ds_send_data" columnid="srchdeptnm"/>
  219. <BindItem id="item2" compid="cmb_group" propid="value" datasetid="ds_main_deptdata" columnid="groupcd"/>
  220. <BindItem id="item3" compid="opt_deptno" propid="value" datasetid="ds_main_deptdata" columnid="deptno"/>
  221. <BindItem id="item4" compid="ipt_DeptNm" propid="value" datasetid="ds_main_deptdata" columnid="deptnm"/>
  222. <BindItem id="item5" compid="ipt_DeptCd" propid="value" datasetid="ds_main_deptdata" columnid="deptcd"/>
  223. <BindItem id="item6" compid="input2" propid="value" datasetid="ds_main_deptdata" columnid="fstrgstrnm"/>
  224. <BindItem id="item7" compid="opt_groupnm" propid="value" datasetid="ds_main_deptdata" columnid="groupnm"/>
  225. <BindItem id="item8" compid="input6" propid="value" datasetid="ds_main_deptdata" columnid="lastupdtrnm"/>
  226. </Bind>
  227. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  228. * System Name :
  229. * Job Name :
  230. * Creator :
  231. * Make Date : 2016-05-24
  232. * Description :
  233. *---------------------------------------------------------------------------------------
  234. * Modify Date Modifier Modify Description
  235. *---------------------------------------------------------------------------------------
  236. * 2016-05-24 Live Converter TF->XP
  237. *
  238. *---------------------------------------------------------------------------------------
  239. ****************************************************************************************/
  240. include "com_commonxp::comm_main.xjs";
  241. function SMCVT00200_oninit(obj:Form, e:InitEventInfo)
  242. {
  243. frmf_initForm(obj);
  244. }
  245. function SMCVT00200_onload(obj:Form, e:LoadEventInfo)
  246. {
  247. grdf_initGrid(grd_voclist);
  248. var oParam = {};
  249. oParam.id = "TRCVT00201";
  250. oParam.service = "vocapp.Voc";
  251. oParam.method = "reqGetGrpDeptList";
  252. oParam.inds = "req=ds_send_data";
  253. oParam.outds = "ds_main_list_voclist=voclist";
  254. oParam.async = false;
  255. //oParam.callback = "cf_TRCVT00201";
  256. tranf_submit(oParam);
  257. grd_voclist.setFocus();
  258. fCheckAuth();
  259. }
  260. function fCheckAuth()
  261. {
  262. // 권한체크
  263. if (!frmf_checkAuth("r"))
  264. {
  265. grp_johe.btn_search.enable = false;
  266. }
  267. if (!frmf_checkAuth("x"))
  268. {
  269. btn_save.enable = false;
  270. }
  271. if (!frmf_checkAuth("p"))
  272. {
  273. btn_excsave.enable = false;
  274. }
  275. }
  276. function grp_johe_ipt_searchempnm_onkeyup(obj:Edit, e:KeyEventInfo)
  277. {
  278. if(e.keycode == 13)
  279. {
  280. obj.updateToDataset();
  281. grp_johe.btn_search.click();
  282. }
  283. }
  284. function grp_johe_btn_search_onclick(obj:Button, e:ClickEventInfo)
  285. {
  286. if (String(utlf_transNullToEmpty(grp_johe.ipt_searchempnm.value)).length > 0 && String(utlf_transNullToEmpty(grp_johe.ipt_searchempnm.value)).length < 2)
  287. {
  288. sysf_messageBox("하위부서명 검색은 최소 2글자 이상 ", "C001");
  289. grp_johe.ipt_searchempnm.setFocus();
  290. }
  291. else if ( String(utlf_transNullToEmpty(grp_johe.ipt_searchterm.value)).length == 0 && String(utlf_transNullToEmpty(grp_johe.ipt_searchempnm.value)).length == 0)
  292. {
  293. sysf_messageBox("그룹부서를 선택하거나 하위부서명을 ", "C001");
  294. grp_johe.ipt_searchterm.setFocus();
  295. }
  296. else
  297. {
  298. fInitControl();
  299. ds_main_list_voclist.clearData();
  300. var oParam = {};
  301. oParam.id = "TRCVT00201";
  302. oParam.service = "vocapp.Voc";
  303. oParam.method = "reqGetGrpDeptList";
  304. oParam.inds = "req=ds_send_data";
  305. oParam.outds = "ds_main_list_voclist=voclist";
  306. oParam.async = false;
  307. //oParam.callback = "cf_TRCVT00201";
  308. tranf_submit(oParam);
  309. grd_voclist.setFocus();
  310. }
  311. }
  312. function fInitControl()
  313. {
  314. ds_main_deptdata.setColumn(0, "groupnm", "");
  315. ds_main_deptdata.setColumn(0, "groupcd", "");
  316. ds_main_deptdata.setColumn(0, "deptno", "");
  317. ds_main_deptdata.setColumn(0, "deptnm", "");
  318. ds_main_deptdata.setColumn(0, "deptcd", "");
  319. ds_main_deptdata.setColumn(0, "fstrgstrnm", "");
  320. ds_main_deptdata.setColumn(0, "lastupdtrnm", "");
  321. ds_main_deptdata.setColumn(0, "savemode", "i");
  322. }
  323. function btn_excsave_onclick(obj:Button, e:ClickEventInfo)
  324. {
  325. grdf_exportExcel(grd_voclist, "부서그룹엑셀", "Sheet1", "true", "", "");
  326. }
  327. function grd_voclist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  328. {
  329. var row = ds_main_list_voclist.rowposition;
  330. var receive_groupnm = ds_main_list_voclist.getColumn(row, "groupnm");
  331. var receive_groupcd = ds_main_list_voclist.getColumn(row, "groupcd");
  332. var receive_deptnm = ds_main_list_voclist.getColumn(row, "deptnm");
  333. var receive_deptcd = ds_main_list_voclist.getColumn(row, "deptcd");
  334. var receive_deptno = ds_main_list_voclist.getColumn(row, "deptno");
  335. var receive_fstrgstrnm = ds_main_list_voclist.getColumn(row, "fstrgstrnm");
  336. var receive_lastupdtrnm = ds_main_list_voclist.getColumn(row, "lastupdtrnm");
  337. if (row >= 0)
  338. {
  339. ds_main_deptdata.setColumn(0, "groupnm", receive_groupnm);
  340. ds_main_deptdata.setColumn(0, "groupcd", receive_groupcd);
  341. ds_main_deptdata.setColumn(0, "deptnm", receive_deptnm);
  342. ds_main_deptdata.setColumn(0, "deptcd", receive_deptcd);
  343. ds_main_deptdata.setColumn(0, "deptno", receive_deptno);
  344. ds_main_deptdata.setColumn(0, "fstrgstrnm", receive_fstrgstrnm);
  345. ds_main_deptdata.setColumn(0, "lastupdtrnm", receive_lastupdtrnm);
  346. }
  347. }
  348. function cmb_group_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  349. {
  350. // 콤보에 선택된 값을 가져온다
  351. var index = obj.index;
  352. // XPath 식을 이용하여 선택된 내용을 뿌려준다.
  353. opt_groupnm.value = ds_temp_grpcd.getColumn(index, "label");
  354. }
  355. function ipt_DeptNm_onkeyup(obj:Edit, e:KeyEventInfo)
  356. {
  357. if(e.keycode == 13)
  358. {
  359. obj.updateToDataset();
  360. btnicon_search6.click();
  361. }
  362. }
  363. function btnicon_search6_onclick(obj:Button, e:ClickEventInfo)
  364. {
  365. var search_term = ds_main_deptdata.getColumn(0, "deptnm");
  366. var search_condition = "deptnm";
  367. frmf_setParameter("search_condition", search_condition);
  368. frmf_setParameter("search_term", search_term);
  369. var rtn = frmf_modal("SPCVO00600", "SPCVO00600", "", "", "", "", "", "", "", "", "", "", "M");
  370. ds_main_deptdata.setColumn(0, "deptcd", rtn.deptcd);
  371. ds_main_deptdata.setColumn(0, "deptnm", rtn.deptnm);
  372. frmf_clearParameter("search_condition");
  373. frmf_clearParameter("search_term");
  374. }
  375. function btn_clear_onclick(obj:Button, e:ClickEventInfo)
  376. {
  377. var s_groupcd = ds_main_deptdata.getColumn(0, "groupcd");
  378. var s_deptno = ds_main_deptdata.getColumn(0, "deptno");
  379. if (utlf_isNull(s_groupcd) || utlf_isNull(s_deptno))
  380. {
  381. sysf_messageBox("조회 후 삭제할 하위부서를.", "C002");
  382. }
  383. else
  384. {
  385. var rtn = sysf_messageBox("선택된 하위부서를 ", "Q001");
  386. if(rtn == 6)
  387. {
  388. var oParam = {};
  389. oParam.id = "TXCVT00202";
  390. oParam.service = "vocapp.Voc";
  391. oParam.method = "reqSetGrpDeptData";
  392. oParam.inds = "req=ds_main_deptdata";
  393. oParam.outds = "";
  394. oParam.async = false;
  395. oParam.callback = "cf_TXCVT00202";
  396. tranf_submit(oParam);
  397. }
  398. }
  399. }
  400. function cf_TXCVT00202(sSvcId, nErrorCode, sErrorMsg)
  401. {
  402. if(nErrorCode < 0) return;
  403. else
  404. {
  405. sysf_messageBox("선택된 하위부서 삭제가 ", "I002");
  406. fInitControl();
  407. ds_main_list_voclist.clearData();
  408. var oParam = {};
  409. oParam.id = "TRCVT00201";
  410. oParam.service = "vocapp.Voc";
  411. oParam.method = "reqGetGrpDeptList";
  412. oParam.inds = "req=ds_send_data";
  413. oParam.outds = "ds_main_list_voclist=voclist";
  414. oParam.async = false;
  415. //oParam.callback = "cf_TRCVT00201";
  416. tranf_submit(oParam);
  417. }
  418. }
  419. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  420. {
  421. var s_groupcd = ds_main_deptdata.getColumn(0, "groupcd");
  422. var s_deptno = ds_main_deptdata.getColumn(0, "deptno");
  423. var s_deptnm = ds_main_deptdata.getColumn(0, "deptnm");
  424. var s_deptcd = ds_main_deptdata.getColumn(0, "deptcd");
  425. var s_savemode= ds_main_deptdata.getColumn(0, "savemode");
  426. if ( utlf_isNull(s_groupcd))
  427. {
  428. sysf_messageBox("그룹명을 ", "C002");
  429. cmb_group.setFocus();
  430. return false;
  431. }
  432. else if ( utlf_isNull(s_deptnm) && !utlf_isNull(s_deptcd))
  433. {
  434. sysf_messageBox("하위부서는 검색을 통해 입력하셔야 합니다. ","I099");
  435. ds_main_deptdata.setColumn(0, "deptcd", "");
  436. btnicon_search6.setFocus();
  437. }
  438. else if ( utlf_isNull(s_deptnm))
  439. {
  440. sysf_messageBox("하위부서 이름을 ", "C001");
  441. ipt_DeptNm.setFocus();
  442. return false;
  443. }
  444. else if ( !utlf_isNull(s_deptnm) && utlf_isNull(s_deptcd))
  445. {
  446. sysf_messageBox("하위부서는 검색을 통해 입력하셔야 합니다. ","I099");
  447. btnicon_search6.setFocus();
  448. }
  449. if (s_savemode == "i" && utlf_isNull(s_deptno))
  450. {
  451. var oParam = {};
  452. oParam.id = "TXCVT00201";
  453. oParam.service = "vocapp.Voc";
  454. oParam.method = "reqInsGrpDeptData";
  455. oParam.inds = "req=ds_main_deptdata";
  456. oParam.outds = "";
  457. oParam.async = false;
  458. oParam.callback = "cf_TXCVT00201";
  459. tranf_submit(oParam);
  460. }
  461. else if (s_savemode != "i" && !utlf_isNull(s_deptno))
  462. {
  463. var oParam = {};
  464. oParam.id = "TXCVT00202";
  465. oParam.service = "vocapp.Voc";
  466. oParam.method = "reqSetGrpDeptData";
  467. oParam.inds = "req=ds_main_deptdata";
  468. oParam.outds = "";
  469. oParam.async = false;
  470. oParam.callback = "cf_TXCVT00202_1";
  471. tranf_submit(oParam);
  472. }
  473. }
  474. function cf_TXCVT00201(sSvcId, nErrorCode, sErrorMsg)
  475. {
  476. if(nErrorCode < 0) return;
  477. else
  478. {
  479. sysf_messageBox("하위부서 내용이 등록 ", "I002");
  480. fInitControl();
  481. ds_main_list_voclist.clearData();
  482. var oParam = {};
  483. oParam.id = "TRCVT00201";
  484. oParam.service = "vocapp.Voc";
  485. oParam.method = "reqGetGrpDeptList";
  486. oParam.inds = "req=ds_send_data";
  487. oParam.outds = "ds_main_list_voclist=voclist";
  488. oParam.async = false;
  489. //oParam.callback = "cf_TRCVT00201";
  490. tranf_submit(oParam);
  491. }
  492. }
  493. function cf_TXCVT00202(sSvcId, nErrorCode, sErrorMsg)
  494. {
  495. if(nErrorCode < 0) return;
  496. else
  497. {
  498. sysf_messageBox("하위부서 내용이 저장 ", "I002");
  499. ds_main_list_voclist.clearData();
  500. var oParam = {};
  501. oParam.id = "TRCVT00201";
  502. oParam.service = "vocapp.Voc";
  503. oParam.method = "reqGetGrpDeptList";
  504. oParam.inds = "req=ds_send_data";
  505. oParam.outds = "ds_main_list_voclist=voclist";
  506. oParam.async = false;
  507. //oParam.callback = "cf_TRCVT00201";
  508. tranf_submit(oParam);
  509. }
  510. }
  511. function button2_onclick(obj:Button, e:ClickEventInfo)
  512. {
  513. fInitControl();
  514. }
  515. ]]></Script>
  516. </Form>
  517. </FDL>