SMMNP09100_일일수술처치환자관리.xfdl 50 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMMNP09100" position="absolute 0 0 1100 800" titletext="일일수술실 입원/외래 처치 대상 환자 관리" oninit="SMMNP09100_oninit" onload="SMMNP09100_onload" ontimer="SMMNP09100_ontimer">
  5. <Layouts>
  6. <Layout>
  7. <Grid position="absolute 0 71 1080 775" id="grd_plist" binddataset="ds_main_dscpinfo_plist" autosizingtype="row" extendsizetype="row" onheadclick="grd_plist_onheadclick" onrbuttonup="grd_plist_onrbuttonup" autoenter="key" onrbuttondown="grd_plist_onrbuttondown" ontextchange="grd_plist_ontextchange" oncellclick="grd_plist_oncellclick" oncloseup="grd_plist_oncloseup" onlbuttonup="grd_plist_onlbuttonup" cellsizingtype="both" cellsizebandtype="allband" selecttype="multirow">
  8. <Formats>
  9. <Format id="default">
  10. <Columns>
  11. <Column size="24" band="left"/>
  12. <Column size="50"/>
  13. <Column size="120"/>
  14. <Column size="120"/>
  15. <Column size="55"/>
  16. <Column size="70"/>
  17. <Column size="75"/>
  18. <Column size="60"/>
  19. <Column size="0"/>
  20. <Column size="0"/>
  21. <Column size="0"/>
  22. <Column size="0"/>
  23. <Column size="0"/>
  24. <Column size="65"/>
  25. <Column size="75"/>
  26. <Column size="0"/>
  27. <Column size="270"/>
  28. <Column size="105"/>
  29. <Column size="65"/>
  30. <Column size="105"/>
  31. <Column size="155"/>
  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="orddd"/>
  47. <Cell col="9" text="cretno"/>
  48. <Cell col="10" text="mskind"/>
  49. <Cell col="11" text="histstat"/>
  50. <Cell col="12" text="prcpdd"/>
  51. <Cell col="13" text="처방상태"/>
  52. <Cell col="14" text="처방코드"/>
  53. <Cell col="15" text="prcpno"/>
  54. <Cell col="16" text="처방명"/>
  55. <Cell col="17" text="진료과"/>
  56. <Cell col="18" text="진료의"/>
  57. <Cell col="19" text="시행부서"/>
  58. <Cell col="20" text="비고"/>
  59. </Band>
  60. <Band id="body">
  61. <Cell celltype="head"/>
  62. <Cell col="1" displaytype="combo" style="padding:2 2 2 2;" text="bind:gubn" combodataset="ds_gubn" combocodecol="code" combodatacol="value" enable="false"/>
  63. <Cell col="2" displaytype="text" edittype="mask" text="bind:patinroomdt" mask="####-##-## ##:##" maskchar=" " edittrimtype="both" editautoselect="true" expandshow="show"/>
  64. <Cell col="3" displaytype="text" edittype="mask" text="bind:patoutroomdt" mask="####-##-## ##:##" maskchar=" " edittrimtype="both" editautoselect="true" expandshow="show"/>
  65. <Cell col="4" displaytype="combo" edittype="combo" style="padding:2 2 2 2;" text="bind:dscstat" combodataset="ds_init_codelist_O08" combocodecol="cdid" combodatacol="cdnm"/>
  66. <Cell col="5" style="align:left middle;" text="bind:pid"/>
  67. <Cell col="6" style="align:left middle;" text="bind:hngnm"/>
  68. <Cell col="7" text="bind:sa"/>
  69. <Cell col="8" text="bind:orddd"/>
  70. <Cell col="9" text="bind:cretno"/>
  71. <Cell col="10" text="bind:mskind"/>
  72. <Cell col="11" text="bind:histstat"/>
  73. <Cell col="12" text="bind:prcpdd"/>
  74. <Cell col="13" style="align:left middle;" text="bind:prcpstat"/>
  75. <Cell col="14" style="align:left middle;" text="bind:prcpcd"/>
  76. <Cell col="15" style="align:left middle;" text="bind:prcpno"/>
  77. <Cell col="16" style="align:left middle;padding:5 2 5 2;" text="bind:prcpnm" wordwrap="word"/>
  78. <Cell col="17" style="align:left middle;" text="bind:orddept"/>
  79. <Cell col="18" style="align:left middle;" text="bind:orddrnm"/>
  80. <Cell col="19" style="align:left middle;" text="bind:execdept"/>
  81. <Cell col="20" displaytype="text" edittype="textarea" text="bind:bigo" wordwrap="char" autosizerow="limitmin"/>
  82. </Band>
  83. </Format>
  84. </Formats>
  85. </Grid>
  86. <Div position="absolute 0 25 1080 65" align="align:center top;" id="grp_sea" class="div_SA">
  87. <Layouts>
  88. <Layout>
  89. <Static text="업무일자 :" position="absolute 19 13 99 30" id="caption2" class="search_name"/>
  90. <Button position="absolute 936 10 992 32" id="btn_sear" class="btn1" text="조회" onclick="grp_sea_btn_sear_onclick">
  91. <Layouts>
  92. <Layout width="56" height="22"/>
  93. </Layouts>
  94. </Button>
  95. <Shape position="absolute 909 7 915 32" linetype="vertical" id="line16"/>
  96. <Calendar position="absolute 99 11 186 30" align="align:center middle;" id="input1" mask="yyyy-mm-dd" onchanged="grp_sea_input1_onchanged" autoselect="true"/>
  97. <Static text="상 태 :" position="absolute 233 13 293 30" id="caption3" class="search_name"/>
  98. <Button position="absolute 1004 10 1060 32" id="btn_save" class="btn4" text="저장" onclick="grp_sea_btn_save_onclick"/>
  99. <Static text="구분 :" position="absolute 530 13 580 30" id="caption8" class="search_name"/>
  100. <Radio position="absolute 583 11 733 31" id="radio4" columncount="3" codecolumn="codecolumn" datacolumn="datacolumn" onitemchanged="grp_sea_radio4_onitemchanged">
  101. <Dataset id="innerdataset">
  102. <ColumnInfo>
  103. <Column id="codecolumn"/>
  104. <Column id="datacolumn"/>
  105. </ColumnInfo>
  106. <Rows>
  107. <Row>
  108. <Col id="codecolumn">-</Col>
  109. <Col id="datacolumn">전체</Col>
  110. </Row>
  111. <Row>
  112. <Col id="codecolumn">O</Col>
  113. <Col id="datacolumn">외래</Col>
  114. </Row>
  115. <Row>
  116. <Col id="codecolumn">I</Col>
  117. <Col id="datacolumn">입원</Col>
  118. </Row>
  119. </Rows>
  120. </Dataset>
  121. </Radio>
  122. <Radio position="absolute 295 11 493 31" id="radio1" columncount="4" innerdataset="@ds_init_codelist_O08A" datacolumn="cdnm" codecolumn="cdid" onitemchanged="grp_sea_radio1_onitemchanged"/>
  123. </Layout>
  124. </Layouts>
  125. </Div>
  126. <Static text="일일수술실 입원/외래 처치 처방 대상 환자 관리" position="absolute 0 0 320 25" id="caption6" class="tit_1"/>
  127. <Static text="[표]" position="absolute 1045 777 1080 797" align="align:right middle;" id="caption1"/>
  128. <Div position="absolute 630 25 905 55" id="group1" enable="false" visible="false">
  129. <Layouts>
  130. <Layout>
  131. <Static text="시행부서:" position="absolute 4 6 94 23" id="caption5" class="search_name"/>
  132. <Radio position="absolute 94 6 274 26" id="radio2" columncount="3" innerdataset="@ds_init_execdeptinfo_deptlist" datacolumn="execdeptnm" codecolumn="execdeptcd" onitemchanged="group1_radio2_onitemchanged"/>
  133. <Radio position="absolute 94 6 274 26" id="radio3" columncount="3" innerdataset="@ds_init_execdeptinfo_deptlist" datacolumn="execdeptnm" codecolumn="execdeptcd" onitemchanged="group1_radio3_onitemchanged"/>
  134. <Static text="시행부서:" position="absolute 4 6 94 23" id="caption7" class="search_name"/>
  135. </Layout>
  136. </Layouts>
  137. </Div>
  138. <Div position="absolute 290 200 484 250" id="grp_prtlabel" visible="false" style="background:#87cefaff;">
  139. <Layouts>
  140. <Layout>
  141. <Button position="absolute 90 25 132 44" id="btn_prtlabel" class="btn5" taborder="22" text="확인" onclick="grp_prtlabel_btn_prtlabel_onclick"/>
  142. <Button position="absolute 135 25 177 44" id="button2" class="btn5" taborder="22" text="취소" onclick="grp_prtlabel_button2_onclick"/>
  143. <Static text="출력할 장수를 입력하십시오." position="absolute 5 5 193 21" id="caption4" class="tit_2"/>
  144. <MaskEdit position="absolute 27 25 87 44" id="ipt_cmpatprtcnt" class="input_default" taborder="9" mask="##,###" limitbymask="integer" onkeyup="grp_prtlabel_ipt_cmpatprtcnt_onkeyup" trimtype="both" autoselect="true"/>
  145. </Layout>
  146. </Layouts>
  147. </Div>
  148. </Layout>
  149. </Layouts>
  150. <Objects>
  151. <Dataset id="ds_init_radio1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  152. <ColumnInfo>
  153. <Column id="cdnm" type="STRING"/>
  154. <Column id="cdid" type="STRING"/>
  155. </ColumnInfo>
  156. </Dataset>
  157. <Dataset id="ds_grd_plist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  158. <ColumnInfo>
  159. <Column id="gubn" type="STRING"/>
  160. <Column id="patinroomdt" type="STRING"/>
  161. <Column id="patoutroomdt" type="STRING"/>
  162. <Column id="dscstat" type="STRING"/>
  163. <Column id="pid" type="STRING"/>
  164. <Column id="hngnm" type="STRING"/>
  165. <Column id="sa" type="STRING"/>
  166. <Column id="orddd" type="STRING"/>
  167. <Column id="cretno" type="STRING"/>
  168. <Column id="mskind" type="STRING"/>
  169. <Column id="histstat" type="STRING"/>
  170. <Column id="prcpdd" type="STRING"/>
  171. <Column id="prcpstat" type="STRING"/>
  172. <Column id="prcpcd" type="STRING"/>
  173. <Column id="prcpno" type="STRING"/>
  174. <Column id="prcpnm" type="STRING"/>
  175. <Column id="orddept" type="STRING"/>
  176. <Column id="orddrnm" type="STRING"/>
  177. <Column id="execdept" type="STRING"/>
  178. <Column id="bigo" type="STRING"/>
  179. </ColumnInfo>
  180. </Dataset>
  181. <Dataset id="ds_init_radio2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  182. <ColumnInfo>
  183. <Column id="execdeptnm" type="STRING"/>
  184. <Column id="execdeptcd" type="STRING"/>
  185. </ColumnInfo>
  186. </Dataset>
  187. <Dataset id="ds_init_radio3" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  188. <ColumnInfo>
  189. <Column id="execdeptnm" type="STRING"/>
  190. <Column id="execdeptcd" type="STRING"/>
  191. </ColumnInfo>
  192. </Dataset>
  193. <Dataset id="ds_send_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  194. <ColumnInfo>
  195. <Column id="workdd" type="STRING" size="256" sumtext="workdd"/>
  196. <Column id="dscstat" type="STRING" size="256" sumtext="dscstat"/>
  197. <Column id="execdept" type="STRING" size="256" sumtext="execdept"/>
  198. <Column id="gubnflag" type="STRING" size="256" sumtext="gubnflag"/>
  199. </ColumnInfo>
  200. <Rows>
  201. <Row/>
  202. </Rows>
  203. </Dataset>
  204. <Dataset id="ds_init_execdeptinfo_deptlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  205. <ColumnInfo>
  206. <Column id="execdeptcd" type="STRING" size="256" sumtext="execdeptcd"/>
  207. <Column id="execdeptnm" type="STRING" size="256" sumtext="execdeptnm"/>
  208. </ColumnInfo>
  209. </Dataset>
  210. <Dataset id="ds_main_dscpinfo_plist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false" oncolumnchanged="ds_main_dscpinfo_plist_oncolumnchanged">
  211. <ColumnInfo>
  212. <Column id="gubn" type="STRING" size="256" sumtext="입원외래구분"/>
  213. <Column id="dscstat" type="STRING" size="256" sumtext="상태"/>
  214. <Column id="pid" type="STRING" size="256" sumtext="환자번호"/>
  215. <Column id="rgstno" type="STRING" size="256" sumtext="주민번호"/>
  216. <Column id="hngnm" type="STRING" size="256" sumtext="이름"/>
  217. <Column id="sa" type="STRING" size="256" sumtext="성별/나이"/>
  218. <Column id="orddd" type="STRING" size="256" sumtext="처방상태"/>
  219. <Column id="cretno" type="STRING" size="256" sumtext="cretno"/>
  220. <Column id="mskind" type="STRING" size="256" sumtext="mskind"/>
  221. <Column id="histstat" type="STRING" size="256" sumtext="histstat"/>
  222. <Column id="prcpdd" type="STRING" size="256" sumtext="처방상태"/>
  223. <Column id="prcpstat" type="STRING" size="256" sumtext="처방상태"/>
  224. <Column id="prcpcd" type="STRING" size="256" sumtext="처방코드"/>
  225. <Column id="prcpno" type="STRING" size="256" sumtext="처방번호"/>
  226. <Column id="prcpnm" type="STRING" size="256" sumtext="처방명"/>
  227. <Column id="orddept" type="STRING" size="256" sumtext="진료과"/>
  228. <Column id="orddrnm" type="STRING" size="256" sumtext="진료의"/>
  229. <Column id="execdept" type="STRING" size="256" sumtext="시행부서"/>
  230. <Column id="bigo" type="STRING" size="256" sumtext="비고"/>
  231. <Column id="patinroomdt" type="STRING" size="256" sumtext="입실일시"/>
  232. <Column id="patoutroomdt" type="STRING" size="256" sumtext="퇴실일시"/>
  233. </ColumnInfo>
  234. </Dataset>
  235. <Dataset id="ds_send_savedata_plist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  236. <ColumnInfo>
  237. <Column id="pid" type="STRING" size="256" sumtext="환자번호"/>
  238. <Column id="orddd" type="STRING" size="256" sumtext="환자번호"/>
  239. <Column id="prcpdd" type="STRING" size="256" sumtext="환자번호"/>
  240. <Column id="prcpcd" type="STRING" size="256" sumtext="처방코드"/>
  241. <Column id="prcpno" type="STRING" size="256" sumtext="처방번호"/>
  242. <Column id="dscstat" type="STRING" size="256" sumtext="상태"/>
  243. <Column id="bigo" type="STRING" size="256" sumtext="비고"/>
  244. <Column id="patinroomdt" type="STRING" size="256" sumtext="입실일시"/>
  245. <Column id="patoutroomdt" type="STRING" size="256" sumtext="퇴실일시"/>
  246. <Column id="gubn" type="STRING" size="256" sumtext="외래입원구분"/>
  247. </ColumnInfo>
  248. <Rows>
  249. <Row/>
  250. </Rows>
  251. </Dataset>
  252. <Dataset id="ds_main_barcdprntsetup" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  253. <ColumnInfo>
  254. <Column id="prntsetupinfo" type="STRING" size="256" sumtext="코드"/>
  255. <Column id="macaddr" type="STRING" size="256" sumtext="macaddr"/>
  256. </ColumnInfo>
  257. </Dataset>
  258. <Dataset id="ds_init_codelist_O08" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  259. <ColumnInfo>
  260. <Column id="cdnm" type="STRING" size="256"/>
  261. <Column id="cdid" type="STRING" size="256"/>
  262. </ColumnInfo>
  263. </Dataset>
  264. <Dataset id="ds_init_codelist_O08A" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  265. <ColumnInfo>
  266. <Column id="cdid" type="STRING" size="256"/>
  267. <Column id="cdnm" type="STRING" size="256"/>
  268. </ColumnInfo>
  269. <Rows>
  270. <Row>
  271. <Col id="cdid">-</Col>
  272. <Col id="cdnm">전체</Col>
  273. </Row>
  274. </Rows>
  275. </Dataset>
  276. <Dataset id="ds_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  277. <ColumnInfo>
  278. <Column id="workdd" type="STRING" size="256"/>
  279. <Column id="dscstat" type="STRING" size="256"/>
  280. <Column id="gubnflag" type="STRING" size="256"/>
  281. <Column id="execdept" type="STRING" size="256"/>
  282. </ColumnInfo>
  283. <Rows>
  284. <Row/>
  285. </Rows>
  286. </Dataset>
  287. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  288. <ColumnInfo>
  289. <Column id="scrnid" type="STRING" size="256"/>
  290. </ColumnInfo>
  291. </Dataset>
  292. <Dataset id="ds_codelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false"/>
  293. <Dataset id="ds_gubn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  294. <ColumnInfo>
  295. <Column id="code" type="STRING" size="256"/>
  296. <Column id="value" type="STRING" size="256"/>
  297. </ColumnInfo>
  298. <Rows>
  299. <Row>
  300. <Col id="code">I</Col>
  301. <Col id="value">입원</Col>
  302. </Row>
  303. <Row>
  304. <Col id="code">O</Col>
  305. <Col id="value">외래</Col>
  306. </Row>
  307. </Rows>
  308. </Dataset>
  309. <Dataset id="ds_main" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  310. <ColumnInfo>
  311. <Column id="cmpatprtcnt" type="STRING" size="256"/>
  312. </ColumnInfo>
  313. <Rows>
  314. <Row/>
  315. </Rows>
  316. </Dataset>
  317. </Objects>
  318. <Bind>
  319. <BindItem id="item0" compid="grp_sea.input1" propid="value" datasetid="ds_cond" columnid="workdd"/>
  320. <BindItem id="item1" compid="grp_sea.radio1" propid="value" datasetid="ds_cond" columnid="dscstat"/>
  321. <BindItem id="item2" compid="grp_sea.radio4" propid="value" datasetid="ds_cond" columnid="gubnflag"/>
  322. <BindItem id="item3" compid="group1.radio3" propid="value" datasetid="ds_cond" columnid="execdept"/>
  323. <BindItem id="item4" compid="group1.radio2" propid="value" datasetid="ds_cond" columnid="execdept"/>
  324. <BindItem id="item5" compid="grp_prtlabel.ipt_cmpatprtcnt" propid="value" datasetid="ds_main" columnid="cmpatprtcnt"/>
  325. </Bind>
  326. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  327. * System Name : 경대 의료정보시스템
  328. * Job Name : emr_opanstxp -> SMMNP09100
  329. * Creator : yjh
  330. * Make Date : 2016-01-15
  331. * Description :
  332. *---------------------------------------------------------------------------------------
  333. * Modify Date Modifier Modify Description
  334. *---------------------------------------------------------------------------------------
  335. * 2016-01-15 yjh TF->XP
  336. *
  337. *---------------------------------------------------------------------------------------
  338. ****************************************************************************************/
  339. //=======================================================================================
  340. // Lib Include
  341. //---------------------------------------------------------------------------------------
  342. include "com_commonxp::comm_main.xjs";
  343. include "emr_carecomxp::CareCom.xjs"; //yjh : 커밋( fSetNursBarcdInfo, fPrtCarePatNameLabel 수정 )
  344. include "lis_commonxp::LLZ001.xjs"; //yjh : 커밋( lzzfMakeBrcdPrntObjHanDo 수정 )
  345. include "com_commodulexp::SSZFM00901.xjs";
  346. include "pam_ipatmngtxp::PMI001.xjs";
  347. include "pam_pamcomnxp::PAM.xjs";
  348. //=======================================================================================
  349. // Global Form Variable
  350. //---------------------------------------------------------------------------------------
  351. //=======================================================================================
  352. // Function
  353. //---------------------------------------------------------------------------------------
  354. /****************************************************************************************
  355. * Argument : N/A
  356. * Description : 환자관리 리스트 조회
  357. ****************************************************************************************/
  358. function fSearch()
  359. {
  360. var workdd = ds_cond.getColumn(0, "workdd");
  361. var dscstat = ds_cond.getColumn(0, "dscstat");
  362. var execdept = ds_cond.getColumn(0, "execdept");
  363. // 15.05.26 추가
  364. var gubnflag = ds_cond.getColumn(0, "gubnflag");
  365. ds_send_reqdata.clearData();
  366. ds_send_reqdata.addRow();
  367. ds_send_reqdata.setColumn(0, "workdd", workdd);
  368. ds_send_reqdata.setColumn(0, "dscstat", dscstat);
  369. // 15.07.16 시행부서 제거요청에 따른 주석 처리(일수 우문주 선생님 요청)
  370. //model.makeValue("/root/send/reqdata/execdept", execdept);
  371. // 15.05.26 추가
  372. ds_send_reqdata.setColumn(0, "gubnflag", gubnflag);
  373. grdf_clearSort(grd_plist);
  374. var oParam = {};
  375. oParam.id = "TRMNP09101";
  376. oParam.service = "opanstapp.OpAnstDscMngt";
  377. oParam.method = "reqGetDscActingPatList";
  378. oParam.inds = "req=ds_send_reqdata";
  379. oParam.outds = "ds_main_dscpinfo_plist=plist";
  380. oParam.async = false;
  381. //oParam.callback = "cf_TRMNP09101";
  382. tranf_submit(oParam);
  383. }
  384. /****************************************************************************************
  385. * Argument : N/A
  386. * Description : 환자라벨출력 확인시
  387. ****************************************************************************************/
  388. function fPrintLabel_SMMNP09100() {
  389. var pid = ds_main_dscpinfo_plist.getColumn(grd_plist.currentrow, "pid");
  390. var patnm = ds_main_dscpinfo_plist.getColumn(grd_plist.currentrow, "hngnm");
  391. var sexage = ds_main_dscpinfo_plist.getColumn(grd_plist.currentrow, "sa");
  392. var rgstno = ds_main_dscpinfo_plist.getColumn(grd_plist.currentrow, "rgstno");
  393. var orddd = ds_main_dscpinfo_plist.getColumn(grd_plist.currentrow, "orddd");
  394. var roomcd = ds_main_dscpinfo_plist.getColumn(grd_plist.currentrow, "execdept");
  395. var deptnm = ds_main_dscpinfo_plist.getColumn(grd_plist.currentrow, "orddept");
  396. var prtcnt = ds_main.getColumn(0, "cmpatprtcnt");
  397. // 환자 정보 라벨 출력
  398. if(prtcnt > 0){
  399. //1. 바코드 라벨 설정값 조회
  400. var scrnid = "SMMNP09100";
  401. ds_main_barcdprntsetup.clearData();
  402. ds_send.setColumn(0, "scrnid", scrnid);
  403. var oParam = {};
  404. oParam.id = "TRLLC90101";
  405. oParam.service = "diagtestapplib.LisCommon";
  406. oParam.method = "reqGetSetUpInfo";
  407. oParam.inds = "scrnid=ds_send";
  408. oParam.outds = "ds_main_barcdprntsetup=getSetUpInfo";
  409. oParam.async = false;
  410. //oParam.callback = "cf_TRLLC90101";
  411. tranf_submit(oParam);
  412. // 노드값을 컬럼 값으로 가져옴에 따라 DS 로 변환 처리 ---------------------------------------------------
  413. //XML string 값을 파라미터로 넘김
  414. //성공시 : 'success' 실패시 : 'error' 값을 리턴함
  415. var sParamObj = new Object();
  416. sParamObj.pathYN = 'N'; //dsvaluepath 컬럼 사용여부
  417. var pXmlStr = ds_main_barcdprntsetup.getColumn(0, "prntsetupinfo");
  418. var succYn = lf_convertXmlToDs(pXmlStr, sParamObj);
  419. sysf_trace(succYn);
  420. // => retrun DS
  421. // : ds_data_setupinfo(prntkind, commkind)
  422. // : ds_data_comm01(setupval)
  423. // : ds_data_comm02(comm, databit, stopbit, baudrate, parity, setupval)
  424. // : ds_data_comm03(setupval)
  425. // : ds_data_blank(left, top)
  426. // ------------------------------------------------------------------------------------------------------------
  427. //2. 바코드 라벨 환경설정
  428. var barcdRef = "/root/main/barcdprntsetup/prntsetupinfo/setupinfo";
  429. lzzfMakeBrcdPrntObjHanDo("CommAX", barcdRef);
  430. var portOpenTF = fSetNursBarcdInfo(barcdRef); // CareCom.js 바코드프린터별 환경설정(Zebra,SATO)
  431. //3. 환자라벨출력
  432. //fPrtCarePatNameLabel(barcdRef, pid, roomcd, patnm, sexage, rgstno, orddd, prtcnt, portOpenTF);
  433. frmf_setParameter("barcdRef", barcdRef);
  434. frmf_setParameter("pid", pid);
  435. frmf_setParameter("roomcd", roomcd);
  436. frmf_setParameter("patnm", patnm);
  437. frmf_setParameter("sexage", sexage);
  438. frmf_setParameter("rgstno", rgstno);
  439. frmf_setParameter("orddd", orddd);
  440. frmf_setParameter("orddeptnm", deptnm);
  441. frmf_setParameter("prtcnt", prtcnt);
  442. frmf_setParameter("portOpenTF", portOpenTF);
  443. frmf_modal("SPMNZ00700","SPMNZ00700","","","","","","","","","","","M"); //yjh : 커밋
  444. }
  445. grp_prtlabel.visible = false;
  446. }
  447. /****************************************************************************************
  448. * Argument : N/A
  449. * Description : 환자라벨출력 취소시
  450. ****************************************************************************************/
  451. function fCancelPrint_SMMNP09100() {
  452. ds_main.setColumn(0, "cmpatprtcnt", "1");
  453. grp_prtlabel.visible = false;
  454. }
  455. /****************************************************************************************
  456. * Argument : N/A
  457. * Description : 저장버튼 클릭시
  458. ****************************************************************************************/
  459. function fSave() {
  460. var savedata = grdf_getGridUpdateData(grd_plist);
  461. if (savedata == "" ) {
  462. sysf_messageBox("저장할 데이터가 없습니다.", "E999");
  463. } else {
  464. ds_send_savedata_plist.copyData(savedata);
  465. var oParam = {};
  466. oParam.id = "TXMNP09101";
  467. oParam.service = "opanstapp.OpAnstDscMngt";
  468. oParam.method = "reqSetDscActingPatInfo";
  469. oParam.inds = "savedata=ds_send_savedata_plist";
  470. oParam.outds = "";
  471. oParam.async = false;
  472. oParam.callback = "cf_TXMNP09101";
  473. tranf_submit(oParam);
  474. }
  475. }
  476. function cf_TXMNP09101(sSvcId, nErrorCode, sErrorMsg) {
  477. if(nErrorCode < 0) return;
  478. grp_sea.btn_sear.click();
  479. }
  480. /****************************************************************************************
  481. * Argument : N/A
  482. * Description : 환자팔찌 재출력
  483. ****************************************************************************************/
  484. function fOpenPatBC()
  485. {
  486. var pRow = ds_main_dscpinfo_plist.rowposition;
  487. var scrnid = "SMMNR00600";
  488. ds_main_barcdprntsetup.clearData();
  489. ds_send.setColumn(0, "scrnid", scrnid);
  490. var oParam = {};
  491. oParam.id = "TRLLC90101";
  492. oParam.service = "diagtestapplib.LisCommon";
  493. oParam.method = "reqGetSetUpInfo";
  494. oParam.inds = "scrnid=ds_send";
  495. oParam.outds = "ds_main_barcdprntsetup=getSetUpInfo";
  496. oParam.async = false;
  497. //oParam.callback = "cf_TRLLC90101";
  498. tranf_submit(oParam);
  499. //XML string 값을 파라미터로 넘김
  500. //성공시 : 'success' 실패시 : 'error' 값을 리턴함
  501. var sParamObj = new Object();
  502. sParamObj.pathYN = 'N'; //dsvaluepath 컬럼 사용여부
  503. var pXmlStr = ds_main_barcdprntsetup.getColumn(0, "prntsetupinfo");
  504. var succYn = lf_convertXmlToDs(pXmlStr, sParamObj);
  505. //sysf_trace(succYn);
  506. //2. 바코드 라벨 환경설정
  507. //var barcdRef = "/root/main/barcdprntsetup/prntsetupinfo/setupinfo";
  508. //lzzfMakeBrcdPrntObjHanDo("CommAX", barcdRef);
  509. lzzfMakeBrcdPrntObjHanDo("CommAX");
  510. var gubun = ds_main_dscpinfo_plist.getColumn(pRow, "gubn");
  511. //patinfo 정보 셋팅
  512. var pid = ds_main_dscpinfo_plist.getColumn(pRow, "pid");
  513. var indd = ds_main_dscpinfo_plist.getColumn(pRow, "orddd");
  514. var cretno = ds_main_dscpinfo_plist.getColumn(pRow, "cretno");
  515. var mskind = ds_main_dscpinfo_plist.getColumn(pRow, "mskind");
  516. var histstat = ds_main_dscpinfo_plist.getColumn(pRow, "histstat");
  517. var wardcd = ds_main_dscpinfo_plist.getColumn(pRow, "execdept");
  518. if( gubun == "O" ){
  519. lf_pmofPrintBarCode(pid, indd, wardcd, "/root/main/barcdprntsetup/prntsetupinfo/setupinfo");
  520. }else{
  521. /* 삭제된 파라미터 : pPort - COM Port 지정값
  522. * 추가된 파라미터 : pSetyn - 프린터설정정보 셋팅여부
  523. * pScrid - 프린터설정정보 조회용 화면 아이디
  524. * pBarcdRef - 설정정보 xpath
  525. */
  526. lf_pmifPrintBarCode(pid, indd, cretno, mskind, histstat, "N", "SMMNP09100", "/root/main/barcdprntsetup/prntsetupinfo/setupinfo"); // 20090527 변경됨.
  527. }
  528. }
  529. /*
  530. * 외래환자 바코드 출력 함수
  531. * 최초작성일 : 2016.09.21
  532. */
  533. function lf_pmofPrintBarCode(pPid, pIndd, pWardcd, pBarcdRef, pRoomyn, pIsNEW) {
  534. if (utlf_isNull(pPid) || pPid == " ") {
  535. sysf_messageBox("외래 환자 팔찌를 발행할 수 없습니다.","E999","");
  536. return false;
  537. }
  538. var extObj = new ExtCommon();
  539. var ipaddress = extObj.getIPAddress();
  540. var sIpaddr = "";
  541. if(ipaddress != null) {
  542. if(ipaddress.toString() == "[object VariantArray]") {
  543. sIpaddr = ipaddress[0];
  544. } else {
  545. sIpaddr = ipaddress;
  546. }
  547. }
  548. // 1. 공통[시작] - 2009.05.25
  549. dsf_createDsRow("ds_send_data18", [{col:"pid", type:"STRING", size:256, val:pPid}
  550. , {col:"ipaddr", type:"STRING", size:256, val:sIpaddr}
  551. , {col:"instcd", type:"STRING", size:256, val:""}]);
  552. dsf_createDs("ds_hidden_h_receipt", [{col:"pid", type:"STRING", size:256}
  553. , {col:"hngnm2", type:"STRING", size:256}
  554. , {col:"sex", type:"STRING", size:256}
  555. , {col:"age", type:"STRING", size:256}
  556. , {col:"rrgstno", type:"STRING", size:256}
  557. , {col:"indd", type:"STRING", size:256}
  558. , {col:"barcode", type:"STRING", size:256}
  559. , {col:"wardcd", type:"STRING", size:256}
  560. , {col:"newprintflag", type:"STRING", size:256}
  561. , {col:"babyyn", type:"STRING", size:256}
  562. , {col:"btype", type:"STRING", size:256}], true);
  563. var oParam = {};
  564. oParam.id = "TRMNP09103";
  565. oParam.service = "opanstapp.OpAnstDscMngt";
  566. oParam.method = "reqGetOutRgstCardInfo";
  567. oParam.inds = "req=ds_send_data18";
  568. oParam.outds = "ds_hidden_h_receipt=receipt";
  569. oParam.async = false;
  570. //oParam.callback = "cf_TRMNP09103";
  571. tranf_submit(oParam);
  572. ds_hidden_h_receipt.setColumn(0, "indd", pIndd);
  573. ds_hidden_h_receipt.setColumn(0, "wardcd", pWardcd);
  574. if (pRoomyn == undefined || pRoomyn == null) {
  575. pRoomyn = "N";
  576. }
  577. // OCX 버전 로딩 구분
  578. if (pIsNEW == undefined || pIsNEW == null) {
  579. pIsNEW = "";
  580. } else {
  581. pIsNEW = "NEW"
  582. }
  583. var rrgstno = utlf_transNullToEmpty(ds_hidden_h_receipt.getColumn(0, "rrgstno"));
  584. var sRrgstno = rrgstno.substr(0,2) + "."
  585. + rrgstno.substr(2,2) + "."
  586. + rrgstno.substr(4,2);
  587. ds_hidden_h_receipt.setColumn(0, "rrgstno",sRrgstno);
  588. //경북대 병원 성별표시 한글로 바꿈
  589. var sSex = ds_hidden_h_receipt.getColumn(0, "sex");
  590. if( sSex == 'M' ){
  591. sSex = '남';
  592. }else{
  593. sSex = '여';
  594. }
  595. ds_hidden_h_receipt.setColumn(0, "sex", sSex);
  596. var sIndd = utlf_transNullToEmpty(ds_hidden_h_receipt.getColumn(0, "indd"));
  597. sIndd = sIndd.substr(0, 4) + "-" + sIndd.substr(4,2) + "-" + sIndd.substr(6,2);
  598. ds_hidden_h_receipt.setColumn(0, "indd", sIndd);
  599. //공통코드 P0045에서 프린터 명칭과 트레이 호출 - 입원환자팔찌 프린터
  600. fGetPrintName();
  601. // 프린터정보
  602. var print_name = "";
  603. // 트레이정보
  604. var print_tray = "";
  605. var resultFlag = "";
  606. // 6세미만 체크
  607. if (ds_hidden_h_receipt.getColumn(0, "age") < 6) {
  608. resultFlag = sysf_messageBox("6세미만 환자입니다!!! \r\n\r\n소아용팔찌를 출력", "S006", "\r\n성인용팔찌를 출력|\r\n출력을 취소");
  609. // 취소한 경우
  610. if (resultFlag == "2") {
  611. return;
  612. }
  613. }
  614. // 환자팔찌 설정 값(참고용) 변경시 SPPAO00100 수정필요
  615. // P0045_8 : HC100 구형 프린터(성인용)
  616. // P0045_11 : HC101 구형 프린터(소아용)
  617. // P0045_12 : SLP-T400 신형 프린터(성인용)
  618. // P0045_13 : SLP-T400 신형 프린터(소아용)
  619. // model.getValue("/root/hidden/h_receipt/receipt/newprintflag") == "Y" : 성인 신형 / 소아 신형
  620. // model.getValue("/root/hidden/h_receipt/receipt/newprintflag") == "A" : 성인 신형 / 소아 구형
  621. // model.getValue("/root/hidden/h_receipt/receipt/newprintflag") == "B" : 성인 구형 / 소아 신형
  622. // model.getValue("/root/hidden/h_receipt/receipt/newprintflag") == "N" : 성인 구형 / 소아 구형
  623. // 출력PC별 장비가 달라 IP로 해당 장비 구분하도록 수정(원무공통코드 PK060) by 조중래 20140404
  624. // 소아용
  625. if (resultFlag == "6") {
  626. // 신형 프린터 설정
  627. if (ds_hidden_h_receipt.getColumn(0, "newprintflag") == "Y" || ds_hidden_h_receipt.getColumn(0, "newprintflag") == "B") {
  628. print_name = sysf_getGlobalVariable("SPPAO00100_P0045_13_nm", "p"); // SLP-T401
  629. print_tray = sysf_getGlobalVariable("SPPAO00100_P0045_13_tray", "p");
  630. // 구형 프린터 설정
  631. } else {
  632. print_name = sysf_getGlobalVariable("SPPAO00100_P0045_11_nm", "p"); // HC101
  633. print_tray = sysf_getGlobalVariable("SPPAO00100_P0045_11_tray", "p");
  634. }
  635. ds_hidden_h_receipt.setColumn(0, "babyyn", "Y"); // 소아용
  636. // 성인용
  637. } else {
  638. // 신형 프린터 설정
  639. if (ds_hidden_h_receipt.getColumn(0, "newprintflag") == "Y" || ds_hidden_h_receipt.getColumn(0, "newprintflag") == "A") {
  640. print_name = sysf_getGlobalVariable("SPPAO00100_P0045_12_nm", "p"); // SLP-T400
  641. print_tray = sysf_getGlobalVariable("SPPAO00100_P0045_12_tray", "p");
  642. // 구형 프린터 설정
  643. } else {
  644. print_name = sysf_getGlobalVariable("SPPAO00100_P0045_8_nm", "p"); // HC100
  645. print_tray = sysf_getGlobalVariable("SPPAO00100_P0045_8_tray", "p");
  646. }
  647. ds_hidden_h_receipt.setColumn(0, "babyyn", "N"); // 성인용
  648. }
  649. // 프린터 드라이버 종류에 따라서 렉스퍼트 동적으로 호출(용지가 다르기때문임)
  650. // HC-100 : 구형팔찌(성인용) - Zebra 제품
  651. // HC-101 : 구형팔찌(소아용) - Zebra 제품
  652. // SLP-T400 : 신형팔찌(성인용) - Bixolon 제품
  653. // SLP-T401 : 신형팔찌(소아용) - Bixolon 제품
  654. var objParam = new Object();
  655. objParam.xml_data_XML1 = rptf_getXMLString(ds_hidden_h_receipt, "root/hidden/h_receipt/receipt");
  656. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0";
  657. var prtOption = "printername="+print_name;
  658. // 신형팔찌용 렉스퍼트
  659. if (print_name == 'SLP-T400' || print_name == 'SLP-T401') {
  660. rptf_exeReportPreview30(["RPPMI03202"],[objParam], option, prtOption);
  661. //exeReportPreview("RPPMI03202", "XMLSTR" , "" , "" , print_name , "", "", "", "", "true", "", "", print_tray);
  662. // 기존팔찌용 렉스퍼트
  663. } else {
  664. rptf_exeReportPreview30(["RPPMI03201"],[objParam], option, prtOption);
  665. //exeReportPreview("RPPMI03201", "XMLSTR" , "" , "" , print_name , "", "", "", "", "true", "", "", print_tray);
  666. }
  667. }
  668. //=======================================================================================
  669. // Event
  670. //---------------------------------------------------------------------------------------
  671. /****************************************************************************************
  672. * Components : Form
  673. * Components ID : SMMNP09100
  674. * Event : oninit
  675. * Argument : 01.obj : Object Event has occurred
  676. * : 02.e : Event Object
  677. * Description : 화면 처음 초기화시
  678. ****************************************************************************************/
  679. function SMMNP09100_oninit(obj:Form, e:InitEventInfo)
  680. {
  681. frmf_initForm(obj); //폼 초기화
  682. }
  683. /****************************************************************************************
  684. * Components : Form
  685. * Components ID : SMMNP09100
  686. * Event : onload
  687. * Argument : 01.obj : Object Event has occurred
  688. * : 02.e : Event Object
  689. * Description : 화면 로딩 완료시
  690. ****************************************************************************************/
  691. function SMMNP09100_onload(obj:Form, e:LoadEventInfo)
  692. {
  693. var curdate = utlf_getCurrentDate();
  694. ds_send_reqdata.clearData();
  695. ds_send_reqdata.addRow();
  696. ds_send_reqdata.setColumn(0, "workdd", curdate);
  697. var oParam = {};
  698. oParam.id = "TRMNP09102";
  699. oParam.service = "opanstapp.OpAnstDscMngt";
  700. oParam.method = "reqGetDscActingDeptList";
  701. oParam.inds = "req=ds_send_reqdata";
  702. oParam.outds = "ds_init_execdeptinfo_deptlist=deptlist";
  703. oParam.async = false;
  704. //oParam.callback = "cf_TRMNP09102";
  705. tranf_submit(oParam);
  706. var pCode = "'O08'";
  707. fGetNursHardCdInfo(pCode, curdate);
  708. var nodecnt = ds_codelist.rowcount;
  709. if ( nodecnt > 0 ) {
  710. ds_init_codelist_O08.copyData(ds_codelist);
  711. }
  712. nodecnt ++;
  713. var ii = 0;
  714. for (var i = 1; i < nodecnt; i ++) {
  715. ds_init_codelist_O08A.addRow();
  716. ds_init_codelist_O08A.setColumn(i, "cdid", ds_init_codelist_O08.getColumn(ii, "cdid"));
  717. ds_init_codelist_O08A.setColumn(i, "cdnm", ds_init_codelist_O08.getColumn(ii, "cdnm"));
  718. ii ++;
  719. }
  720. ds_cond.setColumn(0, "workdd", curdate);
  721. ds_cond.setColumn(0, "dscstat", "-");
  722. // 15.07.16 시행부서 제거요청에 따른 주석 처리(일수 우문주 선생님 요청)
  723. //model.setValue("/root/cond/execdept", "-");
  724. // 15.05.26 추가
  725. ds_cond.setColumn(0, "gubnflag", "-");
  726. //속도개선
  727. this.setTimer(0, 100);
  728. // fSearch();
  729. //
  730. // var sCnt = ds_init_execdeptinfo_deptlist.rowcount;
  731. // var sSaveVerify = "N";
  732. //
  733. // for (var i = 0; i < sCnt; i++) {
  734. // if (ds_init_execdeptinfo_deptlist.getColumn(i, "execdeptcd") == sysf_getUserInfo("dutplcecd")) {
  735. // sSaveVerify = "Y";
  736. // break;
  737. // }
  738. // }
  739. //
  740. // if (sSaveVerify == "Y") {
  741. // grp_sea.btn_save.enable = true;
  742. // } else {
  743. // grp_sea.btn_save.enable = false;
  744. // }
  745. //
  746. // grdf_setRowTypeIcon(grd_plist, 0); //그리드 상태 아이콘 보여주기
  747. //
  748. // frmf_createPopupMenu("pop_grd_plist"
  749. // ,"fPopupMenu"
  750. // ,[{id: "fOpenPrintLabel" , level: "0", title: "환자라벨출력"}
  751. // , {id: "fOpenPatBC" , level: "0", title: "환자팔찌 재출력"}]
  752. // );
  753. }
  754. /****************************************************************************************
  755. * Function : fPopupMenu
  756. * Description :
  757. * Argument :
  758. * return type :
  759. * Creator :
  760. ****************************************************************************************/
  761. function fPopupMenu(obj:PopupMenu, e:MenuClickEventInfo){
  762. if( e.id == "fOpenPrintLabel" ){
  763. fOpenPrintLabel();
  764. }else if( e.id == "fOpenPatBC" ){
  765. fOpenPatBC();
  766. }
  767. }
  768. /****************************************************************************************
  769. * Argument : N/A
  770. * Description : 팝업메뉴 선택시
  771. ****************************************************************************************/
  772. function fOpenPrintLabel(){
  773. ds_main.setColumn(0, "cmpatprtcnt", "1");
  774. grp_prtlabel.visible = true;
  775. grp_prtlabel.ipt_cmpatprtcnt.setFocus();
  776. }
  777. /****************************************************************************************
  778. * Components : Button
  779. * Components ID : btn_sear
  780. * Event : onclick
  781. * Argument : 01.obj : Object Event has occurred
  782. * : 02.e : Event Object
  783. * Description : 조회버튼 클릭시
  784. ****************************************************************************************/
  785. function grp_sea_btn_sear_onclick(obj:Button, e:ClickEventInfo)
  786. {
  787. fSearch();
  788. }
  789. /****************************************************************************************
  790. * Components : Calendar
  791. * Components ID : input1
  792. * Event : onchanged
  793. * Argument : 01.obj : Object Event has occurred
  794. * : 02.e : Event Object
  795. * Description : 업무일자 변경시
  796. ****************************************************************************************/
  797. function grp_sea_input1_onchanged(obj:Calendar, e:ChangeEventInfo)
  798. {
  799. fSearch();
  800. }
  801. /****************************************************************************************
  802. * Components : Radio
  803. * Components ID : radio1
  804. * Event : onitemchanged
  805. * Argument : 01.obj : Object Event has occurred
  806. * : 02.e : Event Object
  807. * Description : 상태 변경시
  808. ****************************************************************************************/
  809. function grp_sea_radio1_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  810. {
  811. fSearch();
  812. }
  813. /****************************************************************************************
  814. * Components : Radio
  815. * Components ID : radio4
  816. * Event : onitemchanged
  817. * Argument : 01.obj : Object Event has occurred
  818. * : 02.e : Event Object
  819. * Description : 구분 변경시
  820. ****************************************************************************************/
  821. function grp_sea_radio4_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  822. {
  823. fSearch();
  824. }
  825. /****************************************************************************************
  826. * Components : Radio
  827. * Components ID : group1_radio3
  828. * Event : onitemchanged
  829. * Argument : 01.obj : Object Event has occurred
  830. * : 02.e : Event Object
  831. * Description : 시행부서(group1_radio3) 변경시
  832. ****************************************************************************************/
  833. function group1_radio3_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  834. {
  835. fSearch();
  836. }
  837. /****************************************************************************************
  838. * Components : Radio
  839. * Components ID : group1_radio2
  840. * Event : onitemchanged
  841. * Argument : 01.obj : Object Event has occurred
  842. * : 02.e : Event Object
  843. * Description : 시행부서(group1_radio2) 변경시
  844. ****************************************************************************************/
  845. function group1_radio2_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  846. {
  847. fSearch();
  848. }
  849. /****************************************************************************************
  850. * Components : Grid
  851. * Components ID : grd_plist
  852. * Event : onheadclick
  853. * Argument : 01.obj : Object Event has occurred
  854. * : 02.e : Event Object
  855. * Description : 그리드 헤더 클릭시
  856. ****************************************************************************************/
  857. function grd_plist_onheadclick(obj:Grid, e:GridClickEventInfo)
  858. {
  859. grdf_gridSort(obj, e);
  860. }
  861. /****************************************************************************************
  862. * Components : Grid
  863. * Components ID : grd_plist
  864. * Event : onrbuttonup
  865. * Argument : 01.obj : Object Event has occurred
  866. * : 02.e : Event Object
  867. * Description : 그리드에서 마우스 우클릭시
  868. ****************************************************************************************/
  869. function grd_plist_onrbuttonup(obj:Grid, e:GridMouseEventInfo)
  870. {
  871. if( e.row > -1 ){
  872. grdf_setSelectedCell(obj, e); // 선택된 행 확실히 선택해줌
  873. pop_grd_plist.trackPopup(e.screenX, e.screenY);
  874. }
  875. return true;
  876. }
  877. /****************************************************************************************
  878. * Components : Grid
  879. * Components ID : grd_plist
  880. * Event : onexpandup
  881. * Argument : 01.obj : Object Event has occurred
  882. * : 02.e : Event Object
  883. * Description : 그리드에서 expand버튼 클릭시
  884. ****************************************************************************************/
  885. function grd_plist_onexpandup(obj, e)
  886. {
  887. var curdate = utlf_getCurrentDate();
  888. var curtime = utlf_getCurrentTime().substr(0, 4);
  889. switch( obj.getCellProperty("Body", e.col, "text") ){
  890. case "bind:patinroomdt" :
  891. ds_main_dscpinfo_plist.setColumn(e.row, "patinroomdt", curdate + curtime);
  892. break;
  893. case "bind:patoutroomdt" :
  894. ds_main_dscpinfo_plist.setColumn(e.row, "patoutroomdt", curdate + curtime);
  895. break;
  896. default :
  897. break;
  898. }
  899. }
  900. /****************************************************************************************
  901. * Components : Dataset
  902. * Components ID : ds_main_dscpinfo_plist
  903. * Event : oncolumnchanged
  904. * Argument : 01.obj : Object Event has occurred
  905. * : 02.e : Event Object
  906. * Description : ds_main_dscpinfo_plist 값 변경시
  907. ****************************************************************************************/
  908. function ds_main_dscpinfo_plist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  909. {
  910. switch( e.columnid ){
  911. case "dscstat" :
  912. var curdate = utlf_getCurrentDate();
  913. var curtime = utlf_getCurrentTime().substr(0, 4)
  914. if (e.newvalue == "1") {
  915. obj.setColumn(e.row, "patinroomdt", curdate + curtime);
  916. } else if (e.newvalue == "3") {
  917. obj.setColumn(e.row, "patoutroomdt", curdate + curtime);
  918. }
  919. break;
  920. default :
  921. break;
  922. }
  923. }
  924. /****************************************************************************************
  925. * Components : MaskEdit
  926. * Components ID : ipt_cmpatprtcnt
  927. * Event : onkeyup
  928. * Argument : 01.obj : Object Event has occurred
  929. * : 02.e : Event Object
  930. * Description : MaskEdit에서 키 입력시
  931. ****************************************************************************************/
  932. function grp_prtlabel_ipt_cmpatprtcnt_onkeyup(obj:MaskEdit, e:KeyEventInfo)
  933. {
  934. if( e.keycode == 13 ){
  935. var ev = new ClickEventInfo;
  936. frmf_inputEnterKey("grp_prtlabel.btn_prtlabel", "onclick", ev);
  937. }
  938. }
  939. /****************************************************************************************
  940. * Components : Button
  941. * Components ID : btn_prtlabel
  942. * Event : onclick
  943. * Argument : 01.obj : Object Event has occurred
  944. * : 02.e : Event Object
  945. * Description : 확인버튼 클릭시
  946. ****************************************************************************************/
  947. function grp_prtlabel_btn_prtlabel_onclick(obj:Button, e:ClickEventInfo)
  948. {
  949. fPrintLabel_SMMNP09100();
  950. }
  951. /****************************************************************************************
  952. * Components : Button
  953. * Components ID : button2
  954. * Event : onclick
  955. * Argument : 01.obj : Object Event has occurred
  956. * : 02.e : Event Object
  957. * Description : 취소버튼 클릭시
  958. ****************************************************************************************/
  959. function grp_prtlabel_button2_onclick(obj:Button, e:ClickEventInfo)
  960. {
  961. fCancelPrint_SMMNP09100();
  962. }
  963. /****************************************************************************************
  964. * Components : Button
  965. * Components ID : btn_save
  966. * Event : onclick
  967. * Argument : 01.obj : Object Event has occurred
  968. * : 02.e : Event Object
  969. * Description : 저장버튼 클릭시
  970. ****************************************************************************************/
  971. function grp_sea_btn_save_onclick(obj:Button, e:ClickEventInfo)
  972. {
  973. fSave();
  974. }
  975. function SMMNP09100_ontimer(obj:Form, e:TimerEventInfo)
  976. {
  977. if (e.timerid == 0) {
  978. this.killTimer(0);
  979. fSearch();
  980. var sCnt = ds_init_execdeptinfo_deptlist.rowcount;
  981. var sSaveVerify = "N";
  982. for (var i = 0; i < sCnt; i++) {
  983. if (ds_init_execdeptinfo_deptlist.getColumn(i, "execdeptcd") == sysf_getUserInfo("dutplcecd")) {
  984. sSaveVerify = "Y";
  985. break;
  986. }
  987. }
  988. if (sSaveVerify == "Y") {
  989. grp_sea.btn_save.enable = true;
  990. } else {
  991. grp_sea.btn_save.enable = false;
  992. }
  993. grdf_setRowTypeIcon(grd_plist, 0); //그리드 상태 아이콘 보여주기
  994. frmf_createPopupMenu("pop_grd_plist"
  995. ,"fPopupMenu"
  996. ,[{id: "fOpenPrintLabel" , level: "0", title: "환자라벨출력"}
  997. , {id: "fOpenPatBC" , level: "0", title: "환자팔찌 재출력"}]
  998. );
  999. }
  1000. }
  1001. function grd_plist_onrbuttondown(obj:Grid, e:GridMouseEventInfo)
  1002. {
  1003. if( e.row > -1 && e.col > -1 ){
  1004. grdf_setSelectedCell(obj, e); // 선택된 행 확실히 선택해줌
  1005. //pop_grd_plist.trackPopup(e.screenX, e.screenY);
  1006. }
  1007. //return true;
  1008. }
  1009. function grd_plist_ontextchange(obj:Grid, e:GridEditTextChangeEventInfo)
  1010. {
  1011. if( e.col == 2 || e.col == 3 ){
  1012. grdf_validGridDateTime(obj, e);
  1013. }
  1014. }
  1015. var lastrow1 = -1;
  1016. var lastcol1 = -1;
  1017. var bDrop1 = false;
  1018. function grd_plist_oncellclick(obj:Grid, e:GridClickEventInfo)
  1019. {
  1020. lastrow1 = -1;
  1021. lastcol1 = -1;
  1022. var rSize = 0;
  1023. if( obj.getCellProperty("body", e.col, "expandshow") != "show"
  1024. || (obj.getCellProperty("body", e.col, "edittype") != "text" && obj.getCellProperty("body", e.col, "edittype") != "textarea" && utlf_transNullToEmpty(obj.getCellProperty("body", e.col, "edittype")).indexOf("expr") < 0) && obj.getCellProperty("body", e.col, "edittype") != "mask") return;
  1025. var oRect = obj.getCellRect(e.row, e.col);
  1026. if( !utlf_isNull(oRect) ){
  1027. rSize = oRect.right;
  1028. if (e.clientX >= (rSize - 25) && e.clientX < rSize){
  1029. var userEvent = new EventInfo();
  1030. userEvent.col = e.col;
  1031. userEvent.row = e.row;
  1032. grd_plist_onexpandup(grd_plist, userEvent);
  1033. }
  1034. }
  1035. }
  1036. function grd_plist_oncloseup(obj:Grid, e:GridEditEventInfo)
  1037. {
  1038. var dsGridBind = eval(obj.binddataset);
  1039. var preVal = utlf_transNullToEmpty(dsGridBind.getColumn(e.row, e.col));
  1040. var posVal = utlf_transNullToEmpty(e.value);
  1041. if( bDrop1 == true && (!utlf_isNull(posVal) || preVal != posVal) ){
  1042. obj.showEditor(false);
  1043. }
  1044. bDrop1 = false;
  1045. lastrow1 = e.row;
  1046. lastcol1 = e.col;
  1047. }
  1048. function grd_plist_onlbuttonup(obj:Grid, e:GridMouseEventInfo)
  1049. {
  1050. grdf_setSelectedCell(obj, e);
  1051. var dsGridBind = eval(obj.binddataset);
  1052. // Combo DropDown Click 처리
  1053. obj.autoenter = "key";
  1054. if( e.fromreferenceobject.name == "dropbutton" ){
  1055. bDrop1 = true;
  1056. }
  1057. if( e.row > -1 && obj.getCellProperty("body", e.col, "edittype") == "combo" ){
  1058. // Combo 선택시 활성화 및 combodatacol 변경
  1059. if( grdf_getSelectedCols(obj).length == 0 && grdf_getSelectedRows(obj).length == 0 && obj.getEditText() == undefined ){
  1060. obj.showEditor(true);
  1061. }else{
  1062. if(!obj.isDropdownCombo() && (lastrow1 != e.row || lastcol1 != e.col)) {
  1063. obj.setCellPos(e.col);
  1064. dsGridBind.rowposition = e.row;
  1065. obj.showEditor(true);
  1066. if(bDrop1) {
  1067. obj.dropdownCombo();
  1068. }
  1069. }
  1070. }
  1071. }else{
  1072. obj.autoenter = "key";
  1073. }
  1074. }
  1075. ]]></Script>
  1076. </Form>
  1077. </FDL>