Basf_TCC7/HJGL/FineUIPro.Web/WeldingProcess/TrustManage/PointManage.aspx.cs

2148 lines
106 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using BLL;
using FineUIPro.Web.common.BaseInfo;
using FineUIPro.Web.common.ProjectSet;
using NPOI.SS.Formula.Functions;
using Org.BouncyCastle.Asn1.Tsp;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Management;
using System.Reflection;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.WeldingProcess.TrustManage
{
public partial class PointManage : PageBase
{
#region
/// <summary>
/// 批次主键
/// </summary>
public string PointBatchId
{
get
{
return (string)ViewState["PointBatchId"];
}
set
{
ViewState["PointBatchId"] = value;
}
}
#endregion
#region
/// <summary>
/// 加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString();
this.txtJotDate.Text = DateTime.Now.Date.ToShortDateString();
BLL.Base_DetectionTypeService.InitDetectionTypeDropDownList(drpNde, "", false, "");
drpNde.SelectedValue = "32617d42-24cb-4390-b115-d53c9c9e2c81"; // 默认RT
this.InitTreeMenu();//加载树
}
}
#endregion
#region
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu()
{
if (string.IsNullOrEmpty(this.txtJotDate.Text))
{
Alert.ShowInTop("请选择月份!", MessageBoxIcon.Warning);
}
this.tvControlItem.Nodes.Clear();
List<Model.Base_Unit> units = new List<Model.Base_Unit>();
Model.Project_Unit pUnit = BLL.Project_UnitService.GetProject_UnitByProjectIdUnitId(this.CurrUser.LoginProjectId, this.CurrUser.UnitId);
if (pUnit == null || pUnit.UnitType == BLL.Const.UnitType_1 || pUnit.UnitType == BLL.Const.UnitType_2
|| pUnit.UnitType == BLL.Const.UnitType_3 || pUnit.UnitType == BLL.Const.UnitType_4
|| pUnit.UnitType == BLL.Const.UnitType_6)
{
units = (from x in Funs.DB.Base_Unit
join y in Funs.DB.Project_Unit on x.UnitId equals y.UnitId
where y.ProjectId == this.CurrUser.LoginProjectId && y.UnitType.Contains(BLL.Const.UnitType_5)
select x).ToList();
}
else
{
Model.Base_Unit unit = BLL.Base_UnitService.GetUnit(this.CurrUser.UnitId);
if (unit != null)
{
units.Add(unit);
}
}
foreach (var unit in units)
{
TreeNode newNode = new TreeNode();//定义根节点
newNode.Text = unit.UnitName;
newNode.NodeID = unit.UnitId;
newNode.Expanded = true;
newNode.ToolTip = "Unit";
this.tvControlItem.Nodes.Add(newNode);
var install = (from x in Funs.DB.Project_Installation
join y in Funs.DB.Batch_PointBatch on x.InstallationId equals y.InstallationId
where y.UnitId == unit.UnitId && x.ProjectId == this.CurrUser.LoginProjectId
orderby x.InstallationCode
select x).Distinct();
foreach (var q in install)
{
TreeNode tn = new TreeNode();
tn.Text = q.InstallationName;
tn.NodeID = q.InstallationId.ToString() + "|" + unit.UnitId;
tn.ToolTip = "Installation";
// 按管线查询能展开
if (!string.IsNullOrEmpty(this.txtPipeCode.Text.Trim()))
{
tn.Expanded = true;
newNode.Nodes.Add(tn);
var pointManages = (from x in Funs.DB.View_Batch_PointBatch
where x.ProjectId == this.CurrUser.LoginProjectId
&& x.InstallationId == q.InstallationId
&& x.UnitId == tn.ParentNode.NodeID
&& x.DetectionTypeId == drpNde.SelectedValue
&& x.PipelineCode.Contains(this.txtPipeCode.Text.Trim())
select x).ToList();
if (this.drpTrust.SelectedValue == "1")
{
pointManages = pointManages.Where(p => p.IsCompletedPoint == 1).ToList();
}
else if (this.drpTrust.SelectedValue == "2")
{
pointManages = pointManages.Where(p => p.IsCompletedPoint == 0).ToList();
}
if (pointManages.Count() > 0)
{
var ndeRate = (from x in pointManages select new { x.DetectionRateId, x.DetectionRateCode, x.InstallationId }).Distinct();
foreach (var item in ndeRate)
{
TreeNode tn1 = new TreeNode();
tn1.Text = item.DetectionRateCode;
tn1.NodeID = item.DetectionRateId + "|" + q.InstallationId;
tn1.Expanded = true;
tn.Nodes.Add(tn1);
var pointList = (pointManages.Where(x => x.DetectionRateId == item.DetectionRateId)).ToList();
if (pointList.Count() > 0)
{
DateTime start = Convert.ToDateTime(this.txtJotDate.Text.Trim());
string startDate = start.Year + "-" + start.Month + "-" + "01";
DateTime sar = Convert.ToDateTime(startDate).AddMonths(-1);
DateTime end = Convert.ToDateTime(startDate).AddMonths(1);
foreach (var p in pointList)
{
if (!string.IsNullOrEmpty(this.txtJotDate.Text))
{
var pitem = from x in Funs.DB.Batch_PointBatchItem
where x.PointBatchId == p.PointBatchId /*&& x.WeldingDate >= sar && x.WeldingDate < end*/
select x;
if (drpTrustState.SelectedValue == "0")
{
pitem = pitem.Where(x => x.PointDate.HasValue && (x.IsBuildTrust == null || x.IsBuildTrust == false));
}
if (pitem.Count() > 0)
{
TreeNode tn2 = new TreeNode
{
NodeID = p.PointBatchId,
ToolTip = "批",
EnableClickEvent = true,
};
// 当天批
if (string.Format("{0:yyyy-MM-dd}", p.StartDate) == string.Format("{0:yyyy-MM-dd}", System.DateTime.Now)
|| string.Format("{0:yyyy-MM-dd}", p.EndDate) == string.Format("{0:yyyy-MM-dd}", System.DateTime.Now))
{
tn2.Text = "<font color='#EE0000'>" + p.PointBatchCode + "</font>";
tn2.ToolTip = "当天批";
}
else
{
tn2.Text = p.PointBatchCode;
}
tn1.Nodes.Add(tn2);
}
}
}
}
}
}
}
else
{
tn.EnableExpandEvent = true;
newNode.Nodes.Add(tn);
TreeNode tn1 = new TreeNode();
tn1.NodeID = "temp";
tn1.Text = "正在加载...";
tn.Nodes.Add(tn1);
}
}
}
}
/// <summary>
/// 展开树
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void tvControlItem_TreeNodeExpanded(object sender, TreeNodeEventArgs e)
{
e.Node.Nodes.Clear();
e.Node.Expanded = true;
if (e.Node.ToolTip == "Installation")
{
var detectionRates = from x in Funs.DB.Base_DetectionRate
orderby x.DetectionRateCode
select new { x.DetectionRateId, x.DetectionRateCode };
foreach (var item in detectionRates)
{
var pointManages = from x in Funs.DB.View_Batch_PointBatch
where x.ProjectId == this.CurrUser.LoginProjectId
&& x.InstallationId == e.NodeID.Split('|')[0]
&& x.UnitId == e.Node.ParentNode.NodeID
&& x.DetectionTypeId == drpNde.SelectedValue
&& x.DetectionRateId == item.DetectionRateId
select x;
TreeNode newNode = new TreeNode();
if (pointManages.Count() > 0)
{
newNode.Text = item.DetectionRateCode;
newNode.NodeID = item.DetectionRateId + "|" + e.Node.NodeID;
newNode.EnableExpandEvent = true;
newNode.ToolTip = "检测比例";
e.Node.Nodes.Add(newNode);
}
TreeNode tn1 = new TreeNode
{
Text = "检测批",
NodeID = "检测批",
};
newNode.Nodes.Add(tn1);
}
#region
//var detectionTypes = from x in Funs.DB.Base_DetectionType
// orderby x.DetectionTypeCode
// select new { x.DetectionTypeId, x.DetectionTypeName };
//foreach (var item in detectionTypes)
//{
// var pointManages = from x in Funs.DB.View_Batch_PointBatch
// where x.ProjectId == this.CurrUser.LoginProjectId
// && x.InstallationId == e.Node.NodeID.Split('|')[0]
// && x.UnitId == e.Node.ParentNode.NodeID
// && x.DetectionTypeId == item.DetectionTypeId
// select x;
// TreeNode newNode = new TreeNode();
// if (pointManages.Count() > 0)
// {
// newNode.Text = item.DetectionTypeName;
// newNode.NodeID = item.DetectionTypeId + "|" + e.Node.NodeID;
// newNode.EnableExpandEvent = true;
// newNode.ToolTip = "探伤类型";
// e.Node.Nodes.Add(newNode);
// }
// TreeNode tn1 = new TreeNode
// {
// Text = "检测比例",
// NodeID = "检测比例",
// };
// newNode.Nodes.Add(tn1);
//}
#endregion
}
//if (e.Node.ToolTip == "探伤类型")
//{
//}
if (e.Node.ToolTip == "检测比例")
{
var pointManages = from x in Funs.DB.View_Batch_PointBatch
where x.ProjectId == this.CurrUser.LoginProjectId
&& x.DetectionRateId == e.NodeID.Split('|')[0]
&& x.DetectionTypeId == drpNde.SelectedValue
&& x.InstallationId == e.Node.ParentNode.NodeID.Split('|')[0]
&& x.UnitId == e.Node.ParentNode.ParentNode.NodeID
select x;
//if (!string.IsNullOrEmpty(this.txtWelderCode.Text))
//{
// pointManages = pointManages.Where(x => x.WelderCode.Contains(this.txtWelderCode.Text.Trim()));
//}
if (!string.IsNullOrEmpty(this.txtPipeCode.Text))
{
pointManages = pointManages.Where(x => x.PipelineCode.Contains(this.txtPipeCode.Text.Trim()));
}
//if (this.drpState.SelectedValue == "2")
//{
// pointManages = pointManages.Where(p => p.EndDate == null);
//}
//else if (this.drpState.SelectedValue == "3")
//{
// pointManages = pointManages.Where(p => p.EndDate != null);
//}
//if (this.drpTrust.SelectedValue == "1")
//{
// pointManages = pointManages.Where(p => p.IsTrust == false || p.IsTrust == null);
//}
//else if (this.drpTrust.SelectedValue == "2")
//{
// pointManages = pointManages.Where(p => p.IsTrust == true);
//}
if (this.drpTrust.SelectedValue == "1")
{
pointManages = pointManages.Where(p => p.IsCompletedPoint == 1);
}
else if (this.drpTrust.SelectedValue == "2")
{
pointManages = pointManages.Where(p => p.IsCompletedPoint == 0);
}
//else if (this.drpTrust.SelectedValue == "4")
//{
// pointManages = pointManages.Where(p => p.IsCheck.HasValue && p.IsCheck.Value);
//}
DateTime start = Convert.ToDateTime(this.txtJotDate.Text.Trim());
string startDate = start.Year + "-" + start.Month + "-" + "01";
DateTime sar = Convert.ToDateTime(startDate).AddMonths(-1);
DateTime end = Convert.ToDateTime(startDate).AddMonths(1);
/*var list = from x in pointManages
join y in Funs.DB.Batch_PointBatchItem on x.PointBatchId equals y.PointBatchId
where y.WeldingDate >= sar && y.WeldingDate < end
select new { x.PointBatchId, x.PointBatchCode, x.StartDate, x.EndDate, x.IsTrust, y.PointDate, y.IsBuildTrust };*/
var list = pointManages
.Join(Funs.DB.Batch_PointBatchItem,
x => x.PointBatchId,
y => y.PointBatchId,
(x, y) => new { x, y })
.Where(joined => joined.y.WeldingDate >= sar && joined.y.WeldingDate < end)
.Select(joined => new
{
joined.x.PointBatchId,
joined.x.PointBatchCode,
joined.x.StartDate,
joined.x.EndDate,
joined.x.IsTrust,
joined.y.PointDate,
joined.y.IsBuildTrust
});
if (drpTrustState.SelectedValue == "0")
{
list = list.Where(item => item.PointDate.HasValue && (item.IsBuildTrust == null || item.IsBuildTrust == false));
}
if (drpTrustState.SelectedValue == "0")
{
list = list.Where(x => x.PointDate.HasValue && (x.IsBuildTrust == null || x.IsBuildTrust == false));
}
var PointBatchIdList = list.OrderByDescending(x=>x.StartDate). Select(x => x.PointBatchId).Distinct();
foreach (var PointBatchId in PointBatchIdList)
{
var item = list.Where(x => x.PointBatchId == PointBatchId).FirstOrDefault();
TreeNode newNode = new TreeNode
{
NodeID = item.PointBatchId,
ToolTip = "批",
EnableClickEvent = true,
};
// 当天批
if (string.Format("{0:yyyy-MM-dd}", item.StartDate) == string.Format("{0:yyyy-MM-dd}", System.DateTime.Now)
|| string.Format("{0:yyyy-MM-dd}", item.EndDate) == string.Format("{0:yyyy-MM-dd}", System.DateTime.Now))
{
newNode.Text = "<font color='#EE0000'>" + item.PointBatchCode + "</font>";
newNode.ToolTip = "当天批";
}
else
{
newNode.Text = item.PointBatchCode;
}
e.Node.Nodes.Add(newNode);
}
/* foreach (var item in pointManages)
{
if (!string.IsNullOrEmpty(this.txtJotDate.Text))
{
var q = from x in Funs.DB.Batch_PointBatchItem
where x.PointBatchId == item.PointBatchId && x.WeldingDate >= sar && x.WeldingDate < end
select x;
if (drpTrustState.SelectedValue == "0")
{
q = q.Where(x => x.PointDate.HasValue && (x.IsBuildTrust == null || x.IsBuildTrust == false));
}
if (q.Count() > 0)
{
TreeNode newNode = new TreeNode
{
NodeID = item.PointBatchId,
ToolTip = "批",
EnableClickEvent = true,
};
//if (BLL.Batch_PointBatchService.GetIsShowPointRepairByPointBatchId(item.PointBatchId)) ////存在返修 蓝色
//{
// newNode.Text = "<font color='#0000FF'>" + item.PointBatchCode + "</font>";
// newNode.ToolTip = "批中存在返修口";
//}
//else if (!item.EndDate.HasValue) ////批 没有关闭 粉色
//{
// newNode.Text = "<font color='#FA58D0'>" + item.PointBatchCode + "</font>";
// newNode.ToolTip = "批尚未关闭";
//}
//else if (!item.IsTrust.HasValue || item.IsTrust == false) ////没有委托深黄色
//{
// newNode.Text = "<font color='#FF8C00'>" + item.PointBatchCode + "</font>";
// newNode.ToolTip = "批未委托";
//}
// 当天批
if (string.Format("{0:yyyy-MM-dd}", item.StartDate) == string.Format("{0:yyyy-MM-dd}", System.DateTime.Now)
|| string.Format("{0:yyyy-MM-dd}", item.EndDate) == string.Format("{0:yyyy-MM-dd}", System.DateTime.Now))
{
newNode.Text = "<font color='#EE0000'>" + item.PointBatchCode + "</font>";
newNode.ToolTip = "当天批";
}
else
{
newNode.Text = item.PointBatchCode;
}
e.Node.Nodes.Add(newNode);
}
}
}
*/ }
}
#endregion
#region
/// <summary>
/// 绑定树节点
/// </summary>
/// <param name="node"></param>
private void BindNodes(TreeNode node, List<Model.View_Batch_PointBatch> pointManages)
{
if (node.ToolTip == "施工单位")
{
var install = (from x in pointManages where x.ProjectId==this.CurrUser.LoginProjectId
orderby x.InstallationCode
select new { x.InstallationId, x.InstallationName }).Distinct();
foreach (var item in install)
{
TreeNode newNode = new TreeNode
{
Text = item.InstallationName,
NodeID = item.InstallationId + "|" + node.NodeID,
ToolTip = "装置",
};
node.Nodes.Add(newNode);
var installPointManages = pointManages.Where(x => x.InstallationId == item.InstallationId);
if (installPointManages.Count() > 0)
{
this.BindNodes(newNode, installPointManages.ToList());
}
}
}
else if (node.ToolTip == "装置")
{
var detectionTypes = (from x in pointManages
orderby x.DetectionTypeCode
select new { x.DetectionTypeId, x.DetectionTypeName }).Distinct();
foreach (var item in detectionTypes)
{
TreeNode newNode = new TreeNode
{
Text = item.DetectionTypeName,
NodeID = item.DetectionTypeId + "|" + node.NodeID,
ToolTip = "探伤类型",
};
node.Nodes.Add(newNode);
var detectionTypePointManages = pointManages.Where(x => x.DetectionTypeId == item.DetectionTypeId);
if (detectionTypePointManages.Count() > 0)
{
this.BindNodes(newNode, detectionTypePointManages.ToList());
}
}
}
else if (node.ToolTip == "探伤类型")
{
var detectionRates = (from x in pointManages
orderby x.DetectionRateCode
select new { x.DetectionRateId, x.DetectionRateCode }).Distinct();
foreach (var item in detectionRates)
{
TreeNode newNode = new TreeNode
{
Text = item.DetectionRateCode,
NodeID = item.DetectionRateId + "|" + node.NodeID,
ToolTip = "检测比例",
};
node.Nodes.Add(newNode);
var detectionRatePointManages = pointManages.Where(x => x.DetectionRateId == item.DetectionRateId);
if (detectionRatePointManages.Count() > 0)
{
this.BindNodes(newNode, detectionRatePointManages.ToList());
}
}
}
else if (node.ToolTip == "检测比例")
{
var pointManageItems = from x in pointManages
orderby x.PointBatchCode
select x;
foreach (var item in pointManageItems)
{
if (!string.IsNullOrEmpty(this.txtJotDate.Text))
{
DateTime start = Convert.ToDateTime(this.txtJotDate.Text.Trim());
string startDate = start.Year + "-" + start.Month + "-" + "01";
DateTime sar = Convert.ToDateTime(startDate);
DateTime end = sar.AddMonths(1);
var q = from x in Funs.DB.Batch_PointBatchItem
where x.PointBatchId == item.PointBatchId && x.WeldingDate >= sar && x.WeldingDate < end
select x;
if (q.Count() > 0)
{
TreeNode newNode = new TreeNode
{
NodeID = item.PointBatchId,
ToolTip = "批",
EnableClickEvent = true,
};
if (BLL.Batch_PointBatchService.GetIsShowPointRepairByPointBatchId(item.PointBatchId)) ////存在返修 蓝色
{
newNode.Text = "<font color='#0000FF'>" + item.PointBatchCode + "</font>";
newNode.ToolTip = "批中存在返修口";
}
else if (!item.EndDate.HasValue) ////批 没有关闭 粉色
{
newNode.Text = "<font color='#FA58D0'>" + item.PointBatchCode + "</font>";
newNode.ToolTip = "批尚未关闭";
}
else if (!item.IsTrust.HasValue || item.IsTrust == false) ////没有委托深黄色
{
newNode.Text = "<font color='#FF8C00'>" + item.PointBatchCode + "</font>";
newNode.ToolTip = "批未委托";
} ////当天批
else if (string.Format("{0:yyyy-MM-dd}", item.StartDate) == string.Format("{0:yyyy-MM-dd}", System.DateTime.Now)
|| string.Format("{0:yyyy-MM-dd}", item.EndDate) == string.Format("{0:yyyy-MM-dd}", System.DateTime.Now))
{
newNode.Text = "<font color='#EE0000'>" + item.PointBatchCode + "</font>";
newNode.ToolTip = "当天批";
}
else
{
newNode.Text = item.PointBatchCode;
}
node.Nodes.Add(newNode);
}
}
}
}
}
#endregion
#region TreeView
/// <summary>
/// 点击TreeView
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
if (this.tvControlItem.SelectedNodeID != "0")
{
this.PointBatchId = tvControlItem.SelectedNodeID;
var p = from x in Funs.DB.Batch_PointBatchItem where x.PointBatchId == PointBatchId && x.PointDate.HasValue && (x.IsBuildTrust == null || x.IsBuildTrust == false) select x;
if (p.Count() == 0)
{
var batch = BLL.Batch_PointBatchService.GetPointBatchById(this.PointBatchId);
// 批变为已委托状态
batch.IsTrust = true;
Funs.DB.SubmitChanges();
}
this.BindGrid();
var pitem = (from x in Funs.DB.View_Batch_PointBatchItem
where x.PointBatchId == PointBatchId
select x.WelderCode).Distinct();
if (pitem.Count() > 0)
{
drpWelder.DataValueField = "WelderCode";
drpWelder.DataTextField = "WelderCode";
drpWelder.DataSource = pitem;
drpWelder.DataBind();
Funs.FineUIPleaseSelect(drpWelder);
}
}
}
#endregion
#region
#region
/// <summary>
/// 加载页面输入提交信息
/// </summary>
private void PageInfoLoad()
{
this.txtStartDate.Text = string.Empty;
this.txtEndDate.Text = string.Empty;
this.txtState.Text = "未关闭";
Model.Batch_PointBatch pointBatch = BLL.Batch_PointBatchService.GetPointBatchById(this.PointBatchId);
if (pointBatch != null)
{
if (pointBatch.StartDate.HasValue)
{
this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", pointBatch.StartDate);
}
if (pointBatch.EndDate.HasValue)
{
this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", pointBatch.EndDate);
this.txtState.Text = "已关闭";
}
}
}
#endregion
/// <summary>
/// 数据绑定
/// </summary>
private void BindGrid()
{
this.PageInfoLoad();
string strSql = @" SELECT PointBatchItemId,PointBatchId,WeldJointId,PointState,PointDate,RepairDate,CutDate,WorkAreaCode,
WeldJointCode,JointArea,Size,WelderCode,WeldingDate,PipelineCode,PipingClassName,
CONVERT(INT,dbo.Fun_GetParseInt(WeldJointCode)) AS ConvertJoint,
(CASE WHEN IsWelderFirst=1 THEN '是' ELSE '否' END) AS IsWelderFirst,
(CASE WHEN IsCompletedPoint=1 THEN '已处理' ELSE '待处理' END) CompletedState,
JLAudit,GLGSAudit,QTAudit,IsPointAudit,TrustBatchItemId,
(CASE WHEN PointDate IS NOT NULL AND (IsBuildTrust=1 OR TrustBatchItemId IS NOT NULL) THEN '已委托'
ELSE (CASE WHEN PointDate IS NOT NULL THEN '未委托' ELSE '' END) END) AS IsTrust
FROM dbo.View_Batch_PointBatchItem
WHERE PointBatchId=@PointBatchId";
List<SqlParameter> listStr = new List<SqlParameter>();
if (!string.IsNullOrEmpty(PointBatchId))
{
listStr.Add(new SqlParameter("@PointBatchId", this.PointBatchId));
}
if (drpIsTrust.SelectedValue != "0")
{
if (drpIsTrust.SelectedValue == "1")
{
strSql += " AND PointDate IS NOT NULL AND IsBuildTrust IS NULL AND TrustBatchItemId IS NULL";
}
else
{
strSql += " AND PointDate IS NOT NULL AND (IsBuildTrust IS NOT NULL OR TrustBatchItemId IS NOT NULL)";
}
}
if (drpIsCompletedPoint.SelectedValue != "0")
{
if (drpIsCompletedPoint.SelectedValue == "1")
{
strSql += " AND IsCompletedPoint = 0";
}
else
{
strSql += " AND IsCompletedPoint = 1";
}
}
if (drpWelder.SelectedValue != Const._Null && drpWelder.SelectedValue != null)
{
strSql += " AND WelderCode = @WelderCode";
listStr.Add(new SqlParameter("@WelderCode", drpWelder.SelectedValue));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
// tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
for (int i = 0; i < this.Grid1.Rows.Count; i++)
{
var pointItem = BLL.Batch_PointBatchItemService.GetPointBatchItemByPointBatchItemId(this.Grid1.Rows[i].DataKeys[0].ToString());
if (pointItem != null)
{
if (pointItem.IsCheckRepair == true)
{
this.Grid1.Rows[i].CellCssClasses[6] = "colorredRed";
}
else if (pointItem.PointState != null)
{
this.Grid1.Rows[i].CellCssClasses[6] = "colorredBlue";
this.Grid1.Rows[i].CellCssClasses[9] = "colorredBlue";
}
//string isTrust = Grid1.Rows[i].Values[1].ToString();//row["IsTrust"].ToString();
//int isPointAudit = Convert.ToInt32(Grid1.Rows[i].Values[18].ToString());
//if (isPointAudit != 1 || isTrust == "已委托")
//{
// // 设置此列右键功能不能用
// this.Grid1.Rows[i].RowSelectable= false;
//}
}
}
}
protected void Grid1_RowDataBound(object sender, GridRowEventArgs e)
{
DataRowView row = e.DataItem as DataRowView;
CheckBoxField ckbIsPointAudit = Grid1.FindColumn("ckbSelect") as CheckBoxField;
//ckbIsPointAudit.SetCheckedState(e.RowIndex, false);
// 点口是否审核
//bool isPointAudit = Convert.ToBoolean(row["IsPointAudit"]);
string isTrust = row["IsTrust"].ToString();
int isPointAudit = Convert.ToInt32(row["IsPointAudit"].ToString());
if (row["PointState"].ToString() == "返修")
{
string dd = row["IsTrust"].ToString();
}
// 未审核的或已委托的口禁用复选框
if (isPointAudit!=1 || isTrust == "已委托")
{
//e.RowSelectable = false;
e.CellCssClasses[ckbIsPointAudit.ColumnIndex] = "hidethis";
}
}
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
{
string pointBatchItemId = e.RowID;
if (e.CommandName == "JLAudit")
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_PointManageMenuId, Const.BtnJLAudit))
{
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("PointItemAudit.aspx?PointBatchItemId={0}&auditMan=JLAudit", pointBatchItemId, "点口审核 - ")));
}
else
{
ShowNotify(Resources.Lan.NoPrivilegePrompt, MessageBoxIcon.Warning);
return;
}
}
if (e.CommandName == "GLGSAudit")
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_PointManageMenuId, Const.BtnGLGSAudit))
{
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("PointItemAudit.aspx?PointBatchItemId={0}&auditMan=GLGSAudit", pointBatchItemId, "点口审核 - ")));
}
else
{
ShowNotify(Resources.Lan.NoPrivilegePrompt, MessageBoxIcon.Warning);
return;
}
}
if (e.CommandName == "QTAudit")
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_PointManageMenuId, Const.BtnQTAudit))
{
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("PointItemAudit.aspx?PointBatchItemId={0}&auditMan=QTAudit", pointBatchItemId, "点口审核 - ")));
}
else
{
ShowNotify(Resources.Lan.NoPrivilegePrompt, MessageBoxIcon.Warning);
return;
}
}
}
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
protected void drpIsTrust_OnSelectedIndexChanged(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
#region
#region
/// <summary>
/// 页索引改变事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 分页选择下拉改变事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
#endregion
#endregion
#region
/// <summary>
/// 批关闭
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
this.BindGrid();
}
protected void Window2_Close(object sender, WindowCloseEventArgs e)
{
this.BindGrid();
}
#region
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Tree_TextChanged(object sender, EventArgs e)
{
this.InitTreeMenu();
}
#endregion
#endregion
#region
/// <summary>
/// 手动点口关闭
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnPointAudit_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_PointManageMenuId, Const.BtnJLAudit))
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("PointAudit.aspx", "点口审核 - ")));
}
else
{
ShowNotify(Resources.Lan.NoPrivilegePrompt, MessageBoxIcon.Warning);
return;
}
}
/// <summary>
/// 打开重新点口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnbtnOpenResetPoint_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_PointManageMenuId, Const.BtnOpenResetPoint))
{
if (!string.IsNullOrEmpty(this.PointBatchId))
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("OpenResetPoint.aspx?PointBatchId={0}", this.PointBatchId, "重新点口 - ")));
}
else
{
Alert.ShowInTop("请选择要重新点口的批!");
}
}
else
{
ShowNotify(Resources.Lan.NoPrivilegePrompt, MessageBoxIcon.Warning);
return;
}
}
/// <summary>
/// 日报完成点口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDailyCompPoint_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_PointManageMenuId, Const.BtnOpenResetPoint))
{
string strSql = @"SELECT jot.ProjectId, pItem.PointBatchId,jot.CoverWelderId,rate.DetectionRateValue
FROM dbo.Batch_PointBatchItem pItem
LEFT JOIN dbo.Batch_PointBatch point ON point.PointBatchId = pItem.PointBatchId
LEFT JOIN dbo.Pipeline_WeldJoint jot ON jot.WeldJointId = pItem.WeldJointId
LEFT JOIN dbo.Base_DetectionRate rate ON rate.DetectionRateId=point.DetectionRateId
WHERE pItem.IsCompletedPoint=0
GROUP BY jot.ProjectId, pItem.PointBatchId,jot.CoverWelderId,rate.DetectionRateValue";
DataTable dt = SQLHelper.GetDataTableRunText(strSql, null);
if (dt.Rows.Count > 0)
{
foreach (DataRow r in dt.Rows)
{
int detectionRateValue = Convert.ToInt32(r["DetectionRateValue"]);
// 已处理但批段未关闭的焊口
List<PointBatchList> compBatchNoClose = (from x in Funs.DB.Batch_PointBatchItem
join y in Funs.DB.Pipeline_WeldJoint on x.WeldJointId equals y.WeldJointId
where x.PointBatchId == r["PointBatchId"].ToString()
&& y.CoverWelderId == r["CoverWelderId"].ToString()
&& (x.BatchOrder == false || x.BatchOrder == null)
&& x.IsCompletedPoint == true
&& (y.IsCancel == false || y.IsCancel == null)
orderby x.EnterDate
select new PointBatchList { PointBatchItemId = x.PointBatchItemId, JointAttribute = y.JointAttribute, PointState = x.PointState }).ToList();
// 先处理:已处理但批段未关闭的焊口大于批段
if (detectionRateValue != 0)
{
// 批中一段的数量
int dnum = Convert.ToInt32((double)100 / detectionRateValue);
// 已处理但批段未关闭的焊口数量
int compBatchNoCloseNum = compBatchNoClose.Count();
int i = 0;
if (compBatchNoCloseNum > dnum)
{
while (i < compBatchNoCloseNum)
{
if (compBatchNoCloseNum - i >= dnum)
{
var lastBatch = compBatchNoClose.GetRange(i, dnum);
var GlastBatch = lastBatch.Where(x => x.JointAttribute == "固定F").ToList();
// 点口
GetRandomPoint(GlastBatch, lastBatch);
//关闭批段
foreach (var g in lastBatch)
{
//BLL.Batch_PointBatchItemService.UpdateIsCompletedPoint(g.PointBatchItemId, true);
BLL.Batch_PointBatchItemService.UpdatePointBatchOrder(g.PointBatchItemId, true);
}
}
else
{
break;
}
i = i + dnum;
}
}
}
// 已处理但批段未关闭的焊口
List<PointBatchList> batchNoClose = (from x in Funs.DB.Batch_PointBatchItem
join y in Funs.DB.Pipeline_WeldJoint on x.WeldJointId equals y.WeldJointId
where x.PointBatchId == r["PointBatchId"].ToString()
&& y.CoverWelderId == r["CoverWelderId"].ToString()
&& (x.BatchOrder == false || x.BatchOrder == null)
&& x.IsCompletedPoint == true
&& (y.IsCancel == false || y.IsCancel == null)
orderby x.EnterDate
select new PointBatchList { PointBatchItemId = x.PointBatchItemId, JointAttribute = y.JointAttribute, PointState = x.PointState }).ToList();
// 未处理焊口
List<PointBatchList> jotList = (from x in Funs.DB.Batch_PointBatchItem
join y in Funs.DB.Pipeline_WeldJoint on x.WeldJointId equals y.WeldJointId
where x.PointBatchId == r["PointBatchId"].ToString()
&& y.CoverWelderId == r["CoverWelderId"].ToString()
&& (x.IsCompletedPoint == false || x.IsCompletedPoint == null)
&& (y.IsCancel == false || y.IsCancel == null)
orderby x.EnterDate
select new PointBatchList { PointBatchItemId = x.PointBatchItemId, JointAttribute = y.JointAttribute, PointState=x.PointState }).ToList();
// 未处理固定焊口
List<PointBatchList> GJot = jotList.Where(x => x.JointAttribute == "固定F").ToList();
if (detectionRateValue != 0)
{
// 批中一段的数量
int dnum = Convert.ToInt32((double)100 / (int)r["DetectionRateValue"]);
// 已处理但批段未关闭的焊口数量
int batchNoCloseNum = batchNoClose.Count();
// 未处理焊口数量
int jotListNum = jotList.Count();
// 未处理固定焊口数量
int GJotNum = GJot.Count();
#region batchNoCloseNum大于0表示批段已处理但批段未关闭的焊口集合里
if (batchNoCloseNum > 0)
{
// 如批段未关闭的焊口大于段数
if ((batchNoCloseNum + jotListNum) > dnum)
{
// 关闭上一个批段还需要的数量
int closeNum = dnum - batchNoCloseNum;
var bachtclose = jotList.GetRange(0, closeNum);
// 补足上一个批段,关闭同时状态为已处理
foreach (var g in bachtclose)
{
BLL.Batch_PointBatchItemService.UpdatePointBatchOrder(g.PointBatchItemId, true);
BLL.Batch_PointBatchItemService.UpdateIsCompletedPoint(g.PointBatchItemId, true);
}
foreach (var g in batchNoClose)
{
BLL.Batch_PointBatchItemService.UpdatePointBatchOrder(g.PointBatchItemId, true);
}
if ((jotListNum - closeNum) > dnum)
{
// 取模(余数)
int modelNum = (jotListNum - closeNum) % dnum;
// 取整
double doubleNum = Math.Ceiling((double)((jotListNum - closeNum) / (double)dnum));
int intNum = Convert.ToInt32(doubleNum);
// 补足上一个批段后剩余的待处理的列表
var remailList = jotList.GetRange(closeNum, (jotListNum - closeNum));
for (int i = 0; i < intNum; i++)
{
if (modelNum == 0)
{
var bachtOrder = remailList.GetRange(i * dnum, dnum);
var bachtOrderG = bachtOrder.Where(p => p.JointAttribute == "固定F").ToList();
// 点口
GetRandomPoint(bachtOrderG, bachtOrder);
// 状态为已处理状态,并关闭此批段
foreach (var g in bachtOrder)
{
BLL.Batch_PointBatchItemService.UpdateIsCompletedPoint(g.PointBatchItemId, true);
BLL.Batch_PointBatchItemService.UpdatePointBatchOrder(g.PointBatchItemId, true);
}
}
else
{
if (i != intNum - 1)
{
var bachtOrder = remailList.GetRange(i * dnum, dnum);
var bachtOrderG = bachtOrder.Where(p => p.JointAttribute == "固定F").ToList();
// 点口
GetRandomPoint(bachtOrderG, bachtOrder);
// 状态为已处理状态,并关闭此批段
foreach (var g in bachtOrder)
{
BLL.Batch_PointBatchItemService.UpdateIsCompletedPoint(g.PointBatchItemId, true);
BLL.Batch_PointBatchItemService.UpdatePointBatchOrder(g.PointBatchItemId, true);
}
}
// 最后一个段
else
{
var bachtOrder = remailList.GetRange(i * dnum, modelNum);
var bachtOrderG = bachtOrder.Where(p => p.JointAttribute == "固定F").ToList();
// 点口
GetRandomPoint(bachtOrderG, bachtOrder);
// 状态为已处理状态,此批段不关闭
foreach (var g in bachtOrder)
{
BLL.Batch_PointBatchItemService.UpdateIsCompletedPoint(g.PointBatchItemId, true);
}
}
}
}
}
else if ((jotListNum - closeNum) == dnum)
{
var bachtOrder = jotList.GetRange(closeNum, (jotListNum - closeNum));
var bachtOrderG = bachtOrder.Where(p => p.JointAttribute == "固定F").ToList();
// 点口
GetRandomPoint(bachtOrderG, bachtOrder);
// 状态为已处理状态,并关闭此批段
foreach (var g in bachtOrder)
{
BLL.Batch_PointBatchItemService.UpdateIsCompletedPoint(g.PointBatchItemId, true);
BLL.Batch_PointBatchItemService.UpdatePointBatchOrder(g.PointBatchItemId, true);
}
}
else
{
var bachtOrder = jotList.GetRange(closeNum, (jotListNum - closeNum));
var bachtOrderG = bachtOrder.Where(p => p.JointAttribute == "固定F").ToList();
// 点口
GetRandomPoint(bachtOrderG, bachtOrder);
// 状态为已处理状态,此批段没关闭
foreach (var g in bachtOrder)
{
BLL.Batch_PointBatchItemService.UpdateIsCompletedPoint(g.PointBatchItemId, true);
}
}
}
// 当未关闭的批段+未处理焊口的数量等于探伤比例数量时批段关闭
else if (batchNoCloseNum + jotListNum == dnum)
{
// 批段关闭
foreach (var g in batchNoClose)
{
BLL.Batch_PointBatchItemService.UpdatePointBatchOrder(g.PointBatchItemId, true);
}
// 批段关闭,状态为已处理
foreach (var g in jotList)
{
BLL.Batch_PointBatchItemService.UpdatePointBatchOrder(g.PointBatchItemId, true);
BLL.Batch_PointBatchItemService.UpdateIsCompletedPoint(g.PointBatchItemId, true);
}
}
else
{
// 待处理完成,但批段未关闭
foreach (var g in jotList)
{
BLL.Batch_PointBatchItemService.UpdateIsCompletedPoint(g.PointBatchItemId, true);
}
}
}
#endregion
#region batchNoCloseNum等于0表示这个批段开始
else
{
if (jotListNum > dnum)
{
// 取模(余数)
int modelNum = jotList.Count() % dnum;
// 取整
double doubleNum = Math.Ceiling((double)jotList.Count() / (double)dnum);
int intNum = Convert.ToInt32(doubleNum);
for (int i = 0; i < intNum; i++)
{
if (modelNum == 0)
{
var bachtOrder = jotList.GetRange(i * dnum, dnum);
var bachtOrderG = bachtOrder.Where(p => p.JointAttribute == "固定F").ToList();
// 点口
GetRandomPoint(bachtOrderG, bachtOrder);
// 状态为已处理状态,并关闭此批段
foreach (var g in bachtOrder)
{
BLL.Batch_PointBatchItemService.UpdateIsCompletedPoint(g.PointBatchItemId, true);
BLL.Batch_PointBatchItemService.UpdatePointBatchOrder(g.PointBatchItemId, true);
}
}
else
{
if (i != intNum - 1)
{
var bachtOrder = jotList.GetRange(i * dnum, dnum);
var bachtOrderG = bachtOrder.Where(p => p.JointAttribute == "固定F").ToList();
// 点口
GetRandomPoint(bachtOrderG, bachtOrder);
// 状态为已处理状态,并关闭此批段
foreach (var g in bachtOrder)
{
BLL.Batch_PointBatchItemService.UpdateIsCompletedPoint(g.PointBatchItemId, true);
BLL.Batch_PointBatchItemService.UpdatePointBatchOrder(g.PointBatchItemId, true);
}
}
// 最后一个段
else
{
var bachtOrder = jotList.GetRange(i * dnum, modelNum);
var bachtOrderG = bachtOrder.Where(p => p.JointAttribute == "固定F").ToList();
// 点口
GetRandomPoint(bachtOrderG, bachtOrder);
// 状态为已处理状态,此批段不关闭
foreach (var g in bachtOrder)
{
BLL.Batch_PointBatchItemService.UpdateIsCompletedPoint(g.PointBatchItemId, true);
}
}
}
}
}
else if (jotListNum == dnum)
{
// 点口
GetRandomPoint(GJot, jotList);
// 状态为已处理状态,并关闭此批段
foreach (var g in jotList)
{
BLL.Batch_PointBatchItemService.UpdateIsCompletedPoint(g.PointBatchItemId, true);
BLL.Batch_PointBatchItemService.UpdatePointBatchOrder(g.PointBatchItemId, true);
}
}
else
{
// 点口
GetRandomPoint(GJot, jotList);
// 状态为已处理状态,但批段不关闭
foreach (var g in jotList)
{
BLL.Batch_PointBatchItemService.UpdateIsCompletedPoint(g.PointBatchItemId, true);
}
}
}
#endregion
}
else
{
// 不点口,状态为变已处理,批段完成
foreach (var q in jotList)
{
BLL.Batch_PointBatchItemService.UpdateIsCompletedPoint(q.PointBatchItemId, true);
BLL.Batch_PointBatchItemService.UpdatePointBatchOrder(q.PointBatchItemId, true);
}
}
}
BLL.Sys_LogService.AddLog(BLL.Const.System_3, this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_PointManageMenuId, "日报完成点口", string.Empty);
ShowNotify("批量点口完成", MessageBoxIcon.Success);
}
else
{
ShowNotify("已无待处理焊口", MessageBoxIcon.Warning);
return;
}
}
else
{
ShowNotify(Resources.Lan.NoPrivilegePrompt, MessageBoxIcon.Warning);
return;
}
}
private void GetRandomPoint(List<PointBatchList> GJot, List<PointBatchList> jotList)
{
// 先查找固定口数量,如有固定口,则优先点
if (GJot.Count() > 0)
{
int Gnum = GJot.Count();
int rnum = Funs.GetRandomNum(1, Gnum);
int j = 1;
foreach (var g in GJot)
{
if (rnum == j)
{
BLL.Batch_PointBatchItemService.UpdatePointBatchItem(g.PointBatchItemId, "1", System.DateTime.Now, null);
}
j++;
}
}
else
{
if (jotList.Count() > 0)
{
int rnum = Funs.GetRandomNum(1, jotList.Count());
int j = 1;
foreach (var g in jotList)
{
if (rnum == j)
{
BLL.Batch_PointBatchItemService.UpdatePointBatchItem(g.PointBatchItemId, "1", System.DateTime.Now, null);
}
j++;
}
}
}
}
/// <summary>
/// 手动结束批
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnbtnClear_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_PointManageMenuId, Const.BtnClearBatch))
{
string info = "该批次待处理状态的焊口已关闭!";
var pointItemList = (from x in Funs.DB.Batch_PointBatchItem where x.PointBatchId == this.PointBatchId && (x.IsCompletedPoint == null || x.IsCompletedPoint == false) select x).ToList();
foreach (var item in pointItemList)
{
item.IsCompletedPoint = true;
}
Funs.DB.SubmitChanges();
//var point = BLL.Batch_PointBatchService.GetPointBatchById(this.PointBatchId);
//if (point != null && !point.EndDate.HasValue)
//{
// var q = Funs.DB.Batch_PointBatchItem.FirstOrDefault(x => x.PointBatchId == PointBatchId && x.PointState == "1");
// if (q != null)
// {
// BLL.Batch_PointBatchService.UpdatePointBatch(PointBatchId, System.DateTime.Now);
// this.txtEndDate.Text = point.EndDate.Value.ToShortDateString();
// this.txtState.Text = "批关闭";
// BLL.Sys_LogService.AddLog(BLL.Const.System_3, this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_PointManageMenuId, Const.BtnClearBatch, this.PointBatchId);
// }
// else
// {
// info = "该批次未点口,请手动点口后再结束批!";
// }
//}
Alert.ShowInTop(info);
BindGrid();
}
else
{
ShowNotify(Resources.Lan.NoPrivilegePrompt, MessageBoxIcon.Warning);
return;
}
}
/// <summary>
/// 重新选择扩口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSelectExpandPoint_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_PointManageMenuId, Const.BtnSelectResetExpand))
{
var pointBatch = BLL.Batch_PointBatchService.GetPointBatchById(this.PointBatchId);
if (pointBatch != null)
{
var pointBatchItem = from x in Funs.DB.Batch_PointBatchItem
join y in Funs.DB.Batch_BatchTrustItem on x.PointBatchItemId equals y.TrustBatchItemId
join z in Funs.DB.Batch_NDEItem on y.TrustBatchItemId equals z.TrustBatchItemId
where x.IsCheckRepair.Value && z.SubmitDate.HasValue
select x;
if (pointBatchItem.Count() == 0)
{
Alert.ShowInTop("不存在返修口,无法选择扩透口!", MessageBoxIcon.Warning);
return;
}
else
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("SelectExpandPoint.aspx?PointBatchId={0}", this.PointBatchId, "选择扩口 - ")));
}
}
else
{
Alert.ShowInTop("请选择扩透所在的批次!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify(Resources.Lan.NoPrivilegePrompt, MessageBoxIcon.Warning);
return;
}
}
#endregion
#region
/// <summary>
/// 生成
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnGenerate_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_PointManageMenuId, Const.BtnGenerate))
{
if (!string.IsNullOrEmpty(this.PointBatchId))
{
// 获取当前批次所有未委托口
var project = BLL.Base_ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId);
var batch = BLL.Batch_PointBatchService.GetPointBatchById(this.PointBatchId);
var getViewGenerateTrustLists = (from x in Funs.DB.View_GenerateTrust_FJ where x.ProjectId == this.CurrUser.LoginProjectId
&& x.PointBatchId == this.PointBatchId
select x).ToList();
if (getViewGenerateTrustLists.Count() > 0 && project.ProjectArea == "3")
{
if (CurrUser.UserId == Const.GlyId)
{
GenerateTrust_FJ(getViewGenerateTrustLists);
}
else
{
Model.Project_Unit pUnit = BLL.Project_UnitService.GetProject_UnitByProjectIdUnitId(this.CurrUser.LoginProjectId, this.CurrUser.UnitId);
if (pUnit == null || pUnit.UnitType == BLL.Const.UnitType_1 || pUnit.UnitType == BLL.Const.UnitType_2
|| pUnit.UnitType == BLL.Const.UnitType_3 || pUnit.UnitType == BLL.Const.UnitType_4)
{
GenerateTrust_FJ(getViewGenerateTrustLists);
}
else
{
var getUnitViewGenerateTrustLists = getViewGenerateTrustLists.Where(x => x.UnitId == this.CurrUser.UnitId);
if (getUnitViewGenerateTrustLists.Count() > 0)
{
// 当前单位未委托批
GenerateTrust_FJ(getUnitViewGenerateTrustLists.ToList());
}
else
{
Alert.ShowInTop("当前批次所点焊口已全部生成委托单!", MessageBoxIcon.Warning);
}
}
}
// 批变为已委托状态
batch.IsTrust = true;
Funs.DB.SubmitChanges();
BLL.Sys_LogService.AddLog(BLL.Const.System_3, this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_PointManageMenuId, Const.BtnGenerate, null);
}
else
{
Alert.ShowInTop("当前批次所点焊口已全部生成委托单!", MessageBoxIcon.Warning);
}
}
else
{
Alert.ShowInTop("请选择要生成委托单的批次!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify(Resources.Lan.NoPrivilegePrompt, MessageBoxIcon.Warning);
return;
}
}
/// <summary>
/// 手动生成委托单
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnHandGenerate_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_PointManageMenuId, Const.BtnHandGenerate))
{
List<string> selectRow = new List<string>();
CheckBoxField ckbSelect = Grid1.FindColumn("ckbSelect") as CheckBoxField;
for (int i = 0; i < Grid1.Rows.Count; i++)
{
bool check = ckbSelect.GetCheckedState(i);
if (check)
{
selectRow.Add(Grid1.DataKeys[i][0].ToString());
}
}
if (selectRow.Count() > 0)
{
List<string> weldMot = new List<string>();
List<string> grooveType = new List<string>();
List<bool> IsFist = new List<bool>();
string error = string.Empty;
foreach (string pointItemId in selectRow)
{
var pointItem = BLL.Batch_PointBatchItemService.GetPointBatchItemByPointBatchItemId(pointItemId);
var jot = BLL.Pipeline_WeldJointService.GetWeldJointByWeldJointId(pointItem.WeldJointId);
weldMot.Add(jot.WeldingMethodId);
grooveType.Add(jot.GrooveTypeId);
IsFist.Add(pointItem.IsWelderFirst == true ? true : false);
}
if (weldMot.Distinct().Count() > 1)
{
error = "勾选的焊口焊接方法不一至,";
}
if (grooveType.Distinct().Count() > 1)
{
error = error + "勾选的焊口坡口类型不一至,";
}
if (IsFist.Distinct().Count() > 1)
{
error = error + "勾选的焊口是否首三不一至,";
}
if (error == string.Empty)
{
var point = BLL.Batch_PointBatchService.GetPointBatchById(this.PointBatchId);
var iso = BLL.Pipeline_PipelineService.GetPipelineByPipelineId(point.PipelineId);
var project = BLL.Base_ProjectService.GetProjectByProjectId(point.ProjectId);
var unit = BLL.Base_UnitService.GetUnit(point.UnitId);
var ndt = BLL.Base_DetectionTypeService.GetDetectionTypeByDetectionTypeId(point.DetectionTypeId);
var work = BLL.Project_WorkAreaService.GetProject_WorkAreaByWorkAreaId(iso.WorkAreaId);
Model.Batch_BatchTrust newBatchTrust = new Model.Batch_BatchTrust();
string perfix = string.Empty;
//perfix = unit.UnitCode + "-" + ins.InstallationCode + "-GD-" + ndt.DetectionTypeCode + "-";
perfix = ndt.DetectionTypeCode + "-" + unit.UnitCode + "-" + work.WorkAreaCode + "-PI" + "-";
newBatchTrust.TrustBatchCode = BLL.SQLHelper.RunProcNewId("SpGetNewCode", "dbo.Batch_BatchTrust", "TrustBatchCode", project.ProjectId, perfix);
string trustBatchId = SQLHelper.GetNewID(typeof(Model.Batch_BatchTrust));
newBatchTrust.TrustBatchId = trustBatchId;
newBatchTrust.TrustDate = DateTime.Now;
newBatchTrust.ProjectId = point.ProjectId;
newBatchTrust.UnitId = point.UnitId;
newBatchTrust.InstallationId = point.InstallationId;
newBatchTrust.WorkAreaId = iso.WorkAreaId;
newBatchTrust.WeldingMethodId = weldMot[0];
newBatchTrust.GrooveTypeId = grooveType[0];
newBatchTrust.IsWelderFirst = IsFist[0];
newBatchTrust.DetectionTypeId = point.DetectionTypeId;
newBatchTrust.PipelineId = point.PipelineId;
BLL.Batch_BatchTrustService.AddBatchTrust(newBatchTrust); // 新增委托单
// 生成委托明细,并回写点口明细信息
string toPointBatch = string.Empty;
foreach (string pointItemId in selectRow)
{
var pointItem = BLL.Batch_PointBatchItemService.GetPointBatchItemByPointBatchItemId(pointItemId);
if (BLL.Batch_PointBatchService.GetIsGenerateTrust(pointItem.PointBatchItemId)) ////生成委托单的条件判断
{
if (!toPointBatch.Contains(pointItem.PointBatchId))
{
toPointBatch = toPointBatch + pointItem.PointBatchId + ",";
}
Model.Batch_BatchTrustItem trustItem = new Model.Batch_BatchTrustItem
{
TrustBatchItemId = SQLHelper.GetNewID(typeof(Model.Batch_BatchTrustItem)),
TrustBatchId = trustBatchId,
PointBatchItemId = pointItem.PointBatchItemId,
WeldJointId = pointItem.WeldJointId,
//FilmNum = fileNum,
CreateDate = DateTime.Now
};
Batch_BatchTrustItemService.AddBatchTrustItem(trustItem);
}
//Model.Batch_PointBatchItem pointBatchItem = Funs.DB.Batch_PointBatchItem.FirstOrDefault(e => e.PointBatchItemId == item.PointBatchItemId);
pointItem.IsBuildTrust = true;
Funs.DB.SubmitChanges();
}
// 回写委托批对应点口信息
if (!string.IsNullOrEmpty(toPointBatch))
{
toPointBatch = toPointBatch.Substring(0, toPointBatch.Length - 1);
var updateTrut = BLL.Batch_BatchTrustService.GetBatchTrustById(trustBatchId);
if (updateTrut != null)
{
updateTrut.TopointBatch = toPointBatch;
BLL.Batch_BatchTrustService.UpdateBatchTrust(updateTrut);
}
}
Alert.ShowInTop("委托单已生成!", MessageBoxIcon.Success);
}
else
{
Alert.ShowInTop(error + "不能组成一个委托单!", MessageBoxIcon.Warning);
}
}
else
{
Alert.ShowInTop("请勾选要生成委托单的焊口!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify(Resources.Lan.NoPrivilegePrompt, MessageBoxIcon.Warning);
return;
}
}
/// <summary>
/// 生成委托单
/// </summary>
/// <param name="unitId"></param>
private void GenerateTrust(List<Model.View_GenerateTrust> GenerateTrustLists)
{
}
/// <summary>
/// 生成委托单-福建
/// </summary>
/// <param name="unitId"></param>
private void GenerateTrust_FJ(List<Model.View_GenerateTrust_FJ> GenerateTrustLists)
{
Model.HJGLDB db = Funs.DB;
foreach (var trust in GenerateTrustLists)
{
Model.Batch_BatchTrust newBatchTrust = new Model.Batch_BatchTrust();
var project = BLL.Base_ProjectService.GetProjectByProjectId(trust.ProjectId);
var unit = BLL.Base_UnitService.GetUnit(trust.UnitId);
var ndt = BLL.Base_DetectionTypeService.GetDetectionTypeByDetectionTypeId(trust.DetectionTypeId);
var work = BLL.Project_WorkAreaService.GetProject_WorkAreaByWorkAreaId(trust.WorkAreaId);
string trustBatchcode = string.Empty;
string perfix = string.Empty;
perfix = ndt.DetectionTypeCode + "-" + unit.UnitCode + "-" + work.WorkAreaCode + "-PI" + "-";
if (trust.PointState == "1")
{
trustBatchcode = BLL.SQLHelper.RunProcNewId("SpGetNewCode", "dbo.Batch_BatchTrust", "TrustBatchCode", project.ProjectId, perfix);
}
if (trust.PointState == "2")
{
var exp = BLL.RepairRecordService.GetRepairRecordById(trust.RepairRecordId);
trustBatchcode = exp.RepairRecordCode.Substring(0, exp.RepairRecordCode.Length - 2) + "EX1";
}
if (trust.PointState == "3")
{
var repair = BLL.RepairRecordService.GetRepairRecordById(trust.RepairRecordId);
trustBatchcode = repair.RepairRecordCode;
}
if (trust.PointState == "4")
{
var repair = BLL.RepairRecordService.GetRepairRecordById(trust.RepairRecordId);
trustBatchcode = repair.RepairRecordCode;
}
if (trust.PointState == "5")
{
var repair = BLL.RepairRecordService.GetRepairRecordById(trust.RepairRecordId);
trustBatchcode = repair.RepairRecordCode;
}
newBatchTrust.TrustBatchCode = trustBatchcode;
string trustBatchId = SQLHelper.GetNewID(typeof(Model.Batch_BatchTrust));
newBatchTrust.TrustBatchId = trustBatchId;
newBatchTrust.TrustDate = DateTime.Now;
newBatchTrust.ProjectId = trust.ProjectId;
newBatchTrust.UnitId = trust.UnitId;
newBatchTrust.InstallationId = trust.InstallationId;
newBatchTrust.WorkAreaId = trust.WorkAreaId;
newBatchTrust.WeldingMethodId = trust.WeldingMethodId;
newBatchTrust.GrooveTypeId = trust.GrooveTypeId;
newBatchTrust.IsWelderFirst = Convert.ToBoolean(trust.IsWelderFirst);
newBatchTrust.DetectionTypeId = trust.DetectionTypeId;
newBatchTrust.PipelineId = trust.PipelineId;
BLL.Batch_BatchTrustService.AddBatchTrust(newBatchTrust); // 新增委托单
List<Model.View_GenerateTrustItem_FJ> generateTrustItem = new List<Model.View_GenerateTrustItem_FJ>();
// 生成委托条件对比
if (trust.PointState == "1")
{
generateTrustItem = (from x in db.View_GenerateTrustItem_FJ
where x.ProjectId == trust.ProjectId && x.InstallationId == trust.InstallationId
&& x.WorkAreaId == trust.WorkAreaId && x.UnitId == trust.UnitId
&& x.WeldingMethodId == trust.WeldingMethodId && x.GrooveTypeId == trust.GrooveTypeId
&& x.IsWelderFirst == trust.IsWelderFirst && x.DetectionTypeId == trust.DetectionTypeId
&& x.PipelineId == trust.PipelineId && x.PointState == trust.PointState
select x).ToList();
}
else
{
generateTrustItem = (from x in db.View_GenerateTrustItem_FJ
where x.ProjectId == trust.ProjectId && x.InstallationId == trust.InstallationId
&& x.WorkAreaId == trust.WorkAreaId && x.UnitId == trust.UnitId
&& x.DetectionTypeId == trust.DetectionTypeId && x.PipelineId == trust.PipelineId
&& x.RepairRecordId==trust.RepairRecordId && x.PointState == trust.PointState
select x).ToList();
}
string toPointBatch = string.Empty;
// 生成委托明细,并回写点口明细信息
foreach (var item in generateTrustItem)
{
if (BLL.Batch_PointBatchService.GetIsGenerateTrust(item.PointBatchItemId)) ////生成委托单的条件判断
{
if (!toPointBatch.Contains(item.PointBatchId))
{
toPointBatch = toPointBatch + item.PointBatchId + ",";
}
//int? fileNum = null;
//if (item.Dia >= 500)
//{
// fileNum = Batch_BatchTrustItemService.GetFilmNumByRateAndDia(item.DetectionRateValue, item.Dia);
//}
Model.Batch_BatchTrustItem trustItem = new Model.Batch_BatchTrustItem
{
TrustBatchItemId = SQLHelper.GetNewID(typeof(Model.Batch_BatchTrustItem)),
TrustBatchId = trustBatchId,
PointBatchItemId = item.PointBatchItemId,
WeldJointId = item.WeldJointId,
//FilmNum = fileNum,
CreateDate = DateTime.Now
};
Batch_BatchTrustItemService.AddBatchTrustItem(trustItem);
}
Model.Batch_PointBatchItem pointBatchItem = db.Batch_PointBatchItem.FirstOrDefault(e => e.PointBatchItemId == item.PointBatchItemId);
pointBatchItem.IsBuildTrust = true;
db.SubmitChanges();
}
// 回写委托批对应点口信息
if (!string.IsNullOrEmpty(toPointBatch))
{
toPointBatch = toPointBatch.Substring(0, toPointBatch.Length - 1);
var updateTrut = BLL.Batch_BatchTrustService.GetBatchTrustById(trustBatchId);
if (updateTrut != null)
{
updateTrut.TopointBatch = toPointBatch;
BLL.Batch_BatchTrustService.UpdateBatchTrust(updateTrut);
}
}
}
Alert.ShowInTop("已成功生成委托单!", MessageBoxIcon.Success);
}
#endregion
#region
/// <summary>
/// 切除焊口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnCut_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop(Resources.Lan.SelectLeastOneRecord, MessageBoxIcon.Warning);
return;
}
var pointBatchItem = BLL.Batch_PointBatchItemService.GetPointBatchItemByPointBatchItemId(Grid1.SelectedRowID);
if (pointBatchItem != null)
{
if (pointBatchItem.PointState == null || pointBatchItem.IsBuildTrust == null || pointBatchItem.IsBuildTrust == false)
{
//pointBatchItem.IsCheckRepair = false;
pointBatchItem.OldPointDate = pointBatchItem.PointDate;
pointBatchItem.OldPointState = pointBatchItem.PointState;
pointBatchItem.CutDate = System.DateTime.Now;////更新批明细 切除日期
Funs.DB.SubmitChanges();
BLL.Batch_PointBatchService.UpdateNewKuoOrCutJointNo(pointBatchItem.PointBatchItemId, "C1");
// 更新批 是否委托:否
var updatePointBatch = BLL.Batch_PointBatchService.GetPointBatchById(this.PointBatchId);
if (updatePointBatch != null)
{
updatePointBatch.IsTrust = false;
BLL.Batch_PointBatchService.UpdatePointBatch(updatePointBatch);
}
this.BindGrid();
ShowNotify("焊口切除成功!", MessageBoxIcon.Success);
}
else
{
Alert.ShowInTop("焊口已委托,不能切除!", MessageBoxIcon.Warning);
}
}
else
{
Alert.ShowInTop("未选中要切除的焊口!", MessageBoxIcon.Warning);
}
}
#endregion
#region
/// <summary>
/// 取消点口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnCancelPoint_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_PointManageMenuId, Const.BtnCancelPoint))
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop(Resources.Lan.SelectLeastOneRecord, MessageBoxIcon.Warning);
return;
}
string pointBatchItemId = Grid1.SelectedRowID;
if (BLL.Batch_PointBatchService.GetIsShowCancellation(pointBatchItemId, "1"))
{
var pointBatchItem = BLL.Batch_PointBatchItemService.GetPointBatchItemByPointBatchItemId(Grid1.SelectedRowID);
if (pointBatchItem != null)
{
Model.HJGLDB db = Funs.DB;
pointBatchItem.PointDate = null;
pointBatchItem.PointState = null;
pointBatchItem.CutDate = null;////更新批明细 切除日期
pointBatchItem.IsBuildTrust = null;
pointBatchItem.JLAudit= null;
pointBatchItem.GLGSAudit= null;
pointBatchItem.QTAudit= null;
db.SubmitChanges();
var trust = db.Batch_BatchTrustItem.FirstOrDefault(p => p.PointBatchItemId == pointBatchItemId);
if (trust != null)
{
//var checkItem = db.Batch_NDEItem.FirstOrDefault(x => x.TrustBatchItemId == trust.TrustBatchItemId && !x.SubmitDate.HasValue);
//if (checkItem != null)
//{
// string ndeID = checkItem.NDEID;
// // 删除检测单里明细
// BLL.Batch_NDEItemService.DeleteNDEItemByNDEItemID(checkItem.NDEItemID);
// var c = BLL.Batch_NDEItemService.GetNDEItemByNDEID(ndeID);
// if (c.Count() == 0)
// {
// // 当没有明细时删除对应主表
// BLL.Batch_NDEService.DeleteNDEById(ndeID);
// }
//}
string trustBatchId = trust.TrustBatchId;
// 删除委托单里明细
BLL.Batch_BatchTrustItemService.DeleteTrustItemByTrustBatchItemId(trust.TrustBatchItemId);
var t = BLL.Batch_BatchTrustItemService.GetBatchTrustItemByTrustBatchId(trustBatchId);
if (t.Count() == 0)
{
// 当没有明细时删除对应主表
BLL.Batch_BatchTrustService.DeleteBatchTrustById(trustBatchId);
}
}
BindGrid();
BLL.Sys_LogService.AddLog(BLL.Const.System_3, this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_PointManageMenuId, Const.BtnCancelPoint, pointBatchItemId);
Alert.ShowInTop("该点口已成功取消!", MessageBoxIcon.Success);
}
}
else
{
Alert.ShowInTop("非点口或已检测不能取消!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify(Resources.Lan.NoPrivilegePrompt, MessageBoxIcon.Warning);
return;
}
}
#endregion
#region
/// <summary>
/// 取消扩透
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnCancel_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_PointManageMenuId, Const.BtnCancelPoint))
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop(Resources.Lan.SelectLeastOneRecord, MessageBoxIcon.Warning);
return;
}
string pointBatchItemId = Grid1.SelectedRowID;
if (BLL.Batch_PointBatchService.GetIsShowCancellation(pointBatchItemId, "2"))
{
var pointBatchItem = BLL.Batch_PointBatchItemService.GetPointBatchItemByPointBatchItemId(Grid1.SelectedRowID);
if (pointBatchItem != null)
{
Model.HJGLDB db = Funs.DB;
pointBatchItem.PointDate = pointBatchItem.OldPointDate;
pointBatchItem.PointState = pointBatchItem.OldPointState;
pointBatchItem.RepairRecordId = null;
pointBatchItem.CutDate = null;////更新批明细 切除日期
Funs.DB.SubmitChanges();
var trust = db.Batch_BatchTrustItem.FirstOrDefault(p => p.PointBatchItemId == pointBatchItemId);
if (trust != null)
{
//var checkItem = db.Batch_NDEItem.FirstOrDefault(x => x.TrustBatchItemId == trust.TrustBatchItemId && !x.SubmitDate.HasValue);
//if (checkItem != null)
//{
// string ndeID = checkItem.NDEID;
// // 删除检测单里明细
// BLL.Batch_NDEItemService.DeleteNDEItemByNDEItemID(checkItem.NDEItemID);
// var c = BLL.Batch_NDEItemService.GetNDEItemByNDEID(ndeID);
// if (c.Count() == 0)
// {
// // 当没有明细时删除对应主表
// BLL.Batch_NDEService.DeleteNDEById(ndeID);
// }
//}
string trustBatchId = trust.TrustBatchId;
// 删除委托单里明细
BLL.Batch_BatchTrustItemService.DeleteTrustItemByTrustBatchItemId(trust.TrustBatchItemId);
var t = BLL.Batch_BatchTrustItemService.GetBatchTrustItemByTrustBatchId(trustBatchId);
if (t.Count() == 0)
{
// 当没有明细时删除对应主表
BLL.Batch_BatchTrustService.DeleteBatchTrustById(trustBatchId);
}
}
pointBatchItem.IsBuildTrust = null;
db.SubmitChanges(); //更新批明细 返修日期 状态
BLL.Batch_PointBatchService.CancellationJointNo(pointBatchItem.WeldJointId);
BindGrid();
BLL.Sys_LogService.AddLog(BLL.Const.System_3, this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_PointManageMenuId, Const.BtnCancelPoint, pointBatchItemId);
Alert.ShowInTop("该扩透口已成功取消!", MessageBoxIcon.Success);
}
}
else
{
Alert.ShowInTop("非扩透口或已检测审核不能取消!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify(Resources.Lan.NoPrivilegePrompt, MessageBoxIcon.Warning);
return;
}
}
#endregion
#region
/// <summary>
/// 修改首焊
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnModefyFristWeld_Click(object sender, EventArgs e)
{
if (this.CurrUser.Account == Const.Gly)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop(Resources.Lan.SelectLeastOneRecord, MessageBoxIcon.Warning);
return;
}
string pointBatchItemId = Grid1.SelectedRowID;
var pointBatchItem = BLL.Batch_PointBatchItemService.GetPointBatchItemByPointBatchItemId(Grid1.SelectedRowID);
if (pointBatchItem != null)
{
if (pointBatchItem.IsWelderFirst == true)
{
pointBatchItem.IsWelderFirst = null;
}
else
{
pointBatchItem.IsWelderFirst = true;
}
Funs.DB.SubmitChanges();
BindGrid();
BLL.Sys_LogService.AddLog(BLL.Const.System_3, this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_PointManageMenuId, Const.BtnCancelPoint, pointBatchItemId);
Alert.ShowInTop("已修改该焊工的首焊!", MessageBoxIcon.Success);
}
}
else
{
ShowNotify("只有管理员才能修改!", MessageBoxIcon.Warning);
return;
}
}
#endregion
#region
/// <summary>
/// 打印
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnPrint_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(this.PointBatchId))
{
string parm = string.Empty;
var pointBatch = Funs.DB.View_Batch_PointBatch.FirstOrDefault(x => x.PointBatchId == this.PointBatchId);
if (pointBatch != null)
{
if (!string.IsNullOrEmpty(pointBatch.UnitCode))
{
parm = pointBatch.UnitCode;
}
else
{
parm = "NULL";
}
if (!string.IsNullOrEmpty(pointBatch.ProjectCode))
{
parm = parm + "|" + pointBatch.ProjectCode;
}
else
{
parm = parm + "|" + "NULL";
}
if (!string.IsNullOrEmpty(pointBatch.DetectionTypeCode))
{
parm = parm + "|" + "NDE Type" + pointBatch.DetectionTypeCode;
}
else
{
parm = parm + "|" + "NDE Type" + "NULL";
}
// PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../../Report/ReportPrint.aspx?report=1&pointBatchId={0}&parm={1}", this.PointBatchId, parm, "编辑 - ")));
}
}
}
#endregion
protected void btnPTIn_Click(object sender, EventArgs e)
{
string strSql = @"SELECT pipe.PipelineId,pipe.PipelineCode,pipe.DetectionRateId,rate.DetectionRateCode
FROM dbo.Pipeline_Pipeline pipe
LEFT JOIN dbo.Base_DetectionRate rate ON rate.DetectionRateId = pipe.DetectionRateId
WHERE (SELECT COUNT(*) FROM dbo.Pipeline_WeldJoint jot
WHERE jot.PipelineId=pipe.PipelineId
AND jot.WeldingDailyId IS NOT NULL
AND jot.DetectionType LIKE '%53704a2c-ce45-41d9-a6e7-be24f0780d87%' )>0";
DataTable tb = SQLHelper.GetDataTableRunText(strSql, null);
if (tb != null)
{
foreach (DataRow dr in tb.Rows)
{
string pipelineId =dr["PipelineId"].ToString();
string pipelineCode = dr["PipelineCode"].ToString();
string detectionRateId = dr["DetectionRateId"].ToString();
string detectionRateCode = dr["DetectionRateCode"].ToString();
Model.Batch_PointBatch newPointBatch = new Model.Batch_PointBatch();
string pointBatchId = SQLHelper.GetNewID(typeof(Model.Batch_PointBatch));
string pointBatchCode = Batch_PointBatchService.GetNewPointBatchCode("0bbe1ae1-e643-4f86-9695-4381ed792ec9", pipelineCode, "PT", detectionRateCode);
newPointBatch.PointBatchId = pointBatchId;
newPointBatch.PointBatchCode = pointBatchCode;
newPointBatch.ProjectId = "0bbe1ae1-e643-4f86-9695-4381ed792ec9";
newPointBatch.UnitId = "8c730dfc-07a5-424e-8f58-75098493e0c5";
newPointBatch.PipelineId = pipelineId;
newPointBatch.InstallationId = "2990422b-4589-42a1-b2b5-b0c2e39324d0";
newPointBatch.DetectionTypeId = "53704a2c-ce45-41d9-a6e7-be24f0780d87";
newPointBatch.DetectionRateId = detectionRateId;
newPointBatch.StartDate = System.DateTime.Now;
newPointBatch.IsTrust = true;
Batch_PointBatchService.AddPointBatch(newPointBatch); // 生成主表
// 增加明细
var jotList = (from x in Funs.DB.Pipeline_WeldJoint
join y in Funs.DB.Pipeline_WeldingDaily on x.WeldingDailyId equals y.WeldingDailyId
where x.PipelineId == pipelineId && x.WeldingDailyId != null
&& x.DetectionType.Contains("53704a2c-ce45-41d9-a6e7-be24f0780d87")
select new { x.WeldJointId, y.WeldingDate }).ToList();
foreach (var jot in jotList)
{
Model.Batch_PointBatchItem newPointBatchItem = new Model.Batch_PointBatchItem();
string pointBatchItemId = SQLHelper.GetNewID(typeof(Model.Batch_PointBatchItem));
newPointBatchItem.PointBatchItemId = pointBatchItemId;
newPointBatchItem.PointBatchId = pointBatchId;
newPointBatchItem.WeldJointId = jot.WeldJointId;
newPointBatchItem.WeldingDate = jot.WeldingDate;
newPointBatchItem.IsCheckRepair = false;
newPointBatchItem.AcceptLevel = "";
newPointBatchItem.IsCompletedPoint = true;
BLL.Batch_PointBatchItemService.AddPointBatchItem(newPointBatchItem); // 插入明细表
}
}
}
}
private string GetNewTrust(string code)
{
int r_num = 0;
string newTrustCode = string.Empty;
if (code.Contains("R1") || code.Contains("R2") || code.Contains("R3") || code.Contains("R4"))
{
int indexR = code.LastIndexOf("R");
if (indexR > 0)
{
try
{
r_num = Convert.ToInt32(code.Substring(indexR + 1, 1)) + 1;
newTrustCode = code.Substring(0, code.Length - 1) + r_num.ToString();
}
catch { }
}
}
else
{
newTrustCode = code + "R1";
}
return newTrustCode;
}
private class PointBatchList
{
public string PointBatchItemId
{
get;
set;
}
public string JointAttribute
{
get;
set;
}
public string PointState
{
get;
set;
}
}
}
}