SMRPD30600_전공의근태코드관리New.xfdl 12 KB

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