示例#1
0
        /// <summary>
        /// 승인을 요청합니다.
        /// </summary>
        /// <param name="Project">업무구분 [PROJECT_D ,  PROJECT_H ...]</param>
        /// <param name="kind">현금인지  /  카드인지 구분</param>
        /// <param name="cashKind">현금영주증  중 개인/법인구분</param>
        /// <param name="cardno">카드번호  / 식별번호</param>
        /// <param name="scope">유효기간</param>
        /// <param name="amtSplit">할부개월</param>
        /// <param name="amt">승인금액</param>
        /// <param name="vanSeq">POS  에서  밴 거래시  일련번호</param>
        /// <param name="SignDataString">싸인이미지</param>
        /// <returns></returns>
        public Van.RecivedData SendData(string Project,
                                        Van.JobKind kind,
                                        CashKind cashKind,
                                        string cardno,
                                        string scope,
                                        string amtSplit,
                                        string amt,
                                        string vanSeq,
                                        string SignDataString,
                                        string OrgAgreeNo,
                                        string OrgAgreeDate
                                        , CashGbn cashgbn)
        {
            try
            {
                BizCommon.VanType type    = VanType.NONE;
                string            svrIP   = "";
                string            svrPort = "";
                string            tid     = "";

                SignPad pad         = SignPad.NONE;
                string  signcomport = "";

                type = BizVan.GetProjectVaninfo(Project, kind, ref svrIP, ref svrPort, ref tid, ref pad, ref signcomport);

                return(MySendData(type, svrIP, svrPort, kind, cashKind, tid, cardno, scope, amtSplit, amt, vanSeq, SignDataString, OrgAgreeNo, OrgAgreeDate, cashgbn));
            }
            catch (Exception ex)
            {
                throw  ex;
            }
        }
示例#2
0
        /// <summary>
        /// 현금연수증 자동 승인취소
        /// </summary>
        private void fnCashBillAutoCacel(bool cashbillyn
                                         , CashKind cashbillkind
                                         , string regno
                                         , string amt
                                         , string orgagreeno
                                         )
        {
            try
            {
                if (cashbillyn)
                {
                    //현금영수증 승인건이라면
                    //현금영수증을 취소한다.
                    /***********************************************************************************************************************************************/
                    Van.RecivedData CashCancelreq = new RecivedData();
                    using (BizVanComunication bizVan = new BizVanComunication())
                    {
                        CashCancelreq = bizVan.SendData("PROJECT_D",
                                                        JobKind.CancelCash,
                                                        cashbillkind,
                                                        regno,
                                                        "",
                                                        "",
                                                        amt,
                                                        "",
                                                        "",
                                                        "",
                                                        "", CashGbn.None);
                        bizVan.Dispose();
                    }

                    /***********************************************************************************************************************************************/
                    if (CashCancelreq.IsAgreeError)
                    {
                        //cashAgreeNo
                        Basic.ShowMessage(1, "현금영수증 승인 후 DB 저장시 에러입니다.\n\r" +
                                          "현금영수증 승인 취소시 아래와 같은 에러로 취소하지 못하였습니다.\n\r\n\r" +
                                          "에러내용:\n\r" +
                                          CashCancelreq.Message + "\n\r\n\r" +
                                          "전산실에 문의하여 수기 취소바랍니다. \n\r\n\r" +
                                          "승인번호 : " + orgagreeno);

                        Van.Log.Log.SaveLog("[현금영수증승인후 - DB 저장시에러 - 현금영수증 승인취소시 -에러 ] - 승인번호 : " + orgagreeno);
                    }
                }

                return;
            }
            catch (Exception ex)
            {
                Basic.ShowMessage(3, ex.Message);
            }
            finally
            {
                this.Cursor = Cursors.Default;
            }
        }
