PurResultDetail01.jsp 40 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138
  1. <%--
  2. - FileName :
  3. - Author(s) :
  4. - Date :
  5. -
  6. - Description: 대한전문건설협회 실적증명서
  7. --%>
  8. <%@ page contentType="text/html; charset=utf-8" %>
  9. <%@ page import="com.udapsoft.waf.system.HandlerStorage" %>
  10. <%@ page import="com.udapsoft.waf.common.ui.*" %>
  11. <%@ page import="kr.co.hsnc.common.util.*"%>
  12. <%@ page import="kr.co.hsnc.common.sql.*" %>
  13. <%@page import="java.net.URLEncoder"%>
  14. <%@ page import="com.udapsoft.waf.common.util.StringUtils" %>
  15. <%@ page import="kr.co.udapsoft.common.code.CommCodeManager" %>
  16. <%@ include file="/jsp/work/taglib.jsp" %>
  17. <jsp:useBean id="ctx" class="com.udapsoft.waf.system.context.SessionContext" scope="session" />
  18. <%
  19. ctx.init(request, response);
  20. HandlerStorage storage = ctx.getHandlerStorage();
  21. ValueObject params = storage.getParams();
  22. ValueObject user = storage.getUser();
  23. ValueObject vo = storage.getValueObject("ResultDetail01BizVo");
  24. RowSet fileRowSet = storage.getRowSet("RESULT_PDF");
  25. RowSet ADD_02 =storage.getRowSet("ROWSET");
  26. String pageEvent = storage.getEvent();
  27. %>
  28. <script language="javascript" src="/js/report.js"></script>
  29. <script type="text/javascript">
  30. <!--
  31. $(document).on("keyup", "input:text[numberOnly]", function()
  32. {
  33. $(this).val( $(this).val().replace(/[^0-9]/gi,"") ); //숫자만입력 정규식...
  34. $(this).val($(this).val().split(/(?=(?:\d{3})+(?:\.|$))/g).join(',')); //콤마찍기 정규식...귀찮ㄹ타
  35. });
  36. $(document).on("keyup", "input:text[number]", function()
  37. {
  38. $(this).val( $(this).val().replace(/[^0-9]/gi,"") ); //숫자만입력 정규식...
  39. });
  40. $(function(){
  41. $.gridInit = function()
  42. {
  43. var init_sheet = {};
  44. init_sheet.Cfg = {SearchMode:2, MergeSheet:msHeaderOnly, Page:10, SumPosition:1};
  45. init_sheet.Cols = [
  46. {Header:"삭제", Type:"DelCheck", SaveName:"DEL_CHECK", Width:50, Align:"Center"},
  47. {Header:'Status', Type:"Status", SaveName:"STATUS", Width:0, Align:"Center", Edit:"False", Hidden:"True"},
  48. {Header:"SEQ", Type:"Text", SaveName:"SEQ", Width:80, Align:"Center", Hidden:"True"},
  49. {Header:"PUR_CONT_MOD_ID", Type:"Text", SaveName:"PUR_CONT_MOD_ID", Width:80, Align:"Center", Hidden:"True"},
  50. {Header:"ACMP_YYYY", Type:"Text", SaveName:"ACMP_YYYY", Width:80, Align:"Center", Hidden:"True"},
  51. {Header:"SOC_CD", Type:"Text", SaveName:"SOC_CD", Width:80, Align:"Center", Hidden:"True"},
  52. {Header:"제출협회", Type:"Combo", SaveName:"SUB_SOC_CD", Width:80, Align:"Center", ComboText:"대한전문건설협회|대한기계설비공사협회|한국소방시설협회|한국정보통신공사협회|한국전기공사협회", ComboCode:"01|02|03|04|05", KeyField:"True", Edit:"True"},
  53. {Header:"공사(종)명", Type:"Text", SaveName:"CONT_NM", Width:80, Align:"Left", KeyField:"True"},
  54. {Header:"계약액", Type:"AutoSum", SaveName:"CONT_AMT", Width:80, Align:"Right", Format:"#,##0", KeyField:"True"},
  55. {Header:"착공년월일", Type:"Date", SaveName:"CONT_SDATE", Width:80, Align:"Right", KeyField:"True"},
  56. {Header:"준공년월일", Type:"Date", SaveName:"CONT_EDATE", Width:80, Align:"Right", KeyField:"True"},
  57. {Header:"전년도 기성액", Type:"AutoSum", SaveName:"PRV_PAY_AMT", Width:80, Align:"Right", Format:"#,##0"},
  58. {Header:"당년도 기성액", Type:"AutoSum", SaveName:"CUR_PAY_AMT", Width:80, Align:"Right", Format:"#,##0"},
  59. {Header:"하도급 금액", Type:"AutoSum", SaveName:"SCONT_AMT", Width:80, Align:"Right", Format:"#,##0", Hidden:"True"},
  60. {Header:"미기성 금액", Type:"AutoSum", SaveName:"PAY_NAMT", Width:80, Align:"Right", Format:"#,##0", CalcLogic:"|CONT_AMT|-|PRV_PAY_AMT|-|CUR_PAY_AMT|"}
  61. ];
  62. init_sheet.HeaderMode = {Sort:1};
  63. IBS_InitSheet(sheet1, init_sheet);
  64. sheet1.SetDataAutoTrim(0);
  65. // sheet1.SetEditable(false);
  66. sheet1.SetCountPosition(0);
  67. sheet1.SetCellText(sheet1.LastRow(), "CONT_NM", "합 계");
  68. sheet1.GetSumFontBold(1);
  69. sheet1.FitColWidth();
  70. }
  71. $.searchList = function()
  72. {
  73. $("#fevent").val("GET_LIST");
  74. var url = Modular.model.PageContext.CONTEXT_ROOT + "/portal/result/PurResultDetail03_sheet.screen";
  75. Modular.view.IBSheet7.doSearch(sheet1, url, $("#form1"), 30, "");
  76. };
  77. $("#btn_sheet_add").click(function(){
  78. sheet1.DataInsert(-1);
  79. });
  80. $("#ADD_01").change(function(){
  81. var f = document.form1;
  82. if($("#ADD_01").val().trim() == "")
  83. {
  84. $("#ADD_02").empty().data("options");
  85. $("#ADD_02").append("<option value=''>-- 선택 --</option>");
  86. }
  87. else
  88. {
  89. $("#fevent").val("ADD_02");
  90. $("#ADD_01").val($("#ADD_01").val());
  91. submitXmlRequest("/portal/result/PurResultDetail01_form.screen", "ADD_02", f, "ROWSET");
  92. }
  93. });
  94. $(".numberic").each(function(){
  95. $(this).val($(this).val().split(/(?=(?:\d{3})+(?:\.|$))/g).join(','));
  96. });
  97. $.callCalendar = function(id){
  98. var str_value = id;
  99. var re = new RegExp("_", "ig");
  100. var resultArray = str_value.match(re);
  101. if(resultArray.length == 1)
  102. {
  103. dlgCalendar(id);
  104. }
  105. else if(resultArray.length == 2)
  106. {
  107. id = id.substring(0, id.lastIndexOf("_"));
  108. dlgCalendar(id);
  109. }
  110. };
  111. $("#lic_date_img").click(function(){
  112. $.callCalendar($(this).attr("id"));
  113. });
  114. $("#btn_list").click(function(){
  115. //"/portal/result/PurResultIngList.screen"
  116. $("#fevent").val("");
  117. if($("#p_page_gubun").val() == "target")
  118. {
  119. $("#form1").attr("action", "/portal/result/PurResultTargetList.screen");
  120. }
  121. else if($("#p_page_gubun").val() == "info")
  122. {
  123. $("#form1").attr("action", $("#p_List").val());
  124. }
  125. $("#form1").attr("target", "_self");
  126. $("#form1").attr("method", "post");
  127. $("#form1").submit();
  128. });
  129. $("#btn_save").click(function(){
  130. var gubun = $("#p_page_gubun").val();
  131. if(confirm("저장 하시겠습니까?"))
  132. {
  133. if(gubun == "info")
  134. {
  135. //2016.1.11 반려일때만 금액수정 가능.
  136. if($("#prog_stat_cd").val() != "91"){
  137. $("#prog_stat_cd").val("10");
  138. }
  139. $("#fevent").val("UPDATE_DATA");
  140. var url = Modular.model.PageContext.CONTEXT_ROOT + "/portal/result/PurResultDetail03_sheet.screen";
  141. var result = Modular.view.IBSheet7.doSave(sheet1, url, $("#form1"), false);
  142. }
  143. else
  144. {
  145. //$("#prog_stat_cd").val("10"); 2016.1.11 반려일때만 금액수정 가능.
  146. $("#fevent").val("SAVE_LIST");
  147. var url = Modular.model.PageContext.CONTEXT_ROOT + "/portal/result/PurResultDetail03_sheet.screen";
  148. var result = Modular.view.IBSheet7.doSave(sheet1, url, $("#form1"), false);
  149. }
  150. }
  151. });
  152. //2016.1.21
  153. $("#viewSheet").click(function(){
  154. if ($("#viewSheet").is(":checked") == true)
  155. {
  156. $("#cur_cont_amt").attr("disabled", false);
  157. $("#cont_tamt").attr("disabled", false);
  158. $("#cur_pay_amt").attr("disabled", false);
  159. $("#prv_pay_amt").attr("disabled", false);
  160. $("#cur_pay_samt").attr("disabled", false);
  161. $("#prv_pay_samt").attr("disabled", false);
  162. }
  163. else
  164. {
  165. $("#cur_cont_amt").attr("disabled", true);
  166. $("#cont_tamt").attr("disabled", true);
  167. $("#cur_pay_amt").attr("disabled", true);
  168. $("#prv_pay_amt").attr("disabled", true);
  169. $("#cur_pay_samt").attr("disabled", true);
  170. $("#prv_pay_samt").attr("disabled", true);
  171. }
  172. });
  173. $("#btn_signOk").click(function(){
  174. //2016.1.25 업종 및 등록번호 필수 lic_nm reg_no
  175. if ($("#lic_nm").val() == "")
  176. {
  177. alert("업종(면허)명을 입력하십시요.");
  178. $("#lic_nm").focus();
  179. return;
  180. }
  181. if ($("#reg_no").val() == "")
  182. {
  183. alert("면허번호를 입력하십시요.");
  184. $("#reg_no").focus();
  185. return;
  186. }
  187. if ($("#ADD_01").val() == "")
  188. {
  189. alert("공종을 선택 하십시요.");
  190. $("#ADD_01").focus();
  191. return;
  192. }
  193. /* if ($("#issue_no").val() == "")
  194. {
  195. alert("일련번호를 입력하십시요.");
  196. $("#issue_no").focus();
  197. return;
  198. } */
  199. if(sheet1.LastRow() <= 1 && ($("#viewSheet").is(":checked") == true))
  200. {
  201. alert("복합공종 실적 내용을 입력해 주세요.");
  202. $("#isuDiv").attr("tabindex", -1).focus();
  203. return;
  204. }
  205. /*if(($("#viewSheet").is(":checked") == true)&&sheet1.GetCellValue(sheet1.LastRow(), "cont_tamt")!=$("#cont_tamt_o").val().replace(/,/gi, "")){
  206. alert("복합공종 도급금액 합계가 총계약금액과 일치하지 않습니다.");
  207. $("#cur_pay_amt").focus();
  208. return;
  209. }*/
  210. //2016.4.7
  211. if ($("#viewSheet").is(":checked") == true)
  212. {
  213. var sumAmt = sheet1.GetSumValue(0 ,"CONT_AMT");
  214. if( $("#cont_tamt_o").val().replace(/,/gi, "") != sumAmt){
  215. alert("총 계약금액과 복합공종 계약 합계금액이 일치 하지 않습니다.");
  216. return ;
  217. }
  218. sumAmt = sheet1.GetSumValue(0 ,"CUR_PAY_AMT");
  219. sumAmt = Number(sumAmt) - Number($("#cur_pay_amt_o").val().replace(/,/gi, ""));
  220. if( sumAmt < 0 || sumAmt > 3 ){
  221. alert("당년도 기성금액과 복합공종 기성 합계금액이 일치 하지 않습니다.");
  222. return ;
  223. }
  224. }
  225. var chk = "N";
  226. for (var i = 1; i < sheet1.LastRow(); i++ ){
  227. if (sheet1.GetCellValue(i, "SUB_SOC_CD") == $("#soc_cd").val()){
  228. chk = "Y";
  229. if (sheet1.GetCellValue(i, "CONT_AMT") != $("#cont_tamt").val().replace(/,/gi, "") || sheet1.GetCellValue(i, "CUR_PAY_AMT") != $("#cur_pay_amt").val().replace(/,/gi, "") )
  230. {
  231. alert("복합공종의 협회내용과 작성중인 협회금액이 일치하지 않습니다.");
  232. return;
  233. }
  234. }
  235. }
  236. if (chk == "N" && $("#viewSheet").is(":checked") == true) {
  237. alert("복합공종 내역에 작성중인 협회를 등록하십시요.");
  238. return;
  239. }
  240. fMakeItemInfo();
  241. });
  242. $("#btn_delete").click(function(){
  243. var f = document.form1;
  244. if(confirm("삭제 하시겠습니까?"))
  245. {
  246. submitXmlRequest("/portal/result/PurResultDetail01_form.screen", "DELETE_DATA", f, "VALUEOBJECT");
  247. }
  248. });
  249. $("#btn_preview").click(function(){
  250. var f = document.form1;
  251. if(confirm("저장후 미리보기를 생성 하시겠습니까?"))
  252. {
  253. $("#fevent").val("UPDATE_DATA");
  254. $("#pdf").val("PREVIEW_PDF");
  255. var url = Modular.model.PageContext.CONTEXT_ROOT + "/portal/result/PurResultDetail03_sheet.screen";
  256. var result = Modular.view.IBSheet7.doSave(sheet1, url, $("#form1"), false);
  257. }
  258. });
  259. $("#contPopup").click(function(){
  260. var win_id = "ResultContPopup";
  261. var link = "/portal/result/PurResultContPopup.screen";
  262. link += "?pop_win_id="+win_id+"&layerYn=Y";
  263. link += "&purContModId="+$("#p_pur_cont_mod_id").val();
  264. fLayerPop(win_id, link, 550,115, '', '', 'auto');
  265. });
  266. });
  267. $(document).ready(function(){
  268. $.gridInit(sheet1);
  269. $.searchList();
  270. if($("#COMPOSIT_YN").val()=="1"){
  271. $("#viewSheet").attr("checked",true);
  272. }else{
  273. $("#btn_sheet_add_area").css("display", "none");
  274. }
  275. var prog_stat_cd = "<%=vo.get("prog_stat_cd")%>";
  276. if($("#p_success_gubun").val() == "R")
  277. {
  278. $(':radio[name="p_reson"]').attr("disabled", true);
  279. $(':input').attr("readonly", true);
  280. $(':input[type="text"]').addClass("bg_gry");
  281. $(':input[type="text"]').addClass("input_blank");
  282. }
  283. //2016.4.7
  284. if(prog_stat_cd == "91" )
  285. {
  286. $("#reson_area").css("display", "table-row");
  287. //2016.1.11 금액관련 모두 수정가능
  288. }
  289. else
  290. {
  291. $("#reson_area").css("display", "none");
  292. //2016.4.7금액관련 모두 수정 불가
  293. if ($("#viewSheet").is(":checked") == false)
  294. {
  295. $("#cur_cont_amt").attr("disabled", true);
  296. $("#cont_tamt").attr("disabled", true);
  297. $("#cur_pay_amt").attr("disabled", true);
  298. $("#prv_pay_amt").attr("disabled", true);
  299. $("#cur_pay_samt").attr("disabled", true);
  300. $("#prv_pay_samt").attr("disabled", true);
  301. }
  302. }
  303. if(prog_stat_cd == "30" )
  304. {
  305. $("#viewSheet").css("display", "none");
  306. $("#btn_sheet_add_area").css("display", "none");
  307. sheet1.SetEditable(false);
  308. sheet1.FitColWidth();
  309. }
  310. if($("#p_page_gubun").val() == "info")
  311. {
  312. if($("#prog_stat_cd").val() == "10" || $("#prog_stat_cd").val() == "00" || $("#prog_stat_cd").val() == "91")
  313. {
  314. $("#signOk").css("display", "inline");
  315. $("#btn_preview_area").css("display", "inline");
  316. }
  317. else
  318. {
  319. $("#signOk").css("display", "none");
  320. $("#btn_save_area").css("display", "none");
  321. $("#btn_preview_area").css("display", "none");
  322. $("#btn_delete_area").css("display", "none");
  323. $("#issue_no").attr("readonly", "true");
  324. $("#lic_org").attr("readonly", "true");
  325. $("#lic_date").attr("readonly", "true");
  326. $("#lic_nm").attr("readonly", "true");
  327. $("#reg_no").attr("readonly", "true");
  328. $("#isu_charge_nm").attr("readonly", "true");
  329. $("#etc").attr("readonly", "true");
  330. $("#isu_req_hp1").attr("readonly", "true");
  331. $("#isu_req_hp2").attr("readonly", "true");
  332. $("#isu_req_hp3").attr("readonly", "true");
  333. }
  334. }
  335. else
  336. {
  337. $("#signOk").css("display", "none");
  338. $("#btn_preview_area").css("display", "none");
  339. $("#btn_delete_area").css("display", "none");
  340. }
  341. $("#viewSheet").click(function() {
  342. viewSheet();
  343. });
  344. });
  345. function viewSheet(){
  346. if($("#viewSheet").is(":checked") == true){
  347. sheet1.SetEditable(true);
  348. $("#btn_sheet_add_area").css("display", "inline");
  349. $("#COMPOSIT_YN").val("1");
  350. }else{
  351. if(sheet1.RowCount()!="0"){ //row가 남아있을때 확인
  352. if(confirm("작성된 내용을 삭제 하시겠습니까?")){
  353. sheet1.CheckAll(0,1);
  354. sheet1.SetEditable(false);
  355. $("#btn_sheet_add_area").css("display", "none");
  356. $("#COMPOSIT_YN").val("0");
  357. }
  358. }else{ //row 없을때
  359. sheet1.SetEditable(false);
  360. $("#btn_sheet_add_area").css("display", "none");
  361. $("#COMPOSIT_YN").val("0");
  362. }
  363. }
  364. }
  365. function sheet1_OnSaveEnd(code, msg)
  366. {
  367. var event = $("#fevent").val();
  368. var f = document.form1;
  369. document.form1.isSubmit = false;
  370. if(code >= "0")
  371. {
  372. if(event == "SAVE_LIST")
  373. {
  374. alert("등록 되었습니다.");
  375. location.href="/portal/result/PurResultIngList.screen";
  376. }
  377. else if(event == "UPDATE_ISSUE")
  378. {
  379. alert("발급요청이 되었습니다.");
  380. location.href="/portal/result/PurResultIngList.screen";
  381. }
  382. else if(event == "SIGN_OK")
  383. {
  384. alert("서명 되었습니다.");
  385. $("#fevent").val("GET_DETAIL_01");
  386. $("#form1").attr("action", "/portal/result/PurResultDetail01.screen");
  387. $("#form1").submit();
  388. }
  389. else if($("#pdf").val()=="PREVIEW_PDF")
  390. {
  391. var reportInfo = new ReportInfo();
  392. reportInfo.title = "대한전문건설협회 실적증명";
  393. reportInfo.reportName = "/report/mrd/buyer/supplier/pur_buld_application2.mrd";
  394. reportInfo.set("<%=vo.get("corp_id")%>"); // $1
  395. reportInfo.set("<%=vo.get("pur_cont_mod_id")%>"); // $2
  396. reportInfo.set("<%=vo.get("acmp_yyyy")%>"); // $3
  397. reportInfo.set("<%=vo.get("soc_cd")%>"); // $4
  398. reportInfo.width = 1000; // Default: 1024
  399. reportInfo.height = 700; // Default: 768
  400. reportInfo.showPopup();
  401. $("#pdf").val("");
  402. }
  403. else
  404. {
  405. alert("수정 되었습니다.");
  406. $("#fevent").val("GET_DETAIL_01");
  407. $("#form1").attr("action", "/portal/result/PurResultDetail01.screen");
  408. $("#form1").submit();
  409. }
  410. }
  411. }
  412. function doResult(resultObj) {
  413. try
  414. {
  415. document.form1.isSubmit = false;
  416. if( resultObj.getRequestEvent() == "SAVE_DATA") //발급대상
  417. {
  418. if( resultObj.getSuccess() )
  419. {
  420. alert("등록 되었습니다.");
  421. location.href="/portal/result/PurResultIngList.screen";
  422. }
  423. else
  424. {
  425. // dlgErrorMsg(resultObj.getMessage);
  426. alert(resultObj.getValueObject().get("errMsg"));
  427. }
  428. }
  429. else if(resultObj.getRequestEvent() == "UPDATE_DATA") //발급현황
  430. {
  431. if( resultObj.getSuccess() )
  432. {
  433. alert("수정 되었습니다.");
  434. $("#fevent").val("GET_DETAIL_01");
  435. $("#form1").attr("action", "/portal/result/PurResultDetail01.screen");
  436. $("#form1").submit();
  437. }
  438. else
  439. {
  440. // dlgErrorMsg(resultObj.getMessage);
  441. alert(resultObj.getValueObject().get("errMsg"));
  442. }
  443. }
  444. else if(resultObj.getRequestEvent() == "UPDATE_ISSUE")
  445. {
  446. if( resultObj.getSuccess() )
  447. {
  448. alert("발급요청이 되었습니다.");
  449. location.href="/portal/result/PurResultIngList.screen";
  450. }
  451. else
  452. {
  453. // dlgErrorMsg(resultObj.getMessage);
  454. alert(resultObj.getValueObject().get("errMsg"));
  455. }
  456. }
  457. else if( resultObj.getRequestEvent() == "DELETE_DATA")
  458. {
  459. if( resultObj.getSuccess() )
  460. {
  461. alert("삭제 되었습니다.");
  462. location.href="/portal/result/PurResultTargetList.screen";
  463. }
  464. else
  465. {
  466. // dlgErrorMsg(resultObj.getMessage);
  467. alert(resultObj.getValueObject().get("errMsg"));
  468. }
  469. }
  470. else if( resultObj.getRequestEvent() == "PREVIEW_PDF")
  471. {
  472. if( resultObj.getSuccess() )
  473. {
  474. alert("미리보기가 생성 되었습니다.");
  475. var url="/common/file/FileDownloadServlet?mode=fpDown&filePath=/result/<%=vo.get("pur_cont_mod_id")%>/<%=vo.get("acmp_yyyy")%>&fileName=preview_<%=vo.get("corp_id")%>.pdf&fileRealName=preview_<%=vo.get("corp_id")%>.pdf";
  476. window.open(url, "_blank");
  477. }
  478. else
  479. {
  480. // dlgErrorMsg(resultObj.getMessage);
  481. alert(resultObj.getValueObject().get("errMsg"));
  482. }
  483. }
  484. else if ( resultObj.getRequestEvent() == "ADD_02" )
  485. {
  486. if ( resultObj.getSuccess() == true )
  487. {
  488. var rowSet = resultObj.getRowSet();
  489. $("#ADD_02").empty().data("options");
  490. $("#ADD_02").append("<option value=''>-- 선택 --</option>");
  491. for ( var i = 0; i < rowSet.getRowSize(); i++ )
  492. {
  493. $("#ADD_02").append("<option value='"+rowSet.getColValue( i, 0 )+"'>" + rowSet.getColValue( i, 1 )+"</option>");
  494. }
  495. if($("#ADD_01").val() == "")
  496. {
  497. $("#ADD_02").empty().data("options");
  498. $("#ADD_02").append("<option value=''>-- 선택 --</option>");
  499. }
  500. document.form1.isSubmit = false;
  501. var ADD_02 = "<%=params.get("ADD_02")%>";
  502. if(ADD_02.trim() != "")
  503. {
  504. $("#ADD_02").val(ADD_02).attr("selected", "selected");
  505. }
  506. } else {
  507. dlgErrorMsg(resultObj);
  508. }
  509. }
  510. }
  511. catch(errorObject) {
  512. showErrorDlg("doResult()", errorObject);
  513. }
  514. }
  515. function fMakeItemInfo(){
  516. var sColumDelimiter = "┃";
  517. var sRowDelimiter = "↕";
  518. var sSumDelimiter = "╂";
  519. var sEncDelimiter = "⇔";
  520. var isNull = "NULL";
  521. //해시
  522. var sContHash = "";
  523. var sTemplate = "01";
  524. var sMainVendcd = "<%=vo.get("isu_vendcd") %>";
  525. //var sMainVendcd = "1234567890"; // 원사업자번호
  526. var issue_no = "<%=vo.get("issue_no") %>";
  527. var lic_org = "<%=vo.get("lic_org") %>";
  528. var lic_nm = "<%=vo.get("lic_nm") %>";
  529. var reg_no = "<%=vo.get("reg_no") %>";
  530. var cur_cont_amt = "<%=vo.get("cur_cont_amt") %>";
  531. var cur_pay_amt = "<%=vo.get("cur_pay_amt") %>";
  532. var prv_pay_amt = "<%=vo.get("prv_pay_amt") %>";
  533. var cur_pay_samt = "<%=vo.get("cur_pay_samt") %>";
  534. var prv_pay_samt = "<%=vo.get("prv_pay_samt") %>";
  535. var etc = "<%=StringUtils.cvtHTML(vo.get("etc")) %>";
  536. sContHash=issue_no +sColumDelimiter
  537. +lic_org +sColumDelimiter
  538. +lic_nm +sColumDelimiter
  539. +reg_no +sColumDelimiter
  540. +cur_pay_amt +sColumDelimiter
  541. +prv_pay_amt +sColumDelimiter
  542. +cur_pay_samt +sColumDelimiter
  543. +prv_pay_samt +sColumDelimiter
  544. +etc +sRowDelimiter;
  545. var GrowCount = sheet1.LastRow();
  546. for(var i=1; i < GrowCount+1; i++)
  547. {
  548. var cont_nm = "";
  549. var cont_amt = "";
  550. var cont_sdate = "";
  551. var cont_edate = "";
  552. var prv_pay_amt = "";
  553. var cur_pay_amt = "";
  554. var scont_amt = "";
  555. var pay_namt = "";
  556. cont_nm = sheet1.GetCellValue(i,"CONT_NM");
  557. if(cont_nm.length > 0){
  558. cont_amt = sheet1.GetCellValue(i,"CONT_AMT");
  559. if(isEmptyVal(cont_amt))
  560. cont_amt = isNull;
  561. cont_sdate = sheet1.GetCellValue(i,"CONT_SDATE");
  562. if(isEmptyVal(cont_sdate))
  563. cont_sdate = isNull;
  564. cont_edate = sheet1.GetCellValue(i,"CONT_EDATE");
  565. if(isEmptyVal(cont_edate))
  566. cont_edate = isNull;
  567. prv_pay_amt = sheet1.GetCellValue(i,"PRV_PAY_AMT");
  568. if(isEmptyVal(prv_pay_amt))
  569. prv_pay_amt = isNull;
  570. cur_pay_amt = sheet1.GetCellValue(i,"CUR_PAY_AMT");
  571. if(isEmptyVal(cur_pay_amt))
  572. cur_pay_amt = isNull;
  573. scont_amt = sheet1.GetCellValue(i,"SCONT_AMT");
  574. if(isEmptyVal(scont_amt))
  575. scont_amt = isNull;
  576. pay_namt = sheet1.GetCellValue(i,"PAY_NAMT");
  577. if(isEmptyVal(pay_namt))
  578. pay_namt = isNull;
  579. sContHash = sContHash
  580. + sTemplate + sColumDelimiter
  581. + sMainVendcd + sColumDelimiter
  582. + cont_amt + sColumDelimiter
  583. + cont_sdate + sColumDelimiter
  584. + cont_edate + sColumDelimiter
  585. + prv_pay_amt + sColumDelimiter
  586. + cur_pay_amt + sColumDelimiter
  587. + scont_amt + sColumDelimiter
  588. + pay_namt + sRowDelimiter
  589. }
  590. }
  591. $("#CONT_HASH").val(sContHash);
  592. if(confirm("서명 하시겠습니까?")){
  593. SignData();
  594. }
  595. }
  596. function isEmptyVal( value ) {
  597. if(value.length == 0){
  598. return true;
  599. }
  600. if( value == "" ) {
  601. return true;
  602. }
  603. return false;
  604. }
  605. //-->
  606. </script>
  607. <modular:search id="form1">
  608. <modular:key id="fevent" />
  609. </modular:search>
  610. <form id="form1" name="form1" method="post" modular:type="search">
  611. <INPUT type="hidden" name="fevent" id="fevent" value="" />
  612. <INPUT type="hidden" name="pdf" id="pdf" value="" />
  613. <input type="hidden" name="p_page_gubun" id="p_page_gubun" value="<%=params.get("p_page_gubun") %>" />
  614. <input type="hidden" name="p_List" id="p_List" value="<%=params.get("p_List") %>" />
  615. <input type="hidden" name="p_pur_cont_mod_id" id="p_pur_cont_mod_id" value="<%=vo.get("pur_cont_mod_id") %>" />
  616. <input type="hidden" name="p_acmp_yyyy" id="p_acmp_yyyy" value="<%=vo.get("acmp_yyyy") %>" />
  617. <input type="hidden" name="p_corp_id" id="p_corp_id" value="<%=vo.get("corp_id") %>" />
  618. <input type="hidden" name="p_soc_cd" id="p_soc_cd" value= "<%=params.get("p_soc_cd") %>" />
  619. <input type="hidden" name="pur_cont_mod_id" id="pur_cont_mod_id" value="<%=vo.get("pur_cont_mod_id") %>" />
  620. <input type="hidden" name="acmp_yyyy" id="acmp_yyyy" value="<%=vo.get("acmp_yyyy") %>" />
  621. <input type="hidden" name="corp_id" id="corp_id" value="<%=vo.get("corp_id") %>" />
  622. <input type="hidden" name="soc_cd" id="soc_cd" value= "<%=params.get("p_soc_cd") %>" />
  623. <input type="hidden" name="dept_cd" id="dept_cd" value= "<%=vo.get("dept_cd") %>" />
  624. <input type="hidden" name="dept_nm" id="dept_nm" value= "<%=vo.get("dept_name") %>" />
  625. <input type="hidden" name="isu_vendcd" id="isu_vendcd" value= "<%=vo.get("isu_vendcd") %>" />
  626. <input type="hidden" name="con_amt" id="con_amt" value= "<%=vo.get("con_amt") %>" />
  627. <input type="hidden" name="prog_stat_cd" id="prog_stat_cd" value= "<%=vo.get("prog_stat_cd") %>" />
  628. <input type="hidden" name="p_success_gubun" id="p_success_gubun" value= "<%=params.get("p_success_gubun") %>" />
  629. <input type="hidden" name="p_yyyy" id="p_yyyy" value= "<%=params.get("p_yyyy") %>" />
  630. <input type="hidden" name="p_dept_nm" id="p_dept_nm" value= "<%=params.get("p_dept_nm") %>" />
  631. <input type="hidden" name="p_cont_nm" id="p_cont_nm" value= "<%=params.get("p_cont_nm") %>" />
  632. <input type="hidden" name="COMPOSIT_YN" id="COMPOSIT_YN" value= "<%=vo.get("COMPOSIT_YN") %>" />
  633. <input type="hidden" name="PRV_PAY_AMT_O" id="PRV_PAY_AMT_O" value= "<%=vo.get("PRV_PAY_AMT_O") %>" />
  634. <input type="hidden" name="CUR_PAY_NAMT_O" id="CUR_PAY_NAMT_O" value= "<%=vo.get("CUR_PAY_NAMT_O") %>" />
  635. <!--서명 데이터 정보 START-->
  636. <INPUT type='hidden' name="CONT_HASH" value="">
  637. <INPUT type='hidden' name="sItemInfo" value="">
  638. <INPUT type='hidden' name="CONT_SIGNDATA" value="">
  639. <INPUT type='hidden' name="CONT_SIGNDN" value="">
  640. <INPUT type='hidden' name="signeddata" value="">
  641. <INPUT type='hidden' name="signEnddt" value="">
  642. <div align="left" id="title" style="float: left;">
  643. <ul>
  644. <li>실적증명 상세(<%=vo.get("PROG_STAT_NM").equals("") ? "작성대상" : vo.get("PROG_STAT_NM")%>)</li>
  645. </ul>
  646. </div>
  647. <div style="float: right; margin-top: 16px;">
  648. <span class="btnSearch center"><a href="javascript:void(0);" id="btn_list">목록</a></span>
  649. <!--<span class="btnSearch center" id="btn_preview_area"><a href="javascript:void(0);" id="btn_preview">미리보기</a></span>-->
  650. <span class="btnSearch center" id="btn_save_area"><a href="javascript:void(0);" id="btn_save">저장</a></span>
  651. <span class="btnSearch center" id="signOk"><a href="javascript:void(0);" id="btn_signOk">서명</a></span>
  652. <span class="btnSearch center" id="btn_delete_area"><a href="javascript:void(0);" id="btn_delete">삭제</a></span>
  653. </div>
  654. <!-- 기성실적증명서 정보 -->
  655. <div style="float: left;" class="application-info magT10">
  656. <div class="application-sub-title">
  657. <span class="title">기성실적증명서 정보</span>
  658. </div>
  659. <div class="application-location">
  660. </div>
  661. </div>
  662. <table border="0" cellspacing="0" cellpadding="0" width="100%" height="100%" class=form-table>
  663. <colgroup>
  664. <col width="15%" />
  665. <col width="35%" />
  666. <col width="15%" />
  667. <col width="35%" />
  668. </colgroup>
  669. <!-- 검색조건 영역, 테이터 영역 구분 여백 : 시작 -->
  670. <tr>
  671. <th style="text-align: left;">발 급 협 회</th>
  672. <td>
  673. 대한전문건설협회
  674. </td>
  675. <th style="text-align: left;">&nbsp;</th>
  676. <td>
  677. &nbsp;<%--<input type="text" name="issue_no" id="issue_no" value="<%=vo.get("issue_no") %>" /> --%>
  678. </td>
  679. </tr>
  680. <tr id="reson_area">
  681. <th style="text-align: left;">반려사유</th>
  682. <td colspan="3">
  683. <%=vo.get("return_reson").replace("\n", "<br/>") %>
  684. </td>
  685. </tr>
  686. </table>
  687. <!-- 신청인 -->
  688. <div style="float: left;" class="application-info magT10">
  689. <div class="application-sub-title">
  690. <span class="title">신청인</span>
  691. </div>
  692. <div class="application-location">
  693. </div>
  694. </div>
  695. <table border="0" cellspacing="0" cellpadding="0" width="100%" height="100%" class=form-table>
  696. <colgroup>
  697. <col width="15%" />
  698. <col width="35%" />
  699. <col width="15%" />
  700. <col width="35%" />
  701. </colgroup>
  702. <!-- 검색조건 영역, 테이터 영역 구분 여백 : 시작 -->
  703. <tr>
  704. <th style="text-align: left;">상 호</th>
  705. <td>
  706. <input type="text" name="isu_vendnm" id="isu_vendnm" value="<%=vo.get("ISU_VENDNM") %>" class="bg_gry input_blank" readonly="readonly"/>
  707. </td>
  708. <th style="text-align: left;">대 표 자</th>
  709. <td>
  710. <input type="text" name="isu_pres_nm" id="isu_pres_nm" value="<%=vo.get("isu_pres_nm") %>" class="bg_gry input_blank" readonly="readonly"/>
  711. </td>
  712. </tr>
  713. <tr>
  714. <th style="text-align: left;">영업소 소재지</th>
  715. <td colspan="3">
  716. <input type="text" name="isu_addr" id="isu_addr" value="<%=vo.get("ISU_ADDR") %>" style="width: 100%;" />
  717. </td>
  718. </tr>
  719. </table>
  720. <!-- 공사내역 -->
  721. <div style="float: left;" class="application-info magT10">
  722. <div class="application-sub-title">
  723. <span class="title">공사내역</span>
  724. <img alt="팝업" id="contPopup" name="contPopup" src="/img/buyer/button/bt_search_right.gif" style="vertical-align: middle; cursor: pointer;"/>
  725. </div>
  726. <div class="application-location">
  727. </div>
  728. </div>
  729. <table border="0" cellspacing="0" cellpadding="0" width="100%" height="100%" class=form-table>
  730. <colgroup>
  731. <col width="15%" />
  732. <col width="35%" />
  733. <col width="15%" />
  734. <col width="35%" />
  735. </colgroup>
  736. <!-- 검색조건 영역, 테이터 영역 구분 여백 : 시작 -->
  737. <tr>
  738. <th style="text-align: left;">공 사 명</th>
  739. <td>
  740. <input type="text" name="cont_nm" id="cont_nm" value="<%=vo.get("cont_nm") %>" style="width: 100%;"/>
  741. </td>
  742. <th style="text-align: left;">총 공 사 금 액</th>
  743. <td>
  744. 해당사항 없음
  745. </td>
  746. </tr>
  747. <tr>
  748. <th style="text-align: left;">현 장 소 재 지</th>
  749. <td>
  750. <input type="text" name="work_place" id="work_place" value="<%=vo.get("work_place") %>" class="bg_gry input_blank" readonly="readonly"/>
  751. </td>
  752. <th style="text-align: left;">인 허 가 기 관</th>
  753. <td>
  754. <input type="text" name="lic_org" id="lic_org" value="<%=vo.get("lic_org") %>" class="bg_gry input_blank" style="width: 100%;"/>
  755. </td>
  756. </tr>
  757. <tr>
  758. <th style="text-align: left;">계약연월일</th>
  759. <td >
  760. <input type="text" name="cont_cdate" id="cont_cdate" value="<%=vo.get("cont_cdate") %>" class="bg_gry input_blank" readonly="readonly" style="width: 80px;"/>
  761. </td>
  762. <th style="text-align: left;">인허가연월일</th>
  763. <td>
  764. <input type="text" name="lic_date" id="lic_date" value="<%=vo.get("lic_date") %>" readonly="readonly" class="bg_gry input_blank" style="width: 80px;"/>
  765. <img alt="달력" id="lic_date_img" name="date_img" src="/img/buyer/button/bt_calender.gif" style="vertical-align: middle; cursor: pointer;"/>
  766. </td>
  767. </tr>
  768. <tr>
  769. <th style="text-align: left;">착 공 연 월 일</th>
  770. <td>
  771. <input type="text" name="cont_sdate" id="cont_sdate" value="<%=vo.get("cont_sdate") %>" class="bg_gry input_blank" readonly="readonly" style="width: 80px;" />
  772. </td>
  773. <th style="text-align: left;">준공(예정) 연월일</th>
  774. <td>
  775. <input type="text" name="cont_edate" id="cont_edate" value="<%=vo.get("cont_edate") %>" class="bg_gry input_blank" readonly="readonly" style="width: 80px;" />
  776. </td>
  777. </tr>
  778. <tr>
  779. <th style="text-align: left;">업종(면허)명</th>
  780. <td>
  781. <input type="text" name="lic_nm" id="lic_nm" value="<%=vo.get("lic_nm") %>" style="width: 100%;"/>
  782. </td>
  783. <th style="text-align: left;">면 허 번 호</th>
  784. <td>
  785. <input type="text" name="reg_no" id="reg_no" value="<%=vo.get("reg_no") %>" style="width: 100%;"/>
  786. </td>
  787. </tr>
  788. <tr>
  789. <th style="text-align: left;">당년도계약액 또는 이월액</th>
  790. <td>
  791. <input type="text" name="cur_cont_amt" id="cur_cont_amt" value="<%=vo.get("cur_cont_amt") %>" style="text-align: right; width: 200px;" numberOnly="true" class="numberic" maxlength="20"/> 천원
  792. </td>
  793. <th style="text-align: left;">계약금액(총계약금액)</th>
  794. <td>
  795. <input type="text" name="cont_tamt" id="cont_tamt" value="<%=vo.get("cont_tamt") %>" style="text-align: right; width: 200px;" numberOnly="true" class="numberic" maxlength="20" /> 천원
  796. (<input type="text" name="cont_tamt_o" id="cont_tamt_o" value="<%=vo.get("cont_tamt_O") %>" style="text-align: right; width: 70px;" class="numberic bg_gry input_blank" readonly="readonly" /> )
  797. </td>
  798. </tr>
  799. <tr>
  800. <th style="text-align: left;">당년도기성액(총기성액)</th>
  801. <td>
  802. <input type="text" name="cur_pay_amt" id="cur_pay_amt" value="<%=vo.get("cur_pay_amt") %>" style="text-align: right; width: 200px;" numberOnly="true" class="numberic" maxlength="20"/> 천원
  803. (<input type="text" name="cur_pay_amt_o" id="cur_pay_amt_o" value="<%=vo.get("cur_pay_amt_O") %>" style="text-align: right; width: 70px;" class="numberic bg_gry input_blank" readonly="readonly" /> )
  804. </td>
  805. <th style="text-align: left;">전년도까지 누계기성액</th>
  806. <td>
  807. <input type="text" name="prv_pay_amt" id="prv_pay_amt" value="<%=vo.get("prv_pay_amt") %>" style="text-align: right; width: 200px;" numberOnly="true" class="numberic" maxlength="20"/> 천원
  808. </td>
  809. </tr>
  810. <tr>
  811. <th style="text-align: left;">당년도 기성지급액</th>
  812. <td>
  813. <input type="text" name="cur_pay_samt" id="cur_pay_samt" value="<%=vo.get("cur_pay_samt") %>" style="text-align: right; width: 200px;" numberOnly="true" class="numberic" maxlength="20"/> 천원
  814. </td>
  815. <th style="text-align: left;">전년도까지 누계지급액</th>
  816. <td>
  817. <input type="text" name="prv_pay_samt" id="prv_pay_samt" value="<%=vo.get("prv_pay_samt") %>" style="text-align: right; width: 200px;" numberOnly="true" class="numberic" maxlength="20"/> 천원
  818. </td>
  819. </tr>
  820. <tr>
  821. <th style="text-align: left;">기타</th>
  822. <td colspan="3">
  823. (공사의 규모, 공법, 공동도급 내역 등)<br/>
  824. <textarea rows="5" cols="100" name="etc" id="etc"><%=vo.get("etc") %></textarea>
  825. </td>
  826. </tr>
  827. <tr>
  828. <th style="text-align: left;">공종</th>
  829. <td>
  830. <%=CommCodeManager.getSelectCodeSearchList("RESULT_01","ADD_01","height=18;width:180px;","<option value=''>--선택--</option>", vo.get("ADD_01"),"","DETAILCD") %>
  831. </td>
  832. <th style="text-align: left;">세부공종(전문)</th>
  833. <td>
  834. <%= HTMLMaker.getSelectTag(ADD_02, "RESULT_CD", "RESULT_NAME" , "ADD_02", "style='width:28%;height=18;'", "<OPTION value=''>-- 선택 --</OPTION>", vo.get("ADD_02"), 0) %>
  835. </td>
  836. </tr>
  837. </table>
  838. <!-- 복합공종-->
  839. <div style="float: left;" class="application-info magT10">
  840. <div class="application-sub-title">
  841. <span class="title">복합공종(타공종 포함) 실적 내용 (단위:천원, 부가세 포함) <input type="checkbox" id="viewSheet"></span>
  842. </div>
  843. <div class="application-location">
  844. </div>
  845. </div>
  846. <div id="sheetDiv">
  847. <div style="float: right; margin-top: -23px; margin-bottom: 5px;" id="sheet1_btn">
  848. <span class="btnSearch center" id="btn_sheet_add_area"><a href="javascript:void(0);" id="btn_sheet_add">추가</a></span>
  849. <!-- <span class="btnSearch center"><a href="javascript:void(0);" id="btn_sheet_delete">삭제</a></span> -->
  850. </div>
  851. <!-- 시트 -->
  852. <div style="width: 100%; height: 150px; margin-top: 5px; margin-bottom: 30px;">
  853. <!-- 데이터 영역 : 시작 -->
  854. <!-- ibsheet7 그리드 생성 -->
  855. <script>createIBSheet("sheet1","100%", "150px;");</script>
  856. <!-- 데이터 영역 : 종료 -->
  857. </div>
  858. </div>
  859. <!-- 공사내역 -->
  860. <div style="float: left;" id="isuDiv" class="application-info magT10">
  861. <div class="application-sub-title">
  862. <span class="title">발급요청자 정보</span>
  863. </div>
  864. <div class="application-location">
  865. </div>
  866. </div>
  867. <table border="0" cellspacing="0" cellpadding="0" width="100%" height="100%" class=form-table>
  868. <colgroup>
  869. <col width="15%" />
  870. <col width="35%" />
  871. <col width="15%" />
  872. <col width="35%" />
  873. </colgroup>
  874. <!-- 검색조건 영역, 테이터 영역 구분 여백 : 시작 -->
  875. <tr>
  876. <th style="text-align: left;">담당자명</th>
  877. <td>
  878. <input type="text" name="isu_charge_nm" id="isu_charge_nm" value="<%=vo.get("isu_charge_nm").equals("") ? user.get("user_name") : vo.get("isu_charge_nm") %>" />
  879. </td>
  880. <th style="text-align: left;">휴대전화</th>
  881. <td>
  882. <input type="text" name="isu_req_hp1" id="isu_req_hp1" value="<%=vo.get("isu_req_hp1").equals("") ? user.get("hp1") : vo.get("isu_req_hp1") %>" style="width: 80px;" maxlength="3" number="true"/> -
  883. <input type="text" name="isu_req_hp2" id="isu_req_hp2" value="<%=vo.get("isu_req_hp2").equals("") ? user.get("hp2") : vo.get("isu_req_hp2") %>" style="width: 120px;" maxlength="4" number="true"/> -
  884. <input type="text" name="isu_req_hp3" id="isu_req_hp3" value="<%=vo.get("isu_req_hp3").equals("") ? user.get("hp3") : vo.get("isu_req_hp3") %>" style="width: 120px;" maxlength="4" number="true"/>
  885. </td>
  886. </tr>
  887. </table>
  888. <%if(vo.get("prog_stat_cd").equals("30")){ %>
  889. <div id="file_area" style="width: 100%;">
  890. <!-- 첨부파일 -->
  891. <div style="float: left;" class="application-info magT10">
  892. <div class="application-sub-title">
  893. <span class="title">첨부파일</span>
  894. </div>
  895. <div class="application-location">
  896. </div>
  897. </div>
  898. <table border="0" cellspacing="0" cellpadding="0" width="100%" height="100%" class=form-table>
  899. <colgroup>
  900. <col width="15%" />
  901. <col width="*" />
  902. </colgroup>
  903. <!-- 검색조건 영역, 테이터 영역 구분 여백 : 시작 -->
  904. <tr>
  905. <th style="text-align: left;">첨부파일</th>
  906. <td colspan="3">
  907. <div id="auto_attach_file_view" class="attach_file_view">
  908. <ul>
  909. <%
  910. for(int i=0; i<fileRowSet.size(); i++)
  911. {
  912. %>
  913. <li>
  914. <a href="/common/file/FileDownloadServlet?mode=fpDown&filePath=<%=fileRowSet.getRow(i).get("FILE_PATH")%>&fileName=<%=URLEncoder.encode(fileRowSet.getRow(i).get("FILE_NAME"), "UTF-8")%>&fileRealName=<%=fileRowSet.getRow(i).get("REAL_FILE_NAME")%>"><%=i+1%> : <%=fileRowSet.getRow(i).get("FILE_NAME")%> (<%=fileRowSet.getRow(i).get("FILE_SIZE").trim() %>)</a>
  915. </li>
  916. <%
  917. }
  918. %>
  919. </ul>
  920. </div>
  921. </td>
  922. </tr>
  923. </table>
  924. </div>
  925. <%} %>
  926. </form>
  927. <!-- ------------------서명 요청 처리 로직-------- -->
  928. <SCRIPT LANGUAGE="JavaScript">
  929. function SignData()
  930. {
  931. var VendorCd = "<%=vo.get("isu_vendcd")%>";
  932. // VendorCd = '2234567890';
  933. var sOrgnData = $("#CONT_HASH").val();
  934. unisign.SignDataNVerifyVID( sOrgnData, null, VendorCd, function( resultObject ) {
  935. if( !resultObject || resultObject.resultCode != 0 ){
  936. if( resultObject.resultCode == '14208'){
  937. alert("주민번호/사업자번호를 확인할 수 없는 인증서입니다.");
  938. } else if( resultObject.resultCode == '999'){
  939. alert("사용자 DN 선택이 취소 되었습니다.");
  940. } else {
  941. alert( resultObject.resultMessage);
  942. }
  943. return;
  944. }
  945. var signeddata = resultObject.signedData;
  946. var userdn = resultObject.certAttrs.subjectName;
  947. $("#CONT_SIGNDATA").val(signeddata);
  948. $("#CONT_SIGNDN").val(userdn);
  949. $("#fevent").val("SIGN_OK");
  950. var url = Modular.model.PageContext.CONTEXT_ROOT + "/portal/result/PurResultDetail03_sheet.screen";
  951. var result = Modular.view.IBSheet7.doSave(sheet1, url, $("#form1"), false);
  952. }
  953. );
  954. }
  955. </SCRIPT>
  956. <div id="CONTROL_LAYER" style="position:absolute; z-index:10; visibility:hidden;">
  957. </div>
  958. <!-- 전자인증 모듈 설정 //-->
  959. <link rel="stylesheet" type="text/css" href="/CrossCert/CC_WSTD_home/unisignweb/rsrc/css/certcommon.css?v=1" />
  960. <script type="text/javascript" src="/CrossCert/CC_WSTD_home/unisignweb/js/unisignwebclient.js?v=1"></script>
  961. <script type="text/javascript" src="/CrossCert/UniSignWeb_Multi_Init_Nim.js?v=1"></script>
  962. <!-- 전자인증 모듈 설정 //-->