示例#1
0
        public string PayDeposit(request <Entity.SRequest.payDeposit> payDeposit)
        {
            if (payDeposit == null)
            {
                return(RsXmlHelper.ResXml(-1, "XML格式错误"));
            }

            in_reginfo in_Reginfo = null;

            if (!string.IsNullOrWhiteSpace(payDeposit.model.patientID))
            {
                in_Reginfo = inReginfoBLL.GetReginfo(payDeposit.model.patientID);
            }
            else
            {
                return(RsXmlHelper.ResXml(-1, "入院号不能为空"));
            }
            string memo = "住院记录ID:{0},公众服务平台订单号:{1},收单机构流水号:{2},收单机构代码:{3},支付方式:{4},补缴押金金额:{5},支付时间:{6},代缴人证件类型:{7},代缴人证件号码:{8},代缴人姓名:{9}。";

            memo = string.Format(memo, payDeposit.model.patientID, payDeposit.model.psOrdNum, payDeposit.model.agtOrdNum, payDeposit.model.agtCode, payDeposit.model.payMode, Convert.ToInt32(payDeposit.model.payAmout) / 100, payDeposit.model.payTime, payDeposit.model.reprePatCardType, payDeposit.model.reprePatCardNo, payDeposit.model.reprePatName);

            var fdid = feeDepositBLL.AdvancePayment(in_Reginfo, payDeposit.model.payMode, Convert.ToInt32(payDeposit.model.payAmout) / 100, payDeposit.model.psOrdNum, memo, out decimal leftPrice);

            return(XMLHelper.XmlSerialize(new response <Entity.SResponse.payDeposit>()
            {
                model = new Entity.SResponse.payDeposit()
                {
                    resultCode = 0,
                    resultMessage = "",
                    hisOrdNum = EString.ZeroFill(fdid),
                    balance = (leftPrice * 100).ToString()
                }
            }));
        }
示例#2
0
        /// <summary>
        /// 预交金缴费
        /// </summary>
        /// <param name="in_Reginfo">入院信息</param>
        /// <param name="payType">支付类型</param>
        /// <param name="payAmount">缴费金额</param>
        /// <param name="paySno">流水号</param>
        public int AdvancePayment(in_reginfo in_Reginfo, string payType, decimal payAmount, string paySno, string memo, out decimal leftPrice)
        {
            var isFirstDeposit = true;

            var feeDeposit = iFeeDeposit.Get(x => x.inid == in_Reginfo.inid);

            if (feeDeposit == null) //判断是否第一次缴费
            {
                iFeeDeposit.Add(new fee_deposit()
                {
                    pid        = in_Reginfo.pid,
                    inno       = in_Reginfo.inno,
                    feetype    = in_Reginfo.feetype,
                    inid       = in_Reginfo.inid,
                    pname      = in_Reginfo.pname,
                    sex        = in_Reginfo.sex,
                    age        = in_Reginfo.age,
                    dept       = in_Reginfo.indept,
                    totalprice = payAmount,
                    leftprice  = payAmount,
                    status     = in_Reginfo.status,
                    addperson  = "自助机",
                    addtime    = DateTime.Now,
                    del        = false
                });
                leftPrice = payAmount;
            }
            else
            {
                isFirstDeposit = false;

                feeDeposit.totalprice += payAmount;
                feeDeposit.leftprice  += payAmount;

                leftPrice = Convert.ToDecimal(feeDeposit.leftprice);
            }

            var id = iFeeDepositdetail.AddReturnId(new fee_depositdetail()
            {
                did       = feeDeposit.did,
                type      = "预交金收费",
                paytype   = payType,
                price     = payAmount,
                addtime   = DateTime.Now,
                addperson = "自助机缴费",
                del       = false,
                paysn     = paySno,
                memo      = memo
            });

            if (!isFirstDeposit)
            {
                iFeeDeposit.Update(feeDeposit);
            }

            return(id);
        }