Esempio n. 1
0
        public static ViewImportFeeDetail2[] GetViewImportFeeDetail2ListByID(List <int> IDList, string orderby = "")
        {
            ReSetParams();
            List <SqlParameter> parameters = new List <SqlParameter>();
            List <string>       conditions = new List <string>();

            conditions.Add("1=1");
            string cmdwhere = string.Empty;

            if (IDList.Count > 0)
            {
                conditions.Add("[ID] in (" + string.Join(",", IDList.ToArray()) + ")");
            }
            ViewImportFeeDetail2[] list = new ViewImportFeeDetail2[] { };
            string cmdorderby           = string.Empty;

            if (!string.IsNullOrEmpty(orderby))
            {
                if (orderby.ToLower().StartsWith("order by"))
                {
                    cmdorderby = orderby;
                }
                else
                {
                    cmdorderby = "order by " + orderby;
                }
            }
            string cmdText = "select A.* from " + CommSQLTable + " where " + string.Join(" and ", conditions.ToArray()) + cmdorderby;

            list = GetList <ViewImportFeeDetail2>(cmdText, parameters).ToArray();
            return(list);
        }
Esempio n. 2
0
        public static ViewImportFeeDetail2[] GetViewImportFeeDetail2ListByBiaoID(List <int> RoomIDList, List <int> ProjectIDList, int ChargeID = 0, DateTime?WriteDate = null, int BiaoID = 0, string BiaoCategory = "", string BiaoName = "", string BiaoGuiGe = "", int UserID = 0)
        {
            ReSetParams();
            List <SqlParameter> parameters = new List <SqlParameter>();
            List <string>       conditions = new List <string>();

            conditions.Add("1=1");
            if (RoomIDList.Count > 0)
            {
                List <string> cmdlist = ViewRoomFeeHistory.GetRoomIDListConditions(RoomIDList, IncludeRelation: false);
                conditions.Add("(" + string.Join(" or ", cmdlist.ToArray()) + ")");
            }
            if (ProjectIDList.Count > 0)
            {
                List <string> cmdlist = ViewRoomFeeHistory.GetProjectIDListConditions(ProjectIDList, IncludeRelation: false, UserID: UserID);
                conditions.Add("(" + string.Join(" or ", cmdlist.ToArray()) + ")");
            }
            ViewImportFeeDetail2[] list = new ViewImportFeeDetail2[] { };
            if (ChargeID > 0)
            {
                parameters.Add(new SqlParameter("@ChargeID", ChargeID));
                conditions.Add("[ChargeID]=@ChargeID");
            }
            if (BiaoID > 0)
            {
                parameters.Add(new SqlParameter("@BiaoID", BiaoID));
                conditions.Add("[ChargeBiaoID]=@BiaoID");
            }
            if (!string.IsNullOrEmpty(BiaoCategory))
            {
                parameters.Add(new SqlParameter("@BiaoCategory", BiaoCategory));
                conditions.Add("[ImportBiaoCategory]=@BiaoCategory");
            }
            if (!string.IsNullOrEmpty(BiaoName))
            {
                parameters.Add(new SqlParameter("@BiaoName", BiaoName));
                conditions.Add("[ImportBiaoName]=@BiaoName");
            }
            if (!string.IsNullOrEmpty(BiaoGuiGe))
            {
                parameters.Add(new SqlParameter("@BiaoGuiGe", BiaoGuiGe));
                conditions.Add("[ImportBiaoGuiGe]=@BiaoGuiGe");
            }
            //if (WriteDate.HasValue)
            //{
            //    parameters.Add(new SqlParameter("@WriteDate", WriteDate));
            //    conditions.Add("[WriteDate]=(select top 1 WriteDate from [ViewImportFee] where WriteDate<@WriteDate and " + string.Join(" and ", conditions.ToArray()) + " order by WriteDate desc)");
            //}
            list = GetList <ViewImportFeeDetail2>("select * from [ViewImportFee] where  " + string.Join(" and ", conditions.ToArray()), parameters).ToArray();
            if (list.Length > 0 && WriteDate.HasValue)
            {
                var first_fee = list.Where(p => p.WriteDate < WriteDate).OrderByDescending(p => p.WriteDate).FirstOrDefault();
                if (first_fee != null)
                {
                    list = list.Where(p => p.WriteDate == first_fee.WriteDate).ToArray();
                }
            }
            return(list);
        }
