1131 lines
48 KiB
Java
1131 lines
48 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.commons.lang3.StringUtils;
|
||
|
|
import org.apache.ibatis.session.SqlSession;
|
||
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
||
|
|
import org.springframework.stereotype.Service;
|
||
|
|
|
||
|
|
import com.pms.common.SqlMapConfig;
|
||
|
|
import com.pms.common.bean.PersonBean;
|
||
|
|
import com.pms.common.utils.CommonUtils;
|
||
|
|
import com.pms.common.utils.Constants;
|
||
|
|
import com.pms.common.utils.MailUtil;
|
||
|
|
import com.pms.salesmgmt.service.SalesMngService;
|
||
|
|
|
||
|
|
@Service
|
||
|
|
public class ApprovalService {
|
||
|
|
|
||
|
|
@Autowired
|
||
|
|
CommonService commonService;
|
||
|
|
|
||
|
|
@Autowired
|
||
|
|
SalesMngService salesMngService;
|
||
|
|
|
||
|
|
@Autowired
|
||
|
|
PurchaseOrderService purchaseOrderService;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* <pre>
|
||
|
|
* targetObjId를 통해 등록된 approval이 있는지 체크한다.
|
||
|
|
* 있다면 해당 approval object id를 리턴.
|
||
|
|
* 없다면 approval을 생성 후, object id를 리턴.
|
||
|
|
*
|
||
|
|
* transaction 관리대상.
|
||
|
|
* </pre>
|
||
|
|
* @param sqlSession
|
||
|
|
* @param paramMap
|
||
|
|
* @return approval의 object id
|
||
|
|
* @throws Exception
|
||
|
|
*/
|
||
|
|
public String checkApprovalObjId(SqlSession sqlSession, Map paramMap)throws Exception{
|
||
|
|
String result = "";
|
||
|
|
|
||
|
|
Map map = sqlSession.selectOne("approval.selectApprovalInfo", paramMap);
|
||
|
|
if(map != null) result = CommonUtils.checkNull(map.get("OBJID"));
|
||
|
|
|
||
|
|
if("".equals(result)){
|
||
|
|
result = CommonUtils.createObjId();
|
||
|
|
paramMap.put("objId", result);
|
||
|
|
paramMap.put("systemType", Constants.SYSTEM_NAME);
|
||
|
|
sqlSession.insert("approval.insertApprovalInfo", paramMap);
|
||
|
|
}
|
||
|
|
|
||
|
|
paramMap.put("approvalObjId", result);
|
||
|
|
|
||
|
|
return result;
|
||
|
|
}
|
||
|
|
|
||
|
|
public Map getLastApprovalInfo(SqlSession sqlSession, Map paramMap)throws Exception{
|
||
|
|
paramMap.put("search_type", "last");
|
||
|
|
Map map = sqlSession.selectOne("approval.selectApprovalInfo", paramMap);
|
||
|
|
return map;
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* <pre>
|
||
|
|
* Route 신규 생성
|
||
|
|
* 반려 후, 생성이 될 수 있으니 Approval의 상태값을 inProcess로 변경.
|
||
|
|
* paramMap의 approvalObjId가 필요함.
|
||
|
|
*
|
||
|
|
* transaction 관리대상.
|
||
|
|
* </pre>
|
||
|
|
* @param sqlSession
|
||
|
|
* @param paramMap
|
||
|
|
* @return route의 object id
|
||
|
|
* @throws Exception
|
||
|
|
*/
|
||
|
|
public String createRouteInfo(SqlSession sqlSession, Map paramMap)throws Exception{
|
||
|
|
String result = "";
|
||
|
|
|
||
|
|
//1. Approval의 status를 inProcess로 변경.
|
||
|
|
Map approvalParamMap = new HashMap();
|
||
|
|
approvalParamMap.put("approvalObjId", CommonUtils.checkNull(paramMap.get("approvalObjId")));
|
||
|
|
approvalParamMap.put("status", "inProcess");
|
||
|
|
sqlSession.update("approval.changeApprovalStatus", approvalParamMap);
|
||
|
|
|
||
|
|
//2. route 생성
|
||
|
|
result = CommonUtils.checkNull(CommonUtils.createObjId());
|
||
|
|
paramMap.put("routeObjId", result);
|
||
|
|
paramMap.put("systemType", Constants.SYSTEM_NAME);
|
||
|
|
sqlSession.insert("approval.createRouteInfo", paramMap);
|
||
|
|
|
||
|
|
return result;
|
||
|
|
}
|
||
|
|
|
||
|
|
public void createApprovalTagetInfo(SqlSession sqlSession, Map paramMap, String targetObjIdsArr [])throws Exception{
|
||
|
|
if(!CommonUtils.isEmpty(targetObjIdsArr) && targetObjIdsArr.length > 0) {
|
||
|
|
Map dupCheckMap = new HashMap();
|
||
|
|
for (String targetObjId : targetObjIdsArr) {
|
||
|
|
if(StringUtils.isNotBlank(targetObjId) && !dupCheckMap.containsKey(targetObjId)) { //중복제거
|
||
|
|
dupCheckMap.put(targetObjId, "");
|
||
|
|
|
||
|
|
//1. APPROVAL_TARGET 생성
|
||
|
|
String objid = CommonUtils.checkNull(CommonUtils.createObjId());
|
||
|
|
paramMap.put("objId", objid);
|
||
|
|
paramMap.put("targetObjId", targetObjId);
|
||
|
|
//paramMap.put("systemType", Constants.SYSTEM_NAME);
|
||
|
|
sqlSession.insert("approval.createApprovalTagetInfo", paramMap);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* <pre>
|
||
|
|
* Inboxtask 신규 생성
|
||
|
|
*
|
||
|
|
* transaction 관리대상.
|
||
|
|
* </pre>
|
||
|
|
* @param sqlSession
|
||
|
|
* @param paramMap
|
||
|
|
* @param normalArr
|
||
|
|
* @param helpArr
|
||
|
|
* @param refArr
|
||
|
|
* @return
|
||
|
|
* @throws Exception
|
||
|
|
*/
|
||
|
|
public boolean createInboxTask(SqlSession sqlSession, Map paramMap, List<String> normalArr, List<String> helpArr, List<String> refArr)throws Exception{
|
||
|
|
boolean result = false;
|
||
|
|
|
||
|
|
int idx = 0;
|
||
|
|
for(String targetUserId : normalArr){
|
||
|
|
idx++;
|
||
|
|
|
||
|
|
paramMap.put("inboxTaskObjId", CommonUtils.createObjId());
|
||
|
|
paramMap.put("seq", idx);
|
||
|
|
paramMap.put("approvalType", "normal");
|
||
|
|
|
||
|
|
if(idx == 1){
|
||
|
|
paramMap.put("status", "ready");
|
||
|
|
|
||
|
|
//EO 결재 상신(최초) 시 결재구분 일반 중 첫번째 인원에게 메일을 발송한다.
|
||
|
|
String targetType = CommonUtils.checkNull(paramMap.get("targetType"));
|
||
|
|
|
||
|
|
System.out.println("createInboxTask(paramMap):"+paramMap);
|
||
|
|
|
||
|
|
if("EO".equals(targetType)){
|
||
|
|
|
||
|
|
System.out.println("createInboxTask(idx):"+idx);
|
||
|
|
System.out.println("createInboxTask(targetUserId):"+targetUserId);
|
||
|
|
|
||
|
|
approvalEODistribute(sqlSession, paramMap,targetUserId);
|
||
|
|
}
|
||
|
|
}else{
|
||
|
|
paramMap.put("status", "standby");
|
||
|
|
}
|
||
|
|
|
||
|
|
paramMap.put("targetUserId", targetUserId);
|
||
|
|
sqlSession.insert("approval.createInboxTaskInfo", paramMap);
|
||
|
|
}
|
||
|
|
|
||
|
|
for(String targetUserId : helpArr){
|
||
|
|
if(!"null".equals(targetUserId)){
|
||
|
|
paramMap.put("inboxTaskObjId", CommonUtils.createObjId());
|
||
|
|
paramMap.put("seq", 0);
|
||
|
|
paramMap.put("approvalType", "help");
|
||
|
|
paramMap.put("status", "ready");
|
||
|
|
paramMap.put("targetUserId", targetUserId);
|
||
|
|
sqlSession.insert("approval.createInboxTaskInfo", paramMap);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
for(String targetUserId : refArr){
|
||
|
|
if(!"null".equals(targetUserId)){
|
||
|
|
paramMap.put("inboxTaskObjId", CommonUtils.createObjId());
|
||
|
|
paramMap.put("seq", 0);
|
||
|
|
paramMap.put("approvalType", "ref");
|
||
|
|
paramMap.put("status", "complete");
|
||
|
|
paramMap.put("targetUserId", targetUserId);
|
||
|
|
sqlSession.insert("approval.createInboxTaskInfo", paramMap);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
result = true;
|
||
|
|
|
||
|
|
return result;
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 결재함 목록 조회
|
||
|
|
* @param paramMap
|
||
|
|
* @return
|
||
|
|
*/
|
||
|
|
public ArrayList getApprovalList(HttpServletRequest request, Map paramMap){
|
||
|
|
ArrayList<HashMap<String,Object>> resultList = new ArrayList();
|
||
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
||
|
|
|
||
|
|
try{
|
||
|
|
String countPerPage = CommonUtils.checkNull(request.getParameter("countPerPage"), Constants.ADMIN_COUNT_PER_PAGE+"");
|
||
|
|
|
||
|
|
paramMap.put("COUNT_PER_PAGE", Integer.parseInt(countPerPage));
|
||
|
|
|
||
|
|
//접속자 정보 등록
|
||
|
|
HttpSession session = request.getSession();
|
||
|
|
PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN);
|
||
|
|
String connectUserId = CommonUtils.checkNull(person.getUserId());
|
||
|
|
paramMap.put("connectUserId", connectUserId);
|
||
|
|
|
||
|
|
paramMap.put("systemType", Constants.SYSTEM_NAME);
|
||
|
|
|
||
|
|
Map pageMap = (HashMap)sqlSession.selectOne("approval.selectApprovalListCnt", paramMap);
|
||
|
|
pageMap = (HashMap)CommonUtils.setPagingInfo(request, pageMap);
|
||
|
|
System.out.println("pageMap : "+pageMap);
|
||
|
|
|
||
|
|
paramMap.put("PAGE_END", CommonUtils.checkNull(pageMap.get("PAGE_END")));
|
||
|
|
paramMap.put("PAGE_START", CommonUtils.checkNull(pageMap.get("PAGE_START")));
|
||
|
|
|
||
|
|
resultList = (ArrayList)sqlSession.selectList("approval.selectApprovalList", paramMap);
|
||
|
|
}catch(Exception e){
|
||
|
|
e.printStackTrace();
|
||
|
|
}finally{
|
||
|
|
sqlSession.close();
|
||
|
|
}
|
||
|
|
|
||
|
|
return CommonUtils.toUpperCaseMapKey(resultList);
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* approvalObjId를 통해 route 목록을 조회한다.
|
||
|
|
* @param paramMap
|
||
|
|
* @return
|
||
|
|
*/
|
||
|
|
public List getRouteList(Map paramMap){
|
||
|
|
List resultList = new ArrayList();
|
||
|
|
|
||
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
||
|
|
try{
|
||
|
|
resultList = (ArrayList)sqlSession.selectList("approval.getRouteList", paramMap);
|
||
|
|
}catch(Exception e){
|
||
|
|
e.printStackTrace();
|
||
|
|
}finally{
|
||
|
|
sqlSession.close();
|
||
|
|
}
|
||
|
|
|
||
|
|
return resultList;
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* routeObjId를 통해 route 정보를 조회한다.
|
||
|
|
* @param paramMap
|
||
|
|
* @return
|
||
|
|
*/
|
||
|
|
public Map getRouteInfo(Map paramMap){
|
||
|
|
Map resultMap = new HashMap();
|
||
|
|
|
||
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
||
|
|
try{
|
||
|
|
resultMap = (HashMap)sqlSession.selectOne("approval.getRouteInfo", paramMap);
|
||
|
|
}catch(Exception e){
|
||
|
|
e.printStackTrace();
|
||
|
|
}finally{
|
||
|
|
sqlSession.close();
|
||
|
|
}
|
||
|
|
|
||
|
|
return resultMap;
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* route별 inboxtask 목록을 조회한다.
|
||
|
|
* @param paramMap
|
||
|
|
* @return
|
||
|
|
*/
|
||
|
|
public List getInboxtaskList(Map paramMap){
|
||
|
|
List resultList = new ArrayList();
|
||
|
|
|
||
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
||
|
|
try{
|
||
|
|
resultList = (ArrayList)sqlSession.selectList("approval.selectInboxtaskList", paramMap);
|
||
|
|
}catch(Exception e){
|
||
|
|
e.printStackTrace();
|
||
|
|
}finally{
|
||
|
|
sqlSession.close();
|
||
|
|
}
|
||
|
|
|
||
|
|
return resultList;
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 담당자 결재 처리
|
||
|
|
* @param sqlSession
|
||
|
|
* @param paramMap
|
||
|
|
*/
|
||
|
|
public void setApprovalResult(SqlSession sqlSession, Map paramMap){
|
||
|
|
String result = CommonUtils.checkNull(paramMap.get("result"));
|
||
|
|
String status = "";
|
||
|
|
|
||
|
|
if("Y".equals(result)) status = "complete";
|
||
|
|
else if("N".equals(result)) status = "reject";
|
||
|
|
else status = "cancel";
|
||
|
|
|
||
|
|
paramMap.put("status", status);
|
||
|
|
|
||
|
|
|
||
|
|
System.out.println("setApprovalResult.paramMap : "+paramMap);
|
||
|
|
|
||
|
|
sqlSession.update("approval.setInboxtaskResult", paramMap);
|
||
|
|
|
||
|
|
|
||
|
|
//다음순번의 결재자에게 메일발송 (개발필요) 반려가 되었을경우는 다른 함수에서 처리.
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 승인일 경우 다음 결재자가 있는지 확인 후, 다음 결재자의 상태를 ready로 변경한다.
|
||
|
|
* @param sqlSession
|
||
|
|
* @param paramMap
|
||
|
|
*/
|
||
|
|
public void changeNextApprovalStatus(SqlSession sqlSession, Map paramMap){
|
||
|
|
int nextSeq = Integer.parseInt(CommonUtils.checkNull(paramMap.get("seq"), "0"))+1;
|
||
|
|
paramMap.put("nextSeq", nextSeq);
|
||
|
|
Map<String,Object> map = sqlSession.selectOne("approval.getNextApprovalObjId", paramMap);
|
||
|
|
|
||
|
|
map = CommonUtils.toUpperCaseMapKey(map);
|
||
|
|
|
||
|
|
System.out.println("changeNextApprovalStatus(map):"+map);
|
||
|
|
|
||
|
|
if(map != null && !map.isEmpty()){
|
||
|
|
String nextInboxtaskObjId = CommonUtils.checkNull(map.get("INBOXTASK_OBJID"));
|
||
|
|
sqlSession.update("approval.setNextInboxtaskStatus", nextInboxtaskObjId);
|
||
|
|
|
||
|
|
Map targetMap = sqlSession.selectOne("approval.getTargetType", paramMap);
|
||
|
|
String targetType = CommonUtils.checkNull(targetMap.get("TARGET_TYPE"));
|
||
|
|
String nextUserId = CommonUtils.checkNull(map.get("TARGET_USER_ID"));
|
||
|
|
String targetObjId = CommonUtils.checkNull(map.get("TARGET_OBJID"));
|
||
|
|
String sendEmail = CommonUtils.checkNull(map.get("EMAIL"));
|
||
|
|
System.out.println("changeNextApprovalStatus(targetMap):"+targetMap);
|
||
|
|
String mailTitle = "";
|
||
|
|
|
||
|
|
if("EO".equals(targetType)){
|
||
|
|
|
||
|
|
HashMap eoParamMap = new HashMap();
|
||
|
|
eoParamMap.put("routeObjId", CommonUtils.checkNull(paramMap.get("routeObjId")));
|
||
|
|
eoParamMap.put("targetObjId", targetObjId);
|
||
|
|
eoParamMap.put("status", "ready");
|
||
|
|
|
||
|
|
approvalEODistribute(sqlSession, eoParamMap, nextUserId);
|
||
|
|
|
||
|
|
}else if("EXPENSE_APPLY".equals(targetType)){ //경비신청
|
||
|
|
|
||
|
|
mailTitle = "[경비신청서 결재요청] 1건이 발생했습니다.";
|
||
|
|
MailUtil.sendMail("plm_admin", "master@hongsungeng.co.kr", nextUserId, sendEmail, "", "", "", mailTitle, mailTitle, "ISSUE_RELEASE");
|
||
|
|
|
||
|
|
}else if("ISSUE_RELEASE".equals(targetType)){ //통합문제점
|
||
|
|
|
||
|
|
mailTitle = "[문제점개선대책서 결재요청] 1건이 발생했습니다.";
|
||
|
|
MailUtil.sendMail("plm_admin", "master@hongsungeng.co.kr", nextUserId, sendEmail, "", "", "", mailTitle, mailTitle, "ISSUE_RELEASE");
|
||
|
|
|
||
|
|
}else if("MATERIAL_APPLY".equals(targetType)){ //메일발송
|
||
|
|
|
||
|
|
mailTitle = "[발주서 결재요청] 1건이 발생했습니다.";
|
||
|
|
MailUtil.sendMail("plm_admin", "master@hongsungeng.co.kr", nextUserId, sendEmail, "", "", "", mailTitle, mailTitle, "ISSUE_RELEASE");
|
||
|
|
|
||
|
|
}else if("MATERIAL_SORTAPPLY".equals(targetType)){ //메일발송
|
||
|
|
|
||
|
|
mailTitle = "[발주서 결재요청] 1건이 발생했습니다.";
|
||
|
|
MailUtil.sendMail("plm_admin", "master@hongsungeng.co.kr", nextUserId, sendEmail, "", "", "", mailTitle, mailTitle, "ISSUE_RELEASE");
|
||
|
|
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 승인일 경우 다음 결재자가 있는지 확인 후, 다음 결재자에게 메일을 발송한다.
|
||
|
|
* @param sqlSession
|
||
|
|
* @param paramMap
|
||
|
|
*/
|
||
|
|
public void SendMailNextApproval(SqlSession sqlSession, Map paramMap){
|
||
|
|
int nextSeq = Integer.parseInt(CommonUtils.checkNull(paramMap.get("seq"), "0"))+1;
|
||
|
|
paramMap.put("nextSeq", nextSeq);
|
||
|
|
Map map = sqlSession.selectOne("approval.getNextApprovalObjId", paramMap);
|
||
|
|
|
||
|
|
System.out.println("changeNextApprovalStatus(map):"+map);
|
||
|
|
|
||
|
|
if(map != null && !map.isEmpty()){
|
||
|
|
String nextInboxtaskObjId = CommonUtils.checkNull(map.get("INBOXTASK_OBJID"));
|
||
|
|
sqlSession.update("approval.setNextInboxtaskStatus", nextInboxtaskObjId);
|
||
|
|
|
||
|
|
Map targetMap = sqlSession.selectOne("approval.getTargetType", paramMap);
|
||
|
|
String targetType = CommonUtils.checkNull(targetMap.get("TARGET_TYPE"));
|
||
|
|
String nextUserId = CommonUtils.checkNull(map.get("TARGET_USER_ID"));
|
||
|
|
String targetObjId = CommonUtils.checkNull(map.get("TARGET_OBJID"));
|
||
|
|
//EO 경우 다음 결재진행자에게 EO 갑지내용으로 메일을 발송한다.
|
||
|
|
|
||
|
|
System.out.println("changeNextApprovalStatus(targetMap):"+targetMap);
|
||
|
|
|
||
|
|
if("EO".equals(targetType)){
|
||
|
|
|
||
|
|
HashMap eoParamMap = new HashMap();
|
||
|
|
eoParamMap.put("routeObjId", CommonUtils.checkNull(paramMap.get("routeObjId")));
|
||
|
|
eoParamMap.put("targetObjId", targetObjId);
|
||
|
|
eoParamMap.put("status", "ready");
|
||
|
|
|
||
|
|
approvalEODistribute(sqlSession, eoParamMap, nextUserId);
|
||
|
|
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Route의 모든 결재자가 결재처리되었는지 확인 후, Route의 상태를 complete로 변경한다.
|
||
|
|
* approval도 종결시킨다.
|
||
|
|
* @param sqlSession
|
||
|
|
* @param paramMap
|
||
|
|
*/
|
||
|
|
public void completeRouteInfo(SqlSession sqlSession, Map paramMap){
|
||
|
|
Map<String,Object> map = sqlSession.selectOne("approval.getNotCompleteInboxtaskCnt", paramMap);
|
||
|
|
|
||
|
|
map = CommonUtils.toUpperCaseMapKey(map);
|
||
|
|
|
||
|
|
int cnt = Integer.parseInt(CommonUtils.checkNull(map.get("CNT"), "0"));
|
||
|
|
|
||
|
|
//ready나 standby인 상태값이 하나도 없다면 route, approval을 종결시킨다.
|
||
|
|
if(cnt == 0){
|
||
|
|
Map sqlParamMap = new HashMap();
|
||
|
|
sqlParamMap.put("completeStatus", "complete");
|
||
|
|
sqlParamMap.put("routeObjId", CommonUtils.checkNull(paramMap.get("routeObjId")));
|
||
|
|
sqlSession.update("approval.completeRoute", sqlParamMap);
|
||
|
|
|
||
|
|
//approval 종결
|
||
|
|
sqlSession.update("approval.completeApproval", paramMap);
|
||
|
|
|
||
|
|
HashMap routeSqlParamMap = new HashMap();
|
||
|
|
routeSqlParamMap.put("routeObjId", CommonUtils.checkNull(paramMap.get("routeObjId")));
|
||
|
|
|
||
|
|
Map<String,Object> routeMap = sqlSession.selectOne("approval.getRouteInfo", routeSqlParamMap);
|
||
|
|
|
||
|
|
routeMap = CommonUtils.toUpperCaseMapKey(routeMap);
|
||
|
|
|
||
|
|
//targetType을 가져와서 상태값 처리(PDM은 EO밖에 없음.)
|
||
|
|
Map<String,Object> targetMap = sqlSession.selectOne("approval.getTargetType", paramMap);
|
||
|
|
|
||
|
|
targetMap = CommonUtils.toUpperCaseMapKey(targetMap);
|
||
|
|
|
||
|
|
String targetType = CommonUtils.checkNull(targetMap.get("TARGET_TYPE"));
|
||
|
|
String targetObjId = CommonUtils.checkNull(targetMap.get("TARGET_OBJID"));
|
||
|
|
String writer = CommonUtils.checkNull(routeMap.get("WRITER"));
|
||
|
|
|
||
|
|
String sendEmail = CommonUtils.checkNull(routeMap.get("EMAIL"));
|
||
|
|
|
||
|
|
String mailTitle = "";
|
||
|
|
|
||
|
|
//route와 approval이 종결되었다고 알림메일 발송(개발필요)
|
||
|
|
if("EO".equals(targetType)){ //EO
|
||
|
|
targetMap.put("routeObjId", CommonUtils.checkNull(paramMap.get("routeObjId")));
|
||
|
|
targetMap.put("resultMessage", CommonUtils.checkNull(paramMap.get("resultMessage")));
|
||
|
|
targetMap.put("status", "release");
|
||
|
|
targetMap.put("targetObjId", targetObjId);
|
||
|
|
|
||
|
|
sqlSession.update("approval.changeEOStatus", targetMap);
|
||
|
|
approvalEODistribute(sqlSession, targetMap, writer);
|
||
|
|
}else if("PROBLEM".equals(targetType)){ //통합문제점
|
||
|
|
targetMap.put("status", "release");
|
||
|
|
targetMap.put("targetObjId", targetObjId);
|
||
|
|
|
||
|
|
sqlSession.update("approval.changeProblemApprovalStatus", targetMap);
|
||
|
|
}else if("EXPENSE_APPLY".equals(targetType)){ //경비신청
|
||
|
|
|
||
|
|
mailTitle = "[경비신청서 결재완료]결재가 완료 되었습니다.";
|
||
|
|
MailUtil.sendMail("plm_admin", "master@hongsungeng.co.kr", writer, sendEmail, "", "", "", mailTitle, mailTitle, "ISSUE_RELEASE");
|
||
|
|
}else if("ISSUE_RELEASE".equals(targetType)){ //통합문제점
|
||
|
|
targetMap.put("status", "WPS01100");
|
||
|
|
targetMap.put("targetObjId", targetObjId);
|
||
|
|
|
||
|
|
sqlSession.update("approval.changeIssueMgmtApprovalStatus", targetMap);
|
||
|
|
|
||
|
|
mailTitle = "[문제점개선대책서 결재완료]결재가 완료 되었습니다.";
|
||
|
|
MailUtil.sendMail("plm_admin", "master@hongsungeng.co.kr", writer, sendEmail, "", "", "", mailTitle, mailTitle, "ISSUE_RELEASE");
|
||
|
|
}else if("MATERIAL_APPLY".equals(targetType)){ //발주서작성
|
||
|
|
|
||
|
|
|
||
|
|
Map materMap = sqlSession.selectOne("approval.getmaterstatus", targetMap);
|
||
|
|
String STATUS_CD = CommonUtils.checkNull(materMap.get("STATUS_CD"));
|
||
|
|
if("PURSTCD00200".equals(STATUS_CD)){
|
||
|
|
targetMap.put("status", "PURSTCD00300");
|
||
|
|
}else if("PURSTCD00500".equals(STATUS_CD)){
|
||
|
|
targetMap.put("status", "PURSTCD00600");
|
||
|
|
}
|
||
|
|
targetMap.put("targetObjId", targetObjId);
|
||
|
|
|
||
|
|
sqlSession.update("approval.changeMaterApprovalStatus", targetMap);
|
||
|
|
mailTitle = "[발주서 결재완료]결재가 완료 되었습니다.";
|
||
|
|
MailUtil.sendMail("plm_admin", "master@hongsungeng.co.kr", writer, sendEmail, "", "", "", mailTitle, mailTitle, "ISSUE_RELEASE");
|
||
|
|
}else if("MATERIAL_SORTAPPLY".equals(targetType)){ //발주서작성
|
||
|
|
targetMap.put("status", "PURSTCD00600");
|
||
|
|
targetMap.put("targetObjId", targetObjId);
|
||
|
|
|
||
|
|
sqlSession.update("approval.changeMaterApprovalStatus", targetMap);
|
||
|
|
mailTitle = "[발주서 결재완료]결재가 완료 되었습니다.";
|
||
|
|
MailUtil.sendMail("plm_admin", "master@hongsungeng.co.kr", writer, sendEmail, "", "", "", mailTitle, mailTitle, "ISSUE_RELEASE");
|
||
|
|
}else if("USED_MNG".equals(targetType)){ //중고관리
|
||
|
|
targetMap.put("targetObjId", targetObjId);
|
||
|
|
targetMap.put("statusName", "결재완료");
|
||
|
|
targetMap.put("statusCommCD", Constants.USED_MNG_STATUS_CD);
|
||
|
|
sqlSession.update("approval.changeUsedMngApprovalStatus", targetMap);
|
||
|
|
}else if("CUSTOMER_MNG".equals(targetType)){ //중고관리
|
||
|
|
targetMap.put("targetObjId", targetObjId);
|
||
|
|
targetMap.put("statusName", "결재완료");
|
||
|
|
targetMap.put("statusCommCD", Constants.CUSTOMER_MNG_STATUS_CD);
|
||
|
|
sqlSession.update("approval.changeCustomerMngApprovalStatus", targetMap);
|
||
|
|
}else if("CHECK_REPORT_MNG".equals(targetType)){ //검수관리
|
||
|
|
targetMap.put("targetObjId", targetObjId);
|
||
|
|
targetMap.put("status", "approvalComplete");
|
||
|
|
sqlSession.update("approval.checkReportMngApprovalStatus", targetMap);
|
||
|
|
}else if("EO_MNG".equals(targetType)){ //EO 등록
|
||
|
|
targetMap.put("targetObjId", targetObjId);
|
||
|
|
targetMap.put("status", "approvalComplete");
|
||
|
|
targetMap.put("writer", writer);
|
||
|
|
sqlSession.update("approval.eoMngApprovalStatus", targetMap);
|
||
|
|
// 결제완료시 eo mng 의 reg date를 now()로 업데이트 , eo date
|
||
|
|
sqlSession.update("eoMng.changeEOEDITDate", targetMap);
|
||
|
|
// 결제완료시 part mng 의 eo를 현재 편집중인 eo로 업데이트 , eo date
|
||
|
|
sqlSession.update("eoMng.changePartEO", targetMap);
|
||
|
|
|
||
|
|
}else if("MOLD_DEV_REQUEST".equals(targetType)){ //금형제작의뢰
|
||
|
|
targetMap.put("targetObjId", targetObjId);
|
||
|
|
targetMap.put("status", "approvalComplete");
|
||
|
|
sqlSession.update("approval.moldDevRequestApprovalStatus", targetMap);
|
||
|
|
}else if("ECR_MNG".equals(targetType)){ //ECR
|
||
|
|
sqlParamMap.put("targetObjId", targetObjId);
|
||
|
|
sqlParamMap.put("status", "0000102");
|
||
|
|
sqlSession.update("approval.EcrMngApprovalStatus", sqlParamMap);
|
||
|
|
}else if("AS_MNG".equals(targetType)){ //ECR
|
||
|
|
sqlParamMap.put("targetObjId", targetObjId);
|
||
|
|
sqlParamMap.put("status", "0000102");
|
||
|
|
sqlSession.update("approval.ASMngApprovalStatus", sqlParamMap);
|
||
|
|
}else if("CSM".equals(targetType)){ //customer_service_mgmt
|
||
|
|
sqlParamMap.put("targetObjId", targetObjId);
|
||
|
|
sqlParamMap.put("status", "0000102");
|
||
|
|
sqlSession.update("approval.CSMApprovalStatus", sqlParamMap);
|
||
|
|
}else if("SALES_REQUEST".equals(targetType)){ //구매의뢰
|
||
|
|
sqlParamMap = new HashMap();
|
||
|
|
sqlParamMap.put("targetObjId", targetObjId);
|
||
|
|
sqlParamMap.put("status", "approvalComplete");
|
||
|
|
sqlSession.update("approval.salesRequestApprovalStatus", sqlParamMap);
|
||
|
|
|
||
|
|
salesMngService.afterApprovalCompleteSalesRequest(sqlSession, sqlParamMap);
|
||
|
|
}else if("PURCHASE_ORDER".equals(targetType)){ //발주
|
||
|
|
sqlParamMap = new HashMap();
|
||
|
|
sqlParamMap.put("targetObjId", targetObjId);
|
||
|
|
sqlParamMap.put("status", "approvalComplete");
|
||
|
|
sqlSession.update("approval.purchaseOrderApprovalStatus", sqlParamMap);
|
||
|
|
|
||
|
|
purchaseOrderService.afterApprovalCompleteRouteInfo(sqlSession, routeMap, targetMap, sqlParamMap);
|
||
|
|
|
||
|
|
|
||
|
|
//동시발주 관련 메일 N건 발송 처리 추가(240109)
|
||
|
|
// =>메인 1건만 나가는거로 변경되서 주석처리
|
||
|
|
/*
|
||
|
|
List multiMasterList = new ArrayList();
|
||
|
|
paramMap.put("MULTI_MASTER_OBJID", targetObjId);
|
||
|
|
multiMasterList = commonService.selectList("purchaseOrder.selectPurchaseOrderMasterList", null, paramMap);
|
||
|
|
if(CommonUtils.isNotEmpty(multiMasterList) && !multiMasterList.isEmpty()) {
|
||
|
|
for (Object object : multiMasterList) {
|
||
|
|
Map mapInfo = (Map)object;
|
||
|
|
sqlParamMap.put("targetObjId", mapInfo.get("OBJID"));
|
||
|
|
//sqlParamMap.put("status", "approvalComplete");
|
||
|
|
purchaseOrderService.afterApprovalCompleteRouteInfo(sqlSession, routeMap, targetMap, sqlParamMap);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
*/
|
||
|
|
}else if("DEFECT_ACTION".equals(targetType)){ //부적합품 통보서
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Route의 상태를 reject로 변경한다.
|
||
|
|
* @param sqlSession
|
||
|
|
* @param paramMap
|
||
|
|
*/
|
||
|
|
public void rejectRouteInfo(SqlSession sqlSession, Map paramMap){
|
||
|
|
Map sqlParamMap = new HashMap();
|
||
|
|
sqlParamMap.put("completeStatus", "reject");
|
||
|
|
sqlParamMap.put("routeObjId", CommonUtils.checkNull(paramMap.get("routeObjId")));
|
||
|
|
|
||
|
|
//Route를 반려오 상태를 변경한다.
|
||
|
|
sqlSession.update("approval.completeRoute", sqlParamMap);
|
||
|
|
|
||
|
|
//Route에 해당하는 정보를 가져온다.
|
||
|
|
HashMap routeInfoMap = new HashMap();
|
||
|
|
routeInfoMap = (HashMap)sqlSession.selectOne("approval.getRouteInfo", sqlParamMap);
|
||
|
|
|
||
|
|
String sendEmail = CommonUtils.checkNull(routeInfoMap.get("EMAIL"));
|
||
|
|
|
||
|
|
|
||
|
|
//Route에 해당하는 상신인원 정보
|
||
|
|
String writer = CommonUtils.checkNull(routeInfoMap.get("WRITER"));
|
||
|
|
|
||
|
|
//반려 시 작성된 Comment
|
||
|
|
String rejectComment = CommonUtils.checkNull(paramMap.get("resultMessage"));
|
||
|
|
|
||
|
|
//targetType, targetObjectId을 가져와서 상태값 처리(PDM은 EO밖에 없음.)
|
||
|
|
Map<String,Object> targetMap = sqlSession.selectOne("approval.getTargetType", paramMap);
|
||
|
|
|
||
|
|
targetMap = CommonUtils.toUpperCaseMapKey(targetMap);
|
||
|
|
|
||
|
|
String targetType = CommonUtils.checkNull(targetMap.get("TARGET_TYPE"));
|
||
|
|
String targetObjId = CommonUtils.checkNull(targetMap.get("TARGET_OBJID"));
|
||
|
|
String mailTitle ="";
|
||
|
|
|
||
|
|
targetMap.put("routeObjId", CommonUtils.checkNull(routeInfoMap.get("ROUTE_OBJID")));
|
||
|
|
targetMap.put("status", "reject");
|
||
|
|
targetMap.put("targetObjId", targetObjId);
|
||
|
|
|
||
|
|
if("EO".equals(targetType)){
|
||
|
|
//상태값을 reject(반려)로 변경한다.
|
||
|
|
sqlSession.update("approval.changeEOStatus", targetMap);
|
||
|
|
|
||
|
|
targetMap.put("resultMessage", rejectComment);
|
||
|
|
|
||
|
|
//상신자에게 반려되었다는 알림메일 발송
|
||
|
|
approvalEODistribute(sqlSession, targetMap, writer);
|
||
|
|
}else if("PROBLEM".equals(targetType)){
|
||
|
|
//상태값을 reject(반려)로 변경한다.
|
||
|
|
sqlSession.update("approval.changeProblemApprovalStatus", targetMap);
|
||
|
|
}else if("DESIGN_CHECK_LIST".equals(targetType)){
|
||
|
|
//상태값을 reject(반려)로 변경한다.
|
||
|
|
sqlSession.update("approval.changeDesignCheckListApprovalStatus", targetMap);
|
||
|
|
|
||
|
|
|
||
|
|
}else if("MATERIAL_APPLY".equals(targetType)){ //발주
|
||
|
|
Map materMap = sqlSession.selectOne("approval.getmaterstatus", targetMap);
|
||
|
|
String STATUS_CD = CommonUtils.checkNull(materMap.get("STATUS_CD"));
|
||
|
|
if("PURSTCD00200".equals(STATUS_CD)){
|
||
|
|
targetMap.put("status", "PURSTCD00100");
|
||
|
|
}else if("PURSTCD00500".equals(STATUS_CD)){
|
||
|
|
targetMap.put("status", "PURSTCD00400");
|
||
|
|
}
|
||
|
|
targetMap.put("targetObjId", targetObjId);
|
||
|
|
|
||
|
|
sqlSession.update("approval.changeMaterApprovalStatus", targetMap);
|
||
|
|
|
||
|
|
mailTitle = "[발주서 반려알림]결재가 반려 되었습니다.";
|
||
|
|
MailUtil.sendMail("plm_admin", "master@hongsungeng.co.kr", writer, sendEmail, "", "", "", mailTitle, mailTitle, "ISSUE_RELEASE");
|
||
|
|
}else if("EXPENSE_APPLY".equals(targetType)){ //경비
|
||
|
|
mailTitle = "[경비신청서 반려알림]결재가 반려 되었습니다.";
|
||
|
|
MailUtil.sendMail("plm_admin", "master@hongsungeng.co.kr", writer, sendEmail, "", "", "", mailTitle, mailTitle, "ISSUE_RELEASE");
|
||
|
|
}else if("ISSUE_RELEASE".equals(targetType)){ //통합문제점
|
||
|
|
|
||
|
|
mailTitle = "[문제점개선대책서 반려알림]결재가 반려 되었습니다.";
|
||
|
|
MailUtil.sendMail("plm_admin", "master@hongsungeng.co.kr", writer, sendEmail, "", "", "", mailTitle, mailTitle, "ISSUE_RELEASE");
|
||
|
|
|
||
|
|
}else if("MATERIAL_SORTAPPLY".equals(targetType)){ //발주
|
||
|
|
targetMap.put("status", "PURSTCD00100");
|
||
|
|
targetMap.put("targetObjId", targetObjId);
|
||
|
|
|
||
|
|
sqlSession.update("approval.changeMaterApprovalStatus", targetMap);
|
||
|
|
|
||
|
|
mailTitle = "[발주서 반려알림]결재가 반려 되었습니다.";
|
||
|
|
MailUtil.sendMail("plm_admin", "master@hongsungeng.co.kr", writer, sendEmail, "", "", "", mailTitle, mailTitle, "ISSUE_RELEASE");
|
||
|
|
}else if("USED_MNG".equals(targetType)){ //중고관리
|
||
|
|
targetMap.put("targetObjId", targetObjId);
|
||
|
|
targetMap.put("statusName", "반려");
|
||
|
|
targetMap.put("statusCommCD", Constants.USED_MNG_STATUS_CD);
|
||
|
|
sqlSession.update("approval.changeUsedMngApprovalStatus", targetMap);
|
||
|
|
}else if("CUSTOMER_MNG".equals(targetType)){ //중고관리
|
||
|
|
targetMap.put("targetObjId", targetObjId);
|
||
|
|
targetMap.put("statusName", "반려");
|
||
|
|
targetMap.put("statusCommCD", Constants.CUSTOMER_MNG_STATUS_CD);
|
||
|
|
sqlSession.update("approval.changeCustomerMngApprovalStatus", targetMap);
|
||
|
|
}else if("CHECK_REPORT_MNG".equals(targetType)){ //검수관리
|
||
|
|
targetMap.put("targetObjId", CommonUtils.checkNull(paramMap.get("targetObjId")));
|
||
|
|
targetMap.put("status", "reject");
|
||
|
|
sqlSession.update("approval.checkReportMngApprovalStatus", targetMap);
|
||
|
|
}else if("EO_MNG".equals(targetType)){ //검수관리
|
||
|
|
targetMap.put("targetObjId", targetObjId);
|
||
|
|
targetMap.put("status", "reject");
|
||
|
|
sqlSession.update("approval.eoMngApprovalStatus", targetMap);
|
||
|
|
}else if("MOLD_DEV_REQUEST".equals(targetType)){ //금형제작의뢰
|
||
|
|
targetMap.put("targetObjId", targetObjId);
|
||
|
|
targetMap.put("status", "reject");
|
||
|
|
sqlSession.update("approval.moldDevRequestApprovalStatus", targetMap);
|
||
|
|
}else if("ECR_MNG".equals(targetType)){ //ECR
|
||
|
|
sqlParamMap.put("targetObjId", targetObjId);
|
||
|
|
sqlParamMap.put("status", "0000107");
|
||
|
|
sqlSession.update("approval.EcrMngApprovalStatus", sqlParamMap);
|
||
|
|
}else if("AS_MNG".equals(targetType)){ //ECR
|
||
|
|
sqlParamMap.put("targetObjId", targetObjId);
|
||
|
|
sqlParamMap.put("status", "0000107");
|
||
|
|
sqlSession.update("approval.ASMngApprovalStatus", sqlParamMap);
|
||
|
|
}else if("CSM".equals(targetType)){ //customer_service_mgmt
|
||
|
|
sqlParamMap.put("targetObjId", targetObjId);
|
||
|
|
sqlParamMap.put("status", "0000107");
|
||
|
|
sqlSession.update("approval.CSMApprovalStatus", sqlParamMap);
|
||
|
|
}else if("SALES_REQUEST".equals(targetType)){ //구매의뢰
|
||
|
|
sqlParamMap.put("targetObjId", targetObjId);
|
||
|
|
sqlParamMap.put("status", "reject");
|
||
|
|
sqlSession.update("approval.salesRequestApprovalStatus", sqlParamMap);
|
||
|
|
}else if("PURCHASE_ORDER".equals(targetType)){ //구매의뢰
|
||
|
|
sqlParamMap.put("targetObjId", targetObjId);
|
||
|
|
sqlParamMap.put("status", "reject");
|
||
|
|
sqlSession.update("approval.purchaseOrderApprovalStatus", sqlParamMap);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 이전 결재자가 반려를 했기때문에, 대기상태의 모든 inboxtask를 cancel로 변경시킨다.
|
||
|
|
* @param sqlSession
|
||
|
|
* @param paramMap
|
||
|
|
*/
|
||
|
|
public void setInboxtaskCancel(SqlSession sqlSession, Map paramMap){
|
||
|
|
//반려가 되었기때문에 남은 인원에 대하여 반려알림 메일발송 (개발필요)
|
||
|
|
|
||
|
|
sqlSession.update("approval.cancelInboxtask", paramMap);
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 결재상신시 target의 상태값을 변경한다.
|
||
|
|
* @param sqlSession
|
||
|
|
* @param paramMap
|
||
|
|
*/
|
||
|
|
public void setTargetStatus(SqlSession sqlSession, Map paramMap){
|
||
|
|
String targetType = CommonUtils.checkNull(paramMap.get("targetType"));
|
||
|
|
if("EO".equals(targetType)){
|
||
|
|
//상태값을 complete로 변경한다.
|
||
|
|
Map sqlParamMap = new HashMap();
|
||
|
|
sqlParamMap.put("status", "approval");
|
||
|
|
sqlParamMap.put("TARGET_OBJID", CommonUtils.checkNull(paramMap.get("targetObjId")));
|
||
|
|
sqlSession.update("approval.changeEOStatus", sqlParamMap);
|
||
|
|
}else if("PROBLEM".equals(targetType)){
|
||
|
|
//결재상태를 create로 입력한다.
|
||
|
|
Map sqlParamMap = new HashMap();
|
||
|
|
sqlParamMap.put("status", "approval");
|
||
|
|
sqlParamMap.put("targetObjId", CommonUtils.checkNull(paramMap.get("targetObjId")));
|
||
|
|
sqlParamMap.put("routeObjId", CommonUtils.checkNull(paramMap.get("routeObjId")));
|
||
|
|
sqlSession.update("approval.changeProblemApprovalStatus", sqlParamMap);
|
||
|
|
}else if("DESIGN_CHECK_LIST".equals(targetType)){
|
||
|
|
//결재상태를 create로 입력한다.
|
||
|
|
Map sqlParamMap = new HashMap();
|
||
|
|
sqlParamMap.put("status", "approval");
|
||
|
|
sqlParamMap.put("targetObjId", CommonUtils.checkNull(paramMap.get("targetObjId")));
|
||
|
|
sqlParamMap.put("routeObjId", CommonUtils.checkNull(paramMap.get("routeObjId")));
|
||
|
|
sqlSession.update("approval.changeDesignCheckListApprovalStatus", sqlParamMap);
|
||
|
|
}else if("ISSUE_RELEASE".equals(targetType)){ //통합문제점
|
||
|
|
Map sqlParamMap = new HashMap();
|
||
|
|
sqlParamMap.put("status", "WPS01000");
|
||
|
|
sqlParamMap.put("targetObjId",CommonUtils.checkNull(paramMap.get("targetObjId")));
|
||
|
|
|
||
|
|
sqlSession.update("approval.changeIssueMgmtApprovalStatus", sqlParamMap);
|
||
|
|
}else if("USED_MNG".equals(targetType)){ //중고관리
|
||
|
|
Map sqlParamMap = new HashMap();
|
||
|
|
sqlParamMap.put("targetObjId", CommonUtils.checkNull(paramMap.get("targetObjId")));
|
||
|
|
sqlParamMap.put("statusName", "결재중");
|
||
|
|
sqlParamMap.put("statusCommCD", Constants.USED_MNG_STATUS_CD);
|
||
|
|
sqlSession.update("approval.changeUsedMngApprovalStatus", sqlParamMap);
|
||
|
|
}else if("CUSTOMER_MNG".equals(targetType)){ //중고관리
|
||
|
|
Map sqlParamMap = new HashMap();
|
||
|
|
sqlParamMap.put("targetObjId", CommonUtils.checkNull(paramMap.get("targetObjId")));
|
||
|
|
sqlParamMap.put("statusName", "결재중");
|
||
|
|
sqlParamMap.put("statusCommCD", Constants.CUSTOMER_MNG_STATUS_CD);
|
||
|
|
sqlSession.update("approval.changeCustomerMngApprovalStatus", sqlParamMap);
|
||
|
|
}else if("CHECK_REPORT_MNG".equals(targetType)){ //검수관리
|
||
|
|
Map sqlParamMap = new HashMap();
|
||
|
|
sqlParamMap.put("targetObjId", CommonUtils.checkNull(paramMap.get("targetObjId")));
|
||
|
|
sqlParamMap.put("status", "approvalRequest");
|
||
|
|
sqlSession.update("approval.checkReportMngApprovalStatus", sqlParamMap);
|
||
|
|
}else if("EO_MNG".equals(targetType)){ //검수관리
|
||
|
|
Map sqlParamMap = new HashMap();
|
||
|
|
sqlParamMap.put("targetObjId", CommonUtils.checkNull(paramMap.get("targetObjId")));
|
||
|
|
sqlParamMap.put("status", "approvalRequest");
|
||
|
|
sqlSession.update("approval.eoMngApprovalStatus", sqlParamMap);
|
||
|
|
}else if("MOLD_DEV_REQUEST".equals(targetType)){ //금형제작의뢰
|
||
|
|
Map sqlParamMap = new HashMap();
|
||
|
|
sqlParamMap.put("targetObjId", CommonUtils.checkNull(paramMap.get("targetObjId")));
|
||
|
|
sqlParamMap.put("status", "approvalRequest");
|
||
|
|
sqlSession.update("approval.moldDevRequestApprovalStatus", sqlParamMap);
|
||
|
|
}else if("ECR_MNG".equals(targetType)){ //금형제작의뢰
|
||
|
|
Map sqlParamMap = new HashMap();
|
||
|
|
sqlParamMap.put("targetObjId", CommonUtils.checkNull(paramMap.get("targetObjId")));
|
||
|
|
sqlParamMap.put("status", "0000101");
|
||
|
|
sqlSession.update("approval.EcrMngApprovalStatus", sqlParamMap);
|
||
|
|
}else if("AS_MNG".equals(targetType)){ //금형제작의뢰
|
||
|
|
Map sqlParamMap = new HashMap();
|
||
|
|
sqlParamMap.put("targetObjId", CommonUtils.checkNull(paramMap.get("targetObjId")));
|
||
|
|
sqlParamMap.put("status", "0000101");
|
||
|
|
sqlSession.update("approval.ASMngApprovalStatus", sqlParamMap);
|
||
|
|
}else if("CSM".equals(targetType)){ //customer_service_mgmt
|
||
|
|
Map sqlParamMap = new HashMap();
|
||
|
|
sqlParamMap.put("targetObjId", CommonUtils.checkNull(paramMap.get("targetObjId")));
|
||
|
|
sqlParamMap.put("status", "0000101");
|
||
|
|
sqlSession.update("approval.CSMApprovalStatus", sqlParamMap);
|
||
|
|
}else if("SALES_REQUEST".equals(targetType)){ //구매의뢰
|
||
|
|
Map sqlParamMap = new HashMap();
|
||
|
|
sqlParamMap.put("targetObjId", CommonUtils.checkNull(paramMap.get("targetObjId")));
|
||
|
|
sqlParamMap.put("status", "approvalRequest");
|
||
|
|
sqlSession.update("approval.salesRequestApprovalStatus", sqlParamMap);
|
||
|
|
}else if("PURCHASE_ORDER".equals(targetType)){ //구매의뢰
|
||
|
|
Map sqlParamMap = new HashMap();
|
||
|
|
sqlParamMap.put("targetObjId", CommonUtils.checkNull(paramMap.get("targetObjId")));
|
||
|
|
sqlParamMap.put("status", "approvalRequest");
|
||
|
|
sqlSession.update("approval.purchaseOrderApprovalStatus", sqlParamMap);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 결재상신 후 EO 배포처에 해당하는 인원들에게 EO 갑지내용을 배포한다.
|
||
|
|
* type : approval(결재 상신 시 1번째 인원 또는 다음 결재인원에게 메일 발송)
|
||
|
|
* type : release(모든 인원이 결재 완료하여 배포처 및 결재상신 인원에게 메일발송)
|
||
|
|
* @param sqlSession
|
||
|
|
* @param paramMap
|
||
|
|
* @param type
|
||
|
|
*/
|
||
|
|
public void approvalEODistribute(SqlSession sqlSession, Map paramMap,String userId){
|
||
|
|
ArrayList distributeMemberList = new ArrayList();
|
||
|
|
ArrayList connectedPartList = new ArrayList();
|
||
|
|
ArrayList connectedDrawPartList = new ArrayList();
|
||
|
|
HashMap eoInfoMap = new HashMap();
|
||
|
|
|
||
|
|
System.out.println("approvalEODistribute(paramMap):"+paramMap);
|
||
|
|
System.out.println("approvalEODistribute(userId):"+userId);
|
||
|
|
|
||
|
|
//EO의 ObjectId
|
||
|
|
String targetObjid = CommonUtils.checkNull(paramMap.get("targetObjId"));
|
||
|
|
|
||
|
|
//Route의 ObjectId
|
||
|
|
String routeObjId = CommonUtils.checkNull(paramMap.get("routeObjId"));
|
||
|
|
|
||
|
|
String status = CommonUtils.checkNull(paramMap.get("status"));
|
||
|
|
|
||
|
|
if(!"".equals(targetObjid)){
|
||
|
|
//EO 정보를 가져온다.
|
||
|
|
HashMap eoSqlMap = new HashMap();
|
||
|
|
eoSqlMap.put("objId", targetObjid);
|
||
|
|
eoInfoMap = sqlSession.selectOne("eo.getEOInfo",eoSqlMap);
|
||
|
|
//EO에 연결된 정보를 가져온다.
|
||
|
|
connectedPartList = (ArrayList)sqlSession.selectList("eo.getConnectPartList", eoSqlMap);
|
||
|
|
|
||
|
|
eoSqlMap.put("drawingType", "draw");
|
||
|
|
connectedDrawPartList = (ArrayList)sqlSession.selectList("eo.getConnectPartList", eoSqlMap);
|
||
|
|
|
||
|
|
|
||
|
|
String eoNo = CommonUtils.checkNull(eoInfoMap.get("EO_NO"));
|
||
|
|
String eoDate = CommonUtils.checkNull(eoInfoMap.get("EO_ISSUE_DATE"));
|
||
|
|
String carName = CommonUtils.checkNull(eoInfoMap.get("CAR_NAME"));
|
||
|
|
String carCode = CommonUtils.checkNull(eoInfoMap.get("CAR_CODE"));
|
||
|
|
|
||
|
|
|
||
|
|
//결재 상신 후 결재 순으로 인원에게 메일발송
|
||
|
|
if("ready".equals(status) || "complete".equals(status)){
|
||
|
|
|
||
|
|
//제목에 사용할 EO정보
|
||
|
|
String mailSubject = "[EO 결재요청] "+carCode+"_"+eoNo+"("+eoDate+")_"+connectedDrawPartList.size()+"건";
|
||
|
|
|
||
|
|
HashMap userSqlMap = new HashMap();
|
||
|
|
userSqlMap.put("userId",userId);
|
||
|
|
|
||
|
|
System.out.println("approvalEODistribute(userSqlMap):"+userSqlMap);
|
||
|
|
|
||
|
|
HashMap userMap = sqlSession.selectOne("admin.selectUserInfo", userSqlMap);
|
||
|
|
String userEmail = CommonUtils.checkNull(userMap.get("EMAIL"));
|
||
|
|
|
||
|
|
HashMap routeMap = (HashMap)getRouteInfo(paramMap);
|
||
|
|
|
||
|
|
String routeTitle = "";
|
||
|
|
String writer = "";
|
||
|
|
String comment = "";
|
||
|
|
if(null == routeMap || routeMap.isEmpty()){
|
||
|
|
routeTitle = CommonUtils.checkNull(paramMap.get("approvalTitle"));
|
||
|
|
|
||
|
|
HashMap writerSqlMap = new HashMap();
|
||
|
|
writerSqlMap.put("userId",CommonUtils.checkNull(paramMap.get("writer")));
|
||
|
|
HashMap writerMap = sqlSession.selectOne("admin.selectUserInfo", writerSqlMap);
|
||
|
|
|
||
|
|
writer = CommonUtils.checkNull(writerMap.get("DEPT_NAME"))+" "+CommonUtils.checkNull(writerMap.get("USER_NAME"));
|
||
|
|
comment = CommonUtils.checkNull(paramMap.get("approvalDescription"));
|
||
|
|
|
||
|
|
}else{
|
||
|
|
routeTitle = CommonUtils.checkNull(routeMap.get("APPROVAL_TITLE"));
|
||
|
|
writer = CommonUtils.checkNull(routeMap.get("WRITER_DEPT_NAME"))+" "+CommonUtils.checkNull(routeMap.get("WRITER_USER_NAME"));
|
||
|
|
comment = CommonUtils.checkNull(routeMap.get("APPROVAL_DESC"));
|
||
|
|
}
|
||
|
|
|
||
|
|
//결재 상신 시 문구
|
||
|
|
HashMap mailMap = new HashMap();
|
||
|
|
mailMap.put("approvalType", "EO");
|
||
|
|
mailMap.put("routeTitle", routeTitle);
|
||
|
|
mailMap.put("approvalUser", writer);
|
||
|
|
mailMap.put("comment", comment);
|
||
|
|
mailMap.put("userType", "상신자");
|
||
|
|
mailMap.put("mailUrl", Constants.SYSTEM_URL);
|
||
|
|
|
||
|
|
String mailContents = MailUtil.getHTMLContents("eoApprovalMailTemplate", mailMap);
|
||
|
|
|
||
|
|
System.out.println("approvalEODistribute(status):"+status);
|
||
|
|
System.out.println("approvalEODistribute(userEmail):"+userEmail);
|
||
|
|
System.out.println("approvalEODistribute(mailContents):"+mailContents);
|
||
|
|
System.out.println("approvalEODistribute(mailSubject):"+mailSubject);
|
||
|
|
|
||
|
|
MailUtil.sendMail(CommonUtils.checkNull(paramMap.get("writer")), "bestcw8388@iljitech.co.kr", userId, userEmail, "", "", "", mailSubject, mailContents, Constants.MAIL_TYPE_RELEASE_EO);
|
||
|
|
MailUtil.sendMail(CommonUtils.checkNull(paramMap.get("writer")), "", userId, "don38317@gmail.com", "", "", "", mailSubject, mailContents, Constants.MAIL_TYPE_RELEASE_EO);
|
||
|
|
|
||
|
|
//결재 인원 모두 결재 완료된 경우
|
||
|
|
}else if("release".equals(status)){
|
||
|
|
|
||
|
|
HashMap mailMap = new HashMap();
|
||
|
|
mailMap.put("oem", CommonUtils.checkNull(eoInfoMap.get("OEM_NAME")));
|
||
|
|
mailMap.put("car", CommonUtils.checkNull(eoInfoMap.get("CAR_CODE")));
|
||
|
|
mailMap.put("eoType", CommonUtils.checkNull(eoInfoMap.get("EO_TYPE_STR")));
|
||
|
|
mailMap.put("designTeam", CommonUtils.checkNull(eoInfoMap.get("DESIGN_TEAM")));
|
||
|
|
mailMap.put("eoNo", CommonUtils.checkNull(eoInfoMap.get("EO_NO")));
|
||
|
|
mailMap.put("eoDate", CommonUtils.checkNull(eoInfoMap.get("EO_ISSUE_DATE")));
|
||
|
|
mailMap.put("urgentDegree", CommonUtils.checkNull(eoInfoMap.get("URGENT_DEGREE_STR")));
|
||
|
|
mailMap.put("hkmcDate", CommonUtils.checkNull(eoInfoMap.get("HKMC_DISTRIBUTE_DATE")));
|
||
|
|
mailMap.put("approvalDesc", CommonUtils.checkNull(paramMap.get("approvalDescription")));
|
||
|
|
|
||
|
|
if(0 < connectedDrawPartList.size()){
|
||
|
|
|
||
|
|
String appendHtlm = "";
|
||
|
|
|
||
|
|
for(int i=0;i<connectedDrawPartList.size();i++){
|
||
|
|
HashMap connectPartMap = (HashMap)connectedDrawPartList.get(i);
|
||
|
|
|
||
|
|
String rnum = CommonUtils.checkNull(connectPartMap.get("RNUM"));
|
||
|
|
String partNo = CommonUtils.checkNull(connectPartMap.get("PART_NO"));
|
||
|
|
String partName = CommonUtils.checkNull(connectPartMap.get("PART_NAME"));
|
||
|
|
String changeItems = CommonUtils.checkNull(connectPartMap.get("CHANGE_ITEM_TITLE"));
|
||
|
|
String rev = CommonUtils.checkNull(connectPartMap.get("REV"));
|
||
|
|
String ecdFlag = CommonUtils.checkNull(connectPartMap.get("ECD_OBJID"));
|
||
|
|
|
||
|
|
if("".equals(ecdFlag)){
|
||
|
|
ecdFlag = "N";
|
||
|
|
}else{
|
||
|
|
ecdFlag = "Y";
|
||
|
|
}
|
||
|
|
|
||
|
|
String mngItemFlag = CommonUtils.checkNull(connectPartMap.get("MNG_ITEM_TYPE_TITLE"),"-");
|
||
|
|
String applyPointName = CommonUtils.checkNull(connectPartMap.get("APPLY_POINT_NAME"));
|
||
|
|
|
||
|
|
appendHtlm += "<tr>";
|
||
|
|
appendHtlm += " <td align='center' style= 'height:30px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border: 1px solid #ccc'>"+rnum+"</td>";
|
||
|
|
appendHtlm += " <td align='center' style= 'height:30px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border: 1px solid #ccc'>"+partNo+"</td>";
|
||
|
|
appendHtlm += " <td align='center' style= 'height:30px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border: 1px solid #ccc'>"+partName+"</td>";
|
||
|
|
appendHtlm += " <td align='center' style= 'height:30px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border: 1px solid #ccc'>"+changeItems+"</td>";
|
||
|
|
appendHtlm += " <td align='center' style= 'height:30px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border: 1px solid #ccc'>"+rev+"</td>";
|
||
|
|
appendHtlm += " <td align='center' style= 'height:30px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border: 1px solid #ccc'>"+ecdFlag+"</td>";
|
||
|
|
appendHtlm += " <td align='center' style= 'height:30px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border: 1px solid #ccc'>"+mngItemFlag+"</td>";
|
||
|
|
appendHtlm += " <td align='center' style= 'height:30px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border: 1px solid #ccc'>"+applyPointName+"</td>";
|
||
|
|
appendHtlm += "</tr>";
|
||
|
|
}
|
||
|
|
|
||
|
|
if("".equals(appendHtlm)){
|
||
|
|
appendHtlm += "<tr>";
|
||
|
|
appendHtlm += " <td colspan='8'>연결된 파트 정보가 없습니다.</td>";
|
||
|
|
appendHtlm += "</tr>";
|
||
|
|
}
|
||
|
|
|
||
|
|
//파트에 해당하는 영역에 Part 정보를 append 한다.
|
||
|
|
mailMap.put("connectedPartList", appendHtlm);
|
||
|
|
}
|
||
|
|
|
||
|
|
//모든 결재 완료 시 문구
|
||
|
|
//제목에 사용할 EO정보
|
||
|
|
String mailSubject = "[EO 결재완료] "+carCode+"_"+eoNo+"("+eoDate+")_"+connectedDrawPartList.size()+"건";
|
||
|
|
|
||
|
|
HashMap approvalMap = new HashMap();
|
||
|
|
approvalMap.put("objId", targetObjid);
|
||
|
|
ArrayList eoApprovalList = (ArrayList)sqlSession.selectList("eo.getEOApprovalList",approvalMap);
|
||
|
|
|
||
|
|
String approvalMembers = "";
|
||
|
|
|
||
|
|
for(int j=0;j<eoApprovalList.size();j++){
|
||
|
|
HashMap eoApprovalMap = (HashMap)eoApprovalList.get(j);
|
||
|
|
|
||
|
|
String memberName = CommonUtils.checkNull(eoApprovalMap.get("USER_NAME"));
|
||
|
|
String deptName = CommonUtils.checkNull(eoApprovalMap.get("DEPT_NAME"));
|
||
|
|
|
||
|
|
approvalMembers+="<tr>";
|
||
|
|
approvalMembers+="<td style='height:15px; border:1px solid #a3a3a3; font-size: 12px; line-height: 15px; text-align: center;'>"+(j+1)+"</td>";
|
||
|
|
approvalMembers+="<td style='height:15px; border:1px solid #a3a3a3; font-size: 12px; line-height: 15px; text-align: center;'>"+deptName+"</td>";
|
||
|
|
approvalMembers+="<td style='height:15px; border:1px solid #a3a3a3; font-size: 12px; line-height: 15px; text-align: center;'>"+memberName+"</td>";
|
||
|
|
approvalMembers+="</tr>";
|
||
|
|
}
|
||
|
|
|
||
|
|
mailMap.put("approvalMembers", approvalMembers);
|
||
|
|
|
||
|
|
HashMap distributeSqlMap = new HashMap();
|
||
|
|
|
||
|
|
distributeSqlMap.put("targetObjId", targetObjid);
|
||
|
|
|
||
|
|
distributeMemberList = (ArrayList)sqlSession.selectList("approval.getEODistributeMemberList", distributeSqlMap);
|
||
|
|
|
||
|
|
String releaseMembers = "";
|
||
|
|
|
||
|
|
for(int k=0;k<distributeMemberList.size();k++){
|
||
|
|
HashMap resultMap = (HashMap)distributeMemberList.get(k);
|
||
|
|
String deptName = CommonUtils.checkNull(resultMap.get("DEPT_NAME"));
|
||
|
|
String userName = CommonUtils.checkNull(resultMap.get("USER_NAME"));
|
||
|
|
|
||
|
|
if(null != distributeMemberList && k == (distributeMemberList.size()-1)){
|
||
|
|
releaseMembers += deptName+' '+userName;
|
||
|
|
}else{
|
||
|
|
releaseMembers += deptName+' '+userName+",";
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
mailMap.put("releaseMembers", releaseMembers);
|
||
|
|
|
||
|
|
String mailContents = MailUtil.getHTMLContents("eoMailTemplate", mailMap);
|
||
|
|
|
||
|
|
|
||
|
|
//차종에 해당하는 배포터 인원에게 메일을 배포한다.
|
||
|
|
for(int l=0;l<distributeMemberList.size();l++){
|
||
|
|
HashMap resultMap = (HashMap)distributeMemberList.get(l);
|
||
|
|
String email = CommonUtils.checkNull(resultMap.get("EMAIL"));
|
||
|
|
String receptionUserId = CommonUtils.checkNull(resultMap.get("MEMBER_USER_ID"));
|
||
|
|
|
||
|
|
System.out.println("배포처 mailContents:"+mailContents);
|
||
|
|
|
||
|
|
MailUtil.sendMail(CommonUtils.checkNull(paramMap.get("writer")), "bestcw8388@iljitech.co.kr", receptionUserId, email, "", "", "", mailSubject, mailContents, Constants.MAIL_TYPE_RELEASE_EO);
|
||
|
|
|
||
|
|
MailUtil.sendMail(CommonUtils.checkNull(paramMap.get("writer")), "", receptionUserId, "don38317@gmail.com", "", "", "", mailSubject, mailContents, Constants.MAIL_TYPE_RELEASE_EO);
|
||
|
|
}
|
||
|
|
|
||
|
|
//결재완료 후 상신자에게 결재완료 메일을 발송한다.
|
||
|
|
HashMap userSqlMap = new HashMap();
|
||
|
|
userSqlMap.put("userId",userId);
|
||
|
|
HashMap userMap = sqlSession.selectOne("admin.selectUserInfo", userSqlMap);
|
||
|
|
HashMap routeMap = (HashMap)getRouteInfo(paramMap);
|
||
|
|
|
||
|
|
String userEmail = CommonUtils.checkNull(userMap.get("EMIL"));
|
||
|
|
|
||
|
|
HashMap writerMailMap = new HashMap();
|
||
|
|
writerMailMap.put("approvalType", "EO");
|
||
|
|
writerMailMap.put("routeTitle", CommonUtils.checkNull(routeMap.get("APPROVAL_TITLE")));
|
||
|
|
writerMailMap.put("approvalUser", CommonUtils.checkNull(routeMap.get("WRITER_DEPT_NAME"))+" "+CommonUtils.checkNull(routeMap.get("WRITER_USER_NAME")));
|
||
|
|
writerMailMap.put("comment", CommonUtils.checkNull(paramMap.get("resultMessage")));
|
||
|
|
writerMailMap.put("userType", "상신자");
|
||
|
|
writerMailMap.put("mailUrl", Constants.SYSTEM_URL);
|
||
|
|
writerMailMap.put("releaseMembers", releaseMembers);
|
||
|
|
String writerMailContents = MailUtil.getHTMLContents("eoApprovalMailTemplate", writerMailMap);
|
||
|
|
|
||
|
|
System.out.println("상신자 mailContents:"+writerMailContents);
|
||
|
|
|
||
|
|
MailUtil.sendMail(CommonUtils.checkNull(paramMap.get("writer")), "bestcw8388@iljitech.co.kr", userId, userEmail, "", "", "", mailSubject, writerMailContents, Constants.MAIL_TYPE_RELEASE_EO);
|
||
|
|
|
||
|
|
MailUtil.sendMail(CommonUtils.checkNull(paramMap.get("writer")), "", userId, "don38317@gmail.com", "", "", "", mailSubject, writerMailContents, Constants.MAIL_TYPE_RELEASE_EO);
|
||
|
|
//반려된 경우
|
||
|
|
}else if("reject".equals(status)){
|
||
|
|
//반려 시 작성된 Comment
|
||
|
|
HashMap userSqlMap = new HashMap();
|
||
|
|
userSqlMap.put("userId",userId);
|
||
|
|
HashMap userMap = sqlSession.selectOne("admin.selectUserInfo", userSqlMap);
|
||
|
|
HashMap routeMap = (HashMap)getRouteInfo(paramMap);
|
||
|
|
String userEmail = CommonUtils.checkNull(userMap.get("EMIL"));
|
||
|
|
|
||
|
|
String writerMailSubject = "[EO 반려] "+carCode+"_"+eoNo+"("+eoDate+")_"+connectedPartList.size()+"건";
|
||
|
|
|
||
|
|
HashMap writerMailMap = new HashMap();
|
||
|
|
writerMailMap.put("approvalType", "EO");
|
||
|
|
writerMailMap.put("routeTitle", CommonUtils.checkNull(routeMap.get("APPROVAL_TITLE")));
|
||
|
|
writerMailMap.put("approvalUser", CommonUtils.checkNull(routeMap.get("WRITER_DEPT_NAME"))+" "+CommonUtils.checkNull(routeMap.get("WRITER_USER_NAME")));
|
||
|
|
writerMailMap.put("comment", CommonUtils.checkNull(paramMap.get("resultMessage")));
|
||
|
|
writerMailMap.put("userType", "상신자");
|
||
|
|
writerMailMap.put("mailUrl", Constants.SYSTEM_URL);
|
||
|
|
String writerMailContents = MailUtil.getHTMLContents("eoApprovalMailTemplate", writerMailMap);
|
||
|
|
|
||
|
|
MailUtil.sendMail(CommonUtils.checkNull(paramMap.get("writer")), "bestcw8388@iljitech.co.kr", userId, userEmail, "", "", "", writerMailSubject, writerMailContents, Constants.MAIL_TYPE_RELEASE_EO);
|
||
|
|
|
||
|
|
MailUtil.sendMail(CommonUtils.checkNull(paramMap.get("writer")), "", userId, "don38317@gmail.com", "", "", "", writerMailSubject, writerMailContents, Constants.MAIL_TYPE_RELEASE_EO);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 접속자의 결재건수를 가져온다.
|
||
|
|
* @param paramMap
|
||
|
|
* @return
|
||
|
|
*/
|
||
|
|
public Map getApprovalCnt(HttpServletRequest request, Map paramMap){
|
||
|
|
Map<String,Object> resultMap = new HashMap();
|
||
|
|
SqlSession sqlSession = null;
|
||
|
|
|
||
|
|
try{
|
||
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
||
|
|
|
||
|
|
String userId = CommonUtils.checkNull(paramMap.get("userId"));
|
||
|
|
System.out.println("userId : "+userId);
|
||
|
|
if(!"".equals(userId)){
|
||
|
|
Map sqlParamMap = new HashMap();
|
||
|
|
sqlParamMap.put("userId", userId);
|
||
|
|
sqlParamMap.put("systemType", "PMS");
|
||
|
|
resultMap = sqlSession.selectOne("approval.getApprovalCnt", sqlParamMap);
|
||
|
|
}
|
||
|
|
|
||
|
|
}catch(Exception e){
|
||
|
|
e.printStackTrace();
|
||
|
|
}finally{
|
||
|
|
sqlSession.close();
|
||
|
|
}
|
||
|
|
|
||
|
|
return CommonUtils.toUpperCaseMapKey(resultMap);
|
||
|
|
}
|
||
|
|
|
||
|
|
public ArrayList getApprovalLine(HttpServletRequest request, Map paramMap){
|
||
|
|
ArrayList<HashMap<String,Object>> resultList = new ArrayList();
|
||
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
||
|
|
try{
|
||
|
|
resultList = (ArrayList)sqlSession.selectList("approval.getApprovalLine",paramMap);
|
||
|
|
|
||
|
|
}catch(Exception e){
|
||
|
|
throw e;
|
||
|
|
}finally{
|
||
|
|
sqlSession.close();
|
||
|
|
}
|
||
|
|
return CommonUtils.toUpperCaseMapKey(resultList);
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|