SMLPR02600_전자결과일괄등록.xrw 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SMLPR02600_전자결과일괄등록
  4. * 설 명 : 전자현미경 결과 일괄등록
  5. * 설 계 자 : 설계자가 별도로 존재시 작성
  6. * 작 성 자 : 유동철(ACK)
  7. * 작 성 일 : 2010.08.24
  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. <recstyle>
  20. <recstylelist>
  21. <reccnts/>
  22. <toppos/>
  23. <degnrowno/>
  24. </recstylelist>
  25. </recstyle>
  26. <prcp>
  27. <prcplist>
  28. <instcd/>
  29. <ptno/>
  30. <dispptno/>
  31. <scrn/>
  32. <testnm/>
  33. <spcnm/>
  34. <pid/>
  35. <patnm/>
  36. <bftestrslt/>
  37. <testrslt/>
  38. <sexage/>
  39. <orddeptcd/>
  40. <orddeptnm/>
  41. <orddrid/>
  42. <orddrnm/>
  43. <wardroom/>
  44. <prcpdd/>
  45. <prcptm/>
  46. <acptdd/>
  47. <acpttm/>
  48. <rsltrgstdd/>
  49. <rsltrgsttm/>
  50. <acptno/>
  51. <orgprcpstatcd/>
  52. <testcd/>
  53. <spccd/>
  54. <prcpno/>
  55. <execprcpuniqno/>
  56. <rsltrgstno/>
  57. <rgstnm/>
  58. <orgtestrslt/>
  59. <inptdd/>
  60. <inpttm/>
  61. <extrpartcd/>
  62. <extrmthdcd/>
  63. <diagcd/>
  64. <cmtcnts/>
  65. <spckeepflagcd/>
  66. <conccaseflagcd/>
  67. <rslthideflagcd/>
  68. <preprsltflagcd/>
  69. <workflagcd/>
  70. <trandd/>
  71. <tranno/>
  72. <choi/>
  73. <rsltrgstid/>
  74. <acptitemno/>
  75. <orgacptstatcd/>
  76. <prcpgenrflag/>
  77. <scanyn/>
  78. <formcd/>
  79. <cretno/>
  80. <orddd/>
  81. <readdrid/>
  82. <scrnid/>
  83. <rsltcnts3/>
  84. <rsltcnts4/>
  85. <rsltcnts5/>
  86. <specdrnm/>
  87. <cncrjudgflagcd/>
  88. <humspec/>
  89. </prcplist>
  90. </prcp>
  91. </main>
  92. <send>
  93. </send>
  94. <init>
  95. <recformcd/>
  96. <recform>
  97. <recformlist>
  98. <formcd/>
  99. <formnm/>
  100. </recformlist>
  101. </recform>
  102. <ptnocode/>
  103. <fromyear/>
  104. <fromptno/>
  105. <toyear/>
  106. <toptno/>
  107. <acptfromdd/>
  108. <acpttodd/>
  109. <refmthdcd/>
  110. <testcdlist/>
  111. <testnmlist/>
  112. <sysdt>
  113. <sysdtinfo>
  114. <sysdd/>
  115. <systm/>
  116. </sysdtinfo>
  117. </sysdt>
  118. <ptnocd>
  119. <ptnocdlist>
  120. <instcd/>
  121. <ptnocd/>
  122. <ptnonm/>
  123. </ptnocdlist>
  124. </ptnocd>
  125. <testinfo>
  126. <testitemlist>
  127. <instcd/>
  128. <dispseqno/>
  129. <testcd/>
  130. <testengnm/>
  131. <testengabbr/>
  132. <testhngnm/>
  133. <testhngabbr/>
  134. <basepartcd/>
  135. <basepartnm/>
  136. <detlpartcd/>
  137. <detlpartnm/>
  138. <singletest_cnt/>
  139. </testitemlist>
  140. </testinfo>
  141. <pid/>
  142. <userinfo>
  143. <userinfolist>
  144. <userid/>
  145. <usernm/>
  146. <jobkindcd/>
  147. </userinfolist>
  148. </userinfo>
  149. <exmpcd4>
  150. <exmpcdlist>
  151. <exmpcd/>
  152. <exmpnm/>
  153. </exmpcdlist>
  154. </exmpcd4>
  155. <hospenv>
  156. <hospenvinfo>
  157. <instcd/>
  158. <lendrtnterm/>
  159. <recvqualmthdcd/>
  160. <plgydeptcd/>
  161. <plgyteamcd/>
  162. <doctjobgradcd/>
  163. <teamjobgradcd/>
  164. <repttitl/>
  165. </hospenvinfo>
  166. </hospenv>
  167. </init>
  168. <hidden>
  169. <readdrlist>
  170. <readdrid/>
  171. </readdrlist>
  172. <reccnts/>
  173. </hidden>
  174. <temp>
  175. <exmpcd>
  176. <exmpcdlist/>
  177. </exmpcd>
  178. <rslttext/>
  179. </temp>
  180. </root>
  181. </instance>
  182. <submission id="TRLPZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/hospenv/hospenvinfo"/>
  183. <submission id="TRLPZ00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/sysdt/sysdtinfo"/>
  184. <submission id="TRLPZ00105" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/userinfo/userinfolist"/>
  185. <submission id="TRLPZ00109" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/ptnocd/ptnocdlist"/>
  186. <submission id="TRLPC00401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/testinfo/testitemlist"/>
  187. <submission id="TRLPR01901" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/prcp/prcplist"/>
  188. <submission id="TXLPR00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/message"/>
  189. <submission id="TRLPR02601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/recstyle/recstylelist"/>
  190. <submission id="TRLPR02602" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/recform/recformlist"/>
  191. <script type="javascript" ev:event="xforms-ready">
  192. <![CDATA[
  193. fExeInitialize();
  194. ]]>
  195. </script>
  196. </model>
  197. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  198. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  199. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  200. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  201. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  202. <script type="javascript" src="../../../lis/commonweb/js/LPZ001.js"/>
  203. <script type="javascript">
  204. <![CDATA[
  205. //-----------------------
  206. // 그리드 컬럼의 전역변수
  207. var const_rslt_col = 10;
  208. var const_resn_col = 11;
  209. var _iRowNo = 0;
  210. /* @group : 전자현미경 결과 일괄등록
  211. * @ver : 2010.08.24 (CMCDEV-0001)
  212. * @by : 유동철(ACK)
  213. * @-----------------------------------
  214. * @type : function
  215. * @access : public
  216. * @desc : 초기화 Function
  217. */
  218. function fExeInitialize() {
  219. var sCurDate = "";
  220. //---------------------
  221. // Instance Node 초기화
  222. model.removeNodeset("/root/main/prcp/prcplist");
  223. //----------------
  224. // 시스템일시 조회
  225. model.removeNodeset("/root/send");
  226. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  227. submit("TRLPZ00101", false); // 병원환경설정 조회
  228. submit("TRLPZ00102", false); // 시스템(서버) 일시 조회
  229. submit("TRLPZ00109", false); // 병리번호코드 목록 조회
  230. model.makeValue("/root/send/plgydeptcd", model.getValue("/root/init/hospenv/hospenvinfo/plgydeptcd"));
  231. submit("TRLPR02602"); // 병리과 서식목록 조회
  232. //------------------------------------------------------------
  233. sCurDate = model.getValue("/root/init/sysdt/sysdtinfo/sysdd");
  234. //--------------------------------------------------------------------------------------------
  235. model.makeValue("/root/init/acptfromdd", model.getValue("/root/init/sysdt/sysdtinfo/sysdd"));
  236. model.makeValue("/root/init/acpttodd", model.getValue("/root/init/sysdt/sysdtinfo/sysdd"));
  237. model.makeValue("/root/init/ptnocode", "");
  238. model.makeValue("/root/init/fromyear", sCurDate.substr(2,2));
  239. model.makeValue("/root/init/toyear", sCurDate.substr(2,2));
  240. model.makeValue("/root/init/fromptno", "");
  241. model.makeValue("/root/init/toptno", "");
  242. model.makeValue("/root/init/refmthdcd", "2"); // 전체
  243. model.makeValue("/root/init/ptnocode", "EM"); // 전자현미경으로 기본설정
  244. //---------------
  245. fGetTestCdList();
  246. //--------------------------
  247. cbo_ptnocd.disabled = true;
  248. //판독의 목록조회
  249. submit("TRLPZ00105");
  250. //-----------------
  251. // 2010-09-02 : YDC
  252. if (getNodesetCount("/root/init/recform/recformlist") > 0) {
  253. model.makeValue("/root/init/recformcd", model.getValue("/root/init/recform/recformlist[1]/formcd"));
  254. model.makeValue("/root/init/recform/recformlist[" + (getNodesetCount("/root/init/recform/recformlist") + 1) + "]/formcd", "0000001043");
  255. model.makeValue("/root/init/recform/recformlist[" + (getNodesetCount("/root/init/recform/recformlist") + 1) + "]/formnm", "테스트용 서식");
  256. }
  257. model.refresh();
  258. }
  259. /* @group : 전자현미경 결과 일괄등록
  260. * @ver : 2010.08.24 (CMCDEV-0001)
  261. * @by : 유동철(ACK)
  262. * @-----------------------------------
  263. * @type : function
  264. * @access : public
  265. * @desc : 검사코드 선택 처리 Function
  266. */
  267. function fExeTestItemChoi() {
  268. var iFindNo = 0;
  269. var sTestCd = "";
  270. var sTestNm = "";
  271. var bState = false;
  272. var sNode = "/root/init/testinfo/testitemlist";
  273. //-------------------------------------------
  274. iFindNo = grd_testlist.findRow("true", 1, 0);
  275. if (Number(iFindNo) <= 0) {
  276. model.makeValue("/root/init/testcdlist", "");
  277. model.makeValue("/root/init/testnmlist", "");
  278. opt_testnmlist.refresh();
  279. grp_testlist.visible = false;
  280. return false;
  281. }
  282. //-----------------------------------------------------
  283. for (var iNo=1; iNo <= getNodesetCount(sNode); iNo++) {
  284. //-----------------------------------------------------
  285. if (model.getValue(sNode+"["+iNo+"]/choi") == "true") {
  286. if (bState) {
  287. sTestCd += ", '" + model.getValue(sNode+"["+iNo+"]/testcd") + "'";
  288. sTestNm += ", " + model.getValue(sNode+"["+iNo+"]/testengnm");
  289. } else {
  290. sTestCd += "'" + model.getValue(sNode+"["+iNo+"]/testcd") + "'";
  291. sTestNm += model.getValue(sNode+"["+iNo+"]/testengnm");
  292. bState = true;
  293. }
  294. }
  295. }
  296. //------------------------------------------------
  297. model.makeValue("/root/init/testcdlist", sTestCd);
  298. model.makeValue("/root/init/testnmlist", sTestNm);
  299. opt_testnmlist.refresh();
  300. grp_testlist.visible = false;
  301. model.refresh();
  302. }
  303. /* @group : 전자현미경 결과 일괄등록
  304. * @ver : 2010.08.24 (CMCDEV-0001)
  305. * @by : 유동철(ACK)
  306. * @-----------------------------------
  307. * @type : function
  308. * @access : public
  309. * @desc : 검사코드 목록 조회 처리 Function
  310. */
  311. function fGetTestCdList() {
  312. //------------
  313. // 노드 초기화
  314. model.removeNodeset("/root/send");
  315. model.removeNodeset("/root/init/testinfo/testitemlist");
  316. //------------
  317. // 기본값 설정
  318. model.makeValue("/root/send/delflagcd", "0"); // 조회조건 사용여부구분
  319. model.makeValue("/root/send/refflag", "1"); // 조회조건 조회구분
  320. model.makeValue("/root/send/refval", "PE"); // 조회조건 조회값
  321. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd")); // 기관코드
  322. submit("TRLPC00401"); // 검사코드목록 조회
  323. //-----------------------------------------
  324. grd_testlist.fixedcellcheckbox(0,0) = true;
  325. }
  326. /* @group : 전자현미경 결과 일괄등록
  327. * @ver : 2010.08.24 (CMCDEV-0001)
  328. * @by : 유동철(ACK)
  329. * @-----------------------------------
  330. * @type : function
  331. * @access : public
  332. * @desc : 접수자료 조회 처리 Function
  333. */
  334. function fGetAcptList() {
  335. var sTemp = "";
  336. var sFromDD = model.getValue("/root/init/acptfromdd");
  337. var sToDD = model.getValue("/root/init/acpttodd");
  338. //--------------------------
  339. grd_prcplist.rebuildStyle();
  340. //------------------------------------------------
  341. if (model.getValue("/root/init/ptnocode") != "") {
  342. //------------------------------------------------
  343. if (model.getValue("/root/init/fromyear") == "") {
  344. model.makeValue("/root/init/fromyear", sFromDD.substr(2,2));
  345. } else {
  346. sTemp = model.getValue("/root/init/fromyear");
  347. model.makeValue("/root/init/fromyear", sTemp.getLeftPad(2, "0"));
  348. }
  349. //----------------------------------------------
  350. if (model.getValue("/root/init/toyear") == "") {
  351. model.makeValue("/root/init/toyear", sToDD.substr(2,2));
  352. } else {
  353. sTemp = model.getValue("/root/init/toyear");
  354. model.makeValue("/root/init/toyear", sTemp.getLeftPad(2, "0"));
  355. }
  356. //------------------------------------------------
  357. if (model.getValue("/root/init/fromptno") == "") {
  358. model.makeValue("/root/init/fromptno", "000000");
  359. } else {
  360. sTemp = model.getValue("/root/init/fromptno");
  361. model.makeValue("/root/init/fromptno", sTemp.getLeftPad(6, "0"));
  362. }
  363. //----------------------------------------------
  364. if (model.getValue("/root/init/toptno") == "") {
  365. model.makeValue("/root/init/toptno", "999999");
  366. } else {
  367. sTemp = model.getValue("/root/init/toptno");
  368. model.makeValue("/root/init/toptno", sTemp.getLeftPad(6, "0"));
  369. }
  370. }
  371. //--------------------------------------------
  372. sTemp = model.getValue("/root/init/ptnocode");
  373. //--------------------------------
  374. model.removeNodeset("/root/send");
  375. model.removeNodeset("/root/main/prcp/prcplist");
  376. //-----------------------------------------------------------------
  377. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd")); // 기관코드
  378. model.makeValue("/root/send/ptnocode", sTemp.replace("-", ""));
  379. model.makeValue("/root/send/fromyear", model.getValue("/root/init/fromyear"));
  380. model.makeValue("/root/send/fromptno", model.getValue("/root/init/fromptno"));
  381. model.makeValue("/root/send/toyear", model.getValue("/root/init/toyear"));
  382. model.makeValue("/root/send/toptno", model.getValue("/root/init/toptno"));
  383. model.makeValue("/root/send/acptfromdd", model.getValue("/root/init/acptfromdd")); // 접수시작일자
  384. model.makeValue("/root/send/acpttodd", model.getValue("/root/init/acpttodd")); // 접수종료일자
  385. model.makeValue("/root/send/refmthdcd", model.getValue("/root/init/refmthdcd")); // 결과상태
  386. model.makeValue("/root/send/pid", model.getValue("/root/init/pid")); // 등록번호
  387. model.makeValue("/root/send/testcdlist", model.getValue("/root/init/testcdlist")); // 검사코드목록
  388. model.makeValue("/root/send/workflagcd", "1008"); // 작업구분코드(1008:전자현미경)
  389. model.makeValue("/root/send/ptno", ""); // 병리번호
  390. submit("TRLPR01901");
  391. grd_prcplist.colstyle(9, "data", "background-color") = "#ffff99";
  392. //-------------
  393. model.refresh();
  394. }
  395. /* @group : 전자현미경 결과 일괄등록
  396. * @ver : 2010.08.24 (CMCDEV-0001)
  397. * @by : 유동철(ACK)
  398. * @-----------------------------------
  399. * @type : function
  400. * @access : public
  401. * @desc : 조회조건 등록번호 입력 시 처리 Function
  402. */
  403. function fExePidKeyPress() {
  404. if (event.keyCode == 13) {
  405. model.setValue("/root/init/pid", ipt_pid.currentText);
  406. ipt_pid.refresh();
  407. //------------
  408. fGetAcptList();
  409. }
  410. }
  411. /* @group : 전자현미경 결과 일괄등록
  412. * @ver : 2010.08.24 (CMCDEV-0001)
  413. * @by : 유동철(ACK)
  414. * @-----------------------------------
  415. * @type : function
  416. * @access : public
  417. * @desc : 검사결과 입력 시 처리 Function
  418. */
  419. function fExeRsltInptKeyPress() {
  420. if (event.keyCode == 13) {
  421. //--------------------
  422. fExeRsltChangeColor();
  423. //--------------------------------------------------------------------
  424. if (grd_prcplist.row == getNodesetCount("/root/main/prcp/prcplist")) {
  425. return false;
  426. } else {
  427. grd_prcplist.row = Number(grd_prcplist.row) + 1;
  428. }
  429. }
  430. }
  431. /* @group : 전자현미경 결과 일괄등록
  432. * @ver : 2010.08.24 (CMCDEV-0001)
  433. * @by : 유동철(ACK)
  434. * @-----------------------------------
  435. * @type : function
  436. * @access : public
  437. * @desc : 검사결과 등록 시 처리 Function
  438. */
  439. function fExeRsltSave() {
  440. var sNode = "/root/main/prcp/prcplist";
  441. var bState = false;
  442. var iMaxRowCnt = 0;
  443. //-------------------------
  444. grd_prcplist.clearStatus();
  445. //----------------------------------
  446. iMaxRowCnt = getNodesetCount(sNode);
  447. for (var iNo=1; iNo <= iMaxRowCnt; iNo++) {
  448. if (model.getValue(sNode+"["+iNo+"]/testrslt") != model.getValue(sNode+"["+iNo+"]/orgtestrslt")) {
  449. //------------------------------------
  450. grd_prcplist.addStatus(iNo, "insert");
  451. model.setValue(sNode+"["+iNo+"]/choi", "true");
  452. model.setValue(sNode+"["+iNo+"]/rsltrgstid", getUserInfo("userid"));
  453. model.makeValue(sNode+"["+iNo+"]/scrnid", "SMLPR02600");
  454. //------------------------------------------------------------
  455. if(model.getValue("/root/hidden/readdrlist/readdrid") != "" &&
  456. model.getValue("/root/hidden/readdrlist/readdrid") != "-" &&
  457. model.getValue("/root/hidden/readdrlist/readdrid") != "A0" ) {
  458. model.makeValue(sNode+"["+iNo+"]/readdrid", model.getValue("/root/hidden/readdrlist/readdrid"));
  459. } else {
  460. model.makeValue(sNode+"["+iNo+"]/readdrid", "-");
  461. }
  462. //-------------
  463. bState = true;
  464. }
  465. }
  466. //------------
  467. if (!bState) {
  468. messageBox("변경된 결과가 없습니다! 저장", "E001");
  469. return false;
  470. }
  471. //--------------------------------
  472. model.removeNodeset("/root/send");
  473. model.makeValue("/root/send/moletestlist", grd_prcplist.getUpdateData());
  474. //-------------------------
  475. if (submit("TXLPR00103")) {
  476. model.removeNodeset(sNode+"[choi='true']");
  477. }
  478. //--------------
  479. model.refresh();
  480. }
  481. /* @group : 전자현미경 결과 일괄등록
  482. * @ver : 2010.08.24 (CMCDEV-0001)
  483. * @by : 유동철(ACK)
  484. * @-----------------------------------
  485. * @type : function
  486. * @access : public
  487. * @desc : 검사결과 입력 시 줄 색 변경 처리 Function
  488. */
  489. function fExeRsltChangeColor() {
  490. var iRowNo = grd_prcplist.row;
  491. var iColNo = grd_prcplist.col;
  492. var sNode = "/root/main/prcp/prcplist";
  493. //---------------
  494. switch (iColNo) {
  495. case 8 :
  496. break;
  497. }
  498. if (model.getValue(sNode+"["+iRowNo+"]/testrslt") != model.getValue(sNode+"["+iRowNo+"]/orgtestrslt")) {
  499. grd_prcplist.rowstyle(iRowNo, "data", "background-color") = "#99ffcc";
  500. } else {
  501. grd_prcplist.rowstyle(iRowNo, "data", "background-color") = "#ffffff";
  502. }
  503. //---------------------
  504. grd_prcplist.refresh();
  505. }
  506. function fGetResnCnts(pRowNo) {
  507. var param = "";
  508. var sNode = "/root/main/prcp/prcplist";
  509. var disparam = model.getValue(sNode+"["+pRowNo+"]/pid") + "▦" + model.getValue(sNode+"["+pRowNo+"]/patnm") + "▦" + model.getValue(sNode+"["+pRowNo+"]/sexage") + "▦" + model.getValue(sNode+"["+pRowNo+"]/orddeptnm") + "▦" + model.getValue(sNode+"["+pRowNo+"]/wardroom") + "▦";
  510. //---------------------------------------------------------
  511. if (model.getValue(sNode+"["+pRowNo+"]/rsltcnts4") != "") {
  512. setParameter("openmode", "recform"); //오픈모드는 “recform”
  513. setParameter("disppatinfo", disparam); //등록번호▦환자명▦성별/나이▦진료과▦병실▦
  514. setParameter("formrecseq", model.getValue(sNode+"["+pRowNo+"]/rsltcnts4"));
  515. } else {
  516. setParameter("openmode", "newform"); //오픈모드는 “recform”
  517. setParameter("SSMMR01100_getTopYn", "N");
  518. setParameter("formrecseq", "");
  519. }
  520. setParameter("formcd", model.getValue("/root/init/recformcd"));
  521. setParameter("pid", model.getValue(sNode+"["+pRowNo+"]/pid"));
  522. setParameter("orddd", model.getValue(sNode+"["+pRowNo+"]/orddd"));
  523. setParameter("cretno", model.getValue(sNode+"["+pRowNo+"]/cretno"));
  524. setParameter("orddeptcd", model.getValue(sNode+"["+pRowNo+"]/orddeptcd"));
  525. setParameter("orddrid", model.getValue(sNode+"["+pRowNo+"]/orddrid"));
  526. if (model.getValue(sNode+"["+pRowNo+"]/wardroom") == "-" || model.getValue(sNode+"["+pRowNo+"]/wardroom") == "") {
  527. setParameter("ioflag", "I");
  528. } else {
  529. setParameter("ioflag", "O");
  530. }
  531. //---------------------------------------
  532. modal("SSMMR01100", 1, 0, 0 ,"", "", "");
  533. //--------------------------------------------
  534. param = getParameter("SSMMR01100_formrecseq"); // 서식저장번호
  535. if (param.getTrimLeft().getTrimRight() == "") return false;
  536. model.makeValue(sNode+"["+pRowNo+"]/rsltcnts4", param);
  537. //----------------------------
  538. // 서식항목 및 입력값 가져오기
  539. model.removeNodeset("/root/send");
  540. model.makeValue("/root/send/recno", param);
  541. submit("TRLPR02601");
  542. var LevelNo = 0;
  543. var TopPos = "-";
  544. var reccnts = "";
  545. var recnode = "/root/main/recstyle/recstylelist";
  546. var sGap = "";
  547. var LeftPos = 0;
  548. var sLeftData = "";
  549. var iPrevLeftPos = 0;
  550. var sLineData = "";
  551. for (var iNo=1; iNo <= getNodesetCount(recnode); iNo++) {
  552. //-----------------------------------------------------
  553. if (model.getValue(recnode+"["+iNo+"]/toppos") == "") {
  554. }
  555. else if (TopPos != model.getValue(recnode+"["+iNo+"]/toppos")) {
  556. iPrevLeftPos = 0;
  557. TopPos = model.getValue(recnode+"["+iNo+"]/toppos");
  558. //-------------
  559. if (iNo > 1) {
  560. reccnts += "\n" + sLineData;
  561. sLineData = "";
  562. }
  563. } else {
  564. }
  565. //------------------------------------------------------
  566. sLeftData = model.getValue(recnode+"["+iNo+"]/leftpos");
  567. if (sLeftData.isNumber()) {
  568. if (sLineData.length > 0) {
  569. LeftPos = Number(Number(model.getValue(recnode+"["+iNo+"]/leftpos")) / 10) + 10;
  570. } else {
  571. LeftPos = Number(Number(model.getValue(recnode+"["+iNo+"]/leftpos")) / 10) + Number(model.getValue(recnode+"["+iNo+"]/degnitemlevlno"));
  572. }
  573. } else {
  574. LeftPos = sLineData.length + 10;
  575. }
  576. //------------------------------
  577. iPrevLeftPos = sLineData.length;
  578. sLineData += sGap.getLeftPad(LeftPos - iPrevLeftPos, ' ') + model.getValue(recnode+"["+iNo+"]/reccnts");
  579. }
  580. model.makeValue(sNode+"["+pRowNo+"]/rsltcnts3", reccnts);
  581. model.makeValue(sNode+"["+pRowNo+"]/testrslt", reccnts);
  582. model.refresh();
  583. }
  584. /* @group : 세포결과 일괄등록
  585. * @ver : 2008.12.03 (CMCDEV-0001)
  586. * @by : 하만석
  587. * @-----------------------------------
  588. * @type : function
  589. * @access : public
  590. * @desc : 입력된 결과 확인 할 수 있도록
  591. */
  592. function fExeSelTxt(pColNo, iRow)
  593. {
  594. sTmp = "";
  595. sSetNode = "/root/main/prcp/prcplist";
  596. grp_showrslt.attribute("top") = 150;
  597. grp_showrslt.attribute("left") = 150;
  598. grp_showrslt.attribute("width") = 900;
  599. grp_showrslt.attribute("height") = 500;
  600. line2.attribute("x2") = 898;
  601. line3.attribute("x2") = 898;
  602. line3.attribute("y1") = 484;
  603. line3.attribute("y2") = 484;
  604. btn_rsltclose.attribute("left") = 843;
  605. model.makeValue("/root/temp/rslttext", model.getValue(sSetNode + "[" + iRow + "]/testrslt"));
  606. grp_showrslt.visible = true;
  607. grp_showrslt.refresh();
  608. model.refresh();
  609. //-------------
  610. _iRowNo = iRow;
  611. }
  612. ]]>
  613. </script>
  614. </xhtml:head>
  615. <xhtml:body>
  616. <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
  617. <caption id="caption1" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">전자현미경 결과 일괄등록</caption>
  618. </group>
  619. <group id="grp_biz" style="left:0px; top:40; width:1195; height:744px; ">
  620. <caption id="caption6" class="tit_2" style="left:5px; top:80px; width:90px; height:13px; font-family:굴림체; font-size:9pt; vertical-align:middle; ">접수목록</caption>
  621. <line id="line1" class="line_1" style="x1:0px; y1:95; x2:1194px; y2:95; "/>
  622. <group id="grp_sea" style="left:0px; top:10px; width:1195px; height:60; vertical-align:top; ">
  623. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1194px; height:60; background-color:#fffbf2; border-color:#ffd799; "/>
  624. <line id="line13" class="line_4" style="x1:1108px; y1:7px; x2:1108px; y2:29px; border-color:#ffe4bb; border-left-style:solid; "/>
  625. <caption id="caption4" class="search_no_b" style="left:773px; top:8px; width:21px; height:17px; font-family:굴림체; font-size:10pt; text-align:center; vertical-align:middle; ">~</caption>
  626. <caption id="caption5" class="search_name" autoresize="true" style="left:896px; top:9px; width:97px; height:17px; font-family:굴림체; font-size:9pt; vertical-align:middle; ">결과상태 :</caption>
  627. <input id="ipt_ddfrom" ref="/root/init/acptfromdd" class="input_search" navindex="5" inputtype="date" format="yyyy-mm-dd" mask="exclude" showmask="true" style="left:683px; top:8px; width:90px; height:19px; ">
  628. <script type="javascript" ev:event="xforms-value-changed">
  629. <![CDATA[
  630. lpzfExeDateChange(ipt_fromyear, "/root/init/acptfromdd", "/root/init/fromyear");
  631. ]]>
  632. </script>
  633. </input>
  634. <select1 id="cmbseaflagcd" ref="/root/init/refmthdcd" class="combo_search" navindex="7" appearance="minimal" style="left:993px; top:8px; width:100px; height:19px; ">
  635. <choices>
  636. <item>
  637. <label>결과미입력</label>
  638. <value>0</value>
  639. </item>
  640. <item>
  641. <label>결과입력</label>
  642. <value>1</value>
  643. </item>
  644. <item>
  645. <label>전체</label>
  646. <value>2</value>
  647. </item>
  648. </choices>
  649. </select1>
  650. <button id="btn_sea" class="btn1_letter2" navindex="8" style="left:1123px; top:7px; width:56px; height:22px; background-image:../../../com/commonweb/images/btn1_letter2.gif; ">
  651. <caption>조회</caption>
  652. <script type="javascript" ev:event="DOMActivate">
  653. <![CDATA[
  654. fGetAcptList();
  655. ]]>
  656. </script>
  657. </button>
  658. <select1 id="cbo_ptnocd" ref="/root/init/ptnocode" disabled="true" navindex="1" appearance="minimal" editmode="search" style="left:109px; top:8px; width:111px; height:19px; ">
  659. <choices>
  660. <itemset nodeset="/root/init/ptnocd/ptnocdlist">
  661. <label ref="ptnonm"/>
  662. <value ref="ptnocd"/>
  663. </itemset>
  664. </choices>
  665. </select1>
  666. <input id="ipt_fromptno" ref="/root/init/fromptno" class="text_center" navindex="3" maxlength="6" style="left:253px; top:8px; width:50px; height:19px; "/>
  667. <caption id="caption3" class="search_name" style="left:15px; top:9px; width:90px; height:17px; ">병리번호 :</caption>
  668. <caption id="caption2" class="search_no_b" style="left:306px; top:8px; width:12px; height:17px; ">~</caption>
  669. <input id="input1" ref="/root/init/toptno" class="text_center" navindex="5" maxlength="6" style="left:351px; top:8px; width:50px; height:19px; "/>
  670. <input id="ipt_toyear" ref="/root/init/toyear" class="text_center" navindex="4" maxlength="2" style="left:321px; top:8px; width:27px; height:19px; "/>
  671. <input id="ipt_fromyear" ref="/root/init/fromyear" class="text_center" navindex="2" maxlength="2" style="left:223px; top:8px; width:27px; height:19px; "/>
  672. <caption id="caption7" class="search_name" style="left:592px; top:9px; width:90px; height:17px; ">접수기간 :</caption>
  673. <caption id="caption8" class="search_name" style="left:15px; top:34; width:90px; height:17px; ">검 사 명 :</caption>
  674. <button id="btn_bloc" style="left:1165px; top:34px; width:14px; height:16px; background-image:../../../com/commonweb/images/icon_search.gif; ">
  675. <caption/>
  676. <script type="javascript" ev:event="DOMActivate">
  677. <![CDATA[
  678. grp_testlist.attribute("left") = 605;
  679. grp_testlist.attribute("top") = 70;
  680. grp_testlist.visible = true;
  681. ]]>
  682. </script>
  683. </button>
  684. <output id="opt_testnmlist" ref="/root/init/testnmlist" style="left:109px; top:34px; width:1051px; height:19px; border-color:#000000; border-style:solid; "/>
  685. <input id="ipt_acpttodd" ref="/root/init/acpttodd" class="input_search" navindex="6" inputtype="date" format="yyyy-mm-dd" mask="exclude" showmask="true" style="left:796px; top:8px; width:90px; height:19px; ">
  686. <script type="javascript" ev:event="xforms-value-changed">
  687. <![CDATA[
  688. lpzfExeDateChange(ipt_toyear, "/root/init/acpttodd", "/root/init/toyear");
  689. ]]>
  690. </script>
  691. </input>
  692. <caption id="caption9" class="search_name" style="left:410px; top:9px; width:90px; height:17px; ">등록번호 :</caption>
  693. <input id="ipt_pid" ref="/root/init/pid" maxlength="10" style="left:501px; top:8px; width:79px; height:19px; ">
  694. <script type="javascript" ev:event="onkeypress">
  695. <![CDATA[
  696. fExePidKeyPress();
  697. ]]>
  698. </script>
  699. </input>
  700. </group>
  701. <datagrid id="grd_prcplist" nodeset="/root/main/prcp/prcplist" class="datagrid2" caption="instcd^ptno^병리번호^동의서^인종/민족^검사명^검체명^등록번호^성명^이전결과^결과^결과^성별&#xA;나이^orddeptcd^진료과^orddrid^진료의^선택&#xA;진료의^병동/병실^처방일자^처방시간^접수일자^접수시간^결과일자^결과시간^접수번호^orgprcpstatcd^testcd^spccd^prcpno^execprcpuniqno^rsltrgstno^등록자^cncrjudgflagcd^orgtestrslt^inptdd^inpttm^caption1^caption2^caption3^caption4^caption5^caption6^caption7^caption8^caption9^caption10^caption11^choi^rsltrgstid^acptitemno^orgacptstatcd^prcpgenrflag^scanyn^formcd^cretno^orddd^readdrid^scrnid^rsltcnts3^rsltcnts4^rsltcnts5" colsep="^" colwidth="0, 0, 80, 0, 0, 100, 0, 70, 70, 0, 260, 20, 60, 0, 60, 0, 60, 65, 80, 0, 0, 70, 60, 70, 65, 0, 0, 0, 0, 0, 0, 0, 60, 100, 0, 0, 0, 0, 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="25" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowsep="|" navindex="9" style="left:0px; top:100px; width:1194px; height:642px; ">
  702. <col ref="instcd"/>
  703. <col ref="ptno"/>
  704. <col class="text_center" ref="dispptno"/>
  705. <col ref="scrn" type="output"/>
  706. <col ref="humspec"/>
  707. <col ref="testnm"/>
  708. <col ref="spcnm"/>
  709. <col class="text_center" ref="pid"/>
  710. <col ref="patnm"/>
  711. <col class="text_right" ref="bftestrslt"/>
  712. <col class="text_right" ref="testrslt" type="input"/>
  713. <col style="background-image:../../../com/commonweb/images/icon_list.gif; "/>
  714. <col class="text_center" ref="sexage"/>
  715. <col ref="orddeptcd"/>
  716. <col class="text_center" ref="orddeptnm"/>
  717. <col ref="orddrid"/>
  718. <col class="text_center" ref="orddrnm"/>
  719. <col class="text_center" ref="specdrnm"/>
  720. <col class="text_center" ref="wardroom"/>
  721. <col ref="prcpdd"/>
  722. <col ref="prcptm"/>
  723. <col class="text_center" ref="acptdd" format="yyyy-mm-dd"/>
  724. <col class="text_center" ref="acpttm" format="hh:nn:ss"/>
  725. <col class="text_center" ref="rsltrgstdd" format="yyyy-mm-dd"/>
  726. <col class="text_center" ref="rsltrgsttm" format="hh:nn:ss"/>
  727. <col ref="acptno"/>
  728. <col ref="orgprcpstatcd"/>
  729. <col ref="testcd"/>
  730. <col ref="spccd"/>
  731. <col ref="prcpno"/>
  732. <col ref="execprcpuniqno"/>
  733. <col ref="rsltrgstno"/>
  734. <col class="text_center" ref="rgstnm"/>
  735. <col ref="cncrjudgflagcd" visibility="hidden"/>
  736. <col ref="orgtestrslt"/>
  737. <col ref="inptdd"/>
  738. <col ref="inpttm"/>
  739. <col ref="extrpartcd"/>
  740. <col ref="extrmthdcd"/>
  741. <col ref="diagcd"/>
  742. <col ref="cmtcnts"/>
  743. <col ref="spckeepflagcd"/>
  744. <col ref="conccaseflagcd"/>
  745. <col ref="rslthideflagcd"/>
  746. <col ref="preprsltflagcd"/>
  747. <col ref="workflagcd"/>
  748. <col ref="trandd"/>
  749. <col ref="tranno"/>
  750. <col ref="choi"/>
  751. <col ref="rsltrgstid"/>
  752. <col ref="acptitemno"/>
  753. <col ref="orgacptstatcd"/>
  754. <col ref="prcpgenrflag"/>
  755. <col ref="scanyn"/>
  756. <col ref="formcd"/>
  757. <col ref="cretno"/>
  758. <col ref="orddd"/>
  759. <col ref="readdrid"/>
  760. <col ref="scrnid"/>
  761. <col ref="rsltcnts3"/>
  762. <col ref="rsltcnts4"/>
  763. <col ref="rsltcnts5"/>
  764. <script type="javascript" ev:event="onaftersort">
  765. <![CDATA[
  766. grd_prcplist.gridToInstance();
  767. ]]>
  768. </script>
  769. <script type="javascript" ev:event="onkeypress">
  770. <![CDATA[
  771. //fExeRsltInptKeyPress();
  772. ]]>
  773. </script>
  774. <script type="javascript" ev:event="onrowchanged">
  775. <![CDATA[
  776. ]]>
  777. </script>
  778. <script type="javascript" ev:event="onclick">
  779. <![CDATA[
  780. if(grd_prcplist.row > 0 && grd_prcplist.isCell(event.target) && grd_prcplist.row >= grd_prcplist.fixedRows) {
  781. if (grd_prcplist.col == const_resn_col) {
  782. fGetResnCnts(grd_prcplist.row); // 예문생성 창 표시
  783. }
  784. if (grd_prcplist.col == const_rslt_col) {
  785. fExeSelTxt(grd_prcplist.col, grd_prcplist.row);
  786. }
  787. }
  788. ]]>
  789. </script>
  790. </datagrid>
  791. <group id="grp_testlist" visibility="hidden" style="left:70px; top:170px; width:555px; height:463px; ">
  792. <datagrid id="grd_testlist" nodeset="/root/init/testinfo/testitemlist" caption="선택^기관코드^코드^명칭^약어" colsep="^" colwidth="56, 0, 80, 200, 200" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:0px; width:555px; height:437; ">
  793. <col ref="choi" type="checkbox"/>
  794. <col ref="instcd"/>
  795. <col ref="testcd"/>
  796. <col ref="testengnm"/>
  797. <col ref="testengabbr"/>
  798. <script type="javascript" ev:event="onaftersort">
  799. <![CDATA[
  800. grd_testlist.gridToInstance();
  801. ]]>
  802. </script>
  803. </datagrid>
  804. <button id="btn_cls" class="btn4_letter2" style="left:499px; top:440px; width:56px; height:22px; background-image:../../../com/commonweb/images/btn4_letter2.gif; ">
  805. <caption>닫기</caption>
  806. <script type="javascript" ev:event="DOMActivate">
  807. <![CDATA[
  808. grp_testlist.visible = false;
  809. ]]>
  810. </script>
  811. </button>
  812. <button id="btn_cfm" class="btn4_letter2" style="left:440px; top:440px; width:56px; height:22px; background-image:../../../com/commonweb/images/btn4_letter2.gif; ">
  813. <caption>확인</caption>
  814. <script type="javascript" ev:event="DOMActivate">
  815. <![CDATA[
  816. fExeTestItemChoi();
  817. ]]>
  818. </script>
  819. </button>
  820. </group>
  821. <select1 id="cmb_readdr" ref="/root/hidden/readdrlist/readdrid" class="input_s_essential" appearance="minimal" style="left:221px; top:75px; width:110px; height:19px; ">
  822. <choices>
  823. <itemset nodeset="/root/init/userinfo/userinfolist[jobkindcd='1']">
  824. <label ref="usernm"/>
  825. <value ref="userid"/>
  826. </itemset>
  827. </choices>
  828. </select1>
  829. <caption id="caption48" class="cell_1" style="left:144px; top:75px; width:75px; height:19px; vertical-align:middle; ">판독의 지정</caption>
  830. <group id="grp_showrslt" visibility="hidden" style="left:885px; top:375px; width:120px; height:180px; ">
  831. <textarea id="textarea1" ref="/root/temp/rslttext" style="left:0px; top:10px; width:898px; height:450px; font-family:굴림체; font-size:16pt; "/>
  832. <line id="line2" class="line_1" style="x1:0px; y1:5px; x2:898; y2:5px; "/>
  833. <button id="btn_rsltclose" class="btn4_letter2" navindex="8" style="left:842px; top:462px; width:56px; height:22px; ">
  834. <caption>닫기</caption>
  835. <script type="javascript" ev:event="DOMActivate">
  836. <![CDATA[
  837. grp_showrslt.visible = false;
  838. if (_iRowNo > 0) {
  839. model.makeValue("/root/main/prcp/prcplist[" + _iRowNo + "]/testrslt", model.getValue("/root/temp/rslttext"));
  840. model.makeValue("/root/main/prcp/prcplist[" + _iRowNo + "]/rsltcnts3", model.getValue("/root/temp/rslttext"));
  841. }
  842. _iRowNo = 0;
  843. ]]>
  844. </script>
  845. </button>
  846. <line id="line3" class="line_1" style="x1:0px; y1:484px; x2:898px; y2:484px; "/>
  847. </group>
  848. <caption id="caption10" style="left:942px; top:76px; width:55px; height:20px; ">서식목록</caption>
  849. <select1 id="cbo_recformcd" ref="/root/init/recformcd" appearance="minimal" style="left:995px; top:75px; width:199px; height:19px; ">
  850. <choices>
  851. <itemset nodeset="/root/init/recform/recformlist">
  852. <label ref="formnm"/>
  853. <value ref="formcd"/>
  854. </itemset>
  855. </choices>
  856. </select1>
  857. </group>
  858. <group id="grp_btn" scroll="auto" style="left:0px; top:13; width:1195px; height:27px; ">
  859. <line id="line9" class="line_6" style="x1:0px; y1:25; x2:1194px; y2:25; "/>
  860. <button id="btn_excel" class="btn6_letter5" navindex="10" style="left:5px; top:3px; width:92px; height:22px; ">
  861. <caption>EXCEL저장</caption>
  862. <script type="javascript" ev:event="DOMActivate">
  863. <![CDATA[
  864. lpzfExeSaveToExcel(grd_prcplist, "전자현미경 결과 일괄등록");
  865. ]]>
  866. </script>
  867. </button>
  868. <button id="btn_save" class="btn4_letter2" navindex="12" style="left:1137px; top:3px; width:56px; height:22px; ">
  869. <caption>저장</caption>
  870. <script type="javascript" ev:event="DOMActivate">
  871. <![CDATA[
  872. fExeRsltSave();
  873. ]]>
  874. </script>
  875. </button>
  876. </group>
  877. </xhtml:body>
  878. </xhtml:html>