SMLQP00100_QC결과조회.xfdl 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMLQP00100" position="absolute 0 0 1257 809" titletext="QC 결과조회" oninit="model1_oninit" onload="SMLQP00100_onload">
  5. <Layouts>
  6. <Layout>
  7. <Tab id="switch1" anchor="left top right" taborder="2" tabindex="0" class="sw_box" position="absolute 0 27 1256 125" onchanged="switch1_onchanged">
  8. <Tabpages>
  9. <Tabpage id="case1" text="검사항목">
  10. <Layouts>
  11. <Layout>
  12. <Div id="grp_sea" anchor="left top right" taborder="11" style="align:center top;" position="absolute 0 0 1256 67" class="div_SA">
  13. <Layouts>
  14. <Layout>
  15. <Static id="caption8" text="접수일자" class="search_name" position="absolute 8 10 82 27" style="align:left middle;"/>
  16. <Static id="caption11" text="검사항목" class="search_name" position="absolute 8 35 101 55" style="align:left middle;"/>
  17. <Edit id="ipt_testCd" taborder="12" class="input_search" position="absolute 82 35 337 55" style="align:left middle;" enable="false"/>
  18. <Button id="btn_testListSch" taborder="13" onlbuttonup="btn_testListSch_onlbuttonup" class="icon_search" position="absolute 338 35 358 55" style="align:left middle;" onclick="switch1_case1_grp_sea_btn_testListSch_onclick"/>
  19. <Static id="caption12" text="검사실" class="search_name" position="absolute 384 10 445 27" style="align:left middle;"/>
  20. <Static id="caption14" text="레벨" class="search_name" position="absolute 384 35 477 55" style="align:left middle;"/>
  21. <Combo id="cbo_exeDept" taborder="14" class="combo_search" position="absolute 445 9 545 29" style="align:left middle;" innerdataset="@ds_init_lb0111" codecolumn="cd" datacolumn="nm" onitemchanged="switch1_case1_grp_sea_cbo_exeDept_onitemchanged"/>
  22. <Combo id="cbo_levlCd" taborder="15" class="combo_search" position="absolute 445 35 700 55" style="align:left middle;" innerdataset="@ds_init_lb0501" codecolumn="cd" datacolumn="nm"/>
  23. <Combo id="cbo_eqmtList" taborder="17" class="combo_search" position="absolute 798 9 1026 29" style="align:left middle;" innerdataset="@ds_init_lb0701" codecolumn="cd" datacolumn="nm" onitemchanged="switch1_case1_grp_sea_cbo_eqmtList_onitemchanged"/>
  24. <Combo id="cbo_acptflag" taborder="18" class="combo_search" position="absolute 798 35 898 55" style="align:left middle;" innerdataset="@ds_init_lb0704" codecolumn="cd" datacolumn="nm"/>
  25. <Static id="caption13" text="장비" class="search_name" position="absolute 724 10 799 27" style="align:left middle;"/>
  26. <Button id="button2" taborder="19" text="조회" class="btn1" position="absolute 1188 10 1244 30" style="align:left middle;" anchor="top right" onclick="switch1_case1_grp_sea_button2_onclick"/>
  27. <Static id="caption15" text="접수구분" class="search_name" position="absolute 724 35 798 55" style="align:left middle;"/>
  28. <Calendar id="ipt_cnclfromdd" taborder="20" dateformat="yyyy-MM-dd" onchanged="group2_ipt_cnclfromdd_onchanged" class="input_s_essential" position="absolute 84 10 184 30" mask="####-##-##"/>
  29. <Static id="caption5" text="~" position="absolute 184 10 200 30" style="align:center;"/>
  30. <Calendar id="ipt_cncltodd" taborder="21" dateformat="yyyy-MM-dd" class="input_s_essential" position="absolute 200 10 300 30" mask="####-##-##"/>
  31. </Layout>
  32. </Layouts>
  33. </Div>
  34. </Layout>
  35. </Layouts>
  36. </Tabpage>
  37. <Tabpage id="case2" text="레벨별">
  38. <Layouts>
  39. <Layout>
  40. <Div id="grp_sea" anchor="left top right" taborder="12" style="align:center top;" position="absolute 0 0 1256 67" class="div_SA">
  41. <Layouts>
  42. <Layout>
  43. <Static id="caption8" text="접수일자" class="search_name" position="absolute 8 10 82 27" style="align:left middle;" anchor="default"/>
  44. <Static id="caption11" text="검사항목" class="search_name" position="absolute 8 35 101 55" style="align:left middle;" anchor="default"/>
  45. <Edit id="ipt_levl" taborder="3" class="input_search" position="absolute 422 35 677 55" style="align:left middle;" anchor="default"/>
  46. <Static id="caption12" text="검사실" class="search_name" position="absolute 361 10 436 27" style="align:left middle;" anchor="default"/>
  47. <Static id="caption14" text="레벨" class="search_name" position="absolute 361 35 454 55" style="align:left middle;" anchor="default"/>
  48. <Combo id="cbo_exeDept" taborder="5" class="combo_search" position="absolute 422 9 522 29" style="align:left middle;" innerdataset="@ds_init_lb0111" codecolumn="cd" datacolumn="nm" onitemchanged="switch1_case2_grp_sea_cbo_exeDept_onitemchanged" anchor="default"/>
  49. <Combo id="cbo_testlist" taborder="6" class="combo_search" position="absolute 82 35 337 55" style="align:left middle;" innerdataset="@ds_init_eqmttestlist" codecolumn="cd" datacolumn="nm" anchor="default"/>
  50. <Button id="btn_levlSch" taborder="7" class="icon_search" visible="true" position="absolute 680 35 700 55" style="align:left middle;" onlbuttonup="switch1_case2_grp_sea_btn_levlSch_onlbuttonup" anchor="default"/>
  51. <Static id="caption15" text="접수구분" class="search_name" position="absolute 724 35 798 55" style="align:left middle;" anchor="default"/>
  52. <Combo id="cbo_eqmtList" taborder="8" class="combo_search" position="absolute 798 9 1042 29" style="align:left middle;" innerdataset="@ds_init_lb0701" codecolumn="cd" datacolumn="nm" onitemchanged="switch1_case2_grp_sea_cbo_eqmtList_onitemchanged" anchor="default"/>
  53. <Combo id="cbo_acptflag" taborder="9" class="combo_search" position="absolute 798 35 898 55" style="align:left middle;" innerdataset="@ds_cond_acptflag" codecolumn="value" datacolumn="label" index="0" value="00" text="- 전체 -" anchor="default"/>
  54. <Static id="caption13" text="장비" class="search_name" position="absolute 724 10 799 27" style="align:left middle;" anchor="default"/>
  55. <Button id="button2" taborder="10" text="조회" class="btn1" position="absolute 1188 10 1244 30" style="align:left middle;" anchor="top right" onlbuttonup="switch1_case2_grp_sea_button2_onlbuttonup" onclick="switch1_case2_grp_sea_button2_onclick"/>
  56. <Calendar id="ipt_cnclfromdd" taborder="11" dateformat="yyyy-MM-dd" onchanged="group2_ipt_cnclfromdd_onchanged" class="input_s_essential" position="absolute 84 10 184 30" mask="####-##-##" anchor="default"/>
  57. <Static id="caption5" text="~" position="absolute 184 10 200 30" style="align:center;" anchor="default"/>
  58. <Calendar id="ipt_cncltodd" taborder="12" dateformat="yyyy-MM-dd" class="input_s_essential" position="absolute 200 10 300 30" mask="####-##-##" anchor="default"/>
  59. </Layout>
  60. </Layouts>
  61. </Div>
  62. </Layout>
  63. </Layouts>
  64. </Tabpage>
  65. </Tabpages>
  66. </Tab>
  67. <Button id="btn_cle01" taborder="3" text="초기화" onclick="btn_cle_onclick" class="btn4" position="absolute 1188 0 1256 20" anchor="top right"/>
  68. <Static id="caption9" text="검체정보상세내역" class="tit_2" position="absolute -1 133 129 153"/>
  69. <Grid id="grd_testDetlInfo" class="datagrid2" taborder="4" binddataset="ds_grid_grd_testDetlInfo" useinputpanel="false" position="absolute 0 153 1255 807" anchor="all">
  70. <Formats>
  71. <Format id="default">
  72. <Columns>
  73. <Column size="30"/>
  74. <Column size="150"/>
  75. </Columns>
  76. <Rows>
  77. <Row size="22" band="head"/>
  78. <Row size="20"/>
  79. </Rows>
  80. <Band id="head">
  81. <Cell/>
  82. <Cell col="1" text="검사정보"/>
  83. </Band>
  84. <Band id="body">
  85. <Cell celltype="head" expr="expr:currow+1"/>
  86. <Cell col="1" style="align:left middle;" text="bind:rsltcnfmdt"/>
  87. </Band>
  88. </Format>
  89. </Formats>
  90. </Grid>
  91. <Button id="button6" taborder="5" text="엑셀" class="btn7" position="absolute 1200 129 1253 149" anchor="top right" onclick="button6_onclick"/>
  92. <Static id="caption6" text="QC접수관리" class="tit_1" position="absolute 0 0 126 25"/>
  93. </Layout>
  94. </Layouts>
  95. <Objects>
  96. <Dataset id="ds_init_lb0111" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  97. <ColumnInfo>
  98. <Column id="cd" type="STRING" size="256"/>
  99. <Column id="nm" type="STRING" size="256"/>
  100. <Column id="etc01" type="STRING" size="256"/>
  101. </ColumnInfo>
  102. </Dataset>
  103. <Dataset id="ds_init_lb0701" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  104. <ColumnInfo>
  105. <Column id="cd" type="STRING" size="256"/>
  106. <Column id="nm" type="STRING" size="256"/>
  107. </ColumnInfo>
  108. </Dataset>
  109. <Dataset id="ds_init_lb0000" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  110. <ColumnInfo>
  111. <Column id="cd" type="STRING" size="256"/>
  112. <Column id="nm" type="STRING" size="256"/>
  113. </ColumnInfo>
  114. </Dataset>
  115. <Dataset id="ds_init_lb0501" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  116. <ColumnInfo>
  117. <Column id="cd" type="STRING" size="256"/>
  118. <Column id="nm" type="STRING" size="256"/>
  119. </ColumnInfo>
  120. </Dataset>
  121. <Dataset id="ds_init_lb0704" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  122. <ColumnInfo>
  123. <Column id="cd" type="STRING" size="256"/>
  124. <Column id="nm" type="STRING" size="256"/>
  125. </ColumnInfo>
  126. </Dataset>
  127. <Dataset id="ds_init_eqmttestlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  128. <ColumnInfo>
  129. <Column id="cd" type="STRING" size="256"/>
  130. <Column id="nm" type="STRING" size="256"/>
  131. </ColumnInfo>
  132. </Dataset>
  133. <Dataset id="ds_cond_acptflag" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  134. <ColumnInfo>
  135. <Column id="label" type="STRING" size="256"/>
  136. <Column id="value" type="STRING" size="256"/>
  137. </ColumnInfo>
  138. <Rows>
  139. <Row>
  140. <Col id="label">- 전체 -</Col>
  141. <Col id="value">00</Col>
  142. </Row>
  143. <Row>
  144. <Col id="label">QC</Col>
  145. <Col id="value">0</Col>
  146. </Row>
  147. <Row>
  148. <Col id="label">Evaluation</Col>
  149. <Col id="value">1</Col>
  150. </Row>
  151. <Row>
  152. <Col id="label">Calibration</Col>
  153. <Col id="value">2</Col>
  154. </Row>
  155. </Rows>
  156. </Dataset>
  157. <Dataset id="ds_grid_grd_testDetlInfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" onrowposchanged="ds_grid_grd_sect_onrowposchanged">
  158. <ColumnInfo>
  159. <Column id="rsltcnfmdt" type="STRING" size="256"/>
  160. <Column id="Column0" type="STRING" size="256"/>
  161. <Column id="Column1" type="STRING" size="256"/>
  162. <Column id="Column2" type="STRING" size="256"/>
  163. <Column id="Column3" type="STRING" size="256"/>
  164. <Column id="Column4" type="STRING" size="256"/>
  165. <Column id="Column5" type="STRING" size="256"/>
  166. <Column id="Column6" type="STRING" size="256"/>
  167. <Column id="Column7" type="STRING" size="256"/>
  168. <Column id="Column8" type="STRING" size="256"/>
  169. <Column id="Column9" type="STRING" size="256"/>
  170. <Column id="Column10" type="STRING" size="256"/>
  171. <Column id="Column11" type="STRING" size="256"/>
  172. <Column id="Column12" type="STRING" size="256"/>
  173. <Column id="Column13" type="STRING" size="256"/>
  174. <Column id="Column14" type="STRING" size="256"/>
  175. <Column id="Column15" type="STRING" size="256"/>
  176. </ColumnInfo>
  177. </Dataset>
  178. <Dataset id="ds_send_data" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  179. <ColumnInfo>
  180. <Column id="sflag" type="STRING" size="256"/>
  181. </ColumnInfo>
  182. </Dataset>
  183. <Dataset id="ds_data_testlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  184. <ColumnInfo>
  185. <Column id="testcd" type="STRING" size="256"/>
  186. <Column id="testcd2" type="STRING" size="256"/>
  187. <Column id="testnm" type="STRING" size="256"/>
  188. <Column id="testnm2" type="STRING" size="256"/>
  189. </ColumnInfo>
  190. </Dataset>
  191. <Dataset id="ds_data_levlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  192. <ColumnInfo>
  193. <Column id="levlcd" type="STRING" size="256"/>
  194. <Column id="levlcd2" type="STRING" size="256"/>
  195. <Column id="levlnm" type="STRING" size="256"/>
  196. </ColumnInfo>
  197. </Dataset>
  198. <Dataset id="ds_data_testDetlInfoCnt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" onrowposchanged="ds_grid_grd_sect_onrowposchanged">
  199. <ColumnInfo>
  200. <Column id="count" type="STRING" size="256"/>
  201. <Column id="cap" type="STRING" size="256"/>
  202. </ColumnInfo>
  203. </Dataset>
  204. <Dataset id="ds_grid_grd_testDetlInfo2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" onrowposchanged="ds_grid_grd_sect_onrowposchanged">
  205. <ColumnInfo>
  206. <Column id="rsltcnfmdt" type="STRING" size="256"/>
  207. <Column id="Column0" type="STRING" size="256"/>
  208. <Column id="Column1" type="STRING" size="256"/>
  209. <Column id="Column2" type="STRING" size="256"/>
  210. <Column id="Column3" type="STRING" size="256"/>
  211. <Column id="Column4" type="STRING" size="256"/>
  212. <Column id="Column5" type="STRING" size="256"/>
  213. <Column id="Column6" type="STRING" size="256"/>
  214. <Column id="Column7" type="STRING" size="256"/>
  215. <Column id="Column8" type="STRING" size="256"/>
  216. <Column id="Column9" type="STRING" size="256"/>
  217. <Column id="Column10" type="STRING" size="256"/>
  218. <Column id="Column11" type="STRING" size="256"/>
  219. <Column id="Column12" type="STRING" size="256"/>
  220. <Column id="Column13" type="STRING" size="256"/>
  221. <Column id="Column14" type="STRING" size="256"/>
  222. <Column id="Column15" type="STRING" size="256"/>
  223. </ColumnInfo>
  224. </Dataset>
  225. <Dataset id="ds_get_data" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  226. <Dataset id="ds_get_data2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  227. <Dataset id="ds_arg_temp_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  228. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  229. <ColumnInfo>
  230. <Column id="acptfromdd" type="STRING" size="256"/>
  231. <Column id="acpttodd" type="STRING" size="256"/>
  232. <Column id="testroom" type="STRING" size="256"/>
  233. <Column id="eqmtcd" type="STRING" size="256"/>
  234. <Column id="testcd" type="STRING" size="256"/>
  235. <Column id="testcd2" type="STRING" size="256"/>
  236. <Column id="levlcd" type="STRING" size="256"/>
  237. <Column id="testnm" type="STRING" size="256"/>
  238. <Column id="levlcd2" type="STRING" size="256"/>
  239. <Column id="levlnm" type="STRING" size="256"/>
  240. <Column id="testnm2" type="STRING" size="256"/>
  241. <Column id="deptflag" type="STRING" size="256"/>
  242. <Column id="acptflag" type="STRING" size="256"/>
  243. </ColumnInfo>
  244. <Rows>
  245. <Row>
  246. <Col id="testroom">00</Col>
  247. <Col id="eqmtcd">00</Col>
  248. <Col id="levlcd">00</Col>
  249. <Col id="acptflag">00</Col>
  250. </Row>
  251. </Rows>
  252. </Dataset>
  253. </Objects>
  254. <Bind>
  255. <BindItem id="item0" compid="switch1.case1.grp_sea.ipt_cnclfromdd" propid="value" datasetid="ds_send" columnid="acptfromdd"/>
  256. <BindItem id="item1" compid="switch1.case1.grp_sea.ipt_cncltodd" propid="value" datasetid="ds_send" columnid="acpttodd"/>
  257. <BindItem id="item2" compid="switch1.case1.grp_sea.ipt_testCd" propid="value" datasetid="ds_send" columnid="testnm"/>
  258. <BindItem id="item3" compid="switch1.case1.grp_sea.cbo_exeDept" propid="value" datasetid="ds_send" columnid="testroom"/>
  259. <BindItem id="item4" compid="switch1.case1.grp_sea.cbo_levlCd" propid="value" datasetid="ds_send" columnid="levlcd"/>
  260. <BindItem id="item5" compid="switch1.case1.grp_sea.cbo_eqmtList" propid="value" datasetid="ds_send" columnid="eqmtcd"/>
  261. <BindItem id="item6" compid="switch1.case1.grp_sea.cbo_acptflag" propid="value" datasetid="ds_send" columnid="acptflag"/>
  262. <BindItem id="item7" compid="switch1.case2.grp_sea.ipt_cnclfromdd" propid="value" datasetid="ds_send" columnid="acptfromdd"/>
  263. <BindItem id="item8" compid="switch1.case2.grp_sea.ipt_cncltodd" propid="value" datasetid="ds_send" columnid="acpttodd"/>
  264. </Bind>
  265. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  266. * System Name :
  267. * Job Name :
  268. * Creator :
  269. * Make Date : 2015-05-01
  270. * Description :
  271. *---------------------------------------------------------------------------------------
  272. * Modify Date Modifier Modify Description
  273. *---------------------------------------------------------------------------------------
  274. * 2015-05-01 Live Converter TF->XP
  275. *
  276. *---------------------------------------------------------------------------------------
  277. ****************************************************************************************/
  278. include "com_commonxp::comm_main.xjs";
  279. include "lis_commonxp::LZZ001.xjs";
  280. include "lis_commonxp::LPZ001.xjs";
  281. include "lis_commonxp::LLZ001.xjs";
  282. var instcd = "";
  283. var seaval = ""; // 검색값
  284. var sText = ""; // Grid Head text
  285. function model1_oninit(obj:Form, e:InitEventInfo)
  286. {
  287. frmf_initForm(obj);
  288. }
  289. function SMLQP00100_onload(obj:Form, e:LoadEventInfo)
  290. {
  291. lf_setInit();
  292. }
  293. function lf_setInit()
  294. {
  295. switch1.tabindex = 0;
  296. lf_buttonvisible("A");
  297. var fromdate = utlf_getCurrentDate();
  298. fromdate = utlf_addDate(fromdate, -30);
  299. ds_send.setColumn(0, "acptfromdd", fromdate);
  300. ds_send.setColumn(0, "acpttodd", utlf_getCurrentDate());
  301. // 초기정보 조회(//0104 대분류 0102 중분류 // 0000= 유저과플래그)
  302. dsf_createDsRow("ds_temp_search", [{col: "codeflag", val: "0000|0111|0701|"}
  303. , {col: "basecdid", val: ""}
  304. , {col: "menuparam", val: ""}]);
  305. var oParam = {};
  306. oParam.id = "TRLZZ00101";
  307. oParam.service = "diagtestapplib.DiagTestBaseInfoMngt";
  308. oParam.method = "reqGetInitCodeInfo";
  309. oParam.inds = "cond=ds_temp_search";
  310. oParam.outds = "ds_init_lb0111=0111 ds_init_lb0701=0701 ds_init_lb0000=0000";
  311. oParam.async = true;
  312. oParam.callback = "cf_TRLZZ00101";
  313. tranf_submit(oParam);
  314. }
  315. function cf_TRLZZ00101(sSvcId, nErrorCode, sErrorMsg) {
  316. if(nErrorCode < 0) return;
  317. //사용자 부서별로 레벨코드를 조회하기 위해 사용자부서 코드를 가져온 다음 다시 레벨코드 조회
  318. var basecdid = ds_init_lb0000.getColumn(0, "nm");
  319. dsf_createDsRow("ds_temp_search"
  320. , [{col: "codeflag", val: "0501|0704|"}
  321. , {col: "basecdid", val: basecdid}
  322. , {col: "menuparam", val: ""}]);
  323. var oParam = {};
  324. oParam.id = "TRLZZ00101";
  325. oParam.service = "diagtestapplib.DiagTestBaseInfoMngt";
  326. oParam.method = "reqGetInitCodeInfo";
  327. oParam.inds = "cond=ds_temp_search";
  328. oParam.outds = "ds_init_lb0501=0501 ds_init_lb0704=0704";
  329. oParam.async = true;
  330. oParam.callback = "cf_TRLZZ00101_1";
  331. tranf_submit(oParam);
  332. }
  333. function cf_TRLZZ00101_1(sSvcId, nErrorCode, sErrorMsg) {
  334. if(nErrorCode < 0) return;
  335. switch1.case1.grp_sea.cbo_exeDept.index = 0;
  336. switch1.case1.grp_sea.cbo_eqmtList.index = 0;
  337. switch1.case1.grp_sea.cbo_levlCd.index = 0;
  338. switch1.case1.grp_sea.cbo_acptflag.index = 0;
  339. switch1.case2.grp_sea.cbo_exeDept.index = 0;
  340. switch1.case2.grp_sea.cbo_eqmtList.index = 0;
  341. switch1.case2.grp_sea.cbo_testlist.index = 0;
  342. switch1.case2.grp_sea.cbo_acptflag.index = 0;
  343. //test
  344. //ds_send.setColumn(0, "acptfromdd", "20170501");
  345. //ds_send.setColumn(0, "acpttodd", "20170510");
  346. //ds_send.setColumn(0, "testroom", "C");
  347. //ds_send.setColumn(0, "eqmtcd", "C05");
  348. //ds_send.setColumn(0, "testnm", "Beta-Lipoprotein");
  349. //ds_send.setColumn(0, "levlcd", "1");
  350. }
  351. function lf_getRslt()
  352. {
  353. if(switch1.case1.grp_sea.cbo_eqmtList.value == "00")
  354. {
  355. sysf_messageBox("장비를", "C002","");
  356. return 0;
  357. }
  358. if(utlf_isNull(switch1.case1.grp_sea.ipt_testCd.value))
  359. {
  360. sysf_messageBox("검사항목을", "C002","");
  361. return 0;
  362. }
  363. if(switch1.case1.grp_sea.cbo_levlCd.value == "00")
  364. {
  365. sysf_messageBox("레벨을", "C002","");
  366. return 0;
  367. }else{
  368. //조회하기전에 검사정보 컬럼 제외 모두 삭제
  369. for(var i = 2; i <grd_testDetlInfo.getFormatColCount(); i++)
  370. {
  371. grd_testDetlInfo.deleteContentsCol(i);
  372. }
  373. var acptfromdd = switch1.case1.grp_sea.ipt_cnclfromdd.value;
  374. var acpttodd = switch1.case1.grp_sea.ipt_cncltodd.value;
  375. var acptflag = switch1.case1.grp_sea.cbo_acptflag.value;
  376. var testroom = switch1.case1.grp_sea.cbo_exeDept.value;
  377. var eqmtcd = switch1.case1.grp_sea.cbo_eqmtList.value;
  378. var testcd = ds_data_testlist.getColumn(0, "testcd"); // 검사코드
  379. var testcd2 = ds_data_testlist.getColumn(0, "testcd2"); // 검사코드
  380. var testnm = switch1.case1.grp_sea.ipt_testCd.value;
  381. var levlcd = switch1.case1.grp_sea.cbo_levlCd.value;
  382. var deptflag = ds_init_lb0000.getColumn(0, "nm");
  383. dsf_createDsRow("ds_temp_search"
  384. , [{col: "acptfromdd", val:acptfromdd }
  385. , {col: "acpttodd", val:acpttodd }
  386. , {col: "acptflag", val:acptflag }
  387. , {col: "testroom", val:testroom }
  388. , {col: "eqmtcd", val:eqmtcd }
  389. , {col: "testcd", val:testcd }
  390. , {col: "testcd2", val:testcd2 }
  391. , {col: "testnm", val:testnm }
  392. , {col: "levlcd", val:levlcd }
  393. , {col: "deptflag", val:deptflag }
  394. ]);
  395. var oParam = {};
  396. oParam.id = "TRLQP00101";
  397. oParam.service = "grademngtprintapp.QCRsltReference";
  398. oParam.method = "reqGetTestRslt";
  399. oParam.inds = "cond=ds_temp_search";
  400. oParam.outds = "ds_grid_grd_testDetlInfo=testrslt ds_data_testDetlInfoCnt=count";
  401. oParam.async = false;
  402. oParam.callback = "cf_TRLQP00101";
  403. tranf_submit(oParam);
  404. }
  405. }
  406. function cf_TRLQP00101(sSvcId, nErrorCode, sErrorMsg)
  407. {
  408. if(nErrorCode < 0) return;
  409. if( ds_grid_grd_testDetlInfo.rowcount > 0 )
  410. {
  411. ds_grid_grd_testDetlInfo2.assign(ds_grid_grd_testDetlInfo);
  412. var valRowCnt = ds_grid_grd_testDetlInfo.rowcount;
  413. for(var i = valRowCnt - 1; i > valRowCnt - 4 ; i--)
  414. {
  415. ds_grid_grd_testDetlInfo.deleteRow(i);
  416. }
  417. for(var i = ds_grid_grd_testDetlInfo2.rowcount - 4 ; i >= 0 ; i--)
  418. {
  419. ds_grid_grd_testDetlInfo2.deleteRow(i);
  420. }
  421. grd_testDetlInfo.deleteContentsRow("summ", 2);
  422. grd_testDetlInfo.deleteContentsRow("summ", 1);
  423. grd_testDetlInfo.deleteContentsRow("summ", 0);
  424. grd_testDetlInfo.appendContentsRow("summ");
  425. grd_testDetlInfo.appendContentsRow("summ");
  426. grd_testDetlInfo.appendContentsRow("summ");
  427. grd_testDetlInfo.setFormatRowProperty(2, "size", 70);
  428. grd_testDetlInfo.setFormatRowProperty(3, "size", 70);
  429. grd_testDetlInfo.setFormatRowProperty(4, "size", 70);
  430. }
  431. for(var i = grd_testDetlInfo.getFormatColCount() - 1; i > 1; i--)
  432. {
  433. grd_testDetlInfo.deleteContentsCol(i);
  434. }
  435. var vCount = toNumber(ds_data_testDetlInfoCnt.getColumn(0, "count")); //컬럼 추가하기 위한 count
  436. var vTestNm = ds_data_testDetlInfoCnt.getColumn(0, "cap").split("^");
  437. var vCap = "검사정보";
  438. var appCol = 0;
  439. for(var i = 0; i < vCount; i++)
  440. {
  441. appCol = grd_testDetlInfo.appendContentsCol();
  442. grd_testDetlInfo.setCellProperty("head", appCol, "text", vTestNm[i]);
  443. grd_testDetlInfo.setCellProperty("Body", appCol, "text", "bind:column"+i);
  444. grd_testDetlInfo.setFormatColProperty(appCol, "size", 160);
  445. }
  446. for(var i = 0; i < 3; i++)
  447. {
  448. grd_testDetlInfo.setCellProperty("Summ", i*(vCount+2), "text", ds_grid_grd_testDetlInfo.rowcount+i+1);
  449. grd_testDetlInfo.setCellProperty("Summ", i*(vCount+2)+1, "text", ds_grid_grd_testDetlInfo2.getColumn(i, "rsltcnfmdt"));
  450. grd_testDetlInfo.setCellProperty("Summ", i*(vCount+2), "background", "#c7ebf5ff");
  451. grd_testDetlInfo.setCellProperty("Summ", i*(vCount+2), "background2", "#c7ebf5ff");
  452. grd_testDetlInfo.setCellProperty("Summ", i*(vCount+2)+1, "background", "#ffffffff");
  453. grd_testDetlInfo.setCellProperty("Summ", i*(vCount+2)+1, "background2", "#f9fafbff");
  454. grd_testDetlInfo.setCellProperty("Summ", i*(vCount+2), "line", "1 solid #c8cfd2ff");
  455. grd_testDetlInfo.setCellProperty("Summ", i*(vCount+2)+1, "line", "1 solid #c8cfd2ff");
  456. for(var j = 0; j < vCount; j++)
  457. {
  458. grd_testDetlInfo.setCellProperty("Summ", i*(vCount+2)+j+2, "text", utlf_isNull(ds_grid_grd_testDetlInfo2.getColumn(i, "column"+j)) == true ? "" : ds_grid_grd_testDetlInfo2.getColumn(i, "column"+j));
  459. grd_testDetlInfo.setCellProperty("Summ", i*(vCount+2)+j+2, "background", "#ffffffff");
  460. grd_testDetlInfo.setCellProperty("Summ", i*(vCount+2)+j+2, "background2", "#f9fafbff");
  461. grd_testDetlInfo.setCellProperty("Summ", i*(vCount+2)+j+2, "line", "1 solid #c8cfd2ff");
  462. }
  463. }
  464. }
  465. function lf_getRslt2() {
  466. if(switch1.case2.grp_sea.cbo_eqmtList.value == "00"){
  467. sysf_messageBox("장비를", "C002","");
  468. return 0;
  469. }
  470. if(switch1.case2.grp_sea.cbo_testlist.value == "00"){
  471. sysf_messageBox("검사항목을", "C002","");
  472. return 0;
  473. }
  474. if(utlf_isNull(switch1.case2.grp_sea.ipt_levl.value)){
  475. sysf_messageBox("레벨을", "C002","");
  476. return 0;
  477. }else{
  478. //조회하기전에 검사정보 컬럼 제외 모두 삭제
  479. for(var i=2; i<grd_testDetlInfo.getFormatColCount(); i++){
  480. grd_testDetlInfo.deleteContentsCol(i);
  481. }
  482. var acptfromdd = switch1.case2.grp_sea.ipt_cnclfromdd.value;
  483. var acpttodd = switch1.case2.grp_sea.ipt_cncltodd.value;
  484. var testroom = switch1.case2.grp_sea.cbo_exeDept.value;
  485. var eqmtcd = switch1.case2.grp_sea.cbo_eqmtList.value;
  486. var testcd = switch1.case2.grp_sea.cbo_testlist.value;
  487. var levlcd = ds_data_levlist.getColumn(0, "levlcd"); // 레벨코드
  488. var levlcd2 = ds_data_levlist.getColumn(0, "levlcd2"); // 레벨코드
  489. var levlnm = switch1.case2.grp_sea.ipt_levl.value;
  490. var deptflag = ds_init_lb0000.getColumn(0, "nm");
  491. var acptflag = switch1.case2.grp_sea.cbo_acptflag.value;
  492. dsf_createDsRow("ds_temp_search"
  493. , [{col: "acptfromdd", val:acptfromdd }
  494. , {col: "acpttodd", val:acpttodd }
  495. , {col: "testroom", val:testroom }
  496. , {col: "eqmtcd", val:eqmtcd }
  497. , {col: "testcd", val:testcd }
  498. , {col: "levlcd", val:levlcd }
  499. , {col: "levlcd2", val:levlcd2 }
  500. , {col: "levlnm", val:levlnm }
  501. , {col: "deptflag", val:deptflag }
  502. , {col: "acptflag", val:acptflag }
  503. ]);
  504. var oParam = {};
  505. oParam.id = "TRLQP00102";
  506. oParam.service = "grademngtprintapp.QCRsltReference";
  507. oParam.method = "reqGetTestRslt2";
  508. oParam.inds = "cond=ds_temp_search";
  509. oParam.outds = "ds_grid_grd_testDetlInfo=testrslt ds_data_testDetlInfoCnt=count";
  510. oParam.async = false;
  511. oParam.callback = "cf_TRLQP00102";
  512. tranf_submit(oParam);
  513. }
  514. }
  515. function cf_TRLQP00102(sSvcId, nErrorCode, sErrorMsg)
  516. {
  517. if(nErrorCode < 0) return;
  518. //1번째 컬럼을 제외하고 다 지운다~~
  519. for(var i=2; i<grd_testDetlInfo.getFormatColCount(); i++) {
  520. grd_testDetlInfo.deleteContentsCol(i);
  521. }
  522. var vCount = toNumber(ds_data_testDetlInfoCnt.getColumn(0, "count")); //컬럼 추가하기 위한 count
  523. var vTestNm = switch1.case2.grp_sea.cbo_testlist.text;
  524. var vCap = "검사정보";
  525. var appCol = 0;
  526. for(var i = 0; i < vCount; i++)
  527. {
  528. appCol = grd_testDetlInfo.appendContentsCol();
  529. grd_testDetlInfo.setCellProperty("head", appCol, "text", vTestNm);
  530. grd_testDetlInfo.setFormatColProperty(appCol, "size", 160);
  531. grd_testDetlInfo.setCellProperty("body", appCol, "text", "bind:column"+i);
  532. }
  533. }
  534. // 장비코드설정
  535. function lf_setEqmtCd() {
  536. //검사실구분 코드(장비코드앞자리)
  537. if(switch1.tabindex == 0) {
  538. var testroom = switch1.case1.grp_sea.cbo_exeDept.value;
  539. switch1.case1.grp_sea.cbo_eqmtList.value = "00";
  540. }else if(switch1.tabindex == 1) {
  541. var testroom = switch1.case2.grp_sea.cbo_exeDept.value;
  542. switch1.case2.grp_sea.cbo_eqmtList.value = "00";
  543. }
  544. dsf_createDsRow("ds_temp_search"
  545. , [{col: "codeflag", val: "0701|"}
  546. , {col: "basecdid", val: testroom}
  547. , {col: "menuparam", val: ""}]);
  548. var oParam = {};
  549. oParam.id = "TRLZZ00101";
  550. oParam.service = "diagtestapplib.DiagTestBaseInfoMngt";
  551. oParam.method = "reqGetInitCodeInfo";
  552. oParam.inds = "cond=ds_temp_search";
  553. oParam.outds = "ds_init_lb0701=0701";
  554. oParam.async = false;
  555. tranf_submit(oParam);
  556. }
  557. //#2 검사항목 설정(레벨별 TAB)
  558. function lf_setTestCd() {
  559. //검사실구분 코드(장비코드앞자리)
  560. var basecdid = switch1.case2.grp_sea.cbo_eqmtList.value;
  561. var deptflag = ds_init_lb0000.getColumn(0, "nm");
  562. dsf_createDsRow("ds_temp_search"
  563. , [{col: "codeflag", val: "0702|"}
  564. , {col: "basecdid", val: basecdid}
  565. , {col: "deptflag", val: deptflag}]);
  566. var oParam = {};
  567. oParam.id = "TRLQP00112";
  568. oParam.service = "grademngtprintapp.QCRsltReference";
  569. oParam.method = "reqGetTestList2";
  570. oParam.inds = "cond=ds_temp_search";
  571. oParam.outds = "ds_init_eqmttestlist=eqmttestlist";
  572. oParam.async = true;
  573. oParam.callback = "cf_TRLQP00112";
  574. tranf_submit(oParam);
  575. }
  576. function cf_TRLQP00112(sSvcId, nErrorCode, sErrorMsg) {
  577. if(nErrorCode < 0) return;
  578. switch1.case2.grp_sea.cbo_testlist.value = "00";
  579. }
  580. // Tab index의 해당 버튼 보이기
  581. function lf_buttonvisible(ref) {
  582. // 검사항목별
  583. if(ref == "A"){
  584. switch1.case1.grp_sea.ipt_testCd.value = "";
  585. switch1.case1.grp_sea.cbo_eqmtList.value = "00";
  586. lf_grdReSet();
  587. }
  588. // 레벨별
  589. else if(ref == "B"){
  590. switch1.case2.grp_sea.cbo_eqmtList.value = "00";
  591. lf_grdReSet();
  592. }
  593. }
  594. //그리드초기화
  595. function lf_grdReSet() {
  596. ds_grid_grd_testDetlInfo.clearData();
  597. //1번째 컬럼을 제외하고 다 지운다~~
  598. for(var i=2; i<grd_testDetlInfo.getFormatColCount(); i++){
  599. grd_testDetlInfo.deleteContentsCol(i);
  600. }
  601. }
  602. //장비별 검사항목 조회 팝업
  603. function lf_testListSch() {
  604. ds_data_testlist.clearData();
  605. var eqmtcd = switch1.case1.grp_sea.cbo_eqmtList.value;
  606. var deptflag = ds_init_lb0000.getColumn(0, "nm");
  607. var sflag = "nu" + "▦" + eqmtcd + "▦" + deptflag;
  608. ds_send_data.clearData();
  609. ds_send_data.addRow();
  610. ds_send_data.setColumn(0, "sflag", sflag);
  611. var objArg = new Object();
  612. objArg.ds_arg_temp_reqdata = ds_send_data;
  613. frmf_modal("SPLQP00100", "SPLQP00100", objArg, "", 0, 100, 150, "", "", "", "", "", "M");
  614. ds_data_testlist.copyData(ds_get_data);
  615. lf_grdSet(ds_data_testlist.getColumn(0,"testnm")); //검사항목에 따른 그리드 셋팅
  616. }
  617. //검사항목별 레벨 조회 팝업
  618. function lf_testLevlSch() {
  619. var eqmtcd = switch1.case2.grp_sea.cbo_eqmtList.value;
  620. var deptflag = ds_init_lb0000.getColumn(0, "nm");
  621. var sflag = "nu" + "▦" + eqmtcd + "▦" + deptflag;
  622. ds_send_data.clearData();
  623. ds_send_data.addRow();
  624. ds_send_data.setColumn(0, "sflag", sflag);
  625. var objArg = new Object();
  626. objArg.ds_arg_temp_reqdata = ds_send_data;
  627. frmf_modal("SPLQP00200", "SPLQP00200", objArg, "", 0, 100, 150, "", "", "", "", "", "M");
  628. ds_data_levlist.copyData(ds_get_data2);
  629. switch1.case2.grp_sea.ipt_levl.value = ds_get_data2.getColumn(0,"levlnm");
  630. }
  631. //검사항목에 따른 그리드 셋팅
  632. function lf_grdSet(testnm)
  633. {
  634. if( !utlf_isNull(testnm))
  635. {
  636. switch1.case1.grp_sea.ipt_testCd.value = ds_data_testlist.getColumn(0, "testnm");
  637. //그리드 컬럼 추가 및 캡션 설정 //컬럼 추가때 사용
  638. var vCap = "검사정보"; //캡션 test로 초기화(고정인 컬럼 캡션)
  639. var vTestnm = ds_data_testlist.getColumn(0, "testnm2");
  640. var vTestnm = vTestnm.split("▦"); //검사항목을 ", "단위로 쪼개서 담고
  641. //1번째 컬럼을 제외하고 다 지운다~~
  642. for(var i=2; i<grd_testDetlInfo.getFormatColCount(); i++)
  643. {
  644. grd_testDetlInfo.deleteContentsCol(i);
  645. }
  646. //검사항목 갯수만큼 컬럼 추가
  647. var appCol = 0;
  648. for(var i = 0; i<vTestnm.length ; i++)
  649. {
  650. // vCap = vCap + "^" + vTestnm[i]; //캡션에 하나씩 넣어주고
  651. appCol = grd_testDetlInfo.appendContentsCol();
  652. grd_testDetlInfo.setFormatColProperty(appCol, "size", 160);
  653. grd_testDetlInfo.setCellProperty("head", appCol, "text", vTestnm[i]);
  654. }
  655. }
  656. }
  657. function button5_onclick(obj:Button, e:ClickEventInfo)
  658. {
  659. this.reload();
  660. }
  661. function switch1_case1_grp_sea_button2_onclick(obj:Button, e:ClickEventInfo)
  662. {
  663. lf_getRslt();
  664. }
  665. function btn_testListSch_onlbuttonup(obj:Button, e:MouseEventInfo)
  666. {
  667. if(switch1.case1.grp_sea.cbo_eqmtList.value == "00") //장비코드가 전체이면
  668. {
  669. sysf_messageBox("장비를", "C002","");
  670. }
  671. else
  672. {
  673. lf_testListSch(); //장비별 검사항목 팝업 호출
  674. }
  675. }
  676. function btn_levlSch_onlbuttonup(obj:Button, e:MouseEventInfo)
  677. {
  678. //modal("SMLLF90400", "", "", "", "", "/root/hidden/ref/tclscdlist/testgrup", "/root/hidden/tclscdlist/testgrup");
  679. }
  680. function switch1_case1_grp_sea_cbo_exeDept_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  681. {
  682. lf_setEqmtCd(); //검사실에 대한 장비 조회
  683. }
  684. function switch1_case1_grp_sea_cbo_eqmtList_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  685. {
  686. lf_testListSch(); //장비에대한 검사항목 조회 팝업뜬다~~~
  687. }
  688. function switch1_case2_grp_sea_btn_levlSch_onlbuttonup(obj:Button, e:MouseEventInfo)
  689. {
  690. lf_testLevlSch(); //레벨조회 팝업
  691. }
  692. function switch1_case2_grp_sea_cbo_exeDept_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  693. {
  694. lf_setEqmtCd(); //검사실에 대한 장비 조회
  695. }
  696. function switch1_case2_grp_sea_cbo_eqmtList_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  697. {
  698. lf_setTestCd();
  699. }
  700. function switch1_case2_grp_sea_button2_onlbuttonup(obj:Button, e:MouseEventInfo)
  701. {
  702. lf_getRslt2();
  703. }
  704. function button6_onlbuttonup(obj:Button, e:MouseEventInfo)
  705. {
  706. grdf_exportExcel(grd_testDetlInfo, lf_lisGetTitle(this), "sheet1", false);
  707. }
  708. function switch1_onchanged(obj:Tab, e:TabIndexChangeEventInfo)
  709. {
  710. if(e.postindex == 0 ) {
  711. lf_buttonvisible("A");
  712. }else {
  713. lf_buttonvisible("B");
  714. }
  715. }
  716. function button6_onclick(obj:Button, e:ClickEventInfo)
  717. {
  718. grdf_exportExcel(grd_testDetlInfo, lf_lisGetTitle(this), "see");
  719. }
  720. ]]></Script>
  721. </Form>
  722. </FDL>