SMLQP10100_핵의학QC결과조회.xfdl 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMLQP10100" position="absolute 0 0 1199 786" titletext="QC 결과조회" onload="SMLQP10100_onload" oninit="SMLQP10100_oninit">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption16" text="QC 결과조회" class="tit_1" position="absolute 0 0 184 23"/>
  8. <Shape id="line17" linetype="horizontal" class="line_6" position="absolute 0 40 1194 46" anchor="left top right"/>
  9. <Button id="button5" taborder="1" text="초기화" class="btn4" position="absolute 1127 19 1195 41" anchor="top right"/>
  10. <Grid id="grd_testDetlInfo" class="datagrid2" taborder="2" binddataset="ds_main_testdetlinfo_testdetlinfo" useinputpanel="false" position="absolute 0 161 1193 782" anchor="all" cellsizingtype="col" onheadclick="grd_testDetlInfo_onheadclick">
  11. <Formats>
  12. <Format id="default">
  13. <Columns>
  14. <Column size="23"/>
  15. <Column size="120"/>
  16. </Columns>
  17. <Rows>
  18. <Row size="24" band="head"/>
  19. <Row size="24"/>
  20. </Rows>
  21. <Band id="head">
  22. <Cell/>
  23. <Cell col="1" text="검사정보"/>
  24. </Band>
  25. <Band id="body">
  26. <Cell celltype="head" expr="currow+1"/>
  27. <Cell col="1" style="align:center middle;background:EXPR(rsltcnfmdt==' SD' || rsltcnfmdt==' Mean' || rsltcnfmdt==' CV'? '#BDBDBD':'#FFFFFF');background2:EXPR(rsltcnfmdt==' SD' || rsltcnfmdt==' Mean' || rsltcnfmdt==' CV'? '#BDBDBD':'#FFFFFF');" text="bind:rsltcnfmdt"/>
  28. </Band>
  29. </Format>
  30. </Formats>
  31. </Grid>
  32. <Static id="caption9" text="검체정보상세내역" class="tit_2" position="absolute 0 140 130 161"/>
  33. <Button id="button6" taborder="3" text="엑셀" class="btn7" position="absolute 1142 137 1192 156" anchor="top right" onclick="button6_onclick"/>
  34. <Shape id="line2" class="line_10" position="absolute 0 156 1193 162" anchor="left top right"/>
  35. <Tab id="switch1" anchor="left top right" taborder="4" tabindex="0" class="sw_box" position="absolute 0 45 1195 139">
  36. <Tabpages>
  37. <Tabpage id="case2" text="Standard">
  38. <Layouts>
  39. <Layout>
  40. <Div id="group3" anchor="left top right" taborder="0" class="div_SA" position="absolute 0 0 1193 60">
  41. <Layouts>
  42. <Layout>
  43. <Button id="button3" taborder="1" class="icon_search" visible="false" position="absolute 363 34 379 50" onclick="switch1_case2_group3_button3_onclick"/>
  44. <Button id="button4" taborder="2" class="icon_search" position="absolute 773 33 789 49" onclick="switch1_case2_group3_button4_onclick"/>
  45. <Static id="caption1" text="~" class="search_no_b" position="absolute 195 10 210 30"/>
  46. <Static id="caption2" text="검사항목 :" class="search_name" position="absolute 15 33 108 50"/>
  47. <Static id="caption3" text="검사실 :" class="search_name" position="absolute 435 9 510 26"/>
  48. <Static id="caption4" text="장비 :" class="search_name" position="absolute 850 9 925 26"/>
  49. <Combo id="combo1" taborder="3" innerdataset="@ds_init_lb0111" codecolumn="cd" datacolumn="nm" class="combo_search" position="absolute 515 8 615 27" onitemchanged="switch1_case2_group3_combo1_onitemchanged"/>
  50. <Combo id="combo2" taborder="4" innerdataset="@ds_init_lb0701" codecolumn="cd" datacolumn="nm" class="combo_search" position="absolute 940 8 1040 27" onitemchanged="switch1_case2_group3_combo2_onitemchanged"/>
  51. <Combo id="cbo_testlist" taborder="5" innerdataset="@ds_init_eqmttestlist" codecolumn="cd" datacolumn="nm" class="combo_search" position="absolute 105 32 360 51" onitemchanged="switch1_case2_group3_cbo_testlist_onitemchanged"/>
  52. <Button id="button1" taborder="6" text="조회" class="btn1" position="absolute 1123 20 1179 42" anchor="top right" onclick="switch1_case2_group3_button1_onclick"/>
  53. <Combo id="combo4" taborder="7" innerdataset="@ds_init_lb0704" codecolumn="cd" datacolumn="nm" class="combo_search" position="absolute 940 31 1040 50"/>
  54. <Static id="caption5" text="접수구분 :" class="search_name" position="absolute 850 32 936 49"/>
  55. <Static id="caption6" text="레벨 :" class="search_name" position="absolute 435 33 528 50"/>
  56. <Shape id="line1" linetype="vertical" class="line_4" position="absolute 1105 8 1111 52" anchor="top right"/>
  57. <Edit id="ipt_levl" taborder="8" class="combo_search" position="absolute 515 32 770 51"/>
  58. <Static id="caption7" text="접수일자 :" class="search_name" position="absolute 15 9 105 26"/>
  59. <Calendar id="input2" taborder="9" autoselect="true" autoskip="true" dateformat="yyyy-MM-dd" class="input_search" position="absolute 105 8 190 27"/>
  60. <Calendar id="ipt_acptTodd" taborder="10" autoselect="true" autoskip="true" dateformat="yyyy-MM-dd" class="input_search" position="absolute 210 8 295 27"/>
  61. </Layout>
  62. </Layouts>
  63. </Div>
  64. </Layout>
  65. </Layouts>
  66. </Tabpage>
  67. </Tabpages>
  68. </Tab>
  69. </Layout>
  70. </Layouts>
  71. <Objects>
  72. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  73. <ColumnInfo>
  74. <Column id="acptfromdd" type="STRING" size="256"/>
  75. <Column id="acpttodd" type="STRING" size="256"/>
  76. <Column id="testroom" type="STRING" size="256"/>
  77. <Column id="eqmtcd" type="STRING" size="256"/>
  78. <Column id="testcd" type="STRING" size="256"/>
  79. <Column id="testcd2" type="STRING" size="256"/>
  80. <Column id="levlcd" type="STRING" size="256"/>
  81. <Column id="testnm" type="STRING" size="256"/>
  82. <Column id="levlcd2" type="STRING" size="256"/>
  83. <Column id="levlnm" type="STRING" size="256"/>
  84. <Column id="testnm2" type="STRING" size="256"/>
  85. <Column id="deptflag" type="STRING" size="256"/>
  86. <Column id="acptflag" type="STRING" size="256"/>
  87. </ColumnInfo>
  88. <Rows>
  89. <Row>
  90. <Col id="acptfromdd"/>
  91. <Col id="acpttodd"/>
  92. <Col id="testroom">00</Col>
  93. <Col id="eqmtcd">00</Col>
  94. <Col id="testcd">00</Col>
  95. <Col id="testcd2"/>
  96. <Col id="levlcd">00</Col>
  97. <Col id="testnm"/>
  98. <Col id="levlcd2"/>
  99. <Col id="levlnm"/>
  100. <Col id="testnm2"/>
  101. <Col id="deptflag"/>
  102. <Col id="acptflag">00</Col>
  103. </Row>
  104. </Rows>
  105. </Dataset>
  106. <Dataset id="ds_init_lb0111" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  107. <ColumnInfo>
  108. <Column id="cd" type="STRING" size="256"/>
  109. <Column id="nm" type="STRING" size="256"/>
  110. </ColumnInfo>
  111. </Dataset>
  112. <Dataset id="ds_init_lb0701" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  113. <ColumnInfo>
  114. <Column id="nm" type="STRING" size="256"/>
  115. <Column id="cd" type="STRING" size="256"/>
  116. </ColumnInfo>
  117. </Dataset>
  118. <Dataset id="ds_init_eqmttestlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  119. <ColumnInfo>
  120. <Column id="cd" type="STRING" size="256"/>
  121. <Column id="nm" type="STRING" size="256"/>
  122. </ColumnInfo>
  123. </Dataset>
  124. <Dataset id="ds_init_lb0704" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  125. <ColumnInfo>
  126. <Column id="cd" type="STRING" size="256"/>
  127. <Column id="nm" type="STRING" size="256"/>
  128. </ColumnInfo>
  129. </Dataset>
  130. <Dataset id="ds_main_testdetlinfo_testdetlinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  131. <Dataset id="ds_init_lb0000" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  132. <Dataset id="ds_get_data2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  133. <Dataset id="ds_hidden_testdetlinfo_count" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  134. </Objects>
  135. <Bind>
  136. <BindItem id="item0" compid="switch1.case2.group3.input2" propid="value" datasetid="ds_send" columnid="acptfromdd"/>
  137. <BindItem id="item1" compid="switch1.case2.group3.ipt_acptTodd" propid="value" datasetid="ds_send" columnid="acpttodd"/>
  138. <BindItem id="item2" compid="switch1.case2.group3.combo1" propid="value" datasetid="ds_send" columnid="testroom"/>
  139. <BindItem id="item3" compid="switch1.case2.group3.combo2" propid="value" datasetid="ds_send" columnid="eqmtcd"/>
  140. <BindItem id="item4" compid="switch1.case2.group3.cbo_testlist" propid="value" datasetid="ds_send" columnid="testcd"/>
  141. <BindItem id="item5" compid="switch1.case2.group3.ipt_levl" propid="value" datasetid="ds_send" columnid="levlnm"/>
  142. <BindItem id="item6" compid="switch1.case2.group3.combo4" propid="value" datasetid="ds_send" columnid="acptflag"/>
  143. </Bind>
  144. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  145. * System Name :
  146. * Job Name :
  147. * Creator :
  148. * Make Date : 2015-05-01
  149. * Description :
  150. *---------------------------------------------------------------------------------------
  151. * Modify Date Modifier Modify Description
  152. *---------------------------------------------------------------------------------------
  153. * 2015-05-01 Live Converter TF->XP
  154. *
  155. *---------------------------------------------------------------------------------------
  156. ****************************************************************************************/
  157. include "com_commonxp::comm_main.xjs";
  158. include "lis_commonxp::LZZ001.xjs";
  159. include "lis_commonxp::LLZ001.xjs";
  160. include "com_commodulexp::SSZFM00901.xjs";
  161. function SMLQP10100_oninit(obj:Form, e:InitEventInfo)
  162. {
  163. frmf_initForm(obj);
  164. }
  165. function SMLQP10100_onload(obj:Form, e:LoadEventInfo)
  166. {
  167. grdf_initGrid(grd_testDetlInfo);
  168. fSetInit();
  169. }
  170. function fSetInit()
  171. {
  172. fbuttonvisible("B");
  173. var fromdate = utlf_getCurrentDate().toDate("YYYYMMDD").getAddDate(-30)
  174. ds_send.setColumn(0, "acptfromdd", fromdate.getDateFormat("YYYYMMDD"));
  175. ds_send.setColumn(0, "acpttodd", utlf_getCurrentDate());
  176. lf_getDbDeptcd("0000|0111|0701|0501|", "")
  177. dsf_makeValue(ds_send, "basecdid", "string", ds_init_lb0000.getColumn(0, "nm"), 0);
  178. dsf_makeValue(ds_send, "codeflag", "string", "0704|", 0);
  179. var oParam = {};
  180. oParam.id = "TRLZZ00101";
  181. oParam.service = "diagtestapplib.DiagTestBaseInfoMngt";
  182. oParam.method = "reqGetInitCodeInfo";
  183. oParam.inds = "cond=ds_send";
  184. oParam.outds = "ds_init_lb0704=0704";
  185. oParam.async = false;
  186. //oParam.callback = "cf_TRLZZ00101";
  187. tranf_submit(oParam);
  188. }
  189. function fbuttonvisible(ref)
  190. {
  191. ds_send.setColumn(0, "eqmtcd", "00");
  192. fGrdReSet();
  193. }
  194. function fGrdReSet()
  195. {
  196. ds_main_testdetlinfo_testdetlinfo.clearData();
  197. }
  198. function switch1_case2_group3_combo1_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  199. {
  200. obj.updateToDataset();
  201. fSetEqmtCd();
  202. }
  203. function fSetEqmtCd()
  204. {
  205. ds_init_lb0701.clearData();
  206. var testroom = ds_send.getColumn(0, "testroom");
  207. dsf_makeValue(ds_send, "basecdid", "string", testroom, 0);
  208. dsf_makeValue(ds_send, "codeflag", "string", "0701|", 0);
  209. ds_send.setColumn(0, "eqmtcd", "00");
  210. var oParam = {};
  211. oParam.id = "TRLZZ00101";
  212. oParam.service = "diagtestapplib.DiagTestBaseInfoMngt";
  213. oParam.method = "reqGetInitCodeInfo";
  214. oParam.inds = "cond=ds_send";
  215. oParam.outds = "ds_init_lb0701=0701";
  216. oParam.async = false;
  217. //oParam.callback = "cf_TRLZZ00101";
  218. tranf_submit(oParam);
  219. }
  220. function switch1_case2_group3_combo2_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  221. {
  222. fSetTestCd();
  223. }
  224. function fSetTestCd()
  225. {
  226. ds_init_eqmttestlist.clearData();
  227. dsf_makeValue(ds_send, "basecdid", "string", ds_send.getColumn(0, "eqmtcd"), 0);
  228. dsf_makeValue(ds_send, "codeflag", "string", "0702|", 0);
  229. var oParam = {};
  230. oParam.id = "TRLQP00112";
  231. oParam.service = "grademngtprintapp.QCRsltReference";
  232. oParam.method = "reqGetTestList2";
  233. oParam.inds = "cond=ds_send";
  234. oParam.outds = "ds_init_eqmttestlist=eqmttestlist";
  235. oParam.async = false;
  236. //oParam.callback = "cf_TRLQP00112";
  237. tranf_submit(oParam);
  238. ds_send.setColumn(0, "testcd", "00");
  239. }
  240. function fTestLevlSch()
  241. {
  242. var eqmtcd = ds_send.getColumn(0, "eqmtcd");
  243. var deptflag = ds_init_lb0000.getColumn(0, "nm");
  244. var testcd = ds_send.getColumn(0, "testcd");
  245. var sflag = "nu" + "▦" + eqmtcd + "▦" + deptflag + "▦" + testcd;
  246. dsf_createDsRow("ds_send_data", [{col:"sflag", type:"STRING", size:256 , val : sflag}]);
  247. var objArg = new Object();
  248. objArg.ds_arg_temp_reqdata = ds_send_data;
  249. frmf_modal("SPLQP00200", "SPLQP00200", objArg, "", "", "", "", "", "", "", "", "", "M");
  250. ds_send.setColumn(0, "levlnm", ds_get_data2.getColumn(0, "levlnm"));
  251. ds_send.setColumn(0, "levlcd", ds_get_data2.getColumn(0, "levlcd"));
  252. ds_send.setColumn(0, "levlcd2", ds_get_data2.getColumn(0, "levlcd2"));
  253. }
  254. function switch1_case2_group3_button4_onclick(obj:Button, e:ClickEventInfo)
  255. {
  256. fTestLevlSch();
  257. }
  258. function switch1_case2_group3_button1_onclick(obj:Button, e:ClickEventInfo)
  259. {
  260. fGetRslt2();
  261. }
  262. function fGetRslt2()
  263. {
  264. if(ds_send.getColumn(0, "eqmtcd") == "00")
  265. {
  266. sysf_messageBox("장비를", "C002","");
  267. return 0;
  268. }
  269. if(ds_send.getColumn(0, "testcd") == "00")
  270. {
  271. sysf_messageBox("검사항목을", "C002","");
  272. return 0;
  273. }
  274. if(ds_send.getColumn(0, "levlcd") == "00")
  275. {
  276. sysf_messageBox("Standard를", "C002","");
  277. return 0;
  278. }
  279. else
  280. {
  281. ds_main_testdetlinfo_testdetlinfo.clearData();
  282. // trace("lee1 " + grd_testDetlInfo.getCellCount("Head"));
  283. grd_testDetlInfo.splitContentsCell("head", 0, 2, 0, grd_testDetlInfo.getCellCount("Head") + 1, true);
  284. for(var i = grd_testDetlInfo.getCellCount("Head"); i > 1; i--)
  285. {
  286. grd_testDetlInfo.deleteContentsCol(i);
  287. }
  288. trace("lee2 " + grd_testDetlInfo.getCellCount("Head"));
  289. ds_send.setColumn(0, "deptflag", ds_init_lb0000.getColumn(0, "nm"));
  290. var oParam = {};
  291. oParam.id = "TRLQP00102";
  292. oParam.service = "grademngtprintapp.QCRsltReference";
  293. oParam.method = "reqGetTestRslt2";
  294. oParam.inds = "cond=ds_send";
  295. oParam.outds = "ds_main_testdetlinfo_testdetlinfo=testrslt ds_hidden_testdetlinfo_count=count";
  296. oParam.async = false;
  297. //oParam.callback = "cf_TRLQP00102";
  298. tranf_submit(oParam);
  299. //var vCount = ds_main_testdetlinfo_testdetlinfo.getColCount();
  300. var vCount = ds_hidden_testdetlinfo_count.getColumn(0,"count");
  301. // trace ("lee3 "+ vCount);
  302. var vTestNm = switch1.case2.group3.cbo_testlist.text.split("^");;
  303. var vCap = "검사정보";
  304. var appCol = 0;
  305. for(var i = 0; i < vCount; i++)
  306. {
  307. appCol = grd_testDetlInfo.appendContentsCol();
  308. grd_testDetlInfo.setCellProperty("head", appCol, "text", vTestNm[0]);
  309. grd_testDetlInfo.setCellProperty("Body", appCol, "text", "bind:column"+i);
  310. grd_testDetlInfo.setFormatColProperty(appCol, "size", 100);
  311. grd_testDetlInfo.setCellProperty("Body", appCol, "align", "center middle");
  312. grd_testDetlInfo.setCellProperty("Body", appCol, "wordwrap", "ward");
  313. grd_testDetlInfo.setCellProperty("Body", appCol, "padding", "1 1 1 1");
  314. // grd_testDetlInfo.setCellProperty("Body", vCount, "align", "center middle");
  315. // grd_testDetlInfo.setCellProperty("Body", vCount, "wordwrap", "ward");
  316. // grd_testDetlInfo.setCellProperty("Body", vCount, "padding", "1 1 1 1");
  317. grd_testDetlInfo.setCellProperty("Body", appCol, "background","EXPR(rsltcnfmdt==' SD' || rsltcnfmdt==' Mean' || rsltcnfmdt==' CV'? '#BDBDBD':'#FFFFFF')" );
  318. grd_testDetlInfo.setCellProperty("Body", appCol, "background2","EXPR(rsltcnfmdt==' SD' || rsltcnfmdt==' Mean' || rsltcnfmdt==' CV'? '#BDBDBD':'#FFFFFF')" );
  319. }
  320. grd_testDetlInfo.mergeContentsCell("head", 0, 2, 0, vCount + 1, 2, false);
  321. // if(!utlf_isNull(ds_main_testdetlinfo_testdetlinfo.getColumn(0, 1)))
  322. // {
  323. // for(var i = 1; i < vCount; i++)
  324. // {
  325. // grd_testDetlInfo.insertContentsCol(vCount);
  326. // grd_testDetlInfo.setCellProperty("Head", vCount, "text", vTestNm[i]);
  327. // ds_main_testdetlinfo_testdetlinfo.updateColID(1, vTestNm[i]);
  328. // grd_testDetlInfo.setCellProperty("Body", vCount, "text", "bind:"+vTestNm[i]);
  329. // grd_testDetlInfo.setCellProperty("Body", vCount, "align", "left middle");
  330. // grd_testDetlInfo.setCellProperty("Body", vCount, "wordwrap", "ward");
  331. // grd_testDetlInfo.setCellProperty("Body", vCount, "padding", "1 1 1 1");
  332. // }
  333. // }
  334. }
  335. }
  336. function button6_onclick(obj:Button, e:ClickEventInfo)
  337. {
  338. grdf_exportExcel(grd_testDetlInfo, "", "", false, "", "", false);
  339. }
  340. function switch1_case2_group3_cbo_testlist_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  341. {
  342. switch1.case2.group3.button4.click();
  343. }
  344. function grd_testDetlInfo_onheadclick(obj:Grid, e:GridClickEventInfo)
  345. {
  346. if (e.col != e.oldcol) grdf_clearSort(obj);
  347. grdf_gridSort(grd_testDetlinfo,e);
  348. }
  349. ]]></Script>
  350. </Form>
  351. </FDL>