구매요청서 ui 수정만 해놓음

This commit is contained in:
leeheejin
2025-11-24 18:37:52 +09:00
parent 42d16f89e7
commit 8c1287dd04
9 changed files with 658 additions and 594 deletions

View File

@@ -1646,6 +1646,8 @@ public String deleteClient(HttpServletRequest request, @RequestParam Map<String,
* @param paramMap
* @return
*/
// Excel 업로드 기능 미사용 - 주석처리
/*
@RequestMapping("/admin/clientExcelImportPopUp.do")
public String clientExcelImportPopUp(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){
Map code_map = new HashMap();
@@ -1672,13 +1674,15 @@ public String clientExcelImportPopUp(HttpSession session, HttpServletRequest req
}
return "/admin/clientMng/clientExcelImportPopUp";
}
*/
/**
* 업로드된 Excel File을 통해서 데이터를 Parsing하여 목록으로 return.
* 업로드된 Excel File을 통해서 데이터를 Parsing하여 목록으로 return. (미사용 - 주석처리)
* @param request
* @param paramMap
* @return
*/
/*
@RequestMapping("/admin/parsingExcelClient.do")
public String parsingExcelClient(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
ArrayList parsingClientList = new ArrayList();
@@ -1691,10 +1695,12 @@ public String parsingExcelClient(HttpServletRequest request, @RequestParam Map<S
request.setAttribute("RESULT", CommonUtils.getJsonArray(parsingClientList));
return "/ajax/ajaxResult";
}
*/
/**
* 거래처 저장
* 거래처 저장 (미사용 - 주석처리)
*/
/*
@RequestMapping("/admin/clientApplySave.do")
@ResponseBody
public String clientApplySave(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){
@@ -1711,13 +1717,15 @@ public String clientApplySave(HttpSession session, HttpServletRequest request, @
}
return result;
}
*/
/**
* Excel 업로드 시 중복/신규 건수 조회
* Excel 업로드 시 중복/신규 건수 조회 (미사용 - 주석처리)
* @param request
* @param paramMap
* @return
*/
/*
@ResponseBody
@RequestMapping("/admin/countExcelclient.do")
public Map<String, Object> countExcelclient(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
@@ -1732,13 +1740,15 @@ public Map<String, Object> countExcelclient(HttpServletRequest request, @Request
return resultMap;
}
*/
/**
* Excel 파일 업로드 처리(ajax)
* Excel 파일 업로드 처리(ajax) (미사용 - 주석처리)
* @param request
* @param paramMap
* @return
*/
/*
@RequestMapping("/admin/excelImportFileProc.do")
public String excelImportFileProc(HttpServletRequest request, HttpSession session, @RequestParam Map<String, Object> paramMap){
System.out.println("excelImportFileProc()..");
@@ -1768,13 +1778,15 @@ public String excelImportFileProc(HttpServletRequest request, HttpSession sessio
return "/ajax/ajaxResult";
}
*/
/**
* Client 첨부파일 업로드 처리(ajax)
* Client 첨부파일 업로드 처리(ajax) (미사용 - 주석처리)
* @param request
* @param paramMap
* @return
*/
/*
@RequestMapping("/admin/clientImportFileProc.do")
public String clientImportFileProc(HttpServletRequest request, HttpSession session, @RequestParam Map<String, Object> paramMap){
System.out.println("clientImportFileProc()..");
@@ -1804,11 +1816,63 @@ public String clientImportFileProc(HttpServletRequest request, HttpSession sessi
return "/ajax/ajaxResult";
}
*/
// 일반거래처 11월 20일 이희진
// 일반거래처 11월 20일 이희진 / 11월 24일 이희진
// /**
// * 공정 관리 데이터를 저장한다. 11월 24일 이희진
// * TODO: Service 구현 필요
// * @param request
// * @param paramMap
// * @return
// */
// @RequestMapping("/admin/saveProcessMngListInfo.do")
// public String saveProcessMngListInfo(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
// HashMap resultMap = new HashMap();
// try{
//
// ArrayList existList = adminService.getDuplicateProcessMngListInfo(request, paramMap);
// if(null != existList && 0 < existList.size()){
// resultMap = CommonUtils.setReqAttrResultMsg(request, "중복된 공정명이 존재 합니다.", "false", null,null);
// }else{
// adminService.saveProcessMngListInfo(request, paramMap);
// resultMap = CommonUtils.setReqAttrResultMsg(request, "저장하였습니다.", "true", null,null);
// }
// }catch(Exception e){
// e.printStackTrace();
// resultMap = CommonUtils.setReqAttrResultMsg(request, "오류가 발생하였습니다.", "false", e,null);
// }
// request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap));
//
// return "/ajax/ajaxResult";
// }
// /**
// * 공정 관리 삭제 11월 24일 이희진
// * TODO: Service 구현 필요
// * @param request
// * @param paramMap
// * @return
// */
// @RequestMapping("/admin/deleteProcessMng.do")
// public String deleteProcessMng(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
// HashMap resultMap = new HashMap();
// try{
// adminService.deleteProcessMng(request, paramMap);
// resultMap.put("result", true);
// resultMap.put("msg", "삭제되었습니다.");
// }catch(Exception e){
// e.printStackTrace();
// resultMap.put("result", false);
// resultMap.put("msg", "삭제 중 오류가 발생했습니다.");
// }
// request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap));
// return "/ajax/ajaxResult";
// }
//----------------------11월 24일 이희진----------------------

View File

@@ -9062,15 +9062,15 @@ SELECT
</delete>
<!-- 6. Excel 업로드 - 중복 체크 -->
<select id="getDuplicateClientExcel" parameterType="map" resultType="map">
<!-- <select id="getDuplicateClientExcel" parameterType="map" resultType="map">
SELECT OBJID, CLIENT_CD, CLIENT_NM
FROM CLIENT_MNG
WHERE UPPER(CLIENT_CD) = UPPER(#{CLIENT_CD})
LIMIT 1
</select>
</select> -->
<!-- 7. Excel 업로드 - 일괄 INSERT -->
<insert id="insertClientExcel" parameterType="map">
<!-- <insert id="insertClientExcel" parameterType="map">
INSERT INTO CLIENT_MNG (
OBJID,
COMP_CODE,
@@ -9300,10 +9300,10 @@ SELECT
#{insert_ip},
NOW()
)
</insert>
</insert> -->
<!-- 8. Excel 업로드 - 중복/신규 건수 조회 -->
<select id="countExcelclient" parameterType="map" resultType="map">
<!-- <select id="countExcelclient" parameterType="map" resultType="map">
SELECT
COUNT(CASE WHEN DUP_YN = 'Y' THEN 1 END) AS DUP_CNT,
COUNT(CASE WHEN DUP_YN = 'N' THEN 1 END) AS NOW_CNT
@@ -9323,7 +9323,7 @@ SELECT
AND DOC_TYPE = 'CLIENT_EXCEL_IMPORT'
) T
) RESULT
</select>
</select> -->
</mapper>

