Example #1
0
        /// <summary>
        /// Loc added, changed 10.24
        /// 전문추가정보
        ///
        /// 여전볍 변경 05.27
        /// PV11ReqDataAdd > PV21ReqDataAdd
        /// </summary>
        /// <param name="cashAmt"></param>
        /// <param name="taxAmt"></param>
        /// <param name="addData"></param>
        /// <param name="returnData"></param>
        /// <returns></returns>
        public DialogResult ShowCashReceiptPopup(int cashAmt, int taxAmt, PV21ReqDataAdd addData, out object returnData)
        {
            returnData = null;
            using (var pop = ChildManager.ShowPopup(string.Empty, "WSWD.WmallPos.POS.PY.dll",
                                                    this.StateRefund ? "WSWD.WmallPos.POS.PY.VC.POS_PY_P015" :
                                                    "WSWD.WmallPos.POS.PY.VC.POS_PY_P014", cashAmt, taxAmt, addData))
            {
                var res = pop.ShowDialog(this);
                Application.DoEvents();

                returnData = pop.ReturnResult.ContainsKey("PAY_DATA") ? pop.ReturnResult["PAY_DATA"] : null;

                // 여전법 추가 0630
                // 오류코드 확인
                if (addData.IsAutoReturn)
                {
                    // ERROR_CODE
                    if (pop.ReturnResult.ContainsKey("ERROR_CODE"))
                    {
                        returnData = new string[] {
                            (string)pop.ReturnResult["ERROR_CODE"],
                            (string)pop.ReturnResult["ERROR_MSG"]
                        };
                    }
                }
                return(res);
            }
        }
Example #2
0
        /// <summary>
        /// CARD결제/취소 팝업
        /// Loc changed on 10.24,
        /// 전문 추가정보 팝업으로 보내기
        ///
        /// 여전볍 변경 05.27
        /// PV11ReqDataAdd > PV21ReqDataAdd
        /// </summary>
        /// <param name="inputAmt"></param>
        /// <param name="cancellable">이팝업 취소가능한지</param>
        /// <param name="cardPay">원거래카드 BASKET</param>
        /// <param name="returnData"></param>
        /// <returns></returns>
        public DialogResult ShowCardPopup(string inputAmt, string taxAmt, bool cancellable, BasketPayCard cardPay,
                                          PV21ReqDataAdd addData, PayCardMode payCardMode,
                                          out object returnData, out string errorCode, out string errorMessage)
        {
            returnData = null;

            //using (var pop = ChildManager.ShowPopup(string.Empty, "WSWD.WmallPos.POS.PY.dll",
            //    "WSWD.WmallPos.POS.PY.VC.POS_PY_P001", TypeHelper.ToInt32(inputAmt),
            //    string.IsNullOrEmpty(taxAmt) ?
            //    m_presenter.GetTaxAmt(TypeHelper.ToInt32(inputAmt)) :
            //    TypeHelper.ToInt32(taxAmt),
            //    StateRefund, cancellable,
            //    cardPay, addData))

            // 여전법 변경 0620
            // PayCardMode 추가
            using (var pop = ChildManager.ShowPopup(string.Empty, "WSWD.WmallPos.POS.PY.dll",
                                                    "WSWD.WmallPos.POS.PY.VC.POS_PY_P001", TypeHelper.ToInt32(inputAmt),
                                                    string.IsNullOrEmpty(taxAmt) ?
                                                    m_presenter.GetTaxAmt(TypeHelper.ToInt32(inputAmt)) :
                                                    TypeHelper.ToInt32(taxAmt),
                                                    StateRefund, cancellable,
                                                    cardPay, addData, payCardMode))
            {
                var retResult = pop.ShowDialog(this);

                Application.DoEvents();

                returnData   = pop.ReturnResult.ContainsKey("PAY_DATA") ? pop.ReturnResult["PAY_DATA"] : null;
                errorCode    = pop.ReturnResult.ContainsKey("ERROR_CODE") ? pop.ReturnResult["ERROR_CODE"].ToString() : string.Empty;
                errorMessage = pop.ReturnResult.ContainsKey("ERROR_MSG") ? pop.ReturnResult["ERROR_MSG"].ToString() : string.Empty;

                return(retResult);
            }
        }
Example #3
0
        /// <summary>
        /// 현금영수증
        /// Loc changed on 10.24
        /// 전문추가정보, 생성자에 추가
        ///
        ///
        /// 여전볍 변경 05.27
        /// PV11ReqDataAdd > PV21ReqDataAdd
        /// </summary>
        /// <param name="cashAmt"></param>
        /// <param name="taxAmt"></param>
        /// <param name="addData"></param>
        public POS_PY_P015(int cashAmt, int taxAmt, PV21ReqDataAdd addData)
        {
            InitializeComponent();

            //대상금액
            m_cashAmt = cashAmt;
            m_taxAmt  = taxAmt;
            m_addData = addData;

            // 여전법 추가 0621
            if (m_addData == null)
            {
                m_addData = new PV21ReqDataAdd();
            }

            // 자동반품시, 원거래정보를 설정해주고
            // 수정불가
            if (m_addData.IsAutoReturn)
            {
                txtOTApprDate.Text     = m_addData.DdApprOrg;
                txtOTApprNo.Text       = m_addData.NoApprOrg;
                txtOTApprDate.ReadOnly = txtOTApprNo.ReadOnly = true;
            }

            // Form Events
            this.Load       += new EventHandler(POS_PY_P015_Load);
            this.FormClosed += new FormClosedEventHandler(POS_PY_P015_FormClosed);

            // 초기화
            InitControls();
        }
