ResultDetail03.jsp 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946
  1. <%--
  2. - FileName : OutSupplierApprList.jsp
  3. - Author(s) : Sung Min Lee
  4. - Date : 2014.06.17
  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("ResultDetail03BizVo");
  22. RowSet fileRowSet = storage.getRowSet("RESULT_PDF");
  23. String pageEvent = storage.getEvent();
  24. %>
  25. <script type="text/javascript">
  26. <!--
  27. $(document).on("keyup", "input:text[numberOnly]", function()
  28. {
  29. $(this).val( $(this).val().replace(/[^0-9]/gi,"") ); //숫자만입력 정규식...
  30. $(this).val($(this).val().split(/(?=(?:\d{3})+(?:\.|$))/g).join(',')); //콤마찍기 정규식...귀찮ㄹ타
  31. });
  32. $(document).on("keyup", "input:text[number]", function()
  33. {
  34. $(this).val( $(this).val().replace(/[^0-9]/gi,"") ); //숫자만입력 정규식...
  35. });
  36. $(function(){
  37. $.gridInit = function()
  38. {
  39. var init_sheet = {};
  40. init_sheet.Cfg = {SearchMode:2, MergeSheet:msHeaderOnly, Page:10};
  41. init_sheet.Cols = [
  42. // {Header:"삭제", Type:"DelCheck", SaveName:"DEL_CHECK", Width:15, Align:"Center"},
  43. {Header:'Status', Type:"Status", SaveName:"STATUS", Width:0, Align:"Center", Edit:"False", Hidden:"True"},
  44. {Header:"SEQ", Type:"Text", SaveName:"SEQ", Width:80, Align:"Center", Hidden:"True"},
  45. {Header:"SUB_CONT_MOD_ID", Type:"Text", SaveName:"SUB_CONT_MOD_ID", Width:80, Align:"Center", Hidden:"True"},
  46. {Header:"ACMP_YYYY", Type:"Text", SaveName:"ACMP_YYYY", Width:80, Align:"Center", Hidden:"True"},
  47. {Header:"SOC_CD", Type:"Text", SaveName:"SOC_CD", Width:80, Align:"Center", Hidden:"True"},
  48. {Header:"공사(종)명", Type:"Text", SaveName:"CONT_NM", Width:80, Align:"Center"},
  49. {Header:"도급금액", Type:"AutoSum", SaveName:"SCONT_AMT", Width:80, Align:"Right", Format:"#,##0"},
  50. {Header:"전년도까지 기성액", Type:"AutoSum", SaveName:"PRV_PAY_AMT", Width:80, Align:"Right", Format:"#,##0"},
  51. {Header:"금년도 기성액", Type:"AutoSum", SaveName:"CUR_PAY_AMT", Width:80, Align:"Right", Format:"#,##0"},
  52. {Header:"미기성액", Type:"AutoSum", SaveName:"PAY_NAMT", Width:80, Align:"Right", Format:"#,##0"}
  53. ];
  54. init_sheet.HeaderMode = {Sort:1};
  55. IBS_InitSheet(sheet1, init_sheet);
  56. sheet1.SetDataAutoTrim(0);
  57. // sheet1.SetEditable(false);
  58. sheet1.SetCountPosition(0);
  59. sheet1.SetCellText(sheet1.LastRow(), "CONT_NM", "합 계");
  60. sheet1.GetSumFontBold(1);
  61. sheet1.FitColWidth();
  62. }
  63. $.searchList = function()
  64. {
  65. $("#fevent").val("GET_LIST");
  66. var url = Modular.model.PageContext.CONTEXT_ROOT + "/result/outside/ResultDetail03_sheet.screen";
  67. Modular.view.IBSheet7.doSearch(sheet1, url, $("#form1"), 30, "");
  68. };
  69. $.callCalendar = function(id){
  70. var str_value = id;
  71. var re = new RegExp("_", "ig");
  72. var resultArray = str_value.match(re);
  73. if(resultArray.length == 1)
  74. {
  75. dlgCalendar(id);
  76. }
  77. else if(resultArray.length == 2)
  78. {
  79. id = id.substring(0, id.lastIndexOf("_"));
  80. dlgCalendar(id);
  81. }
  82. };
  83. $(".numberic").each(function(){
  84. $(this).val($(this).val().split(/(?=(?:\d{3})+(?:\.|$))/g).join(','));
  85. });
  86. $("#lic_date_img").click(function(){
  87. $.callCalendar($(this).attr("id"));
  88. });
  89. $("#btn_sheet_add").click(function(){
  90. sheet1.DataInsert(-1);
  91. });
  92. // $("#btn_sheet_delete").click(function(){
  93. // sheet1.RowDelete(sheet1.LastRow() , 0);
  94. // });
  95. $("#btn_preview").click(function(){
  96. var reportInfo = new ReportInfo();
  97. reportInfo.title = "한국소방시설협회 실적증명";
  98. reportInfo.reportName = "/report/mrd/buyer/supplier/fire_application.mrd";
  99. reportInfo.set("<%=vo.get("corp_id")%>"); // $1
  100. reportInfo.set("<%=vo.get("sub_cont_mod_id")%>"); // $2
  101. reportInfo.set("<%=vo.get("acmp_yyyy")%>"); // $3
  102. reportInfo.set("<%=vo.get("soc_cd")%>"); // $4
  103. reportInfo.width = 1000; // Default: 1024
  104. reportInfo.height = 700; // Default: 768
  105. reportInfo.showPopup();
  106. $("#pdf").val("");
  107. });
  108. $("#btn_save").click(function(){
  109. var f = document.form1;
  110. fMakeItemInfo();
  111. if($(':radio[name="p_reson"]:checked').val() == undefined)
  112. {
  113. alert("발급 승인여부를 선택해 주세요.");
  114. return;
  115. }
  116. if(confirm($("#btn_save").text() + " 하시겠습니까?"))
  117. {
  118. if($(':radio[name="p_reson"]:checked').val() == "91" )
  119. {
  120. if($("#p_return_reson").val().trim() == "")
  121. {
  122. alert("반려사유를 입력해 주세요.");
  123. return $("#p_return_reson").focus();
  124. }
  125. $("#fevent").val("SAVE_STATUS");
  126. submitXmlRequest("/result/outside/ResultDetail01_form.screen", "SAVE_STATUS", f);
  127. }else{
  128. $("#fevent").val("SIGN_OK");
  129. submitXmlRequest("/result/outside/ResultDetail01_form.screen", "SIGN_OK", f);
  130. }
  131. }
  132. });
  133. //2016.1.25
  134. $("#btn_delete").click(function(){
  135. var f = document.form1;
  136. if(confirm( "반려 하시겠습니까?"))
  137. {
  138. $(':radio[name="p_reson"]:checked').val("91");
  139. $("#fevent").val("SAVE_STATUS");
  140. submitXmlRequest("/result/outside/ResultDetail01_form.screen", "SAVE_STATUS", f);
  141. }
  142. });
  143. $(':radio[name="p_reson"]').click(function(){
  144. if($(':radio[name="p_reson"]:checked').val() == "91" )
  145. {
  146. $("#reson_area").css("display", "table-row");
  147. $("#btn_save").text("반려");
  148. $("#p_return_reson").val("");
  149. $("#p_return_reson").removeClass();
  150. $("#p_return_reson").attr("readonly", false);
  151. $("#p_return_reson").focus();
  152. }
  153. else
  154. {
  155. $("#reson_area").css("display", "none");
  156. $("#btn_save").text("승인");
  157. $("#p_return_reson").val("");
  158. $("#p_return_reson").addClass("bg_gry");
  159. $("#p_return_reson").attr("readonly", true);
  160. }
  161. });
  162. $("#btn_list").click(function(){
  163. $("#fevent").val("");
  164. if($("#p_page_gubun").val() == "target")
  165. {
  166. $("#form1").attr("action", "<%=params.get("p_List") %>");
  167. }
  168. else if($("#p_page_gubun").val() == "info")
  169. {
  170. $("#form1").attr("action", "<%=params.get("p_List") %>");
  171. }
  172. $("#form1").attr("target", "_self");
  173. $("#form1").attr("method", "post");
  174. $("#form1").submit();
  175. });
  176. });
  177. $(document).ready(function(){
  178. $.gridInit(sheet1);
  179. $.searchList();
  180. if($("#p_success_gubun").val() == "R")
  181. {
  182. $(':radio[name="p_reson"]').attr("disabled", true);
  183. $(':input').attr("readonly", true);
  184. $(':input[type="text"]').addClass("bg_gry");
  185. $(':input[type="text"]').addClass("input_blank");
  186. }
  187. if($(':radio[name="p_reson"]:checked').val() == "91" )
  188. {
  189. $("#reson_area").css("display", "table-row");
  190. $("#btn_save").text("반려");
  191. $("#p_return_reson").removeClass();
  192. $("#p_return_reson").attr("readonly", false);
  193. $("#p_return_reson").focus();
  194. }
  195. else
  196. {
  197. $("#reson_area").css("display", "none");
  198. $("#btn_save").text("승인");
  199. $("#p_return_reson").val("");
  200. $("#p_return_reson").addClass("bg_gry");
  201. $("#p_return_reson").attr("readonly", true);
  202. }
  203. if($("#p_page_gubun").val() == "info")
  204. {
  205. if($("#prog_stat_cd").val() == "20" )
  206. {
  207. $("#btn_issue_req").css("display", "inline");
  208. $(':input').attr("readonly", true);
  209. $(':input[type="text"]').addClass("bg_gry");
  210. $(':input[type="text"]').addClass("input_blank");
  211. $("#btn_delete").css("display", "none");
  212. }
  213. else if($("#prog_stat_cd").val() == "30")
  214. {
  215. $("#btn_save_area").css("display", "none");
  216. }
  217. else if($("#prog_stat_cd").val() == "10")
  218. {
  219. $("#btn_issue_req").css("display", "none");
  220. $("#btn_save").css("display", "none");
  221. $("#btn_delete").css("display", "none");
  222. }
  223. else
  224. {
  225. $("#btn_delete").css("display", "none");
  226. $("#btn_issue_req").css("display", "none");
  227. $("#btn_delete").css("display", "none");
  228. $("#issue_no").attr("readonly", "true");
  229. $("#cont_loc_no").attr("readonly", "true");
  230. $("#lic_nm").attr("readonly", "true");
  231. $("#work_place").attr("readonly", "true");
  232. $("#ord_nm").attr("readonly", "true");
  233. $("#ori_cont_nm").attr("readonly", "true");
  234. $("#cont_way_nm").attr("readonly", "true");
  235. $("#cont_kind").attr("readonly", "true");
  236. $("#work_kind").attr("readonly", "true");
  237. $("#sub_comp_nm").attr("readonly", "true");
  238. $("#sub_comp_no").attr("readonly", "true");
  239. $("#numberic").attr("readonly", "true");
  240. $("#isu_charge_nm").attr("readonly", "true");
  241. $("#isu_req_hp1").attr("readonly", "true");
  242. $("#isu_req_hp2").attr("readonly", "true");
  243. $("#isu_req_hp3").attr("readonly", "true");
  244. }
  245. if($("#prog_stat_cd").val() == "91")
  246. {
  247. $("#p_return_reson").removeClass();
  248. $("#p_return_reson").attr("readonly", false);
  249. $(':input').attr("readonly", false);
  250. }
  251. else
  252. {
  253. $("#p_return_reson").val();
  254. }
  255. }else
  256. {
  257. $("#btn_issue_req").css("display", "none");
  258. }
  259. }) ;
  260. function sheet1_OnSaveEnd(code, msg)
  261. {
  262. var event = $("#fevent").val();
  263. var f = document.form1;
  264. document.form1.isSubmit = false;
  265. if(code >= "0")
  266. {
  267. if(event == "SAVE_LIST")
  268. {
  269. alert("저장이 완료되었습니다.");
  270. location.href="/result/outside/ResultIngList.screen";
  271. }
  272. else
  273. {
  274. alert("수정이 완료되었습니다.");
  275. }
  276. }
  277. }
  278. function doResult(resultObj) {
  279. try
  280. {
  281. document.form1.isSubmit = false;
  282. if( resultObj.getRequestEvent() == "SAVE_STATUS")
  283. {
  284. if( resultObj.getSuccess() )
  285. {
  286. alert($("#btn_save").text() + " 되었습니다.");
  287. if($(':radio[name="p_reson"]:checked').val() == "91" )
  288. {
  289. location.href="/result/outside/ResultIngList.screen";
  290. }
  291. else
  292. {
  293. location.href="/result/outside/ResultFinishList.screen";
  294. }
  295. }
  296. else
  297. {
  298. // dlgErrorMsg(resultObj.getMessage);
  299. alert(resultObj.getValueObject().get("errMsg"));
  300. }
  301. }else if(resultObj.getRequestEvent() == "SIGN_OK"){
  302. if( resultObj.getSuccess() )
  303. {
  304. alert($("#btn_save").text() + " 되었습니다.");
  305. if($(':radio[name="p_reson"]:checked').val() == "91" )
  306. {
  307. location.href="/result/outside/ResultIngList.screen";
  308. }
  309. else
  310. {
  311. location.href="/result/outside/ResultFinishList.screen";
  312. }
  313. }
  314. else
  315. {
  316. alert("실패하였습니다.");
  317. //alert(resultObj.getValueObject().get("errMsg"));
  318. }
  319. }
  320. }
  321. catch(errorObject) {
  322. showErrorDlg("doResult()", errorObject);
  323. }
  324. }
  325. function fMakeItemInfo(){
  326. var sColumDelimiter = "┃";
  327. var sRowDelimiter = "↕";
  328. var sSumDelimiter = "╂";
  329. var sEncDelimiter = "⇔";
  330. var isNull = "NULL";
  331. //해시
  332. var sContHash = "";
  333. var sTemplate = "01";
  334. <%-- var sMainVendcd = "<%=vo.get("isu_vendcd") %>"; --%>
  335. var sMainVendcd = "1234567890"; // 원사업자번호
  336. var issue_no = "<%=vo.get("issue_no") %>";
  337. var lic_nm = "<%=vo.get("lic_nm") %>";
  338. var cont_loc_no = "<%=vo.get("cont_loc_no") %>";
  339. var work_place = "<%=vo.get("work_place") %>";
  340. var ord_nm = "<%=vo.get("ord_nm") %>";
  341. var ori_cont_nm = "<%=vo.get("ori_cont_nm") %>";
  342. var cont_way_nm = "<%=vo.get("cont_way_nm") %>";
  343. var cont_kind = "<%=vo.get("cont_kind") %>";
  344. var work_kind = "<%=vo.get("work_kind") %>";
  345. var prv_pay_amt = "<%=vo.get("prv_pay_amt") %>";
  346. var prv_pay_namt = "<%=vo.get("prv_pay_namt") %>";
  347. var cur_cont_amt = "<%=vo.get("cur_cont_amt") %>";
  348. var cur_pay_amt = "<%=vo.get("cur_pay_amt") %>";
  349. var cur_pay_namt = "<%=vo.get("cur_pay_namt") %>";
  350. var sub_comp_nm = "<%=vo.get("sub_comp_nm") %>";
  351. var sub_comp_no = "<%=vo.get("sub_comp_no") %>";
  352. var sub_amt = "<%=vo.get("sub_amt") %>";
  353. sContHash=issue_no +sColumDelimiter
  354. +lic_nm +sColumDelimiter
  355. +cont_loc_no +sColumDelimiter
  356. +work_place +sColumDelimiter
  357. +ord_nm +sColumDelimiter
  358. +ori_cont_nm +sColumDelimiter
  359. +cont_way_nm +sColumDelimiter
  360. +cont_kind +sColumDelimiter
  361. +work_kind +sColumDelimiter
  362. +prv_pay_amt +sColumDelimiter
  363. +prv_pay_namt +sColumDelimiter
  364. +cur_cont_amt +sColumDelimiter
  365. +cur_pay_amt +sColumDelimiter
  366. +cur_pay_namt +sColumDelimiter
  367. +sub_comp_nm +sColumDelimiter
  368. +sub_comp_no +sColumDelimiter
  369. +sub_amt +sRowDelimiter;
  370. var GrowCount = sheet1.LastRow();
  371. for(var i=1; i < GrowCount+1; i++)
  372. {
  373. var cont_nm = "";
  374. var cont_amt = "";
  375. var cont_sdate = "";
  376. var cont_edate = "";
  377. var prv_pay_amt = "";
  378. var cur_pay_amt = "";
  379. var scont_amt = "";
  380. var pay_namt = "";
  381. cont_nm = sheet1.GetCellValue(i,"CONT_NM");
  382. if(cont_nm.length > 0){
  383. cont_amt = sheet1.GetCellValue(i,"CONT_AMT");
  384. if(isEmptyVal(cont_amt))
  385. cont_amt = isNull;
  386. cont_sdate = sheet1.GetCellValue(i,"CONT_SDATE");
  387. if(isEmptyVal(cont_sdate))
  388. cont_sdate = isNull;
  389. cont_edate = sheet1.GetCellValue(i,"CONT_EDATE");
  390. if(isEmptyVal(cont_edate))
  391. cont_edate = isNull;
  392. prv_pay_amt = sheet1.GetCellValue(i,"PRV_PAY_AMT");
  393. if(isEmptyVal(prv_pay_amt))
  394. prv_pay_amt = isNull;
  395. cur_pay_amt = sheet1.GetCellValue(i,"CUR_PAY_AMT");
  396. if(isEmptyVal(cur_pay_amt))
  397. cur_pay_amt = isNull;
  398. scont_amt = sheet1.GetCellValue(i,"SCONT_AMT");
  399. if(isEmptyVal(scont_amt))
  400. scont_amt = isNull;
  401. pay_namt = sheet1.GetCellValue(i,"PAY_NAMT");
  402. if(isEmptyVal(pay_namt))
  403. pay_namt = isNull;
  404. sContHash = sContHash
  405. + sTemplate + sColumDelimiter
  406. + sMainVendcd + sColumDelimiter
  407. + cont_amt + sColumDelimiter
  408. + cont_sdate + sColumDelimiter
  409. + cont_edate + sColumDelimiter
  410. + prv_pay_amt + sColumDelimiter
  411. + cur_pay_amt + sColumDelimiter
  412. + scont_amt + sColumDelimiter
  413. + pay_namt + sRowDelimiter
  414. }
  415. }
  416. $("#CONT_HASH").val(sContHash);
  417. //if(confirm("서명 하시겠습니까?")){
  418. //SignData();
  419. //}
  420. }
  421. function isEmptyVal( value ) {
  422. if(value.length == 0){
  423. return true;
  424. }
  425. if( value == "" ) {
  426. return true;
  427. }
  428. return false;
  429. }
  430. //-->
  431. </script>
  432. <modular:search id="form1">
  433. <modular:key id="fevent" />
  434. </modular:search>
  435. <form id="form1" name="form1" method="post" modular:type="search">
  436. <INPUT type="hidden" name="fevent" id="fevent" value="" />
  437. <input type="hidden" name="p_page_gubun" id="p_page_gubun" value="<%=params.get("p_page_gubun") %>" />
  438. <input type="hidden" name="p_sub_cont_mod_id" id="p_sub_cont_mod_id" value="<%=vo.get("sub_cont_mod_id") %>" />
  439. <input type="hidden" name="p_acmp_yyyy" id="p_acmp_yyyy" value="<%=vo.get("acmp_yyyy") %>" />
  440. <input type="hidden" name="p_corp_id" id="p_corp_id" value="<%=vo.get("corp_id") %>" />
  441. <input type="hidden" name="p_soc_cd" id="p_soc_cd" value= "<%=params.get("p_soc_cd") %>" />
  442. <input type="hidden" name="sub_cont_mod_id" id="sub_cont_mod_id" value="<%=vo.get("sub_cont_mod_id") %>" />
  443. <input type="hidden" name="acmp_yyyy" id="acmp_yyyy" value="<%=vo.get("acmp_yyyy") %>" />
  444. <input type="hidden" name="corp_id" id="corp_id" value="<%=vo.get("corp_id") %>" />
  445. <input type="hidden" name="soc_cd" id="soc_cd" value= "<%=params.get("p_soc_cd") %>" />
  446. <input type="hidden" name="dept_cd" id="dept_cd" value= "<%=vo.get("dept_cd") %>" />
  447. <input type="hidden" name="dept_nm" id="dept_nm" value= "<%=vo.get("dept_name") %>" />
  448. <input type="hidden" name="isu_vendcd" id="isu_vendcd" value= "<%=vo.get("isu_vendcd") %>" />
  449. <input type="hidden" name="con_amt" id="con_amt" value= "<%=vo.get("con_amt") %>" />
  450. <input type="hidden" name="prog_stat_cd" id="prog_stat_cd" value= "<%=vo.get("prog_stat_cd") %>" />
  451. <input type="hidden" name="p_success_gubun" id="p_success_gubun" value= "<%=params.get("p_success_gubun") %>" />
  452. <input type="hidden" name="p_yyyy" id="p_yyyy" value= "<%=params.get("p_yyyy") %>" />
  453. <input type="hidden" name="p_dept_nm" id="p_dept_nm" value= "<%=params.get("p_dept_nm") %>" />
  454. <input type="hidden" name="p_cont_nm" id="p_cont_nm" value= "<%=params.get("p_cont_nm") %>" />
  455. <input type="hidden" name="p_status" id="p_status" value= "<%=params.get("p_status") %>" />
  456. <input type="hidden" name="CONT_HASH" id="CONT_HASH" value= "" />
  457. <input type="hidden" name="PRV_PAY_AMT_O" id="PRV_PAY_AMT_O" value= "<%=vo.get("PRV_PAY_AMT_O") %>" />
  458. <input type="hidden" name="CUR_PAY_NAMT_O" id="CUR_PAY_NAMT_O" value= "<%=vo.get("CUR_PAY_NAMT_O") %>" />
  459. <div align="left" id="title" style="float: left;">
  460. <ul>
  461. <li>실적증명 상세(<%=vo.get("PROG_STAT_NM").equals("") ? "작성대상" : vo.get("PROG_STAT_NM")%>)</li>
  462. </ul>
  463. </div>
  464. <div style="float: right; margin-top: 16px;">
  465. <span class="btnSearch center"><a href="javascript:void(0);" id="btn_list">목록</a></span>
  466. <span class="btnSearch center" id="btn_preview_area"><a href="javascript:void(0);" id="btn_preview">미리보기</a></span>
  467. <span class="btnSearch center" id="btn_save_area"><a href="javascript:void(0);" id="btn_save">승인</a></span>
  468. <span class="btnSearch center"><a href="javascript:void(0);" id="btn_delete">반려</a></span>
  469. </div>
  470. <div style="float: left;" class="application-info magT10">
  471. <div class="application-sub-title">
  472. <span class="title">진행상태</span>
  473. </div>
  474. <div class="application-location">
  475. </div>
  476. </div>
  477. <table border="0" cellspacing="0" cellpadding="0" width="100%" height="100%" class=form-table>
  478. <colgroup>
  479. <col width="15%" />
  480. <col width="*%" />
  481. </colgroup>
  482. <tr>
  483. <th style="text-align: left; width: 100px;" >발급 승인여부</th>
  484. <td style="text-align: left;" colspan="3">
  485. <span><input type="radio" name="p_reson" id="p_reson1" value="30" <%=vo.get("prog_stat_cd").equals("30") ? "checked=\"checked\"" : "" %> /> 승인</span>
  486. <span style="margin-left: 50px;"><input type="radio" name="p_reson" id="p_reson2" value="91" <%=vo.get("prog_stat_cd").equals("91") ? "checked=\"checked\"" : "" %> /> 반려</span>
  487. </td>
  488. </tr>
  489. <tr id="reson_area">
  490. <th style="text-align: left;">반려사유</th>
  491. <td colspan="3">
  492. <textarea name="p_return_reson" id="p_return_reson" rows="5" style="width: 100%;" ><%=vo.get("return_reson") %></textarea>
  493. </td>
  494. </tr>
  495. </table>
  496. <!-- 기성실적증명서 정보 -->
  497. <div style="float: left;" class="application-info magT10">
  498. <div class="application-sub-title">
  499. <span class="title">기성실적증명서 정보</span>
  500. </div>
  501. <div class="application-location">
  502. </div>
  503. </div>
  504. <table border="0" cellspacing="0" cellpadding="0" width="100%" height="100%" class=form-table>
  505. <colgroup>
  506. <col width="15%" />
  507. <col width="35%" />
  508. <col width="15%" />
  509. <col width="35%" />
  510. </colgroup>
  511. <!-- 검색조건 영역, 테이터 영역 구분 여백 : 시작 -->
  512. <tr>
  513. <th style="text-align: left;">발 급 협 회</th>
  514. <td>
  515. 한국소방시설협회
  516. </td>
  517. <th style="text-align: left;">발 급 번 호</th>
  518. <td>
  519. <input type="text" name="issue_no" id="issue_no" value="<%=vo.get("issue_no") %>" />
  520. </td>
  521. </tr>
  522. </table>
  523. <!-- 신청인 -->
  524. <div style="float: left;" class="application-info magT10">
  525. <div class="application-sub-title">
  526. <span class="title">신청인</span>
  527. </div>
  528. <div class="application-location">
  529. </div>
  530. </div>
  531. <table border="0" cellspacing="0" cellpadding="0" width="100%" height="100%" class=form-table>
  532. <colgroup>
  533. <col width="15%" />
  534. <col width="35%" />
  535. <col width="15%" />
  536. <col width="35%" />
  537. </colgroup>
  538. <!-- 검색조건 영역, 테이터 영역 구분 여백 : 시작 -->
  539. <tr>
  540. <th style="text-align: left;">상 호</th>
  541. <td colspan="3">
  542. <input type="text" name="isu_vendnm" id="isu_vendnm" value="<%=vo.get("ISU_VENDNM") %>" class="bg_gry input_blank" readonly="readonly"/>
  543. </td>
  544. </tr>
  545. <tr>
  546. <th style="text-align: left;">대 표 자</th>
  547. <td>
  548. <input type="text" name="isu_pres_nm" id="isu_pres_nm" value="<%=vo.get("isu_pres_nm") %>" class="bg_gry input_blank" readonly="readonly"/>
  549. </td>
  550. <th style="text-align: left;">전화번호</th>
  551. <td>
  552. <input type="text" name="isu_phone" id="isu_phone" value="<%=vo.get("isu_phone") %>" class="bg_gry input_blank" readonly="readonly"/>
  553. </td>
  554. </tr>
  555. <tr>
  556. <th style="text-align: left;">영업소 소재지</th>
  557. <td colspan="3">
  558. <input type="text" name="isu_addr" id="isu_addr" value="<%=vo.get("ISU_ADDR") %>" class="bg_gry input_blank" readonly="readonly"/>
  559. </td>
  560. </tr>
  561. </table>
  562. <!-- 소방시설공사 내용 -->
  563. <div style="float: left;" class="application-info magT10">
  564. <div class="application-sub-title">
  565. <span class="title">소방시설공사 내용</span>
  566. </div>
  567. <div class="application-location">
  568. </div>
  569. </div>
  570. <table border="0" cellspacing="0" cellpadding="0" width="100%" height="100%" class=form-table>
  571. <colgroup>
  572. <col width="15%" />
  573. <col width="35%" />
  574. <col width="15%" />
  575. <col width="35%" />
  576. </colgroup>
  577. <!-- 검색조건 영역, 테이터 영역 구분 여백 : 시작 -->
  578. <tr>
  579. <th style="text-align: left;">공사명</th>
  580. <td>
  581. <input type="text" name="cont_nm" id="cont_nm" value="<%=vo.get("cont_nm") %>" class="bg_gry input_blank" readonly="readonly"/>
  582. </td>
  583. <th style="text-align: left;">업종</th>
  584. <td>
  585. <input type="text" name="lic_nm" id="lic_nm" value="<%=vo.get("lic_nm") %>" style="width: 100%;"/>
  586. </td>
  587. </tr>
  588. <tr>
  589. <th style="text-align: left;">공사지역</th>
  590. <td>
  591. <input type="text" name="cont_loc_no" id="cont_loc_no" value="<%=vo.get("cont_loc_no") %>" style="width: 100%;"/>
  592. </td>
  593. <th style="text-align: left;">공사현장</th>
  594. <td>
  595. <input type="text" name="work_place" id="work_place" value="<%=vo.get("work_place") %>" style="width: 100%;"/>
  596. </td>
  597. </tr>
  598. <tr>
  599. <th style="text-align: left;">발주자</th>
  600. <td>
  601. <input type="text" name="ord_nm" id="ord_nm" value="<%=vo.get("ord_nm") %>" style="width: 100%;"/>
  602. </td>
  603. <th style="text-align: left;">원도급자</th>
  604. <td>
  605. <input type="text" name="ori_cont_nm" id="ori_cont_nm" value="<%=vo.get("ori_cont_nm") %>" style="width: 100%;"/>
  606. </td>
  607. </tr>
  608. <tr>
  609. <th style="text-align: left;">계약연월</th>
  610. <td>
  611. <input type="text" name="cont_cdate" id="cont_cdate" value="<%=vo.get("cont_cdate") %>" class="bg_gry input_blank" readonly="readonly" style="width: 80px;"/>
  612. </td>
  613. <th style="text-align: left;">착공연월</th>
  614. <td>
  615. <input type="text" name="cont_sdate" id="cont_sdate" value="<%=vo.get("cont_sdate") %>" class="bg_gry input_blank" readonly="readonly" style="width: 80px;" />
  616. </td>
  617. </tr>
  618. <tr>
  619. <th style="text-align: left;">준공연월</th>
  620. <td>
  621. <input type="text" name="cont_edate" id="cont_edate" value="<%=vo.get("cont_edate") %>" class="bg_gry input_blank" readonly="readonly" style="width: 80px;" />
  622. </td>
  623. <th style="text-align: left;">계약방법</th>
  624. <td>
  625. <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>
  626. <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>
  627. </td>
  628. </tr>
  629. <tr>
  630. <th style="text-align: left;">도급종류</th>
  631. <td>
  632. <input type="text" name="cont_kind" id="cont_kind" value="<%=vo.get("cont_kind") %>" />
  633. </td>
  634. <th style="text-align: left;">공사종류</th>
  635. <td>
  636. <input type="text" name="work_kind" id="work_kind" value="<%=vo.get("work_kind") %>" />
  637. </td>
  638. </tr>
  639. </table>
  640. <!-- 소방시설공사 실적금액(부가세 포함) -->
  641. <div style="float: left;" class="application-info magT10">
  642. <div class="application-sub-title">
  643. <span class="title">소방시설공사 실적금액(부가세 포함)</span>
  644. </div>
  645. <div class="application-location">
  646. </div>
  647. </div>
  648. <table border="0" cellspacing="0" cellpadding="0" width="100%" height="100%" class=form-table>
  649. <colgroup>
  650. <col width="15%" />
  651. <col width="35%" />
  652. <col width="15%" />
  653. <col width="35%" />
  654. </colgroup>
  655. <!-- 검색조건 영역, 테이터 영역 구분 여백 : 시작 -->
  656. <tr>
  657. <th style="text-align: left;">계약금액(총계약금액)</th>
  658. <td>
  659. <input type="text" name="cont_tamt" id="cont_tamt" value="<%=vo.get("cont_tamt") %>" style="text-align: right; width: 200px;" numberOnly="true" class="numberic bg_gry input_blank" readonly="readonly"/> 천원
  660. (<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" /> )
  661. </td>
  662. <th style="text-align: left;">전년까지의 누계기성액</th>
  663. <td>
  664. <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 bg_gry input_blank" readonly="readonly"/> 천원
  665. </td>
  666. </tr>
  667. <tr>
  668. <th style="text-align: left;">전년까지의 미기성액</th>
  669. <td>
  670. <input type="text" name="prv_pay_namt" id="prv_pay_namt" value="<%=vo.get("prv_pay_namt") %>" style="text-align: right; width: 200px;" numberOnly="true" class="numberic bg_gry input_blank" readonly="readonly"/> 천원
  671. </td>
  672. <th style="text-align: left;">해당연도 계약액</th>
  673. <td>
  674. <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 bg_gry input_blank" readonly="readonly"/> 천원
  675. </td>
  676. </tr>
  677. <tr>
  678. <th style="text-align: left;">해당연도 기성액(총기성액)</th>
  679. <td>
  680. <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 bg_gry input_blank" readonly="readonly"/> 천원
  681. (<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" /> )
  682. </td>
  683. <th style="text-align: left;">해당연도 미기성액</th>
  684. <td>
  685. <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 bg_gry input_blank" readonly="readonly"/> 천원
  686. </td>
  687. </tr>
  688. <tr>
  689. <th style="text-align: left;">하도급 업체명</th>
  690. <td>
  691. <input type="text" name="sub_comp_nm" id="sub_comp_nm" value="<%=vo.get("sub_comp_nm") %>" />
  692. </td>
  693. <th style="text-align: left;">하도급 면허번호</th>
  694. <td>
  695. <input type="text" name="sub_comp_no" id="sub_comp_no" value="<%=vo.get("sub_comp_no") %>" />
  696. </td>
  697. </tr>
  698. <tr>
  699. <th style="text-align: left;">하도급 금액</th>
  700. <td colspan="3">
  701. <input type="text" name="sub_amt" id="sub_amt" value="<%=vo.get("sub_amt") %>" style="text-align: right;" numberOnly="true" class="numberic"/>
  702. </td>
  703. </tr>
  704. </table>
  705. <!-- 복합공종-->
  706. <div style="float: left;" class="application-info magT10">
  707. <div class="application-sub-title">
  708. <span class="title">복합공종(타공종 포함) 실적 내용 (단위:천원, 부가세 포함)</span>
  709. </div>
  710. <div class="application-location">
  711. </div>
  712. </div>
  713. <div style="float: right; margin-top: -23px; margin-bottom: 5px;" id="sheet1_btn">
  714. <!-- <span class="btnSearch center"><a href="javascript:void(0);" id="btn_sheet_add">추가</a></span> -->
  715. <!-- <span class="btnSearch center"><a href="javascript:void(0);" id="btn_sheet_delete">삭제</a></span> -->
  716. </div>
  717. <!-- 시트 -->
  718. <div style="width: 100%; height: 150px; margin-top: 5px; margin-bottom: 80px;">
  719. <!-- 데이터 영역 : 시작 -->
  720. <!-- ibsheet7 그리드 생성 -->
  721. <script>createIBSheet("sheet1","100%", "150px;");</script>
  722. <!-- 데이터 영역 : 종료 -->
  723. </div>
  724. <!-- 요청자 정보 -->
  725. <div style="float: left;" class="application-info magT10">
  726. <div class="application-sub-title">
  727. <span class="title">발급요청자 정보</span>
  728. </div>
  729. <div class="application-location">
  730. </div>
  731. </div>
  732. <table border="0" cellspacing="0" cellpadding="0" width="100%" height="100%" class=form-table>
  733. <colgroup>
  734. <col width="15%" />
  735. <col width="35%" />
  736. <col width="15%" />
  737. <col width="35%" />
  738. </colgroup>
  739. <!-- 검색조건 영역, 테이터 영역 구분 여백 : 시작 -->
  740. <tr>
  741. <th style="text-align: left;">담당자명</th>
  742. <td>
  743. <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") %>" />
  744. </td>
  745. <th style="text-align: left;">휴대전화</th>
  746. <td>
  747. <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"/> -
  748. <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"/> -
  749. <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"/>
  750. </td>
  751. </tr>
  752. </table>
  753. <%if(vo.get("prog_stat_cd").equals("30")){ %>
  754. <div id="file_area" style="width: 100%;">
  755. <!-- 첨부파일 -->
  756. <div style="float: left;" class="application-info magT10">
  757. <div class="application-sub-title">
  758. <span class="title">첨부파일</span>
  759. </div>
  760. <div class="application-location">
  761. </div>
  762. </div>
  763. <table border="0" cellspacing="0" cellpadding="0" width="100%" height="100%" class=form-table>
  764. <colgroup>
  765. <col width="15%" />
  766. <col width="*" />
  767. </colgroup>
  768. <!-- 검색조건 영역, 테이터 영역 구분 여백 : 시작 -->
  769. <tr>
  770. <th style="text-align: left;">첨부파일</th>
  771. <td colspan="3">
  772. <div id="auto_attach_file_view" class="attach_file_view">
  773. <ul>
  774. <%
  775. for(int i=0; i<fileRowSet.size(); i++)
  776. {
  777. %>
  778. <li>
  779. <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>
  780. </li>
  781. <%
  782. }
  783. %>
  784. </ul>
  785. </div>
  786. </td>
  787. </tr>
  788. </table>
  789. </div>
  790. <%} %>
  791. </form>