private PagedList <DeliveryFeeModel> GetSearchData(DeliveryCostDetailsFilterModel filter, int searchType = 1)
        {
            DeliveryReviewParam        para = Mapper.Map <DeliveryCostDetailsFilterModel, DeliveryReviewParam>(filter);
            PagedList <DeliveryFeeExt> result;

            if (searchType == 1)
            {
                var list = GetShippingMethods(para.VenderCode, filter.ShippingType);
                if (list != null && list.Any())
                {
                    if (!para.ShippingMethodIds.Any())
                    {
                        para.ShippingMethodIds = list.Select(p => p.ShippingMethodId).ToArray();
                    }
                    result = _financialService.DeliveryFeeSearch(para);
                }
                else
                {
                    result = new PagedList <DeliveryFeeExt>();
                }
            }
            else
            {
                result = _financialService.ImportExcelWait2Audit(para);
            }
            return(Mapper.Map <PagedList <DeliveryFeeExt>, PagedList <DeliveryFeeModel> >(result));
        }
        public JsonResult GetTotalFinalSum(string VenderCode, string ShippingMethodId, DateTime?StartTime, DateTime?EndTime, int?Status, int?SearchWhere, string SearchContext, int page, int ShippingType, int pageSize = 20)
        {
            TotalSumJsonModel model = new TotalSumJsonModel();

            try
            {
                var filter = GetFilter(VenderCode, ShippingMethodId, StartTime, EndTime, Status, SearchWhere, SearchContext, page, ShippingType, pageSize);

                DeliveryReviewParam para = Mapper.Map <DeliveryCostDetailsFilterModel, DeliveryReviewParam>(filter);
                var list = GetShippingMethods(filter.VenderCode, ShippingType);
                if (list != null && list.Any())
                {
                    para.ShippingMethodIds = list.Select(p => p.ShippingMethodId).ToArray();
                    model.Data             = _financialService.DeliveryFeeGetTotalFinalSum(para);
                    model.Status           = 1;
                }
                else
                {
                    model.Data   = 0;
                    model.Status = 1;
                }
            }
            catch (Exception ex)
            {
                Log.Exception(ex);
                model.Status = 0;
                model.Info   = "服务器忙,请稍后再试!";
            }
            return(Json(model, JsonRequestBehavior.AllowGet));
        }
        public void ExportExcel(string VenderCode, string ShippingMethodId, DateTime?StartTime, DateTime?EndTime, int?Status, int?SearchWhere, string SearchContext, int ShippingType, int page = 1, int pageSize = 20)
        {
            HttpContext.Server.ScriptTimeout = 100 * 60; //10 minutes
            Log.Info("开始导出小包发货费用");
            var filter    = GetFilter(VenderCode, ShippingMethodId, StartTime, EndTime, Status, SearchWhere, SearchContext, page, ShippingType, pageSize);
            var titleList = new List <string>
            {
                "WayBillNumber-运单号",
                "CustomerOrderNumber-客户订单号",
                "CustomerName-客户名称",
                "Trackingnumber-跟踪号",
                "VenderName-服务商",
                "OutStorageCreatedOn-发货时间",
                "CountryCode-发货国家",
                "ShippingmethodName-运输方式",
                "SetWeight-计费重量",
                "Weight-称重重量",
                "AprroveWeight-最终重量",
                "Freight-运费",
                "Register-挂号费",
                "FuelCharge-燃油费",
                "Surcharge-附加费",
                "TariffPrepayFee-关税服务费用",
                "TotalFee-系统总费用",
                "TotalFeeFinal-最终总费用",
                "StatusStr-状态",
                "Auditor-审核人",
                "AuditorDate-审核时间"
            };
            ExportFile result = new ExportFile();

            try
            {
                string fileName = "DeliveryCostDetailsReview-" + filter.VenderCode + "-" + DateTime.Now.ToString("yyyy-dd-MM-hh-mm-ss") + "1";
                filter.IsExportExcel = true;//设置获取全部
                Log.Info("开始转化小包查询参数");
                DeliveryReviewParam para = Mapper.Map <DeliveryCostDetailsFilterModel, DeliveryReviewParam>(filter);
                Log.Info("完成转化小包查询参数");
                var exports = new List <DeliveryFeeExportExcel>();
                Log.Info("开始获取小包的运输方式");
                var list = GetShippingMethods(para.VenderCode, ShippingType);
                Log.Info("完成获取小包的运输方式");
                if (list != null && list.Any())
                {
                    Log.Info("开始查询小包发货费用列表");
                    para.ShippingMethodIds = list.Select(p => p.ShippingMethodId).ToArray();
                    var data = _financialService.ExportExcel(para);
                    foreach (var d in data)
                    {
                        var t = new DeliveryFeeExportExcel
                        {
                            AprroveWeight       = d.AprroveWeight,
                            Auditor             = d.Auditor,
                            AuditorDate         = d.AuditorDate,
                            CountryChineseName  = d.CountryChineseName,
                            CountryCode         = d.CountryCode,
                            CustomerName        = d.CustomerName,
                            CreatedBy           = d.CreatedBy,
                            CreatedOn           = d.CreatedOn,
                            CustomerOrderNumber = d.CustomerOrderNumber,
                            DeliveryFeeID       = d.DeliveryFeeID,
                            Freight             = d.Freight,
                            FuelCharge          = d.FuelCharge,
                            LastUpdatedBy       = d.LastUpdatedBy,
                            LastUpdatedOn       = d.LastUpdatedOn,
                            OutStorageCreatedOn = d.OutStorageCreatedOn,
                            Register            = d.Register,
                            Remark             = d.Remark,
                            SetWeight          = d.SetWeight,
                            ShippingmethodID   = d.ShippingmethodID,
                            ShippingmethodName = d.ShippingmethodName,
                            Status             = d.Status,
                            StatusStr          = ConvertStatusToString(d.Status),
                            Surcharge          = d.Surcharge,
                            TariffPrepayFee    = d.TariffPrepayFee,
                            TotalFee           = d.TotalFee,
                            TotalFeeFinal      = d.TotalFeeFinal,
                            Trackingnumber     = d.Trackingnumber,
                            VenderCode         = d.VenderCode,
                            VenderData         = d.VenderData,
                            VenderId           = d.VenderId,
                            VenderName         = d.VenderName,
                            WayBillNumber      = d.WayBillNumber,
                            Weight             = d.Weight
                        };
                        exports.Add(t);
                    }
                    Log.Info("完成查询小包发货费用列表");
                }
                Log.Info("开始生成小包execl");
                ExportExcelByWeb.ListExcel(fileName, exports, titleList);
                Log.Info("完成生成小包execl");
                result.IsSuccess = true;
                result.FilePaths = new string[] { fileName };
            }
            catch (Exception ex)
            {
                result.ErrorMessage = ex.Message;
            }
        }