BidOfflineAmt.jsp 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754
  1. <%--
  2. - Author(s) : Hyung min Son
  3. - Date : 2014.07.02
  4. - Description: 구매_견적서작성
  5. --%>
  6. <%@page import="monfox.toolkit.snmp.agent.modules.SnmpV2Mib.SysOREntry"%>
  7. <%@ page contentType="text/html; charset=utf-8" %>
  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="com.udapsoft.waf.common.util.StringUtils" %>
  13. <%@ page import= "kr.co.hsnc.common.sql.util.RowSetUtility" %>
  14. <%@ page import="kr.co.udapsoft.common.code.*" %>
  15. <%@ page import="kr.co.hsnc.common.util.*"%>
  16. <%@ page import="kr.co.hsnc.common.sql.*" %>
  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 file = storage.getValueObject(Order.get("FILE_GB"));
  26. SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
  27. RowSet CODE911 = storage.getRowSet("CODE911");
  28. String str = sd.format(new Date());
  29. %>
  30. <SCRIPT language="JavaScript">
  31. /*예약함수*/
  32. var sheet1 = new ibsheetObject();
  33. var pageLastRowIndex = 1;
  34. var validationResult = false;
  35. var filterShow = false;
  36. var must_msg = "(은)는 필수 입력 항목입니다.";
  37. var cost_point = <%=Order.get("PointCount")%>;
  38. function _onReady(){
  39. gridInit(sheet1);
  40. gridInit(sheet2);
  41. //var info = [{StdCol:4 , SumCols:"8|10",CaptionText:"[합 계]",CaptionCol:5,},{StdCol:6 , SumCols:"8|10",CaptionText:"[소 계]",CaptionCol:6}];
  42. //sheet1.ShowSubSum (info);
  43. sheet1.SetSumValue(5,"합 계");
  44. /**
  45. * Application Initialize
  46. */
  47. $("#btn_back").click(function() {
  48. jQuery("#fevent").val("FORM_SELECT");
  49. jQuery("#form1").attr("action", "/bid/purchase/SuccessBid.screen");
  50. jQuery("#form1").attr("target", "_self");
  51. jQuery("#form1").attr("method", "post");
  52. jQuery("#form1").submit();
  53. });
  54. $("#btn_signdata").click(function() {
  55. if(makecheck()){
  56. fMakeItemInfo();
  57. }
  58. });
  59. $("#btnExcelDown").click(function(){
  60. var params = { FileName : "견적내역(부가세별도).xls", SheetName : "견적내역(부가세별도)", SheetDesign:1 ,DownSum:false, DownCols:"MATERIAL_NAME|STD|UNIT_KIND|QTY|UNIT_COST|ROW_SUM_AMT"
  61. , TitleText : "<%=Order.get("BID_MASTER_NM")%> 견적서 \r\n| |*단가 항목만 수정하여 업로드 바랍니다."
  62. , UserMerge : "0,0,1,6 1,2,1,4"
  63. };
  64. sheet1.Down2Excel(params);
  65. });
  66. $("#btnExcelUpload").click(function(){
  67. sheet2.RemoveAll();
  68. var params = { Mode : 'HeaderMatch', StartRow: "3"};
  69. sheet2.LoadExcel(params);
  70. });
  71. doSearchSheet();
  72. <%if(!"Y".equals(Order.get("CURRENCY_GB_YN"))){%>
  73. $("#CURRENCY_GB").attr("disabled",true);
  74. <%}%>
  75. <%if(!"Y".equals(Order.get("DELIVERY_CONDITION_YN"))){%>
  76. $("#DELIVERY_CONDITION").attr("disabled",true);
  77. <%}%>
  78. $("#CURRENCY_GB").change(function(){
  79. CURRENCY_change();
  80. });
  81. $("#sheet2_div").hide();
  82. $("#paycondi_type_1").click(function(){
  83. $("#CBC_FIRST_RATE").val("<%=Order.get("CBC_FIRST_RATE_MAIN")%>");
  84. $("#PBC_FIRST_CONDI").val("<%=Order.get("PBC_FIRST_CONDI_MAIN")%>");
  85. $("#CPC_MID_RATE").val("<%=Order.get("CPC_MID_RATE_MAIN")%>");
  86. $("#PBC_MID_CONDI").val("<%=Order.get("PBC_MID_CONDI_MAIN")%>");
  87. $("#PBC_REST_RATE").val("<%=Order.get("PBC_REST_RATE_MAIN")%>");
  88. $("#PBC_REST_CONDI").val("<%=Order.get("PBC_REST_CONDI_MAIN")%>");
  89. $("#CBC_FIRST_RATE").attr("disabled",true);
  90. $("#PBC_FIRST_CONDI").attr("disabled",true);
  91. $("#CPC_MID_RATE").attr("disabled",true);
  92. $("#PBC_MID_CONDI").attr("disabled",true);
  93. $("#PBC_REST_RATE").attr("disabled",true);
  94. $("#PBC_REST_CONDI").attr("disabled",true);
  95. });
  96. $("#paycondi_type_2").click(function(){
  97. $("#CBC_FIRST_RATE").attr("disabled",false);
  98. $("#PBC_FIRST_CONDI").attr("disabled",false);
  99. $("#CPC_MID_RATE").attr("disabled",false);
  100. $("#PBC_MID_CONDI").attr("disabled",false);
  101. $("#PBC_REST_RATE").attr("disabled",false);
  102. $("#PBC_REST_CONDI").attr("disabled",false);
  103. });
  104. if("<%=Order.get("PAYCONDI_YN")%>" == "Y"){
  105. $("#paycondi_type_1").click();
  106. }
  107. }
  108. function doSearchSheet(){
  109. $("#fevent").val("VENDOR_SHEET_SELECT");
  110. var url = Modular.model.PageContext.CONTEXT_ROOT + "/bid/purchase/BidOfflineAmt_sheet.screen";
  111. Modular.view.IBSheet7.doSearch(sheet1, url, jQuery("#form1"), 30, "");
  112. }
  113. function gridInit(sheetName){
  114. var init_sheet = {};
  115. init_sheet.Cfg = {SearchMode:2, Page:30};
  116. if(sheetName.id == "sheet1"){
  117. init_sheet.Cols = [
  118. {Header:'Del', Type:"DelCheck", SaveName:"DEL_CHECK", Width:0, Align:"Center", Hidden:"True"},
  119. {Header:'Status', Type:"Status", SaveName:"STATUS", Width:0, Align:"Center", Hidden:"True"},
  120. {Header:'No.', Type:"Text", SaveName:"SEQ1", Width:30, Align:"Center", Edit:false},
  121. {Header:'자재코드', Type:"Text", SaveName:"MATERIAL_CD", Width:100, Align:"Left", Hidden:"True"},
  122. {Header:'자재명', Type:"Text", SaveName:"MATERIAL_NAME", Width:100, Align:"Left", Edit:false},
  123. {Header:'규격', Type:"Text", SaveName:"STD", Width:120, Align:"Left", Edit:false},
  124. {Header:'단위', Type:"Text", SaveName:"UNIT_KIND", Width:50, Align:"Center", Edit:false},
  125. {Header:'수량', Type:"Float", SaveName:"QTY", Width:80, Align:"Right", Edit:false},
  126. {Header:'단가', Type:"Float", SaveName:"UNIT_COST", Width:80, Align:"Right", PointCount:<%=Order.get("PointCount")%>},
  127. {Header:'금액', Type:"AutoSum", SaveName:"ROW_SUM_AMT", Width:80, Align:"Right", Edit:false, CalcLogic:"|QTY|*|UNIT_COST|", PointCount:<%=Order.get("PointCount")%>}
  128. ];
  129. }else{
  130. init_sheet.Cols = [
  131. {Header:'Del', Type:"DelCheck", SaveName:"DEL_CHECK", Width:0, Align:"Center", Hidden:"True"},
  132. {Header:'Status', Type:"Status", SaveName:"STATUS", Width:0, Align:"Center", Hidden:"True"},
  133. {Header:'No.', Type:"Seq", SaveName:"NO", Width:0, Align:"Center"},
  134. {Header:'자재코드', Type:"Text", SaveName:"MATERIAL_CD", Width:100, Align:"Left", Hidden:"True"},
  135. {Header:'자재명', Type:"Text", SaveName:"MATERIAL_NAME", Width:300, Align:"Left", Edit:false},
  136. {Header:'규격', Type:"Text", SaveName:"STD", Width:120, Align:"Left", Edit:false},
  137. {Header:'단위', Type:"Text", SaveName:"UNIT_KIND", Width:50, Align:"Center", Edit:false},
  138. {Header:'수량', Type:"Float", SaveName:"QTY", Width:50, Align:"Right", Edit:false},
  139. {Header:'단가', Type:"Float", SaveName:"UNIT_COST", Width:80, Align:"Right", PointCount:<%=Order.get("PointCount")%>},
  140. {Header:'금액', Type:"AutoSum", SaveName:"ROW_SUM_AMT", Width:80, Align:"Right", Edit:false, CalcLogic:"|QTY|*|UNIT_COST|", PointCount:<%=Order.get("PointCount")%>}
  141. ];
  142. }
  143. init_sheet.HeaderMode = {Sort:1};
  144. IBS_InitSheet(sheetName, init_sheet);
  145. sheetName.SetDataAutoTrim(0);
  146. sheetName.SetFocusEditMode(1);
  147. sheetName.SetEditEnterBehavior("down");
  148. setGridSize();
  149. }
  150. function sheet2_OnLoadExcel(result) {
  151. var DataCopy = true;
  152. var GrowCount1 = sheet1.LastRow();
  153. var GrowCount2 = sheet2.LastRow();
  154. if(GrowCount1 != GrowCount2){
  155. alert("현재 견적내용과 업로드한 견적내용이 다릅니다.\n엑셀 파일을 확인 후 재업로드 해주세요.");
  156. sheet2.RemoveAll();
  157. return;
  158. }
  159. for(var i=0; i < GrowCount1;i++){
  160. var q1 = sheet1.GetCellValue(i+1,"QTY");
  161. var q2 = sheet2.GetCellValue(i+1,"QTY");
  162. if(q1 != q2){
  163. alert("엑셀파일 "+(i+2)+"행 수량이 변경 되었습니다.\n단가를 제외한 모든 내용은 수정할 수 없습니다.");
  164. sheet2.RemoveAll();
  165. return;
  166. }
  167. }
  168. for(var i=0; i < GrowCount1;i++){
  169. var Uc = sheet2.GetCellValue(i+1,"UNIT_COST");
  170. sheet1.SetCellValue(i+1,"UNIT_COST",Uc);
  171. }
  172. var amt = sheet1.GetCellValue(GrowCount1,"ROW_SUM_AMT");
  173. if(amt != ""){
  174. $("#TOT_AMT_CK").val(amt);
  175. var arrAmt = $("#TOT_AMT_CK").val().split(".");
  176. if(arrAmt.length > 1){
  177. $("#TOT_AMT").val(formatComma(amt,cost_point));
  178. }else{
  179. $("#TOT_AMT").val(amt);
  180. $("#TOT_AMT").val($("#TOT_AMT").val().split(/(?=(?:\d{3})+(?:\.|$))/g).join(','));
  181. }
  182. }
  183. sheet2.RemoveAll();
  184. /* if(result) {
  185. alert("엑셀 로딩이 완료되었습니다.");
  186. } else {
  187. alert("엑셀 로딩중 오류가 발생하였습니다.");
  188. } */
  189. }
  190. /**
  191. * IBSheet Event: Search End(IBSheet 데이터 조회 CallBack)
  192. */
  193. function sheet1_OnSearchEnd(code, message) {
  194. if(code == 0) {
  195. sheet1.FitColWidth();
  196. /**
  197. * 단가 계약일경우 모든 수량을 1로 변경
  198. **/
  199. var GrowCount = sheet1.LastRow();
  200. var amt = sheet1.GetCellValue(GrowCount,"ROW_SUM_AMT");
  201. if(amt != ""){
  202. $("#TOT_AMT_CK").val(amt);
  203. var arrAmt = $("#TOT_AMT_CK").val().split(".");
  204. if(arrAmt.length > 1){
  205. $("#TOT_AMT").val(formatComma(amt,cost_point));
  206. }else{
  207. $("#TOT_AMT").val(amt);
  208. $("#TOT_AMT").val($("#TOT_AMT").val().split(/(?=(?:\d{3})+(?:\.|$))/g).join(','));
  209. }
  210. }
  211. $("#ESTI_TOT_AMT").val(amt);
  212. } else {
  213. //조회 에러 수행
  214. alert(message);
  215. }
  216. }
  217. /**
  218. * IBSheet Event: Click
  219. */
  220. function sheet1_OnClick(Row, Col, Value, CellX, CellY, CellW, CellH) {
  221. //alert("Row :" + Row + " Col : " +Col);
  222. }
  223. /**
  224. * IBSheet size setting
  225. */
  226. function setGridSize() {
  227. sheet1.FitColWidth();
  228. }
  229. function sheet1_OnChange(Row, Col, Value) {
  230. if(Col == 8){//단가 수정시
  231. var Qty = sheet1.GetCellValue(Row,"QTY");
  232. var amt = Value * Qty;
  233. sheet1.SetCellValue(Row,"ROW_SUM_AMT",amt);
  234. }
  235. var GrowCount = sheet1.LastRow();
  236. var amt = sheet1.GetCellValue(GrowCount,"ROW_SUM_AMT");
  237. if(amt != ""){
  238. $("#TOT_AMT_CK").val(amt);
  239. var arrAmt = $("#TOT_AMT_CK").val().split(".");
  240. if(arrAmt.length > 1){
  241. $("#TOT_AMT").val(formatComma(amt,cost_point));
  242. }else{
  243. $("#TOT_AMT").val(amt);
  244. $("#TOT_AMT").val($("#TOT_AMT").val().split(/(?=(?:\d{3})+(?:\.|$))/g).join(','));
  245. }
  246. }
  247. $("#ESTI_TOT_AMT").val(amt);
  248. }
  249. function numberFormat(num) {
  250. var pattern = /(-?[0-9]+)([0-9]{3})/;
  251. while(pattern.test(num)) {
  252. num = num.replace(pattern,"$1,$2");
  253. }
  254. return num;
  255. }
  256. //첨부파일
  257. function doAttachFile(obj) {
  258. var file_div = "bid/purchase/"+"<%=Order.get("BID_NO")%>"+"/";
  259. if(obj==''){
  260. alert("After you have saved, you can attach a file.");
  261. }
  262. else if(obj != ''){
  263. viewFileListNew("<%=Order.get("FILE_GB")%>", obj.value, document.form1.p_AttachFile, "Y", file_div);
  264. }
  265. }
  266. function doResult(resultObj) {
  267. try {
  268. if( resultObj.getRequestEvent() == "FORM_UPDATE") {
  269. if( resultObj.getSuccess() ) {
  270. alert("저장 되었습니다.");
  271. jQuery("#fevent").val("");
  272. jQuery("#form1").attr("action", "/bid/purchase/BidPlanList.screen");
  273. jQuery("#form1").attr("target", "_self");
  274. jQuery("#form1").attr("method", "post");
  275. jQuery("#form1").submit();
  276. }
  277. else {
  278. dlgErrorMsg(resultObj);
  279. }
  280. }
  281. if( resultObj.getRequestEvent() == "FORM_DELETE") {
  282. if( resultObj.getSuccess() ) {
  283. alert("삭제 되었습니다.");
  284. $("#btn_list").click();
  285. }
  286. else {
  287. dlgErrorMsg(resultObj);
  288. }
  289. }
  290. } catch(errorObject) {
  291. showErrorDlg("doResult()", errorObject);
  292. }
  293. }
  294. function sheet1_OnSmartResize(Width, Height) {
  295. sheet1.FitColWidth();
  296. autoResize();
  297. }
  298. function valreturn(data){
  299. if(data == undefined){
  300. data ="NULL";
  301. }
  302. return data;
  303. }
  304. function autoResize(){
  305. }
  306. function AddZero(str){
  307. if((str+"").length==1){
  308. return "0"+str;
  309. }
  310. return str;
  311. }
  312. function makecheck(){
  313. <% if("Y".equals(Order.get("PBC_INSTALL_YN"))){ %>
  314. if(must_ck_radio("INSTALL_YN","Installation"))return false;
  315. <%} if("Y".equals(Order.get("PBC_COMMISS_YN"))){ %>
  316. if(must_ck_radio("COMMISS_YN","Spare parts for Commissioning"))return false;
  317. <%} if("Y".equals(Order.get("PBC_SPETOOL_YN"))){ %>
  318. if(must_ck_radio("SPETOOL_YN","Special Tool"))return false;
  319. <%} if("Y".equals(Order.get("PBC_TEST_YN"))){ %>
  320. if(must_ck_radio("TEST_YN","Test & Inspection at Fabrication shop"))return false;
  321. <%} if("Y".equals(Order.get("PBC_DOC_YN"))){ %>
  322. if(must_ck_radio("DOC_YN","Documentation"))return false;
  323. <%} if("Y".equals(Order.get("PBC_PACK_YN"))){ %>
  324. if(must_ck_radio("PACK_YN","Packing cost"))return false;
  325. <%} if("Y".equals(Order.get("PBC_LANDTRAN_YN"))){ %>
  326. if(must_ck_radio("LANDTRAN_YN","Inland Transportaion"))return false;
  327. <%}%>
  328. if(must_ck_radio("PAYCONDI_YN","payment Condition"))return false;
  329. if(must_ck_radio("CONTFUL_YN","Performance Bond"))return false;
  330. if(must_ck_radio("FRSTGUAR_YN","First Payment Bond"))return false;
  331. if(must_ck_radio("WARR_YN","Guarantee Bond"))return false;
  332. if(must_ck_radio("DEFECT_YN","Guarantee Period"))return false;
  333. return true;
  334. }
  335. function fMakeItemInfo(){
  336. var GrowCount = sheet1.LastRow();
  337. var rowsum = 0;
  338. var costzero = false;
  339. //2017.04.18
  340. if ($("#CURRENCY_GB").val() == ""){
  341. alert("통화를 선택 해 주세요.");
  342. return;
  343. }
  344. for(var i=1; i < GrowCount+1; i++)
  345. {
  346. if(sheet1.GetCellValue(i,"UNIT_COST") == 0){
  347. costzero = true;
  348. }
  349. rowsum += sheet1.GetCellValue(i,"UNIT_COST");
  350. }
  351. if(rowsum == 0){
  352. alert("단가를 입력해 주세요.");
  353. return;
  354. }
  355. var confirmMsg = "";
  356. confirmMsg = "견적총금액은 "+sheet1.GetCellValue(GrowCount,"ROW_SUM_AMT").toLocaleString()+" "+ $("#CURRENCY_GB").val()+" (VAT별도)입니다.\n\n견적서를 제출하시겠습니까?";
  357. if(confirm(confirmMsg)){
  358. jQuery("#fevent").val("SAVE");
  359. var url = Modular.model.PageContext.CONTEXT_ROOT + "/bid/purchase/BidOfflineAmt_sheet.screen";
  360. Modular.view.IBSheet7.doSave(sheet1, url, jQuery("#form1"), 30, "");
  361. }
  362. }
  363. // radio 박스 체크
  364. function must_ck_radio(obj,name){
  365. var value = $(':radio[name='+obj+']:checked').val();
  366. if(value == undefined){
  367. alert(name+must_msg);
  368. $("#"+obj).focus();
  369. return true;
  370. }
  371. return false;
  372. }
  373. function sheet1_OnSaveEnd(code, msg)
  374. {
  375. var event = $("#fevent").val();
  376. if(event == "SAVE"){
  377. if(code >= "0"){
  378. alert("저장되었습니다.");
  379. historyback();
  380. }else{
  381. alert(msg);
  382. }
  383. }
  384. }
  385. function historyback(){
  386. $("#fevent").val("FORM_SELECT");
  387. $("#form1").attr("action", "/bid/purchase/SuccessBid.screen");
  388. $("#form1").attr("target", "_self");
  389. $("#form1").attr("method", "post");
  390. $("#form1").submit();
  391. }
  392. function isEmptyVal( value ) {
  393. if(value.length == 0){
  394. return true;
  395. }
  396. if( value == "" ) {
  397. return true;
  398. }
  399. return false;
  400. }
  401. function CURRENCY_change(){
  402. <%
  403. for(int i=0;i < CODE911.size();i++){
  404. ValueObject Vo = RowSetUtility.getValueObject(CODE911.getRow(i));
  405. %>
  406. if($("#CURRENCY_GB").val() == "<%=Vo.get("DETAILCD")%>"){
  407. InitCellProperty("<%=Vo.get("CHG_CODE01").equals("0") ? "Int" : "Float"%>",<%=Vo.get("CHG_CODE01")%>);
  408. }
  409. <%}%>
  410. }
  411. function InitCellProperty(CellType, CellPointCount){
  412. var GrowCount = sheet1.LastRow();
  413. var init = "";
  414. var init2 = "";
  415. cost_point = CellPointCount;
  416. for(var i=0; i < GrowCount; i++)
  417. {
  418. if(CellType == "Int"){
  419. init = {Type:"Int", PointCount:CellPointCount};
  420. init2 = {Type:"AutoSum", PointCount:CellPointCount};
  421. }else{
  422. init = {Type:"Float", PointCount:CellPointCount};
  423. init2 = {Type:"AutoSum", PointCount:CellPointCount};
  424. }
  425. sheet1.InitCellProperty(i+1,"UNIT_COST",init);
  426. sheet2.InitCellProperty(i+1,"UNIT_COST",init);
  427. }
  428. }
  429. // setInterval("dpTime()",1000);
  430. </SCRIPT>
  431. <modular:search id="form1">
  432. <modular:key id="fevent" />
  433. </modular:search>
  434. <form id="form1" name="form1" method="post" modular:type="search">
  435. <INPUT type='hidden' name="fevent" id="fevent" value="">
  436. <INPUT type='hidden' name="ESTI_TOT_AMT" value="">
  437. <INPUT type='hidden' name="DEMANDED_ID" value="<%=Order.get("DEMANDED_ID")%>">
  438. <INPUT type='hidden' name="DEMANDED_KIND" value="<%=Order.get("DEMANDED_KIND")%>">
  439. <INPUT type='hidden' name="BID_NO" value="<%=Order.get("BID_NO")%>">
  440. <INPUT type='hidden' name="BID_DEG" value="<%=Order.get("BID_DEG")%>">
  441. <INPUT type='hidden' name="STATUS_CD" value="<%=Order.get("STATUS_CD")%>">
  442. <INPUT type='hidden' name="VENDOR_CD" value="<%=Order.get("VENDOR_CD")%>">
  443. <INPUT type='hidden' name="FILE_GB" value="<%=Order.get("FILE_GB")%>">
  444. <INPUT type='hidden' name="ATT_ID" value="<%=Order.get("ATT_ID")%>">
  445. <INPUT type='hidden' name="TOT_AMT_CK" value="">
  446. <INPUT type='hidden' name="ESTI_SIGNDATA" value="">
  447. <INPUT type='hidden' name="sItemInfo" value="">
  448. <INPUT type='hidden' name="signeddata" value="">
  449. <table width="100%">
  450. <colgroup>
  451. <col width="*" />
  452. <col width="130" />
  453. </colgroup>
  454. <tr>
  455. <th>
  456. <div align="left" id="title" >
  457. <ul><li>견적서작성</li></ul>
  458. </div>
  459. </th>
  460. <td align="right">
  461. <span class="btnSearch center" id="btn_back"><a href="javascript:void(0);">이전</a></span>
  462. <span class="btnSearch center" id="btn_signdata"><a href="javascript:void(0);">견적서제출</a></span>
  463. </td>
  464. </tr>
  465. </table>
  466. <div class="application-info magT10" >
  467. <div class="application-sub-title">
  468. <span class="title">견적정보</span>
  469. </div>
  470. </div>
  471. <TABLE class="form-table" style="margin-top:3px">
  472. <colgroup>
  473. <col width="160">
  474. <col/>
  475. </colgroup>
  476. <TR height="25">
  477. <TH style="text-align:left">사업자번호</TH>
  478. <TD><%=StringUtils.getBizNo(Order.get("CORP_REG_NO")) %></TD>
  479. </TR>
  480. <TR height="25">
  481. <TH style="text-align:left"> 업체명</TH>
  482. <TD><%=Order.get("CORP_KOR")%></TD>
  483. </TR>
  484. <TR height="25">
  485. <TH style="text-align:left"> 견적합계금액</TH>
  486. <TD><%= InputText.get("TOT_AMT", "", 50, 300, "class=input_blank,desc=견적합계금액,readOnly=white") %></TD>
  487. </TR>
  488. </table>
  489. <TABLE width="100%">
  490. <colgroup>
  491. <col width="50%">
  492. <col width="50%"/>
  493. </colgroup>
  494. <tr><td valign="top" rowspan="2" >
  495. <div class="application-info magT10" >
  496. <div class="application-sub-title">
  497. <span class="title">견적조건</span>
  498. </div>
  499. </div>
  500. <TABLE class="form-table">
  501. <colgroup>
  502. <col width="160">
  503. <col/>
  504. </colgroup>
  505. <TR height="25">
  506. <TH style="text-align:left">견적통화</TH>
  507. <TD><%=CommCodeManager.getSelectCodeList("911","CURRENCY_GB","height=18;","<option value=''>--선택--</option>",Order.get("CURRENCY_GB")) %>
  508. <%if("Y".equals(Order.get("CURRENCY_GB_YN"))){%>(견적의뢰 통화 : <%=Order.get("CURRENCY_GB_NM")%>) * 업체 변경가능<%} %>
  509. </TD>
  510. </TR>
  511. <% if("Y".equals(Order.get("PBC_INSTALL_YN"))){ %>
  512. <TR height="25">
  513. <TH style="text-align:left">Installation</TH>
  514. <TD>
  515. <LABEL for="install_type_1"><INPUT id="install_type_1" type="radio" name="INSTALL_YN" value="Y" desc="Installation" <%=Order.get("INSTALL_YN").equals("Y") ? "checked=\"checked\"" : "" %> > included</LABEL>
  516. <LABEL for="install_type_2"><INPUT id="install_type_2" type="radio" name="INSTALL_YN" value="N" desc="Installation" <%=Order.get("INSTALL_YN").equals("N") ? "checked=\"checked\"" : "" %> > not included</LABEL>
  517. </TD>
  518. </TR>
  519. <%} if("Y".equals(Order.get("PBC_COMMISS_YN"))){ %>
  520. <TR height="25">
  521. <TH style="text-align:left">Spare parts for<br>Commissioning</TH>
  522. <TD>
  523. <LABEL for="commiss_type_1"><INPUT id="commiss_type_1" type="radio" name="COMMISS_YN" value="Y" desc="Installation" <%=Order.get("COMMISS_YN").equals("Y") ? "checked=\"checked\"" : "" %> > included</LABEL>
  524. <LABEL for="commiss_type_2"><INPUT id="commiss_type_2" type="radio" name="COMMISS_YN" value="N" desc="Installation" <%=Order.get("COMMISS_YN").equals("N") ? "checked=\"checked\"" : "" %> > not included</LABEL>
  525. </TD>
  526. </TR>
  527. <%} if("Y".equals(Order.get("PBC_SPETOOL_YN"))){ %>
  528. <TR height="25">
  529. <TH style="text-align:left">Special Tool</TH>
  530. <TD>
  531. <LABEL for="spetool_type_1"><INPUT id="spetool_type_1" type="radio" name="SPETOOL_YN" value="Y" desc="Installation" <%=Order.get("SPETOOL_YN").equals("Y") ? "checked=\"checked\"" : "" %> > included</LABEL>
  532. <LABEL for="spetool_type_2"><INPUT id="spetool_type_2" type="radio" name="SPETOOL_YN" value="N" desc="Installation" <%=Order.get("SPETOOL_YN").equals("N") ? "checked=\"checked\"" : "" %> > not included</LABEL>
  533. </TD>
  534. </TR>
  535. <%} if("Y".equals(Order.get("PBC_TEST_YN"))){ %>
  536. <TR height="25">
  537. <TH style="text-align:left">Test & Inspection at<br>Fabrication shop</TH>
  538. <TD>
  539. <LABEL for="test_type_1"><INPUT id="test_type_1" type="radio" name="TEST_YN" value="Y" desc="Installation" <%=Order.get("TEST_YN").equals("Y") ? "checked=\"checked\"" : "" %> > included</LABEL>
  540. <LABEL for="test_type_2"><INPUT id="test_type_2" type="radio" name="TEST_YN" value="N" desc="Installation" <%=Order.get("TEST_YN").equals("N") ? "checked=\"checked\"" : "" %> > not included</LABEL>
  541. </TD>
  542. </TR>
  543. <%} if("Y".equals(Order.get("PBC_DOC_YN"))){ %>
  544. <TR height="25">
  545. <TH style="text-align:left">Documentation</TH>
  546. <TD>
  547. <LABEL for="doc_type_1"><INPUT id="doc_type_1" type="radio" name="DOC_YN" value="Y" desc="Installation" <%=Order.get("DOC_YN").equals("Y") ? "checked=\"checked\"" : "" %> > included</LABEL>
  548. <LABEL for="doc_type_2"><INPUT id="doc_type_2" type="radio" name="DOC_YN" value="N" desc="Installation" <%=Order.get("DOC_YN").equals("N") ? "checked=\"checked\"" : "" %> > not included</LABEL>
  549. </TD>
  550. </TR>
  551. <%} if("Y".equals(Order.get("PBC_PACK_YN"))){ %>
  552. <TR height="25">
  553. <TH style="text-align:left">Packing cost</TH>
  554. <TD>
  555. <LABEL for="pack_type_1"><INPUT id="pack_type_1" type="radio" name="PACK_YN" value="Y" desc="Installation" <%=Order.get("PACK_YN").equals("Y") ? "checked=\"checked\"" : "" %> > included</LABEL>
  556. <LABEL for="pack_type_2"><INPUT id="pack_type_2" type="radio" name="PACK_YN" value="N" desc="Installation" <%=Order.get("PACK_YN").equals("N") ? "checked=\"checked\"" : "" %> > not included</LABEL>
  557. </TD>
  558. </TR>
  559. <%} if("Y".equals(Order.get("PBC_LANDTRAN_YN"))){ %>
  560. <TR height="25">
  561. <TH style="text-align:left">Inland Transportaion</TH>
  562. <TD>
  563. <LABEL for="landtran_type_1"><INPUT id="landtran_type_1" type="radio" name="LANDTRAN_YN" value="Y" desc="Installation" <%=Order.get("LANDTRAN_YN").equals("Y") ? "checked=\"checked\"" : "" %> > included</LABEL>
  564. <LABEL for="landtran_type_2"><INPUT id="landtran_type_2" type="radio" name="LANDTRAN_YN" value="N" desc="Installation" <%=Order.get("LANDTRAN_YN").equals("N") ? "checked=\"checked\"" : "" %> > not included</LABEL>
  565. </TD>
  566. </TR>
  567. <%}%>
  568. <TR height="25">
  569. <TH style="text-align:left">Delivery Condition</TH>
  570. <TD>
  571. <%=CommCodeManager.getSelectCodeList("PUR_LEAD_GB","DELIVERY_CONDITION","height=18;","<option value=''>--선택--</option>",Order.get("DELIVERY_CONDITION")) %>
  572. <%if("Y".equals(Order.get("DELIVERY_CONDITION_YN"))){%>(견적의뢰 조건 : <%=Order.get("DELIVERY_CONDITION_NM")%>) * 업체 변경가능<%} %> </TD>
  573. </TD>
  574. </TR>
  575. <%if("Y".equals(Order.get("PBC_FEE_YN"))){ %>
  576. <TR height="25">
  577. <TH style="text-align:left">Supervision fee</TH>
  578. <TD>
  579. <%= InputText.get("FEE_NOTI", Order.get("FEE_NOTI"), 50, 2000, "") %> ex) per day $500
  580. </TD>
  581. </TR>
  582. <%} if("Y".equals(Order.get("PBC_OPTION_YN"))){ %>
  583. <TR height="25">
  584. <TH style="text-align:left"><%=Order.get("PBC_OPTION_COMMENT")%></TH>
  585. <TD>
  586. <%= InputText.get("OPTION_NOTI", Order.get("OPTION_NOTI"), 50, 50, "") %> ex) per day $500
  587. </TD>
  588. </TR>
  589. <%} %>
  590. <TR height="25">
  591. <TH style="text-align:left">Quotation No</TH>
  592. <TD><%= InputText.get("QUOT_NO", Order.get("QUOT_NO"), 50, 50, "") %>
  593. </TD>
  594. </TR>
  595. <TR height="25">
  596. <TH style="text-align:left">payment Condition</TH>
  597. <TD>
  598. <LABEL for="paycondi_type_1"><INPUT id="paycondi_type_1" type="radio" name="PAYCONDI_YN" value="Y" desc="Installation" <%=Order.get("PAYCONDI_YN").equals("Y") ? "checked=\"checked\"" : "" %> > accept</LABEL>
  599. <LABEL for="paycondi_type_2"><INPUT id="paycondi_type_2" type="radio" name="PAYCONDI_YN" value="N" desc="Installation" <%=Order.get("PAYCONDI_YN").equals("N") ? "checked=\"checked\"" : "" %> > not included</LABEL>
  600. <%-- <%if(!Order.get("CBC_FIRST_RATE").isEmpty()){%><br>선급금 : <%=Order.get("CBC_FIRST_RATE") %>%(계약금액 기준)<%} %>
  601. <%if(!Order.get("CPC_MID_RATE").isEmpty()){%><br>중도금 : <%=Order.get("CPC_MID_RATE") %>%(계약금액 기준)<%} %>
  602. <%if(!Order.get("PBC_REST_RATE").isEmpty()){%><br>잔 금 : <%=Order.get("PBC_REST_RATE") %>%(계약금액 기준)<%} %> --%>
  603. <br>선급금 : <%= InputText.get("CBC_FIRST_RATE", Order.get("CBC_FIRST_RATE").isEmpty() ? Order.get("CBC_FIRST_RATE_MAIN") : Order.get("CBC_FIRST_RATE"), 5, 3, "Right,Number","Number") %>% <%= InputText.get("PBC_FIRST_CONDI", Order.get("PBC_FIRST_CONDI").isEmpty() ? Order.get("PBC_FIRST_CONDI_MAIN") : Order.get("PBC_FIRST_CONDI"), 20, 50, "") %>&nbsp;(계약금액 기준)
  604. <br>중도금 : <%= InputText.get("CPC_MID_RATE", Order.get("CPC_MID_RATE").isEmpty() ? Order.get("CPC_MID_RATE_MAIN") : Order.get("CPC_MID_RATE"), 5, 3, "Right,Number","Number") %>% <%= InputText.get("PBC_MID_CONDI", Order.get("PBC_MID_CONDI").isEmpty() ? Order.get("PBC_MID_CONDI_MAIN") : Order.get("PBC_MID_CONDI"), 20, 50, "") %>&nbsp;(계약금액 기준)
  605. <br>잔 &nbsp; 금 : <%= InputText.get("PBC_REST_RATE", Order.get("PBC_REST_RATE").isEmpty() ? Order.get("PBC_REST_RATE_MAIN") : Order.get("PBC_REST_RATE"), 5, 3, "Right,Number","Number") %>% <%= InputText.get("PBC_REST_CONDI", Order.get("PBC_REST_CONDI").isEmpty() ? Order.get("PBC_REST_CONDI_MAIN") : Order.get("PBC_REST_CONDI"), 20, 50, "") %>&nbsp;(계약금액 기준)
  606. <br><br><TEXTAREA name="PAYCONDI_NOT_NOTI" id="PAYCONDI_NOT_NOTI" style="width:98%;height:50px" rows="1" class="input"><%=Order.get("PAYCONDI_NOT_NOTI") %></TEXTAREA>
  607. </TD>
  608. </TR>
  609. <TR height="25">
  610. <TH style="text-align:left">Performance Bond</TH>
  611. <TD><%=Order.get("CONTFUL_RATE") %>%(계약금액 기준)
  612. <LABEL for="contful_type_1"><INPUT id="contful_type_1" type="radio" name="CONTFUL_YN" value="Y" desc="Installation" <%=Order.get("CONTFUL_YN").equals("Y") ? "checked=\"checked\"" : "" %> > accept</LABEL>
  613. <LABEL for="contful_type_2"><INPUT id="contful_type_2" type="radio" name="CONTFUL_YN" value="N" desc="Installation" <%=Order.get("CONTFUL_YN").equals("N") ? "checked=\"checked\"" : "" %> > not accept</LABEL>
  614. &nbsp&nbsp<TEXTAREA name="CONTFUL_NOT_NOTI" id="CONTFUL_NOT_NOTI" style="width:40%;height:20px" rows="1" class="input"><%=Order.get("CONTFUL_NOT_NOTI") %></TEXTAREA>
  615. </TD>
  616. </TR>
  617. <TR height="25">
  618. <TH style="text-align:left">First Payment Bond</TH>
  619. <TD>
  620. <%=Order.get("PBC_FRSTGUAR_RATE") %>%(계약금액 기준)
  621. <LABEL for="frtguar_type_1"><INPUT id="frtguar_type_1" type="radio" name="FRSTGUAR_YN" value="Y" desc="Installation" <%=Order.get("FRSTGUAR_YN").equals("Y") ? "checked=\"checked\"" : "" %> > accept</LABEL>
  622. <LABEL for="frtguar_type_2"><INPUT id="frtguar_type_2" type="radio" name="FRSTGUAR_YN" value="N" desc="Installation" <%=Order.get("FRSTGUAR_YN").equals("N") ? "checked=\"checked\"" : "" %> > not accept</LABEL>
  623. &nbsp<TEXTAREA name="FRSTGUAR_NOT_NOTI" id="FRSTGUAR_NOT_NOTI" style="width:40%;height:25px" rows="1" class="input"><%=Order.get("FRSTGUAR_NOT_NOTI") %></TEXTAREA>
  624. </TD>
  625. </TR>
  626. <TR height="25">
  627. <TH style="text-align:left">Guarantee Bond</TH>
  628. <TD><%=Order.get("WARR_RATE") %>%(계약금액 기준)
  629. <LABEL for="warr_type_1"><INPUT id="warr_type_1" type="radio" name="WARR_YN" value="Y" desc="Installation" <%=Order.get("WARR_YN").equals("Y") ? "checked=\"checked\"" : "" %> > accept</LABEL>
  630. <LABEL for="warr_type_2"><INPUT id="warr_type_2" type="radio" name="WARR_YN" value="N" desc="Installation" <%=Order.get("WARR_YN").equals("N") ? "checked=\"checked\"" : "" %> > not accept</LABEL>
  631. &nbsp&nbsp<TEXTAREA name="WARR_NOT_NOTI" id="WARR_NOT_NOTI" style="width:40%;height:20px" rows="1" class="input"><%=Order.get("WARR_NOT_NOTI") %></TEXTAREA>
  632. </TD>
  633. </TR>
  634. <TR height="25">
  635. <TH style="text-align:left">Guarantee Period</TH>
  636. <TD><%=Order.get("PBC_DEFECT_CONDI") %> <%=Order.get("CBC_DEFECT_DAY") %><%=Order.get("CBC_DERECT_TERM_NM") %>간<br>
  637. <LABEL for="defect_type_1"><INPUT id="defect_type_1" type="radio" name="DEFECT_YN" value="Y" desc="Installation" <%=Order.get("DEFECT_YN").equals("Y") ? "checked=\"checked\"" : "" %> > accept</LABEL>
  638. <LABEL for="defect_type_2"><INPUT id="defect_type_2" type="radio" name="DEFECT_YN" value="N" desc="Installation" <%=Order.get("DEFECT_YN").equals("N") ? "checked=\"checked\"" : "" %> > not accept</LABEL>
  639. &nbsp;<TEXTAREA name="DEFECT_NOT_NOTI" id="DEFECT_NOT_NOTI" style="width:98%;" rows="1" class="input"><%=Order.get("DEFECT_NOT_NOTI") %></TEXTAREA>
  640. </TD>
  641. </TR>
  642. <TR height="50">
  643. <TH style="text-align:left">OTHERS TO BE<br>CONFIRMED</TH>
  644. <TD>
  645. <TEXTAREA name="BID_CONDI_NOTI" id="BID_CONDI_NOTI" style="width:98%;height:50px" rows="1" class="input"><%=Order.get("BID_CONDI_NOTI") %></TEXTAREA>
  646. </TD>
  647. </TR>
  648. </TABLE>
  649. </TD>
  650. <TD style="padding-left:5px;" valign="top">
  651. <table style="width:100%;height:25px;margin-top:-4px;">
  652. <colgroup>
  653. <col width="*" />
  654. <col width="200" />
  655. </colgroup>
  656. <tr heigth="25">
  657. <th>
  658. <div class="application-info magT10">
  659. <div class="application-sub-title">
  660. <span class="title">견적내역(부가세별도)</span>
  661. </div>
  662. </div>
  663. </th>
  664. <td align="right">
  665. <span class="btnSearch center" id="btnExcelUpload"><a href="javascript:void(0);">Excel Upload</a></span>
  666. <span class="btnSearch center" id="btnExcelDown"><a href="javascript:void(0);">Excel Down</a></span>
  667. </td>
  668. </tr>
  669. </table>
  670. <div id="sheet1_div" style="height: auto; min-height:100px;width:100%; overflow: auto;height:100%">
  671. <script>createIBSheet('sheet1','100%', '450px');</script>
  672. </div>
  673. </TD>
  674. </TR>
  675. <TR><TD valign="top" width="*">
  676. <div class="application-info magT10" >
  677. <div class="application-sub-title">
  678. <span class="title">첨부파일</span>
  679. </div>
  680. </div>
  681. <TABLE class="form-table">
  682. <colgroup>
  683. <col width="160">
  684. <col/>
  685. </colgroup>
  686. <TR height="100">
  687. <TH style="text-align:left"> 첨부파일</TD>
  688. <TD>
  689. <TEXTAREA name="p_AttachFile" id="p_AttachFile" style="width:85%;height:80px" rows="1" class="input" readOnly><%=file.get(Order.get("FILE_GB")) %></TEXTAREA>
  690. <IMG id='search_spot_button' onClick="doAttachFile(document.form1.DEMANDED_ID);" src='/img/buyer/button/bt_change.gif' border='0' align="top" align='absmiddle' alt='[Attach File]' style='cursor:pointer;'>
  691. </TD>
  692. </TR>
  693. </TABLE>
  694. </TD>
  695. </TR>
  696. </TABLE>
  697. <div id="sheet2_div" style="height: auto; min-height:100px;width:100%; overflow: auto;height:100%">
  698. <script>createIBSheet('sheet2','100%', '450px');</script>
  699. </div>
  700. </form>