SPAAA04000_바코드출결처리.xfdl 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPAAA04000" position="absolute 0 0 340 440" titletext="바코드출결등록" oninit="SPAAA04000_oninit" onload="SPAAA04000_onload" onbeforeclose="SPAAA04000_onbeforeclose">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 1 0 340 435" align="align:center top;" id="grp_sea">
  8. <Layouts>
  9. <Layout>
  10. <Shape id="roundrect1" type="roundrectangle" class="roundrect_search" position="absolute 10 40 330 100"/>
  11. <Shape id="roundrect2" type="roundrectangle" class="roundrect_example" position="absolute 95 5 330 35"/>
  12. <Static text="출결등록" position="absolute 0 0 90 25" id="caption6" class="tit_1"/>
  13. <Static text="사 번 :" position="absolute 20 50 110 67" id="caption1" class="search_name"/>
  14. <Static text="활동일자 :" position="absolute 105 9 200 29" id="caption2" class="cell_1"/>
  15. <Calendar position="absolute 205 10 320 29" id="ipt_servdd" class="input_essential" autoselect="true"/>
  16. <MaskEdit position="absolute 20 70 105 89" id="ipt_voluntrid" taborder="1" visible="true" mask="99999999" autoselect="true" onkeyup="grp_sea_ipt_voluntrid_onkeyup" tooltiptext="출결처리시 이곳에 포커스를 맞쳐 주세요." tooltiptype="hover"/>
  17. <Static position="absolute 110 50 320 90" align="align:center middle;" id="capt_voluntrid" taborder="2" mask="99999999" tooltiptext="입력란에 봉사자사번을 입력하세요" tooltiptype="hover"/>
  18. <Static text="봉사활동 출결처리자 리스트" position="absolute 15 150 255 166" id="caption4" class="tit_2"/>
  19. <Grid position="absolute 10 175 325 420" id="grd_absnlist" binddataset="ds_main_voluntrattdabsninfo_voluntrattdabsnlist">
  20. <Formats>
  21. <Format id="default">
  22. <Columns>
  23. <Column size="100"/>
  24. <Column size="100"/>
  25. <Column size="100"/>
  26. </Columns>
  27. <Rows>
  28. <Row size="24" band="head"/>
  29. <Row size="24"/>
  30. </Rows>
  31. <Band id="head">
  32. <Cell text="봉사자ID"/>
  33. <Cell col="1" text="성명"/>
  34. <Cell col="2" text="세례명"/>
  35. </Band>
  36. <Band id="body">
  37. <Cell text="bind:voluntrid"/>
  38. <Cell col="1" text="bind:voluntrnm"/>
  39. <Cell col="2" text="bind:baptnm"/>
  40. </Band>
  41. </Format>
  42. </Formats>
  43. </Grid>
  44. <Shape position="absolute 15 138 325 144" linetype="horizontal" id="line1" class="line_2"/>
  45. </Layout>
  46. </Layouts>
  47. </Div>
  48. <Button position="absolute 210 110 266 132" id="btn_save" class="btn4" taborder="3" text="등록" onclick="btn_save_onclick"/>
  49. <Button position="absolute 275 110 331 132" id="button2" class="btn4" text="닫기" onclick="button2_onclick"/>
  50. </Layout>
  51. </Layouts>
  52. <Objects>
  53. <Dataset id="ds_send_savedata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  54. <ColumnInfo>
  55. <Column id="servdd" type="STRING" size="256" sumtext="활동일자"/>
  56. <Column id="voluntrid" type="STRING" size="256" sumtext="봉사자사번"/>
  57. <Column id="eachinstservtm" type="STRING" size="256" sumtext="기관별봉사활동시간"/>
  58. <Column id="bizflag" type="STRING" size="256"/>
  59. <Column id="educfestivseqno" type="STRING" size="256"/>
  60. </ColumnInfo>
  61. <Rows>
  62. <Row/>
  63. </Rows>
  64. </Dataset>
  65. <Dataset id="ds_main_voluntrattdabsninfo_voluntrattdabsnlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  66. <ColumnInfo>
  67. <Column id="voluntrid" type="STRING" size="256" sumtext="봉사자ID"/>
  68. <Column id="voluntrnm" type="STRING" size="256" sumtext="성명"/>
  69. <Column id="baptnm" type="STRING" size="256" sumtext="세례명"/>
  70. </ColumnInfo>
  71. </Dataset>
  72. <Dataset id="ds_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_cond_oncolumnchanged">
  73. <ColumnInfo>
  74. <Column id="voluntrid" type="STRING" size="256"/>
  75. <Column id="cptvoluntrid" type="STRING" size="256"/>
  76. <Column id="servdd" type="STRING" size="256"/>
  77. <Column id="tretflag" type="STRING" size="256"/>
  78. <Column id="educrcogtm" type="STRING" size="256"/>
  79. <Column id="bizflag" type="STRING" size="256"/>
  80. <Column id="educfestivseqno" type="STRING" size="256"/>
  81. </ColumnInfo>
  82. <Rows>
  83. <Row/>
  84. </Rows>
  85. </Dataset>
  86. <Dataset id="ds_temp_voluntrattdabsninfo_voluntrattdabsnlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  87. <ColumnInfo>
  88. <Column id="voluntrid" type="STRING" size="256" sumtext="봉사자ID"/>
  89. <Column id="voluntrnm" type="STRING" size="256" sumtext="성명"/>
  90. <Column id="baptnm" type="STRING" size="256" sumtext="세례명"/>
  91. </ColumnInfo>
  92. </Dataset>
  93. </Objects>
  94. <Bind>
  95. <BindItem id="item0" compid="grp_sea.ipt_servdd" propid="value" datasetid="ds_cond" columnid="servdd"/>
  96. <BindItem id="item1" compid="grp_sea.ipt_voluntrid" propid="value" datasetid="ds_cond" columnid="voluntrid"/>
  97. <BindItem id="item2" compid="grp_sea.capt_voluntrid" propid="text" datasetid="ds_cond" columnid="cptvoluntrid"/>
  98. </Bind>
  99. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  100. * System Name : 경대 의료정보시스템
  101. * Job Name : ast_voluntractxp -> SPAAA04000
  102. * Creator : yjh
  103. * Make Date : 2017-06-20
  104. * Description :
  105. *---------------------------------------------------------------------------------------
  106. * Modify Date Modifier Modify Description
  107. *---------------------------------------------------------------------------------------
  108. * 2017-06-20 yjh TF->XP
  109. *
  110. *---------------------------------------------------------------------------------------
  111. ****************************************************************************************/
  112. //=======================================================================================
  113. // Lib Include
  114. //---------------------------------------------------------------------------------------
  115. include "com_commonxp::comm_main.xjs";
  116. //=======================================================================================
  117. // Global Form Variable
  118. //---------------------------------------------------------------------------------------
  119. var arErrorCode = new HashArray();
  120. //=======================================================================================
  121. // Function
  122. //---------------------------------------------------------------------------------------
  123. function fInit(){
  124. //초기화
  125. ds_cond.clearData();
  126. ds_cond.addRow();
  127. //캡션에 포커스가 선택된 상태로 보여지게
  128. setCaptionFocus(true);
  129. var tretflag = opener.frmf_getParameter("SPAAA00200_param_tretflag");
  130. ds_cond.setColumn(0, "tretflag", tretflag);
  131. if(tretflag == "1"){ //봉사활동출결처리인 경우
  132. var servdd = opener.frmf_getParameter("SPAAA00200_param_servdd");
  133. ds_cond.setColumn(0, "servdd", servdd);
  134. grp_sea.caption4.value = "봉사활동 출결처리자 리스트";
  135. }else if(tretflag == "2"){ //교육활동출결처리인 경우-20100419-kys-추가
  136. ds_cond.setColumn(0, "servdd", opener.frmf_getParameter("SPAAA00300_param_servdd"));
  137. ds_cond.setColumn(0, "educrcogtm", opener.frmf_getParameter("SPAAA00300_param_educrcogtm"));
  138. ds_cond.setColumn(0, "bizflag", opener.frmf_getParameter("SPAAA00300_param_bizflag"));
  139. ds_cond.setColumn(0, "educfestivseqno", opener.frmf_getParameter("SPAAA00300_param_educfestivseqno"));
  140. grp_sea.caption4.value = "교육행사 출결처리자 리스트";
  141. }
  142. }
  143. function fCloseWindow(){
  144. opener.frmf_setParameter("SPAAA04000_closeyn","Y");
  145. this.close();
  146. }
  147. //입력한 내용을 캡션에 보여지게함
  148. //keyStr : event.keyCode
  149. function fSetCaption(keyStr){
  150. ds_cond.setColumn(0, "cptvoluntrid", keyStr);
  151. ds_cond.setColumn(0, "voluntrid", keyStr);
  152. if( utlf_transNullToEmpty(keyStr).length == 8 ){
  153. btn_save.setFocus();
  154. btn_save.click();
  155. }
  156. }
  157. //캡션 포커스 선택상태 변경
  158. function setCaptionFocus(isSelected, itemKd){
  159. if(isSelected){
  160. //입력대기 상태로 보여짐
  161. //capt_voluntrid.attribute("background-color") = '#ffffff'; //흰색
  162. //capt_voluntrid.attribute("border-color") = '#ffcc00';
  163. if(itemKd != 'input'){
  164. grp_sea.ipt_voluntrid.setFocus();
  165. }
  166. }else{
  167. //처리중 상태로 보여짐
  168. //capt_voluntrid.attribute("background-color") = '#ff0000'; //빨강
  169. //capt_voluntrid.attribute("border-color") = '#c0c0c0';
  170. }
  171. //실제포커스는 ipt_drid로 가게 할것
  172. }
  173. //봉사활동 출결 저장
  174. function fVoluntrAttdSave(){
  175. if( utlf_isNull(ds_cond.getColumn(0, "voluntrid")) ){
  176. sysf_messageBox("봉사자 사번이 입력되지 않았습니다","E");
  177. finit2();
  178. return;
  179. }
  180. if( utlf_transNullToEmpty(ds_cond.getColumn(0, "voluntrid")).length != 8 ){
  181. sysf_messageBox("봉사자 사번이 유효하지 않습니다","E");
  182. finit2();
  183. return;
  184. }
  185. //setCaptionFocus(false);
  186. ds_send_savedata.clearData();
  187. ds_send_savedata.addRow();
  188. ds_send_savedata.setColumn(0, "servdd", ds_cond.getColumn(0, "servdd"));
  189. ds_send_savedata.setColumn(0, "voluntrid", ds_cond.getColumn(0, "voluntrid"));
  190. ds_send_savedata.setColumn(0, "eachinstservtm", "3"); //서울성모만 적용..
  191. var oParam = {};
  192. oParam.id = "TRAAA04001";
  193. oParam.service = "voluntractapp.VoluntrDligclaznsMngt";
  194. oParam.method = "reqExeBarcordVoluntrAttdAbsnInfo";
  195. oParam.inds = "req=ds_send_savedata";
  196. oParam.outds = "ds_temp_voluntrattdabsninfo_voluntrattdabsnlist=voluntrattdabsnlist";
  197. oParam.async = false;
  198. oParam.callback = "cf_TRAAA04001";
  199. tranf_submit(oParam);
  200. if( arErrorCode.pop("TRAAA04001") > -1 ){
  201. //messageBox("출결처리가","I002");
  202. //20100416-kys-이은지샘요청으로 추가-출결처리자 리스트 추가
  203. ds_main_voluntrattdabsninfo_voluntrattdabsnlist.copyData(ds_temp_voluntrattdabsninfo_voluntrattdabsnlist);
  204. finit2();
  205. }else{
  206. sysf_messageBox("출결처리 실패하였습니다.","E");
  207. finit2();
  208. }
  209. }
  210. function cf_TRAAA04001(sSvcId, nErrorCode, sErrorMsg) {
  211. arErrorCode.push(sSvcId, nErrorCode);
  212. }
  213. //교육활동 출결 저장-20100419-kys-추가
  214. function fBarEducFestivAttdAbsnSave(){
  215. if( utlf_isNull(ds_cond.getColumn(0, "voluntrid")) ){
  216. sysf_messageBox("봉사자 사번이 입력되지 않았습니다","E");
  217. finit2();
  218. return;
  219. }
  220. //setCaptionFocus(false);
  221. if( utlf_transNullToEmpty(ds_cond.getColumn(0, "voluntrid")).length != 8 ){
  222. sysf_messageBox("봉사자 사번이 유효하지 않습니다","E");
  223. finit2();
  224. return;
  225. }
  226. ds_send_savedata.clearData();
  227. ds_send_savedata.addRow();
  228. ds_send_savedata.setColumn(0, "entrydd", ds_cond.getColumn(0, "servdd"));
  229. ds_send_savedata.setColumn(0, "voluntrid", ds_cond.getColumn(0, "voluntrid"));
  230. ds_send_savedata.setColumn(0, "educrcogtm", ds_cond.getColumn(0, "educrcogtm"));
  231. ds_send_savedata.setColumn(0, "bizflag", ds_cond.getColumn(0, "bizflag"));
  232. ds_send_savedata.setColumn(0, "educfestivseqno", ds_cond.getColumn(0, "educfestivseqno"));
  233. var oParam = {};
  234. oParam.id = "TRAAA04002";
  235. oParam.service = "voluntractapp.VoluntrDligclaznsMngt";
  236. oParam.method = "reqExeBarcordEducFestivAttdAbsnInfo";
  237. oParam.inds = "req=ds_send_savedata";
  238. oParam.outds = "ds_temp_voluntrattdabsninfo_voluntrattdabsnlist=voluntrattdabsnlist";
  239. oParam.async = false;
  240. oParam.callback = "cf_TRAAA04002";
  241. tranf_submit(oParam);
  242. if( arErrorCode.pop("TRAAA04002") > -1 ){
  243. //messageBox("출결처리가","I002");
  244. //20100416-kys-이은지샘요청으로 추가-출결처리자 리스트 추가
  245. ds_main_voluntrattdabsninfo_voluntrattdabsnlist.copyData(ds_temp_voluntrattdabsninfo_voluntrattdabsnlist);
  246. finit2();
  247. }else{
  248. sysf_messageBox("출결처리 실패하였습니다.","E");
  249. finit2();
  250. }
  251. }
  252. function cf_TRAAA04002(sSvcId, nErrorCode, sErrorMsg) {
  253. arErrorCode.push(sSvcId, nErrorCode);
  254. }
  255. function finit2(){ //화면 로딩후 초기화 함수.
  256. ds_cond.setColumn(0, "cptvoluntrid", '');
  257. ds_cond.setColumn(0, "voluntrid", '');
  258. setCaptionFocus(true);
  259. }
  260. //=======================================================================================
  261. // Event
  262. //---------------------------------------------------------------------------------------
  263. /****************************************************************************************
  264. * Components : Form
  265. * Components ID : SPAAA04000
  266. * Event : oninit
  267. * Argument : 01.obj : Object Event has occurred
  268. * : 02.e : Event Object
  269. * Description : 화면 처음 초기화시
  270. ****************************************************************************************/
  271. function SPAAA04000_oninit(obj:Form, e:InitEventInfo)
  272. {
  273. frmf_initForm(obj); //폼 초기화
  274. }
  275. /****************************************************************************************
  276. * Components : Form
  277. * Components ID : SPAAA04000
  278. * Event : onload
  279. * Argument : 01.obj : Object Event has occurred
  280. * : 02.e : Event Object
  281. * Description : 화면 로딩 완료시
  282. ****************************************************************************************/
  283. function SPAAA04000_onload(obj:Form, e:LoadEventInfo)
  284. {
  285. fInit();
  286. }
  287. /****************************************************************************************
  288. * Components : Form
  289. * Components ID : SPAAA04000
  290. * Event : onbeforeclose
  291. * Argument : 01.obj : Object Event has occurred
  292. * : 02.e : Event Object
  293. * Description : 화면 닫기전
  294. ****************************************************************************************/
  295. function SPAAA04000_onbeforeclose(obj:Form, e:CloseEventInfo)
  296. {
  297. fCloseWindow();
  298. }
  299. /****************************************************************************************
  300. * Components : Dataset
  301. * Components ID : ds_cond
  302. * Event : oncolumnchanged
  303. * Argument : 01.obj : Object Event has occurred
  304. * : 02.e : Event Object
  305. * Description : 데이터셋 값 변경시
  306. ****************************************************************************************/
  307. function ds_cond_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  308. {
  309. switch( e.columnid ){
  310. case "voluntrid" :
  311. fSetCaption(grp_sea.ipt_voluntrid.value);
  312. break;
  313. default :
  314. break;
  315. }
  316. }
  317. /****************************************************************************************
  318. * Components : MaskEdit
  319. * Components ID : ipt_voluntrid
  320. * Event : onkeyup
  321. * Argument : 01.obj : Object Event has occurred
  322. * : 02.e : Event Object
  323. * Description : MaskEdit 키 입력시
  324. ****************************************************************************************/
  325. function grp_sea_ipt_voluntrid_onkeyup(obj:MaskEdit, e:KeyEventInfo)
  326. {
  327. fSetCaption(grp_sea.ipt_voluntrid.value);
  328. }
  329. /****************************************************************************************
  330. * Components : Button
  331. * Components ID : btn_save
  332. * Event : onclick
  333. * Argument : 01.obj : Object Event has occurred
  334. * : 02.e : Event Object
  335. * Description : 등록버튼 클릭시
  336. ****************************************************************************************/
  337. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  338. {
  339. //setCaptionFocus(false);
  340. if( ds_cond.getColumn(0, "tretflag") == "1" ){
  341. fVoluntrAttdSave(); //봉사활동 출결처리
  342. }else if(ds_cond.getColumn(0, "tretflag") == "2"){ //교육활동 출결처리
  343. fBarEducFestivAttdAbsnSave();
  344. }
  345. }
  346. /****************************************************************************************
  347. * Components : Button
  348. * Components ID : button2
  349. * Event : onclick
  350. * Argument : 01.obj : Object Event has occurred
  351. * : 02.e : Event Object
  352. * Description : 닫기버튼 클릭시
  353. ****************************************************************************************/
  354. function button2_onclick(obj:Button, e:ClickEventInfo)
  355. {
  356. fCloseWindow();
  357. }
  358. ]]></Script>
  359. </Form>
  360. </FDL>