SMLBD01400_검사결과판정.xrw 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SMLBD01400_검사결과판정.xrw
  4. * 설 명 : 검사결과판정
  5. * 설 계 자 : (주)에이씨케이 -
  6. * 작 성 자 : (주)에이씨케이 - 박정은
  7. * 작 성 일 : 2007.11.23
  8. * 수정이력 : 2007.11.23 박정은
  9. * 기 타 :
  10. -->
  11. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  12. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  13. <xhtml:head>
  14. <xhtml:title>검사결과판정</xhtml:title>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root xmlns="">
  18. <main>
  19. <dnorlist>
  20. <dnorno/>
  21. <dnornm/>
  22. <chk/>
  23. <fityn/>
  24. <retestyn/>
  25. <tnsrpid/>
  26. <tnsrnm/>
  27. <tnsrgstno/>
  28. <tnssexage/>
  29. <btype/>
  30. <dnorgstno/>
  31. <dnorsexage/>
  32. <dnorbtype/>
  33. <dnorseqno/>
  34. <orddd/>
  35. <cretno/>
  36. <orddeptcd/>
  37. <acptseqno/>
  38. <orgorddd/>
  39. <ordtype/>
  40. <instcd/>
  41. <prcpdd/>
  42. <barcdprntdt/>
  43. <prcpseq/>
  44. <orddrid/>
  45. <prcpgenrflag/>
  46. <signno/>
  47. </dnorlist>
  48. <dnorpam>
  49. <tnsrpid/>
  50. <orddd/>
  51. <cretno/>
  52. <orddeptcd/>
  53. <acptseqno/>
  54. <orgorddd/>
  55. <ordtype/>
  56. <instcd/>
  57. </dnorpam>
  58. <dnor>
  59. <patinfo>
  60. <tnsrnm/>
  61. <tnsrgstno/>
  62. <tnssexage/>
  63. <tnsbtype/>
  64. </patinfo>
  65. <dnorinfo>
  66. <dnornm/>
  67. <dnorrgstno/>
  68. <dnorsexage/>
  69. <dnorbtype/>
  70. </dnorinfo>
  71. <dnortestlist>
  72. <tclsnm/>
  73. <inptrslt/>
  74. <refval/>
  75. <lastreptdt/>
  76. <lastreptid/>
  77. </dnortestlist>
  78. </dnor>
  79. </main>
  80. <send>
  81. <testgbn/>
  82. <tnsrpid/>
  83. <dnorno/>
  84. <dnorseqno/>
  85. <refromdd/>
  86. <retodd/>
  87. <codeflag/>
  88. <basecdid/>
  89. <prcpseq/>
  90. <refflag/>
  91. <resncd/>
  92. <pid/>
  93. <resnnm/>
  94. <prcpdd/>
  95. <barcdprntdt/>
  96. <prcpseq/>
  97. <signno/>
  98. <cretno/>
  99. </send>
  100. <init/>
  101. <hidden>
  102. <pid/>
  103. <testgbn>1</testgbn>
  104. <retestfromdd/>
  105. <retesttodd/>
  106. <patinfolist/>
  107. <signdata>
  108. <dnorinfo/>
  109. <dnortestinfo/>
  110. </signdata>
  111. </hidden>
  112. </root>
  113. </instance>
  114. <script type="javascript" ev:event="xforms-ready">
  115. <![CDATA[
  116. //초기화
  117. init();
  118. // 공여자 목록 조회
  119. //fGetDnorList();
  120. ]]>
  121. </script>
  122. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  123. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  124. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  125. <script type="javascript" src="../../../emr/carecomweb/js/ENRSignEngine.js"/>
  126. <submission id="TXLRR00401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/signdata"/>
  127. <submission id="TRLZZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/LB0118"/>
  128. <submission id="TRLBD01401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/dnorlist"/>
  129. <submission id="TRLBD01402" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/dnor/dnortestlist"/>
  130. <submission id="TXLBD01401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  131. <submission id="TRLBD01403" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/dnorpam"/>
  132. </model>
  133. <script type="javascript">
  134. <![CDATA[
  135. //초기화
  136. function init(){
  137. model.removeNodeset("/root/main/dnorlist");
  138. grd_dnorlist.rebuild();
  139. model.removeNodeset("/root/main/dnor/dnortestlist");
  140. grd_dnorprcplist.rebuild();
  141. //fSetTestgbn();
  142. var today = getCurrentDate();
  143. var mDate = getCurrentDate().toDate("YYYYMMDD").getAddDate(-30);
  144. model.makeValue("/root/hidden/retestfromdd", mDate.getDateFormat("YYYYMMDD"));
  145. model.makeValue("/root/hidden/retesttodd", today);
  146. // 초기정보 조회
  147. model.setValue("/root/send/codeflag", "0118|"); // 0118=
  148. model.setValue("/root/send/basecdid", "LB002"); // LB002 = 부적합/재검사유목록
  149. submit("TRLZZ00101");
  150. //if(getPatientInfo("pid") != ""){ // 탑정보 있을때
  151. //model.setValue("/root/hidden/pid", getPatientInfo("pid"));
  152. //model.setValue("/root/send/testgbn", "1"); // 1: 미판정 2: 재검 3: 환자별
  153. // model.setValue("/root/send/tnsrpid", getPatientInfo("pid"));
  154. // fGetDnorList("T"); //Top
  155. //}else{ //탑정보 없을때
  156. model.setValue("/root/hidden/pid", "");
  157. model.setValue("/root/send/tnsrpid", "");
  158. model.setValue("/root/send/testgbn", "1"); // 1: 미판정 2: 재검 3: 환자별
  159. // 공여자 목록 조회
  160. fGetDnorList("A"); //Auto
  161. //}
  162. }
  163. // 공여자 목록 조회
  164. function fGetDnorList(ref){
  165. if(ref =="A"){
  166. delPatientInfos(); //환자정보 전체 삭제
  167. model.setValue("/root/send/testgbn", model.getValue("/root/hidden/testgbn")); // 1: 미판정 2: 재검 3: 환자별
  168. model.setValue("/root/send/tnsrpid", model.getValue("/root/hidden/pid"));
  169. model.setValue("/root/send/refromdd", model.getValue("/root/hidden/retestfromdd"));
  170. model.setValue("/root/send/retodd", model.getValue("/root/hidden/retesttodd")); // 재검일자 테이블 생기면 쿼리수정해야함
  171. }else if (ref =="T"){
  172. model.setValue("/root/send/testgbn", "1"); // 1: 미판정 2: 재검(X) 3: 환자별
  173. model.setValue("/root/hidden/testgbn", "1");
  174. }
  175. submit("TRLBD01401");
  176. if(grd_dnorlist.rows > 1){
  177. grd_dnorlist.row = 1;
  178. // 환자정보, 공여자정보 보이게
  179. fGetPatinfo("R");
  180. // 공여자별 검사내역 조회
  181. fGetDnorTestList();
  182. }else{
  183. model.setValue("/root/main/dnor/patinfo/tnsrnm", "");
  184. model.setValue("/root/main/dnor/patinfo/tnsrgstno", "");
  185. model.setValue("/root/main/dnor/patinfo/tnssexage", "");
  186. model.setValue("/root/main/dnor/patinfo/tnsbtype", "");
  187. model.setValue("/root/main/dnor/dnorinfo/dnornm", "");
  188. model.setValue("/root/main/dnor/dnorinfo/dnorrgstno", "");
  189. model.setValue("/root/main/dnor/dnorinfo/dnorsexage", "");
  190. model.setValue("/root/main/dnor/dnorinfo/dnorbtype", "");
  191. model.refresh();
  192. messageBox("미판정 공여자가 ", "I004"); // 선택하십시오.
  193. }
  194. if(grd_dnorlist.rows < 2){
  195. model.removeNodeset("/root/main/dnor/dnortestlist");
  196. grd_dnorprcplist.rebuild();
  197. }
  198. }
  199. // 환자정보, 공여자정보 보이게
  200. function fGetPatinfo(ref){
  201. model.setValue("/root/main/dnor/patinfo/tnsrnm", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/tnsrnm"));
  202. model.setValue("/root/main/dnor/patinfo/tnsrgstno", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/tnsrgstno"));
  203. model.setValue("/root/main/dnor/patinfo/tnssexage", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/tnssexage"));
  204. model.setValue("/root/main/dnor/patinfo/tnsbtype", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/btype"));
  205. model.setValue("/root/main/dnor/dnorinfo/dnornm", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/dnornm"));
  206. model.setValue("/root/main/dnor/dnorinfo/dnorrgstno", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/dnorgstno"));
  207. model.setValue("/root/main/dnor/dnorinfo/dnorsexage", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/dnorsexage"));
  208. model.setValue("/root/main/dnor/dnorinfo/dnorbtype", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/dnorbtype"));
  209. if(getPatientInfo("pid") == ""){ //top 없을때
  210. //탑정보param 원무정보조회
  211. fGetPamInfo();
  212. }else{ //top있을때
  213. //탑정보와 환자pid 같을때
  214. if(getPatientInfo("pid") != model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/tnsrpid")){
  215. //탑정보param 원무정보조회
  216. fGetPamInfo();
  217. }else{
  218. // 재조회필요없음
  219. }
  220. }
  221. //if(ref =="S"){
  222. if(grd_dnorlist.rows > 1){
  223. if(getPatientInfo("pid") != model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/tnsrpid")){
  224. fGetPamInfo();
  225. fSetTopInfo();
  226. }
  227. }
  228. ////fSetTopInfo();
  229. //}
  230. model.refresh();
  231. model.setValue("/root/main/dnor/patinfo/tnsrnm", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/tnsrnm"));
  232. model.setValue("/root/main/dnor/patinfo/tnsrgstno", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/tnsrgstno"));
  233. model.setValue("/root/main/dnor/patinfo/tnssexage", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/tnssexage"));
  234. model.setValue("/root/main/dnor/patinfo/tnsbtype", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/btype"));
  235. model.setValue("/root/main/dnor/dnorinfo/dnornm", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/dnornm"));
  236. model.setValue("/root/main/dnor/dnorinfo/dnorrgstno", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/dnorgstno"));
  237. model.setValue("/root/main/dnor/dnorinfo/dnorsexage", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/dnorsexage"));
  238. model.setValue("/root/main/dnor/dnorinfo/dnorbtype", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/dnorbtype"));
  239. //if(ref =="S"){
  240. // fSetTopInfo();
  241. //}
  242. model.refresh();
  243. }
  244. function fGetPamInfo(){
  245. model.setValue("/root/send/tnsrpid", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/tnsrpid"));
  246. submit("TRLBD01403");
  247. }
  248. // 탑 정보
  249. function fSetTopInfo(){
  250. var ordtype = model.getValue("/root/main/dnorpam/ordtype");
  251. if(ordtype == ""){
  252. delPatientInfos(); //환자정보 전체 삭제
  253. return;
  254. }
  255. var today = getCurrentDate();
  256. if(model.getValue("/root/main/dnorpam/ordtype")=="I"){
  257. setParameter("condparam", model.getValue("/root/main/dnorpam/ordtype") + "▦" +
  258. model.getValue("/root/main/dnorpam/tnsrpid") + "▦" +
  259. model.getValue("/root/main/dnorpam/orddd") + "▦" +
  260. model.getValue("/root/main/dnorpam/cretno") + "▦" +
  261. model.getValue("/root/main/dnorpam/acptseqno") + "▦" + // seqno
  262. today + "▦" +
  263. model.getValue("/root/main/dnorpam/instcd"));
  264. }else if(model.getValue("/root/main/dnorpam/ordtype")=="O"){
  265. setParameter("condparam", model.getValue("/root/main/dnorpam/ordtype") + "▦" +
  266. model.getValue("/root/main/dnorpam/tnsrpid") + "▦" +
  267. model.getValue("/root/main/dnorpam/orddd") + "▦" +
  268. model.getValue("/root/main/dnorpam/cretno") + "▦" +
  269. model.getValue("/root/main/dnorpam/instcd") + "▦" +
  270. model.getValue("/root/main/dnorpam/acptseqno") + "▦" +
  271. model.getValue("/root/main/dnorpam/orgorddd") + "▦");
  272. }
  273. modal("SPMMO08900");
  274. /*
  275. var ordtype = model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/ordtype");
  276. if(ordtype == ""){
  277. delPatientInfos(); //환자정보 전체 삭제
  278. return;
  279. }
  280. var today = getCurrentDate();
  281. if(model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/ordtype")=="I"){
  282. setParameter("condparam", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/ordtype") + "▦" +
  283. model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/tnsrpid") + "▦" +
  284. model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/orddd") + "▦" +
  285. model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/cretno") + "▦" +
  286. model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/acptseqno") + "▦" + // seqno
  287. today + "▦" +
  288. model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/instcd"));
  289. }else if(model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/ordtype")=="O"){
  290. setParameter("condparam", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/ordtype") + "▦" +
  291. model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/tnsrpid") + "▦" +
  292. model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/orddd") + "▦" +
  293. model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/cretno") + "▦" +
  294. model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/instcd") + "▦" +
  295. model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/acptseqno") + "▦" +
  296. model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/orgorddd") + "▦");
  297. }
  298. modal("SPMMO08900");
  299. */
  300. }
  301. // 공여자별 검사내역 조회
  302. function fGetDnorTestList(){
  303. model.setValue("/root/send/tnsrpid", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/tnsrpid"));
  304. model.setValue("/root/send/dnorno", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/dnorno"));
  305. model.setValue("/root/send/dnorseqno", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/dnorseqno"));
  306. model.setValue("/root/send/prcpdd", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/prcpdd")); //20080904_승현추가
  307. model.setValue("/root/send/barcdprntdt", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/barcdprntdt")); //20080904_승현추가
  308. model.setValue("/root/send/refflag", model.getValue("/root/hidden/testgbn"));
  309. model.setValue("/root/send/prcpseq", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/prcpseq")); //승현추가
  310. submit("TRLBD01402");
  311. grd_dnorprcplist.rebuildStyle();
  312. for(z=1; z<grd_dnorprcplist.rows; z++){
  313. if( (model.getValue("/root/main/dnor/dnortestlist["+z+"]/testcd")=="LBR001") || (model.getValue("/root/main/dnor/dnortestlist["+z+"]/testcd")=="LHR105") ){
  314. grd_dnorprcplist.cellStyle("background-color", z,2,z,2) = "#cccccc";
  315. }
  316. }
  317. grd_dnorprcplist.refresh();
  318. }
  319. // 검사구분에따라 조회변경
  320. function fSetTestgbn(){
  321. if(model.getValue("/root/hidden/testgbn")=="1"){ // 미판정
  322. grp_pat.visible = true;
  323. grp_retest.visible = false;
  324. model.setValue("/root/hidden/pid", "");
  325. }else if(model.getValue("/root/hidden/testgbn")=="2"){ // 재검
  326. grp_pat.visible = false;
  327. grp_retest.visible = true;
  328. var today = getCurrentDate();
  329. var mDate = getCurrentDate().toDate("YYYYMMDD").getAddDate(-30);
  330. model.makeValue("/root/hidden/retestfromdd", mDate.getDateFormat("YYYYMMDD"));
  331. model.makeValue("/root/hidden/retesttodd", today);
  332. ipt_from.refresh();
  333. ipt_to.refresh();
  334. }else if(model.getValue("/root/hidden/testgbn")=="3"){ // 환자별
  335. grp_pat.visible = true;
  336. grp_retest.visible = false;
  337. //alert("개발중");
  338. }
  339. if(getPatientInfo("pid") != ""){
  340. //// fGetDnorList("A");
  341. }
  342. }
  343. // 환자정보검색 팝업 띄우기
  344. function fGetPatInfoPopUp(){
  345. modal("SPLBD91300", "", "", "","", "", "");
  346. //fGetPatinfo();
  347. model.makeValue("/root/hidden/testgbn", "3");
  348. model.setValue("/root/hidden/pid", model.getValue("/root/hidden/patinfolist/tnsrpid"));
  349. fGetDnorList("A");
  350. }
  351. // 엔터키 이벤트
  352. function fKeyEvent(){
  353. if(event.keyCode == "13"){
  354. if(event.target=="ipt_pid"){
  355. model.setValue("/root/hidden/pid", (ipt_pid.currentText).toUpperCase());
  356. // 공여자목록조회
  357. fGetDnorList("A");
  358. ipt_pid.selBegin = 0;
  359. ipt_pid.selEnd = ipt_pid.currentText.length;
  360. }
  361. }
  362. }
  363. // 저장버튼(결과판정)
  364. function fExeRsltSave(){
  365. if(grd_dnorlist.row < 1){
  366. messageBox("공여자를 ", "C002"); // 선택하십시오.
  367. return;
  368. }
  369. model.setValue("/root/send/dnorno", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/dnorno"));
  370. model.setValue("/root/send/dnorseqno", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/dnorseqno"));
  371. model.setValue("/root/send/pid", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/tnsrpid"));
  372. model.setValue("/root/send/prcpseq", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/prcpseq")); //처방별로 판정하기 위해 추가 _20080910_승현
  373. var fityn = model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/fityn");
  374. model.setValue("/root/send/refflag", fityn);
  375. var resncd = "";
  376. var resnnm = "";
  377. if(fityn == "1"){
  378. resncd = "-";
  379. resnnm = "-";
  380. }else{
  381. resncd = model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/retestyn");
  382. resnnm = model.getValue("/root/init/LB0118[cd='"+ resncd +"']/nm");
  383. }
  384. model.setValue("/root/send/resncd", resncd);
  385. model.setValue("/root/send/resnnm", resnnm);
  386. //************************************************************************************************************************************************
  387. //인증
  388. if(Sign.signprocess()){
  389. var signno = 0;
  390. var recsaveflag = "N";
  391. if(model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/signno") != ""){ //이러꼬롬 하면 되나요??
  392. signno = model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/signno");
  393. recsaveflag = "Y";
  394. }else{
  395. signno = 0;
  396. }
  397. model.setValue("/root/send/signno" , signno); //서명번호
  398. model.setValue("/root/send/cretno" , model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/cretno"));
  399. model.makeNode("/root/send/signdata");
  400. model.makeValue("/root/send/signdata/pid" , model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/tnsrpid")); //등록번호
  401. model.makeValue("/root/send/signdata/orddd" , model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/orddd")); //입원, 응급 : 입원일자, 외래 : 진료일자
  402. model.makeNode("/root/send/signdata/signno");
  403. model.setValue("/root/send/signdata/signno" , signno);
  404. model.makeValue("/root/send/signdata/cretno" , model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/cretno")); //생성번호
  405. model.makeValue("/root/send/signdata/recdd" , getCurrentDate()); //실제기록이 이루어진 기록일자
  406. model.makeValue("/root/send/signdata/rectm" , getCurrentTime()); //실제기록이 이루어진 기록시간
  407. model.makeValue("/root/send/signdata/recsaveflag" , recsaveflag); //전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
  408. model.makeValue("/root/send/signdata/signflag" , "02"); //서명자료구분(01 : 진료, 02 : 간호)
  409. model.makeValue("/root/send/signdata/signgenrflag", model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/prcpgenrflag")); //입원, 외래구분
  410. model.makeValue("/root/send/signdata/orddeptcd" , model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/orddeptcd")); //진료과
  411. model.makeValue("/root/send/signdata/orddrid" , model.getValue("/root/main/dnorlist["+grd_dnorlist.row+"]/orddrid")); //진료의ID
  412. model.makeValue("/root/send/signdata/formcd" , "-"); //서식코드
  413. model.makeValue("/root/send/signdata/signbfcnts" , Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보), 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
  414. model.makeValue("/root/send/signdata/signaftcnts" , Sign.signedInfos[2]); //공인인증 처리후 데이터
  415. }else{
  416. alert("인증실패");
  417. return false;
  418. }
  419. submit("TXLRR00401");
  420. // 인증 끝
  421. //인증됐으면 인증번호 ★ ★ ★
  422. model.setValue("/root/send/signno", model.getValue("/root/signdata/signno"));
  423. //************************************************************************************************************************************************
  424. if(submit("TXLBD01401")){
  425. fGetDnorList("A");
  426. model.removeNodeset("/root/main/dnor/dnortestlist");
  427. grd_dnorprcplist.rebuild();
  428. }
  429. }
  430. //인증저장위해 생성_20080915_승현
  431. function fMake_SignData(){
  432. model.removeNodeset("/root/hidden/signdata"); //인증저장 정보 초기화
  433. model.makeNode("/root/hidden/signdata/dnorlist");
  434. model.makeNode("/root/hidden/signdata/dnortestlist");
  435. copyNodeListType("/root/hidden/signdata/dnorlist" , "/root/main/dnorlist["+grd_dnorlist.row+"]"); //공여자정보
  436. copyNodeListType("/root/hidden/signdata/dnortestlist" , "/root/main/dnor/dnortestlist"); //공여자검사결과
  437. Sign.addnode("/root/hidden/signdata"); //인증저장 정보 공여자정보+공여자검사결과
  438. }
  439. ]]>
  440. </script>
  441. </xhtml:head>
  442. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  443. <group id="group3" style="left:0px; top:0px; width:1195px; height:13px; ">
  444. <caption id="caption7" class="tit_1" style="left:0px; top:0px; width:223px; height:14px; ">검사결과판정</caption>
  445. </group>
  446. <group id="group2" style="left:0px; top:40px; width:1195px; height:744px; ">
  447. <group id="group1" style="left:0px; top:10px; width:1194px; height:35px; vertical-align:top; ">
  448. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1194px; height:35px; "/>
  449. <button id="button2" class="btn1_letter2" navindex="2" style="left:1123px; top:7px; width:56px; height:22px; ">
  450. <caption>조회</caption>
  451. <script type="javascript" ev:event="DOMActivate">
  452. <![CDATA[
  453. // 공여자 목록 조회
  454. fGetDnorList("A");
  455. ]]>
  456. </script>
  457. </button>
  458. <line id="line13" class="line_4" style="x1:1108px; y1:7px; x2:1108px; y2:29px; "/>
  459. <caption id="caption9" class="search_name" style="left:15px; top:9px; width:86px; height:17px; ">검사구분 :</caption>
  460. <select1 id="rdo_1" ref="/root/hidden/testgbn" class="radio_search" appearance="full" cellspacing="10" cols="3" overflow="visible" style="left:110px; top:9px; width:220px; height:18px; border-style:none; ">
  461. <choices>
  462. <item>
  463. <label>환자별</label>
  464. <value>3</value>
  465. </item>
  466. <item>
  467. <label>미판정</label>
  468. <value>1</value>
  469. </item>
  470. </choices>
  471. <script type="javascript" ev:event="xforms-value-changed">
  472. <![CDATA[
  473. fSetTestgbn();
  474. ]]>
  475. </script>
  476. </select1>
  477. <group id="grp_retest" style="left:370px; top:2px; width:310px; height:30px; background-color:#fffbf2; ">
  478. <caption id="caption10" class="search_no_b" style="left:195px; top:6px; width:15px; height:17px; vertical-align:middle; ">~</caption>
  479. <caption id="caption11" class="search_name" style="left:5px; top:6px; width:86px; height:17px; ">재검일자 :</caption>
  480. <input id="ipt_from" ref="/root/hidden/retestfromdd" class="input_search" inputtype="date" style="left:105px; top:6px; width:85px; height:19px; "/>
  481. <input id="ipt_to" ref="/root/hidden/retesttodd" class="input_search" inputtype="date" style="left:210px; top:6px; width:85px; height:19px; "/>
  482. </group>
  483. <group id="grp_pat" style="left:370px; top:2px; width:310px; height:30px; background-color:#fffbf2; ">
  484. <caption id="caption13" class="search_name" style="left:5px; top:6px; width:86px; height:17px; ">환자정보 :</caption>
  485. <input id="ipt_pid" ref="/root/hidden/pid" class="input_search" navindex="1" inputtype="button" maxlength="10" style="left:98px; top:6px; width:130px; height:19px; ">
  486. <script type="javascript" ev:event="onkeypress">
  487. <![CDATA[
  488. fKeyEvent();
  489. ]]>
  490. </script>
  491. <script type="javascript" ev:event="onbuttonclick">
  492. <![CDATA[
  493. fGetDnorList("A");
  494. ]]>
  495. </script>
  496. </input>
  497. <button id="button5" class="icon_search" style="left:234px; top:7px; width:16px; height:16px; ">
  498. <caption/>
  499. <script type="javascript" ev:event="DOMActivate">
  500. <![CDATA[
  501. // 환자정보검색 팝업 띄우기
  502. fGetPatInfoPopUp();
  503. ]]>
  504. </script>
  505. </button>
  506. </group>
  507. </group>
  508. <caption id="caption36" class="tit_2" style="left:5px; top:55px; width:100px; height:13px; vertical-align:middle; background-image:../../../com/commonweb/images/tit_bullet2.gif; ">환자정보</caption>
  509. <line id="line1" class="line_1" style="x1:0px; y1:223px; x2:460px; y2:223px; "/>
  510. <caption id="caption1" class="tit_2" style="left:5px; top:208px; width:111px; height:13px; ">공여자목록</caption>
  511. <line id="line6" class="line_1" style="x1:0px; y1:70px; x2:460px; y2:70px; "/>
  512. <caption id="caption46" class="cell_1" style="left:0px; top:99px; width:80px; height:23px; vertical-align:middle; ">성별/나이</caption>
  513. <caption id="caption48" class="cell_1" style="left:206px; top:99px; width:100px; height:23px; vertical-align:middle; ">혈액형</caption>
  514. <line id="line2" class="line_1" style="x1:465px; y1:70px; x2:1194px; y2:70px; "/>
  515. <caption id="caption5" class="tit_2" style="left:470px; top:55px; width:126px; height:13px; ">공여자별 검사내역</caption>
  516. <line id="line9" class="line_3" style="x1:0px; y1:121px; x2:460px; y2:121px; "/>
  517. <output id="output1" ref="/root/main/dnor/patinfo/tnsrnm" class="output_fix" style="left:83px; top:76px; width:120px; height:19px; "/>
  518. <output id="output2" ref="/root/main/dnor/patinfo/tnsrgstno" class="output_fix" style="left:309px; top:76px; width:150px; height:19px; "/>
  519. <output id="output3" ref="/root/main/dnor/patinfo/tnssexage" class="output_fix" style="left:83px; top:100px; width:120px; height:19px; "/>
  520. <output id="output4" ref="/root/main/dnor/patinfo/tnsbtype" class="output_fix" style="left:309px; top:100px; width:150px; height:19px; "/>
  521. <datagrid id="grd_dnorlist" nodeset="/root/main/dnorlist" caption="공여자번호^공여자명^선택^적합여부 ▼^부적합 사유 ▼^처방일자^바코드발행일시" colsep="^" colwidth="80, 80, 0, 80, 130^80^80" dataheight="25" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" style="left:0px; top:228px; width:460px; height:514px; ">
  522. <col ref="dnorno"/>
  523. <col ref="dnornm"/>
  524. <col ref="chk" type="checkbox"/>
  525. <col ref="fityn" type="combo">
  526. <choices>
  527. <item>
  528. <label>적합</label>
  529. <value>1</value>
  530. </item>
  531. <item>
  532. <label>부적합</label>
  533. <value>2</value>
  534. </item>
  535. <item>
  536. <label>미판정</label>
  537. <value>0</value>
  538. </item>
  539. </choices>
  540. </col>
  541. <col ref="retestyn" type="combo">
  542. <choices>
  543. <itemset nodeset="/root/init/LB0118">
  544. <label ref="nm"/>
  545. <value ref="cd"/>
  546. </itemset>
  547. </choices>
  548. </col>
  549. <col ref="prcpdd" visibility="hidden" format="yyyy-mm-dd"/>
  550. <col ref="barcdprntdt" visibility="hidden"/>
  551. <script type="javascript" ev:event="onclick">
  552. <![CDATA[
  553. if(grd_dnorlist.isCell(event.target) && grd_dnorlist.row >= grd_dnorlist.fixedRows){
  554. // 환자정보, 공여자정보 보이게
  555. //fGetPatinfo();
  556. if(grd_dnorlist.col != "3"){
  557. // 환자정보, 공여자정보 보이게
  558. fGetPatinfo("S");
  559. // 공여자별 검사내역 조회
  560. fGetDnorTestList();
  561. }
  562. }
  563. ]]>
  564. </script>
  565. </datagrid>
  566. <datagrid id="grd_dnorprcplist" nodeset="/root/main/dnor/dnortestlist" caption="검사항목명^결과^적합기준치^결과보고시간^검사자" colsep="^" colwidth="160, 120, 130, 130, 80" dataheight="23" ellipsis="true" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" style="left:465px; top:75px; width:729px; height:667px; ">
  567. <col ref="tclsnm" style="left:20px; top:25px; width:90px; height:25px; "/>
  568. <col ref="inptrslt" style="text-align:left; "/>
  569. <col ref="refval"/>
  570. <col ref="lastreptdt" format="yyyy-mm-dd hh:nn"/>
  571. <col ref="lastreptid"/>
  572. </datagrid>
  573. <line id="line3" class="line_2" style="x1:0px; y1:97px; x2:460px; y2:97px; "/>
  574. <output id="output5" ref="/root/main/dnor/dnorinfo/dnorbtype" class="output_fix" style="left:309px; top:176px; width:150px; height:19px; "/>
  575. <caption id="caption3" class="cell_1" style="left:0px; top:175px; width:80px; height:23px; vertical-align:middle; ">성별/나이</caption>
  576. <caption id="caption6" class="tit_2" style="left:5px; top:131px; width:100px; height:13px; vertical-align:middle; background-image:../../../com/commonweb/images/tit_bullet2.gif; ">공여자정보</caption>
  577. <caption id="caption8" class="cell_1" style="left:206px; top:175px; width:100px; height:23px; vertical-align:middle; ">혈액형</caption>
  578. <line id="line7" class="line_2" style="x1:0px; y1:173px; x2:460px; y2:173px; "/>
  579. <output id="output6" ref="/root/main/dnor/dnorinfo/dnornm" class="output_fix" style="left:83px; top:152px; width:120px; height:19px; "/>
  580. <output id="output7" ref="/root/main/dnor/dnorinfo/dnorrgstno" class="output_fix" style="left:309px; top:152px; width:150px; height:19px; "/>
  581. <line id="line10" class="line_1" style="x1:0px; y1:146px; x2:460px; y2:146px; "/>
  582. <output id="output8" ref="/root/main/dnor/dnorinfo/dnorsexage" class="output_fix" style="left:83px; top:176px; width:120px; height:19px; "/>
  583. <line id="line5" class="line_3" style="x1:0px; y1:197px; x2:460px; y2:197px; "/>
  584. <caption id="caption43" class="cell_1" style="left:0px; top:75px; width:80px; height:23px; vertical-align:middle; ">환자명</caption>
  585. <caption id="caption2" class="cell_1" style="left:0px; top:151px; width:80px; height:23px; vertical-align:middle; ">공여자명</caption>
  586. <caption id="caption4" class="cell_1" style="left:206px; top:151px; width:100px; height:23px; vertical-align:middle; ">주민등록번호</caption>
  587. <caption id="caption47" class="cell_1" style="left:206px; top:75px; width:100px; height:23px; vertical-align:middle; ">주민등록번호</caption>
  588. </group>
  589. <group id="group5" scroll="auto" style="left:0px; top:13px; width:1195px; height:27px; ">
  590. <button id="btn_cle" class="btn4_letter3" style="left:1127px; top:3px; width:68px; height:22px; ">
  591. <caption>초기화</caption>
  592. <script type="javascript" ev:event="DOMActivate">
  593. <![CDATA[
  594. //fSetInit();
  595. init();
  596. ]]>
  597. </script>
  598. </button>
  599. <line id="line35" class="line_6" style="x1:0px; y1:25px; x2:1195px; y2:25px; "/>
  600. <button id="button1" class="btn4_letter2" navindex="3" style="left:1068px; top:3px; width:56px; height:22px; ">
  601. <caption>저장</caption>
  602. <script type="javascript" ev:event="DOMActivate">
  603. <![CDATA[
  604. //alert("개발중");
  605. fExeRsltSave();
  606. ]]>
  607. </script>
  608. </button>
  609. </group>
  610. </xhtml:body>
  611. </xhtml:html>