SPLPJ01900_병리과처방팝업.xrw 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SPLPJ01900_병리과처방팝업
  4. * 설 명 : 병리과처방팝업
  5. * 설 계 자 : (주)에이씨케이 - 유동철
  6. * 작 성 자 : (주)에이씨케이 - 유동철
  7. * 작 성 일 : 2007.06.01
  8. * 수정이력 :
  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. <prcpacpt>
  20. <prcpacptlist>
  21. <instcd/>
  22. <ptno/>
  23. <dispptno/>
  24. <prcpcd/>
  25. <prcpnm/>
  26. <spccd/>
  27. <spcnm/>
  28. <prcpdd/>
  29. <acptdd/>
  30. <extrpartcnts/>
  31. <extrmthdcnts/>
  32. <diagcnts/>
  33. <readdrnm/>
  34. <reqfrmno/>
  35. <tdayspcyn/>
  36. </prcpacptlist>
  37. </prcpacpt>
  38. <reqfrm>
  39. <reqfrmtbl>
  40. <reqfrminfo>
  41. <reqcnts/>
  42. <choispc>
  43. <choispclist>
  44. <choi>true</choi>
  45. <spcseqno>001</spcseqno>
  46. <spccd/>
  47. <spcnm/>
  48. </choispclist>
  49. </choispc>
  50. <resncd>
  51. <resncdlist>
  52. <choi>false</choi>
  53. <resnnm>Non - neoplastic lesion</resnnm>
  54. </resncdlist>
  55. <resncdlist>
  56. <choi>false</choi>
  57. <resnnm>Benign neoplasm</resnnm>
  58. </resncdlist>
  59. <resncdlist>
  60. <choi>false</choi>
  61. <resnnm>Atypical neoplasm</resnnm>
  62. </resncdlist>
  63. <resncdlist>
  64. <choi>false</choi>
  65. <resnnm>malignant neoplasm</resnnm>
  66. </resncdlist>
  67. </resncd>
  68. </reqfrminfo>
  69. </reqfrmtbl>
  70. </reqfrm>
  71. <rtnval>
  72. <rtnvalinfo>
  73. <reqno/>
  74. <instcd/>
  75. </rtnvalinfo>
  76. </rtnval>
  77. </main>
  78. <send/>
  79. <init>
  80. <pid/>
  81. <instcd/>
  82. <tday/>
  83. </init>
  84. <hidden>
  85. <reqfrminfo>
  86. <pid/>
  87. <prcpcd/>
  88. <prcpnm/>
  89. <opnm/>
  90. <spccd/>
  91. <spcnm/>
  92. <reqno/>
  93. <reqhistno/>
  94. <instcd/>
  95. <tday/>
  96. <prcp>
  97. <prcplist>
  98. <status/>
  99. <prcpstatcd/>
  100. <prcpclscd/>
  101. <prcpkindcd/>
  102. <prcpcd/>
  103. <prcpnm/>
  104. <prcpvol/>
  105. <prcpvolunitnm/>
  106. <prcpqty/>
  107. <prcpqtyunitnm/>
  108. <prcptims/>
  109. <prcpdayno/>
  110. <drugmthdspccdnm/>
  111. <prcpmixno/>
  112. <payflagcd/>
  113. <prcpdelivefact/>
  114. <hosinhosoutflag/>
  115. <prcpexecdeptcd/>
  116. <prcphopedd/>
  117. <choiordflag/>
  118. <rgstdt/>
  119. <rgstridnm/>
  120. <testrsltunit/>
  121. <testrsltcnts/>
  122. <prcpgenrflag/>
  123. <prcphistcd/>
  124. <tempprcpflag/>
  125. <prcpsetcd/>
  126. <prcpvolunitflag/>
  127. <prcpqtyunitflag/>
  128. <orgprcpqty/>
  129. <drugspd/>
  130. <drugspdunitflag/>
  131. <powdflag/>
  132. <prnprcpflag/>
  133. <prepprcpflag/>
  134. <selfprcpflag/>
  135. <selfdrugflag/>
  136. <drugpackflag/>
  137. <erprcpflag/>
  138. <precureprcpflag/>
  139. <nigtprcpflag/>
  140. <portprcpflag/>
  141. <fixprcpflag/>
  142. <anamneflag/>
  143. <fastprcpflag/>
  144. <erreadflag/>
  145. <prcpdirecflag/>
  146. <tnsuseflag/>
  147. <tnsfiltflag/>
  148. <trnptbftestflag/>
  149. <offictourhealexamflag/>
  150. <stemcellflag/>
  151. <angioflagcd/>
  152. <opansflagcd/>
  153. <ansttm/>
  154. <mealcalrcnts/>
  155. <mealprotcnts/>
  156. <mealupdtflag/>
  157. <hosinprcpresncd/>
  158. <etcprcpresncd/>
  159. <drugmthdspccd/>
  160. <issdeptcd/>
  161. <prcpauthflag/>
  162. <prcpinptflag/>
  163. <prcpsignflag/>
  164. <rateprcpflag/>
  165. <prcprefseq/>
  166. <ordreqlnkno/>
  167. <testreqlnkno/>
  168. <prcplnkdd/>
  169. <prcplnkno/>
  170. <oprsrvno/>
  171. <tootfact/>
  172. <clinccmtcnts/>
  173. <prcpessninptflag/>
  174. <grupsnglflag/>
  175. <drugrateqty/>
  176. <asttestflag/>
  177. <clincstdyflag/>
  178. <prtlno/>
  179. <clincstdycd/>
  180. <optermcd/>
  181. <prcpflag/>
  182. <hscttempprcpflag/>
  183. <inclprcpcd/>
  184. <inclprcpno/>
  185. <pampkspec/>
  186. <prcppkspec/>
  187. <calcscormastspec/>
  188. <drugmastspec/>
  189. <rateprcpspec/>
  190. <matrsetprcpspec/>
  191. <suppdeptspec/>
  192. <contprcpspec/>
  193. <etclnkspec/>
  194. <srchcondcnts/>
  195. <orgprcpnm/>
  196. <chkcol/>
  197. <hsctdelivepos/>
  198. <hsctlnkno/>
  199. <etcprcpflag/>
  200. <tempcol1/>
  201. <tempcol2/>
  202. <tempcol3/>
  203. <tempcol4/>
  204. <tempcol5/>
  205. <tempcol6/>
  206. <tempcol7/>
  207. <tempcol8/>
  208. <tempcol9/>
  209. <tempcol10/>
  210. <tempcol11/>
  211. <tempcol12/>
  212. </prcplist>
  213. </prcp>
  214. </reqfrminfo>
  215. </hidden>
  216. <temp>
  217. <tdayspcyn/>
  218. <spccd/>
  219. <spcnm/>
  220. <reqfrmno/>
  221. <prcpfromdd/>
  222. <prcptodd/>
  223. <SMMMR03600_modalif>
  224. <openmode>OneImge</openmode>
  225. <imgecd/>
  226. <base64/>
  227. <shape/>
  228. </SMMMR03600_modalif>
  229. </temp>
  230. </root>
  231. </instance>
  232. <script type="javascript" ev:event="xforms-ready">
  233. <![CDATA[
  234. fExeInitialize();
  235. ]]>
  236. </script>
  237. <submission id="TRLPJ01901" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/prcpacpt/prcpacptlist"/>
  238. <submission id="TXLPJ01501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/rtnval/rtnvalinfo"/>
  239. </model>
  240. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  241. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  242. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  243. <script type="javascript" src="../../../lis/commonweb/js/LPZ001.js"/>
  244. <script type="javascript">
  245. <![CDATA[
  246. /* @group : 병리과처방팝업
  247. * @ver : 2007.06.01 (CMCDEV-0001)
  248. * @by : 유동철(ACK)
  249. * @-----------------------------------
  250. * @type : function
  251. * @access : public
  252. * @desc : 화면 초기화 Function
  253. */
  254. function fExeInitialize() {
  255. /*------------------------
  256. * 테스트를 위한 값 설정
  257. *------------------------
  258. model.makeValue("/root/hidden/reqfrminfo/instcd", "012");
  259. model.makeValue("/root/hidden/reqfrminfo/pid", "20694");
  260. model.makeValue("/root/hidden/reqfrminfo/tday", "20071022");
  261. */
  262. //var sTDay = model.getValue("/root/hidden/reqfrminfo/tday");
  263. var sTDay = getCurrentDate();
  264. //-------------------------------------------
  265. model.makeValue("/root/temp/tdayspcyn", "0"); // 당일검체
  266. model.makeValue("/root/temp/spccd", ""); // 검체코드
  267. model.makeValue("/root/temp/spcnm", ""); // 검체명
  268. model.makeValue("/root/temp/reqfrmno", "0"); // 의뢰지번호
  269. model.makeValue("/root/temp/prcpfromdd", sTDay.toDate().getAddDate(-1,"D").getDateFormat("YYYYMMDD"));
  270. model.makeValue("/root/temp/prcptodd", sTDay);
  271. //------------------
  272. // 처방접수목록 조회
  273. //fGetPrcpAcptList(sTDay.toDate().getAddDate(-7,"D").getDateFormat("YYYYMMDD"), model.getValue("/root/init/tday"));
  274. fGetPrcpAcptList(model.getValue("/root/temp/prcpfromdd"), model.getValue("/root/temp/prcptodd"));
  275. //--------------
  276. model.refresh();
  277. }
  278. /* @group : 병리과처방팝업
  279. * @ver : 2007.06.01 (CMCDEV-0001)
  280. * @by : 유동철(ACK)
  281. * @-----------------------------------
  282. * @type : function
  283. * @access : public
  284. * @desc : 처방접수목록을 검색 처리 Function
  285. */
  286. function fGetPrcpAcptList(pFromDD, pToDD) {
  287. var bState = false;
  288. var iFindNo = 0;
  289. var sNode = "/root/main/prcpacpt/prcpacptlist";
  290. var sNodeT = "/root/hidden/reqfrminfo/prcp/prcplist";
  291. var sTestCd = "";
  292. var sReqNode = "/root/main/reqfrm/reqfrmtbl/reqfrminfo/choispc/choispclist";
  293. var reqnode = instance1.selectSingleNode("/root/main/reqfrm/reqfrmtbl/reqfrminfo");
  294. //--------------------------------------------------------------------------
  295. // 병리과 처방등록 팝업창에서 호출할 경우 반드시 등록번호가 존재하여야 한다.
  296. model.makeValue("/root/send/instcd", model.getValue("/root/hidden/reqfrminfo/instcd"));
  297. model.makeValue("/root/send/pid", model.getValue("/root/hidden/reqfrminfo/pid"));
  298. model.makeValue("/root/send/prcpfromdd", pFromDD);
  299. model.makeValue("/root/send/prcptodd", pToDD);
  300. //submit("TRLPJ01901");
  301. //-------------------
  302. // 공백라인 삭제 처리
  303. model.removeNodeset("/root/hidden/reqfrminfo/prcp/prcplist[prcpcd='']");
  304. //--------------------------
  305. // 처방 저장중인 자료를 검색
  306. if (getNodesetCount(sNodeT) > 0) {
  307. model.makeValue("/root/temp/tdayspcyn", "1");
  308. model.makeValue("/root/temp/spccd", "");
  309. model.makeValue("/root/temp/spcnm", "");
  310. model.makeValue("/root/temp/reqfrmno", "0");
  311. //-------------------------------------------
  312. iFindNo = fExeFindRowTemp("PSU", "PCY", "Y");
  313. if (Number(iFindNo) > 0) {
  314. fExeGridClickTemp(iFindNo, "Y");
  315. bState = true;
  316. } else {
  317. iFindNo = fExeFindRowTemp("PSU", "PCY", "Y");
  318. if (Number(iFindNo) > 0) {
  319. fExeGridClickTemp(iFindNo, "Y");
  320. bState = true;
  321. } else {
  322. if (getNodesetCount(sNode) > 0) {
  323. bState = false;
  324. } else {
  325. fExeMakeReqNo(); // 이전 처방이 없을 경우 대표검체로 의뢰지 생성
  326. }
  327. }
  328. }
  329. }
  330. //-------------------
  331. // 이전 처방목록 검색
  332. if (getNodesetCount(sNode) > 0 && bState == false) {
  333. //-----------------------------------------------
  334. // 이전 처방중 조직처방이 존재할 경우 검체를 사용
  335. iFindNo = fExeFindRow("PSU", "PCY", "Y"); // 당일 검체에서 조직처방 검색
  336. if (Number(iFindNo) > 0) {
  337. fExeGridClick(iFindNo, "Y");
  338. } else {
  339. iFindNo = fExeFindRow("PSU", "PCY", "Y"); // 당일 검체에서 세포처방 검색
  340. if (Number(iFindNo) > 0) {
  341. fExeGridClick(iFindNo, "Y");
  342. } else {
  343. iFindNo = fExeFindRow("PSU", "PCY", "Y"); // 이전 검체에서 조직처방 검색
  344. if (Number(iFindNo) > 0) {
  345. fExeGridClick(iFindNo, "Y");
  346. } else {
  347. iFindNo = fExeFindRow("PSU", "PCY", "Y"); // 이전 검체에서 세포처방 검색
  348. if (Number(iFindNo) > 0) {
  349. fExeGridClick(iFindNo, "Y");
  350. } else {
  351. model.makeValue("/root/temp/tdayspcyn", "1");
  352. model.makeValue("/root/temp/spccd", "");
  353. model.makeValue("/root/temp/spcnm", "");
  354. model.makeValue("/root/temp/reqfrmno", "0");
  355. //--------------
  356. fExeMakeReqNo();
  357. }
  358. }
  359. }
  360. }
  361. }
  362. }
  363. /* @group : 병리과처방팝업
  364. * @ver : 2007.10.29 (CMCDEV-0001)
  365. * @by : 유동철(ACK)
  366. * @-----------------------------------
  367. * @type : function
  368. * @access : public
  369. * @desc : Other검체로 의뢰지 생성 처리 Function
  370. */
  371. function fExeMakeReqNo() {
  372. var sReqNode = "/root/main/reqfrm/reqfrmtbl/reqfrminfo/choispc/choispclist";
  373. var reqnode = instance1.selectSingleNode("/root/main/reqfrm/reqfrmtbl/reqfrminfo");
  374. var imgnode = instance1.selectSingleNode("/root/temp/SMMMR03600_modalif");
  375. var sPrcpCd = "";
  376. var iIndexOf = -1;
  377. //-----------------------
  378. // 의뢰지 생성정보를 설정
  379. model.removeNodeset(sReqNode);
  380. model.makeValue("/root/main/reqfrm/reqfrmtbl/reqfrminfo/reqcnts", "의뢰지 자동 생성");
  381. model.makeNode(sReqNode+"[1]");
  382. model.makeValue(sReqNode+"[1]/choi", "true");
  383. model.makeValue(sReqNode+"[1]/spcseqno", "001");
  384. model.makeValue(sReqNode+"[1]/spccd", "TZZ901");
  385. model.makeValue(sReqNode+"[1]/spcnm", "Other");
  386. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  387. model.makeValue("/root/send/pid", model.getValue("/root/hidden/reqfrminfo/pid"));
  388. model.makeValue("/root/send/reqno", "0");
  389. model.makeValue("/root/send/reqcnts", "");
  390. model.makeValue("/root/send/imgcnts", "");
  391. model.makeValue("/root/send/scrno", "10");
  392. model.setValue("/root/send/reqcnts", reqnode.xml, true);
  393. model.setValue("/root/send/imgcnts", imgnode.xml, true);
  394. // 대출 처방관련 조건
  395. // sPrcpCd = model.getValue("/root/hidden/reqfrminfo/prcpcd");
  396. // iIndexOf = sPrcpCd.indexOf("POT");
  397. // if(iIndexOf >= 0) {
  398. if (!submit("TXLPJ01501")) {
  399. messageBox("의뢰지 저장을", "E009");
  400. return false;
  401. }
  402. model.makeValue("/root/temp/spccd", "T99999");
  403. model.makeValue("/root/temp/spcnm", "Other");
  404. model.makeValue("/root/temp/reqfrmno", model.getValue("/root/main/rtnval/rtnvalinfo/reqno"));
  405. // } else {
  406. // model.makeValue("/root/temp/spccd", "");
  407. // model.makeValue("/root/temp/spcnm", "");
  408. // model.makeValue("/root/temp/reqfrmno", "");
  409. // }
  410. //---------
  411. fExeSave();
  412. }
  413. /* @group : 병리과처방팝업
  414. * @ver : 2007.10.29 (CMCDEV-0001)
  415. * @by : 유동철(ACK)
  416. * @-----------------------------------
  417. * @type : function
  418. * @access : public
  419. * @desc : 저장중인 처방목록 검색 처리 Function
  420. */
  421. function fExeFindRowTemp(pFindStr, pFindStr2, pTDay) {
  422. var iFindNo = 0;
  423. var sNode = "/root/hidden/reqfrminfo/prcp/prcplist";
  424. //-------------------------------------------------------------
  425. // 처방 등록중인 내용이 없을 경우 Other(T99999)으로 검체를 설정
  426. if (getNodesetCount(sNode) <= 0) {
  427. // Continue
  428. } else {
  429. //-----------------------------------------------------
  430. for (var iNo=getNodesetCount(sNode); iNo >= 1; iNo--) {
  431. sTestCd = model.getValue(sNode+"["+iNo+"]/prcpcd");
  432. sTestCd = sTestCd.toUpperCase();
  433. //--------------------------------------------------------------------------
  434. if (sTestCd.substr(0, 3) == pFindStr || sTestCd.substr(0, 3) == pFindStr2) {
  435. iFindNo = iNo;
  436. break;
  437. }
  438. }
  439. }
  440. //-------------
  441. return iFindNo;
  442. }
  443. /* @group : 병리과처방팝업
  444. * @ver : 2007.10.29 (CMCDEV-0001)
  445. * @by : 유동철(ACK)
  446. * @-----------------------------------
  447. * @type : function
  448. * @access : public
  449. * @desc : 이전 처방목록 검색 처리 Function
  450. */
  451. function fExeFindRow(pFindStr, pFindStr2, pTDay) {
  452. var iFindNo = 0;
  453. var sNode = "/root/main/prcpacpt/prcpacptlist";
  454. //for (var iNo=1; iNo <= getNodesetCount(sNode); iNo++) {
  455. for (var iNo=getNodesetCount(sNode); iNo >= 1; iNo--) {
  456. if (model.getValue(sNode+"["+iNo+"]/tdayspcyn") == pTDay) {
  457. sTestCd = model.getValue(sNode+"["+iNo+"]/prcpcd");
  458. sTestCd = sTestCd.toUpperCase();
  459. //--------------------------------------------------------------------------
  460. if (sTestCd.substr(0, 3) == pFindStr || sTestCd.substr(0, 3) == pFindStr2) {
  461. iFindNo = iNo;
  462. break;
  463. }
  464. }
  465. }
  466. //-------------
  467. return iFindNo;
  468. }
  469. /* @group : 병리과처방팝업
  470. * @ver : 2007.06.01 (CMCDEV-0001)
  471. * @by : 유동철(ACK)
  472. * @-----------------------------------
  473. * @type : function
  474. * @access : public
  475. * @desc : 확인버튼 클릭 시 처리 Function
  476. */
  477. function fExeSave() {
  478. var iRowNo = grd_prcpacptlist.row;
  479. //-------------------------------------------------
  480. if (model.getValue("/root/temp/reqfrmno") == "0") {
  481. if (model.getValue("/root/temp/tdayspcyn") != "1") {
  482. //messageBox("처방을 선택하시거나 당일검체를 ", "C002");
  483. return false;
  484. }
  485. }
  486. /*
  487. //-----------------------------------------------------------------------------------------------------------------------
  488. opener.model.setValue("/root/hidden/reqfrminfo/reqno", model.getValue("/root/main/prcpacpt/prcpacptlist[" + iRowNo + "]/reqfrmno"));
  489. opener.model.setValue("/root/hidden/reqfrminfo/spccd", model.getValue("/root/main/prcpacpt/prcpacptlist[" + iRowNo + "]/spccd"));
  490. opener.model.setValue("/root/hidden/reqfrminfo/spcnm", model.getValue("/root/main/prcpacpt/prcpacptlist[" + iRowNo + "]/spcnm"));
  491. opener.model.setValue("/root/hidden/reqfrminfo/tdayyn", model.getValue("/root/temp/tdayspcyn"));
  492. */
  493. opener.model.setValue("/root/hidden/reqfrminfo/reqno", model.getValue("/root/temp/reqfrmno"));
  494. opener.model.setValue("/root/hidden/reqfrminfo/spccd", model.getValue("/root/temp/spccd"));
  495. opener.model.setValue("/root/hidden/reqfrminfo/spcnm", model.getValue("/root/temp/spcnm"));
  496. opener.model.setValue("/root/hidden/reqfrminfo/tdayyn", model.getValue("/root/temp/tdayspcyn"));
  497. //------------
  498. model.close();
  499. }
  500. /* @group : 병리과처방팝업
  501. * @ver : 2007.06.01 (CMCDEV-0001)
  502. * @by : 유동철(ACK)
  503. * @-----------------------------------
  504. * @type : function
  505. * @access : public
  506. * @desc : 화면 닫기 Function
  507. */
  508. function fExeClose() {
  509. model.close();
  510. }
  511. /* @group : 병리과처방팝업
  512. * @ver : 2007.06.01 (CMCDEV-0001)
  513. * @by : 유동철(ACK)
  514. * @-----------------------------------
  515. * @type : function
  516. * @access : public
  517. * @desc : 당일검체 선택 시 처리 Function
  518. */
  519. function fExeTDaySpcChoice() {
  520. var bState = false;
  521. var sSrcNode = "/root/main/prcpacpt/prcpacptlist";
  522. //----------------------------
  523. // 당일검체를 선택한 경우 처리
  524. // if (model.getValue("/root/temp/tdayspcyn") == "1") {
  525. //-------------------------------
  526. // 당일검체 선택 시 존재여부 검사
  527. for (var iRowNo=1; iRowNo <= getNodesetCount(sSrcNode); iRowNo++) {
  528. if (model.getValue(sSrcNode + "[" + iRowNo + "]/tdayspcyn") == "Y") {
  529. model.makeValue("/root/temp/spccd", model.getValue(sSrcNode + "[" + iRowNo + "]/spccd"));
  530. model.makeValue("/root/temp/spcnm", model.getValue(sSrcNode + "[" + iRowNo + "]/spcnm"));
  531. model.makeValue("/root/temp/reqfrmno", model.getValue(sSrcNode + "[" + iRowNo + "]/reqfrmno"));
  532. bState = true;
  533. break;
  534. } else {
  535. model.makeValue("/root/temp/spccd", "");
  536. model.makeValue("/root/temp/spcnm", "");
  537. model.makeValue("/root/temp/reqfrmno", "0");
  538. }
  539. }
  540. //------------
  541. if (!bState) {
  542. messageBox("당일 검체가 존재하지 않습니다. 처방목록에서 처방을 선택하시거나 신규 처방을 ", "C001");
  543. return false;
  544. }
  545. //---------
  546. fExeSave();
  547. // }
  548. }
  549. /* @group : 병리과처방팝업
  550. * @ver : 2007.06.01 (CMCDEV-0001)
  551. * @by : 유동철(ACK)
  552. * @-----------------------------------
  553. * @type : function
  554. * @access : public
  555. * @desc : 처방접수목록 그리드 클릭 시 처리 Function
  556. */
  557. function fExeGridClick(pRowNo, pBizFlag) {
  558. var sSrcNode = "/root/main/prcpacpt/prcpacptlist";
  559. //------------------------------------------------------------------------------------------
  560. model.makeValue("/root/temp/spccd", model.getValue(sSrcNode + "[" + pRowNo + "]/spccd"));
  561. model.makeValue("/root/temp/spcnm", model.getValue(sSrcNode + "[" + pRowNo + "]/spcnm"));
  562. model.makeValue("/root/temp/reqfrmno", model.getValue(sSrcNode + "[" + pRowNo + "]/reqfrmno"));
  563. //------------------------------
  564. if (pBizFlag == "Y") fExeSave();
  565. }
  566. function fExeGridClickTemp(pRowNo, pBizFlag) {
  567. var sSrcNode = "/root/hidden/reqfrminfo/prcp/prcplist";
  568. //--------------------------------------------------------------------------------------------------
  569. model.makeValue("/root/temp/spccd", model.getValue(sSrcNode + "[" + pRowNo + "]/drugmthdspccd"));
  570. model.makeValue("/root/temp/spcnm", model.getValue(sSrcNode + "[" + pRowNo + "]/drugmthdspccdnm"));
  571. model.makeValue("/root/temp/reqfrmno", model.getValue(sSrcNode + "[" + pRowNo + "]/testreqlnkno"));
  572. //------------------------------
  573. if (pBizFlag == "Y") fExeSave();
  574. }
  575. ]]>
  576. </script>
  577. </xhtml:head>
  578. <xhtml:body pagewidth="10" pageheight="10" guideline="1,1063;" style="margin-left:8; margin-top:8; margin-right:8; margin-bottom:8; ">
  579. <group id="grp_btn" style="left:0px; top:502; width:945px; height:27px; ">
  580. <button id="btn_cls" class="btn4_letter2" navindex="7" style="left:889; top:3; width:56px; height:22px; ">
  581. <caption>닫기</caption>
  582. <script type="javascript" ev:event="DOMActivate">
  583. <![CDATA[
  584. fExeClose();
  585. ]]>
  586. </script>
  587. </button>
  588. <button id="btn_save" class="btn4_letter2" navindex="6" style="left:830; top:3px; width:56px; height:22px; ">
  589. <caption>확인</caption>
  590. <script type="javascript" ev:event="DOMActivate">
  591. <![CDATA[
  592. fExeSave();
  593. ]]>
  594. </script>
  595. </button>
  596. </group>
  597. <group id="grp_biz" style="left:0px; top:0px; width:945px; height:502; margin-left:0; margin-top:0; margin-right:0; margin-bottom:0; ">
  598. <caption id="caption2" class="tit_2" style="left:5px; top:45px; width:111px; height:14px; ">처방목록</caption>
  599. <line id="line1" class="line_1" style="x1:0px; y1:60px; x2:945px; y2:60px; "/>
  600. <datagrid id="grd_prcpacptlist" nodeset="/root/main/prcpacpt/prcpacptlist" caption="기관코드^ptno^병리번호^처방코드^처방명^검체코드^검체명^처방일자^접수일자^M^T^P^판독의사^의뢰지번호^당일검체유무" colsep="^" colwidth="0, 0, 74, 0, 150, 0, 100, 70, 70, 130, 130, 130, 70, 0, 0" mergecellsfixedrows="bycolrec" rowsep="|" navindex="5" style="left:0px; top:65px; width:945px; height:437px; ">
  601. <col ref="instcd"/>
  602. <col ref="ptno"/>
  603. <col class="text_center" ref="dispptno"/>
  604. <col ref="prcpcd"/>
  605. <col ref="prcpnm"/>
  606. <col ref="spccd"/>
  607. <col ref="spcnm"/>
  608. <col class="text_center" ref="prcpdd" format="yyyy-mm-dd" mask="exclude" showmask="true"/>
  609. <col class="text_center" ref="acptdd" format="yyyy-mm-dd" mask="exclude" showmask="true"/>
  610. <col class="text_center" ref="extrpartcnts"/>
  611. <col class="text_center" ref="extrmthdcnts"/>
  612. <col class="text_center" ref="diagcnts"/>
  613. <col class="text_center" ref="readdrnm"/>
  614. <col ref="reqfrmno"/>
  615. <col ref="tdayspcyn"/>
  616. <script type="javascript" ev:event="onclick">
  617. <![CDATA[
  618. fExeGridClick(grd_prcpacptlist.row, "N");
  619. ]]>
  620. </script>
  621. <script type="javascript" ev:event="ondblclick">
  622. <![CDATA[
  623. fExeGridClick(grd_prcpacptlist.row, "Y");
  624. ]]>
  625. </script>
  626. </datagrid>
  627. <group id="grp_sea" style="left:0px; top:0px; width:945px; height:35px; vertical-align:top; ">
  628. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:945; height:35px; "/>
  629. <caption id="caption1" class="search_name" style="left:15px; top:8px; width:86px; height:17px; ">처방일자 :</caption>
  630. <button id="btn_search" class="btn1_letter2" navindex="3" style="left:874; top:7px; width:56px; height:22px; ">
  631. <caption>조회</caption>
  632. <script type="javascript" ev:event="DOMActivate">
  633. <![CDATA[
  634. fGetPrcpAcptList(model.getValue("/root/temp/prcpfromdd"), model.getValue("/root/temp/prcptodd"));
  635. ]]>
  636. </script>
  637. </button>
  638. <line id="line13" class="line_4" style="x1:858; y1:7px; x2:858; y2:29px; "/>
  639. <caption id="caption3" class="search_no_b" style="left:197; top:8px; width:12px; height:17px; text-align:center; vertical-align:middle; ">~</caption>
  640. <input id="ipt_prcptodd" ref="/root/temp/prcptodd" class="input_search" navindex="2" inputtype="date" style="left:212; top:8px; width:90px; height:19px; "/>
  641. <input id="ipt_prcpfromdd" ref="/root/temp/prcpfromdd" class="input_search" navindex="1" inputtype="date" style="left:104; top:8px; width:90; height:19px; "/>
  642. </group>
  643. <bool id="booltdayspcyn" checkvalue="1, 0" ref="/root/temp/tdayspcyn" style="left:873px; top:45px; width:25px; height:13px; ">
  644. <script type="javascript" ev:event="xforms-select">
  645. <![CDATA[
  646. fExeTDaySpcChoice();
  647. ]]>
  648. </script>
  649. </bool>
  650. <caption id="caption4" style="left:895px; top:45px; width:50px; height:13px; ">당일검체</caption>
  651. </group>
  652. </xhtml:body>
  653. </xhtml:html>