Example #4
0
        /// <summary>
        /// 현금영수증취소요청
        /// Loc changed 10.24
        /// 전문 추가정보 같이보내기
        /// 점포, 포스, 거래, 첫상품
        ///
        /// 여전볍 변경 05.27
        /// PV11ReqDataAdd > PV21ReqDataAdd
        /// </summary>
        /// <param name="cashType">0: 자진발급, 1: 개인소득공제, 2: 사업자(지출증빙)</param>
        /// <param name="isSwipe"></param>
        /// <param name="otApprDate"></param>
        /// <param name="otApprNo"></param>
        /// <param name="confirmNo"></param>
        /// <param name="cancReason">취소사유</param>
        /// <param name="cashAmt">금액</param>
        /// <param name="vatAmt">세액</param>
        public void MakeCashRecptRequest(int cashType, bool isSwipe,
                                         string otApprDate, string otApprNo, string confirmNo, string cancReason, int cashAmt,
                                         int vatAmt, PV21ReqDataAdd addData)
        {
            PV12ReqData reqData = new PV12ReqData()
            {
                CancType   = "1", // 취소
                CashPayAmt = cashAmt.ToString(),
                Vat        = vatAmt.ToString(),
                IDCheckNo  = confirmNo,
                InputType  = isSwipe ? "S" : "K",
                TrxnCode   = cashType == POS_PY_P014.CASHRCP_TYPE_EVIDENCE ? "01" : "00",
                OTApprNo   = otApprNo,
                OTSaleDate = otApprDate,
                CancRsn    = cancReason,

                // Loc added on 10.24
                // 전문추가정보
                StoreCode = addData.StoreCode,
                StoreName = addData.StoreName,
                SaleDate  = addData.SaleDate,
                PosNo     = addData.PosNo,
                TrxnNo    = addData.TrxnNo,
                ItemCode  = addData.ItemCode,
                ItemName  = addData.ItemName,

                // 여전법 추가 0621
                MaskCardNo   = addData.MaskCardNo,
                ENCCardNo    = addData.ENCCardNo,
                ENCData      = addData.ENCData,
                ENCDataLen   = addData.ENCDataLen,
                ENCDataType  = addData.ENCDataType,
                ENCUseGbn    = addData.ENCUseGbn,
                CATTmlAuthNo = ConfigData.Current.AppConfig.PosOption.CATTmlAuthNo,
                SoftAuthNo   = ConfigData.Current.AppConfig.PosOption.SoftAuthNo,
                TMLSerialNo  = addData.TMLSerialNo
            };

            m_view.ShowProgressMessage(true);

            //PV02DataTask task = new PV02DataTask(reqData);
            PV12DataTask task = new PV12DataTask(reqData);

            task.TaskCompleted += new WSWD.WmallPos.FX.NetComm.Tasks.TaskCompletedHandler(task_TaskCompleted);
            task.Errored       += new WSWD.WmallPos.FX.NetComm.Client.ErrorHandler(task_Errored);
            task.ExecuteTask();
        }
Example #5
0
        /// <summary>
        /// Loc added on 10.24
        /// 전문추가정보
        /// 현금영수증
        /// </summary>
        /// <param name="cashAmt"></param>
        /// <param name="taxAmt"></param>
        /// <param name="addData"></param>
        public POS_PY_P014(int cashAmt, int taxAmt, PV21ReqDataAdd addData)
        {
            InitializeComponent();

            //대상금액
            m_cashAmt = cashAmt;
            m_taxAmt  = taxAmt;
            m_addData = addData;

            if (m_addData == null)
            {
                m_addData = new PV21ReqDataAdd();
            }

            //Form Load Event
            Load       += new EventHandler(form_Load);
            FormClosed += new FormClosedEventHandler(POS_PY_P014_FormClosed);

            // 초기화
            InitControls();
        }
