SMRPD30700_휴진사유및전공의근태코드매핑.xfdl 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMRPD30700" position="absolute 0 0 1198 761" titletext="휴진사유 및 전공의 근태코드 매핑" oninit="SMRPD30700_oninit" onload="SMRPD30700_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div id="grp_sea" taborder="2" position="absolute 0 47 1195 87" anchor="left top right" class="div_SA2">
  8. <Layouts>
  9. <Layout>
  10. <Static id="caption2" text="기관코드" class="search_name" position="absolute 49 10 120 27"/>
  11. <Combo id="cmb_instcd" taborder="1" class="combo_s_default" enable="false" position="absolute 120 9 262 28" onitemchanged="grp_sea_cmb_instcd_onitemchanged"/>
  12. <Shape id="line3" linetype="vertical" position="absolute 287 7 293 29"/>
  13. <Button id="btn_search" taborder="2" text="조회" class="btn1" position="absolute 305 7 361 29" onclick="grp_sea_btn_search_onclick"/>
  14. </Layout>
  15. </Layouts>
  16. </Div>
  17. <Shape position="absolute 0 116 1195 122" linetype="horizontal" id="line7" class="line_10" anchor="left top right"/>
  18. <Grid position="absolute 0 121 1195 710" id="datagrid1" binddataset="ds_main_codeinfo_codelist" autoenter="select" cellsizingtype="col" anchor="all">
  19. <Formats>
  20. <Format id="default">
  21. <Columns>
  22. <Column size="25" band="left"/>
  23. <Column size="106"/>
  24. <Column size="77"/>
  25. <Column size="68"/>
  26. <Column size="100"/>
  27. <Column size="91"/>
  28. <Column size="90"/>
  29. <Column size="318"/>
  30. <Column size="0"/>
  31. <Column size="0"/>
  32. <Column size="0"/>
  33. <Column size="0"/>
  34. </Columns>
  35. <Rows>
  36. <Row size="24" band="head"/>
  37. <Row size="24"/>
  38. </Rows>
  39. <Band id="head">
  40. <Cell/>
  41. <Cell col="1" text="휴진사유"/>
  42. <Cell col="2" text="국내외구분"/>
  43. <Cell col="3" text="--&gt;"/>
  44. <Cell col="4" text="전공의 근태코드"/>
  45. <Cell col="5" text="적용시작일자"/>
  46. <Cell col="6" text="적용종료일자"/>
  47. <Cell col="7" text="비고"/>
  48. <Cell col="8" text="instcd"/>
  49. <Cell col="9" text="oldordendresn"/>
  50. <Cell col="10" text="olddoflag"/>
  51. <Cell col="11" text="oldvalifromdd"/>
  52. </Band>
  53. <Band id="body">
  54. <Cell celltype="head"/>
  55. <Cell col="1" displaytype="combo" edittype="combo" style="align:left middle;padding:0 0 0 3;" text="bind:ordendresn" combodataset="ds_init_list_resnlist" combocodecol="cdid" combodatacol="cdnm" combodisplayrowcount="30"/>
  56. <Cell col="2" displaytype="combo" edittype="combo" style="align:center middle;" text="bind:doflag" combodataset="ds_cmb_doflag" combocodecol="value" combodatacol="label"/>
  57. <Cell col="3" text="bind:arrow"/>
  58. <Cell col="4" displaytype="combo" edittype="combo" style="padding:0 0 0 3;" text="bind:duttype" combodataset="ds_init_list_duttypelist" combocodecol="cdid" combodatacol="cdnm" combodisplayrowcount="30"/>
  59. <Cell col="5" displaytype="date" edittype="date" text="bind:valifromdd" calendardisplaynulltype="nulltext"/>
  60. <Cell col="6" displaytype="date" edittype="date" text="bind:valitodd" calendardisplaynulltype="nulltext"/>
  61. <Cell col="7" displaytype="text" edittype="text" text="bind:cmt"/>
  62. <Cell col="8" text="bind:instcd"/>
  63. <Cell col="9" text="bind:oldordendresn"/>
  64. <Cell col="10" text="bind:olddoflag"/>
  65. <Cell col="11" text="bind:oldvalifromdd"/>
  66. </Band>
  67. </Format>
  68. </Formats>
  69. </Grid>
  70. <Static text="전자결재(전공의 복무신청)시 휴진사유 vs. 전공의 근태코드 매핑 정보" position="absolute 0 100 456 122" id="caption4" class="tit_2"/>
  71. <Button position="absolute 1085 96 1138 115" id="btn_grdadd" class="btn2" text="행추가" anchor="top right" onclick="btn_grdadd_onclick"/>
  72. <Button position="absolute 1141 96 1194 115" id="btn_grddel" class="btn2" text="행삭제" anchor="top right" onclick="btn_grddel_onclick"/>
  73. <Static text="2. 휴진사유 코드가 추가된 경우, 본 프로그램에 적용될 뿐 아니라 전자결재 업체의 프로그램에도 적용되어야 하므로 반드시 전산실 담당자와 상의하시기 바랍니다." position="absolute 15 735 1155 755" id="caption3" anchor="left bottom" style="color:#ff0000ff;"/>
  74. <Static text="※ 1. 사용된 코드는 삭제하지 말고, 적용종료일자를 변경 후 저장하시기 바랍니다." position="absolute 0 718 503 738" id="caption5" anchor="left bottom" style="color:#ff0000ff;"/>
  75. <Static id="caption1" text="휴진사유 및 전공의 근태코드 매핑" class="tit_1" position="absolute 0 0 237 25"/>
  76. <Shape id="line2" class="line_6" position="absolute 0 43 1195 49" anchor="left top right"/>
  77. <Button id="btn_save" taborder="1" text="저장" class="btn4" position="absolute 1139 22 1195 44" anchor="top right" onclick="btn_save_onclick"/>
  78. </Layout>
  79. </Layouts>
  80. <Objects>
  81. <Dataset id="ds_send_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  82. <ColumnInfo>
  83. <Column id="instcd" type="STRING" size="256"/>
  84. </ColumnInfo>
  85. <Rows>
  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="instcd" type="STRING" size="256" sumtext="기관코드"/>
  92. <Column id="ordendresn" type="STRING" size="256" sumtext="휴진사유"/>
  93. <Column id="doflag" type="STRING" size="256" sumtext="국내외구분"/>
  94. <Column id="arrow" type="STRING" size="256" sumtext="화살표"/>
  95. <Column id="valifromdd" type="STRING" size="256" sumtext="적용시작일자"/>
  96. <Column id="valitodd" type="STRING" size="256" sumtext="적용종료일자"/>
  97. <Column id="duttype" type="STRING" size="256" sumtext="전공의근태코드"/>
  98. <Column id="cmt" type="STRING" size="256" sumtext="비고"/>
  99. <Column id="oldordendresn" type="STRING" size="256" sumtext="old휴진사유"/>
  100. <Column id="olddoflag" type="STRING" size="256" sumtext="old국내외구분"/>
  101. <Column id="oldvalifromdd" type="STRING" size="256" sumtext="old적용시작일자"/>
  102. </ColumnInfo>
  103. </Dataset>
  104. <Dataset id="ds_init_list_resnlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  105. <ColumnInfo>
  106. <Column id="cdid" type="STRING" size="256" sumtext="휴진사유코드"/>
  107. <Column id="cdnm" type="STRING" size="256" sumtext="휴진사유"/>
  108. </ColumnInfo>
  109. </Dataset>
  110. <Dataset id="ds_cmb_doflag" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  111. <ColumnInfo>
  112. <Column id="label" type="STRING" size="256"/>
  113. <Column id="value" type="STRING" size="256"/>
  114. </ColumnInfo>
  115. <Rows>
  116. <Row>
  117. <Col id="label">국내</Col>
  118. <Col id="value">D</Col>
  119. </Row>
  120. <Row>
  121. <Col id="label">국외</Col>
  122. <Col id="value">O</Col>
  123. </Row>
  124. </Rows>
  125. </Dataset>
  126. <Dataset id="ds_init_list_duttypelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  127. <ColumnInfo>
  128. <Column id="cdid" type="STRING" size="256" sumtext="근태코드"/>
  129. <Column id="cdnm" type="STRING" size="256" sumtext="근태코드명"/>
  130. </ColumnInfo>
  131. </Dataset>
  132. </Objects>
  133. <Bind>
  134. <BindItem id="item0" compid="grp_sea.cmb_instcd" propid="value" datasetid="ds_send_reqdata" columnid="instcd"/>
  135. </Bind>
  136. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  137. * System Name :
  138. * Job Name :
  139. * Creator :
  140. * Make Date : 2017-06-19
  141. * Description :
  142. *---------------------------------------------------------------------------------------
  143. * Modify Date Modifier Modify Description
  144. *---------------------------------------------------------------------------------------
  145. * 2017-06-19 Live Converter TF->XP
  146. *
  147. *---------------------------------------------------------------------------------------
  148. ****************************************************************************************/
  149. include "com_commonxp::comm_main.xjs";
  150. include "mis_miscommonxp::MIS.xjs";
  151. function SMRPD30700_oninit(obj:Form, e:InitEventInfo)
  152. {
  153. frmf_initForm(obj);
  154. }
  155. function SMRPD30700_onload(obj:Form, e:LoadEventInfo)
  156. {
  157. grdf_initGrid(datagrid1);
  158. grdf_setRowTypeIcon(datagrid1, 0);
  159. misfComboInstCdListMulti("grp_sea.cmb_instcd", utlf_getCurrentDate(),"","N");
  160. grp_sea.cmb_instcd.value = sysf_getUserInfo("dutplceinstcd");
  161. var oParam = {};
  162. oParam.id = "TRRPD30702";
  163. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  164. oParam.method = "reqGetDutyInitCodeList";
  165. oParam.inds = "req=ds_send_reqdata";
  166. oParam.outds = "ds_init_list_resnlist=resnlist ds_init_list_duttypelist=duttypelist";
  167. oParam.async = false;
  168. //oParam.callback = "cf_TRRPD30702"
  169. tranf_submit(oParam);
  170. appf_showValue(ds_init_list_resnlist);
  171. appf_showValue(ds_init_list_duttypelist);
  172. appf_showValue(ds_cmb_doflag, "value", "label");
  173. grp_sea.btn_search.click();
  174. }
  175. function grp_sea_btn_search_onclick(obj:Button, e:ClickEventInfo)
  176. {
  177. readfunc();
  178. }
  179. function grp_sea_cmb_instcd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  180. {
  181. misfGridInit(datagrid1);
  182. }
  183. function readfunc()
  184. {
  185. misfGridInit(datagrid1);
  186. var oParam = {};
  187. oParam.id = "TRRPD30701";
  188. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  189. oParam.method = "reqGetDutyMapCodeList";
  190. oParam.inds = "req=ds_send_reqdata";
  191. oParam.outds = "ds_main_codeinfo_codelist=codelist";
  192. oParam.async = false;
  193. //oParam.callback = "cf_TRRPD30701";
  194. tranf_submit(oParam);
  195. }
  196. function btn_grdadd_onclick(obj:Button, e:ClickEventInfo)
  197. {
  198. var irow = ds_main_codeinfo_codelist.addRow();
  199. ds_main_codeinfo_codelist.setColumn(irow, "instcd", grp_sea.cmb_instcd.value);
  200. ds_main_codeinfo_codelist.setColumn(irow, "arrow", "-->");
  201. }
  202. function btn_grddel_onclick(obj:Button, e:ClickEventInfo)
  203. {
  204. var status = ds_main_codeinfo_codelist.getRowType(ds_main_codeinfo_codelist.rowposition);
  205. if(status == 1)
  206. {
  207. ds_main_codeinfo_codelist.updatecontrol = false;
  208. ds_main_codeinfo_codelist.setRowType(ds_main_codeinfo_codelist.rowposition, "d");
  209. ds_main_codeinfo_codelist.updatecontrol = true;
  210. }
  211. else if(status == 2)
  212. {
  213. ds_main_codeinfo_codelist.deleteRow(ds_main_codeinfo_codelist.rowposition);
  214. }
  215. else if(status == 4)
  216. {
  217. ds_main_codeinfo_codelist.updatecontrol = false;
  218. ds_main_codeinfo_codelist.setRowType(ds_main_codeinfo_codelist.rowposition, "d");
  219. ds_main_codeinfo_codelist.updatecontrol = true;
  220. }
  221. else if(status == 8)
  222. {
  223. ds_main_codeinfo_codelist.updatecontrol = false;
  224. ds_main_codeinfo_codelist.setRowType(ds_main_codeinfo_codelist.rowposition, "");
  225. ds_main_codeinfo_codelist.updatecontrol = true;
  226. }
  227. }
  228. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  229. {
  230. if (datacheck() == false)
  231. {
  232. return;
  233. }
  234. ExecData();
  235. }
  236. function datacheck()
  237. {
  238. var scdid1 = "";
  239. var scdid2 = "";
  240. for (var i = 0; i < ds_main_codeinfo_codelist.rowcount; i ++)
  241. {
  242. if (utlf_isNull(ds_main_codeinfo_codelist.getColumn(i, "ordendresn")))
  243. {
  244. sysf_messageBox("휴진사유는 필수 입력 항목입니다.", "E999", "");
  245. return false;
  246. }
  247. if (utlf_isNull(ds_main_codeinfo_codelist.getColumn(i, "doflag")))
  248. {
  249. sysf_messageBox("국내외구분은 필수 입력 항목입니다.", "E999", "");
  250. return false;
  251. }
  252. if (utlf_isNull(ds_main_codeinfo_codelist.getColumn(i, "duttype")))
  253. {
  254. sysf_messageBox("전공의 근태코드는 필수 입력 항목입니다.", "E999", "");
  255. return false;
  256. }
  257. if (String(ds_main_codeinfo_codelist.getColumn(i, "valifromdd")).length < 8)
  258. {
  259. sysf_messageBox("적용시작일자는 'YYYY-MM-DD' 형식입니다. 일자를 확인하십시요. ", "E999", "");
  260. return false;
  261. }
  262. if (String(ds_main_codeinfo_codelist.getColumn(i, "valitodd")).length < 8)
  263. {
  264. sysf_messageBox("적용종료일자는 'YYYY-MM-DD' 형식입니다. 일자를 확인하십시요. ", "E999", "");
  265. return false;
  266. }
  267. }
  268. return true;
  269. }
  270. function ExecData()
  271. {
  272. var oParam = {};
  273. oParam.id = "TXRPD30701";
  274. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  275. oParam.method = "reqExeSaveDutyMapCodeList";
  276. oParam.inds = "codelist=ds_main_codeinfo_codelist:u";
  277. oParam.outds = "ds_=item";
  278. oParam.async = false;
  279. oParam.callback = "cf_TXRPD30701";
  280. tranf_submit(oParam);
  281. }
  282. function cf_TXRPD30701(sSvcId, nErrorCode, sErrorMsg)
  283. {
  284. if(nErrorCode < 0) return;
  285. else readfunc();
  286. }]]></Script>
  287. </Form>
  288. </FDL>