Files
vexplor/src/com/pms/service/CustomerMngService.java
2025-08-21 09:41:46 +09:00

213 lines
6.5 KiB
Java

package com.pms.service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.ibatis.session.SqlSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.pms.common.Message;
import com.pms.common.SqlMapConfig;
import com.pms.common.bean.PersonBean;
import com.pms.common.service.BaseService;
import com.pms.common.utils.CommonUtils;
import com.pms.common.utils.Constants;
@Service
public class CustomerMngService extends BaseService{
@Autowired
CommonService commonService;
/**
* 중고관리 목록조회
* @param paramMap
* @return
*/
public List getCustomerMngList(HttpServletRequest request, Map paramMap){
List<Map<String,Object>> resultList = new ArrayList();
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
paramMap = setCustomerMngCommonCD(request, paramMap);
try{
String countPerPage = CommonUtils.checkNull(request.getParameter("countPerPage"), Constants.ADMIN_COUNT_PER_PAGE+"");
paramMap.put("COUNT_PER_PAGE", Integer.parseInt(countPerPage));
Map pageMap = (HashMap)sqlSession.selectOne("customerMng.getCustomerMngListCnt", paramMap);
System.out.println("pageMap:"+pageMap);
request.setAttribute("SUM_MEASURE_AMOUNT", pageMap.get("sum_measure_amount"));
pageMap = (HashMap)CommonUtils.setPagingInfo(request, pageMap);
paramMap.put("PAGE_END", CommonUtils.checkNull(pageMap.get("PAGE_END")));
paramMap.put("PAGE_START", CommonUtils.checkNull(pageMap.get("PAGE_START")));
resultList = sqlSession.selectList("customerMng.getCustomerMngList", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
System.out.println("paramMap:"+paramMap);
return CommonUtils.toUpperCaseMapKey(resultList);
}
/**
* 중고관리의 상세내용을 가져온다.
* @param request
* @param paramMap
* @return
*/
public HashMap getCustomerMngInfo(HttpServletRequest request, Map paramMap){
HashMap resultMap = new HashMap();
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
try{
paramMap = setCustomerMngCommonCD(request, paramMap);
resultMap = sqlSession.selectOne("customerMng.getCustomerMngInfo",paramMap);
}catch(Exception e){
throw e;
}finally{
sqlSession.close();
}
return CommonUtils.toUpperCaseMapKey(resultMap);
}
public void mergeCustomerMng(HttpServletRequest request, Map paramMap){
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
try{
HttpSession session = request.getSession();
PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN);
String personId = CommonUtils.checkNull(person.getUserId());
paramMap.put("WRITER",personId);
sqlSession.update("customerMng.mergeCustomerMng",paramMap);
sqlSession.commit();
}catch(Exception e){
sqlSession.rollback();
throw e;
}finally{
sqlSession.close();
}
}
public Map setCustomerMngCommonCD(HttpServletRequest request, Map paramMap){
paramMap.put("MNG_TYPE_CD", Constants.MNG_TYPE_CD);
paramMap.put("PRODUCT_DIVISION_CD", Constants.PRODUCT_DIVISION_CD);
paramMap.put("PERFORMER_CD", Constants.PERFORMER_CD);
paramMap.put("MEASURE_TYPE_CD", Constants.MEASURE_TYPE_CD);
paramMap.put("CUSTOMER_MNG_STATUS_CD", Constants.CUSTOMER_MNG_STATUS_CD);
return paramMap;
}
/**
* 중고관리 삭제
* @param request
* @param paramMap
* @return
*/
public Map deleteCustomerMng(HttpServletRequest request,Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
try{
String checkArr[] = (CommonUtils.checkNull(paramMap.get("checkArr"))).split(",");
if(0 == checkArr.length){
checkArr[0] = CommonUtils.checkNull(paramMap.get("checkArr"));
}
if(null != checkArr && 0 < checkArr.length){
for(int i=0;i<checkArr.length;i++){
String objId = CommonUtils.checkNull(checkArr[i]);
HashMap sqlParamMap = new HashMap();
sqlParamMap.put("OBJID", objId);
sqlSession.delete("customerMng.deleteCustomerMng",sqlParamMap);
}
sqlSession.commit();
resultMap.put("result", true);
resultMap.put("msg", Message.DELETE_SUCCESS);
}
}catch(Exception e){
resultMap.put("result", false);
resultMap.put("msg", Message.DELETE_FAILED);
sqlSession.rollback();
throw e;
}finally{
sqlSession.close();
}
return resultMap;
}
/**
* 중고관리 현황
* @param paramMap
* @return
*/
public List getCustomerMngDashBoard(HttpServletRequest request, Map paramMap){
List<Map<String,Object>> resultList = new ArrayList();
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
paramMap = setCustomerMngCommonCD(request, paramMap);
this.setCustomerMngDashBoardColumn(request, paramMap);
try{
resultList = sqlSession.selectList("customerMng.getCustomerMngDashBoard", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return CommonUtils.toUpperCaseMapKey(resultList);
}
/**
* 중고관리 현황 동적 컬럼 생성용 목록을 가져온다.
* @param paramMap
* @return
*/
public void setCustomerMngDashBoardColumn(HttpServletRequest request, Map paramMap){
ArrayList<HashMap<String,Object>> mngTypeList = new ArrayList();
ArrayList<HashMap<String,Object>> productDivisionList = new ArrayList();
ArrayList<HashMap<String,Object>> performerList = new ArrayList();
ArrayList<HashMap<String,Object>> measureTypeList = new ArrayList();
try{
mngTypeList = commonService.getCodeList(Constants.MNG_TYPE_CD,"common.getCodeList");
productDivisionList = commonService.getCodeList(Constants.PRODUCT_DIVISION_CD,"common.getCodeList");
performerList = commonService.getCodeList(Constants.PERFORMER_CD,"common.getCodeList");
measureTypeList = commonService.getCodeList(Constants.MEASURE_TYPE_CD,"common.getCodeList");
}catch(Exception e){
e.printStackTrace();
}
paramMap.put("mngTypeList", mngTypeList);
paramMap.put("productDivisionList", productDivisionList);
paramMap.put("performerList", performerList);
paramMap.put("measureTypeList", measureTypeList);
request.setAttribute("mngTypeList", mngTypeList);
request.setAttribute("productDivisionList", productDivisionList);
request.setAttribute("performerList", performerList);
request.setAttribute("measureTypeList", measureTypeList);
}
}