SMAHA03600_청구방법별 부담율.xfdl 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMAHA03600" position="absolute 0 0 1196 723" titletext="부서별 기준량 등록" oninit="SMAHA03600_oninit" onload="SMAHA03600_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption6" text="청구방법별 부담율" class="tit_1" position="absolute 0 0 186 25"/>
  8. <Div id="grp_sea" anchor="left top right" taborder="1" class="div_SA" position="absolute 0 25 1195 65">
  9. <Layouts>
  10. <Layout>
  11. <Button id="btn_search" taborder="1" text="조회" class="btn1" position="absolute 1130 10 1186 32" anchor="top right" onclick="grp_sea_btn_search_onclick"/>
  12. <Edit id="ipt_srchunconm" taborder="2" class="input_fix" position="absolute 420 11 555 30" autoselect="true" autoskip="true" onkeyup="grp_sea_ipt_srchunconm_onkeyup"/>
  13. <Static id="caption7" text="청구방법코드 :" class="search_name" position="absolute 10 11 122 28"/>
  14. <Shape id="line3" linetype="vertical" class="line_4" position="absolute 1112 9 1118 33" anchor="top right"/>
  15. <Static id="caption1" text="청구방법명칭 :" class="search_name" position="absolute 305 12 417 29"/>
  16. <Edit id="ipt_srchuncocd" taborder="3" class="input_fix" position="absolute 125 11 260 30" autoselect="true" autoskip="true" onkeyup="grp_sea_ipt_srchuncocd_onkeyup"/>
  17. <CheckBox id="checkbox1" taborder="4" position="absolute 685 10 746 30" text="포함" truevalue="Y" onclick="grp_sea_checkbox1_onclick"/>
  18. <Static id="caption2" text="삭제포함 :" class="search_name" position="absolute 595 12 685 29"/>
  19. </Layout>
  20. </Layouts>
  21. </Div>
  22. <Shape id="line1" class="line_10" position="absolute 0 89 1195 95" anchor="left top right"/>
  23. <Static id="cap_titlist" text="청구방법별 부담율" class="tit_2" position="absolute 0 73 190 95"/>
  24. <Button id="btn_grdadd" taborder="2" text="행추가" class="btn2" position="absolute 1087 67 1140 89" onclick="btn_grdadd_onclick" anchor="top right"/>
  25. <Button id="btn_grddel" taborder="3" text="행삭제" class="btn2" position="absolute 1142 67 1195 89" onclick="btn_grddel_onclick" anchor="top right"/>
  26. <Grid id="grd_ahbmuncolist" taborder="4" binddataset="ds_main_ahbmuncoinfo_item" useinputpanel="false" cellsizingtype="col" autofittype="col" position="absolute 0 94 1195 692" anchor="all" selecttype="multirow">
  27. <Formats>
  28. <Format id="default">
  29. <Columns>
  30. <Column size="24"/>
  31. <Column size="100"/>
  32. <Column size="120"/>
  33. <Column size="0"/>
  34. <Column size="250"/>
  35. <Column size="120"/>
  36. <Column size="100"/>
  37. <Column size="100"/>
  38. <Column size="118"/>
  39. <Column size="100"/>
  40. </Columns>
  41. <Rows>
  42. <Row size="24" band="head"/>
  43. <Row size="24"/>
  44. </Rows>
  45. <Band id="head">
  46. <Cell/>
  47. <Cell col="1" text="청구방법코드"/>
  48. <Cell col="2" text="종료일자"/>
  49. <Cell col="3" text="기관코드"/>
  50. <Cell col="4" text="청구방법명칭"/>
  51. <Cell col="5" text="적용일자"/>
  52. <Cell col="6" text="계약처부담율"/>
  53. <Cell col="7" text="공단부담율"/>
  54. <Cell col="8" text="보건소(국고)부담율"/>
  55. <Cell col="9" text="개인부담율"/>
  56. </Band>
  57. <Band id="body">
  58. <Cell celltype="head"/>
  59. <Cell col="1" displaytype="text" edittype="text" text="bind:uncocd"/>
  60. <Cell col="2" displaytype="date" edittype="date" text="bind:todd" calendardisplaynulltype="nulltext"/>
  61. <Cell col="3" text="bind:instcd"/>
  62. <Cell col="4" displaytype="text" edittype="text" text="bind:unconm"/>
  63. <Cell col="5" displaytype="date" edittype="date" text="bind:fromdd" calendardisplaynulltype="nulltext"/>
  64. <Cell col="6" displaytype="number" edittype="text" text="bind:cmpyrate" editautoselect="true"/>
  65. <Cell col="7" displaytype="number" edittype="text" text="bind:insurate" editautoselect="true"/>
  66. <Cell col="8" displaytype="number" edittype="text" text="bind:cntrrate" editautoselect="true"/>
  67. <Cell col="9" displaytype="number" edittype="text" text="bind:ownrate" editautoselect="true"/>
  68. </Band>
  69. </Format>
  70. </Formats>
  71. </Grid>
  72. <Button id="btn_save" taborder="5" text="저장" class="btn4" position="absolute 1065 696 1121 718" anchor="right bottom" onclick="btn_save_onclick"/>
  73. <Button id="btn_clear" taborder="6" text="초기화" class="btn4" position="absolute 1122 696 1190 718" anchor="right bottom" onclick="btn_clear_onclick"/>
  74. </Layout>
  75. </Layouts>
  76. <Objects>
  77. <Dataset id="ds_send_srch" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  78. <ColumnInfo>
  79. <Column id="srchuncocd" type="STRING" size="256"/>
  80. <Column id="srchunconm" type="STRING" size="256"/>
  81. <Column id="srchuncostat" type="STRING" size="256"/>
  82. </ColumnInfo>
  83. <Rows>
  84. <Row>
  85. <Col id="srchuncocd"/>
  86. <Col id="srchunconm"/>
  87. <Col id="srchuncostat">Y</Col>
  88. </Row>
  89. </Rows>
  90. </Dataset>
  91. <Dataset id="ds_main_ahbmuncoinfo_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  92. <ColumnInfo>
  93. <Column id="uncocd" type="STRING" size="256" sumtext="청구방법코드"/>
  94. <Column id="todd" type="STRING" size="256" sumtext="종료일자"/>
  95. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  96. <Column id="unconm" type="STRING" size="256" sumtext="청구방법명칭"/>
  97. <Column id="fromdd" type="STRING" size="256" sumtext="적용일자"/>
  98. <Column id="cmpyrate" type="INT" size="256" sumtext="계약처부담율"/>
  99. <Column id="insurate" type="INT" size="256" sumtext="공단부담율"/>
  100. <Column id="cntrrate" type="INT" size="256" sumtext="보건소부담율"/>
  101. <Column id="ownrate" type="INT" size="256" sumtext="개인부담율"/>
  102. </ColumnInfo>
  103. </Dataset>
  104. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  105. <ColumnInfo>
  106. <Column id="srchtodd" type="STRING" size="256"/>
  107. </ColumnInfo>
  108. <Rows>
  109. <Row/>
  110. </Rows>
  111. </Dataset>
  112. <Dataset id="ds_send_save" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  113. </Objects>
  114. <Bind>
  115. <BindItem id="item0" compid="grp_sea.ipt_srchuncocd" propid="value" datasetid="ds_send_srch" columnid="srchuncocd"/>
  116. <BindItem id="item1" compid="grp_sea.ipt_srchunconm" propid="value" datasetid="ds_send_srch" columnid="srchunconm"/>
  117. <BindItem id="item2" compid="grp_sea.checkbox1" propid="value" datasetid="ds_send_srch" columnid="srchuncostat"/>
  118. </Bind>
  119. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  120. * System Name :
  121. * Job Name :
  122. * Creator :
  123. * Make Date : 2015-11-13
  124. * Description :
  125. *---------------------------------------------------------------------------------------
  126. * Modify Date Modifier Modify Description
  127. *---------------------------------------------------------------------------------------
  128. * 2015-11-13 Live Converter TF->XP
  129. *
  130. *---------------------------------------------------------------------------------------
  131. ****************************************************************************************/
  132. include "com_commonxp::comm_main.xjs";
  133. function SMAHA03600_oninit(obj:Form, e:InitEventInfo)
  134. {
  135. frmf_initForm(obj);
  136. }
  137. function SMAHA03600_onload(obj:Form, e:LoadEventInfo)
  138. {
  139. grdf_initGrid(grd_ahbmuncolist);
  140. grdf_setRowTypeIcon(grd_ahbmuncolist, 0);
  141. fInitialize();
  142. fGetUncocd();
  143. }
  144. function fInitialize()
  145. {
  146. ds_main_ahbmuncoinfo_item.clearData();
  147. ds_send.clearData();
  148. ds_send.addRow();
  149. fGetUncocd();
  150. }
  151. function fGetUncocd()
  152. {
  153. var oParam = {};
  154. oParam.id = "TRAHA03601";
  155. oParam.service = "healthexambaseapp.ComCode";
  156. oParam.method = "reqGetAhbmuncolist";
  157. oParam.inds = "req=ds_send_srch";
  158. oParam.outds = "ds_main_ahbmuncoinfo_item=item";
  159. oParam.async = false;
  160. //oParam.callback = "cf_TRAHA03601";
  161. tranf_submit(oParam);
  162. }
  163. function grp_sea_ipt_srchuncocd_onkeyup(obj:Edit, e:KeyEventInfo)
  164. {
  165. if(e.keycode == 13)
  166. {
  167. obj.updateToDataset();
  168. grp_sea.btn_search.click();
  169. }
  170. }
  171. function grp_sea_ipt_srchunconm_onkeyup(obj:Edit, e:KeyEventInfo)
  172. {
  173. if(e.keycode == 13)
  174. {
  175. obj.updateToDataset();
  176. grp_sea.btn_search.click();
  177. }
  178. }
  179. function grp_sea_checkbox1_onclick(obj:CheckBox, e:ClickEventInfo)
  180. {
  181. if(obj.value == "Y")
  182. {
  183. }
  184. else
  185. {
  186. ds_send_srch.setColumn(0, "srchuncostat", "");
  187. }
  188. }
  189. function btn_grdadd_onclick(obj:Button, e:ClickEventInfo)
  190. {
  191. var addRow = ds_main_ahbmuncoinfo_item.addRow();
  192. var cur_date = utlf_getCurrentDate();
  193. ds_main_ahbmuncoinfo_item.setColumn(addRow, "fromdd", cur_date);
  194. ds_main_ahbmuncoinfo_item.setColumn(addRow, "todd", "29991231");
  195. ds_main_ahbmuncoinfo_item.setColumn(addRow, "cmpyrate", "0");
  196. ds_main_ahbmuncoinfo_item.setColumn(addRow, "insurate", "0");
  197. ds_main_ahbmuncoinfo_item.setColumn(addRow, "cntrrate", "0");
  198. ds_main_ahbmuncoinfo_item.setColumn(addRow, "ownrate", "0");
  199. }
  200. function btn_grddel_onclick(obj:Button, e:ClickEventInfo)
  201. {
  202. var rows = grdf_getSelectedRows(grd_ahbmuncolist);
  203. for(var i = rows.length-1; i >= 0; i--)
  204. {
  205. var m_row = rows[i];
  206. if(ds_main_ahbmuncoinfo_item.getRowType(m_row) == 2)
  207. {
  208. ds_main_ahbmuncoinfo_item.deleteRow(m_row);
  209. }
  210. else
  211. {
  212. ds_main_ahbmuncoinfo_item.updatecontrol = false;
  213. ds_main_ahbmuncoinfo_item.setRowType(m_row, "d");
  214. ds_main_ahbmuncoinfo_item.updatecontrol = true;
  215. }
  216. }
  217. }
  218. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  219. {
  220. if (fDatacheck() == false)
  221. {
  222. return;
  223. }
  224. fSaveUncocd();
  225. }
  226. function fDatacheck()
  227. {
  228. var rsv_cnt = ds_main_ahbmuncoinfo_item.rowcount;
  229. var sNode = ds_main_ahbmuncoinfo_item
  230. var scdid1 = "";
  231. var scdid2 = "";
  232. for(var i = 0; i < rsv_cnt ; i++)
  233. {
  234. if(ds_main_ahbmuncoinfo_item.getRowType(i) == Dataset.ROWTYPE_NORMAL || ds_main_ahbmuncoinfo_item.getRowType(i) == Dataset.ROWTYPE_DELETE) continue;
  235. if(utlf_isNull(sNode.getColumn(i, "uncocd")))
  236. {
  237. alert("청구방법코드의 값이 비어있습니다.");
  238. return false;
  239. }
  240. if(utlf_isNull(sNode.getColumn(i, "todd")))
  241. {
  242. alert("종료일자의 값이 비어있습니다.");
  243. return false;
  244. }
  245. if(utlf_isNull(sNode.getColumn(i, "unconm")))
  246. {
  247. alert("청구방법명칭의 값이 비어있습니다.");
  248. return false;
  249. }
  250. if(utlf_isNull(sNode.getColumn(i, "fromdd")))
  251. {
  252. alert("적용일자의 값이 비어있습니다.");
  253. return false;
  254. }
  255. if(utlf_isNull(sNode.getColumn(i, "cmpyrate")))
  256. {
  257. alert("계약처부담율의 값이 비어있습니다.");
  258. return false;
  259. }
  260. if(utlf_isNull(sNode.getColumn(i, "insurate")))
  261. {
  262. alert("공단부담율의 값이 비어있습니다.");
  263. return false;
  264. }
  265. if(utlf_isNull(sNode.getColumn(i, "cntrrate")))
  266. {
  267. alert("보건소부담율의 값이 비어있습니다.");
  268. return false;
  269. }
  270. if(utlf_isNull(sNode.getColumn(i, "ownrate")))
  271. {
  272. alert("개인부담율의 값이 비어있습니다.");
  273. return false;
  274. }
  275. if(eval(sNode.getColumn(i, "cmpyrate")) > 100)
  276. {
  277. alert("부담율 값이 100위로 올라갈수 없습니다.");
  278. return false;
  279. }
  280. if(eval(sNode.getColumn(i, "insurate")) > 100)
  281. {
  282. alert("부담율 값이 100위로 올라갈수 없습니다.");
  283. return false;
  284. }
  285. if( eval(sNode.getColumn(i, "cntrrate" )) > 100)
  286. {
  287. alert("부담율 값이 100위로 올라갈수 없습니다.");
  288. return false;
  289. }
  290. if( eval(sNode.getColumn(i, "ownrate" )) > 100)
  291. {
  292. alert("부담율 값이 100위로 올라갈수 없습니다.");
  293. return false;
  294. }
  295. if( eval(sNode.getColumn(i, "cmpyrate"))+eval(sNode.getColumn(i, "insurate"))
  296. +eval(sNode.getColumn(i, "cntrrate"))+eval(sNode.getColumn(i, "ownrate" )) > 100)
  297. {
  298. alert("부담율 값의 합이 100위로 올라갈수 없습니다.");
  299. return false;
  300. }
  301. scdid1 = ds_main_ahbmuncoinfo_item.getColumn(i, "uncocd");
  302. var k = i + 1;
  303. for (var j = k; j < ds_main_ahbmuncoinfo_item.rowcount; j++)
  304. {
  305. scdid2 = ds_main_ahbmuncoinfo_item.getColumn(j, "uncocd");
  306. if (i != j)
  307. {
  308. if (scdid1 == scdid2)
  309. {
  310. sysf_messageBox(parseInt(j+1) + "번째에서 중복된 자료가 존재합니다", "E999", "");
  311. return false;
  312. }
  313. }
  314. }
  315. }
  316. return true;
  317. }
  318. function fSaveUncocd()
  319. {
  320. if( sysf_messageBox("조합코드정보를","Q002") == 6)
  321. {
  322. var updategrid = grdf_getGridUpdateData(grd_ahbmuncolist);
  323. grdf_setStatusColumn(updategrid, "m");
  324. ds_send_save.copyData(updategrid, true);
  325. var oParam = {};
  326. oParam.id = "TXAHA03601";
  327. oParam.service = "healthexambaseapp.ComCode";
  328. oParam.method = "reqExeAhbmuncolist";
  329. oParam.inds = "req=ds_send_save";
  330. oParam.outds = "ds_=item";
  331. oParam.async = false;
  332. oParam.callback = "cf_TXAHA03601";
  333. tranf_submit(oParam);
  334. }
  335. }
  336. function cf_TXAHA03601(sSvcId, nErrorCode, sErrorMsg)
  337. {
  338. if(nErrorCode < 0) return;
  339. else
  340. {
  341. fGetUncocd();
  342. }
  343. }
  344. function btn_clear_onclick(obj:Button, e:ClickEventInfo)
  345. {
  346. var updtdata = grdf_getGridUpdateData(grd_ahbmuncolist).rowcount;
  347. if (updtdata != 0)
  348. {
  349. var ret = sysf_messageBox("그리드에 작업 중인 내용이 있습니다. 초기화 작업을","Q003");
  350. if (ret != 6)
  351. {
  352. return;
  353. }
  354. }
  355. fInitialize();
  356. }
  357. function grp_sea_btn_search_onclick(obj:Button, e:ClickEventInfo)
  358. {
  359. fGetUncocd();
  360. }
  361. ]]></Script>
  362. </Form>
  363. </FDL>