SPLPJ02600_과거블록지정.xrw 29 KB

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