2024-01-26 17:12:01 +08:00
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
2024-02-21 15:13:54 +08:00
|
|
|
|
using System.Net.NetworkInformation;
|
2024-02-19 10:32:15 +08:00
|
|
|
|
using FineUIPro;
|
|
|
|
|
using Model;
|
2024-01-25 15:21:19 +08:00
|
|
|
|
|
|
|
|
|
namespace BLL
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 开车分包联络
|
|
|
|
|
/// </summary>
|
|
|
|
|
public static class DriverSubContactService
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 根据主键获取开车分包联络信息
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="DriverSubContactId"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static Model.DriverSub_DriverSubContact GetDriverSubContactById(string DriverSubContactId)
|
|
|
|
|
{
|
|
|
|
|
return Funs.DB.DriverSub_DriverSubContact.FirstOrDefault(e => e.DriverSubContactId == DriverSubContactId);
|
|
|
|
|
}
|
|
|
|
|
|
2024-01-26 17:12:01 +08:00
|
|
|
|
public static List<Model.DriverSub_DriverSubContact> GetDriverSubContactByProjectid(string projectId)
|
|
|
|
|
{
|
|
|
|
|
return Funs.DB.DriverSub_DriverSubContact.Where(e => e.ProjectId == projectId).ToList();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static List<Model.DriverSub_DriverSubContact> GetDriverSubContactByDriverSubPlanId(
|
|
|
|
|
string DriverSubPlanId)
|
|
|
|
|
{
|
|
|
|
|
return Funs.DB.DriverSub_DriverSubContact.Where(e => e.DriverSubPlanId == DriverSubPlanId).ToList();
|
|
|
|
|
}
|
2024-01-25 15:21:19 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// 添加开车分包联络信息
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="DriverSubContact"></param>
|
|
|
|
|
public static void AddDriverSubContact(Model.DriverSub_DriverSubContact DriverSubContact)
|
|
|
|
|
{
|
|
|
|
|
Model.DriverSub_DriverSubContact newDriverSubContact = new Model.DriverSub_DriverSubContact();
|
|
|
|
|
newDriverSubContact.DriverSubContactId = DriverSubContact.DriverSubContactId;
|
|
|
|
|
newDriverSubContact.ProjectId = DriverSubContact.ProjectId;
|
|
|
|
|
newDriverSubContact.Code = DriverSubContact.Code;
|
|
|
|
|
newDriverSubContact.Remark = DriverSubContact.Remark;
|
2024-01-26 17:12:01 +08:00
|
|
|
|
newDriverSubContact.DriverSubPlanId= DriverSubContact.DriverSubPlanId;
|
|
|
|
|
newDriverSubContact.DriverSubContractorsId = DriverSubContact.DriverSubContractorsId;
|
|
|
|
|
newDriverSubContact.SubcontractingType = DriverSubContact.SubcontractingType;
|
2024-02-19 10:32:15 +08:00
|
|
|
|
newDriverSubContact.IsBidirectional = DriverSubContact.IsBidirectional;
|
2024-02-21 15:13:54 +08:00
|
|
|
|
newDriverSubContact.State= DriverSubContact.State;
|
2024-01-25 15:21:19 +08:00
|
|
|
|
Funs.DB.DriverSub_DriverSubContact.InsertOnSubmit(newDriverSubContact);
|
|
|
|
|
Funs.DB.SubmitChanges();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 修改开车分包联络
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="DriverSubContact"></param>
|
|
|
|
|
public static void UpdateDriverSubContact(Model.DriverSub_DriverSubContact DriverSubContact)
|
|
|
|
|
{
|
|
|
|
|
Model.DriverSub_DriverSubContact newDriverSubContact = Funs.DB.DriverSub_DriverSubContact.FirstOrDefault(e => e.DriverSubContactId == DriverSubContact.DriverSubContactId);
|
|
|
|
|
if (newDriverSubContact != null)
|
|
|
|
|
{
|
|
|
|
|
newDriverSubContact.Code = DriverSubContact.Code;
|
|
|
|
|
newDriverSubContact.Remark = DriverSubContact.Remark;
|
2024-01-26 17:12:01 +08:00
|
|
|
|
newDriverSubContact.DriverSubPlanId = DriverSubContact.DriverSubPlanId;
|
|
|
|
|
newDriverSubContact.DriverSubContractorsId = DriverSubContact.DriverSubContractorsId;
|
|
|
|
|
newDriverSubContact.SubcontractingType = DriverSubContact.SubcontractingType;
|
2024-02-19 10:32:15 +08:00
|
|
|
|
newDriverSubContact.IsBidirectional = DriverSubContact.IsBidirectional;
|
2024-02-21 15:13:54 +08:00
|
|
|
|
newDriverSubContact.State = DriverSubContact.State;
|
2024-01-25 15:21:19 +08:00
|
|
|
|
Funs.DB.SubmitChanges();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 根据主键删除开车分包联络
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="DriverSubContactId"></param>
|
|
|
|
|
public static void DeleteDriverSubContactById(string DriverSubContactId)
|
|
|
|
|
{
|
|
|
|
|
Model.DriverSub_DriverSubContact DriverSubContact = Funs.DB.DriverSub_DriverSubContact.FirstOrDefault(e => e.DriverSubContactId == DriverSubContactId);
|
|
|
|
|
if (DriverSubContact != null)
|
|
|
|
|
{
|
|
|
|
|
Funs.DB.DriverSub_DriverSubContact.DeleteOnSubmit(DriverSubContact);
|
|
|
|
|
Funs.DB.SubmitChanges();
|
|
|
|
|
}
|
|
|
|
|
}
|
2024-02-19 10:32:15 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// 根据开车分包计划主键删除开车分包联络
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="DriverSubPlanId"></param>
|
2024-01-26 17:12:01 +08:00
|
|
|
|
public static void DeleteDriverSubContactByDriverSubPlanId(string DriverSubPlanId)
|
|
|
|
|
{
|
|
|
|
|
List<Model.DriverSub_DriverSubContact> DriverSubContact = Funs.DB.DriverSub_DriverSubContact.Where(e => e.DriverSubPlanId == DriverSubPlanId).ToList();
|
2024-02-19 10:32:15 +08:00
|
|
|
|
if (DriverSubContact.Count>0)
|
2024-01-26 17:12:01 +08:00
|
|
|
|
{
|
2024-02-19 10:32:15 +08:00
|
|
|
|
Funs.DB.DriverSub_DriverSubContact.DeleteAllOnSubmit(DriverSubContact);
|
|
|
|
|
Funs.DB.SubmitChanges();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void InitDropListByDriverSubPlanId(string driverSubPlanId, string type, DropDownList dropDownList)
|
|
|
|
|
{
|
|
|
|
|
dropDownList.DataSource = from x in Funs.DB.DriverSub_DriverSubContact
|
|
|
|
|
join y in Funs.DB.DriverSub_DriverSubContractors on x.DriverSubContractorsId equals y
|
|
|
|
|
.DriverSubContractorsId
|
|
|
|
|
where x.DriverSubPlanId== driverSubPlanId && x.SubcontractingType == type
|
|
|
|
|
select new { x.DriverSubContractorsId, y.SubUnitName };
|
|
|
|
|
dropDownList.DataTextField = "SubUnitName";
|
|
|
|
|
dropDownList.DataValueField = "DriverSubContractorsId";
|
|
|
|
|
dropDownList.DataBind();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 根据driverSubPlanId判断是否选标完成
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="driverSubPlanId"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static bool IsAllBidirectional(string driverSubPlanId)
|
|
|
|
|
{
|
|
|
|
|
//获取DriverSubPlanId对应的所有数据
|
|
|
|
|
var list = Funs.DB.DriverSub_DriverSubContact.Where(e => e.DriverSubPlanId == driverSubPlanId).ToList();
|
|
|
|
|
|
|
|
|
|
//按SubcontractingType分组,检查每组数据是否都存在一个中标单位
|
|
|
|
|
var allExist = list.GroupBy(item => item.SubcontractingType)
|
|
|
|
|
.All(g => g.Any(item => item.IsBidirectional == true));
|
|
|
|
|
|
|
|
|
|
return allExist;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static Model.DriverSub_DriverSubContact GetBidirectional(string driverSubPlanId ,string subcontractingType)
|
|
|
|
|
{
|
|
|
|
|
return Funs.DB.DriverSub_DriverSubContact.FirstOrDefault(e => e.DriverSubPlanId == driverSubPlanId && e.IsBidirectional == true && e.SubcontractingType== subcontractingType);
|
|
|
|
|
}
|
|
|
|
|
//根据driverSubPlanId 和DriverSubContractorsId 确定中标单位,使其IsBidirectional为true,且当前SubcontractingType下其他为false
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 确定中标单位
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="driverSubPlanId"></param>
|
|
|
|
|
/// <param name="driverSubContractorsId"></param>
|
|
|
|
|
public static void SetBidirectional(string driverSubPlanId, string driverSubContractorsId)
|
|
|
|
|
{
|
|
|
|
|
//根据driverSubPlanId 和DriverSubContractorsId 获取SubcontractingType
|
|
|
|
|
var subcontractingType= Funs.DB.DriverSub_DriverSubContact.FirstOrDefault(e => e.DriverSubContractorsId == driverSubContractorsId &&e.DriverSubPlanId== driverSubPlanId
|
|
|
|
|
|
|
|
|
|
)?.SubcontractingType;
|
|
|
|
|
var list = Funs.DB.DriverSub_DriverSubContact.Where(e => e.DriverSubPlanId == driverSubPlanId && e.SubcontractingType == subcontractingType).ToList();
|
|
|
|
|
foreach (var item in list)
|
|
|
|
|
{
|
|
|
|
|
if (item.DriverSubContractorsId == driverSubContractorsId)
|
|
|
|
|
{
|
|
|
|
|
item.IsBidirectional = true;
|
|
|
|
|
}
|
|
|
|
|
else
|
2024-01-26 17:12:01 +08:00
|
|
|
|
{
|
2024-02-19 10:32:15 +08:00
|
|
|
|
item.IsBidirectional = false;
|
2024-01-26 17:12:01 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
2024-02-19 10:32:15 +08:00
|
|
|
|
Funs.DB.SubmitChanges();
|
2024-01-26 17:12:01 +08:00
|
|
|
|
}
|
2024-02-21 15:13:54 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// 确定分包商状态
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="driverSubPlanId"></param>
|
|
|
|
|
/// <param name="driverSubContractorsId"></param>
|
|
|
|
|
/// <param name="state"></param>
|
|
|
|
|
public static void SetState(string driverSubPlanId, string driverSubContractorsId, string state)
|
|
|
|
|
{
|
|
|
|
|
if (string.IsNullOrEmpty(state))
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
var list = Funs.DB.DriverSub_DriverSubContact.Where(e => e.DriverSubPlanId == driverSubPlanId && e.DriverSubContractorsId == driverSubContractorsId).ToList();
|
|
|
|
|
foreach (var item in list)
|
|
|
|
|
{
|
|
|
|
|
item.State =int.Parse( state);
|
|
|
|
|
}
|
|
|
|
|
Funs.DB.SubmitChanges();
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 分包状态下拉框
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="dropDownList"></param>
|
|
|
|
|
public static void InitDriverSubPlanState( DropDownList dropDownList)
|
|
|
|
|
{
|
|
|
|
|
dropDownList.DataSource = DropListService.drpDriverSubPlanStateList();
|
|
|
|
|
dropDownList.DataTextField = "Text";
|
|
|
|
|
dropDownList.DataValueField = "Value";
|
|
|
|
|
dropDownList.DataBind(); ;
|
|
|
|
|
}
|
2024-02-19 10:32:15 +08:00
|
|
|
|
|
2024-01-25 15:21:19 +08:00
|
|
|
|
}
|
|
|
|
|
}
|