ContDetail.jsp 59 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622
  1. <%--
  2. - Author(s) : Kim Myung HO
  3. - Date : 2014.07.07
  4. - Description: 계약 작성
  5. --%>
  6. <%@page import="java.sql.Clob"%>
  7. <%@ page contentType="text/html; charset=utf-8" %>
  8. <%@ page import="com.udapsoft.waf.system.HandlerStorage" %>
  9. <%@ page import="com.udapsoft.waf.common.ui.*" %>
  10. <%@ page import="com.udapsoft.waf.common.util.*" %>
  11. <%@ page import="kr.co.hsnc.common.util.*"%>
  12. <%@ page import="kr.co.hsnc.common.sql.*" %>
  13. <%@ page import="kr.co.hsnc.common.config.WAFConfig" %>
  14. <%@ include file="/jsp/work/taglib.jsp" %>
  15. <%@ page import="kr.co.hsnc.common.util.Formatter"%>
  16. <%@page import="java.net.URLEncoder"%>
  17. <%@ page import="kr.co.udapsoft.ebid.buyer.common.file.FileManager"%>
  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. // RowSet CorpRowSet = storage.getRowSet("CorpRowSet");
  25. ValueObject ContInfo = storage.getValueObject("ContInfo");
  26. String RTN_REASON = "";
  27. boolean rtn = false;
  28. if(ContInfo.get("RTN_REASON").length() > 0){
  29. RTN_REASON = ContInfo.get("RTN_REASON");
  30. rtn = true;
  31. }
  32. /*계약서식 정보 */
  33. RowSet template = storage.getRowSet("template");
  34. /*계약서식 FILE */
  35. RowSet autofile_list = storage.getRowSet("AUTOFILE_LIST");
  36. /*보증 정보 LIst */
  37. RowSet warrList = storage.getRowSet("warrList");
  38. /*계약 구매 내역 목록*/
  39. RowSet itemList = storage.getRowSet("itemList");
  40. /*인지세 구분*/
  41. RowSet stampList = storage.getRowSet("stampRowSet");
  42. //변경계약내역서 추가 2019.08.06
  43. RowSet chgItemList = storage.getRowSet("chgItemList");
  44. %>
  45. <LINK href="/css/cont/cont_style.css" rel="stylesheet" type="text/css">
  46. <script language="javascript" src="/js/cont/cont_util.js"></script>
  47. <script language="javascript" src="/js/cont/lib.validate.js"></script>
  48. <SCRIPT language="JavaScript">
  49. /*예약함수*/
  50. var sheet1;
  51. var sheet1Row;
  52. var sheet1PageNo = 1;
  53. var pageLastRowIndex = 1;
  54. var validationResult = false;
  55. var filterShow = false;
  56. var payCallNum = 2; //대금계획에서 화면 이동 정의
  57. function _onReady(){
  58. /* STAMP_DUTY, PROMISE_DOC 인클루드 페이지 기능 */
  59. gridInit2(sheet2);
  60. gridInit3(sheet3);
  61. doSearchStamp();
  62. doSearchPromise();
  63. if(!(jQuery("#STATUS_CD").val() == '20' || jQuery("#STATUS_CD").val() == '30' || jQuery("#STATUS_CD").val() == '50')){
  64. jQuery("#p_issue_gb").attr("disabled",false);
  65. jQuery("#p_promise_gb").attr("disabled",false);
  66. if(jQuery("#p_issue_gb").val()=="00"||jQuery("#p_issue_gb").val()==""){
  67. jQuery("#btnAdd").hide();
  68. //jQuery("#btnSaveStamp").hide();
  69. }else{
  70. jQuery("#btnAdd").show();
  71. //jQuery("#btnSaveStamp").show();
  72. }
  73. if(jQuery("#p_promise_gb").val()=="00"||jQuery("#p_promise_gb").val()==""){
  74. jQuery("#btnPromiseAdd").hide();
  75. //jQuery("#btnSavePromise").hide();
  76. }else{
  77. jQuery("#btnPromiseAdd").show();
  78. //jQuery("#btnSavePromise").show();
  79. }
  80. }else{
  81. jQuery("#p_issue_gb").attr("disabled",true);
  82. jQuery("#p_promise_gb").attr("disabled",true);
  83. if(jQuery("#p_issue_gb").val()=="00"||jQuery("#p_issue_gb").val()==""||jQuery("#STATUS_CD").val() == '50'){
  84. jQuery("#btnAdd").hide();
  85. //jQuery("#btnSaveStamp").hide();
  86. }else{
  87. jQuery("#btnAdd").show();
  88. //jQuery("#btnSaveStamp").show();
  89. }
  90. if(jQuery("#p_promise_gb").val()=="00"||jQuery("#p_promise_gb").val()==""||jQuery("#STATUS_CD").val() == '50'){
  91. jQuery("#btnPromiseAdd").hide();
  92. //jQuery("#btnSavePromise").hide();
  93. }else{
  94. jQuery("#btnPromiseAdd").show();
  95. //jQuery("#btnSavePromise").show();
  96. }
  97. }
  98. jQuery("#btnAdd").click(function() {
  99. var rowIdx = sheet2.DataInsert(-1);
  100. if(jQuery("#p_issue_gb").val()=="10"){
  101. sheet2.SetCellValue(rowIdx, "STAMP_DUTY_ISSUE_GB", "10");
  102. }else{
  103. sheet2.SetCellValue(rowIdx, "STAMP_DUTY_ISSUE_GB", "20");
  104. }
  105. });
  106. jQuery("#btnPromiseAdd").click(function() {
  107. var rowIdx = sheet3.DataInsert(-1);
  108. if(jQuery("#p_promise_gb").val()=="10"){
  109. sheet3.SetCellValue(rowIdx, "PROMISE_DOC_TYPE_GB", "10");
  110. }else{
  111. sheet3.SetCellValue(rowIdx, "PROMISE_DOC_TYPE_GB", "20");
  112. }
  113. });
  114. jQuery("#btnSaveStamp").click(function() {
  115. if(jQuery('#p_issue_gb').val() == '00' && sheet2.GetTotalRows() != 0 ){
  116. for(i=1; i <= sheet2.RowCount(); i++){
  117. if(sheet2.GetCellValue(i, "STATUS")!="D"){
  118. alert("인지세 발급 구분을 미발행으로 등록하려면\n인지세가 등록되어있거나 등록해서는 안됩니다.\n인지세를 삭제하여 주십시오.");
  119. return;
  120. }
  121. }
  122. }
  123. if (confirm("저장하시겠습니까?")) {
  124. var f = document.form1;
  125. jQuery("#fevent").val("STAMP_DUTY_GB_SAVE");
  126. submitXmlRequest("/cont/purchase/ContDetail_form.screen", "STAMP_DUTY_GB_SAVE", f);
  127. }
  128. });
  129. jQuery("#btnSavePromise").click(function() {
  130. if(jQuery('#p_promise_gb').val() == '00' && sheet3.GetTotalRows() != 0 ){
  131. for(i=1; i <= sheet3.RowCount(); i++){
  132. if(sheet3.GetCellValue(i, "STATUS")!="D"){
  133. alert("서약서를 미발행으로 등록하려면\n서약서가 등록되어있거나 등록해서는 안됩니다.\n서약서를 삭제하여 주십시오.");
  134. return;
  135. }
  136. }
  137. }
  138. if (confirm("저장하시겠습니까?")) {
  139. doSavePromise();
  140. }
  141. });
  142. /**
  143. * Application Initialize
  144. */
  145. jQuery("#ELEC_CON_YN1").click(function() {
  146. jQuery("#ELEC_CON_YN1").attr("checked",true);
  147. jQuery("#ELEC_CON_YN2").attr("checked",false);
  148. });
  149. jQuery("#ELEC_CON_YN2").click(function() {
  150. jQuery("#ELEC_CON_YN1").attr("checked",false);
  151. jQuery("#ELEC_CON_YN2").attr("checked",true);
  152. });
  153. jQuery("#btnSave").click(function() {
  154. if(jQuery('#p_issue_gb').val() == '00' && sheet2.GetTotalRows() != 0 ){
  155. for(i=1; i <= sheet2.RowCount(); i++){
  156. if(sheet2.GetCellValue(i, "STATUS")!="D"){
  157. alert("인지세 발급 구분을 미발행으로 등록하려면\n인지세가 등록되어있거나 등록해서는 안됩니다.\n인지세를 삭제하여 주십시오.");
  158. return;
  159. }
  160. }
  161. }
  162. VatTextChange();
  163. if(!saveCheckValue()){
  164. return;
  165. }
  166. if (confirm("저장 하시겠습니까?")){
  167. var f = document.form1;
  168. submitXmlRequest("/cont/purchase/ContDetail_form.screen", "PARTNER_EMP_CHK", f, "VALUEOBJECT");
  169. document.form1.isSubmit = false;
  170. /* var f = document.form1;
  171. jQuery("#fevent").val("FORM_SAVE");
  172. submitXmlRequest("/cont/purchase/ContDetail_form.screen", "FORM_SAVE", f); */
  173. }
  174. });
  175. jQuery("#btnMove").click(function() {
  176. if (confirm("계약대상이동 하시겠습니까?")){
  177. var f = document.form1;
  178. jQuery("#fevent").val("FORM_MOVE");
  179. submitXmlRequest("/cont/purchase/ContDetail_form.screen", "FORM_MOVE", f);
  180. }
  181. });
  182. jQuery("#btnDeciSave").click(function() {
  183. if(jQuery('#p_issue_gb').val() == '00' && sheet2.GetTotalRows() != 0 ){
  184. for(i=1; i <= sheet2.RowCount(); i++){
  185. if(sheet2.GetCellValue(i, "STATUS")!="D"){
  186. alert("인지세 발급 구분을 미발행으로 결재를 진행하려면 하려면\n인지세가 등록되어있거나 등록해서는 안됩니다.\n인지세를 삭제하고 진행해 주십시오.");
  187. return;
  188. }
  189. }
  190. }
  191. var f = document.form1;
  192. if(!saveCheckValue()){
  193. return;
  194. }
  195. /* if(!stampDutyCheck()){
  196. return;
  197. } */
  198. stampMsg = '계약정보 저장 후 결재화면이 활성화 됩니다.\n\n결재요청 요청하시겠습니까?';
  199. if (confirm(stampMsg)){
  200. var f = document.form1;
  201. jQuery("#fevent").val("FORM_DECI_SAVE");
  202. submitXmlRequest("/cont/purchase/ContDetail_form.screen", "FORM_DECI_SAVE", f);
  203. }
  204. });
  205. //시행 결의
  206. jQuery("#btnResolve").click(function() {
  207. if(jQuery('#p_issue_gb').val() == '00' && sheet2.GetTotalRows() != 0 ){
  208. for(i=1; i <= sheet2.RowCount(); i++){
  209. if(sheet2.GetCellValue(i, "STATUS")!="D"){
  210. alert("인지세 발급 구분을 미발행으로 시행결의를 진행하려면 하려면\n인지세가 등록되어있거나 등록해서는 안됩니다.\n인지세를 삭제하고 진행해 주십시오.");
  211. return;
  212. }
  213. }
  214. }
  215. if(!saveCheckValue()){
  216. return;
  217. }
  218. /* if(!stampDutyCheck()){
  219. return;
  220. } */
  221. var stampMsg = '';
  222. stampMsg = '계약정보 저장 후 결재화면이 활성화 됩니다.\n\n결재요청 요청하시겠습니까?';
  223. if (confirm(stampMsg)){
  224. var f = document.form1;
  225. jQuery("#fevent").val("FORM_RESOLVE_SAVE");
  226. submitXmlRequest("/cont/purchase/ContDetail_form.screen", "FORM_RESOLVE_SAVE", f);
  227. }
  228. });
  229. jQuery("#btnSavePayItem").click(function() {
  230. //분개유형 DEFAULT(-선택-)일 경우 팝업 출력(2020.12.28)
  231. if(jQuery("#acct_gb").val() == "0"){
  232. alert("분개유형을 선택해 주시기 바랍니다.");
  233. return;
  234. }else if(confirm("분개유형을 저장 하시겠습니까?")){
  235. var f = document.form1;
  236. jQuery("#fevent").val("SAVE_PAYITEM");
  237. submitXmlRequest("/cont/purchase/ContResult_form.screen", "SAVE_PAYITEM", f);
  238. }
  239. });
  240. jQuery("#btnPaySave").click(function() {
  241. //대금 계획 체크2016.4.26 원계약일때만 계획체크 . (payplan.jsp에 포함된 버튼이므로 클릭할일 없음.)
  242. if(!paySaveChk()){
  243. return;
  244. }
  245. if (confirm("대금계획을 저장 하시겠습니까?")){
  246. payPlanSave(); //대금 계획 저장
  247. }
  248. });
  249. jQuery("#btnSignCall").click(function() {
  250. if(jQuery("#ELEC_CON_YN2").attr("checked") == "checked"){
  251. alert("오프라인 계약이라서 서명 요청을 할 수 없습니다.");
  252. return;
  253. }else{
  254. /* if(!stampDutyRowCheck()){
  255. return;
  256. }
  257. if(!stampDutyCheck()){
  258. return;
  259. } */
  260. if (confirm("업체 서명 요청 하시겠습니까?")){
  261. var f = document.form1;
  262. jQuery("#fevent").val("SIGN_CALL");
  263. submitXmlRequest("/cont/purchase/ContDetail_form.screen", "SIGN_CALL", f);
  264. }
  265. }
  266. });
  267. jQuery("#btnReSignCall").click(function() {
  268. if (confirm("서명을 취소하게 되면 업체에서 다시 서명을 진행 해야 합니다.\n\n서명을 취소 하시겠습니까?")){
  269. var f = document.form1;
  270. jQuery("#fevent").val("SIGN_CALL");
  271. submitXmlRequest("/cont/purchase/ContDetail_form.screen", "SIGN_CALL", f);
  272. }
  273. });
  274. jQuery("#btnSignOk").click(function() {
  275. var stampMsg = '서명 하시겠습니까?';
  276. if(jQuery('#p_issue_gb').val() == '00' && sheet2.GetTotalRows() != 0 ){
  277. alert("인지세 발급 구분이 미발행일시 등록 된 인지세가 없어야 합니다. 삭제하여 주십시오.");
  278. return;
  279. }else{
  280. if(!stampDutyRowCheck()){
  281. return;
  282. }
  283. if(!stampDutyCheck()){
  284. return;
  285. }
  286. if(!promiseRowCheck()){
  287. return;
  288. }
  289. if(!promiseCheck()){
  290. return;
  291. }
  292. var chgCont = jQuery("#ChgCont").val();
  293. if(chgCont != "Y"){
  294. if(jQuery('#p_issue_gb').val() != '00' && sheet2.GetTotalRows() == 0 ){
  295. alert("등록 된 인지세가 없습니다.");
  296. return;
  297. }else if(jQuery('#p_issue_gb').val() != '00' && sheet2.GetTotalRows() != 0 ){
  298. var ordAmt = parseFloat_isNaN(jQuery('#ord_amt').val().replace(/,/gi,""));
  299. var stampDutyTax = sheet2.GetCellValue(sheet2.LastRow(), "STAMP_DUTY_TAX");
  300. if( ordAmt <= 10000000 ){
  301. if( stampDutyTax != 0 ) {
  302. stampMsg = '계약금액에 따른 인지세가 틀립니다.\n\n1천만원 이하 : 0원\n\n서명 하시겠습니까?';
  303. }
  304. }else if( ordAmt > 10000000 && ordAmt <= 30000000 ) {
  305. if( stampDutyTax != 20000 ) {
  306. stampMsg = '계약금액에 따른 인지세가 틀립니다.\n\n1천만원 초과 ~ 3천만원이하 : 2만원\n\n서명 하시겠습니까?';
  307. }
  308. }else if( ordAmt > 30000000 && ordAmt <= 50000000 ) {
  309. if( stampDutyTax != 40000 ) {
  310. stampMsg = '계약금액에 따른 인지세가 틀립니다.\n\n3천만원 초과 ~ 5천만원이하 : 4만원\n\n서명 하시겠습니까?';
  311. }
  312. }else if( ordAmt > 50000000 && ordAmt <= 100000000 ) {
  313. if( stampDutyTax != 70000 ) {
  314. stampMsg = '계약금액에 따른 인지세가 틀립니다.\n\n5천만원 초과 ~ 1억원이하 : 7만원\n\n서명 하시겠습니까?';
  315. }
  316. }else if( ordAmt > 100000000 && ordAmt <= 1000000000 ) {
  317. if( stampDutyTax != 150000 ) {
  318. stampMsg = '계약금액에 따른 인지세가 틀립니다.\n\n1억원 초과 ~ 10억원이하 : 15만원\n\n서명 하시겠습니까?';
  319. }
  320. }else if( ordAmt > 1000000000 ) {
  321. if( stampDutyTax != 350000 ) {
  322. stampMsg = '계약금액에 따른 인지세가 틀립니다.\n\n10억원 초과 : 35만원\n\n서명 하시겠습니까?';
  323. }
  324. }
  325. }
  326. }else{
  327. //if ( jQuery('#DIV_PO_YN').val() != 'Y') {//2016.7.21 단가계약 변경
  328. if ( jQuery('#TEMPLATE_CD').val() != '13') {//2018.05.28 단가계약 아닌데 발주의뢰 변경하는 경우
  329. var befOrdAmt = parseFloat_isNaN(jQuery("#o_ord_amt").val().replace(/,/gi,""));
  330. var ordAmt = parseFloat_isNaN(jQuery('#ord_amt').val().replace(/,/gi,""));
  331. var stampDutyTax = sheet2.GetCellValue(sheet2.LastRow(), "STAMP_DUTY_TAX");
  332. var befDutyTax = 0 ;
  333. var dutyTax = 0;
  334. var remainTax = 0;
  335. if( befOrdAmt <= 10000000 ){
  336. befDutyTax = 0;
  337. }else if( befOrdAmt > 10000000 && befOrdAmt <= 30000000 ) {
  338. befDutyTax = 20000;
  339. }else if( befOrdAmt > 30000000 && befOrdAmt <= 50000000 ) {
  340. befDutyTax = 40000;
  341. }else if( befOrdAmt > 50000000 && befOrdAmt <= 100000000 ) {
  342. befDutyTax = 70000;
  343. }else if( befOrdAmt > 100000000 && befOrdAmt <= 1000000000 ) {
  344. befDutyTax = 150000;
  345. }else if( befOrdAmt > 1000000000 ) {
  346. befDutyTax = 350000;
  347. }
  348. if( ordAmt <= 10000000 ){
  349. dutyTax = 0;
  350. }else if( ordAmt > 10000000 && ordAmt <= 30000000 ) {
  351. dutyTax = 20000;
  352. }else if( ordAmt > 30000000 && ordAmt <= 50000000 ) {
  353. dutyTax = 40000;
  354. }else if( ordAmt > 50000000 && ordAmt <= 100000000 ) {
  355. dutyTax = 70000;
  356. }else if( ordAmt > 100000000 && ordAmt <= 1000000000 ) {
  357. dutyTax = 150000;
  358. }else if( ordAmt > 1000000000 ) {
  359. dutyTax = 350000;
  360. }
  361. remainTax = dutyTax - befDutyTax;
  362. if(remainTax > 0){
  363. if( remainTax != stampDutyTax ){
  364. stampMsg = '변경계약금액에 따른 인지세가 틀립니다.\n\n'+num2han2(remainTax)+'원\n\n서명 하시겠습니까?';
  365. }
  366. }
  367. }
  368. }
  369. }
  370. if (confirm(stampMsg)){
  371. var f = document.form1;
  372. jQuery("#fevent").val("SIGN_OK");
  373. submitXmlRequest("/cont/purchase/ContDetail_form.screen", "SIGN_OK", f);
  374. }
  375. });
  376. jQuery("#btnComplete").click(function() {
  377. var stampMsg = '계약을 완료 하시겠습니까?';
  378. if(jQuery('#p_issue_gb').val() == '00' && sheet2.GetTotalRows() != 0 ){
  379. alert("인지세 발급 구분이 미발행일시 등록 된 인지세가 없어야 합니다. 삭제하여 주십시오.");
  380. return;
  381. }else{
  382. if(!stampDutyRowCheck()){
  383. return;
  384. }
  385. if(!stampDutyCheck()){
  386. return;
  387. }
  388. if(!promiseRowCheck()){
  389. return;
  390. }
  391. if(!promiseCheck()){
  392. return;
  393. }
  394. var chgCont = jQuery("#ChgCont").val();
  395. if(chgCont != "Y"){
  396. if(jQuery('#p_issue_gb').val() != '00' && sheet2.GetTotalRows() == 0 ){
  397. alert("등록 된 인지세가 없습니다.");
  398. return;
  399. }else if(jQuery('#p_issue_gb').val() != '00' && sheet2.GetTotalRows() != 0 ){
  400. var ordAmt = parseFloat_isNaN(jQuery('#ord_amt').val().replace(/,/gi,""));
  401. var stampDutyTax = sheet2.GetCellValue(sheet2.LastRow(), "STAMP_DUTY_TAX");
  402. if( ordAmt <= 10000000 ){
  403. if( stampDutyTax != 0 ) {
  404. stampMsg = '계약금액에 따른 인지세가 틀립니다.\n\n1천만원 이하 : 0원\n\n계약을 완료 하시겠습니까?';
  405. }
  406. }else if( ordAmt > 10000000 && ordAmt <= 30000000 ) {
  407. if( stampDutyTax != 20000 ) {
  408. stampMsg = '계약금액에 따른 인지세가 틀립니다.\n\n1천만원 초과 ~ 3천만원이하 : 2만원\n\n계약을 완료 하시겠습니까?';
  409. }
  410. }else if( ordAmt > 30000000 && ordAmt <= 50000000 ) {
  411. if( stampDutyTax != 40000 ) {
  412. stampMsg = '계약금액에 따른 인지세가 틀립니다.\n\n3천만원 초과 ~ 5천만원이하 : 4만원\n\n계약을 완료 하시겠습니까?';
  413. }
  414. }else if( ordAmt > 50000000 && ordAmt <= 100000000 ) {
  415. if( stampDutyTax != 70000 ) {
  416. stampMsg = '계약금액에 따른 인지세가 틀립니다.\n\n5천만원 초과 ~ 1억원이하 : 7만원\n\n계약을 완료 하시겠습니까?';
  417. }
  418. }else if( ordAmt > 100000000 && ordAmt <= 1000000000 ) {
  419. if( stampDutyTax != 150000 ) {
  420. stampMsg = '계약금액에 따른 인지세가 틀립니다.\n\n1억원 초과 ~ 10억원이하 : 15만원\n\n계약을 완료 하시겠습니까?';
  421. }
  422. }else if( ordAmt > 1000000000 ) {
  423. if( stampDutyTax != 350000 ) {
  424. stampMsg = '계약금액에 따른 인지세가 틀립니다.\n\n10억원 초과 : 35만원\n\n계약을 완료 하시겠습니까?';
  425. }
  426. }
  427. }
  428. }else{
  429. //if ( jQuery('#DIV_PO_YN').val() != 'Y') {//2016.7.21 단가계약 변경
  430. if ( jQuery('#TEMPLATE_CD').val() != '13') {//2018.05.28 단가계약 아닌데 발주의뢰 변경하는 경우
  431. var befOrdAmt = parseFloat_isNaN(jQuery("#o_ord_amt").val().replace(/,/gi,""));
  432. var ordAmt = parseFloat_isNaN(jQuery('#ord_amt').val().replace(/,/gi,""));
  433. var stampDutyTax = sheet2.GetCellValue(sheet2.LastRow(), "STAMP_DUTY_TAX");
  434. var befDutyTax = 0 ;
  435. var dutyTax = 0;
  436. var remainTax = 0;
  437. if( befOrdAmt <= 10000000 ){
  438. befDutyTax = 0;
  439. }else if( befOrdAmt > 10000000 && befOrdAmt <= 30000000 ) {
  440. befDutyTax = 20000;
  441. }else if( befOrdAmt > 30000000 && befOrdAmt <= 50000000 ) {
  442. befDutyTax = 40000;
  443. }else if( befOrdAmt > 50000000 && befOrdAmt <= 100000000 ) {
  444. befDutyTax = 70000;
  445. }else if( befOrdAmt > 100000000 && befOrdAmt <= 1000000000 ) {
  446. befDutyTax = 150000;
  447. }else if( befOrdAmt > 1000000000 ) {
  448. befDutyTax = 350000;
  449. }
  450. if( ordAmt <= 10000000 ){
  451. dutyTax = 0;
  452. }else if( ordAmt > 10000000 && ordAmt <= 30000000 ) {
  453. dutyTax = 20000;
  454. }else if( ordAmt > 30000000 && ordAmt <= 50000000 ) {
  455. dutyTax = 40000;
  456. }else if( ordAmt > 50000000 && ordAmt <= 100000000 ) {
  457. dutyTax = 70000;
  458. }else if( ordAmt > 100000000 && ordAmt <= 1000000000 ) {
  459. dutyTax = 150000;
  460. }else if( ordAmt > 1000000000 ) {
  461. dutyTax = 350000;
  462. }
  463. remainTax = dutyTax - befDutyTax;
  464. if(remainTax > 0){
  465. if( remainTax != stampDutyTax ){
  466. stampMsg = '변경계약금액에 따른 인지세가 틀립니다.\n\n'+num2han2(remainTax)+'원\n\n계약을 완료 하시겠습니까?';
  467. }
  468. }
  469. }
  470. }
  471. }
  472. if (confirm(stampMsg)){
  473. var f = document.form1;
  474. jQuery("#fevent").val("END_CONT");
  475. submitXmlRequest("/cont/purchase/ContDetail_form.screen", "END_CONT", f);
  476. }
  477. });
  478. jQuery("#btnReject").click(function() {
  479. if (confirm("보증 정보에 대해서 반려 요청 하시겠습니까?")){
  480. var win_id = "editcall_pop";
  481. var link = "/cont/purchase/RejectReasonPopup.screen";
  482. link += "?pop_win_id="+win_id+"&PUR_CONT_MOD_ID="+$("#PUR_CONT_MOD_ID").val();
  483. fLayerPop(win_id, link, 600,180, '','', 'NO');
  484. }
  485. });
  486. //변경계약일경우 내역 팝업
  487. jQuery("#btnChgItem").click(function() {
  488. var win_id = "chgItemPop";
  489. var editYN = "N";
  490. if(document.getElementById("STATUS_CD").value=="10"){editYN="Y";}
  491. var link = "/cont/purchase/chgItemPopup.screen";
  492. link += "?pop_win_id="+win_id+"&PUR_CONT_MOD_ID="+$("#PUR_CONT_MOD_ID").val()+"&PUR_CONT_ID="+$("#PUR_CONT_ID").val()+"&pDemID="+$("#pDemID").val()+"&editYN="+ editYN;
  493. fLayerPop(win_id, link, 950,500, '','', 'NO');
  494. });
  495. //계약 내역 팝업
  496. jQuery("#btnItem").click(function() {
  497. var win_id = "ItemPop";
  498. var editYN = "N";
  499. if(document.getElementById("STATUS_CD").value=="10"){editYN="Y";}
  500. var link = "/cont/purchase/ItemPopup.screen";
  501. link += "?pop_win_id="+win_id+"&PUR_CONT_MOD_ID="+$("#PUR_CONT_MOD_ID").val()+"&PUR_CONT_ID="+$("#PUR_CONT_ID").val()+"&TEMPLATE_CD="+$("#TEMPLATE_CD").val()+"&DIV_PO_YN="+$("#DIV_PO_YN").val()+"&digit="+$("#sosuNum").val()+"&curr_std_nm="+encodeURI(encodeURIComponent($("#CURR_STD_NM").val()),"UTF-8")+"&editYN="+ editYN;
  502. fLayerPop(win_id, link, 950,500, '','', 'NO');
  503. });
  504. //변경계약 삭제
  505. jQuery("#btnDel").click(function() {
  506. if (confirm("변경계약을 삭제 하시겠습니까?")){
  507. var f = document.form1;
  508. jQuery("#fevent").val("FORM_DEL");
  509. submitXmlRequest("/cont/purchase/ContDetail_form.screen", "FORM_DEL", f);
  510. }
  511. });
  512. }
  513. function stampDutyCheck(){
  514. for(i=1; i <= sheet2.RowCount(); i++){
  515. if(sheet2.GetCellValue(i, "STATUS")!="D"){
  516. if(sheet2.GetCellValue(i, "STAMP_DUTY_NO")==""){
  517. alert("인지세 "+i+"행의 고유식별번호가 없습니다.");
  518. return false;
  519. }
  520. if(sheet2.GetCellValue(i, "STAMP_DUTY_TAX")=="" || sheet2.GetCellValue(i, "STAMP_DUTY_TAX")<=0){
  521. alert("인지세 "+i+"행의 인지세가 없거나 인지세가 0보다 작거나 같습니다.\n인지세는 0보다 커야합니다.");
  522. return false;
  523. }
  524. if(sheet2.GetCellValue(i, "STAMP_DUTY_DATE")==""){
  525. alert("인지세 "+i+"행의 발행일자가 없습니다.");
  526. return false;
  527. }
  528. if(sheet2.GetCellValue(i, "FILE_ID")==""){
  529. alert("인지세 "+i+"행의 인지세사본이 없습니다.");
  530. return false;
  531. }
  532. }
  533. }
  534. return true;
  535. }
  536. function promiseCheck(){
  537. for(i=1; i <= sheet3.RowCount(); i++){
  538. if(sheet3.GetCellValue(i, "STATUS")!="D"){
  539. if(sheet3.GetCellValue(i, "FILE_ID")==""){
  540. alert("서약서 "+i+"행의 서약서 사본이 없습니다.");
  541. return false;
  542. }
  543. }
  544. }
  545. return true;
  546. }
  547. //일반 결재
  548. function doDeci(){
  549. document.form1.isSubmit = false;
  550. var f = document.form1;
  551. var sign_cont_mod_id = $("#PUR_CONT_MOD_ID").val();
  552. dlgSignDeciForm('ebid_ppcD', '/cont/purchase/ContDeciSign.screen?sign_cont_mod_id='+sign_cont_mod_id+'^acct_id='+"<%=user.get("ACCT_ID")%>");
  553. }
  554. //시행결의 결재 2016.03.09 계약대상에서 시행결의 완료. 구매계약.
  555. function doResolve(){
  556. document.form1.isSubmit = false;
  557. var f = document.form1;
  558. var sign_cont_mod_id = $("#PUR_CONT_MOD_ID").val();
  559. <%-- dlgSignForm('ebid_pcpoD', '/cont/purchase/contSign.screen?sign_cont_mod_id='+sign_cont_mod_id+'^acct_id='+"<%=user.get("ACCT_ID")%>"); --%>
  560. dlgSignDeciForm('ebid_ppcD', '/cont/purchase/ContDeciSign.screen?sign_cont_mod_id='+sign_cont_mod_id+'^acct_id='+"<%=user.get("ACCT_ID")%>");
  561. }
  562. //저장후 결재 체크를 해야 되기 때문에 저장전 앞단 처리를 함수로 만듬
  563. function saveCheckValue(){
  564. if(ck()){
  565. alert("[전자 계약 여부]는 필수 입니다.");
  566. return false;
  567. }
  568. if(!valCheck()){
  569. return false;
  570. }
  571. if(!chkContHtml()){
  572. return false;
  573. }
  574. //변경계약일경우 체크
  575. if(!jQuery("#pDemID").val()==""){
  576. var chg_ord_spply_amt = form1.ord_supply_amt.value.replaceAll(",","")-0;
  577. var item_amt_sum = Number(form1.ITEM_AMT_SUM.value);
  578. item_amt_sum = item_amt_sum.toFixed(Number(form1.sosuNum.value)); //2018.10.31 내역과 계약갑지 소수점 처리
  579. if(parseFloat_isNaN(item_amt_sum) != parseFloat_isNaN(chg_ord_spply_amt)){
  580. alert("변경 내역의 총 합과 변경 계약 금액과 다릅니다.\n\n변경내역 팝업을 띄워서 총 합을 확인해 주시기 바랍니다.");
  581. form1.ord_supply_amt.focus;
  582. return false;;
  583. }
  584. }
  585. //분개유형 DEFAULT(-선택-)일 경우 팝업 출력(2020.12.28)
  586. if(jQuery("#acct_gb").val() == "0"){
  587. alert("분개유형을 선택해 주시기 바랍니다.");
  588. return;
  589. }
  590. <%if((params.get("TEMPLATE_CD").equals("4")) || (params.get("TEMPLATE_CD").equals("9")) || (params.get("TEMPLATE_CD").equals("13"))){%>
  591. //영세 세금계산서일 경우 부가세에 금액이 있다면 팝업 출력(변경예정)
  592. if(jQuery("#gua_gb").val() == "23"){
  593. if(form1.ord_surtax_amt.value != "0"){
  594. if(!confirm("영세(세금계산서)이나 부가세가 등록되어 있습니다.\n\n그래도 진행하시겠습니까?")){
  595. form1.ord_surtax_amt.focus;
  596. return;
  597. }
  598. }
  599. }
  600. <%}%>
  601. <%if((!params.get("TEMPLATE_CD").equals("6"))&& (!params.get("TEMPLATE_CD").equals("10"))){
  602. if(params.get("TEMPLATE_CD").equals("3")){%>
  603. if(form1.con_guar_amt_rate.value== "" && form1.amtRate1.checked==true){ //2021.07.29
  604. alert("계약이행 보증율을 입력해 주세요.");
  605. form1.con_guar_amt_rate.focus;
  606. return;
  607. }
  608. if(form1.def_guar_amt_rate.value== "" && form1.amtRate2.checked==true ){
  609. alert("하자이행 보증율을 입력해 주세요.");
  610. form1.def_guar_amt_rate.focus;
  611. return;
  612. }
  613. <%}else{%>
  614. if(form1.con_guar_amt_rate.value== "" ){
  615. alert("계약이행 보증율을 입력해 주세요.");
  616. form1.con_guar_amt_rate.focus;
  617. return;
  618. }
  619. if(form1.def_guar_amt_rate.value== "" ){
  620. alert("하자이행 보증율을 입력해 주세요.");
  621. form1.def_guar_amt_rate.focus;
  622. return;
  623. }
  624. <%}%>
  625. //공급가 기준(KRW : 10,000,000이상, USD : 10,000이상일 경우 계약이행,하자보수 보증증권 시행) 2021.02.02 최훈석
  626. if(form1.con_guar_amt_rate.value == "0" || form1.def_guar_amt_rate.value == "0"){
  627. var guar_nm = "";
  628. if(form1.con_guar_amt_rate.value == "0" && form1.def_guar_amt_rate.value == "0"){
  629. guar_nm = "(계약, 하자)";
  630. }else if(form1.con_guar_amt_rate.value == "0"){
  631. guar_nm = "(계약)";
  632. }else if(form1.def_guar_amt_rate.value == "0"){
  633. guar_nm = "(하자)";
  634. }
  635. if(jQuery("#CURRENCY_GB").val() == "KRW"){
  636. if(form1.ord_supply_amt.value.replaceAll(",","") >= 10000000){
  637. if(!confirm("계약금 1,000만원 이상이나 보증율"+guar_nm+"이\n등록되지 않았습니다.\n\n그래도 진행하시겠습니까? ")){
  638. return;
  639. }
  640. }
  641. }else if(jQuery("#CURRENCY_GB").val() == "USD"){
  642. if(form1.ord_supply_amt.value.replaceAll(",","") >= 10000){
  643. if(!confirm("계약금 10,000달러 이상이나 보증율"+guar_nm+"이\n등록되지 않았습니다.\n\n그래도 진행하시겠습니까?")){
  644. return;
  645. }
  646. }
  647. }
  648. }
  649. <%}%>
  650. //대금 계획 체크2016.4.26 원계약일때만 계획체크
  651. <%if(ContInfo.get("PAY_DIV").equals("2") && ContInfo.getInt("MOD_NO") <= 0){%> //PAY_DIV 가 2인 설치일때만 대금계획을 저장한다.
  652. if(!paySaveChk()){
  653. return false;
  654. }
  655. <%}%>
  656. return true;
  657. }
  658. function ck(){
  659. if($("#ELEC_CON_YN1").attr("checked") == "checked"){
  660. return false;
  661. }
  662. if($("#ELEC_CON_YN2").attr("checked") == "checked"){
  663. return false;
  664. }
  665. return true;
  666. }
  667. //저장시 데이터 체크
  668. function valCheck(){
  669. if(jQuery("#mod_gb").val() == ""){
  670. alert("변경내역을 선택해 주세요");
  671. return false;
  672. }
  673. //변경계약일경우 체크 프로세스 태운다. 2014-11-14 김명호 추가
  674. if(jQuery("#mod_gb").val() != "00"){
  675. if(!changeValCheck()){
  676. return;
  677. }
  678. }
  679. if(!checkTelno(jQuery("#O_TEL_NUM").val())) {
  680. alert("전화번호가 올바르지 않은 형식입니다");
  681. jQuery("#O_TEL_NUM").focus();
  682. return false;
  683. }
  684. if(!checkTelno(jQuery("#O_HP").val())) {
  685. alert("휴대폰번호가 올바르지 않은 형식입니다");
  686. jQuery("#O_HP").focus();
  687. return false;
  688. }
  689. if(!checkTelno(jQuery("#C_TEL_NUM").val())) {
  690. alert("전화번호가 올바르지 않은 형식입니다");
  691. jQuery("#C_TEL_NUM").focus();
  692. return false;
  693. }
  694. if(!checkTelno(jQuery("#C_HP").val())) {
  695. alert("휴대폰번호가 올바르지 않은 형식입니다");
  696. jQuery("#C_HP").focus();
  697. return false;
  698. }
  699. if(!checkEmail(jQuery("#O_EMAIL").val())){
  700. alert("이메일 형식이 올바르지 않습니다.");
  701. jQuery("#O_EMAIL").focus();
  702. return false;
  703. }
  704. if(!checkEmail(jQuery("#C_EMAIL").val())){
  705. alert("이메일 형식이 올바르지 않습니다.");
  706. jQuery("#C_EMAIL").focus();
  707. return false;
  708. }
  709. /* for(i=1; i <= sheet2.RowCount(); i++){
  710. if(sheet2.GetCellValue(i, "STATUS")!="D"){
  711. if(sheet2.GetCellValue(i, "STAMP_DUTY_NO")==""){
  712. alert(i+"행의 고유식별번호가 없습니다.");
  713. return false;
  714. }
  715. if(sheet2.GetCellValue(i, "STAMP_DUTY_TAX")=="" || sheet2.GetCellValue(i, "STAMP_DUTY_TAX")<=0){
  716. alert(i+"행의 인지세가 없거나 인지세가 0보다 작거나 같습니다.\n인지세는 0보다 커야합니다.");
  717. return false;
  718. }
  719. if(sheet2.GetCellValue(i, "STAMP_DUTY_DATE")==""){
  720. alert(i+"행의 발행일자가 없습니다.");
  721. return false;
  722. }
  723. if(jQuery("#STATUS_CD").val() == '40'){
  724. if(sheet2.GetCellValue(i, "FILE_ID")==""){
  725. alert(i+"행의 인지세사본이 없습니다.");
  726. return false;
  727. }
  728. }
  729. }
  730. } */
  731. //변경계약일경우 체크 - 처음은 변경 내역만 비교 했지만 나중(2014-11-24 상품 내역도 수정이 추가 되어 합계 비료를 하게 되었음.)
  732. //if(!jQuery("#pDemID").val()==""){
  733. var chg_ord_spply_amt = Number(form1.ord_supply_amt.value.replace(/,/gi,"")*1);
  734. var item_amt_sum = Number(form1.ITEM_AMT_SUM.value.replace(/,/gi,"")*1);
  735. item_amt_sum = item_amt_sum.toFixed(Number(form1.sosuNum.value)); //2018.10.31 내역과 계약갑지 소수점 처리
  736. //var chg_ord_spply_amt = form1.ord_supply_amt.value.replaceAll(",","");
  737. //alert(form1.ITEM_AMT_SUM.value + "/" + chg_ord_spply_amt);
  738. if(item_amt_sum != chg_ord_spply_amt){
  739. alert("상품 내역의 총 합과 계약 금액과 다릅니다.\n\n내역 팝업을 띄워서 총 합을 확인해 주시기 바랍니다.");
  740. form1.ord_supply_amt.focus;
  741. return;
  742. }
  743. // }
  744. return true;
  745. }
  746. //자동로그인 기능
  747. function f_gologin(login_id,login_pw){
  748. var f = document.form1;
  749. if('<%= user.get("ACCT_TYPE_CODE")%>' != "ADMIN"){
  750. dlgAlert("User who logged in as administrator only can do automatic log-in.");
  751. return;
  752. }
  753. f.login_id.value = login_id;
  754. f.login_pw.value = login_pw;
  755. if( !submitXmlRequest("/sign_on_check", "", document.form1) ) {
  756. alert("Log-in is being processed.");
  757. };
  758. }
  759. function goListProc(){
  760. var f = document.form1;
  761. f.fevent.value ="";
  762. f.action = "/cont/purchase/ContIngList.screen";
  763. f.target = "_self";
  764. f.submit();
  765. }
  766. function doResult(resultObj) {
  767. try {
  768. if( resultObj.getRequestEvent() == "PARTNER_EMP_CHK") {
  769. if( resultObj.getSuccess() ) {
  770. var vo = resultObj.getValueObject();
  771. var cnt = vo.get("EMP_CHK_CNT");
  772. if(cnt > 0){
  773. var f = document.form1;
  774. jQuery("#fevent").val("FORM_SAVE");
  775. submitXmlRequest("/cont/purchase/ContDetail_form.screen", "FORM_SAVE", f);
  776. }else{
  777. if(confirm("등록된 업체담당자 정보와 일치하지 않습니다. 계속진행하시겠습니까?")){
  778. var f = document.form1;
  779. jQuery("#fevent").val("FORM_SAVE");
  780. submitXmlRequest("/cont/purchase/ContDetail_form.screen", "FORM_SAVE", f);
  781. }else{
  782. return;
  783. }
  784. }
  785. }else {
  786. dlgErrorMsg(resultObj);
  787. }
  788. document.form1.isSubmit = false;
  789. }
  790. if( resultObj.getRequestEvent() == "FORM_SAVE") {
  791. if( resultObj.getSuccess() ) {
  792. jQuery("#save_gb").val("Y");
  793. doSaveStamp();
  794. doSavePromise();
  795. //2016.4.27 변경계약일때 제외
  796. <%if(ContInfo.get("PAY_DIV").equals("2") && ContInfo.get("MOD_NO").equals("0")){%> //PAY_DIV 가 2인 설치일때만 대금계획을 저장한다.
  797. payPlanSave(); //대금 계획 저장
  798. <%}else{%>
  799. alert("저장 되었습니다.");
  800. window.location.reload();
  801. <%}%>
  802. }
  803. else {
  804. dlgErrorMsg(resultObj);
  805. }
  806. }
  807. if( resultObj.getRequestEvent() == "STAMP_DUTY_GB_SAVE") {
  808. if( resultObj.getSuccess() ) {
  809. doSaveStamp();
  810. } else {
  811. dlgErrorMsg(resultObj);
  812. }
  813. }
  814. if( resultObj.getRequestEvent() == "SIGN_CALL") {
  815. if( resultObj.getSuccess() ) {
  816. alert("서명 요청이 정상적으로 처리 되었습니다.")
  817. window.location.reload();
  818. } else {
  819. dlgErrorMsg(resultObj);
  820. }
  821. }
  822. if( resultObj.getRequestEvent() == "SIGN_OK") {
  823. if( resultObj.getSuccess() ) {
  824. //2016.9.6 변경계약 메세지 추가
  825. <%if ( ContInfo.getInt("MOD_NO") > 0 ){%>
  826. alert("서명 정상적으로 처리 되었습니다.\n계약결과로 이동하여 대금계획을 수정해 주십시요.")
  827. //2018.2.6
  828. $("#fevent").val("FORM_SELECT");
  829. $("#form1").attr("action", "/cont/purchase/ContResult.screen");
  830. $("#form1").attr("target", "_self");
  831. $("#form1").attr("method", "get");
  832. $("#form1").submit();
  833. <%}
  834. else{%>
  835. alert("서명 정상적으로 처리 되었습니다.")
  836. window.location.href="/cont/purchase/ContResultList.screen";
  837. <%}%>
  838. } else {
  839. dlgErrorMsg(resultObj);
  840. }
  841. }
  842. if( resultObj.getRequestEvent() == "END_CONT") {
  843. if( resultObj.getSuccess() ) {
  844. //2016.9.6 변경계약 메세지 추가
  845. <%if ( ContInfo.getInt("MOD_NO") > 0 ){%>
  846. alert("정상적으로 처리 되었습니다.\n계약결과로 이동하여 대금계획을 수정해 주십시요.");
  847. //2016.12.28
  848. $("#fevent").val("FORM_SELECT");
  849. $("#form1").attr("action", "/cont/purchase/ContResult.screen");
  850. $("#form1").attr("target", "_self");
  851. $("#form1").attr("method", "get");
  852. $("#form1").submit();
  853. <%}
  854. else {%>
  855. alert("정상적으로 처리 되었습니다.");
  856. window.location.href="/cont/purchase/ContResultList.screen";
  857. <%}%>
  858. } else {
  859. dlgErrorMsg(resultObj);
  860. }
  861. }
  862. if( resultObj.getRequestEvent() == "SAVE_PAYITEM") {
  863. if( resultObj.getSuccess() ) {
  864. alert("정상적으로 처리 되었습니다.");
  865. window.location.reload();
  866. } else {
  867. dlgErrorMsg(resultObj);
  868. }
  869. }
  870. //계약서 삭제
  871. if( resultObj.getRequestEvent() == "FORM_DEL") {
  872. if( resultObj.getSuccess() ) {
  873. alert("정상적으로 삭제 처리 되었습니다.")
  874. goListProc();
  875. } else {
  876. dlgErrorMsg(resultObj);
  877. }
  878. }
  879. //결재전 저장
  880. if( resultObj.getRequestEvent() == "FORM_DECI_SAVE") {
  881. if( resultObj.getSuccess() ) {
  882. document.form1.isSubmit = false;
  883. jQuery("#save_gb").val("Y");
  884. doSaveStamp();
  885. doSavePromise();
  886. doDeci();
  887. } else {
  888. dlgErrorMsg(resultObj);
  889. }
  890. }
  891. //시행결의 결재전 저장
  892. if( resultObj.getRequestEvent() == "FORM_RESOLVE_SAVE") {
  893. if( resultObj.getSuccess() ) {
  894. document.form1.isSubmit = false;
  895. jQuery("#save_gb").val("Y");
  896. doSaveStamp();
  897. doSavePromise();
  898. doResolve();
  899. } else {
  900. dlgErrorMsg(resultObj);
  901. }
  902. }
  903. if( resultObj.getRequestEvent() == "FORM_MOVE") {
  904. if( resultObj.getSuccess() ) {
  905. alert("정상적으로 처리 되었습니다.")
  906. window.location.href="/cont/purchase/ContIngList.screen";
  907. } else {
  908. dlgErrorMsg(resultObj);
  909. }
  910. }
  911. document.form1.isSubmit = false;
  912. }
  913. catch(errorObject) {
  914. showErrorDlg("doResult()", errorObject);
  915. }
  916. }
  917. /*담당자 호출*/
  918. var pCallPop = "";
  919. function SearchUser(pGuBun,NAME,CODE){
  920. pCallPop = pGuBun;
  921. var win_id = "_searchUserPopup";
  922. var link = "/lib/dlgSearchUserPop.screen";
  923. link += "?pop_win_id="+win_id;
  924. if(pCallPop != "Sheet"&&pCallPop != "Sheet2"){
  925. link += "&deptNameYn=purchase";
  926. }
  927. link += "&NAME=" + NAME;
  928. link += "&CODE=" + CODE;
  929. fLayerPop(win_id, link, 700,400, '', '', 'NO');
  930. }
  931. /*담당자 호출 Return Value 처리*/
  932. function SearchUserClose(result){
  933. if(result.length > 0){
  934. if(pCallPop == "Sheet"){
  935. sheet1.SetCellValue(clickRow, "VP_CHK_EMPNO", result[9]); //밴더프린트 담당자 아이디
  936. sheet1.SetCellValue(clickRow, "VP_CHK_EMPNM", result[1]); //밴더프린트 담당자명
  937. }else if(pCallPop == "Sheet2"){
  938. sheet1.SetCellValue(clickRow, "PLAN_APPR_CHK_EMPNO", result[9]); //설계평가 담당자 아이디
  939. sheet1.SetCellValue(clickRow, "PLAN_APPR_CHK_EMPNM", result[1]); //설계평가 담당자명
  940. }else{
  941. $("#O_USER_NAME").val(result[1]);
  942. $("#O_DIVISION").val(result[3]);
  943. $("#O_POSITION").val(result[5]);
  944. $("#O_TEL_NUM").val(result[6]);
  945. $("#O_HP").val(result[7]);
  946. $("#O_EMAIL").val(result[8]);
  947. $("#O_ACCT_ID").val(result[9]);
  948. replaceInput(result[3],"req_dept_nm" ,__html);
  949. }
  950. }
  951. fLayerPopClose('_searchUserPopup');
  952. }
  953. /*계약서 pdf script start*/
  954. function chkContHtml(){
  955. var f = document.form1;
  956. var c = $("#PDF_FILE_CNT").val();
  957. if(validate(f)){
  958. splitHtml(f, 'cont_html', false, c);
  959. splitHtml(f, 'cont_html_rm', true, c);
  960. return true;
  961. }
  962. return false;
  963. }
  964. /*계약서 pdf script end*/
  965. //첨부파일
  966. function doAttachFileDiv(obj) {
  967. if(obj==''){
  968. alert("저장을 한 후 파일을 첨부할 수 있습니다.");
  969. }
  970. else if(obj != ''){
  971. var edtYN ="N";
  972. if((document.getElementById("STATUS_CD").value=="10") || (document.getElementById("STATUS_CD").value=="40") || (document.getElementById("STATUS_CD").value=="41")){edtYN="Y";}
  973. viewFileListNew('PUR_CONT_MOD_ID', obj.value, document.getElementById("attach_file_view"), edtYN, "cont/purchase/<%=ContInfo.get("PUR_CONT_MOD_ID")%>");
  974. }
  975. }
  976. /**
  977. * 첨부파일 예약 함수
  978. */
  979. function fileDown(file_id){
  980. var url="/common/file/FileDownloadServlet";
  981. url += "?file_id=" + file_id;
  982. window.open(url, "_fileDown", "toolbar=no, width=400, height=100, top=500, left=400, toolbar=no,directories=no,status=no,scrollbars=yes,resize=no,menubar=no,target=new")
  983. }
  984. function doAttachFilePop(obj, No, fObj, fileGB, fileDir) {
  985. var editFile = "";
  986. if(obj==''){
  987. alert("After you have saved, you can attach a file.");
  988. }
  989. else if(obj != ''){
  990. if(fObj.guarStatus.value != "02"){editFile="N";}else{editFile="Y";}
  991. viewFileListNew(fileGB, obj.value, fObj.p_AttachFileGuar1, editFile, fileDir, "contPurWarrPopup");
  992. }
  993. }
  994. //결재
  995. function dlgSignForm( sign_class_cd, uri ) {
  996. var f = document.form1;
  997. var sheet1 = document.all.sheet1;
  998. var url = "/contPurchaseSign/contSign_form.screen";
  999. url += "?sign_class_cd=" + sign_class_cd;
  1000. url += "&uri=" + uri;
  1001. url += "&sign_cont_mod_id=" + $("#PUR_CONT_MOD_ID").val();
  1002. url += "&acct_type=1";
  1003. window.open(url, "_blank","width=200,height=100,SCROLLBARS=no");
  1004. }
  1005. //계약서결재
  1006. function dlgSignDeciForm( sign_class_cd, uri ) {
  1007. var f = document.form1;
  1008. var sheet1 = document.all.sheet1;
  1009. var url = "/contPurchaseSign/contDeciSign_form.screen";
  1010. url += "?sign_class_cd=" + sign_class_cd;
  1011. url += "&uri=" + uri;
  1012. url += "&sign_cont_mod_id=" + $("#PUR_CONT_MOD_ID").val();
  1013. url += "&acct_type=1";
  1014. window.open(url, "_blank","width=200,height=100,SCROLLBARS=no");
  1015. window.location.reload();
  1016. }
  1017. //보증정보팝업 호출
  1018. function popContWarr(wG, wSeq, wCauseCd) {
  1019. var win_id = "contPurWarrPopup";
  1020. var param = "";
  1021. var param = "?purContModId=" + jQuery("#PUR_CONT_MOD_ID").val();
  1022. var param = param + "&warrGubun=" + wG;
  1023. var param = param + "&warrSeq=" + wSeq;
  1024. var param = param + "&causeCode=" + wCauseCd;
  1025. var param = param + "&wonWarr=" + jQuery("#WON_WARR").val();
  1026. var param = param + "&viewDiv=CONT";
  1027. var param = param + "&pop_win_id=" + win_id;
  1028. var param = param + "&sModule=EB";
  1029. var url = "/portal/guar/contPurWarrPopup.screen"+param;
  1030. fLayerPop(win_id, url, 560,350, '','', 'YES');
  1031. }
  1032. //보증정보팝업 종료후 액션
  1033. function popContWarrClose(returnValue){
  1034. if(returnValue == null)
  1035. fLayerPopClose('contPurWarrPopup');
  1036. if(returnValue[0] == 0){
  1037. fLayerPopClose('contPurWarrPopup');
  1038. location.reload();
  1039. }
  1040. }
  1041. function PDFmake(){
  1042. /*if (confirm("pdf 생성 하시겠습니까?")){
  1043. var f = document.form1;
  1044. jQuery("#fevent").val("FORM_PDF_SAVE");
  1045. submitXmlRequest("/cont/purchase/ContDetail_form.screen", "FORM_PDF_SAVE", f);
  1046. }*/
  1047. }
  1048. function erpCheckYn(){
  1049. alert("계약완료 후 변경 불가능합니다.");
  1050. }
  1051. //2017.07.14 구매 영세율일때 부가세별도 문구 삭제
  1052. function VatTextChange()
  1053. {
  1054. var f = document.form1;
  1055. if ("<%= params.get("TEMPLATE_CD")%>" == "3" ){ //template_cd 기자재공급계약서
  1056. if (f.input_vat.value == "INPUT_VAT" ) { //부가세
  1057. var amt1 = Number(form1.ord_supply_amt.value.replaceAll(",",""));
  1058. var amt_tax = Math.floor(amt1/10);
  1059. var ord_amt = Number(amt1) + Number(amt_tax);
  1060. replaceInput("-부가세별도","vat_gb" ,__html);
  1061. replaceInput(ord_amt + "","ord_amt" ,__html);
  1062. replaceInput(amt_tax + "","ord_surtax_amt" ,__html);
  1063. }else{
  1064. replaceInput(" ","vat_gb" ,__html);
  1065. replaceInput(form1.ord_supply_amt.value.replaceAll(",",""),"ord_amt" ,__html);
  1066. replaceInput("0","ord_surtax_amt" ,__html);
  1067. }
  1068. } else if ( "<%= params.get("TEMPLATE_CD")%>" == "6" ){ //template_cd 변경계약합의서 2018.03.22 수정
  1069. if (f.input_vat.value == "INPUT_VAT" ) { //부가세
  1070. var amt1 = Number(form1.ord_supply_amt.value.replaceAll(",",""));
  1071. var amt_tax = Math.floor(amt1/10);
  1072. var ord_amt = Number(amt1) + Number(amt_tax);
  1073. replaceInput(ord_amt + "","ord_amt" ,__html);
  1074. replaceInput(amt_tax + "","ord_surtax_amt" ,__html);
  1075. }else{
  1076. var ord_amt = Number(form1.ord_supply_amt.value.replaceAll(",","")) ;
  1077. replaceInput(ord_amt + "" ,"ord_amt" ,__html);
  1078. replaceInput("0","ord_surtax_amt" ,__html);
  1079. }
  1080. }
  1081. }
  1082. </SCRIPT>
  1083. <modular:search id="form1">
  1084. <modular:key id="fevent" />
  1085. </modular:search>
  1086. <form id="form1" name="form1" method="post" modular:type="search">
  1087. <INPUT type="hidden" name="fevent" id="fevent" value="<%= params.get("fevent") %>">
  1088. <INPUT type="hidden" name="save_gb" id="save_gb" value="">
  1089. <INPUT type="hidden" name="acct_id" value="<%= params.get("acct_id") %>">
  1090. <!-- 검색 조건 시작-->
  1091. <INPUT type="hidden" name="p_dept_cd" value="<%= params.get("p_dept_cd") %>">
  1092. <INPUT type="hidden" name="p_dept_nm" value="<%= params.get("p_dept_nm") %>">
  1093. <INPUT type="hidden" name="p_dealer_nm" value="<%= params.get("p_dealer_nm") %>">
  1094. <INPUT type="hidden" name="p_cont_status" value="<%= params.get("p_cont_status") %>">
  1095. <INPUT type="hidden" name="ContFromDt" value="<%= params.get("ContFromDt") %>">
  1096. <INPUT type="hidden" name="ContToDt" value="<%= params.get("ContToDt") %>">
  1097. <INPUT type="hidden" name="p_build_nm" value="<%= params.get("p_build_nm") %>">
  1098. <!-- 검색 조건 끝-->
  1099. <INPUT type="hidden" name="CONT_STATUS" value="<%=ContInfo.get("CONT_STATUS")%>">
  1100. <INPUT type="hidden" name="PUR_CONT_MOD_ID" value="<%=ContInfo.get("PUR_CONT_MOD_ID")%>">
  1101. <INPUT type="hidden" name="PUR_CONT_ID" value="<%=ContInfo.get("PUR_CONT_ID")%>">
  1102. <INPUT type="hidden" name="DEMANDED_ID" value="<%=ContInfo.get("DEMANDED_ID")%>">
  1103. <INPUT type="hidden" name="O_CORP_ID" value="<%=ContInfo.get("O_CORP_ID")%>">
  1104. <INPUT type="hidden" name="C_CORP_ID" value="<%=ContInfo.get("C_CORP_ID")%>">
  1105. <INPUT type="hidden" name="STATUS_CD" value="<%=ContInfo.get("STATUS_CD")%>">
  1106. <INPUT type="hidden" name="O_VENDCD" value="<%=ContInfo.get("O_VENDCD")%>">
  1107. <INPUT type="hidden" name="C_VENDCD" value="<%=ContInfo.get("C_VENDCD")%>">
  1108. <INPUT type="hidden" name="O_ACCT_ID" id="O_ACCT_ID" value="<%=ContInfo.get("CON_CHARGE_ID")%>">
  1109. <INPUT type='hidden' name="CURR_STD_NM" value="<%= ContInfo.get("CURR_STD_NM") %>">
  1110. <!-- 계약서PDF정보 START-->
  1111. <INPUT type="hidden" name="TEMPLATE_CD" value="<%=params.get("TEMPLATE_CD") %>">
  1112. <INPUT type="hidden" name="ORD_DOC_NO" value="<%=ContInfo.get("ORD_DOC_NO") %>">
  1113. <INPUT type="hidden" name="MOD_NO" value="<%=ContInfo.get("MOD_NO") %>">
  1114. <INPUT type="hidden" name="PDF_FILE_CNT" value="<%=template.size()%>">
  1115. <INPUT type="hidden" name="TRUE_RANDOM" value="<%=ContInfo.get("TRUE_RANDOM") %>">
  1116. <!-- 계약서PDF정보 END-->
  1117. <INPUT type="hidden" name="T_CON_GUAR_AMT_RATE" value="<%=ContInfo.get("CON_GUAR_AMT_RATE") %>">
  1118. <INPUT type="hidden" name="T_CON_GUAR_TERMS" value="납품기한에 30일을 더한 날까지">
  1119. <INPUT type="hidden" name="T_CON_GUAR_AMT" value="<%=ContInfo.get("CON_GUAR_AMT") %>">
  1120. <INPUT type="hidden" name="T_DEF_GUAR_AMT_RATE" value="<%=ContInfo.get("DEF_GUAR_AMT_RATE") %>">
  1121. <INPUT type="hidden" name="T_DEF_GUAR_AMT" value="<%=ContInfo.get("DEF_GUAR_AMT") %>">
  1122. <!--서명 데이터 정보 START-->
  1123. <INPUT type='hidden' name="CONT_HASH" value="<%=ContInfo.get("CONT_HASH") %>">
  1124. <INPUT type='hidden' name="CONT_SIGNDATA" value="">
  1125. <INPUT type='hidden' name="CONT_SIGNDN" value="">
  1126. <INPUT type='hidden' name="signeddata" value="">
  1127. <!-- 변경 내역때문에 아이템 총 합계금액 및 발주 의뢰 번호 -->
  1128. <INPUT type="hidden" name="ITEM_AMT_SUM" id="ITEM_AMT_SUM" value="<%=ContInfo.get("ITEM_AMT_SUM") %>">
  1129. <INPUT type="hidden" name="pDemID" value="<%=ContInfo.get("DEM_ID") %>">
  1130. <INPUT type="hidden" name="DIV_PO_YN" value="<%=ContInfo.get("DIV_PO_YN") %>">
  1131. <INPUT type="hidden" name="O_REG_NO" value="<%=ContInfo.get("O_REG_NO") %>">
  1132. <INPUT type="hidden" name="WON_WARR" value="<%=params.get("WON_WARR") %>">
  1133. <INPUT type="hidden" name="ChgCont" value="<%=params.get("ChgCont") %>">
  1134. <INPUT type="hidden" name="input_vat" value="<%=ContInfo.get("INPUT_VAT") %>">
  1135. <!-- 제목 및 버튼 -->
  1136. <table width="100%">
  1137. <colgroup>
  1138. <col width="500" />
  1139. <col width="*" />
  1140. </colgroup>
  1141. <tr>
  1142. <th>
  1143. <div align="left" id="title">
  1144. <ul>
  1145. <li>구매_계약 현황 상세 <font style="font-size:11px">(<%=ContInfo.get("STATUS_NM")%>)</font></li>
  1146. </ul>
  1147. </div>
  1148. </th>
  1149. <td align="right">
  1150. <%
  1151. if(ContInfo.get("STATUS_CD").equals("10")){
  1152. %>
  1153. <span class="btnSearch center" id="btnMove"><a href="javascript:void(0);">계약대상이동</a></span>
  1154. <%
  1155. if(ContInfo.get("MOD_NO").equals("0")){
  1156. %>
  1157. <span class="btnSearch center" id="btnSave"><a href="javascript:void(0);">저장</a></span>
  1158. <span class="btnSearch center" id="btnDeciSave"><a href="javascript:void(0);">결재</a></span>
  1159. <%
  1160. //당초에서 결재 모듈을 무조건 태우기 때문에 작성중에는 서명요청과 계약완료가 필요 없다.
  1161. //승인자만 보이게 처리
  1162. // if(storage.getUser().get("acct_id").equals(ContInfo.get("CON_CONFIRM_ID"))){
  1163. %>
  1164. <!-- span class="btnSearch center" id="btnSignCall"><a href="javascript:void(0);">업체 서명요청</a></span -->
  1165. <%
  1166. // if (ContInfo.get("ELEC_CON_YN").equals("N")) { //오프라인 전자 계약에 대해서만 처리
  1167. %>
  1168. <!-- span class="btnSearch center" id="btnComplete"><a href="javascript:void(0);">계약완료</a></span -->
  1169. <%
  1170. // }
  1171. // }
  1172. }else{ //변경계약일경우 상태값에 따라 버튼 변화
  1173. %>
  1174. <span class="btnSearch center" id="btnSave"><a href="javascript:void(0);">저장</a></span>
  1175. <span class="btnSearch center" id="btnResolve"><a href="javascript:void(0);">결재요청</a></span>
  1176. <span class="btnSearch center" id="btnDel"><a href="javascript:void(0);">변경계약서삭제</a></span>
  1177. <%
  1178. if(!ContInfo.get("DEM_ID").isEmpty()){
  1179. %>
  1180. <span class="btnSearch center" id="btnChgItem"><a href="javascript:void(0);">변경계약상품내역</a></span>
  1181. <%
  1182. }
  1183. }
  1184. }else if(ContInfo.get("STATUS_CD").equals("18")){
  1185. //승인자가 필요 없다 해서 주석 처리 합니다. 김명호
  1186. //승인자만 보이게 처리
  1187. //if(storage.getUser().get("acct_id").equals(ContInfo.get("CON_CONFIRM_ID"))){
  1188. if (ContInfo.get("ELEC_CON_YN").equals("N")) { //오프라인 전자 계약에 대해서만 처리
  1189. %>
  1190. <span class="btnSearch center" id="btnComplete"><a href="javascript:void(0);">계약완료</a></span>
  1191. <%
  1192. }else{
  1193. %>
  1194. <span class="btnSearch center" id="btnSignCall"><a href="javascript:void(0);">업체 서명요청</a></span>
  1195. <%
  1196. }
  1197. // }
  1198. }else if(ContInfo.get("STATUS_CD").equals("30")){
  1199. %>
  1200. <span class="btnSearch center" id="btnSignOk"><a href="javascript:void(0);">서명</a></span>
  1201. <span class="btnSearch center" id="btnReSignCall"><a href="javascript:void(0);">서명취소</a></span>
  1202. <!-- span class="btnSearch center" id="btnReject"><a href="javascript:void(0);">반려</a></span -->
  1203. <%
  1204. }else if(ContInfo.get("STATUS_CD").equals("41")|| (ContInfo.get("STATUS_CD").equals("40")) ){
  1205. %>
  1206. <span class="btnSearch center" id="btnSave"><a href="javascript:void(0);">저장</a></span>
  1207. <%
  1208. }
  1209. %>
  1210. <span class="btnSearch center" id="btnItem"><a href="javascript:void(0);">계약상품내역</a></span>
  1211. <span class="btnSearch center" id="btnList"><a href="javascript:goListProc();">목록</a></span>
  1212. </td>
  1213. </tr>
  1214. </table>
  1215. <%
  1216. /*
  1217. 계약 정보를 한페이지로 만들어서 include 시킴 (2014-08-14) 김명호
  1218. */
  1219. String isViewWrite;
  1220. String finalYn = "";
  1221. if ((ContInfo.get("STATUS_CD").equals("10")) || (ContInfo.get("STATUS_CD").equals("40")) || (ContInfo.get("STATUS_CD").equals("41"))){
  1222. isViewWrite = "W";
  1223. }else{
  1224. isViewWrite = "V";
  1225. }
  1226. %>
  1227. <%@ include file="/jsp/ko_KR/buyer/cont/purchase/ContInfo.jsp" %>
  1228. <%if ((!ContInfo.get("MODI_REQ_REASON").equals("")) && (ContInfo.get("STATUS_CD").equals("40"))){ //수정 요청 내용이 있을경우 %>
  1229. <div class="application-info magT15">
  1230. <div class="application-sub-title">
  1231. <span class="title">수정요청 사유</span>
  1232. </div>
  1233. </div>
  1234. <TABLE class="form-table">
  1235. <colgroup>
  1236. <col width="120" />
  1237. <col width="*" />
  1238. </colgroup>
  1239. <TR height="25">
  1240. <TH>사유</TH>
  1241. <TD><%=ContInfo.get("MODI_REQ_REASON") %></TD>
  1242. </TR>
  1243. <TR height="25">
  1244. <TH>요청일</TH>
  1245. <TD><%=ContInfo.get("MODI_REQ_DT") %></TD>
  1246. </TR>
  1247. </TABLE>
  1248. <% } %>
  1249. <div class="application-info magT10">
  1250. <div class="application-sub-title">
  1251. <span class="title">계약정보</span>
  1252. </div>
  1253. <div style="text-align:center;">
  1254. <%if ((params.get("ChgCont").equals("Y")) && ContInfo.get("STATUS_CD").equals("10")) { //변경 계약서 일경우 추가 내역%>
  1255. 변경구분
  1256. <select name="mod_gb" onchange="chgModGb(this.value)">
  1257. <option value="">-선택-</option>
  1258. <option value="01" <%=ContInfo.get("MOD_GB").equals("01") ? "selected=selected":""%>>증액</option>
  1259. <option value="02" <%=ContInfo.get("MOD_GB").equals("02") ? "selected=selected":""%>>감액</option>
  1260. <option value="10" <%=ContInfo.get("MOD_GB").equals("10") ? "selected=selected":""%>>연장</option>
  1261. <option value="11" <%=ContInfo.get("MOD_GB").equals("11") ? "selected=selected":""%>>연장증액</option>
  1262. <option value="12" <%=ContInfo.get("MOD_GB").equals("12") ? "selected=selected":""%>>연장감액</option>
  1263. <option value="20" <%=ContInfo.get("MOD_GB").equals("20") ? "selected=selected":""%>>단축</option>
  1264. <option value="21" <%=ContInfo.get("MOD_GB").equals("21") ? "selected=selected":""%>>단축증액</option>
  1265. <option value="22" <%=ContInfo.get("MOD_GB").equals("22") ? "selected=selected":""%>>단축감액</option>
  1266. <option value="98" <%=ContInfo.get("MOD_GB").equals("98") ? "selected=selected":""%>>계약이관</option>
  1267. <option value="99" <%=ContInfo.get("MOD_GB").equals("99") ? "selected=selected":""%>>기타</option>
  1268. </select>
  1269. <% } else { //당초 일경우 기본 값%>
  1270. <input type="hidden" name="mod_gb" id ="mod_gb" value="<%=ContInfo.get("MOD_GB")%>" />
  1271. <% }%>
  1272. <font color="ffffff">......</font>
  1273. ※<span style="background-color:yellow;text-align:center">노랑색</span>은 필수입력사항, <span style="text-align:center;background-color:#CCFF99;">연두색</span>은 계약서에 인쇄되지 않는 항목입니다.
  1274. </div>
  1275. </div>
  1276. <table width="100%" border="0" cellspacing="0" cellpadding="0" style="border:1px solid black;padding-top:5px">
  1277. <tr>
  1278. <td align="center" bgcolor="#efefef">
  1279. <table width="770px" border="0" cellspacing="0" cellpadding="0">
  1280. <tr>
  1281. <td align="center">
  1282. <%
  1283. for(int i = 0 ; i < template.size(); i ++){
  1284. %>
  1285. <input type="hidden" name="template_seq" value="<%=template.getRow(i).get("SEQ")%>">
  1286. <input type="hidden" name="template_name" value="<%=template.getRow(i).get("TEMPLATE_NAME")%>">
  1287. <input type="hidden" name="template_style" value="<%=template.getRow(i).get("TEMPLATE_STYLE")%>">
  1288. <input type="hidden" name="option_yn" value="<%=template.getRow(i).get("OPTION_YN")%>">
  1289. <% if(i==0){ %>
  1290. <span class="tab_on" id="tab_<%=template.getRow(i).get("SEQ")%>" onClick="tabView(<%=template.getRow(i).get("SEQ")%>)">
  1291. <input type="hidden" name="check_yn_<%=template.getRow(i).get("SEQ")%>" value="A">
  1292. <%=template.getRow(i).get("TEMPLATE_NAME")%>
  1293. </span>&nbsp;
  1294. <% }else{ %>
  1295. <%if(template.getRow(i).get("OPTION_YN").equals("A")){%>
  1296. <span class="tab_off" id="tab_<%=template.getRow(i).get("SEQ")%>" onClick="tabView(<%=template.getRow(i).get("SEQ")%>)">
  1297. <%=template.getRow(i).get("TEMPLATE_NAME")%>
  1298. <input type="hidden" name="check_yn_<%=template.getRow(i).get("SEQ")%>" value="A">
  1299. </span>
  1300. <%}else if((template.getRow(i).get("OPTION_YN").equals("Y"))){ %>
  1301. <span class="tab_off" id="tab_<%=template.getRow(i).get("SEQ")%>" onClick="tabView(<%=template.getRow(i).get("SEQ")%>)">
  1302. <input type="checkbox" name="check_yn_<%=template.getRow(i).get("SEQ")%>" value="Y" <%if(template.getRow(i).get("CHECK_YN").equals("Y")){%>checked="checked"<%}%>>
  1303. <%=template.getRow(i).get("TEMPLATE_NAME")%>
  1304. </span>
  1305. <%} %>
  1306. <% } %>
  1307. <%} %>
  1308. </td>
  1309. </tr>
  1310. </table>
  1311. <div id="__html" style="width:770px;border:1px solid black;padding:10px 10px 10px 10px;background-color:#FFFFFF;text-align:left;" >
  1312. <%
  1313. for(int i = 0 ; i < template.size(); i ++){
  1314. String template_html = ClobUtils.getClob((Clob)template.getRow(i).getObject("TEMPLATE_HTML"));
  1315. String divHidden = template.getRow(i).get("SEQ").equals("0")?"":"none";
  1316. %>
  1317. <div style="display:<%=divHidden%>; padding-top: 10px;overflow:hidden;overflow-y:auto;<%=template.getRow(i).get("TEMPLATE_STYLE") %>" id="__html_<%=template.getRow(i).get("SEQ")%>">
  1318. <%= template_html%>
  1319. </div>
  1320. <%} %>
  1321. </div>
  1322. <br />
  1323. </td>
  1324. </tr>
  1325. </table>
  1326. <div class="application-info magT15">
  1327. <div class="application-sub-title">
  1328. <span class="title">계약서류</span>
  1329. </div>
  1330. </div>
  1331. <TABLE class="form-table">
  1332. <colgroup>
  1333. <col width="120" />
  1334. <col width="*" />
  1335. </colgroup>
  1336. <TR height="25">
  1337. <TH>자동생성</TH>
  1338. <TD>
  1339. <table width="100%">
  1340. <colgroup>
  1341. <col width="100%" />
  1342. </colgroup>
  1343. <TR height="25">
  1344. <TD>
  1345. <div id="auto_attach_file_view" class="attach_file_view">
  1346. <ul>
  1347. <%
  1348. for(int i=0;i<autofile_list.size();i++){
  1349. %>
  1350. <li><a href="/common/file/FileDownloadServlet?mode=fpDown&filePath=/cont/<%=autofile_list.getRow(i).get("FILE_PATH")%>&fileName=<%=URLEncoder.encode(autofile_list.getRow(i).get("FILE_NAME"), "UTF-8") +"."+ autofile_list.getRow(i).get("FILE_EXT")%>&fileRealName=<%=autofile_list.getRow(i).get("UNIQUE_FILE_NAME")%>"><%=i+1%> : <%=autofile_list.getRow(i).get("FILE_NAME")%> (<%=autofile_list.getRow(i).get("FILE_SIZE").trim() %>)</a></li>
  1351. <%
  1352. }
  1353. %>
  1354. </ul>
  1355. </div>
  1356. </TD>
  1357. </TR>
  1358. </TABLE>
  1359. </TD>
  1360. </TR>
  1361. <TR height="25">
  1362. <TH>직접첨부</TH>
  1363. <TD>
  1364. <table width="100%">
  1365. <colgroup>
  1366. <col width="50%" />
  1367. <col width="50%" />
  1368. </colgroup>
  1369. <tr>
  1370. <td>
  1371. <div id="attach_file_view" class="attach_file_view">
  1372. <!-- 첨부 파일 화면에 바로보일때 사용 -->
  1373. <%=FileManager.getFileListForDiv("PUR_CONT_MOD_ID", ContInfo.get("PUR_CONT_MOD_ID")) %>
  1374. </div>
  1375. </td>
  1376. <td>
  1377. <IMG id='search_spot_button' onClick="doAttachFileDiv(document.form1.PUR_CONT_MOD_ID,1);" src='/img/buyer/button/bt_change.gif' border='0' align="top" align='absmiddle' alt='[Attach File]' style='cursor:pointer;'>
  1378. </td>
  1379. </tr>
  1380. </table>
  1381. </TD>
  1382. </TR>
  1383. </TABLE>
  1384. <%
  1385. /*
  1386. 보증 목록을 include 시킴 (2014-10-16) 김명호
  1387. */
  1388. if((ContInfo.get("STATUS_CD").equals("20")) || (ContInfo.get("STATUS_CD").equals("30")) || (ContInfo.get("STATUS_CD").equals("50")) || (ContInfo.get("ELEC_CON_YN").equals("N"))){
  1389. if(warrList.size() > 0){
  1390. %>
  1391. <%@ include file="/jsp/ko_KR/buyer/cont/purchase/guarList.jsp" %>
  1392. <%
  1393. }
  1394. }
  1395. %>
  1396. </form>
  1397. <!-- 인도 조건 코드 겁색 팝업 -->
  1398. <script type="text/javascript">
  1399. <!--
  1400. /**
  1401. * 상세 코드 검색
  1402. */
  1403. function popSearchCodeDetail()
  1404. {
  1405. var win_id = "_searchCodePopup";
  1406. var link = "/sycs/code/dlgCodePopup.screen";
  1407. link += "?pop_win_id="+win_id;
  1408. link += "&p_basecd=PUR_LEAD_GB";
  1409. fLayerPop(win_id, link, 600,400, '', '', 'NO');
  1410. }
  1411. function SearchCodeDetailClose(result){
  1412. if(result != null){
  1413. if(result[2]=="PUR_CON_GB"){
  1414. replaceInput(result[0],"con_gb" ,__html);
  1415. replaceInput(result[1],"spn_con_gb" ,__html);
  1416. }else{
  1417. replaceInput(result[0],"lead_cond_gb" ,__html);
  1418. replaceInput(result[1],"spn_lead_cond_gb" ,__html);
  1419. }
  1420. // replaceInput(result[0],"lead_cond_gb" ,__html);
  1421. // replaceInput(result[1],"spn_lead_cond_gb" ,__html);
  1422. }
  1423. fLayerPopClose('_searchCodePopup');
  1424. }
  1425. //-->
  1426. </script>
  1427. <!-- =========사인 요청 상태이후 (20)에는 입력을 받지 못하게 처리 (김명호 : 2014-07-21)============== -->
  1428. <script>
  1429. //window.addEventListener("onload",convertHtml)
  1430. <%
  1431. if((ContInfo.get("STATUS_CD").equals("15")) || (ContInfo.get("STATUS_CD").equals("18")) || (ContInfo.get("STATUS_CD").equals("20")) || (ContInfo.get("STATUS_CD").equals("30")) || (ContInfo.get("STATUS_CD").equals("50"))){
  1432. %>
  1433. window.onload = function() {
  1434. convertHtml();
  1435. };
  1436. <%
  1437. }
  1438. %>
  1439. function convertHtml(){
  1440. if(!document.getElementById("__html"))return;
  1441. var elements = document.getElementById("__html").getElementsByTagName("input");
  1442. for(var i = 0; i < elements.length; i++){
  1443. var element = elements[i];
  1444. setDisabled(element);
  1445. }
  1446. var elements = document.getElementById("__html").getElementsByTagName("textarea");
  1447. for(var i = 0; i < elements.length; i++){
  1448. var element = elements[i];
  1449. element.className = "input_readonly";
  1450. element.readOnly = true;
  1451. }
  1452. var elements = document.getElementById("__html").getElementsByTagName("img");
  1453. for(var i = 0; i < elements.length; i++){
  1454. var element = elements[i];
  1455. element.style.display="none";
  1456. }
  1457. /*협력사에서 안보이는 부분숨기는 처리*/
  1458. var elements = getElementsByClass("cl_no_view");
  1459. for(var i = 0; i < elements.length; i++){
  1460. var element = elements[i];
  1461. element.style.display="none";
  1462. }
  1463. }
  1464. </script>
  1465. <%//상품 목록 %>
  1466. <%if (params.get("ChgCont").equals("Y")) { //변경 계약서 일경우 추가 내역%>
  1467. <%@ include file="/jsp/ko_KR/buyer/cont/purchase/chgItemList.jsp" %>
  1468. <%}%>
  1469. <%@ include file="/jsp/ko_KR/buyer/cont/purchase/itemList.jsp" %>