SMLMF00500_미생물검체그룹.xfdl 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMLMF00500" position="absolute 0 0 1256 805" titletext="미생물검체그룹" onload="SMLMF00500_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption1" text="검체그룹 정보" class="tit_2" position="absolute 0 77 173 97" anchor="default"/>
  8. <Div id="group1" taborder="0" position="absolute 0 25 1256 67" anchor="left top right" class="div_SA">
  9. <Layouts>
  10. <Layout>
  11. <Static id="caption2" text="조회구분" class="search_name" position="absolute 8 10 98 30" anchor="default"/>
  12. <Static id="caption4" text="검색구분" class="search_name" position="absolute 704 10 794 30" anchor="top right"/>
  13. <Combo id="cmb_RefFlag" taborder="6" class="combo_search" position="absolute 82 10 232 30" anchor="default" innerdataset="@ds_refgbn" codecolumn="value" datacolumn="label" index="0" value="1" text="사용가능자료"/>
  14. <Button id="btn_Ref" taborder="7" text="조회" class="btn1" position="absolute 256 10 312 30" anchor="default" onclick="group1_btn_Ref_onclick"/>
  15. <Button id="btn_search" taborder="8" text="검색" class="btn1" position="absolute 1117 10 1173 30" anchor="top right" onclick="group1_btn_search_onclick"/>
  16. <Combo id="cmb_search" taborder="9" class="combo_search" position="absolute 778 10 928 30" anchor="top right" innerdataset="@ds_searchgbn" codecolumn="value" datacolumn="label" index="0" value="1" text="코드" onitemchanged="group1_cmb_search_onitemchanged"/>
  17. <Edit id="ipt_searchtext" taborder="10" class="input_search" position="absolute 931 10 1041 30" anchor="top right" inputmode="upper" maxlength="2"/>
  18. <Button id="btn_reset" taborder="11" text="초기화" class="btn4" position="absolute 1176 10 1245 30" anchor="top right" onclick="group1_btn_reset_onclick"/>
  19. </Layout>
  20. </Layouts>
  21. </Div>
  22. <Static id="caption3" text="검체그룹에 포함할 검체설정" class="tit_2" position="absolute 704 77 903 97" anchor="top right"/>
  23. <Static id="caption5" text="검체정보" class="tit_2" position="absolute 984 77 1157 97" anchor="top right"/>
  24. <Grid id="grd_spclist" taborder="6" useinputpanel="false" position="absolute 984 97 1256 805" anchor="top right bottom" binddataset="ds_grid_grd_spclist" autofittype="col">
  25. <Formats>
  26. <Format id="default">
  27. <Columns>
  28. <Column size="30"/>
  29. <Column size="35"/>
  30. <Column size="67"/>
  31. <Column size="160"/>
  32. </Columns>
  33. <Rows>
  34. <Row size="22" band="head"/>
  35. <Row size="20"/>
  36. </Rows>
  37. <Band id="head">
  38. <Cell/>
  39. <Cell col="1" text="선택"/>
  40. <Cell col="2" text="코드"/>
  41. <Cell col="3" text="검체명"/>
  42. </Band>
  43. <Band id="body">
  44. <Cell celltype="head" expr="expr:currow+1"/>
  45. <Cell col="1" displaytype="checkbox" edittype="checkbox" text="bind:chk"/>
  46. <Cell col="2" style="align:left middle;" text="bind:spccd"/>
  47. <Cell col="3" style="align:left;" text="bind:spcscrnnm"/>
  48. </Band>
  49. </Format>
  50. </Formats>
  51. </Grid>
  52. <Grid id="grd_spcgruplist" taborder="2" position="absolute 0 97 694 805" onclick="grd_spcgruplist_onclick" anchor="all" binddataset="ds_grid_grd_spcgruplist" oncellclick="grd_spcgruplist_oncellclick" autoenter="select" autofittype="col" onkeydown="grd_spcgruplist_onkeydown">
  53. <Formats>
  54. <Format id="default">
  55. <Columns>
  56. <Column size="25"/>
  57. <Column size="0"/>
  58. <Column size="98"/>
  59. <Column size="98"/>
  60. <Column size="57"/>
  61. <Column size="100"/>
  62. <Column size="100"/>
  63. <Column size="100"/>
  64. <Column size="0"/>
  65. </Columns>
  66. <Rows>
  67. <Row size="24" band="head"/>
  68. <Row size="22"/>
  69. </Rows>
  70. <Band id="head">
  71. <Cell/>
  72. <Cell col="1" text="상태"/>
  73. <Cell col="2" text="사용시작일자"/>
  74. <Cell col="3" text="사용종료일자"/>
  75. <Cell col="4" text="코드"/>
  76. <Cell col="5" text="그룹명"/>
  77. <Cell col="6" text="그룹약어명"/>
  78. <Cell col="7" text="그룹화면명"/>
  79. <Cell col="8" text="그룹출력명"/>
  80. </Band>
  81. <Band id="body">
  82. <Cell celltype="head" expr="expr:currow+1"/>
  83. <Cell col="1" displaytype="image" style="align:center;" expr="expr:getRowType(currow) == 2 ?'theme://images/ico_i.png' : (getRowType(currow) == 4 ? 'theme://images/ico_u.png' : (getRowType(currow) == 8 ? 'theme://images/ico_d.png' : 'theme://images/ico_e.png'))"/>
  84. <Cell col="2" displaytype="date" edittype="date" style="align:left middle;" class="cell_nopadding" text="bind:spcgrupfromdd" calendardisplaynulltype="none"/>
  85. <Cell col="3" displaytype="date" edittype="date" style="align:left middle;" class="cell_nopadding" text="bind:spcgruptodd" calendardisplaynulltype="none"/>
  86. <Cell col="4" displaytype="text" edittype="text" editfilter="upper" style="align:center;" text="bind:spcgrupcd" editlimit="2"/>
  87. <Cell col="5" displaytype="text" edittype="text" style="align:left middle;" text="bind:spcgrupnm" editlimit="20"/>
  88. <Cell col="6" displaytype="text" edittype="text" style="align:left middle;" text="bind:spcgrupabbrnm" editlimit="10"/>
  89. <Cell col="7" displaytype="text" edittype="text" style="align:left middle;" text="bind:spcgrupscrnnm" editlimit="20"/>
  90. <Cell col="8" displaytype="text" edittype="text" style="align:left middle;" text="bind:spcgrupprntnm" editlimit="20"/>
  91. </Band>
  92. </Format>
  93. </Formats>
  94. </Grid>
  95. <Button id="btn_rowadd" taborder="3" text="행추가" class="btn2" position="absolute 638 74 694 94" anchor="top right" onclick="btn_rowadd_onclick"/>
  96. <Button id="btn_rowdel" taborder="4" text="행삭제" class="btn2" position="absolute 893 74 949 94" anchor="top right" onclick="btn_rowdel_onclick"/>
  97. <Button id="btn_spc" taborder="7" class="icon_left" position="absolute 954 402 980 422" onclick="btn_spc_onclick" anchor="top right"/>
  98. <Button id="btn_save" taborder="1" text="저장" class="btn4" position="absolute 1200 0 1256 20" anchor="top right" onclick="btn_save_onclick"/>
  99. <Static id="caption6" text="미생물검체그룹" class="tit_1" position="absolute 0 0 134 25"/>
  100. <Grid id="grd_spcgrupspclist" taborder="5" useinputpanel="false" position="absolute 704 97 949 805" anchor="top right bottom" binddataset="ds_grid_grd_spcgrupspclist" autofittype="col">
  101. <Formats>
  102. <Format id="default">
  103. <Columns>
  104. <Column size="26"/>
  105. <Column size="67"/>
  106. <Column size="160"/>
  107. </Columns>
  108. <Rows>
  109. <Row size="22" band="head"/>
  110. <Row size="20"/>
  111. </Rows>
  112. <Band id="head">
  113. <Cell/>
  114. <Cell col="1" text="코드"/>
  115. <Cell col="2" text="검체명"/>
  116. </Band>
  117. <Band id="body">
  118. <Cell celltype="head" expr="expr:currow+1"/>
  119. <Cell col="1" style="align:left middle;" text="bind:spccd"/>
  120. <Cell col="2" style="align:left;" text="bind:spcscrnnm"/>
  121. <Cell col="3"/>
  122. </Band>
  123. </Format>
  124. </Formats>
  125. </Grid>
  126. </Layout>
  127. </Layouts>
  128. <Objects>
  129. <Dataset id="ds_refgbn" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  130. <ColumnInfo>
  131. <Column id="label" type="STRING" size="256"/>
  132. <Column id="value" type="STRING" size="256"/>
  133. </ColumnInfo>
  134. <Rows>
  135. <Row>
  136. <Col id="label">사용가능자료</Col>
  137. <Col id="value">1</Col>
  138. </Row>
  139. <Row>
  140. <Col id="label">전체자료</Col>
  141. <Col id="value">2</Col>
  142. </Row>
  143. </Rows>
  144. </Dataset>
  145. <Dataset id="ds_searchgbn" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  146. <ColumnInfo>
  147. <Column id="label" type="STRING" size="256"/>
  148. <Column id="value" type="STRING" size="256"/>
  149. </ColumnInfo>
  150. <Rows>
  151. <Row>
  152. <Col id="label">코드</Col>
  153. <Col id="value">1</Col>
  154. </Row>
  155. <Row>
  156. <Col id="label">그룹명</Col>
  157. <Col id="value">2</Col>
  158. </Row>
  159. </Rows>
  160. </Dataset>
  161. <Dataset id="ds_grid_grd_spcgruplist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" onrowposchanged="ds_grid_grd_spcgruplist_onrowposchanged" oncolumnchanged="ds_grid_grd_spcgruplist_oncolumnchanged" onvaluechanged="ds_grid_grd_spcgruplist_onvaluechanged">
  162. <ColumnInfo>
  163. <Column id="spcgrupcd" type="STRING" size="256" sumtext="검체그룹코드"/>
  164. <Column id="spcgrupfromdd" type="STRING" size="256" sumtext="검체그룹사용일자"/>
  165. <Column id="spcgruptodd" type="STRING" size="256" sumtext="검체그룹종료일자"/>
  166. <Column id="spcgrupnm" type="STRING" size="256" sumtext="검체그룹명"/>
  167. <Column id="spcgrupabbrnm" type="STRING" size="256" sumtext="검체그룹약어명"/>
  168. <Column id="spcgrupscrnnm" type="STRING" size="256" sumtext="검체그룹화면명"/>
  169. <Column id="spcgrupprntnm" type="STRING" size="256" sumtext="검체그룹출력명"/>
  170. </ColumnInfo>
  171. </Dataset>
  172. <Dataset id="ds_grid_grd_spcgrupspclist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  173. <ColumnInfo>
  174. <Column id="spccd" type="STRING" size="256"/>
  175. <Column id="spcscrnnm" type="STRING" size="256"/>
  176. </ColumnInfo>
  177. </Dataset>
  178. <Dataset id="ds_grid_grd_spclist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  179. <ColumnInfo>
  180. <Column id="chk" type="STRING" size="256"/>
  181. <Column id="spccd" type="STRING" size="256"/>
  182. <Column id="spcscrnnm" type="STRING" size="256"/>
  183. </ColumnInfo>
  184. </Dataset>
  185. <Dataset id="ds_spccd" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  186. <ColumnInfo>
  187. <Column id="status" type="STRING" size="256"/>
  188. <Column id="spccd" type="STRING" size="256"/>
  189. <Column id="spcgrupcd" type="STRING" size="256"/>
  190. <Column id="spcgrupfromdd" type="STRING" size="256"/>
  191. <Column id="spcgruptodd" type="STRING" size="256"/>
  192. <Column id="spcgrupnm" type="STRING" size="256"/>
  193. <Column id="spcgrupabbrnm" type="STRING" size="256"/>
  194. <Column id="spcgrupscrnnm" type="STRING" size="256"/>
  195. <Column id="spcgrupprntnm" type="STRING" size="256"/>
  196. </ColumnInfo>
  197. </Dataset>
  198. <Dataset id="ds_data2" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  199. <ColumnInfo>
  200. <Column id="spcgrupfromdd" type="STRING" size="256"/>
  201. <Column id="spcgruptodd" type="STRING" size="256"/>
  202. <Column id="spcgrupcd" type="STRING" size="256"/>
  203. <Column id="spcgrupnm" type="STRING" size="256"/>
  204. <Column id="spcgrupabbrnm" type="STRING" size="256"/>
  205. <Column id="spcgrupscrnnm" type="STRING" size="256"/>
  206. <Column id="spcgrupprntnm" type="STRING" size="256"/>
  207. </ColumnInfo>
  208. </Dataset>
  209. </Objects>
  210. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  211. * System Name :
  212. * Job Name :
  213. * Creator :
  214. * Make Date : 2015-11-09
  215. * Description :
  216. *---------------------------------------------------------------------------------------
  217. * Modify Date Modifier Modify Description
  218. *---------------------------------------------------------------------------------------
  219. * 2015-11-09 Live Converter TF->XP
  220. *
  221. *---------------------------------------------------------------------------------------
  222. ****************************************************************************************/
  223. include "com_commonxp::comm_main.xjs";
  224. function SMLMF00500_onload(obj:Form, e:LoadEventInfo)
  225. {
  226. //폼 초기화 함수
  227. frmf_initForm(obj);
  228. grdf_initGrid(grd_spcgruplist);
  229. grdf_initGrid(grd_spcgrupspclist);
  230. grdf_initGrid(grd_spclist);
  231. //lf_getSpcGrup("1");
  232. }
  233. function lf_getSpcGrup(gbn) {
  234. var refgbn = group1.cmb_RefFlag.value;
  235. var searchgbn = group1.cmb_search.value;
  236. var searchnm = group1.ipt_searchtext.value;
  237. var sInDsName = dsf_createDsRow("ds_temp_search"
  238. , [{col: "refgbn", val: refgbn}
  239. , {col: "searchgbn", val: searchgbn}
  240. , {col: "searchnm", val: searchnm}
  241. , {col: "btnflag", val: gbn}
  242. ]);
  243. var oParam = {};
  244. oParam.id = "TRLMF00501";
  245. oParam.service = "diagtestbaseinfomngtapp.MicroTestBaseInfoMngt";
  246. oParam.method = "reqGetSpcGrupList";
  247. oParam.inds = "cond="+sInDsName;
  248. oParam.outds = "ds_grid_grd_spcgruplist=spcgruplist ds_grid_grd_spclist=spclist";
  249. oParam.async = false;
  250. oParam.callback = "cbf_SMLMF00500";
  251. tranf_submit(oParam);
  252. ds_grid_grd_spcgruplist.rowposition = -1;
  253. lf_gridColorChange();
  254. }
  255. function lf_exeSave(){
  256. var bChkValue= frmf_chkMdtGrid(grd_spcgruplist,[2,3,4,5],["사용시작일자","사용종료일자","코드","그룹명"]);
  257. if (bChkValue==false)return;
  258. ds_data2.clearData();
  259. var row = ds_grid_grd_spcgruplist.rowposition;
  260. var addRw = ds_data2.addRow();
  261. if (ds_grid_grd_spcgrupspclist.rowcount == 0){
  262. sysf_messageBox("검사그룹에 포함할 검체를 설정해 주세요.","I","");
  263. return;
  264. }
  265. ds_data2.copyRow(addRw, ds_grid_grd_spcgruplist, row);
  266. if(ds_grid_grd_spcgruplist.getRowType(row)==4) { // update 상태이면
  267. ds_data2.updatecontrol = false;
  268. ds_data2.setRowType(addRw, 2); // inser 상태로 변환
  269. ds_data2.updatecontrol = true;
  270. }
  271. ds_spccd.clearData();
  272. for(var i=0; i<ds_grid_grd_spcgrupspclist.rowcount; i++) {
  273. addRw = ds_spccd.addRow();
  274. ds_spccd.setColumn(addRw, "status", "i");
  275. ds_spccd.setColumn(addRw, "spccd", ds_grid_grd_spcgrupspclist.getColumn(i, "spccd"));
  276. ds_spccd.setColumn(addRw, "spcgrupcd", ds_grid_grd_spcgruplist.getColumn(row, "spcgrupcd"));
  277. }
  278. var oParam = {};
  279. oParam.id = "TXLMF00401";
  280. oParam.service = "diagtestbaseinfomngtapp.MicroTestBaseInfoMngt";
  281. oParam.method = "reqExeSpcGrupKindSpcList";
  282. oParam.inds = "cond1=ds_spccd:U cond2=ds_data2:U";
  283. oParam.async = false;
  284. oParam.callback = "cbf_SMLMF00500";
  285. tranf_submit(oParam);
  286. }
  287. // 조회후에 그리드 변경
  288. function lf_gridColorChange() {
  289. var gbn = group1.cmb_RefFlag.value;
  290. if(gbn=="2"){
  291. grd_spcgruplist.enableredraw = false;
  292. grdf_setRowStyle(grd_spcgruplist, "1", utlf_getCurrentDate(), "spcgruptodd", "small");
  293. grd_spcgruplist.enableredraw = true;
  294. }
  295. }
  296. // 검체그룹 그리드 클릭
  297. function lf_onclick_grd_spcgruplist() {
  298. var row = ds_grid_grd_spcgruplist.rowposition;
  299. var status = ds_grid_grd_spcgruplist.getRowType(row);
  300. // insert 상태일때 미적용
  301. if(status == "2") return;
  302. if(row >= 0) {
  303. var spcgrupcd = ds_grid_grd_spcgruplist.getColumn(row, "spcgrupcd");
  304. var sInDsName = dsf_createDsRow("ds_temp_search"
  305. , [{col: "spcgrupcd", val: spcgrupcd}
  306. ]);
  307. var oParam = {};
  308. oParam.id = "TRLMF00402";
  309. oParam.service = "diagtestbaseinfomngtapp.MicroTestBaseInfoMngt";
  310. oParam.method = "reqGetSpcGrupKindSpcList";
  311. oParam.inds = "cond="+sInDsName;
  312. oParam.outds = "ds_grid_grd_spcgrupspclist=spclist";
  313. oParam.async = false;
  314. oParam.callback = "cbf_SMLMF00500";
  315. tranf_submit(oParam);
  316. }
  317. }
  318. // 행추가
  319. function lf_insRowAdd(pGridId) {
  320. if(ds_grid_grd_spcgruplist.rowcount > 0) {
  321. var sCheckCdde = ds_grid_grd_spcgruplist.getColumn(ds_grid_grd_spcgruplist.rowcount-1,"spcgrupcd");
  322. if(utlf_isNull(sCheckCdde)) {
  323. sysf_messageBox("추가하지 않은 검사그룹코드가 존재합니다.","I","");
  324. grd_spcgruplist.setFocus();
  325. ds_grid_grd_spcgruplist.rowposition= ds_grid_grd_spcgruplist.rowcount-1;
  326. var nCellIdx=grd_spcgruplist.getBindCellIndex("body","spcgrupcd");
  327. grd_spcgruplist.setCellPos(nCellIdx);
  328. grd_spcgruplist.showEditor(true);
  329. return;
  330. }
  331. }
  332. var curRw = ds_grid_grd_spcgruplist.addRow();
  333. ds_grid_grd_spcgruplist.selectRow(curRw);
  334. ds_grid_grd_spcgruplist.setColumn(curRw, "spcgrupfromdd", utlf_getCurrentDate());
  335. ds_grid_grd_spcgruplist.setColumn(curRw, "spcgruptodd", "99991231");
  336. //포커스 주기
  337. grd_spcgruplist.setFocus();
  338. ds_grid_grd_spcgruplist.rowposition = ds_grid_grd_spcgruplist.rowcount-1;
  339. var nCellIdx=grd_spcgruplist.getBindCellIndex("body","spcgrupcd");
  340. grd_spcgruplist.setCellPos(nCellIdx);
  341. grd_spcgruplist.showEditor(true);
  342. }
  343. // 검체설정 << 버튼 클릭
  344. function lf_onclick_btn(){
  345. var spcgrupcd = ds_grid_grd_spcgruplist.getColumn(ds_grid_grd_spcgruplist.rowposition, "spcgrupcd");
  346. for(i=0; i<ds_grid_grd_spclist.rowcount; i++) {
  347. if(ds_grid_grd_spclist.getColumn(i, "chk") == "1") {
  348. var spccd = ds_grid_grd_spclist.getColumn(i, "spccd");
  349. var spcscrnnm = ds_grid_grd_spclist.getColumn(i, "spcscrnnm");
  350. var findrow = ds_grid_grd_spcgrupspclist.findRow("spccd", spccd);
  351. if(findrow < 0){
  352. ds_grid_grd_spcgrupspclist.addRow();
  353. var iRow = ds_grid_grd_spcgrupspclist.rowcount-1;
  354. ds_grid_grd_spcgrupspclist.setColumn(iRow, "spccd", spccd);
  355. ds_grid_grd_spcgrupspclist.setColumn(iRow, "spcscrnnm", spcscrnnm);
  356. var adrow = ds_spccd.addRow();
  357. ds_spccd.setColumn(adrow, "status", "i");
  358. ds_spccd.setColumn(adrow, "spccd", spccd);
  359. ds_spccd.setColumn(adrow, "spcgrupcd", spcgrupcd);
  360. }
  361. }
  362. }
  363. }
  364. // callback 함수
  365. function cbf_SMLMF00500(strSvcID, nErrorCode, strErrorMag){
  366. if(nErrorCode != 0) {
  367. sysf_messageBox("ID: "+ strSvcID + " Error: " + strErrorMag, "E009", "");
  368. }else{
  369. switch(strSvcID){
  370. case "TRLMF00501":
  371. break;
  372. case "TRLMF00502":
  373. break;
  374. case "TXLMF00401":
  375. ds_spccd.clearData();
  376. ds_data2.clearData();
  377. lf_getSpcGrup("1");
  378. break;
  379. default:
  380. break;
  381. }
  382. }
  383. }
  384. //중복체크
  385. function lf_checkSpcGrupCode(sSpcGrupCode){
  386. var sSpcGrupCd ="";
  387. var sToDD ="";
  388. for(var i=0; i < ds_grid_grd_spcgruplist.rowcount; i++){
  389. sSpcGrupCd = ds_grid_grd_spcgruplist.getColumn(i,"spcgrupcd");
  390. sToDD= ds_grid_grd_spcgruplist.getColumn(i,"spcgruptodd");
  391. if(ds_grid_grd_spcgruplist.getRowType(i) != Dataset.ROWTYPE_INSERT){
  392. if(sSpcGrupCode == sSpcGrupCd){
  393. if(utlf_getCurrentDate() > sToDD){
  394. sysf_messageBox("종료된 검체그룹코드가 존재합니다.확인해주세요.","I","");
  395. } else {
  396. sysf_messageBox("검체그룹코드가 존재합니다.확인해주세요.","I","");
  397. }
  398. return false;
  399. }
  400. }
  401. }
  402. return true;
  403. }
  404. function group1_btn_Ref_onclick(obj:Button, e:ClickEventInfo)
  405. {
  406. lf_getSpcGrup("1");
  407. }
  408. function group1_btn_search_onclick(obj:Button, e:ClickEventInfo)
  409. {
  410. lf_getSpcGrup("2");
  411. }
  412. function grd_spcgruplist_oncellclick(obj:Grid, e:GridClickEventInfo)
  413. {
  414. lf_onclick_grd_spcgruplist();
  415. }
  416. function btn_rowadd_onclick(obj:Button, e:ClickEventInfo)
  417. {
  418. lf_insRowAdd(grd_spcgruplist);
  419. }
  420. function btn_rowdel_onclick(obj:Button, e:ClickEventInfo)
  421. {
  422. var row = ds_grid_grd_spcgrupspclist.rowposition;
  423. var addRw = ds_spccd.addRow();
  424. ds_spccd.setColumn(addRw, "status", "d");
  425. ds_spccd.setColumn(addRw, "spccd", ds_grid_grd_spcgrupspclist.getColumn(row, "spccd"));
  426. ds_spccd.setColumn(addRw, "spcgrupcd", ds_grid_grd_spcgruplist.getColumn(ds_grid_grd_spcgruplist.rowposition, "spcgrupcd"));
  427. ds_grid_grd_spcgrupspclist.deleteRow(ds_grid_grd_spcgrupspclist.rowposition);
  428. }
  429. function btn_spc_onclick(obj:Button, e:ClickEventInfo)
  430. {
  431. lf_onclick_btn();
  432. }
  433. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  434. {
  435. lf_exeSave();
  436. }
  437. function group1_btn_reset_onclick(obj:Button, e:ClickEventInfo)
  438. {
  439. group1.cmb_RefFlag.index = 0;
  440. group1.cmb_search.index = 0;
  441. group1.ipt_searchtext.value = "";
  442. ds_grid_grd_spcgruplist.clearData();
  443. ds_grid_grd_spcgrupspclist.clearData();
  444. ds_grid_grd_spclist.clearData();
  445. ds_spccd.clearData();
  446. ds_data2.clearData();
  447. }
  448. // 검체설정 조회
  449. function ds_grid_grd_spcgruplist_onrowposchanged(obj:Dataset, e:DSRowPosChangeEventInfo)
  450. {
  451. ds_grid_grd_spcgrupspclist.clearData();
  452. ds_spccd.clearData();
  453. ds_data2.clearData();
  454. lf_onclick_grd_spcgruplist();
  455. }
  456. function group1_cmb_search_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  457. {
  458. group1.ipt_searchtext.value="";
  459. if (obj.value == "1"){
  460. group1.ipt_searchtext.inputmode= "upper";
  461. group1.ipt_searchtext.maxlength = "2";
  462. } else {
  463. group1.ipt_searchtext.inputmode= "normal";
  464. group1.ipt_searchtext.maxlength = "0";
  465. }
  466. }
  467. function ds_grid_grd_spcgruplist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  468. {
  469. var sFromDD = ds_grid_grd_spcgruplist.getColumn(e.row,"spcgrupfromdd");
  470. var sToDD = ds_grid_grd_spcgruplist.getColumn(e.row,"spcgruptodd");
  471. // 종료일자체크
  472. if((e.columnid == "spcgrupfromdd") || (e.columnid == "spcgruptodd")){
  473. if(sFromDD != "" && sToDD != "") {
  474. if(sFromDD > sToDD){
  475. sysf_messageBox("종료일자가 시작일자보다 이전 날짜입니다. 이전 일자로 되돌아 갑니다.", "I","");
  476. ds_grid_grd_spcgruplist.setColumn(e.row,"spcgruptodd",ds_grid_grd_spcgruplist.getOrgColumn(e.row,"spcgruptodd"));
  477. }
  478. }
  479. }
  480. }
  481. function grd_spcgruplist_onkeydown(obj:Grid, e:KeyEventInfo)
  482. {
  483. if(e.keycode =="13" && obj.currentcol == obj.getBindCellIndex("body","spcgruptodd")){
  484. ds_grid_grd_spcgruplist.rowposition= ds_grid_grd_spcgruplist.rowposition;
  485. obj.setCellPos(obj.getBindCellIndex("body","spcgrupnm"));
  486. obj.setFocus();
  487. }
  488. }
  489. function ds_grid_grd_spcgruplist_onvaluechanged(obj:Dataset, e:DSColChangeEventInfo)
  490. {
  491. if(grd_spcgruplist.getCellPos()!= grd_spcgruplist.getBindCellIndex("body","spcgrupcd")) return;
  492. var nRowNum = obj.rowposition;
  493. if(obj.getRowType(nRowNum) != Dataset.ROWTYPE_INSERT) return;
  494. var sSpcGrupCd =obj.getColumn(nRowNum,"spcgrupcd");
  495. if(utlf_isNull(sSpcGrupCd)) return;
  496. if(lf_checkSpcGrupCode(sSpcGrupCd)==false){
  497. grd_spcgruplist.moveToPrevCell();
  498. obj.setColumn(nRowNum,"spcgrupcd","");
  499. grd_spcgruplist.setFocus();
  500. obj.rowposition= nRowNum;
  501. var nCellIdx=grd_spcgruplist.getBindCellIndex("body","spcgrupcd");
  502. grd_spcgruplist.setCellPos(nCellIdx);
  503. grd_spcgruplist.showEditor(true);
  504. }
  505. }
  506. ]]></Script>
  507. </Form>
  508. </FDL>