public ActionResult EditHouseUser(int id) { IHouseUserBLL houseUserBll = BLLFactory <IHouseUserBLL> .GetBLL("HouseUserBLL"); //获取要编辑的住宅业主 T_HouseUser houseUser = houseUserBll.GetEntity(m => m.Id == id && m.DelFlag == ConstantParam.DEL_FLAG_DEFAULT); if (houseUser != null) { //初始化返回页面模型 HouseUserModel model = new HouseUserModel() { Name = houseUser.Name, Phone = houseUser.Phone, BuildId = houseUser.BuildDoor.BuildUnit.BuildId, BuildList = GetBuildList(), UnitId = houseUser.BuildDoor.UnitId, UnitList = GetUnitList(houseUser.BuildDoor.BuildUnit.BuildId), DoorId = houseUser.DoorId, DoorList = GetDoorList(houseUser.BuildDoor.UnitId), Gender = houseUser.Gender, GenderList = GetGenderList(), Desc = houseUser.Desc, PayDesc = houseUser.PayDesc, ServiceDesc = houseUser.ServiceDesc }; return(View(model)); } else { return(RedirectToAction("HouseUserList")); } }
public JsonResult AddHouseUser(HouseUserModel model) { JsonModel jm = new JsonModel(); //如果表单验证成功 if (ModelState.IsValid) { IHouseUserBLL houseUserBll = BLLFactory <IHouseUserBLL> .GetBLL("HouseUserBLL"); T_HouseUser houseuser = new T_HouseUser() { Name = model.Name, Phone = model.Phone, Gender = model.Gender, DoorId = model.DoorId, Desc = model.Desc, PayDesc = model.PayDesc, ServiceDesc = model.ServiceDesc, PropertyPlaceId = GetSessionModel().PropertyPlaceId.Value, }; //保存 houseUserBll.Save(houseuser); //日志记录 jm.Content = PropertyUtils.ModelToJsonString(model); } else { jm.Msg = ConstantParam.JSON_RESULT_MODEL_CHECK_ERROR; } return(Json(jm, JsonRequestBehavior.AllowGet)); }
public ActionResult HouseUserList(HouseUserSearchModel Model) { int CompanyId = GetSessionModel().CompanyId.Value; //根据业主姓名查询 Expression <Func <T_HouseUser, bool> > where = u => (string.IsNullOrEmpty(Model.Name) ? true : u.Name.Contains(Model.Name)) && u.DelFlag == ConstantParam.DEL_FLAG_DEFAULT && u.PropertyPlace.CompanyId == CompanyId && u.PropertyPlace.PlaceType == ConstantParam.PLACE_TYPE_HOUSE; //根据小区名称查询 if (Model.PropertyPlaceId != null) { where = PredicateBuilder.And(where, u => u.PropertyPlaceId == Model.PropertyPlaceId.Value); } //根据楼座,单元,单元户名称查询 if (!string.IsNullOrEmpty(Model.Kword)) { where = PredicateBuilder.And(where, u => u.BuildDoor.BuildUnit.Build.BuildName.Contains(Model.Kword) || u.BuildDoor.BuildUnit.UnitName.Contains(Model.Kword) || u.BuildDoor.DoorName.Contains(Model.Kword)); } //排序 IHouseUserBLL houseUserBll = BLLFactory <IHouseUserBLL> .GetBLL("HouseUserBLL"); var sortModel = this.SettingSorting("Id", false); Model.DataList = houseUserBll.GetPageList(where, sortModel.SortName, sortModel.IsAsc, Model.PageIndex) as PagedList <T_HouseUser>; //获取所有物业小区列表 Model.PropertyPlaceList = GetPropertyPlaceList(); return(View(Model)); }
public ActionResult HouseUserList(HouseUserSearchModel Model) { IHouseUserBLL houseUserBll = BLLFactory <IHouseUserBLL> .GetBLL("HouseUserBLL"); int propertyPlaceId = GetSessionModel().PropertyPlaceId.Value; Expression <Func <T_HouseUser, bool> > where = u => (string.IsNullOrEmpty(Model.Name) ? true : u.Name.Contains(Model.Name)) && u.DelFlag == ConstantParam.DEL_FLAG_DEFAULT && u.PropertyPlaceId == propertyPlaceId; //排序 var sortModel = this.SettingSorting("Id", false); var list = houseUserBll.GetPageList(where, sortModel.SortName, sortModel.IsAsc, Model.PageIndex); return(View(list)); }
public bool CheckUserExist(int doorId, int id) { IHouseUserBLL houseUserBll = BLLFactory <IHouseUserBLL> .GetBLL("HouseUserBLL"); // 业主住宅单元户已存在 if (houseUserBll.Exist(m => m.DoorId == doorId && m.Id != id && m.DelFlag == ConstantParam.DEL_FLAG_DEFAULT)) { return(true); } else { return(false); } }
public ContentResult RemoteCheckExist(int doorId, int id) { IHouseUserBLL houseUserBll = BLLFactory <IHouseUserBLL> .GetBLL("HouseUserBLL"); // 业主住宅单元户已存在 if (houseUserBll.Exist(m => m.DoorId == doorId && m.Id != id && m.DelFlag == ConstantParam.DEL_FLAG_DEFAULT)) { // 校验不通过 return(Content("false")); } else { return(Content("true")); } }
public ActionResult DetailHouseUser(int id) { IHouseUserBLL houseUserBll = BLLFactory <IHouseUserBLL> .GetBLL("HouseUserBLL"); //获取要查看的住宅业主 T_HouseUser houseUser = houseUserBll.GetEntity(m => m.Id == id && m.DelFlag == ConstantParam.DEL_FLAG_DEFAULT); if (houseUser != null) { return(View(houseUser)); } else { return(RedirectToAction("HouseUserList")); } }
public JsonResult EditHouseUser(HouseUserModel model) { JsonModel jm = new JsonModel(); //如果表单验证成功 if (ModelState.IsValid) { IHouseUserBLL houseUserBll = BLLFactory <IHouseUserBLL> .GetBLL("HouseUserBLL"); T_HouseUser houseUser = houseUserBll.GetEntity(m => m.Id == model.Id && m.DelFlag == ConstantParam.DEL_FLAG_DEFAULT); if (houseUser != null) { houseUser.Name = model.Name; houseUser.Phone = model.Phone; houseUser.PropertyPlaceId = GetSessionModel().PropertyPlaceId.Value; houseUser.BuildDoor.BuildUnit.BuildId = model.BuildId; houseUser.BuildDoor.UnitId = model.UnitId; houseUser.DoorId = model.DoorId; houseUser.Gender = model.Gender; houseUser.Desc = model.Desc; houseUser.PayDesc = model.PayDesc; houseUser.ServiceDesc = model.ServiceDesc; //保存到数据库 if (houseUserBll.Update(houseUser)) { //日志记录 jm.Content = PropertyUtils.ModelToJsonString(model); } else { jm.Msg = "编辑失败"; } } else { jm.Msg = "该住宅业主不存在"; } } else { jm.Msg = ConstantParam.JSON_RESULT_MODEL_CHECK_ERROR; } return(Json(jm, JsonRequestBehavior.AllowGet)); }
public JsonResult DeleteHouseUser(int id) { JsonModel jm = new JsonModel(); //获取要删除的住宅业主 IHouseUserBLL houseUserBll = BLLFactory <IHouseUserBLL> .GetBLL("HouseUserBLL"); T_HouseUser houseUser = houseUserBll.GetEntity(m => m.Id == id && m.DelFlag == ConstantParam.DEL_FLAG_DEFAULT); if (houseUser == null) { jm.Msg = "该住宅业主不存在"; } else { //修改住宅业主的已删除标识 houseUser.DelFlag = ConstantParam.DEL_FLAG_DELETE; //更新数据库 houseUserBll.Update(houseUser); //操作日志 jm.Content = "删除住宅业主" + houseUser.Name; } return(Json(jm, JsonRequestBehavior.AllowGet)); }
public ActionResult Index(int id = 1) { CompanyPlatformIndexModel model = new CompanyPlatformIndexModel(); int CurrentCompanyId = GetSessionModel().CompanyId.Value; //获取当前公司物业小区个数并赋值 IPropertyPlaceBLL placeBll = BLLFactory <IPropertyPlaceBLL> .GetBLL("PropertyPlaceBLL"); model.PlaceCount = placeBll.Count(u => u.DelFlag == ConstantParam.DEL_FLAG_DEFAULT && u.CompanyId == CurrentCompanyId); //获取当前公司下属小区物业人员总个数 IPropertyUserBLL placeUserBll = BLLFactory <IPropertyUserBLL> .GetBLL("PropertyUserBLL"); model.PlaceUserCount = placeUserBll.Count(u => u.PropertyPlace.DelFlag == ConstantParam.DEL_FLAG_DEFAULT && u.PropertyPlace.CompanyId == CurrentCompanyId && u.DelFlag == ConstantParam.DEL_FLAG_DEFAULT); //住宅业主个数 IHouseUserBLL houseUserBll = BLLFactory <IHouseUserBLL> .GetBLL("HouseUserBLL"); model.HouseUserCount = houseUserBll.Count(u => u.PropertyPlace.DelFlag == ConstantParam.DEL_FLAG_DEFAULT && u.PropertyPlace.CompanyId == CurrentCompanyId && u.DelFlag == ConstantParam.DEL_FLAG_DEFAULT); //办公楼业主个数 IBuildCompanyBLL buildCompanyBll = BLLFactory <IBuildCompanyBLL> .GetBLL("BuildCompanyBLL"); model.BuildCompanyCount = buildCompanyBll.Count(u => u.PropertyPlace.DelFlag == ConstantParam.DEL_FLAG_DEFAULT && u.PropertyPlace.CompanyId == CurrentCompanyId && u.DelFlag == ConstantParam.DEL_FLAG_DEFAULT); //获取物业公告个数 IPostBLL postBLL = BLLFactory <IPostBLL> .GetBLL("PostBLL"); int postCount = postBLL.Count(u => u.PropertyPlace.DelFlag == ConstantParam.DEL_FLAG_DEFAULT && u.PropertyPlace.CompanyId == CurrentCompanyId && u.PublishedFlag == ConstantParam.PUBLISHED_TRUE && u.DelFlag == ConstantParam.DEL_FLAG_DEFAULT); model.PlacePostCount = postCount; //获取业主上报问题个数 IQuestionBLL questionBLL = BLLFactory <IQuestionBLL> .GetBLL("QuestionBLL"); int QuestionCount = questionBLL.Count(u => u.PropertyPlace.DelFlag == ConstantParam.DEL_FLAG_DEFAULT && u.PropertyPlace.CompanyId == CurrentCompanyId); //获取业主上报问题已处理个数 int DisposedQuestionCount = questionBLL.Count(u => u.PropertyPlace.DelFlag == ConstantParam.DEL_FLAG_DEFAULT && u.PropertyPlace.CompanyId == CurrentCompanyId && u.Status == ConstantParam.DISPOSED); //设置上报问题处理率 model.QuestionDisposedRate = Convert.ToDouble(DisposedQuestionCount) / QuestionCount; //获取巡检异常个数 IInspectionResultBLL resultBLL = BLLFactory <IInspectionResultBLL> .GetBLL("InspectionResultBLL"); int InspectionExceptionCount = resultBLL.Count(u => u.InspectionTimePlan.InspectionPlan.PropertyPlace.DelFlag == ConstantParam.DEL_FLAG_DEFAULT && u.InspectionTimePlan.InspectionPlan.PropertyPlace.CompanyId == CurrentCompanyId && u.Status == ConstantParam.EXCEPTION && u.DelFlag == ConstantParam.DEL_FLAG_DEFAULT); //获取巡检异常已处理个数 int DisposedInspectionExceptionCount = resultBLL.Count(u => u.InspectionTimePlan.InspectionPlan.PropertyPlace.DelFlag == ConstantParam.DEL_FLAG_DEFAULT && u.InspectionTimePlan.InspectionPlan.PropertyPlace.CompanyId == CurrentCompanyId && u.Status == ConstantParam.EXCEPTION && u.DelFlag == ConstantParam.DEL_FLAG_DEFAULT && u.DisposeStatus == ConstantParam.DISPOSED); //设置巡检异常处理率 model.InspectionExceptionDisposedRate = Convert.ToDouble(DisposedInspectionExceptionCount) / InspectionExceptionCount; var dataList = placeBll.GetList(u => u.DelFlag == ConstantParam.DEL_FLAG_DEFAULT && u.CompanyId == CurrentCompanyId).ToList(); var ExpenseCountList = new List <ExpenseCountModel>(); foreach (var item in dataList) { var m = new ExpenseCountModel(); m.PlaceName = item.Name; //如果是住宅小区 if (item.PlaceType == ConstantParam.PLACE_TYPE_HOUSE) { IBuildDoorBLL doorBll = BLLFactory <IBuildDoorBLL> .GetBLL("BuildDoorBLL"); m.DoorCount = doorBll.Count(d => d.BuildUnit.Build.PropertyPlaceId == item.Id); int ExpensedDoorCount = doorBll.Count(d => d.BuildUnit.Build.PropertyPlaceId == item.Id && d.HouseUserExpenseDetails.Count > 0 && d.HouseUserExpenseDetails.OrderByDescending(e => e.CreateDate).FirstOrDefault().IsPayed == ConstantParam.PAYED_TRUE); m.ExpensedRate = Convert.ToDouble(ExpensedDoorCount) / m.DoorCount; } //如果是办公楼小区 else if (item.PlaceType == ConstantParam.PLACE_TYPE_COMPANY) { m.DoorCount = item.BuildCompanys.Count(c => c.DelFlag == ConstantParam.DEL_FLAG_DEFAULT); int ExpensedDoorCount = item.BuildCompanys.Count(c => c.HouseUserExpenseDetails.Count > 0 && c.DelFlag == ConstantParam.DEL_FLAG_DEFAULT && c.HouseUserExpenseDetails.OrderByDescending(d => d.CreateDate).FirstOrDefault().IsPayed == ConstantParam.PAYED_TRUE); m.ExpensedRate = Convert.ToDouble(ExpensedDoorCount) / m.DoorCount; } ExpenseCountList.Add(m); } model.ExpenseCountList = ExpenseCountList.OrderByDescending(m => m.ExpensedRate).ToPagedList(id, ConstantParam.PAGE_SIZE); return(View(model)); }
public JsonResult ImportHouseUsers(ImportUsersModel Model) { JsonModel jm = new JsonModel(); HttpPostedFileBase file = Model.file; //Model.file //存入的文件名 string FileName; //存入的文件路径 string savePath; string filename = Path.GetFileName(file.FileName); string fileEx = System.IO.Path.GetExtension(filename); //获取上传文件的扩展名 //string NoFileName = System.IO.Path.GetFileNameWithoutExtension(filename);//获取无扩展名的文件名 string FileType = ".xls,.xlsx"; //定义上传文件的类型字符串 if (!FileType.Contains(fileEx)) { jm.Msg = "文件类型只能是xlsx格式的文件"; jm.Code = "error"; return(Json(jm, JsonRequestBehavior.AllowGet)); } FileName = DateTime.Now.ToString("yyyyMMddHHmmss") + fileEx; //存一份及时要导入的数据文件 string path = AppDomain.CurrentDomain.BaseDirectory + "ImportData/ImportHouseUserData/"; if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } savePath = Path.Combine(path, FileName); file.SaveAs(savePath); //住宅业主接口 IHouseUserBLL houseUserBll = BLLFactory <IHouseUserBLL> .GetBLL("HouseUserBLL"); //当前物业小区Id var placePropertyId = GetSessionModel().PropertyPlaceId.Value; //读取存在的要导入的EXCEL数据文件 DataTable dtHouseUser = ImportExcelFile(savePath); //如果文件中没有内容 if (dtHouseUser.Rows.Count == 0) { jm.Msg = "文件内无业主信息"; return(Json(jm, JsonRequestBehavior.AllowGet)); } //有效业主信息列表 var validateHouseUserlist = new List <T_HouseUser>(); //无效业主信息列表 var invalidateHouseUserList = new List <ImportHouseUserModel>(); for (int i = 0; i < dtHouseUser.Rows.Count; i++) { //是否有效标记 bool isValidated = true; var houseUserModel = new ImportHouseUserModel(); //为导入的ImportHouseUserModel赋值,以便用于无效业主列表 if (dtHouseUser.Rows[i][0] != DBNull.Value) { houseUserModel.Name = dtHouseUser.Rows[i][0].ToString().Trim(); } if (dtHouseUser.Rows[i][1] != DBNull.Value) { houseUserModel.Gender = dtHouseUser.Rows[i][1].ToString().Trim(); } if (dtHouseUser.Rows[i][2] != DBNull.Value) { houseUserModel.Phone = dtHouseUser.Rows[i][2].ToString().Trim(); } if (dtHouseUser.Rows[i][3] != DBNull.Value) { houseUserModel.BuildName = dtHouseUser.Rows[i][3].ToString().Trim(); } if (dtHouseUser.Rows[i][4] != DBNull.Value) { houseUserModel.UnitName = dtHouseUser.Rows[i][4].ToString().Trim(); } if (dtHouseUser.Rows[i][5] != DBNull.Value) { houseUserModel.DoorName = dtHouseUser.Rows[i][5].ToString().Trim(); } if (dtHouseUser.Rows[i][6] != DBNull.Value) { houseUserModel.Desc = dtHouseUser.Rows[i][6].ToString().Trim(); } //如果业主姓名没有就是无效 if (string.IsNullOrEmpty(houseUserModel.Name)) { isValidated = false; } //如果电话没有或者填写不正确就是无效 if (string.IsNullOrEmpty(houseUserModel.Phone) || !CheckPhoneValidate(houseUserModel.Phone)) { isValidated = false; } //如果楼座名称没有就是无效 if (string.IsNullOrEmpty(houseUserModel.BuildName)) { isValidated = false; } //如果单元名称没有就是无效 if (string.IsNullOrEmpty(houseUserModel.UnitName)) { isValidated = false; } //如果单元户名字没有就是无效 if (string.IsNullOrEmpty(houseUserModel.DoorName)) { isValidated = false; } //获取楼座ID,如果没有将新建 int buildId = GetBuildId(houseUserModel.BuildName, placePropertyId); //获取单元ID,如果没有将新建 int unitId = GetBuildUnitId(houseUserModel.UnitName, buildId); //获取单元户ID,如果没有将新建 int doorId = GetBuildDoorId(houseUserModel.DoorName, unitId); //楼座,单元,单元户有一个为0,就是无效数据 if (buildId == 0 || unitId == 0 || doorId == 0) { isValidated = false; } //如果单元户已经存在也是无效 if (CheckUserExist(doorId, 0)) { isValidated = false; } if (isValidated) { var houseuser = new T_HouseUser(); //当前物业小区Id houseuser.PropertyPlaceId = placePropertyId; //业主姓名 houseuser.Name = houseUserModel.Name; //业主电话 houseuser.Phone = houseUserModel.Phone; //业主单元户 houseuser.DoorId = doorId; //业主备注 houseuser.Desc = houseUserModel.Desc; //业主性别(男,女) if (houseUserModel.Gender == "男") { houseuser.Gender = 1; } if (houseUserModel.Gender == "女") { houseuser.Gender = 0; } //将有效的业主加入到有效的列表里面 validateHouseUserlist.Add(houseuser); } else { //将无效的业主加入到无效的列表里面 invalidateHouseUserList.Add(houseUserModel); } } bool check = true; //前符合要求的导入数据库 if (validateHouseUserlist.Count > 0) { check = houseUserBll.ImportHouseUsers(validateHouseUserlist); } //如果有业主信息导入成功 if (validateHouseUserlist.Count > 0 && check) { //部分导入失败 if (invalidateHouseUserList.Count > 0) { jm.Msg = string.Format("业主信息导入成功{0}条,失败{1}条", validateHouseUserlist.Count, invalidateHouseUserList.Count); jm.Content = GenerateInvalidateDataExcel(invalidateHouseUserList); } else { jm.Content = string.Format("{0}条业主信息全部导入成功", validateHouseUserlist.Count); } } else { jm.Msg = "业主信息全部导入失败"; } return(Json(jm, JsonRequestBehavior.AllowGet)); }