SMLQP00300_QC장비상관관계조회.xfdl 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMLQP00300" position="absolute 0 0 1256 805" titletext="New Form" oninit="model1_oninit" onload="SMLQP00300_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="Static03" position="absolute 0 122 1256 173" anchor="left top right"/>
  8. <Static id="caption14" text="QC장비상관관계조회" class="tit_1" position="absolute 1 2 282 26" positiontype="position"/>
  9. <Button id="button11" taborder="2" text="출력" class="btn6" visible="false" position="absolute 1129 0 1185 20" positiontype="position"/>
  10. <Div id="Div_search" anchor="left top right" taborder="3" position="absolute 0 27 1256 94" class="div_SA">
  11. <Layouts>
  12. <Layout>
  13. <Static id="caption5" text="접수일자" class="search_name" position="absolute 8 10 82 30" style="align:left middle;" anchor="default" positiontype="position"/>
  14. <Static id="caption3" text="검사항목" class="search_name" position="absolute 8 35 94 55" style="align:left middle;" anchor="default" positiontype="position"/>
  15. <Edit id="input1" taborder="13" readonly="true" position="absolute 82 35 475 55" style="align:left middle;" anchor="default" positiontype="position"/>
  16. <Static id="caption4" text="검사실" class="search_name" position="absolute 323 10 384 30" style="align:left middle;" anchor="default" positiontype="position"/>
  17. <Combo id="combo2" taborder="14" class="combo_s_essential" position="absolute 384 10 498 30" style="align:left middle;" anchor="default" innerdataset="@ds_init_lb0111" codecolumn="cd" datacolumn="nm" onitemchanged="Div_search_combo2_onitemchanged" positiontype="position"/>
  18. <Static id="caption9" text="장비1" class="search_name" position="absolute 533 10 594 30" style="align:left middle;" anchor="default" positiontype="position"/>
  19. <Static id="caption12" text="레벨" class="search_name" position="absolute 533 35 619 55" style="align:left middle;" anchor="default" positiontype="position"/>
  20. <Button id="btn_testListSch" taborder="15" class="icon_search" position="absolute 478 35 498 55" style="align:left middle;" anchor="default" text="" onclick="Div_search_btn_testListSch_onclick" positiontype="position"/>
  21. <Edit id="output11" taborder="16" readonly="true" position="absolute 594 35 858 55" style="align:left middle;" anchor="default" positiontype="position"/>
  22. <Combo id="combo1" taborder="17" class="combo_search" position="absolute 586 10 742 30" style="align:left middle;" anchor="default" innerdataset="@ds_init_lb0701" codecolumn="cd" datacolumn="nm" onitemchanged="Div_search_combo1_onitemchanged" positiontype="position"/>
  23. <Static id="caption10" text="장비2" class="search_name" position="absolute 758 10 811 30" style="align:left middle;" anchor="default" positiontype="position"/>
  24. <Button id="button4" taborder="18" class="icon_search" position="absolute 861 35 881 55" style="align:left middle;" anchor="default" text="" visible="true" onclick="Div_search_button4_onclick" positiontype="position"/>
  25. <Combo id="combo3" taborder="19" class="combo_search" position="absolute 811 10 968 30" style="align:left middle;" anchor="default" innerdataset="@ds_init_lb0701" codecolumn="cd" datacolumn="nm" onitemchanged="Div_search_combo3_onitemchanged" positiontype="position"/>
  26. <Static id="caption2" text="접수구분" class="search_name" position="absolute 975 10 1049 30" style="align:left middle;" anchor="default" positiontype="position"/>
  27. <Combo id="combo4" taborder="20" class="combo_search" position="absolute 1049 10 1159 30" style="align:left middle;" anchor="default" innerdataset="@ds_init_lb0704" codecolumn="cd" datacolumn="nm" positiontype="position"/>
  28. <Button id="button3" taborder="21" text="조회" class="btn1" position="absolute 1188 10 1244 30" style="align:left middle;" anchor="top right" onclick="Div_search_button3_onclick" positiontype="position"/>
  29. <Calendar id="input4" taborder="22" dateformat="yyyy-MM-dd " class="input_s_essential" position="absolute 198 10 298 30" anchor="default"/>
  30. <Static id="caption00" text="~" class="search_n_b" position="absolute 182 10 198 30" style="align:center;" anchor="default"/>
  31. <Calendar id="input3" taborder="23" dateformat="yyyy-MM-dd" class="input_s_essential" position="absolute 82 10 182 30" anchor="default"/>
  32. </Layout>
  33. </Layouts>
  34. </Div>
  35. <Static id="caption13" text="장비간 검사항목별 비교결과 정보" class="tit_2" position="absolute 0 102 370 122" positiontype="position"/>
  36. <Static id="caption7" text="CV_Diff" class="cell_1" position="absolute 1 123 86 147" positiontype="position"/>
  37. <Static id="caption11" text="CV_Diff(%)" class="cell_1" position="absolute 1 148 86 172" positiontype="position"/>
  38. <Edit id="output7" taborder="4" readonly="true" position="absolute 89 125 207 145" style="align:center middle;" positiontype="position"/>
  39. <Edit id="output8" taborder="5" readonly="true" position="absolute 89 150 207 170" style="background:URL('theme://images/bg_edit_R.png') stretch 5,5;align:center middle;" mask="(-)###.###" positiontype="position"/>
  40. <Static id="caption23" text="Mean_Diff" class="cell_1" position="absolute 210 123 314 147" positiontype="position"/>
  41. <Static id="caption24" text="Mean_Diff(%)" class="cell_1" position="absolute 210 148 314 172" positiontype="position"/>
  42. <Edit id="output1" taborder="6" readonly="true" position="absolute 316 125 435 145" style="align:center middle;" positiontype="position"/>
  43. <Edit id="output2" taborder="7" readonly="true" position="absolute 316 150 435 170" style="background:URL('theme://images/bg_edit_R.png') stretch 5,5;align:center middle;" mask="(-)###.###" positiontype="position"/>
  44. <Static id="caption25" text="SD_Diff" class="cell_1" position="absolute 439 123 524 147" positiontype="position"/>
  45. <Static id="caption29" text="SD_Diff(%)" class="cell_1" position="absolute 439 148 524 172" positiontype="position"/>
  46. <Edit id="output3" taborder="8" readonly="true" position="absolute 527 125 651 145" style="align:center middle;" positiontype="position"/>
  47. <Edit id="output9" taborder="9" readonly="true" position="absolute 527 150 651 170" style="background:URL('theme://images/bg_edit_R.png') stretch 5,5;align:center middle;" mask="(-)###.###" positiontype="position"/>
  48. <Static id="caption26" text="SDI" class="cell_1" position="absolute 654 123 770 147" positiontype="position"/>
  49. <Static id="caption28" text="Accuracy" class="cell_1" position="absolute 654 148 770 172" positiontype="position"/>
  50. <Edit id="output4" taborder="10" readonly="true" position="absolute 772 125 919 145" mask="(-)###.###" positiontype="position" style="background:URL('theme://images/bg_edit_R.png') stretch 5,5;"/>
  51. <Edit id="output6" taborder="11" readonly="true" position="absolute 772 150 919 170" mask="(-)###.###" positiontype="position" style="background:URL('theme://images/bg_edit_R.png') stretch 5,5;"/>
  52. <Static id="caption27" text="CVR" class="cell_1" position="absolute 922 123 1038 147" positiontype="position"/>
  53. <Static id="caption30" text="상관성(Corr)" class="cell_1" position="absolute 922 148 1038 172" positiontype="position"/>
  54. <Edit id="output5" taborder="12" readonly="true" position="absolute 1040 125 1185 145" mask="(-)###.###" positiontype="position" style="background:URL('theme://images/bg_edit_R.png') stretch 5,5;"/>
  55. <Edit id="output10" taborder="13" readonly="true" position="absolute 1040 150 1185 170" mask="(-)###.###" positiontype="position" style="background:URL('theme://images/bg_edit_R.png') stretch 5,5;"/>
  56. <Static id="caption1" text="장비1 상세내역" class="tit_2" position="absolute 0 183 606 203" positiontype="position"/>
  57. <Grid id="datagrid1" class="datagrid2" taborder="14" useinputpanel="false" position="absolute 0 203 623 805" onclick="datagrid1_onclick" anchor="left top bottom" binddataset="ds_grid_datagrid1" positiontype="position" oncellclick="datagrid1_oncellclick" selecttype="cell" autosizingtype="none">
  58. <Formats>
  59. <Format id="default">
  60. <Columns>
  61. <Column size="30"/>
  62. <Column size="120"/>
  63. </Columns>
  64. <Rows>
  65. <Row size="35" band="head"/>
  66. <Row size="20"/>
  67. </Rows>
  68. <Band id="head">
  69. <Cell text="No."/>
  70. <Cell col="1" text="접수일시"/>
  71. </Band>
  72. <Band id="body">
  73. <Cell celltype="head" expr="currow+1"/>
  74. <Cell col="1" text="bind:rsltcnfmdt"/>
  75. <Cell col="2"/>
  76. </Band>
  77. </Format>
  78. </Formats>
  79. </Grid>
  80. <Static id="caption6" text="장비2 상세내역" class="tit_2" position="absolute 633 183 1078 203" positiontype="position"/>
  81. <Grid id="datagrid2" class="datagrid2" taborder="15" useinputpanel="false" position="absolute 633 203 1256 805" onclick="datagrid2_onclick" anchor="all" binddataset="ds_grid_datagrid2" positiontype="position" oncellclick="datagrid2_oncellclick" selecttype="cell">
  82. <Formats>
  83. <Format id="default">
  84. <Columns>
  85. <Column size="30"/>
  86. <Column size="120"/>
  87. </Columns>
  88. <Rows>
  89. <Row size="35" band="head"/>
  90. <Row size="20"/>
  91. </Rows>
  92. <Band id="head">
  93. <Cell text="No."/>
  94. <Cell col="1" text="접수일시"/>
  95. </Band>
  96. <Band id="body">
  97. <Cell celltype="head" expr="currow+1"/>
  98. <Cell col="1" text="bind:rsltcnfmdt"/>
  99. <Cell col="2"/>
  100. </Band>
  101. </Format>
  102. </Formats>
  103. </Grid>
  104. <Button id="btn_excel1" taborder="16" text="장비1저장" class="btn2" position="absolute 1103 180 1178 200" anchor="top right" positiontype="position" onclick="btn_excel1_onclick"/>
  105. <Button id="btn_excel2" taborder="17" text="장비2저장" class="btn2" position="absolute 1181 180 1256 200" anchor="top right" positiontype="position" onclick="btn_excel2_onclick"/>
  106. <Button id="button5" taborder="1" text="초기화" class="btn4" position="absolute 1188 0 1256 20" anchor="top right" positiontype="position" onclick="button5_onclick"/>
  107. </Layout>
  108. </Layouts>
  109. <Objects>
  110. <Dataset id="ds_grid_datagrid1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  111. <ColumnInfo>
  112. <Column id="rsltcnfmdt" type="STRING"/>
  113. </ColumnInfo>
  114. </Dataset>
  115. <Dataset id="ds_grid_datagrid2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  116. <ColumnInfo>
  117. <Column id="rsltcnfmdt" type="STRING"/>
  118. </ColumnInfo>
  119. </Dataset>
  120. <Dataset id="ds_init_lb0000" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  121. <ColumnInfo>
  122. <Column id="cd" type="STRING" size="256"/>
  123. <Column id="nm" type="STRING" size="256"/>
  124. </ColumnInfo>
  125. </Dataset>
  126. <Dataset id="ds_init_lb0111" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  127. <ColumnInfo>
  128. <Column id="cd" type="STRING" size="256"/>
  129. <Column id="nm" type="STRING" size="256"/>
  130. </ColumnInfo>
  131. </Dataset>
  132. <Dataset id="ds_init_lb0501" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  133. <ColumnInfo>
  134. <Column id="cd" type="STRING" size="256"/>
  135. <Column id="nm" type="STRING" size="256"/>
  136. </ColumnInfo>
  137. </Dataset>
  138. <Dataset id="ds_init_lb0701" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  139. <ColumnInfo>
  140. <Column id="cd" type="STRING" size="256"/>
  141. <Column id="nm" type="STRING" size="256"/>
  142. </ColumnInfo>
  143. </Dataset>
  144. <Dataset id="ds_init_lb0704" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  145. <ColumnInfo>
  146. <Column id="cd" type="STRING" size="256"/>
  147. <Column id="nm" type="STRING" size="256"/>
  148. </ColumnInfo>
  149. </Dataset>
  150. <Dataset id="ds_send_data" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  151. <ColumnInfo>
  152. <Column id="deptflag" type="STRING" size="256"/>
  153. <Column id="sflag" type="STRING" size="256"/>
  154. </ColumnInfo>
  155. </Dataset>
  156. <Dataset id="ds_get_data" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  157. <ColumnInfo>
  158. <Column id="testnm" type="STRING" size="256"/>
  159. <Column id="testnm2" type="STRING" size="256"/>
  160. <Column id="testcd" type="STRING" size="256"/>
  161. <Column id="testcd2" type="STRING" size="256"/>
  162. <Column id="levlnm" type="STRING" size="256"/>
  163. <Column id="levlcd" type="STRING" size="256"/>
  164. <Column id="levlcd2" type="STRING" size="256"/>
  165. </ColumnInfo>
  166. </Dataset>
  167. <Dataset id="ds_get_data2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  168. <ColumnInfo>
  169. <Column id="levlnm" type="STRING" size="256"/>
  170. <Column id="levlcd" type="STRING" size="256"/>
  171. <Column id="levlcd2" type="STRING" size="256"/>
  172. </ColumnInfo>
  173. </Dataset>
  174. </Objects>
  175. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  176. * System Name :
  177. * Job Name :
  178. * Creator :
  179. * Make Date : 2015-05-01
  180. * Description :
  181. *---------------------------------------------------------------------------------------
  182. * Modify Date Modifier Modify Description
  183. *---------------------------------------------------------------------------------------
  184. * 2015-05-01 Live Converter TF->XP
  185. *
  186. *---------------------------------------------------------------------------------------
  187. ****************************************************************************************/
  188. include "com_commonxp::comm_main.xjs";
  189. include "lis_commonxp::LLZ001.xjs";
  190. var vTestnm; // 그리드 컬럼명 담을 변수
  191. var vLevlnm = new Array(); // 그리드 컬럼명 담을 변수
  192. function lf_initDataSet(){
  193. dsf_createDsRow("ds_temp_search"
  194. , [{col: "codeflag", val: "0000|0111|0701|"}]); //0000:사용자부서코드, 0111:시행부서계 0701: 장비코드 0703: 조치사유
  195. var oParam = {};
  196. oParam.id = "TRLZZ00101";
  197. oParam.service = "diagtestapplib.DiagTestBaseInfoMngt";
  198. oParam.method = "reqGetInitCodeInfo";
  199. oParam.inds = "cond=ds_temp_search";
  200. oParam.outds = "ds_init_lb0000=0000 ds_init_lb0111=0111 ds_init_lb0701=0701";
  201. oParam.async = false;
  202. tranf_submit(oParam);
  203. dsf_createDsRow("ds_temp_search2"
  204. , [{col: "codeflag", val: "0501|0704|"}
  205. , {col: "basecdid", val: ds_init_lb0000.getColumn(0,"nm")}]);
  206. oParam = {};
  207. oParam.id = "TRLZZ00101";
  208. oParam.service = "diagtestapplib.DiagTestBaseInfoMngt";
  209. oParam.method = "reqGetInitCodeInfo";
  210. oParam.inds = "cond=ds_temp_search2";
  211. oParam.outds = "ds_init_lb0501=0501 ds_init_lb0704=0704";
  212. oParam.async = false;
  213. tranf_submit(oParam);
  214. }
  215. function lf_setInit(){
  216. Div_search.input3.value = utlf_getCurrentDate();//.toDate("YYYYMMDD").getAddDate(-15);
  217. Div_search.input4.value = utlf_getCurrentDate();
  218. Div_search.combo2.index = "0";
  219. Div_search.combo1.index = "0";
  220. Div_search.combo3.index = "0";
  221. Div_search.combo4.index = "0";
  222. Div_search.input1.value = "";
  223. Div_search.output11.value = "";
  224. output7.value = "";
  225. output8.value = "";
  226. output1.value = "";
  227. output2.value = "";
  228. output3.value = "";
  229. output9.value = "";
  230. output4.value = "";
  231. output6.value = "";
  232. output5.value = "";
  233. ds_grid_datagrid1.clearData();
  234. ds_grid_datagrid2.clearData();
  235. for(var i=datagrid1.getCellCount("Head")-1; i>1; i--){ //접수일시 이후의 컬럼 숨김
  236. datagrid1.deleteContentsCol(i);
  237. datagrid2.deleteContentsCol(i);
  238. }
  239. caption1.text = "장비1 상세내역";
  240. caption6.text = "장비2 상세내역";
  241. }
  242. //검사실에 대한 장비 조회
  243. function lf_setEqmtCd(){
  244. var sEtc = Div_search.combo2.value;
  245. var sFilter = "cd =='00' || etc01 =='" + sEtc + "'";
  246. ds_init_lb0701.filter("");
  247. if(sEtc != "00"){
  248. ds_init_lb0701.filter(sFilter);
  249. }else{
  250. ds_init_lb0701.filter("cd =='00'");
  251. }
  252. Div_search.combo1.index=0;
  253. Div_search.combo3.index=0;
  254. }
  255. //장비별 검사항목 조회 팝업
  256. function lf_testListSch(){
  257. var eqmtcd1 = Div_search.combo1.value;
  258. var eqmtcd2 = Div_search.combo3.value;
  259. if(eqmtcd1 == "00"){ //장비코드가 전체이면
  260. sysf_messageBox("장비1을", "C002","");
  261. return;
  262. }
  263. if(eqmtcd2 == "00"){ //장비코드가 전체이면
  264. sysf_messageBox("장비2를", "C002","");
  265. return;
  266. }
  267. if(eqmtcd1 == eqmtcd2){ //장비1과 2가 같다면
  268. sysf_messageBox("장비1과 장비2가 같습니다!\n장비를 다시 선택하세요!!","E");
  269. return;
  270. }
  271. var deptflag = ds_init_lb0000.getColumn(0,"nm"); //사용자부서코드
  272. var sflag = "nu" + "▦" + eqmtcd1 + "▦" + deptflag + "▦" + eqmtcd2;
  273. ds_send_data.clearData();
  274. ds_send_data.addRow();
  275. ds_send_data.setColumn(0,"deptflag",deptflag);
  276. ds_send_data.setColumn(0,"sflag",sflag);
  277. var objArg = new Object();
  278. objArg.ds_arg_temp_reqdata = ds_send_data;
  279. frmf_modal("SPLQP00100", "SPLQP00100", objArg, "", 0, 100, 150, "", "", "", "", "", "P");
  280. Div_search.input1.value = ds_get_data.getColumn(0,"testnm");
  281. vTestnm = ds_get_data.getColumn(0,"testnm2").split("▦"); // 그리드 컬럼명 담을 변수
  282. lf_grdSet();
  283. }
  284. //검사항목별 레벨 조회 팝업
  285. function lf_testLevlSch(){
  286. var eqmtcd = Div_search.combo1.value; //장비코드
  287. if(utlf_isNull(ds_get_data.getColumn(0,"testcd"))){
  288. sysf_messageBox("검사항목을 먼저 선택해주세요.","I");
  289. return;
  290. }
  291. var tlentgh = ds_get_data.getColumn(0,"testcd").split("▦");
  292. var testcd = ds_get_data.getColumn(0,"testcd");
  293. for(i = 0; i < tlentgh.length; i++){
  294. testcd = testcd.replace("▦", "▤");
  295. }
  296. var sflag = "nu" + "▦" + eqmtcd + "▦" + ds_init_lb0000.getColumn(0,"nm") + "▦" + testcd;
  297. ds_send_data.clearData();
  298. ds_send_data.addRow();
  299. ds_send_data.setColumn(0,"sflag",sflag);
  300. var objArg = new Object();
  301. objArg.ds_arg_temp_reqdata = ds_send_data;
  302. frmf_modal("SPLQP00200", "SPLQP00200", objArg, "", 0, 100, 150, "", "", "", "", "", "P");
  303. Div_search.output11.value = ds_get_data2.getColumn(0,"levlnm");
  304. vLevlnm = ds_get_data2.getColumn(0,"levlnm").split(","); // 그리드 컬럼명 담을 변수
  305. lf_grdSet();
  306. }
  307. //검사항목에 따른 그리드 셋팅
  308. function lf_grdSet(){
  309. var col = 2;
  310. var colNum = 0;
  311. for(var i=datagrid1.getCellCount("Head")-1; i>1; i--){ //접수일시 이후의 컬럼 숨김
  312. datagrid1.deleteContentsCol(i);
  313. datagrid2.deleteContentsCol(i);
  314. }
  315. if(vLevlnm.length == "0"){
  316. for(var j=0; j<vTestnm.length; j++){
  317. var size = String(vLevlnm[i]).length
  318. grdf_setColumn(datagrid1,"I", col, vTestnm[j],vTestnm[j]+"\n"+"");
  319. datagrid1.setFormatColProperty(col,"size",120);
  320. grdf_setColumn(datagrid2,"I", col, vTestnm[j],vTestnm[j]+"\n"+"");
  321. datagrid2.setFormatColProperty(col,"size",120);
  322. col++;
  323. }
  324. }else{
  325. trace(vTestnm);
  326. trace(vLevlnm);
  327. for(var j=0; j<vTestnm.length; j++){
  328. for(var i=0; i<vLevlnm.length; i++){
  329. var size = String(vLevlnm[i]).length
  330. grdf_setColumn(datagrid1,"I", col, vTestnm[j],vTestnm[j]+"\n"+vLevlnm[i]);
  331. grdf_setColumn(datagrid2,"I", col, vTestnm[j],vTestnm[j]+"\n"+vLevlnm[i]);
  332. if(vTestnm[j].length>vLevlnm[i].length){
  333. var size = vTestnm[j].length*9 +9;
  334. //var size = vTestnm[j].length*6 ;
  335. }else{
  336. var size = vLevlnm[i].length*9 +9;
  337. //var size = vLevlnm[i].length*6 ;
  338. }
  339. datagrid1.setFormatColProperty(col,"size",size);
  340. datagrid2.setFormatColProperty(col,"size",size);
  341. if(colNum<100){
  342. // var num = "0"+colNum; //-- 이재오 수정 2018. 4. 30 일
  343. var digitx = j;
  344. var num1 = digitx.toString();
  345. var digity = i;
  346. var num2 = digity.toString();
  347. var num = num1 + num2;
  348. trace("lee "+ j);
  349. trace("lee "+ i);
  350. trace("lee "+ num);
  351. }else{
  352. var num = colNum ;
  353. }
  354. datagrid1.setCellProperty("Body",col,"text","bind:column"+num);
  355. datagrid2.setCellProperty("Body",col,"text","bind:column"+num);
  356. colNum++;
  357. col++;
  358. }
  359. }
  360. }
  361. }
  362. //결과조회(검사항목별)
  363. function lf_getRslt(){
  364. if(Div_search.combo1.value == "00"){
  365. sysf_messageBox("장비1을", "C002","");
  366. return;
  367. }
  368. if(Div_search.combo3.value == "00"){
  369. sysf_messageBox("장비2를", "C002","");
  370. return;
  371. }
  372. if(utlf_isNull(Div_search.input1.value)){
  373. sysf_messageBox("검사항목을", "C002","");
  374. lf_testListSch();
  375. return;
  376. }
  377. if(utlf_isNull(Div_search.output11.value)){
  378. sysf_messageBox("레벨을", "C002","");
  379. return;
  380. }
  381. dsf_createDsRow("ds_temp_search"
  382. , [{col: "acptfromdd", val: Div_search.input3.value }
  383. , {col: "acpttodd", val: Div_search.input4.value }
  384. , {col: "testroom", val: Div_search.combo2.value } //검사실
  385. , {col: "eqmtcd1", val: Div_search.combo1.value}
  386. , {col: "eqmtcd2", val: Div_search.combo3.value}
  387. , {col: "testcd", val: ds_get_data.getColumn(0,"testcd")}
  388. , {col: "testcd2", val: ds_get_data.getColumn(0,"testcd2")}
  389. , {col: "testnm", val: ds_get_data.getColumn(0,"testnm")}
  390. , {col: "testnm2", val: ds_get_data.getColumn(0,"testnm2")}
  391. , {col: "levlnm", val: ds_get_data2.getColumn(0,"levlnm")}
  392. , {col: "levlcd", val: ds_get_data2.getColumn(0,"levlcd")}
  393. , {col: "levlcd2", val: ds_get_data2.getColumn(0,"levlcd2")}
  394. , {col: "deptflag", val: ds_init_lb0000.getColumn(0,"nm")}
  395. , {col: "acptflag", val: Div_search.combo4.value}]);
  396. var oParam = {};
  397. oParam.id = "TRLQP0301";
  398. oParam.service = "grademngtprintapp.EqmtInteractionReference";
  399. oParam.method = "reqGetTestRslt";
  400. oParam.inds = "cond=ds_temp_search";
  401. oParam.outds = "ds_grid_datagrid1=eqmtrslt1 ds_grid_datagrid2=eqmtrslt2";
  402. oParam.async = false;
  403. tranf_submit(oParam);
  404. }
  405. function lf_getCalcRslt(colNm){
  406. var cv1 = parseFloat(utlf_transNullToEmpty(ds_grid_datagrid1.getColumn(0,colNm)));
  407. var mean1 = parseFloat(utlf_transNullToEmpty(ds_grid_datagrid1.getColumn(1,colNm)));
  408. var sd1 = parseFloat(utlf_transNullToEmpty(ds_grid_datagrid1.getColumn(2,colNm)));
  409. var cv2 = parseFloat(utlf_transNullToEmpty(ds_grid_datagrid2.getColumn(0,colNm)));
  410. var mean2 = parseFloat(utlf_transNullToEmpty(ds_grid_datagrid2.getColumn(1,colNm)));
  411. var sd2 = parseFloat(utlf_transNullToEmpty(ds_grid_datagrid2.getColumn(2,colNm)));
  412. var meanDiff = Math.round((mean2 - mean1) * Math.pow(10, 10)) / Math.pow(10, 10); //Diff
  413. var meanDiff2 = Math.round((meanDiff / mean2) * Math.pow(10, 10)) / Math.pow(10, 10); //Diff(%)
  414. var sdDiff = Math.round((sd2 - sd1) * Math.pow(10, 10)) / Math.pow(10, 10);
  415. var sdDiff2 = Math.round((sdDiff / sd2) * Math.pow(10, 10)) / Math.pow(10, 10);
  416. var cvDiff = Math.round((cv2 - cv1) * Math.pow(10, 10)) / Math.pow(10, 10);
  417. var cvDiff2 = Math.round((cvDiff / cv2) * Math.pow(10, 10)) / Math.pow(10, 10);
  418. var sdi = Math.round(((mean2-mean1) / sd1) * Math.pow(10, 10)) / Math.pow(10, 10); //(실험실평균-peer 평균)/ peer SD
  419. var cvr = Math.round((cv1 / cv2) * Math.pow(10, 10)) / Math.pow(10, 10); //Peer CV / 실험실 CV
  420. var accuracy = Math.round((mean2 / mean1) * Math.pow(10, 10)) / Math.pow(10, 10);
  421. output7.value = utlf_transNullToEmpty(cvDiff);
  422. output8.value = utlf_transNullToEmpty(cvDiff2);
  423. output1.value = utlf_transNullToEmpty(meanDiff);
  424. output2.value = utlf_transNullToEmpty(meanDiff2);
  425. output3.value = utlf_transNullToEmpty(sdDiff);
  426. output9.value = utlf_transNullToEmpty(sdDiff2);
  427. output4.value = utlf_transNullToEmpty(sdi);
  428. output6.value = utlf_transNullToEmpty(accuracy);
  429. output5.value = utlf_transNullToEmpty(cvr);
  430. }
  431. function SMLQP00300_onload(obj:Form, e:LoadEventInfo)
  432. {
  433. frmf_initForm(obj); // 화면공통
  434. lf_initDataSet();
  435. lf_setInit();
  436. }
  437. // 검사실에대한 장비 조회
  438. function Div_search_combo2_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  439. {
  440. lf_setEqmtCd();
  441. }
  442. // 장비 1 선택시
  443. function Div_search_combo1_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  444. {
  445. if(Div_search.combo1.value != "00" && Div_search.combo3.value != "00"){
  446. if(Div_search.combo1.value == Div_search.combo3.value){
  447. sysf_messageBox("장비1과 장비2가 같습니다!\n장비를 다시 선택하세요!!","E");
  448. return;
  449. }
  450. lf_testListSch(); //장비에대한 검사항목 조회 팝업
  451. }
  452. var eqmt1 = Div_search.combo1.text.substring(6, Div_search.combo1.text.length);
  453. caption1.text = eqmt1+" 상세내역";
  454. }
  455. // 장비 2 선택시
  456. function Div_search_combo3_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  457. {
  458. if(Div_search.combo1.value != "00" && Div_search.combo3.value != "00"){
  459. if(Div_search.combo1.value == Div_search.combo3.value){
  460. sysf_messageBox("장비1과 장비2가 같습니다!\n장비를 다시 선택하세요!!","E");
  461. return;
  462. }
  463. lf_testListSch(); //장비에대한 검사항목 조회 팝업
  464. }
  465. var eqmt2 = Div_search.combo3.text.substring(6, Div_search.combo3.text.length);
  466. caption6.text = eqmt2+" 상세내역";
  467. }
  468. // 장비별 검사항목 팝업
  469. function Div_search_btn_testListSch_onclick(obj:Button, e:ClickEventInfo)
  470. {
  471. lf_testListSch();
  472. }
  473. // 레벨조회 팝업
  474. function Div_search_button4_onclick(obj:Button, e:ClickEventInfo)
  475. {
  476. lf_testLevlSch();
  477. }
  478. // 조회
  479. function Div_search_button3_onclick(obj:Button, e:ClickEventInfo)
  480. {
  481. lf_getRslt();
  482. }
  483. // 초기화
  484. function button5_onclick(obj:Button, e:ClickEventInfo)
  485. {
  486. lf_setInit();
  487. }
  488. // 장비 1 저장
  489. function btn_excel1_onclick(obj:Button, e:ClickEventInfo)
  490. {
  491. var name = utlf_getCurrentDate()+"_"+Div_search.combo1.text.substring(6, Div_search.combo1.text.length)+".xls"
  492. grdf_exportExcel(datagrid1,lf_lisGetTitle(this) + "_" + name , "sheet1", false);
  493. }
  494. // 장비 2 저장
  495. function btn_excel2_onclick(obj:Button, e:ClickEventInfo)
  496. {
  497. var name = utlf_getCurrentDate()+"_"+Div_search.combo3.text.substring(6, Div_search.combo3.text.length)+".xls"
  498. grdf_exportExcel(datagrid2,lf_lisGetTitle(this) + "_" + name , "sheet1", false);
  499. }
  500. // 장비 1 상세내역 클릭
  501. function datagrid1_oncellclick(obj:Grid, e:GridClickEventInfo)
  502. {
  503. var colNm = obj.getCellProperty("Body",e.col,"text");
  504. colNm = colNm.substring(5,colNm.length);
  505. if(!utlf_isNull(ds_grid_datagrid1.getColumn(1,colNm)) && !utlf_isNull(ds_grid_datagrid1.getColumn(2,colNm))){
  506. lf_getCalcRslt(colNm);
  507. }
  508. }
  509. // 장비 2 상세내역 클릭
  510. function datagrid2_oncellclick(obj:Grid, e:GridClickEventInfo)
  511. {
  512. var colNm = obj.getCellProperty("Body",e.col,"text");
  513. colNm = colNm.substring(5,colNm.length);
  514. if(!utlf_isNull(ds_grid_datagrid2.getColumn(1,colNm)) && !utlf_isNull(ds_grid_datagrid2.getColumn(2,colNm))){
  515. lf_getCalcRslt(colNm);
  516. }
  517. }
  518. ]]></Script>
  519. </Form>
  520. </FDL>