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