Esempio n. 1
0
 /// <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);
         }
     }
 }
Esempio n. 2
0
        /// <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));
                }
            }
        }
Esempio n. 3
0
        /// <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());
            }
        }
Esempio n. 4
0
        /// <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());
                    }
                }
            }
        }
Esempio n. 5
0
        /// <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);
                        }
                    }
                }
            }
        }
Esempio n. 6
0
        /// <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("");
            }
        }
Esempio n. 7
0
        /// <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));
            }
        }
Esempio n. 8
0
        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();
        }
Esempio n. 9
0
        /// <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());
        }
Esempio n. 10
0
        /// <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);
        }