SMANT01200_마감후식사처방수정승인.xfdl 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMANT01200" position="absolute 0 0 1197 774" titletext="마감후식사처방수정승인" class="div_SA" oninit="SMANT01200_oninit" onload="SMANT01200_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 1 1197 26" id="group1">
  8. <Layouts>
  9. <Layout>
  10. <Static text="마감후식사처방수정승인" position="absolute 0 0 189 25" id="caption1" class="tit_1" anchor="default"/>
  11. <Static id="caption6" text="식사처방수정결과 조회" class="tit_1" visible="false" position="absolute 0 0 192 25" anchor="default"/>
  12. </Layout>
  13. </Layouts>
  14. </Div>
  15. <Grid position="absolute 0 88 1194 747" align="align:center middle;" id="grd_data" binddataset="ds_main_data" oncellclick="grd_data_oncellclick" cellsizingtype="both" class="datagrid2" onenterdown="grd_data_onenterdown" autoenter="select" tooltiptype="hover">
  16. <Formats>
  17. <Format id="default">
  18. <Columns>
  19. <Column size="20"/>
  20. <Column size="0"/>
  21. <Column size="0"/>
  22. <Column size="82"/>
  23. <Column size="50"/>
  24. <Column size="70"/>
  25. <Column size="70"/>
  26. <Column size="45"/>
  27. <Column size="160"/>
  28. <Column size="117"/>
  29. <Column size="170"/>
  30. <Column size="105"/>
  31. <Column size="60"/>
  32. <Column size="58"/>
  33. <Column size="50"/>
  34. <Column size="60"/>
  35. <Column size="70"/>
  36. <Column size="105"/>
  37. <Column size="79"/>
  38. <Column size="80"/>
  39. <Column size="0"/>
  40. <Column size="60"/>
  41. <Column size="0"/>
  42. <Column size="0"/>
  43. <Column size="22"/>
  44. </Columns>
  45. <Rows>
  46. <Row size="24" band="head"/>
  47. <Row size="24"/>
  48. </Rows>
  49. <Band id="head">
  50. <Cell/>
  51. <Cell col="1" text="선택"/>
  52. <Cell col="2" text="h_등록번호"/>
  53. <Cell col="3" text="병동"/>
  54. <Cell col="4" text="병실"/>
  55. <Cell col="5" text="환자명"/>
  56. <Cell col="6" text="처방일자"/>
  57. <Cell col="7" text="끼니"/>
  58. <Cell col="8" text="수정전"/>
  59. <Cell col="9" text="특이사항"/>
  60. <Cell col="10" text="수정후"/>
  61. <Cell col="11" text="수정요청시간"/>
  62. <Cell col="12" text="요청구분"/>
  63. <Cell col="13" text="요청횟수"/>
  64. <Cell col="14" text="요청자"/>
  65. <Cell col="15" text="처리결과"/>
  66. <Cell col="16" text="처리담당자"/>
  67. <Cell col="17" text="처리시간"/>
  68. <Cell col="18" text="수정사유"/>
  69. <Cell col="19" text="사유내역"/>
  70. <Cell col="20" text="보호자식구분"/>
  71. <Cell col="21" text="요청취소"/>
  72. <Cell col="22" text="사망여부"/>
  73. <Cell col="23" text="사밍"/>
  74. <Cell col="24" style="align:left top;" text="가퇴원여부" wordwrap="word"/>
  75. </Band>
  76. <Band id="body">
  77. <Cell celltype="head" expr="expr:currow + 1"/>
  78. <Cell col="1" displaytype="checkbox" edittype="checkbox" text="bind:check"/>
  79. <Cell col="2" text="bind:h_pid"/>
  80. <Cell col="3" displaytype="combo" style="align:center middle;padding:1 2 1 2;" text="bind:ward" wordwrap="word" combodataset="ds_init_basecode_ward_dept" combocodecol="deptcd" combodatacol="depthngnm" enable="false"/>
  81. <Cell col="4" style="align:center middle;" text="bind:room"/>
  82. <Cell col="5" style="align:center middle;" text="bind:hngnm"/>
  83. <Cell col="6" displaytype="date" style="align:middle;" text="bind:prcpdd" calendardisplaynulltype="none"/>
  84. <Cell col="7" displaytype="combo" style="align:middle;padding:1 2 1 2;" text="bind:dietmeal" combodataset="ds_init_basecode_meal_A0055" combocodecol="cdid" combodatacol="cdnm" enable="false"/>
  85. <Cell col="8" style="align:left;" text="bind:updtbfdiet"/>
  86. <Cell col="9" style="align:left;" text="bind:bfprcpdelivefact"/>
  87. <Cell col="10" style="align:left;" text="bind:updtaftdiet"/>
  88. <Cell col="11" displaytype="date" text="bind:updtreqdt" mask="yyyy-MM-dd HH:mm" calendardisplaynulltype="none"/>
  89. <Cell col="12" displaytype="combo" style="align:center;padding:1 2 1 2;" text="bind:reqflag" combodataset="ds_cbo_reqflag" combocodecol="value" combodatacol="label" enable="false"/>
  90. <Cell col="13" text="bind:updtreqcnt"/>
  91. <Cell col="14" text="bind:updtreqpsn"/>
  92. <Cell col="15" displaytype="combo" edittype="expr:col14edit" style="align:center;padding:1 2 1 2;" text="bind:updtaprvyn" combodataset="ds_cbo_updtaprvyn" combocodecol="value" combodatacol="label"/>
  93. <Cell col="16" text="bind:aprvpsn"/>
  94. <Cell col="17" displaytype="date" text="bind:aprvdt" mask="yyyy-MM-dd HH:mm" calendardisplaynulltype="none"/>
  95. <Cell col="18" style="align:center top;padding:4 2 2 2;" text="bind:modreason" wordwrap="word" tooltiptext="bind:modreason" autosizerow="limitmin"/>
  96. <Cell col="19" text="bind:modreasondesc"/>
  97. <Cell col="20" text="bind:drugpackflag"/>
  98. <Cell col="21" displaytype="checkbox" edittype="expr:col18edit" style="controlbackground:EXPR(col18edit == 'none' ? 'silver' : '');controlborder:EXPR(col18edit == 'none' ? '1 solid #708090cc' : '');" text="bind:reqcancel" expr="expr:reqcancel==1||reqcancel=='Y'?1:0"/>
  99. <Cell col="22" text="bind:ordrslt"/>
  100. <Cell col="23" text="bind:ordrslt"/>
  101. <Cell col="24" text="bind:dschtype"/>
  102. </Band>
  103. </Format>
  104. </Formats>
  105. </Grid>
  106. <Div id="group3" taborder="1" position="absolute 0 14 1195 89">
  107. <Layouts>
  108. <Layout width="1195" height="729">
  109. <Div id="group2" taborder="1" class="div_SA" position="absolute 0 12 1194 47" anchor="default">
  110. <Layouts>
  111. <Layout>
  112. <Static id="caption2" text="병동 :" class="search_name" position="absolute 556 8 620 25" anchor="default"/>
  113. <Button id="btn_search" taborder="1" text="조회" onclick="group3_group2_btn_search_onclick" class="btn1" position="absolute 1121 7 1177 29" anchor="default"/>
  114. <Shape id="line13" linetype="vertical" position="absolute 1103 7 1109 29" anchor="default"/>
  115. <Combo id="cmb_ward" taborder="2" innerdataset="@ds_init_basecode_ward_dept" codecolumn="deptcd" datacolumn="depthngnm" class="combo_essential" position="absolute 617 7 717 26" anchor="default"/>
  116. <Static id="caption3" text="일자 :" class="search_name" position="absolute 11 8 75 25" anchor="default"/>
  117. <Calendar id="ipt_reqfromdd" taborder="3" autoselect="true" class="input_essential" position="absolute 70 7 159 26" anchor="default"/>
  118. <Static id="caption11" text="~" class="search_n_b" position="absolute 161 9 173 26" anchor="default"/>
  119. <Calendar id="ipt_reqtodd" taborder="4" autoselect="true" class="input_essential" position="absolute 175 7 264 26" anchor="default"/>
  120. <Static id="caption4" text="끼니 :" class="search_name" position="absolute 291 8 355 25" anchor="default"/>
  121. <Radio id="rdo_diet" taborder="5" columncount="4" rowcount="1" index="3" codecolumn="codecolumn" datacolumn="datacolumn" value="0" class="radio_search" position="absolute 351 8 540 27" anchor="default">
  122. <Dataset id="innerdataset">
  123. <ColumnInfo>
  124. <Column id="codecolumn"/>
  125. <Column id="datacolumn"/>
  126. </ColumnInfo>
  127. <Rows>
  128. <Row>
  129. <Col id="codecolumn">1</Col>
  130. <Col id="datacolumn">조식</Col>
  131. </Row>
  132. <Row>
  133. <Col id="codecolumn">2</Col>
  134. <Col id="datacolumn">중식</Col>
  135. </Row>
  136. <Row>
  137. <Col id="codecolumn">3</Col>
  138. <Col id="datacolumn">석식</Col>
  139. </Row>
  140. <Row>
  141. <Col id="codecolumn">0</Col>
  142. <Col id="datacolumn">전체</Col>
  143. </Row>
  144. </Rows>
  145. </Dataset>
  146. </Radio>
  147. <Static id="caption12" text="환자명 :" class="search_name" position="absolute 750 8 876 25" anchor="default"/>
  148. <Edit id="ipt_hngnm" taborder="6" onkeyup="group3_group2_ipt_hngnm_onkeyup" class="input_search" position="absolute 825 8 890 27" anchor="default"/>
  149. <Static id="caption5" text="조회구분 :" class="search_name" position="absolute 918 8 1004 25" anchor="default"/>
  150. <Combo id="cmb_srchflag" taborder="7" innerdataset="@ds_init_basecode_aprvrslt_A0433" codecolumn="cdid" datacolumn="cdnm" class="combo_essential" position="absolute 1005 8 1080 27" anchor="default"/>
  151. </Layout>
  152. </Layouts>
  153. </Div>
  154. <Shape id="line1" class="line_1" position="absolute 0 69 1194 75" style="strokepen:3 solid #33bbbbff;" anchor="default"/>
  155. <Button id="btn_excel" taborder="2" text="엑셀" onclick="group3_btn_excel_onclick" class="btn7" position="absolute 1144 50 1194 69" anchor="default"/>
  156. <Button id="btn_aprv" taborder="3" text="일괄승인" onclick="group3_btn_aprv_onclick" class="btn2" visible="false" position="absolute 1079 50 1143 69" anchor="default"/>
  157. <Static id="caption7" text="사망환자" position="absolute 25 51 80 71" anchor="default"/>
  158. <Shape id="rectangle2" type="rectangle" position="absolute 85 52 100 67" style="fillbrush:solid #ffcc66ff true;" anchor="default"/>
  159. <Static id="caption8" text="가퇴원환자" position="absolute 100 51 170 71" anchor="default"/>
  160. <Shape id="rectangle1" type="rectangle" onclick="group3_rectangle1_onclick" position="absolute 10 52 25 67" style="fillbrush:solid #ff8888ff true;color:black;" anchor="default"/>
  161. </Layout>
  162. </Layouts>
  163. </Div>
  164. <Button id="btn_dietprcpprint" taborder="2" text="식사처방출력" onclick="group4_btn_dietprcpprint_onclick" class="btn4" position="absolute 1 749 129 771"/>
  165. <Button id="btn_updtsum" taborder="3" text="변경집계" class="btn4" visible="false" position="absolute 134 749 214 771"/>
  166. <Button id="btn_save" taborder="4" text="저장" onclick="group4_btn_save_onclick" class="btn4" position="absolute 1138 749 1194 771"/>
  167. </Layout>
  168. </Layouts>
  169. <Objects>
  170. <Dataset id="ds_main_data" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_data_oncolumnchanged">
  171. <ColumnInfo>
  172. <Column id="check" type="STRING" size="256"/>
  173. <Column id="h_pid" type="STRING" size="256"/>
  174. <Column id="ward" type="STRING" size="256"/>
  175. <Column id="room" type="STRING" size="256"/>
  176. <Column id="hngnm" type="STRING" size="256"/>
  177. <Column id="prcpdd" type="STRING" size="256"/>
  178. <Column id="dietmeal" type="STRING" size="256"/>
  179. <Column id="updtbfdiet" type="STRING" size="256"/>
  180. <Column id="updtaftdiet" type="STRING" size="256"/>
  181. <Column id="updtreqdt" type="STRING" size="256"/>
  182. <Column id="reqflag" type="STRING" size="256"/>
  183. <Column id="updtreqcnt" type="STRING" size="256"/>
  184. <Column id="updtreqpsn" type="STRING" size="256"/>
  185. <Column id="updtaprvyn" type="STRING" size="256"/>
  186. <Column id="aprvpsn" type="STRING" size="256"/>
  187. <Column id="aprvdt" type="STRING" size="256"/>
  188. <Column id="drugpackflag" type="STRING" size="256"/>
  189. <Column id="bfprcpdelivefact" type="STRING" size="256"/>
  190. <Column id="prcpdelivefact" type="STRING" size="256"/>
  191. <Column id="reqcancel" type="STRING" size="256"/>
  192. <Column id="ordrslt" type="STRING" size="256"/>
  193. <Column id="dschtype" type="STRING" size="256"/>
  194. </ColumnInfo>
  195. <Rows>
  196. <Row>
  197. <Col id="check"/>
  198. <Col id="h_pid"/>
  199. <Col id="ward"/>
  200. <Col id="room"/>
  201. <Col id="hngnm"/>
  202. <Col id="prcpdd"/>
  203. <Col id="dietmeal"/>
  204. <Col id="updtbfdiet"/>
  205. <Col id="updtaftdiet"/>
  206. <Col id="updtreqdt"/>
  207. <Col id="reqflag"/>
  208. <Col id="updtreqcnt"/>
  209. <Col id="updtreqpsn"/>
  210. <Col id="updtaprvyn"/>
  211. <Col id="aprvpsn"/>
  212. <Col id="aprvdt"/>
  213. <Col id="drugpackflag"/>
  214. <Col id="bfprcpdelivefact"/>
  215. <Col id="prcpdelivefact"/>
  216. <Col id="reqcancel"/>
  217. <Col id="ordrslt"/>
  218. <Col id="dschtype"/>
  219. </Row>
  220. </Rows>
  221. </Dataset>
  222. <Dataset id="ds_send_searchitem" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  223. <ColumnInfo>
  224. <Column id="ward" type="STRING" size="256"/>
  225. <Column id="reqfromdd" type="STRING" size="256"/>
  226. <Column id="reqtodd" type="STRING" size="256"/>
  227. <Column id="dietmeal" type="STRING" size="256"/>
  228. <Column id="srchflag" type="STRING" size="256"/>
  229. <Column id="hngnm" type="STRING" size="256"/>
  230. <Column id="instcd" type="STRING" size="256"/>
  231. <Column id="userid" type="STRING" size="256"/>
  232. <Column id="sumdd" type="STRING" size="256"/>
  233. <Column id="dietmeal2" type="STRING" size="256"/>
  234. <Column id="dietmeal3" type="STRING" size="256"/>
  235. </ColumnInfo>
  236. <Rows>
  237. <Row>
  238. <Col id="ward"/>
  239. <Col id="reqfromdd"/>
  240. <Col id="reqtodd"/>
  241. <Col id="dietmeal"/>
  242. <Col id="srchflag"/>
  243. <Col id="hngnm"/>
  244. <Col id="instcd"/>
  245. <Col id="userid"/>
  246. <Col id="sumdd"/>
  247. <Col id="dietmeal2"/>
  248. <Col id="dietmeal3"/>
  249. </Row>
  250. </Rows>
  251. </Dataset>
  252. <Dataset id="ds_send_data" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  253. <ColumnInfo>
  254. <Column id="reqflag" type="STRING" size="256"/>
  255. <Column id="aprvlist" type="STRING" size="256"/>
  256. <Column id="reqclist" type="STRING" size="256"/>
  257. </ColumnInfo>
  258. <Rows>
  259. <Row>
  260. <Col id="reqflag"/>
  261. <Col id="aprvlist"/>
  262. <Col id="reqclist"/>
  263. </Row>
  264. </Rows>
  265. </Dataset>
  266. <Dataset id="ds_temp_ret" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  267. <ColumnInfo>
  268. <Column id="retmsg" type="STRING" size="256"/>
  269. </ColumnInfo>
  270. <Rows>
  271. <Row>
  272. <Col id="retmsg"/>
  273. </Row>
  274. </Rows>
  275. </Dataset>
  276. <Dataset id="ds_init_basecode_meal_A0055" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  277. <ColumnInfo>
  278. <Column id="cdid" type="STRING" size="256"/>
  279. <Column id="cdnm" type="STRING" size="256"/>
  280. </ColumnInfo>
  281. </Dataset>
  282. <Dataset id="ds_init_basecode_ward_dept" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  283. <ColumnInfo>
  284. <Column id="deptcd" type="STRING" size="256"/>
  285. <Column id="depthngnm" type="STRING" size="256"/>
  286. </ColumnInfo>
  287. </Dataset>
  288. <Dataset id="ds_init_basecode_aprvrslt_A0433" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  289. <ColumnInfo>
  290. <Column id="cdid" type="STRING" size="256"/>
  291. <Column id="cdnm" type="STRING" size="256"/>
  292. </ColumnInfo>
  293. </Dataset>
  294. <Dataset id="ds_cbo_reqflag" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  295. <ColumnInfo>
  296. <Column id="label" type="STRING" size="256"/>
  297. <Column id="value" type="STRING" size="256"/>
  298. </ColumnInfo>
  299. <Rows>
  300. <Row>
  301. <Col id="label">신규</Col>
  302. <Col id="value">I</Col>
  303. </Row>
  304. <Row>
  305. <Col id="label">수정</Col>
  306. <Col id="value">U</Col>
  307. </Row>
  308. <Row>
  309. <Col id="label">삭제</Col>
  310. <Col id="value">C</Col>
  311. </Row>
  312. </Rows>
  313. </Dataset>
  314. <Dataset id="ds_cbo_updtaprvyn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  315. <ColumnInfo>
  316. <Column id="label" type="STRING" size="256"/>
  317. <Column id="value" type="STRING" size="256"/>
  318. </ColumnInfo>
  319. <Rows>
  320. <Row>
  321. <Col id="label"/>
  322. <Col id="value"/>
  323. </Row>
  324. <Row>
  325. <Col id="label">승인</Col>
  326. <Col id="value">Y</Col>
  327. </Row>
  328. <Row>
  329. <Col id="label">불허</Col>
  330. <Col id="value">N</Col>
  331. </Row>
  332. </Rows>
  333. </Dataset>
  334. <Dataset id="ds_send_data_aprvlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  335. <ColumnInfo>
  336. <Column id="m" type="STRING" size="256" sumtext="실행구분"/>
  337. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  338. <Column id="prcpdd" type="STRING" size="256" sumtext="처방일자"/>
  339. <Column id="dietmeal" type="STRING" size="256" sumtext="끼니"/>
  340. <Column id="updtreqcnt" type="INT" size="256" sumtext="수정요청횟수"/>
  341. <Column id="updtaprvyn" type="STRING" size="256" sumtext="승인여부"/>
  342. <Column id="bfprcpdelivefact" type="STRING" size="256" sumtext="변경전 특이사항"/>
  343. <Column id="drugpackflag" type="STRING" size="256" sumtext="보호자식구분"/>
  344. </ColumnInfo>
  345. </Dataset>
  346. <Dataset id="ds_send_data_reqclist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  347. <ColumnInfo>
  348. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  349. <Column id="prcpdd" type="STRING" size="256" sumtext="처방일자"/>
  350. <Column id="dietmeal" type="STRING" size="256" sumtext="끼니"/>
  351. <Column id="updtreqcnt" type="INT" size="256" sumtext="수정요청횟수"/>
  352. <Column id="drugpackflag" type="STRING" size="256" sumtext="보호자식구분"/>
  353. <Column id="reqcancel" type="STRING" size="256" sumtext="요청취소구분"/>
  354. </ColumnInfo>
  355. </Dataset>
  356. </Objects>
  357. <Bind>
  358. <BindItem id="item0" compid="group3.group2.ipt_reqfromdd" propid="value" datasetid="ds_send_searchitem" columnid="reqfromdd"/>
  359. <BindItem id="item1" compid="group3.group2.ipt_reqtodd" propid="value" datasetid="ds_send_searchitem" columnid="reqtodd"/>
  360. <BindItem id="item2" compid="group3.group2.rdo_diet" propid="value" datasetid="ds_send_searchitem" columnid="dietmeal"/>
  361. <BindItem id="item3" compid="group3.group2.cmb_ward" propid="value" datasetid="ds_send_searchitem" columnid="ward"/>
  362. <BindItem id="item4" compid="group3.group2.ipt_hngnm" propid="value" datasetid="ds_send_searchitem" columnid="hngnm"/>
  363. <BindItem id="item5" compid="group3.group2.cmb_srchflag" propid="value" datasetid="ds_send_searchitem" columnid="srchflag"/>
  364. </Bind>
  365. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  366. * System Name :
  367. * Job Name :
  368. * Creator :
  369. * Make Date : 2015-11-13
  370. * Description :
  371. *---------------------------------------------------------------------------------------
  372. * Modify Date Modifier Modify Description
  373. *---------------------------------------------------------------------------------------
  374. * 2015-11-13 Live Converter TF->XP
  375. *
  376. *---------------------------------------------------------------------------------------
  377. ****************************************************************************************/
  378. include "com_commonxp::comm_main.xjs";
  379. include "ast_commonxp::AST.xjs";
  380. include "ast_examcurexp::AEZ0001.xjs";
  381. include "com_commodulexp::SSZFM00401.xjs"; // Dataset 뷰어용
  382. include "com_commodulexp::SMZFS00501.xjs";
  383. var arErrorCode = new HashArray();
  384. function SMANT01200_oninit(obj:Form, e:InitEventInfo)
  385. {
  386. frmf_initForm(obj); // 화면공통
  387. grdf_setGridSort(grd_data);
  388. }
  389. function SMANT01200_onload(obj:Form, e:LoadEventInfo)
  390. {
  391. finit();
  392. group3.group2.btn_search.enable = frmf_checkAuth("R");
  393. btn_save.enable = frmf_checkAuth("X");
  394. group3.btn_aprv.enable = frmf_checkAuth("X");
  395. group3.btn_excel.enable = frmf_checkAuth("P");
  396. btn_updtsum.enable = frmf_checkAuth("X");
  397. ds_send_searchitem.setColumn(0, "instcd", sysf_getUserInfo("dutplceinstcd"));
  398. ds_send_searchitem.setColumn(0, "userid", sysf_getUserInfo("userid"));
  399. //var posdeptcd = getUserInfo("posdeptcd"); //소속부서코드
  400. var dutplcecd = utlf_transNullToEmpty(sysf_getUserInfo("dutplcecd")); //소속부서코드
  401. //간호사가 로그인했을 경우
  402. if ( dutplcecd.substr(0,3) != "325" ) {
  403. //화면타이틀 다르게 보여주기
  404. this.titletext = "식사처방수정결과 조회";
  405. group1.caption1.visible = false;
  406. group1.caption6.visible = true;
  407. //조회,저장을 제외한 버튼 숨기기
  408. btn_dietprcpprint.visible = false;
  409. group3.btn_aprv.visible = false;
  410. btn_updtsum.visible = false;
  411. //처리결과 콤보 비활성화
  412. //grd_data.setCellProperty("body", grd_data.getBindCellIndex("body", "updtaprvyn"), "edittype", "none");
  413. //로그인한 간호사의 소속병동으로 데이터 자동조회
  414. ds_send_searchitem.setColumn(0, "ward", dutplcecd);
  415. ds_send_searchitem.setColumn(0, "dietmeal", "0");
  416. group3_group2_btn_search_onclick();
  417. }else{
  418. //요청취소 체크박스 비활성화
  419. //grd_data.setCellProperty("body", grd_data.getBindCellIndex("body", "updtaprvyn"), "edittype", "none");
  420. }
  421. }
  422. function finit() {
  423. var instcd = sysf_getUserInfo("dutplceinstcd");
  424. // 화면open시 공통코드 setting
  425. var arrParam = [{dsNm: "ds_init_basecode_meal_A0055", cdGrpId: "A0055"},
  426. {dsNm: "ds_init_basecode_aprvrslt_A0433", cdGrpId: "A0433"}]
  427. appf_getCodeList(arrParam);
  428. ds_init_basecode_aprvrslt_A0433.insertRow(0);
  429. ds_init_basecode_aprvrslt_A0433.setColumn(0, "cdid", "");
  430. ds_init_basecode_aprvrslt_A0433.setColumn(0, "cdnm", "");
  431. var today = utlf_getCurrentDate();
  432. appf_getDeptCodeList(sysf_getUserInfo('dutplceinstcd'), 'orduseyn', 'W', 'depthngnm', 'asc',
  433. today.toDate().getDateFormat('YYYYMMDD'), '', 'asc', 'ds_init_basecode_ward_dept', false, null);
  434. frmf_addComboItem("group3.group2.cmb_ward", " ", "", "above");
  435. ds_send_searchitem.setColumn(0, "reqfromdd", utlf_getCurrentDate());
  436. ds_send_searchitem.setColumn(0, "reqtodd", utlf_getCurrentDate());
  437. ds_send_data.clearData();
  438. ds_send_data.addRow();
  439. ds_main_data.clearData();
  440. //화면open시 현재시간을 계산하여 끼니 자동setting
  441. //각 끼니별 2차 마감시간으로부터 2시간후까지는 이전끼니로 setting
  442. var tm = utlf_getCurrentTime();
  443. if ( tm.substr(0,4) <= 0830 ) { //조식 2차 마감시간은 06:30
  444. ds_send_searchitem.setColumn(0, "dietmeal", "1");
  445. } else if ( (tm.substr(0,4) > 0830) && (tm.substr(0,4) <= 1330) ) { //중식 2차 마감시간은 11:30
  446. ds_send_searchitem.setColumn(0, "dietmeal", "2");
  447. } else {
  448. ds_send_searchitem.setColumn(0, "dietmeal", "3");
  449. }
  450. }
  451. function group3_group2_btn_search_onclick(obj:Button, e:ClickEventInfo)
  452. {
  453. var fromdd = ds_send_searchitem.getColumn(0, "reqfromdd");
  454. var todd = ds_send_searchitem.getColumn(0, "reqtodd");
  455. if (utlf_getDateInterval(fromdd, todd) < 0) {
  456. sysf_messageBox("조회 시작일은 종료일보다 클 수", "I004");
  457. return;
  458. } else {
  459. var oParam = {};
  460. oParam.id = "TRANT01201";
  461. oParam.service = "dietsumapp.DietSum";
  462. oParam.method = "reqGetDietPrcpUpdtAprv";
  463. oParam.inds = "req=ds_send_searchitem";
  464. oParam.outds = "ds_main_data=ret";
  465. oParam.async = false;
  466. oParam.callback = "cf_TRANT01201";
  467. tranf_submit(oParam);
  468. ds_main_data.addColumn("hngnmbkColor", "string");
  469. ds_main_data.addColumn("col14edit", "string");
  470. ds_main_data.addColumn("col18edit", "string");
  471. if( utlf_isNull(ds_main_data.getColumnInfo("reqcancel")) ){
  472. ds_main_data.addColumn("reqcancel", "string");
  473. }
  474. if (arErrorCode.pop("TRANT01201") > -1) {
  475. var dutplcecd = sysf_getUserInfo("dutplcecd"); //소속부서코드
  476. ds_main_data.enableevent = false;
  477. ds_main_data.updatecontrol = false;
  478. if ( dutplcecd.substr(0,3) != "325" ) {
  479. dsf_setDefaultVal(ds_main_data, "col18edit:checkbox");
  480. //처리결과 콤보 비활성화
  481. dsf_setDefaultVal(ds_main_data, "col14edit:none");
  482. }else{
  483. dsf_setDefaultVal(ds_main_data, "col14edit:combo");
  484. //요청취소 체크박스 비활성화
  485. dsf_setDefaultVal(ds_main_data, "col18edit:none");
  486. }
  487. for (var i = 0; i < ds_main_data.rowcount; i++) {
  488. //처방일자가 오늘이 아닌 경우 처리결과 및 요청취소 입력 불가능
  489. // if (ds_main_data.getColumn(i, "prcpdd") != utlf_getCurrentDate()) {
  490. // ds_main_data.setColumn(i, "col14edit", "none");
  491. // ds_main_data.setColumn(i, "col18edit", "none");
  492. // }
  493. // //영양사가 로그인한 경우 요청취소 입력 불가능
  494. // //영양사가 로그인하고 이미 승인 처리한 경우 처리결과 입력 불가능
  495. // else if (dutplcecd.substr(0,3) == "325") {
  496. // ds_main_data.setColumn(i, "col18edit", "none");
  497. // if (ds_main_data.getColumn(i, "updtaprvyn") == "Y") {
  498. // ds_main_data.setColumn(i, "col14edit", "none");
  499. // } else {
  500. // ds_main_data.setColumn(i, "col14edit", "combo");
  501. // }
  502. // }
  503. // //간호사가 로그인한 경우 처리결과 입력 불가능
  504. // //간호사가 로그인하고 영양팀에서 이미 처리결과를 입력한 경우 요청취소 입력 불가능
  505. // else {
  506. // ds_main_data.setColumn(i, "col14edit", "none");
  507. // if (!utlf_isNull(ds_main_data.getColumn(i, "updtaprvyn"))) {
  508. // ds_main_data.setColumn(i, "col18edit", "none");
  509. // } else {
  510. // ds_main_data.setColumn(i, "col18edit", "checkbox");
  511. // }
  512. // }
  513. // ordrslt=4 사망환자 성명에 빨간색으로 표기_김금련 2012.12.10
  514. if(ds_main_data.getColumn(i, "ordrslt") == "4") {
  515. ds_main_data.setColumn(i, "hngnmbkColor", "#FF8888");//빨강
  516. } else if (ds_main_data.getColumn(i, "dschtype") == "G") {
  517. ds_main_data.setColumn(i, "hngnmbkColor", "#FFCC66");//주황
  518. }
  519. }
  520. ds_main_data.updatecontrol = true;
  521. ds_main_data.enableevent = true;
  522. }
  523. }
  524. }
  525. function cf_TRANT01201(sSvcId, nErrorCode, sErrorMsg) {
  526. arErrorCode.push(sSvcId, nErrorCode);
  527. }
  528. function group3_group2_ipt_hngnm_onkeyup(obj:Edit, e:KeyEventInfo)
  529. {
  530. if(e.keycode == 13){
  531. group3_group2_btn_search_onclick();
  532. }
  533. }
  534. function group3_btn_excel_onclick(obj:Button, e:ClickEventInfo)
  535. {
  536. grdf_exportExcel(grd_data, "DietPrcpUpdtAprv_list_" + utlf_getCurrentDate(), "sheetname1" , true, "" , "" , true);
  537. }
  538. function group3_btn_aprv_onclick(obj:Button, e:ClickEventInfo)
  539. {
  540. for (var i = 0; i < ds_main_data.rowcount; i++ ) {
  541. ds_main_data.setColumn(i, "updtaprvyn", "Y");
  542. }
  543. }
  544. function grd_data_onenterdown(obj:Grid, e:GridEditEventInfo)
  545. {
  546. }
  547. function grd_data_oncellclick(obj:Grid, e:GridClickEventInfo)
  548. {
  549. var dutplcecd = sysf_getUserInfo("dutplcecd"); //소속부서코드
  550. //영양사 로그인
  551. if (dutplcecd.substr(0,3) == "325") {
  552. /*
  553. 일자를 막지 않으면 과거처방의 수정도 가능
  554. 과거일자 처방 수정시 활용 할 수 있음.
  555. */
  556. if ( grd_data.currentcol == grd_data.getBindCellIndex("body", "updtaprvyn") ) { // 현재 선택한 열과 그리드상의 컬럼값에 의한 열의 인덱스를 비교
  557. //처방일자가 오늘이 아니면 처리결과 입력 불가능
  558. if ( ds_main_data.getColumn(ds_main_data.rowposition, "prcpdd") != utlf_getCurrentDate() ) {
  559. ds_main_data.setColumn(ds_main_data.rowposition, "reqcancel", "N");
  560. return;
  561. }
  562. //이미 승인 처리한 경우 처리결과 입력 불가능
  563. else if ( ds_main_data.getColumn(ds_main_data.rowposition, "updtaprvyn") == "Y" ) {
  564. ds_main_data.setColumn(ds_main_data.rowposition, "reqcancel", "N");
  565. sysf_messageBox("이미 승인한 건은 수정", "E001");
  566. obj.showEditor(false);
  567. return;
  568. }
  569. }
  570. }
  571. //간호사 로그인
  572. else {
  573. if ( grd_data.currentcol == grd_data.getBindCellIndex("body", "reqcancel")) { // 현재 선택한 열과 그리드상의 컬럼값에 의한 열의 인덱스를 비교
  574. //처방일자가 오늘이 아니면 요청취소 불가능
  575. if ( ds_main_data.getColumn(ds_main_data.rowposition, "prcpdd") != utlf_getCurrentDate() ) {
  576. ds_main_data.setColumn(ds_main_data.rowposition, "reqcancel", "N");
  577. sysf_messageBox("오늘 식사처방이 아니면 취소", "E001");
  578. obj.showEditor(false);
  579. return;
  580. }
  581. //영양팀에서 이미 처리결과를 입력한 경우 요청취소 불가능
  582. else if ( !utlf_isNull(ds_main_data.getColumn(ds_main_data.rowposition, "updtaprvyn")) ) {
  583. ds_main_data.setColumn(ds_main_data.rowposition, "reqcancel", "N");
  584. sysf_messageBox("영양팀에서 이미 처리한 건은 취소", "E001");
  585. obj.showEditor(false);
  586. return;
  587. }
  588. }
  589. }
  590. }
  591. function group4_btn_dietprcpprint_onclick(obj:Button, e:ClickEventInfo)
  592. {
  593. frmf_open("SMANT00100", "SMANT00100", "", null, "1", "100", "500", null, null, null, null, null, "M");
  594. }
  595. function group4_btn_save_onclick(obj:Button, e:ClickEventInfo)
  596. {
  597. var temp = grdf_getGridUpdateData(grd_data);
  598. grdf_setStatusColumn(temp, "m");
  599. var dutplcecd = sysf_getUserInfo("dutplcecd"); //소속부서코드
  600. //로그인한 사용자가 영양팀일 경우
  601. if (dutplcecd.substr(0,3) == "325") {
  602. if ( temp.rowcount == 0 ) {
  603. sysf_messageBox("승인한 데이터가", "I004");
  604. } else {
  605. if ( sysf_messageBox("", "Q002") == 6 ) {
  606. ds_send_data.setColumn(0, "reqflag", 'O'); //영양팀 구분자(O) 세팅
  607. ds_send_data_aprvlist.copyData(temp, true);
  608. if( !utlf_isNull(ds_send_data_aprvlist.getColumnInfo("h_pid")) ){
  609. ds_send_data_aprvlist.updateColID("h_pid", "pid");
  610. }
  611. if( !utlf_isNull(ds_send_data_reqclist.getColumnInfo("h_pid")) ){
  612. ds_send_data_reqclist.updateColID("h_pid", "pid");
  613. }
  614. var oParam = {};
  615. oParam.id = "TXANT01201";
  616. oParam.service = "dietsumapp.DietSum";
  617. oParam.method = "reqSetDietPrcpUpdtAprv";
  618. oParam.inds = "reqflag=ds_send_data req=ds_send_data_aprvlist reqclist=ds_send_data_reqclist";
  619. oParam.outds = "";
  620. oParam.async = false;
  621. oParam.callback = "cf_TXANT01201";
  622. tranf_submit(oParam);
  623. ds_send_data_aprvlist.updateColID("pid", "h_pid");
  624. ds_send_data_reqclist.updateColID("pid", "h_pid");
  625. if (arErrorCode.pop("TXANT01201") > -1) { //승인여부 저장 및 식사처방 수정
  626. ds_send_searchitem.setColumn(0, "sumdd", ds_main_data.getColumn(ds_main_data.rowposition, "prcpdd")); // 과거 식사처방 승인시 과거 처방일자 넘김. 2011.08.11_김금련
  627. for (var i = 1; i < 4; i++ ) { //끼니별 변경집계 수행
  628. ds_send_searchitem.setColumn(0, "dietmeal2", i);
  629. ds_send_searchitem.setColumn(0, "dietmeal3", ds_send_searchitem.getColumn(0, "dietmeal"));
  630. ds_send_searchitem.setColumn(0, "dietmeal", ds_send_searchitem.getColumn(0, "dietmeal2"));
  631. ds_send_searchitem.updateColID("sumdd", "prcpdd");
  632. var oParam = {};
  633. oParam.id = "TXANT01202";
  634. oParam.service = "dietsumapp.DietSum";
  635. oParam.method = "reqExeDietPrcpUpdtSum";
  636. oParam.inds = "req=ds_send_searchitem";
  637. oParam.outds = "ds_temp_ret=ret";
  638. oParam.async = false;
  639. tranf_submit(oParam);
  640. ds_send_searchitem.setColumn(0, "dietmeal", ds_send_searchitem.getColumn(0, "dietmeal3"));
  641. ds_send_searchitem.updateColID("prcpdd", "sumdd");
  642. }
  643. }
  644. } else { return; }
  645. }
  646. //submit("TRANT01201"); //재조회
  647. } else {//로그인한 사용자가 간호팀인 경우
  648. if ( temp.rowcount == 0 ) {
  649. sysf_messageBox("취소 선택한 데이터가", "I004");
  650. } else {
  651. if ( sysf_messageBox("", "Q002") == 6 ) {
  652. ds_send_data.setColumn(0, "reqflag", 'N'); //간호팀 구분자(N) 세팅
  653. //ds_send_data.setColumn(0, "reqclist", grd_data.getUpdateData());
  654. ds_send_data_reqclist.copyData(temp, true)
  655. if( !utlf_isNull(ds_send_data_aprvlist.getColumnInfo("h_pid")) ){
  656. ds_send_data_aprvlist.updateColID("h_pid", "pid");
  657. }
  658. if( !utlf_isNull(ds_send_data_reqclist.getColumnInfo("h_pid")) ){
  659. ds_send_data_reqclist.updateColID("h_pid", "pid");
  660. }
  661. var oParam = {};
  662. oParam.id = "TXANT01201";
  663. oParam.service = "dietsumapp.DietSum";
  664. oParam.method = "reqSetDietPrcpUpdtAprv";
  665. oParam.inds = "reqflag=ds_send_data req=ds_send_data_aprvlist reqclist=ds_send_data_reqclist";
  666. oParam.outds = "";
  667. oParam.async = false;
  668. tranf_submit(oParam);
  669. ds_send_data_aprvlist.updateColID("pid", "h_pid");
  670. ds_send_data_reqclist.updateColID("pid", "h_pid");
  671. } else { return; }
  672. }
  673. //submit("TRANT01201"); //재조회
  674. }
  675. group3_group2_btn_search_onclick();
  676. }
  677. function cf_TXANT01201(sSvcId, nErrorCode, sErrorMsg) {
  678. arErrorCode.push(sSvcId, nErrorCode);
  679. }
  680. function ds_main_data_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  681. {
  682. if( e.columnid == "reqcancel" ){
  683. obj.setColumn(e.row, e.columnid, e.newvalue == "1" || e.newvalue == "Y" ? "Y" : "N");
  684. }
  685. }
  686. ]]></Script>
  687. </Form>
  688. </FDL>