/// <summary> /// 订单收款状态 /// </summary> /// <param name="orderId"></param> /// <returns></returns> public string colStatus(string orderId) { int id = 0; int.TryParse(orderId, out id); DataTable orderdt = To_OrderCollectDetialManager.getList(id); List <string> status = new List <string>(); for (int i = 0; i < orderdt.Rows.Count; i++) { status.Add(getStatus(orderdt.Rows[i]["id"].ToString(), orderdt.Rows[i]["money"].ToString())); } if (status.All <string>(x => x == "0")) //判断是否都为0 { return("<font color='red'>未收款</font>"); } else if (status.All <string>(x => x == "2")) //判断是否都为2 { return("<font color='green'>完成收款</font>"); } else { return("<font color='blue'>部分收款</font>"); } }
/// <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="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="orderid"></param> /// <returns></returns> public string getCollectDetail(object orderid) { //return "得到收款明细"; StringBuilder str = new StringBuilder(); str.Append("<table border='1' >"); str.Append("<tr><th width='200px'>收款单位</th><th width='50px'>成人</th><th width='50px'>儿童</th><th width='50px'>陪同</th><th width='80px'>应收团款</th><th width='80px'>已收团款</th><th width='80px'>未收团款</th><th width='80px'>业务提成</th></tr>"); DataTable dt = To_OrderCollectDetialManager.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 collectAmount = Convert.IsDBNull(dt.Rows[i]["collectAmount"]) ? 0.0 : Convert.ToDouble(dt.Rows[i]["collectAmount"]); str.Append("<tr><td>" + dt.Rows[i]["cusName"].ToString() + "</td>"); //收款单位 str.Append("<td>" + dt.Rows[i]["adultNum"].ToString() + "</td>"); //成人数 str.Append("<td>" + dt.Rows[i]["childNum"].ToString() + "</td>"); //儿童数 str.Append("<td>" + dt.Rows[i]["withNum"].ToString() + "</td>"); //陪同数 str.Append("<td>" + money.ToString() + "</td>"); //应收团款 str.Append("<td>" + collectAmount.ToString() + "</td>"); //已收团款 str.Append("<td>" + (money - collectAmount).ToString() + "</td>"); //未收团款 str.Append("<td>" + dt.Rows[i]["cutPayStatus"].ToString() + "</td></tr>"); //业务提成 } str.Append("</table>"); return(str.ToString()); }
/// <summary> /// 加载订单的收款信息 /// </summary> private void LoadOrderCollectList() { string cusId = Request.QueryString["cusId"]; string sql = " iscancel='N'"; if (!string.IsNullOrEmpty(cusId)) { sql += " and cusId = " + cusId; sql += " and canAmount > 0 "; //已开完票的订单数据不显示 rpOrderCollectList.DataSource = To_OrderCollectDetialManager.GetOrderCollectInvoice(sql); rpOrderCollectList.DataBind(); } }
/// <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> private void UpdateOrderCollect() { string id = Request.QueryString["id"]; string sort = Request.QueryString["sort"]; id = "(" + id + ")"; string status = this.tc_yes.Checked ? "是" : "否"; string strWhere = " id in " + id; switch (sort) { case "0": To_OrderCollectDetialManager.updateDetialCutStatus(strWhere, status); break; case "1": To_OrderInfoManager.updateInputerTcStatus(strWhere, status); break; } Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "success", "alert('更新成功');", true); }
/// <summary> /// 更新订单的收款信息 /// </summary> /// <param name="dt"></param> private void UpdateOrderColect(DataTable dt) { To_ClaimDetailManager manage = new To_ClaimDetailManager(); for (int i = 0; i < dt.Rows.Count; i++) { double hasAmount = manage.GetHasAmount(dt.Rows[i]["orderCollectId"].ToString()); double shouldAmount = Convert.IsDBNull(dt.Rows[i]["money"]) ? 0 : Convert.ToDouble(dt.Rows[i]["money"]); string getstatsu = ""; if (hasAmount == 0) { getstatsu = "未收款"; } else if (shouldAmount > hasAmount) { getstatsu = "部分收款"; } else { getstatsu = "完成收款"; } To_OrderCollectDetialManager.updateDetialStatusAndMoney(dt.Rows[i]["orderCollectId"].ToString(), getstatsu, hasAmount.ToString()); } }
/// <summary> /// 添加收款单位信息 /// </summary> private void addlink(int orderID) { string strList = this.hidlink.Value; if (strList != "") { string[] row = null; string[] cell = null; EtNet_Models.To_OrderCollectDetial factLink = null; if (strList.IndexOf(',') >= 0) { row = strList.Split(','); } else { row = new string[1] { strList }; } if (row.Count() > 0) { for (int i = 0; i < row.Length; i++) { cell = row[i].Split('|'); if (cell[0] != "") { factLink = new EtNet_Models.To_OrderCollectDetial(); factLink.CustId = Convert.ToInt32(cell[0]); //收款单位id factLink.LinkID = cell[1] == "" ? 0 : Convert.ToInt32(cell[1]); //收款单位营业部id factLink.CusName = cell[2]; //收款单位名称 factLink.Salesman = cell[3]; //业务员 factLink.Salemanid = LoginInfoManager.getLoginIDByname(cell[3]); //业务员id factLink.DepartName = cell[4]; //营业部名称 factLink.LinkName = cell[5]; //联系人 if (cell[6] != "") //成人数 { factLink.AdultNum = Convert.ToInt32(cell[6]); } else { factLink.AdultNum = 0; } if (cell[7] != "") //儿童数 { factLink.ChildNum = Convert.ToInt32(cell[7]); } else { factLink.ChildNum = 0; } if (cell[8] != "") //陪同 { factLink.WithNum = Convert.ToInt32(cell[8]); } else { factLink.WithNum = 0; } //factLink.Money = Convert.ToDouble(cell[5]); if (cell[9] == "") //收款金额 { factLink.Money = 0; } else { factLink.Money = Convert.ToDouble(cell[9]); } factLink.CollectStatus = factLink.Money == 0 ? "完成收款" : cell[10]; //收款状态 factLink.Remark = cell[11]; //备注 factLink.Orderid = orderID; //订单id To_OrderCollectDetialManager.addTo_OrderCollectDetial(factLink); } } } } }
/// <summary> /// 保存收款认领明细数据的方法 /// </summary> /// <param name="claimId">收款认领单id</param> /// <param name="collectId">收款单id</param> private void SaveClaimDetail(int claimId, int collectId) { IList <string> orderColectIDs = new List <string>(); To_CollectingManager.ChangeClaim(Convert.ToInt32(Request.QueryString["id"]), chkFinish.Checked ? 2 : 1); if (chkFinish.Checked) { SendMessage(collectId, LblMaker.Text, 1); } else { SendMessage(collectId, LblMaker.Text, 0); } if (HidClaimDetail.Value.Trim() != string.Empty) { To_ClaimDetailManager claimDetailManager = new To_ClaimDetailManager(); string[] items = HidClaimDetail.Value.Trim().TrimEnd('@').Split('@'); if (items.Length > 0) { To_ClaimDetail claimDetail = new To_ClaimDetail(); foreach (string item in items) { string[] detail = item.Trim().Split('$'); if (detail.Length > 0) { claimDetail.claimID = claimId; //收款单id claimDetail.orderCollectId = int.Parse(detail[0]); //订单表收款信息明细表id if (!orderColectIDs.Contains(detail[0])) { orderColectIDs.Add(detail[0]); } claimDetail.orderCusId = int.Parse(hidComID.Value); //付款单位id claimDetail.orderNum = detail[1]; //订单编号 claimDetail.receiptAmount = decimal.Parse(detail[2]); //应收金额(在编辑的时候还是要去该订单表收款明细的应收金额,因为这个应收金额可能会变) claimDetail.realAmount = decimal.Parse(detail[3]); //本次收款金额 claimDetail.mark = detail[4]; //备注 claimDetailManager.Add(claimDetail); } } } //更新收款信息明细表的收款状态和实际收款金额 for (int i = 0; i < orderColectIDs.Count; i++) { if (orderColectIDs[i] != "") { double hasAmount = claimDetailManager.GetHasAmount(orderColectIDs[i]); //得到该收款信息明细表关联的所有认领过的金额 double shouldAmount = To_OrderCollectDetialManager.getTo_OrderCollectDetialById(int.Parse(orderColectIDs[i])).Money; //得到应收金额 string getstatus = ""; if (hasAmount == 0) { getstatus = "未收款"; } else if (shouldAmount > hasAmount) { getstatus = "部分收款"; } else { getstatus = "完成收款"; } To_OrderCollectDetialManager.updateDetialStatusAndMoney(orderColectIDs[i], getstatus, hasAmount.ToString()); } } } }
/// <summary> /// 收款 /// </summary> /// <param name="id"></param> private decimal LoadCol(int id) { decimal moneyAmount = 0; decimal hasAmount = 0; decimal outmoney = 0; DataTable dt = To_OrderCollectDetialManager.getList(id); if (dt.Rows.Count > 0) { HtmlTableRow row = null; HtmlTableCell cell = null; for (int i = 0; i < dt.Rows.Count; i++) { //string statusAndMoney = GetColStatusAndAmount(dt.Rows[i]["orderid"].ToString(), dt.Rows[i]["cusId"].ToString(), dt.Rows[i]["money"].ToString()); row = new HtmlTableRow(); cell = new HtmlTableCell(); //收款单位名称 cell.Attributes.CssStyle.Add("height", "20px"); cell.InnerHtml = dt.Rows[i]["cusName"].ToString(); row.Controls.Add(cell); cell = new HtmlTableCell(); //业务员 cell.InnerHtml = dt.Rows[i]["salesman"].ToString(); row.Controls.Add(cell); cell = new HtmlTableCell(); //营业部 cell.Attributes.Add("onclick", "getdepart('" + dt.Rows[i]["linkid"].ToString() + "')"); cell.InnerHtml = dt.Rows[i]["departName"].ToString(); row.Controls.Add(cell); cell = new HtmlTableCell(); //联系人 cell.InnerHtml = dt.Rows[i]["linkname"].ToString(); row.Controls.Add(cell); cell = new HtmlTableCell(); //成人数 cell.InnerHtml = dt.Rows[i]["adultNum"].ToString(); row.Controls.Add(cell); cell = new HtmlTableCell(); //儿童数 cell.InnerHtml = dt.Rows[i]["childNum"].ToString(); row.Controls.Add(cell); cell = new HtmlTableCell(); //陪同 cell.InnerHtml = dt.Rows[i]["withNum"].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]["collectStatus"].ToString(); row.Controls.Add(cell); cell = new HtmlTableCell(); //实际收款金额 cell.Attributes.Add("class", "abc"); cell.Attributes.Add("title", "实际收款金额"); cell.InnerHtml = dt.Rows[i]["collectAmount"].ToString(); row.Controls.Add(cell); cell = new HtmlTableCell(); //剩余金额 double symoney = getSurplus(dt.Rows[i]["money"].ToString(), dt.Rows[i]["collectAmount"].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.tablelink.Controls.Add(row); //应收金额合计 outmoney = 0; decimal.TryParse(dt.Rows[i]["money"].ToString(), out outmoney); moneyAmount += outmoney; //实际金额合计 outmoney = 0; decimal.TryParse(dt.Rows[i]["collectAmount"].ToString(), out outmoney); hasAmount += outmoney; } } this.lblCollAmount.InnerText = moneyAmount.ToString("F2"); this.lblColHasAmount.InnerText = hasAmount.ToString("F2"); return(hasAmount); }