942 lines
32 KiB
Java
942 lines
32 KiB
Java
package com.pms.service;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.Date;
|
|
import java.util.HashMap;
|
|
import java.util.LinkedHashSet;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Set;
|
|
|
|
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.JsonUtil;
|
|
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 InventoryMngService extends BaseService{
|
|
|
|
|
|
@Autowired
|
|
CommonService commonService;
|
|
|
|
/**
|
|
* 재고관리 목록조회
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List getInventoryMngList(HttpServletRequest request, Map paramMap){
|
|
List<Map<String,Object>> resultList = new ArrayList();
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
//공통코드 부모코드를 지정한다.
|
|
setInventoryMngCommonCD(request, paramMap);
|
|
|
|
//동적 컬럼으로 사용할
|
|
setInventoryDynamicColumn(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("inventoryMng.getInventoryMngListCnt", 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 = sqlSession.selectList("inventoryMng.getInventoryMngList", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
|
|
System.out.println("paramMap:"+paramMap);
|
|
|
|
return CommonUtils.toUpperCaseMapKey(resultList);
|
|
}
|
|
|
|
/**
|
|
* 재고 및 투입이력 목록을 가져온다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List getInventoryHistoryList(HttpServletRequest request, Map paramMap){
|
|
List<Map<String,Object>> resultList = new ArrayList();
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
try{
|
|
setInventoryMngCommonCD(request, paramMap);
|
|
|
|
resultList = sqlSession.selectList("inventoryMng.getInventoryHistoryList",paramMap);
|
|
}catch(Exception e){
|
|
throw e;
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return CommonUtils.toUpperCaseMapKey(resultList);
|
|
}
|
|
|
|
/**
|
|
* 재고관리 재고등록
|
|
* @param request
|
|
* @param paramMap
|
|
*/
|
|
public void mergeInventoryRegist(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("inventoryMng.resetInventoryRegist",paramMap);
|
|
|
|
paramMap.put("OBJID",CommonUtils.createObjId());
|
|
|
|
//해당구역의 재고를 등록한다.
|
|
sqlSession.update("inventoryMng.insertInventoryRegist",paramMap);
|
|
|
|
sqlSession.commit();
|
|
}catch(Exception e){
|
|
sqlSession.rollback();
|
|
throw e;
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 재고관리 자재투입 등록
|
|
* @param request
|
|
* @param paramMap
|
|
*/
|
|
public void mergeInputResourceRegist(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);
|
|
|
|
//저장전 등록된 재고의 값을 최종적으로 재확인한다.
|
|
Map<String,Object> finalInventoryMap = CommonUtils.toUpperCaseMapKey(getFinalInventoryRegistInfo(request, paramMap));
|
|
|
|
int inputQty = Integer.parseInt(CommonUtils.checkNull(paramMap.get("INPUT_QTY"),"0"));
|
|
int finalInventoryQty = Integer.parseInt(CommonUtils.checkNull(finalInventoryMap.get("QTY"),"0"));
|
|
|
|
if(finalInventoryQty > inputQty){
|
|
//최신 재고에서 투입자재를 차감한다.
|
|
int applyQty = (finalInventoryQty-inputQty);
|
|
|
|
String newInventoryObjId = CommonUtils.createObjId();
|
|
|
|
finalInventoryMap.put("OBJID", newInventoryObjId);
|
|
finalInventoryMap.put("QTY", applyQty);
|
|
finalInventoryMap.put("REMARK", "자재투입등록");
|
|
|
|
//차감된 재고 반영 전 재고 최종여부를 초기화한다.
|
|
sqlSession.update("inventoryMng.resetInventoryRegist",finalInventoryMap);
|
|
|
|
//차감된 재고를 반영하고 최종여부를 지정한다.
|
|
sqlSession.update("inventoryMng.insertInventoryRegist",finalInventoryMap);
|
|
|
|
//투입자재를 저장한다.
|
|
paramMap.put("OBJID", CommonUtils.createObjId());
|
|
paramMap.put("PARENT_OBJID", newInventoryObjId);
|
|
sqlSession.insert("inventoryMng.insertInputResource",paramMap);
|
|
}
|
|
|
|
sqlSession.commit();
|
|
}catch(Exception e){
|
|
sqlSession.rollback();
|
|
throw e;
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 등록된 재고 중 최신정보를 가져온다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map getFinalInventoryRegistInfo(HttpServletRequest request, Map paramMap){
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
Map<String,Object> resultMap = new HashMap();
|
|
try{
|
|
HttpSession session = request.getSession();
|
|
resultMap = sqlSession.selectOne("inventoryMng.getFinalInventoryRegistInfo",paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}
|
|
|
|
return CommonUtils.toUpperCaseMapKey(resultMap);
|
|
}
|
|
|
|
/**
|
|
* 등록된 재고정보를 가져온다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map getInventoryRegistInfo(HttpServletRequest request, Map paramMap){
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
Map resultMap = new HashMap();
|
|
try{
|
|
HttpSession session = request.getSession();
|
|
resultMap = sqlSession.selectOne("inventoryMng.getFinalInventoryRegistInfo",paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
public void setInventoryMngCommonCD(HttpServletRequest request, Map paramMap){
|
|
paramMap.put("RESOURCE_TITLE_CD", Constants.RESOURCE_TITLE_CD);
|
|
paramMap.put("INVENTORY_LOCATION_CD", Constants.INVENTORY_LOCATION_CD);
|
|
paramMap.put("INVENTORY_DIVISION_CD", Constants.INVENTORY_DIVISION_CD);
|
|
}
|
|
|
|
/**
|
|
* 재고관리 삭제
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map deleteInventoryMng(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("inventoryMng.deleteInventoryMng",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 void setInventoryDynamicColumn(HttpServletRequest request, Map paramMap){
|
|
ArrayList<HashMap<String,Object>> inventoryLocationList = new ArrayList();
|
|
|
|
try{
|
|
inventoryLocationList = commonService.getCodeList(Constants.INVENTORY_LOCATION_CD,"common.getCodeList");
|
|
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}
|
|
paramMap.put("inventoryLocationList", inventoryLocationList);
|
|
|
|
request.setAttribute("inventoryLocationList", inventoryLocationList);
|
|
}
|
|
|
|
/**
|
|
* 영업관리 예가내역서용 재고 단건조회
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map getInventoryMngInfoForOrder(HttpServletRequest request, Map paramMap){
|
|
Map<String,Object> resultMap = new HashMap();
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
try{
|
|
setInventoryMngCommonCD(request, paramMap);
|
|
|
|
resultMap = sqlSession.selectOne("inventoryMng.getInventoryMngInfoForOrder",paramMap);
|
|
}catch(Exception e){
|
|
throw e;
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return CommonUtils.toUpperCaseMapKey(resultMap);
|
|
}
|
|
|
|
/**
|
|
* 자재등록
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map saveinventoryForm(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
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());
|
|
Map saveMap = new HashMap();
|
|
|
|
saveMap.put("WRITER" ,personId);
|
|
saveMap.put("CONTRACT_OBJID",CommonUtils.checkNull(paramMap.get("project_no")));
|
|
saveMap.put("UNIT" ,CommonUtils.checkNull(paramMap.get("unit")));
|
|
saveMap.put("PART_OBJID" , CommonUtils.checkNull(paramMap.get("part_no")));
|
|
saveMap.put("LOCATION" , CommonUtils.checkNull(paramMap.get("location")));
|
|
saveMap.put("SUB_LOCATION" , CommonUtils.checkNull(paramMap.get("sub_location")));
|
|
saveMap.put("RECEIPT_QTY" , CommonUtils.checkNull(paramMap.get("qty")));
|
|
saveMap.put("CAU_CD" , CommonUtils.checkNull(paramMap.get("cau_cd")));
|
|
|
|
//자재마스터 생성
|
|
Map<String,Object> InventoryMap = null;
|
|
String parentobjid = "";
|
|
InventoryMap = sqlSession.selectOne("inventoryMng.getInventoryInfo",saveMap); //objid=358264223
|
|
|
|
if(null!=InventoryMap){
|
|
parentobjid =CommonUtils.checkNull(InventoryMap.get("OBJID")); //parentobjid=358264223
|
|
|
|
}else{
|
|
parentobjid = CommonUtils.createObjId();
|
|
|
|
saveMap.put("OBJID" , parentobjid);
|
|
sqlSession.insert("inventoryMng.insertInventory",saveMap);
|
|
}
|
|
|
|
//자재입고등록
|
|
Map historyMap = new HashMap();
|
|
|
|
historyMap.put("OBJID" , CommonUtils.createObjId());
|
|
historyMap.put("PARENT_OBJID" , parentobjid);
|
|
historyMap.put("LOCATION" , CommonUtils.checkNull(paramMap.get("location")));
|
|
historyMap.put("SUB_LOCATION" , CommonUtils.checkNull(paramMap.get("sub_location")));
|
|
historyMap.put("RECEIPT_QTY" , CommonUtils.checkNull(paramMap.get("qty")));
|
|
historyMap.put("RECEIPT_DATE" , CommonUtils.checkNull(paramMap.get("receipt_date")));
|
|
historyMap.put("WRITER" , personId);
|
|
historyMap.put("CONTRACT_MGMT_OBJID",CommonUtils.checkNull(paramMap.get("project_no")));
|
|
|
|
historyMap.put("PURCHASE_ORDER_MASTER_OBJID", CommonUtils.checkNull(paramMap.get("ORDER_OBJID")));
|
|
historyMap.put("PURCHASE_ORDER_SUB_OBJID", CommonUtils.checkNull(paramMap.get("ORDER_OBJID")));
|
|
|
|
sqlSession.insert("inventoryMng.insertInventoryIn", historyMap);
|
|
|
|
//sqlSession.insert("inventoryMng.saveinventoryForm", paramMap);
|
|
sqlSession.commit();
|
|
resultMap.put("result", true);
|
|
resultMap.put("msg", Message.SAVE_SUCCESS);
|
|
}catch(Exception e){
|
|
resultMap.put("result", false);
|
|
resultMap.put("msg", Message.SAVE_FAILED);
|
|
sqlSession.rollback();
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
|
|
|
|
@SuppressWarnings({ "rawtypes", "unchecked" })
|
|
public Map deleteinventoryList(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
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("inventoryMng.deleteinventoryList", 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);
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
|
|
/**
|
|
* 재고관리 목록조회
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List getInventoryMngInputList(HttpServletRequest request, Map paramMap){
|
|
List<Map<String,Object>> resultList = new ArrayList();
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
//공통코드 부모코드를 지정한다.
|
|
setInventoryMngCommonCD(request, paramMap);
|
|
|
|
//동적 컬럼으로 사용할
|
|
setInventoryDynamicColumn(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("inventoryMng.getInventoryMngInputListCnt", 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 = sqlSession.selectList("inventoryMng.getInventoryMngInputList", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
|
|
System.out.println("paramMap:"+paramMap);
|
|
|
|
return CommonUtils.toUpperCaseMapKey(resultList);
|
|
}
|
|
|
|
public void saveInventoryInputFormPopUp(HttpServletRequest request, Map<String, Object> paramMap) throws Exception{
|
|
SqlSession sqlSession = null;
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
paramMap.put("HISOBJID",CommonUtils.createObjId());
|
|
int cnt = sqlSession.insert("inventoryMng.saveInventoryInputFormPopUp", paramMap);
|
|
|
|
sqlSession.commit();
|
|
|
|
}catch(Exception e){
|
|
sqlSession.rollback();
|
|
e.printStackTrace();
|
|
throw new Exception(e);
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 재고관리 이력조회 목록조회
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public List inventoryMngHistoryList(HttpServletRequest request, Map paramMap){
|
|
List<Map<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));
|
|
|
|
Map pageMap = (HashMap)sqlSession.selectOne("inventoryMng.getInventoryMngHistoryListCnt", 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 = sqlSession.selectList("inventoryMng.getInventoryMngHistoryList", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
|
|
System.out.println("paramMap:"+paramMap);
|
|
|
|
return CommonUtils.toUpperCaseMapKey(resultList);
|
|
}
|
|
|
|
|
|
@SuppressWarnings({ "rawtypes", "unchecked" })
|
|
public Map deleteinventoryHistoryList(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
|
int cnt = sqlSession.update("inventoryMng.deleteinventoryHistoryList", paramMap);
|
|
|
|
if(cnt > 0){
|
|
resultMap.put("result", true);
|
|
resultMap.put("msg", Message.DELETE_SUCCESS);
|
|
}
|
|
|
|
}catch(Exception e){
|
|
resultMap.put("result", false);
|
|
resultMap.put("msg", Message.DELETE_FAILED);
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 자재관리 불출의뢰 목록 가져온다.
|
|
* @param sqlSession
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
* @throws Exception
|
|
*/
|
|
public List getInventoryMngRequestList(HttpServletRequest request, Map paramMap){
|
|
List<Map<String,Object>> resultList = new ArrayList();
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
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);
|
|
resultList = sqlSession.selectList("inventoryMng.getInventoryMngRequestList", sqlParamMap);
|
|
}
|
|
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return CommonUtils.toUpperCaseMapKey(resultList);
|
|
}
|
|
|
|
public void saveInventoryRequest(HttpServletRequest request, Map<String, Object> paramMap) {
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
try{
|
|
String INVENTORY_REQUEST_MASTER_OBJID = CommonUtils.checkNull(request.getParameter("INVENTORY_REQUEST_MASTER_OBJID"));
|
|
String CONTRACT_MGMT_OBJID = CommonUtils.checkNull(request.getParameter("project_no"));
|
|
String WRITER = CommonUtils.checkNull(paramMap.get("WRITER"));
|
|
System.out.println("WRITER:"+WRITER);
|
|
//String status = CommonUtils.checkNull(request.getParameter("STATUS"));
|
|
|
|
if("".equals(INVENTORY_REQUEST_MASTER_OBJID)){
|
|
INVENTORY_REQUEST_MASTER_OBJID = CommonUtils.createObjId();
|
|
//paramMap.put("STATUS", "create");
|
|
}
|
|
|
|
paramMap.put("INVENTORY_REQUEST_MASTER_OBJID", INVENTORY_REQUEST_MASTER_OBJID);
|
|
paramMap.put("CONTRACT_MGMT_OBJID", CONTRACT_MGMT_OBJID);
|
|
paramMap.put("REQUEST_DATE", CommonUtils.getDateTime(new Date(), "yyyy-MM-dd"));
|
|
|
|
sqlSession.update("inventoryMng.mergeInventoryRequestMasterInfo", paramMap);
|
|
//sqlSession.update("inventoryMng.initInventoryRequestPart", paramMap);
|
|
|
|
String[] OBJIDs = request.getParameterValues("OBJID");
|
|
|
|
if(OBJIDs != null){
|
|
for(int i=0; i<OBJIDs.length; i++){
|
|
|
|
int requestQty = Integer.parseInt(CommonUtils.checkNull(request.getParameterValues("REQUEST_QTY")[i],"0"));
|
|
if(0 < requestQty){
|
|
Map saveMap = new HashMap();
|
|
saveMap.put("OBJID" , CommonUtils.createObjId());
|
|
saveMap.put("PARENT_OBJID" , OBJIDs[i]);
|
|
saveMap.put("INVENTORY_REQUEST_MASTER_OBJID" ,INVENTORY_REQUEST_MASTER_OBJID);
|
|
saveMap.put("CONTRACT_MGMT_OBJID" ,CommonUtils.checkNull(request.getParameterValues("project_no" )[i]));
|
|
saveMap.put("UNIT" ,CommonUtils.checkNull(request.getParameterValues("unit_code" )[i]));
|
|
saveMap.put("REQUEST_QTY" , CommonUtils.checkNull(request.getParameterValues("REQUEST_QTY" )[i]));
|
|
saveMap.put("IN_OBJID" , CommonUtils.checkNull(request.getParameterValues("IN_OBJID" )[i]));
|
|
//saveMap.put("OUT_QTY" , CommonUtils.checkNull(request.getParameterValues("OUT_QTY" )[i], "0"));
|
|
//saveMap.put("OUT_DATE" , CommonUtils.checkNull(request.getParameterValues("OUT_DATE" )[i]));
|
|
//saveMap.put("SUCCESSOR_USER" , CommonUtils.checkNull(request.getParameterValues("SUCCESSOR_USER" )[i]));
|
|
//saveMap.put("ACQ_USER" , CommonUtils.checkNull(request.getParameterValues("ACQ_USER" )[i]));
|
|
//saveMap.put("WRITER" , WRITER);
|
|
|
|
System.out.println("saveMap:"+saveMap);
|
|
|
|
sqlSession.update("inventoryMng.saveInventoryRequest", saveMap);
|
|
//in 요청수량(request_qty), out_objid 업데이트
|
|
sqlSession.update("inventoryMng.mergeInventoryInInfo", saveMap);
|
|
}
|
|
}
|
|
}
|
|
|
|
sqlSession.commit();
|
|
}catch(Exception e){
|
|
sqlSession.rollback();
|
|
throw e;
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
}
|
|
|
|
public void saveInventoryTransfer(HttpServletRequest request, Map<String, Object> paramMap) {
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
try{
|
|
String INVENTORY_REQUEST_MASTER_OBJID = CommonUtils.checkNull(request.getParameter("INVENTORY_REQUEST_MASTER_OBJID"));
|
|
|
|
//String status = CommonUtils.checkNull(request.getParameter("STATUS"));
|
|
|
|
paramMap.put("INVENTORY_REQUEST_MASTER_OBJID", INVENTORY_REQUEST_MASTER_OBJID);
|
|
|
|
//String[] PARENT_OBJIDs = request.getParameterValues("PARENT_OBJID");
|
|
String[] OBJIDs = request.getParameterValues("OBJID");
|
|
|
|
|
|
if(OBJIDs != null){
|
|
for(int i=0; i<OBJIDs.length; i++){
|
|
Map saveMap = new HashMap();
|
|
saveMap.put("OBJID" , CommonUtils.checkNull(OBJIDs[i],CommonUtils.createObjId()));
|
|
//saveMap.put("PARENT_OBJID" , PARENT_OBJIDs[i]);
|
|
//saveMap.put("INVENTORY_REQUEST_MASTER_OBJID" ,INVENTORY_REQUEST_MASTER_OBJID);
|
|
//saveMap.put("REQUEST_QTY" , CommonUtils.checkNull(request.getParameterValues("REQUEST_QTY" )[i]));
|
|
saveMap.put("OUT_QTY" , CommonUtils.checkNull(request.getParameterValues("OUT_QTY" )[i], "0"));
|
|
saveMap.put("OUT_DATE" , CommonUtils.checkNull(request.getParameterValues("OUT_DATE" )[i]));
|
|
// saveMap.put("SUCCESSOR_USER" , CommonUtils.checkNull(request.getParameterValues("SUCCESSOR_USER" )[i]));
|
|
saveMap.put("ACQ_USER" , CommonUtils.checkNull(request.getParameterValues("ACQ_USER" )[i]));
|
|
saveMap.put("WRITER" , CommonUtils.checkNull(paramMap.get("WRITER" )));
|
|
saveMap.put("SIGN" , CommonUtils.checkNull(paramMap.get("sign" )));
|
|
|
|
System.out.println("saveMap:"+saveMap);
|
|
sqlSession.update("inventoryMng.saveInventoryTransfer", saveMap);
|
|
|
|
}
|
|
}
|
|
|
|
sqlSession.commit();
|
|
}catch(Exception e){
|
|
sqlSession.rollback();
|
|
throw e;
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
}
|
|
public void savesignInventoryTransfer(HttpServletRequest request, Map<String, Object> paramMap) {
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
try{
|
|
String INVENTORY_REQUEST_MASTER_OBJID = CommonUtils.checkNull(request.getParameter("INVENTORY_REQUEST_MASTER_OBJID"));
|
|
|
|
//String status = CommonUtils.checkNull(request.getParameter("STATUS"));
|
|
|
|
paramMap.put("INVENTORY_REQUEST_MASTER_OBJID", INVENTORY_REQUEST_MASTER_OBJID);
|
|
|
|
//String[] PARENT_OBJIDs = request.getParameterValues("PARENT_OBJID");
|
|
String[] OBJIDs = request.getParameterValues("OBJIDs");
|
|
String[] chk_objId = request.getParameterValues("chk_objId");
|
|
|
|
|
|
if(chk_objId != null){
|
|
for(int i=0; i<chk_objId.length; i++){
|
|
Map saveMap = new HashMap();
|
|
saveMap.put("OBJID" , CommonUtils.checkNull(chk_objId[i],CommonUtils.createObjId()));
|
|
saveMap.put("ACQ_USER" , CommonUtils.checkNull(request.getParameterValues("ACQ_USER" )[i]));
|
|
saveMap.put("SIGN" , CommonUtils.checkNull(paramMap.get("sign" )));
|
|
|
|
System.out.println("saveMap:"+saveMap);
|
|
sqlSession.update("inventoryMng.savesignInventoryTransfer", saveMap);
|
|
|
|
}
|
|
}
|
|
|
|
sqlSession.commit();
|
|
}catch(Exception e){
|
|
sqlSession.rollback();
|
|
throw e;
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 불출의뢰서 Master의 정보를 가져온다.
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
public Map getInventoryRequestMasterInfo(HttpServletRequest request,Map paramMap){
|
|
Map<String,Object> resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
resultMap = sqlSession.selectOne("inventoryMng.getInventoryRequestMasterInfo", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
|
|
return CommonUtils.toUpperCaseMapKey(resultMap);
|
|
}
|
|
|
|
public void receiptInventoryRequestInfo(HttpServletRequest request, Map paramMap){
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
try{
|
|
String[] checkArr = CommonUtils.checkNull(request.getParameter("checkArr"), "").split(",");
|
|
for(String check : checkArr){
|
|
paramMap.put("OBJID" , check);
|
|
paramMap.put("RECEPTION_DATE", CommonUtils.getDateTime(new Date(), "yyyy-MM-dd"));
|
|
paramMap.put("RECEPTION_STATUS", "reception"); //접수
|
|
sqlSession.update("inventoryMng.mergeReceiptInventoryRequestInfo",paramMap);
|
|
}
|
|
|
|
sqlSession.commit();
|
|
}catch(Exception e){
|
|
sqlSession.rollback();
|
|
throw e;
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* 자재불출 사인조회
|
|
* @param sqlSession
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
* @throws Exception
|
|
*/
|
|
public List<Map<String,Object>> materialRequestDetailPopUpsign(HttpServletRequest request, Map paramMap){
|
|
List<Map<String,Object>> resultList = new ArrayList<>();
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
try {
|
|
String[] objIds = request.getParameterValues("OBJID");
|
|
if(objIds != null && objIds.length > 0) {
|
|
for (String objId : objIds) {
|
|
paramMap.put("OBJID", objId);
|
|
List<Map<String,Object>> signList = sqlSession.selectList("inventoryMng.materialRequestDetailPopUpsign", paramMap);
|
|
resultList.addAll(signList);
|
|
}
|
|
}
|
|
} catch(Exception e) {
|
|
e.printStackTrace();
|
|
} finally {
|
|
sqlSession.close();
|
|
}
|
|
return CommonUtils.toUpperCaseMapKey(resultList);
|
|
}
|
|
/*자재불출 사인삭제*/
|
|
@SuppressWarnings({ "rawtypes", "unchecked" })
|
|
public Map materialRequestDetailPopUpsigndelete(HttpServletRequest request, Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
|
|
try{
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
System.out.println("paramMap : "+paramMap);
|
|
|
|
String[] objIds = request.getParameterValues("OBJID");
|
|
|
|
int cnt = 0;
|
|
for(int i=0; i<objIds.length; i++){
|
|
paramMap.put("OBJID", objIds[i]);
|
|
cnt += sqlSession.update("inventoryMng.materialRequestDetailPopUpsigndelete", paramMap);
|
|
}
|
|
|
|
if(cnt > 0){
|
|
resultMap.put("result", true);
|
|
resultMap.put("msg", Message.DELETE_SUCCESS);
|
|
}
|
|
|
|
}catch(Exception e){
|
|
resultMap.put("result", false);
|
|
resultMap.put("msg", Message.DELETE_FAILED);
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 입출고 History 팝업
|
|
* @param sqlSession
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
* @throws Exception
|
|
*/
|
|
public List getInventoryRequestHistoryList(HttpServletRequest request, Map paramMap){
|
|
List<Map<String,Object>> resultList = new ArrayList();
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
try{
|
|
resultList = sqlSession.selectList("inventoryMng.getInventoryRequestHistoryList", paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return CommonUtils.toUpperCaseMapKey(resultList);
|
|
}
|
|
|
|
/**
|
|
* 자재관리 불출마스터 상세 목록 가져온다.
|
|
* @param sqlSession
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
* @throws Exception
|
|
*/
|
|
public List getInventoryMngRequestDetailList(HttpServletRequest request, Map paramMap){
|
|
List<Map<String,Object>> resultList = new ArrayList();
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
try{
|
|
resultList = sqlSession.selectList("inventoryMng.getInventoryMngRequestDetailList", paramMap);
|
|
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
return CommonUtils.toUpperCaseMapKey(resultList);
|
|
}
|
|
|
|
public void acceptInventoryRequestInfo(HttpServletRequest request, Map paramMap){
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
try{
|
|
/*String[] checkArr = CommonUtils.checkNull(request.getParameter("checkArr"), "").split(",");
|
|
for(String check : checkArr){*/
|
|
paramMap.put("OBJID" , CommonUtils.checkNull(request.getParameter("INVENTORY_REQUEST_MASTER_OBJID")));
|
|
paramMap.put("REQUEST_DATE", CommonUtils.getDateTime(new Date(), "yyyy-MM-dd"));
|
|
paramMap.put("OUTSTATUS", "complete"); //자재불출완료
|
|
sqlSession.update("inventoryMng.mergeAcceptInventoryRequestInfo",paramMap);
|
|
//sqlSession.update("inventoryMng.mergeAcceptInventoryRequestPartInfo",paramMap);
|
|
/*}*/
|
|
String[] OBJIDs = request.getParameterValues("OBJID");
|
|
for(int i=0; i<OBJIDs.length; i++){
|
|
Map saveMap = new HashMap();
|
|
saveMap.put("IN_OBJID" , CommonUtils.checkNull(request.getParameterValues("IN_OBJID" )[i]));
|
|
saveMap.put("OUT_QTY" , CommonUtils.checkNull(request.getParameterValues("OUT_QTY" )[i], "0"));
|
|
|
|
sqlSession.update("inventoryMng.mergeInventoryInOutQtyInfo", saveMap);
|
|
}
|
|
|
|
sqlSession.commit();
|
|
}catch(Exception e){
|
|
sqlSession.rollback();
|
|
throw e;
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
}
|
|
|
|
public void saveInventoryMove(HttpServletRequest request, Map<String, Object> paramMap) {
|
|
SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
try{
|
|
//String INVENTORY_REQUEST_MASTER_OBJID = CommonUtils.checkNull(request.getParameter("INVENTORY_REQUEST_MASTER_OBJID"));
|
|
//String CONTRACT_MGMT_OBJID = CommonUtils.checkNull(request.getParameter("project_no"));
|
|
String WRITER = CommonUtils.checkNull(paramMap.get("WRITER"));
|
|
System.out.println("WRITER:"+WRITER);
|
|
//String status = CommonUtils.checkNull(request.getParameter("STATUS"));
|
|
|
|
//if("".equals(INVENTORY_REQUEST_MASTER_OBJID)){
|
|
// INVENTORY_REQUEST_MASTER_OBJID = CommonUtils.createObjId();
|
|
//paramMap.put("STATUS", "create");
|
|
//}
|
|
|
|
//paramMap.put("INVENTORY_REQUEST_MASTER_OBJID", INVENTORY_REQUEST_MASTER_OBJID);
|
|
//paramMap.put("CONTRACT_MGMT_OBJID", CONTRACT_MGMT_OBJID);
|
|
//paramMap.put("REQUEST_DATE", CommonUtils.getDateTime(new Date(), "yyyy-MM-dd"));
|
|
|
|
//sqlSession.update("inventoryMng.mergeInventoryRequestMasterInfo", paramMap);
|
|
//sqlSession.update("inventoryMng.initInventoryRequestPart", paramMap);
|
|
|
|
String[] OBJIDs = request.getParameterValues("OBJID");
|
|
|
|
if(OBJIDs != null){
|
|
for(int i=0; i<OBJIDs.length; i++){
|
|
Map saveMap = new HashMap();
|
|
saveMap.put("OBJID" , CommonUtils.createObjId());
|
|
//saveMap.put("PARENT_OBJID" , OBJIDs[i]);
|
|
//saveMap.put("INVENTORY_REQUEST_MASTER_OBJID" ,INVENTORY_REQUEST_MASTER_OBJID);
|
|
//saveMap.put("CONTRACT_MGMT_OBJID" ,CONTRACT_MGMT_OBJID);
|
|
saveMap.put("MOVE_OBJID" , CommonUtils.checkNull(request.getParameterValues("IN_OBJID" )[i]));
|
|
saveMap.put("MOVE_QTY" , CommonUtils.checkNull(request.getParameterValues("MOVE_QTY" )[i], "0"));
|
|
saveMap.put("LOCATION" , CommonUtils.checkNull(request.getParameterValues("LOCATION" )[i]));
|
|
saveMap.put("SUB_LOCATION" , CommonUtils.checkNull(request.getParameterValues("SUB_LOCATION" )[i]));
|
|
saveMap.put("MOVE_DATE" , CommonUtils.checkNull(request.getParameterValues("MOVE_DATE" )[i]));
|
|
saveMap.put("MOVE_USER" , CommonUtils.checkNull(request.getParameterValues("MOVE_USER" )[i]));
|
|
//saveMap.put("OUT_QTY" , CommonUtils.checkNull(request.getParameterValues("OUT_QTY" )[i], "0"));
|
|
//saveMap.put("OUT_DATE" , CommonUtils.checkNull(request.getParameterValues("OUT_DATE" )[i]));
|
|
//saveMap.put("SUCCESSOR_USER" , CommonUtils.checkNull(request.getParameterValues("SUCCESSOR_USER" )[i]));
|
|
//saveMap.put("ACQ_USER" , CommonUtils.checkNull(request.getParameterValues("ACQ_USER" )[i]));
|
|
saveMap.put("WRITER" , WRITER);
|
|
|
|
System.out.println("saveMap:"+saveMap);
|
|
|
|
int moveQty = Integer.parseInt(CommonUtils.checkNull(request.getParameterValues("MOVE_QTY")[i],"0"));
|
|
|
|
if(0 < moveQty){
|
|
Map<String,Object> InventoryMap = sqlSession.selectOne("inventoryMng.getInventoryMoveInfo",saveMap);
|
|
if(null!=InventoryMap){
|
|
int TransferQty =Integer.parseInt(CommonUtils.checkNull(InventoryMap.get("MOVE_QTY"), "0"));
|
|
saveMap.put("SUM_MOVE_QTY" , TransferQty+moveQty);
|
|
}
|
|
|
|
//기존 INVENTORY_MGMT_IN 인계수량, move_objid 업데이트
|
|
sqlSession.update("inventoryMng.mergeInventoryMoveInfo", saveMap);
|
|
//INVENTORY_MGMT_IN 추가 생성
|
|
sqlSession.update("inventoryMng.saveInventoryMoveInInfo", saveMap);
|
|
}
|
|
}
|
|
}
|
|
|
|
sqlSession.commit();
|
|
}catch(Exception e){
|
|
sqlSession.rollback();
|
|
throw e;
|
|
}finally{
|
|
sqlSession.close();
|
|
}
|
|
}
|
|
|
|
}
|