/// <summary>
        /// 获取车型推荐排序
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public JsonResult GetVehicleProductPriority(VehicleProductPriorityRequest request)
        {
            if (request == null || string.IsNullOrWhiteSpace(request.PartName))
            {
                return(Json(new { Status = false, Msg = "参数验证失败" }));
            }
            request.PageIndex = request.PageIndex > 0 ? request.PageIndex : 1;
            request.PageSize  = request.PageSize > 0 ? request.PageSize : 100;
            var manager = new BaoYangRecommendManager();
            var result  = manager.GetVehicleProductPriorityView(request);

            return(Json(new { Status = true, Data = result.Item2, Total = result.Item1 }, JsonRequestBehavior.AllowGet));
        }
        public static List <ProductPriorityAreaDetail> GetProductPriorityAreaDetail(SqlConnection conn, VehicleProductPriorityRequest request)
        {
            const string sql = @"
                                    SELECT  ppad.PKID ,
                                            ppad.PartName ,
                                            ppad.AreaId ,
                                            ppad.VehicleId ,
                                            ppad.Brand ,
                                            ppad.Series ,
                                            ppad.Seq ,
                                            ppad.IsEnabled
                                    FROM    BaoYang..ProductPriority_Area_Detail AS ppad WITH (NOLOCK)
                                    WHERE   EXISTS (
                                        SELECT  1
                                        FROM    dbo.ProductPriority_Area_Detail AS odd WITH (NOLOCK)
                                        WHERE   odd.PartName = @PartName
                                                AND odd.AreaId = @areaid
                                                AND odd.VehicleId =  ppad.VehicleId
                                                AND odd.Seq >= @Seq
                                                AND (
                                                    @ProductBrand = N''
                                                    OR  @ProductBrand IS NULL
                                                    OR  (
                                                        odd.Brand = @ProductBrand
                                                        AND (
                                                            @Seq = 0
                                                            OR  odd.Seq = @Seq
                                                        )
                                                    )
                                                )
                                                AND (
                                                    @ProductSeries = N''
                                                    OR  @ProductSeries IS NULL
                                                    OR  (
                                                        odd.Series = @ProductSeries
                                                        AND (
                                                            @Seq = 0
                                                            OR  odd.Seq = @Seq
                                                        )
                                                    )
                                                )
                                    )
                                            AND ppad.AreaId = @areaid
                                        AND (
                                            @VehicleId = N''
                                            OR  @VehicleId IS NULL
                                            OR  ppad.VehicleId = @VehicleId
                                        )
                                            AND ppad.PartName = @PartName
                                            AND ppad.IsDeleted = 0;";

            SqlParameter[] parameter = new SqlParameter[] {
                new SqlParameter("@partName", request.PartName),
                new SqlParameter("@areaid", request.AreaId),
                new SqlParameter("@ProductBrand", request.ProductBrand),
                new SqlParameter("@ProductSeries", request.ProductSeries),
                new SqlParameter("@Seq", request.Seq),
                new SqlParameter("@VehicleId", request.VehicleId)
            };
            return(SqlHelper.ExecuteDataTable(conn, CommandType.Text, sql, parameter).ConvertTo <ProductPriorityAreaDetail>().ToList());
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 获取车型保养推荐排序
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="request"></param>
        /// <param name="total"></param>
        /// <returns></returns>
        public static List <VehicleProductPriorityView> GetVehicleProductPriorityView(SqlConnection conn, VehicleProductPriorityRequest request)
        {
            #region sql

            string sql = @"SELECT  v.ProductID AS VehicleId ,
                                    v.Brand ,
                                    v.Vehicle
                            FROM    Gungnir..tbl_Vehicle_Type AS v WITH (NOLOCK)
                            WHERE   (
                                @Brand = N''
                                OR  @Brand IS NULL
                                OR  v.Brand = @Brand
                            )
                                    AND (
                                        @VehicleId = N''
                                        OR  @VehicleId IS NULL
                                        OR  v.ProductID = @VehicleId
                                    )
                                    AND (
                                        @MaxPrice = 0
                                        OR  v.AvgPrice <= @MaxPrice
                                    )
                                    AND (
                                        @MinPrice = 0
                                        OR  v.AvgPrice > @MinPrice
                                    )
                                    AND (
                                        @VehicleBodyType = N''
                                        OR  @VehicleBodyType IS NULL
                                        OR  v.VehicleBodyType = @VehicleBodyType
                                    );";

            #endregion
            SqlParameter[] parameter = new SqlParameter[] {
                new SqlParameter("@Brand", request.Brand),
                new SqlParameter("@MaxPrice", request.MaxPrice),
                new SqlParameter("@MinPrice", request.MinPrice),
                new SqlParameter("@VehicleBodyType", request.VehicleBodyType),
                new SqlParameter("@VehicleId", request.VehicleId)
            };
            return(SqlHelper.ExecuteDataTable(conn, CommandType.Text, sql, parameter).ConvertTo <VehicleProductPriorityView>().ToList());
        }