SPAHB00300_수가코드선택.xfdl 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPAHB00300" position="absolute 0 0 518 543" titletext="수가코드선택" onload="SPAHB00300_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 0 518 515" id="group3" scrollbars="autoboth">
  8. <Layouts>
  9. <Layout>
  10. <Grid position="absolute 0 45 517 515" id="grd_ocdlst" binddataset="ds_main_ocdlst_item" cellclickbound="cell" oncelldblclick="group3_grd_ocdlst_oncelldblclick">
  11. <Formats>
  12. <Format id="default">
  13. <Columns>
  14. <Column size="25" band="left"/>
  15. <Column size="33" band="left"/>
  16. <Column size="71"/>
  17. <Column size="75"/>
  18. <Column size="178"/>
  19. <Column size="130"/>
  20. <Column size="83"/>
  21. <Column size="147"/>
  22. <Column size="100"/>
  23. </Columns>
  24. <Rows>
  25. <Row size="24" band="head"/>
  26. <Row size="24"/>
  27. </Rows>
  28. <Band id="head">
  29. <Cell/>
  30. <Cell col="1" text="선택"/>
  31. <Cell col="2" text="처방코드"/>
  32. <Cell col="3" text="시작일자"/>
  33. <Cell col="4" text="처방명"/>
  34. <Cell col="5" text="보험단가(종별가산)"/>
  35. <Cell col="6" text="구코드"/>
  36. <Cell col="7" text="한글명"/>
  37. <Cell col="8" text="영문명"/>
  38. </Band>
  39. <Band id="body">
  40. <Cell celltype="head" text="expr:currow+1"/>
  41. <Cell col="1" displaytype="checkbox" edittype="checkbox" text="bind:sel" expr="expr:(sel==&quot;Y&quot;||sel==1)?1:0"/>
  42. <Cell col="2" displaytype="text" text="bind:calcscorcd"/>
  43. <Cell col="3" displaytype="date" text="bind:fromdd"/>
  44. <Cell col="4" displaytype="text" text="bind:ordnm"/>
  45. <Cell col="5" displaytype="number" edittype="masknumber" text="bind:scoreamt"/>
  46. <Cell col="6" displaytype="text" text="bind:oldordcd"/>
  47. <Cell col="7" displaytype="text" text="bind:hngnm"/>
  48. <Cell col="8" displaytype="text" text="bind:engnm"/>
  49. </Band>
  50. </Format>
  51. </Formats>
  52. </Grid>
  53. <Div position="absolute 0 0 517 40" align="align:center top;" id="group2" class="div_SA2">
  54. <Layouts>
  55. <Layout>
  56. <Static text="검색조건 :" position="absolute 16 12 102 29" id="caption2" class="search_name"/>
  57. <Button position="absolute 445 10 501 32" id="btn_search" class="btn1" text="조회" onclick="group3_group2_btn_search_onclick"/>
  58. <Shape position="absolute 426 10 432 31" linetype="vertical" id="line13"/>
  59. <Combo position="absolute 105 11 185 30" id="cmb_srchcond2" class="combo_search" codecolumn="codecolumn" datacolumn="datacolumn" onitemchanged="group3_group2_cmb_srchcond2_onitemchanged">
  60. <Dataset id="innerdataset">
  61. <ColumnInfo>
  62. <Column id="codecolumn"/>
  63. <Column id="datacolumn"/>
  64. </ColumnInfo>
  65. <Rows>
  66. <Row>
  67. <Col id="codecolumn">cd</Col>
  68. <Col id="datacolumn">코드</Col>
  69. </Row>
  70. <Row>
  71. <Col id="codecolumn">old</Col>
  72. <Col id="datacolumn">구코드</Col>
  73. </Row>
  74. <Row>
  75. <Col id="codecolumn">ordnm</Col>
  76. <Col id="datacolumn">처방명</Col>
  77. </Row>
  78. <Row>
  79. <Col id="codecolumn">hngnm</Col>
  80. <Col id="datacolumn">한글명</Col>
  81. </Row>
  82. <Row>
  83. <Col id="codecolumn">engnm</Col>
  84. <Col id="datacolumn">영문명</Col>
  85. </Row>
  86. </Rows>
  87. </Dataset>
  88. </Combo>
  89. <Edit position="absolute 188 11 415 30" id="ipt_cdnm" class="input_search" onkeyup="group3_group2_ipt_cdnm_onkeyup"/>
  90. </Layout>
  91. </Layouts>
  92. </Div>
  93. <Shape position="absolute 0 40 517 46" id="line1" class="line_10"/>
  94. </Layout>
  95. </Layouts>
  96. </Div>
  97. <Div position="absolute 0 515 517 543" id="group4" scrollbars="autoboth">
  98. <Layouts>
  99. <Layout>
  100. <Button position="absolute 461 3 517 25" id="button9" class="btn4" text="취소" anchor="default" onclick="group4_button9_onclick"/>
  101. <Button position="absolute 402 3 458 25" id="button4" class="btn4" text="확인" anchor="default" onclick="group4_button4_onclick"/>
  102. </Layout>
  103. </Layouts>
  104. </Div>
  105. </Layout>
  106. </Layouts>
  107. <Objects>
  108. <Dataset id="ds_main_ocdlst_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep" oncolumnchanged="ds_main_ocdlst_item_oncolumnchanged">
  109. <ColumnInfo>
  110. <Column id="sel" type="STRING" size="256"/>
  111. <Column id="calcscorcd" type="STRING" size="256"/>
  112. <Column id="ordnm" type="STRING" size="256"/>
  113. <Column id="hngnm" type="STRING" size="256"/>
  114. <Column id="engnm" type="STRING" size="256"/>
  115. <Column id="scoreamt" type="STRING" size="256"/>
  116. <Column id="fromdd" type="STRING" size="256"/>
  117. </ColumnInfo>
  118. <Rows>
  119. <Row>
  120. <Col id="sel"/>
  121. <Col id="calcscorcd"/>
  122. <Col id="ordnm"/>
  123. <Col id="hngnm"/>
  124. <Col id="engnm"/>
  125. <Col id="scoreamt"/>
  126. <Col id="fromdd"/>
  127. </Row>
  128. </Rows>
  129. </Dataset>
  130. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  131. <ColumnInfo>
  132. <Column id="srchcdnm" type="STRING" size="256"/>
  133. <Column id="srchcond" type="STRING" size="256"/>
  134. </ColumnInfo>
  135. <Rows>
  136. <Row>
  137. <Col id="srchcdnm"/>
  138. <Col id="srchcond">cd</Col>
  139. </Row>
  140. </Rows>
  141. </Dataset>
  142. <Dataset id="ds_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  143. <ColumnInfo>
  144. <Column id="temp" type="STRING" size="256"/>
  145. </ColumnInfo>
  146. </Dataset>
  147. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  148. <ColumnInfo>
  149. <Column id="hidden" type="STRING" size="256"/>
  150. </ColumnInfo>
  151. <Rows>
  152. <Row>
  153. <Col id="hidden"/>
  154. </Row>
  155. </Rows>
  156. </Dataset>
  157. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  158. <ColumnInfo>
  159. <Column id="init" type="STRING" size="256"/>
  160. </ColumnInfo>
  161. <Rows>
  162. <Row>
  163. <Col id="init"/>
  164. </Row>
  165. </Rows>
  166. </Dataset>
  167. </Objects>
  168. <Bind>
  169. <BindItem id="item0" compid="group3.group2.cmb_srchcond2" propid="value" datasetid="ds_send" columnid="srchcond"/>
  170. <BindItem id="item1" compid="group3.group2.ipt_cdnm" propid="value" datasetid="ds_send" columnid="srchcdnm"/>
  171. </Bind>
  172. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  173. * System Name :
  174. * Job Name :
  175. * Creator :
  176. * Make Date : 2017-12-04
  177. * Description :
  178. *---------------------------------------------------------------------------------------
  179. * Modify Date Modifier Modify Description
  180. *---------------------------------------------------------------------------------------
  181. * 2017-06-19 Live Converter TF->XP
  182. *
  183. *---------------------------------------------------------------------------------------
  184. ****************************************************************************************/
  185. //=======================================================================================
  186. // Lib Include
  187. //---------------------------------------------------------------------------------------
  188. include "com_commonxp::comm_main.xjs";
  189. //=======================================================================================
  190. // Global Form Variable
  191. //---------------------------------------------------------------------------------------
  192. var arErrorCode = new HashArray();
  193. /*
  194. * SPAHB00300_PARAM1 : 검색구분(cd/nm)
  195. * SPAHB00300_PARAM2 : 검색조건(코드/명칭)
  196. * SPAHB00300_PARAM3 : multiyn
  197. * SPAHB00300_PARAM4 : multi선택 시 setting할 목적 데이터셋
  198. * SPAHB00300_PARAM5 : code값을 setting할 컬럼명
  199. * SPAHB00300_PARAM6 : name값을 setting할 컬럼명
  200. * SPAHB00300_PARAM7 : 수가를 setting할 컬럼명
  201. * SPAHB00300_PARAM8 : 값을 세팅할 데이터셋 명
  202. * SPAHB00300_PARAM9 : 값을 세팅할 rowindex
  203. */
  204. var vMultiYn = "";
  205. //=======================================================================================
  206. // Function
  207. //---------------------------------------------------------------------------------------
  208. /*-**************************************************************************************
  209. * Argument : N/A
  210. * Description : 초기화
  211. ****************************************************************************************/
  212. function fInit(){
  213. objects[group3.grd_ocdlst.binddataset].clearData();
  214. if( frmf_checkOpener() ){
  215. opener.dsf_createDsRow("ds_temp", [{col:"okflag", type:"STRING", size:256, val:""}]);
  216. dsf_makeValue( ds_send, "srchcond", "string", opener.frmf_getParameter("SPAHB00300_PARAM1"));
  217. dsf_makeValue( ds_send, "srchcdnm", "string", opener.frmf_getParameter("SPAHB00300_PARAM2"));
  218. vMultiYn = opener.frmf_getParameter("SPAHB00300_PARAM3");
  219. if( vMultiYn == "N" ) {
  220. group3.grd_ocdlst.setFormatColProperty( 1, "size", 0);
  221. }
  222. if(!utlf_isNull(ds_send.getColumn(0, "srchcdnm"))) {
  223. fGetCalcScorCdList();
  224. }
  225. }
  226. group3.group2.ipt_cdnm.setFocus();
  227. }
  228. /*-**************************************************************************************
  229. * Argument : N/A
  230. * Description : 수가코드내역조회
  231. ****************************************************************************************/
  232. function fGetCalcScorCdList(){
  233. if( String(group3.group2.ipt_cdnm.value).length < 2 || utlf_isNull(group3.group2.ipt_cdnm.value)){
  234. sysf_messageBox("검색어를 두자이상 " , "C001");
  235. group3.group2.ipt_cdnm.setFocus();
  236. return ;
  237. }
  238. var oParam = {};
  239. oParam.id = "TRAHB00104";
  240. oParam.service = "healexambaseapp.ComCode";
  241. oParam.method = "reqGetCalcScorCodeList";
  242. oParam.inds = "req=ds_send";
  243. oParam.outds = "ds_main_ocdlst_item=item";
  244. oParam.async = false;
  245. oParam.callback = "cf_TRAHB00104";
  246. tranf_submit(oParam);
  247. }
  248. function cf_TRAHB00104(sSvcId, nErrorCode, sErrorMsg) {
  249. if(nErrorCode < 0) return;
  250. ds_main_ocdlst_item.updatecontrol = false;
  251. dsf_setFixVal(ds_main_ocdlst_item, "sel:N");
  252. ds_main_ocdlst_item.updatecontrol = true;
  253. }
  254. /*-**************************************************************************************
  255. * Argument : N/A
  256. * Description : opener id에 따른 분화
  257. ****************************************************************************************/
  258. function fSetData(){
  259. if( frmf_checkOpener() ){
  260. var sMultiDestXPath = opener.frmf_getParameter("SPAHB00300_PARAM4");
  261. var sDestXPathCd = opener.frmf_getParameter("SPAHB00300_PARAM5");
  262. var sDestXPathNm = opener.frmf_getParameter("SPAHB00300_PARAM6");
  263. var sDestXPathAmt = opener.frmf_getParameter("SPAHB00300_PARAM7");
  264. var sDestXpath = opener.frmf_getParameter("SPAHB00300_PARAM8");
  265. var aDestRow = opener.frmf_getParameter("SPAHB00300_PARAM9");
  266. var idx = 0 ;
  267. if( vMultiYn == "N" ){
  268. idx = group3.grd_ocdlst.currentrow;
  269. if( idx < 0) return -1;
  270. opener.objects[sDestXpath].setColumn(aDestRow, sDestXPathCd, ds_main_ocdlst_item.getColumn(idx, "calcscorcd"));
  271. opener.objects[sDestXpath].setColumn(aDestRow, sDestXPathNm, ds_main_ocdlst_item.getColumn(idx, "ordnm"));
  272. opener.objects[sDestXpath].setColumn(aDestRow, sDestXPathAmt, ds_main_ocdlst_item.getColumn(idx, "scoreamt"));
  273. } else if( vMultiYn == "U" ){
  274. idx = group3.grd_ocdlst.currentrow;
  275. opener.dsf_createDsRow("ds_tmp_sel", [{col:"testnm", type:"STRING", size:256, val:ds_main_ocdlst_item.getColumn(idx, "ordnm")}
  276. ,{col:"testcd", type:"STRING", size:256, val:ds_main_ocdlst_item.getColumn(idx, "calcscorcd")}]);
  277. } else {
  278. //var nodeList = instance1.selectNodes(group3.grd_ocdlst.nodeset + "[sel='Y']");
  279. ds_main_ocdlst_item.filter("sel=='Y'");
  280. if( ds_main_ocdlst_item.rowcount > 0) {
  281. if( opener.objects[sMultiDestXPath] == null ){
  282. opener.dsf_createDs(sMultiDestXPath);
  283. }
  284. opener.objects[sMultiDestXPath].copyData(ds_main_ocdlst_item, true);
  285. ds_main_ocdlst_item.filter("");
  286. } else {
  287. ds_main_ocdlst_item.filter("");
  288. return -1;
  289. }
  290. }
  291. opener.ds_temp.setColumn( 0, "okflag", "ok");
  292. return 1;
  293. }
  294. }
  295. //=======================================================================================
  296. // Event
  297. //---------------------------------------------------------------------------------------
  298. /****************************************************************************************
  299. * Components : Form
  300. * Description : 화면 처음 초기화시 폼초기화
  301. ****************************************************************************************/
  302. function SPAHB00300_onload(obj:Form, e:LoadEventInfo) {
  303. frmf_initForm(obj);
  304. //grdf_initGrid(grd_XXX);
  305. grdf_setGridSort(group3.grd_ocdlst);
  306. //grdf_setRowTypeIcon(grd_XXX, 0_컬럼위치값);
  307. fInit();
  308. }
  309. /****************************************************************************************
  310. * Components : Grid
  311. * Description : 수가전송코드 선택
  312. ****************************************************************************************/
  313. function group3_grd_ocdlst_oncelldblclick(obj:Grid, e:GridClickEventInfo) {
  314. if( fSetData() == 1){
  315. this.close();
  316. }
  317. }
  318. /****************************************************************************************
  319. * Components : Button
  320. * Description : 조회
  321. ****************************************************************************************/
  322. function group3_group2_btn_search_onclick(obj:Button, e:ClickEventInfo) {
  323. fGetCalcScorCdList();
  324. }
  325. /****************************************************************************************
  326. * Components : Edit
  327. * Description : 검색조건 입력 후 조회
  328. ****************************************************************************************/
  329. function group3_group2_ipt_cdnm_onkeyup(obj:Edit, e:KeyEventInfo) {
  330. if(e.keycode == 13) {
  331. obj.updateToDataset();
  332. group3.group2.btn_search.click();
  333. }
  334. }
  335. /****************************************************************************************
  336. * Components : Button
  337. * Description : 취소
  338. ****************************************************************************************/
  339. function group4_button9_onclick(obj:Button, e:ClickEventInfo) {
  340. if( frmf_checkOpener() ){
  341. opener.ds_temp.setColumn( 0, "okflag", "");
  342. this.close();
  343. }
  344. }
  345. /****************************************************************************************
  346. * Components : Button
  347. * Description : 확인
  348. ****************************************************************************************/
  349. function group4_button4_onclick(obj:Button, e:ClickEventInfo) {
  350. if( fSetData() == 1){
  351. this.close();
  352. }
  353. }
  354. function ds_main_ocdlst_item_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  355. {
  356. if(e.columnid=="sel") {
  357. obj.setColumn(e.row,e.columnid,(e.newvalue=="Y"||e.newvalue==1)?"Y":"N");
  358. }
  359. }
  360. /****************************************************************************************
  361. * Components : Combo
  362. * Description : 검색조건
  363. ****************************************************************************************/
  364. function group3_group2_cmb_srchcond2_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  365. {
  366. group3.group2.ipt_cdnm.setFocus();
  367. }
  368. ]]></Script>
  369. </Form>
  370. </FDL>