Basf_TCC7/HJGL/FineUIPro.Web/WeldingProcess/TestPackageManage/TestPackageManageEdit.aspx.cs

976 lines
45 KiB
C#

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.IO;
using System.Web;
using BLL;
using Newtonsoft.Json.Linq;
namespace FineUIPro.Web.WeldingProcess.TestPackageManage
{
public partial class TestPackageManageEdit : PageBase
{
#region
/// <summary>
/// 试压包主键
/// </summary>
public string PTP_ID
{
get
{
return (string)ViewState["PTP_ID"];
}
set
{
ViewState["PTP_ID"] = value;
}
}
#endregion
//定义变量
/// <summary>
/// 上传预设的虚拟路径
/// </summary>
private string initPath = Const.ExcelUrl;
/// <summary>
/// 错误集合
/// </summary>
public static string errorInfos = string.Empty;
#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.PTP_ID = string.Empty;
this.txtSearchDate.Text = string.Format("{0:yyyy-MM}", System.DateTime.Now);
this.InitTreeMenu();//加载树
}
}
#endregion
#region --
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu()
{
this.tvControlItem.Nodes.Clear();
TreeNode rootNode = new TreeNode();
rootNode.Text = "单位-装置-月份";
rootNode.NodeID = "0";
rootNode.Expanded = true;
this.tvControlItem.Nodes.Add(rootNode);
DateTime startTime = Convert.ToDateTime(this.txtSearchDate.Text.Trim() + "-01");
DateTime endTime = startTime.AddMonths(1);
List<Model.Base_Unit> units = new List<Model.Base_Unit>(); ///单位
var 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)
{
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
{
units.Add(BLL.Base_UnitService.GetUnit(this.CurrUser.UnitId));
}
List<Model.PTP_TestPackage> testPackageLists = (from x in Funs.DB.PTP_TestPackage
where x.ProjectId == this.CurrUser.LoginProjectId && x.TableDate >= startTime && x.TableDate < endTime
select x).ToList();
if (units != null)
{
foreach (var unit in units)
{
TreeNode rootUnitNode = new TreeNode();//定义根节点
rootUnitNode.Text = unit.UnitName;
rootUnitNode.NodeID = unit.UnitId;
rootUnitNode.Expanded = true;
rootUnitNode.ToolTip = "施工单位";
rootNode.Nodes.Add(rootUnitNode);
var testPackageUnitList = testPackageLists.Where(x => x.UnitId == unit.UnitId).ToList();
this.BindNodes(rootUnitNode, testPackageUnitList);
}
}
else
{
ShowNotify("请先增加施工单位!", MessageBoxIcon.Warning);
return;
}
}
#endregion
#region
/// <summary>
/// 绑定树节点
/// </summary>
/// <param name="node"></param>
private void BindNodes(TreeNode node, List<Model.PTP_TestPackage> testPackageUnitList)
{
if (node.ToolTip == "施工单位")
{
var installId = (from x in testPackageUnitList
where x.UnitId == node.NodeID
select x.InstallationId).Distinct();
if (installId.Count() > 0)
{
var install = from x in Funs.DB.Project_Installation
where installId.Contains(x.InstallationId) orderby x.InstallationCode select x;
foreach (var q in install)
{
TreeNode newNode = new TreeNode();
newNode.Text = q.InstallationName;
newNode.NodeID = q.InstallationId + "|" + node.NodeID;
newNode.ToolTip = "装置";
newNode.Expanded = true;
node.Nodes.Add(newNode);
this.BindNodes(newNode, testPackageUnitList);
}
}
}
else if (node.ToolTip == "装置")
{
string installationId = Funs.GetStrListByStr(node.NodeID, '|')[0];
var pointListMonth = (from x in testPackageUnitList
where x.InstallationId == installationId
select string.Format("{0:yyyy-MM}", x.TableDate)).Distinct();
foreach (var item in pointListMonth)
{
TreeNode newNode = new TreeNode();
newNode.Text = item;
newNode.NodeID = item + "|" + node.NodeID;
newNode.ToolTip = "月份";
node.Nodes.Add(newNode);
this.BindNodes(newNode, testPackageUnitList);
}
}
//else if (node.ToolTip == "月份")
//{
// string installationId = Funs.GetStrListByStr(node.ParentNode.NodeID, '|')[0];
// var days = (from x in testPackageUnitList
// where x.InstallationId == installationId
// orderby x.TableDate descending
// select x.TableDate).Distinct();
// foreach (var item in days)
// {
// TreeNode newNode = new TreeNode();
// newNode.Text = string.Format("{0:yyyy-MM-dd}", item);
// newNode.NodeID = item.ToString() + "|" + node.NodeID;
// newNode.ToolTip = "日期";
// node.Nodes.Add(newNode);
// this.BindNodes(newNode, testPackageUnitList);
// }
//}
else if (node.ToolTip == "月份")
{
DateTime startTime = Convert.ToDateTime(this.txtSearchDate.Text.Trim() + "-01");
DateTime endTime = startTime.AddMonths(1);
string installationId = Funs.GetStrListByStr(node.ParentNode.NodeID, '|')[0];
var dReports = from x in testPackageUnitList
where x.InstallationId == installationId
&& x.TableDate>= startTime && x.TableDate< endTime
orderby x.TestPackageNo descending
select x;
foreach (var item in dReports)
{
TreeNode newNode = new TreeNode();
if (!string.IsNullOrEmpty(item.TestPackageNo))
{
newNode.Text = item.TestPackageNo;
}
else
{
newNode.Text = "未知";
}
if (!item.AduditDate.HasValue || string.IsNullOrEmpty(item.Auditer))
{
newNode.Text = "<font color='#FF7575'>" + newNode.Text + "</font>";
node.Text = "<font color='#FF7575'>" + node.Text + "</font>";
node.ParentNode.Text = "<font color='#FF7575'>" + node.ParentNode.Text + "</font>";
}
newNode.NodeID = item.PTP_ID;
newNode.EnableClickEvent = true;
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)
{
this.PTP_ID = tvControlItem.SelectedNodeID;
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 数据绑定
/// </summary>
private void BindGrid()
{
this.SetTextTemp();
this.PageInfoLoad(); ///页面输入保存信息
string strSql = @"SELECT ptp.ProjectId, ptp.PTP_ID,ptpPipe.PT_PipeId, WorkArea.WorkAreaCode,IsoInfo.PipelineCode,
IsoInfo.DesignPressure,IsoInfo.DesignTemperature,ser.MediumName,
ptpPipe.isAll,(case when (isnull(ptpPipe.WeldJonintCode,'')='') then '全部' else ptpPipe.WeldJonintCode end) as WeldJonintCode
FROM dbo.PTP_TestPackage AS ptp
LEFT JOIN dbo.PTP_PipelineList AS ptpPipe ON ptp.PTP_ID=ptpPipe.PTP_ID
LEFT JOIN dbo.Pipeline_Pipeline AS IsoInfo ON IsoInfo.PipelineId = ptpPipe.PipelineId
LEFT JOIN Project_WorkArea AS WorkArea ON IsoInfo.WorkAreaId=WorkArea.WorkAreaId
LEFT JOIN dbo.Base_Medium AS ser ON ser.MediumId = IsoInfo.MediumId
WHERE ptp.ProjectId= @ProjectId AND ptp.PTP_ID=@PTP_ID";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
listStr.Add(new SqlParameter("@PTP_ID", this.PTP_ID));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
// 2.获取当前分页数据
//var table = this.GetPagedDataTable(Grid1, tb1);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#region
/// <summary>
/// 加载页面输入保存信息
/// </summary>
private void PageInfoLoad()
{
this.btnEdit.Hidden = true;
this.btnDelete.Hidden = true;
//this.btnPrint.Hidden = true;
var testPackageManage = BLL.TestPackageManageEditService.GetTestPackageByID(this.PTP_ID);
if (testPackageManage != null)
{
this.txtTestPackageNo.Text = testPackageManage.TestPackageNo;
//if (!string.IsNullOrEmpty(testPackageManage.UnitId))
//{
// var unit = BLL.Base_UnitService.GetUnit(testPackageManage.UnitId);
// if (unit != null)
// {
// this.drpUnit.Text = unit.UnitName;
// }
//}
if (!string.IsNullOrEmpty(testPackageManage.InstallationId))
{
var install = BLL.Project_InstallationService.GetProject_InstallationByInstallationId(testPackageManage.InstallationId);
if (install != null)
{
this.drpInstallation.Text = install.InstallationName;
}
}
this.txtTestPackageName.Text = testPackageManage.TestPackageName;
//this.txtTestPackageCode.Text = testPackageManage.TestPackageCode;
if (!string.IsNullOrEmpty(testPackageManage.TestType))
{
var testType = BLL.Base_PressureService.GetPressureByPressureId(testPackageManage.TestType);
if (testType != null)
{
this.drpTestType.Text = testType.PressureName;
}
}
this.txtTestService.Text = testPackageManage.TestService;
this.txtTestHeat.Text = testPackageManage.TestHeat;
this.txtTestAmbientTemp.Text = testPackageManage.TestAmbientTemp;
this.txtTestMediumTemp.Text = testPackageManage.TestMediumTemp;
this.txtVacuumTestService.Text = testPackageManage.VacuumTestService;
this.txtVacuumTestPressure.Text = testPackageManage.VacuumTestPressure;
this.txtTightnessTestTime.Text = testPackageManage.TightnessTestTime;
this.txtTightnessTestTemp.Text = testPackageManage.TightnessTestTemp;
this.txtTightnessTest.Text = testPackageManage.TightnessTest;
this.txtTestPressure.Text = testPackageManage.TestPressure;
this.txtTestPressureTemp.Text = testPackageManage.TestPressureTemp;
this.txtTestPressureTime.Text = testPackageManage.TestPressureTime;
this.txtOperationMedium.Text = testPackageManage.OperationMedium;
this.txtPurgingMedium.Text = testPackageManage.PurgingMedium;
this.txtCleaningMedium.Text = testPackageManage.CleaningMedium;
this.txtLeakageTestService.Text = testPackageManage.LeakageTestService;
this.txtLeakageTestPressure.Text = testPackageManage.LeakageTestPressure;
this.txtAllowSeepage.Text = testPackageManage.AllowSeepage;
this.txtFactSeepage.Text = testPackageManage.FactSeepage;
this.txtModifyDate.Text = string.Format("{0:yyyy-MM-dd}", testPackageManage.ModifyDate);
if (!string.IsNullOrEmpty(testPackageManage.Modifier))
{
var users = BLL.Sys_UserService.GetUsersByUserId(testPackageManage.Modifier);
if (users != null)
{
this.drpModifier.Text = users.UserName;
}
}
this.txtTableDate.Text = string.Format("{0:yyyy-MM-dd}", testPackageManage.TableDate);
if (!string.IsNullOrEmpty(testPackageManage.Tabler))
{
var users = BLL.Sys_UserService.GetUsersByUserId(testPackageManage.Tabler);
if (users != null)
{
this.drpTabler.Text = users.UserName;
}
}
this.txtRemark.Text = testPackageManage.Remark;
this.txtAduditDate.Text = string.Format("{0:yyyy-MM-dd}", testPackageManage.AduditDate);
if (!string.IsNullOrEmpty(testPackageManage.Auditer))
{
var users = BLL.Sys_UserService.GetUsersByUserId(testPackageManage.Auditer);
if (users != null)
{
this.drpAuditer.Text = users.UserName;
}
}
if (string.IsNullOrEmpty(testPackageManage.Auditer) || !testPackageManage.AduditDate.HasValue)
{
this.btnEdit.Hidden = false;
this.btnDelete.Hidden = false;
//this.btnPrint.Hidden = false;
}
}
}
#endregion
#region
/// <summary>
/// 清空页面输入信息
/// </summary>
private void SetTextTemp()
{
this.txtTestPackageNo.Text = string.Empty;
//this.drpUnit.Text = string.Empty;
this.drpInstallation.Text = string.Empty;
this.txtTestPackageName.Text = string.Empty;
//this.txtTestPackageCode.Text = string.Empty;
this.drpTestType.Text = string.Empty;
this.txtTestService.Text = string.Empty;
this.txtTestHeat.Text = string.Empty;
this.txtTestAmbientTemp.Text = string.Empty;
this.txtTestMediumTemp.Text = string.Empty;
this.txtVacuumTestService.Text = string.Empty;
this.txtVacuumTestPressure.Text = string.Empty;
this.txtTightnessTestTime.Text = string.Empty;
this.txtTightnessTestTemp.Text = string.Empty;
this.txtTightnessTest.Text = string.Empty;
this.txtTestPressure.Text = string.Empty;
this.txtTestPressureTemp.Text = string.Empty;
this.txtTestPressureTime.Text = string.Empty;
this.txtOperationMedium.Text = string.Empty;
this.txtPurgingMedium.Text = string.Empty;
this.txtCleaningMedium.Text = string.Empty;
this.txtLeakageTestService.Text = string.Empty;
this.txtLeakageTestPressure.Text = string.Empty;
this.txtAllowSeepage.Text = string.Empty;
this.txtFactSeepage.Text = string.Empty;
this.drpModifier.Text = string.Empty;
this.txtModifyDate.Text = string.Empty;
this.drpTabler.Text = string.Empty;
this.txtTableDate.Text = string.Empty;
this.txtRemark.Text = string.Empty;
this.drpAuditer.Text = string.Empty;
this.txtAduditDate.Text = string.Empty;
}
#endregion
#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 btnNew_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.TestPackageManageEditMenuId, Const.BtnAdd))
{
this.SetTextTemp();
string window = String.Format("TestPackageManageItemEdit.aspx?PTP_ID={0}", string.Empty, "新增 - ");
PageContext.RegisterStartupScript(Window1.GetSaveStateReference(this.hdPTP_ID.ClientID)
+ Window1.GetShowReference(window));
}
else
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
#region
/// <summary>
/// 编辑试压包
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnEdit_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.TestPackageManageEditMenuId, Const.BtnSave))
{
var testPackageManage = BLL.TestPackageManageEditService.GetTestPackageByID(this.PTP_ID);
if (testPackageManage != null)
{
if (testPackageManage.AduditDate.HasValue)
{
Alert.ShowInTop("此试压单已审核!", MessageBoxIcon.Warning);
return;
}
string window = String.Format("TestPackageManageItemEdit.aspx?PTP_ID={0}", this.PTP_ID, "编辑 - ");
PageContext.RegisterStartupScript(Window1.GetSaveStateReference(this.hdPTP_ID.ClientID)
+ Window1.GetShowReference(window));
}
else
{
ShowNotify("请选择要修改的试压包记录!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
#endregion
#region
/// <summary>
/// 删除试压包
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDelete_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.TestPackageManageEditMenuId, Const.BtnDelete))
{
var testPackageManage = BLL.TestPackageManageEditService.GetTestPackageByID(this.PTP_ID);
if (testPackageManage != null)
{
if (testPackageManage.AduditDate.HasValue)
{
Alert.ShowInTop("此试压单已审核!", MessageBoxIcon.Warning);
return;
}
BLL.TestPackageManageEditService.DeletePipelineListByPTP_ID(this.PTP_ID);
BLL.TestPackageManageEditService.DeleteTestPackage(this.PTP_ID);
BLL.Sys_LogService.AddLog(BLL.Const.System_3, this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.TestPackageManageEditMenuId, Const.BtnDelete, this.PTP_ID);
Alert.ShowInTop("删除成功!", MessageBoxIcon.Success);
this.InitTreeMenu();
this.BindGrid();
}
else
{
ShowNotify("请选择要删除的试压包记录!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
return;
}
}
#endregion
#endregion
#region
/// <summary>
/// 关闭弹出窗口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
this.PTP_ID = this.hdPTP_ID.Text;
this.BindGrid();
this.InitTreeMenu();
this.hdPTP_ID.Text = string.Empty;
}
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Tree_TextChanged(object sender, EventArgs e)
{
this.InitTreeMenu();
this.BindGrid();
}
#endregion
protected void btnPrint_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(this.PTP_ID))
{
var project = BLL.Base_ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId);
var pip = BLL.TestPackageManageEditService.GetTestPackageByID(this.PTP_ID);
var ins = BLL.Project_InstallationService.GetProject_InstallationByInstallationId(pip.InstallationId);
string unitName = BLL.Base_UnitService.GetUnitNameByUnitId(pip.UnitId);
var pipe = BLL.TestPackageManageEditService.GetPipeLineListByPTP_ID(this.PTP_ID);
string varValue = string.Empty;
if (project != null)
{
varValue = "工程名称:" + project.ProjectName;
string insName = string.Empty;
if (ins != null)
{
insName = "单位工程名称:" + ins.InstallationName.ToString() + "(" + ins.InstallationCode + ")";
}
else
{
insName = "单位工程名称:";
}
varValue = varValue + "|" + insName;
}
if (drpPrintTypeList.SelectedValue == "1")
{
Window2.Title = "焊接工作记录打印";
Window3.Title = "焊接工作记录打印(续)";
string isoIds = string.Join(",", pipe.Select(p => p.PipelineId));
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@IsoIds", isoIds));
listStr.Add(new SqlParameter("@Flag", "0"));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = BLL.SQLHelper.GetDataTableRunProc("HJGL_spJointWorkRecordNew", parameter);
string page = Funs.GetPagesCountByPageSize(11, 16, tb.Rows.Count).ToString();
varValue = varValue + "|" + page;
if (!string.IsNullOrEmpty(varValue))
{
varValue = HttpUtility.UrlEncodeUnicode(varValue);
}
if (tb.Rows.Count <= 11)
{
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("../../Common/ReportPrint/ExReportPrint.aspx?ispop=1&reportId={0}&replaceParameter={1}&varValue={2}&projectId=0", BLL.Const.WeldingRecordReport1, isoIds, varValue)));
}
else
{
PageContext.RegisterStartupScript(Window3.GetShowReference(String.Format("../../Common/ReportPrint/ExReportPrint.aspx?ispop=1&reportId={0}&replaceParameter={1}&varValue={2}&projectId=0", BLL.Const.WeldingRecordReport2, isoIds, varValue)));
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("../../Common/ReportPrint/ExReportPrint.aspx?ispop=1&reportId={0}&replaceParameter={1}&varValue={2}&projectId=0", BLL.Const.WeldingRecordReport1, isoIds, varValue)));
}
}
if (drpPrintTypeList.SelectedValue == "2")
{
Window2.Title = "管道无损检测结果汇总表";
Window3.Title = "管道无损检测结果汇总表(续)";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@PTP_ID", this.PTP_ID));
listStr.Add(new SqlParameter("@Flag", "0"));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = BLL.SQLHelper.GetDataTableRunProc("Sp_CheckResultSummary", parameter);
string pageNum = Funs.GetPagesCountByPageSize(5, 14, tb.Rows.Count).ToString();
string supervisorUnit = "NULL";
string insCode = "NULL";
if (ins != null)
{
supervisorUnit = BLL.Base_UnitService.GetUnitNameByUnitId(ins.SupervisorUnitId);
insCode = ins.InstallationCode;
}
else
{
supervisorUnit = "NULL";
}
string cunit = BLL.Base_UnitService.GetUnitNameByUnitId(pip.UnitId);
string checkStan = "NB/T47013-2015";
string pipeClass = "NULL";
if (pipe.Count() > 0)
{
var pc = BLL.Base_PipingClassService.GetPipingClassByPipingClassId(pipe.First().PipingClassId);
if (pc != null)
{
pipeClass = pc.PipingClassCode;
}
}
var qq = from x in Funs.DB.View_CheckResultSummary where x.PTP_ID==this.PTP_ID select x;
// 合格
var rt = qq.Where(x => x.DetectionTypeCode == "RT" && x.CheckResult == "合格");
string bRt = "/";
if (rt.Count() > 0)
{
bRt = rt.Count().ToString() + "/" + rt.Sum(x => x.TotalFilm).ToString();
}
var jpt = qq.Where(x => x.DetectionTypeCode == "PT" && x.CheckResult == "合格" && x.WeldType=="2");
string ptj = "/";
if (jpt.Count() > 0)
{
ptj = jpt.Count().ToString();
}
var zpt = qq.Where(x => x.DetectionTypeCode == "PT" && x.CheckResult == "合格" && x.WeldType == "3");
string ptz = "/";
if (zpt.Count() > 0)
{
ptz = zpt.Count().ToString();
}
// 不合格
var nrt = qq.Where(x => x.DetectionTypeCode == "RT" && x.CheckResult == "不合格");
string nbRt = "/";
if (nrt.Count() > 0)
{
nbRt = nrt.Count().ToString() + "/" + nrt.Sum(x => x.TotalFilm).ToString();
}
var njpt = qq.Where(x => x.DetectionTypeCode == "PT" && x.CheckResult == "不合格" && x.WeldType == "2");
string nptj = "/";
if (njpt.Count() > 0)
{
nptj = njpt.Count().ToString();
}
var nzpt = qq.Where(x => x.DetectionTypeCode == "PT" && x.CheckResult == "不合格" && x.WeldType == "3");
string nptz = "/";
if (nzpt.Count() > 0)
{
nptz = nzpt.Count().ToString();
}
varValue = pageNum + "|" + varValue + "|" + supervisorUnit + "|" + cunit + "|" + checkStan + "|" + pipeClass + "|" + insCode
+ "|" + bRt + "|" + ptj + "|" + ptz + "|" + nbRt + "|" + nptj + "|" + nptz;
if (!string.IsNullOrEmpty(varValue))
{
varValue = HttpUtility.UrlEncodeUnicode(varValue);
}
if (tb.Rows.Count <= 5)
{
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("../../Common/ReportPrint/ExReportPrint.aspx?ispop=1&reportId={0}&replaceParameter={1}&varValue={2}&projectId=0", BLL.Const.NdtTotalReport1, this.PTP_ID, varValue)));
}
else
{
PageContext.RegisterStartupScript(Window3.GetShowReference(String.Format("../../Common/ReportPrint/ExReportPrint.aspx?ispop=1&reportId={0}&replaceParameter={1}&varValue={2}&projectId=0", BLL.Const.NdtTotalReport2, this.PTP_ID, varValue)));
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("../../Common/ReportPrint/ExReportPrint.aspx?ispop=1&reportId={0}&replaceParameter={1}&varValue={2}&projectId=0", BLL.Const.NdtTotalReport1, this.PTP_ID, varValue)));
}
}
if (drpPrintTypeList.SelectedValue == "3")
{
Window2.Title = "管道无损检测比例统计表";
varValue = varValue + "|" + "试压包号:"+pip.TestPackageNo.Trim();
if (!string.IsNullOrEmpty(unitName))
{
varValue = varValue + "|" + unitName;
}
else
{
varValue = varValue + "|" + "NULL";
}
if (!string.IsNullOrEmpty(varValue))
{
varValue = HttpUtility.UrlEncodeUnicode(varValue);
}
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("../../Common/ReportPrint/ExReportPrint.aspx?ispop=1&reportId={0}&replaceParameter={1}&varValue={2}&projectId=0", BLL.Const.NdtRateReport1, this.PTP_ID, varValue)));
}
}
else
{
ShowNotify("请选择试压包记录!", MessageBoxIcon.Warning);
return;
}
}
#region
/// <summary>
/// 模板下载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDownLoad_Click(object sender, EventArgs e)
{
string rootPath = Server.MapPath("~/");
string uploadfilepath = rootPath + Const.HJGL_TestTemplateUrl;
string filePath = Const.HJGL_TestTemplateUrl;
string fileName = Path.GetFileName(filePath);
FileInfo info = new FileInfo(uploadfilepath);
long fileSize = info.Length;
Response.ClearContent();
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.ContentType = "excel/plain";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AddHeader("Content-Length", fileSize.ToString().Trim());
Response.TransmitFile(uploadfilepath, 0, fileSize);
Response.End();
//PageContext.RegisterStartupScript(Confirm.GetShowReference("确定要下载焊工信息导入模板?", String.Empty, MessageBoxIcon.Question, PageManager1.GetCustomEventReference(false, "Confirm_OK"), PageManager1.GetCustomEventReference("Confirm_Cancel")));
}
#endregion
protected void btnImport_Click(object sender, EventArgs e)
{
string message = string.Empty;
errorInfos = string.Empty;
try
{
if (this.fileUpload.HasFile == false)
{
ShowNotify("请选择Excel文件!", MessageBoxIcon.Warning);
return;
}
string IsXls = Path.GetExtension(this.fileUpload.FileName).ToString().Trim().ToLower();
if (IsXls != ".xls" && IsXls != ".xlsx")
{
ShowNotify("只能选择Excel文件!", MessageBoxIcon.Warning);
return;
}
string rootPath = Server.MapPath("~/");
string initFullPath = rootPath + initPath;
if (!Directory.Exists(initFullPath))
{
Directory.CreateDirectory(initFullPath);
}
//指定上传文件名称
this.hidFileName.Text = BLL.Funs.GetNewFileName() + IsXls;
//上传文件路径
string filePath = initFullPath + this.hidFileName.Text;
//文件上传服务器
this.fileUpload.PostedFile.SaveAs(filePath);
//文件上传服务器后的名称
string fileName = rootPath + initPath + this.hidFileName.Text;
//读取Excel
DataSet ds = NPOIHelper.ExcelToDataSet(fileName, out errorInfos, true);
//验证Excel读取是否有误
if (!string.IsNullOrEmpty(errorInfos))
{
ShowNotify(errorInfos, MessageBoxIcon.Warning);
return;
}
if (ds.Tables.Count > 0)
{
var 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
select x;//单位
List<Model.PTP_TestPackage> testPackageList = new List<Model.PTP_TestPackage>();
List<Model.PTP_PipelineList> pipelineList = new List<Model.PTP_PipelineList>();
DataTable dt = ds.Tables[0];
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
var isExitTestPage = from x in Funs.DB.PTP_TestPackage
join y in Funs.DB.Project_Installation on x.InstallationId equals y.InstallationId
join z in Funs.DB.Base_Unit on x.UnitId equals z.UnitId
where x.ProjectId == this.CurrUser.LoginProjectId
&& x.TestPackageNo == ds.Tables[0].Rows[i]["试压包编号"].ToString()
&& y.InstallationCode == ds.Tables[0].Rows[i]["装置编号"].ToString()
&& z.UnitCode == ds.Tables[0].Rows[i]["单位代码"].ToString()
select x;
string error = string.Empty;
#region
if (isExitTestPage.Count() == 0)
{
Model.PTP_PipelineList pipeline = new Model.PTP_PipelineList();
string ptpId = string.Empty;
string installationId = string.Empty;
if (ds.Tables[0].Rows[i]["装置编号"] != null && !string.IsNullOrEmpty(ds.Tables[0].Rows[i]["装置编号"].ToString()))
{
var ins = Funs.DB.Project_Installation.FirstOrDefault(x => x.ProjectId == CurrUser.LoginProjectId && x.InstallationCode == ds.Tables[0].Rows[i]["装置编号"].ToString());
if (ins == null)
{
error += "装置编号不存在!";
}
else
{
installationId = ins.InstallationId; ;
}
}
else
{
error += "区域编号不能为空!";
}
string unitId = string.Empty;
if (ds.Tables[0].Rows[i]["单位代码"] != null && !string.IsNullOrEmpty(ds.Tables[0].Rows[i]["单位代码"].ToString()))
{
var unit = units.FirstOrDefault(x => x.UnitCode == ds.Tables[0].Rows[i]["单位代码"].ToString());
if (unit == null)
{
error += "单位代码不存在!";
}
else
{
unitId = unit.UnitId;
}
}
else
{
error += "单位代码不能为空!";
}
string pipelineId = string.Empty;
if (ds.Tables[0].Rows[i]["管线号"] != null && !string.IsNullOrEmpty(ds.Tables[0].Rows[i]["管线号"].ToString()))
{
var isExitPipeline = Funs.DB.Pipeline_Pipeline.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId
&& x.UnitId == unitId
&& x.InstallationId == installationId
&& x.PipelineCode == ds.Tables[0].Rows[i]["管线号"].ToString());
if (isExitPipeline != null)
{
pipeline.PipelineId = isExitPipeline.PipelineId;
}
else
{
error += "管线号不存在!";
}
}
else
{
error += "管线号不能为空!";
}
if (ds.Tables[0].Rows[i]["试压包编号"] != null && !string.IsNullOrEmpty(ds.Tables[0].Rows[i]["试压包编号"].ToString()))
{
var cc = from x in testPackageList where x.TestPackageNo == ds.Tables[0].Rows[i]["试压包编号"].ToString() select x;
if (cc.Count() == 0)
{
Model.PTP_TestPackage package = new Model.PTP_TestPackage();
ptpId = Funs.GetNewID();
package.PTP_ID = ptpId;
package.ProjectId = CurrUser.LoginProjectId;
package.UnitId = unitId;
package.InstallationId = installationId;
package.TestPackageNo = ds.Tables[0].Rows[i]["试压包编号"].ToString();
package.TableDate = DateTime.Now;
package.Tabler = this.CurrUser.UserId;
testPackageList.Add(package);
pipeline.PT_PipeId = Funs.GetNewID();
pipeline.PTP_ID = ptpId;
}
else
{
pipeline.PT_PipeId = Funs.GetNewID();
pipeline.PTP_ID = cc.First().PTP_ID;
}
}
else
{
error += "试压包编号不能为空!";
}
if (!string.IsNullOrEmpty(error))
{
errorInfos += "第" + (i + 2) + "行:" + error + " </br>";
}
pipelineList.Add(pipeline);
}
#endregion
}
// 数据验证错误,返回
if (!string.IsNullOrEmpty(errorInfos))
{
ShowNotify(errorInfos, MessageBoxIcon.Warning, 30000);
return;
}
else
{
// 不更新,新数据插入
if (testPackageList.Count > 0 && pipelineList.Count() > 0)
{
Funs.DB.PTP_TestPackage.InsertAllOnSubmit(testPackageList);
Funs.DB.PTP_PipelineList.InsertAllOnSubmit(pipelineList);
Funs.DB.SubmitChanges();
}
ShowNotify("试压包信息导入成功!", MessageBoxIcon.Success);
this.BindGrid();
}
}
else
{
ShowAlert("没有数据!", MessageBoxIcon.Warning);
return;
}
}
catch (Exception ex)
{
ShowAlert("'" + ex.Message + "'", MessageBoxIcon.Warning);
}
}
}
}