using Model; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace BLL { public class SubPackLaborTeamService { /// /// 分包商名称 下拉框绑定 /// public static void DropSelectUnitWork(FineUIPro.DropDownList dropName, string projectid, bool isShowPlease) { Model.SGGLDB db = Funs.DB; var unitWorkList = (from x in db.Base_Unit join y in db.Project_ProjectUnit on x.UnitId equals y.UnitId where y.UnitType == "2" && y.ProjectId == projectid select new { UnitName = x.UnitName, UnitId = x.UnitId, }).ToList(); dropName.DataValueField = "UnitId"; dropName.DataTextField = "UnitName"; dropName.DataSource = unitWorkList; dropName.DataBind(); if (isShowPlease) BLL.Funs.FineUIPleaseSelect(dropName); } /// /// 分包队伍 下拉框绑定 /// public static void DropSelectLaborTeam(FineUIPro.DropDownList dropName, string unitId, string BranchTeamListId, string projectId, bool isShowPlease) { Model.SGGLDB db = Funs.DB; var unitWorkList = (from x in db.SubPack_LaborTeam where x.ProjectId == projectId && (x.BranchTeamListId == BranchTeamListId || BranchTeamListId == null) && (x.UnitId == unitId || unitId == null) && (x.State == null || x.State == "" || x.State == "0") select new { LaborTeamName = x.LaborTeamName, LaborTeamId = x.LaborTeamId, }).ToList(); dropName.DataValueField = "LaborTeamId"; dropName.DataTextField = "LaborTeamName"; dropName.DataSource = unitWorkList; dropName.DataBind(); if (isShowPlease) BLL.Funs.FineUIPleaseSelect(dropName); } /// /// 分包公司 下拉框绑定 /// public static void DropSelectLaborTeamUpdate(FineUIPro.DropDownList dropName, string unitId, string BranchTeamListId, string projectId, bool isShowPlease) { Model.SGGLDB db = Funs.DB; var unitWorkList = (from x in db.SubPack_LaborTeam where x.ProjectId == projectId && (x.UnitId == unitId || unitId == null) && (x.BranchTeamListId == BranchTeamListId || BranchTeamListId == null) select new { LaborTeamName = x.LaborTeamName, LaborTeamId = x.LaborTeamId, }).ToList(); dropName.DataValueField = "LaborTeamId"; dropName.DataTextField = "LaborTeamName"; dropName.DataSource = unitWorkList; dropName.DataBind(); if (isShowPlease) BLL.Funs.FineUIPleaseSelect(dropName); } /// /// 新增 /// /// 劳务队伍信息 public static void AddSubPackLaborTeam(Model.SubPack_LaborTeam subPackLaborTeam) { Model.SGGLDB db = Funs.DB; db.SubPack_LaborTeam.InsertOnSubmit(subPackLaborTeam); var v_subPackTeamList = db.View_SubPack_TeamList.FirstOrDefault(p => p.SubPackTeamListDetailID == subPackLaborTeam.BranchTeamListId); if (v_subPackTeamList != null) { var branchTeamList = db.Base_BranchTeamList.FirstOrDefault(p => p.CorporateIDCard == v_subPackTeamList.CorporateIDCard); if (branchTeamList != null) { var baseLaborTeam = db.Base_LaborTeam.FirstOrDefault(p => p.CaptainIDCard == subPackLaborTeam.CaptainIDCard); if (baseLaborTeam == null) { Model.Base_LaborTeam newBase_LaborTeam = new Model.Base_LaborTeam(); newBase_LaborTeam.LaborTeamId = SQLHelper.GetNewID(typeof(Model.SubPack_LaborTeam)); newBase_LaborTeam.UnitId = subPackLaborTeam.UnitId; newBase_LaborTeam.BranchTeamListId = branchTeamList.BranchTeamListId; newBase_LaborTeam.LaborTeamName = subPackLaborTeam.LaborTeamName; newBase_LaborTeam.Remark = subPackLaborTeam.Remark; newBase_LaborTeam.SortIndex = subPackLaborTeam.SortIndex; newBase_LaborTeam.CaptainName = subPackLaborTeam.CaptainName; newBase_LaborTeam.CaptainIDCard = subPackLaborTeam.CaptainIDCard; db.Base_LaborTeam.InsertOnSubmit(newBase_LaborTeam); } //else //{ //baseLaborTeam.BranchTeamListId = branchTeamList.BranchTeamListId; //baseLaborTeam.UnitId = subPackLaborTeam.UnitId; //baseLaborTeam.CaptainIDCard = subPackLaborTeam.CaptainIDCard; //baseLaborTeam.CaptainName = subPackLaborTeam.CaptainName; //baseLaborTeam.LaborTeamName = subPackLaborTeam.LaborTeamName; //baseLaborTeam.Remark = subPackLaborTeam.Remark; //} } } db.SubmitChanges(); } /// /// 批量新增 /// /// 劳务队伍信息列表 public static void AddSubPackLaborTeam(List subPackLaborTeams) { Model.SGGLDB db = Funs.DB; db.SubPack_LaborTeam.InsertAllOnSubmit(subPackLaborTeams); foreach (var subPackLaborTeam in subPackLaborTeams) { var v_subPackTeamList = db.View_SubPack_TeamList.FirstOrDefault(p => p.SubPackTeamListDetailID == subPackLaborTeam.BranchTeamListId); if (v_subPackTeamList != null) { var branchTeamList = db.Base_BranchTeamList.FirstOrDefault(p => p.CorporateIDCard == v_subPackTeamList.CorporateIDCard); if (branchTeamList != null) { var baseLaborTeam = db.Base_LaborTeam.FirstOrDefault(p => p.CaptainIDCard == subPackLaborTeam.CaptainIDCard); if (baseLaborTeam == null) { Model.Base_LaborTeam newBase_LaborTeam = new Model.Base_LaborTeam(); newBase_LaborTeam.LaborTeamId = SQLHelper.GetNewID(typeof(Model.SubPack_LaborTeam)); newBase_LaborTeam.UnitId = subPackLaborTeam.UnitId; newBase_LaborTeam.BranchTeamListId = branchTeamList.BranchTeamListId; newBase_LaborTeam.LaborTeamName = subPackLaborTeam.LaborTeamName; newBase_LaborTeam.Remark = subPackLaborTeam.Remark; newBase_LaborTeam.SortIndex = subPackLaborTeam.SortIndex; newBase_LaborTeam.CaptainName = subPackLaborTeam.CaptainName; newBase_LaborTeam.CaptainIDCard = subPackLaborTeam.CaptainIDCard; db.Base_LaborTeam.InsertOnSubmit(newBase_LaborTeam); } //else //{ // baseLaborTeam.BranchTeamListId = branchTeamList.BranchTeamListId; // baseLaborTeam.UnitId = subPackLaborTeam.UnitId; // baseLaborTeam.CaptainIDCard = subPackLaborTeam.CaptainIDCard; // baseLaborTeam.CaptainName = subPackLaborTeam.CaptainName; // baseLaborTeam.LaborTeamName = subPackLaborTeam.LaborTeamName; // baseLaborTeam.Remark = subPackLaborTeam.Remark; //} } } } db.SubmitChanges(); } /// /// 修改 /// /// 劳务队伍信息 public static void UpdateSubPackLaborTeam(Model.SubPack_LaborTeam subPackLaborTeam) { Model.SGGLDB db = Funs.DB; var updateItem = db.SubPack_LaborTeam.FirstOrDefault(p => p.LaborTeamId == subPackLaborTeam.LaborTeamId); if (updateItem != null) { updateItem.ProjectId = subPackLaborTeam.ProjectId; updateItem.UnitId = subPackLaborTeam.UnitId; updateItem.BranchTeamListId = subPackLaborTeam.BranchTeamListId; updateItem.LaborTeamName = subPackLaborTeam.LaborTeamName; updateItem.Remark = subPackLaborTeam.Remark; updateItem.SortIndex = subPackLaborTeam.SortIndex; updateItem.CaptainName = subPackLaborTeam.CaptainName; updateItem.CaptainIDCard = subPackLaborTeam.CaptainIDCard; var v_subPackTeamList = db.View_SubPack_TeamList.FirstOrDefault(p => p.SubPackTeamListDetailID == subPackLaborTeam.BranchTeamListId); if (v_subPackTeamList != null) { var branchTeamList = db.Base_BranchTeamList.FirstOrDefault(p => p.CorporateIDCard == v_subPackTeamList.CorporateIDCard); if (branchTeamList != null) { var baseLaborTeam = db.Base_LaborTeam.FirstOrDefault(p => p.CaptainIDCard == subPackLaborTeam.CaptainIDCard); if (baseLaborTeam == null) { Model.Base_LaborTeam newBase_LaborTeam = new Model.Base_LaborTeam(); newBase_LaborTeam.LaborTeamId = SQLHelper.GetNewID(typeof(Model.SubPack_LaborTeam)); newBase_LaborTeam.UnitId = subPackLaborTeam.UnitId; newBase_LaborTeam.BranchTeamListId = branchTeamList.BranchTeamListId; newBase_LaborTeam.LaborTeamName = subPackLaborTeam.LaborTeamName; newBase_LaborTeam.Remark = subPackLaborTeam.Remark; newBase_LaborTeam.SortIndex = subPackLaborTeam.SortIndex; newBase_LaborTeam.CaptainName = subPackLaborTeam.CaptainName; newBase_LaborTeam.CaptainIDCard = subPackLaborTeam.CaptainIDCard; db.Base_LaborTeam.InsertOnSubmit(newBase_LaborTeam); } //else //{ // baseLaborTeam.BranchTeamListId = branchTeamList.BranchTeamListId; // baseLaborTeam.UnitId = subPackLaborTeam.UnitId; // baseLaborTeam.CaptainIDCard = subPackLaborTeam.CaptainIDCard; // baseLaborTeam.CaptainName = subPackLaborTeam.CaptainName; // baseLaborTeam.LaborTeamName = subPackLaborTeam.LaborTeamName; // baseLaborTeam.Remark = subPackLaborTeam.Remark; //} } } db.SubmitChanges(); } } /// /// 删除 /// /// 主表主键 public static void DeleteSubPackLaborTeam(string laborTeamId) { Model.SGGLDB db = Funs.DB; var deleteItem = db.SubPack_LaborTeam.FirstOrDefault(p => p.LaborTeamId == laborTeamId); if (deleteItem != null) { string captainIDCard = deleteItem.CaptainIDCard; //删除主表 db.SubPack_LaborTeam.DeleteOnSubmit(deleteItem); db.SubmitChanges(); //删除黑名单 var backItems = db.SubPack_Blacklist.Where(p => p.BlackForeignKey == laborTeamId && p.BlackType == Const.SubPackBlackLaborTeam && p.IDCard == captainIDCard); if (backItems.Count() > 0) { db.SubPack_Blacklist.DeleteAllOnSubmit(backItems); db.SubmitChanges(); } //这个队伍再所有项目删除了,那么将删除公司级的队伍 if (db.SubPack_LaborTeam.Where(p => p.CaptainIDCard == captainIDCard).Count() <= 0) { var deleteBaseItem = db.Base_LaborTeam.Where(p => p.CaptainIDCard == captainIDCard); if (deleteBaseItem.Count() > 0) { db.Base_LaborTeam.DeleteAllOnSubmit(deleteBaseItem); db.SubmitChanges(); } } } } } }