SMLBF00100_성분제제코드관리.xfdl 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMLBF00100" position="absolute 0 0 1201 707" titletext="New Form" oninit="SMLBF00100_oninit" onload="SMLBF00100_onload">
  5. <Layouts>
  6. <Layout>
  7. <Button id="btn_cnfm" taborder="1" text="저장" class="btn4" position="absolute 1072 2 1128 24" onclick="btn_cnfm_onclick" anchor="top right"/>
  8. <Button id="btn_reset" taborder="2" text="초기화" class="btn4" position="absolute 1131 2 1199 24" onclick="btn_reset_onclick" anchor="top right"/>
  9. <Static id="caption6" text="성분제제 코드관리" class="tit_1" position="absolute 0 0 141 26"/>
  10. <Shape id="line1" linetype="horizontal" class="line_1" position="absolute 0 87 1194 93" style="strokepen:3 solid #33bbbbff;" anchor="left top right"/>
  11. <Button id="button1" taborder="3" text="행삭제" class="btn2" position="absolute 1146 65 1199 84" onclick="button1_onclick" anchor="top right"/>
  12. <Button id="button2" taborder="4" text="행추가" onclick="group3_button2_onclick" class="btn2" position="absolute 1090 65 1143 84" anchor="top right"/>
  13. <Grid id="grd_bloodlist" taborder="5" binddataset="ds_grd_bloodlist" useinputpanel="false" position="absolute 0 91 1194 705" anchor="all" cellsizingtype="col" autofittype="col">
  14. <Formats>
  15. <Format id="default">
  16. <Columns>
  17. <Column size="22"/>
  18. <Column size="74"/>
  19. <Column size="80"/>
  20. <Column size="90"/>
  21. <Column size="90"/>
  22. <Column size="160"/>
  23. <Column size="150"/>
  24. <Column size="70"/>
  25. <Column size="70"/>
  26. <Column size="65"/>
  27. <Column size="84"/>
  28. <Column size="84"/>
  29. <Column size="72"/>
  30. <Column size="60"/>
  31. <Column size="0"/>
  32. <Column size="0"/>
  33. <Column size="0"/>
  34. </Columns>
  35. <Rows>
  36. <Row size="26" band="head"/>
  37. <Row size="24"/>
  38. </Rows>
  39. <Band id="head">
  40. <Cell/>
  41. <Cell col="1" text="혈액바코드"/>
  42. <Cell col="2" text="성분제제코드"/>
  43. <Cell col="3" text="시작일자"/>
  44. <Cell col="4" text="종료일자"/>
  45. <Cell col="5" text="성분제제명"/>
  46. <Cell col="6" text="성분제제명(약어)"/>
  47. <Cell col="7" text="기준량"/>
  48. <Cell col="8" text="유효기간"/>
  49. <Cell col="9" text="Coomb's"/>
  50. <Cell col="10" text="특수성분여부"/>
  51. <Cell col="11" text="교차시험&#10;자동완료여부"/>
  52. <Cell col="12" text="표시순서"/>
  53. <Cell col="13" text="예약시간"/>
  54. <Cell col="14" text="이미등록된것인지여부"/>
  55. <Cell col="15" text="수정전시작일자"/>
  56. <Cell col="16" text="수정전종료일자"/>
  57. </Band>
  58. <Band id="body">
  59. <Cell/>
  60. <Cell col="1" displaytype="text" edittype="text" text="bind:blodbarcd"/>
  61. <Cell col="2" displaytype="text" edittype="text" text="bind:blodcomcd"/>
  62. <Cell col="3" displaytype="date" edittype="date" text="bind:blodbarcdfromdd"/>
  63. <Cell col="4" displaytype="date" edittype="date" text="bind:blodbarcdtodd"/>
  64. <Cell col="5" displaytype="text" edittype="text" text="bind:blodcomnm"/>
  65. <Cell col="6" displaytype="text" edittype="text" text="bind:blodcomabbrnm"/>
  66. <Cell col="7" displaytype="text" edittype="text" text="bind:blodbasevol"/>
  67. <Cell col="8" displaytype="text" edittype="text" text="bind:valiterm"/>
  68. <Cell col="9" displaytype="combo" edittype="combo" text="bind:coombsyn" combodataset="ds_coombsyn" combocodecol="value" combodatacol="label"/>
  69. <Cell col="10" displaytype="combo" edittype="combo" text="bind:spclblodcomyn" combodataset="ds_spclblodcomyn" combocodecol="value" combodatacol="label"/>
  70. <Cell col="11" displaytype="combo" edittype="combo" text="bind:crmtautendyn" combodataset="ds_crmtautendyn" combocodecol="value" combodatacol="label"/>
  71. <Cell col="12" displaytype="text" edittype="text" text="bind:dispseq"/>
  72. <Cell col="13" displaytype="text" edittype="text" text="bind:rsrvtm"/>
  73. <Cell col="14" text="bind:reffromdd"/>
  74. <Cell col="15" text="bind:reftodd"/>
  75. <Cell col="16" text="bind:selectyn"/>
  76. </Band>
  77. </Format>
  78. </Formats>
  79. </Grid>
  80. <Static id="caption3" text="성분제제 조회" class="tit_2" position="absolute 0 70 110 87"/>
  81. <Div id="group1" taborder="6" position="absolute 0 26 1199 61" anchor="left top right" class="div_SA">
  82. <Layouts>
  83. <Layout>
  84. <Shape id="line3" linetype="vertical" class="line_4" position="absolute 1105 7 1111 29" anchor="top right"/>
  85. <Static id="caption1" text="조회구분 :" class="search_name" position="absolute 15 9 105 26" anchor="left top"/>
  86. <Button id="btn_Ref" taborder="3" text="조회" class="btn1" position="absolute 1123 7 1179 29" anchor="top right" onclick="group1_btn_Ref_onclick"/>
  87. <Combo id="cmbflag" taborder="4" codecolumn="codecolumn" datacolumn="datacolumn" class="combo_search" position="absolute 108 8 258 27" anchor="left top" onitemchanged="group1_cmbflag_onitemchanged">
  88. <Dataset id="innerdataset">
  89. <ColumnInfo>
  90. <Column id="codecolumn"/>
  91. <Column id="datacolumn"/>
  92. </ColumnInfo>
  93. <Rows>
  94. <Row>
  95. <Col id="codecolumn">1</Col>
  96. <Col id="datacolumn">사용코드</Col>
  97. </Row>
  98. <Row>
  99. <Col id="codecolumn">2</Col>
  100. <Col id="datacolumn">전체코드</Col>
  101. </Row>
  102. </Rows>
  103. </Dataset>
  104. </Combo>
  105. </Layout>
  106. </Layouts>
  107. </Div>
  108. </Layout>
  109. </Layouts>
  110. <Objects>
  111. <Dataset id="ds_grd_bloodlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  112. <ColumnInfo>
  113. <Column id="status" type="STRING" size="256"/>
  114. <Column id="blodbarcd" type="STRING"/>
  115. <Column id="blodcomcd" type="STRING"/>
  116. <Column id="blodbarcdfromdd" type="STRING"/>
  117. <Column id="blodbarcdtodd" type="STRING"/>
  118. <Column id="blodcomnm" type="STRING"/>
  119. <Column id="blodcomabbrnm" type="STRING"/>
  120. <Column id="blodbasevol" type="STRING"/>
  121. <Column id="valiterm" type="STRING"/>
  122. <Column id="coombsyn" type="STRING"/>
  123. <Column id="spclblodcomyn" type="STRING"/>
  124. <Column id="crmtautendyn" type="STRING"/>
  125. <Column id="dispseq" type="STRING"/>
  126. <Column id="rsrvtm" type="STRING"/>
  127. <Column id="reffromdd" type="STRING"/>
  128. <Column id="reftodd" type="STRING"/>
  129. <Column id="selectyn" type="STRING"/>
  130. </ColumnInfo>
  131. </Dataset>
  132. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  133. <ColumnInfo>
  134. <Column id="cmbflag" type="STRING" size="256"/>
  135. <Column id="data1" type="STRING" size="256"/>
  136. </ColumnInfo>
  137. <Rows>
  138. <Row/>
  139. </Rows>
  140. </Dataset>
  141. <Dataset id="ds_main_bloodlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  142. <ColumnInfo>
  143. <Column id="blodbarcd" type="STRING" size="256"/>
  144. <Column id="blodcomcd" type="STRING" size="256"/>
  145. <Column id="blodcomnm" type="STRING" size="256"/>
  146. <Column id="blodcomabbrnm" type="STRING" size="256"/>
  147. <Column id="blodbasevol" type="STRING" size="256"/>
  148. <Column id="valiterm" type="STRING" size="256"/>
  149. <Column id="coombsyn" type="STRING" size="256"/>
  150. <Column id="spclblodcomyn" type="STRING" size="256"/>
  151. <Column id="rsrvtm" type="STRING" size="256"/>
  152. <Column id="dispseq" type="STRING" size="256"/>
  153. <Column id="blodbarcdfromdd" type="STRING" size="256"/>
  154. <Column id="blodbarcdtodd" type="STRING" size="256"/>
  155. <Column id="crmtautendyn" type="STRING" size="256"/>
  156. <Column id="reffromdd" type="STRING" size="256"/>
  157. <Column id="reftodd" type="STRING" size="256"/>
  158. <Column id="status" type="STRING" size="256"/>
  159. </ColumnInfo>
  160. </Dataset>
  161. <Dataset id="ds_hiddhen_ref" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  162. <ColumnInfo>
  163. <Column id="cmbflag" type="STRING" size="256"/>
  164. </ColumnInfo>
  165. <Rows>
  166. <Row>
  167. <Col id="cmbflag">1</Col>
  168. </Row>
  169. </Rows>
  170. </Dataset>
  171. <Dataset id="ds_send_data1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  172. <Dataset id="ds_cmbflag" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  173. <ColumnInfo>
  174. <Column id="label" type="STRING" size="256"/>
  175. <Column id="value" type="STRING" size="256"/>
  176. </ColumnInfo>
  177. <Rows>
  178. <Row>
  179. <Col id="label">사용코드</Col>
  180. <Col id="value">1</Col>
  181. </Row>
  182. <Row>
  183. <Col id="label">전체코드</Col>
  184. <Col id="value">2</Col>
  185. </Row>
  186. </Rows>
  187. </Dataset>
  188. <Dataset id="ds_coombsyn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  189. <ColumnInfo>
  190. <Column id="label" type="STRING" size="256"/>
  191. <Column id="value" type="STRING" size="256"/>
  192. </ColumnInfo>
  193. <Rows>
  194. <Row>
  195. <Col id="label">YES</Col>
  196. <Col id="value">Y</Col>
  197. </Row>
  198. <Row>
  199. <Col id="label">NO</Col>
  200. <Col id="value">N</Col>
  201. </Row>
  202. </Rows>
  203. </Dataset>
  204. <Dataset id="ds_spclblodcomyn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  205. <ColumnInfo>
  206. <Column id="label" type="STRING" size="256"/>
  207. <Column id="value" type="STRING" size="256"/>
  208. </ColumnInfo>
  209. <Rows>
  210. <Row>
  211. <Col id="label">YES</Col>
  212. <Col id="value">Y</Col>
  213. </Row>
  214. <Row>
  215. <Col id="label">NO</Col>
  216. <Col id="value">N</Col>
  217. </Row>
  218. <Row>
  219. <Col id="value">A</Col>
  220. <Col id="label">자가</Col>
  221. </Row>
  222. </Rows>
  223. </Dataset>
  224. <Dataset id="ds_crmtautendyn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  225. <ColumnInfo>
  226. <Column id="label" type="STRING" size="256"/>
  227. <Column id="value" type="STRING" size="256"/>
  228. </ColumnInfo>
  229. <Rows>
  230. <Row>
  231. <Col id="label">YES</Col>
  232. <Col id="value">Y</Col>
  233. </Row>
  234. <Row>
  235. <Col id="label">NO</Col>
  236. <Col id="value">N</Col>
  237. </Row>
  238. </Rows>
  239. </Dataset>
  240. </Objects>
  241. <Bind>
  242. <BindItem id="item0" compid="group1.cmbflag" propid="value" datasetid="ds_hiddhen_ref" columnid="cmbflag"/>
  243. </Bind>
  244. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  245. * System Name :
  246. * Job Name :
  247. * Creator :
  248. * Make Date : 2015-11-09
  249. * Description :
  250. *---------------------------------------------------------------------------------------
  251. * Modify Date Modifier Modify Description
  252. *---------------------------------------------------------------------------------------
  253. * 2015-11-09 Live Converter TF->XP
  254. *
  255. *---------------------------------------------------------------------------------------
  256. ****************************************************************************************/
  257. include "com_commonxp::comm_main.xjs";
  258. function SMLBF00100_oninit(obj:Form, e:InitEventInfo)
  259. {
  260. //폼 초기화 함수
  261. frmf_initForm(obj);
  262. }
  263. function SMLBF00100_onload(obj:Form, e:LoadEventInfo)
  264. {
  265. grdf_setRowTypeIcon(grd_bloodlist, 0);
  266. grdf_initGrid(grd_bloodlist);
  267. }
  268. // 코드별 정보 출력
  269. function fblodbaseinfo()
  270. {
  271. var cmbflag = group1.cmbflag.value;
  272. var sInDsName = dsf_createDsRow("ds_temp_search", [{col: "cmbflag", val: cmbflag}]);
  273. //서브밋호출
  274. var oParam = {};
  275. oParam.id = "TRLBF00101";
  276. oParam.service = "diagtestbaseinfomngtapp.BloodBankBaseInfoMngt";
  277. oParam.method = "reqGetBlodList";
  278. oParam.inds = "cond=" + sInDsName;
  279. oParam.outds = "ds_grd_bloodlist=getBlodList";
  280. oParam.async = false;
  281. // oParam.callback = "cf_TRLBF00101";
  282. tranf_submit(oParam);
  283. }
  284. //행추가
  285. function finsRowAdd()
  286. {
  287. var addRw = ds_grd_bloodlist.addRow();
  288. var arrPostion = new Array();
  289. arrPostion[0] = addRw;
  290. grdf_setStatus(grd_bloodlist, "I", arrPostion);
  291. }
  292. //행삭제
  293. function finsRowDel()
  294. {
  295. var selectyn = ds_grd_bloodlist.getColumn(ds_grd_bloodlist.rowposition, "selectyn");
  296. if(selectyn =="Y")
  297. {
  298. sysf_messageBox("이미 등록된 성분제제는 삭제할 수 없습니다.", "I");
  299. return;
  300. }
  301. var arrPostion = new Array();
  302. arrPostion[0] = ds_grd_bloodlist.rowposition;
  303. grdf_setStatus(grd_bloodlist, "D", arrPostion);
  304. }
  305. // 저장(삽입, 삭제, 수정)
  306. function fExeEqmtSave()
  307. {
  308. var blodbarcd, blodcomcd, blodbasevol, dispseq;
  309. var tmp = grdf_getGridUpdateData(grd_bloodlist, "all");
  310. grdf_setStatusColumn(tmp, "status");
  311. ds_send_data1.copyData(tmp, true);
  312. for(i = 0; i < grd_bloodlist.rowcount ; i++){
  313. if(ds_grd_bloodlist.getRowType(i) == 2)
  314. {
  315. blodbarcd = ds_grd_bloodlist.getColumn(i, "blodbarcd");
  316. blodcomcd = ds_grd_bloodlist.getColumn(i, "blodcomcd");
  317. blodbasevol = ds_grd_bloodlist.getColumn(i, "blodbasevol");
  318. dispseq = ds_grd_bloodlist.getColumn(i, "dispseq");
  319. if(utlf_isNull(blodbarcd)||utlf_isNull(blodcomcd)||utlf_isNull(blodbasevol)||utlf_isNull(dispseq))
  320. {
  321. sysf_messageBox("혈액바코드, 성분제제코드, 기준량, 표시순서는 반드시 입력해야 합니다", "I");
  322. return;
  323. }
  324. }
  325. }
  326. var oParam = {};
  327. oParam.id = "TXLBF00101";
  328. oParam.service = "diagtestbaseinfomngtapp.BloodBankBaseInfoMngt";
  329. oParam.method = "reqExeBlodList";
  330. oParam.inds = "cond=ds_send_data1";
  331. oParam.outds = "ds_grd_bloodlist=getBlodList";
  332. oParam.async = false;
  333. //oParam.callback = "cf_TXLBF00101";
  334. tranf_submit(oParam);
  335. fblodbaseinfo(); //재조회
  336. }
  337. function fCellValueCheck(){
  338. var currow = ds_main_bloodlist.rowposition;
  339. var fromdd = ds_main_bloodlist.getColumn(currow, "blodbarcdfromdd");
  340. var todd = ds_main_bloodlist.getColumn(currow, "blodbarcdtodd");
  341. var reftodd = ds_main_bloodlist.getColumn(currow, "reftodd");
  342. //시작일자,종료일자 체크시
  343. if((grd_bloodlist.currentcol == grd_bloodlist.getBindCellIndex("body", "blodbarcdtodd") ||
  344. grd_bloodlist.currentcol == grd_bloodlist.getBindCellIndex("body", "blodbarcdfromdd") ) )
  345. {
  346. if(utlf_isNull(ufromdd)!= true && utlf_isNull(todd))
  347. {
  348. if(fromdd > todd){
  349. sys_messageBox("종료일자가 시작일자보다 이전 날짜입니다.", "I");
  350. ds_grd_bloodlist.setColumn(currow, reftodd);
  351. return;
  352. }
  353. }
  354. }
  355. }
  356. //조회
  357. function group1_btn_Ref_onclick(obj:Button, e:ClickEventInfo)
  358. {
  359. fblodbaseinfo();
  360. }
  361. //행추가
  362. function group3_button2_onclick(obj:Button, e:ClickEventInfo)
  363. {
  364. finsRowAdd(ds_grd_bloodlist);
  365. }
  366. //행삭제
  367. function button1_onclick(obj:Button, e:ClickEventInfo)
  368. {
  369. finsRowDel();
  370. }
  371. //초기화
  372. function btn_reset_onclick(obj:Button, e:ClickEventInfo)
  373. {
  374. this.reload();
  375. }
  376. //저장
  377. function btn_cnfm_onclick(obj:Button, e:ClickEventInfo)
  378. {
  379. fExeEqmtSave()
  380. }
  381. function group1_cmbflag_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  382. {
  383. }
  384. ]]></Script>
  385. </Form>
  386. </FDL>