SPMRT01800_약어의동의어관리.xfdl 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMRT01800" position="absolute 0 0 626 515" titletext="약어 동의어" onload="SPMRT01800_onload">
  5. <Layouts>
  6. <Layout>
  7. <Grid position="absolute 0 29 625 483" id="grd_list" binddataset="ds_main_abbrsyreclists_abbrsyreclist">
  8. <Formats>
  9. <Format id="default">
  10. <Columns>
  11. <Column size="25" band="left"/>
  12. <Column size="600"/>
  13. <Column size="0"/>
  14. <Column size="0"/>
  15. <Column size="0"/>
  16. <Column size="0"/>
  17. </Columns>
  18. <Rows>
  19. <Row size="24" band="head"/>
  20. <Row size="24"/>
  21. </Rows>
  22. <Band id="head">
  23. <Cell/>
  24. <Cell col="1" text="동의어"/>
  25. <Cell col="2"/>
  26. <Cell col="3"/>
  27. <Cell col="4"/>
  28. <Cell col="5"/>
  29. </Band>
  30. <Band id="body">
  31. <Cell celltype="head"/>
  32. <Cell col="1" displaytype="text" edittype="text" text="bind:trgtcnts" id="trgtcnts"/>
  33. <Cell col="2" text="bind:instcd" id="instcd"/>
  34. <Cell col="3" text="bind:abbrcd" id="abbrcd"/>
  35. <Cell col="4" text="bind:trgtflag" id="trgtflag"/>
  36. <Cell col="5" text="bind:seqno" id="seqno"/>
  37. </Band>
  38. </Format>
  39. </Formats>
  40. </Grid>
  41. <Shape position="absolute 0 24 625 30" id="line12" class="line_10"/>
  42. <Button position="absolute 569 488 625 510" id="btn_cancel" class="btn4" text="닫기" onclick="btn_cancel_onclick"/>
  43. <Button position="absolute 509 488 565 510" id="btn_ok" class="btn4" text="저장" onclick="btn_ok_onclick"/>
  44. <Static text="동의어" position="absolute 0 8 190 24" align="align:center middle;" id="caption2" class="tit_2"/>
  45. <Button position="absolute 517 2 570 24" id="btn_add" class="btn2" text="행추가" onclick="btn_add_onclick"/>
  46. <Button position="absolute 572 2 625 24" id="btn_delete" class="btn2" text="행삭제" onclick="btn_delete_onclick"/>
  47. </Layout>
  48. </Layouts>
  49. <Objects>
  50. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  51. <ColumnInfo>
  52. <Column id="condition" type="STRING" size="256"/>
  53. </ColumnInfo>
  54. <Rows>
  55. <Row>
  56. <Col id="condition"/>
  57. </Row>
  58. </Rows>
  59. </Dataset>
  60. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  61. <ColumnInfo>
  62. <Column id="abbrcd" type="STRING" size="256"/>
  63. <Column id="trgtflag" type="STRING" size="256"/>
  64. </ColumnInfo>
  65. <Rows>
  66. <Row>
  67. <Col id="abbrcd"/>
  68. <Col id="trgtflag">01</Col>
  69. </Row>
  70. </Rows>
  71. </Dataset>
  72. <Dataset id="ds_main_abbrsyreclists_abbrsyreclist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  73. <ColumnInfo>
  74. <Column id="instcd" type="STRING" size="256"/>
  75. <Column id="abbrcd" type="STRING" size="256"/>
  76. <Column id="trgtflag" type="STRING" size="256"/>
  77. <Column id="seqno" type="STRING" size="256"/>
  78. <Column id="trgtcd" type="STRING" size="256"/>
  79. <Column id="trgtcnts" type="STRING" size="256"/>
  80. <Column id="delyn" type="STRING" size="256"/>
  81. <Column id="fstrgstrid" type="STRING" size="256"/>
  82. <Column id="fstrgstdt" type="STRING" size="256"/>
  83. <Column id="lastupdtrid" type="STRING" size="256"/>
  84. <Column id="lastupdtdt" type="STRING" size="256"/>
  85. </ColumnInfo>
  86. <Rows>
  87. <Row>
  88. <Col id="instcd"/>
  89. <Col id="abbrcd"/>
  90. <Col id="trgtflag"/>
  91. <Col id="seqno"/>
  92. <Col id="trgtcd"/>
  93. <Col id="trgtcnts"/>
  94. <Col id="delyn"/>
  95. <Col id="fstrgstrid"/>
  96. <Col id="fstrgstdt"/>
  97. <Col id="lastupdtrid"/>
  98. <Col id="lastupdtdt"/>
  99. </Row>
  100. </Rows>
  101. </Dataset>
  102. <Dataset id="ds_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  103. <ColumnInfo>
  104. <Column id="receive" type="STRING" size="256"/>
  105. </ColumnInfo>
  106. </Dataset>
  107. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  108. <ColumnInfo>
  109. <Column id="abbrcd" type="STRING" size="256"/>
  110. <Column id="trgtflag" type="STRING" size="256"/>
  111. <Column id="listdata" type="STRING" size="256"/>
  112. </ColumnInfo>
  113. <Rows>
  114. <Row>
  115. <Col id="abbrcd"/>
  116. <Col id="trgtflag">01</Col>
  117. <Col id="listdata"/>
  118. </Row>
  119. </Rows>
  120. </Dataset>
  121. </Objects>
  122. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  123. * System Name :
  124. * Job Name :
  125. * Creator :
  126. * Make Date : 2017-12-04
  127. * Description :
  128. *---------------------------------------------------------------------------------------
  129. * Modify Date Modifier Modify Description
  130. *---------------------------------------------------------------------------------------
  131. * 2017-06-19 Live Converter TF->XP
  132. *
  133. *---------------------------------------------------------------------------------------
  134. ****************************************************************************************/
  135. //=======================================================================================
  136. // Lib Include
  137. //---------------------------------------------------------------------------------------
  138. include "com_commonxp::comm_main.xjs";
  139. //include "emr_termmngtxp::SPMRT01800.xjs";
  140. //=======================================================================================
  141. // Global Form Variable
  142. //---------------------------------------------------------------------------------------
  143. var arErrorCode = new HashArray();
  144. //=======================================================================================
  145. // Function
  146. //---------------------------------------------------------------------------------------
  147. /*-**************************************************************************************
  148. * Argument : N/A
  149. * Description :
  150. ****************************************************************************************/
  151. ////////////////////////////////////////////////SPMRT01800.xjs////////////////////////////////////////////////
  152. /*-**************************************************************************************
  153. * Argument : N/A
  154. * Description : 화면을 초기화 한다
  155. ****************************************************************************************/
  156. function fInitalize(){
  157. ds_main_abbrsyreclists_abbrsyreclist.clearData();
  158. var vAbbrcd = opener.frmf_getParameter("SPMRJ01800_abbrcd");
  159. if(utlf_isNull(vAbbrcd)){
  160. sysf_messageBox("약어코드 정보가 없습니다.","I003");
  161. return;
  162. }else{
  163. ds_send.setColumn( 0, "abbrcd",vAbbrcd);
  164. ds_init.setColumn( 0, "abbrcd",vAbbrcd);
  165. fSelectAbbrSyRecList();
  166. }
  167. }
  168. /*-**************************************************************************************
  169. * Argument : N/A
  170. * Description : 조회
  171. ****************************************************************************************/
  172. function fSelectAbbrSyRecList(){
  173. var oParam = {};
  174. oParam.id = "TRMRT01801";
  175. oParam.service = "termmngtapp.AbbrTermMngt";
  176. oParam.method = "reqGetAbbrSyRecList";
  177. oParam.inds = "req=ds_send";
  178. oParam.outds = "ds_main_abbrsyreclists_abbrsyreclist=abbrsyreclist";
  179. oParam.async = false;
  180. //oParam.callback = "cf_TRMRT01801";
  181. tranf_submit(oParam);
  182. }
  183. /*-**************************************************************************************
  184. * Argument : N/A
  185. * Description : 그리드 행추가 버튼을 클릭하였을 경우 이벤트
  186. ****************************************************************************************/
  187. function fClickRowAddBtn(){
  188. var cur_row = ds_main_abbrsyreclists_abbrsyreclist.addRow(); // 입력할 행 추가.
  189. ds_main_abbrsyreclists_abbrsyreclist.setColumn(cur_row, "abbrcd", ds_init.getColumn(0, "abbrcd"));
  190. ds_main_abbrsyreclists_abbrsyreclist.setColumn(cur_row, "trgtflag", ds_init.getColumn(0, "trgtflag"));
  191. }
  192. /*-**************************************************************************************
  193. * Argument : N/A
  194. * Description : 저장 버튼을 클릭하였을 경우 이벤트
  195. ****************************************************************************************/
  196. function fOnClickSaveBtn(){
  197. if(!checkGridUpdate(grd_list)){
  198. alert("저장할 자료가 존재하지 않습니다.");
  199. return;
  200. }
  201. if(checkGridField(grd_list,"grd_list.trgtcnts")==false){
  202. alert("데이터중에 비어있는 필수필드가 있습니다.");
  203. return;
  204. }
  205. dsf_createDs("ds_send_listdata");
  206. var dsUpdate = grdf_getGridUpdateData(grd_list, "all");
  207. grdf_setStatusColumn(dsUpdate, "status");
  208. ds_send_listdata.copyData(dsUpdate, true);
  209. var oParam = {};
  210. oParam.id = "TXMRT01802";
  211. oParam.service = "termmngtapp.AbbrTermMngt";
  212. oParam.method = "reqSetAbbrSyRecList";
  213. oParam.inds = "listdata=ds_send_listdata";
  214. oParam.outds = "ds_main_abbrsyreclists_abbrsyreclist=abbrsyreclist";
  215. oParam.async = false;
  216. oParam.callback = "cf_TXMRT01802";
  217. tranf_submit(oParam);
  218. if(arErrorCode.pop("TXMRT01802") > -1) {
  219. fClose();
  220. }
  221. }
  222. function cf_TXMRT01802(sSvcId, nErrorCode, sErrorMsg) {
  223. arErrorCode.push(sSvcId, nErrorCode);
  224. }
  225. /*-**************************************************************************************
  226. * Argument : N/A
  227. * Description : 삭제 버튼을 클릭하였을 경우 이벤트
  228. ****************************************************************************************/
  229. function fClickDeleteBtn(){
  230. var cur_row = grd_list.currentrow; // 행 번호 가져오기
  231. var iStatus = ds_main_abbrsyreclists_abbrsyreclist.getRowType(cur_row);
  232. if(cur_row < 0) {
  233. alert("삭제할 행을 선택하시기 바랍니다...");
  234. return;
  235. }
  236. if (iStatus == 2){ // 새로 삽입된 행이면
  237. ds_main_abbrsyreclists_abbrsyreclist.deleteRow(cur_row);
  238. }else if (iStatus == 8){ // 삭제로 표시된 행이면
  239. grdf_setStatus(grd_list, "N", [cur_row]);
  240. }else{
  241. grdf_setStatus(grd_list, "D", [cur_row]);
  242. }
  243. }
  244. /*-**************************************************************************************
  245. * Argument : grid (대상그리드)
  246. * Description : 처리대상 체크
  247. ****************************************************************************************/
  248. function checkGridUpdate(grid)
  249. {
  250. var iData = grdf_getGridUpdateData(grid, "insert");
  251. var uData = grdf_getGridUpdateData(grid, "update");
  252. var dData = grdf_getGridUpdateData(grid, "delete");
  253. if ((utlf_isNull(iData) || iData.rowcount == 0) && (utlf_isNull(uData) || uData.rowcount == 0) && (utlf_isNull(dData) || dData.rowcount == 0)) return false;
  254. else return true;
  255. }
  256. /*-**************************************************************************************
  257. * Argument : grid (대상그리드)
  258. * : field (대상필드)
  259. * Description : 필드값 존재여부체크
  260. ****************************************************************************************/
  261. function checkGridField(grid, field){
  262. var nodeset = this.objects[grid.binddataset];
  263. var iStatus;
  264. for (var i = 0; i < grid.rowcount; i++){
  265. iStatus = nodeset.getRowType(i);
  266. if (iStatus == 2){
  267. var fieldArr = field.split("▦");
  268. if(fieldArr.length < 1){
  269. return false;
  270. }
  271. for(var j = 0; j < fieldArr.length; j++){
  272. if(utlf_isNull(fieldArr[j])){
  273. continue;
  274. }
  275. if(utlf_isNull(nodeset.getColumn(i, fieldArr[j]))) return false;
  276. }
  277. }
  278. }
  279. return true;
  280. }
  281. /*-**************************************************************************************
  282. * Argument : N/A
  283. * Description : 화면닫기
  284. ****************************************************************************************/
  285. function fClose(){
  286. this.close();
  287. }
  288. ////////////////////////////////////////////////SPMRT01800.xjs////////////////////////////////////////////////
  289. //=======================================================================================
  290. // Event
  291. //---------------------------------------------------------------------------------------
  292. /****************************************************************************************
  293. * Components : Form
  294. * Description : 화면 처음 초기화시 폼초기화
  295. ****************************************************************************************/
  296. function SPMRT01800_onload(obj:Form, e:LoadEventInfo) {
  297. frmf_initForm(obj);
  298. //grdf_initGrid(grd_XXX);
  299. //grdf_setGridSort(grd_XXX);
  300. grdf_setRowTypeIcon(grd_list, 0);
  301. fInitalize();
  302. }
  303. /****************************************************************************************
  304. * Components : Button
  305. * Description : 닫기
  306. ****************************************************************************************/
  307. function btn_cancel_onclick(obj:Button, e:ClickEventInfo) {
  308. this.close();
  309. }
  310. /****************************************************************************************
  311. * Components : Button
  312. * Description : 저장
  313. ****************************************************************************************/
  314. function btn_ok_onclick(obj:Button, e:ClickEventInfo) {
  315. fOnClickSaveBtn();
  316. }
  317. /****************************************************************************************
  318. * Components : Button
  319. * Description : 행추가
  320. ****************************************************************************************/
  321. function btn_add_onclick(obj:Button, e:ClickEventInfo) {
  322. fClickRowAddBtn();
  323. }
  324. /****************************************************************************************
  325. * Components : Button
  326. * Description : 행삭제
  327. ****************************************************************************************/
  328. function btn_delete_onclick(obj:Button, e:ClickEventInfo) {
  329. fClickDeleteBtn();
  330. }
  331. ]]></Script>
  332. </Form>
  333. </FDL>