SMLLR00100_OnOff항목결과보고.xrw 105 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SMLLR00400.xrw
  4. * 설 명 : 검사항목별결과관리
  5. * 설 계 자 : (주)에이씨케이 -
  6. * 작 성 자 : (주)에이씨케이 - 조철형
  7. * 작 성 일 : 2007.5.21
  8. * 수정이력 :
  9. * 기 타 :
  10. -->
  11. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  12. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  13. <xhtml:head>
  14. <xhtml:title/>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root>
  18. <main>
  19. <testinfo>
  20. <patlist>
  21. <chk/>
  22. <workno/>
  23. <bcno/>
  24. <pid/>
  25. <patnm/>
  26. <sexage/>
  27. <orddrnm/>
  28. <orddeptnm/>
  29. <wardroom/>
  30. <inptrslt1 readonly=""/>
  31. <inptrslt2 readonly=""/>
  32. <inptrslt3 readonly=""/>
  33. <inptrslt4 readonly=""/>
  34. <inptrslt5 readonly=""/>
  35. <inptrslt6 readonly=""/>
  36. <inptrslt7 readonly=""/>
  37. <inptrslt8 readonly=""/>
  38. <inptrslt9 readonly=""/>
  39. <inptrslt10 readonly=""/>
  40. <inptrslt11 readonly=""/>
  41. <inptrslt12 readonly=""/>
  42. <inptrslt13 readonly=""/>
  43. <inptrslt14 readonly=""/>
  44. <inptrslt15 readonly=""/>
  45. <inptrslt16 readonly=""/>
  46. <inptrslt17 readonly=""/>
  47. <inptrslt18 readonly=""/>
  48. <inptrslt19 readonly=""/>
  49. <inptrslt20 readonly=""/>
  50. <inptrslt21 readonly=""/>
  51. <inptrslt22 readonly=""/>
  52. <inptrslt23 readonly=""/>
  53. <inptrslt24 readonly=""/>
  54. <inptrslt25 readonly=""/>
  55. <inptrslt26 readonly=""/>
  56. <inptrslt27 readonly=""/>
  57. <inptrslt28 readonly=""/>
  58. <inptrslt29 readonly=""/>
  59. <inptrslt30 readonly=""/>
  60. </patlist>
  61. <spcinfo>
  62. <spcscrnnm/>
  63. <refval/>
  64. <judgmark/>
  65. <panicmark/>
  66. <deltamark/>
  67. <criticalmark/>
  68. <alertmark/>
  69. <rsltmark/>
  70. <reptrslt/>
  71. <bfreptrslt/>
  72. <bflastreptdt/>
  73. <testeqmtcd/>
  74. <rsltregid/>
  75. <mdlreptid/>
  76. <lastreptdt/>
  77. <cmt/>
  78. <medispclid/>
  79. <medispcldt/>
  80. <testcont/>
  81. <testcmts/>
  82. </spcinfo>
  83. <testlist>
  84. <rkey/>
  85. <workno/>
  86. <bcno/>
  87. <execprcpuniqno/>
  88. <testcd/>
  89. <spccd/>
  90. <bufinptrslt/>
  91. <reptrslt/>
  92. <rsltunit/>
  93. <judgmark/>
  94. <panicmark/>
  95. <deltamark/>
  96. <criticalmark/>
  97. <alertmark/>
  98. <rsltmark/>
  99. <rsltstat/>
  100. <bfbcno/>
  101. <bflastreptdt/>
  102. <testeqmtcd/>
  103. <comment/>
  104. <tclskind/>
  105. <spcacptid/>
  106. <spcacptdt/>
  107. <spcacptnm/>
  108. <rsltrgsgid/>
  109. <rsltrgstdt/>
  110. <rsltrgstnm/>
  111. <mdlreptid/>
  112. <mdlreptdt/>
  113. <mdlreptnm/>
  114. <lastreptid/>
  115. <lastreptdt/>
  116. <lastreptnm/>
  117. <tclscd/>
  118. <bfinptrslt/>
  119. <bfreptrslt/>
  120. <rsltseq/>
  121. <prcpgenrflag/>
  122. <rsltkind/>
  123. <rsltintsize/>
  124. <rsltdcmlsize/>
  125. <rundkind/>
  126. <rvalflag/>
  127. <descrval/>
  128. <judgkind/>
  129. <userjudgchar1/>
  130. <userjudgchar2/>
  131. <userjudgchar3/>
  132. <panicflag/>
  133. <panicminval/>
  134. <panicmaxval/>
  135. <deltaflag/>
  136. <deltaminval/>
  137. <deltamaxval/>
  138. <deltaterm/>
  139. <criticflag/>
  140. <criticminval/>
  141. <criticmaxval/>
  142. <alertflag/>
  143. <alertminval/>
  144. <allertmaxval/>
  145. <alimitls/>
  146. <alimitflag/>
  147. <alimitminval/>
  148. <alimith/>
  149. <alimiths/>
  150. <alimitls/>
  151. <refl/>
  152. <refls/>
  153. <refh/>
  154. <refhs/>
  155. <reflt/>
  156. <rstinterval/>
  157. <iud/>
  158. <spcscrnnm/>
  159. <inptrslt/>
  160. </testlist>
  161. <BAK_TESTITEM>
  162. <rkey/>
  163. <workno/>
  164. <testcd/>
  165. <spccd/>
  166. <inptrslt/>
  167. </BAK_TESTITEM>
  168. </testinfo>
  169. <testgrupdetl>
  170. <chk/>
  171. <tclsnm/>
  172. <tclscd/>
  173. </testgrupdetl>
  174. <getUsernm>
  175. <usernm/>
  176. </getUsernm>
  177. </main>
  178. <send>
  179. <data1/>
  180. <data2/>
  181. <data4/>
  182. </send>
  183. <init>
  184. <LB0106>
  185. <cd/>
  186. <nm/>
  187. </LB0106>
  188. <LB0103>
  189. <cd/>
  190. <nm/>
  191. </LB0103>
  192. </init>
  193. <hidden>
  194. <refparam>
  195. <startdd/>
  196. <enddd/>
  197. <tsectcd/>
  198. <sworkseq>0000</sworkseq>
  199. <eworkseq>9999</eworkseq>
  200. <rsltstat0>1</rsltstat0>
  201. <tclscdlist/>
  202. <rsltstat1/>
  203. <rsltstat2/>
  204. <tclscdlist2/>
  205. <testgrupseqno/>
  206. <rsltstat/>
  207. <userid/>
  208. <medispclyn>Y</medispclyn>
  209. <rsltstat3/>
  210. </refparam>
  211. <ref>
  212. <tclscdlist>
  213. <tclsnmlist/>
  214. <tclscdlist/>
  215. <tclscdlist2/>
  216. <testgrup/>
  217. <tclsnmlist2/>
  218. </tclscdlist>
  219. </ref>
  220. <default/>
  221. <currenRow/>
  222. <updateparam>
  223. <rsltstat/>
  224. <tclslrgkind>-</tclslrgkind>
  225. </updateparam>
  226. <rsltcode>
  227. <cd/>
  228. <nm/>
  229. </rsltcode>
  230. <rsltcont/>
  231. <refflag>
  232. <userid/>
  233. <p_isedit/>
  234. <bcno/>
  235. <rsltstat/>
  236. <testlrgkind/>
  237. </refflag>
  238. <testcont>
  239. <tsectcd/>
  240. <testcontcd/>
  241. </testcont>
  242. <testconttsectcd>
  243. <cd/>
  244. <nm/>
  245. </testconttsectcd>
  246. <signdataRow/>
  247. <textarea3/>
  248. <cmtflag>1</cmtflag>
  249. </hidden>
  250. </root>
  251. </instance>
  252. <bind id="bind1" ref="/root/main/testinfo/patlist/inptrslt1" readonly="../inptrslt1/@readonly = 'true'"/>
  253. <bind id="bind2" ref="/root/main/testinfo/patlist/inptrslt2" readonly="../inptrslt2/@readonly = 'true'"/>
  254. <bind id="bind3" ref="/root/main/testinfo/patlist/inptrslt3" readonly="../inptrslt3/@readonly = 'true'"/>
  255. <bind id="bind4" ref="/root/main/testinfo/patlist/inptrslt4" readonly="../inptrslt4/@readonly = 'true'"/>
  256. <bind id="bind5" ref="/root/main/testinfo/patlist/inptrslt5" readonly="../inptrslt5/@readonly = 'true'"/>
  257. <bind id="bind6" ref="/root/main/testinfo/patlist/inptrslt6" readonly="../inptrslt6/@readonly = 'true'"/>
  258. <bind id="bind7" ref="/root/main/testinfo/patlist/inptrslt7" readonly="../inptrslt7/@readonly = 'true'"/>
  259. <bind id="bind8" ref="/root/main/testinfo/patlist/inptrslt8" readonly="../inptrslt8/@readonly = 'true'"/>
  260. <bind id="bind9" ref="/root/main/testinfo/patlist/inptrslt9" readonly="../inptrslt9/@readonly = 'true'"/>
  261. <bind id="bind10" ref="/root/main/testinfo/patlist/inptrslt10" readonly="../inptrslt10/@readonly = 'true'"/>
  262. <bind id="bind11" ref="/root/main/testinfo/patlist/inptrslt11" readonly="../inptrslt11/@readonly = 'true'"/>
  263. <bind id="bind12" ref="/root/main/testinfo/patlist/inptrslt12" readonly="../inptrslt12/@readonly = 'true'"/>
  264. <bind id="bind13" ref="/root/main/testinfo/patlist/inptrslt13" readonly="../inptrslt13/@readonly = 'true'"/>
  265. <bind id="bind14" ref="/root/main/testinfo/patlist/inptrslt14" readonly="../inptrslt14/@readonly = 'true'"/>
  266. <bind id="bind15" ref="/root/main/testinfo/patlist/inptrslt15" readonly="../inptrslt15/@readonly = 'true'"/>
  267. <bind id="bind16" ref="/root/main/testinfo/patlist/inptrslt16" readonly="../inptrslt16/@readonly = 'true'"/>
  268. <bind id="bind17" ref="/root/main/testinfo/patlist/inptrslt17" readonly="../inptrslt17/@readonly = 'true'"/>
  269. <bind id="bind18" ref="/root/main/testinfo/patlist/inptrslt18" readonly="../inptrslt18/@readonly = 'true'"/>
  270. <bind id="bind19" ref="/root/main/testinfo/patlist/inptrslt19" readonly="../inptrslt19/@readonly = 'true'"/>
  271. <bind id="bind20" ref="/root/main/testinfo/patlist/inptrslt20" readonly="../inptrslt20/@readonly = 'true'"/>
  272. <bind id="bind21" ref="/root/main/testinfo/patlist/inptrslt21" readonly="../inptrslt21/@readonly = 'true'"/>
  273. <bind id="bind22" ref="/root/main/testinfo/patlist/inptrslt22" readonly="../inptrslt22/@readonly = 'true'"/>
  274. <bind id="bind23" ref="/root/main/testinfo/patlist/inptrslt23" readonly="../inptrslt23/@readonly = 'true'"/>
  275. <bind id="bind24" ref="/root/main/testinfo/patlist/inptrslt24" readonly="../inptrslt24/@readonly = 'true'"/>
  276. <bind id="bind25" ref="/root/main/testinfo/patlist/inptrslt25" readonly="../inptrslt25/@readonly = 'true'"/>
  277. <bind id="bind26" ref="/root/main/testinfo/patlist/inptrslt26" readonly="../inptrslt26/@readonly = 'true'"/>
  278. <bind id="bind27" ref="/root/main/testinfo/patlist/inptrslt27" readonly="../inptrslt27/@readonly = 'true'"/>
  279. <bind id="bind28" ref="/root/main/testinfo/patlist/inptrslt28" readonly="../inptrslt28/@readonly = 'true'"/>
  280. <bind id="bind29" ref="/root/main/testinfo/patlist/inptrslt29" readonly="../inptrslt29/@readonly = 'true'"/>
  281. <bind id="bind30" ref="/root/main/testinfo/patlist/inptrslt30" readonly="../inptrslt30/@readonly = 'true'"/>
  282. <script type="javascript" ev:event="xforms-model-construct-done">
  283. <![CDATA[
  284. fSetInit();
  285. ]]>
  286. </script>
  287. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  288. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  289. <script type="javascript" src="../../../lis/commonweb/js/LLZ001.js"/>
  290. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  291. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  292. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  293. <script type="javascript" src="../../../emr/carecomweb/js/ENRSignEngine.js"/>
  294. <submission id="TRLZZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init"/>
  295. <submission id="TRLLR00401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/testinfo"/>
  296. <submission id="TXLLR00401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  297. <submission id="TRLLF90401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/testgrupdetl"/>
  298. <submission id="TRLRR00406" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/getUsernm"/>
  299. <submission id="TXLLR80101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/properties"/>
  300. <submission id="TRLZZ00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/LB0210"/>
  301. </model>
  302. <script type="javascript">
  303. <![CDATA[
  304. var gStartCol = 11;
  305. var gsSelBCNO = ""; // 전역변수 셋팅
  306. //초기화
  307. function fSetInit(ref) {
  308. if(ref != 2) {
  309. model.removeNodeset("/root/main/testinfo/patlist");
  310. model.removeNodeset("/root/main/testinfo/testlist");
  311. model.resetInstanceNode("/root/main/testinfo/spcinfo");
  312. model.setValue("/root/hidden/refparam/tsectcd", "00");
  313. model.setValue("/root/hidden/refparam/sworkseq", "0000");
  314. model.setValue("/root/hidden/refparam/eworkseq", "9999");
  315. model.setValue("/root/hidden/refparam/rsltstat0", "1");
  316. model.setValue("/root/hidden/ref/tclscdlist/tclsnmlist", "");
  317. model.setValue("/root/hidden/ref/tclscdlist/testgrup", "");
  318. model.setValue("/root/hidden/rsltcont", "");
  319. model.setValue("/root/hidden/refparam/rsltstat1", "");
  320. model.setValue("/root/hidden/refparam/rsltstat2", "");
  321. //model.setvalue("/root/hidden/refparam/tsectcd", model.getvalue("/root/init/LB0106/cd"));
  322. //model.setvalue("/root/hidden/refparam/testgrupseqno", model.getvalue("/root/init/LB0103/cd"));
  323. model.setvalue("/root/hidden/refparam/startdd",getCurrentDate());
  324. model.setvalue("/root/hidden/refparam/enddd",getCurrentDate());
  325. grd_testlist.fixedcellcheckbox(0, 1) = true;
  326. grd_testlist.fixedcellischeck(0, 1) = false;
  327. datagrid2.rowStyle(1, "data", "background-color") = "#FFFFFF";
  328. grd_testlist.removeRow();
  329. for(i=grd_testlist.cols ; i > 10 ; i--)
  330. grd_testlist.colHidden(i) = true;
  331. if(ref != 1) {
  332. model.setvalue("/root/hidden/refparam/userid" , "");
  333. model.setvalue("/root/main/getUsernm/usernm" , "");
  334. }
  335. }
  336. fBaseInfoRef("0106|0103|0000|0210|0109|");
  337. fCMTPCD_ChangeNodeset();
  338. model.refresh();
  339. }
  340. function fOnclick_btnRef(){
  341. grd_testlist.fixedcellischeck(0, 1) = false;
  342. grd_testlist.rebuildStyle();
  343. if(model.getvalue("/root/hidden/ref/tclscdlist/tclscdlist") == ""){
  344. messageBox("검사항목을","C002","") ;
  345. return;
  346. }
  347. var sworkseq = model.getvalue("/root/hidden/refparam/sworkseq");
  348. var eworkseq = model.getvalue("/root/hidden/refparam/eworkseq");
  349. sworkseq = sworkseq.getLeftPad(4,"0");
  350. eworkseq = eworkseq.getLeftPad(4,"0");
  351. model.setvalue("/root/hidden/refparam/sworkseq" , sworkseq);
  352. model.setvalue("/root/hidden/refparam/eworkseq" , eworkseq);
  353. model.setvalue("/root/hidden/refparam/tclscdlist" , model.getvalue("/root/hidden/ref/tclscdlist/tclscdlist"));
  354. model.setvalue("/root/hidden/refparam/tclscdlist2" , model.getvalue("/root/hidden/ref/tclscdlist/tclscdlist2"));
  355. var rsltstat0 = model.getvalue("/root/hidden/refparam/rsltstat0");
  356. var rsltstat1 = model.getvalue("/root/hidden/refparam/rsltstat1");
  357. var rsltstat2 = model.getvalue("/root/hidden/refparam/rsltstat2");
  358. var rsltstat3 = model.getvalue("/root/hidden/refparam/rsltstat3");
  359. if(rsltstat0 == "" && rsltstat1 == "" && rsltstat2 == "" && rsltstat3 == ""){
  360. messageBox("결과구분을 하나이상","C002","") ;
  361. return;
  362. }
  363. // 결과구분 정의
  364. var isRstGbn0 = false; //결과미입력
  365. var isRstGbn1 = false; //결과입력
  366. var isRstGbn2 = false; //최종보고
  367. var isRstGbn3 = false; //전문의확인
  368. if(rsltstat0 == "1") isRstGbn0 = true;
  369. if(rsltstat1 == "1") isRstGbn1 = true;
  370. if(rsltstat2 == "1") isRstGbn2 = true;
  371. if(rsltstat3 == "1") isRstGbn3 = true;
  372. if (isRstGbn3) {
  373. model.setvalue("/root/hidden/refparam/rsltstat" , "4");
  374. } else if (isRstGbn2) {
  375. model.setvalue("/root/hidden/refparam/rsltstat" , "3");
  376. } else {
  377. if (isRstGbn0 && isRstGbn1) {
  378. model.setvalue("/root/hidden/refparam/rsltstat" , "2");
  379. } else if (isRstGbn1) {
  380. model.setvalue("/root/hidden/refparam/rsltstat" , "1");
  381. } else {
  382. model.setvalue("/root/hidden/refparam/rsltstat" , "0");
  383. }
  384. }
  385. model.copyNode("/root/send/data1" , "/root/hidden/refparam");
  386. model.makeValue("/root/send/data1/userdeptflagcd" , model.getValue("/root/init/LB0000/nm"));
  387. submit("TRLLR00401" , false);
  388. model.copyNode("/root/send/data1" , "/root/hidden/default");
  389. model.refresh();
  390. fGrdReMake2();
  391. }
  392. function fGrdReMake2(){
  393. var vCdList = model.getValue("/root/hidden/ref/tclscdlist/tclscdlist2").split("▦");
  394. var vCdCount = vCdList.length;
  395. var vOrgrst = "";
  396. var curCol = 0;
  397. for (var row = 1; row < grd_testlist.rows; row++) {
  398. for (var col=0; col < parseInt(vCdCount); col++) {
  399. vOrgrst = "inptrslt" + (eval(col+1) );
  400. if (model.getValue("/root/main/testinfo/patlist["+row+"]/"+vOrgrst+"/@readonly") == "true") {
  401. curCol = eval(gStartCol+col);
  402. grd_testlist.cellStyle("background-color", row, curCol, row, curCol) = "#eaeaea";
  403. }
  404. }
  405. }
  406. }
  407. function fGrdReMake(){
  408. if(model.getvalue("/root/hidden/ref/tclscdlist/tclscdlist") !=""){
  409. model.removeNodeset("/root/main/testinfo/patlist");
  410. model.refresh();
  411. if(grd_testlist.cols > 10){
  412. var cols = grd_testlist.cols
  413. for(i=cols ; i > 10 ; i--)
  414. grd_testlist.colHidden(i) = true;
  415. }
  416. var caption = "^작업번호^접수일시^바코드번호^등록번호^성명^Sex/Age^의뢰의사^진료과^병동/병실";
  417. var vTclsnmA = model.getvalue("/root/hidden/ref/tclscdlist/tclsnmlist2").split("▦");
  418. for(i=0;i<vTclsnmA.length;i++){
  419. grd_testlist.colHidden(i + 11) = false;
  420. caption += "^" + vTclsnmA[i];
  421. //grd_testlist.caption = grd_testlist.caption +"^" + vTclsnmA[i];
  422. //grd_testlist.valueMatrix(0, i + 10) = vTclsnmA[i];
  423. }
  424. grd_testlist.caption = caption;
  425. //grd_testlist.rebuild();
  426. }
  427. }
  428. function fPatGridClick(pRow,pCol,Event){
  429. var sDetilRow = fGetRow(pRow,pCol);
  430. //fCurrentHangMok(pCol);
  431. if(sDetilRow > 0){
  432. model.setValue("/root/hidden/currenRow", sDetilRow);
  433. model.makeValue("/root/main/testinfo/spcinfo/spcscrnnm" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/spcscrnnm"));
  434. model.makeValue("/root/main/testinfo/spcinfo/refval" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/refval"));
  435. model.makeValue("/root/main/testinfo/spcinfo/judgmark" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/judgmark"));
  436. model.makeValue("/root/main/testinfo/spcinfo/panicmark" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/panicmark"));
  437. model.makeValue("/root/main/testinfo/spcinfo/deltamark" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/deltamark"));
  438. model.makeValue("/root/main/testinfo/spcinfo/criticalmark" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/criticalmark"));
  439. model.makeValue("/root/main/testinfo/spcinfo/alertmark" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/alertmark"));
  440. model.makeValue("/root/main/testinfo/spcinfo/rsltmark" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/rsltmark"));
  441. model.makeValue("/root/main/testinfo/spcinfo/reptrslt" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/reptrslt"));
  442. model.makeValue("/root/main/testinfo/spcinfo/bfreptrslt" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/bfreptrslt"));
  443. model.makeValue("/root/main/testinfo/spcinfo/bflastreptdt" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/bflastreptdt"));
  444. model.makeValue("/root/main/testinfo/spcinfo/testeqmtcd" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/testeqmtcd"));
  445. model.makeValue("/root/main/testinfo/spcinfo/rsltregid" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/rsltregid"));
  446. model.makeValue("/root/main/testinfo/spcinfo/mdlreptid" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/mdlreptid"));
  447. model.makeValue("/root/main/testinfo/spcinfo/lastreptdt" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/lastreptdt"));
  448. model.makeValue("/root/main/testinfo/spcinfo/lastreptid" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/lastreptid"));
  449. model.makeValue("/root/main/testinfo/spcinfo/lastreptnm" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/lastreptnm"));
  450. //model.makeValue("/root/main/testinfo/spcinfo/comment" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/comment"));
  451. model.makeValue("/root/main/testinfo/spcinfo/cmt" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/testcmt"));
  452. model.makeValue("/root/main/testinfo/spcinfo/testcont" , "");
  453. model.makeValue("/root/main/testinfo/spcinfo/testcmts" , ""); //검사항목별 소견
  454. var vJudg = model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/judgmark")
  455. if(vJudg == "H"){
  456. datagrid2.cellStyle ("background-color",1,0,1,0) = "#f7a08b";
  457. }
  458. else if(vJudg == "L"){
  459. datagrid2.cellStyle ("background-color",1,0,1,0) = "#b9e5fb";
  460. }
  461. else{
  462. datagrid2.cellStyle ("background-color",1,0,1,0) = "#ffffff";
  463. }
  464. //panic
  465. var vPanic = model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/panicmark");
  466. if(vPanic == "P"){
  467. datagrid2.cellStyle ("background-color",1,1,1,1) = "#7BE6B7";
  468. //datagrid2.cellStyle ("background-color",1,1,1,1) = "#7BE6B7";
  469. }
  470. else{
  471. datagrid2.cellStyle ("background-color",1,1,1,1) = "#ffffff";
  472. }
  473. //delta
  474. var vDelta = model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/deltamark");
  475. if(vDelta == "D"){
  476. datagrid2.cellStyle ("background-color",1,2,1,2) = "#dec6a4";
  477. //grd_TestInfoCnts.cellstyle("background-color" , i,4) = "#7BE6B7";
  478. }
  479. else{
  480. datagrid2.cellStyle ("background-color",1,2,1,2) = "#ffffff";
  481. }
  482. //critical
  483. var vCritical = model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/criticalmark");
  484. if(vCritical == "C"){
  485. datagrid2.cellStyle ("background-color",1,3,1,3) = "#ffe79d";
  486. //grd_TestInfoCnts.cellstyle("background-color" , i,4) = "#7BE6B7";
  487. }
  488. else{
  489. datagrid2.cellStyle ("background-color",1,3,1,3) = "#ffffff";
  490. }
  491. //alert
  492. var vAlert= model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/alertmark");
  493. if(vAlert == "A"){
  494. datagrid2.cellStyle ("background-color",1,4,1,4) = "#fec34d";
  495. //grd_TestInfoCnts.cellstyle("background-color" , i,4) = "#7BE6B7";
  496. }
  497. else{
  498. datagrid2.cellStyle ("background-color",1,4,1,4) = "#ffffff";
  499. }
  500. model.makeValue("/root/main/testinfo/spcinfo/medispcldt" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/medispcldt"));
  501. model.makeValue("/root/main/testinfo/spcinfo/medispclid" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/medispclid"));
  502. model.makeValue("/root/main/testinfo/spcinfo/medispclnm" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/medispclnm"));
  503. model.makeValue("/root/main/testinfo/spcinfo/medispclnm" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/medispclnm"));
  504. //model.setvalue("/root/main/testinfo/spcinfo/comment" , "-")
  505. model.makeValue("/root/main/testinfo/spcinfo/medispclnm" , model.getvalue("/root/main/testinfo/testlist["+sDetilRow+"]/"));
  506. if(Event != "M") { //이벤트가 mousemove가 아닐때..
  507. var vSectcd = model.getValue("/root/main/testinfo/testlist["+ sDetilRow +"]/sectcd");
  508. var vTsectcd = model.getValue("/root/main/testinfo/testlist["+ sDetilRow +"]/tsectcd");
  509. fCMTPCD_ChangeNodeset(vSectcd, vTsectcd, sDetilRow);
  510. fInitializeSoGyeon(sDetilRow); //소견 조회초기화
  511. }
  512. model.refresh();
  513. }
  514. else{
  515. model.setValue("/root/hidden/currenRow", "");
  516. model.resetInstanceNode("/root/main/testinfo/spcinfo");
  517. model.refresh();
  518. }
  519. // 환자 선택, 취소 클릭
  520. if (pCol == 1) {
  521. var isChk = model.getValue("/root/main/testinfo/patlist[" + pRow + "]/chk");
  522. var vWorkno = model.getValue("/root/main/testinfo/patlist[" + pRow + "]/workno");
  523. var vCdList = model.getValue("/root/hidden/refparam/tclscdlist2").split("▦");
  524. if (isChk == "true") {
  525. grd_testlist.rowStyle(i, "data", "background-color") = "#f3e1bf";
  526. } else {
  527. grd_testlist.rowStyle(i, "data", "background-color") = "#FFFFFF";
  528. }
  529. for (var idx=0; idx < vCdList.length; idx++) {
  530. var vInptRslt = "";
  531. vInptRslt = "inptrslt" + (eval(idx+1) );
  532. var readonly = model.getValue("/root/main/testinfo/patlist["+pRow+"]/"+vInptRslt+"/@readonly");
  533. var rstval = model.getValue("/root/main/testinfo/patlist["+pRow+"]/"+vInptRslt)
  534. if (readonly == "false") {
  535. col = idx + gStartCol;
  536. var refRow = fGetRow(pRow, col);
  537. if(rstval == ""){
  538. model.setValue("/root/main/testinfo/testlist[" + refRow + "]/iud", "");
  539. }else{
  540. // 수정된항목 색변경
  541. grd_testlist.cellStyle("background-color", pRow, col, pRow, col) = "#f3e1bf";
  542. model.setValue("/root/main/testinfo/testlist[" + refRow + "]/iud", (isChk != "true") ? "" : "U");
  543. }
  544. }
  545. }
  546. }
  547. }
  548. // 환자 선택, 취소 클릭
  549. function fSelectCancle() {
  550. pCol = grd_testlist.col;
  551. pRow = grd_testlist.row;
  552. if(pRow == 0) {
  553. for(i = 1; i < grd_testlist.rows; i++) {
  554. var isChk = model.getValue("/root/main/testinfo/patlist[" + i + "]/chk");
  555. var vWorkno = model.getValue("/root/main/testinfo/patlist[" + i + "]/workno");
  556. var vCdList = model.getValue("/root/hidden/refparam/tclscdlist2").split("▦");
  557. if (isChk == "true") {
  558. grd_testlist.rowStyle(i, "data", "background-color") = "#f3e1bf";
  559. } else {
  560. grd_testlist.rowStyle(i, "data", "background-color") = "#FFFFFF";
  561. fGrdReMake2();
  562. }
  563. for (var idx=0; idx < vCdList.length; idx++) {
  564. var vInptRslt = "";
  565. vInptRslt = "inptrslt" + (eval(idx+1) );
  566. var readonly = model.getValue("/root/main/testinfo/patlist["+ i +"]/"+vInptRslt+"/@readonly");
  567. var rstval = model.getValue("/root/main/testinfo/patlist["+ i +"]/"+vInptRslt);
  568. if (readonly == "false") {
  569. col = idx + gStartCol;
  570. var refRow = fGetRow(i, col);
  571. if(rstval == ""){
  572. model.setValue("/root/main/testinfo/testlist[" + refRow + "]/iud", "");
  573. }else{
  574. // 수정된항목 색변경
  575. // grd_testlist.cellStyle("background-color", i, col, i, col) = "#f3e1bf";
  576. model.setValue("/root/main/testinfo/testlist[" + refRow + "]/iud", (isChk != "true") ? "" : "U");
  577. }
  578. }
  579. }
  580. }
  581. } else {
  582. var isChk = model.getValue("/root/main/testinfo/patlist[" + pRow + "]/chk");
  583. var vWorkno = model.getValue("/root/main/testinfo/patlist[" + pRow + "]/workno");
  584. var vCdList = model.getValue("/root/hidden/refparam/tclscdlist2").split("▦");
  585. if (isChk == "true") {
  586. grd_testlist.rowStyle(pRow, "data", "background-color") = "#f3e1bf";
  587. } else {
  588. grd_testlist.rowStyle(pRow, "data", "background-color") = "#FFFFFF";
  589. fGrdReMake2();
  590. }
  591. for (var idx=0; idx < vCdList.length; idx++) {
  592. var vInptRslt = "";
  593. vInptRslt = "inptrslt" + (eval(idx+1) );
  594. var readonly = model.getValue("/root/main/testinfo/patlist["+pRow+"]/"+vInptRslt+"/@readonly");
  595. var rstval = model.getValue("/root/main/testinfo/patlist["+pRow+"]/"+vInptRslt);
  596. if (readonly == "false") {
  597. //var find = grd_testlist.findRow("true", 1, 1, true, true);
  598. col = idx + gStartCol;
  599. //grd_testlist.col = col;
  600. //grd_testlist.row = pRow;
  601. grd_testlist.select(pRow, col) = true;
  602. var refRow = fGetRow(pRow, col);
  603. if(rstval == ""){
  604. model.setValue("/root/main/testinfo/testlist[" + refRow + "]/iud", "");
  605. }else{
  606. // 수정된항목 색변경
  607. // grd_testlist.cellStyle("background-color", pRow, col, pRow, col) = "#f3e1bf";
  608. model.setValue("/root/main/testinfo/testlist[" + refRow + "]/iud", (isChk != "true") ? "" : "U");
  609. }
  610. }
  611. }
  612. }
  613. /*
  614. //결과코드 값 가져오기
  615. var testcd = model.getvalue("/root/main/testinfo/testlist["+ refRow +"]/testcd");
  616. cmb_rslt.choices.itemset.attribute("nodeset") = "/root/init/LB0109[etc01='"+ testcd +"']";*/
  617. model.refresh();
  618. }
  619. function fGetRow(pRow, pCol) {
  620. if (!pRow>0) return 0;
  621. if (pCol < gStartCol) {
  622. } else {
  623. var vWorkno = model.getValue("/root/main/testinfo/patlist["+pRow+"]/workno").getTrim();
  624. var vCdList = model.getValue("/root/hidden/refparam/tclscdlist2").split("▦");
  625. var vIdx = eval(pCol - gStartCol);
  626. var vRkey = vWorkno+vCdList[vIdx].getTrim();
  627. var findRow = datagrid1.findRow(vRkey, 1,0, false, true);
  628. return findRow;
  629. }
  630. return 0;
  631. }
  632. function fCvtViewResult(pInptRslt, pRefRow, pMatch) {
  633. var vRow = pRefRow;
  634. if (typeof(pMatch) == "undefined") pMatch = false
  635. // 실제 결과
  636. var vBufInptRslt = pInptRslt;
  637. // 입력결과와 기존의 결과가 같으면 판정안함...
  638. if (!pMatch) {
  639. model.setValue("/root/main/testinfo/testlist["+vRow+"]/inptrslt", vBufInptRslt);
  640. var colorTF = false;
  641. var vRsltkind = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/testrsltkind");
  642. var vRsltintsize = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/rsltintsize");
  643. var vRsltdcmlsize = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/rsltdcmlsize");
  644. var vRundkind = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/rundkind");
  645. var vNvalrsltlimyn = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/nvalrsltlimyn");
  646. var vReptrslt = fCOMLIS_CvtReptrslt(vBufInptRslt, vRsltkind, vRsltintsize, vRsltdcmlsize, vRundkind,vNvalrsltlimyn);
  647. if(vReptrslt == "err") {
  648. model.setvalue("/root/main/testinfo/testlist["+vRow+"]/bufinptrslt","");
  649. return;
  650. }
  651. model.setvalue("/root/main/testinfo/testlist["+vRow+"]/inptrslt",vBufInptRslt);
  652. //LH 판정
  653. var vJudgkind = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/judgkind");
  654. var vRefL = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/refl");
  655. var vRefLS = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/refls");
  656. var vRefH = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/refh");
  657. var vRefHS = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/refhs");
  658. var vRefLT = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/reflt");
  659. var vRvalflag = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/rvalflag");
  660. var vJudgLH = fCOMLIS_JudgLH(vReptrslt, vJudgkind, vRefL, vRefLS, vRefH, vRefHS, vRefLT,vRvalflag);
  661. model.setvalue("/root/main/testinfo/testlist["+vRow+"]/judgmark",vJudgLH);
  662. if(vJudgLH == "H"){
  663. datagrid2.cellStyle ("background-color", 1,0,1,0) = "#f7a08b";
  664. }
  665. else if(vJudgLH == "L"){
  666. datagrid2.cellStyle ("background-color", 1,0,1,0) = "#b9e5fb";
  667. }
  668. else{
  669. datagrid2.cellStyle ("background-color", 1,0,1,0) = "#fffff:"
  670. }
  671. //grd_TestInfoCnts.cellStyle("text-align",vRow,8) = "center";
  672. //panic 판정
  673. var vJudgGbn = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/panicflag").getTrim();
  674. var vRefL = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/panicminval").getTrim();
  675. var vRefH = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/panicmaxval").getTrim();
  676. var vJudgPanic = fCOMLIS_JudgPCA(vReptrslt, vJudgGbn, vRefL, vRefH, "P");
  677. if(vJudgPanic == "P"){
  678. datagrid2.cellStyle ("background-color", 1,1,1,1) = "#7BE6B7";
  679. //datagrid2.cellstyle ("background-color" , vRow,4,vRow,4) = "#7BE6B7";
  680. colorTF = true;
  681. }
  682. else{
  683. datagrid2.cellStyle ("background-color", 1,1,1,1) = "#ffffff";
  684. }
  685. model.setvalue("/root/main/testinfo/testlist["+vRow+"]/panicmark", vJudgPanic);
  686. // Panic판정의 전경/배경색 변경
  687. // Delta판정
  688. var vBfResult = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/bfreptrslt").getTrim();
  689. var vJudgGbn = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/deltaflag").getTrim();
  690. var vRefH = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/deltamaxval").getTrim();
  691. var vDeltaday = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/deltaterm").getTrim();
  692. var vRstinterval = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/rstinterval").getTrim();
  693. var vJudgDelta = fCOMLIS_JudgDelta(vReptrslt, vBfResult, vJudgGbn, vRefH, vDeltaday, vRstinterval);
  694. model.setvalue("/root/main/testinfo/testlist["+vRow+"]/deltamark", vJudgDelta);
  695. if(vJudgDelta == "D"){
  696. datagrid2.cellStyle ("background-color", 1,2,1,2) = "#dec6a4";
  697. //grd_TestInfoCnts.cellstyle("background-color" , vRow,4) = "#7BE6B7";
  698. colorTF = true;
  699. }
  700. else{
  701. datagrid2.cellStyle ("background-color", 1,2,1,2) = "#ffffff";
  702. }
  703. // Critical판정
  704. var vJudgGbn = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/criticalflag").getTrim();
  705. var vRefL = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/criticalminval").getTrim();
  706. var vRefH = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/criticalmaxval").getTrim();
  707. var vJudgCritical = fCOMLIS_JudgPCA(vReptrslt, vJudgGbn, vRefL, vRefH, "C");
  708. model.setvalue("/root/main/testinfo/testlist["+vRow+"]/criticalmark", vJudgCritical);
  709. // Critical판정의 전경/배경색 변경
  710. if(vJudgCritical == "C"){
  711. datagrid2.cellStyle ("background-color", 1,3,1,3) = "#ffe79d";
  712. //grd_TestInfoCnts.cellstyle("background-color" , vRow,4) = "#7BE6B7";
  713. colorTF = true;
  714. }
  715. else{
  716. datagrid2.cellStyle ("background-color", 1,3,1,3) = "#ffffff";
  717. }
  718. // Alert판정
  719. var vJudgGbn = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/alertflag").getTrim();
  720. var vRefL = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/alertminval").getTrim();
  721. var vRefH = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/alertmaxval").getTrim();
  722. var vJudgAlert = fCOMLIS_JudgPCA(vReptrslt, vJudgGbn, vRefL, vRefH, "A");
  723. model.setvalue("/root/main/testinfo/testlist["+vRow+"]/alertmark", vJudgAlert)
  724. // Alert판정의 전경/배경색 변경
  725. if(vJudgAlert == "A"){
  726. datagrid2.cellStyle ("background-color", 1,4,1,4) = "#fec34d";
  727. //grd_TestInfoCnts.cellstyle("background-color" , vRow,4) = "#7BE6B7";
  728. colorTF = true;
  729. }
  730. else{
  731. datagrid2.cellStyle ("background-color", 1,4,1,4) = "#ffffff";
  732. }
  733. //if(!colorTF) grd_TestInfoCnts.cellstyle("background-color" , vRow,4) = "#FFFFFA";
  734. // 허용참고치 판정
  735. var vJudgGbn = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/alimitflag").getTrim();
  736. var vRefL = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/alimitminval").getTrim();
  737. var vRefLS = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/alimitmaxval").getTrim();
  738. var vRefH = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/alimitmaxvalsinq").getTrim();
  739. var vRefHS = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/alimiminvalsinq").getTrim();
  740. vReptrslt = fCOMLIS_JudgLimit(vReptrslt, vJudgGbn, vRefL, vRefLS, vRefH, vRefHS);
  741. // 사용자정의판정 결과변경
  742. var vUjudglt = new Array(3);
  743. vUjudglt[0] = vJudgkind;
  744. for (var i = 1; i <= 3; i++) {
  745. vUjudglt[i] = model.getValue("/root/main/testinfo/testlist["+vRow+"]/userjudgchar" + i.toString());
  746. }
  747. vReptrslt = fCOMLIS_CvtUjudgRst(vBufInptRslt, vReptrslt, vJudgLH, vUjudglt);
  748. model.setvalue ("/root/main/testinfo/testlist["+vRow+"]/reptrslt",vReptrslt);
  749. // 수정데이타 반영
  750. model.setValue("/root/main/testinfo/testlist["+vRow+"]/iud", "U");
  751. model.setValue("/root/main/testinfo/testlist["+vRow+"]/rsltupdtyn", "Y"); //결과수정여부
  752. model.refresh();
  753. }
  754. }
  755. function fValidation(pRstflag) {
  756. if(model.getvalue("/root/hidden/refparam/userid") == "" || model.getvalue("/root/main/getUsernm/usernm") == ""){
  757. messageBox("검사자를 " , "C001" ,"");
  758. model.setFocus("ipt_testpsn");
  759. return;
  760. }
  761. //수정된 소견이 있을경우 소견부터 저장
  762. if (model.getValue("/root/hidden/refflag/p_isedit") == "true"
  763. || model.getxPathValue('count(/root/main/testinfo/testcmts[m != ""])') > 0) {
  764. fSetContCmt();
  765. }
  766. var nMaxRow = grd_testlist.rows - 1;
  767. var isErr = false;
  768. var sErrMsg = "";
  769. if (pRstflag == "1") {
  770. sErrMsg = "결과저장";
  771. } else if (pRstflag == "2") {
  772. sErrMsg = "중간(예비)보고";
  773. } else if (pRstflag == "4") {
  774. sErrMsg = "최종보고";
  775. }
  776. // 수정/선택한 환자 유무
  777. if (nMaxRow > 0) {
  778. var findRow = datagrid1.FindRow("U", 1, 79, false, false);
  779. if (findRow < 0) isErr = true;
  780. } else {
  781. isErr = true;
  782. }
  783. if (isErr) {
  784. alert( "수정된 항목이 없습니다.");
  785. return false;
  786. }
  787. return true;
  788. }
  789. function fCheckChangeValue(pState){
  790. var nMaxRow = datagrid1.rows;
  791. var rkey = "";
  792. var vO_inptrslt = "";
  793. var vN_inptrslt = "";
  794. var vRstflag = "";
  795. var isErr = "false";
  796. for(var vRow = 1; vRow < nMaxRow; vRow++){
  797. isUpdate = model.getValue("/root/main/testinfo/testlist[" + vRow + "]/iud");
  798. if(pState == "3"){
  799. //"권한관리"
  800. }
  801. if(isUpdate == "U"){
  802. datagrid1.addStatus(vRow , "update");
  803. rkey = model.getValue("/root/main/testinfo/testlist[" + vRow + "]/rkey");
  804. vO_inptrslt = model.getValue("/root/main/testinfo/BAK_TESTITEM[rkey = '" + rkey + "']/inptrslt");
  805. vN_inptrslt = model.getValue("/root/main/testinfo/testlist[" + vRow + "]/inptrslt");
  806. vRstflag = model.getValue("/root/main/testinfo/testlist[" + vRow + "]/rsltstat");
  807. if(vO_inptrslt == vN_inptrslt){
  808. if(vRstflag == pState){
  809. model.setValue("/root/main/testinfo/testlist[" + vRow + "]/iud", "");
  810. datagrid1.removeStatus(vRow,"update");
  811. }
  812. }
  813. }
  814. }
  815. return isErr;
  816. }
  817. // 결과저장
  818. function fInsRsltSave(){
  819. //model.setValue("/root/HideData/RstCode", "");
  820. if(fCheckChangeValue("1") == "false"){
  821. if (fValidation("1")) {
  822. model.setvalue("/root/hidden/updateparam/rsltstat" , "1") ;
  823. model.copyNode("/root/send/data1" , "/root/hidden/updateparam");
  824. model.setValue("/root/send/data2", datagrid1.getUpdateData());
  825. submit("TXLLR00401" , false);
  826. datagrid1.clearStatus();
  827. model.setValue("/root/hidden/currenRow", "");
  828. datagrid2.cellStyle("background-color",1,1,1,5) = "#ffffff";
  829. fSetClear2();
  830. }
  831. }
  832. }
  833. // 중간보고
  834. function fSetMdlRept(){
  835. if(fCheckChangeValue("2") == "false"){
  836. if (fValidation("2")) {
  837. model.setvalue("/root/hidden/updateparam/rsltstat" , "2") ;
  838. model.copyNode("/root/send/data1" , "/root/hidden/updateparam");
  839. model.setValue("/root/send/data2", datagrid1.getUpdateData());
  840. submit("TXLLR00401" , false);
  841. datagrid1.clearStatus();
  842. model.setValue("/root/hidden/currenRow", "");
  843. datagrid2.cellStyle("background-color",1,1,1,5) = "#ffffff";
  844. fSetClear2();
  845. }
  846. }
  847. }
  848. // 최종보고
  849. function fSetLstRept(){
  850. if(fCheckChangeValue("4") == "false"){
  851. if (fValidation("4")) {
  852. model.setvalue("/root/hidden/updateparam/rsltstat" , "4") ;
  853. model.copyNode("/root/send/data1" , "/root/hidden/updateparam");
  854. model.setValue("/root/send/data2", datagrid1.getUpdateData());
  855. submit("TXLLR00401" , false);
  856. datagrid1.clearStatus();
  857. model.setValue("/root/hidden/currenRow", "");
  858. datagrid2.cellStyle("background-color",1,1,1,5) = "#ffffff";
  859. fSetClear2();
  860. }
  861. }
  862. }
  863. // 인증저장 문제로 수정 : 2010-01-26 by JJH
  864. // fSetMediSpcl ==> function명칭 변경
  865. function fSetMediSpcl_old(){
  866. if(fCheckChangeValue("6") == "false"){
  867. if (fValidation("6")) {
  868. model.setvalue("/root/hidden/updateparam/rsltstat" , "6") ;
  869. model.copyNode("/root/send/data1" , "/root/hidden/updateparam");
  870. model.setValue("/root/send/data2", datagrid1.getUpdateData());
  871. //인증
  872. if(Sign.signprocess()){
  873. /* model.makeNode("/root/send/signdata");
  874. model.makeValue("/root/send/signdata/bcno", model.getValue("/root/main/testinfo/spcltestinfo/bcno")); //결과테이블에 생성번호 넣기위해.
  875. model.makeValue("/root/send/signdata/pid", model.getValue("/root/main/testinfo/spcltestinfo/pid")); //등록번호
  876. model.makeValue("/root/send/signdata/orddd", model.getValue("/root/main/testinfo/spcltestinfo/orddd")); //입원, 응급 : 입원일자, 외래 : 진료일자
  877. model.makeValue("/root/send/signdata/signno", model.getValue("/root/main/testinfo/spcltestinfo/signno")); //서명번호
  878. model.makeValue("/root/send/signdata/cretno", model.getValue("/root/main/testinfo/spcltestinfo/cretno")); //생성번호
  879. model.makeValue("/root/send/signdata/recdd", getCurrentDate()); // 실제기록이 이루어진 기록일자
  880. model.makeValue("/root/send/signdata/rectm", getCurrentTime()); //실제기록이 이루어진 기록시간
  881. model.makeValue("/root/send/signdata/recsaveflag", "Y"); // 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
  882. model.makeValue("/root/send/signdata/signflag", "30"); // 서명자료구분(01 : 진료, 02 : 간호, 30:검사)
  883. model.makeValue("/root/send/signdata/signgenrflag", model.getValue("/root/main/testinfo/spcltestinfo/prcpgenrflag")); //입원, 외래구분
  884. model.makeValue("/root/send/signdata/formcd", model.getValue("/root/main/testinfo/spcltestinfo/formcd")); //각 기록지별 서식코드 0000002916 : BM
  885. model.makeValue("/root/send/signdata/orddeptcd", model.getValue("/root/main/testinfo/spcltestinfo/orddeptcd")); //진료과
  886. model.makeValue("/root/send/signdata/orddrid", model.getValue("/root/main/testinfo/spcltestinfo/orddrid")); //진료의ID*/
  887. model.makeValue("/root/send/signdata/signbfcnts", Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보), 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
  888. model.makeValue("/root/send/signdata/signaftcnts", Sign.signedInfos[2]); //공인인증 처리후 데이터
  889. // model.makeValue("/root/send/signdata/dispyn", "N"); //통합기록조회(통합결과조회)에 기록 보여질 여부(LL010이면 보이지 않는다)
  890. }else{
  891. alert("인증실패");
  892. model.removeNodeset("/root/send/data1");
  893. model.removeNodeset("/root/send/data2");
  894. model.removeNodeset("/root/send/signdata");
  895. model.makeNode("/root/send/data1");
  896. model.makeNode("/root/send/data2");
  897. return false;
  898. }
  899. submit("TXLLR00401" , false);
  900. datagrid1.clearStatus();
  901. model.setValue("/root/hidden/currenRow", "");
  902. datagrid2.cellStyle("background-color",1,1,1,5) = "#ffffff";
  903. fSetClear2();
  904. }
  905. }
  906. }
  907. // 인증저장 문제로 Function 추가 : 2010-01-26 by JJH
  908. function fSetMediSpcl() {
  909. if (fCheckChangeValue("6") == "false") {
  910. if ( fValidation("6") ) { // 수정여부 체크
  911. model.setvalue("/root/hidden/updateparam/rsltstat", "6");
  912. model.copyNode("/root/send/data1", "/root/hidden/updateparam");
  913. model.setValue("/root/send/data2", datagrid1.getUpdateData());
  914. model.removeNodeset("/root/send/signdata");
  915. //model.makeNode("/root/send/signdataList");
  916. var iSRow = 1;
  917. //alert("데이터그리드 MaxRows = " + datagrid1.rows)
  918. while (iSRow <= datagrid1.rows) {
  919. var findRow = datagrid1.FindRow("U", iSRow, 79, false, false); // 수정항목 Row검색
  920. //alert("시작 Row = " + iSRow + ", 찾은 Row = " + findRow);
  921. if (findRow < 0)
  922. break;
  923. // 수정된항목의 바코드 Setting
  924. gsSelBCNO = model.getValue("/root/main/testinfo/testlist[" + findRow + "]/bcno");
  925. //alert("수정된 검체번호 = " + gsSelBCNO);
  926. var r = findRow + 1;
  927. var rr = 1;
  928. while (rr > 0) {
  929. rr = datagrid1.FindRow(gsSelBCNO, r, 2, false, false);
  930. //alert("동일바코드 시작 Row = " + r + ", 동일바코드 찾은 Row = " + rr);
  931. if ( rr < 0)
  932. break;
  933. r++;
  934. }
  935. iSRow = r;
  936. //alert("다음 시작Row = " + iSRow);
  937. //인증
  938. if (Sign.signprocess() && gsSelBCNO.getTrim() != ""){
  939. model.removeNodeset("/root/hidden/signdataList");
  940. //model.makeNode("/root/hidden/signdataRow");
  941. model.makeValue("/root/hidden/signdataList/signdata/bcno", gsSelBCNO);
  942. model.makeValue("/root/hidden/signdataList/signdata/signbfcnts", Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보), 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
  943. model.makeValue("/root/hidden/signdataList/signdata/signaftcnts", Sign.signedInfos[2]); //공인인증 처리후 데이터
  944. //alert("인증완료");
  945. copyNodeType("/root/send", "/root/hidden/signdataList", "after");
  946. } else{
  947. alert("인증실패");
  948. model.removeNodeset("/root/send/data1");
  949. model.removeNodeset("/root/send/data2");
  950. model.removeNodeset("/root/send/signdata");
  951. model.makeNode("/root/send/data1");
  952. model.makeNode("/root/send/data2");
  953. return false;
  954. }
  955. }
  956. var nodeList = instance1.selectNodes("/root/send");
  957. textarea3.value = instance1.selectSingleNode("/root/send").xml;
  958. //alert ("저장");
  959. submit("TXLLR00401" , false);
  960. datagrid1.clearStatus();
  961. model.setValue("/root/hidden/currenRow", "");
  962. datagrid2.cellStyle("background-color",1,1,1,5) = "#ffffff";
  963. fSetClear2();
  964. }
  965. }
  966. }
  967. // 인증저장 문제로 수정2010-01-26 by JJH
  968. // 인증데이터 만들기(Sign.signprocess()수행 시 아래함수 호출 )
  969. function fMake_SignData(){
  970. // Remark, 2010-01-26 by JJH
  971. //Sign.addnode("/root/main");
  972. // 추가, 2010-01-26 by JJH
  973. model.removeNodeset("/root/hidden/signdataTmp");
  974. model.makeNode("/root/hidden/signdataTmp");
  975. //alert ("fMake_SignData:gsSelBCNO = " + gsSelBCNO);
  976. copyNodeListType("/root/hidden/signdataTmp", "/root/main/testinfo/patlist[bcno='" + gsSelBCNO + "']", "replace");
  977. copyNodeListType("/root/hidden/signdataTmp", "/root/main/testinfo/testlist[bcno='" + gsSelBCNO + "']", "after");
  978. Sign.addnode("/root/hidden/signdataTmp");
  979. }
  980. function fGridKeyEvent(){
  981. var curRow = grd_testlist.row;
  982. var curCol = grd_testlist.col;
  983. if (event.keyCode == 13) {
  984. var refRow = fGetRow(curRow, curCol);
  985. if (refRow > 0) {
  986. // 입력 실제결과
  987. var vInptRslt = grd_testlist.valueMatrix(curRow, curCol).getTrim();
  988. if(vInptRslt == ""){
  989. return;
  990. }
  991. //결과코드 검색
  992. /*var vTclscd = model.getValue("/root/HideData/CurrentHangMok/tclscd");
  993. var vCvtRst = fGetSeekRst(vTclscd, vOrgRst);
  994. if (vOrgRst != vCvtRst) {
  995. vOrgRst = vCvtRst;
  996. grd_testlist.valueMatrix(curRow, curCol) = vOrgRst;
  997. }*/
  998. fCvtViewResult(vInptRslt, refRow);
  999. grd_testlist.cellStyle("background-color", curRow, curCol, curRow, curCol) = "#f3e1bf";
  1000. // 다음 Row로 이동
  1001. var max = grd_testlist.rows;
  1002. var vRstNo = parseInt(eval(curCol - gStartCol + 1)).toString();
  1003. var posRow = -1
  1004. for (var r = (curRow + 1); r < max; r++) {
  1005. var isReadonly = model.getValue("/root/main/testinfo/patlist[" + r + "]/inptrslt" + vRstNo + "/@readonly");
  1006. if (isReadonly == "false") {
  1007. posRow = r;
  1008. break;
  1009. }
  1010. }
  1011. if (posRow > 0) {
  1012. grd_testlist.row= posRow;
  1013. grd_testlist.col = curCol;
  1014. fPatGridClick(posRow, curCol);
  1015. } else {
  1016. fPatGridClick(curRow, curCol);
  1017. }
  1018. } else {
  1019. //fg.textMatrix(curRow, curCol) = "";
  1020. }
  1021. } else if (event.keyCode == 37 || event.keyCode == 38 || event.keyCode == 39 || event.keyCode == 40) {
  1022. fPatGridClick(refRow, curCol);
  1023. if (event.keyCode == 37) {
  1024. ++curCol;
  1025. } else if (event.keyCode == 38) {
  1026. ++curRow;
  1027. } else if (event.keyCode == 39) {
  1028. --curCol;
  1029. } else if (event.keyCode == 40) {
  1030. --curRow;
  1031. }
  1032. var refRow = fGetRow(curRow, curCol);
  1033. if (refRow > 0) {
  1034. var vInptRslt = model.getValue("/root/main/testinfo/testlist["+refRow+"]/inptrslt");
  1035. grd_testlist.valueMatrix(curRow, curCol) = vInptRslt;
  1036. }
  1037. }
  1038. }
  1039. function fRstGbn_XForms_Value_Changed(pIdx) {
  1040. // alert(pIdx);
  1041. if (pIdx == "0") {
  1042. // 결과미입력 클릭
  1043. if (model.getValue("/root/hidden/refparam/rsltstat0") == "1") {
  1044. model.setValue("/root/hidden/refparam/rsltstat2", "");
  1045. model.setValue("/root/hidden/refparam/rsltstat3", "");
  1046. }
  1047. } else if (pIdx == "1") {
  1048. // 결과입력 클릭
  1049. if (model.getValue("/root/hidden/refparam/rsltstat1") == "1") {
  1050. model.setValue("/root/hidden/refparam/rsltstat2", "");
  1051. model.setValue("/root/hidden/refparam/rsltstat3", "");
  1052. }
  1053. } else if (pIdx == "2") {
  1054. // 최종보고 클릭
  1055. if (model.getValue("/root/hidden/refparam/rsltstat2") == "1") {
  1056. model.setValue("/root/hidden/refparam/rsltstat0", "");
  1057. model.setValue("/root/hidden/refparam/rsltstat1", "");
  1058. model.setValue("/root/hidden/refparam/rsltstat3", "");
  1059. }
  1060. } else {
  1061. // 최종보고 클릭
  1062. if (model.getValue("/root/hidden/refparam/rsltstat3") == "1") {
  1063. model.setValue("/root/hidden/refparam/rsltstat0", "");
  1064. model.setValue("/root/hidden/refparam/rsltstat1", "");
  1065. model.setValue("/root/hidden/refparam/rsltstat2", "");
  1066. }
  1067. }
  1068. model.refresh();
  1069. }
  1070. function fSelectTestGrup(){
  1071. model.makeValue("/root/send/testgrupnm", combo2.label);
  1072. submit("TRLLF90401" ,false);
  1073. fSetPopUpTclscdList();
  1074. }
  1075. function fSetPopUpTclscdList(){
  1076. var count = getNodesetCount("/root/main/testgrupdetl")
  1077. if(count > 0){
  1078. var sendtclsnm = model.getValue("/root/main/testgrupdetl[1]/tclsnm");
  1079. var sendtclsnm2 = model.getValue("/root/main/testgrupdetl[1]/tclsnm");
  1080. var sendtclscd = model.getValue("/root/main/testgrupdetl[1]/tclscd");
  1081. var sendtclscd2 = model.getValue("/root/main/testgrupdetl[1]/tclscd");
  1082. // 검사그룹 상세 목록 없을때
  1083. if(sendtclsnm == ""){
  1084. model.setValue("/root/hidden/tclscdlist/tclscdlist", "");
  1085. model.setValue("/root/hidden/tclscdlist/tclsnmlist", "");
  1086. }else{ // 검사그룹 상세 목록 있을때
  1087. for(i=2; i<= count; i++){
  1088. sendtclsnm = sendtclsnm + ", " + model.getValue("/root/main/testgrupdetl["+i+"]/tclsnm");
  1089. sendtclsnm2 = sendtclsnm2 + "▦ " + model.getValue("/root/main/testgrupdetl["+i+"]/tclsnm");
  1090. //sendtclscd = sendtclscd + "▦" + model.getValue("/root/main/testgrupdetl["+i+"]/tclscd");
  1091. sendtclscd = sendtclscd + "','" + model.getValue("/root/main/testgrupdetl["+i+"]/tclscd");
  1092. sendtclscd2 = sendtclscd2 + "▦" + model.getValue("/root/main/testgrupdetl["+i+"]/tclscd");
  1093. }
  1094. model.setValue("/root/hidden/ref/tclscdlist/tclsnmlist", sendtclsnm);
  1095. model.setValue("/root/hidden/ref/tclscdlist/tclscdlist", "'" + sendtclscd + "'");
  1096. model.setValue("/root/hidden/ref/tclscdlist/tclscdlist2", sendtclscd2);
  1097. model.setValue("/root/hidden/ref/tclscdlist/tclsnmlist2", sendtclsnm2);
  1098. }
  1099. model.refresh();
  1100. fGrdReMake();
  1101. }
  1102. }
  1103. function fSetClear(){
  1104. model.removeNodeset("/root/main/testinfo/patlist");
  1105. model.resetInstanceNode("/root/main/testinfo/spcinfo");
  1106. model.removeNodeset("/root/main/testinfo/testlist");
  1107. model.setvalue("/root/hidden/refparam/userid" , "");
  1108. model.setvalue("/root/main/getUsernm/usernm" , "");
  1109. datagrid2.rowStyle(1, "data", "background-color") = "#FFFFFF";
  1110. model.refresh();
  1111. }
  1112. function fSetClear2(){
  1113. model.removeNodeset("/root/main/testinfo/patlist");
  1114. model.resetInstanceNode("/root/main/testinfo/spcinfo");
  1115. model.removeNodeset("/root/main/testinfo/testlist");
  1116. datagrid2.rowStyle(1, "data", "background-color") = "#FFFFFF";
  1117. model.refresh();
  1118. }
  1119. function fRsltCDEnterKey(vInptRslt){
  1120. if (event.keyCode == 13) {
  1121. model.setvalue("/root/hidden/rsltcont", input5.currentText);
  1122. model.refresh();
  1123. input5.selBegin = 0;
  1124. input5.selEnd = input5.currentText.length;
  1125. var vInptRslt = model.getValue("/root/hidden/rsltcont").getTrim(); // 적용할 실제결과
  1126. var curRow = grd_testlist.row;
  1127. var curCol = grd_testlist.Col;
  1128. if (curCol < parseInt(gStartCol)) return;
  1129. if (curRow < 0) return;
  1130. if (vInptRslt.getTrim() == "") return;
  1131. var vOrgrstseq = "inptrslt" + eval((curCol - gStartCol) + 1).toString();
  1132. var vTclscd = model.getValue("/root/hidden/currentest/tclscd");
  1133. var vCvtRst = fGetSeekRst(vTclscd, vInptRslt);
  1134. if (vInptRslt != vCvtRst) {
  1135. vInptRslt = vCvtRst;
  1136. }
  1137. grd_testlist.selected;
  1138. var selectedCells = grd_testlist.selectedCells;
  1139. for (var i=0; i<selectedCells.length; i++){
  1140. var cell = selectedCells.item(i);
  1141. if (cell){
  1142. var curRow = cell.row;
  1143. var refRow = fGetRow(curRow, curCol);
  1144. if (refRow > 0) {
  1145. model.setValue("/root/main/testinfo/patlist[" + curRow + "]/" + vOrgrstseq, vInptRslt);
  1146. fCvtViewResult(vInptRslt, refRow);
  1147. // 수정항목 색변경
  1148. //var color = fCOMLIS_getBackColor("GREEN");
  1149. grd_testlist.cellStyle("background-color", curRow, curCol, curRow, curCol) = "#f3e1bf";
  1150. //TFGridRowColor("grdHwanJaGSHML", i, curCol, i, curCol, 1, color[0], color[1], color[2]);
  1151. }
  1152. }
  1153. }
  1154. model.setValue("/root/hidden/rsltcont", "");
  1155. }
  1156. }
  1157. function fRsltCDEnterKey2(vInptRslt){
  1158. //var vInptRslt = cmb_rslt.label.getTrim(); // 적용할 실제결과
  1159. var curRow = grd_testlist.row;
  1160. var curCol = grd_testlist.Col;
  1161. if (curCol < parseInt(gStartCol)) return;
  1162. if (curRow < 0) return;
  1163. if (vInptRslt.getTrim() == "") return;
  1164. var vTclscd = model.getValue("/root/hidden/currentest/tclscd");
  1165. var vCvtRst = fGetSeekRst(vTclscd, vInptRslt);
  1166. if (vInptRslt != vCvtRst) {
  1167. vInptRslt = vCvtRst;
  1168. }
  1169. var selectedCells = grd_testlist.selectedCells;
  1170. for (var i=0; i<selectedCells.length; i++){
  1171. var cell = selectedCells.item(i);
  1172. if (cell){
  1173. var curRow = cell.row;
  1174. var curCol = cell.col;
  1175. var refRow = fGetRow(curRow, curCol);
  1176. var vOrgrstseq = "inptrslt" + eval((curCol - gStartCol) + 1).toString();
  1177. if (refRow > 0) {
  1178. model.setValue("/root/main/testinfo/patlist[" + curRow + "]/" + vOrgrstseq, vInptRslt);
  1179. fCvtViewResult(vInptRslt, refRow);
  1180. if(vInptRslt == ""){
  1181. if(model.getValue("/root/main/testinfo/testlist["+ refRow +"]/iud") != "") {
  1182. model.setValue("/root/main/testinfo/testlist["+ refRow +"]/iud", "");
  1183. datagrid1.rebuild();
  1184. }
  1185. model.setValue("/root/main/testinfo/patlist["+ curRow +"]/chk", "false");
  1186. //return;
  1187. } else {
  1188. model.setValue("/root/main/testinfo/patlist["+ curRow +"]/chk", "true");
  1189. }
  1190. // 수정항목 색변경
  1191. //var color = fCOMLIS_getBackColor("GREEN");
  1192. grd_testlist.cellStyle("background-color", curRow, curCol, curRow, curCol) = "#f3e1bf";
  1193. //TFGridRowColor("grdHwanJaGSHML", i, curCol, i, curCol, 1, color[0], color[1], color[2]);
  1194. }
  1195. }
  1196. }
  1197. model.setValue("/root/hidden/rsltcont", "");
  1198. }
  1199. function fGetSeekRst(vTestcd, vInptRslt) {
  1200. var result = vInptRslt
  1201. var cdNodes = instance1.selectNodes("/root/init/LB0109[etc01='" + vTestcd + "']/cd");
  1202. var cdNodes2 = instance1.selectNodes("/root/init/LB0109[etc01='" + vTestcd + "']/nm");
  1203. var vRstcontLower ="";
  1204. var vRstcontUpper = "";
  1205. for (i = 1; i <= cdNodes.length; i++) {
  1206. var cd = cdNodes.item(i - 1).text;
  1207. var nm = cdNodes2.item(i - 1).text;
  1208. if(vInptRslt.toLowerCase() == cd) vRstcontLower = nm;
  1209. if(vInptRslt.toUpperCase() == cd) vRstcontUpper = nm;
  1210. }
  1211. if (vRstcontLower.getTrim() != "" || vRstcontUpper.getTrim() != "" ) {
  1212. result = (vRstcontLower.getTrim() != "") ? vRstcontLower.getTrim() : vRstcontUpper.getTrim();
  1213. }
  1214. return result;
  1215. }
  1216. function fUserNMRef(){
  1217. if(model.getvalue("/root/hidden/refparam/userid") != ""){
  1218. model.makeValue("/root/send/userid" , model.getvalue("/root/hidden/refparam/userid"));
  1219. submit("TRLRR00406");
  1220. }
  1221. }
  1222. /*function fSoGyeonJeoJang(){
  1223. var curSlip = model.getValue("/root/hidden/testcont/tsectcd");
  1224. var curCmptcd = model.getValue("/root/hidden/testcont/testcontcd");
  1225. var vCmtp = model.getValue("/root/main/TestInfo/getSpcInfo/testcont");
  1226. if(curSlip == "-"){
  1227. return;
  1228. }
  1229. model.setValue("/root/main/TestInfo/testcont[execdeptcd = '" + curSlip + "' ]/testcontcd", curCmptcd);
  1230. model.setValue("/root/main/TestInfo/testcont[execdeptcd = '" + curSlip + "' ]/testcont", vCmtp);
  1231. model.setValue("/root/main/TestInfo/testcont[execdeptcd = '" + curSlip + "' ]/testcontkind", "3");
  1232. //model.setValue("/root/main/TestInfo/testcont[execdeptcd = '" + curSlip + "' ]/cmtprstflag",
  1233. //model.getValue("/root/MainData/GSHMSangSe/HwanJaJeongBo/cmtprstflag"));
  1234. model.setValue("/root/main/TestInfo/testcont[execdeptcd = '" + curSlip + "' ]/iud", "i");
  1235. model.setValue("/root/hidden/refflag/p_isedit", "true");
  1236. model.refresh();
  1237. }*/
  1238. //소견 노드 셋팅
  1239. function fCMTPCD_ChangeNodeset(pSectcd, pTsectcd, refRow) {
  1240. model.resetInstanceNode("/root/hidden/testconttsectcd");
  1241. if(typeof(pSectcd) == "undefined") {
  1242. cmb_cmt.choices.itemset.attribute("nodeset") ="/root/init/LB0210[cd='00']";
  1243. //model.setValue("/root/hidden/testcont/testcontcd", "-");
  1244. } else {
  1245. cmb_cmt.choices.itemset.attribute("nodeset")="/root/init/LB0210[cd='00' or (etc01='" + pSectcd + "' and etc02='" + pTsectcd + "')]";
  1246. }
  1247. model.setvalue("/root/hidden/testcont/testcontcd" , "00");
  1248. cmb_cmt.refresh();
  1249. var vCmtTsect = model.getValue("/root/main/testinfo/testlist["+ refRow +"]/tsectcd");
  1250. model.setValue("/root/hidden/testconttsectcd[1]/cd", "00");
  1251. model.setValue("/root/hidden/testconttsectcd[1]/nm", "- 시행부서선택 -");
  1252. if(vCmtTsect != ""){
  1253. model.makeValue("/root/hidden/testconttsectcd[2]/cd" , vCmtTsect);
  1254. model.makeValue("/root/hidden/testconttsectcd[2]/nm" ,
  1255. model.getValue("/root/init/LB0106[cd='" + vCmtTsect + "']/nm"));
  1256. }
  1257. else{
  1258. model.setvalue("/root/hidden/testcont/tsectcd" , "00");
  1259. }
  1260. cmb_sect.refresh();
  1261. }
  1262. //시행부서선택시 소견노드 셋팅
  1263. function fCMTPCD_ChangeNodeset2(){
  1264. var tsectcd = model.getvalue("/root/hidden/testcont/tsectcd");
  1265. if(tsectcd == "00"){
  1266. cmb_cmt.choices.itemset.attribute("nodeset") ="/root/init/LB0210[cd='00']";
  1267. }
  1268. else{
  1269. cmb_cmt.choices.itemset.attribute("nodeset")="/root/init/LB0210[cd='00' or (etc02='" + tsectcd + "')]" ;
  1270. }
  1271. model.setvalue("/root/hidden/testcont/testcontcd" , "00");
  1272. cmb_cmt.refresh();
  1273. }
  1274. //소견 초기화
  1275. function fInitializeSoGyeon(refRow){
  1276. var cntTsect = getNodesetCount("/root/hidden/testconttsectcd");
  1277. var cntSG = getNodesetCount("/root/main/testinfo/testcont");
  1278. var curTsect = "";
  1279. var strSG = "";
  1280. var plusIdx = 1;
  1281. /*
  1282. if(cntSG == 0){
  1283. model.makenode("/root/main/testinfo/testcont");
  1284. }
  1285. for(var sNum = 2; sNum <= cntTsect; sNum++){
  1286. curTsect = model.getValue("/root/hidden/testconttsectcd[" + sNum + "]/cd");
  1287. if(model.getValue("/root/main/testinfo/testcont[execdeptcd='"+ curTsect + "']/execdeptcd") == ""){
  1288. var SG = parseInt(cntSG)+parseInt(plusIdx);
  1289. model.makeNode("/root/main/testinfo/testcont[" + SG + "]/testcontcd");
  1290. model.makeNode("/root/main/testinfo/testcont[" + SG + "]/execdeptcd");
  1291. model.makeNode("/root/main/testinfo/testcont[" + SG + "]/testcont");
  1292. model.makeNode("/root/main/testinfo/testcont[" + SG + "]/testcontkind");
  1293. //model.makeNode("/root/main/TestInfo/testcont[" + (cntSG+plusIdx) + "]/rsltstat");
  1294. model.makeNode("/root/main/testinfo/testcont[" + SG+ "]/iud");
  1295. model.setValue("/root/main/testinfo/testcont[" +SG + "]/execdeptcd", curTsect);
  1296. model.setValue("/root/main/testinfo/testcont[" + SG + "]/iud", "n");
  1297. plusIdx++;
  1298. }
  1299. }
  1300. */
  1301. if(cntTsect == 2){
  1302. model.setValue("/root/hidden/testcont/tsectcd", model.getValue("/root/hidden/testconttsectcd[2]/cd"));
  1303. model.setValue("/root/hidden/testcont/testcontcd", "00");
  1304. }else{
  1305. model.setValue("/root/hidden/testcont/tsectcd", "00");
  1306. model.setValue("/root/hidden/testcont/testcontcd", "00");
  1307. }
  1308. fSelectTestContTsect(refRow);
  1309. //model.makeValue("/root/hidden/refflag/p_isedit", "");
  1310. //model.refresh();
  1311. }
  1312. //선택 시행부서 소견
  1313. function fSelectTestContTsect(refRow){
  1314. var selTsectcd = model.getValue("/root/hidden/testcont/tsectcd").getTrim();
  1315. var vSectcd = "";
  1316. var vTsectcd = "";
  1317. var vBcno = "";
  1318. if(refRow != "return") {
  1319. vSectcd = model.getValue("/root/main/testinfo/testlist["+ refRow +"]/sectcd");
  1320. vTsectcd = model.getValue("/root/main/testinfo/testlist["+ refRow +"]/tsectcd");
  1321. vBcno = model.getValue("/root/main/testinfo/testlist["+ refRow +"]/bcno");
  1322. vTestcd = model.getValue("/root/main/testinfo/testlist["+ refRow +"]/testcd");
  1323. }else{//소견 시행부서 변경시 그냥 return
  1324. return;
  1325. }
  1326. /*var cntSoGyeon = getNodesetCount("/root/main/testinfo/testcont"); //소견 저장 개수
  1327. var strSG = "";
  1328. if(selTsectcd == "00"){
  1329. for(var slipR = 1; slipR <= cntSoGyeon; slipR++){
  1330. if(model.getValue("/root/main/testinfo/testcont[" + slipR + "]/iud") != "n"){
  1331. strSG += "【" + model.getValue("/root/main/testinfo/testcont[" + slipR + "]/execdeptcd") + "】"
  1332. + model.getValue("/root/main/testinfo/testcont[" + slipR + "]/testcont") + "\n";
  1333. }
  1334. }
  1335. }else{
  1336. for(var slipR = 1; slipR <= cntSoGyeon; slipR++){
  1337. if(model.getValue("/root/main/testinfo/testcont[" + slipR + "]/execdeptcd") == vTsectcd){
  1338. if(model.getValue("/root/main/testinfo/testcont[" + slipR + "]/bcno") == vBcno){
  1339. strSG += model.getValue("/root/main/testinfo/testcont[" + slipR + "]/testcont") + "\n";
  1340. //strSG += "【" + selSlip + "】"
  1341. // + model.getValue("/root/MainData/GSHMSangSe/GeomSaSoGyeon[" + slipR + "]/cmtp") + "\n";
  1342. }
  1343. }
  1344. }
  1345. }*/
  1346. //model.setValue("/root/main/testinfo/spcinfo/testcont", strSG);
  1347. //시행부서별 소견 전체는.. 걍 버리고 해당 검사 시행부서 소견만 조회
  1348. model.setValue("/root/main/testinfo/spcinfo/testcont"
  1349. , model.getValue("/root/main/testinfo/testcont[bcno = '"+ vBcno + "' and execdeptcd = '" + selTsectcd + "']/testcont"));
  1350. //검사항목별 소견 추가
  1351. model.setValue("/root/main/testinfo/spcinfo/testcmts"
  1352. , model.getValue("/root/main/testinfo/testcmts[bcno = '"+ vBcno + "' and testcd = '"+ vTestcd + "']/testcont") != "" ?
  1353. model.getValue("/root/main/testinfo/testcmts[bcno = '"+ vBcno + "' and testcd = '"+ vTestcd + "']/testcont")
  1354. : model.getvalue("/root/main/testinfo/testlist["+refRow+"]/tclsscrnnm") + " : ");
  1355. model.refresh();
  1356. }
  1357. //소견 선택시
  1358. function fSetCmt(pRow,pCol){
  1359. var sDetilRow = fGetRow(pRow,pCol); //testlist row 조회
  1360. var curSlip = model.getValue("/root/hidden/testcont/tsectcd");
  1361. var curCmptcd = model.getValue("/root/hidden/testcont/testcontcd");
  1362. if(curSlip == "00"){
  1363. //TFGetMsgBox( -1, "소견을 입력할 슬립을 지정하여 주세요", "소견입력오류", "I", "OK" );
  1364. model.setValue("/root/hidden/testcont/testcontcd", "00");
  1365. model.refresh();
  1366. return;
  1367. }
  1368. var vSectcd = model.getValue("/root/main/testinfo/testlist["+ sDetilRow +"]/sectcd");
  1369. var vTsectcd = model.getValue("/root/main/testinfo/testlist["+ sDetilRow +"]/tsectcd");
  1370. var newCmt = model.getValue("/root/init/LB0210[cd='" + curCmptcd + "' and etc01='" + vSectcd + "' and etc02='" + vTsectcd + "']/etc03");
  1371. /*
  1372. var curCmt = model.getValue("/root/main/testinfo/spcinfo/testcont");
  1373. if(curCmt == "\n" || curCmt=="")
  1374. var rstCmt = newCmt;
  1375. else
  1376. var rstCmt = curCmt + "\n" + newCmt;
  1377. model.setValue("/root/main/testinfo/spcinfo/testcont", rstCmt);*/
  1378. var vContFlag = model.getValue("/root/hidden/cmtflag");
  1379. if(vContFlag == 1){ //시행부서별 소견
  1380. var curCmt = model.getValue("/root/main/testinfo/spcinfo/testcont");
  1381. if(curCmt == "\n" || curCmt=="") {
  1382. var rstCmt = newCmt;
  1383. } else{
  1384. var rstCmt = curCmt + "\n" + newCmt;
  1385. }
  1386. model.setValue("/root/main/testinfo/spcinfo/testcont", rstCmt);
  1387. textarea2.selBegin = (rstCmt).length;
  1388. }else{ //검사항목별 소견
  1389. var curCmt = model.getValue("/root/main/testinfo/spcinfo/testcmts");
  1390. var rstCmt = curCmt + " "+ newCmt;
  1391. model.setValue("/root/main/testinfo/spcinfo/testcmts", rstCmt);
  1392. text_testcmts.selBegin = (rstCmt).length;
  1393. }
  1394. //model.refresh();
  1395. fSoGyeonJeoJang();
  1396. }
  1397. //소견저장
  1398. function fSetContCmt(pRow,pCol){
  1399. var sDetilRow = fGetRow(pRow,pCol); //testlist row 조회
  1400. if(model.getvalue("/root/hidden/refparam/userid") == "" || model.getvalue("/root/main/getUsernm/usernm") == ""){
  1401. messageBox("검사자를 " , "C001" ,"");
  1402. model.setFocus("ipt_testpsn");
  1403. return;
  1404. }
  1405. /* 결과 저장시 소견 입력 여부에 따라 등록되지 않은게 있다면 같이 저장하기 위해 막음
  1406. if(model.getvalue("/root/main/testinfo/testlist["+ sDetilRow +"]/rsltstat") == "-") {
  1407. messageBox("소견등록은 결과저장 이후에 가능합니다. " , "C" ,"");
  1408. return;
  1409. }*/
  1410. /*if(model.getvalue("/root/main/testpatlist/patlist["+grd_patList.row+"]/rsltstat") == "4") {
  1411. messageBox("최종보고된 검체의 소견은 수정할수 없습니다." , "C" ,"");
  1412. return;
  1413. }*/
  1414. if (model.getValue("/root/hidden/refflag/p_isedit") != "true"
  1415. && model.getxPathValue('count(/root/main/testinfo/testcmts[m = ""])') == "0") {
  1416. messageBox("소견을 입력 하세요!" , "C" ,"");
  1417. return;
  1418. }
  1419. model.setvalue("/root/send/data1", "m▦rownum▦selchk▦tclsscrnm▦bufinptrslt▦reptrslt▦multiflag▦rstdt▦refval▦rsltunit▦judgmark▦panicmark▦deltamark▦criticalmark▦alertmark▦▦▦rsltmark▦erprcpflag▦bfreptrslt▦bflastreptdt▦rstnm▦eqmtnm▦testcmt▦tclskind▦testcd▦spccd▦rsltseq▦inptrslt▩");
  1420. model.setValue("/root/hidden/refflag/bcno", model.getvalue("/root/main/testinfo/testlist["+ sDetilRow +"]/bcno"));
  1421. model.setValue("/root/hidden/refflag/rsltstat", "1");
  1422. model.setValue("/root/hidden/refflag/testlrgkind", "-");
  1423. model.setValue("/root/hidden/refflag/userid", model.getValue("/root/hidden/refparam/userid"));
  1424. //여러 검체 동시에 일괄 저장 때리기 위한 구분
  1425. model.makeValue("/root/hidden/refflag/rsltscrflag", "test");
  1426. model.copyNode("/root/send/data2" , "/root/hidden/refflag");
  1427. //시행부서별, 검사항목별 소견 저장데이터 생성
  1428. fMakeSendSoGyeon();
  1429. }
  1430. //소견 저장을 위한 소견 데이터 만들기
  1431. function fMakeSendSoGyeon(){
  1432. var cntSG = getNodesetCount("/root/main/testinfo/testcont"); //소견 저장 개수
  1433. var vSndSG = "m▦bcno▦testcontcd▦execdeptcd▦testcont▦testcontkind▩";
  1434. for(var i = 1; i <= cntSG; i++){
  1435. if(model.getValue("/root/main/testinfo/testcont[" + i + "]/iud") != ""){
  1436. vSndSG += "u" + "▦"
  1437. + model.getValue("/root/main/testinfo/testcont[" + i + "]/bcno") + "▦"
  1438. + model.getValue("/root/main/testinfo/testcont[" + i + "]/testcontcd") + "▦"
  1439. + model.getValue("/root/main/testinfo/testcont[" + i + "]/execdeptcd") + "▦"
  1440. + model.getValue("/root/main/testinfo/testcont[" + i + "]/testcont") + "▦"
  1441. + model.getValue("/root/main/testinfo/testcont[" + i + "]/testcontkind") + "▩";
  1442. }
  1443. }
  1444. model.makeValue("/root/send/data3", vSndSG);
  1445. //검사항목별 소견
  1446. var vSndTestcmts = "m▦bcno▦tclscd▦testcd▦spccd▦rsltseq▦testcontcd▦testcont▦flag▩";
  1447. var vTestCmtCounts = model.getxPathValue('count(/root/main/testinfo/testcmts)');
  1448. var xPath = "/root/main/testinfo/testcmts";
  1449. for (j = 1; j <= vTestCmtCounts; j++){
  1450. if(model.getValue(xPath+ "[" + j + "]/m") != ""){
  1451. vSndTestcmts += model.getValue(xPath+ "[" + j + "]/m") + "▦"
  1452. + model.getValue(xPath+ "[" + j + "]/bcno") + "▦"
  1453. + model.getValue(xPath+ "[" + j + "]/tclscd") + "▦"
  1454. + model.getValue(xPath+ "[" + j + "]/testcd") + "▦"
  1455. + model.getValue(xPath+ "[" + j + "]/spccd") + "▦"
  1456. + model.getValue(xPath+ "[" + j + "]/rsltseq") + "▦"
  1457. + model.getValue(xPath+ "[" + j + "]/testcontcd") + "▦"
  1458. + model.getValue(xPath+ "[" + j + "]/testcont") + "▦"
  1459. + "2▩"; //소견만 저장하기때문에 2보냄 결과등록시와 소견만 저장시 결과seq때문에..
  1460. }
  1461. }
  1462. model.makeValue("/root/send/data4", vSndTestcmts);
  1463. submit("TXLLR80101",false);
  1464. //저장 후 소견 iud초기화
  1465. for (j = 1; j <= vTestCmtCounts; j++){
  1466. model.setValue(xPath+ "[" + j + "]/m", "");
  1467. }
  1468. model.setValue("/root/hidden/refflag/p_isedit", "");
  1469. model.removeNodeset("/root/send/data2"); //아씨..이게 소견저장할때와 검사결과 저장할때 같은 노드임 ㅡ,.ㅡ
  1470. model.makeNode("/root/send/data2");
  1471. model.refresh();
  1472. }
  1473. //소견내용이 바뀔경우
  1474. function fSoGyeonJeoJang(pRef){ //pRef : 소견구분 1:시행부서별, 2:검사항목별
  1475. var curSlip = model.getValue("/root/hidden/testcont/tsectcd");
  1476. var curCmptcd = model.getValue("/root/hidden/testcont/testcontcd");
  1477. var vCmtp = model.getValue("/root/main/testinfo/spcinfo/testcont"); //시행부서별 소견
  1478. var vTestCmts = model.getValue("/root/main/testinfo/spcinfo/testcmts"); //검사항목별 소견
  1479. var vNodeCnt, vContNodeCount;
  1480. var vRow = fGetRow(grd_testlist.row,grd_testlist.col);
  1481. var vBcno = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/bcno");
  1482. var vTestcd = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/testcd"); //검사코드
  1483. var vTsectcd = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/tsectcd"); //시행부서
  1484. var vTclscd, vSpccd, vRsltseq;
  1485. if(curSlip == "-"){
  1486. return;
  1487. }
  1488. if(pRef == 1){ //시행부서별 소견
  1489. var xPath_Cont = "/root/main/testinfo/testcont";
  1490. //해당 바코드, 시행부서 노드 존재 여부 판단 위해
  1491. vNodeCnt = model.getxPathValue('count(/root/main/testinfo/testcont[bcno = "'+ vBcno + '" and execdeptcd = "'+ vTsectcd + '"]/testcont)');
  1492. if(vCmtp.getTrim() == "" || vCmtp.getTrim() == "-"){
  1493. if(vNodeCnt > 0){ //소견 변경했는데 소견이 빈값이고 저장된 소견이 존재 할 경우
  1494. model.setValue(xPath_Cont + "[bcno = '" + vBcno + "' and execdeptcd = '" + vTsectcd + "' ]/testcontcd", "-");
  1495. model.setValue(xPath_Cont + "[bcno = '" + vBcno + "' and execdeptcd = '" + vTsectcd + "' ]/testcont", "-");
  1496. //시행부서별 소견은 무조건 넣고 이력쌓아서 무조건 i로 날림
  1497. model.setValue(xPath_Cont + "[bcno = '" + vBcno + "' and execdeptcd = '" + vTsectcd + "' ]/iud", "i");
  1498. model.setValue(xPath_Cont + "[bcno = '" + vBcno + "' and execdeptcd = '" + vTsectcd + "' ]/testcontkind", "3"); //이건 어떤 용도?
  1499. }else{
  1500. return; //소견내용 없고 저장된소견도 없을때 return;
  1501. }
  1502. }else{
  1503. if(vNodeCnt > 0){ //소견 존재시 setValue
  1504. model.setValue(xPath_Cont + "[bcno = '" + vBcno + "' and execdeptcd = '" + vTsectcd + "' ]/testcontcd", curCmptcd);
  1505. model.setValue(xPath_Cont + "[bcno = '" + vBcno + "' and execdeptcd = '" + vTsectcd + "' ]/testcont", vCmtp);
  1506. model.setValue(xPath_Cont + "[bcno = '" + vBcno + "' and execdeptcd = '" + vTsectcd + "' ]/iud", "i");
  1507. }else{ //없을때 만들어 넣기
  1508. vContNodeCount = model.getxPathValue('count(/root/main/testinfo/testcont)');
  1509. vContNodeCount = parseInt(vContNodeCount) + 1;
  1510. model.makeValue(xPath_Cont + "[" + vContNodeCount + "]/iud" , "i")
  1511. model.makeValue(xPath_Cont + "[" + vContNodeCount + "]/bcno" , vBcno)
  1512. model.makeValue(xPath_Cont + "[" + vContNodeCount + "]/testcontcd" , curCmptcd)
  1513. model.makeValue(xPath_Cont + "[" + vContNodeCount + "]/testcont" , vCmtp)
  1514. model.makeValue(xPath_Cont + "[" + vContNodeCount + "]/testcontkind" , "01")
  1515. model.makeValue(xPath_Cont + "[" + vContNodeCount + "]/execdeptcd" , vTsectcd)
  1516. }
  1517. model.setValue("/root/hidden/refflag/p_isedit", "true"); //저장할거 생겼다.
  1518. }
  1519. }else{ //검사항목별 소견
  1520. var xPath_TestCmts = "/root/main/testinfo/testcmts";
  1521. //검사별 소견 노드 존재 여부
  1522. vNodeCnt = model.getxPathValue('count(/root/main/testinfo/testcmts[bcno = "'+ vBcno + '" and testcd = "'+ vTestcd + '"]/testcont)');
  1523. //소견을 수정했는데 빈값일경우
  1524. if(vTestCmts.getTrim() == ""){
  1525. if(vNodeCnt > 0){
  1526. if(model.getvalue("/root/main/testinfo/testcmts[bcno = '"+ vBcno + "' and testcd = '"+ vTestcd + "']/m") == "i"){
  1527. //신규로 저장하고자 존재 했다면 노드 삭제
  1528. model.removeNode("/root/main/testinfo/testcmts[bcno = '"+ vBcno + "' and testcd = '"+ vTestcd + "']");
  1529. }else{ //u, d일경우 d로 변경
  1530. model.setValue("/root/main/testinfo/testcmts[bcno = '"+ vBcno + "' and testcd = '"+ vTestcd + "']/m", "d");
  1531. model.setValue(xPath_TestCmts + "[bcno = '"+ vBcno + "' and testcd = '"+ vTestcd + "']/testcont", vTestCmts);
  1532. }
  1533. }
  1534. return;
  1535. }
  1536. if( vNodeCnt > 0){
  1537. model.setValue(xPath_TestCmts + "[bcno = '"+ vBcno + "' and testcd = '"+ vTestcd + "']/testcont", vTestCmts);
  1538. model.setValue(xPath_TestCmts+ "[bcno = '"+ vBcno + "' and testcd = '"+ vTestcd + "']/testcontcd", curCmptcd);
  1539. if(model.getvalue(xPath_TestCmts + "[bcno = '"+ vBcno + "' and testcd = '"+ vTestcd + "']/m") == "i"){ //신규 소견등록시
  1540. //저장 내역 조회될때 m에는 빈값, 신규 저장시 i넣어주고, 수정될때 u로 바꿈
  1541. model.setValue(xPath_TestCmts + "[bcno = '"+ vBcno + "' and testcd = '"+ vTestcd + "']/m", "i");
  1542. }else{
  1543. //신규저장이 아니면 저장내역으로 보고 u로 변경
  1544. model.setValue(xPath_TestCmts + "[bcno = '"+ vBcno + "' and testcd = '"+ vTestcd + "']/m", "u");
  1545. }
  1546. }else{ //없다면 makeValue
  1547. vContNodeCount = model.getxPathValue('count(/root/main/testinfo/testcmts)');
  1548. vTclscd = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/tclscd");
  1549. vSpccd = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/spccd");
  1550. vRsltseq = model.getvalue("/root/main/testinfo/testlist["+vRow+"]/rsltseq");
  1551. vContNodeCount = parseInt(vContNodeCount) +1;
  1552. model.makeValue(xPath_TestCmts + "[" + vContNodeCount + "]/m" , "i")
  1553. model.makeValue(xPath_TestCmts + "[" + vContNodeCount + "]/bcno" , vBcno);
  1554. model.makeValue(xPath_TestCmts + "[" + vContNodeCount + "]/tclscd" , vTclscd);
  1555. model.makeValue(xPath_TestCmts + "[" + vContNodeCount + "]/testcd" , vTestcd);
  1556. model.makeValue(xPath_TestCmts + "[" + vContNodeCount + "]/spccd" , vSpccd);
  1557. model.makeValue(xPath_TestCmts + "[" + vContNodeCount + "]/rsltseq" , vRsltseq);
  1558. model.makeValue(xPath_TestCmts + "[" + vContNodeCount + "]/testcontcd", curCmptcd);
  1559. model.makeValue(xPath_TestCmts + "[" + vContNodeCount + "]/testcont" , vTestCmts)
  1560. }
  1561. model.setValue("/root/hidden/refflag/p_isedit", "true"); //저장할거 생겼다.
  1562. //
  1563. }
  1564. model.refresh();
  1565. }
  1566. //마우스오른쪽 클릭시 결과코드 보이기
  1567. function fGetMouseDown(){
  1568. model.removeNodeset("/root/hidden/popupmenu");
  1569. if(event.button == 3){ // 라이트클릭 메뉴만들기...
  1570. model.makeNode("/root/hidden/popupmenu/grid");
  1571. model.makeNode("/root/hidden/popupmenu/grid/item");
  1572. var curRow = grd_testlist.mouseRow;
  1573. var curCol = grd_testlist.mouseCol;
  1574. var refRow = fGetRow(curRow, curCol);
  1575. if(curCol >= gStartCol && refRow >0){
  1576. var testcd = model.getvalue("/root/main/testinfo/testlist["+ refRow +"]/testcd");
  1577. //결과코드관련
  1578. var n = getNodesetCount("/root/init/LB0109[etc01='" + testcd + "']");
  1579. if (n > 0) {
  1580. var cdNodes = instance1.selectNodes("/root/init/LB0109[etc01='" + testcd + "']/cd");
  1581. var cdNodes2 = instance1.selectNodes("/root/init/LB0109[etc01='" + testcd + "']/nm");
  1582. var dispyn = instance1.selectNodes("/root/init/LB0109[etc01='" + testcd + "']/etc03");
  1583. for (i = 1; i <= n; i++) {
  1584. var cd = cdNodes.item(i - 1).text;
  1585. var nm = cdNodes2.item(i - 1).text;
  1586. var yn = dispyn.item(i - 1).text;
  1587. if(yn == "Y"){
  1588. //var cd = model.getvalue("/root/init/LB0109[etc01='" + testcd + "']["+ i +"]/cd");
  1589. //var nm = model.getvalue("/root/init/LB0109[etc01='" + testcd + "']["+ i +"]/nm");
  1590. model.makeValue("/root/hidden/popupmenu/grid/item["+ i +"]/name" , "["+cd+"] "+ nm);
  1591. model.makeValue("/root/hidden/popupmenu/grid/item["+ i +"]/func" , nm + "▦" + refRow);
  1592. //model.makeValue("/root/hidden/popupmenu/grid/item["+i+"]/value" , cd);
  1593. }
  1594. }
  1595. }
  1596. // n = parseInt(getNodesetCount("/root/hidden/popupmenu/grid/item")) + 1;
  1597. //
  1598. // if(n>1){
  1599. // model.makeValue("/root/hidden/popupmenu/grid/item["+n+"]/name" , "-");
  1600. // model.makeValue("/root/hidden/popupmenu/grid/item["+n+"]/func" , "");
  1601. // n++
  1602. // }
  1603. //
  1604. // model.makeValue("/root/hidden/popupmenu/grid/item["+n+"]/name" , "▶ 누적결과조회");
  1605. // model.makeValue("/root/hidden/popupmenu/grid/item["+n+"]/func" , "fAcmlRsltRef▦" + refRow);
  1606. }
  1607. }
  1608. if((grd_testlist.isCell(event.target) && grd_testlist.row >= grd_testlist.fixedRows) && grd_testlist.col >= gStartCol ){
  1609. window.setPopupMenu(true , "/root/hidden/popupmenu/grid/item" , "name", "func" , true);
  1610. //setPopupMenu("grd_TestInfoCnts" , true, "/root/hidden/popupmenu/grid/item", "name", "func");
  1611. }else{
  1612. window.setPopupMenu(false);
  1613. }
  1614. }
  1615. function fGetSeekRst(vTestcd, vInptRslt) {
  1616. var result = vInptRslt
  1617. var cdNodes = instance1.selectNodes("/root/init/LB0109[etc01='" + vTestcd + "']/cd");
  1618. var cdNodes2 = instance1.selectNodes("/root/init/LB0109[etc01='" + vTestcd + "']/nm");
  1619. var vRstcontLower ="";
  1620. var vRstcontUpper = "";
  1621. for (i = 1; i <= cdNodes.length; i++) {
  1622. var cd = cdNodes.item(i - 1).text;
  1623. var nm = cdNodes2.item(i - 1).text;
  1624. if(vInptRslt.toLowerCase() == cd) vRstcontLower = nm;
  1625. if(vInptRslt.toUpperCase() == cd) vRstcontUpper = nm;
  1626. }
  1627. if (vRstcontLower.getTrim() != "" || vRstcontUpper.getTrim() != "" ) {
  1628. result = (vRstcontLower.getTrim() != "") ? vRstcontLower.getTrim() : vRstcontUpper.getTrim();
  1629. }
  1630. return result;
  1631. }
  1632. //팝업메뉴
  1633. function fOnmenu(popupParam){
  1634. if(popupParam.substring(0,12) == "fAcmlRsltRef") { //누적결과조회
  1635. var aL = popupParam.split("▦");
  1636. fAcmlRsltRef(aL[1]);
  1637. }else{
  1638. if(popupParam != ""){
  1639. var aL = popupParam.split("▦");
  1640. fRsltCDEnterKey2(aL[0]);
  1641. }
  1642. }
  1643. }
  1644. //누적결과조회
  1645. function fAcmlRsltRef(row){
  1646. model.makeValue("/root/hidden/AcmlRsltRef/pid", model.getValue("/root/main/testinfo/testlist["+ row +"]/pid"));
  1647. model.makeValue("/root/hidden/AcmlRsltRef/testcd", model.getValue("/root/main/testinfo/testlist["+ row +"]/testcd"));
  1648. model.makeValue("/root/hidden/AcmlRsltRef/hngnm", model.getValue("/root/main/testinfo/testlist["+ row +"]/patnm"));
  1649. model.makeValue("/root/hidden/AcmlRsltRef/sex", model.getValue("/root/main/testinfo/testlist["+ row +"]/patsex"));
  1650. model.makeValue("/root/hidden/AcmlRsltRef/age", model.getValue("/root/main/testinfo/testlist["+ row +"]/patage"));
  1651. modal("SPLLP90100 ","","","","","/root/hidden/AcmlRsltRef","/root/init/baseinfo");
  1652. }
  1653. ]]>
  1654. </script>
  1655. </xhtml:head>
  1656. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  1657. <group id="group3" scroll="auto" style="left:0px; top:40; width:1195px; height:744px; ">
  1658. <line id="line1" class="line_1" style="x1:0px; y1:95px; x2:1194px; y2:95px; "/>
  1659. <caption id="caption2" class="tit_2" style="left:5px; top:80px; width:134px; height:14px; ">검사항목내역</caption>
  1660. <button id="button2" class="btn2_letter2" style="left:1152px; top:75px; width:42px; height:19px; ">
  1661. <caption>엑셀</caption>
  1662. <script type="javascript" ev:event="onclick">
  1663. <![CDATA[
  1664. //addData();
  1665. //datagrid1.saveExcel();
  1666. var fileName = window.fileDialog("save", ",", false, "검사항목별결과관리", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  1667. if (fileName != "")
  1668. {
  1669. datagrid1.saveExcel(fileName);
  1670. }
  1671. ]]>
  1672. </script>
  1673. </button>
  1674. <caption id="caption10" class="tit_2" style="left:5px; top:570px; width:74px; height:13px; ">검체정보</caption>
  1675. <line id="line2" class="line_1" style="x1:0px; y1:585px; x2:573px; y2:585px; "/>
  1676. <output id="output1" ref="/root/main/testinfo/spcinfo/spcscrnnm" class="output_fix" style="left:103px; top:591px; width:179px; height:19px; "/>
  1677. <line id="line4" class="line_2" style="x1:0px; y1:612px; x2:282px; y2:612px; "/>
  1678. <output id="output2" ref="/root/main/testinfo/spcinfo/refval" class="output_fix" style="left:103px; top:615px; width:179px; height:19px; "/>
  1679. <datagrid id="datagrid2" nodeset="/root/main/testinfo/spcinfo" caption="N^P^D^C^A^R" colsep="^" colwidth="30, 30, 30, 30, 30, 27" dataheight="23" defaultrows="1" mergecellsfixedrows="bycolrec" rowheight="23" rowsep="|" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:103px; top:639px; width:179px; height:48px; ">
  1680. <col ref="judgmark" style="text-align:center; "/>
  1681. <col ref="panicmark" style="text-align:center; "/>
  1682. <col ref="deltamark" style="left:60px; top:25px; width:30px; height:25px; text-align:center; "/>
  1683. <col ref="criticalmark" style="text-align:center; "/>
  1684. <col ref="alertmark" style="text-align:center; "/>
  1685. <col ref="rsltmark" style="text-align:center; "/>
  1686. </datagrid>
  1687. <output id="output3" ref="/root/main/testinfo/spcinfo/reptrslt" class="output_fix" style="left:393px; top:593px; width:179px; height:19px; "/>
  1688. <output id="output4" ref="/root/main/testinfo/spcinfo/bfreptrslt" class="output_fix" style="left:393px; top:617px; width:179px; height:19px; "/>
  1689. <output id="output5" ref="/root/main/testinfo/spcinfo/bflastreptdt" class="output_fix" style="left:393px; top:641px; width:179px; height:19px; "/>
  1690. <output id="output6" ref="/root/main/testinfo/spcinfo/testeqmtcd" class="output_fix" style="left:393px; top:665px; width:179px; height:19px; "/>
  1691. <line id="line3" class="line_2" style="x1:0px; y1:692px; x2:570px; y2:692px; "/>
  1692. <line id="line5" class="line_2" style="x1:103px; y1:636px; x2:282px; y2:636px; "/>
  1693. <line id="line8" class="line_2" style="x1:290px; y1:662px; x2:572px; y2:662px; "/>
  1694. <line id="line6" class="line_2" style="x1:290px; y1:614px; x2:572px; y2:614px; "/>
  1695. <line id="line7" class="line_2" style="x1:290px; y1:638px; x2:572px; y2:638px; "/>
  1696. <line id="line12" class="line_1" style="x1:580px; y1:585px; x2:1194px; y2:585px; "/>
  1697. <caption id="caption18" class="tit_2" style="left:585px; top:570px; width:185px; height:13px; ">Comment(진단검사내부용)</caption>
  1698. <textarea id="textarea1" ref="/root/main/testinfo/spcinfo/cmt" style="left:579px; top:594px; width:246px; height:148px; ">
  1699. <script type="javascript" ev:event="DOMFocusOut">
  1700. <![CDATA[
  1701. var vCurrentRow = model.getValue("/root/hidden/currenRow");
  1702. if(vCurrentRow !="") {
  1703. var vComment = model.getValue("/root/main/testinfo/spcinfo/cmt");
  1704. model.setValue("/root/main/testinfo/testlist["+vCurrentRow+"]/testcmt", vComment);
  1705. }
  1706. ]]>
  1707. </script>
  1708. </textarea>
  1709. <line id="line13" class="line_2" style="x1:290px; y1:686px; x2:573px; y2:686px; "/>
  1710. <output id="output8" ref="/root/main/testinfo/spcinfo/rsltregid" class="output_fix" style="left:103px; top:695px; width:85px; height:19px; "/>
  1711. <line id="line14" class="line_2" style="x1:0px; y1:717px; x2:570 px; y2:717px; "/>
  1712. <output id="output9" ref="/root/main/testinfo/spcinfo/mdlreptid" class="output_fix" style="left:295px; top:695px; width:85px; height:19px; "/>
  1713. <output id="output10" ref="/root/main/testinfo/spcinfo/lastreptnm" class="output_fix" style="left:487px; top:695px; width:85px; height:19px; "/>
  1714. <group id="group1" style="left:0px; top:10px; width:1195px; height:60px; ">
  1715. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1194px; height:60px; "/>
  1716. <button id="button1" class="btn1_letter2" style="left:1123px; top:31px; width:56px; height:22px; ">
  1717. <caption>조회</caption>
  1718. <script type="javascript" ev:event="DOMActivate">
  1719. <![CDATA[
  1720. fOnclick_btnRef();
  1721. ]]>
  1722. </script>
  1723. </button>
  1724. <line id="line11" class="line_4" style="x1:1108px; y1:31px; x2:1108px; y2:53px; "/>
  1725. <select id="checkbox1" ref="/root/hidden/refparam/rsltstat0" class="checkbox_search" overflow="visible" appearance="full" cols="3" style="left:594px; top:11px; width:81px; height:13px; border-style:none; ">
  1726. <choices>
  1727. <item>
  1728. <label>결과미입력</label>
  1729. <value>1</value>
  1730. </item>
  1731. </choices>
  1732. <script type="javascript" ev:event="xforms-value-changed">
  1733. <![CDATA[
  1734. fRstGbn_XForms_Value_Changed("0");
  1735. ]]>
  1736. </script>
  1737. </select>
  1738. <caption id="caption1" class="search_name" style="left:15px; top:9px; width:90px; height:17px; ">작업일자 :</caption>
  1739. <select1 id="combo1" ref="/root/hidden/refparam/tsectcd" class="combo_search" appearance="minimal" style="left:105px; top:35px; width:105px; height:19px; ">
  1740. <choices>
  1741. <itemset nodeset="/root/init/LB0106">
  1742. <label ref="nm"/>
  1743. <value ref="cd"/>
  1744. </itemset>
  1745. </choices>
  1746. </select1>
  1747. <caption id="caption3" class="search_no_b" style="left:193px; top:10px; width:12px; height:17px; ">~</caption>
  1748. <caption id="caption4" class="search_name" style="left:15px; top:36px; width:90px; height:17px; ">작업그룹 :</caption>
  1749. <caption id="caption5" class="search_name" style="left:304px; top:9px; width:90px; height:17px; ">작업번호 :</caption>
  1750. <input id="input1" ref="/root/hidden/refparam/startdd" class="input_search" inputtype="date" style="left:105px; top:8px; width:85px; height:19px; "/>
  1751. <caption id="caption7" class="search_no_b" style="left:440px; top:10px; width:12px; height:17px; ">~</caption>
  1752. <input id="input2" ref="/root/hidden/refparam/enddd" class="input_search" inputtype="date" style="left:209px; top:8px; width:85px; height:19px; "/>
  1753. <caption id="caption8" class="search_name" style="left:507px; top:9px; width:90px; height:17px; ">결과구분 :</caption>
  1754. <input id="input3" ref="/root/hidden/refparam/sworkseq" class="input_search" style="left:392px; top:8px; width:45px; height:19px; "/>
  1755. <input id="input4" ref="/root/hidden/refparam/eworkseq" class="input_search" style="left:457px; top:8px; width:45px; height:19px; "/>
  1756. <caption id="caption9" class="search_name" style="left:414px; top:34px; width:90px; height:17px; ">검사항목 :</caption>
  1757. <button id="button61" class="icon_search" style="left:1071px; top:32px; width:16px; height:16px; background-image:../../../com/commonweb/images/icon_search.gif; ">
  1758. <caption/>
  1759. <script type="javascript" ev:event="DOMActivate">
  1760. <![CDATA[
  1761. modal("SMLLF90400", "", "", "", "", "/root/hidden/ref/tclscdlist/testgrup", "/root/hidden/tclscdlist/testgrup");
  1762. fGrdReMake();
  1763. ]]>
  1764. </script>
  1765. </button>
  1766. <input id="ipt_tclscdlist" ref="/root/hidden/ref/tclscdlist/tclsnmlist" class="input_search" style="left:625px; top:33px; width:434px; height:19px; "/>
  1767. <select id="checkbox2" ref="/root/hidden/refparam/rsltstat1" class="checkbox_search" overflow="visible" appearance="full" cols="3" style="left:676px; top:11px; width:69px; height:13px; border-style:none; ">
  1768. <choices>
  1769. <item>
  1770. <label>결과입력</label>
  1771. <value>1</value>
  1772. </item>
  1773. </choices>
  1774. <script type="javascript" ev:event="xforms-value-changed">
  1775. <![CDATA[
  1776. fRstGbn_XForms_Value_Changed("1");
  1777. ]]>
  1778. </script>
  1779. </select>
  1780. <select id="checkbox3" ref="/root/hidden/refparam/rsltstat2" class="checkbox_search" overflow="visible" appearance="full" cols="3" style="left:745px; top:11px; width:86px; height:13px; border-style:none; ">
  1781. <choices>
  1782. <item>
  1783. <label>최종보고</label>
  1784. <value>1</value>
  1785. </item>
  1786. </choices>
  1787. <script type="javascript" ev:event="xforms-value-changed">
  1788. <![CDATA[
  1789. fRstGbn_XForms_Value_Changed("2");
  1790. ]]>
  1791. </script>
  1792. </select>
  1793. <select1 id="combo2" ref="/root/hidden/ref/tclscdlist/testgrup" class="combo_search" appearance="minimal" style="left:506px; top:33px; width:118px; height:19px; ">
  1794. <choices>
  1795. <itemset nodeset="/root/init/LB0103">
  1796. <label ref="nm"/>
  1797. <value ref="cd"/>
  1798. </itemset>
  1799. </choices>
  1800. <script type="javascript" ev:event="xforms-value-changed">
  1801. <![CDATA[
  1802. fSelectTestGrup();
  1803. ]]>
  1804. </script>
  1805. </select1>
  1806. <input id="input5" ref="/root/hidden/rsltcont" class="input_search" style="left:315px; top:34px; width:85px; height:19px; ">
  1807. <script type="javascript" ev:event="onkeypress">
  1808. <![CDATA[
  1809. fRsltCDEnterKey();
  1810. ]]>
  1811. </script>
  1812. <script type="javascript" ev:event="onbuttonclick">
  1813. <![CDATA[
  1814. ]]>
  1815. </script>
  1816. </input>
  1817. <caption id="caption6" class="search_name" style="left:225px; top:35px; width:95px; height:17px; ">결과코드 :</caption>
  1818. <input id="ipt_testpsn" ref="/root/hidden/refparam/userid" class="input_essential" style="left:963px; top:7px; width:76px; height:19px; ">
  1819. <script type="javascript" ev:event="onkeyup">
  1820. <![CDATA[
  1821. if(event.keyCode == "13"){
  1822. model.setvalue("/root/hidden/refparam/userid",ipt_testpsn.currentText);
  1823. model.refresh();
  1824. fUserNMRef();
  1825. ipt_testpsn.selBegin = 0;
  1826. ipt_testpsn.selEnd = ipt_testpsn.currentText.length;
  1827. if(model.getValue("/root/main/getUsernm/userflag") == "2"){
  1828. model.setValue("/root/main/getUsernm/specdrid","");
  1829. model.refresh();
  1830. }
  1831. }
  1832. ]]>
  1833. </script>
  1834. </input>
  1835. <output id="opt_testpsn" ref="/root/main/getUsernm/usernm" class="output_fix" style="left:1041px; top:7px; width:69px; height:19px; "/>
  1836. <caption id="caption19" class="tit_2" style="left:893px; top:10px; width:66px; height:13px; ">전문의 :</caption>
  1837. <select id="checkbox4" ref="/root/hidden/refparam/rsltstat3" class="checkbox_search" overflow="visible" appearance="full" cols="3" style="left:812px; top:11px; width:86px; height:13px; border-style:none; ">
  1838. <choices>
  1839. <item>
  1840. <label>전문의확인</label>
  1841. <value>1</value>
  1842. </item>
  1843. </choices>
  1844. <script type="javascript" ev:event="xforms-value-changed">
  1845. <![CDATA[
  1846. fRstGbn_XForms_Value_Changed("3");
  1847. ]]>
  1848. </script>
  1849. </select>
  1850. <output id="output13" ref="/root/main/getUsernm/specdrid" class="output_fix" style="left:1112px; top:7px; width:69px; height:19px; "/>
  1851. </group>
  1852. <caption id="caption20" class="cell_1" style="left:0px; top:694px; width:100px; height:23px; ">결과입력자</caption>
  1853. <caption id="caption21" class="cell_1" style="left:192px; top:694px; width:100px; height:23px; ">중간보고자</caption>
  1854. <caption id="caption22" class="cell_1" style="left:384px; top:694px; width:100px; height:23px; ">최종보고자</caption>
  1855. <caption id="caption11" class="cell_1" style="left:0px; top:590px; width:100px; height:23px; ">검체명</caption>
  1856. <caption id="caption12" class="cell_1" style="left:0px; top:614px; width:100px; height:78px; ">
  1857. <![CDATA[참고치&판정]]>
  1858. </caption>
  1859. <caption id="caption13" class="cell_1" style="left:290px; top:592px; width:100px; height:23px; ">보이는결과</caption>
  1860. <caption id="caption14" class="cell_1" style="left:290px; top:616px; width:100px; height:23px; ">이전결과</caption>
  1861. <caption id="caption15" class="cell_1" style="left:290px; top:640px; width:100px; height:23px; ">이전결과일</caption>
  1862. <caption id="caption16" class="cell_1" style="left:290px; top:664px; width:100px; height:23px; ">검사장비</caption>
  1863. <datagrid id="grd_testlist" nodeset="/root/main/testinfo/patlist" class="datagrid2" autoresize="true" backcoloralternate="transparent" caption="^작업번호^접수일시^바코드번호^등록번호^성명^Sex/Age^의뢰의사^진료과^병동/병실^inptrslt1^inptrslt12^inptrslt3^inptrslt4^inptrslt5^inptrslt6^inptrslt7^inptrslt8^inptrslt9^inptrslt10^inptrslt11^inptrslt12^inptrslt13^inptrslt14^inptrslt15^inptrslt16^inptrslt17^inptrslt18^inptrslt19^inptrslt20^inptrslt21^inptrslt22^inptrslt23^inptrslt24^inptrslt25^inptrslt26^inptrslt27^inptrslt28^inptrslt29^inptrslt30" colsep="^" colwidth="20, 0, 100, 98, 80, 70, 55, 70, 70, 70, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60" dataheight="23" defaultrows="1" ellipsis="true" frozencols="10" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="32" rowsep="|" selectionmode="free" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:0px; top:100px; width:1194px; height:460px; ">
  1864. <col checkvalue="true,false" ref="chk" type="checkbox"/>
  1865. <col ref="workno"/>
  1866. <col ref="spcacptdt" visibility="visible" format="9999-99-99"/>
  1867. <col ref="bcno"/>
  1868. <col ref="pid"/>
  1869. <col ref="patnm"/>
  1870. <col ref="sexage"/>
  1871. <col ref="orddrnm"/>
  1872. <col ref="orddeptnm"/>
  1873. <col ref="wardroom"/>
  1874. <col ref="inptrslt1" type="input"/>
  1875. <col ref="inptrslt2" type="input"/>
  1876. <col ref="inptrslt3" type="input"/>
  1877. <col ref="inptrslt4" type="input"/>
  1878. <col ref="inptrslt5" type="input"/>
  1879. <col ref="inptrslt6" type="input"/>
  1880. <col ref="inptrslt7" type="input"/>
  1881. <col ref="inptrslt8" type="input"/>
  1882. <col ref="inptrslt9" type="input"/>
  1883. <col ref="inptrslt10" type="input"/>
  1884. <col ref="inptrslt11" type="input"/>
  1885. <col ref="inptrslt12" type="input"/>
  1886. <col ref="inptrslt13" type="input"/>
  1887. <col ref="inptrslt14" type="input"/>
  1888. <col ref="inptrslt15" type="input"/>
  1889. <col ref="inptrslt16" type="input"/>
  1890. <col ref="inptrslt17" type="input"/>
  1891. <col ref="inptrslt18" type="input"/>
  1892. <col ref="inptrslt19" type="input"/>
  1893. <col ref="inptrslt20" type="input"/>
  1894. <col ref="inptrslt21" type="input"/>
  1895. <col ref="inptrslt22" type="input"/>
  1896. <col ref="inptrslt23" type="input"/>
  1897. <col ref="inptrslt24" type="input"/>
  1898. <col ref="inptrslt25" type="input"/>
  1899. <col ref="inptrslt26" type="input"/>
  1900. <col ref="inptrslt27" type="input"/>
  1901. <col ref="inptrslt28" type="input"/>
  1902. <col ref="inptrslt29" type="input"/>
  1903. <col ref="inptrslt30" type="input"/>
  1904. <script type="javascript" ev:event="onclick">
  1905. <![CDATA[
  1906. if((grd_testlist.isCell(event.target) && grd_testlist.row >= grd_testlist.fixedRows) && (grd_testlist.col >= 11 )){
  1907. fPatGridClick(grd_testlist.row,grd_testlist.col);
  1908. } else if(grd_testlist.col == 1) {
  1909. fSelectCancle();
  1910. }
  1911. ]]>
  1912. </script>
  1913. <script type="javascript" ev:event="onkeypress">
  1914. <![CDATA[
  1915. fGridKeyEvent();
  1916. ]]>
  1917. </script>
  1918. <script type="javascript" ev:event="onmousedown">
  1919. <![CDATA[
  1920. fGetMouseDown();
  1921. ]]>
  1922. </script>
  1923. </datagrid>
  1924. <select1 id="cmb_sect" ref="/root/hidden/testcont/tsectcd" class="combo_default" appearance="minimal" style="left:828px; top:592px; width:137px; height:19px; ">
  1925. <choices>
  1926. <itemset nodeset="/root/hidden/testconttsectcd">
  1927. <label ref="nm"/>
  1928. <value ref="cd"/>
  1929. </itemset>
  1930. </choices>
  1931. <script type="javascript" ev:event="xforms-select">
  1932. <![CDATA[
  1933. fSelectTestContTsect("return");
  1934. fCMTPCD_ChangeNodeset2();
  1935. ]]>
  1936. </script>
  1937. </select1>
  1938. <select1 id="cmb_cmt" ref="/root/hidden/testcont/testcontcd" class="combo_default" appearance="minimal" style="left:967px; top:592px; width:208px; height:19px; ">
  1939. <choices>
  1940. <itemset nodeset="/root/init/LB0210">
  1941. <label ref="nm"/>
  1942. <value ref="cd"/>
  1943. </itemset>
  1944. </choices>
  1945. <script type="javascript" ev:event="xforms-select">
  1946. <![CDATA[
  1947. fSetCmt(grd_testlist.row,grd_testlist.col);
  1948. ]]>
  1949. </script>
  1950. </select1>
  1951. <button id="button3" class="icon_search" style="left:1176px; top:593px; width:16px; height:16px; background-image:../../../com/commonweb/images/icon_search.gif; ">
  1952. <caption/>
  1953. <script type="javascript" ev:event="DOMActivate">
  1954. <![CDATA[
  1955. modal("SMLLF00800");
  1956. model.removeNodeset("/root/init/LB0210");
  1957. fBaseInfoRef2("0210|");
  1958. var vSectcd = model.getValue("/root/main/testInfo/testlist/sectcd");
  1959. var vTsectcd = model.getValue("/root/main/testInfo/testlist/tsectcd");
  1960. fCMTPCD_ChangeNodeset(vSectcd, vTsectcd);
  1961. //fGrdReMake();
  1962. ]]>
  1963. </script>
  1964. </button>
  1965. <button id="button6" class="btn2_letter4" style="left:1130px; top:564px; width:64px; height:19px; ">
  1966. <caption>소견저장</caption>
  1967. <script type="javascript" ev:event="onclick">
  1968. <![CDATA[
  1969. fSetContCmt(grd_testlist.row,grd_testlist.col);
  1970. ]]>
  1971. </script>
  1972. </button>
  1973. <output id="output11" ref="/root/main/testinfo/spcinfo/medispclnm" class="output_fix" style="left:103px; top:720px; width:179px; height:19px; "/>
  1974. <caption id="caption23" class="cell_1" style="left:0px; top:719px; width:100px; height:23px; ">전문의</caption>
  1975. <output id="output12" ref="/root/main/testinfo/spcinfo/medispcldt" class="output_fix" style="left:393px; top:720px; width:179px; height:19px; "/>
  1976. <caption id="caption24" class="cell_1" style="left:290px; top:719px; width:100px; height:23px; ">확인일시</caption>
  1977. <textarea id="textarea2" ref="/root/main/testinfo/spcinfo/testcont" style="left:868px; top:612px; width:324px; height:65px; ">
  1978. <script type="javascript" ev:event="DOMFocusOut">
  1979. <![CDATA[
  1980. fSoGyeonJeoJang(1);
  1981. ]]>
  1982. </script>
  1983. <script type="javascript" ev:event="onclick">
  1984. <![CDATA[
  1985. textarea2.selBegin = (textarea2.value).length;
  1986. ]]>
  1987. </script>
  1988. </textarea>
  1989. <textarea id="text_testcmts" ref="/root/main/testinfo/spcinfo/testcmts" style="left:867px; top:678px; width:325px; height:64px; ">
  1990. <script type="javascript" ev:event="xforms-value-changed">
  1991. <![CDATA[
  1992. fSoGyeonJeoJang(2);
  1993. ]]>
  1994. </script>
  1995. <script type="javascript" ev:event="onclick">
  1996. <![CDATA[
  1997. text_testcmts.selBegin = (text_testcmts.value).length;
  1998. ]]>
  1999. </script>
  2000. </textarea>
  2001. <caption id="cap_1818" class="cell_1" style="left:828px; top:613px; width:38px; height:129px; ">
  2002. <![CDATA[
  2003. 시행
  2004. 부서
  2005. 검사
  2006. 항목]]>
  2007. </caption>
  2008. <select1 id="radio2" ref="/root/hidden/cmtflag" appearance="full" vcellspacing="38" overflow="visible" style="left:837px; top:603px; width:15px; height:107px; border-style:none; ">
  2009. <choices>
  2010. <item>
  2011. <label/>
  2012. <value>1</value>
  2013. </item>
  2014. <item>
  2015. <label/>
  2016. <value>2</value>
  2017. </item>
  2018. </choices>
  2019. </select1>
  2020. <caption id="caption25" class="tit_2" style="left:830px; top:570px; width:84px; height:13px; ">소견</caption>
  2021. <datagrid id="datagrid1" nodeset="/root/main/testinfo/testlist" class="datagrid2" visibility="hidden" caption="rkey^workno^bcno^pid^orddd^signno^cretno^orddeptcd^orddrid^execprcpuniqno^testcd^spccd^bufinptrslt^reptrslt^rsltunit^judgmark^panicmark^deltamark^criticalmark^alertmark^rsltmark^rsltstat^bfbcno^bflastreptdt^testeqmtcd^comment^tclskind^spcacptid^spcacptdt^spcacptnm^rsltrgsgid^rsltrgstdt^rsltrgstnm^mdlreptid^mdlreptdt^mdlreptnm^lastreptid^lastreptdt^lastreptnm^tclscd^bfinptrslt^bfreptrslt^rsltseq^prcpgenrflag^rsltkind^rsltintsize^rsltdcmlsize^rundkind^rvalflag^descrval^judgkind^userjudgchar1^userjudgchar2^userjudgchar3^panicflag^panicminval^panicmaxval^deltaflag^deltaminval^deltamaxval^deltaterm^criticflag^criticminval^criticmaxval^alertflag^alertminval^allertmaxval^alimitls^alimitflag^alimitminval^alimith^alimiths^alimitls^refl^refls^refh^refhs^reflt^rstinterval^iud^rsltupdtyn^spcscrnnm^inptrslt^testcmt" colsep="^" colwidth="150, 118, 104, 100, 73, 63, 53, 64, 76, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 100, 100, 100, 100" ellipsis="true" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:355px; width:1195px; height:150px; ">
  2022. <col ref="rkey"/>
  2023. <col ref="workno"/>
  2024. <col ref="bcno"/>
  2025. <col ref="pid"/>
  2026. <col ref="orddd"/>
  2027. <col ref="signno"/>
  2028. <col ref="cretno"/>
  2029. <col ref="orddeptcd"/>
  2030. <col ref="orddrid"/>
  2031. <col ref="execprcpuniqno"/>
  2032. <col ref="testcd"/>
  2033. <col ref="spccd"/>
  2034. <col ref="bufinptrslt"/>
  2035. <col ref="reptrslt"/>
  2036. <col ref="rsltunit"/>
  2037. <col ref="judgmark"/>
  2038. <col ref="panicmark"/>
  2039. <col ref="deltamark"/>
  2040. <col ref="criticalmark"/>
  2041. <col ref="alertmark"/>
  2042. <col ref="rsltmark"/>
  2043. <col ref="rsltstat"/>
  2044. <col ref="bfbcno"/>
  2045. <col ref="bflastreptdt"/>
  2046. <col ref="testeqmtcd"/>
  2047. <col ref="comment"/>
  2048. <col ref="tclskind"/>
  2049. <col ref="spcacptid"/>
  2050. <col ref="spcacptdt"/>
  2051. <col ref="spcacptnm"/>
  2052. <col ref="rsltrgsgid"/>
  2053. <col ref="rsltrgstdt"/>
  2054. <col ref="rsltrgstnm"/>
  2055. <col ref="mdlreptid"/>
  2056. <col ref="mdlreptdt"/>
  2057. <col ref="mdlreptnm"/>
  2058. <col ref="lastreptid"/>
  2059. <col ref="lastreptdt"/>
  2060. <col ref="lastreptnm"/>
  2061. <col ref="tclscd"/>
  2062. <col ref="bfinptrslt"/>
  2063. <col ref="bfreptrslt"/>
  2064. <col ref="rsltseq"/>
  2065. <col ref="prcpgenrflag"/>
  2066. <col ref="rsltkind"/>
  2067. <col ref="rsltintsize"/>
  2068. <col ref="rsltdcmlsize"/>
  2069. <col ref="rundkind"/>
  2070. <col ref="rvalflag"/>
  2071. <col ref="descrval"/>
  2072. <col ref="judgkind"/>
  2073. <col ref="userjudgchar1"/>
  2074. <col ref="userjudgchar2"/>
  2075. <col ref="userjudgchar3"/>
  2076. <col ref="panicflag"/>
  2077. <col ref="panicminval"/>
  2078. <col ref="panicmaxval"/>
  2079. <col ref="deltaflag"/>
  2080. <col ref="deltaminval"/>
  2081. <col ref="deltamaxval"/>
  2082. <col ref="deltaterm"/>
  2083. <col ref="criticflag"/>
  2084. <col ref="criticminval"/>
  2085. <col ref="criticmaxval"/>
  2086. <col ref="alertflag"/>
  2087. <col ref="alertminval"/>
  2088. <col ref="allertmaxval"/>
  2089. <col ref="alimitls"/>
  2090. <col ref="alimitflag"/>
  2091. <col ref="alimitminval"/>
  2092. <col ref="alimith"/>
  2093. <col ref="alimiths"/>
  2094. <col ref="alimitls"/>
  2095. <col ref="refl"/>
  2096. <col ref="refls"/>
  2097. <col ref="refh"/>
  2098. <col ref="refhs"/>
  2099. <col ref="reflt"/>
  2100. <col ref="rstinterval"/>
  2101. <col ref="iud"/>
  2102. <col ref="rsltupdtyn"/>
  2103. <col ref="spcscrnnm"/>
  2104. <col ref="inptrslt"/>
  2105. <col ref="testcmt"/>
  2106. </datagrid>
  2107. </group>
  2108. <group id="grp_btn" style="left:0px; top:13px; width:1195px; height:27px; ">
  2109. <line id="line17" class="line_6" style="x1:0px; y1:25px; x2:1194px; y2:25px; "/>
  2110. <button id="btn_lstrept" class="btn4_letter5" style="left:1034px; top:3px; width:92px; height:22px; ">
  2111. <caption>전문의확인</caption>
  2112. <script type="javascript" ev:event="onclick">
  2113. <![CDATA[
  2114. fSetMediSpcl();
  2115. ]]>
  2116. </script>
  2117. </button>
  2118. <button id="btn_cle" class="btn4_letter3" style="left:1127px; top:3px; width:68px; height:22px; ">
  2119. <caption>초기화</caption>
  2120. <script type="javascript" ev:event="onclick">
  2121. <![CDATA[
  2122. fSetInit(1);
  2123. ]]>
  2124. </script>
  2125. </button>
  2126. <button id="button4" class="btn4_letter4" style="left:952px; top:3px; width:80px; height:22px; ">
  2127. <caption>최종보고</caption>
  2128. <script type="javascript" ev:event="onclick">
  2129. <![CDATA[
  2130. fSetLstRept();
  2131. ]]>
  2132. </script>
  2133. </button>
  2134. </group>
  2135. <group id="group2" style="left:0px; top:0px; width:1195px; height:13px; ">
  2136. <caption id="caption17" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">On/Off 항목 결과보고</caption>
  2137. </group>
  2138. <script type="javascript" ev:event="onmenu">
  2139. <![CDATA[
  2140. var popupParam = event.description;
  2141. fOnmenu(popupParam);
  2142. ]]>
  2143. </script>
  2144. <textarea id="textarea3" ref="/root/hidden/textarea3" visibility="hidden" style="left:675px; top:395px; width:500px; height:210px; "/>
  2145. </xhtml:body>
  2146. </xhtml:html>