SPMNR10400_FlowSheet수액입력화면.xfdl 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMNR10400" position="absolute 0 0 372 350" titletext="Fluid 입력" onload="SPMNR10400_onload">
  5. <Layouts>
  6. <Layout>
  7. <Shape id="line1" class="line_1" position="absolute -12 0 360 0" anchor="default" positiontype="position" linetype="horizontal"/>
  8. <Grid id="grd_fluidinfo" taborder="10" position="absolute 0 107 372 315" anchor="default" positiontype="position" binddataset="ds_grid_grd_fluidinfo" ondbclick="grd_fluidinfo_ondbclick" oncelldblclick="grd_fluidinfo_oncelldblclick" cellsizingtype="col" scrollpixel="all" cellsizebandtype="allband">
  9. <Formats>
  10. <Format id="default">
  11. <Columns>
  12. <Column size="20" band="left"/>
  13. <Column size="45"/>
  14. <Column size="46"/>
  15. <Column size="65"/>
  16. <Column size="56"/>
  17. <Column size="59"/>
  18. <Column size="62"/>
  19. <Column size="0"/>
  20. </Columns>
  21. <Rows>
  22. <Row size="22" band="head"/>
  23. <Row size="20"/>
  24. </Rows>
  25. <Band id="head">
  26. <Cell/>
  27. <Cell col="1" colspan="2" text="시간/분" taborder="undefined"/>
  28. <Cell col="3" text="진행상태"/>
  29. <Cell col="4" text="cc/hr"/>
  30. <Cell col="5" text="㎍/㎏/min"/>
  31. <Cell col="6" text="기록자"/>
  32. <Cell col="7"/>
  33. </Band>
  34. <Band id="body">
  35. <Cell celltype="head"/>
  36. <Cell col="1" displaytype="combo" edittype="combo" style="align:center middle;" text="bind:hh" combodataset="ds_gridhhlist" combocodecol="cd" combodatacol="nm"/>
  37. <Cell col="2" displaytype="combo" edittype="combo" style="align:center middle;" text="bind:mm" combodataset="ds_gridmmlist" combocodecol="cd" combodatacol="nm"/>
  38. <Cell col="3" displaytype="combo" edittype="combo" style="align:center middle;" text="bind:fluidstat" combodataset="ds_statlist" combocodecol="cd" combodatacol="nm"/>
  39. <Cell col="4" style="align:center middle;" text="bind:cc"/>
  40. <Cell col="5" style="align:center middle;" text="bind:etc"/>
  41. <Cell col="6" style="align:center middle;" text="bind:usernm"/>
  42. <Cell col="7" style="align:center middle;" text="bind:clncobsseqno"/>
  43. <Cell col="8"/>
  44. </Band>
  45. </Format>
  46. </Formats>
  47. </Grid>
  48. <Button id="btn_add" class="btn5" enable="true" taborder="8" position="absolute 328 9 372 29" anchor="default" positiontype="position" text="등록" onclick="btn_add_onclick"/>
  49. <Shape id="line2" class="line_3" position="absolute -5 -12 367 -12" anchor="default" positiontype="position" linetype="horizontal"/>
  50. <Button id="btn_del" class="btn2" enable="true" taborder="11" position="absolute 281 9 325 29" anchor="default" positiontype="position" text="삭제" onclick="btn_del_onclick"/>
  51. <Button id="btn_new" class="btn2" taborder="2" position="absolute 234 9 278 29" anchor="default" positiontype="position" text="신규" onclick="btn_new_onclick"/>
  52. <Static id="caption4" class="tit_2" position="absolute 0 87 121 107" anchor="default" positiontype="position" text="Fluid 기록 List"/>
  53. <Static id="caption7" class="tit_2" position="absolute 0 12 121 32" anchor="default" positiontype="position" text="Fluid 입력"/>
  54. <Button position="absolute 316 320 372 342" id="btn_close" class="btn4" taborder="1" text="닫기" onclick="btn_close_onclick"/>
  55. <Div id="grp_ipt" taborder="13" position="absolute 0 32 372 82" class="div_SA">
  56. <Layouts>
  57. <Layout>
  58. <Static id="caption2" text="시간" class="cell_1" position="absolute 1 5 66 24" style="padding:0 0 0 0;align:center middle;" anchor="default"/>
  59. <Static id="caption1" text="분" class="cell_1" position="absolute 66 5 131 24" style="padding:0 0 0 0;align:center middle;" anchor="default"/>
  60. <Static id="caption3" text="진행상태" class="cell_1" position="absolute 131 5 222 24" style="padding:0 0 0 0;align:center middle;" anchor="default"/>
  61. <Combo id="cmb_fluidstat" taborder="3" innerdataset="@ds_statlist" codecolumn="cd" datacolumn="nm" position="absolute 132 26 221 46" style="align:center middle;" onitemchanged="cmb_fluidstat_onitemchanged" anchor="default"/>
  62. <Static id="caption5" text="cc/hr" class="cell_1" position="absolute 222 5 287 24" style="padding:0 0 0 0;align:center middle;" anchor="default"/>
  63. <MaskEdit id="ipt_cc" taborder="4" mask="#,###.###" position="absolute 223 26 286 46" style="align:center middle;" imemode="hangul" maxlength="4" anchor="default" autoselect="true" maskchar=" " displaynulltext=" " limitbymask="both"/>
  64. <Static id="caption6" text="Graph" class="cell_1" position="absolute 287 5 371 24" style="padding:0 0 0 0;align:center middle;" anchor="default"/>
  65. <MaskEdit id="ipt_etc" taborder="5" mask="#,###.######" position="absolute 288 26 369 46" style="align:center middle;" imemode="hangul" anchor="default" autoselect="true" maskchar=" " displaynulltext=" "/>
  66. <Combo id="cmb_hh" taborder="6" innerdataset="@ds_gridhhlist" codecolumn="cd" datacolumn="nm" type="search" class="combo_search" position="absolute 2 26 64 46" anchor="top right" usertext="" autoselect="true" ontextchange="grp_ipt_cmb_hh_ontextchange" onkillfocus="grp_ipt_cmb_hh_onkillfocus" style="align:center middle;" oncloseup="grp_ipt_cmb_hh_oncloseup" onitemchanged="grp_ipt_cmb_hh_onitemchanged"/>
  67. <Combo id="cmb_mm" taborder="7" autoselect="true" innerdataset="@ds_gridmmlist" codecolumn="cd" datacolumn="nm" type="search" class="combo_search" position="absolute 67 26 129 46" anchor="top right" style="align:center middle;" usertext="" oncloseup="grp_ipt_cmb_mm_oncloseup" onitemchanged="grp_ipt_cmb_mm_onitemchanged" onkillfocus="grp_ipt_cmb_mm_onkillfocus" ontextchange="grp_ipt_cmb_mm_ontextchange"/>
  68. </Layout>
  69. </Layouts>
  70. </Div>
  71. <Shape id="line3" class="line_3" position="absolute -3 38 369 38" style="align:center middle;"/>
  72. <Button id="btn_currenttm" taborder="14" text="현재시간" class="btn2" position="absolute 165 9 231 29" onclick="btn_currenttm_onclick"/>
  73. </Layout>
  74. </Layouts>
  75. <Objects>
  76. <Dataset id="ds_grid_grd_fluidinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  77. <ColumnInfo>
  78. <Column id="hh" type="STRING"/>
  79. <Column id="mm" type="STRING"/>
  80. <Column id="fluidstat" type="STRING"/>
  81. <Column id="cc" type="STRING"/>
  82. <Column id="etc" type="STRING"/>
  83. <Column id="usernm" type="STRING"/>
  84. <Column id="clncobsseqno" type="STRING"/>
  85. </ColumnInfo>
  86. </Dataset>
  87. <Dataset id="ds_fluidinputdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  88. <ColumnInfo>
  89. <Column id="hh" type="STRING" size="256"/>
  90. <Column id="mm" type="STRING" size="256"/>
  91. <Column id="fluidstat" type="STRING" size="256"/>
  92. <Column id="cc" type="STRING" size="256"/>
  93. <Column id="etc" type="STRING" size="256"/>
  94. <Column id="usernm" type="STRING" size="256"/>
  95. <Column id="clncobsseqno" type="STRING" size="256"/>
  96. <Column id="status" type="STRING" size="256"/>
  97. </ColumnInfo>
  98. </Dataset>
  99. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  100. <ColumnInfo>
  101. <Column id="carerecseqno" type="STRING" size="256"/>
  102. <Column id="pid" type="STRING" size="256"/>
  103. <Column id="indd" type="STRING" size="256"/>
  104. <Column id="cretno" type="STRING" size="256"/>
  105. <Column id="wardcd" type="STRING" size="256"/>
  106. <Column id="roomcd" type="STRING" size="256"/>
  107. <Column id="fromdt" type="STRING" size="256"/>
  108. </ColumnInfo>
  109. <Rows>
  110. <Row/>
  111. </Rows>
  112. </Dataset>
  113. <Dataset id="ds_fluidlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  114. <ColumnInfo>
  115. <Column id="carerecseqno" type="bigdecimal" size="255"/>
  116. <Column id="recdt" type="string" size="255"/>
  117. <Column id="usernm" type="string" size="255"/>
  118. <Column id="userid" type="string" size="255"/>
  119. <Column id="recrslt" type="string" size="255"/>
  120. <Column id="fluidstat" type="string" size="255"/>
  121. <Column id="fluidetcinfo" type="string" size="255"/>
  122. <Column id="certkey" type="string" size="255"/>
  123. <Column id="clncobsseqno" type="string" size="255"/>
  124. </ColumnInfo>
  125. </Dataset>
  126. <Dataset id="ds_gridhhlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  127. <ColumnInfo>
  128. <Column id="cd" type="STRING" size="256"/>
  129. <Column id="nm" type="STRING" size="256"/>
  130. </ColumnInfo>
  131. </Dataset>
  132. <Dataset id="ds_gridmmlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  133. <ColumnInfo>
  134. <Column id="cd" type="STRING" size="256"/>
  135. <Column id="nm" type="STRING" size="256"/>
  136. </ColumnInfo>
  137. </Dataset>
  138. <Dataset id="ds_statlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  139. <ColumnInfo>
  140. <Column id="cd" type="STRING" size="256"/>
  141. <Column id="nm" type="STRING" size="256"/>
  142. </ColumnInfo>
  143. <Rows>
  144. <Row>
  145. <Col id="cd">S</Col>
  146. <Col id="nm">Start</Col>
  147. </Row>
  148. <Row>
  149. <Col id="cd">C</Col>
  150. <Col id="nm">Change</Col>
  151. </Row>
  152. <Row>
  153. <Col id="cd">E</Col>
  154. <Col id="nm">End</Col>
  155. </Row>
  156. </Rows>
  157. </Dataset>
  158. <Dataset id="ds_recinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  159. <ColumnInfo>
  160. <Column id="reclist" type="STRING" size="256"/>
  161. <Column id="recdt" type="STRING" size="256"/>
  162. <Column id="fluidstat" type="STRING" size="256"/>
  163. <Column id="fluidetcinfo" type="STRING" size="256"/>
  164. </ColumnInfo>
  165. </Dataset>
  166. <Dataset id="ds_signdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  167. </Objects>
  168. <Bind>
  169. <BindItem id="item2" compid="grp_ipt.cmb_fluidstat" propid="value" datasetid="ds_fluidinputdata" columnid="fluidstat"/>
  170. <BindItem id="item3" compid="grp_ipt.ipt_cc" propid="value" datasetid="ds_fluidinputdata" columnid="cc"/>
  171. <BindItem id="item4" compid="grp_ipt.ipt_etc" propid="value" datasetid="ds_fluidinputdata" columnid="etc"/>
  172. <BindItem id="item5" compid="grp_ipt.cmb_hh" propid="value" datasetid="ds_fluidinputdata" columnid="hh"/>
  173. <BindItem id="item0" compid="grp_ipt.cmb_mm" propid="value" datasetid="ds_fluidinputdata" columnid="mm"/>
  174. </Bind>
  175. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  176. * System Name : KU2.0
  177. * Job Name :
  178. * File Name : SPMNR10400_FlowSheet수액입력화면.xfdl
  179. * Creator :
  180. * Make Date : 2016-05-31
  181. *
  182. * Description :
  183. *---------------------------------------------------------------------------------------
  184. * Modify Date Modifier Modify Description
  185. *---------------------------------------------------------------------------------------
  186. *
  187. *---------------------------------------------------------------------------------------
  188. ****************************************************************************************/
  189. //=======================================================================================
  190. // xjs Include
  191. //---------------------------------------------------------------------------------------
  192. include "com_commonxp::comm_main.xjs";
  193. //include "com_signxp::ZES001.xjs";
  194. include "emr_carecomxp::CareCom.xjs";
  195. include "emr_carecomxp::ENRSignEngine.xjs";
  196. //******************************************************************
  197. // 전역변수 설정
  198. //******************************************************************
  199. var lgv_casrerecseqno = "";
  200. var lgv_fromdt = "";
  201. var lgv_todt = "";
  202. var lgv_pid = "";
  203. var lgv_indd = "";
  204. var lgv_cretno = "";
  205. var lgv_wardcd = "";
  206. var lgv_roomcd = "";
  207. var lgv_ioflag = "";
  208. var lgv_orddeptcd = "";
  209. var lgv_orddrid = "";
  210. var recdtArray = new Array();
  211. var recrsltArray = new Array();
  212. var fluidstatArray = new Array();
  213. var fluidetcinfoArray = new Array();
  214. var userinfoArray = new Array();
  215. var clncobsseqnoArray = new Array();
  216. var rtnrecdt = "";
  217. var rtnrecrslt = "";
  218. var rtnfluidstat = "";
  219. var rtnfluidetcinfo = "";
  220. var rtnuserinfo = "";
  221. var rtnsavedata = "";
  222. var gstrhh = "";
  223. var gstrmm = "";
  224. /****************************************************************************************
  225. * Function : lf_init
  226. * Description : 화면 초기화
  227. * Argument :
  228. * return type :
  229. * Creator :
  230. ****************************************************************************************/
  231. function lf_init()
  232. {
  233. lf_initInputNodeSet(true);
  234. if (ds_fluidinputdata.getRowCount() != 0)
  235. {
  236. ds_fluidinputdata.clearData();
  237. }
  238. ds_fluidinputdata.addRow();
  239. var sParamMsgInfo = "";
  240. if ( frmf_checkOpener() ) {
  241. sParamMsgInfo = opener.frmf_getParameter("SPMNR10400_Param");
  242. }
  243. //FlowSheet에서 넘어온 Parameter 정보 세팅
  244. lgv_casrerecseqno = utlf_transNullToEmpty(getArrayData(sParamMsgInfo, 0 ,0));
  245. lgv_fromdt = utlf_transNullToEmpty(getArrayData(sParamMsgInfo, 0 ,1));
  246. lgv_todt = utlf_transNullToEmpty(getArrayData(sParamMsgInfo, 0 ,2));
  247. lgv_pid = utlf_transNullToEmpty(getArrayData(sParamMsgInfo, 0 ,3));
  248. lgv_indd = utlf_transNullToEmpty(getArrayData(sParamMsgInfo, 0 ,4));
  249. lgv_cretno = utlf_transNullToEmpty(getArrayData(sParamMsgInfo, 0 ,5));
  250. lgv_wardcd = utlf_transNullToEmpty(getArrayData(sParamMsgInfo, 0 ,6));
  251. lgv_roomcd = utlf_transNullToEmpty(getArrayData(sParamMsgInfo, 0 ,7));
  252. lgv_ioflag = utlf_transNullToEmpty(getArrayData(sParamMsgInfo, 0 ,8));
  253. lgv_orddeptcd = utlf_transNullToEmpty(getArrayData(sParamMsgInfo, 0 ,9));
  254. lgv_orddrid = utlf_transNullToEmpty(getArrayData(sParamMsgInfo, 0 ,10));
  255. if( !utlf_isNull(getArrayData(sParamMsgInfo, 0 ,11)) )
  256. {
  257. grp_ipt.caption6.text = utlf_transNullToEmpty(getArrayData(sParamMsgInfo, 0 ,11));
  258. }
  259. lf_makeTmCmbNode("24", ds_gridhhlist);
  260. lf_makeTmCmbNode("60", ds_gridmmlist);
  261. ds_send.clearData();
  262. ds_send.addRow();
  263. ds_send.enableevent = false;
  264. ds_send.setColumn(0, "carerecseqno", lgv_casrerecseqno);
  265. ds_send.setColumn(0, "pid", lgv_pid);
  266. ds_send.setColumn(0, "indd", lgv_indd);
  267. ds_send.setColumn(0, "cretno", lgv_cretno);
  268. ds_send.setColumn(0, "wardcd", lgv_wardcd);
  269. ds_send.setColumn(0, "roomcd", lgv_roomcd);
  270. ds_send.setColumn(0, "fromdt", lgv_fromdt);
  271. ds_send.enableevent = true;
  272. // 트랙잭션 생성
  273. var oParam = new Object();
  274. oParam.id = "TRMNR10401";
  275. oParam.service = "flowchartapp.FlowChartRecMngt";
  276. oParam.method = "reqGetFluidInfo";
  277. oParam.inds = "req=" + ds_send.name;
  278. oParam.outds = ds_fluidlist.name + "=fluidlist";
  279. oParam.async = true;
  280. oParam.callback = "cf_TRMNR10401";
  281. tranf_submit(oParam);
  282. }
  283. /****************************************************************************************
  284. * Function : cbf_TRMNR10401
  285. * Description : Fluid기록 정보 조회 콜백
  286. * Argument :
  287. * return type :
  288. * Creator :
  289. ****************************************************************************************/
  290. function cf_TRMNR10401(strSvcID, nErrorCode, strErrorMag)
  291. {
  292. if (nErrorCode != 0){
  293. sysf_messageBox("", "E000", strErrorMag);
  294. return;
  295. } else {
  296. lf_settingFluidInfo();
  297. }
  298. }
  299. /****************************************************************************************
  300. * Function : lf_settingFluidInfo
  301. * Description : Fluid기록 정보 세팅
  302. * Argument :
  303. * return type :
  304. * Creator :
  305. ****************************************************************************************/
  306. function lf_settingFluidInfo() {
  307. ds_grid_grd_fluidinfo.clearData();
  308. var sRow = ds_fluidlist.findRow("carerecseqno", lgv_casrerecseqno);
  309. var sRecdt = utlf_transNullToEmpty(ds_fluidlist.getColumn(sRow, "recdt"));
  310. var sRecrslt = utlf_transNullToEmpty(ds_fluidlist.getColumn(sRow, "recrslt"));
  311. var sFluidstat = utlf_transNullToEmpty(ds_fluidlist.getColumn(sRow, "fluidstat"));
  312. var sFluidetcinfo = utlf_transNullToEmpty(ds_fluidlist.getColumn(sRow, "fluidetcinfo"));
  313. var sUserinfo = utlf_transNullToEmpty(ds_fluidlist.getColumn(sRow, "usernm"));
  314. var sClncobsseqno = utlf_transNullToEmpty(ds_fluidlist.getColumn(sRow, "clncobsseqno"));
  315. recdtArray = sRecdt.split("^");
  316. recrsltArray = sRecrslt.split("^");
  317. fluidstatArray = sFluidstat.split("^");
  318. fluidetcinfoArray = sFluidetcinfo.split("^");
  319. userinfoArray = sUserinfo.split("^");
  320. clncobsseqnoArray = sClncobsseqno.split("^");
  321. var nRow;
  322. ds_grid_grd_fluidinfo.enableevent = false;
  323. ds_grid_grd_fluidinfo.updatecontrol = false;
  324. for( var i = 0 ; i < recdtArray.length ; i++ ) {
  325. if( !utlf_isNull(lgv_fromdt) && !utlf_isNull(lgv_todt) && lgv_fromdt <= recdtArray[i] && lgv_todt > recdtArray[i]) {
  326. nRow = ds_grid_grd_fluidinfo.addRow();
  327. ds_grid_grd_fluidinfo.setColumn(nRow, "hh", recdtArray[i].substr(8, 2));
  328. ds_grid_grd_fluidinfo.setColumn(nRow, "mm", recdtArray[i].substr(10, 2));
  329. ds_grid_grd_fluidinfo.setColumn(nRow, "fluidstat", fluidstatArray[i]);
  330. ds_grid_grd_fluidinfo.setColumn(nRow, "cc", recrsltArray[i]);
  331. ds_grid_grd_fluidinfo.setColumn(nRow, "etc", fluidetcinfoArray[i]);
  332. ds_grid_grd_fluidinfo.setColumn(nRow, "usernm", userinfoArray[i]);
  333. ds_grid_grd_fluidinfo.setColumn(nRow, "clncobsseqno", clncobsseqnoArray[i]);
  334. }
  335. }
  336. ds_grid_grd_fluidinfo.updatecontrol = true;
  337. ds_grid_grd_fluidinfo.enableevent = true;
  338. }
  339. /****************************************************************************************
  340. * Function : lf_makeWord
  341. * Description : 문장에 구분자를 추가
  342. * Argument :
  343. * return type :
  344. * Creator :
  345. ****************************************************************************************/
  346. function lf_makeWord(pWord, pSplitFlag)
  347. {
  348. if (utlf_isNull(pSplitFlag)) {
  349. pSplitFlag = "\n";
  350. }
  351. if (!utlf_isNull(pWord)) {
  352. pWord += pSplitFlag;
  353. }
  354. return pWord;
  355. }
  356. /****************************************************************************************
  357. * Function : lf_makeTmCmbNode
  358. * Description : 시간, 분 콤보 세팅 함수
  359. * Argument :
  360. * return type :
  361. * Creator :
  362. ****************************************************************************************/
  363. function lf_makeTmCmbNode(pTmflag, ds_Obj:Dataset) {
  364. var sCd;
  365. var nRow;
  366. for (var i = 0 ;i < pTmflag; i++) {
  367. sCd = "";
  368. if(i < 10) {
  369. sCd = "0" + i;
  370. } else {
  371. sCd = i;
  372. }
  373. if (sCd == pTmflag) {
  374. sCd = pTmflag;
  375. }
  376. nRow = ds_Obj.addRow();
  377. ds_Obj.setColumn(nRow, "cd", sCd);
  378. ds_Obj.setColumn(nRow, "nm", sCd);
  379. }
  380. }
  381. /****************************************************************************************
  382. * Function : lf_addFluidInfo
  383. * Description : Fluid 등록/삭제 조건검사
  384. * Argument :
  385. * return type :
  386. * Creator :
  387. ****************************************************************************************/
  388. function lf_addFluidInfo(pFlag)
  389. {
  390. var sMsg = "";
  391. var sMsgvalue = "";
  392. var sFluidBeforeStat = "";
  393. var sFluidAfterStat = "";
  394. var sInshh = "";
  395. var sInsmm = "";
  396. var sInsFluidStat = "";
  397. var sInsFluidCC = "";
  398. var sInsFluidEtc = "";
  399. var sInsDt = "";
  400. var sInsClncObsSeqNo = "";
  401. var nRtnmsg = 0;
  402. sInshh = utlf_transNullToEmpty(ds_fluidinputdata.getColumn(0, "hh"));
  403. sInsmm = utlf_transNullToEmpty(ds_fluidinputdata.getColumn(0, "mm"));
  404. sInsFluidStat = utlf_transNullToEmpty(ds_fluidinputdata.getColumn(0, "fluidstat"));
  405. sInsFluidCC = utlf_transNullToEmpty(ds_fluidinputdata.getColumn(0, "cc"));
  406. sInsFluidEtc = utlf_transNullToEmpty(ds_fluidinputdata.getColumn(0, "etc"));
  407. sInsDt = lgv_fromdt.substr(0, 8) + sInshh + sInsmm + "00";
  408. sInsClncObsSeqNo = utlf_transNullToEmpty(ds_fluidinputdata.getColumn(0, "clncobsseqno"));
  409. if (pFlag == "ins") {
  410. // Update 체크
  411. if ( !utlf_isNull(sInsClncObsSeqNo)) {
  412. if (utlf_transNullToEmpty(ds_grid_grd_fluidinfo.lookup("clncobsseqno", sInsClncObsSeqNo, "hh")) == sInshh &&
  413. utlf_transNullToEmpty(ds_grid_grd_fluidinfo.lookup("clncobsseqno", sInsClncObsSeqNo, "mm")) == sInsmm &&
  414. utlf_transNullToEmpty(ds_grid_grd_fluidinfo.lookup("clncobsseqno", sInsClncObsSeqNo, "fluidstat")) == sInsFluidStat &&
  415. utlf_transNullToEmpty(ds_grid_grd_fluidinfo.lookup("clncobsseqno", sInsClncObsSeqNo, "cc")) == sInsFluidCC &&
  416. utlf_transNullToEmpty(ds_grid_grd_fluidinfo.lookup("clncobsseqno", sInsClncObsSeqNo, "etc")) == sInsFluidEtc) {
  417. sysf_messageBox("변경된 내용이", "I004", "");
  418. return false;
  419. }
  420. }
  421. //Fluid 입력 제한 조건
  422. if (utlf_isNull(sInshh) || utlf_isNull(sInsmm)) {
  423. sysf_messageBox("기록 시간이 입력되지", "E007", "");
  424. return false;
  425. }
  426. if (utlf_isNull(sInsFluidStat)) {
  427. sysf_messageBox("진행상태가 입력되지", "E007", "");
  428. return false;
  429. }
  430. if (sInsFluidStat == "S" && (utlf_isNull(sInsFluidCC) || utlf_isNull(sInsFluidEtc))) {
  431. sysf_messageBox("Start 입력시 " + grp_ipt.caption6.text + " 는 필수 입력입니다.", "E000", "");
  432. return false;
  433. }
  434. if (sInsFluidStat == "C" && (utlf_isNull(sInsFluidCC) || utlf_isNull(sInsFluidEtc))) {
  435. sysf_messageBox("Change 입력시 " + grp_ipt.caption6.text + " 는 필수 입력입니다.", "E000", "");
  436. return false;
  437. }
  438. if (sInsFluidStat != "E" && (!utlf_isNum(sInsFluidCC) || !utlf_isNum(sInsFluidEtc))) {
  439. sysf_messageBox("cc/hr & " + grp_ipt.caption6.text + " 는 숫자형식만 입력 가능 합니다.", "E000", "");
  440. return false;
  441. }
  442. for (var i = 0 ; i < recdtArray.length; i++) {
  443. if (sInsDt == recdtArray[i] && sInsFluidStat == fluidstatArray[i] && sInsClncObsSeqNo != clncobsseqnoArray[i]) {
  444. sysf_messageBox("동일한 시간에 Change 내역이 존재합니다.", "E000", "");
  445. return;
  446. }
  447. if (sInsDt >= recdtArray[i] && sInsClncObsSeqNo != clncobsseqnoArray[i]) {
  448. sFluidBeforeStat = fluidstatArray[i];
  449. } else if (sInsDt <= recdtArray[i] && utlf_isNull(sFluidAfterStat) && sInsClncObsSeqNo != clncobsseqnoArray[i]) {
  450. sFluidAfterStat = fluidstatArray[i];
  451. }
  452. }
  453. if (sInsFluidStat == "S") {
  454. if (sFluidBeforeStat == "S" || sFluidBeforeStat == "C") {
  455. sMsg += lf_makeWord(sMsg) + "입력 시간 이전에 Start 된 정보가 존재합니다.";
  456. sMsgvalue = "E";
  457. }
  458. else if (sFluidAfterStat == "S") {
  459. sMsg += lf_makeWord(sMsg) + "입력 시간 이후에 Start 된 정보가 존재합니다.";
  460. sMsgvalue = "E";
  461. }
  462. } else if (sInsFluidStat == "C") {
  463. if (sFluidBeforeStat == "E") {
  464. sMsg += lf_makeWord(sMsg) + "Start 정보가 존재하지 않습니다.";
  465. sMsgvalue = "E";
  466. } else if (utlf_isNull(sFluidBeforeStat)) {
  467. sMsg += lf_makeWord(sMsg) + "Start 정보가 존재하지 않습니다.";
  468. sMsgvalue = "E";
  469. }
  470. } else if (sInsFluidStat == "E") {
  471. if( sFluidBeforeStat == "E" ) {
  472. sMsg += lf_makeWord(sMsg) + "입력 시간 이전에 End 된 정보가 존재합니다.";
  473. sMsgvalue = "E";
  474. } else if (utlf_isNull(sFluidBeforeStat)) {
  475. sMsg += lf_makeWord(sMsg) + "Start 정보가 존재하지 않습니다.";
  476. sMsgvalue = "E";
  477. } else if (sFluidAfterStat == "C") {
  478. sMsg += lf_makeWord(sMsg) + "입력 시간 이후에 Change 된 정보가 존재합니다.";
  479. sMsgvalue = "E";
  480. } else if (sFluidAfterStat == "E") {
  481. sMsg += lf_makeWord(sMsg) + "입력 시간 이후에 End 된 기록이 존재합니다.";
  482. sMsgvalue = "E";
  483. }
  484. }
  485. if (!utlf_isNull(sMsgvalue)) {
  486. nRtnmsg = sysf_messageBox(sMsg, sMsgvalue, "");
  487. if (nRtnmsg != 6) {
  488. return false;
  489. }
  490. }
  491. } else {//del
  492. if (utlf_isNull(sInsClncObsSeqNo)) {
  493. lf_initInputNodeSet(true);
  494. return;
  495. } else {
  496. for (var i = 0; i < recdtArray.length; i++) {
  497. if (sInsDt >= recdtArray[i] && sInsClncObsSeqNo != clncobsseqnoArray[i]) {
  498. sFluidBeforeStat = fluidstatArray[i];
  499. } else if (sInsDt <= recdtArray[i] && utlf_isNull(sFluidAfterStat) && sInsClncObsSeqNo != clncobsseqnoArray[i]) {
  500. sFluidAfterStat = fluidstatArray[i];
  501. }
  502. }
  503. if (sInsFluidStat == "S") {
  504. if (sFluidAfterStat == "C") {
  505. sMsg += lf_makeWord(sMsg) + "해당 기록과 관련된 Change 정보가 존재하여 삭제가 할 수 없습니다.";
  506. sMsgvalue = "E";
  507. } else if (sFluidAfterStat == "E") {
  508. sMsg += lf_makeWord(sMsg) + "해당 기록과 관련된 End 정보가 존재하여 삭제가 할 수 없습니다.";
  509. sMsgvalue = "Q001";
  510. }
  511. } else if (sInsFluidStat == "E") {
  512. if (sFluidAfterStat == "S") {
  513. sMsg += lf_makeWord(sMsg) + "이후 기록에 Start 정보가 존재하여 삭제가 할 수 없습니다.";
  514. sMsgvalue = "E";
  515. }
  516. }
  517. if (!utlf_isNull(sMsgvalue)) {
  518. nRtnmsg = sysf_messageBox(sMsg, sMsgvalue, "");
  519. if (nRtnmsg != 6) {
  520. return false;
  521. }
  522. }
  523. ds_fluidinputdata.enableevent = false;
  524. ds_fluidinputdata.setColumn(0, "status", "U");
  525. ds_fluidinputdata.setColumn(0, "fluidstat", "");
  526. ds_fluidinputdata.setColumn(0, "cc", "");
  527. ds_fluidinputdata.setColumn(0, "etc", "");
  528. ds_fluidinputdata.enableevent = true;
  529. }
  530. }
  531. lf_saveFluidInfo();
  532. return true;
  533. }
  534. /****************************************************************************************
  535. * Function : lf_initInputNodeSet
  536. * Description : 입력 부분 초기화
  537. * Argument :
  538. * return type :
  539. * Creator :
  540. ****************************************************************************************/
  541. function lf_initInputNodeSet(pBoolean)
  542. {
  543. ds_fluidinputdata.enableevent = false;
  544. ds_fluidinputdata.setColumn(0, "hh", "");
  545. ds_fluidinputdata.setColumn(0, "mm", "");
  546. ds_fluidinputdata.setColumn(0, "fluidstat", "");
  547. ds_fluidinputdata.setColumn(0, "cc", "");
  548. ds_fluidinputdata.setColumn(0, "etc", "");
  549. ds_fluidinputdata.setColumn(0, "usernm", "");
  550. ds_fluidinputdata.setColumn(0, "clncobsseqno", "");
  551. ds_fluidinputdata.setColumn(0, "status", "");
  552. ds_fluidinputdata.enableevent = true;
  553. grp_ipt.enable = !pBoolean;
  554. btn_del.enable = !pBoolean;
  555. btn_add.enable = !pBoolean;
  556. }
  557. /****************************************************************************************
  558. * Function : lf_saveFluidInfo
  559. * Description : Fluid 등록/삭제
  560. * Argument :
  561. * return type :
  562. * Creator :
  563. ****************************************************************************************/
  564. function lf_saveFluidInfo()
  565. {
  566. var sSaveStatus = utlf_transNullToEmpty(ds_fluidinputdata.getColumn(0, "status"));
  567. var sSaveHH = utlf_transNullToEmpty(ds_fluidinputdata.getColumn(0, "hh"));
  568. var sSaveMM = utlf_transNullToEmpty(ds_fluidinputdata.getColumn(0, "mm"));
  569. var sSaveFluidStat = utlf_transNullToEmpty(ds_fluidinputdata.getColumn(0, "fluidstat"));
  570. var sSaveCC = utlf_transNullToEmpty(ds_fluidinputdata.getColumn(0, "cc"));
  571. var sSaveEtc = utlf_transNullToEmpty(ds_fluidinputdata.getColumn(0, "etc"));
  572. var sSaveClncObsSeqNo = utlf_transNullToEmpty(ds_fluidinputdata.getColumn(0, "clncobsseqno"));
  573. ds_recinfo.clearData();
  574. var nRow = ds_recinfo.addRow();
  575. ds_recinfo.enableevent = false;
  576. ds_recinfo.setColumn(nRow, "reclist", sSaveCC);
  577. ds_recinfo.setColumn(nRow, "recdt", lgv_fromdt.substr(0, 8) + sSaveHH + sSaveMM + "00");
  578. ds_recinfo.setColumn(nRow, "fluidstat", ds_statlist.lookup("cd", sSaveFluidStat, "nm"));
  579. ds_recinfo.setColumn(nRow, "fluidetcinfo", sSaveEtc);
  580. ds_recinfo.enableevent = true;
  581. ds_send.clear();
  582. dsf_createDsRow(ds_send.name, [{col:"status", type:"string", val:sSaveStatus}
  583. ,{col:"pid", type:"string", val:lgv_pid}
  584. ,{col:"indd", type:"string", val:lgv_indd}
  585. ,{col:"cretno", type:"string", val:lgv_cretno}
  586. ,{col:"wardcd", type:"string", val:lgv_wardcd}
  587. ,{col:"roomcd", type:"string", val:lgv_roomcd}
  588. ,{col:"ioflag", type:"string", val:lgv_ioflag}
  589. ,{col:"carerecseqno", type:"string", val:lgv_casrerecseqno}
  590. ,{col:"recdt", type:"string", val:lgv_fromdt.substr(0, 8) + sSaveHH + sSaveMM + "00"}
  591. ,{col:"recrslt", type:"string", val:sSaveCC}
  592. ,{col:"fluidstat", type:"string", val:sSaveFluidStat}
  593. ,{col:"fluidetcinfo", type:"string", val:sSaveEtc}
  594. ,{col:"rectype", type:"string", val:"H"}
  595. ,{col:"clncobsseqno", type:"string", val:sSaveClncObsSeqNo}]);
  596. ds_signdata.clear();
  597. Sign.certreload = true ; // 전자서명 호출시 인증저장 버튼을 누늘때마다 인증서가 뜨도록 처리
  598. if (Sign.signprocess() == true) {
  599. Sign.certreload = false;
  600. dsf_createDsRow("ds_signdata", [{col:"pid", type:"string", val:lgv_pid}
  601. ,{col:"orddd", type:"string", val:lgv_indd}
  602. ,{col:"signno", type:"string", val:""}
  603. ,{col:"cretno", type:"string", val:lgv_cretno}
  604. ,{col:"recdd", type:"string", val:utlf_getCurrentDate()}
  605. ,{col:"rectm", type:"string", val:utlf_getCurrentTime()}
  606. ,{col:"recsaveflag", type:"string", val:"Y"}
  607. ,{col:"signflag", type:"string", val:"02"}
  608. ,{col:"signgenrflag", type:"string", val:lgv_ioflag}
  609. ,{col:"formcd", type:"string", val:"0000002443"}
  610. ,{col:"orddeptcd", type:"string", val:lgv_orddeptcd}
  611. ,{col:"orddrid", type:"string", val:lgv_orddrid}
  612. ,{col:"carerecseqno", type:"string", val:lgv_casrerecseqno}
  613. ,{col:"lnkrecdt", type:"string", val:lgv_fromdt.substr(0, 8) + sSaveHH + sSaveMM + "00"}
  614. ,{col:"dispyn", type:"string", val:"N"}
  615. ,{col:"signbfcnts", type:"string", val:Sign.signedInfos[1]} // ▶ 인증할 데이터 정보(미기록 노드 제거된 정보) ▶ 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
  616. ,{col:"signaftcnts", type:"string", val:Sign.signedInfos[2]}]); // ▶ 공인인증 처리후 데이터
  617. } else {
  618. return false;
  619. }
  620. var sInPatientinfoDs = dsf_createDsRow("in_ds_patientinfo"
  621. , [{col:"pid", val: appf_getPatientInfo("pid")}
  622. ,{col:"pname", val: appf_getPatientInfo("hngnm")}
  623. ,{col:"btype", val: appf_getPatientInfo("btype")}
  624. ,{col:"insukind", val: appf_getPatientInfo("insukind")}
  625. ,{col:"orddept", val: appf_getPatientInfo("orddept")}
  626. ,{col:"apntdr", val: appf_getPatientInfo("apntdr")}]);
  627. var sInSessioninfoDS = dsf_createDsRow("in_ds_sessioninfo"
  628. , [{col:"server", val: sysf_getURLprefix()}
  629. ,{col:"userid", val: sysf_getUserInfo("userid")}
  630. ,{col:"usernm", val: sysf_getUserInfo("usernm")}
  631. ,{col:"posinstnm", val: sysf_getUserInfo("posinstnm")}
  632. ,{col:"posdeptnm", val: sysf_getUserInfo("posdeptnm")}
  633. ,{col:"dutplceinstnm", val: sysf_getUserInfo("dutplceinstnm")}
  634. ,{col:"dutplcenm", val: sysf_getUserInfo("dutplcenm")}
  635. ,{col:"jobkindnm", val: sysf_getUserInfo("jobkindnm")}
  636. ,{col:"logindt", val: sysf_getUserInfo("logindt")}]);
  637. // 트랙잭션 생성
  638. var oParam = new Object();
  639. oParam.id = "TXMNR10401";
  640. oParam.service = "flowchartapp.FlowChartRecMngt";
  641. oParam.method = "reqExeClincObsFluidRecList";
  642. oParam.inds = "req=ds_send signinfo=ds_signdata patientinfo=" + sInPatientinfoDs + " sessioninfo=" + sInSessioninfoDS;
  643. oParam.outds = "ds_fluidlist=fluidlist";
  644. oParam.async = true; // 동기
  645. oParam.callback = "cf_TXMNR10401";
  646. tranf_submit(oParam);
  647. }
  648. /****************************************************************************************
  649. * Function : cbf_TXMNR10401
  650. * Description : 저장/삭제 콜백
  651. * Argument :
  652. * return type :
  653. * Creator :
  654. ****************************************************************************************/
  655. function cf_TXMNR10401(strSvcID, nErrorCode, strErrorMag)
  656. {
  657. if (nErrorCode != 0) {
  658. sysf_messageBox("", "E000", strErrorMag);
  659. } else {
  660. opener.frmf_setParameter("SPMNR10400_ReturnSaveInfo", "Y");
  661. lf_settingFluidInfo();
  662. }
  663. }
  664. function fMake_SignData() {
  665. Sign.addnode("/certtemp/recinfo", ds_recinfo.saveXML());
  666. }
  667. //=======================================================================================
  668. // Event
  669. //---------------------------------------------------------------------------------------
  670. /****************************************************************************************
  671. * Components :
  672. * Components ID : SPMNR10400
  673. * Event : onload
  674. * Argument : 01.obj : Object Event has occurred
  675. * : 02.e : Event Object
  676. * Description : 폼 로드
  677. ****************************************************************************************/
  678. function SPMNR10400_onload(obj:Form, e:LoadEventInfo)
  679. {
  680. //폼 초기화 함수
  681. frmf_initForm(obj);
  682. grdf_setRowTypeIcon(grd_fluidinfo, 0); //그리드 상태 아이콘 보여주기
  683. zesf_InitSign(); // 전자서명관련 모듈 생성 및 초기화
  684. lf_init();
  685. }
  686. /****************************************************************************************
  687. * Components :
  688. * Components ID : grd_fluidinfo
  689. * Event : oncelldblclick
  690. * Argument : 01.obj : Object Event has occurred
  691. * : 02.e : Event Object
  692. * Description : 그리드 셀 더블클릭
  693. ****************************************************************************************/
  694. function grd_fluidinfo_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  695. {
  696. lf_initInputNodeSet(false);
  697. ds_fluidinputdata.enableevent = false;
  698. ds_fluidinputdata.setColumn(0, "hh", utlf_transNullToEmpty(ds_grid_grd_fluidinfo.getColumn(e.row, "hh")));
  699. ds_fluidinputdata.setColumn(0, "mm", utlf_transNullToEmpty(ds_grid_grd_fluidinfo.getColumn(e.row, "mm")));
  700. ds_fluidinputdata.setColumn(0, "fluidstat", utlf_transNullToEmpty(ds_grid_grd_fluidinfo.getColumn(e.row, "fluidstat")));
  701. ds_fluidinputdata.setColumn(0, "cc", utlf_transNullToEmpty(ds_grid_grd_fluidinfo.getColumn(e.row, "cc")));
  702. ds_fluidinputdata.setColumn(0, "etc", utlf_transNullToEmpty(ds_grid_grd_fluidinfo.getColumn(e.row, "etc")));
  703. ds_fluidinputdata.setColumn(0, "usernm", utlf_transNullToEmpty(ds_grid_grd_fluidinfo.getColumn(e.row, "usernm")));
  704. ds_fluidinputdata.setColumn(0, "clncobsseqno", utlf_transNullToEmpty(ds_grid_grd_fluidinfo.getColumn(e.row, "clncobsseqno")));
  705. ds_fluidinputdata.setColumn(0, "status", "U");
  706. ds_fluidinputdata.enableevent = true;
  707. cmb_fluidstat_onitemchanged();
  708. }
  709. /****************************************************************************************
  710. * Components :
  711. * Components ID : cmb_fluidstat
  712. * Event : onitemchanged
  713. * Argument : 01.obj : Object Event has occurred
  714. * : 02.e : Event Object
  715. * Description : 진행상태 변경시
  716. ****************************************************************************************/
  717. function cmb_fluidstat_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  718. {
  719. if (utlf_transNullToEmpty(ds_fluidinputdata.getColumn(0, "fluidstat")) == "E") {
  720. grp_ipt.ipt_cc.value = "";
  721. grp_ipt.ipt_etc.value = "";
  722. grp_ipt.ipt_cc.enable = false;
  723. grp_ipt.ipt_etc.enable = false;
  724. } else {
  725. grp_ipt.ipt_cc.enable = true;
  726. grp_ipt.ipt_etc.enable = true;
  727. }
  728. }
  729. /****************************************************************************************
  730. * Components :
  731. * Components ID : btn_add
  732. * Event : onclick
  733. * Argument : 01.obj : Object Event has occurred
  734. * : 02.e : Event Object
  735. * Description : 등록
  736. ****************************************************************************************/
  737. function btn_add_onclick(obj:Button, e:ClickEventInfo)
  738. {
  739. if(lf_addFluidInfo("ins") == true) {
  740. lf_initInputNodeSet(true);
  741. }
  742. }
  743. /****************************************************************************************
  744. * Components :
  745. * Components ID : btn_del
  746. * Event : onclick
  747. * Argument : 01.obj : Object Event has occurred
  748. * : 02.e : Event Object
  749. * Description : 삭제
  750. ****************************************************************************************/
  751. function btn_del_onclick(obj:Button, e:ClickEventInfo)
  752. {
  753. if (lf_addFluidInfo("del") == true) {
  754. lf_initInputNodeSet(true);
  755. }
  756. }
  757. /****************************************************************************************
  758. * Components :
  759. * Components ID : btn_new
  760. * Event : onclick
  761. * Argument : 01.obj : Object Event has occurred
  762. * : 02.e : Event Object
  763. * Description : 신규
  764. ****************************************************************************************/
  765. function btn_new_onclick(obj:Button, e:ClickEventInfo)
  766. {
  767. lf_initInputNodeSet(false);
  768. ds_fluidinputdata.enableevent = false;
  769. ds_fluidinputdata.setColumn(0, "hh", lgv_fromdt.substr(8,2));
  770. ds_fluidinputdata.setColumn(0, "mm", "00");
  771. ds_fluidinputdata.setColumn(0, "usernm", sysf_getUserName());
  772. ds_fluidinputdata.setColumn(0, "status", "I");
  773. ds_fluidinputdata.enableevent = true;
  774. }
  775. /****************************************************************************************
  776. * Components :
  777. * Components ID : btn_close
  778. * Event : onclick
  779. * Argument : 01.obj : Object Event has occurred
  780. * : 02.e : Event Object
  781. * Description : 닫기
  782. ****************************************************************************************/
  783. function btn_close_onclick(obj:Button, e:ClickEventInfo)
  784. {
  785. this.close();
  786. }
  787. function grp_ipt_cmb_hh_onkillfocus(obj:Combo, e:KillFocusEventInfo)
  788. {
  789. var index = 0;
  790. var userText = gstrhh;
  791. var nlistFine = ds_gridhhlist.findRow("cd", userText);
  792. if(nlistFine >= 0)
  793. {
  794. grp_ipt.cmb_hh.index = nlistFine;
  795. ds_fluidinputdata.setColumn(0, "hh", grp_ipt.cmb_hh.text);
  796. gstrhh = "";
  797. }
  798. }
  799. function grp_ipt_cmb_hh_ontextchange(obj:Combo, e:TextChangeEventInfo)
  800. {
  801. grp_ipt.cmb_hh.usertext = e.posttext;
  802. gstrhh = grp_ipt.cmb_hh.usertext;
  803. }
  804. function grp_ipt_cmb_hh_oncloseup(obj:Combo, e:ComboCloseUpEventInfo)
  805. {
  806. grp_ipt.cmb_mm.setFocus();
  807. }
  808. function grp_ipt_cmb_hh_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  809. {
  810. gstrhh = "";
  811. }
  812. function grp_ipt_cmb_mm_oncloseup(obj:Combo, e:ComboCloseUpEventInfo)
  813. {
  814. grp_ipt.cmb_fluidstat.setFocus();
  815. }
  816. function grp_ipt_cmb_mm_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  817. {
  818. gstrmm = "";
  819. }
  820. function grp_ipt_cmb_mm_onkillfocus(obj:Combo, e:KillFocusEventInfo)
  821. {
  822. var index = 0;
  823. var userText = gstrmm;
  824. var nlistFine = ds_gridmmlist.findRow("cd", userText);
  825. if(nlistFine >= 0)
  826. {
  827. grp_ipt.cmb_mm.index = nlistFine;
  828. ds_fluidinputdata.setColumn(0, "mm", grp_ipt.cmb_mm.text);
  829. gstrmm = "";
  830. }
  831. }
  832. function grp_ipt_cmb_mm_ontextchange(obj:Combo, e:TextChangeEventInfo)
  833. {
  834. grp_ipt.cmb_mm.usertext = e.posttext;
  835. gstrmm = grp_ipt.cmb_mm.usertext;
  836. }
  837. function btn_currenttm_onclick(obj:Button, e:ClickEventInfo)
  838. {
  839. //190828_AYS_현재시간 클릭 시 현재시간 세팅
  840. if( !utlf_isNull( ds_fluidinputdata.getColumn(0, "hh")) || !utlf_isNull( ds_fluidinputdata.getColumn(0, "mm")) ) {
  841. ds_fluidinputdata.setColumn(0, "hh", utlf_getCurrentTime().substr(0, 2));
  842. ds_fluidinputdata.setColumn(0, "mm", utlf_getCurrentTime().substr(2, 2));
  843. }
  844. }
  845. ]]></Script>
  846. </Form>
  847. </FDL>