SPMMO07600_진단검색.xfdl 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMMO07600" position="absolute 0 0 810 330" titletext="진단검색" oninit="SPMMO07600_oninit" onload="SPMMO07600_onload">
  5. <Layouts>
  6. <Layout>
  7. <Shape id="roundrect1" type="roundrectangle" position="absolute 4 6 805 39"/>
  8. <Grid position="absolute 5 49 805 298" id="grd_diaghist" binddataset="ds_main_diagcdlist" oncelldblclick="grd_diaghist_oncelldblclick" cellsizingtype="col" extendsizetype="row" autosizingtype="row" selecttype="multirow">
  9. <Formats>
  10. <Format id="default">
  11. <Columns>
  12. <Column size="100"/>
  13. <Column size="280"/>
  14. <Column size="280"/>
  15. <Column size="100"/>
  16. <Column size="0"/>
  17. </Columns>
  18. <Rows>
  19. <Row size="24" band="head"/>
  20. <Row size="24"/>
  21. </Rows>
  22. <Band id="head">
  23. <Cell text="진단코드"/>
  24. <Cell col="1" text="영문명"/>
  25. <Cell col="2" text="한글명"/>
  26. <Cell col="3" text="icd10cd"/>
  27. <Cell col="4" text="diagcd"/>
  28. </Band>
  29. <Band id="body">
  30. <Cell style="align:left;" text="bind:dispdiagcd"/>
  31. <Cell col="1" style="align:left;padding:4 2 2 2;" text="bind:diagengnm" wordwrap="word"/>
  32. <Cell col="2" style="align:left;padding:4 2 2 2;" text="bind:diaghngnm" wordwrap="word" autosizerow="limitmin"/>
  33. <Cell col="3" style="align:left;" text="bind:icd10cd"/>
  34. <Cell col="4" text="bind:diagcd"/>
  35. </Band>
  36. </Format>
  37. </Formats>
  38. </Grid>
  39. <Shape position="absolute 5 44 805 50" linetype="horizontal" id="line4" class="line_10"/>
  40. <Button position="absolute 750 304 806 326" id="button1" class="btn4" text="취소" onclick="button1_onclick"/>
  41. <Static text="검색방법 :" position="absolute 11 14 90 31" align="align:center middle;" id="caption3" class="search_name"/>
  42. <Static text="검색어 :" position="absolute 531 14 617 31" id="caption4" class="search_name"/>
  43. <Edit position="absolute 595 13 715 32" id="ipt_search" class="input_search" onkeydown="ipt_search_onkeydown" autoselect="true"/>
  44. <Button position="absolute 745 12 801 34" id="button3" class="btn1" text="조회" onclick="button3_onclick"/>
  45. <Shape position="absolute 730 12 736 34" linetype="vertical" id="line6"/>
  46. </Layout>
  47. </Layouts>
  48. <Objects>
  49. <Dataset id="ds_grd_diaghist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  50. <ColumnInfo>
  51. <Column id="dispdiagcd" type="STRING"/>
  52. <Column id="diagengnm" type="STRING"/>
  53. <Column id="diaghngnm" type="STRING"/>
  54. <Column id="icd10cd" type="STRING"/>
  55. <Column id="diagcd" type="STRING"/>
  56. </ColumnInfo>
  57. </Dataset>
  58. <Dataset id="ds_main_diagcdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  59. <ColumnInfo>
  60. <Column id="status" type="STRING" size="256"/>
  61. <Column id="dispdiagcd" type="STRING" size="256"/>
  62. <Column id="diagengnm" type="STRING" size="256"/>
  63. <Column id="diaghngnm" type="STRING" size="256"/>
  64. <Column id="orgdiagnm" type="STRING" size="256"/>
  65. <Column id="spclinfo" type="STRING" size="256"/>
  66. <Column id="orgdiagcd" type="STRING" size="256"/>
  67. <Column id="tootfact" type="STRING" size="256"/>
  68. <Column id="icd10cd" type="STRING" size="256"/>
  69. <Column id="diagcd" type="STRING" size="256"/>
  70. </ColumnInfo>
  71. </Dataset>
  72. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  73. <ColumnInfo>
  74. <Column id="diagsrchcond1" type="STRING" size="256"/>
  75. <Column id="diagsrchnm" type="STRING" size="256"/>
  76. <Column id="srchmode" type="STRING" size="256"/>
  77. </ColumnInfo>
  78. <Rows>
  79. <Row>
  80. <Col id="diagsrchcond1"/>
  81. <Col id="diagsrchnm"/>
  82. <Col id="srchmode"/>
  83. </Row>
  84. </Rows>
  85. </Dataset>
  86. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  87. <ColumnInfo>
  88. <Column id="cond3" type="STRING" size="256"/>
  89. <Column id="cond4" type="STRING" size="256"/>
  90. <Column id="cond5" type="STRING" size="256"/>
  91. <Column id="synmflag" type="STRING" size="256"/>
  92. <Column id="scrnflag" type="STRING" size="256"/>
  93. <Column id="diagsrchmetd" type="STRING" size="256"/>
  94. </ColumnInfo>
  95. <Rows>
  96. <Row>
  97. <Col id="cond3"/>
  98. <Col id="cond4"/>
  99. <Col id="cond5"/>
  100. <Col id="synmflag">Y</Col>
  101. <Col id="scrnflag"/>
  102. <Col id="diagsrchmetd"/>
  103. </Row>
  104. </Rows>
  105. </Dataset>
  106. <Dataset id="ds_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  107. <ColumnInfo>
  108. <Column id="status" type="STRING" size="256"/>
  109. <Column id="dispdiagcd" type="STRING" size="256"/>
  110. <Column id="diagengnm" type="STRING" size="256"/>
  111. <Column id="diaghngnm" type="STRING" size="256"/>
  112. <Column id="orgdiagnm" type="STRING" size="256"/>
  113. <Column id="spclinfo" type="STRING" size="256"/>
  114. <Column id="orgdiagcd" type="STRING" size="256"/>
  115. <Column id="tootfact" type="STRING" size="256"/>
  116. <Column id="icd10cd" type="STRING" size="256"/>
  117. <Column id="diagcd" type="STRING" size="256"/>
  118. </ColumnInfo>
  119. </Dataset>
  120. </Objects>
  121. <Bind>
  122. <BindItem id="item0" compid="ipt_search" propid="value" datasetid="ds_init" columnid="diagsrchnm"/>
  123. </Bind>
  124. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  125. * System Name :
  126. * Job Name :
  127. * Creator :
  128. * Make Date : 2014-12-10
  129. * Description :
  130. *---------------------------------------------------------------------------------------
  131. * Modify Date Modifier Modify Description
  132. *---------------------------------------------------------------------------------------
  133. * 2014-12-10 Live Converter TF->XP
  134. *
  135. *---------------------------------------------------------------------------------------
  136. ****************************************************************************************/
  137. include "com_commonxp::comm_main.xjs";
  138. include "emr_prcpmngtxp::MMO001.xjs";
  139. include "emr_carecomxp::CareCom.xjs";
  140. function SPMMO07600_oninit(obj:Form, e:InitEventInfo)
  141. {
  142. frmf_initForm(obj);
  143. }
  144. function SPMMO07600_onload(obj:Form, e:LoadEventInfo)
  145. {
  146. grdf_setGridSort(grd_diaghist);
  147. ipt_search.setFocus();
  148. //model.setFocus("ipt_search");
  149. }
  150. /*
  151. function getDiagNodeListCSV(dataSet, rowid) {
  152. if( dataSet.rowcount == 0 ){
  153. return;
  154. }
  155. var sColSep = "▦";
  156. var sRowSep = "▩";
  157. var rCSV = "";
  158. //var childNodeList = nodeList.item(0).childNodes;
  159. var dsCnt = dataSet.rowcount; //childNodeList.length;
  160. if( dsCnt == 0 ){
  161. return;
  162. }
  163. var i, j;
  164. // var Req3Head = "aisiemcd▦aisiidno▦aisiindt▦aisiintm▦aisicode▩";
  165. for( i = 0; i < dsCnt; i++ ) { // i = 0; i < childNodeCnt - 1; i++
  166. rCSV += childNodeList.item(i).nodeName + sColSep;
  167. }
  168. rCSV += childNodeList.item(i).nodeName + sRowSep;
  169. model.getValue("/root/main/diaginfo/diagcdlist[" + rowid + "]/icd10cd")
  170. model.getValue("/root/main/diaginfo/diagcdlist[" + rowid + "]/diagengnm")
  171. var node;
  172. var cnt = 1;
  173. var selCnt = 0;
  174. while( node = nodeList.nextNode() ) {
  175. if (cnt == rowid) {
  176. //if (model.getValue ( "/root/main/diaginfo/diagcdlist[" + cnt++ + "]/status" ) == "I" ) {
  177. childNodeList = node.childNodes;
  178. for( i = 0; i < childNodeCnt - 1; i++) {
  179. rCSV += childNodeList.item(i).text + sColSep;
  180. }
  181. rCSV += childNodeList.item(i).text + sRowSep;
  182. selCnt++;
  183. }
  184. cnt++;
  185. }
  186. if ( selCnt == 0 ) {
  187. return "N"
  188. } else {
  189. return rCSV;
  190. }
  191. }
  192. */
  193. /**
  194. * @desc : 진단 검색
  195. * @param :
  196. * @return :
  197. * @authur : HIT 진료
  198. */
  199. function fGetDiagSrch() { // 사용하는 함수인지 확인 필요
  200. //초기화 작업
  201. //model.removeNodeset ( "/root/main/diaginfo/diagcdlist" );
  202. opener.frmf_setParameter( "SPMMO07600_rtn", "" );
  203. opener.frmf_setParameter( "SPMMO07600_rtn_useyn", "N");
  204. var cond3 = opener.frmf_getParameter ( "SPMMO07600_cond3" ); //한영구분(H: 한글, E:영문)
  205. var cond4 = opener.frmf_getParameter ( "SPMMO07600_cond4" ); //기준일자: 외래일때는 진료일자, 입원일때는 처방일자
  206. var cond5 = opener.frmf_getParameter ( "SPMMO07600_cond5" ); //검색내용
  207. var srchmodecond = opener.frmf_getParameter ( "SPMMO07600_srchmode" ); //검색위치
  208. ds_init.setColumn(0, "diagsrchnm", cond5); //model.setValue("/root/init/diagsrchnm", cond5);
  209. if (utlf_isNull(cond5)) {
  210. alert("검색어가 없습니다. 검색어 입력 후 진행하세요.");
  211. return ;
  212. }
  213. var word = (cond5.getTrimLeft()).getTrimRight(); //좌,우측의 공백을 제거
  214. word = word.split(" ");
  215. if(word.length > 1){
  216. var fst = word[0].concat("% ");
  217. var sec = word[1].concat("%");
  218. cond5 = fst.concat(sec);
  219. }else{
  220. cond5 = word[0].concat("%");
  221. }
  222. model.setValue("/root/send/cond3", cond3 );
  223. model.setValue("/root/send/cond4", cond4 );
  224. model.setValue("/root/send/cond5", cond5 );
  225. submit("TRMMO07601");
  226. }
  227. function grd_diaghist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  228. {
  229. if(e.col > -1 && e.row > -1){
  230. ds_temp.clearData();
  231. ds_temp.addRow();
  232. ds_temp.copyRow(0, ds_main_diagcdlist, ds_main_diagcdlist.rowposition);
  233. var rtn1 = dsf_getDsCSV(ds_temp); //getDiagNodeListCSV ( model.instances(0).selectNodes( "/root/main/diaginfo/diagcdlist" ), grd_diaghist.row);
  234. opener.frmf_setParameter( "SPMMO07600_rtn", rtn1 );
  235. close();
  236. }
  237. }
  238. function button1_onclick(obj:Button, e:ClickEventInfo)
  239. {
  240. opener.frmf_setParameter( "SPMMO07600_rtn", "" );
  241. close();
  242. }
  243. function ipt_search_onkeydown(obj:Edit, e:KeyEventInfo)
  244. {
  245. if(e.keycode == 13) {
  246. ds_init.setColumn(0, "diagsrchnm", ipt_search.value); // ipt_search
  247. var ev = new ClickEventInfo;
  248. frmf_inputEnterKey("button3", "onclick", ev );
  249. }
  250. //inputEnterKey("button3", "DOMActivate");
  251. }
  252. function button3_onclick(obj:Button, e:ClickEventInfo)
  253. {
  254. var cond4 = utlf_getCurrentDate(); //기준일자
  255. var cond5 = ds_init.getColumn(0, "diagsrchnm"); //검색어
  256. var cond3 = utlf_isHangul(cond5); //fIsHangul(cond5); //한글, 영문구분
  257. if ( utlf_isNull(cond5)) {
  258. sysf_messageBox ( "검색어를", "C001" );
  259. return;
  260. } else if ( cond3 == "E" ){ //영문,숫자일때는 3글자 넣어야 검색가능
  261. if ( cond5.length < 2 ){
  262. sysf_messageBox ( "2글자 이상", "C001" );
  263. return;
  264. }
  265. }
  266. cond5 = "%" + cond5 + "%";
  267. ds_send.setColumn(0, "cond4", cond4); // model.setValue("/root/send/cond4", cond4);
  268. ds_send.setColumn(0, "cond5", cond5); // model.setValue("/root/send/cond5", cond5);
  269. var oParam = {};
  270. oParam.id = "TRMMO07601";
  271. oParam.service = "prcpmngtapp.ErMngt";
  272. oParam.method = "reqGetDiagForInju";
  273. oParam.inds = "req=ds_send";
  274. oParam.outds = "ds_main_diagcdlist=diagcdlist";
  275. oParam.async = false;
  276. oParam.callback = "cf_TRMMO07601";
  277. tranf_submit(oParam);
  278. }
  279. function cf_TRMMO07601(sSvcId, nErrorCode, sErrorMsg) {
  280. if(nErrorCode < 0) return;
  281. }]]></Script>
  282. </Form>
  283. </FDL>