using Model; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace BLL { public class SubPackSubPackPersonnelService { /// /// 劳务班组 下拉框绑定 /// public static void DropSelectTeam(FineUIPro.DropDownList dropName, string unitId, string branchTeamListId, string laborTeamId, string projectId, bool isShowPlease) { Model.SGGLDB db = Funs.DB; var unitWorkList = (from x in db.SubPack_BranchTeamListTeam where x.ProjectId == projectId && (x.UnitId == unitId || unitId == null) && (x.BranchTeamListId == branchTeamListId || branchTeamListId == null) && (x.LaborTeamId == laborTeamId || laborTeamId == null) && (x.State == null || x.State == "" || x.State == "0") select new { BranchTeamListTeamName = x.BranchTeamListTeamName, BranchTeamListTeamId = x.BranchTeamListTeamId, }).ToList(); dropName.DataValueField = "BranchTeamListTeamId"; dropName.DataTextField = "BranchTeamListTeamName"; dropName.DataSource = unitWorkList; dropName.DataBind(); if (isShowPlease) BLL.Funs.FineUIPleaseSelect(dropName); } /// /// 劳务班组 下拉框绑定 /// public static void DropSelectTeamUpdate(FineUIPro.DropDownList dropName, string unitId, string branchTeamListId, string laborTeamId, string projectId, bool isShowPlease) { Model.SGGLDB db = Funs.DB; var unitWorkList = (from x in db.SubPack_BranchTeamListTeam where x.ProjectId == projectId && (x.UnitId == unitId || unitId == null) && (x.BranchTeamListId == branchTeamListId || branchTeamListId == null) && (x.LaborTeamId == laborTeamId || laborTeamId == null) select new { BranchTeamListTeamName = x.BranchTeamListTeamName, BranchTeamListTeamId = x.BranchTeamListTeamId, }).ToList(); dropName.DataValueField = "BranchTeamListTeamId"; dropName.DataTextField = "BranchTeamListTeamName"; dropName.DataSource = unitWorkList; dropName.DataBind(); if (isShowPlease) BLL.Funs.FineUIPleaseSelect(dropName); } /// /// 新增 /// /// 劳务人员信息 public static void AddSubPackSubPackPersonnel(Model.SubPack_SubPackPersonnel subPackSubPackPersonnel) { Model.SGGLDB db = Funs.DB; db.SubPack_SubPackPersonnel.InsertOnSubmit(subPackSubPackPersonnel); //往公司级base_SubPackPersonnel表写入数据 var v_subPackTeamList = db.View_SubPack_TeamList.FirstOrDefault(p => p.SubPackTeamListDetailID == subPackSubPackPersonnel.BranchTeamListId); //通过身份证找到公司级劳务公司的对象 var branchTeamList = db.Base_BranchTeamList.FirstOrDefault(p => p.CorporateIDCard == v_subPackTeamList.CorporateIDCard); //通过项目级劳务队伍找到项目级劳务队伍对象 var SubPackLaborTeam = db.SubPack_LaborTeam.FirstOrDefault(p => p.LaborTeamId == subPackSubPackPersonnel.LaborTeamId); //通过项目级劳务队伍对象中的身份证找到公司级劳务队伍对象 var basePackLaborTeam = db.Base_LaborTeam.FirstOrDefault(p => p.CaptainIDCard == SubPackLaborTeam.CaptainIDCard); //先找到项目级劳务班组对象 var subPackBz = db.SubPack_BranchTeamListTeam.FirstOrDefault(p => p.BranchTeamListTeamId == subPackSubPackPersonnel.BranchTeamListTeamId); //通过项目级劳务班组对象的身份证找公司级劳务班组对象 var baseBz = db.Base_BranchTeamListTeam.FirstOrDefault(p => p.MonitorIDCard == subPackBz.MonitorIDCard); //项通过项目级劳务人员身份证号查询公司级劳务人员是否存在,存在修改,不存在添加 var baseSubPackPersonnel = db.Base_SubPackPersonnel.FirstOrDefault(p => p.IdentityCard == subPackSubPackPersonnel.IdentityCard); if (baseSubPackPersonnel == null) { Model.Base_SubPackPersonnel newBaseSubPackPersonnel = new Model.Base_SubPackPersonnel(); newBaseSubPackPersonnel.SubPackPersonnelID = SQLHelper.GetNewID(typeof(Model.Base_SubPackPersonnel)); newBaseSubPackPersonnel.PersonName = subPackSubPackPersonnel.PersonName; newBaseSubPackPersonnel.IdentityCard = subPackSubPackPersonnel.IdentityCard; newBaseSubPackPersonnel.LaborServicesCompany = subPackSubPackPersonnel.LaborServicesCompany; newBaseSubPackPersonnel.UnitId = subPackSubPackPersonnel.UnitId; if (branchTeamList != null) newBaseSubPackPersonnel.BranchTeamListId = branchTeamList.BranchTeamListId; if (baseBz != null) newBaseSubPackPersonnel.BranchTeamListTeamId = baseBz.BranchTeamListTeamId; newBaseSubPackPersonnel.Remark = subPackSubPackPersonnel.Remark; newBaseSubPackPersonnel.SortIndex = subPackSubPackPersonnel.SortIndex; if (basePackLaborTeam != null) newBaseSubPackPersonnel.LaborTeamId = basePackLaborTeam.LaborTeamId; db.Base_SubPackPersonnel.InsertOnSubmit(newBaseSubPackPersonnel); } //else //{ // baseSubPackPersonnel.PersonName = subPackSubPackPersonnel.PersonName; // baseSubPackPersonnel.IdentityCard = subPackSubPackPersonnel.IdentityCard; // baseSubPackPersonnel.LaborServicesCompany = subPackSubPackPersonnel.LaborServicesCompany; // baseSubPackPersonnel.UnitId = subPackSubPackPersonnel.UnitId; // if (branchTeamList != null) // baseSubPackPersonnel.BranchTeamListId = branchTeamList.BranchTeamListId; // if (baseBz != null) // baseSubPackPersonnel.BranchTeamListTeamId = baseBz.BranchTeamListTeamId; // baseSubPackPersonnel.Remark = subPackSubPackPersonnel.Remark; // baseSubPackPersonnel.SortIndex = subPackSubPackPersonnel.SortIndex; // if (basePackLaborTeam != null) // baseSubPackPersonnel.LaborTeamId = basePackLaborTeam.LaborTeamId; //} db.SubmitChanges(); } /// /// 批量新增 /// /// 劳务人员信息列表 public static void AddSubPackSubPackPersonnel(List subPackSubPackPersonnels) { Model.SGGLDB db = Funs.DB; db.SubPack_SubPackPersonnel.InsertAllOnSubmit(subPackSubPackPersonnels); List AddBaseSubPackPersonnelList = new List(); foreach (var subPackSubPackPersonnel in subPackSubPackPersonnels) { //往公司级base_SubPackPersonnel表写入数据 var v_subPackTeamList = db.View_SubPack_TeamList.FirstOrDefault(p => p.SubPackTeamListDetailID == subPackSubPackPersonnel.BranchTeamListId); //通过身份证找到公司级劳务公司的对象 var branchTeamList = db.Base_BranchTeamList.FirstOrDefault(p => p.CorporateIDCard == v_subPackTeamList.CorporateIDCard); //通过项目级劳务队伍找到项目级劳务队伍对象 var SubPackLaborTeam = db.SubPack_LaborTeam.FirstOrDefault(p => p.LaborTeamId == subPackSubPackPersonnel.LaborTeamId); //通过项目级劳务队伍对象中的身份证找到公司级劳务队伍对象 var basePackLaborTeam = db.Base_LaborTeam.FirstOrDefault(p => p.CaptainIDCard == SubPackLaborTeam.CaptainIDCard); //先找到项目级劳务班组对象 var subPackBz = db.SubPack_BranchTeamListTeam.FirstOrDefault(p => p.BranchTeamListTeamId == subPackSubPackPersonnel.BranchTeamListTeamId); //通过项目级劳务班组对象的身份证找公司级劳务班组对象 var baseBz = db.Base_BranchTeamListTeam.FirstOrDefault(p => p.MonitorIDCard == subPackBz.MonitorIDCard); //项通过项目级劳务人员身份证号查询公司级劳务人员是否存在,存在修改,不存在添加 var baseSubPackPersonnel = db.Base_SubPackPersonnel.FirstOrDefault(p => p.IdentityCard == subPackSubPackPersonnel.IdentityCard); if (baseSubPackPersonnel == null) { Model.Base_SubPackPersonnel newBaseSubPackPersonnel = new Model.Base_SubPackPersonnel(); newBaseSubPackPersonnel.SubPackPersonnelID = SQLHelper.GetNewID(typeof(Model.Base_SubPackPersonnel)); newBaseSubPackPersonnel.PersonName = subPackSubPackPersonnel.PersonName; newBaseSubPackPersonnel.IdentityCard = subPackSubPackPersonnel.IdentityCard; newBaseSubPackPersonnel.LaborServicesCompany = subPackSubPackPersonnel.LaborServicesCompany; newBaseSubPackPersonnel.UnitId = subPackSubPackPersonnel.UnitId; if (branchTeamList != null) newBaseSubPackPersonnel.BranchTeamListId = branchTeamList.BranchTeamListId; if (baseBz != null) newBaseSubPackPersonnel.BranchTeamListTeamId = baseBz.BranchTeamListTeamId; newBaseSubPackPersonnel.Remark = subPackSubPackPersonnel.Remark; newBaseSubPackPersonnel.SortIndex = subPackSubPackPersonnel.SortIndex; if (basePackLaborTeam != null) newBaseSubPackPersonnel.LaborTeamId = basePackLaborTeam.LaborTeamId; AddBaseSubPackPersonnelList.Add(newBaseSubPackPersonnel); } //else //{ // baseSubPackPersonnel.PersonName = subPackSubPackPersonnel.PersonName; // baseSubPackPersonnel.IdentityCard = subPackSubPackPersonnel.IdentityCard; // baseSubPackPersonnel.LaborServicesCompany = subPackSubPackPersonnel.LaborServicesCompany; // baseSubPackPersonnel.UnitId = subPackSubPackPersonnel.UnitId; // if (branchTeamList != null) // baseSubPackPersonnel.BranchTeamListId = branchTeamList.BranchTeamListId; // if (baseBz != null) // baseSubPackPersonnel.BranchTeamListTeamId = baseBz.BranchTeamListTeamId; // baseSubPackPersonnel.Remark = subPackSubPackPersonnel.Remark; // baseSubPackPersonnel.SortIndex = subPackSubPackPersonnel.SortIndex; // if (basePackLaborTeam != null) // baseSubPackPersonnel.LaborTeamId = basePackLaborTeam.LaborTeamId; //} } if (AddBaseSubPackPersonnelList.Count > 0) db.Base_SubPackPersonnel.InsertAllOnSubmit(AddBaseSubPackPersonnelList); db.SubmitChanges(); } /// /// 修改 /// /// 劳务人员信息 public static void UpdateSubPackSubPackPersonnel(Model.SubPack_SubPackPersonnel subPackSubPackPersonnel) { Model.SGGLDB db = Funs.DB; var updateItem = db.SubPack_SubPackPersonnel.FirstOrDefault(p => p.SubPackPersonnelID == subPackSubPackPersonnel.SubPackPersonnelID); updateItem.ProjectId = subPackSubPackPersonnel.ProjectId; updateItem.PersonName = subPackSubPackPersonnel.PersonName; updateItem.IdentityCard = subPackSubPackPersonnel.IdentityCard; updateItem.LaborServicesCompany = subPackSubPackPersonnel.LaborServicesCompany; updateItem.UnitId = subPackSubPackPersonnel.UnitId; updateItem.BranchTeamListId = subPackSubPackPersonnel.BranchTeamListId; updateItem.BranchTeamListTeamId = subPackSubPackPersonnel.BranchTeamListTeamId; updateItem.Remark = subPackSubPackPersonnel.Remark; updateItem.SortIndex = subPackSubPackPersonnel.SortIndex; updateItem.State = subPackSubPackPersonnel.State; //往公司级base_SubPackPersonnel表写入数据 var v_subPackTeamList = db.View_SubPack_TeamList.FirstOrDefault(p => p.SubPackTeamListDetailID == subPackSubPackPersonnel.BranchTeamListId); //通过身份证找到公司级劳务公司的对象 var branchTeamList = db.Base_BranchTeamList.FirstOrDefault(p => p.CorporateIDCard == v_subPackTeamList.CorporateIDCard); //通过项目级劳务队伍找到项目级劳务队伍对象 var SubPackLaborTeam = db.SubPack_LaborTeam.FirstOrDefault(p => p.LaborTeamId == subPackSubPackPersonnel.LaborTeamId); //通过项目级劳务队伍对象中的身份证找到公司级劳务队伍对象 var basePackLaborTeam = db.Base_LaborTeam.FirstOrDefault(p => p.CaptainIDCard == SubPackLaborTeam.CaptainIDCard); //先找到项目级劳务班组对象 var subPackBz = db.SubPack_BranchTeamListTeam.FirstOrDefault(p => p.BranchTeamListTeamId == subPackSubPackPersonnel.BranchTeamListTeamId); //通过项目级劳务班组对象的身份证找公司级劳务班组对象 var baseBz = db.Base_BranchTeamListTeam.FirstOrDefault(p => p.MonitorIDCard == subPackBz.MonitorIDCard); //项通过项目级劳务人员身份证号查询公司级劳务人员是否存在,存在修改,不存在添加 var baseSubPackPersonnel = db.Base_SubPackPersonnel.FirstOrDefault(p => p.IdentityCard == subPackSubPackPersonnel.IdentityCard); if (baseSubPackPersonnel == null) { Model.Base_SubPackPersonnel newBaseSubPackPersonnel = new Model.Base_SubPackPersonnel(); newBaseSubPackPersonnel.SubPackPersonnelID = SQLHelper.GetNewID(typeof(Model.Base_SubPackPersonnel)); newBaseSubPackPersonnel.PersonName = subPackSubPackPersonnel.PersonName; newBaseSubPackPersonnel.IdentityCard = subPackSubPackPersonnel.IdentityCard; newBaseSubPackPersonnel.LaborServicesCompany = subPackSubPackPersonnel.LaborServicesCompany; newBaseSubPackPersonnel.UnitId = subPackSubPackPersonnel.UnitId; if (branchTeamList != null) newBaseSubPackPersonnel.BranchTeamListId = branchTeamList.BranchTeamListId; if (baseBz != null) newBaseSubPackPersonnel.BranchTeamListTeamId = baseBz.BranchTeamListTeamId; newBaseSubPackPersonnel.Remark = subPackSubPackPersonnel.Remark; newBaseSubPackPersonnel.SortIndex = subPackSubPackPersonnel.SortIndex; if (basePackLaborTeam != null) newBaseSubPackPersonnel.LaborTeamId = basePackLaborTeam.LaborTeamId; db.Base_SubPackPersonnel.InsertOnSubmit(newBaseSubPackPersonnel); } //else //{ // baseSubPackPersonnel.PersonName = subPackSubPackPersonnel.PersonName; // baseSubPackPersonnel.IdentityCard = subPackSubPackPersonnel.IdentityCard; // baseSubPackPersonnel.LaborServicesCompany = subPackSubPackPersonnel.LaborServicesCompany; // baseSubPackPersonnel.UnitId = subPackSubPackPersonnel.UnitId; // if (branchTeamList != null) // baseSubPackPersonnel.BranchTeamListId = branchTeamList.BranchTeamListId; // if (baseBz != null) // baseSubPackPersonnel.BranchTeamListTeamId = baseBz.BranchTeamListTeamId; // baseSubPackPersonnel.Remark = subPackSubPackPersonnel.Remark; // baseSubPackPersonnel.SortIndex = subPackSubPackPersonnel.SortIndex; // if (basePackLaborTeam != null) // baseSubPackPersonnel.LaborTeamId = basePackLaborTeam.LaborTeamId; //} db.SubmitChanges(); } /// /// 删除 /// /// 主表主键 public static void DeleteSubPackSubPackPersonnel(string subPackPersonnelID) { Model.SGGLDB db = Funs.DB; var deleteItem = db.SubPack_SubPackPersonnel.FirstOrDefault(p => p.SubPackPersonnelID == subPackPersonnelID); string identityCard = deleteItem.IdentityCard; //删除主表 db.SubPack_SubPackPersonnel.DeleteOnSubmit(deleteItem); db.SubmitChanges(); //删除黑名单 var backItems = db.SubPack_Blacklist.Where(p => p.BlackForeignKey == subPackPersonnelID && p.BlackType == Const.SubPackBlackListPersonnel && p.IDCard == identityCard); if (backItems.Count() > 0) { db.SubPack_Blacklist.DeleteAllOnSubmit(backItems); db.SubmitChanges(); } //删除公司级的劳务人员信息 if (db.SubPack_SubPackPersonnel.Where(p => p.IdentityCard == identityCard).Count() <= 0) { var deleteBaseItems = db.Base_SubPackPersonnel.Where(p => p.IdentityCard == identityCard); if (deleteBaseItems.Count() > 0) { db.Base_SubPackPersonnel.DeleteAllOnSubmit(deleteBaseItems); db.SubmitChanges(); } } } /// /// 根据身份证号Id获取人员数量 /// /// 身份证号 /// 人员数量 public static int GetPersonCountByIdentityCard(string identityCard, string projectId) { var q = Funs.DB.SubPack_SubPackPersonnel.Where(x => x.IdentityCard == identityCard && x.ProjectId == projectId).ToList(); return q.Count; } /// /// 修改时判断根据身份证号Id获取人员数量 /// /// 身份证号 /// 人员数量 public static int GetPersonCountByIdentityCard(string identityCard, string subPackPersonnelID, string projectId) { var q = Funs.DB.SubPack_SubPackPersonnel.Where(x => x.IdentityCard == identityCard && x.ProjectId == projectId && x.SubPackPersonnelID != subPackPersonnelID).ToList(); return q.Count; } } }