SMZRM00300_요구사항확인.xrw 59 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366
  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>요구사항관리</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <list>
  11. <reqmngt>
  12. <prcscd/>
  13. <fstrgstdt/>
  14. <usernm/>
  15. <reqnm/>
  16. <reqdd/>
  17. <instnm/>
  18. <reqdeptnm/>
  19. <requsernm/>
  20. <telno/>
  21. <prcstitl/>
  22. <itcconf/>
  23. <infoconfmng/>
  24. <prcsmsg/>
  25. <statnm/>
  26. <itcagryn/>
  27. <deptagryn/>
  28. <reqpart/>
  29. <impnm/>
  30. <secuflag/>
  31. <emgflag/>
  32. <projcd/>
  33. <filegrpno/>
  34. <tftno/>
  35. <statcd/>
  36. <fstrpttxt/>
  37. <rpttxt/>
  38. <fstrnm/>
  39. <fstrdt/>
  40. <lastnm/>
  41. <lastdt/>
  42. <userid/>
  43. <instcd/>
  44. <reqgubun/>
  45. <updateuserid/>
  46. <posdeptnm/>
  47. <posinstnm/>
  48. <attach/>
  49. <itcconfnm/>
  50. <infomngconfnm/>
  51. <preprcscd/>
  52. <itcconfgrpno/>
  53. <infomnggrpno/>
  54. <appinst/>
  55. <priocd/>
  56. <prionm/>
  57. <impcd/>
  58. <deptagrlst/>
  59. </reqmngt>
  60. </list>
  61. <data>
  62. <prcscd/>
  63. <reqdd/>
  64. <reqdeptnm/>
  65. <requsernm/>
  66. <telno/>
  67. <prcstitl/>
  68. <prcsmsg/>
  69. <itcagryn/>
  70. <deptagryn/>
  71. <reqpart/>
  72. <secuflag/>
  73. <emgflag/>
  74. <filegrpno/>
  75. <statcd/>
  76. <fstrpttxt/>
  77. <rpttxt/>
  78. <reqgubun/>
  79. <impcd/>
  80. <fstrgstrid/>
  81. <instcd/>
  82. <posinstnm/>
  83. <posdeptnm/>
  84. <usernm/>
  85. <userid/>
  86. <updateuserid/>
  87. <attach/>
  88. <itcconfnm/>
  89. <infomngconfnm/>
  90. <preprcscd/>
  91. <itcconfgrpno/>
  92. <infomnggrpno/>
  93. <appinst/>
  94. <priocd/>
  95. <prionm/>
  96. <deptagrlst/>
  97. <projcd/>
  98. </data>
  99. <mode>
  100. <modestatus/>
  101. <modelabel/>
  102. </mode>
  103. <ftpfilelist>
  104. <filelist>
  105. </filelist>
  106. <itcconffilelist/>
  107. <infomngfilelist/>
  108. </ftpfilelist>
  109. <newfilegrpno>
  110. <filegrpno/>
  111. </newfilegrpno>
  112. <newfileno>
  113. <fileno/>
  114. </newfileno>
  115. </main>
  116. <send>
  117. <fromdd/>
  118. <todd/>
  119. <instcd/>
  120. <reqdeptnm/>
  121. <requsernm/>
  122. <statcd/>
  123. <reqgubun/>
  124. <ismine/>
  125. <searchtxt/>
  126. <fstrgstrid/>
  127. <gpcd/>
  128. <prcscd/>
  129. <itcconftxt/>
  130. <infomngconftxt/>
  131. <priocd/>
  132. <data>
  133. </data>
  134. <filegrpno/>
  135. <req>
  136. <filelist/>
  137. <itcconffilelist/>
  138. <infomngfilelist/>
  139. </req>
  140. </send>
  141. <hidden>
  142. <temp>
  143. </temp>
  144. </hidden>
  145. <init>
  146. <list>
  147. <C0008>
  148. <cdid/>
  149. <cdnm/>
  150. </C0008>
  151. <C0001>
  152. <cdid/>
  153. <cdnm/>
  154. </C0001>
  155. <C0010>
  156. <cdid/>
  157. <cdnm/>
  158. </C0010>
  159. <C0015>
  160. <cdid/>
  161. <cdnm/>
  162. </C0015>
  163. <I0008>
  164. <cdid/>
  165. <cdnm/>
  166. </I0008>
  167. <I0010>
  168. <cdid/>
  169. <cdnm/>
  170. </I0010>
  171. <I0003>
  172. <cdid/>
  173. <cdnm/>
  174. </I0003>
  175. <I0015>
  176. <cdid/>
  177. <cdnm/>
  178. </I0015>
  179. </list>
  180. <itcstat/>
  181. <ftppath>
  182. <pathid/>
  183. <host/>
  184. <port/>
  185. <usr/>
  186. <passwd/>
  187. <path/>
  188. </ftppath>
  189. <userauth>
  190. <auth/>
  191. </userauth>
  192. </init>
  193. </root>
  194. </instance>
  195. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  196. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  197. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  198. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  199. <script type="javascript" src="../../../com/reqmngtweb/js/ZRM001.js"/>
  200. <script type="javascript" ev:event="xforms-ready">
  201. <![CDATA[
  202. // 조회 조건의 콤보박스 출력
  203. model.setValue("/root/send/gpcd","0001|0008|0010|0003|0015");
  204. submit("TRZRM00102");
  205. combo1.select(0);
  206. combo2.select(0);
  207. radio1.select(0);
  208. combo4.select(0);
  209. combo5.select(0);
  210. combo6.select(0);
  211. combo7.select(0);
  212. combo8.select(0);
  213. // 조회일자 초기화
  214. ipt_fromdd.value = getCurrentDate();
  215. ipt_todd.value = getCurrentDate();
  216. ipt_reqdd.value = getCurrentDate();
  217. // 파일 첨부 경로 가져오기
  218. submit("TRZRM00105");
  219. // 추가할 수 있는 상태로 초기화
  220. fInsertMode();
  221. switch1.selectedIndex = 0
  222. //버튼초기화
  223. button2.disabled = true;
  224. button3.disabled = true;
  225. //사용자의 권한 셋팅..
  226. model.makeValue("/root/send/userid", getUserInfo("userid"));
  227. submit("TRZRM00108");
  228. model.refresh();
  229. ]]>
  230. </script>
  231. <submission id="TRZRM00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/list"/>
  232. <submission id="TRZRM00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/list"/>
  233. <submission id="TRZRM00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main"/>
  234. <submission id="TRZRM00104" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/ftpfilelist"/>
  235. <submission id="TRZRM00105" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/ftppath"/>
  236. <submission id="TRZRM00106" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/newfilegrpno"/>
  237. <submission id="TRZRM00107" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/list"/>
  238. <submission id="TRZRM00108" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/userauth"/>
  239. <submission id="TXZRM00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data" replace="instance" resultref="/root/hidden/temp"/>
  240. <submission id="TXZRM00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data" replace="instance" resultref="/root/hidden/temp"/>
  241. <submission id="TXZRM00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/req" resultref="/root/main/newfileno"/>
  242. <submission id="TXZRM00104" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data"/>
  243. <submission id="TXZRM00105" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data"/>
  244. <submission id="TXZRM00106" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data"/>
  245. </model>
  246. <object id="objSFT" visibility="hidden" clsid="{2831e72c-9640-44ea-87dc-ddb462d5796c}" visible="false" style="left:0px; top:0px; width:40px; height:20px; "/>
  247. <script type="javascript">
  248. <![CDATA[
  249. // 화면 초기화
  250. function fInitMainData(disabled){
  251. model.removeNodeset("/root/main/ftpfilelist/filelist");
  252. model.removeNodeset("/root/main/ftpfilelist/itcconffilelist");
  253. model.removeNodeset("/root/main/ftpfilelist/infomngfilelist");
  254. model.makeValue("/root/main/data/prcscd", "");
  255. //model.makeValue("/root/main/data/reqdd", "");
  256. model.makeValue("/root/main/data/reqdeptnm", "");
  257. model.makeValue("/root/main/data/requsernm", "");
  258. model.makeValue("/root/main/data/telno", "");
  259. model.makeValue("/root/main/data/prcstitl", "");
  260. model.makeValue("/root/main/data/prcsmsg", "");
  261. model.makeValue("/root/main/data/itcagryn", "");
  262. model.makeValue("/root/main/data/deptagryn", "");
  263. model.makeValue("/root/main/data/reqpart", "");
  264. model.makeValue("/root/main/data/secuflag", "");
  265. model.makeValue("/root/main/data/emgflag", "");
  266. model.makeValue("/root/main/data/filegrpno", "");
  267. model.makeValue("/root/main/data/itcconfgrpno", "");
  268. model.makeValue("/root/main/data/infomnggrpno", "");
  269. model.makeValue("/root/main/data/statcd", "");
  270. model.makeValue("/root/main/data/fstrpttxt", "");
  271. model.makeValue("/root/main/data/rpttxt", "");
  272. model.makeValue("/root/main/data/reqgubun", "");
  273. model.makeValue("/root/main/data/impcd", "");
  274. model.makeValue("/root/main/data/fstrgstrid", "");
  275. model.makeValue("/root/main/data/instcd", "");
  276. model.makeValue("/root/main/data/posinstnm",getUserInfo("posinstnm"));
  277. model.makeValue("/root/main/data/posdeptnm", getUserInfo("posdeptnm"));
  278. model.makeValue("/root/main/data/usernm", getUserInfo("usernm"));
  279. model.makeValue("/root/main/data/userid", getUserInfo("userid"));
  280. model.makeValue("/root/main/data/updateuserid", "");
  281. model.makeValue("/root/main/data/itcconfnm", "");
  282. model.makeValue("/root/main/data/infomngconfnm", "");
  283. model.makeValue("/root/init/itcstat", "");
  284. //model.makeValue("/root/main/ftpfilelist/filelist", "");
  285. //model.makeValue("/root/main/ftpfilelist/itcconffilelist", "");
  286. //model.makeValue("/root/main/ftpfilelist/infomngfilelist", "");
  287. model.removeNodeset("/root/send/data");
  288. model.makeValue("/root/send/data", "");
  289. model.refresh();
  290. fDisableMainDataControls(disabled);
  291. }
  292. ]]>
  293. </script>
  294. </xhtml:head>
  295. <xhtml:body guideline="2,783;1,1192;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  296. <object id="objSFT" clsid="{2831e72c-9640-44ea-87dc-ddb462d5796c}" style="left:5px; top:91px; width:10px; height:0px; "/>
  297. <line id="line2" class="line_2" style="x1:595px; y1:315px; x2:1192px; y2:315px; "/>
  298. <group id="group3" scroll="auto" style="left:0px; top:0px; width:1192px; height:771px; ">
  299. <group id="grp_sea" style="left:0px; top:15px; width:1192px; height:80px; vertical-align:top; ">
  300. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:1px; width:1192px; height:75px; background-color:#fffbf2; border-color:#ffd799; "/>
  301. <caption id="caption8" class="search_name" style="left:15px; top:5px; width:104px; height:17px; ">등록일자 :</caption>
  302. <caption id="caption7" class="search_no_b" style="left:192px; top:6px; width:12px; height:17px; ">~</caption>
  303. <caption id="caption1" class="search_name" style="left:300px; top:5px; width:100px; height:17px; ">발의기관 :</caption>
  304. <input id="ipt_fromdd" ref="/root/send/fromdd" class="input_search" navindex="2" inputtype="date" style="left:105px; top:5px; width:85px; height:19px; "/>
  305. <input id="ipt_todd" ref="/root/send/todd" class="input_search" navindex="3" inputtype="date" style="left:205px; top:5px; width:85px; height:19px; "/>
  306. <button id="btn_search" class="btn1_letter2" navindex="10" style="left:1125px; top:5px; width:56px; height:22px; ">
  307. <caption>조회</caption>
  308. <script type="javascript" ev:event="DOMActivate">
  309. <![CDATA[
  310. model.makeValue("/root/send/fstrgstrid", getUserInfo("userid"));
  311. submit("TRZRM00107");
  312. ]]>
  313. </script>
  314. </button>
  315. <select1 id="combo1" ref="/root/send/instcd" class="combo_search" navindex="4" appearance="minimal" style="left:390px; top:5px; width:170px; height:19px; ">
  316. <choices>
  317. <itemset nodeset="/root/init/list/C0008">
  318. <label ref="cdnm"/>
  319. <value ref="cdid"/>
  320. </itemset>
  321. </choices>
  322. </select1>
  323. <caption id="caption2" class="search_name" style="left:575px; top:5px; width:100px; height:17px; ">요청부서 :</caption>
  324. <caption id="caption3" class="search_name" style="left:845px; top:5px; width:100px; height:17px; ">요청자 :</caption>
  325. <caption id="caption4" class="search_name" style="left:15px; top:28px; width:90px; height:17px; ">진행상태 :</caption>
  326. <caption id="caption5" class="search_name" style="left:300px; top:28px; width:100px; height:17px; ">요청구분 :</caption>
  327. <input id="input2" ref="/root/send/requsernm" class="input_search" navindex="6" style="left:940px; top:5px; width:150px; height:19px; "/>
  328. <input id="input1" ref="/root/send/reqdeptnm" class="input_search" navindex="5" style="left:665px; top:5px; width:145px; height:19px; "/>
  329. <select id="chk_ismine" ref="/root/send/ismine" navindex="9" overflow="visible" appearance="full" style="left:1067px; top:28px; width:125px; height:20px; border-style:none; ">
  330. <choices>
  331. <item>
  332. <label>본인이 등록한것만</label>
  333. <value>Y</value>
  334. </item>
  335. </choices>
  336. </select>
  337. <select1 id="radio1" ref="/root/send/reqgubun" navindex="8" overflow="visible" appearance="full" cols="10" style="left:390px; top:28px; width:385px; height:20px; border-style:none; ">
  338. <choices>
  339. <itemset nodeset="/root/init/list/C0010">
  340. <label ref="cdnm"/>
  341. <value ref="cdid"/>
  342. </itemset>
  343. </choices>
  344. </select1>
  345. <select1 id="combo2" ref="/root/send/statcd" class="combo_search" navindex="7" appearance="minimal" style="left:105px; top:28px; width:185px; height:19px; ">
  346. <choices>
  347. <itemset nodeset="/root/init/list/C0001">
  348. <label ref="cdnm"/>
  349. <value ref="cdid"/>
  350. </itemset>
  351. </choices>
  352. </select1>
  353. <select1 id="combo7" ref="/root/send/priocd" class="combo_search" navindex="4" appearance="minimal" style="left:940px; top:28px; width:75px; height:19px; ">
  354. <choices>
  355. <itemset nodeset="/root/init/list/C0015">
  356. <label ref="cdnm"/>
  357. <value ref="cdid"/>
  358. </itemset>
  359. </choices>
  360. </select1>
  361. <caption id="caption35" class="search_name" style="left:845px; top:28px; width:100px; height:17px; ">우선순위 :</caption>
  362. <caption id="caption42" class="search_name" style="left:15px; top:50px; width:100px; height:17px; ">요청번호 :</caption>
  363. <caption id="caption43" class="search_name" style="left:300px; top:50px; width:166px; height:17px; ">요청제목 or 요청내용 :</caption>
  364. <input id="input4" ref="/root/send/prcscd" class="input_search" style="left:105px; top:50px; width:185px; height:19px; "/>
  365. <input id="input5" ref="/root/send/searchtxt" class="input_search" style="left:465px; top:50px; width:345px; height:19px; "/>
  366. </group>
  367. <line id="line1" class="line_1" style="x1:1px; y1:116px; x2:585px; y2:116px; "/>
  368. <button id="btn_excel" class="btn2_letter4" style="left:475px; top:95px; width:64px; height:19px; ">
  369. <caption>엑셀저장</caption>
  370. <script type="javascript" ev:event="DOMActivate">
  371. <![CDATA[
  372. var fileName = window.fileDialog("save", ",", false, "요구사항관리_" + getCurrentDate(), "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  373. if (fileName != "")
  374. {
  375. grd_reqmngtlist.saveExcel(fileName, "SheetName", true, true, "", "", "false");
  376. }
  377. ]]>
  378. </script>
  379. </button>
  380. <button id="button1" class="btn2_letter7" visibility="hidden" style="left:1090px; top:177px; width:97px; height:19px; ">
  381. <caption>등록자와 동일</caption>
  382. <script type="javascript" ev:event="onclick">
  383. <![CDATA[
  384. model.setValue("/root/main/data/reqdeptnm", model.getValue("/root/main/data/posdeptnm"));
  385. model.setValue("/root/main/data/requsernm", model.getValue("/root/main/data/usernm"));
  386. model.refresh();
  387. ]]>
  388. </script>
  389. </button>
  390. <button id="btn_fileattach" class="btn2_letter4" visibility="hidden" style="left:1125px; top:506px; width:64px; height:19px; ">
  391. <caption>파일첨부</caption>
  392. <script type="javascript" ev:event="DOMActivate">
  393. <![CDATA[
  394. var pos;
  395. var filename;
  396. var n;
  397. var temp;
  398. files = window.fileDialog("open", "|", true);
  399. filelist = files.split("|");
  400. for(var i = 0 ; i < filelist.length ; i++ ) {
  401. if(filelist[i] != "")
  402. {
  403. grd_attach.addItem();
  404. n = grd_attach.rows - 1;
  405. pos=filelist[i].lastIndexOf("\\");
  406. filename=filelist[i].substring(pos+1);
  407. grd_attach.valueMatrix(n, 1) = "I";
  408. grd_attach.valueMatrix(n, 2) = filelist[i];
  409. grd_attach.valueMatrix(n, 3) = filename;
  410. grd_attach.valueMatrix(n, 4) = model.getValue("/root/init/ftppath/host");
  411. grd_attach.valueMatrix(n, 5) = model.getValue("/root/init/ftppath/port");
  412. grd_attach.valueMatrix(n, 6) = model.getValue("/root/init/ftppath/usr");
  413. grd_attach.valueMatrix(n, 7) = model.getValue("/root/init/ftppath/passwd");
  414. grd_attach.valueMatrix(n, 8) = model.getValue("/root/init/ftppath/pathid");
  415. grd_attach.valueMatrix(n, 9) = model.getValue("/root/init/ftppath/path");
  416. grd_attach.valueMatrix(n, 10) = filename.substring(filename.indexOf(".")+1);
  417. grd_attach.valueMatrix(n, 11) = getUserInfo("userid");
  418. grd_attach.valueMatrix(n, 12) = getUserInfo("userid");
  419. grd_attach.valueMatrix(n, 13) = model.getValue("/root/main/data/filegrpno");
  420. grd_attach.valueMatrix(n, 14) = "0";
  421. }
  422. }
  423. ]]>
  424. </script>
  425. </button>
  426. <input id="ipt_requsernm" ref="/root/main/data/requsernm" class="input_essential" style="left:700px; top:230px; width:210px; height:19px; "/>
  427. <textarea id="tar_prcsmsg" ref="/root/main/data/prcsmsg" class="input_essential" style="left:660px; top:365px; width:375px; height:130px; "/>
  428. <input id="ipt_telno" ref="/root/main/data/telno" class="input_essential" style="left:1010px; top:230px; width:178px; height:19px; "/>
  429. <output id="opt_modellabel" ref="/root/main/mode/modelabel" class="tit_2" style="left:595px; top:100px; width:269px; height:13px; "/>
  430. <input id="ipt_reqdd" ref="/root/main/data/reqdd" class="input_search" inputtype="date" style="left:660px; top:290px; width:90px; height:19px; "/>
  431. <caption id="caption20" class="cell_1" style="left:595px; top:338px; width:61px; height:23px; vertical-align:middle; ">요청제목</caption>
  432. <caption id="caption21" class="cell_1" style="left:595px; top:525px; width:61px; height:23px; vertical-align:middle; ">요청분야</caption>
  433. <caption id="caption10" class="cell_1" style="left:1020px; top:140px; width:50px; height:23px; vertical-align:middle; ">성명</caption>
  434. <caption id="caption22" class="cell_1" style="left:595px; top:365px; width:61px; height:130px; vertical-align:middle; ">요청내용</caption>
  435. <img id="img_cdgrup_search_popup" class="icon_search" visibility="hidden" style="left:1019px; top:527px; width:16px; height:16px; background-stretch:stretch; ">
  436. <script type="javascript" ev:event="onclick">
  437. <![CDATA[
  438. modal("SSZRM00100", 1, 0, 0 ,"", "", "");
  439. ]]>
  440. </script>
  441. </img>
  442. <caption id="caption12" class="cell_1" style="left:915px; top:200px; width:90px; height:23px; vertical-align:middle; ">요청부서</caption>
  443. <upload id="upload_attach" nodeset="/root/main/data/attach/file" filecount="5" filesize="100000000" validate="true" style="left:1040px; top:485px; width:25px; height:20px; "/>
  444. <input id="ipt_prcstitl" ref="/root/main/data/prcstitl" class="input_essential" style="left:660px; top:340px; width:375px; height:19px; "/>
  445. <caption id="caption13" class="cell_1" style="left:595px; top:200px; width:100px; height:23px; vertical-align:middle; ">요청자 발의기관</caption>
  446. <caption id="caption24" class="cell_1" style="left:595px; top:140px; width:60px; height:23px; vertical-align:middle; ">소속기관</caption>
  447. <button id="btn_filedelete" class="btn2_letter4" visibility="hidden" style="left:1060px; top:526px; width:64px; height:19px; ">
  448. <caption>파일삭제</caption>
  449. <script type="javascript" ev:event="DOMActivate">
  450. <![CDATA[
  451. deleteSelectedRows(grd_attach, true);
  452. ]]>
  453. </script>
  454. </button>
  455. <select1 id="combo4" ref="/root/main/data/instcd" class="combo_essential" appearance="minimal" style="left:700px; top:202px; width:210px; height:19px; ">
  456. <choices>
  457. <itemset nodeset="/root/init/list/I0008">
  458. <label ref="cdnm"/>
  459. <value ref="cdid"/>
  460. </itemset>
  461. </choices>
  462. </select1>
  463. <caption id="caption25" class="cell_1" style="left:915px; top:228px; width:90px; height:23px; vertical-align:middle; ">전화번호</caption>
  464. <caption id="caption14" class="cell_1" style="left:595px; top:288px; width:61px; height:23px; vertical-align:middle; ">요청일자</caption>
  465. <select1 id="combo5" ref="/root/main/data/reqgubun" class="combo_essential" appearance="minimal" style="left:815px; top:290px; width:80px; height:19px; ">
  466. <choices>
  467. <itemset nodeset="/root/init/list/I0010">
  468. <label ref="cdnm"/>
  469. <value ref="cdid"/>
  470. </itemset>
  471. </choices>
  472. </select1>
  473. <caption id="caption15" class="cell_1" style="left:754px; top:288px; width:58px; height:23px; vertical-align:middle; ">요청구분</caption>
  474. <input id="ipt_cdid" ref="/root/main/data/posdeptnm" class="input_essential" disabled="true" style="left:875px; top:142px; width:140px; height:19px; "/>
  475. <select1 id="combo6" ref="/root/main/data/impcd" class="combo_essential" appearance="minimal" style="left:1110px; top:290px; width:80px; height:19px; ">
  476. <choices>
  477. <itemset nodeset="/root/init/list/I0003">
  478. <label ref="cdnm"/>
  479. <value ref="cdid"/>
  480. </itemset>
  481. </choices>
  482. </select1>
  483. <input id="ipt_reqpart" ref="/root/main/data/reqpart" class="input_essential" style="left:660px; top:527px; width:370px; height:19px; "/>
  484. <caption id="caption16" class="cell_1" style="left:1050px; top:288px; width:55px; height:23px; vertical-align:middle; ">중요도</caption>
  485. <input id="ipt_instcd" ref="/root/main/data/posinstnm" class="input_essential" disabled="true" style="left:660px; top:142px; width:144px; height:19px; "/>
  486. <input id="ipt_reqdeptnm" ref="/root/main/data/reqdeptnm" class="input_essential" style="left:1010px; top:202px; width:178px; height:19px; "/>
  487. <caption id="caption9" class="cell_1" style="left:810px; top:140px; width:60px; height:23px; vertical-align:middle; ">소속부서</caption>
  488. <caption id="caption19" class="cell_1" style="left:595px; top:228px; width:100px; height:23px; vertical-align:middle; ">요청자명</caption>
  489. <input id="ipt_cdnm" ref="/root/main/data/usernm" class="input_essential" disabled="true" style="left:1075px; top:142px; width:115px; height:19px; "/>
  490. <datagrid id="grd_attach" nodeset="/root/main/ftpfilelist/filelist" caption="status^경로^첨부파일^host^port^usr^passwd^pathid^remotepath^ext^fstrgstrid^lastupdtrid^filegrpno^fileno" colwidth="0,0,150,0,0,0,0,0,0,0,0,0,0,0" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" tooltip="true" style="left:1040px; top:365px; width:150px; height:130px; ">
  491. <col ref="status"/>
  492. <col ref="localpath"/>
  493. <col ref="filename"/>
  494. <col ref="host"/>
  495. <col ref="port"/>
  496. <col ref="usr"/>
  497. <col ref="passwd"/>
  498. <col ref="pathid"/>
  499. <col ref="remotepath"/>
  500. <col ref="ext"/>
  501. <col ref="fstrgstrid"/>
  502. <col ref="lastupdtrid"/>
  503. <col ref="filegrpno"/>
  504. <col ref="fileno"/>
  505. <script type="javascript" ev:event="ondblclick">
  506. <![CDATA[
  507. if (grd_attach.row <= 0) { return;}
  508. if (grd_attach.col <= 0) { return;}
  509. // 해당파일 다운로드 정보 셋팅
  510. var row = grd_attach.row;
  511. var host = model.getValue("/root/main/ftpfilelist/filelist["+row+"]/host");
  512. var port = model.getValue("/root/main/ftpfilelist/filelist["+row+"]/port");
  513. var user = model.getValue("/root/main/ftpfilelist/filelist["+row+"]/usr");
  514. var pass = model.getValue("/root/main/ftpfilelist/filelist["+row+"]/passwd");
  515. var pathRemote = model.getValue("/root/main/ftpfilelist/filelist["+row+"]/remotepath");
  516. var filename = model.getValue("/root/main/ftpfilelist/filelist["+row+"]/localpath");
  517. fFileExcute(host, port, user, pass, pathRemote, filename);
  518. //fFilePreview();
  519. ]]>
  520. </script>
  521. </datagrid>
  522. <line id="line9" class="line_2" style="x1:595px; y1:313px; x2:1192px; y2:313px; "/>
  523. <line id="line5" class="line_2" style="x1:595px; y1:225px; x2:1192px; y2:225px; "/>
  524. <line id="line4" class="line_2" style="x1:595px; y1:522px; x2:1192px; y2:522px; "/>
  525. <caption id="caption30" class="tit_2" style="left:595px; top:268px; width:126px; height:13px; vertical-align:middle; ">요청 내용</caption>
  526. <line id="line6" class="line_1" style="x1:595px; y1:116px; x2:1192px; y2:116px; "/>
  527. <line id="line7" class="line_3" style="x1:595px; y1:137px; x2:1192px; y2:137px; "/>
  528. <line id="line8" class="line_3" style="x1:595px; y1:165px; x2:1192px; y2:165px; "/>
  529. <line id="line10" class="line_3" style="x1:595px; y1:198px; x2:1192px; y2:198px; "/>
  530. <line id="line11" class="line_3" style="x1:595px; y1:225px; x2:1192px; y2:225px; "/>
  531. <line id="line12" class="line_3" style="x1:595px; y1:285px; x2:1192px; y2:285px; "/>
  532. <line id="line13" class="line_3" style="x1:595px; y1:550px; x2:1192px; y2:550px; "/>
  533. <bool id="bool1" checkvalue="Y,N" ref="/root/main/data/itcagryn" style="left:595px; top:317px; width:20px; height:20px; "/>
  534. <bool id="bool2" checkvalue="Y,N" ref="/root/main/data/deptagryn" style="left:770px; top:317px; width:22px; height:20px; "/>
  535. <caption id="caption11" style="left:615px; top:317px; width:70px; height:20px; ">ITC협의여부</caption>
  536. <caption id="caption23" style="left:795px; top:317px; width:100px; height:20px; ">연계부서협의여부</caption>
  537. <caption id="caption26" visibility="hidden" style="left:1130px; top:315px; width:50px; height:20px; ">비공개</caption>
  538. <caption id="caption27" style="left:715px; top:317px; width:50px; height:20px; ">응급여부</caption>
  539. <bool id="bool3" visibility="hidden" checkvalue="Y,N" ref="/root/main/data/secuflag" style="left:1110px; top:315px; width:15px; height:20px; "/>
  540. <bool id="bool4" checkvalue="Y,N" ref="/root/main/data/emgflag" style="left:694px; top:317px; width:25px; height:20px; "/>
  541. <caption id="caption28" class="tit_2" style="left:595px; top:120px; width:126px; height:13px; vertical-align:middle; ">등록자 정보</caption>
  542. <caption id="caption29" class="tit_2" style="left:595px; top:180px; width:126px; height:13px; vertical-align:middle; ">요청자 정보</caption>
  543. <line id="line3" class="line_2" style="x1:595px; y1:362px; x2:1192px; y2:362px; "/>
  544. <line id="line15" class="line_2" style="x1:595px; y1:335px; x2:1192px; y2:335px; "/>
  545. <button id="btn_expan" class="btn2_letter2" style="left:540px; top:95px; width:42px; height:19px; ">
  546. <caption>
  547. <![CDATA[>>]]>
  548. </caption>
  549. <script type="javascript" ev:event="DOMActivate">
  550. <![CDATA[
  551. //alert(grd_reqmngtlist.attribute ( "width" ));
  552. var tmp = btn_expan.text
  553. //alert(tmp);
  554. if ( tmp == ">>"){
  555. grd_reqmngtlist.attribute ( "width" ) = 1190;
  556. btn_expan.text = "<<";
  557. } else {
  558. grd_reqmngtlist.attribute ( "width" ) = 585;
  559. btn_expan.text = ">>"
  560. }
  561. model.refresh();
  562. ]]>
  563. </script>
  564. </button>
  565. <select1 id="combo3" ref="/root/main/data/statcd" class="combo_search" disabled="true" appearance="minimal" style="left:1040px; top:527px; width:152px; height:19px; ">
  566. <choices>
  567. <itemset nodeset="/root/init/list/C0001">
  568. <label ref="cdnm"/>
  569. <value ref="cdid"/>
  570. </itemset>
  571. </choices>
  572. <script type="javascript" ev:event="xforms-value-changed">
  573. <![CDATA[
  574. var tmp = model.getValue("/root/main/data/statcd");
  575. model.setValue("/root/init/itcstat", tmp);
  576. model.refresh();
  577. ]]>
  578. </script>
  579. </select1>
  580. <input id="ipt_preprcs" ref="/root/main/data/preprcscd" class="input_essential" style="left:986px; top:290px; width:60px; height:19px; "/>
  581. <caption id="caption38" class="cell_1" style="left:898px; top:288px; width:86px; height:23px; vertical-align:middle; ">기존요청번호</caption>
  582. <switch id="switch1" style="left:590px; top:580px; width:602px; height:188px; ">
  583. <case id="rpt" selected="true" style="left:0px; top:0px; width:602px; height:213px; ">
  584. <datagrid id="grd_itc_attach" nodeset="/root/main/ftpfilelist/itcconffilelist" caption="status^경로^첨부파일^host^port^usr^passwd^pathid^remotepath^ext^fstrgstrid^lastupdtrid^filegrpno^fileno" colwidth="0,0,150,0,0,0,0,0,0,0,0,0,0,0" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" tooltip="true" style="left:445px; top:47px; width:150px; height:115px; ">
  585. <col ref="status"/>
  586. <col ref="localpath"/>
  587. <col ref="filename" style="left:20px; top:23px; width:150px; height:23px; "/>
  588. <col ref="host"/>
  589. <col ref="port"/>
  590. <col ref="usr"/>
  591. <col ref="passwd"/>
  592. <col ref="pathid"/>
  593. <col ref="remotepath"/>
  594. <col ref="ext"/>
  595. <col ref="fstrgstrid"/>
  596. <col ref="lastupdtrid"/>
  597. <col ref="filegrpno"/>
  598. <col ref="fileno"/>
  599. <script type="javascript" ev:event="ondblclick">
  600. <![CDATA[
  601. var fs;
  602. if (grd_itc_attach.row <= 0) { return;}
  603. if (grd_itc_attach.col <= 0) { return;}
  604. // 해당파일 다운로드 정보 셋팅
  605. var row = grd_itc_attach.row;
  606. var localpath = model.getValue("/root/main/ftpfilelist/itcconffilelist["+row+"]/localpath");
  607. fs = new ActiveXObject("Scripting.FileSystemObject");
  608. if (fs.FileExists(localpath) == false){
  609. var host = model.getValue("/root/main/ftpfilelist/itcconffilelist["+row+"]/host");
  610. var port = model.getValue("/root/main/ftpfilelist/itcconffilelist["+row+"]/port");
  611. var user = model.getValue("/root/main/ftpfilelist/itcconffilelist["+row+"]/usr");
  612. var pass = model.getValue("/root/main/ftpfilelist/itcconffilelist["+row+"]/passwd");
  613. var pathRemote = model.getValue("/root/main/ftpfilelist/itcconffilelist["+row+"]/remotepath");
  614. var filename = model.getValue("/root/main/ftpfilelist/itcconffilelist["+row+"]/localpath");
  615. fFileExcute(host, port, user, pass, pathRemote, filename);
  616. } else {
  617. window.exec(localpath, "");
  618. }
  619. fs = null;
  620. ]]>
  621. </script>
  622. </datagrid>
  623. <button id="button2" class="btn5_letter2" style="left:550; top:5; width:42px; height:19px; ">
  624. <caption>저장</caption>
  625. <script type="javascript" ev:event="onclick">
  626. <![CDATA[
  627. var stat = model.getValue("/root/main/data/statcd");
  628. if (stat <= "0010") {
  629. messageBox("처리상태가 지정되지", "I004");
  630. return;
  631. }
  632. var mode = model.getValue("/root/main/mode/modestatus");
  633. model.makeValue("/root/main/data/updateuserid", getUserInfo("userid"));
  634. model.copyNode("/root/send/data", "/root/main/data");
  635. model.refresh();
  636. // 삽입 --------------------------------------------------------------------------------------------------
  637. //if (mode == "insert" ) {
  638. // 첨부파일이 있는가?
  639. if (grd_itc_attach.rows > 1 ) {
  640. // filegrpno 읽기
  641. var grpno = model.getValue("/root/main/data/itcconfgrpno");
  642. if (grpno == 0 || grpno == null ){
  643. submit("TRZRM00106");
  644. model.makeValue("/root/send/data/itcconfgrpno", model.getValue("/root/main/newfilegrpno/filegrpno"));
  645. } else {
  646. //alert(grpno);
  647. model.makeValue("/root/send/data/itcconfgrpno", grpno);
  648. model.makeValue("/root/main/newfilegrpno/filegrpno", grpno)
  649. }
  650. // 첨부파일 수만큼 테이블에 insert시키고, 파일 업로드
  651. for (var i=1; i< grd_itc_attach.rows; i++) {
  652. var status = model.getValue("/root/main/ftpfilelist/itcconffilelist[" + i + "]/status");
  653. if(status == "I") {
  654. // ztrmfile 테이블 insert
  655. model.copyNode("/root/send/req/itcconffilelist", "/root/main/ftpfilelist/itcconffilelist[" + i + "]");
  656. model.setValue("/root/send/req/itcconffilelist/filegrpno", model.getValue("/root/main/newfilegrpno/filegrpno"));
  657. submit("TXZRM00103");
  658. // 업로드 파일 정보 set
  659. var host = model.getValue("/root/main/ftpfilelist/itcconffilelist[" + i + "]/host");
  660. var port= model.getValue("/root/main/ftpfilelist/itcconffilelist[" + i + "]/port");
  661. var user = model.getValue("/root/main/ftpfilelist/itcconffilelist[" + i + "]/usr");
  662. var pass = model.getValue("/root/main/ftpfilelist/itcconffilelist[" + i + "]/passwd");
  663. var fileno = model.getValue("/root/main/newfileno/fileno");
  664. var dirstr = flpad(fileno, 3, "0");
  665. var pathRemote = model.getValue("/root/main/ftpfilelist/itcconffilelist[" + i + "]/remotepath") + "\\" + dirstr + "\\" + fileno + "." + model.getValue("/root/main/ftpfilelist/itcconffilelist[" + i + "]/ext");
  666. var pathLocal = model.getValue("/root/main/ftpfilelist/itcconffilelist[" + i + "]/localpath");
  667. var ret = putFiles(host, port, user, pass, pathRemote, pathLocal);
  668. if (ret == false) {
  669. messageBox("파일 업로드에 ", "E009");
  670. return;
  671. }
  672. }
  673. }
  674. } else {
  675. model.makeValue("/root/send/data/filegrpno", "");
  676. }
  677. // ztrmprcs 테이블 insert
  678. submit("TXZRM00104");
  679. btn_search.dispatch("DOMActivate");
  680. grd_reqmngtlist.row = 1;
  681. fInitMainData(true);
  682. ]]>
  683. </script>
  684. </button>
  685. <button id="button4" class="btn2_letter4" visibility="visible" style="left:450px; top:165px; width:64px; height:19px; ">
  686. <caption>파일첨부</caption>
  687. <script type="javascript" ev:event="DOMActivate">
  688. <![CDATA[
  689. var pos;
  690. var filename;
  691. var n;
  692. var temp;
  693. var fs = new ActiveXObject("Scripting.FileSystemObject");
  694. files = window.fileDialog("open", "|", true);
  695. filelist = files.split("|");
  696. for(var i = 0 ; i < filelist.length ; i++ ) {
  697. if(filelist[i] != "")
  698. {
  699. pos=filelist[i].lastIndexOf("\\");
  700. filename=filelist[i].substring(pos+1);
  701. if (fCheckFileOpen(filelist[i]) == false){
  702. return;
  703. }
  704. grd_itc_attach.addItem();
  705. n = grd_itc_attach.rows - 1;
  706. grd_itc_attach.valueMatrix(n, 1) = "I";
  707. grd_itc_attach.valueMatrix(n, 2) = filelist[i];
  708. grd_itc_attach.valueMatrix(n, 3) = filename;
  709. grd_itc_attach.valueMatrix(n, 4) = model.getValue("/root/init/ftppath/host");
  710. grd_itc_attach.valueMatrix(n, 5) = model.getValue("/root/init/ftppath/port");
  711. grd_itc_attach.valueMatrix(n, 6) = model.getValue("/root/init/ftppath/usr");
  712. grd_itc_attach.valueMatrix(n, 7) = model.getValue("/root/init/ftppath/passwd");
  713. grd_itc_attach.valueMatrix(n, 8) = model.getValue("/root/init/ftppath/pathid");
  714. grd_itc_attach.valueMatrix(n, 9) = model.getValue("/root/init/ftppath/path");
  715. if (fs != null){
  716. grd_itc_attach.valueMatrix(n, 10) = fs.GetExtensionName (filelist[i]);
  717. }
  718. //grd_itc_attach.valueMatrix(n, 10) = filename.substring(filename.indexOf(".")+1);
  719. grd_itc_attach.valueMatrix(n, 11) = getUserInfo("userid");
  720. grd_itc_attach.valueMatrix(n, 12) = getUserInfo("userid");
  721. grd_itc_attach.valueMatrix(n, 13) = model.getValue("/root/main/data/itcconfgrpno");
  722. grd_itc_attach.valueMatrix(n, 14) = "0";
  723. }
  724. }
  725. fs = null;
  726. ]]>
  727. </script>
  728. </button>
  729. <button id="button5" class="btn2_letter4" visibility="visible" style="left:520px; top:165px; width:64px; height:19px; ">
  730. <caption>파일삭제</caption>
  731. <script type="javascript" ev:event="DOMActivate">
  732. <![CDATA[
  733. var row = grd_itc_attach.row;
  734. var host = model.getValue("/root/main/ftpfilelist/itcconffilelist["+row+"]/host");
  735. var port = model.getValue("/root/main/ftpfilelist/itcconffilelist["+row+"]/port");
  736. var user = model.getValue("/root/main/ftpfilelist/itcconffilelist["+row+"]/usr");
  737. var pass = model.getValue("/root/main/ftpfilelist/itcconffilelist["+row+"]/passwd");
  738. var pathRemote = model.getValue("/root/main/ftpfilelist/itcconffilelist["+row+"]/remotepath");
  739. var filename = model.getValue("/root/main/ftpfilelist/itcconffilelist["+row+"]/localpath");
  740. var fileno = model.getValue("/root/main/ftpfilelist/itcconffilelist["+row+"]/fileno");
  741. var ret = delRemoteFiles(host, port, user, pass, pathRemote);
  742. if ( ret ) {
  743. model.makeValue("/root/main/data/updateuserid", getUserInfo("userid"));
  744. model.copyNode("/root/send/data", "/root/main/data");
  745. model.makeValue("/root/send/data/fileno", fileno);
  746. model.refresh();
  747. submit("TXZRM00106");
  748. deleteSelectedRows(grd_itc_attach, false);
  749. }
  750. //grd_reqmngtlist.dispatch("ondblclick");
  751. ]]>
  752. </script>
  753. </button>
  754. <caption id="caption31" class="tit_2" style="left:5; top:6; width:126px; height:13px; vertical-align:middle; ">대표ITC</caption>
  755. <line id="line14" class="line_3" style="x1:5px; y1:25px; x2:597px; y2:25px; "/>
  756. <caption id="caption33" ref="/root/main/data/itcconfnm" style="left:440px; top:30px; width:150px; height:15px; "/>
  757. <select1 id="opt_itcstat" ref="/root/init/itcstat" navindex="13" overflow="visible" appearance="full" cols="4" style="left:75px; top:30px; width:180px; height:15px; border-style:none; ">
  758. <choices>
  759. <item>
  760. <label>등록</label>
  761. <value>0010</value>
  762. </item>
  763. <item>
  764. <label>검토</label>
  765. <value>0020</value>
  766. </item>
  767. <item>
  768. <label>반려</label>
  769. <value>0030</value>
  770. </item>
  771. <item>
  772. <label>승인</label>
  773. <value>0040</value>
  774. </item>
  775. </choices>
  776. <script type="javascript" ev:event="onclick">
  777. <![CDATA[
  778. model.makeValue("/root/main/data/statcd" , model.getValue("/root/init/itcstat"));
  779. model.refresh();
  780. ]]>
  781. </script>
  782. </select1>
  783. <caption id="caption17" class="cell_1" style="left:10px; top:30px; width:61px; height:155px; vertical-align:middle; ">확인내용</caption>
  784. <textarea id="tar_fstrpttxt" ref="/root/main/data/fstrpttxt" navindex="14" editable="true" style="left:75px; top:47px; width:365px; height:138px; "/>
  785. </case>
  786. <case id="confirm" style="left:0px; top:0px; width:940px; height:769px; ">
  787. <button id="button3" class="btn5_letter2" style="left:550px; top:5px; width:42px; height:19px; ">
  788. <caption>저장</caption>
  789. <script type="javascript" ev:event="onclick">
  790. <![CDATA[
  791. var stat = model.getValue("/root/main/data/statcd");
  792. if (stat <= "0010") {
  793. messageBox("처리상태가 지정되지", "I004");
  794. return;
  795. }
  796. var mode = model.getValue("/root/main/mode/modestatus");
  797. model.makeValue("/root/main/data/updateuserid", getUserInfo("userid"));
  798. model.copyNode("/root/send/data", "/root/main/data");
  799. model.refresh();
  800. // 삽입 --------------------------------------------------------------------------------------------------
  801. if (grd_info_attach.rows > 1) {
  802. // filegrpno 읽기
  803. var grpno = model.getValue("/root/main/data/infomnggrpno");
  804. if (grpno == 0 || grpno == null ){
  805. submit("TRZRM00106");
  806. model.makeValue("/root/send/data/infomnggrpno", model.getValue("/root/main/newfilegrpno/filegrpno"));
  807. } else {
  808. //alert(grpno);
  809. model.makeValue("/root/send/data/infomnggrpno", grpno);
  810. model.makeValue("/root/main/newfilegrpno/filegrpno", grpno)
  811. }
  812. // 첨부파일 수만큼 테이블에 insert시키고, 파일 업로드
  813. for (var i=1; i< grd_info_attach.rows; i++) {
  814. var status = model.getValue("/root/main/ftpfilelist/infomngfilelist[" + i + "]/status");
  815. if(status == "I") {
  816. // ztrmfile 테이블 insert
  817. model.copyNode("/root/send/req/infomngfilelist", "/root/main/ftpfilelist/infomngfilelist[" + i + "]");
  818. model.setValue("/root/send/req/infomngfilelist/filegrpno", model.getValue("/root/main/newfilegrpno/filegrpno"));
  819. submit("TXZRM00103");
  820. // 업로드 파일 정보 set
  821. var host = model.getValue("/root/main/ftpfilelist/infomngfilelist[" + i + "]/host");
  822. var port= model.getValue("/root/main/ftpfilelist/infomngfilelist[" + i + "]/port");
  823. var user = model.getValue("/root/main/ftpfilelist/infomngfilelist[" + i + "]/usr");
  824. var pass = model.getValue("/root/main/ftpfilelist/infomngfilelist[" + i + "]/passwd");
  825. var fileno = model.getValue("/root/main/newfileno/fileno");
  826. var dirstr = flpad(fileno, 3, "0");
  827. var pathRemote = model.getValue("/root/main/ftpfilelist/infomngfilelist[" + i + "]/remotepath") + "\\" + dirstr + "\\" + fileno + "." + model.getValue("/root/main/ftpfilelist/infomngfilelist[" + i + "]/ext");
  828. var pathLocal = model.getValue("/root/main/ftpfilelist/infomngfilelist[" + i + "]/localpath");
  829. var ret = putFiles(host, port, user, pass, pathRemote, pathLocal);
  830. if (ret == false) {
  831. messageBox("파일 업로드에 ", "E009");
  832. return;
  833. }
  834. }
  835. }
  836. } else {
  837. model.makeValue("/root/send/data/filegrpno", "");
  838. }
  839. // ztrmprcs 테이블 insert
  840. submit("TXZRM00105");
  841. btn_search.dispatch("DOMActivate");
  842. grd_reqmngtlist.row = 1;
  843. fInitMainData(true);
  844. model.makeValue("/root/main/data/updateuserid", getUserInfo("userid"));
  845. model.copyNode("/root/send/data", "/root/main/data");
  846. submit("TXZRM00105");
  847. btn_search.dispatch("DOMActivate");
  848. //inputEnterKey("btn_search", "DOMActivate");
  849. grd_reqmngtlist.row = 1;
  850. fInitMainData(true);
  851. ]]>
  852. </script>
  853. </button>
  854. <button id="button6" class="btn2_letter4" visibility="visible" style="left:450px; top:165px; width:64px; height:19px; ">
  855. <caption>파일첨부</caption>
  856. <script type="javascript" ev:event="DOMActivate">
  857. <![CDATA[
  858. var pos;
  859. var filename;
  860. var n;
  861. var temp;
  862. var fs = new ActiveXObject("Scripting.FileSystemObject");
  863. files = window.fileDialog("open", "|", true);
  864. filelist = files.split("|");
  865. for(var i = 0 ; i < filelist.length ; i++ ) {
  866. if(filelist[i] != "")
  867. {
  868. pos=filelist[i].lastIndexOf("\\");
  869. filename=filelist[i].substring(pos+1);
  870. if (fCheckFileOpen(filelist[i]) == false){
  871. return;
  872. }
  873. grd_info_attach.addItem();
  874. n = grd_info_attach.rows - 1;
  875. grd_info_attach.valueMatrix(n, 1) = "I";
  876. grd_info_attach.valueMatrix(n, 2) = filelist[i];
  877. grd_info_attach.valueMatrix(n, 3) = filename;
  878. grd_info_attach.valueMatrix(n, 4) = model.getValue("/root/init/ftppath/host");
  879. grd_info_attach.valueMatrix(n, 5) = model.getValue("/root/init/ftppath/port");
  880. grd_info_attach.valueMatrix(n, 6) = model.getValue("/root/init/ftppath/usr");
  881. grd_info_attach.valueMatrix(n, 7) = model.getValue("/root/init/ftppath/passwd");
  882. grd_info_attach.valueMatrix(n, 8) = model.getValue("/root/init/ftppath/pathid");
  883. grd_info_attach.valueMatrix(n, 9) = model.getValue("/root/init/ftppath/path");
  884. if (fs != null){
  885. grd_itc_attach.valueMatrix(n, 10) = fs.GetExtensionName (filelist[i]);
  886. }
  887. //grd_info_attach.valueMatrix(n, 10) = filename.substring(filename.indexOf(".")+1);
  888. grd_info_attach.valueMatrix(n, 11) = getUserInfo("userid");
  889. grd_info_attach.valueMatrix(n, 12) = getUserInfo("userid");
  890. grd_info_attach.valueMatrix(n, 13) = model.getValue("/root/main/data/infomnggrpno");
  891. grd_info_attach.valueMatrix(n, 14) = "0";
  892. }
  893. }
  894. fs = null;
  895. ]]>
  896. </script>
  897. </button>
  898. <caption id="caption32" class="tit_2" style="left:5px; top:6px; width:139px; height:13px; vertical-align:middle; ">변경관리 실무협의체</caption>
  899. <datagrid id="grd_info_attach" nodeset="/root/main/ftpfilelist/infomngfilelist" caption="status^경로^첨부파일^host^port^usr^passwd^pathid^remotepath^ext^fstrgstrid^lastupdtrid^filegrpno^fileno" colwidth="0,0,150,0,0,0,0,0,0,0,0,0,0,0" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" tooltip="true" style="left:445px; top:47px; width:150px; height:115px; ">
  900. <col ref="status"/>
  901. <col ref="localpath"/>
  902. <col ref="filename" style="left:20px; top:23px; width:150px; height:33px; "/>
  903. <col ref="host"/>
  904. <col ref="port"/>
  905. <col ref="usr"/>
  906. <col ref="passwd"/>
  907. <col ref="pathid"/>
  908. <col ref="remotepath"/>
  909. <col ref="ext"/>
  910. <col ref="fstrgstrid"/>
  911. <col ref="lastupdtrid"/>
  912. <col ref="filegrpno"/>
  913. <col ref="fileno"/>
  914. <script type="javascript" ev:event="ondblclick">
  915. <![CDATA[
  916. var fs;
  917. if (grd_info_attach.row <=0) { return;}
  918. if (grd_info_attach.col <=0) { return;}
  919. // 해당파일 다운로드 정보 셋팅
  920. var row = grd_info_attach.row;
  921. var localpath = model.getValue("/root/main/ftpfilelist/infomngfilelist["+row+"]/localpath");
  922. fs = new ActiveXObject("Scripting.FileSystemObject");
  923. if (fs.FileExists(localpath) == false){
  924. var host = model.getValue("/root/main/ftpfilelist/infomngfilelist["+row+"]/host");
  925. var port = model.getValue("/root/main/ftpfilelist/infomngfilelist["+row+"]/port");
  926. var user = model.getValue("/root/main/ftpfilelist/infomngfilelist["+row+"]/usr");
  927. var pass = model.getValue("/root/main/ftpfilelist/infomngfilelist["+row+"]/passwd");
  928. var pathRemote = model.getValue("/root/main/infomngfilelist/filelist["+row+"]/remotepath");
  929. var filename = model.getValue("/root/main/ftpfilelist/infomngfilelist["+row+"]/localpath");
  930. fFileExcute(host, port, user, pass, pathRemote, filename);
  931. } else {
  932. window.exec(localpath, "");
  933. }
  934. fs = null;
  935. ]]>
  936. </script>
  937. </datagrid>
  938. <button id="button7" class="btn2_letter4" visibility="visible" style="left:520px; top:165px; width:64px; height:19px; ">
  939. <caption>파일삭제</caption>
  940. <script type="javascript" ev:event="DOMActivate">
  941. <![CDATA[
  942. var row = grd_info_attach.row;
  943. var host = model.getValue("/root/main/ftpfilelist/infomngfilelist["+row+"]/host");
  944. var port = model.getValue("/root/main/ftpfilelist/infomngfilelist["+row+"]/port");
  945. var user = model.getValue("/root/main/ftpfilelist/infomngfilelist["+row+"]/usr");
  946. var pass = model.getValue("/root/main/ftpfilelist/infomngfilelist["+row+"]/passwd");
  947. var pathRemote = model.getValue("/root/main/ftpfilelist/infomngfilelist["+row+"]/remotepath");
  948. var filename = model.getValue("/root/main/ftpfilelist/infomngfilelist["+row+"]/localpath");
  949. var fileno = model.getValue("/root/main/ftpfilelist/infomngfilelist["+row+"]/fileno");
  950. var ret = delRemoteFiles(host, port, user, pass, pathRemote);
  951. if ( ret ) {
  952. model.makeValue("/root/main/data/updateuserid", getUserInfo("userid"));
  953. model.copyNode("/root/send/data", "/root/main/data");
  954. model.makeValue("/root/send/data/fileno", fileno);
  955. model.refresh();
  956. submit("TXZRM00106");
  957. deleteSelectedRows(grd_info_attach, false);
  958. }
  959. //grd_reqmngtlist.dispatch("ondblclick");
  960. ]]>
  961. </script>
  962. </button>
  963. <select1 id="opt_infomng" ref="/root/init/itcstat" navindex="11" overflow="visible" appearance="full" cols="5" style="left:75px; top:30px; width:265px; height:15px; border-style:none; ">
  964. <choices>
  965. <item>
  966. <label>대표ITC승인</label>
  967. <value>0040</value>
  968. </item>
  969. <item>
  970. <label>검토</label>
  971. <value>0050</value>
  972. </item>
  973. <item>
  974. <label>보류</label>
  975. <value>0060</value>
  976. </item>
  977. <item>
  978. <label>반려</label>
  979. <value>0070</value>
  980. </item>
  981. <item>
  982. <label>승인</label>
  983. <value>0080</value>
  984. </item>
  985. </choices>
  986. <script type="javascript" ev:event="onclick">
  987. <![CDATA[
  988. var tmp = model.getValue ("/root/init/itcstat");
  989. var strUsr = getUserInfo("userid");
  990. var strauth = model.getValue("/root/init/userauth/auth");
  991. //변경협의체승인의 경우 변경협의체(AUTH=0006)만 변경가능
  992. if(tmp == "0080" && strauth != "0006" ){
  993. messageBox("승인처리를 할 수 있는 권한이", "I004");
  994. opt_infomng.value = "";
  995. model.refresh();
  996. return;
  997. }
  998. /*
  999. //승인 처리 조건 - 배영란, 김미선
  1000. if(tmp == "0080" && (strUsr != "92040226" && strUsr != "97055522") ){
  1001. messageBox("승인처리를 할 수 있는 권한이", "I004");
  1002. opt_infomng.value = "";
  1003. model.refresh();
  1004. return;
  1005. }
  1006. */
  1007. model.setValue("/root/main/data/statcd" , model.getValue("/root/init/itcstat"));
  1008. model.refresh();
  1009. ]]>
  1010. </script>
  1011. </select1>
  1012. <caption id="caption34" ref="/root/main/data/infomngconfnm" style="left:440px; top:30px; width:150px; height:15px; "/>
  1013. <line id="line16" class="line_3" style="x1:5px; y1:25px; x2:597px; y2:25px; "/>
  1014. <textarea id="tar_rpttxt" ref="/root/main/data/rpttxt" navindex="12" editable="true" style="left:75px; top:47px; width:365px; height:138px; "/>
  1015. <caption id="caption18" class="cell_1" style="left:10px; top:30px; width:61px; height:155px; vertical-align:middle; ">확인내용</caption>
  1016. </case>
  1017. </switch>
  1018. <button id="btn_rpt" class="btn_sw" group="tab" selected="true" style="left:590px; top:555px; width:80px; height:22px; ">
  1019. <caption>대표ITC</caption>
  1020. <script type="javascript" ev:event="DOMActivate">
  1021. <![CDATA[
  1022. switch1.selectedIndex = 0
  1023. ]]>
  1024. </script>
  1025. </button>
  1026. <button id="btn_confirm" class="btn_sw" group="tab" style="left:670px; top:555px; width:80px; height:22px; ">
  1027. <caption>변경관리</caption>
  1028. <toggle case="confirm" ev:event="onclick"/>
  1029. </button>
  1030. <line id="line17" class="line_2" style="x1:595px; y1:497px; x2:1192px; y2:497px; "/>
  1031. <input id="input3" ref="/root/main/data/appinst" class="input_essential" imemode="hangul" maxlength="85" style="left:660px; top:501px; width:530px; height:19px; "/>
  1032. <caption id="caption39" class="cell_1" style="left:595px; top:499px; width:61px; height:23px; vertical-align:middle; ">적용병원</caption>
  1033. <caption id="caption36" class="cell_1" style="left:1040px; top:338px; width:65px; height:23px; vertical-align:middle; ">우선순위</caption>
  1034. <select1 id="combo8" ref="/root/main/data/priocd" class="combo_essential" disabled="true" appearance="minimal" style="left:1110px; top:340px; width:80px; height:19px; ">
  1035. <choices>
  1036. <itemset nodeset="/root/init/list/I0015">
  1037. <label ref="cdnm"/>
  1038. <value ref="cdid"/>
  1039. </itemset>
  1040. </choices>
  1041. </select1>
  1042. <caption id="caption37" class="cell_1" style="left:898px; top:315px; width:86px; height:23px; vertical-align:middle; ">협의연계부서</caption>
  1043. <input id="input6" ref="/root/main/data/deptagrlst" class="input_essential" style="left:986px; top:317px; width:204px; height:19px; "/>
  1044. <datagrid id="grd_reqmngtlist" nodeset="/root/main/list/reqmngt" allowselection="true" caption="번호^우선순위^등록일자^등록자^발의기관^요청부서^요청자^상태^구분^요청일자^전화번호^요청제목^ITC^변경관리^요청내용^ITC협의여부^연계부서협의여부^업무범위^중요도^비밀여부^응급여부^1차답변내용^최종전달사항^최초등록자^최초등록일^최종수정자^최종수정일^대표ITC^정보관리팀^요청자명^caption2^caption3^완료예정일^caption5^caption6^caption7^caption8^caption9^caption10^caption11^caption12^caption13^caption14^caption15^caption16^caption17^caption18^caption19^caption1" colsep="^" colwidth="44, 31, 70, 48, 79, 100, 58, 41, 36, 77, 60, 159, 50, 56, 198, 72, 98, 118, 98, 60, 60, 228, 220, 70, 115, 70, 115, 100, 100, 100, 100, 100, 66, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" explorerbar="sort" frozencols="11" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="50" rowsep="|" tooltip="true" style="left:0px; top:120px; width:585px; height:651px; text-align:center; ">
  1045. <col ref="prcscd" style="text-align:right; "/>
  1046. <col ref="prionm" style="text-align:center; "/>
  1047. <col ref="fstrgstdt" format="yyyy-mm-dd" style="left:64px; top:23px; width:70px; height:23px; text-align:center; "/>
  1048. <col ref="usernm" style="text-align:left; "/>
  1049. <col ref="instnm" style="text-align:left; "/>
  1050. <col ref="reqdeptnm" style="text-align:left; "/>
  1051. <col ref="requsernm" style="text-align:left; "/>
  1052. <col ref="statnm" style="left:450px; top:23px; width:41px; height:23px; text-align:center; "/>
  1053. <col ref="reqnm" visibility="hidden" style="text-align:center; "/>
  1054. <col ref="reqdd" visibility="hidden" format="yyyy-mm-dd" style="text-align:center; "/>
  1055. <col ref="telno" visibility="hidden"/>
  1056. <col ref="prcstitl" style="text-align:left; "/>
  1057. <col ref="itcconf" style="text-align:center; "/>
  1058. <col ref="infomngconf" style="text-align:center; "/>
  1059. <col ref="prcsmsg" style="text-align:left; "/>
  1060. <col ref="itcagryn" style="text-align:center; "/>
  1061. <col ref="deptagryn" style="text-align:center; "/>
  1062. <col ref="reqpart" style="text-align:left; "/>
  1063. <col ref="impnm" style="text-align:left; "/>
  1064. <col ref="secuflag" style="text-align:center; "/>
  1065. <col ref="emgflag" style="text-align:center; "/>
  1066. <col ref="fstrpttxt" style="text-align:left; "/>
  1067. <col ref="rpttxt" style="text-align:left; "/>
  1068. <col ref="fstrnm" style="left:2096px; top:23px; width:70px; height:23px; text-align:left; "/>
  1069. <col ref="fstrdt" format="yyyy-mm-dd hh:nn:ss" style="text-align:center; "/>
  1070. <col ref="lastnm" style="text-align:left; "/>
  1071. <col ref="lastdt" format="yyyy-mm-dd hh:nn:ss" style="text-align:center; "/>
  1072. <col ref="itcconfnm" style="text-align:left; "/>
  1073. <col ref="infomngconfnm" style="text-align:left; "/>
  1074. <col ref="requsernm" visibility="hidden" style="text-align:left; "/>
  1075. <col ref="infoconfmng" visibility="hidden" style="text-align:left; "/>
  1076. <col ref="secuflag" visibility="hidden" style="text-align:left; "/>
  1077. <col ref="projcd" style="text-align:center; "/>
  1078. <col ref="filegrpno" visibility="hidden" style="text-align:left; "/>
  1079. <col ref="tftno" visibility="hidden" style="text-align:left; "/>
  1080. <col ref="statcd" visibility="hidden" style="text-align:left; "/>
  1081. <col ref="userid" visibility="hidden" style="text-align:left; "/>
  1082. <col ref="instcd" visibility="hidden" style="text-align:left; "/>
  1083. <col ref="reqgubun" visibility="hidden" style="text-align:left; "/>
  1084. <col ref="updateuserid" visibility="hidden" style="text-align:left; "/>
  1085. <col ref="posdeptnm" visibility="hidden" style="text-align:left; "/>
  1086. <col ref="posinstnm" visibility="hidden" style="text-align:left; "/>
  1087. <col ref="attach" visibility="hidden" style="text-align:left; "/>
  1088. <col ref="preprcscd" visibility="hidden" style="text-align:left; "/>
  1089. <col ref="itcconfgrpno" visibility="hidden" style="text-align:left; "/>
  1090. <col ref="infomnggrpno" visibility="hidden" style="text-align:left; "/>
  1091. <col ref="appinst" visibility="hidden" style="left:4351px; top:23px; width:100px; height:23px; text-align:left; "/>
  1092. <col ref="priocd" visibility="hidden" style="text-align:left; "/>
  1093. <col ref="impcd" visibility="hidden" style="text-align:left; "/>
  1094. <script type="javascript" ev:event="onaftersort">
  1095. <![CDATA[
  1096. grd_reqmngtlist.gridToInstance();
  1097. ]]>
  1098. </script>
  1099. <script type="javascript" ev:event="ondblclick">
  1100. <![CDATA[
  1101. // 클릭한 요청번호로 db select한다.
  1102. var row = grd_reqmngtlist.row;
  1103. var prcscd = grd_reqmngtlist.valueMatrix(row, grd_reqmngtlist.colRef("prcscd"));
  1104. // 비정상적인 조회금지
  1105. if (row <=0) { return;}
  1106. if(grd_reqmngtlist.col < 0 ) {return;}
  1107. // 수정할수 있는 상태로 초기화
  1108. fUpdateMode();
  1109. /*
  1110. // select 하기전에 그냥 copy로 처리
  1111. model.makeValue("/root/send/prcscd", prcscd);
  1112. submit("TRZRM00103");
  1113. */
  1114. model.copyNode ("/root/main/data","/root/main/list/reqmngt["+row+"]");
  1115. model.setValue("/root/main/data/prcscd", prcscd);
  1116. //각 첨부파일 초기화
  1117. model.makeValue("/root/send/filegrpno", "");
  1118. model.makeValue("/root/send/itc_filegrpno", "");
  1119. model.makeValue("/root/send/infomng_filegrpno", "");
  1120. // 첨부파일 있으면 목록 읽어오기
  1121. var tmpGrpNo = model.getValue("/root/main/data/filegrpno");
  1122. if (tmpGrpNo >0 ) {
  1123. model.makeValue("/root/send/filegrpno", tmpGrpNo);
  1124. }
  1125. // ITC첨부파일 있으면 목록 읽어오기
  1126. var tmpGrpNo = model.getValue("/root/main/data/itcconfgrpno");
  1127. if (tmpGrpNo >0 ) {
  1128. model.makeValue("/root/send/itc_filegrpno", tmpGrpNo);
  1129. }
  1130. // 정보관리 첨부파일 있으면 목록 읽어오기
  1131. var tmpGrpNo = model.getValue("/root/main/data/infomnggrpno");
  1132. if (tmpGrpNo >0 ) {
  1133. model.makeValue("/root/send/infomng_filegrpno", tmpGrpNo);
  1134. }
  1135. submit("TRZRM00104");
  1136. var tmp = btn_expan.text
  1137. //alert(tmp);
  1138. if ( tmp == "<<"){
  1139. grd_reqmngtlist.attribute ( "width" ) = 585;
  1140. btn_expan.text = ">>"
  1141. }
  1142. var tmp = model.getValue("/root/main/data/statcd");
  1143. model.setValue("/root/init/itcstat", tmp);
  1144. if( tmp >= 40){
  1145. opt_itcstat.disabled = true;
  1146. } else {
  1147. opt_itcstat.disabled = false;
  1148. }
  1149. if(tmp >= 80){
  1150. opt_infomng.disabled = true;
  1151. } else {
  1152. opt_infomng.disabled = false;
  1153. }
  1154. //버튼초기화
  1155. button2.disabled = true;
  1156. button3.disabled = true;
  1157. switch (tmp) {
  1158. case "0010":
  1159. case "0020":
  1160. case "0030":
  1161. button2.disabled = false;
  1162. button3.disabled = false;
  1163. break;
  1164. case "0040":
  1165. case "0050":
  1166. case "0060":
  1167. case "0070":
  1168. button3.disabled = false;
  1169. break;
  1170. }
  1171. var strauth = model.getValue("/root/init/userauth/auth");
  1172. var strUsr = getUserInfo("userid");
  1173. /*
  1174. alert(tmp);
  1175. alert(strauth);
  1176. alert(strUsr);
  1177. */
  1178. //변경협의체승인일 경우 변경협의체(AUTH=0006)는 수정가능
  1179. if(tmp <= 80 && strauth == "0006" ){
  1180. button2.disabled = false;
  1181. opt_itcstat.disabled = false;
  1182. button3.disabled = false;
  1183. opt_infomng.disabled = false;
  1184. }
  1185. model.refresh();
  1186. ]]>
  1187. </script>
  1188. </datagrid>
  1189. <input id="input7" ref="/root/main/data/projcd" class="input_essential" visibility="hidden" style="left:1116px; top:556px; width:75px; height:19px; "/>
  1190. <caption id="caption40" class="cell_1" visibility="hidden" style="left:1039px; top:555px; width:71px; height:21px; vertical-align:middle; ">완료예정일</caption>
  1191. </group>
  1192. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">요구사항관리</caption>
  1193. </xhtml:body>
  1194. </xhtml:html>