SMLQF10800_핵의학QC물질및검사관리.xfdl 44 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMLQF10800" position="absolute 0 0 1197 762" titletext="Control Range 관리" oninit="SMLQF10800_oninit" onload="SMLQF10800_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption6" text="Control Range 관리" class="tit_1" position="absolute 0 0 203 23"/>
  8. <Static id="cap" text="단일Control에 여러 검사항목이 묶인 Control과 외부 정도관리 관련 Control은 Control Range 관리 화면을 이용하세요." position="absolute 320 19 1040 34" style="color:#3366ffff;font:Dotum,9,bold;" anchor="top right"/>
  9. <Button id="btn_exec" taborder="1" text="저장" class="btn4" position="absolute 1068 17 1124 39" anchor="top right" onclick="btn_exec_onclick"/>
  10. <Button id="btn_init" taborder="2" text="초기화" class="btn4" position="absolute 1127 17 1195 39" anchor="top right" onclick="btn_init_onclick"/>
  11. <Shape id="line3" class="line_6" position="absolute 0 36 1194 42"/>
  12. <Div id="group4" taborder="3" class="div_SA" position="absolute 0 41 1195 76" anchor="left top right">
  13. <Layouts>
  14. <Layout>
  15. <Static id="caption15" text="조회구분 :" class="search_name" position="absolute 15 9 101 27"/>
  16. <Combo id="cbo_searchFlag" taborder="1" codecolumn="codecolumn" datacolumn="datacolumn" class="combo_s_essential" position="absolute 103 8 203 27">
  17. <Dataset id="innerdataset">
  18. <ColumnInfo>
  19. <Column id="codecolumn"/>
  20. <Column id="datacolumn"/>
  21. </ColumnInfo>
  22. <Rows>
  23. <Row>
  24. <Col id="codecolumn">1</Col>
  25. <Col id="datacolumn">사용가능자료</Col>
  26. </Row>
  27. <Row>
  28. <Col id="codecolumn">2</Col>
  29. <Col id="datacolumn">전체자료</Col>
  30. </Row>
  31. </Rows>
  32. </Dataset>
  33. </Combo>
  34. <Shape id="line2" linetype="vertical" class="line_4" position="absolute 455 6 461 28"/>
  35. <Button id="button1" taborder="2" text="조회" class="btn1" position="absolute 471 7 527 29" onclick="group4_button1_onclick"/>
  36. <Edit id="ipt_searchTestCd" taborder="3" class="input_s_button" position="absolute 345 8 445 27" onkeydown="group4_ipt_searchTestCd_onkeydown"/>
  37. <Static id="caption4" text="검사코드 :" class="search_name" position="absolute 252 9 338 26"/>
  38. </Layout>
  39. </Layouts>
  40. </Div>
  41. <Grid id="grd_levllist" taborder="4" binddataset="ds_main_getlevel" useinputpanel="false" cellsizingtype="col" autofittype="col" position="absolute 599 106 1194 396" anchor="left top right" oncelldblclick="grd_levllist_oncelldblclick" oncellclick="grd_levllist_oncellclick">
  42. <Formats>
  43. <Format id="default">
  44. <Columns>
  45. <Column size="24"/>
  46. <Column size="30"/>
  47. <Column size="200"/>
  48. <Column size="300"/>
  49. </Columns>
  50. <Rows>
  51. <Row size="24" band="head"/>
  52. <Row size="24"/>
  53. </Rows>
  54. <Band id="head">
  55. <Cell/>
  56. <Cell col="1" displaytype="checkbox" edittype="checkbox"/>
  57. <Cell col="2" text="Standard 및 Control수 코드"/>
  58. <Cell col="3" text="Standard 및 Control수"/>
  59. </Band>
  60. <Band id="body">
  61. <Cell celltype="head" expr="currow+1"/>
  62. <Cell col="1" displaytype="checkbox" edittype="checkbox" text="bind:chk"/>
  63. <Cell col="2" style="align:left middle;" text="bind:levlcd"/>
  64. <Cell col="3" style="align:left middle;" text="bind:levlnm"/>
  65. </Band>
  66. </Format>
  67. </Formats>
  68. </Grid>
  69. <Shape id="line1" class="line_10" position="absolute 600 101 1194 107" anchor="left top right"/>
  70. <Static id="caption7" text="Control 리스트" class="tit_2" position="absolute 600 85 715 106" anchor="left top"/>
  71. <Grid id="grd_testList" taborder="5" binddataset="ds_main_testlist" useinputpanel="false" cellsizingtype="col" autofittype="col" position="absolute 0 106 595 396" anchor="left top" oncelldblclick="grd_testList_oncelldblclick">
  72. <Formats>
  73. <Format id="default">
  74. <Columns>
  75. <Column size="20"/>
  76. <Column size="30"/>
  77. <Column size="150"/>
  78. <Column size="200"/>
  79. </Columns>
  80. <Rows>
  81. <Row size="24" band="head"/>
  82. <Row size="24"/>
  83. </Rows>
  84. <Band id="head">
  85. <Cell/>
  86. <Cell col="1"/>
  87. <Cell col="2" text="검사코드"/>
  88. <Cell col="3" text="검사명"/>
  89. </Band>
  90. <Band id="body">
  91. <Cell celltype="head" expr="currow+1"/>
  92. <Cell col="1" displaytype="checkbox" style="controlbackground:darkgray;" text="bind:chk" enable="false"/>
  93. <Cell col="2" style="align:left middle;" text="bind:testcd"/>
  94. <Cell col="3" style="align:left middle;" text="bind:testnm"/>
  95. </Band>
  96. </Format>
  97. </Formats>
  98. </Grid>
  99. <Shape id="line14" class="line_10" position="absolute 0 101 595 107" anchor="left top"/>
  100. <Static id="caption3" text="검사항목 리스트" class="tit_2" position="absolute 0 85 123 106" anchor="left top"/>
  101. <Grid id="grd_matrTclsList" taborder="6" binddataset="ds_main_matrtclslist" useinputpanel="false" position="absolute 0 422 1191 758" cellsizingtype="col" anchor="all">
  102. <Formats>
  103. <Format id="default">
  104. <Columns>
  105. <Column size="24" band="left"/>
  106. <Column size="80" band="left"/>
  107. <Column size="120" band="left"/>
  108. <Column size="80" band="left"/>
  109. <Column size="100" band="left"/>
  110. <Column size="100" band="left"/>
  111. <Column size="85"/>
  112. <Column size="85"/>
  113. <Column size="80"/>
  114. <Column size="80"/>
  115. <Column size="80"/>
  116. <Column size="80"/>
  117. <Column size="80"/>
  118. <Column size="50"/>
  119. <Column size="50"/>
  120. <Column size="80"/>
  121. <Column size="80"/>
  122. <Column size="60"/>
  123. <Column size="50"/>
  124. <Column size="50"/>
  125. <Column size="60"/>
  126. <Column size="0"/>
  127. <Column size="80"/>
  128. <Column size="80"/>
  129. <Column size="60"/>
  130. <Column size="70"/>
  131. <Column size="80"/>
  132. <Column size="85"/>
  133. <Column size="85"/>
  134. <Column size="85"/>
  135. <Column size="80"/>
  136. <Column size="0"/>
  137. <Column size="80"/>
  138. <Column size="135"/>
  139. <Column size="80"/>
  140. <Column size="135"/>
  141. </Columns>
  142. <Rows>
  143. <Row size="24" band="head"/>
  144. <Row size="28"/>
  145. </Rows>
  146. <Band id="head">
  147. <Cell/>
  148. <Cell col="1" text="검사코드"/>
  149. <Cell col="2" text="검사명"/>
  150. <Cell col="3" text="Control코드"/>
  151. <Cell col="4" text="Control명"/>
  152. <Cell col="5" text="Standard"/>
  153. <Cell col="6" text="시작일자"/>
  154. <Cell col="7" text="종료일자"/>
  155. <Cell col="8" text="Def. Dose"/>
  156. <Cell col="9" text="결과유형"/>
  157. <Cell col="10" text="참고치유형"/>
  158. <Cell col="11" text="참고치구분"/>
  159. <Cell col="12" text="참고치하한"/>
  160. <Cell col="13" text="하한"/>
  161. <Cell col="14" text="상한"/>
  162. <Cell col="15" text="참고치상한"/>
  163. <Cell col="16" text="참고치문자"/>
  164. <Cell col="17" text="소수길이"/>
  165. <Cell col="18" text="단위"/>
  166. <Cell col="19" text="평균"/>
  167. <Cell col="20" text="표준편차"/>
  168. <Cell col="21" text="WGMR범위"/>
  169. <Cell col="22" text="판정유형"/>
  170. <Cell col="23" text="반올림옵션"/>
  171. <Cell col="24" text="그래프"/>
  172. <Cell col="25" text="LotNo"/>
  173. <Cell col="26" text="제조회사"/>
  174. <Cell col="27" text="제조일시"/>
  175. <Cell col="28" text="입고일시"/>
  176. <Cell col="29" text="유효일시"/>
  177. <Cell col="30" text="IF연동코드"/>
  178. <Cell col="31" text="부서코드"/>
  179. <Cell col="32" text="등록자"/>
  180. <Cell col="33" text="등록일시"/>
  181. <Cell col="34" text="최종수정자"/>
  182. <Cell col="35" text="최종수정일시"/>
  183. </Band>
  184. <Band id="body">
  185. <Cell celltype="head"/>
  186. <Cell col="1" text="bind:testcd"/>
  187. <Cell col="2" text="bind:testnm"/>
  188. <Cell col="3" displaytype="text" edittype="text" text="bind:matrcd" enable="false"/>
  189. <Cell col="4" displaytype="text" edittype="text" text="bind:matrnm" wordwrap="word"/>
  190. <Cell col="5" displaytype="combo" edittype="combo" text="bind:levlcd" combodataset="ds_init_lb0501" combocodecol="cd" combodatacol="nm" enable="false"/>
  191. <Cell col="6" displaytype="date" edittype="date" text="bind:testfromdd" calendardisplaynulltype="nulltext" enable="false"/>
  192. <Cell col="7" displaytype="date" edittype="date" text="bind:testtodd" calendardisplaynulltype="nulltext" enable="false"/>
  193. <Cell col="8" displaytype="text" edittype="text" text="bind:ddosevalue"/>
  194. <Cell col="9" displaytype="combo" edittype="combo" text="bind:rsltkind" combodataset="ds_cmb_rsltkind" combocodecol="value" combodatacol="label"/>
  195. <Cell col="10" displaytype="combo" edittype="combo" text="bind:refkind" combodataset="ds_cmb_refkind" combocodecol="value" combodatacol="label"/>
  196. <Cell col="11" displaytype="combo" edittype="combo" text="bind:refflag" combodataset="ds_cmb_refflag" combocodecol="value" combodatacol="label"/>
  197. <Cell col="12" displaytype="text" edittype="text" text="bind:refl"/>
  198. <Cell col="13" displaytype="combo" edittype="combo" text="bind:refls" combodataset="ds_cmb_refls" combocodecol="value" combodatacol="label"/>
  199. <Cell col="14" displaytype="combo" edittype="combo" text="bind:refhs" combodataset="ds_cmb_refhs" combocodecol="value" combodatacol="label"/>
  200. <Cell col="15" displaytype="text" edittype="text" text="bind:refh"/>
  201. <Cell col="16" displaytype="text" edittype="text" text="bind:refcval"/>
  202. <Cell col="17" displaytype="combo" edittype="combo" text="bind:intrsltfrmt" combodataset="ds_cmb_intrsltfrmt" combocodecol="value" combodatacol="label"/>
  203. <Cell col="18" displaytype="text" edittype="text" text="bind:rsltunit"/>
  204. <Cell col="19" displaytype="text" edittype="text" text="bind:avg"/>
  205. <Cell col="20" displaytype="text" edittype="text" text="bind:sdval"/>
  206. <Cell col="21" displaytype="text" edittype="text" text="bind:wgmrscop"/>
  207. <Cell col="22" displaytype="combo" edittype="combo" text="bind:judgkind" combodataset="ds_cmb_judgkind" combocodecol="value" combodatacol="label"/>
  208. <Cell col="23" displaytype="combo" edittype="combo" text="bind:rundkind" combodataset="ds_cmb_rundkind" combocodecol="value" combodatacol="label"/>
  209. <Cell col="24" displaytype="checkbox" edittype="checkbox" text="bind:graphdispyn" expr="expr:graphdispyn == 'Y' ? 1 : 0"/>
  210. <Cell col="25" displaytype="text" edittype="text" text="bind:lotno"/>
  211. <Cell col="26" displaytype="text" edittype="text" text="bind:prodcmpy"/>
  212. <Cell col="27" displaytype="date" edittype="date" text="bind:proddt" calendardisplaynulltype="nulltext"/>
  213. <Cell col="28" displaytype="date" edittype="date" text="bind:windt" calendardisplaynulltype="nulltext"/>
  214. <Cell col="29" displaytype="date" edittype="date" text="bind:validd" calendardisplaynulltype="nulltext"/>
  215. <Cell col="30" displaytype="text" edittype="text" text="bind:matrifcd"/>
  216. <Cell col="31" text="bind:userdeptflagcd"/>
  217. <Cell col="32" text="bind:fstrgstrid"/>
  218. <Cell col="33" displaytype="date" text="bind:fstrgstdt" mask="yyyy-MM-dd hh:mm:ss" calendardisplaynulltype="nulltext"/>
  219. <Cell col="34" text="bind:lastupdtrid"/>
  220. <Cell col="35" displaytype="date" text="bind:lastupdtdt" mask="yyyy-MM-dd hh:mm:ss" calendardisplaynulltype="nulltext"/>
  221. </Band>
  222. </Format>
  223. </Formats>
  224. </Grid>
  225. <Button id="button52" taborder="7" text="행추가" class="btn2" enable="false" visible="false" position="absolute 1085 397 1138 416"/>
  226. <Button id="button53" taborder="8" text="행삭제" class="btn2" position="absolute 1139 398 1192 417" anchor="top right" onclick="button53_onclick"/>
  227. <Button id="btn_end" taborder="9" text="종료" class="btn2" position="absolute 1007 398 1049 417" anchor="top right" onclick="btn_end_onclick"/>
  228. <Button id="button2" taborder="10" text="Control변경" class="btn2" position="absolute 1051 398 1137 417" anchor="top right" onclick="button2_onclick"/>
  229. <Button id="btn_up" taborder="11" class="icon_bottom" position="absolute 585 398 611 417" onclick="btn_up_onclick"/>
  230. <Static id="caption2" text="Control 별 검사항목 설정" class="tit_2" position="absolute 0 401 178 422" anchor="left top"/>
  231. <Shape id="line4" class="line_10" position="absolute 0 417 1193 423" anchor="left top right"/>
  232. </Layout>
  233. </Layouts>
  234. <Objects>
  235. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  236. <ColumnInfo>
  237. <Column id="refgbn" type="STRING" size="256"/>
  238. <Column id="searchtestcd" type="STRING" size="256"/>
  239. <Column id="testlrg" type="STRING" size="256"/>
  240. <Column id="cd" type="STRING" size="256"/>
  241. <Column id="refcont" type="STRING" size="256"/>
  242. <Column id="temp" type="STRING" size="256"/>
  243. </ColumnInfo>
  244. <Rows>
  245. <Row>
  246. <Col id="refgbn">1</Col>
  247. <Col id="searchtestcd"/>
  248. <Col id="testlrg">00</Col>
  249. <Col id="cd">00</Col>
  250. <Col id="refcont"/>
  251. <Col id="temp"/>
  252. </Row>
  253. </Rows>
  254. </Dataset>
  255. <Dataset id="ds_main_testlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  256. <ColumnInfo>
  257. <Column id="chk" type="STRING" size="256" sumtext="chk"/>
  258. <Column id="testcd" type="STRING" size="256" sumtext="검사코드"/>
  259. <Column id="testnm" type="STRING" size="256" sumtext="검사명"/>
  260. </ColumnInfo>
  261. </Dataset>
  262. <Dataset id="ds_main_getlevel" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  263. <ColumnInfo>
  264. <Column id="chk" type="STRING" size="256" sumtext="ck"/>
  265. <Column id="levlcd" type="STRING" size="256" sumtext="레벨코드"/>
  266. <Column id="levlnm" type="STRING" size="256" sumtext="레벨명"/>
  267. <Column id="oclevlcd" type="STRING" size="256" sumtext="OnCall레벨코드"/>
  268. </ColumnInfo>
  269. </Dataset>
  270. <Dataset id="ds_main_matrtclslist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_matrtclslist_oncolumnchanged">
  271. <ColumnInfo>
  272. <Column id="testcd" type="STRING" size="256" sumtext="testcd"/>
  273. <Column id="testnm" type="STRING" size="256" sumtext="검사명"/>
  274. <Column id="matrcd" type="STRING" size="256" sumtext="물질코드"/>
  275. <Column id="matrnm" type="STRING" size="256" sumtext="물질명"/>
  276. <Column id="levlcd" type="STRING" size="256" sumtext="레벨코드"/>
  277. <Column id="testfromdd" type="STRING" size="256" sumtext="시작일자"/>
  278. <Column id="testtodd" type="STRING" size="256" sumtext="종료일자"/>
  279. <Column id="rsltkind" type="STRING" size="256" sumtext="결과유형"/>
  280. <Column id="refkind" type="STRING" size="256" sumtext="참고치유형"/>
  281. <Column id="refflag" type="STRING" size="256" sumtext="참고치구분"/>
  282. <Column id="refl" type="STRING" size="256" sumtext="참고치하한"/>
  283. <Column id="refls" type="STRING" size="256" sumtext="하한"/>
  284. <Column id="refhs" type="STRING" size="256" sumtext="상한"/>
  285. <Column id="refh" type="STRING" size="256" sumtext="참고치상한"/>
  286. <Column id="refcval" type="STRING" size="256" sumtext="참고치문자"/>
  287. <Column id="intrsltfrmt" type="STRING" size="256" sumtext="결과포멧"/>
  288. <Column id="rsltunit" type="STRING" size="256" sumtext="단위"/>
  289. <Column id="avg" type="STRING" size="256" sumtext="평균"/>
  290. <Column id="sdval" type="STRING" size="256" sumtext="표준편차"/>
  291. <Column id="wgmrscop" type="STRING" size="256" sumtext="WGMR범위"/>
  292. <Column id="judgkind" type="STRING" size="256" sumtext="판정유형"/>
  293. <Column id="rundkind" type="STRING" size="256" sumtext="반올림옵션"/>
  294. <Column id="graphdispyn" type="STRING" size="256" sumtext="그래프"/>
  295. <Column id="lotno" type="STRING" size="256" sumtext="LotNo"/>
  296. <Column id="prodcmpy" type="STRING" size="256" sumtext="제조회사"/>
  297. <Column id="proddt" type="STRING" size="256" sumtext="제조일시"/>
  298. <Column id="windt" type="STRING" size="256" sumtext="입고일시"/>
  299. <Column id="validd" type="STRING" size="256" sumtext="유효일시"/>
  300. <Column id="matrifcd" type="STRING" size="256" sumtext="연동코드"/>
  301. <Column id="userdeptflagcd" type="STRING" size="256" sumtext="등록일자"/>
  302. <Column id="fstrgstrid" type="STRING" size="256" sumtext="등록자"/>
  303. <Column id="fstrgstdt" type="STRING" size="256" sumtext="등록일자"/>
  304. <Column id="lastupdtrid" type="STRING" size="256" sumtext="등록자"/>
  305. <Column id="lastupdtdt" type="STRING" size="256" sumtext="등록일자"/>
  306. <Column id="ddosevalue" type="STRING" size="256" sumtext="DEFDOSE"/>
  307. <Column id="deptflag" type="STRING" size="256"/>
  308. </ColumnInfo>
  309. </Dataset>
  310. <Dataset id="ds_init_lb0000" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  311. <ColumnInfo>
  312. <Column id="cd" type="STRING" size="256"/>
  313. <Column id="nm" type="STRING" size="256"/>
  314. </ColumnInfo>
  315. </Dataset>
  316. <Dataset id="ds_init_lb0501" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  317. <ColumnInfo>
  318. <Column id="cd" type="STRING" size="256"/>
  319. <Column id="nm" type="STRING" size="256"/>
  320. </ColumnInfo>
  321. </Dataset>
  322. <Dataset id="ds_cmb_rsltkind" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  323. <ColumnInfo>
  324. <Column id="label" type="STRING" size="256"/>
  325. <Column id="value" type="STRING" size="256"/>
  326. </ColumnInfo>
  327. <Rows>
  328. <Row>
  329. <Col id="label">문자+숫자</Col>
  330. <Col id="value">0</Col>
  331. </Row>
  332. <Row>
  333. <Col id="label">숫자</Col>
  334. <Col id="value">1</Col>
  335. </Row>
  336. </Rows>
  337. </Dataset>
  338. <Dataset id="ds_cmb_refkind" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  339. <ColumnInfo>
  340. <Column id="label" type="STRING" size="256"/>
  341. <Column id="value" type="STRING" size="256"/>
  342. </ColumnInfo>
  343. <Rows>
  344. <Row>
  345. <Col id="label">없음</Col>
  346. <Col id="value">0</Col>
  347. </Row>
  348. <Row>
  349. <Col id="label">문자</Col>
  350. <Col id="value">1</Col>
  351. </Row>
  352. <Row>
  353. <Col id="label">숫자</Col>
  354. <Col id="value">2</Col>
  355. </Row>
  356. </Rows>
  357. </Dataset>
  358. <Dataset id="ds_cmb_refflag" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  359. <ColumnInfo>
  360. <Column id="label" type="STRING" size="256"/>
  361. <Column id="value" type="STRING" size="256"/>
  362. </ColumnInfo>
  363. <Rows>
  364. <Row>
  365. <Col id="label">사용안함</Col>
  366. <Col id="value">0</Col>
  367. </Row>
  368. <Row>
  369. <Col id="label">하한만사용</Col>
  370. <Col id="value">1</Col>
  371. </Row>
  372. <Row>
  373. <Col id="label">상한만사용</Col>
  374. <Col id="value">2</Col>
  375. </Row>
  376. <Row>
  377. <Col id="label">모두사용</Col>
  378. <Col id="value">3</Col>
  379. </Row>
  380. </Rows>
  381. </Dataset>
  382. <Dataset id="ds_cmb_refls" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  383. <ColumnInfo>
  384. <Column id="label" type="STRING" size="256"/>
  385. <Column id="value" type="STRING" size="256"/>
  386. </ColumnInfo>
  387. <Rows>
  388. <Row>
  389. <Col id="label">&lt;</Col>
  390. <Col id="value">0</Col>
  391. </Row>
  392. <Row>
  393. <Col id="label">&lt;=</Col>
  394. <Col id="value">1</Col>
  395. </Row>
  396. </Rows>
  397. </Dataset>
  398. <Dataset id="ds_cmb_refhs" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  399. <ColumnInfo>
  400. <Column id="label" type="STRING" size="256"/>
  401. <Column id="value" type="STRING" size="256"/>
  402. </ColumnInfo>
  403. <Rows>
  404. <Row>
  405. <Col id="label">&lt;</Col>
  406. <Col id="value">0</Col>
  407. </Row>
  408. <Row>
  409. <Col id="label">&lt;=</Col>
  410. <Col id="value">1</Col>
  411. </Row>
  412. </Rows>
  413. </Dataset>
  414. <Dataset id="ds_cmb_intrsltfrmt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  415. <ColumnInfo>
  416. <Column id="label" type="STRING" size="256"/>
  417. <Column id="value" type="STRING" size="256"/>
  418. </ColumnInfo>
  419. <Rows>
  420. <Row>
  421. <Col id="label">-</Col>
  422. <Col id="value">-</Col>
  423. </Row>
  424. <Row>
  425. <Col id="label">0</Col>
  426. <Col id="value">0</Col>
  427. </Row>
  428. <Row>
  429. <Col id="label">1</Col>
  430. <Col id="value">1</Col>
  431. </Row>
  432. <Row>
  433. <Col id="label">2</Col>
  434. <Col id="value">2</Col>
  435. </Row>
  436. <Row>
  437. <Col id="label">3</Col>
  438. <Col id="value">3</Col>
  439. </Row>
  440. <Row>
  441. <Col id="label">4</Col>
  442. <Col id="value">4</Col>
  443. </Row>
  444. <Row>
  445. <Col id="label">5</Col>
  446. <Col id="value">5</Col>
  447. </Row>
  448. <Row>
  449. <Col id="label">6</Col>
  450. <Col id="value">6</Col>
  451. </Row>
  452. <Row>
  453. <Col id="label">7</Col>
  454. <Col id="value">7</Col>
  455. </Row>
  456. <Row>
  457. <Col id="label">8</Col>
  458. <Col id="value">8</Col>
  459. </Row>
  460. <Row>
  461. <Col id="label">9</Col>
  462. <Col id="value">9</Col>
  463. </Row>
  464. <Row>
  465. <Col id="label">10</Col>
  466. <Col id="value">10</Col>
  467. </Row>
  468. </Rows>
  469. </Dataset>
  470. <Dataset id="ds_cmb_judgkind" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  471. <ColumnInfo>
  472. <Column id="label" type="STRING" size="256"/>
  473. <Column id="value" type="STRING" size="256"/>
  474. </ColumnInfo>
  475. <Rows>
  476. <Row>
  477. <Col id="label">미사용</Col>
  478. <Col id="value">0</Col>
  479. </Row>
  480. <Row>
  481. <Col id="label">L/H</Col>
  482. <Col id="value">1</Col>
  483. </Row>
  484. </Rows>
  485. </Dataset>
  486. <Dataset id="ds_cmb_rundkind" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  487. <ColumnInfo>
  488. <Column id="label" type="STRING" size="256"/>
  489. <Column id="value" type="STRING" size="256"/>
  490. </ColumnInfo>
  491. <Rows>
  492. <Row>
  493. <Col id="label">사용안함</Col>
  494. <Col id="value">0</Col>
  495. </Row>
  496. <Row>
  497. <Col id="label">반올림</Col>
  498. <Col id="value">1</Col>
  499. </Row>
  500. <Row>
  501. <Col id="label">올림</Col>
  502. <Col id="value">2</Col>
  503. </Row>
  504. <Row>
  505. <Col id="label">내림</Col>
  506. <Col id="value">3</Col>
  507. </Row>
  508. </Rows>
  509. </Dataset>
  510. <Dataset id="ds_hidden_temp_matrtclslist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  511. <ColumnInfo>
  512. <Column id="testcd" type="STRING" size="256" sumtext="testcd"/>
  513. <Column id="testnm" type="STRING" size="256" sumtext="검사명"/>
  514. <Column id="matrcd" type="STRING" size="256" sumtext="물질코드"/>
  515. <Column id="matrnm" type="STRING" size="256" sumtext="물질명"/>
  516. <Column id="levlcd" type="STRING" size="256" sumtext="레벨코드"/>
  517. <Column id="testfromdd" type="STRING" size="256" sumtext="시작일자"/>
  518. <Column id="testtodd" type="STRING" size="256" sumtext="종료일자"/>
  519. <Column id="rsltkind" type="STRING" size="256" sumtext="결과유형"/>
  520. <Column id="refkind" type="STRING" size="256" sumtext="참고치유형"/>
  521. <Column id="refflag" type="STRING" size="256" sumtext="참고치구분"/>
  522. <Column id="refl" type="STRING" size="256" sumtext="참고치하한"/>
  523. <Column id="refls" type="STRING" size="256" sumtext="하한"/>
  524. <Column id="refhs" type="STRING" size="256" sumtext="상한"/>
  525. <Column id="refh" type="STRING" size="256" sumtext="참고치상한"/>
  526. <Column id="refcval" type="STRING" size="256" sumtext="참고치문자"/>
  527. <Column id="intrsltfrmt" type="STRING" size="256" sumtext="결과포멧"/>
  528. <Column id="rsltunit" type="STRING" size="256" sumtext="단위"/>
  529. <Column id="avg" type="STRING" size="256" sumtext="평균"/>
  530. <Column id="sdval" type="STRING" size="256" sumtext="표준편차"/>
  531. <Column id="wgmrscop" type="STRING" size="256" sumtext="WGMR범위"/>
  532. <Column id="judgkind" type="STRING" size="256" sumtext="판정유형"/>
  533. <Column id="rundkind" type="STRING" size="256" sumtext="반올림옵션"/>
  534. <Column id="graphdispyn" type="STRING" size="256" sumtext="그래프"/>
  535. <Column id="lotno" type="STRING" size="256" sumtext="LotNo"/>
  536. <Column id="prodcmpy" type="STRING" size="256" sumtext="제조회사"/>
  537. <Column id="proddt" type="STRING" size="256" sumtext="제조일시"/>
  538. <Column id="windt" type="STRING" size="256" sumtext="입고일시"/>
  539. <Column id="validd" type="STRING" size="256" sumtext="유효일시"/>
  540. <Column id="matrifcd" type="STRING" size="256" sumtext="연동코드"/>
  541. <Column id="userdeptflagcd" type="STRING" size="256" sumtext="등록일자"/>
  542. <Column id="fstrgstrid" type="STRING" size="256" sumtext="등록자"/>
  543. <Column id="fstrgstdt" type="STRING" size="256" sumtext="등록일자"/>
  544. <Column id="lastupdtrid" type="STRING" size="256" sumtext="등록자"/>
  545. <Column id="lastupdtdt" type="STRING" size="256" sumtext="등록일자"/>
  546. <Column id="ddosevalue" type="STRING" size="256" sumtext="DEFDOSE"/>
  547. </ColumnInfo>
  548. </Dataset>
  549. <Dataset id="ds_send_data" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  550. </Objects>
  551. <Bind>
  552. <BindItem id="item0" compid="group4.cbo_searchFlag" propid="value" datasetid="ds_hidden" columnid="refgbn"/>
  553. <BindItem id="item1" compid="group4.ipt_searchTestCd" propid="value" datasetid="ds_hidden" columnid="searchtestcd"/>
  554. </Bind>
  555. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  556. * System Name :
  557. * Job Name :
  558. * Creator :
  559. * Make Date : 2015-11-13
  560. * Description :
  561. *---------------------------------------------------------------------------------------
  562. * Modify Date Modifier Modify Description
  563. *---------------------------------------------------------------------------------------
  564. * 2015-11-13 Live Converter TF->XP
  565. *
  566. *---------------------------------------------------------------------------------------
  567. ****************************************************************************************/
  568. include "com_commonxp::comm_main.xjs";
  569. include "lis_commonxp::LLZ001.xjs";
  570. function SMLQF10800_oninit(obj:Form, e:InitEventInfo)
  571. {
  572. frmf_initForm(obj);
  573. }
  574. function SMLQF10800_onload(obj:Form, e:LoadEventInfo)
  575. {
  576. grdf_initGrid(grd_levllist);
  577. grdf_initGrid(grd_matrTclsList);
  578. grdf_initGrid(grd_testList);
  579. grdf_setRowTypeIcon(grd_matrTclsList, 0);
  580. fSetInit();
  581. }
  582. function fSetInit()
  583. {
  584. ds_main_matrtclslist.clearData();
  585. ds_main_getlevel.clearData();
  586. ds_main_testlist.clearData();
  587. lf_getDbDeptcd("0102|0104|0000|", "")
  588. dsf_createDsRow("ds_send", [{col:"basecdid", type:"STRING", size:256 , val : ds_init_lb0000.getColumn(0, "nm")}
  589. , {col:"codeflag", type:"STRING", size:256 , val : "0501|"}]);
  590. var oParam = {};
  591. oParam.id = "TRLZZ00101";
  592. oParam.service = "diagtestapplib.DiagTestBaseInfoMngt";
  593. oParam.method = "reqGetInitCodeInfo";
  594. oParam.inds = "cond=ds_send";
  595. oParam.outds = "ds_init_lb0501=0501";
  596. oParam.async = false;
  597. //oParam.callback = "cf_TRLZZ00101";
  598. tranf_submit(oParam);
  599. fGetLevel(); //물질리스트조회
  600. fGetTestList(); //검사항목리스트조회
  601. }
  602. function fGetLevel()
  603. {
  604. dsf_makeValue(ds_send, "userdeptcd", "string", ds_init_lb0000.getColumn(0, "nm"), 0);
  605. var oParam = {};
  606. oParam.id = "TRLQF00501";
  607. oParam.service = "grademngtbasemngtapp.LevelMngt";
  608. oParam.method = "reqGetLevel";
  609. oParam.inds = "cond=ds_send";
  610. oParam.outds = "ds_main_getlevel=getLevel";
  611. oParam.async = false;
  612. //oParam.callback = "cf_TRLQF00501";
  613. tranf_submit(oParam);
  614. }
  615. function fGetTestList()
  616. {
  617. dsf_makeValue(ds_send, "deptflag", "string", ds_init_lb0000.getColumn(0, "nm"), 0);
  618. var oParam = {};
  619. oParam.id = "TRLQF00702";
  620. oParam.service = "grademngtbasemngtapp.QCMaterialTestItemMngt";
  621. oParam.method = "reqGetTestList";
  622. oParam.inds = "cond=ds_send";
  623. oParam.outds = "ds_main_testlist=testlist";
  624. oParam.async = false;
  625. //oParam.callback = "cf_TRLQF00702";
  626. tranf_submit(oParam);
  627. }
  628. function grd_testList_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  629. {
  630. fTestListClick();
  631. fGetMatrTclsList();
  632. }
  633. function fTestListClick()
  634. {
  635. for(var i = 0; i < ds_main_testlist.rowcount; i++)
  636. {
  637. if(i == ds_main_testlist.rowposition)
  638. {
  639. ds_main_testlist.setColumn(i, "chk", "true");
  640. }
  641. else
  642. {
  643. ds_main_testlist.setColumn(i, "chk", "false");
  644. }
  645. }
  646. }
  647. function fGetMatrTclsList()
  648. {
  649. dsf_makeValue(ds_send, "refgbn", "string", ds_hidden.getColumn(0, "refgbn"), 0);
  650. dsf_makeValue(ds_send, "testcd", "string", ds_main_testlist.getColumn(ds_main_testlist.rowposition, "testcd"), 0);
  651. dsf_makeValue(ds_send, "deptflag", "string", ds_init_lb0000.getColumn(0, "nm"), 0);
  652. var oParam = {};
  653. oParam.id = "TRNQF00701";
  654. oParam.service = "grademngtbasemngtapp.QCMaterialTestItemMngt";
  655. oParam.method = "reqGetDetlMatrList";
  656. oParam.inds = "cond=ds_send";
  657. oParam.outds = "ds_main_matrtclslist=matrtclslist";
  658. oParam.async = false;
  659. //oParam.callback = "cf_TRNQF00701";
  660. tranf_submit(oParam);
  661. }
  662. function grd_levllist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  663. {
  664. fSetLevlCopy();
  665. }
  666. function fSetLevlCopy()
  667. {
  668. var testCnt = ds_main_testlist.getCaseCount("chk == 'true'");
  669. if(testCnt == 0)
  670. {
  671. alert("검사항목을 선택하세요");
  672. return;
  673. }
  674. else if(testCnt > 1)
  675. {
  676. alert("검사항목을 하나만 선택하세요!!");
  677. return;
  678. }
  679. var row = ds_main_testlist.findRow("chk", "true");
  680. var sTestCd = ds_main_testlist.getColumn(row, "testcd");
  681. var sTestNm = ds_main_testlist.getColumn(row, "testnm");
  682. var sLevlCd = ds_main_getlevel.getColumn(ds_main_getlevel.rowposition, "levlcd");
  683. var sLevlNm = ds_main_getlevel.getColumn(ds_main_getlevel.rowposition, "levlnm");
  684. var sDeptFlag = ds_init_lb0000.getColumn(0, "nm");
  685. var findrow = ds_main_matrtclslist.findRow("levlcd", sLevlCd);
  686. if(findrow >0 )
  687. {
  688. alert("이미 선택된 검사코드입니다.");
  689. ds_main_getlevel.setColumn(ds_main_getlevel.rowposition, "chk", "false");
  690. return;
  691. }
  692. var addRow = ds_main_matrtclslist.addRow();
  693. ds_main_matrtclslist.setColumn(addRow, "levlcd", sLevlCd);
  694. ds_main_matrtclslist.setColumn(addRow, "testcd", sTestCd);
  695. ds_main_matrtclslist.setColumn(addRow, "matrcd", sTestCd);
  696. ds_main_matrtclslist.setColumn(addRow, "matrnm", sTestNm + "-" + sLevlNm);
  697. ds_main_matrtclslist.setColumn(addRow, "testnm", sTestNm);
  698. ds_main_matrtclslist.setColumn(addRow, "testfromdd", utlf_getCurrentDate());
  699. ds_main_matrtclslist.setColumn(addRow, "testtodd", "99991231");
  700. ds_main_matrtclslist.setColumn(addRow, "userdeptflagcd", sDeptFlag);
  701. ds_main_getlevel.setColumn(ds_main_getlevel.rowposition, "chk", "false");
  702. }
  703. function btn_up_onclick(obj:Button, e:ClickEventInfo)
  704. {
  705. fCopyTestList();
  706. }
  707. function fCopyTestList()
  708. {
  709. var testCnt = ds_main_testlist.getCaseCount("chk == 'true'");
  710. //trace("testCnt :"+testCnt);
  711. if(testCnt == 0)
  712. {
  713. alert("검사항목을 선택하세요");
  714. return;
  715. }
  716. else if(testCnt > 1)
  717. {
  718. alert("검사항목을 하나만 선택하세요!!");
  719. return;
  720. }
  721. var levlCnt = ds_main_getlevel.getCaseCount('chk == "true" || chk == "1"');
  722. //trace("levlCnt :"+levlCnt);
  723. if(levlCnt == 0)
  724. {
  725. alert("선택된 Control이 없습니다!!");
  726. return;
  727. }
  728. var row = ds_main_testlist.findRow("chk", "true");
  729. var vLevlCd, vLevlNm;
  730. var vTestCd = ds_main_testlist.getColumn(row, "testcd");
  731. var vTestNm = ds_main_testlist.getColumn(row, "testnm");
  732. var sDeptFlag = ds_init_lb0000.getColumn(0, "nm");
  733. for(var i = 0; i < ds_main_getlevel.rowcount; i++)
  734. {
  735. if(ds_main_getlevel.getColumn(i, "chk") == "true" || ds_main_getlevel.getColumn(i, "chk") == "1" )
  736. {
  737. vLevlCd = ds_main_getlevel.getColumn(i, "levlcd");
  738. vLevlNm = ds_main_getlevel.getColumn(i, "levlnm");
  739. if(ds_main_matrtclslist.findRow("levlcd", vLevlCd) == -1)
  740. {
  741. var addRow = ds_main_matrtclslist.addRow();
  742. ds_main_matrtclslist.setColumn(addRow, "testcd", vTestCd);
  743. ds_main_matrtclslist.setColumn(addRow, "testnm", vTestNm);
  744. ds_main_matrtclslist.setColumn(addRow, "testfromdd", utlf_getCurrentDate());
  745. ds_main_matrtclslist.setColumn(addRow, "testtodd", "99991231");
  746. ds_main_matrtclslist.setColumn(addRow, "levlcd", vLevlCd);
  747. ds_main_matrtclslist.setColumn(addRow, "matrcd", vTestCd);
  748. ds_main_matrtclslist.setColumn(addRow, "matrnm", vTestNm + "-" + vLevlNm);
  749. ds_main_matrtclslist.setColumn(addRow, "userdeptflagcd", sDeptFlag);
  750. }
  751. else
  752. {
  753. alert(ds_main_getlevel.getColumn(i, "levlcd") + " 항목이 중복되었습니다");
  754. }
  755. }
  756. }
  757. }
  758. function ds_main_matrtclslist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  759. {
  760. if(e.columnid == "graphdispyn")
  761. {
  762. obj.setColumn(e.row, "graphdispyn", (e.newvalue == "Y" || e.newvalue == 1) ? "Y" : "N");
  763. }
  764. if(e.columnid == "refl" || e.columnid == "refh")
  765. {
  766. fSetRef();
  767. }
  768. }
  769. function fSetRef()
  770. {
  771. var vRefL = ds_main_matrtclslist.getColumn(ds_main_matrtclslist.rowposition, "refl");
  772. var vRefH = ds_main_matrtclslist.getColumn(ds_main_matrtclslist.rowposition, "refh");
  773. if(!utlf_isNull(vRefL) && !utlf_isNull(vRefH))
  774. {
  775. if(parseFloat(vRefL) > parseFloat(vRefH))
  776. {
  777. alert("참고치 하한값이 상한값보다 클 수 없습니다.");
  778. return;
  779. }
  780. var vAvg = (parseFloat(vRefL) + parseFloat(vRefH)) / 2;
  781. var vSD = ((parseFloat(vRefH) - parseFloat(vRefL))) / 4;
  782. ds_main_matrtclslist.setColumn(ds_main_matrtclslist.rowposition, "avg", vAvg);
  783. ds_main_matrtclslist.setColumn(ds_main_matrtclslist.rowposition, "sdval", vSD);
  784. }
  785. }
  786. function grd_levllist_oncellclick(obj:Grid, e:GridClickEventInfo)
  787. {
  788. fLevlListClick();
  789. }
  790. function fLevlListClick()
  791. {
  792. if(grd_levllist.currentcol != "1")
  793. {
  794. if(ds_main_getlevel.getColumn(ds_main_getlevel.rowposition, "chk") != "true")
  795. {
  796. ds_main_getlevel.setColumn(ds_main_getlevel.rowposition, "chk", "true");
  797. }
  798. else
  799. {
  800. ds_main_getlevel.setColumn(ds_main_getlevel.rowposition, "chk", "false");
  801. }
  802. }
  803. }
  804. function group4_button1_onclick(obj:Button, e:ClickEventInfo)
  805. {
  806. fGetTestList();
  807. }
  808. function group4_ipt_searchTestCd_onkeydown(obj:Edit, e:KeyEventInfo)
  809. {
  810. if(e.keycode == 13)
  811. {
  812. obj.updateToDataset();
  813. fKeyEvent();
  814. }
  815. }
  816. function fKeyEvent()
  817. {
  818. dsf_makeValue(ds_send, "refcont", "string", group4.ipt_searchTestCd.value, 0);
  819. fGetTestList();
  820. }
  821. function btn_exec_onclick(obj:Button, e:ClickEventInfo)
  822. {
  823. if(sysf_messageBox("", "Q002")==6)
  824. {
  825. if(!checkGridUpdate(grd_matrTclsList))
  826. {
  827. sysf_messageBox("저장할 자료가 존재하지 않아 실행", "E001");
  828. return;
  829. }
  830. fExeMatrTclsList();
  831. }
  832. }
  833. function checkGridUpdate(grid)
  834. {
  835. var upd = grdf_getGridUpdateData(grid).rowcount;
  836. if (upd == 0)
  837. {
  838. return false;
  839. }
  840. else
  841. {
  842. return true;
  843. }
  844. }
  845. function fExeMatrTclsList()
  846. {
  847. ds_send.setColumn(0, "deptflag", ds_init_lb0000.getColumn(0, "nm"));
  848. for(var i = 0; i < ds_main_matrtclslist.rowcount; i++)
  849. {
  850. if(ds_main_matrtclslist.getRowType(i) == 2)
  851. {
  852. if(utlf_isNull(ds_main_matrtclslist.getColumn(i, "testcd")))
  853. {
  854. sysf_messageBox("검사 코드는", "I003");
  855. return;
  856. }
  857. if(utlf_isNull(ds_main_matrtclslist.getColumn(i, "matrcd")))
  858. {
  859. sysf_messageBox("Control 코드는", "I003");
  860. return;
  861. }
  862. if(utlf_isNull(ds_main_matrtclslist.getColumn(i, "matrnm")))
  863. {
  864. sysf_messageBox("Control 명은", "I003");
  865. return;
  866. }
  867. if(utlf_isNull(ds_main_matrtclslist.getColumn(i, "testfromdd")))
  868. {
  869. sysf_messageBox("시작일자는", "I003");
  870. return;
  871. }
  872. if(utlf_isNull(ds_main_matrtclslist.getColumn(i, "testtodd")))
  873. {
  874. sysf_messageBox("종료일자는", "I003");
  875. return;
  876. }
  877. if(utlf_isNull(ds_main_matrtclslist.getColumn(i, "levlcd")))
  878. {
  879. sysf_messageBox("Standard 코드는", "I003");
  880. return;
  881. }
  882. }
  883. }
  884. for(var i = 0; i < ds_main_matrtclslist.rowcount; i++)
  885. {
  886. ds_main_matrtclslist.setColumn(i, "deptflag", ds_main_matrtclslist.getColumn(i, "userdeptflagcd"));
  887. }
  888. ds_send_data.clearData();
  889. var tmp = grdf_getGridUpdateData(grd_matrTclsList, "all");
  890. grdf_setStatusColumn(tmp, "status");
  891. ds_send_data.copyData(tmp, true);
  892. var oParam = {};
  893. oParam.id = "TXLQF00702";
  894. oParam.service = "grademngtbasemngtapp.QCMaterialTestItemMngt";
  895. oParam.method = "reqExeMatrTclsListN";
  896. oParam.inds = "cond=ds_send_data";
  897. oParam.async = false;
  898. oParam.typeStr = "status";
  899. oParam.callback = "cf_TXLQF00702";
  900. tranf_submit(oParam);
  901. }
  902. function cf_TXLQF00702(sSvcId, nErrorCode, sErrorMsg)
  903. {
  904. if(nErrorCode < 0)
  905. {
  906. return;
  907. }
  908. else
  909. {
  910. fGetMatrTclsList();
  911. }
  912. }
  913. function btn_init_onclick(obj:Button, e:ClickEventInfo)
  914. {
  915. this.reload();
  916. }
  917. function btn_end_onclick(obj:Button, e:ClickEventInfo)
  918. {
  919. rtn = sysf_messageBox("" , "Q003");
  920. if(rtn == "7")
  921. {
  922. return;
  923. }
  924. fEndMatr();
  925. }
  926. function fEndMatr()
  927. {
  928. if(ds_main_matrtclslist.rowposition == -1)
  929. {
  930. return;
  931. }
  932. var todd = ds_main_matrtclslist.getColumn(ds_main_matrtclslist.rowposition, "testtodd");
  933. if(todd < utlf_getCurrentDate())
  934. {
  935. alert("이미 종료된 물질입니다.");
  936. return;
  937. }
  938. ds_main_matrtclslist.updatecontrol = false;
  939. ds_main_matrtclslist.setRowType(ds_main_matrtclslist.rowposition, "d")
  940. ds_main_matrtclslist.updatecontrol = true;
  941. ds_send.setColumn(0, "userdeptcd", ds_init_lb0000.getColumn(0, "nm"));
  942. var oParam = {};
  943. oParam.id = "TXLQF00703";
  944. oParam.service = "grademngtbasemngtapp.QCMaterialMngt";
  945. oParam.method = "reqExeMat";
  946. oParam.inds = "grid=ds_main_matrtclslist:u";
  947. oParam.async = false;
  948. //oParam.callback = "cf_TXLQF00703";
  949. tranf_submit(oParam);
  950. fGetMatrTclsList();
  951. }
  952. function button2_onclick(obj:Button, e:ClickEventInfo)
  953. {
  954. rtn = sysf_messageBox("" , "Q003");
  955. if(rtn == "7")
  956. {
  957. return;
  958. }
  959. fChangeMatr();
  960. }
  961. function fChangeMatr()
  962. {
  963. if(ds_main_matrtclslist.rowposition == -1)
  964. {
  965. return;
  966. }
  967. ds_hidden_temp_matrtclslist.copyRow(0, ds_main_matrtclslist, ds_main_matrtclslist.rowposition);
  968. fEndMatr();
  969. var addRow = ds_main_matrtclslist.addRow();
  970. ds_main_matrtclslist.setColumn(addRow, "matrcd", ds_hidden_temp_matrtclslist.getColumn(0, "matrcd"));
  971. ds_main_matrtclslist.setColumn(addRow, "levlcd", ds_hidden_temp_matrtclslist.getColumn(0, "levlcd"));
  972. ds_main_matrtclslist.setColumn(addRow, "matrnm", ds_hidden_temp_matrtclslist.getColumn(0, "matrnm"));
  973. ds_main_matrtclslist.setColumn(addRow, "testcd", ds_hidden_temp_matrtclslist.getColumn(0, "testcd"));
  974. ds_main_matrtclslist.setColumn(addRow, "testnm", ds_hidden_temp_matrtclslist.getColumn(0, "testnm"));
  975. ds_main_matrtclslist.setColumn(addRow, "userdeptflagcd", ds_init_lb0000.getColumn(0, "nm"));
  976. var fromdate = utlf_getCurrentDate().toDate("YYYYMMDD").getAddDate(1)
  977. ds_main_matrtclslist.setColumn(addRow, "testfromdd", fromdate.getDateFormat("YYYYMMDD"));
  978. ds_main_matrtclslist.setColumn(addRow, "testtodd", "99991231");
  979. fExeMatrTclsList();
  980. }
  981. function button53_onclick(obj:Button, e:ClickEventInfo)
  982. {
  983. ds_main_matrtclslist.deleteRow(ds_main_matrtclslist.rowposition);
  984. }
  985. ]]></Script>
  986. </Form>
  987. </FDL>