SMMMB02000_입원예약가능처방관리.xfdl 24 KB

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