/// <summary> /// 验证是否能够存档 /// </summary> /// <param name="orderid"></param> /// <param name="fileStatus"></param> /// <param name="iscancel"></param> /// <returns></returns> public bool isCanFile(object orderid, object fileStatus, object iscancel) { if (iscancel.ToString() == "Y") { return(true); } else { int id = 0; int.TryParse(orderid.ToString(), out id); DataTable ordercollect = To_OrderCollectDetialManager.getList(id); DataTable orderpay = To_OrderPayDetialManager.getList(id); List <string> collectstatus = new List <string>(); List <string> paystatus = new List <string>(); for (int i = 0; i < ordercollect.Rows.Count; i++) { collectstatus.Add(ordercollect.Rows[i]["collectStatus"].ToString()); } for (int i = 0; i < orderpay.Rows.Count; i++) { paystatus.Add(orderpay.Rows[i]["payStatus"].ToString()); } if ((collectstatus.All <string>(x => x == "完成收款") && paystatus.All <string>(x => x == "完成付款")) && fileStatus.ToString() == "0") { return(true); } else { return(false); } } }
/// <summary> /// 删除订单 /// </summary> /// <param name="id">订单的id值</param> private void Del(int id) { To_OrderInfo orderinfo = To_OrderInfoManager.getTo_OrderInfoById(id); if (orderinfo != null) { int jobflowid = orderinfo.JobflowID; JobFlow model = JobFlowManager.GetModel(jobflowid); if (model == null || model.auditstatus != "01") { Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "del", "<script>alert('订单已删除或审核员已审核')</script>"); } else if (!To_OrderInfoManager.CanDelete(id)) { Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "del", "<script>alert('该订单关联过收款或付款或退款或报销,无法删除')</script>"); } else { string strdel = " jobflowid=" + jobflowid; AuditJobFlowManager.Delete(strdel); JobFlowManager.Delete(jobflowid); To_OrderInfoManager.deleteTo_OrderInfo(Convert.ToInt32(id)); To_OrderCollectDetialManager.deleteTo_OrderCollectDetialByOrderID(Convert.ToInt32(id)); To_OrderPayDetialManager.deleteTo_OrderPayDetialByOrderID(Convert.ToInt32(id)); To_OrderRefunDetialManager.deleteTo_OrderRefunDetialByOrderID(Convert.ToInt32(id)); } } }
/// <summary> /// 更新订单付款的实际信息的 /// </summary> /// <param name="jobflowid"></param> public void updateOrderPayDetail(int jobflowid) { To_PaymentDetailManager manager = new To_PaymentDetailManager(); //得到该条付款申请的明细数据 DataTable dt = manager.GetOrderPayDetail(" jobFlowID =" + jobflowid); for (int i = 0; i < dt.Rows.Count; i++) { string orderPayId = dt.Rows[i]["orderPayId"].ToString(); //得到付款明细所引用的订单付款明细数据的id double hasAmount = manager.GetRealityHasAmount(orderPayId); //得到实际付过款的金额 double shouldAmount = Convert.IsDBNull(dt.Rows[i]["money"]) ? Convert.ToDouble(dt.Rows[i]["money"]) : 0; //应付金额 string getStatus = ""; if (hasAmount == 0) { getStatus = "未付款"; } else if (shouldAmount > hasAmount) { getStatus = "部分付款"; } else { getStatus = "完成付款"; } To_OrderPayDetialManager.updateDetialStatusAndMoney(orderPayId, getStatus, hasAmount.ToString()); } }
/// <summary> /// 添加付款详细信息 /// </summary> /// <param name="paymentID"></param> private void SavePaymentDetail(string paymentID) { To_PaymentDetailManager bPaymentDetail = new To_PaymentDetailManager(); To_PaymentDetail mPaymentDetail = new To_PaymentDetail(); IList <string> payids = new List <string>(); mPaymentDetail.PaymentID = paymentID; if (hidPayDetail.Value.Trim().TrimEnd('@') != string.Empty) { IEnumerable <string> detailList = hidPayDetail.Value.Trim().TrimEnd('@').Split('@').Where(x => x.Trim() != string.Empty); if (detailList.Count() > 0) { foreach (string detail in detailList) { string[] detailItem = detail.Split('$'); mPaymentDetail.OrderPayId = int.Parse(detailItem[0].Trim()); //订单付款信息明细表id if (!payids.Contains(detailItem[0].Trim())) { payids.Add(detailItem[0].Trim()); } mPaymentDetail.OrderNum = detailItem[1].Trim(); //订单编号 mPaymentDetail.ShouldPay = double.Parse(detailItem[2].Trim()); //应付金额 mPaymentDetail.PayAmount = double.Parse(detailItem[3].Trim()); //本次支付金额 bPaymentDetail.Add(mPaymentDetail); } } //更新付款信息明细表的付款状态和实际付款金额 for (int i = 0; i < payids.Count; i++) { if (payids[i] != "") { double hasAmount = bPaymentDetail.GetHasAmount(payids[i].Trim()); //得到付过款的金额 double shouldAmount = To_OrderPayDetialManager.getTo_OrderPayDetialById(int.Parse(payids[i])).Money; //得到应付金额 string getstatus = ""; if (hasAmount == 0) { getstatus = "未付款"; } else if (shouldAmount > hasAmount) { getstatus = "部分付款"; } else { getstatus = "完成付款"; } To_OrderPayDetialManager.updateDetialStatusAndMoney(payids[i], getstatus, hasAmount.ToString()); } } } }
/// <summary> /// 添加付款单位 /// </summary> private void addbank(int orderID) { string banklist = this.hidbank.Value; if (banklist != "") { string[] row = null; string[] cell = null; EtNet_Models.To_OrderPayDetial factbank = null; if (banklist.IndexOf(',') >= 0) { row = banklist.Split(','); } else { row = new string[1] { banklist }; } if (row.Count() > 0) { for (int i = 0; i < row.Length; i++) { cell = row[i].Split('|'); factbank = new EtNet_Models.To_OrderPayDetial(); if (cell[0] != "") { factbank.Factid = Convert.ToInt32(cell[0]); //付款单位id factbank.Orderid = orderID; //订单id factbank.LinkID = cell[1] == "" ? 0 : int.Parse(cell[1]); //联系人信息id factbank.SupName = cell[2]; //付款单位名称 factbank.PayType = cell[3]; //付款类别 factbank.LinkName = cell[4]; //联系人名称 if (cell[5] != "") { factbank.PayNum = Convert.ToInt32(cell[5]); } factbank.PayChildNum = cell[6] != "" ? Convert.ToInt32(cell[6]) : 0; double money = 0; double.TryParse(cell[7], out money); factbank.Money = money; //付款金额 factbank.PayConfirm = cell[8]; //是否做过付款申请 factbank.PayAmount = 0; factbank.PayStatus = factbank.Money == 0 ? "完成付款" : cell[9]; //付款支付状态 factbank.Remark = cell[10]; //备注 To_OrderPayDetialManager.addTo_OrderPayDetial(factbank); } } } } }
/// <summary> /// 得到订单id /// </summary> /// <param name="orderPayid">付款信息明细表id</param> /// <returns></returns> public string getOrderidpay(string orderPayid) { int id = 0; int.TryParse(orderPayid, out id); To_OrderPayDetial model = To_OrderPayDetialManager.getTo_OrderPayDetialById(id); if (model != null) { return(model.Orderid.ToString()); } else { return(""); } }
/// <summary> /// 删除订单 /// </summary> /// <param name="id">订单的id值</param> private void Del(int id) { To_OrderInfo orderinfo = To_OrderInfoManager.getTo_OrderInfoById(id); if (orderinfo != null) { int jobflowid = orderinfo.JobflowID; JobFlow model = JobFlowManager.GetModel(jobflowid); string strdel = " jobflowid=" + jobflowid; AuditJobFlowManager.Delete(strdel); JobFlowManager.Delete(jobflowid); To_OrderInfoManager.deleteTo_OrderInfo(Convert.ToInt32(id)); To_OrderCollectDetialManager.deleteTo_OrderCollectDetialByOrderID(Convert.ToInt32(id)); To_OrderPayDetialManager.deleteTo_OrderPayDetialByOrderID(Convert.ToInt32(id)); To_OrderRefunDetialManager.deleteTo_OrderRefunDetialByOrderID(Convert.ToInt32(id)); } }
protected void ibtnDeleteAll_Click(object sender, ImageClickEventArgs e) { string delId = ""; //先遍历取得选中项 for (int i = 0; i < this.rpPoliy.Items.Count; i++) { CheckBox cbx = (CheckBox)(rpPoliy.Items[i].FindControl("cbx")); Label lbl = (Label)rpPoliy.Items[i].FindControl("lbl"); if (cbx != null || cbx.Text != "") { if (cbx.Checked) { delId += lbl.Text + ","; } } } //去掉最后一个, delId = (delId + ")").Replace(",)", ""); IList check = delId.Split(','); for (int i = 0; i < check.Count; i++) { To_OrderInfo orderinfo = To_OrderInfoManager.getTo_OrderInfoById(Convert.ToInt32(check[i])); if (orderinfo != null) { int jobflowid = orderinfo.JobflowID; JobFlow model = JobFlowManager.GetModel(jobflowid); string strdel = " jobflowid=" + jobflowid; AuditJobFlowManager.Delete(strdel); JobFlowManager.Delete(jobflowid); To_OrderInfoManager.deleteTo_OrderInfo(Convert.ToInt32(check[i])); To_OrderCollectDetialManager.deleteTo_OrderCollectDetialByOrderID(Convert.ToInt32(check[i])); To_OrderPayDetialManager.deleteTo_OrderPayDetialByOrderID(Convert.ToInt32(check[i])); To_OrderRefunDetialManager.deleteTo_OrderRefunDetialByOrderID(Convert.ToInt32(check[i])); } } BindData(); }
/// <summary> /// 得到付款明细 /// </summary> /// <param name="orderid"></param> /// <returns></returns> public string getPayDetail(object orderid) { StringBuilder str = new StringBuilder(); str.Append("<table border='1' >"); str.Append("<tr><th width='200px'>付款单位</th><th width='80px'>付款类别</th><th width='80px'>应付金额</th><th width='80px'>已付金额</th><th width='80px'>未付金额</th></tr>"); DataTable dt = To_OrderPayDetialManager.getList(int.Parse(orderid.ToString())); for (int i = 0; i < dt.Rows.Count; i++) { double money = Convert.IsDBNull(dt.Rows[i]["money"]) ? 0.0 : Convert.ToDouble(dt.Rows[i]["money"]); //应付金额 double payAmount = Convert.IsDBNull(dt.Rows[i]["payAmount"]) ? 0.0 : Convert.ToDouble(dt.Rows[i]["payAmount"]); str.Append("<tr><td>" + dt.Rows[i]["supName"].ToString() + "</td>"); //付款单位 str.Append("<td>" + dt.Rows[i]["payType"].ToString() + "</td>"); //付款类别 str.Append("<td>" + money.ToString() + "</td>"); //应付金额 str.Append("<td>" + payAmount.ToString() + "</td>"); //已付金额 str.Append("<td>" + (money - payAmount).ToString() + "</td></tr>"); //未付金额 } str.Append("</table>"); return(str.ToString()); }
/// <summary> /// 付款 /// </summary> /// <param name="id"></param> private decimal LoadPay(int id) { decimal moneyAmount = 0; decimal outmoney = 0; decimal hasAmount = 0; DataTable dt = To_OrderPayDetialManager.getList(id); if (dt.Rows.Count > 0) { HtmlTableRow row = null; HtmlTableCell cell = null; for (int i = 0; i < dt.Rows.Count; i++) { //string[] result = GetPayStatusAndMoney(dt.Rows[i]["orderid"].ToString(), dt.Rows[i]["factid"].ToString(), dt.Rows[i]["payType"].ToString(), dt.Rows[i]["money"].ToString()); row = new HtmlTableRow(); cell = new HtmlTableCell(); //单位名称 //cell.Style.Add("height", "20px"); cell.Attributes.CssStyle.Add("height", "20px"); cell.InnerHtml = dt.Rows[i]["supName"].ToString(); row.Controls.Add(cell); cell = new HtmlTableCell(); //付款类别 cell.InnerHtml = dt.Rows[i]["payType"].ToString(); row.Controls.Add(cell); cell = new HtmlTableCell(); //联系人 cell.Attributes.Add("onclick", "getLink('" + dt.Rows[i]["factid"].ToString() + "','" + dt.Rows[i]["linkID"].ToString() + "')"); cell.InnerHtml = dt.Rows[i]["linkName"].ToString(); row.Controls.Add(cell); cell = new HtmlTableCell(); //成人数 cell.InnerHtml = dt.Rows[i]["payNum"].ToString(); row.Controls.Add(cell); cell = new HtmlTableCell(); //儿童数 cell.InnerHtml = dt.Rows[i]["payChildNum"].ToString(); row.Controls.Add(cell); cell = new HtmlTableCell(); //金额 cell.InnerHtml = dt.Rows[i]["money"].ToString(); row.Controls.Add(cell); cell = new HtmlTableCell(); //付款申请单 cell.InnerHtml = dt.Rows[i]["payConfirm"].ToString(); row.Controls.Add(cell); cell = new HtmlTableCell(); //支付状态 cell.InnerHtml = dt.Rows[i]["payStatus"].ToString(); row.Controls.Add(cell); cell = new HtmlTableCell(); //已支付金额 cell.InnerHtml = dt.Rows[i]["payAmount"].ToString(); row.Controls.Add(cell); cell = new HtmlTableCell(); //剩余金额 double symoney = getSurplus(dt.Rows[i]["money"].ToString(), dt.Rows[i]["payAmount"].ToString()); cell.InnerHtml = symoney.ToString("F2"); row.Controls.Add(cell); cell = new HtmlTableCell(); //备注 cell.InnerHtml = dt.Rows[i]["remark"].ToString(); row.Controls.Add(cell); this.tablebank.Controls.Add(row); //应付金额合计 outmoney = 0; decimal.TryParse(dt.Rows[i]["money"].ToString(), out outmoney); moneyAmount += outmoney; //实际支付金额合计 outmoney = 0; decimal.TryParse(dt.Rows[i]["payAmount"].ToString(), out outmoney); hasAmount += outmoney; } this.lblPayAmount.InnerText = moneyAmount.ToString("F2"); this.lblPayHasAmount.InnerText = hasAmount.ToString("F2"); } return(hasAmount); }