public static void Save_ChargeMeter_Project_Point(ChargeMeter_Project data, SqlHelper helper)
        {
            var data_detail = ChargeMeter_ProjectDetail.GetChargeMeter_ProjectDetailByID(data.ID, helper);
            var point       = new ChargeMeter_Project_Point();

            point.MeterFullName         = data_detail.FinalName;
            point.ChargeMeter_ProjectID = data.ID;
            point.ProjectID             = data.ProjectID;
            point.MeterID          = data.MeterID;
            point.MeterName        = data.MeterName;
            point.MeterNumber      = data.MeterNumber;
            point.MeterCategoryID  = data.MeterCategoryID;
            point.MeterType        = data.MeterType;
            point.MeterSpec        = data.MeterSpec;
            point.MeterCoefficient = data.MeterCoefficient;
            point.MeterRemark      = data.MeterRemark;
            point.MeterChargeID    = data.MeterChargeID;
            point.MeterHouseNo     = data.MeterHouseNo;
            point.MeterLocation    = data.MeterLocation;
            point.SortOrder        = data.SortOrder;
            point.MeterStartPoint  = data.MeterStartPoint;
            point.MeterEndPoint    = data.MeterEndPoint;
            point.MeterTotalPoint  = data.MeterTotalPoint;
            point.AddTime          = data.AddTime;
            point.AddUserName      = data.AddUserName;
            point.WriteStatus      = data.WriteStatus;
            point.FeeStatus        = data.FeeStatus;
            point.WriteDate        = data.WriteDate;
            point.WriteUserName    = data.WriteUserName;
            point.IsAPPWriteEnable = data.IsAPPWriteEnable;
            point.UpdateTime       = DateTime.Now;
            point.UpdateUserName   = User.GetCurrentUserName();
            point.Save(helper);
        }
