SMLQP10200_핵의학QC그래프조회.xfdl 69 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMLQP10200" position="absolute 0 0 1197 786" titletext="New Form" oninit="SMLQP10200_oninit" onload="SMLQP10200_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div id="group3" taborder="18" visible="false" position="absolute 0 114 1194 189">
  8. <Layouts>
  9. <Layout>
  10. <Static id="caption13" text="QC물질 상세 정보" class="tit_2" position="absolute 0 1 133 22" anchor="default"/>
  11. <Shape id="line6" class="line_10" position="absolute 0 17 1194 23" anchor="default"/>
  12. <Static id="caption23" text="QC물질" class="cell_1" position="absolute 0 22 100 45" anchor="default"/>
  13. <Static id="caption24" text="레벨" class="cell_1" position="absolute 261 22 361 45" anchor="default"/>
  14. <Static id="caption25" text="LOT NO" class="cell_1" position="absolute 522 22 622 45" anchor="default"/>
  15. <Static id="caption26" text="제조회사" class="cell_1" position="absolute 0 46 100 69" anchor="default"/>
  16. <Static id="caption27" text="적용률" class="cell_1" position="absolute 261 46 361 69" anchor="default"/>
  17. <Static id="caption28" text="룰" class="cell_1" position="absolute 522 46 622 68" anchor="default"/>
  18. <Static id="caption29" text="조치사항 코드" class="cell_1" position="absolute 783 22 883 44" anchor="default"/>
  19. <Static id="caption1" text="조치사항" class="cell_1" position="absolute 783 45 883 68" anchor="default"/>
  20. <TextArea id="textarea1" taborder="1" position="absolute 886 46 1194 68" anchor="default"/>
  21. <Combo id="combo13" taborder="2" innerdataset="@ds_init_lb0703" codecolumn="cd" datacolumn="nm" class="combo_search" position="absolute 886 23 1194 42" anchor="default" onitemchanged="group3_combo13_onitemchanged"/>
  22. <Edit id="output1" taborder="3" readonly="true" position="absolute 103 23 258 42" anchor="default"/>
  23. <Edit id="output2" taborder="4" readonly="true" position="absolute 364 23 519 42" anchor="default"/>
  24. <Edit id="output3" taborder="5" readonly="true" position="absolute 625 25 780 44" anchor="default"/>
  25. <Edit id="output4" taborder="6" readonly="true" position="absolute 103 47 258 66" anchor="default"/>
  26. <Edit id="output5" taborder="7" readonly="true" position="absolute 364 47 519 66" anchor="default"/>
  27. <Edit id="output6" taborder="8" readonly="true" position="absolute 625 47 780 66" anchor="default"/>
  28. <Shape id="line1" class="line_3" position="absolute 0 68 1194 74" anchor="default"/>
  29. </Layout>
  30. </Layouts>
  31. </Div>
  32. <Static id="caption6" text="QC그래프조회" class="tit_1" position="absolute 0 0 247 23"/>
  33. <Button id="button10" taborder="1" text="초기화" class="btn4" position="absolute 1127 24 1195 46" anchor="top right"/>
  34. <Button id="btn_save" taborder="2" text="저장" class="btn4" visible="false" position="absolute 1069 24 1125 46" anchor="top right" onclick="btn_save_onclick"/>
  35. <Shape id="line32" linetype="horizontal" class="line_6" position="absolute 0 45 1194 51" anchor="left top right"/>
  36. <CheckBox id="checkbox2" taborder="3" text="상세출력" truevalue="Y" visible="false" position="absolute 65 26 175 46" onclick="checkbox2_onclick"/>
  37. <Button id="button2" taborder="4" text="출력" class="btn6" position="absolute 0 24 56 46"/>
  38. <Grid id="datagrid2" class="datagrid2" taborder="5" binddataset="ds_hidden_temp_factcnts" useinputpanel="false" visible="false" position="absolute 500 213 1194 370">
  39. <Formats>
  40. <Format id="default">
  41. <Columns>
  42. <Column size="250"/>
  43. <Column size="80"/>
  44. <Column size="100"/>
  45. <Column size="80"/>
  46. <Column size="70"/>
  47. <Column size="80"/>
  48. <Column size="100"/>
  49. </Columns>
  50. <Rows>
  51. <Row size="24" band="head"/>
  52. <Row size="24"/>
  53. </Rows>
  54. <Band id="head">
  55. <Cell text="finddata"/>
  56. <Cell col="1" text="bcno"/>
  57. <Cell col="2" text="물질코드"/>
  58. <Cell col="3" text="검사코드"/>
  59. <Cell col="4" text="레벨코드"/>
  60. <Cell col="5" text="사유코드"/>
  61. <Cell col="6" text="사유"/>
  62. </Band>
  63. <Band id="body">
  64. <Cell text="bind:finddata"/>
  65. <Cell col="1" text="bind:bcno"/>
  66. <Cell col="2" text="bind:matrcd"/>
  67. <Cell col="3" text="bind:testcd"/>
  68. <Cell col="4" text="bind:levlcd"/>
  69. <Cell col="5" text="bind:measfactcd"/>
  70. <Cell col="6" text="bind:measfactcnts"/>
  71. </Band>
  72. </Format>
  73. </Formats>
  74. </Grid>
  75. <Grid id="datagrid1" class="datagrid2" taborder="6" useinputpanel="false" position="absolute 0 136 1194 371" anchor="left top right" cellsizingtype="col" binddataset="ds_main_rsltlist_row">
  76. <Formats>
  77. <Format id="default">
  78. <Columns/>
  79. <Band id="head"/>
  80. <Band id="body"/>
  81. </Format>
  82. </Formats>
  83. </Grid>
  84. <Static id="caption30" text="QC물질 검사정보" class="tit_2" position="absolute 0 115 127 136"/>
  85. <Shape id="line7" class="line_10" position="absolute 0 131 1194 137" anchor="left top right"/>
  86. <Static id="caption31" text="QC물질별 그래프" class="tit_2" position="absolute 0 378 125 399"/>
  87. <Shape id="line8" class="line_10" position="absolute 0 394 1194 400" anchor="left top right"/>
  88. <Shape id="line9" linetype="horizontal" class="line_3" position="absolute 0 772 1194 778"/>
  89. <Radio id="radio1" taborder="7" codecolumn="codecolumn" datacolumn="datacolumn" visible="false" position="absolute 135 378 535 391" onitemchanged="radio1_onitemchanged">
  90. <Dataset id="innerdataset">
  91. <ColumnInfo>
  92. <Column id="codecolumn"/>
  93. <Column id="datacolumn"/>
  94. </ColumnInfo>
  95. <Rows>
  96. <Row>
  97. <Col id="codecolumn">1</Col>
  98. <Col id="datacolumn">정규화그래프</Col>
  99. </Row>
  100. <Row>
  101. <Col id="codecolumn">3</Col>
  102. <Col id="datacolumn">실측값 그래프 Mean/SD</Col>
  103. </Row>
  104. <Row>
  105. <Col id="codecolumn">2</Col>
  106. <Col id="datacolumn">실측값그래프 Low/High</Col>
  107. </Row>
  108. </Rows>
  109. </Dataset>
  110. </Radio>
  111. <Button id="btn_grp" taborder="8" text="Control 그래프" class="btn2" position="absolute 136 375 233 394" onclick="btn_grp_onclick"/>
  112. <Div id="group4" taborder="9" class="div_SA" position="absolute 0 50 1195 111" anchor="left top right">
  113. <Layouts>
  114. <Layout>
  115. <Calendar id="input7" taborder="1" autoselect="true" autoskip="true" dateformat="yyyy-MM-dd " class="input_search" position="absolute 215 9 305 28"/>
  116. <Button id="button4" taborder="2" class="icon_search" position="absolute 1015 35 1031 51" onclick="group4_button4_onclick"/>
  117. <Static id="caption2" text="접수구분 :" class="search_name" position="absolute 601 10 695 27"/>
  118. <Combo id="combo1" taborder="3" innerdataset="@ds_init_lb0704" codecolumn="cd" datacolumn="nm" class="combo_search" position="absolute 695 9 835 28"/>
  119. <Static id="caption20" text="검 사 실 :" class="search_name" position="absolute 331 10 425 27"/>
  120. <Static id="caption21" text="장비 :" class="search_name" position="absolute 15 35 109 52"/>
  121. <Combo id="combo2" taborder="4" innerdataset="@ds_init_lb0111" codecolumn="cd" datacolumn="nm" class="combo_search" position="absolute 420 8 560 27" onitemchanged="group4_combo2_onitemchanged"/>
  122. <Combo id="combo3" taborder="5" innerdataset="@ds_init_lb0701" codecolumn="cd" datacolumn="nm" class="combo_search" position="absolute 105 35 195 54" onitemchanged="group4_combo3_onitemchanged"/>
  123. <Static id="caption14" text="Standard :" class="search_name" enableevent="false" position="absolute 601 35 706 52"/>
  124. <Static id="caption15" text="~" class="search_no_b" position="absolute 199 9 214 26"/>
  125. <Static id="caption17" text="접수일자 :" class="search_name" position="absolute 15 9 109 26"/>
  126. <Static id="caption19" text="검사항목 :" class="search_name" position="absolute 232 36 326 53"/>
  127. <Calendar id="input6" taborder="6" autoselect="true" autoskip="true" dateformat="yyyy-MM-dd " class="input_search" position="absolute 105 8 195 27"/>
  128. <Edit id="ipt_levl" taborder="7" readonly="true" autoselect="true" position="absolute 695 35 1005 54"/>
  129. <Button id="button1" taborder="8" text="조회" class="btn1" position="absolute 1119 34 1175 56" anchor="top right" onclick="group4_button1_onclick"/>
  130. <Shape id="line2" linetype="vertical" class="line_4" position="absolute 1106 35 1112 57" anchor="top right"/>
  131. <Combo id="combo4" taborder="9" innerdataset="@ds_init_lb0116" codecolumn="cd" datacolumn="nm" class="combo_search" position="absolute 317 35 417 54" onitemchanged="group4_combo4_onitemchanged"/>
  132. <Edit id="output7" taborder="10" readonly="true" autoselect="true" enableevent="false" position="absolute 420 35 560 54"/>
  133. <Button id="button9" taborder="11" class="icon_search" position="absolute 565 35 581 51" onclick="group4_button9_onclick"/>
  134. </Layout>
  135. </Layouts>
  136. </Div>
  137. <Tab id="switch1" taborder="10" tabindex="0" position="absolute 0 399 1195 771" anchor="all" class="tab_Normal">
  138. <Tabpages>
  139. <Tabpage id="case1">
  140. <Layouts>
  141. <Layout>
  142. <ActiveX id="object1" position="absolute 0 0 1193 345" progid="{fab9b41c-87d6-474d-ab7e-f07d78f2422e}" useautobitmapcache="1" taborder="0" anchor="all"/>
  143. </Layout>
  144. </Layouts>
  145. </Tabpage>
  146. <Tabpage id="case2">
  147. <Layouts>
  148. <Layout>
  149. <ActiveX id="object2" position="absolute 0 0 1193 369" progid="{fab9b41c-87d6-474d-ab7e-f07d78f2422e}" useautobitmapcache="1" taborder="0" anchor="all"/>
  150. </Layout>
  151. </Layouts>
  152. </Tabpage>
  153. <Tabpage id="case3">
  154. <Layouts>
  155. <Layout>
  156. <ActiveX id="object3" position="absolute 360 0 800 353" progid="{fab9b41c-87d6-474d-ab7e-f07d78f2422e}" useautobitmapcache="1" taborder="0"/>
  157. </Layout>
  158. </Layouts>
  159. </Tabpage>
  160. </Tabpages>
  161. </Tab>
  162. <Button id="button3" taborder="11" text="테스트" class="btn4" visible="false" position="absolute 1115 55 1183 77" anchor="top right" onclick="button3_onclick"/>
  163. <Button id="button6" taborder="12" text="엑셀" class="btn7" position="absolute 1144 112 1194 131" anchor="top right" onclick="button6_onclick"/>
  164. <Button id="button5" taborder="13" text="Std 그래프" class="btn2" position="absolute 235 375 310 394" onclick="button5_onclick"/>
  165. <Button id="button7" taborder="14" text="그래프초기화" class="btn2" position="absolute 389 375 475 394" onclick="button7_onclick"/>
  166. <Button id="btn_grprnt" taborder="15" text="출력" class="btn6" position="absolute 1065 375 1115 394" anchor="top right" onclick="btn_grprnt_onclick"/>
  167. <Button id="button8" taborder="16" text="표준곡선" class="btn2" position="absolute 312 375 387 394" onclick="button8_onclick"/>
  168. <Button id="button11" taborder="17" text="그래프저장" class="btn5" position="absolute 1116 375 1197 394" anchor="top right" onclick="button11_onclick"/>
  169. </Layout>
  170. </Layouts>
  171. <Objects>
  172. <Dataset id="ds_hidden_ref" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  173. <ColumnInfo>
  174. <Column id="acptfromdd" type="STRING" size="256"/>
  175. <Column id="acpttodd" type="STRING" size="256"/>
  176. <Column id="testroom" type="STRING" size="256"/>
  177. <Column id="eqmtcd" type="STRING" size="256"/>
  178. <Column id="testnm" type="STRING" size="256"/>
  179. <Column id="basecdid" type="STRING" size="256"/>
  180. <Column id="acptflag" type="STRING" size="256"/>
  181. <Column id="divgrupcd" type="STRING" size="256"/>
  182. <Column id="testcdlist" type="STRING" size="256"/>
  183. <Column id="levlcd" type="STRING" size="256"/>
  184. <Column id="testcd" type="STRING" size="256"/>
  185. <Column id="deptflag" type="STRING" size="256"/>
  186. </ColumnInfo>
  187. <Rows>
  188. <Row>
  189. <Col id="acptfromdd"/>
  190. <Col id="acpttodd"/>
  191. <Col id="testroom">N</Col>
  192. <Col id="eqmtcd">00</Col>
  193. <Col id="testnm"/>
  194. <Col id="basecdid"/>
  195. <Col id="acptflag">0</Col>
  196. <Col id="divgrupcd">00</Col>
  197. </Row>
  198. </Rows>
  199. </Dataset>
  200. <Dataset id="ds_hidden_ref_testdetlinfo_testdetlinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  201. <Dataset id="ds_hidden_ref_levllist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  202. <ColumnInfo>
  203. <Column id="levlnm" type="STRING" size="256"/>
  204. <Column id="levlcd" type="STRING" size="256"/>
  205. <Column id="levlcd2" type="STRING" size="256"/>
  206. </ColumnInfo>
  207. <Rows>
  208. <Row>
  209. <Col id="levlnm"/>
  210. <Col id="levlcd"/>
  211. <Col id="levlcd2"/>
  212. </Row>
  213. </Rows>
  214. </Dataset>
  215. <Dataset id="ds_main_matrinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  216. <ColumnInfo>
  217. <Column id="matrnm" type="STRING" size="256"/>
  218. <Column id="levlnm" type="STRING" size="256"/>
  219. <Column id="lotno" type="STRING" size="256"/>
  220. <Column id="prodcmpy" type="STRING" size="256"/>
  221. <Column id="wgmrscop" type="STRING" size="256"/>
  222. <Column id="wgmrstat" type="STRING" size="256"/>
  223. <Column id="measfactcnts" type="STRING" size="256"/>
  224. <Column id="measfactcd" type="STRING" size="256"/>
  225. </ColumnInfo>
  226. <Rows>
  227. <Row>
  228. <Col id="matrnm"/>
  229. <Col id="levlnm"/>
  230. <Col id="lotno"/>
  231. <Col id="prodcmpy"/>
  232. <Col id="wgmrscop"/>
  233. <Col id="wgmrstat"/>
  234. <Col id="measfactcnts"/>
  235. <Col id="measfactcd"/>
  236. </Row>
  237. </Rows>
  238. </Dataset>
  239. <Dataset id="ds_hidden_temp_factcnts" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  240. <Dataset id="ds_main_rsltlist_row" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_rsltlist_row_oncolumnchanged">
  241. <ColumnInfo>
  242. <Column id="chk" type="STRING" size="256" sumtext="chk"/>
  243. <Column id="lotno" type="STRING" size="256" sumtext="lotno"/>
  244. <Column id="testnm" type="STRING" size="256" sumtext="검사명"/>
  245. <Column id="levlnm" type="STRING" size="256" sumtext="레벨명"/>
  246. <Column id="avg" type="STRING" size="256" sumtext="평균"/>
  247. <Column id="sdval" type="STRING" size="256" sumtext="편차"/>
  248. <Column id="ref" type="STRING" size="256" sumtext="참고치"/>
  249. <Column id="testcd" type="STRING" size="256" sumtext="검사코드"/>
  250. <Column id="levlcd" type="STRING" size="256" sumtext="레벨코드"/>
  251. <Column id="matrcd" type="STRING" size="256" sumtext="물질코드"/>
  252. <Column id="grphflag" type="STRING" size="256" sumtext="물질코드"/>
  253. <Column id="mean" type="STRING" size="256" sumtext="평균"/>
  254. <Column id="sd" type="STRING" size="256" sumtext="편차"/>
  255. <Column id="cv" type="STRING" size="256" sumtext="시부이"/>
  256. <Column id="column0" type="STRING" size="256" sumtext="결과"/>
  257. <Column id="column1" type="STRING" size="256" sumtext="결과"/>
  258. <Column id="column2" type="STRING" size="256" sumtext="결과"/>
  259. <Column id="column3" type="STRING" size="256" sumtext="결과"/>
  260. <Column id="column4" type="STRING" size="256" sumtext="결과"/>
  261. <Column id="column5" type="STRING" size="256" sumtext="결과"/>
  262. <Column id="column6" type="STRING" size="256" sumtext="결과"/>
  263. <Column id="column7" type="STRING" size="256" sumtext="결과"/>
  264. <Column id="column8" type="STRING" size="256" sumtext="결과"/>
  265. <Column id="column9" type="STRING" size="256" sumtext="결과"/>
  266. <Column id="column10" type="STRING" size="256" sumtext="결과"/>
  267. <Column id="column11" type="STRING" size="256" sumtext="결과"/>
  268. <Column id="column12" type="STRING" size="256" sumtext="결과"/>
  269. <Column id="column13" type="STRING" size="256" sumtext="결과"/>
  270. <Column id="column14" type="STRING" size="256" sumtext="결과"/>
  271. <Column id="column15" type="STRING" size="256" sumtext="결과"/>
  272. <Column id="column16" type="STRING" size="256" sumtext="결과"/>
  273. <Column id="column17" type="STRING" size="256" sumtext="결과"/>
  274. <Column id="column18" type="STRING" size="256" sumtext="결과"/>
  275. <Column id="column19" type="STRING" size="256" sumtext="결과"/>
  276. <Column id="column20" type="STRING" size="256" sumtext="결과"/>
  277. <Column id="column21" type="STRING" size="256" sumtext="결과"/>
  278. <Column id="column22" type="STRING" size="256" sumtext="결과"/>
  279. <Column id="column23" type="STRING" size="256" sumtext="결과"/>
  280. <Column id="column24" type="STRING" size="256" sumtext="결과"/>
  281. <Column id="column25" type="STRING" size="256" sumtext="결과"/>
  282. <Column id="column26" type="STRING" size="256" sumtext="결과"/>
  283. <Column id="column27" type="STRING" size="256" sumtext="결과"/>
  284. <Column id="column28" type="STRING" size="256" sumtext="결과"/>
  285. <Column id="column29" type="STRING" size="256" sumtext="결과"/>
  286. <Column id="column30" type="STRING" size="256" sumtext="결과"/>
  287. <Column id="column31" type="STRING" size="256" sumtext="결과"/>
  288. <Column id="column32" type="STRING" size="256" sumtext="결과"/>
  289. <Column id="column33" type="STRING" size="256" sumtext="결과"/>
  290. <Column id="column34" type="STRING" size="256" sumtext="결과"/>
  291. <Column id="column35" type="STRING" size="256" sumtext="결과"/>
  292. <Column id="column36" type="STRING" size="256" sumtext="결과"/>
  293. <Column id="column37" type="STRING" size="256" sumtext="결과"/>
  294. <Column id="column38" type="STRING" size="256" sumtext="결과"/>
  295. <Column id="column39" type="STRING" size="256" sumtext="결과"/>
  296. <Column id="column40" type="STRING" size="256" sumtext="결과"/>
  297. <Column id="column41" type="STRING" size="256" sumtext="결과"/>
  298. <Column id="column42" type="STRING" size="256" sumtext="결과"/>
  299. <Column id="column43" type="STRING" size="256" sumtext="결과"/>
  300. <Column id="column44" type="STRING" size="256" sumtext="결과"/>
  301. <Column id="column45" type="STRING" size="256" sumtext="결과"/>
  302. <Column id="column46" type="STRING" size="256" sumtext="결과"/>
  303. <Column id="column47" type="STRING" size="256" sumtext="결과"/>
  304. <Column id="column48" type="STRING" size="256" sumtext="결과"/>
  305. <Column id="column49" type="STRING" size="256" sumtext="결과"/>
  306. <Column id="column50" type="STRING" size="256" sumtext="결과"/>
  307. <Column id="column51" type="STRING" size="256" sumtext="결과"/>
  308. <Column id="column52" type="STRING" size="256" sumtext="결과"/>
  309. <Column id="column53" type="STRING" size="256" sumtext="결과"/>
  310. <Column id="column54" type="STRING" size="256" sumtext="결과"/>
  311. <Column id="column55" type="STRING" size="256" sumtext="결과"/>
  312. <Column id="column56" type="STRING" size="256" sumtext="결과"/>
  313. <Column id="column57" type="STRING" size="256" sumtext="결과"/>
  314. <Column id="column58" type="STRING" size="256" sumtext="결과"/>
  315. <Column id="column59" type="STRING" size="256" sumtext="결과"/>
  316. <Column id="column60" type="STRING" size="256" sumtext="결과"/>
  317. <Column id="column61" type="STRING" size="256" sumtext="결과"/>
  318. <Column id="column62" type="STRING" size="256" sumtext="결과"/>
  319. <Column id="column63" type="STRING" size="256" sumtext="결과"/>
  320. <Column id="column64" type="STRING" size="256" sumtext="결과"/>
  321. <Column id="column65" type="STRING" size="256" sumtext="결과"/>
  322. <Column id="column66" type="STRING" size="256" sumtext="결과"/>
  323. <Column id="column67" type="STRING" size="256" sumtext="결과"/>
  324. <Column id="column68" type="STRING" size="256" sumtext="결과"/>
  325. <Column id="column69" type="STRING" size="256" sumtext="결과"/>
  326. <Column id="column70" type="STRING" size="256" sumtext="결과"/>
  327. <Column id="column71" type="STRING" size="256" sumtext="결과"/>
  328. <Column id="column72" type="STRING" size="256" sumtext="결과"/>
  329. <Column id="column73" type="STRING" size="256" sumtext="결과"/>
  330. <Column id="column74" type="STRING" size="256" sumtext="결과"/>
  331. <Column id="column75" type="STRING" size="256" sumtext="결과"/>
  332. <Column id="column76" type="STRING" size="256" sumtext="결과"/>
  333. <Column id="column77" type="STRING" size="256" sumtext="결과"/>
  334. <Column id="column78" type="STRING" size="256" sumtext="결과"/>
  335. <Column id="column79" type="STRING" size="256" sumtext="결과"/>
  336. <Column id="column80" type="STRING" size="256" sumtext="결과"/>
  337. <Column id="column81" type="STRING" size="256" sumtext="결과"/>
  338. <Column id="column82" type="STRING" size="256" sumtext="결과"/>
  339. <Column id="column83" type="STRING" size="256" sumtext="결과"/>
  340. <Column id="column84" type="STRING" size="256" sumtext="결과"/>
  341. <Column id="column85" type="STRING" size="256" sumtext="결과"/>
  342. <Column id="column86" type="STRING" size="256" sumtext="결과"/>
  343. <Column id="column87" type="STRING" size="256" sumtext="결과"/>
  344. <Column id="column88" type="STRING" size="256" sumtext="결과"/>
  345. <Column id="column89" type="STRING" size="256" sumtext="결과"/>
  346. <Column id="column90" type="STRING" size="256" sumtext="결과"/>
  347. <Column id="column91" type="STRING" size="256" sumtext="결과"/>
  348. <Column id="column92" type="STRING" size="256" sumtext="결과"/>
  349. <Column id="column93" type="STRING" size="256" sumtext="결과"/>
  350. <Column id="column94" type="STRING" size="256" sumtext="결과"/>
  351. <Column id="column95" type="STRING" size="256" sumtext="결과"/>
  352. <Column id="column96" type="STRING" size="256" sumtext="결과"/>
  353. <Column id="column97" type="STRING" size="256" sumtext="결과"/>
  354. <Column id="column98" type="STRING" size="256" sumtext="결과"/>
  355. <Column id="column99" type="STRING" size="256" sumtext="결과"/>
  356. <Column id="column100" type="STRING" size="256" sumtext="결과"/>
  357. <Column id="column101" type="STRING" size="256" sumtext="결과"/>
  358. <Column id="column102" type="STRING" size="256" sumtext="결과"/>
  359. <Column id="column103" type="STRING" size="256" sumtext="결과"/>
  360. <Column id="column104" type="STRING" size="256" sumtext="결과"/>
  361. <Column id="column105" type="STRING" size="256" sumtext="결과"/>
  362. <Column id="column106" type="STRING" size="256" sumtext="결과"/>
  363. <Column id="column107" type="STRING" size="256" sumtext="결과"/>
  364. <Column id="column108" type="STRING" size="256" sumtext="결과"/>
  365. <Column id="column109" type="STRING" size="256" sumtext="결과"/>
  366. <Column id="column110" type="STRING" size="256" sumtext="결과"/>
  367. <Column id="column111" type="STRING" size="256" sumtext="결과"/>
  368. <Column id="column112" type="STRING" size="256" sumtext="결과"/>
  369. <Column id="column113" type="STRING" size="256" sumtext="결과"/>
  370. <Column id="column114" type="STRING" size="256" sumtext="결과"/>
  371. <Column id="column115" type="STRING" size="256" sumtext="결과"/>
  372. <Column id="column116" type="STRING" size="256" sumtext="결과"/>
  373. <Column id="column117" type="STRING" size="256" sumtext="결과"/>
  374. <Column id="column118" type="STRING" size="256" sumtext="결과"/>
  375. <Column id="column119" type="STRING" size="256" sumtext="결과"/>
  376. <Column id="column120" type="STRING" size="256" sumtext="결과"/>
  377. <Column id="column121" type="STRING" size="256" sumtext="결과"/>
  378. <Column id="column122" type="STRING" size="256" sumtext="결과"/>
  379. <Column id="column123" type="STRING" size="256" sumtext="결과"/>
  380. <Column id="column124" type="STRING" size="256" sumtext="결과"/>
  381. <Column id="column125" type="STRING" size="256" sumtext="결과"/>
  382. <Column id="column126" type="STRING" size="256" sumtext="결과"/>
  383. <Column id="column127" type="STRING" size="256" sumtext="결과"/>
  384. <Column id="column128" type="STRING" size="256" sumtext="결과"/>
  385. <Column id="column129" type="STRING" size="256" sumtext="결과"/>
  386. <Column id="column130" type="STRING" size="256" sumtext="결과"/>
  387. <Column id="column131" type="STRING" size="256" sumtext="결과"/>
  388. <Column id="column132" type="STRING" size="256" sumtext="결과"/>
  389. <Column id="column133" type="STRING" size="256" sumtext="결과"/>
  390. <Column id="column134" type="STRING" size="256" sumtext="결과"/>
  391. <Column id="column135" type="STRING" size="256" sumtext="결과"/>
  392. <Column id="column136" type="STRING" size="256" sumtext="결과"/>
  393. <Column id="column137" type="STRING" size="256" sumtext="결과"/>
  394. <Column id="column138" type="STRING" size="256" sumtext="결과"/>
  395. <Column id="column139" type="STRING" size="256" sumtext="결과"/>
  396. <Column id="column140" type="STRING" size="256" sumtext="결과"/>
  397. <Column id="column141" type="STRING" size="256" sumtext="결과"/>
  398. <Column id="column142" type="STRING" size="256" sumtext="결과"/>
  399. <Column id="column143" type="STRING" size="256" sumtext="결과"/>
  400. <Column id="column144" type="STRING" size="256" sumtext="결과"/>
  401. <Column id="column145" type="STRING" size="256" sumtext="결과"/>
  402. <Column id="column146" type="STRING" size="256" sumtext="결과"/>
  403. <Column id="column147" type="STRING" size="256" sumtext="결과"/>
  404. <Column id="column148" type="STRING" size="256" sumtext="결과"/>
  405. <Column id="column149" type="STRING" size="256" sumtext="결과"/>
  406. <Column id="column150" type="STRING" size="256" sumtext="결과"/>
  407. <Column id="column151" type="STRING" size="256" sumtext="결과"/>
  408. <Column id="column152" type="STRING" size="256" sumtext="결과"/>
  409. <Column id="column153" type="STRING" size="256" sumtext="결과"/>
  410. <Column id="column154" type="STRING" size="256" sumtext="결과"/>
  411. <Column id="column155" type="STRING" size="256" sumtext="결과"/>
  412. <Column id="column156" type="STRING" size="256" sumtext="결과"/>
  413. <Column id="column157" type="STRING" size="256" sumtext="결과"/>
  414. <Column id="column158" type="STRING" size="256" sumtext="결과"/>
  415. <Column id="column159" type="STRING" size="256" sumtext="결과"/>
  416. <Column id="column160" type="STRING" size="256" sumtext="결과"/>
  417. <Column id="column161" type="STRING" size="256" sumtext="결과"/>
  418. <Column id="column162" type="STRING" size="256" sumtext="결과"/>
  419. <Column id="column163" type="STRING" size="256" sumtext="결과"/>
  420. <Column id="column164" type="STRING" size="256" sumtext="결과"/>
  421. <Column id="column165" type="STRING" size="256" sumtext="결과"/>
  422. <Column id="column166" type="STRING" size="256" sumtext="결과"/>
  423. <Column id="column167" type="STRING" size="256" sumtext="결과"/>
  424. <Column id="column168" type="STRING" size="256" sumtext="결과"/>
  425. <Column id="column169" type="STRING" size="256" sumtext="결과"/>
  426. <Column id="column170" type="STRING" size="256" sumtext="결과"/>
  427. <Column id="column171" type="STRING" size="256" sumtext="결과"/>
  428. <Column id="column172" type="STRING" size="256" sumtext="결과"/>
  429. <Column id="column173" type="STRING" size="256" sumtext="결과"/>
  430. <Column id="column174" type="STRING" size="256" sumtext="결과"/>
  431. <Column id="column175" type="STRING" size="256" sumtext="결과"/>
  432. <Column id="column176" type="STRING" size="256" sumtext="결과"/>
  433. <Column id="column177" type="STRING" size="256" sumtext="결과"/>
  434. <Column id="column178" type="STRING" size="256" sumtext="결과"/>
  435. <Column id="column179" type="STRING" size="256" sumtext="결과"/>
  436. <Column id="column180" type="STRING" size="256" sumtext="결과"/>
  437. <Column id="column181" type="STRING" size="256" sumtext="결과"/>
  438. <Column id="column182" type="STRING" size="256" sumtext="결과"/>
  439. <Column id="column183" type="STRING" size="256" sumtext="결과"/>
  440. <Column id="column184" type="STRING" size="256" sumtext="결과"/>
  441. <Column id="column185" type="STRING" size="256" sumtext="결과"/>
  442. <Column id="column186" type="STRING" size="256" sumtext="결과"/>
  443. <Column id="column187" type="STRING" size="256" sumtext="결과"/>
  444. <Column id="column188" type="STRING" size="256" sumtext="결과"/>
  445. <Column id="column189" type="STRING" size="256" sumtext="결과"/>
  446. <Column id="column190" type="STRING" size="256" sumtext="결과"/>
  447. <Column id="column191" type="STRING" size="256" sumtext="결과"/>
  448. <Column id="column192" type="STRING" size="256" sumtext="결과"/>
  449. <Column id="column193" type="STRING" size="256" sumtext="결과"/>
  450. <Column id="column194" type="STRING" size="256" sumtext="결과"/>
  451. <Column id="column195" type="STRING" size="256" sumtext="결과"/>
  452. <Column id="column196" type="STRING" size="256" sumtext="결과"/>
  453. <Column id="column197" type="STRING" size="256" sumtext="결과"/>
  454. <Column id="column198" type="STRING" size="256" sumtext="결과"/>
  455. <Column id="column199" type="STRING" size="256" sumtext="결과"/>
  456. <Column id="column200" type="STRING" size="256" sumtext="결과"/>
  457. </ColumnInfo>
  458. </Dataset>
  459. <Dataset id="ds_hidden_gref" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  460. <ColumnInfo>
  461. <Column id="grapegbn" type="STRING" size="256"/>
  462. <Column id="yn" type="STRING" size="256"/>
  463. </ColumnInfo>
  464. <Rows>
  465. <Row/>
  466. </Rows>
  467. </Dataset>
  468. <Dataset id="ds_init_lb0111" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  469. <ColumnInfo>
  470. <Column id="cd" type="STRING" size="256"/>
  471. <Column id="nm" type="STRING" size="256"/>
  472. </ColumnInfo>
  473. </Dataset>
  474. <Dataset id="ds_init_lb0704" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  475. <ColumnInfo>
  476. <Column id="cd" type="STRING" size="256"/>
  477. <Column id="nm" type="STRING" size="256"/>
  478. </ColumnInfo>
  479. </Dataset>
  480. <Dataset id="ds_init_lb0701" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  481. <ColumnInfo>
  482. <Column id="cd" type="STRING" size="256"/>
  483. <Column id="nm" type="STRING" size="256"/>
  484. </ColumnInfo>
  485. </Dataset>
  486. <Dataset id="ds_init_lb0116" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  487. <ColumnInfo>
  488. <Column id="cd" type="STRING" size="256"/>
  489. <Column id="nm" type="STRING" size="256"/>
  490. </ColumnInfo>
  491. </Dataset>
  492. <Dataset id="ds_init_lb0703" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  493. <ColumnInfo>
  494. <Column id="cd" type="STRING" size="256"/>
  495. <Column id="nm" type="STRING" size="256"/>
  496. </ColumnInfo>
  497. </Dataset>
  498. <Dataset id="ds_init_lb0000" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  499. <Dataset id="ds_init_lb0501" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  500. <ColumnInfo>
  501. <Column id="cd" type="STRING" size="256"/>
  502. <Column id="nm" type="STRING" size="256"/>
  503. </ColumnInfo>
  504. </Dataset>
  505. <Dataset id="ds_hidden_ref_testlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  506. <Dataset id="ds_main_testdetlinfo_testdetlinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  507. <Dataset id="ds_hidden_divgrupnmlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  508. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  509. <ColumnInfo>
  510. <Column id="codeflag" type="STRING" size="256"/>
  511. <Column id="basecdid" type="STRING" size="256"/>
  512. <Column id="data1" type="STRING" size="256"/>
  513. <Column id="levlcd" type="STRING" size="256"/>
  514. <Column id="factcntlist" type="STRING" size="256"/>
  515. <Column id="deptflag" type="STRING" size="256"/>
  516. <Column id="divgrupcd" type="STRING" size="256"/>
  517. </ColumnInfo>
  518. <Rows>
  519. <Row>
  520. <Col id="codeflag"/>
  521. <Col id="basecdid"/>
  522. <Col id="data1"/>
  523. <Col id="levlcd"/>
  524. <Col id="factcntlist"/>
  525. <Col id="deptflag"/>
  526. <Col id="divgrupcd"/>
  527. </Row>
  528. </Rows>
  529. </Dataset>
  530. <Dataset id="ds_get_data2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  531. <Dataset id="ds_hidden_temp_rsltlist_header" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  532. <ColumnInfo>
  533. <Column id="caption" type="STRING" size="256"/>
  534. <Column id="colref" type="STRING" size="256"/>
  535. <Column id="type" type="STRING" size="256"/>
  536. </ColumnInfo>
  537. </Dataset>
  538. </Objects>
  539. <Bind>
  540. <BindItem id="item0" compid="group4.input6" propid="value" datasetid="ds_hidden_ref" columnid="acptfromdd"/>
  541. <BindItem id="item1" compid="group4.input7" propid="value" datasetid="ds_hidden_ref" columnid="acpttodd"/>
  542. <BindItem id="item2" compid="group4.combo2" propid="value" datasetid="ds_hidden_ref" columnid="testroom"/>
  543. <BindItem id="item3" compid="group4.combo1" propid="value" datasetid="ds_hidden_ref" columnid="acptflag"/>
  544. <BindItem id="item4" compid="group4.combo3" propid="value" datasetid="ds_hidden_ref" columnid="eqmtcd"/>
  545. <BindItem id="item5" compid="group4.combo4" propid="value" datasetid="ds_hidden_ref" columnid="divgrupcd"/>
  546. <BindItem id="item6" compid="group4.output7" propid="value" datasetid="ds_hidden_ref" columnid="testnm"/>
  547. <BindItem id="item7" compid="group4.ipt_levl" propid="value" datasetid="ds_hidden_ref_levllist" columnid="levlnm"/>
  548. <BindItem id="item8" compid="group3.output1" propid="value" datasetid="ds_main_matrinfo" columnid="matrnm"/>
  549. <BindItem id="item9" compid="group3.output2" propid="value" datasetid="ds_main_matrinfo" columnid="levlnm"/>
  550. <BindItem id="item10" compid="group3.output3" propid="value" datasetid="ds_main_matrinfo" columnid="lotno"/>
  551. <BindItem id="item11" compid="group3.output6" propid="value" datasetid="ds_main_matrinfo" columnid="wgmrstat"/>
  552. <BindItem id="item12" compid="group3.textarea1" propid="value" datasetid="ds_main_matrinfo" columnid="measfactcnts"/>
  553. <BindItem id="item13" compid="group3.combo13" propid="value" datasetid="ds_main_matrinfo" columnid="measfactcd"/>
  554. <BindItem id="item14" compid="group3.output5" propid="value" datasetid="ds_main_matrinfo" columnid="wgmrscop"/>
  555. <BindItem id="item15" compid="group3.output4" propid="value" datasetid="ds_main_matrinfo" columnid="prodcmpy"/>
  556. <BindItem id="item16" compid="radio1" propid="value" datasetid="ds_hidden_gref" columnid="grapegbn"/>
  557. <BindItem id="item17" compid="checkbox2" propid="value" datasetid="ds_hidden_gref" columnid="yn"/>
  558. </Bind>
  559. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  560. * System Name :
  561. * Job Name :
  562. * Creator :
  563. * Make Date : 2015-05-01
  564. * Description :
  565. *---------------------------------------------------------------------------------------
  566. * Modify Date Modifier Modify Description
  567. *---------------------------------------------------------------------------------------
  568. * 2015-05-01 Live Converter TF->XP
  569. *
  570. *---------------------------------------------------------------------------------------
  571. ****************************************************************************************/
  572. include "com_commonxp::comm_main.xjs";
  573. include "lis_commonxp::LLZ001.xjs";
  574. var vLength = 15; //결과 데이터가 시작되는 col?
  575. function SMLQP10200_oninit(obj:Form, e:InitEventInfo)
  576. {
  577. frmf_initForm(obj);
  578. }
  579. function SMLQP10200_onload(obj:Form, e:LoadEventInfo)
  580. {
  581. grdf_initGrid(datagrid1);
  582. try
  583. {
  584. ds_hidden_ref_testdetlinfo_testdetlinfo.copyData(arg_ds_hidden_ref);
  585. }
  586. catch(e)
  587. {
  588. }
  589. if(utlf_isNull(ds_hidden_ref_testdetlinfo_testdetlinfo.getColumn(0, "rsltcnfmdt")))
  590. {
  591. button2.visible = false;
  592. }
  593. fSetinit();
  594. }
  595. function fSetinit()
  596. {
  597. var fromdate = utlf_getCurrentDate().toDate("YYYYMMDD").getAddDate(-6)
  598. if(utlf_isNull(ds_hidden_ref.getColumn(0, "acptfromdd")) || utlf_isNull(ds_hidden_ref.getColumn(0, "acpttodd")))
  599. {
  600. ds_hidden_ref.setColumn(0, "acptfromdd", fromdate.getDateFormat("YYYYMMDD"));
  601. ds_hidden_ref.setColumn(0, "acpttodd", utlf_getCurrentDate());
  602. }
  603. lf_getDbDeptcd("0000|0111|0701|0703|0116|", "");
  604. ds_send.setColumn(0, "basecdid", ds_init_lb0000.getColumn(0, "nm"));
  605. ds_send.setColumn(0, "codeflag", "0501|0704|");
  606. var oParam = {};
  607. oParam.id = "TRLZZ00101";
  608. oParam.service = "diagtestapplib.DiagTestBaseInfoMngt";
  609. oParam.method = "reqGetInitCodeInfo";
  610. oParam.inds = "cond=ds_send";
  611. oParam.outds = "ds_init_lb0501=0501 ds_init_lb0704=0704";
  612. oParam.async = false;
  613. //oParam.callback = "cf_TRLZZ00101";
  614. tranf_submit(oParam);
  615. }
  616. function group4_combo2_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  617. {
  618. fSetEqmtCd();
  619. }
  620. function group4_combo3_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  621. {
  622. fSetTestCd2();
  623. }
  624. function group4_combo4_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  625. {
  626. ds_hidden_ref_levllist.clearData();
  627. ds_hidden_ref_testlist.clearData();
  628. fTestListSch();
  629. }
  630. function group4_button9_onclick(obj:Button, e:ClickEventInfo)
  631. {
  632. fTestListSch();
  633. }
  634. function group4_button4_onclick(obj:Button, e:ClickEventInfo)
  635. {
  636. fTestLevlSch();
  637. }
  638. function fSetEqmtCd()
  639. {
  640. var testroom = group4.combo2.value;
  641. dsf_makeValue(ds_send, "basecdid", "string", testroom, 0);
  642. dsf_makeValue(ds_send, "codeflag", "string", "0701|", 0);
  643. ds_hidden_ref.setColumn(0, "eqmtcd", "00");
  644. var oParam = {};
  645. oParam.id = "TRLZZ00101";
  646. oParam.service = "diagtestapplib.DiagTestBaseInfoMngt";
  647. oParam.method = "reqGetInitCodeInfo";
  648. oParam.inds = "cond=ds_send";
  649. oParam.outds = "ds_init_lb0701=0701";
  650. oParam.async = false;
  651. //oParam.callback = "cf_TRLZZ00101";
  652. tranf_submit(oParam);
  653. }
  654. function fSetTestCd2()
  655. {
  656. ds_main_testdetlinfo_testdetlinfo.clearData();
  657. ds_hidden_divgrupnmlist.clearData();
  658. ds_hidden_ref.setColumn(0, "divgrupcd", "00");
  659. }
  660. function fTestListSch()
  661. {
  662. var eqmtcd = ds_hidden_ref.getColumn(0, "eqmtcd");
  663. var deptflag = ds_init_lb0000.getColumn(0, "nm");
  664. var sflag = "nu" + "▦" + eqmtcd + "▦" + deptflag;
  665. dsf_makeValue(ds_send, "sflag", "string", sflag, 0);
  666. frmf_setParameter("opener_parameter_id", sflag);
  667. var divgrup = ds_hidden_ref.getColumn(0, "divgrupcd");
  668. if(divgrup != "00")
  669. {
  670. var objArg = new Object();
  671. objArg.arg_divgrupcd = group4.combo4.value;
  672. frmf_modal("SPLQP00300", "SPLQP00300", objArg, "", "", "", "", "", "", "", "", "", "M");
  673. }
  674. ds_hidden_ref.setColumn(0, "testnm", ds_hidden_ref_testlist.getColumn(0, "testnm"));
  675. if(divgrup != "00")
  676. {
  677. fTestLevlSch();
  678. }
  679. }
  680. function fTestLevlSch()
  681. {
  682. var eqmtcd = ds_hidden_ref.getColumn(0, "eqmtcd");
  683. var deptflag = ds_init_lb0000.getColumn(0, "nm");
  684. var tlentgh = String(ds_hidden_ref_testlist.getColumn(0, "testcd")).split("▦");
  685. var testcd = ds_hidden_ref_testlist.getColumn(0, "testcd");
  686. var sflag = "nu" + "▦" + eqmtcd + "▦" + deptflag + "▦" + testcd;
  687. dsf_makeValue(ds_send, "sflag", "string", sflag, 0);
  688. frmf_setParameter("opener_parameter_id", sflag);
  689. var objArg = new Object();
  690. objArg.ds_arg_temp_reqdata = ds_send;
  691. frmf_modal("SPLQP00200", "SPLQP00200", objArg, "", "", "", "", "", "", "", "", "", "M");
  692. ds_hidden_ref_levllist.copyData(ds_get_data2);
  693. ds_hidden_ref.setColumn(0, "levlcd", ds_hidden_ref_levllist.getColumn(0, "levlcd"));
  694. }
  695. function group4_button1_onclick(obj:Button, e:ClickEventInfo)
  696. {
  697. fClearChart();//차트 초기화
  698. fGetGrapeRsltList();
  699. }
  700. function fClearChart()
  701. {
  702. inff_clearTChart(switch1.case1.object1);
  703. inff_clearTChart(switch1.case2.object2);
  704. inff_clearTChart(switch1.case3.object3);
  705. }
  706. function fChkDate()
  707. {
  708. var todd = ds_hidden_ref.getColumn(0, "acpttodd");
  709. var mDate = todd.toDate("YYYYMMDD").getAddDate(-12, "M");
  710. var fromdd = ds_hidden_ref.getColumn(0, "acptfromdd");
  711. if( mDate.getDateFormat("YYYYMMDD") > fromdd)
  712. {
  713. model.alert("1년 이내의 기간으로 검색하세요.");
  714. return false;
  715. }
  716. else if(todd < fromdd)
  717. {
  718. alert("기간설정이 잘못 되었습니다.");
  719. return false;
  720. }
  721. else
  722. {
  723. return true;
  724. }
  725. }
  726. function fGetGrapeRsltList()
  727. {
  728. if(!fChkDate())
  729. {
  730. return;
  731. }
  732. var eqmtcd = ds_hidden_ref.getColumn(0, "eqmtcd");
  733. var testnm = ds_hidden_ref.getColumn(0, "testnm");
  734. var levlcd = ds_hidden_ref_levllist.getColumn(0, "levlcd");
  735. if(utlf_isNull(levlcd))
  736. {
  737. sysf_messageBox("Standard를", "C002","");
  738. return;
  739. }
  740. ds_main_rsltlist_row.clear()
  741. ds_hidden_ref.setColumn(0, "deptflag", ds_init_lb0000.getColumn(0, "nm"));
  742. var oParam = {};
  743. oParam.id = "TRLQP00201";
  744. oParam.service = "grademngtprintapp.QCRsltReference";
  745. oParam.method = "reqGetTestGrapeRslt";
  746. oParam.inds = "cond=ds_hidden_ref";
  747. oParam.outds = "ds_main_rsltlist_row=row";
  748. oParam.async = false;
  749. //oParam.callback = "cf_TRLQP00201";
  750. tranf_submit(oParam);
  751. var gridColRef = ds_hidden_temp_rsltlist_header.getColumn(0, "colref");
  752. var gridColRefArray = String(gridColRef).split("^");
  753. var gridColType = ds_hidden_temp_rsltlist_header.getColumn(0, "type");
  754. var gridColTypeArray = String(gridColType).split("^");
  755. for( var i = 0; i < gridColRefArray.length; i++ )
  756. {
  757. datagrid1.appendContentsCol();
  758. datagrid1.setCellProperty("Head", i, "text", gridColRefArray[i]);
  759. //datagrid1.addColumn("ref:" + gridColRefArray[i] + "; type:"+gridColTypeArray[i]+"; ", false);
  760. }
  761. for(var i = 0; i < datagrid1.getCellCount("Head"); i++ )
  762. {
  763. if(i == 0)
  764. {
  765. datagrid1.setFormatColProperty(i, "size", 25);
  766. }
  767. else if( i == 2)
  768. {
  769. datagrid1.setFormatColProperty(i, "size", 150);
  770. }
  771. else if( i < vLength)
  772. {
  773. datagrid1.setFormatColProperty(i, "size", 60);
  774. }
  775. else
  776. {
  777. datagrid1.setFormatColProperty(i, "size", 75);
  778. }
  779. }
  780. // datagrid1.caption = gridCaption;
  781. // copyNodesetType("/root/main/rsltlist/row", "/root/hidden/temp/rsltlist/row", "replace"); //attribute값때문에 replaceChild대신 copyNodesetType씀..
  782. var testlist = String(ds_hidden_ref_testlist.getColumn(0, "testcd")).split("▦");
  783. if(testlist.length == 1)
  784. {
  785. button7.enable = true;
  786. button5.enable = true;
  787. }
  788. else
  789. {
  790. button7.enable = false;
  791. button5.enable = false;
  792. }
  793. datagrid1.setFormatColProperty(11, "size", 0);
  794. datagrid1.setFormatColProperty(12, "size", 0);
  795. datagrid1.setFormatColProperty(13, "size", 0);
  796. datagrid1.setFormatColProperty(14, "size", 0);
  797. }
  798. function button3_onclick(obj:Button, e:ClickEventInfo)
  799. {
  800. alert(ds_main_matrinfo.getColumn(0, "measfactcnts"));
  801. alert(ds_main_matrinfo.getColumn(0, "measfactcnts"));
  802. }
  803. function group3_combo13_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  804. {
  805. fCntsSet(ds_main_rsltlist_row.rowposition, datagrid1.currentcol, 1);
  806. }
  807. function button6_onclick(obj:Button, e:ClickEventInfo)
  808. {
  809. grdf_exportExcel(datagrid1, "", "", false, "", "", false);
  810. }
  811. function btn_grp_onclick(obj:Button, e:ClickEventInfo)
  812. {
  813. ds_hidden_gref.setColumn(0, "grapegbn", "1");
  814. inff_clearTChart(switch1.case1.object1); //챠트 초기화
  815. switch1.tabindex == 0;
  816. var count = ds_main_rsltlist_row.getCaseCount("chk == 'true'");
  817. if(count == 0)
  818. {
  819. alert("그래프를 작성할 항목을 선택하세요");
  820. return;
  821. }
  822. else
  823. {
  824. var grapflag = ds_hidden_gref.getColumn(0, "grapegbn");
  825. var Obj_Chart = switch1.case1.object1;
  826. fInitChartRegl(grapflag);
  827. }
  828. }
  829. function button5_onclick(obj:Button, e:ClickEventInfo)
  830. {
  831. ds_hidden_gref.setColumn(0, "grapegbn", "2");
  832. switch1.tabindex = 1;
  833. var count = 0;
  834. var ref = "";
  835. for(var i = vLength; i < ds_main_rsltlist_row.getColCount(); i++)
  836. {
  837. if(ds_main_rsltlist_row.getColumn(0, i) == true)
  838. {
  839. count += 1;
  840. ref += i + "▦";
  841. }
  842. }
  843. if(count == 0)
  844. {
  845. alert("그래프를 작성할 항목을 선택하세요");
  846. return;
  847. }
  848. else
  849. {
  850. fMakeStdGrp(count, ref);
  851. }
  852. }
  853. function fMakeStdGrp(count, ref)
  854. {
  855. var Obj_Chart = switch1.case2.object2;
  856. Obj_Chart.Aspect.View3D = 0; // 2d 로 표현하기
  857. Obj_Chart.Zoom.Enable = false; // zoom 사용하지 않기
  858. Obj_Chart.Scroll.Enable = 2;
  859. Obj_Chart.Environment.MouseWheelScroll = false;
  860. Obj_Chart.Legend.Visible = false; // 그래프 참조 박스 띄우지 않기
  861. Obj_Chart.Panel.Gradient.Visible = true; // 페널에 그라디언트 적용
  862. Obj_Chart.Panel.Gradient.StartColor = 0xffffff;
  863. Obj_Chart.Panel.Gradient.EndColor=0xffffff;
  864. Obj_Chart.Legend.Visible = true; //범례표시 여부
  865. Obj_Chart.Legend.Alignment = 3; // Legend 위치 설정 :: 0 = left | 1 = right | 2 = top| 3 = bottom
  866. Obj_Chart.Legend.CheckBoxes = false; //범례 체크박스
  867. Obj_Chart.Panel.MarginTop = 5;
  868. Obj_Chart.Panel.MarginLeft = 2;
  869. Obj_Chart.Panel.MarginRight = 0;
  870. Obj_Chart.Panel.MarginBottom = 2;
  871. Obj_Chart.Header.Visible = true; //헤더 타이틀 보이지 않기
  872. Obj_Chart.Header.Text(0) = "Standard";
  873. Obj_Chart.Header.Font.Size = 13;
  874. Obj_Chart.Header.Font.Bold = 5;
  875. Obj_Chart.Axis.Left.Labels.Style = 2;
  876. Obj_Chart.Axis.Right.Labels.Style = 1;
  877. Obj_Chart.Axis.Bottom.Labels.Style = 4; // 0:auto or value, 1:No, 2 :민 맥스, 3: marks style, 4:text
  878. Obj_Chart.Axis.Bottom.Labels.Angle = 90; //0도 돌려서 라벨 표시
  879. Obj_Chart.Axis.Left.Title.Caption = "CPM";
  880. Obj_Chart.Axis.Left.Automatic = true;
  881. Obj_Chart.Legend.LegendStyle = 1; //각 시리즈별 title값으로 설정
  882. var vCnt, vRow, vRnd1, vRnd2, vRnd3, cColor, vDD, xx, y, cap, cnt;
  883. var vCol = ref.split("▦");
  884. vCnt = Obj_Chart.SeriesCount ;
  885. vRow = ds_main_rsltlist_row.findRow(4, "Standard");
  886. if(count == 1)
  887. {
  888. vRnd1 = Math.random();
  889. vRnd2 = Math.random();
  890. vRnd3 = Math.random();
  891. cColor = window.rgb( (255 - 1) * vRnd1 + 1, (255 - 1) * vRnd2 + 1 , (255 - 1) * vRnd3 + 1);
  892. vDD = ds_main_rsltlist_row.getColumn(0, vCol[0]);
  893. Obj_Chart.AddSeries(37); //asHorizLine
  894. Obj_Chart.Series(vCnt).asHorizLine.LinePen.Width = 2; //펜 두께
  895. }
  896. else
  897. {
  898. cColor = 0x0000dd;
  899. vDD = "Avg";
  900. Obj_Chart.AddSeries(37); //asHorizLine
  901. Obj_Chart.Series(vCnt).asHorizLine.LinePen.Width = 3; //펜 두께
  902. }
  903. Obj_Chart.Series(vCnt).Color = cColor;
  904. Obj_Chart.Series(vCnt).asHorizLine.Pointer.Visible = true; //값에 대한 포인터
  905. Obj_Chart.Series(vCnt).asHorizLine.Pointer.Brush.Color = cColor;
  906. Obj_Chart.Series(vCnt).asHorizLine.Pointer.Style = 0;
  907. Obj_Chart.Series(vCnt).asHorizLine.Pointer.VerticalSize = 3;
  908. Obj_Chart.Series(vCnt).asHorizLine.Pointer.HorizontalSize = 3;
  909. Obj_Chart.Series(vCnt).Title = vDD;
  910. for(var x = vRow; x < ds_main_rsltlist_row.rowcount; x++ )
  911. {
  912. if((ds_main_rsltlist_row.getColumn(x, 4))!= -1)
  913. {
  914. if(count == 1)
  915. {
  916. y = parseFloat(ds_main_rsltlist_row.getColumn(x, vCol[0]));
  917. }
  918. else
  919. {
  920. y = 0;
  921. cnt = count;
  922. for(i = 0; i < count; i++)
  923. {
  924. if(!isNaN(parseFloat(ds_main_rsltlist_row.getColumn(x, vCol[i]))))
  925. {
  926. y += parseFloat(ds_main_rsltlist_row.getColumn(x, vCol[i]));
  927. }
  928. else
  929. {
  930. cnt -= 1;
  931. }
  932. }
  933. y = y / cnt; //선택 standard 값의 평균
  934. }
  935. cap = ds_main_rsltlist_row.getColumn(x, 4);
  936. if (!isNaN(y))
  937. {
  938. Obj_Chart.Series(vCnt).AddXY (xx, y, cap, Obj_Chart.Series(vCnt).Color );
  939. xx += 1;
  940. }
  941. else
  942. {
  943. Obj_Chart.Series(vCnt).AddNullXY (xx, 0, cap);
  944. xx += 1;
  945. }
  946. }
  947. }
  948. }
  949. function button8_onclick(obj:Button, e:ClickEventInfo)
  950. {
  951. ds_hidden_gref.setColumn(0, "grapegbn", "3");
  952. fClearChart(switch1.case3.object3);
  953. switch1.tabindex = 2;
  954. var count = 0;
  955. var ref = "";
  956. for(i = vLength; i < ds_main_rsltlist_row.getColCount(); i++)
  957. {
  958. if(ds_main_rsltlist_row.getColumn(0, i) == true)
  959. {
  960. count += 1;
  961. ref += i + "▦";
  962. }
  963. }
  964. if(count == 0)
  965. {
  966. alert("그래프를 작성할 항목을 선택하세요");
  967. return;
  968. }
  969. else if(count != 1)
  970. {
  971. alert("하나의 항목만 선택하세요");
  972. for(i = vLength; i <ds_main_rsltlist_row.getColCount(); i++)
  973. {
  974. ds_main_rsltlist_row.setColumn(0, i, "false");
  975. }
  976. return;
  977. }
  978. fMakeCurveGrp(count, ref);
  979. }
  980. function fMakeCurveGrp(count, ref)
  981. {
  982. var Obj_Chart = switch1.case3.object3;
  983. var grphflag = ds_main_rsltlist_row.getColumn(0, "grphflag").split("▦");
  984. var curvefit = grphflag[0]; //그래프종류(0:Auto SpLine, 1: Linear
  985. var tx = grphflag[1]; //x좌표(0:None, 1:Log, 2:LogIt, 3:Linear)
  986. var ty = grphflag[2];
  987. var tz = grphflag[3]; //현재 사용안함
  988. if(grphflag == "▦▦▦")
  989. {
  990. alert("표준곡선에 대한 그래프 설정이 되어있지 않습니다\n기준자료를 확인하세요");
  991. return;
  992. }
  993. Obj_Chart.Aspect.View3D = 0; // 2d 로 표현하기
  994. Obj_Chart.Zoom.Enable = false; // zoom 사용하지 않기
  995. Obj_Chart.Scroll.Enable = 2;
  996. Obj_Chart.Environment.MouseWheelScroll = false;
  997. Obj_Chart.Legend.Visible = false; // 그래프 참조 박스 띄우지 않기
  998. Obj_Chart.Panel.Gradient.Visible = true; // 페널에 그라디언트 적용
  999. Obj_Chart.Panel.Gradient.StartColor = 0xffffff;
  1000. Obj_Chart.Panel.Gradient.EndColor=0xffffff;
  1001. Obj_Chart.Legend.Visible = true; //범례표시 여부
  1002. Obj_Chart.Legend.Alignment = 3; // Legend 위치 설정 :: 0 = left | 1 = right | 2 = top| 3 = bottom
  1003. Obj_Chart.Legend.CheckBoxes = false; //범례 체크박스
  1004. Obj_Chart.Panel.MarginTop = 5;
  1005. Obj_Chart.Panel.MarginLeft = 2;
  1006. Obj_Chart.Panel.MarginRight = 2;
  1007. Obj_Chart.Panel.MarginBottom = 2;
  1008. Obj_Chart.Header.Visible = true; //헤더 타이틀 보이지 않기
  1009. Obj_Chart.Header.Text(0) = "표준곡선";
  1010. Obj_Chart.Header.Font.Size = 13;
  1011. Obj_Chart.Header.Font.Bold = 5;
  1012. Obj_Chart.Axis.Left.Labels.Style = 2;
  1013. Obj_Chart.Axis.Right.Labels.Style = 1;
  1014. Obj_Chart.Axis.Bottom.Labels.Style = 4; // 0:auto or value, 1:No, 2 :민 맥스, 3: marks style, 4:text
  1015. Obj_Chart.Axis.Bottom.Labels.Angle = 0; //0도 돌려서 라벨 표시
  1016. Obj_Chart.Axis.Left.Title.Caption = "%B/F";
  1017. Obj_Chart.Axis.Left.Automatic = false;
  1018. Obj_Chart.Axis.Left.Maximum = 100;
  1019. Obj_Chart.Axis.Left.Minimum = 0;
  1020. Obj_Chart.Axis.Left.Increment = 2;
  1021. Obj_Chart.Axis.Left.Automatic = true;
  1022. Obj_Chart.Legend.LegendStyle = 1; //각 시리즈별 title값으로 설정
  1023. var vCnt, vRow, vRnd1, vRnd2, vRnd3, cColor, vDD, xx, y, cap, cnt, txx;
  1024. var vCol = ref.split("▦");
  1025. vCnt = Obj_Chart.SeriesCount ;
  1026. vRow = ds_main_rsltlist_row.findRow(4, "Standard");
  1027. vRnd1 = Math.random();
  1028. vRnd2 = Math.random();
  1029. vRnd3 = Math.random();
  1030. cColor = window.rgb( (255 - 1) * vRnd1 + 1, (255 - 1) * vRnd2 + 1 , (255 - 1) * vRnd3 + 1);
  1031. vDD = ds_main_rsltlist_row.getColumn(0, vCol[0]);
  1032. if(curvefit == 0)
  1033. {
  1034. Obj_Chart.AddSeries(4); //요건 포인트 찍기용 ddose
  1035. Obj_Chart.Series(vCnt).asPoint.Pointer.Style = 0;
  1036. Obj_Chart.Series(vCnt).asPoint.Pointer.Brush.Color = cColor;
  1037. Obj_Chart.Series(vCnt).asPoint.Pointer.VerticalSize = 3;
  1038. Obj_Chart.Series(vCnt).asPoint.Pointer.HorizontalSize = 3;
  1039. Obj_Chart.AddSeries(0);
  1040. }
  1041. else if(curvefit == 1)
  1042. {
  1043. Obj_Chart.AddSeries(37); //asHorizLine
  1044. Obj_Chart.Series(vCnt).asHorizLine.LinePen.Width = 2; //펜 두께
  1045. Obj_Chart.Series(vCnt).Color = cColor;
  1046. Obj_Chart.Series(vCnt).asHorizLine.Pointer.Visible = true; //값에 대한 포인터
  1047. Obj_Chart.Series(vCnt).asHorizLine.Pointer.Brush.Color = cColor;
  1048. Obj_Chart.Series(vCnt).asHorizLine.Pointer.Style = 0;
  1049. Obj_Chart.Series(vCnt).asHorizLine.Pointer.VerticalSize = 3;
  1050. Obj_Chart.Series(vCnt).asHorizLine.Pointer.HorizontalSize = 3;
  1051. Obj_Chart.Series(vCnt).Title = vDD;
  1052. }
  1053. else
  1054. {
  1055. alert("그래프마스터에 그래프 종류를 선택하세요");
  1056. return;
  1057. }
  1058. var ddosevalue, cdosevalue, bfvalue;
  1059. for(x = vRow; x < ds_main_rsltlist_row.rowcount; x++ )
  1060. {
  1061. if((ds_main_rsltlist_row.getColumn(x, 4)) != -1)
  1062. {
  1063. // ddosevalue = parseFloat(.getValue("/root/hidden/temp/rsltlist/row["+ x +"]/"+ objNm +"/@ddosevalue"+objNm.substring(objNm.length-1, objNm.length)));
  1064. // cdosevalue = parseFloat(model.getValue("/root/hidden/temp/rsltlist/row["+ x +"]/"+ objNm +"/@cdosevalue"+objNm.substring(objNm.length-1, objNm.length)));
  1065. // bfvalue = parseFloat(model.getValue("/root/hidden/temp/rsltlist/row["+ x +"]/"+ objNm +"/@bfvalue"+objNm.substring(objNm.length-1, objNm.length)));
  1066. if(tx == "1")
  1067. {
  1068. xx = Math.log(ddosevalue);
  1069. txx = Math.log(cdosevalue);
  1070. }
  1071. else if(tx == "2")
  1072. {
  1073. xx = Math.log(ddosevalue);
  1074. txx = Math.log(cdosevalue);
  1075. }
  1076. else
  1077. {
  1078. xx = ddosevalue;
  1079. txx = cdosevalue;
  1080. }
  1081. if(isNaN(parseFloat(bfvalue)))
  1082. {
  1083. bfvalue = parseFloat(ds_main_rsltlist_row.getColumn(x, vCol[0]));
  1084. }
  1085. if(ty == "1")
  1086. {
  1087. y = Math.log(bfvalue);
  1088. }
  1089. else if(ty == "2")
  1090. {
  1091. y = Math.log(bfvalue);
  1092. }
  1093. else
  1094. {
  1095. y = bfvalue;
  1096. }
  1097. cap = ddosevalue;
  1098. if (!isNaN(y))
  1099. {
  1100. if(curvefit == 0)
  1101. {
  1102. Obj_Chart.Series(vCnt).AddXY (xx, y, cap, Obj_Chart.Series(vCnt).Color ); //포인트 : ddosevalue
  1103. Obj_Chart.Series(vCnt+1).AddXY (txx, y, cap, Obj_Chart.Series(vCnt+1).Color ); //실제 : cdosevalue
  1104. }
  1105. else
  1106. {
  1107. Obj_Chart.Series(vCnt).AddXY (txx, y, cap, Obj_Chart.Series(vCnt).Color ); //Liner그래프를 그릴때는 cdose로 그리는게 맞을듯?
  1108. }
  1109. xx += 1;
  1110. }
  1111. else
  1112. {
  1113. if(curvefit == 0)
  1114. {
  1115. Obj_Chart.Series(vCnt).AddNullXY (xx, 0, cap);
  1116. Obj_Chart.Series(vCnt+1).AddNullXY (xx, 0, cap);
  1117. }
  1118. else
  1119. {
  1120. Obj_Chart.Series(vCnt).AddNullXY (xx, 0, cap);
  1121. }
  1122. xx += 1;
  1123. }
  1124. }
  1125. }
  1126. if(curvefit == 0)
  1127. {
  1128. Obj_Chart.Series(vCnt).ShowInLegend = false; //포인트 그래프에 대한 범례 숨기기
  1129. Obj_Chart.Series(vCnt+1).Active = false; //cdose로 그린 기준 그래프 숨기기
  1130. Obj_Chart.AddSeries(37); //asHorizLine
  1131. Obj_Chart.Series(vCnt+2).asHorizLine.LinePen.Width = 2; //펜 두께
  1132. Obj_Chart.Series(vCnt+2).Color = cColor;
  1133. Obj_Chart.Series(vCnt+2).asHorizLine.Pointer.Visible = false; //값에 대한
  1134. Obj_Chart.Series(vCnt+2).Title = vDD;
  1135. Obj_Chart.Series(vCnt+2).SetFunction(25); //tfSmoothing
  1136. Obj_Chart.Series(vCnt+2).DataSource = Obj_Chart.Series(vCnt+1); //기준이 될 그래프 지정 : cdose그래프
  1137. Obj_Chart.Series(vCnt+2).FunctionType.asSmoothing.Factor = 20;
  1138. }
  1139. }
  1140. function fInitChartRegl(sGrapFlag)
  1141. {
  1142. var Obj_Chart = switch1.case1.object1;
  1143. var count = ds_main_rsltlist_row.getCaseCount("chk == 'true'");
  1144. if(count == 0)
  1145. {
  1146. alert("그래프를 작성할 항목을 선택하세요");
  1147. return;
  1148. }
  1149. else if(count ==1)
  1150. {
  1151. var vEnd = -1;
  1152. var chkrow = ds_main_rsltlist_row.findRow("chk", "true");
  1153. for(var i = 0; i < ds_main_rsltlist_row.getColCount(); i++)
  1154. {
  1155. var x = ds_main_rsltlist_row.getColumn(chkrow, i);
  1156. if(!utlf_isNull(x))
  1157. {
  1158. vEnd += 1; //결과 값이 있다면 1씩 더해
  1159. }
  1160. }
  1161. }
  1162. else
  1163. {
  1164. var vEnd = ds_main_rsltlist_row.getColCount();
  1165. }
  1166. Obj_Chart.Aspect.View3D = 0; // 2d 로 표현하기
  1167. Obj_Chart.Zoom.Enable = false; // zoom 사용하지 않기
  1168. Obj_Chart.Scroll.Enable = 2;
  1169. Obj_Chart.Environment.MouseWheelScroll = false;
  1170. Obj_Chart.Legend.Visible = true; // 그래프 참조 박스 띄우지 않기
  1171. Obj_Chart.Panel.Gradient.Visible = true; // 페널에 그라디언트 적용
  1172. Obj_Chart.Panel.Gradient.StartColor = 0xffffff;
  1173. Obj_Chart.Panel.Gradient.EndColor=0xffffff;
  1174. Obj_Chart.Legend.Visible = true; //범례표시 여부
  1175. Obj_Chart.Legend.Alignment = 3; // Legend 위치 설정 :: 0 = left | 1 = right | 2 = top| 3 = bottom
  1176. Obj_Chart.Legend.CheckBoxes = false; //범례 체크박스
  1177. Obj_Chart.RemoveAllSeries();
  1178. Obj_Chart.Axis.RemoveAllCustom();
  1179. Obj_Chart.Panel.MarginTop = 5;
  1180. Obj_Chart.Panel.MarginLeft = 2;
  1181. Obj_Chart.Panel.MarginRight = 0;
  1182. Obj_Chart.Panel.MarginBottom = 2;
  1183. Obj_Chart.Header.Visible = true; //헤더 타이틀 보이지 않기
  1184. Obj_Chart.Header.Text(0) = "";
  1185. Obj_Chart.Header.Font.Size = 13;
  1186. Obj_Chart.Header.Font.Bold = 5;
  1187. Obj_Chart.Axis.Left.Labels.Style = 0;
  1188. Obj_Chart.Axis.Right.Labels.Style = 1;
  1189. Obj_Chart.Axis.Bottom.Labels.Style = 4; // 0:auto or value, 1:No, 2 :민 맥스, 3: marks style, 4:text
  1190. Obj_Chart.Axis.Bottom.Labels.Angle = 90; //90도 돌려서 라벨 표시
  1191. Obj_Chart.Axis.Left.Title.Caption = "SD";
  1192. Obj_Chart.Axis.Left.Automatic = false;
  1193. Obj_Chart.Axis.Left.Maximum = 2.5;
  1194. Obj_Chart.Axis.Left.Minimum = -2.5;
  1195. Obj_Chart.Axis.Left.Increment = 1;
  1196. //Avg 라인
  1197. Obj_Chart.AddSeries(0); //asLine
  1198. Obj_Chart.Series(0).asLine.LinePen.Width = 2;
  1199. Obj_Chart.Series(0).Color = 0x000000;
  1200. Obj_Chart.Series(0).AddXY (0 , 0 , "", Obj_Chart.Series(0).Color );
  1201. Obj_Chart.Series(0).AddXY (vEnd , 0 , "", Obj_Chart.Series(0).Color );
  1202. //+1SD 라인
  1203. Obj_Chart.AddSeries(0); //asLine
  1204. Obj_Chart.Series(1).asLine.LinePen.Width = 1;
  1205. Obj_Chart.Series(1).Color = 0x000000;
  1206. Obj_Chart.Series(1).AddXY (0 , 1 , "", Obj_Chart.Series(1).Color );
  1207. Obj_Chart.Series(1).AddXY (vEnd , 1 , "", Obj_Chart.Series(1).Color );
  1208. //-1SD 라인
  1209. Obj_Chart.AddSeries(0); //asLine
  1210. Obj_Chart.Series(2).asLine.LinePen.Width = 1;
  1211. Obj_Chart.Series(2).Color = 0x000000;
  1212. Obj_Chart.Series(2).AddXY (0 , -1 , "", Obj_Chart.Series(2).Color );
  1213. Obj_Chart.Series(2).AddXY (vEnd , -1 , "", Obj_Chart.Series(2).Color );
  1214. //+2SD 라인
  1215. Obj_Chart.AddSeries(0); //asLine
  1216. Obj_Chart.Series(3).asLine.LinePen.Width = 2;
  1217. Obj_Chart.Series(3).Color = 0x00ccff;
  1218. Obj_Chart.Series(3).AddXY (0 , 2 , "", Obj_Chart.Series(3).Color );
  1219. Obj_Chart.Series(3).AddXY (vEnd , 2 , "", Obj_Chart.Series(3).Color );
  1220. //-2SD 라인
  1221. Obj_Chart.AddSeries(0); //asLine
  1222. Obj_Chart.Series(4).asLine.LinePen.Width = 2;
  1223. Obj_Chart.Series(4).Color = 0x00ccff;
  1224. Obj_Chart.Series(4).AddXY (0 , -2 , "", Obj_Chart.Series(4).Color );
  1225. Obj_Chart.Series(4).AddXY (vEnd , -2 , "", Obj_Chart.Series(4).Color );
  1226. Obj_Chart.AddSeries(0); //asLine
  1227. Obj_Chart.Series(5).Color = 0x000000;
  1228. Obj_Chart.Series(5).asLine.LinePen.Width = 1; //펜 두께
  1229. Obj_Chart.Series(5).asLine.Pointer.Visible = false; //값에 대한 포인터
  1230. for(i=0; i <= 5 ; i++)
  1231. { //라인들에 대한 범례 보이지 않게
  1232. Obj_Chart.Series(i).ShowInLegend = false;
  1233. }
  1234. fMakeChartRegl(); //정규화 챠트 그리기
  1235. }
  1236. function fMakeChartRegl()
  1237. {
  1238. var Obj_Chart = switch1.case1.object1;
  1239. var vAvg, vSD, v4SDH, v4SDL, v3SDH, v3SDL, v2SDH, v2SDL, v1SDH, v1SDL, y, cap, tmpY, vTitle, vLotNo, vLevlNm, vRslt, vEqmtNm;
  1240. var Rnd1, Rnd2, Rnd3, cColor, vCnt;
  1241. var count = ds_main_rsltlist_row.getCaseCount("chk == 'true'");
  1242. if( count == 1)
  1243. {
  1244. var chkrow = ds_main_rsltlist_row.findRow("chk", "true");
  1245. var xx = 0;
  1246. vCnt = Obj_Chart.SeriesCount ; //생성된 시리즈 갯수
  1247. vTitle = ds_main_rsltlist_row.getColumn(chkrow, "testnm");
  1248. vAvg = parseFloat(ds_main_rsltlist_row.getColumn(chkrow, "avg"));
  1249. vSD = parseFloat(ds_main_rsltlist_row.getColumn(chkrow, "sdval"));
  1250. vLevlNm = ds_main_rsltlist_row.getColumn(chkrow, "levlnm");
  1251. vEqmtNm = group4.combo3.text;
  1252. v3SDH = vAvg+vSD*3;
  1253. v3SDL = vAvg-vSD*3;
  1254. v2SDH = vAvg+vSD*2;
  1255. v2SDL = vAvg-vSD*2;
  1256. v1SDH = vAvg+vSD*1;
  1257. v1SDL = vAvg-vSD*1;
  1258. Rnd1 = Math.random();
  1259. Rnd2 = Math.random();
  1260. Rnd3 = Math.random();
  1261. cColor = window.rgb( (255 - 1) * Rnd1 + 1, (255 - 1) * Rnd2 + 1 , (255 - 1) * Rnd3 + 1);
  1262. Obj_Chart.AddSeries(37); //asHorizLine
  1263. Obj_Chart.Series(vCnt).Color = cColor;
  1264. Obj_Chart.Series(vCnt).asHorizLine.LinePen.Width = 2; //펜 두께
  1265. Obj_Chart.Series(vCnt).asHorizLine.Pointer.Visible = true; //값에 대한 포인터
  1266. Obj_Chart.Series(vCnt).asHorizLine.Pointer.Brush.Color = cColor;
  1267. Obj_Chart.Series(vCnt).asHorizLine.Pointer.Style = 0;
  1268. Obj_Chart.Series(vCnt).asHorizLine.Pointer.VerticalSize = 3;
  1269. Obj_Chart.Series(vCnt).asHorizLine.Pointer.HorizontalSize = 3;
  1270. Obj_Chart.Series(vCnt).Title = vEqmtNm + " " + vTitle + "_"+vLevlNm;
  1271. Obj_Chart.Header.Text(0) = vEqmtNm + " " + vTitle + "_"+vLevlNm; //헤더 타이틀
  1272. Obj_Chart.Series(vCnt).Clear(); //라인 초기화
  1273. for(var x = vLength; x < datagrid1.cols; x++ )
  1274. {
  1275. vRslt = parseFloat(ds_main_rsltlist_row.getColumn(chkrow, x));
  1276. cap = ds_main_rsltlist_row.getColumn(0, x);
  1277. if (!isNaN(vRslt))
  1278. {
  1279. tmpY = (vRslt - vAvg) / vSD; //y좌표
  1280. if(tmpY >= 2.5)
  1281. {
  1282. y = 2.5;
  1283. }
  1284. else if(tmpY <= -2.5)
  1285. {
  1286. y = -2.5
  1287. }
  1288. else
  1289. {
  1290. y = tmpY;
  1291. }
  1292. Obj_Chart.Series(vCnt).AddXY (xx, y, "", Obj_Chart.Series(vCnt).Color );
  1293. Obj_Chart.Series(5).AddXY (xx, -3.5, cap, Obj_Chart.Series(5).Color ); //날짜 보였다 안보였다해서 시리즈 따로 추가함
  1294. xx += 1;
  1295. }
  1296. }
  1297. }
  1298. else
  1299. {
  1300. for(var i = 0; i < ds_main_rsltlist_row.rowcount; i++)
  1301. {
  1302. if(ds_main_rsltlist_row.getColumn(i, "chk") == "true")
  1303. {
  1304. vCnt = Obj_Chart.SeriesCount ; //생성된 시리즈 갯수
  1305. vTitle = ds_main_rsltlist_row.getColumn(i, "testnm");
  1306. vAvg = parseFloat(ds_main_rsltlist_row.getColumn(i, "avg"));
  1307. vSD = parseFloat(ds_main_rsltlist_row.getColumn(i, "sdval"));
  1308. vLevlNm = ds_main_rsltlist_row.getColumn(i, "levlnm");
  1309. vEqmtNm = group4.combo3.text;
  1310. v3SDH = vAvg+vSD*3;
  1311. v3SDL = vAvg-vSD*3;
  1312. v2SDH = vAvg+vSD*2;
  1313. v2SDL = vAvg-vSD*2;
  1314. v1SDH = vAvg+vSD*1;
  1315. v1SDL = vAvg-vSD*1;
  1316. Rnd1 = Math.random();
  1317. Rnd2 = Math.random();
  1318. Rnd3 = Math.random();
  1319. cColor = window.rgb( (255 - 1) * Rnd1 + 1, (255 - 1) * Rnd2 + 1 , (255 - 1) * Rnd3 + 1);
  1320. Obj_Chart.AddSeries(37); //asHorizLine
  1321. Obj_Chart.Series(vCnt).Color = cColor;
  1322. Obj_Chart.Series(vCnt).asHorizLine.LinePen.Width = 2; //펜 두께
  1323. Obj_Chart.Series(vCnt).asHorizLine.Pointer.Visible = true; //값에 대한 포인터
  1324. Obj_Chart.Series(vCnt).asHorizLine.Pointer.Brush.Color = cColor;
  1325. Obj_Chart.Series(vCnt).asHorizLine.Pointer.Style = 0;
  1326. Obj_Chart.Series(vCnt).asHorizLine.Pointer.VerticalSize = 3;
  1327. Obj_Chart.Series(vCnt).asHorizLine.Pointer.HorizontalSize = 3;
  1328. Obj_Chart.Series(vCnt).Title = vEqmtNm + " " + vTitle + "_"+vLevlNm;
  1329. Obj_Chart.Header.Text(0) += vEqmtNm + " " + vTitle + "_"+vLevlNm + " ";
  1330. Obj_Chart.Series(vCnt).Clear(); //라인 초기화
  1331. for(var x = vLength; x < ds_main_rsltlist_row.getColCount(); x++ )
  1332. {
  1333. vRslt = parseFloat(ds_main_rsltlist_row.getColumn(i, x));
  1334. cap = ds_main_rsltlist_row.getColumn(0, x);
  1335. if (!isNaN(vRslt))
  1336. {
  1337. tmpY = (vRslt - vAvg) / vSD; //y좌표
  1338. if(tmpY >= 2.5)
  1339. {
  1340. y = 2.5;
  1341. }
  1342. else if(tmpY <= -2.5)
  1343. {
  1344. y = -2.5
  1345. }
  1346. else
  1347. {
  1348. y = tmpY;
  1349. }
  1350. Obj_Chart.Series(vCnt).AddXY (x-vLength, y, "", Obj_Chart.Series(vCnt).Color );
  1351. }
  1352. Obj_Chart.Series(5).AddXY (x-vLength, -3.5, cap, Obj_Chart.Series(5).Color ); //날짜 보였다 안보였다해서 시리즈 따로 추가함
  1353. }
  1354. }
  1355. }
  1356. }
  1357. }
  1358. function button7_onclick(obj:Button, e:ClickEventInfo)
  1359. {
  1360. fClearChart();
  1361. }
  1362. function radio1_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  1363. {
  1364. if(radio1.value == 1)
  1365. {
  1366. switch1.tabindex == 0;
  1367. }
  1368. else
  1369. {
  1370. switch1.tabindex == 1;
  1371. inff_clearTChart(switch1.case2.object2); //챠트 초기화
  1372. }
  1373. }
  1374. function btn_grprnt_onclick(obj:Button, e:ClickEventInfo)
  1375. {
  1376. if(ds_hidden_gref.getColumn(0, "grapegbn") == 1)
  1377. {
  1378. Obj_Chart = switch1.case1.object1;
  1379. }
  1380. else if(ds_hidden_gref.getColumn(0, "grapegbn") == 2)
  1381. {
  1382. Obj_Chart = switch1.case2.object2;
  1383. }
  1384. else if (ds_hidden_gref.getColumn(0, "grapegbn") == 3)
  1385. {
  1386. Obj_Chart = switch1.case3.object3;
  1387. }
  1388. Obj_Chart.Printer.MarginLeft = 5 //여백
  1389. Obj_Chart.Printer.MarginBottom = 25
  1390. Obj_Chart.Printer.MarginRight = 5
  1391. Obj_Chart.Printer.MarginTop = 25
  1392. Obj_Chart.Printer.ShowPreview(); //미리보기
  1393. }
  1394. function button11_onclick(obj:Button, e:ClickEventInfo)
  1395. {
  1396. var Obj_Chart;
  1397. if(ds_hidden_gref.getColumn(0, "grapegbn") == 1)
  1398. {
  1399. Obj_Chart = switch1.case1.object1;
  1400. }
  1401. else if(ds_hidden_gref.getColumn(0, "grapegbn") == 2)
  1402. {
  1403. Obj_Chart = switch1.case2.object2;
  1404. }
  1405. else if (ds_hidden_gref.getColumn(0, "grapegbn") == 3)
  1406. {
  1407. Obj_Chart = switch1.case3.object3;
  1408. }
  1409. Obj_Chart.Export.SaveChartDialog();
  1410. }
  1411. function ds_main_rsltlist_row_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  1412. {
  1413. if(e.columnid == "chk")
  1414. {
  1415. obj.setColumn(e.row, "chk", (e.newvalue == "true" || e.newvalue == 1) ? "true" : "false");
  1416. }
  1417. }
  1418. ]]></Script>
  1419. </Form>
  1420. </FDL>