2023-02-20 001 焊接修改
This commit is contained in:
@@ -55,6 +55,10 @@ namespace BLL
|
||||
/// </summary>
|
||||
ActDateEnd_FIELD ,
|
||||
}
|
||||
/// <summary>
|
||||
/// 管线划分
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static ListItem[] GetPipeArea()
|
||||
{
|
||||
ListItem[] list = new ListItem[2];
|
||||
@@ -76,6 +80,10 @@ namespace BLL
|
||||
{
|
||||
return Funs.DB.HJGL_Pipeline.FirstOrDefault(e => e.PipelineId == pipelineId);
|
||||
}
|
||||
/// <summary>
|
||||
/// 根据管线id获取管线状态
|
||||
/// </summary>
|
||||
/// <param name="pipelineId"></param>
|
||||
public static void GetStateByPipelineId(string pipelineId)
|
||||
{
|
||||
var mdoel = GetPipelineByPipelineId(pipelineId);
|
||||
@@ -91,6 +99,13 @@ namespace BLL
|
||||
{
|
||||
ActEndDate = Convert.ToDateTime(GetDateByPipelineId(pipelineId, ActDateType.ActDateEnd_FIELD));
|
||||
}
|
||||
if (PlanStartDate==null|| PlanEndDate==null)
|
||||
{
|
||||
mdoel.State = 0;
|
||||
|
||||
UpdatePipeline(mdoel);
|
||||
return;
|
||||
}
|
||||
if (ActStartDate==null&&DateTime.Compare(DateTime.Now,PlanStartDate.Value)<0)
|
||||
{
|
||||
mdoel.State = 0;
|
||||
@@ -114,6 +129,12 @@ namespace BLL
|
||||
UpdatePipeline(mdoel);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据管线id获取实际开始,实际完成日期
|
||||
/// </summary>
|
||||
/// <param name="pipelineId"></param>
|
||||
/// <param name="actDateType"></param>
|
||||
/// <returns></returns>
|
||||
public static string GetDateByPipelineId(object pipelineId, ActDateType actDateType)
|
||||
{
|
||||
string result ="";
|
||||
@@ -127,7 +148,7 @@ namespace BLL
|
||||
var joints = BLL.WeldJointService.GetWeldJointsByPipelineId(_pipelineId);
|
||||
int joint_Shop_count = joints.Where(x => x.JointAttribute == "预制口").Count();
|
||||
int joint_Field_count = joints.Where(x => x.JointAttribute == "安装口").Count();
|
||||
var TaskJoints = (from x in Funs.DB.View_HJGL_WeldingTask where x.ProjectId == pipemodel.ProjectId && x.PipelineCode == pipemodel.PipelineCode
|
||||
var TaskJoints = (from x in Funs.DB.View_HJGL_WeldingTask where x.ProjectId == pipemodel.ProjectId && x.PipelineCode == pipemodel.PipelineCode && x.WeldingDailyId!=null
|
||||
select x).ToList();
|
||||
var TaskJoints_Shop = TaskJoints.Where(x => x.JointAttribute == "预制口").ToList();
|
||||
var TaskJoints_Field= TaskJoints.Where(x => x.JointAttribute == "安装口").ToList();
|
||||
@@ -165,10 +186,66 @@ namespace BLL
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据焊口更改管线和组件(预制)的实际开始日期和完成日期
|
||||
/// </summary>
|
||||
/// <param name="WeldJointId"></param>
|
||||
public static void UpdataDateByWeldJointId(string WeldJointId)
|
||||
{
|
||||
|
||||
DateTime ActDateStart_FIELD = new DateTime();
|
||||
DateTime ActDateEnd_FIELD = new DateTime();
|
||||
|
||||
string JointAttribute = "";
|
||||
|
||||
var model_joint=BLL.WeldJointService.GetWeldJointByWeldJointId(WeldJointId);
|
||||
if (model_joint!=null)
|
||||
{
|
||||
JointAttribute = model_joint.JointAttribute;
|
||||
var model_pipeline = GetPipelineByPipelineId(model_joint.PipelineId);
|
||||
var joints = BLL.WeldJointService.GetWeldJointsByPipelineId(model_joint.PipelineId);
|
||||
var TaskJoints = (from x in Funs.DB.View_HJGL_WeldingTask
|
||||
where x.ProjectId == model_pipeline.ProjectId && x.PipelineCode == model_pipeline.PipelineCode && x.WeldingDailyId != null
|
||||
select x).ToList();
|
||||
switch (JointAttribute)
|
||||
{
|
||||
|
||||
case "安装口":
|
||||
int joint_Field_count = joints.Where(x => x.JointAttribute == "安装口").Count();
|
||||
var TaskJoints_Field = TaskJoints.Where(x => x.JointAttribute == "安装口").ToList();
|
||||
|
||||
if (TaskJoints_Field.Count > 0)
|
||||
{
|
||||
ActDateStart_FIELD = TaskJoints_Field.OrderBy(x => x.TaskDate).First().TaskDate.Value;
|
||||
}
|
||||
if (joint_Field_count == TaskJoints_Field.Count && joint_Field_count > 0)
|
||||
{
|
||||
ActDateEnd_FIELD = TaskJoints_Field.OrderByDescending(x => x.TaskDate).First().TaskDate.Value;
|
||||
}
|
||||
model_pipeline.ActStartDate = ActDateStart_FIELD;
|
||||
model_pipeline.ActEndDate = ActDateEnd_FIELD;
|
||||
UpdatePipeline(model_pipeline);
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// 根据管线code获取管线信息
|
||||
/// </summary>
|
||||
/// <param name="pipelineCode"></param>
|
||||
/// <returns></returns>
|
||||
public static Model.HJGL_Pipeline GetPipelineByPipelineCode(string pipelineCode)
|
||||
{
|
||||
return Funs.DB.HJGL_Pipeline.FirstOrDefault(e => e.PipelineCode == pipelineCode);
|
||||
}
|
||||
/// <summary>
|
||||
/// 根据管线信息筛选管线
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
/// <returns></returns>
|
||||
public static List<HJGL_Pipeline> GetView_HJGL_Pipelines(HJGL_Pipeline model)
|
||||
{
|
||||
var db = Funs.DB;
|
||||
@@ -228,6 +305,38 @@ namespace BLL
|
||||
return Funs.DB.View_HJGL_Pipeline.FirstOrDefault(e => e.PipelineId == pipelineId);
|
||||
}
|
||||
/// <summary>
|
||||
/// 根据主项id获取未完成管线
|
||||
/// </summary>
|
||||
/// <param name="unitworkId"></param>
|
||||
/// <returns></returns>
|
||||
public static List<string> GetNoComPipelinesByUnitWordId(string unitworkId)
|
||||
{
|
||||
var q = (from x in Funs.DB.View_HJGL_WeldJoint
|
||||
where x.UnitWorkId == unitworkId
|
||||
select new {
|
||||
PipelineId=x.PipelineId,
|
||||
WeldingDate=x.WeldingDate,
|
||||
PipelineCode=x.PipelineCode
|
||||
}).Distinct();
|
||||
if (q.Count()==0)
|
||||
{
|
||||
return new List<string>();
|
||||
}
|
||||
var noCompipeline = from x in q
|
||||
group x by x.PipelineId into g
|
||||
select new
|
||||
{
|
||||
PipelineId = g.Key,
|
||||
Count = (from x2 in g where x2.WeldingDate != null && x2.WeldingDate != "" select x2).Count(),
|
||||
};
|
||||
var NowComPipelineCode = (from x in q
|
||||
join y in noCompipeline on x.PipelineId equals y.PipelineId
|
||||
where y.Count == 0
|
||||
select x.PipelineCode
|
||||
).Distinct(). ToList();
|
||||
return NowComPipelineCode;
|
||||
}
|
||||
/// <summary>
|
||||
/// 下载预制口管线导入模板
|
||||
/// </summary>
|
||||
/// <param name="projectid"></param>
|
||||
@@ -377,7 +486,7 @@ namespace BLL
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据管线Code获取管线信息
|
||||
/// 根据管线code查询管线是否存在
|
||||
/// </summary>
|
||||
/// <param name="isoNo"></param>
|
||||
/// <returns></returns>
|
||||
@@ -404,20 +513,12 @@ namespace BLL
|
||||
}
|
||||
}
|
||||
|
||||
public static bool IsExistPipelineCode(string pipelineCode, string unitWorkId)
|
||||
{
|
||||
Model.SGGLDB db = Funs.DB;
|
||||
Model.HJGL_Pipeline q = null;
|
||||
q = Funs.DB.HJGL_Pipeline.FirstOrDefault(x => x.PipelineCode == pipelineCode && x.UnitWorkId == unitWorkId);
|
||||
if (q != null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 根据管线code获取管线信息
|
||||
/// </summary>
|
||||
/// <param name="pipelineCode">管线号</param>
|
||||
/// <param name="unitWorkId">主项id</param>
|
||||
/// <returns></returns>
|
||||
public static HJGL_Pipeline GetPipelineByCode(string pipelineCode, string unitWorkId)
|
||||
{
|
||||
Model.SGGLDB db = Funs.DB;
|
||||
@@ -425,7 +526,10 @@ namespace BLL
|
||||
q = Funs.DB.HJGL_Pipeline.FirstOrDefault(x => x.PipelineCode == pipelineCode && x.UnitWorkId == unitWorkId);
|
||||
return q;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加管线信息
|
||||
/// </summary>
|
||||
/// <param name="pipeline"></param>
|
||||
public static void AddPipeline(Model.HJGL_Pipeline pipeline)
|
||||
{
|
||||
Model.SGGLDB db = Funs.DB;
|
||||
@@ -520,7 +624,11 @@ namespace BLL
|
||||
}
|
||||
}
|
||||
|
||||
// 管线划分
|
||||
/// <summary>
|
||||
/// 修改管线划分
|
||||
/// </summary>
|
||||
/// <param name="pipelineId"></param>
|
||||
/// <param name="pipelineArea"></param>
|
||||
public static void UpdatePipelineArea(string pipelineId, string pipelineArea)
|
||||
{
|
||||
Model.SGGLDB db = Funs.DB;
|
||||
|
||||
Reference in New Issue
Block a user