SMLPB00700_슬라이드일괄발행.xrw 72 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <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">
  4. <xhtml:head>
  5. <xhtml:title>슬라이드 일괄발행</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <isscste>
  11. <isscstelist>
  12. <choi/>
  13. <dispptno/>
  14. <cstecnts/>
  15. <afslidcnt/>
  16. <delslidcnt/>
  17. <prntstat/>
  18. <maxslidno/>
  19. <spcacptdd/>
  20. <spcacptno/>
  21. <spcacptseqno/>
  22. <spcnm/>
  23. <csteno/>
  24. <bfslidcnt/>
  25. <acptdd/>
  26. <acptno/>
  27. <spccd/>
  28. <spchistno/>
  29. <workflagcd/>
  30. <prtnblocnm/>
  31. <instcd/>
  32. <ptno/>
  33. <scrno/>
  34. <bizflagcd/>
  35. <pid/>
  36. <patnm/>
  37. </isscstelist>
  38. </isscste>
  39. <issslid>
  40. <issslidlist>
  41. <choi/>
  42. <ptnochoi/>
  43. <instcd/>
  44. <ptno/>
  45. <dispptno/>
  46. <spcacptdd/>
  47. <spcacptno/>
  48. <spcacptseqno/>
  49. <csteno/>
  50. <prntcsscnts/>
  51. <slidno/>
  52. <cstekindcd/>
  53. <cstecnts/>
  54. <workattr/>
  55. <ipttype/>
  56. <maxcsteno/>
  57. <bizflagcd/>
  58. <acptdd/>
  59. <acptno/>
  60. <testcd/>
  61. <acptitemno/>
  62. <scrno/>
  63. <spccd/>
  64. <spchistno/>
  65. <statsinclflagcd/>
  66. <relaptno/>
  67. <bloccnts/>
  68. <reladispptno/>
  69. <workflagcd/>
  70. <csteorgcnts/>
  71. <pid/>
  72. <patnm/>
  73. </issslidlist>
  74. </issslid>
  75. <eqinfo>
  76. <caeqlist>
  77. <eqnm/>
  78. <eqip/>
  79. <eqport/>
  80. <eqflag/>
  81. <eqseqno/>
  82. <resncd/>
  83. <baseflagcd/>
  84. </caeqlist>
  85. <slideqlist>
  86. <eqnm/>
  87. <eqip/>
  88. <eqport/>
  89. <eqflag/>
  90. <eqseqno/>
  91. <resncd/>
  92. <baseflagcd/>
  93. </slideqlist>
  94. </eqinfo>
  95. </main>
  96. <send/>
  97. <init>
  98. <ptnocode/>
  99. <fromyear/>
  100. <fromptno/>
  101. <toyear/>
  102. <toptno/>
  103. <acptfromdd/>
  104. <acpttodd/>
  105. <seameth/>
  106. <seaval/>
  107. <blockind/>
  108. <prtflag/>
  109. <sysdt>
  110. <sysdtinfo>
  111. <sysdd/>
  112. <systm/>
  113. </sysdtinfo>
  114. </sysdt>
  115. <ptnocd>
  116. <ptnocdlist>
  117. <instcd/>
  118. <ptnocd/>
  119. <ptnonm/>
  120. </ptnocdlist>
  121. </ptnocd>
  122. <userinfo>
  123. <userinfolist>
  124. <userid/>
  125. <usernm/>
  126. <jobkindcd/>
  127. </userinfolist>
  128. </userinfo>
  129. <hospenv>
  130. <hospenvinfo>
  131. <instcd/>
  132. <lendrtnterm/>
  133. <recvqualmthdcd/>
  134. <plgydeptcd/>
  135. <plgyteamcd/>
  136. <doctjobgradcd/>
  137. <teamjobgradcd/>
  138. </hospenvinfo>
  139. </hospenv>
  140. <resncd>
  141. <resncdlist>
  142. <instcd/>
  143. <baseflagcd/>
  144. <resncd/>
  145. <resncnts/>
  146. </resncdlist>
  147. </resncd>
  148. <testcd>
  149. <testcdlist>
  150. <instcd/>
  151. <ptno/>
  152. <acptdd/>
  153. <acptno/>
  154. <acptitemno/>
  155. <testcd/>
  156. <testnm/>
  157. <workflagcd/>
  158. <workattr/>
  159. </testcdlist>
  160. </testcd>
  161. <isscnt/>
  162. <eqseqno/>
  163. <blocslidcmd/>
  164. <bloccmb/>
  165. <slidcmb/>
  166. <popupmenu>
  167. <item>
  168. <name>선택</name>
  169. <func>fSelectList</func>
  170. </item>
  171. <item>
  172. <name>해제</name>
  173. <func>fDeSelectList</func>
  174. </item>
  175. </popupmenu>
  176. <popupmenu2>
  177. <item>
  178. <name>선택</name>
  179. <func>fSelectSlideList</func>
  180. </item>
  181. <item>
  182. <name>해제</name>
  183. <func>fDeSelectSlideList</func>
  184. </item>
  185. </popupmenu2>
  186. <choicstekindcd/>
  187. <bcodeprnt/>
  188. <prntyn/>
  189. <seabasecd/>
  190. </init>
  191. <hidden>
  192. <userdeptcd/>
  193. <prtndirect>1</prtndirect>
  194. </hidden>
  195. <temp>
  196. <testcd>
  197. <testcdlist>
  198. <instcd/>
  199. <ptno/>
  200. <acptdd/>
  201. <acptno/>
  202. <acptitemno/>
  203. <testcd/>
  204. <testnm/>
  205. <workflagcd/>
  206. <workattr/>
  207. </testcdlist>
  208. </testcd>
  209. <sendallyn/>
  210. <ext/>
  211. <resncd>
  212. <resncdlist/>
  213. </resncd>
  214. </temp>
  215. </root>
  216. </instance>
  217. <script type="javascript" ev:event="xforms-ready">
  218. <![CDATA[
  219. fExeInitialize();
  220. ]]>
  221. </script>
  222. <submission id="TRLPZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/hospenv/hospenvinfo"/>
  223. <submission id="TRLPZ00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/sysdt/sysdtinfo"/>
  224. <submission id="TRLPZ00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/resncd/resncdlist"/>
  225. <submission id="TRLPZ00105" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/userinfo/userinfolist"/>
  226. <submission id="TRLPZ00109" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/ptnocd/ptnocdlist"/>
  227. <submission id="TRLPB00701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/isscste/isscstelist"/>
  228. <submission id="TXLPB00701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/message"/>
  229. <submission id="TRLPB00702" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/testcd/testcdlist"/>
  230. <submission id="TRLPC01802" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/eqinfo"/>
  231. <submission id="TXLPB00702" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/message"/>
  232. </model>
  233. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  234. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  235. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  236. <script type="javascript" src="../../../lis/commonweb/js/LPZ001.js"/>
  237. <script type="javascript">
  238. <![CDATA[
  239. var sRefPtno = ""; //오른쪽 마우스 버튼을 이용하여 관련검사조회시 사용.
  240. /* @group : 슬라이드 일괄발행
  241. * @ver : 2007.02.12 (CMCDEV-0001)
  242. * @by : 유동철(ACK)
  243. * @-----------------------------------
  244. * @type : function
  245. * @access : public
  246. * @desc : 초기화 Function
  247. */
  248. function fExeInitialize() {
  249. var sCurDate = "";
  250. //---------------------
  251. // Instance Node 초기화
  252. model.removeNodeset("/root/main/isscste/isscstelist"); // 발행 Cassette(블럭) 목록 초기화
  253. model.removeNodeset("/root/main/issslid/issslidlist"); // 발행 및 삭제 슬라이드목록 초기화
  254. //--------------------------------
  255. model.removeNodeset("/root/send");
  256. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  257. submit("TRLPZ00101", false);
  258. submit("TRLPZ00109", false);
  259. //---------------------------------------------------------
  260. // 병원환경정보를 취득하여 병리과와 병리팀 코드를 편집한다.
  261. lpzfUserDeptCd("/root/init/hospenv/hospenvinfo", "/root/hidden");
  262. //----------------------------------------------------------------------------------
  263. model.makeValue("/root/send/userdeptcd", model.getValue("/root/hidden/userdeptcd"));
  264. model.makeValue("/root/send/doctjobgradcd", model.getValue("/root/init/hospenv/hospenvinfo/doctjobgradcd"));
  265. model.makeValue("/root/send/teamjobgradcd", model.getValue("/root/init/hospenv/hospenvinfo/teamjobgradcd"));
  266. submit("TRLPZ00105", false);
  267. //------------------------------------------
  268. // Cassette(블록), Slide(슬라이드), 블록번호, 슬라이드내용 목록 조회
  269. model.makeValue("/root/send/baseflagcd", "'82', 'S1', 'S2'");
  270. submit("TRLPZ00103");
  271. model.removeNodeset("/root/init/resncd/resncdlist[resncd='ZZZZ']");
  272. //슬라이드 장비 조회
  273. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd")); //instcd
  274. model.makeValue("/root/send/seaflagcd", "0"); //"0:전체, 1:카세트, 2:슬라이드"
  275. submit("TRLPC01802");
  276. cmb_slideqlist.select(0);
  277. //---------------------
  278. // 시스템 현재일시를 조회
  279. fExeSysDtSet();
  280. //------------------------------------------------------------
  281. sCurDate = model.getValue("/root/init/sysdt/sysdtinfo/sysdd");
  282. //-------------------------------------------
  283. model.makeValue("/root/init/seameth", "1"); // 검색방법 초기화(0:병리번호, 1:등록번호)
  284. model.makeValue("/root/init/seaval", ""); // 검색값 초기화
  285. model.makeValue("/root/init/blockind", "0"); // 블럭종류(0:일반,1:가상)
  286. model.makeValue("/root/init/ptnocode", "");
  287. model.makeValue("/root/init/fromyear", sCurDate.substr(2,2));
  288. model.makeValue("/root/init/toyear", sCurDate.substr(2,2));
  289. model.makeValue("/root/init/fromptno", "");
  290. model.makeValue("/root/init/toptno", "");
  291. model.makeValue("/root/init/prtflag", "1");
  292. model.makeValue("/root/init/prntyn", "1"); // 슬라이드 발행된 자료만 조회
  293. model.makeValue("/root/init/bcodeprnt", "B"); // Zebra바코드 출력(Default)
  294. model.makeValue("/root/init/seabasecd", "1"); // 1:조직만 조회
  295. chballyn.value = 'Y';
  296. grd_issslidlist.fixedcellcheckbox(0, 1) = true;
  297. grd_cstelist.fixedcellcheckbox(0, 2) = true;
  298. //-------------
  299. model.refresh();
  300. }
  301. /* @group : 슬라이드 일괄발행
  302. * @ver : 2007.02.12 (CMCDEV-0001)
  303. * @by : 유동철(ACK)
  304. * @-----------------------------------
  305. * @type : function
  306. * @access : public
  307. * @desc : 시스템일시 설정 처리 Function
  308. */
  309. function fExeSysDtSet() {
  310. //-------------------
  311. submit("TRLPZ00102"); // 시스템 현재일시를 조회
  312. model.makeValue("/root/init/acptfromdd", model.getValue("/root/init/sysdt/sysdtinfo/sysdd"));
  313. model.makeValue("/root/init/acpttodd", model.getValue("/root/init/sysdt/sysdtinfo/sysdd"));
  314. }
  315. /* @group : 슬라이드 일괄발행
  316. * @ver : 2007.05.23 (CMCDEV-0001)
  317. * @by : 유동철(ACK)
  318. * @-----------------------------------
  319. * @type : function
  320. * @access : public
  321. * @desc : 접수검체 목록 조회 처리 Function
  322. */
  323. function fGetIssCsteList() {
  324. var sTemp = "";
  325. var sRefVal = model.getValue("/root/init/seaval");
  326. var sFromDD = model.getValue("/root/init/acptfromdd");
  327. var sToDD = model.getValue("/root/init/acpttodd");
  328. //------------------------------------------
  329. // 등록번호는 최소 4자리 이상 입력하여야 함.
  330. if (sRefVal.length> 0) {
  331. if (sRefVal.length < 4) {
  332. messageBox("등록번호는 최소 4자 이상 입력하여 주십시오! 조회를 ", "E001");
  333. return false;
  334. }
  335. }
  336. //------------------------------------------------
  337. if (model.getValue("/root/init/ptnocode") != "") {
  338. //------------------------------------------------
  339. if (model.getValue("/root/init/fromyear") == "") {
  340. model.makeValue("/root/init/fromyear", sFromDD.substr(2,2));
  341. } else {
  342. sTemp = model.getValue("/root/init/fromyear");
  343. model.makeValue("/root/init/fromyear", sTemp.getLeftPad(2, "0"));
  344. }
  345. //----------------------------------------------
  346. if (model.getValue("/root/init/toyear") == "") {
  347. model.makeValue("/root/init/toyear", sToDD.substr(2,2));
  348. } else {
  349. sTemp = model.getValue("/root/init/toyear");
  350. model.makeValue("/root/init/toyear", sTemp.getLeftPad(2, "0"));
  351. }
  352. //------------------------------------------------
  353. if (model.getValue("/root/init/fromptno") == "") {
  354. model.makeValue("/root/init/fromptno", "000000");
  355. } else {
  356. sTemp = model.getValue("/root/init/fromptno");
  357. model.makeValue("/root/init/fromptno", sTemp.getLeftPad(6, "0"));
  358. }
  359. //----------------------------------------------
  360. if (model.getValue("/root/init/toptno") == "") {
  361. model.makeValue("/root/init/toptno", "999999");
  362. } else {
  363. sTemp = model.getValue("/root/init/toptno");
  364. model.makeValue("/root/init/toptno", sTemp.getLeftPad(6, "0"));
  365. }
  366. }
  367. //--------------------------------------------
  368. sTemp = model.getValue("/root/init/ptnocode");
  369. //--------------------------------
  370. model.removeNodeset("/root/send");
  371. model.removeNodeset("/root/main/isscste/isscstelist");
  372. //---------------------------------------------------------------------
  373. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  374. model.makeValue("/root/send/acptfromdd", model.getValue("/root/init/acptfromdd"));
  375. model.makeValue("/root/send/acpttodd", model.getValue("/root/init/acpttodd"));
  376. model.makeValue("/root/send/seamthd", model.getValue("/root/init/seameth"));
  377. model.makeValue("/root/send/seaval", model.getValue("/root/init/seaval"));
  378. model.makeValue("/root/send/blockind", model.getValue("/root/init/blockind"));
  379. model.makeValue("/root/send/ptnocode", sTemp.replace("-", ""));
  380. model.makeValue("/root/send/fromyear", model.getValue("/root/init/fromyear"));
  381. model.makeValue("/root/send/fromptno", model.getValue("/root/init/fromptno"));
  382. model.makeValue("/root/send/toyear", model.getValue("/root/init/toyear"));
  383. model.makeValue("/root/send/toptno", model.getValue("/root/init/toptno"));
  384. model.makeValue("/root/send/seabasecd", model.getValue("/root/init/seabasecd"));
  385. //---------------------------
  386. submit("TRLPB00701", false);
  387. if ( model.getValue("/root/init/prntyn") == "1" ) {
  388. model.removeNodeset("/root/main/isscste/isscstelist[maxslidno != '000']");
  389. }
  390. //---------------------
  391. grd_cstelist.refresh();
  392. model.refresh();
  393. }
  394. /* @group : 슬라이드 일괄발행
  395. * @ver : 2007.05.23 (CMCDEV-0001)
  396. * @by : 유동철(ACK)
  397. * @-----------------------------------
  398. * @type : function
  399. * @access : public
  400. * @desc : 슬라이드 생성정보 전달 처리 Function
  401. */
  402. function fExeInfoSend()
  403. {
  404. var iCurCnt = -1;
  405. var iIssCnt = -1;
  406. var iDelCnt = -1;
  407. var iLastRowNo = -1;
  408. var iLastSlidNo = -1;
  409. var iLoopCnt = -1;
  410. var sPtNo = "";
  411. var sTempPtNo = "";
  412. var sPrtnCsStr = "";
  413. var strCssNm = ""; // 정보전달시 중복 블럭 삭제..
  414. var strCssTxt = ""; // 중복블럭 카세트 내용
  415. //-------------------------------------------------
  416. var strSrcNode = "/root/main/isscste/isscstelist";
  417. var strDescNode = "/root/main/issslid/issslidlist";
  418. //-------------------------------------------------------------------
  419. for (var iRowNo=1; iRowNo <= getNodesetCount(strSrcNode); iRowNo++)
  420. {
  421. if ( model.getValue(strSrcNode+"["+iRowNo+"]/choi") == "true") {
  422. //--------------------------------------------------------------------------
  423. iIssCnt = parseInt(model.getValue(strSrcNode+"[" + iRowNo + "]/afslidcnt"));
  424. iDelCnt = parseInt(model.getValue(strSrcNode+"[" + iRowNo + "]/delslidcnt"));
  425. //----------------------------------------------------------
  426. // 발행Slide 수 와 삭제 Slide 수 가 동시에 입력되면 처리불가
  427. if (iIssCnt > 0 && iDelCnt > 0)
  428. {
  429. messageBox("발행 슬라이드 수 와 삭제 슬라이드 수 를 동시에 처리", "E001");
  430. return false;
  431. }
  432. //---------------------------------
  433. // 발행 블록 수 를 입력한 경우 처리
  434. if (iIssCnt > 0 || iDelCnt > 0)
  435. {
  436. //----------------------------------------------------------------
  437. if (sTempPtNo != model.getValue(strSrcNode+"[" + iRowNo + "]/ptno"))
  438. {
  439. sPtNo += "'" + model.getValue(strSrcNode+"[" + iRowNo + "]/ptno") + "', "
  440. sTempPtNo = model.getValue(strSrcNode+"[" + iRowNo + "]/ptno");
  441. }
  442. //----------------------------------------
  443. iLastRowNo = getNodesetCount(strDescNode);
  444. iLastSlidNo = parseInt(model.getValue(strSrcNode+"[" + iRowNo + "]/maxslidno"));
  445. // iLastSlidNo = 0;
  446. model.makeValue(strSrcNode+"[" + iRowNo + "]/prntstat", "true")
  447. //----------------------------------
  448. if (iIssCnt > 0) iLoopCnt = iIssCnt;
  449. if (iDelCnt > 0) iLoopCnt = iDelCnt;
  450. //--------------------------------------
  451. for (var iNo=1; iNo <= iLoopCnt; iNo++)
  452. {
  453. grd_issslidlist.addRow(false,true);
  454. //-----------------------------------------
  455. iCurCnt = Number(iLastRowNo)+parseInt(iNo);
  456. //--------------------------------------------------------------------
  457. model.makeValue(strDescNode+"[" + iCurCnt + "]/choi", "true");
  458. model.makeValue(strDescNode+"[" + iCurCnt + "]/ptnochoi", "false");
  459. model.makeValue(strDescNode+"[" + iCurCnt + "]/instcd", model.getValue(strSrcNode+"[" + iRowNo + "]/instcd"));
  460. model.makeValue(strDescNode+"[" + iCurCnt + "]/ptno", model.getValue(strSrcNode+"[" + iRowNo + "]/ptno"));
  461. model.makeValue(strDescNode+"[" + iCurCnt + "]/dispptno", model.getValue(strSrcNode+"[" + iRowNo + "]/dispptno"));
  462. model.makeValue(strDescNode+"[" + iCurCnt + "]/spcacptdd", model.getValue(strSrcNode+"[" + iRowNo + "]/spcacptdd"));
  463. model.makeValue(strDescNode+"[" + iCurCnt + "]/spcacptno", model.getValue(strSrcNode+"[" + iRowNo + "]/spcacptno"));
  464. model.makeValue(strDescNode+"[" + iCurCnt + "]/spcacptseqno", model.getValue(strSrcNode+"[" + iRowNo + "]/spcacptseqno"));
  465. if (model.getValue("/root/init/blockind") == "0") {
  466. model.makeValue(strDescNode+"[" + iCurCnt + "]/csteno", model.getValue(strSrcNode+"[" + iRowNo + "]/csteno"));
  467. } else {
  468. model.makeValue(strDescNode+"[" + iCurCnt + "]/csteno", "000");
  469. }
  470. //----------------
  471. if (iIssCnt > 0)
  472. {
  473. model.makeValue(strDescNode+"[" + iCurCnt + "]/slidno", (iNo+iLastSlidNo).toString().getLeftPad(3, "0"));
  474. }
  475. else if (iDelCnt > 0)
  476. {
  477. model.makeValue(strDescNode+"[" + iCurCnt + "]/slidno", (iLastSlidNo).toString().getLeftPad(3, "0"));
  478. iLastSlidNo--;
  479. }
  480. //---------------------------------------------------------------
  481. switch ( model.getValue(strSrcNode+"["+iRowNo + "]/workflagcd") )
  482. {
  483. case "1001" :
  484. case "1002" :
  485. model.makeValue(strDescNode+"["+iCurCnt+"]/cstekindcd", "1001");
  486. model.makeValue(strDescNode+"["+iCurCnt+"]/cstecnts", "");
  487. break;
  488. case "1003" :
  489. if (iLoopCnt > 1) {
  490. if (iNo == 1) {
  491. //model.makeValue(strDescNode+"["+iCurCnt+"]/cstekindcd", "1001");
  492. model.makeValue(strDescNode+"["+iCurCnt+"]/cstekindcd", "1002");
  493. model.makeValue(strDescNode+"["+iCurCnt+"]/cstecnts", "");
  494. } else {
  495. model.makeValue(strDescNode+"["+iCurCnt+"]/cstekindcd", "1002");
  496. model.makeValue(strDescNode+"["+iCurCnt+"]/cstecnts", "");
  497. }
  498. } else {
  499. model.makeValue(strDescNode+"["+iCurCnt+"]/cstekindcd", "1002");
  500. model.makeValue(strDescNode+"["+iCurCnt+"]/cstecnts", "");
  501. }
  502. break;
  503. default :
  504. model.makeValue(strDescNode+"["+iCurCnt+"]/cstekindcd", "1001");
  505. model.makeValue(strDescNode+"["+iCurCnt+"]/cstecnts", "H&E");
  506. break;
  507. }
  508. model.makeValue(strDescNode+"["+iCurCnt+"]/tisscnt", "1");
  509. model.makeValue(strDescNode+"["+iCurCnt+"]/maxslidno", model.getValue(strSrcNode+"[" + iRowNo + "]/maxslidno"));
  510. model.makeValue(strDescNode+"["+iCurCnt+"]/acptdd", model.getValue(strSrcNode+"[" + iRowNo + "]/acptdd"));
  511. model.makeValue(strDescNode+"["+iCurCnt+"]/acptno", model.getValue(strSrcNode+"[" + iRowNo + "]/acptno"));
  512. model.makeValue(strDescNode+"["+iCurCnt+"]/spccd", model.getValue(strSrcNode+"[" + iRowNo + "]/spccd"));
  513. model.makeValue(strDescNode+"["+iCurCnt+"]/spchistno", model.getValue(strSrcNode+"[" + iRowNo + "]/spchistno"));
  514. model.makeValue(strDescNode+"["+iCurCnt+"]/testcd", "-");
  515. model.makeValue(strDescNode+"["+iCurCnt+"]/acptitemno", "0");
  516. model.makeValue(strDescNode+"["+iCurCnt+"]/workattr", "-");
  517. model.makeValue(strDescNode+"["+iCurCnt+"]/scrno", "20");
  518. model.makeValue(strDescNode+"["+iCurCnt+"]/statsinclflagcd", "0");
  519. model.makeValue(strDescNode+"["+iCurCnt+"]/relaptno", "-");
  520. model.makeValue(strDescNode+"["+iCurCnt+"]/bloccnts", model.getValue(strSrcNode+"["+iRowNo+"]/cstecnts"));
  521. model.makeValue(strDescNode+"["+iCurCnt+"]/workflagcd", model.getValue(strSrcNode+"["+iRowNo+"]/workflagcd"));
  522. model.makeValue(strDescNode+"["+iCurCnt+"]/pid", model.getValue(strSrcNode+"["+iRowNo+"]/pid"));
  523. model.makeValue(strDescNode+"["+iCurCnt+"]/patnm", model.getValue(strSrcNode+"["+iRowNo+"]/patnm"));
  524. //sPrtnCsStr = model.getValue(strSrcNode+"["+iRowNo+"]/prtnblocnm");
  525. //if (sPrtnCsStr.length < 1 )
  526. //{
  527. if ( model.getValue(strSrcNode+"["+iRowNo + "]/workflagcd") == "1003" ) {
  528. model.makeValue(strDescNode+"["+iCurCnt+"]/prntcsscnts", "A");
  529. } else {
  530. model.makeValue(strDescNode+"["+iCurCnt+"]/prntcsscnts", model.getValue(strSrcNode+"["+iRowNo+"]/cstecnts"));
  531. }
  532. //}
  533. //else
  534. //{
  535. // model.makeValue(strDescNode+"["+iCurCnt+"]/prntcsscnts", sPrtnCsStr);
  536. //}
  537. }
  538. }
  539. }
  540. //-------------------
  541. // 전달된 블럭 초기화
  542. model.makeValue(strSrcNode+"["+iRowNo+"]/choi", "false");
  543. }
  544. //--------------
  545. model.refresh();
  546. }
  547. /* @group : 슬라이드 일괄발행
  548. * @ver : 2007.05.24 (CMCDEV-0001)
  549. * @by : 유동철(ACK)
  550. * @-----------------------------------
  551. * @type : function
  552. * @access : public
  553. * @desc : 블럭 생성정보 전달 처리 Function
  554. */
  555. function fExeSlidIssDel(pBizFlagCd) {
  556. var sRelaPtNo = "";
  557. //--------------------------------
  558. model.removeNodeset("/root/send");
  559. //--------------------------------
  560. //카세트 및 슬라이드 삭제
  561. if(pBizFlagCd == "SMLPB00700_D") {
  562. //----------------------------
  563. grd_cstelist.clearStatus();
  564. //----------------------------------------------------------------------------------------
  565. for (var iRowNo=1; iRowNo <= getNodesetCount("/root/main/isscste/isscstelist"); iRowNo++) {
  566. if (model.getValue("/root/main/isscste/isscstelist[" + iRowNo + "]/choi") == "true") {
  567. model.makeValue("/root/main/isscste/isscstelist[" + iRowNo + "]/bizflagcd", pBizFlagCd);
  568. model.makeValue("/root/main/isscste/isscstelist[" + iRowNo + "]/scrno", "20");
  569. grd_cstelist.addStatus(iRowNo, "delete");
  570. }
  571. }
  572. //-------------------------------------------------------------------------
  573. model.makeValue("/root/send/isscstelist", grd_cstelist.getUpdateData());
  574. if (submit("TXLPB00702")) {
  575. messageBox("Cassette(블럭) 및 슬라이드(Slide) 삭제가 ", "I002");
  576. //------------------------------------
  577. // 슬라이드(Slide) 생성 후 자료 초기화
  578. fGetIssCsteList();
  579. }
  580. } else {
  581. //----------------------------
  582. grd_issslidlist.clearStatus();
  583. //----------------------------------------------------------------------------------------
  584. for (var iRowNo=1; iRowNo <= getNodesetCount("/root/main/issslid/issslidlist"); iRowNo++) {
  585. if (model.getValue("/root/main/issslid/issslidlist[" + iRowNo + "]/choi") == "true") {
  586. model.makeValue("/root/main/issslid/issslidlist[" + iRowNo + "]/bizflagcd", pBizFlagCd);
  587. model.makeValue("/root/main/issslid/issslidlist[" + iRowNo + "]/scrno", "20");
  588. grd_issslidlist.addStatus(iRowNo, "insert");
  589. }
  590. }
  591. //-------------------------------------------------------------------------
  592. model.makeValue("/root/send/issslidlist", grd_issslidlist.getUpdateData());
  593. if (submit("TXLPB00701")) {
  594. messageBox("슬라이드(Slide) 발행 및 삭제가 ", "I002");
  595. //-----------------------------
  596. // Slide Labeler 장비 Interface
  597. if (pBizFlagCd == "SMLPB00700_C") {
  598. fExeSlidIss();
  599. }
  600. //-------------------------------------
  601. // 슬라이드(Slide) 생성 후 자료 초기화
  602. //model.removeNodeset("/root/main/issslid/issslidlist");
  603. //grd_issslidlist.rebuild();
  604. fGetIssCsteList();
  605. }
  606. }
  607. }
  608. /* @group : 슬라이드 일괄발행
  609. * @ver : 2007.05.24 (CMCDEV-0001)
  610. * @by : 유동철(ACK)
  611. * @-----------------------------------
  612. * @type : function
  613. * @access : public
  614. * @desc : 발행 및 삭제Cassette목록 초기화 처리 Function
  615. */
  616. function fExeIssDelListInitialize() {
  617. model.removeNodeset("/root/main/issslid/issslidlist");
  618. grd_issslidlist.rebuild();
  619. }
  620. /* @group : 슬라이드 일괄발행
  621. * @ver : 2007.05.24 (CMCDEV-0001)
  622. * @by : 유동철(ACK)
  623. * @-----------------------------------
  624. * @type : function
  625. * @access : public
  626. * @desc : 발행 및 삭제Cassette목록 초기화 처리 Function
  627. */
  628. function fExeKeyPress() {
  629. var iInputVal = -1;
  630. var strNode = "/root/main/issslid/issslidlist";
  631. //-------------------------------
  632. //if (grd_issslidlist.col == 12) {
  633. //줄번호생성으로 수정
  634. // if (grd_issslidlist.col == 13) {
  635. if (grd_issslidlist.col == 14) {
  636. //----------------------------------------------------------------------------------------
  637. if (model.getValue(strNode + "[" + grd_issslidlist.row + "]/ipttype") == "") return false;
  638. //----------------------------------------------------------------------------
  639. iInputVal = model.getValue(strNode + "[" + grd_issslidlist.row + "]/ipttype");
  640. iInputVal = iInputVal.getLeftPad(1, "1000");
  641. //---------------------------------------------
  642. iInputVal = Number("1000") + Number(iInputVal);
  643. if (event.keyCode == 13) {
  644. model.makeValue(strNode+"["+grd_issslidlist.row+"]/cstekindcd", iInputVal);
  645. //----------------------
  646. if (iInputVal == 1001) {
  647. model.makeValue(strNode+"["+grd_issslidlist.row+"]/cstecnts", "");
  648. } else {
  649. model.makeValue(strNode+"["+grd_issslidlist.row+"]/cstecnts", model.getValue("/root/init/resncd/resncdlist[resncd='"+iInputVal+"']/resncnts"));
  650. }
  651. if (getNodesetCount("/root/main/issslid/issslidlist") > grd_issslidlist.row) {
  652. grd_issslidlist.row += 1;
  653. //grd_issslidlist.col= 12;
  654. // grd_issslidlist.col= 13; //줄번호생성으로 수정
  655. grd_issslidlist.col= 14;
  656. grd_issslidlist.editCell();
  657. }
  658. }
  659. }
  660. }
  661. /* @group : 슬라이드 일괄발행
  662. * @ver : 2007.05.28 (CMCDEV-0001)
  663. * @by : 유동철(ACK)
  664. * @-----------------------------------
  665. * @type : function
  666. * @access : public
  667. * @desc : Cassette목록 Click 처리 Function
  668. */
  669. function fExeCsteListClick() {
  670. var sState = "";
  671. var sSrcNode = "/root/main/isscste/isscstelist";
  672. var sDescNode = "/root/main/issslid/issslidlist";
  673. //--------------------------------------
  674. if (grd_cstelist.row <= 0) return false;
  675. if (model.getValue("/root/main/isscste/isscstelist[" + grd_cstelist.row + "]/ptno") == "") return false;
  676. //------------------------------------------------------------------
  677. for (var iRowNo=1; iRowNo <= getNodesetCount(sDescNode); iRowNo++) {
  678. if (model.getValue(sSrcNode+"[" + grd_cstelist.row + "]/ptno") == model.getValue(sDescNode+"[" + iRowNo + "]/ptno")) {
  679. model.makeValue(sDescNode + "[" + iRowNo + "]/choi", model.getValue(sSrcNode+"[" + grd_cstelist.row + "]/prntstat"));
  680. }
  681. }
  682. }
  683. /* @group : 슬라이드 일괄발행
  684. * @ver : 2007.05.28 (CMCDEV-0001)
  685. * @by : 유동철(ACK)
  686. * @-----------------------------------
  687. * @type : function
  688. * @access : public
  689. * @desc : 검사항목 선택 처리 Function
  690. */
  691. function fExeTestCdChange(pRowNo) {
  692. var sWorkAttr = "";
  693. var strSrcNode = "/root/temp/testcd/testcdlist";
  694. var strSrcNode2 = "/root/init/testcd/testcdlist";
  695. var strDescNode = "/root/main/issslid/issslidlist";
  696. var strPopupNode = "/root/temp/popupmenu/item";
  697. switch (grd_issslidlist.col) {
  698. //case 9 :
  699. // case 10 : // 줄번호 생성으로 수정
  700. case 11:
  701. if (model.getValue(strDescNode+"["+pRowNo+"]/cstekindcd") == "1001") {
  702. model.makeValue(strDescNode + "[" + pRowNo + "]/cstecnts", "");
  703. } else {
  704. model.makeValue(strDescNode + "[" + pRowNo + "]/cstecnts", model.getValue("/root/init/resncd/resncdlist[resncd='" + model.getValue(strDescNode + "[" + pRowNo + "]/cstekindcd") + "']/resncnts"));
  705. }
  706. model.makeValue(strDescNode + "[" + pRowNo + "]/acptdd", "-");
  707. model.makeValue(strDescNode + "[" + pRowNo + "]/acptno", "0");
  708. model.makeValue(strDescNode + "[" + pRowNo + "]/testcd", "-");
  709. model.makeValue(strDescNode + "[" + pRowNo + "]/acptitemno", "0");
  710. model.makeValue(strDescNode + "[" + pRowNo + "]/relaptno", "-");
  711. model.makeValue(strDescNode + "[" + pRowNo + "]/workattr", "");
  712. break;
  713. //case 10 : cstekindcd
  714. case grd_issslidlist.colRef("cstekindcd") :
  715. if (model.getValue(strDescNode+"["+pRowNo+"]/cstekindcd") == "1009" ||
  716. model.getValue(strDescNode+"["+pRowNo+"]/cstekindcd") == "1010" ||
  717. model.getValue(strDescNode+"["+pRowNo+"]/cstekindcd") == "1011") { // 조직
  718. fExePtNoTestNmSet(model.getValue(strDescNode+"["+pRowNo+"]/ptno"), strSrcNode2, strPopupNode);
  719. } else if (model.getValue(strDescNode+"["+pRowNo+"]/workflagcd") == "1001") { // 조직
  720. if (model.getValue(strDescNode+"["+pRowNo+"]/cstekindcd") == "1001") { // H&E
  721. model.setValue(strDescNode+"["+pRowNo+"]/cstecnts", "");
  722. } else {
  723. model.setValue(strDescNode+"["+pRowNo+"]/cstecnts", model.getValue("/root/init/resncd/resncdlist[resncd='"+model.getValue(strDescNode+"["+pRowNo+"]/cstekindcd")+"']/resncnts"));
  724. }
  725. } else if (model.getValue(strDescNode+"["+pRowNo+"]/workflagcd") == "1003") {
  726. if (model.getValue(strDescNode+"["+pRowNo+"]/cstekindcd") == "1002") { // H&E
  727. model.setValue(strDescNode+"["+pRowNo+"]/cstecnts", "");
  728. } else {
  729. model.setValue(strDescNode+"["+pRowNo+"]/cstecnts", model.getValue("/root/init/resncd/resncdlist[resncd='"+model.getValue(strDescNode+"["+pRowNo+"]/cstekindcd")+"']/resncnts"));
  730. }
  731. }
  732. break;
  733. //case 12 :
  734. // case 13 : // 줄번호 생성으로 수정
  735. case 14 :
  736. sWorkAttr = model.getValue(strDescNode + "[" + pRowNo + "]/workattr");
  737. model.makeValue(strDescNode + "[" + pRowNo + "]/cstekindcd", model.getValue(strSrcNode + "[workattr='" + sWorkAttr + "']/workflagcd"));
  738. model.makeValue(strDescNode + "[" + pRowNo + "]/cstecnts", model.getValue(strSrcNode + "[workattr='" + sWorkAttr + "']/testnm"));
  739. model.makeValue(strDescNode + "[" + pRowNo + "]/acptdd", model.getValue(strSrcNode + "[workattr='" + sWorkAttr + "']/acptdd"));
  740. model.makeValue(strDescNode + "[" + pRowNo + "]/acptno", model.getValue(strSrcNode + "[workattr='" + sWorkAttr + "']/acptno"));
  741. model.makeValue(strDescNode + "[" + pRowNo + "]/testcd", model.getValue(strSrcNode + "[workattr='" + sWorkAttr + "']/testcd"));
  742. model.makeValue(strDescNode + "[" + pRowNo + "]/acptitemno", model.getValue(strSrcNode + "[workattr='" + sWorkAttr + "']/acptitemno"));
  743. model.makeValue(strDescNode + "[" + pRowNo + "]/relaptno", model.getValue(strSrcNode + "[workattr='" + sWorkAttr + "']/ptno"));
  744. //-------------------------------------
  745. // 선택된 검사항목은 삭제(재 선택 불가)
  746. //model.removeNodeset(strSrcNode +"[workattr='" + sWorkAttr + "']");
  747. //model.removeNodeset(strSrcNode2+"[workattr='" + sWorkAttr + "' && ptno='" + model.getValue(strDescNode + "[" + pRowNo + "]/ptno") + "']");
  748. break;
  749. }
  750. //-------------
  751. model.refresh();
  752. }
  753. /* @group : 슬라이드 일괄발행
  754. * @ver : 2007.05.28 (CMCDEV-0001)
  755. * @by : 유동철(ACK)
  756. * @-----------------------------------
  757. * @type : function
  758. * @access : public
  759. * @desc : ComboBox 선택 처리 Function
  760. */
  761. function fExeComboSelect(pRowNo) {
  762. var sPtNo = "";
  763. var iFindNo = 0;
  764. var strSrcNode = "/root/init/testcd/testcdlist";
  765. var strSrcNode2 = "/root/temp/popupmenu/item";
  766. var strDescNode = "/root/main/issslid/issslidlist";
  767. //----------------------------
  768. switch (grd_issslidlist.col) {
  769. /*
  770. //선택병리번호를 클릭하였을 경우 가져오던 관련병리검사들을 오른쪽 마우스를 클릭하였을 경우로 변경.
  771. case 1 :
  772. fExePtNoChoi(pRowNo);
  773. //------------------------------------------------------------
  774. sPtNo = model.getValue(strDescNode + "[" + pRowNo + "]/ptno");
  775. fExePtNoTestNmSet(sPtNo, strSrcNode, strSrcNode2);
  776. break;
  777. */
  778. //case 9 :
  779. // case 10 :
  780. case 11 : // 줄번호 생성으로 수정
  781. break;
  782. //case 12 :
  783. // case 13 : // 줄번호 생성으로 수정
  784. case 13 :
  785. // //----------------------------------------------------------------
  786. // iFindNo = grd_issslidlist.findRow("true", 1, 1, "false", "false");
  787. //
  788. // //------------------------------------------------------------
  789. // sPtNo = model.getValue(strDescNode + "[" + pRowNo + "]/ptno");
  790. //
  791. // //------------------------
  792. // if (Number(iFindNo) > 0) {
  793. //
  794. // //--------------------------------------------------------------
  795. // if (model.getValue(strDescNode+"["+iFindNo+"]/ptno") != sPtNo) {
  796. // fExePtNoChoi(pRowNo);
  797. // } else {
  798. // return false;
  799. // }
  800. // } else {
  801. // fExePtNoChoi(pRowNo);
  802. // }
  803. //
  804. // //------------------------------------------------
  805. // fExePtNoTestNmSet(sPtNo, strSrcNode, strSrcNode2);
  806. //----
  807. break;
  808. }
  809. //-------------
  810. //grd_issslidlist.rebuild();
  811. model.refresh();
  812. }
  813. function fExePtNoTestNmSet(pPtNo, pSrcNode, pPopupNode) {
  814. model.removeNodeset(pSrcNode);
  815. model.makeNode(pSrcNode);
  816. //-------------------------
  817. // 병리번호별 검사항목 조회
  818. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  819. model.makeValue("/root/send/ptno", pPtNo);
  820. model.makeValue("/root/send/bizflagcd", "0"); // 0:자신포함, 1:자신불포함
  821. submit("TRLPB00702");
  822. //----------------------------
  823. // model.removeNodeset(pSrcNode);
  824. model.removeNodeset("/root/temp/testcd/testcdlist");
  825. model.removeNodeset("/root/temp/popupmenu/item");
  826. //---------------------------------------------
  827. model.makeNode("/root/temp/testcd/testcdlist");
  828. copyNodesetType("/root/temp/testcd/testcdlist", pSrcNode);
  829. //---------------------------------------------------------------------------------------
  830. for (var iRowNo=1; iRowNo <= getNodesetCount("/root/temp/testcd/testcdlist"); iRowNo++) {
  831. model.makeValue(pPopupNode + "[" + iRowNo + "]/nm", model.getValue("/root/temp/testcd/testcdlist[" + iRowNo + "]/testnm"));
  832. model.makeValue(pPopupNode + "[" + iRowNo + "]/funt", iRowNo);
  833. }
  834. }
  835. /* @group : 슬라이드 일괄발행
  836. * @ver : 2007.10.16 (CMCDEV-0001)
  837. * @by : 유동철(ACK)
  838. * @-----------------------------------
  839. * @type : function
  840. * @access : public
  841. * @desc : 팝업 선택 처리 Function
  842. */
  843. function fExePtNoChoi(pRowNo) {
  844. var sPtNo = "";
  845. var sNode = "/root/main/issslid/issslidlist";
  846. //-----------------------
  847. // 선택된 병리번호 초기화
  848. for (var iNo=1; iNo <= getNodesetCount(sNode); iNo++) {
  849. model.setValue(sNode+"["+iNo+"]/ptnochoi", "false");
  850. }
  851. //------------------------------------------------
  852. sPtNo = model.getValue(sNode+"["+pRowNo+"]/ptno");
  853. for (var iNo=1; iNo <= getNodesetCount(sNode); iNo++) {
  854. //-------------------------------------------------------
  855. if (model.getValue(sNode+"["+iNo+"]/ptno") == sPtNo) {
  856. model.setValue(sNode+"["+iNo+"]/ptnochoi", "true");
  857. }
  858. }
  859. //------------------------
  860. grd_issslidlist.refresh();
  861. }
  862. /* @group : 슬라이드 일괄발행
  863. * @ver : 2007.10.16 (CMCDEV-0001)
  864. * @by : 유동철(ACK)
  865. * @-----------------------------------
  866. * @type : function
  867. * @access : public
  868. * @desc : 팝업 선택 처리 Function
  869. */
  870. function fExePopupClick(pRowNo) {
  871. var iRowNo = grd_issslidlist.row;
  872. var sSrcNode = "/root/temp/testcd/testcdlist";
  873. var sDescNode = "/root/main/issslid/issslidlist";
  874. //----------------------------------------------------------------------------------------------------
  875. model.makeValue(sDescNode+"["+iRowNo+"]/acptdd", model.getValue(sSrcNode+"["+ pRowNo+"]/acptdd"));
  876. model.makeValue(sDescNode+"["+iRowNo+"]/acptno", model.getValue(sSrcNode+"["+ pRowNo+"]/acptno"));
  877. model.makeValue(sDescNode+"["+iRowNo+"]/acptitemno", model.getValue(sSrcNode+"["+ pRowNo+"]/acptitemno"));
  878. model.makeValue(sDescNode+"["+iRowNo+"]/testcd", model.getValue(sSrcNode+"["+ pRowNo+"]/testcd"));
  879. model.makeValue(sDescNode+"["+iRowNo+"]/workattr", model.getValue(sSrcNode+"["+ pRowNo+"]/testnm"));
  880. model.makeValue(sDescNode+"["+iRowNo+"]/cstecnts", model.getValue(sSrcNode+"["+ pRowNo+"]/testnm"));
  881. if (model.getValue(sDescNode+"["+iRowNo+"]/dispptno") == model.getValue(sSrcNode+"["+ pRowNo+"]/dispptno")) {
  882. model.makeValue(sDescNode+"["+iRowNo+"]/relaptno", "-");
  883. model.makeValue(sDescNode+"["+iRowNo+"]/reladispptno", "-");
  884. } else {
  885. model.makeValue(sDescNode+"["+iRowNo+"]/relaptno", model.getValue(sSrcNode+"["+ pRowNo+"]/ptno"));
  886. model.makeValue(sDescNode+"["+iRowNo+"]/reladispptno", model.getValue(sSrcNode+"["+ pRowNo+"]/dispptno"));
  887. }
  888. //-----------------------------------------------------------
  889. switch (model.getValue(sSrcNode+"["+ pRowNo+"]/workflagcd")) {
  890. case "1004" : model.makeValue(sDescNode+"["+iRowNo+"]/cstekindcd", "1009");
  891. break;
  892. case "1005" : model.makeValue(sDescNode+"["+iRowNo+"]/cstekindcd", "1010");
  893. break;
  894. case "1006" : model.makeValue(sDescNode+"["+iRowNo+"]/cstekindcd", "1011");
  895. break;
  896. default : model.makeValue(sDescNode+"["+iRowNo+"]/cstekindcd", "1001");
  897. }
  898. //------------------------
  899. grd_issslidlist.refresh();
  900. }
  901. /* @group : 슬라이드 일괄발행
  902. * @ver : 2007.10.16 (CMCDEV-0001)
  903. * @by : 유동철(ACK)
  904. * @-----------------------------------
  905. * @type : function
  906. * @access : public
  907. * @desc : 등록번호 입력 키 처리 Function
  908. */
  909. function fExeRefValInput() {
  910. if(event.keyCode == 13) {
  911. model.setValue("/root/init/seaval", ipt_seaval.currentText);
  912. ipt_seaval.refresh();
  913. //----------------
  914. fGetIssCsteList();
  915. }
  916. }
  917. //-----------------------------
  918. // Socket으로 슬라이드정보 전송
  919. function fExeSlidSend() {
  920. var iMaxRowCnt = 0;
  921. var iIssRowCnt = 0;
  922. var sSlidNode = "/root/main/issslid/issslidlist";
  923. //--------------------------------------
  924. iMaxRowCnt = getNodesetCount(sSlidNode);
  925. //-------------------
  926. // 발행대상 건수 검사
  927. for (var iRowNo=1; iRowNo <= iMaxRowCnt; iRowNo++) {
  928. //-------------------------------------------------------------------
  929. if (model.getValue(sSlidNode + "[" + iRowNo + "]/choi") == "true") {
  930. iIssRowCnt++;
  931. }
  932. }
  933. if(model.getValue("/root/hidden/prtndirect") != "2") {
  934. //정방향출력
  935. for (var iRowNo=1; iRowNo <= iMaxRowCnt; iRowNo++) {
  936. if(model.getValue(sSlidNode+"["+iRowNo+"]/choi") == "true") {
  937. sSendMsg = "";
  938. sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/ptno") + "▦"; // 병리번호
  939. sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/dispptno") + "▦"; // 표시병리번호
  940. sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/spcacptseqno") + "▦"; // 검체일련번호
  941. sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/csteno") + "▦"; // 블럭번호
  942. sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/slidno") + "▦"; // 슬라이드번호
  943. //sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/bloccnts") + "▦"; // 블럭내용
  944. sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/prntcsscnts") + "▦"; // 블럭내용
  945. sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/cstecnts") + "▦"; // 슬라이드내용
  946. //------------------
  947. // 전송종료여부 설정
  948. if (iRowNo == iIssRowCnt) {
  949. sSendMsg += "Y" + "▦";
  950. } else {
  951. sSendMsg += "N" + "▦";
  952. }
  953. //-----------------------------------------------------------------------
  954. //sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/reladispptno") + "▦"; // 관련병리번호
  955. sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/pid") + "▦"; // 환자번호
  956. sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/patnm") + "▦"; // 환자명
  957. // if (model.getValue("/root/init/prtflag") == "0") {
  958. // sSendMsg += "SM" + "▩";
  959. // } else {
  960. // sSendMsg += "SB" + "▩";
  961. // }
  962. if (chk_bcodeprnt.value == "B") { // 바코드출력여부 (B :출력, -: 미출력)
  963. sSendMsg += "B" + "▩";
  964. } else {
  965. sSendMsg += "-" + "▩";
  966. }
  967. //--------------------------
  968. socket.sendString(sSendMsg); // 전송한다.
  969. }
  970. }
  971. } else {
  972. //역방향 출력
  973. for (var iRowNo=iMaxRowCnt ; iRowNo >= 1; iRowNo--) {
  974. if(model.getValue(sSlidNode+"["+iRowNo+"]/choi") == "true") {
  975. sSendMsg = "";
  976. sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/ptno") + "▦"; // 병리번호
  977. sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/dispptno") + "▦"; // 표시병리번호
  978. sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/spcacptseqno") + "▦"; // 검체일련번호
  979. sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/csteno") + "▦"; // 블럭번호
  980. sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/slidno") + "▦"; // 슬라이드번호
  981. //sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/bloccnts") + "▦"; // 블럭내용
  982. sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/prntcsscnts") + "▦"; // 블럭내용
  983. sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/cstecnts") + "▦"; // 슬라이드내용
  984. sSendMsg += model.getValue("/root/init/bcodeprnt") + "▦"; // 바코드출력여부 (B :출력, -: 미출력)
  985. //------------------
  986. // 전송종료여부 설정
  987. if (iRowNo == iIssRowCnt) {
  988. sSendMsg += "Y" + "▦";
  989. } else {
  990. sSendMsg += "N" + "▦";
  991. }
  992. //-----------------------------------------------------------------------
  993. //sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/reladispptno") + "▦"; // 관련병리번호
  994. sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/pid") + "▦"; // 환자번호
  995. sSendMsg += model.getValue(sSlidNode+"["+iRowNo+"]/patnm") + "▦"; // 환자명
  996. // if (model.getValue("/root/init/prtflag") == "0") {
  997. // sSendMsg += "SM" + "▩";
  998. // } else {
  999. // sSendMsg += "SB" + "▩";
  1000. // }
  1001. if (chk_bcodeprnt.value == "B") { // 바코드출력여부 (B :출력, -: 미출력)
  1002. sSendMsg += "B" + "▩";
  1003. } else {
  1004. sSendMsg += "-" + "▩";
  1005. }
  1006. //--------------------------
  1007. socket.sendString(sSendMsg); // 전송한다.
  1008. }
  1009. }
  1010. }
  1011. //-----------------------------
  1012. model.removeNodeset(sSlidNode);
  1013. //----------
  1014. // 소켓 닫기
  1015. socket.close();
  1016. }
  1017. /* @group : 슬라이드일괄출력 화면
  1018. * @ver : 2007.06.26 (CMCDEV-0001)
  1019. * @by : 유동철(ACK)
  1020. * @-----------------------------------
  1021. * @type : function
  1022. * @access : public
  1023. * @desc : 슬라이드 목록을 장비에 출력 처리 함수
  1024. */
  1025. function fExeSlidIss() {
  1026. var sInfoNode = "/root/init/hospenv/hospenvinfo";
  1027. var sSlidBcIP = "";
  1028. var sSlidBcPort = "";
  1029. /*
  1030. //------------------------------------------------
  1031. switch (model.getValue("/root/init/prtflag")) {
  1032. case "0" :
  1033. sSlidBcIP = model.getValue("/root/init/hospenv/hospenvinfo/slideqmtip");
  1034. sSlidBcPort = model.getValue("/root/init/hospenv/hospenvinfo/slideqmtport");
  1035. break;
  1036. case "1" :
  1037. sSlidBcIP = model.getValue("/root/init/hospenv/hospenvinfo/slidbceqmtip");
  1038. sSlidBcPort = model.getValue("/root/init/hospenv/hospenvinfo/slidbceqmtport");
  1039. break;
  1040. case "2" :
  1041. sSlidBcIP = model.getValue("/root/init/hospenv/hospenvinfo/slidbceqmtip2");
  1042. sSlidBcPort = model.getValue("/root/init/hospenv/hospenvinfo/slidbceqmtport2");
  1043. break;
  1044. }
  1045. */
  1046. //장비IP set
  1047. for(var iRowNo = 1 ; iRowNo <= getNodesetCount("/root/main/eqinfo/slideqlist") ; iRowNo++){
  1048. if(model.getValue("/root/init/eqseqno") == model.getValue("/root/main/eqinfo/slideqlist["+ iRowNo +"]/eqseqno")) {
  1049. sSlidBcIP = model.getValue("/root/main/eqinfo/slideqlist["+ iRowNo +"]/eqip");
  1050. sSlidBcPort = model.getValue("/root/main/eqinfo/slideqlist["+ iRowNo +"]/eqport");
  1051. }
  1052. }
  1053. //----------------------------------------
  1054. if (sSlidBcIP == "" || sSlidBcIP == "-") {
  1055. messageBox("슬라이드 라벨지 장비의 IP주소가 없습니다. 병원별 환경설정에서 ", "C001");
  1056. return false;
  1057. }
  1058. //--------------------------------------------
  1059. if (sSlidBcPort == "" || sSlidBcPort == "-") {
  1060. messageBox("슬라이드 라벨지 장비의 Port번호가 없습니다. 병원별 환경설정에서 ", "C001");
  1061. return false;
  1062. }
  1063. //-------------------------------------
  1064. socket.connect(sSlidBcIP, sSlidBcPort);
  1065. }
  1066. function fExeIssCntKeyPress() {
  1067. var sNode = "/root/main/isscste/isscstelist";
  1068. //-----------------------
  1069. if(event.keyCode == 13) {
  1070. model.setValue("/root/init/isscnt", ipt_isscnt.currentText);
  1071. ipt_isscnt.refresh();
  1072. //----------------------------------------------------------
  1073. if (model.getValue("/root/init/isscnt") == "") return false;
  1074. //-----------------------------------------------------
  1075. for (var iNo=1; iNo <= getNodesetCount(sNode); iNo++) {
  1076. if ( model.getValue(sNode+"["+iNo+"]/choi") == "true") {
  1077. model.setValue(sNode+"["+iNo+"]/afslidcnt", model.getValue("/root/init/isscnt"));
  1078. model.setValue(sNode+"["+iNo+"]/choi", "false");
  1079. }
  1080. }
  1081. //---------------------
  1082. grd_cstelist.refresh();
  1083. }
  1084. //-------------
  1085. model.refresh();
  1086. }
  1087. /* @group : 슬라이드 내용 합
  1088. * @ver : 2009.03.16 (CMCDEV-0001)
  1089. * @by : 하만석(ACK)
  1090. * @-----------------------------------
  1091. * @type : function
  1092. * @access : public
  1093. * @desc : 슬라이드 내용을 일괄 합
  1094. */
  1095. function fExeSumSlideCnt(fRowNo, lRowNo)
  1096. {
  1097. var sLastBlocCnts = model.getValue("/root/main/issslid/issslidlist["+ lRowNo +"]/bloccnts");
  1098. var sLastPtno = model.getValue("/root/main/issslid/issslidlist["+ lRowNo +"]/ptno");
  1099. var sNewBlocCnts = "";
  1100. var sCurBlocCnts = "";
  1101. var sChkYN = "Y";
  1102. if ((lRowNo - fRowNo) > 0) {
  1103. for(var iNo = lRowNo ; iNo >= fRowNo ; iNo--) {
  1104. sCurBlocCnts = model.getValue("/root/main/issslid/issslidlist["+ iNo +"]/bloccnts");
  1105. if((iNo == fRowNo) || (sLastPtno != model.getValue("/root/main/issslid/issslidlist["+ (Number(iNo)-1) +"]/ptno"))) {
  1106. if(sLastPtno == model.getValue("/root/main/issslid/issslidlist["+ iNo +"]/ptno")) {
  1107. if(sChkYN == "Y" && lRowNo != iNo) {
  1108. sNewBlocCnts = sCurBlocCnts + "-" + sLastBlocCnts;
  1109. model.setValue("/root/main/issslid/issslidlist["+ iNo +"]/prntcsscnts", sNewBlocCnts);
  1110. }
  1111. } else {
  1112. if(sChkYN == "Y" ) {
  1113. fExeSumSlideCnt(fRowNo, iNo);
  1114. sChkYN = "N";
  1115. }
  1116. }
  1117. } else {
  1118. if(sChkYN == "Y") {
  1119. grd_issslidlist.deleteRow (iNo, false);
  1120. }
  1121. }
  1122. }
  1123. grd_issslidlist.refresh();
  1124. }
  1125. }
  1126. /* @group : 슬라이드 내용 합
  1127. * @ver : 2009.04.13 (CMCDEV-0001)
  1128. * @by : 하만석(ACK)
  1129. * @-----------------------------------
  1130. * @type : function
  1131. * @access : public
  1132. * @desc : 블록번호, 슬라이드내용 일괄 입력
  1133. */
  1134. function fSetBlocSlidCnt(pFlag) {
  1135. for(var iRowNo = 1 ; iRowNo <= getNodesetCount("/root/main/issslid/issslidlist") ; iRowNo++){
  1136. if(model.getValue("/root/main/issslid/issslidlist["+ iRowNo +"]/choi") == "true") {
  1137. if(pFlag == "B") {
  1138. model.setValue("/root/main/issslid/issslidlist["+ iRowNo +"]/prntcsscnts", model.getValue("/root/init/bloccmb"));
  1139. } else if(pFlag == "C"){
  1140. model.setValue("/root/main/issslid/issslidlist["+ iRowNo +"]/cstecnts", model.getValue("/root/init/slidcmb"));
  1141. }
  1142. }
  1143. }
  1144. grd_issslidlist.refresh();
  1145. }
  1146. /* @group : 슬라이드 일괄발행
  1147. * @ver : 2009.09.29 (CMCDEV-0001)
  1148. * @by : 박상환(평화이즈)
  1149. * @-----------------------------------
  1150. * @type : function
  1151. * @access : public
  1152. * @desc : 다중 선택 함수
  1153. */
  1154. function fSelectList() {
  1155. var iFirstRow = grd_cstelist.selectedRow(0);
  1156. var iLasrRow = grd_cstelist.selectedRow(grd_cstelist.selectedRows-1);
  1157. for(var iNo = iLasrRow ; iNo >= iFirstRow ; iNo--) {
  1158. model.setValue("/root/main/isscste/isscstelist["+ iNo +"]/choi", "true");
  1159. }
  1160. grd_cstelist.refresh();
  1161. }
  1162. /* @group : 슬라이드 일괄발행
  1163. * @ver : 2009.09.29 (CMCDEV-0001)
  1164. * @by : 박상환(평화이즈)
  1165. * @-----------------------------------
  1166. * @type : function
  1167. * @access : public
  1168. * @desc : 다중 선택 함수
  1169. */
  1170. function fDeSelectList() {
  1171. var iFirstRow = grd_cstelist.selectedRow(0);
  1172. var iLasrRow = grd_cstelist.selectedRow(grd_cstelist.selectedRows-1);
  1173. for(var iRowNo = iLasrRow ; iRowNo >= iFirstRow ; iRowNo--) {
  1174. model.setValue("/root/main/isscste/isscstelist["+ iRowNo +"]/choi", "false");
  1175. }
  1176. grd_cstelist.refresh();
  1177. }
  1178. /* @group : 슬라이드 일괄발행
  1179. * @ver : 2009.09.29 (CMCDEV-0001)
  1180. * @by : 박상환(평화이즈)
  1181. * @-----------------------------------
  1182. * @type : function
  1183. * @access : public
  1184. * @desc : 다중 선택 함수
  1185. */
  1186. function fSelectSlideList() {
  1187. var iFirstRow = grd_issslidlist.selectedRow(0);
  1188. var iLasrRow = grd_issslidlist.selectedRow(grd_issslidlist.selectedRows-1);
  1189. for(var iNo = iLasrRow ; iNo >= iFirstRow ; iNo--) {
  1190. model.makeValue("/root/main/issslid/issslidlist["+ iNo +"]/choi", "true");
  1191. }
  1192. grd_issslidlist.refresh();
  1193. }
  1194. /* @group : 슬라이드 일괄발행
  1195. * @ver : 2009.09.29 (CMCDEV-0001)
  1196. * @by : 박상환(평화이즈)
  1197. * @-----------------------------------
  1198. * @type : function
  1199. * @access : public
  1200. * @desc : 다중 선택 함수
  1201. */
  1202. function fDeSelectSlideList() {
  1203. var iFirstRow = grd_issslidlist.selectedRow(0);
  1204. var iLasrRow = grd_issslidlist.selectedRow(grd_issslidlist.selectedRows-1);
  1205. for(var iRowNo = iLasrRow ; iRowNo >= iFirstRow ; iRowNo--) {
  1206. model.makeValue("/root/main/issslid/issslidlist["+ iRowNo +"]/choi", "false");
  1207. }
  1208. grd_issslidlist.refresh();
  1209. }
  1210. /* @group : 슬라이드 일괄발행
  1211. * @ver : 2009.09.29 (CMCDEV-0001)
  1212. * @by : 박상환(평화이즈)
  1213. * @-----------------------------------
  1214. * @type : function
  1215. * @access : public
  1216. * @desc : 슬라이드종류일괄 변경
  1217. */
  1218. function fExeSlidCharKind() {
  1219. var sNode = "/root/main/issslid/issslidlist";
  1220. //-----------------------------------------------------
  1221. for (var iNo=1; iNo <= getNodesetCount(sNode); iNo++) {
  1222. if (model.getValue(sNode+"["+iNo+"]/choi") == "true") {
  1223. model.setValue(sNode+"["+iNo+"]/cstekindcd", model.getValue("/root/init/choicstekindcd"));
  1224. }
  1225. }
  1226. //---------------------
  1227. grd_issslidlist.refresh();
  1228. }
  1229. ]]>
  1230. </script>
  1231. </xhtml:head>
  1232. <xhtml:body guideline="1,1195;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  1233. <script type="javascript" ev:event="onmenu">
  1234. <![CDATA[
  1235. fExePopupClick(event.description);
  1236. ]]>
  1237. </script>
  1238. <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
  1239. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:240px; height:14px; ">슬라이드 일괄발행</caption>
  1240. </group>
  1241. <group id="grp_biz" scroll="auto" style="left:0px; top:40; width:1195px; height:744px; ">
  1242. <select1 id="cmb_prnteqmt" ref="/root/init/prtflag" visibility="hidden" appearance="minimal" style="left:725px; top:50px; width:134px; height:19px; ">
  1243. <choices>
  1244. <item>
  1245. <label>슬라이드 라벨러</label>
  1246. <value>0</value>
  1247. </item>
  1248. <item>
  1249. <label>라벨 프린터1</label>
  1250. <value>1</value>
  1251. </item>
  1252. <item>
  1253. <label>라벨 프린터2</label>
  1254. <value>2</value>
  1255. </item>
  1256. </choices>
  1257. </select1>
  1258. <group id="grp_sea" style="left:0px; top:10px; width:1194px; height:35px; vertical-align:top; ">
  1259. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1194px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  1260. <caption id="caption2" class="search_name" style="left:732px; top:9px; width:86px; height:17px; ">접수일자 :</caption>
  1261. <caption id="caption5" class="search_no_b" style="left:918px; top:10px; width:12px; height:17px; ">~</caption>
  1262. <line id="line13" class="line_4" style="x1:1107px; y1:7px; x2:1107px; y2:29px; "/>
  1263. <input id="ipt_acptddfrom" ref="/root/init/acptfromdd" class="input_s_essential" navindex="8" inputtype="date" format="yyyy-mm-dd" mask="exclude" showmask="true" style="left:821px; top:8px; width:94px; height:19px; "/>
  1264. <input id="ipt_acptddto" ref="/root/init/acpttodd" class="input_s_essential" navindex="9" inputtype="date" format="yyyy-mm-dd" mask="exclude" showmask="true" style="left:933px; top:8px; width:94px; height:19px; "/>
  1265. <caption id="caption1" class="search_name" style="left:533px; top:9px; width:86px; height:17px; ">등록번호 :</caption>
  1266. <button id="btn_sea" class="btn1_letter2" navindex="10" style="left:1123px; top:7px; width:56px; height:22px; ">
  1267. <caption>조회</caption>
  1268. <script type="javascript" ev:event="DOMActivate">
  1269. <![CDATA[
  1270. fGetIssCsteList();
  1271. ]]>
  1272. </script>
  1273. </button>
  1274. <input id="ipt_seaval" ref="/root/init/seaval" class="input_search" navindex="1" style="left:625px; top:8px; width:93px; height:19px; ">
  1275. <script type="javascript" ev:event="onkeypress">
  1276. <![CDATA[
  1277. fExeRefValInput();
  1278. ]]>
  1279. </script>
  1280. </input>
  1281. <select1 id="cbo_ptnocd" ref="/root/init/ptnocode" navindex="2" appearance="minimal" editmode="search" style="left:100px; top:8px; width:151px; height:19px; ">
  1282. <choices>
  1283. <itemset nodeset="/root/init/ptnocd/ptnocdlist">
  1284. <label ref="ptnonm"/>
  1285. <value ref="ptnocd"/>
  1286. </itemset>
  1287. </choices>
  1288. </select1>
  1289. <caption id="caption10" class="search_no_b" style="left:337px; top:8px; width:12px; height:17px; ">~</caption>
  1290. <input id="ipt_fromptno" ref="/root/init/fromptno" class="text_center" navindex="4" maxlength="6" style="left:284px; top:8px; width:50px; height:19px; "/>
  1291. <input id="input1" ref="/root/init/toptno" class="text_center" navindex="6" maxlength="6" style="left:382px; top:8px; width:50px; height:19px; "/>
  1292. <input id="input2" ref="/root/init/toyear" class="text_center" navindex="5" maxlength="2" style="left:352px; top:8px; width:27px; height:19px; "/>
  1293. <caption id="caption9" class="search_name" style="left:6px; top:9px; width:90px; height:17px; ">병리번호 :</caption>
  1294. <input id="ipt_fromyear" ref="/root/init/fromyear" class="text_center" navindex="3" maxlength="2" style="left:254px; top:8px; width:27px; height:19px; "/>
  1295. <select1 id="combo1" ref="/root/init/blockind" navindex="7" appearance="minimal" style="left:434px; top:8px; width:86px; height:19px; ">
  1296. <choices>
  1297. <item>
  1298. <label>CELL블럭</label>
  1299. <value>0</value>
  1300. </item>
  1301. <item>
  1302. <label>가상블럭</label>
  1303. <value>1</value>
  1304. </item>
  1305. </choices>
  1306. </select1>
  1307. <select id="chk_prntyn" ref="/root/init/prntyn" overflow="visible" appearance="full" style="left:1037px; top:10px; width:55px; height:20px; border-style:none; ">
  1308. <choices>
  1309. <item>
  1310. <label>미발행</label>
  1311. <value>1</value>
  1312. </item>
  1313. </choices>
  1314. </select>
  1315. </group>
  1316. <line id="line1" class="line_1" style="x1:0px; y1:69px; x2:365px; y2:69px; "/>
  1317. <caption id="caption3" class="tit_2" style="left:5px; top:54px; width:190px; height:14px; ">Cassette 목록</caption>
  1318. <datagrid id="grd_cstelist" nodeset="/root/main/isscste/isscstelist" class="datagrid2" caption="기관코드^ptno^^병리번호^검체접수일자^검체접수번호^검체&#xA;번호^검 체 명^Cassette&#xA;번호^Cassette내용^기존&#xA;Slide수^발행할&#xA;Slide수^삭제할&#xA;Slide수^출력^caption1^슬라이드최종번호^scrno^bizflagcd^workflagcd^acptdd^acptno^spccd^spchistno^pid^patnm" colsep="^" colwidth="0, 0, 34, 90, 0, 0, 0, 0, 0, 130, 0, 50, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0" dataheight="23" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheight="32" rowsep="|" selectionmode="byrow" navindex="11" style="left:0px; top:74px; width:365px; height:653px; ">
  1319. <col ref="instcd"/>
  1320. <col ref="ptno"/>
  1321. <col ref="choi" type="checkbox"/>
  1322. <col class="text_center" ref="dispptno"/>
  1323. <col ref="spcacptdd"/>
  1324. <col ref="spcacptno"/>
  1325. <col class="text_center" ref="spcacptseqno"/>
  1326. <col ref="spcnm"/>
  1327. <col class="text_center" ref="csteno"/>
  1328. <col ref="cstecnts"/>
  1329. <col class="text_center" ref="bfslidcnt"/>
  1330. <col class="text_center" ref="afslidcnt" type="input" format="##" mask="exclude" maxlength="2" showmask="true"/>
  1331. <col class="text_center" ref="delslidcnt" type="input" visibility="hidden" format="##" mask="exclude" maxlength="2" showmask="true"/>
  1332. <col ref="prntstat" type="checkbox" visibility="hidden"/>
  1333. <col ref="prntcsscnts" visibility="hidden"/>
  1334. <col ref="maxslidno"/>
  1335. <col ref="scrno" visibility="hidden"/>
  1336. <col ref="bizflagcd" visibility="hidden"/>
  1337. <col ref="workflagcd"/>
  1338. <col ref="acptdd"/>
  1339. <col ref="acptno"/>
  1340. <col ref="spccd"/>
  1341. <col ref="spchistno"/>
  1342. <col ref="pid"/>
  1343. <col ref="patnm"/>
  1344. <script type="javascript" ev:event="onclick">
  1345. <![CDATA[
  1346. fExeCsteListClick();
  1347. ]]>
  1348. </script>
  1349. <script type="javascript" ev:event="onaftersort">
  1350. <![CDATA[
  1351. grd_cstelist.gridToInstance();
  1352. ]]>
  1353. </script>
  1354. <script type="javascript" ev:event="onmousedown">
  1355. <![CDATA[
  1356. if ( (grd_cstelist.mouseRow >= grd_cstelist.fixedRows) && (grd_cstelist.isCell(event.target))) {
  1357. setPopupMenu("grd_cstelist", false, "/root/init/popupmenu/item", "name", "func");
  1358. }
  1359. ]]>
  1360. </script>
  1361. <script type="javascript" ev:event="DOMFocusOut">
  1362. <![CDATA[
  1363. initPopupMenu();
  1364. ]]>
  1365. </script>
  1366. </datagrid>
  1367. <caption id="caption7" class="tit_2" style="left:372px; top:54px; width:194px; height:13px; ">발행 및 삭제 슬라이드 목록</caption>
  1368. <line id="line2" class="line_1" style="x1:367px; y1:69px; x2:1195px; y2:69px; "/>
  1369. <button id="btn_addcste" class="btn2_letter4" navindex="12" style="left:300px; top:49px; width:64px; height:19px; ">
  1370. <caption>정보전달</caption>
  1371. <script type="javascript" ev:event="DOMActivate">
  1372. <![CDATA[
  1373. fExeInfoSend();
  1374. ]]>
  1375. </script>
  1376. </button>
  1377. <datagrid id="grd_issslidlist" nodeset="/root/main/issslid/issslidlist" class="datagrid2" caption="^선택&#xA;병리번호^기관코드^병리번호^병리번호^검체접수일자^검체접수번호'^검체번호^Cassette&#xA;번호^Cassette&#xA;내용^Cassette&#xA;출력^슬라이드&#xA;번호^슬라이드&#xA;종류^슬라이드내용^검사항목명^Block번호^슬라이드내용^종류입력^maxcsteno^bizflagcd^acptdd^acptno^testcd^acptitemno^scrno^spccd^spchistno^statsinclflagcd^relaptno^bloccnts^reladispptno^workflagcd^pid^patnm" colsep="^" colwidth="43, 0, 0, 0, 90, 0, 0, 0, 0, 67, 0, 60, 80, 0, 160, 147, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" dataheight="23" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="32" rowsep="|" navindex="13" style="left:367px; top:75px; width:828px; height:653px; ">
  1378. <col ref="choi" type="checkbox"/>
  1379. <col ref="ptnochoi" type="checkbox"/>
  1380. <col ref="instcd"/>
  1381. <col ref="ptno"/>
  1382. <col class="text_center" ref="dispptno"/>
  1383. <col ref="spcacptdd"/>
  1384. <col ref="spcacptno"/>
  1385. <col class="text_center" ref="spcacptseqno"/>
  1386. <col class="text_center" ref="csteno"/>
  1387. <col ref="bloccnts"/>
  1388. <col ref="prntcsscnts" type="input"/>
  1389. <col class="text_center" ref="slidno"/>
  1390. <col ref="cstekindcd" type="combo">
  1391. <choices>
  1392. <itemset nodeset="/root/init/resncd/resncdlist[baseflagcd='82']">
  1393. <label ref="resncnts"/>
  1394. <value ref="resncd"/>
  1395. </itemset>
  1396. </choices>
  1397. </col>
  1398. <col ref="cstecnts" type="input"/>
  1399. <col ref="workattr"/>
  1400. <col ref="prntcsscnts" type="input"/>
  1401. <col ref="cstecnts" type="input"/>
  1402. <col class="text_center" ref="ipttype" type="input" maxlength="4"/>
  1403. <col ref="maxcsteno"/>
  1404. <col ref="bizflagcd"/>
  1405. <col ref="acptdd"/>
  1406. <col ref="acptno"/>
  1407. <col ref="testcd"/>
  1408. <col ref="acptitemno"/>
  1409. <col ref="scrno"/>
  1410. <col ref="spccd"/>
  1411. <col ref="spchistno"/>
  1412. <col ref="statsinclflagcd"/>
  1413. <col ref="relaptno"/>
  1414. <col ref="bloccnts"/>
  1415. <col ref="reladispptno"/>
  1416. <col ref="workflagcd"/>
  1417. <col ref="pid"/>
  1418. <col ref="patnm"/>
  1419. <script type="javascript" ev:event="onkeypress">
  1420. <![CDATA[
  1421. fExeKeyPress();
  1422. ]]>
  1423. </script>
  1424. <script type="javascript" ev:event="xforms-value-changed">
  1425. <![CDATA[
  1426. if ( grd_issslidlist.col != 1 ) {
  1427. //fExeTestCdChange(grd_issslidlist.row);
  1428. }
  1429. ]]>
  1430. </script>
  1431. <script type="javascript" ev:event="onclick">
  1432. <![CDATA[
  1433. if ( grd_issslidlist.col != 1 ) {
  1434. fExeComboSelect(grd_issslidlist.row);
  1435. }
  1436. ]]>
  1437. </script>
  1438. <script type="javascript" ev:event="onmousedown">
  1439. <![CDATA[
  1440. /*
  1441. //--------------------------------------
  1442. //관련검사명 조회
  1443. var sPtNo = "";
  1444. var strSrcNode = "/root/init/testcd/testcdlist";
  1445. var strSrcNode2 = "/root/temp/popupmenu/item";
  1446. if ( (grd_issslidlist.mouseRow >= grd_issslidlist.fixedRows) && (grd_issslidlist.isCell(event.target))) {
  1447. if((grd_issslidlist.mouseCol ==grd_issslidlist.colRef("workattr"))
  1448. || (grd_issslidlist.mouseCol == 17)) {
  1449. // || (grd_issslidlist.mouseCol == 16)) { //줄번호생성으로 수정
  1450. grd_issslidlist.row = grd_issslidlist.mouseRow;
  1451. sPtNo = model.getValue("/root/main/issslid/issslidlist["+ grd_issslidlist.row +"]/ptno");
  1452. if( sPtNo != sRefPtno) {
  1453. fExePtNoTestNmSet(sPtNo, strSrcNode, strSrcNode2);
  1454. sRefPtno = sPtNo;
  1455. }
  1456. }
  1457. }
  1458. //--------------------------------------
  1459. var iFirstRow = grd_issslidlist.selectedRow(0); // drag 첫 row
  1460. var iLasrRow = grd_issslidlist.selectedRow(grd_issslidlist.selectedRows-1); // drag 마지막 row
  1461. if (grd_issslidlist.mouseCol == grd_issslidlist.colRef("bloccnts"))
  1462. {
  1463. fExeSumSlideCnt(iFirstRow, iLasrRow);
  1464. }
  1465. else
  1466. {
  1467. // setPopupMenu(ctrlID, onmenuEvent, itemNodeset, label, value)
  1468. fExeComboSelect(grd_issslidlist.mouseRow);
  1469. setPopupMenu("grd_issslidlist", true, "/root/temp/popupmenu/item", "nm", "funt");
  1470. }
  1471. */
  1472. setPopupMenu("grd_issslidlist", false, "/root/init/popupmenu2/item", "name", "func");
  1473. ]]>
  1474. </script>
  1475. <script type="javascript" ev:event="DOMFocusOut">
  1476. <![CDATA[
  1477. initPopupMenu();
  1478. ]]>
  1479. </script>
  1480. <script type="javascript" ev:event="onbeforesort">
  1481. <![CDATA[
  1482. grd_issslidlist.gridToInstance();
  1483. ]]>
  1484. </script>
  1485. <script type="javascript" ev:event="onbuttonclick">
  1486. <![CDATA[
  1487. ]]>
  1488. </script>
  1489. </datagrid>
  1490. <button id="btn_clear" class="btn2_letter3" navindex="14" style="left:1141px; top:49px; width:53px; height:19px; ">
  1491. <caption>초기화</caption>
  1492. <script type="javascript" ev:event="DOMActivate">
  1493. <![CDATA[
  1494. fExeIssDelListInitialize();
  1495. ]]>
  1496. </script>
  1497. </button>
  1498. <object id="socket" clsid="{81e9de7e-90be-4958-bbda-ac731c05aba8}" visibility="hidden" style="left:625px; top:45px; width:35px; height:30px; ">
  1499. <!-- 소켓 받은 메시지 이벤트 -->
  1500. <script type="javascript" ev:event="OnReceive(nDataLength, szID)">
  1501. <![CDATA[
  1502. ]]>
  1503. </script>
  1504. <!-- 소켓 에러 이벤트 -->
  1505. <script type="javascript" ev:event="OnError(lError, szMsg)">
  1506. <![CDATA[
  1507. alert("Error code = " + lError+"\nError Message : "+szMsg);
  1508. socket.close(); // 소켓 닫기
  1509. isConnected = false; // 접속 여부 false
  1510. ]]>
  1511. </script>
  1512. <!-- 소켓 연결 이벤트 -->
  1513. <script type="javascript" ev:event="OnConnect(szID)">
  1514. <![CDATA[
  1515. fExeSlidSend();
  1516. ]]>
  1517. </script>
  1518. <!-- 소켓 close 이벤트 -->
  1519. <script type="javascript" ev:event="OnClose(szID)">
  1520. <![CDATA[
  1521. isConnected = false; // 접속 여부 false
  1522. ]]>
  1523. </script>
  1524. </object>
  1525. <input id="ipt_isscnt" ref="/root/init/isscnt" maxlength="3" format="#,###" style="left:245px; top:49px; width:50px; height:19px; ">
  1526. <script type="javascript" ev:event="onkeypress">
  1527. <![CDATA[
  1528. fExeIssCntKeyPress();
  1529. ]]>
  1530. </script>
  1531. </input>
  1532. <select id="chballyn" ref="/root/temp/sendallyn" visibility="hidden" overflow="visible" appearance="full" style="left:115px; top:45px; width:45px; height:20px; border-style:none; ">
  1533. <choices>
  1534. <item>
  1535. <label>선택</label>
  1536. <value>Y</value>
  1537. </item>
  1538. </choices>
  1539. </select>
  1540. <button id="button102" class="icon_left" style="left:560px; top:49px; width:26px; height:19px; ">
  1541. <caption/>
  1542. <script type="javascript" ev:event="onclick">
  1543. <![CDATA[
  1544. grd_issslidlist.colHidden(grd_issslidlist.colRef("slidno")) = true;
  1545. grd_issslidlist.colHidden(grd_issslidlist.colRef("cstekindcd")) = true;
  1546. cmb_cstekind.visible = false;
  1547. cmb_blocno.attribute("left") = "748";
  1548. cmb_slidcnts.attribute("left") = "895";
  1549. cmb_blocno.refresh();
  1550. cmb_slidcnts.refresh();
  1551. ]]>
  1552. </script>
  1553. </button>
  1554. <button id="button103" class="icon_right" style="left:587px; top:49px; width:26px; height:19px; ">
  1555. <caption/>
  1556. <script type="javascript" ev:event="onclick">
  1557. <![CDATA[
  1558. grd_issslidlist.colHidden(grd_issslidlist.colRef("slidno")) = false;
  1559. grd_issslidlist.colHidden(grd_issslidlist.colRef("cstekindcd")) = false;
  1560. cmb_cstekind.visible = true;
  1561. cmb_blocno.attribute("left") = "887";
  1562. cmb_slidcnts.attribute("left") = "1034";
  1563. cmb_blocno.refresh();
  1564. cmb_slidcnts.refresh();
  1565. ]]>
  1566. </script>
  1567. </button>
  1568. <select1 id="cmb_blocno" ref="/root/init/bloccmb" appearance="minimal" style="left:887px; top:49px; width:115px; height:19px; ">
  1569. <choices>
  1570. <itemset nodeset="/root/init/resncd/resncdlist[baseflagcd='S1']">
  1571. <label ref="resncnts"/>
  1572. <value ref="resncnts"/>
  1573. </itemset>
  1574. </choices>
  1575. <script type="javascript" ev:event="xforms-value-changed">
  1576. <![CDATA[
  1577. fSetBlocSlidCnt("B");
  1578. ]]>
  1579. </script>
  1580. </select1>
  1581. <select1 id="cmb_slidcnts" ref="/root/init/slidcmb" appearance="minimal" style="left:1034px; top:49px; width:100px; height:19px; ">
  1582. <choices>
  1583. <itemset nodeset="/root/init/resncd/resncdlist[baseflagcd='S2']">
  1584. <label ref="resncnts"/>
  1585. <value ref="resncnts"/>
  1586. </itemset>
  1587. </choices>
  1588. <script type="javascript" ev:event="xforms-value-changed">
  1589. <![CDATA[
  1590. //fSetBlocSlidCnt("C");
  1591. ]]>
  1592. </script>
  1593. <script type="javascript" ev:event="xforms-select">
  1594. <![CDATA[
  1595. fSetBlocSlidCnt("C");
  1596. //------------------
  1597. for (var iNo=1; iNo <= getNodesetCount("/root/main/issslid/issslidlist"); iNo++) {
  1598. model.makeValue("/root/main/issslid/issslidlist["+iNo+"]/choi", "false");
  1599. }
  1600. //------------------------
  1601. //grd_issslidlist.refresh();
  1602. model.refresh();
  1603. ]]>
  1604. </script>
  1605. </select1>
  1606. <select1 id="cmb_cstekind" ref="/root/init/choicstekindcd" appearance="minimal" style="left:648px; top:49px; width:80px; height:19px; ">
  1607. <choices>
  1608. <itemset nodeset="/root/init/resncd/resncdlist[baseflagcd='82']">
  1609. <label ref="resncnts"/>
  1610. <value ref="resncd"/>
  1611. </itemset>
  1612. </choices>
  1613. <script type="javascript" ev:event="xforms-value-changed">
  1614. <![CDATA[
  1615. fExeSlidCharKind();
  1616. ]]>
  1617. </script>
  1618. </select1>
  1619. </group>
  1620. <group id="grp_btn" style="left:0px; top:13; width:1195px; height:27px; ">
  1621. <button id="btn_save" class="btn4_letter2" navindex="16" style="left:1138px; top:3; width:56px; height:22px; ">
  1622. <caption>삭제</caption>
  1623. <script type="javascript" ev:event="DOMActivate">
  1624. <![CDATA[
  1625. // 카세트 및 슬라이드 삭제여부 확인
  1626. if ( messageBox("선택한 Cassette의 슬라이드(Slide) 삭제를", "Q004") == 6 ) {
  1627. fExeSlidIssDel("SMLPB00700_D");
  1628. }
  1629. ]]>
  1630. </script>
  1631. </button>
  1632. <button id="button1" class="btn4_letter2" navindex="15" style="left:1079px; top:3; width:56px; height:22px; ">
  1633. <caption>발행</caption>
  1634. <script type="javascript" ev:event="DOMActivate">
  1635. <![CDATA[
  1636. fExeSlidIssDel("SMLPB00700_C");
  1637. ]]>
  1638. </script>
  1639. </button>
  1640. <line id="line17" class="line_6" style="x1:0px; y1:25; x2:1194px; y2:25; "/>
  1641. <select1 id="radio1" ref="/root/hidden/prtndirect" appearance="full" cellspacing="4" cols="2" overflow="visible" style="left:1000px; top:6px; width:70px; height:20px; border-style:none; ">
  1642. <choices>
  1643. <item>
  1644. <label>정</label>
  1645. <value>1</value>
  1646. </item>
  1647. <item>
  1648. <label>역</label>
  1649. <value>2</value>
  1650. </item>
  1651. </choices>
  1652. </select1>
  1653. <caption id="caption11" class="cell_1" style="left:935px; top:4px; width:65px; height:19px; text-align:left; vertical-align:middle; padding-left:10px; ">발행순서</caption>
  1654. <caption id="caption4" class="cell_1" style="left:728px; top:4px; width:65px; height:19px; text-align:left; vertical-align:middle; padding-left:10px; ">출력장비</caption>
  1655. <select1 id="cmb_slideqlist" ref="/root/init/eqseqno" appearance="minimal" style="left:795px; top:4px; width:134px; height:19px; ">
  1656. <choices>
  1657. <itemset nodeset="/root/main/eqinfo/slideqlist">
  1658. <label ref="eqnm"/>
  1659. <value ref="eqseqno"/>
  1660. </itemset>
  1661. </choices>
  1662. </select1>
  1663. <caption id="caption8" class="cell_1" style="left:555px; top:5px; width:122px; height:19px; text-align:left; vertical-align:middle; padding-left:10px; ">ZEBRA바코드출력</caption>
  1664. <select id="chk_bcodeprnt" ref="/root/init/bcodeprnt" overflow="visible" appearance="full" style="left:680px; top:5px; width:45px; height:20px; border-style:none; ">
  1665. <choices>
  1666. <item>
  1667. <label/>
  1668. <value>B</value>
  1669. </item>
  1670. </choices>
  1671. </select>
  1672. <select id="chk_seabasecd" ref="/root/init/seabasecd" overflow="visible" appearance="full" style="left:253px; top:5px; width:100px; height:20px; border-style:none; ">
  1673. <choices>
  1674. <item>
  1675. <label>조직대상</label>
  1676. <value>1</value>
  1677. </item>
  1678. </choices>
  1679. </select>
  1680. </group>
  1681. </xhtml:body>
  1682. </xhtml:html>