SPLNP90800_골수이식환자관리.xfdl 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPLNP90800" position="absolute 0 0 1180 781" titletext="Manual작업대장" oninit="SPLNP90800_oninit" onload="SPLNP90800_onload">
  5. <Layouts>
  6. <Layout>
  7. <Button id="btn_save" taborder="1" text="저 장" class="btn4" position="absolute 973 28 1041 50" onclick="btn_save_onclick" anchor="top right"/>
  8. <Button id="btn_init" taborder="2" text="초기화" class="btn4" position="absolute 1109 28 1177 50" onclick="btn_init_onclick" anchor="top right"/>
  9. <Button id="button3" taborder="3" text="삭 제" class="btn4" position="absolute 1042 28 1110 50" onclick="button3_onclick" anchor="top right"/>
  10. <Static id="caption6" text="골수이식환자관리" class="tit_1" position="absolute 0 0 136 25" anchor="left top"/>
  11. <Div id="group2" taborder="4" position="absolute 0 56 1180 96" anchor="left top right" class="div_SA2">
  12. <Layouts>
  13. <Layout>
  14. <Static id="caption3" text="등록번호 :" class="search_name" position="absolute 930 10 1016 27" anchor="top right"/>
  15. <Edit id="ipt_search" taborder="1" class="input_button" position="absolute 1030 10 1161 29" onkeyup="group2_ipt_search_onkeyup" anchor="top right" oneditclick="group2_ipt_search_oneditclick"/>
  16. </Layout>
  17. </Layouts>
  18. </Div>
  19. <Button id="btn_excel" taborder="5" text="엑셀" class="btn7" visible="false" position="absolute 1013 99 1066 118" anchor="top right"/>
  20. <Grid id="grd_bonetrlist" taborder="6" binddataset="ds_grd_bonetrlist" useinputpanel="false" position="absolute 0 125 1180 780" oncloseup="grd_bonetrlist_oncloseup" anchor="all">
  21. <Formats>
  22. <Format id="default">
  23. <Columns>
  24. <Column size="23"/>
  25. <Column size="22"/>
  26. <Column size="60"/>
  27. <Column size="80"/>
  28. <Column size="70"/>
  29. <Column size="90"/>
  30. <Column size="80"/>
  31. <Column size="72"/>
  32. <Column size="100"/>
  33. <Column size="100"/>
  34. <Column size="100"/>
  35. <Column size="100"/>
  36. <Column size="100"/>
  37. <Column size="80"/>
  38. <Column size="100"/>
  39. </Columns>
  40. <Rows>
  41. <Row size="24" band="head"/>
  42. <Row size="24"/>
  43. </Rows>
  44. <Band id="head">
  45. <Cell/>
  46. <Cell col="1"/>
  47. <Cell col="2" text="번호"/>
  48. <Cell col="3" text="차트번호"/>
  49. <Cell col="4" text="이름"/>
  50. <Cell col="5" text="보관함"/>
  51. <Cell col="6" text="공여자ID"/>
  52. <Cell col="7" text="공여자명"/>
  53. <Cell col="8" text="이식일"/>
  54. <Cell col="9" text="Informative결과"/>
  55. <Cell col="10" text="◀ 결과입력시간"/>
  56. <Cell col="11" text="Chimerism결과"/>
  57. <Cell col="12" text="◀ 결과입력시간"/>
  58. <Cell col="13" text="결과번호"/>
  59. <Cell col="14" text="결과입력시간"/>
  60. </Band>
  61. <Band id="body">
  62. <Cell displaytype="checkbox" edittype="checkbox" text="bind:chk"/>
  63. <Cell col="1" displaytype="checkbox" edittype="checkbox" text="bind:chk"/>
  64. <Cell col="2" displaytype="normal" edittype="none" text="bind:bmtrnsseqno"/>
  65. <Cell col="3" displaytype="text" edittype="text" style="align:center;" text="bind:pid"/>
  66. <Cell col="4" displaytype="text" edittype="text" style="align:center;" text="bind:patnm"/>
  67. <Cell col="5" displaytype="text" edittype="text" style="align:center;" text="bind:keeppos"/>
  68. <Cell col="6" displaytype="text" edittype="text" style="align:center;" text="bind:dnorpid"/>
  69. <Cell col="7" displaytype="text" edittype="text" style="align:center;" text="bind:dnornm"/>
  70. <Cell col="8" displaytype="text" edittype="date" style="align:center middle;" text="bind:trnsdt" mask="expr:utlf_isNull(trnsdt) || trnsdt == '-' ? '' : '####-##-##'"/>
  71. <Cell col="9" displaytype="combo" edittype="combo" text="bind:prerslt" combodataset="ds_init_prerslt" combocodecol="value" combodatacol="label"/>
  72. <Cell col="10" displaytype="text" edittype="date" text="bind:prersltdt" mask="expr:utlf_isNull(prersltdt) || prersltdt == '-' ? '': '####-##-##'"/>
  73. <Cell col="11" displaytype="combo" edittype="combo" text="bind:postrslt" combodataset="ds_init_postrslt" combocodecol="lable" combodatacol="value"/>
  74. <Cell col="12" displaytype="text" edittype="date" text="bind:postrsltdt" mask="expr:utlf_isNull(postrsltdt) || postrsltdt == '-' ? '': '####-##-##'"/>
  75. <Cell col="13" displaytype="text" edittype="text" text="bind:rsltno"/>
  76. <Cell col="14" displaytype="text" edittype="text" text="bind:rgstdt" enable="false"/>
  77. </Band>
  78. </Format>
  79. </Formats>
  80. </Grid>
  81. <Button id="button1" taborder="7" text="행추가" class="btn2" position="absolute 1070 99 1123 118" onclick="button1_onclick" anchor="top right"/>
  82. <Button id="button2" taborder="8" text="행삭제" class="btn2" position="absolute 1125 99 1178 118" onclick="button2_onclick" anchor="top right"/>
  83. </Layout>
  84. </Layouts>
  85. <Objects>
  86. <Dataset id="ds_grd_bonetrlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  87. <ColumnInfo>
  88. <Column id="chk" type="STRING"/>
  89. <Column id="bmtrnsseqno" type="STRING"/>
  90. <Column id="pid" type="STRING"/>
  91. <Column id="patnm" type="STRING"/>
  92. <Column id="keeppos" type="STRING"/>
  93. <Column id="dnorpid" type="STRING"/>
  94. <Column id="dnornm" type="STRING"/>
  95. <Column id="trnsdt" type="STRING"/>
  96. <Column id="prerslt" type="STRING"/>
  97. <Column id="prersltdt" type="STRING"/>
  98. <Column id="postrslt" type="STRING"/>
  99. <Column id="postrsltdt" type="STRING"/>
  100. <Column id="rsltno" type="STRING"/>
  101. <Column id="rgstdt" type="STRING"/>
  102. </ColumnInfo>
  103. <Rows/>
  104. </Dataset>
  105. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  106. <ColumnInfo>
  107. <Column id="workgbn" type="STRING" size="256"/>
  108. <Column id="workcmd" type="STRING" size="256"/>
  109. <Column id="colfromdd" type="STRING" size="256"/>
  110. <Column id="coltodd" type="STRING" size="256"/>
  111. <Column id="bmtrnsseqno" type="STRING" size="256"/>
  112. <Column id="pid" type="STRING" size="256"/>
  113. <Column id="bonetrlist" type="STRING" size="256"/>
  114. <Column id="uibonetrlist" type="STRING" size="256"/>
  115. <Column id="bcolgbn" type="STRING" size="256"/>
  116. </ColumnInfo>
  117. <Rows>
  118. <Row/>
  119. </Rows>
  120. </Dataset>
  121. <Dataset id="ds_init_prerslt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  122. <ColumnInfo>
  123. <Column id="label" type="STRING" size="256"/>
  124. <Column id="value" type="STRING" size="256"/>
  125. </ColumnInfo>
  126. <Rows>
  127. <Row>
  128. <Col id="label">DIS 80</Col>
  129. <Col id="value">DIS 80</Col>
  130. </Row>
  131. <Row>
  132. <Col id="label">DIS 111</Col>
  133. <Col id="value">DIS 111</Col>
  134. </Row>
  135. <Row>
  136. <Col id="label">ApoB</Col>
  137. <Col id="value">ApoB</Col>
  138. </Row>
  139. <Row>
  140. <Col id="label">Non informative</Col>
  141. <Col id="value">Non informative</Col>
  142. </Row>
  143. </Rows>
  144. </Dataset>
  145. <Dataset id="ds_init_postrslt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  146. <ColumnInfo>
  147. <Column id="lable" type="STRING" size="256"/>
  148. <Column id="value" type="STRING" size="256"/>
  149. </ColumnInfo>
  150. <Rows>
  151. <Row>
  152. <Col id="lable">Complete</Col>
  153. <Col id="value">Complete</Col>
  154. </Row>
  155. <Row>
  156. <Col id="lable">Mixed</Col>
  157. <Col id="value">Mixed</Col>
  158. </Row>
  159. <Row>
  160. <Col id="lable">Only host band</Col>
  161. <Col id="value">Only host band</Col>
  162. </Row>
  163. <Row>
  164. <Col id="lable">판독불가</Col>
  165. <Col id="value">판독불가</Col>
  166. </Row>
  167. </Rows>
  168. </Dataset>
  169. <Dataset id="ds_send_uibonetrlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  170. </Objects>
  171. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  172. * System Name :
  173. * Job Name :
  174. * Creator :
  175. * Make Date : 2015-05-01
  176. * Description :
  177. *---------------------------------------------------------------------------------------
  178. * Modify Date Modifier Modify Description
  179. *---------------------------------------------------------------------------------------
  180. * 2015-05-01 Live Converter TF->XP
  181. *
  182. *---------------------------------------------------------------------------------------
  183. ****************************************************************************************/
  184. include "com_commonxp::comm_main.xjs";
  185. function SPLNP90800_oninit(obj:Form, e:InitEventInfo)
  186. {
  187. //폼 초기화 함수
  188. frmf_initForm(obj);
  189. }
  190. function SPLNP90800_onload(obj:Form, e:LoadEventInfo)
  191. {
  192. grdf_initGrid(grd_bonetrlist);
  193. grdf_setRowTypeIcon(grd_bonetrlist, 0);
  194. fnSetInit();
  195. }
  196. //초기화
  197. function fnSetInit()
  198. {
  199. ds_grd_bonetrlist.clearData();
  200. group2.ipt_search.setFocus();
  201. }
  202. //조회
  203. function fGetBoneTranfList()
  204. {
  205. ds_grd_bonetrlist.clearData();
  206. ds_send.setColumn(0, "pid", group2.ipt_search.value);
  207. var oParam = {};
  208. oParam.id = "TRLNP90801";
  209. oParam.service = "refprintmngtapp.GeneralRefPrintMngt";
  210. oParam.method = "reqGetboneTransList";
  211. oParam.inds = "cond=ds_send";
  212. oParam.outds = "ds_grd_bonetrlist=bonetrlist";
  213. oParam.async = false;
  214. //oParam.callback = "cf_TRLNP90801";
  215. tranf_submit(oParam);
  216. }
  217. //행추가
  218. function fSetAddRow()
  219. {
  220. var addRw;
  221. if(ds_grd_bonetrlist.rowcount < 0)
  222. {
  223. addRw = ds_grd_bonetrlist.addRow();
  224. }
  225. else
  226. {
  227. addRw = ds_grd_bonetrlist.insertRow(0);
  228. }
  229. var arrPostion = new Array();
  230. arrPostion[0] = addRw;
  231. grdf_setStatus(grd_bonetrlist, "I", arrPostion);
  232. }
  233. //행삭제
  234. function fInsRowdel()
  235. {
  236. var arrPostion = new Array();
  237. arrPostion[0] = ds_grd_bonetrlist.rowposition;
  238. if(ds_grd_bonetrlist.getRowType(arrPostion)==Dataset.ROWTYPE_INSERT)
  239. {
  240. ds_grd_bonetrlist.deleteRow(arrPostion);
  241. }
  242. else
  243. {
  244. grdf_setStatus(grd_bonetrlist, "D", arrPostion);
  245. }
  246. }
  247. //저장
  248. function fsavelist()
  249. {
  250. var comment = "" ;
  251. for(i = 0; i <= grd_bonetrlist.rowcount - 1; i++)
  252. {
  253. var rowStatus = ds_grd_bonetrlist.getRowType(i);
  254. if(rowStatus == 1 || 2)
  255. {
  256. if(utlf_isNull(ds_grd_bonetrlist.getColumn(i, "pid")))
  257. {
  258. comment = comment + "등록번호";
  259. }
  260. if(utlf_isNull(ds_grd_bonetrlist.getColumn(i, "patnm")))
  261. {
  262. comment = comment + "환자명 ";
  263. }
  264. if(utlf_isNull(ds_grd_bonetrlist.getColumn(i, "keeppos")))
  265. {
  266. ds_grd_bonetrlist.setColumn(i, "keeppos", "-");
  267. }
  268. if(utlf_isNull(ds_grd_bonetrlist.getColumn(i, "dnornm")))
  269. {
  270. ds_grd_bonetrlist.setColumn(i, "dnornm", "-");
  271. }
  272. if( !utlf_isNull(comment))
  273. {
  274. alert ( comment + " 를 입력하여주세요 ");
  275. return;
  276. }
  277. }
  278. }
  279. grdf_setStatusColumn(ds_grd_bonetrlist, "status");
  280. dsf_copyDs(ds_send_uibonetrlist, grdf_getGridUpdateData(grd_bonetrlist), "replace");
  281. var oParam = {};
  282. oParam.id = "TXLNP90801";
  283. oParam.service = "refprintmngtapp.GeneralRefPrintMngt";
  284. oParam.method = "reqSetboneList";
  285. oParam.inds = "cond=ds_send_uibonetrlist";
  286. oParam.async = false;
  287. //oParam.callback = "cf_TXLNP90801";
  288. tranf_submit(oParam);
  289. fnSetInit(); //초기화
  290. }
  291. //삭제
  292. function fdelitem()
  293. {
  294. ds_grd_bonetrlist.enableevent = false;
  295. ds_grd_bonetrlist.updatecontrol = false;
  296. for(var i = 0; i <= grd_bonetrlist.rowcount; i++)
  297. {
  298. var chk = ds_grd_bonetrlist.getColumn(i, "chk");
  299. if(ds_grd_bonetrlist.getColumn(i, "chk") == 1)
  300. {
  301. ds_grd_bonetrlist.setRowType(i, 8);
  302. }
  303. }
  304. ds_grd_bonetrlist.updatecontrol = true;
  305. ds_grd_bonetrlist.enableevent = true;
  306. grdf_setStatusColumn(ds_grd_bonetrlist, "status");
  307. ds_send_uibonetrlist.copyData(grdf_getGridUpdateData(grd_bonetrlist,"all"),true);
  308. var oParam = {};
  309. oParam.id = "TXLNP90702";
  310. oParam.service = "refprintmngtapp.GeneralRefPrintMngt";
  311. oParam.method = "reqDelboneList";
  312. oParam.inds = "cond=ds_send_uibonetrlist";
  313. oParam.async = false;
  314. //oParam.callback = "cf_TXLNP90702";
  315. tranf_submit(oParam);
  316. fnSetInit(); //초기화
  317. }
  318. //등록번호 검색
  319. function group2_ipt_search_onkeyup(obj:Edit, e:KeyEventInfo)
  320. {
  321. if(e.keycode == 13)
  322. {
  323. if(utlf_isNull(group2.ipt_search.text))
  324. {
  325. alert("등록번호를 입력해 주세요. ");
  326. return;
  327. fnSetInit();
  328. }
  329. fGetBoneTranfList();
  330. group2.ipt_search.setFocus();
  331. }
  332. }
  333. //초기화
  334. function btn_init_onclick(obj:Button, e:ClickEventInfo)
  335. {
  336. fnSetInit();
  337. }
  338. //행추가
  339. function button1_onclick(obj:Button, e:ClickEventInfo)
  340. {
  341. fSetAddRow();
  342. }
  343. //그리드값 변경시
  344. function grd_bonetrlist_oncloseup(obj:Grid, e:GridEditEventInfo)
  345. {
  346. var tDay = utlf_getCurrentDate();
  347. // if(obj.currentcol == 9)
  348. // {
  349. // ds_grd_bonetrlist.setColumn(0, "prersltdt", tDay);
  350. // }
  351. //
  352. // if(obj.currentcol == 11)
  353. // {
  354. // ds_grd_bonetrlist.setColumn(0, "postrsltdt", tDay);
  355. // }
  356. }
  357. //행삭제
  358. function button2_onclick(obj:Button, e:ClickEventInfo)
  359. {
  360. fInsRowdel();
  361. }
  362. //저장
  363. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  364. {
  365. fsavelist();
  366. }
  367. //삭제
  368. function button3_onclick(obj:Button, e:ClickEventInfo)
  369. {
  370. fdelitem();
  371. }
  372. ]]></Script>
  373. </Form>
  374. </FDL>