Пример #1
0
        /// <summary>
        /// ON ENTER AND OK BUTTON CLICK
        /// </summary>
        void ProcessSave()
        {
            btnClose.Enabled = btnSave.Enabled = false;

            //결제할인 TRAN (결제-현금 TRAN 사용)
            BasketPay prepareAmt = new BasketPay();

            prepareAmt.BasketType = BasketTypes.BasketPay;
            prepareAmt.PayGrpCd   = NetCommConstants.PAYMENT_GROUP_COUPON;
            prepareAmt.PayDtlCd   = NetCommConstants.PAYMENT_DETAIL_DISCOUNT;
            prepareAmt.PayAmt     = txtDiscAmt.Text.ToString();
            prepareAmt.BalGrpCd   = NetCommConstants.PAYMENT_GROUP_NONE;
            prepareAmt.BalDtlCd   = NetCommConstants.PAYMENT_DETAIL_NONE;
            prepareAmt.CancFg     = NetCommConstants.CANCEL_TYPE_NORMAL;

            this.ReturnResult.Add("PAY_DATA", prepareAmt);
            this.DialogResult = DialogResult.OK;
        }
Пример #2
0
        /// <summary>
        /// 여전법 추가 0621
        ///
        /// 디비에 개인정보, 카드번호를
        /// 00으로 마스킹한다
        /// 85일
        ///
        ///
        /// </summary>
        public void Clear85DaysSensData()
        {
            int lastDate = Convert.ToInt32(string.IsNullOrEmpty(ConfigData.Current.AppConfig.PosOption.LastDeleteSensData) ? "0" : ConfigData.Current.AppConfig.PosOption.LastDeleteSensData);

            string keepDates = ConfigData.Current.AppConfig.PosOption.SensDataKeepDays;

            if (string.IsNullOrEmpty(keepDates))
            {
                keepDates = "85";
                ConfigData.Current.AppConfig.PosOption.SensDataKeepDays = keepDates;
            }

            var dToDate = DateTime.Today.AddDays(Convert.ToInt32(keepDates) * -1);
            int toDate  = Convert.ToInt32(dToDate.ToString("yyyyMMdd"));

            var db    = TranDbHelper.InitInstance();
            var trans = db.BeginTransaction();

            try
            {
                string selectDataSql = Extensions.LoadSqlCommand("POS_ST", "POSClearSensData90DaysSelect");
                string updateDataSql = Extensions.LoadSqlCommand("POS_ST", "POSClearSensData90DaysUpdate");

                var data = db.ExecuteQuery(selectDataSql,
                                           new string[] {
                    "@CD_STORE",
                    "@NO_POS",
                    "@BSK_TYPE1",
                    "@BSK_TYPE2",
                    "@FR_DATE",
                    "@TO_DATE"
                },
                                           new object[] {
                    ConfigData.Current.AppConfig.PosInfo.StoreNo,
                    ConfigData.Current.AppConfig.PosInfo.PosNo,
                    "101",
                    "400",
                    lastDate,
                    toDate
                }, trans);

                foreach (DataRow item in data.Tables[0].Rows)
                {
                    bool changed = false;

                    // Parse BasketCardPay
                    string vcCont = item["VC_CONT"].ToString();

                    // BasketBase bb = (BasketBase)BasketBase.Parse(typeof(BasketBase), vcCont);
                    string basketType = vcCont.Substring(0, 3);

                    if (basketType.Equals(BasketTypes.BasketCashRecpt))
                    {
                        BasketCashRecpt bcrcp = (BasketCashRecpt)BasketCashRecpt.Parse(typeof(BasketCashRecpt), vcCont);
                        if (bcrcp.InputWcc.Equals("A"))
                        {
                            changed = true;
                            bcrcp.NoPersonal.ResetZero();
                            bcrcp.NoTrack.ResetZero();
                            vcCont = bcrcp.ToString();
                        }
                    }
                    else if (basketType.Equals(BasketTypes.BasketPay))
                    {
                        BasketPay bp = (BasketPay)BasketPay.Parse(typeof(BasketPay), vcCont);

                        if (bp.PayDtlCd.Equals(NetCommConstants.PAYMENT_DETAIL_CARD) &&
                            bp.PayGrpCd.Equals(NetCommConstants.PAYMENT_GROUP_CARD))
                        {
                            BasketPayCard bpc = (BasketPayCard)BasketPayCard.Parse(typeof(BasketPayCard), vcCont);

                            // Masking
                            changed = true;
                            bpc.CardNo.ResetZero();

                            // 여전법 추가 0623
                            // 저장 하지 않아서 reset zero 필요 없음
                            // bpc.TrackII.ResetZero();
                            vcCont = bpc.ToString();
                        }
                    }

                    // 변경 없음
                    if (!changed)
                    {
                        continue;
                    }


                    // 다시 업데이트
                    db.ExecuteNonQuery(updateDataSql,
                                       new string[] {
                        "@CD_STORE",
                        "@NO_POS",
                        "@DD_SALE",
                        "@NO_TRXN",
                        "@SQ_TRXN",
                        "@VC_CONT"
                    },
                                       new object[] {
                        ConfigData.Current.AppConfig.PosInfo.StoreNo,
                        ConfigData.Current.AppConfig.PosInfo.PosNo,
                        item["DD_SALE"],
                        item["NO_TRXN"],
                        item["SQ_TRXN"],
                        vcCont
                    }, trans);
                }

                // Update Config
                ConfigData.Current.AppConfig.PosOption.LastDeleteSensData = toDate.ToString();
                ConfigData.Current.AppConfig.Save();

                trans.Commit();
            }
            catch (Exception ex)
            {
                trans.Rollback();
                LogUtils.Instance.LogException(ex);
            }
            finally
            {
                trans.Dispose();
                db.EndInstance();
            }
        }
