SMAEA00700_예약 변동 관리.xfdl 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMAEA00700" position="absolute 0 0 1081 768" titletext="검사실 휴검 관리" onload="SMAEA00700_onload">
  5. <Layouts>
  6. <Layout>
  7. <Shape position="absolute 5 44 289 50" linetype="vertical" id="line3" class="line_2"/>
  8. <Div position="absolute 0 18 1080 740" id="group3" scrollbars="autoboth" anchor="all">
  9. <Layouts>
  10. <Layout>
  11. <Div position="absolute 0 7 1080 47" align="align:center top;" id="grp_sea" class="div_SA" anchor="left top right">
  12. <Layouts>
  13. <Layout>
  14. <Static text="조회일자" position="absolute 540 12 626 29" id="caption5" class="search_name" anchor="default"/>
  15. <Static text="~" position="absolute 729 10 749 30" align="align:center middle;" id="caption7" anchor="default"/>
  16. <Calendar position="absolute 745 11 847 30" align="align:center middle;" id="input4" class="input_search" taborder="4" anchor="default" dateformat="yyyy-MM-dd"/>
  17. <Calendar position="absolute 626 11 726 30" align="align:center middle;" id="input6" class="input_search" taborder="3" anchor="default" dateformat="yyyy-MM-dd" value="null"/>
  18. <Button position="absolute 1009 10 1065 32" id="btn_sea" class="btn1" taborder="5" text="조회" anchor="top right" onclick="group3_grp_sea_btn_sea_onclick"/>
  19. <Combo position="absolute 90 11 295 30" id="combo2" class="combo_search" taborder="1" innerdataset="@ds_init_cmb_info_initexecroom" datacolumn="excuroomcdnm" codecolumn="excuroomcdid" anchor="default" onitemchanged="group3_grp_sea_combo2_onitemchanged"/>
  20. <Combo position="absolute 405 11 525 30" id="cmb_deptcd" taborder="2" innerdataset="@ds_init_cmb_info_suppdept" datacolumn="depthngnm" codecolumn="suppdeptcd" anchor="default" onitemchanged="group3_grp_sea_cmb_deptcd_onitemchanged"/>
  21. <Static text="검사실 :" position="absolute 10 12 83 29" id="caption1" class="search_name" anchor="default"/>
  22. <Static text="지원부서 :" position="absolute 315 12 401 29" id="caption15" class="search_name" anchor="default"/>
  23. <Shape position="absolute 993 9 999 32" linetype="vertical" id="line13" class="line_4" anchor="top right"/>
  24. </Layout>
  25. </Layouts>
  26. </Div>
  27. <Grid position="absolute 0 76 1080 717" id="datagrid2" taborder="8" binddataset="ds_main_rsrvupdtinfo_rsrvupdt" anchor="all">
  28. <Formats>
  29. <Format id="default">
  30. <Columns>
  31. <Column size="25" band="left"/>
  32. <Column size="25" band="left"/>
  33. <Column size="143"/>
  34. <Column size="71"/>
  35. <Column size="90"/>
  36. <Column size="48"/>
  37. <Column size="90"/>
  38. <Column size="48"/>
  39. <Column size="458"/>
  40. <Column size="317"/>
  41. <Column size="116"/>
  42. <Column size="0"/>
  43. <Column size="0"/>
  44. </Columns>
  45. <Rows>
  46. <Row size="24" band="head"/>
  47. <Row size="24"/>
  48. </Rows>
  49. <Band id="head">
  50. <Cell/>
  51. <Cell col="1"/>
  52. <Cell col="2" text="검사실명"/>
  53. <Cell col="3" text="최종변경자"/>
  54. <Cell col="4" colspan="2" text="시작일시" taborder="undefined"/>
  55. <Cell col="6" colspan="2" text="종료일시" taborder="undefined"/>
  56. <Cell col="8" text="사유"/>
  57. <Cell col="9" text="Remark"/>
  58. <Cell col="10" text="최종변경일시"/>
  59. <Cell col="11" text="부서코드"/>
  60. <Cell col="12" text="ioflag"/>
  61. </Band>
  62. <Band id="body">
  63. <Cell celltype="head"/>
  64. <Cell col="1" celltype="head" expr="expr:currow+1"/>
  65. <Cell col="2" displaytype="combo" edittype="combo" text="bind:excuroomcd" combodataset="ds_init_cmb_info_initexecroom" combocodecol="excuroomcdid" combodatacol="excuroomcdnm"/>
  66. <Cell col="3" text="bind:lastupdtrid"/>
  67. <Cell col="4" displaytype="date" edittype="date" style="padding:0 0 0 0;" text="bind:rsrvupdtfromdd" calendardisplay="display" enable="false"/>
  68. <Cell col="5" displaytype="text" edittype="text" style="align:center middle;" text="bind:rsrvupdtfromtm" mask="expr:utlf_isNull(rsrvupdtfromtm) ? '' : '##:##'" enable="false"/>
  69. <Cell col="6" displaytype="date" edittype="date" style="padding:0 0 0 0;" text="bind:rsrvupdttodd" calendardisplay="display" enable="false"/>
  70. <Cell col="7" displaytype="text" edittype="text" style="align:center middle;" text="bind:rsrvupdttotm" mask="expr:utlf_isNull(rsrvupdttotm) ? '' : '##:##'" enable="false"/>
  71. <Cell col="8" displaytype="text" edittype="text" text="bind:updtresndesc"/>
  72. <Cell col="9" displaytype="text" edittype="text" text="bind:updtresncnts"/>
  73. <Cell col="10" text="bind:lastupdtdt" mask="####-##-## ##:##:##"/>
  74. <Cell col="11" text="bind:suppdeptcd"/>
  75. <Cell col="12" text="bind:ioflag"/>
  76. </Band>
  77. </Format>
  78. </Formats>
  79. </Grid>
  80. <Static text="변경내역" position="absolute 0 55 90 71" id="caption8" class="tit_2" anchor="default"/>
  81. <Shape position="absolute 0 71 1080 77" id="line7" class="line_10" anchor="left top right"/>
  82. <Button position="absolute 946 49 999 71" id="btn_grddel" class="btn2" taborder="7" text="행삭제" anchor="top right" onclick="group3_btn_grddel_onclick"/>
  83. <Button position="absolute 892 49 945 71" id="btn_grdadd" class="btn2" taborder="6" text="행추가" anchor="top right" onclick="group3_btn_grdadd_onclick"/>
  84. <Button position="absolute 1000 49 1080 71" id="btn_savexls" class="btn7" text="엑셀저장" anchor="top right" onclick="group3_btn_savexls_onclick"/>
  85. </Layout>
  86. </Layouts>
  87. </Div>
  88. <Button position="absolute 0 740 56 762" id="btn_prt" class="btn6" visible="false" text="출력"/>
  89. <Button position="absolute 1024 740 1080 762" id="btn_save" class="btn4" taborder="9" text="저장" onclick="btn_save_onclick" anchor="right bottom"/>
  90. <Static id="caption6" text="검사실 휴검관리" class="tit_1" position="absolute 0 0 140 25"/>
  91. </Layout>
  92. </Layouts>
  93. <Objects>
  94. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  95. <ColumnInfo>
  96. <Column id="count" type="STRING" size="256"/>
  97. </ColumnInfo>
  98. <Rows>
  99. <Row>
  100. <Col id="count"/>
  101. </Row>
  102. </Rows>
  103. </Dataset>
  104. <Dataset id="ds_main_rsrvupdtinfo_rsrvupdt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  105. <ColumnInfo>
  106. <Column id="rsrvupdtfromdd" type="STRING" size="256"/>
  107. <Column id="rsrvupdtfromtm" type="STRING" size="256"/>
  108. <Column id="rsrvupdttodd" type="STRING" size="256"/>
  109. <Column id="rsrvupdttotm" type="STRING" size="256"/>
  110. <Column id="updtresndesc" type="STRING" size="256"/>
  111. <Column id="updtresncnts" type="STRING" size="256"/>
  112. <Column id="excuroomcd" type="STRING" size="256"/>
  113. <Column id="suppdeptcd" type="STRING" size="256"/>
  114. <Column id="ioflag" type="STRING" size="256"/>
  115. </ColumnInfo>
  116. <Rows>
  117. <Row>
  118. <Col id="rsrvupdtfromdd"/>
  119. <Col id="rsrvupdtfromtm"/>
  120. <Col id="rsrvupdttodd"/>
  121. <Col id="rsrvupdttotm"/>
  122. <Col id="updtresndesc"/>
  123. <Col id="updtresncnts"/>
  124. <Col id="excuroomcd"/>
  125. <Col id="suppdeptcd"/>
  126. <Col id="ioflag"/>
  127. </Row>
  128. </Rows>
  129. </Dataset>
  130. <Dataset id="ds_init_cmb_info_initexecroom" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  131. <ColumnInfo>
  132. <Column id="excuroomcdid" type="STRING" size="256"/>
  133. <Column id="excuroomcdnm" type="STRING" size="256"/>
  134. </ColumnInfo>
  135. <Rows>
  136. <Row>
  137. <Col id="excuroomcdid"/>
  138. <Col id="excuroomcdnm"/>
  139. </Row>
  140. </Rows>
  141. </Dataset>
  142. <Dataset id="ds_init_cmb_info_suppdept" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  143. <ColumnInfo>
  144. <Column id="suppdeptcd" type="STRING" size="256"/>
  145. <Column id="depthngnm" type="STRING" size="256"/>
  146. </ColumnInfo>
  147. <Rows>
  148. <Row>
  149. <Col id="suppdeptcd"/>
  150. <Col id="depthngnm"/>
  151. </Row>
  152. </Rows>
  153. </Dataset>
  154. <Dataset id="ds_init2_cmb_info_initexcuroomcd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  155. <ColumnInfo>
  156. <Column id="excuroomcdnm" type="STRING" size="256"/>
  157. <Column id="excuroomcdid" type="STRING" size="256"/>
  158. </ColumnInfo>
  159. <Rows>
  160. <Row>
  161. <Col id="excuroomcdnm"/>
  162. <Col id="excuroomcdid"/>
  163. </Row>
  164. </Rows>
  165. </Dataset>
  166. <Dataset id="ds_send_globalinstance" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  167. <ColumnInfo>
  168. <Column id="instance1" type="STRING" size="256"/>
  169. </ColumnInfo>
  170. <Rows>
  171. <Row>
  172. <Col id="instance1"/>
  173. </Row>
  174. </Rows>
  175. </Dataset>
  176. <Dataset id="ds_send_baseinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  177. <ColumnInfo>
  178. <Column id="excuroomcd" type="STRING" size="256"/>
  179. <Column id="suppdeptcd" type="STRING" size="256"/>
  180. <Column id="sdate" type="STRING" size="256"/>
  181. <Column id="tdate" type="STRING" size="256"/>
  182. </ColumnInfo>
  183. <Rows>
  184. <Row>
  185. <Col id="excuroomcd"/>
  186. <Col id="suppdeptcd"/>
  187. <Col id="sdate"/>
  188. <Col id="tdate"/>
  189. </Row>
  190. </Rows>
  191. </Dataset>
  192. <Dataset id="ds_send_execdata_rsrvupdt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep"/>
  193. <Dataset id="ds_send1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  194. <ColumnInfo>
  195. <Column id="suppdeptcd" type="STRING" size="256"/>
  196. <Column id="excuroomcd" type="STRING" size="256"/>
  197. <Column id="gb" type="STRING" size="256"/>
  198. <Column id="instance1" type="STRING" size="256"/>
  199. </ColumnInfo>
  200. </Dataset>
  201. </Objects>
  202. <Bind>
  203. <BindItem id="item0" compid="group3.grp_sea.input4" propid="value" datasetid="ds_send_baseinfo" columnid="tdate"/>
  204. <BindItem id="item1" compid="group3.grp_sea.input6" propid="value" datasetid="ds_send_baseinfo" columnid="sdate"/>
  205. <BindItem id="item2" compid="group3.grp_sea.combo2" propid="value" datasetid="ds_send_baseinfo" columnid="excuroomcd"/>
  206. <BindItem id="item3" compid="group3.grp_sea.cmb_deptcd" propid="value" datasetid="ds_send_globalinstance" columnid="instance1"/>
  207. </Bind>
  208. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  209. * System Name :
  210. * Job Name :
  211. * Creator :
  212. * Make Date : 2017-12-04
  213. * Description :
  214. *---------------------------------------------------------------------------------------
  215. * Modify Date Modifier Modify Description
  216. *---------------------------------------------------------------------------------------
  217. * 2017-06-19 Live Converter TF->XP
  218. *
  219. *---------------------------------------------------------------------------------------
  220. ****************************************************************************************/
  221. //=======================================================================================
  222. // Lib Include
  223. //---------------------------------------------------------------------------------------
  224. include "com_commonxp::comm_main.xjs";
  225. include "ast_commonxp::AST.xjs";
  226. include "ast_examcurexp::AEZ0001.xjs";
  227. //=======================================================================================
  228. // Global Form Variable
  229. //---------------------------------------------------------------------------------------
  230. var arErrorCode = new HashArray();
  231. //=======================================================================================
  232. // Function
  233. //---------------------------------------------------------------------------------------
  234. /****************************************************************************************
  235. * Argument : N/A
  236. * Description : 조회
  237. ****************************************************************************************/
  238. function readfunc(){
  239. if (utlf_isNull(ds_send_baseinfo.getColumn(0, "sdate"))){
  240. sysf_messageBox("조회 시작일자는 필수 입력항목입니다.", "E999", "");
  241. return;
  242. }
  243. if (isDate(ds_send_baseinfo.getColumn(0, "sdate")) == false){
  244. sysf_messageBox("조회 시작일자의 날짜 형식이 잘못 입력되었습니다.", "E999", "");
  245. return;
  246. }
  247. if (utlf_isNull(ds_send_baseinfo.getColumn(0, "tdate"))){
  248. sysf_messageBox("조회 종료일자는 필수 입력항목입니다.", "E999", "");
  249. return;
  250. }
  251. if (isDate(ds_send_baseinfo.getColumn(0, "tdate")) == false){
  252. sysf_messageBox("조회 종료일자의 날짜 형식이 잘못 입력되었습니다.", "E999", "");
  253. return;
  254. }
  255. if (ds_send_baseinfo.getColumn(0, "sdate") == ds_send_baseinfo.getColumn(0, "tdate")){
  256. sysf_messageBox("조회 시작일자가 종료일자 보다 큽니다.", "E999", "");
  257. return;
  258. }
  259. ds_main_rsrvupdtinfo_rsrvupdt.clearData();
  260. ds_send_baseinfo.setColumn( 0, "suppdeptcd", ds_send_globalinstance.getColumn(0, "instance1"));
  261. dsf_createDsRow("ds_req", [
  262. {col:"excuroomcd", type:"STRING", size:256, val:ds_send_baseinfo.getColumn(0,"excuroomcd")}
  263. , {col:"suppdeptcd", type:"STRING", size:256, val:ds_send_baseinfo.getColumn(0,"suppdeptcd")}
  264. , {col:"sdate", type:"STRING", size:256, val:ds_send_baseinfo.getColumn(0,"sdate")}
  265. , {col:"tdate", type:"STRING", size:256, val:ds_send_baseinfo.getColumn(0,"tdate")}
  266. , {col:"instcd", type:"STRING", size:256, val:""}
  267. , {col:"excuroomgrpcdid", type:"STRING", size:256, val:""}
  268. ]);
  269. var oParam = {};
  270. oParam.id = "TRAEA00701";
  271. oParam.service = "examcurersrvapp.RsrvRef";
  272. oParam.method = "reqGetRsrvUpdtInfo";
  273. oParam.inds = "req=ds_req";
  274. oParam.outds = "ds_main_rsrvupdtinfo_rsrvupdt=rsrvupdt";
  275. oParam.async = false;
  276. //oParam.callback = "cf_TRAEA00701";
  277. tranf_submit(oParam);
  278. }
  279. /****************************************************************************************
  280. * Argument : N/A
  281. * Description : 저장
  282. ****************************************************************************************/
  283. function fSaveData() {
  284. for (var i = 0; i < ds_main_rsrvupdtinfo_rsrvupdt.rowcount; i++){
  285. var fromdt = dsf_getColumnNullToEmpty(ds_main_rsrvupdtinfo_rsrvupdt, i, "rsrvupdtfromdd");
  286. var fromtm = dsf_getColumnNullToEmpty(ds_main_rsrvupdtinfo_rsrvupdt, i, "rsrvupdtfromtm");
  287. var todt = dsf_getColumnNullToEmpty(ds_main_rsrvupdtinfo_rsrvupdt, i, "rsrvupdttodd");
  288. var totm = dsf_getColumnNullToEmpty(ds_main_rsrvupdtinfo_rsrvupdt, i, "rsrvupdttotm");
  289. if (fromdt == ""){
  290. sysf_messageBox(i + "번째 시작일시의 일자는 필수 입력 또는 선택 항목입니다. ", "E999", "");
  291. return;
  292. }
  293. if (fromtm == ""){
  294. sysf_messageBox(i + "번째 시작일시의 시간은 필수 입력 항목입니다. ", "E999", "");
  295. return;
  296. }
  297. if(!utlf_isValidDateTime(fromtm, "hhmm")) {
  298. sysf_messageBox(i + "번째 휴무 시작 시간형식이 정확하지 않습니다.", "E999", "");
  299. return;
  300. }
  301. if (todt == ""){
  302. sysf_messageBox(i + "번째 종료일시의 일자는 필수 입력 또는 선택 항목입니다. ", "E999", "");
  303. return;
  304. }
  305. if (totm == ""){
  306. sysf_messageBox(i + "번째 종료일시의 시간은 필수 입력 항목입니다. ", "E999", "");
  307. return;
  308. }
  309. if(!utlf_isValidDateTime(totm, "hhmm")) {
  310. sysf_messageBox(i + "번째 휴무 종료 시간형식이 정확하지 않습니다.", "E999", "");
  311. return;
  312. }
  313. if ((fromdt + fromtm) > (todt + totm)){
  314. sysf_messageBox(i + "번째 시작일시가 종료일시 보다 큽니다.", "E999", "");
  315. return;
  316. }
  317. }
  318. var mindate = dsf_getColumnNullToEmpty(ds_send_baseinfo, 0, "sdate");
  319. var maxdate = dsf_getColumnNullToEmpty(ds_send_baseinfo, 0, "tdate");
  320. for (var i = 0; i < ds_main_rsrvupdtinfo_rsrvupdt.rowcount; i++){
  321. if (mindate > ds_main_rsrvupdtinfo_rsrvupdt.getColumn(i, "rsrvupdtfromdd")){
  322. mindate = ds_main_rsrvupdtinfo_rsrvupdt.getColumn(i, "rsrvupdtfromdd");
  323. }
  324. if (maxdate < ds_main_rsrvupdtinfo_rsrvupdt.getColumn(i, "rsrvupdtfromdd")){
  325. maxdate = ds_main_rsrvupdtinfo_rsrvupdt.getColumn(i, "rsrvupdtfromdd");
  326. }
  327. }
  328. var dsUpdate = grdf_getGridUpdateData(group3.datagrid2, "all");
  329. grdf_setStatusColumn(dsUpdate, "m");
  330. ds_send_execdata_rsrvupdt.copyData(dsUpdate, true);
  331. var oParam = {};
  332. oParam.id = "TXAEA00701";
  333. oParam.service = "examcurersrvapp.RsrvRef";
  334. oParam.method = "reqExeRsrvUpdtList";
  335. oParam.inds = "rsrvupdt=ds_send_execdata_rsrvupdt";
  336. oParam.outds = "ds_hidden=item";
  337. oParam.async = false;
  338. oParam.callback = "cf_TXAEA00701";
  339. tranf_submit(oParam);
  340. if(arErrorCode.pop("TXAEA00701") > -1){
  341. ds_send_baseinfo.setColumn( 0, "sdate", mindate);
  342. ds_send_baseinfo.setColumn( 0, "tdate", maxdate);
  343. readfunc();
  344. }
  345. }
  346. function cf_TXAEA00701(sSvcId, nErrorCode, sErrorMsg) {
  347. arErrorCode.push(sSvcId, nErrorCode);
  348. }
  349. /****************************************************************************************
  350. * Argument : N/A
  351. * Description : 날짜 형식에 대한 적합여부 체크
  352. ****************************************************************************************/
  353. function isDate(str) {
  354. if (str == "") return true; // 빈건 체크안함
  355. if (trim(str) == "") return true; // 빈건 체크안함
  356. if (isNaN(parseInt(str))) return false; // 숫자가 아니면 false
  357. if (str.length != 8) return false; // 8자리(yyyymmdd)가 아니면 false
  358. var yy = new Number(str.substring(0, 4));
  359. var mm = new Number(str.substring(4, 6)) - 1;
  360. var dd = new Number(str.substring(6, 8));
  361. var date = new Date(yy, mm, dd);
  362. if (yy != date.getFullYear() ||
  363. mm != date.getMonth() ||
  364. dd != date.getDate()) {
  365. return false; // 존재하지 않는 날짜
  366. }
  367. return true; // 존재하는 날짜
  368. }
  369. function trim(data){ // 문자에 대한 TRIM 작업
  370. return data.replace(/(^\s*)|(\s*$)/g, "");
  371. }
  372. function call_TRAEA01301() {
  373. dsf_createDsRow("ds_reqparam", [
  374. {col:"basesuppdeptcd", type:"STRING", size:256, val:ds_send_globalinstance.getColumn(0, "instance1")}
  375. , {col:"rbasecdflag", type:"STRING", size:256, val:"R"}
  376. , {col:"ebasecdflag", type:"STRING", size:256, val:"E"}
  377. , {col:"instcd", type:"STRING", size:256, val:""}
  378. , {col:"initflag", type:"STRING", size:256, val:"1"}
  379. , {col:"alladdyn", type:"STRING", size:256, val:""}
  380. ]);
  381. var oParam = {};
  382. oParam.id = "TRAEA01301";
  383. oParam.service = "examcureacptexecapp.ExamCureAcpt";
  384. oParam.method = "reqGetInitExamCureRoomGrpCodeList";
  385. oParam.inds = "reqparam=ds_reqparam";
  386. oParam.outds = "ds_init_cmb_info_initexecroom=initexcuroom ds_init_cmb_info_suppdept=suppdept"
  387. oParam.async = false;
  388. oParam.callback = "cf_TRAEA01301";
  389. tranf_submit(oParam);
  390. }
  391. function cf_TRAEA01301(sSvcId, nErrorCode, sErrorMsg) {
  392. if(nErrorCode < 0) return;
  393. ds_init_cmb_info_initexecroom.updateColID("basecd","excuroomcdid");
  394. ds_init_cmb_info_initexecroom.updateColID("basecdflagdesc","excuroomcdnm");
  395. }
  396. //=======================================================================================
  397. // Event
  398. //---------------------------------------------------------------------------------------
  399. /****************************************************************************************
  400. * Components : Form
  401. * Description : 화면 처음 초기화시 폼초기화
  402. ****************************************************************************************/
  403. function SMAEA00700_onload(obj:Form, e:LoadEventInfo) {
  404. frmf_initForm(obj);
  405. //grdf_initGrid(grd_XXX);
  406. //grdf_setGridSort(grd_XXX);
  407. grdf_setRowTypeIcon(group3.datagrid2, 0);
  408. lf_aezfSetSuppDeptcd();
  409. ds_send_globalinstance.setColumn(0, "instance1", frmf_getParameter("AST_DEPTCD"));
  410. //검사실코드 갖고오기
  411. call_TRAEA01301();
  412. if( ds_init_cmb_info_suppdept.getCaseCount("suppdeptcd=="+ds_send_globalinstance.getColumn(0, "instance1")) == 0 ) {
  413. group3.grp_sea.caption15.visible = true;
  414. group3.grp_sea.cmb_deptcd.visible = true;
  415. group3.btn_grdadd.enable = false;
  416. group3.btn_grddel.enable = false;
  417. btn_save.enable = false;
  418. }else{
  419. group3.grp_sea.caption15.visible = false;
  420. group3.grp_sea.cmb_deptcd.visible = false;
  421. group3.btn_grdadd.enable = true;
  422. group3.btn_grddel.enable = true;
  423. btn_save.enable = true;
  424. }
  425. //2011.08.10 해당부서,검사실 디폴트셋팅 - 박재영
  426. try{
  427. ds_send1.copyData(arg_ds_send1);
  428. }catch(e){}
  429. var suppdept = ds_send1.getColumn(0, "instance1");
  430. if(suppdept == null || suppdept == ""){
  431. }else{
  432. var excuroomcd= ds_send1.getColumn(0, "excuroomcd");
  433. ds_send_globalinstance.setColumn( 0, "instance1",suppdept);
  434. ds_send_baseinfo.setColumn( 0, "excuroomcd",excuroomcd);
  435. //검사실코드 갖고오기
  436. call_TRAEA01301();
  437. }
  438. ds_main_rsrvupdtinfo_rsrvupdt.clearData();
  439. ds_send_baseinfo.setColumn( 0, "sdate", utlf_getCurrentDate());
  440. var date = utlf_getCurrentDate().toDate().getAddDate(1,"M").getDateFormat("YYYYMMDD");
  441. ds_send_baseinfo.setColumn( 0, "tdate", date);
  442. //*********************************************************************************************************************************************
  443. //담당 검사실 갖고오기
  444. dsf_createDsRow("ds_reqparam", [
  445. {col:"basesuppdeptcd", type:"STRING", size:256, val:ds_send_globalinstance.getColumn(0, "instance1")}
  446. , {col:"rbasecdflag", type:"STRING", size:256, val:"R"}
  447. , {col:"ebasecdflag", type:"STRING", size:256, val:"E"}
  448. , {col:"largeclass", type:"STRING", size:256, val:"M4"}
  449. , {col:"cdgrupid", type:"STRING", size:256, val:"A0486"}
  450. , {col:"centflag", type:"STRING", size:256, val:""}
  451. ]);
  452. var oParam = {};
  453. oParam.id = "TRAEA01115";
  454. oParam.service = "examcureacptexecapp.ExamCureAcpt";
  455. oParam.method = "reqGetInitFuncExamCureRoomList";
  456. oParam.inds = "reqparam=ds_reqparam";
  457. oParam.outds = "ds_init2_cmb_info_initexcuroomcd=initexcuroomcd";
  458. oParam.async = false;
  459. //oParam.callback = "cf_TRAEA01115";
  460. tranf_submit(oParam);
  461. }
  462. /****************************************************************************************
  463. * Components : Button
  464. * Description : 조회
  465. ****************************************************************************************/
  466. function group3_grp_sea_btn_sea_onclick(obj:Button, e:ClickEventInfo) {
  467. readfunc();
  468. }
  469. /****************************************************************************************
  470. * Components : Combo
  471. * Description : 검사실변경 후 조회
  472. ****************************************************************************************/
  473. function group3_grp_sea_combo2_onitemchanged(obj:Combo, e:ItemChangeEventInfo) {
  474. readfunc();
  475. }
  476. /****************************************************************************************
  477. * Components : Combo
  478. * Description : 지원부서 변경 후 조회
  479. ****************************************************************************************/
  480. function group3_grp_sea_cmb_deptcd_onitemchanged(obj:Combo, e:ItemChangeEventInfo) {
  481. ds_main_rsrvupdtinfo_rsrvupdt.clearData();
  482. ds_send_globalinstance.setColumn( 0, "instance1", e.postvalue);
  483. ds_send_baseinfo.setColumn( 0, "excuroomcd", "");
  484. call_TRAEA01301();
  485. }
  486. // function group3_datagrid2_onsetfocus(obj:Grid, e:SetFocusEventInfo) {
  487. // checkKeyColumn("group3.datagrid2");
  488. // }
  489. /****************************************************************************************
  490. * Components : Button
  491. * Description : 행삭제
  492. ****************************************************************************************/
  493. function group3_btn_grddel_onclick(obj:Button, e:ClickEventInfo) {
  494. var cRow = ds_main_rsrvupdtinfo_rsrvupdt.rowposition;
  495. if( ds_main_rsrvupdtinfo_rsrvupdt.getRowType(cRow) == 2 ) {
  496. ds_main_rsrvupdtinfo_rsrvupdt.deleteRow(cRow);
  497. }else{
  498. grdf_setStatus(group3.datagrid2, "D", [cRow]);
  499. }
  500. }
  501. /****************************************************************************************
  502. * Components : Button
  503. * Description : 행추가
  504. ****************************************************************************************/
  505. function group3_btn_grdadd_onclick(obj:Button, e:ClickEventInfo) {
  506. if (utlf_isNull(ds_send_baseinfo.getColumn(0, "excuroomcd"))) {
  507. sysf_messageBox("검사실을 선택한 후 처리하시기 바랍니다.", "E999", "");
  508. return;
  509. }
  510. var nRow = ds_main_rsrvupdtinfo_rsrvupdt.addRow();
  511. ds_main_rsrvupdtinfo_rsrvupdt.setColumn( nRow, "excuroomcd", ds_send_baseinfo.getColumn(0, "excuroomcd"));
  512. ds_main_rsrvupdtinfo_rsrvupdt.setColumn( nRow, "suppdeptcd", ds_send_globalinstance.getColumn(0, "instance1"));
  513. ds_main_rsrvupdtinfo_rsrvupdt.setColumn( nRow, "ioflag", "-");
  514. ds_main_rsrvupdtinfo_rsrvupdt.setColumn( nRow, "updtresncnts","-");
  515. }
  516. /****************************************************************************************
  517. * Components : Button
  518. * Description : 엑셀저장
  519. ****************************************************************************************/
  520. function group3_btn_savexls_onclick(obj:Button, e:ClickEventInfo) {
  521. if( ds_main_prnlist_prninfo.rowcount > 0 ){
  522. var period = ds_send_baseinfo.getColumn(0, "sdate") + "-" + ds_send_baseinfo.getColumn(0, "tdate");
  523. var filename = "검사실 휴검 내역_" + period;
  524. grdf_exportExcel(group3.datagrid2, "Sheet1", filename, false, "" , 'user' , true);
  525. sysf_messageBox("엑셀 저장이 완료되었습니다.", "I999");
  526. } else {
  527. sysf_messageBox("조회된 데이터가 ", "I004");
  528. }
  529. }
  530. /****************************************************************************************
  531. * Components : Button
  532. * Description : 저장
  533. ****************************************************************************************/
  534. function btn_save_onclick(obj:Button, e:ClickEventInfo) {
  535. for (var i = 0; i < ds_main_rsrvupdtinfo_rsrvupdt.rowcount; i++){
  536. if(utlf_isNull(ds_main_rsrvupdtinfo_rsrvupdt.getColumn(i, "rsrvupdtfromtm"))){
  537. sysf_messageBox("종료시간을", "C001");
  538. return;
  539. }
  540. if(utlf_isNull(ds_main_rsrvupdtinfo_rsrvupdt.getColumn(i, "rsrvupdttodd"))){
  541. sysf_messageBox("종료일자를", "C001");
  542. return;
  543. }
  544. if(utlf_isNull(ds_main_rsrvupdtinfo_rsrvupdt.getColumn(i, "rsrvupdttotm"))){
  545. sysf_messageBox("시작시간을", "C001");
  546. return;
  547. }
  548. if(utlf_isNull(ds_main_rsrvupdtinfo_rsrvupdt.getColumn(i, "rsrvupdtfromdd"))){
  549. sysf_messageBox("시작일자를", "C001");
  550. return;
  551. }
  552. if(utlf_isNull(ds_main_rsrvupdtinfo_rsrvupdt.getColumn(i, "updtresndesc"))){
  553. sysf_messageBox("사유를", "C001");
  554. return;
  555. }
  556. if(utlf_isNull(ds_main_rsrvupdtinfo_rsrvupdt.getColumn(i, "updtresncnts"))){
  557. sysf_messageBox("Remark을", "C001");
  558. return;
  559. }
  560. }
  561. fSaveData();
  562. }
  563. ]]></Script>
  564. </Form>
  565. </FDL>