SMMNG02102_린넨그룹관리.xfdl 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMMNG02102" position="absolute 0 0 780 490" titletext="린넨그룹관리" oninit="SMMNG02102_oninit" onload="SMMNG02102_onload">
  5. <Layouts>
  6. <Layout>
  7. <Shape id="roundrect1" type="roundrectangle" class="roundrect_search" position="absolute 0 25 775 60"/>
  8. <Div position="absolute 0 0 775 23" id="grp_tle">
  9. <Layouts>
  10. <Layout>
  11. <Static text="린넨그룹관리" position="absolute 0 0 111 24" id="caption6" class="tit_1" anchor="default"/>
  12. </Layout>
  13. </Layouts>
  14. </Div>
  15. <Div position="absolute 0 65 775 485" id="grp_biz" scrollbars="autoboth">
  16. <Layouts>
  17. <Layout>
  18. <Static text="린넨그룹관리" position="absolute 0 9 121 25" id="caption12" class="tit_2" anchor="default"/>
  19. <Button position="absolute 731 3 773 22" id="btn_sav" class="btn5" text="저장" anchor="default" onclick="grp_biz_btn_sav_onclick"/>
  20. <Grid position="absolute 0 30 775 415" id="grd_lngdlist" binddataset="ds_main_lngdinfo_lngdlist" anchor="default" onexpandup="grp_biz_grd_lngdlist_onexpandup" selecttype="multirow" autoenter="select">
  21. <Formats>
  22. <Format id="default">
  23. <Columns>
  24. <Column size="20" band="left"/>
  25. <Column size="0"/>
  26. <Column size="120"/>
  27. <Column size="100"/>
  28. <Column size="65"/>
  29. <Column size="110"/>
  30. <Column size="80"/>
  31. <Column size="80"/>
  32. <Column size="80"/>
  33. <Column size="80"/>
  34. </Columns>
  35. <Rows>
  36. <Row size="24" band="head"/>
  37. <Row size="24"/>
  38. </Rows>
  39. <Band id="head">
  40. <Cell/>
  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. <Cell col="7" text="상세규격"/>
  48. <Cell col="8" text="수량"/>
  49. <Cell col="9" text="비고"/>
  50. </Band>
  51. <Band id="body">
  52. <Cell celltype="head"/>
  53. <Cell col="1" text="bind:grupcd" enable="false"/>
  54. <Cell col="2" displaytype="text" edittype="text" style="align:left top;padding:4 2 2 2;" text="bind:grupnm" wordwrap="word" expandshow="show"/>
  55. <Cell col="3" style="align:left;" text="bind:goodcd"/>
  56. <Cell col="4" style="align:left;" text="bind:goodcdseq"/>
  57. <Cell col="5" style="align:left top;padding:4 2 2 2;" text="bind:lngoodnm" wordwrap="word"/>
  58. <Cell col="6" style="align:left top;padding:4 2 2 2;" text="bind:goodspec" wordwrap="word"/>
  59. <Cell col="7" style="align:left top;padding:4 2 2 2;" text="bind:goodmodel" wordwrap="word"/>
  60. <Cell col="8" displaytype="text" edittype="text" text="bind:goodcnt"/>
  61. <Cell col="9" displaytype="text" edittype="text" text="bind:remark"/>
  62. </Band>
  63. </Format>
  64. </Formats>
  65. </Grid>
  66. <Shape position="absolute 1 25 775 26" linetype="vertical" id="line5" class="line_1" anchor="default"/>
  67. <Button position="absolute 640 3 682 22" id="button1" class="btn2" text="추가" anchor="default" onclick="grp_biz_button1_onclick"/>
  68. <Button position="absolute 685 3 727 22" id="button2" class="btn2" text="삭제" anchor="default" onclick="grp_biz_button2_onclick"/>
  69. </Layout>
  70. </Layouts>
  71. </Div>
  72. <Button position="absolute 714 32 770 54" id="btn_search" class="btn1" taborder="2" text="조회" onclick="btn_search_onclick"/>
  73. <Shape position="absolute 702 30 708 55" linetype="vertical" id="line2" class="line_4"/>
  74. <Static text="기관코드 :" position="absolute 10 35 91 52" id="cap_instcd" class="search_name"/>
  75. <Edit readonly="true" position="absolute 90 34 250 53" align="align:center middle;" id="opt_instcdnm" class="output" style="align:center middle;"/>
  76. <Edit position="absolute 360 34 515 53" id="ipt_search" class="input_search" autoselect="true"/>
  77. <Static text="그룹명 :" position="absolute 295 35 361 52" id="caption1" class="search_name"/>
  78. </Layout>
  79. </Layouts>
  80. <Objects>
  81. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  82. <ColumnInfo>
  83. <Column id="grupnm" type="STRING" size="256" sumtext="기관코드"/>
  84. <Column id="instcdnm" type="STRING" size="256"/>
  85. </ColumnInfo>
  86. <Rows>
  87. <Row/>
  88. </Rows>
  89. </Dataset>
  90. <Dataset id="ds_main_lngdinfo_lngdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_lngdinfo_lngdlist_oncolumnchanged">
  91. <ColumnInfo>
  92. <Column id="grupcd" type="STRING" size="256" sumtext="물품코드"/>
  93. <Column id="grupnm" type="STRING" size="256" sumtext="물품코드"/>
  94. <Column id="goodcd" type="STRING" size="256" sumtext="물품코드"/>
  95. <Column id="goodcdseq" type="STRING" size="256" sumtext="상세코드"/>
  96. <Column id="lngoodnm" type="STRING" size="256" sumtext="물품명"/>
  97. <Column id="goodmodel" type="STRING" size="256" sumtext="상세규격"/>
  98. <Column id="goodspec" type="STRING" size="256" sumtext="규격"/>
  99. <Column id="goodcnt" type="STRING" size="256" sumtext="수량"/>
  100. <Column id="remark" type="STRING" size="256" sumtext="비고"/>
  101. </ColumnInfo>
  102. </Dataset>
  103. <Dataset id="ds_init_lngdcode" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  104. <ColumnInfo>
  105. <Column id="grupcd" type="STRING" size="256" sumtext="물품코드"/>
  106. </ColumnInfo>
  107. </Dataset>
  108. <Dataset id="ds_send_savedata_lngdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  109. <ColumnInfo>
  110. <Column id="status" type="STRING" size="256" sumtext="상태 "/>
  111. <Column id="grupcd" type="STRING" size="256" sumtext="그룹코드 "/>
  112. <Column id="grupnm" type="STRING" size="256" sumtext="그룹명 "/>
  113. <Column id="goodcd" type="STRING" size="256" sumtext="물품코드 "/>
  114. <Column id="goodcdseq" type="STRING" size="256" sumtext="상세코드 "/>
  115. <Column id="goodcnt" type="INT" size="256" sumtext="수량 "/>
  116. <Column id="remark" type="STRING" size="256" sumtext="비고 "/>
  117. </ColumnInfo>
  118. </Dataset>
  119. <Dataset id="ds_copynode_grd_lngdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  120. <ColumnInfo>
  121. <Column id="grupcd" type="STRING" size="256" sumtext="물품코드"/>
  122. <Column id="grupnm" type="STRING" size="256" sumtext="물품코드"/>
  123. <Column id="goodcd" type="STRING" size="256" sumtext="물품코드"/>
  124. <Column id="goodcdseq" type="STRING" size="256" sumtext="상세코드"/>
  125. <Column id="lngoodnm" type="STRING" size="256" sumtext="물품명"/>
  126. <Column id="goodmodel" type="STRING" size="256" sumtext="상세규격"/>
  127. <Column id="goodspec" type="STRING" size="256" sumtext="규격"/>
  128. <Column id="goodcnt" type="STRING" size="256" sumtext="수량"/>
  129. <Column id="remark" type="STRING" size="256" sumtext="비고"/>
  130. </ColumnInfo>
  131. </Dataset>
  132. </Objects>
  133. <Bind>
  134. <BindItem id="item0" compid="opt_instcdnm" propid="value" datasetid="ds_send" columnid="instcdnm"/>
  135. <BindItem id="item1" compid="ipt_search" propid="value" datasetid="ds_send" columnid="grupnm"/>
  136. </Bind>
  137. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  138. * System Name : 경대 의료정보시스템
  139. * Job Name : emr_csrxp -> SMMNG02102
  140. * Creator : yjh
  141. * Make Date : 2017-08-17
  142. * Description :
  143. *---------------------------------------------------------------------------------------
  144. * Modify Date Modifier Modify Description
  145. *---------------------------------------------------------------------------------------
  146. * 2017-08-17 yjh TF->XP
  147. *
  148. *---------------------------------------------------------------------------------------
  149. ****************************************************************************************/
  150. //=======================================================================================
  151. // Lib Include
  152. //---------------------------------------------------------------------------------------
  153. include "com_commonxp::comm_main.xjs";
  154. include "mis_miscommonxp::RSZ001.xjs";
  155. //=======================================================================================
  156. // Global Form Variable
  157. //---------------------------------------------------------------------------------------
  158. //=======================================================================================
  159. // Function
  160. //---------------------------------------------------------------------------------------
  161. // 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
  162. function fInitialize()
  163. {
  164. ds_send.setColumn(0, "instcdnm", sysf_getUserInfo("dutplceinstnm")); //기관코드
  165. fSearch();
  166. }
  167. function fSearch() {
  168. var oParam = {};
  169. oParam.id = "TRMNG02103";
  170. oParam.service = "csrapp.CsrDryMngt";
  171. oParam.method = "reqGetLngdList";
  172. oParam.inds = "req=ds_send";
  173. oParam.outds = "ds_main_lngdinfo_lngdlist=lngdlist";
  174. oParam.async = false;
  175. //oParam.callback = "cf_TRMNG02103";
  176. tranf_submit(oParam);
  177. }
  178. function fSettingGoodList(pnode) {
  179. var oParam = {};
  180. oParam.id = "TRMNG02104";
  181. oParam.service = "csrapp.CsrDryMngt";
  182. oParam.method = "reqGetLngdCode";
  183. oParam.inds = "req=ds_send";
  184. oParam.outds = "ds_init_lngdcode=lngdcode";
  185. oParam.async = false;
  186. //oParam.callback = "cf_TRMNG02104";
  187. tranf_submit(oParam);
  188. var grupcd = ds_init_lngdcode.getColumn(0, "grupcd");
  189. var grupnm = ds_main_lngdinfo_lngdlist.getColumn(ds_main_lngdinfo_lngdlist.rowposition, "grupnm");
  190. var codynode = eval(pnode);
  191. var addRow = ds_main_lngdinfo_lngdlist.rowcount - 1;
  192. ds_main_lngdinfo_lngdlist.enableevent = false;
  193. ds_main_lngdinfo_lngdlist.updatecontrol = false;
  194. for (var j = 0; j < codynode.rowcount; j++) {
  195. if(addRow > ds_main_lngdinfo_lngdlist.rowcount - 1)
  196. {
  197. misfGridIUD(grp_biz.grd_lngdlist,"A");
  198. addRow = ds_main_lngdinfo_lngdlist.rowcount - 1;
  199. }
  200. ds_main_lngdinfo_lngdlist.setColumn(addRow, "grupcd", grupcd);
  201. ds_main_lngdinfo_lngdlist.setColumn(addRow, "grupnm" , grupnm );
  202. ds_main_lngdinfo_lngdlist.setColumn(addRow, "goodcd" , codynode.getColumn(j, "goodcd"));
  203. ds_main_lngdinfo_lngdlist.setColumn(addRow, "goodcdseq" , codynode.getColumn(j, "goodcdseq"));
  204. ds_main_lngdinfo_lngdlist.setColumn(addRow, "lngoodnm" , codynode.getColumn(j, "lngoodnm"));
  205. ds_main_lngdinfo_lngdlist.setColumn(addRow, "goodspec" , codynode.getColumn(j, "goodspec"));
  206. ds_main_lngdinfo_lngdlist.setColumn(addRow, "goodmodel" , codynode.getColumn(j, "goodmodel"));
  207. addRow = addRow + 1;
  208. }
  209. ds_main_lngdinfo_lngdlist.updatecontrol = true;
  210. ds_main_lngdinfo_lngdlist.enableevent = true;
  211. grp_biz.grd_lngdlist.showEditor(false);
  212. }
  213. //=======================================================================================
  214. // Event
  215. //---------------------------------------------------------------------------------------
  216. /****************************************************************************************
  217. * Components : Form
  218. * Components ID : SMMNG02102
  219. * Event : oninit
  220. * Argument : 01.obj : Object Event has occurred
  221. * : 02.e : Event Object
  222. * Description : 화면 처음 초기화시
  223. ****************************************************************************************/
  224. function SMMNG02102_oninit(obj:Form, e:InitEventInfo)
  225. {
  226. frmf_initForm(obj); //폼 초기화
  227. }
  228. /****************************************************************************************
  229. * Components : Form
  230. * Components ID : SMMNG02102
  231. * Event : onload
  232. * Argument : 01.obj : Object Event has occurred
  233. * : 02.e : Event Object
  234. * Description : 화면 로딩 완료시
  235. ****************************************************************************************/
  236. function SMMNG02102_onload(obj:Form, e:LoadEventInfo)
  237. {
  238. grdf_setRowTypeIcon(grp_biz.grd_lngdlist, 0);
  239. fInitialize();
  240. }
  241. /****************************************************************************************
  242. * Components : Button
  243. * Components ID : btn_sav
  244. * Event : onclick
  245. * Argument : 01.obj : Object Event has occurred
  246. * : 02.e : Event Object
  247. * Description : 저장버튼 클릭시
  248. ****************************************************************************************/
  249. function grp_biz_btn_sav_onclick(obj:Button, e:ClickEventInfo)
  250. {
  251. ds_main_lngdinfo_lngdlist.enableevent = false;
  252. ds_main_lngdinfo_lngdlist.updatecontrol = false;
  253. grdf_setStatusColumn(ds_main_lngdinfo_lngdlist, "status");
  254. ds_main_lngdinfo_lngdlist.updatecontrol = true;
  255. ds_main_lngdinfo_lngdlist.enableevent = true;
  256. ds_send_savedata_lngdlist.assign(grdf_getGridUpdateData(grp_biz.grd_lngdlist));
  257. var oParam = {};
  258. oParam.id = "TXMNG02103";
  259. oParam.service = "csrapp.CsrDryMngt";
  260. oParam.method = "reqExeLngdList";
  261. oParam.inds = "req=ds_send_savedata_lngdlist:A";
  262. oParam.outds = "";
  263. oParam.async = false;
  264. //oParam.callback = "cf_TXMNG02103";
  265. tranf_submit(oParam);
  266. fSearch();
  267. }
  268. /****************************************************************************************
  269. * Components : Grid
  270. * Components ID : grd_lngdlist
  271. * Event : onexpandup
  272. * Argument : 01.obj : Object Event has occurred
  273. * : 02.e : Event Object
  274. * Description : 그리드 expand버튼 클릭시
  275. ****************************************************************************************/
  276. function grp_biz_grd_lngdlist_onexpandup(obj:Grid, e:GridMouseEventInfo)
  277. {
  278. frmf_clearParameter("SPMNG02801_");
  279. sysf_setModelProperty("flag", "req");
  280. if (e.cell == grp_biz.grd_lngdlist.getBindCellIndex("body", "grupnm")) {//그룹명 버튼을 눌렀을 때
  281. ds_copynode_grd_lngdlist.clearData();
  282. rszfOpenPopUpListByWndName(grp_biz.grd_lngdlist,"","goodcd,goodnm,goodengnm,useyn,goodspec,goodmodel,deliveunit","SPMNG02801","","", "Y");
  283. var CSV = frmf_getParameter("SPMNG02801_");
  284. dsf_setCSVToDs("ds_copynode_grd_lngdlist", CSV);
  285. fSettingGoodList("ds_copynode_grd_lngdlist");
  286. }
  287. }
  288. /****************************************************************************************
  289. * Components : Dataset
  290. * Components ID : ds_main_lngdinfo_lngdlist
  291. * Event : oncolumnchanged
  292. * Argument : 01.obj : Object Event has occurred
  293. * : 02.e : Event Object
  294. * Description : 데이터셋 값 변경시
  295. ****************************************************************************************/
  296. function ds_main_lngdinfo_lngdlist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  297. {
  298. var grupnm = ds_main_lngdinfo_lngdlist.getColumn(e.row, "grupnm");
  299. if ( e.columnid == "grupnm" ){
  300. for ( i=0 ; i<ds_main_lngdinfo_lngdlist.rowcount ; i++ ) {
  301. if (utlf_isNull(ds_main_lngdinfo_lngdlist.getColumn(i, "grupnm")) ){
  302. ds_main_lngdinfo_lngdlist.setColumn(i, "grupnm", grupnm);
  303. }
  304. }
  305. }
  306. }
  307. /****************************************************************************************
  308. * Components : Button
  309. * Components ID : button1
  310. * Event : onclick
  311. * Argument : 01.obj : Object Event has occurred
  312. * : 02.e : Event Object
  313. * Description : 추가버튼 클릭시
  314. ****************************************************************************************/
  315. function grp_biz_button1_onclick(obj:Button, e:ClickEventInfo)
  316. {
  317. ds_main_lngdinfo_lngdlist.addRow();
  318. }
  319. /****************************************************************************************
  320. * Components : Button
  321. * Components ID : button2
  322. * Event : onclick
  323. * Argument : 01.obj : Object Event has occurred
  324. * : 02.e : Event Object
  325. * Description : 삭제버튼 클릭시
  326. ****************************************************************************************/
  327. function grp_biz_button2_onclick(obj:Button, e:ClickEventInfo)
  328. {
  329. if(ds_main_lngdinfo_lngdlist.rowposition > -1){
  330. ds_main_lngdinfo_lngdlist.enableevent = false;
  331. ds_main_lngdinfo_lngdlist.updatecontrol = false;
  332. for( var i=0 ; i<grp_biz.grd_lngdlist.selectcount ; i++ ){
  333. for( var j=grp_biz.grd_lngdlist.selectendrow[i] ; j>=grp_biz.grd_lngdlist.selectstartrow[i] ; j-- ){
  334. ds_main_lngdinfo_lngdlist.setRowType(j, 8);
  335. }
  336. }
  337. ds_main_lngdinfo_lngdlist.updatecontrol = true;
  338. ds_main_lngdinfo_lngdlist.enableevent = true;
  339. }
  340. }
  341. /****************************************************************************************
  342. * Components : Button
  343. * Components ID : btn_search
  344. * Event : onclick
  345. * Argument : 01.obj : Object Event has occurred
  346. * : 02.e : Event Object
  347. * Description : 조회버튼 클릭시
  348. ****************************************************************************************/
  349. function btn_search_onclick(obj:Button, e:ClickEventInfo)
  350. {
  351. fSearch();
  352. }
  353. ]]></Script>
  354. </Form>
  355. </FDL>