SMPIF60200_원외처방환수관리.xrw 63 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>원외처방환수관리(SMPIF60200)</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <send>
  10. <termflag>1</termflag>
  11. <fromdd/>
  12. <todd/>
  13. <insukind>11</insukind>
  14. <cpcd/>
  15. <assocd/>
  16. <ofidocno/>
  17. <srchcond>acptno</srchcond>
  18. <srchcond1/>
  19. <srchcond2/>
  20. <clamno/>
  21. <docuseqno/>
  22. <patunitsrch1/>
  23. <patunitsrch2/>
  24. <endyn/>
  25. </send>
  26. <main>
  27. <list01>
  28. <gridoprcprtndetl>
  29. <rtnendyn/>
  30. <chkbox/>
  31. <delflag/>
  32. <uncoym/>
  33. <acptno/>
  34. <judgdg/>
  35. <docuseqno/>
  36. <pid/>
  37. <patnm/>
  38. <clamdeptcd/>
  39. <orddrid/>
  40. <edimedcaretotamt/>
  41. <ediinsuclamamt/>
  42. <mpsno/>
  43. <prcpcorpnm/>
  44. <ofidocno/>
  45. <ofidocarvdd/>
  46. <rtnamt/>
  47. <cpcd/>
  48. <assocd/>
  49. <corpramt/>
  50. <ownbrtnamt/>
  51. <insubramt/>
  52. <adjtamt/>
  53. <ownbrtnamt903/>
  54. <insubramt903/>
  55. <ownbrtnamt803/>
  56. <insubramt803/>
  57. <oprcprsltnotidd/>
  58. <judgrid/>
  59. <patrrgstno/>
  60. <instcd/>
  61. <clamno/>
  62. <rtnseqno/>
  63. <insukind/>
  64. </gridoprcprtndetl>
  65. </list01>
  66. <list02>
  67. <gridoprcprtndetl/>
  68. </list02>
  69. <list03>
  70. <gridoprcprtndetl/>
  71. </list03>
  72. <patinfo>
  73. <patinfolist/>
  74. </patinfo>
  75. <list05>
  76. <gridoprcprtndetl/>
  77. </list05>
  78. </main>
  79. <init>
  80. <P0322list>
  81. <P0322>
  82. <cdid/>
  83. <cdnm/>
  84. </P0322>
  85. </P0322list>
  86. <U0001list>
  87. <U0001>
  88. <srchcond2/>
  89. </U0001>
  90. </U0001list>
  91. <U0002list>
  92. <U0002>
  93. <clamno/>
  94. </U0002>
  95. </U0002list>
  96. <U0004list>
  97. <U0004>
  98. <assocd/>
  99. <assonm/>
  100. </U0004>
  101. </U0004list>
  102. <U0005list>
  103. <U0005>
  104. <cdid/>
  105. <cdnm/>
  106. </U0005>
  107. </U0005list>
  108. <P0415list>
  109. <P0415>
  110. <cdid/>
  111. <cdnm/>
  112. </P0415>
  113. </P0415list>
  114. <temp>
  115. <code00list>
  116. <code00>
  117. <value/>
  118. <label/>
  119. </code00>
  120. </code00list>
  121. <code01list>
  122. <code01>
  123. <value/>
  124. <label/>
  125. </code01>
  126. </code01list>
  127. <code02list>
  128. <code02>
  129. <value/>
  130. <label/>
  131. </code02>
  132. </code02list>
  133. <code03list>
  134. <code03>
  135. <value/>
  136. <label/>
  137. </code03>
  138. </code03list>
  139. <code04list>
  140. <code04>
  141. <value/>
  142. <label/>
  143. </code04>
  144. </code04list>
  145. <code05list>
  146. <code05>
  147. <value/>
  148. <label/>
  149. </code05>
  150. </code05list>
  151. <code06list>
  152. <code06>
  153. <value/>
  154. <label/>
  155. </code06>
  156. </code06list>
  157. <code07list>
  158. <code07>
  159. <value/>
  160. <label/>
  161. </code07>
  162. </code07list>
  163. <code08list>
  164. <code08>
  165. <value/>
  166. <label/>
  167. </code08>
  168. </code08list>
  169. <code09list>
  170. <code09>
  171. <value/>
  172. <label/>
  173. </code09>
  174. </code09list>
  175. <code10list>
  176. <code10>
  177. <value/>
  178. <label/>
  179. </code10>
  180. </code10list>
  181. <code11list>
  182. <code11>
  183. <value/>
  184. <label/>
  185. </code11>
  186. </code11list>
  187. <code12list>
  188. <code12>
  189. <value/>
  190. <label/>
  191. </code12>
  192. </code12list>
  193. <code13list>
  194. <code13>
  195. <value/>
  196. <label/>
  197. </code13>
  198. </code13list>
  199. <code14list>
  200. <code14>
  201. <value/>
  202. <label/>
  203. </code14>
  204. </code14list>
  205. <code15list>
  206. <code15>
  207. <value/>
  208. <label/>
  209. </code15>
  210. </code15list>
  211. <code16list>
  212. <code16>
  213. <value/>
  214. <label/>
  215. </code16>
  216. </code16list>
  217. </temp>
  218. <cpcdlist/>
  219. </init>
  220. <data>
  221. <grid>
  222. <msg1/>
  223. <msg2/>
  224. <msg3/>
  225. <msg4/>
  226. </grid>
  227. </data>
  228. <selectValue2>1</selectValue2>
  229. <hidden>
  230. <sppmc02500>
  231. <cond>
  232. <srchcond/>
  233. <pid/>
  234. <hngnm/>
  235. <rrgstno1/>
  236. <rrgstno2/>
  237. </cond>
  238. </sppmc02500>
  239. <hidbatchgrid>
  240. <ofidocno/>
  241. <ofidocarvdd/>
  242. <amtflag/>
  243. </hidbatchgrid>
  244. <rdofilter/>
  245. <iptfilter/>
  246. </hidden>
  247. <tmpendyn/>
  248. </root>
  249. </instance>
  250. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post"/>
  251. <submission id="TXPIF60201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/list02" resultref="/root/main/result"/>
  252. <submission id="TRPIF60201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/list01"/>
  253. <submission id="TRPIF60202" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/U0001list"/>
  254. <submission id="TRPIF60203" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/U0002list"/>
  255. <submission id="TRPIF60326" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/U0004list"/>
  256. <submission id="TRPIF60204" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/assocdtemp"/>
  257. <submission id="TRPIF60327" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/temp"/>
  258. </model>
  259. <script type="javascript">
  260. <![CDATA[
  261. var selectValue2 = 1;
  262. ]]>
  263. </script>
  264. <script type="javascript" ev:event="xforms-ready">
  265. <![CDATA[
  266. //grd_excel.attribute("visibility") = "hidden";
  267. CommCode_Load();
  268. rdo_filter.select(0);
  269. rdo_amtflag.select(0);
  270. ]]>
  271. </script>
  272. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  273. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  274. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  275. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  276. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  277. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  278. <script type="javascript">
  279. <![CDATA[
  280. function Node_Init() {
  281. // NodeSet 초기화
  282. model.resetInstanceNode("/root/main/list01");
  283. model.refresh();
  284. }
  285. // 공통코드 Load작업
  286. function CommCode_Load() {
  287. // 관련 Control 초기화
  288. zbcfGetCodeList(new Array("P0322","P0415"), new Array( "/root/init/P0322list","/root/init/P0415list"));
  289. //zbcfGetCodeList(new Array("P0247"), new Array( "/root/init/P0247list"));
  290. //zbcfGetCodeList(new Array("P0261"), new Array( "/root/init/P0261list"));
  291. //zbcfGetCodeList(new Array("P0295"), new Array( "/root/init/P0295list"));
  292. //model.refresh();
  293. //ipt_srchcond1.disabled = true;
  294. cmb_srchcond2.disabled = true;
  295. cmb_clamno.disabled = true;
  296. ipt_docuseqno.disabled = true;
  297. grd_oprcprtndetl.colHidden(19) = true; // 그리드의 시도컬럼 Hidden
  298. grd_oprcprtndetl.colHidden(20) = true; // 그리드의 입금보장기관기호(시군구) 컬럼 Hidden
  299. model.makeNode("/root/send/usesrcflag");
  300. model.setValue("/root/send/usesrcflag","mng");
  301. submit("TRPIF60327");
  302. model.setFocus("ipt_srchcond1");
  303. }
  304. function fGetInAftJudgTrgtManList(){
  305. // 환자단위조회를 하는 경우
  306. var patunitsrch1 = model.getValue("/root/send/patunitsrch1").getTrim(); // (stringHelper.js) 문자열 앞뒤에 있는 공백 제거
  307. model.setValue("/root/send/patunitsrch1", patunitsrch1);
  308. if (patunitsrch1 == "") {
  309. model.setValue("/root/send/patunitsrch2", "");
  310. }
  311. else if (patunitsrch1.isNumber()) { // (numericHelper.js) 숫자가 입력된 경우 환자번호로 조회한다.
  312. /** [2007.03.23 jumi]
  313. Table Layout 상에는 pid가 VARCHAR(10) 이지만, 테스트용 data에서는 VARCHAR(8) 이므로 8자리로 구현함
  314. */
  315. // if (patunitsrch1.length < 8) {
  316. // model.setValue("/root/send/patunitsrch1", patunitsrch1.getLeftPad(8, "0")); // (stringHelper.js) 저장된 숫자 값에 원하는 길이만큼 '0'을 붙여 표현
  317. // }
  318. model.setValue("/root/send/patunitsrch2", "pidSrch");
  319. } else { // 문자가 입력된 경우 환자이름으로 조회한다.
  320. if (patunitsrch1.length > 1) {
  321. model.setValue("/root/send/patunitsrch2", "nmSrch");
  322. } else {
  323. model.setValue("/root/send/patunitsrch2", "");
  324. model.refresh();
  325. messageBox("환자단위조회시 검색할 환자이름은 2글자 이상", "C001"); ///환자단위조회시 검색할 환자이름은 2글자 이상 입력하십시오.
  326. return;
  327. }
  328. }
  329. }
  330. function search() {
  331. //model.resetInstanceNode("/root/main/list01");
  332. model.resetInstanceNode("/root/main/list02");
  333. //model.resetInstanceNode("/root/main/list03");
  334. model.removenode("/root/main/list01");
  335. // model.removenode("/root/main/list02"); // 얘를 지워버리면 어쩌잔 거냐..
  336. model.removenode("/root/main/list03");
  337. model.refresh();
  338. // if(rdo_srchcond.value == "acptno") {
  339. // if(ipt_srchcond1.value == "") {
  340. // messageBox("접수번호를","C001");
  341. // model.setFocus("ipt_srchcond1");
  342. // return false;
  343. // }
  344. // } else if(rdo_srchcond.value == "judgdg") {
  345. // if(ipt_srchcond1.value == "") {
  346. // messageBox("심사차수를","C001");
  347. // model.setFocus("ipt_srchcond1");
  348. // return false;
  349. // }
  350. // }
  351. // 진료월 시작일 및 종료일 체크
  352. // if(rdo_termflag.value == "ordym") {
  353. // if(ipt_fromdd.value == "") {
  354. // messageBox("진료월 시작일을","C001");
  355. // model.setFocus("ipt_fromdd");
  356. // return false;
  357. // }
  358. // if(ipt_todd.value == "") {
  359. // messageBox("진료월 종료일을","C001");
  360. // model.setFocus("ipt_todd");
  361. // return false;
  362. // }
  363. // }
  364. // 공문도착일자 시작일 및 종료일 체크
  365. // if(rdo_termflag.value == "acptym") {
  366. // if(ipt_fromdd.value == "") {
  367. // messageBox("접수월 시작일을","C001");
  368. // model.setFocus("ipt_fromdd");
  369. // return false;
  370. // }
  371. // if(ipt_todd.value == "") {
  372. // messageBox("접수월 종료일을","C001");
  373. // model.setFocus("ipt_todd");
  374. // return false;
  375. // }
  376. // }
  377. // 공문도착일자 시작일 및 종료일 체크
  378. // if(rdo_termflag.value == "arvym") {
  379. // if(ipt_fromdd.value == "") {
  380. // messageBox("도착월 시작일을","C001");
  381. // model.setFocus("ipt_fromdd");
  382. // return false;
  383. // }
  384. // if(ipt_todd.value == "") {
  385. // messageBox("도착월 종료일을","C001");
  386. // model.setFocus("ipt_todd");
  387. // return false;
  388. // }
  389. // }
  390. // 심사차수 체크
  391. /*if(ipt_judgdg.value == "") {
  392. messageBox("심사차수를","C001");
  393. model.setFocus("ipt_judgdg");
  394. return false;
  395. }*/
  396. if(rdo_insukind.value == "") {
  397. messageBox("보험유형을","C002");
  398. return false;
  399. }
  400. if(ipt_patunitsrch.value == "") {
  401. model.setValue("/root/send/patunitsrch2","");
  402. } else {
  403. fGetInAftJudgTrgtManList();
  404. }
  405. model.removenode("/root/main/list01/gridoprcprtndetl");
  406. submit("TRPIF60201");
  407. var rows = grd_oprcprtndetl.rows;
  408. // 동일한 데이터의 총진료비 및 청구액 한번만 표기
  409. var g1 = ""; var g1_pre = ""; // 진료월
  410. var g2 = ""; var g2_pre = ""; // 일련번호
  411. var g3 = ""; var g3_pre = ""; // 등록번호
  412. var g4 = ""; var g4_pre = ""; // 수진자명
  413. var g5 = ""; var g5_pre = ""; // 진료과
  414. var g6 = ""; var g6_pre = ""; // 접수번호
  415. var g7 = ""; var g7_pre = ""; // 심사차수
  416. var g8 = ""; var g8_pre = ""; // 총진료비
  417. var g9 = ""; var g9_pre = ""; // 청구액
  418. for(var i=1;i<rows;i++) {
  419. var orddept = grd_oprcprtndetl.valueMatrix(i,9); // 진료과코드
  420. grd_oprcprtndetl.valueMatrix(i,31) = rdo_insukind.value;
  421. if(rdo_insukind.value == "11") {
  422. grd_oprcprtndetl.colHidden(19) = true;
  423. grd_oprcprtndetl.colHidden(20) = true;
  424. } else {
  425. grd_oprcprtndetl.colHidden(19) = false;
  426. grd_oprcprtndetl.colHidden(20) = false;
  427. }
  428. if(grd_oprcprtndetl.valueMatrix(i,16) != "") { // 공문번호가 빈값이 아닐경우
  429. grd_oprcprtndetl.valueMatrix(i,2) = "Y"; // 선택 체크
  430. grd_oprcprtndetl.isReadOnly(i,2) = true; // 선택 체크박스는 비활성
  431. grd_oprcprtndetl.valueMatrix(i,3) = "N"; // 초기화 체크박스 UnCheck
  432. grd_oprcprtndetl.isReadOnly(i,3) = false; // 초기화 체크박스 활성화
  433. grd_oprcprtndetl.isReadOnly(i,18) = false; // 환수액 수정가능
  434. if(rdo_insukind.value == "21") {
  435. grd_oprcprtndetl.isReadOnly(i,19) = false; // 시도코드 수정가능
  436. grd_oprcprtndetl.isReadOnly(i,20) = false; // 시군구코드 수정가능
  437. }
  438. } else { // 공문번호가 빈값일 경우
  439. grd_oprcprtndetl.valueMatrix(i,2) = "N"; // 선택 UnCheck
  440. grd_oprcprtndetl.isReadOnly(i,2) = false; // 선택 체크박스는 활성
  441. grd_oprcprtndetl.valueMatrix(i,3) = "N"; // 초기화 체크박스 UnCheck
  442. grd_oprcprtndetl.isReadOnly(i,3) = true; // 초기화 체크박스 비활성화
  443. grd_oprcprtndetl.isReadOnly(i,18) = true; // 환수액 수정불가
  444. if(rdo_insukind.value == "21") {
  445. grd_oprcprtndetl.isReadOnly(i,19) = true; // 시도코드 수정불가
  446. grd_oprcprtndetl.isReadOnly(i,20) = true; // 시군구 수정불가
  447. }
  448. }
  449. // 환수완료된 건은 삭제할 수 없음 2009.03.03
  450. if (grd_oprcprtndetl.valueMatrix(i,1) == "Y") {
  451. grd_oprcprtndetl.isReadOnly(i,3) = true; // 선택 체크박스는 비활성
  452. } else {
  453. grd_oprcprtndetl.isReadOnly(i,3) = false; // 선택 체크박스는 활성
  454. }
  455. // 없어도 되는 부분으로 생각됨. 단, 보험유형이 41인 경우가 왜 있는지 확인요망.(일단 주석처리)
  456. /* if(rdo_insukind.value == "11") {
  457. grd_oprcprtndetl.isReadOnly(i,15) = false;
  458. grd_oprcprtndetl.isReadOnly(i,16) = false;
  459. grd_oprcprtndetl.isReadOnly(i,17) = true;
  460. grd_oprcprtndetl.isReadOnly(i,18) = true;
  461. }
  462. if(rdo_insukind.value == "21") {
  463. grd_oprcprtndetl.isReadOnly(i,15) = false;
  464. grd_oprcprtndetl.isReadOnly(i,16) = false;
  465. grd_oprcprtndetl.isReadOnly(i,17) = true;
  466. grd_oprcprtndetl.isReadOnly(i,18) = true;
  467. }
  468. if(rdo_insukind.value == "41") {
  469. grd_oprcprtndetl.isReadOnly(i,15) = true;
  470. grd_oprcprtndetl.isReadOnly(i,16) = true;
  471. grd_oprcprtndetl.isReadOnly(i,17) = false;
  472. grd_oprcprtndetl.isReadOnly(i,18) = false;
  473. }
  474. if(i<=1) {
  475. g1 = grd_oprcprtndetl.valueMatrix(i,4);
  476. g2 = grd_oprcprtndetl.valueMatrix(i,5);
  477. g3 = grd_oprcprtndetl.valueMatrix(i,6);
  478. g4 = grd_oprcprtndetl.valueMatrix(i,7);
  479. g5 = grd_oprcprtndetl.valueMatrix(i,8);
  480. g6 = grd_oprcprtndetl.valueMatrix(i,9);
  481. g7 = grd_oprcprtndetl.valueMatrix(i,10);
  482. g8 = grd_oprcprtndetl.valueMatrix(i,11);
  483. g9 = grd_oprcprtndetl.valueMatrix(i,12);
  484. }*/
  485. if(i>1) {
  486. g1_pre = g1;
  487. g2_pre = g2;
  488. g3_pre = g3;
  489. g4_pre = g4;
  490. g5_pre = g5;
  491. g6_pre = g6;
  492. g7_pre = g7;
  493. g8_pre = g8;
  494. g9_pre = g9;
  495. g1 = grd_oprcprtndetl.valueMatrix(i,4);
  496. g2 = grd_oprcprtndetl.valueMatrix(i,5);
  497. g3 = grd_oprcprtndetl.valueMatrix(i,6);
  498. g4 = grd_oprcprtndetl.valueMatrix(i,7);
  499. g5 = grd_oprcprtndetl.valueMatrix(i,8);
  500. g6 = grd_oprcprtndetl.valueMatrix(i,9);
  501. g7 = grd_oprcprtndetl.valueMatrix(i,10);
  502. g8 = grd_oprcprtndetl.valueMatrix(i,11);
  503. g9 = grd_oprcprtndetl.valueMatrix(i,12);
  504. if(g1 == g1_pre & g2 == g2_pre & g3 == g3_pre & g4 == g4_pre & g5 == g5_pre & g6 == g6_pre & g7 == g7_pre & g8 == g8_pre & g9 == g9_pre) {
  505. grd_oprcprtndetl.valueMatrix(i,12) = "";
  506. grd_oprcprtndetl.valueMatrix(i,13) = "";
  507. }
  508. }
  509. }
  510. grd_oprcprtndetl.colStyle(18,"data","background-color") = "#FFF000"; //노랑
  511. grd_oprcprtndetl.colStyle(19,"data","background-color") = "#FFF000"; //노랑
  512. grd_oprcprtndetl.colStyle(20,"data","background-color") = "#FFF000"; //노랑
  513. }
  514. model.copyNode("/root/main/list01/gridoprcprtndetl","/root/main/list05/gridoprcprtndetl");
  515. ]]>
  516. </script>
  517. </xhtml:head>
  518. <xhtml:body class="datagrid2" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  519. <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
  520. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:281px; height:14px; ">원외처방 환수관리</caption>
  521. </group>
  522. <group id="grp_biz" scroll="auto" style="left:0px; top:13px; width:1195px; height:744px; ">
  523. <group id="group2" style="left:0px; top:10px; width:1194px; height:90px; vertical-align:top; ">
  524. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1194px; height:90px; background-color:#fffbf2; border-color:#ffd799; "/>
  525. <caption id="caption2" class="search_name" style="left:420px; top:7px; width:96px; height:17px; ">보험유형 :</caption>
  526. <line id="line13" class="line_4" style="x1:1108px; y1:35px; x2:1108px; y2:57px; border-color:#ffe4bb; border-left-style:solid; "/>
  527. <button id="btn_search" class="btn1_letter2" style="left:1123px; top:35px; width:56px; height:22px; ">
  528. <caption>조회</caption>
  529. <script type="javascript" ev:event="onclick">
  530. <![CDATA[
  531. if(ipt_fromdd.value == "" & ipt_srchcond1.value == "") {
  532. messageBox("접수번호/심사차수 혹은 청구월/미수월/도착월을", "C001");
  533. return false;
  534. }
  535. search();
  536. if(rdo_insukind.value != "21") {
  537. grd_oprcprtndetl.colHidden(19) = true;
  538. grd_oprcprtndetl.colHidden(20) = true;
  539. } else {
  540. grd_oprcprtndetl.colHidden(19) = false;
  541. grd_oprcprtndetl.colHidden(20) = false;
  542. }
  543. ]]>
  544. </script>
  545. </button>
  546. <caption id="caption4" class="search_name" style="left:420px; top:35px; width:90px; height:17px; ">청구번호 :</caption>
  547. <caption id="caption7" class="search_name" style="left:670px; top:36px; width:88px; height:17px; ">명 일 련 :</caption>
  548. <caption id="caption3" style="left:296px; top:10px; width:15px; height:15px; ">~</caption>
  549. <select1 id="rdo_insukind" ref="/root/send/insukind" class="radio_search" overflow="visible" appearance="full" cols="3" style="left:510px; top:7px; width:95px; height:20px; border-style:none; ">
  550. <choices>
  551. <item>
  552. <label>보험</label>
  553. <value>11</value>
  554. </item>
  555. <item>
  556. <label>보호</label>
  557. <value>21</value>
  558. </item>
  559. </choices>
  560. <script type="javascript" ev:event="xforms-value-changed">
  561. <![CDATA[
  562. model.resetInstanceNode("/root/send/srchcond1");
  563. model.resetInstanceNode("/root/send/srchcond2");
  564. model.resetInstanceNode("/root/init/U0002list/U0002");
  565. model.resetInstanceNode("/root/init/U0004list/U0004");
  566. // 시도,시구군 원상복귀
  567. model.removeNodeset("/root/init/assocdlist");
  568. cmb_cpcd.choices.itemset.attribute("nodeset") = "/root/init/P0415list/P0415";
  569. cmb_assocd.choices.itemset.attribute("nodeset") = "/root/init/U0004list/U0004";
  570. cmb_assocd.choices.itemset.label.attribute("ref") = "assonm";
  571. cmb_assocd.choices.itemset.value.attribute("ref") = "assocd";
  572. cmb_cpcd.value = "";
  573. cmb_assocd.value = "";
  574. model.refresh();
  575. if(rdo_insukind.value == "11") {
  576. cpt_cpcd.visible = false;
  577. cpt_assocd.visible = false;
  578. cmb_cpcd.visible = false;
  579. cmb_assocd.visible = false;
  580. btn_fileupload.visible = true; // 파일Upload 버튼 보여짐
  581. }
  582. if(rdo_insukind.value == "21") {
  583. cpt_cpcd.visible = true;
  584. cpt_assocd.visible = true;
  585. cmb_cpcd.visible = true;
  586. cmb_assocd.visible = true;
  587. btn_fileupload.visible = false; // 파일Upload 버튼 감춤
  588. }
  589. ]]>
  590. </script>
  591. </select1>
  592. <input id="ipt_docuseqno" ref="/root/send/docuseqno" class="input_search" style="left:760px; top:35px; width:90px; height:19px; ">
  593. <script type="javascript" ev:event="onkeyup">
  594. <![CDATA[
  595. if(event.keyCode == "13") {
  596. setInputNodeCurText();
  597. var cnt = 0;
  598. if(grd_oprcprtndetl.rows <= 1) {
  599. return false;
  600. } else {
  601. if(grd_oprcprtndetl.row > 1) { // 명일련으로 1회이상 조회했을시 그 위치 아래로 똑같은 명일련이 있는지 조회하려 할 때
  602. for(var i=grd_oprcprtndetl.row+1;i<grd_oprcprtndetl.rows;i++) {
  603. //if(model.getValue("/root/main/list04/gridpifmiunc02["+i+"]/docuseqno") == docuseqno) {
  604. if(eval(model.getValue("/root/main/list01/gridoprcprtndetl["+i+"]/docuseqno")) == eval(ipt_docuseqno.value)) {
  605. grd_oprcprtndetl.row = i;
  606. grd_oprcprtndetl.topRow = i;
  607. cnt++;
  608. return false;
  609. }
  610. }
  611. } else { // 명일련으로 처음 조회할 경우
  612. for(var i=1;i<grd_oprcprtndetl.rows;i++) {
  613. if(eval(model.getValue("/root/main/list01/gridoprcprtndetl["+i+"]/docuseqno")) == eval(ipt_docuseqno.value)) {
  614. grd_oprcprtndetl.row = i;
  615. grd_oprcprtndetl.topRow = i;
  616. cnt++;
  617. return false;
  618. }
  619. }
  620. }
  621. if(cnt == 0) {
  622. messageBox("찾는 명일련이","I004");
  623. grd_oprcprtndetl.row = 0;
  624. model.setFocus("ipt_docuseqno");
  625. //researchgrid("docuseqno",docuseqno);
  626. }
  627. }
  628. }
  629. ]]>
  630. </script>
  631. </input>
  632. <caption id="caption5" class="search_name" style="left:420px; top:63px; width:90px; height:17px; ">완료여부 :</caption>
  633. <select1 id="cmb_cpcd" ref="/root/send/cpcd" class="combo_search" visibility="hidden" appearance="minimal" style="left:760px; top:7px; width:90px; height:19px; ">
  634. <choices>
  635. <itemset nodeset="/root/init/P0415list/P0415">
  636. <label ref="cdnm"/>
  637. <value ref="cdid"/>
  638. </itemset>
  639. </choices>
  640. <script type="javascript" ev:event="xforms-select">
  641. <![CDATA[
  642. model.removenode("/root/init/U0004list/U0004");
  643. cmb_assocd.value = "";
  644. // 접수번호,심사차수,청구번호로 조회시 해당 시구군코드 조회 2009.03.02
  645. if (ipt_srchcond1.value != "" && cmb_srchcond2.value != "" && cmb_clamno.value != "") {
  646. model.removeNodeset("/root/init/assocdlist");
  647. submit("TRPIF60204"); // 해당 접수번호,심사차수,청구번호의 시구군코드 조회
  648. cmb_assocd.choices.itemset.attribute("nodeset") = "/root/init/assocdlist/cpcdlist"
  649. cmb_assocd.choices.itemset.label.attribute("ref") = "cdnm";
  650. cmb_assocd.choices.itemset.value.attribute("ref") = "cdid";
  651. cmb_assocd.refresh();
  652. } else {
  653. submit("TRPIF60326"); // 조회조건의 시군구코드 조회
  654. }
  655. ]]>
  656. </script>
  657. </select1>
  658. <select1 id="cmb_assocd" ref="/root/send/assocd" class="combo_search" visibility="hidden" appearance="minimal" style="left:975px; top:7px; width:100px; height:19px; ">
  659. <choices>
  660. <itemset nodeset="/root/init/U0004list/U0004">
  661. <label ref="assonm"/>
  662. <value ref="assocd"/>
  663. </itemset>
  664. </choices>
  665. </select1>
  666. <caption id="cpt_cpcd" class="search_name" visibility="hidden" style="left:670px; top:8px; width:65px; height:17px; ">시 도 :</caption>
  667. <caption id="cpt_assocd" class="search_name" visibility="hidden" style="left:885px; top:8px; width:83px; height:17px; ">시 군 구 :</caption>
  668. <input id="ipt_fromdd" ref="/root/send/fromdd" class="input_search" navindex="3" inputtype="date" maxlength="6" format="yyyy-mm" style="left:205px; top:7px; width:85px; height:19px; ">
  669. <script type="javascript" ev:event="DOMFocusOut">
  670. <![CDATA[
  671. ipt_todd.value = ipt_fromdd.value;
  672. ]]>
  673. </script>
  674. </input>
  675. <input id="ipt_todd" ref="/root/send/todd" class="input_search" navindex="4" inputtype="date" maxlength="6" format="yyyy-mm" style="left:312px; top:7px; width:83px; height:19px; "/>
  676. <input id="ipt_patunitsrch" ref="/root/send/patunitsrch1" class="input_search" inputtype="button" style="left:130px; top:61px; width:90px; height:19px; ">
  677. <hint>
  678. <![CDATA[환자성명으로 검색시 2자 이상 입력하세요.]]>
  679. </hint>
  680. <script type="javascript" ev:event="onkeypress">
  681. <![CDATA[
  682. if (event.keyCode == "13") { // Enter 입력 시에
  683. if (ipt_patunitsrch.currentText.length > 1) { // 2글자 이상이면
  684. setInputNodeCurText(); // (tfHelper.js) 현재 인풋값 노드 반영
  685. fGetInAftJudgTrgtManList();
  686. }
  687. }
  688. ]]>
  689. </script>
  690. <script type="javascript" ev:event="onbuttonclick">
  691. <![CDATA[
  692. var ipt_pid = model.getValue("/root/send/patunitsrch1");
  693. if (ipt_pid) {
  694. if(ipt_pid.isNumber()) {
  695. model.setValue("/root/hidden/sppmc02500/cond/srchcond", "1"); // 검색조건 : 등록번호로 설정
  696. model.setValue("/root/hidden/sppmc02500/cond/pid", ipt_pid);
  697. } else {
  698. model.setValue("/root/hidden/sppmc02500/cond/srchcond", "2"); // 검색조건 : 환자명으로 설정
  699. model.setValue("/root/hidden/sppmc02500/cond/hngnm", ipt_pid);
  700. }
  701. } else {
  702. model.resetInstanceNode("/root/hidden/sppmc02500/cond");
  703. }
  704. modal("SPPMC02500", 1,150, 150, "SPPMC02500", "/root/hidden/sppmc02500/cond", "/root/send");
  705. // 환자단위조회 InputBox에 값을 입력후 팝업조회했을 때
  706. if (ipt_pid != "") {
  707. if(ipt_pid.isNumber()) {
  708. var srch_pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  709. model.setValue("/root/send/patunitsrch1", srch_pid);
  710. } else {
  711. var srch_pid = model.getValue("/root/main/patinfo/patinfolist/hngnm");
  712. model.setValue("/root/send/patunitsrch1", srch_pid);
  713. }
  714. } else {
  715. var srch_pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  716. model.setValue("/root/send/patunitsrch1", srch_pid);
  717. }
  718. model.refresh();
  719. fGetInAftJudgTrgtManList();
  720. ]]>
  721. </script>
  722. </input>
  723. <caption id="caption18" class="search_name" style="left:15px; top:62px; width:112px; height:17px; ">환자단위조회 :</caption>
  724. <select1 id="rdo_termflag" ref="/root/send/termflag" class="radio_search" overflow="visible" appearance="full" cols="3" rows="1" style="left:15px; top:8px; width:175px; height:16px; font-weight:bold; border-style:none; ">
  725. <choices>
  726. <item>
  727. <label>청구월</label>
  728. <value>1</value>
  729. </item>
  730. <item>
  731. <label>미수월</label>
  732. <value>2</value>
  733. </item>
  734. <item>
  735. <label>도착월</label>
  736. <value>3</value>
  737. </item>
  738. </choices>
  739. <script type="javascript" ev:event="xforms-value-changed">
  740. <![CDATA[
  741. model.setFocus("ipt_fromdd");
  742. ]]>
  743. </script>
  744. </select1>
  745. <select1 id="rdo_endyn" ref="/root/send/endyn" class="radio_search" overflow="visible" appearance="full" cols="3" style="left:510px; top:63px; width:149px; height:20px; border-style:none; ">
  746. <choices>
  747. <item>
  748. <label>전체</label>
  749. <value>A</value>
  750. </item>
  751. <item>
  752. <label>완료</label>
  753. <value>Y</value>
  754. </item>
  755. <item>
  756. <label>미완료</label>
  757. <value>N</value>
  758. </item>
  759. </choices>
  760. <script type="javascript" ev:event="xforms-select">
  761. <![CDATA[
  762. // 완료여부가 체크되어 있으면 다른 쿼리를 타기 때문에
  763. // 동일한 값을 선택했을 경우 선택 해제하는 부분이 필요하다. 2009.03.03
  764. if ( model.getValue("/root/tmpendyn") == rdo_endyn.value )
  765. {
  766. rdo_endyn.deselect();
  767. model.setValue("/root/tmpendyn","");
  768. } else {
  769. model.setValue("/root/tmpendyn",rdo_endyn.value);
  770. }
  771. ]]>
  772. </script>
  773. </select1>
  774. <caption id="caption12" class="search_name" style="left:885px; top:36px; width:101px; height:17px; ">공문번호 :</caption>
  775. <input id="input1" ref="/root/send/ofidocno" class="input_search" style="left:976px; top:35px; width:90px; height:19px; "/>
  776. <select1 id="cmb_clamno" ref="/root/send/clamno" class="combo_search" appearance="minimal" style="left:510px; top:35px; width:105px; height:19px; ">
  777. <choices>
  778. <itemset nodeset="/root/init/U0002list/U0002">
  779. <label ref="clamno"/>
  780. <value ref="clamno"/>
  781. </itemset>
  782. </choices>
  783. <script type="javascript" ev:event="xforms-select">
  784. <![CDATA[
  785. //model.setFocus("ipt_docuseqno");
  786. // 접수번호,심사차수,청구번호로 조회시 해당 시도코드 조회 2009.03.02
  787. model.removeNodeset("/root/init/assocdlist");
  788. submit("TRPIF60204"); // 해당 접수번호,심사차수,청구번호의 시도코드
  789. // 해당 시도 리스트
  790. model.copyNode("/root/init/cpcdlist","/root/init/assocdlist");
  791. cmb_cpcd.choices.itemset.attribute("nodeset") = "/root/init/cpcdlist/cpcdlist"
  792. cmb_cpcd.refresh();
  793. ]]>
  794. </script>
  795. </select1>
  796. <select1 id="cmb_srchcond2" ref="/root/send/srchcond2" class="combo_search" appearance="minimal" style="left:306px; top:35px; width:90px; height:19px; ">
  797. <choices>
  798. <itemset nodeset="/root/init/U0001list/U0001">
  799. <label ref="srchcond2"/>
  800. <value ref="srchcond2"/>
  801. </itemset>
  802. </choices>
  803. <script type="javascript" ev:event="xforms-select">
  804. <![CDATA[
  805. submit("TRPIF60203");
  806. if(cmb_clamno.length == 1) { // 조회된 청구번호가 한개일 경우
  807. cmb_clamno.value = model.getValue("/root/init/U0002list/U0002/clamno");
  808. cmb_clamno.disabled = false; // 청구번호 콤보 활성
  809. ipt_docuseqno.disabled = false; // 명일련 InputBox 활성
  810. cmb_clamno.dispatch("xforms-select");
  811. model.setFocus("ipt_docuseqno"); // 명일련 Input 박스로 포커스 이동
  812. } else if(cmb_clamno.length > 1) {
  813. ipt_docuseqno.disabled = true; // 명일련 InputBox 비활성
  814. cmb_clamno.disabled = false; // 청구번호 콤보 활성
  815. model.setFocus("cmb_clamno");
  816. } else {
  817. messageBox("조회된 청구번호가","I004");
  818. cmb_clamno.disabled = true;
  819. // 선택된게 없으면 시도,시구군 원상복귀
  820. model.removeNodeset("/root/init/assocdlist");
  821. cmb_cpcd.choices.itemset.attribute("nodeset") = "/root/init/P0415list/P0415"
  822. cmb_cpcd.refresh();
  823. cmb_assocd.choices.itemset.attribute("nodeset") = "/root/init/U0004list/U0004"
  824. cmb_assocd.choices.itemset.label.attribute("ref") = "assonm";
  825. cmb_assocd.choices.itemset.value.attribute("ref") = "assoid";
  826. cmb_cpcd.value = ""
  827. cmb_assocd.refresh();
  828. }
  829. ]]>
  830. </script>
  831. </select1>
  832. <input id="ipt_srchcond1" ref="/root/send/srchcond1" class="input_search" inputtype="button" style="left:205px; top:35px; width:100px; height:19px; ">
  833. <script type="javascript" ev:event="onkeyup">
  834. <![CDATA[
  835. inputEnterKey("button108", "DOMActivate");
  836. ]]>
  837. </script>
  838. <script type="javascript" ev:event="onbuttonclick">
  839. <![CDATA[
  840. //조회조건이 청구년월일 경우 버튼 동작 안하도록 설정
  841. if(rdo_srchcond.value == "2") {
  842. return false;
  843. }
  844. rdo_srchcond.value = '1';
  845. setParameter("SPPIF30302_RTNTYPE", "P");
  846. modal("SPPIF30302", 1, 1, 1, "SPPIF30302", "/root/send", "/root/send");
  847. model.setValue("/root/send/srchcond1", getParameter("SPPIF30302_acptno"));
  848. //model.removeNodeset("/root/send/send01");
  849. clearParameter("SPPIF30302_RTNTYPE");
  850. clearParameter("SPPIF30302_acptno");
  851. ipt_srchcond1.refresh();
  852. if( model.getValue("/root/send/srchcond1") != '' ){
  853. button108.dispatch("DOMActivate");
  854. }
  855. ]]>
  856. </script>
  857. </input>
  858. <select1 id="rdo_srchcond" ref="/root/send/srchcond" class="radio_search" overflow="visible" appearance="full" cols="3" rows="1" style="left:15px; top:36px; width:150px; height:16px; font-weight:bold; border-style:none; ">
  859. <choices>
  860. <item>
  861. <label>접수번호</label>
  862. <value>acptno</value>
  863. </item>
  864. <item>
  865. <label>심사차수</label>
  866. <value>judgdg</value>
  867. </item>
  868. </choices>
  869. <script type="javascript" ev:event="xforms-select">
  870. <![CDATA[
  871. model.setValue("/root/send/srchcond1", "");
  872. model.setValue("/root/send/srchcond2", "");
  873. model.setValue("/root/send/clamno", "");
  874. model.setValue("/root/send/docuseqno", "");
  875. model.refresh();
  876. ipt_srchcond1.disabled = false; // srchcond1 Input 박스 활성
  877. cmb_srchcond2.disabled = true; // srchcond2 콤보박스 비활성
  878. cmb_clamno.disabled = true; // 청구번호 콤보박스 비활성
  879. ipt_docuseqno.disabled = true; // 명일련 Input 박스 비활성
  880. model.setFocus("ipt_srchcond1");
  881. ]]>
  882. </script>
  883. </select1>
  884. </group>
  885. <caption id="caption1" class="tit_2" style="left:5px; top:114px; width:131px; height:14px; ">원외처방 환수내역</caption>
  886. <line id="line1" class="line_1" style="x1:0px; y1:131px; x2:1194px; y2:131px; "/>
  887. <button id="button10" class="btn4_letter2" style="left:1138px; top:107px; width:56px; height:22px; ">
  888. <caption>저장</caption>
  889. <script type="javascript" ev:event="onclick">
  890. <![CDATA[
  891. var rows = grd_oprcprtndetl.rows;
  892. var cnt = 0;
  893. for(var i=1;i<rows;i++) {
  894. if(grd_oprcprtndetl.rowStatus(i) == "3") {
  895. if(grd_oprcprtndetl.valueMatrix(i,16) == "") {
  896. messageBox("일괄처리버튼을 이용해서 공문번호를 필히","C001");
  897. return false;
  898. }
  899. if(grd_oprcprtndetl.valueMatrix(i,17) == "") {
  900. messageBox("일괄처리버튼을 이용해서 공문도착일자를 필히","C001");
  901. return false;
  902. }
  903. }
  904. // Insert 또는 Update 상태인 행의 갯수
  905. if(grd_oprcprtndetl.rowStatus(i) == "1" || grd_oprcprtndetl.rowStatus(i) == "2" || grd_oprcprtndetl.rowStatus(i) == "3") {
  906. cnt++;
  907. }
  908. // Update 해야되는 행의 환수액이 변경되었을 시 이미 환수완료된 데이터일 경우
  909. if( grd_oprcprtndetl.rowStatus(i) == "2" ) {
  910. if(grd_oprcprtndetl.valueMatrix(i,1) == "Y") { // 환수완료여부가 'Y' 일 경우
  911. if(model.getValue("/root/main/list01/gridoprcprtndetl["+i+"]/rtnamt") != model.getValue("/root/main/list05/gridoprcprtndetl["+i+"]/rtnamt")) {
  912. if(messageBox(i+"번째 데이터는 이미 환수완료된 데이터입니다. \n\n저장시 미완료 상태로 변경됩니다. \n\n데이터를 ", "Q002")=="6") {
  913. } else {
  914. return false;
  915. }
  916. }
  917. }
  918. }
  919. }
  920. if(cnt == 0) {
  921. return false;
  922. }
  923. model.setValue("/root/main/list02/gridoprcprtndetl", grd_oprcprtndetl.getUpdateData());
  924. submit("TXPIF60201");
  925. model.removenode("/root/main/list01/gridoprcprtndetl"); // 그리드를 초기화한다.
  926. model.resetInstanceNode("/root/main/list01/gridoprcprtndetl");
  927. search();
  928. ]]>
  929. </script>
  930. </button>
  931. <datagrid id="grd_oprcprtndetl" nodeset="/root/main/list01/gridoprcprtndetl" class="datagrid2" caption="완료^선택^초기화^미수월^접수번호^심사차수^명일련^등록번호^수진자^청구과^진료의^총진료비^청구액^처방전교부번호^약국명^공문번호^공문도착일^환수액^시도코드^입금보장기관기호^부적정부담금^부적정 본인부담 &#xA;환급금^부적정 공단부담&#xA;환수액^조정액^본인부담&#xA;환급금 F903^공단부담&#xA;환수액 F903^본인부담&#xA;환급금 F803^공단부담&#xA;환수액 F803^통보번호^심사자^주민번호" colsep="^" colwidth="20, 30, 42, 50, 59, 60, 50, 71, 50, 46, 52, 80, 80, 90, 106, 80, 78, 90, 90, 105, 80, 100, 100, 80, 83, 83, 83, 83, 100, 60, 100, 100, 100, 100, 100" dataheight="23" defaultrows="2" explorerbar="sortshowmove" focuscolor="#b9e5fb" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" style="left:0px; top:135px; width:1194px; height:609px; ">
  932. <col ref="rtnendyn" style="text-align:center; "/>
  933. <col checkvalue="Y,N" ref="chkbox" type="checkbox">
  934. <script type="javascript" ev:event="xforms-value-changed">
  935. <![CDATA[
  936. var row = grd_oprcprtndetl.row;
  937. if(grd_oprcprtndetl.col == 2) {
  938. if(grd_oprcprtndetl.valueMatrix(row,2) == "Y") {
  939. grd_oprcprtndetl.rowStatus(row) = "3";
  940. grd_oprcprtndetl.isReadOnly(row,18) = false;
  941. if(rdo_insukind.value == "21") {
  942. grd_oprcprtndetl.isReadOnly(row,19) = false; // 시도 컬럼 enable
  943. grd_oprcprtndetl.isReadOnly(row,20) = false; // 시군구(입금보장기관기호) 컬럼 enable
  944. }
  945. } else {
  946. grd_oprcprtndetl.rowStatus(row) = "0"; // rowStatus 초기화
  947. grd_oprcprtndetl.valueMatrix(row, 16) = ""; // 공문번호 초기화
  948. grd_oprcprtndetl.valueMatrix(row, 17) = ""; // 공문도착일 초기화
  949. grd_oprcprtndetl.valueMatrix(row, 18) = ""; // 환수액 초기화
  950. grd_oprcprtndetl.isReadOnly(row,18) = true; // 환수액 컬럼 disable
  951. if(rdo_insukind.value == "21") {
  952. grd_oprcprtndetl.valueMatrix(row, 19) = ""; // 부적정부담금 초기화
  953. grd_oprcprtndetl.valueMatrix(row, 20) = ""; // 부적정본인부담환급금 초기화
  954. grd_oprcprtndetl.isReadOnly(row,19) = true; // 시도 컬럼 disable
  955. grd_oprcprtndetl.isReadOnly(row,20) = true; // 시군구(입금보장기관기호) 컬럼 disable
  956. }
  957. }
  958. }
  959. ]]>
  960. </script>
  961. </col>
  962. <col checkvalue="Y,N" ref="delflag" type="checkbox">
  963. <script type="javascript" ev:event="xforms-value-changed">
  964. <![CDATA[
  965. var row = grd_oprcprtndetl.row;
  966. // if(grd_oprcprtndetl.col == 1) {
  967. if(grd_oprcprtndetl.valueMatrix(row,3) == "Y") {
  968. grd_oprcprtndetl.rowStatus(row) = "4";
  969. grd_oprcprtndetl.isReadOnly(row,18) = true; // 환수액 비활성
  970. } else {
  971. grd_oprcprtndetl.rowStatus(row) = "0"; // rowStatus 초기화
  972. grd_oprcprtndetl.isReadOnly(row,18) = false; // 환수액 컬럼 활성
  973. }
  974. // }
  975. ]]>
  976. </script>
  977. </col>
  978. <col ref="uncoym" format="yyyy-mm" style="left:20px; top:32px; width:60px; height:23px; text-align:center; "/>
  979. <col ref="acptno" style="text-align:center; "/>
  980. <col ref="judgdg" style="text-align:center; "/>
  981. <col ref="docuseqno" style="text-align:center; "/>
  982. <col ref="pid" style="text-align:center; "/>
  983. <col ref="patnm" style="text-align:center; "/>
  984. <col disabled="true" ref="clamdeptcd" style="text-align:center; "/>
  985. <col ref="orddrid" style="text-align:center; "/>
  986. <col ref="edimedcaretotamt" format="#,###" style="text-align:right; "/>
  987. <col ref="ediinsuclamamt" format="#,###" style="text-align:right; "/>
  988. <col ref="mpsno" style="text-align:center; "/>
  989. <col ref="prcpcorpnm" style="text-align:center; "/>
  990. <col disabled="true" ref="ofidocno" style="text-align:center; "/>
  991. <col disabled="true" ref="ofidocarvdd" format="yyyy-mm-dd" style="text-align:center; "/>
  992. <col ref="rtnamt" type="input" format="#,###" style="text-align:right; "/>
  993. <col ref="cpcd" type="combo">
  994. <choices>
  995. <item>
  996. <label/>
  997. <value/>
  998. </item>
  999. <item>
  1000. <label>강원</label>
  1001. <value>01</value>
  1002. </item>
  1003. <item>
  1004. <label>경기</label>
  1005. <value>02</value>
  1006. </item>
  1007. <item>
  1008. <label>경남</label>
  1009. <value>03</value>
  1010. </item>
  1011. <item>
  1012. <label>경북</label>
  1013. <value>04</value>
  1014. </item>
  1015. <item>
  1016. <label>광주광역시</label>
  1017. <value>05</value>
  1018. </item>
  1019. <item>
  1020. <label>대구광역시</label>
  1021. <value>06</value>
  1022. </item>
  1023. <item>
  1024. <label>대전광역시</label>
  1025. <value>07</value>
  1026. </item>
  1027. <item>
  1028. <label>부산광역시</label>
  1029. <value>08</value>
  1030. </item>
  1031. <item>
  1032. <label>서울특별시</label>
  1033. <value>09</value>
  1034. </item>
  1035. <item>
  1036. <label>울산광역시</label>
  1037. <value>10</value>
  1038. </item>
  1039. <item>
  1040. <label>인천광역시</label>
  1041. <value>11</value>
  1042. </item>
  1043. <item>
  1044. <label>전남</label>
  1045. <value>12</value>
  1046. </item>
  1047. <item>
  1048. <label>전북</label>
  1049. <value>13</value>
  1050. </item>
  1051. <item>
  1052. <label>제주</label>
  1053. <value>14</value>
  1054. </item>
  1055. <item>
  1056. <label>충남</label>
  1057. <value>15</value>
  1058. </item>
  1059. <item>
  1060. <label>충북</label>
  1061. <value>16</value>
  1062. </item>
  1063. </choices>
  1064. <script type="javascript" ev:event="xforms-select">
  1065. <![CDATA[
  1066. var row = grd_oprcprtndetl.row;
  1067. var val = grd_oprcprtndetl.valueMatrix(row,19);
  1068. model.copyNode("", "");
  1069. ]]>
  1070. </script>
  1071. </col>
  1072. <col ref="assocd" type="combo">
  1073. <choices>
  1074. <itemset nodeset="/root/init/temp/code00list/code00">
  1075. <label ref="label"/>
  1076. <value ref="value"/>
  1077. </itemset>
  1078. </choices>
  1079. </col>
  1080. <col ref="corpramt" format="#,###" style="text-align:right; "/>
  1081. <col ref="ownbrtnamt" format="#,###" style="text-align:right; "/>
  1082. <col ref="insubramt" format="#,###" style="text-align:right; "/>
  1083. <col ref="adjtamt" format="#,###" style="text-align:right; "/>
  1084. <col ref="ownbrtnamt903" visibility="hidden" format="#,###" style="text-align:right; "/>
  1085. <col ref="insubramt903" visibility="hidden" format="#,###" style="text-align:right; "/>
  1086. <col ref="ownbrtnamt803" visibility="hidden" format="#,###" style="text-align:right; "/>
  1087. <col ref="insubramt803" visibility="hidden" format="#,###" style="text-align:right; "/>
  1088. <col ref="oprcprsltnotidd" style="text-align:center; "/>
  1089. <col ref="judgrid" style="text-align:center; "/>
  1090. <col ref="patrrgstno" format="999999-9999999" style="text-align:center; "/>
  1091. <col ref="instcd" visibility="hidden"/>
  1092. <col ref="clamno" visibility="hidden"/>
  1093. <col ref="rtnseqno" visibility="hidden"/>
  1094. <col ref="insukind" visibility="hidden"/>
  1095. <script type="javascript" ev:event="xforms-select">
  1096. <![CDATA[
  1097. var row = grd_oprcprtndetl.row;
  1098. if(rdo_insukind.value == "21") {
  1099. if(grd_oprcprtndetl.rowStatus(row) == "1" || grd_oprcprtndetl.rowStatus(row) == "3") {
  1100. if(grd_oprcprtndetl.valueMatrix(row,19) == "") { // 시도 코드값이 빈값이면 시군구(입금보장기관기호) 콤보박스 선택불가
  1101. grd_oprcprtndetl.isReadOnly(i,20) = true;
  1102. } else { // 시도 코드값이 빈값이 아니면 시군구(입금보장기관기호) 콤보박스 선택가능
  1103. grd_oprcprtndetl.isReadOnly(i,20) = false;
  1104. }
  1105. // 시도 선택시 해당 시구군으로 필터링
  1106. if(grd_oprcprtndetl.valueMatrix(row,19) == "01") {
  1107. grd_oprcprtndetl.cellComboNodeset(row,20) = "/root/init/temp/code01list/code01";
  1108. grd_oprcprtndetl.refresh();
  1109. }
  1110. if(grd_oprcprtndetl.valueMatrix(row,19) == "02") {
  1111. grd_oprcprtndetl.cellComboNodeset(row,20) = "/root/init/temp/code02list/code02";
  1112. grd_oprcprtndetl.refresh();
  1113. }
  1114. if(grd_oprcprtndetl.valueMatrix(row,19) == "03") {
  1115. grd_oprcprtndetl.cellComboNodeset(row,20) = "/root/init/temp/code03list/code03";
  1116. grd_oprcprtndetl.refresh();
  1117. }
  1118. if(grd_oprcprtndetl.valueMatrix(row,19) == "04") {
  1119. grd_oprcprtndetl.cellComboNodeset(row,20) = "/root/init/temp/code04list/code04";
  1120. grd_oprcprtndetl.refresh();
  1121. }
  1122. if(grd_oprcprtndetl.valueMatrix(row,19) == "05") {
  1123. grd_oprcprtndetl.cellComboNodeset(row,20) = "/root/init/temp/code05list/code05";
  1124. grd_oprcprtndetl.refresh();
  1125. }
  1126. if(grd_oprcprtndetl.valueMatrix(row,19) == "06") {
  1127. grd_oprcprtndetl.cellComboNodeset(row,20) = "/root/init/temp/code06list/code06";
  1128. grd_oprcprtndetl.refresh();
  1129. }
  1130. if(grd_oprcprtndetl.valueMatrix(row,19) == "07") {
  1131. grd_oprcprtndetl.cellComboNodeset(row,20) = "/root/init/temp/code07list/code07";
  1132. grd_oprcprtndetl.refresh();
  1133. }
  1134. if(grd_oprcprtndetl.valueMatrix(row,19) == "08") {
  1135. grd_oprcprtndetl.cellComboNodeset(row,20) = "/root/init/temp/code08list/code08";
  1136. grd_oprcprtndetl.refresh();
  1137. }
  1138. if(grd_oprcprtndetl.valueMatrix(row,19) == "09") {
  1139. grd_oprcprtndetl.cellComboNodeset(row,20) = "/root/init/temp/code09list/code09";
  1140. grd_oprcprtndetl.refresh();
  1141. }
  1142. if(grd_oprcprtndetl.valueMatrix(row,19) == "10") {
  1143. grd_oprcprtndetl.cellComboNodeset(row,20) = "/root/init/temp/code10list/code10";
  1144. grd_oprcprtndetl.refresh();
  1145. }
  1146. if(grd_oprcprtndetl.valueMatrix(row,19) == "11") {
  1147. grd_oprcprtndetl.cellComboNodeset(row,20) = "/root/init/temp/code11list/code11";
  1148. grd_oprcprtndetl.refresh();
  1149. }
  1150. if(grd_oprcprtndetl.valueMatrix(row,19) == "12") {
  1151. grd_oprcprtndetl.cellComboNodeset(row,20) = "/root/init/temp/code12list/code12";
  1152. grd_oprcprtndetl.refresh();
  1153. }
  1154. if(grd_oprcprtndetl.valueMatrix(row,19) == "13") {
  1155. grd_oprcprtndetl.cellComboNodeset(row,20) = "/root/init/temp/code13list/code13";
  1156. grd_oprcprtndetl.refresh();
  1157. }
  1158. if(grd_oprcprtndetl.valueMatrix(row,19) == "14") {
  1159. grd_oprcprtndetl.cellComboNodeset(row,20) = "/root/init/temp/code14list/code14";
  1160. grd_oprcprtndetl.refresh();
  1161. }
  1162. if(grd_oprcprtndetl.valueMatrix(row,19) == "15") {
  1163. grd_oprcprtndetl.cellComboNodeset(row,20) = "/root/init/temp/code15list/code15";
  1164. grd_oprcprtndetl.refresh();
  1165. }
  1166. if(grd_oprcprtndetl.valueMatrix(row,19) == "16") {
  1167. grd_oprcprtndetl.cellComboNodeset(row,20) = "/root/init/temp/code16list/code16";
  1168. grd_oprcprtndetl.refresh();
  1169. }
  1170. }
  1171. }
  1172. ]]>
  1173. </script>
  1174. </datagrid>
  1175. <button id="button108" class="btn2_letter13" visibility="hidden" style="left:45px; top:405px; width:290px; height:19px; ">
  1176. <caption>[콤보박스]엔터키 눌렀을 시 자동조회하기</caption>
  1177. <!-- 접수번호를 획득하기위한 [Enter] 이벤트 핸들러 -->
  1178. <script type="javascript" ev:event="DOMActivate">
  1179. <![CDATA[
  1180. cmb_srchcond2.value = "";
  1181. model.setValue("/root/send/srchcond2","");
  1182. model.setValue("/root/send/clamno","");
  1183. model.resetInstanceNode("/root/init/U0001list");
  1184. model.resetInstanceNode("/root/init/U0002list");
  1185. model.resetInstanceNode("/root/init/U0004list");
  1186. // 시도,시구군 원상복귀
  1187. model.removeNodeset("/root/init/assocdlist");
  1188. cmb_cpcd.choices.itemset.attribute("nodeset") = "/root/init/P0415list/P0415";
  1189. cmb_assocd.choices.itemset.attribute("nodeset") = "/root/init/U0004list/U0004";
  1190. cmb_assocd.choices.itemset.label.attribute("ref") = "assonm";
  1191. cmb_assocd.choices.itemset.value.attribute("ref") = "assocd";
  1192. cmb_cpcd.value = "";
  1193. cmb_assocd.value = "";
  1194. model.refresh();
  1195. // if(ipt_srchcond1.value.length > 0) {
  1196. if(submit("TRPIF60202")) {
  1197. if(cmb_srchcond2.length > 0) {
  1198. cmb_srchcond2.disabled= false;
  1199. if(cmb_srchcond2.length == 1) { // 조회된 접수번호가 한개일 경우
  1200. cmb_srchcond2.value = model.getValue("/root/init/U0001list/U0001/srchcond2");
  1201. cmb_clamno.disabled = false; // 청구번호 ComboBox 활성
  1202. submit("TRPIF60203");
  1203. if(cmb_clamno.length == 1) { // 조회된 청구번호가 한개일 경우
  1204. cmb_clamno.value = model.getValue("/root/init/U0002list/U0002/clamno");
  1205. ipt_docuseqno.disabled = false; // 명일련 InputBox 활성
  1206. cmb_clamno.dispatch("xforms-select"); // 시도코드 조회
  1207. model.setFocus("ipt_docuseqno"); // 명일련 Input 박스로 포커스 이동
  1208. } else {
  1209. ipt_docuseqno.disabled = true; // 명일련 InputBox 비활성
  1210. model.setFocus("cmb_clamno");
  1211. }
  1212. } else { // 조회된 접수번호가 여러개일 경우
  1213. model.setFocus("cmb_srchcond2");
  1214. cmb_clamno.disabled = true; // 청구번호 ComboBox 비활성
  1215. }
  1216. } else {
  1217. if(rdo_srchcond.value == "acptno") {
  1218. messageBox("조회된 심사차수가","I004");
  1219. }
  1220. if(rdo_srchcond.value == "judgdg") {
  1221. messageBox("조회된 접수번호가","I004");
  1222. }
  1223. model.setValue("/root/send/srchcond2","");
  1224. model.setValue("/root/send/clamno","");
  1225. model.setValue("/root/send/docuseqno","");
  1226. cmb_srchcond2.disabled = true; // 접수번호 콤보박스 비활성
  1227. cmb_clamno.disabled = true; // 접수번호 콤보박스 비활성
  1228. ipt_docuseqno.disabled = true; // 명일련 InputBox 비활성
  1229. model.setFocus("ipt_srchcond1");
  1230. model.refresh();
  1231. return false;
  1232. }
  1233. }
  1234. // } else {
  1235. // return false;
  1236. // }
  1237. ]]>
  1238. </script>
  1239. </button>
  1240. <datagrid id="grd_excel" nodeset="/root/data/grid" visibility="hidden" caption="접수번호^명일련^처방전교부번호^환수액" colsep="^" colwidth="100, 100, 100, 100" mergecellsfixedrows="bycolrec" rowsep="|" style="left:485px; top:465px; width:435px; height:175px; ">
  1241. <col ref="msg1"/>
  1242. <col ref="msg2"/>
  1243. <col ref="msg3"/>
  1244. <col ref="msg4"/>
  1245. </datagrid>
  1246. <select1 id="combo2" ref="/root/selectValue2" visibility="hidden" appearance="minimal" style="left:45px; top:465px; width:130px; height:19px; ">
  1247. <choices>
  1248. <item>
  1249. <label>First Sheet</label>
  1250. <value>1</value>
  1251. </item>
  1252. <item>
  1253. <label>Second Sheet</label>
  1254. <value>2</value>
  1255. </item>
  1256. <item>
  1257. <label>Third Sheet</label>
  1258. <value>3</value>
  1259. </item>
  1260. </choices>
  1261. <script type="javascript" ev:event="xforms-select">
  1262. <![CDATA[
  1263. selectValue2 = model.getValue("/root/selectValue2");
  1264. ]]>
  1265. </script>
  1266. </select1>
  1267. <button id="button1" class="btn2_letter4" style="left:949px; top:108px; width:64px; height:19px; ">
  1268. <caption>일괄처리</caption>
  1269. <script type="javascript" ev:event="onclick">
  1270. <![CDATA[
  1271. /*model.setValue("/root/hidden/hidbatchgrid/ofidocno", "");
  1272. model.setValue("/root/hidden/hidbatchgrid/ofidocarvdd", "");
  1273. model.setValue("/root/hidden/hidbatchgrid/rtndd", "");
  1274. group1.ipt_ofidocno.value = "";
  1275. group1.ipt_ofidocarvdd.value = "";
  1276. group1.ipt_rtndd.value = "";*/
  1277. group1.visible = true;
  1278. ]]>
  1279. </script>
  1280. </button>
  1281. <group id="group1" visibility="hidden" style="left:490px; top:235px; width:215px; height:195px; ">
  1282. <!--shape id="roundrect2" class="roundrect_search" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:215px; height:215px; background-color:#d2d2d2; border-color:#ffd799; "/-->
  1283. <caption id="caption8" style="left:15px; top:30px; width:60px; height:30px; ">공문번호 :</caption>
  1284. <caption id="caption11" style="left:15px; top:60px; width:60px; height:30px; ">도착일자 :</caption>
  1285. <button id="button2" class="btn4_letter2" style="left:102px; top:168px; width:56px; height:22px; ">
  1286. <caption>확인</caption>
  1287. <script type="javascript" ev:event="onclick">
  1288. <![CDATA[
  1289. if(ipt_batchofidocno.value == "") {
  1290. messageBox("공문번호를","C001");
  1291. model.setFocus("ipt_batchofidocno");
  1292. return false;
  1293. }
  1294. if(ipt_batchofidocarvdd.value == "") {
  1295. messageBox("공문도착일자를","C001");
  1296. model.setFocus("ipt_batchofidocarvdd");
  1297. return false;
  1298. }
  1299. var rows = grd_oprcprtndetl.rows;
  1300. for(var i=1;i<rows;i++) {
  1301. if(grd_oprcprtndetl.rowStatus(i) == "3" & grd_oprcprtndetl.valueMatrix(i,2) == "Y") { // 행의 Status가 Insert 상태이면서 환수여부가 체크된 행만 일괄처리
  1302. grd_oprcprtndetl.valueMatrix(i, grd_oprcprtndetl.colRef("ofidocno")) = ipt_batchofidocno.value; // 공문번호
  1303. grd_oprcprtndetl.valueMatrix(i, grd_oprcprtndetl.colRef("ofidocarvdd")) = ipt_batchofidocarvdd.value; // 공문도착일자
  1304. grd_oprcprtndetl.valueMatrix(i,grd_oprcprtndetl.colRef("rtnamt")) = grd_oprcprtndetl.valueMatrix(i, grd_oprcprtndetl.colRef(rdo_amtflag.value)); // 환수액
  1305. }
  1306. }
  1307. group1.visible = false;
  1308. ]]>
  1309. </script>
  1310. </button>
  1311. <button id="button3" class="btn4_letter2" style="left:159px; top:168px; width:56px; height:22px; ">
  1312. <caption>닫기</caption>
  1313. <script type="javascript" ev:event="onclick">
  1314. <![CDATA[
  1315. group1.visible = false;
  1316. ]]>
  1317. </script>
  1318. </button>
  1319. <caption id="caption13" class="tit_1" style="left:0px; top:0px; width:151px; height:14px; ">일괄처리</caption>
  1320. <shape id="roundrect3" class="roundrect_btnset" appearance="roundrect" style="left:5px; top:20px; width:205px; height:145px; "/>
  1321. <input id="ipt_batchofidocno" ref="/root/hidden/hidbatchgrid/ofidocno" maxlength="14" style="left:85px; top:35px; width:110px; height:19px; text-align:center; "/>
  1322. <input id="ipt_batchofidocarvdd" ref="/root/hidden/hidbatchgrid/ofidocarvdd" inputtype="date" format="yyyy-mm-dd" style="left:85px; top:65px; width:110px; height:19px; text-align:center; "/>
  1323. <select1 id="rdo_amtflag" ref="/root/hidden/hidbatchgrid/amtflag" overflow="visible" appearance="full" rows="3" style="left:25px; top:108px; width:160px; height:55px; border-style:none; ">
  1324. <choices>
  1325. <item>
  1326. <label>부적정 부담금</label>
  1327. <value>corpramt</value>
  1328. </item>
  1329. <item>
  1330. <label>부적정 본인부담 환급금</label>
  1331. <value>ownbrtnamt</value>
  1332. </item>
  1333. <item>
  1334. <label>부적정 공단부담 환수액</label>
  1335. <value>insubramt</value>
  1336. </item>
  1337. </choices>
  1338. </select1>
  1339. <caption id="caption10" style="left:15px; top:85px; width:60px; height:30px; ">환수액 :</caption>
  1340. </group>
  1341. <button id="button5" class="btn4_letter2" style="left:1081px; top:107px; width:56px; height:22px; ">
  1342. <caption>삭제</caption>
  1343. <script type="javascript" ev:event="onclick">
  1344. <![CDATA[
  1345. var rows = grd_oprcprtndetl.rows;
  1346. var cnt = 0;
  1347. for(var i=1;i<rows;i++) {
  1348. if(grd_oprcprtndetl.rowStatus(i) == "4") {
  1349. cnt++;
  1350. }
  1351. }
  1352. if(cnt == 0) {
  1353. return false;
  1354. }
  1355. model.setValue("/root/main/list02/gridoprcprtndetl", grd_oprcprtndetl.getUpdateData());
  1356. submit("TXPIF60201");
  1357. model.removenode("/root/main/list01/gridoprcprtndetl"); // 그리드를 초기화한다.
  1358. model.resetInstanceNode("/root/main/list01/gridoprcprtndetl");
  1359. search();
  1360. ]]>
  1361. </script>
  1362. </button>
  1363. <button id="btn_fileupload" class="btn2_letter6" style="left:861px; top:108px; width:86px; height:19px; ">
  1364. <caption>파일Upload</caption>
  1365. <script type="javascript" ev:event="DOMActivate">
  1366. <![CDATA[
  1367. model.resetInstanceNode("/root/data/grd");
  1368. model.resetInstanceNode("/root/main/list03");
  1369. var fileName = window.fileDialog("open", ",", false, "", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  1370. //grd_excel.loadExcel(fileName, selectValue2, true);
  1371. grd_excel.loadExcel(fileName);
  1372. grd_excel.refresh();
  1373. var rows1 = grd_excel.rows;
  1374. var rows2 = grd_oprcprtndetl.rows;
  1375. var cnt = 1;
  1376. if(rows1 > 0) {
  1377. for(var i=1;i<rows1;i++) {
  1378. var acptno = grd_excel.valueMatrix(i,0); // 엑셀파일에서 받아온 접수번호
  1379. var docuseqno = grd_excel.valueMatrix(i,1); // 엑셀파일에서 받아온 명일련
  1380. var mpsno = grd_excel.valueMatrix(i,2); // 엑셀파일에서 받아온 처방전교부번호
  1381. var rtnamt = grd_excel.valueMatrix(i,3); // 엑셀파일에서 받아온 환수액
  1382. if(docuseqno.length == 1) {
  1383. docuseqno = "0000"+docuseqno;
  1384. }
  1385. if(docuseqno.length == 2) {
  1386. docuseqno = "000"+docuseqno;
  1387. }
  1388. if(docuseqno.length == 3) {
  1389. docuseqno = "00"+docuseqno;
  1390. }
  1391. if(docuseqno.length == 4) {
  1392. docuseqno = "0"+docuseqno;
  1393. }
  1394. for(var j=1;j<rows2;j++) {
  1395. var acptno2 = grd_oprcprtndetl.valueMatrix(j,5); // 원외처방환수내역 그리드의 접수번호
  1396. var docuseqno2 = grd_oprcprtndetl.valueMatrix(j,7); // 원외처방환수내역 그리드의 명일련
  1397. var mpsno2 = grd_oprcprtndetl.valueMatrix(j,14); // 원외처방환수내역 그리드의 처방전교부번호
  1398. if(acptno == acptno2 & docuseqno == docuseqno2 & mpsno == mpsno2) {
  1399. model.makeNode("/root/main/list03/gridoprcprtndetl["+cnt+"]");
  1400. // 엑셀의 환수액이 0 이나 빈값일 경우 그리드의 값을 그대로 쓴다
  1401. // 값 비교시 != 을 쓰면 비교가 안되서 == 으로 비교하고 else 에서 처리
  1402. if ( rtnamt == "" || rtnamt == "0" ) {
  1403. } else {
  1404. model.setValue("/root/main/list01/gridoprcprtndetl["+j+"]/rtnamt",rtnamt);
  1405. }
  1406. model.copyNode( "/root/main/list03/gridoprcprtndetl["+(cnt++)+"]","/root/main/list01/gridoprcprtndetl["+j+"]");
  1407. //grd_oprcprtndetl.deleteRow(j);
  1408. }
  1409. }
  1410. }
  1411. }
  1412. // model.resetInstanceNode("/root/main/list01/gridoprcprtndetl");
  1413. model.copyNode("/root/main/list01","/root/main/list03");
  1414. model.refresh();
  1415. var rows_new = grd_oprcprtndetl.rows;
  1416. for(var i=1;i<rows_new;i++) {
  1417. if(grd_oprcprtndetl.valueMatrix(i,2) == "N") { // 환수여부가 체크가 안되어 있을시.
  1418. grd_oprcprtndetl.rowStatus(i) = "3";
  1419. grd_oprcprtndetl.isReadOnly(i,2) = false;
  1420. grd_oprcprtndetl.isReadOnly(i,3) = true;
  1421. grd_oprcprtndetl.valueMatrix(i,2) = "Y";
  1422. grd_oprcprtndetl.valueMatrix(i,3) = "N";
  1423. grd_oprcprtndetl.isReadOnly(i,18) = false;
  1424. } else {
  1425. grd_oprcprtndetl.isReadOnly(i,18) = false;
  1426. }
  1427. }
  1428. ]]>
  1429. </script>
  1430. </button>
  1431. <button id="button12" class="btn2_letter4" style="left:1015px; top:108px; width:64px; height:19px; ">
  1432. <caption>엑셀저장</caption>
  1433. <script type="javascript" ev:event="onclick">
  1434. <![CDATA[
  1435. var today = new Date();
  1436. var yy = today.getYear()+"";
  1437. var mm = today.getMonth()+1;
  1438. var dd = today.getDate();
  1439. if(mm < 10) { mm = "0"+mm; } else { mm = mm+""; }
  1440. if(dd < 10) { dd = "0" + dd; } else { dd = dd + ""; }
  1441. var tmp = yy+mm+dd;
  1442. var fileName = window.fileDialog("save", ",", false, "원외처방환수관리_"+tmp, "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  1443. if (fileName != "") { grd_oprcprtndetl.saveExcel(fileName, "SheetName", true, true, "", "", ""); }
  1444. ]]>
  1445. </script>
  1446. </button>
  1447. <button id="btn_init_batch_select" class="btn2_letter8" style="left:750px; top:108px; width:108px; height:19px; ">
  1448. <caption>초기화 전체선택</caption>
  1449. <script type="javascript" ev:event="onclick">
  1450. <![CDATA[
  1451. var chkFlag;
  1452. // 토글 버튼 캡션
  1453. if ( btn_init_batch_select.attribute("text") == "초기화 전체선택" ) {
  1454. btn_init_batch_select.attribute("text") = "초기화 선택해제";
  1455. chkFlag = "Y";
  1456. } else {
  1457. btn_init_batch_select.attribute("text") = "초기화 전체선택";
  1458. chkFlag = "N";
  1459. }
  1460. var rows = grd_oprcprtndetl.rows;
  1461. for ( var i = 1 ; i < rows ; i++ ) {
  1462. if ( grd_oprcprtndetl.isReadOnly(i, grd_oprcprtndetl.colRef("chkbox")) == true ) { // 선택 체크박스가 비활성화된 것만 적용
  1463. grd_oprcprtndetl.valueMatrix(i, grd_oprcprtndetl.colRef("delflag")) = chkFlag;
  1464. grd_oprcprtndetl.rowStatus(i) = "4" // 삭제
  1465. }
  1466. }
  1467. ]]>
  1468. </script>
  1469. </button>
  1470. <button id="btn_batch_select" class="btn2_letter7" style="left:650px; top:108px; width:97px; height:19px; ">
  1471. <caption>선택 전체선택</caption>
  1472. <script type="javascript" ev:event="onclick">
  1473. <![CDATA[
  1474. var chkFlag;
  1475. // 토글 버튼 캡션
  1476. if ( btn_batch_select.attribute("text") == "선택 전체선택" ) {
  1477. btn_batch_select.attribute("text") = "선택 선택해제";
  1478. chkFlag = "Y";
  1479. } else {
  1480. btn_batch_select.attribute("text") = "선택 전체선택";
  1481. chkFlag = "N";
  1482. }
  1483. var rows = grd_oprcprtndetl.rows;
  1484. for ( var i = 1 ; i < rows ; i++ ) {
  1485. if ( grd_oprcprtndetl.isReadOnly(i, grd_oprcprtndetl.colRef("chkbox")) == false ) { // 선택 체크박스가 활성화된 것만 적용
  1486. grd_oprcprtndetl.valueMatrix(i, grd_oprcprtndetl.colRef("chkbox")) = chkFlag;
  1487. if(grd_oprcprtndetl.valueMatrix(i, 2) == "Y") {
  1488. grd_oprcprtndetl.rowStatus(i) = "3";
  1489. grd_oprcprtndetl.isReadOnly(i, 18) = false;
  1490. if(rdo_insukind.value == "21") {
  1491. grd_oprcprtndetl.isReadOnly(i, 19) = false; // 시도 컬럼 enable
  1492. grd_oprcprtndetl.isReadOnly(i, 20) = false; // 시군구(입금보장기관기호) 컬럼 enable
  1493. }
  1494. } else {
  1495. grd_oprcprtndetl.rowStatus(i) = "0"; // rowStatus 초기화
  1496. grd_oprcprtndetl.valueMatrix(i, 16) = ""; // 공문번호 초기화
  1497. grd_oprcprtndetl.valueMatrix(i, 17) = ""; // 공문도착일 초기화
  1498. grd_oprcprtndetl.valueMatrix(i, 18) = ""; // 환수액 초기화
  1499. grd_oprcprtndetl.isReadOnly(i, 18) = true; // 환수액 컬럼 disable
  1500. if(rdo_insukind.value == "21") {
  1501. grd_oprcprtndetl.valueMatrix(i, 19) = ""; // 부적정부담금 초기화
  1502. grd_oprcprtndetl.valueMatrix(i, 20) = ""; // 부적정본인부담환급금 초기화
  1503. grd_oprcprtndetl.isReadOnly(i, 19) = true; // 시도 컬럼 disable
  1504. grd_oprcprtndetl.isReadOnly(i, 20) = true; // 시군구(입금보장기관기호) 컬럼 disable
  1505. }
  1506. }
  1507. }
  1508. }
  1509. ]]>
  1510. </script>
  1511. </button>
  1512. </group>
  1513. <caption id="caption9" class="search_name" style="left:250px; top:121px; width:92px; height:17px; ">바로가기</caption>
  1514. <select1 id="rdo_filter" ref="/root/hidden/rdofilter" class="radio_search" overflow="visible" appearance="full" cols="3" style="left:336px; top:122px; width:190px; height:20px; border-style:none; ">
  1515. <choices>
  1516. <item>
  1517. <label>명일련</label>
  1518. <value>DOC</value>
  1519. </item>
  1520. <item>
  1521. <label>등록번호</label>
  1522. <value>ID</value>
  1523. </item>
  1524. <item>
  1525. <label>수진자</label>
  1526. <value>NM</value>
  1527. </item>
  1528. </choices>
  1529. </select1>
  1530. <input id="ipt_filter" ref="/root/hidden/iptfilter" class="input_search" style="left:525px; top:121px; width:100px; height:19px; ">
  1531. <script type="javascript" ev:event="onkeyup">
  1532. <![CDATA[
  1533. if(event.keyCode == "13") {
  1534. setInputNodeCurText();
  1535. var cnt = 0;
  1536. var row = grd_oprcprtndetl.rows;
  1537. // 그리드 내에서 찾기
  1538. for ( i = 1 ; i < row ; i++ ) {
  1539. if ( rdo_filter.value == "DOC" ) {
  1540. // var tmp_len = ipt_filter.value;
  1541. // if ( tmp_len.length < 5 ) { // 명일련은 5자리를 맞춰줘야 해요
  1542. // while ( tmp_len.length != 5 ) {
  1543. // tmp_len = "0" + tmp_len;
  1544. // }
  1545. // ipt_filter.value = tmp_len;
  1546. // }
  1547. if ( grd_oprcprtndetl.valueMatrix(i,7) == ipt_filter.value ) {
  1548. grd_oprcprtndetl.row = i;
  1549. grd_oprcprtndetl.topRow = i;
  1550. cnt++;
  1551. break;
  1552. }
  1553. } else if ( rdo_filter.value == "ID" ) {
  1554. if ( grd_oprcprtndetl.valueMatrix(i,8) == ipt_filter.value ) {
  1555. grd_oprcprtndetl.row = i;
  1556. grd_oprcprtndetl.topRow = i;
  1557. cnt++;
  1558. break;
  1559. }
  1560. } else if ( rdo_filter.value == "NM" ) {
  1561. if ( grd_oprcprtndetl.valueMatrix(i,9) == ipt_filter.value ) {
  1562. grd_oprcprtndetl.row = i;
  1563. grd_oprcprtndetl.topRow = i;
  1564. cnt++;
  1565. break;
  1566. }
  1567. }
  1568. }
  1569. if(cnt == 0) {
  1570. messageBox("찾는 대상이","I004");
  1571. grd_oprcprtndetl.row = 0;
  1572. model.setFocus("ipt_filter");
  1573. //researchgrid("docuseqno",docuseqno);
  1574. }
  1575. }
  1576. ]]>
  1577. </script>
  1578. </input>
  1579. <group id="grp_btn" style="left:0px; top:757px; width:1195px; height:27px; ">
  1580. <line id="line32" class="line_6" style="x1:0px; y1:0px; x2:1194px; y2:0px; "/>
  1581. </group>
  1582. </xhtml:body>
  1583. </xhtml:html>