SMRPD33300_진료권한신청검토(임상과장).xfdl 53 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMRPD33300" position="absolute 0 0 1200 787" titletext="진료권한신청 검토(임상과장)" oninit="SMRPD33300_oninit" onload="SMRPD33300_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption6" text="진료권한신청 검토(임상과장)" class="tit_1" position="absolute 0 0 213 25" anchor="left top"/>
  8. <Shape id="line2" linetype="horizontal" class="line_6" position="absolute 0 40 1194 46" anchor="left top right"/>
  9. <Button id="btn_save" taborder="1" text="임시저장" class="btn4" position="absolute 948 19 1028 41" onclick="btn_save_onclick" anchor="top right"/>
  10. <Button id="btn_review" taborder="2" text="검토완료" class="btn4" position="absolute 1031 19 1111 41" onclick="btn_review_onclick" anchor="top right"/>
  11. <Button id="btn_approve" taborder="3" text="전자결재" class="btn4" position="absolute 1114 19 1194 41" onclick="btn_approve_onclick" anchor="top right"/>
  12. <Div id="grp_sea" taborder="4" position="absolute 0 43 1194 83" class="div_SA2" anchor="left top right">
  13. <Layouts>
  14. <Layout>
  15. <Shape id="line5" linetype="vertical" class="line_4" position="absolute 686 10 692 32" anchor="top right"/>
  16. <Button id="btn_search" taborder="9" text="조회" class="btn1" position="absolute 705 11 761 33" anchor="top right" onclick="grp_sea_btn_search_onclick"/>
  17. <Static id="caption1" text="신청일" class="search_name" position="absolute 296 13 365 30" anchor="left top"/>
  18. <Combo id="cmb_instcd" taborder="10" class="combo_s_default" enable="false" position="absolute 116 11 274 30" anchor="left top"/>
  19. <Static id="caption8" text="기관코드" class="search_name" position="absolute 49 13 115 30" anchor="left top"/>
  20. <Static id="caption9" text="~" position="absolute 455 14 470 29" anchor="left top"/>
  21. <Calendar id="ipt_appddfrom" taborder="11" position="absolute 349 12 455 31" mask="yyyy-mm-dd" anchor="left top" autoselect="true"/>
  22. <Calendar id="ipt_appddto" taborder="12" position="absolute 470 12 576 31" mask="yyyy-mm-dd" anchor="left top" autoselect="true"/>
  23. <CheckBox id="cbx_selflag" taborder="13" class="checkbox_search" visible="false" position="absolute 585 12 680 32" anchor="left top" text="미처리건만"/>
  24. </Layout>
  25. </Layouts>
  26. </Div>
  27. <Shape id="line3" linetype="horizontal" class="line_10" position="absolute 0 117 520 123" anchor="left top right"/>
  28. <Shape id="line1" linetype="horizontal" class="line_10" position="absolute 525 117 1192 123" anchor="top right"/>
  29. <Shape id="line13" linetype="horizontal" class="line_2" position="absolute 525 144 1193 150" anchor="top right"/>
  30. <Static id="caption21" text="신청서 목록" class="tit_2" position="absolute 2 100 95 116" anchor="left top"/>
  31. <Static id="caption20" text="진료권한 정의 및 신청서" class="tit_2" position="absolute 527 101 695 117" anchor="top right"/>
  32. <Grid id="grd_applist" taborder="5" binddataset="ds_main_applist" useinputpanel="false" position="absolute 0 122 520 742" oncellclick="grd_applist_oncellclick" anchor="all">
  33. <Formats>
  34. <Format id="default">
  35. <Columns>
  36. <Column size="25"/>
  37. <Column size="39"/>
  38. <Column size="44"/>
  39. <Column size="86"/>
  40. <Column size="71"/>
  41. <Column size="82"/>
  42. <Column size="107"/>
  43. <Column size="73"/>
  44. <Column size="0"/>
  45. <Column size="0"/>
  46. </Columns>
  47. <Rows>
  48. <Row size="24" band="head"/>
  49. <Row size="24"/>
  50. </Rows>
  51. <Band id="head">
  52. <Cell/>
  53. <Cell col="1" text="사번"/>
  54. <Cell col="2" text="성명"/>
  55. <Cell col="3" text="직종"/>
  56. <Cell col="4" text="신청일"/>
  57. <Cell col="5" text="진료과"/>
  58. <Cell col="6" text="처리상태"/>
  59. <Cell col="7" text="전자결재"/>
  60. <Cell col="8" text="instcd"/>
  61. <Cell col="9" text="appseq"/>
  62. </Band>
  63. <Band id="body">
  64. <Cell celltype="head" text="expr:currow == ds_main_applist.rowposition ? '▶' : ''"/>
  65. <Cell col="1" class="text_center" text="bind:appid"/>
  66. <Cell col="2" class="text_left" text="bind:appnm"/>
  67. <Cell col="3" class="text_left" text="bind:jobkindnm"/>
  68. <Cell col="4" displaytype="date" edittype="none" class="text_center" text="bind:appdd" editautoselect="true" combodisplaynulltype="none" calendardisplaynulltype="none"/>
  69. <Cell col="5" class="text_left" text="bind:appdeptnm"/>
  70. <Cell col="6" displaytype="combo" edittype="none" style="padding:1 2 1 2;" class="text_left" text="bind:procstat" combodataset="ds_choices" combocodecol="value" combodatacol="label" enable="false"/>
  71. <Cell col="7" class="text_left" text="bind:eprocstat"/>
  72. <Cell col="8" text="bind:instcd"/>
  73. <Cell col="9" text="bind:appseq"/>
  74. </Band>
  75. </Format>
  76. </Formats>
  77. </Grid>
  78. <Static id="cap_matrcd" text="사 번" class="cell_1" position="absolute 525 122 610 145" anchor="top right"/>
  79. <Static id="cap_matrnm" text="진료과" class="cell_1" position="absolute 525 147 610 170" anchor="top right"/>
  80. <Shape id="line4" linetype="vertical" class="line_2" position="absolute 686 166 1193 172" anchor="top right"/>
  81. <Static id="caption7" text="신청일" class="cell_1" position="absolute 1010 122 1095 145" anchor="top right"/>
  82. <Static id="caption12" text="신청분류" class="cell_1" position="absolute 865 147 950 170" anchor="top right"/>
  83. <Shape id="line7" linetype="horizontal" class="line_1" position="absolute 525 169 1192 175" anchor="top right"/>
  84. <Tab id="switch1" taborder="6" tabindex="0" position="absolute 525 207 1193 627" anchor="top right bottom">
  85. <Tabpages>
  86. <Tabpage id="case1" text=" 1. CORE PRIVILEGES ">
  87. <Layouts>
  88. <Layout>
  89. <Grid id="grd_authlist1" taborder="1" binddataset="ds_main_appinfo_authlist1" useinputpanel="false" position="absolute 0 32 668 393" oncellclick="switch1_case1_grd_authlist1_oncellclick">
  90. <Formats>
  91. <Format id="default">
  92. <Columns>
  93. <Column size="40"/>
  94. <Column size="498"/>
  95. <Column size="54"/>
  96. <Column size="54"/>
  97. <Column size="0"/>
  98. <Column size="0"/>
  99. <Column size="0"/>
  100. <Column size="0"/>
  101. <Column size="0"/>
  102. </Columns>
  103. <Rows>
  104. <Row size="24" band="head"/>
  105. <Row size="24" band="head"/>
  106. <Row size="24"/>
  107. </Rows>
  108. <Band id="head">
  109. <Cell rowspan="2" taborder="undefined"/>
  110. <Cell col="1" rowspan="2" text="진료권한 목록" taborder="undefined"/>
  111. <Cell col="2" colspan="2" text="임상과장" taborder="undefined"/>
  112. <Cell col="4" text="instcd"/>
  113. <Cell col="5" text="appid"/>
  114. <Cell col="6" text="appseq"/>
  115. <Cell col="7" text="authcls"/>
  116. <Cell col="8" text="authseq"/>
  117. <Cell row="1" col="2" text="승인"/>
  118. <Cell row="1" col="3" text="거부"/>
  119. <Cell row="1" col="4" text="instcd"/>
  120. <Cell row="1" col="5" text="appid"/>
  121. <Cell row="1" col="6" text="appseq"/>
  122. <Cell row="1" col="7" text="authcls"/>
  123. <Cell row="1" col="8" text="authseq"/>
  124. </Band>
  125. <Band id="body">
  126. <Cell celltype="head"/>
  127. <Cell col="1" style="align:left top;padding:5 2 1 2;" class="text_left" text="bind:authcnts" wordwrap="word"/>
  128. <Cell col="2" displaytype="checkbox" edittype="checkbox" text="bind:aprvflagy"/>
  129. <Cell col="3" displaytype="checkbox" edittype="checkbox" text="bind:aprvflagn"/>
  130. <Cell col="4" text="bind:instcd"/>
  131. <Cell col="5" text="bind:appid"/>
  132. <Cell col="6" text="bind:appseq"/>
  133. <Cell col="7" text="bind:authcls"/>
  134. <Cell col="8" text="bind:authseq"/>
  135. </Band>
  136. </Format>
  137. </Formats>
  138. </Grid>
  139. <Static id="caption11" text="※ 전공의 수련 교과과정 내용을 포괄하여 기본임상권한 내용 명시" position="absolute 1 10 362 30" style="color:#993366ff;"/>
  140. <Shape id="line6" linetype="horizontal" class="line_10" position="absolute 0 27 668 33"/>
  141. </Layout>
  142. </Layouts>
  143. </Tabpage>
  144. <Tabpage id="case2" text=" 2. SPECIAL PRIVILEGES ">
  145. <Layouts>
  146. <Layout>
  147. <Static id="caption3" text="※ 임상과별 수술, 시술 등 전문의 수준의 진료권한(포괄적인 시술명, 세부전공에 따른 신청)" position="absolute 1 10 506 30" style="color:#993366ff;"/>
  148. <Grid id="grd_authlist2" taborder="1" binddataset="ds_main_appinfo_authlist2" useinputpanel="false" position="absolute 0 32 668 393" oncellclick="switch1_case2_grd_authlist2_oncellclick">
  149. <Formats>
  150. <Format id="default">
  151. <Columns>
  152. <Column size="40"/>
  153. <Column size="498"/>
  154. <Column size="54"/>
  155. <Column size="54"/>
  156. <Column size="0"/>
  157. <Column size="0"/>
  158. <Column size="0"/>
  159. <Column size="0"/>
  160. <Column size="0"/>
  161. </Columns>
  162. <Rows>
  163. <Row size="24" band="head"/>
  164. <Row size="24" band="head"/>
  165. <Row size="24"/>
  166. </Rows>
  167. <Band id="head">
  168. <Cell rowspan="2" taborder="undefined"/>
  169. <Cell col="1" rowspan="2" text="진료권한 목록" taborder="undefined"/>
  170. <Cell col="2" colspan="2" text="임상과장" taborder="undefined"/>
  171. <Cell col="4" text="instcd"/>
  172. <Cell col="5" text="appid"/>
  173. <Cell col="6" text="appseq"/>
  174. <Cell col="7" text="authcls"/>
  175. <Cell col="8" text="authseq"/>
  176. <Cell row="1" col="2" text="승인"/>
  177. <Cell row="1" col="3" text="거부"/>
  178. <Cell row="1" col="4" text="instcd"/>
  179. <Cell row="1" col="5" text="appid"/>
  180. <Cell row="1" col="6" text="appseq"/>
  181. <Cell row="1" col="7" text="authcls"/>
  182. <Cell row="1" col="8" text="authseq"/>
  183. </Band>
  184. <Band id="body">
  185. <Cell celltype="head"/>
  186. <Cell col="1" style="align:left top;padding:5 2 1 2;" class="text_left" text="bind:authcnts" wordwrap="word"/>
  187. <Cell col="2" displaytype="checkbox" edittype="checkbox" text="bind:aprvflagy"/>
  188. <Cell col="3" displaytype="checkbox" edittype="checkbox" text="bind:aprvflagn"/>
  189. <Cell col="4" text="bind:instcd"/>
  190. <Cell col="5" text="bind:appid"/>
  191. <Cell col="6" text="bind:appseq"/>
  192. <Cell col="7" text="bind:authcls"/>
  193. <Cell col="8" text="bind:authseq"/>
  194. </Band>
  195. </Format>
  196. </Formats>
  197. </Grid>
  198. <Shape id="line8" linetype="horizontal" class="line_10" position="absolute 0 27 668 33"/>
  199. </Layout>
  200. </Layouts>
  201. </Tabpage>
  202. <Tabpage id="case3" text=" 3. OTHER SPECIFIC PRIVILEGES REQUESTED ">
  203. <Layouts>
  204. <Layout>
  205. <Shape id="line9" linetype="horizontal" class="line_10" position="absolute 0 27 668 33"/>
  206. <Static id="caption5" text="※ 기타권한" position="absolute 1 10 74 30" style="color:#993366ff;"/>
  207. <Grid id="grd_authlist3" taborder="1" binddataset="ds_main_appinfo_authlist3" useinputpanel="false" position="absolute 0 32 668 393" oncellclick="switch1_case3_grd_authlist3_oncellclick">
  208. <Formats>
  209. <Format id="default">
  210. <Columns>
  211. <Column size="40"/>
  212. <Column size="498"/>
  213. <Column size="54"/>
  214. <Column size="54"/>
  215. <Column size="0"/>
  216. <Column size="0"/>
  217. <Column size="0"/>
  218. <Column size="0"/>
  219. <Column size="0"/>
  220. </Columns>
  221. <Rows>
  222. <Row size="24" band="head"/>
  223. <Row size="24" band="head"/>
  224. <Row size="24"/>
  225. </Rows>
  226. <Band id="head">
  227. <Cell rowspan="2" taborder="undefined"/>
  228. <Cell col="1" rowspan="2" text="진료권한 목록" taborder="undefined"/>
  229. <Cell col="2" colspan="2" text="임상과장" taborder="undefined"/>
  230. <Cell col="4" text="instcd"/>
  231. <Cell col="5" text="appid"/>
  232. <Cell col="6" text="appseq"/>
  233. <Cell col="7" text="authcls"/>
  234. <Cell col="8" text="authseq"/>
  235. <Cell row="1" col="2" text="승인"/>
  236. <Cell row="1" col="3" text="거부"/>
  237. <Cell row="1" col="4" text="instcd"/>
  238. <Cell row="1" col="5" text="appid"/>
  239. <Cell row="1" col="6" text="appseq"/>
  240. <Cell row="1" col="7" text="authcls"/>
  241. <Cell row="1" col="8" text="authseq"/>
  242. </Band>
  243. <Band id="body">
  244. <Cell celltype="head"/>
  245. <Cell col="1" style="align:left top;padding:5 2 1 2;" class="text_left" text="bind:authcnts" wordwrap="word"/>
  246. <Cell col="2" displaytype="checkbox" edittype="checkbox" text="bind:aprvflagy"/>
  247. <Cell col="3" displaytype="checkbox" edittype="checkbox" text="bind:aprvflagn"/>
  248. <Cell col="4" text="bind:instcd"/>
  249. <Cell col="5" text="bind:appid"/>
  250. <Cell col="6" text="bind:appseq"/>
  251. <Cell col="7" text="bind:authcls"/>
  252. <Cell col="8" text="bind:authseq"/>
  253. </Band>
  254. </Format>
  255. </Formats>
  256. </Grid>
  257. </Layout>
  258. </Layouts>
  259. </Tabpage>
  260. </Tabpages>
  261. </Tab>
  262. <Radio id="rdo_appcls" taborder="7" columncount="3" rowcount="0" codecolumn="codecolumn" datacolumn="datacolumn" class="radio_default" enable="false" position="absolute 960 150 1145 170" anchor="top right">
  263. <Dataset id="innerdataset">
  264. <ColumnInfo>
  265. <Column id="codecolumn"/>
  266. <Column id="datacolumn"/>
  267. </ColumnInfo>
  268. <Rows>
  269. <Row>
  270. <Col id="codecolumn">N</Col>
  271. <Col id="datacolumn">신규</Col>
  272. </Row>
  273. <Row>
  274. <Col id="codecolumn">R</Col>
  275. <Col id="datacolumn">갱신</Col>
  276. </Row>
  277. <Row>
  278. <Col id="codecolumn">A</Col>
  279. <Col id="datacolumn">추가</Col>
  280. </Row>
  281. </Rows>
  282. </Dataset>
  283. </Radio>
  284. <Static id="caption2" text="검토완료 : 검토완료 처리 후에는 수정이 불가능합니다." position="absolute 21 760 323 780" anchor="left bottom"/>
  285. <Edit id="ipt_appid" taborder="8" position="absolute 613 123 658 142" anchor="top right" autoselect="true" class="output" readonly="true"/>
  286. <Static id="caption10" text="직종" class="cell_1" position="absolute 780 122 865 145" anchor="top right"/>
  287. <Edit id="ipt_appnm" taborder="9" position="absolute 660 123 774 142" anchor="top right" autoselect="true" class="output" readonly="true"/>
  288. <MaskEdit id="ipt_appdd" taborder="10" mask="yyyy-mm-dd" position="absolute 1098 123 1183 142" anchor="top right" autoselect="true" class="output" readonly="true"/>
  289. <Edit id="ipt_jobkindnm" taborder="11" position="absolute 868 123 1005 142" anchor="top right" autoselect="true" class="output" readonly="true"/>
  290. <Edit id="ipt_appdeptnm" taborder="12" position="absolute 613 149 860 168" anchor="top right" autoselect="true" class="output" readonly="true"/>
  291. <Static id="caption13" text="※ 제출취소 : 신청서 작성자가 신청서를 수정할 수 있는 상태로 되돌립니다." position="absolute 5 745 415 765" anchor="left bottom"/>
  292. <Static id="caption15" text="조건부 승인 및&#13;&#10;승인 불가에&#13;&#10; 대한 의견" class="cell_1" position="absolute 525 662 620 740" anchor="right bottom"/>
  293. <Shape id="line10" linetype="horizontal" class="line_2" position="absolute 525 659 1193 665" anchor="right bottom"/>
  294. <Shape id="line11" linetype="horizontal" class="line_2" position="absolute 525 739 1193 745" anchor="right bottom"/>
  295. <Shape id="line12" linetype="horizontal" class="line_2" position="absolute 525 632 1193 638" anchor="right bottom"/>
  296. <Radio id="rdo_commreqyn" taborder="13" columncount="3" rowcount="0" codecolumn="codecolumn" datacolumn="datacolumn" class="radio_default" position="absolute 1080 640 1190 660" anchor="right bottom" onitemchanged="rdo_commreqyn_onitemchanged">
  297. <Dataset id="innerdataset">
  298. <ColumnInfo>
  299. <Column id="codecolumn"/>
  300. <Column id="datacolumn"/>
  301. </ColumnInfo>
  302. <Rows>
  303. <Row>
  304. <Col id="codecolumn">Y</Col>
  305. <Col id="datacolumn">상정</Col>
  306. </Row>
  307. <Row>
  308. <Col id="codecolumn">N</Col>
  309. <Col id="datacolumn">미상정</Col>
  310. </Row>
  311. </Rows>
  312. </Dataset>
  313. </Radio>
  314. <Static id="caption16" text="승인결과" class="cell_1" position="absolute 525 637 620 660" anchor="right bottom"/>
  315. <Radio id="rdo_aprvrslt" taborder="14" columncount="-1" rowcount="0" codecolumn="codecolumn" datacolumn="datacolumn" class="radio_default" enable="false" position="absolute 626 640 1038 660" direction="vertical" anchor="right bottom">
  316. <Dataset id="innerdataset">
  317. <ColumnInfo>
  318. <Column id="codecolumn"/>
  319. <Column id="datacolumn"/>
  320. </ColumnInfo>
  321. <Rows>
  322. <Row>
  323. <Col id="codecolumn">1</Col>
  324. <Col id="datacolumn">승인사항 모두 승인</Col>
  325. </Row>
  326. <Row>
  327. <Col id="codecolumn">2</Col>
  328. <Col id="datacolumn">승인사항 조건부 승인</Col>
  329. </Row>
  330. <Row>
  331. <Col id="codecolumn">3</Col>
  332. <Col id="datacolumn">승인불가</Col>
  333. </Row>
  334. </Rows>
  335. </Dataset>
  336. </Radio>
  337. <Static id="cp_commreqyn" text="위원회 상정여부" class="cell_1" position="absolute 970 637 1075 660" anchor="right bottom"/>
  338. <TextArea id="ta_aprvopin" taborder="15" position="absolute 624 665 1192 735" anchor="right bottom" wordwrap="word"/>
  339. <Button id="btn_submitcancel" taborder="16" text="제출취소" class="btn2" position="absolute 1125 94 1189 113" onclick="btn_submitcancel_onclick" anchor="top right"/>
  340. </Layout>
  341. </Layouts>
  342. <Objects>
  343. <Dataset id="ds_main_applist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  344. <ColumnInfo>
  345. <Column id="appid" type="STRING"/>
  346. <Column id="appnm" type="STRING"/>
  347. <Column id="jobkindnm" type="STRING"/>
  348. <Column id="appdd" type="STRING"/>
  349. <Column id="appdeptnm" type="STRING"/>
  350. <Column id="procstat" type="STRING"/>
  351. <Column id="eprocstat" type="STRING"/>
  352. <Column id="instcd" type="STRING"/>
  353. <Column id="appseq" type="STRING"/>
  354. </ColumnInfo>
  355. </Dataset>
  356. <Dataset id="ds_main_appinfo_authlist1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  357. <ColumnInfo>
  358. <Column id="authcnts" type="STRING"/>
  359. <Column id="aprvflagy" type="STRING"/>
  360. <Column id="aprvflagn" type="STRING"/>
  361. <Column id="instcd" type="STRING"/>
  362. <Column id="appid" type="STRING"/>
  363. <Column id="appseq" type="STRING"/>
  364. <Column id="authcls" type="STRING"/>
  365. <Column id="authseq" type="STRING"/>
  366. </ColumnInfo>
  367. </Dataset>
  368. <Dataset id="ds_main_appinfo_authlist2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  369. <ColumnInfo>
  370. <Column id="authcnts" type="STRING"/>
  371. <Column id="aprvflagy" type="STRING"/>
  372. <Column id="aprvflagn" type="STRING"/>
  373. <Column id="instcd" type="STRING"/>
  374. <Column id="appid" type="STRING"/>
  375. <Column id="appseq" type="STRING"/>
  376. <Column id="authcls" type="STRING"/>
  377. <Column id="authseq" type="STRING"/>
  378. </ColumnInfo>
  379. </Dataset>
  380. <Dataset id="ds_main_appinfo_authlist3" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  381. <ColumnInfo>
  382. <Column id="authcnts" type="STRING"/>
  383. <Column id="aprvflagy" type="STRING"/>
  384. <Column id="aprvflagn" type="STRING"/>
  385. <Column id="instcd" type="STRING"/>
  386. <Column id="appid" type="STRING"/>
  387. <Column id="appseq" type="STRING"/>
  388. <Column id="authcls" type="STRING"/>
  389. <Column id="authseq" type="STRING"/>
  390. </ColumnInfo>
  391. </Dataset>
  392. <Dataset id="ds_main_condition" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  393. <ColumnInfo>
  394. <Column id="instcd" type="STRING" size="256"/>
  395. <Column id="appddfrom" type="STRING" size="256"/>
  396. <Column id="appddto" type="STRING" size="256"/>
  397. <Column id="sppnm" type="STRING" size="256"/>
  398. <Column id="selflag" type="STRING" size="256"/>
  399. </ColumnInfo>
  400. <Rows>
  401. <Row/>
  402. </Rows>
  403. </Dataset>
  404. <Dataset id="ds_main_appinfo_detail" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  405. <ColumnInfo>
  406. <Column id="status" type="STRING" size="256"/>
  407. <Column id="appid" type="STRING" size="256"/>
  408. <Column id="appnm" type="STRING" size="256"/>
  409. <Column id="jobkindnm" type="STRING" size="256"/>
  410. <Column id="appdd" type="STRING" size="256"/>
  411. <Column id="appdept" type="STRING" size="256"/>
  412. <Column id="appdeptnm" type="STRING" size="256"/>
  413. <Column id="appcls" type="STRING" size="256"/>
  414. <Column id="instcd" type="STRING" size="256"/>
  415. <Column id="appseq" type="STRING" size="256"/>
  416. <Column id="aprvrslt" type="STRING" size="256"/>
  417. <Column id="commreqyn" type="STRING" size="256"/>
  418. <Column id="aprvopin" type="STRING" size="256"/>
  419. <Column id="procstat" type="STRING" size="256"/>
  420. </ColumnInfo>
  421. <Rows>
  422. <Row>
  423. <Col id="status"/>
  424. <Col id="appid"/>
  425. <Col id="appnm"/>
  426. <Col id="jobkindnm"/>
  427. <Col id="appdd"/>
  428. <Col id="appdept"/>
  429. <Col id="appdeptnm"/>
  430. <Col id="appcls"/>
  431. <Col id="instcd"/>
  432. <Col id="appseq"/>
  433. <Col id="aprvrslt"/>
  434. <Col id="commreqyn"/>
  435. <Col id="aprvopin"/>
  436. <Col id="procstat"/>
  437. </Row>
  438. </Rows>
  439. </Dataset>
  440. <Dataset id="ds_send_applist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  441. <ColumnInfo>
  442. <Column id="appid" type="STRING"/>
  443. <Column id="appnm" type="STRING"/>
  444. <Column id="jobkindnm" type="STRING"/>
  445. <Column id="appdd" type="STRING"/>
  446. <Column id="appdeptnm" type="STRING"/>
  447. <Column id="procstat" type="STRING"/>
  448. <Column id="eprocstat" type="STRING"/>
  449. <Column id="instcd" type="STRING"/>
  450. <Column id="appseq" type="STRING"/>
  451. </ColumnInfo>
  452. </Dataset>
  453. <Dataset id="ds_hidden_appinfo_detail" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  454. <Dataset id="ds_hidden_appinfo_authlist1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  455. <ColumnInfo>
  456. <Column id="authcnts" type="STRING"/>
  457. <Column id="aprvflagy" type="STRING"/>
  458. <Column id="aprvflagn" type="STRING"/>
  459. <Column id="instcd" type="STRING"/>
  460. <Column id="appid" type="STRING"/>
  461. <Column id="appseq" type="STRING"/>
  462. <Column id="authcls" type="STRING"/>
  463. <Column id="authseq" type="STRING"/>
  464. </ColumnInfo>
  465. </Dataset>
  466. <Dataset id="ds_hidden_appinfo_authlist2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  467. <ColumnInfo>
  468. <Column id="authcnts" type="STRING"/>
  469. <Column id="aprvflagy" type="STRING"/>
  470. <Column id="aprvflagn" type="STRING"/>
  471. <Column id="instcd" type="STRING"/>
  472. <Column id="appid" type="STRING"/>
  473. <Column id="appseq" type="STRING"/>
  474. <Column id="authcls" type="STRING"/>
  475. <Column id="authseq" type="STRING"/>
  476. </ColumnInfo>
  477. </Dataset>
  478. <Dataset id="ds_hidden_appinfo_authlist3" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  479. <ColumnInfo>
  480. <Column id="authcnts" type="STRING"/>
  481. <Column id="aprvflagy" type="STRING"/>
  482. <Column id="aprvflagn" type="STRING"/>
  483. <Column id="instcd" type="STRING"/>
  484. <Column id="appid" type="STRING"/>
  485. <Column id="appseq" type="STRING"/>
  486. <Column id="authcls" type="STRING"/>
  487. <Column id="authseq" type="STRING"/>
  488. </ColumnInfo>
  489. </Dataset>
  490. <Dataset id="ds_choices" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  491. <ColumnInfo>
  492. <Column id="label" type="STRING" size="256"/>
  493. <Column id="value" type="STRING" size="256"/>
  494. </ColumnInfo>
  495. <Rows>
  496. <Row>
  497. <Col id="label">임시저장</Col>
  498. <Col id="value">1</Col>
  499. </Row>
  500. <Row>
  501. <Col id="value">2</Col>
  502. <Col id="label">제출완료</Col>
  503. </Row>
  504. <Row>
  505. <Col id="value">4</Col>
  506. <Col id="label">임상과장 검토완료</Col>
  507. </Row>
  508. <Row>
  509. <Col id="value">6</Col>
  510. <Col id="label">위원장 검토중</Col>
  511. </Row>
  512. <Row>
  513. <Col id="value">8</Col>
  514. <Col id="label">처리완료</Col>
  515. </Row>
  516. </Rows>
  517. </Dataset>
  518. <Dataset id="ds_send_authlist1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  519. <Dataset id="ds_send_authlist2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  520. <Dataset id="ds_send_authlist3" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  521. <Dataset id="ds_choices032" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  522. <ColumnInfo>
  523. <Column id="label" type="STRING" size="256"/>
  524. <Column id="value" type="STRING" size="256"/>
  525. </ColumnInfo>
  526. <Rows>
  527. <Row>
  528. <Col id="label">임시저장</Col>
  529. <Col id="value">1</Col>
  530. </Row>
  531. <Row>
  532. <Col id="value">2</Col>
  533. <Col id="label">제출완료</Col>
  534. </Row>
  535. <Row>
  536. <Col id="value">4</Col>
  537. <Col id="label">검토완료</Col>
  538. </Row>
  539. <Row>
  540. <Col id="value">6</Col>
  541. <Col id="label">위원장 검토중</Col>
  542. </Row>
  543. <Row>
  544. <Col id="value">8</Col>
  545. <Col id="label">처리완료</Col>
  546. </Row>
  547. <Row>
  548. <Col id="label">책임교수 검토중</Col>
  549. <Col id="value">3</Col>
  550. </Row>
  551. </Rows>
  552. </Dataset>
  553. </Objects>
  554. <Bind>
  555. <BindItem id="item0" compid="grp_sea.cmb_instcd" propid="value" datasetid="ds_main_condition" columnid="instcd"/>
  556. <BindItem id="item1" compid="grp_sea.ipt_appddfrom" propid="value" datasetid="ds_main_condition" columnid="appddfrom"/>
  557. <BindItem id="item2" compid="grp_sea.ipt_appddto" propid="value" datasetid="ds_main_condition" columnid="appddto"/>
  558. <BindItem id="item3" compid="grp_sea.cbx_selflag" propid="value" datasetid="ds_main_condition" columnid="selflag"/>
  559. <BindItem id="item4" compid="ipt_appid" propid="value" datasetid="ds_main_appinfo_detail" columnid="appid"/>
  560. <BindItem id="item5" compid="ipt_appnm" propid="value" datasetid="ds_main_appinfo_detail" columnid="appnm"/>
  561. <BindItem id="item6" compid="ipt_appdeptnm" propid="value" datasetid="ds_main_appinfo_detail" columnid="appdeptnm"/>
  562. <BindItem id="item7" compid="ipt_jobkindnm" propid="value" datasetid="ds_main_appinfo_detail" columnid="jobkindnm"/>
  563. <BindItem id="item8" compid="ipt_appdd" propid="value" datasetid="ds_main_appinfo_detail" columnid="appdd"/>
  564. <BindItem id="item9" compid="rdo_appcls" propid="value" datasetid="ds_main_appinfo_detail" columnid="appcls"/>
  565. <BindItem id="item10" compid="rdo_aprvrslt" propid="value" datasetid="ds_main_appinfo_detail" columnid="aprvrslt"/>
  566. <BindItem id="item11" compid="rdo_commreqyn" propid="value" datasetid="ds_main_appinfo_detail" columnid="commreqyn"/>
  567. <BindItem id="item12" compid="ta_aprvopin" propid="value" datasetid="ds_main_appinfo_detail" columnid="aprvopin"/>
  568. </Bind>
  569. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  570. * System Name :
  571. * Job Name :
  572. * Creator :
  573. * Make Date : 2017-06-19
  574. * Description :
  575. *---------------------------------------------------------------------------------------
  576. * Modify Date Modifier Modify Description
  577. *---------------------------------------------------------------------------------------
  578. * 2017-06-19 Live Converter TF->XP
  579. *
  580. *---------------------------------------------------------------------------------------
  581. ****************************************************************************************/
  582. include "com_commonxp::comm_main.xjs";
  583. include "mis_miscommonxp::MIS.xjs";
  584. include "mis_miscommonxp::RAC001.xjs";
  585. include "mis_miscommonxp::RSZ001.xjs";
  586. include "mis_humtrafactmngtxp::RPB001.xjs";
  587. function SMRPD33300_oninit(obj:Form, e:InitEventInfo)
  588. {
  589. frmf_initForm(obj);
  590. }
  591. function SMRPD33300_onload(obj:Form, e:LoadEventInfo)
  592. {
  593. grdf_initGrid(grd_applist);
  594. grdf_initGrid(switch1.case1.grd_authlist1);
  595. grdf_initGrid(switch1.case2.grd_authlist2);
  596. grdf_initGrid(switch1.case3.grd_authlist3);
  597. // grdf_setRowTypeIcon(grd_applist, 0);
  598. grdf_setRowTypeIcon(switch1.case1.grd_authlist1, 0);
  599. grdf_setRowTypeIcon(switch1.case2.grd_authlist2, 0);
  600. grdf_setRowTypeIcon(switch1.case3.grd_authlist3, 0);
  601. fOpenForm();
  602. if(grp_sea.cmb_instcd.value == "031"){
  603. grd_applist.setCellProperty("body", grd_applist.getBindCellIndex("body","procstat"), "combodataset","ds_choices");
  604. }else{
  605. grd_applist.setCellProperty("body", grd_applist.getBindCellIndex("body","procstat"), "combodataset","ds_choices032");
  606. }
  607. }
  608. function fOpenForm()
  609. {
  610. ds_main_applist.clearData();
  611. ds_main_appinfo_authlist1.clearData();
  612. ds_main_appinfo_authlist2.clearData();
  613. ds_main_appinfo_authlist3.clearData();
  614. //항상 전체가 보이도록 default값을 변경하고, control을 hidden으로 변
  615. switch1.tabindex = 0;
  616. //기관 조회
  617. misfComboInstCdListMulti("grp_sea.cmb_instcd", utlf_getCurrentDate(), "", "N");
  618. grp_sea.cmb_instcd.value = sysf_getUserInfo("dutplceinstcd")
  619. //신청일 1개월 설정
  620. grp_sea.ipt_appddfrom.value = utlf_getCurrentDate().toDate().getAddDate(-30,"D").getDateFormat();
  621. grp_sea.ipt_appddto.value = utlf_getCurrentDate();
  622. //칠곡병원의 경우, 100% 위원회 상정으로 간다.
  623. //그래서 control을 hidden으로 한 후, 저장 시에 강제로 "상정"으로 일괄 설정함
  624. // if(grp_sea.cmb_instcd.value == "032")
  625. // {
  626. // cp_commreqyn.visible = false;
  627. // rdo_commreqyn.visible = false;
  628. // }
  629. fGetAppList();// 목록 조회
  630. }
  631. // 신청서 목록 조회 함수
  632. function fGetAppList()
  633. {
  634. misfGridInit(grd_applist);
  635. var oParam = {};
  636. oParam.id = "TRRPD33301";
  637. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  638. oParam.method = "reqGetAppAprvList";
  639. oParam.inds = "req=ds_main_condition";
  640. oParam.outds = "ds_main_applist=applist";
  641. oParam.async = false;
  642. //oParam.callback = "cf_TRRPD33301";
  643. tranf_submit(oParam);
  644. }
  645. function grp_sea_btn_search_onclick(obj:Button, e:ClickEventInfo)
  646. {
  647. fGetAppList();
  648. }
  649. function grd_applist_oncellclick(obj:Grid, e:GridClickEventInfo)
  650. {
  651. var cur_row = ds_main_applist.rowposition;
  652. fGetAppInfo(cur_row);
  653. }
  654. var hiddendetail = "";
  655. // 상세정보 및 진료권한 목록 조회
  656. function fGetAppInfo(pRow)
  657. {
  658. if ( pRow >= 0 )
  659. {
  660. ds_send_applist.clearData();
  661. ds_send_applist.addRow();
  662. ds_send_applist.copyRow(0, ds_main_applist, pRow);
  663. var oParam = {};
  664. oParam.id = "TRRPD33302";
  665. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  666. oParam.method = "reqGetAppAprvInfo";
  667. oParam.inds = "req=ds_send_applist";
  668. oParam.outds = "ds_main_appinfo_detail=detail ds_main_appinfo_authlist1=authlist1 ds_main_appinfo_authlist2=authlist2 ds_main_appinfo_authlist3=authlist3";
  669. oParam.async = false;
  670. //oParam.callback = "cf_TRRPD33302";
  671. tranf_submit(oParam);
  672. hiddendetail = ds_main_appinfo_detail.saveXML();
  673. fCopyInstance();
  674. //처리상태에 따른 contol setting
  675. //처리상태(1:임시저장 2:제출완료 4:임상과장 검토완료(=전자결재상신) 6:위원장 검토중 8:처리완료)
  676. if(ds_main_appinfo_detail.getColumn(0, "procstat") == "2")
  677. {
  678. switch1.case1.grd_authlist1.setFormatColProperty(2, "size", "54");
  679. switch1.case1.grd_authlist1.setFormatColProperty(3, "size", "54");
  680. switch1.case2.grd_authlist2.setFormatColProperty(2, "size", "54");
  681. switch1.case2.grd_authlist2.setFormatColProperty(3, "size", "54");
  682. switch1.case3.grd_authlist3.setFormatColProperty(2, "size", "54");
  683. switch1.case3.grd_authlist3.setFormatColProperty(3, "size", "54");
  684. rdo_commreqyn.enable = true;
  685. ta_aprvopin.enable = true;
  686. }
  687. else
  688. {
  689. switch1.case1.grd_authlist1.setFormatColProperty(2, "size", "0");
  690. switch1.case1.grd_authlist1.setFormatColProperty(3, "size", "0");
  691. switch1.case2.grd_authlist2.setFormatColProperty(2, "size", "0");
  692. switch1.case2.grd_authlist2.setFormatColProperty(3, "size", "0");
  693. switch1.case3.grd_authlist3.setFormatColProperty(2, "size", "0");
  694. switch1.case3.grd_authlist3.setFormatColProperty(3, "size", "0");
  695. rdo_commreqyn.enable = false;
  696. ta_aprvopin.enable = false;
  697. }
  698. }
  699. }
  700. function fCopyInstance()
  701. {
  702. ds_hidden_appinfo_detail.copyData(ds_hidden_appinfo_detail);
  703. ds_hidden_appinfo_authlist1.copyData(ds_main_appinfo_authlist1);
  704. ds_hidden_appinfo_authlist2.copyData(ds_main_appinfo_authlist2);
  705. ds_hidden_appinfo_authlist3.copyData(ds_main_appinfo_authlist3);
  706. }
  707. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  708. {
  709. fClickSaveBtn();
  710. }
  711. //========================================================================================
  712. //저장전 유효성 검사
  713. //========================================================================================
  714. function fIsValidForSave() {
  715. var sStatus = ds_main_appinfo_detail.getColumn(0, "status");
  716. //상세내역에 변경된 정보가 있는지 확인
  717. if(ds_main_appinfo_detail.saveXML() != hiddendetail && sStatus == "-") { // 데이터 수정일 경우
  718. ds_main_appinfo_detail.setColumn(0, "status","u");
  719. return true;
  720. } else if(ds_main_appinfo_detail.saveXML() == hiddendetail && sStatus == "-" ) { //변경된 값이 없을경우
  721. return true;
  722. }else if(sStatus == "i") { //데이터 입력일 경우
  723. return true;
  724. }else if(sStatus = "d") { //데이터 삭제일 경우
  725. return true;
  726. }
  727. }
  728. // 저장버튼 클릭시 저장 수행 함수
  729. function fClickSaveBtn()
  730. {
  731. //칠곡병원의 경우, 100% 위원회 상정으로 간다.
  732. //그래서 control을 hidden으로 한 후, 저장 시에 강제로 "상정"으로 일괄 설정함
  733. // 칠곡병원 = 본원. 똑같이 수행하도록 수정(2018.06.25)
  734. // if(grp_sea.cmb_instcd.value == "032")
  735. // {
  736. // if(utlf_isNull(rdo_commreqyn.value))
  737. // {
  738. // rdo_commreqyn.value = "Y"; //상정요청 여부(Y,N)
  739. // }
  740. // }
  741. if(!fIsValidForSave())//저장전 유효성 검사
  742. return;
  743. var updateData = grdf_getGridUpdateData(switch1.case1.grd_authlist1);
  744. grdf_setStatusColumn(updateData, "status");
  745. ds_send_authlist1.copyData(updateData, true);
  746. var updateData = grdf_getGridUpdateData(switch1.case2.grd_authlist2);
  747. grdf_setStatusColumn(updateData, "status");
  748. ds_send_authlist2.copyData(updateData, true);
  749. var updateData = grdf_getGridUpdateData(switch1.case3.grd_authlist3);
  750. grdf_setStatusColumn(updateData, "status");
  751. ds_send_authlist3.copyData(updateData, true);
  752. var oParam = {};
  753. oParam.id = "TXRPD33301";
  754. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  755. oParam.method = "reqExeSaveAppAprv";
  756. oParam.inds = "detail=ds_main_appinfo_detail authlist1=ds_send_authlist1 authlist2=ds_send_authlist2 authlist3=ds_send_authlist3";
  757. oParam.async = false;
  758. oParam.callback = "cf_TXRPD33301";
  759. tranf_submit(oParam);
  760. }
  761. function cf_TXRPD33301(sSvcId, nErrorCode, sErrorMsg)
  762. {
  763. if(nErrorCode < 0) return;
  764. else
  765. {
  766. //신청서 목록 재조회
  767. fGetAppList();
  768. //상세정보 및 진료권한 목록 재조회
  769. var oParam = {};
  770. oParam.id = "TRRPD33302";
  771. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  772. oParam.method = "reqGetAppAprvInfo";
  773. oParam.inds = "req=ds_main_appinfo_detail";
  774. oParam.outds = "ds_main_appinfo_detail=detail ds_main_appinfo_authlist1=authlist1 ds_main_appinfo_authlist2=authlist2 ds_main_appinfo_authlist3=authlist3";
  775. oParam.async = false;
  776. //oParam.callback = "cf_TRRPD33302";
  777. tranf_submit(oParam);
  778. hiddendetail = ds_main_appinfo_detail.saveXML();
  779. fCopyInstance();
  780. }
  781. }
  782. function btn_review_onclick(obj:Button, e:ClickEventInfo)
  783. {
  784. //전체 권한의 갯수
  785. var totcnt = ds_main_appinfo_authlist1.rowcount + ds_main_appinfo_authlist2 + ds_hidden_appinfo_authlist3;
  786. var ycnt = 0; //승인된 권한의 갯수
  787. var ncnt = 0; //거부된 권한의 갯수
  788. if(totcnt > 0)
  789. {
  790. for(var i = 0; i < ds_main_appinfo_authlist1.rowcount; i++)
  791. {
  792. if(ds_main_appinfo_authlist1.getColumn(i, "aprvflagy") == "1")
  793. {
  794. ycnt++;
  795. }
  796. if(ds_main_appinfo_authlist1.getColumn(i, "aprvflagn") == "1")
  797. {
  798. ncnt++;
  799. }
  800. }
  801. for(var i = 0; i < ds_main_appinfo_authlist2.rowcount; i++)
  802. {
  803. if(ds_main_appinfo_authlist2.getColumn(i, "aprvflagy") == "1")
  804. {
  805. ycnt++;
  806. }
  807. if(ds_main_appinfo_authlist2.getColumn(i, "aprvflagn") == "1")
  808. {
  809. ncnt++;
  810. }
  811. }
  812. for(var i = 0; i < ds_main_appinfo_authlist3.rowcount; i++)
  813. {
  814. if(ds_main_appinfo_authlist3.getColumn(i, "aprvflagy") == "1")
  815. {
  816. ycnt++;
  817. }
  818. if(ds_main_appinfo_authlist3.getColumn(i, "aprvflagy") == "1")
  819. {
  820. ncnt++;
  821. }
  822. }
  823. if(totcnt != ycnt + ncnt)
  824. {
  825. sysf_messageBox("권한 항목 중 승인여부를 등록하지 않은 항목이 존재합니다. \n\n승인여부를 확인하십시요. ", "E999", "");
  826. return;
  827. }
  828. }
  829. //위원회 상정여부가 선택 확인
  830. //칠곡병원의 경우, 100% 위원회 상정으로 간다.
  831. //그래서 control을 hidden으로 한 후, 저장 시에 강제로 "상정"으로 일괄 설정함
  832. //if(cmb_instcd.value != "032" && rdo_commreqyn.value == "") {
  833. // 칠곡병원 = 본원. 똑같이 수행하도록 수정(2018.06.25)
  834. if(utlf_isNull(rdo_commreqyn.value)) {
  835. sysf_messageBox("위원회 상정여부가 선택되지 않았습니다. \n\n상정여부를 선택하십시요. ", "E999", "");
  836. rdo_commreqyn.setFocus();
  837. return;
  838. }
  839. //승인결과가 "모두 승인" 이 아닌 경우엔 의견을 반드시 입력해야 한다.
  840. if(rdo_aprvrslt.value != "1")
  841. {
  842. if(utlf_isNull(ta_aprvopin.value.trim()))
  843. {
  844. sysf_messageBox("조건부 승인 및 승인 불가에 대한 의견이 입력되지 않았습니다. \n\n의견을 입력하십시요 ", "E999", "");
  845. ta_aprvopin.setFocus();
  846. return;
  847. }
  848. }
  849. // //그리드에 변경된 자료가 있는지 확인
  850. // var updtdata1 = grdf_getUpdateRows(switch1.case1.grd_authlist1, "update");
  851. // var updtdata2 = grdf_getUpdateRows(switch1.case2.grd_authlist2, "update");
  852. // var updtdata3 = grdf_getUpdateRows(switch1.case3.grd_authlist3, "update");
  853. //
  854. // // 변경된 데이터가 있는 경우
  855. // if(!utlf_isNull(updtdata1) || !utlf_isNull(updtdata2) || !utlf_isNull(updtdata3))
  856. // {
  857. // sysf_messageBox("저장되지 않은 작업 내용이 존재합니다.\n\n먼저 저장 후 검토완료 처리 하십시요. ", "E999", "");
  858. // return;
  859. // }
  860. //그리드에 변경된 자료가 있는지 확인
  861. var updtdata1 = grdf_getGridUpdateData(switch1.case1.grd_authlist1).rowcount;
  862. var updtdata2 = grdf_getGridUpdateData(switch1.case2.grd_authlist2).rowcount;
  863. var updtdata3 = grdf_getGridUpdateData(switch1.case3.grd_authlist3).rowcount;
  864. if(updtdata1 > 0 || updtdata2 > 0 || updtdata3 > 0) // 변경된 데이터가 있는 경우
  865. {
  866. sysf_messageBox("저장되지 않은 작업 내용이 존재합니다.\n\n먼저 저장 후 제출 처리 하십시요. ", "E999", "");
  867. return;
  868. }
  869. fClickReviewBtn();
  870. }
  871. // 검토완료 버튼 클릭시 저장 수행 함수
  872. function fClickReviewBtn()
  873. {
  874. var oParam = {};
  875. oParam.id = "TXRPD33302";
  876. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  877. oParam.method = "reqExeReviewApp";
  878. oParam.inds = "detail=ds_main_appinfo_detail";
  879. oParam.async = false;
  880. oParam.callback = "cf_TXRPD33302";
  881. tranf_submit(oParam);
  882. }
  883. function cf_TXRPD33302(sSvcId, nErrorCode, sErrorMsg)
  884. {
  885. if(nErrorCode < 0) return;
  886. else
  887. {
  888. fGetAppList();//신청서 목록 재조회
  889. //상세정보 및 진료권한 목록 재조회
  890. var oParam = {};
  891. oParam.id = "TRRPD33302";
  892. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  893. oParam.method = "reqGetAppAprvInfo";
  894. oParam.inds = "req=ds_main_appinfo_detail";
  895. oParam.outds = "ds_main_appinfo_detail=detail ds_main_appinfo_authlist1=authlist1 ds_main_appinfo_authlist2=authlist2 ds_main_appinfo_authlist3=authlist3";
  896. oParam.async = false;
  897. //oParam.callback = "cf_TRRPD33302";
  898. tranf_submit(oParam);
  899. hiddendetail = ds_main_appinfo_detail.saveXML();
  900. fCopyInstance();
  901. }
  902. }
  903. function btn_approve_onclick(obj:Button, e:ClickEventInfo)
  904. {
  905. if(ds_main_appinfo_detail.getColumn(0, "procstat") < "4")
  906. {
  907. sysf_messageBox("검토완료된 신청서만 전자결재 상신이 가능합니다.", "E999", "");
  908. return;
  909. }
  910. var pInstcd = ds_main_appinfo_detail.getColumn(0, "instcd");
  911. var pAppid = ds_main_appinfo_detail.getColumn(0, "appid");
  912. var pSeq = ds_main_appinfo_detail.getColumn(0, "appseq");
  913. var pmaprefcol = "knuhdomain,instId"; //,approverole
  914. var pmaprefvalue = "KnuhMisTreatmentAuth," + pInstcd + "-" + pAppid + "-" + pSeq ; //+ pApproverole + "-"
  915. misfMakeElctSanct("treatmentAuthApply", pmaprefcol, pmaprefvalue); //같거나 상위부서인 경우
  916. fGetAppList();//신청서 목록 재조회
  917. }
  918. function btn_submitcancel_onclick(obj:Button, e:ClickEventInfo)
  919. {
  920. fClickSubmitCancelBtn();
  921. }
  922. // 제출취소 버튼 클릭시 저장 수행 함수
  923. function fClickSubmitCancelBtn()
  924. {
  925. var oParam = {};
  926. oParam.id = "TXRPD33303";
  927. oParam.service = "dligclaznsmngtapp.DutScheMngt";
  928. oParam.method = "reqExeSubmitCancelApp";
  929. oParam.inds = "detail=ds_main_appinfo_detail";
  930. oParam.async = false;
  931. //oParam.callback = "cf_TXRPD33303";
  932. tranf_submit(oParam);
  933. fGetAppList();//신청서 목록 재조회
  934. }
  935. function switch1_case1_grd_authlist1_oncellclick(obj:Grid, e:GridClickEventInfo)
  936. {
  937. if(switch1.case1.grd_authlist1.currentcol == "2")
  938. {
  939. if(ds_main_appinfo_authlist1.getColumn(ds_main_appinfo_authlist1.rowposition, "aprvflagy") == "1")
  940. {
  941. ds_main_appinfo_authlist1.setColumn(ds_main_appinfo_authlist1.rowposition, "aprvflagn", "0")
  942. }
  943. }
  944. else if(switch1.case1.grd_authlist1.currentcol == "3")
  945. {
  946. if(ds_main_appinfo_authlist1.getColumn(ds_main_appinfo_authlist1.rowposition, "aprvflagn") == "1")
  947. {
  948. ds_main_appinfo_authlist1.setColumn(ds_main_appinfo_authlist1.rowposition, "aprvflagy", "0")
  949. }
  950. }
  951. //전체 권한의 갯수
  952. var totcnt = ds_main_appinfo_authlist1.rowcount + ds_main_appinfo_authlist2.rowcount + ds_main_appinfo_authlist3.rowcount;
  953. var ycnt = 0; //승인된 권한의 갯수
  954. var ncnt = 0; //거부된 권한의 갯수
  955. if(totcnt > 0)
  956. {
  957. for(var i =0; i < ds_main_appinfo_authlist1.rowcount; i++)
  958. {
  959. if(ds_main_appinfo_authlist1.getColumn(i, "aprvflagy") == "1")
  960. {
  961. ycnt++;
  962. }
  963. if(ds_main_appinfo_authlist1.getColumn(i, "aprvflagn") == "1")
  964. {
  965. ncnt++;
  966. }
  967. }
  968. for(var i = 0; i < ds_main_appinfo_authlist2.rowcount; i++)
  969. {
  970. if(ds_main_appinfo_authlist2.getColumn(i, "aprvflagy") == "1")
  971. {
  972. ycnt++;
  973. }
  974. if(ds_main_appinfo_authlist2.getColumn(i, "aprvflagn") == "1")
  975. {
  976. ncnt++;
  977. }
  978. }
  979. for(var i = 0; i < ds_main_appinfo_authlist3.rowcount; i++)
  980. {
  981. if(ds_main_appinfo_authlist3.getColumn(i, "aprvflagy") == "1")
  982. {
  983. ycnt++;
  984. }
  985. if(ds_main_appinfo_authlist3.getColumn(i, "aprvflagn") == "1")
  986. {
  987. ncnt++;
  988. }
  989. }
  990. if(totcnt == ycnt)
  991. {
  992. rdo_aprvrslt.value = 1; //승인결과(1:승인사항 모두승인, 2:승인사항 조건부승인, 3:승인불가)
  993. }
  994. else if(totcnt == ncnt)
  995. {
  996. rdo_aprvrslt.value = 3;
  997. }
  998. else if(ycnt > 0)
  999. {
  1000. rdo_aprvrslt.value = 2;
  1001. }
  1002. }
  1003. }
  1004. function switch1_case2_grd_authlist2_oncellclick(obj:Grid, e:GridClickEventInfo)
  1005. {
  1006. if(switch1.case2.grd_authlist2.currentcol == "2")
  1007. {
  1008. if(ds_main_appinfo_authlist2.getColumn(ds_main_appinfo_authlist2.rowposition, "aprvflagy") == "1")
  1009. {
  1010. ds_main_appinfo_authlist2.setColumn(ds_main_appinfo_authlist2.rowposition, "aprvflagn", "0")
  1011. }
  1012. }
  1013. else if(switch1.case2.grd_authlist2.currentcol == "3")
  1014. {
  1015. if(ds_main_appinfo_authlist2.getColumn(ds_main_appinfo_authlist2.rowposition, "aprvflagn") == "1")
  1016. {
  1017. ds_main_appinfo_authlist2.setColumn(ds_main_appinfo_authlist2.rowposition, "aprvflagy", "0")
  1018. }
  1019. }
  1020. //전체 권한의 갯수
  1021. var totcnt = ds_main_appinfo_authlist1.rowcount + ds_main_appinfo_authlist2.rowcount + ds_main_appinfo_authlist3.rowcount;
  1022. var ycnt = 0; //승인된 권한의 갯수
  1023. var ncnt = 0; //거부된 권한의 갯수
  1024. if(totcnt > 0)
  1025. {
  1026. for(var i =0; i < ds_main_appinfo_authlist1.rowcount; i++)
  1027. {
  1028. if(ds_main_appinfo_authlist1.getColumn(i, "aprvflagy") == "1")
  1029. {
  1030. ycnt++;
  1031. }
  1032. if(ds_main_appinfo_authlist1.getColumn(i, "aprvflagn") == "1")
  1033. {
  1034. ncnt++;
  1035. }
  1036. }
  1037. for(var i = 0; i < ds_main_appinfo_authlist2.rowcount; i++)
  1038. {
  1039. if(ds_main_appinfo_authlist2.getColumn(i, "aprvflagy") == "1")
  1040. {
  1041. ycnt++;
  1042. }
  1043. if(ds_main_appinfo_authlist2.getColumn(i, "aprvflagn") == "1")
  1044. {
  1045. ncnt++;
  1046. }
  1047. }
  1048. for(var i = 0; i < ds_main_appinfo_authlist3.rowcount; i++)
  1049. {
  1050. if(ds_main_appinfo_authlist3.getColumn(i, "aprvflagy") == "1")
  1051. {
  1052. ycnt++;
  1053. }
  1054. if(ds_main_appinfo_authlist3.getColumn(i, "aprvflagn") == "1")
  1055. {
  1056. ncnt++;
  1057. }
  1058. }
  1059. if(totcnt == ycnt)
  1060. {
  1061. rdo_aprvrslt.value = 1; //승인결과(1:승인사항 모두승인, 2:승인사항 조건부승인, 3:승인불가)
  1062. }
  1063. else if(totcnt == ncnt)
  1064. {
  1065. rdo_aprvrslt.value = 3;
  1066. }
  1067. else if(ycnt > 0)
  1068. {
  1069. rdo_aprvrslt.value = 2;
  1070. }
  1071. }
  1072. }
  1073. function switch1_case3_grd_authlist3_oncellclick(obj:Grid, e:GridClickEventInfo)
  1074. {
  1075. //if(grd_authlist3.col == grd_authlist3.colRef("aprvflagy"))
  1076. if(switch1.case3.grd_authlist3.currentcol == "2")
  1077. {
  1078. if(ds_main_appinfo_authlist3.getColumn(ds_main_appinfo_authlist3.rowposition, "aprvflagy") == "1")
  1079. {
  1080. ds_main_appinfo_authlist3.setColumn(ds_main_appinfo_authlist3.rowposition, "aprvflagn", "0")
  1081. }
  1082. }
  1083. else if(switch1.case3.grd_authlist3.currentcol == "3")
  1084. {
  1085. if(ds_main_appinfo_authlist3.getColumn(ds_main_appinfo_authlist3.rowposition, "aprvflagn") == "1")
  1086. {
  1087. ds_main_appinfo_authlist3.setColumn(ds_main_appinfo_authlist3.rowposition, "aprvflagy", "0")
  1088. }
  1089. }
  1090. //전체 권한의 갯수
  1091. var totcnt = ds_main_appinfo_authlist1.rowcount + ds_main_appinfo_authlist2.rowcount + ds_main_appinfo_authlist3.rowcount;
  1092. var ycnt = 0; //승인된 권한의 갯수
  1093. var ncnt = 0; //거부된 권한의 갯수
  1094. if(totcnt > 0)
  1095. {
  1096. for(var i =0; i < ds_main_appinfo_authlist1.rowcount; i++)
  1097. {
  1098. if(ds_main_appinfo_authlist1.getColumn(i, "aprvflagy") == "1")
  1099. {
  1100. ycnt++;
  1101. }
  1102. if(ds_main_appinfo_authlist1.getColumn(i, "aprvflagn") == "1")
  1103. {
  1104. ncnt++;
  1105. }
  1106. }
  1107. for(var i = 0; i < ds_main_appinfo_authlist2.rowcount; i++)
  1108. {
  1109. if(ds_main_appinfo_authlist2.getColumn(i, "aprvflagy") == "1")
  1110. {
  1111. ycnt++;
  1112. }
  1113. if(ds_main_appinfo_authlist2.getColumn(i, "aprvflagn") == "1")
  1114. {
  1115. ncnt++;
  1116. }
  1117. }
  1118. for(var i = 0; i < ds_main_appinfo_authlist3.rowcount; i++)
  1119. {
  1120. if(ds_main_appinfo_authlist3.getColumn(i, "aprvflagy") == "1")
  1121. {
  1122. ycnt++;
  1123. }
  1124. if(ds_main_appinfo_authlist3.getColumn(i, "aprvflagn") == "1")
  1125. {
  1126. ncnt++;
  1127. }
  1128. }
  1129. if(totcnt == ycnt)
  1130. {
  1131. rdo_aprvrslt.value = 1; //승인결과(1:승인사항 모두승인, 2:승인사항 조건부승인, 3:승인불가)
  1132. }
  1133. else if(totcnt == ncnt)
  1134. {
  1135. rdo_aprvrslt.value = 3;
  1136. }
  1137. else if(ycnt > 0)
  1138. {
  1139. rdo_aprvrslt.value = 2;
  1140. }
  1141. }
  1142. }
  1143. function rdo_commreqyn_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  1144. {
  1145. if(rdo_commreqyn.value == "Y") {
  1146. sysf_messageBox("위원회 심의가 필요한 특별한 진료권한이라고 판단되는 경우에만 \n\n상정에 체크하여 주시기 바랍니다. ", "I999", "");
  1147. }
  1148. }
  1149. ]]></Script>
  1150. </Form>
  1151. </FDL>