SMRAC01400_출장비품의권한관리.xfdl 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMRAC01400" position="absolute 0 0 1199 717" titletext="출장비품의권한관리" oninit="SMRAC01400_oninit" onload="SMRAC01400_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div id="group1" taborder="2" position="absolute 1 35 1192 75" class="div_SA2" anchor="left top right">
  8. <Layouts>
  9. <Layout>
  10. <Button id="btn_search" taborder="0" text="조회" class="btn1" position="absolute 304 9 360 31" anchor="left top" onclick="group1_btn_search_onclick"/>
  11. <Shape id="line3" linetype="vertical" position="absolute 286 9 292 31" anchor="left top"/>
  12. <Combo id="cmb_instcd" taborder="1" class="combo_s_default" enable="false" position="absolute 129 11 271 30" anchor="left top"/>
  13. <Static id="caption2" text="기관코드" class="search_name" position="absolute 48 12 116 29" anchor="left top"/>
  14. </Layout>
  15. </Layouts>
  16. </Div>
  17. <Shape position="absolute 0 101 1195 107" linetype="horizontal" id="line7" class="line_10" anchor="left top right"/>
  18. <Grid position="absolute 0 106 1195 715" id="datagrid1" binddataset="ds_main_codeinfo_codelist" onexpandup="datagrid1_onexpandup" anchor="all" cellsizingtype="col">
  19. <Formats>
  20. <Format id="default">
  21. <Columns>
  22. <Column size="25"/>
  23. <Column size="99"/>
  24. <Column size="116"/>
  25. <Column size="295"/>
  26. <Column size="100"/>
  27. <Column size="0"/>
  28. <Column size="0"/>
  29. <Column size="0"/>
  30. <Column size="0"/>
  31. <Column size="0"/>
  32. </Columns>
  33. <Rows>
  34. <Row size="24" band="head"/>
  35. <Row size="24"/>
  36. </Rows>
  37. <Band id="head">
  38. <Cell/>
  39. <Cell col="1" text="구분"/>
  40. <Cell col="2" text="사번 or 부서코드"/>
  41. <Cell col="3" text="성명 or 부서명"/>
  42. <Cell col="4" text="사용여부"/>
  43. <Cell col="5" text="instcd"/>
  44. <Cell col="6" text="grupcdid"/>
  45. <Cell col="7" text="orgcdid"/>
  46. <Cell col="8" text="emplno"/>
  47. <Cell col="9" text="emplnm"/>
  48. </Band>
  49. <Band id="body">
  50. <Cell celltype="head"/>
  51. <Cell col="1" displaytype="combo" edittype="combo" text="bind:cntlcd1" combodataset="ds_cntlcd1" combocodecol="value" combodatacol="label"/>
  52. <Cell col="2" displaytype="text" edittype="text" text="bind:cdid" expandshow="show"/>
  53. <Cell col="3" style="align:left middle;" text="bind:cdnm"/>
  54. <Cell col="4" displaytype="combo" edittype="combo" text="bind:useyn" combodataset="ds_useryn" combocodecol="value" combodatacol="label"/>
  55. <Cell col="5" text="bind:instcd"/>
  56. <Cell col="6" text="bind:grupcdid"/>
  57. <Cell col="7" text="bind:orgcdid"/>
  58. <Cell col="8" text="bind:emplno"/>
  59. <Cell col="9" text="bind:emplnm"/>
  60. </Band>
  61. </Format>
  62. </Formats>
  63. </Grid>
  64. <Static text="출장비품의 권한" position="absolute 1 84 120 100" id="caption4" class="tit_2" anchor="left top"/>
  65. <Button position="absolute 1085 81 1138 100" id="btn_grdadd" class="btn2" text="행추가" onclick="btn_grdadd_onclick" style="align:right middle;" anchor="top right"/>
  66. <Button position="absolute 1141 81 1194 100" id="btn_grddel" class="btn2" text="행삭제" onclick="btn_grddel_onclick" style="align:right middle;" anchor="top right"/>
  67. <Static text="출장비품의 권한관리" position="absolute 0 0 163 25" id="caption1" class="tit_1" anchor="left top"/>
  68. <Shape id="line2" linetype="horizontal" class="line_6" position="absolute 0 32 1195 38" anchor="left top right"/>
  69. <Button id="btn_save" taborder="1" text="저장" class="btn4" position="absolute 1136 10 1192 32" onclick="btn_save_onclick" style="align:right middle;" anchor="top right"/>
  70. </Layout>
  71. </Layouts>
  72. <Objects>
  73. <Dataset id="ds_main_codeinfo_codelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  74. <ColumnInfo>
  75. <Column id="cntlcd1" type="STRING"/>
  76. <Column id="cdid" type="STRING"/>
  77. <Column id="cdnm" type="STRING"/>
  78. <Column id="useyn" type="STRING"/>
  79. <Column id="instcd" type="STRING"/>
  80. <Column id="grupcdid" type="STRING"/>
  81. <Column id="orgcdid" type="STRING"/>
  82. <Column id="emplno" type="STRING"/>
  83. <Column id="emplnm" type="STRING"/>
  84. </ColumnInfo>
  85. </Dataset>
  86. <Dataset id="ds_send_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  87. <ColumnInfo>
  88. <Column id="instcd" type="STRING" size="256"/>
  89. <Column id="grupcdid" type="STRING" size="256"/>
  90. </ColumnInfo>
  91. <Rows>
  92. <Row>
  93. <Col id="grupcdid">R0016</Col>
  94. </Row>
  95. </Rows>
  96. </Dataset>
  97. <Dataset id="ds_useryn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  98. <ColumnInfo>
  99. <Column id="label" type="STRING" size="256"/>
  100. <Column id="value" type="STRING" size="256"/>
  101. </ColumnInfo>
  102. <Rows>
  103. <Row>
  104. <Col id="label">Yes</Col>
  105. <Col id="value">Y</Col>
  106. </Row>
  107. <Row>
  108. <Col id="label">No</Col>
  109. <Col id="value">N</Col>
  110. </Row>
  111. </Rows>
  112. </Dataset>
  113. <Dataset id="ds_cntlcd1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  114. <ColumnInfo>
  115. <Column id="label" type="STRING" size="256"/>
  116. <Column id="value" type="STRING" size="256"/>
  117. </ColumnInfo>
  118. <Rows>
  119. <Row>
  120. <Col id="label">사번</Col>
  121. <Col id="value">사번</Col>
  122. </Row>
  123. <Row>
  124. <Col id="label">부서</Col>
  125. <Col id="value">부서</Col>
  126. </Row>
  127. </Rows>
  128. </Dataset>
  129. <Dataset id="ds_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  130. <ColumnInfo>
  131. <Column id="count" type="STRING" size="256" sumtext="실행건수"/>
  132. </ColumnInfo>
  133. </Dataset>
  134. </Objects>
  135. <Bind>
  136. <BindItem id="item0" compid="group1.cmb_instcd" propid="value" datasetid="ds_send_reqdata" columnid="instcd"/>
  137. </Bind>
  138. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  139. * System Name :
  140. * Job Name :
  141. * Creator :
  142. * Make Date : 2017-06-19
  143. * Description :
  144. *---------------------------------------------------------------------------------------
  145. * Modify Date Modifier Modify Description
  146. *---------------------------------------------------------------------------------------
  147. * 2017-06-19 Live Converter TF->XP
  148. *
  149. *---------------------------------------------------------------------------------------
  150. ****************************************************************************************/
  151. include "com_commonxp::comm_main.xjs";
  152. include "ast_tumorelctxp::combolist.xjs";
  153. include "mis_miscommonxp::MIS.xjs";
  154. include "mis_humtrafactmngtxp::RPB001.xjs";
  155. function SMRAC01400_oninit(obj:Form, e:InitEventInfo)
  156. {
  157. frmf_initForm(obj);
  158. grdf_setRowTypeIcon(datagrid1, 0);
  159. }
  160. function SMRAC01400_onload(obj:Form, e:LoadEventInfo)
  161. {
  162. grdf_initGrid(datagrid1);
  163. misfComboInstCdListMulti("group1.cmb_instcd", utlf_getCurrentDate(), "", "N");
  164. group1.cmb_instcd.value = sysf_getUserInfo("dutplceinstcd");
  165. group1.btn_search.click();
  166. }
  167. function group1_btn_search_onclick(obj:Button, e:ClickEventInfo)
  168. {
  169. readfunc();
  170. }
  171. // 해당 조건에 대한 사용자 권한내역을 조회한다.
  172. function readfunc()
  173. {
  174. misfGridInit(datagrid1);
  175. var oParam = {};
  176. oParam.id = "TRRAC01401";
  177. oParam.service = "acntbaseinfoapp.AcntBaseInfo";
  178. oParam.method = "reqGetChulPrivList";
  179. oParam.inds = "req=ds_send_reqdata";
  180. oParam.outds = "ds_main_codeinfo_codelist=codelist";
  181. oParam.async = false;
  182. //oParam.callback = "cf_TRRAC01401";
  183. tranf_submit(oParam);
  184. }
  185. //행추가
  186. function btn_grdadd_onclick(obj:Button, e:ClickEventInfo)
  187. {
  188. var irow = ds_main_codeinfo_codelist.addRow();
  189. ds_main_codeinfo_codelist.setColumn(irow, "instcd", group1.cmb_instcd.value);
  190. ds_main_codeinfo_codelist.setColumn(irow, "grupcdid", ds_send_reqdata.getColumn(0, "grupcdid"));
  191. ds_main_codeinfo_codelist.setColumn(irow, "useyn", "Y");
  192. }
  193. //행삭제
  194. function btn_grddel_onclick(obj:Button, e:ClickEventInfo)
  195. {
  196. var sRow = ds_main_codeinfo_codelist.rowposition;
  197. var status = ds_main_codeinfo_codelist.getRowType(sRow);
  198. var arrPostion = new Array();
  199. arrPostion[0] = sRow;
  200. if(status == 1)
  201. {
  202. grdf_setStatus(datagrid1, "D", arrPostion);
  203. }
  204. else if(status == 2)
  205. {
  206. ds_main_codeinfo_codelist.deleteRow(sRow);
  207. }
  208. else if(status == 4)
  209. {
  210. ds_main_codeinfo_codelist.deleteRow(sRow);
  211. }
  212. else if(status == 8)
  213. {
  214. grdf_setStatus(datagrid1, "", arrPostion);
  215. }
  216. }
  217. function datagrid1_onexpandup(obj:Grid, e:GridMouseEventInfo)
  218. {
  219. if(e.col == 2)
  220. {
  221. var gubun = ds_main_codeinfo_codelist.getColumn(ds_main_codeinfo_codelist.rowposition, "cntlcd1");
  222. if(gubun == "부서")
  223. {
  224. misfOpenPopUpList("02", datagrid1, "", "cdid,cdnm");
  225. }
  226. else if (gubun == "사번")
  227. {
  228. //임시copy
  229. ds_main_codeinfo_codelist.setColumn(ds_main_codeinfo_codelist.rowposition, "emlpno", ds_main_codeinfo_codelist.getColumn(ds_main_codeinfo_codelist.rowposition, "cdid"));
  230. ds_main_codeinfo_codelist.setColumn(ds_main_codeinfo_codelist.rowposition, "emplnm", ds_main_codeinfo_codelist.getColumn(ds_main_codeinfo_codelist.rowposition, "cdnm"));
  231. var recv_list = "emplno,emplnm";
  232. rpbfOpenPopUpList("SPRPB00101", datagrid1, recv_list,"","N");
  233. //paste
  234. ds_main_codeinfo_codelist.setColumn(ds_main_codeinfo_codelist.rowposition, "cdid", ds_main_codeinfo_codelist.getColumn(ds_main_codeinfo_codelist.rowposition, "emplno"));
  235. ds_main_codeinfo_codelist.setColumn(ds_main_codeinfo_codelist.rowposition, "cdnm", ds_main_codeinfo_codelist.getColumn(ds_main_codeinfo_codelist.rowposition, "emplnm"));
  236. }
  237. }
  238. }
  239. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  240. {
  241. if (datacheck() == false)
  242. {
  243. return;
  244. }
  245. ExecData();
  246. }
  247. function datacheck()
  248. {
  249. var scdid1 = "";
  250. var scdid2 = "";
  251. for(var i = 0; i < ds_main_codeinfo_codelist.rowcount; i++)
  252. {
  253. if(utlf_isNull(ds_main_codeinfo_codelist.getColumn(i, "cntlcd1")))
  254. {
  255. sysf_messageBox("구분은 필수 입력 항목입니다.", "E999", "");
  256. return false;
  257. }
  258. if(utlf_isNull(ds_main_codeinfo_codelist.getColumn(i, "cdid")))
  259. {
  260. sysf_messageBox("사번 or 부서코드는 필수 입력 항목입니다.", "E999", "");
  261. return false;
  262. }
  263. scdid1 = ds_main_codeinfo_codelist.getColumn(i, "cdid");
  264. var k = i + 1;
  265. for(var j = k; j < ds_main_codeinfo_codelist.rowcount; j++)
  266. {
  267. scdid2 = ds_main_codeinfo_codelist.getColumn(j, "cdid");
  268. if (i != j)
  269. {
  270. if (scdid1 == scdid2)
  271. {
  272. sysf_messageBox(j + "번째 행에서 중복된 코드가 존재합니다", "E999", "");
  273. return false;
  274. }
  275. }
  276. }
  277. }
  278. return true;
  279. }
  280. function ExecData()
  281. {
  282. var oParam = {};
  283. oParam.id = "TXRAC01401";
  284. oParam.service = "acntbaseinfoapp.AcntBaseInfo";
  285. oParam.method = "reqExeSaveChulPrivList";
  286. oParam.inds = "codelist=ds_main_codeinfo_codelist:A";
  287. oParam.outds = "ds_item=item";
  288. oParam.async = false;
  289. oParam.callback = "cf_TXRAC01401";
  290. tranf_submit(oParam);
  291. }
  292. function cf_TXRAC01401(sSvcId, nErrorCode, sErrorMsg)
  293. {
  294. if(nErrorCode < 0)
  295. {
  296. return;
  297. }
  298. else
  299. {
  300. readfunc();
  301. }
  302. }
  303. ]]></Script>
  304. </Form>
  305. </FDL>