This commit is contained in:
2024-01-19 15:24:27 +08:00
4 changed files with 645 additions and 205 deletions
Binary file not shown.
@@ -101,18 +101,38 @@
</f:Button> </f:Button>
</Items> </Items>
</f:Toolbar> </f:Toolbar>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left"> <f:Toolbar ID="TbPipeline" Position="Top" runat="server" ToolbarAlign="Left" Hidden="True">
<Items> <Items>
<f:Label ID="lbSinglePreRate" CssClass="customlabel" runat="server" Label="主项预制率(达因)" LabelWidth="140"></f:Label> <f:Label ID="lbPipeSinglePreRate" CssClass="customlabel" runat="server" Label="图纸预制率(达因)" LabelWidth="140"></f:Label>
<f:Label ID="lbShopSize" CssClass="customlabel" runat="server" Label="预制口达因" LabelWidth="100"></f:Label> <f:Label ID="lbPipeShopSize" CssClass="customlabel" runat="server" Label="预制口达因" LabelWidth="140"></f:Label>
<f:Label ID="lbFiledSize" CssClass="customlabel" runat="server" Label="安装口达因" LabelWidth="100"></f:Label> <f:Label ID="lbPipeFiledSize" CssClass="customlabel" runat="server" Label="安装口达因" LabelWidth="140"></f:Label>
<f:Label ID="Label2" runat="server" LabelWidth="100"></f:Label> <f:Label ID="Label2" runat="server" LabelWidth="100"></f:Label>
<f:Label ID="lbSinglePreRateByWeldJoint" CssClass="customlabelNum" runat="server" Label="主项预制率(焊口)" LabelWidth="140"></f:Label> <f:Label ID="lbPipeSinglePreRateByWeldJoint" CssClass="customlabelNum" runat="server" Label="图纸预制率(焊口)" LabelWidth="140"></f:Label>
<f:Label ID="lbShopSum" CssClass="customlabelNum" runat="server" Label="预制口数量" LabelWidth="140"></f:Label> <f:Label ID="lbPipeShopSum" CssClass="customlabelNum" runat="server" Label="预制口数量" LabelWidth="140"></f:Label>
<f:Label ID="lbFiledSum" CssClass="customlabelNum" runat="server" Label="安装口数量" LabelWidth="140"></f:Label> <f:Label ID="lbPipeFiledSum" CssClass="customlabelNum" runat="server" Label="安装口数量" LabelWidth="140"></f:Label>
</Items> </Items>
</f:Toolbar> </f:Toolbar>
<f:Toolbar ID="TbUnitWork" Position="Top" runat="server" ToolbarAlign="Left" Hidden="True">
<Items>
<f:Label ID="lbUWTotalDin" CssClass="customlabel" runat="server" Label="主项总达因(达因)" LabelWidth="140"></f:Label>
<f:Label ID="lbUWPreRate" CssClass="customlabel" runat="server" Label="主项预制率(达因)" LabelWidth="140"></f:Label>
<f:Label ID="lbUWShopSize" CssClass="customlabel" runat="server" Label="预制口总达因" LabelWidth="140"></f:Label>
<f:Label ID="lbUWFiledSize" CssClass="customlabel" runat="server" Label="安装口总达因" LabelWidth="140"></f:Label>
<f:Label ID="Label6" runat="server" LabelWidth="100"></f:Label>
</Items>
</f:Toolbar>
<f:Toolbar ID="TbUnitWork2" Position="Top" runat="server" ToolbarAlign="Left" Hidden="True">
<Items>
<f:Label ID="lbUWSinglePreRateByDin" CssClass="customlabelNum" runat="server" Label="主项图纸预制率(达因)" LabelWidth="180"></f:Label>
<f:Label ID="lbUWShopSizeByLineShop" CssClass="customlabelNum" runat="server" Label="预制口达因(工厂)" LabelWidth="140"></f:Label>
<f:Label ID="lbUWFiledSizeByLineShop" CssClass="customlabelNum" runat="server" Label="安装口达因(工厂)" LabelWidth="140"></f:Label>
<f:Label ID="lbUWSinglePreRateByWeldJoint" CssClass="customlabelNum" runat="server" Label="主项图纸预制率(焊口)" LabelWidth="180"></f:Label>
<f:Label ID="lbUWShopSum" CssClass="customlabelNum" runat="server" Label="预制口数量(工厂)" LabelWidth="140"></f:Label>
<f:Label ID="lbUWFiledSum" CssClass="customlabelNum" runat="server" Label="安装口数量(工厂)" LabelWidth="140"></f:Label>
</Items>
</f:Toolbar>
</Toolbars> </Toolbars>
<Items> <Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="管线信息" <f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="管线信息"
@@ -18,23 +18,6 @@ namespace FineUIPro.Web.HJGL.WeldingManage
{ {
public int pageSize = PipelineService.pageSize; public int pageSize = PipelineService.pageSize;
public static List<Model.HJGL_WeldJoint> WeldJointlist = new List<Model.HJGL_WeldJoint>(); public static List<Model.HJGL_WeldJoint> WeldJointlist = new List<Model.HJGL_WeldJoint>();
/// <summary>
/// 预制口总达因
/// </summary>
public static string ShopSumSize = "0";
/// <summary>
/// 安装口总达因
/// </summary>
public static string FieldSumSize = "0";
/// <summary>
/// 预制口总数量
/// </summary>
public static string ShopSum = "0";
/// <summary>
/// 安装口总数量
/// </summary>
public static string FieldSum = "0";
protected void Page_Load(object sender, EventArgs e) protected void Page_Load(object sender, EventArgs e)
{ {
@@ -241,30 +224,41 @@ namespace FineUIPro.Web.HJGL.WeldingManage
if (pipeline != null) if (pipeline != null)
{ {
this.hdUnitWorkId.Text = this.tvControlItem.SelectedNode.ParentNode.NodeID; this.hdUnitWorkId.Text = this.tvControlItem.SelectedNode.ParentNode.NodeID;
TbPipeline.Hidden = false;
TbUnitWork.Hidden = true;
TbUnitWork2.Hidden = true;
this.BindGrid1(this.tvControlItem.SelectedNodeID); this.BindGrid1(this.tvControlItem.SelectedNodeID);
this.BindGrid2(this.tvControlItem.SelectedNodeID); this.BindGrid2(this.tvControlItem.SelectedNodeID);
this.BindGrid3(this.tvControlItem.SelectedNodeID); this.BindGrid3(this.tvControlItem.SelectedNodeID);
this.lbSinglePreRate.Label = "图纸预制率(达因)";
this.lbSinglePreRate.Text = GetRateByPipelineid(this.tvControlItem.SelectedNodeID);
this.lbSinglePreRateByWeldJoint.Label = "图纸预制率(焊口)";
this.lbSinglePreRateByWeldJoint.Text = GetWeldJointRateByPipelineid(this.tvControlItem.SelectedNodeID);
lbPipeSinglePreRate.Text = GetRateByPipelineid(this.tvControlItem.SelectedNodeID);
lbPipeShopSize.Text = GetShopSumDinByPipelineid(this.tvControlItem.SelectedNodeID).ToString();
lbPipeFiledSize.Text = GetFieldSumDinByPipelineid(this.tvControlItem.SelectedNodeID).ToString();
lbPipeSinglePreRateByWeldJoint.Text = GetWeldJointRateByPipelineid(this.tvControlItem.SelectedNodeID);
lbPipeShopSum.Text = GetShopSumByPipelineid(this.tvControlItem.SelectedNodeID).ToString();
lbPipeFiledSum.Text = GetFieldSumByPipelineid(this.tvControlItem.SelectedNodeID).ToString();
} }
else else
{ {
this.hdUnitWorkId.Text = this.tvControlItem.SelectedNodeID; this.hdUnitWorkId.Text = this.tvControlItem.SelectedNodeID;
this.lbSinglePreRate.Label = "主项预制率(达因)";
this.lbSinglePreRate.Text = GetRateByUnitWork(this.tvControlItem.SelectedNodeID);
this.lbSinglePreRateByWeldJoint.Label = "主项预制率(焊口)"; TbPipeline.Hidden = true;
this.lbSinglePreRateByWeldJoint.Text = GetWeldJointRateByUnitWork(this.tvControlItem.SelectedNodeID); TbUnitWork.Hidden = false;
TbUnitWork2.Hidden = false;
lbUWTotalDin.Text= GetSumDinByUnitWorkId(this.tvControlItem.SelectedNodeID).ToString();
lbUWPreRate.Text = GetRateByUnitWork(this.tvControlItem.SelectedNodeID);
lbUWShopSize.Text = GetShopSumDinByUnitWork(this.tvControlItem.SelectedNodeID).ToString();
lbUWFiledSize.Text = GetFieldSumDinByUnitWork2(this.tvControlItem.SelectedNodeID).ToString();
lbUWSinglePreRateByDin.Text = GetShopRateByUnitWork(this.tvControlItem.SelectedNodeID).ToString();
lbUWShopSizeByLineShop.Text= GetShopSumDinByUnitWork(this.tvControlItem.SelectedNodeID).ToString();
lbUWFiledSizeByLineShop.Text= GetFieldSumDinByUnitWork(this.tvControlItem.SelectedNodeID).ToString();
lbUWSinglePreRateByWeldJoint.Text = GetWeldJointRateByUnitWork(this.tvControlItem.SelectedNodeID).ToString();
lbUWShopSum.Text = GetShopSumByUnitWork(this.tvControlItem.SelectedNodeID).ToString();
lbUWFiledSum.Text = GetFieldSumByUnitWork(this.tvControlItem.SelectedNodeID).ToString();
} }
this.lbShopSize.Text = ShopSumSize;
this.lbFiledSize.Text = FieldSumSize;
this.lbShopSum.Text = ShopSum;
this.lbFiledSum.Text = FieldSum;
} }
} }
@@ -411,90 +405,18 @@ namespace FineUIPro.Web.HJGL.WeldingManage
#endregion #endregion
#endregion #endregion
#region #region 线
private string GetRateByUnitWork(string unitworkid) /// <summary>
{ /// 图纸预制率(达因)(预制口总达因/主项总达因数)
var db = Funs.DB; /// </summary>
var q = from x in db.View_HJGL_WeldJoint where x.UnitWorkId == unitworkid select x; /// <param name="pipelineid"></param>
string rate = ""; /// <returns></returns>
ShopSumSize = "0";
FieldSumSize = "0";
if (q != null && q.Count() > 0)
{
var proSum = (from x in q
where x.JointAttribute == "预制口"
group x by x.UnitWorkId into g
select new
{
SizeSum = g.Sum(x => x.Size)
}).FirstOrDefault()?.SizeSum;
var FieldSum = (from x in q
where x.JointAttribute == "安装口"
group x by x.UnitWorkId into g
select new
{
SizeSum = g.Sum(x => x.Size)
}).FirstOrDefault()?.SizeSum;
var AllSum = (from x in q
group x by x.UnitWorkId into g
select new
{
SizeSum = g.Sum(x => x.Size)
}).FirstOrDefault()?.SizeSum;
proSum = (proSum != null) ? proSum : 0;
FieldSum = (FieldSum != null) ? FieldSum : 0;
ShopSumSize = proSum.ToString();
FieldSumSize = FieldSum.ToString();
if (AllSum > 0)
{
var a = (decimal)100 * proSum / AllSum;
rate = Math.Round((decimal)a, 1).ToString() + "%";
}
return rate;
}
return "0%";
}
private string GetWeldJointRateByUnitWork(string unitworkid)
{
string rate = "";
int shopNum = 0;
int fieldNum = 0;
int AllNum = 0;
var db = Funs.DB;
var q = from x in db.View_HJGL_WeldJoint where x.UnitWorkId == unitworkid select x;
if (q != null && q.Count() > 0)
{
shopNum = (from x in q
where x.JointAttribute == "预制口"
select x
).Count();
fieldNum = (from x in q
where x.JointAttribute == "安装口"
select x
).Count();
ShopSum = shopNum.ToString();
FieldSum = fieldNum.ToString();
AllNum = shopNum + fieldNum;
if (AllNum > 0)
{
var a = (decimal)100 * shopNum / AllNum;
rate = Math.Round((decimal)a, 1).ToString() + "%";
}
return rate;
}
return "0%";
}
private string GetRateByPipelineid(string pipelineid) private string GetRateByPipelineid(string pipelineid)
{ {
string rate = ""; string rate = "";
ShopSumSize = "0";
FieldSumSize = "0";
var db = Funs.DB; var db = Funs.DB;
var q = from x in db.View_HJGL_WeldJoint where x.PipelineId == pipelineid select x; var q = from x in db.View_HJGL_WeldJoint where x.PipelineId == pipelineid && x.IsTwoJoint == null select x;
if (q != null && q.Count() > 0) if (q != null && q.Count() > 0)
{ {
var proSumModel = (from x in q var proSumModel = (from x in q
@@ -505,14 +427,7 @@ namespace FineUIPro.Web.HJGL.WeldingManage
SizeSum = g.Sum(x => x.Size) SizeSum = g.Sum(x => x.Size)
}).FirstOrDefault(); }).FirstOrDefault();
var proSum = (proSumModel != null) ? proSumModel.SizeSum : 0; var proSum = (proSumModel != null) ? proSumModel.SizeSum : 0;
var FieldSumModel = (from x in q
where x.JointAttribute == "安装口"
group x by x.PipelineId into g
select new
{
SizeSum = g.Sum(x => x.Size)
}).FirstOrDefault();
var FieldSum = (FieldSumModel != null) ? FieldSumModel.SizeSum : 0;
var AllSumModel = (from x in q var AllSumModel = (from x in q
group x by x.PipelineId into g group x by x.PipelineId into g
select new select new
@@ -522,9 +437,6 @@ namespace FineUIPro.Web.HJGL.WeldingManage
var AllSum = (AllSumModel != null) ? AllSumModel.SizeSum : 0; var AllSum = (AllSumModel != null) ? AllSumModel.SizeSum : 0;
proSum = (proSum != null) ? proSum : 0; proSum = (proSum != null) ? proSum : 0;
FieldSum = (FieldSum != null) ? FieldSum : 0;
ShopSumSize = proSum.ToString();
FieldSumSize = FieldSum.ToString();
if (AllSum > 0) if (AllSum > 0)
{ {
var a = (decimal)100 * proSum / AllSum; var a = (decimal)100 * proSum / AllSum;
@@ -535,8 +447,60 @@ namespace FineUIPro.Web.HJGL.WeldingManage
} }
return "0%"; return "0%";
} }
/// <summary> /// <summary>
/// 获取预制率(焊口) 预制口数量/总焊口数量 /// 管线预制口总达因
/// </summary>
/// <param name="pipelineid"></param>
/// <returns></returns>
private decimal GetShopSumDinByPipelineid(string pipelineid)
{
decimal sum = 0;
var db = Funs.DB;
var q = from x in db.View_HJGL_WeldJoint where x.PipelineId == pipelineid && x.IsTwoJoint == null select x;
if (q != null && q.Count() > 0)
{
var ShopSum = (from x in q
where x.JointAttribute == "预制口"
group x by x.PipelineId into g
select new
{
SizeSum = g.Sum(x => x.Size)
}).FirstOrDefault()?.SizeSum;
ShopSum = (ShopSum != null) ? ShopSum : 0;
sum = (decimal)ShopSum;
return sum;
}
return 0;
}
/// <summary>
/// 管线安装口总达因
/// </summary>
/// <param name="pipelineid"></param>
/// <returns></returns>
private decimal GetFieldSumDinByPipelineid(string pipelineid)
{
decimal sum = 0;
var db = Funs.DB;
var q = from x in db.View_HJGL_WeldJoint where x.PipelineId == pipelineid && x.IsTwoJoint == null select x;
if (q != null && q.Count() > 0)
{
var FieldSum = (from x in q
where x.JointAttribute == "安装口"
group x by x.PipelineId into g
select new
{
SizeSum = g.Sum(x => x.Size)
}).FirstOrDefault()?.SizeSum;
FieldSum = (FieldSum != null) ? FieldSum : 0;
sum = (decimal)FieldSum;
return sum;
}
return 0;
}
/// <summary>
/// 图纸预制率(焊口) 预制口数量/总焊口数量
/// </summary> /// </summary>
/// <param name="pipelineid"></param> /// <param name="pipelineid"></param>
/// <returns></returns> /// <returns></returns>
@@ -547,7 +511,7 @@ namespace FineUIPro.Web.HJGL.WeldingManage
int fieldNum = 0; int fieldNum = 0;
int AllNum = 0; int AllNum = 0;
var db = Funs.DB; var db = Funs.DB;
var q = from x in db.View_HJGL_WeldJoint where x.PipelineId == pipelineid select x; var q = from x in db.View_HJGL_WeldJoint where x.PipelineId == pipelineid && x.IsTwoJoint == null select x;
if (q != null && q.Count() > 0) if (q != null && q.Count() > 0)
{ {
shopNum = (from x in q shopNum = (from x in q
@@ -558,8 +522,7 @@ namespace FineUIPro.Web.HJGL.WeldingManage
where x.JointAttribute == "安装口" where x.JointAttribute == "安装口"
select x select x
).Count(); ).Count();
ShopSum = shopNum.ToString();
FieldSum = fieldNum.ToString();
AllNum = shopNum + fieldNum; AllNum = shopNum + fieldNum;
if (AllNum > 0) if (AllNum > 0)
@@ -573,6 +536,344 @@ namespace FineUIPro.Web.HJGL.WeldingManage
return "0%"; return "0%";
} }
/// <summary>
/// 管线预制口总数量
/// </summary>
/// <param name="pipelineid"></param>
/// <returns></returns>
private int GetShopSumByPipelineid(string pipelineid)
{
int sum = 0;
var db = Funs.DB;
var q = from x in db.View_HJGL_WeldJoint where x.PipelineId == pipelineid && x.IsTwoJoint == null select x;
if (q != null && q.Count() > 0)
{
sum = (from x in q
where x.JointAttribute == "预制口"
select x
).Count();
return sum;
}
return 0;
}
/// <summary>
/// 管线安装口总数量
/// </summary>
/// <param name="pipelineid"></param>
/// <returns></returns>
private int GetFieldSumByPipelineid(string pipelineid)
{
int sum = 0;
var db = Funs.DB;
var q = from x in db.View_HJGL_WeldJoint where x.PipelineId == pipelineid && x.IsTwoJoint == null select x;
if (q != null && q.Count() > 0)
{
sum = (from x in q
where x.JointAttribute == "安装口"
select x
).Count();
return sum;
}
return 0;
}
/// <summary>
///管线总达因(根据管线id获取达因之和)
/// </summary>
/// <param name="pipelineid"></param>
/// <returns></returns>
private decimal GetSumDinByPipelineId(string pipelineid)
{
decimal sum = 0;
var db = Funs.DB;
var q = from x in db.View_HJGL_WeldJoint where x.PipelineId == pipelineid && x.IsTwoJoint == null select x;
if (q != null && q.Count() > 0)
{
sum = (from x in q
select x.Size
).Sum() ?? 0;
return sum;
}
return 0;
}
#endregion
#region
/// <summary>
/// 主项预制率(达因) 主项预制口总达因/主项总达因数
/// </summary>
/// <param name="unitworkid"></param>
/// <returns></returns>
private string GetRateByUnitWork(string unitworkid)
{
string rate = "";
var db = Funs.DB;
var q = from x in db.View_HJGL_WeldJoint where x.UnitWorkId == unitworkid && x.IsTwoJoint == null select x;
if (q != null && q.Count() > 0)
{
var proSumModel = (from x in q
where x.JointAttribute == "预制口" && x.PipeArea == PipelineService.PipeArea_SHOP
group x by x.UnitWorkId into g
select new
{
SizeSum = g.Sum(x => x.Size)
}).FirstOrDefault();
var proSum = (proSumModel != null) ? proSumModel.SizeSum : 0;
var AllSumModel = (from x in q
group x by x.UnitWorkId into g
select new
{
SizeSum = g.Sum(x => x.Size)
}).FirstOrDefault();
var AllSum = (AllSumModel != null) ? AllSumModel.SizeSum : 0;
proSum = (proSum != null) ? proSum : 0;
if (AllSum > 0)
{
var a = (decimal)100 * proSum / AllSum;
rate = Math.Round((decimal)a, 1).ToString() + "%";
}
return rate;
}
return "0%";
}
/// <summary>
///主项预制口总达因《管线划分工厂预制下的所有预制口达因数》
/// </summary>
/// <param name="unitworkid"></param>
/// <returns></returns>
private decimal GetShopSumDinByUnitWork(string unitworkid)
{
decimal sum = 0;
var db = Funs.DB;
var q = from x in db.View_HJGL_WeldJoint where x.UnitWorkId == unitworkid && x.IsTwoJoint == null && x.PipeArea == PipelineService.PipeArea_SHOP select x;
if (q != null && q.Count() > 0)
{
var ShopSum = (from x in q
where x.JointAttribute == "预制口"
group x by x.UnitWorkId into g
select new
{
SizeSum = g.Sum(x => x.Size)
}).FirstOrDefault()?.SizeSum;
ShopSum = (ShopSum != null) ? ShopSum : 0;
sum = (decimal)ShopSum;
return sum;
}
return 0;
}
/// <summary>
/// 主项安装口总达因数《管线划分工厂预制下的安装口达因数+管线划分现场安装下所有焊口达因数》
/// </summary>
/// <param name="unitworkid"></param>
/// <returns></returns>
private decimal GetFieldSumDinByUnitWork2(string unitworkid)
{
decimal sum = 0;
var db = Funs.DB;
var q = from x in db.View_HJGL_WeldJoint where x.UnitWorkId == unitworkid && x.IsTwoJoint == null && x.PipeArea == PipelineService.PipeArea_SHOP select x;
if (q != null && q.Count() > 0)
{
var FieldSum = (from x in q
where x.JointAttribute == "安装口"
group x by x.UnitWorkId into g
select new
{
SizeSum = g.Sum(x => x.Size)
}).FirstOrDefault()?.SizeSum;
FieldSum = (FieldSum != null) ? FieldSum : 0;
sum = (decimal)FieldSum;
}
var q2 = from x in db.View_HJGL_WeldJoint where x.UnitWorkId == unitworkid && x.IsTwoJoint == null && x.PipeArea == PipelineService.PipeArea_FIELD select x;
if (q2 != null && q2.Count() > 0)
{
var FieldSum2 = (from x in q2
group x by x.UnitWorkId into g
select new
{
SizeSum = g.Sum(x => x.Size)
}).FirstOrDefault()?.SizeSum;
FieldSum2 = (FieldSum2 != null) ? FieldSum2 : 0;
sum = sum + (decimal)FieldSum2;
}
return sum;
}
/// <summary>
/// 主项预制率(焊口) 预制口数量/总焊口数量
/// </summary>
/// <param name="unitworkid"></param>
/// <returns></returns>
private string GetWeldJointRateByUnitWork(string unitworkid)
{
string rate = "";
int shopNum = 0;
int fieldNum = 0;
int AllNum = 0;
var db = Funs.DB;
var q = from x in db.View_HJGL_WeldJoint where x.UnitWorkId == unitworkid && x.IsTwoJoint == null select x;
if (q != null && q.Count() > 0)
{
shopNum = (from x in q
where x.JointAttribute == "预制口" && x.PipeArea == PipelineService.PipeArea_SHOP
select x
).Count();
fieldNum = (from x in q
where x.JointAttribute == "安装口"
select x
).Count();
AllNum = shopNum + fieldNum;
if (AllNum > 0)
{
var a = (decimal)100 * shopNum / AllNum;
rate = Math.Round((decimal)a, 1).ToString() + "%";
}
return rate;
}
return "0%";
}
/// <summary>
///主项预制口数量(工厂):《管线划分工厂预制下的所有预制口个数》
/// </summary>
/// <param name="unitworkid"></param>
/// <returns></returns>
private int GetShopSumByUnitWork(string unitworkid)
{
int sum = 0;
var db = Funs.DB;
var q = from x in db.View_HJGL_WeldJoint where x.UnitWorkId == unitworkid && x.IsTwoJoint == null && x.PipeArea == PipelineService.PipeArea_SHOP select x;
if (q != null && q.Count() > 0)
{
sum = (from x in q
where x.JointAttribute == "预制口"
select x
).Count();
return sum;
}
return 0;
}
/// <summary>
/// //主项安装口数量(工厂):《管线划分工厂预制下的所有安装口个数》
/// </summary>
/// <param name="unitworkid"></param>
/// <returns></returns>
private int GetFieldSumByUnitWork(string unitworkid)
{
int sum = 0;
var db = Funs.DB;
var q = from x in db.View_HJGL_WeldJoint where x.UnitWorkId == unitworkid && x.IsTwoJoint == null && x.PipeArea == PipelineService.PipeArea_SHOP select x;
if (q != null && q.Count() > 0)
{
sum = (from x in q
where x.JointAttribute == "安装口"
select x
).Count();
return sum;
}
return 0;
}
/// <summary>
/// 工厂主项预制率(达因)
/// </summary>
/// <param name="unitworkid"></param>
/// <returns></returns>
private string GetShopRateByUnitWork(string unitworkid)
{
string rate = "0%";
int shopNum = 0;
int fieldNum = 0;
int AllNum = 0;
var db = Funs.DB;
var q = from x in db.View_HJGL_WeldJoint where x.UnitWorkId == unitworkid && x.IsTwoJoint == null && x.PipeArea == PipelineService.PipeArea_SHOP select x;
if (q != null && q.Count() > 0)
{
shopNum = (from x in q
where x.JointAttribute == "预制口"
select x
).Count();
fieldNum = (from x in q
where x.JointAttribute == "安装口"
select x
).Count();
AllNum = shopNum + fieldNum;
if (AllNum > 0)
{
var a = (decimal)100 * shopNum / AllNum;
rate = Math.Round((decimal)a, 1).ToString() + "%";
}
return rate;
}
return "0%";
}
/// <summary>
///安装口达因数(工厂)《管线划分工厂预制下的所有安装口达因数》
/// </summary>
/// <param name="unitworkid"></param>
/// <returns></returns>
private decimal GetFieldSumDinByUnitWork(string unitworkid)
{
decimal sum = 0;
var db = Funs.DB;
var q = from x in db.View_HJGL_WeldJoint where x.UnitWorkId == unitworkid && x.IsTwoJoint == null && x.PipeArea == PipelineService.PipeArea_SHOP select x;
if (q != null && q.Count() > 0)
{
var FieldSum = (from x in q
where x.JointAttribute == "安装口"
group x by x.UnitWorkId into g
select new
{
SizeSum = g.Sum(x => x.Size)
}).FirstOrDefault()?.SizeSum;
FieldSum = (FieldSum != null) ? FieldSum : 0;
sum = (decimal)FieldSum;
return sum;
}
return 0;
}
/// <summary>
/// 主项总达因(根据主项id获取达因之和)
/// </summary>
/// <param name="unitworkid"></param>
/// <returns></returns>
private decimal GetSumDinByUnitWorkId(string unitworkid)
{
decimal sum = 0;
var db = Funs.DB;
var q = from x in db.View_HJGL_WeldJoint where x.UnitWorkId == unitworkid && x.IsTwoJoint==null select x;
if (q != null && q.Count() > 0)
{
sum = (from x in q
select x.Size
).Sum() ?? 0;
return sum;
}
return 0;
}
#endregion #endregion
#region #region
@@ -7,10 +7,12 @@
// </自动生成> // </自动生成>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace FineUIPro.Web.HJGL.WeldingManage { namespace FineUIPro.Web.HJGL.WeldingManage
{
public partial class WeldJointList { public partial class WeldJointList
{
/// <summary> /// <summary>
/// form1 控件。 /// form1 控件。
@@ -202,40 +204,40 @@ namespace FineUIPro.Web.HJGL.WeldingManage {
protected global::FineUIPro.Button btnMatImport; protected global::FineUIPro.Button btnMatImport;
/// <summary> /// <summary>
/// Toolbar2 控件。 /// TbPipeline 控件。
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// 自动生成的字段。 /// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Toolbar Toolbar2; protected global::FineUIPro.Toolbar TbPipeline;
/// <summary> /// <summary>
/// lbSinglePreRate 控件。 /// lbPipeSinglePreRate 控件。
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// 自动生成的字段。 /// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Label lbSinglePreRate; protected global::FineUIPro.Label lbPipeSinglePreRate;
/// <summary> /// <summary>
/// lbShopSize 控件。 /// lbPipeShopSize 控件。
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// 自动生成的字段。 /// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Label lbShopSize; protected global::FineUIPro.Label lbPipeShopSize;
/// <summary> /// <summary>
/// lbFiledSize 控件。 /// lbPipeFiledSize 控件。
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// 自动生成的字段。 /// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Label lbFiledSize; protected global::FineUIPro.Label lbPipeFiledSize;
/// <summary> /// <summary>
/// Label2 控件。 /// Label2 控件。
@@ -247,31 +249,148 @@ namespace FineUIPro.Web.HJGL.WeldingManage {
protected global::FineUIPro.Label Label2; protected global::FineUIPro.Label Label2;
/// <summary> /// <summary>
/// lbSinglePreRateByWeldJoint 控件。 /// lbPipeSinglePreRateByWeldJoint 控件。
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// 自动生成的字段。 /// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Label lbSinglePreRateByWeldJoint; protected global::FineUIPro.Label lbPipeSinglePreRateByWeldJoint;
/// <summary> /// <summary>
/// lbShopSum 控件。 /// lbPipeShopSum 控件。
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// 自动生成的字段。 /// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Label lbShopSum; protected global::FineUIPro.Label lbPipeShopSum;
/// <summary> /// <summary>
/// lbFiledSum 控件。 /// lbPipeFiledSum 控件。
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// 自动生成的字段。 /// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Label lbFiledSum; protected global::FineUIPro.Label lbPipeFiledSum;
/// <summary>
/// TbUnitWork 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar TbUnitWork;
/// <summary>
/// lbUWTotalDin 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbUWTotalDin;
/// <summary>
/// lbUWPreRate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbUWPreRate;
/// <summary>
/// lbUWShopSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbUWShopSize;
/// <summary>
/// lbUWFiledSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbUWFiledSize;
/// <summary>
/// Label6 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label Label6;
/// <summary>
/// TbUnitWork2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar TbUnitWork2;
/// <summary>
/// lbUWSinglePreRateByDin 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbUWSinglePreRateByDin;
/// <summary>
/// lbUWShopSizeByLineShop 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbUWShopSizeByLineShop;
/// <summary>
/// lbUWFiledSizeByLineShop 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbUWFiledSizeByLineShop;
/// <summary>
/// lbUWSinglePreRateByWeldJoint 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbUWSinglePreRateByWeldJoint;
/// <summary>
/// lbUWShopSum 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbUWShopSum;
/// <summary>
/// lbUWFiledSum 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbUWFiledSum;
/// <summary> /// <summary>
/// Grid1 控件。 /// Grid1 控件。