321 lines
8.5 KiB
Java
321 lines
8.5 KiB
Java
|
|
package com.pms.service;
|
||
|
|
|
||
|
|
import java.io.File;
|
||
|
|
import java.io.FileNotFoundException;
|
||
|
|
import java.io.FileOutputStream;
|
||
|
|
import java.io.IOException;
|
||
|
|
import java.text.SimpleDateFormat;
|
||
|
|
import java.util.ArrayList;
|
||
|
|
import java.util.Calendar;
|
||
|
|
import java.util.Collections;
|
||
|
|
import java.util.Comparator;
|
||
|
|
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.JsonUtil;
|
||
|
|
import com.pms.common.Message;
|
||
|
|
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;
|
||
|
|
|
||
|
|
@Service
|
||
|
|
public class ProcurStandMgmtService {
|
||
|
|
|
||
|
|
CommonService commonService = null;
|
||
|
|
|
||
|
|
@Autowired
|
||
|
|
ProjectService projectService;
|
||
|
|
|
||
|
|
@Autowired
|
||
|
|
ProductionMngService productionMngService;
|
||
|
|
|
||
|
|
@Autowired
|
||
|
|
InventoryMngService inventoryMngService;
|
||
|
|
|
||
|
|
@Autowired
|
||
|
|
public void setCommonService(CommonService commonService){
|
||
|
|
this.commonService = commonService;
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 대분류(CODE1) 저장
|
||
|
|
* @param paramMap
|
||
|
|
* @return
|
||
|
|
*/
|
||
|
|
public Map<String,Object> saveCODE1Info(HttpServletRequest request,Map paramMap){
|
||
|
|
Map resultMap = new HashMap();
|
||
|
|
SqlSession sqlSession = null;
|
||
|
|
|
||
|
|
try{
|
||
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
||
|
|
HttpSession session = request.getSession();
|
||
|
|
PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN);
|
||
|
|
String personId = CommonUtils.checkNull(person.getUserId());
|
||
|
|
|
||
|
|
paramMap.put("WRITER", personId);
|
||
|
|
|
||
|
|
System.out.println("paramMap :: " + paramMap);
|
||
|
|
sqlSession.insert("procurStandMgmt.saveCODE1Info", paramMap);
|
||
|
|
|
||
|
|
sqlSession.commit();
|
||
|
|
|
||
|
|
resultMap.put("result", true);
|
||
|
|
resultMap.put("msg", Message.SAVE_SUCCESS);
|
||
|
|
|
||
|
|
}catch(Exception e){
|
||
|
|
sqlSession.rollback();
|
||
|
|
resultMap.put("result", false);
|
||
|
|
resultMap.put("msg", Message.SAVE_FAILED);
|
||
|
|
e.printStackTrace();
|
||
|
|
}finally{
|
||
|
|
sqlSession.close();
|
||
|
|
}
|
||
|
|
|
||
|
|
return resultMap;
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 대분류(CODE1) 정보를 가져온다.
|
||
|
|
* @param request
|
||
|
|
* @param paramMap
|
||
|
|
* @return
|
||
|
|
*/
|
||
|
|
public HashMap<String,Object> getCodeInfo(HttpServletRequest request,Map<String,Object> paramMap){
|
||
|
|
HashMap<String,Object> codeInfo = new HashMap();
|
||
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
||
|
|
try{
|
||
|
|
|
||
|
|
String objid = CommonUtils.checkNull(request.getParameter("OBJID"));
|
||
|
|
|
||
|
|
if(!"".equals(objid)){
|
||
|
|
HashMap sqlParamMap = new HashMap();
|
||
|
|
sqlParamMap.put("OBJID", objid);
|
||
|
|
codeInfo = (HashMap)sqlSession.selectOne("procurStandMgmt.getCodeInfo", sqlParamMap);
|
||
|
|
}
|
||
|
|
|
||
|
|
}catch(Exception e){
|
||
|
|
throw e;
|
||
|
|
}finally{
|
||
|
|
sqlSession.close();
|
||
|
|
}
|
||
|
|
|
||
|
|
return CommonUtils.toUpperCaseMapKey(codeInfo);
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 대분류(CODE1) 삭제한다.
|
||
|
|
* @param paramMap
|
||
|
|
* @return
|
||
|
|
*/
|
||
|
|
public Map deleteCODE1Info(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){
|
||
|
|
Map sqlParamMap = new HashMap();
|
||
|
|
|
||
|
|
sqlParamMap.put("checkArr",checkArr);
|
||
|
|
|
||
|
|
sqlSession.delete("procurStandMgmt.deleteCODE1Info", 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();
|
||
|
|
e.printStackTrace();
|
||
|
|
}finally{
|
||
|
|
sqlSession.close();
|
||
|
|
}
|
||
|
|
|
||
|
|
return resultMap;
|
||
|
|
}
|
||
|
|
|
||
|
|
public List overlapStandardMng(HttpServletRequest request,Map paramMap){
|
||
|
|
List<Map<String,Object>> resultList = new ArrayList();
|
||
|
|
SqlSession sqlSession = null;
|
||
|
|
|
||
|
|
try{
|
||
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
||
|
|
|
||
|
|
//part 중복확인
|
||
|
|
resultList = sqlSession.selectList("procurStandMgmt.overlapStandardMng", paramMap);
|
||
|
|
|
||
|
|
}catch(Exception e){
|
||
|
|
e.printStackTrace();
|
||
|
|
}finally{
|
||
|
|
sqlSession.close();
|
||
|
|
}
|
||
|
|
|
||
|
|
return resultList;
|
||
|
|
}
|
||
|
|
|
||
|
|
public List overlapMaterialCode(HttpServletRequest request,Map paramMap){
|
||
|
|
List<Map<String,Object>> resultList = new ArrayList();
|
||
|
|
SqlSession sqlSession = null;
|
||
|
|
|
||
|
|
try{
|
||
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
||
|
|
|
||
|
|
//part 중복확인
|
||
|
|
resultList = sqlSession.selectList("procurStandMgmt.overlapMaterialCode", paramMap);
|
||
|
|
|
||
|
|
}catch(Exception e){
|
||
|
|
e.printStackTrace();
|
||
|
|
}finally{
|
||
|
|
sqlSession.close();
|
||
|
|
}
|
||
|
|
|
||
|
|
return resultList;
|
||
|
|
}
|
||
|
|
|
||
|
|
public Map saveMaterialCode(HttpServletRequest request,Map paramMap){
|
||
|
|
Map resultMap = new HashMap();
|
||
|
|
SqlSession sqlSession = null;
|
||
|
|
|
||
|
|
try{
|
||
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
||
|
|
|
||
|
|
HttpSession session = request.getSession();
|
||
|
|
PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN);
|
||
|
|
String personId = CommonUtils.checkNull(person.getUserId());
|
||
|
|
paramMap.put("WRITER",personId);
|
||
|
|
|
||
|
|
System.out.println("paramMap :: " + paramMap);
|
||
|
|
|
||
|
|
String ACTION_TYPE = CommonUtils.checkNull(paramMap.get("ACTION_TYPE"));
|
||
|
|
String REVISION = CommonUtils.checkNull(paramMap.get("REVISION"));
|
||
|
|
|
||
|
|
/*if("changeDesign".equals(ACTION_TYPE)){
|
||
|
|
//설계변경 외건은 전부 라스트 0으로 변경
|
||
|
|
//sqlSession.update("partMng.updateislast", paramMap);
|
||
|
|
|
||
|
|
if(REVISION.equals("RE")){
|
||
|
|
paramMap.put("REVISION", "A");
|
||
|
|
}else{
|
||
|
|
paramMap.put("REVISION", CommonUtils.getNextRevision(REVISION));
|
||
|
|
}
|
||
|
|
paramMap.put("STATUS", "changing"); //create/changing/release
|
||
|
|
paramMap.put("EO_DATE", "");
|
||
|
|
paramMap.put("EO_NO", "");
|
||
|
|
|
||
|
|
//part 저장
|
||
|
|
int cnt = sqlSession.update("partMng.mergePartMngchangeDesign", paramMap);
|
||
|
|
|
||
|
|
if(cnt > 0){
|
||
|
|
paramMap.put("QTY_TEMP", paramMap.get("Q_QTY"));
|
||
|
|
paramMap.put("STATUS", "beforeEdit");
|
||
|
|
sqlSession.update("partMng.structureQtySave", paramMap);
|
||
|
|
}
|
||
|
|
|
||
|
|
resultMap.put("result", true);
|
||
|
|
resultMap.put("msg", Message.SAVE_SUCCESS);
|
||
|
|
}else{*/
|
||
|
|
//part 저장
|
||
|
|
sqlSession.update("procurStandMgmt.mergeMaterialCode", paramMap);
|
||
|
|
|
||
|
|
resultMap.put("result", true);
|
||
|
|
resultMap.put("msg", Message.SAVE_SUCCESS);
|
||
|
|
/* }*/
|
||
|
|
|
||
|
|
sqlSession.commit();
|
||
|
|
}catch(Exception e){
|
||
|
|
sqlSession.rollback();
|
||
|
|
resultMap.put("result", false);
|
||
|
|
resultMap.put("msg", Message.SAVE_FAILED);
|
||
|
|
e.printStackTrace();
|
||
|
|
}finally{
|
||
|
|
sqlSession.close();
|
||
|
|
}
|
||
|
|
|
||
|
|
return resultMap;
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 대분류(CODE1) 정보를 가져온다.
|
||
|
|
* @param request
|
||
|
|
* @param paramMap
|
||
|
|
* @return
|
||
|
|
*/
|
||
|
|
public HashMap<String,Object> getMaterialCodeInfo(HttpServletRequest request,Map<String,Object> paramMap){
|
||
|
|
HashMap<String,Object> codeInfo = new HashMap();
|
||
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
||
|
|
try{
|
||
|
|
|
||
|
|
String objid = CommonUtils.checkNull(request.getParameter("OBJID"));
|
||
|
|
|
||
|
|
if(!"".equals(objid)){
|
||
|
|
HashMap sqlParamMap = new HashMap();
|
||
|
|
sqlParamMap.put("OBJID", objid);
|
||
|
|
codeInfo = (HashMap)sqlSession.selectOne("procurStandMgmt.getMaterialCodeInfo", sqlParamMap);
|
||
|
|
}
|
||
|
|
|
||
|
|
}catch(Exception e){
|
||
|
|
throw e;
|
||
|
|
}finally{
|
||
|
|
sqlSession.close();
|
||
|
|
}
|
||
|
|
|
||
|
|
return CommonUtils.toUpperCaseMapKey(codeInfo);
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 자재코드를 삭제한다.
|
||
|
|
* @param paramMap
|
||
|
|
* @return
|
||
|
|
*/
|
||
|
|
public Map deleteMaterialCode(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){
|
||
|
|
Map sqlParamMap = new HashMap();
|
||
|
|
|
||
|
|
sqlParamMap.put("checkArr",checkArr);
|
||
|
|
|
||
|
|
sqlSession.delete("procurStandMgmt.deleteMaterialCode", 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();
|
||
|
|
e.printStackTrace();
|
||
|
|
}finally{
|
||
|
|
sqlSession.close();
|
||
|
|
}
|
||
|
|
|
||
|
|
return resultMap;
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|