View File

@@ -2660,268 +2660,11 @@ public class AdminService extends BaseService {
}
}
/**
* 업로드된 Excel File을 통해 데이터를 Parsing 한다.
* @param request
* @param paramMap
* @return
/* CLIENT 엑셀 업로드 관련 메서드 주석처리 (2024-11-24)
* - parsingExcelClient
* - saveClientMaster
* - countExcelclient
*/
public ArrayList parsingExcelClient(HttpServletRequest request,Map paramMap)throws Exception{
ArrayList resultList = new ArrayList();
ArrayList fileList = commonService.getFileList(paramMap);
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
if(null != fileList && 1 == fileList.size()){
HashMap fileMap = (HashMap)fileList.get(0);
String path = CommonUtils.checkNull(fileMap.get("FILE_PATH"));
String fileName = CommonUtils.checkNull(fileMap.get("SAVED_FILE_NAME"));
// OS에 관계없이 올바른 경로 생성 (Linux/Windows 호환)
File excelFile = new File(path, fileName);
FileInputStream fis = new FileInputStream(excelFile);
// .xls와 .xlsx 둘 다 지원
org.apache.poi.ss.usermodel.Workbook workBook = null;
if (fileName.endsWith(".xls") || fileName.endsWith(".XLS")) {
workBook = new org.apache.poi.hssf.usermodel.HSSFWorkbook(fis);
} else if (fileName.endsWith(".xlsx") || fileName.endsWith(".XLSX")) {
workBook = new XSSFWorkbook(fis);
}
FormulaEvaluator formulaEval = workBook.getCreationHelper().createFormulaEvaluator();
org.apache.poi.ss.usermodel.Sheet sheet = workBook.getSheetAt(0);
// 데이터 포멧터
DataFormatter formatter = new DataFormatter();
int rows = sheet.getPhysicalNumberOfRows();
for(int rowIndex= 1 ; rowIndex < rows ; rowIndex++){ // 2번째 행부터 읽기 (헤더 1행 + 데이터)
org.apache.poi.ss.usermodel.Row row = sheet.getRow(rowIndex);
if(null != row){
HashMap clientMap = new HashMap();
HashMap sqlMap = new HashMap();
for(int columnIndex = 0 ; columnIndex < 110 ; columnIndex++){ // 110개 컬럼
org.apache.poi.ss.usermodel.Cell cell = row.getCell(columnIndex);
//데이터 유형별 get data
String cellValue = "";
if(null != cell){
if(cell.getCellType() == org.apache.poi.ss.usermodel.Cell.CELL_TYPE_FORMULA){
cellValue = formatter.formatCellValue(cell, formulaEval);
}else if(cell.getCellType() == org.apache.poi.ss.usermodel.Cell.CELL_TYPE_NUMERIC){
if(DateUtil.isCellDateFormatted(cell)){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
cellValue = sdf.format(cell.getDateCellValue());
}else{
cellValue = formatter.formatCellValue(cell);
}
}else{
cellValue = formatter.formatCellValue(cell);
}
}
switch(columnIndex){
case 0 : clientMap.put("COMP_CODE", cellValue); break;
case 1 : clientMap.put("CLIENT_CD", cellValue); break;
case 2 : clientMap.put("CLIENT_NM", cellValue); break;
case 3 : clientMap.put("TR_NMK", cellValue); break;
case 4 : clientMap.put("CLIENT_NMK", cellValue); break;
case 5 : clientMap.put("ATTR_NMK", cellValue); break;
case 6 : clientMap.put("CLIENT_TYPE", cellValue); break;
case 7 : clientMap.put("BUS_REG_NO", cellValue); break;
case 8 : clientMap.put("RESIDENT_NO", cellValue); break;
case 9 : clientMap.put("CEO_NM", cellValue); break;
case 10 : clientMap.put("CEO_NMK", cellValue); break;
case 11 : clientMap.put("BUS_TYPE", cellValue); break;
case 12 : clientMap.put("BUS_ITEM", cellValue); break;
case 13 : clientMap.put("POST_NO", cellValue); break;
case 14 : clientMap.put("ADDR1", cellValue); break;
case 15 : clientMap.put("ADDR2", cellValue); break;
case 16 : clientMap.put("ADDR_FG", cellValue); break;
case 17 : clientMap.put("TEL_NO", cellValue); break;
case 18 : clientMap.put("FAX_NO", cellValue); break;
case 19 : clientMap.put("HOMEPAGE", cellValue); break;
case 20 : clientMap.put("EMAIL", cellValue); break;
case 21 : clientMap.put("LIQ_RS", cellValue); break;
case 22 : clientMap.put("TR_FG", cellValue); break;
case 23 : clientMap.put("COUNTRY_NM", cellValue); break;
case 24 : clientMap.put("CLASS_CD", cellValue); break;
case 25 : clientMap.put("CLASS_NM", cellValue); break;
case 26 : clientMap.put("GRADE_CD", cellValue); break;
case 27 : clientMap.put("GRADE_NM", cellValue); break;
case 28 : clientMap.put("COLLECT_CLIENT_CD", cellValue); break;
case 29 : clientMap.put("COLLECT_CLIENT_NM", cellValue); break;
case 30 : clientMap.put("REGION_CD", cellValue); break;
case 31 : clientMap.put("REGION_NM", cellValue); break;
case 32 : clientMap.put("TRADE_START_DT", cellValue); break;
case 33 : clientMap.put("TRADE_END_DT", cellValue); break;
case 34 : clientMap.put("USE_YN", cellValue); break;
case 35 : clientMap.put("CONTRACT_START_DT", cellValue); break;
case 36 : clientMap.put("CONTRACT_END_DT", cellValue); break;
case 37 : clientMap.put("TRADE_TYPE", cellValue); break;
case 38 : clientMap.put("DISCOUNT_RATE", cellValue); break;
case 39 : clientMap.put("CONTRACT_AMT", cellValue); break;
case 40 : clientMap.put("MONTHLY_FEE", cellValue); break;
case 41 : clientMap.put("PAYMENT_TERM", cellValue); break;
case 42 : clientMap.put("RCP_TP", cellValue); break;
case 43 : clientMap.put("CREDIT_LIMIT", cellValue); break;
case 44 : clientMap.put("LIMIT_RETURN_DAY", cellValue); break;
case 45 : clientMap.put("PUR_BANK_CD", cellValue); break;
case 46 : clientMap.put("PUR_BANK_NM", cellValue); break;
case 47 : clientMap.put("PUR_BRANCH_NM", cellValue); break;
case 48 : clientMap.put("PUR_ACCOUNT_NO", cellValue); break;
case 49 : clientMap.put("PUR_ACCOUNT_HOLDER", cellValue); break;
case 50 : clientMap.put("PUR_PAY_PLAN", cellValue); break;
case 51 : clientMap.put("PUR_SLIP_TYPE", cellValue); break;
case 52 : clientMap.put("PUR_TAX_TYPE", cellValue); break;
case 53 : clientMap.put("SALE_BANK_CD", cellValue); break;
case 54 : clientMap.put("SALE_BANK_NM", cellValue); break;
case 55 : clientMap.put("SALE_BRANCH_NM", cellValue); break;
case 56 : clientMap.put("SALE_ACCOUNT_NO", cellValue); break;
case 57 : clientMap.put("SALE_COLLECT_PLAN", cellValue); break;
case 58 : clientMap.put("SALE_SLIP_TYPE", cellValue); break;
case 59 : clientMap.put("SALE_TAX_TYPE", cellValue); break;
case 60 : clientMap.put("VENDOR_DEPT_NM", cellValue); break;
case 61 : clientMap.put("VENDOR_POSITION", cellValue); break;
case 62 : clientMap.put("VENDOR_DUTY", cellValue); break;
case 63 : clientMap.put("VENDOR_MANAGER_NM", cellValue); break;
case 64 : clientMap.put("VENDOR_TEL", cellValue); break;
case 65 : clientMap.put("VENDOR_EXT", cellValue); break;
case 66 : clientMap.put("VENDOR_MOBILE", cellValue); break;
case 67 : clientMap.put("VENDOR_EMAIL", cellValue); break;
case 68 : clientMap.put("MGR_DEPT_CD", cellValue); break;
case 69 : clientMap.put("MGR_DEPT_NM", cellValue); break;
case 70 : clientMap.put("MGR_POSITION", cellValue); break;
case 71 : clientMap.put("MGR_DUTY", cellValue); break;
case 72 : clientMap.put("MGR_EMP_CD", cellValue); break;
case 73 : clientMap.put("MGR_EMP_NM", cellValue); break;
case 74 : clientMap.put("MGR_TEL", cellValue); break;
case 75 : clientMap.put("MGR_EXT", cellValue); break;
case 76 : clientMap.put("MGR_MOBILE", cellValue); break;
case 77 : clientMap.put("MGR_EMAIL", cellValue); break;
case 78 : clientMap.put("MGR_REMARK", cellValue); break;
case 79 : clientMap.put("REC_REMARK", cellValue); break;
case 80 : clientMap.put("REC_POST_NO", cellValue); break;
case 81 : clientMap.put("REC_ADDR1", cellValue); break;
case 82 : clientMap.put("REC_ADDR2", cellValue); break;
case 83 : clientMap.put("REC_ADDR_FG", cellValue); break;
case 84 : clientMap.put("REC_TEL", cellValue); break;
case 85 : clientMap.put("REC_FAX", cellValue); break;
case 86 : clientMap.put("PROJECT_CD", cellValue); break;
case 87 : clientMap.put("PROJECT_NM", cellValue); break;
case 88 : clientMap.put("PJT_NMK", cellValue); break;
case 89 : clientMap.put("EXT_DATA_CD", cellValue); break;
case 90 : clientMap.put("E_TAX_YN", cellValue); break;
case 91 : clientMap.put("UNIT_REPORT_CLIENT", cellValue); break;
case 92 : clientMap.put("SUB_BUS_NO", cellValue); break;
case 93 : clientMap.put("PROCUREMENT_YN", cellValue); break;
case 94 : clientMap.put("USER_DEF_DC1", cellValue); break;
case 95 : clientMap.put("USER_DEF_DC2", cellValue); break;
case 96 : clientMap.put("USE_FG", cellValue); break;
case 97 : clientMap.put("USE_NM", cellValue); break;
case 98 : clientMap.put("BIZCON_FG", cellValue); break;
case 99 : clientMap.put("BIZCON_NM", cellValue); break;
case 100 : clientMap.put("SHIP_TP", cellValue); break;
case 101 : clientMap.put("SHIP_NM", cellValue); break;
case 102 : clientMap.put("PLAN_DAY_TYPE", cellValue); break;
case 103 : clientMap.put("PLAN_DAY", cellValue); break;
case 104 : clientMap.put("PURPOSE_TYPE", cellValue); break;
case 105 : clientMap.put("FOR_YN", cellValue); break;
case 106 : clientMap.put("CHECK_DATA", cellValue); break;
case 107 : clientMap.put("CHECK_STATE", cellValue); break;
case 108 : clientMap.put("CHECK_ORDER", cellValue); break;
case 109 : clientMap.put("FIXED_ORDER", cellValue); break; // 110번째 컬럼
}
}
sqlMap.put("CLIENT_CD", clientMap.get("CLIENT_CD"));
Map dupClientMap = sqlSession.selectOne("admin.getDuplicateClientExcel", sqlMap);
if(null != dupClientMap){
clientMap.put("DUP_YN", "Y");
}else{
clientMap.put("DUP_YN", "N");
}
resultList.add(clientMap);
}
}
fis.close();
}
sqlSession.close();
return resultList;
}
/**
* 거래처 일괄 저장
* @param request
* @param paramMap
*/
public void saveClientMaster(HttpServletRequest request,Map paramMap){
SqlSession sqlSession = null;
Map tempMap = new HashMap();
try{
String GridData = CommonUtils.checkNull(paramMap.get("jqGrid"));
System.out.println("GridData -------------------------->"+GridData);
System.out.println("CommonUtils.checkNull(paramMap.get(jqGrid)) -------------------------->"+CommonUtils.checkNull(paramMap.get("jqGrid")));
List<Map<String, Object>> gridDataList = JsonUtil.JsonToList(GridData);
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
byte[] buf = new byte[1024];
System.out.println("gridDataSIZE : " + gridDataList.size());
for(int i=0; i<gridDataList.size(); i++){
Map insertMap = gridDataList.get(i);
Map fileMap = new HashMap();
String CLIENT_MGMT_OBJID = CommonUtils.createObjId();
insertMap.put("OBJID", CLIENT_MGMT_OBJID);
insertMap.put("CONNECTUSERID", (String)paramMap.get("CONNECTUSERID"));
String CLIENT_CD = CommonUtils.checkNull((String)insertMap.get("CLIENT_CD"));
String CLIENT_NM = CommonUtils.checkNull((String)insertMap.get("CLIENT_NM"));
insertMap.put("CLIENT_CD", CLIENT_CD.replace("§", "&"));
insertMap.put("CLIENT_NM", CLIENT_NM.replace("§", "&"));
insertMap.put("CLIENT_CD", CLIENT_CD.replace("", "%"));
insertMap.put("CLIENT_NM", CLIENT_NM.replace("", "%"));
String DUP_YN = CommonUtils.checkNull((String)insertMap.get("DUP_YN"));
if("N".equals(DUP_YN)){
sqlSession.insert("admin.insertClientExcel", insertMap);
}
}
sqlSession.commit();
}catch(Exception e){
e.printStackTrace();
sqlSession.rollback();
}finally{
sqlSession.close();
}
}
/**
* CLIENT 중복/신규 건수 조회
* @param paramMap
* @return
*/
public Map countExcelclient(Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultMap = sqlSession.selectOne("admin.countExcelclient", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultMap;
}
//-------------11월 20일 이희진-------------