Пример #3
0
        public POS_SL_P006(BasketHeader header, List <BasketBase> baskets)
        {
            InitializeComponent();

            #region 이벤트등록

            this.btnOK.Click += new EventHandler(btnOK_Click);
            this.FormClosed  += new FormClosedEventHandler(POS_SL_P006_FormClosed);

            #endregion

            if (baskets != null)
            {
                // display error messages
                StringBuilder sb = new StringBuilder();
                foreach (var bk in baskets)
                {
                    string basketTypeTypeName = string.Empty;
                    string noAppr             = string.Empty;
                    //string ddAppr = string.Empty;
                    Int64 payAmt = 0;

                    if (BasketTypes.BasketPay.Equals(bk.BasketType))
                    {
                        BasketPay bp = (BasketPay)bk;

                        if (NetCommConstants.PAYMENT_DETAIL_CARD.Equals(bp.PayDtlCd))
                        {
                            noAppr = ((BasketPayCard)bp).OTApprNo;
                        }
                        else if (NetCommConstants.PAYMENT_DETAIL_CASH_IC.Equals(bp.PayDtlCd))
                        {
                            noAppr = ((BasketCashIC)bp).OTApprNo;
                        }
                        else if (NetCommConstants.PAYMENT_DETAIL_POINT.Equals(bp.PayDtlCd))
                        {
                            noAppr = ((BasketPoint)bp).DealApprovalNo;
                        }

                        basketTypeTypeName = NetCommConstants.PaymentTypeName(bp.PayGrpCd, bp.PayDtlCd);
                        payAmt             = TypeHelper.ToInt64(bp.PayAmt);
                    }
                    else if (BasketTypes.BasketCashRecpt.Equals(bk.BasketType))
                    {
                        basketTypeTypeName = NetCommConstants.PaymentTypeName(NetCommConstants.PAYMENT_DETAIL_CASHRCP,
                                                                              NetCommConstants.PAYMENT_DETAIL_CASHRCP);
                        noAppr = ((BasketCashRecpt)bk).NoApprOrg;
                        payAmt = TypeHelper.ToInt64(((BasketCashRecpt)bk).AmAppr);
                    }
                    else if (BasketTypes.BasketPointSave.Equals(bk.BasketType))
                    {
                        basketTypeTypeName = NetCommConstants.PaymentTypeName(NetCommConstants.PAYMENT_DETAIL_POINTSAVE,
                                                                              NetCommConstants.PAYMENT_DETAIL_POINTSAVE);
                        payAmt = 0;
                    }

                    sb.AppendFormat("- {0}", basketTypeTypeName);
                    sb.Append(payAmt > 0 ? string.Format(": {0:#,##0}", payAmt) : string.Empty);
                    sb.Append(string.IsNullOrEmpty(noAppr) ? string.Empty : string.Format(" [원승인번호:{0}]", noAppr));
                    sb.AppendLine();
                }

                sb.AppendLine();
                sb.Append("- 전산실에 확인 요망.");
                lblMessage.Text = sb.ToString();
            }
        }
