SMAED00300_재고관리.xfdl 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMAED00300" position="absolute 0 0 787 685" titletext="치 기공접수" onload="SMAED00300_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 654 784 681" id="grp_btn" anchor="left right bottom">
  8. <Layouts>
  9. <Layout>
  10. <Button position="absolute 1 3 57 25" id="btn_prt" class="btn6" text="출력" anchor="default" onclick="grp_btn_btn_prt_onclick"/>
  11. <Button position="absolute 657 3 725 25" id="btn_clear" class="btn4" visible="false" text="초기화" anchor="right" onclick="grp_btn_btn_clear_onclick"/>
  12. <Button position="absolute 728 3 784 25" id="btn_save" class="btn4" visible="false" text="저장" anchor="right" onclick="grp_btn_btn_save_onclick"/>
  13. </Layout>
  14. </Layouts>
  15. </Div>
  16. <Div position="absolute 0 13 784 650" id="grp_main" scrollbars="autoboth" anchor="all">
  17. <Layouts>
  18. <Layout>
  19. <Grid position="absolute 0 42 784 637" align="align:center middle;" id="grd_stocklist" binddataset="ds_main_stocklist_item" anchor="all" cellsizingtype="col" selecttype="multirow">
  20. <Formats>
  21. <Format id="default">
  22. <Columns>
  23. <Column size="25" band="left"/>
  24. <Column size="79"/>
  25. <Column size="100"/>
  26. <Column size="170"/>
  27. <Column size="200"/>
  28. <Column size="0"/>
  29. <Column size="0"/>
  30. </Columns>
  31. <Rows>
  32. <Row size="24" band="head"/>
  33. <Row size="24"/>
  34. </Rows>
  35. <Band id="head">
  36. <Cell/>
  37. <Cell col="1" text="No"/>
  38. <Cell col="2" text="금속코드"/>
  39. <Cell col="3" text="금속명"/>
  40. <Cell col="4" text="재고량"/>
  41. <Cell col="5" text="최초등록일자"/>
  42. <Cell col="6" text="최초등록자"/>
  43. </Band>
  44. <Band id="body">
  45. <Cell celltype="head"/>
  46. <Cell col="1" edittype="none" text="bind:rownum"/>
  47. <Cell col="2" displaytype="combo" edittype="combo" style="align:center middle;" text="bind:materialcd" combodataset="ds_main_eqmtlist_item" combocodecol="basecd" combodatacol="basecd" enable="false"/>
  48. <Cell col="3" edittype="none" text="bind:materialnm" enable="false"/>
  49. <Cell col="4" displaytype="number" text="bind:stockqty" enable="false"/>
  50. <Cell col="5" displaytype="text" edittype="text" text="bind:fstrgstdt" mask="yyyy-mm-dd"/>
  51. <Cell col="6" displaytype="none" edittype="none" text="bind:fstrgstrid"/>
  52. </Band>
  53. </Format>
  54. </Formats>
  55. </Grid>
  56. <Static text="재고 정보" position="absolute 0 21 105 42" id="caption45" class="tit_2" anchor="default"/>
  57. <Shape position="absolute 0 37 784 43" id="line18" class="line_10" anchor="left top right"/>
  58. <Button position="absolute 672 15 725 37" id="btn_grddel" class="btn2" visible="false" text="행삭제" anchor="top right" onclick="grp_main_btn_grddel_onclick"/>
  59. <Button position="absolute 616 15 669 37" id="btn_grdadd" class="btn2" visible="false" text="행추가" anchor="top right" onclick="grp_main_btn_grdadd_onclick"/>
  60. <Button position="absolute 728 15 784 37" id="btn_select" class="btn1" text="조회" anchor="top right" onclick="grp_main_btn_select_onclick"/>
  61. </Layout>
  62. </Layouts>
  63. </Div>
  64. <Static id="caption6" text="치기공 재고 관리" class="tit_1" position="absolute 0 0 140 25"/>
  65. </Layout>
  66. </Layouts>
  67. <Objects>
  68. <Dataset id="ds_send_globalinstance" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  69. <ColumnInfo>
  70. <Column id="instance1" type="STRING" size="256"/>
  71. </ColumnInfo>
  72. <Rows>
  73. <Row>
  74. <Col id="instance1"/>
  75. </Row>
  76. </Rows>
  77. </Dataset>
  78. <Dataset id="ds_main_eqmtlist_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  79. <ColumnInfo>
  80. <Column id="sortno" type="STRING" size="256"/>
  81. <Column id="basecd" type="STRING" size="256"/>
  82. <Column id="basecdflagdesc" type="STRING" size="256"/>
  83. <Column id="basecdcnts" type="STRING" size="256"/>
  84. <Column id="basesuppdeptcd" type="STRING" size="256"/>
  85. <Column id="basecdflag" type="STRING" size="256"/>
  86. </ColumnInfo>
  87. <Rows>
  88. <Row>
  89. <Col id="sortno"/>
  90. <Col id="basecd"/>
  91. <Col id="basecdflagdesc"/>
  92. <Col id="basecdcnts"/>
  93. <Col id="basesuppdeptcd"/>
  94. <Col id="basecdflag"/>
  95. </Row>
  96. </Rows>
  97. </Dataset>
  98. <Dataset id="ds_main_stocklist_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  99. <ColumnInfo>
  100. <Column id="materialcd" type="STRING" size="256"/>
  101. <Column id="materialnm" type="STRING" size="256"/>
  102. <Column id="stockqty" type="STRING" size="256"/>
  103. <Column id="fstrgstdt" type="STRING" size="256"/>
  104. <Column id="fstrgstrid" type="STRING" size="256"/>
  105. <Column id="rownum" type="STRING" size="256"/>
  106. </ColumnInfo>
  107. <Rows>
  108. <Row>
  109. <Col id="materialcd"/>
  110. <Col id="materialnm"/>
  111. <Col id="stockqty"/>
  112. <Col id="fstrgstdt"/>
  113. <Col id="fstrgstrid"/>
  114. <Col id="rownum"/>
  115. </Row>
  116. </Rows>
  117. </Dataset>
  118. <Dataset id="ds_send_req" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  119. <ColumnInfo>
  120. <Column id="data" type="STRING" size="256"/>
  121. </ColumnInfo>
  122. <Rows>
  123. <Row>
  124. <Col id="data"/>
  125. </Row>
  126. </Rows>
  127. </Dataset>
  128. <Dataset id="ds_hidden_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  129. <ColumnInfo>
  130. <Column id="no" type="STRING" size="256"/>
  131. </ColumnInfo>
  132. <Rows>
  133. <Row>
  134. <Col id="no"/>
  135. </Row>
  136. </Rows>
  137. </Dataset>
  138. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  139. <ColumnInfo>
  140. <Column id="init" type="STRING" size="256"/>
  141. </ColumnInfo>
  142. <Rows>
  143. <Row>
  144. <Col id="init"/>
  145. </Row>
  146. </Rows>
  147. </Dataset>
  148. <Dataset id="ds_send_srch" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  149. <ColumnInfo>
  150. <Column id="srchdt" type="STRING" size="256"/>
  151. <Column id="srchcncl" type="STRING" size="256"/>
  152. </ColumnInfo>
  153. <Rows>
  154. <Row>
  155. <Col id="srchdt"/>
  156. <Col id="srchcncl"/>
  157. </Row>
  158. </Rows>
  159. </Dataset>
  160. <Dataset id="ds_temp_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  161. <ColumnInfo>
  162. <Column id="count" type="STRING" size="256"/>
  163. </ColumnInfo>
  164. </Dataset>
  165. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  166. <ColumnInfo>
  167. <Column id="basecd" type="STRING" size="256"/>
  168. <Column id="basecdflag" type="STRING" size="256"/>
  169. </ColumnInfo>
  170. </Dataset>
  171. </Objects>
  172. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  173. * System Name :
  174. * Job Name :
  175. * Creator :
  176. * Make Date : 2016-09-30
  177. * Description :
  178. *---------------------------------------------------------------------------------------
  179. * Modify Date Modifier Modify Description
  180. *---------------------------------------------------------------------------------------
  181. * 2016-09-30 Live Converter TF->XP
  182. *
  183. *---------------------------------------------------------------------------------------
  184. ****************************************************************************************/
  185. //=======================================================================================
  186. // Lib Include
  187. //---------------------------------------------------------------------------------------
  188. include "com_commonxp::comm_main.xjs";
  189. include "ast_examcurexp::AEZ0001.xjs";
  190. //include "ast_dentalcraftxp::dentalcraftcombolist.xjs";
  191. //=======================================================================================
  192. // Global Form Variable
  193. //---------------------------------------------------------------------------------------
  194. var arErrorCode = new HashArray();
  195. //=======================================================================================
  196. // Function
  197. //---------------------------------------------------------------------------------------
  198. /****************************************************************************************
  199. * Argument : N/A
  200. * Description : 화면 기본 초기화
  201. ****************************************************************************************/
  202. function fGetScreenInit() {
  203. ds_main_stocklist_item.clearData();
  204. ds_send_srch.clearData(); ds_send_srch.addRow();
  205. ds_send_srch.setColumn( 0, "srchdt", utlf_getCurrentDate());
  206. // 근무지코드 셋팅
  207. lf_aezfSetSuppDeptcd();
  208. ds_send_globalinstance.setColumn(0,"instance1",frmf_getParameter("AST_DEPTCD"));
  209. // 금속종류 코드 LIST(대분류)
  210. ds_send.setColumn(0,"basecdflag", "H");
  211. ds_main_eqmtlist_item.clearData();
  212. dsf_createDsRow("ds_req", [
  213. {col:"basesuppdeptcd", type:"STRING", size:256, val:ds_send_globalinstance.getColumn(0,"instance1")}
  214. , {col:"instcd", type:"STRING", size:256, val:""}
  215. , {col:"basecdflag", type:"STRING", size:256, val:"H"}
  216. ]);
  217. var oParam = {};
  218. oParam.id = "TRAED00103";
  219. oParam.service = "dentalcraftapp.DentalCraftCode";
  220. oParam.method = "reqGetEqmtCodeList";
  221. oParam.inds = "req=ds_req";
  222. oParam.outds = "ds_main_eqmtlist_item=item";
  223. oParam.async = false;
  224. //oParam.callback = "cf_TRAED00103";
  225. tranf_submit(oParam);
  226. }
  227. /****************************************************************************************
  228. * Argument : N/A
  229. * Description : 입출고 LIST 조회
  230. ****************************************************************************************/
  231. function fGetStockList() {
  232. ds_main_stocklist_item.clearData();
  233. dsf_createDsRow("ds_req", [
  234. {col:"basesuppdeptcd", type:"STRING", size:256, val:ds_send_globalinstance.getColumn(0,"instance1")}
  235. ]);
  236. var oParam = {};
  237. oParam.id = "TRAED00300";
  238. oParam.service = "dentalcraftapp.DentalCraft";
  239. oParam.method = "reqGetDentalStockList";
  240. oParam.inds = "req=ds_req";
  241. oParam.outds = "ds_main_stocklist_item=item";
  242. oParam.async = false;
  243. //oParam.callback = "cf_TRAED00300";
  244. tranf_submit(oParam);
  245. var count = ds_main_stocklist_item.rowcount;
  246. if( count > 0 ) {
  247. ds_main_stocklist_item.updatecontrol = false;
  248. for ( var i = 0 ; i < count ; i++ ) {
  249. var fstrgstdt = ds_main_stocklist_item.getColumn(i, "fstrgstdt");
  250. ds_main_stocklist_item.setColumn( i , "fstrgstdt", fstrgstdt.substr(0, 10) + fstrgstdt.substr(13, 8 ) );
  251. ds_main_stocklist_item.setColumn( i , "rownum", i+1 );
  252. }
  253. ds_main_stocklist_item.updatecontrol = true;
  254. }
  255. }
  256. //=======================================================================================
  257. // Event
  258. //---------------------------------------------------------------------------------------
  259. /****************************************************************************************
  260. * Components : Form
  261. * Description : 화면 처음 초기화시 폼초기화
  262. ****************************************************************************************/
  263. function SMAED00300_onload(obj:Form, e:LoadEventInfo) {
  264. frmf_initForm(obj);
  265. //grdf_initGrid(grd_XXX);
  266. grdf_setGridSort(grp_main.grd_stocklist);
  267. grdf_setRowTypeIcon(grp_main.grd_stocklist, 0);
  268. fGetScreenInit();
  269. grp_main.btn_select.click();
  270. }
  271. /****************************************************************************************
  272. * Components : Button
  273. * Description : 출력
  274. ****************************************************************************************/
  275. function grp_btn_btn_prt_onclick(obj:Button, e:ClickEventInfo) {
  276. var rows = ds_main_stocklist_item.rowcount;
  277. var idx = 0;
  278. dsf_createDs("ds_rexprnt_stocklist_item");
  279. dsf_copyColInfo(ds_rexprnt_stocklist_item,ds_main_stocklist_item);
  280. if( rows > 0 ) {
  281. for ( var i = 0 ; i < rows ; i++ ) {
  282. var nRow = ds_rexprnt_stocklist_item.addRow();
  283. ds_rexprnt_stocklist_item.copyRow( nRow, ds_main_stocklist_item, i);
  284. }
  285. var objDOM = rptf_createDOM();
  286. var objParam = new Object();
  287. rptf_setNodeListToDOM(objDOM, "/root/rexprnt/stocklist/item" , ds_rexprnt_stocklist_item);
  288. objParam.xml_data_XML1 = objDOM.documentElement.source;
  289. var option = "open=1;save=1;directprint=0;printdialog=1;print=1;zoom=0";
  290. rptf_exeReportPreview30(["RPAED00300"],[objParam], option);
  291. }
  292. }
  293. /****************************************************************************************
  294. * Components : Button
  295. * Description : 초기화
  296. ****************************************************************************************/
  297. function grp_btn_btn_clear_onclick(obj:Button, e:ClickEventInfo) {
  298. fGetScreenInit();
  299. }
  300. /****************************************************************************************
  301. * Components : Button
  302. * Description : 저장
  303. ****************************************************************************************/
  304. function grp_btn_btn_save_onclick(obj:Button, e:ClickEventInfo) {
  305. ds_main_stocklist_item.setColumn( 0, "rownum", "1");
  306. if ( sysf_messageBox("","Q002")==6 ) {
  307. var update = grdf_getGridUpdateData(grp_main.grd_stocklist, "all");
  308. grdf_setStatusColumn(update, "m");
  309. if(update.rowcount == 0) {
  310. sysf_messageBox("업데이트 정보가 없습니다.", "I");
  311. return 0;
  312. } else {
  313. // ds_send_req.setColumn( 0, "data", update);
  314. dsf_createDs("ds_send_data");
  315. ds_send_data.copyData(update, true);
  316. var oParam = {};
  317. oParam.id = "TXAED00300";
  318. oParam.service = "dentalcraftapp.DentalCraft";
  319. oParam.method = "reqSetDentalStockInsert";
  320. oParam.inds = "req=ds_send_data";
  321. oParam.outds = "ds_temp_item=item";
  322. oParam.async = false;
  323. //oParam.callback = "cf_TXAED00300";
  324. tranf_submit(oParam);
  325. fGetStockList();
  326. }
  327. }
  328. }
  329. /****************************************************************************************
  330. * Components : Grid
  331. * Description : 입력시 처리
  332. ****************************************************************************************/
  333. function grp_main_grd_stocklist_ontextchanged(obj:Grid, e:GridEditTextChangedEventInfo) {
  334. var row = e.row;
  335. var materialcd = ds_main_stocklist_item.getColumn(row, "materialcd");
  336. var eqm = ds_main_eqmtlist_item.rowcount;
  337. for (var i = 0 ; i < eqm ; i++ ) {
  338. var basecd = ds_main_eqmtlist_item.getColumn(i, "basecd");
  339. if( basecd == materialcd ) {
  340. ds_main_stocklist_item.setColumn( row , "materialnm", ds_main_eqmtlist_item.getColumn(i, "basecdflagdesc"));
  341. }
  342. }
  343. }
  344. /****************************************************************************************
  345. * Components : Button
  346. * Description : 행삭제
  347. ****************************************************************************************/
  348. function grp_main_btn_grddel_onclick(obj:Button, e:ClickEventInfo) {
  349. var selectedRows = grdf_getSelectedRows(grp_main.grd_stocklist);
  350. for (var i = 0; i < selectedRows.length; i++){
  351. var cRow = selectedRows[i];
  352. if( ds_main_stocklist_item.getRowType(cRow) == 2 ) {
  353. ds_main_stocklist_item.deleteRow(cRow);
  354. }else{
  355. grdf_setStatus(grp_main.grd_stocklist, "D", [cRow]);
  356. }
  357. }
  358. }
  359. /****************************************************************************************
  360. * Components : Button
  361. * Description : 화면 처음 초기화시 폼초기화
  362. ****************************************************************************************/
  363. function grp_main_btn_grdadd_onclick(obj:Button, e:ClickEventInfo) {
  364. var idx = ds_main_stocklist_item.addRow();
  365. ds_main_stocklist_item.setColumn( idx , "rownum" , idx+1 );
  366. ds_main_stocklist_item.setColumn( idx , "fstrgstdt" , utlf_getCurrentDate() );
  367. ds_main_stocklist_item.setColumn( idx , "fstrgstrid", sysf_getUserId() );
  368. }
  369. /****************************************************************************************
  370. * Components : Button
  371. * Description : 화면 처음 초기화시 폼초기화
  372. ****************************************************************************************/
  373. function grp_main_btn_select_onclick(obj:Button, e:ClickEventInfo) {
  374. fGetStockList();
  375. }
  376. ]]></Script>
  377. </Form>
  378. </FDL>