焊接材料修改

This commit is contained in:
2025-02-18 17:38:49 +08:00
parent d8cd15555d
commit 96d8567515
18 changed files with 161 additions and 75 deletions
+25 -6
View File
@@ -171,15 +171,29 @@ namespace BLL
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var results = new List<Tw_PipeMatMatchOutput>();
var results = new List<Tw_PipeMatMatchOutput>();
string [] taskPipeLineList= null;
var inoutPlanMasterl = db.Tw_InOutPlanMaster.FirstOrDefault(x => x.Id == outPlanMasterId);
if (inoutPlanMasterl!=null)
{
if (inoutPlanMasterl.WeldTaskId.Split('|').Length==4)
{
taskPipeLineList = Funs.DB.View_HJGL_WeldingTask.Where(e =>
e.UnitWorkId == inoutPlanMasterl.WeldTaskId.Split('|')[0].ToString()
&& e.UnitId == inoutPlanMasterl.WeldTaskId.Split('|')[1].ToString()
&& e.TaskDate.Value.Date == DateTime
.ParseExact(inoutPlanMasterl.WeldTaskId.Split('|')[2].ToString(), "yyyyMMdd", null).Date
&& e.SerialNumber == inoutPlanMasterl.WeldTaskId.Split('|')[3].ToString()
).Distinct().OrderBy(x => x.PipeLineSortIndex).Select(x => x.PipelineId).ToArray();
}
}
// 获取所需材料列表
var requiredMaterials = (from x in db.Tw_InOutPlanDetail_Relation
join master in db.Tw_InOutPlanMaster on x.InOutPlanMasterId equals master.Id
join y in db.HJGL_MaterialCodeLib on x.MaterialCode equals y.MaterialCode
join z in db.HJGL_Pipeline on x.PipelineId equals z.PipelineId
join t in db.HJGL_WeldTask on master.WeldTaskId equals t.WeldTaskId
where x.InOutPlanMasterId == outPlanMasterId
where x.InOutPlanMasterId == outPlanMasterId
select new Tw_PipeMatMatchOutput
{
Id = Guid.NewGuid().ToString(),
@@ -191,12 +205,17 @@ namespace BLL
MaterialSpec = y.MaterialSpec,
MaterialUnit = y.MaterialUnit,
MaterialDef = y.MaterialDef,
NeedNum = x.Number,
PipeLineSortIndex=t.PipeLineSortIndex
NeedNum = x.Number
}
).ToList();
if (taskPipeLineList != null && taskPipeLineList.Any())
{
requiredMaterials = requiredMaterials.OrderBy(x => Array.IndexOf(taskPipeLineList, x.PipelineId.ToString())).ToList();
}
var masterModle = db.Tw_InOutPlanMaster.FirstOrDefault(x => x.Id == outPlanMasterId);
results = GetMatMatchOutput(requiredMaterials.OrderBy(x=>x.PipelineId).ThenBy(x=>x.MaterialCode).ToList(), masterModle.WarehouseCode, masterModle.ProjectId);
results = GetMatMatchOutput(requiredMaterials, masterModle.WarehouseCode, masterModle.ProjectId);
return results;
}