Пример #4
0
        /// <summary>
        /// 포인트 적립 전문통신
        /// </summary>
        private void GetServerRegister()
        {
            if (_bDisable)
            {
                return;
            }

            ChildManager.ShowProgress(true);
            SetControlDisable(true);

            try
            {
                Int64 iPayCashAmt = 0;
                Int64 iPayCardAmt = 0;
                //Int64 iPayEtcAmt = 0;
                //Int64 iEventPayCashAmt = 0;
                //Int64 iEventPayCardAmt = 0;
                //Int64 iEventPayEtcAmt = 0;
                Int64 iPayAmt    = 0;                 //합계
                Int64 iBalAmt    = 0;                 //잔액
                Int64 iSumPayAmt = 0;
                Int64 iSumBalAmt = 0;

                foreach (var item in _BasketPays)
                {
                    BasketPay bp = (BasketPay)item;

                    if (bp.PayGrpCd != null && bp.PayGrpCd.Length > 0 && bp.PayDtlCd != null && bp.PayDtlCd.Length > 0)
                    {
                        iPayAmt     = (bp.PayAmt != null ? TypeHelper.ToInt64(bp.PayAmt) : 0);
                        iBalAmt     = (bp.BalAmt != null ? TypeHelper.ToInt64(bp.BalAmt) : 0);
                        iSumPayAmt += iPayAmt;
                        iSumBalAmt += iBalAmt;

                        if (iPayAmt > 0)
                        {
                            if ((bp.PayGrpCd == NetCommConstants.PAYMENT_GROUP_CASH &&
                                 bp.PayDtlCd == NetCommConstants.PAYMENT_DETAIL_CASH) ||       //현금
                                (bp.PayGrpCd == NetCommConstants.PAYMENT_GROUP_CASH &&
                                 bp.PayDtlCd == NetCommConstants.PAYMENT_DETAIL_CASH) ||       //수표
                                (bp.PayGrpCd == NetCommConstants.PAYMENT_GROUP_TKCKET &&
                                 bp.PayDtlCd == NetCommConstants.PAYMENT_DETAIL_TICKET_OTHER)) // 타사상품권
                            {
                                iPayCashAmt += (iPayAmt - iBalAmt);
                            }
                            else if ((bp.PayGrpCd == NetCommConstants.PAYMENT_GROUP_CARD &&
                                      bp.PayDtlCd == NetCommConstants.PAYMENT_DETAIL_CARD) ||         //신용카드
                                     (bp.PayGrpCd == NetCommConstants.PAYMENT_GROUP_CARD &&
                                      bp.PayDtlCd == NetCommConstants.PAYMENT_DETAIL_CARD_OTHER) ||   //타건카드
                                     (bp.PayGrpCd == NetCommConstants.PAYMENT_GROUP_CARD &&
                                      bp.PayDtlCd == NetCommConstants.PAYMENT_DETAIL_CARD_WELFARE) || //타건복지
                                     (bp.PayGrpCd == NetCommConstants.PAYMENT_GROUP_CARD &&
                                      bp.PayDtlCd == NetCommConstants.PAYMENT_DETAIL_CASH_IC))        //현금IC
                            {
                                iPayCardAmt += (iPayAmt - iBalAmt);
                            }
                        }
                    }
                }

                if (_cust != null && _cust.Length > 0)
                {
                    //ChildManager.ShowProgress(true);

                    //취소구분(0:정상 / 1:수동반품 / 2:자동반품)
                    string strCancType = string.Empty;

                    //원거래정보(반품시 적용, 매출일(8)+점(4)+포스(4)+거래번호(6))
                    string strOTApprInfo = "";

                    //원승인번호(반품시 적용)
                    string strOTApprNo = "";

                    if (_BasketHeader.CancType == null || _BasketHeader.CancType.ToString().Length <= 0 || _BasketHeader.CancType == "0")
                    {
                        //정상
                        strCancType = "0";
                    }
                    else
                    {
                        if ((_BasketHeader.OTSaleDate != null && _BasketHeader.OTSaleDate.Length >= 0) ||
                            (_BasketHeader.OTStoreNo != null && _BasketHeader.OTStoreNo.Length >= 0) ||
                            (_BasketHeader.OTPosNo != null && _BasketHeader.OTPosNo.Length >= 0) ||
                            (_BasketHeader.OTTrxnNo != null && _BasketHeader.OTTrxnNo.Length >= 0) ||
                            (_BasketHeader.OTCasNo != null && _BasketHeader.OTCasNo.Length >= 0))
                        {
                            //자동반품
                            strCancType   = "2";
                            strOTApprInfo = _BasketHeader.OTSaleDate + _BasketHeader.OTStoreNo + _BasketHeader.OTPosNo + _BasketHeader.OTTrxnNo;
                            strOTApprNo   = _BasketPointSave.NoAppr;
                        }
                        else
                        {
                            //수동반품
                            strCancType = "1";
                        }
                    }

                    //회원번호
                    string strCustNo = _cust.CustNo;

                    //카드번호
                    string strCardNo = _cust.CardNo;

                    //현금 계열 결제 금액
                    string strPayCashAmt = iPayCashAmt.ToString();

                    //카드 계열 결제 금액
                    string strPayCardAmt = iPayCardAmt.ToString();

                    //기타 결제 금액
                    string strPayEtcAmt = ((iSumPayAmt - iSumBalAmt) - (iPayCashAmt + iPayCardAmt)).ToString();

                    //포인트 적립 행사 적용 정보(점포코드(4) + 프로모션_년(4) + 프로모션_월(2) + 프로모션_주차(2) + 프로모션순번(3) + 프로모션허들순번(3))
                    string strPointEventInfo = _dicPromoPoint != null?TypeHelper.ToString(_dicPromoPoint["PointEventInfo"]) : "";

                    //행사 적용 대상 현금 계열 결제 금액
                    string strEventPayCashAmt = _dicPromoPoint != null?TypeHelper.ToString(_dicPromoPoint["EventPayCashAmt"]) : "";

                    //행사 적용 대상 카드 계열 결제 금액
                    string strEventPayCardAmt = _dicPromoPoint != null?TypeHelper.ToString(_dicPromoPoint["EventPayCardAmt"]) : "";

                    //행사 적용 대상 기타 결제 금액
                    string strEventPayEtcAmt = _dicPromoPoint != null?TypeHelper.ToString(_dicPromoPoint["EventPayEtcAmt"]) : "";

                    var pp03 = new PP03DataTask(strCancType, strOTApprInfo, strOTApprNo,
                                                strCustNo, strCardNo, strPayCashAmt, strPayCardAmt, strPayEtcAmt,
                                                strPointEventInfo, strEventPayCashAmt, strEventPayCardAmt, strEventPayEtcAmt); //TEST ->"2701900057818"
                    pp03.TaskCompleted += new WSWD.WmallPos.FX.NetComm.Tasks.TaskCompletedHandler(pp03_TaskCompleted);
                    pp03.Errored       += new WSWD.WmallPos.FX.NetComm.Client.ErrorHandler(pp03_Errored);
                    pp03.ExecuteTask();
                }
                else
                {
                    ChildManager.ShowProgress(false);
                    SetControlDisable(false);
                }
            }
            catch (Exception ex)
            {
                LogUtils.Instance.LogException(ex);
                ChildManager.ShowProgress(false);
                SetControlDisable(false);
            }
        }
