2023-02-20 001 焊接修改

This commit is contained in:
2023-02-20 10:49:51 +08:00
parent 7e66339f48
commit ef6bbc170e
37 changed files with 1649 additions and 306 deletions
+126 -18
View File
@@ -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;