SMLPR01100_검사결과일괄확인.xfdl 83 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMLPR01100" position="absolute 0 0 1256 805" titletext="검사결과 일괄확인" onload="SMLPR01100_onload">
  5. <Layouts>
  6. <Layout>
  7. <Grid id="grd_testrsltref" taborder="17" useinputpanel="false" position="absolute 292 178 1256 771" anchor="top right bottom" onmouseleave="grd_testrsltref_onmouseleave" autofittype="col" binddataset="ds_grd_testrsltref" onrbuttondown="grd_testrsltref_onrbuttondown">
  8. <Formats>
  9. <Format id="default">
  10. <Columns>
  11. <Column size="897"/>
  12. <Column size="0"/>
  13. <Column size="0"/>
  14. <Column size="0"/>
  15. <Column size="0"/>
  16. <Column size="0"/>
  17. <Column size="0"/>
  18. <Column size="0"/>
  19. </Columns>
  20. <Rows>
  21. <Row size="22" band="head"/>
  22. <Row size="28"/>
  23. </Rows>
  24. <Band id="head">
  25. <Cell text="검 사 결 과 내 용"/>
  26. <Cell col="1" text="caption2"/>
  27. <Cell col="2" text="caption3"/>
  28. <Cell col="3" text="caption4"/>
  29. <Cell col="4" text="caption5"/>
  30. <Cell col="5" text="caption6"/>
  31. <Cell col="6" text="caption7"/>
  32. <Cell col="7" text="caption8"/>
  33. </Band>
  34. <Band id="body">
  35. <Cell style="align:left middle;padding:0 0 0 5;font:dotumche,9;" text="bind:reptrslt"/>
  36. <Cell col="1"/>
  37. <Cell col="2"/>
  38. <Cell col="3"/>
  39. <Cell col="4"/>
  40. <Cell col="5"/>
  41. <Cell col="6"/>
  42. <Cell col="7"/>
  43. <Cell col="8"/>
  44. <Cell col="9"/>
  45. </Band>
  46. </Format>
  47. </Formats>
  48. </Grid>
  49. <Div id="Div00" taborder="8" position="absolute 0 773 275 801" style="border:1 solid cornflowerblue ;">
  50. <Layouts>
  51. <Layout width="275" height="28"/>
  52. </Layouts>
  53. </Div>
  54. <Button id="btn_lastdiag" taborder="2" text="최종진단" onlbuttonup="btn_lastdiag_onlbuttonup" class="btn4" enable="false" position="absolute 1173 2 1253 22" anchor="top right" onclick="btn_lastdiag_onclick"/>
  55. <Static id="caption51" text="판독의지정" position="absolute 102 780 164 794" anchor="left bottom" style="align:center middle;"/>
  56. <Static id="caption53" class="color_7" position="absolute 180 779 195 794" anchor="left bottom" style="background:#ffb937ff;align:center middle;"/>
  57. <Static id="caption55" text="접수상태" position="absolute 198 780 248 794" anchor="left bottom"/>
  58. <Static id="caption47" text="범 례" class="cell_2" position="absolute 15 775 70 799" anchor="left bottom" style="background:#7cbbddff;padding:0 0 0 0;align:center middle;"/>
  59. <Static id="caption49" class="color_9" position="absolute 84 779 99 795" anchor="left bottom" style="background:#98fb98ff;"/>
  60. <Static id="caption6" text="검사결과 일괄확인" class="tit_1" position="absolute 2 2 179 25"/>
  61. <Static id="Static00" class="sta_DA_box" position="absolute 711 119 1253 145" anchor="left top right"/>
  62. <Static id="Static01" class="sta_DA_box" position="absolute 1 119 707 145"/>
  63. <Shape id="line6" class="line_3" position="absolute 705 147 1190 147"/>
  64. <Button id="button1" taborder="10" text="확 장" onlbuttonup="button1_onlbuttonup" class="btn2" position="absolute 165 155 215 175" anchor="top right"/>
  65. <Button id="button102" taborder="11" onclick="button102_onclick" onlbuttonup="button102_onlbuttonup" class="icon_left" position="absolute 219 155 245 175" anchor="top right"/>
  66. <Button id="button103" taborder="12" onclick="button103_onclick" onlbuttonup="button103_onlbuttonup" class="icon_right" position="absolute 248 155 274 175" anchor="top right"/>
  67. <Button id="btn_bloc" taborder="13" class="icon_search" position="absolute 1225 123 1245 143" anchor="top right" onclick="btn_bloc_onclick" onlbuttonup="btn_bloc_onlbuttonup"/>
  68. <Edit id="opt_testnmlist" taborder="14" readonly="true" position="absolute 713 123 1221 143" anchor="left top right"/>
  69. <Shape id="line4" class="line_1" position="absolute 705 120 1190 120"/>
  70. <Static id="caption1" text="선택 검사목록" class="tit_2" position="absolute 712 100 817 117"/>
  71. <Button id="btn_pop" taborder="15" text="임상정보조회" onlbuttonup="btn_pop_onlbuttonup" class="btn2" position="absolute 1081 155 1173 175" anchor="top right"/>
  72. <Button id="btn_imgview" taborder="16" text="이미지보기" onlbuttonup="btn_imgview_onlbuttonup" class="btn2" position="absolute 1176 155 1256 175" anchor="top right" onclick="btn_imgview_onclick"/>
  73. <Shape id="line1" class="line_3" position="absolute 0 147 701 147"/>
  74. <Shape id="line5" class="line_1" position="absolute 276 173 1194 173"/>
  75. <Static id="caption11" text="검사결과" class="tit_2" position="absolute 292 158 366 178"/>
  76. <Shape id="line2" class="line_1" position="absolute 0 173 271 173"/>
  77. <Static id="caption5" text="병리번호 목록" class="tit_2" position="absolute 0 158 104 174"/>
  78. <Div id="grp_sea" anchor="left top right" taborder="18" style="align:center top;" class="div_SA" position="absolute 0 26 1253 93">
  79. <Layouts>
  80. <Layout>
  81. <Shape id="line13" linetype="vertical" class="line_4" position="absolute 1108 7 1108 51" anchor="default"/>
  82. <Static id="caption7" text="결과일자" class="search_name" position="absolute 8 10 82 30" anchor="default"/>
  83. <Static id="caption9" text="판독의사" class="search_name" visible="false" position="absolute 685 10 759 30" anchor="default"/>
  84. <Button id="btn_search" taborder="20" text="조회" class="btn1" position="absolute 1188 10 1244 30" anchor="top right" onclick="grp_sea_btn_search_onclick"/>
  85. <Static id="caption20" text="작업구분" class="search_name" position="absolute 8 38 99 58" anchor="default"/>
  86. <Combo id="cmb_readdr" taborder="21" visible="false" position="absolute 759 10 874 30" anchor="default"/>
  87. <Static id="caption2" text="접수상태포함구분 :" class="search_name" position="absolute 366 10 489 30" anchor="default"/>
  88. <cp_checkboxList id="cbo_slipkindcd" titletext="CheckBox List" taborder="23" onmouseleave="grp_biz_chkbox1_onmouseleave" onmouseenter="grp_biz_chkbox1_onmouseenter" scrollbars="none" dragscrolltype="none" position="absolute 79 37 1236 58" style="background:transparent;" col="1" row="1" cellspacing="2" vcellspacing="0" itemWidth="100" itemHeight="20" overflow="visible" anchor="default"/>
  89. <CheckBox id="chk_prersltflag" taborder="24" text="예비결과" truevalue="1" position="absolute 494 10 568 30" anchor="default"/>
  90. <CheckBox id="chk_diagwait" taborder="25" text="진단대기" truevalue="1" position="absolute 578 10 652 30" anchor="default"/>
  91. <Calendar id="Calendar00" taborder="27" position="absolute 79 10 183 31"/>
  92. <Calendar id="Calendar01" taborder="28" position="absolute 205 10 309 31" onkeyup="grp_sea_Calendar01_onkeyup"/>
  93. <Static id="caption4" text="~" position="absolute 189 12 199 32" style="align:center;"/>
  94. </Layout>
  95. </Layouts>
  96. </Div>
  97. <Shape id="line3" class="line_1" position="absolute 0 120 701 120"/>
  98. <Static id="caption4" text="판독의사 설정" class="tit_2" position="absolute 0 100 106 120"/>
  99. <Static id="cap_readdrid4" text="판독의사4" class="cell_1" position="absolute 531 121 601 145" style="align:left middle;"/>
  100. <Combo id="cmb_readdrid4" taborder="19" position="absolute 604 123 704 143"/>
  101. <Combo id="cmb_readdrid3" taborder="20" position="absolute 428 123 528 143"/>
  102. <Static id="cap_readdrid3" text="판독의사3" class="cell_1" position="absolute 355 121 425 145" style="align:left middle;"/>
  103. <Combo id="cmb_readdrid2" taborder="21" position="absolute 252 123 352 143"/>
  104. <Static id="cap_readdrid2" text="판독의사2" class="cell_1" position="absolute 179 121 249 145" style="align:left middle;"/>
  105. <Combo id="cmb_readdrid1" taborder="22" position="absolute 76 123 176 143"/>
  106. <Static id="cap_readdrid1" text="판독의사1" class="cell_1" position="absolute 3 121 73 145" style="align:left middle;"/>
  107. <Grid id="grd_rsltptnolist" class="datagrid2" taborder="4" useinputpanel="false" position="absolute 0 178 274 771" anchor="all" onclick="grd_rsltptnolist_onclick" autosizingtype="row" cellmovingtype="col" cellsizingtype="row" oncellclick="grd_rsltptnolist_oncellclick" onmousemove="grd_rsltptnolist_onmousemove" autofittype="none" binddataset="ds_grd_rsltptnolist" onrbuttondown="grd_rsltptnolist_onrbuttondown" onheadclick="grd_rsltptnolist_onheadclick" extendsizetype="row" cellclickbound="cell" scrollpixel="all" autoenter="select">
  108. <Formats>
  109. <Format id="default">
  110. <Columns>
  111. <Column size="28"/>
  112. <Column size="25"/>
  113. <Column size="0"/>
  114. <Column size="0"/>
  115. <Column size="0"/>
  116. <Column size="0"/>
  117. <Column size="40"/>
  118. <Column size="96"/>
  119. <Column size="76"/>
  120. <Column size="0"/>
  121. <Column size="81"/>
  122. <Column size="62"/>
  123. <Column size="0"/>
  124. <Column size="0"/>
  125. <Column size="0"/>
  126. <Column size="0"/>
  127. <Column size="0"/>
  128. <Column size="0"/>
  129. <Column size="0"/>
  130. <Column size="0"/>
  131. <Column size="0"/>
  132. <Column size="0"/>
  133. <Column size="0"/>
  134. <Column size="0"/>
  135. <Column size="0"/>
  136. <Column size="0"/>
  137. <Column size="0"/>
  138. <Column size="0"/>
  139. <Column size="0"/>
  140. <Column size="0"/>
  141. <Column size="0"/>
  142. <Column size="0"/>
  143. <Column size="0"/>
  144. <Column size="0"/>
  145. <Column size="80"/>
  146. <Column size="260"/>
  147. <Column size="100"/>
  148. <Column size="260"/>
  149. <Column size="70"/>
  150. <Column size="70"/>
  151. <Column size="70"/>
  152. <Column size="50"/>
  153. <Column size="50"/>
  154. <Column size="59"/>
  155. <Column size="60"/>
  156. <Column size="84"/>
  157. <Column size="50"/>
  158. <Column size="65"/>
  159. <Column size="0"/>
  160. <Column size="0"/>
  161. <Column size="150"/>
  162. </Columns>
  163. <Rows>
  164. <Row size="32" band="head"/>
  165. <Row size="22"/>
  166. </Rows>
  167. <Band id="head">
  168. <Cell/>
  169. <Cell col="1" displaytype="checkbox" edittype="checkbox"/>
  170. <Cell col="2" text="기관코드"/>
  171. <Cell col="3" text="ptno"/>
  172. <Cell col="4" text="병리번호"/>
  173. <Cell col="5" text="관련병리번호"/>
  174. <Cell col="6" text="지연"/>
  175. <Cell col="7" text="병리번호"/>
  176. <Cell col="8" text="관련&#13;&#10;병리번호"/>
  177. <Cell col="9" text="관계"/>
  178. <Cell col="10" text="환자명"/>
  179. <Cell col="11" text="등록번호"/>
  180. <Cell col="12" text="readdrlist"/>
  181. <Cell col="13" text="readdrid1"/>
  182. <Cell col="14" text="readdrid2"/>
  183. <Cell col="15" text="readdrid3"/>
  184. <Cell col="16" text="readdrid4"/>
  185. <Cell col="17" text="rsltrgstno"/>
  186. <Cell col="18" text="doctrgstdd"/>
  187. <Cell col="19" text="doctrgstno"/>
  188. <Cell col="20" text="workflagcd"/>
  189. <Cell col="21" text="prcpgenrflag"/>
  190. <Cell col="22" text="extrpartcd"/>
  191. <Cell col="23" text="extrmthdcd"/>
  192. <Cell col="24" text="diagcd"/>
  193. <Cell col="25" text="orddd"/>
  194. <Cell col="26" text="cretno"/>
  195. <Cell col="27" text="orddeptcd"/>
  196. <Cell col="28" text="orddrid"/>
  197. <Cell col="29" text="bizflagcd"/>
  198. <Cell col="30" text="차수"/>
  199. <Cell col="31" text="mpphonno"/>
  200. <Cell col="32" text="diagcnts"/>
  201. <Cell col="33" text="addreadrslt"/>
  202. <Cell col="34" text="M코드"/>
  203. <Cell col="35" text="진단"/>
  204. <Cell col="36" text="대표검체"/>
  205. <Cell col="37" text="처방명"/>
  206. <Cell col="38" text="처방일자"/>
  207. <Cell col="39" text="접수일자"/>
  208. <Cell col="40" text="결과&#10;등록일자"/>
  209. <Cell col="41" text="육안&#10;검사자"/>
  210. <Cell col="42" text="판독의"/>
  211. <Cell col="43" text="육안&#13;&#10;사진유무"/>
  212. <Cell col="44" text="조직검사"/>
  213. <Cell col="45" text="진료과"/>
  214. <Cell col="46" text="주치의"/>
  215. <Cell col="47" text="추가/수정&#13;&#10;진단구분"/>
  216. <Cell col="48" text="localdd"/>
  217. <Cell col="49" text="localtm"/>
  218. <Cell col="50" text="지연사유"/>
  219. </Band>
  220. <Band id="body">
  221. <Cell celltype="head" text="expr:currow + 1"/>
  222. <Cell col="1" displaytype="checkbox" edittype="checkbox" style="background:BIND(backcolor);background2:BIND(backcolor);" text="bind:choi"/>
  223. <Cell col="2" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  224. <Cell col="3" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  225. <Cell col="4" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  226. <Cell col="5" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  227. <Cell col="6" style="align:center middle;background:BIND(backcolor);background2:BIND(backcolor);" text="bind:delayyn"/>
  228. <Cell col="7" style="align:center middle;background:BIND(backcolor);background2:BIND(backcolor);" text="bind:dispptno"/>
  229. <Cell col="8" style="align:center middle;background:BIND(backcolor);background2:BIND(backcolor);" text="bind:relatptno"/>
  230. <Cell col="9" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  231. <Cell col="10" style="align:center middle;background:BIND(backcolor);background2:BIND(backcolor);" text="bind:patnm"/>
  232. <Cell col="11" style="background:BIND(backcolor);background2:BIND(backcolor);" text="bind:pid"/>
  233. <Cell col="12" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  234. <Cell col="13" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  235. <Cell col="14" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  236. <Cell col="15" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  237. <Cell col="16" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  238. <Cell col="17" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  239. <Cell col="18" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  240. <Cell col="19" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  241. <Cell col="20" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  242. <Cell col="21" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  243. <Cell col="22" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  244. <Cell col="23" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  245. <Cell col="24" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  246. <Cell col="25" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  247. <Cell col="26" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  248. <Cell col="27" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  249. <Cell col="28" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  250. <Cell col="29" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  251. <Cell col="30" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  252. <Cell col="31" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  253. <Cell col="32" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  254. <Cell col="33" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  255. <Cell col="34" style="align:left middle;background:BIND(backcolor);background2:BIND(backcolor);" text="bind:pdiagcnt"/>
  256. <Cell col="35" style="align:left top;padding:0 0 0 5;background:BIND(backcolor);background2:BIND(backcolor);" text="bind:cntrsltcnts" autosizerow="limitmin"/>
  257. <Cell col="36" style="align:left middle;background:BIND(backcolor);background2:BIND(backcolor);" text="bind:spccd"/>
  258. <Cell col="37" style="align:left middle;padding:0 0 0 5;background:BIND(backcolor);background2:BIND(backcolor);" text="bind:extrmthdcnts2"/>
  259. <Cell col="38" style="align:center middle;background:BIND(backcolor);background2:BIND(backcolor);" text="bind:prcpdd"/>
  260. <Cell col="39" style="align:center middle;background:BIND(backcolor);background2:BIND(backcolor);" text="bind:acptdd"/>
  261. <Cell col="40" style="align:center middle;background:BIND(backcolor);background2:BIND(backcolor);" text="bind:rsltrgstdd"/>
  262. <Cell col="41" style="align:center middle;background:BIND(backcolor);background2:BIND(backcolor);" text="bind:grosdrid"/>
  263. <Cell col="42" style="align:center middle;background:BIND(backcolor);background2:BIND(backcolor);" text="bind:readnm"/>
  264. <Cell col="43" style="align:center middle;background:BIND(backcolor);background2:BIND(backcolor);" text="bind:grospic"/>
  265. <Cell col="44" style="align:center middle;background:BIND(backcolor);background2:BIND(backcolor);" text="bind:chogic"/>
  266. <Cell col="45" style="align:left middle;background:BIND(backcolor);background2:BIND(backcolor);" text="bind:orddeptnm"/>
  267. <Cell col="46" style="align:center middle;background:BIND(backcolor);background2:BIND(backcolor);" text="bind:orddrnm"/>
  268. <Cell col="47" style="background:BIND(backcolor);background2:BIND(backcolor);" text="bind:rsltkindflag"/>
  269. <Cell col="48" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  270. <Cell col="49" style="background:BIND(backcolor);background2:BIND(backcolor);"/>
  271. <Cell col="50" displaytype="combo" edittype="combo" style="background:BIND(backcolor);background2:BIND(backcolor);" text="bind:delayresncd" combodataset="ds_delayresn" combocodecol="resncd" combodatacol="resncnts" combodisplayrowcount="9"/>
  272. <Cell col="51"/>
  273. <Cell col="52"/>
  274. <Cell col="53"/>
  275. <Cell col="54"/>
  276. <Cell col="55"/>
  277. </Band>
  278. </Format>
  279. </Formats>
  280. </Grid>
  281. <Grid id="grd_testlist" taborder="6" useinputpanel="false" position="absolute 712 187 1086 561" visible="false" onheadclick="grd_testlist_onheadclick" onmousemove="grd_testlist_onmousemove" autofittype="col">
  282. <Formats>
  283. <Format id="default">
  284. <Columns>
  285. <Column size="27"/>
  286. <Column size="0"/>
  287. <Column size="72"/>
  288. <Column size="245"/>
  289. <Column size="0"/>
  290. </Columns>
  291. <Rows>
  292. <Row size="22" band="head"/>
  293. <Row size="20"/>
  294. </Rows>
  295. <Band id="head">
  296. <Cell displaytype="checkbox" edittype="checkbox" expr="0"/>
  297. <Cell col="1" text="기관코드"/>
  298. <Cell col="2" text="코드"/>
  299. <Cell col="3" text="명칭"/>
  300. <Cell col="4" text="약어"/>
  301. </Band>
  302. <Band id="body">
  303. <Cell displaytype="checkbox" edittype="checkbox" text="bind:choi"/>
  304. <Cell col="1"/>
  305. <Cell col="2" text="bind:testcd"/>
  306. <Cell col="3" style="align:left middle;padding:0 0 0 5;" text="bind:testengnm"/>
  307. <Cell col="4"/>
  308. <Cell col="5"/>
  309. </Band>
  310. </Format>
  311. </Formats>
  312. </Grid>
  313. <Button id="Button00" taborder="5" text=" 확 인" position="absolute 969 524 1027 544" class="btn2" visible="false" onlbuttonup="Button00_onlbuttonup"/>
  314. <Button id="Button01" taborder="7" text=" 닫 기" position="absolute 1031 524 1085 544" class="btn2" visible="false" onlbuttonup="Button01_onlbuttonup"/>
  315. <Static id="caption00" text="지연사유" class="tit_2" position="absolute 713 156 786 173"/>
  316. <Combo id="cmb_delayresn" taborder="23" position="absolute 795 153 1078 174" innerdataset="ds_delayresn" index="-1" datacolumn="resncnts" codecolumn="resncd" onitemchanged="cmb_delayresn_onitemchanged"/>
  317. </Layout>
  318. </Layouts>
  319. <Objects>
  320. <Dataset id="ds_initData" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  321. <ColumnInfo>
  322. <Column id="rsltfromdd" type="STRING" size="256"/>
  323. <Column id="rslttodd" type="STRING" size="256"/>
  324. <Column id="readdrid1" type="STRING" size="256"/>
  325. <Column id="readdrid2" type="STRING" size="256"/>
  326. <Column id="readdrid3" type="STRING" size="256"/>
  327. <Column id="readdrid4" type="STRING" size="256"/>
  328. <Column id="testnmlist" type="STRING" size="256"/>
  329. <Column id="testcdlist" type="STRING" size="256"/>
  330. <Column id="diagwait" type="STRING" size="256"/>
  331. <Column id="prersltflag" type="STRING" size="256"/>
  332. <Column id="chkall" type="STRING" size="256"/>
  333. </ColumnInfo>
  334. <Rows>
  335. <Row>
  336. <Col id="readdrid2">00</Col>
  337. <Col id="readdrid3">00</Col>
  338. <Col id="readdrid4">00</Col>
  339. <Col id="prersltflag">1</Col>
  340. <Col id="diagwait"/>
  341. <Col id="chkall">false</Col>
  342. </Row>
  343. </Rows>
  344. </Dataset>
  345. <Dataset id="ds_grd_rsltptnolist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  346. <ColumnInfo>
  347. <Column id="choi" type="STRING" size="256" sumtext="선택"/>
  348. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  349. <Column id="ptno" type="STRING" size="256" sumtext="병리번호"/>
  350. <Column id="relatptno" type="STRING" size="256" sumtext="관련병리번호"/>
  351. <Column id="dispptno" type="STRING" size="256" sumtext="표시병리번호"/>
  352. <Column id="relation" type="STRING" size="256" sumtext="관련병리번호관계"/>
  353. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  354. <Column id="patnm" type="STRING" size="256" sumtext="환자명"/>
  355. <Column id="readdrlist" type="STRING" size="256" sumtext="판독의사목록"/>
  356. <Column id="readdrid1" type="STRING" size="256" sumtext="판독의사ID"/>
  357. <Column id="readdrid2" type="STRING" size="256" sumtext="판독의사ID"/>
  358. <Column id="readdrid3" type="STRING" size="256" sumtext="판독의사ID"/>
  359. <Column id="readdrid4" type="STRING" size="256" sumtext="판독의사ID"/>
  360. <Column id="rsltrgstno" type="STRING" size="256" sumtext="결과등록번호"/>
  361. <Column id="doctrgstdd" type="STRING" size="256" sumtext="판독등록일자"/>
  362. <Column id="doctrgstno" type="STRING" size="256" sumtext="판독등록번호"/>
  363. <Column id="workflagcd" type="STRING" size="256" sumtext="작업구분코드"/>
  364. <Column id="prcpgenrflag" type="STRING" size="256" sumtext="처방발생구분"/>
  365. <Column id="extrpartcnts" type="STRING" size="256" sumtext="채취부위"/>
  366. <Column id="extrmthdcnts" type="STRING" size="256" sumtext="채취방법"/>
  367. <Column id="diagcd" type="STRING" size="256" sumtext="진단내용"/>
  368. <Column id="orddd" type="STRING" size="256" sumtext="진료/입원일자"/>
  369. <Column id="cretno" type="STRING" size="256" sumtext="원무키정보"/>
  370. <Column id="orddeptcd" type="STRING" size="256" sumtext="진료과코드"/>
  371. <Column id="orddrid" type="STRING" size="256" sumtext="진료의ID"/>
  372. <Column id="bizflagcd" type="STRING" size="256" sumtext="업무구분코드"/>
  373. <Column id="addrsltdg" type="STRING" size="256" sumtext="추가결과차수"/>
  374. <Column id="mpphonno" type="STRING" size="256" sumtext="진료의연락처"/>
  375. <Column id="diagcnts" type="STRING" size="256" sumtext="진단내용"/>
  376. <Column id="addreadrslt" type="STRING" size="256" sumtext="추가결과진단내용"/>
  377. <Column id="pdiagcnt" type="STRING" size="256" sumtext="PNIS_M코드"/>
  378. <Column id="cntrsltcnts" type="STRING" size="256" sumtext="진단"/>
  379. <Column id="spccd" type="STRING" size="256" sumtext="대표검체"/>
  380. <Column id="extrmthdcnts2" type="STRING" size="256" sumtext="처방명"/>
  381. <Column id="prcpdd" type="STRING" size="256" sumtext="처방일자"/>
  382. <Column id="acptdd" type="STRING" size="256" sumtext="접수일자"/>
  383. <Column id="rsltrgstdd" type="STRING" size="256" sumtext="결과등록일자"/>
  384. <Column id="grosdrid" type="STRING" size="256" sumtext="육안검사자"/>
  385. <Column id="readnm" type="STRING" size="256" sumtext="판독의"/>
  386. <Column id="grospic" type="STRING" size="256" sumtext="육안사진유무"/>
  387. <Column id="chogic" type="STRING" size="256" sumtext="조직검사"/>
  388. <Column id="orddeptnm" type="STRING" size="256" sumtext="진료과"/>
  389. <Column id="orddrnm" type="STRING" size="256" sumtext="주치의"/>
  390. <Column id="ptnocp" type="STRING" size="256" sumtext="병리번호copy"/>
  391. <Column id="relatptnocp" type="STRING" size="256" sumtext="관련병리번호copy"/>
  392. <Column id="localdd" type="STRING" size="256" sumtext="일자"/>
  393. <Column id="localtm" type="STRING" size="256" sumtext="시간"/>
  394. <Column id="rsltkindflag" type="STRING" size="256" sumtext="추가/수정진단구분"/>
  395. <Column id="delayresncd" type="STRING" size="256" sumtext="지연사유코드"/>
  396. <Column id="backcolor" type="STRING" size="256"/>
  397. <Column id="delayyn" type="STRING" size="256"/>
  398. </ColumnInfo>
  399. </Dataset>
  400. <Dataset id="ds_grd_testrsltref" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  401. <ColumnInfo>
  402. <Column id="reptrslt" type="STRING" size="256" sumtext="검사결과내용"/>
  403. <Column id="level" type="STRING" size="256" sumtext="Level"/>
  404. <Column id="judgmark" type="STRING" size="256" sumtext="JudgMark"/>
  405. <Column id="tkdt" type="STRING" size="256" sumtext="접수일자"/>
  406. <Column id="rsltdd" type="STRING" size="256" sumtext="결과일"/>
  407. <Column id="suppdept" type="STRING" size="256" sumtext="지원부서"/>
  408. <Column id="pacsno" type="STRING" size="256" sumtext="Pacs No"/>
  409. <Column id="spcno" type="STRING" size="256" sumtext="검체번호"/>
  410. </ColumnInfo>
  411. </Dataset>
  412. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  413. <ColumnInfo>
  414. <Column id="rsltfromdd" type="STRING" size="256"/>
  415. <Column id="rslttodd" type="STRING" size="256"/>
  416. <Column id="userdeptcd" type="STRING" size="256"/>
  417. <Column id="workflagcd" type="STRING" size="256"/>
  418. <Column id="readdrid" type="STRING" size="256"/>
  419. </ColumnInfo>
  420. <Rows>
  421. <Row/>
  422. </Rows>
  423. </Dataset>
  424. <Dataset id="ds_init_readid" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  425. <ColumnInfo>
  426. <Column id="readdrnm1" type="STRING" size="256"/>
  427. <Column id="readdrid1" type="STRING" size="256"/>
  428. <Column id="readdrnm2" type="STRING" size="256"/>
  429. <Column id="readdrid2" type="STRING" size="256"/>
  430. <Column id="readdrnm3" type="STRING" size="256"/>
  431. <Column id="readdrid3" type="STRING" size="256"/>
  432. <Column id="readdrnm4" type="STRING" size="256"/>
  433. <Column id="readdrid4" type="STRING" size="256"/>
  434. </ColumnInfo>
  435. <Rows>
  436. <Row/>
  437. </Rows>
  438. </Dataset>
  439. <Dataset id="ds_delayreadtime" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  440. <ColumnInfo>
  441. <Column id="ptno" type="STRING" size="256" sumtext="병리번호"/>
  442. <Column id="readdaycnts" type="STRING" size="256" sumtext="판독시간"/>
  443. <Column id="oneprcpcnts" type="STRING" size="256" sumtext="원처방 갯수"/>
  444. <Column id="addprcpcnts" type="STRING" size="256" sumtext="추가처방 갯수(조직/세포를 제외한 모든 처방)"/>
  445. <Column id="delayonetime" type="STRING" size="256" sumtext="원처방 지연시간"/>
  446. <Column id="delayaddtime" type="STRING" size="256" sumtext="추가처방 지연시간"/>
  447. </ColumnInfo>
  448. </Dataset>
  449. <Dataset id="ds_main_testrsltinfo" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  450. <ColumnInfo>
  451. <Column id="reptrslt" type="STRING" size="256" sumtext="검사결과내용"/>
  452. <Column id="level" type="STRING" size="256" sumtext="Level"/>
  453. <Column id="judgmark" type="STRING" size="256" sumtext="JudgMark"/>
  454. <Column id="tkdt" type="STRING" size="256" sumtext="접수일자"/>
  455. <Column id="rsltdd" type="STRING" size="256" sumtext="결과일"/>
  456. <Column id="suppdept" type="STRING" size="256" sumtext="지원부서"/>
  457. <Column id="pacsno" type="STRING" size="256" sumtext="Pacs No"/>
  458. <Column id="spcno" type="STRING" size="256" sumtext="검체번호"/>
  459. </ColumnInfo>
  460. </Dataset>
  461. <Dataset id="ds_main_patbasicinfo" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  462. <ColumnInfo>
  463. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  464. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  465. <Column id="patnm" type="STRING" size="256" sumtext="환자명"/>
  466. <Column id="sexage" type="STRING" size="256" sumtext="성별/나이"/>
  467. <Column id="wardroom" type="STRING" size="256" sumtext="병동/병실"/>
  468. <Column id="orddd" type="STRING" size="256" sumtext="진료/입원일자"/>
  469. <Column id="cretno" type="STRING" size="256" sumtext="원무키"/>
  470. <Column id="cnclresn" type="STRING" size="256" sumtext="전송취소사유"/>
  471. <Column id="signno" type="STRING" size="256" sumtext="인증번호"/>
  472. <Column id="title" type="STRING" size="256"/>
  473. </ColumnInfo>
  474. </Dataset>
  475. <Dataset id="ds_imginfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  476. <Dataset id="ds_send_signdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  477. <ColumnInfo>
  478. <Column id="instcd" type="STRING" size="256"/>
  479. <Column id="pid" type="STRING" size="256"/>
  480. <Column id="ptno" type="STRING" size="256"/>
  481. <Column id="orddd" type="STRING" size="256"/>
  482. <Column id="signno" type="STRING" size="256"/>
  483. <Column id="cretno" type="STRING" size="256"/>
  484. <Column id="recdd" type="STRING" size="256"/>
  485. <Column id="rectm" type="STRING" size="256"/>
  486. <Column id="recsaveflag" type="STRING" size="256"/>
  487. <Column id="signflag" type="STRING" size="256"/>
  488. <Column id="signgenrflag" type="STRING" size="256"/>
  489. <Column id="formcd" type="STRING" size="256"/>
  490. <Column id="orddeptcd" type="STRING" size="256"/>
  491. <Column id="orddrid" type="STRING" size="256"/>
  492. <Column id="signbfcnts" type="STRING" size="256"/>
  493. <Column id="signaftcnts" type="STRING" size="256"/>
  494. </ColumnInfo>
  495. <Rows>
  496. <Row/>
  497. </Rows>
  498. </Dataset>
  499. <Dataset id="ds_singinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  500. <ColumnInfo>
  501. <Column id="signno" type="STRING" size="256" sumtext="인증번호"/>
  502. <Column id="histno" type="STRING" size="256" sumtext="인증이력번호"/>
  503. </ColumnInfo>
  504. </Dataset>
  505. <Dataset id="ds_delayresn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  506. <ColumnInfo>
  507. <Column id="instcd" type="STRING" size="256"/>
  508. <Column id="baseflagcd" type="STRING" size="256"/>
  509. <Column id="resncd" type="STRING" size="256"/>
  510. <Column id="resncnts" type="STRING" size="256"/>
  511. <Column id="dispseqno" type="STRING" size="256"/>
  512. </ColumnInfo>
  513. </Dataset>
  514. </Objects>
  515. <Bind>
  516. <BindItem id="item0" compid="opt_testnmlist" propid="value" datasetid="ds_initData" columnid="testnmlist"/>
  517. <BindItem id="item1" compid="grp_sea.Calendar00" propid="value" datasetid="ds_initData" columnid="rsltfromdd"/>
  518. <BindItem id="item2" compid="grp_sea.Calendar01" propid="value" datasetid="ds_initData" columnid="rslttodd"/>
  519. <BindItem id="item3" compid="grp_sea.chk_prersltflag" propid="value" datasetid="ds_initData" columnid="prersltflag"/>
  520. <BindItem id="item4" compid="grp_sea.chk_diagwait" propid="value" datasetid="ds_initData" columnid="diagwait"/>
  521. <BindItem id="item5" compid="cmb_readdrid1" propid="value" datasetid="ds_init_readid" columnid="readdrid1"/>
  522. <BindItem id="item6" compid="cmb_readdrid2" propid="value" datasetid="ds_init_readid" columnid="readdrid2"/>
  523. <BindItem id="item7" compid="cmb_readdrid3" propid="value" datasetid="ds_init_readid" columnid="readdrid3"/>
  524. <BindItem id="item8" compid="cmb_readdrid4" propid="value" datasetid="ds_init_readid" columnid="readdrid4"/>
  525. </Bind>
  526. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  527. * System Name :
  528. * Job Name :
  529. * Creator :
  530. * Make Date : 2015-11-13
  531. * Description :
  532. *---------------------------------------------------------------------------------------
  533. * Modify Date Modifier Modify Description
  534. *---------------------------------------------------------------------------------------
  535. * 2015-11-13 Live Converter TF->XP
  536. *
  537. *---------------------------------------------------------------------------------------
  538. ****************************************************************************************/
  539. include "com_commonxp::comm_main.xjs";
  540. include "lis_commonxp::LPZ001.xjs";
  541. include "lis_commonxp::LLZ001.xjs";
  542. include "emr_carecomxp::ENRSignEngine.xjs";
  543. var grid_expandYn = "N";
  544. var sWorkFlagCd = ""; //다중체크박스 선택값 저장공간
  545. var sWorkFlasgAllChkYn = "N"
  546. var grd_testlistVisibleYn = "N"
  547. var _isGridCheckAll = 0;
  548. var isExpandYN = "N";
  549. var arErrorCode = new HashArray();
  550. function SMLPR01100_onload(obj:Form, e:LoadEventInfo)
  551. {
  552. frmf_initForm(obj);
  553. frmf_createPopupMenu("pmn_popupMenu", "pmn_popupMenu_onmenuclick");
  554. //grdf_setRowTypeIcon(grd_rsltptnolist, 0);
  555. fExeInitialize();
  556. grdf_setGridSort(grd_rsltptnolist);
  557. grdf_setGridSort(grd_testlist);
  558. //grdf_setRowTypeIcon(grd_rsltptnolist, 0);
  559. zesf_InitSign();
  560. }
  561. /******************************************************************
  562. * Argument :
  563. * Description : 초기화
  564. ******************************************************************/
  565. function fExeInitialize()
  566. {
  567. Sign.init();
  568. var iNodeCnt = -1;
  569. var sWorkFlagCd = "";
  570. var sCurDate = "";
  571. var sAcptFromDD = "";
  572. // 병원환경설정 정보 조회
  573. var sInDsName = dsf_createDsRow("ds_temp_search", [{col: "instcd", val: sysf_getUserInfo("dutplceinstcd")}]);
  574. dsf_createDs("ds_hospenvinfo");
  575. var oParam = {};
  576. oParam.id = "TRLPZ00101";
  577. oParam.service = "plgycomnusemngtapp.BaseInfoCode";
  578. oParam.method = "reqGetHospitalEnvironmentSetInfo";
  579. oParam.inds = "refData="+sInDsName;
  580. oParam.outds = "ds_hospenvinfo=hospenvinfo";
  581. oParam.async = false;
  582. oParam.callback = "cf_TRLPZ00101";
  583. tranf_submit(oParam);
  584. // 병원환경정보를 취득하여 병리과와 병리팀 코드를 편집
  585. var sUserDeptCd = "";
  586. if(ds_hospenvinfo.getColumn(0, "plgydeptcd") != "-")
  587. {
  588. sUserDeptCd = "'" + ds_hospenvinfo.getColumn(0,"plgydeptcd") + "'";
  589. }
  590. if(ds_hospenvinfo.getColumn(0, "plgyteamcd") != "-")
  591. {
  592. if (!utlf_isNull(sUserDeptCd))
  593. {
  594. sUserDeptCd += ",";
  595. sUserDeptCd += "'" +ds_hospenvinfo.getColumn(0, "plgyteamcd") + "'";
  596. }
  597. }
  598. // 시스템일시 조회
  599. sInDsName = dsf_createDsRow("ds_temp_search", [{col: "instcd", val: sysf_getUserInfo("dutplceinstcd")}]);
  600. dsf_createDs("ds_sysdtinfo");
  601. var oParam = {};
  602. oParam.id = "TRLPZ00102";
  603. oParam.service = "plgycomnusemngtapp.BaseInfoCode";
  604. oParam.method = "reqGetSystemDateTimeInformation";
  605. oParam.inds = "refData="+sInDsName;
  606. oParam.outds = "ds_sysdtinfo=sysdtinfo";
  607. oParam.async = false;
  608. oParam.callback = "cf_TRLPZ00101";
  609. tranf_submit(oParam);
  610. // 유저정보 리스트를 가져온다.
  611. var sInDsName2 = dsf_createDsRow("ds_temp_search2", [{col: "userdeptcd", val: sUserDeptCd }
  612. , {col: "doctjobgradcd", val: ds_hospenvinfo.getColumn(0,"doctjobgradcd")}
  613. , {col: "teamjobgradcd", val: ds_hospenvinfo.getColumn(0,"teamjobgradcd")}]);
  614. dsf_createDs("ds_init_userinfolist");
  615. var oParam = {};
  616. oParam.id = "TRLPZ00105";
  617. oParam.service = "plgycomnusemngtapp.BaseInfoCode";
  618. oParam.method = "reqGetUserInfoList";
  619. oParam.inds = "refdata="+sInDsName2;
  620. oParam.outds = "ds_init_userinfolist=reflist";
  621. oParam.async = false;
  622. //oParam.callback = "cf_TRLPZ00105";
  623. tranf_submit(oParam);
  624. // 판독의사 콤보에 미지정 항목 추가
  625. var nRow = ds_init_userinfolist.addRow();
  626. ds_init_userinfolist.setColumn(nRow,"userid","99");
  627. ds_init_userinfolist.setColumn(nRow,"usernm","미지정");
  628. ds_init_userinfolist.setColumn(nRow,"jobkindcd","1");
  629. // 판독의사 콤보에 전체 항목 추가
  630. var nRow = ds_init_userinfolist.addRow();
  631. ds_init_userinfolist.setColumn(nRow,"userid","00");
  632. ds_init_userinfolist.setColumn(nRow,"usernm","전체");
  633. ds_init_userinfolist.setColumn(nRow,"jobkindcd","1");
  634. // 판독의사만 데이터셋 필터링
  635. ds_init_userinfolist.filter("jobkindcd == 1");
  636. // 판독의사 콤보와 데이터셋 연결
  637. cmb_readdrid1.innerdataset = ds_init_userinfolist;
  638. cmb_readdrid1.codecolumn = "userid";
  639. cmb_readdrid1.datacolumn = "usernm";
  640. cmb_readdrid1.value = "00";
  641. cmb_readdrid2.innerdataset = ds_init_userinfolist;
  642. cmb_readdrid2.codecolumn = "userid";
  643. cmb_readdrid2.datacolumn = "usernm";
  644. cmb_readdrid2.value = "00";
  645. cmb_readdrid3.innerdataset = ds_init_userinfolist;
  646. cmb_readdrid3.codecolumn = "userid";
  647. cmb_readdrid3.datacolumn = "usernm";
  648. cmb_readdrid3.value = "00";
  649. cmb_readdrid4.innerdataset = ds_init_userinfolist;
  650. cmb_readdrid4.codecolumn = "userid";
  651. cmb_readdrid4.datacolumn = "usernm";
  652. cmb_readdrid4.value = "00";
  653. // 지연사유 조회 ( 그리드 내부 지연사유 콤보)
  654. var sInDsName = dsf_createDsRow("ds_temp_search3", [{col: "instcd", val:sysf_getUserInfo("dutplceinstcd")}
  655. , {col: "baseflagcd", val: "31"}]);
  656. dsf_createDs("ds_delayresn");
  657. var oParam = {};
  658. oParam.id = "TRLPZ00103";
  659. oParam.service = "plgycomnusemngtapp.BaseInfoCode";
  660. oParam.method = "reqGetReasonCodeList";
  661. oParam.inds = "refData="+sInDsName;
  662. oParam.outds = "ds_delayresn=refrslt";
  663. oParam.async = false;
  664. //oParam.callback = "cf_TRLPZ00103";
  665. tranf_submit(oParam);
  666. // 그리드 내 지연사유 콤보 데이터셋 중 전체 항목은 삭제한다.
  667. ds_delayresn.deleteRow(ds_delayresn.findRow("resncd","ZZZZ"));
  668. //작업구분 목록 조회
  669. var sInDsName = dsf_createDsRow("ds_temp_search4", [{col: "instcd", val:sysf_getUserInfo("dutplceinstcd")}
  670. , {col: "baseflagcd", val: "83"}]);
  671. dsf_createDs("ds_resncdlist");
  672. var oParam = {};
  673. oParam.id = "TRLPZ00103";
  674. oParam.service = "plgycomnusemngtapp.BaseInfoCode";
  675. oParam.method = "reqGetReasonCodeList";
  676. oParam.inds = "refData="+sInDsName;
  677. oParam.outds = "ds_resncdlist=refrslt";
  678. oParam.async = false;
  679. //oParam.callback = "cf_TRLPZ00103";
  680. tranf_submit(oParam);
  681. // 미표시 작업구분은 삭제
  682. ds_resncdlist.deleteRow(ds_resncdlist.findRow("resncd","1000"));
  683. ds_resncdlist.deleteRow(ds_resncdlist.findRow("resncd","1011"));
  684. ds_resncdlist.deleteRow(ds_resncdlist.findRow("resncd","ZZZZ"));
  685. // 추가결과 항목 추가
  686. var nRow = ds_resncdlist.addRow();
  687. ds_resncdlist.setColumn(nRow,"instcd",sysf_getUserInfo("dutplceinstcd"));
  688. ds_resncdlist.setColumn(nRow,"baseflagcd","83");
  689. ds_resncdlist.setColumn(nRow,"resncd","9999");
  690. ds_resncdlist.setColumn(nRow,"resncnts","추가결과");
  691. ds_resncdlist.addRow();
  692. ds_resncdlist.setColumn(nRow+1,"instcd",sysf_getUserInfo("dutplceinstcd"));
  693. ds_resncdlist.setColumn(nRow+1,"baseflagcd","83");
  694. ds_resncdlist.setColumn(nRow+1,"resncd","ZZZZ");
  695. ds_resncdlist.setColumn(nRow+1,"dispseqno","9999");
  696. ds_resncdlist.setColumn(nRow+1,"resncnts","전체");
  697. //체크박스와 데이터셋 연결
  698. var sProp = "col=7,cellspacing=6,vcellspacing=0,itemWidth=90,itemHeight=22,overflow='visible'";
  699. grp_sea.cbo_slipkindcd.setInitComp(sProp, ds_resncdlist,"resncd","resncnts", "fn_deptlist");
  700. grp_sea.cbo_slipkindcd.setCheckAll();
  701. sCurDate = ds_sysdtinfo.getColumn(0,"sysdd");
  702. sAcptFromDD = sCurDate.toDate().getAddDate(-30,"D").getDateFormat();
  703. //초기값 설정
  704. ds_initData.setColumn(0,"rsltfromdd", sAcptFromDD);
  705. ds_initData.setColumn(0,"rslttodd", sCurDate);
  706. ds_initData.setColumn(0,"readdrid1", sysf_getUserInfo("userid"));
  707. ds_initData.setColumn(0,"readdrid2", "00");
  708. ds_initData.setColumn(0,"readdrid3", "00");
  709. ds_initData.setColumn(0,"readdrid4", "00");
  710. ds_initData.setColumn(0,"testnmlist", "");
  711. ds_initData.setColumn(0,"testcdlist", "");
  712. //의사가 아닌경우 조회만 가능
  713. //if(sysf_getUserInfo("jobposcd") == "0340" || sysf_getUserInfo("jobposcd") == "0330")
  714. if( !lpzfGetDoctorCheck(ds_hospenvinfo, sysf_getUserInfo("jobkindcd")))
  715. {
  716. ds_hidden.setColumn(0, "readdrid", "00");
  717. ds_init_readid.setColumn(0, "readdrid1", "00");
  718. //btn_lastdiag.enable = false;
  719. btn_lastdiag.enable = true;
  720. }
  721. else
  722. {
  723. ds_hidden.setColumn(0, "readdrid", sysf_getUserInfo("userid"));
  724. ds_init_readid.setColumn(0, "readdrid1", sysf_getUserInfo("userid"));
  725. btn_lastdiag.enable = true;
  726. }
  727. //btn_lastdiag.enable = true;
  728. // 진단대기 초기화
  729. ds_initData.setColumn(0,"diagwait","");
  730. // 예비결과 초기화
  731. //ds_initData.setColumn(0,"prersltflag","");
  732. // 검사목록 조회 처리
  733. fGetTestCdList();
  734. //좌측 그리드 사이즈 확장
  735. fExeEpandGrid("1");
  736. }
  737. function fMake_SignData()
  738. {
  739. var arrSignPath = new Array();
  740. var arrSignDs = new Array();
  741. arrSignPath[0] = "/testrslt/testrsltinfo";
  742. arrSignDs[0] = ds_main_testrsltinfo.saveXML();
  743. Sign.addnodeset(arrSignPath, arrSignDs);
  744. }
  745. /******************************************************************
  746. * Argument :
  747. * Description : 검사목록 조회 처리 함수
  748. ******************************************************************/
  749. function fGetTestCdList()
  750. {
  751. dsf_createDs("ds_data_testitemlist");
  752. var sInDsName = dsf_createDsRow("ds_temp_search", [{col: "delflagcd", val: "0"}
  753. , {col: "refflag" , val: "1"}
  754. , {col: "refval" , val: ""}
  755. , {col: "instcd" , val: sysf_getUserInfo("dutplceinstcd") }]);
  756. var oParam = {};
  757. oParam.id = "TRLPC00401";
  758. oParam.service = "plgybaseinfomngtapp.TestCode";
  759. oParam.method = "reqGetTestCodeList";
  760. oParam.inds = "refData="+sInDsName;
  761. oParam.outds = "ds_data_testitemlist=rsltlist";
  762. oParam.async = false;
  763. oParam.callback = "cf_TRLPC00401";
  764. tranf_submit(oParam);
  765. grd_testlist.binddataset = ds_data_testitemlist;
  766. ds_data_testitemlist.addColumn( "choi", "int", 1);
  767. for(x = 0; x < ds_data_testitemlist.rowcount; x++)
  768. {
  769. ds_data_testitemlist.setColumn(x,"choi",0);
  770. }
  771. }
  772. /******************************************************************
  773. * Argument :
  774. * Description : 검사 항목 그리드 OPEN
  775. ******************************************************************/
  776. function fn_grd_testlistVisible_Y()
  777. {
  778. grd_testlist.visible = true;
  779. grd_testlistVisibleYn = "Y"
  780. Button00.visible = true;
  781. Button01.visible = true;
  782. }
  783. /******************************************************************
  784. * Argument :
  785. * Description : 검사 항목 그리드 CLOSE
  786. ******************************************************************/
  787. function fn_grd_testlistVisible_N()
  788. {
  789. grd_testlist.visible = false;
  790. grd_testlistVisibleYn = "N"
  791. Button00.visible = false;
  792. Button01.visible = false;
  793. }
  794. /******************************************************************
  795. * Argument :
  796. * Description : Grid Header(CheckBox)를 클릭시 전체 Checkbox를 선택/해제
  797. ******************************************************************/
  798. function fn_setGridCheckAll(obj:Grid, e:GridClickEventInfo)
  799. {
  800. var objDs = eval(obj.binddataset);
  801. var sCol = obj.getCellProperty("body", e.cell, "text").replace("bind:", "");
  802. if (_isGridCheckAll)
  803. {
  804. _isGridCheckAll = 0;
  805. } else {
  806. _isGridCheckAll = 1;
  807. }
  808. objDs.enableevent = false;
  809. for (var i = 0; i < objDs.getRowCount(); i++)
  810. {
  811. objDs.setColumn(i, sCol, _isGridCheckAll);
  812. }
  813. obj.setCellProperty("Head", e.cell, "expr", _isGridCheckAll);
  814. objDs.enableevent = true;
  815. }
  816. /******************************************************************
  817. * Argument :
  818. * Description : 항목조회 함수
  819. ******************************************************************/
  820. function fExeTestItemChoi()
  821. {
  822. var iFindNo = 0;
  823. var sTestCd = "";
  824. var sTestNm = "";
  825. var bState = false;
  826. //var sNode = "/root/init/testinfo/testitemlist";
  827. iFindNo = ds_data_testitemlist.findRow("choi",1);
  828. if (Number(iFindNo) < 0)
  829. {
  830. ds_initData.setColumn(0,"testcdlist","");
  831. ds_initData.setColumn(0,"testnmlist","");
  832. fn_grd_testlistVisible_N();
  833. return false;
  834. }
  835. for (var iNo=0; iNo < ds_data_testitemlist.rowcount; iNo++)
  836. {
  837. if (ds_data_testitemlist.getColumn(iNo, "choi") == 1)
  838. {
  839. if (bState)
  840. {
  841. sTestCd += ", '" + ds_data_testitemlist.getColumn(iNo,"testcd") + "'";
  842. sTestNm += ", " + ds_data_testitemlist.getColumn(iNo,"testengnm")
  843. }
  844. else
  845. {
  846. sTestCd += "'" + ds_data_testitemlist.getColumn(iNo,"testcd") + "'";
  847. sTestNm += ds_data_testitemlist.getColumn(iNo,"testengnm");
  848. bState = true;
  849. }
  850. }
  851. }
  852. ds_initData.setColumn(0,"testcdlist",sTestCd);
  853. ds_initData.setColumn(0,"testnmlist",sTestNm);
  854. fn_grd_testlistVisible_N();
  855. }
  856. /******************************************************************
  857. * Argument :
  858. * Description : 마스터 그리드 확장/축소 함수
  859. ******************************************************************/
  860. function fExeEpandGrid(cnt)
  861. {
  862. // 1: 확장 2: 축수
  863. if ( cnt == "1" )
  864. {
  865. grd_rsltptnolist.resize(1256,593);
  866. grid_expandYn = "Y";
  867. caption11.visible = false;
  868. }
  869. else if( cnt == "2" )
  870. {
  871. grd_rsltptnolist.resize(274,593);
  872. grid_expandYn = "N" ;
  873. caption11.visible = true;
  874. }
  875. }
  876. /******************************************************************
  877. * Argument :
  878. * Description : 조회 함수
  879. ******************************************************************/
  880. function fGetRsltPtNoList()
  881. {
  882. var re = "/ /g"; // i:1회실행, g:모두실행, gi:전역실행(대소문자 안가림)
  883. sWorkFlagCd = grp_sea.cbo_slipkindcd.getData();
  884. trace("sWorkFlagCd= " +sWorkFlagCd);
  885. ds_grd_rsltptnolist.updatecontrol = false;
  886. var sInDsName = dsf_createDsRow("ds_temp_search5" , [{col: "instcd", val:sysf_getUserInfo("dutplceinstcd") } // 기관코드
  887. , {col: "rsltfromdd", val:ds_initData.getColumn(0, "rsltfromdd")} // 접수시작일자
  888. , {col: "rslttodd", val:ds_initData.getColumn(0, "rslttodd") } // 접수종료일자
  889. , {col: "readdrid", val:cmb_readdrid1.value } // 작업구분코드
  890. , {col: "readdrid2", val:cmb_readdrid2.value } // 판독의사ID
  891. , {col: "readdrid3", val:cmb_readdrid3.value } // 판독의사ID2
  892. , {col: "readdrid4", val:cmb_readdrid4.value } // 판독의사ID3
  893. , {col: "testcdlist", val:ds_initData.getColumn(0,"testcdlist") } // 판독의사ID4
  894. , {col: "diagwait", val:ds_initData.getColumn(0,"diagwait") } // 검사코드목록
  895. , {col: "prersltflag", val:ds_initData.getColumn(0,"prersltflag") } // 접수상태까지 포함여부("1" : 불포함, "" : 포함)
  896. , {col: "workflagcd", val:sWorkFlagCd}]); // 진단대기 //"'1001','1002','1004','1005','1006','1007','1008','1009','1010','1012','9999','ZZZZ','' "
  897. // 서브밋호출
  898. var oParam = {};
  899. oParam.id = "TRLPR01101";
  900. oParam.service = "plgyrsltmngtapp.TestRsltRgst";
  901. oParam.method = "reqGetRsltPtNoList";
  902. oParam.inds = "reqdata="+sInDsName;
  903. oParam.outds = "ds_grd_rsltptnolist=refrslt";
  904. oParam.async = false;
  905. oParam.callback = "cf_TRLPR01101";
  906. tranf_submit(oParam);
  907. dsf_setFixVal(ds_grd_rsltptnolist, "choi:false,bizflagcd:I,chogic:N,ptnocp:-,relatptnocp:-,localdd:-,localtm:-,delayresncd:-");
  908. ds_grd_rsltptnolist.rowposition = -1;
  909. for(var iRowNo = 0; iRowNo < ds_grd_rsltptnolist.rowcount; iRowNo++)
  910. {
  911. dsf_createDsRow("ds_send", [{col : "ptno", val : ds_grd_rsltptnolist.getColumn(iRowNo, "ptno")}]);
  912. var oParam = {};
  913. oParam.id = "TRLPR00104";
  914. oParam.service = "plgyrsltmngtapp.TestRsltRgst";
  915. oParam.method = "reqGetDelayReadTime";
  916. oParam.inds = "reqData=ds_send";
  917. oParam.outds = "ds_delayreadtime=reflist";
  918. oParam.async = false;
  919. //oParam.callback = "cf_TRLPR00104";
  920. tranf_submit(oParam);
  921. iReadTime = Number(ds_delayreadtime.getColumn(0, "readdaycnts"));
  922. iDelayTime = Number(ds_delayreadtime.getColumn(0, "delayonetime")) + Number(ds_delayreadtime.getColumn(0, "delayaddtime"));
  923. // 결과시간이 지연시간보다 클 경우 지연사유 선택
  924. if (iReadTime > iDelayTime)
  925. {
  926. if( utlf_isNull(ds_grd_rsltptnolist.getColumn(iRowNo, "delayresncd")) || ds_grd_rsltptnolist.getColumn(iRowNo, "delayresncd") == "-")
  927. {
  928. //sysf_messageBox("병리번호[" + ds_grd_rsltptnolist.getColumn(iRowNo, "dispptno") +"]에 대한 지연사유를 입력하여 주십시오! [ 지연시간 : " + (iReadTime - iDelayTime) + "일 ] ", "E000");
  929. ds_grd_rsltptnolist.setColumn(iRowNo, "delayyn", "지연");
  930. }
  931. }
  932. }
  933. ds_grd_rsltptnolist.updatecontrol = true;
  934. }
  935. /******************************************************************
  936. * Argument :
  937. * Description : 그리드 전체 체크 함수
  938. ******************************************************************/
  939. function chk_chkall_onchanged(obj:CheckBox, e:CheckBoxChangeEventInfo)
  940. {
  941. if(obj.value == "true" )
  942. {
  943. grp_sea.cbo_slipkindcd.setData(["1","1001","2","1002","3","1004","4","1005","5","1006","6","1007","7","1008","8","1009","9","1010","10","1012","11","9999"]);
  944. }
  945. else
  946. {
  947. var sProp = "col=7,cellspacing=5,vcellspacing=0,itemWidth=80,itemHeight=22,overflow='visible'";
  948. grp_sea.cbo_slipkindcd.setInitComp(sProp, ds_resncdlist,"resncd","resncnts");
  949. }
  950. }
  951. /******************************************************************
  952. * Argument :
  953. * Description : 그리드 내부 범례 색상 적용 함수
  954. ******************************************************************/
  955. function fExeRowBackColorChng()
  956. {
  957. var iCnt = 0;
  958. var sValPTNO = "";
  959. var strRelaPTNO = "";
  960. var sChngPTNO = "";
  961. var sOriPtno = "";
  962. var sOriRelaPTNO = "";
  963. // 관계값 : 1. 원처방, 2.추가처방
  964. // 최상단의 관련병리번호 관계값이 '-' 인 경우 '1' 로 변경
  965. // => 원처방이 없는 것은 원처방으로 처리
  966. if(ds_grd_rsltptnolist.getColumn(ds_grd_rsltptnolist.rowposition, "relation") == "-")
  967. {
  968. ds_grd_rsltptnolist.setColumn(ds_grd_rsltptnolist.rowposition, "1");
  969. }
  970. var sExpr = "";
  971. for(var iNo = 0; iNo < ds_grd_rsltptnolist.rowcount; iNo++)
  972. {
  973. sOriPtno = ds_grd_rsltptnolist.getColumn(iNo, "ptno");
  974. ds_grd_rsltptnolist.setColumn(iNo, "ptnocp", (sOriPtno.substr(0, sOriPtno.length-6) + "-" + sOriPtno.substr(sOriPtno.length-6, 6)));
  975. if(utlf_isNull(ds_grd_rsltptnolist.getColumn(iNo, "readdrid1")) || ds_grd_rsltptnolist.getColumn(iNo, "readdrid1") == "-")
  976. {
  977. if(utlf_isNull(ds_grd_rsltptnolist.getColumn(iNo, "rsltrgstdd")) || ds_grd_rsltptnolist.getColumn(iNo, "rsltrgstdd") == "-")
  978. {
  979. ds_grd_rsltptnolist.setColumn(iNo, "backcolor", "#FFB937");
  980. }
  981. else
  982. {
  983. ds_grd_rsltptnolist.setColumn(iNo, "backcolor", "#ffffff");
  984. }
  985. }
  986. else
  987. {
  988. ds_grd_rsltptnolist.setColumn(iNo, "backcolor", "#98FB98");
  989. }
  990. ds_grd_rsltptnolist.setColumn(iNo, "bizflagcd", "I");
  991. // sort 추가시...start
  992. strRelaPTNO = ds_grd_rsltptnolist.getColumn(iNo, "relatptno");
  993. if(ds_grd_rsltptnolist.getColumn(iNo, "ptno") == strRelaPTNO )
  994. {
  995. // 병리번호와 관련병리번호 동일 시
  996. ds_grd_rsltptnolist.setColumn(iNo, "relatptno", "-");
  997. }
  998. else
  999. {
  1000. sOriRelaPTNO = ds_grd_rsltptnolist.getColumn(iNo, "relatptno");
  1001. // 병리번호가 대표 코드가 아니고 관련병리번호가 대표 코드일경우
  1002. if ( ( (sOriPtno.substr(0,1) != "S") && (sOriPtno.substr(0,1) != "C")
  1003. )
  1004. &&
  1005. ( ((ds_grd_rsltptnolist.getColumn(iNo, "relatptno")).substr(0,1) == "C")
  1006. || ((ds_grd_rsltptnolist.getColumn(iNo, "relatptno")).substr(0, 1) == "S")
  1007. )
  1008. )
  1009. {
  1010. sChngPTNO = ds_grd_rsltptnolist.getColumn(iNo, "ptnocp");
  1011. ds_grd_rsltptnolist.setColumn(iNo, "ptnocp", (sOriRelaPTNO.substr(0, sOriRelaPTNO.length-6) + "-"
  1012. + sOriRelaPTNO.substr(sOriRelaPTNO.length-6, 6)));
  1013. ds_grd_rsltptnolist.setColumn(iNo, "relatptnocp", sChngPTNO);
  1014. }
  1015. else
  1016. {
  1017. ds_grd_rsltptnolist.setColumn(iNo, "relatptnocp", (sOriRelaPTNO.substr(0, sOriRelaPTNO.length-6) + "-"
  1018. + sOriRelaPTNO.substr(sOriRelaPTNO.length-6, 6)));
  1019. }
  1020. }
  1021. }
  1022. }
  1023. /******************************************************************
  1024. * Argument :
  1025. * Description : SPLPP02500 화면 팝업
  1026. ******************************************************************/
  1027. function open_popup_SPLPP02500()
  1028. {
  1029. // var objArg = new Object(); //파라미터용 obj 생성
  1030. //
  1031. // objArg.SMLPP02500_ptno = ds_grd_rsltptnolist.getColumn(ds_grd_rsltptnolist.rowposition,"ptno");
  1032. // objArg.SMLPP02500_pid = ds_grd_rsltptnolist.getColumn(ds_grd_rsltptnolist.rowposition,"pid");
  1033. // objArg.SMLPP02500_workflagcd = ds_grd_rsltptnolist.getColumn(ds_grd_rsltptnolist.rowposition,"workflagcd");
  1034. // objArg.SMLPP02500_prcpgenrflag = ds_grd_rsltptnolist.getColumn(ds_grd_rsltptnolist.rowposition,"prcpgenrflag");
  1035. // objArg.SMLPP02500_scrno = "SMLPR01100" ;
  1036. //
  1037. //
  1038. var instcd = sysf_getUserInfo("dutplceinstcd")
  1039. var ptno = ds_grd_rsltptnolist.getColumn(ds_grd_rsltptnolist.rowposition,"ptno");
  1040. var pid = ds_grd_rsltptnolist.getColumn(ds_grd_rsltptnolist.rowposition,"pid");
  1041. var workflagcd = ds_grd_rsltptnolist.getColumn(ds_grd_rsltptnolist.rowposition,"workflagcd");
  1042. var prcpgenrflag = ds_grd_rsltptnolist.getColumn(ds_grd_rsltptnolist.rowposition,"prcpgenrflag");
  1043. var scrno = "SPLPP02500";
  1044. var sflag = instcd + "▦" + ptno + "▦" + pid + "▦" + workflagcd + "▦" + prcpgenrflag + "▦" + scrno;
  1045. frmf_setParameter("opener_parameter_id", sflag);
  1046. frmf_modal("SPLPP02500", "SPLPP02500", "", null, null, null, null, null, null, null, null, null, "M");
  1047. }
  1048. /******************************************************************
  1049. * Argument :
  1050. * Description : 이미지 보기
  1051. ******************************************************************/
  1052. function fExeImgView()
  1053. {
  1054. var sPtNo = "";
  1055. var aPtNo = "";
  1056. //var sNode = "/root/main/rsltptno/rsltptnolist";
  1057. var sNode = ds_grd_rsltptnolist;
  1058. var iRowNo = ds_grd_rsltptnolist.rowposition;
  1059. //----------------
  1060. if (iRowNo >= 0)
  1061. {
  1062. //sPtNo = model.getValue(sNode+"["+iRowNo+"]/dispptno");
  1063. sPtNo = ds_grd_rsltptnolist.getColumn(iRowNo, "dispptno");
  1064. aPtNo = sPtNo.split("-");
  1065. //----------------------------------------------
  1066. frmf_setParameter("SMLPP02000_scrno", "SMLPR01100");
  1067. frmf_setParameter("SMLPP02000_pid", ds_grd_rsltptnolist.getColumn(iRowNo, "pid")); //model.getValue(sNode+"["+iRowNo+"]/pid"));
  1068. frmf_setParameter("SMLPP02000_rgstdd", utlf_getCurrentDate());
  1069. frmf_setParameter("SMLPP02000_no", "");
  1070. frmf_setParameter("SMLPP02000_ptnocd", "");
  1071. frmf_setParameter("SMLPP02000_year", "");
  1072. //------------------
  1073. frmf_modal("SMLPP02000", "SMLPP02000", "", null, null, null, null, null, null, null, null, null, "M");
  1074. }
  1075. }
  1076. /******************************************************************
  1077. * Argument :
  1078. * Description : 디테일 그리드 조회
  1079. ******************************************************************/
  1080. function fGetTestRsltListDtl()
  1081. {
  1082. ds_grd_rsltptnolist.updatecontrol = false;
  1083. var ptno = ds_grd_rsltptnolist.getColumn(ds_grd_rsltptnolist.rowposition,"ptno");
  1084. var pid = ds_grd_rsltptnolist.getColumn(ds_grd_rsltptnolist.rowposition,"pid");
  1085. var workflagcd = ds_grd_rsltptnolist.getColumn(ds_grd_rsltptnolist.rowposition,"workflagcd");
  1086. var prcpgenrflag = ds_grd_rsltptnolist.getColumn(ds_grd_rsltptnolist.rowposition,"prcpgenrflag");
  1087. var sInDsName = dsf_createDsRow("ds_temp_search", [{col: "instcd", val:sysf_getUserInfo("dutplceinstcd") }
  1088. , {col: "ptno", val:ptno }
  1089. , {col: "pid", val:pid }
  1090. , {col: "prcpgenrflag", val:prcpgenrflag }]);
  1091. // 서브밋호출
  1092. //dsf_createDs("ds_grd_testrsltref");
  1093. var oParam = {};
  1094. oParam.id = "TRLPZ00107";
  1095. oParam.service = "plgyrefmngtapp.TestRsltRef";
  1096. oParam.method = "reqGetTestRsltInfo";
  1097. oParam.inds = "refData="+sInDsName;
  1098. oParam.outds = "ds_grd_testrsltref=refrslt";
  1099. oParam.async = false;
  1100. oParam.callback = "cf_TRLPZ00107";
  1101. tranf_submit(oParam);
  1102. ds_grd_rsltptnolist.updatecontrol = true;
  1103. }
  1104. /******************************************************************
  1105. * Argument :
  1106. * Description : 검사코드 필터링
  1107. ******************************************************************/
  1108. function lf_filter_testitemlist()
  1109. {
  1110. var ptnocd = grp_sea.cbo_ptnocd.value;
  1111. var filter_val = ""
  1112. if(ptnocd == "S")
  1113. {
  1114. var filter_val = "basepartcd == 'SU'";
  1115. }
  1116. else if(ptnocd == "D" || ptnocd == "C" || ptnocd == "A")
  1117. {
  1118. var filter_val = "basepartcd == 'CY'";
  1119. }
  1120. else if(ptnocd == "M")
  1121. {
  1122. var filter_val = "basepartcd == 'MO'";
  1123. }
  1124. else if(ptnocd == "IF")
  1125. {
  1126. var filter_val = "basepartcd == 'IF'";
  1127. }
  1128. else if(ptnocd == "EM")
  1129. {
  1130. var filter_val = "basepartcd == 'EM'";
  1131. }
  1132. else if(ptnocd == "AU")
  1133. {
  1134. var filter_val = "basepartcd == 'AU'";
  1135. }
  1136. else
  1137. {
  1138. var filter_val = "";
  1139. }
  1140. ds_data_testitemlist.filter(filter_val);
  1141. }
  1142. /******************************************************************
  1143. * Argument :
  1144. * Description : 그리드 내부에 툴팁을 보여줌
  1145. ******************************************************************/
  1146. function lf_showTooltip(obj,e)
  1147. {
  1148. if (e.row < 0) return;
  1149. if(parseInt(e.cell) < 0 || parseInt(e.row) < 0) return;
  1150. var objExtCommon = new ExtCommon();
  1151. var sCellTextLen = objExtCommon.getTextExtent(obj, obj.getCellText(e.row, e.cell));
  1152. if (sCellTextLen[1] > obj.getRealColSize(e.cell))
  1153. {
  1154. obj.tooltiptext = obj.getCellText(e.row, e.cell); //cell의 width 보다 클 경우만 tooltiptext 셋팅.
  1155. }
  1156. else
  1157. {
  1158. obj.tooltiptext = ""; //tooltiptext 초기화
  1159. }
  1160. }
  1161. function cf_TRLPZ00101(strSvcID, nErrorCode, strErrorMag)
  1162. {
  1163. if(nErrorCode != 0) sysf_messageBox("ID: " + strSvcID + " Error: " + strErrorMag, "E009", "");
  1164. }
  1165. function cf_TRLPC00401(strSvcID, nErrorCode, strErrorMag)
  1166. {
  1167. if(nErrorCode != 0)
  1168. {
  1169. sysf_messageBox("ID: " + strSvcID + " Error: " + strErrorMag, "E009", "");
  1170. }
  1171. else
  1172. {
  1173. //grd_testlist.binddataset = ds_data_testitemlist;
  1174. }
  1175. }
  1176. /******************************************************************
  1177. * Argument :
  1178. * Description : TRLPR01101 조회 콜백함수.
  1179. ******************************************************************/
  1180. function cf_TRLPR01101(strSvcID, nErrorCode, strErrorMag)
  1181. {
  1182. if(nErrorCode != 0)
  1183. {
  1184. sysf_messageBox("ID: " + strSvcID + " Error: " + strErrorMag, "E009", "");
  1185. }
  1186. else
  1187. {
  1188. //grd_rsltptnolist.binddataset = ds_grd_rsltptnolist;
  1189. fExeRowBackColorChng();
  1190. }
  1191. }
  1192. /******************************************************************
  1193. * Argument :
  1194. * Description : TRLPZ00107 조회 콜백함수.
  1195. ******************************************************************/
  1196. function cf_TRLPZ00107(strSvcID, nErrorCode, strErrorMag)
  1197. {
  1198. if(nErrorCode != 0)
  1199. {
  1200. sysf_messageBox("ID: " + strSvcID + " Error: " + strErrorMag, "E009", "");
  1201. }
  1202. else
  1203. {
  1204. grd_testrsltref.binddataset = ds_grd_testrsltref;
  1205. }
  1206. }
  1207. /******************************************************************
  1208. * Argument :
  1209. * Description : 선택검사목록 조회
  1210. ******************************************************************/
  1211. function btn_bloc_onlbuttonup(obj:Button, e:MouseEventInfo)
  1212. {
  1213. if (grd_testlistVisibleYn == "N")
  1214. {
  1215. fn_grd_testlistVisible_Y();
  1216. }
  1217. else
  1218. {
  1219. fn_grd_testlistVisible_N();
  1220. }
  1221. }
  1222. function grd_testlist_onheadclick(obj:Grid, e:GridClickEventInfo)
  1223. {
  1224. var cellBindVal = obj.getCellProperty("Head",e.cell,"displaytype");
  1225. if(cellBindVal == "checkbox") fn_setGridCheckAll(obj, e);
  1226. }
  1227. //확인
  1228. function Button00_onlbuttonup(obj:Button, e:MouseEventInfo)
  1229. {
  1230. fExeTestItemChoi();
  1231. }
  1232. //닫기
  1233. function Button01_onlbuttonup(obj:Button, e:MouseEventInfo)
  1234. {
  1235. fn_grd_testlistVisible_N();
  1236. }
  1237. // >> 버튼
  1238. function button103_onlbuttonup(obj:Button, e:MouseEventInfo)
  1239. {
  1240. fExeEpandGrid(1);
  1241. }
  1242. // << 버튼
  1243. function button102_onlbuttonup(obj:Button, e:MouseEventInfo)
  1244. {
  1245. fExeEpandGrid(2);
  1246. }
  1247. function button1_onlbuttonup(obj:Button, e:MouseEventInfo)
  1248. {
  1249. if(isExpandYN == "N"){
  1250. grd_rsltptnolist.autosizingtype = "row"
  1251. isExpandYN = "Y";
  1252. }else{
  1253. grd_rsltptnolist.autosizingtype = "none"
  1254. isExpandYN = "N";
  1255. }
  1256. }
  1257. function grd_rsltptnolist_oncellclick(obj:Grid, e:GridClickEventInfo)
  1258. {
  1259. if(obj.currentcol != 50)
  1260. {
  1261. fGetTestRsltListDtl();
  1262. }
  1263. }
  1264. //임상정보조회
  1265. function btn_pop_onlbuttonup(obj:Button, e:MouseEventInfo)
  1266. {
  1267. open_popup_SPLPP02500();
  1268. }
  1269. function grd_rsltptnolist_onmousemove(obj:Grid, e:GridMouseEventInfo)
  1270. {
  1271. lf_showTooltip(obj,e);
  1272. }
  1273. function grd_testlist_onmousemove(obj:Grid, e:GridMouseEventInfo)
  1274. {
  1275. lf_showTooltip(obj,e);
  1276. }
  1277. //조회
  1278. function grp_sea_btn_search_onclick(obj:Button, e:ClickEventInfo)
  1279. {
  1280. fGetRsltPtNoList();
  1281. }
  1282. function grp_sea_Calendar01_onkeyup(obj:Calendar, e:KeyEventInfo)
  1283. {
  1284. if(e.keycode == 13)
  1285. {
  1286. fGetRsltPtNoList();
  1287. }
  1288. }
  1289. //이미지보기
  1290. function btn_imgview_onclick(obj:Button, e:ClickEventInfo)
  1291. {
  1292. fExeImgView();
  1293. }
  1294. function fn_deptlist(chkVal)
  1295. {
  1296. grp_sea.cbo_slipkindcd.setCallEvent("");
  1297. fExeWorkFlagChng(chkVal);
  1298. grp_sea.cbo_slipkindcd.setCallEvent("fn_deptlist");
  1299. }
  1300. function fExeWorkFlagChng(chkVal)
  1301. {
  1302. var iFindNo = -1;
  1303. var aWorkFlagCd = "";
  1304. var aBfWorkFlagCd = "";
  1305. var sWorkFlagCd = String(grp_sea.cbo_slipkindcd.getData()).replace(","," ");
  1306. aWorkFlagCd = sWorkFlagCd.split(" ");
  1307. if(eval(chkVal).value == "1001"|| eval(chkVal).value =="1002") //조직, 동결절편을 선택한 경우
  1308. {
  1309. grp_sea.cbo_slipkindcd.chk_0.value = "1001";
  1310. grp_sea.cbo_slipkindcd.chk_1.value = "1002";
  1311. grp_sea.cbo_slipkindcd.chk_2.value = "";
  1312. grp_sea.cbo_slipkindcd.chk_3.value = "1004";
  1313. grp_sea.cbo_slipkindcd.chk_4.value = "1005";
  1314. grp_sea.cbo_slipkindcd.chk_5.value = "1006";
  1315. grp_sea.cbo_slipkindcd.chk_6.value = "1007";
  1316. grp_sea.cbo_slipkindcd.chk_7.value = "1008";
  1317. grp_sea.cbo_slipkindcd.chk_8.value = "9999";
  1318. grp_sea.cbo_slipkindcd.chk_9.value = "";
  1319. ds_hidden.setColumn(0, "workflagcd", "1001 1002 1004 1005 1006 1007 1008 9999");
  1320. }
  1321. else if(eval(chkVal).value == "1003") //세포를 선택한 경우
  1322. {
  1323. grp_sea.cbo_slipkindcd.chk_0.value = "";
  1324. grp_sea.cbo_slipkindcd.chk_1.value = "";
  1325. grp_sea.cbo_slipkindcd.chk_2.value = "1003";
  1326. grp_sea.cbo_slipkindcd.chk_3.value = "1004";
  1327. grp_sea.cbo_slipkindcd.chk_4.value = "1005";
  1328. grp_sea.cbo_slipkindcd.chk_5.value = "1006";
  1329. grp_sea.cbo_slipkindcd.chk_6.value = "1007";
  1330. grp_sea.cbo_slipkindcd.chk_7.value = "1008";
  1331. grp_sea.cbo_slipkindcd.chk_8.value = "9999";
  1332. grp_sea.cbo_slipkindcd.chk_9.value = "";
  1333. ds_hidden.setColumn(0, "workflagcd", "1003 1004 1005 1006 1007 1008 1009 1012 9999");
  1334. }
  1335. else if(chkVal == "chk_9") //전체를 선택한 경우
  1336. {
  1337. if( !utlf_isNull(eval(chkVal).value))
  1338. {
  1339. grp_sea.cbo_slipkindcd.setCheckAll(true);
  1340. ds_hidden.setColumn(0, "workflagcd", "1001 1002 1003 1004 1005 1006 1007 1008 9999 ZZZZ");
  1341. }
  1342. else
  1343. {
  1344. grp_sea.cbo_slipkindcd.setCheckAll(false);
  1345. ds_hidden.setColumn(0, "workflagcd", "");
  1346. }
  1347. }
  1348. }
  1349. function grd_rsltptnolist_onrbuttondown(obj:Grid, e:GridMouseEventInfo)
  1350. {
  1351. ds_grd_rsltptnolist.rowposition = e.row;
  1352. fPopUp();
  1353. pmn_popupMenu.trackPopup(e.screenX,e.screenY);
  1354. }
  1355. function fPopUp()
  1356. {
  1357. frmf_setPopupMenuDs("pmn_popupMenu", [{id : "fExeRslt", level: "1", title : "검사결과등록"}
  1358. ,{id : "fExeHPVRslt", level : "1", title: "HPV결과등록"}]);
  1359. }
  1360. function pmn_popupMenu_onmenuclick(obj:PopupMenu, e:MenuClickEventInfo)
  1361. {
  1362. switch (e.id)
  1363. {
  1364. case "fExeRslt" : fExeRslt();
  1365. break;
  1366. case "fExeHPVRslt": fExeHPVRslt();
  1367. break;
  1368. }
  1369. }
  1370. function fExeRslt()
  1371. {
  1372. var ptno = ds_grd_rsltptnolist.getColumn(ds_grd_rsltptnolist.rowposition, "ptno");
  1373. frmf_setParameter("opener_parameter_id", ptno);
  1374. frmf_modal("SMLPR00100", "SMLPR00100", "", null, null, null, null, null, null, null, null, null, "M");
  1375. }
  1376. function fExeHPVRslt()
  1377. {
  1378. var re = /-/g;
  1379. var ptno = ds_grd_rsltptnolist.getColumn(ds_grd_rsltptnolist.rowposition, "ptno");
  1380. var acptdd = ds_grd_rsltptnolist.getColumn(ds_grd_rsltptnolist.rowposition, "acptdd");
  1381. var pid = ds_grd_rsltptnolist.getColumn(ds_grd_rsltptnolist.rowposition, "pid");
  1382. frmf_setParameter("opener_parameter_id", ptno);
  1383. frmf_setParameter("opener_parameter_acptdd", acptdd.replace(re, ""));
  1384. frmf_setParameter("opener_parameter_pid", pid);
  1385. frmf_modal("SMLPR00500", "SMLPR00500", "", null, null, null, null, null, null, null, null, null, "M");
  1386. //modal("SMLPR00500", "", "", "", "", "", "");
  1387. }
  1388. function btn_lastdiag_onclick(obj:Button, e:ClickEventInfo)
  1389. {
  1390. fExeLastDiag();
  1391. }
  1392. function fExeLastDiag()
  1393. {
  1394. var iFindNo = 0;
  1395. var bState = true;
  1396. var sErrMsg = "";
  1397. var sSysdd = utlf_getCurrentDate();
  1398. var sSystm = utlf_getCurrentTime();
  1399. var sCheckReadDr = "N";
  1400. var sCheckCnclresn = "";
  1401. var iReadTime = 0;
  1402. var iDelayTime = 0;
  1403. // if( !lpzfGetDoctorCheck(ds_hospenvinfo, sysf_getUserInfo("jobkindcd")))
  1404. // {
  1405. // sysf_messageBox("의사직급만 최종진단이 ", "I006");
  1406. // return false;
  1407. // }
  1408. if(utlf_isNull(ds_init_readid.getColumn(0, "readdrid1")))
  1409. {
  1410. sysf_messageBox("판독의사1는 반드시 ", "C001");
  1411. return false;
  1412. }
  1413. iFindNo = ds_grd_rsltptnolist.findRow("choi", 1);
  1414. if (Number(iFindNo) < 0)
  1415. {
  1416. sysf_messageBox("최종진단 병리번호를 ", "C002");
  1417. return false;
  1418. }
  1419. // 대상 병리번호에 대한 지연일자 체크
  1420. for(var iRowNo = 0; iRowNo < ds_grd_rsltptnolist.rowcount; iRowNo++)
  1421. {
  1422. if(ds_grd_rsltptnolist.getColumn(iRowNo, "choi") == "1")
  1423. {
  1424. dsf_createDsRow("ds_send", [{col : "ptno", val : ds_grd_rsltptnolist.getColumn(iRowNo, "ptno")}]);
  1425. var oParam = {};
  1426. oParam.id = "TRLPR00104";
  1427. oParam.service = "plgyrsltmngtapp.TestRsltRgst";
  1428. oParam.method = "reqGetDelayReadTime";
  1429. oParam.inds = "reqData=ds_send";
  1430. oParam.outds = "ds_delayreadtime=reflist";
  1431. oParam.async = false;
  1432. //oParam.callback = "cf_TRLPR00104";
  1433. tranf_submit(oParam);
  1434. iReadTime = Number(ds_delayreadtime.getColumn(0, "readdaycnts"));
  1435. iDelayTime = Number(ds_delayreadtime.getColumn(0, "delayonetime")) + Number(ds_delayreadtime.getColumn(0, "delayaddtime"));
  1436. trace("iReadTime = " + iReadTime);
  1437. trace("iDelayTime = " + iDelayTime);
  1438. // 결과시간이 지연시간보다 클 경우 지연사유 선택
  1439. if (iReadTime > iDelayTime)
  1440. {
  1441. if( utlf_isNull(ds_grd_rsltptnolist.getColumn(iRowNo, "delayresncd")) || ds_grd_rsltptnolist.getColumn(iRowNo, "delayresncd") == "-")
  1442. {
  1443. sysf_messageBox("병리번호[" + ds_grd_rsltptnolist.getColumn(iRowNo, "dispptno") +"]에 대한 지연사유를 입력하여 주십시오! [ 지연시간 : " + (iReadTime - iDelayTime) + "일 ] ", "E000");
  1444. ds_grd_rsltptnolist.setColumn(iRowNo, "delayyn", "지연");
  1445. return false;
  1446. }
  1447. }
  1448. }
  1449. }
  1450. for(var iRowNo = 0; iRowNo < ds_grd_rsltptnolist.rowcount; iRowNo++)
  1451. {
  1452. // 그리드 상태 초기화
  1453. if(ds_grd_rsltptnolist.getColumn(iRowNo, "choi") == "1")
  1454. {
  1455. ds_send.clear();
  1456. //한번에 최종진단되는 검사들은 최종진단 시간을 동일하게 한다.(2008.12.26 박중규)
  1457. ds_grd_rsltptnolist.setColumn(iRowNo, "localdd", sSysdd);
  1458. ds_grd_rsltptnolist.setColumn(iRowNo, "localtm", sSystm);
  1459. //------------------------
  1460. if(sCheckReadDr == "N")
  1461. {
  1462. if( !utlf_isNull(ds_grd_rsltptnolist.getColumn(iRowNo, "readdrid1")) && ds_grd_rsltptnolist.getColumn(iRowNo, "readdrid1") != "-")
  1463. {
  1464. if(ds_grd_rsltptnolist.getColumn(iRowNo, "readdrid1") != sysf_getUserInfo("userid"))
  1465. {
  1466. if(sysf_messageBox("지정된 판독의사와 로그인 한 판독의사가 다릅니다. ", "Q003") != "6")
  1467. {
  1468. return false;
  1469. }
  1470. else
  1471. {
  1472. sCheckReadDr = "Y";
  1473. }
  1474. }
  1475. }
  1476. }
  1477. dsf_createDs("ds_send_data");
  1478. //ds_grd_rsltptnolist.filterstr = "choi == '1'";
  1479. //ds_send_data.copyData(ds_grd_rsltptnolist, true);
  1480. //ds_grd_rsltptnolist.filterstr = "";
  1481. dsf_copyColInfo(ds_send_data, ds_grd_rsltptnolist);
  1482. ds_send_data.addRow();
  1483. ds_send_data.copyRow(0, ds_grd_rsltptnolist, iRowNo);
  1484. //trace(ds_send_data.saveXML());
  1485. sysf_setGlobalVariable("enrinptsavetime", utlf_getCurrentDateTime());
  1486. if (Sign.signprocess())
  1487. {
  1488. // 검사결과 초기화
  1489. var oParam = {};
  1490. oParam.id = "TXLPR01101";
  1491. oParam.service = "plgyrsltmngtapp.TestRsltRgst";
  1492. oParam.method = "reqExeBatchLastDiag";
  1493. oParam.inds = "reqdata=ds_send_data readidinfo=ds_init_readid";
  1494. oParam.async = false;
  1495. //oParam.callback = "cf_TXLPR01101";
  1496. tranf_submit(oParam);
  1497. // if(arErrorCode.pop("TXLPR01101") < 0)
  1498. // {
  1499. // ds_grd_rsltptnolist.setColumn(iRowNo, "choi", "0");
  1500. // }
  1501. //------------------------------
  1502. // 최종진단 저장된 전체자료 조회
  1503. fExeGridChoi2(iRowNo, 1);
  1504. ds_send.clear();
  1505. dsf_createDsRow("ds_send", [{col : "instcd", val : sysf_getUserInfo("dutplceinstcd")}
  1506. ,{col : "pid", val : ds_grd_rsltptnolist.getColumn(iRowNo, "pid")}
  1507. ,{col : "ptno", val : ds_grd_rsltptnolist.getColumn(iRowNo, "ptno")}
  1508. ,{col : "baseflagcd", val : '31'}
  1509. ,{col : "resncd", val : ds_grd_rsltptnolist.getColumn(iRowNo, "delayresncd")}]);
  1510. var oParam = {};
  1511. oParam.id = "TXLPR00104";
  1512. oParam.service = "plgyrsltmngtapp.TestRsltRgst";
  1513. oParam.method = "reqExeDelayResn";
  1514. oParam.inds = "reqdata=ds_send";
  1515. oParam.async = false;
  1516. oParam.callback = "cf_TXLPR00104";
  1517. tranf_submit(oParam);
  1518. if(arErrorCode.pop("TXLPR00104") < 0)
  1519. {
  1520. sysf_messageBox("지연사유 등록도중 오류가 발생하였습니다!", "E000");
  1521. return false;
  1522. }
  1523. //수정사유 삭제
  1524. if(ds_main_patbasicinfo.getColumn(0, "cnclresn") != "-" && !utlf_isNull(ds_main_patbasicinfo.getColumn(0, "cnclresn")))
  1525. {
  1526. var nodelist = ds_main_testrsltinfo.rowcount;
  1527. for(var i = 0; i < nodelist; i++)
  1528. {
  1529. sCheckCnclren = ds_main_testrsltinfo.getColumn(i, "reptrslt");
  1530. if(sCheckCnclresn.substr(11, 6) == "*수정사유:")
  1531. {
  1532. ds_main_testrsltinfo.setColumn(i, "reptrslt", "");
  1533. }
  1534. }
  1535. }
  1536. // 보고서 타이블 설정
  1537. switch(ds_grd_rsltptnolist.getColumn(iRowNo, "workflagcd"))
  1538. {
  1539. case "1001" :
  1540. case "1002" :
  1541. ds_main_patbasicinfo.setColumn(0, "title", "조직 검사보고서");
  1542. break;
  1543. case "1003" :ds_main_patbasicinfo.setColumn(0, "title", "세포 검사보고서");
  1544. break;
  1545. case "1004" : ds_main_patbasicinfo.setColumn(0, "title", "특수염색 검사보고서");
  1546. break;
  1547. case "1005" : ds_main_patbasicinfo.setColumn(0, "title", "면역염색 검사보고서");
  1548. break;
  1549. case "1006" : ds_main_patbasicinfo.setColumn(0, "title", "면역형광 검사보고서");
  1550. break;
  1551. case "1007" : ds_main_patbasicinfo.setColumn(0, "title", "분자병리 검사보고서");
  1552. break;
  1553. case "1008" : ds_main_patbasicinfo.setColumn(0, "title", "전자현미경 검사보고서");
  1554. break;
  1555. case "1009" : ds_main_patbasicinfo.setColumn(0, "title", "부검 검사보고서");
  1556. break;
  1557. case "1012" : ds_main_patbasicinfo.setColumn(0, "title", "골수조직 검사보고서");
  1558. break;
  1559. }
  1560. // 검사결과내용을 기준으로 인증처리
  1561. var bool = fExeMakeCertPrcs(iRowNo, ds_grd_rsltptnolist); trace(bool);
  1562. //if (!fExeMakeCertPrcs(iRowNo, ds_grd_rsltptnolist))
  1563. if(!bool)
  1564. {
  1565. // 전자인증처리 실패시 최종진단을 취소한다.
  1566. ds_grd_rsltptnolist.setColumn(iRowNo, "bizflagcd", "C");
  1567. ds_grd_rsltptnolist.setColumn(iRowNo, "choi", "0");
  1568. sErrMsg = "서버오류로 인하여 최종진단은 되었으나, 전자인증은 실패하였습니다." + "\n\n";
  1569. sErrMsg += "검사결과등록 화면에서 최종진단 취소가 ";
  1570. sysf_messageBox(sErrMsg, "I006");
  1571. return false;
  1572. }
  1573. }
  1574. else
  1575. {
  1576. sysf_messageBox("최종진단이 취소 또는 실패되었습니다! ", "I007");
  1577. return false;
  1578. }
  1579. }
  1580. }
  1581. fGetRsltPtNoList(); // 검사결과 초기화
  1582. }
  1583. function cf_TXLPR00104(sSvcId, nErrorCode, sErrorMsg) {
  1584. arErrorCode.push(sSvcId, nErrorCode);
  1585. }
  1586. function fExeGridChoi2(pRowNo, pColNo)
  1587. {
  1588. var sCheckPTNO = "";
  1589. var sBoolVal = "";
  1590. dsf_createDsRow("ds_send_refparam", [{col : "instcd", val : ds_grd_rsltptnolist.getColumn(pRowNo, "instcd")}
  1591. ,{col : "bcno", val : ds_grd_rsltptnolist.getColumn(pRowNo, "ptno")}
  1592. ,{col : "ptno", val : ds_grd_rsltptnolist.getColumn(pRowNo, "ptno")}
  1593. ,{col : "pid", val : ds_grd_rsltptnolist.getColumn(pRowNo, "pid")}
  1594. ,{col : "workflagcd", val : ds_grd_rsltptnolist.getColumn(pRowNo, "workflagcd")}
  1595. ,{col : "prcpgenrflag", val : ds_grd_rsltptnolist.getColumn(pRowNo, "prcpgenrflag")}
  1596. ,{col : "scrno", val : "10"}]);
  1597. sCheckPTNO = ds_grd_rsltptnolist.getColumn(pRowNo, "ptno");
  1598. sBoolVal = ds_grd_rsltptnolist.getColumn(pRowNo, "choi");
  1599. //--------------
  1600. // 검사결과 조회
  1601. var oParam = {};
  1602. oParam.id = "TRLPZ00107";
  1603. oParam.service = "plgyrefmngtapp.TestRsltRef";
  1604. oParam.method = "reqGetSytsTestRsltInfo";
  1605. oParam.inds = "refparam=ds_send_refparam";
  1606. oParam.outds = "ds_main_testrsltinfo=getResultDetail";
  1607. oParam.async = false;
  1608. //oParam.callback = "cf_TRLPZ00107";
  1609. tranf_submit(oParam);
  1610. dsf_createDsRow("ds_send_refData", [{col : "instcd", val : ds_grd_rsltptnolist.getColumn(pRowNo, "instcd")}
  1611. ,{col : "ptno", val : ds_grd_rsltptnolist.getColumn(pRowNo, "ptno")}
  1612. ,{col : "pid", val : ds_grd_rsltptnolist.getColumn(pRowNo, "pid")}]);
  1613. var oParam = {};
  1614. oParam.id = "TRLPZ00112";
  1615. oParam.service = "plgyrefmngtapp.TestRsltRef";
  1616. oParam.method = "reqGetPatBasicInfo";
  1617. oParam.inds = "refData=ds_send_refData";
  1618. oParam.outds = "ds_main_patbasicinfo=refrslt";
  1619. oParam.async = false;
  1620. //oParam.callback = "cf_TRLPZ00112";
  1621. tranf_submit(oParam);
  1622. // 등록된 이미지를 인증저장하기위한 이미지 파라미터 조회
  1623. dsf_createDsRow("ds_send_refparam", [{col : "ptno", val : ds_grd_rsltptnolist.getColumn(pRowNo, "ptno")}]);
  1624. var oParam = {};
  1625. oParam.id = "TRLPZ00115";
  1626. oParam.service = "plgyrefmngtapp.TestRsltRef";
  1627. oParam.method = "reqGetImgInfo";
  1628. oParam.inds = "refparam=ds_send_refparam";
  1629. oParam.outds = "ds_imginfo=getResultDetail";
  1630. oParam.async = false;
  1631. //oParam.callback = "cf_TRLPZ00115";
  1632. tranf_submit(oParam);
  1633. }
  1634. function fExeMakeCertPrcs(pRowNo, pNode)
  1635. {
  1636. if (Sign.signprocess())
  1637. {
  1638. ds_send_signdata.setColumn(0, "instcd", pNode.getColumn(pRowNo, "instcd")); // 기관코드
  1639. ds_send_signdata.setColumn(0, "pid", pNode.getColumn(pRowNo, "pid")); // 등록번호
  1640. ds_send_signdata.setColumn(0, "ptno", pNode.getColumn(pRowNo, "ptno")); // 병리번호
  1641. ds_send_signdata.setColumn(0, "orddd", pNode.getColumn(pRowNo, "orddd")); // 입원, 응급 : 입원일자, 외래 : 진료일자
  1642. if( utlf_isNull(ds_main_patbasicinfo.getColumn(0, "signno")) || ds_main_patbasicinfo.getColumn(0, "signno") == "-")
  1643. {
  1644. ds_send_signdata.setColumn(0, "signno", "0"); // 서명번호
  1645. }
  1646. else
  1647. {
  1648. ds_send_signdata.setColumn(0, "signno", ds_main_patbasicinfo.getColumn(0, "signno")); // 서명번호
  1649. }
  1650. ds_send_signdata.setColumn(0, "cretno", pNode.getColumn(pRowNo, "cretno")); // 생성번호
  1651. ds_send_signdata.setColumn(0, "recdd", utlf_getCurrentDate()); // 실제기록이 이루어진 기록일자
  1652. ds_send_signdata.setColumn(0, "rectm", utlf_getCurrentTime()); // 실제기록이 이루어진 기록시간
  1653. ds_send_signdata.setColumn(0, "recsaveflag", "N"); // 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
  1654. ds_send_signdata.setColumn(0, "signflag", "30"); // 서명자료구분(01 : 진료, 02 : 간호, 30:LIS)
  1655. ds_send_signdata.setColumn(0, "signgenrflag", pNode.getColumn(pRowNo, "prcpgenrflag")); // 입원, 외래구분
  1656. ds_send_signdata.setColumn(0, "formcd", "0000002726"); // 각 기록지별 서식코드 0000002916 : BM
  1657. ds_send_signdata.setColumn(0, "orddeptcd", pNode.getColumn(pRowNo, "orddeptcd")); // 진료과
  1658. ds_send_signdata.setColumn(0, "orddrid", pNode.getColumn(pRowNo, "orddrid")); // 진료의ID
  1659. ds_send_signdata.setColumn(0, "signbfcnts", Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보), 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
  1660. ds_send_signdata.setColumn(0, "signaftcnts", Sign.signedInfos[2]); // 공인인증 처리후 데이터
  1661. }
  1662. else
  1663. {
  1664. return false;
  1665. }
  1666. var oParam = {};
  1667. oParam.id = "TXLPR01102";
  1668. oParam.service = "plgyrsltmngtapp.TestRsltRgst";
  1669. oParam.method = "reqExeCertPrcs";
  1670. oParam.inds = "signinfo=ds_send_signdata";
  1671. oParam.outds = "ds_singinfo=singinfo";
  1672. oParam.async = false;
  1673. oParam.callback = "cf_TXLPR01102";
  1674. tranf_submit(oParam);
  1675. if(arErrorCode.pop("TXLPR01102") > -1) {
  1676. trace("signno:"+ds_singinfo.getColumn(0,"signno"));
  1677. if(ds_singinfo.getColumn(0,"signno") == "0" ) {
  1678. trace('false');
  1679. return false;
  1680. }else{
  1681. trace('true');
  1682. return true;
  1683. }
  1684. }
  1685. //return true;
  1686. }
  1687. // function cf_TXLPR01102(sSvcId, nErrorCode, sErrorMsg)
  1688. // {
  1689. // if(nErrorCode < 0) {
  1690. // return false;
  1691. // }else {
  1692. // trace("signno:"+ds_singinfo.getColumn(0,"signno"));
  1693. // if(ds_singinfo.getColumn(0,"signno") == "0" ) {
  1694. // trace('false');
  1695. // return false;
  1696. // }else{
  1697. // trace('true');
  1698. // return true;
  1699. // }
  1700. // }
  1701. // }
  1702. function cf_TXLPR01102(sSvcId, nErrorCode, sErrorMsg) {
  1703. arErrorCode.push(sSvcId, nErrorCode);
  1704. }
  1705. function grd_rsltptnolist_onheadclick(obj:Grid, e:GridClickEventInfo)
  1706. {
  1707. var cellBindVal = obj.getCellProperty("Head",e.cell,"displaytype");
  1708. if(cellBindVal == "checkbox") fn_setGridCheckAll(obj, e);
  1709. }
  1710. function cmb_delayresn_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  1711. {
  1712. for(var i = 0; i < ds_grd_rsltptnolist.rowcount; i++)
  1713. {
  1714. if(ds_grd_rsltptnolist.getColumn(i, "choi") == 1 && ds_grd_rsltptnolist.getColumn(i, "delayyn") == "지연")
  1715. {
  1716. ds_grd_rsltptnolist.setColumn(i, "delayresncd", cmb_delayresn.value);
  1717. }
  1718. }
  1719. }
  1720. ]]></Script>
  1721. </Form>
  1722. </FDL>