SPMMI00500_처방에러내역.xfdl 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMMI00500_처방에러내역" classname="SPMMI00500_처방에러내역" inheritanceid="" position="absolute 0 0 1110 750" titletext="처방에러내역 확인" oninit="SPMMI00500_처방에러내역_oninit" onload="SPMMI00500_처방에러내역_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption9" text="처방에러내역 확인" class="tit_1" position="absolute 0 0 144 25"/>
  8. <Div id="Div00" anchor="left top right" taborder="0" scrollbars="none" class="div_SA" position="absolute 0 23 1110 88">
  9. <Layouts>
  10. <Layout width="1110" height="65">
  11. <Static id="caption2" text="오류일자 :" class="search_name" position="absolute 310 8 381 28" anchor="default"/>
  12. <Calendar id="input4" taborder="38" autoselect="true" dateformat="yyyy-MM-dd" position="absolute 397 8 482 28" anchor="default"/>
  13. <Static id="caption3" text="~" position="absolute 485 8 500 28" anchor="default"/>
  14. <Calendar id="input3" taborder="39" autoselect="true" dateformat="yyyy-MM-dd" position="absolute 498 8 583 28" anchor="default"/>
  15. <Static id="caption10" text="등록번호:" class="search_name" position="absolute 689 34 758 54" anchor="default"/>
  16. <Edit id="input1" taborder="41" autoselect="true" position="absolute 775 34 855 54" anchor="default"/>
  17. <Button id="btn_patsrch" taborder="42" onclick="Div00_btn_patsrch_onclick" class="icon_search" position="absolute 959 34 979 54" anchor="default"/>
  18. <Edit id="input2" taborder="43" enable="false" position="absolute 860 34 955 54" anchor="default"/>
  19. <Static id="caption1" text="진 료 과 :" class="search_name" position="absolute 6 33 85 53" anchor="default"/>
  20. <Combo id="cmb_orddept" taborder="44" innerdataset="ds_orddept" codecolumn="deptcd" datacolumn="depthngnm" onitemchanged="Div00_cmb_orddept_onitemchanged" position="absolute 95 33 261 53" anchor="default"/>
  21. <Static id="caption4" text="진료구분 :" class="search_name" position="absolute 6 8 85 28" anchor="default"/>
  22. <Radio id="radio1" taborder="45" columncount="4" rowcount="1" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 95 8 260 28" anchor="default" onitemclick="Div00_radio1_onitemclick">
  23. <Dataset id="innerdataset">
  24. <ColumnInfo>
  25. <Column id="codecolumn"/>
  26. <Column id="datacolumn"/>
  27. </ColumnInfo>
  28. <Rows>
  29. <Row>
  30. <Col id="codecolumn">T</Col>
  31. <Col id="datacolumn">전체</Col>
  32. </Row>
  33. <Row>
  34. <Col id="codecolumn">O</Col>
  35. <Col id="datacolumn">외래</Col>
  36. </Row>
  37. <Row>
  38. <Col id="codecolumn">I</Col>
  39. <Col id="datacolumn">입원</Col>
  40. </Row>
  41. </Rows>
  42. </Dataset>
  43. </Radio>
  44. <Static id="caption5" text="진 료 의 :" class="search_name" position="absolute 310 33 381 53" anchor="default"/>
  45. <Combo id="cmb_orddrid" taborder="46" innerdataset="ds_userlist" codecolumn="userid" datacolumn="usernm" position="absolute 397 33 530 53" anchor="default"/>
  46. <Static id="caption12" text="오류코드:" class="search_name" position="absolute 689 8 768 28" anchor="default"/>
  47. <Edit id="input5" taborder="47" autoselect="true" onkeydown="Div00_input5_onkeydown" position="absolute 775 8 940 28" anchor="default"/>
  48. <Shape id="line3" linetype="vertical" position="absolute 1015 8 1021 102" anchor="top right"/>
  49. <Button id="btn_req" taborder="48" text="조회" onclick="Div00_btn_req_onclick" class="btn1" position="absolute 1030 7 1086 27" anchor="top right"/>
  50. </Layout>
  51. </Layouts>
  52. </Div>
  53. <Grid id="datagrid1" taborder="2" binddataset="ds_prcperrlist" useinputpanel="false" treeusecheckbox="false" position="absolute 0 101 1110 750" anchor="all">
  54. <Formats>
  55. <Format id="default">
  56. <Columns>
  57. <Column size="32"/>
  58. <Column size="77"/>
  59. <Column size="0"/>
  60. <Column size="0"/>
  61. <Column size="0"/>
  62. <Column size="0"/>
  63. <Column size="0"/>
  64. <Column size="0"/>
  65. <Column size="0"/>
  66. <Column size="62"/>
  67. <Column size="54"/>
  68. <Column size="40"/>
  69. <Column size="101"/>
  70. <Column size="56"/>
  71. <Column size="60"/>
  72. <Column size="43"/>
  73. <Column size="91"/>
  74. <Column size="89"/>
  75. <Column size="152"/>
  76. <Column size="82"/>
  77. <Column size="178"/>
  78. <Column size="84"/>
  79. <Column size="120"/>
  80. <Column size="109"/>
  81. </Columns>
  82. <Rows>
  83. <Row size="24" band="head"/>
  84. <Row size="24"/>
  85. </Rows>
  86. <Band id="head">
  87. <Cell/>
  88. <Cell col="1" text="오류일자"/>
  89. <Cell col="2" text="처방번호"/>
  90. <Cell col="3" text="액팅처방번호"/>
  91. <Cell col="4" text="액팅처방레벨"/>
  92. <Cell col="5" text="믹스번호"/>
  93. <Cell col="6" text="히스토리번호"/>
  94. <Cell col="7" text="진료과코드"/>
  95. <Cell col="8" text="진료의아이디"/>
  96. <Cell col="9" text="등록번호"/>
  97. <Cell col="10" text="환자명"/>
  98. <Cell col="11" text="입/외"/>
  99. <Cell col="12" text="진료과"/>
  100. <Cell col="13" text="진료의사" taborder="undefined"/>
  101. <Cell col="14" text="등록자" taborder="undefined"/>
  102. <Cell col="15" text="ReCall" taborder="undefined"/>
  103. <Cell col="16" text="처방적용일자" taborder="undefined"/>
  104. <Cell col="17" text="처방코드"/>
  105. <Cell col="18" text="처방명"/>
  106. <Cell col="19" text="오류코드"/>
  107. <Cell col="20" text="오류메세지"/>
  108. <Cell col="21" text="사유/확인 코드"/>
  109. <Cell col="22" text="사유/상세 내용"/>
  110. <Cell col="23" text="최초등록일시"/>
  111. </Band>
  112. <Band id="body">
  113. <Cell celltype="head" text="expr:currow+1"/>
  114. <Cell col="1" text="bind:msgdd" mask="expr:utlf_isNull(prcpdd) ? &quot;&quot; : &quot;####-##-##&quot;"/>
  115. <Cell col="2" text="bind:prcpno"/>
  116. <Cell col="3" text="bind:execprcpno"/>
  117. <Cell col="4" text="bind:execprcplevel"/>
  118. <Cell col="5" text="bind:prcpmixno"/>
  119. <Cell col="6" text="bind:prcphistno"/>
  120. <Cell col="7" text="bind:orddeptcd"/>
  121. <Cell col="8" text="bind:orddrid"/>
  122. <Cell col="9" text="bind:pid"/>
  123. <Cell col="10" text="bind:ptname"/>
  124. <Cell col="11" text="bind:ordgubun"/>
  125. <Cell col="12" displaytype="text" text="bind:orddept"/>
  126. <Cell col="13" text="bind:orddr"/>
  127. <Cell col="14" text="bind:fstrgstrnm"/>
  128. <Cell col="15" text="bind:resaveyn"/>
  129. <Cell col="16" text="bind:prcpdd" mask="expr:utlf_isNull(prcpdd) ? &quot;&quot; : &quot;####-##-##&quot;"/>
  130. <Cell col="17" displaytype="text" text="bind:prcpcd"/>
  131. <Cell col="18" displaytype="normal" style="align:left;" text="bind:prcpnm"/>
  132. <Cell col="19" style="align:left;" text="bind:errcd"/>
  133. <Cell col="20" displaytype="text" style="align:left;" text="bind:errmsg"/>
  134. <Cell col="21" text="bind:cnfcd"/>
  135. <Cell col="22" style="align:left;" text="bind:cnfmsg"/>
  136. <Cell col="23" text="bind:fstrgstdt" mask="expr:utlf_isNull(fstrgstdt) ? &quot;&quot; : &quot;####-##-## ##:##&quot;"/>
  137. </Band>
  138. </Format>
  139. </Formats>
  140. </Grid>
  141. </Layout>
  142. </Layouts>
  143. <Objects>
  144. <Dataset id="ds_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  145. <ColumnInfo>
  146. <Column id="pid" type="STRING" size="256"/>
  147. <Column id="hngnm" type="STRING" size="256"/>
  148. <Column id="fromdd" type="STRING" size="256"/>
  149. <Column id="todd" type="STRING" size="256"/>
  150. <Column id="orddeptcd" type="STRING" size="256"/>
  151. <Column id="ordgubun" type="STRING" size="256"/>
  152. <Column id="orddrid" type="STRING" size="256"/>
  153. <Column id="errcd" type="STRING" size="256"/>
  154. </ColumnInfo>
  155. <Rows>
  156. <Row>
  157. <Col id="ordgubun">T</Col>
  158. </Row>
  159. </Rows>
  160. </Dataset>
  161. <Dataset id="ds_orddept" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  162. <ColumnInfo>
  163. <Column id="depthngnm" type="STRING"/>
  164. <Column id="deptcd" type="STRING"/>
  165. </ColumnInfo>
  166. </Dataset>
  167. <Dataset id="ds_userlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  168. <ColumnInfo>
  169. <Column id="usernm" type="STRING"/>
  170. <Column id="userid" type="STRING"/>
  171. </ColumnInfo>
  172. </Dataset>
  173. <Dataset id="ds_prcperrlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  174. <ColumnInfo>
  175. <Column id="ordgubun" type="STRING" size="256" sumtext="진료구분"/>
  176. <Column id="msgdd" type="STRING" size="256" sumtext="메세지 일련번호"/>
  177. <Column id="msgno" type="STRING" size="256" sumtext="처방번호"/>
  178. <Column id="fstrgstdt" type="STRING" size="256" sumtext="최초등록일시"/>
  179. <Column id="pid" type="STRING" size="256" sumtext="환자등록번호"/>
  180. <Column id="ptname" type="STRING" size="256" sumtext="환자명"/>
  181. <Column id="orddept" type="STRING" size="256" sumtext="진료과"/>
  182. <Column id="orddeptcd" type="STRING" size="256" sumtext="진료부서"/>
  183. <Column id="orddrid" type="STRING" size="256" sumtext="진료의"/>
  184. <Column id="orddr" type="STRING" size="256" sumtext="진료의사"/>
  185. <Column id="fstrgstrid" type="STRING" size="256" sumtext="최초등록자ID"/>
  186. <Column id="fstrgstrnm" type="STRING" size="256" sumtext="최초등록자"/>
  187. <Column id="saveflag" type="STRING" size="256" sumtext="저장구분"/>
  188. <Column id="prcpcnt" type="STRING" size="256" sumtext="PRCPCNT"/>
  189. <Column id="diagcnt" type="STRING" size="256" sumtext="DIAGCNT"/>
  190. <Column id="resaveyn" type="STRING" size="256" sumtext="오류체크 ReCall여부"/>
  191. <Column id="prcpdd" type="STRING" size="256" sumtext="처방적용일자"/>
  192. <Column id="prcpno" type="STRING" size="256" sumtext="처방번호"/>
  193. <Column id="prcpcd" type="STRING" size="256" sumtext="처방(수가)코드"/>
  194. <Column id="prcpnm" type="STRING" size="256" sumtext="처방명"/>
  195. <Column id="errcd" type="STRING" size="256" sumtext="오류코드"/>
  196. <Column id="errmsg" type="STRING" size="256" sumtext="오류메세지"/>
  197. <Column id="cnfcd" type="STRING" size="256" sumtext="사유/확인 코드"/>
  198. <Column id="cnfmsg" type="STRING" size="256" sumtext="사유/상세 내용"/>
  199. <Column id="openargval" type="STRING" size="256" sumtext="오픈시 ARG값"/>
  200. <Column id="openprmval" type="STRING" size="256" sumtext="오픈시 PARAM값"/>
  201. </ColumnInfo>
  202. </Dataset>
  203. <Dataset id="ds_patnm" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  204. <Dataset id="ds_main_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  205. <ColumnInfo>
  206. <Column id="inputval" type="STRING" size="256"/>
  207. </ColumnInfo>
  208. <Rows>
  209. <Row>
  210. <Col id="inputval"/>
  211. </Row>
  212. </Rows>
  213. </Dataset>
  214. <Dataset id="ds_recv_rtninfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  215. <ColumnInfo>
  216. <Column id="rtnmsg" type="STRING" size="256"/>
  217. <Column id="rtncode" type="STRING" size="256"/>
  218. </ColumnInfo>
  219. </Dataset>
  220. </Objects>
  221. <Bind>
  222. <BindItem id="item0" compid="Div00.radio1" propid="value" datasetid="ds_cond" columnid="ordgubun"/>
  223. <BindItem id="item1" compid="Div00.cmb_orddept" propid="value" datasetid="ds_cond" columnid="orddeptcd"/>
  224. <BindItem id="item2" compid="Div00.input5" propid="value" datasetid="ds_cond" columnid="errcd"/>
  225. <BindItem id="item3" compid="Div00.input4" propid="value" datasetid="ds_cond" columnid="fromdd"/>
  226. <BindItem id="item4" compid="Div00.input3" propid="value" datasetid="ds_cond" columnid="todd"/>
  227. <BindItem id="item6" compid="Div00.cmb_orddrid" propid="value" datasetid="ds_cond" columnid="orddrid"/>
  228. <BindItem id="item7" compid="Div00.input1" propid="value" datasetid="ds_cond" columnid="pid"/>
  229. <BindItem id="item8" compid="Div00.input2" propid="value" datasetid="ds_cond" columnid="hngnm"/>
  230. </Bind>
  231. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  232. * System Name :
  233. * Job Name :
  234. * Creator :
  235. * Make Date : 2018-11-01
  236. * Description :
  237. *---------------------------------------------------------------------------------------
  238. * Modify Date Modifier Modify Description
  239. *---------------------------------------------------------------------------------------
  240. *
  241. *
  242. *---------------------------------------------------------------------------------------
  243. ****************************************************************************************/
  244. include "com_commonxp::comm_main.xjs";
  245. include "com_commonxp::comm_tran.xjs";
  246. include "emr_prcpmngtxp::MMO001.xjs";
  247. function SPMMI00500_처방에러내역_oninit(obj:Form, e:InitEventInfo)
  248. {
  249. frmf_initForm(obj);
  250. }
  251. function SPMMI00500_처방에러내역_onload(obj:Form, e:LoadEventInfo)
  252. {
  253. grdf_initGrid(datagrid1);
  254. grdf_setToolTipBind(datagrid1);
  255. grdf_setGridSort(datagrid1);
  256. ds_cond.setColumn(0, "fromdd" , utlf_getCurrentDate()); // 최근 7일
  257. ds_cond.setColumn(0, "todd" , utlf_getCurrentDate()); //종료일자는 현재일자
  258. lf_mmbfGetDeptCodeComboList(ds_orddept, "A"); //부서코드 콤보
  259. appf_getCodeList([{dsNm: "ds_M0003", cdGrpId: "M0003"}
  260. ,{dsNm: "ds_M0005", cdGrpId: "M0005"}
  261. ,{dsNm: "ds_M0011", cdGrpId: "M0011"}
  262. ,{dsNm: "ds_A0006", cdGrpId: "A0006"}], true);
  263. frmf_addComboItem("Div00.cmb_orddept"); //진료과 전체항목 추가
  264. Div00.cmb_orddept.index = 0;
  265. frmf_addComboItem("Div00.cmb_orddrid"); //의사콤보 전체항목 추가
  266. Div00.cmb_orddrid.index = 0;
  267. }
  268. function Div00_input1_onkeydown(obj:Edit, e:KeyEventInfo)
  269. {
  270. if(e.keycode == 13) {
  271. obj.updateToDataset();
  272. Div00.btn_req.onclick.fireEvent(Div00.btn_req, new ClickEventInfo());
  273. }
  274. }
  275. function Div00_btn_patsrch_onclick(obj:Button, e:ClickEventInfo)
  276. {
  277. frmf_modal("SPPMC02500", "SPPMC02500", null, null, null, null, null, null, null, null, null, null, "M");
  278. if(!utlf_isNull(this.objects["ds_patinfolist"])) {
  279. var sPid = ds_patinfolist.getColumn(0, "pid");
  280. var sHngnm = ds_patinfolist.getColumn(0, "hngnm");
  281. ds_cond.setColumn(0, "pid", sPid);
  282. ds_cond.setColumn(0, "hngnm", sHngnm);
  283. }
  284. }
  285. function Div00_cmb_orddept_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  286. {
  287. lf_mmbfGetUserComboList(ds_userlist, obj.value, "0330");
  288. frmf_addComboItem("Div00.cmb_orddrid"); //의사콤보 전체항목 추가
  289. Div00.cmb_orddrid.value = "-";
  290. }
  291. function Div00_input5_onkeydown(obj:Edit, e:KeyEventInfo)
  292. {
  293. if(e.keycode == 13) {
  294. obj.updateToDataset();
  295. Div00.btn_req.onclick.fireEvent(Div00.btn_req, new ClickEventInfo());
  296. }
  297. }
  298. function Div00_btn_req_onclick(obj:Button, e:ClickEventInfo)
  299. {
  300. fInputValueCheck();
  301. fReqGetPrcpErrList();
  302. }
  303. function fReqGetPrcpErrList() {
  304. var sRtnMsg = "";
  305. var errcd = utlf_trim(ds_cond.getColumn(0, "errcd"))
  306. ds_cond.setColumn(0, "errcd", errcd);
  307. ds_recv_rtninfo.clearData();
  308. var oParam = {};
  309. oParam.id = "TRMMO33901";
  310. oParam.service = "prcpinfoapp.PrcpInfoEtcMngt";
  311. oParam.method = "reqGetSrchPrcpErrlist";
  312. oParam.inds = "req=ds_cond";
  313. oParam.outds = "ds_prcperrlist=prcpErrlist";
  314. oParam.async = false;
  315. //oParam.transaction = false;
  316. oParam.callback = "cf_TRMMO33901";
  317. tranf_submit(oParam);
  318. }
  319. function cf_TRMMO33901(sSvcId, nErrorCode, sErrorMsg) {
  320. if(nErrorCode < 0) return;
  321. }
  322. // 입력값의 유효범위 체크
  323. function fInputValueCheck() {
  324. var pid = utlf_trim(ds_cond.getColumn(0, "pid"));
  325. if(!utlf_isNull(pid)){
  326. if(lf_reqPatInfo(ds_patnm, "pid", "ptbs", pid)) {
  327. ds_cond.setColumn(0, "hngnm", ds_patnm.getColumn(0, "hngnm"));
  328. }
  329. }else{
  330. Div00.input2.value = '';
  331. }
  332. }
  333. ]]></Script>
  334. </Form>
  335. </FDL>