SMPMB03700_검사예약정보관리.xrw 70 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  3. <xhtml:html xmlns:ex="http://www.comsquare.co.kr/xforms/excel" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:my="http://www.comsquare.co.kr/example" xmlns:ms="urn:schemas-microsoft-com:xslt" 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" xmlns:cs="http://www.comsquare.co.kr/xforms">
  4. <xhtml:head>
  5. <xhtml:title>검사 예약 제어 정보 관리</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <init>
  10. <itemtype>
  11. <typeinfo>
  12. <cd>R</cd>
  13. <nm>조건</nm>
  14. </typeinfo>
  15. <typeinfo>
  16. <cd>C</cd>
  17. <nm>제어</nm>
  18. </typeinfo>
  19. </itemtype>
  20. <opcode>
  21. <cdinfo>
  22. <cd>EQ</cd>
  23. <nm>일치</nm>
  24. <rflag>Y</rflag>
  25. <cflag/>
  26. </cdinfo>
  27. <cdinfo>
  28. <cd>NE</cd>
  29. <nm>불일치</nm>
  30. <rflag>Y</rflag>
  31. <cflag/>
  32. </cdinfo>
  33. <cdinfo>
  34. <cd>OV</cd>
  35. <nm>이상</nm>
  36. <rflag>Y</rflag>
  37. <cflag/>
  38. </cdinfo>
  39. <cdinfo>
  40. <cd>BW</cd>
  41. <nm>이하</nm>
  42. <rflag>Y</rflag>
  43. <cflag/>
  44. </cdinfo>
  45. <cdinfo>
  46. <cd>EX</cd>
  47. <nm>초과</nm>
  48. <rflag>Y</rflag>
  49. <cflag/>
  50. </cdinfo>
  51. <cdinfo>
  52. <cd>UR</cd>
  53. <nm>미만</nm>
  54. <rflag>Y</rflag>
  55. <cflag/>
  56. </cdinfo>
  57. <cdinfo>
  58. <cd>IN</cd>
  59. <nm>이내</nm>
  60. <rflag>Y</rflag>
  61. <cflag/>
  62. </cdinfo>
  63. <cdinfo>
  64. <cd>NI</cd>
  65. <nm>이외</nm>
  66. <rflag>Y</rflag>
  67. <cflag/>
  68. </cdinfo>
  69. <cdinfo>
  70. <cd>RT</cd>
  71. <nm>제한</nm>
  72. <rflag/>
  73. <cflag>Y</cflag>
  74. </cdinfo>
  75. <cdinfo>
  76. <cd>OY</cd>
  77. <nm>단독</nm>
  78. <rflag/>
  79. <cflag>Y</cflag>
  80. </cdinfo>
  81. <cdinfo>
  82. <cd>RC</cd>
  83. <nm>권장</nm>
  84. <rflag/>
  85. <cflag>Y</cflag>
  86. </cdinfo>
  87. <cdinfo>
  88. <cd>NT</cd>
  89. <nm>알림</nm>
  90. <rflag/>
  91. <cflag>Y</cflag>
  92. </cdinfo>
  93. </opcode>
  94. <deptlist>
  95. <deptinfo>
  96. <deptcd/>
  97. <deptnm/>
  98. </deptinfo>
  99. </deptlist>
  100. <srch>
  101. <roomlist>
  102. <roominfo>
  103. <deptcd/>
  104. <roomcd>T</roomcd>
  105. <roomnm>전체</roomnm>
  106. </roominfo>
  107. </roomlist>
  108. <excdlist>
  109. <excdinfo>
  110. <excucd>T</excucd>
  111. <excunm>전체</excunm>
  112. </excdinfo>
  113. </excdlist>
  114. </srch>
  115. <rgst>
  116. <roomlist>
  117. <roominfo>
  118. <deptcd/>
  119. <roomcd>T</roomcd>
  120. <roomnm>전체</roomnm>
  121. </roominfo>
  122. </roomlist>
  123. <excdlist>
  124. <excdinfo>
  125. <excucd>T</excucd>
  126. <excunm>전체</excunm>
  127. </excdinfo>
  128. </excdlist>
  129. </rgst>
  130. </init>
  131. <main>
  132. <ctrllist>
  133. <ctrlinfo>
  134. <rsrvplce/>
  135. <suppdeptcd/>
  136. <suppdeptnm/>
  137. <excuroomcd/>
  138. <excuroomnm/>
  139. <excucd/>
  140. <excunm/>
  141. <ctrlseq/>
  142. <termcnt/>
  143. <ctrldesc/>
  144. <ctrltype/>
  145. <fromdd/>
  146. <todd/>
  147. </ctrlinfo>
  148. </ctrllist>
  149. <termlist>
  150. <terminfo>
  151. <rsrvplce/>
  152. <suppdeptcd/>
  153. <excuroomcd/>
  154. <excucd/>
  155. <ctrlseq/>
  156. <termseq/>
  157. <itemtype/>
  158. <itemseq/>
  159. <itemnm/>
  160. <opcode/>
  161. <valtype/>
  162. <val/>
  163. <valnm/>
  164. <inflag/>
  165. </terminfo>
  166. </termlist>
  167. <itemlist>
  168. <iteminfo>
  169. <itemtype/>
  170. <itemseq/>
  171. <itemnm/>
  172. <valtype/>
  173. <addflag/>
  174. <valid/>
  175. <srchcd/>
  176. <valseqarr/>
  177. </iteminfo>
  178. </itemlist>
  179. </main>
  180. <temp>
  181. <reflist>
  182. <refinfo>
  183. <itemseq/>
  184. <itemnm/>
  185. </refinfo>
  186. </reflist>
  187. <addval/>
  188. <iptval>
  189. <val/>
  190. <valnm/>
  191. </iptval>
  192. <enumlist>
  193. <enuminfo>
  194. <itemseq/>
  195. <itemnm/>
  196. </enuminfo>
  197. </enumlist>
  198. <enumval>
  199. <val/>
  200. <valnm/>
  201. </enumval>
  202. <srchlist>
  203. <srchinfo>
  204. <val/>
  205. <valnm/>
  206. </srchinfo>
  207. </srchlist>
  208. <term>
  209. <itemtype/>
  210. <itemseq/>
  211. <itemnm/>
  212. <opcode/>
  213. <opnm/>
  214. <valtype/>
  215. <val/>
  216. <valnm/>
  217. <srchcd/>
  218. <inflag/>
  219. </term>
  220. <rslt>
  221. <ctrlseq/>
  222. </rslt>
  223. </temp>
  224. <send>
  225. <srch>
  226. <srchflag>D</srchflag>
  227. <deptcd/>
  228. <roomcd/>
  229. <newcdyn>Y</newcdyn>
  230. <rsrvplce>T</rsrvplce>
  231. <suppdeptcd/>
  232. <excuroomcd/>
  233. <excucd/>
  234. </srch>
  235. <term>
  236. <rsrvplce/>
  237. <suppdeptcd/>
  238. <excuroomcd/>
  239. <excucd/>
  240. <ctrlseq/>
  241. </term>
  242. <rgst>
  243. <rsrvplce>T</rsrvplce>
  244. <suppdeptcd/>
  245. <excuroomcd/>
  246. <excucd/>
  247. <ctrlseq/>
  248. <ctrldesc/>
  249. <fromdd/>
  250. <todd/>
  251. <terminfo>
  252. <termseq/>
  253. <itemtype/>
  254. <itemseq/>
  255. <itemnm/>
  256. <opcode/>
  257. <valtype/>
  258. <val/>
  259. <valnm/>
  260. <inflag/>
  261. </terminfo>
  262. </rgst>
  263. </send>
  264. <hidden>
  265. <valtype>
  266. <refyn/>
  267. <drctyn/>
  268. <srchyn/>
  269. <enumyn/>
  270. </valtype>
  271. <addflag/>
  272. </hidden>
  273. </root>
  274. </instance>
  275. <submission id="TRPMB03701" mediatype="application/x-www-form-urlencoded" method="post" resultref="/root/main/itemlist/iteminfo"/>
  276. <submission id="TRPMB03702" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/srch" resultref="/root/init/deptlist/deptinfo"/>
  277. <submission id="TRPMB03703" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/srch" resultref="/root/init/srch/roomlist/roominfo"/>
  278. <submission id="TRPMB03704" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/srch" resultref="/root/init/srch/excdlist/excdinfo"/>
  279. <submission id="TRPMB03705" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/srch" resultref="/root/main/ctrllist/ctrlinfo"/>
  280. <submission id="TRPMB03706" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/term" resultref="/root/send/rgst/terminfo"/>
  281. <submission id="TXPMB03703" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/rgst" resultref="/root/temp/rslt"/>
  282. <submission id="TXPMB03705" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/term"/>
  283. </model>
  284. <script type="javascript">
  285. <![CDATA[
  286. var CURR_PLCE = "";
  287. var CURR_DEPT = "";
  288. var CURR_ROOM = "";
  289. var CURR_CODE = "";
  290. function fSearchTerms() {
  291. grd_ctrl.rebuildStyle();
  292. submit("TRPMB03705");
  293. btn_newrgst.dispatch("DOMActivate");
  294. }
  295. function fClearValues() {
  296. // 항목 그리드 초기화
  297. grd_item.nodeset = "/";
  298. // 연산 그리드 초기화
  299. grd_opcode.nodeset = "/";
  300. // 조건 값 초기화
  301. model.resetInstanceNode("/root/temp/reflist/refinfo");
  302. grd_ref.refresh();
  303. model.setValue("/root/temp/addval", "");
  304. ipt_addval.refresh();
  305. model.setValue("/root/temp/iptval/val", "");
  306. model.setValue("/root/temp/iptval/valnm", "");
  307. ipt_drct.hint = "";
  308. ipt_drct.refresh();
  309. model.resetInstanceNode("/root/temp/enumlist/enuminfo");
  310. rdo_enum.refresh();
  311. model.setValue("/root/temp/enumval/val", "");
  312. model.setValue("/root/temp/enumval/valnm", "");
  313. rdo_enum.refresh();
  314. model.resetInstanceNode("/root/temp/srchlist/srchinfo");
  315. grd_srch.refresh();
  316. model.resetInstanceNode("/root/temp/term");
  317. rdo_itemtype.refresh();
  318. cap_item.refresh();
  319. cap_opnm.refresh();
  320. cap_valnm.refresh();
  321. cap_valnm.hint = "";
  322. // 값 형식 설정
  323. fSetValType("");
  324. }
  325. function fSetValType(valtype) {
  326. model.resetInstanceNode("/root/hidden/valtype");
  327. chk_ref.refresh();
  328. chk_drct.refresh();
  329. chk_srch.refresh();
  330. chk_enum.refresh();
  331. var color = "#fffbf2";
  332. if (valtype.indexOf("R") < 0) {
  333. grp_ref.attribute("background-color") = color;
  334. chk_ref.disabled = true;
  335. } else {
  336. grp_ref.attribute("background-color") = "#ffffff";
  337. chk_ref.disabled = false;
  338. }
  339. if (valtype.indexOf("D") < 0) {
  340. grp_drct.attribute("background-color") = color;
  341. model.setValue("/root/temp/iptval/val", "");
  342. model.setValue("/root/temp/iptval/valnm", "");
  343. ipt_drct.hint = "";
  344. ipt_drct.refresh();
  345. chk_drct.disabled = true;
  346. } else {
  347. grp_drct.attribute("background-color") = "#ffffff";
  348. chk_drct.disabled = false;
  349. }
  350. if (valtype.indexOf("S") < 0) {
  351. grp_srch.attribute("background-color") = color;
  352. model.resetInstanceNode("/root/temp/term/srchlist/srchinfo");
  353. grd_srch.refresh();
  354. chk_srch.disabled = true;
  355. } else {
  356. grp_srch.attribute("background-color") = "#ffffff";
  357. chk_srch.disabled = false;
  358. }
  359. if (valtype.indexOf("E") < 0) {
  360. grp_enum.attribute("background-color") = color;
  361. chk_enum.disabled = true;
  362. } else {
  363. grp_enum.attribute("background-color") = "#ffffff";
  364. chk_enum.disabled = false;
  365. }
  366. grd_ref.visible = false;
  367. cap_addval.visible = false;
  368. ipt_addval.visible = false;
  369. btn_addipt.visible = false;
  370. ipt_drct.visible = false;
  371. btn_drctipt.visible = false;
  372. rdo_enum.visible = false;
  373. chk_enumarr.visible = false;
  374. btn_srch.visible = false;
  375. btn_srchipt.visible = false;
  376. btn_delsrch.visible = false;
  377. grd_srch.visible = false;
  378. }
  379. function fSetTypeChk(valtype, chkyn) {
  380. model.setValue("/root/temp/term/valtype", valtype);
  381. if (valtype == "R") {
  382. model.setValue("/root/hidden/valtype/drctyn", "");
  383. chk_drct.refresh();
  384. model.setValue("/root/hidden/valtype/srchyn", "");
  385. chk_srch.refresh();
  386. model.setValue("/root/hidden/valtype/enumyn", "");
  387. chk_enum.refresh();
  388. grd_ref.visible = cap_addval.visible = ipt_addval.visible = btn_addipt.visible = chkyn == "Y" ? true : false;
  389. if (model.getValue("/root/hidden/addflag") == "Y") {
  390. grd_ref.attribute("height") = "246px";
  391. } else {
  392. grd_ref.attribute("height") = "269px";
  393. }
  394. ipt_drct.visible = false;
  395. btn_drctipt.visible = false;
  396. rdo_enum.visible = false;
  397. chk_enumarr.visible = false;
  398. btn_srch.visible = false;
  399. btn_srchipt.visible = false;
  400. btn_delsrch.visible = false;
  401. grd_srch.visible = false;
  402. } else if (valtype == "D") {
  403. model.setValue("/root/temp/iptval/val", "");
  404. model.setValue("/root/temp/iptval/valnm", "");
  405. ipt_drct.hint = "";
  406. ipt_drct.refresh();
  407. model.setValue("/root/hidden/valtype/refyn", "");
  408. chk_ref.refresh();
  409. model.setValue("/root/hidden/valtype/srchyn", "");
  410. chk_srch.refresh();
  411. model.setValue("/root/hidden/valtype/enumyn", "");
  412. chk_enum.refresh();
  413. ipt_drct.visible = btn_drctipt.visible = chkyn == "Y" ? true : false;
  414. grd_ref.visible = false;
  415. cap_addval.visible = false;
  416. ipt_addval.visible = false;
  417. btn_addipt.visible = false;
  418. rdo_enum.visible = false;
  419. chk_enumarr.visible = false;
  420. btn_srch.visible = false;
  421. btn_srchipt.visible = false;
  422. btn_delsrch.visible = false;
  423. grd_srch.visible = false;
  424. } else if (valtype == "S") {
  425. model.setValue("/root/hidden/valtype/refyn", "");
  426. chk_ref.refresh();
  427. model.setValue("/root/hidden/valtype/drctyn", "");
  428. chk_drct.refresh();
  429. model.setValue("/root/hidden/valtype/enumyn", "");
  430. chk_enum.refresh();
  431. btn_srch.visible = btn_srchipt.visible = grd_srch.visible = btn_delsrch.visible = chkyn == "Y" ? true : false;
  432. grd_ref.visible = false;
  433. cap_addval.visible = false;
  434. ipt_addval.visible = false;
  435. btn_addipt.visible = false;
  436. ipt_drct.visible = false;
  437. btn_drctipt.visible = false;
  438. rdo_enum.visible = false;
  439. chk_enumarr.visible = false;
  440. } else if (valtype == "E") {
  441. model.setValue("/root/hidden/valtype/refyn", "");
  442. chk_ref.refresh();
  443. model.setValue("/root/hidden/valtype/drctyn", "");
  444. chk_drct.refresh();
  445. model.setValue("/root/hidden/valtype/srchyn", "");
  446. chk_srch.refresh();
  447. var opcode = model.getValue("/root/temp/term/opcode");
  448. if (opcode == "IN" || opcode == "NI") {
  449. chk_enumarr.visible = chkyn == "Y" ? true : false;
  450. rdo_enum.visible = false;
  451. } else {
  452. rdo_enum.visible = chkyn == "Y" ? true : false;
  453. chk_enumarr.visible = false;
  454. }
  455. grd_ref.visible = false;
  456. cap_addval.visible = false;
  457. ipt_addval.visible = false;
  458. btn_addipt.visible = false;
  459. ipt_drct.visible = false;
  460. btn_drctipt.visible = false;
  461. btn_srch.visible = false;
  462. btn_srchipt.visible = false;
  463. btn_delsrch.visible = false;
  464. grd_srch.visible = false;
  465. }
  466. }
  467. function fSetTermInfo() {
  468. btn_collapse.dispatch("DOMActivate");
  469. var row = grd_ctrl.row;
  470. grd_ctrl.rebuildStyle();
  471. grd_ctrl.focusColor = grd_ctrl.rowStyle(row, "all", "background-color") = "#ffcdcd";
  472. if (row > grd_ctrl.bottomRow) {
  473. grd_ctrl.bottomRow = row;
  474. }
  475. var rsrvplce = model.getValue("/root/main/ctrllist/ctrlinfo[" + row + "]/rsrvplce");
  476. var suppdeptcd = model.getValue("/root/main/ctrllist/ctrlinfo[" + row + "]/suppdeptcd");
  477. var excuroomcd = model.getValue("/root/main/ctrllist/ctrlinfo[" + row + "]/excuroomcd");
  478. var excucd = model.getValue("/root/main/ctrllist/ctrlinfo[" + row + "]/excucd");
  479. var ctrlseq = model.getValue("/root/main/ctrllist/ctrlinfo[" + row + "]/ctrlseq");
  480. CURR_PLCE = rsrvplce;
  481. CURR_DEPT = suppdeptcd;
  482. CURR_ROOM = excuroomcd;
  483. CURR_CODE = excucd;
  484. model.setValue("/root/send/term/rsrvplce", rsrvplce);
  485. model.setValue("/root/send/term/suppdeptcd", suppdeptcd);
  486. model.setValue("/root/send/term/excuroomcd", excuroomcd);
  487. model.setValue("/root/send/term/excucd", excucd);
  488. model.setValue("/root/send/term/ctrlseq", ctrlseq);
  489. submit("TRPMB03706");
  490. model.setValue("/root/send/rgst/rsrvplce", rsrvplce);
  491. model.setValue("/root/send/rgst/suppdeptcd", suppdeptcd);
  492. cmb_rgstplce.refresh();
  493. cmb_rgstdept.refresh();
  494. cmb_rgstdept.dispatch("xforms-value-changed");
  495. model.setValue("/root/send/rgst/excuroomcd", excuroomcd);
  496. cmb_rgstroom.refresh();
  497. model.setValue("/root/send/rgst/excucd", excucd);
  498. cmb_rgstexcd.refresh();
  499. cmb_rgstexcd.dispatch("xforms-value-changed");
  500. model.setValue("/root/send/rgst/ctrlseq", ctrlseq);
  501. var ctrldesc = model.getValue("/root/main/ctrllist/ctrlinfo[" + row + "]/ctrldesc");
  502. var fromdd = model.getValue("/root/main/ctrllist/ctrlinfo[" + row + "]/fromdd");
  503. var todd = model.getValue("/root/main/ctrllist/ctrlinfo[" + row + "]/todd");
  504. model.setValue("/root/send/rgst/ctrldesc", ctrldesc);
  505. tar_rgstdesc.refresh();
  506. model.setValue("/root/send/rgst/fromdd", fromdd);
  507. ipt_fromdd.refresh();
  508. model.setValue("/root/send/rgst/todd", todd);
  509. ipt_todd.refresh();
  510. }
  511. function fSetRgstStatus(isNew) {
  512. cap_status.value = btn_rgst.value = isNew ? "등록" : "수정";
  513. cap_status.attribute("color") = isNew ? "black" : "blue";
  514. }
  515. ]]>
  516. </script>
  517. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  518. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  519. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  520. <script type="javascript" ev:event="xforms-ready">
  521. <![CDATA[
  522. if (getUserId() == "PAM") {
  523. btn_itemmng.visible = true;
  524. }
  525. chk_enumarr.attribute("top") = rdo_enum.attribute("top");
  526. chk_enumarr.attribute("height") = rdo_enum.attribute("height");
  527. submit("TRPMB03701");
  528. submit("TRPMB03702", false);
  529. addComboItem("cmb_deptcd", "전체", "T");
  530. // 조회 조건 기본 세팅
  531. model.setValue("/root/send/srch/rsrvplce", "T");
  532. cmb_rsrvplce.refresh();
  533. model.setValue("/root/send/srch/suppdeptcd", "T");
  534. cmb_deptcd.refresh();
  535. cmb_deptcd.dispatch("xforms-value-changed");
  536. fSearchTerms();
  537. // 등록 기본 항목 기본 세팅
  538. model.setValue("/root/send/rgst/rsrvplce", "T");
  539. cmb_rgstplce.refresh();
  540. model.setValue("/root/send/rgst/suppdeptcd", "T");
  541. cmb_rgstdept.refresh();
  542. cmb_rgstdept.dispatch("xforms-value-changed");
  543. model.setValue("/root/send/rgst/fromdd", getCurrentDate());
  544. model.setValue("/root/send/rgst/todd", "99991231");
  545. ipt_fromdd.refresh();
  546. ipt_todd.refresh();
  547. ]]>
  548. </script>
  549. </xhtml:head>
  550. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  551. <caption id="cap_title" class="tit_1" style="left:0px; top:0px; width:165px; height:14px; font-family:돋움; vertical-align:middle; ">검사 예약 제어 정보 관리</caption>
  552. <caption id="caption7" class="tit_2" style="left:0px; top:70px; width:124px; height:13px; font-weight:bold; ">등록된 제어 내역</caption>
  553. <datagrid id="grd_rgst" nodeset="/root/send/rgst/terminfo" allowselection="false" autoresize="true" backcoloralternate="transparent" caption="제어순번^항번^구분^항목순번^항목^연산^값형식^포함^코드^비교값" colsep="^" colwidth="0, 40, 40, 0, 100, 50, 0, 0, 100, 235" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowsep="|" style="left:625px; top:345px; width:570px; height:280px; ">
  554. <col ref="ctrlseq"/>
  555. <col ref="termseq" style="text-align:center; "/>
  556. <col disabled="true" ref="itemtype" type="combo" style="text-align:center; ">
  557. <choices>
  558. <itemset nodeset="/root/init/itemtype/typeinfo">
  559. <label ref="nm"/>
  560. <value ref="cd"/>
  561. </itemset>
  562. </choices>
  563. </col>
  564. <col ref="itemseq"/>
  565. <col ref="itemnm" style="text-align:center; "/>
  566. <col disabled="true" ref="opcode" type="combo" style="text-align:center; ">
  567. <choices>
  568. <itemset nodeset="/root/init/opcode/cdinfo">
  569. <label ref="nm"/>
  570. <value ref="cd"/>
  571. </itemset>
  572. </choices>
  573. </col>
  574. <col disabled="true" ref="valtype" type="combo" style="text-align:center; ">
  575. <choices>
  576. <item>
  577. <label>참조</label>
  578. <value>R</value>
  579. </item>
  580. <item>
  581. <label>직접</label>
  582. <value>D</value>
  583. </item>
  584. <item>
  585. <label>조회</label>
  586. <value>S</value>
  587. </item>
  588. <item>
  589. <label>열거</label>
  590. <value>E</value>
  591. </item>
  592. </choices>
  593. </col>
  594. <col ref="inflag" style="text-align:center; "/>
  595. <col ref="val" style="text-align:center; "/>
  596. <col ref="valnm" style="text-align:left; "/>
  597. </datagrid>
  598. <caption id="caption9" class="tit_2" style="left:625px; top:325px; width:123px; height:13px; ">조건 및 제어 내역</caption>
  599. <button id="btn_rgst" class="btn4_letter2" style="left:1139px; top:738px; width:56px; height:22px; ">
  600. <caption>등록</caption>
  601. <script type="javascript" ev:event="DOMActivate">
  602. <![CDATA[
  603. if (instance1.selectNodes("/root/send/rgst/terminfo[termseq != '']").length < 1 &&
  604. model.getValue("/root/send/rgst/ctrldesc") == "" ) {
  605. messageBox("등록할 조건 내역이 없습니다.", "E999");
  606. return;
  607. }
  608. // 기본 항목 변경 내역 확인
  609. if (model.getValue("/root/send/rgst/ctrlseq") != "" &&
  610. ( model.getValue("/root/send/rgst/rsrvplce") != CURR_PLCE ||
  611. model.getValue("/root/send/rgst/suppdeptcd") != CURR_DEPT ||
  612. model.getValue("/root/send/rgst/excuroomcd") != CURR_ROOM ||
  613. model.getValue("/root/send/rgst/excucd") != CURR_CODE )) {
  614. if (messageBox("기본 항목이 변경되었습니다.\n새로운 제어문으로 등록하시겠습니까?", "Q999") != 6) {
  615. return;
  616. }
  617. model.setValue("/root/send/rgst/ctrlseq", "");
  618. }
  619. var prevRow = 0
  620. var prevBottomRow = grd_ctrl.bottomRow;
  621. if (model.getValue("/root/send/rgst/ctrlseq") != "") { // 수정하는 경우
  622. prevRow = grd_ctrl.row;
  623. }
  624. submit("TXPMB03703");
  625. fClearValues();
  626. fSearchTerms();
  627. if (prevRow > 0) {
  628. grd_ctrl.row = prevRow;
  629. grd_ctrl.bottomRow = prevBottomRow;
  630. } else {
  631. var rsrvplce = model.getValue("/root/send/rgst/rsrvplce");
  632. var suppdeptcd = model.getValue("/root/send/rgst/suppdeptcd");
  633. var excuroomcd = model.getValue("/root/send/rgst/excuroomcd");
  634. var excucd = model.getValue("/root/send/rgst/excucd");
  635. var ctrlseq = model.getValue("/root/temp/rslt/ctrlseq");
  636. var cnt = instance1.selectNodes("/root/main/ctrllist/ctrlinfo").length;
  637. for (var i = 1; i <= cnt; i++) {
  638. if (rsrvplce == model.getValue("/root/main/ctrllist/ctrlinfo[" + i + "]/rsrvplce") &&
  639. suppdeptcd == model.getValue("/root/main/ctrllist/ctrlinfo[" + i + "]/suppdeptcd") &&
  640. excuroomcd == model.getValue("/root/main/ctrllist/ctrlinfo[" + i + "]/excuroomcd") &&
  641. excucd == model.getValue("/root/main/ctrllist/ctrlinfo[" + i + "]/excucd") &&
  642. ctrlseq == model.getValue("/root/main/ctrllist/ctrlinfo[" + i + "]/ctrlseq")) {
  643. grd_ctrl.row = i;
  644. grd_ctrl.bottomRow = i;
  645. break;
  646. }
  647. }
  648. }
  649. ]]>
  650. </script>
  651. </button>
  652. <button id="btn_itemmng" class="btn3_letter6" visibility="hidden" style="left:1033px; top:738px; width:104px; height:22px; ">
  653. <caption>제어항목관리</caption>
  654. <script type="javascript" ev:event="DOMActivate">
  655. <![CDATA[
  656. open("../../../pam/pambaseinfomngtweb/xrw/SMPMB03701_검사예약정보항목관리.xrw", "", "", "" ,"", "", "");
  657. ]]>
  658. </script>
  659. </button>
  660. <button id="btn_delterm" class="btn2_letter2" style="left:1088px; top:65px; width:42px; height:19px; ">
  661. <caption>삭제</caption>
  662. <script type="javascript" ev:event="DOMActivate">
  663. <![CDATA[
  664. var row = grd_ctrl.row;
  665. if (row < 1) {
  666. return;
  667. }
  668. if (messageBox("선택된 기본항목에 해당하는 모든 제어문이 삭제됩니다.\n삭제하시겠습니까?", "Q999") != 6) {
  669. return;
  670. }
  671. model.setValue("/root/send/term/rsrvplce", model.getValue("/root/main/ctrllist/ctrlinfo[" + row + "]/rsrvplce"));
  672. model.setValue("/root/send/term/suppdeptcd", model.getValue("/root/main/ctrllist/ctrlinfo[" + row + "]/suppdeptcd"));
  673. model.setValue("/root/send/term/excuroomcd", model.getValue("/root/main/ctrllist/ctrlinfo[" + row + "]/excuroomcd"));
  674. model.setValue("/root/send/term/excucd", model.getValue("/root/main/ctrllist/ctrlinfo[" + row + "]/excucd"));
  675. model.setValue("/root/send/term/ctrlseq", model.getValue("/root/main/ctrllist/ctrlinfo[" + row + "]/ctrlseq"));
  676. submit("TXPMB03705");
  677. fSearchTerms();
  678. ]]>
  679. </script>
  680. </button>
  681. <button id="btn_newrgst" class="btn2_letter4" style="left:551px; top:320px; width:64px; height:19px; ">
  682. <caption>신규등록</caption>
  683. <script type="javascript" ev:event="DOMActivate">
  684. <![CDATA[
  685. fSetRgstStatus(true);
  686. fClearValues();
  687. CURR_PLCE = "";
  688. CURR_DEPT = "";
  689. CURR_ROOM = "";
  690. CURR_CODE = "";
  691. model.setValue("/root/send/rgst/ctrlseq", "");
  692. model.setValue("/root/send/rgst/ctrldesc", "");
  693. tar_rgstdesc.refresh();
  694. model.resetInstanceNode("/root/send/rgst/terminfo");
  695. grd_rgst.refresh();
  696. grd_ctrl.focusColor = "#ece1ec";
  697. grd_ctrl.rebuildStyle();
  698. ]]>
  699. </script>
  700. </button>
  701. <button id="btn_delrgst" class="btn2_letter2" style="left:1153px; top:320px; width:42px; height:19px; ">
  702. <caption>삭제</caption>
  703. <script type="javascript" ev:event="DOMActivate">
  704. <![CDATA[
  705. var rpath = "/root/send/rgst/terminfo";
  706. var tpath = "/root/temp/templist/terminfo";
  707. var row = grd_rgst.row;
  708. var cnt = instance1.selectNodes(rpath).length;
  709. var idx = 1;
  710. for (var i = 1; i <= cnt; i++) {
  711. if (i == row) {
  712. var inflag = model.getValue(rpath + "[" + i + "]/inflag");
  713. if (inflag == "S") {
  714. if (model.getValue(rpath + "[" + ( i + 1 ) + "]/inflag") == "E") { // 다음 항목이 포함 종료일 경우
  715. // 포함 조건을 일반 조건으로 변경
  716. if (model.getValue(rpath + "[" + i + "]/opcode") == "IN") {
  717. model.setValue(rpath + "[" + ( i + 1 ) + "]/opcode", "EQ");
  718. } else if (model.getValue(rpath + "[" + i + "]/opcode") == "NI") {
  719. model.setValue(rpath + "[" + ( i + 1 ) + "]/opcode", "NE");
  720. }
  721. model.setValue(rpath + "[" + ( i + 1 ) + "]/inflag", "");
  722. } else {
  723. // 시작 flag 이동
  724. model.setValue(rpath + "[" + ( i + 1 ) + "]/inflag", "S");
  725. }
  726. } else if (inflag == "E") {
  727. if (model.getValue(rpath + "[" + ( i - 1 ) + "]/inflag") == "S") { // 이전 항목이 포함 시작일 경우
  728. // 포함 조건을 일반 조건으로 변경
  729. if (model.getValue(rpath + "[" + i + "]/opcode") == "IN") {
  730. model.setValue(tpath + "[" + ( idx - 1 ) + "]/opcode", "EQ");
  731. } else if (model.getValue(rpath + "[" + i + "]/opcode") == "NI") {
  732. model.setValue(tpath + "[" + ( idx - 1 ) + "]/opcode", "NE");
  733. }
  734. model.setValue(tpath + "[" + ( idx - 1 ) + "]/inflag", "");
  735. } else {
  736. // 종료 flag 이동
  737. model.setValue(tpath + "[" + ( idx - 1 ) + "]/inflag", "E");
  738. }
  739. }
  740. continue;
  741. }
  742. model.makeValue(tpath + "[" + idx + "]/ctrlseq", model.getValue(rpath + "[" + i + "]/ctrlseq"));
  743. model.makeValue(tpath + "[" + idx + "]/termseq", idx);
  744. model.makeValue(tpath + "[" + idx + "]/itemtype", model.getValue(rpath + "[" + i + "]/itemtype"));
  745. model.makeValue(tpath + "[" + idx + "]/itemseq", model.getValue(rpath + "[" + i + "]/itemseq"));
  746. model.makeValue(tpath + "[" + idx + "]/itemnm", model.getValue(rpath + "[" + i + "]/itemnm"));
  747. model.makeValue(tpath + "[" + idx + "]/opcode", model.getValue(rpath + "[" + i + "]/opcode"));
  748. model.makeValue(tpath + "[" + idx + "]/valtype", model.getValue(rpath + "[" + i + "]/valtype"));
  749. model.makeValue(tpath + "[" + idx + "]/val", model.getValue(rpath + "[" + i + "]/val"));
  750. model.makeValue(tpath + "[" + idx + "]/valnm", model.getValue(rpath + "[" + i + "]/valnm"));
  751. model.makeValue(tpath + "[" + idx + "]/inflag", model.getValue(rpath + "[" + i + "]/inflag"));
  752. idx++;
  753. }
  754. cnt = instance1.selectNodes(tpath).length;
  755. model.resetInstanceNode(rpath);
  756. for (var i = 1; i <= cnt; i++) {
  757. model.makeValue(rpath + "[" + i + "]/ctrlseq", model.getValue(tpath + "[" + i + "]/ctrlseq"));
  758. model.makeValue(rpath + "[" + i + "]/termseq", model.getValue(tpath + "[" + i + "]/termseq"));
  759. model.makeValue(rpath + "[" + i + "]/itemtype", model.getValue(tpath + "[" + i + "]/itemtype"));
  760. model.makeValue(rpath + "[" + i + "]/itemseq", model.getValue(tpath + "[" + i + "]/itemseq"));
  761. model.makeValue(rpath + "[" + i + "]/itemnm", model.getValue(tpath + "[" + i + "]/itemnm"));
  762. model.makeValue(rpath + "[" + i + "]/opcode", model.getValue(tpath + "[" + i + "]/opcode"));
  763. model.makeValue(rpath + "[" + i + "]/valtype", model.getValue(tpath + "[" + i + "]/valtype"));
  764. model.makeValue(rpath + "[" + i + "]/val", model.getValue(tpath + "[" + i + "]/val"));
  765. model.makeValue(rpath + "[" + i + "]/valnm", model.getValue(tpath + "[" + i + "]/valnm"));
  766. model.makeValue(rpath + "[" + i + "]/inflag", model.getValue(tpath + "[" + i + "]/inflag"));
  767. }
  768. model.removenode("/root/temp/templist");
  769. grd_rgst.refresh();
  770. ]]>
  771. </script>
  772. </button>
  773. <button id="btn_up" visibility="hidden" style="left:1099px; top:320px; width:26px; height:19px; background-image:../../../com/commonweb/images/btn_send_up.gif; ">
  774. <caption/>
  775. <script type="javascript" ev:event="DOMActivate">
  776. <![CDATA[
  777. var row = grd_rgst.row;
  778. if (row < 2) {
  779. return;
  780. }
  781. var rpath = "/root/send/rgst/terminfo";
  782. var tpath = "/root/temp/templist/terminfo";
  783. var cnt = instance1.selectNodes(rpath).length;
  784. var idx = 1;
  785. for (var i = 1; i <= cnt; i++) {
  786. if (i == row - 1) {
  787. idx = i + 1;
  788. } else if (i == row) {
  789. idx = i - 1;
  790. } else {
  791. idx = i;
  792. }
  793. model.makeValue(tpath + "[" + i + "]/ctrlseq", model.getValue(rpath + "[" + idx + "]/ctrlseq"));
  794. model.makeValue(tpath + "[" + i + "]/termseq", i);
  795. model.makeValue(tpath + "[" + i + "]/itemtype", model.getValue(rpath + "[" + idx + "]/itemtype"));
  796. model.makeValue(tpath + "[" + i + "]/itemseq", model.getValue(rpath + "[" + idx + "]/itemseq"));
  797. model.makeValue(tpath + "[" + i + "]/itemnm", model.getValue(rpath + "[" + idx + "]/itemnm"));
  798. model.makeValue(tpath + "[" + i + "]/opcode", model.getValue(rpath + "[" + idx + "]/opcode"));
  799. model.makeValue(tpath + "[" + i + "]/valtype", model.getValue(rpath + "[" + idx + "]/valtype"));
  800. model.makeValue(tpath + "[" + i + "]/val", model.getValue(rpath + "[" + idx + "]/val"));
  801. model.makeValue(tpath + "[" + i + "]/valnm", model.getValue(rpath + "[" + idx + "]/valnm"));
  802. model.makeValue(tpath + "[" + i + "]/inflag", model.getValue(rpath + "[" + idx + "]/inflag"));
  803. }
  804. cnt = instance1.selectNodes(tpath).length;
  805. model.resetInstanceNode(rpath);
  806. for (var i = 1; i <= cnt; i++) {
  807. model.makeValue(rpath + "[" + i + "]/ctrlseq", model.getValue(tpath + "[" + i + "]/ctrlseq"));
  808. model.makeValue(rpath + "[" + i + "]/termseq", model.getValue(tpath + "[" + i + "]/termseq"));
  809. model.makeValue(rpath + "[" + i + "]/itemtype", model.getValue(tpath + "[" + i + "]/itemtype"));
  810. model.makeValue(rpath + "[" + i + "]/itemseq", model.getValue(tpath + "[" + i + "]/itemseq"));
  811. model.makeValue(rpath + "[" + i + "]/itemnm", model.getValue(tpath + "[" + i + "]/itemnm"));
  812. model.makeValue(rpath + "[" + i + "]/opcode", model.getValue(tpath + "[" + i + "]/opcode"));
  813. model.makeValue(rpath + "[" + i + "]/valtype", model.getValue(tpath + "[" + i + "]/valtype"));
  814. model.makeValue(rpath + "[" + i + "]/val", model.getValue(tpath + "[" + i + "]/val"));
  815. model.makeValue(rpath + "[" + i + "]/valnm", model.getValue(tpath + "[" + i + "]/valnm"));
  816. model.makeValue(rpath + "[" + i + "]/inflag", model.getValue(tpath + "[" + i + "]/inflag"));
  817. }
  818. model.removenode("/root/temp/templist");
  819. grd_rgst.refresh();
  820. grd_rgst.row = row - 1;
  821. ]]>
  822. </script>
  823. </button>
  824. <button id="btn_down" visibility="hidden" style="left:1126px; top:320px; width:26px; height:19px; background-image:../../../com/commonweb/images/btn_send_down.gif; ">
  825. <caption/>
  826. <script type="javascript" ev:event="DOMActivate">
  827. <![CDATA[
  828. var row = grd_rgst.row;
  829. var rpath = "/root/send/rgst/terminfo";
  830. var tpath = "/root/temp/templist/terminfo";
  831. var cnt = instance1.selectNodes(rpath).length;
  832. if (row == cnt) {
  833. return;
  834. }
  835. var idx = 1;
  836. for (var i = 1; i <= cnt; i++) {
  837. if (i == row + 1) {
  838. idx = i - 1;
  839. } else if (i == row) {
  840. idx = i + 1;
  841. } else {
  842. idx = i;
  843. }
  844. model.makeValue(tpath + "[" + i + "]/ctrlseq", model.getValue(rpath + "[" + idx + "]/ctrlseq"));
  845. model.makeValue(tpath + "[" + i + "]/termseq", i);
  846. model.makeValue(tpath + "[" + i + "]/itemtype", model.getValue(rpath + "[" + idx + "]/itemtype"));
  847. model.makeValue(tpath + "[" + i + "]/itemseq", model.getValue(rpath + "[" + idx + "]/itemseq"));
  848. model.makeValue(tpath + "[" + i + "]/itemnm", model.getValue(rpath + "[" + idx + "]/itemnm"));
  849. model.makeValue(tpath + "[" + i + "]/opcode", model.getValue(rpath + "[" + idx + "]/opcode"));
  850. model.makeValue(tpath + "[" + i + "]/valtype", model.getValue(rpath + "[" + idx + "]/valtype"));
  851. model.makeValue(tpath + "[" + i + "]/val", model.getValue(rpath + "[" + idx + "]/val"));
  852. model.makeValue(tpath + "[" + i + "]/valnm", model.getValue(rpath + "[" + idx + "]/valnm"));
  853. model.makeValue(tpath + "[" + i + "]/inflag", model.getValue(rpath + "[" + idx + "]/inflag"));
  854. }
  855. cnt = instance1.selectNodes(tpath).length;
  856. model.resetInstanceNode(rpath);
  857. for (var i = 1; i <= cnt; i++) {
  858. model.makeValue(rpath + "[" + i + "]/ctrlseq", model.getValue(tpath + "[" + i + "]/ctrlseq"));
  859. model.makeValue(rpath + "[" + i + "]/termseq", model.getValue(tpath + "[" + i + "]/termseq"));
  860. model.makeValue(rpath + "[" + i + "]/itemtype", model.getValue(tpath + "[" + i + "]/itemtype"));
  861. model.makeValue(rpath + "[" + i + "]/itemseq", model.getValue(tpath + "[" + i + "]/itemseq"));
  862. model.makeValue(rpath + "[" + i + "]/itemnm", model.getValue(tpath + "[" + i + "]/itemnm"));
  863. model.makeValue(rpath + "[" + i + "]/opcode", model.getValue(tpath + "[" + i + "]/opcode"));
  864. model.makeValue(rpath + "[" + i + "]/valtype", model.getValue(tpath + "[" + i + "]/valtype"));
  865. model.makeValue(rpath + "[" + i + "]/val", model.getValue(tpath + "[" + i + "]/val"));
  866. model.makeValue(rpath + "[" + i + "]/valnm", model.getValue(tpath + "[" + i + "]/valnm"));
  867. model.makeValue(rpath + "[" + i + "]/inflag", model.getValue(tpath + "[" + i + "]/inflag"));
  868. }
  869. model.removenode("/root/temp/templist");
  870. grd_rgst.refresh();
  871. grd_rgst.row = row + 1;
  872. ]]>
  873. </script>
  874. </button>
  875. <caption id="caption4" class="cell_1" style="left:625px; top:630px; width:58px; height:105px; text-align:left; ">제어설명</caption>
  876. <textarea id="tar_rgstdesc" ref="/root/send/rgst/ctrldesc" scroll="autovscroll" maxbyte="4000" style="left:684px; top:630px; width:510px; height:105px; padding:5; "/>
  877. <caption id="caption14" class="tit_2" style="left:0px; top:325px; width:142px; height:13px; font-weight:bold; ">
  878. <![CDATA[제어문 등록 & 수정]]>
  879. </caption>
  880. <group id="group2" style="left:0px; top:392px; width:615px; height:368px; background-color:#fffbf2; border-color:#ffd799; border-style:solid; ">
  881. <caption id="cap_valnm" ref="/root/temp/term/valnm" style="left:209px; top:337px; width:345px; height:20px; text-align:center; background-color:#ffffa0; border-color:#999999; border-style:solid; "/>
  882. <group id="grp_ref" visibility="hidden" style="left:209px; top:29px; width:125px; height:300px; background-color:#fffbf2; border-color:#c0c0c0; border-style:solid; ">
  883. <select id="chk_ref" ref="/root/hidden/valtype/refyn" disabled="true" overflow="visible" appearance="full" style="left:5px; top:5px; width:70px; height:20px; border-style:none; ">
  884. <choices>
  885. <item>
  886. <label>참조 항목</label>
  887. <value>Y</value>
  888. </item>
  889. </choices>
  890. <script type="javascript" ev:event="xforms-value-changed">
  891. <![CDATA[
  892. fSetTypeChk("R", chk_ref.value);
  893. ]]>
  894. </script>
  895. </select>
  896. <caption id="cap_addval" visibility="hidden" style="left:4px; top:278px; width:25px; height:15px; ">+/-</caption>
  897. <input id="ipt_addval" ref="/root/temp/addval" visibility="hidden" style="left:30px; top:275px; width:44px; height:19px; ">
  898. <script type="javascript" ev:event="onkeyup">
  899. <![CDATA[
  900. if (event.keyCode == "13") {
  901. model.setValue("/root/temp/addval", ipt_addval.currentText);
  902. ipt_addval.refresh();
  903. btn_addipt.dispatch("DOMActivate");
  904. }
  905. ]]>
  906. </script>
  907. </input>
  908. <button id="btn_addipt" class="btn2_letter2" visibility="hidden" style="left:77px; top:275px; width:42px; height:19px; ">
  909. <caption>입력</caption>
  910. <script type="javascript" ev:event="DOMActivate">
  911. <![CDATA[
  912. var val = model.getValue("/root/temp/addval");
  913. var iVal = parseInt(val);
  914. if (String(iVal) == "NaN") {
  915. messageBox("가산 값은 숫자만 입력할 수 있습니다.", "E999");
  916. model.setValue("/root/temp/addval", "");
  917. ipt_addval.refresh();
  918. model.setFocus("ipt_addval");
  919. return;
  920. }
  921. if (iVal >= 0) {
  922. val = " +" + val;
  923. } else {
  924. val = " " + val;
  925. }
  926. model.setValue("/root/temp/term/val", grd_ref.valueMatrix(grd_ref.row, grd_ref.colRef("valid")) + val);
  927. model.setValue("/root/temp/term/valnm", grd_ref.valueMatrix(grd_ref.row, grd_ref.colRef("itemnm")) + val);
  928. cap_valnm.hint = model.getValue("/root/temp/term/valnm");
  929. cap_valnm.refresh();
  930. ]]>
  931. </script>
  932. </button>
  933. <datagrid id="grd_ref" nodeset="/root/temp/reflist/refinfo" visibility="hidden" allowselection="false" backcoloralternate="transparent" colsep="^" colwidth="0, 0, 100" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowsep="|" style="left:4px; top:25px; width:115px; height:246px; ">
  934. <col ref="itemseq" visibility="hidden"/>
  935. <col ref="valid" visibility="hidden"/>
  936. <col ref="itemnm"/>
  937. <script type="javascript" ev:event="onclick">
  938. <![CDATA[
  939. if (!grd_ref.isCell(event.target)) {
  940. return;
  941. }
  942. var val = model.getValue("/root/temp/addval");
  943. var iVal = parseInt(val);
  944. if (String(iVal) == "NaN") {
  945. val = "";
  946. } else {
  947. if (iVal >= 0) {
  948. val = " +" + val;
  949. } else {
  950. val = " " + val;
  951. }
  952. }
  953. model.setValue("/root/temp/term/val", grd_ref.valueMatrix(grd_ref.row, grd_ref.colRef("valid")) + val);
  954. model.setValue("/root/temp/term/valnm", grd_ref.valueMatrix(grd_ref.row, grd_ref.colRef("itemnm")) + val);
  955. cap_valnm.hint = model.getValue("/root/temp/term/valnm");
  956. cap_valnm.refresh();
  957. ]]>
  958. </script>
  959. </datagrid>
  960. </group>
  961. <group id="grp_drct" style="left:209px; top:29px; width:190px; height:50px; background-color:#fffbf2; border-color:#c0c0c0; border-style:solid; ">
  962. <select id="chk_drct" ref="/root/hidden/valtype/drctyn" disabled="true" overflow="visible" appearance="full" style="left:5px; top:5px; width:75px; height:20px; border-style:none; ">
  963. <choices>
  964. <item>
  965. <label>직접 입력</label>
  966. <value>Y</value>
  967. </item>
  968. </choices>
  969. <script type="javascript" ev:event="xforms-value-changed">
  970. <![CDATA[
  971. fSetTypeChk("D", chk_drct.value);
  972. ]]>
  973. </script>
  974. </select>
  975. <input id="ipt_drct" ref="/root/temp/iptval/valnm" visibility="hidden" style="left:5px; top:25px; width:179px; height:19px; ">
  976. <script type="javascript" ev:event="onkeyup">
  977. <![CDATA[
  978. if (event.keyCode == "13") {
  979. model.setValue("/root/temp/iptval/valnm", ipt_drct.currentText);
  980. ipt_drct.refresh();
  981. btn_drctipt.dispatch("DOMActivate");
  982. }
  983. ]]>
  984. </script>
  985. </input>
  986. <button id="btn_drctipt" class="btn2_letter2" visibility="hidden" style="left:142px; top:4px; width:42px; height:19px; ">
  987. <caption>입력</caption>
  988. <script type="javascript" ev:event="DOMActivate">
  989. <![CDATA[
  990. model.setValue("/root/temp/iptval/val", model.getValue("/root/temp/iptval/valnm"));
  991. model.setValue("/root/temp/term/val", model.getValue("/root/temp/iptval/val"));
  992. model.setValue("/root/temp/term/valnm", model.getValue("/root/temp/iptval/valnm"));
  993. model.setValue("/root/temp/iptval/val", "");
  994. model.setValue("/root/temp/iptval/valnm", "");
  995. ipt_drct.hint = "";
  996. ipt_drct.refresh();
  997. cap_valnm.hint = model.getValue("/root/temp/term/valnm");
  998. cap_valnm.refresh();
  999. ]]>
  1000. </script>
  1001. </button>
  1002. </group>
  1003. <datagrid id="grd_item" allowselection="false" backcoloralternate="transparent" colsep="^" colwidth="0, 0, 0, 0, 0, 0, 0, 100" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowsep="|" style="left:9px; top:84px; width:115px; height:245px; ">
  1004. <col ref="itemtype" visibility="hidden"/>
  1005. <col ref="itemseq" visibility="hidden"/>
  1006. <col ref="valtype" visibility="hidden"/>
  1007. <col ref="addflag" visibility="hidden"/>
  1008. <col ref="valid" visibility="hidden"/>
  1009. <col ref="srchcd" visibility="hidden"/>
  1010. <col ref="valseqarr" visibility="hidden"/>
  1011. <col ref="itemnm"/>
  1012. <script type="javascript" ev:event="onclick">
  1013. <![CDATA[
  1014. if (!grd_item.isCell(event.target)) {
  1015. return;
  1016. }
  1017. // 조건 값 초기화
  1018. model.resetInstanceNode("/root/temp/reflist/refinfo");
  1019. grd_ref.refresh();
  1020. model.setValue("/root/temp/addval", "");
  1021. ipt_addval.refresh();
  1022. model.setValue("/root/temp/iptval/val", "");
  1023. model.setValue("/root/temp/iptval/valnm", "");
  1024. ipt_drct.refresh();
  1025. model.resetInstanceNode("/root/temp/enumlist/enuminfo");
  1026. rdo_enum.refresh();
  1027. model.setValue("/root/temp/enumval/val", "");
  1028. model.setValue("/root/temp/enumval/valnm", "");
  1029. rdo_enum.refresh();
  1030. model.resetInstanceNode("/root/temp/srchlist/srchinfo");
  1031. grd_srch.refresh();
  1032. model.resetInstanceNode("/root/temp/term");
  1033. cap_opnm.refresh();
  1034. cap_valnm.refresh();
  1035. model.setValue("/root/temp/term/itemtype", grd_item.valueMatrix(grd_item.row, grd_item.colRef("itemtype")));
  1036. model.setValue("/root/temp/term/itemseq", grd_item.valueMatrix(grd_item.row, grd_item.colRef("itemseq")));
  1037. model.setValue("/root/temp/term/itemnm", grd_item.valueMatrix(grd_item.row, grd_item.colRef("itemnm")));
  1038. model.setValue("/root/temp/term/srchcd", grd_item.valueMatrix(grd_item.row, grd_item.colRef("srchcd")));
  1039. cap_item.refresh();
  1040. // 값 형식 설정
  1041. var valtype = grd_item.valueMatrix(grd_item.row, grd_item.colRef("valtype"));
  1042. fSetValType(valtype);
  1043. // 가산 여부 저장
  1044. model.setValue("/root/hidden/addflag", grd_item.valueMatrix(grd_item.row, grd_item.colRef("addflag")));
  1045. // 참조 및 열거형 값목록 세팅
  1046. model.resetInstanceNode("/root/temp/reflist/refinfo");
  1047. model.resetInstanceNode("/root/temp/enumlist/enuminfo");
  1048. var cnt = instance1.selectNodes("/root/main/itemlist/iteminfo").length;
  1049. var valseq = grd_item.valueMatrix(grd_item.row, grd_item.colRef("valseqarr"));
  1050. var vsarr = valseq.split(",");
  1051. var ridx = 1;
  1052. var eidx = 1;
  1053. for (var i = 0; i < vsarr.length; i++) {
  1054. var vseq = vsarr[i];
  1055. for (var j = 1; j <= cnt; j++) {
  1056. if (model.getValue("/root/main/itemlist/iteminfo[" + j + "]/itemseq") == vseq) {
  1057. var itype = model.getValue("/root/main/itemlist/iteminfo[" + j + "]/itemtype");
  1058. var itemnm = model.getValue("/root/main/itemlist/iteminfo[" + j + "]/itemnm")
  1059. var valid = model.getValue("/root/main/itemlist/iteminfo[" + j + "]/valid")
  1060. if (itype == "R") {
  1061. model.makeValue("/root/temp/reflist/refinfo[" + ridx + "]/itemseq", vseq);
  1062. model.makeValue("/root/temp/reflist/refinfo[" + ridx + "]/valid", valid);
  1063. model.makeValue("/root/temp/reflist/refinfo[" + ridx + "]/itemnm", itemnm);
  1064. ridx++;
  1065. } else if (itype == "E") {
  1066. model.makeValue("/root/temp/enumlist/enuminfo[" + eidx + "]/itemseq", vseq);
  1067. model.makeValue("/root/temp/enumlist/enuminfo[" + eidx + "]/itemnm", itemnm);
  1068. eidx++;
  1069. }
  1070. }
  1071. }
  1072. }
  1073. grd_ref.refresh();
  1074. rdo_enum.refresh();
  1075. // 첫번째 연산 항목 선택
  1076. grd_opcode.row = 0;
  1077. model.setValue("/root/temp/term/opcode", grd_opcode.valueMatrix(0, grd_opcode.colRef("cd")));
  1078. model.setValue("/root/temp/term/opnm", grd_opcode.valueMatrix(0, grd_opcode.colRef("nm")));
  1079. cap_opnm.refresh();
  1080. ]]>
  1081. </script>
  1082. </datagrid>
  1083. <caption id="cap_opnm" ref="/root/temp/term/opnm" style="left:134px; top:337px; width:65px; height:20px; text-align:center; background-color:#ffffa0; border-color:#999999; border-style:solid; "/>
  1084. <caption id="cap_item" ref="/root/temp/term/itemnm" style="left:9px; top:337px; width:115px; height:20px; text-align:center; background-color:#ffffa0; border-color:#999999; border-style:solid; "/>
  1085. <datagrid id="grd_opcode" allowselection="false" backcoloralternate="transparent" colsep="^" colwidth="0, 50" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowsep="|" style="left:134px; top:29px; width:65px; height:300px; ">
  1086. <col ref="cd" visibility="hidden"/>
  1087. <col ref="nm" style="text-align:center; "/>
  1088. <script type="javascript" ev:event="onclick">
  1089. <![CDATA[
  1090. if (!grd_opcode.isCell(event.target)) {
  1091. return;
  1092. }
  1093. var valtype = grd_item.valueMatrix(grd_item.row, grd_item.colRef("valtype"))
  1094. var opcode = grd_opcode.valueMatrix(grd_opcode.row, grd_opcode.colRef("cd"));
  1095. model.setValue("/root/temp/term/opcode", opcode);
  1096. model.setValue("/root/temp/term/opnm", grd_opcode.valueMatrix(grd_opcode.row, grd_opcode.colRef("nm")));
  1097. cap_opnm.refresh();
  1098. // 열거형 타입이 있는 경우, 연산자에 따라 Radio, Check 변경
  1099. if (valtype.indexOf("E") > 0) {
  1100. var chkyn = model.getValue("/root/hidden/valtype/enumyn");
  1101. if (opcode == "IN" || opcode == "NI") {
  1102. chk_enumarr.visible = chkyn == "Y" ? true : false;
  1103. rdo_enum.visible = false;
  1104. } else {
  1105. var val = model.getValue("/root/temp/enumval/val");
  1106. if (val.length > 0) {
  1107. val = val.split(" ")[0];
  1108. var valnm = model.getValue("/root/main/itemlist/iteminfo[itemseq = '" + val + "']/itemnm");
  1109. model.setValue("/root/temp/enumval/val", val);
  1110. model.setValue("/root/temp/enumval/valnm", valnm);
  1111. rdo_enum.refresh();
  1112. chk_enumarr.refresh();
  1113. model.setValue("/root/temp/term/val", val);
  1114. model.setValue("/root/temp/term/valnm", valnm);
  1115. cap_valnm.refresh();
  1116. }
  1117. chk_enumarr.visible = false;
  1118. rdo_enum.visible = chkyn == "Y" ? true : false;
  1119. }
  1120. } else {
  1121. }
  1122. ]]>
  1123. </script>
  1124. </datagrid>
  1125. <group id="grp_enum" style="left:209px; top:89px; width:190px; height:240px; background-color:#fffbf2; border-color:#c0c0c0; border-style:solid; ">
  1126. <select id="chk_enum" ref="/root/hidden/valtype/enumyn" disabled="true" overflow="visible" appearance="full" style="left:5px; top:5px; width:70px; height:20px; border-style:none; ">
  1127. <choices>
  1128. <item>
  1129. <label>열거 항목</label>
  1130. <value>Y</value>
  1131. </item>
  1132. </choices>
  1133. <script type="javascript" ev:event="xforms-value-changed">
  1134. <![CDATA[
  1135. fSetTypeChk("E", chk_enum.value);
  1136. ]]>
  1137. </script>
  1138. </select>
  1139. <select1 id="rdo_enum" ref="/root/temp/enumval/val" visibility="hidden" appearance="full" cols="1" rows="100" vcellspacing="5" overflow="scroll" style="left:9px; top:29px; width:170px; height:205px; ">
  1140. <choices>
  1141. <itemset nodeset="/root/temp/enumlist/enuminfo">
  1142. <label ref="itemnm"/>
  1143. <value ref="itemseq"/>
  1144. </itemset>
  1145. </choices>
  1146. <script type="javascript" ev:event="xforms-value-changed">
  1147. <![CDATA[
  1148. var valid = model.getValue("/root/main/itemlist/iteminfo[itemseq = '" + rdo_enum.value + "']/valid");
  1149. model.setValue("/root/temp/term/val", valid);
  1150. model.setValue("/root/temp/term/valnm", rdo_enum.label);
  1151. cap_valnm.refresh();
  1152. ]]>
  1153. </script>
  1154. </select1>
  1155. <select id="chk_enumarr" ref="/root/temp/enumval/val" visibility="hidden" overflow="visible" appearance="full" cols="1" rows="100" vcellspacing="5" style="left:9px; top:134px; width:170px; height:100px; border-style:none; ">
  1156. <choices>
  1157. <itemset nodeset="/root/temp/enumlist/enuminfo">
  1158. <label ref="itemnm"/>
  1159. <value ref="itemseq"/>
  1160. </itemset>
  1161. </choices>
  1162. <script type="javascript" ev:event="xforms-value-changed">
  1163. <![CDATA[
  1164. var valid = model.getValue("/root/temp/enumval/val");
  1165. var valarr = valid.split(" ");
  1166. valid = "";
  1167. var valnm = "";
  1168. for (var i = 0; i < valarr.length; i++) {
  1169. valid += model.getValue("/root/main/itemlist/iteminfo[itemseq = '" + valarr[i] + "']/valid");
  1170. valnm += model.getValue("/root/main/itemlist/iteminfo[itemseq = '" + valarr[i] + "']/itemnm");
  1171. if (i < valarr.length - 1) {
  1172. valid += ",";
  1173. valnm += ",";
  1174. }
  1175. }
  1176. model.setValue("/root/temp/term/val", valid);
  1177. model.setValue("/root/temp/term/valnm", valnm);
  1178. cap_valnm.refresh();
  1179. ]]>
  1180. </script>
  1181. </select>
  1182. </group>
  1183. <caption id="caption5" class="tit_2" style="left:134px; top:9px; width:51px; height:13px; ">연산</caption>
  1184. <caption id="caption6" class="tit_2" style="left:209px; top:9px; width:39px; height:13px; ">값</caption>
  1185. <caption id="caption16" class="tit_2" style="left:9px; top:64px; width:74px; height:13px; ">항목</caption>
  1186. <caption id="cap_grid" class="tit_2" style="left:9px; top:9px; width:49px; height:13px; ">구분</caption>
  1187. <button id="btn_add" class="btn2_letter2" style="left:562px; top:337px; width:42px; height:19px; background-image:../../../com/commonweb/images/btn1_letter2.gif; ">
  1188. <caption>추가</caption>
  1189. <script type="javascript" ev:event="DOMActivate">
  1190. <![CDATA[
  1191. if (model.getValue("/root/temp/term/itemseq") == "") {
  1192. messageBox("항목이 설정되지 않았습니다.", "E999");
  1193. return;
  1194. }
  1195. if (model.getValue("/root/temp/term/opcode") == "") {
  1196. messageBox("연산자가 설정되지 않았습니다.", "E999");
  1197. return;
  1198. }
  1199. if (model.getValue("/root/temp/term/itemtype") != "C" && model.getValue("/root/temp/term/valnm") == "") {
  1200. messageBox("값이 설정되지 않았습니다.", "E999");
  1201. return;
  1202. }
  1203. var idx = instance1.selectNodes("/root/send/rgst/terminfo[termseq != '']").length + 1;
  1204. var opcode = model.getValue("/root/temp/term/opcode");
  1205. if (opcode == "IN" || opcode == "NI") {
  1206. var inflag = "";
  1207. var valtype = model.getValue("/root/temp/term/valtype");
  1208. if (valtype == "E") {
  1209. var valarr = model.getValue("/root/temp/term/val").split(",");
  1210. var valnmarr = model.getValue("/root/temp/term/valnm").split(",");
  1211. for (var i = 0; i < valarr.length; i++) {
  1212. if (i == 0) {
  1213. inflag = "S";
  1214. } else if (i == valarr.length - 1) {
  1215. inflag = "E";
  1216. } else {
  1217. inflag = "";
  1218. }
  1219. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/ctrlseq", model.getValue("/root/temp/term/ctrlseq"));
  1220. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/termseq", idx);
  1221. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/itemtype", model.getValue("/root/temp/term/itemtype"));
  1222. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/itemseq", model.getValue("/root/temp/term/itemseq"));
  1223. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/itemnm", model.getValue("/root/temp/term/itemnm"));
  1224. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/opcode", opcode);
  1225. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/valtype", model.getValue("/root/temp/term/valtype"));
  1226. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/val", valarr[i]);
  1227. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/valnm", valnmarr[i]);
  1228. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/inflag", inflag);
  1229. idx++;
  1230. }
  1231. } else if (valtype == "S") {
  1232. var cnt = instance1.selectNodes("/root/temp/srchlist/srchinfo").length;
  1233. // 이내, 혹은 이외 이지만 건수가 1개밖에 없을 경우, 일치 혹은 불일치로 변경
  1234. if (cnt == 1) {
  1235. if (opcode == "IN") {
  1236. opcode = "EQ";
  1237. } else if (opcode == "NI") {
  1238. opcode = "NE";
  1239. }
  1240. }
  1241. for (var i = 1; i <= cnt; i++) {
  1242. if (i == 1) {
  1243. inflag = "S";
  1244. } else if (i == cnt) {
  1245. inflag = "E";
  1246. } else {
  1247. inflag = "";
  1248. }
  1249. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/ctrlseq", model.getValue("/root/temp/term/ctrlseq"));
  1250. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/termseq", idx);
  1251. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/itemtype", model.getValue("/root/temp/term/itemtype"));
  1252. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/itemseq", model.getValue("/root/temp/term/itemseq"));
  1253. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/itemnm", model.getValue("/root/temp/term/itemnm"));
  1254. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/opcode", opcode);
  1255. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/valtype", model.getValue("/root/temp/term/valtype"));
  1256. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/val", model.getValue("/root/temp/srchlist/srchinfo[" + i + "]/val"));
  1257. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/valnm", model.getValue("/root/temp/srchlist/srchinfo[" + i + "]/valnm"));
  1258. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/inflag", inflag);
  1259. idx++;
  1260. }
  1261. }
  1262. } else {
  1263. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/ctrlseq", model.getValue("/root/temp/term/ctrlseq"));
  1264. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/termseq", idx);
  1265. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/itemtype", model.getValue("/root/temp/term/itemtype"));
  1266. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/itemseq", model.getValue("/root/temp/term/itemseq"));
  1267. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/itemnm", model.getValue("/root/temp/term/itemnm"));
  1268. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/opcode", opcode);
  1269. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/valtype", model.getValue("/root/temp/term/valtype"));
  1270. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/val", model.getValue("/root/temp/term/val"));
  1271. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/valnm", model.getValue("/root/temp/term/valnm"));
  1272. model.makeValue("/root/send/rgst/terminfo[" + idx + "]/inflag", "");
  1273. }
  1274. grd_rgst.refresh();
  1275. grd_rgst.resizeCells();
  1276. fClearValues();
  1277. ]]>
  1278. </script>
  1279. </button>
  1280. <select1 id="rdo_itemtype" ref="/root/temp/term/itemtype" appearance="full" cellspacing="5" cols="2" overflow="visible" style="left:9px; top:29px; width:100px; height:20px; border-style:none; ">
  1281. <choices>
  1282. <itemset nodeset="/root/init/itemtype/typeinfo">
  1283. <label ref="nm"/>
  1284. <value ref="cd"/>
  1285. </itemset>
  1286. </choices>
  1287. <script type="javascript" ev:event="xforms-value-changed">
  1288. <![CDATA[
  1289. var itemtype = model.getValue("/root/temp/term/itemtype");
  1290. grd_item.nodeset = "/root/main/itemlist/iteminfo[itemtype = '" + itemtype + "']";
  1291. // 항목 및 연산 코드 설정
  1292. if (itemtype == "R") {
  1293. grd_opcode.nodeset = "/root/init/opcode/cdinfo[rflag='Y']";
  1294. } else if (itemtype == "C") {
  1295. grd_opcode.nodeset = "/root/init/opcode/cdinfo[cflag='Y']";
  1296. }
  1297. // 값 형식 초기화
  1298. fSetValType("");
  1299. ]]>
  1300. </script>
  1301. </select1>
  1302. <group id="grp_srch" style="left:409px; top:29px; width:195px; height:300px; background-color:#fffbf2; border-color:#c0c0c0; border-style:solid; ">
  1303. <select id="chk_srch" ref="/root/hidden/valtype/srchyn" disabled="true" overflow="visible" appearance="full" style="left:5px; top:5px; width:70px; height:20px; border-style:none; ">
  1304. <choices>
  1305. <item>
  1306. <label>조회 입력</label>
  1307. <value>Y</value>
  1308. </item>
  1309. </choices>
  1310. <script type="javascript" ev:event="xforms-value-changed">
  1311. <![CDATA[
  1312. fSetTypeChk("S", chk_srch.value);
  1313. ]]>
  1314. </script>
  1315. </select>
  1316. <button id="btn_srch" class="icon_search" visibility="hidden" style="left:79px; top:6px; width:16px; height:16px; ">
  1317. <caption/>
  1318. <script type="javascript" ev:event="DOMActivate">
  1319. <![CDATA[
  1320. setParameter("SMPMB03702_srchcd", model.getValue("/root/temp/term/srchcd"));
  1321. setParameter("SMPMB03702_opcode", model.getValue("/root/temp/term/opcode"));
  1322. modal("SMPMB03702");
  1323. grd_srch.refresh();
  1324. grd_srch.resizeCells();
  1325. var cnt = instance1.selectNodes("/root/temp/srchlist/srchinfo").length;
  1326. if (model.getValue("/root/temp/term/opcode") != "IN" &&
  1327. model.getValue("/root/temp/term/opcode") != "NI" &&
  1328. cnt > 1) {
  1329. messageBox("2개 이상의 조회 항목은 연산을 [이내], 혹은 [이외]로 지정해햐 합니다.", "E999");
  1330. return;
  1331. }
  1332. ]]>
  1333. </script>
  1334. </button>
  1335. <button id="btn_srchipt" class="btn2_letter2" visibility="hidden" style="left:147px; top:4px; width:42px; height:19px; ">
  1336. <caption>입력</caption>
  1337. <script type="javascript" ev:event="DOMActivate">
  1338. <![CDATA[
  1339. var cnt = instance1.selectNodes("/root/temp/srchlist/srchinfo").length;
  1340. if (cnt < 1) {
  1341. return;
  1342. }
  1343. if (model.getValue("/root/temp/term/opcode") != "IN" &&
  1344. model.getValue("/root/temp/term/opcode") != "NI" &&
  1345. cnt > 1) {
  1346. messageBox("2개 이상의 조회 항목은 연산을 [이내], 혹은 [이외]로 지정해햐 합니다.", "E999");
  1347. return;
  1348. }
  1349. var valnm = model.getValue("/root/temp/srchlist/srchinfo/valnm");
  1350. if (cnt > 1) {
  1351. valnm += " 외 " + ( cnt - 1 ) + " 건";
  1352. }
  1353. model.setValue("/root/temp/term/val", model.getValue("/root/temp/srchlist/srchinfo/val"));
  1354. model.setValue("/root/temp/term/valnm", valnm);
  1355. cap_valnm.hint = model.getValue("/root/temp/term/valnm");
  1356. cap_valnm.refresh();
  1357. ]]>
  1358. </script>
  1359. </button>
  1360. <datagrid id="grd_srch" nodeset="/root/temp/srchlist/srchinfo" visibility="hidden" autoresize="true" colsep="^" colwidth="0, 150" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:4px; top:24px; width:185px; height:270px; ">
  1361. <col ref="val"/>
  1362. <col ref="valnm"/>
  1363. </datagrid>
  1364. <button id="btn_delsrch" class="btn2_letter2" visibility="hidden" style="left:104px; top:4px; width:42px; height:19px; ">
  1365. <caption>삭제</caption>
  1366. <script type="javascript" ev:event="DOMActivate">
  1367. <![CDATA[
  1368. grd_srch.deleteRow(grd_srch.row, true);
  1369. ]]>
  1370. </script>
  1371. </button>
  1372. </group>
  1373. </group>
  1374. <caption id="cap_status" style="left:504px; top:323px; width:31px; height:15px; font-weight:bold; text-align:left; vertical-align:middle; ">등록</caption>
  1375. <caption id="caption18" style="left:469px; top:323px; width:35px; height:15px; ">상태 :</caption>
  1376. <line id="line1" class="line_1" style="x1:0px; y1:85px; x2:1195px; y2:85px; "/>
  1377. <line id="line2" class="line_1" style="x1:625px; y1:340px; x2:1195px; y2:340px; "/>
  1378. <caption id="caption8" class="cell_1" style="left:625px; top:739px; width:58px; height:21px; text-align:left; ">적용기간</caption>
  1379. <caption id="caption11" style="left:774px; top:743px; width:15px; height:15px; text-align:center; ">~</caption>
  1380. <input id="ipt_fromdd" ref="/root/send/rgst/fromdd" inputtype="date" style="left:684px; top:740px; width:90px; height:19px; "/>
  1381. <input id="ipt_todd" ref="/root/send/rgst/todd" inputtype="date" style="left:788px; top:740px; width:90px; height:19px; "/>
  1382. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:20px; width:1195px; height:41px; background-color:#fffbf2; border-color:#ffd799; "/>
  1383. <caption id="caption35" class="search_name" style="left:5px; top:33px; width:76px; height:17px; ">예약처 :</caption>
  1384. <select1 id="cmb_rsrvplce" ref="/root/send/srch/rsrvplce" navindex="1" appearance="minimal" style="left:85px; top:31px; width:80px; height:19px; ">
  1385. <choices>
  1386. <item>
  1387. <label>통합예약</label>
  1388. <value>T</value>
  1389. </item>
  1390. <item>
  1391. <label>병동</label>
  1392. <value>I</value>
  1393. </item>
  1394. <item>
  1395. <label>외래</label>
  1396. <value>O</value>
  1397. </item>
  1398. </choices>
  1399. </select1>
  1400. <caption id="caption1" class="search_name" style="left:180px; top:33px; width:86px; height:17px; ">수행부서 :</caption>
  1401. <select1 id="cmb_deptcd" ref="/root/send/srch/suppdeptcd" navindex="2" appearance="minimal" style="left:270px; top:31px; width:140px; height:19px; ">
  1402. <choices>
  1403. <itemset nodeset="/root/init/deptlist/deptinfo">
  1404. <label ref="deptnm"/>
  1405. <value ref="deptcd"/>
  1406. </itemset>
  1407. </choices>
  1408. <script type="javascript" ev:event="xforms-value-changed">
  1409. <![CDATA[
  1410. model.setValue("/root/send/srch/srchflag", "R");
  1411. model.setValue("/root/send/srch/deptcd", model.getValue("/root/send/srch/suppdeptcd"));
  1412. document.all("TRPMB03703").attribute("resultref") = "/root/init/srch/roomlist/roominfo";
  1413. submit("TRPMB03703");
  1414. addComboItem("cmb_roomcd", "전체", "T");
  1415. cmb_roomcd.select(0);
  1416. model.setValue("/root/send/srch/srchflag", "C");
  1417. model.setValue("/root/send/srch/deptcd", model.getValue("/root/send/srch/suppdeptcd"));
  1418. model.setValue("/root/send/srch/roomcd", "T");
  1419. document.all("TRPMB03704").attribute("resultref") = "/root/init/srch/excdlist/excdinfo";
  1420. submit("TRPMB03704");
  1421. addComboItem("cmb_excucd", "전체", "T");
  1422. cmb_excucd.select(0);
  1423. ]]>
  1424. </script>
  1425. </select1>
  1426. <caption id="caption2" class="search_name" style="left:425px; top:33px; width:74px; height:17px; ">검사실 :</caption>
  1427. <select1 id="cmb_roomcd" ref="/root/send/srch/excuroomcd" navindex="3" appearance="minimal" style="left:505px; top:31px; width:140px; height:19px; ">
  1428. <choices>
  1429. <itemset nodeset="/root/init/srch/roomlist/roominfo">
  1430. <label ref="roomnm"/>
  1431. <value ref="roomcd"/>
  1432. </itemset>
  1433. </choices>
  1434. </select1>
  1435. <caption id="caption3" class="search_name" style="left:665px; top:33px; width:76px; height:17px; ">검사명 :</caption>
  1436. <select1 id="cmb_excucd" ref="/root/send/srch/excucd" navindex="4" appearance="minimal" style="left:744px; top:31px; width:285px; height:19px; ">
  1437. <choices>
  1438. <itemset nodeset="/root/init/srch/excdlist/excdinfo">
  1439. <label ref="excunm"/>
  1440. <value ref="excucd"/>
  1441. </itemset>
  1442. </choices>
  1443. <script type="javascript" ev:event="xforms-value-changed">
  1444. <![CDATA[
  1445. cmb_excucd.hint = cmb_excucd.label;
  1446. ]]>
  1447. </script>
  1448. </select1>
  1449. <select1 id="cmb_newcdyn" ref="/root/send/srch/newcdyn" navindex="5" appearance="minimal" style="left:1038px; top:31px; width:70px; height:19px; ">
  1450. <choices>
  1451. <item>
  1452. <label>신코드</label>
  1453. <value>Y</value>
  1454. </item>
  1455. <item>
  1456. <label>구코드</label>
  1457. <value>N</value>
  1458. </item>
  1459. <item>
  1460. <label>전체</label>
  1461. <value>T</value>
  1462. </item>
  1463. </choices>
  1464. </select1>
  1465. <button id="btn_search" class="btn1_letter2" navindex="6" style="left:1130px; top:30px; width:56px; height:22px; background-image:../../../com/commonweb/images/btn1_letter2.gif; ">
  1466. <caption>조회</caption>
  1467. <script type="javascript" ev:event="DOMActivate">
  1468. <![CDATA[
  1469. fSearchTerms();
  1470. ]]>
  1471. </script>
  1472. </button>
  1473. <line id="line13" style="x1:1120px; y1:30px; x2:1120px; y2:57px; border-color:#FFD799; border-left-style:solid; "/>
  1474. <line id="line3" class="line_1" style="x1:0px; y1:340px; x2:615px; y2:340px; "/>
  1475. <caption id="caption12" style="left:0px; top:347px; width:80px; height:20px; text-align:center; background-color:#cce8ff; ">예약처</caption>
  1476. <select1 id="cmb_rgstplce" ref="/root/send/rgst/rsrvplce" appearance="minimal" style="left:0px; top:370px; width:80px; height:19px; background-color:#ffffa0; ">
  1477. <choices>
  1478. <item>
  1479. <label>통합예약</label>
  1480. <value>T</value>
  1481. </item>
  1482. <item>
  1483. <label>병동</label>
  1484. <value>I</value>
  1485. </item>
  1486. <item>
  1487. <label>외래</label>
  1488. <value>O</value>
  1489. </item>
  1490. </choices>
  1491. </select1>
  1492. <caption id="caption13" style="left:81px; top:347px; width:120px; height:20px; text-align:center; background-color:#cce8ff; ">수행부서</caption>
  1493. <select1 id="cmb_rgstdept" ref="/root/send/rgst/suppdeptcd" appearance="minimal" style="left:81px; top:370px; width:120px; height:19px; background-color:#ffffa0; ">
  1494. <choices>
  1495. <itemset nodeset="/root/init/deptlist/deptinfo">
  1496. <label ref="deptnm"/>
  1497. <value ref="deptcd"/>
  1498. </itemset>
  1499. </choices>
  1500. <script type="javascript" ev:event="xforms-value-changed">
  1501. <![CDATA[
  1502. model.setValue("/root/send/srch/srchflag", "R");
  1503. model.setValue("/root/send/srch/deptcd", model.getValue("/root/send/rgst/suppdeptcd"));
  1504. document.all("TRPMB03703").attribute("resultref") = "/root/init/rgst/roomlist/roominfo";
  1505. submit("TRPMB03703");
  1506. addComboItem("cmb_rgstroom", "전체", "T");
  1507. cmb_rgstroom.select(0);
  1508. model.setValue("/root/send/srch/srchflag", "C");
  1509. model.setValue("/root/send/srch/deptcd", model.getValue("/root/send/rgst/suppdeptcd"));
  1510. model.setValue("/root/send/srch/roomcd", "T");
  1511. document.all("TRPMB03704").attribute("resultref") = "/root/init/rgst/excdlist/excdinfo";
  1512. submit("TRPMB03704");
  1513. addComboItem("cmb_rgstexcd", "전체", "T");
  1514. cmb_rgstexcd.select(0);
  1515. ]]>
  1516. </script>
  1517. </select1>
  1518. <caption id="caption15" style="left:202px; top:347px; width:120px; height:20px; text-align:center; background-color:#cce8ff; ">검사실</caption>
  1519. <select1 id="cmb_rgstroom" ref="/root/send/rgst/excuroomcd" appearance="minimal" style="left:202px; top:370px; width:120px; height:19px; background-color:#ffffa0; ">
  1520. <choices>
  1521. <itemset nodeset="/root/init/rgst/roomlist/roominfo">
  1522. <label ref="roomnm"/>
  1523. <value ref="roomcd"/>
  1524. </itemset>
  1525. </choices>
  1526. </select1>
  1527. <caption id="caption17" style="left:323px; top:347px; width:292px; height:20px; text-align:center; background-color:#cce8ff; ">검사명</caption>
  1528. <select1 id="cmb_rgstexcd" ref="/root/send/rgst/excucd" appearance="minimal" style="left:323px; top:370px; width:292px; height:19px; background-color:#ffffa0; ">
  1529. <choices>
  1530. <itemset nodeset="/root/init/rgst/excdlist/excdinfo">
  1531. <label ref="excunm"/>
  1532. <value ref="excucd"/>
  1533. </itemset>
  1534. </choices>
  1535. <script type="javascript" ev:event="xforms-value-changed">
  1536. <![CDATA[
  1537. cmb_rgstexcd.hint = cmb_rgstexcd.label;
  1538. ]]>
  1539. </script>
  1540. </select1>
  1541. <button id="btn_expand" style="left:1033px; top:65px; width:26px; height:19px; background-image:../../../com/commonweb/images/btn_send_bottom.gif; ">
  1542. <caption/>
  1543. <script type="javascript" ev:event="DOMActivate">
  1544. <![CDATA[
  1545. grd_ctrl.attribute("height") = "670px";
  1546. ]]>
  1547. </script>
  1548. </button>
  1549. <button id="btn_collapse" style="left:1061px; top:65px; width:26px; height:19px; background-image:../../../com/commonweb/images/btn_send_top.gif; ">
  1550. <caption/>
  1551. <script type="javascript" ev:event="DOMActivate">
  1552. <![CDATA[
  1553. grd_ctrl.attribute("height") = "220px";
  1554. ]]>
  1555. </script>
  1556. </button>
  1557. <line id="line4" class="line_3" style="x1:0px; y1:345px; x2:615px; y2:345px; "/>
  1558. <line id="line5" class="line_3" style="x1:0px; y1:390px; x2:615px; y2:390px; "/>
  1559. <line id="line6" class="line_3" style="x1:0px; y1:368px; x2:615px; y2:368px; "/>
  1560. <datagrid id="grd_ctrl" nodeset="/root/main/ctrllist/ctrlinfo" allowselection="false" autoresize="true" caption="예약처^수행부서^수행부서^검사실^검사실^검사코드^검사명^순번^항수^설명^제어^적용시작일^적용종료일" colsep="^" colwidth="60, 0, 120, 0, 120, 0, 200, 40, 40, 370, 40, 80, 80" explorerbar="sort" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:0px; top:90px; width:1195px; height:220px; ">
  1561. <col disabled="true" ref="rsrvplce" type="combo" style="text-align:center; ">
  1562. <choices>
  1563. <item>
  1564. <label>통합예약</label>
  1565. <value>T</value>
  1566. </item>
  1567. <item>
  1568. <label>병동</label>
  1569. <value>I</value>
  1570. </item>
  1571. <item>
  1572. <label>외래</label>
  1573. <value>O</value>
  1574. </item>
  1575. </choices>
  1576. </col>
  1577. <col ref="suppdeptcd"/>
  1578. <col ref="suppdeptnm" style="text-align:center; "/>
  1579. <col ref="excuroomcd"/>
  1580. <col ref="excuroomnm" style="text-align:center; "/>
  1581. <col ref="excucd"/>
  1582. <col ref="excunm" style="text-align:center; "/>
  1583. <col ref="ctrlseq" style="text-align:center; "/>
  1584. <col ref="termcnt" style="text-align:center; "/>
  1585. <col ref="ctrldesc"/>
  1586. <col ref="ctrltype" style="text-align:center; "/>
  1587. <col ref="fromdd" format="yyyy-mm-dd" style="text-align:center; "/>
  1588. <col ref="todd" format="yyyy-mm-dd" style="text-align:center; "/>
  1589. <script type="javascript" ev:event="ondblclick">
  1590. <![CDATA[
  1591. if (!grd_ctrl.isCell(event.target)) {
  1592. return;
  1593. }
  1594. fSetTermInfo();
  1595. fSetRgstStatus(false);
  1596. ]]>
  1597. </script>
  1598. <script type="javascript" ev:event="onmousedown">
  1599. <![CDATA[
  1600. grd_ctrl.focusColor = "#ece1ec";
  1601. ]]>
  1602. </script>
  1603. <script type="javascript" ev:event="onaftersort">
  1604. <![CDATA[
  1605. grd_ctrl.gridToInstance();
  1606. grd_ctrl.resizeCells();
  1607. ]]>
  1608. </script>
  1609. </datagrid>
  1610. <button id="btn_excel" class="btn2_letter4" style="left:1131px; top:65px; width:64px; height:19px; ">
  1611. <caption>엑셀저장</caption>
  1612. <script type="javascript" ev:event="DOMActivate">
  1613. <![CDATA[
  1614. var filename = window.fileDialog("save", ",", false, "검사 예약 제어 정보", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  1615. grd_ctrl.saveExcel(filename, "sheetname:제어 내역;colhiddenextend:true;rowhiddenextend:false;");
  1616. messageBox("엑셀 저장이 완료되었습니다.", "I999");
  1617. ]]>
  1618. </script>
  1619. </button>
  1620. </xhtml:body>
  1621. </xhtml:html>