/** * @(#)file ContCodeManager.java * @(#)author Kim Myung Ho * @(#)version 1.0 * @(#)date 2014-08-14 * @(#)since JDK1.6 * * Copyright (c) www.udapsoft.co.kr, Inc. */ package kr.co.udapsoft.common.code; import kr.co.hsnc.common.base.WAFLogger; import kr.co.hsnc.common.sql.RowSet; import kr.co.hsnc.common.sql.RowSetImpl; import kr.co.hsnc.common.sql.search.Search; import kr.co.hsnc.common.sql.search.SearchImpl; import kr.co.hsnc.common.sql.util.RowSetUtility; import kr.co.hsnc.common.util.ValueObject; import com.udapsoft.waf.common.ui.HTMLMaker; public class ContCodeManager { public static String getCcsifSelectCodeList(String group_cd, String inputName, String sytleStr, String defaultOption, String selectedValue, String dept_cd, String pay_div) throws Exception { return getCcsifSelectCodeList(group_cd, inputName, sytleStr, defaultOption, selectedValue, 10, "", null, dept_cd, pay_div); } public static String getCcsifSelectCodeList(String group_cd, String inputName, String sytleStr, String defaultOption, String selectedValue, String eventStr, String dept_cd, String pay_div) throws Exception { return getCcsifSelectCodeList(group_cd, inputName, sytleStr, defaultOption, selectedValue, 10, eventStr, null, dept_cd, pay_div); } /** * 파라미터로 받은 공통코드의 코드목록을 select.js를 이용하는 HTML SELECT Tag로 리턴한다. * @param group_cd : 공통코드 * @param inputName : SELECT Tag의 'name' 속성명 * @return String * @throws Exception * */ public static String getCcsifSelectCodeList(String group_cd, String inputName, String sytleStr, String defaultOption, String selectedValue, int size, String eventStr, String strClassNm, String dept_cd, String pay_div) throws Exception { ValueObject rowObject = null; ContCodeManager contCodeManager = new ContCodeManager(); RowSet commCodeRowSet = contCodeManager.getCodeRowSet(group_cd, dept_cd, pay_div); return HTMLMaker.getSelectTag(commCodeRowSet, "CODE", "NAME", inputName, sytleStr, defaultOption, selectedValue, size, strClassNm, eventStr); } /* * 증빙구분 : [] */ public static String getProofCdSelectTag(String selId, String style, String eventStr, String defaultOption, String selValue, String chg_code20) { ContCodeManager contCodeManager = new ContCodeManager(); RowSet rowSet = contCodeManager.getProofCdRowSet(chg_code20); return HTMLMaker.getSelectTag(rowSet, "CODE", "NAME", selId, style, defaultOption, selValue, rowSet.size(), null, eventStr); // getSelectTag(rowSet, valueName, dscrName, inputName, sytleStr, defaultOption, selectedValue, size, strClassNm, null); } /* * 증빙구분 : [] */ public static String getProofCdSelectTag(String selId, String style, String eventStr, String defaultOption, String selValue, String chg_code20, String attributes) { ContCodeManager contCodeManager = new ContCodeManager(); RowSet rowSet = contCodeManager.getProofCdRowSet(chg_code20); return HTMLMaker.getSelectTag(rowSet, "CODE", "NAME", selId, style, defaultOption, selValue, rowSet.size(), attributes, eventStr); } /* * 사업부에 따른 기성 Pay Group Select Tag 만들기 : */ public static String getPayGroupSelectTag(String selId, String style, String eventStr, String defaultOption, String selValue, String unitCd) { ContCodeManager contCodeManager = new ContCodeManager(); RowSet rowSet = contCodeManager.getPayGroupRowSet(unitCd); return HTMLMaker.getSelectTag(rowSet, "CODE", "NAME", selId, style, defaultOption, selValue, rowSet.size(), null, eventStr); } public static String getPayGroupSelectTag(String selId, String style, String eventStr, String defaultOption, String selValue, String unitCd, String attributes) { ContCodeManager contCodeManager = new ContCodeManager(); RowSet rowSet = contCodeManager.getPayGroupRowSet(unitCd); return HTMLMaker.getSelectTag(rowSet, "CODE", "NAME", selId, style, defaultOption, selValue, rowSet.size(), attributes, eventStr); } /** * 파라미터로 받은 공통코드의 코드목록을 리턴한다. * @param commCode 공통코드 * @return RowSet * @throws Exception */ public static RowSet getCodeRowsetStatic(String group_cd, String dept_cd, String pay_div){ ContCodeManager contCodeManager = new ContCodeManager(); RowSet commCodeRowSet = contCodeManager.getCodeRowSet(group_cd, dept_cd, pay_div); return commCodeRowSet; } public RowSet getCodeRowSet(String group_cd, String dept_cd, String pay_div) { Search search = new SearchImpl(); RowSet rowSet = null; String sqlstr = ""; try { if(group_cd.equals("SUB_ACCT_GB")){ sqlstr = " SELECT DETAILCD AS CODE ,DETAILNM AS NAME, SORT_NO AS SEQ \n" + " FROM EBID_COM911T \n" + " WHERE BASECD = ? \n" + " ORDER BY SORT_NO \n"; search.setStatement(sqlstr); search.addParameter(group_cd); }else{ if(pay_div.equals("1")){ sqlstr = " SELECT DETAILCD AS CODE ,DETAILNM AS NAME, SORT_NO AS SEQ \n" + " FROM EBID_COM911T \n" + " WHERE BASECD = ? \n" + " AND CHG_CODE02 = NVL((SELECT PROC_TYP_GB FROM ETEC_ERPIF.ACZ10100 WHERE DEPT_CD = ?),2) \n" + " ORDER BY SORT_NO \n"; search.setStatement(sqlstr); search.addParameter(group_cd); search.addParameter(dept_cd); }else{ sqlstr = " SELECT DETAILCD AS CODE ,DETAILNM AS NAME, SORT_NO AS SEQ \n" + " FROM EBID_COM911T \n" + " WHERE BASECD = ? \n" + " AND CHG_CODE02 = 2 \n" + " ORDER BY SORT_NO \n"; search.setStatement(sqlstr); search.addParameter(group_cd); } } rowSet = search.execute(); WAFLogger.debug("sql :"+sqlstr); } catch(Exception e) { WAFLogger.error(this.getClass().getName() + " --> getCodeRowSet() : " + e.getMessage()); WAFLogger.error("SQL : " + search.getStatement()); WAFLogger.error(e); } finally { if( rowSet == null ) rowSet = new RowSetImpl(); } return rowSet; } // 증빙구분 public RowSet getProofCdRowSet(String chg_code20) { Search search = new SearchImpl(); RowSet rowSet = null; StringBuffer sql = new StringBuffer(); try { sql.append(" SELECT DETAILCD AS CODE \n"); sql.append(" , DETAILNM AS NAME \n"); sql.append(" , CHG_CODE10 AS VAT_CLASS \n"); sql.append(" FROM EBID_COM911T \n"); //sql.append(" WHERE BASECD = '007' \n");2018.12.17 sql.append(" WHERE BASECD = 'PROOF_CD' \n"); sql.append(" AND CHG_CODE20 = ? \n"); sql.append(" ORDER BY DETAILCD \n"); search.setStatement(sql.toString()); search.addParameter(chg_code20); rowSet = search.execute(); WAFLogger.debug("sql :"+sql); } catch(Exception e) { WAFLogger.error("SQL : " + search.getStatement()); WAFLogger.error(e); } finally { if( rowSet == null ) rowSet = new RowSetImpl(); } return rowSet; } // 기성 PAY GROUP public RowSet getPayGroupRowSet(String unitCd) { Search search = new SearchImpl(); RowSet rowSet = null; StringBuffer sql = new StringBuffer(); try { sql.append(" SELECT DETAILCD AS CODE \n"); sql.append(" , DETAILNM AS NAME \n"); sql.append(" FROM EBID_COM911T \n"); sql.append(" WHERE BASECD = 'ERP_005' \n"); /*sql.append(" WHERE BASECD = '005' \n");2018.12.17 if ("10".equals(unitCd)) { // 생활환경사업부 sql.append(" AND CHG_CODE04 IN ('10', '*') \n"); } else if ("60".equals(unitCd)) { // 발전사업본부 sql.append(" AND CHG_CODE04 IN ('60', '*') \n"); } else { // 그 외 사업부 sql.append(" AND CHG_CODE04 IN ('20', '*') \n"); }*/ sql.append(" ORDER BY DETAILCD \n"); search.setStatement(sql.toString()); rowSet = search.execute(); WAFLogger.debug("sql :"+sql); } catch(Exception e) { WAFLogger.error("SQL : " + search.getStatement()); WAFLogger.error(e); } finally { if( rowSet == null ) rowSet = new RowSetImpl(); } return rowSet; } /* * @return String payment terms JSON표현 */ public String getJSONNotation() { // 직군(중) 구하기 RowSet payGroup_01 = getPayGroupRowSetSub("01"); // 전도금정산 RowSet payGroup_02 = getPayGroupRowSetSub("02"); // 현금(계산서) RowSet payGroup_11 = getPayGroupRowSetSub("11"); // 비용정산 RowSet payGroup_21 = getPayGroupRowSetSub("21"); // 선급금 RowSet payGroup_22 = getPayGroupRowSetSub("22"); // 선급금C RowSet payGroup_23 = getPayGroupRowSetSub("23"); // 선급금D RowSet payGroup_30 = getPayGroupRowSetSub("30"); // 어음(계산서) RowSet payGroup_41 = getPayGroupRowSetSub("41"); // 기성 RowSet payGroup_42 = getPayGroupRowSetSub("42"); // 기성C RowSet payGroup_43 = getPayGroupRowSetSub("43"); // 기성D RowSet payGroup_55 = getPayGroupRowSetSub("55"); // 공용법인 RowSet payGroup_61 = getPayGroupRowSetSub("61"); // 업무가불 RowSet payGroup_71 = getPayGroupRowSetSub("71"); // LC RowSet payGroup_72 = getPayGroupRowSetSub("72"); // LC(C) RowSet payGroup_73 = getPayGroupRowSetSub("73"); // 외화송금 RowSet payGroup_74 = getPayGroupRowSetSub("74"); // LC => 발전 RowSet payGroup_91 = getPayGroupRowSetSub("91"); // 기타 String category = ""; StringBuffer paymentTerms = new StringBuffer(); paymentTerms = getNotation( payGroup_01, payGroup_02, payGroup_11, payGroup_21, payGroup_22, payGroup_23, payGroup_30, payGroup_41, payGroup_42, payGroup_43, payGroup_55, payGroup_61, payGroup_71, payGroup_72, payGroup_73, payGroup_74, payGroup_91); category = "{\"paymentTerms\": {" + paymentTerms + "\n\t} \n}"; return category; } /* * @purpose category2 내역 구하기 */ private StringBuffer getNotation( RowSet payGroup_01, RowSet payGroup_02, RowSet payGroup_11, RowSet payGroup_21, RowSet payGroup_22, RowSet payGroup_23, RowSet payGroup_30, RowSet payGroup_41, RowSet payGroup_42, RowSet payGroup_43, RowSet payGroup_55, RowSet payGroup_61, RowSet payGroup_71, RowSet payGroup_72, RowSet payGroup_73, RowSet payGroup_74, RowSet payGroup_91) { StringBuffer category2 = new StringBuffer(); ValueObject row = null; int size = payGroup_01.size(); category2.append("\n\t\"01\":["); for (int i=0; i