331 lines
16 KiB
C#
331 lines
16 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using BLL;
|
|
using NPOI.SS.Formula.Functions;
|
|
|
|
namespace FineUIPro.Web.WeldingProcess.CheckManage
|
|
{
|
|
public partial class RepairNotice : PageBase
|
|
{
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
string ndeItemId = Request.Params["NDEItemID"];
|
|
var q = BLL.Batch_NDEItemService.GetNDEItemViewById(ndeItemId);
|
|
txtPipeCode.Text = q.PipelineCode;
|
|
txtWeldJointCode.Text = q.WeldJointCode;
|
|
txtWelder.Text = q.WelderCode;
|
|
txtJudgeGrade.Text = q.JudgeGrade;
|
|
txtRepairLocation.Text = q.RepairLocation;
|
|
txtCheckDefects.Text = BLL.Base_DefectService.GetDefectNameStrByDefectIdStr(q.CheckDefects);
|
|
|
|
var repair = BLL.RepairRecordService.GetRepairRecordByNdeItemId(ndeItemId);
|
|
if (repair == null)
|
|
{
|
|
var mark = from x in BLL.Funs.DB.Repair_RepairRecord
|
|
where x.WeldJointId == q.WeldJointId && x.DetectionTypeId == q.DetectionTypeId
|
|
orderby x.RepairMark descending
|
|
select x;
|
|
if (mark.Count() == 0)
|
|
{
|
|
if (q.PassFilm != q.TotalFilm)
|
|
{
|
|
txtRepairMark.Text = "R1";
|
|
}
|
|
if (q.Remark.Contains("修磨"))
|
|
{
|
|
txtRepairMark.Text = "P1";
|
|
}
|
|
if (q.Remark.Contains("异物"))
|
|
{
|
|
txtRepairMark.Text = "S1";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
string m = mark.First().RepairMark;
|
|
string first = m.Substring(0, 1);
|
|
string last = m.Substring(1, 1);
|
|
int n = Convert.ToInt32(last) + 1;
|
|
txtRepairMark.Text = first + n.ToString();
|
|
}
|
|
btnSubmit.Hidden = false;
|
|
}
|
|
else
|
|
{
|
|
btnSubmit.Hidden = true;
|
|
txtRepairMark.Text = "R1";
|
|
if (!string.IsNullOrEmpty(repair.PhotoUrl))
|
|
{
|
|
imgPhoto.ImageUrl = repair.PhotoUrl;
|
|
}
|
|
}
|
|
}
|
|
|
|
protected void btnSubmit_Click(object sender, EventArgs e)
|
|
{
|
|
string ndeItemId = Request.Params["NDEItemID"];
|
|
var q = BLL.Batch_NDEItemService.GetNDEItemViewById(ndeItemId);
|
|
var repair = BLL.RepairRecordService.GetRepairRecordByNdeItemId(ndeItemId);
|
|
Model.Repair_RepairRecord newItem = new Model.Repair_RepairRecord();
|
|
|
|
string newJointCode = string.Empty;
|
|
|
|
if (repair == null)
|
|
{
|
|
if (q.CheckResult != null)
|
|
{
|
|
newItem.RepairRecordId = SQLHelper.GetNewID(typeof(Model.Repair_RepairRecord));
|
|
|
|
string code = q.TrustBatchCode;
|
|
//if (code.Substring(code.Length - 2, 1) == "R")
|
|
//{
|
|
// string first = code.Substring(0, code.Length - 1);
|
|
// string last = code.Substring(code.Length - 1);
|
|
// int n = Convert.ToInt32(last) + 1;
|
|
// newItem.RepairRecordCode = first + n.ToString();
|
|
// newJointCode = q.WeldJointCode.Substring(0, q.WeldJointCode.Length - 2) + "R" + n.ToString();
|
|
//}
|
|
//else
|
|
//{
|
|
// if (q.CheckResult != "1") // 不合格
|
|
// {
|
|
// if (code.Substring(code.Length - 3, 2) == "EX")
|
|
// {
|
|
// newItem.RepairRecordCode = q.TrustBatchCode.Substring(0, code.Length - 3) + "-" + "EX1R1";
|
|
// }
|
|
// else
|
|
// {
|
|
// newItem.RepairRecordCode = q.TrustBatchCode + "R1";
|
|
// }
|
|
// if (!q.WeldJointCode.Contains("R1"))
|
|
// {
|
|
// newJointCode = q.WeldJointCode + "R1";
|
|
// }
|
|
// else
|
|
// {
|
|
// newJointCode = q.WeldJointCode;
|
|
// }
|
|
// }
|
|
// else // 合格但有修磨或异物
|
|
// {
|
|
// if (q.Remark.Contains("修磨"))
|
|
// {
|
|
// newItem.RepairRecordCode = q.TrustBatchCode + "P1";
|
|
// if (!q.WeldJointCode.Contains("P1"))
|
|
// {
|
|
// newJointCode = q.WeldJointCode + "P1";
|
|
// }
|
|
// else
|
|
// {
|
|
// newJointCode = q.WeldJointCode;
|
|
// }
|
|
// }
|
|
// if (q.Remark.Contains("异物"))
|
|
// {
|
|
// newItem.RepairRecordCode = q.TrustBatchCode + "S1";
|
|
|
|
// if (!q.WeldJointCode.Contains("S1"))
|
|
// {
|
|
// newJointCode = q.WeldJointCode + "S1";
|
|
// }
|
|
// else
|
|
// {
|
|
// newJointCode = q.WeldJointCode;
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
// #region 原逻辑
|
|
// //if (code.Substring(code.Length - 3, 2) == "EX")
|
|
// //{
|
|
// // newItem.RepairRecordCode = q.TrustBatchCode.Substring(0, code.Length - 3) + "-" + "EX1R1";
|
|
// // if (!q.WeldJointCode.Contains("R1"))
|
|
// // {
|
|
// // newJointCode = q.WeldJointCode + "R1";
|
|
// // }
|
|
// // else
|
|
// // {
|
|
// // newJointCode = q.WeldJointCode;
|
|
// // }
|
|
// //}
|
|
// //else
|
|
// //{
|
|
// // if (q.Remark.Contains("修磨"))
|
|
// // {
|
|
// // newItem.RepairRecordCode = q.TrustBatchCode + "P1";
|
|
// // if (!q.WeldJointCode.Contains("P1"))
|
|
// // {
|
|
// // newJointCode = q.WeldJointCode + "P1";
|
|
// // }
|
|
// // else
|
|
// // {
|
|
// // newJointCode = q.WeldJointCode;
|
|
// // }
|
|
// // }
|
|
// // else if (q.Remark.Contains("异物"))
|
|
// // {
|
|
// // newItem.RepairRecordCode = q.TrustBatchCode + "S1";
|
|
|
|
// // if (!q.WeldJointCode.Contains("S1"))
|
|
// // {
|
|
// // newJointCode = q.WeldJointCode + "S1";
|
|
// // }
|
|
// // else
|
|
// // {
|
|
// // newJointCode = q.WeldJointCode;
|
|
// // }
|
|
// // }
|
|
// // else
|
|
// // {
|
|
// // newItem.RepairRecordCode = q.TrustBatchCode + "R1";
|
|
// // if (!q.WeldJointCode.Contains("R1"))
|
|
// // {
|
|
// // newJointCode = q.WeldJointCode + "R1";
|
|
// // }
|
|
// // else
|
|
// // {
|
|
// // newJointCode = q.WeldJointCode;
|
|
// // }
|
|
// // }
|
|
// //}
|
|
// #endregion
|
|
//}
|
|
|
|
if (code.Substring(code.Length - 2, 1)=="R"|| code.Substring(code.Length - 2, 1) == "P" || code.Substring(code.Length - 2, 1) == "S")
|
|
{
|
|
newItem.RepairRecordCode = code.Substring(0,code.Length - 2) + txtRepairMark.Text;
|
|
newJointCode = q.WeldJointCode.Substring(0, q.WeldJointCode.Length - 2)+txtRepairMark.Text;
|
|
}
|
|
else
|
|
{
|
|
newItem.RepairRecordCode = code + txtRepairMark.Text;
|
|
newJointCode = q.WeldJointCode + txtRepairMark.Text;
|
|
}
|
|
|
|
var isExistRepairRecordCode = from x in Funs.DB.Repair_RepairRecord where x.RepairRecordCode == newItem.RepairRecordCode select x;
|
|
if (isExistRepairRecordCode.Count() > 0)
|
|
{
|
|
ShowNotify("该返修号已存在!请修改已存在的返修号", MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
|
|
|
|
// 回写焊口号
|
|
/*var joint = BLL.Pipeline_WeldJointService.GetWeldJointByWeldJointId(q.WeldJointId);
|
|
joint.WeldJointCode = newJointCode;
|
|
joint.OldWeldJointCode = q.WeldJointCode;
|
|
Funs.DB.SubmitChanges();*/
|
|
// Model.Pipeline_WeldJoint newWeldJoint = new Model.Pipeline_WeldJoint
|
|
// {
|
|
// WeldJointId = SQLHelper.GetNewID(typeof(Model.Pipeline_WeldJoint)),
|
|
// ProjectId = weldJoint.ProjectId,
|
|
// PipelineId = weldJoint.PipelineId,
|
|
// WeldJointCode = newJointCode,
|
|
// WeldTypeId = weldJoint.WeldTypeId,
|
|
// Material1Id = weldJoint.Material1Id,
|
|
// Material2Id = weldJoint.Material2Id,
|
|
// Thickness = weldJoint.Thickness,
|
|
// Dia = weldJoint.Dia,
|
|
// Size = weldJoint.Size,
|
|
// JointAttribute = weldJoint.JointAttribute,
|
|
// JointArea = weldJoint.JointArea,
|
|
// WeldingMethodId = weldJoint.WeldingMethodId,
|
|
// IsHotProess = weldJoint.IsHotProess,
|
|
// WeldingLocationId = weldJoint.WeldingLocationId,
|
|
// WeldMatId = weldJoint.WeldMatId,
|
|
// WeldSilkId = weldJoint.WeldSilkId,
|
|
// GrooveTypeId = weldJoint.GrooveTypeId,
|
|
// PipeSegment = weldJoint.PipeSegment,
|
|
// PipeAssembly1Id = weldJoint.PipeAssembly1Id,
|
|
// PipeAssembly2Id = weldJoint.PipeAssembly2Id,
|
|
// PipeAssemblyCount = weldJoint.PipeAssemblyCount,
|
|
// HeartNo1 = weldJoint.HeartNo1,
|
|
// HeartNo2 = weldJoint.HeartNo2,
|
|
// LastTemp = weldJoint.LastTemp,
|
|
// CellTemp = weldJoint.CellTemp,
|
|
// PrepareTemp = weldJoint.PrepareTemp,
|
|
// Electricity = weldJoint.Electricity,
|
|
// Voltage = weldJoint.Voltage,
|
|
// TestPackageNo = weldJoint.TestPackageNo,
|
|
// WeldingDailyCode = weldJoint.WeldingDailyCode,
|
|
// BackingWelderId = weldJoint.BackingWelderId,
|
|
// CoverWelderId = weldJoint.CoverWelderId,
|
|
// WeldingDailyId = weldJoint.WeldingDailyId,
|
|
// PipingClassId = weldJoint.PipingClassId,
|
|
// Specification = weldJoint.Specification,
|
|
// DoneDin = weldJoint.DoneDin,
|
|
// SystemNumber = weldJoint.SystemNumber,
|
|
// Remark = weldJoint.Remark,
|
|
// IsGoldJoint = weldJoint.IsGoldJoint,
|
|
// IsPMI = weldJoint.IsPMI,
|
|
// WPQId = weldJoint.WPQId,
|
|
// DetectionType = weldJoint.DetectionType,
|
|
// PageNum = weldJoint.PageNum,
|
|
// ANSISCH = weldJoint.ANSISCH,
|
|
// OldWeldJointCode = weldJoint.OldWeldJointCode,
|
|
|
|
// };
|
|
//string WeldJointId= BLL.Pipeline_WeldJointService.AddWeldJointRef(newWeldJoint);
|
|
|
|
newItem.ProjectId = q.ProjectId;
|
|
newItem.UnitId = q.UnitId;
|
|
newItem.InstallationId = q.InstallationId;
|
|
newItem.WorkAreaId = q.WorkAreaId;
|
|
newItem.NoticeDate = DateTime.Now;
|
|
newItem.NDEItemID = ndeItemId;
|
|
newItem.WeldJointId = q.WeldJointId;
|
|
newItem.DetectionTypeId = q.DetectionTypeId;
|
|
newItem.WelderId = q.BackingWelderId;
|
|
newItem.RepairLocation = q.RepairLocation;
|
|
newItem.CheckDefects = txtCheckDefects.Text;
|
|
newItem.RepairMark = txtRepairMark.Text;
|
|
newItem.PhotoUrl = imgPhoto.ImageUrl;
|
|
BLL.RepairRecordService.AddRepairRecord(newItem);
|
|
}
|
|
else
|
|
{
|
|
ShowNotify("没有检测结果!不能生成委托单", MessageBoxIcon.Warning);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
ShowNotify("已生成返修通知单!不能重复生成", MessageBoxIcon.Warning);
|
|
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
|
//repair.CheckDefects = txtCheckDefects.Text;
|
|
//repair.RepairMark = txtRepairMark.Text;
|
|
//repair.PhotoUrl = imgPhoto.ImageUrl;
|
|
//BLL.RepairRecordService.UpdateRepairRecord(repair);
|
|
}
|
|
|
|
ShowNotify("生成返修通知单!", MessageBoxIcon.Success);
|
|
|
|
}
|
|
|
|
#region 上传电子签名图片
|
|
/// <summary>
|
|
/// 上传照片
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void filePhoto_FileSelected(object sender, EventArgs e)
|
|
{
|
|
if (filePhoto.HasFile)
|
|
{
|
|
string fileName = filePhoto.ShortFileName;
|
|
if (!ValidateFileType(fileName))
|
|
{
|
|
ShowNotify("无效的文件类型!");
|
|
return;
|
|
}
|
|
fileName = fileName.Replace(":", "_").Replace(" ", "_").Replace("\\", "_").Replace("/", "_");
|
|
fileName = DateTime.Now.Ticks.ToString() + "_" + fileName;
|
|
filePhoto.SaveAs(Server.MapPath("~/upload/" + fileName));
|
|
imgPhoto.ImageUrl = "~/upload/" + fileName;
|
|
// 清空文件上传组件
|
|
filePhoto.Reset();
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
} |