SPMRI03900_처방제어예외환자관리.xfdl 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMRI03900" position="absolute 0 0 798 527" titletext="처방제어 예외 환자관리" oninit="SPMRI03900_oninit" onload="SPMRI03900_onload">
  5. <Layouts>
  6. <Layout>
  7. <Grid position="absolute 0 137 795 522" id="grd_patlist" binddataset="ds_main_datalist_datainfo" autofittype="col" ontextchanged="grd_patlist_ontextchanged" autoenter="select" cellsizingtype="col">
  8. <Formats>
  9. <Format id="default">
  10. <Columns>
  11. <Column size="25"/>
  12. <Column size="60"/>
  13. <Column size="60"/>
  14. <Column size="70"/>
  15. <Column size="120"/>
  16. <Column size="120"/>
  17. <Column size="312"/>
  18. <Column size="0"/>
  19. </Columns>
  20. <Rows>
  21. <Row size="24" band="head"/>
  22. <Row size="24"/>
  23. </Rows>
  24. <Band id="head">
  25. <Cell/>
  26. <Cell col="1" text="환자번호"/>
  27. <Cell col="2" text="환자이름"/>
  28. <Cell col="3" text="입원일자"/>
  29. <Cell col="4" text="적용시작"/>
  30. <Cell col="5" text="적용종료"/>
  31. <Cell col="6" text="비고"/>
  32. <Cell col="7" text="환자별seq"/>
  33. </Band>
  34. <Band id="body">
  35. <Cell celltype="head"/>
  36. <Cell col="1" text="bind:pid"/>
  37. <Cell col="2" text="bind:hngnm"/>
  38. <Cell col="3" displaytype="date" edittype="date" text="bind:indd" calendardisplaynulltype="nulltext"/>
  39. <Cell col="4" displaytype="date" edittype="date" text="bind:valifromdt" mask="yyyy-MM-dd HH:mm" calendardisplaynulltype="nulltext"/>
  40. <Cell col="5" displaytype="date" edittype="date" text="bind:valitodt" mask="yyyy-MM-dd HH:mm" calendardisplaynulltype="nulltext"/>
  41. <Cell col="6" displaytype="text" edittype="text" text="bind:patcomment"/>
  42. <Cell col="7" text="bind:seq"/>
  43. </Band>
  44. </Format>
  45. </Formats>
  46. </Grid>
  47. <Shape id="line1" linetype="horizontal" class="line_10" position="absolute 0 132 795 138"/>
  48. <Button id="btn_insert" taborder="1" text="저장" class="btn4" position="absolute 739 1 795 23" onclick="btn_insert_onclick"/>
  49. <Edit id="ipt_pid" taborder="2" position="absolute 105 29 225 48" autoselect="true"/>
  50. <Static id="caption1" text="예외환자정보" class="tit_2" position="absolute 0 7 100 23"/>
  51. <Button id="btn_search" taborder="3" text="조회" class="btn1" position="absolute 622 110 678 132" onclick="btn_search_onclick"/>
  52. <CheckBox id="checkbox1" taborder="4" position="absolute 490 113 615 133" text="종료된 사용자 조회" truevalue="Y" falsevalue="N"/>
  53. <Button id="btn_modify" taborder="5" text="저장" class="btn4" position="absolute 738 110 794 132" onclick="btn_modify_onclick"/>
  54. <Static id="caption3" text="환자번호" class="cell_1" position="absolute 0 28 100 48"/>
  55. <Calendar id="input1" taborder="6" position="absolute 335 29 455 48" mask="yyyy-mm-dd" autoselect="true"/>
  56. <Static id="caption4" text="입원일자" class="cell_1" position="absolute 230 28 330 48"/>
  57. <Static id="caption5" text="적용시작" class="cell_1" position="absolute 0 53 100 73"/>
  58. <Calendar id="input2" taborder="7" position="absolute 105 54 225 73" mask="yyyy-MM-dd HH:mm " dateformat="yyyy-MM-dd HH:mm" value="null" editformat="yyyy-MM-dd HH:mm" autoselect="true"/>
  59. <Static id="caption6" text="적용종료" class="cell_1" position="absolute 230 53 330 73"/>
  60. <Calendar id="input3" taborder="8" position="absolute 335 54 455 73" mask="yyyy-mm-dd hh:nn" dateformat="yyyy-MM-dd HH:mm" value="null" autoselect="true" editformat="yyyy-MM-dd HH:mm"/>
  61. <Static id="caption7" text="비 고" class="cell_1" position="absolute 0 78 100 98"/>
  62. <Edit id="input4" taborder="9" position="absolute 105 79 455 98" autoselect="true"/>
  63. <Shape id="line2" linetype="horizontal" class="line_10" position="absolute 0 23 795 29"/>
  64. <Static id="caption8" text="예외환자목록" class="tit_2" position="absolute 0 116 98 132"/>
  65. <Button id="btn_delete" taborder="10" text="삭제" class="btn4" position="absolute 680 110 736 132" onclick="btn_delete_onclick"/>
  66. </Layout>
  67. </Layouts>
  68. <Objects>
  69. <Dataset id="ds_main_patinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  70. <ColumnInfo>
  71. <Column id="pid" type="STRING" size="256"/>
  72. <Column id="indd" type="STRING" size="256"/>
  73. <Column id="valifromdt" type="STRING" size="256"/>
  74. <Column id="valitodt" type="STRING" size="256"/>
  75. <Column id="patcomment" type="STRING" size="256"/>
  76. </ColumnInfo>
  77. <Rows>
  78. <Row>
  79. <Col id="pid"/>
  80. <Col id="indd"/>
  81. <Col id="valifromdt"/>
  82. <Col id="valitodt"/>
  83. <Col id="patcomment"/>
  84. </Row>
  85. </Rows>
  86. </Dataset>
  87. <Dataset id="ds_main_datalist_datainfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_datalist_datainfo_oncolumnchanged"/>
  88. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  89. <ColumnInfo>
  90. <Column id="endshowyn" type="STRING" size="256"/>
  91. </ColumnInfo>
  92. <Rows>
  93. <Row/>
  94. </Rows>
  95. </Dataset>
  96. <Dataset id="ds_send_save" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  97. <Dataset id="ds_temp_patinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  98. </Objects>
  99. <Bind>
  100. <BindItem id="item0" compid="ipt_pid" propid="value" datasetid="ds_main_patinfo" columnid="pid"/>
  101. <BindItem id="item1" compid="input1" propid="value" datasetid="ds_main_patinfo" columnid="indd"/>
  102. <BindItem id="item2" compid="input3" propid="value" datasetid="ds_main_patinfo" columnid="valitodt"/>
  103. <BindItem id="item3" compid="input2" propid="value" datasetid="ds_main_patinfo" columnid="valifromdt"/>
  104. <BindItem id="item4" compid="input4" propid="value" datasetid="ds_main_patinfo" columnid="patcomment"/>
  105. <BindItem id="item5" compid="checkbox1" propid="value" datasetid="ds_send" columnid="endshowyn"/>
  106. </Bind>
  107. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  108. * System Name :
  109. * Job Name :
  110. * Creator :
  111. * Make Date : 2015-05-01
  112. * Description :
  113. *---------------------------------------------------------------------------------------
  114. * Modify Date Modifier Modify Description
  115. *---------------------------------------------------------------------------------------
  116. * 2015-05-01 Live Converter TF->XP
  117. *
  118. *---------------------------------------------------------------------------------------
  119. ****************************************************************************************/
  120. include "com_commonxp::comm_main.xjs";
  121. function SPMRI03900_oninit(obj:Form, e:InitEventInfo)
  122. {
  123. frmf_initForm(obj);
  124. }
  125. function SPMRI03900_onload(obj:Form, e:LoadEventInfo)
  126. {
  127. grdf_initGrid(grd_patlist);
  128. grdf_setRowTypeIcon(grd_patlist, 0);
  129. fInit();
  130. }
  131. function fInit()
  132. {
  133. fResetInput();
  134. }
  135. function fResetInput()
  136. {
  137. fSetPatInfoValueInit();
  138. fSearch();
  139. }
  140. function fSetPatInfoValueInit()
  141. {
  142. ds_main_patinfo.setColumn(0, "pid", "");
  143. ds_main_patinfo.setColumn(0, "indd", "");
  144. ds_main_patinfo.setColumn(0, "valifromdt", utlf_getCurrentDate()+String(utlf_getCurrentTime()).substr(0,4));
  145. ds_main_patinfo.setColumn(0, "valitodt", "999912312359");
  146. ds_main_patinfo.setColumn(0, "patcomment", "");
  147. }
  148. //조회
  149. function btn_search_onclick(obj:Button, e:ClickEventInfo)
  150. {
  151. fSearch();
  152. }
  153. function fSearch()
  154. {
  155. var oParam = {};
  156. oParam.id = "TRMRI03900";
  157. oParam.service = "unprepmngtapp.ChrtUnprepMngt";
  158. oParam.method = "reqGetPatInfoRecException";
  159. oParam.inds = "req=ds_send";
  160. oParam.outds = "ds_main_datalist_datainfo=datainfo";
  161. oParam.async = false;
  162. //oParam.callback = "cf_TRMRI03900";
  163. tranf_submit(oParam);
  164. }
  165. //삭제
  166. function btn_delete_onclick(obj:Button, e:ClickEventInfo)
  167. {
  168. fPatDelValue();
  169. }
  170. function fPatDelValue()
  171. {
  172. var row = ds_main_datalist_datainfo.rowposition;
  173. if(row > -1)
  174. {
  175. ds_send_save.copyData(ds_main_datalist_datainfo);
  176. ds_send_save.clearData();
  177. ds_send_save.copyRow(ds_send_save.addRow(), ds_main_datalist_datainfo, row);
  178. dsf_makeValue(ds_send_save, "status", "string", "d");
  179. var pid = ds_send_save.getColumn(0, "pid");
  180. var hngnm = ds_send_save.getColumn(0, "hngnm");
  181. var msgflag = sysf_messageBox(hngnm + "("+pid+")의 정보를", "Q001");
  182. if(msgflag == 6)
  183. {
  184. var oParam = {};
  185. oParam.id = "TXMRI03902";
  186. oParam.service = "unprepmngtapp.ChrtUnprepMngt";
  187. oParam.method = "reqSetPatInfoRecException";
  188. oParam.inds = "req=ds_send_save req_endflag=ds_send";
  189. oParam.outds = "ds_main_datalist_datainfo=datainfo";
  190. oParam.async = false;
  191. //oParam.callback = "cf_TXMRI03902";
  192. tranf_submit(oParam);
  193. fResetInput();
  194. }
  195. }
  196. }
  197. //저장
  198. function btn_modify_onclick(obj:Button, e:ClickEventInfo)
  199. {
  200. fPatSetValue();
  201. }
  202. function fPatSetValue()
  203. {
  204. ds_send_save.clear();
  205. var updategrid = grdf_getGridUpdateData(grd_patlist);
  206. grdf_setStatusColumn(updategrid, "status");
  207. ds_send_save.copyData(updategrid, true);
  208. var oParam = {};
  209. oParam.id = "TXMRI03901";
  210. oParam.service = "unprepmngtapp.ChrtUnprepMngt";
  211. oParam.method = "reqSetPatInfoRecException";
  212. oParam.inds = "req=ds_send_save req_endflag=ds_send";
  213. oParam.outds = "ds_main_datalist_datainfo=datainfo";
  214. oParam.async = false;
  215. //oParam.callback = "cf_TXMRI03901";
  216. tranf_submit(oParam);
  217. fResetInput();
  218. }
  219. //저장
  220. function btn_insert_onclick(obj:Button, e:ClickEventInfo)
  221. {
  222. fPatInsert();
  223. }
  224. function fPatInsert()
  225. {
  226. if(utlf_isNull(ds_main_patinfo.getColumn(0, "indd")))
  227. {
  228. sysf_messageBox("해당환자의 입원 일자를 입력해 주세요.","E");
  229. return;
  230. }
  231. if(!utlf_isNull(ds_main_patinfo.getColumn(0, "pid")))
  232. {
  233. ds_send_save.clearData();
  234. ds_send_save.copyData(ds_main_patinfo);
  235. if(fGetPatinfo())
  236. {
  237. var oParam = {};
  238. oParam.id = "TXMRI03900";
  239. oParam.service = "unprepmngtapp.ChrtUnprepMngt";
  240. oParam.method = "reqInsPatInfoRecException";
  241. oParam.inds = "req=ds_main_patinfo req_endflag=ds_send";
  242. oParam.outds = "ds_main_datalist_datainfo=datainfo";
  243. oParam.async = false;
  244. //oParam.callback = "cf_TXMRI03900";
  245. tranf_submit(oParam);
  246. fResetInput();
  247. }
  248. }
  249. }
  250. function fGetPatinfo()
  251. {
  252. var bFlag = false;
  253. var oParam = {};
  254. oParam.id = "TRMRI03901";
  255. oParam.service = "unprepmngtapp.ChrtUnprepMngt";
  256. oParam.method = "reqGetPatInfoRecException_PatInfo";
  257. oParam.inds = "req=ds_send_save";
  258. oParam.outds = "ds_temp_patinfo=patinfoyn";
  259. oParam.async = false;
  260. //oParam.callback = "cf_TRMRI03901";
  261. tranf_submit(oParam);
  262. if(ds_temp_patinfo.getColumn(0, "patinfoyn") == "Y")
  263. {
  264. sysf_messageBox("해당환자의 데이터가 존재합니다","E");
  265. bFlag = false;
  266. }
  267. else
  268. {
  269. bFlag = true;
  270. }
  271. return bFlag;
  272. }
  273. function ds_main_datalist_datainfo_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  274. {
  275. var row = e.row;
  276. var tempValiFromdt = "";
  277. var tempValiTodt = "";
  278. var tempPatComment = "";
  279. var orgValiFromdt = obj.getColumn(row, "valifromdt");
  280. var orgValiTodt = obj.getColumn(row, "valitodt");
  281. var orgPatComment = obj.getColumn(row, "patcomment");
  282. if(e.columnid == "valifromdt")
  283. {
  284. tempValiFromdt = e.newvalue;
  285. }
  286. if(e.columnid == "valitodt")
  287. {
  288. tempValiTodt = e.newvalue;
  289. }
  290. if(e.columnid == "patcomment")
  291. {
  292. tempPatComment = e.newvalue;
  293. }
  294. if(((tempValiFromdt == orgValiFromdt) && (tempValiTodt == orgValiTodt)) && (tempPatComment == orgPatComment))
  295. {
  296. obj.updatecontrol = false;
  297. obj.setRowType(row, "");
  298. obj.updatecontrol = true;
  299. }
  300. }
  301. ]]></Script>
  302. </Form>
  303. </FDL>