SMLPC03100_검사항목별프로토콜관리.xfdl 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMLPC03100" position="absolute 0 0 668 794" titletext="New Form" oninit="SMLPC03100_oninit" onload="SMLPC03100_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption6" text="검사항목별 프로토콜 관리" class="tit_1" position="absolute 0 0 185 25"/>
  8. <Shape id="line17" linetype="horizontal" class="line_6" position="absolute 1 54 665 60"/>
  9. <Button id="btn_Save" taborder="1" text="저장" class="btn4" position="absolute 531 29 587 51" onclick="btn_Save_onclick"/>
  10. <Button id="btn_Init" taborder="2" text="초기화" class="btn4" position="absolute 590 29 658 51" onclick="btn_Init_onclick"/>
  11. <Shape id="line1" linetype="horizontal" class="line_10" position="absolute 1 119 666 125"/>
  12. <Static id="caption1" text="검사프로토콜목록" class="tit_2" position="absolute 2 103 133 119"/>
  13. <Button id="button2" taborder="3" text="행추가" class="btn2" position="absolute 610 98 663 117" onclick="button2_onclick"/>
  14. <Button id="button1" taborder="4" text="행삭제" class="btn2" position="absolute 554 98 607 117" onclick="button1_onclick"/>
  15. <Grid id="grd_TestProtcList" taborder="5" binddataset="ds_grd_TestProtcList" useinputpanel="false" position="absolute 1 123 666 792" autofittype="col" onenterdown="grd_TestProtcList_onenterdown">
  16. <Formats>
  17. <Format id="default">
  18. <Columns>
  19. <Column size="24"/>
  20. <Column size="80"/>
  21. <Column size="229"/>
  22. <Column size="70"/>
  23. <Column size="70"/>
  24. <Column size="100"/>
  25. <Column size="70"/>
  26. </Columns>
  27. <Rows>
  28. <Row size="24" band="head"/>
  29. <Row size="24"/>
  30. </Rows>
  31. <Band id="head">
  32. <Cell/>
  33. <Cell col="1" text="검사코드"/>
  34. <Cell col="2" text="검사명"/>
  35. <Cell col="3" text="일련번호"/>
  36. <Cell col="4" text="표시순서"/>
  37. <Cell col="5" text="명칭출력구분"/>
  38. <Cell col="6" text="사용구분"/>
  39. </Band>
  40. <Band id="body">
  41. <Cell/>
  42. <Cell col="1" displaytype="text" edittype="text" text="bind:testcd"/>
  43. <Cell col="2" edittype="text" style="align:left middle;" text="bind:testnm"/>
  44. <Cell col="3" displaytype="text" edittype="text" style="align:center middle;" text="bind:seqno"/>
  45. <Cell col="4" displaytype="text" edittype="text" style="align:center middle;" text="bind:dispseq"/>
  46. <Cell col="5" displaytype="combo" edittype="combo" style="align:center middle;" text="bind:prntflagcd" combodataset="ds_prntflagcd" combocodecol="value" combodatacol="label"/>
  47. <Cell col="6" displaytype="combo" edittype="combo" text="bind:delflagcd" combodataset="ds_delflagcd" combocodecol="value" combodatacol="label"/>
  48. </Band>
  49. </Format>
  50. </Formats>
  51. </Grid>
  52. <Div id="group1" taborder="6" position="absolute 0 58 665 93" class="div_SA2">
  53. <Layouts>
  54. <Layout>
  55. <Shape id="line3" linetype="vertical" class="line_4" position="absolute 577 4 583 26" anchor="default"/>
  56. <Static id="caption2" text="조회구분 :" class="search_name" position="absolute 15 9 105 26" anchor="default"/>
  57. <Button id="btn_Ref" taborder="1" text="조회" class="btn1" position="absolute 595 5 651 27" anchor="default" onclick="group1_btn_Ref_onclick"/>
  58. <Edit id="ipt_searchtext" taborder="2" position="absolute 302 7 416 26" anchor="default"/>
  59. <Combo id="cmb_refgbn" taborder="3" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 202 7 298 26" anchor="default">
  60. <Dataset id="innerdataset">
  61. <ColumnInfo>
  62. <Column id="codecolumn"/>
  63. <Column id="datacolumn"/>
  64. </ColumnInfo>
  65. <Rows>
  66. <Row>
  67. <Col id="codecolumn">0</Col>
  68. <Col id="datacolumn">검사명</Col>
  69. </Row>
  70. <Row>
  71. <Col id="codecolumn">1</Col>
  72. <Col id="datacolumn">검사코드</Col>
  73. </Row>
  74. </Rows>
  75. </Dataset>
  76. </Combo>
  77. <Radio id="rdo_refflag" taborder="4" columncount="2" rowcount="0" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 97 7 200 27" anchor="default" onitemchanged="group1_rdo_refflag_onitemchanged">
  78. <Dataset id="innerdataset">
  79. <ColumnInfo>
  80. <Column id="codecolumn"/>
  81. <Column id="datacolumn"/>
  82. </ColumnInfo>
  83. <Rows>
  84. <Row>
  85. <Col id="codecolumn">0</Col>
  86. <Col id="datacolumn">전체</Col>
  87. </Row>
  88. <Row>
  89. <Col id="codecolumn">1</Col>
  90. <Col id="datacolumn">선택</Col>
  91. </Row>
  92. </Rows>
  93. </Dataset>
  94. </Radio>
  95. </Layout>
  96. </Layouts>
  97. </Div>
  98. </Layout>
  99. </Layouts>
  100. <Objects>
  101. <Dataset id="ds_grd_TestProtcList" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  102. <ColumnInfo>
  103. <Column id="testcd" type="STRING"/>
  104. <Column id="testnm" type="STRING"/>
  105. <Column id="seqno" type="STRING"/>
  106. <Column id="dispseq" type="STRING"/>
  107. <Column id="prntflagcd" type="STRING"/>
  108. <Column id="delflagcd" type="STRING"/>
  109. </ColumnInfo>
  110. </Dataset>
  111. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  112. <ColumnInfo>
  113. <Column id="searchtext" type="STRING" size="256"/>
  114. <Column id="refflag" type="STRING" size="256"/>
  115. <Column id="grddata" type="STRING" size="256"/>
  116. <Column id="testcd" type="STRING" size="256"/>
  117. </ColumnInfo>
  118. <Rows>
  119. <Row/>
  120. </Rows>
  121. </Dataset>
  122. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  123. <ColumnInfo>
  124. <Column id="refgbn" type="STRING" size="256"/>
  125. <Column id="searchtext" type="STRING" size="256"/>
  126. <Column id="rbo_refflag" type="STRING" size="256"/>
  127. </ColumnInfo>
  128. <Rows>
  129. <Row>
  130. <Col id="rbo_refflag">0</Col>
  131. <Col id="refgbn">0</Col>
  132. </Row>
  133. </Rows>
  134. </Dataset>
  135. <Dataset id="ds_prntflagcd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  136. <ColumnInfo>
  137. <Column id="label" type="STRING" size="256"/>
  138. <Column id="value" type="STRING" size="256"/>
  139. </ColumnInfo>
  140. <Rows>
  141. <Row>
  142. <Col id="label">검사명</Col>
  143. <Col id="value">0</Col>
  144. </Row>
  145. <Row>
  146. <Col id="label">프로토콜명</Col>
  147. <Col id="value">1</Col>
  148. </Row>
  149. </Rows>
  150. </Dataset>
  151. <Dataset id="ds_delflagcd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  152. <ColumnInfo>
  153. <Column id="label" type="STRING" size="256"/>
  154. <Column id="value" type="STRING" size="256"/>
  155. </ColumnInfo>
  156. <Rows>
  157. <Row>
  158. <Col id="label">사용</Col>
  159. <Col id="value">0</Col>
  160. </Row>
  161. <Row>
  162. <Col id="label">삭제</Col>
  163. <Col id="value">1</Col>
  164. </Row>
  165. </Rows>
  166. </Dataset>
  167. <Dataset id="ds_tclslist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  168. <ColumnInfo>
  169. <Column id="testnm" type="STRING" size="256"/>
  170. </ColumnInfo>
  171. </Dataset>
  172. </Objects>
  173. <Bind>
  174. <BindItem id="item0" compid="group1.rdo_refflag" propid="value" datasetid="ds_hidden" columnid="rbo_refflag"/>
  175. <BindItem id="item1" compid="group1.cmb_refgbn" propid="value" datasetid="ds_hidden" columnid="refgbn"/>
  176. <BindItem id="item2" compid="group1.ipt_searchtext" propid="value" datasetid="ds_hidden" columnid="searchtext"/>
  177. </Bind>
  178. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  179. * System Name :
  180. * Job Name :
  181. * Creator :
  182. * Make Date : 2015-11-13
  183. * Description :
  184. *---------------------------------------------------------------------------------------
  185. * Modify Date Modifier Modify Description
  186. *---------------------------------------------------------------------------------------
  187. * 2015-11-13 Live Converter TF->XP
  188. *
  189. *---------------------------------------------------------------------------------------
  190. ****************************************************************************************/
  191. include "com_commonxp::comm_main.xjs";
  192. function SMLPC03100_oninit(obj:Form, e:InitEventInfo)
  193. {
  194. frmf_initForm(obj);
  195. }
  196. function SMLPC03100_onload(obj:Form, e:LoadEventInfo)
  197. {
  198. grdf_initGrid(grd_TestProtcList);
  199. grdf_setRowTypeIcon(grd_TestProtcList, 0);
  200. fRdoSet();
  201. }
  202. //초기화
  203. function fSetInit()
  204. {
  205. reload();
  206. }
  207. function fRdoSet()
  208. {
  209. if(group1.rdo_refflag.value == 0 ) // 0 : 전체 . 1 : 선택 조회
  210. {
  211. group1.cmb_refgbn.enable = false;
  212. group1.ipt_searchtext.enable = false;
  213. group1.ipt_searchtext.value = "";
  214. button2.enable = true;
  215. fGetTestProtcList();
  216. }
  217. else if(group1.rdo_refflag.value == 1)
  218. {
  219. group1.cmb_refgbn.enable = true;
  220. group1.ipt_searchtext.enable = true;
  221. group1.ipt_searchtext.value = "";
  222. button2.enable = false;
  223. }
  224. }
  225. function fGetTestProtcList()
  226. {
  227. ds_send.setColumn(0, "refflag", ds_hidden.getColumn(0, "refgbn"));
  228. ds_hidden.setColumn(0, "searchtext", group1.ipt_searchtext.text);
  229. ds_send.setColumn(0, "searchtext", ds_hidden.getColumn(0, "searchtext"));
  230. var oParam = {};
  231. oParam.id = "TRLPC01803";
  232. oParam.service = "plgybaseinfomngtapp.HospEnvSet";
  233. oParam.method = "reqGetRetTestProtc";
  234. oParam.inds = "cond=ds_send";
  235. oParam.outds = "ds_grd_TestProtcList=gettestprotclist";
  236. oParam.async = false;
  237. //oParam.callback = "cf_TRLPC01803";
  238. tranf_submit(oParam);
  239. }
  240. function group1_rdo_refflag_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  241. {
  242. fRdoSet();
  243. }
  244. //조회버튼
  245. function group1_btn_Ref_onclick(obj:Button, e:ClickEventInfo)
  246. {
  247. fGetTestProtcList();
  248. }
  249. //초기화 버튼
  250. function btn_Init_onclick(obj:Button, e:ClickEventInfo)
  251. {
  252. fSetInit();
  253. }
  254. //저장버튼
  255. function btn_Save_onclick(obj:Button, e:ClickEventInfo)
  256. {
  257. fExeTestProtcList();
  258. }
  259. //저장
  260. function fExeTestProtcList()
  261. {
  262. //var ecd = model.getValue("/root/hidden/ref/tsectcd/cd");
  263. //var ecd = ds_hidden
  264. //model.setValue("/root/send/grddata", grd_TestProtcList.getUpdateData());
  265. var oParam = {};
  266. oParam.id = "TXLPC01802";
  267. oParam.service = "plgybaseinfomngtapp.HospEnvSet";
  268. oParam.method = "reqExeTestProtcList";
  269. oParam.inds = "cond=ds_grd_TestProtcList:A";
  270. oParam.async = false;
  271. oParam.callback = "cf_TXLPC01802";
  272. tranf_submit(oParam);
  273. group1.rdo_refflag.value = 0;
  274. fGetTestProtcList();
  275. }
  276. function cf_TXLPC01802(sSvcId, nErrorCode, sErrorMsg)
  277. {
  278. if(nErrorCode < 0)
  279. {
  280. alert("저장중 오류가 발생하였습니다. 일련번호를 확인해 보시기 바랍니다");
  281. return;
  282. }
  283. }
  284. function button2_onclick(obj:Button, e:ClickEventInfo)
  285. {
  286. fInsRowAdd(ds_grd_TestProtcList);
  287. }
  288. function fInsRowAdd(pGridId)
  289. {
  290. pGridId.addRow();
  291. }
  292. //행삭제
  293. function button1_onclick(obj:Button, e:ClickEventInfo)
  294. {
  295. fInsRowDel();
  296. }
  297. //행삭제
  298. function fInsRowDel()
  299. {
  300. var arrPostion = new Array();
  301. arrPostion[0] = ds_grd_TestProtcList.rowposition;
  302. grdf_setStatus(grd_TestProtcList, "D", arrPostion);
  303. }
  304. function grd_TestProtcList_onenterdown(obj:Grid, e:GridEditEventInfo)
  305. {
  306. //검사코드 처리 --검사코드 엔터쳤을때 이름이 나온다
  307. if(e.col == obj.getBindCellIndex("body", "testcd"))
  308. {
  309. var eqmttrow = ds_grd_TestProtcList.rowposition;
  310. var stclscdu = ds_grd_TestProtcList.getColumn(eqmttrow, "testcd");
  311. stclsdu = stclscdu.toUpperCase();
  312. ds_grd_TestProtcList.setColumn(eqmttrow, "testcd", stclscdu);
  313. var icnt = 0;
  314. var stclscd = ds_grd_TestProtcList.getColumn(eqmttrow, "testcd");
  315. for(i = 0; i < ds_grd_TestProtcList.rowcount; i++)
  316. {
  317. var ttclscd = ds_grd_TestProtcList.getColumn(i, "testcd");
  318. if(stclscd == ttclscd)
  319. {
  320. icnt ++;
  321. }
  322. }
  323. if(icnt == 2)
  324. {
  325. alert(stclscd + " 는 검사코드 중복입니다. ");
  326. ds_grd_TestProtcList.setColumn(eqmttrow, "testcd", "");
  327. }
  328. // alert(stclscd);
  329. //"+sInDsName1+
  330. var sInDsName = dsf_createDsRow("ds_temp_search"
  331. , [{col: "testcd", val: stclscd}]);
  332. var oParam = {};
  333. oParam.id = "TRLPC00104";
  334. oParam.service = "plgybaseinfomngtapp.HospEnvSet";
  335. oParam.method = "reqGetTestnm";
  336. oParam.inds = "cond=" +sInDsName;
  337. oParam.outds = "ds_tclslist=getTestnm";
  338. oParam.async = false;
  339. // oParam.callback = "cf_TRLPC00104";
  340. tranf_submit(oParam);
  341. if(!utlf_isNull(ds_grd_TestProtcList.getColumn(0,"testcd")))
  342. {
  343. ds_grd_TestProtcList.setColumn(eqmttrow, "testnm", ds_tclslist.getColumn(0,"testnm"));
  344. }
  345. else
  346. {
  347. alert("검사코드를 확인하십시오.");
  348. ds_grd_TestProtcList.setColumn(eqmttrow, "testnm", "");
  349. }
  350. }
  351. if(e.col == obj.getBindCellIndex("body", "seqno") )
  352. {
  353. var eqmttrow = ds_grd_TestProtcList.rowposition;
  354. var stclscdu = ds_grd_TestProtcList.getColumn(eqmttrow, "seqno");
  355. // stclsdu = stclscdu.toUpperCase();
  356. //ds_grd_TestProtcList.setColumn(eqmttrow, "seqno", stclscdu);
  357. var icnt = 0;
  358. var stclscd = ds_grd_TestProtcList.getColumn(eqmttrow, "seqno");
  359. for(i = 0; i < ds_grd_TestProtcList.rowcount; i++)
  360. {
  361. var ttclscd = ds_grd_TestProtcList.getColumn(i, "seqno");
  362. if(stclscd == ttclscd)
  363. {
  364. icnt ++;
  365. }
  366. }
  367. if(icnt == 2)
  368. {
  369. alert(" 일련번호는 중복입니다. ");
  370. ds_grd_TestProtcList.setColumn(eqmttrow, "seqno", "");
  371. }
  372. }
  373. }
  374. ]]></Script>
  375. </Form>
  376. </FDL>