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