package biz.cms_NhsMasterDataRcv;

import java.net.SocketTimeoutException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.log4j.Logger;

import biz.comm.COMMBiz;
import biz.comm.COMMLog;
import kr.fujitsu.com.ffw.daemon.net.ActionSocket;

public class NhsMasterDataCrtExecutor {
	private static Logger logger = Logger.getLogger(NhsMasterDataRcvAction.class);
	//1   NHS_SCREEN 호출 처리 중 ▶
	public String make_NHS_SCREEN(ActionSocket actionSocket , HashMap hmCommon,  HashMap hm,  COMMLog df) throws Exception {
		
		StringBuffer sb  = new StringBuffer();
		NhsMasterDataRcvDAO dao = new NhsMasterDataRcvDAO();

		int irow =0;
		String  recvData  ="";
		String  dataMsg = ""; 
		String  sendMsg = ""; 

		HashMap hmRcvData = new HashMap(); 
		
		List <Object> list  =   new ArrayList<Object>() ;
		list =     dao.selMasterData(hmCommon, hm ,df); 
		try {
			df.CommLogger("ROW COUNT ▶ " + list.size());
			 
			if  ( list.size() > 0) {
			  
				for( int i = 0;i < list.size();i++ ) {
					irow++;							
					Map<String, String> map = (Map<String, String>)list.get(i); 
					
					sb.append((String)map.get("CMP_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SALES_ORG_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("STOR_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SCREEN_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("LAYOUT_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SCREEN_NM") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SCREEN_DESC") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("DISPLAY_YN") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("DISPLAY_START_DT") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("DISPLAY_END_DT") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_DATE") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_DATE") + COMMBiz.FIELD_DELIMITER );
					/*BR추가*/
					sb.append((String)map.get("SCREEN_KIND") + COMMBiz.FIELD_DELIMITER );
					
					
					sb.append(COMMBiz.ROW_DELIMITER);
					
				}	// For 문 종료 
				
				  		 		
				dataMsg = dao.getMakeMasterData(sb.toString(), irow , df);
				//2. 마지막 데이터   일 경우 먼저 사이즈 정보 전송  종료 					
				sendMsg = COMMBiz.makeSendData(hmCommon, dataMsg.getBytes().length, 0); 
				
				if( actionSocket.send(sendMsg + dataMsg) ){
					try { 
						df.CommLogger("▶ actionSocket.receive() start ");
						recvData = (String)(actionSocket.receive());												
					}catch(SocketTimeoutException e) {
						df.CommLogger("▶ [ERROR] TimeOut ");
					}finally{
						// 수신 json 데이터 parsing 
						if(recvData.length() > COMMBiz.CM_LENS){
							hmRcvData = COMMBiz.jSonParsing2( recvData.substring(COMMBiz.CM_LENS)) ;//=gson.fromJson(rcvDataBuf, HashMap.class);  //
							String sPROC_CD = (String)hmRcvData.get("PROC_CD") ;
							if (sPROC_CD.equals("1")){
								dataMsg = dao.getMakeMasterData("", 0 , df);		// 최종 데이터 송신시 문자열 
		 					} //2. 마지막 송신 요청 응답 if 문
							// 데이터 수신 한 경우만 UPDATE
						}
						int iInfo = dao.setMasterRcvInfo(hmCommon,hm ,df);
					}
					
				}else{		
					dataMsg = dao.getMakeMasterData("", 0 , df);
				}	 
	   
			}else{  
				// 데이터 없는 경우  완료 응답 메세지 송신
				dataMsg = dao.getMakeMasterData("", 0 , df); 
				df.CommLogger("▶ [NO DATA --  UPD_DATE IS  ]  " + (String)hm.get("UPD_DT")   );
			}
		}catch(Exception e) {
			/*logger.info("[ERROR]" + e);*/
			df.CommLogger("▶ [ERROR ctrExecuteor  ]  " + e.getMessage()   );
			// 데이터 없는 경우  완료 응답 메세지 송신 -- 완료 응답은  {"CNT":"0", "DATA":""}
			dataMsg = dao.getMakeMasterData("", 0 , df);
			throw e;
		}
		return dataMsg;
	}
	//2   NHS_SCREEN_CONTENTS 호출 처리 중 ▶   
    public String make_NHS_SCREEN_CONTENTS(ActionSocket actionSocket , HashMap hmCommon,  HashMap hm,  COMMLog df) throws Exception {
		
		StringBuffer sb  = new StringBuffer();
		NhsMasterDataRcvDAO dao = new NhsMasterDataRcvDAO();

		int irow =0;
		String  recvData  ="";
		String  dataMsg = ""; 
		String  sendMsg = ""; 

		HashMap hmRcvData = new HashMap(); 
		
		List <Object> list  =   new ArrayList<Object>() ;
		list =     dao.selMasterData(hmCommon, hm ,df); 
		try {
			df.CommLogger("ROW COUNT ▶ " + list.size());
			 
			if  ( list.size() > 0) {
			  
				for( int i = 0;i < list.size();i++ ) {
					irow++;							
					Map<String, String> map = (Map<String, String>)list.get(i); 
					
					sb.append((String)map.get("CMP_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SALES_ORG_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("STOR_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("LAYER_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("CONTENTS_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SCREEN_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("FRAME_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("DISPLAY_ORDER") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("DISPLAY_START_TIME") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("DISPLAY_END_TIME") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("FILE_FULLPATH") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("FILE_NAME") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("FILE_MIME_TYPE") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("PLAY_TIME") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("LINK_YN") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("PRD_CATE_L") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("PRD_CATE_M") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_DATE") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_DATE") + COMMBiz.FIELD_DELIMITER );

					/*BR추가*/
					sb.append((String)map.get("SCREEN_KIND") + COMMBiz.FIELD_DELIMITER );
					
					
					sb.append(COMMBiz.ROW_DELIMITER);
					
				}	// For 문 종료 
				
				  		 		
				dataMsg = dao.getMakeMasterData(sb.toString(), irow , df);
				//2. 마지막 데이터   일 경우 먼저 사이즈 정보 전송  종료 					
				sendMsg = COMMBiz.makeSendData(hmCommon, dataMsg.getBytes().length, 0); 
				
				if( actionSocket.send(sendMsg + dataMsg) ){
					try { 
						df.CommLogger("▶ actionSocket.receive() start ");
						recvData = (String)(actionSocket.receive());												
					}catch(SocketTimeoutException e) {
						df.CommLogger("▶ [ERROR] TimeOut ");
					}finally{
						// 수신 json 데이터 parsing 
						if(recvData.length() > COMMBiz.CM_LENS){
							hmRcvData = COMMBiz.jSonParsing2( recvData.substring(COMMBiz.CM_LENS)) ;//=gson.fromJson(rcvDataBuf, HashMap.class);  //
							String sPROC_CD = (String)hmRcvData.get("PROC_CD") ;
							if (sPROC_CD.equals("1")){
								dataMsg = dao.getMakeMasterData("", 0 , df);		// 최종 데이터 송신시 문자열 
		 					} //2. 마지막 송신 요청 응답 if 문
							// 데이터 수신 한 경우만 UPDATE
						}
						int iInfo = dao.setMasterRcvInfo(hmCommon,hm ,df);
					}
					
				}else{		
					dataMsg = dao.getMakeMasterData("", 0 , df);
				}	 
	   
			}else{  
				// 데이터 없는 경우  완료 응답 메세지 송신
				dataMsg = dao.getMakeMasterData("", 0 , df); 
				df.CommLogger("▶ [NO DATA --  UPD_DATE IS  ]  " + (String)hm.get("UPD_DT")   );
			}
		}catch(Exception e) {
			/*logger.info("[ERROR]" + e);*/
			df.CommLogger("▶ [ERROR ctrExecuteor  ]  " + e.getMessage()   );
			// 데이터 없는 경우  완료 응답 메세지 송신 -- 완료 응답은  {"CNT":"0", "DATA":""}
			dataMsg = dao.getMakeMasterData("", 0 , df);
			throw e;
		}
		return dataMsg;
	}
    //3   NHS_SCREEN_LAYER 호출 처리 중 ▶ 
	public String make_NHS_SCREEN_LAYER(ActionSocket actionSocket , HashMap hmCommon,  HashMap hm,  COMMLog df) throws Exception {
		
		StringBuffer sb  = new StringBuffer();
		NhsMasterDataRcvDAO dao = new NhsMasterDataRcvDAO();
	
		int irow =0;
		String  recvData  ="";
		String  dataMsg = ""; 
		String  sendMsg = ""; 
	
		HashMap hmRcvData = new HashMap(); 
		
		List <Object> list  =   new ArrayList<Object>() ;
		list =     dao.selMasterData(hmCommon, hm ,df); 
		try {
			df.CommLogger("ROW COUNT ▶ " + list.size());
			 
			if  ( list.size() > 0) {
			  
				for( int i = 0;i < list.size();i++ ) {
					irow++;							
					Map<String, String> map = (Map<String, String>)list.get(i); 
					
					sb.append((String)map.get("CMP_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SALES_ORG_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("STOR_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("FRAME_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("LAYER_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SCREEN_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("FRAME_VERTICAL_SIZE") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("LAYER_DISPLAY_ORDER") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("FIX_YN") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_DATE") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_DATE") + COMMBiz.FIELD_DELIMITER );

					/*BR추가*/
					sb.append((String)map.get("SCREEN_KIND") + COMMBiz.FIELD_DELIMITER );
					
					
					sb.append(COMMBiz.ROW_DELIMITER);
					
				}	// For 문 종료 
				
				  		 		
				dataMsg = dao.getMakeMasterData(sb.toString(), irow , df);
				//2. 마지막 데이터   일 경우 먼저 사이즈 정보 전송  종료 					
				sendMsg = COMMBiz.makeSendData(hmCommon, dataMsg.getBytes().length, 0); 
				
				if( actionSocket.send(sendMsg + dataMsg) ){
					try { 
						df.CommLogger("▶ actionSocket.receive() start ");
						recvData = (String)(actionSocket.receive());												
					}catch(SocketTimeoutException e) {
						df.CommLogger("▶ [ERROR] TimeOut ");
					}finally{
						// 수신 json 데이터 parsing 
						if(recvData.length() > COMMBiz.CM_LENS){
							hmRcvData = COMMBiz.jSonParsing2( recvData.substring(COMMBiz.CM_LENS)) ;//=gson.fromJson(rcvDataBuf, HashMap.class);  //
							String sPROC_CD = (String)hmRcvData.get("PROC_CD") ;
							if (sPROC_CD.equals("1")){
								dataMsg = dao.getMakeMasterData("", 0 , df);		// 최종 데이터 송신시 문자열 
		 					} //2. 마지막 송신 요청 응답 if 문
							// 데이터 수신 한 경우만 UPDATE
						}
						int iInfo = dao.setMasterRcvInfo(hmCommon,hm ,df);
					}
					
				}else{		
					dataMsg = dao.getMakeMasterData("", 0 , df);
				}	 
	   
			}else{  
				// 데이터 없는 경우  완료 응답 메세지 송신
				dataMsg = dao.getMakeMasterData("", 0 , df); 
				df.CommLogger("▶ [NO DATA --  UPD_DATE IS  ]  " + (String)hm.get("UPD_DT")   );
			}
		}catch(Exception e) {
			/*logger.info("[ERROR]" + e);*/
			df.CommLogger("▶ [ERROR ctrExecuteor  ]  " + e.getMessage()   );
			// 데이터 없는 경우  완료 응답 메세지 송신 -- 완료 응답은  {"CNT":"0", "DATA":""}
			dataMsg = dao.getMakeMasterData("", 0 , df);
			throw e;
		}
		return dataMsg;
	}
	//4   NHS_STORE_PRD_CATE 호출 처리 중 ▶
	public String make_NHS_STORE_PRD_CATE(ActionSocket actionSocket , HashMap hmCommon,  HashMap hm,  COMMLog df) throws Exception {
		
		StringBuffer sb  = new StringBuffer();
		NhsMasterDataRcvDAO dao = new NhsMasterDataRcvDAO();
	
		int irow =0;
		String  recvData  ="";
		String  dataMsg = ""; 
		String  sendMsg = ""; 
	
		HashMap hmRcvData = new HashMap(); 
		
		List <Object> list  =   new ArrayList<Object>() ;
		list =     dao.selMasterData(hmCommon, hm ,df); 
		try {
			df.CommLogger("ROW COUNT ▶ " + list.size());
			 
			if  ( list.size() > 0) {
			  
				for( int i = 0;i < list.size();i++ ) {
					irow++;							
					Map<String, String> map = (Map<String, String>)list.get(i); 
					
					sb.append((String)map.get("CMP_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SALES_ORG_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("STOR_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("PRD_CATE_UP_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("PRD_CATE_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("FILE_FULLPATH") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("FILE_NAME") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("DISPLAY_ORDER") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("USE_YN") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("HIDE_YN") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_DATE") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_DATE") + COMMBiz.FIELD_DELIMITER );

					
					sb.append(COMMBiz.ROW_DELIMITER);
					
				}	// For 문 종료 
				
				  		 		
				dataMsg = dao.getMakeMasterData(sb.toString(), irow , df);
				//2. 마지막 데이터   일 경우 먼저 사이즈 정보 전송  종료 					
				sendMsg = COMMBiz.makeSendData(hmCommon, dataMsg.getBytes().length, 0); 
				
				if( actionSocket.send(sendMsg + dataMsg) ){
					try { 
						df.CommLogger("▶ actionSocket.receive() start ");
						recvData = (String)(actionSocket.receive());												
					}catch(SocketTimeoutException e) {
						df.CommLogger("▶ [ERROR] TimeOut ");
					}finally{
						// 수신 json 데이터 parsing 
						if(recvData.length() > COMMBiz.CM_LENS){
							hmRcvData = COMMBiz.jSonParsing2( recvData.substring(COMMBiz.CM_LENS)) ;//=gson.fromJson(rcvDataBuf, HashMap.class);  //
							String sPROC_CD = (String)hmRcvData.get("PROC_CD") ;
							if (sPROC_CD.equals("1")){
								dataMsg = dao.getMakeMasterData("", 0 , df);		// 최종 데이터 송신시 문자열 
		 					} //2. 마지막 송신 요청 응답 if 문
							// 데이터 수신 한 경우만 UPDATE
						}
						int iInfo = dao.setMasterRcvInfo(hmCommon,hm ,df);
					}
					
				}else{		
					dataMsg = dao.getMakeMasterData("", 0 , df);
				}	 
	   
			}else{  
				// 데이터 없는 경우  완료 응답 메세지 송신
				dataMsg = dao.getMakeMasterData("", 0 , df); 
				df.CommLogger("▶ [NO DATA --  UPD_DATE IS  ]  " + (String)hm.get("UPD_DT")   );
			}
		}catch(Exception e) {
			/*logger.info("[ERROR]" + e);*/
			df.CommLogger("▶ [ERROR ctrExecuteor  ]  " + e.getMessage()   );
			// 데이터 없는 경우  완료 응답 메세지 송신 -- 완료 응답은  {"CNT":"0", "DATA":""}
			dataMsg = dao.getMakeMasterData("", 0 , df);
			throw e;
		}
		return dataMsg;
	}
	//5   NHS_STORE_PRD_KEY 호출 처리 중 ▶
	public String make_NHS_STORE_PRD_KEY(ActionSocket actionSocket , HashMap hmCommon,  HashMap hm,  COMMLog df) throws Exception {
		
		StringBuffer sb  = new StringBuffer();
		NhsMasterDataRcvDAO dao = new NhsMasterDataRcvDAO();
	
		int irow =0;
		String  recvData  ="";
		String  dataMsg = ""; 
		String  sendMsg = ""; 
	
		HashMap hmRcvData = new HashMap(); 
		
		List <Object> list  =   new ArrayList<Object>() ;
		list =     dao.selMasterData(hmCommon, hm ,df); 
		try {
			df.CommLogger("ROW COUNT ▶ " + list.size());
			 
			if  ( list.size() > 0) {
			  
				for( int i = 0;i < list.size();i++ ) {
					irow++;							
					Map<String, String> map = (Map<String, String>)list.get(i); 
					
					sb.append((String)map.get("CMP_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SALES_ORG_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("STOR_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("PRD_CATE_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("TOUCH_KEY_CD") + COMMBiz.FIELD_DELIMITER );
					
					sb.append((String)map.get("ITEM_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("DISPLAY_ORDER") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("USE_YN") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SOLDOUT_YN") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("RECOMMAND_YN") + COMMBiz.FIELD_DELIMITER );
					
					sb.append((String)map.get("NEW_YN") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("PRESENT_YN") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SALES_PRC") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("OPTN_YN") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("TOUCH_KEY_NM") + COMMBiz.FIELD_DELIMITER );
					
					sb.append((String)map.get("LAST_UPD_TIME") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("FILE_NAME") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("BAR_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("ORDER_TYPE") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_USER_ID") + COMMBiz.FIELD_DELIMITER );
					
					sb.append((String)map.get("REG_DATE") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_DATE") + COMMBiz.FIELD_DELIMITER );
					
					/*BR 추가*/
					sb.append((String)map.get("TOUCH_KEY_KIND") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("MAPPING_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("PRD_LINK_PAGE1") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("PRD_LINK_PAGE2") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SET_YN") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SET_ITEM_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SET_ITEM_CNT") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("FLAVOR_YN") + COMMBiz.FIELD_DELIMITER );
					
					sb.append((String)map.get("FLAVOR_CNT") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("OPTN_CNT_CHG_YN") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SET_CHANGE_YN") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SET_CHANGE_ITEM_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("EVENT_CHANGE_YN") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("EVENT_ITEM_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("D2_USE_YN") + COMMBiz.FIELD_DELIMITER );
					
					sb.append(COMMBiz.ROW_DELIMITER);
					
				}	// For 문 종료 
				
				  		 		
				dataMsg = dao.getMakeMasterData(sb.toString(), irow , df);
				//2. 마지막 데이터   일 경우 먼저 사이즈 정보 전송  종료 					
				sendMsg = COMMBiz.makeSendData(hmCommon, dataMsg.getBytes().length, 0); 
				
				if( actionSocket.send(sendMsg + dataMsg) ){
					try { 
						df.CommLogger("▶ actionSocket.receive() start ");
						recvData = (String)(actionSocket.receive());												
					}catch(SocketTimeoutException e) {
						df.CommLogger("▶ [ERROR] TimeOut ");
					}finally{
						// 수신 json 데이터 parsing 
						if(recvData.length() > COMMBiz.CM_LENS){
							hmRcvData = COMMBiz.jSonParsing2( recvData.substring(COMMBiz.CM_LENS)) ;//=gson.fromJson(rcvDataBuf, HashMap.class);  //
							String sPROC_CD = (String)hmRcvData.get("PROC_CD") ;
							if (sPROC_CD.equals("1")){
								dataMsg = dao.getMakeMasterData("", 0 , df);		// 최종 데이터 송신시 문자열 
		 					} //2. 마지막 송신 요청 응답 if 문
							// 데이터 수신 한 경우만 UPDATE
						}
						int iInfo = dao.setMasterRcvInfo(hmCommon,hm ,df);
					}
					
				}else{		
					dataMsg = dao.getMakeMasterData("", 0 , df);
				}	 
	   
			}else{  
				// 데이터 없는 경우  완료 응답 메세지 송신
				dataMsg = dao.getMakeMasterData("", 0 , df); 
				df.CommLogger("▶ [NO DATA --  UPD_DATE IS  ]  " + (String)hm.get("UPD_DT")   );
			}
		}catch(Exception e) {
			/*logger.info("[ERROR]" + e);*/
			df.CommLogger("▶ [ERROR ctrExecuteor  ]  " + e.getMessage()   );
			// 데이터 없는 경우  완료 응답 메세지 송신 -- 완료 응답은  {"CNT":"0", "DATA":""}
			dataMsg = dao.getMakeMasterData("", 0 , df);
			throw e;
		}
		return dataMsg;
	}
	//6   NHS_UI_TEMPLATE 호출 처리 중 ▶	
	public String make_NHS_UI_TEMPLATE(ActionSocket actionSocket , HashMap hmCommon,  HashMap hm,  COMMLog df) throws Exception {
		
		StringBuffer sb  = new StringBuffer();
		NhsMasterDataRcvDAO dao = new NhsMasterDataRcvDAO();
	
		int irow =0;
		String  recvData  ="";
		String  dataMsg = ""; 
		String  sendMsg = ""; 
	
		HashMap hmRcvData = new HashMap(); 
		
		List <Object> list  =   new ArrayList<Object>() ;
		list =     dao.selMasterData(hmCommon, hm ,df); 
		try {
			df.CommLogger("ROW COUNT ▶ " + list.size());
			 
			if  ( list.size() > 0) {
			  
				for( int i = 0;i < list.size();i++ ) {
					irow++;							
					Map<String, String> map = (Map<String, String>)list.get(i); 
					
					sb.append((String)map.get("CMP_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SALES_ORG_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("STOR_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("TEMPL_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("TEMPL_NM") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("LOGO_FILE_NAME") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("LOGO_FILE_FULLPATH") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("GNB_BACK_COLOR") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("MAIN_BACK_COLOR") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("MAIN_FONT_COLOR") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("HPC_GNB_BACK_COLOR") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("HPC_MAIN_BACK_COLOR") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("HPC_MAIN_FONT_COLOR") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("USE_YN") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_DATE") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_DATE") + COMMBiz.FIELD_DELIMITER );

					
					sb.append(COMMBiz.ROW_DELIMITER);
					
				}	// For 문 종료 
				
				  		 		
				dataMsg = dao.getMakeMasterData(sb.toString(), irow , df);
				//2. 마지막 데이터   일 경우 먼저 사이즈 정보 전송  종료 					
				sendMsg = COMMBiz.makeSendData(hmCommon, dataMsg.getBytes().length, 0); 
				
				if( actionSocket.send(sendMsg + dataMsg) ){
					try { 
						df.CommLogger("▶ actionSocket.receive() start ");
						recvData = (String)(actionSocket.receive());												
					}catch(SocketTimeoutException e) {
						df.CommLogger("▶ [ERROR] TimeOut ");
					}finally{
						// 수신 json 데이터 parsing 
						if(recvData.length() > COMMBiz.CM_LENS){
							hmRcvData = COMMBiz.jSonParsing2( recvData.substring(COMMBiz.CM_LENS)) ;//=gson.fromJson(rcvDataBuf, HashMap.class);  //
							String sPROC_CD = (String)hmRcvData.get("PROC_CD") ;
							if (sPROC_CD.equals("1")){
								dataMsg = dao.getMakeMasterData("", 0 , df);		// 최종 데이터 송신시 문자열 
		 					} //2. 마지막 송신 요청 응답 if 문
							// 데이터 수신 한 경우만 UPDATE
						}
						int iInfo = dao.setMasterRcvInfo(hmCommon,hm ,df);
					}
					
				}else{		
					dataMsg = dao.getMakeMasterData("", 0 , df);
				}	 
	   
			}else{  
				// 데이터 없는 경우  완료 응답 메세지 송신
				dataMsg = dao.getMakeMasterData("", 0 , df); 
				df.CommLogger("▶ [NO DATA --  UPD_DATE IS  ]  " + (String)hm.get("UPD_DT")   );
			}
		}catch(Exception e) {
			/*logger.info("[ERROR]" + e);*/
			df.CommLogger("▶ [ERROR ctrExecuteor  ]  " + e.getMessage()   );
			// 데이터 없는 경우  완료 응답 메세지 송신 -- 완료 응답은  {"CNT":"0", "DATA":""}
			dataMsg = dao.getMakeMasterData("", 0 , df);
			throw e;
		}
		return dataMsg;
	}
	//7   NHS_CPI_CONTENTS 호출 처리 중 ▶	
	public String make_NHS_CPI_CONTENTS(ActionSocket actionSocket , HashMap hmCommon,  HashMap hm,  COMMLog df) throws Exception {
		
		StringBuffer sb  = new StringBuffer();
		NhsMasterDataRcvDAO dao = new NhsMasterDataRcvDAO();
	
		int irow =0;
		String  recvData  ="";
		String  dataMsg = ""; 
		String  sendMsg = ""; 
	
		HashMap hmRcvData = new HashMap(); 
		
		List <Object> list  =   new ArrayList<Object>() ;
		list =     dao.selMasterData(hmCommon, hm ,df); 
		try {
			df.CommLogger("ROW COUNT ▶ " + list.size());
			 
			if  ( list.size() > 0) {
			  
				for( int i = 0;i < list.size();i++ ) {
					irow++;							
					Map<String, String> map = (Map<String, String>)list.get(i); 
					
					sb.append((String)map.get("CMP_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SALES_ORG_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("CPI_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("FILE_FULLPATH") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("FILE_NAME") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_DATE") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_DATE") + COMMBiz.FIELD_DELIMITER );
					
					sb.append(COMMBiz.ROW_DELIMITER);
					
				}	// For 문 종료 
				
				  		 		
				dataMsg = dao.getMakeMasterData(sb.toString(), irow , df);
				//2. 마지막 데이터   일 경우 먼저 사이즈 정보 전송  종료 					
				sendMsg = COMMBiz.makeSendData(hmCommon, dataMsg.getBytes().length, 0); 
				
				if( actionSocket.send(sendMsg + dataMsg) ){
					try { 
						df.CommLogger("▶ actionSocket.receive() start ");
						recvData = (String)(actionSocket.receive());												
					}catch(SocketTimeoutException e) {
						df.CommLogger("▶ [ERROR] TimeOut ");
					}finally{
						// 수신 json 데이터 parsing 
						if(recvData.length() > COMMBiz.CM_LENS){
							hmRcvData = COMMBiz.jSonParsing2( recvData.substring(COMMBiz.CM_LENS)) ;//=gson.fromJson(rcvDataBuf, HashMap.class);  //
							String sPROC_CD = (String)hmRcvData.get("PROC_CD") ;
							if (sPROC_CD.equals("1")){
								dataMsg = dao.getMakeMasterData("", 0 , df);		// 최종 데이터 송신시 문자열 
		 					} //2. 마지막 송신 요청 응답 if 문
							// 데이터 수신 한 경우만 UPDATE
						}
						int iInfo = dao.setMasterRcvInfo(hmCommon,hm ,df);
					}
					
				}else{		
					dataMsg = dao.getMakeMasterData("", 0 , df);
				}	 
	   
			}else{  
				// 데이터 없는 경우  완료 응답 메세지 송신
				dataMsg = dao.getMakeMasterData("", 0 , df); 
				df.CommLogger("▶ [NO DATA --  UPD_DATE IS  ]  " + (String)hm.get("UPD_DT")   );
			}
		}catch(Exception e) {
			/*logger.info("[ERROR]" + e);*/
			df.CommLogger("▶ [ERROR ctrExecuteor  ]  " + e.getMessage()   );
			// 데이터 없는 경우  완료 응답 메세지 송신 -- 완료 응답은  {"CNT":"0", "DATA":""}
			dataMsg = dao.getMakeMasterData("", 0 , df);
			throw e;
		}
		return dataMsg;
	}
	//8   NHS_CUST_BUY_HIST 호출 처리 중 ▶ 
	public String make_NHS_CUST_BUY_HIST(ActionSocket actionSocket , HashMap hmCommon,  HashMap hm,  COMMLog df) throws Exception {
		
		StringBuffer sb  = new StringBuffer();
		NhsMasterDataRcvDAO dao = new NhsMasterDataRcvDAO();
	
		int irow =0;
		String  recvData  ="";
		String  dataMsg = ""; 
		String  sendMsg = ""; 
	
		HashMap hmRcvData = new HashMap(); 
		
		List <Object> list  =   new ArrayList<Object>() ;
		list =     dao.selMasterData(hmCommon, hm ,df); 
		try {
			df.CommLogger("ROW COUNT ▶ " + list.size());
			  
			if  ( list.size() > 0) {
			  
				for( int i = 0;i < list.size();i++ ) {
					irow++;							
					Map<String, String> map = (Map<String, String>)list.get(i); 
					
					sb.append((String)map.get("CMP_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SALES_ORG_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("HPC_CUST_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("ITEM_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("ITEM_NM") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("BUY_DT") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_DATE") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_DATE") + COMMBiz.FIELD_DELIMITER );

					
					sb.append(COMMBiz.ROW_DELIMITER);
					
				}	// For 문 종료 
				
				  		 		
				dataMsg = dao.getMakeMasterData(sb.toString(), irow , df);
				//2. 마지막 데이터   일 경우 먼저 사이즈 정보 전송  종료 					
				sendMsg = COMMBiz.makeSendData(hmCommon, dataMsg.getBytes().length, 0); 
				
				if( actionSocket.send(sendMsg + dataMsg) ){
					try { 
						df.CommLogger("▶ actionSocket.receive() start ");
						recvData = (String)(actionSocket.receive());												
					}catch(SocketTimeoutException e) {
						df.CommLogger("▶ [ERROR] TimeOut ");
					}finally{
						// 수신 json 데이터 parsing 
						if(recvData.length() > COMMBiz.CM_LENS){
							hmRcvData = COMMBiz.jSonParsing2( recvData.substring(COMMBiz.CM_LENS)) ;//=gson.fromJson(rcvDataBuf, HashMap.class);  //
							String sPROC_CD = (String)hmRcvData.get("PROC_CD") ;
							if (sPROC_CD.equals("1")){
								dataMsg = dao.getMakeMasterData("", 0 , df);		// 최종 데이터 송신시 문자열 
		 					} //2. 마지막 송신 요청 응답 if 문
							// 데이터 수신 한 경우만 UPDATE
						}
						int iInfo = dao.setMasterRcvInfo(hmCommon,hm ,df);
					}
					
				}else{		
					dataMsg = dao.getMakeMasterData("", 0 , df);
				}	 
	   
			}else{  
				// 데이터 없는 경우  완료 응답 메세지 송신
				dataMsg = dao.getMakeMasterData("", 0 , df); 
				df.CommLogger("▶ [NO DATA --  UPD_DATE IS  ]  " + (String)hm.get("UPD_DT")   );
			}
		}catch(Exception e) {
			/*logger.info("[ERROR]" + e);*/
			df.CommLogger("▶ [ERROR ctrExecuteor  ]  " + e.getMessage()   );
			// 데이터 없는 경우  완료 응답 메세지 송신 -- 완료 응답은  {"CNT":"0", "DATA":""}
			dataMsg = dao.getMakeMasterData("", 0 , df);
			throw e;
		}
		return dataMsg;
	}
	//9   NHS_LANG_MSG 호출 처리 중 ▶ 
	public String make_NHS_LANG_MSG(ActionSocket actionSocket , HashMap hmCommon,  HashMap hm,  COMMLog df) throws Exception {
		
		StringBuffer sb  = new StringBuffer();
		NhsMasterDataRcvDAO dao = new NhsMasterDataRcvDAO();
	
		int irow =0;
		String  recvData  ="";
		String  dataMsg = ""; 
		String  sendMsg = ""; 
	
		HashMap hmRcvData = new HashMap(); 
		
		List <Object> list  =   new ArrayList<Object>() ;
		list =     dao.selMasterData(hmCommon, hm ,df); 
		try {
			df.CommLogger("ROW COUNT ▶ " + list.size());
			 
			if  ( list.size() > 0) {
			  
				for( int i = 0;i < list.size();i++ ) {
					irow++;							
					Map<String, String> map = (Map<String, String>)list.get(i); 
					
					sb.append((String)map.get("CMP_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SALES_ORG_CD") + COMMBiz.FIELD_DELIMITER );
					/*sb.append((String)map.get("STOR_CD") + COMMBiz.FIELD_DELIMITER );*/
					sb.append((String)map.get("LANG_GBN_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("LANG_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("LANG_MESSAGE_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("LANG_MESSAGE") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_DATE") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_DATE") + COMMBiz.FIELD_DELIMITER );

					
					sb.append(COMMBiz.ROW_DELIMITER);
					
				}	// For 문 종료 
				
				  		 		
				dataMsg = dao.getMakeMasterData(sb.toString(), irow , df);
				//2. 마지막 데이터   일 경우 먼저 사이즈 정보 전송  종료 					
				sendMsg = COMMBiz.makeSendData(hmCommon, dataMsg.getBytes().length, 0); 
				
				if( actionSocket.send(sendMsg + dataMsg) ){
					try { 
						df.CommLogger("▶ actionSocket.receive() start ");
						recvData = (String)(actionSocket.receive());												
					}catch(SocketTimeoutException e) {
						df.CommLogger("▶ [ERROR] TimeOut ");
					}finally{
						// 수신 json 데이터 parsing 
						if(recvData.length() > COMMBiz.CM_LENS){
							hmRcvData = COMMBiz.jSonParsing2( recvData.substring(COMMBiz.CM_LENS)) ;//=gson.fromJson(rcvDataBuf, HashMap.class);  //
							String sPROC_CD = (String)hmRcvData.get("PROC_CD") ;
							if (sPROC_CD.equals("1")){
								dataMsg = dao.getMakeMasterData("", 0 , df);		// 최종 데이터 송신시 문자열 
		 					} //2. 마지막 송신 요청 응답 if 문
							// 데이터 수신 한 경우만 UPDATE
						}
						int iInfo = dao.setMasterRcvInfo(hmCommon,hm ,df);
					}
					
				}else{		
					dataMsg = dao.getMakeMasterData("", 0 , df);
				}	 
	   
			}else{  
				// 데이터 없는 경우  완료 응답 메세지 송신
				dataMsg = dao.getMakeMasterData("", 0 , df); 
				df.CommLogger("▶ [NO DATA --  UPD_DATE IS  ]  " + (String)hm.get("UPD_DT")   );
			}
		}catch(Exception e) {
			/*logger.info("[ERROR]" + e);*/
			df.CommLogger("▶ [ERROR ctrExecuteor  ]  " + e.getMessage()   );
			// 데이터 없는 경우  완료 응답 메세지 송신 -- 완료 응답은  {"CNT":"0", "DATA":""}
			dataMsg = dao.getMakeMasterData("", 0 , df);
			throw e;
		}
		return dataMsg;
	}
	//10   NHS_LAYOUT 호출 처리 중 ▶ 
	public String make_NHS_LAYOUT(ActionSocket actionSocket , HashMap hmCommon,  HashMap hm,  COMMLog df) throws Exception {
		
		StringBuffer sb  = new StringBuffer();
		NhsMasterDataRcvDAO dao = new NhsMasterDataRcvDAO();
	
		int irow =0;
		String  recvData  ="";
		String  dataMsg = ""; 
		String  sendMsg = ""; 
	
		HashMap hmRcvData = new HashMap(); 
		
		List <Object> list  =   new ArrayList<Object>() ;
		list =     dao.selMasterData(hmCommon, hm ,df); 
		try {
			df.CommLogger("ROW COUNT ▶ " + list.size());
			 
			if  ( list.size() > 0) {
			  
				for( int i = 0;i < list.size();i++ ) {
					irow++;							
					Map<String, String> map = (Map<String, String>)list.get(i); 
					
					sb.append((String)map.get("CMP_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SALES_ORG_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("LAYOUT_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("LAYOUT_NM") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("LAYOUT_RESOLUTION") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("FRAME_COUNT") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("RESOLUTION_HORIZEN") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("RESOLUTION_VERTICAL") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_DATE") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_DATE") + COMMBiz.FIELD_DELIMITER );

					
					sb.append(COMMBiz.ROW_DELIMITER);
					
				}	// For 문 종료 
				
				  		 		
				dataMsg = dao.getMakeMasterData(sb.toString(), irow , df);
				//2. 마지막 데이터   일 경우 먼저 사이즈 정보 전송  종료 					
				sendMsg = COMMBiz.makeSendData(hmCommon, dataMsg.getBytes().length, 0); 
				
				if( actionSocket.send(sendMsg + dataMsg) ){
					try { 
						df.CommLogger("▶ actionSocket.receive() start ");
						recvData = (String)(actionSocket.receive());												
					}catch(SocketTimeoutException e) {
						df.CommLogger("▶ [ERROR] TimeOut ");
					}finally{
						// 수신 json 데이터 parsing 
						if(recvData.length() > COMMBiz.CM_LENS){
							hmRcvData = COMMBiz.jSonParsing2( recvData.substring(COMMBiz.CM_LENS)) ;//=gson.fromJson(rcvDataBuf, HashMap.class);  //
							String sPROC_CD = (String)hmRcvData.get("PROC_CD") ;
							if (sPROC_CD.equals("1")){
								dataMsg = dao.getMakeMasterData("", 0 , df);		// 최종 데이터 송신시 문자열 
		 					} //2. 마지막 송신 요청 응답 if 문
							// 데이터 수신 한 경우만 UPDATE
						}
						int iInfo = dao.setMasterRcvInfo(hmCommon,hm ,df);
					}
					
				}else{		
					dataMsg = dao.getMakeMasterData("", 0 , df);
				}	 
	   
			}else{  
				// 데이터 없는 경우  완료 응답 메세지 송신
				dataMsg = dao.getMakeMasterData("", 0 , df); 
				df.CommLogger("▶ [NO DATA --  UPD_DATE IS  ]  " + (String)hm.get("UPD_DT")   );
			}
		}catch(Exception e) {
			/*logger.info("[ERROR]" + e);*/
			df.CommLogger("▶ [ERROR ctrExecuteor  ]  " + e.getMessage()   );
			// 데이터 없는 경우  완료 응답 메세지 송신 -- 완료 응답은  {"CNT":"0", "DATA":""}
			dataMsg = dao.getMakeMasterData("", 0 , df);
			throw e;
		}
		return dataMsg;
	}
	//11   NHS_PRD_CATE_L 호출 처리 중 ▶ 
	public String make_NHS_PRD_CATE_L(ActionSocket actionSocket , HashMap hmCommon,  HashMap hm,  COMMLog df) throws Exception {
		
		StringBuffer sb  = new StringBuffer();
		NhsMasterDataRcvDAO dao = new NhsMasterDataRcvDAO();
	
		int irow =0;
		String  recvData  ="";
		String  dataMsg = ""; 
		String  sendMsg = ""; 
	
		HashMap hmRcvData = new HashMap(); 
		
		List <Object> list  =   new ArrayList<Object>() ;
		list =     dao.selMasterData(hmCommon, hm ,df); 
		try {
			df.CommLogger("ROW COUNT ▶ " + list.size());
			 
			if  ( list.size() > 0) {
			  
				for( int i = 0;i < list.size();i++ ) {
					irow++;							
					Map<String, String> map = (Map<String, String>)list.get(i); 
					
					sb.append((String)map.get("CMP_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SALES_ORG_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("PRD_CATE_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("PRD_CATE_UP_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("FILE_FULLPATH") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("FILE_NAME") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("DISPLAY_ORDER") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("USE_YN") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("HIDE_YN") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_DATE") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_DATE") + COMMBiz.FIELD_DELIMITER );

					
					sb.append(COMMBiz.ROW_DELIMITER);
					
				}	// For 문 종료 
				
				  		 		
				dataMsg = dao.getMakeMasterData(sb.toString(), irow , df);
				//2. 마지막 데이터   일 경우 먼저 사이즈 정보 전송  종료 					
				sendMsg = COMMBiz.makeSendData(hmCommon, dataMsg.getBytes().length, 0); 
				
				if( actionSocket.send(sendMsg + dataMsg) ){
					try { 
						df.CommLogger("▶ actionSocket.receive() start ");
						recvData = (String)(actionSocket.receive());												
					}catch(SocketTimeoutException e) {
						df.CommLogger("▶ [ERROR] TimeOut ");
					}finally{
						// 수신 json 데이터 parsing 
						if(recvData.length() > COMMBiz.CM_LENS){
							hmRcvData = COMMBiz.jSonParsing2( recvData.substring(COMMBiz.CM_LENS)) ;//=gson.fromJson(rcvDataBuf, HashMap.class);  //
							String sPROC_CD = (String)hmRcvData.get("PROC_CD") ;
							if (sPROC_CD.equals("1")){
								dataMsg = dao.getMakeMasterData("", 0 , df);		// 최종 데이터 송신시 문자열 
		 					} //2. 마지막 송신 요청 응답 if 문
							// 데이터 수신 한 경우만 UPDATE
						}
						int iInfo = dao.setMasterRcvInfo(hmCommon,hm ,df);
					}
					
				}else{		
					dataMsg = dao.getMakeMasterData("", 0 , df);
				}	 
	   
			}else{  
				// 데이터 없는 경우  완료 응답 메세지 송신
				dataMsg = dao.getMakeMasterData("", 0 , df); 
				df.CommLogger("▶ [NO DATA --  UPD_DATE IS  ]  " + (String)hm.get("UPD_DT")   );
			}
		}catch(Exception e) {
			/*logger.info("[ERROR]" + e);*/
			df.CommLogger("▶ [ERROR ctrExecuteor  ]  " + e.getMessage()   );
			// 데이터 없는 경우  완료 응답 메세지 송신 -- 완료 응답은  {"CNT":"0", "DATA":""}
			dataMsg = dao.getMakeMasterData("", 0 , df);
			throw e;
		}
		return dataMsg;
	}
	//12   NHS_PRD_CATE_M 호출 처리 중 ▶
	public String make_NHS_PRD_CATE_M(ActionSocket actionSocket , HashMap hmCommon,  HashMap hm,  COMMLog df) throws Exception {
		
		StringBuffer sb  = new StringBuffer();
		NhsMasterDataRcvDAO dao = new NhsMasterDataRcvDAO();
	
		int irow =0;
		String  recvData  ="";
		String  dataMsg = ""; 
		String  sendMsg = ""; 
	
		HashMap hmRcvData = new HashMap(); 
		
		List <Object> list  =   new ArrayList<Object>() ;
		list =     dao.selMasterData(hmCommon, hm ,df); 
		try {
			df.CommLogger("ROW COUNT ▶ " + list.size());
			 
			if  ( list.size() > 0) {
			  
				for( int i = 0;i < list.size();i++ ) {
					irow++;							
					Map<String, String> map = (Map<String, String>)list.get(i); 
					
					sb.append((String)map.get("CMP_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SALES_ORG_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("PRD_CATE_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("PRD_CATE_UP_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("FILE_FULLPATH") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("FILE_NAME") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("DISPLAY_ORDER") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("USE_YN") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("HIDE_YN") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_DATE") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_DATE") + COMMBiz.FIELD_DELIMITER );

					
					sb.append(COMMBiz.ROW_DELIMITER);
					
				}	// For 문 종료 
				
				  		 		
				dataMsg = dao.getMakeMasterData(sb.toString(), irow , df);
				//2. 마지막 데이터   일 경우 먼저 사이즈 정보 전송  종료 					
				sendMsg = COMMBiz.makeSendData(hmCommon, dataMsg.getBytes().length, 0); 
				
				if( actionSocket.send(sendMsg + dataMsg) ){
					try { 
						df.CommLogger("▶ actionSocket.receive() start ");
						recvData = (String)(actionSocket.receive());												
					}catch(SocketTimeoutException e) {
						df.CommLogger("▶ [ERROR] TimeOut ");
					}finally{
						// 수신 json 데이터 parsing 
						if(recvData.length() > COMMBiz.CM_LENS){
							hmRcvData = COMMBiz.jSonParsing2( recvData.substring(COMMBiz.CM_LENS)) ;//=gson.fromJson(rcvDataBuf, HashMap.class);  //
							String sPROC_CD = (String)hmRcvData.get("PROC_CD") ;
							if (sPROC_CD.equals("1")){
								dataMsg = dao.getMakeMasterData("", 0 , df);		// 최종 데이터 송신시 문자열 
		 					} //2. 마지막 송신 요청 응답 if 문
							// 데이터 수신 한 경우만 UPDATE
						}
						int iInfo = dao.setMasterRcvInfo(hmCommon,hm ,df);
					}
					
				}else{		
					dataMsg = dao.getMakeMasterData("", 0 , df);
				}	 
	   
			}else{  
				// 데이터 없는 경우  완료 응답 메세지 송신
				dataMsg = dao.getMakeMasterData("", 0 , df); 
				df.CommLogger("▶ [NO DATA --  UPD_DATE IS  ]  " + (String)hm.get("UPD_DT")   );
			}
		}catch(Exception e) {
			/*logger.info("[ERROR]" + e);*/
			df.CommLogger("▶ [ERROR ctrExecuteor  ]  " + e.getMessage()   );
			// 데이터 없는 경우  완료 응답 메세지 송신 -- 완료 응답은  {"CNT":"0", "DATA":""}
			dataMsg = dao.getMakeMasterData("", 0 , df);
			throw e;
		}
		return dataMsg;
	}
	//13   NHS_PRD_MST 호출 처리 중 ▶ 
	public String make_NHS_PRD_MST(ActionSocket actionSocket , HashMap hmCommon,  HashMap hm,  COMMLog df) throws Exception {
		
		StringBuffer sb  = new StringBuffer();
		NhsMasterDataRcvDAO dao = new NhsMasterDataRcvDAO();
	
		int irow =0;
		String  recvData  ="";
		String  dataMsg = ""; 
		String  sendMsg = ""; 
	
		HashMap hmRcvData = new HashMap(); 
		
		List <Object> list  =   new ArrayList<Object>() ;
		list =     dao.selMasterData(hmCommon, hm ,df); 
		try {
			df.CommLogger("ROW COUNT ▶ " + list.size());
			 
			if  ( list.size() > 0) {
			  
				for( int i = 0;i < list.size();i++ ) {
					irow++;							
					Map<String, String> map = (Map<String, String>)list.get(i); 
					
					sb.append((String)map.get("CMP_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SALES_ORG_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("PRD_CATE_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("ITEM_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("ITEM_NM") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("FILE_FULLPATH") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("FILE_NAME") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("ORDER_TYPE") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("RECOMMAND_YN") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("NEW_YN") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("DISPLAY_ORDER") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("USE_YN") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("PRESENT_YN") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("BAR_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_DATE") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_DATE") + COMMBiz.FIELD_DELIMITER );

					
					sb.append(COMMBiz.ROW_DELIMITER);
					
				}	// For 문 종료 
				
				  		 		
				dataMsg = dao.getMakeMasterData(sb.toString(), irow , df);
				//2. 마지막 데이터   일 경우 먼저 사이즈 정보 전송  종료 					
				sendMsg = COMMBiz.makeSendData(hmCommon, dataMsg.getBytes().length, 0); 
				
				if( actionSocket.send(sendMsg + dataMsg) ){
					try { 
						df.CommLogger("▶ actionSocket.receive() start ");
						recvData = (String)(actionSocket.receive());												
					}catch(SocketTimeoutException e) {
						df.CommLogger("▶ [ERROR] TimeOut ");
					}finally{
						// 수신 json 데이터 parsing 
						if(recvData.length() > COMMBiz.CM_LENS){
							hmRcvData = COMMBiz.jSonParsing2( recvData.substring(COMMBiz.CM_LENS)) ;//=gson.fromJson(rcvDataBuf, HashMap.class);  //
							String sPROC_CD = (String)hmRcvData.get("PROC_CD") ;
							if (sPROC_CD.equals("1")){
								dataMsg = dao.getMakeMasterData("", 0 , df);		// 최종 데이터 송신시 문자열 
		 					} //2. 마지막 송신 요청 응답 if 문
							// 데이터 수신 한 경우만 UPDATE
						}
						int iInfo = dao.setMasterRcvInfo(hmCommon,hm ,df);
					}
					
				}else{		
					dataMsg = dao.getMakeMasterData("", 0 , df);
				}	 
	   
			}else{  
				// 데이터 없는 경우  완료 응답 메세지 송신
				dataMsg = dao.getMakeMasterData("", 0 , df); 
				df.CommLogger("▶ [NO DATA --  UPD_DATE IS  ]  " + (String)hm.get("UPD_DT")   );
			}
		}catch(Exception e) {
			/*logger.info("[ERROR]" + e);*/
			df.CommLogger("▶ [ERROR ctrExecuteor  ]  " + e.getMessage()   );
			// 데이터 없는 경우  완료 응답 메세지 송신 -- 완료 응답은  {"CNT":"0", "DATA":""}
			dataMsg = dao.getMakeMasterData("", 0 , df);
			throw e;
		}
		return dataMsg;
	}
	//14   NHS_OPTN_MST 호출 처리 중 ▶
	public String make_NHS_OPTN_MST(ActionSocket actionSocket , HashMap hmCommon,  HashMap hm,  COMMLog df) throws Exception {
		
		StringBuffer sb  = new StringBuffer();
		NhsMasterDataRcvDAO dao = new NhsMasterDataRcvDAO();
	
		int irow =0;
		String  recvData  ="";
		String  dataMsg = ""; 
		String  sendMsg = ""; 
	
		HashMap hmRcvData = new HashMap(); 
		
		List <Object> list  =   new ArrayList<Object>() ;
		list =     dao.selMasterData(hmCommon, hm ,df); 
		try {
			df.CommLogger("ROW COUNT ▶ " + list.size());
			 
			if  ( list.size() > 0) {
			  
				for( int i = 0;i < list.size();i++ ) {
					irow++;							
					Map<String, String> map = (Map<String, String>)list.get(i); 
					
					sb.append((String)map.get("CMP_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SALES_ORG_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("ITEM_OPTN_GRP_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("ITEM_OPTN_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("ITEM_OPTN_NM") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("KIND") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("OPTN_MTD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("KIND_CODE") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("AMT") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("MIN_AMT") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("MAX_AMT") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_DATE") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_DATE") + COMMBiz.FIELD_DELIMITER );

					
					sb.append(COMMBiz.ROW_DELIMITER);
					
				}	// For 문 종료 
				
				  		 		
				dataMsg = dao.getMakeMasterData(sb.toString(), irow , df);
				//2. 마지막 데이터   일 경우 먼저 사이즈 정보 전송  종료 					
				sendMsg = COMMBiz.makeSendData(hmCommon, dataMsg.getBytes().length, 0); 
				
				if( actionSocket.send(sendMsg + dataMsg) ){
					try { 
						df.CommLogger("▶ actionSocket.receive() start ");
						recvData = (String)(actionSocket.receive());												
					}catch(SocketTimeoutException e) {
						df.CommLogger("▶ [ERROR] TimeOut ");
					}finally{
						// 수신 json 데이터 parsing 
						if(recvData.length() > COMMBiz.CM_LENS){
							hmRcvData = COMMBiz.jSonParsing2( recvData.substring(COMMBiz.CM_LENS)) ;//=gson.fromJson(rcvDataBuf, HashMap.class);  //
							String sPROC_CD = (String)hmRcvData.get("PROC_CD") ;
							if (sPROC_CD.equals("1")){
								dataMsg = dao.getMakeMasterData("", 0 , df);		// 최종 데이터 송신시 문자열 
		 					} //2. 마지막 송신 요청 응답 if 문
							// 데이터 수신 한 경우만 UPDATE
						}
						int iInfo = dao.setMasterRcvInfo(hmCommon,hm ,df);
					}
					
				}else{		
					dataMsg = dao.getMakeMasterData("", 0 , df);
				}	 
	   
			}else{  
				// 데이터 없는 경우  완료 응답 메세지 송신
				dataMsg = dao.getMakeMasterData("", 0 , df); 
				df.CommLogger("▶ [NO DATA --  UPD_DATE IS  ]  " + (String)hm.get("UPD_DT")   );
			}
		}catch(Exception e) {
			/*logger.info("[ERROR]" + e);*/
			df.CommLogger("▶ [ERROR ctrExecuteor  ]  " + e.getMessage()   );
			// 데이터 없는 경우  완료 응답 메세지 송신 -- 완료 응답은  {"CNT":"0", "DATA":""}
			dataMsg = dao.getMakeMasterData("", 0 , df);
			throw e;
		}
		return dataMsg;
	}
	//15   NHS_PRD_OPTN_GRP 호출 처리 중 ▶	
	public String make_NHS_PRD_OPTN_GRP(ActionSocket actionSocket , HashMap hmCommon,  HashMap hm,  COMMLog df) throws Exception {
		
		StringBuffer sb  = new StringBuffer();
		NhsMasterDataRcvDAO dao = new NhsMasterDataRcvDAO();
	
		int irow =0;
		String  recvData  ="";
		String  dataMsg = ""; 
		String  sendMsg = ""; 
	
		HashMap hmRcvData = new HashMap(); 
		
		List <Object> list  =   new ArrayList<Object>() ;
		list =     dao.selMasterData(hmCommon, hm ,df); 
		try {
			df.CommLogger("ROW COUNT ▶ " + list.size());
			 
			if  ( list.size() > 0) {
			  
				for( int i = 0;i < list.size();i++ ) {
					irow++;							
					Map<String, String> map = (Map<String, String>)list.get(i); 
					
					sb.append((String)map.get("CMP_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SALES_ORG_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("ITEM_OPTN_GRP_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("OPTN_GRP_NM") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("FILE_FULLPATH") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("FILE_NAME") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SEL_MTD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("RQRD_YN") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("USE_YN") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_DATE") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_DATE") + COMMBiz.FIELD_DELIMITER );

					
					sb.append(COMMBiz.ROW_DELIMITER);
					
				}	// For 문 종료 
				
				  		 		
				dataMsg = dao.getMakeMasterData(sb.toString(), irow , df);
				//2. 마지막 데이터   일 경우 먼저 사이즈 정보 전송  종료 					
				sendMsg = COMMBiz.makeSendData(hmCommon, dataMsg.getBytes().length, 0); 
				
				if( actionSocket.send(sendMsg + dataMsg) ){
					try { 
						df.CommLogger("▶ actionSocket.receive() start ");
						recvData = (String)(actionSocket.receive());												
					}catch(SocketTimeoutException e) {
						df.CommLogger("▶ [ERROR] TimeOut ");
					}finally{
						// 수신 json 데이터 parsing 
						if(recvData.length() > COMMBiz.CM_LENS){
							hmRcvData = COMMBiz.jSonParsing2( recvData.substring(COMMBiz.CM_LENS)) ;//=gson.fromJson(rcvDataBuf, HashMap.class);  //
							String sPROC_CD = (String)hmRcvData.get("PROC_CD") ;
							if (sPROC_CD.equals("1")){
								dataMsg = dao.getMakeMasterData("", 0 , df);		// 최종 데이터 송신시 문자열 
		 					} //2. 마지막 송신 요청 응답 if 문
							// 데이터 수신 한 경우만 UPDATE
						}
						int iInfo = dao.setMasterRcvInfo(hmCommon,hm ,df);
					}
					
				}else{		
					dataMsg = dao.getMakeMasterData("", 0 , df);
				}	 
	   
			}else{  
				// 데이터 없는 경우  완료 응답 메세지 송신
				dataMsg = dao.getMakeMasterData("", 0 , df); 
				df.CommLogger("▶ [NO DATA --  UPD_DATE IS  ]  " + (String)hm.get("UPD_DT")   );
			}
		}catch(Exception e) {
			/*logger.info("[ERROR]" + e);*/
			df.CommLogger("▶ [ERROR ctrExecuteor  ]  " + e.getMessage()   );
			// 데이터 없는 경우  완료 응답 메세지 송신 -- 완료 응답은  {"CNT":"0", "DATA":""}
			dataMsg = dao.getMakeMasterData("", 0 , df);
			throw e;
		}
		return dataMsg;
	}
 
	//16   NHS_PRD_OPTN 호출 처리 중 ▶
	public String make_NHS_PRD_OPTN(ActionSocket actionSocket , HashMap hmCommon,  HashMap hm,  COMMLog df) throws Exception {
		
		StringBuffer sb  = new StringBuffer();
		NhsMasterDataRcvDAO dao = new NhsMasterDataRcvDAO();
	
		int irow =0;
		String  recvData  ="";
		String  dataMsg = ""; 
		String  sendMsg = ""; 
	
		HashMap hmRcvData = new HashMap(); 
		
		List <Object> list  =   new ArrayList<Object>() ;
		list =     dao.selMasterData(hmCommon, hm ,df); 
		try {
			df.CommLogger("ROW COUNT ▶ " + list.size());
			 
			if  ( list.size() > 0) {
			  
				for( int i = 0;i < list.size();i++ ) {
					irow++;							
					Map<String, String> map = (Map<String, String>)list.get(i); 
					
					sb.append((String)map.get("CMP_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SALES_ORG_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("STOR_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("ITEM_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("ITEM_OPTN_GRP_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("DISPLAY_ORDER") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_DATE") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_DATE") + COMMBiz.FIELD_DELIMITER );

					
					sb.append(COMMBiz.ROW_DELIMITER);
					
				}	// For 문 종료 
				
				  		 		
				dataMsg = dao.getMakeMasterData(sb.toString(), irow , df);
				//2. 마지막 데이터   일 경우 먼저 사이즈 정보 전송  종료 					
				sendMsg = COMMBiz.makeSendData(hmCommon, dataMsg.getBytes().length, 0); 
				
				if( actionSocket.send(sendMsg + dataMsg) ){
					try { 
						df.CommLogger("▶ actionSocket.receive() start ");
						recvData = (String)(actionSocket.receive());												
					}catch(SocketTimeoutException e) {
						df.CommLogger("▶ [ERROR] TimeOut ");
					}finally{
						// 수신 json 데이터 parsing 
						if(recvData.length() > COMMBiz.CM_LENS){
							hmRcvData = COMMBiz.jSonParsing2( recvData.substring(COMMBiz.CM_LENS)) ;//=gson.fromJson(rcvDataBuf, HashMap.class);  //
							String sPROC_CD = (String)hmRcvData.get("PROC_CD") ;
							if (sPROC_CD.equals("1")){
								dataMsg = dao.getMakeMasterData("", 0 , df);		// 최종 데이터 송신시 문자열 
		 					} //2. 마지막 송신 요청 응답 if 문
							// 데이터 수신 한 경우만 UPDATE
						}
						int iInfo = dao.setMasterRcvInfo(hmCommon,hm ,df);
					}
					
				}else{		
					dataMsg = dao.getMakeMasterData("", 0 , df);
				}	 
	   
			}else{  
				// 데이터 없는 경우  완료 응답 메세지 송신
				dataMsg = dao.getMakeMasterData("", 0 , df); 
				df.CommLogger("▶ [NO DATA --  UPD_DATE IS  ]  " + (String)hm.get("UPD_DT")   );
			}
		}catch(Exception e) {
			/*logger.info("[ERROR]" + e);*/
			df.CommLogger("▶ [ERROR ctrExecuteor  ]  " + e.getMessage()   );
			// 데이터 없는 경우  완료 응답 메세지 송신 -- 완료 응답은  {"CNT":"0", "DATA":""}
			dataMsg = dao.getMakeMasterData("", 0 , df);
			throw e;
		}
		return dataMsg;
	}
	//17   NHS_PRD_CATE 호출 처리 중 ▶
	public String make_NHS_PRD_CATE(ActionSocket actionSocket , HashMap hmCommon,  HashMap hm,  COMMLog df) throws Exception {
		
		StringBuffer sb  = new StringBuffer();
		NhsMasterDataRcvDAO dao = new NhsMasterDataRcvDAO();
	
		int irow =0;
		String  recvData  ="";
		String  dataMsg = ""; 
		String  sendMsg = ""; 
	
		HashMap hmRcvData = new HashMap(); 
		
		List <Object> list  =   new ArrayList<Object>() ;
		list =     dao.selMasterData(hmCommon, hm ,df); 
		try {
			df.CommLogger("ROW COUNT ▶ " + list.size());
			 
			if  ( list.size() > 0) {
			  
				for( int i = 0;i < list.size();i++ ) {
					irow++;							
					Map<String, String> map = (Map<String, String>)list.get(i); 
					
					sb.append((String)map.get("CMP_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("SALES_ORG_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("PRD_CATE_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("PRD_CATE_UP_CD") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("FILE_FULLPATH") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("FILE_NAME") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("DISPLAY_ORDER") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("USE_YN") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("HIDE_YN") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("REG_DATE") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_USER_ID") + COMMBiz.FIELD_DELIMITER );
					sb.append((String)map.get("UPD_DATE") + COMMBiz.FIELD_DELIMITER );

					
					sb.append(COMMBiz.ROW_DELIMITER);
					
				}	// For 문 종료 
				
				  		 		
				dataMsg = dao.getMakeMasterData(sb.toString(), irow , df);
				//2. 마지막 데이터   일 경우 먼저 사이즈 정보 전송  종료 					
				sendMsg = COMMBiz.makeSendData(hmCommon, dataMsg.getBytes().length, 0); 
				
				if( actionSocket.send(sendMsg + dataMsg) ){
					try { 
						df.CommLogger("▶ actionSocket.receive() start ");
						recvData = (String)(actionSocket.receive());												
					}catch(SocketTimeoutException e) {
						df.CommLogger("▶ [ERROR] TimeOut ");
					}finally{
						// 수신 json 데이터 parsing 
						if(recvData.length() > COMMBiz.CM_LENS){
							hmRcvData = COMMBiz.jSonParsing2( recvData.substring(COMMBiz.CM_LENS)) ;//=gson.fromJson(rcvDataBuf, HashMap.class);  //
							String sPROC_CD = (String)hmRcvData.get("PROC_CD") ;
							if (sPROC_CD.equals("1")){
								dataMsg = dao.getMakeMasterData("", 0 , df);		// 최종 데이터 송신시 문자열 
		 					} //2. 마지막 송신 요청 응답 if 문
							// 데이터 수신 한 경우만 UPDATE
						}
						int iInfo = dao.setMasterRcvInfo(hmCommon,hm ,df);
					}
					
				}else{		
					dataMsg = dao.getMakeMasterData("", 0 , df);
				}	 
	   
			}else{  
				// 데이터 없는 경우  완료 응답 메세지 송신
				dataMsg = dao.getMakeMasterData("", 0 , df); 
				df.CommLogger("▶ [NO DATA --  UPD_DATE IS  ]  " + (String)hm.get("UPD_DT")   );
			}
		}catch(Exception e) {
			/*logger.info("[ERROR]" + e);*/
			df.CommLogger("▶ [ERROR ctrExecuteor  ]  " + e.getMessage()   );
			// 데이터 없는 경우  완료 응답 메세지 송신 -- 완료 응답은  {"CNT":"0", "DATA":""}
			dataMsg = dao.getMakeMasterData("", 0 , df);
			throw e;
		}
		return dataMsg;
	}
	
	//18   NHS_PRD_CATE 호출 처리 중 ▶
		public String make_NHS_STOR_PRD_TAG(ActionSocket actionSocket , HashMap hmCommon,  HashMap hm,  COMMLog df) throws Exception {
			
			StringBuffer sb  = new StringBuffer();
			NhsMasterDataRcvDAO dao = new NhsMasterDataRcvDAO();
		
			int irow =0;
			String  recvData  ="";
			String  dataMsg = ""; 
			String  sendMsg = ""; 
		
			HashMap hmRcvData = new HashMap(); 
			
			List <Object> list  =   new ArrayList<Object>() ;
			list =     dao.selMasterData(hmCommon, hm ,df); 
			try {
				df.CommLogger("ROW COUNT ▶ " + list.size());
				 
				if  ( list.size() > 0) {
				  
					for( int i = 0;i < list.size();i++ ) {
						irow++;							
						Map<String, String> map = (Map<String, String>)list.get(i); 
						
						sb.append((String)map.get("CMP_CD") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("SALES_ORG_CD") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("STOR_CD") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("ITEM_CD") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("TAG_KIND") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("FILE_NAME") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("NEW_START_DT") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("NEW_END_DT") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("REG_USER_ID") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("REG_DATE") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("UPD_USER_ID") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("UPD_DATE") + COMMBiz.FIELD_DELIMITER );

						
						sb.append(COMMBiz.ROW_DELIMITER);
						
					}	// For 문 종료 
					
					  		 		
					dataMsg = dao.getMakeMasterData(sb.toString(), irow , df);
					//2. 마지막 데이터   일 경우 먼저 사이즈 정보 전송  종료 					
					sendMsg = COMMBiz.makeSendData(hmCommon, dataMsg.getBytes().length, 0); 
					
					if( actionSocket.send(sendMsg + dataMsg) ){
						try { 
							df.CommLogger("▶ actionSocket.receive() start ");
							recvData = (String)(actionSocket.receive());												
						}catch(SocketTimeoutException e) {
							df.CommLogger("▶ [ERROR] TimeOut ");
						}finally{
							// 수신 json 데이터 parsing 
							if(recvData.length() > COMMBiz.CM_LENS){
								hmRcvData = COMMBiz.jSonParsing2( recvData.substring(COMMBiz.CM_LENS)) ;//=gson.fromJson(rcvDataBuf, HashMap.class);  //
								String sPROC_CD = (String)hmRcvData.get("PROC_CD") ;
								if (sPROC_CD.equals("1")){
									dataMsg = dao.getMakeMasterData("", 0 , df);		// 최종 데이터 송신시 문자열 
			 					} //2. 마지막 송신 요청 응답 if 문
								// 데이터 수신 한 경우만 UPDATE
							}
							int iInfo = dao.setMasterRcvInfo(hmCommon,hm ,df);
						}
						
					}else{		
						dataMsg = dao.getMakeMasterData("", 0 , df);
					}	 
		   
				}else{  
					// 데이터 없는 경우  완료 응답 메세지 송신
					dataMsg = dao.getMakeMasterData("", 0 , df); 
					df.CommLogger("▶ [NO DATA --  UPD_DATE IS  ]  " + (String)hm.get("UPD_DT")   );
				}
			}catch(Exception e) {
				/*logger.info("[ERROR]" + e);*/
				df.CommLogger("▶ [ERROR ctrExecuteor  ]  " + e.getMessage()   );
				// 데이터 없는 경우  완료 응답 메세지 송신 -- 완료 응답은  {"CNT":"0", "DATA":""}
				dataMsg = dao.getMakeMasterData("", 0 , df);
				throw e;
			}
			return dataMsg;
		}
		
		//19   NHS_LINK_ITEM 호출 처리 중 ▶
		public String make_NHS_LINK_ITEM(ActionSocket actionSocket , HashMap hmCommon,  HashMap hm,  COMMLog df) throws Exception {
			
			StringBuffer sb  = new StringBuffer();
			NhsMasterDataRcvDAO dao = new NhsMasterDataRcvDAO();
		
			int irow =0;
			String  recvData  ="";
			String  dataMsg = ""; 
			String  sendMsg = ""; 
		
			HashMap hmRcvData = new HashMap(); 
			
			List <Object> list  =   new ArrayList<Object>() ;
			list =     dao.selMasterData(hmCommon, hm ,df); 
			try {
				df.CommLogger("ROW COUNT ▶ " + list.size());
				 
				if  ( list.size() > 0) {
				  
					for( int i = 0;i < list.size();i++ ) {
						irow++;							
						Map<String, String> map = (Map<String, String>)list.get(i); 
						
						sb.append((String)map.get("CMP_CD") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("SALES_ORG_CD") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("LINK_CD") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("LINK_NM") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("LINK_ITEM_CD") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("UPCHARGE_YN") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("UPCHARGE_ITEM_CD") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("DISPLAY_ORDER") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("USE_YN") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("REG_USER_ID") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("REG_DATE") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("UPD_USER_ID") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("UPD_DATE") + COMMBiz.FIELD_DELIMITER );
						
						sb.append(COMMBiz.ROW_DELIMITER);
						
					}	// For 문 종료 
					
					  		 		
					dataMsg = dao.getMakeMasterData(sb.toString(), irow , df);
					//2. 마지막 데이터   일 경우 먼저 사이즈 정보 전송  종료 					
					sendMsg = COMMBiz.makeSendData(hmCommon, dataMsg.getBytes().length, 0); 
					
					if( actionSocket.send(sendMsg + dataMsg) ){
						try { 
							df.CommLogger("▶ actionSocket.receive() start ");
							recvData = (String)(actionSocket.receive());												
						}catch(SocketTimeoutException e) {
							df.CommLogger("▶ [ERROR] TimeOut ");
						}finally{
							// 수신 json 데이터 parsing 
							if(recvData.length() > COMMBiz.CM_LENS){
								hmRcvData = COMMBiz.jSonParsing2( recvData.substring(COMMBiz.CM_LENS)) ;//=gson.fromJson(rcvDataBuf, HashMap.class);  //
								String sPROC_CD = (String)hmRcvData.get("PROC_CD") ;
								if (sPROC_CD.equals("1")){
									dataMsg = dao.getMakeMasterData("", 0 , df);		// 최종 데이터 송신시 문자열 
			 					} //2. 마지막 송신 요청 응답 if 문
								// 데이터 수신 한 경우만 UPDATE
							}
							int iInfo = dao.setMasterRcvInfo(hmCommon,hm ,df);
						}
						
					}else{		
						dataMsg = dao.getMakeMasterData("", 0 , df);
					}	 
		   
				}else{  
					// 데이터 없는 경우  완료 응답 메세지 송신
					dataMsg = dao.getMakeMasterData("", 0 , df); 
					df.CommLogger("▶ [NO DATA --  UPD_DATE IS  ]  " + (String)hm.get("UPD_DT")   );
				}
			}catch(Exception e) {
				/*logger.info("[ERROR]" + e);*/
				df.CommLogger("▶ [ERROR ctrExecuteor  ]  " + e.getMessage()   );
				// 데이터 없는 경우  완료 응답 메세지 송신 -- 완료 응답은  {"CNT":"0", "DATA":""}
				dataMsg = dao.getMakeMasterData("", 0 , df);
				throw e;
			}
			return dataMsg;
		}
		
		//20   NHS_STOR_FLAVOR 호출 처리 중 ▶
		public String make_NHS_STOR_FLAVOR(ActionSocket actionSocket , HashMap hmCommon,  HashMap hm,  COMMLog df) throws Exception {
			
			StringBuffer sb  = new StringBuffer();
			NhsMasterDataRcvDAO dao = new NhsMasterDataRcvDAO();
		
			int irow =0;
			String  recvData  ="";
			String  dataMsg = ""; 
			String  sendMsg = ""; 
		
			HashMap hmRcvData = new HashMap(); 
			
			List <Object> list  =   new ArrayList<Object>() ;
			list =     dao.selMasterData(hmCommon, hm ,df); 
			try {
				df.CommLogger("ROW COUNT ▶ " + list.size());
				 
				if  ( list.size() > 0) {
				  
					for( int i = 0;i < list.size();i++ ) {
						irow++;							
						Map<String, String> map = (Map<String, String>)list.get(i); 
						
						sb.append((String)map.get("CMP_CD") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("SALES_ORG_CD") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("STOR_CD") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("ITEM_CD") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("ITEM_NM") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("DISPLAY_ORDER") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("USE_YN") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("DESC1") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("DESC2") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("INFO") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("REG_USER_ID") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("REG_DATE") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("UPD_USER_ID") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("UPD_DATE") + COMMBiz.FIELD_DELIMITER );

						
						sb.append(COMMBiz.ROW_DELIMITER);
						
					}	// For 문 종료 
					
					  		 		
					dataMsg = dao.getMakeMasterData(sb.toString(), irow , df);
					//2. 마지막 데이터   일 경우 먼저 사이즈 정보 전송  종료 					
					sendMsg = COMMBiz.makeSendData(hmCommon, dataMsg.getBytes().length, 0); 
					
					if( actionSocket.send(sendMsg + dataMsg) ){
						try { 
							df.CommLogger("▶ actionSocket.receive() start ");
							recvData = (String)(actionSocket.receive());												
						}catch(SocketTimeoutException e) {
							df.CommLogger("▶ [ERROR] TimeOut ");
						}finally{
							// 수신 json 데이터 parsing 
							if(recvData.length() > COMMBiz.CM_LENS){
								hmRcvData = COMMBiz.jSonParsing2( recvData.substring(COMMBiz.CM_LENS)) ;//=gson.fromJson(rcvDataBuf, HashMap.class);  //
								String sPROC_CD = (String)hmRcvData.get("PROC_CD") ;
								if (sPROC_CD.equals("1")){
									dataMsg = dao.getMakeMasterData("", 0 , df);		// 최종 데이터 송신시 문자열 
			 					} //2. 마지막 송신 요청 응답 if 문
								// 데이터 수신 한 경우만 UPDATE
							}
							int iInfo = dao.setMasterRcvInfo(hmCommon,hm ,df);
						}
						
					}else{		
						dataMsg = dao.getMakeMasterData("", 0 , df);
					}	 
		   
				}else{  
					// 데이터 없는 경우  완료 응답 메세지 송신
					dataMsg = dao.getMakeMasterData("", 0 , df); 
					df.CommLogger("▶ [NO DATA --  UPD_DATE IS  ]  " + (String)hm.get("UPD_DT")   );
				}
			}catch(Exception e) {
				/*logger.info("[ERROR]" + e);*/
				df.CommLogger("▶ [ERROR ctrExecuteor  ]  " + e.getMessage()   );
				// 데이터 없는 경우  완료 응답 메세지 송신 -- 완료 응답은  {"CNT":"0", "DATA":""}
				dataMsg = dao.getMakeMasterData("", 0 , df);
				throw e;
			}
			return dataMsg;
		}
		/* MST_POS_OPTN	POS옵션 마스터 05

		 */
		public String make_MST_POS_OPTN(ActionSocket actionSocket , HashMap hmCommon,  HashMap hm,  COMMLog df) throws Exception {
			 
			StringBuffer sb  = new StringBuffer();
			NhsMasterDataRcvDAO dao   = new NhsMasterDataRcvDAO();

			int max = 0;
			int irow =0;
			String  lineseparator ="#~";//System.getProperty("line.separator"); 
			String strFormInfo;
			String  recvData  ="";
			String  dataMsg = ""; 
			String  sendMsg = ""; 

			HashMap hmRcvData = new HashMap(); 
			boolean bRow = true;
			
			String Stor_type = dao.getStore_Type(hmCommon, hm);
			df.CommLogger("String ▶ " + Stor_type );			

			hm.put("STOR_TYPE", Stor_type);
			
			df.CommLogger("String ▶ " + (String)hm.get("STOR_TYPE") );
			List <Object> list  =   new ArrayList<Object>() ;
			list = dao.selMasterData(hmCommon, hm ,df);

			try {
				df.CommLogger("ROW COUNT ▶ " + list.size() );			
				if  ( list.size() > 0) { 
					
					for( int i = 0;i < list.size();i++ ) {
						irow++;							
						Map<String, String> map = (Map<String, String>)list.get(i); 
						
						sb.append((String)map.get("CMP_CD") + COMMBiz.FIELD_DELIMITER ); 
						sb.append((String)map.get("STOR_CD")+ COMMBiz.FIELD_DELIMITER);
						sb.append((String)map.get("POS_NO")+ COMMBiz.FIELD_DELIMITER);
						sb.append((String)map.get("OPTN_CD")+ COMMBiz.FIELD_DELIMITER);
						sb.append((String)map.get("OPTN_VAL")+ COMMBiz.FIELD_DELIMITER);
						
						sb.append((String)map.get("OPTN_NM")+ COMMBiz.FIELD_DELIMITER);
						sb.append((String)map.get("OPTN_EXPLN")+ COMMBiz.FIELD_DELIMITER); 
						
						sb.append((String)map.get("FILLER1")+ COMMBiz.FIELD_DELIMITER);
						sb.append((String)map.get("FILLER2")+ COMMBiz.FIELD_DELIMITER);
						sb.append((String)map.get("FILLER3")+ COMMBiz.FIELD_DELIMITER);
						sb.append((String)map.get("FILLER4")+ COMMBiz.FIELD_DELIMITER);
						sb.append((String)map.get("FILLER5")+ COMMBiz.FIELD_DELIMITER);
						sb.append((String)map.get("UPD_DT")+ COMMBiz.FIELD_DELIMITER);
						sb.append((String)map.get("REG_DT")+ COMMBiz.FIELD_DELIMITER); 
						sb.append((String)map.get("USE_YN"));									//19 LINE 
						sb.append(COMMBiz.ROW_DELIMITER);
						
					}	// For 문 종료 
					 	 		
					dataMsg = dao.getMakeMasterData(sb.toString(), irow , df);
					sendMsg = COMMBiz.makeSendData(hmCommon, dataMsg.getBytes().length, 0); 
					
					/*if( actionSocket.send(sendMsg + dataMsg) ){
						try {
							recvData = (String)(actionSocket.receive());												
						}catch(SocketTimeoutException e) {
							df.CommLogger("▶ [ERROR] TimeOut ");
						}finally{
							hmRcvData = COMMBiz.jSonParsing2( recvData.substring(COMMBiz.CM_LENS)) ;//=gson.fromJson(rcvDataBuf, HashMap.class);  //
							String sPROC_CD = (String)hmRcvData.get("PROC_CD") ;
							
							if (sPROC_CD.equals("1")){
								dataMsg = dao.getMakeMasterData("", 0 , df);		// 최종 데이터 송신시 문자열 
		 					} //2. 마지막 송신 요청 응답 if 문
							int iInfo = dao.setMasterRcvInfo(hmCommon,hm,df );
	 					}
					}else{		// 점포로  실패시 
						dataMsg = dao.getMakeMasterData("", 0 , df);
						df.CommLogger("▶ [send fail]  " + dataMsg  );
					}	 
					*/
					
					if( actionSocket.send(sendMsg + dataMsg) ){
						try { 
							df.CommLogger("▶ actionSocket.receive() start ");
							recvData = (String)(actionSocket.receive());												
						}catch(SocketTimeoutException e) {
							df.CommLogger("▶ [ERROR] TimeOut ");
						}finally{
							// 수신 json 데이터 parsing 
							if(recvData.length() > COMMBiz.CM_LENS){
								hmRcvData = COMMBiz.jSonParsing2( recvData.substring(COMMBiz.CM_LENS)) ;//=gson.fromJson(rcvDataBuf, HashMap.class);  //
								String sPROC_CD = (String)hmRcvData.get("PROC_CD") ;
								if (sPROC_CD.equals("1")){
									dataMsg = dao.getMakeMasterData("", 0 , df);		// 최종 데이터 송신시 문자열 
			 					} //2. 마지막 송신 요청 응답 if 문
								// 데이터 수신 한 경우만 UPDATE
							}
							int iInfo = dao.setMasterRcvInfo(hmCommon,hm ,df);
						}
						
					}else{		
						dataMsg = dao.getMakeMasterData("", 0 , df);
					}	 
					
					
					
					
					
				 	 
				}else{  
					// 데이터 없는 경우  완료 응답 메세지 송신
					dataMsg = dao.getMakeMasterData("", 0 , df);	
					df.CommLogger("▶ [POS Option MST  NO DATA --  UPD_DATE IS  ]  " + (String)hm.get("UPD_DT") );
				}
			}catch(Exception e) {
				// 더미 COUNT  송신??
				logger.info("[ERROR]" + e);
	 			dataMsg = dao.getMakeMasterData("", 0 , df);
				throw e;
			}
			return dataMsg;
		}		

		
		//22   NHS_FUNC_INFO 호출 처리 중 ▶
		public String make_NHS_FUNC_INFO(ActionSocket actionSocket , HashMap hmCommon,  HashMap hm,  COMMLog df) throws Exception {
			
			StringBuffer sb  = new StringBuffer();
			NhsMasterDataRcvDAO dao = new NhsMasterDataRcvDAO();
		
			int irow =0;
			String  recvData  ="";
			String  dataMsg = ""; 
			String  sendMsg = ""; 
		
			HashMap hmRcvData = new HashMap(); 
			
			List <Object> list  =   new ArrayList<Object>() ;
			list =     dao.selMasterData(hmCommon, hm ,df); 
			try {
				df.CommLogger("ROW COUNT ▶ " + list.size());
				 
				if  ( list.size() > 0) {
				  
					for( int i = 0;i < list.size();i++ ) {
						irow++;							
						Map<String, String> map = (Map<String, String>)list.get(i); 
						
						sb.append((String)map.get("CMP_CD") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("SALES_ORG_CD") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("STOR_CD") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("STEP_GRP_CD") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("FUNC_GRP_CD") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("FUNC_CD") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("STEP_GRP_NM") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("FUNC_GRP_NM") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("FUNC_NM") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("DISPLAY_ORDER") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("USE_YN") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("REG_USER_ID") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("REG_DATE") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("UPD_USER_ID") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("UPD_DATE") + COMMBiz.FIELD_DELIMITER );
						
						sb.append(COMMBiz.ROW_DELIMITER);
						
					}	// For 문 종료 
					
					  		 		
					dataMsg = dao.getMakeMasterData(sb.toString(), irow , df);
					//2. 마지막 데이터   일 경우 먼저 사이즈 정보 전송  종료 					
					sendMsg = COMMBiz.makeSendData(hmCommon, dataMsg.getBytes().length, 0); 
					
					if( actionSocket.send(sendMsg + dataMsg) ){
						try { 
							df.CommLogger("▶ actionSocket.receive() start ");
							recvData = (String)(actionSocket.receive());												
						}catch(SocketTimeoutException e) {
							df.CommLogger("▶ [ERROR] TimeOut ");
						}finally{
							// 수신 json 데이터 parsing 
							if(recvData.length() > COMMBiz.CM_LENS){
								hmRcvData = COMMBiz.jSonParsing2( recvData.substring(COMMBiz.CM_LENS)) ;//=gson.fromJson(rcvDataBuf, HashMap.class);  //
								String sPROC_CD = (String)hmRcvData.get("PROC_CD") ;
								if (sPROC_CD.equals("1")){
									dataMsg = dao.getMakeMasterData("", 0 , df);		// 최종 데이터 송신시 문자열 
			 					} //2. 마지막 송신 요청 응답 if 문
								// 데이터 수신 한 경우만 UPDATE
							}
							int iInfo = dao.setMasterRcvInfo(hmCommon,hm ,df);
						}
						
					}else{		
						dataMsg = dao.getMakeMasterData("", 0 , df);
					}	 
		   
				}else{  
					// 데이터 없는 경우  완료 응답 메세지 송신
					dataMsg = dao.getMakeMasterData("", 0 , df); 
					df.CommLogger("▶ [NO DATA --  UPD_DATE IS  ]  " + (String)hm.get("UPD_DT")   );
				}
			}catch(Exception e) {
				/*logger.info("[ERROR]" + e);*/
				df.CommLogger("▶ [ERROR ctrExecuteor  ]  " + e.getMessage()   );
				// 데이터 없는 경우  완료 응답 메세지 송신 -- 완료 응답은  {"CNT":"0", "DATA":""}
				dataMsg = dao.getMakeMasterData("", 0 , df);
				throw e;
			}
			return dataMsg;
		}
		
		/* 
		 * MST_PAY_DC	결제 할인 마스터 59
		 */
		public String make_MST_PAY_DC(ActionSocket actionSocket , HashMap hmCommon,  HashMap hm,  COMMLog df) throws Exception {		 
			StringBuffer sb  = new StringBuffer();
			NhsMasterDataRcvDAO dao   = new NhsMasterDataRcvDAO();

			int max = 0;
			int irow =0;
			String  lineseparator ="#~";//System.getProperty("line.separator");  
			String  recvData  ="";
			String  dataMsg = ""; 
			String  sendMsg = ""; 

			HashMap hmRcvData = new HashMap(); 
			boolean bRow = true;

			List <Object> list  =   new ArrayList<Object>() ;
			list = dao.selMasterData(hmCommon, hm ,df);

			try { 
				
				if  ( list.size() > 0) { 
					
					for( int i = 0;i < list.size();i++ ) {
						irow++;							
						Map<String, String> map = (Map<String, String>)list.get(i);    
						 
						sb.append((String)map.get("CMP_CD") + COMMBiz.FIELD_DELIMITER );  
						sb.append((String)hm.get("STOR_CD")+ COMMBiz.FIELD_DELIMITER);
						sb.append((String)map.get("PAY_DC_GRP_TYPE")+ COMMBiz.FIELD_DELIMITER);
						sb.append((String)map.get("PAY_DC_CD")+ COMMBiz.FIELD_DELIMITER); 
						sb.append((String)map.get("PAY_DC_NM")+ COMMBiz.FIELD_DELIMITER);
	//PAY_DC_TYPE				APPR_VEND_CD		CASH_BILL_ISSUE_YN		BLNC_AMT_EXCHNG_CPN_PRT_YN	CNNT_ITEM_CHECK_YN
						sb.append((String)map.get("PAY_DC_TYPE")+ COMMBiz.FIELD_DELIMITER);
						sb.append((String)map.get("APPR_VEND_CD")+ COMMBiz.FIELD_DELIMITER);
						sb.append((String)map.get("CASH_BILL_ISSUE_YN")+ COMMBiz.FIELD_DELIMITER);
						sb.append((String)map.get("BLNC_AMT_EXCHNG_CPN_PRT_YN")+ COMMBiz.FIELD_DELIMITER);
						sb.append((String)map.get("CNNT_ITEM_CHECK_YN")+ COMMBiz.FIELD_DELIMITER);
						//COOP_CMP_CNNT_YN PRFX_TRGT_YN PAY_DC_METHD	PAY_DC_VAL	DC_APPLY_TRGT
						sb.append((String)map.get("COOP_CMP_CNNT_YN")+ COMMBiz.FIELD_DELIMITER);
						sb.append((String)map.get("PRFX_TRGT_YN")+ COMMBiz.FIELD_DELIMITER); 
						sb.append((String)map.get("PAY_DC_METHD")+ COMMBiz.FIELD_DELIMITER);
						sb.append((String)map.get("PAY_DC_VAL")+ COMMBiz.FIELD_DELIMITER); 
						sb.append((String)map.get("DC_APPLY_TRGT")+ COMMBiz.FIELD_DELIMITER);
						//HP_BASIC_ACCUM_YN DC_TRGT_AMT_TYPE	CPI_DUP_YN	DC_TELECOM_DUP_YN DC_POINT_DUP_YN
						sb.append((String)map.get("HP_BASIC_ACCUM_YN")+ COMMBiz.FIELD_DELIMITER);
						sb.append((String)map.get("DC_TRGT_AMT_TYPE")+ COMMBiz.FIELD_DELIMITER); 
						sb.append((String)map.get("CPI_DUP_YN")+ COMMBiz.FIELD_DELIMITER);
						sb.append((String)map.get("DC_TELECOM_DUP_YN")+ COMMBiz.FIELD_DELIMITER); 
						sb.append((String)map.get("DC_POINT_DUP_YN")+ COMMBiz.FIELD_DELIMITER);
						//DC_CPN_DUP_YN	DC_EMP_DC_DUP_YN DC_GNRL_DUP_YN	PAY_GNRL_DUP_YN PAY_MOBILE_DUP_YN
						sb.append((String)map.get("DC_CPN_DUP_YN")+ COMMBiz.FIELD_DELIMITER);
						sb.append((String)map.get("DC_EMP_DC_DUP_YN")+ COMMBiz.FIELD_DELIMITER); 
						sb.append((String)map.get("DC_GNRL_DUP_YN")+ COMMBiz.FIELD_DELIMITER);
						sb.append((String)map.get("PAY_GNRL_DUP_YN")+ COMMBiz.FIELD_DELIMITER); 
						sb.append((String)map.get("PAY_MOBILE_DUP_YN")+ COMMBiz.FIELD_DELIMITER);
						//PAY_POINT_DUP_YN 	SALE_POS_PRT_QUE USE_YN		UPD_DT		REG_DT
						sb.append((String)map.get("PAY_POINT_DUP_YN")+ COMMBiz.FIELD_DELIMITER);
						sb.append((String)map.get("SALE_POS_PRT_QUE")+ COMMBiz.FIELD_DELIMITER);
						sb.append((String)map.get("USE_YN")+ COMMBiz.FIELD_DELIMITER);
						sb.append((String)map.get("UPD_DT")+ COMMBiz.FIELD_DELIMITER);
						sb.append((String)map.get("REG_DT")+ COMMBiz.FIELD_DELIMITER);
						//신규 추가됨
						sb.append((String)map.get("HP_ADD_ACCUM_DIV")+ COMMBiz.FIELD_DELIMITER);
						sb.append((String)map.get("MOBILE_DC_DIV") ); 
						sb.append(lineseparator);  //("/n"); 
		 
					}	// For 문 종료 
					
					// 100 개 이하 또는 나머지 데이터 전송  		 		
				 		//2.1 마지막 데이터 사이즈 정보 전송  시작 
						dataMsg = dao.getMakeMasterData(sb.toString(), irow , df); 
						sendMsg = COMMBiz.makeSendData(hmCommon, dataMsg.getBytes().length, 0); 
						df.CommLogger("▶ send data " + sendMsg + dataMsg  ); 
						
						if( actionSocket.send(sendMsg + dataMsg) ){
							try {
	 							// 마지막 일 경우는?
								recvData = (String)(actionSocket.receive());												
	 						}catch(SocketTimeoutException e) {
								df.CommLogger("▶ [ERROR] TimeOut ");
							}finally{  
								// 수신 json 데이터 parsing 
								hmRcvData = COMMBiz.jSonParsing2( recvData.substring(COMMBiz.CM_LENS)) ;//=gson.fromJson(rcvDataBuf, HashMap.class);  //
								String sPROC_CD = (String)hmRcvData.get("PROC_CD") ;
								
								if (sPROC_CD.equals("1")){
									dataMsg = dao.getMakeMasterData("", 0 , df);		// 최종 데이터 송신시 문자열 
	 		 					} //2. 마지막 송신 요청 응답 if 문
								// DATA 처리 최종  완료 후 
								int iInfo = dao.setMasterRcvInfo(hmCommon,hm,df );
							}
						}else{		// 점포로  실패시 
							dataMsg = dao.getMakeMasterData("", 0 , df);
							df.CommLogger("▶ [send message]  " + dataMsg  );
						}
				}else{  
					// 데이터 없는 경우  완료 응답 메세지 송신
					dataMsg = dao.getMakeMasterData("", 0 , df);				
				}
			}catch(Exception e) {
				// 더미 COUNT  송신??
				logger.info("[ERROR]" + e);
				// 데이터 없는 경우  완료 응답 메세지 송신 -- 완료 응답은  {"CNT":"0", "DATA":""} 
				dataMsg = dao.getMakeMasterData("", 0 , df);
				throw e;
			}
			return dataMsg;
		}
		
		// 101 NHS_STOR_PRD_LINK_OPTN 호출 처리 중   ▶
		public String make_NHS_STOR_PRD_LINK_OPTN(ActionSocket actionSocket , HashMap hmCommon,  HashMap hm,  COMMLog df) throws Exception {
			
			StringBuffer sb  = new StringBuffer();
			NhsMasterDataRcvDAO dao = new NhsMasterDataRcvDAO();
		
			int irow =0;
			String  recvData  ="";
			String  dataMsg = ""; 
			String  sendMsg = ""; 
		
			HashMap hmRcvData = new HashMap(); 
			
			List <Object> list  =   new ArrayList<Object>() ;
			list =     dao.selMasterData(hmCommon, hm ,df); 
			try {
				df.CommLogger("ROW COUNT ▶ " + list.size());
				 
				if  ( list.size() > 0) {
				  
					for( int i = 0;i < list.size();i++ ) {
						irow++;							
						Map<String, String> map = (Map<String, String>)list.get(i); 
						
						sb.append((String)map.get("CMP_CD") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("SALES_ORG_CD") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("STOR_CD") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("LINK_OPTN_CD") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("TOUCH_KEY_CD") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("USE_YN") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("REG_USER_ID") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("REG_DATE") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("UPD_USER_ID") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("UPD_DATE") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("ITEM_OPTN_CD1") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("ITEM_OPTN_CD2") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("ITEM_OPTN_CD3") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("ITEM_OPTN_CD4") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("ITEM_OPTN_CD5") + COMMBiz.FIELD_DELIMITER );
						sb.append((String)map.get("LINK_KEY_CD") + COMMBiz.FIELD_DELIMITER );
						
						sb.append(COMMBiz.ROW_DELIMITER);
						
					}	// For 문 종료 
					
					  		 		
					dataMsg = dao.getMakeMasterData(sb.toString(), irow , df);
					//2. 마지막 데이터   일 경우 먼저 사이즈 정보 전송  종료 					
					sendMsg = COMMBiz.makeSendData(hmCommon, dataMsg.getBytes().length, 0); 
					
					if( actionSocket.send(sendMsg + dataMsg) ){
						try { 
							df.CommLogger("▶ actionSocket.receive() start ");
							recvData = (String)(actionSocket.receive());												
						}catch(SocketTimeoutException e) {
							df.CommLogger("▶ [ERROR] TimeOut ");
						}finally{
							// 수신 json 데이터 parsing 
							if(recvData.length() > COMMBiz.CM_LENS){
								hmRcvData = COMMBiz.jSonParsing2( recvData.substring(COMMBiz.CM_LENS)) ;//=gson.fromJson(rcvDataBuf, HashMap.class);  //
								String sPROC_CD = (String)hmRcvData.get("PROC_CD") ;
								if (sPROC_CD.equals("1")){
									dataMsg = dao.getMakeMasterData("", 0 , df);		// 최종 데이터 송신시 문자열 
			 					} //2. 마지막 송신 요청 응답 if 문
								// 데이터 수신 한 경우만 UPDATE
							}
							int iInfo = dao.setMasterRcvInfo(hmCommon,hm ,df);
						}
						
					}else{		
						dataMsg = dao.getMakeMasterData("", 0 , df);
					}	 
		   
				}else{  
					// 데이터 없는 경우  완료 응답 메세지 송신
					dataMsg = dao.getMakeMasterData("", 0 , df); 
					df.CommLogger("▶ [NO DATA --  UPD_DATE IS  ]  " + (String)hm.get("UPD_DT")   );
				}
			}catch(Exception e) {
				/*logger.info("[ERROR]" + e);*/
				df.CommLogger("▶ [ERROR ctrExecuteor  ]  " + e.getMessage()   );
				// 데이터 없는 경우  완료 응답 메세지 송신 -- 완료 응답은  {"CNT":"0", "DATA":""}
				dataMsg = dao.getMakeMasterData("", 0 , df);
				throw e;
			}
			return dataMsg;
		}
	
}
