CY_ECommercePlatform/CY.WebForm/Pages/business/OrderList.aspx.cs
@@ -28,6 +28,10 @@
using CY.Infrastructure.Common;
using CY.BLL;
using CY.WebForm.Pages.common;
using System.IO;
using CY.Infrastructure.Query;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
namespace CY.WebForm.Pages.business
{
@@ -60,6 +64,11 @@
        {
            try
            {
                if (Request["isSession"] != null)
                {
                    if (!IsPostBack && !IsCallback)
                        Session["OrderList"] = null;
                }
                if (Request["downId"] != null)
                {
                    int iDownId = Convert.ToInt32(Request["downId"]);
@@ -104,6 +113,9 @@
                {
                    case "AcceptOrder":
                        Accept();
                        break;
                    case "SuodanOrder":
                        Suodan();
                        break;
                    case "AcceptOrderAll":
                        AcceptAll();
@@ -276,6 +288,25 @@
            {
            }
            Response.Write(_eC_OrderBasicBLL.AcceptOrder(orderId.Value, commission.Value) ? "1" : "0");
        }
        /// <summary>
        /// 锁单
        /// </summary>
        private void Suodan()
        {
            Response.Clear();
            int? orderId = string.IsNullOrEmpty(Request["id"]) ? null : MyConvert.ConvertToInt32(Request["id"]);
            if (!orderId.HasValue)
            {
                Response.Write("-2");
                return;
            }
            else
            {
            }
            Response.Write(_eC_OrderBasicBLL.SuodingOrder(orderId.Value, CurrentUser.ShortName) ? "1" : "0");
        }
        /// <summary>
@@ -530,7 +561,75 @@
            SetParamValue(searchParam, 20, CurrentUser.StaffId);
            SetParamValue(searchParam, 21, CurrentUser.TrueName);
            SetParamValue(searchParam, 28, this.txtSearchyjname.Value);
            if (!IsPostBack && !IsCallback)
            {
                if (Session["OrderList"] != null)
                {
                    //先还原表单
                    searchParam = Session["OrderList"] as Dictionary<int, object>;
                    if (searchParam.Keys.Count(x => x == 4)<=0)
                    {
                        this.txtBeginData.Value = "";
                    }
                    if (searchParam.Keys.Count(x => x == 5) <= 0)
                    {
                        this.txtEndDate.Value = "";
                    }
                    foreach (int index in searchParam.Keys)
                    {
                        if (index == 2)
                            this.txtOrderId.Value = searchParam[index].ToString();
                        if (index == 3)
                            this.txtCustormerName.Value = searchParam[index].ToString();
                        if (index == 4)
                            this.txtBeginData.Value = searchParam[index].ToString();
                        if (index == 5)
                            this.txtEndDate.Value = searchParam[index].ToString();
                        if (index == 6)
                            this.selPrintTypes.Value = searchParam[index].ToString();
                        if (index == 7)
                            this.selOrderTypes.Value = searchParam[index].ToString();
                        if (index == 8)
                            this.selOrderStates.Value = searchParam[index].ToString();
                        if (index == 9)
                            this.selPayStates.Value = searchParam[index].ToString();
                        if (index == 10)
                            this.txtCreaterName.Value = searchParam[index].ToString();
                        if (index == 11)
                            this.selCustormerLevels.Value = searchParam[index].ToString();
                        if (index == 12)
                            this.selCustormerManager.Value = searchParam[index].ToString();
                        if (index == 13)
                            this.selBusinessManager.Value = searchParam[index].ToString();
                        if (index == 14)
                            this.selPayType.SelectedValue = searchParam[index].ToString();
                        if (index == 15)
                            this.selReturnvisit.SelectedValue = searchParam[index].ToString();
                        if (index == 16)
                            this.selAppraise.SelectedValue = searchParam[index].ToString();
                        if (index == 28)
                            this.txtSearchyjname.Value = searchParam[index].ToString();
                    }
                    SetParamValue(searchParam, 1, CurrentUser.MemberId);
                    SetParamValue(searchParam, 18, (CurrentUser.StaffId > 0 ? 1 : 0));
                    SetParamValue(searchParam, 19, CurrentUser.TrueMemberId);
                    SetParamValue(searchParam, 20, CurrentUser.StaffId);
                    SetParamValue(searchParam, 21, CurrentUser.TrueName);
                    SetParamValue(searchParam, 28, this.txtSearchyjname.Value);
                }
            }
            else
            {
                Session["OrderList"] = searchParam;
            }
            SearchParam = searchParam;
            UCPager1.AspNetPager.CurrentPageIndex = 1;//重置页数
            //再次查询
            AspNetPager_PageChanged(UCPager1.AspNetPager, new EventArgs());
@@ -575,6 +674,20 @@
                PageIndex = UCPager1.AspNetPager.CurrentPageIndex
            };
            IEnumerable<EC_OrderBasic> result = _eC_OrderBasicBLL.SelectModelPage_Seller(pagination, SearchParam);
            foreach (var eC_OrderBasic in result)
            {
                if(eC_OrderBasic.DeliveryTime.HasValue && eC_OrderBasic.DeliveryTime.Value < DateTime.Now.Date)
                {
                    eC_OrderBasic.Shifoubiaohongwangong = "<p style=\"color:red;\">完工</p>";
                    eC_OrderBasic.Shifoubiaohongsonghuo = "<p style=\"color:red;\">送货</p>";
                }
                else
                {
                    eC_OrderBasic.Shifoubiaohongwangong = "完工";
                    eC_OrderBasic.Shifoubiaohongsonghuo = "送货";
                }
            }
            rptData.DataSource = result;
            rptData.DataBind();
@@ -685,6 +798,126 @@
            return isCan;
        }
        //查询事件
        protected void btn_Daochu_Click(object src, EventArgs e)
        {
            byte[] fileBytes = ExportToExcel();
            if (fileBytes != null)
            {
                Response.Clear();
                Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
                Response.AppendHeader("Content-Disposition", "attachment; filename=订单导出.xlsx");
                Response.BinaryWrite(fileBytes);
                Response.End();
            }
            else
            {
                // 处理导出失败的情况
                Response.Write("导出失败,请稍后重试!");
            }
        }
        public byte[] ExportToExcel()
        {
            byte[] bt = null;
            try
            {
                Pagination pa = new Pagination();
                pa.PageSize = 500;
                pa.PageIndex = 1;
                Dictionary<int, object> searchParam = new Dictionary<int, object>();
                SetParamValue(searchParam, 1, CurrentUser.MemberId);
                SetParamValue(searchParam, 2, this.txtOrderId.Value.Trim());
                SetParamValue(searchParam, 3, this.txtCustormerName.Value.Trim());
                SetParamValue(searchParam, 4, this.txtBeginData.Value.Trim());
                SetParamValue(searchParam, 5, this.txtEndDate.Value.Trim());
                SetParamValue(searchParam, 6, this.selPrintTypes.Value);
                SetParamValue(searchParam, 7, this.selOrderTypes.Value);
                SetParamValue(searchParam, 8, this.selOrderStates.Value);
                SetParamValue(searchParam, 9, this.selPayStates.Value);
                SetParamValue(searchParam, 10, this.txtCreaterName.Value.Trim());
                SetParamValue(searchParam, 11, this.selCustormerLevels.Value);
                SetParamValue(searchParam, 12, this.selCustormerManager.Value);
                SetParamValue(searchParam, 13, this.selBusinessManager.Value);
                SetParamValue(searchParam, 14, this.selPayType.SelectedValue);
                SetParamValue(searchParam, 15, this.selReturnvisit.SelectedValue);
                SetParamValue(searchParam, 16, this.selAppraise.SelectedValue);
                SetParamValue(searchParam, 18, (CurrentUser.StaffId > 0 ? 0 : 0));
                SetParamValue(searchParam, 19, CurrentUser.TrueMemberId);
                SetParamValue(searchParam, 20, CurrentUser.StaffId);
                SetParamValue(searchParam, 21, CurrentUser.TrueName);
                SetParamValue(searchParam, 28, this.txtSearchyjname.Value);
                var oA_WorkPlans = _eC_OrderBasicBLL.SelectModelPage_Seller(pa, searchParam);
                // 创建工作簿
                IWorkbook workbook = new XSSFWorkbook();
                ISheet sheet = workbook.CreateSheet("导出数据");
                // 创建表头
                IRow headerRow = sheet.CreateRow(0);
                headerRow.CreateCell(0).SetCellValue("编号");
                headerRow.CreateCell(1).SetCellValue("订单号");
                headerRow.CreateCell(2).SetCellValue("客户名称");
                headerRow.CreateCell(3).SetCellValue("订单来源");
                headerRow.CreateCell(4).SetCellValue("订单类别");
                headerRow.CreateCell(5).SetCellValue("合同序号");
                headerRow.CreateCell(6).SetCellValue("印件名称");
                headerRow.CreateCell(7).SetCellValue("数量");
                headerRow.CreateCell(8).SetCellValue("单位");
                headerRow.CreateCell(9).SetCellValue("订单状态");
                headerRow.CreateCell(10).SetCellValue("收款状态");
                headerRow.CreateCell(11).SetCellValue("付款方式");
                headerRow.CreateCell(12).SetCellValue("金额");
                headerRow.CreateCell(13).SetCellValue("已收款");
                headerRow.CreateCell(14).SetCellValue("未付款");
                // 添加数据
                int rowIndex = 1;
                foreach (var order in oA_WorkPlans)
                {
                    IRow row = sheet.CreateRow(rowIndex++);
                    row.CreateCell(0).SetCellValue((rowIndex - 1).ToString());
                    row.CreateCell(1).SetCellValue(order.SellerOrderId);
                    row.CreateCell(2).SetCellValue(order.BuyerName);
                    row.CreateCell(3).SetCellValue(order.OrderType.Name);
                    row.CreateCell(4).SetCellValue(order.PrintType.PrintName);
                    row.CreateCell(5).SetCellValue(order.Duiyinghetongbianhao);
                    row.CreateCell(6).SetCellValue(order.DocumentName);
                    row.CreateCell(7).SetCellValue(order.OrderExtend.PrintNum.HasValue? order.OrderExtend.PrintNum.Value:0);
                    row.CreateCell(8).SetCellValue(order.yssldw);
                    row.CreateCell(9).SetCellValue(order.OrderStateObj.Name);
                    row.CreateCell(10).SetCellValue(order.PayStateObj.Name);
                    row.CreateCell(11).SetCellValue(order.PayType);
                    row.CreateCell(12).SetCellValue(order.SumPrice.HasValue? order.SumPrice.Value.ToDouble2().Value:0);
                    row.CreateCell(13).SetCellValue(order.TradingSingle.PayedMoney.HasValue ? order.TradingSingle.PayedMoney.Value.ToDouble2().Value : 0);
                    row.CreateCell(14).SetCellValue(order.UnPayedMoney.ToDouble2().Value);
                }
                // 将工作簿写入内存流
                using (var ms = new MemoryStream())
                {
                    workbook.Write(ms);
                    bt = ms.ToArray();
                }
            }
            catch (Exception e)
            {
                bt = null;
                // 记录日志
            }
            return bt;
        }
        /// <summary>
        /// 是否已经操作
        /// </summary>