SMADB02800_제한약사용부서관리.xfdl 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMADB02800" position="absolute 0 0 1204 705" titletext="제한약사용부서관리" oninit="SMADB02800_oninit" onload="SMADB02800_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 75 1195 698" id="group3" scrollbars="autoboth">
  8. <Layouts>
  9. <Layout>
  10. <Button position="absolute 1150 6 1192 29" id="button51" class="btn2_letter2" text="엑셀" anchor="default" onclick="group3_button51_onclick"/>
  11. <Button position="absolute 985 6 1038 29" id="btn_grdadd" class="btn2" text="행추가" anchor="default" onclick="group3_btn_grdadd_onclick"/>
  12. <Button position="absolute 1040 6 1093 29" id="btn_grdcopy" class="btn2" text="행복사" anchor="default" onclick="group3_btn_grdcopy_onclick"/>
  13. <Button position="absolute 1095 6 1148 29" id="btn_grddel" class="btn2" text="행삭제" anchor="default" onclick="group3_btn_grddel_onclick"/>
  14. <Grid position="absolute 0 32 1194 621" id="grid_limitdruglist" binddataset="ds_grid_limitdruglist" autofittype="col" anchor="default">
  15. <Formats>
  16. <Format id="default">
  17. <Columns>
  18. <Column size="26"/>
  19. <Column size="106"/>
  20. <Column size="260"/>
  21. <Column size="90"/>
  22. <Column size="100"/>
  23. <Column size="200"/>
  24. <Column size="90"/>
  25. <Column size="90"/>
  26. <Column size="135"/>
  27. <Column size="75"/>
  28. <Column size="0"/>
  29. <Column size="0"/>
  30. <Column size="0"/>
  31. <Column size="0"/>
  32. </Columns>
  33. <Rows>
  34. <Row size="24" band="head"/>
  35. <Row size="24"/>
  36. </Rows>
  37. <Band id="head">
  38. <Cell/>
  39. <Cell col="1" text="약품코드"/>
  40. <Cell col="2" text="약품명"/>
  41. <Cell col="3" text="처방부서"/>
  42. <Cell col="4" text="처방부서명"/>
  43. <Cell col="5" text="메세지"/>
  44. <Cell col="6" text="시작일자"/>
  45. <Cell col="7" text="종료일자"/>
  46. <Cell col="8" text="최종수정일시"/>
  47. <Cell col="9" text="최종수정자"/>
  48. <Cell col="10" text="olddrugcd"/>
  49. <Cell col="11" text="oldorddeptcd"/>
  50. <Cell col="12" text="oldtodd"/>
  51. <Cell col="13" text="instcd"/>
  52. </Band>
  53. <Band id="body">
  54. <Cell celltype="head"/>
  55. <Cell col="1" displaytype="text" edittype="text" text="bind:drugcd" expandshow="show"/>
  56. <Cell col="2" displaytype="text" edittype="text" text="bind:drugnm"/>
  57. <Cell col="3" displaytype="text" edittype="text" text="bind:orddeptcd" expandshow="show"/>
  58. <Cell col="4" text="bind:orddeptnm"/>
  59. <Cell col="5" displaytype="text" edittype="text" text="bind:alertmsg"/>
  60. <Cell col="6" displaytype="date" edittype="date" text="bind:fromdd"/>
  61. <Cell col="7" displaytype="date" edittype="date" text="bind:todd" mask="yyyy-mm-dd hh:mm:ss"/>
  62. <Cell col="8" text="bind:lastupdtdt" mask="yyyy-mm-dd hh:mm:ss"/>
  63. <Cell col="9" text="bind:lastupdtrid"/>
  64. <Cell col="10" text="bind:olddrugcd"/>
  65. <Cell col="11" text="bind:oldorddeptcd"/>
  66. <Cell col="12" text="bind:oldtodd"/>
  67. <Cell col="13" text="bind:instcd"/>
  68. </Band>
  69. </Format>
  70. </Formats>
  71. </Grid>
  72. </Layout>
  73. </Layouts>
  74. </Div>
  75. <Static id="caption19" text="제한약사용부서관리" class="tit_1" position="absolute 1 13 143 38"/>
  76. <Button id="btn_save" taborder="1" text="저장" class="btn4" position="absolute 1130 11 1186 33" onclick="btn_save_onclick"/>
  77. <Div id="group2" taborder="2" style="align:center top;" class="div_SA" position="absolute 1 38 1192 72">
  78. <Layouts>
  79. <Layout>
  80. <Static id="caption2" text="기준일자 :" class="search_name" position="absolute 5 10 96 27"/>
  81. <Calendar id="cal_searchdd" taborder="1" class="input_s_essential" position="absolute 95 8 195 27"/>
  82. <Static id="caption4" text="약품코드 :" class="search_name" position="absolute 226 10 317 27"/>
  83. <Edit id="inp_code" taborder="2" class="input_search" position="absolute 316 8 416 27"/>
  84. <Button id="button61" taborder="3" class="icon_search" position="absolute 425 10 441 26" onclick="group2_button61_onclick"/>
  85. <Shape id="line1" linetype="vertical" class="line_4" position="absolute 1112 7 1118 27"/>
  86. <Button id="btn_sea" taborder="4" text="조회" class="btn1" position="absolute 1125 6 1181 28" onclick="group2_btn_sea_onclick"/>
  87. </Layout>
  88. </Layouts>
  89. </Div>
  90. </Layout>
  91. </Layouts>
  92. <Objects>
  93. <Dataset id="ds_grid_limitdruglist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  94. <ColumnInfo>
  95. <Column id="drugcd" type="STRING"/>
  96. <Column id="drugnm" type="STRING"/>
  97. <Column id="orddeptcd" type="STRING"/>
  98. <Column id="orddeptnm" type="STRING"/>
  99. <Column id="alertmsg" type="STRING"/>
  100. <Column id="fromdd" type="STRING"/>
  101. <Column id="todd" type="STRING"/>
  102. <Column id="lastupdtdt" type="STRING"/>
  103. <Column id="lastupdtrid" type="STRING"/>
  104. <Column id="olddrugcd" type="STRING"/>
  105. <Column id="oldorddeptcd" type="STRING"/>
  106. <Column id="oldtodd" type="STRING"/>
  107. <Column id="instcd" type="STRING"/>
  108. </ColumnInfo>
  109. <Rows>
  110. <Row/>
  111. </Rows>
  112. </Dataset>
  113. <Dataset id="ds_send_searchdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  114. <ColumnInfo>
  115. <Column id="srchdd" type="STRING" size="256"/>
  116. <Column id="srchdrugcd" type="STRING" size="256"/>
  117. </ColumnInfo>
  118. <Rows>
  119. <Row/>
  120. </Rows>
  121. </Dataset>
  122. <Dataset id="ds_temp_receivedata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  123. <Dataset id="ds_drug" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  124. <ColumnInfo>
  125. <Column id="drugcd" type="STRING" size="256"/>
  126. <Column id="drugnm" type="STRING" size="256"/>
  127. </ColumnInfo>
  128. <Rows>
  129. <Row/>
  130. </Rows>
  131. </Dataset>
  132. <Dataset id="ds_send_req" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  133. <Dataset id="ds_temp_limitdruglist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  134. </Objects>
  135. <Bind>
  136. <BindItem id="item0" compid="group2.cal_searchdd" propid="value" datasetid="ds_send_searchdata" columnid="srchdd"/>
  137. <BindItem id="item1" compid="group2.inp_code" propid="value" datasetid="ds_send_searchdata" columnid="srchdrugcd"/>
  138. </Bind>
  139. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  140. * System Name :
  141. * Job Name :
  142. * Creator :
  143. * Make Date : 2015-11-02
  144. * Description :
  145. *---------------------------------------------------------------------------------------
  146. * Modify Date Modifier Modify Description
  147. *---------------------------------------------------------------------------------------
  148. * 2015-11-02 Live Converter TF->XP
  149. *
  150. *---------------------------------------------------------------------------------------
  151. ****************************************************************************************/
  152. include "com_commonxp::comm_main.xjs";
  153. var arErrorCode = new HashArray();
  154. /******************************************************************
  155. * Argument :
  156. * Description : 초기화
  157. ******************************************************************/
  158. function SMADB02800_oninit(obj:Form, e:InitEventInfo)
  159. {
  160. frmf_initForm(obj);
  161. }
  162. function SMADB02800_onload(obj:Form, e:LoadEventInfo)
  163. {
  164. //insert, update, delete 관리
  165. grdf_setRowTypeIcon(group3.grd_datagrid1, 0);
  166. //권한관리
  167. btn_save.enable = frmf_checkAuth("X"); //저장
  168. //조회
  169. group2_btn_sea_onclick();
  170. }
  171. /******************************************************************
  172. * Argument :
  173. * Description : 조회
  174. ******************************************************************/
  175. function group2_btn_sea_onclick(obj:Button, e:ClickEventInfo)
  176. {
  177. var oParam = {};
  178. oParam.id = "TRADB02801";
  179. oParam.service = "pharmacybaseapp.LimitDrug";
  180. oParam.method = "reqGetLimitDrugList";
  181. oParam.inds = "req=ds_send_searchdata";
  182. oParam.outds = "ds_grid_limitdruglist=item";
  183. oParam.async = false;
  184. //oParam.callback = "cf_TRADB02801";
  185. tranf_submit(oParam);
  186. ds_temp_limitdruglist.copyData(ds_grid_limitdruglist);
  187. }
  188. /******************************************************************
  189. * Argument :
  190. * Description : 약품코드 조회
  191. ******************************************************************/
  192. function group2_button61_onclick(obj:Button, e:ClickEventInfo)
  193. {
  194. getDrug();
  195. ds_send_searchdata.setColumn(0, "srchdrugcd", ds_drug.getColumn(0, "drugcd"));
  196. }
  197. function getDrug(){
  198. dsf_createDsRow("ds_temp_receivedata",
  199. [{col:"receiveref", type:"string", size:256, val:"ds_drug"}
  200. ,{col:"srchflag", type:"string", size:256, val:""}
  201. ,{col:"srchcnts", type:"string", size:256, val:""}
  202. ,{col:"receivedrugcd", type:"string", size:256, val:"drugcd"}
  203. ,{col:"receivedrugnm", type:"string", size:256, val:"drugnm"}
  204. ,{col:"drugkind", type:"string", size:256, val:""}],true);
  205. var objArg = new Object();
  206. objArg.arg_ds_temp_receivedata = ds_temp_receivedata;
  207. frmf_modal("SPADB60100", "SPADB60100", objArg, null, null, null, null, null, null, null, null, null, "M");
  208. }
  209. /******************************************************************
  210. * Argument :
  211. * Description : 행추가
  212. ******************************************************************/
  213. function group3_btn_grdadd_onclick(obj:Button, e:ClickEventInfo)
  214. {
  215. var iRow = ds_grid_limitdruglist.addRow();
  216. ds_grid_limitdruglist.setColumn(iRown, "fromdd", utlf_getCurrentDate());
  217. ds_grid_limitdruglist.setColumn(iRown, "todd", "99991231");
  218. }
  219. /******************************************************************
  220. * Argument :
  221. * Description : 행복사
  222. ******************************************************************/
  223. function group3_btn_grdcopy_onclick(obj:Button, e:ClickEventInfo)
  224. {
  225. var addRow = ds_grid_limitdruglist.insertRow( ds_grid_limitdruglist.rowposition + 1 );
  226. ds_grid_limitdruglist.copyRow(addRow, ds_grid_limitdruglist, ds_grid_limitdruglist.rowposition - 1);
  227. //ds_grid_limitdruglist.setColumn(group3.grid_limitdruglist.currentrow, "todd", "99991231");
  228. }
  229. /******************************************************************
  230. * Argument :
  231. * Description : 행삭제
  232. ******************************************************************/
  233. function group3_btn_grddel_onclick(obj:Button, e:ClickEventInfo)
  234. {
  235. grdf_setStatus(group3.grid_limitdruglist, "D", grdf_getSelectedRows(group3.grid_limitdruglist));
  236. }
  237. /******************************************************************
  238. * Argument :
  239. * Description : Excel
  240. ******************************************************************/
  241. function group3_button51_onclick(obj:Button, e:ClickEventInfo)
  242. {
  243. if( ds_grid_limitdruglist.rowcount > 0 ){
  244. grdf_exportExcel(group3.grid_limitdruglist, "제한약사용부서관리", "제한약사용부서관리", false, "", "user", false);
  245. } else {
  246. sysf_messageBox("조회된 데이터가 ", "I004");
  247. }
  248. }
  249. /******************************************************************
  250. * Argument :
  251. * Description : 저장
  252. ******************************************************************/
  253. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  254. {
  255. if( sysf_messageBox("제한약사용부서", "Q002") != 6 ){
  256. return;
  257. }
  258. var oDsUpdate = grdf_getGridUpdateData(group3.grid_limitdruglist);
  259. if( oDsUpdate.rowcount < 1 ){
  260. sysf_messageBox("입력","E013");
  261. return;
  262. }
  263. grdf_setStatusColumn(oDsUpdate, "m"); // 각행의 status에 rowType 값에 따라 'i', 'u', 'd'로 업데이트 시켜준다
  264. ds_send_req.copyData(oDsUpdate, true);
  265. for( var i = 0; i < ds_send_req.rowcount; i++ ){
  266. // 코드 null check
  267. if( utlf_isNull(ds_send_req.getColumn(i, "drugcd")) ){
  268. sysf_messageBox("약품 코드는 ","I003");
  269. return;
  270. } else {
  271. // 동일코드 check
  272. if( ds_send_req.getColumn(i, "m") == "i" ){
  273. for( var j = 0; j < ds_temp_datagrid1.rowcount; j++ ){
  274. var tDrugcd = ds_grid_limitdruglist.getColumn(j, "drugcd");
  275. var tDeptcd = ds_grid_limitdruglist.getColumn(j, "orddeptcd");
  276. var sDrugcd = ds_send_req.getColumn(i, "drugcd");
  277. var sDeptcd = ds_send_req.getColumn(i, "orddeptcd");
  278. if( tDrugcd == sDrugcd && tDeptcd == sDeptcd ){
  279. sysf_messageBox("동일 부서에 동일 코드가 존재합니다.","I");
  280. return;
  281. }
  282. }
  283. }
  284. }
  285. }
  286. var oParam = {};
  287. oParam.id = "TXADB02801";
  288. oParam.service = "pharmacybaseapp.LimitDrug";
  289. oParam.method = "reqExeLimitDrugList";
  290. oParam.inds = "req=ds_send_req";
  291. oParam.outds = "ds_grid_limitdruglist=item";
  292. oParam.async = false;
  293. //oParam.callback = "cf_TXADB02801";
  294. tranf_submit(oParam);
  295. group2_btn_sea_onclick();
  296. }
  297. ]]></Script>
  298. </Form>
  299. </FDL>