Пример #5
0
        /// <summary>
        /// Db접속예제
        /// </summary>
        public void SQLiteAccess()
        {
            ///
            /// method 1
            /// Transaction 처리 안함
            ///
            using (var db = TranDbHelper.InitInstance())
            {
                string queryString = Extensions.LoadSqlCommand("FileName", "CommandName");
                db.ExecuteNonQuery(queryString,
                                   new string[] {
                    "@CD_STORE"
                }, new object[] {
                    ConfigData.Current.AppConfig.PosInfo.StoreNo
                });
            }

            ///
            /// method 2
            /// Transacition 사용
            ///
            TranDbHelper      tranDb = null;
            SQLiteTransaction trans  = null;

            try
            {
                tranDb = TranDbHelper.InitInstance();
                trans  = tranDb.BeginTransaction();

                BasketHeader header = new BasketHeader();

                #region Basket header

                // header.TxBufVer...

                #endregion

                #region Basket details

                // 준비금
                BasketPay prepareAmt = new BasketPay();
                prepareAmt.BalAmt = "112121";

                #endregion

                // SAT010T, SAT011T저장
                TransManager.SaveTrans(header, new BasketBase[] {
                    prepareAmt
                }, tranDb, trans);

                #region Summary table 처리, SAT300T...

                // get query string from file
                string queryString = Extensions.LoadSqlCommand("FileName", "CommandName");
                tranDb.ExecuteNonQuery(queryString,
                                       new string[] {
                    "@CD_STORE"
                }, new object[] {
                    ConfigData.Current.AppConfig.PosInfo.StoreNo
                }, trans);     // transaction 개체준다


                #endregion

                trans.Commit();

                // TR 완료시
                TransManager.OnTransComplete();
            }
            catch (Exception ex)
            {
                trans.Rollback();

                LogUtils.Instance.LogException(ex);
            }
            finally
            {
                if (tranDb != null)
                {
                    tranDb.Dispose();
                }
            }
        }