示例#3
0
        /// <summary>
        /// 실제적인 승인처리 현금영수 - 카드 승인/취소 공통이다.
        /// </summary>
        /// <param name="Project">The project.</param>
        /// <param name="kind">종류 /  카드승인/카드취소/현금승인/현금취소등</param>
        /// <param name="cashKind">현금영수증일대  구분</param>
        /// <param name="cardno">카드번호 /  식별번호</param>
        /// <param name="scope">유효기간</param>
        /// <param name="amtSplit">할부개월</param>
        /// <param name="amt">금액</param>
        /// <param name="vanSeq">밴일련번호 - pos에서  밴거래시  1씩증가</param>
        /// <param name="SignDataString">싸인데이터</param>
        /// <param name="OrgAgreeNo">The org agree no.</param>
        /// <param name="OrgAgreeDate">The org agree date.</param>
        /// <returns></returns>
        public string GetVanMakeCardProtocol(string Project,
                                             Van.JobKind kind,
                                             CashKind cashKind,
                                             string cardno,
                                             string scope,
                                             string amtSplit,
                                             string amt,
                                             string vanSeq,
                                             string SignDataString,
                                             string OrgAgreeNo,
                                             string OrgAgreeDate
                                             , CashGbn cashgbn)
        {
            try
            {
                string svrIP   = "";
                string svrPort = "";
                string tid     = "";

                SignPad pad         = SignPad.NONE;
                string  signcomport = "";

                BizCommon.VanType rtype = BizVan.GetProjectVaninfo(Project, kind, ref svrIP, ref svrPort, ref tid, ref pad, ref signcomport);

                Van.VanType type = BizVan.ConvertToVanType(rtype);

                if (tid == "")
                {
                    throw new Exception("밴 터미널 아이디가 등록되지 않았습니다.");
                }
                else if (rtype != VanType.KIS && (type == Van.VanType.NONE || svrIP == "" || svrPort == ""))
                {
                    throw new Exception("밴 환경설정이 없습니다.");
                }
                string str = "";

                if (kind == JobKind.RegCard || kind == JobKind.RegCash)
                {
                    //현금영수증 부가세 관련현 수정
                    string strVat = "";// intVat = 0;
                    if (amt == null || amt == "0" || amt == "")
                    {
                        strVat = "";
                    }
                    else
                    {
                        strVat = ((int)(Convert.ToDouble(amt) - Convert.ToDouble(amt) / 1.1)).ToString();
                    }

                    switch (type)
                    {
                    case Van.VanType.KICC:
                        str = Van.KICC.Reg(kind,
                                           cashKind,
                                           tid,
                                           cardno,
                                           scope,
                                           Basic.MaskReplace(amtSplit.Trim()),
                                           Basic.MaskReplace(amt.Trim()));
                        break;

                    case Van.VanType.KSNET:
                        str = Van.KSNET.Reg(kind,
                                            cashKind,
                                            tid,
                                            cardno,
                                            scope,
                                            Basic.MaskReplace(amtSplit.Trim()),
                                            Basic.MaskReplace(amt.Trim()),
                                            1,
                                            SignDataString);


                        break;

                    case Van.VanType.KIS:
                        str = Van.KIS.Reg(kind
                                          , cashKind
                                          , tid
                                          , cardno
                                          , scope
                                          , Basic.MaskReplace(amtSplit.Trim())
                                          , Basic.MaskReplace(amt.Trim())
                                          , strVat
                                          , cashgbn);

                        break;
                    }
                }
                else if (kind == JobKind.CancelCash || kind == JobKind.CancelCard)
                {
                    switch (type)
                    {
                    case Van.VanType.KICC:
                        str = Van.KICC.Cancel(kind,
                                              cashKind,
                                              tid,
                                              cardno,
                                              scope,
                                              Basic.MaskReplace(amtSplit.Trim()),
                                              Basic.MaskReplace(amt.Trim()),
                                              OrgAgreeNo,
                                              OrgAgreeDate
                                              );
                        break;

                    case Van.VanType.KSNET:
                        str = KSNET.Cancel(kind,
                                           cashKind,
                                           tid,
                                           cardno,
                                           scope,
                                           Basic.MaskReplace(amtSplit.Trim()),
                                           Basic.MaskReplace(amt.Trim()),
                                           OrgAgreeNo,
                                           OrgAgreeDate,
                                           1,
                                           "");
                        break;
                    }
                }



                return(str);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#4
0
        /// <summary>
        /// 실제적인 승인처리 현금영수 - 카드 승인/취소 공통이다.
        /// </summary>
        /// <param name="tid">터미널아이디</param>
        /// <param name="svrIP">서버아이피.</param>
        /// <param name="svrPort">서버포트</param>
        /// <param name="str">전송전문</param>
        /// <param name="kind">종류 /  카드승인/카드취소/현금승인/현금취소등</param>
        /// <param name="SignDataString">싸인데이터 </param>
        /// <param name="cashKind">현금영수증일대  구분</param>
        /// <param name="cardno">카드번호 /  식별번호</param>
        /// <param name="scope">유효기간</param>
        /// <param name="amtSplit">할부개월</param>
        /// <param name="amt">금액</param>
        /// <param name="vanSeq">밴일련번호 - pos에서  밴거래시  1씩증가</param>
        /// <returns></returns>
        private Van.RecivedData MySendData(
            BizCommon.VanType rtype,
            string svrIP,
            string svrPort,
            Van.JobKind kind,
            CashKind cashKind,
            string tid,
            string cardno,
            string scope,
            string amtSplit,
            string amt,
            string vanSeq,
            string SignDataString,
            string OrgAgreeNo,
            string OrgAgreeDate
            , CashGbn cashgbn)
        {
            try
            {
                Van.VanType type = BizVan.ConvertToVanType(rtype);

                /* TID 체크 하지 않음
                 * if(tid == "")
                 * {
                 *  throw new Exception(  "밴 터미널 아이디가 등록되지 않았습니다.");
                 *
                 * }
                 * else if(type != Van.VanType.KIS && ( type == Van.VanType.NONE ||  svrIP   == ""  || svrPort == "" ))
                 * {
                 *    throw new Exception(   "밴 환경설정이 없습니다.");
                 *
                 * } */

                if (svrPort == "")
                {
                    throw new Exception("통신 서버 포트가 등록되지 않았습니다.");
                }

                string str = "";

                if (kind == JobKind.RegCard || kind == JobKind.RegCash)
                {
                    //현금영수증 부가세 관련현 수정
                    string strVat = "";// intVat = 0;
                    if (amt == null || amt == "0" || amt == "")
                    {
                        strVat = "";
                    }
                    else
                    {
                        strVat = ((int)(Convert.ToDouble(amt) - Convert.ToDouble(amt) / 1.1)).ToString();
                    }

                    switch (type)
                    {
                    case Van.VanType.KICC:
                        str = Van.KICC.Reg(kind,
                                           cashKind,
                                           tid,
                                           cardno,
                                           scope,
                                           Basic.MaskReplace(amtSplit.Trim()),
                                           Basic.MaskReplace(amt.Trim()));
                        break;

                    case Van.VanType.KSNET:
                        str = Van.KSNET.Reg(kind,
                                            cashKind,
                                            tid,
                                            cardno,
                                            scope,
                                            Basic.MaskReplace(amtSplit.Trim()),
                                            Basic.MaskReplace(amt.Trim()),
                                            1,
                                            SignDataString);
                        break;

                    case Van.VanType.KIS:
                        str = Van.KIS.Reg(kind
                                          , cashKind
                                          , tid
                                          , cardno
                                          , scope
                                          , Basic.MaskReplace(amtSplit.Trim())
                                          , Basic.MaskReplace(amt.Trim())
                                          , strVat
                                          , cashgbn);

                        break;

                    case Van.VanType.STAR_CAT:
                        str = Van.STAR_CAT.Reg(kind
                                               , cashKind
                                               , Basic.MaskReplace(amtSplit.Trim())
                                               , Basic.MaskReplace(amt.Trim())
                                               , strVat
                                               , cashgbn);

                        break;
                    }
                }
                else if (kind == JobKind.CancelCash || kind == JobKind.CancelCard)
                {
                    switch (type)
                    {
                    case Van.VanType.KICC:
                        str = Van.KICC.Cancel(kind,
                                              cashKind,
                                              tid,
                                              cardno,
                                              scope,
                                              Basic.MaskReplace(amtSplit.Trim()),
                                              Basic.MaskReplace(amt.Trim()),
                                              OrgAgreeNo,
                                              OrgAgreeDate
                                              );
                        break;

                    case Van.VanType.KSNET:
                        str = KSNET.Cancel(kind,
                                           cashKind,
                                           tid,
                                           cardno,
                                           scope,
                                           Basic.MaskReplace(amtSplit.Trim()),
                                           Basic.MaskReplace(amt.Trim()),
                                           OrgAgreeNo,
                                           OrgAgreeDate,
                                           1,
                                           "");
                        break;

                    case Van.VanType.KIS:
                        str = KIS.Cancel(kind,
                                         cashKind,
                                         tid,
                                         cardno,
                                         scope,
                                         Basic.MaskReplace(amtSplit.Trim()),
                                         Basic.MaskReplace(amt.Trim()),
                                         OrgAgreeNo,
                                         OrgAgreeDate,
                                         1,
                                         "");
                        break;

                    case Van.VanType.STAR_CAT:
                        str = STAR_CAT.Cancel(kind,
                                              cashKind,
                                              Basic.MaskReplace(amtSplit.Trim()),
                                              Basic.MaskReplace(amt.Trim()),
                                              OrgAgreeNo,
                                              OrgAgreeDate
                                              );
                        break;
                    }
                }



                Van.frmVanLoading f = new Van.frmVanLoading("승인요청 중 입니다.",
                                                            type,
                                                            frmVanLoading.JobKind.Communication,
                                                            svrIP,
                                                            svrPort == "" ? -99 : int.Parse(svrPort),
                                                            str,
                                                            "BizGetRequest");

                f.CardApprovalType = SignDataString == "" ? CARD_APPROVAL_TYPE.DDC : CARD_APPROVAL_TYPE.DSC;
                f.ArgJobKinds      = kind;
                f.SignDataString   = SignDataString;
                f.Tid   = tid;
                f.Owner = this;
                IsLoop  = true;
                f.ShowDialog();

                while (IsLoop)
                {
                    Application.DoEvents();
                }


                return(_ReqData);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#5
0
        /// <summary>
        /// 현금영수증 승인
        /// </summary>
        private bool fnCashBill(bool cashbillyn
                                , bool cashsignpadyn
                                , string amt
                                , CashKind cashbillkind
                                , string cashbillregno
                                , ref string refcashbillregno
                                , ref string refIdNoCode
                                , ref Van.RecivedData cashreqdata
                                )
        {
            try
            {
                bool IsClose = BizCommon.Gneral_D.IsRoomClose();

                refIdNoCode = "";


                //현금영수증 선택되었을대
                if (cashbillyn)
                {
                    Van.RecivedData reqdata = new RecivedData();
                    refcashbillregno = cashbillregno;

                    //식별번호를 싸인패드로 받는다면
                    if (cashsignpadyn)
                    {
                        using (BizVanComunication regNumber = new BizVanComunication())
                        {
                            reqdata = regNumber.GetCashRegNumber("PROJECT_D",
                                                                 int.Parse(Basic.MaskReplace(amt))
                                                                 );
                            regNumber.Dispose();
                        }
                        refcashbillregno = reqdata.CashRegNumber;
                    }

                    if (cashbillregno.Length < 7)
                    {
                        //현금영수증
                        Basic.ShowMessage(1, "식별번호를 정확하게 입력하여 주십시요");
                        return(false);
                    }

                    //현금영수증 승인요청
                    /***********************************************************************************************************************************************/

                    using (BizVanComunication bizVan = new BizVanComunication())
                    {
                        cashreqdata = bizVan.SendData("PROJECT_D",
                                                      JobKind.RegCash,
                                                      cashbillkind,
                                                      refcashbillregno.Trim(),
                                                      "",
                                                      "",
                                                      Basic.MaskReplace(amt),
                                                      "",
                                                      "",
                                                      "",
                                                      "", lupCashBill_IdCode.EditValue.ToString() == "1" ? CashGbn.Card : CashGbn.None);
                        bizVan.Dispose();
                    }

                    /***********************************************************************************************************************************************/

                    if (cashreqdata.IsAgreeError)
                    {
                        Basic.ShowMessage(1, cashreqdata.Message);
                        return(false);
                    }

                    //승인여부
                    //DB 작업 실패시 삭제하기위해서
                    //IsAgreeCash = true;
                }
                //자진 발급
                else
                {
                    DataRow[] dr        = Parm.mDataTable.dtZx010ms.Select("HEAD = 'Z0028' AND DETAIL = '0' AND USE_YN = 'Y' ");
                    int       _intInput = 0;
                    int       _intZ0028 = 0;

                    refcashbillregno = dr[0]["ITEM1"].ToString();
                    _intInput        = int.Parse(amt.Replace(",", ""));

                    refIdNoCode = dr[0]["DETAIL"].ToString();

                    try
                    {
                        _intZ0028 = int.Parse(dr[0]["ITEM2"].ToString());
                    }
                    catch (Exception)
                    {
                        _intZ0028 = 0;
                    }

                    if (_intInput >= _intZ0028)
                    {
                        using (BizVanComunication bizVan = new BizVanComunication())
                        {
                            cashreqdata = bizVan.SendData("PROJECT_D",
                                                          JobKind.RegCash,
                                                          cashbillkind,
                                                          dr[0]["ITEM1"].ToString(),
                                                          "",
                                                          "",
                                                          Basic.MaskReplace(amt.Trim()),
                                                          "",
                                                          "",
                                                          "",
                                                          "", CashGbn.None);
                            bizVan.Dispose();
                        }


                        if (cashreqdata.IsAgreeError)
                        {
                            Basic.ShowMessage(1, cashreqdata.Message);
                            return(false);
                        }

                        //승인여부
                        //DB 작업 실패시 삭제하기위해서
                        //IsAgreeCash = true;
                    }
                }

                //cashAgreeNo = Cashreqdata.AgreeNo;
                //cashAgreeDate = Cashreqdata.AgreeDate;
                this.Cursor = Cursors.WaitCursor;
                this.Cursor = Cursors.Default;
                return(true);
            }
            catch (Exception ex)
            {
                Basic.ShowMessage(3, ex.Message);
                return(false);
            }
            finally
            {
                this.Cursor = Cursors.Default;
            }
        }