SMPPI01200_사전신청항암제관리.xfdl 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMPPI00800" position="absolute 0 0 960 654" titletext="사전신청항암제관리" oninit="SMPPI00800_oninit" onload="SMPPI00800_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 28 942 620" id="grp_biz" scrollbars="autoboth" anchor="all">
  8. <Layouts>
  9. <Layout>
  10. <Grid position="absolute 0 78 940 592" id="grd_bfaclist" class="datagrid3" binddataset="ds_grd_bfaclist" autofittype="col" anchor="all" cellsizingtype="col" onexpanddown="grp_biz_grd_bfaclist_onexpanddown" autoenter="select" selecttype="multirow" oncloseup="grp_biz_grd_bfaclist_oncloseup" ondropdown="grp_biz_grd_bfaclist_ondropdown">
  11. <Formats>
  12. <Format id="default">
  13. <Columns>
  14. <Column size="25"/>
  15. <Column size="75"/>
  16. <Column size="70"/>
  17. <Column size="180"/>
  18. <Column size="180"/>
  19. <Column size="108"/>
  20. <Column size="65"/>
  21. <Column size="75"/>
  22. <Column size="75"/>
  23. <Column size="55"/>
  24. <Column size="0"/>
  25. <Column size="0"/>
  26. <Column size="0"/>
  27. <Column size="0"/>
  28. <Column size="0"/>
  29. </Columns>
  30. <Rows>
  31. <Row size="38" band="head"/>
  32. <Row size="24"/>
  33. </Rows>
  34. <Band id="head">
  35. <Cell/>
  36. <Cell col="1" text="수가코드"/>
  37. <Cell col="2" text="EDI코드"/>
  38. <Cell col="3" text="수가명"/>
  39. <Cell col="4" text="성분명"/>
  40. <Cell col="5" text="신청진료과"/>
  41. <Cell col="6" text="신청진료의"/>
  42. <Cell col="7" text="신청일자"/>
  43. <Cell col="8" text="종료일자"/>
  44. <Cell col="9" text="승인구분"/>
  45. <Cell col="10" text="등록자"/>
  46. <Cell col="11" text="등록일자"/>
  47. <Cell col="12" text="수정자"/>
  48. <Cell col="13" text="수정일자"/>
  49. <Cell col="14" text="instcd"/>
  50. </Band>
  51. <Band id="body">
  52. <Cell celltype="head"/>
  53. <Cell col="1" displaytype="text" edittype="expr:ds_grd_bfaclist.getRowType(currow) == 1 ? &quot;readonly&quot; : &quot;text&quot;" editfilter="upper" style="align:left middle;" text="bind:calcscorcd" editimemode="alpha" editautoselect="true" expandshow="show" enable="false"/>
  54. <Cell col="2" edittype="none" style="align:left middle;" text="bind:edicd"/>
  55. <Cell col="3" edittype="none" style="align:left middle;" text="bind:hngnm"/>
  56. <Cell col="4" edittype="none" style="align:left middle;" text="bind:comnm"/>
  57. <Cell col="5" displaytype="combo" edittype="expr:ds_grd_bfaclist.getRowType(currow) == 1 ? &quot;readonly&quot; : &quot;combo&quot;" style="align:left middle;" text="bind:orddeptcd" combodataset="ds_cond_deptinfolist" combocodecol="cd" combodatacol="nm" combodisplayrowcount="100" enable="false"/>
  58. <Cell col="6" displaytype="combo" edittype="expr:ds_grd_bfaclist.getRowType(currow) == 1 ? &quot;readonly&quot; : &quot;combo&quot;" style="align:center;" text="bind:orddrid" combodataset="expr:currow == ds_grd_bfaclist.rowposition ? 'ds_grd_orddrid' : 'ds_cond_orddrid'" combocodecol="cd" combodatacol="nm" combodisplayrowcount="100"/>
  59. <Cell col="7" displaytype="date" edittype="expr:ds_grd_bfaclist.getRowType(currow) == 1 ? &quot;readonly&quot; : &quot;date&quot;" style="align:center middle;" text="bind:rgstdd" mask="yyyy-MM-dd" calendardisplaynulltype="nulltext" enable="false"/>
  60. <Cell col="8" displaytype="date" edittype="date" style="align:center middle;" text="bind:enddd" mask="yyyy-MM-dd" calendardisplaynulltype="nulltext"/>
  61. <Cell col="9" displaytype="combo" edittype="combo" style="align:center;" text="bind:aprvcd" combodataset="ds_cmb_aprvcd" combocodecol="cd" combodatacol="nm"/>
  62. <Cell col="10" displaytype="text" edittype="text" style="align:center middle;" text="bind:fstrgstrid"/>
  63. <Cell col="11" displaytype="date" edittype="date" style="align:center middle;" text="bind:fstrgstdt" mask="yyyy-MM-dd hh:mm" calendardisplaynulltype="nulltext"/>
  64. <Cell col="12" style="align:center middle;" text="bind:lastupdtrid"/>
  65. <Cell col="13" displaytype="date" edittype="date" text="bind:lastupdtdt" mask="yyyy-MM-dd hh:mm" calendardisplaynulltype="nulltext"/>
  66. <Cell col="14" text="bind:instcd"/>
  67. </Band>
  68. </Format>
  69. </Formats>
  70. </Grid>
  71. <Static text="사전신청항암제관리 리스트" position="absolute 4 56 238 79" id="cap_judgtrgtman" class="tit_2"/>
  72. <Shape position="absolute 0 69 940 83" linetype="horizontal" id="line1" class="line_1" style="strokepen:3 solid #33bbbbff;" anchor="left top right"/>
  73. <Div position="absolute 1 0 941 40" align="align:center top;" id="group1" class="div_SA" anchor="left top right">
  74. <Layouts>
  75. <Layout>
  76. <Button position="absolute 875 10 931 32" id="btn_select" class="btn1" taborder="32" text="조회" anchor="top right" onclick="grp_biz_group1_btn_select_onclick"/>
  77. <Shape position="absolute 857 5 863 38" linetype="vertical" id="line3" class="line_4" anchor="top right"/>
  78. <Static text="수가코드 :" position="absolute 8 12 103 29" id="caption30" class="search_name" anchor="default"/>
  79. <Static text="진료과 :" position="absolute 207 6 273 34" id="caption1" class="search_name" anchor="default"/>
  80. <Edit position="absolute 95 10 170 29" id="input1" anchor="default" onkeydown="grp_biz_group1_input1_onkeydown" inputmode="upper" imemode="alpha"/>
  81. <Static text="진료의 :" position="absolute 389 12 455 29" id="caption2" class="search_name" anchor="default"/>
  82. <Combo id="cmb_deptcd" taborder="33" position="absolute 269 9 369 29" innerdataset="@ds_cond_deptinfolist" codecolumn="cd" datacolumn="nm" index="-1" onitemchanged="grp_biz_group1_cmb_deptcd_onitemchanged"/>
  83. <Combo id="cmb_orddrid" taborder="34" position="absolute 461 10 561 30" innerdataset="@ds_init_orddrid" codecolumn="cd" datacolumn="nm"/>
  84. <Button id="button17" taborder="35" onclick="group2_button17_onclick" class="icon_search" position="absolute 172 12 188 28"/>
  85. </Layout>
  86. </Layouts>
  87. </Div>
  88. <Button position="absolute 717 52 789 71" id="btn_excelsave" class="btn7" text="엑셀저장" anchor="top right" onclick="grp_biz_btn_excelsave_onclick"/>
  89. <Button position="absolute 898 52 940 71" id="button1" class="btn5" text="저장" anchor="top right" onclick="grp_biz_button1_onclick"/>
  90. <Button position="absolute 790 52 843 71" id="button2" class="btn2" text="행삭제" anchor="top right" onclick="grp_biz_button2_onclick"/>
  91. <Button position="absolute 844 52 897 71" id="button3" class="btn2" text="행추가" anchor="top right" onclick="grp_biz_button3_onclick"/>
  92. </Layout>
  93. </Layouts>
  94. </Div>
  95. <Button position="absolute 884 622 940 644" id="btn_cancel" class="btn4" text="종료" onclick="btn_cancel_onclick" anchor="right bottom"/>
  96. <Static id="cap_title" text="사전신청항암제관리" class="tit_1" position="absolute 1 4 217 27"/>
  97. </Layout>
  98. </Layouts>
  99. <Objects>
  100. <Dataset id="ds_grd_bfaclist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  101. <ColumnInfo>
  102. <Column id="rulecd" type="STRING"/>
  103. <Column id="typecd" type="STRING"/>
  104. <Column id="pid" type="STRING"/>
  105. <Column id="patnm" type="STRING"/>
  106. <Column id="fromdd" type="STRING"/>
  107. <Column id="todd" type="STRING"/>
  108. <Column id="cmnt" type="STRING"/>
  109. <Column id="fstrgstrid" type="STRING"/>
  110. <Column id="fstrgstdt" type="STRING"/>
  111. <Column id="lastupdtrid" type="STRING"/>
  112. <Column id="lastupdtdt" type="STRING"/>
  113. </ColumnInfo>
  114. </Dataset>
  115. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  116. <ColumnInfo>
  117. <Column id="typecd" type="STRING" size="256"/>
  118. <Column id="hngnm" type="STRING" size="256"/>
  119. </ColumnInfo>
  120. <Rows>
  121. <Row/>
  122. <Row/>
  123. <Row/>
  124. </Rows>
  125. </Dataset>
  126. <Dataset id="ds_cond_orddrid" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  127. <Dataset id="ds_cond_deptinfolist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  128. <FilteredDataset id="ds_init_orddrid" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" binddataset="@ds_cond_orddrid"/>
  129. <Dataset id="ds_cmb_aprvcd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  130. <ColumnInfo>
  131. <Column id="cd" type="STRING" size="256"/>
  132. <Column id="nm" type="STRING" size="256"/>
  133. </ColumnInfo>
  134. <Rows>
  135. <Row>
  136. <Col id="cd">0</Col>
  137. <Col id="nm">불승인</Col>
  138. </Row>
  139. <Row>
  140. <Col id="cd">1</Col>
  141. <Col id="nm">승인</Col>
  142. </Row>
  143. <Row>
  144. <Col id="cd">2</Col>
  145. <Col id="nm">부분승인</Col>
  146. </Row>
  147. </Rows>
  148. </Dataset>
  149. <FilteredDataset id="ds_grd_orddrid" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" binddataset="@ds_cond_orddrid"/>
  150. </Objects>
  151. <Bind/>
  152. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  153. * System Name :
  154. * Job Name :
  155. * Creator :
  156. * Make Date : 2016-05-24
  157. * Description :
  158. *---------------------------------------------------------------------------------------
  159. * Modify Date Modifier Modify Description
  160. *---------------------------------------------------------------------------------------
  161. * 2016-05-24 Live Converter TF->XP
  162. *
  163. *---------------------------------------------------------------------------------------
  164. ****************************************************************************************/
  165. include "com_commonxp::comm_main.xjs";
  166. include "pam_pamcomnxp::PAM001.xjs";
  167. function SMPPI00800_oninit(obj:Form, e:InitEventInfo)
  168. {
  169. frmf_initForm(obj);
  170. }
  171. function SMPPI00800_onload(obj:Form, e:LoadEventInfo)
  172. {
  173. grdf_initGrid(grp_biz.grd_bfaclist);
  174. grdf_setRowTypeIcon(grp_biz.grd_bfaclist, 0);
  175. fInitialize();
  176. }
  177. function fInitialize(){
  178. // 진료과, 주치의
  179. var sInDsName = dsf_createDsRow("ds_cond",[{col: "ioflag", val: ""}]);
  180. var oParam = {};
  181. oParam.id = "TRPID20309";
  182. oParam.service = "aftjudgapp.InAftJudgTrgtMan";
  183. oParam.method = "reqGetDeptCDDrID";
  184. oParam.inds = "req=ds_cond";
  185. oParam.outds = "ds_cond_deptinfolist=orddeptcd2 ds_cond_orddrid=orddrid2";
  186. oParam.async = false;
  187. tranf_submit(oParam);
  188. fGetDocuList();
  189. }
  190. function fGetDocuList(){
  191. dsf_createDsRow("ds_send1", [{col:"instcd", type:"STRING", size:256, val: sysf_getUserInfo("dutplceinstcd")}
  192. , {col:"orddeptcd", type:"STRING", size:256, val: grp_biz.group1.cmb_deptcd.value}
  193. , {col:"orddrid", type:"STRING", size:256, val: grp_biz.group1.cmb_orddrid.value}
  194. , {col:"calcscorcd", type:"STRING", size:256, val: grp_biz.group1.input1.value}
  195. ]);
  196. var oParam = {};
  197. oParam.id = "TRPPI01001";
  198. oParam.service = "bfjudgcareapp.BfJudgCareMngt";
  199. oParam.method = "reqGetAppAnticncrList";
  200. oParam.inds = "req=ds_send1";
  201. oParam.outds = "ds_grd_bfaclist=rslt";
  202. oParam.async = false;
  203. //oParam.callback = "cf_TRPPI01001";
  204. tranf_submit(oParam);
  205. }
  206. function grp_biz_group1_btn_select_onclick(obj:Button, e:ClickEventInfo)
  207. {
  208. fGetDocuList()
  209. }
  210. function grp_biz_group1_input1_onkeydown(obj:Edit, e:KeyEventInfo)
  211. {
  212. if(e.keycode == 13)
  213. {
  214. fGetDocuList();
  215. }
  216. }
  217. function grp_biz_group1_ipt_cd_name_onkeydown(obj:Edit, e:KeyEventInfo)
  218. {
  219. if(e.keycode == 13)
  220. {
  221. fGetDocuList();
  222. }
  223. }
  224. function grp_biz_group1_input2_onkeydown(obj:Edit, e:KeyEventInfo)
  225. {
  226. if(e.keycode == 13)
  227. {
  228. fGetDocuList();
  229. }
  230. }
  231. function grp_biz_btn_excelsave_onclick(obj:Button, e:ClickEventInfo)
  232. {
  233. if (ds_grd_bfaclist.rowcount > 0) {
  234. grdf_exportExcel(grp_biz.grd_bfaclist, "exportExcel", "see");
  235. } else {
  236. sysf_messageBox("엑셀저장할 내역이", "I004"); ///엑셀저장할 내역이 없습니다.
  237. }
  238. }
  239. function grp_biz_button2_onclick(obj:Button, e:ClickEventInfo)
  240. {
  241. fSpclGridDeleteRow();
  242. }
  243. function fSpclGridDeleteRow(){
  244. var SelectedRows = grdf_getSelectedRows(grp_biz.grd_bfaclist);
  245. grdf_setStatus(grp_biz.grd_bfaclist, "D", SelectedRows);
  246. }
  247. function grp_biz_button3_onclick(obj:Button, e:ClickEventInfo)
  248. {
  249. fSpclGridInsertRow();
  250. }
  251. function fSpclGridInsertRow()
  252. {
  253. var addRw = ds_grd_bfaclist.addRow();
  254. ds_grd_bfaclist.setColumn(addRw,"rgstdd", utlf_getCurrentDate());
  255. ds_grd_bfaclist.setColumn(addRw,"enddd", "99991231");
  256. ds_grd_bfaclist.setColumn(addRw,"instcd", sysf_getUserInfo("dutplceinstcd"));
  257. return addRw;
  258. }
  259. function grp_biz_button1_onclick(obj:Button, e:ClickEventInfo)
  260. {
  261. var updtdata = grdf_getGridUpdateData(grp_biz.grd_bfaclist);
  262. if ( updtdata.rowcount == 0)
  263. {
  264. sysf_messageBox("변경된 데이터가","I004");
  265. return;
  266. }
  267. for (var i = ds_grd_bfaclist.rowcount-1; i >= 0; i--)
  268. {
  269. var calcscorcd = ds_grd_bfaclist.getColumn(i,"calcscorcd");
  270. if (ds_grd_bfaclist.getRowType(i) == 8 && utlf_isNull(calcscorcd)) {
  271. ds_grd_bfaclist.deleteRow(i);
  272. }
  273. }
  274. for (var i = ds_grd_bfaclist.rowcount-1; i >= 0; i--)
  275. {
  276. if (ds_grd_bfaclist.getRowType(i) == 2 || ds_grd_bfaclist.getRowType(i) == 4 )
  277. {
  278. var calcscorcd = grp_biz.grd_bfaclist.getBindCellIndex("body","calcscorcd");
  279. var orddeptcd = grp_biz.grd_bfaclist.getBindCellIndex("body","orddeptcd");
  280. var orddrid = grp_biz.grd_bfaclist.getBindCellIndex("body","orddrid");
  281. var rgstdd = grp_biz.grd_bfaclist.getBindCellIndex("body","rgstdd");
  282. var enddd = grp_biz.grd_bfaclist.getBindCellIndex("body","enddd");
  283. if(!frmf_chkMdtGrid(grp_biz.grd_bfaclist,[calcscorcd,orddeptcd,orddrid,rgstdd,enddd],["수가코드","부서","진료의","신청일자","종료일자"]))
  284. {
  285. return;
  286. }
  287. }
  288. }
  289. if (sysf_messageBox("저장", "S001") == 6)
  290. {
  291. var oParam = {};
  292. oParam.id = "TXPPI01001";
  293. oParam.service = "bfjudgcareapp.BfJudgCareMngt";
  294. oParam.method = "reqExeAppAnticncrList";
  295. oParam.inds = "req=ds_grd_bfaclist:U";
  296. oParam.outds = "ds_grd_bfaclist=rslt";
  297. oParam.async = false;
  298. oParam.callback = "cf_TXPPI01001";
  299. tranf_submit(oParam);
  300. }
  301. }
  302. function cf_TXPPI01001(sSvcId, nErrorCode, sErrorMsg) {
  303. if(nErrorCode < 0) return;
  304. fGetDocuList();
  305. }
  306. function btn_cancel_onclick(obj:Button, e:ClickEventInfo)
  307. {
  308. this.close();
  309. }
  310. function grp_biz_group1_cmb_deptcd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  311. {
  312. if (utlf_isNull(obj.value)) {
  313. ds_init_orddrid.filterstr = "";
  314. } else {
  315. ds_init_orddrid.filterstr = "dp=='" + obj.value+ "'";
  316. }
  317. }
  318. function group2_button17_onclick(obj:Button, e:ClickEventInfo)
  319. {
  320. grp_biz.group1.input1.updateToDataset();
  321. dsf_createDsRow("ds_receivedata" , [{col: "srchdrugcd", val: grp_biz.group1.input1.value}
  322. ,{col: "con4_search2", val: grp_biz.group1.input1.value}
  323. ,{col: "con3_search1", val: "hngnm"}]);
  324. var objArg = new Object();
  325. objArg.arg_ds_temp = ds_receivedata;
  326. frmf_setParameter("openflag", "hngnm");
  327. var objRtn = frmf_modal("SMPIC00200", "SMPIC00200", objArg, "", "", "", "", "", "", "", "", "", "M");
  328. ds_temp_picmmech.copyData(objRtn);
  329. if (ds_temp_picmmech.rowcount > 0)
  330. {
  331. var vprcpcd = ds_temp_picmmech.getColumn(0,"picmmech_calcscorcd");
  332. grp_biz.group1.input1.value = vprcpcd;
  333. ds_temp_picmmech.clearData();
  334. }
  335. }
  336. function grp_biz_grd_bfaclist_onexpanddown(obj:Grid, e:GridMouseEventInfo)
  337. {
  338. if (ds_grd_bfaclist.getRowType(e.row) != 1 ) {
  339. dsf_createDsRow("ds_receivedata" , [{col: "srchdrugcd", val: ds_grd_bfaclist.getColumn(ds_grd_bfaclist.rowposition,"calcscorcd")}
  340. ,{col: "con4_search2", val: ds_grd_bfaclist.getColumn(ds_grd_bfaclist.rowposition,"calcscorcd")}
  341. ,{col: "con3_search1", val: "hngnm"}]);
  342. var objArg = new Object();
  343. objArg.arg_ds_temp = ds_receivedata;
  344. frmf_setParameter("openflag", "hngnm");
  345. var objRtn = frmf_modal("SMPIC00200", "SMPIC00200", objArg, "", "", "", "", "", "", "", "", "", "M");
  346. ds_temp_picmmech.copyData(objRtn);
  347. if (ds_temp_picmmech.rowcount > 0)
  348. {
  349. var currrow = ds_grd_bfaclist.rowposition;
  350. for (var i=0; i < ds_temp_picmmech.rowcount; i++ ) {
  351. var vprcpcd = ds_temp_picmmech.getColumn(i,"picmmech_calcscorcd");
  352. var vprcpnm = ds_temp_picmmech.getColumn(i,"picmmech_engnm");
  353. var vedicd = ds_temp_picmmech.getColumn(i,"picmmech_insuedicd");
  354. var vcomnm = ds_temp_picmmech.getColumn(i,"comnm");
  355. ds_grd_bfaclist.setColumn(currrow,"calcscorcd", vprcpcd);
  356. ds_grd_bfaclist.setColumn(currrow,"hngnm", vprcpnm);
  357. ds_grd_bfaclist.setColumn(currrow,"edicd", vedicd);
  358. //ds_grd_bfaclist.setColumn(currrow,"comnm", vcomnm);
  359. currrow = fSpclGridInsertRow();
  360. }
  361. ds_grd_bfaclist.deleteRow(currrow);
  362. ds_temp_picmmech.clearData();
  363. }
  364. }
  365. }
  366. function grp_biz_grd_bfaclist_oncloseup(obj:Grid, e:GridEditEventInfo)
  367. {
  368. if ( obj.getBindCellIndex("body","orddeptcd") == e.col ){
  369. if (utlf_isNull(e.value)) {
  370. ds_grd_orddrid.filterstr = "";
  371. } else {
  372. ds_grd_orddrid.filterstr = "dp=='"+ e.value +"'";
  373. }
  374. }
  375. if ( obj.getBindCellIndex("body","orddrid") == e.col ){
  376. ds_grd_orddrid.filterstr = "";
  377. }
  378. }
  379. function grp_biz_grd_bfaclist_ondropdown(obj:Grid, e:GridEditEventInfo)
  380. {
  381. if ( obj.getBindCellIndex("body","enddd") == e.col ){
  382. ds_grd_bfaclist.setColumn(e.row,"enddd", utlf_getCurrentDate());
  383. }
  384. }
  385. ]]></Script>
  386. </Form>
  387. </FDL>