Exemplo n.º 2
0
        public static Ui.DataGrid GetChargeMeter_ProjectDetailGridByKeywords(string Keywords, List <int> RoomIDList, List <int> ProjectIDList, int MeterCategoryID, int MeterType, int MeterChargeID, string orderBy, long startRowIndex, int pageSize, int UserID = 0, bool canexport = false, bool IsWritePoint = false)
        {
            long totalRows = 0;
            List <SqlParameter> parameters = new List <SqlParameter>();
            List <string>       conditions = new List <string>();

            conditions.Add("1=1");
            if (ProjectIDList.Count > 0)
            {
                List <string> cmdlist = ViewRoomFeeHistory.GetProjectIDListConditions(ProjectIDList, IncludeRelation: false, RoomIDName: "[ProjectID]", UserID: UserID);
                conditions.Add("(" + string.Join(" or ", cmdlist.ToArray()) + ")");
            }
            if (RoomIDList.Count > 0)
            {
                List <string> cmdlist = ViewRoomFeeHistory.GetRoomIDListConditions(RoomIDList, IncludeRelation: false, RoomIDName: "[ProjectID]");
                conditions.Add("(" + string.Join(" or ", cmdlist.ToArray()) + ")");
            }
            if (!string.IsNullOrEmpty(Keywords))
            {
                conditions.Add("([MeterName] like @Keywords or [MeterNumber] like @Keywords)");
                parameters.Add(new SqlParameter("@Keywords", "%" + Keywords + "%"));
            }
            if (MeterCategoryID > 0)
            {
                conditions.Add("[MeterCategoryID]=@MeterCategoryID");
                parameters.Add(new SqlParameter("@MeterCategoryID", MeterCategoryID));
            }
            if (MeterType > 0)
            {
                conditions.Add("[MeterType]=@MeterType");
                parameters.Add(new SqlParameter("@MeterType", MeterType));
            }
            if (MeterChargeID > 0)
            {
                conditions.Add("[MeterChargeID]=@MeterChargeID");
                parameters.Add(new SqlParameter("@MeterChargeID", MeterChargeID));
            }
            string cmdcolumns = string.Empty;

            ChargeMeter_ProjectDetail[] list = new ChargeMeter_ProjectDetail[] { };
            if (canexport)
            {
                string cmdtext = "select * from (" + CommSqlText + ") as A where  " + string.Join(" and ", conditions.ToArray()) + " order by " + orderBy;
                list = GetList <ChargeMeter_ProjectDetail>(cmdtext, parameters).ToArray();
            }
            else
            {
                string fieldList = @"A.*";
                string Statement = " from (" + CommSqlText + ") as A where  " + string.Join(" and ", conditions.ToArray());
                list = GetList <ChargeMeter_ProjectDetail>(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;
            return(dg);
        }
        public static bool Save_ChargeMeter_ProjectFee(int[] MeterProjectIDList, DateTime WriteDate, decimal Coefficient, decimal SummaryUnitPrice, DateTime StartTime, DateTime EndTime, string AddUserName, out string errormsg, List <int> ChargeIDList)
        {
            errormsg = string.Empty;
            var meter_project_list = ChargeMeter_ProjectDetail.GetChargeMeter_ProjectDetailListByIDList(MeterProjectIDList);

            if (meter_project_list.FirstOrDefault(p => p.RoomOwnerCount <= 0) != null && new Utility.SiteConfig().CheckOwnerInStatus)
            {
                errormsg = "选中的房间尚未有业主入住";
                return(false);
            }
            if (meter_project_list.Length == 0)
            {
                errormsg = "请选择一条数据,操作取消";
                return(false);
            }
            using (SqlHelper helper = new SqlHelper())
            {
                try
                {
                    helper.BeginTransaction();
                    List <int> RoomFeeIDList = new List <int>();
                    foreach (var ChargeID in ChargeIDList)
                    {
                        foreach (var item in meter_project_list)
                        {
                            string cmdtext = "update [ChargeMeter_Project] set [WriteStatus]=1,[FeeStatus]=1 where ID=" + item.ID + ";";
                            helper.Execute(cmdtext, CommandType.Text, new List <SqlParameter>());
                            var data = new ChargeMeter_ProjectFee();
                            data.MeterProjectID   = item.ID;
                            data.MeterID          = item.MeterID;
                            data.ProjectID        = item.ProjectID;
                            data.MeterName        = item.MeterName;
                            data.MeterNumber      = item.MeterNumber;
                            data.MeterCategoryID  = item.MeterCategoryID;
                            data.MeterType        = item.MeterType;
                            data.MeterSpec        = item.MeterSpec;
                            data.MeterCoefficient = Coefficient;
                            data.MeterRemark      = item.MeterRemark;
                            data.MeterChargeID    = ChargeID;
                            data.MeterHouseNo     = item.MeterHouseNo;
                            data.MeterLocation    = item.MeterLocation;
                            data.SortOrder        = item.SortOrder;
                            data.MeterStartPoint  = item.FinalFeeStartPoint;
                            data.MeterEndPoint    = item.FinalFeeEndPoint;
                            data.MeterTotalPoint  = item.FinalFeeTotalPoint;
                            data.AddTime          = DateTime.Now;
                            data.AddUserName      = AddUserName;
                            data.MeterStartTime   = StartTime;
                            data.MeterEndTime     = EndTime;
                            data.MeterWriteDate   = WriteDate;
                            data.WriteDate        = item.WriteDate;
                            data.WriteUserName    = item.WriteUserName;
                            var room_fee = RoomFee.SetInfo_RoomFee(data.ProjectID, data.MeterStartTime, data.MeterEndTime, 0, 0, SummaryUnitPrice, ChargeID, IsMeterFee: true, RoomFeeCoefficient: data.MeterCoefficient, RoomFeeWriteDate: WriteDate, UseCount: data.MeterTotalPoint, RoomFeeStartPoint: data.MeterStartPoint, RoomFeeEndPoint: data.MeterEndPoint, cansave: true, helper: helper);
                            data.RoomFeeID = room_fee.ID;
                            data.Save(helper);
                            room_fee.ChargeMeterProjectFeeID = data.ID;
                            room_fee.Save(helper);
                            RoomFeeIDList.Add(room_fee.ID);
                        }
                    }
                    ChargeFeePriceRange.CreateChargeFeePriceRangeByImportFeeIDList(helper, RoomFeeIDList: RoomFeeIDList);
                    helper.Commit();
                }
                catch (Exception ex)
                {
                    Utility.LogHelper.WriteError("ChargeMeter_ProjectFee.cs", "Save_ChargeMeter_ProjectFee", ex);
                    helper.Rollback();
                    errormsg = ex.Message;
                    return(false);
                }
            }
            return(true);
        }