SMLPJ02200_처방및검체변경.xfdl 90 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMLPJ02200" position="absolute 0 0 1198 784" titletext="처방 및 검체 변경" oninit="SMLPJ02200_oninit" onload="SMLPJ02200_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 40 1197 784" id="grp_biz" scrollbars="autoboth">
  8. <Layouts>
  9. <Layout>
  10. <Div position="absolute 0 10 1194 45" align="align:center top;" id="grp_sea" class="div_SA" anchor="default">
  11. <Layouts>
  12. <Layout>
  13. <Static text="접수일자 :" position="absolute 797 10 868 26" id="caption2" class="search_name" anchor="default"/>
  14. <Static text="등록번호 :" position="absolute 519 9 591 26" id="caption4" class="search_name" anchor="default"/>
  15. <Static text="~" position="absolute 980 10 992 27" id="caption5" class="search_no_b" anchor="default"/>
  16. <Shape position="absolute 1104 7 1110 29" linetype="vertical" id="line13" class="line_4" anchor="default"/>
  17. <Calendar position="absolute 871 8 973 27" id="ipt_acptddfrom" class="input_s_essential" taborder="7" mask="yyyy-mm-dd" anchor="default"/>
  18. <Calendar position="absolute 999 8 1101 27" id="ipt_acptddto" class="input_s_essential" taborder="8" mask="yyyy-mm-dd" onkeyup="grp_biz_grp_sea_ipt_acptddto_onkeyup" anchor="default"/>
  19. <Button position="absolute 1123 7 1179 29" id="btn_sea" class="btn1" taborder="9" text="조회" onclick="grp_biz_grp_sea_btn_sea_onclick" anchor="default"/>
  20. <Edit position="absolute 597 8 727 27" id="ipt_seaval" class="input_search" taborder="6" anchor="default" onkeyup="grp_biz_grp_sea_ipt_seaval_onkeyup"/>
  21. <Combo position="absolute 93 8 254 27" id="cbo_ptnocd" taborder="1" innerdataset="ds_init_cbo_ptnocd" datacolumn="ptnonm" codecolumn="ptnocd" anchor="default"/>
  22. <Edit position="absolute 287 8 345 27" id="ipt_fromptno" class="text_center" taborder="3" anchor="default" maxlength="6"/>
  23. <Static text="병리번호 :" position="absolute 15 9 86 26" id="caption8" class="search_name" anchor="default"/>
  24. <Static text="~" position="absolute 349 11 361 28" id="caption11" class="search_no_b" anchor="default"/>
  25. <Edit position="absolute 393 8 451 27" id="input1" class="text_center" taborder="5" anchor="default" maxlength="6"/>
  26. <Edit position="absolute 363 8 390 27" id="input2" class="text_center" taborder="4" anchor="default" maxlength="2"/>
  27. <Edit position="absolute 257 8 284 27" id="ipt_fromyear" class="text_center" taborder="2" anchor="default" maxlength="2"/>
  28. </Layout>
  29. </Layouts>
  30. </Div>
  31. <Shape position="absolute 0 70 1194 76" linetype="horizontal" id="line1" class="line_1" style="strokepen:3 solid #33bbbbff;" anchor="default"/>
  32. <Static text="처방리스트" position="absolute 3 53 93 71" id="caption3" class="tit_2" anchor="default"/>
  33. <Static text="전달검체 리스트" position="absolute 3 248 126 264" id="caption7" class="tit_2" anchor="default"/>
  34. <Shape position="absolute 0 266 644 272" linetype="horizontal" id="line2" class="line_1" anchor="default" style="strokepen:3 solid #33bbbbff;"/>
  35. <Shape position="absolute 648 266 1194 272" linetype="horizontal" id="line4" class="line_1" anchor="default" style="strokepen:3 solid #33bbbbff;"/>
  36. <Static text="임상정보" position="absolute 649 248 728 264" id="caption9" class="tit_2" anchor="default"/>
  37. <TextArea position="absolute 648 270 1194 535" id="textarea1" taborder="15" anchor="default"/>
  38. <TextArea position="absolute 648 562 1194 741" id="textarea2" taborder="16" anchor="default"/>
  39. <Shape position="absolute 648 558 1194 564" linetype="horizontal" id="line5" class="line_1" anchor="default" style="strokepen:3 solid #33bbbbff;"/>
  40. <Static text="Comments" position="absolute 649 541 740 557" id="caption10" class="tit_2" anchor="default"/>
  41. <Grid position="absolute 0 74 1194 239" id="grd_acptprcplist" class="datagrid2" taborder="10" binddataset="ds_grd_acptprcplist" oncellclick="grp_biz_grd_acptprcplist_oncellclick" onselectchanged="grp_biz_grd_acptprcplist_onselectchanged" anchor="default" cellsizingtype="col" oncloseup="grp_biz_grd_acptprcplist_oncloseup" cellclickbound="control" selecttype="row" autoenter="select" onkeyup="grp_biz_grd_acptprcplist_onkeyup">
  42. <Formats>
  43. <Format id="default">
  44. <Columns>
  45. <Column size="0"/>
  46. <Column size="0"/>
  47. <Column size="23"/>
  48. <Column size="80"/>
  49. <Column size="0"/>
  50. <Column size="80"/>
  51. <Column size="70"/>
  52. <Column size="70"/>
  53. <Column size="0"/>
  54. <Column size="80"/>
  55. <Column size="70"/>
  56. <Column size="60"/>
  57. <Column size="0"/>
  58. <Column size="87"/>
  59. <Column size="110"/>
  60. <Column size="100"/>
  61. <Column size="100"/>
  62. <Column size="0"/>
  63. <Column size="80"/>
  64. <Column size="0"/>
  65. <Column size="70"/>
  66. <Column size="80"/>
  67. <Column size="0"/>
  68. <Column size="0"/>
  69. <Column size="0"/>
  70. <Column size="0"/>
  71. <Column size="0"/>
  72. <Column size="0"/>
  73. <Column size="0"/>
  74. <Column size="0"/>
  75. <Column size="0"/>
  76. <Column size="0"/>
  77. <Column size="0"/>
  78. <Column size="0"/>
  79. <Column size="0"/>
  80. <Column size="0"/>
  81. <Column size="0"/>
  82. <Column size="0"/>
  83. <Column size="90"/>
  84. <Column size="0"/>
  85. <Column size="90"/>
  86. <Column size="0"/>
  87. <Column size="0"/>
  88. <Column size="0"/>
  89. <Column size="0"/>
  90. <Column size="0"/>
  91. <Column size="0"/>
  92. <Column size="0"/>
  93. <Column size="0"/>
  94. <Column size="0"/>
  95. </Columns>
  96. <Rows>
  97. <Row size="24" band="head"/>
  98. <Row size="24" band="head"/>
  99. <Row size="24"/>
  100. </Rows>
  101. <Band id="head">
  102. <Cell text="기관코드"/>
  103. <Cell col="1" text="병리번호"/>
  104. <Cell col="2" rowspan="2" taborder="undefined"/>
  105. <Cell col="3" rowspan="2" text="병리번호" taborder="undefined"/>
  106. <Cell col="4" text="relaptno"/>
  107. <Cell col="5" rowspan="2" text="관련병리번호" taborder="undefined"/>
  108. <Cell col="6" rowspan="2" text="등록번호" taborder="undefined"/>
  109. <Cell col="7" rowspan="2" text="환자성명" taborder="undefined"/>
  110. <Cell col="8" text="prcpgenrflag"/>
  111. <Cell col="9" rowspan="2" text="환자&#10;구분" taborder="undefined"/>
  112. <Cell col="10" rowspan="2" text="처방일자" taborder="undefined"/>
  113. <Cell col="11" rowspan="2" text="처방&#10;시간" taborder="undefined"/>
  114. <Cell col="12" text="진료일자"/>
  115. <Cell col="13" colspan="2" text="변 경 전" taborder="undefined"/>
  116. <Cell col="15" colspan="2" text="변 경 후" taborder="undefined"/>
  117. <Cell col="17" text="처방과코드"/>
  118. <Cell col="18" rowspan="2" text="진료과" taborder="undefined"/>
  119. <Cell col="19" text="진료의ID"/>
  120. <Cell col="20" rowspan="2" text="진료의" taborder="undefined"/>
  121. <Cell col="21" rowspan="2" text="퇴원(예정)&#10;일자" taborder="undefined"/>
  122. <Cell col="22" text="execprcpuniqno"/>
  123. <Cell col="23" text="acptdd"/>
  124. <Cell col="24" text="acptno"/>
  125. <Cell col="25" text="acptitemno"/>
  126. <Cell col="26" text="spcacptdd"/>
  127. <Cell col="27" text="spcacptno"/>
  128. <Cell col="28" text="reqcnts"/>
  129. <Cell col="29" text="ptnocd"/>
  130. <Cell col="30" text="cretno"/>
  131. <Cell col="31" text="prcpno"/>
  132. <Cell col="32" text="reqfrmno"/>
  133. <Cell col="33" text="wardcd"/>
  134. <Cell col="34" text="roomcd"/>
  135. <Cell col="35" text="grosdrid"/>
  136. <Cell col="36" text="grosplgyid"/>
  137. <Cell col="37" text="bfspccd"/>
  138. <Cell col="38" rowspan="2" text="변경전 검체" taborder="undefined"/>
  139. <Cell col="39" text="변경전 검체"/>
  140. <Cell col="40" rowspan="2" text="변경후 검체" taborder="undefined"/>
  141. <Cell col="41" text="변경 사유"/>
  142. <Cell col="42" text="acptstatcd"/>
  143. <Cell col="43" text="afspcnm"/>
  144. <Cell col="44" text="afspcabbr"/>
  145. <Cell col="45" text="caption1"/>
  146. <Cell col="46" text="caption2"/>
  147. <Cell col="47" text="oprsrvno"/>
  148. <Cell col="48"/>
  149. <Cell col="49"/>
  150. <Cell row="1" text="기관코드"/>
  151. <Cell row="1" col="1" text="병리번호"/>
  152. <Cell row="1" col="4" text="relaptno"/>
  153. <Cell row="1" col="8" text="prcpgenrflag"/>
  154. <Cell row="1" col="12" text="진료일자"/>
  155. <Cell row="1" col="13" text="처방코드"/>
  156. <Cell row="1" col="14" text="처 방 명"/>
  157. <Cell row="1" col="15" text="처방코드"/>
  158. <Cell row="1" col="16" text="처 방 명"/>
  159. <Cell row="1" col="17" text="처방과코드"/>
  160. <Cell row="1" col="19" text="진료의ID"/>
  161. <Cell row="1" col="22" text="execprcpuniqno"/>
  162. <Cell row="1" col="23" text="acptdd"/>
  163. <Cell row="1" col="24" text="acptno"/>
  164. <Cell row="1" col="25" text="acptitemno"/>
  165. <Cell row="1" col="26" text="spcacptdd"/>
  166. <Cell row="1" col="27" text="spcacptno"/>
  167. <Cell row="1" col="28" text="reqcnts"/>
  168. <Cell row="1" col="29" text="ptnocd"/>
  169. <Cell row="1" col="30" text="cretno"/>
  170. <Cell row="1" col="31" text="prcpno"/>
  171. <Cell row="1" col="32" text="reqfrmno"/>
  172. <Cell row="1" col="33" text="wardcd"/>
  173. <Cell row="1" col="34" text="roomcd"/>
  174. <Cell row="1" col="35" text="grosdrid"/>
  175. <Cell row="1" col="36" text="grosplgyid"/>
  176. <Cell row="1" col="37" text="bfspccd"/>
  177. <Cell row="1" col="39" text="변경전 검체"/>
  178. <Cell row="1" col="41" text="변경 사유"/>
  179. <Cell row="1" col="42" text="acptstatcd"/>
  180. <Cell row="1" col="43" text="afspcnm"/>
  181. <Cell row="1" col="44" text="afspcabbr"/>
  182. <Cell row="1" col="45" text="caption1"/>
  183. <Cell row="1" col="46" text="caption2"/>
  184. <Cell row="1" col="47" text="oprsrvno"/>
  185. <Cell row="1" col="48"/>
  186. <Cell row="1" col="49"/>
  187. </Band>
  188. <Band id="body">
  189. <Cell text="bind:instcd"/>
  190. <Cell col="1" text="bind:ptno"/>
  191. <Cell col="2"/>
  192. <Cell col="3" class="text_center" text="bind:dispptno"/>
  193. <Cell col="4" text="bind:relaptno"/>
  194. <Cell col="5" text="bind:disprelaptno"/>
  195. <Cell col="6" class="text_center" text="bind:pid"/>
  196. <Cell col="7" class="text_center" text="bind:patnm"/>
  197. <Cell col="8" text="bind:prcpgenrflag"/>
  198. <Cell col="9" class="text_center" text="bind:patflagnm"/>
  199. <Cell col="10" displaytype="date" edittype="date" class="text_center" text="bind:prcpdd" mask="yyyy-MM-dd"/>
  200. <Cell col="11" displaytype="date" edittype="date" class="text_center" text="bind:prcptm" mask="hh:mm:ss"/>
  201. <Cell col="12" class="text_center" text="bind:orddd"/>
  202. <Cell col="13" style="align:left middle;" text="bind:bfprcpcd"/>
  203. <Cell col="14" style="align:left middle;" text="bind:bfprcpnm"/>
  204. <Cell col="15" displaytype="combo" edittype="combo" style="align:left middle;" text="bind:afprcpcd" combodataset="ds_testitemlist" combocodecol="testcd" combodatacol="testcd" combotype="search" id="colafprcpcd"/>
  205. <Cell col="16" displaytype="combo" edittype="combo" style="align:left middle;" text="bind:afprcpnm" combodataset="ds_testitemlist" combocodecol="testcd" combodatacol="testengnm" combodisplayrowcount="27"/>
  206. <Cell col="17" text="bind:orddeptcd"/>
  207. <Cell col="18" text="bind:orddeptnm"/>
  208. <Cell col="19" text="bind:orddrid"/>
  209. <Cell col="20" text="bind:orddrnm"/>
  210. <Cell col="21" style="align:left middle;" text="bind:dschdd"/>
  211. <Cell col="22" text="bind:execprcpuniqno"/>
  212. <Cell col="23" text="bind:acptdd"/>
  213. <Cell col="24" text="bind:acptno"/>
  214. <Cell col="25" text="bind:acptitemno"/>
  215. <Cell col="26" text="bind:spcacptdd"/>
  216. <Cell col="27" text="bind:spcacptno"/>
  217. <Cell col="28" text="bind:reqcnts"/>
  218. <Cell col="29" text="bind:ptnocd"/>
  219. <Cell col="30" text="bind:cretno"/>
  220. <Cell col="31" text="bind:prcpno"/>
  221. <Cell col="32" text="bind:reqfrmno"/>
  222. <Cell col="33" text="bind:wardcd"/>
  223. <Cell col="34" text="bind:roomcd"/>
  224. <Cell col="35" text="bind:grosdrid"/>
  225. <Cell col="36" text="bind:grosplgyid"/>
  226. <Cell col="37" text="bind:bfspccd" enable="false"/>
  227. <Cell col="38" style="align:left middle;" text="bind:spcnm"/>
  228. <Cell col="39" text="bind:bfspcabbr"/>
  229. <Cell col="40" displaytype="combo" edittype="combo" text="bind:afspccd" combodataset="ds_reprspclist" combocodecol="spccd" combodatacol="spcnm"/>
  230. <Cell col="41" text="bind:tempcol19"/>
  231. <Cell col="42" text="bind:acptstatcd"/>
  232. <Cell col="43" text="bind:afspcnm"/>
  233. <Cell col="44" text="bind:afspcabbr"/>
  234. <Cell col="45" text="bind:grostestdd"/>
  235. <Cell col="46" text="bind:grostesttm"/>
  236. <Cell col="47" text="bind:oprsrvno"/>
  237. <Cell col="48"/>
  238. <Cell col="49"/>
  239. </Band>
  240. </Format>
  241. </Formats>
  242. </Grid>
  243. <Grid position="absolute 0 270 644 741" id="grd_acptspclist" class="datagrid2" taborder="11" binddataset="ds_grd_acptspclist" autofittype="none" anchor="default" oncloseup="grp_biz_grd_acptspclist_oncloseup" cellsizingtype="col" autoenter="select">
  244. <Formats>
  245. <Format id="default">
  246. <Columns>
  247. <Column size="0"/>
  248. <Column size="0"/>
  249. <Column size="0"/>
  250. <Column size="18"/>
  251. <Column size="60"/>
  252. <Column size="0"/>
  253. <Column size="0"/>
  254. <Column size="0"/>
  255. <Column size="80"/>
  256. <Column size="156"/>
  257. <Column size="0"/>
  258. <Column size="0"/>
  259. <Column size="0"/>
  260. <Column size="0"/>
  261. <Column size="0"/>
  262. <Column size="0"/>
  263. <Column size="0"/>
  264. <Column size="80"/>
  265. <Column size="140"/>
  266. <Column size="107"/>
  267. <Column size="0"/>
  268. <Column size="0"/>
  269. </Columns>
  270. <Rows>
  271. <Row size="28" band="head"/>
  272. <Row size="49"/>
  273. </Rows>
  274. <Band id="head">
  275. <Cell text="기관코드"/>
  276. <Cell col="1" text="검체접수일자"/>
  277. <Cell col="2" text="검체접수번호"/>
  278. <Cell col="3"/>
  279. <Cell col="4" text="검체순번"/>
  280. <Cell col="5" text="ordspcacptseqno"/>
  281. <Cell col="6" text="spchistno"/>
  282. <Cell col="7" text="spcacpttm"/>
  283. <Cell col="8" text="검체코드"/>
  284. <Cell col="9" text="검 체 명"/>
  285. <Cell col="10" text="바코드번호"/>
  286. <Cell col="11" text="검체상태"/>
  287. <Cell col="12" text="spcadddd"/>
  288. <Cell col="13" text="spcaddtm"/>
  289. <Cell col="14" text="spcaddid"/>
  290. <Cell col="15" text="delflagcd"/>
  291. <Cell col="16" text="추가여부"/>
  292. <Cell col="17" text="변 경&#10;검체코드"/>
  293. <Cell col="18" text="변 경&#10;검체명"/>
  294. <Cell col="19" text="선택"/>
  295. <Cell col="20" text="ptno"/>
  296. <Cell col="21" text="delyn"/>
  297. </Band>
  298. <Band id="body">
  299. <Cell text="bind:instcd"/>
  300. <Cell col="1" text="bind:spcacptdd"/>
  301. <Cell col="2" text="bind:spcacptno"/>
  302. <Cell col="3"/>
  303. <Cell col="4" class="text_center" text="expr:currow + 001"/>
  304. <Cell col="5" text="bind:orgspcacptseqno"/>
  305. <Cell col="6" text="bind:spchistno"/>
  306. <Cell col="7" text="bind:spcacpttm"/>
  307. <Cell col="8" class="text_center" text="bind:bfspccd"/>
  308. <Cell col="9" style="align:left middle;" text="bind:bfspcnm"/>
  309. <Cell col="10" text="bind:spcbarcdno"/>
  310. <Cell col="11" text="bind:acptstatcd"/>
  311. <Cell col="12" text="bind:spcadddd"/>
  312. <Cell col="13" text="bind:spcaddtm"/>
  313. <Cell col="14" text="bind:spcaddid"/>
  314. <Cell col="15" text="bind:delflagcd"/>
  315. <Cell col="16" text="bind:addyn"/>
  316. <Cell col="17" class="text_center" text="bind:afspccd"/>
  317. <Cell col="18" displaytype="text" edittype="text" text="bind:afspcnm"/>
  318. <Cell col="19" displaytype="combo" edittype="combo" text="bind:choispccd" combodataset="ds_detlspclist" combocodecol="spccd" combodatacol="spcnm" combodisplayrowcount="20"/>
  319. <Cell col="20" text="bind:ptno"/>
  320. <Cell col="21" text="bind:delyn"/>
  321. </Band>
  322. </Format>
  323. </Formats>
  324. </Grid>
  325. <Button position="absolute 423 245 465 264" id="btn_spcadd" class="btn2" taborder="12" text="추가" onclick="grp_biz_btn_spcadd_onclick" anchor="default"/>
  326. <Button position="absolute 468 245 510 264" id="btn_spcdel" class="btn2" taborder="13" text="삭제" onclick="grp_biz_btn_spcdel_onclick" anchor="default"/>
  327. <Button position="absolute 513 245 577 264" id="btn_delcncl" class="btn2" taborder="14" text="삭제취소" anchor="default" onclick="grp_biz_btn_delcncl_onclick"/>
  328. <Button position="absolute 580 245 644 264" id="btn_spcsave" class="btn2" taborder="12" text="검체저장" onclick="grp_biz_btn_spcsave_onclick" anchor="default"/>
  329. </Layout>
  330. </Layouts>
  331. </Div>
  332. <Button id="btn_save" taborder="1" text="변경" class="btn4" position="absolute 1138 23 1194 45" onclick="btn_save_onclick"/>
  333. <Shape id="line17" linetype="horizontal" class="line_6" position="absolute 0 46 1194 52" style="strokepen:3 solid #9ebed4ff;"/>
  334. <Combo id="cmb_readdr" taborder="2" innerdataset="ds_init_cmb_readdr" codecolumn="userid" datacolumn="usernm" visible="true" position="absolute 1045 24 1120 43"/>
  335. <Static id="cap_orddrid" text="후인증 의사" class="cell_1" visible="true" position="absolute 963 22 1044 45"/>
  336. <Static id="caption6" text="처방 및 검체 변경" class="tit_1" position="absolute 0 0 140 25"/>
  337. </Layout>
  338. </Layouts>
  339. <Objects>
  340. <Dataset id="ds_init_cbo_ptnocd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  341. <ColumnInfo>
  342. <Column id="ptnonm" type="STRING"/>
  343. <Column id="ptnocd" type="STRING"/>
  344. </ColumnInfo>
  345. </Dataset>
  346. <Dataset id="ds_grd_acptprcplist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false" oncolumnchanged="ds_grd_acptprcplist_oncolumnchanged">
  347. <ColumnInfo>
  348. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  349. <Column id="ptno" type="STRING" size="256" sumtext="병리번호"/>
  350. <Column id="dispptno" type="STRING" size="256" sumtext="표시병리번호"/>
  351. <Column id="relaptno" type="STRING" size="256" sumtext="관련병리번호"/>
  352. <Column id="disprelaptno" 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="prcpgenrflag" type="STRING" size="256" sumtext="처방발생구분"/>
  356. <Column id="patflagnm" type="STRING" size="256" sumtext="환자구분명"/>
  357. <Column id="prcpdd" type="STRING" size="256" sumtext="처방일자"/>
  358. <Column id="prcptm" type="STRING" size="256" sumtext="처방시간"/>
  359. <Column id="orddd" type="STRING" size="256" sumtext="진료일자"/>
  360. <Column id="bfprcpcd" type="STRING" size="256" sumtext="변경전 처방코드"/>
  361. <Column id="bfprcpnm" type="STRING" size="256" sumtext="변경전 처방명"/>
  362. <Column id="afprcpcd" type="STRING" size="256" sumtext="변경후 처방코드"/>
  363. <Column id="afprcpnm" type="STRING" size="256" sumtext="변경후 처방명"/>
  364. <Column id="orddeptcd" type="STRING" size="256" sumtext="진료과코드"/>
  365. <Column id="orddeptnm" type="STRING" size="256" sumtext="진료과명"/>
  366. <Column id="orddrid" type="STRING" size="256" sumtext="진료의ID"/>
  367. <Column id="orddrnm" type="STRING" size="256" sumtext="진료의명"/>
  368. <Column id="dschdd" type="STRING" size="256" sumtext="퇴원(예정)일자"/>
  369. <Column id="execprcpuniqno" type="STRING" size="256" sumtext="실시처방유일번호"/>
  370. <Column id="acptdd" type="STRING" size="256" sumtext="접수일자"/>
  371. <Column id="acptno" type="STRING" size="256" sumtext="접수번호"/>
  372. <Column id="acptitemno" type="STRING" size="256" sumtext="접수항목번호"/>
  373. <Column id="spcacptdd" type="STRING" size="256" sumtext="검체접수일자"/>
  374. <Column id="spcacptno" type="STRING" size="256" sumtext="검체접수번호"/>
  375. <Column id="reqcnts" type="STRING" size="256" sumtext="의뢰지내용"/>
  376. <Column id="ptnocd" type="STRING" size="256" sumtext="병리번호코드"/>
  377. <Column id="cretno" type="STRING" size="256" sumtext="원무키번호"/>
  378. <Column id="prcpno" type="STRING" size="256" sumtext="처방번호"/>
  379. <Column id="reqfrmno" type="STRING" size="256" sumtext="처방의뢰지번호"/>
  380. <Column id="wardcd" type="STRING" size="256" sumtext="병동코드"/>
  381. <Column id="roomcd" type="STRING" size="256" sumtext="병실코드"/>
  382. <Column id="grosdrid" type="STRING" size="256" sumtext="육안검사의ID"/>
  383. <Column id="grosplgyid" type="STRING" size="256" sumtext="육안병리사ID"/>
  384. <Column id="bfspccd" type="STRING" size="256" sumtext="변경전 검체코드"/>
  385. <Column id="spcnm" type="STRING" size="256" sumtext="변경전 검체명"/>
  386. <Column id="spcabbr" type="STRING" size="256" sumtext="변경전 검체약어"/>
  387. <Column id="afspccd" type="STRING" size="256" sumtext="변경후 검체코드"/>
  388. <Column id="afspcnm" type="STRING" size="256" sumtext="변경후 검체명"/>
  389. <Column id="afspcabbr" type="STRING" size="256" sumtext="변경후 검체약어"/>
  390. <Column id="grostestdd" type="STRING" size="256" sumtext="육안검사일자"/>
  391. <Column id="grostesttm" type="STRING" size="256" sumtext="육안검사시간"/>
  392. <Column id="oprsrvno" type="STRING" size="256" sumtext="수술예약번호"/>
  393. <Column id="acptstatcd" type="STRING" size="256" sumtext="접수상태"/>
  394. <Column id="tempcol19" type="STRING" size="256" sumtext="변경사유"/>
  395. <Column id="delyn" type="STRING" size="256"/>
  396. <Column id="delflagcd" type="STRING" size="256"/>
  397. <Column id="prcpcd" type="STRING" size="256"/>
  398. <Column id="prcpnm" type="STRING" size="256"/>
  399. <Column id="status" type="STRING" size="256"/>
  400. <Column id="ordtype" type="STRING" size="256"/>
  401. <Column id="spccd" type="STRING" size="256"/>
  402. <Column id="ioflag" type="STRING" size="256"/>
  403. <Column id="indd" type="STRING" size="256"/>
  404. </ColumnInfo>
  405. </Dataset>
  406. <Dataset id="ds_grd_acptspclist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false" oncolumnchanged="ds_grd_acptspclist_oncolumnchanged">
  407. <ColumnInfo>
  408. <Column id="instcd" type="STRING"/>
  409. <Column id="spcacptdd" type="STRING"/>
  410. <Column id="spcacptno" type="STRING"/>
  411. <Column id="spcacptseqno" type="STRING"/>
  412. <Column id="orgspcacptseqno" type="STRING"/>
  413. <Column id="spchistno" type="STRING"/>
  414. <Column id="spcacpttm" type="STRING"/>
  415. <Column id="bfspccd" type="STRING"/>
  416. <Column id="bfspcnm" type="STRING"/>
  417. <Column id="spcbarcdno" type="STRING"/>
  418. <Column id="acptstatcd" type="STRING"/>
  419. <Column id="spcadddd" type="STRING"/>
  420. <Column id="spcaddtm" type="STRING"/>
  421. <Column id="spcaddid" type="STRING"/>
  422. <Column id="delflagcd" type="STRING"/>
  423. <Column id="addyn" type="STRING"/>
  424. <Column id="afspccd" type="STRING"/>
  425. <Column id="afspcnm" type="STRING"/>
  426. <Column id="choispccd" type="STRING"/>
  427. <Column id="ptno" type="STRING"/>
  428. <Column id="delyn" type="STRING"/>
  429. <Column id="spccd" type="STRING" size="256"/>
  430. <Column id="spcnm" type="STRING" size="256"/>
  431. </ColumnInfo>
  432. </Dataset>
  433. <Dataset id="ds_init_cmb_readdr" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  434. <ColumnInfo>
  435. <Column id="usernm" type="STRING"/>
  436. <Column id="userid" type="STRING"/>
  437. </ColumnInfo>
  438. </Dataset>
  439. <Dataset id="ds_data_sysdtinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  440. <ColumnInfo>
  441. <Column id="sysdd" type="STRING" size="256"/>
  442. <Column id="systm" type="STRING" size="256"/>
  443. </ColumnInfo>
  444. </Dataset>
  445. <Dataset id="ds_hosoenvinfo" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  446. <ColumnInfo>
  447. <Column id="instcd" type="STRING" size="256"/>
  448. <Column id="lendrtnterm" type="STRING" size="256"/>
  449. <Column id="recvqualmthdcd" type="STRING" size="256"/>
  450. <Column id="plgydeptcd" type="STRING" size="256"/>
  451. <Column id="plgyteamcd" type="STRING" size="256"/>
  452. <Column id="doctjobgradcd" type="STRING" size="256"/>
  453. <Column id="teamjobgradcd" type="STRING" size="256"/>
  454. </ColumnInfo>
  455. <Rows>
  456. <Row/>
  457. </Rows>
  458. </Dataset>
  459. <Dataset id="ds_testitemlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  460. <ColumnInfo>
  461. <Column id="instcd" type="STRING" size="256" sumtext="병원코드"/>
  462. <Column id="dispseqno" type="STRING" size="256" sumtext="검사코드"/>
  463. <Column id="testcd" type="STRING" size="256" sumtext="검사코드"/>
  464. <Column id="testengnm" type="STRING" size="256" sumtext="검사영문명"/>
  465. <Column id="testengabbr" type="STRING" size="256" sumtext="검사영문약어명"/>
  466. <Column id="testhngnm" type="STRING" size="256" sumtext="검사한글명"/>
  467. <Column id="testhngabbr" type="STRING" size="256" sumtext="검사한글약어명"/>
  468. <Column id="basepartcd" type="STRING" size="256" sumtext="기본파트"/>
  469. <Column id="basepartnm" type="STRING" size="256" sumtext="기본파트"/>
  470. <Column id="detlpartcd" type="STRING" size="256" sumtext="세부파트"/>
  471. <Column id="detlpartnm" type="STRING" size="256" sumtext="세부파트"/>
  472. <Column id="singletest_cnt" type="STRING" size="256" sumtext="하위검사코드개수"/>
  473. <Column id="ptnocd" type="STRING" size="256" sumtext="병리번호코드"/>
  474. <Column id="stdyptnocd" type="STRING" size="256" sumtext="연구용 병리번호코드"/>
  475. <Column id="trustptnocd" type="STRING" size="256" sumtext="수탁용 병리번호코드"/>
  476. <Column id="workflagcd" type="STRING" size="256" sumtext="작업구분코드"/>
  477. <Column id="reqfrmflagcd" type="STRING" size="256" sumtext="의뢰지구분코드"/>
  478. <Column id="choi" type="STRING" size="256" sumtext="선택"/>
  479. </ColumnInfo>
  480. </Dataset>
  481. <Dataset id="ds_reprspclist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  482. <ColumnInfo>
  483. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  484. <Column id="spccd" type="STRING" size="256" sumtext="검체코드"/>
  485. <Column id="spcnm" type="STRING" size="256" sumtext="검체명"/>
  486. <Column id="spcabbr" type="STRING" size="256" sumtext="검체약어"/>
  487. </ColumnInfo>
  488. </Dataset>
  489. <Dataset id="ds_userinfolist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  490. <ColumnInfo>
  491. <Column id="choi" type="STRING" size="256" sumtext="선택"/>
  492. <Column id="dutplceinstcd" type="STRING" size="256" sumtext="기관코드"/>
  493. <Column id="userid" type="STRING" size="256" sumtext="사용자ID"/>
  494. <Column id="usernm" type="STRING" size="256" sumtext="사용자명"/>
  495. <Column id="jobkindcd" type="STRING" size="256" sumtext="직종구분코드"/>
  496. <Column id="userabbr" type="STRING" size="256" sumtext="직종구분코드"/>
  497. <Column id="mpphonno" type="STRING" size="256" sumtext="직종구분코드"/>
  498. </ColumnInfo>
  499. </Dataset>
  500. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  501. <ColumnInfo>
  502. <Column id="ptnocode" type="STRING" size="256"/>
  503. <Column id="fromyear" type="STRING" size="256"/>
  504. <Column id="fromptno" type="STRING" size="256"/>
  505. <Column id="toyear" type="STRING" size="256"/>
  506. <Column id="toptno" type="STRING" size="256"/>
  507. <Column id="acptfromdd" type="STRING" size="256"/>
  508. <Column id="acpttodd" type="STRING" size="256"/>
  509. <Column id="readdr" type="STRING" size="256"/>
  510. <Column id="grosdr" type="STRING" size="256"/>
  511. <Column id="punch" type="STRING" size="256"/>
  512. <Column id="sysdt" type="STRING" size="256"/>
  513. <Column id="resncd" type="STRING" size="256"/>
  514. <Column id="ptnocd" type="STRING" size="256"/>
  515. <Column id="jobkindcd" type="STRING" size="256"/>
  516. <Column id="userinfo" type="STRING" size="256"/>
  517. <Column id="hospenv" type="STRING" size="256"/>
  518. <Column id="ptnocase" type="STRING" size="256"/>
  519. <Column id="pidno" type="STRING" size="256"/>
  520. <Column id="prtntestnm" type="STRING" size="256"/>
  521. <Column id="makedd" type="STRING" size="256"/>
  522. <Column id="maketm" type="STRING" size="256"/>
  523. <Column id="prntyn" type="STRING" size="256"/>
  524. <Column id="basecd" type="STRING" size="256"/>
  525. <Column id="prcpfromdd" type="STRING" size="256"/>
  526. <Column id="prcptodd" type="STRING" size="256"/>
  527. <Column id="refval" type="STRING" size="256"/>
  528. <Column id="refmthd" type="STRING" size="256"/>
  529. <Column id="ordinfo" type="STRING" size="256"/>
  530. <Column id="cmtcnts" type="STRING" size="256"/>
  531. </ColumnInfo>
  532. <Rows>
  533. <Row/>
  534. </Rows>
  535. </Dataset>
  536. <Dataset id="ds_jaewoninfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  537. <ColumnInfo>
  538. <Column id="jaewon" type="STRING" size="256"/>
  539. </ColumnInfo>
  540. <Rows>
  541. <Row/>
  542. </Rows>
  543. </Dataset>
  544. <Dataset id="ds_prcpspclist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  545. <ColumnInfo>
  546. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  547. <Column id="spcacptdd" type="STRING" size="256" sumtext="검체접수일자"/>
  548. <Column id="spcacptno" type="STRING" size="256" sumtext="검체접수번호"/>
  549. <Column id="spcacptseqno" type="STRING" size="256" sumtext="검체접수일련번호"/>
  550. <Column id="spchistno" type="STRING" size="256" sumtext="검체이력번호"/>
  551. <Column id="spcacpttm" type="STRING" size="256" sumtext="검체접수시간"/>
  552. <Column id="spccd" type="STRING" size="256" sumtext="검체코드"/>
  553. <Column id="spcnm" type="STRING" size="256" sumtext="검체명"/>
  554. <Column id="spcbarcdno" type="STRING" size="256" sumtext="검체바코드번호"/>
  555. <Column id="acptstatcd" type="STRING" size="256" sumtext="접수상태코드"/>
  556. <Column id="spcadddd" type="STRING" size="256" sumtext="검체추가일자"/>
  557. <Column id="spcaddtm" type="STRING" size="256" sumtext="검체추가시간"/>
  558. <Column id="spcaddid" type="STRING" size="256" sumtext="검체추가자ID"/>
  559. <Column id="delflagcd" type="STRING" size="256" sumtext="사용여부구분"/>
  560. <Column id="addyn" type="STRING" size="256" sumtext="추가여부"/>
  561. <Column id="delyn" type="STRING" size="256" sumtext="삭제여부"/>
  562. <Column id="ptno" type="STRING" size="256" sumtext="병리번호"/>
  563. </ColumnInfo>
  564. </Dataset>
  565. <Dataset id="ds_send2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  566. <ColumnInfo>
  567. <Column id="instcd" type="STRING" size="256"/>
  568. <Column id="testcd" type="STRING" size="256"/>
  569. <Column id="reprspccd" type="STRING" size="256"/>
  570. <Column id="spcflagcd" type="STRING" size="256"/>
  571. </ColumnInfo>
  572. <Rows>
  573. <Row/>
  574. </Rows>
  575. </Dataset>
  576. <Dataset id="ds_detlspclist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  577. <ColumnInfo>
  578. <Column id="choi" type="STRING" size="256" sumtext="선택"/>
  579. <Column id="spccd" type="STRING" size="256" sumtext="검체코드"/>
  580. <Column id="spcnm" type="STRING" size="256" sumtext="검체명칭"/>
  581. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  582. </ColumnInfo>
  583. <Rows>
  584. <Row/>
  585. </Rows>
  586. </Dataset>
  587. <Dataset id="ds_reqfrminfocnts" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  588. <ColumnInfo>
  589. <Column id="reqcnts" type="STRING" size="256" sumtext="의뢰지내용"/>
  590. </ColumnInfo>
  591. </Dataset>
  592. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  593. <ColumnInfo>
  594. <Column id="reqfrminfocnts" type="STRING" size="256"/>
  595. <Column id="readdrid" type="STRING" size="256"/>
  596. <Column id="afcertyn" type="STRING" size="256"/>
  597. </ColumnInfo>
  598. <Rows>
  599. <Row/>
  600. </Rows>
  601. </Dataset>
  602. <Dataset id="ds_choispclist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  603. <ColumnInfo>
  604. <Column id="choi" type="STRING" size="256"/>
  605. <Column id="spcseqno" type="STRING" size="256"/>
  606. <Column id="spccd" type="STRING" size="256"/>
  607. <Column id="spcnm" type="STRING" size="256"/>
  608. <Column id="existyn" type="STRING" size="256"/>
  609. </ColumnInfo>
  610. </Dataset>
  611. </Objects>
  612. <Bind>
  613. <BindItem id="item0" compid="grp_biz.grp_sea.ipt_fromyear" propid="value" datasetid="ds_init" columnid="fromyear"/>
  614. <BindItem id="item1" compid="grp_biz.grp_sea.ipt_fromptno" propid="value" datasetid="ds_init" columnid="fromptno"/>
  615. <BindItem id="item2" compid="grp_biz.grp_sea.input2" propid="value" datasetid="ds_init" columnid="toyear"/>
  616. <BindItem id="item3" compid="grp_biz.grp_sea.input1" propid="value" datasetid="ds_init" columnid="toptno"/>
  617. <BindItem id="item4" compid="grp_biz.grp_sea.ipt_acptddfrom" propid="value" datasetid="ds_init" columnid="prcpfromdd"/>
  618. <BindItem id="item5" compid="grp_biz.grp_sea.ipt_acptddto" propid="value" datasetid="ds_init" columnid="prcptodd"/>
  619. <BindItem id="item6" compid="grp_biz.textarea1" propid="value" datasetid="ds_init" columnid="ordinfo"/>
  620. <BindItem id="item7" compid="grp_biz.textarea2" propid="value" datasetid="ds_init" columnid="cmtcnts"/>
  621. <BindItem id="item8" compid="grp_biz.grp_sea.cbo_ptnocd" propid="value" datasetid="ds_init" columnid="ptnocode"/>
  622. <BindItem id="item9" compid="cmb_readdr" propid="value" datasetid="ds_hidden" columnid="readdrid"/>
  623. <BindItem id="item10" compid="grp_biz.grp_sea.ipt_seaval" propid="value" datasetid="ds_init" columnid="refval"/>
  624. </Bind>
  625. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  626. * System Name :
  627. * Job Name :
  628. * Creator :
  629. * Make Date : 2015-11-13
  630. * Description :
  631. *---------------------------------------------------------------------------------------
  632. * Modify Date Modifier Modify Description
  633. *---------------------------------------------------------------------------------------
  634. * 2015-11-13 Live Converter TF->XP
  635. *
  636. *---------------------------------------------------------------------------------------
  637. ****************************************************************************************/
  638. include "com_commonxp::comm_main.xjs";
  639. include "lis_commonxp::LPZ001.xjs";
  640. include "com_commodulexp::SSZFM00901.xjs"
  641. function SMLPJ02200_oninit(obj:Form, e:InitEventInfo)
  642. {
  643. frmf_initForm(obj);
  644. }
  645. function SMLPJ02200_onload(obj:Form, e:LoadEventInfo)
  646. {
  647. grdf_initGrid(grp_biz.grd_acptprcplist);
  648. grdf_initGrid(grp_biz.grd_acptspclist);
  649. grdf_setRowTypeIcon(grp_biz.grd_acptprcplist, 2);
  650. grdf_setRowTypeIcon(grp_biz.grd_acptspclist, 3);
  651. fExeInitialize();
  652. }
  653. function fExeInitialize()
  654. {
  655. var sCurDate = "";
  656. var menuparam = frmf_getMenuParam();
  657. //--------------------------------
  658. //model.removeNodeset("/root/send");
  659. //model.removeNodeset("/root/main/acptprcp/acptprcplist");
  660. //model.removeNodeset("/root/main/prcpspc/prcpspclist");
  661. //model.removeNodeset("/root/main/updtspc/updtspclist");
  662. // 시스템 일시 조회
  663. dsf_createDsRow("ds_send", [{col : "instcd", val : sysf_getUserInfo("dutplceinstcd")}]);
  664. //submit("TRLPZ00102", false);
  665. var oParam = {};
  666. oParam.id = "TRLPZ00102";
  667. oParam.service = "plgycomnusemngtapp.BaseInfoCode";
  668. oParam.method = "reqGetSystemDateTimeInformation";
  669. oParam.inds = "refData=ds_send";
  670. oParam.outds = "ds_data_sysdtinfo=sysdtinfo";
  671. oParam.async = false;
  672. //oParam.callback = "cf_TRLPZ00102";
  673. tranf_submit(oParam);
  674. dsf_createDsRow("ds_send", [{col : "instcd", val : sysf_getUserInfo("dutplceinstcd")}
  675. ,{col : "refflagcd", val : 0 }]);
  676. //submit("TRLPZ00109", false);
  677. var oParam = {};
  678. oParam.id = "TRLPZ00109";
  679. oParam.service = "plgycomnusemngtapp.BaseInfoCode";
  680. oParam.method = "reqGetPtNoCdList";
  681. oParam.inds = "refdata=ds_send";
  682. oParam.outds = "ds_init_cbo_ptnocd=rsltlist";
  683. oParam.async = false;
  684. //oParam.callback = "cf_TRLPZ00109";
  685. tranf_submit(oParam);
  686. dsf_createDsRow("ds_send", [{col : "instcd", val : sysf_getUserInfo("dutplceinstcd")}]);
  687. //submit("TRLPZ00101", false);
  688. var oParam = {};
  689. oParam.id = "TRLPZ00101";
  690. oParam.service = "plgycomnusemngtapp.BaseInfoCode";
  691. oParam.method = "reqGetHospitalEnvironmentSetInfo";
  692. oParam.inds = "refData=ds_send";
  693. oParam.outds = "ds_hosoenvinfo=hospenvinfo";
  694. oParam.async = false;
  695. //oParam.callback = "cf_TRLPZ00101";
  696. tranf_submit(oParam);
  697. // 검사항목 목록 조회
  698. dsf_createDsRow("ds_send", [{col : "instcd", val : sysf_getUserInfo("dutplceinstcd")}
  699. ,{col : "delflagcd", val : "0"}
  700. ,{col : "refflag", val : "0"}
  701. ,{col : "refval", val : ""}]);
  702. //submit("TRLPC00401", false);
  703. var oParam = {};
  704. oParam.id = "TRLPC00401";
  705. oParam.service = "plgybaseinfomngtapp.TestCode";
  706. oParam.method = "reqGetTestCodeList";
  707. oParam.inds = "refData=ds_send";
  708. oParam.outds = "ds_testitemlist=rsltlist";
  709. oParam.async = false;
  710. //oParam.callback = "cf_TRLPC00401";
  711. tranf_submit(oParam);
  712. dsf_createDsRow("ds_send", [{col : "instcd", val : sysf_getUserInfo("dutplceinstcd")}
  713. ,{col : "spcflagcd", val : "0"}
  714. ,{col : "delflagcd", val : "0"}]);
  715. //submit("TRLPJ01503", false); // 모든 검체목록 조회
  716. var oParam = {};
  717. oParam.id = "TRLPJ01503";
  718. oParam.service = "plgyacptmngtapp.SpecimenAccept";
  719. oParam.method = "reqGetSpecimanCodeList";
  720. oParam.inds = "refData=ds_send";
  721. oParam.outds = "ds_reprspclist=refrslt";
  722. oParam.async = false;
  723. //oParam.callback = "cf_TRLPJ01503";
  724. tranf_submit(oParam);
  725. // 의사목록 조회....
  726. dsf_createDsRow("ds_send", [{col : "instcd", val : sysf_getUserInfo("dutplceinstcd")}
  727. ,{col : "userdeptcd", val : "-"}
  728. ,{col : "doctjobgradcd", val : "-"} // 예문 추가시 의사만 보일 수 있도록
  729. ,{col : "teamjobgradcd", val : "-"}]);
  730. //submit("TRLPZ00105");
  731. var oParam = {};
  732. oParam.id = "TRLPZ00105";
  733. oParam.service = "plgycomnusemngtapp.BaseInfoCode";
  734. oParam.method = "reqGetUserInfoList";
  735. oParam.inds = "refdata=ds_send";
  736. oParam.outds = "ds_userinfolist=reflist";
  737. oParam.async = false;
  738. //oParam.callback = "cf_TRLPZ00105";
  739. tranf_submit(oParam);
  740. fdsf_createDsFilter("ds_userinfolist1", "ds_userinfolist", "jobkindcd=='1'");
  741. cmb_readdr.innerdataset = ds_userinfolist1;
  742. cmb_readdr.codecolumn = "userid";
  743. cmb_readdr.datacolumn = "usernm";
  744. dsf_createDsRow("ds_basecdlist", [{col : "instcd", val : sysf_getUserInfo("dutplceinstcd")}
  745. ,{col : "testcd", val : "-"}
  746. ,{col : "testengnm", val : "-"}
  747. ,{col : "testengabbr", val : "-"}
  748. ,{col : "testhngnm", val : "-"}
  749. ,{col : "testhngabbr", val : "-"}]);
  750. sCurDate = ds_data_sysdtinfo.getColumn(0, "sysdd");
  751. //------------
  752. // 초기값 설정
  753. ds_init.setColumn(0, "refval", ""); // 검색값
  754. ds_init.setColumn(0, "refmthd", "1"); // 0:병리번호, 1:등록번호, 2:환자명
  755. ds_init.setColumn(0, "prcpfromdd", ds_data_sysdtinfo.getColumn(0, "sysdd")); // 처방시작일자
  756. ds_init.setColumn(0, "prcptodd", ds_data_sysdtinfo.getColumn(0, "sysdd")); // 처방종료일자
  757. // ds_init.setColumn(0, "prcpfromdd", "20170112");
  758. // ds_init.setColumn(0, "prcptodd", "20170115");
  759. ds_init.setColumn(0, "ordinfo", "");
  760. ds_init.setColumn(0, "cmtcnts", "");
  761. ds_init.setColumn(0, "ptnocode", "");
  762. ds_init.setColumn(0, "fromyear", sCurDate.substr(2,2));
  763. ds_init.setColumn(0, "toyear", sCurDate.substr(2,2));
  764. ds_init.setColumn(0, "fromptno", "");
  765. ds_init.setColumn(0, "toptno", "");
  766. fGetAcptPrcpList();
  767. //---------------------
  768. if (menuparam == "1")
  769. {
  770. // Continue
  771. }
  772. else
  773. {
  774. //-------------------------------------
  775. // WorkList화면에서 호출할 경우 처리
  776. if (opener.frmf_getParameter("SMLPJ01000_scrno") == "SMLPP00200")
  777. {
  778. ds_init.setColumn(0, "ptnocode", opener.frmf_getParameter("SMLPJ01000_ptnocd"));
  779. ds_init.setColumn(0, "fromyear", opener.frmf_getParameter("SMLPJ01000_year"));
  780. ds_init.setColumn(0, "toyear", opener.frmf_getParameter("SMLPJ01000_year"));
  781. ds_init.setColumn(0, "fromptno", opener.frmf_getParameter("SMLPJ01000_no"));
  782. ds_init.setColumn(0, "toptno", opener.frmf_getParameter("SMLPJ01000_no"));
  783. ds_init.setColumn(0, "prcpfromdd", opener.frmf_getParameter("SMLPJ01000_acptdd"));
  784. ds_init.setColumn(0, "prcptodd", opener.frmf_getParameter("SMLPJ01000_acptdd"));
  785. fGetAcptPrcpList();
  786. }
  787. }
  788. //후인증여부확인.
  789. //if(model.getValue("/root/init/userinfo/userinfolist[userid="+ getUserId() +" and jobkindcd=1]/usernm") != "")
  790. fdsf_createDsFilter("ds_userinfolist1", "ds_userinfolist", "userid=="+sysf_getUserId()+" && jobkindcd=='1'");
  791. if(!utlf_isNull(ds_userinfolist1.getColumn("userid=='"+sysf_getUserId()+" && jobkindcd == '1'", "usernm")))
  792. {
  793. //model.makeValue("/root/hidden/afcertyn", "N");
  794. ds_hidden.setColumn(0, "afcertyn", "N");
  795. cap_orddrid.visible = false;
  796. cmb_readdr.visible = false;
  797. }
  798. else
  799. {
  800. //model.makeValue("/root/hidden/afcertyn", "Y");
  801. ds_hidden.setColumn(0, "afcertyn", "Y");
  802. cap_orddrid.visible = true;
  803. cmb_readdr.visible = true;
  804. }
  805. fdsf_createDsFilter("ds_userinfolist1", "ds_userinfolist", "jobkindcd=='1'");
  806. }
  807. function fGetAcptPrcpList()
  808. {
  809. var sTemp = "";
  810. ds_init.setColumn(0, "ordinfo", "");
  811. if( !utlf_isNull(ds_init.getColumn(0, "ptnocode")))
  812. {
  813. if( utlf_isNull(ds_init.getColumn(0, "fromyear")))
  814. {
  815. ds_init.setColumn(0, "fromyear", sFromDD.substr(2,2));
  816. }
  817. else
  818. {
  819. sTemp = ds_init.getColumn(0, "fromyear");
  820. ds_init.setColumn(0, "fromyear", sTemp.getLeftPad(2, "0"));
  821. }
  822. if( utlf_isNull(ds_init.getColumn(0, "toyear")))
  823. {
  824. ds_init.setColumn(0, "toyear", sToDD.substr(2,2));
  825. }
  826. else
  827. {
  828. sTemp = ds_init.getColumn(0, "toyear");
  829. ds_init.setColumn(0, "toyear", sTemp.getLeftPad(2, "0"));
  830. }
  831. if( utlf_isNull(ds_init.getColumn(0, "fromptno")))
  832. {
  833. ds_init.setColumn(0, "fromptno", "000000");
  834. }
  835. else
  836. {
  837. sTemp = ds_init.getColumn(0, "fromptno");
  838. ds_init.setColumn(0, "fromptno", sTemp.getLeftPad(6, "0"));
  839. }
  840. if( utlf_isNull(ds_init.getColumn(0, "toptno")))
  841. {
  842. ds_init.setColumn(0, "toptno", "999999");
  843. }
  844. else
  845. {
  846. sTemp = ds_init.getColumn(0, "toptno");
  847. ds_init.setColumn(0, "toptno", sTemp.getLeftPad(6, "0"));
  848. }
  849. }
  850. sTemp = ds_init.getColumn(0, "ptnocode");
  851. trace("sTemp================"+sTemp);
  852. dsf_createDsRow( "ds_send", [{col : "instcd", val : sysf_getUserInfo("dutplceinstcd")} // 기관코드
  853. ,{col : "refval", val : ds_init.getColumn(0, "refval")} // 검색값
  854. ,{col : "refmthd", val : ds_init.getColumn(0, "refmthd")} // 검색방법(0:병리번호,1:등록번호,2:환자명)
  855. ,{col : "prcpfromdd", val : ds_init.getColumn(0, "prcpfromdd")} // 처방시작일자
  856. ,{col : "prcptodd", val : ds_init.getColumn(0, "prcptodd")} // 처방종료일자
  857. ,{col : "ptnocode", val : sTemp}//.replace("-", "")
  858. ,{col : "fromyear", val : ds_init.getColumn(0, "fromyear")}
  859. ,{col : "fromptno", val : ds_init.getColumn(0, "fromptno")}
  860. ,{col : "toyear", val : ds_init.getColumn(0, "toyear")}
  861. ,{col : "toptno", val : ds_init.getColumn(0, "toptno")}])
  862. //submit("TRLPJ02201");
  863. var oParam = {};
  864. oParam.id = "TRLPJ02201";
  865. oParam.service = "plgyacptmngtapp.SpecimenAccept";
  866. oParam.method = "reqGetPrcpUpdtList";
  867. oParam.inds = "refData=ds_send";
  868. oParam.outds = "ds_grd_acptprcplist=refrslt";
  869. oParam.async = false;
  870. //oParam.callback = "cf_TRLPJ02201";
  871. tranf_submit(oParam);
  872. ds_grd_acptprcplist.updatecontrol = false;
  873. for(var i = 0; i < ds_grd_acptprcplist.rowcount; i++)
  874. {
  875. ds_grd_acptprcplist.setColumn(i, "afspccd", "-");
  876. ds_grd_acptprcplist.setColumn(i, "afspcnm", "-");
  877. ds_grd_acptprcplist.setColumn(i, "afspcabbr", "-");
  878. ds_grd_acptprcplist.setColumn(i, "spccd", ds_grd_acptprcplist.getColumn(i, "bfspccd"));
  879. }
  880. ds_grd_acptprcplist.updatecontrol = true;
  881. ds_choispclist.clearData();
  882. }
  883. // function cf_TRLPJ02201(sSvcId, nErrorCode, sErrorMsg)
  884. // {
  885. // if(nErrorCode < 0) return;
  886. //
  887. // for(var i = 0; i < ds_grd_acptprcplist.rowcount; i++)
  888. // {
  889. // lf_convertXmlToDs(ds_grd_acptprcplist.getColumn(i,"reqcnts"));
  890. // }
  891. // //lf_convertXmlToDs(ds_grd_acptprcplist.getColumn(ds_grd_acptprcplist.rowposition,"reqfrminfo"));.
  892. //
  893. //
  894. // }
  895. //변경검체의 검체 추가 시 처리 Function
  896. function fExeSpcLnAdd()
  897. {
  898. var sBarCdNo = "";
  899. var sSpcSeqNo = "";;
  900. var sDescNode = ds_grd_acptspclist;
  901. //var sCopyNode = ds_grd_acptspclist;
  902. var iRowCnt = ds_grd_acptspclist.rowcount;
  903. var iChk = 0;
  904. //프로즌 검체 여부를 체크하여 경고 메세지를 보여줌.
  905. var sPrcpCd = ds_grd_acptprcplist.getColumn(Number(ds_grd_acptprcplist.rowposition), "bfprcpcd");
  906. trace("sPrcpCd ="+sPrcpCd);
  907. for(var iNodeCnt = 0; iNodeCnt < ds_testitemlist.rowcount; iNodeCnt++)
  908. {
  909. if(ds_testitemlist.getColumn(iNodeCnt, "testcd") == sPrcpCd)
  910. {
  911. if(ds_testitemlist.getColumn(iNodeCnt, "workflagcd") == "1002")
  912. {
  913. if(sysf_messageBox("프로즌 검체 입니다. 주의 하십시오. ", "Q003") != "6")
  914. {
  915. return;
  916. }
  917. break;
  918. }
  919. }
  920. }
  921. //-----------------
  922. if (iRowCnt <= 0)
  923. {
  924. sysf_messageBox("원 처방을 선택하여 검체를 조회하십시오! 검체를 추가 ", "E001");
  925. return false;
  926. }
  927. else
  928. {
  929. iRowCnt = Number(iRowCnt);
  930. trace("iRowCnt="+iRowCnt);
  931. ds_grd_acptspclist.addRow();
  932. sBarCdNo = ds_grd_acptspclist.getColumn(0, "spcbarcdno");
  933. sBarCdNo = utlf_transNullToEmpty(sBarCdNo).substr(0, 9);
  934. trace("sBarCdNo="+sBarCdNo);
  935. //------------------------------------
  936. sSpcSeqNo = fExeMakeSpcSeqNo(iRowCnt);
  937. trace("sSpcSeqNo="+sSpcSeqNo);
  938. sBarCdNo += sSpcSeqNo.substr(1,2);
  939. trace("sBarCdNo="+sBarCdNo);
  940. var iRow = ds_grd_acptprcplist.rowposition;
  941. ds_grd_acptspclist.setColumn(iRowCnt, "instcd", ds_grd_acptspclist.getColumn(0, "instcd"));
  942. ds_grd_acptspclist.setColumn(iRowCnt, "spcacptdd", ds_grd_acptspclist.getColumn(0, "spcacptdd"));
  943. ds_grd_acptspclist.setColumn(iRowCnt, "spcacptno", ds_grd_acptspclist.getColumn(0, "spcacptno"));
  944. ds_grd_acptspclist.setColumn(iRowCnt, "spcacptseqno", sSpcSeqNo);
  945. ds_grd_acptspclist.setColumn(iRowCnt, "orgspcacptseqno", "0");
  946. ds_grd_acptspclist.setColumn(iRowCnt, "spchistno", ds_grd_acptspclist.getColumn(0, "spchistno"));
  947. ds_grd_acptspclist.setColumn(iRowCnt, "spcacpttm", ds_grd_acptspclist.getColumn(0, "spcacpttm"));
  948. ds_grd_acptspclist.setColumn(iRowCnt, "bfspccd", "-");
  949. ds_grd_acptspclist.setColumn(iRowCnt, "bfspcnm", "-");
  950. ds_grd_acptspclist.setColumn(iRowCnt, "spcbarcdno", sBarCdNo);
  951. ds_grd_acptspclist.setColumn(iRowCnt, "acptstatcd", ds_grd_acptspclist.getColumn(0, "acptstatcd"));
  952. ds_grd_acptspclist.setColumn(iRowCnt, "addyn", "Y");
  953. ds_grd_acptspclist.setColumn(iRowCnt, "delyn", "N");
  954. ds_grd_acptspclist.setColumn(iRowCnt, "afspccd", "");
  955. ds_grd_acptspclist.setColumn(iRowCnt, "afspcnm", "");
  956. ds_grd_acptspclist.setColumn(iRowCnt, "choispccd", "");
  957. ds_grd_acptspclist.setColumn(iRowCnt, "spcadddd", ds_data_sysdtinfo.getColumn(0, "sysdd"));
  958. ds_grd_acptspclist.setColumn(iRowCnt, "spcaddtm", ds_data_sysdtinfo.getColumn(0, "systm"));
  959. ds_grd_acptspclist.setColumn(iRowCnt, "spcaddid", sysf_getUserInfo("userid"));
  960. ds_grd_acptspclist.setColumn(iRowCnt, "delflagcd", ds_grd_acptspclist.getColumn(0, "acptstatcd"));
  961. ds_grd_acptspclist.setColumn(iRowCnt, "ptno", ds_grd_acptspclist.getColumn(0, "acptstatcd"));
  962. }
  963. }
  964. function fExeComboChange()
  965. {
  966. ds_grd_acptspclist.clearData();
  967. var iRowNo = Number(ds_grd_acptprcplist.rowposition);
  968. var iColNo = grp_biz.grd_acptprcplist.currentcol
  969. var sSrcNode = ds_grd_acptprcplist;
  970. //재원 유무 체크
  971. fJaewon_yn();
  972. fExePrcpClick();
  973. //----------------------------------
  974. // 변경 후 처방명을 클릭할 경우 처리
  975. if (iColNo == 15 || iColNo == 16)
  976. {
  977. var sPtNoCD = ds_grd_acptprcplist.getColumn(iRowNo, "ptnocd");
  978. ds_testitemlist.filterstr = "ptnocd=='" + sPtNoCD + "' || stdyptnocd=='" + sPtNoCD + "' || trustptnocd=='" +sPtNoCD +"'";
  979. }
  980. }
  981. function fJaewon_yn()
  982. {
  983. var iRowNo = ds_grd_acptprcplist.rowposition;
  984. var sjaewonNode = ds_jaewoninfo;
  985. var sSrcNode = ds_grd_acptprcplist;
  986. dsf_createDsRow("ds_temp_search", [{col : "instcd", val : ds_grd_acptprcplist.getColumn(iRowNo, "instcd")} //기관코드
  987. ,{col : "spcacptdd", val : ds_grd_acptprcplist.getColumn(iRowNo, "spcacptdd")} //검체접수일자
  988. ,{col : "spcacptno", val : ds_grd_acptprcplist.getColumn(iRowNo, "spcacptno")} //검체접수번호
  989. // ,{col : "delflagcd", val : ds_grd_acptprcplist.getColumn(iRowNo, "delflagcd")} //삭제구분코드
  990. ,{col : "ptno", val : ds_grd_acptprcplist.getColumn(iRowNo, "ptno")} //병리번호
  991. ,{col : "pid", val : ds_grd_acptprcplist.getColumn(iRowNo, "pid")}]); //차트번호
  992. var oParam = {};
  993. oParam.id = "TRLPJ02204";
  994. oParam.service = "plgyacptmngtapp.SpecimenAccept";
  995. oParam.method = "reqGetjaewon";
  996. oParam.inds = "refData=ds_temp_search";
  997. oParam.outds = "ds_jaewoninfo=jaewoninfo";
  998. oParam.async = false;
  999. //oParam.callback = "cf_TRLPJ02204";
  1000. tranf_submit(oParam);
  1001. for (var iNo = 0; iNo < ds_jaewoninfo.rowcount; iNo++)
  1002. {
  1003. if(ds_jaewoninfo.getColumn(iNo, "jaewon") == "N")
  1004. {
  1005. sysf_messageBox("가퇴원 또는 퇴원 환자입니다. 확인하세요");
  1006. }
  1007. }
  1008. }
  1009. //처방의뢰지 내용 표시 처리 Function
  1010. function fExePrcpClick()
  1011. {
  1012. trace("처방의뢰지 내용 표시 처리");
  1013. ds_send.clearData();
  1014. var iRowNo = ds_grd_acptprcplist.rowposition;
  1015. var sSrcNode = ds_grd_acptprcplist;
  1016. var sDescNode = ds_prcpspclist;
  1017. var sCopyNode = ds_grd_acptspclist;
  1018. var sjaewonNode = ds_jaewoninfo;
  1019. ds_grd_acptspclist.clearData();
  1020. objDomParser = new DomParser;
  1021. objDOM = objDomParser.parseFromString(ds_grd_acptprcplist.getColumn(iRowNo, "reqcnts"));
  1022. var reqcnts = rptf_getValueFromDOM(objDOM, "/reqfrminfo/reqcnts");
  1023. ds_init.setColumn(0, "ordinfo", reqcnts);
  1024. dsf_createDsRow( "ds_send1", [{col : "instcd", val : sysf_getUserInfo("dutplceinstcd")} // 기관코드
  1025. ,{col : "spcacptdd", val : ds_grd_acptprcplist.getColumn(iRowNo, "spcacptdd")} // 검체접수일자
  1026. ,{col : "spcacptno", val : ds_grd_acptprcplist.getColumn(iRowNo, "spcacptno")} // 검체접수번호
  1027. ,{col : "ptno", val : ds_grd_acptprcplist.getColumn(iRowNo, "ptno")} // 병리번호
  1028. ,{col : "delflagcd", val : "0"}]); // 삭제구분코드
  1029. //submit("TRLPJ02202");
  1030. var oParam = {};
  1031. oParam.id = "TRLPJ02202";
  1032. oParam.service = "plgyacptmngtapp.SpecimenAccept";
  1033. oParam.method = "reqGetAcptSpcList";
  1034. oParam.inds = "refData=ds_send1";
  1035. oParam.outds = "ds_prcpspclist=refrslt";
  1036. oParam.async = false;
  1037. //oParam.callback = "cf_TRLPJ02202";
  1038. tranf_submit(oParam);
  1039. //ds_grd_acptprcplist.updatecontrol = false;
  1040. ds_grd_acptspclist.updatecontrol = false;
  1041. // 접수검체의 목록을 변경대상으로 복사
  1042. for(var iNo = 0; iNo < ds_prcpspclist.rowcount; iNo++)
  1043. {
  1044. ds_grd_acptspclist.addRow();
  1045. ds_grd_acptspclist.setColumn(iNo, "instcd", ds_prcpspclist.getColumn(iNo, "instcd"));
  1046. ds_grd_acptspclist.setColumn(iNo, "spcacptdd", ds_prcpspclist.getColumn(iNo, "spcacptdd"));
  1047. ds_grd_acptspclist.setColumn(iNo, "spcacptno", ds_prcpspclist.getColumn(iNo, "spcacptno"));
  1048. ds_grd_acptspclist.setColumn(iNo, "spcacptseqno", ds_prcpspclist.getColumn(iNo, "spcacptseqno"));
  1049. ds_grd_acptspclist.setColumn(iNo, "orgspcacptseqno", ds_prcpspclist.getColumn(iNo, "spcacptseqno"));
  1050. ds_grd_acptspclist.setColumn(iNo, "spchistno", ds_prcpspclist.getColumn(iNo, "spchistno"));
  1051. ds_grd_acptspclist.setColumn(iNo, "spcacpttm", ds_prcpspclist.getColumn(iNo, "spcacpttm"));
  1052. ds_grd_acptspclist.setColumn(iNo, "bfspccd", ds_prcpspclist.getColumn(iNo, "spccd"));
  1053. ds_grd_acptspclist.setColumn(iNo, "bfspcnm", ds_prcpspclist.getColumn(iNo, "spcnm"));
  1054. ds_grd_acptspclist.setColumn(iNo, "spcbarcdno", ds_prcpspclist.getColumn(iNo, "spcbarcdno"));
  1055. ds_grd_acptspclist.setColumn(iNo, "acptstatcd", ds_prcpspclist.getColumn(iNo, "acptstatcd"));
  1056. ds_grd_acptspclist.setColumn(iNo, "spcadddd", ds_prcpspclist.getColumn(iNo, "spcadddd"));
  1057. ds_grd_acptspclist.setColumn(iNo, "spcaddtm", ds_prcpspclist.getColumn(iNo, "spcaddtm"));
  1058. ds_grd_acptspclist.setColumn(iNo, "spcaddid", ds_prcpspclist.getColumn(iNo, "spcaddid"));
  1059. ds_grd_acptspclist.setColumn(iNo, "delflagcd", ds_prcpspclist.getColumn(iNo, "delflagcd"));
  1060. ds_grd_acptspclist.setColumn(iNo, "addyn", ds_prcpspclist.getColumn(iNo, "addyn"));
  1061. ds_grd_acptspclist.setColumn(iNo, "delyn", ds_prcpspclist.getColumn(iNo, "delyn"));
  1062. ds_grd_acptspclist.setColumn(iNo, "ptno", ds_prcpspclist.getColumn(iNo, "ptno"));
  1063. ds_grd_acptspclist.setColumn(iNo, "afspccd", "");
  1064. ds_grd_acptspclist.setColumn(iNo, "afspcnm", "");
  1065. ds_grd_acptspclist.setColumn(iNo, "choispccd", "");
  1066. }
  1067. dsf_setFixVal(ds_grd_acptspclist, "addyn:N,delyn:N");
  1068. //ds_grd_acptprcplist.updatecontrol = true;
  1069. ds_grd_acptspclist.updatecontrol = true;
  1070. // 처방에 해당하는 대표검체 조회
  1071. ds_send2.setColumn(0, "instcd", sysf_getUserInfo("dutplceinstcd"));
  1072. if(ds_grd_acptprcplist.getColumn(iRowNo, "afprcpcd") == "-" || utlf_isNull(ds_grd_acptprcplist.getColumn(iRowNo, "afprcpcd")))
  1073. {
  1074. ds_send2.setColumn(0, "testcd", ds_grd_acptprcplist.getColumn(iRowNo, "bfprcpcd"));
  1075. }
  1076. else
  1077. {
  1078. ds_send2.setColumn(0, "testcd", ds_grd_acptprcplist.getColumn(iRowNo, "afprcpcd"));
  1079. }
  1080. if(ds_grd_acptprcplist.getColumn(iRowNo, "afspccd") == "-" || utlf_isNull(ds_grd_acptprcplist.getColumn(iRowNo, "afspccd")))
  1081. {
  1082. trace("if");
  1083. ds_send2.setColumn(0, "reprspccd", ds_grd_acptprcplist.getColumn(iRowNo, "bfspccd"));
  1084. }
  1085. else
  1086. {
  1087. trce("else");
  1088. ds_send2.setColumn(0, "reprspccd", ds_grd_acptprcplist.getColumn(iRowNo, "afspccd"));
  1089. }
  1090. ds_send2.setColumn(0, "spcflagcd", "1");
  1091. //submit("TRLPJ01501");
  1092. var oParam = {};
  1093. oParam.id = "TRLPJ01501";
  1094. oParam.service = "plgycomnusemngtapp.BaseInfoCode";
  1095. oParam.method = "reqGetTestInfoList";
  1096. oParam.inds = "refData=ds_send2";
  1097. oParam.outds = "ds_detlspclist=refrslt";
  1098. oParam.async = false;
  1099. //oParam.callback = "cf_TRLPJ01501";
  1100. tranf_submit(oParam);
  1101. }
  1102. function fExeSpcLnDel()
  1103. {
  1104. //프로즌 검체 여부를 체크하여 경고 메세지를 보여줌.
  1105. var sPrcpCd = ds_grd_acptprcplist.getColumn(Number(ds_grd_acptprcplist.rowposition-1), "bfprcpcd");
  1106. for(var iNodeCnt = 0; iNodeCnt < ds_testitemlist.rowcount; iNodeCnt++)
  1107. {
  1108. if(ds_testitemlist.getColumn(iNodeCnt, "testcd") == sPrcpCd)
  1109. {
  1110. if(ds_testitemlist.getColumn(iNodeCnt, "workflagcd") == "1002")
  1111. {
  1112. if(sysf_messageBox("프로즌 검체 입니다. 주의 하십시오. ", "Q003") != "6")
  1113. {
  1114. return;
  1115. }
  1116. break;
  1117. }
  1118. }
  1119. }
  1120. if(ds_grd_acptspclist.getColumn(ds_grd_acptspclist.rowposition, "addyn") == "Y")
  1121. {
  1122. var arrPostion = new Array();
  1123. arrPostion[0] = ds_grd_acptspclist.rowposition;
  1124. grdf_setStatus(grp_biz.grd_acptspclist, "D", arrPostion);
  1125. }
  1126. else
  1127. {
  1128. // var arrPostion = new Array();
  1129. // arrPostion[0] = ds_grd_acptspclist.rowposition;
  1130. // grdf_setStatus(grp_biz.grd_acptspclist, "D", arrPostion);
  1131. ds_grd_acptspclist.setColumn(ds_grd_acptspclist.rowposition, "delyn", "Y");
  1132. }
  1133. }
  1134. function fExeDetlSpcUpdt()
  1135. {
  1136. var iSpcNo = 1;
  1137. var iPrcpNo = ds_grd_acptprcplist.rowposition;
  1138. var iChoiNo = ds_grd_acptspclist.rowposition;
  1139. var sSrcNode = ds_grd_acptprcplist; //처방리스트
  1140. var sSpcNode = ds_grd_acptspclist; //전달검체 리스트
  1141. var sReqFrmNode = ds_choispclist;
  1142. var bState = false;
  1143. var sLastSpc = "";
  1144. var SFrznYN = "N";
  1145. for(var iRowNo = 0; iRowNo < ds_grd_acptspclist.rowcount; iRowNo++)
  1146. {
  1147. // 추가검체는 상태를 "i"로 설정
  1148. if(ds_grd_acptspclist.getColumn(iRowNo, "addyn") == "N")
  1149. {
  1150. // 상세검체 삭제의 경우 처리
  1151. // if(ds_grd_acptspclist.getColumn(iRowNo, "delyn") == "Y")
  1152. // {
  1153. // ds_grd_acptspclist.setRowType(iRowNo, "d");
  1154. // bState = true;
  1155. // }
  1156. if(ds_grd_acptspclist.getColumn(iRowNo, "afspccd") == "-" || utlf_isNull(ds_grd_acptspclist.getColumn(iRowNo, "afspccd")))
  1157. {
  1158. ds_grd_acptspclist.setColumn(iRowNo, "afspccd", ds_grd_acptspclist.getColumn(iRowNo, "bfspccd"));
  1159. ds_grd_acptspclist.setColumn(iRowNo, "afspcnm", ds_grd_acptspclist.getColumn(iRowNo, "bfspcnm"));
  1160. ds_grd_acptspclist.setRowType(iRowNo, "u");
  1161. bState = true;
  1162. }
  1163. else if(ds_grd_acptspclist.getColumn(iRowNo, "bfspccd") != ds_grd_acptspclist.getColumn(iRowNo, "afspccd"))
  1164. {
  1165. ds_grd_acptspclist.setRowType(iRowNo, "u");
  1166. bState = true;
  1167. }
  1168. else
  1169. {
  1170. ds_grd_acptspclist.setRowType(iRowNo, "i");
  1171. bState = true;
  1172. }
  1173. // 상세검체 삭제의 경우 처리
  1174. if(ds_grd_acptspclist.getColumn(iRowNo, "delyn") == "Y")
  1175. {
  1176. ds_grd_acptspclist.setRowType(iRowNo, "d");
  1177. bState = true;
  1178. }
  1179. }
  1180. else
  1181. {
  1182. if(ds_grd_acptspclist.getColumn(iRowNo, "afspccd") == "-" || utlf_isNull(ds_grd_acptspclist.getColumn(iRowNo, "afspccd")))
  1183. {
  1184. sysf_messageBox("변경 후 검체를 ", "C002");
  1185. return false;
  1186. }
  1187. ds_grd_acptspclist.setRowType(iRowNo, "i");
  1188. bState = true;
  1189. }
  1190. }
  1191. trace("bState = " + bState);
  1192. if (bState)
  1193. {
  1194. //의뢰지가 변경(프로즌 검체 추가) 되었을 경우를 체크하기 위하여 의뢰지를 다시 조회한다.
  1195. dsf_createDsRow("ds_temp_search", [{col : "pid", val : ds_grd_acptprcplist.getColumn(iPrcpNo, "pid")}
  1196. ,{col : "reqno", val : ds_grd_acptprcplist.getColumn(iPrcpNo, "reqfrmno")}]);
  1197. //submit("TRLPJ02203");
  1198. var oParam = {};
  1199. oParam.id = "TRLPJ02203";
  1200. oParam.service = "plgyacptmngtapp.SpecimenAccept";
  1201. oParam.method = "reqGetReqCnts";
  1202. oParam.inds = "refData=ds_temp_search";
  1203. oParam.outds = "ds_reqfrminfocnts=reqfrminfocnts";
  1204. oParam.async = false;
  1205. //oParam.callback = "cf_TRLPJ02203";
  1206. tranf_submit(oParam);
  1207. // 검체의 변경 및 추가내용을 처방의뢰지에 반영하기 위해 자료생성
  1208. lf_convertXmlToDs(ds_reqfrminfocnts.getColumn(0, "reqcnts"));
  1209. //프로즌 검체 여부 체크.
  1210. var sPrcpCd = ds_grd_acptprcplist.getColumn(ds_grd_acptprcplist.rowposition, "bfprcpcd");
  1211. for(var iNodeCnt = 0; iNodeCnt < ds_testitemlist.rowcount; iNodeCnt++)
  1212. {
  1213. if(ds_testitemlist.getColumn(iNodeCnt, "testcd") == sPrcpCd)
  1214. {
  1215. if(ds_testitemlist.getColumn(iNodeCnt, "workflagcd") == "1002")
  1216. {
  1217. SFrznYN = "Y";
  1218. }
  1219. }
  1220. }
  1221. //---------
  1222. iSpcNo = 1;
  1223. trace("sLastSpc="+sLastSpc);
  1224. trace("SFrznYN ="+SFrznYN);
  1225. for(var iNo=0; iNo < ds_grd_acptspclist.rowcount; iNo++)
  1226. {
  1227. trace("sLastSpc1="+sLastSpc);
  1228. //마지막 검체부터 삭제 되도록 한다.
  1229. if(sLastSpc == "N")
  1230. {
  1231. if(ds_grd_acptspclist.getColumn(iNo, "delyn") == "N")
  1232. {
  1233. sysf_messageBox("마지막 검체 부터 삭제 하여 주세요. ", "E999");
  1234. fGetAcptPrcpList();
  1235. return false;
  1236. }
  1237. }
  1238. if(ds_grd_acptspclist.getColumn(iNo, "delyn") == "N")
  1239. {
  1240. ds_choispclist.addRow();
  1241. ds_choispclist.setColumn(iNo, "choi", "true");
  1242. ds_choispclist.setColumn(iNo, "spcseqno", ds_grd_acptspclist.getColumn(iNo, "spcacptseqno"));
  1243. ds_choispclist.setColumn(iNo, "existyn", "N");
  1244. if(utlf_isNull(ds_grd_acptspclist.getColumn(iNo, "afspccd")) || utlf_transNullToEmpty(ds_grd_acptspclist.getColumn(iNo, "afspccd")).getTrim() == "-")
  1245. {
  1246. ds_choispclist.setColumn(iNo, "spccd", ds_grd_acptspclist.getColumn(iNo, "bfspccd"));
  1247. ds_choispclist.setColumn(iNo, "spcnm", ds_grd_acptspclist.getColumn(iNo, "bfspcnm"));
  1248. /* 이재오 막다 2017 6월 12일 */
  1249. }
  1250. else
  1251. {
  1252. ds_choispclist.setColumn(iNo, "spccd", ds_grd_acptspclist.getColumn(iNo, "afspccd"));
  1253. ds_choispclist.setColumn(iNo, "spcnm", ds_grd_acptspclist.getColumn(iNo, "afspcnm"));
  1254. }
  1255. iSpcNo++;
  1256. }
  1257. else
  1258. {
  1259. //프로즌 검체의 경우 접수되지 않은 검체가 존재할수도 있기 때문에 의뢰지 상에서 검체를 삭제 하면 안된다.
  1260. if (SFrznYN != "Y")
  1261. {
  1262. // model.removenode(sReqFrmNode+"["+iSpcNo+"]");
  1263. sLastSpc = "N";
  1264. }
  1265. }
  1266. }
  1267. //var node = instance1.selectSingleNode("/root/init/reqfrm/reqfrmtbl/reqfrminfo");
  1268. }
  1269. //--------------------------------
  1270. // model.removeNodeset("/root/send");
  1271. // model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  1272. // model.makeValue("/root/send/updtprcplist", grd_acptprcplist.getUpdateData());
  1273. // model.makeValue("/root/send/prcpspclist", grd_acptspclist.getUpdateData());
  1274. // model.makeValue("/root/send/pid", model.getValue(sSrcNode+"["+iPrcpNo+"]/pid"));
  1275. // model.makeValue("/root/send/reqfrmno", model.getValue(sSrcNode+"["+iPrcpNo+"]/reqfrmno"));
  1276. // model.makeNode("/root/send/reqcnts");
  1277. // model.setValue("/root/send/reqcnts", node.xml, true);
  1278. // 이재오 추가 2017 6월 13일 //
  1279. var sReqcnts = ds_init.getColumn(0, "ordinfo");
  1280. // 이재오 막다 2017 6월 13일 //
  1281. //var sReqcnts = ds_data_reqfrminfo.getColumn(0, "reqcnts");
  1282. // 이재오 막다 2017 6월 13일 //
  1283. var reqcntsXmlText = "<reqfrminfo>";
  1284. reqcntsXmlText = reqcntsXmlText + "<reqcnts>" + sReqcnts +"</reqcnts>";
  1285. reqcntsXmlText = reqcntsXmlText + "<choispc>";
  1286. // for(var i = 0; i < ds_data_choispclist.rowcount; i++)
  1287. for(var i = 0; i < ds_choispclist.rowcount; i++)
  1288. {
  1289. reqcntsXmlText = reqcntsXmlText + "<choispclist>";
  1290. reqcntsXmlText = reqcntsXmlText + "<choi>" + ds_choispclist.getColumn(i, "choi") + "</choi>";
  1291. reqcntsXmlText = reqcntsXmlText + "<spcseqno>" + ds_choispclist.getColumn(i, "spcseqno") + "</spcseqno>";
  1292. reqcntsXmlText = reqcntsXmlText + "<spccd>" + ds_choispclist.getColumn(i, "spccd") + "</spccd>";
  1293. reqcntsXmlText = reqcntsXmlText + "<spccd2>" + ds_choispclist.getColumn(i, "spccd") + "</spccd2>";
  1294. reqcntsXmlText = reqcntsXmlText + "<spcnm><![CDATA[" + ds_choispclist.getColumn(i, "spcnm") + "]]]]><![CDATA[></spcnm>";
  1295. reqcntsXmlText = reqcntsXmlText + "<existyn>" + ds_choispclist.getColumn(i, "existyn") + "</existyn>";
  1296. //reqcntsXmlText = reqcntsXmlText + "<slidno>" + ds_data_choispclist.getColumn(i, "slidno") + "</slidno>";
  1297. reqcntsXmlText = reqcntsXmlText + "</choispclist>";
  1298. /*
  1299. reqcntsXmlText = reqcntsXmlText + "<choispclist>";
  1300. reqcntsXmlText = reqcntsXmlText + "<choi>" + ds_data_choispclist.getColumn(i, "choi") + "</choi>";
  1301. reqcntsXmlText = reqcntsXmlText + "<spcseqno>" + ds_data_choispclist.getColumn(i, "spcseqno") + "</spcseqno>";
  1302. reqcntsXmlText = reqcntsXmlText + "<spccd>" + ds_data_choispclist.getColumn(i, "spccd") + "</spccd>";
  1303. reqcntsXmlText = reqcntsXmlText + "<spccd2>" + ds_data_choispclist.getColumn(i, "spccd2") + "</spccd2>";
  1304. reqcntsXmlText = reqcntsXmlText + "<spcnm><![CDATA[" + ds_data_choispclist.getColumn(i, "spcnm") + "]]]]><![CDATA[></spcnm>";
  1305. reqcntsXmlText = reqcntsXmlText + "<existyn>" + ds_data_choispclist.getColumn(i, "existyn") + "</existyn>";
  1306. //reqcntsXmlText = reqcntsXmlText + "<slidno>" + ds_data_choispclist.getColumn(i, "slidno") + "</slidno>";
  1307. reqcntsXmlText = reqcntsXmlText + "</choispclist>"
  1308. */
  1309. }
  1310. reqcntsXmlText = reqcntsXmlText + "</choispc>";
  1311. reqcntsXmlText = reqcntsXmlText + "</reqfrminfo>";
  1312. trace("reqcntsXmlText= " + reqcntsXmlText);
  1313. alert("정상적으로 처리되었습니다.");
  1314. var sInDsName = dsf_createDsRow("ds_temp_search"
  1315. , [{col: "instcd" , val: sysf_getUserInfo("dutplceinstcd")}
  1316. , {col: "pid" , val: ds_grd_acptprcplist.getColumn(ds_grd_acptprcplist.rowposition, "pid")}
  1317. , {col: "reqno" , val: ds_grd_acptprcplist.getColumn(ds_grd_acptprcplist.rowposition, "reqfrmno")}
  1318. , {col: "reqcnts" , val: reqcntsXmlText}]);
  1319. var sSignData = dsf_createDsRow("ds_temp_search1", [{col: "doctid" , val: cmb_readdr.value}
  1320. , {col: "doctnm" , val: cmb_readdr.text}
  1321. , {col: "afcertyn" , val: ds_hidden.getColumn(0, "afcertyn")}]);
  1322. var oParam = {};
  1323. oParam.id = "TXLPJ02201";
  1324. oParam.service = "plgyacptmngtapp.SpecimenAccept";
  1325. oParam.method = "reqExePrcpUpdtList";
  1326. oParam.inds = "reqfrminfo="+sInDsName+" prcplist=ds_grd_acptprcplist:U prcpspclist=ds_grd_acptspclist:U prcpsigndata="+sSignData;
  1327. oParam.async = false;
  1328. //oParam.callback = "cf_TXLPJ02201";
  1329. tranf_submit(oParam);
  1330. // tranf_submit({
  1331. // id: "TXLPJ02201"
  1332. // , service: "plgyacptmngtapp.SpecimenAccept"
  1333. // , method: "reqExePrcpUpdtList"
  1334. // , inds: "reqfrminfo="+sInDsName+" prcplist=ds_grd_acptprcplist:U prcpspclist=ds_grd_acptspclist:U" //
  1335. // //, callback: "cbf_SMLPJ02200"
  1336. // , async: false
  1337. // });
  1338. ds_grd_acptprcplist.clearData();
  1339. ds_grd_acptspclist.clearData();
  1340. fGetAcptPrcpList();
  1341. }
  1342. function fExePrcpChange()
  1343. {
  1344. var iRowNo = Number(ds_grd_acptprcplist.rowposition);
  1345. var iColNo = grp_biz.grd_acptprcplist.currentcol;
  1346. trace("iColNo="+iColNo);
  1347. var sSrcNode = ds_grd_acptprcplist;
  1348. if( utlf_isNull(ds_grd_acptprcplist.getColumn(iRowNo, "afprcpcd")) || ds_grd_acptprcplist.getColumn(iRowNo, "afprcpcd") == "-")
  1349. {
  1350. //return false;
  1351. }
  1352. else
  1353. {
  1354. if (iColNo == 15)
  1355. {
  1356. /*
  1357. model.setValue(sSrcNode + "[" + (Number(grd_acptprcplist.row)-1) + "]/afprcpnm",
  1358. model.getValue("/root/init/testitemcnts/testitemlist[testcd='"
  1359. + model.getValue(sSrcNode + "[" + (Number(grd_acptprcplist.row)-1) + "]/afprcpcd") + "']/testengnm"));
  1360. */
  1361. //alert("asdasd");
  1362. //model.setValue(sSrcNode + "[" + (Number(grd_acptprcplist.row)-1) + "]/afprcpnm", model.getValue(sSrcNode + "[" + (Number(grd_acptprcplist.row)-1) + "]/afprcpcd"));
  1363. ds_grd_acptprcplist.setColumn(iRowNo, "afprcpnm", ds_grd_acptprcplist.getColumn(iRowNo, "afprcpcd"));
  1364. }
  1365. }
  1366. //----------------------------------------------------------------------------------------------------------------------
  1367. //if (model.getValue(sSrcNode+"["+iRowNo+"]/afprcpnm") == "" || model.getValue(sSrcNode+"["+iRowNo+"]/afprcpnm") == "-")
  1368. if( utlf_isNull(ds_grd_acptprcplist.getColumn(iRowNo, "afprcpnm")) || ds_grd_acptprcplist.getColumn(iRowNo, "afprcpnm") == "-")
  1369. {
  1370. //return false;
  1371. }
  1372. else
  1373. {
  1374. if (iColNo == 16)
  1375. {
  1376. ds_grd_acptprcplist.setColumn(iRowNo, "afprcpcd", ds_grd_acptprcplist.getColumn(iRowNo, "afprcpnm"));
  1377. }
  1378. }
  1379. if( utlf_isNull(ds_grd_acptprcplist.getColumn(iRowNo, "afspccd")) || ds_grd_acptprcplist.getColumn(iRowNo, "afspccd") == "-")
  1380. {
  1381. //return false;
  1382. }
  1383. else
  1384. {
  1385. if (iColNo == 40)
  1386. {
  1387. fExePrcpClick();
  1388. }
  1389. }
  1390. }
  1391. //조회
  1392. function grp_biz_grp_sea_btn_sea_onclick(obj:Button, e:ClickEventInfo)
  1393. {
  1394. fGetAcptPrcpList();
  1395. }
  1396. //조회
  1397. function grp_biz_grp_sea_ipt_acptddto_onkeyup(obj:Calendar, e:KeyEventInfo)
  1398. {
  1399. if(e.keycode == 13)
  1400. {
  1401. fGetAcptPrcpList();
  1402. }
  1403. }
  1404. //전달검체 리스트 추가
  1405. function grp_biz_btn_spcadd_onclick(obj:Button, e:ClickEventInfo)
  1406. {
  1407. fExeSpcLnAdd();
  1408. }
  1409. function grp_biz_grd_acptprcplist_oncellclick(obj:Grid, e:GridClickEventInfo)
  1410. {
  1411. fExeComboChange();
  1412. }
  1413. //삭제
  1414. function grp_biz_btn_spcdel_onclick(obj:Button, e:ClickEventInfo)
  1415. {
  1416. fExeSpcLnDel();
  1417. }
  1418. //검체저장
  1419. function grp_biz_btn_spcsave_onclick(obj:Button, e:ClickEventInfo)
  1420. {
  1421. fExeDetlSpcUpdt();
  1422. }
  1423. function grp_biz_grd_acptprcplist_onselectchanged(obj:Grid, e:GridSelectEventInfo)
  1424. {
  1425. fExePrcpChange();
  1426. }
  1427. //검체의 일련번호 생성 처리 Function
  1428. function fExeMakeSpcSeqNo(pRowCnt)
  1429. {
  1430. trace("pRowCnt="+pRowCnt);
  1431. var iSpcSeqNo = 0;
  1432. var iCurSeqNo = 0;
  1433. var iSeqNo = 0;
  1434. var iRowNo = 1;
  1435. var sBarCdNo = "";
  1436. var sSpcSeqNo = "";
  1437. //--------------------------------------
  1438. for (var iNo=0; iNo < pRowCnt; iNo++)
  1439. {
  1440. iCurSeqNo = ds_grd_acptspclist.getColumn(iNo, "spcacptseqno");
  1441. if(!utlf_isNull(iCurSeqNo))
  1442. {
  1443. //--------------------------------
  1444. // 삭제대상 Row는 비교하지 않는다.
  1445. // if (grd_acptspclist.rowStatus(iNo) != 4)
  1446. // {
  1447. //--------------------------------
  1448. if (Number(iCurSeqNo) >= iSeqNo)
  1449. {
  1450. iSeqNo = Number(iCurSeqNo);
  1451. //model.setValue("/root/main/updtspc/prcpspclist["+iNo+"]/spcacptseqno", (iRowNo).toString().getLeftPad(3,"0"));
  1452. ds_grd_acptspclist.setColumn(iNo, "spcacptseqno", (iRowNo).toString().getLeftPad(3,"0"));
  1453. //------------------------------------------------------------------------------
  1454. //sBarCdNo = model.getValue("/root/main/updtspc/prcpspclist["+iNo+"]/spcbarcdno");
  1455. sBarCdNo = ds_grd_acptspclist.getColumn(iNo, "spcbarcdno");
  1456. sBarCdNo = utlf_transNullToEmpty(sBarCdNo).substr(0, 9);
  1457. //------------------------------------------------
  1458. sSpcSeqNo = (iRowNo).toString().getLeftPad(3,"0");
  1459. sBarCdNo += sSpcSeqNo.substr(1,2);
  1460. //model.setValue("/root/main/updtspc/prcpspclist["+iNo+"]/spcbarcdno", sBarCdNo);
  1461. ds_grd_acptspclist.setColumn(iNo, "spcbarcdno", sBarCdNo);
  1462. iRowNo++;
  1463. }
  1464. // }
  1465. }
  1466. }
  1467. //--------------------------------------------
  1468. return (iRowNo).toString().getLeftPad(3, "0");
  1469. }
  1470. //변경 button
  1471. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  1472. {
  1473. fExePrcpUpdt();
  1474. }
  1475. function fExePrcpUpdt()
  1476. {
  1477. var bState = false;
  1478. var iChoiNo = ds_grd_acptprcplist.rowposition ; //Number((ds_grd_acptprcplist.rowcount)- 1);
  1479. var sSrcNode = ds_grd_acptprcplist;
  1480. var sSpcNode = ds_grd_acptspclist;
  1481. //var sReqFrmNode = "/root/init/reqfrm/reqfrmtbl/reqfrminfo/choispc/choispclist";
  1482. var itemp = 0;
  1483. var sBfPatInfo = "Y";
  1484. var sAfPatInfo = "Y";
  1485. var sBfSignBfCnts = "";
  1486. var sAftSignBfCnts = "";
  1487. var sChkPid = "EMPTY";
  1488. var bCurDate = false;
  1489. // grd_acptprcplist.clearStatus();
  1490. // grd_acptspclist.clearStatus();
  1491. for(var iRowNo=0; iRowNo < ds_grd_acptprcplist.rowcount; iRowNo++)
  1492. {
  1493. // 처방변경건이 존재하면 상태를 변경
  1494. if(ds_grd_acptprcplist.getColumn(iRowNo, "afprcpcd") == "-" || utlf_isNull(ds_grd_acptprcplist.getColumn(iRowNo, "afprcpcd")))
  1495. {
  1496. /* 이재오 막다 2017.06.09 일 */
  1497. // ds_grd_acptprcplist.setColumn(iRowNo, "afprcpcd", ds_grd_acptprcplist.getColumn(iRowNo, "bfprcpcd"));
  1498. // ds_grd_acptprcplist.setColumn(iRowNo, "afprcpnm", ds_grd_acptprcplist.getColumn(iRowNo, "bfprcpcd"));
  1499. /* 이재오 막다 2017.06.09 일 */
  1500. }
  1501. else
  1502. {
  1503. itemp = iRowNo;
  1504. bState = true;
  1505. ds_grd_acptprcplist.setColumn(iRowNo, "status", "I");
  1506. ds_grd_acptprcplist.setColumn(iRowNo, "prcpcd", ds_grd_acptprcplist.getColumn(iRowNo, "bfprcpcd"));
  1507. ds_grd_acptprcplist.setColumn(iRowNo, "prcpnm", ds_grd_acptprcplist.getColumn(iRowNo, "bfprcpnm"));
  1508. //한번에 여러환자의 처방을 변경할 수 없도록 수정.
  1509. if(sChkPid != "EMPTY")
  1510. {
  1511. if(sChkPid != ds_grd_acptprcplist.getColumn(iRowNo, "pid"))
  1512. {
  1513. sysf_messageBox("여러 환자의 처방을 동시에 변경할 수 없습니다.", "E999");
  1514. fGetAcptPrcpList();
  1515. return;
  1516. }
  1517. }
  1518. else
  1519. {
  1520. sChkPid = ds_grd_acptprcplist.getColumn(iRowNo, "pid");
  1521. }
  1522. }
  1523. //----------------------------------
  1524. // 검체변경건이 존재하면 상태를 변경
  1525. if(ds_grd_acptprcplist.getColumn(iRowNo, "afspccd") == "-" || utlf_isNull(ds_grd_acptprcplist.getColumn(iRowNo, "afspccd")))
  1526. {
  1527. // Continue
  1528. /* 이재오 막다 2017.06.09 일 */
  1529. //ds_grd_acptprcplist.setColumn(iRowNo, "afspccd", ds_grd_acptprcplist.getColumn(iRowNo, "bfspccd"));
  1530. /* 이재오 막다 2017.06.09 일 */
  1531. }
  1532. else
  1533. {
  1534. itemp = iRowNo;
  1535. bState = true;
  1536. ds_grd_acptprcplist.setColumn(iRowNo, "status", "I");
  1537. ds_grd_acptprcplist.setColumn(iRowNo, "spccd", ds_grd_acptprcplist.getColumn(iRowNo, "bfspccd"));
  1538. ds_grd_acptprcplist.setColumn(iRowNo, "spcnm", ds_grd_acptprcplist.getColumn(iRowNo, "bfspcnm"));
  1539. //한번에 여러환자의 처방을 변경할 수 없도록 수정.
  1540. if(sChkPid != "EMPTY")
  1541. {
  1542. if(sChkPid != ds_grd_acptprcplist.getColumn(iRowNo, "pid"))
  1543. {
  1544. sysf_messageBox("여러 환자의 처방을 동시에 변경할 수 없습니다.", "E999");
  1545. fGetAcptPrcpList();
  1546. return;
  1547. }
  1548. }
  1549. else
  1550. {
  1551. sChkPid = ds_grd_acptprcplist.getColumn(iRowNo, "pid");
  1552. }
  1553. }
  1554. if((bState) && (Number(ds_grd_acptprcplist.getColumn(iRowNo, "prcpdd"))) < Number(utlf_getCurrentDate().substr(0,8)))
  1555. {
  1556. bCurDate = true;
  1557. }
  1558. if(ds_hidden.getColumn(0, "afcertyn") == "Y")
  1559. {
  1560. if(utlf_isNull(ds_hidden.getColumn(0, "readdrid")) || ds_hidden.getColumn(0, "readdrid") == "A0")
  1561. {
  1562. sysf_messageBox("후인증 의사를 선택하여 주세요.", "E999");
  1563. fGetAcptPrcpList();
  1564. return;
  1565. }
  1566. }
  1567. else
  1568. {
  1569. // 처방 or 대표검체 변경건이 존재하면 인증데이터 생성.
  1570. if(bState && (ds_grd_acptprcplist.getColumn(iRowNo, "status") == "I"))
  1571. {
  1572. //병원환경설정에 외래 처방에 대한 미수납 접수 여부를 체크하여 외래 처방에대한 변경을 Block
  1573. if(ds_hosoenvinfo.getColumn(0, "norcptacptyn") != "Y")
  1574. {
  1575. if((ds_grd_acptprcplist.getColumn(iRowNo, "prcpgenrflag") == "O") || (ds_grd_acptprcplist.getColumn(iRowNo, "prcpgenrflag") == "S"))
  1576. {
  1577. sysf_messageBox("변경신청건중 외래 환자가 존재합니다! 외래 환자는 처방변경을 ", "E001");
  1578. fGetAcptPrcpList();
  1579. return false;
  1580. }
  1581. }
  1582. ds_grd_acptprcplist.setColumn(iRowNo, "prcpflag", "1");
  1583. //처방변경전 인증전 데이터 생성
  1584. ds_grd_acptprcplist.setColumn(iRowNo, "tempstatus", "C");
  1585. ds_grd_acptprcplist.setColumn(iRowNo, "tempprcpcd", ds_grd_acptprcplist.getColumn((Number(iRowNo)+1), "bfprcpcd"));
  1586. ds_grd_acptprcplist.setColumn(iRowNo, "tempprcpnm", ds_grd_acptprcplist.getColumn((Number(iRowNo)+1), "bfprcpnm"));
  1587. ds_grd_acptprcplist.setColumn(iRowNo, "drugmthdspccd", ds_grd_acptprcplist.getColumn(iRowNo, "bfspccd"));
  1588. ds_grd_acptprcplist.setColumn(iRowNo, "drugmthdspccdnm", ds_grd_acptprcplist.getColumn((Number(iRowNo)+1), "bfspcnm"));
  1589. if(sBfPatInfo == "Y")
  1590. {
  1591. sBfSignBfCnts = lpzfPlgyPrcpSignMake(ds_grd_acptprcplist.getColumn(iRowNo, "Y", "Y")); //(sSrcNode+"["+iRowNo+"]", "Y", "Y");
  1592. sBfPatInfo = "N";
  1593. } else {
  1594. sBfSignBfCnts += lpzfPlgyPrcpSignMake(ds_grd_acptprcplist.getColumn(iRowNo, "N", "Y")); //lpzfPlgyPrcpSignMake(sSrcNode+"["+iRowNo+"]", "N", "Y");
  1595. }
  1596. trace("인증데이터");
  1597. trace("sBfSignCnts="+sBfSignCnts);
  1598. //처방변경후 인증전 데이터 생성
  1599. ds_grd_acptprcplist.setColumn(iRowNo, "tempstatus", "I");
  1600. ds_grd_acptprcplist.setColumn(iRowNo, "tempprcpcd", ds_grd_acptprcplist.getColumn((Number(iRowNo) + 1), "afprcpcd"));
  1601. ds_grd_acptprcplist.setColumn(iRowNo, "tempprcpnm", ds_grd_acptprcplist.getColumn((Number(iRowNo) + 1), "afprcpnm"));
  1602. ds_grd_acptprcplist.setColumn(iRowNo, "drugmthdspccd", ds_grd_acptprcplist.getColumn(iRowNo, "afspccd"));
  1603. ds_grd_acptprcplist.setColumn(iRowNo, "drugmthdspccdnm", ds_grd_acptprcplist.getColumn((Number(iRowNo) + 1), "afspccd"));
  1604. if(sAfPatInfo == "Y")
  1605. {
  1606. sAftSignBfCnts = lpzfPlgyPrcpSignMake(ds_grd_acptprcplist.getColumn(iRowNo, "Y", "Y"));//lpzfPlgyPrcpSignMake(sSrcNode+"["+iRowNo+"]", "Y", "Y");
  1607. sAfPatInfo = "N";
  1608. }
  1609. else
  1610. {
  1611. sAftSignBfCnts += lpzfPlgyPrcpSignMake(ds_grd_acptprcplist.getColumn(iRowNo, "N", "Y"));//lpzfPlgyPrcpSignMake(sSrcNode+"["+iRowNo+"]", "N", "Y");
  1612. }
  1613. }
  1614. }
  1615. }
  1616. trace("bState="+bState);
  1617. // 과거처방 사유등록
  1618. trace("bCurDate="+bCurDate);
  1619. if ( (bState) && (bCurDate) )
  1620. {
  1621. bState = fExeSaveResn();
  1622. }
  1623. trace("!!!bState!!!="+bState);
  1624. //-----------
  1625. if (bState)
  1626. {
  1627. //--------------------------------
  1628. //model.removeNodeset("/root/send");
  1629. // model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  1630. // model.makeValue("/root/send/updtprcplist", grd_acptprcplist.getUpdateData("update"));
  1631. // model.makeValue("/root/send/prcpspclist", grd_acptspclist.getUpdateData());
  1632. // model.makeValue("/root/send/pid", model.getValue(sSrcNode + "[" + iChoiNo + "]/pid"));
  1633. // model.makeValue("/root/send/reqfrmno", model.getValue(sSrcNode + "[" + iChoiNo + "]/reqfrmno"));
  1634. // model.makeNode("/root/send/reqcnts");;
  1635. //
  1636. // model.makeValue("/root/send/doctid", model.getValue("/root/hidden/readdrid")); //후인증의사
  1637. // model.makeValue("/root/send/doctnm", model.getValue("/root/init/userinfo/userinfolist[userid='"+ model.getValue("/root/hidden/readdrid") +"']/usernm"));
  1638. // model.makeValue("/root/send/afcertyn", model.getValue("/root/hidden/afcertyn"));
  1639. dsf_createDsRow("ds_send0", [{col : "instcd", val : sysf_getUserInfo("dutplceinstcd")}
  1640. ,{col : "pid", val : ds_grd_acptprcplist.getColumn(iChoiNo, "pid")}
  1641. ,{col : "reqno", val : ds_grd_acptprcplist.getColumn(iChoiNo, "reqfrmno")}
  1642. ,{col : "reqcnts", val : ""}]);
  1643. //if(model.getValue("/root/hidden/afcertyn") != "Y")
  1644. if(ds_hidden.getColumn(0, "afcertyn") != "Y")
  1645. {
  1646. // model.makeValue("/root/send/bfsignbfcnts", sBfSignBfCnts);
  1647. // model.makeValue("/root/send/aftsignbfcnts", sAftSignBfCnts);
  1648. // model.makeNode("/root/send/bfsignafcnts");
  1649. // model.makeNode("/root/send/aftsignafcnts");
  1650. //----------------
  1651. // 암호화자료 생성
  1652. sChek = lpzfPlgyPrcpSaveSign(sBfSignBfCnts, sysf_getUserInfo("userid"), sInptPsw, ds_send_bfsignafcnts);
  1653. trace("sChek ="+sChek)
  1654. sInptPsw = false;
  1655. if(utlf_isNull(sChek)|| sChek == "N")
  1656. {
  1657. sysf_messageBox("처방인증을 하여 주십시오.","E999");
  1658. return;
  1659. }
  1660. //----------------
  1661. // 암호화자료 생성
  1662. sChek = lpzfPlgyPrcpSaveSign(sAftSignBfCnts, sysf_getUserInfo("userid"), sInptPsw, ds_send_aftsignafcnts);
  1663. trace("sChek ="+sChek)
  1664. if(utlf_isNull(sChek)|| sChek == "N")
  1665. {
  1666. sysf_messageBox("처방인증을 하여 주십시오.","E999");
  1667. return;
  1668. }
  1669. }
  1670. var sSignData = dsf_createDsRow("ds_temp_search", [{col: "doctid" , val: cmb_readdr.value}
  1671. , {col: "doctnm" , val: cmb_readdr.text}
  1672. , {col: "afcertyn" , val: ds_hidden.getColumn(0, "afcertyn")}]);
  1673. trace("!!!test!!!1112121");
  1674. //-----------
  1675. //setAlertOn();
  1676. var oParam = {};
  1677. oParam.id = "TXLPJ02201";
  1678. oParam.service = "plgyacptmngtapp.SpecimenAccept";
  1679. oParam.method = "reqExePrcpUpdtList";
  1680. oParam.inds = "reqfrminfo=ds_send0 prcplist=ds_grd_acptprcplist:U prcpspclist=ds_grd_acptspclist:U prcpsigndata="+sSignData;
  1681. //reqfrminfo="+sInDsName+" prcplist=ds_grd_acptprcplist:U prcpspclist=ds_grd_acptspclist:U"
  1682. oParam.async = false;
  1683. //oParam.callback = "cf_TXLPJ02201";
  1684. tranf_submit(oParam);
  1685. // if (submit("TXLPJ02201"))
  1686. // {
  1687. //model.removeNodeset("/root/main/prcpspc/prcpspclist");
  1688. // ds_grd_acptprcplist.clearData();
  1689. // //model.removeNodeset("/root/main/updtspc/prcpspclist");
  1690. // ds_grd_acptspclist.clearData();
  1691. // fGetAcptPrcpList();
  1692. // }
  1693. fGetAcptPrcpList();
  1694. }
  1695. else
  1696. {
  1697. fGetAcptPrcpList();
  1698. }
  1699. }
  1700. //과거 처방 및 검체 변경 사유 처리 Function
  1701. function fExeSaveResn()
  1702. {
  1703. trace("과거 처방 및 검체 변경 사유 처리");
  1704. // 과거처방 구분 사유를 입력할 화면 좌표처리
  1705. // var xpt = window.screenleft + eval(300);
  1706. // var ypt = window.screenTop + eval(300);
  1707. // var coord = getRelativeCoordinate ( xpt, ypt );
  1708. // var mon = coord[0];
  1709. // xpt = coord[1];
  1710. // ypt = coord[2];
  1711. //var sSrcNode = "/root/main/acptprcp/acptprcplist";
  1712. var sSrcNode = ds_grd_acptprcplist;
  1713. // 과거처방 변경 시
  1714. //if ( Number(model.getValue(sSrcNode + "[" + CurrValNo + "]/prcpdd")) < Number(getCurrentDate().substr(0,8)) )
  1715. //if(Number(ds_grd_acptprcplist.getColumn(CurrvValNo, "prcpdd")) < Number(utlf_getCurrentDate().substr(0, 8)))
  1716. //{
  1717. frmf_setParameter ("SPMMO16500_resnflag" , "B" ); //과거처방사유구분
  1718. frmf_setParameter ("SPMMO16500_prcpinfo" , sSrcNode ); //저장할 처방의 노드경로
  1719. frmf_setParameter ("SPMMO16500_paminfo" , sSrcNode ); //원무정보 노드경로 PID, INDD/ORDDD, CRETNO,INSTCD, ORDTYPE ...
  1720. frmf_setParameter ("SPMMO16500_rtn1" , "N" ); //사유 정상 입력여부
  1721. frmf_setParameter ("SPMMO16500_endrowdelyn" , "N" ); //처방LIST 최종ROW삭제여부 => 처방화면에 검색라인때문에 씀.
  1722. frmf_modal("SPMMO16500", "SPMMO16500", "", null, null, null, null, null, null, null, null, null, "M");
  1723. if( frmf_getParameter ("SPMMO16500_rtn1" ) != "Y" )
  1724. {
  1725. return false ;
  1726. }
  1727. else
  1728. {
  1729. return true;
  1730. }
  1731. // }
  1732. }
  1733. function grp_biz_btn_delcncl_onclick(obj:Button, e:ClickEventInfo)
  1734. {
  1735. fExeReMakeSeqNo();
  1736. }
  1737. //검체 삭제취소 시 처리 Function
  1738. function fExeReMakeSeqNo()
  1739. {
  1740. trace("삭제취소");
  1741. var arrPostion = new Array();
  1742. arrPostion[0] = ds_grd_acptspclist.rowposition;
  1743. grdf_setStatus(grp_biz.grd_acptspclist, "", arrPostion);
  1744. }
  1745. function ds_grd_acptprcplist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  1746. {
  1747. //fExePrcpChange();
  1748. }
  1749. function grp_biz_grd_acptprcplist_ontextchanged(obj:Grid, e:GridEditTextChangedEventInfo)
  1750. {
  1751. //fExePrcpChange();
  1752. }
  1753. function grp_biz_grd_acptprcplist_oncloseup(obj:Grid, e:GridEditEventInfo)
  1754. {
  1755. grp_biz.grd_acptprcplist.updateToDataset();
  1756. fExePrcpChange();
  1757. }
  1758. function grp_biz_grd_acptspclist_oncloseup(obj:Grid, e:GridEditEventInfo)
  1759. {
  1760. obj.updateToDataset()
  1761. var iRowNo = ds_grd_acptspclist.rowposition;
  1762. if(!utlf_isNull(ds_grd_acptspclist.getColumn(iRowNo, "choispccd")))
  1763. {
  1764. if(grp_biz.grd_acptspclist.currentcol == 19)
  1765. {
  1766. ds_detlspclist.filterstr = "spccd =='" + ds_grd_acptspclist.getColumn(iRowNo, "choispccd") + "'";
  1767. ds_grd_acptspclist.setColumn(iRowNo, "afspccd", ds_grd_acptspclist.getColumn(iRowNo, "choispccd"));
  1768. ds_grd_acptspclist.setColumn(iRowNo, "afspcnm", ds_detlspclist.getColumn(0, "spcnm"));
  1769. ds_detlspclist.filterstr = "";
  1770. }
  1771. }
  1772. }
  1773. function grp_biz_grp_sea_ipt_seaval_onkeyup(obj:Edit, e:KeyEventInfo)
  1774. {
  1775. var sRefVal = "";
  1776. if(e.keycode == 13)
  1777. {
  1778. sRefVal = grp_biz.grp_sea.ipt_seaval.text;
  1779. ds_init.setColumn(0, "refval", sRefVal.toUpperCase());
  1780. fGetAcptPrcpList();
  1781. }
  1782. }
  1783. ]]></Script>
  1784. </Form>
  1785. </FDL>