using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using Cosmos.UserFrame;
using Cosmos.ServiceProvider;
using Cosmos.Common;
using Cosmos.CommonManager;
namespace Cosmos.Service
{
class PrepStorNotice : IDataServiceUs
{
private SManager sManager = new SManager(); // 이 객체를 통해 업무 Service 호출
private PosStatus m_cPosStatus = new PosStatus(); //기본정보 참조
private StateServer StateObject = (StateServer)StateServer.GetInstance(); // StateObject : StateServer Object (객체)
private IMasterUs m_cMstService = null; // 마스터 인터페이스
private ISaleCompleteUs m_cSaleComplete = null; // 거래완료처리
protected IDataCommonUs m_cDataCommon = null; // 판매공통 모듈
public PrepStorNotice()
{
m_cPosStatus = (PosStatus)StateObject.POS; // POS 기본정보
m_cDataCommon = (IDataCommonUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.DATA_COMMON);
m_cMstService = (IMasterUs)sManager.InitServiceInstance(ServiceLists.ASV_MASTER.DLL, ServiceLists.ASV_MASTER.POS_MASTER);
m_cSaleComplete = (ISaleCompleteUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.SALE_COMPLETE);
}
///
/// 준비점검공지사항 조회
///
///
public object GetData(string[] aParam)
{
DataTable dtDataInfo = new DataTable();
if (aParam.Count() > 0)
{
if (aParam[0] == "1")
{
dtDataInfo = StoreNoticeList(aParam[1]);
}
else if (aParam[0] == "2")
{
dtDataInfo = StoreNoticeDTL(aParam[1], aParam[2]);
}
}
return dtDataInfo;
}
private DataTable StoreNoticeList(string sInspctEntryGrp)
{
string sQuery = "";
try
{
sQuery += " SELECT B.INSPCT_ENTRY_L_CLSS_NM ";
sQuery += " , B.INSPCT_ENTRY_GRP_CD ";
sQuery += " , B.INSPCT_ENTRY_L_CLSS_CD ";
sQuery += " FROM POSMST.dbo.MST_STOR_INSPCT AS A";
sQuery += " LEFT OUTER JOIN POSMST.dbo.MST_SALESORG_INSPCT_GRP AS B ON A.CMP_CD = B.CMP_CD AND A.INSPCT_ENTRY_GRP_CD = B.INSPCT_ENTRY_GRP_CD ";
sQuery += " WHERE A.CMP_CD = '" + m_cPosStatus.Base.CmpCd + "'";
sQuery += " AND B.BRAND_CD = '" + m_cPosStatus.Base.BrandCd + "'";
sQuery += " AND A.POS_DIV = 'S' ";
sQuery += " AND A.SALE_POS_ALARM_TYPE = '0' ";
sQuery += " AND A.USE_YN = '1' ";
sQuery += " AND B.USE_YN = '1' ";
sQuery += " ORDER BY A.INSPCT_ENTRY_GRP_CD, B.INSPCT_ENTRY_L_CLSS_CD ASC ";
DataTable dtDataInfo = m_cMstService.Select(new string[] { sQuery });
return dtDataInfo;
}
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 null;
}
private DataTable StoreNoticeDTL(string sINSPCT_ENTRY_GRP, string sInspctEntryLclssCd)
{
string sQuery = "";
try
{
sQuery += " SELECT A.INSPCT_ENTRY_L_CLSS_NM ";
sQuery += " , B.INSPCT_ENTRY_NM ";
sQuery += " , B.INSPCT_ENTRY ";
sQuery += " , B.SEL_ENTRY_CNT ";
sQuery += " , B.SEL_ENTRY_1 ";
sQuery += " , B.SEL_ENTRY_2 ";
sQuery += " , B.SEL_ENTRY_3 ";
sQuery += " , B.SEL_ENTRY_4 ";
sQuery += " , B.SEL_ENTRY_5 ";
sQuery += " FROM POSMST..MST_SALESORG_INSPCT_GRP AS A ";
sQuery += " LEFT OUTER JOIN POSMST..MST_SALESORG_INSPCT_DTL AS B ";
sQuery += " ON A.CMP_CD = B.CMP_CD AND A.BRAND_CD = B.BRAND_CD AND A.INSPCT_ENTRY_GRP_CD = B.INSPCT_ENTRY_GRP_CD AND A.INSPCT_ENTRY_L_CLSS_CD = B.INSPCT_ENTRY_L_CLSS_CD ";
sQuery += " WHERE A.CMP_CD = '" + m_cPosStatus.Base.CmpCd + "'";
sQuery += " AND A.BRAND_CD = '" + m_cPosStatus.Base.BrandCd + "'";
sQuery += " AND A.INSPCT_ENTRY_GRP_CD = '" + sINSPCT_ENTRY_GRP + "'";
sQuery += " AND A.INSPCT_ENTRY_L_CLSS_CD = '" + sInspctEntryLclssCd + "'";
sQuery += " AND A.USE_YN = '" + PosConst.MST_USE_YN.YES + "'";
sQuery += " AND B.USE_YN = '" + PosConst.MST_USE_YN.YES + "'";
sQuery += " ORDER BY B.QUE ASC ";
DataTable dtDataInfo = m_cMstService.Select(new string[] { sQuery });
return dtDataInfo;
}
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 null;
}
public string Execute(string[] aParam)
{
DataTable dtDataInfo = new DataTable();
string sRet = UserCom.RST_ERR;
string sQuery = "";
try
{
sQuery += " SELECT B.INSPCT_ENTRY_L_CLSS_NM ";
sQuery += " , C.INSPCT_ENTRY_NM ";
sQuery += " , C.INSPCT_ENTRY ";
sQuery += " , C.SEL_ENTRY_CNT ";
sQuery += " , C.SEL_ENTRY_1 ";
sQuery += " , C.SEL_ENTRY_2 ";
sQuery += " , C.SEL_ENTRY_3 ";
sQuery += " , C.SEL_ENTRY_4 ";
sQuery += " , C.SEL_ENTRY_5 ";
sQuery += " FROM POSMST.dbo.MST_STOR_INSPCT AS A";
sQuery += " LEFT OUTER JOIN POSMST..MST_SALESORG_INSPCT_GRP AS B ";
sQuery += " ON A.CMP_CD = B.CMP_CD AND A.INSPCT_ENTRY_GRP_CD = B.INSPCT_ENTRY_GRP_CD ";
sQuery += " LEFT OUTER JOIN POSMST..MST_SALESORG_INSPCT_DTL AS C ";
sQuery += " ON B.CMP_CD = C.CMP_CD AND B.BRAND_CD = C.BRAND_CD AND B.INSPCT_ENTRY_GRP_CD = C.INSPCT_ENTRY_GRP_CD AND B.INSPCT_ENTRY_L_CLSS_CD = C.INSPCT_ENTRY_L_CLSS_CD ";
sQuery += " WHERE A.CMP_CD = '" + m_cPosStatus.Base.CmpCd + "'";
sQuery += " AND B.BRAND_CD = '" + m_cPosStatus.Base.BrandCd + "'";
sQuery += " AND A.POS_DIV = 'S' ";
sQuery += " AND A.SALE_POS_ALARM_TYPE = '0' ";
sQuery += " AND A.USE_YN = '1' ";
sQuery += " AND B.USE_YN = '" + PosConst.MST_USE_YN.YES + "'";
sQuery += " AND C.USE_YN = '" + PosConst.MST_USE_YN.YES + "'";
sQuery += " ORDER BY A.INSPCT_ENTRY_GRP_CD, B.INSPCT_ENTRY_L_CLSS_CD ASC ";
dtDataInfo = m_cMstService.Select(new string[] { sQuery });
if (dtDataInfo.Rows.Count > 0)
{
// 영수증 출력
sRet = m_cSaleComplete.PrepStoreReceipt(dtDataInfo);
if (sRet != UserCom.RST_OK) return sRet;
return sRet;
}
}
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;
}
public string SetData(object oParam)
{
throw new NotImplementedException();
}
}
}