559 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			559 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			C#
		
	
	
	
| using BLL;
 | ||
| using System;
 | ||
| using System.Collections.Generic;
 | ||
| using System.Configuration;
 | ||
| using System.Linq;
 | ||
| 
 | ||
| namespace FineUIPro.Web.ZHGL.RealName
 | ||
| {
 | ||
|     public partial class SynchroSet : PageBase
 | ||
|     {
 | ||
|         /// <summary>
 | ||
|         /// 用户编辑页面
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void Page_Load(object sender, EventArgs e)
 | ||
|         {
 | ||
|             if (!IsPostBack)
 | ||
|             {
 | ||
|                 ///权限
 | ||
|                 this.GetButtonPower();
 | ||
|                 ProjectService.InitAllProjectShortNameDropDownList(this.drpProject, this.CurrUser.UserId, false);
 | ||
|                 if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
 | ||
|                 {
 | ||
|                     this.drpProject.SelectedValue = this.CurrUser.LoginProjectId;
 | ||
|                     this.drpProject.Readonly = true;
 | ||
|                 }
 | ||
|                 if (this.CurrUser.UserId == Const.hfnbdId)
 | ||
|                 {
 | ||
|                     this.btnDataProcess.Hidden = false;
 | ||
|                 }
 | ||
|                 this.SetPage();           
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 保存按钮
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void btnSave_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             Model.RealName_SynchroSet newSynchroSet = new Model.RealName_SynchroSet
 | ||
|             {
 | ||
|                 UnitId = Const.UnitId_CWCEC,
 | ||
|                 ApiUrl = Funs.RealNameApiUrl,
 | ||
|                 ClientId = this.txtclientId.Text.Trim(),
 | ||
|                 UserName = this.txtUserName.Text.Trim(),
 | ||
|                 Password =  this.txtword.Text.Trim(),
 | ||
|                 Intervaltime=Funs.GetNewInt(this.txtintervaltime.Text.Trim()),
 | ||
|             };
 | ||
|             newSynchroSet.ProCode = ProjectService.GetJTProjectCodeByProjectId(this.drpProject.SelectedValue);
 | ||
|             BLL.SynchroSetService.SaveSynchroSet(newSynchroSet);
 | ||
|             ShowNotify("保存成功!", MessageBoxIcon.Success);
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 连接测试
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void btnConnect_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             Model.RealName_SynchroSet newSynchroSet = new Model.RealName_SynchroSet
 | ||
|             {
 | ||
|                 UnitId = Const.UnitId_CWCEC,
 | ||
|                 ApiUrl = Funs.RealNameApiUrl,
 | ||
|                 ClientId = this.txtclientId.Text.Trim(),
 | ||
|                 UserName = this.txtUserName.Text.Trim(),
 | ||
|                 Password = this.txtword.Text.Trim(),
 | ||
|                 Intervaltime = Funs.GetNewInt(this.txtintervaltime.Text.Trim()),
 | ||
|             };
 | ||
|             newSynchroSet.ProCode = ProjectService.GetJTProjectCodeByProjectId(this.drpProject.SelectedValue);
 | ||
|             if (!string.IsNullOrEmpty(SynchroSetService.SaveToken(newSynchroSet)))
 | ||
|             {
 | ||
|                 ShowNotify("连接成功!", MessageBoxIcon.Success);
 | ||
|             }
 | ||
|             else
 | ||
|             {
 | ||
|                 Alert.ShowInParent("连接失败", MessageBoxIcon.Warning);
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         #region 获取按钮权限
 | ||
|         /// <summary>
 | ||
|         /// 获取按钮权限
 | ||
|         /// </summary>
 | ||
|         /// <param name="button"></param>
 | ||
|         /// <returns></returns>
 | ||
|         private void GetButtonPower()
 | ||
|         {
 | ||
|             string menuId = !string.IsNullOrEmpty(this.CurrUser.LoginProjectId) ? Const.ProjectRealNameSynchroSetMenuId : Const.ServerRealNameSynchroSetMenuId;
 | ||
|             var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, menuId);
 | ||
|             if (buttonList.Count() > 0)
 | ||
|             {
 | ||
|                 if (buttonList.Contains(BLL.Const.BtnSave))
 | ||
|                 {
 | ||
|                     this.btnSave.Hidden = false;
 | ||
|                     this.btnConnect.Hidden = false;
 | ||
|                     this.btnCompany.Hidden = false;
 | ||
| 
 | ||
|                     this.btnCompany.Hidden = false;
 | ||
|                     this.btnProCollCompany.Hidden = false;
 | ||
|                     this.btnCollTeam.Hidden = false;
 | ||
|                     this.btnPersons.Hidden = false;
 | ||
|                     this.btnAttendance.Hidden = false;
 | ||
|                 }
 | ||
|             }
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region 推送参建企业
 | ||
|         /// <summary>
 | ||
|         /// 推送参建企业
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void btnCompany_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             ShowNotify(BLL.SynchroSetService.PushCollCompany(), MessageBoxIcon.Information);
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region 推送项目参建单位
 | ||
|         /// <summary>
 | ||
|         /// 推送项目参建单位
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void btnProCollCompany_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             string message = string.Empty;
 | ||
|             string proCode =BLL.ProjectService.GetJTProjectCodeByProjectId(this.drpProject.SelectedValue);
 | ||
|             var getRProjects = Funs.DB.RealName_Project.FirstOrDefault(x => x.ProCode == proCode);
 | ||
|             if (getRProjects != null)
 | ||
|             {
 | ||
|                 message += ("项目" + getRProjects.ProCode + SynchroSetService.PushProCollCompany(getRProjects.ProCode));
 | ||
|                 ShowNotify(message, MessageBoxIcon.Information);
 | ||
|             }
 | ||
|             else
 | ||
|             {
 | ||
|                 ShowNotify("当前项目还没有与实名制对接!", MessageBoxIcon.Information);
 | ||
|             }
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region 推送施工队
 | ||
|         /// <summary>
 | ||
|         /// 推送施工队
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void btnCollTeam_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             string message = string.Empty;
 | ||
|             string proCode = BLL.ProjectService.GetJTProjectCodeByProjectId(this.drpProject.SelectedValue);
 | ||
|             var getRProjects = Funs.DB.RealName_Project.FirstOrDefault(x => x.ProCode == proCode);
 | ||
|             if (getRProjects != null)
 | ||
|             {
 | ||
|                 message += ("项目" + getRProjects.ProCode + SynchroSetService.PushCollTeam(getRProjects.ProCode));
 | ||
|                 ShowNotify(message, MessageBoxIcon.Information);
 | ||
|             }
 | ||
|             else
 | ||
|             {
 | ||
|                 ShowNotify("当前项目还没有与实名制对接!", MessageBoxIcon.Information);
 | ||
|             }
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 推送人员信息
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void btnPersons_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             //string add ="新增"+ BLL.SynchroSetService.PushPersons(Const.BtnAdd,null) ?? "";
 | ||
|             //string update ="更新"+ BLL.SynchroSetService.PushPersons(Const.BtnModify,null) ?? "";
 | ||
|             //ShowNotify(add+"|"+ update, MessageBoxIcon.Information);
 | ||
|             string message = string.Empty;
 | ||
|             string proCode = BLL.ProjectService.GetJTProjectCodeByProjectId(this.drpProject.SelectedValue);
 | ||
|             var getRProjects = Funs.DB.RealName_Project.FirstOrDefault(x => x.ProCode == proCode);
 | ||
|             if (getRProjects != null)
 | ||
|             {
 | ||
|                 message += ("项目" + getRProjects.ProCode + "新增" + BLL.SynchroSetService.PushPersons(Const.BtnAdd, getRProjects.ProCode, null) ?? "");
 | ||
|                 message += ("|更新" + BLL.SynchroSetService.PushPersons(Const.BtnModify, getRProjects.ProCode, null) ?? "");          
 | ||
|                 ShowNotify(message, MessageBoxIcon.Information);
 | ||
|             }
 | ||
|             else
 | ||
|             {
 | ||
|                 ShowNotify("当前项目还没有与实名制对接!", MessageBoxIcon.Information);
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 推送考勤
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void btnAttendance_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             string message = string.Empty;
 | ||
|             string proCode = BLL.ProjectService.GetJTProjectCodeByProjectId(this.drpProject.SelectedValue);
 | ||
|             var getRProjects = Funs.DB.RealName_Project.FirstOrDefault(x => x.ProCode == proCode);
 | ||
|             if (getRProjects != null)
 | ||
|             {
 | ||
|                 message +=("项目"+ getRProjects.ProCode+ SynchroSetService.PushAttendance(getRProjects.ProCode));                   
 | ||
|                 ShowNotify(message, MessageBoxIcon.Information);
 | ||
|             }
 | ||
|             else
 | ||
|             {
 | ||
|                 ShowNotify("当前项目还没有与实名制对接!", MessageBoxIcon.Information);
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         ///  切换项目
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void drpProject_SelectedIndexChanged(object sender, EventArgs e)
 | ||
|         {
 | ||
|             this.SetPage();
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 
 | ||
|         /// </summary>
 | ||
|         protected void SetPage()
 | ||
|         {
 | ||
|             this.txtclientId.Text = string.Empty;
 | ||
|             this.txtUserName.Text = string.Empty;
 | ||
|             this.txtword.Text = string.Empty;
 | ||
|             this.txtapiUrl.Text = Funs.RealNameApiUrl;
 | ||
|             this.txtintervaltime.Text = ConfigurationManager.AppSettings["Intervaltime"];
 | ||
| 
 | ||
|             var getpro = Funs.DB.Base_Project.FirstOrDefault(x=>x.ProjectId == this.drpProject.SelectedValue);
 | ||
|             if (getpro !=null && !string.IsNullOrEmpty(getpro.JTProjectCode))
 | ||
|             {
 | ||
|                 var getSynchroSet = SynchroSetService.GetSynchroSetByUnitId(Const.UnitId_CWCEC, getpro.JTProjectCode);
 | ||
|                 if (getSynchroSet != null)
 | ||
|                 {
 | ||
|                     this.txtapiUrl.Text = Funs.RealNameApiUrl;
 | ||
|                     this.txtclientId.Text = getSynchroSet.ClientId;
 | ||
|                     this.txtUserName.Text = getSynchroSet.UserName;
 | ||
|                     this.txtword.Text = getSynchroSet.Password;
 | ||
|                     this.txtintervaltime.Text = getSynchroSet.Intervaltime.ToString();
 | ||
|                 }
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         #region 按身份证推送或删除考勤
 | ||
|         /// <summary>
 | ||
|         /// 按身份证推送
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void btnPushData_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             string message = string.Empty;
 | ||
|             string idText = this.txtIdentityCard.Text.Trim();
 | ||
|             if (!string.IsNullOrEmpty(idText))
 | ||
|             {
 | ||
|                 string proCode = ProjectService.GetJTProjectCodeByProjectId(this.drpProject.SelectedValue);
 | ||
|                 var getRProjects = Funs.DB.RealName_Project.FirstOrDefault(x => x.ProCode == proCode);
 | ||
|                 if (getRProjects != null && !string.IsNullOrEmpty(getRProjects.JTproCode))
 | ||
|                 {
 | ||
|                     var getList = returnCardList();
 | ||
|                     if (getList != null && getList.Count > 0)
 | ||
|                     {
 | ||
|                         foreach (var item in getList)
 | ||
|                         {
 | ||
|                             message += ("项目" + getRProjects.ProCode + "新增" + BLL.SynchroSetService.PushPersonsByIdentityCard(Const.BtnAdd, getRProjects.ProCode, item, true) ?? "");
 | ||
|                             message += ("|更新" + BLL.SynchroSetService.PushPersonsByIdentityCard(Const.BtnModify, getRProjects.ProCode, item, true) ?? "");
 | ||
|                         }
 | ||
|                         ShowNotify(message, MessageBoxIcon.Information);
 | ||
|                     }
 | ||
|                 }
 | ||
|                 else
 | ||
|                 {
 | ||
|                     ShowNotify("当前项目还没有与实名制对接!", MessageBoxIcon.Information);
 | ||
|                 }
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         protected void btnDelete_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             var getList = returnCardList();
 | ||
|             if (getList != null && getList.Count > 0)
 | ||
|             {
 | ||
|                 foreach (var item in getList)
 | ||
|                 {
 | ||
|                     var realPersonInOutNow = Funs.DB.RealName_PersonInOutNow.Where(x => x.IdcardNumber == item);
 | ||
|                     if (realPersonInOutNow.Count() > 0)
 | ||
|                     {
 | ||
|                         Funs.DB.RealName_PersonInOutNow.DeleteAllOnSubmit(realPersonInOutNow);
 | ||
|                         Funs.DB.SubmitChanges();
 | ||
|                     }
 | ||
|                 }
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         private List<string> returnCardList()
 | ||
|         {
 | ||
|             List<string> getList = new List<string>();
 | ||
|             string idText = this.txtIdentityCard.Text.Trim();
 | ||
|             if (!string.IsNullOrEmpty(idText))
 | ||
|             {
 | ||
|                 idText = idText.Replace(",", ",").Replace("(条)", "").Replace(";", ";").Replace("(", "(").Replace(")", ")");
 | ||
|                 if (idText.Contains("("))
 | ||
|                 {
 | ||
|                     var getData = Funs.GetStrListByStr(idText, ';');
 | ||
|                     foreach (var itemD in getData)
 | ||
|                     {
 | ||
|                         if (!string.IsNullOrEmpty(itemD))
 | ||
|                         {
 | ||
|                             var a = itemD.Split('(');
 | ||
|                             if (a.Count() > 1)
 | ||
|                             {
 | ||
|                                 var b = a[1].Split(')');
 | ||
|                                 if (b.Count() > 1)
 | ||
|                                 {
 | ||
|                                     getList.Add(b[0]);
 | ||
|                                 }
 | ||
|                             }
 | ||
|                         }
 | ||
|                     }
 | ||
|                 }
 | ||
|                 else
 | ||
|                 {
 | ||
|                     getList = Funs.GetStrListByStr(idText, ',');
 | ||
|                 }
 | ||
|             }
 | ||
|             return getList;
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region 考勤记录 去重
 | ||
|         /// <summary>
 | ||
|         ///  考勤记录 去重
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void btnDataProcess_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             int delCount = 0;
 | ||
|             try
 | ||
|             {
 | ||
|                 var result = (from x in Funs.DB.RealName_PersonInOutNow
 | ||
|                               select new
 | ||
|                               {
 | ||
|                                   x.ProjectId,
 | ||
|                                   date = x.ChangeTime.Value.Date,
 | ||
|                                   x.IdcardNumber,
 | ||
|                                   x.IsIn
 | ||
|                               }).Distinct();               
 | ||
|                 foreach (var item in result)
 | ||
|                 {
 | ||
|                     var getDateRecords = from x in Funs.DB.RealName_PersonInOutNow
 | ||
|                                          where x.ProjectId == item.ProjectId && x.ChangeTime.Value >= item.date.Date && x.ChangeTime.Value < item.date.Date.AddDays(1)
 | ||
|                                          && x.IdcardNumber == item.IdcardNumber
 | ||
|                                          select x;
 | ||
| 
 | ||
|                     var getInRecords = getDateRecords.Where(x => x.IsIn == true);
 | ||
|                     if (getInRecords.Count() > 1)
 | ||
|                     {
 | ||
|                         DateTime? minChangeTime = getInRecords.Min(x => x.ChangeTime);
 | ||
|                         var getDeleteInR = from x in getInRecords
 | ||
|                                            where x.ChangeTime != minChangeTime
 | ||
|                                            select x;
 | ||
|                         if (getDeleteInR.Count() > 0)
 | ||
|                         {
 | ||
|                             delCount += getDeleteInR.Count();
 | ||
|                             Funs.DB.RealName_PersonInOutNow.DeleteAllOnSubmit(getDeleteInR);
 | ||
|                             Funs.DB.SubmitChanges();
 | ||
|                         }
 | ||
|                     }
 | ||
|                     var getOutRecords = getDateRecords.Where(x => x.IsIn == false);
 | ||
|                     if (getOutRecords.Count() > 1)
 | ||
|                     {
 | ||
|                         DateTime? maxChangeTime = getOutRecords.Max(x => x.ChangeTime);
 | ||
|                         var getDeleteOutR = from x in getOutRecords
 | ||
|                                             where x.ChangeTime != maxChangeTime
 | ||
|                                             select x;
 | ||
|                         if (getDeleteOutR.Count() > 0)
 | ||
|                         {
 | ||
|                             delCount += getDeleteOutR.Count();
 | ||
|                             Funs.DB.RealName_PersonInOutNow.DeleteAllOnSubmit(getDeleteOutR);
 | ||
|                             Funs.DB.SubmitChanges();
 | ||
|                         }
 | ||
|                     }
 | ||
| 
 | ||
|                     if (delCount >= 1000)
 | ||
|                     {
 | ||
|                         Alert.ShowInTop("已清理" + delCount.ToString(), MessageBoxIcon.Success);
 | ||
|                         return;
 | ||
|                     }
 | ||
|                 }
 | ||
|                 Alert.ShowInTop("已清理" + delCount.ToString(), MessageBoxIcon.Success);
 | ||
|             }
 | ||
|             catch (Exception ex)
 | ||
|             {
 | ||
|                 Alert.ShowInTop("已清理" + delCount.ToString(), MessageBoxIcon.Success);
 | ||
|                 return;
 | ||
|             }
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region 人员批量单条推送
 | ||
|         /// <summary>
 | ||
|         ///  新增
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void btnAllPushData_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             string message = string.Empty;
 | ||
|             int count = 0;
 | ||
|             string projectId = this.drpProject.SelectedValue;
 | ||
|             string proCode = ProjectService.GetJTProjectCodeByProjectId(projectId);
 | ||
|             var getRProjects = Funs.DB.RealName_Project.FirstOrDefault(x => x.ProCode == proCode);
 | ||
|             if (getRProjects != null && !string.IsNullOrEmpty(getRProjects.JTproCode))
 | ||
|             {
 | ||
|                 var getIdentityCards = (from x in Funs.DB.SitePerson_Person
 | ||
|                                         join v in Funs.DB.ProjectData_TeamGroup on x.TeamGroupId equals v.TeamGroupId
 | ||
|                                         join pu in Funs.DB.Project_ProjectUnit on new { x.UnitId, x.ProjectId } equals new { pu.UnitId, pu.ProjectId }
 | ||
|                                         where x.ProjectId == projectId && x.IsCardNoOK == true && pu.IsSynchro == true
 | ||
|                                               && v.TeamId.HasValue && !x.RealNameAddTime.HasValue
 | ||
|                                               && x.HeadImage != null && x.HeadImage.Length > 0
 | ||
|                                         select x.IdentityCard).Take(500);
 | ||
|                 foreach (var item in getIdentityCards)
 | ||
|                 {
 | ||
|                     string mes = BLL.SynchroSetService.PushPersonsByIdentityCard(Const.BtnAdd, getRProjects.ProCode, item, true) ?? "";
 | ||
|                     if (mes.Contains("不合法"))
 | ||
|                     {
 | ||
|                         message += ("身份证号码" + item + "新增失败" + mes);
 | ||
|                     }
 | ||
|                     else
 | ||
|                     {
 | ||
|                         count++;
 | ||
|                     }
 | ||
|                 }
 | ||
|             }
 | ||
| 
 | ||
|             string meshow = "新增成功!";
 | ||
|             if (message.Contains("失败"))
 | ||
|             {
 | ||
|                 meshow = "存在新增失败数据!";
 | ||
|             }
 | ||
|             SynchroSetService.InsertRealNamePushLog(projectId, proCode, "批量单条推送(新增)", "完成", null, meshow, null, null);
 | ||
|             if (string.IsNullOrEmpty(message))
 | ||
|             {
 | ||
|                 ShowNotify("同步完成!" + count.ToString() + "条", MessageBoxIcon.Success);
 | ||
|             }
 | ||
|             else
 | ||
|             {
 | ||
|                 Alert.ShowInParent("同步完成!" + count.ToString() + "条;" + message, MessageBoxIcon.Warning);
 | ||
|             }
 | ||
|         }
 | ||
|         /// <summary>
 | ||
|         /// 更新
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void btnUpdate_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             string message = string.Empty;
 | ||
|             int count = 0;
 | ||
|             string projectId = this.drpProject.SelectedValue;
 | ||
|             string proCode = ProjectService.GetJTProjectCodeByProjectId(projectId);
 | ||
|             var getRProjects = Funs.DB.RealName_Project.FirstOrDefault(x => x.ProCode == proCode);
 | ||
|             if (getRProjects != null && !string.IsNullOrEmpty(getRProjects.JTproCode))
 | ||
|             {
 | ||
|                 var getIdentityCards = (from x in Funs.DB.SitePerson_Person
 | ||
|                                         join v in Funs.DB.ProjectData_TeamGroup on x.TeamGroupId equals v.TeamGroupId
 | ||
|                                         join p in Funs.DB.Project_ProjectUnit on new { x.UnitId, x.ProjectId } equals new { p.UnitId, p.ProjectId }
 | ||
|                                         where x.ProjectId == projectId && x.IsCardNoOK == true && v.TeamId.HasValue
 | ||
|                                         && !x.RealNameUpdateTime.HasValue && x.RealNameAddTime.HasValue
 | ||
|                                         && p.IsSynchro == true
 | ||
|                                         select x.IdentityCard).Take(100);
 | ||
|                 foreach (var item in getIdentityCards)
 | ||
|                 {
 | ||
|                     //string mes = BLL.SynchroSetService.PushPersonsByIdentityCard(Const.BtnModify, getRProjects.ProCode, item, true) ?? "";
 | ||
|                     string mes = BLL.SynchroSetService.PushPersonsByIdentityCard(Const.BtnModify, getRProjects.ProCode, item, true) ?? "";
 | ||
|                     if (mes.Contains("不合法"))
 | ||
|                     {
 | ||
|                         message += ("身份证号码" + item + "更新失败" + mes);
 | ||
|                     }
 | ||
|                     else
 | ||
|                     {
 | ||
|                         count++;
 | ||
|                     }
 | ||
|                 }
 | ||
|             }
 | ||
|             string meshow = "更新成功!";
 | ||
|             if (message.Contains("失败"))
 | ||
|             {
 | ||
|                 meshow = "存在更新失败数据!";
 | ||
|             }
 | ||
|             SynchroSetService.InsertRealNamePushLog(projectId, proCode, "批量单条推送(更新)", "完成", null, meshow, null, null);
 | ||
|             if (string.IsNullOrEmpty(message))
 | ||
|             {
 | ||
|                 ShowNotify("同步完成!" + count.ToString() + "条", MessageBoxIcon.Success);
 | ||
|             }
 | ||
|             else
 | ||
|             {
 | ||
|                 Alert.ShowInParent("同步完成!" + count.ToString() + "条;" + message, MessageBoxIcon.Warning);
 | ||
|             }
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         protected void btnupdatePersonsExitTime_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             string message = string.Empty;
 | ||
|             string projectId = this.drpProject.SelectedValue;
 | ||
|             string proCode = ProjectService.GetJTProjectCodeByProjectId(projectId);
 | ||
|             var getRProjects = Funs.DB.RealName_Project.FirstOrDefault(x => x.ProCode == proCode);
 | ||
|             if (getRProjects != null && !string.IsNullOrEmpty(getRProjects.JTproCode))
 | ||
|             {
 | ||
|                 message= SynchroSetService.updatePersonsExitTime(getRProjects.JTproCode);
 | ||
|             }
 | ||
|             if (string.IsNullOrEmpty(message))
 | ||
|             {
 | ||
|                 ShowNotify("同步完成!" + message, MessageBoxIcon.Warning);
 | ||
|             }
 | ||
|             else
 | ||
|             {
 | ||
|                 Alert.ShowInParent("同步完成!"  + message, MessageBoxIcon.Warning);
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         ///  一键清理更新状态
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void btnCanelUpdate_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
 | ||
|             {
 | ||
|                 var getPersons = from x in db.SitePerson_Person
 | ||
|                                  where x.ProjectId == this.drpProject.SelectedValue && x.RealNameUpdateTime != null
 | ||
|                                  select x;
 | ||
|                 int count = getPersons.Count();
 | ||
|                 if (count > 0)
 | ||
|                 {
 | ||
|                     foreach (var item in getPersons)
 | ||
|                     {
 | ||
|                         item.RealNameUpdateTime = null;
 | ||
|                         db.SubmitChanges();
 | ||
|                     }
 | ||
|                 }
 | ||
| 
 | ||
|                 ShowNotify("操作完成!" + count.ToString() + "条", MessageBoxIcon.Success);
 | ||
|             }
 | ||
|         }
 | ||
|     }
 | ||
| } |