SPARH00800_병원장가족사항.xfdl 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPARH00800" position="absolute 0 0 624 356" titletext="병원장가족사항" onload="SPARH00800_onload" oninit="SPARH00800_oninit">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 0 608 345" id="group3" scrollbars="autoboth"/>
  8. <Div position="absolute 0 320 608 345" id="group5" scrollbars="autoboth">
  9. <Layouts>
  10. <Layout>
  11. <Button position="absolute 543 3 599 25" id="bt_cncl" class="btn4" text="취소" onclick="group5_bt_cncl_onclick"/>
  12. <Button position="absolute 482 3 538 25" id="btn_save" class="btn4" text="저장" onclick="group5_btn_save_onclick"/>
  13. </Layout>
  14. </Layouts>
  15. </Div>
  16. <Div position="absolute 0 0 608 320" id="group2">
  17. <Layouts>
  18. <Layout>
  19. <Static text="병원기본정보" position="absolute 5 2 152 19" id="caption1" class="tit_2"/>
  20. <Shape position="absolute 0 20 605 26" linetype="horizontal" id="line1" class="line_1" style="strokepen:3 solid #33bbbbff;"/>
  21. <Shape position="absolute 0 47 605 53" linetype="horizontal" id="line2" class="line_2"/>
  22. <Shape position="absolute 0 95 605 101" linetype="horizontal" id="line6" class="line_3"/>
  23. <Edit position="absolute 118 53 161 72" id="input43" class="input_default" enable="false"/>
  24. <Static text="주 소" position="absolute 0 51 115 96" align="align:left middle;" id="caption53" class="cell_1"/>
  25. <Edit position="absolute 210 53 606 72" id="input44" class="input_default" enable="false"/>
  26. <Edit position="absolute 118 76 605 95" id="input45" class="input_default" enable="false"/>
  27. <Edit position="absolute 119 27 334 46" id="input35" class="input_default" enable="false"/>
  28. <Edit position="absolute 453 27 605 46" id="input36" class="input_default" enable="false"/>
  29. <Static text="병원장명" position="absolute 335 25 450 48" align="align:center middle;" id="caption6" class="cell_1"/>
  30. <Button position="absolute 211 103 227 119" id="button20" class="icon_search" enable="false" visible="false" text=""/>
  31. <Edit position="absolute 163 53 206 72" id="input1" class="input_default" enable="false"/>
  32. <Static text="병원명칭" position="absolute 0 25 115 48" align="align:center middle;" id="caption38" class="cell_1"/>
  33. <Static text="가족사항" position="absolute 5 106 116 122" id="caption5" class="tit_2"/>
  34. <Shape position="absolute 0 124 605 130" linetype="horizontal" id="line8" class="line_1" style="strokepen:3 solid #33bbbbff;"/>
  35. <Button position="absolute 490 104 543 123" id="btn_rowadd" class="btn2" text="행추가" onclick="group2_btn_rowadd_onclick"/>
  36. <Button position="absolute 546 104 599 123" id="btn_rowdel" class="btn2" text="행삭제" onclick="group2_btn_rowdel_onclick"/>
  37. <Grid position="absolute 0 128 605 318" id="grd_list" binddataset="ds_main_list_itemlist" oncellclick="group2_grd_list_oncellclick" autofittype="col">
  38. <Formats>
  39. <Format id="default">
  40. <Columns>
  41. <Column size="25"/>
  42. <Column size="70"/>
  43. <Column size="70"/>
  44. <Column size="150"/>
  45. <Column size="80"/>
  46. <Column size="80"/>
  47. <Column size="60"/>
  48. <Column size="60"/>
  49. <Column size="0"/>
  50. </Columns>
  51. <Rows>
  52. <Row size="24" band="head"/>
  53. <Row size="24"/>
  54. </Rows>
  55. <Band id="head">
  56. <Cell/>
  57. <Cell col="1" text="주민번호"/>
  58. <Cell col="2" text="주민번호"/>
  59. <Cell col="3" text="성명"/>
  60. <Cell col="4" text="관계"/>
  61. <Cell col="5" text="할인구분"/>
  62. <Cell col="6" text="진료할인"/>
  63. <Cell col="7" text="검진할인"/>
  64. <Cell col="8" text="caption1"/>
  65. </Band>
  66. <Band id="body">
  67. <Cell celltype="head"/>
  68. <Cell col="1" displaytype="normal" edittype="text" style="align:center middle;" class="input_essential" text="bind:rrgstno1" editlimit="6"/>
  69. <Cell col="2" displaytype="normal" edittype="text" style="align:center middle;" class="input_essential" text="bind:rrgstno2" editlimit="7"/>
  70. <Cell col="3" displaytype="text" edittype="text" text="bind:famynm" editlimit="16"/>
  71. <Cell col="4" displaytype="combo" edittype="combo" text="bind:famyrel" combodataset="ds_init_cmblist_famyref_P0438" combocodecol="cdid" combodatacol="cdnm"/>
  72. <Cell col="5" displaytype="combo" edittype="combo" text="bind:discflag" combodataset="ds_init_cmblist_discflag" combocodecol="cdid" combodatacol="cdnm"/>
  73. <Cell col="6" displaytype="combo" edittype="combo" text="bind:orddiscyn" combodataset="ds_init_cmblist_orddiscyn" combocodecol="value" combodatacol="label"/>
  74. <Cell col="7" displaytype="combo" edittype="combo" text="bind:mediexamdiscyn" combodataset="ds_init_cmblist_mediexamdiscyn" combocodecol="value" combodatacol="label"/>
  75. <Cell col="8" text="bind:coophospcd"/>
  76. </Band>
  77. </Format>
  78. </Formats>
  79. </Grid>
  80. </Layout>
  81. </Layouts>
  82. </Div>
  83. </Layout>
  84. </Layouts>
  85. <Objects>
  86. <Dataset id="ds_grd_list" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  87. <ColumnInfo>
  88. <Column id="rrgstno1" type="STRING"/>
  89. <Column id="rrgstno2" type="STRING"/>
  90. <Column id="famynm" type="STRING"/>
  91. <Column id="famyrel" type="STRING"/>
  92. <Column id="discflag" type="STRING"/>
  93. <Column id="orddiscyn" type="STRING"/>
  94. <Column id="mediexamdiscyn" type="STRING"/>
  95. <Column id="coophospcd" type="STRING"/>
  96. </ColumnInfo>
  97. </Dataset>
  98. <Dataset id="ds_example" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  99. <Dataset id="ds_send_search" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  100. <ColumnInfo>
  101. <Column id="coophospcd" type="STRING" size="256"/>
  102. </ColumnInfo>
  103. <Rows>
  104. <Row/>
  105. </Rows>
  106. </Dataset>
  107. <Dataset id="ds_send_savedata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  108. <Dataset id="ds_main_list_hospinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  109. <ColumnInfo>
  110. <Column id="coophospnm" type="STRING" size="256"/>
  111. <Column id="dirofhospnm" type="STRING" size="256"/>
  112. <Column id="telno" type="STRING" size="256"/>
  113. <Column id="faxno" type="STRING" size="256"/>
  114. <Column id="zipcd1" type="STRING" size="256"/>
  115. <Column id="zipcd2" type="STRING" size="256"/>
  116. <Column id="zipcdseq" type="STRING" size="256"/>
  117. <Column id="addr" type="STRING" size="256"/>
  118. <Column id="detladdr" type="STRING" size="256"/>
  119. </ColumnInfo>
  120. <Rows>
  121. <Row>
  122. <Col id="coophospnm"/>
  123. <Col id="dirofhospnm"/>
  124. <Col id="telno"/>
  125. <Col id="faxno"/>
  126. <Col id="zipcd1"/>
  127. <Col id="zipcd2"/>
  128. <Col id="zipcdseq"/>
  129. <Col id="addr"/>
  130. <Col id="detladdr"/>
  131. </Row>
  132. </Rows>
  133. </Dataset>
  134. <Dataset id="ds_main_list_itemlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  135. <ColumnInfo>
  136. <Column id="rrgstno1" type="STRING" size="256"/>
  137. <Column id="rrgstno2" type="STRING" size="256"/>
  138. <Column id="famynm" type="STRING" size="256"/>
  139. <Column id="famyrel" type="STRING" size="256"/>
  140. <Column id="discflag" type="STRING" size="256"/>
  141. <Column id="orddiscyn" type="STRING" size="256"/>
  142. <Column id="mediexamdiscyn" type="STRING" size="256"/>
  143. <Column id="coophospcd" type="STRING" size="256"/>
  144. <Column id="oldorddiscyn" type="STRING" size="256"/>
  145. <Column id="oldmediexamdiscyn" type="STRING" size="256"/>
  146. <Column id="coophospnm" type="STRING" size="256"/>
  147. <Column id="status" type="STRING" size="256"/>
  148. </ColumnInfo>
  149. <Rows>
  150. <Row>
  151. <Col id="rrgstno1"/>
  152. <Col id="rrgstno2"/>
  153. <Col id="famynm"/>
  154. <Col id="famyrel"/>
  155. <Col id="discflag"/>
  156. <Col id="orddiscyn"/>
  157. <Col id="mediexamdiscyn"/>
  158. <Col id="coophospcd"/>
  159. <Col id="oldorddiscyn"/>
  160. <Col id="oldmediexamdiscyn"/>
  161. <Col id="coophospnm"/>
  162. <Col id="status"/>
  163. </Row>
  164. </Rows>
  165. </Dataset>
  166. <Dataset id="ds_init_cmblist_famyref_P0438" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  167. <ColumnInfo>
  168. <Column id="cdid" type="STRING" size="256"/>
  169. <Column id="cdnm" type="STRING" size="256"/>
  170. </ColumnInfo>
  171. <Rows>
  172. <Row/>
  173. </Rows>
  174. </Dataset>
  175. <Dataset id="ds_init_cmblist_discflag_A0488" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  176. <ColumnInfo>
  177. <Column id="cdid" type="STRING" size="256"/>
  178. <Column id="cdnm" type="STRING" size="256"/>
  179. </ColumnInfo>
  180. <Rows>
  181. <Row/>
  182. </Rows>
  183. </Dataset>
  184. <Dataset id="ds_init_cmblist_orddiscyn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  185. <ColumnInfo>
  186. <Column id="label" type="STRING" size="256"/>
  187. <Column id="value" type="STRING" size="256"/>
  188. </ColumnInfo>
  189. <Rows>
  190. <Row>
  191. <Col id="label">Y</Col>
  192. <Col id="value">Y</Col>
  193. </Row>
  194. <Row>
  195. <Col id="label">N</Col>
  196. <Col id="value">N</Col>
  197. </Row>
  198. </Rows>
  199. </Dataset>
  200. <Dataset id="ds_init_cmblist_mediexamdiscyn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  201. <ColumnInfo>
  202. <Column id="label" type="STRING" size="256"/>
  203. <Column id="value" type="STRING" size="256"/>
  204. </ColumnInfo>
  205. <Rows>
  206. <Row>
  207. <Col id="label">Y</Col>
  208. <Col id="value">Y</Col>
  209. </Row>
  210. <Row>
  211. <Col id="label">N</Col>
  212. <Col id="value">N</Col>
  213. </Row>
  214. </Rows>
  215. </Dataset>
  216. </Objects>
  217. <Bind>
  218. <BindItem id="item0" compid="group2.input35" propid="value" datasetid="ds_main_list_hospinfo" columnid="coophospnm"/>
  219. <BindItem id="item1" compid="group2.input36" propid="value" datasetid="ds_main_list_hospinfo" columnid="dirofhospnm"/>
  220. <BindItem id="item2" compid="group2.input43" propid="value" datasetid="ds_main_list_hospinfo" columnid="zipcd1"/>
  221. <BindItem id="item3" compid="group2.input1" propid="value" datasetid="ds_main_list_hospinfo" columnid="zipcd2"/>
  222. <BindItem id="item4" compid="group2.input44" propid="value" datasetid="ds_main_list_hospinfo" columnid="addr"/>
  223. <BindItem id="item5" compid="group2.input45" propid="value" datasetid="ds_main_list_hospinfo" columnid="detladdr"/>
  224. </Bind>
  225. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  226. * System Name :
  227. * Job Name :
  228. * Creator :
  229. * Make Date : 2015-11-13
  230. * Description :
  231. *---------------------------------------------------------------------------------------
  232. * Modify Date Modifier Modify Description
  233. *---------------------------------------------------------------------------------------
  234. * 2015-11-13 Live Converter TF->XP
  235. *
  236. *---------------------------------------------------------------------------------------
  237. ****************************************************************************************/
  238. include "com_commonxp::comm_main.xjs";
  239. include "com_basiccodexp::ZBC001.xjs";
  240. include "ast_soclworkxp::AWMCommon.xjs";
  241. include 'ast_healexamxp::AHA001.xjs';
  242. /*
  243. 1. 관계 코드 변경 : R0077 ==> P0438
  244. ==> 가족할인으로 인해 변경함
  245. */
  246. var arErrorCode = new HashArray();
  247. //화면 오픈시
  248. function fInit() {
  249. if (frmf_checkOpener()) {
  250. var coophospcd = opener.frmf_getParameter("coophospcd");
  251. ds_send_search.clearData();
  252. ds_send_search.addRow();
  253. ds_main_list_hospinfo.clearData();
  254. ds_main_list_hospinfo.addRow();
  255. ds_main_list_itemlist.clearData();
  256. ds_send_search.setColumn(0, "coophospcd", coophospcd);
  257. // 공통코드 목록 가져오기
  258. var arrParam = [{ dsNm: "ds_init_cmblist_famyref_P0438", cdGrpId: "P0438" }];
  259. appf_getCodeList(arrParam, true);
  260. // 유형코드
  261. appf_getKindCodeList([{ bizId: "A0013", cdGrpId: "A0488", dsNm: "ds_init_cmblist_discflag_A0488", sortField: "cdnm", sortMehotd: "asc" }]);
  262. // 조회
  263. fSearch();
  264. } else {
  265. sysf_messageBox("상위화면이 변경되어 데이터를 전달할 수 ", "I004");
  266. }
  267. }
  268. // 조회
  269. function fSearch() {
  270. var oParam = {};
  271. oParam.id = "TRARH00801";
  272. oParam.service = "healcarecoopapp.CoopHospMngt";
  273. oParam.method = "reqGetDirOfHospFamyList";
  274. oParam.inds = "req=ds_send_search";
  275. oParam.outds = "ds_main_list_hospinfo=hospinfo ds_main_list_itemlist=itemlist";
  276. oParam.async = false;
  277. tranf_submit(oParam);
  278. }
  279. function cf_TRARH00801(sSvcId, nErrorCode, sErrorMsg) {
  280. arErrorCode.push(sSvcId, nErrorCode);
  281. }
  282. // 행추가
  283. function fGrdRowAdd() {
  284. if (ds_main_list_itemlist.rowcount <= 0) {
  285. ds_main_list_itemlist.addRow();
  286. lrow = ds_main_list_itemlist.rowcount - 1;
  287. ds_main_list_itemlist.setColumn(lrow, "coophospcd", ds_send_search.getColumn(0, "coophospcd"));
  288. ds_main_list_itemlist.setColumn(lrow, "orddiscyn", "N");
  289. ds_main_list_itemlist.setColumn(lrow, "mediexamdiscyn", "N");
  290. group2.grd_list.setCellPos(0);
  291. group2_grd_list_oncellclick(group2.grd_list, new GridClickEventInfo());
  292. }
  293. else {
  294. for (i = 0; i < ds_main_list_itemlist.rowcount; i++) {
  295. if (ds_main_list_itemlist.getColumn(i, "drnm") == "") {
  296. group2.grd_list.setCellPos(0);
  297. group2_grd_list_oncellclick(group2.grd_list, new GridClickEventInfo());
  298. return;
  299. }
  300. }
  301. ds_main_list_itemlist.addRow();
  302. lrow = ds_main_list_itemlist.rowcount - 1;
  303. ds_main_list_itemlist.setColumn(lrow, "coophospcd", ds_send_search.getColumn(0, "coophospcd"));
  304. ds_main_list_itemlist.setColumn(lrow, "orddiscyn", "N");
  305. ds_main_list_itemlist.setColumn(lrow, "mediexamdiscyn", "N");
  306. group2.grd_list.setCellPos(0);
  307. group2_grd_list_oncellclick(group2.grd_list, new GridClickEventInfo());
  308. }
  309. }
  310. // 행삭제
  311. function fGrdRowDel() {
  312. if (ds_main_list_itemlist.rowcount <= 0) return;
  313. grdf_setStatus(group2.grd_list, 'D', [ds_main_list_itemlist.rowposition]);
  314. }
  315. //저장 버튼 클릭시
  316. function fSave() {
  317. // 가족사항 그리드에서 필요없는 Row 삭제
  318. for (i = 0; i < ds_main_list_itemlist.rowcount; i++) {
  319. var rrgstno1 = utlf_transNullToEmpty(ds_main_list_itemlist.getColumn(i, "rrgstno1"));
  320. var rrgstno2 = utlf_transNullToEmpty(ds_main_list_itemlist.getColumn(i, "rrgstno2"));
  321. if (rrgstno1.length == 0 || rrgstno2.length == 0) {
  322. //grd_list.deleteItem(i);
  323. ds_main_list_itemlist.deleteRow(i);
  324. }
  325. else {
  326. //.getRowTyperowStatus(i) == "1" || grd_list.rowStatus(i) == "2" || grd_list.rowStatus(i) == "3")
  327. // 1 : insert ,- 2 : update ,- 3 : insert & new 를 의미
  328. if (ds_main_list_itemlist.getRowType(i) == Dataset.ROWTYPE_INSERT ||
  329. ds_main_list_itemlist.getRowType(i) == Dataset.ROWTYPE_UPDATE) {
  330. var rrgstno = rrgstno1.concat(rrgstno2);
  331. if (isResidentNo(rrgstno) == false) {
  332. sysf_messageBox(rrgstno + "은 유효하지 않은 주민번호입니다!", "E999", "");
  333. group2.grd_list.setCellPos(i * group2.grd_list.getFormatColCount());
  334. return;
  335. }
  336. }
  337. }
  338. }
  339. var updateData = grdf_getGridUpdateData(group2.grd_list, "all");
  340. grdf_setStatusColumn(updateData, 'status');
  341. ds_send_savedata.copyData(updateData, true);
  342. var oParam = {};
  343. oParam.id = "TXARH00801";
  344. oParam.service = "healcarecoopapp.CoopHospMngt";
  345. oParam.method = "reqExeDirOfHospFamyList";
  346. oParam.inds = "req=ds_send_savedata";
  347. oParam.outds = "";
  348. oParam.async = false;
  349. oParam.callback = "cf_TXARH00801";
  350. tranf_submit(oParam);
  351. if (arErrorCode.pop("TXARH00801") > -1) {
  352. // 처리되었습니다
  353. sysf_messageBox("저장", "I001");
  354. // for (var i = 0; i < ds_main_list_itemlist.rowcount; i++) {
  355. // ds_main_list_itemlist.setRowType(i, Dataset.ROWTYPE_NORMAL);
  356. // }
  357. fSearch();
  358. }
  359. else {
  360. sysf_messageBox("저장에", "E009");
  361. }
  362. }
  363. function cf_TXARH00801(sSvcId, nErrorCode, sErrorMsg) {
  364. arErrorCode.push(sSvcId, nErrorCode);
  365. }
  366. // 그리드 클릭시 entercell
  367. function fFamyEnterCell() {
  368. // if (ds_main_list_itemlist.getRowType(group2.grd_list.currentrow) == Dataset.ROWTYPE_INSERT)
  369. // {
  370. // group2.grd_list.setCellProperty("Body", group2.grd_list.getBindCellIndex("Body", "rrgstno1"), "edittype", "text");
  371. // group2.grd_list.setCellProperty("Body", group2.grd_list.getBindCellIndex("Body", "rrgstno2"), "edittype", "text");
  372. // }
  373. // else {
  374. // // grd_list.isReadOnly(grd_list.row, grd_list.colRef("rrgstno1")) = true;
  375. // // grd_list.isReadOnly(grd_list.row, grd_list.colRef("rrgstno2")) = true;
  376. // group2.grd_list.setCellProperty("Body", group2.grd_list.getBindCellIndex("Body", "rrgstno1"), "edittype", "readonly");
  377. // group2.grd_list.setCellProperty("Body", group2.grd_list.getBindCellIndex("Body", "rrgstno2"), "edittype", "readonly");
  378. // }
  379. // if (group2.grd_list.getCellProperty("Body", group2.grd_list.currentcell, "edittype") == "text") {
  380. // group2.grd_list.showEditor(true);
  381. // }
  382. }
  383. function SPARH00800_oninit(obj: Form, e: InitEventInfo) {
  384. frmf_initForm(obj); // 폼 초기화
  385. }
  386. function SPARH00800_onload(obj: Form, e: LoadEventInfo) {
  387. grdf_initGrid(this.group2.grd_list);
  388. grdf_setRowTypeIcon(group2.grd_list, 0);
  389. fInit();
  390. }
  391. function group2_btn_rowadd_onclick(obj: Button, e: ClickEventInfo) {
  392. fGrdRowAdd();
  393. }
  394. function group2_btn_rowdel_onclick(obj: Button, e: ClickEventInfo) {
  395. fGrdRowDel();
  396. }
  397. function group2_grd_list_oncellclick(obj: Grid, e: GridClickEventInfo) {
  398. fFamyEnterCell();
  399. }
  400. function group5_btn_save_onclick(obj: Button, e: ClickEventInfo) {
  401. fSave();
  402. }
  403. function group5_bt_cncl_onclick(obj: Button, e: ClickEventInfo) {
  404. close();
  405. }
  406. ]]></Script>
  407. </Form>
  408. </FDL>