ERP-node/src/com/pms/service/ProductKindSpecService.java

318 lines
12 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 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;
@Service
public class ProductKindSpecService {
@Autowired
CommonService commonService = null;
//@Autowired ProductionMngService productionMngService;
public List getProductKindSpecList(HttpServletRequest request,Map paramMap){
List<Map<String,Object>> resultList = new ArrayList();
SqlSession sqlSession = null;
try{
/*
sqlSession = SqlMapConfig.getInstance().getSqlSession();
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("productKindSpec.productKindSpecListCnt", paramMap);
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 = (ArrayList)sqlSession.selectList("productKindSpec.productKindSpecList", paramMap);
*/
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return CommonUtils.toUpperCaseMapKey(resultList);
}
public List getProductKindSpecDetailList(HttpServletRequest request,Map paramMap){
List<Map<String,Object>> resultList = new ArrayList();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultList = (ArrayList)sqlSession.selectList("productKindSpec.searchProductKindSpecPopupGridList", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return CommonUtils.toUpperCaseMapKey(resultList);
}
public Map getProductKindSpecMasterInfo(Map paramMap){
Map<String,Object> resultMap = new HashMap();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultMap = sqlSession.selectOne("productKindSpec.selectProductKindSpecMaster", paramMap);
List<Map<String,Object>> projectList = sqlSession.selectList("productKindSpec.selectProductKindSpecProjectList", paramMap);
resultMap.put("projectList", projectList);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return CommonUtils.toUpperCaseMapKey(resultMap);
}
public List<Map<String,Object>> selectProductKindSpecProjectList(Map paramMap){
List<Map<String,Object>> resultList = new ArrayList();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
resultList = sqlSession.selectList("productKindSpec.selectProductKindSpecProjectList", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return resultList;
}
public void applyProductKindSpec(HttpServletRequest request,Map paramMap){
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN);
String checkArrParam = CommonUtils.checkNull(request.getParameter("checkArr"));
String checkArr[] = checkArrParam.split(",");
if(0 == checkArr.length){
checkArr[0] = checkArrParam;
}
Map sqlParamMap = new HashMap();
for(String objId:checkArr){
sqlParamMap.clear();
sqlParamMap.put("OBJID", objId);
sqlParamMap.put("OBJID_PARENT", objId);
sqlParamMap.put("STATUS" , "DEPLOY");
sqlParamMap.put("WRITER", person.getUserId());
sqlSession.update("productKindSpec.updateProductKindSpecMain", sqlParamMap);
sqlSession.update("productKindSpec.updateProductKindSpec", sqlParamMap);
}
//sqlSession.update("productKindSpec.mergeProductKindSpecMain", paramMap);
//sqlSession.update("productKindSpec.mergeProductKindSpec", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
}
/**
* 제품별 사양 저장
* @param request
* @param paramMap
* @return
*/
public Map saveProductKindSpec(HttpServletRequest request, Map paramMap){
Map resultMap = new HashMap();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN);
paramMap.put("WRITER", person.getUserId());
//System.out.println("paramMap : "+paramMap);
String OBJID = CommonUtils.checkNull(request.getParameter("OBJID"), CommonUtils.createObjId());
String OBJID_PRODUCT = CommonUtils.checkNull(request.getParameter("OBJID_PRODUCT"));
String MECHANICAL_TYPE = CommonUtils.checkNull(request.getParameter("MECHANICAL_TYPE"));
paramMap.put("OBJID", OBJID);
//Map info = this.getProductKindSpecMasterInfo(paramMap);
List<Map<String,Object>> projectList = sqlSession.selectList("productKindSpec.selectProductKindSpecProjectList", paramMap);
if(CommonUtils.isEmpty(projectList) || projectList.isEmpty()){
}else{
paramMap.put("PRODUCT", OBJID_PRODUCT);
paramMap.put("STATUS", "REGIST");
int cnt = sqlSession.insert("productKindSpec.mergeProductKindSpecMain", paramMap);
List<Map<String, Object>> dataList = JsonUtil.JsonToList(CommonUtils.checkNull(paramMap.get("dataListJson")));
//if(!"".equals(authGroupObjid) && 0 < tagetMemberList.length){ html table version
if(!"".equals(OBJID_PRODUCT) && CommonUtils.isNotEmpty(dataList)){
for (Map<String, Object> data : dataList) {
//System.out.println(data);
//String targetMemberId = CommonUtils.checkNull(data.get("USER_ID"));
//data.putAll(paramMap);
data.put("STATUS", "REGIST");
data.put("OBJID_PARENT", OBJID);
data.put("PRODUCT", OBJID_PRODUCT);
data.put("MECHANICAL_TYPE", MECHANICAL_TYPE);
data.put("STATUS", "REGIST");
for (Map<String, Object> projectMap : projectList) {
//System.out.println(projectMap);
String PROJECT_NO = (String)projectMap.get("PROJECT_NO");
data.put("PROJECT_NO", PROJECT_NO);
data.put("OBJID", CommonUtils.checkNull(data.get("OBJID_"+PROJECT_NO), CommonUtils.createObjId()));
data.put("VALUE", data.get("VALUE_"+PROJECT_NO));
System.out.println(data);
sqlSession.insert("productKindSpec.mergeProductKindSpec", data);
}
}
}
}
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;
}
/**
* 제품별 사양 삭제
* @param request
* @param paramMap
*/
public void deleteProductKindSpecAll(HttpServletRequest request, Map paramMap){
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
try{
/*
String checkArrParam = CommonUtils.checkNull(request.getParameter("checkArr"));
String checkArr[] = checkArrParam.split(",");
if(0 == checkArr.length){
checkArr[0] = checkArrParam;
}
for(String eoObjId:checkArr){
Map sqlParamMap = new HashMap();
sqlParamMap.put("OBJID", eoObjId);
sqlSession.delete("productKindSpec.deleteProductKindSpecMain", sqlParamMap);
sqlSession.delete("productKindSpec.deleteProductKindSpec", sqlParamMap);
}
*/
sqlSession.delete("productKindSpec.deleteProductKindSpecMain", paramMap);
sqlSession.delete("productKindSpec.deleteProductKindSpec", paramMap);
sqlSession.commit();
}catch(Exception e){
sqlSession.rollback();
throw e;
}finally{
sqlSession.close();
}
}
public void deleteProductKindSpec(HttpServletRequest request, Map paramMap){
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
try{
String checkArrParam = CommonUtils.checkNull(request.getParameter("checkArr"));
String checkArr[] = checkArrParam.split(",");
if(0 == checkArr.length){
checkArr[0] = checkArrParam;
}
/*
for(String eoObjId:checkArr){
Map sqlParamMap = new HashMap();
sqlParamMap.put("OBJID", eoObjId);
sqlSession.delete("productKindSpec.deleteProductKindSpec",sqlParamMap);
}
*/
//String OBJID_PARENT = CommonUtils.checkNull(request.getParameter("OBJID_PARENT"));
String OBJID_PRODUCT = CommonUtils.checkNull(request.getParameter("OBJID_PRODUCT"));
String MECHANICAL_TYPE = CommonUtils.checkNull(request.getParameter("MECHANICAL_TYPE"));
List<Map<String, Object>> dataList = JsonUtil.JsonToList(CommonUtils.checkNull(paramMap.get("dataListJson")));
//if(!"".equals(authGroupObjid) && 0 < tagetMemberList.length){ html table version
if(!"".equals(OBJID_PRODUCT) && CommonUtils.isNotEmpty(dataList)){
for (Map<String, Object> data : dataList) {
//System.out.println(data);
//String targetMemberId = CommonUtils.checkNull(data.get("USER_ID"));
//data.putAll(paramMap);
//data.put("OBJID_PARENT", OBJID_PARENT);
data.put("PRODUCT", OBJID_PRODUCT);
data.put("MECHANICAL_TYPE", MECHANICAL_TYPE);
//System.out.println(data);
sqlSession.delete("productKindSpec.deleteProductKindSpec",data);
}
}
sqlSession.commit();
}catch(Exception e){
sqlSession.rollback();
throw e;
}finally{
sqlSession.close();
}
}
public void saveProductKindSpecDetailList(HttpServletRequest request,Map paramMap){
SqlSession sqlSession = null;
try{
List<Map<String, Object>> gridDataList = JsonUtil.JsonToList(CommonUtils.checkNull(paramMap.get("jqGrid")));
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
int cnt = sqlSession.delete("productKindSpec.deleteProductKindSpecDetailAll", paramMap);
for(int i=0; i<gridDataList.size(); i++){
Map insertMap = gridDataList.get(i);
if(CommonUtils.nullToEmpty((String)insertMap.get("EXPENSE_DETAIL_OBJID")).equals("")){
insertMap.put("EXPENSE_DETAIL_OBJID", CommonUtils.createObjId());
}
sqlSession.insert("productKindSpec.insertProductKindSpecDetail", gridDataList.get(i));
}
sqlSession.commit();
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
}
//제품별 사양 정보
public List productKindSpecInfo(HttpServletRequest request,Map paramMap){
List<Map<String,Object>> resultList = new ArrayList();
SqlSession sqlSession = null;
try{
sqlSession = SqlMapConfig.getInstance().getSqlSession();
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("productKindSpec.productKindSpecInfoCnt", paramMap);
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 = (ArrayList)sqlSession.selectList("productKindSpec.productKindSpecInfo", paramMap);
}catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return CommonUtils.toUpperCaseMapKey(resultList);
}
}