using System.IO;
using System.Net;
using System.Data;
using System.Net.NetworkInformation;
using Cosmos.BaseFrame;
using Cosmos.UserFrame;
using Cosmos.ServiceProvider;
using Cosmos.Common;
using Cosmos.CommonManager;
using System;
/*-----------------------------------------------------------------------------------------------*/
// 설 명 : 프로그래 시작 처리
// 작 성 자 :
// 변경 이력 :
/*-----------------------------------------------------------------------------------------------*/
namespace Cosmos.Service
{
class ProgramStart : IServiceUs
{
private SManager sManager = new SManager(); // 이 객체를 통해 업무 Service 호출
private StateServer StateObject = (StateServer)StateServer.GetInstance(); // StateObject : StateServer Object (객체)
private PosStatus m_cPosStatus; // 기본정보 참조
private TranStatus m_cTrnStatus; // 거래정보 참조
private DeviceStatus m_cDevStatus ; // 장치정보 참조
private IDataProcessUs m_cDataSrv = null; // 거래데이터 합계금액 계산 및 관리
private IDataCommonUs m_cDataCommSrv = null; // 거래 공통 함수 관리
private IServiceUs m_cSaveCfgSrv = null; // 설정파일 저장
private IServiceUs m_cReadCfgSrv = null; // 설정파일 읽기
private IMasterUs m_cMstService = null; // 마스터 인터페이스
private IServiceUs m_cLoadMstSrv = null; // 기초마스터 로딩 처리
private IVanCommonUs m_cVanCommon = null;
public ProgramStart()
{
m_cPosStatus = (PosStatus)StateObject.POS; // POS 기본정보
m_cTrnStatus = (TranStatus)StateObject.TRAN; // POS 거래정보
m_cDevStatus = (DeviceStatus)StateObject.DEVICE; // POS 장치정보
m_cDataSrv = (IDataProcessUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.DATA_SERVICE);
m_cDataCommSrv = (IDataCommonUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.DATA_COMMON);
m_cSaveCfgSrv = (IServiceUs)sManager.InitServiceInstance(ServiceLists.BSV_OPEN_CLOSE.DLL, ServiceLists.BSV_OPEN_CLOSE.SAVE_CONFIGINFO);
m_cReadCfgSrv = (IServiceUs)sManager.InitServiceInstance(ServiceLists.BSV_OPEN_CLOSE.DLL, ServiceLists.BSV_OPEN_CLOSE.READ_CONFIGINFO);
m_cMstService = (IMasterUs)sManager.InitServiceInstance(ServiceLists.ASV_MASTER.DLL, ServiceLists.ASV_MASTER.POS_MASTER);
m_cLoadMstSrv = (IServiceUs)sManager.InitServiceInstance(ServiceLists.BSV_OPEN_CLOSE.DLL, ServiceLists.BSV_OPEN_CLOSE.LOAD_MASTER_INFO);
m_cVanCommon = (IVanCommonUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.VANSPCNCOMMON);
}
///
/// 프로그램 시작(환경파일로딩)
///
///
///
public string Execute(string[] aParam)
{
string sRet = UserCom.RST_ERR;
try
{
m_cPosStatus.ClearAll();
m_cTrnStatus.ClearAll();
m_cReadCfgSrv.Execute(new string[] {}); // POS 환경설정 파일 읽기
// 로그레벨 Set
UserLog.LogLevel = (int)m_cPosStatus.Base.LogLevel;
// 프로그램 기동 시 다운 받을 마스터 항목 설정
SetNormalMasterList();
// 복합매장일 경우 다운 받을 마스터 항목 설정
SetComplexStorMasterList();
// Background로 다운 받을 마스터 항목 설정
SetBackgroundMasterList();
// Sub POS가 다운 받을 마스터 항목 설정
SetSubPosMasterList();
// 캠페인 관련 마스터 항목 설정
SetCampaignMasterList();
sRet = UserCom.RST_OK;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
return sRet;
}
///
/// 프로그램 기동 시 다운 받을 마스터 항목 설정
///
private void SetNormalMasterList()
{
try
{
MasterListManager.SetNormalMaster(new string[]
{
MasterLists.MST_MOT_MSG.ID // 01 - MOT 메시지 마스터
, MasterLists.MST_MOT_MSG_DTL.ID // 02 - MOT 메시지 마스터 상세
, MasterLists.MST_POS.ID // 03 - POS 마스터
//, MasterLists.MST_POS_SETTNG.ID // 04 - POS 설정 마스터
, MasterLists.MST_POS_OPTN.ID // 05 - POS 옵션 마스터
, MasterLists.MST_VAN.ID // 06 - VAN 마스터
, MasterLists.MST_WEB_LNKAGE.ID // 07 - WEB연동 버튼 마스터
, MasterLists.MST_CMM.ID // 08 - 공통 마스터
//, MasterLists.MST_FUNC_KEY_TRADE_TYPEPER.ID // 09 - 기능키 거래유형별 마스터
, MasterLists.MST_FUNC_KEY_GRP.ID // 10 - 기능키 그룹 마스터
, MasterLists.MST_FUNC_KEY.ID // 11 - 기능키 마스터
, MasterLists.MST_PIC_AUTH.ID // 12 - 담당자 권한 마스터
, MasterLists.MST_ITEM_CLSS.ID // 13 - 상품 분류 마스터
, MasterLists.MST_MSG.ID // 14 - 메시지 마스터
, MasterLists.MST_CULTURE.ID // 15 - 문화 마스터
, MasterLists.MST_SUBPRC_MENU.ID // 16 - 부가메뉴 마스터
, MasterLists.MST_SUBPRC_MENU_GRP.ID // 17 - 부가메뉴그룹 마스터
, MasterLists.MST_USER.ID // 18 - 사용자 마스터
, MasterLists.MST_ITEM.ID // 19 - 상품 마스터
, MasterLists.MST_ITEM_BAR_CD.ID // 20 - 상품 바코드 마스터
, MasterLists.MST_GIF.ID // 21 - 상품권 마스터
, MasterLists.MST_ITEM_SET.ID // 22 - 세트 마스터
, MasterLists.MST_ITEM_SET_GRP.ID // 23 - 세트그룹 마스터
, MasterLists.MST_MEAL_TCKT.ID // 24 - 식권 마스터
, MasterLists.MST_BILL_MSG.ID // 25 - 영수증 마스터
, MasterLists.MST_BILL_TYPE.ID // 26 - 영수증유형 마스터
, MasterLists.MST_BILL_TYPE_GRP.ID // 27 - 영수증유형그룹 마스터
, MasterLists.MST_STOR.ID // 28 - 점포 마스터
//, MasterLists.MST_ADMT_TYPE_GRP.ID // 29 - 정산지 타입 그룹 마스터
//, MasterLists.MST_ADMT_TYPE.ID // 30 - 정산지 타입 마스터
, MasterLists.MST_KTCH_DEVICE.ID // 31 - 주방DEVICE 마스터
, MasterLists.MST_KTCH_DEVICE_ITEM.ID // 32 - 주방DEVICE상품 마스터
//, MasterLists.MST_FLOOR.ID // 35 - 층 마스터
, MasterLists.MST_CPI_COMPNT.ID // 36 - 캠페인 상품 그룹 관리 마스터
, MasterLists.MST_CPI.ID // 37 - 캠페인 마스터
, MasterLists.MST_CPI_HOUR.ID // 38 - 캠페인 시간 마스터
, MasterLists.MST_CPI_ITEM.ID // 39 - 캠페인 상품 마스터
, MasterLists.MST_CPI_PRT_MSG.ID // 40 - 캠페인 출력메시지 마스터
, MasterLists.MST_CPI_CARD.ID // 41 - 캠페인 카드 마스터
, MasterLists.MST_CPI_LTTR_PRT.ID // 42 - 캠페인 복권 출력 메시지 관리 마스터
//, MasterLists.MST_TBL.ID // 43 - 테이블 마스터
, MasterLists.MST_FLAVOUR.ID // 44 - 플레이버 마스터
, MasterLists.MST_EXCHG_RATE.ID // 45 - 환율 마스터
, MasterLists.MST_ITEM_KEY_COMPNT.ID // 46 - 상품 키 구성 마스터
, MasterLists.MST_ITEM_KEY_L_CLSS.ID // 47 - 상품 키 대분류 마스터
//, MasterLists.MST_ITEM_KEY_CLSS_BATCH.ID // 48 - 상품 키 분류 배치 마스터
, MasterLists.MST_ITEM_KEY_CLSS.ID // 49 - 상품 키 분류 마스터
, MasterLists.MST_ITEM_KEY.ID // 50 - 상품 키 마스터
, MasterLists.MST_BOOKMK.ID // 51 - 즐겨찾기 마스터
//, MasterLists.MST_DOWN_INFO.ID // 52 - 마스터 다운로드 정보
//, MasterLists.MST_IMAGE_INFO.ID // 53 - 이미지 정보 마스터
, MasterLists.MST_CUST_DSP.ID // 54 - 고객화면 마스터
, MasterLists.MST_TEST_MODE.ID // 55 - 시험모드 마스터
, MasterLists.MST_TEST_MODE_DTL_INFO.ID // 57 - 시험모드 상세정보 마스터
, MasterLists.MST_TEST_MODE_DTL_LOC.ID // 58 - 시험모드 상세위치 마스터
, MasterLists.MST_PAY_DC.ID // 59 - 결제할인 마스터
, MasterLists.MST_PAY_DC_CPN.ID // 60 - 결제할인 쿠폰 마스터
, MasterLists.MST_PAY_DC_CPN_ITEM.ID // 61 - 결제할인 쿠폰 상품 마스터
, MasterLists.MST_TERM_COOP_CMP_DC_ITEM.ID // 62 - 기간 제휴사 할인 상품 마스터
, MasterLists.MST_TERM_COOP_CMP_PAY_DC.ID // 63 - 기간 제휴사 결제 상품 마스터
, MasterLists.MST_CARD_PREFIX.ID // 64 - 카드 PREFIX 마스터
, MasterLists.MST_PAY_DC_PRFX.ID // 65 - 결제 할인 PREFIX 마스터
, MasterLists.MST_COMPLEX_SHOP_STOR.ID // 66 - 복합매장점포 마스터
, MasterLists.MST_DPST_WTHDR_ACC.ID // 67 - 입출금 계정 코드 마스터
, MasterLists.MST_POSMST_TABLE_LST.ID // 68 - POS 다운 테이블 LIST
, MasterLists.MST_PLU_AMT.ID // 69 - 상품 조회 조건_금액 마스터
, MasterLists.MST_PLU_NM.ID // 70 - 상품 조회 조건_상품 마스터
, MasterLists.MST_OUT_SD_VEND_ITEM.ID // 71 - 외부 업체 상품 마스터
, MasterLists.MST_STOR_INSPCT.ID // 72 - 점포점검 스케쥴 마스터
, MasterLists.MST_SALESORG_INSPCT_GRP.ID // 73 - 점폼점검내역 그룹 마스터
, MasterLists.MST_SALESORG_INSPCT_DTL.ID // 74 - 점폼점검내역 상세 마스터
, MasterLists.MST_SALESORG_SURVY_MSG.ID // 75 - 영수증 설문조사 메시지 마스터
, MasterLists.MST_DC_DTL.ID // 76 - 할인 상세 마스터
, MasterLists.MST_PRECARD.ID // 77 - 중국 선불카드 마스터
, MasterLists.MST_STR_DAILY_INSPCT_LIST.ID // 78 - 점포 일일 장비 점검 마스터
, MasterLists.MST_CARD_CMP.ID // 79 - 카드사 마스터
, MasterLists.MST_ONLINE_CPN.ID // 80 - 온라인 쿠폰 마스터
, MasterLists.MST_OUT_SD_VEND_STOR.ID // 81 - 외부I/F 점포 코드 관리 마스터
, MasterLists.MST_KTCH_ITEM_INFO.ID // 82 - 레시피 정보 2017.09.07 추가
//#20171116 온라인 쿠폰 제품군코드,상품코드 존재 시 할인 대상이 변경되도록 추가 start, phj
// 20180112, 온라인쿠폰관련 마스터수신 주석처리, SRLEE
//#20180502 온라인쿠폰 제품군, 상품코드 할인 적용 기능 적용 start
//적용시 주석 해제
, MasterLists.MST_CPN_ITEM_GRP_MNG.ID // 83 온라인 쿠폰 제품군 마스터 MST_CPN_ITEM_GRP_MNG
, MasterLists.MST_CPN_ITEM_GRP_MNG_DTL.ID // 84 온라인 쿠폰 제품군 상세 마스터 MST_CPN_ITEM_GRP_MNG_DTL
//#20180502 온라인쿠폰 제품군, 상품코드 할인 적용 기능 적용 end
//#20171116 온라인 쿠폰 제품군코드,상품코드 존재 시 할인 대상이 변경되도록 추가 end, phj
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
//적용시 주석 해제
, MasterLists.STR_SEND_CPN_MST.ID // 85 고객 구매이력 조회 마스터 STR_SEND_CPN_MST
, MasterLists.STR_SEND_CPN_DTL.ID // 86 고객 구매이력 조회 상세(발송 쿠폰) STR_SEND_CPN_DTL
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
//#2018-02-25 - 1997fx11 : Kiosk 관련 추가
//#2019-03-11 - 1997fx11 : Class명을 'NHS_STORE_PRD_CATE'에서 'NHS_STOR_PRD_CATE' 로 변경
//#2019-03-11 - 1997fx11 : Class명을 'NHS_STORE_PRD_KEY'에서 'NHS_STORE_PRD_KEY' 로 변경
//
,KioskLists.NHS_SCREEN.ID // 01 : 점포별 대기화면
,KioskLists.NHS_SCREEN_CONTENTS.ID // 02 : 대기화면 레이어별 리소스
,KioskLists.NHS_SCREEN_LAYER.ID // 03 : 대기화면 레이어
//,KioskLists.NHS_STOR_PRD_CATE.ID // 04 : 점포별 제품카테고리 - 2019-03-11 -1997fx11 : NHS_STOR_PRD_CATE 항목 삭제
,KioskLists.NHS_STOR_PRD_KEY.ID // 05 : 점포별 제품 터치키
,KioskLists.NHS_UI_TEMPLATE.ID // 06 : 점포별 UI템플릿
,KioskLists.NHS_CPI_CONTENTS.ID // 07 : 캠페인 리소스
//,KioskLists.NHS_CUST_BUY_HIST.ID // 08 : 고객구매이력 - 2019-03-07 -1997fx11 : NHS_CUST_BUY_HIST 항목 삭제
,KioskLists.NHS_LANG_MSG.ID // 09 : 제품 다국어
,KioskLists.NHS_LAYOUT.ID // 10 : 화면구성
//,KioskLists.NHS_PRD_CATE_L.ID // 11 : 제품카테고리(대분류) - 2019-03-11 -1997fx11 : NHS_PRD_CATE_L 항목 삭제
//,KioskLists.NHS_PRD_CATE_M.ID // 12 : 제품카테고리(중분류) - 2019-03-11 -1997fx11 : NHS_PRD_CATE_M 항목 삭제
,KioskLists.NHS_PRD_MST.ID // 13 : 제품마스터
,KioskLists.NHS_OPTN_MST.ID // 14 : 부가옵션마스터
,KioskLists.NHS_PRD_OPTN_GRP.ID // 15 : 부가옵션그룹
,KioskLists.NHS_PRD_OPTN.ID // 16 : 부가옵션
,KioskLists.NHS_PRD_CATE.ID // 17 : 제품카테고리
,KioskLists.NHS_STOR_PRD_TAG.ID // 18 : 점포 제품별 태그정보
,KioskLists.NHS_LINK_ITEM.ID //19 : 링크상품
,KioskLists.NHS_STOR_FLAVOR.ID //20 : BR 플레이버 21은 mst 05번으로
,KioskLists.NHS_FUNC_INFO.ID //22: 결제수단 사용여부
});
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 복합매장일 경우 다운 받을 마스터 항목 설정
///
private void SetComplexStorMasterList()
{
try
{
MasterListManager.SetComplexStorMaster(new string[] {
MasterLists.MST_SUBPRC_MENU.ID // 16 - 부가메뉴 마스터
, MasterLists.MST_SUBPRC_MENU_GRP.ID // 17 - 부가메뉴 그룹 마스터
, MasterLists.MST_ITEM.ID // 19 - 상품 마스터
, MasterLists.MST_ITEM_BAR_CD.ID // 20 - 상품 바코드 마스터
, MasterLists.MST_ITEM_SET.ID // 22 - 세트 마스터
, MasterLists.MST_ITEM_SET_GRP.ID // 23 - 세트 그룹 마스터
, MasterLists.MST_KTCH_DEVICE.ID // 31 - 주방Device 마스터
, MasterLists.MST_KTCH_DEVICE_ITEM.ID // 32 - 주방Device 상품 마스터
, MasterLists.MST_CPI_ITEM.ID // 39 - 캠페인 상품 마스터
, MasterLists.MST_FLAVOUR.ID // 44 - 플레이버 마스터
, MasterLists.MST_ITEM_KEY_COMPNT.ID // 46 - 상품키 구성 마스터
, MasterLists.MST_ITEM_KEY_L_CLSS.ID // 47 - 상품키 대분류 마스터
, MasterLists.MST_ITEM_KEY_CLSS.ID // 49 - 상품키 분류 마스터
, MasterLists.MST_ITEM_KEY.ID // 50 - 상품키 마스터
, MasterLists.MST_BOOKMK.ID // 51 - 즐겨찾기 마스터
, MasterLists.MST_KTCH_ITEM_INFO.ID // 82 - 레시피 정보 2017.09.07 추가
});
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// Background로 다운 받을 마스터 항목 설정
///
private void SetBackgroundMasterList()
{
try
{
MasterListManager.SetBackgroundMaster(new string[] {
MasterLists.MST_ITEM.ID // 19 - 상품 마스터
, MasterLists.MST_CPI_COMPNT.ID // 36 - 캠페인 상품 그룹 관리 마스터
, MasterLists.MST_CPI_HOUR.ID // 38 - 캠페인 시간 마스터
, MasterLists.MST_CPI_ITEM.ID // 39 - 캠페인 상품 마스터
, MasterLists.MST_CPI_PRT_MSG.ID // 40 - 캠페인 출력 메시지 마스터
, MasterLists.MST_CPI_CARD.ID // 41 - 캠페인 카드 마스터
, MasterLists.MST_CPI_LTTR_PRT.ID // 42 - 캠페인 복권 출력 메시지 관리
, MasterLists.MST_CPI.ID // 37 - 캠페인 마스터
});
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// SUB POS 가 다운 받을 마스터 항목 설정
///
private void SetSubPosMasterList()
{
try
{
MasterListManager.SetSubPosMaster(new string[] {
MasterLists.MST_POS.ID // 03 - POS 마스터
, MasterLists.MST_MSG.ID // 14 - 메시지 마스터
, MasterLists.MST_STOR.ID // 28 - 점포 마스터
, MasterLists.MST_COMPLEX_SHOP_STOR.ID // 66 - 복합매장점포 마스터
, MasterLists.MST_ITEM_KEY_COMPNT.ID // 46 - 상품 키 구성 마스터
});
}
catch(Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
private void SetCampaignMasterList()
{
try
{
MasterListManager.SetCampaignMaster(new string[] {
MasterLists.MST_CPI_COMPNT.ID // 36 - 캠페인 상품 그룹 관리 마스터
, MasterLists.MST_CPI_HOUR.ID // 38 - 캠페인 시간 마스터
, MasterLists.MST_CPI_ITEM.ID // 39 - 캠페인 상품 마스터
, MasterLists.MST_CPI_PRT_MSG.ID // 40 - 캠페인 출력 메시지 마스터
, MasterLists.MST_CPI_CARD.ID // 41 - 캠페인 카드 마스터
, MasterLists.MST_CPI_LTTR_PRT.ID // 42 - 캠페인 복권 출력 메시지 관리
, MasterLists.MST_CPI.ID // 37 - 캠페인 마스터
});
}
catch(Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
}
}