Example #6
0
        /// <summary>
        /// 신용카드요청
        ///
        /// 여전법 변경
        /// PV21ReqDataAdd > PV21ReqDataAdd
        /// PV21ReqData > PV21ReqData
        /// </summary>
        /// <param name="cancType">취소구분 0:승인,1:취소, 9:망취소(EncReaderCom2ndGen)</param>
        /// <param name="trackII"></param>
        /// <param name="installment"></param>
        /// <param name="signData"></param>
        /// <param name="payAmt"></param>
        public void RequestVANCardPayment(
            int cancType,
            string trackII,
            string inputType,
            string installment,
            string signData,
            string payAmt,
            string vatAmt,
            string fgERCard,
            string fgDCCCheck,
            string workKeyIndex,
            string cardPinNo,
            string otApprDate,
            string otApprNo,
            object dccData,
            PV21ReqDataAdd addData)
        {
            int         signLength = Encoding.Default.GetByteCount(signData);
            PV21ReqData reqData    = new PV21ReqData()
            {
                TrackData      = trackII,
                FgERCard       = fgERCard,
                PayAmt         = payAmt,
                Vat            = vatAmt,
                InputType      = inputType,
                SignDataType   = string.IsNullOrEmpty(signData) ? string.Empty : "K1",
                WorkKeyIndex   = string.IsNullOrEmpty(signData) ? "00" : "83",
                Halbu          = TypeHelper.ToInt32(installment).ToString("d2"),
                CancType       = cancType.ToString(),
                SignData       = signData,
                SignMethod     = string.IsNullOrEmpty(signData) ? "0" : "1",
                SignDataLength = signLength.ToString().PadLeft(4, '0'),
                OTSaleDate     = otApprDate,
                OTApprNo       = otApprNo,

                // Loc added on 10.24
                // 전문추가정보
                StoreCode = addData.StoreCode,
                StoreName = addData.StoreName,
                //StoreName = string.Format("{0,-20}",addData.StoreName),   // 20170208.ojg 변경
                SaleDate = addData.SaleDate,
                PosNo    = addData.PosNo,
                TrxnNo   = addData.TrxnNo,
                ItemCode = addData.ItemCode,
                ItemName = addData.ItemName,
                //ItemName = string.Format("{0,-80}",addData.ItemName),   // 20170208.ojg 변경


                // 여전법 추가 05.27
                MaskCardNo  = addData.MaskCardNo,
                ENCCardNo   = addData.ENCCardNo,
                ENCData     = addData.ENCData,
                ENCDataLen  = addData.ENCDataLen,
                ENCDataType = addData.ENCDataType,
                ENCUseGbn   = addData.ENCUseGbn,

                CATTmlAuthNo = ConfigData.Current.AppConfig.PosOption.CATTmlAuthNo,
                SoftAuthNo   = ConfigData.Current.AppConfig.PosOption.SoftAuthNo,
                TMLSerialNo  = addData.TMLSerialNo
            };

            if ("Y".Equals(fgERCard))
            {
                reqData.ECWorkKeyIndex = workKeyIndex;
                reqData.ERCardPin      = cardPinNo;
            }

            if (dccData != null)
            {
                PV21ReqData dccReqData = (PV21ReqData)dccData;
                reqData.FgDCCCheck         = fgDCCCheck;
                reqData.DCCCheckNo         = dccReqData.DCCCheckNo;
                reqData.BaseCurCodeNo      = dccReqData.BaseCurCodeNo;
                reqData.BaseCurAmt         = dccReqData.BaseCurAmt;
                reqData.BaseCurAmtDecPoint = dccReqData.BaseCurAmtDecPoint;
                reqData.ExRate             = dccReqData.ExRate;
                reqData.ExRateDecPoint     = dccReqData.ExRateDecPoint;
                reqData.TrxnCurNo          = dccReqData.TrxnCurNo;
                reqData.TrxnCurCode        = dccReqData.TrxnCurCode;
                reqData.TrxnCurAmt         = dccReqData.TrxnCurAmt;
                reqData.TrxnCurAmtDecPoint = dccReqData.TrxnCurAmtDecPoint;
                reqData.TrxnWonAmt         = dccReqData.TrxnWonAmt;
                reqData.RateId             = dccReqData.RateId;

                // Loc added on 10.24
                // 전문추가정보
                reqData.StoreCode = addData.StoreCode;
                //20170208.osj 공백 추가
                reqData.StoreName = addData.StoreName;
                //reqData.StoreName = string.Format("{0,-20}", addData.StoreName);//      20170208.ojg 변경 대기
                reqData.SaleDate = addData.SaleDate;
                reqData.PosNo    = addData.PosNo;
                reqData.TrxnNo   = addData.TrxnNo;
                reqData.ItemCode = addData.ItemCode;
                //20170208.osj 공백 추가
                reqData.ItemName = addData.ItemName;
                //reqData.ItemName = string.Format("{0,-80}", addData.ItemName);//      20170208.ojg 변경 대기
            }

            m_view.ShowProgressMessage(true);

            sign_data = signData;
            PV21DataTask task = new PV21DataTask(reqData);

            //var task = new PV01DataTask(reqData);

            // 망취소용
            m_cancType = cancType;
            if (cancType == 9)
            {
                task.ReqFrameNo = addData.OrgFrameNo;
            }
            task.TaskCompleted += new WSWD.WmallPos.FX.NetComm.Tasks.TaskCompletedHandler(task_TaskCompleted);
            task.Errored       += new WSWD.WmallPos.FX.NetComm.Client.ErrorHandler(task_Errored);
            task.ExecuteTask();


            reqData = null;

            // 여전법 추가 0803
            //reqData.TrackData.ResetZero();
            //reqData.MaskCardNo.ResetZero();
            //reqData.ENCCardNo.ResetZero();
            //reqData.ENCData.ResetZero();

            GC.Collect();
        }