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(); } } }