ResultDetail05.jsp 40 KB

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