SMRAE00400_원내미술품위치소분류.xfdl 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMRAE00400" position="absolute 0 0 1200 760" titletext="원내미술품위치소분류" oninit="SMRAE00400_oninit" onload="SMRAE00400_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div id="grp_sea" taborder="1" class="div_SA" position="absolute 0 49 1194 84"/>
  8. <Shape position="absolute 0 116 1195 122" linetype="horizontal" id="line7" class="line_10"/>
  9. <Grid position="absolute 0 121 1195 710" id="datagrid1" binddataset="ds_main_codeinfo_codelist">
  10. <Formats>
  11. <Format id="default">
  12. <Columns>
  13. <Column size="20"/>
  14. <Column size="99"/>
  15. <Column size="307"/>
  16. <Column size="100"/>
  17. <Column size="100"/>
  18. <Column size="316"/>
  19. <Column size="100"/>
  20. <Column size="100"/>
  21. <Column size="0"/>
  22. <Column size="0"/>
  23. <Column size="0"/>
  24. </Columns>
  25. <Rows>
  26. <Row size="24" band="head"/>
  27. <Row size="24"/>
  28. </Rows>
  29. <Band id="head">
  30. <Cell celltype="head"/>
  31. <Cell col="1" text="소분류 코드"/>
  32. <Cell col="2" text="소분류 명칭"/>
  33. <Cell col="3" text="시작일자"/>
  34. <Cell col="4" text="종료일자"/>
  35. <Cell col="5" text="비고"/>
  36. <Cell col="6" text="정렬순서"/>
  37. <Cell col="7" text="사용여부"/>
  38. <Cell col="8" text="instcd"/>
  39. <Cell col="9" text="flagcd"/>
  40. <Cell col="10" text="orgcdid"/>
  41. </Band>
  42. <Band id="body">
  43. <Cell celltype="head"/>
  44. <Cell col="1" text="bind:cdid"/>
  45. <Cell col="2" displaytype="text" edittype="text" text="bind:cdnm"/>
  46. <Cell col="3" displaytype="date" edittype="date" text="bind:cntlcd1" calendardisplaynulltype="none"/>
  47. <Cell col="4" displaytype="date" edittype="date" text="bind:cntlcd2" calendardisplaynulltype="none"/>
  48. <Cell col="5" displaytype="text" edittype="text" text="bind:detldesc"/>
  49. <Cell col="6" displaytype="text" edittype="text" style="align:center;" text="bind:dispseq"/>
  50. <Cell col="7" displaytype="combo" edittype="combo" text="bind:useyn" combodataset="ds_item" combocodecol="value" combodatacol="label"/>
  51. <Cell col="8" text="bind:instcd"/>
  52. <Cell col="9" text="bind:flagcd"/>
  53. <Cell col="10" text="bind:orgcdid"/>
  54. </Band>
  55. </Format>
  56. </Formats>
  57. </Grid>
  58. <Static text="소분류 코드 상세정보" position="absolute 0 100 159 116" id="caption4" class="tit_2"/>
  59. <Button position="absolute 1085 95 1138 114" id="btn_grdadd" class="btn2" text="행추가" onclick="btn_grdadd_onclick"/>
  60. <Button position="absolute 1141 95 1194 114" id="btn_grddel" class="btn2" text="행삭제" onclick="btn_grddel_onclick"/>
  61. <Static text="원내 미술품 위치코드(소분류)" position="absolute 0 0 210 24" id="caption1" class="tit_1"/>
  62. <Div position="absolute 0 13 1195 44" id="group4" scrollbars="autoboth">
  63. <Layouts>
  64. <Layout>
  65. <Shape position="absolute 0 25 1195 31" linetype="horizontal" id="line2" class="line_6" anchor="default"/>
  66. <Button position="absolute 1139 4 1195 26" id="btn_save" class="btn4" text="저장" anchor="default" onclick="group4_btn_save_onclick"/>
  67. </Layout>
  68. </Layouts>
  69. </Div>
  70. <Button position="absolute 565 55 621 77" id="btn_search" class="btn1" text="조회" onclick="btn_search_onclick"/>
  71. <Shape position="absolute 547 55 553 77" linetype="vertical" id="line3"/>
  72. <Static text="※ 1. 사용된 코드는 삭제하지 말고, 사용여부를 &quot;No&quot; 로 변경 후 저장하시기 바랍니다." position="absolute 0 715 503 735" id="caption3" style="color:red;"/>
  73. <Combo position="absolute 120 57 262 76" id="cmb_instcd" class="combo_s_default" enable="false" onitemchanged="cmb_instcd_onitemchanged"/>
  74. <Static text="기관코드" position="absolute 49 58 125 75" id="caption2" class="search_name"/>
  75. <Combo position="absolute 365 57 510 76" id="cmb_flagcd" innerdataset="@ds_init_codeinfo_codelist" datacolumn="cdnm" codecolumn="cdid" onitemchanged="cmb_flagcd_onitemchanged"/>
  76. <Static text="대분류" position="absolute 305 58 368 75" id="caption9" class="search_name"/>
  77. <Static text="2. 소분류 코드는 저장시 자동으로 생성됩니다." position="absolute 15 732 518 752" id="caption5" style="color:red;"/>
  78. </Layout>
  79. </Layouts>
  80. <Objects>
  81. <Dataset id="ds_send_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  82. <ColumnInfo>
  83. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  84. <Column id="flagcd" type="STRING" size="256" sumtext="대분류"/>
  85. </ColumnInfo>
  86. <Rows>
  87. <Row/>
  88. </Rows>
  89. </Dataset>
  90. <Dataset id="ds_init_codeinfo_codelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  91. <ColumnInfo>
  92. <Column id="cdid" type="STRING" size="256" sumtext="코드"/>
  93. <Column id="cdnm" type="STRING" size="256" sumtext="코드명"/>
  94. </ColumnInfo>
  95. </Dataset>
  96. <Dataset id="ds_main_codeinfo_codelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_codeinfo_codelist_oncolumnchanged">
  97. <ColumnInfo>
  98. <Column id="cdid" type="STRING" size="256" sumtext="코드"/>
  99. <Column id="cdnm" type="STRING" size="256" sumtext="코드명"/>
  100. <Column id="cntlcd1" type="STRING" size="256" sumtext="시작일자"/>
  101. <Column id="cntlcd2" type="STRING" size="256" sumtext="종료일자"/>
  102. <Column id="detldesc" type="STRING" size="256" sumtext="상세설명"/>
  103. <Column id="useyn" type="STRING" size="256" sumtext="구분1"/>
  104. <Column id="dispseq" type="STRING" size="256" sumtext="display순서"/>
  105. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  106. <Column id="flagcd" type="STRING" size="256" sumtext="대분류"/>
  107. <Column id="orgcdid" type="STRING" size="256" sumtext="원코드"/>
  108. </ColumnInfo>
  109. </Dataset>
  110. <Dataset id="ds_senddata_execdata_codelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  111. <ColumnInfo>
  112. <Column id="status" type="STRING" size="256" sumtext="처리구분"/>
  113. <Column id="cdid" type="STRING" size="256" sumtext="코드"/>
  114. <Column id="cdnm" type="STRING" size="256" sumtext="코드명"/>
  115. <Column id="cntlcd1" type="STRING" size="256" sumtext="시작일자"/>
  116. <Column id="cntlcd2" type="STRING" size="256" sumtext="종료일자"/>
  117. <Column id="detldesc" type="STRING" size="256" sumtext="상세설명"/>
  118. <Column id="useyn" type="STRING" size="256" sumtext="구분1"/>
  119. <Column id="dispseq" type="STRING" size="256" sumtext="display순서"/>
  120. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  121. <Column id="flagcd" type="STRING" size="256" sumtext="상세코드"/>
  122. <Column id="orgcdid" type="STRING" size="256" sumtext="원코드"/>
  123. </ColumnInfo>
  124. </Dataset>
  125. <Dataset id="ds_hidden_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  126. <ColumnInfo>
  127. <Column id="count" type="STRING" size="256" sumtext="실행건수"/>
  128. </ColumnInfo>
  129. </Dataset>
  130. <Dataset id="ds_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  131. <ColumnInfo>
  132. <Column id="label" type="STRING" size="256"/>
  133. <Column id="value" type="STRING" size="256"/>
  134. </ColumnInfo>
  135. <Rows>
  136. <Row>
  137. <Col id="label">Yes</Col>
  138. <Col id="value">Y</Col>
  139. </Row>
  140. <Row>
  141. <Col id="label">No</Col>
  142. <Col id="value">N</Col>
  143. </Row>
  144. </Rows>
  145. </Dataset>
  146. </Objects>
  147. <Bind>
  148. <BindItem id="item0" compid="cmb_instcd" propid="value" datasetid="ds_send_reqdata" columnid="instcd"/>
  149. <BindItem id="item1" compid="cmb_flagcd" propid="value" datasetid="ds_send_reqdata" columnid="flagcd"/>
  150. </Bind>
  151. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  152. * System Name : 경대 의료정보시스템
  153. * Job Name : mis_acntknuhxp -> SMRAE00400
  154. * Creator : pjb
  155. * Make Date : 2017-12-18
  156. * Description :
  157. *---------------------------------------------------------------------------------------
  158. * Modify Date Modifier Modify Description
  159. *---------------------------------------------------------------------------------------
  160. * 2017-12-18 pjb TF->XP
  161. *
  162. *---------------------------------------------------------------------------------------
  163. ****************************************************************************************/
  164. //=======================================================================================
  165. // Lib Include
  166. //---------------------------------------------------------------------------------------
  167. include "com_commonxp::comm_main.xjs";
  168. include "mis_miscommonxp::MIS.xjs";
  169. //=======================================================================================
  170. // Global Form Variable
  171. //---------------------------------------------------------------------------------------
  172. var arErrorCode = new HashArray();
  173. //=======================================================================================
  174. // Function
  175. //---------------------------------------------------------------------------------------
  176. function readfunc(){ // 해당 조건에 대한 사용자 권한내역을 조회한다.
  177. if (utlf_isNull(ds_send_reqdata.getColumn(0, "flagcd"))) {
  178. sysf_messageBox("대분류를 선택한 후 조회하시기 바랍니다.", "E999", "");
  179. cmb_flagcd.setFocus();
  180. return;
  181. }
  182. misfGridInit(datagrid1);
  183. var oParam = {};
  184. oParam.id = "TRRAE00401";
  185. oParam.service = "acntknuhapp.Acntknuh";
  186. oParam.method = "reqGetPosSmlList";
  187. oParam.inds = "req=ds_send_reqdata";
  188. oParam.outds = "ds_main_codeinfo_codelist=codelist";
  189. oParam.async = false;
  190. //oParam.callback = "cf_TRRAE00401";
  191. tranf_submit(oParam);
  192. ds_main_codeinfo_codelist.addColumn("colIUD", "string");
  193. }
  194. function datacheck(){
  195. for (var i = 0; i < ds_main_codeinfo_codelist.rowcount; i++) {
  196. if (utlf_isNull(ds_main_codeinfo_codelist.getColumn(i, "cdnm"))) {
  197. sysf_messageBox("명칭은 필수 입력 항목입니다.", "E999", "");
  198. return false;
  199. }
  200. }
  201. return true;
  202. }
  203. function ExecData(){
  204. ds_main_codeinfo_codelist.enableevent = false;
  205. ds_main_codeinfo_codelist.updatecontrol = false;
  206. grdf_setStatusColumn(ds_main_codeinfo_codelist, "status");
  207. ds_main_codeinfo_codelist.updatecontrol = true;
  208. ds_main_codeinfo_codelist.enableevent = true;
  209. var update = grdf_getGridUpdateData(datagrid1);
  210. //copyData : 메소드를 수행하면 대상 데이터셋의 모든 열과 행 정보는 삭제됩니다.
  211. //데이터셋이 복사될 때 삭제된 행은 복사하지 않습니다.
  212. //또한, copyData 메소드를 수행하여 복사된 행의 타입은 ROWTYPE_NORMAL이 됩니다
  213. //ds_senddata_execdata_codelist.copyData(update);
  214. //assign : 지정한 데이터셋에서 행(row) 타입, 열(column) 타입, 데이터 등의 모든 행, 열 정보를 대상 데이터셋에 부여하는 메소드
  215. ds_senddata_execdata_codelist.assign(update);
  216. var oParam = {};
  217. oParam.id = "TXRAE00401";
  218. oParam.service = "acntknuhapp.Acntknuh";
  219. oParam.method = "reqExeSavePosSmlList";
  220. oParam.inds = "codelist=ds_senddata_execdata_codelist:A";
  221. oParam.outds = "ds_hidden_item=item";
  222. oParam.async = false;
  223. oParam.callback = "cf_TXRAE00401";
  224. tranf_submit(oParam);
  225. if (arErrorCode.pop("TXRAE00401") > -1) {
  226. readfunc();
  227. }
  228. }
  229. function cf_TXRAE00401(sSvcId, nErrorCode, sErrorMsg) {
  230. arErrorCode.push(sSvcId, nErrorCode);
  231. }
  232. //=======================================================================================
  233. // Event
  234. //---------------------------------------------------------------------------------------
  235. /****************************************************************************************
  236. * Components : Form
  237. * Components ID : SMRAE00400
  238. * Event : oninit
  239. * Argument : 01.obj : Object Event has occurred
  240. * : 02.e : Event Object
  241. * Description : 화면 처음 초기화시
  242. ****************************************************************************************/
  243. function SMRAE00400_oninit(obj:Form, e:InitEventInfo)
  244. {
  245. frmf_initForm(obj); //폼 초기화
  246. }
  247. /****************************************************************************************
  248. * Components : Form
  249. * Components ID : SMRAE00400
  250. * Event : onload
  251. * Argument : 01.obj : Object Event has occurred
  252. * : 02.e : Event Object
  253. * Description : 화면 로딩 완료시
  254. ****************************************************************************************/
  255. function SMRAE00400_onload(obj:Form, e:LoadEventInfo)
  256. {
  257. grdf_setRowTypeIcon(datagrid1, 0);
  258. grdf_setGridSort(datagrid1);
  259. misfGridInit(datagrid1);
  260. misfComboInstCdListMulti("cmb_instcd", utlf_getCurrentDate(),"","N");
  261. cmb_instcd.value = sysf_getUserInfo("dutplceinstcd");
  262. var oParam = {};
  263. oParam.id = "TRRAE00402";
  264. oParam.service = "acntknuhapp.Acntknuh";
  265. oParam.method = "reqGetPosLrgList";
  266. oParam.inds = "req=ds_send_reqdata";
  267. oParam.outds = "ds_init_codeinfo_codelist=codelist";
  268. oParam.async = false;
  269. //oParam.callback = "cf_TRRAE00402";
  270. tranf_submit(oParam);
  271. }
  272. /****************************************************************************************
  273. * Components : Combo
  274. * Components ID : cmb_instcd
  275. * Event : onitemchanged
  276. * Argument : 01.obj : Object Event has occurred
  277. * : 02.e : Event Object
  278. * Description : 기관코드 항목 변경시
  279. ****************************************************************************************/
  280. function cmb_instcd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  281. {
  282. misfGridInit(datagrid1);
  283. }
  284. /****************************************************************************************
  285. * Components : Combo
  286. * Components ID : cmb_flagcd
  287. * Event : onitemchanged
  288. * Argument : 01.obj : Object Event has occurred
  289. * : 02.e : Event Object
  290. * Description : 대분류 항목 변경시
  291. ****************************************************************************************/
  292. function cmb_flagcd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  293. {
  294. btn_search.click();
  295. }
  296. /****************************************************************************************
  297. * Components : Button
  298. * Components ID : btn_search
  299. * Event : onclick
  300. * Argument : 01.obj : Object Event has occurred
  301. * : 02.e : Event Object
  302. * Description : 조회버튼 click시
  303. ****************************************************************************************/
  304. function btn_search_onclick(obj:Button, e:ClickEventInfo)
  305. {
  306. readfunc();
  307. }
  308. /****************************************************************************************
  309. * Components : Button
  310. * Components ID : btn_grdadd
  311. * Event : onclick
  312. * Argument : 01.obj : Object Event has occurred
  313. * : 02.e : Event Object
  314. * Description : 행추가버튼 click시
  315. ****************************************************************************************/
  316. function btn_grdadd_onclick(obj:Button, e:ClickEventInfo)
  317. {
  318. ds_main_codeinfo_codelist.addRow();
  319. var irow = ds_main_codeinfo_codelist.rowposition;
  320. ds_main_codeinfo_codelist.setColumn(irow, "instcd", cmb_instcd.value);
  321. ds_main_codeinfo_codelist.setColumn(irow, "flagcd", ds_send_reqdata.getColumn(0, "flagcd"));
  322. ds_main_codeinfo_codelist.setColumn(irow, "useyn", "Y");
  323. ds_main_codeinfo_codelist.rowposition = irow;
  324. datagrid1.setCellPos(2);
  325. datagrid1.setFocus();
  326. //datagrid1.showEditor(true);
  327. }
  328. /****************************************************************************************
  329. * Components : Button
  330. * Components ID : btn_grddel
  331. * Event : onclick
  332. * Argument : 01.obj : Object Event has occurred
  333. * : 02.e : Event Object
  334. * Description : 행삭제버튼 click시
  335. ****************************************************************************************/
  336. function btn_grddel_onclick(obj:Button, e:ClickEventInfo)
  337. {
  338. //datagrid1.deleteRow(datagrid1.row);
  339. /*
  340. - 0 : read : 조회시
  341. - 1 : insert : 행추가시
  342. - 2 : update : 조회한 것을 수정시
  343. - 3 : insert & new : 행추가한 것을 수정시
  344. - 4 : delete
  345. - 5 : delete & insert
  346. - 6 : delete & update
  347. */
  348. // var status = datagrid1.rowStatus(datagrid1.row) ;
  349. //
  350. // if(status == 0) {
  351. // datagrid1.addStatus(datagrid1.row, "delete");
  352. // }else if(status == 1) {
  353. // datagrid1.deleteRow(datagrid1.row);
  354. // }else if(status == 2) {
  355. // datagrid1.addStatus(datagrid1.row, "delete");
  356. // }else if(status == 3) {
  357. // datagrid1.deleteRow(datagrid1.row);
  358. // }else if(status == 4) {
  359. // datagrid1.removeStatus(datagrid1.row, "delete");
  360. // }else if(status == 5) { // insert된 data는 삭제시 위에서 addStatus("delete")하지 않고, 바로 deleteRow했기 때문에 5의 경우는 발생하지 않음.
  361. // datagrid1.removeStatus(datagrid1.row, "delete");
  362. // }else if(status == 6) {
  363. // datagrid1.removeStatus(datagrid1.row, "delete");
  364. // }
  365. /*
  366. Row Type Value Description
  367. Dataset.ROWTYPE_EMPTY 0 존재하지 않는 행의 상태
  368. Dataset.ROWTYPE_NORMAL 1 초기 행의 상태
  369. Dataset.ROWTYPE_INSERT 2 추가된 행의 상태
  370. Dataset.ROWTYPE_UPDATE 4 수정된 행의 상태
  371. Dataset.ROWTYPE_DELETE 8 삭제된 행의 상태
  372. Dataset.ROWTYPE_GROUP 16 그룹 정보 행의 상태
  373. */
  374. var status = ds_main_codeinfo_codelist.getRowType(ds_main_codeinfo_codelist.rowposition);
  375. ds_main_codeinfo_codelist.enableevent = false;
  376. ds_main_codeinfo_codelist.updatecontrol = false;
  377. if(status == 1) {
  378. ds_main_codeinfo_codelist.setRowType(ds_main_codeinfo_codelist.rowposition, 8);
  379. }else if(status == 2) {
  380. ds_main_codeinfo_codelist.deleteRow(ds_main_codeinfo_codelist.rowposition);
  381. }else if(status == 4) {
  382. ds_main_codeinfo_codelist.setColumn(ds_main_codeinfo_codelist.rowposition, "colIUD", "u");
  383. ds_main_codeinfo_codelist.setRowType(ds_main_codeinfo_codelist.rowposition, 8);
  384. }else if(status == 8) {
  385. if(ds_main_codeinfo_codelist.getColumn(ds_main_codeinfo_codelist.rowposition, "colIUD") == "u") {
  386. ds_main_codeinfo_codelist.setRowType(ds_main_codeinfo_codelist.rowposition, 4);
  387. }else {
  388. ds_main_codeinfo_codelist.setRowType(ds_main_codeinfo_codelist.rowposition, 1);
  389. }
  390. }
  391. ds_main_codeinfo_codelist.updatecontrol = true;
  392. ds_main_codeinfo_codelist.enableevent = true;
  393. }
  394. /****************************************************************************************
  395. * Components : Button
  396. * Components ID : btn_save
  397. * Event : onclick
  398. * Argument : 01.obj : Object Event has occurred
  399. * : 02.e : Event Object
  400. * Description : 저장버튼 click시
  401. ****************************************************************************************/
  402. function group4_btn_save_onclick(obj:Button, e:ClickEventInfo)
  403. {
  404. if (datacheck() == false){
  405. return;
  406. }
  407. ExecData();
  408. }
  409. /****************************************************************************************
  410. * Components : Dataset
  411. * Components ID : ds_main_codeinfo_codelist
  412. * Event : oncolumnchanged
  413. * Argument : 01.obj : Object Event has occurred
  414. * : 02.e : Event Object
  415. * Description : ds_main_codeinfo_codelist 변경시
  416. ****************************************************************************************/
  417. function ds_main_codeinfo_codelist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  418. {
  419. ds_main_codeinfo_codelist.setColumn(e.row, "colIUD", "u");
  420. }
  421. ]]></Script>
  422. </Form>
  423. </FDL>