2025-08-29 15:46:08 +09:00
|
|
|
package com.pms.service;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.Iterator;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
|
|
|
|
|
import org.apache.ibatis.session.SqlSession;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
import com.pms.common.Message;
|
|
|
|
|
import com.pms.common.SqlMapConfig;
|
|
|
|
|
import com.pms.common.bean.PersonBean;
|
|
|
|
|
import com.pms.common.service.BaseService;
|
|
|
|
|
import com.pms.common.utils.CommonUtils;
|
|
|
|
|
import com.pms.common.utils.Constants;
|
2025-12-16 15:45:34 +09:00
|
|
|
import com.pms.common.JsonUtil;
|
2025-08-29 15:46:08 +09:00
|
|
|
|
|
|
|
|
@Service
|
|
|
|
|
public class QualityService extends BaseService{
|
|
|
|
|
|
|
|
|
|
/*jmpark start*/
|
|
|
|
|
/**
|
|
|
|
|
* 품질검사 중복체크
|
|
|
|
|
* 차종, 제품, 검사명, 단계1,2별 한개씩만 등록 가능하다.
|
|
|
|
|
* 반환값 : true (중복), false (중복아님)
|
|
|
|
|
* @param paramMap
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public Map checkDuplicateQualityTestInfo(Map paramMap){
|
|
|
|
|
Map resultMap = new HashMap();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
Map map = sqlSession.selectOne("quality.getDuplicateQualityTestCnt", paramMap);
|
|
|
|
|
if(map != null){
|
|
|
|
|
int cnt = Integer.parseInt(CommonUtils.checkNull(map.get("CNT"), "0"));
|
|
|
|
|
System.out.println("cnt : "+cnt);
|
|
|
|
|
if(cnt > 0){
|
|
|
|
|
resultMap.put("result", true);
|
|
|
|
|
}else{
|
|
|
|
|
resultMap.put("result", false);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return resultMap;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 품질검사 갑지 등록
|
|
|
|
|
* @param paramMap
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public Map saveQualityTestInfo(HttpServletRequest request, Map paramMap){
|
|
|
|
|
Map resultMap = new HashMap();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
|
|
|
|
|
PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN);
|
|
|
|
|
String writer = CommonUtils.checkNull(person.getUserId());
|
|
|
|
|
String objId = CommonUtils.checkNull(request.getParameter("objId"));
|
|
|
|
|
|
|
|
|
|
if("".equals(objId)){
|
|
|
|
|
objId = CommonUtils.checkNull(CommonUtils.createObjId());
|
|
|
|
|
}
|
|
|
|
|
paramMap.put("objId", objId);
|
|
|
|
|
paramMap.put("writer", writer);
|
|
|
|
|
|
|
|
|
|
int cnt = sqlSession.insert("quality.insertQualityTestInfo", paramMap);
|
|
|
|
|
|
|
|
|
|
if(cnt > 0){
|
|
|
|
|
resultMap.put("result", true);
|
|
|
|
|
resultMap.put("msg", Message.SAVE_SUCCESS);
|
|
|
|
|
}else{
|
|
|
|
|
resultMap.put("result", false);
|
|
|
|
|
resultMap.put("msg", Message.SAVE_FAILED);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
resultMap.put("result", false);
|
|
|
|
|
resultMap.put("msg", Message.SAVE_FAILED);
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return resultMap;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 품질검사 갑지내용 조회
|
|
|
|
|
* @param paramMap
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public Map getQualityTestInfo(HttpServletRequest request,Map paramMap){
|
|
|
|
|
Map resultMap = new HashMap();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
resultMap = sqlSession.selectOne("quality.getQualityTestInfo", paramMap);
|
|
|
|
|
|
|
|
|
|
String writer = CommonUtils.checkNull(resultMap.get("WRITER"));
|
|
|
|
|
//작성자 및 관리자 권한을 확인한다.
|
|
|
|
|
resultMap.put("IS_WRITER", CommonUtils.setWriterChecker(request, writer));
|
|
|
|
|
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
return resultMap;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 품질검사 임시목록 조회
|
|
|
|
|
* @param paramMap
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public List getQualityTestTempList(HttpServletRequest request, Map paramMap){
|
|
|
|
|
List resultList = new ArrayList();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
Map pageMap = new HashMap();
|
|
|
|
|
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
//paging start
|
|
|
|
|
PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN);
|
|
|
|
|
paramMap.put("connectedUserId", person.getUserId());
|
|
|
|
|
|
|
|
|
|
String countPerPage = CommonUtils.checkNull(request.getParameter("countPerPage"), ""+Constants.COUNT_PER_PAGE+"");
|
|
|
|
|
|
|
|
|
|
paramMap.put("COUNT_PER_PAGE", Integer.parseInt(countPerPage));
|
|
|
|
|
|
|
|
|
|
pageMap = (HashMap)sqlSession.selectOne("quality.getQualityTestTempListCnt", paramMap);
|
|
|
|
|
pageMap = (HashMap)CommonUtils.setPagingInfo(request, pageMap, countPerPage);
|
|
|
|
|
|
|
|
|
|
paramMap.put("PAGE_END", CommonUtils.checkNull(pageMap.get("PAGE_END")));
|
|
|
|
|
paramMap.put("PAGE_START", CommonUtils.checkNull(pageMap.get("PAGE_START")));
|
|
|
|
|
//paging end
|
|
|
|
|
|
|
|
|
|
resultList = sqlSession.selectList("quality.getQualityTestTempList", paramMap);
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return resultList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 품질검사 확정목록 조회
|
|
|
|
|
* @param paramMap
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public List getQualityTestList(HttpServletRequest request, Map paramMap){
|
|
|
|
|
List resultList = new ArrayList();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
Map pageMap = new HashMap();
|
|
|
|
|
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
//paging start
|
|
|
|
|
PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN);
|
|
|
|
|
paramMap.put("connectedUserId", person.getUserId());
|
|
|
|
|
|
|
|
|
|
String countPerPage = CommonUtils.checkNull(request.getParameter("countPerPage"), ""+Constants.COUNT_PER_PAGE+"");
|
|
|
|
|
|
|
|
|
|
paramMap.put("COUNT_PER_PAGE", Integer.parseInt(countPerPage));
|
|
|
|
|
|
|
|
|
|
pageMap = (HashMap)sqlSession.selectOne("quality.getQualityTestListCnt", paramMap);
|
|
|
|
|
pageMap = (HashMap)CommonUtils.setPagingInfo(request, pageMap, countPerPage);
|
|
|
|
|
|
|
|
|
|
paramMap.put("PAGE_END", CommonUtils.checkNull(pageMap.get("PAGE_END")));
|
|
|
|
|
paramMap.put("PAGE_START", CommonUtils.checkNull(pageMap.get("PAGE_START")));
|
|
|
|
|
//paging end
|
|
|
|
|
|
|
|
|
|
resultList = sqlSession.selectList("quality.getQualityTestList", paramMap);
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return resultList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 품질검사 상세 Part 목록조회
|
|
|
|
|
* @param paramMap
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public List getQualityTestDetailPartList(Map paramMap){
|
|
|
|
|
List resultList = new ArrayList();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
resultList = sqlSession.selectList("quality.getQualityTestDetailPartList", paramMap);
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return resultList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 품질검사 Part별 정보 저장
|
|
|
|
|
* @param paramMap
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public Map saveQualityTestPartInfo(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);
|
|
|
|
|
String writer = CommonUtils.checkNull(person.getUserId());
|
|
|
|
|
|
|
|
|
|
List partList = sqlSession.selectList("quality.getQualityTestDetailPartList", paramMap);
|
|
|
|
|
|
|
|
|
|
for(int i = 0 ; i < partList.size() ; i++){
|
|
|
|
|
Map partInfo = (HashMap)partList.get(i);
|
|
|
|
|
|
|
|
|
|
String objId = CommonUtils.checkNull(partInfo.get("QUALITY_SLAVE_OBJID"));
|
|
|
|
|
String targetObjId = CommonUtils.checkNull(paramMap.get("targetObjId"));
|
|
|
|
|
String partNo = CommonUtils.checkNull(partInfo.get("PART_NO"));
|
|
|
|
|
String score = CommonUtils.checkNull(paramMap.get("score_"+partNo));
|
|
|
|
|
String result = CommonUtils.checkNull(paramMap.get("result_"+partNo));
|
|
|
|
|
String type1 = CommonUtils.checkNull(paramMap.get("type1_"+partNo));
|
|
|
|
|
String type2 = CommonUtils.checkNull(paramMap.get("type2_"+partNo));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
System.out.println();
|
|
|
|
|
System.out.println("objId : "+objId);
|
|
|
|
|
if("".equals(objId)) objId = CommonUtils.createObjId();
|
|
|
|
|
System.out.println("objId2 : "+objId);
|
|
|
|
|
System.out.println("targetObjId : "+targetObjId);
|
|
|
|
|
System.out.println("partNo : "+partNo);
|
|
|
|
|
System.out.println("score : "+score);
|
|
|
|
|
System.out.println("result : "+result);
|
|
|
|
|
|
|
|
|
|
System.out.println();
|
|
|
|
|
|
|
|
|
|
Map sqlParamMap = new HashMap();
|
|
|
|
|
sqlParamMap.put("objId", objId);
|
|
|
|
|
sqlParamMap.put("targetObjId", targetObjId);
|
|
|
|
|
sqlParamMap.put("partNo", partNo);
|
|
|
|
|
sqlParamMap.put("score", score);
|
|
|
|
|
sqlParamMap.put("result", result);
|
|
|
|
|
sqlParamMap.put("type1", type1);
|
|
|
|
|
sqlParamMap.put("type2", type2);
|
|
|
|
|
sqlParamMap.put("writer", writer);
|
|
|
|
|
|
|
|
|
|
int cnt = sqlSession.update("quality.saveQualityTestPartInfo", sqlParamMap);
|
|
|
|
|
|
|
|
|
|
if(cnt == 0){
|
|
|
|
|
resultMap.put("result", false);
|
|
|
|
|
resultMap.put("msg", Message.SAVE_FAILED);
|
|
|
|
|
return resultMap;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
resultMap.put("result", true);
|
|
|
|
|
resultMap.put("msg", Message.SAVE_SUCCESS);
|
|
|
|
|
sqlSession.commit();
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
resultMap.put("result", false);
|
|
|
|
|
resultMap.put("msg", Message.SAVE_FAILED);
|
|
|
|
|
sqlSession.rollback();
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return resultMap;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 품질검사 확정
|
|
|
|
|
* @param paramMap
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public Map completeQualityTestInfo(Map paramMap){
|
|
|
|
|
Map resultMap = new HashMap();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
|
|
|
|
|
int cnt = sqlSession.update("quality.completeQualityTestInfo", paramMap);
|
|
|
|
|
if(cnt > 0){
|
|
|
|
|
resultMap.put("result", true);
|
|
|
|
|
resultMap.put("msg", Message.SAVE_SUCCESS);
|
|
|
|
|
}else{
|
|
|
|
|
resultMap.put("result", false);
|
|
|
|
|
resultMap.put("msg", Message.SAVE_FAILED);
|
|
|
|
|
}
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
resultMap.put("result", false);
|
|
|
|
|
resultMap.put("msg", Message.SAVE_FAILED);
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return resultMap;
|
|
|
|
|
}
|
|
|
|
|
/*jmpark end*/
|
|
|
|
|
|
|
|
|
|
|
2025-12-04 15:21:54 +09:00
|
|
|
// =====================================================
|
|
|
|
|
// 품질관리 기초정보관리
|
|
|
|
|
// =====================================================
|
2025-08-29 15:46:08 +09:00
|
|
|
|
2025-12-04 15:21:54 +09:00
|
|
|
/**
|
|
|
|
|
* 검사구분 목록 조회
|
|
|
|
|
* @param paramMap
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public List getInspectionTypeList(Map paramMap){
|
|
|
|
|
List resultList = new ArrayList();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
resultList = sqlSession.selectList("quality.getInspectionTypeList", paramMap);
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return resultList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 불량유형 목록 조회
|
|
|
|
|
* @param paramMap
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public List getDefectTypeList(Map paramMap){
|
|
|
|
|
List resultList = new ArrayList();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
resultList = sqlSession.selectList("quality.getDefectTypeList", paramMap);
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return resultList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 불량원인 목록 조회
|
|
|
|
|
* @param paramMap
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public List getDefectReasonList(Map paramMap){
|
|
|
|
|
List resultList = new ArrayList();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
resultList = sqlSession.selectList("quality.getDefectReasonList", paramMap);
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return resultList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 기초정보 저장
|
|
|
|
|
* @param request
|
|
|
|
|
* @param paramMap
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public Map saveQualityBasicInfo(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);
|
|
|
|
|
String writer = CommonUtils.checkNull(person.getUserId());
|
|
|
|
|
String type = CommonUtils.checkNull(paramMap.get("TYPE"));
|
|
|
|
|
String dataJson = CommonUtils.checkNull(paramMap.get("DATA"));
|
|
|
|
|
|
|
|
|
|
// JSON 파싱
|
|
|
|
|
com.google.gson.Gson gson = new com.google.gson.Gson();
|
|
|
|
|
java.lang.reflect.Type listType = new com.google.gson.reflect.TypeToken<List<Map<String, String>>>(){}.getType();
|
|
|
|
|
List<Map<String, String>> dataList = gson.fromJson(dataJson, listType);
|
|
|
|
|
|
|
|
|
|
for(Map<String, String> data : dataList){
|
|
|
|
|
String objId = CommonUtils.checkNull(data.get("OBJID"));
|
|
|
|
|
String isNew = CommonUtils.checkNull(data.get("IS_NEW"));
|
|
|
|
|
|
|
|
|
|
Map sqlParamMap = new HashMap();
|
|
|
|
|
sqlParamMap.put("writer", writer);
|
|
|
|
|
|
|
|
|
|
if("INSPECTION_TYPE".equals(type)){
|
|
|
|
|
// 검사구분 저장
|
|
|
|
|
sqlParamMap.put("INSPECTION_TYPE_NAME", data.get("INSPECTION_TYPE_NAME"));
|
|
|
|
|
sqlParamMap.put("STATUS", data.get("STATUS"));
|
|
|
|
|
|
|
|
|
|
if("Y".equals(isNew)){
|
|
|
|
|
sqlParamMap.put("OBJID", CommonUtils.createObjId());
|
|
|
|
|
sqlSession.insert("quality.insertInspectionType", sqlParamMap);
|
|
|
|
|
} else {
|
|
|
|
|
sqlParamMap.put("OBJID", objId);
|
|
|
|
|
sqlSession.update("quality.updateInspectionType", sqlParamMap);
|
|
|
|
|
}
|
|
|
|
|
} else if("DEFECT_TYPE".equals(type)){
|
|
|
|
|
// 불량유형 저장
|
|
|
|
|
sqlParamMap.put("DEFECT_TYPE_NAME", data.get("DEFECT_TYPE_NAME"));
|
|
|
|
|
sqlParamMap.put("STATUS", data.get("STATUS"));
|
|
|
|
|
|
|
|
|
|
if("Y".equals(isNew)){
|
|
|
|
|
sqlParamMap.put("OBJID", CommonUtils.createObjId());
|
|
|
|
|
sqlSession.insert("quality.insertDefectType", sqlParamMap);
|
|
|
|
|
} else {
|
|
|
|
|
sqlParamMap.put("OBJID", objId);
|
|
|
|
|
sqlSession.update("quality.updateDefectType", sqlParamMap);
|
|
|
|
|
}
|
|
|
|
|
} else if("DEFECT_REASON".equals(type)){
|
|
|
|
|
// 불량원인 저장
|
|
|
|
|
sqlParamMap.put("DEFECT_TYPE_OBJID", data.get("DEFECT_TYPE_OBJID"));
|
|
|
|
|
sqlParamMap.put("DEFECT_REASON_NAME", data.get("DEFECT_REASON_NAME"));
|
|
|
|
|
sqlParamMap.put("STATUS", data.get("STATUS"));
|
|
|
|
|
|
|
|
|
|
if("Y".equals(isNew)){
|
|
|
|
|
sqlParamMap.put("OBJID", CommonUtils.createObjId());
|
|
|
|
|
sqlSession.insert("quality.insertDefectReason", sqlParamMap);
|
|
|
|
|
} else {
|
|
|
|
|
sqlParamMap.put("OBJID", objId);
|
|
|
|
|
sqlSession.update("quality.updateDefectReason", sqlParamMap);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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);
|
|
|
|
|
if(sqlSession != null) sqlSession.rollback();
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
if(sqlSession != null) sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return resultMap;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 기초정보 삭제
|
|
|
|
|
* @param paramMap
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public Map deleteQualityBasicInfo(Map paramMap){
|
|
|
|
|
Map resultMap = new HashMap();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
|
|
|
|
|
|
|
|
String type = CommonUtils.checkNull(paramMap.get("TYPE"));
|
|
|
|
|
String objId = CommonUtils.checkNull(paramMap.get("OBJID"));
|
|
|
|
|
|
|
|
|
|
int cnt = 0;
|
|
|
|
|
|
|
|
|
|
if("INSPECTION_TYPE".equals(type)){
|
|
|
|
|
cnt = sqlSession.delete("quality.deleteInspectionType", paramMap);
|
|
|
|
|
} else if("DEFECT_TYPE".equals(type)){
|
|
|
|
|
// 불량유형 삭제 시 종속된 불량원인도 삭제
|
|
|
|
|
sqlSession.delete("quality.deleteDefectReasonByType", paramMap);
|
|
|
|
|
cnt = sqlSession.delete("quality.deleteDefectType", paramMap);
|
|
|
|
|
} else if("DEFECT_REASON".equals(type)){
|
|
|
|
|
cnt = sqlSession.delete("quality.deleteDefectReason", paramMap);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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);
|
|
|
|
|
if(sqlSession != null) sqlSession.rollback();
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
if(sqlSession != null) sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return resultMap;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// =====================================================
|
|
|
|
|
// 수입검사 관리
|
|
|
|
|
// =====================================================
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 품의서 번호 목록 조회 (검색조건용)
|
|
|
|
|
*/
|
|
|
|
|
public List getProposalNoList(Map paramMap){
|
|
|
|
|
List resultList = new ArrayList();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
resultList = sqlSession.selectList("quality.getProposalNoList", paramMap);
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
return resultList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 발주서 번호 목록 조회 (검색조건용)
|
|
|
|
|
*/
|
|
|
|
|
public List getPurchaseOrderNoList(Map paramMap){
|
|
|
|
|
List resultList = new ArrayList();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
resultList = sqlSession.selectList("quality.getPurchaseOrderNoList", paramMap);
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
return resultList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 프로젝트 번호 목록 조회 (검색조건용)
|
|
|
|
|
*/
|
|
|
|
|
public List getProjectNoList(Map paramMap){
|
|
|
|
|
List resultList = new ArrayList();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
resultList = sqlSession.selectList("quality.getProjectNoList", paramMap);
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
return resultList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 공급업체 목록 조회 (검색조건용)
|
|
|
|
|
*/
|
|
|
|
|
public List getPartnerList(Map paramMap){
|
|
|
|
|
List resultList = new ArrayList();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
resultList = sqlSession.selectList("quality.getPartnerList", paramMap);
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
return resultList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 검사자 목록 조회 (검색조건용)
|
|
|
|
|
*/
|
|
|
|
|
public List getInspectorList(Map paramMap){
|
|
|
|
|
List resultList = new ArrayList();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
resultList = sqlSession.selectList("quality.getInspectorList", paramMap);
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
return resultList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 수입검사 목록 조회
|
|
|
|
|
*/
|
|
|
|
|
public List getIncomingInspectionList(HttpServletRequest request, Map paramMap){
|
|
|
|
|
List resultList = new ArrayList();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
resultList = sqlSession.selectList("quality.getIncomingInspectionList", paramMap);
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
return resultList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 수입검사 상세 정보 조회
|
|
|
|
|
*/
|
|
|
|
|
public Map getIncomingInspectionInfo(Map paramMap){
|
|
|
|
|
Map resultMap = new HashMap();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
resultMap = sqlSession.selectOne("quality.getIncomingInspectionInfo", paramMap);
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
return resultMap;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
2025-12-05 17:41:33 +09:00
|
|
|
* 수입검사 상세 정보 조회 (발주서 기준 첫번째 검사 정보)
|
|
|
|
|
*/
|
|
|
|
|
public Map getIncomingInspectionDetailInfo(Map paramMap){
|
|
|
|
|
Map resultMap = new HashMap();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
resultMap = sqlSession.selectOne("quality.getIncomingInspectionDetailInfo", paramMap);
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
return resultMap;
|
|
|
|
|
}
|
|
|
|
|
|
2025-12-16 15:45:34 +09:00
|
|
|
/**
|
|
|
|
|
* 수입검사 요청 저장 (검사여부, 요청일, 요청자만 저장)
|
|
|
|
|
*/
|
|
|
|
|
public Map saveIncomingInspectionRequest(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);
|
|
|
|
|
String writer = CommonUtils.checkNull(person.getUserId());
|
|
|
|
|
|
|
|
|
|
String requestDate = CommonUtils.checkNull(paramMap.get("REQUEST_DATE"));
|
|
|
|
|
String requestUserId = CommonUtils.checkNull(paramMap.get("REQUEST_USER_ID"));
|
|
|
|
|
String purchaseOrderMasterObjId = CommonUtils.checkNull(paramMap.get("PURCHASE_ORDER_MASTER_OBJID"));
|
|
|
|
|
String dataListJson = CommonUtils.checkNull(paramMap.get("dataListJson"));
|
|
|
|
|
|
|
|
|
|
// JSON 파싱
|
|
|
|
|
com.google.gson.Gson gson = new com.google.gson.Gson();
|
|
|
|
|
java.lang.reflect.Type listType = new com.google.gson.reflect.TypeToken<List<Map<String, String>>>(){}.getType();
|
|
|
|
|
List<Map<String, String>> dataList = gson.fromJson(dataListJson, listType);
|
|
|
|
|
|
|
|
|
|
// 각 행별로 저장 (요청 정보만)
|
|
|
|
|
for(Map<String, String> data : dataList){
|
|
|
|
|
Map sqlParamMap = new HashMap();
|
|
|
|
|
sqlParamMap.put("NEW_OBJID", CommonUtils.createObjId()); // 신규 OBJID 생성
|
|
|
|
|
sqlParamMap.put("OBJID", data.get("OBJID")); // INVENTORY_MGMT_IN.OBJID
|
|
|
|
|
sqlParamMap.put("PURCHASE_ORDER_MASTER_OBJID", purchaseOrderMasterObjId);
|
|
|
|
|
sqlParamMap.put("REQUEST_DATE", requestDate);
|
|
|
|
|
sqlParamMap.put("REQUEST_USER_ID", requestUserId);
|
|
|
|
|
sqlParamMap.put("INSPECTION_YN", data.get("INSPECTION_YN"));
|
|
|
|
|
sqlParamMap.put("WRITER", writer);
|
|
|
|
|
|
|
|
|
|
sqlSession.update("quality.saveIncomingInspectionDetail", sqlParamMap);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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);
|
|
|
|
|
if(sqlSession != null) sqlSession.rollback();
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
if(sqlSession != null) sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
return resultMap;
|
|
|
|
|
}
|
|
|
|
|
|
2025-12-05 17:41:33 +09:00
|
|
|
/**
|
|
|
|
|
* 수입검사 저장 (그리드 데이터 일괄 저장)
|
2025-12-16 15:45:34 +09:00
|
|
|
* - 요청일/요청자: 각 행별로 개별 저장
|
|
|
|
|
* - 검사일/검사자: 헤더에서 공통 적용 (진행 팝업에서 사용)
|
2025-12-04 15:21:54 +09:00
|
|
|
*/
|
|
|
|
|
public Map saveIncomingInspection(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);
|
|
|
|
|
String writer = CommonUtils.checkNull(person.getUserId());
|
|
|
|
|
|
2025-12-16 15:45:34 +09:00
|
|
|
// 헤더에서 가져오는 값 (진행 팝업용)
|
2025-12-05 17:41:33 +09:00
|
|
|
String inspectionDate = CommonUtils.checkNull(paramMap.get("INSPECTION_DATE"));
|
|
|
|
|
String inspectorId = CommonUtils.checkNull(paramMap.get("INSPECTOR_ID"));
|
|
|
|
|
String purchaseOrderMasterObjId = CommonUtils.checkNull(paramMap.get("PURCHASE_ORDER_MASTER_OBJID"));
|
|
|
|
|
String dataListJson = CommonUtils.checkNull(paramMap.get("dataListJson"));
|
|
|
|
|
|
|
|
|
|
// JSON 파싱
|
|
|
|
|
com.google.gson.Gson gson = new com.google.gson.Gson();
|
|
|
|
|
java.lang.reflect.Type listType = new com.google.gson.reflect.TypeToken<List<Map<String, String>>>(){}.getType();
|
|
|
|
|
List<Map<String, String>> dataList = gson.fromJson(dataListJson, listType);
|
|
|
|
|
|
|
|
|
|
// 각 행별로 저장
|
|
|
|
|
for(Map<String, String> data : dataList){
|
|
|
|
|
Map sqlParamMap = new HashMap();
|
|
|
|
|
sqlParamMap.put("NEW_OBJID", CommonUtils.createObjId()); // 신규 OBJID 생성
|
|
|
|
|
sqlParamMap.put("OBJID", data.get("OBJID")); // INVENTORY_MGMT_IN.OBJID
|
|
|
|
|
sqlParamMap.put("PURCHASE_ORDER_MASTER_OBJID", purchaseOrderMasterObjId);
|
2025-12-16 15:45:34 +09:00
|
|
|
|
|
|
|
|
// 검사일/검사자: 헤더 값 사용 (진행 팝업)
|
2025-12-05 17:41:33 +09:00
|
|
|
sqlParamMap.put("INSPECTION_DATE", inspectionDate);
|
|
|
|
|
sqlParamMap.put("INSPECTOR_ID", inspectorId);
|
2025-12-16 15:45:34 +09:00
|
|
|
|
|
|
|
|
// 요청일/요청자: 각 행별 개별 값 사용 (요청 팝업)
|
|
|
|
|
sqlParamMap.put("REQUEST_DATE", data.get("REQUEST_DATE"));
|
|
|
|
|
sqlParamMap.put("REQUEST_USER_ID", data.get("REQUEST_USER_ID"));
|
|
|
|
|
|
2025-12-05 17:41:33 +09:00
|
|
|
sqlParamMap.put("INSPECTION_TYPE", data.get("INSPECTION_TYPE"));
|
|
|
|
|
sqlParamMap.put("INSPECTION_YN", data.get("INSPECTION_YN"));
|
|
|
|
|
sqlParamMap.put("DEFECT_TYPE", data.get("DEFECT_TYPE"));
|
|
|
|
|
sqlParamMap.put("DEFECT_REASON", data.get("DEFECT_REASON"));
|
|
|
|
|
sqlParamMap.put("ACTION_STATUS", data.get("ACTION_STATUS"));
|
|
|
|
|
sqlParamMap.put("INSPECTION_QTY", data.get("INSPECTION_QTY"));
|
|
|
|
|
sqlParamMap.put("DEFECT_QTY", data.get("DEFECT_QTY"));
|
|
|
|
|
sqlParamMap.put("INSPECTION_RESULT", data.get("INSPECTION_RESULT"));
|
|
|
|
|
sqlParamMap.put("ATTACH_FILE_OBJID", data.get("ATTACH_FILE_OBJID"));
|
|
|
|
|
sqlParamMap.put("REMARK", data.get("REMARK"));
|
|
|
|
|
sqlParamMap.put("WRITER", writer);
|
|
|
|
|
|
|
|
|
|
sqlSession.update("quality.saveIncomingInspectionDetail", sqlParamMap);
|
2025-12-04 15:21:54 +09:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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);
|
|
|
|
|
if(sqlSession != null) sqlSession.rollback();
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
if(sqlSession != null) sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
return resultMap;
|
|
|
|
|
}
|
2025-08-29 15:46:08 +09:00
|
|
|
|
2025-12-04 15:21:54 +09:00
|
|
|
/**
|
|
|
|
|
* 수입검사 목록 조회 (엑셀용)
|
|
|
|
|
*/
|
|
|
|
|
public List getIncomingInspectionListForExcel(Map paramMap){
|
|
|
|
|
List resultList = new ArrayList();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
resultList = sqlSession.selectList("quality.getIncomingInspectionListForExcel", paramMap);
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
return resultList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// =====================================================
|
|
|
|
|
// 공정검사 관리
|
|
|
|
|
// =====================================================
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 공정검사 목록 조회
|
|
|
|
|
*/
|
|
|
|
|
public List getProcessInspectionList(HttpServletRequest request, Map paramMap){
|
|
|
|
|
List resultList = new ArrayList();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
resultList = sqlSession.selectList("quality.getProcessInspectionList", paramMap);
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
return resultList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 공정검사 상세 조회
|
|
|
|
|
*/
|
|
|
|
|
public Map getProcessInspectionInfo(Map paramMap){
|
|
|
|
|
Map resultMap = new HashMap();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
resultMap = sqlSession.selectOne("quality.getProcessInspectionInfo", paramMap);
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
return resultMap;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
2025-12-09 16:13:41 +09:00
|
|
|
* 공정검사 목록 조회 (엑셀용) - 상세 정보 포함
|
2025-12-04 15:21:54 +09:00
|
|
|
*/
|
|
|
|
|
public List getProcessInspectionListForExcel(Map paramMap){
|
|
|
|
|
List resultList = new ArrayList();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
2025-12-09 16:13:41 +09:00
|
|
|
resultList = sqlSession.selectList("quality.getProcessInspectionListForExcel", paramMap);
|
2025-12-04 15:21:54 +09:00
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
return resultList;
|
|
|
|
|
}
|
|
|
|
|
|
2025-12-08 12:02:03 +09:00
|
|
|
/**
|
|
|
|
|
* 공정검사 저장 (마스터 + 디테일)
|
|
|
|
|
*/
|
|
|
|
|
public Map saveProcessInspection(HttpServletRequest request, Map paramMap){
|
|
|
|
|
Map resultMap = new HashMap();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
|
|
|
|
|
PersonBean person = (PersonBean) request.getSession().getAttribute(Constants.PERSON_BEAN);
|
|
|
|
|
String writer = person != null ? person.getUserId() : "";
|
|
|
|
|
|
|
|
|
|
String masterObjId = CommonUtils.checkNull(paramMap.get("MASTER_OBJID"));
|
|
|
|
|
String inspectionDate = CommonUtils.checkNull(paramMap.get("INSPECTION_DATE"));
|
|
|
|
|
String inspectorId = CommonUtils.checkNull(paramMap.get("INSPECTOR_ID"));
|
|
|
|
|
String masterRemark = CommonUtils.checkNull(paramMap.get("MASTER_REMARK"));
|
|
|
|
|
String dataListJson = CommonUtils.checkNull(paramMap.get("dataList"));
|
|
|
|
|
|
|
|
|
|
// 마스터 저장
|
|
|
|
|
Map<String, Object> masterParamMap = new HashMap<String, Object>();
|
|
|
|
|
masterParamMap.put("INSPECTION_DATE", inspectionDate);
|
|
|
|
|
masterParamMap.put("INSPECTOR_ID", inspectorId);
|
|
|
|
|
masterParamMap.put("REMARK", masterRemark);
|
|
|
|
|
masterParamMap.put("WRITER", writer);
|
|
|
|
|
|
|
|
|
|
if(masterObjId.isEmpty()){
|
|
|
|
|
// 신규 등록
|
|
|
|
|
masterObjId = CommonUtils.checkNull(CommonUtils.createObjId());
|
|
|
|
|
masterParamMap.put("OBJID", masterObjId);
|
|
|
|
|
sqlSession.insert("quality.insertProcessInspectionMaster", masterParamMap);
|
|
|
|
|
} else {
|
|
|
|
|
// 수정
|
|
|
|
|
masterParamMap.put("OBJID", masterObjId);
|
|
|
|
|
sqlSession.update("quality.updateProcessInspectionMaster", masterParamMap);
|
|
|
|
|
// 기존 디테일 삭제 후 재등록
|
|
|
|
|
Map<String, Object> deleteParamMap = new HashMap<String, Object>();
|
|
|
|
|
deleteParamMap.put("MASTER_OBJID", masterObjId);
|
|
|
|
|
sqlSession.delete("quality.deleteProcessInspectionDetailByMaster", deleteParamMap);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 디테일 저장
|
|
|
|
|
if(dataListJson != null && !dataListJson.isEmpty()){
|
|
|
|
|
com.google.gson.Gson gson = new com.google.gson.Gson();
|
|
|
|
|
java.lang.reflect.Type listType = new com.google.gson.reflect.TypeToken<List<Map<String, Object>>>(){}.getType();
|
|
|
|
|
List<Map<String, Object>> dataList = gson.fromJson(dataListJson, listType);
|
|
|
|
|
|
|
|
|
|
for(Map<String, Object> rowData : dataList){
|
|
|
|
|
Map<String, Object> sqlParamMap = new HashMap<String, Object>();
|
|
|
|
|
|
|
|
|
|
String detailObjId = CommonUtils.checkNull(CommonUtils.createObjId());
|
|
|
|
|
|
|
|
|
|
sqlParamMap.put("OBJID", detailObjId);
|
|
|
|
|
sqlParamMap.put("MASTER_OBJID", masterObjId);
|
|
|
|
|
sqlParamMap.put("PROCESS_CD", CommonUtils.checkNull(rowData.get("PROCESS_CD")));
|
|
|
|
|
sqlParamMap.put("PROJECT_OBJID", CommonUtils.checkNull(rowData.get("PROJECT_OBJID")));
|
|
|
|
|
sqlParamMap.put("PART_OBJID", CommonUtils.checkNull(rowData.get("PART_OBJID")));
|
|
|
|
|
sqlParamMap.put("PART_NO", CommonUtils.checkNull(rowData.get("PART_NO")));
|
|
|
|
|
sqlParamMap.put("PART_NAME", CommonUtils.checkNull(rowData.get("PART_NAME")));
|
|
|
|
|
sqlParamMap.put("INSPECTION_QTY", CommonUtils.checkNull(rowData.get("INSPECTION_QTY")));
|
|
|
|
|
sqlParamMap.put("DEFECT_QTY", CommonUtils.checkNull(rowData.get("DEFECT_QTY")));
|
|
|
|
|
sqlParamMap.put("WORK_ENV_STATUS", CommonUtils.checkNull(rowData.get("WORK_ENV_STATUS")));
|
|
|
|
|
sqlParamMap.put("MEASURING_DEVICE", CommonUtils.checkNull(rowData.get("MEASURING_DEVICE")));
|
|
|
|
|
sqlParamMap.put("DEPT_CD", CommonUtils.checkNull(rowData.get("DEPT_CD")));
|
|
|
|
|
sqlParamMap.put("USER_ID", CommonUtils.checkNull(rowData.get("USER_ID")));
|
|
|
|
|
sqlParamMap.put("REMARK", CommonUtils.checkNull(rowData.get("REMARK")));
|
|
|
|
|
sqlParamMap.put("ACTION_STATUS", CommonUtils.checkNull(rowData.get("ACTION_STATUS")));
|
|
|
|
|
sqlParamMap.put("INSPECTION_RESULT", CommonUtils.checkNull(rowData.get("INSPECTION_RESULT")));
|
|
|
|
|
sqlParamMap.put("WRITER", writer);
|
|
|
|
|
|
|
|
|
|
sqlSession.insert("quality.saveProcessInspectionDetail", sqlParamMap);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
resultMap.put("RESULT", "SUCCESS");
|
|
|
|
|
resultMap.put("MASTER_OBJID", masterObjId);
|
|
|
|
|
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
resultMap.put("RESULT", "FAIL");
|
|
|
|
|
resultMap.put("MESSAGE", e.getMessage());
|
|
|
|
|
}finally{
|
|
|
|
|
if(sqlSession != null) sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return resultMap;
|
|
|
|
|
}
|
|
|
|
|
|
2025-12-04 15:21:54 +09:00
|
|
|
// =====================================================
|
|
|
|
|
// 반제품검사 관리
|
|
|
|
|
// =====================================================
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 반제품검사 목록 조회
|
|
|
|
|
*/
|
|
|
|
|
public List getSemiProductInspectionList(HttpServletRequest request, Map paramMap){
|
|
|
|
|
List resultList = new ArrayList();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
resultList = sqlSession.selectList("quality.getSemiProductInspectionList", paramMap);
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
return resultList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 반제품검사 상세 조회
|
|
|
|
|
*/
|
|
|
|
|
public Map getSemiProductInspectionInfo(Map paramMap){
|
|
|
|
|
Map resultMap = new HashMap();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
resultMap = sqlSession.selectOne("quality.getSemiProductInspectionInfo", paramMap);
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
return resultMap;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// =====================================================
|
|
|
|
|
// 고객 CS 관리
|
|
|
|
|
// =====================================================
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 고객 CS 목록 조회
|
|
|
|
|
*/
|
|
|
|
|
public List getCustomerCsList(HttpServletRequest request, Map paramMap){
|
|
|
|
|
List resultList = new ArrayList();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
resultList = sqlSession.selectList("quality.getCustomerCsList", paramMap);
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
return resultList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 고객 CS 상세 조회
|
|
|
|
|
*/
|
|
|
|
|
public Map getCustomerCsInfo(Map paramMap){
|
|
|
|
|
Map resultMap = new HashMap();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
resultMap = sqlSession.selectOne("quality.getCustomerCsInfo", paramMap);
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
return resultMap;
|
|
|
|
|
}
|
|
|
|
|
|
2025-12-09 11:53:57 +09:00
|
|
|
/**
|
|
|
|
|
* 고객 불량 저장
|
|
|
|
|
*/
|
|
|
|
|
public Map saveCustomerCsDefect(HttpServletRequest request, Map paramMap){
|
|
|
|
|
Map resultMap = new HashMap();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
|
|
|
|
|
PersonBean person = (PersonBean) request.getSession().getAttribute(Constants.PERSON_BEAN);
|
|
|
|
|
String writer = person != null ? person.getUserId() : "";
|
|
|
|
|
|
|
|
|
|
String objId = CommonUtils.checkNull(paramMap.get("OBJID"));
|
|
|
|
|
String isNew = CommonUtils.checkNull(paramMap.get("IS_NEW"));
|
|
|
|
|
paramMap.put("WRITER", writer);
|
|
|
|
|
|
|
|
|
|
// IS_NEW 플래그로 신규/수정 구분 (JSP에서 전달)
|
|
|
|
|
if("true".equals(isNew)){
|
|
|
|
|
// 신규 등록
|
|
|
|
|
if(objId.isEmpty()){
|
|
|
|
|
objId = CommonUtils.checkNull(CommonUtils.createObjId());
|
|
|
|
|
paramMap.put("OBJID", objId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 접수번호 생성 (CS-YYYYMMDD-SEQ)
|
|
|
|
|
String today = new java.text.SimpleDateFormat("yyyyMMdd").format(new java.util.Date());
|
|
|
|
|
String receiptNo = "CS-" + today + "-" + String.format("%03d", sqlSession.selectOne("quality.getCustomerCsSeq"));
|
|
|
|
|
paramMap.put("RECEIPT_NO", receiptNo);
|
|
|
|
|
|
|
|
|
|
sqlSession.insert("quality.insertCustomerCs", paramMap);
|
|
|
|
|
} else {
|
|
|
|
|
// 수정
|
|
|
|
|
sqlSession.update("quality.updateCustomerCs", paramMap);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
resultMap.put("RESULT", "SUCCESS");
|
|
|
|
|
resultMap.put("OBJID", objId);
|
|
|
|
|
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
resultMap.put("RESULT", "FAIL");
|
|
|
|
|
resultMap.put("MESSAGE", e.getMessage());
|
|
|
|
|
}finally{
|
|
|
|
|
if(sqlSession != null) sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return resultMap;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 조치결과 저장
|
|
|
|
|
*/
|
|
|
|
|
public Map saveCustomerCsAction(HttpServletRequest request, Map paramMap){
|
|
|
|
|
Map resultMap = new HashMap();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
|
|
|
|
|
PersonBean person = (PersonBean) request.getSession().getAttribute(Constants.PERSON_BEAN);
|
|
|
|
|
String actionUserId = person != null ? person.getUserId() : "";
|
|
|
|
|
|
|
|
|
|
paramMap.put("ACTION_USER_ID", actionUserId);
|
|
|
|
|
|
|
|
|
|
sqlSession.update("quality.updateCustomerCsAction", paramMap);
|
|
|
|
|
|
|
|
|
|
resultMap.put("RESULT", "SUCCESS");
|
|
|
|
|
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
resultMap.put("RESULT", "FAIL");
|
|
|
|
|
resultMap.put("MESSAGE", e.getMessage());
|
|
|
|
|
}finally{
|
|
|
|
|
if(sqlSession != null) sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return resultMap;
|
|
|
|
|
}
|
|
|
|
|
|
2025-12-04 15:21:54 +09:00
|
|
|
// =====================================================
|
|
|
|
|
// ECR 관리
|
|
|
|
|
// =====================================================
|
2025-12-09 14:17:36 +09:00
|
|
|
|
2025-12-04 15:21:54 +09:00
|
|
|
|
|
|
|
|
/**
|
2025-12-09 14:17:36 +09:00
|
|
|
* ECR 상세 조회
|
2025-12-04 15:21:54 +09:00
|
|
|
*/
|
2025-12-09 14:17:36 +09:00
|
|
|
public Map getEcrInfo(Map paramMap){
|
|
|
|
|
Map resultMap = new HashMap();
|
2025-12-04 15:21:54 +09:00
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
2025-12-09 14:17:36 +09:00
|
|
|
resultMap = sqlSession.selectOne("quality.getEcrInfo", paramMap);
|
2025-12-04 15:21:54 +09:00
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
sqlSession.close();
|
|
|
|
|
}
|
2025-12-09 14:17:36 +09:00
|
|
|
return resultMap;
|
2025-12-04 15:21:54 +09:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
2025-12-09 14:17:36 +09:00
|
|
|
* ECR 저장 (등록/수정)
|
2025-12-04 15:21:54 +09:00
|
|
|
*/
|
2025-12-09 14:17:36 +09:00
|
|
|
public Map saveEcr(HttpServletRequest request, Map paramMap){
|
2025-12-04 15:21:54 +09:00
|
|
|
Map resultMap = new HashMap();
|
|
|
|
|
SqlSession sqlSession = null;
|
2025-12-09 14:17:36 +09:00
|
|
|
|
2025-12-04 15:21:54 +09:00
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
2025-12-09 14:17:36 +09:00
|
|
|
|
|
|
|
|
// 작성자 정보 설정
|
|
|
|
|
PersonBean person = (PersonBean) request.getSession().getAttribute(Constants.PERSON_BEAN);
|
|
|
|
|
String writer = person != null ? person.getUserId() : "";
|
|
|
|
|
|
|
|
|
|
String objId = CommonUtils.checkNull(paramMap.get("OBJID"));
|
|
|
|
|
String isNew = CommonUtils.checkNull(paramMap.get("IS_NEW"));
|
|
|
|
|
paramMap.put("WRITER", writer);
|
|
|
|
|
|
|
|
|
|
// IS_NEW 플래그로 신규/수정 구분
|
|
|
|
|
if("true".equals(isNew)){
|
|
|
|
|
// 신규 등록
|
|
|
|
|
if(objId.isEmpty()){
|
|
|
|
|
objId = CommonUtils.checkNull(CommonUtils.createObjId());
|
|
|
|
|
paramMap.put("OBJID", objId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// ECR_NO 생성 (ECR-YYYYMM-순번) 예) ECR-202512-01
|
|
|
|
|
String yyyymm = new java.text.SimpleDateFormat("yyyyMM").format(new java.util.Date());
|
|
|
|
|
paramMap.put("YYYYMM", yyyymm);
|
|
|
|
|
Integer seq = sqlSession.selectOne("quality.getEcrSeq", paramMap);
|
|
|
|
|
if(seq == null) seq = 1;
|
|
|
|
|
String ecrNo = "ECR-" + yyyymm + "-" + String.format("%02d", seq);
|
|
|
|
|
paramMap.put("ECR_NO", ecrNo);
|
|
|
|
|
paramMap.put("ATTACH_FILE_OBJID", objId);
|
|
|
|
|
|
|
|
|
|
sqlSession.insert("quality.insertEcr", paramMap);
|
|
|
|
|
} else {
|
|
|
|
|
// 수정
|
|
|
|
|
sqlSession.update("quality.updateEcr", paramMap);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
sqlSession.commit();
|
|
|
|
|
resultMap.put("RESULT", "SUCCESS");
|
|
|
|
|
resultMap.put("MESSAGE", "저장되었습니다.");
|
|
|
|
|
|
2025-12-04 15:21:54 +09:00
|
|
|
}catch(Exception e){
|
2025-12-09 14:17:36 +09:00
|
|
|
if(sqlSession != null) sqlSession.rollback();
|
|
|
|
|
resultMap.put("RESULT", "FAIL");
|
|
|
|
|
resultMap.put("MESSAGE", e.getMessage());
|
2025-12-04 15:21:54 +09:00
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
2025-12-09 14:17:36 +09:00
|
|
|
if(sqlSession != null) sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return resultMap;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* ECR 결과 저장
|
|
|
|
|
*/
|
|
|
|
|
public Map saveEcrResult(HttpServletRequest request, Map paramMap){
|
|
|
|
|
Map resultMap = new HashMap();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
|
|
|
|
|
// 작성자 정보 설정
|
|
|
|
|
PersonBean person = (PersonBean) request.getSession().getAttribute(Constants.PERSON_BEAN);
|
|
|
|
|
String writer = person != null ? person.getUserId() : "";
|
|
|
|
|
paramMap.put("MODIFIER", writer);
|
|
|
|
|
|
|
|
|
|
sqlSession.update("quality.updateEcrResult", paramMap);
|
|
|
|
|
|
|
|
|
|
sqlSession.commit();
|
|
|
|
|
resultMap.put("RESULT", "SUCCESS");
|
|
|
|
|
resultMap.put("MESSAGE", "저장되었습니다.");
|
|
|
|
|
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
if(sqlSession != null) sqlSession.rollback();
|
|
|
|
|
resultMap.put("RESULT", "FAIL");
|
|
|
|
|
resultMap.put("MESSAGE", e.getMessage());
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
if(sqlSession != null) sqlSession.close();
|
2025-12-04 15:21:54 +09:00
|
|
|
}
|
2025-12-09 14:17:36 +09:00
|
|
|
|
2025-12-04 15:21:54 +09:00
|
|
|
return resultMap;
|
|
|
|
|
}
|
2025-08-29 15:46:08 +09:00
|
|
|
|
|
|
|
|
/*edhwang start*/
|
|
|
|
|
|
|
|
|
|
/*edhwang end*/
|
|
|
|
|
|
2025-12-16 15:45:34 +09:00
|
|
|
// =====================================================
|
|
|
|
|
// 수입검사 불량상세 관련
|
|
|
|
|
// =====================================================
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 불량상세 목록 조회
|
|
|
|
|
*/
|
|
|
|
|
public List getIncomingInspectionDefectList(Map paramMap){
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
List resultList = new ArrayList();
|
|
|
|
|
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
resultList = sqlSession.selectList("quality.getIncomingInspectionDefectList", paramMap);
|
|
|
|
|
resultList = CommonUtils.keyChangeUpperList(resultList);
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
if(sqlSession != null) sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return resultList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 수입검사 진행 저장 (입고품목 + 불량상세)
|
|
|
|
|
*/
|
|
|
|
|
public Map saveIncomingInspectionProgress(HttpServletRequest request, Map paramMap){
|
|
|
|
|
Map resultMap = new HashMap();
|
|
|
|
|
SqlSession sqlSession = null;
|
|
|
|
|
|
|
|
|
|
try{
|
|
|
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
|
|
|
|
|
|
// 작성자 정보 설정
|
|
|
|
|
PersonBean person = (PersonBean) request.getSession().getAttribute(Constants.PERSON_BEAN);
|
|
|
|
|
String writer = person != null ? person.getUserId() : "";
|
|
|
|
|
|
|
|
|
|
String purchaseOrderMasterObjid = CommonUtils.checkNull(paramMap.get("PURCHASE_ORDER_MASTER_OBJID"));
|
|
|
|
|
String inspectionDate = CommonUtils.checkNull(paramMap.get("INSPECTION_DATE"));
|
|
|
|
|
String inspectorId = CommonUtils.checkNull(paramMap.get("INSPECTOR_ID"));
|
|
|
|
|
|
|
|
|
|
// 1. 입고품목 데이터 저장 (검사구분 등)
|
|
|
|
|
String dataListJson = CommonUtils.checkNull(paramMap.get("dataListJson"));
|
|
|
|
|
if(!dataListJson.isEmpty()) {
|
|
|
|
|
List<Map<String, Object>> dataList = JsonUtil.JsonToList(dataListJson);
|
|
|
|
|
|
|
|
|
|
for(Map data : dataList) {
|
|
|
|
|
Map sqlParamMap = new HashMap();
|
|
|
|
|
sqlParamMap.put("NEW_OBJID", CommonUtils.createObjId()); // 신규 OBJID 생성
|
|
|
|
|
sqlParamMap.put("OBJID", CommonUtils.checkNull(data.get("OBJID"))); // INVENTORY_MGMT_IN.OBJID
|
|
|
|
|
sqlParamMap.put("PURCHASE_ORDER_MASTER_OBJID", purchaseOrderMasterObjid);
|
|
|
|
|
sqlParamMap.put("INSPECTION_TYPE", CommonUtils.checkNull(data.get("INSPECTION_TYPE")));
|
|
|
|
|
sqlParamMap.put("INSPECTION_DATE", inspectionDate);
|
|
|
|
|
sqlParamMap.put("INSPECTOR_ID", inspectorId);
|
|
|
|
|
sqlParamMap.put("WRITER", writer);
|
|
|
|
|
|
|
|
|
|
sqlSession.update("quality.saveIncomingInspectionDetail", sqlParamMap);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 2. 불량상세 데이터 저장
|
|
|
|
|
String defectListJson = CommonUtils.checkNull(paramMap.get("defectListJson"));
|
|
|
|
|
String selectedDetailObjid = CommonUtils.checkNull(paramMap.get("selectedDetailObjid"));
|
|
|
|
|
|
|
|
|
|
if(!defectListJson.isEmpty() && !selectedDetailObjid.isEmpty()) {
|
|
|
|
|
List<Map<String, Object>> defectList = JsonUtil.JsonToList(defectListJson);
|
|
|
|
|
|
|
|
|
|
for(Map defect : defectList) {
|
|
|
|
|
String gridStatus = CommonUtils.checkNull(defect.get("GRID_STATUS"));
|
|
|
|
|
|
|
|
|
|
Map sqlParamMap = new HashMap();
|
|
|
|
|
sqlParamMap.put("OBJID", CommonUtils.checkNull(defect.get("OBJID")));
|
|
|
|
|
sqlParamMap.put("INSPECTION_DETAIL_OBJID", selectedDetailObjid);
|
|
|
|
|
sqlParamMap.put("INSPECTION_TYPE", CommonUtils.checkNull(defect.get("INSPECTION_TYPE")));
|
|
|
|
|
sqlParamMap.put("INSPECTION_DATE", CommonUtils.checkNull(defect.get("INSPECTION_DATE")));
|
|
|
|
|
sqlParamMap.put("INSPECTOR_ID", CommonUtils.checkNull(defect.get("INSPECTOR_ID")));
|
|
|
|
|
sqlParamMap.put("DEFECT_TYPE", CommonUtils.checkNull(defect.get("DEFECT_TYPE")));
|
|
|
|
|
sqlParamMap.put("DEFECT_REASON", CommonUtils.checkNull(defect.get("DEFECT_REASON")));
|
|
|
|
|
sqlParamMap.put("ACTION_STATUS", CommonUtils.checkNull(defect.get("ACTION_STATUS")));
|
|
|
|
|
sqlParamMap.put("ACTION_RESULT", CommonUtils.checkNull(defect.get("ACTION_RESULT")));
|
|
|
|
|
sqlParamMap.put("INSPECTION_QTY", CommonUtils.checkNull(defect.get("INSPECTION_QTY")));
|
|
|
|
|
sqlParamMap.put("DEFECT_QTY", CommonUtils.checkNull(defect.get("DEFECT_QTY")));
|
|
|
|
|
sqlParamMap.put("INSPECTION_RESULT", CommonUtils.checkNull(defect.get("INSPECTION_RESULT")));
|
|
|
|
|
sqlParamMap.put("REMARK", CommonUtils.checkNull(defect.get("REMARK")));
|
|
|
|
|
sqlParamMap.put("WRITER", writer);
|
|
|
|
|
|
|
|
|
|
if("D".equals(gridStatus)) {
|
|
|
|
|
// 삭제
|
|
|
|
|
sqlSession.delete("quality.deleteIncomingInspectionDefect", sqlParamMap);
|
|
|
|
|
} else {
|
|
|
|
|
// 신규/수정
|
|
|
|
|
sqlSession.insert("quality.saveIncomingInspectionDefect", sqlParamMap);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
sqlSession.commit();
|
|
|
|
|
resultMap.put("result", true);
|
|
|
|
|
resultMap.put("msg", "저장되었습니다.");
|
|
|
|
|
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
if(sqlSession != null) sqlSession.rollback();
|
|
|
|
|
resultMap.put("result", false);
|
|
|
|
|
resultMap.put("msg", e.getMessage());
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}finally{
|
|
|
|
|
if(sqlSession != null) sqlSession.close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return resultMap;
|
|
|
|
|
}
|
|
|
|
|
|
2025-08-29 15:46:08 +09:00
|
|
|
}
|