SPMNR05400_병동간호마감.xfdl 54 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMNR05400" position="absolute 0 0 1195 780" titletext="병동투약마감" oninit="SPMNR05400_oninit" onload="SPMNR05400_onload" ontimer="SPMNR05400_ontimer">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 0 1194 25" id="group1">
  8. <Layouts>
  9. <Layout>
  10. <Static text="병동투약 마감" position="absolute 0 0 119 25" id="caption6" class="tit_1"/>
  11. </Layout>
  12. </Layouts>
  13. </Div>
  14. <Div position="absolute 0 13 1195 757" id="group3" scrollbars="none" anchor="all">
  15. <Layouts>
  16. <Layout>
  17. <Div position="absolute 0 10 1194 45" align="align:center top;" id="group5" class="div_SA" anchor="left top right">
  18. <Layouts>
  19. <Layout>
  20. <Static text="업무일자 :" position="absolute 445 10 531 27" id="caption20" class="search_name"/>
  21. <Shape position="absolute 1095 5 1095 27" linetype="vertical" id="line16"/>
  22. <Static text="내 환 자 :" position="absolute 225 10 328 27" id="caption17" class="search_name"/>
  23. <Static text="병 동 :" position="absolute 10 10 100 27" id="caption8" class="search_name"/>
  24. <Combo position="absolute 300 8 409 27" id="cmb_settingrn" class="combo_s_essential" taborder="5" innerdataset="@ds_temp_settingrn" datacolumn="settingrnnm" codecolumn="settingrnid" onitemchanged="group3_group5_cmb_settingrn_onitemchanged"/>
  25. <Combo position="absolute 69 8 203 27" id="cmb_ward" class="combo_search" taborder="1" innerdataset="@ds_temp_ward" datacolumn="wardnm" codecolumn="wardcd" onitemchanged="group3_group5_cmb_ward_onitemchanged"/>
  26. <Calendar position="absolute 523 8 611 27" id="ipt_fromdd" class="input_search" taborder="3" onchanged="group3_group5_ipt_fromdd_onchanged" autoskip="true" autoselect="true"/>
  27. <Button position="absolute 1122 7 1178 29" id="btn_PatListSel" class="btn1" taborder="6" text="조회" onclick="group3_group5_btn_PatListSel_onclick" anchor="top right"/>
  28. <Static text="구 분 :" position="absolute 730 10 801 27" id="caption1" class="search_name"/>
  29. <Combo position="absolute 785 8 880 27" id="cmb_flag" class="combo_s_essential" taborder="4" innerdataset="@ds_init_flag_item" datacolumn="name" codecolumn="id" onitemchanged="group3_group5_cmb_flag_onitemchanged"/>
  30. <Radio position="absolute 890 8 1040 27" id="rdo_duty" columncount="-1" rowcount="-1" innerdataset="@ds_init_rdo_flag_item" datacolumn="name" codecolumn="id" onitemchanged="group3_group5_rdo_duty_onitemchanged"/>
  31. <Calendar position="absolute 627 8 715 27" id="ipt_orddd" class="input_search" taborder="3" autoskip="true" onchanged="group3_group5_ipt_orddd_onchanged" autoselect="true"/>
  32. <Static text="~" position="absolute 615 7 630 27" id="caption3" style="align:left middle;"/>
  33. </Layout>
  34. </Layouts>
  35. </Div>
  36. <Static text="처방내역" position="absolute 290 59 403 75" id="caption2" class="tit_2"/>
  37. <Shape position="absolute 290 78 1190 84" linetype="horizontal" id="line2" class="line_1"/>
  38. <Button position="absolute 1133 51 1189 73" id="button41" class="btn3" taborder="7" text="마감" onclick="group3_button41_onclick" anchor="top right"/>
  39. <Static text="재원환자 목록" position="absolute 0 59 105 75" id="caption12" class="tit_2"/>
  40. <Grid position="absolute 0 80 285 735" id="grd_patlist" binddataset="ds_main_wardpatinfo_wardpatlist" oncellclick="group3_grd_patlist_oncellclick" oncelldblclick="group3_grd_patlist_oncelldblclick" onheadclick="group3_grd_patlist_onheadclick" anchor="left top bottom" scrollbars="autovert" cellsizingtype="col">
  41. <Formats>
  42. <Format id="default">
  43. <Columns>
  44. <Column size="25"/>
  45. <Column size="60"/>
  46. <Column size="75"/>
  47. <Column size="55"/>
  48. <Column size="55"/>
  49. <Column size="0"/>
  50. </Columns>
  51. <Rows>
  52. <Row size="24" band="head"/>
  53. <Row size="24"/>
  54. </Rows>
  55. <Band id="head">
  56. <Cell displaytype="checkbox" edittype="checkbox"/>
  57. <Cell col="1" text="병실"/>
  58. <Cell col="2" text="환자명"/>
  59. <Cell col="3" text="S/A"/>
  60. <Cell col="4" text="미투약"/>
  61. <Cell col="5" text="caption1"/>
  62. </Band>
  63. <Band id="body">
  64. <Cell displaytype="checkbox" edittype="checkbox" text="bind:check" expr="expr:(check == &quot;true&quot; || check == 1) ? 1 : 0"/>
  65. <Cell col="1" style="align:center middle;background:#ffffffff;background2:#ffffffff;" text="bind:roomcd" suppress="1" suppressalign="middle"/>
  66. <Cell col="2" style="align:center middle;background:#ffffffff;background2:#ffffffff;" text="bind:patnm"/>
  67. <Cell col="3" style="align:center middle;background:#ffffffff;background2:#ffffffff;" text="bind:sexage"/>
  68. <Cell col="4" style="align:center middle;background:#ffffffff;background2:#ffffffff;" text="bind:nacting"/>
  69. <Cell col="5" style="background:#ffffffff;background2:#ffffffff;" text="bind:blodrecord"/>
  70. </Band>
  71. </Format>
  72. </Formats>
  73. </Grid>
  74. <Shape position="absolute 0 75 285 81" linetype="horizontal" id="line5" class="line_10"/>
  75. <Grid position="absolute 290 80 1189 735" id="grd_prcplist" binddataset="ds_main_prcpinfo_prcplist" onmousemove="group3_grd_prcplist_onmousemove" onheadclick="group3_grd_prcplist_onheadclick" anchor="all" cellsizingtype="col" scrollpixel="all">
  76. <Formats>
  77. <Format id="default">
  78. <Columns>
  79. <Column size="25"/>
  80. <Column size="38"/>
  81. <Column size="40"/>
  82. <Column size="60"/>
  83. <Column size="60"/>
  84. <Column size="40"/>
  85. <Column size="40"/>
  86. <Column size="30"/>
  87. <Column size="80"/>
  88. <Column size="250"/>
  89. <Column size="40"/>
  90. <Column size="34"/>
  91. <Column size="36"/>
  92. <Column size="34"/>
  93. <Column size="0"/>
  94. <Column size="60"/>
  95. <Column size="55"/>
  96. <Column size="67"/>
  97. <Column size="145"/>
  98. <Column size="120"/>
  99. </Columns>
  100. <Rows>
  101. <Row size="24" band="head"/>
  102. <Row size="24" band="head"/>
  103. <Row size="24"/>
  104. </Rows>
  105. <Band id="head">
  106. <Cell rowspan="2" displaytype="checkbox" edittype="checkbox"/>
  107. <Cell col="1" rowspan="2" text="Duty"/>
  108. <Cell col="2" rowspan="2" text="병실"/>
  109. <Cell col="3" rowspan="2" text="등록번호"/>
  110. <Cell col="4" rowspan="2" text="환자명"/>
  111. <Cell col="5" rowspan="2" text="S/A"/>
  112. <Cell col="6" rowspan="2" text="투약시간" wordwrap="word"/>
  113. <Cell col="7" rowspan="2" text="mix"/>
  114. <Cell col="8" rowspan="2" text="처방코드"/>
  115. <Cell col="9" rowspan="2" text="처방명[* : 혼동주의/고위험 약제]"/>
  116. <Cell col="10" rowspan="2" text="1회용량" wordwrap="word"/>
  117. <Cell col="11" rowspan="2" text="단위"/>
  118. <Cell col="12" rowspan="2" text="1회수량" wordwrap="word"/>
  119. <Cell col="13" rowspan="2" text="단위"/>
  120. <Cell col="14" rowspan="2" text="1회횟수"/>
  121. <Cell col="15" rowspan="2" text="투약간호사"/>
  122. <Cell col="16" rowspan="2" text="기록시간"/>
  123. <Cell col="17" rowspan="2" text="처방적용일"/>
  124. <Cell col="18" rowspan="2" text="처방등록일시"/>
  125. <Cell col="19" rowspan="2" text="마감일시"/>
  126. </Band>
  127. <Band id="body">
  128. <Cell displaytype="checkbox" edittype="checkbox" text="bind:check" expr="expr:(check == &quot;true&quot; || check == 1) ? 1 : 0" editdisplay="edit"/>
  129. <Cell col="1" text="bind:duty"/>
  130. <Cell col="2" style="align:right middle;color:EXPR(fPrcpgd_Color(currow, self.col));color2:EXPR(fPrcpgd_Color(currow, self.col));" text="bind:roomcd"/>
  131. <Cell col="3" style="align:left middle;color:EXPR(fPrcpgd_Color(currow, self.col));color2:EXPR(fPrcpgd_Color(currow, self.col));" text="bind:pid"/>
  132. <Cell col="4" style="align:left middle;color:EXPR(fPrcpgd_Color(currow, self.col));color2:EXPR(fPrcpgd_Color(currow, self.col));" text="bind:patnm"/>
  133. <Cell col="5" style="align:left middle;color:EXPR(fPrcpgd_Color(currow, self.col));color2:EXPR(fPrcpgd_Color(currow, self.col));" text="bind:sexage"/>
  134. <Cell col="6" text="bind:drugtmspec" mask="expr:utlf_isNull(drugtmspec) ? '' : '##:##'"/>
  135. <Cell col="7" text="bind:prcpmixno"/>
  136. <Cell col="8" style="align:left middle;" text="bind:prcpcd"/>
  137. <Cell col="9" style="align:left middle;" text="bind:prcpnm"/>
  138. <Cell col="10" style="align:right middle;" text="bind:prcpvol"/>
  139. <Cell col="11" style="align:left middle;" text="bind:prcpvolunitflag1"/>
  140. <Cell col="12" style="align:right middle;" text="bind:prcpqty"/>
  141. <Cell col="13" style="align:left middle;" text="bind:prcpqtyunitflag1"/>
  142. <Cell col="14" text="bind:prcptims"/>
  143. <Cell col="15" style="align:left middle;" text="bind:usernm"/>
  144. <Cell col="16" style="align:left middle;" text="bind:exectm" mask="expr:utlf_isNull(exectm) ? '' : '##:##'"/>
  145. <Cell col="17" displaytype="date" style="padding:0 0 0 0;" text="bind:prcpdd" calendardisplaynulltype="none"/>
  146. <Cell col="18" displaytype="normal" style="align:left middle;" text="bind:fstrgstdt" wordwrap="word" mask="expr:!utlf_isNull(fstrgstdt) ? '@@@@-@@-@@ @@:@@ @@@@@@@@@' : ''"/>
  147. <Cell col="19" style="align:left middle;" text="bind:enddd" wordwrap="word" mask="expr:!utlf_isNull(enddd) ? '@@@@-@@-@@ @@:@@ @@@@@@@@@' : ''"/>
  148. </Band>
  149. </Format>
  150. </Formats>
  151. </Grid>
  152. <Static text="* 부서확인 전 마약 및 미승인 제한항생제는 미투약에서 제외됨" position="absolute 5 46 379 61" id="caption5" style="color:#008000ff;font:dotum,9,bold;" anchor="default"/>
  153. <Button position="absolute 1060 51 1128 73" id="btn_help" class="btn4" text="도움말" onclick="group3_btn_help_onclick" anchor="top right"/>
  154. <Shape id="line00" class="line_10" position="absolute 290 75 1189 81" anchor="left top right"/>
  155. </Layout>
  156. </Layouts>
  157. </Div>
  158. <ImageViewer position="absolute 1165 5 1180 20" id="img1" visible="false" image="URL('../../../images/emr/mr/icon_btn.png')" onmousemove="img1_onmousemove" onmouseleave="img1_onmouseleave"/>
  159. <Static text="1. 병동투약마감은 병동에서 정상투약, 투약X-반환불가로 기록된 투약내역에 대해서 실시한다. &#13;&#10; 병동 외 응급의료센터, 수술실 등에서 기록된 내역은 당일 24:00시에 자동마감되므로 병동투약마감에서 제외된다.&#13;&#10;2. 전일 08:00~당일 07:59까지의 투약된 내역 중 미마감된 처방이 존재시 당일 08:00시에 해당 병동의 ordermanage사용이 blocking된다." position="absolute 380 5 1160 63" align="align:left middle;" id="cap_key" class="text_essential" visible="false" style="padding:0 0 0 10;"/>
  160. <Div position="absolute 0 752 1195 779" id="group4" scrollbars="autoboth" anchor="left right bottom">
  161. <Layouts>
  162. <Layout>
  163. <Shape position="absolute 1 0 1195 6" linetype="horizontal" id="line37" class="line_6" anchor="left top right"/>
  164. <Static text="* 재원환자 목록에 분홍색 표기 : 미수행된 수혈간호기록이 있는 건" position="absolute 10 5 405 25" id="caption4" style="color:#ff00ffff;" anchor="left bottom"/>
  165. </Layout>
  166. </Layouts>
  167. </Div>
  168. <Static text="[표]" position="absolute 1160 760 1190 780" align="align:right middle;" id="caption24" style="align:right middle;" anchor="right bottom"/>
  169. </Layout>
  170. </Layouts>
  171. <Objects>
  172. <Dataset id="ds_main_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  173. <ColumnInfo>
  174. <Column id="settingrnid" type="STRING" size="256"/>
  175. <Column id="wardcd" type="STRING" size="256"/>
  176. <Column id="orddd" type="STRING" size="256"/>
  177. <Column id="flag" type="STRING" size="256"/>
  178. <Column id="duty" type="STRING" size="256"/>
  179. <Column id="yorddd" type="STRING" size="256"/>
  180. <Column id="torddd" type="STRING" size="256"/>
  181. <Column id="multicheck" type="STRING" size="256"/>
  182. <Column id="userid" type="STRING" size="256"/>
  183. <Column id="fromdd" type="STRING" size="256"/>
  184. <Column id="pid_search" type="STRING" size="256"/>
  185. </ColumnInfo>
  186. <Rows>
  187. <Row>
  188. <Col id="settingrnid"/>
  189. <Col id="wardcd"/>
  190. <Col id="orddd"/>
  191. <Col id="flag"/>
  192. <Col id="duty"/>
  193. <Col id="yorddd"/>
  194. <Col id="torddd"/>
  195. <Col id="multicheck">true</Col>
  196. <Col id="userid"/>
  197. <Col id="fromdd"/>
  198. <Col id="pid_search"/>
  199. </Row>
  200. </Rows>
  201. </Dataset>
  202. <Dataset id="ds_main_cond_test" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  203. <ColumnInfo>
  204. <Column id="pid" type="STRING" size="256"/>
  205. <Column id="indd" type="STRING" size="256"/>
  206. <Column id="cretno" type="STRING" size="256"/>
  207. </ColumnInfo>
  208. <Rows>
  209. <Row>
  210. <Col id="pid"/>
  211. <Col id="indd"/>
  212. <Col id="cretno"/>
  213. </Row>
  214. </Rows>
  215. </Dataset>
  216. <Dataset id="ds_main_wardpatinfo_wardpatlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_wardpatinfo_wardpatlist_oncolumnchanged">
  217. <ColumnInfo>
  218. <Column id="check" type="STRING" size="256"/>
  219. <Column id="roomcd" type="STRING" size="256"/>
  220. <Column id="patnm" type="STRING" size="256"/>
  221. <Column id="sexage" type="STRING" size="256"/>
  222. <Column id="pid" type="STRING" size="256"/>
  223. <Column id="indd" type="STRING" size="256"/>
  224. <Column id="cretno" type="STRING" size="256"/>
  225. <Column id="seqno" type="STRING" size="256"/>
  226. <Column id="instcd" type="STRING" size="256"/>
  227. <Column id="wardcd" type="STRING" size="256"/>
  228. <Column id="blodrecord" type="STRING" size="256"/>
  229. </ColumnInfo>
  230. <Rows>
  231. <Row>
  232. <Col id="check"/>
  233. <Col id="roomcd"/>
  234. <Col id="patnm"/>
  235. <Col id="sexage"/>
  236. <Col id="pid"/>
  237. <Col id="indd"/>
  238. <Col id="cretno"/>
  239. <Col id="seqno"/>
  240. <Col id="instcd"/>
  241. <Col id="wardcd"/>
  242. <Col id="blodrecord"/>
  243. </Row>
  244. </Rows>
  245. </Dataset>
  246. <Dataset id="ds_main_wardpatinfo_settingrn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  247. <ColumnInfo>
  248. <Column id="settingrnid" type="STRING" size="256"/>
  249. <Column id="settingrnnm" type="STRING" size="256"/>
  250. </ColumnInfo>
  251. <Rows>
  252. <Row>
  253. <Col id="settingrnid"/>
  254. <Col id="settingrnnm"/>
  255. </Row>
  256. </Rows>
  257. </Dataset>
  258. <Dataset id="ds_main_prcpinfo_prcplist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_prcpinfo_prcplist_oncolumnchanged">
  259. <ColumnInfo>
  260. <Column id="check" type="STRING" size="256"/>
  261. <Column id="duty" type="STRING" size="256"/>
  262. <Column id="roomcd" type="STRING" size="256"/>
  263. <Column id="pid" type="STRING" size="256"/>
  264. <Column id="patnm" type="STRING" size="256"/>
  265. <Column id="sexage" type="STRING" size="256"/>
  266. <Column id="drugtmspec" type="STRING" size="256"/>
  267. <Column id="prcpmixno" type="STRING" size="256"/>
  268. <Column id="prcpcd" type="STRING" size="256"/>
  269. <Column id="prcpnm" type="STRING" size="256"/>
  270. <Column id="prcpvol" type="STRING" size="256"/>
  271. <Column id="prcpvolunitflag1" type="STRING" size="256"/>
  272. <Column id="prcpqty" type="STRING" size="256"/>
  273. <Column id="prcpqtyunitflag1" type="STRING" size="256"/>
  274. <Column id="prcptims" type="STRING" size="256"/>
  275. <Column id="usernm" type="STRING" size="256"/>
  276. <Column id="exectm" type="STRING" size="256"/>
  277. <Column id="prcpdd" type="STRING" size="256"/>
  278. <Column id="fstrgstdt" type="STRING" size="256"/>
  279. <Column id="enddd" type="STRING" size="256"/>
  280. <Column id="blodrecord" type="STRING" size="256"/>
  281. </ColumnInfo>
  282. <Rows>
  283. <Row>
  284. <Col id="check"/>
  285. <Col id="duty"/>
  286. <Col id="roomcd"/>
  287. <Col id="pid"/>
  288. <Col id="patnm"/>
  289. <Col id="sexage"/>
  290. <Col id="drugtmspec"/>
  291. <Col id="prcpmixno"/>
  292. <Col id="prcpcd"/>
  293. <Col id="prcpnm"/>
  294. <Col id="prcpvol"/>
  295. <Col id="prcpvolunitflag1"/>
  296. <Col id="prcpqty"/>
  297. <Col id="prcpqtyunitflag1"/>
  298. <Col id="prcptims"/>
  299. <Col id="usernm"/>
  300. <Col id="exectm"/>
  301. <Col id="prcpdd"/>
  302. <Col id="fstrgstdt"/>
  303. <Col id="enddd"/>
  304. <Col id="blodrecord"/>
  305. </Row>
  306. </Rows>
  307. </Dataset>
  308. <Dataset id="ds_main" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  309. <ColumnInfo>
  310. <Column id="patlistflag" type="STRING" size="256"/>
  311. </ColumnInfo>
  312. <Rows>
  313. <Row>
  314. <Col id="patlistflag"/>
  315. </Row>
  316. </Rows>
  317. </Dataset>
  318. <Dataset id="ds_main_wardprescondinfo_prcpnotend" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  319. <ColumnInfo>
  320. <Column id="pid" type="STRING" size="256"/>
  321. </ColumnInfo>
  322. </Dataset>
  323. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  324. <ColumnInfo>
  325. <Column id="reqdata" type="STRING" size="256"/>
  326. <Column id="savedata" type="STRING" size="256"/>
  327. <Column id="medicard" type="STRING" size="256"/>
  328. <Column id="medicard8" type="STRING" size="256"/>
  329. </ColumnInfo>
  330. <Rows>
  331. <Row>
  332. <Col id="reqdata"/>
  333. <Col id="savedata"/>
  334. <Col id="medicard"/>
  335. <Col id="medicard8"/>
  336. </Row>
  337. </Rows>
  338. </Dataset>
  339. <Dataset id="ds_send_signinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  340. <ColumnInfo>
  341. <Column id="signdata" type="STRING" size="256"/>
  342. </ColumnInfo>
  343. <Rows>
  344. <Row/>
  345. </Rows>
  346. </Dataset>
  347. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  348. <ColumnInfo>
  349. <Column id="warddruginfo" type="STRING" size="256"/>
  350. <Column id="drugreportinfo" type="STRING" size="256"/>
  351. <Column id="message" type="STRING" size="256"/>
  352. </ColumnInfo>
  353. <Rows>
  354. <Row/>
  355. </Rows>
  356. </Dataset>
  357. <Dataset id="ds_hidden_for" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  358. <ColumnInfo>
  359. <Column id="prcpcd" type="STRING" size="256"/>
  360. <Column id="hngnm" type="STRING" size="256"/>
  361. <Column id="prcpvolnm" type="STRING" size="256"/>
  362. </ColumnInfo>
  363. <Rows>
  364. <Row/>
  365. </Rows>
  366. </Dataset>
  367. <Dataset id="ds_init_ward" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  368. <ColumnInfo>
  369. <Column id="wardcd" type="STRING" size="256"/>
  370. <Column id="wardnm" type="STRING" size="256"/>
  371. </ColumnInfo>
  372. <Rows>
  373. <Row/>
  374. </Rows>
  375. </Dataset>
  376. <Dataset id="ds_init_room_room" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  377. <ColumnInfo>
  378. <Column id="roomcd" type="STRING" size="256"/>
  379. <Column id="roomnm" type="STRING" size="256"/>
  380. </ColumnInfo>
  381. <Rows>
  382. <Row/>
  383. </Rows>
  384. </Dataset>
  385. <Dataset id="ds_init_settingrn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  386. <ColumnInfo>
  387. <Column id="settingrnid" type="STRING" size="256"/>
  388. <Column id="settingrnnm" type="STRING" size="256"/>
  389. </ColumnInfo>
  390. <Rows>
  391. <Row/>
  392. </Rows>
  393. </Dataset>
  394. <Dataset id="ds_init_orddd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  395. <ColumnInfo>
  396. <Column id="date" type="STRING" size="256"/>
  397. </ColumnInfo>
  398. <Rows>
  399. <Row/>
  400. </Rows>
  401. </Dataset>
  402. <Dataset id="ds_init_rdo_flag_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  403. <ColumnInfo>
  404. <Column id="name" type="STRING" size="256"/>
  405. <Column id="id" type="STRING" size="256"/>
  406. </ColumnInfo>
  407. <Rows>
  408. <Row>
  409. <Col id="name">D</Col>
  410. <Col id="id">D</Col>
  411. </Row>
  412. <Row>
  413. <Col id="name">E</Col>
  414. <Col id="id">E</Col>
  415. </Row>
  416. <Row>
  417. <Col id="name">N</Col>
  418. <Col id="id">N</Col>
  419. </Row>
  420. </Rows>
  421. </Dataset>
  422. <Dataset id="ds_init_flag_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  423. <ColumnInfo>
  424. <Column id="name" type="STRING" size="256"/>
  425. <Column id="id" type="STRING" size="256"/>
  426. </ColumnInfo>
  427. <Rows>
  428. <Row>
  429. <Col id="name">마감전</Col>
  430. <Col id="id">before</Col>
  431. </Row>
  432. <Row>
  433. <Col id="name">마감후</Col>
  434. <Col id="id">after</Col>
  435. </Row>
  436. </Rows>
  437. </Dataset>
  438. <Dataset id="ds_temp_warddruginfo_warddruglist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  439. <Dataset id="ds_temp_wardactinfo_wardactlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  440. <Dataset id="ds_temp_ward" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  441. <ColumnInfo>
  442. <Column id="wardcd" type="STRING" size="256"/>
  443. <Column id="wardnm" type="STRING" size="256"/>
  444. </ColumnInfo>
  445. <Rows>
  446. <Row/>
  447. </Rows>
  448. </Dataset>
  449. <Dataset id="ds_temp_settingrn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  450. <ColumnInfo>
  451. <Column id="settingrnid" type="STRING" size="256"/>
  452. <Column id="settingrnnm" type="STRING" size="256"/>
  453. </ColumnInfo>
  454. <Rows>
  455. <Row/>
  456. </Rows>
  457. </Dataset>
  458. <Dataset id="ds_temp_test" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  459. <ColumnInfo>
  460. <Column id="pid" type="STRING" size="256"/>
  461. <Column id="indd" type="STRING" size="256"/>
  462. <Column id="cretno" type="STRING" size="256"/>
  463. </ColumnInfo>
  464. <Rows>
  465. <Row/>
  466. </Rows>
  467. </Dataset>
  468. <Dataset id="ds_actingend_endlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  469. <Dataset id="ds_actingend_endflagvalue" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  470. <ColumnInfo>
  471. <Column id="endflag" type="STRING" size="256"/>
  472. </ColumnInfo>
  473. <Rows>
  474. <Row/>
  475. </Rows>
  476. </Dataset>
  477. <Dataset id="ds_hidden_ret" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  478. <ColumnInfo>
  479. <Column id="count" type="STRING" size="256"/>
  480. </ColumnInfo>
  481. <Rows>
  482. <Row/>
  483. </Rows>
  484. </Dataset>
  485. <Dataset id="ds_main_paminfo_pamlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  486. <Dataset id="ds_codelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  487. <Dataset id="ds_main_cond_reqpidcond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  488. </Objects>
  489. <Bind>
  490. <BindItem id="item0" compid="group3.group5.cmb_settingrn" propid="value" datasetid="ds_main_cond" columnid="settingrnid"/>
  491. <BindItem id="item1" compid="group3.group5.cmb_ward" propid="value" datasetid="ds_main_cond" columnid="wardcd"/>
  492. <BindItem id="item2" compid="group3.group5.ipt_fromdd" propid="value" datasetid="ds_main_cond" columnid="fromdd"/>
  493. <BindItem id="item3" compid="group3.group5.cmb_flag" propid="value" datasetid="ds_main_cond" columnid="flag"/>
  494. <BindItem id="item4" compid="group3.group5.rdo_duty" propid="value" datasetid="ds_main_cond" columnid="duty"/>
  495. <BindItem id="item5" compid="group3.group5.ipt_orddd" propid="value" datasetid="ds_main_cond" columnid="orddd"/>
  496. </Bind>
  497. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  498. * System Name :
  499. * Job Name :
  500. * Creator :
  501. * Make Date : 2015-11-13
  502. * Description :
  503. *---------------------------------------------------------------------------------------
  504. * Modify Date Modifier Modify Description
  505. *---------------------------------------------------------------------------------------
  506. * 2015-11-13 Live Converter TF->XP
  507. *
  508. *---------------------------------------------------------------------------------------
  509. ****************************************************************************************/
  510. include "com_commonxp::comm_main.xjs";
  511. include "emr_carecomxp::CareCom.xjs";
  512. var arErrorCode = new HashArray();
  513. function cf_TXMNR06301(sSvcId, nErrorCode, sErrorMsg) {
  514. arErrorCode.push(sSvcId, nErrorCode);
  515. if(nErrorCode < 0) return;
  516. utlf_addLog("***** cf_TXMNR06301 *****");
  517. }
  518. /***********************************************javascript start***********************************************/
  519. /** ----------------------------------------------------------------------
  520. *
  521. * 날짜 계산(기준일자를 기준으로 입력일자만큼 이후 날짜를 찾아오기)
  522. *
  523. * ----------------------------------------------------------------------
  524. **/
  525. function getDateAddc(inputday,addend){
  526. var backDate ="";
  527. var rt = 0;
  528. var yyyy = inputday.substring(0,4) +"";
  529. var mm = inputday.substring(4,6) +"";
  530. var dd = inputday.substring(6,8) +"";
  531. var startDate = new Date(yyyy,(eval(mm)-1),dd);
  532. startDate.setTime(startDate.getTime()+(86400000*addend));
  533. NowYear = startDate.getYear();// 년
  534. NowMonth = startDate.getMonth()+1;// 월
  535. NowDay = startDate.getDate(); // 일
  536. backDate += NowYear ; //년도
  537. if (NowMonth < 10 ) backDate += "0" + NowMonth ;
  538. else backDate += (startDate.getMonth() + 1);
  539. if (NowDay < 10 ) backDate += "0" + NowDay ;
  540. else backDate += (startDate.getDate());
  541. return backDate ;
  542. }
  543. // 환자 목록 조회
  544. function fGetPatList(){
  545. var oParam = {};
  546. oParam.id = "TRMNR05402";
  547. oParam.service = "wardendapp.WardEnd";
  548. oParam.method = "reqGetWardPatList";
  549. oParam.inds = "reqcond=ds_main_cond";
  550. oParam.outds = "ds_main_wardpatinfo_wardpatlist=wardpatlist";
  551. oParam.async = false;
  552. tranf_submit(oParam);
  553. dsf_setFixVal(ds_main_wardpatinfo_wardpatlist, "check:false");
  554. ds_main_prcpinfo_prcplist.clearData();
  555. ds_main.deleteColumn("patlistflag");
  556. group3.grd_patlist.setCellProperty("head", 0, "text", '0');
  557. var patCnt = ds_main_wardpatinfo_wardpatlist.rowcount;
  558. if(patCnt> 0){
  559. var sExprColor = "EXPR(";
  560. for(var i = 0; i < patCnt; i++){
  561. var blodrecord = ds_main_wardpatinfo_wardpatlist.getColumn(i, "blodrecord");
  562. if(blodrecord > 0){
  563. sExprColor += "currow == "+i+" ? '#ff00ff' : "; // 수혈간호기록작성되지 않은 건이 있는 환자 색 표시
  564. }else{
  565. sExprColor += "currow == "+i+" ? '#000000' : ";
  566. }
  567. }
  568. sExprColor += "'')";
  569. group3.grd_patlist.setCellProperty("Body", group3.grd_patlist.getBindCellIndex("body","patnm"), "color", sExprColor);
  570. group3.grd_patlist.setCellProperty("Body", group3.grd_patlist.getBindCellIndex("body","sexage"), "color", sExprColor);
  571. }
  572. }
  573. // 투약 리스트 조회
  574. function fGetPrcpList(){
  575. var sHeader = "pid▦indd▦cretno▩"
  576. var sContents = "";
  577. ds_main_prcpinfo_prcplist.clearData();
  578. ds_main_cond_test.clearData();
  579. ds_main_cond_reqpidcond.clearData();
  580. group3.grd_prcplist.setCellProperty("Body", 0, "edittype", "checkbox");
  581. group3.grd_prcplist.readonly = false;
  582. ds_main_cond.setColumn(0, "yorddd", getDateAddc(ds_main_cond.getColumn(0, "orddd"),-1));
  583. ds_main_cond.setColumn(0, "torddd", getDateAddc(ds_main_cond.getColumn(0, "orddd"),+1));
  584. var flag = ds_main_cond.getColumn(0, "flag");
  585. if(flag!="before")
  586. {
  587. group3.button41.visible=false;
  588. }
  589. else if(flag=="before")
  590. {
  591. group3.button41.visible=true;
  592. }
  593. var j=0;
  594. var patCnt = ds_main_wardpatinfo_wardpatlist.rowcount;
  595. for(var i = 0; i < patCnt; i++){
  596. if(group3.grd_patlist.getCellValue(i, 0) == 'true')
  597. {
  598. var pid = ds_main_wardpatinfo_wardpatlist.getColumn(i, "pid");
  599. var indd = ds_main_wardpatinfo_wardpatlist.getColumn(i, "indd");
  600. var cretno = ds_main_wardpatinfo_wardpatlist.getColumn(i, "cretno");
  601. dsf_makeValue(ds_main_cond_test,"pid" , "string", pid , j);
  602. dsf_makeValue(ds_main_cond_test,"indd" , "string", indd , j);
  603. dsf_makeValue(ds_main_cond_test,"cretno", "string", cretno , j);
  604. sContents += pid + "▦"
  605. + indd + "▦"
  606. + cretno + "▩";
  607. j++;
  608. }
  609. }
  610. dsf_createDs("ds_main_cond_reqpidcond");
  611. dsf_setCSVToDs("ds_main_cond_reqpidcond", sHeader + sContents);
  612. if ( j <= 0 ) return;
  613. dsf_createDs("ds_hidden_pidseqnoinfo_pidseqnoinfo");
  614. var oParam = {};
  615. oParam.id = "TXMNR06301";
  616. oParam.service = "caremedirecapp.CareMediRec";
  617. oParam.method = "reqSetPidInfo";
  618. oParam.inds = "reqpidcond=ds_main_cond_reqpidcond";
  619. oParam.outds = "ds_hidden_pidseqnoinfo_pidseqnoinfo=pidseqnoinfo";
  620. oParam.async = false;
  621. oParam.callback = "cf_TXMNR06301";
  622. tranf_submit(oParam);
  623. if(arErrorCode.pop("TXMNR06301") > -1){
  624. dsf_makeValue(ds_main_cond,"pidseqno" , "string", ds_hidden_pidseqnoinfo_pidseqnoinfo.getColumn(0, "pidseqno"));
  625. }else {
  626. return;
  627. }
  628. if( !utlf_isNull(ds_main_cond_test.getColumnInfo("cretno")) ){
  629. dsf_setTypeFormat(ds_main_cond_test, "cretno:INT");
  630. }
  631. var oParam = {};
  632. oParam.id = "TRMNR05403";
  633. oParam.service = "wardendapp.WardEnd";
  634. oParam.method = "reqGetWardDrugList";
  635. oParam.inds = "reqcond=ds_main_cond pid=ds_main_cond_test indd=ds_main_cond_test cretno=ds_main_cond_test";
  636. oParam.outds = "ds_main_prcpinfo_prcplist=warddruglist";
  637. oParam.async = false;
  638. tranf_submit(oParam);
  639. dsf_setFixVal(ds_main_prcpinfo_prcplist, "check:true");
  640. if( utlf_isNull(ds_main_prcpinfo_prcplist.getColumnInfo("enddd")) ){
  641. ds_main_prcpinfo_prcplist.addColumn("enddd","string");
  642. }
  643. var nodeCnt = ds_main_prcpinfo_prcplist.rowcount;
  644. for(var i = 0; i < nodeCnt; i++){
  645. if(flag=="after"){
  646. ds_main_prcpinfo_prcplist.setColumn(i, "check", "false");
  647. group3.grd_prcplist.readonly= true;
  648. group3.grd_prcplist.setCellProperty("Body", 0, "controlbackground", "silver");
  649. }
  650. var execdd = ds_main_prcpinfo_prcplist.getColumn(i, "execdd");
  651. if(execdd == "00000000"){
  652. ds_main_prcpinfo_prcplist.setColumn(i, "check", "false");
  653. group3.grd_prcplist.readonly = true;
  654. group3.grd_prcplist.setCellProperty("Body", 0, "controlbackground", "silver");
  655. }
  656. }
  657. }
  658. /*grd_dayworklist 0번째 열 글 색*/
  659. function fPrcpgd_Color(row, col){
  660. var sColor = "";
  661. if(row > 0){
  662. if( (ds_main_prcpinfo_prcplist.getColumn(row-1, "pid") == ds_main_prcpinfo_prcplist.getColumn(row, "pid")) && (ds_main_prcpinfo_prcplist.getColumn(row-1, "roomcd") == ds_main_prcpinfo_prcplist.getColumn(row, "roomcd")) ){
  663. sColor = "white";
  664. }else if( (ds_main_prcpinfo_prcplist.getColumn(row-1, "pid") != ds_main_prcpinfo_prcplist.getColumn(row, "pid")) || (ds_main_prcpinfo_prcplist.getColumn(row-1, "roomcd") != ds_main_prcpinfo_prcplist.getColumn(row, "roomcd")) ){
  665. sColor = "black";
  666. }
  667. }
  668. return sColor;
  669. }
  670. /************************************************javascript end************************************************/
  671. /*SPMNR05400_oninit*/
  672. function SPMNR05400_oninit(obj:Form, e:InitEventInfo)
  673. {
  674. frmf_initForm(obj);
  675. }
  676. /*SPMNR05400_onload*/
  677. function SPMNR05400_onload(obj:Form, e:LoadEventInfo)
  678. {
  679. try{
  680. ds_main_wardprescondinfo_prcpnotend.copyData(arg_ds_main_wardprescondinfo_prcpnotend);
  681. }catch(e){
  682. sysf_catchTrace(e);
  683. }
  684. var pCode = "'199','200'";
  685. fGetNursHardCdInfo(pCode, utlf_getCurrentDate());
  686. ds_main_prcpinfo_prcplist.clearData();
  687. ds_main_wardpatinfo_wardpatlist.clearData();
  688. var sWardCd = "";
  689. var sFromdd = "";
  690. var sPamInfo = sysf_getGlobalVariable("paminfo");
  691. dsf_setCSVToDs("ds_main_paminfo_pamlist", sPamInfo); //환자정보내리기
  692. if ( frmf_checkOpener() ){
  693. sWardCd = opener.frmf_getParameter("wardcd");
  694. sFromdd = opener.frmf_getParameter("fromdd");
  695. sPID = opener.frmf_getParameter("pid");
  696. sParam = opener.frmf_getParameter("param");
  697. if( utlf_isNull(sWardCd) ){
  698. sWardCd = ds_main_paminfo_pamlist.getColumn(0, "wardcd");
  699. if( utlf_isNull(sWardCd) ){
  700. ds_main_cond.setColumn(0, "wardcd", sysf_getUserInfo("dutplcecd"));
  701. }else{
  702. ds_main_cond.setColumn(0, "wardcd", sWardCd);
  703. }
  704. ds_main_cond.setColumn(0, "fromdd", getDateAddc(utlf_getCurrentDate(),-1));
  705. ds_main_cond.setColumn(0, "orddd", utlf_getCurrentDate());
  706. }else{
  707. ds_main_cond.setColumn(0, "wardcd", sWardCd);
  708. ds_main_cond.setColumn(0, "fromdd", ( utlf_isNull(sFromdd) ? getDateAddc(utlf_getCurrentDate(),-1) : sFromdd) );
  709. ds_main_cond.setColumn(0, "orddd", utlf_getCurrentDate());
  710. if(sParam == "SMMNW01200"){ //퇴원정리 및 퇴원확정 화면
  711. ds_main_cond.setColumn(0, "pid_search", sPID);
  712. }
  713. }
  714. }
  715. ds_main_cond.setColumn(0, "yorddd", getDateAddc(ds_main_cond.getColumn(0, "fromdd"),-1));
  716. ds_main_cond.setColumn(0, "torddd", getDateAddc(ds_main_cond.getColumn(0, "orddd"),+1));
  717. ds_main_cond.setColumn(0, "userid", sysf_getUserId());
  718. var curTime = utlf_getCurrentTime().substr(0,4);
  719. ds_main_cond.setColumn(0, "flag", ds_init_flag_item.getColumn(0, "id"));
  720. if(curTime>"0800" && curTime < "1601"){
  721. ds_main_cond.setColumn(0, "duty", ds_init_rdo_flag_item.getColumn(0, "id"));
  722. }
  723. else if(curTime>"1600" && curTime < "2301"){
  724. ds_main_cond.setColumn(0, "duty", ds_init_rdo_flag_item.getColumn(1, "id"));
  725. }
  726. else {
  727. ds_main_cond.setColumn(0, "duty", ds_init_rdo_flag_item.getColumn(2, "id"));
  728. }
  729. var oParam = {};
  730. oParam.id = "TRMNR05401";
  731. oParam.service = "wardendapp.WardEnd";
  732. oParam.method = "reqGetWardEndInit";
  733. oParam.inds = "reqcond=ds_main_cond";
  734. oParam.outds = "ds_temp_ward=ward ds_temp_settingrn=settingrn";
  735. oParam.async = false;
  736. tranf_submit(oParam);
  737. ds_main_cond.setColumn(0, "settingrnid", "");
  738. ds_temp_settingrn.setColumn(0, "settingrnid", "");
  739. if( utlf_isNull(ds_main_cond.getColumn(0, "pid_search")) ){
  740. for(i = 0; i < ds_temp_settingrn.rowcount; i++ ) {
  741. if (ds_main_cond.getColumn(0, "userid") == ds_temp_settingrn.getColumn(i, "settingrnid")) {
  742. ds_main_cond.setColumn(0, "settingrnid", ds_main_cond.getColumn(0, "userid"));
  743. }
  744. }
  745. }
  746. //fGetPatList();
  747. this.setTimer(0, 100);
  748. // var patCnt = ds_main_wardpatinfo_wardpatlist.rowcount;
  749. //
  750. // if(ds_main_wardprescondinfo_prcpnotend.rowcount==0){
  751. // ds_main_wardprescondinfo_prcpnotend.addRow();
  752. // }
  753. //
  754. // if ( ds_main_wardprescondinfo_prcpnotend.rowcount > 0 && patCnt > 0 ){
  755. // var sExprColor2 = "EXPR(";
  756. // for ( var endcnt = 0 ; endcnt < ds_main_wardprescondinfo_prcpnotend.rowcount; endcnt++){
  757. // sPID = ds_main_wardprescondinfo_prcpnotend.getColumn(endcnt, "pid");
  758. // for(i=0; i < patCnt - 1; i++){
  759. // if(sPID == ds_main_wardpatinfo_wardpatlist.getColumn(i, "pid")){
  760. // ds_main_wardpatinfo_wardpatlist.setColumn(i, "check", "true");
  761. // sExprColor2 += "currow == "+i+" ? '#FFE1E1' : ";
  762. // }
  763. // }
  764. // }
  765. // sExprColor2 += "'')";
  766. // group3.grd_patlist.setCellProperty("Body", 0, "background", sExprColor2);
  767. // group3.grd_patlist.setCellProperty("Body", 0, "background2", sExprColor2);
  768. // group3.grd_patlist.setCellProperty("Body", 1, "background", sExprColor2);
  769. // group3.grd_patlist.setCellProperty("Body", 1, "background2", sExprColor2);
  770. // group3.grd_patlist.setCellProperty("Body", 2, "background", sExprColor2);
  771. // group3.grd_patlist.setCellProperty("Body", 2, "background2", sExprColor2);
  772. // group3.grd_patlist.setCellProperty("Body", 3, "background", sExprColor2);
  773. // group3.grd_patlist.setCellProperty("Body", 3, "background2", sExprColor2);
  774. // group3.grd_patlist.setCellProperty("Body", 4, "background", sExprColor2);
  775. // group3.grd_patlist.setCellProperty("Body", 4, "background2", sExprColor2);
  776. // group3.grd_patlist.setCellProperty("Body", 5, "background", sExprColor2);
  777. // group3.grd_patlist.setCellProperty("Body", 5, "background2", sExprColor2);
  778. // //fGetPrcpList();
  779. //
  780. // } else if( !utlf_isNull(sPID) && patCnt > 0 ){
  781. // for(i=0; i < patCnt; i++){
  782. // if(sPID == ds_main_wardpatinfo_wardpatlist.getColumn(i, "pid")){
  783. // ds_main_wardpatinfo_wardpatlist.setColumn(i, "check", "true");
  784. // }
  785. // }
  786. // }
  787. // ds_main_wardpatinfo_wardpatlist.rowposition = -1;
  788. }
  789. /*group3_group5_cmb_settingrn_onitemchanged*/
  790. function group3_group5_cmb_settingrn_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  791. {
  792. fGetPatList();
  793. }
  794. /*group3_group5_cmb_ward_onitemchanged*/
  795. function group3_group5_cmb_ward_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  796. {
  797. fGetPatList();
  798. }
  799. /*group3_group5_ipt_fromdd_onchanged*/
  800. function group3_group5_ipt_fromdd_onchanged(obj:Calendar, e:ChangeEventInfo)
  801. {
  802. fGetPrcpList();
  803. }
  804. /*group3_group5_btn_PatListSel_onclick*/
  805. function group3_group5_btn_PatListSel_onclick(obj:Button, e:ClickEventInfo)
  806. {
  807. fGetPrcpList();
  808. }
  809. /*group3_group5_cmb_flag_onitemchanged*/
  810. function group3_group5_cmb_flag_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  811. {
  812. var endFlag = ds_main_cond.getColumn(0, "flag");
  813. if(endFlag == "after")
  814. {
  815. dsf_makeValue(ds_init_rdo_flag_item,"name", "string", "전체", 0);
  816. dsf_makeValue(ds_init_rdo_flag_item,"id", "string", "-", 0);
  817. dsf_makeValue(ds_init_rdo_flag_item,"name", "string", "D", 1);
  818. dsf_makeValue(ds_init_rdo_flag_item,"id", "string", "D", 1);
  819. dsf_makeValue(ds_init_rdo_flag_item,"name", "string", "E", 2);
  820. dsf_makeValue(ds_init_rdo_flag_item,"id", "string", "E", 2);
  821. dsf_makeValue(ds_init_rdo_flag_item,"name", "string", "N", 3);
  822. dsf_makeValue(ds_init_rdo_flag_item,"id", "string", "N", 3);
  823. }
  824. else if(endFlag == "before")
  825. {
  826. ds_init_rdo_flag_item.clearData();
  827. dsf_makeValue(ds_init_rdo_flag_item,"name", "string", "D", 0);
  828. dsf_makeValue(ds_init_rdo_flag_item,"id", "string", "D", 0);
  829. dsf_makeValue(ds_init_rdo_flag_item,"name", "string", "E", 1);
  830. dsf_makeValue(ds_init_rdo_flag_item,"id", "string", "E", 1);
  831. dsf_makeValue(ds_init_rdo_flag_item,"name", "string", "N", 2);
  832. dsf_makeValue(ds_init_rdo_flag_item,"id", "string", "N", 2);
  833. }
  834. fGetPrcpList();
  835. }
  836. /*group3_group5_rdo_duty_onitemchanged*/
  837. function group3_group5_rdo_duty_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  838. {
  839. fGetPrcpList();
  840. }
  841. /*group3_group5_ipt_orddd_onchanged*/
  842. function group3_group5_ipt_orddd_onchanged(obj:Calendar, e:ChangeEventInfo)
  843. {
  844. fGetPrcpList();
  845. }
  846. /*group3_button41_onclick*/
  847. function group3_button41_onclick(obj:Button, e:ClickEventInfo)
  848. {
  849. var endListRow = 0;
  850. var blodrecordcnt = 0; // 수혈간호기록작성되지 않은 건수
  851. var nactingcnt = 0; // 투약기준시간 이전에 투약기록 하지 않은 건수
  852. var actingchkcnt = 0;
  853. var patinfoCnt = ds_main_wardpatinfo_wardpatlist.rowcount;
  854. for(var i = 0; i <= patinfoCnt; i++){
  855. if(ds_main_wardpatinfo_wardpatlist.getColumn( i-1, "blodrecord") > 0){ // 수혈간호기록작성되지 않은 건수
  856. blodrecordcnt ++ ;
  857. }
  858. if(ds_main_wardpatinfo_wardpatlist.getColumn( i-1, "nacting") > 0){ // 미투약건수
  859. nactingcnt ++ ;
  860. }
  861. }
  862. if(blodrecordcnt > 0){
  863. sysf_messageBox("미수행된 수혈간호기록이 있습니다. 수혈간호기록을 종료(인증저장까\n지 진행)하신 후 투약마감을 하시기 바랍니다. 수혈간호기록 누락자는\n좌측 재원환자목록(분홍색 이름)을 참고하시기 바랍니다. ","I000");
  864. }
  865. if(ds_codelist.rowcount > 0){
  866. for(var i=0; i< ds_codelist.rowcount; i++){
  867. if(ds_codelist.getColumn(i, "cdgrupid") == '200'){
  868. if(ds_codelist.getColumn(i, "cdid") == ds_main_cond.getColumn(0, "wardcd")){
  869. actingchkcnt ++;
  870. }
  871. }
  872. }
  873. }
  874. if(ds_codelist.lookup("cdgrupid", '199', "cdid") == 'Y' ){
  875. if(nactingcnt > 0){
  876. sysf_messageBox("미투약건이 있습니다. 미투약리스트를 확인하고 투약기록 후 마감하시기 바랍니다. ","E");
  877. return ;
  878. }
  879. }else if(ds_codelist.lookup("cdgrupid", '199', "cdid") == 'T'){
  880. if(actingchkcnt > 0){
  881. if(nactingcnt > 0){
  882. sysf_messageBox("미투약건이 있습니다. 미투약리스트를 확인하고 투약기록 후 마감하시기 바랍니다. ","E");
  883. return ;
  884. }
  885. }
  886. }
  887. var prcpCnt = ds_main_prcpinfo_prcplist.rowcount;
  888. trace(ds_main_prcpinfo_prcplist.saveXML());
  889. for(var i = 0; i < prcpCnt; i++){
  890. if(group3.grd_prcplist.getCellValue(i, 0) == 'true')
  891. {
  892. dsf_makeValue(ds_actingend_endlist,"prcpdd", "string",ds_main_prcpinfo_prcplist.getColumn(i, "prcpdd"), endListRow);
  893. dsf_makeValue(ds_actingend_endlist,"prcpno", "string",ds_main_prcpinfo_prcplist.getColumn(i, "prcpno"), endListRow);
  894. dsf_makeValue(ds_actingend_endlist,"prcphistno", "string",ds_main_prcpinfo_prcplist.getColumn(i, "prcphistno"), endListRow);
  895. dsf_makeValue(ds_actingend_endlist,"execprcpno", "string",ds_main_prcpinfo_prcplist.getColumn(i, "execprcpno"), endListRow);
  896. dsf_makeValue(ds_actingend_endlist,"instcd", "string",ds_main_prcpinfo_prcplist.getColumn(i, "instcd"), endListRow);
  897. dsf_makeValue(ds_actingend_endlist,"execdd", "string",ds_main_cond.getColumn(0, "orddd"), endListRow);
  898. dsf_makeValue(ds_actingend_endlist,"duty", "string",ds_main_cond.getColumn(0, "duty"), endListRow);
  899. dsf_makeValue(ds_actingend_endlist,"execdeptcd", "string",ds_main_cond.getColumn(0, "wardcd"), endListRow);
  900. dsf_makeValue(ds_actingend_endlist,"oiflag", "string","exip", endListRow);
  901. endListRow++;
  902. }
  903. }
  904. // 체크된 행이 있으면 마감실행
  905. if(endListRow != 0){
  906. dsf_makeValue(ds_actingend_endflagvalue,"endflag", "string","B12");
  907. if( !utlf_isNull(ds_actingend_endlist.getColumnInfo("prcpno")) && !utlf_isNull(ds_actingend_endlist.getColumnInfo("prcphistno")) && !utlf_isNull(ds_actingend_endlist.getColumnInfo("execprcpno")) )
  908. {
  909. dsf_setTypeFormat(ds_actingend_endlist, "prcpno:INT^prcphistno:INT^execprcpno:INT");
  910. }
  911. var oParam = {};
  912. oParam.id = "TXMNR05401";
  913. oParam.service = "wardendapp.WardEnd";
  914. oParam.method = "reqExeActingEnd";
  915. oParam.inds = "req=ds_actingend_endlist flag=ds_actingend_endflagvalue";
  916. oParam.outds = "ds_hidden_ret=ret";
  917. oParam.async = false;
  918. tranf_submit(oParam);
  919. fGetPrcpList();
  920. }
  921. }
  922. /*group3_grd_patlist_oncellclick*/
  923. function group3_grd_patlist_oncellclick(obj:Grid, e:GridClickEventInfo)
  924. {
  925. var cur_col = e.col;
  926. var cur_row = e.row;
  927. var startrow = "";
  928. var endrow = "";
  929. var chk_row = false;
  930. if( cur_col == 1)
  931. {
  932. var arrRows = e.row;
  933. if(arrRows == 0){
  934. startrow = 0;
  935. }
  936. for(var i = arrRows; i > 0; i--){
  937. if( ds_main_wardpatinfo_wardpatlist.getColumn(i, e.col) == ds_main_wardpatinfo_wardpatlist.getColumn(i-1, e.col) ){
  938. startrow = i-1;
  939. }
  940. if( ds_main_wardpatinfo_wardpatlist.getColumn(i, e.col) != ds_main_wardpatinfo_wardpatlist.getColumn(i-1, e.col) ){
  941. startrow = i;
  942. break;
  943. }
  944. }
  945. if(arrRows == ds_main_wardpatinfo_wardpatlist.rowcount-1){
  946. endrow = arrRows;
  947. }
  948. for(var j = arrRows; j < ds_main_wardpatinfo_wardpatlist.rowcount -1; j++){
  949. if( ds_main_wardpatinfo_wardpatlist.getColumn(j, e.col) == ds_main_wardpatinfo_wardpatlist.getColumn(j+1, e.col) ){
  950. endrow = j+1;
  951. }
  952. if( ds_main_wardpatinfo_wardpatlist.getColumn(j, e.col) != ds_main_wardpatinfo_wardpatlist.getColumn(j+1, e.col) ){
  953. endrow = j;
  954. break;
  955. }
  956. }
  957. if(startrow == endrow){ //col ==1 이고 merge=false
  958. if( ds_main_wardpatinfo_wardpatlist.getColumn(cur_row, "check") == 'true' && cur_row != -1){
  959. ds_main_wardpatinfo_wardpatlist.setColumn(cur_row, "check", "false" );
  960. }
  961. else if(cur_row != -1){
  962. ds_main_wardpatinfo_wardpatlist.setColumn(cur_row, "check", "true" );
  963. }
  964. }else{ //col ==1 이고 merge=true
  965. for(var ij=startrow; ij<=endrow; ij++)
  966. {
  967. if(ds_main_wardpatinfo_wardpatlist.getColumn(ij, "check") == 'true'){
  968. chk_row = true;
  969. }
  970. }
  971. if(chk_row == false){
  972. for(var ij=startrow; ij<=endrow; ij++)
  973. {
  974. ds_main_wardpatinfo_wardpatlist.setColumn(ij, "check", "true");
  975. }
  976. }else if(chk_row == true){
  977. for(var ij=startrow; ij<=endrow; ij++)
  978. {
  979. ds_main_wardpatinfo_wardpatlist.setColumn(ij, "check", "false");
  980. }
  981. }
  982. }
  983. }else if( cur_col == 2 || cur_col == 3 )
  984. { //col == 2 || col == 3
  985. if( ds_main_wardpatinfo_wardpatlist.getColumn(cur_row, "check") == 'true' && cur_row != -1){
  986. ds_main_wardpatinfo_wardpatlist.setColumn(cur_row, "check", "false" );
  987. }
  988. else if(cur_row != -1){
  989. ds_main_wardpatinfo_wardpatlist.setColumn(cur_row, "check", "true" );
  990. }
  991. }
  992. }
  993. /*group3_grd_patlist_oncelldblclick*/
  994. function group3_grd_patlist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  995. {
  996. fGetPrcpList();
  997. }
  998. /*group3_grd_prcplist_onmousemove*/
  999. function group3_grd_prcplist_onmousemove(obj:Grid, e:GridMouseEventInfo)
  1000. {
  1001. if(e.row >-1 && e.col > -1){
  1002. if(!utlf_isNull(group3.grd_prcplist.getCellValue(e.row,e.col))){
  1003. group3.grd_prcplist.tooltiptext = group3.grd_prcplist.getCellValue(e.row,e.col);
  1004. }else{
  1005. group3.grd_prcplist.tooltiptext ="";
  1006. }
  1007. }
  1008. }
  1009. /*group3_btn_help_onclick*/
  1010. function group3_btn_help_onclick(obj:Button, e:ClickEventInfo)
  1011. {
  1012. var scrnid = frmf_getScreenID();
  1013. fGetHelpList(scrnid);
  1014. }
  1015. /*img1_onmousemove*/
  1016. function img1_onmousemove(obj:ImageViewer, e:MouseEventInfo)
  1017. {
  1018. cap_key.visible =true;
  1019. }
  1020. /*img1_onmouseleave*/
  1021. function img1_onmouseleave(obj:ImageViewer, e:MouseEventInfo)
  1022. {
  1023. cap_key.visible =false;
  1024. }
  1025. /*ds_main_wardpatinfo_wardpatlist_oncolumnchanged*/
  1026. function ds_main_wardpatinfo_wardpatlist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  1027. {
  1028. if( e.columnid == "check" ){
  1029. obj.setColumn(e.row, "check", (e.newvalue == "true" || e.newvalue == 1) ? "true" : "false");
  1030. }
  1031. }
  1032. /*group3_grd_patlist_onheadclick*/
  1033. function group3_grd_patlist_onheadclick(obj:Grid, e:GridClickEventInfo)
  1034. {
  1035. grdf_setGridCheckAll(group3.grd_patlist, e);
  1036. }
  1037. /*group3_grd_prcplist_onheadclick*/
  1038. function group3_grd_prcplist_onheadclick(obj:Grid, e:GridClickEventInfo)
  1039. {
  1040. grdf_setEventGrid(group3.grd_prcplist, e);
  1041. if(group3.grd_prcplist.getCellProperty("head", 0, "text")== '1'){
  1042. var nodeCnt = ds_main_prcpinfo_prcplist.rowcount;
  1043. for(var i = 0; i < nodeCnt; i++){
  1044. var execdd = ds_main_prcpinfo_prcplist.getColumn(i, "execdd");
  1045. var enddd = ds_main_prcpinfo_prcplist.getColumn(i, "enddd");
  1046. if(execdd != "00000000" || !utlf_isNull(enddd) ){
  1047. ds_main_prcpinfo_prcplist.setColumn(i, "check", "true");
  1048. }else{
  1049. ds_main_prcpinfo_prcplist.setColumn(i, "check", "false");
  1050. }
  1051. }
  1052. }
  1053. if(group3.grd_prcplist.getCellProperty("head", 0, "text")== '0'){
  1054. var nodeCnt = ds_main_prcpinfo_prcplist.rowcount;
  1055. for(var i = 0; i < nodeCnt; i++){
  1056. ds_main_prcpinfo_prcplist.setColumn(i, "check", "false");
  1057. }
  1058. }
  1059. }
  1060. /*ds_main_prcpinfo_prcplist_oncolumnchanged*/
  1061. function ds_main_prcpinfo_prcplist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  1062. {
  1063. if( e.columnid == "check" ){
  1064. obj.setColumn(e.row, "check", (e.newvalue == "true" || e.newvalue == 1) ? "true" : "false");
  1065. }
  1066. }
  1067. function SPMNR05400_ontimer(obj:Form, e:TimerEventInfo)
  1068. {
  1069. if( e.timerid == 0 ){
  1070. this.killTimer(0);
  1071. fGetPatList();
  1072. ds_main_cond.setColumn(0, "pid_search", "");
  1073. var sPID = opener.frmf_getParameter("pid");
  1074. var patCnt = ds_main_wardpatinfo_wardpatlist.rowcount;
  1075. if(ds_main_wardprescondinfo_prcpnotend.rowcount==0){
  1076. ds_main_wardprescondinfo_prcpnotend.addRow();
  1077. }
  1078. if ( ds_main_wardprescondinfo_prcpnotend.rowcount > 0 && patCnt > 0 ){
  1079. var sExprColor2 = "EXPR(";
  1080. for ( var endcnt = 0 ; endcnt < ds_main_wardprescondinfo_prcpnotend.rowcount; endcnt++){
  1081. sPID = ds_main_wardprescondinfo_prcpnotend.getColumn(endcnt, "pid");
  1082. for(i=0; i < patCnt - 1; i++){
  1083. if(sPID == ds_main_wardpatinfo_wardpatlist.getColumn(i, "pid")){
  1084. ds_main_wardpatinfo_wardpatlist.setColumn(i, "check", "true");
  1085. sExprColor2 += "currow == "+i+" ? '#FFE1E1' : ";
  1086. }
  1087. }
  1088. }
  1089. sExprColor2 += "'')";
  1090. group3.grd_patlist.setCellProperty("Body", 0, "background", sExprColor2);
  1091. group3.grd_patlist.setCellProperty("Body", 0, "background2", sExprColor2);
  1092. group3.grd_patlist.setCellProperty("Body", 1, "background", sExprColor2);
  1093. group3.grd_patlist.setCellProperty("Body", 1, "background2", sExprColor2);
  1094. group3.grd_patlist.setCellProperty("Body", 2, "background", sExprColor2);
  1095. group3.grd_patlist.setCellProperty("Body", 2, "background2", sExprColor2);
  1096. group3.grd_patlist.setCellProperty("Body", 3, "background", sExprColor2);
  1097. group3.grd_patlist.setCellProperty("Body", 3, "background2", sExprColor2);
  1098. group3.grd_patlist.setCellProperty("Body", 4, "background", sExprColor2);
  1099. group3.grd_patlist.setCellProperty("Body", 4, "background2", sExprColor2);
  1100. group3.grd_patlist.setCellProperty("Body", 5, "background", sExprColor2);
  1101. group3.grd_patlist.setCellProperty("Body", 5, "background2", sExprColor2);
  1102. //fGetPrcpList();
  1103. } else if( !utlf_isNull(sPID) && patCnt > 0 ){
  1104. for(i=0; i < patCnt; i++){
  1105. if(sPID == ds_main_wardpatinfo_wardpatlist.getColumn(i, "pid")){
  1106. ds_main_wardpatinfo_wardpatlist.setColumn(i, "check", "true");
  1107. }
  1108. }
  1109. }
  1110. ds_main_wardpatinfo_wardpatlist.rowposition = -1;
  1111. }
  1112. }
  1113. ]]></Script>
  1114. </Form>
  1115. </FDL>