using Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
public class SubPackChangeRequestService
{
public static Model.SGGLDB db = Funs.DB;
///
/// 项目名称 下拉框绑定
///
public static void DropSelectProject(FineUIPro.DropDownList dropName, bool isShowPlease)
{
var projectList = (from x in db.Base_Project
select new
{
ProjectId = x.ProjectId,
ShortName = (string.IsNullOrWhiteSpace(x.ShortName) ? x.ProjectName : x.ShortName),
ProjectCode = x.ProjectCode,
}).OrderBy(p => p.ProjectCode).ToList();
dropName.DataValueField = "ProjectId";
dropName.DataTextField = "ShortName";
dropName.DataSource = projectList;
dropName.DataBind();
if (isShowPlease)
BLL.Funs.FineUIPleaseSelect(dropName);
}
///
/// 分包商名称 下拉框绑定
///
public static void DropSelectUnitWork(FineUIPro.DropDownList dropName, string projectid, bool isShowPlease)
{
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 AddSubPackChangeRequest(Model.SubPack_ChangeRequest subPackChangeRequest, List subPackChangeRequestDetails)
{
Model.SGGLDB db = Funs.DB;
db.SubPack_ChangeRequest.InsertOnSubmit(subPackChangeRequest);
List addBaseBranchTeamList = new List();
foreach (var oneDetail in subPackChangeRequestDetails)
{
oneDetail.SubPackChangeRequestID = subPackChangeRequest.SubPackChangeRequestID;
//审核完成之后处理Base_BranchTeamList,往公司级的话只添加不修改
if (subPackChangeRequest.State == Const.SubPackChangeRequest_AuditCompleted)
{
Model.Base_BranchTeamList oneBaseBranchTeamList = new Model.Base_BranchTeamList()
{
BranchTeamListId = SQLHelper.GetNewID(typeof(Model.Base_BranchTeamList)),
UnitId = subPackChangeRequest.UnitWorkId,
BranchTeamListName = oneDetail.SubPackChangeRequestName,
ChargeContract = oneDetail.ChargeContract,
LicenseNumber = oneDetail.LicenseNumber,
AptitudeCertNumber = oneDetail.AptitudeCertNumber,
EnrollAddress = oneDetail.EnrollAddress,
AchievementCondition = oneDetail.AchievementCondition,
FundCondition = oneDetail.FundCondition,
Corporate = oneDetail.Corporate,
Remark = oneDetail.Remark,
SortIndex = oneDetail.SortIndex,
CorporateIDCard = oneDetail.CorporateIDCard,
};
var updateBaseBranchTeamList = db.Base_BranchTeamList.FirstOrDefault(p => p.CorporateIDCard == oneBaseBranchTeamList.CorporateIDCard);
if (updateBaseBranchTeamList == null)
addBaseBranchTeamList.Add(oneBaseBranchTeamList);
//审核完成之后处理将劳务名单明细表或者变更明细表中的变更状态修改一下
var updateDetail_1 = db.SubPack_TeamListDetail.FirstOrDefault(p => p.SubPackTeamListDetailID == oneDetail.OldBranchTeamListId);
var updateDetail_2 = db.SubPack_ChangeRequestDetail.FirstOrDefault(p => p.SubPackChangeRequestDetailID == oneDetail.OldBranchTeamListId);
if (updateDetail_1 != null)
updateDetail_1.IsCheck = "1";
if (updateDetail_2 != null)
updateDetail_2.IsCheck = "1";
}
}
if (subPackChangeRequest.State == Const.SubPackChangeRequest_AuditCompleted && addBaseBranchTeamList.Count > 0)
db.Base_BranchTeamList.InsertAllOnSubmit(addBaseBranchTeamList);
if (subPackChangeRequestDetails.Count > 0)
db.SubPack_ChangeRequestDetail.InsertAllOnSubmit(subPackChangeRequestDetails);
db.SubmitChanges();
}
///
/// 修改分包队伍变更单主表信息
///
/// 主表信息
public static void UpdateSubPackChangeRequest(Model.SubPack_ChangeRequest subPackChangeRequest)
{
Model.SGGLDB db = Funs.DB;
var updateItem = db.SubPack_ChangeRequest.FirstOrDefault(p => p.SubPackChangeRequestID == subPackChangeRequest.SubPackChangeRequestID);
updateItem.ProjectId = subPackChangeRequest.ProjectId;
updateItem.UnitWorkId = subPackChangeRequest.UnitWorkId;
updateItem.BidName = subPackChangeRequest.BidName;
updateItem.SubPackChangeRequestDate = subPackChangeRequest.SubPackChangeRequestDate;
updateItem.SubmitMan = subPackChangeRequest.SubmitMan;
updateItem.State = subPackChangeRequest.State;
updateItem.IsSubmit = subPackChangeRequest.IsSubmit;
updateItem.SaveHandleMan = subPackChangeRequest.SaveHandleMan;
updateItem.SubPackChangeRequestMan = subPackChangeRequest.SubPackChangeRequestMan;
updateItem.ChangeReason = subPackChangeRequest.ChangeReason;
db.SubmitChanges();
}
///
/// 修改分包队伍变更单主表信息和明细表信息
///
/// 主表信息
/// 明细表信息
public static void UpdateSubPackChangeRequest(Model.SubPack_ChangeRequest subPackChangeRequest, List subPackChangeRequestDetails)
{
Model.SGGLDB db = Funs.DB;
var updateItem = db.SubPack_ChangeRequest.FirstOrDefault(p => p.SubPackChangeRequestID == subPackChangeRequest.SubPackChangeRequestID);
updateItem.ProjectId = subPackChangeRequest.ProjectId;
updateItem.UnitWorkId = subPackChangeRequest.UnitWorkId;
updateItem.BidName = subPackChangeRequest.BidName;
updateItem.SubPackChangeRequestDate = subPackChangeRequest.SubPackChangeRequestDate;
updateItem.SubmitMan = subPackChangeRequest.SubmitMan;
updateItem.State = subPackChangeRequest.State;
updateItem.IsSubmit = subPackChangeRequest.IsSubmit;
updateItem.SaveHandleMan = subPackChangeRequest.SaveHandleMan;
updateItem.SubPackChangeRequestMan = subPackChangeRequest.SubPackChangeRequestMan;
updateItem.ChangeReason = subPackChangeRequest.ChangeReason;
//先删除明细
var deleteDetails = db.SubPack_ChangeRequestDetail.Where(p => p.SubPackChangeRequestID == subPackChangeRequest.SubPackChangeRequestID).ToList();
db.SubPack_ChangeRequestDetail.DeleteAllOnSubmit(deleteDetails);
db.SubPack_ChangeRequestDetail.InsertAllOnSubmit(subPackChangeRequestDetails);
//审核完成之后处理Base_BranchTeamList不存在就添加,不修改
if (subPackChangeRequest.State == Const.SubPackChangeRequest_AuditCompleted)
{
List addBaseBranchTeamList = new List();
foreach (var oneDetail in subPackChangeRequestDetails)
{
Model.Base_BranchTeamList oneBaseBranchTeamList = new Model.Base_BranchTeamList()
{
BranchTeamListId = SQLHelper.GetNewID(typeof(Model.Base_BranchTeamList)),
UnitId = subPackChangeRequest.UnitWorkId,
BranchTeamListName = oneDetail.SubPackChangeRequestName,
ChargeContract = oneDetail.ChargeContract,
LicenseNumber = oneDetail.LicenseNumber,
AptitudeCertNumber = oneDetail.AptitudeCertNumber,
EnrollAddress = oneDetail.EnrollAddress,
AchievementCondition = oneDetail.AchievementCondition,
FundCondition = oneDetail.FundCondition,
Corporate = oneDetail.Corporate,
Remark = oneDetail.Remark,
SortIndex = oneDetail.SortIndex,
CorporateIDCard = oneDetail.CorporateIDCard,
};
var updateBaseBranchTeamList = db.Base_BranchTeamList.FirstOrDefault(p => p.CorporateIDCard == oneBaseBranchTeamList.CorporateIDCard);
if (updateBaseBranchTeamList == null)
addBaseBranchTeamList.Add(oneBaseBranchTeamList);
//审核完成之后处理将劳务名单明细表或者变更明细表中的变更状态修改一下
var updateDetail_1 = db.SubPack_TeamListDetail.FirstOrDefault(p => p.SubPackTeamListDetailID == oneDetail.OldBranchTeamListId);
var updateDetail_2 = db.SubPack_ChangeRequestDetail.FirstOrDefault(p => p.SubPackChangeRequestDetailID == oneDetail.OldBranchTeamListId);
if (updateDetail_1 != null)
updateDetail_1.IsCheck = "1";
if (updateDetail_2 != null)
updateDetail_2.IsCheck = "1";
}
if (addBaseBranchTeamList.Count > 0)
db.Base_BranchTeamList.InsertAllOnSubmit(addBaseBranchTeamList);
}
db.SubmitChanges();
}
///
/// 删除
///
/// 主表主键
public static void DeleteSubPackChangeRequest(string subPackChangeRequestID)
{
Model.SGGLDB db = Funs.DB;
var deleteItem = db.SubPack_ChangeRequest.FirstOrDefault(p => p.SubPackChangeRequestID == subPackChangeRequestID);
//删除主表
db.SubPack_ChangeRequest.DeleteOnSubmit(deleteItem);
//删除明细
var deleteDetails = db.SubPack_ChangeRequestDetail.Where(p => p.SubPackChangeRequestID == subPackChangeRequestID).ToList();
db.SubPack_ChangeRequestDetail.DeleteAllOnSubmit(deleteDetails);
//删除审批流程
var deleteApprove = db.SubPack_ChangeRequestApprove.Where(p => p.SubPackChangeRequestID == subPackChangeRequestID).ToList();
db.SubPack_ChangeRequestApprove.DeleteAllOnSubmit(deleteApprove);
db.SubmitChanges();
}
}
}