SPMNG00404_린넨공휴일업무관리.xfdl 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMNG00404" position="absolute 0 0 536 495" titletext="린넨청구부서코드 HELP" oninit="SPMNG00404_oninit" onload="SPMNG00404_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 0 535 465" id="group3" scrollbars="autoboth">
  8. <Layouts>
  9. <Layout>
  10. <Div position="absolute 0 0 532 30" id="group2">
  11. <Layouts>
  12. <Layout>
  13. <Shape position="absolute 0 0 529 29" id="roundrect1" class="roundrect_search" type="roundrectangle"/>
  14. <Button position="absolute 459 4 515 26" id="btn_search" class="btn1" text="조회" onclick="group3_group2_btn_search_onclick"/>
  15. <Shape position="absolute 447 0 453 29" linetype="vertical" id="line13" class="line_4"/>
  16. <Static text="조회조건:" position="absolute 10 6 96 23" id="caption2" class="search_name"/>
  17. <Calendar position="absolute 100 5 205 24" id="ipt_workdd" class="input_default" autoselect="true" autoskip="true" onchanged="group3_group2_ipt_workdd_onchanged" editformat="yyyy-MM-dd"/>
  18. </Layout>
  19. </Layouts>
  20. </Div>
  21. <Static text="월별 현황" position="absolute 0 55 95 71" id="caption1" class="tit_2"/>
  22. <Shape position="absolute 0 71 529 77" linetype="horizontal" id="line1" class="line_10"/>
  23. <Grid position="absolute 0 75 529 453" id="grd_calendar" binddataset="ds_main_week_week" style="font:Dotum,13,bold;" selecttype="multiarea">
  24. <Formats>
  25. <Format id="default">
  26. <Columns>
  27. <Column size="75"/>
  28. <Column size="75"/>
  29. <Column size="75"/>
  30. <Column size="75"/>
  31. <Column size="75"/>
  32. <Column size="75"/>
  33. <Column size="75"/>
  34. </Columns>
  35. <Rows>
  36. <Row size="24" band="head"/>
  37. <Row size="58"/>
  38. </Rows>
  39. <Band id="head">
  40. <Cell text="일"/>
  41. <Cell col="1" text="월"/>
  42. <Cell col="2" text="화"/>
  43. <Cell col="3" text="수"/>
  44. <Cell col="4" text="목"/>
  45. <Cell col="5" text="금"/>
  46. <Cell col="6" text="토"/>
  47. </Band>
  48. <Band id="body">
  49. <Cell style="align:left top;padding:7 2 2 3;font:arial,13;" text="bind:sun"/>
  50. <Cell col="1" style="align:left top;padding:7 2 2 3;font:arial,13;" text="bind:mon"/>
  51. <Cell col="2" style="align:left top;padding:7 2 2 3;font:arial,13;" text="bind:tue"/>
  52. <Cell col="3" style="align:left top;padding:7 2 2 3;font:arial,13;" text="bind:wed"/>
  53. <Cell col="4" style="align:left top;padding:7 2 2 3;font:arial,13;" text="bind:thu"/>
  54. <Cell col="5" style="align:left top;padding:7 2 2 3;font:arial,13;" text="bind:fri"/>
  55. <Cell col="6" style="align:left top;padding:7 2 2 3;font:arial,13;" text="bind:sat"/>
  56. </Band>
  57. </Format>
  58. </Formats>
  59. </Grid>
  60. </Layout>
  61. </Layouts>
  62. </Div>
  63. <Div position="absolute 0 465 529 495" id="group1" scrollbars="autoboth">
  64. <Layouts>
  65. <Layout>
  66. <Button position="absolute 346 2 402 24" id="btn_sav" class="btn4" text="지정" onclick="group1_btn_sav_onclick"/>
  67. <Button position="absolute 406 2 462 24" id="btn_del" class="btn4" text="취소" onclick="group1_btn_del_onclick"/>
  68. <Button position="absolute 465 2 521 24" id="btn_cancel" class="btn4" text="닫기" onclick="group1_btn_cancel_onclick"/>
  69. </Layout>
  70. </Layouts>
  71. </Div>
  72. </Layout>
  73. </Layouts>
  74. <Objects>
  75. <Dataset id="ds_main_week_week" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  76. <ColumnInfo>
  77. <Column id="sun" type="STRING" size="256"/>
  78. <Column id="mon" type="STRING" size="256"/>
  79. <Column id="tue" type="STRING" size="256"/>
  80. <Column id="wed" type="STRING" size="256"/>
  81. <Column id="thu" type="STRING" size="256"/>
  82. <Column id="fri" type="STRING" size="256"/>
  83. <Column id="sat" type="STRING" size="256"/>
  84. </ColumnInfo>
  85. </Dataset>
  86. <Dataset id="ds_main_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  87. <ColumnInfo>
  88. <Column id="workdd" type="STRING" size="256"/>
  89. </ColumnInfo>
  90. <Rows>
  91. <Row/>
  92. </Rows>
  93. </Dataset>
  94. <Dataset id="ds_target" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  95. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  96. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  97. <Dataset id="ds_send_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  98. <Dataset id="ds_main_lnschecal_lnschecal" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  99. <Dataset id="ds_send_savedata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  100. </Objects>
  101. <Bind>
  102. <BindItem id="item0" compid="group3.group2.ipt_workdd" propid="value" datasetid="ds_main_cond" columnid="workdd"/>
  103. </Bind>
  104. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  105. * System Name :
  106. * Job Name :
  107. * Creator :
  108. * Make Date : 2017-07-11
  109. * Description :
  110. *---------------------------------------------------------------------------------------
  111. * Modify Date Modifier Modify Description
  112. *---------------------------------------------------------------------------------------
  113. * 2017-07-11 Live Converter TF->XP
  114. *
  115. *---------------------------------------------------------------------------------------
  116. ****************************************************************************************/
  117. include "com_commonxp::comm_main.xjs";
  118. var arErrorCode = new HashArray();
  119. function cf_TRMNG00410(sSvcId, nErrorCode, sErrorMsg) {
  120. arErrorCode.push(sSvcId, nErrorCode);
  121. if(nErrorCode < 0) return;
  122. utlf_addLog("***** cf_TRMNG00410 *****");
  123. }
  124. function cf_TXMNG00406(sSvcId, nErrorCode, sErrorMsg) {
  125. arErrorCode.push(sSvcId, nErrorCode);
  126. if(nErrorCode < 0) return;
  127. utlf_addLog("***** cf_TXMNG00406 *****");
  128. }
  129. function SPMNG00404_oninit(obj:Form, e:InitEventInfo)
  130. {
  131. frmf_initForm(obj);
  132. }
  133. function SPMNG00404_onload(obj:Form, e:LoadEventInfo)
  134. {
  135. group3.group2.ipt_workdd.value = utlf_getCurrentDate();
  136. fSetDate();
  137. fSearch();
  138. }
  139. function fSetDate() {
  140. var workdd = String(group3.group2.ipt_workdd.value);
  141. var year = workdd.substr(0, 4);
  142. var month = workdd.substr(4, 2);
  143. dsf_makeValue(ds_main_cond,"year", "string", year);
  144. dsf_makeValue(ds_main_cond,"month", "string", month);
  145. }
  146. function fSearch(){
  147. ds_send_reqdata.clearData();
  148. ds_main_cond.addColumn("perfdeptcd", "string");
  149. dsf_makeValue(ds_send_reqdata,"year", "string", ds_main_cond.getColumn(0, "year"));
  150. dsf_makeValue(ds_send_reqdata,"month", "string", ds_main_cond.getColumn(0, "month"));
  151. dsf_makeValue(ds_send_reqdata,"perfdeptcd", "string", ds_main_cond.getColumn(0, "perfdeptcd"));
  152. var oParam = {};
  153. oParam.id = "TRMNG00410";
  154. oParam.service = "csrapp.CsrDryMngt";
  155. oParam.method = "reqGetLnCalList";
  156. oParam.inds = "req=ds_send_reqdata";
  157. oParam.outds = "ds_main_lnschecal_lnschecal=lnschecal";
  158. oParam.async = false;
  159. oParam.callback = "cf_TRMNG00410";
  160. tranf_submit(oParam);
  161. if(arErrorCode.pop("TRMNG00410") > -1){
  162. fMakeCalendar();
  163. }
  164. //grd_calendar.dataheight = 58;
  165. }
  166. function fMakeCalendar(){
  167. ds_main_week_week.clearData();
  168. ds_main_week_week.addRow();
  169. var row = 0;
  170. var col = 0;
  171. var patsum = 0;
  172. var totcnt = ds_main_lnschecal_lnschecal.rowcount;
  173. var sExprColor = "EXPR(";
  174. for(var i = 0; i < totcnt ; i++){
  175. row = ds_main_lnschecal_lnschecal.getColumn(i, "week") - 1;
  176. col = ds_main_lnschecal_lnschecal.getColumn(i, "day") - 1;
  177. dutflag = ds_main_lnschecal_lnschecal.getColumn(i, "dutflag");
  178. cdnm = utlf_transNullToEmpty(ds_main_lnschecal_lnschecal.getColumn(i, "cdnm"));
  179. if(dutflag == 4){ //토
  180. sExprColor += "(currow == "+row+" && self.col == "+col+") ? '#0000FF' : ";
  181. //grd_calendar.cellstyle("color", row, col) = "#0000FF";
  182. }else if(dutflag == 8){ //일
  183. sExprColor += "(currow == "+row+" && self.col == "+col+") ? '#FF0000' : ";
  184. // grd_calendar.cellstyle("color", row, col) = "#FF0000";
  185. }else{ //휴일
  186. sExprColor += "(currow == "+row+" && self.col == "+col+") ? '#000000' : ";
  187. // grd_calendar.cellstyle("color", row, col) = "#000000";
  188. }
  189. var coltext = group3.grd_calendar.getCellProperty( "Body", col, "text");
  190. if( !utlf_isNull(coltext) ){
  191. coltext = coltext.replace("bind:","");
  192. }
  193. ds_main_week_week.setColumn(row, coltext, (i+1) + "\n" + cdnm );
  194. if(col == 6){
  195. ds_main_week_week.addRow();
  196. }
  197. }
  198. sExprColor += "'')";
  199. for(var expnum = 0; expnum < group3.grd_calendar.getCellCount("Body"); expnum++){
  200. group3.grd_calendar.setCellProperty("Body", expnum, "color", sExprColor);
  201. group3.grd_calendar.setCellProperty("Body", expnum, "color2", sExprColor);
  202. }
  203. }
  204. function group3_group2_btn_search_onclick(obj:Button, e:ClickEventInfo)
  205. {
  206. fSearch();
  207. }
  208. function group3_group2_ipt_workdd_onchanged(obj:Calendar, e:ChangeEventInfo)
  209. {
  210. fSetDate();
  211. }
  212. function group1_btn_sav_onclick(obj:Button, e:ClickEventInfo)
  213. {
  214. var week = ds_main_week_week.rowposition + 1;
  215. var day = group3.grd_calendar.currentcol + 1;
  216. ds_main_lnschecal_lnschecal.filter("week == '"+week+"' && day == '"+day+"'");
  217. var dutflagcolor = ds_main_lnschecal_lnschecal.getColumn(0, "dutflag");
  218. ds_main_lnschecal_lnschecal.filter("");
  219. if( dutflagcolor == 8 ) {
  220. ds_main_lnschecal_lnschecal.filter("week == '"+week+"' && day == '"+day+"'");
  221. basedd = ds_main_lnschecal_lnschecal.getColumn(0, "basedd");
  222. ds_main_lnschecal_lnschecal.filter("");
  223. //ds_send_savedata //dutflag
  224. dsf_makeValue(ds_send_savedata,"basedd", "string", basedd);
  225. dsf_makeValue(ds_send_savedata,"saveflag", "string", "I");
  226. var oParam = {};
  227. oParam.id = "TXMNG00406";
  228. oParam.service = "csrapp.CsrDryMngt";
  229. oParam.method = "reqExeLnCalList";
  230. oParam.inds = "req=ds_send_savedata";
  231. oParam.outds = "";
  232. oParam.async = false;
  233. oParam.callback = "cf_TXMNG00406";
  234. tranf_submit(oParam);
  235. if(arErrorCode.pop("TXMNG00406") > -1){
  236. alert("업무일로 지정되었습니다.");
  237. }
  238. } else {
  239. alert("지정일이 공휴일인지 확인하십시오. 공휴일만 지정할 수 있습니다.");
  240. }
  241. fSearch();
  242. }
  243. function group1_btn_del_onclick(obj:Button, e:ClickEventInfo)
  244. {
  245. var week = ds_main_week_week.rowposition + 1;
  246. var day = group3.grd_calendar.currentcol + 1;
  247. ds_main_lnschecal_lnschecal.filter("week == '"+week+"' && day == '"+day+"'");
  248. var dutflagcolor = ds_main_lnschecal_lnschecal.getColumn(0, "dutflag");
  249. ds_main_lnschecal_lnschecal.filter("");
  250. if( dutflagcolor == 8 ) {
  251. ds_main_lnschecal_lnschecal.filter("week == '"+week+"' && day == '"+day+"'");
  252. basedd = ds_main_lnschecal_lnschecal.getColumn(0, "basedd");
  253. ds_main_lnschecal_lnschecal.filter("");
  254. dsf_makeValue(ds_send_savedata,"basedd", "string", basedd);
  255. dsf_makeValue(ds_send_savedata,"saveflag", "string", "D");
  256. var oParam = {};
  257. oParam.id = "TXMNG00406";
  258. oParam.service = "csrapp.CsrDryMngt";
  259. oParam.method = "reqExeLnCalList";
  260. oParam.inds = "req=ds_send_savedata";
  261. oParam.outds = "";
  262. oParam.async = false;
  263. oParam.callback = "cf_TXMNG00406";
  264. tranf_submit(oParam);
  265. if(arErrorCode.pop("TXMNG00406") > -1){
  266. alert("공휴일로 지정되었습니다.");
  267. }
  268. }else {
  269. alert("지정일이 공휴일인지 확인하십시오. 공휴일만 지정할 수 있습니다.");
  270. }
  271. fSearch();
  272. }
  273. function group1_btn_cancel_onclick(obj:Button, e:ClickEventInfo)
  274. {
  275. this.close();
  276. }
  277. ]]></Script>
  278. </Form>
  279. </FDL>