SMRPD33900_진료권한신청검토(책임교수).xfdl 52 KB

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