Esempio n. 3
0
        private static ChargePriceRange[] GetPriceRangeList(ViewImportFeeDetail2 self)
        {
            var list = new List <ChargePriceRange>();

            if (PriceRangeList == null || PriceRangeList.Length == 0)
            {
                PriceRangeList = ChargePriceRange.GetChargePriceRangeList();
            }
            if (PriceFeeRangeList == null)
            {
                PriceFeeRangeList = ChargeFeePriceRange.GetAllActiveChargeFeePriceRangeList();
            }
            if (self.RoomFeeID > 0)
            {
                if (PriceFeeRangeList != null && PriceFeeRangeList.Length > 0)
                {
                    var my_pricefee_list = PriceFeeRangeList.Where(p => p.RoomFeeID == self.RoomFeeID && p.SummaryID == self.ChargeID).ToArray();
                    foreach (var item in my_pricefee_list)
                    {
                        var data = new ChargePriceRange();
                        data.SummaryID = item.SummaryID;
                        data.MinValue  = item.MinValue;
                        data.MaxValue  = item.MaxValue;
                        data.BasePrice = item.BasePrice;
                        data.BaseType  = item.BaseType;
                        data.IsActive  = item.IsActive;
                        list.Add(data);
                    }
                }
                return(list.OrderBy(p =>
                {
                    decimal minvalue = 0;
                    decimal.TryParse(p.MinValue, out minvalue);
                    return minvalue;
                }).ToArray());
            }
            else
            {
                if (PriceRangeList != null && PriceRangeList.Length > 0)
                {
                    list = PriceRangeList.Where(p => p.SummaryID == self.ChargeID).OrderBy(p =>
                    {
                        decimal minvalue = 0;
                        decimal.TryParse(p.MinValue, out minvalue);
                        return(minvalue);
                    }).ToList();
                }
                return(list.ToArray());
            }
        }
Esempio n. 4
0
        private static decimal GetJieTiUnitPrice(ViewImportFeeDetail2 self)
        {
            decimal JieTieUnitPrice      = 0;
            var     ChargePriceRangeList = GetPriceRangeList(self);

            foreach (var item in ChargePriceRangeList)
            {
                if (item.SummaryID == self.ChargeID)
                {
                    decimal NianTotal = 0;
                    if (item.BaseType.Equals(Utility.EnumModel.PriceRangeType.qnyl.ToString()))
                    {
                        NianTotal = (self.TotalUseCount > 0 ? self.TotalUseCount : 0);
                    }
                    if ((NianTotal + self.RealTotalPoint) >= Convert.ToDecimal(item.MinValue) && (NianTotal + self.RealTotalPoint) < Convert.ToDecimal(item.MaxValue))
                    {
                        JieTieUnitPrice = item.BasePrice;
                        break;
                    }
                }
            }
            return(JieTieUnitPrice);
        }
