BidOpen.jsp 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891
  1. <%--
  2. - Author(s) : Hyung min Son
  3. - Date : 2014.07.14
  4. - Description: 견적서 개찰(외주) 상세
  5. --%>
  6. <%@ page contentType="text/html; charset=utf-8" pageEncoding="UTF-8"%>
  7. <%@ page import="java.util.*"%>
  8. <%@ page import="java.text.SimpleDateFormat" %>
  9. <%@ page import="java.util.Date" %>
  10. <%@ page import="com.udapsoft.waf.system.HandlerStorage" %>
  11. <%@ page import="com.udapsoft.waf.common.ui.*" %>
  12. <%@ page import="kr.co.udapsoft.common.code.*" %>
  13. <%@ page import="kr.co.hsnc.common.util.*"%>
  14. <%@ page import="kr.co.hsnc.common.sql.*" %>
  15. <%@ page import="com.udapsoft.waf.common.util.Formatter2"%>
  16. <%@ page import="com.udapsoft.waf.common.util.StringUtils"%>
  17. <%@ include file="/jsp/work/taglib.jsp" %>
  18. <jsp:useBean id="ctx" class="com.udapsoft.waf.system.context.SessionContext" scope="session" />
  19. <%
  20. ctx.init(request, response);
  21. HandlerStorage storage = ctx.getHandlerStorage();
  22. ValueObject params = storage.getParams();
  23. ValueObject user = storage.getUser();
  24. ValueObject Order = storage.getValueObject("Order");
  25. ValueObject filein = storage.getValueObject(Order.get("DOC_ETC_IN"));
  26. ValueObject fileout = storage.getValueObject(Order.get("DOC_ETC_OUT"));
  27. SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
  28. String str = sd.format(new Date());
  29. boolean o_reason = false;
  30. boolean p_reason = false;
  31. boolean c_reason = false;
  32. boolean m_reason = false;
  33. if(Order.get("OPEN_OPINION").length()> 0){
  34. o_reason = true;
  35. }
  36. if(Order.get("POSTPONE_REASON").length()> 0){
  37. p_reason = true;
  38. }
  39. if(Order.get("CANCEL_REASON").length()> 0){
  40. c_reason = true;
  41. }
  42. if(Order.get("MODIFY_REASON").length()> 0){
  43. m_reason = true;
  44. }
  45. boolean open_flag = false;
  46. if(Order.get("OPEN_DT").length()> 0 ){
  47. open_flag = true;
  48. }
  49. ValueObject sign_info = storage.getValueObject("SIGN_INFO");
  50. String gwurl = "http://gw.sgcenc.co.kr/";//WAFConfig.get("gw.url.address2");
  51. %>
  52. <SCRIPT language="JavaScript">
  53. document.body.onresize = addEvent( document.body.onresize, "autoResize()");
  54. /*예약함수*/
  55. var sheet1 = new ibsheetObject();
  56. var sheet2 = new ibsheetObject();
  57. var sheet1Row;
  58. var sheet1PageNo = 1;
  59. var pageLastRowIndex = 1;
  60. var validationResult = false;
  61. var filterShow = false;
  62. var must_msg = "(은)는 필수 입력 항목입니다.";
  63. function _onReady(){
  64. /**
  65. * IBSheet object initialize
  66. */
  67. $("#OPEN_OPINION").hide();
  68. gridInit(sheet1);
  69. gridInit(sheet2);
  70. /**
  71. * Application Initialize
  72. */
  73. $("#btn_list").click(function() {
  74. $("#fevent").val("");
  75. $("#form1").attr("action", "/bid/outside/BidOpenList.screen");
  76. $("#form1").attr("target", "_self");
  77. $("#form1").attr("method", "post");
  78. $("#form1").submit();
  79. });
  80. $("#btn_save").click(function() {//저장
  81. if(must_ck()){
  82. if (confirm("저장 하시겠습니까?")){
  83. btn_act = "to_save";
  84. jQuery("#fevent").val("SAVE_SHEET");
  85. var url = Modular.model.PageContext.CONTEXT_ROOT + "/bid/outside/BidOpen_sheet.screen";
  86. var result = Modular.view.IBSheet7.doSave(sheet1, url, $("#form1"), false);
  87. }
  88. }
  89. });
  90. $("#btn_BidOpen").click(function() {
  91. if(must_ck()){
  92. if (confirm("개찰 하시겠습니까?")){
  93. btn_act = "to_BidOpen";
  94. jQuery("#fevent").val("SAVE_SHEET");
  95. var url = Modular.model.PageContext.CONTEXT_ROOT + "/bid/outside/BidOpen_sheet.screen";
  96. var result = Modular.view.IBSheet7.doSave(sheet1, url, $("#form1"), false);
  97. }
  98. }
  99. });
  100. $("#btn_BidOpi").click(function() {
  101. var win_id = "_OpenPop";
  102. var link = "/bid/outside/BidOpenPop.screen";
  103. link += "?pop_win_id="+win_id;
  104. link += "&BID_NO="+$("#BID_NO").val();
  105. link += "&BID_DEG="+$("#BID_DEG").val();
  106. link += "&DEMANDED_ID="+$("#DEMANDED_ID").val();
  107. link += "&TBE_STATUS_CD="+$("#TBE_STATUS_CD").val();
  108. link += "&TBE_FLAG="+$("#TBE_FLAG").val();
  109. link += "&OPEN_OPINION="+encodeURI(encodeURIComponent($("#OPEN_OPINION").val()),"UTF-8");
  110. fLayerPop(win_id, link, 600,210, '', '', 'NO');
  111. });
  112. $("#btn_tbecheckpop").click(function() {
  113. var win_id = "_TBECheckPop";
  114. var link = "/bid/outside/TBECheckPop.screen";
  115. link += "?pop_win_id="+win_id;
  116. link += "&BID_NO="+$("#BID_NO").val();
  117. link += "&BID_DEG="+$("#BID_DEG").val();
  118. link += "&RTN_YN=Y";
  119. fLayerPop(win_id, link, 900,210, '', '', 'YES');
  120. });
  121. //보고자 조회
  122. doSearchSheet2();
  123. //개찰의견 팝업
  124. openPop();
  125. }
  126. function must_ck(){
  127. var rowcnt = sheet1.RowCount();
  128. if(rowcnt > 0){
  129. for(var r=0; r < rowcnt; r++)
  130. {
  131. var currency_gb = sheet1.GetCellValue(r+1,"CURRENCY_GB");
  132. var exchange = sheet1.GetCellValue(r+1,"EXCHANGE");
  133. if(currency_gb != "KRW" && exchange == 0 ){
  134. alert("외화인 경우 예상환율을 적용하십시요.");
  135. return false;
  136. }
  137. }
  138. }
  139. return true;
  140. }
  141. function PopClose(win_id,result){
  142. if( result != null ){
  143. if(result[0] == 0){
  144. setTimeout(function(){fLayerPopClose(win_id);},100);
  145. if(result[1].length> 0)alert(result[1]);
  146. $("#OPEN_OPINION").val(result[2]);
  147. //$("#btn_list").click();
  148. }
  149. }else{
  150. setTimeout(function(){fLayerPopClose(win_id);},100);
  151. }
  152. }
  153. function openPop(){
  154. <%if(Order.get("OPEN_OPINION").length() > 0 ) {%>
  155. $("#btn_BidOpi").click();
  156. <%}%>
  157. }
  158. function doSearchSheet(){
  159. $("#fevent").val("GET_CORP_LIST");
  160. var url = Modular.model.PageContext.CONTEXT_ROOT + "/bid/outside/BidOpen_sheet.screen";
  161. Modular.view.IBSheet7.doSearch(sheet1, url, jQuery("#form1"), 30, "");
  162. }
  163. function doSearchSheet2(){
  164. $("#fevent").val("GET_REPORT_EMP_LIST");
  165. var url = Modular.model.PageContext.CONTEXT_ROOT + "/bid/outside/BidPlan_sheet.screen";
  166. Modular.view.IBSheet7.doSearch(sheet2, url, jQuery("#form1"), 30, "");
  167. }
  168. /**
  169. * IBSheet object initialize
  170. */
  171. function gridInit(sheetName){
  172. var init_sheet = {};
  173. if(sheetName.id == "sheet1"){
  174. init_sheet.Cfg = {SearchMode:2, Page:30};
  175. init_sheet.Cols = [
  176. {Header:'삭제', Type:"DelCheck", SaveName:"DEL_CHECK", Width:0, Align:"Center", Hidden:"True"},
  177. {Header:'Status', Type:"Status", SaveName:"STATUS", Width:0, Align:"Center", Hidden:"True"},
  178. {Header:'No.', Type:"Seq", SaveName:"NO", Width:0, Align:"Center", Hidden:"True"},
  179. {Header:'추천부서', Type:"Text", SaveName:"RECM_DEPT_NM", Width:100, Align:"Center", Edit:false},
  180. {Header:'사업자번호', Type:"Text", SaveName:"VENDOR_NO", Width:0, Align:"Center", Format:"SaupNo", Edit:false},
  181. {Header:'업체명', Type:"Text", SaveName:"VENDOR_NAME", Width:80, Align:"Left", Edit:false},
  182. {Header:'대표자명', Type:"Text", SaveName:"REPRE_NO", Width:0, Align:"Center", Edit:false},
  183. {Header:'담당자명', Type:"Text", SaveName:"CHARGE_NAME", Width:0, Align:"Center", Edit:false},
  184. {Header:'핸드폰', Type:"Text", SaveName:"CHAGE_HP", Width:80, Align:"Center", Edit:false},
  185. {Header:'이메일', Type:"Text", SaveName:"CHARGE_EMAIL", Width:80, Align:"Left", Edit:false},
  186. {Header:'기술검토(TBE)', Type:"Text", SaveName:"TBE_STATUS_NM", Width:60, Align:"Center", Edit:false},
  187. {Header:'견적제출시간', Type:"Text", SaveName:"SIGN_DT", Width:100, Align:"Center", Cursor:"pointer", Edit:false},
  188. {Header:'통화', Type:"Text", SaveName:"CURRENCY_GB", Width:60, Align:"Center", Edit:false},
  189. {Header:'예상환율', Type:"Float", SaveName:"EXCHANGE", Width:60, Align:"Right" <%if(open_flag){%>, Edit:false<%}%>},
  190. <%if(open_flag){%>
  191. {Header:'견적금액', Type:"Text", SaveName:"ESTI_TOT_AMT", Width:100, Align:"Right", FontColor:"Blue" , Cursor:"pointer", Edit:false},
  192. <%}%>
  193. {Header:'VENDOR_CD', Type:"Text", SaveName:"VENDOR_CD", Width:0, Align:"Center", Hidden:"True"},
  194. {Header:'RNNC_REASON', Type:"Text", SaveName:"RNNC_REASON", Width:0, Align:"Center", Hidden:"True"},
  195. {Header:'BID_RNNC_NM', Type:"Text", SaveName:"BID_RNNC_NM", Width:0, Align:"Center", Hidden:"True"},
  196. {Header:'BID_RNNC_DT', Type:"Text", SaveName:"BID_RNNC_DT", Width:0, Align:"Center", Hidden:"True"},
  197. {Header:'FILE_GB', Type:"Text", SaveName:"FILE_GB", Width:0, Align:"Center", Hidden:"True"}
  198. ];
  199. }else{
  200. init_sheet.Cfg = {SearchMode:2, Page:30,SizeMode:1};
  201. init_sheet.Cols = [
  202. {Header:'삭제', Type:"DelCheck", SaveName:"DEL_CHECK", Width:0, Align:"Center", Hidden:"True"},
  203. {Header:'Status', Type:"Status", SaveName:"STATUS", Width:0, Align:"Center", Hidden:"True"},
  204. {Header:'No.', Type:"Seq", SaveName:"NO", Width:0, Align:"Center", Hidden:"True"},
  205. {Header:'계정ID', Type:"Text", SaveName:"ACCT_ID", Width:0, Align:"Center", Hidden:"True"},
  206. {Header:'이름', Type:"Text", SaveName:"USER_NAME", Width:100, Align:"Center", Edit:false},
  207. {Header:'부서명', Type:"Text", SaveName:"BUSEO_NAME", Width:150, Align:"Left", Edit:false},
  208. {Header:'직위명', Type:"Text", SaveName:"GRADE_NAME", Width:100, Align:"Center", Edit:false}
  209. ];
  210. }
  211. init_sheet.HeaderMode = {Sort:1};
  212. IBS_InitSheet(sheetName, init_sheet);
  213. sheetName.SetDataAutoTrim(0);
  214. //sheetName.SetEditable(false);
  215. setGridSize();
  216. }
  217. /**
  218. * IBSheet size setting
  219. */
  220. function setGridSize() {
  221. sheet1.FitColWidth();
  222. }
  223. /**
  224. * IBSheet Event: Search End(IBSheet 데이터 조회 CallBack)
  225. */
  226. function sheet1_OnSearchEnd(code, message) {
  227. if(code == 0) {
  228. setGridSize();
  229. var rowcnt = sheet1.RowCount();
  230. if(rowcnt> 0){
  231. for(var r=0; r < rowcnt; r++)
  232. {
  233. if(sheet1.GetCellValue(r+1,"RNNC_REASON").length == 0 ){
  234. if(sheet1.GetCellValue(r+1,"SIGN_DT").length > 4 ){
  235. sheet1.SetCellFontColor(r+1, "SIGN_DT", "#0000ff");
  236. }
  237. }
  238. if(sheet1.GetCellValue(r+1,"RNNC_REASON").length > 0 ){
  239. sheet1.SetCellFontColor(r+1, "SIGN_DT", "#ff0000");
  240. }
  241. //환율이 KRW 일 경우 환율 수정 불가
  242. if(sheet1.GetCellValue(r+1, "CURRENCY_GB") == "KRW"){
  243. sheet1.SetCellEditable(r+1 , "EXCHANGE", false);
  244. }
  245. }
  246. }
  247. } else {
  248. //조회 에러 수행
  249. alert(message);
  250. }
  251. }
  252. /**
  253. * IBSheet Event: Search End(IBSheet 데이터 조회 CallBack)
  254. */
  255. function sheet2_OnSearchEnd(code, message) {
  256. if(code == 0) {
  257. //sheet2.FitColWidth();
  258. //견적대상 업체 조회
  259. doSearchSheet();
  260. } else {
  261. //조회 에러 수행
  262. alert(message);
  263. }
  264. }
  265. //첨부파일
  266. function doAttachFile(obj,No) {
  267. var file_div = "bid/outside/"+"<%=Order.get("BID_NO")%>"+"/";
  268. if(obj==''){
  269. alert("After you have saved, you can attach a file.");
  270. }
  271. else if(obj != ''){
  272. if(No == 1){
  273. //viewFileList("<%=Order.get("DOC_ETC_IN")%>", obj.value, document.form1.p_AttachFile1, "N", "N", "N", "N");
  274. viewFileListNew('<%=Order.get("DOC_ETC_IN")%>', obj.value, document.form1.p_AttachFile1, "N", file_div);
  275. }else{
  276. //viewFileList("<%=Order.get("DOC_ETC_OUT")%>", obj.value, document.form1.p_AttachFile2, "N", "N", "N", "N");
  277. viewFileListNew('<%=Order.get("DOC_ETC_OUT")%>', obj.value, document.form1.p_AttachFile2, "N", file_div);
  278. }
  279. }
  280. }
  281. function doResult(resultObj) {
  282. try {
  283. if( resultObj.getRequestEvent() == "FORM_OPEN_SELECT") {
  284. if( resultObj.getSuccess() ) {
  285. alert("개찰 되었습니다.");
  286. $("#fevent").val("FORM_SELECT");
  287. $("#form1").attr("action", "/bid/outside/BidOpen.screen");
  288. $("#form1").attr("target", "_self");
  289. $("#form1").attr("method", "post");
  290. $("#form1").submit();
  291. }
  292. else {
  293. dlgErrorMsg(resultObj);
  294. }
  295. }
  296. if( resultObj.getRequestEvent() == "FORM_DELETE") {
  297. if( resultObj.getSuccess() ) {
  298. alert("삭제 되었습니다.");
  299. $("#btn_list").click();
  300. }
  301. else {
  302. dlgErrorMsg(resultObj);
  303. }
  304. }
  305. } catch(errorObject) {
  306. showErrorDlg("doResult()", errorObject);
  307. }
  308. }
  309. function sheet1_OnSmartResize(Width, Height) {
  310. sheet1.FitColWidth();
  311. autoResize();
  312. }
  313. function autoResize(){
  314. sheet1.SetSheetHeight(160);
  315. }
  316. /**
  317. * IBSheet Event: Click
  318. */
  319. function sheet1_OnDblClick(Row, Col, Value, CellX, CellY, CellW, CellH) {
  320. if(Row == 0)return;
  321. var Sn = sheet1.GetCellProperty(Row, Col, "SaveName");
  322. if (Sn == "SIGN_DT") {//견적 제출 시간
  323. if(sheet1.GetCellValue(Row,"RNNC_REASON").length > 0){
  324. var win_id = "_BidGiveupPop";
  325. var link = "/bid/outside/BidGiveupPop.screen";
  326. link += "?pop_win_id="+win_id;
  327. link += "&VENDOR_CD="+$("#VENDOR_CD").val();
  328. link += "&BID_NO="+$("#BID_NO").val();
  329. link += "&BID_DEG="+$("#BID_DEG").val();
  330. link += "&ROW="+Row;
  331. fLayerPop(win_id, link, 600,190, '', '', 'NO');
  332. }
  333. }else if( Sn == "ESTI_TOT_AMT"){//견적금액
  334. if(sheet1.GetCellValue(Row,"ESTI_TOT_AMT").length > 0){
  335. var win_id = "_BidAmtPop";
  336. var link = "/bid/outside/BidAmtPop.screen";
  337. link += "?pop_win_id="+win_id;
  338. link += "&ROW="+Row;
  339. link += "&VENDOR_CD="+sheet1.GetCellValue(Row,"VENDOR_CD");
  340. link += "&VENDOR_NO="+sheet1.GetCellValue(Row,"VENDOR_NO");
  341. link += "&ESTI_TOT_AMT="+sheet1.GetCellValue(Row,"ESTI_TOT_AMT");
  342. link += "&BID_NO="+$("#BID_NO").val();
  343. link += "&BID_DEG="+$("#BID_DEG").val();
  344. link += "&FILE_GB="+sheet1.GetCellValue(Row,"FILE_GB");
  345. link += "&DEMANDED_ID="+$("#DEMANDED_ID").val();
  346. link += "&SIGN_DT="+$("#SIGN_DT").val();
  347. fLayerPop(win_id, link, 1000,600, '', '', 'NO');
  348. }
  349. }
  350. }
  351. function sheet1_OnSaveEnd(code, msg)
  352. {
  353. var event = $("#fevent").val();
  354. if(event == "FORM_OPEN_SELECT"){
  355. if(code>= "0"){
  356. alert("개찰 되었습니다.");
  357. $("#fevent").val("FORM_SELECT");
  358. $("#form1").attr("action", "/bid/outside/BidOpen.screen");
  359. $("#form1").attr("target", "_self");
  360. $("#form1").attr("method", "post");
  361. $("#form1").submit();
  362. }else{
  363. if(msg =="")msg = "에러가 발생하였습니다.";
  364. alert(msg);
  365. }
  366. } else if(event == "SAVE_SHEET"){
  367. if(code>= "0"){
  368. if(btn_act == "to_BidOpen"){
  369. $("#fevent").val("FORM_OPEN_SELECT");
  370. var f = document.form1;
  371. submitXmlRequest("/bid/outside/BidOpen_form.screen", "FORM_OPEN_SELECT", f);
  372. } else {
  373. alert("저장되었습니다.");
  374. $("#fevent").val("FORM_SELECT");
  375. $("#form1").attr("action", "/bid/outside/BidOpen.screen");
  376. $("#form1").attr("target", "_self");
  377. $("#form1").attr("method", "post");
  378. $("#form1").submit();
  379. }
  380. }else{
  381. alert("에러가 발생하였습니다.");
  382. }
  383. }
  384. }
  385. function doSignFile(doc_id){
  386. //alert(doc_id);
  387. if(doc_id == ""){
  388. alert("결재 정보가 없습니다.");
  389. return;
  390. }
  391. var doc_chk = doc_id.substring(doc_id.length-3, doc_id.length);
  392. doc_chk = doc_chk * 1;
  393. //var popOption = "width=400, height=450, resizable=no, scrollbars=auto, status=no;"; //팝업창 옵션(optoin)
  394. var link = "";
  395. var year = "<%=sign_info.get("year") %>";
  396. if (year > "20151213"){
  397. link = "<%=gwurl%>upload_approval/TEC/doc/" + year.substr(0,4) + "/" + doc_chk + "/"+ doc_id+".mht";
  398. }
  399. else
  400. {
  401. link = "<%=gwurl%>upload_approval/TEC/doc/" + doc_chk + "/"+ doc_id+".mht";
  402. }
  403. window.open(link,"_viewDraft","");
  404. }
  405. /* setInterval("dpTime()",1000); */
  406. </SCRIPT>
  407. <modular:search id="form1">
  408. <modular:key id="event" />
  409. </modular:search>
  410. <form id="form1" name="form1" method="post" modular:type="search">
  411. <INPUT type='hidden' name="fevent" id="fevent" value="">
  412. <!-- List Search -->
  413. <INPUT type="hidden" name="P_BID_MASTER_NM" id="P_BID_MASTER_NM" value="<%= params.get("P_BID_MASTER_NM") %>">
  414. <INPUT type="hidden" name="p_dept_nm" id="p_dept_nm" value="<%= params.get("p_dept_nm") %>">
  415. <INPUT type="hidden" name="p_dept_cd" id="p_dept_cd" value="<%= params.get("p_dept_cd") %>">
  416. <!-- List Search -->
  417. <INPUT type='hidden' name="DEMANDED_ID" value="<%=Order.get("DEMANDED_ID")%>">
  418. <INPUT type='hidden' name="BID_NO" value="<%=Order.get("BID_NO")%>">
  419. <INPUT type='hidden' name="BID_DEG" value="<%=Order.get("BID_DEG")%>">
  420. <INPUT type='hidden' name="STATUS_CD" value="<%=Order.get("STATUS_CD")%>">
  421. <INPUT type='hidden' name="SITEDESC_FLAG" value="<%=Order.get("SITEDESC_FLAG")%>">
  422. <INPUT type='hidden' name="TBE_FLAG" value="<%=Order.get("TBE_FLAG")%>">
  423. <INPUT type='hidden' name="TBE_STATUS_CD" value="<%=Order.get("TBE_STATUS_CD")%>">
  424. <INPUT type='hidden' name="SITEPARTI_YN" value="Y">
  425. <INPUT type='hidden' name="RNNC_REASON" value="">
  426. <!-- 제목 및 버튼 -->
  427. <table width="100%">
  428. <colgroup>
  429. <col width="500" />
  430. <col width="*" />
  431. </colgroup>
  432. <tr>
  433. <th>
  434. <div align="left" id="title">
  435. <ul><li>견적서 개찰 상세</li></ul>
  436. </div>
  437. </th>
  438. <td align="right">
  439. <%if( !open_flag ){%>
  440. <span class="btnSearch center" id="btn_BidOpen"><a href="javascript:void(0);">개찰</a></span>
  441. <%} %>
  442. <span class="btnSearch center" id="btn_BidOpi"><a href="javascript:void(0);">특기사항</a></span>
  443. <span class="btnSearch center" id="btn_list"><a href="javascript:void(0);">목록</a></span>
  444. </td>
  445. </tr>
  446. </table>
  447. <%if(o_reason || p_reason || m_reason || c_reason){ %>
  448. <TABLE class="form-table">
  449. <colgroup>
  450. <col width="145px"/>
  451. <col/>
  452. </colgroup>
  453. <%if(c_reason){ %>
  454. <TR height="25">
  455. <TH>취소사유</TH>
  456. <TD style="vertical-align: top"><%=StringUtils.cvtHTML(Order.get("CANCEL_REASON"))%></TD>
  457. </TR>
  458. <%} %>
  459. <%if(p_reason){ %>
  460. <TR height="25">
  461. <TH >연기사유</TH>
  462. <TD style="vertical-align: top"><%=StringUtils.cvtHTML(Order.get("POSTPONE_REASON"))%></TD>
  463. </TR>
  464. <%} %>
  465. <%if(m_reason){ %>
  466. <TR height="25">
  467. <TH>정정사유</TH>
  468. <TD style="vertical-align: top"><%=StringUtils.cvtHTML(Order.get("MODIFY_REASON"))%></TD>
  469. </TR>
  470. <%} %>
  471. </TABLE>
  472. <%}%>
  473. <%if(!Order.get("REBID_REASON").equals("") || !Order.get("REBID_OUTREASON").equals("")){%>
  474. <div class="application-info magT10">
  475. <div class="application-sub-title">
  476. <span class="title">재입찰사유</span>
  477. </div>
  478. <div class="application-location">
  479. </div>
  480. </div>
  481. <TABLE class="form-table">
  482. <colgroup>
  483. <col width="145"/>
  484. <col width="40%" />
  485. <col width="145" />
  486. <col width="*" />
  487. </colgroup>
  488. <TR height="25">
  489. <TH>재입찰사유<br>(내부보고)</TH>
  490. <TD><%=StringUtils.cvtHTML(Order.get("REBID_REASON"))%></TD>
  491. <TH>재입찰사유<br>(외부공지)
  492. </TH>
  493. <TD><%=StringUtils.cvtHTML(Order.get("REBID_OUTREASON"))%></TD>
  494. </TR>
  495. </TABLE>
  496. <%} %>
  497. <!-- 발주의뢰정보 : 시작 -->
  498. <div class="application-info magT10">
  499. <div class="application-sub-title">
  500. <span class="title">발주의뢰정보</span>
  501. </div>
  502. </div>
  503. <TABLE class="form-table">
  504. <colgroup>
  505. <col width="145px"/>
  506. <col width="24%">
  507. <col width="145px"/>
  508. <col width="24%">
  509. <col width="145px"/>
  510. <col>
  511. </colgroup>
  512. <TR height="25">
  513. <TH> 현장</TH>
  514. <TD><%=Order.get("dept_nm") %></TD>
  515. <TH> 발주의뢰번호</TH>
  516. <TD><a href="javascript:doSignFile('<%=sign_info.get("doc_id") %>');"><%=Order.get("DEMANDED_NO")%></a>
  517. </TD>
  518. <TH> 발주의뢰명</TH>
  519. <TD><%=Order.get("DEMANDED_TITLE")%></TD>
  520. </TR>
  521. <TR height="25">
  522. <TH> 발주의뢰일</TH>
  523. <TD><%= Order.get("DEMANDED_DATE")%></TD>
  524. <TH> 발주의뢰부서</TH>
  525. <TD><%= Order.get("REQ_DEPT_NM")%></TD>
  526. <TH> 발주의뢰자</TH>
  527. <TD><%= Order.get("EMP_NM")%></TD>
  528. </TR>
  529. <TR height="25">
  530. <TH> 발주접수일자</TH>
  531. <TD><%=Order.get("RECEIPT_DATE") %></TD>
  532. <TH> Pay Item</TH>
  533. <TD><%= Order.get("PAY_ITEM_NM") %></TD>
  534. <TH> 외주예산 (원)</TH>
  535. <TD><%= Formatter2.currency(Order.get("PUR_AMT"),0) %></TD> <!-- 2015.3.2 외주예산추가 MKLEE -->
  536. </TR>
  537. <TR height="25">
  538. <TH> 도급금액 (원)</TH>
  539. <TD><%= Formatter2.currency(Order.get("CONT_AMT"),0) %></TD>
  540. <TH> 실행예산 (원)</TH>
  541. <TD><%=Formatter2.currency(Order.get("ACT_AMT"),0) %></TD>
  542. <TH> 도급대비실행율(%)</TH>
  543. <TD><%= Order.get("ACT_RATE")%></TD>
  544. </TR>
  545. <TR height="25">
  546. <TH>공사기간</TH>
  547. <TD><%=Order.get("DELI_FROM_DY") %> <%if(!Order.get("DELI_FROM_DY").isEmpty()||!Order.get("DELI_TO_DY").isEmpty()){ %>~<%} %> <%= Order.get("DELI_TO_DY") %></TD>
  548. <TH>공사장소</TH>
  549. <TD><%= Order.get("DELIVERY_PLACE") %></TD>
  550. <TH>공종</TH>
  551. <TD><%= Order.get("OUT_ITEM_NM") %></TD>
  552. </TR>
  553. <!-- 발주의뢰정보 : 종료 -->
  554. </table>
  555. <table width="100%">
  556. <colgroup>
  557. <col width="500" />
  558. <col width="*" />
  559. </colgroup>
  560. <tr>
  561. <th>
  562. <div class="application-info magT20">
  563. <div class="application-sub-title">
  564. <span class="title">입찰대상업체</span>
  565. </div>
  566. </div>
  567. </th>
  568. <%if(open_flag){%>
  569. <td align="right">
  570. <span class="btnSearch center" id="btn_tbecheckpop"><a href="javascript:void(0);">기술검토결과서</a></span><br>
  571. </td>
  572. <%}else{ %>
  573. <td align="right">
  574. <span class="btnSearch center" id="btn_save"><a href="javascript:void(0);">환율저장</a></span>
  575. <span class="btnSearch center" id="btn_tbecheckpop"><a href="javascript:void(0);">기술검토결과서</a></span>
  576. </td>
  577. <%} %>
  578. </tr>
  579. </table>
  580. <div id="sheet1_div" style="height:auto; min-height: 170px; overflow: auto;">
  581. <script>createIBSheet('sheet1','100%', '160px');</script>
  582. </div>
  583. <div class="application-info magT20">
  584. <div class="application-sub-title">
  585. <span class="title">입찰기본정보</span>
  586. </div>
  587. </div>
  588. <TABLE class="form-table">
  589. <colgroup>
  590. <col width="145px"/>
  591. <col width="145px"/>
  592. <col width="30%"/>
  593. <col width="145px"/>
  594. <col/>
  595. </colgroup>
  596. <TR height="25">
  597. <TH> 입찰번호-차수</TH>
  598. <TD colspan="2"><%=Order.get("BID_NO")%>-<%=Order.get("BID_DEG")%></TD>
  599. <TH> 온라인입찰여부</TH>
  600. <TD><%=Order.get("ONBID_YN")%></TD>
  601. </TR>
  602. <TR height="25">
  603. <TH> 입찰명</TH>
  604. <TD colspan="4"><%=Order.get("BID_MASTER_NM")%></TD>
  605. </TR>
  606. <TR height="25">
  607. <TH> 경쟁방법</TH>
  608. <TD colspan="2"><%=Order.get("CMPT_NM")%></TD>
  609. <TH> 낙찰자선정방법</TH>
  610. <TD><%=Order.get("SUCC_NM") %></TD>
  611. </TR>
  612. </table>
  613. <div class="application-info magT20">
  614. <div class="application-sub-title">
  615. <span class="title">입찰진행</span>
  616. </div>
  617. </div>
  618. <TABLE class="form-table">
  619. <colgroup>
  620. <col width="145px"/>
  621. <col width="145px"/>
  622. <col width="30%"/>
  623. <col width="145px"/>
  624. <col/>
  625. </colgroup>
  626. <TR height="25">
  627. <TH>업체공지일자</TH>
  628. <TD colspan="4"><%=Order.get("NOTI_DY") %></TD>
  629. </TR>
  630. <TR height="25">
  631. <TH rowspan="3"> 견적설명회 정보</TH>
  632. <TH> 여부</TD>
  633. <TD><%=Order.get("SITEDESC_FLAG")%></TD>
  634. <TH> 담당자</TD>
  635. <TD><%=Order.get("SITEDESCCHRGPRSNNM")%></TD>
  636. </TR>
  637. <TR height="25">
  638. <TH> 담당자 전화번호</TH>
  639. <TD ><%=Order.get("SITEDESCTELNO")%></TD>
  640. <TH> 일시</TH>
  641. <TD ><%=Order.get("SITEDESCDATE")%></TD>
  642. </TR>
  643. <TR height="25">
  644. <TH> 담당자 E-Mail</TH>
  645. <TD ><%=Order.get("SITEDESCEMAIL")%></TD>
  646. <TH> 장소</TD>
  647. <TD ><%=Order.get("SITEDESCPLACE")%></TD>
  648. </TR>
  649. <TR height="25">
  650. <TH rowspan="4"> 견적 의뢰</TH>
  651. <TH> 견적제출기간</TH>
  652. <TD colspan="3"><%=Order.get("BID_FROM_DT")%> ~<%=Order.get("BID_TO_DT")%> <font color='red'><b> (입찰마감)</b></font></TD>
  653. </TR>
  654. <TR height="25">
  655. <TH> 외주담당자</TH>
  656. <TD ><%=Order.get("PUREMPNM")%></TD>
  657. <TH> 외주담당자 전화번호</TH>
  658. <TD ><%=Order.get("PO_EMPNM")%></TD>
  659. </TR>
  660. <TR height="25">
  661. <TH> 개찰자</TH>
  662. <TD colspan="3"><%=Order.get("OPEN_EMPNM")%></TD>
  663. </TR>
  664. <TR height="25">
  665. <TH> 보고자</TH>
  666. <TD colspan="3">
  667. <div id="sheet2_div" style="width: 100%; height: 100%;">
  668. <script>createIBSheet('sheet2','100%', '100px');</script>
  669. </div>
  670. </TD>
  671. </TR>
  672. <TR height="25">
  673. <TH rowspan="2">기술검토(TBE)</TH>
  674. <TH> TBE 여부</TH>
  675. <TD ><%=Order.get("TBE_FLAG").equals("Y") ? "예" : "아니오"%></TD>
  676. <TH> TBE 완료일</TH>
  677. <TD ><%=Order.get("TBE_FIN_DT")%></TD>
  678. </TR>
  679. <TR height="25">
  680. <TH> TBE 심사자</TH>
  681. <TD><%=Order.get("EVAL_EMPNM")%></TD>
  682. <TH>TBE담당자 전화번호</TH>
  683. <TD ><%=Order.get("EVAL_TEL")%></TD>
  684. </TR>
  685. </table>
  686. <div class="application-info magT20">
  687. <div class="application-sub-title">
  688. <span class="title">입찰조건</span>
  689. </div>
  690. </div>
  691. <TABLE class="form-table">
  692. <colgroup>
  693. <col width="145"/>
  694. <col width="145"/>
  695. <col width="29%"/>
  696. <col width="145"/>
  697. <col/>
  698. </colgroup>
  699. <TR height="25">
  700. <TH>통화구분</TH>
  701. <TD colspan="4"> <%=Order.get("CURRENCY_GB_NM") %>
  702. </TD>
  703. </TR>
  704. <TR height="25">
  705. <TH>계약형태</TH>
  706. <TD colspan="4">
  707. <%=Order.get("OBC_CONT_TYPE_NM") %>
  708. </TD>
  709. </TR>
  710. <TR height="25">
  711. <TH rowspan="2">공사대금</TH>
  712. <TH>선급금</TH>
  713. <TD><% if(!Order.get("OBC_FRST_CONT_RATE").isEmpty()){%> 계약금액의 : <%= Order.get("OBC_FRST_CONT_RATE") %>%<br><%}%>
  714. <%= Order.get("OBC_FRST_CONDI") %> <br>
  715. <%= Order.get("OBC_FRST_CNT_CONDI") %></TD>
  716. <TH>기성금</TH>
  717. <TD><% if(!Order.get("CPC_MID_RATE").isEmpty()){%> 계약금액의 :<%= Order.get("CPC_MID_RATE")%>% ,<%}%><% if(!Order.get("OBC_MID_CASH_RATE").isEmpty()){%> 현금 : <%= Order.get("OBC_MID_CASH_RATE")%>% <%}%> <% if(!Order.get("OBC_MID_BILL_RATE").isEmpty()){%>어음 : <%= Order.get("OBC_MID_BILL_RATE")%>%<%}%><br>
  718. <% if(!Order.get("OBC_MID_PAYDAY").isEmpty()){%>세금계산서 발행일로부터 <%=Order.get("OBC_MID_PAYDAY")%> 일 내 지급<br><%} %>
  719. <% if(!Order.get("OBC_MID_BILL_DATE").isEmpty()){%>어음일 경우, 어음 만기일은 목적물 수령일로부터 (<%= Order.get("OBC_MID_BILL_DATE")%>)일<br><%} %>
  720. <% if(!Order.get("OBC_MID_PAYDAY").isEmpty()){%><%=Order.get("OBC_MID_REQ_MONTH")%> 개월 당 <%=Order.get("OBC_MID_CNT")%> 회 말일에 청구<%}%>
  721. </TD>
  722. </TR>
  723. <TR height="25">
  724. <TH>준공금</TH>
  725. <TD colspan="3"><% if(!Order.get("PBC_REST_RATE").isEmpty()){%> 계약금액의 : <%=Order.get("PBC_REST_RATE")%>%, <%}%><% if(!Order.get("OBC_FIN_CASH_RATE").isEmpty()){%> 현금 : <%=Order.get("OBC_FIN_CASH_RATE")%>% <%}%><% if(!Order.get("OBC_FIN_BILL_RATE").isEmpty()){%> 어음 : <%=Order.get("OBC_FIN_BILL_RATE")%>%<%}%>
  726. <%-- <br><% if(!Order.get("OBC_FIN_PAYDAY").isEmpty()){%>세금계산서 발행일로부터 <%=Order.get("OBC_FIN_PAYDAY")%> 일 내 지급<%}%><br>
  727. <%=Order.get("OBC_FIN_CONDI") %></TD> --%>
  728. </TR>
  729. <TR height="25">
  730. <TH rowspan="6">간접비 견적조건</TH>
  731. <TH>고용보험료</TH>
  732. <TD><% if(!Order.get("OBC_EMP_RATE").isEmpty()){%>노무비 * <%= Order.get("OBC_EMP_RATE")%> % &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp
  733. <%}%><%=Order.get("OBC_EMP_YN").equals("Y") ? "<font color='blue'>[견적포함]</font>" : "<font color='red'>[견적미포함]</font>" %></TD>
  734. <TH>연금보험료</TH>
  735. <TD><% if(!Order.get("OBC_PENSION_RATE").isEmpty()){%>직접노무비 <%=Order.get("OBC_PENSION_RATE")%> % &nbsp &nbsp &nbsp&nbsp &nbsp &nbsp
  736. <%}%><%=Order.get("OBC_PENSION_YN").equals("Y") ? "<font color='blue'>[견적포함]</font>" : "<font color='red'>[견적미포함]</font>" %></TD>
  737. </TR>
  738. <TR height="25">
  739. <TH>건강보험료</TH>
  740. <TD><% if(!Order.get("OBC_HEALTH_RATE").isEmpty()){%>직접노무비 * <%=Order.get("OBC_HEALTH_RATE")%> % &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp
  741. <%}%><%=Order.get("OBC_HEALTH_YN").equals("Y") ? "<font color='blue'>[견적포함]</font>" : "<font color='red'>[견적미포함]</font>" %></TD>
  742. <TH>노인장기보험료</TH>
  743. <TD><% if(!Order.get("OBC_ELDER_RATE").isEmpty()){%>건강보험료 * <%=Order.get("OBC_ELDER_RATE")%> % &nbsp &nbsp&nbsp &nbsp &nbsp
  744. <%}%><%=Order.get("OBC_ELDER_YN").equals("Y") ? "<font color='blue'>[견적포함]</font>" : "<font color='red'>[견적미포함]</font>" %></TD>
  745. </TR>
  746. <TR height="25">
  747. <TH>산재보험료</TH>
  748. <TD><% if(!Order.get("OBC_WORK_RATE").isEmpty()){%>노무비 * <%=Order.get("OBC_WORK_RATE")%> % &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp
  749. <%}%><%=Order.get("OBC_WORK_YN").equals("Y") ? "<font color='blue'>[견적포함]</font>" : "<font color='red'>[견적미포함]</font>" %></TD>
  750. <TH>퇴직공제부금</TH>
  751. <TD><% if(!Order.get("OBC_RESIGN_RATE").isEmpty()){%>노무비 * <%=Order.get("OBC_RESIGN_RATE")%> % &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp&nbsp &nbsp
  752. <%}%><%=Order.get("OBC_RESIGN_YN").equals("Y") ? "<font color='blue'>[견적포함]</font>" : "<font color='red'>[견적미포함]</font>" %></TD>
  753. </TR>
  754. <TR height="25">
  755. <TH>안전관리비</TH>
  756. <TD><% if(!Order.get("OBC_SAFE_RATE").isEmpty()){%>노무비 * <%= Order.get("OBC_SAFE_RATE")%> % &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp
  757. <%}%><%=Order.get("OBC_SAFE_YN").equals("Y") ? "<font color='blue'>[견적포함]</font>" : "<font color='red'>[견적미포함]</font>" %></TD>
  758. <TH>환경관리비</TH>
  759. <TD><% if(!Order.get("OBC_ENV_RATE").isEmpty()){%>재료비 * <%= Order.get("OBC_ENV_RATE")%> % &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp&nbsp &nbsp
  760. <%}%><%=Order.get("OBC_ENV_YN").equals("Y") ? "<font color='blue'>[견적포함]</font>" : "<font color='red'>[견적미포함]</font>" %></TD>
  761. </TR>
  762. <TR height="25">
  763. <TH>현장관리비</TH>
  764. <TD><% if(!Order.get("OBC_SITE_RATE").isEmpty()){%>직접비 * <%=Order.get("OBC_SITE_RATE")%> % &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp
  765. <%}%><%=Order.get("OBC_SITE_YN").equals("Y") ? "<font color='blue'>[견적포함]</font>" : "<font color='red'>[견적미포함]</font>" %></TD>
  766. <TH>매입부가세</TH>
  767. <TD><% if(!Order.get("OBC_DUTY_RATE").isEmpty()){%>재료비 * 매입세율 <%= Order.get("OBC_DUTY_RATE")%> % &nbsp
  768. <%}%><%=Order.get("OBC_DUTY_YN").equals("Y") ? "<font color='blue'>[견적포함]</font>" : "<font color='red'>[견적미포함]</font>" %></TD>
  769. </TR>
  770. <TR height="25">
  771. <TH>간접비 정산조건</TH>
  772. <TD><%=Order.get("OBC_IND_YN").equals("Y") ? "<font color='blue'>[실적정산]</font>" : "<font color='red'>[비례정산]</font>" %></TD>
  773. <TH>건설기계 수수료</TH>
  774. <TD><%=Order.get("OBC_WARR_YN").equals("Y") ? "<font color='blue'>[견적포함]</font>" : "<font color='red'>[견적미포함]</font>" %></TD>
  775. </TR>
  776. </TABLE>
  777. <TABLE class="form-table" style="margin-top:5px">
  778. <colgroup>
  779. <col width="145"/>
  780. <col width="145"/>
  781. <col width="29%"/>
  782. <col width="145"/>
  783. <col/>
  784. </colgroup>
  785. <TR height="100">
  786. <TH>주요발주내용</TH>
  787. <TD colspan="2">
  788. <%=StringUtils.cvtHTML(Order.get("MAIN_PR_CONTENTS"))%>
  789. </TD>
  790. <TH>입찰업체선정사유</TH>
  791. <TD>
  792. <%=StringUtils.cvtHTML(Order.get("BID_SUPP_SELECT_REASON"))%>
  793. </TD>
  794. </TR>
  795. <TR height="100">
  796. <TH>특이사항 내부</TH>
  797. <TD colspan="2">
  798. <textarea name="INNER_REMARKS" id="INNER_REMARKS" style="width:98%; height:80px; overflow-y:auto" maxlength="1000" class="input byteChk ctrlTarget"><%=Order.get("INNER_REMARKS")%></textarea>
  799. </TD>
  800. <TH>특이사항 외부</TH>
  801. <TD>
  802. <textarea name="OUTER_REMARKS" id="OUTER_REMARKS" style="width:98%; height:80px; overflow-y:auto" maxlength="1000" class="input byteChk ctrlTarget"><%=Order.get("OUTER_REMARKS")%></textarea>
  803. </TD>
  804. </TR>
  805. <TR height="100">
  806. <TH>내부자료</TH>
  807. <TD colspan="2">
  808. <TEXTAREA name="p_AttachFile1" id="p_AttachFile1" style="width:85%;height:80px" rows="1" class="input" readOnly><%=filein.get(Order.get("DOC_ETC_IN")) %></TEXTAREA>
  809. <IMG id='search_spot_button' onClick="doAttachFile(document.form1.DEMANDED_ID,1);" src='/img/buyer/button/bt_change.gif' border='0' align="top" align='absmiddle' alt='[Attach File]' style='cursor:pointer;'>
  810. </TD>
  811. <TH>외부자료</TH>
  812. <TD>
  813. <TEXTAREA name="p_AttachFile2" id="p_AttachFile2" style="width:85%;height:80px" rows="1" class="input" readOnly><%=fileout.get(Order.get("DOC_ETC_OUT")) %></TEXTAREA>
  814. <IMG id='search_spot_button' onClick="doAttachFile(document.form1.DEMANDED_ID,2);" src='/img/buyer/button/bt_change.gif' border='0' align="top" align='absmiddle' alt='[Attach File]' style='cursor:pointer;'>
  815. </TD>
  816. </TR>
  817. </TABLE>
  818. <textarea name="OPEN_OPINION" id="OPEN_OPINION" style="width:98%; height:50px; overflow-y:auto" maxlength="100" class="input byteChk ctrlTarget"><%=Order.get("OPEN_OPINION")%></textarea>
  819. </form>