SMMMB01900_PRN가능처방관리.xfdl 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMMMB01900" position="absolute 0 0 1201 787" titletext="PRN가능처방관리" oninit="SMMMB01900_oninit" onload="SMMMB01900_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div id="grp_sea" taborder="10" position="absolute 0 24 1195 64" class="div_SA" anchor="left top right">
  8. <Layouts>
  9. <Layout>
  10. <Static id="caption2" text="검색조건 :" class="search_name" position="absolute 12 12 117 29"/>
  11. <Combo id="cmb_srchcond" taborder="1" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 112 11 292 30" onitemchanged="grp_sea_cmb_srchcond_onitemchanged">
  12. <Dataset id="innerdataset">
  13. <ColumnInfo>
  14. <Column id="codecolumn"/>
  15. <Column id="datacolumn"/>
  16. </ColumnInfo>
  17. <Rows>
  18. <Row>
  19. <Col id="codecolumn">CD</Col>
  20. <Col id="datacolumn">처방코드</Col>
  21. </Row>
  22. <Row>
  23. <Col id="codecolumn">NM</Col>
  24. <Col id="datacolumn">처방명</Col>
  25. </Row>
  26. <Row>
  27. <Col id="codecolumn">CLS</Col>
  28. <Col id="datacolumn">처방분류</Col>
  29. </Row>
  30. <Row>
  31. <Col id="codecolumn">REQ</Col>
  32. <Col id="datacolumn">등록자료조회(전체)</Col>
  33. </Row>
  34. <Row>
  35. <Col id="codecolumn">REQCD</Col>
  36. <Col id="datacolumn">등록자료조회(처방코드)</Col>
  37. </Row>
  38. <Row>
  39. <Col id="codecolumn">REQNM</Col>
  40. <Col id="datacolumn">등록자료조회(처방명)</Col>
  41. </Row>
  42. <Row>
  43. <Col id="codecolumn">REQCLS</Col>
  44. <Col id="datacolumn">등록자료조회(처방분류)</Col>
  45. </Row>
  46. </Rows>
  47. </Dataset>
  48. </Combo>
  49. <Edit id="ipt_prcpcd" taborder="2" class="input_search" position="absolute 302 11 452 30"/>
  50. <Edit id="ipt_prcpnm" taborder="3" class="input_search" position="absolute 302 11 502 30" onkeyup="grp_sea_ipt_prcpnm_onkeyup" tooltiptext="처방명을 2자리이상 입력하세요." tooltiptype="hover,mouseleave"/>
  51. <Button id="btn_req" taborder="4" text="조회" class="btn1" position="absolute 1114 10 1170 32" anchor="top right" onclick="grp_sea_btn_req_onclick"/>
  52. <Combo id="cmb_earncls1" taborder="5" innerdataset="@ds_main_earncls1info_earncls1list" codecolumn="earncls1" datacolumn="earncls1nm" position="absolute 302 11 432 30" onitemchanged="grp_sea_cmb_earncls1_onitemchanged"/>
  53. <Combo id="cmb_earncls2" taborder="6" innerdataset="@ds_main_earncls2info_earncls2list" codecolumn="earncls2" datacolumn="earncls2nm" position="absolute 437 11 567 30" onitemchanged="grp_sea_cmb_earncls2_onitemchanged"/>
  54. <Combo id="cmb_earncls3" taborder="7" innerdataset="@ds_main_earncls3info_earncls3list" codecolumn="earncls3" datacolumn="earncls3nm" position="absolute 572 11 702 30"/>
  55. <Shape id="line3" linetype="vertical" position="absolute 1099 5 1105 35" anchor="top right"/>
  56. </Layout>
  57. </Layouts>
  58. </Div>
  59. <Static text="처방내역리스트" position="absolute 0 74 147 95" id="caption25" class="tit_2"/>
  60. <Shape position="absolute 0 90 1195 96" linetype="horizontal" id="line1" class="line_10" anchor="left top right"/>
  61. <Grid position="absolute 0 95 1195 782" id="grd_ordliblist" taborder="6" binddataset="ds_main_ordlibinfo_ordliblist" autoenter="select" cellsizingtype="col" anchor="all" selecttype="multirow">
  62. <Formats>
  63. <Format id="default">
  64. <Columns>
  65. <Column size="29"/>
  66. <Column size="30"/>
  67. <Column size="60"/>
  68. <Column size="100"/>
  69. <Column size="340"/>
  70. <Column size="0"/>
  71. <Column size="0"/>
  72. <Column size="0"/>
  73. <Column size="340"/>
  74. <Column size="300"/>
  75. </Columns>
  76. <Rows>
  77. <Row size="24" band="head"/>
  78. <Row size="24"/>
  79. </Rows>
  80. <Band id="head">
  81. <Cell/>
  82. <Cell col="1" text="선택"/>
  83. <Cell col="2" text="사용구분"/>
  84. <Cell col="3" text="처방코드"/>
  85. <Cell col="4" text="처방명"/>
  86. <Cell col="5"/>
  87. <Cell col="6"/>
  88. <Cell col="7"/>
  89. <Cell col="8" text="처방영문명"/>
  90. <Cell col="9" text="처방분류"/>
  91. </Band>
  92. <Band id="body">
  93. <Cell celltype="head" expr="currow+1"/>
  94. <Cell col="1" displaytype="checkbox" edittype="checkbox" text="bind:useyn" expr="expr:useyn == 'true' ? 1 : 0"/>
  95. <Cell col="2" displaytype="combo" edittype="combo" text="bind:prcpgenrflag" combodataset="ds_init_cond_M0010" combocodecol="cdid" combodatacol="cdnm"/>
  96. <Cell col="3" text="bind:prcpcd"/>
  97. <Cell col="4" text="bind:ordnm"/>
  98. <Cell col="5" text="bind:status"/>
  99. <Cell col="6" text="bind:enrflag"/>
  100. <Cell col="7" text="bind:fromdd"/>
  101. <Cell col="8" text="bind:engnm"/>
  102. <Cell col="9" text="bind:earncls"/>
  103. </Band>
  104. </Format>
  105. </Formats>
  106. </Grid>
  107. <Button position="absolute 1062 71 1104 90" id="button2" class="btn2" taborder="7" text="선택" anchor="top right" onclick="button2_onclick"/>
  108. <Button position="absolute 1107 71 1149 90" id="button1" class="btn2" taborder="8" text="취소" anchor="top right" onclick="button1_onclick"/>
  109. <Button position="absolute 1153 71 1195 90" id="btn_save" class="btn5" taborder="9" text="저장" anchor="top right" onclick="btn_save_onclick"/>
  110. <Static id="caption1" text="PRN가능처방관리" class="tit_1" position="absolute 0 0 173 24"/>
  111. </Layout>
  112. </Layouts>
  113. <Objects>
  114. <Dataset id="ds_main_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  115. <ColumnInfo>
  116. <Column id="srchcond" type="STRING" size="256"/>
  117. <Column id="calcscorcd" type="STRING" size="256"/>
  118. <Column id="prcpnm" type="STRING" size="256"/>
  119. <Column id="earncls1" type="STRING" size="256"/>
  120. <Column id="earncls2" type="STRING" size="256"/>
  121. <Column id="earncls3" type="STRING" size="256"/>
  122. <Column id="stnddd" type="STRING" size="256"/>
  123. </ColumnInfo>
  124. <Rows>
  125. <Row>
  126. <Col id="srchcond"/>
  127. <Col id="calcscorcd"/>
  128. <Col id="prcpnm"/>
  129. <Col id="earncls1"/>
  130. <Col id="earncls2"/>
  131. <Col id="earncls3"/>
  132. <Col id="stnddd"/>
  133. </Row>
  134. </Rows>
  135. </Dataset>
  136. <Dataset id="ds_main_earncls1info_earncls1list" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  137. <Dataset id="ds_main_earncls2info_earncls2list" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  138. <ColumnInfo>
  139. <Column id="earncls2" type="STRING" size="256"/>
  140. <Column id="earncls2nm" type="STRING" size="256"/>
  141. </ColumnInfo>
  142. <Rows>
  143. <Row>
  144. <Col id="earncls2">all</Col>
  145. <Col id="earncls2nm">전체</Col>
  146. </Row>
  147. </Rows>
  148. </Dataset>
  149. <Dataset id="ds_main_earncls3info_earncls3list" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  150. <ColumnInfo>
  151. <Column id="earncls3" type="STRING" size="256"/>
  152. <Column id="earncls3nm" type="STRING" size="256"/>
  153. </ColumnInfo>
  154. <Rows>
  155. <Row>
  156. <Col id="earncls3">all</Col>
  157. <Col id="earncls3nm">전체</Col>
  158. </Row>
  159. </Rows>
  160. </Dataset>
  161. <Dataset id="ds_main_ordlibinfo_ordliblist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_ordlibinfo_ordliblist_oncolumnchanged">
  162. <ColumnInfo>
  163. <Column id="useyn" type="STRING" size="256" sumtext="사용여부"/>
  164. <Column id="prcpgenrflag" type="STRING" size="256" sumtext="처방발생구분"/>
  165. <Column id="prcpcd" type="STRING" size="256" sumtext="처방코드"/>
  166. <Column id="ordnm" type="STRING" size="256" sumtext="처방명"/>
  167. <Column id="engnm" type="STRING" size="256" sumtext="처방영문명"/>
  168. <Column id="status" type="STRING" size="256" sumtext="상태값"/>
  169. <Column id="fromdd" type="STRING" size="256" sumtext="시작일자"/>
  170. <Column id="genrflag" type="STRING" size="256" sumtext="기존처방발생구분"/>
  171. <Column id="earncls" type="STRING" size="256" sumtext="처방분류"/>
  172. </ColumnInfo>
  173. </Dataset>
  174. <Dataset id="ds_init_cond_M0010" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  175. <Dataset id="ds_send_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  176. <Dataset id="ds_send_savedata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  177. </Objects>
  178. <Bind>
  179. <BindItem id="item0" compid="grp_sea.cmb_srchcond" propid="value" datasetid="ds_main_cond" columnid="srchcond"/>
  180. <BindItem id="item1" compid="grp_sea.cmb_earncls1" propid="value" datasetid="ds_main_cond" columnid="earncls1"/>
  181. <BindItem id="item2" compid="grp_sea.cmb_earncls2" propid="value" datasetid="ds_main_cond" columnid="earncls2"/>
  182. <BindItem id="item3" compid="grp_sea.cmb_earncls3" propid="value" datasetid="ds_main_cond" columnid="earncls3"/>
  183. <BindItem id="item4" compid="grp_sea.ipt_prcpnm" propid="value" datasetid="ds_main_cond" columnid="prcpnm"/>
  184. </Bind>
  185. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  186. * System Name :
  187. * Job Name :
  188. * Creator :
  189. * Make Date : 2017-09-07
  190. * Description :
  191. *---------------------------------------------------------------------------------------
  192. * Modify Date Modifier Modify Description
  193. *---------------------------------------------------------------------------------------
  194. * 2017-09-07 Live Converter TF->XP
  195. *
  196. *---------------------------------------------------------------------------------------
  197. ****************************************************************************************/
  198. include "com_commonxp::comm_main.xjs";
  199. include "emr_prcpmngtxp::MMO001.xjs";
  200. function SMMMB01900_oninit(obj:Form, e:InitEventInfo)
  201. {
  202. frmf_initForm(obj);
  203. }
  204. function SMMMB01900_onload(obj:Form, e:LoadEventInfo)
  205. {
  206. grdf_initGrid(grd_ordliblist);
  207. //사용구분 공통코드 받아옴
  208. var arrParam = [{dsNm: "ds_init_cond_M0010", cdGrpId: "M0010"}]
  209. appf_getCodeList(arrParam);
  210. //현재 날짜를 받아옴
  211. ds_main_cond.setColumn(0, "stnddd", utlf_getCurrentDate());
  212. //초기화시 검색조건에 따라 조건 박스가 뜨도록 처음에는 안뜨게 표시
  213. grp_sea.ipt_prcpcd.visible = false;
  214. grp_sea.ipt_prcpnm.visible = false;
  215. grp_sea.cmb_earncls1.visible= true;
  216. grp_sea.cmb_earncls2.visible= true;
  217. grp_sea.cmb_earncls3.visible= true;
  218. //리스트 화면을 초기화
  219. ds_main_ordlibinfo_ordliblist.clearData();
  220. //처방분류 대 콤보 박스에 리스트가 조회
  221. var oParam = {};
  222. oParam.id = "TRMMB01702";
  223. oParam.service = "prcpbaseapp.PrcpClsMngt";
  224. oParam.method = "reqGetEarncls1";
  225. oParam.inds = "";
  226. oParam.outds = "ds_main_earncls1info_earncls1list=earncls1list";
  227. oParam.async = false;
  228. //oParam.callback = "cf_TRMMB01702";
  229. tranf_submit(oParam);
  230. //검색조건에 기본적으로 처방분류가 들어가 있는 상태로 초기화
  231. grp_sea.cmb_srchcond.index = 2;
  232. frmf_inputEnterKey("grp_sea.cmb_srchcond", "onitemchanged", new ItemChangeEventInfo );
  233. grp_sea.cmb_earncls1.index = 0;
  234. grp_sea.cmb_earncls2.index = 0;
  235. grp_sea.cmb_earncls3.index = 0;
  236. }
  237. function grp_sea_cmb_srchcond_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  238. {
  239. // 콤보박스에서 선택한 값에 따라 조건 옆에 박스가 뜨게 선택하고 각 input박스나 콤보박스에 포커스가 가있게 한다.
  240. if(obj.value == "CD")
  241. {
  242. grp_sea.ipt_prcpcd.visible = true;
  243. grp_sea.ipt_prcpnm.visible = false;
  244. grp_sea.cmb_earncls1.visible= false;
  245. grp_sea.cmb_earncls2.visible= false;
  246. grp_sea.cmb_earncls3.visible= false;
  247. grp_sea.ipt_prcpcd.setFocus();
  248. }
  249. else if(obj.value == "NM")
  250. {
  251. grp_sea.ipt_prcpcd.visible = false;
  252. grp_sea.ipt_prcpnm.visible = true;
  253. grp_sea.cmb_earncls1.visible= false;
  254. grp_sea.cmb_earncls2.visible= false;
  255. grp_sea.cmb_earncls3.visible= false;
  256. grp_sea.ipt_prcpnm.setFocus();
  257. }
  258. else if(obj.value == "CLS")
  259. {
  260. grp_sea.ipt_prcpcd.visible = false;
  261. grp_sea.ipt_prcpnm.visible = false;
  262. grp_sea.cmb_earncls1.visible= true;
  263. grp_sea.cmb_earncls2.visible= true;
  264. grp_sea.cmb_earncls3.visible= true;
  265. grp_sea.cmb_earncls1.setFocus();
  266. }
  267. else if(obj.value == "REQ")
  268. {
  269. grp_sea.ipt_prcpcd.visible = false;
  270. grp_sea.ipt_prcpnm.visible = false;
  271. grp_sea.cmb_earncls1.visible= false;
  272. grp_sea.cmb_earncls2.visible= false;
  273. grp_sea.cmb_earncls3.visible= false;
  274. }
  275. else if(obj.value == "REQCD")
  276. {
  277. grp_sea.ipt_prcpcd.visible = true;
  278. grp_sea.ipt_prcpnm.visible = false;
  279. grp_sea.cmb_earncls1.visible= false;
  280. grp_sea.cmb_earncls2.visible= false;
  281. grp_sea.cmb_earncls3.visible= false;
  282. grp_sea.ipt_prcpcd.setFocus();
  283. }
  284. else if(obj.value == "REQNM")
  285. {
  286. grp_sea.ipt_prcpcd.visible = false;
  287. grp_sea.ipt_prcpnm.visible = true;
  288. grp_sea.cmb_earncls1.visible= false;
  289. grp_sea.cmb_earncls2.visible= false;
  290. grp_sea.cmb_earncls3.visible= false;
  291. grp_sea.ipt_prcpnm.setFocus();
  292. }
  293. else if(obj.value == "REQCLS")
  294. {
  295. grp_sea.ipt_prcpcd.visible = false;
  296. grp_sea.ipt_prcpnm.visible = false;
  297. grp_sea.cmb_earncls1.visible= true;
  298. grp_sea.cmb_earncls2.visible= true;
  299. grp_sea.cmb_earncls3.visible= true;
  300. grp_sea.cmb_earncls1.setFocus();
  301. }
  302. //input박스에 예전에 검색한 data값이 남지 않도록 지워준다.
  303. ds_main_cond.setColumn(0, "calcscorcd", "");
  304. ds_main_cond.setColumn(0, "prcpnm", "");
  305. //콤보박스에 예전에 검색한 data값이 남지 않고 언제나 첫조건이 조회되도록 한다.
  306. grp_sea.cmb_earncls1.index = 0;
  307. frmf_inputEnterKey("grp_sea.cmb_earncls1", "onitemchanged", new ItemChangeEventInfo );
  308. grp_sea.cmb_earncls2.index = 0;
  309. grp_sea.cmb_earncls3.index = 0;
  310. //등록자료조회로 값변경시 바로 조회가능하게
  311. if(ds_main_cond.getColumn(0, "srchcond") == 'REQ')
  312. {
  313. grp_sea.btn_req.click();
  314. }
  315. }
  316. function grp_sea_cmb_earncls1_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  317. {
  318. //콤보박스 리스트를 제거
  319. ds_main_earncls2info_earncls2list.clearData();
  320. //콤보박스에 나올 리스트 조회
  321. ds_send_reqdata.copyData(ds_main_cond);
  322. var oParam = {};
  323. oParam.id = "TRMMB01703";
  324. oParam.service = "prcpbaseapp.PrcpClsMngt";
  325. oParam.method = "reqGetEarncls2";
  326. oParam.inds = "req=ds_send_reqdata";
  327. oParam.outds = "ds_main_earncls2info_earncls2list=earncls2list";
  328. oParam.async = false;
  329. //oParam.callback = "cf_TRMMB01703";
  330. tranf_submit(oParam);
  331. ds_main_earncls2info_earncls2list.insertRow(0);
  332. ds_main_earncls2info_earncls2list.setColumn(0, "earncls2", "all");
  333. ds_main_earncls2info_earncls2list.setColumn(0, "earncls2nm", "전체");
  334. //콤보박스 리스트 변경시 다시 전체가 조회되도록 선택
  335. grp_sea.cmb_earncls2.index = 0;
  336. frmf_inputEnterKey("grp_sea.cmb_earncls2", "onitemchanged", new ItemChangeEventInfo );
  337. }
  338. function grp_sea_cmb_earncls2_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  339. {
  340. //콤보박스 리스트를 제거
  341. ds_main_earncls3info_earncls3list.clearData();
  342. ds_send_reqdata.copyData(ds_main_cond);
  343. var oParam = {};
  344. oParam.id = "TRMMB01704";
  345. oParam.service = "prcpbaseapp.PrcpClsMngt";
  346. oParam.method = "reqGetEarncls3";
  347. oParam.inds = "req=ds_send_reqdata";
  348. oParam.outds = "ds_main_earncls3info_earncls3list=earncls3list";
  349. oParam.async = false;
  350. //oParam.callback = "cf_TRMMB01704";
  351. tranf_submit(oParam);
  352. //콤보박스에 나올 리스트 조회
  353. ds_main_earncls3info_earncls3list.insertRow(0);
  354. ds_main_earncls3info_earncls3list.setColumn(0, "earncls3", "all");
  355. ds_main_earncls3info_earncls3list.setColumn(0, "earncls3nm", "전체");
  356. //콤보박스 리스트 변경시 다시 전체가 조회되도록 선택
  357. grp_sea.cmb_earncls3.index = 0;
  358. }
  359. function grp_sea_btn_req_onclick(obj:Button, e:ClickEventInfo)
  360. {
  361. //한글인지 영문인지 판단하고 data개수도 판단하여 작은 경우 메세지가 뜨게 한다.
  362. var srchcond = ds_main_cond.getColumn(0, "srchcond");
  363. var codenm = "";
  364. //data의 입력 개수를 판단하여 메세지 출력
  365. if((srchcond == "CD") || (srchcond == "REQCD"))
  366. {
  367. codenm = ds_main_cond.getColumn(0, "calcscorcd");
  368. if (utlf_isNull(codenm))
  369. {
  370. sysf_messageBox( "처방코드를" ,"C001" );
  371. return;
  372. }
  373. else if (String(codenm).length < 2)
  374. {
  375. sysf_messageBox( "처방코드를 2자리 이상" ,"C001" );
  376. return;
  377. }
  378. }
  379. else if((srchcond == "NM") || (srchcond == "REQNM"))
  380. {
  381. codenm = ds_main_cond.getColumn(0, "prcpnm");
  382. if (utlf_isNull(codenm))
  383. {
  384. sysf_messageBox( "처방명을" ,"C001" );
  385. grp_sea.ipt_prcpnm.setFocus();
  386. return;
  387. }
  388. //한글인지 영문인지 구분
  389. if (fIsHangul(codenm) == "H")
  390. {
  391. if (String(codenm).length < 2)
  392. {
  393. sysf_messageBox( "한글 처방명 2자리 이상" ,"C001" );
  394. grp_sea.ipt_prcpnm.setFocus();
  395. return;
  396. }
  397. }
  398. else
  399. {
  400. if (String(codenm).length < 4)
  401. {
  402. sysf_messageBox( "영문 처방명 2자리 이상 " ,"C001" );
  403. grp_sea.ipt_prcpnm.setFocus();
  404. return;
  405. }
  406. }
  407. }
  408. var cond = ds_main_cond.getColumn(0, "srchcond");
  409. if(( cond == 'REQ'))
  410. {
  411. var msg = sysf_messageBox("자료가 많을경우 시스템 부하가 일어날 수 있습니다. 그래도" , "Q005");
  412. if(msg == '6')
  413. {
  414. ds_main_ordlibinfo_ordliblist.clearData();
  415. //input박스에 예전에 검색한 data값이 남지 않도록 지워준다.
  416. ds_main_cond.setColumn(0, "calcscorcd", "");
  417. ds_main_cond.setColumn(0, "prcpnm", "");
  418. ds_main_cond.setColumn(0, "earncls1", "");
  419. ds_main_cond.setColumn(0, "earncls2", "");
  420. ds_main_cond.setColumn(0, "earncls3", "");
  421. //조건에 맞는 데이터 조회
  422. ds_send_reqdata.copyData(ds_main_cond);
  423. //응급실처방제한관리 테이블이 가지고 있는 데이터를 조회
  424. var oParam = {};
  425. oParam.id = "TRMMB01902";
  426. oParam.service = "prcpbaseapp.PrcpClsMngt";
  427. oParam.method = "reqGetPRNPrcpList";
  428. oParam.inds = "req=ds_send_reqdata";
  429. oParam.outds = "ds_main_ordlibinfo_ordliblist=ordliblist";
  430. oParam.async = false;
  431. //oParam.callback = "cf_TRMMB01902";
  432. tranf_submit(oParam);
  433. }
  434. }
  435. else if( ( cond == 'REQCD') || ( cond == 'REQNM') || ( cond == 'REQCLS') )
  436. {
  437. ds_main_ordlibinfo_ordliblist.clearData();
  438. //응급실처방제한관리 테이블이 가지고 있는 데이터를 조회
  439. //조건에 맞는 데이터 조회
  440. ds_send_reqdata.copyData(ds_main_cond);
  441. var oParam = {};
  442. oParam.id = "TRMMB01902";
  443. oParam.service = "prcpbaseapp.PrcpClsMngt";
  444. oParam.method = "reqGetPRNPrcpList";
  445. oParam.inds = "req=ds_send_reqdata";
  446. oParam.outds = "ds_main_ordlibinfo_ordliblist=ordliblist";
  447. oParam.async = false;
  448. //oParam.callback = "cf_TRMMB01902";
  449. tranf_submit(oParam);
  450. }
  451. else
  452. {
  453. //조건에 맞는 데이터 조회
  454. ds_send_reqdata.copyData(ds_main_cond);
  455. var oParam = {};
  456. oParam.id = "TRMMB01901";
  457. oParam.service = "prcpbaseapp.PrcpClsMngt";
  458. oParam.method = "reqGetPRNPossPrcpList";
  459. oParam.inds = "req=ds_send_reqdata";
  460. oParam.outds = "ds_main_ordlibinfo_ordliblist=ordliblist";
  461. oParam.async = false;
  462. //oParam.callback = "cf_TRMMB01901";
  463. tranf_submit(oParam);
  464. }
  465. }
  466. function ds_main_ordlibinfo_ordliblist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  467. {
  468. if(e.columnid == "useyn")
  469. {
  470. obj.setColumn(e.row, "useyn", (e.newvalue == "true" || e.newvalue == 1) ? "true" : "false");
  471. }
  472. }
  473. function button2_onclick(obj:Button, e:ClickEventInfo)
  474. {
  475. //선택된 로우값을 받아옴
  476. var rowcount = grdf_getSelectedRows(grd_ordliblist);
  477. for(var i = 0; i < rowcount.length; i++)
  478. {
  479. var row = rowcount[i];
  480. ds_main_ordlibinfo_ordliblist.setColumn(row, "useyn", "true");
  481. }
  482. }
  483. function button1_onclick(obj:Button, e:ClickEventInfo)
  484. {
  485. //선택된 로우값을 받아옴
  486. var rowcount = grdf_getSelectedRows(grd_ordliblist);
  487. for(var i = 0; i < rowcount.length; i++)
  488. {
  489. var row = rowcount[i];
  490. ds_main_ordlibinfo_ordliblist.setColumn(row, "useyn", "false");
  491. }
  492. }
  493. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  494. {
  495. //체크박스를 체크하면 저장, 체크해제하면 삭제(체크박스 해제시 getUpdatedata가 적용이 되지 않아서 파리체 사용
  496. //저장후 조회를 위해 검색조건을 가지고 감
  497. ds_send_reqdata.copyData(ds_main_cond);
  498. xPath = ds_main_ordlibinfo_ordliblist;
  499. var savedata ="useyn▦prcpgenrflag▦prcpcd▦ordnm▦engnm▦status▦fromdd▦genrflag▩";
  500. sRowCnt = ds_main_ordlibinfo_ordliblist.rowcount;
  501. var uStat = "";
  502. var vStat = "";
  503. for (var i = 0; i < sRowCnt; i++)
  504. {
  505. uStat = xPath.getColumn(i, "useyn");
  506. vStat = xPath.getColumn(i, "status");
  507. pStat = xPath.getColumn(i, "prcpgenrflag");
  508. gStat = xPath.getColumn(i, "genrflag");
  509. //현재 선택값과 예전 선택값이 틀린 로우와 현재 선택된 상태이고 사용구분이 변경된 로우만 data를 가지고 간다.
  510. if ((uStat != vStat) || ((uStat == 'true') && (pStat != gStat)) )
  511. {
  512. savedata += xPath.getColumn(i, "useyn") + "▦";
  513. savedata += xPath.getColumn(i, "prcpgenrflag") + "▦";
  514. savedata += xPath.getColumn(i, "prcpcd") + "▦";
  515. savedata += xPath.getColumn(i, "ordnm") + "▦";
  516. savedata += xPath.getColumn(i, "engnm") + "▦";
  517. savedata += xPath.getColumn(i, "status") + "▦";
  518. savedata += xPath.getColumn(i, "fromdd") + "▦";
  519. savedata += xPath.getColumn(i, "genrflag") + "▩";
  520. }
  521. }
  522. dsf_setCSVToDs("ds_send_savedata", savedata);
  523. var oParam = {};
  524. oParam.id = "TXMMB01901";
  525. oParam.service = "prcpbaseapp.PrcpClsMngt";
  526. oParam.method = "reqSavePRNPossPrcpList";
  527. oParam.inds = "req=ds_send_reqdata save=ds_send_savedata";
  528. oParam.outds = "ds_main_ordlibinfo_ordliblist=ordliblist";
  529. oParam.async = false;
  530. //oParam.callback = "cf_TXMMB01901";
  531. tranf_submit(oParam);
  532. }
  533. function grp_sea_ipt_prcpnm_onkeyup(obj:Edit, e:KeyEventInfo)
  534. {
  535. if(e.keycode == 13)
  536. {
  537. obj.updateToDataset();
  538. grp_sea.btn_req.click();
  539. }
  540. }
  541. ]]></Script>
  542. </Form>
  543. </FDL>