diff --git a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
index 8266f0e6..b08999df 100644
--- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
+++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
@@ -307,6 +307,7 @@
+
@@ -6281,6 +6282,13 @@
mainMenu_HJGL2.aspx
+
+ mainMenu_HJGL3.aspx
+ ASPXCodeBehind
+
+
+ mainMenu_HJGL3.aspx
+
mainMenu_HJGL_AVEVA.aspx
ASPXCodeBehind
diff --git a/SGGL/FineUIPro.Web/HJGL/WeldingManage/PipelineListPDMSIn.aspx.cs b/SGGL/FineUIPro.Web/HJGL/WeldingManage/PipelineListPDMSIn.aspx.cs
index 9db0edd2..33922dc7 100644
--- a/SGGL/FineUIPro.Web/HJGL/WeldingManage/PipelineListPDMSIn.aspx.cs
+++ b/SGGL/FineUIPro.Web/HJGL/WeldingManage/PipelineListPDMSIn.aspx.cs
@@ -1055,6 +1055,8 @@ namespace FineUIPro.Web.HJGL.WeldingManage
temp.IsHotProess
}).ToList();
+ var weldJointCodes =weldJoints.Select(x=>x.WeldJointCode).Distinct().ToList();
+ var pipelineCodes = weldJoints.Select(x => x.PipelineCode).Distinct().ToList();
for (int i = 0; i < weldJoints.Count(); i++)
{
Model.HJGL_WeldJoint weldJoint = new Model.HJGL_WeldJoint();
@@ -1093,6 +1095,16 @@ namespace FineUIPro.Web.HJGL.WeldingManage
BLL.WeldJointService.AddBulkWeldJoint(weldJoints_add);
}
+ Model.SGGLDB db = Funs.DB;
+ var q = from x in db.HJGL_WeldJoint
+ join y in db.HJGL_Pipeline on x.PipelineId equals y.PipelineId
+ where y.UnitWorkId == Request.Params["UnitWorkId"] && pipelineCodes.Contains(x.PipelineCode) && !weldJointCodes.Contains(x.WeldJointCode)
+ select x;
+ if (q.Count() > 0)
+ {
+ db.HJGL_WeldJoint.DeleteAllOnSubmit(q);
+ db.SubmitChanges();
+ }
}
//public void AddView_HJGL_WeldJoint(List PipelineList)
diff --git a/SGGL/FineUIPro.Web/common/mainMenu_HJGL3.aspx b/SGGL/FineUIPro.Web/common/mainMenu_HJGL3.aspx
new file mode 100644
index 00000000..a2bc8721
--- /dev/null
+++ b/SGGL/FineUIPro.Web/common/mainMenu_HJGL3.aspx
@@ -0,0 +1,117 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="mainMenu_HJGL3.aspx.cs" Inherits="FineUIPro.Web.common.mainMenu_HJGL3" %>
+
+
+
+
+
+ 焊接进度统计
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/common/mainMenu_HJGL3.aspx.cs b/SGGL/FineUIPro.Web/common/mainMenu_HJGL3.aspx.cs
new file mode 100644
index 00000000..2ce08e0a
--- /dev/null
+++ b/SGGL/FineUIPro.Web/common/mainMenu_HJGL3.aspx.cs
@@ -0,0 +1,224 @@
+using BLL;
+using MiniExcelLibs;
+using Model;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.SqlClient;
+using System.IO;
+using System.Linq;
+
+namespace FineUIPro.Web.common
+{
+ public partial class mainMenu_HJGL3 : PageBase
+ {
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ this.InitTreeMenu();//加载树
+ BindGrid1();
+ }
+ }
+
+ #region 加载树装置-单位-工作区
+ ///
+ /// 加载树
+ ///
+ private void InitTreeMenu()
+ {
+ this.tvControlItem.Nodes.Clear();
+
+ TreeNode rootNode1 = new TreeNode();
+ rootNode1.NodeID = "1";
+ rootNode1.Text = "建筑工程";
+ rootNode1.CommandName = "建筑工程";
+ rootNode1.Selectable = false;
+ this.tvControlItem.Nodes.Add(rootNode1);
+
+ TreeNode rootNode2 = new TreeNode();
+ rootNode2.NodeID = "2";
+ rootNode2.Text = "安装工程";
+ rootNode2.CommandName = "安装工程";
+ rootNode2.Expanded = true;
+ this.tvControlItem.Nodes.Add(rootNode2);
+
+ var pUnits = (from x in Funs.DB.Project_ProjectUnit where x.ProjectId == this.CurrUser.LoginProjectId select x).ToList();
+ // 获取当前用户所在单位
+ var currUnit = pUnits.FirstOrDefault(x => x.UnitId == this.CurrUser.UnitId);
+
+ var unitWorkList = (from x in Funs.DB.WBS_UnitWork
+ where x.ProjectId == this.CurrUser.LoginProjectId
+ && x.SuperUnitWork == null && x.UnitId != null && x.ProjectType != null
+ select x).ToList();
+
+ List unitWork1 = null;
+ List unitWork2 = null;
+
+ //// 当前为施工单位,只能操作本单位的数据
+ //if (currUnit != null && currUnit.UnitType == Const.ProjectUnitType_2)
+ //{
+ // unitWork1 = (from x in unitWorkList
+ // where x.UnitId == this.CurrUser.UnitId && x.ProjectType == "1"
+ // select x).ToList();
+ // unitWork2 = (from x in unitWorkList
+ // where x.UnitId == this.CurrUser.UnitId && x.ProjectType == "2"
+ // select x).ToList();
+ //}
+ //else
+ //{
+ unitWork1 = (from x in unitWorkList where x.ProjectType == "1" select x).ToList();
+ unitWork2 = (from x in unitWorkList where x.ProjectType == "2" select x).ToList();
+ //}
+
+ if (unitWork1.Count() > 0)
+ {
+ foreach (var q in unitWork1)
+ {
+ int a = (from x in Funs.DB.HJGL_Pipeline where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitWorkId == q.UnitWorkId select x).Count();
+ var unitNamesUnitIds = BLL.UnitService.getUnitNamesUnitIds(q.UnitId);
+ TreeNode tn1 = new TreeNode();
+ tn1.NodeID = q.UnitWorkId;
+ tn1.Text = q.UnitWorkName + "【" + a.ToString() + "】" + "管线";
+ tn1.ToolTip = "施工单位:" + unitNamesUnitIds;
+ tn1.EnableClickEvent = true;
+ rootNode1.Nodes.Add(tn1);
+ }
+ }
+ if (unitWork2.Count() > 0)
+ {
+ foreach (var q in unitWork2)
+ {
+ int a = (from x in Funs.DB.HJGL_Pipeline where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitWorkId == q.UnitWorkId select x).Count();
+ var unitNamesUnitIds = BLL.UnitService.getUnitNamesUnitIds(q.UnitId);
+ TreeNode tn2 = new TreeNode();
+ tn2.NodeID = q.UnitWorkId;
+ tn2.Text = q.UnitWorkName + "【" + a.ToString() + "】" + "管线";
+ tn2.ToolTip = "施工单位:" + unitNamesUnitIds;
+ tn2.EnableClickEvent = true;
+ rootNode2.Nodes.Add(tn2);
+ }
+ }
+ }
+ #endregion
+
+ #region 点击TreeView
+ ///
+ /// 点击TreeView
+ ///
+ ///
+ ///
+ protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
+ {
+ if (this.tvControlItem.SelectedNodeID.Length > 1)
+ {
+ this.BindGrid2(this.tvControlItem.SelectedNodeID);
+ }
+ }
+ #endregion
+
+ #region 数据绑定
+ ///
+ /// 数据绑定
+ ///
+ private void BindGrid1()
+ {
+ string strSql = @"select ProjectId,TotalDin,FinishSize,CONVERT(NVARCHAR(10),(CAST((CASE ISNULL(TotalDin,0) WHEN 0 THEN 0
+ ELSE 100.0 * ISNULL(FinishSize,0)/(1.0 * TotalDin) END) AS DECIMAL(8,2))))+'%'
+ AS Rate from
+ (select ProjectId,CAST((SELECT SUM(ISNULL(Size,0)) FROM dbo.HJGL_WeldJoint WHERE ProjectId=b.ProjectId) AS DECIMAL(12,3)) AS TotalDin,
+ CAST((SELECT ISNULL(SUM(ISNULL(jot.Size,0)),0) FROM dbo.HJGL_WeldJoint jot WHERE ProjectId=b.ProjectId AND jot.WeldingDailyId IS NOT NULL) AS DECIMAL(12,3)) AS FinishSize
+ from Base_Project b) v where ProjectId=@ProjectId ";
+
+ List listStr = new List();
+ listStr.Add(new SqlParameter("@ProjectId", (CurrUser != null) ? CurrUser.LoginProjectId : ""));
+ SqlParameter[] parameter = listStr.ToArray();
+ DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
+ Grid1.RecordCount = tb.Rows.Count;
+ tb = GetFilteredTable(Grid1.FilteredData, tb);
+ var table = GetPagedDataTable(Grid1, tb);
+ Grid1.DataSource = table;
+ Grid1.DataBind();
+ }
+
+ ///
+ /// 数据绑定
+ ///
+ private void BindGrid2(string unitWorkId)
+ {
+ string strSql = @"select UnitWorkId,TotalDin,FinishSize,CONVERT(NVARCHAR(10),(CAST((CASE ISNULL(TotalDin,0) WHEN 0 THEN 0
+ ELSE 100.0 * ISNULL(FinishSize,0)/(1.0 * TotalDin) END) AS DECIMAL(8,2))))+'%'
+ AS Rate from
+ (select UnitWorkId,CAST((SELECT SUM(ISNULL(Size,0)) FROM dbo.HJGL_WeldJoint jot left join dbo.HJGL_Pipeline pipeline on jot.PipelineId=pipeline.PipelineId WHERE pipeline.UnitWorkId=b.UnitWorkId) AS DECIMAL(12,3)) AS TotalDin,
+ CAST((SELECT ISNULL(SUM(ISNULL(jot.Size,0)),0) FROM dbo.HJGL_WeldJoint jot left join dbo.HJGL_Pipeline pipeline on jot.PipelineId=pipeline.PipelineId WHERE pipeline.UnitWorkId=b.UnitWorkId AND jot.WeldingDailyId IS NOT NULL) AS DECIMAL(12,3)) AS FinishSize
+ from WBS_UnitWork b) v where UnitWorkId=@UnitWorkId ";
+
+ List listStr = new List();
+ listStr.Add(new SqlParameter("@UnitWorkId", unitWorkId));
+ SqlParameter[] parameter = listStr.ToArray();
+ DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
+ Grid2.RecordCount = tb.Rows.Count;
+ tb = GetFilteredTable(Grid2.FilteredData, tb);
+ var table = GetPagedDataTable(Grid2, tb);
+ Grid2.DataSource = table;
+ Grid2.DataBind();
+ decimal totalDin = Funs.GetNewDecimalOrZero(this.Grid2.Rows[0].Values[0].ToString());
+ decimal finishSize = Funs.GetNewDecimalOrZero(this.Grid2.Rows[0].Values[1].ToString());
+ decimal notCompleteDin = totalDin - finishSize;
+ this.lbNotCompleteDin.Text = notCompleteDin.ToString();
+ }
+ #endregion
+
+ ///
+ /// 查询
+ ///
+ ///
+ ///
+ protected void btnQuery_Click(object sender, EventArgs e)
+ {
+ if (this.tvControlItem.SelectedNodeID.Length > 1)
+ {
+ if (string.IsNullOrEmpty(this.txtLeaveDay.Text.Trim()))
+ {
+ ShowNotify("请输入剩余工期(天)!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (string.IsNullOrEmpty(this.txtWorkEfficiency.Text.Trim()))
+ {
+ ShowNotify("请输入日工效!", MessageBoxIcon.Warning);
+ return;
+ }
+ decimal totalDin = Funs.GetNewDecimalOrZero(this.Grid2.Rows[0].Values[0].ToString());
+ decimal finishSize = Funs.GetNewDecimalOrZero(this.Grid2.Rows[0].Values[1].ToString());
+ decimal notCompleteDin = totalDin - finishSize;
+ this.lbNotCompleteDin.Text = notCompleteDin.ToString();
+ decimal leaveDay = Funs.GetNewDecimalOrZero(this.txtLeaveDay.Text.Trim());
+ decimal workEfficiency = Funs.GetNewDecimalOrZero(this.txtWorkEfficiency.Text.Trim());
+ if (notCompleteDin > 0)
+ {
+ if (leaveDay == 0)
+ {
+ ShowNotify("剩余工期(天)为0!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (workEfficiency == 0)
+ {
+ ShowNotify("日工效为0!", MessageBoxIcon.Warning);
+ return;
+ }
+ this.lbNeedWelderNum.Text = Convert.ToInt32(Math.Ceiling(notCompleteDin / leaveDay / workEfficiency)).ToString();
+ }
+ else
+ {
+ ShowNotify("未完成达因为0!", MessageBoxIcon.Warning);
+ return;
+ }
+ }
+ else
+ {
+ ShowNotify("请选择单位工程", MessageBoxIcon.Warning);
+ return;
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/common/mainMenu_HJGL3.aspx.designer.cs b/SGGL/FineUIPro.Web/common/mainMenu_HJGL3.aspx.designer.cs
new file mode 100644
index 00000000..9bed7b97
--- /dev/null
+++ b/SGGL/FineUIPro.Web/common/mainMenu_HJGL3.aspx.designer.cs
@@ -0,0 +1,168 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.common {
+
+
+ public partial class mainMenu_HJGL3 {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel1;
+
+ ///
+ /// panelLeftRegion 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel panelLeftRegion;
+
+ ///
+ /// tvControlItem 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Tree tvControlItem;
+
+ ///
+ /// Panel2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel2;
+
+ ///
+ /// panel3 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel panel3;
+
+ ///
+ /// Grid1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid Grid1;
+
+ ///
+ /// panelCenterRegion 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel panelCenterRegion;
+
+ ///
+ /// Grid2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid Grid2;
+
+ ///
+ /// panel4 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel panel4;
+
+ ///
+ /// Form2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Form Form2;
+
+ ///
+ /// lbNotCompleteDin 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lbNotCompleteDin;
+
+ ///
+ /// txtLeaveDay 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.NumberBox txtLeaveDay;
+
+ ///
+ /// txtWorkEfficiency 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.NumberBox txtWorkEfficiency;
+
+ ///
+ /// lbNeedWelderNum 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lbNeedWelderNum;
+
+ ///
+ /// btnQuery 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnQuery;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/indexProject.aspx.cs b/SGGL/FineUIPro.Web/indexProject.aspx.cs
index 480dbe5c..93643687 100644
--- a/SGGL/FineUIPro.Web/indexProject.aspx.cs
+++ b/SGGL/FineUIPro.Web/indexProject.aspx.cs
@@ -618,7 +618,7 @@ namespace FineUIPro.Web
}
else if (type == Const.Menu_HJGL)
{
- this.Tab1.IFrameUrl = "~/common/mainMenu_HJGL_AVEVA.aspx";
+ this.Tab1.IFrameUrl = "~/common/mainMenu_HJGL3.aspx";
}
else if (type == Const.Menu_PZHGL)
{