This commit is contained in:
2024-05-25 17:32:16 +08:00
parent c0c2738e7f
commit e1a0c2d934
6 changed files with 217 additions and 229 deletions
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Data;
using System.Linq;
using BLL;
using Model;
using Newtonsoft.Json.Linq;
namespace FineUIPro.Web.WeldingProcess.WeldingManage
@@ -323,14 +324,15 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage
return;
}
// 焊工资质
// 焊工合格项资质错误信息
string eventArg = string.Empty;
// 验证错误
// 焊工WPS验证错误信息
string errorCheck = string.Empty;
// 日报信息验证错误信息
string errorInfos = string.Empty;
List<Model.SpWeldingDailyItem> GetWeldingDailyItem = this.CollectGridJointInfo();
#region WPS验证
#region WPS验证
int rowIndex = 1;
foreach (var item in GetWeldingDailyItem)
{
@@ -342,38 +344,29 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage
{
if (!wps.WelderIds.Contains(item.BackingWelderId))
{
if (!eventArg.Contains(item.BackingWelderId))
{
eventArg += rowIndex + "行,焊工:" + item.BackingWelderCode + "无资质,";
}
errorCheck += rowIndex + "行,焊工:" + item.BackingWelderCode + "无WPS焊接资质,";
}
}
else
{
if (!wps.WelderIds.Contains(item.BackingWelderId))
{
if (!eventArg.Contains(item.BackingWelderId))
{
eventArg += rowIndex + "行,焊工:" + item.BackingWelderCode + "无资质,";
}
errorCheck += rowIndex + "行,焊工:" + item.BackingWelderCode + "无WPS焊接资质,";
}
if (!wps.WelderIds.Contains(item.CoverWelderId))
{
if (!eventArg.Contains(item.CoverWelderId))
{
eventArg += rowIndex + "行,焊工:" + item.CoverWelderId + "无资质,";
}
errorCheck += rowIndex + "行,焊工:" + item.CoverWelderId + "无WPS焊接资质,";
}
}
// 验证数据是否一至
if (!string.IsNullOrEmpty(item.WeldTypeId) && !string.IsNullOrEmpty(jot.WeldTypeId) && item.WeldTypeId != jot.WeldTypeId)
{
errorCheck += rowIndex + "行,焊缝类型:" + item.WeldTypeId + "验证不一至,";
errorInfos += rowIndex + "行,焊缝类型:" + item.WeldTypeId + "验证不一至,";
}
if (!string.IsNullOrEmpty(item.JointAttribute) && !string.IsNullOrEmpty(jot.JointAttribute) && item.JointAttribute != jot.JointAttribute)
{
errorCheck += rowIndex + "行,焊口属性:" + item.JointAttribute + "验证不一至,";
errorInfos += rowIndex + "行,焊口属性:" + item.JointAttribute + "验证不一至,";
}
//if (!string.IsNullOrEmpty(item.WeldingLocationId) && !string.IsNullOrEmpty(jot.WeldingLocationId) && item.WeldingLocationId != jot.WeldingLocationId)
@@ -383,12 +376,12 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage
if (item.Size!=null && jot.Size!=null && item.Size != jot.Size)
{
errorCheck += rowIndex + "行,管径:" + item.JointAttribute + "验证不一至,";
errorInfos += rowIndex + "行,管径:" + item.JointAttribute + "验证不一至,";
}
if (!string.IsNullOrEmpty(item.ANSISCH) && !string.IsNullOrEmpty(jot.ANSISCH) && item.ANSISCH != jot.ANSISCH)
{
errorCheck += rowIndex + "行,美标壁厚:" + item.ANSISCH + "验证不一至,";
errorInfos += rowIndex + "行,美标壁厚:" + item.ANSISCH + "验证不一至,";
}
//if (!string.IsNullOrEmpty(item.MaterialId1) && !string.IsNullOrEmpty(jot.Material1Id) && jot.Material1Id != item.MaterialId1)
@@ -401,11 +394,11 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage
//}
if (!string.IsNullOrEmpty(item.Components1Id) && !string.IsNullOrEmpty(jot.PipeAssembly1Id) && jot.PipeAssembly1Id != item.Components1Id)
{
errorCheck += rowIndex + "行,组件1" + item.Components1Code + "验证不一至,";
errorInfos += rowIndex + "行,组件1" + item.Components1Code + "验证不一至,";
}
if (!string.IsNullOrEmpty(item.Components2Id) && !string.IsNullOrEmpty(jot.PipeAssembly2Id) && jot.PipeAssembly2Id != item.Components2Id)
{
errorCheck += rowIndex + "行,组件2" + item.Components2Code + "验证不一至,";
errorInfos += rowIndex + "行,组件2" + item.Components2Code + "验证不一至,";
}
//if (!string.IsNullOrEmpty(item.HeartNo1) && !string.IsNullOrEmpty(jot.HeartNo1) && jot.HeartNo1 != item.HeartNo1)
@@ -418,7 +411,7 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage
//}
if (!string.IsNullOrEmpty(item.PipeSegment) && !string.IsNullOrEmpty(jot.PipeSegment) && jot.PipeSegment != item.PipeSegment)
{
errorCheck += rowIndex + "行,所属管段:" + item.PipeSegment + "验证不一至,";
errorInfos += rowIndex + "行,所属管段:" + item.PipeSegment + "验证不一至,";
}
//if (!string.IsNullOrEmpty(item.WPQId) && !string.IsNullOrEmpty(jot.WPQId) && jot.WPQId != item.WPQId)
//{
@@ -429,99 +422,99 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage
}
#endregion
#region
//// 焊工资质
//foreach (var item in GetWeldingDailyItem)
//{
// bool canSave = false;
// var jot = BLL.Pipeline_WeldJointService.GetWeldJointByWeldJointId(item.WeldJointId);
// var joty = BLL.Base_WeldTypeService.GetWeldTypeByWeldTypeId(jot.WeldTypeId);
// string weldTypeGroup = joty.Flag;
// string weldTypeCode = joty.WeldTypeCode;
// string floorWelder = item.BackingWelderId;
// string cellWelder = item.CoverWelderId;
// decimal? dia = item.Dia;
// decimal? sch = item.Thickness;
// //string wme = item.WeldingMethodCode;
// //string wmeCode = string.Empty;
// //var wm = BLL.HJGL_WeldingMethodService.GetWeldMethodByWMEID(item.WME_ID);
// //if (wm != null)
// //{
// // wmeCode = wm.WME_Code;
// //}
#region
// 焊工资质
foreach (var item in GetWeldingDailyItem)
{
bool canSave = false;
var jot = BLL.Pipeline_WeldJointService.GetWeldJointByWeldJointId(item.WeldJointId);
var joty = BLL.Base_WeldTypeService.GetWeldTypeByWeldTypeId(jot.WeldTypeId);
string weldTypeGroup = joty.Flag;
string weldTypeCode = joty.WeldTypeCode;
string floorWelder = item.BackingWelderId;
string cellWelder = item.CoverWelderId;
decimal? dia = item.Dia;
decimal? sch = item.Thickness;
//string wme = item.WeldingMethodCode;
//string wmeCode = string.Empty;
//var wm = BLL.HJGL_WeldingMethodService.GetWeldMethodByWMEID(item.WME_ID);
//if (wm != null)
//{
// wmeCode = wm.WME_Code;
//}
// string[] wmeCodes = item.WeldingMethodCode.Split('+');
// string location = item.WeldingLocationCode;
// string ste = jot.Material1Id;
// var projectWelder = BLL.Welder_ProjectWelderService.GetProjectWelderByProjectIdAndWelderId(this.ProjectId,item.BackingWelderId);
// var projectUnit = BLL.Project_UnitService.GetProject_UnitByProjectIdUnitId(this.ProjectId,projectWelder.UnitId);
// if (projectUnit != null && projectUnit.WelderQueIsUse == true)
// {
// List<Model.Welder_WelderQualify> floorWelderQualifys = (from x in Funs.DB.Welder_WelderQualify
// where x.WelderId == floorWelder && x.WeldingMethodId != null
// && x.WeldingLocationId != null && x.MaterialType != null
// && x.WeldType != null
// && x.ThicknessMax != null && x.SizesMin != null
// select x).ToList();
string[] wmeCodes = item.WeldingMethodCode.Split('+');
string location = item.WeldingLocationCode;
string ste = jot.Material1Id;
var projectWelder = BLL.Welder_ProjectWelderService.GetProjectWelderByProjectIdAndWelderId(this.ProjectId, item.BackingWelderId);
var projectUnit = BLL.Project_UnitService.GetProject_UnitByProjectIdUnitId(this.ProjectId, projectWelder.UnitId);
if (projectUnit != null && projectUnit.WelderQueIsUse == true)
{
List<Model.Welder_WelderQualify> floorWelderQualifys = (from x in Funs.DB.Welder_WelderQualify
where x.WelderId == floorWelder && x.WeldingMethodId != null
&& x.WeldingLocationId != null && x.MaterialType != null
&& x.WeldType != null
&& x.ThicknessMax != null && x.SizesMin != null
select x).ToList();
// List<Model.Welder_WelderQualify> cellWelderQualifys = (from x in Funs.DB.Welder_WelderQualify
// where x.WelderId == cellWelder && x.WeldingMethodId != null
// && x.WeldingLocationId != null && x.MaterialType != null
// && x.WeldType != null
// && x.ThicknessMax != null && x.SizesMin != null
// select x).ToList();
// // 打底和盖面同一焊工
// if (floorWelder == cellWelder)
// {
// if (floorWelderQualifys != null && floorWelderQualifys.Count() > 0)
// {
// if (wmeCodes.Count() <= 1) // 一种焊接方法
// {
// canSave = IsOK(floorWelderQualifys, wmeCodes[0], location, weldTypeGroup, ste, dia, sch);
// }
// else // 大于一种焊接方法,如氩电联焊
// {
// canSave = TwoWmeIsOK(floorWelderQualifys, cellWelderQualifys, wmeCodes[0], wmeCodes[1], location, weldTypeGroup, ste, dia, sch);
// }
// }
// }
// // 打底和盖面焊工不同
// else
// {
// bool isok1 = false;
// bool isok2 = false;
List<Model.Welder_WelderQualify> cellWelderQualifys = (from x in Funs.DB.Welder_WelderQualify
where x.WelderId == cellWelder && x.WeldingMethodId != null
&& x.WeldingLocationId != null && x.MaterialType != null
&& x.WeldType != null
&& x.ThicknessMax != null && x.SizesMin != null
select x).ToList();
// 打底和盖面同一焊工
if (floorWelder == cellWelder)
{
if (floorWelderQualifys != null && floorWelderQualifys.Count() > 0)
{
if (wmeCodes.Count() <= 1) // 一种焊接方法
{
canSave = IsOK(floorWelderQualifys, wmeCodes[0], location, weldTypeGroup, ste, dia, sch);
}
else // 大于一种焊接方法,如氩电联焊
{
canSave = TwoWmeIsOK(floorWelderQualifys, cellWelderQualifys, wmeCodes[0], wmeCodes[1], location, weldTypeGroup, ste, dia, sch);
}
}
}
// 打底和盖面焊工不同
else
{
bool isok1 = false;
bool isok2 = false;
// if (wmeCodes.Count() <= 1) // 一种焊接方法
// {
// if (floorWelderQualifys != null && floorWelderQualifys.Count() > 0)
// {
// isok1 = IsOK(floorWelderQualifys, wmeCodes[0], location, weldTypeGroup, ste, dia, sch);
// }
// if (cellWelderQualifys != null && cellWelderQualifys.Count() > 0)
// {
// isok2 = IsOK(cellWelderQualifys, wmeCodes[0], location, weldTypeGroup, ste, dia, sch);
// }
// if (isok1 && isok2)
// {
// canSave = true;
// }
// }
// else
// {
// canSave = TwoWmeIsOK(floorWelderQualifys, cellWelderQualifys, wmeCodes[0], wmeCodes[1], location, weldTypeGroup, ste, dia, sch);
// }
// }
// }
// else
// {
// canSave = true;
// }
if (wmeCodes.Count() <= 1) // 一种焊接方法
{
if (floorWelderQualifys != null && floorWelderQualifys.Count() > 0)
{
isok1 = IsOK(floorWelderQualifys, wmeCodes[0], location, weldTypeGroup, ste, dia, sch);
}
if (cellWelderQualifys != null && cellWelderQualifys.Count() > 0)
{
isok2 = IsOK(cellWelderQualifys, wmeCodes[0], location, weldTypeGroup, ste, dia, sch);
}
if (isok1 && isok2)
{
canSave = true;
}
}
else
{
canSave = TwoWmeIsOK(floorWelderQualifys, cellWelderQualifys, wmeCodes[0], wmeCodes[1], location, weldTypeGroup, ste, dia, sch);
}
}
}
else
{
canSave = true;
}
// if (canSave == false)
// {
// eventArg = eventArg + jot.WeldJointCode + ",";
// }
//}
if (canSave == false)
{
eventArg = eventArg + jot.WeldJointCode + ",";
}
}
#endregion
#region 线
@@ -725,7 +718,12 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage
//}
#endregion
if (!string.IsNullOrEmpty(errorCheck))
if (!string.IsNullOrEmpty(errorInfos))
{
ShowNotify(errorInfos, MessageBoxIcon.Warning, 10000);
return;
}
else if (!string.IsNullOrEmpty(errorCheck))
{
errorCheck = errorCheck + "请更正后再提交保存";
ShowNotify(errorCheck, MessageBoxIcon.Warning, 10000);