111
This commit is contained in:
@@ -1307,11 +1307,11 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage
|
||||
{
|
||||
if (wmeCodes.Count() <= 1) // 一种焊接方法
|
||||
{
|
||||
canSave = IsOK(floorWelderQualifys, wmeCodes[0], location, weldTypeGroup, ste, dia, sch);
|
||||
canSave = BLL.WelderQualifiedService.IsOK(floorWelderQualifys, wmeCodes[0], location, weldTypeGroup, ste, dia, sch);
|
||||
}
|
||||
else // 大于一种焊接方法,如氩电联焊
|
||||
{
|
||||
canSave = TwoWmeIsOK(floorWelderQualifys, cellWelderQualifys, wmeCodes[0], wmeCodes[1], location, weldTypeGroup, ste, dia, sch);
|
||||
canSave = BLL.WelderQualifiedService.TwoWmeIsOK(floorWelderQualifys, cellWelderQualifys, wmeCodes[0], wmeCodes[1], location, weldTypeGroup, ste, dia, sch);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1325,11 +1325,11 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage
|
||||
{
|
||||
if (floorWelderQualifys != null && floorWelderQualifys.Count() > 0)
|
||||
{
|
||||
isok1 = IsOK(floorWelderQualifys, wmeCodes[0], location, weldTypeGroup, ste, dia, sch);
|
||||
isok1 = BLL.WelderQualifiedService.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);
|
||||
isok2 = BLL.WelderQualifiedService.IsOK(cellWelderQualifys, wmeCodes[0], location, weldTypeGroup, ste, dia, sch);
|
||||
}
|
||||
if (isok1 && isok2)
|
||||
{
|
||||
@@ -1338,7 +1338,7 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage
|
||||
}
|
||||
else
|
||||
{
|
||||
canSave = TwoWmeIsOK(floorWelderQualifys, cellWelderQualifys, wmeCodes[0], wmeCodes[1], location, weldTypeGroup, ste, dia, sch);
|
||||
canSave = BLL.WelderQualifiedService.TwoWmeIsOK(floorWelderQualifys, cellWelderQualifys, wmeCodes[0], wmeCodes[1], location, weldTypeGroup, ste, dia, sch);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1650,201 +1650,6 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 资质分析
|
||||
private bool IsOK(List<Model.Welder_WelderQualify> welderQualifys, string wmeCode, string location, string weldTypeGroup, string ste, decimal? dia, decimal? sch)
|
||||
{
|
||||
bool isok = false;
|
||||
foreach (var welderQualify in welderQualifys)
|
||||
{
|
||||
int okNum = 0;
|
||||
|
||||
if (!string.IsNullOrEmpty(wmeCode)) //焊接方法
|
||||
{
|
||||
if (wmeCode.Contains(welderQualify.WeldingMethodId))
|
||||
{
|
||||
okNum++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
okNum++;
|
||||
}
|
||||
|
||||
if (welderQualify.WeldingLocationId == "ALL") //焊接位置
|
||||
{
|
||||
okNum++;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!string.IsNullOrEmpty(location))
|
||||
{
|
||||
if (welderQualify.WeldingLocationId.Contains(location))
|
||||
{
|
||||
okNum++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
okNum++;
|
||||
}
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(weldTypeGroup))
|
||||
{
|
||||
if (welderQualify.WeldType.Contains(weldTypeGroup))
|
||||
{
|
||||
okNum++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
okNum++;
|
||||
}
|
||||
|
||||
var steel = BLL.Base_MaterialService.GetMaterialByMaterialId(ste);
|
||||
if (steel != null) //钢材类型
|
||||
{
|
||||
if (welderQualify.MaterialType.Contains(steel.MaterialType ?? ""))
|
||||
{
|
||||
okNum++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
okNum++;
|
||||
}
|
||||
|
||||
if (weldTypeGroup != "2") // 承插焊
|
||||
{
|
||||
if (welderQualify.SizesMin == 0) // 0表示不限
|
||||
{
|
||||
okNum++;
|
||||
}
|
||||
else //最小寸径
|
||||
{
|
||||
if (dia != null)
|
||||
{
|
||||
if (dia >= welderQualify.SizesMin)
|
||||
{
|
||||
okNum++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
okNum++;
|
||||
}
|
||||
}
|
||||
|
||||
if (welderQualify.ThicknessMax == 0) // 0表示不限
|
||||
{
|
||||
okNum++;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (sch != null) //最大壁厚
|
||||
{
|
||||
if (sch <= welderQualify.ThicknessMax)
|
||||
{
|
||||
okNum++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
okNum++;
|
||||
}
|
||||
}
|
||||
}
|
||||
else // 当为角焊缝时,管径和壁厚不限制
|
||||
{
|
||||
okNum++;
|
||||
okNum++;
|
||||
}
|
||||
|
||||
|
||||
if (okNum == 6) //全部条件符合
|
||||
{
|
||||
isok = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return isok;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 两种焊接方法的资质判断
|
||||
/// </summary>
|
||||
/// <param name="floorWelderQualifys"></param>
|
||||
/// <param name="cellWelderQualifys"></param>
|
||||
/// <param name="wmeCode1"></param>
|
||||
/// <param name="wmeCode2"></param>
|
||||
/// <param name="location"></param>
|
||||
/// <param name="ste"></param>
|
||||
/// <param name="dia"></param>
|
||||
/// <param name="sch"></param>
|
||||
/// <returns></returns>
|
||||
private bool TwoWmeIsOK(List<Model.Welder_WelderQualify> floorWelderQualifys, List<Model.Welder_WelderQualify> cellWelderQualifys, string wmeCode1, string wmeCode2, string location, string weldTypeGroup, string ste, decimal? dia, decimal? sch)
|
||||
{
|
||||
bool isok = false;
|
||||
|
||||
decimal? fThicknessMax = 0;
|
||||
decimal? cThicknessMax = 0;
|
||||
|
||||
var steel = BLL.Base_MaterialService.GetMaterialByMaterialId(ste);
|
||||
var floorQ = from x in floorWelderQualifys
|
||||
where wmeCode1.Contains(x.WeldingMethodId)
|
||||
&& (x.WeldingLocationId == "ALL" || (location == null || location == "" || x.WeldingLocationId.Contains(location)))
|
||||
&& (steel == null || x.MaterialType.Contains(steel.MaterialType ?? ""))
|
||||
&& (weldTypeGroup == null || x.WeldType.Contains(weldTypeGroup))
|
||||
// && (dia == null || x.SizesMin<=dia)
|
||||
select x;
|
||||
var cellQ = from x in cellWelderQualifys
|
||||
where wmeCode2.Contains(x.WeldingMethodId)
|
||||
&& (x.WeldingLocationId == "ALL" || (location == null || location == "" || x.WeldingLocationId.Contains(location)))
|
||||
&& (steel == null || x.MaterialType.Contains(steel.MaterialType ?? ""))
|
||||
&& (weldTypeGroup == null || x.WeldType.Contains(weldTypeGroup))
|
||||
// && (dia == null || x.SizesMin <= dia)
|
||||
select x;
|
||||
if (floorQ.Count() > 0 && cellQ.Count() > 0)
|
||||
{
|
||||
if (weldTypeGroup != "2") // 当为角焊缝时,管径和壁厚不限制
|
||||
{
|
||||
var floorDiaQ = floorQ.Where(x => x.SizesMin <= dia);
|
||||
var cellDiaQ = cellQ.Where(x => x.SizesMin <= dia);
|
||||
|
||||
if (floorDiaQ.Count() > 0 && cellDiaQ.Count() > 0)
|
||||
{
|
||||
var fThick = floorDiaQ.Where(x => x.ThicknessMax == 0);
|
||||
var cThick = cellDiaQ.Where(x => x.ThicknessMax == 0);
|
||||
|
||||
// 只要有一个不限(为0)就通过
|
||||
if (fThick.Count() > 0 || cThick.Count() > 0)
|
||||
{
|
||||
isok = true;
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
fThicknessMax = floorQ.Max(x => x.ThicknessMax);
|
||||
cThicknessMax = cellQ.Max(x => x.ThicknessMax);
|
||||
|
||||
if ((fThicknessMax + cThicknessMax) >= sch)
|
||||
{
|
||||
isok = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
isok = true;
|
||||
}
|
||||
}
|
||||
|
||||
return isok;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 关闭弹出窗口及刷新页面
|
||||
/// <summary>
|
||||
/// 关闭弹出窗口
|
||||
|
||||
Reference in New Issue
Block a user