Esempio n. 5
0
        public static Ui.DataGrid GetViewImportFeeGridByRoomID(string Keywords, List <int> FeeTypeList, List <int> RoomIDList, List <int> ProjectIDList, int ChargeID, int ChargeStatus, DateTime StartWriteDate, DateTime EndWriteDate, bool IsReading, bool AllowImport, string BiaoCategory, string orderBy, long startRowIndex, int pageSize, bool ShowFooter = false, bool canexport = false)
        {
            ReSetParams();
            long totalRows = 0;
            List <SqlParameter> parameters = new List <SqlParameter>();
            List <string>       conditions = new List <string>();

            conditions.Add("([RoomID] in (select [RoomID] from [RoomBasic] where isnull([IsLocked],0)=0) or not exists (select * from [RoomBasic] where isnull([IsLocked],0)=0 and [RoomID]=A.[RoomID]))");
            #region 关键字查询
            string cmd = string.Empty;

            if (!string.IsNullOrEmpty(Keywords))
            {
                string[] keywords = Keywords.Trim().Split(' ');
                for (int i = 0; i < keywords.Length; i++)
                {
                    if (string.IsNullOrEmpty(keywords[i].ToString()))
                    {
                        continue;
                    }
                    if (i + 1 == keywords.Length)
                    {
                        if (keywords.Length == 1)
                        {
                            cmd += "  and  ([FullName] like '%" + keywords[i] + "%' or [Name] like '%" + keywords[i] + "%')";
                        }
                        else
                        {
                            cmd += "  ([FullName] like '%" + keywords[i] + "%' or [Name] like '%" + keywords[i] + "%'))";
                        }
                    }
                    else if (i == 0)
                    {
                        cmd += " and (([FullName] like '%" + keywords[i] + "%' or [Name] like '%" + keywords[i] + "%') or";
                    }
                    else
                    {
                        cmd += "  ([FullName] like '%" + keywords[i] + "%' or [Name] like '%" + keywords[i] + "%') or ";
                    }
                }
            }
            #endregion
            if (!string.IsNullOrEmpty(BiaoCategory))
            {
                conditions.Add("([ImportBiaoCategory] like '%" + BiaoCategory + "%' or [BiaoCategory] like '%" + BiaoCategory + "%')");
            }
            if (StartWriteDate > DateTime.MinValue)
            {
                conditions.Add("[WriteDate]>=@StartWriteDate");
                parameters.Add(new SqlParameter("@StartWriteDate", StartWriteDate));
            }
            if (EndWriteDate > DateTime.MinValue)
            {
                conditions.Add("[WriteDate]<=@EndWriteDate");
                parameters.Add(new SqlParameter("@EndWriteDate", EndWriteDate));
            }
            if (IsReading)
            {
                conditions.Add("[ChargeID] in (select [ID] from [ChargeSummary] where [IsReading]=1)");
            }
            if (AllowImport)
            {
                conditions.Add("[ChargeID] in (select [ID] from [ChargeSummary] where [IsAllowImport]=1 and ([IsReading]=0 or [IsReading] is null))");
            }
            if (ProjectIDList.Count > 0)
            {
                List <string> cmdlist = new List <string>();
                foreach (var ProjectID in ProjectIDList)
                {
                    cmdlist.Add("[AllParentID] like '%," + ProjectID + ",%'");
                }
                conditions.Add("(" + string.Join(" or ", cmdlist.ToArray()) + ")");
            }
            if (RoomIDList.Count > 0)
            {
                List <string> cmdlist = ViewRoomFeeHistory.GetRoomIDListConditions(RoomIDList, IncludeRelation: false);
                conditions.Add("(" + string.Join(" or ", cmdlist.ToArray()) + ")");
            }
            if (FeeTypeList.Count > 0)
            {
                conditions.Add("[ChargeID] in (select [ID] from [ChargeSummary] where [FeeType] in (" + string.Join(",", FeeTypeList.ToArray()) + "))");
            }
            if (ChargeID > 0)
            {
                conditions.Add("[ChargeID]=@ChargeID");
                parameters.Add(new SqlParameter("@ChargeID", ChargeID));
            }
            if (ChargeStatus == 0)
            {
                conditions.Add("[RoomFeeID]>0");
            }
            else if (ChargeStatus == 1)
            {
                conditions.Add("[HistoryID]>0");
            }
            else if (ChargeStatus == 2)
            {
                conditions.Add("(isnull([RoomFeeID],0)<=0 and isnull([HistoryID],0)<=0)");
            }
            string fieldList            = "A.*";
            string Statement            = " from " + CommSQLTable + " where " + string.Join(" and ", conditions.ToArray()) + cmd;
            ViewImportFeeDetail2[] list = new ViewImportFeeDetail2[] { };
            if (canexport)
            {
                list      = GetList <ViewImportFeeDetail2>("select " + fieldList + Statement + " " + orderBy, parameters).ToArray();
                totalRows = list.Length;
            }
            else
            {
                list = GetList <ViewImportFeeDetail2>(fieldList, Statement, parameters, orderBy, startRowIndex, pageSize, out totalRows).ToArray();
            }
            DataAccess.Ui.DataGrid dg = new Ui.DataGrid();
            dg.rows  = list;
            dg.total = totalRows;
            dg.page  = pageSize;
            if (ShowFooter)
            {
                Dictionary <string, object> dic = new Dictionary <string, object>();
                dic["FullName"]        = "合计";
                dic["RealTotalPoint"]  = list.Sum(p => p.RealTotalPoint);
                dic["FinalTotalPrice"] = list.Sum(p => p.FinalTotalPrice);
                dg.footer = new Dictionary <string, object>[] { dic };
            }
            return(dg);
        }