SMLPU00400_인터넷검사접수.xrw 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SMLPU00400_인터넷검사접수
  4. * 설 명 : 인터넷검사접수
  5. * 설 계 자 : (주)에이씨케이 - 유동철
  6. * 작 성 자 : (주)에이씨케이 - 유동철
  7. * 작 성 일 : 2008.07.12
  8. * 수정이력 :
  9. * 기 타 :
  10. -->
  11. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.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. <trsttest>
  20. <trsttestlist>
  21. <choi/>
  22. <instcd/>
  23. <reqdd/>
  24. <testnm>
  25. <![CDATA[]]>
  26. </testnm>
  27. <spcnm>
  28. <![CDATA[]]>
  29. </spcnm>
  30. <trustinstcd/>
  31. <trustinstnm>
  32. <![CDATA[]]>
  33. </trustinstnm>
  34. <trustpid/>
  35. <pid>-</pid>
  36. <patnm>
  37. <![CDATA[]]>
  38. </patnm>
  39. <sex/>
  40. <age/>
  41. <rrgstno/>
  42. <psptno/>
  43. <spcflagcd/>
  44. <forgnerflagcd/>
  45. <bcolldt/>
  46. <bcno/>
  47. <ptno/>
  48. <relaptno/>
  49. <brthdd/>
  50. <reqseqno/>
  51. <tclscd/>
  52. <spccd/>
  53. <reqcnts>
  54. <![CDATA[<reqfrminfo><spcsite>2</spcsite><choispc><choispclist><choi>true</choi><spcseqno>001</spcseqno><spccd>TCBF08</spccd><spccd2/><spcnm>Ovary cyst</spcnm></choispclist></choispc><inptitem01/><reqcnts>test</reqcnts></reqfrminfo>]]>
  55. </reqcnts>
  56. <uncocd/>
  57. <rrgstno1/>
  58. <rrgstno2/>
  59. <reqno/>
  60. <signbfcnts/>
  61. <signafcnts/>
  62. <orddeptcd/>
  63. <orddrid/>
  64. <cretno/>
  65. <orddd/>
  66. <grupsnglflag/>
  67. <spcseqno/>
  68. <spcseqcd/>
  69. <spcseqnm/>
  70. <deptflagcd/>
  71. <conttestintvlflagcd/>
  72. <conttestorgtims/>
  73. <conttestbasetm/>
  74. <bfptnoref/>
  75. <dummy/>
  76. <trustreqfrmno/>
  77. <acptflagcd/>
  78. <babyflagcd/>
  79. <zipcdseq/>
  80. <zipcd1/>
  81. <zipcd2/>
  82. <zipcdaddr/>
  83. <detladdr/>
  84. </trsttestlist>
  85. </trsttest>
  86. <cert>
  87. <certdata/>
  88. </cert>
  89. <newpat>
  90. <newpatlist>
  91. <instcd/>
  92. <pid/>
  93. </newpatlist>
  94. </newpat>
  95. <barcd>
  96. <barcdlist>
  97. <pid/>
  98. </barcdlist>
  99. </barcd>
  100. </main>
  101. <send/>
  102. <init>
  103. <coophosp>
  104. <coophosplist>
  105. <instcd/>
  106. <coophospcd/>
  107. <coophospnm/>
  108. <uncocd/>
  109. </coophosplist>
  110. </coophosp>
  111. <deptuser>
  112. <deptuserlist>
  113. <instcd/>
  114. <userid/>
  115. </deptuserlist>
  116. </deptuser>
  117. <fromdd/>
  118. <todd/>
  119. <acptflagcd/>
  120. <pid/>
  121. <cmcpid/>
  122. <coophospcd/>
  123. <deptflagcd/>
  124. <sysdt>
  125. <sysdtinfo>
  126. <sysdd/>
  127. <systm/>
  128. </sysdtinfo>
  129. </sysdt>
  130. <reqfrm>
  131. <rqfrminfo/>
  132. </reqfrm>
  133. <userinfo>
  134. <userinfolist/>
  135. </userinfo>
  136. <prcpdrid/>
  137. </init>
  138. <hidden>
  139. <popupmenu>
  140. <grid>
  141. </grid>
  142. </popupmenu>
  143. </hidden>
  144. <message/>
  145. </root>
  146. </instance>
  147. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  148. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  149. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  150. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  151. <script type="javascript" src="../../../lis/commonweb/js/LPZ001.js"/>
  152. <script type="javascript" src="../../../lis/commonweb/js/LZZ001.js"/>
  153. <script type="javascript" src="../../../emr/carecomweb/js/ENRSignEngine.js"/>
  154. <script type="javascript" ev:event="xforms-ready">
  155. <![CDATA[
  156. lzzfMakeBrcdPrntObjHanDo("CommAX");
  157. fExeInitialize();
  158. ]]>
  159. </script>
  160. <submission id="TRLPZ00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/sysdt/sysdtinfo"/>
  161. <submission id="TRLPJ02302" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/coophosp/coophosplist"/>
  162. <submission id="TRLPU00401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/deptuser/deptuserlist"/>
  163. <submission id="TRLPU00402" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/trsttest/trsttestlist"/>
  164. <submission id="TXLPU00401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/barcd/barcdlist"/>
  165. <submission id="TXLPU00402" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/trsttest/trsttestlist"/>
  166. <submission id="TRLPU00403" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/userinfo/userinfolist"/>
  167. <submission id="TRLZZ00109" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/prcpinfo"/>
  168. </model>
  169. <script type="javascript">
  170. <![CDATA[
  171. /* @group : 인터넷검사접수
  172. * @ver : 2008.07.12 (CMCDEV-0001)
  173. * @by : 유동철(ACK)
  174. * @-----------------------------------
  175. * @type : function
  176. * @access : public
  177. * @desc : 초기화 Function
  178. */
  179. function fExeInitialize() {
  180. var sCurDate = "";
  181. var iMaxRowCnt = 0;
  182. //--------------------------------------------------------------------------
  183. // 전자인증 초기화 함수(필수) - 전자인증 ACTIVEX 모듈 동적으로 추가하는 함수
  184. //zesfInitSign();
  185. //---------------
  186. // 시스템일시 조회
  187. model.removeNodeset("/root/send");
  188. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  189. model.makeValue("/root/send/userid", getUserInfo("userid"));
  190. submit("TRLPZ00102", false);
  191. submit("TRLPU00401", false);
  192. //------------------------------------------------------------
  193. sCurDate = model.getValue("/root/init/sysdt/sysdtinfo/sysdd");
  194. model.makeValue("/root/init/fromdd", model.getValue("/root/init/sysdt/sysdtinfo/sysdd"));
  195. model.makeValue("/root/init/todd", model.getValue("/root/init/sysdt/sysdtinfo/sysdd"));
  196. model.makeValue("/root/init/acptflagcd", "0");
  197. model.makeValue("/root/init/pid", "");
  198. model.makeValue("/root/init/coophospcd", "");
  199. //------------------------------------------
  200. // 사용자목록이 없을 경우 병리과로 인식한다.
  201. if (getNodesetCount("/root/init/deptuser/deptuserlist") > 0) {
  202. model.makeValue("/root/init/deptflagcd", "0"); // 진단검사
  203. } else {
  204. model.makeValue("/root/init/deptflagcd", "1"); // 병리과
  205. //btn_lastsave.visible = true;
  206. }
  207. model.makeValue("/root/send/deptflagcd", model.getValue("/root/init/deptflagcd"));
  208. submit("TRLPJ02302");
  209. //------------------------------------------------------
  210. model.removeNodeset("/root/main/trsttest/trsttestlist");
  211. //---------------------------------------------------------------
  212. iMaxRowCnt = getNodesetCount("/root/init/coophosp/coophosplist");
  213. model.makeValue("/root/init/coophosp/coophosplist["+(Number(iMaxRowCnt)+1)+"]/instcd", getUserInfo("dutplceinstcd"));
  214. model.makeValue("/root/init/coophosp/coophosplist["+(Number(iMaxRowCnt)+1)+"]/coophospcd", "ZZZZZ");
  215. model.makeValue("/root/init/coophosp/coophosplist["+(Number(iMaxRowCnt)+1)+"]/coophospnm", "전체");
  216. model.makeValue("/root/init/coophosp/coophosplist["+(Number(iMaxRowCnt)+1)+"]/uncocd", "-");
  217. model.makeValue("/root/init/coophospcd", "ZZZZZ");
  218. //---------------------------------------------------
  219. if (model.getValue("/root/init/deptflagcd") == "0") {
  220. grd_trstlist.colHidden(grd_trstlist.colRef("relaptno")) = true; // 이전병리번호
  221. grd_trstlist.colHidden(grd_trstlist.colRef("bfptnoref")) = true; // 이전병리번호
  222. grd_trstlist.colHidden(grd_trstlist.colRef("conttestintvlflagcd")) = false; // 연속검사간격
  223. grd_trstlist.colHidden(grd_trstlist.colRef("conttestorgtims")) = false; // 연속검사횟수
  224. grd_trstlist.colHidden(grd_trstlist.colRef("conttestbasetm")) = false; // 연속검사기본시간
  225. cmb_orddrid.visible = true; // 후인증의사 콤보
  226. cap_orddrid.visible = true; // 후인증의사 캡션
  227. //cap_searchTxt.attribute("text") = "바코드번호 :";
  228. submit("TRLPU00403", false); // 진검
  229. } else {
  230. grd_trstlist.colHidden(grd_trstlist.colRef("relaptno")) = false; // 이전병리번호
  231. grd_trstlist.colHidden(grd_trstlist.colRef("bfptnoref")) = false; // 이전병리번호
  232. grd_trstlist.colHidden(grd_trstlist.colRef("conttestintvlflagcd")) = true; // 연속검사간격
  233. grd_trstlist.colHidden(grd_trstlist.colRef("conttestorgtims")) = true; // 연속검사횟수
  234. grd_trstlist.colHidden(grd_trstlist.colRef("conttestbasetm")) = true; // 연속검사기본시간
  235. grd_trstlist.colHidden(grd_trstlist.colRef("addr")) = true; // 주소
  236. cmb_orddrid.visible = false; // 후인증의사 콤보
  237. cap_orddrid.visible = false; // 후인증의사 캡션
  238. //cap_searchTxt.attribute("text") = "병리번호 :";
  239. }
  240. //-----------------------
  241. cmb_coophospcd.refresh();
  242. model.refresh();
  243. }
  244. /* @group : 인터넷검사접수
  245. * @ver : 2008.07.12 (CMCDEV-0001)
  246. * @by : 유동철(ACK)
  247. * @-----------------------------------
  248. * @type : function
  249. * @access : public
  250. * @desc : 위탁검사목록 조회 Function
  251. */
  252. function fGetTrustList() {
  253. //--------------------------------
  254. model.removeNodeset("/root/send");
  255. model.removeNodeset("/root/main/trsttest/trsttestlist");
  256. //---------------------------------------------------------------------
  257. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  258. model.makeValue("/root/send/deptflagcd", model.getValue("/root/init/deptflagcd"));
  259. model.makeValue("/root/send/trustinstcd", model.getValue("/root/init/coophospcd"));
  260. model.makeValue("/root/send/fromdd", model.getValue("/root/init/fromdd"));
  261. model.makeValue("/root/send/todd", model.getValue("/root/init/todd"));
  262. model.makeValue("/root/send/pid", model.getValue("/root/init/pid")); //의뢰병원등록번호
  263. model.makeValue("/root/send/cmcpid", model.getValue("/root/init/cmcpid")); //CMC등록번호
  264. //model.makeValue("/root/send/searchTxt", model.getValue("/root/init/searchTxt")); //진검:바코드번호, 병리:병리번호
  265. model.makeValue("/root/send/acptstatcd", model.getValue("/root/init/acptflagcd"));
  266. //-------------------
  267. submit("TRLPU00402");
  268. }
  269. /* @group : 인터넷검사접수
  270. * @ver : 2008.07.12 (CMCDEV-0001)
  271. * @by : 유동철(ACK)
  272. * @-----------------------------------
  273. * @type : function
  274. * @access : public
  275. * @desc : 위탁검사목록 조회 Function
  276. */
  277. function fExeSaveToExcel() {
  278. grd_trstlist.saveExcel("C:\\SMLPU00400_인터넷검사접수.xls", "인터넷검사접수", false, false);
  279. }
  280. /* @group : 인터넷검사접수
  281. * @ver : 2008.07.14 (CMCDEV-0001)
  282. * @by : 유동철(ACK)
  283. * @-----------------------------------
  284. * @type : function
  285. * @access : public
  286. * @desc : 인터넷 검사의뢰 접수 처리 Function
  287. */
  288. function fExeTrustSave(pFlagCd) {
  289. var iFindNo = 0;
  290. var sNode = "/root/main/trsttest/trsttestlist";
  291. //---------------------------------------------------------
  292. iFindNo = grd_trstlist.findRow("true", 1, 0, false, false);
  293. if (Number(iFindNo) <= 0) {
  294. messageBox("접수할 검사를 선택하여 주십시오!", "I");
  295. return false;
  296. }
  297. if((model.getValue("/root/init/deptflagcd") =="0") && (model.getValue("/root/init/prcpdrid")=="")){
  298. messageBox("후인증 의사를 선택하여 주십시오!", "I");
  299. return false;
  300. }// 후인증 의사 선택
  301. //-------------------------
  302. grd_trstlist.clearStatus();
  303. for (var iNo=1; iNo <= getNodesetCount(sNode); iNo++) {
  304. //-----------------------------------------------------
  305. if (model.getValue(sNode+"["+iNo+"]/choi") == "true") {
  306. model.makeValue(sNode+"["+iNo+"]/acptflagcd", pFlagCd);
  307. grd_trstlist.addStatus(iNo, "insert");
  308. }
  309. }
  310. //--------------------------------
  311. model.removeNodeset("/root/send");
  312. model.removeNodeset("/root/main/barcd/barcdlist");
  313. model.removeNodeset("/root/main/newpat/newpatlist");
  314. model.makeValue("/root/send/patlist", grd_trstlist.getUpdateData());
  315. if(model.getValue("/root/init/deptflagcd") =="0"){
  316. model.makeValue("/root/send/doctid", model.getValue("/root/init/prcpdrid"));
  317. }
  318. //------------------------------------
  319. // 환자의 등록번호 발생(다중으로 생성)
  320. if (!submit("TXLPU00402")) {
  321. messageBox("CMCnU의 환자에 대한 등록번호 생성 중 오류가 발생하였습니다!", "I");
  322. return false;
  323. }
  324. //------------------------------------
  325. // 인증자료를 생성하여 처방자료에 추가
  326. for (var iNo=1; iNo <= getNodesetCount(sNode); iNo++) {
  327. //-----------------------------------------------------
  328. if (model.getValue(sNode+"["+iNo+"]/choi") == "true") {
  329. //----------------
  330. // 인증데이타 생성
  331. grd_trstlist.addStatus(iNo, "insert");
  332. model.removeNodeset("/root/main/cert/certdata");
  333. model.makeNode("/root/main/cert/certdata");
  334. copyNodesetType("/root/main/cert/certdata", sNode+"["+iNo+"]");
  335. if(model.getValue("/root/init/deptflagcd") =="1"){ // 병리만 인증저장함
  336. //----------------
  337. // 암호화자료 생성
  338. if (Sign.signprocess()) {
  339. model.setValue(sNode+"["+iNo+"]/signbfcnts", Sign.signedInfos[1]); // 인증 전 자료
  340. model.setValue(sNode+"["+iNo+"]/signafcnts", Sign.signedInfos[2]); // 인증 후 자료
  341. } else {
  342. return false;
  343. }
  344. }// 병리만 인증저장함
  345. }
  346. }
  347. //--------------------------------
  348. model.removeNodeset("/root/send");
  349. model.makeValue("/root/send/testlist", grd_trstlist.getUpdateData());
  350. if(model.getValue("/root/init/deptflagcd") =="0"){
  351. model.makeValue("/root/send/doctid", model.getValue("/root/init/prcpdrid"));
  352. model.makeValue("/root/send/doctnm", cmb_orddrid.label);
  353. }
  354. //-------------------------
  355. if (submit("TXLPU00401")) {
  356. fExeBarCdPrnt("/root/main/barcd/barcdlist"); // 바코드 출력
  357. //-----------------------------------------
  358. model.removeNodeset(sNode+"[choi='true']");
  359. }
  360. //---------------------
  361. grd_trstlist.refresh();
  362. }
  363. /* @group : 인터넷검사접수
  364. * @ver : 2008.07.14 (CMCDEV-0001)
  365. * @by : 유동철(ACK)
  366. * @-----------------------------------
  367. * @type : function
  368. * @access : public
  369. * @desc : 인터넷 검사의뢰 접수 처리 Function
  370. * : ENRSignEngine.js에서 함수를 호출함
  371. */
  372. function fMake_SignData() {
  373. Sign.addnode("/root/main/cert/certdata");
  374. }
  375. /* @group : 인터넷검사접수
  376. * @ver : 2008.07.19 (CMCDEV-0001)
  377. * @by : 유동철(ACK)
  378. * @-----------------------------------
  379. * @type : function
  380. * @access : public
  381. * @desc : 접수바코드 출력 처리 Function
  382. */
  383. function fExeBarCdPrnt(pNode) {
  384. //-------------------------------------------
  385. // 공통 바코드 출력함수 사용을 위한 노드 생성
  386. for (var iNo=1; iNo <= getNodesetCount(pNode); iNo++) {
  387. model.makeValue(pNode+"["+iNo+"]/spcbarcdno", model.getValue(pNode+"["+iNo+"]/barcdno"));
  388. model.makeValue(pNode+"["+iNo+"]/wardroom", model.getValue(pNode+"["+iNo+"]/wardnm"));
  389. model.makeValue(pNode+"["+iNo+"]/spcdispnm", model.getValue(pNode+"["+iNo+"]/spcnm"));
  390. model.makeValue(pNode+"["+iNo+"]/prcpdispnm", model.getValue(pNode+"["+iNo+"]/testnm"));
  391. }
  392. //--------------------------------------------------------------------
  393. lpzfAcptBarCd("0", model.getValue("/root/hidden/acptenv/barcdprntcnt"), pNode, "/root/main/barcdprntsetup/prntsetupinfo/setupinfo");
  394. }
  395. /* @group : 인터넷검사접수
  396. * @ver : 2008.07.19 (CMCDEV-0001)
  397. * @by : 유동철(ACK)
  398. * @-----------------------------------
  399. * @type : function
  400. * @access : public
  401. * @desc : 바코드 프린터 환경설정 처리 Function
  402. */
  403. function fExeBarCdPopupCall() {
  404. var count = getNodesetCount("/root/main/barcdprntsetup/prntsetupinfo/setupinfo");
  405. if(count == 0) {
  406. model.makeNode("/root/main/barcdprntsetup/prntsetupinfo/setupinfo");
  407. }
  408. modal("SPLLC90100" , "","","","","/root/main/barcdprntsetup/prntsetupinfo/setupinfo", "/root/main/barcdprntsetup/prntsetupinfo/setupinfo");
  409. }
  410. /* @group : 인터넷검사접수
  411. * @ver : 2008.07.24 (CMCDEV-0001)
  412. * @by : 유동철(ACK)
  413. * @-----------------------------------
  414. * @type : function
  415. * @access : public
  416. * @desc : 그리드 클릭 처리 Function
  417. */
  418. function fExeGridClick() {
  419. //------------------------------------------------------------------------------------
  420. fExeGridSelect(grd_trstlist.row, grd_trstlist.col);
  421. }
  422. /* @group : 인터넷검사접수
  423. * @ver : 2008.07.24 (CMCDEV-0001)
  424. * @by : 유동철(ACK)
  425. * @-----------------------------------
  426. * @type : function
  427. * @access : public
  428. * @desc : 그리드 Row 선택 처리 Function
  429. */
  430. function fExeGridSelect(pRow, pCol) {
  431. var sNode = "/root/main/trsttest/trsttestlist";
  432. //-------------------------------
  433. // 의뢰지 컬럼을 선택한 경우 처리
  434. switch (pCol) {
  435. case 42 : fExeReqFrmCall(model.getValue(sNode+"["+pRow+"]/reqcnts"));
  436. break;
  437. case 18 : fExeBfPtNoCall(pRow);
  438. break;
  439. }
  440. //진검일경우 상단정보
  441. if(model.getValue("/root/init/deptflagcd") =="0"){
  442. fUpPatinfo();
  443. }
  444. }
  445. /* @group : 인터넷검사접수
  446. * @ver : 2008.07.24 (CMCDEV-0001)
  447. * @by : 유동철(ACK)
  448. * @-----------------------------------
  449. * @type : function
  450. * @access : public
  451. * @desc : 의뢰지내용 팝업호출 처리 Function
  452. */
  453. function fExeReqFrmCall(pReqCnts) {
  454. var sHdrNode = "<?xml version='1.0' encoding='euc-kr'?>";
  455. sHdrNode += "<root>"+pReqCnts+"</root>";
  456. iviewer1.window.instance1.loadXML(sHdrNode);
  457. model.copyNode(root.init.reqfrm, iviewer1.window.instance1.selectSingleNode("/root"));
  458. //-----------------------------------------------------------------------------
  459. setParameter("SMLPU00400_deptflagcd", model.getValue("/root/init/deptflagcd"));
  460. modal("SPLPU00500", "", "", "", "SPLPU00500", "/root/init/reqfrm", "/root/main/reqfrm");
  461. }
  462. /* @group : 인터넷검사접수
  463. * @ver : 2008.07.24 (CMCDEV-0001)
  464. * @by : 유동철(ACK)
  465. * @-----------------------------------
  466. * @type : function
  467. * @access : public
  468. * @desc : 이전 병리번호목록 팝업호출 처리 Function
  469. */
  470. function fExeBfPtNoCall(pRow) {
  471. var sNode = "/root/main/trsttest/trsttestlist";
  472. //------------------------------------------------------------------
  473. model.property("pid") = model.getValue(sNode+"["+pRow+"]/pid");
  474. model.property("ptno") = "";
  475. model.property("dispptno") = "";
  476. model.property("instcd") = getUserInfo("dutplceinstcd");
  477. //---------------------------
  478. // 병리번호리스트 팝업창 표시
  479. modal("SPLPJ02100");
  480. //--------------------------------------------------------------
  481. model.setValue(sNode+"["+pRow+"]/ptno", model.property("ptno"));
  482. grd_trstlist.refresh();
  483. }
  484. //2009.11.23 김성희 추가
  485. //진검 일때 마우스 오른쪽 메뉴 - 외래채혈, 환자별채혈
  486. function fGetMouseDown(){
  487. var deptflag = model.getValue("/root/init/deptflagcd");
  488. model.removeNodeset("/root/hidden/popupmenu/grid");
  489. if(deptflag == "0"){
  490. fUpPatinfo();
  491. model.makeNode("/root/hidden/popupmenu/grid/item");
  492. model.makeValue("/root/hidden/popupmenu/grid/item/name" , "▶외래 채혈관리");
  493. model.makeValue("/root/hidden/popupmenu/grid/item/func" , "fGetOutBcoll");
  494. model.makeNode("/root/hidden/popupmenu/grid/item[2]");
  495. model.makeValue("/root/hidden/popupmenu/grid/item[2]/name" , "▶환자별 채혈관리");
  496. model.makeValue("/root/hidden/popupmenu/grid/item[2]/func" , "fGetOutInBcoll");
  497. }
  498. if(grd_trstlist.isCell(event.target) && grd_trstlist.mouseRow >= grd_trstlist.fixedrows){
  499. window.setPopupMenu(true, "/root/hidden/popupmenu/grid/item", "name", "func", false);
  500. }else{
  501. window.setPopupMenu(false);
  502. }
  503. }
  504. function fGetOutBcoll(){
  505. modal("SMLLC00100", "1", "", "", "SMLLC00100", "", "");
  506. }
  507. function fGetOutInBcoll(){
  508. modal("SMLLC00300", "1", "", "", "SMLLC00300", "", "");
  509. }
  510. function fUpPatinfo(){
  511. //alert(getPatientInfo("pid"));
  512. //alert(model.getValue("/root/main/trsttest/trsttestlist["+ grd_trstlist.mouseRow +"]/pid"));
  513. grd_trstlist.row = grd_trstlist.mouseRow;
  514. if(getPatientInfo("pid") != model.getValue("/root/main/trsttest/trsttestlist["+ grd_trstlist.row +"]/pid")) {
  515. model.makeValue("/root/send/pid", model.getValue("/root/main/trsttest/trsttestlist["+ grd_trstlist.row +"]/pid"));
  516. submit("TRLZZ00109");
  517. if(model.getValue("/root/init/prcpinfo/pid")!=""){
  518. setParameter("errflag", "Y");
  519. //var ordtype = "";
  520. var genrflag = model.getValue("/root/init/prcpinfo/genrflag");
  521. //DSC 환자인 경우 genrflag를 I 로 보냄. 오류나서 2008.12.03 김성희 수정
  522. //SPMMO08900.js 파일(fInitialize_SPMMO08900())에서 genrflag가 "D"인 것을 처리하는 구문이 없음.("I" 로 처리해야함.)
  523. if(genrflag =="D"){
  524. genrflag = "I";
  525. }
  526. //modal("SPMMO08900");
  527. if((genrflag == "I") || (genrflag =="E")){
  528. setParameter("condparam", genrflag + "▦" +
  529. model.getValue("/root/init/prcpinfo/pid") + "▦" +
  530. model.getValue("/root/init/prcpinfo/orddd") + "▦" +
  531. model.getValue("/root/init/prcpinfo/cretno") + "▦" +
  532. model.getValue("/root/init/prcpinfo/acptseqno") + "▦" + // seqno
  533. model.getValue("/root/init/prcpinfo/todd") + "▦" +
  534. model.getValue("/root/init/prcpinfo/instcd")); // 임시로
  535. }else if((genrflag =="O") || (genrflag =="S")){
  536. setParameter("condparam", genrflag + "▦" +
  537. model.getValue("/root/init/prcpinfo/pid") + "▦" +
  538. model.getValue("/root/init/prcpinfo/orddd") + "▦" +
  539. model.getValue("/root/init/prcpinfo/cretno") + "▦" +
  540. model.getValue("/root/init/prcpinfo/instcd") + "▦" +
  541. model.getValue("/root/init/prcpinfo/acptseqno") + "▦" +
  542. model.getValue("/root/init/prcpinfo/orgorddd") + "▦");
  543. }
  544. modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  545. }
  546. var paminfo = getGlobalVariable("paminfo");
  547. if((paminfo.length < 0) || (getPatientInfo("pid") != model.getValue("/root/main/trsttest/trsttestlist["+ grd_trstlist.row +"]/pid"))){ //상단정보가 없는 경우
  548. delPatientInfos(); //환자정보 전체 삭제
  549. var pid = model.getValue("/root/main/trsttest/trsttestlist["+ grd_trstlist.row +"]/pid");
  550. var hngnm = model.getValue("/root/main/trsttest/trsttestlist["+ grd_trstlist.row +"]/patnm");
  551. //상단에 올릴 수 있는 정보가 있으면 아래와 같이 설정해 주시면 됩니다. 없으면 안 해주셔도 되구요..
  552. setPatientInfo("pid" , pid); //등록번호
  553. setPatientInfo("pname" , pid + "|" + hngnm); //환자명
  554. }
  555. }
  556. }
  557. ]]>
  558. </script>
  559. </xhtml:head>
  560. <xhtml:body guideline="1,1195;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  561. <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
  562. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:150px; height:14px; ">인터넷 수탁검사 접수</caption>
  563. </group>
  564. <group id="grp_biz" scroll="auto" style="left:0px; top:40; width:1195px; height:744px; ">
  565. <group id="grp_sea" style="left:0px; top:10px; width:1194px; height:60px; vertical-align:top; ">
  566. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1194px; height:60px; background-color:#fffbf2; border-color:#ffd799; "/>
  567. <caption id="caption5" class="search_no_b" style="left:197px; top:8px; width:12px; height:17px; ">~</caption>
  568. <line id="line13" class="line_4" style="x1:1112px; y1:7px; x2:1112px; y2:52px; "/>
  569. <input id="ipt_acptddfrom" ref="/root/init/fromdd" class="input_s_essential" navindex="1" inputtype="date" style="left:100px; top:8px; width:94px; height:19px; "/>
  570. <input id="ipt_acptddto" ref="/root/init/todd" class="input_s_essential" navindex="2" inputtype="date" style="left:212px; top:8px; width:94px; height:19px; "/>
  571. <caption id="caption1" class="search_name" style="left:701px; top:9px; width:86px; height:17px; ">위탁기관 :</caption>
  572. <button id="btn_sea" class="btn1_letter2" navindex="6" style="left:1128px; top:17px; width:56px; height:22px; ">
  573. <caption>조회</caption>
  574. <script type="javascript" ev:event="DOMActivate">
  575. <![CDATA[
  576. fGetTrustList();
  577. ]]>
  578. </script>
  579. </button>
  580. <caption id="caption10" class="search_name" autoresize="true" style="left:11px; top:33px; width:143px; height:17px; ">의뢰병원 등록번호 :</caption>
  581. <caption id="cap_ddflagcd" class="search_name" style="left:11px; top:9px; width:86px; height:17px; ">의뢰일자 :</caption>
  582. <caption id="caption2" class="search_name" style="left:378px; top:9px; width:91px; height:17px; ">접수구분 :</caption>
  583. <select1 id="cmb_coophospcd" ref="/root/init/coophospcd" class="combo_search" navindex="5" appearance="minimal" style="left:790px; top:8px; width:165px; height:19px; ">
  584. <choices>
  585. <itemset nodeset="/root/init/coophosp/coophosplist">
  586. <label ref="coophospnm"/>
  587. <value ref="coophospcd"/>
  588. </itemset>
  589. </choices>
  590. </select1>
  591. <input id="ipt_trustpid" ref="/root/init/pid" navindex="4" maxlength="20" style="left:160px; top:32px; width:87px; height:19px; "/>
  592. <select1 id="cmb_acptflagcd" ref="/root/init/acptflagcd" class="combo_search" navindex="3" appearance="minimal" style="left:470px; top:8px; width:90px; height:19px; ">
  593. <choices>
  594. <item>
  595. <label>의뢰</label>
  596. <value>0</value>
  597. </item>
  598. <item>
  599. <label>접수</label>
  600. <value>1</value>
  601. </item>
  602. </choices>
  603. <script type="javascript" ev:event="xforms-value-changed">
  604. <![CDATA[
  605. if(model.getValue("/root/init/acptflagcd") == "1" ){
  606. btn_save.disabled = true;
  607. //btn_lastsave.disabled = true;
  608. }else{
  609. btn_save.disabled = false;
  610. //btn_lastsave.disabled = false;
  611. }
  612. ]]>
  613. </script>
  614. </select1>
  615. <caption id="caption4" class="search_name" autoresize="true" style="left:378px; top:33px; width:143px; height:17px; ">CMCnU 등록번호 :</caption>
  616. <input id="ipt_cmcpid" ref="/root/init/cmcpid" navindex="4" maxlength="20" style="left:525px; top:32px; width:100px; height:19px; "/>
  617. </group>
  618. <line id="line1" class="line_1" style="x1:0px; y1:100px; x2:1194px; y2:100px; "/>
  619. <caption id="caption3" class="tit_2" style="left:5px; top:85px; width:139px; height:13px; ">위탁검사정보</caption>
  620. <datagrid id="grd_trstlist" nodeset="/root/main/trsttest/trsttestlist" class="datagrid2" caption="선&#xA;택^instcd^요청일자^검사^검체^trustinstcd^의뢰병원^의뢰병원&#xA;등록번호^CMCnU&#xA;등록번호^환자명^성별^나이^주민번호^여권&#xA;번호^검체구분^외국인^채혈일시^이전&#xA;병리번호^이전&#xA;병리번호^연속검사&#xA;간격^연속검사&#xA;횟수^연속검사&#xA;기본시간^의뢰지^신생아^주소^바코드번호^병리번호^brthdd^caption2^caption3^caption4^caption5^caption6^caption7^caption8^caption9^caption10^caption11^caption12^caption13^cretno^orddd^grupsnglflag^spcseqno^spcseqcd^spcseqnm^deptflagcd^trustreqfrmno^acptflagcd" colsep="^" colwidth="26, 0, 70, 100, 90, 0, 100, 80, 80, 60, 36, 36, 100, 50, 60, 60, 120, 80, 20, 60, 60, 60, 70, 70, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" dataheight="23" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheight="32" rowsep="|" tooltip="label" navindex="8" style="left:0px; top:105px; width:1194px; height:630px; ">
  621. <col ref="choi" type="checkbox"/>
  622. <col ref="instcd"/>
  623. <col ref="reqdd" format="yyyy-mm-dd" mask="exclude" showmask="true"/>
  624. <col ref="testnm"/>
  625. <col ref="spcnm"/>
  626. <col ref="trustinstcd"/>
  627. <col class="text_center" ref="trustinstnm"/>
  628. <col class="text_center" ref="trustpid"/>
  629. <col class="text_center" ref="pid" type="input"/>
  630. <col class="text_center" ref="patnm"/>
  631. <col class="text_center" ref="sex"/>
  632. <col class="text_center" ref="age"/>
  633. <col class="text_center" ref="rrgstno"/>
  634. <col class="text_center" ref="psptno"/>
  635. <col class="text_center" ref="spcflagcd" type="combo">
  636. <choices>
  637. <item>
  638. <label>검체</label>
  639. <value>0</value>
  640. </item>
  641. <item>
  642. <label>환자</label>
  643. <value>1</value>
  644. </item>
  645. </choices>
  646. </col>
  647. <col class="text_center" ref="forgnerflagcd" type="combo">
  648. <choices>
  649. <item>
  650. <label>내국인</label>
  651. <value>N</value>
  652. </item>
  653. <item>
  654. <label>외국인</label>
  655. <value>Y</value>
  656. </item>
  657. </choices>
  658. </col>
  659. <col class="text_center" ref="bcolldt"/>
  660. <col class="text_center" ref="relaptno"/>
  661. <col class="icon_search" ref="bfptnoref"/>
  662. <col ref="conttestintvlflagcd" type="combo">
  663. <choices>
  664. <item>
  665. <label>-</label>
  666. <value>N</value>
  667. </item>
  668. <item>
  669. <label>분</label>
  670. <value>1</value>
  671. </item>
  672. <item>
  673. <label>시간</label>
  674. <value>2</value>
  675. </item>
  676. <item>
  677. <label>횟수</label>
  678. <value>3</value>
  679. </item>
  680. <item>
  681. <label>일수</label>
  682. <value>4</value>
  683. </item>
  684. <item>
  685. <label>식전/후</label>
  686. <value>5</value>
  687. </item>
  688. </choices>
  689. </col>
  690. <col ref="conttestorgtims"/>
  691. <col ref="conttestbasetm"/>
  692. <col ref="brthdd"/>
  693. <col class="text_center" ref="babyflagcd" type="combo" visibility="hidden">
  694. <choices>
  695. <item>
  696. <label>N</label>
  697. <value>N</value>
  698. </item>
  699. <item>
  700. <label>Y</label>
  701. <value>Y</value>
  702. </item>
  703. </choices>
  704. </col>
  705. <col ref="addr"/>
  706. <col ref="bcno"/>
  707. <col ref="ptno"/>
  708. <col ref="reqseqno"/>
  709. <col ref="tclscd"/>
  710. <col ref="spccd"/>
  711. <col ref="reqcnts"/>
  712. <col ref="uncocd"/>
  713. <col ref="rrgstno1"/>
  714. <col ref="rrgstno2"/>
  715. <col ref="reqno"/>
  716. <col ref="signbfcnts"/>
  717. <col ref="signafcnts"/>
  718. <col ref="orddeptcd"/>
  719. <col ref="orddrid"/>
  720. <col ref="cretno"/>
  721. <col ref="orddd"/>
  722. <col ref="grupsnglflag"/>
  723. <col ref="spcseqno"/>
  724. <col ref="spcseqcd"/>
  725. <col ref="spcseqnm"/>
  726. <col ref="deptflagcd"/>
  727. <col class="icon_search" ref="dummy"/>
  728. <col ref="trustreqfrmno"/>
  729. <col ref="acptflagcd"/>
  730. <script type="javascript" ev:event="onclick">
  731. <![CDATA[
  732. if (grd_trstlist.isCell(event.target) && grd_trstlist.row >= grd_trstlist.fixedRows) {
  733. fExeGridClick();
  734. }
  735. ]]>
  736. </script>
  737. <script type="javascript" ev:event="onaftersort">
  738. <![CDATA[
  739. grd_trstlist.gridToInstance();
  740. ]]>
  741. </script>
  742. <script type="javascript" ev:event="onmousedown">
  743. <![CDATA[
  744. fGetMouseDown();
  745. ]]>
  746. </script>
  747. <script type="javascript" ev:event="DOMFocusOut">
  748. <![CDATA[
  749. window.setPopupMenu(false);
  750. ]]>
  751. </script>
  752. <script type="javascript" ev:event="onmouseout">
  753. <![CDATA[
  754. window.setPopupMenu(false);
  755. ]]>
  756. </script>
  757. </datagrid>
  758. <iviewer id="iviewer1" visibility="hidden" src="SPLPU00600_viewer.xrw" style="left:180px; top:80px; width:65px; height:15px; border-style:sunken; "/>
  759. <select1 id="cmb_orddrid" ref="/root/init/prcpdrid" visibility="hidden" appearance="minimal" style="left:1094px; top:78px; width:100px; height:19px; ">
  760. <choices>
  761. <itemset nodeset="/root/init/userinfo/userinfolist[jobkindcd='1']">
  762. <label ref="usernm"/>
  763. <value ref="userid"/>
  764. </itemset>
  765. </choices>
  766. </select1>
  767. <caption id="cap_orddrid" class="cell_1" visibility="hidden" style="left:1010px; top:76px; width:81px; height:23px; font-family:돋움; vertical-align:middle; ">후인증 의사</caption>
  768. </group>
  769. <group id="grp_btn" style="left:0px; top:13; width:1195px; height:27px; ">
  770. <line id="line17" class="line_6" style="x1:0px; y1:25; x2:1194px; y2:25; "/>
  771. <button id="button13" class="btn6_letter5" navindex="7" style="left:5px; top:3px; width:92px; height:22px; ">
  772. <caption>EXCEL저장</caption>
  773. <script type="javascript" ev:event="DOMActivate">
  774. <![CDATA[
  775. lpzfExeSaveToExcel(grd_trstlist, "인터넷검사접수");
  776. ]]>
  777. </script>
  778. </button>
  779. <button id="btn_save" class="btn4_letter2" navindex="25" style="left:1138px; top:3px; width:56px; height:22px; ">
  780. <caption>접수</caption>
  781. <script type="javascript" ev:event="DOMActivate">
  782. <![CDATA[
  783. fExeTrustSave("J");
  784. ]]>
  785. </script>
  786. </button>
  787. <button id="btn_prntset" class="btn3_letter5" style="left:100px; top:3px; width:92px; height:22px; ">
  788. <caption>프린터설정</caption>
  789. <script type="javascript" ev:event="DOMActivate">
  790. <![CDATA[
  791. fExeBarCdPopupCall();
  792. ]]>
  793. </script>
  794. </button>
  795. <button id="btn_lastsave" class="btn4_letter7" navindex="25" visibility="hidden" style="left:1019px; top:3px; width:116px; height:22px; ">
  796. <caption>접수(결과완료)</caption>
  797. <script type="javascript" ev:event="DOMActivate">
  798. <![CDATA[
  799. fExeTrustSave("L");
  800. ]]>
  801. </script>
  802. </button>
  803. </group>
  804. </xhtml:body>
  805. </xhtml:html>