SMRAE00300_원내미술품위치대분류.xfdl 18 KB

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