SMRAD00410_품의마감관리.xfdl 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353
  1. <?xml version="1.0" encoding="utf-8" standalone="no"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMRAD00410" position="absolute 0 0 1223 818" titletext="품의마감관리" onload="SMRAD00410_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div id="group1" position="absolute 0 0 1195 21" style="" scrollbars="none">
  8. <Layouts>
  9. <Layout>
  10. <Static id="caption6" class="tit_1" position="absolute 0 0 137 22" style="" text="품의마감관리" anchor="default"/>
  11. </Layout>
  12. </Layouts>
  13. </Div>
  14. <Div id="group2" scrollbars="autoboth" position="absolute 0 38 1195 782" style="">
  15. <Layouts>
  16. <Layout>
  17. <Div id="group4" position="absolute 0 10 1195 45" style="align: top;">
  18. <Layouts>
  19. <Layout>
  20. <Shape id="roundrect1" anchor="default" type="roundrectangle" position="absolute 0 0 1195 35" style="border:1 solid #ffd799 #ffd799;background:#fffbf2 ;"/>
  21. <Button id="btn_search" class="btn1" taborder="4" position="absolute 1125 7 1181 29" style="align:left ;" text="조회" onclick="group2_group4_btn_search_onclick"/>
  22. <Shape id="line1" class="line_4" linetype="vertical" position="absolute 1110 6 1113 28" style="border:1 solid #ffe4bb #ffe4bb;" anchor="default"/>
  23. <Static id="caption2" class="search_name" position="absolute 15 9 101 26" style="" text="기준년도 :"/>
  24. <MaskEdit id="input_s_essential" class="input_s_essential" mask="####-##" position="absolute 100 9 200 28" style="align:center middle;" anchor="default" onkillfocus="group2_group4_input_s_essential_onkillfocus" type="string" autoselect="true" autoskip="true"/>
  25. </Layout>
  26. </Layouts>
  27. </Div>
  28. <Static id="caption11" class="tit_2" position="absolute 10 52 127 74" style="" text="품의마감"/>
  29. <Shape id="line2" class="line_1" linetype="horizontal" position="absolute 0 70 595 73" style="strokepen:5 solid #33bbbbff;" anchor="default"/>
  30. <Grid id="grd_radhcloslist" binddataset="ds_main_radhclos" position="absolute 0 75 595 695" style="" ontextchanged="group2_grd_radhcloslist_ontextchanged">
  31. <Formats>
  32. <Format id="default">
  33. <Columns>
  34. <Column size="21"/>
  35. <Column size="100"/>
  36. <Column size="150"/>
  37. <Column size="133"/>
  38. <Column size="157"/>
  39. </Columns>
  40. <Rows>
  41. <Row size="24" band="head"/>
  42. <Row size="24"/>
  43. </Rows>
  44. <Band id="head">
  45. <Cell/>
  46. <Cell col="1" text="확인"/>
  47. <Cell col="2" text="마감일자"/>
  48. <Cell col="3" text="마감자"/>
  49. <Cell col="4" text="마감작업일시"/>
  50. </Band>
  51. <Band id="body">
  52. <Cell celltype="head"/>
  53. <Cell col="1" displaytype="checkbox" text="bind:closyn"/>
  54. <Cell col="2" displaytype="date" text="bind:closdd" mask="yyyy-MM-dd" calendardisplaynulltype="nulltext"/>
  55. <Cell col="3" text="bind:lastupdtrid"/>
  56. <Cell col="4" text="bind:lastupdtdt"/>
  57. </Band>
  58. </Format>
  59. </Formats>
  60. </Grid>
  61. <Button id="btn_cancel" class="btn2" position="absolute 183 49 247 68" style="" text="전체해제" onclick="group2_btn_cancel_onclick"/>
  62. <Button id="btn_all" class="btn2" position="absolute 113 49 177 68" style="" text="전체선택" onclick="group2_btn_all_onclick"/>
  63. <Static id="caption1" position="absolute 5 700 595 720" style="" text="※ 품의마감 기준"/>
  64. <Static id="caption3" position="absolute 21 716 450 736" style="" text="- 최종 마감일자를 기준으로 이전 일자들은 모두 마감처리된 것으로 봅니다."/>
  65. </Layout>
  66. </Layouts>
  67. </Div>
  68. <Div id="grp_btn" scrollbars="none" position="absolute 0 12 1195 39" style="">
  69. <Layouts>
  70. <Layout>
  71. <Button id="btn_save" class="btn4" position="absolute 1139 3 1195 25" style="" text="저장" onclick="grp_btn_btn_save_onclick"/>
  72. <Shape id="line11" class="line_6" linetype="horizontal" position="absolute 0 25 1195 28" style="" anchor="default"/>
  73. </Layout>
  74. </Layouts>
  75. </Div>
  76. </Layout>
  77. </Layouts>
  78. <Objects>
  79. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  80. <ColumnInfo>
  81. <Column id="closdd" type="STRING" size="256"/>
  82. <Column id="searchdt" type="STRING" size="256"/>
  83. </ColumnInfo>
  84. <Rows>
  85. <Row>
  86. <Col id="closdd"/>
  87. </Row>
  88. </Rows>
  89. </Dataset>
  90. <Dataset id="ds_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  91. <ColumnInfo>
  92. <Column id="temp" type="STRING" size="256"/>
  93. </ColumnInfo>
  94. </Dataset>
  95. <Dataset id="ds_main_radhclos" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep" oncolumnchanged="ds_main_radhclos_oncolumnchanged">
  96. <ColumnInfo>
  97. <Column id="closyn" type="STRING" size="256"/>
  98. <Column id="closdd" type="STRING" size="256"/>
  99. <Column id="lastupdtrid" type="STRING" size="256"/>
  100. <Column id="lastupdtdt" type="STRING" size="256"/>
  101. </ColumnInfo>
  102. <Rows>
  103. <Row>
  104. <Col id="closyn"/>
  105. <Col id="closdd"/>
  106. <Col id="lastupdtrid"/>
  107. <Col id="lastupdtdt"/>
  108. </Row>
  109. </Rows>
  110. </Dataset>
  111. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  112. <ColumnInfo>
  113. <Column id="hidden" type="STRING" size="256"/>
  114. </ColumnInfo>
  115. <Rows>
  116. <Row>
  117. <Col id="hidden"/>
  118. </Row>
  119. </Rows>
  120. </Dataset>
  121. <Dataset id="ds_main" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  122. <ColumnInfo/>
  123. </Dataset>
  124. <Dataset id="ds_send_save" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  125. <ColumnInfo>
  126. <Column id="radhclos" type="STRING" size="256"/>
  127. </ColumnInfo>
  128. <Rows>
  129. <Row>
  130. <Col id="radhclos"/>
  131. </Row>
  132. </Rows>
  133. </Dataset>
  134. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  135. <ColumnInfo>
  136. <Column id="init" type="STRING" size="256"/>
  137. </ColumnInfo>
  138. <Rows>
  139. <Row>
  140. <Col id="init"/>
  141. </Row>
  142. </Rows>
  143. </Dataset>
  144. </Objects>
  145. <Bind>
  146. <BindItem id="item0" compid="group2.group4.input_s_essential" propid="value" datasetid="ds_send" columnid="closdd"/>
  147. </Bind>
  148. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  149. * System Name :
  150. * Job Name :
  151. * Creator :
  152. * Make Date : 2017-06-19
  153. * Description :
  154. *---------------------------------------------------------------------------------------
  155. * Modify Date Modifier Modify Description
  156. *---------------------------------------------------------------------------------------
  157. * 2017-06-19 Live Converter TF->XP
  158. *
  159. *---------------------------------------------------------------------------------------
  160. ****************************************************************************************/
  161. include "com_commonxp::comm_main.xjs";
  162. include "mis_miscommonxp::MIS.xjs";
  163. function SMRAD00410_onload(obj:Form, e:LoadEventInfo) {
  164. frmf_initForm(obj);
  165. //grdf_initGrid(grd_XXX);
  166. //grdf_setGridSort(grd_XXX);
  167. grdf_setRowTypeIcon(group2.grd_radhcloslist, 0);
  168. //사용자권한
  169. fCheckAuth();
  170. //현재 달
  171. var curdate = utlf_getCurrentDate().toDate().getDateFormat("YYYYMMDD");
  172. ds_send.setColumn( 0, "closdd", curdate);
  173. // //그리드 초기화
  174. misfGridInit(group2.grd_radhcloslist);
  175. //
  176. // //데이타 셋
  177. // misfMsterDetailSet(group2.grd_radhcloslist,null, "TRRAD00402" ,"Y");
  178. fGetRadhclos();
  179. }
  180. //========================================================================================
  181. //버튼에 대한 화면 권한 체크(R : 읽기, X : 입력_수정_삭제, P : 출력)
  182. //========================================================================================
  183. function fCheckAuth() {
  184. group2.group4.btn_search.disabled = !frmf_checkAuth("R") ;
  185. grp_btn.btn_save.disabled = !frmf_checkAuth("X") ;
  186. }
  187. //전표마감 날짜 생성
  188. function setCalendar() {
  189. var dateObj = ds_send.getColumn(0, "closdd").toDate();
  190. dateObj.setDate(1);
  191. var strYYYY = dateObj.getDateFormat("YYYY");
  192. var strMM = dateObj.getDateFormat("MM");
  193. //trace("strYYYY :"+strYYYY+"/"+strMM);
  194. //현재 조회한 달의 마자막 날짜 가지고 옮
  195. //var days =dateObj.getAddDate(1,"M").getMonthDay();
  196. var days =dateObj.getMonthDay();
  197. var strDD = "";
  198. for( var i = 1; i<= days; i++ ) {
  199. strDD = i;
  200. //strDD = i.toString.utlf_getLeftPad(2,"0");
  201. //misfGridIUD(group2.grd_radhcloslist,"A");
  202. //전표마감 날짜를 생성한다.
  203. //var iDate = new Date(strYYYY,strMM,i).getDateFormat("YYYYMMDD");
  204. var iDate = ((strYYYY+strMM+strDD).toDate()).getDateFormat("YYYYMMDD");
  205. //trace("iDate :"+iDate);
  206. var iRow = ds_main_radhclos.addRow();
  207. ds_main_radhclos.setColumn(iRow,"closdd",iDate);
  208. }
  209. }
  210. //전표마감관리 리스트 조회
  211. function fGetRadhclos() {
  212. //리스트 조회
  213. //misfMsterDetailRetrieve();
  214. var oParam = {};
  215. oParam.id = "TRRAD00402";
  216. oParam.service = "slipapp.Slip";
  217. oParam.method = "reqGetRamhclos";
  218. oParam.inds = "req=ds_send";
  219. oParam.outds = "ds_main_radhclos=radhclos";
  220. oParam.async = false;
  221. //oParam.callback = "cf_TRRAD00402";
  222. tranf_submit(oParam);
  223. // 전표마감을 한번도 하지 않았을 경우
  224. if(ds_main_radhclos.rowcount == 0) {
  225. setCalendar();
  226. }
  227. }
  228. //전표마감 저장
  229. function fSetRadhclos() {
  230. //저장할지의 여부 확인
  231. if(sysf_messageBox("","Q002") == 7) {
  232. return false;
  233. }
  234. //저장할 데이타를 가지고 node copy
  235. var sNoteList = grdf_getGridUpdateData(group2.grd_radhcloslist);
  236. if(utlf_isNull(sNoteList)) {
  237. sysf_messageBox("변경된 데이터가","I004");
  238. return false;
  239. }else if(!utlf_isNull(sNoteList)) {
  240. // misfSave("TXRAD00402");
  241. // misfMsterDetailRetrieve();
  242. for (i=0; i<ds_main_radhclos.rowcount; i++) {
  243. ds_main_radhclos.setColumn(i,"flag",ds_main_radhclos.getRowType(i));
  244. }
  245. var oParam = {};
  246. oParam.id = "TXRAD00402";
  247. oParam.service = "slipapp.Slip";
  248. oParam.method = "reqExeSaveRamhclos";
  249. oParam.inds = "req=ds_main_radhclos:U";
  250. oParam.outds = "";
  251. oParam.async = false;
  252. oParam.callback = "cf_TXRAD00402";
  253. tranf_submit(oParam);
  254. }
  255. }
  256. function cf_TXRAD00402(sSvcId, nErrorCode, sErrorMsg) {
  257. if(nErrorCode < 0) return;
  258. group2.group4.btn_search.click();
  259. }
  260. function group2_group4_btn_search_onclick(obj:Button, e:ClickEventInfo) {
  261. fGetRadhclos();
  262. }
  263. function group2_group4_input_s_essential_onkillfocus(obj:MaskEdit, e:KillFocusEventInfo) {
  264. fGetRadhclos();
  265. }
  266. function group2_btn_cancel_onclick(obj:Button, e:ClickEventInfo) {
  267. for(var i = 0 ; i < ds_main_radhclos.rowcount ; i++)
  268. {
  269. ds_main_radhclos.setColumn(i,"closyn","N");
  270. //grdf_setStatus(group2.grd_radhcloslist,"D",i);
  271. ds_main_radhclos.updatecontrol = false;
  272. ds_main_radhclos.setRowType(i,4);
  273. ds_main_radhclos.updatecontrol = true;
  274. //group2.grd_radhcloslist.addStatus(i, "update");
  275. }
  276. }
  277. function group2_btn_all_onclick(obj:Button, e:ClickEventInfo) {
  278. for(var i = 0 ; i < ds_main_radhclos.rowcount ; i++)
  279. {
  280. ds_main_radhclos.setColumn(i,"closyn","Y");
  281. //grdf_setStatus(group2.grd_radhcloslist,"D",i);
  282. ds_main_radhclos.updatecontrol = false;
  283. ds_main_radhclos.setRowType(i,4);
  284. ds_main_radhclos.updatecontrol = true;
  285. //group2.grd_radhcloslist.addStatus(i, "update");
  286. }
  287. }
  288. function grp_btn_btn_save_onclick(obj:Button, e:ClickEventInfo) {
  289. fSetRadhclos();
  290. }
  291. function ds_main_radhclos_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  292. {
  293. if(e.columnid=="closyn") {
  294. obj.setColumn(e.row,e.columnid,(e.newvalue=="Y"||e.newvalue==1)?"Y":"N");
  295. }
  296. }
  297. ]]></Script>
  298. </Form>
  299. </FDL>