// 值班认领 上传现场服务照片 public int SubmitImg(MyDutySignImgAddModel AddViewModel) { int c = 0; MydutyClaim_Sign model = new MydutyClaim_Sign(); model.id = Guid.NewGuid().ToString(); model.Userid = AddViewModel.uid; model.UserName = AddViewModel.name; model.type = "img"; model.CheckTime = DateTime.Now; model.CreateUser = AddViewModel.uid; model.CreateDate = DateTime.Now; model.MydutyClaim_InfoID = AddViewModel.MydutyClaim_InfoID; model.OndutyClaims_InfoId = AddViewModel.OndutyClaims_InfoId; _mydutyClaim_Sign.Add(model); int count = _mydutyClaim_Sign.SaveChanges(); var AttachmentInfo = _IMapper.Map <List <VAttachmentAddViewModel>, List <VAttachment> >(AddViewModel.VAttachmentAddList); foreach (var item in AttachmentInfo) { item.ID = Guid.NewGuid().ToString(); item.formid = model.id; item.type = "ZBTP";//值班信息图片 item.Status = "0"; item.CreateUser = AddViewModel.uid; item.CreateDate = DateTime.Now; _vAttachmentRepository.Add(item); c = _vAttachmentRepository.SaveChanges() + c; } return(c); }
public void RemoveNew(MydutyClaim_Sign obj) { DbSet.Remove(obj); }
public virtual void Update(MydutyClaim_Sign obj) { DbSet.Update(obj); }
public virtual void Add(MydutyClaim_Sign obj) { DbSet.Add(obj); }
//获取该认领信息具体情况 包括签到、签退 现场图片等 public MydutyClaim_InfoResModel GetMydutyDetail(SearchByIDAnduidModel viewModel) { MydutyClaim_InfoResModel MyResModel = new MydutyClaim_InfoResModel(); //获取基本信息 var model1 = _IMydutyClaimInfoRepository.GetInfoById(viewModel.MydutyClaim_InfoID); MyResModel.MiddleModel = _IMapper.Map <MydutyClaim_Info, MydutyClaimInfoMiddleModel>(model1); var dutyInfo = _ondutyClaimsInfoRepository.GetByID(model1.OndutyClaims_InfoId); if (dutyInfo != null) { //获取 社区、小区 MyResModel.MiddleModel.Subdistrict = dutyInfo.Subdistrict; var normalInfo = _normalizationInfo.NormalizationByID(dutyInfo.Normalization_InfoId); if (normalInfo != null) { MyResModel.MiddleModel.Community = normalInfo.CommunityName; } } //获取 签到签退图片等信息 List <MydutyClaim_Sign> handlelist = _mydutyClaim_Sign.GetByParas(viewModel); MydutyClaim_SignInfo signInfo = new MydutyClaim_SignInfo(); foreach (var item in handlelist) { //签到 if (item.type == "in") { signInfo.SignUpTime = item.CheckTime.ToString(); } //上传现场图片 if (item.type == "img") { var list = _vAttachmentRepository.GetMyList(item.id); var newlist = _IMapper.Map <List <VAttachment>, List <VAttachmentAddViewModel> >(list); signInfo.VAttachmentList = newlist; } //签退 if (item.type == "out") { signInfo.SignOutTime = item.CheckTime.ToString(); } } //状态 MydutyClaim_Sign handle = _mydutyClaim_Sign.GetByParasOne(viewModel); if (handle != null) { //签到 if (handle.type == "in") { MyResModel.MiddleModel.status = "img"; } //上传现场图片 if (handle.type == "img") { MyResModel.MiddleModel.status = "out"; } //签退 if (handle.type == "out") { MyResModel.MiddleModel.status = "done"; } } else { MyResModel.MiddleModel.status = "in"; } MyResModel.claim_SignInfo = signInfo; if (MyResModel.MiddleModel != null && MyResModel.claim_SignInfo != null) { MyResModel.isSuccess = true; MyResModel.baseViewModel.Message = "查询成功"; MyResModel.baseViewModel.ResponseCode = 200; MyResModel.TotalNum = 1; } else { MyResModel.isSuccess = false; MyResModel.baseViewModel.Message = "查询失败"; MyResModel.baseViewModel.ResponseCode = 400; MyResModel.TotalNum = 0; } return(MyResModel); }
//值班认领 签到、签退 public int HandleAdd(VA_HandleAddViewModel AddViewModel) { int count = 0; MydutyClaim_Sign model = new MydutyClaim_Sign(); //是否注册 var VolunteerInfo = _IVolunteerInfoRepository.SearchInfoByID(AddViewModel.VID); if (VolunteerInfo == null) { count = 6; return(count); } double points = 0; ////认领得 值班信息 MydutyClaim_Info claim_Info = _IMydutyClaimInfoRepository.GetByUidandID(AddViewModel.VID, AddViewModel.ContentID); if (claim_Info != null) { //判断是否在值班区间内进行打卡 20200622 值班时间前后15 分钟均可签到签退 DateTime start = DateTime.Parse(claim_Info.StartDutyTime.ToString()); DateTime end = DateTime.Parse(claim_Info.EndDutyTime.ToString()); if ((DateTime.Now >= start.AddMinutes(-15) && DateTime.Now <= start.AddMinutes(15) && AddViewModel.type == "in") || (DateTime.Now >= end && DateTime.Now <= end.AddMinutes(15) && AddViewModel.type == "out")) { OndutyClaims_Info ondutyClaims = _claimsInfoRepository.GetByID(claim_Info.OndutyClaims_InfoId); if (ondutyClaims != null) { Normalization_Info Normalization = _normalizationInfo.NormalizationByID(ondutyClaims.Normalization_InfoId); if (Normalization != null) { points = double.Parse(Normalization.PointsEarned); } model.OndutyClaims_InfoId = ondutyClaims.id; model.MydutyClaim_InfoID = AddViewModel.ContentID; //获取小区经纬度信息 List <User_Depart> departAll = _IVolunteerInfoRepository.GetDepartAll(); var departList = _IMapper.Map <List <User_Depart>, List <UserDepartSearchMidModel> >(departAll); List <UserDepartSearchMidModel> result = new List <UserDepartSearchMidModel>(); result.AddRange(departList.Where(p => p.Code == ondutyClaims.SubdistrictID).ToList()); UserDepartSearchMidModel depart = new UserDepartSearchMidModel(); if (result.Count > 0) { depart = result.First(); } //获取 经纬度 if (!String.IsNullOrEmpty(AddViewModel.Checklongitude) && !String.IsNullOrEmpty(AddViewModel.Checklatitude)) { //进行地址判断 活动地址方圆1000米可以签到 if (!String.IsNullOrEmpty(depart.longitude) && !String.IsNullOrEmpty(depart.latitude)) { var checks = CheckAddress(double.Parse(depart.longitude), double.Parse(depart.latitude), double.Parse(AddViewModel.Checklongitude), double.Parse(AddViewModel.Checklatitude), 1); if (!checks) { count = 9; return(count); } } else { count = 8; return(count); } } else { count = 7; return(count); } } } else { count = 5; return(count); } } else { count = 4; return(count); } DEncrypt encrypt = new DEncrypt(); //保存签到签退信息 model.id = Guid.NewGuid().ToString(); model.Userid = AddViewModel.VID; model.UserName = encrypt.Decrypt(VolunteerInfo.Name); model.CheckTime = DateTime.Now; model.type = AddViewModel.type; model.CreateUser = VolunteerInfo.ID; model.CreateDate = DateTime.Now; model.CheckAddress = AddViewModel.CheckAddress; model.Checklongitude = AddViewModel.Checklongitude; model.Checklatitude = AddViewModel.Checklatitude; _mydutyClaim_Sign.Add(model); count = _mydutyClaim_Sign.SaveChanges(); if (count == 1) { string id = Guid.NewGuid().ToString(); //签退 时按时长积分继续计算 if (AddViewModel.type == "out") { Volunteer_Score score = new Volunteer_Score(); score.ID = id; score.ContentID = AddViewModel.ContentID; score.tableName = "MydutyClaim_Info"; score.VID = AddViewModel.VID; score.type = "out"; score.Score = points; score.CreateUser = AddViewModel.VID; score.CreateDate = DateTime.Now; _IVolunteer_ScoreRepository.Add(score); int b = _IVolunteer_ScoreRepository.SaveChanges(); if (b > 0) { //插入到 泰便利积分表 20200622 ET_points ipointMiddle = new ET_points(); ipointMiddle.ID = id; ipointMiddle.uid = AddViewModel.VID; ipointMiddle.points = score.Score; ipointMiddle.type = "MydutySign"; ipointMiddle.tableName = "TedaVolunteerDB.dbo.Volunteer_Score"; ipointMiddle.CreateUser = AddViewModel.VID; ipointMiddle.CreateDate = DateTime.Now; eT_PointsRepository.Add(ipointMiddle); int j = eT_PointsRepository.SaveChanges(); } } } return(count); }
//获取当前用户 今天以后的报名活动情况 日期列表 public List <string> GetMyAllDate(SearchByVIDModel vidModel) { List <string> list = new List <string>(); //获取我的报名活动情况 List <string> Infos = _IVA_SignRepository.GetMyList(vidModel.VID); List <VolunteerActivitySearchMiddle> Searches = new List <VolunteerActivitySearchMiddle>(); List <VolunteerActivity> middle = _IVolunteerActivityRepository.GetByIDList(Infos); Searches = _IMapper.Map <List <VolunteerActivity>, List <VolunteerActivitySearchMiddle> >(middle); //获取当前用户 今天以后的报名活动情况 日期列表 //如果签退时间在活动结束之后 则需要按照 签退时间 判断 Searches = Searches.Where(o => (o.SignOutEtime == null && o.Etime >= DateTime.Now) || (o.SignOutEtime != null && o.SignOutEtime >= DateTime.Now)).OrderBy(o => o.Stime).ToList(); foreach (var item in Searches) { //查看是否已经完结事件 bak3 显示 该用户针对活动的状态 var handle = _Va_HandleRepository.GetNewSign(vidModel.VID, item.ID); if (handle != null && handle.ID != null) { if (handle.type == "in") { item.bak3 = "上传现场图片"; } if (handle.type == "img") { item.bak3 = "待签退"; } if (handle.type == "out") { item.bak3 = "已完结"; } } else { item.bak3 = "待签到"; } if (item.bak3 != "已完结") { string date = DateTime.Parse(item.Stime.ToString()).ToString("yyyy-MM-dd"); if (!list.Contains(date)) { list.Add(date); } } } //获取我的 常态化管控认领 情况 20200617 List <MydutyClaim_Info> myduties = _mydutyClaimInfo.GetByUid(vidModel.VID); myduties = myduties.Where(o => DateTime.Parse(o.EndDutyTime.ToString()).AddMinutes(15) >= DateTime.Now && o.status == "1").OrderBy(o => o.StartDutyTime).ToList(); foreach (var item in myduties) { MydutyClaimInfoMiddleModel mydutyClaimInfo = new MydutyClaimInfoMiddleModel(); SearchByIDAnduidModel searchByID = new SearchByIDAnduidModel(); searchByID.MydutyClaim_InfoID = item.id; searchByID.uid = item.Userid; MydutyClaim_Sign ii = _mydutyClaim_Sign.GetByParasOne(searchByID); if (ii != null && ii.id != null) { if (ii.type == "in") { item.status = "上传现场图片"; } if (ii.type == "img") { item.status = "待签退"; } if (ii.type == "out") { item.status = "已完结"; } } else { item.status = "待签到"; } //已经完结的 事项不再显示,只显示待办信息 20200622 if (item.status != "已完结") { string date = DateTime.Parse(item.StartDutyTime.ToString()).ToString("yyyy-MM-dd"); if (!list.Contains(date)) { list.Add(date); } } } return(list); }
///获取当前用户 根据时间显示具体常态化管控认领 列表 20200617 public List <MydutyClaimInfoMiddleModel> GetMyDutyAllByDate(VolunteerActivitySearchByDateModel vidModel) { List <MydutyClaimInfoMiddleModel> models = new List <MydutyClaimInfoMiddleModel>(); //获取我的 常态化管控认领 情况 20200617 List <MydutyClaim_Info> myduties = _mydutyClaimInfo.GetByUid(vidModel.VID); if (!String.IsNullOrEmpty(vidModel.Date)) { myduties = myduties.Where(o => DateTime.Parse(o.StartDutyTime.ToString()).ToString("yyyy-MM-dd") == vidModel.Date && DateTime.Parse(o.EndDutyTime.ToString()).AddMinutes(15) >= DateTime.Now && o.status == "1").OrderBy(o => o.StartDutyTime).ToList(); } SearchByIDAnduidModel searchByID = new SearchByIDAnduidModel(); searchByID.uid = vidModel.VID; foreach (var item in myduties) { MydutyClaimInfoMiddleModel mydutyClaimInfo = new MydutyClaimInfoMiddleModel(); searchByID.MydutyClaim_InfoID = item.id; MydutyClaim_Sign ii = _mydutyClaim_Sign.GetByParasOne(searchByID); if (ii != null && ii.id != null) { if (ii.type == "in") { item.status = "上传现场图片"; } if (ii.type == "img") { item.status = "待签退"; } if (ii.type == "out") { item.status = "已完结"; //已经完结的 事项不再显示,只显示待办信息 20200621 //myduties.Remove(item); } } else { item.status = "待签到"; } mydutyClaimInfo = _IMapper.Map <MydutyClaim_Info, MydutyClaimInfoMiddleModel>(item); var dutyInfo = _ondutyClaimsInfoRepository.GetByID(item.OndutyClaims_InfoId); if (dutyInfo != null) { //获取 社区、小区 mydutyClaimInfo.Subdistrict = dutyInfo.Subdistrict; var normalInfo = _normalizationInfo.NormalizationByID(dutyInfo.Normalization_InfoId); if (normalInfo != null) { mydutyClaimInfo.Community = normalInfo.CommunityName; } } models.Add(mydutyClaimInfo); } models.RemoveAll(o => o.status.Equals("已完结")); return(models); }