SMRAH04300_QI활동비상세코드관리.xfdl 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMRAH04300" position="absolute 0 0 1201 760" titletext="QI활동비 상세코드 관리" oninit="SMRAH04300_oninit" onload="SMRAH04300_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div id="grp_sea" anchor="left top right" taborder="2" class="div_SA2" position="absolute 0 48 1195 88">
  8. <Layouts>
  9. <Layout>
  10. <Static id="caption2" text="기관코드" class="search_name" position="absolute 49 11 125 28"/>
  11. <Combo id="cmb_instcd" taborder="1" class="combo_s_default" enable="false" position="absolute 130 10 272 29" onitemchanged="grp_sea_cmb_instcd_onitemchanged"/>
  12. <Static id="caption9" text="구분" class="search_name" position="absolute 305 10 360 27"/>
  13. <Combo id="cmb_flagcd" taborder="2" innerdataset="@ds_init_codeinfo_codelist" codecolumn="cdid" datacolumn="cdnm" position="absolute 360 10 505 29" onitemchanged="grp_sea_cmb_flagcd_onitemchanged"/>
  14. <Shape id="line3" linetype="vertical" position="absolute 532 8 538 30"/>
  15. <Button id="btn_search" taborder="3" text="조회" class="btn1" position="absolute 550 8 606 30" onclick="grp_sea_btn_search_onclick"/>
  16. </Layout>
  17. </Layouts>
  18. </Div>
  19. <Shape position="absolute 0 116 1195 122" linetype="horizontal" id="line7" class="line_10" anchor="left top right"/>
  20. <Grid position="absolute 0 121 1195 730" id="datagrid1" binddataset="ds_main_codeinfo_codelist" autoenter="select" cellsizingtype="col" autofittype="col" anchor="all">
  21. <Formats>
  22. <Format id="default">
  23. <Columns>
  24. <Column size="19"/>
  25. <Column size="99"/>
  26. <Column size="307"/>
  27. <Column size="100"/>
  28. <Column size="100"/>
  29. <Column size="316"/>
  30. <Column size="100"/>
  31. <Column size="100"/>
  32. <Column size="0"/>
  33. <Column size="0"/>
  34. <Column size="0"/>
  35. </Columns>
  36. <Rows>
  37. <Row size="24" band="head"/>
  38. <Row size="24"/>
  39. </Rows>
  40. <Band id="head">
  41. <Cell/>
  42. <Cell col="1" text="상세코드"/>
  43. <Cell col="2" text="명칭"/>
  44. <Cell col="3" text="시작일자"/>
  45. <Cell col="4" text="종료일자"/>
  46. <Cell col="5" text="비고"/>
  47. <Cell col="6" text="정렬순서"/>
  48. <Cell col="7" text="사용여부"/>
  49. <Cell col="8" text="instcd"/>
  50. <Cell col="9" text="flagcd"/>
  51. <Cell col="10" text="orgcdid"/>
  52. </Band>
  53. <Band id="body">
  54. <Cell celltype="head"/>
  55. <Cell col="1" displaytype="text" edittype="text" style="align:center;" text="bind:cdid" enable="false"/>
  56. <Cell col="2" displaytype="text" edittype="text" text="bind:cdnm"/>
  57. <Cell col="3" displaytype="date" edittype="date" text="bind:cntlcd1" calendardisplaynulltype="nulltext"/>
  58. <Cell col="4" displaytype="date" edittype="date" text="bind:cntlcd2" calendardisplaynulltype="nulltext"/>
  59. <Cell col="5" displaytype="text" edittype="text" text="bind:detldesc"/>
  60. <Cell col="6" displaytype="text" edittype="text" style="align:center;" text="bind:dispseq"/>
  61. <Cell col="7" displaytype="combo" edittype="combo" style="align:center middle;" text="bind:useyn" combodataset="ds_cmb_useyn" combocodecol="value" combodatacol="label"/>
  62. <Cell col="8" text="bind:instcd"/>
  63. <Cell col="9" text="bind:flagcd"/>
  64. <Cell col="10" text="bind:orgcdid"/>
  65. </Band>
  66. </Format>
  67. </Formats>
  68. </Grid>
  69. <Static text="코드정보" position="absolute 0 100 126 122" id="caption4" class="tit_2"/>
  70. <Button position="absolute 1086 97 1139 116" id="btn_grdadd" class="btn2" text="행추가" anchor="top right" onclick="btn_grdadd_onclick"/>
  71. <Button position="absolute 1142 97 1195 116" id="btn_grddel" class="btn2" text="행삭제" anchor="top right" onclick="btn_grddel_onclick"/>
  72. <Static text="QI활동비 상세코드 관리" position="absolute 0 0 231 25" id="caption1" class="tit_1"/>
  73. <Static text="※ 사용된 코드는 삭제하지 말고, 사용여부를 &quot;No&quot; 로 변경 후 저장하시기 바랍니다." position="absolute 0 735 503 755" id="caption3" style="color:#ff0000ff;" anchor="left bottom"/>
  74. <Shape id="line2" class="line_6" position="absolute 0 44 1195 50" anchor="left top right"/>
  75. <Button id="btn_save" taborder="1" text="저장" class="btn4" position="absolute 1139 23 1195 45" anchor="top right" onclick="btn_save_onclick"/>
  76. </Layout>
  77. </Layouts>
  78. <Objects>
  79. <Dataset id="ds_send_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  80. <ColumnInfo>
  81. <Column id="instcd" type="STRING" size="256"/>
  82. <Column id="flagcd" type="STRING" size="256"/>
  83. </ColumnInfo>
  84. <Rows>
  85. <Row>
  86. <Col id="instcd"/>
  87. <Col id="flagcd"/>
  88. </Row>
  89. </Rows>
  90. </Dataset>
  91. <Dataset id="ds_main_codeinfo_codelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  92. <ColumnInfo>
  93. <Column id="cdid" type="STRING" size="256" sumtext="코드"/>
  94. <Column id="cdnm" type="STRING" size="256" sumtext="코드명"/>
  95. <Column id="cntlcd1" type="STRING" size="256" sumtext="시작일자"/>
  96. <Column id="cntlcd2" type="STRING" size="256" sumtext="종료일자"/>
  97. <Column id="detldesc" type="STRING" size="256" sumtext="상세설명"/>
  98. <Column id="useyn" type="STRING" size="256" sumtext="구분1"/>
  99. <Column id="dispseq" type="STRING" size="256" sumtext="display순서"/>
  100. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  101. <Column id="flagcd" type="STRING" size="256" sumtext="구분코드"/>
  102. <Column id="orgcdid" type="STRING" size="256" sumtext="원코드"/>
  103. </ColumnInfo>
  104. </Dataset>
  105. <Dataset id="ds_cmb_useyn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  106. <ColumnInfo>
  107. <Column id="label" type="STRING" size="256"/>
  108. <Column id="value" type="STRING" size="256"/>
  109. </ColumnInfo>
  110. <Rows>
  111. <Row>
  112. <Col id="label">Yes</Col>
  113. <Col id="value">Y</Col>
  114. </Row>
  115. <Row>
  116. <Col id="label">No</Col>
  117. <Col id="value">N</Col>
  118. </Row>
  119. </Rows>
  120. </Dataset>
  121. <Dataset id="ds_init_codeinfo_codelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  122. <ColumnInfo>
  123. <Column id="cdid" type="STRING" size="256" sumtext="코드"/>
  124. <Column id="cdnm" type="STRING" size="256" sumtext="코드명"/>
  125. </ColumnInfo>
  126. </Dataset>
  127. </Objects>
  128. <Bind>
  129. <BindItem id="item0" compid="grp_sea.cmb_instcd" propid="value" datasetid="ds_send_reqdata" columnid="instcd"/>
  130. <BindItem id="item1" compid="grp_sea.cmb_flagcd" propid="value" datasetid="ds_send_reqdata" columnid="flagcd"/>
  131. </Bind>
  132. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  133. * System Name :
  134. * Job Name :
  135. * Creator :
  136. * Make Date : 2017-06-19
  137. * Description :
  138. *---------------------------------------------------------------------------------------
  139. * Modify Date Modifier Modify Description
  140. *---------------------------------------------------------------------------------------
  141. * 2017-06-19 Live Converter TF->XP
  142. *
  143. *---------------------------------------------------------------------------------------
  144. ****************************************************************************************/
  145. include "com_commonxp::comm_main.xjs";
  146. include "mis_miscommonxp::MIS.xjs";
  147. function SMRAH04300_oninit(obj:Form, e:InitEventInfo)
  148. {
  149. frmf_initForm(obj);
  150. }
  151. function SMRAH04300_onload(obj:Form, e:LoadEventInfo)
  152. {
  153. grdf_initGrid(datagrid1);
  154. grdf_setRowTypeIcon(datagrid1, 0);
  155. misfGridInit(datagrid1);
  156. misfComboInstCdListMulti("grp_sea.cmb_instcd", utlf_getCurrentDate(),"","N");
  157. grp_sea.cmb_instcd.value = sysf_getUserInfo("dutplceinstcd");
  158. var oParam = {};
  159. oParam.id = "TRRAH04302";
  160. oParam.service = "acntknuhapp.Acntknuh";
  161. oParam.method = "reqGetQIComboList";
  162. oParam.inds = "req=ds_send_reqdata";
  163. oParam.outds = "ds_init_codeinfo_codelist=codelist";
  164. oParam.async = false;
  165. //oParam.callback = "cf_TRRAH04302";
  166. tranf_submit(oParam);
  167. }
  168. function grp_sea_btn_search_onclick(obj:Button, e:ClickEventInfo)
  169. {
  170. readfunc();
  171. }
  172. function grp_sea_cmb_instcd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  173. {
  174. misfGridInit(datagrid1);
  175. }
  176. function grp_sea_cmb_flagcd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  177. {
  178. grp_sea.btn_search.click();
  179. }
  180. function readfunc()
  181. {
  182. if (utlf_isNull(ds_send_reqdata.getColumn(0, "flagcd")))
  183. {
  184. sysf_messageBox("구분코드를 선택한 후 조회하시기 바랍니다.", "E999", "");
  185. grp_sea.cmb_flagcd.setFocus();
  186. return;
  187. }
  188. misfGridInit(datagrid1);
  189. var oParam = {};
  190. oParam.id = "TRRAH04301";
  191. oParam.service = "acntknuhapp.Acntknuh";
  192. oParam.method = "reqGetQIDtlCodeList";
  193. oParam.inds = "req=ds_send_reqdata";
  194. oParam.outds = "ds_main_codeinfo_codelist=codelist";
  195. oParam.async = false;
  196. //oParam.callback = "cf_TRRAH04301";
  197. tranf_submit(oParam);
  198. }
  199. function btn_grdadd_onclick(obj:Button, e:ClickEventInfo)
  200. {
  201. var irow = ds_main_codeinfo_codelist.addRow();
  202. ds_main_codeinfo_codelist.setColumn(irow, "instcd", grp_sea.cmb_instcd.value);
  203. ds_main_codeinfo_codelist.setColumn(irow, "flagcd", ds_send_reqdata.getColumn(0, "flagcd"));
  204. ds_main_codeinfo_codelist.setColumn(irow, "useyn", "Y");
  205. datagrid1.setFocus();
  206. ds_main_codeinfo_codelist.rowposition = irow;
  207. ds_main_codeinfo_codelist.rowposition = irow;
  208. datagrid1.setCellPos(1);
  209. datagrid1.showEditor(true);
  210. }
  211. function btn_grddel_onclick(obj:Button, e:ClickEventInfo)
  212. {
  213. var status = ds_main_codeinfo_codelist.getRowType(ds_main_codeinfo_codelist.rowposition);
  214. if(status == 1)
  215. {
  216. ds_main_codeinfo_codelist.updatecontrol = false;
  217. ds_main_codeinfo_codelist.setRowType(ds_main_codeinfo_codelist.rowposition, "d");
  218. ds_main_codeinfo_codelist.updatecontrol = true;
  219. }
  220. else if(status == 2)
  221. {
  222. ds_main_codeinfo_codelist.deleteRow(ds_main_codeinfo_codelist.rowposition);
  223. }
  224. else if(status == 4)
  225. {
  226. ds_main_codeinfo_codelist.updatecontrol = false;
  227. ds_main_codeinfo_codelist.setRowType(ds_main_codeinfo_codelist.rowposition, "d");
  228. ds_main_codeinfo_codelist.updatecontrol = true;
  229. }
  230. else if(status == 8)
  231. {
  232. ds_main_codeinfo_codelist.updatecontrol = false;
  233. ds_main_codeinfo_codelist.setRowType(ds_main_codeinfo_codelist.rowposition, "");
  234. ds_main_codeinfo_codelist.updatecontrol = true;
  235. }
  236. }
  237. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  238. {
  239. if (datacheck() == false)
  240. {
  241. return;
  242. }
  243. ExecData();
  244. }
  245. function datacheck()
  246. {
  247. var scdid1 = "";
  248. var scdid2 = "";
  249. for (var i = 0; i < ds_main_codeinfo_codelist.rowcount; i ++)
  250. {
  251. if(utlf_isNull(ds_main_codeinfo_codelist.getColumn(i, "cdid")))
  252. {
  253. sysf_messageBox("코드는 필수 입력 항목입니다.", "E999", "");
  254. return false;
  255. }
  256. if(utlf_isNull(ds_main_codeinfo_codelist.getColumn(i, "cdnm")))
  257. {
  258. sysf_messageBox("명칭은 필수 입력 항목입니다.", "E999", "");
  259. return false;
  260. }
  261. scdid1 = ds_main_codeinfo_codelist.getColumn(i, "cdid");
  262. var k = i + 1;
  263. for (var j = k; j < ds_main_codeinfo_codelist.rowcount; j++)
  264. {
  265. scdid2 = ds_main_codeinfo_codelist.getColumn(j, "cdid");
  266. if (i != j)
  267. {
  268. if (scdid1 == scdid2)
  269. {
  270. sysf_messageBox(parseInt(j+1) + "번째 행에서 중복된 코드가 존재합니다", "E999", "");
  271. return false;
  272. }
  273. }
  274. }
  275. }
  276. return true;
  277. }
  278. function ExecData()
  279. {
  280. var oParam = {};
  281. oParam.id = "TXRAH04301";
  282. oParam.service = "acntknuhapp.Acntknuh";
  283. oParam.method = "reqExeSaveQIDtlCodeList";
  284. oParam.inds = "codelist=ds_main_codeinfo_codelist:u";
  285. oParam.outds = "ds_=item";
  286. oParam.async = false;
  287. oParam.callback = "cf_TXRAH04301";
  288. tranf_submit(oParam);
  289. }
  290. function cf_TXRAH04301(sSvcId, nErrorCode, sErrorMsg)
  291. {
  292. if(nErrorCode < 0) return;
  293. else readfunc();
  294. }]]></Script>
  295. </Form>
  296. </FDL>