ZHJA_HJGL/HJGL_ZH/FineUIPro.Web/HJGL/CheckManage/QualityRating.aspx.cs

1559 lines
79 KiB
C#
Raw Normal View History

2024-05-08 17:17:11 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BLL;
using System.Data.SqlClient;
using System.Data;
using Newtonsoft.Json.Linq;
namespace FineUIPro.Web.HJGL.CheckManage
{
public partial class QualityRating : PageBase
{
#region
private string QualityRatingId
{
get
{
return (string)ViewState["QualityRatingId"];
}
set
{
ViewState["QualityRatingId"] = value;
}
}
private string BatchId
{
get
{
return (string)ViewState["BatchId"];
}
set
{
ViewState["BatchId"] = value;
}
}
private string ISO_ID
{
get
{
return (string)ViewState["ISO_ID"];
}
set
{
ViewState["ISO_ID"] = value;
}
}
private string NDT
{
get
{
return (string)ViewState["NDT"];
}
set
{
ViewState["NDT"] = value;
}
}
#endregion
private static List<string> loadCH_TrustItemIDs;
private static List<Model.QualityRatingItem> qualityRatings;
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
loadCH_TrustItemIDs = new List<string>();
qualityRatings = new List<Model.QualityRatingItem>();
this.BatchId = Request.Params["BatchId"];
this.ISO_ID = Request.Params["ISO_ID"];
this.NDT = Request.Params["NDT"];
this.drpEquipment.DataTextField = "EquipmentName";
this.drpEquipment.DataValueField = "EquipmentId";
this.drpEquipment.DataSource = BLL.HJGL_EquipmentService.GetEquipmentList();
this.drpEquipment.DataBind();
this.drpJointNo.DataTextField = "JOT_JointNo";
this.drpJointNo.DataValueField = "CH_TrustItemID";
Funs.FineUIPleaseSelect(this.drpEquipment);
this.btnNew.Hidden = true;
var cH_TrustItemIDs = from x in Funs.DB.HJGL_CH_TrustItem
join y in Funs.DB.HJGL_CH_Trust on x.CH_TrustID equals y.CH_TrustID
join j in Funs.DB.HJGL_PW_JointInfo on x.JOT_ID equals j.JOT_ID
where y.BatchId == BatchId && j.ISO_ID == ISO_ID && (from z in Funs.DB.HJGL_BO_QualityRating where z.CH_TrustItemID == x.CH_TrustItemID select z).Count() == 0
&& y.CH_NDTMethod == this.NDT
select x.CH_TrustItemID;
var joints = (from x in Funs.DB.HJGL_CH_TrustItem
join y in Funs.DB.HJGL_CH_Trust on x.CH_TrustID equals y.CH_TrustID
join a in Funs.DB.HJGL_PW_JointInfo on x.JOT_ID equals a.JOT_ID
where y.BatchId == BatchId && a.ISO_ID == ISO_ID && (from z in Funs.DB.HJGL_BO_QualityRating where z.CH_TrustItemID == x.CH_TrustItemID select z).Count() == 0
&& y.CH_NDTMethod == this.NDT
orderby a.JOT_JointNo
select new { x.CH_TrustItemID, a.JOT_JointNo }).Distinct();
this.drpJointNo.DataSource = joints;
this.drpJointNo.DataBind();
Funs.FineUIPleaseSelect(this.drpJointNo);
//if (cH_TrustItemIDs.Count() == 1)
//{
// this.btnNew.Hidden = false;
//}
if (cH_TrustItemIDs.Count() == 0)
{
var cH_TrustID = (from x in Funs.DB.HJGL_CH_TrustItem
join y in Funs.DB.HJGL_CH_Trust on x.CH_TrustID equals y.CH_TrustID
join j in Funs.DB.HJGL_PW_JointInfo on x.JOT_ID equals j.JOT_ID
where y.BatchId == BatchId && j.ISO_ID == ISO_ID
&& y.CH_NDTMethod == this.NDT
select x.CH_TrustID).FirstOrDefault();
var trust1 = BLL.HJGL_TrustManageEditService.GetCH_TrustByID(cH_TrustID);
if (trust1 != null)
{
if (!string.IsNullOrEmpty(trust1.CH_NDTMethod))
{
var ndt = BLL.HJGL_TestingService.GetTestingByTestingId(trust1.CH_NDTMethod);
if (ndt != null)
{
if (ndt.NDT_Code.Contains("RT"))
{
Grid1.Columns[7].Hidden = false;//裂纹
Grid1.Columns[10].Hidden = false;//裂纹
Grid1.Columns[11].Hidden = false;//未熔合
Grid1.Columns[12].Hidden = false;//未焊透
Grid1.Columns[13].Hidden = false;//条状缺陷
Grid1.Columns[14].Hidden = false;//圆形缺陷
Grid1.Columns[15].Hidden = false;//深孔缺陷
Grid1.Columns[16].Hidden = false;//根部内凹
Grid1.Columns[17].Hidden = false;//根部咬边
//Grid1.Columns[20].Hidden = false;//缺陷性质
Grid1.Columns[22].Hidden = false;//缺陷定量
Grid1.Columns[23].Hidden = false;//缺陷位置(定量)
Grid1.Columns[23].HeaderText = "超标缺陷部位";
}
else if (ndt.NDT_Code.Contains("UT"))
{
if (ndt.NDT_Code.Contains("PAUT"))
{
Grid1.Columns[5].Hidden = true;
}
Grid2.Columns[2].Hidden = true;
Grid1.Columns[4].Hidden = true;
Grid1.Columns[18].Hidden = false;//检测长度
Grid1.Columns[19].Hidden = false;//峰值波幅
Grid1.Columns[22].Hidden = false;//缺陷位置
Grid1.Columns[25].Hidden = false;//缺陷深度
Grid1.Columns[28].Hidden = false;//指示长度
}
else if (ndt.NDT_Code.Contains("MT") || ndt.NDT_Code.Contains("PT"))
{
Grid2.Columns[2].Hidden = true;
Grid1.Columns[4].Hidden = true;
Grid1.Columns[20].Hidden = false;//缺陷性质
Grid1.Columns[22].Hidden = false;//缺陷位置
Grid1.Columns[23].Hidden = false;//缺陷尺寸
}
}
}
}
}
foreach (var CH_TrustItemID in cH_TrustItemIDs)
{
//根据类型不同,显示不同的缺陷
var trustItem = BLL.HJGL_CH_TrustItemService.GetTrustItemByID(CH_TrustItemID);
var qualityRating = BLL.HJGL_BO_QualityRatingService.GetQualityRatingByTrustDetailId(CH_TrustItemID);
if (trustItem != null)
{
var jot = BLL.HJGL_PW_JointInfoService.GetJointInfoByJotID(trustItem.JOT_ID);
var trust = BLL.HJGL_TrustManageEditService.GetCH_TrustByID(trustItem.CH_TrustID);
if (trust != null)
{
if (!string.IsNullOrEmpty(trust.CH_NDTMethod))
{
var ndt = BLL.HJGL_TestingService.GetTestingByTestingId(trust.CH_NDTMethod);
if (ndt != null)
{
loadCH_TrustItemIDs.Add(CH_TrustItemID);
if (ndt.NDT_Code.Contains("RT"))
{
Grid1.Columns[7].Hidden = false;//裂纹
Grid1.Columns[10].Hidden = false;//裂纹
Grid1.Columns[11].Hidden = false;//未熔合
Grid1.Columns[12].Hidden = false;//未焊透
Grid1.Columns[13].Hidden = false;//条状缺陷
Grid1.Columns[14].Hidden = false;//圆形缺陷
Grid1.Columns[15].Hidden = false;//深孔缺陷
Grid1.Columns[16].Hidden = false;//根部内凹
Grid1.Columns[17].Hidden = false;//根部咬边
//Grid1.Columns[20].Hidden = false;//缺陷性质
Grid1.Columns[22].Hidden = false;//缺陷定量
Grid1.Columns[23].Hidden = false;//缺陷位置(定量)
Grid1.Columns[23].HeaderText = "超标缺陷部位";
if (qualityRating.Count == 0)
{
if (jot.JOT_Dia > 100)
{
GetDefaultAddRow(6, CH_TrustItemID);
}
else
{
GetDefaultAddRow(3, CH_TrustItemID);
}
}
else
{
BindGrid();
}
}
else if (ndt.NDT_Code.Contains("UT"))
{
if (ndt.NDT_Code.Contains("PAUT"))
{
Grid1.Columns[5].Hidden = true;
}
Grid2.Columns[2].Hidden = true;
Grid1.Columns[4].Hidden = true;
Grid1.Columns[18].Hidden = false;//检测长度
Grid1.Columns[19].Hidden = false;//峰值波幅
Grid1.Columns[22].Hidden = false;//缺陷位置
Grid1.Columns[25].Hidden = false;//缺陷深度
Grid1.Columns[28].Hidden = false;//指示长度
this.btnNew.Hidden = true;
if (qualityRating.Count == 0)
{
GetDefaultAddRow(1, CH_TrustItemID);
}
else
{
BindGrid();
}
}
else if (ndt.NDT_Code.Contains("MT") || ndt.NDT_Code.Contains("PT"))
{
Grid2.Columns[2].Hidden = true;
Grid1.Columns[4].Hidden = true;
Grid1.Columns[20].Hidden = false;//缺陷性质
Grid1.Columns[22].Hidden = false;//缺陷位置
Grid1.Columns[23].Hidden = false;//缺陷尺寸
this.btnNew.Hidden = true;
if (qualityRating.Count == 0)
{
GetDefaultAddRow(1, CH_TrustItemID);
}
else
{
BindGrid();
}
}
}
}
}
if (!string.IsNullOrEmpty(trustItem.EquipmentId))
{
this.drpEquipment.SelectedValue = trustItem.EquipmentId;
}
if (!string.IsNullOrEmpty(trustItem.ShootMan))
{
this.txtShootMan.Text = trustItem.ShootMan;
}
else
{
this.txtShootMan.Text = this.CurrUser.UserName;
}
if (trustItem.ShootDate != null)
{
this.txtShootDate.Text = trustItem.ShootDate.Value.ToString();
}
else
{
if (trust != null)
{
if (!string.IsNullOrEmpty(trust.CH_NDTMethod))
{
var ndt = BLL.HJGL_TestingService.GetTestingByTestingId(trust.CH_NDTMethod);
if (ndt != null)
{
if (ndt.NDT_Code.Contains("RT"))
{
this.txtShootDate.Text = DateTime.Now.Date.AddDays(-1).ToString();
}
}
}
}
else
{
this.txtShootDate.Text = DateTime.Now.Date.ToString();
}
}
}
//BindGrid();
}
this.Grid1.DataSource = qualityRatings;
this.Grid1.DataBind();
//BindGrid();
cH_TrustItemIDs = from x in Funs.DB.HJGL_CH_TrustItem
join y in Funs.DB.HJGL_CH_Trust on x.CH_TrustID equals y.CH_TrustID
join j in Funs.DB.HJGL_PW_JointInfo on x.JOT_ID equals j.JOT_ID
where y.BatchId == BatchId && j.ISO_ID == ISO_ID
&& y.CH_NDTMethod == this.NDT
select x.CH_TrustItemID;
if (cH_TrustItemIDs.Count() > 0)
{
var r = from x in Funs.DB.HJGL_CH_RepairItemRecord select x;
var repair = from x in r where cH_TrustItemIDs.Contains(x.TrustItemID) select x;
if (repair.Count() != 0)
{
var repairItem = from x in Funs.DB.HJGL_CH_RepairItemRecord
join y in Funs.DB.HJGL_PW_JointInfo on x.JOT_ID equals y.JOT_ID
where cH_TrustItemIDs.Contains(x.TrustItemID)
select new { x.RepairItemRecordId, y.JOT_JointNo, x.FilmNum, x.DefectNature, x.TrustItemID };
Grid2.DataSource = repairItem;
Grid2.DataBind();
}
}
}
}
// 删除选中行的脚本
private string GetDeleteScript()
{
return Confirm.GetShowReference("确定移除选中行吗?", String.Empty, MessageBoxIcon.Question, Grid1.GetDeleteSelectedRowsReference(), String.Empty);
}
#endregion
#region Grid1绑定前事件
/// <summary>
/// Grid1绑定前事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PreDataBound(object sender, EventArgs e)
{
// 设置LinkButtonField的点击客户端事件
LinkButtonField deleteField = Grid1.FindColumn("Delete") as LinkButtonField;
deleteField.OnClientClick = GetDeleteScript();
LinkButtonField lbtnRemakeResult = Grid1.FindColumn("RemakeResult") as LinkButtonField;
//lbtnRemakeResult.OnClientClick = GetRemakeReasonScript(this.QualityRatingId);
//var s = lbtnRemakeResult.
}
#endregion
#region
/// <summary>
/// Grid行点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid2_RowCommand(object sender, GridCommandEventArgs e)
{
string repairItemId = Grid2.DataKeys[e.RowIndex][0].ToString();
string trustItemID = Grid2.DataKeys[e.RowIndex][1].ToString();
if (e.CommandName == "attchUrl")
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/HJGL/RepairNotice&menuId={1}&edit=1", repairItemId, BLL.Const.HJGL_RepairManageEditMenuId)));
}
if (e.CommandName == "print")
{
var repairItemRecord = BLL.HJGL_CH_RepairItemRecordService.GetRepairItemRecordById(repairItemId);
if (repairItemRecord != null)
{
//repairItemRecord.SignMan = "";
//repairItemRecord.SignDate = DateTime.Now;
string receiveMan = this.CurrUser.UserName;
var trustItem = BLL.HJGL_CH_TrustItemService.GetTrustItemByID(trustItemID);
if (trustItem != null)
{
var trust = BLL.HJGL_TrustManageEditService.GetCH_TrustByID(trustItem.CH_TrustID);
if (trust != null)
{
Model.Sys_User user = BLL.Sys_UserService.GetUsersByUserId(trust.CH_TrustMan);
if (user != null)
{
receiveMan = user.UserName;
}
}
}
repairItemRecord.ReceiveMan = receiveMan;
if (repairItemRecord.ReceiveDate == null)
{
repairItemRecord.ReceiveDate = DateTime.Now;
}
BLL.HJGL_CH_RepairItemRecordService.UpdateCH_RepairItemRecord(repairItemRecord);
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../RepairManage/RepairNoticePrint.aspx?repairItemRecordId={0}", repairItemId, "编辑 - ")));
}
}
if (e.CommandName == "Delete")
{
if (judgementDelete(repairItemId))
{
var repairItemRecord = BLL.HJGL_CH_RepairItemRecordService.GetRepairItemRecordById(repairItemId);
//Model.HJGL_BS_NDTType ndt = BLL.HJGL_TestingService.GetTestingByTestingId(repairItemRecord.NDT_ID);
//if (ndt != null)
//{
// if (ndt.NDT_Code.Contains("RT"))
// {
// //回写焊口一次返修片子及数量
// BLL.HJGL_PW_JointInfoService.DeleteWriteBackRT1RepairFilmAndNum(repairItemRecord.JOT_ID, repairItemRecord.FilmNum);
// }
// else if (ndt.NDT_Code.Contains("PT"))
// {
// BLL.HJGL_PW_JointInfoService.WriteBackPTIsRepair1(repairItemRecord.JOT_ID, null);
// }
// else if (ndt.NDT_Code.Contains("MT"))
// {
// BLL.HJGL_PW_JointInfoService.WriteBackMTIsRepair1(repairItemRecord.JOT_ID, null);
// }
// else if (ndt.NDT_Code.Contains("UT"))
// {
// if (ndt.NDT_Code == "UT")
// {
// BLL.HJGL_PW_JointInfoService.WriteBackUTIsRepair1(repairItemRecord.JOT_ID, null);
// }
// else
// {
// BLL.HJGL_PW_JointInfoService.WriteBackPAUTIsRepair1(repairItemRecord.JOT_ID, null);
// }
// }
//}
BLL.HJGL_CH_RepairItemRecordService.DeleteRepairItemRecordById(repairItemId);
var cH_TrustItemIDs = from x in Funs.DB.HJGL_CH_TrustItem
join y in Funs.DB.HJGL_CH_Trust on x.CH_TrustID equals y.CH_TrustID
join j in Funs.DB.HJGL_PW_JointInfo on x.JOT_ID equals j.JOT_ID
where y.BatchId == BatchId && j.ISO_ID == ISO_ID
&& y.CH_NDTMethod == this.NDT
select x.CH_TrustItemID;
var repairItem = from x in Funs.DB.HJGL_CH_RepairItemRecord
join y in Funs.DB.HJGL_PW_JointInfo on x.JOT_ID equals y.JOT_ID
where cH_TrustItemIDs.Contains(x.TrustItemID)
select new { x.RepairItemRecordId, y.JOT_JointNo, x.FilmNum, x.DefectNature, x.TrustItemID };
Grid2.DataSource = repairItem;
Grid2.DataBind();
BLL.Sys_LogService.AddLog(BLL.Const.System_1, this.CurrUser.LoginProjectId, this.CurrUser.UserId, "删除返修通知单信息");
ShowNotify("删除数据成功!(表格数据已重新绑定)");
}
}
}
#endregion
#region
/// <summary>
/// 判断是否可以删除
/// </summary>
/// <returns></returns>
private bool judgementDelete(string repairItemId)
{
string content = "";
var repairItemRecord = BLL.HJGL_CH_RepairItemRecordService.GetRepairItemRecordById(repairItemId);
if (repairItemRecord.IsPrint == true)
{
content = "返修焊接记录已打印,无法删除";
}
if (content == "")
{
return true;
}
else
{
ShowNotify(content);
return false;
}
}
#endregion
#region
/// <summary>
/// 数据绑定
/// </summary>
private void BindGrid()
{
string ids = string.Empty;
List<string> cH_TrustItemIDs = new List<string>();
if (this.rblIsFilm.SelectedValue == "0") //未拍片
{
cH_TrustItemIDs = (from x in Funs.DB.HJGL_CH_TrustItem
join y in Funs.DB.HJGL_CH_Trust on x.CH_TrustID equals y.CH_TrustID
join j in Funs.DB.HJGL_PW_JointInfo on x.JOT_ID equals j.JOT_ID
where y.BatchId == BatchId && j.ISO_ID == ISO_ID &&
((from z in Funs.DB.HJGL_BO_QualityRating where z.CH_TrustItemID == x.CH_TrustItemID select z).Count() == 0
|| ((from z in Funs.DB.HJGL_BO_QualityRating where z.CH_TrustItemID == x.CH_TrustItemID && (z.DefectResult == "" || z.DefectResult == null) select z).Count() > 0)
|| x.States == "3") && !loadCH_TrustItemIDs.Contains(x.CH_TrustItemID)
&& y.CH_NDTMethod == this.NDT
select x.CH_TrustItemID).Distinct().ToList();
}
else if (this.rblIsFilm.SelectedValue == "1") //已拍片
{
cH_TrustItemIDs = (from x in Funs.DB.HJGL_CH_TrustItem
join y in Funs.DB.HJGL_CH_Trust on x.CH_TrustID equals y.CH_TrustID
join j in Funs.DB.HJGL_PW_JointInfo on x.JOT_ID equals j.JOT_ID
where y.BatchId == BatchId && j.ISO_ID == ISO_ID && (from z in Funs.DB.HJGL_BO_QualityRating where z.CH_TrustItemID == x.CH_TrustItemID select z).Count() > 0
&& y.CH_NDTMethod == this.NDT
select x.CH_TrustItemID).Distinct().ToList();
}
else
{
cH_TrustItemIDs = (from x in Funs.DB.HJGL_CH_TrustItem
join y in Funs.DB.HJGL_CH_Trust on x.CH_TrustID equals y.CH_TrustID
join j in Funs.DB.HJGL_PW_JointInfo on x.JOT_ID equals j.JOT_ID
where y.BatchId == BatchId && j.ISO_ID == ISO_ID
&& y.CH_NDTMethod == this.NDT
select x.CH_TrustItemID).Distinct().ToList();
}
foreach (var cH_TrustItemID in cH_TrustItemIDs)
{
ids += cH_TrustItemID + ",";
}
if (!string.IsNullOrEmpty(ids))
{
ids = ids.Substring(0, ids.LastIndexOf(","));
}
if (this.drpJointNo.SelectedValue != BLL.Const._Null)
{
if (this.NDT == "20d2cbca-8b3d-434b-b1c1-181796986fa5") //RT拍片选择焊口时可进行增行
{
this.btnNew.Hidden = false;
}
ids = this.drpJointNo.SelectedValue;
//SubmitQualityRating();
if (this.rblIsFilm.SelectedValue == "0") //未拍片
{
if (qualityRatings.Count > 0)
{
this.Grid1.DataSource = qualityRatings.Where(x => x.JOT_JointNo == this.drpJointNo.SelectedText);
this.Grid1.DataBind();
return;
}
}
}
string strSql = string.Empty;
List<SqlParameter> listStr = new List<SqlParameter>();
strSql = @"SELECT QualityRating.QualityRatingId,QualityRating.CH_TrustItemID,QualityRating.ISO_ID,
QualityRating.RMaterial, QualityRating.Remake,QualityRating.RemakeResult,QualityRating.JOT_ID,QualityRating.FilmNum,
QualityRating.RepairTag, QualityRating.Cack,QualityRating.NotFusion,QualityRating.NotPenetration,
QualityRating.StripDefects,QualityRating.CircularDefects,QualityRating.DeepHoleDefects,
QualityRating.RootsConcave,QualityRating.RootsBiteEdge,QualityRating.PseudoDefects,
QualityRating.DefectLength,QualityRating.DefectResult,QualityRating.SignMan,
QualityRating.SignDate,QualityRating.Remark,IsoInfo.ISO_IsoNo,JointInfo.JOT_JointNo,
JointInfo.Sort1,JointInfo.Sort2,JointInfo.Sort3,JointInfo.Sort4,JointInfo.Sort5,
JointInfo.JOT_QualifiedLevel,trust.ProjectId,Project.ProjectCode,Welder.WED_Code,
QualityRating.DetectLength,
QualityRating.PeakAmplitude,
QualityRating.DefectLocation,
QualityRating.DefectRation,
QualityRating.DepthDefect,
QualityRating.IndicatingLength,
QualityRating.DefectHeight,
QualityRating.DefectsHighSide,
QualityRating.DefectSize,
QualityRating.DefectNature,
QualityRating.IsPass
FROM dbo.HJGL_BO_QualityRating QualityRating
LEFT JOIN dbo.HJGL_CH_TrustItem AS trustItem ON trustItem.CH_TrustItemID = QualityRating.CH_TrustItemID
LEFT JOIN dbo.HJGL_CH_Trust AS trust ON trust.CH_TrustID = trustItem.CH_TrustID
LEFT JOIN dbo.HJGL_PW_IsoInfo AS IsoInfo ON IsoInfo.ISO_ID = QualityRating.ISO_ID
LEFT JOIN dbo.HJGL_PW_JointInfo AS JointInfo ON JointInfo.JOT_ID = QualityRating.JOT_ID
LEFT JOIN dbo.Base_Project AS Project ON Project.ProjectId = trust.ProjectId
LEFT JOIN dbo.HJGL_BS_Welder AS Welder ON Welder.WED_ID = JointInfo.JOT_CellWelder
WHERE CHARINDEX(QualityRating.CH_TrustItemID,@CH_TrustItemIDs)>0 ";
if (this.rblIsFilm.SelectedValue == "0") //未拍片
{
strSql += " and (QualityRating.DefectResult='' or QualityRating.DefectResult is null or QualityRating.Remake=1)";
}
if (this.drpJointNo.SelectedValue != BLL.Const._Null)
{
strSql += " and JointInfo.JOT_JointNo=@JOT_JointNo";
listStr.Add(new SqlParameter("@JOT_JointNo", this.drpJointNo.SelectedText));
}
listStr.Add(new SqlParameter("@CH_TrustItemIDs", ids));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
// 2.获取当前分页数据
//var table = this.GetPagedDataTable(Grid1, tb1);
Grid1.RecordCount = tb.Rows.Count;
tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#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 btnSave_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_CheckMenuId, Const.BtnSave))
{
SubmitQualityRating();
foreach (JObject mergedRow in Grid1.GetMergedData())
{
JObject values = mergedRow.Value<JObject>("values");
if (Convert.ToBoolean(values.Value<string>("Remake")))
{
string qualityRatingId = values.Value<string>("QualityRatingId");
var remakeReason = Funs.DB.HJGL_BO_RemakeReason.FirstOrDefault(x => x.QualityRatingId == qualityRatingId);
if (remakeReason == null)
{
ShowNotify("重拍口需先编辑重拍记录才可提交!", MessageBoxIcon.Warning);
return;
}
}
}
ShowNotify("提交成功!", MessageBoxIcon.Success);
}
else
{
Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
return;
}
}
private void SubmitQualityRating()
{
int filmNum = 0;
int rMatNum = 0;
string changeId = string.Empty;
bool b = true; //默认合格
bool needRemake = false; //重拍
foreach (JObject mergedRow in Grid1.GetMergedData())
{
JObject values = mergedRow.Value<JObject>("values");
string cH_TrustItemID = values.Value<string>("CH_TrustItemID");
if (!string.IsNullOrEmpty(values.Value<string>("DefectResult"))) //有评定结果的口再保存记录
{
if (changeId != cH_TrustItemID) //循环至新的焊口记录
{
Model.HJGL_CH_TrustItem oldTrustItem = BLL.HJGL_CH_TrustItemService.GetTrustItemByID(changeId);
if (oldTrustItem != null)
{
BLL.HJGL_PW_JointInfoService.JointFileNumWriteBack(oldTrustItem.JOT_ID, filmNum);
BLL.HJGL_PW_JointInfoService.JointRMaterialWriteBack(oldTrustItem.JOT_ID, rMatNum);
Model.HJGL_CH_Trust trust1 = BLL.HJGL_TrustManageEditService.GetCH_TrustByID(oldTrustItem.CH_TrustID);
if (trust1.CH_NDTMethod != "20d2cbca-8b3d-434b-b1c1-181796986fa5") //非RT检测更新焊口检测状态
{
if (b)
{
if (needRemake)
{
oldTrustItem.States = "3"; //待重检
}
else
{
oldTrustItem.States = "2"; //检测合格
}
}
else
{
oldTrustItem.States = "4"; //待返修
}
}
oldTrustItem.FeedbackMan = this.CurrUser.UserName;
oldTrustItem.FeedbackDate = DateTime.Now;
BLL.HJGL_CH_TrustItemService.UpdateTrustItem(oldTrustItem);
}
changeId = cH_TrustItemID;
b = true;
needRemake = false;
filmNum = 0;
rMatNum = 0;
}
Model.HJGL_CH_TrustItem trustItem = BLL.HJGL_CH_TrustItemService.GetTrustItemByID(cH_TrustItemID);
if (this.drpEquipment.SelectedValue != "null")
{
trustItem.EquipmentId = this.drpEquipment.SelectedValue;
}
if (!string.IsNullOrEmpty(this.txtShootMan.Text))
{
trustItem.ShootMan = this.txtShootMan.Text.Trim();
}
if (!string.IsNullOrEmpty(this.txtShootDate.Text))
{
trustItem.ShootDate = Convert.ToDateTime(this.txtShootDate.Text);
}
var trust = BLL.HJGL_TrustManageEditService.GetCH_TrustByID(trustItem.CH_TrustID);
var jot = BLL.HJGL_PW_JointInfoService.GetJointInfoByJotID(trustItem.JOT_ID);
Model.HJGL_BO_QualityRating newQualityRating = new Model.HJGL_BO_QualityRating();
newQualityRating.CH_TrustItemID = cH_TrustItemID;
if (!string.IsNullOrEmpty(jot.ISO_ID))
{
newQualityRating.ISO_ID = jot.ISO_ID;
}
if (!string.IsNullOrEmpty(trustItem.JOT_ID))
{
newQualityRating.JOT_ID = trustItem.JOT_ID;
}
newQualityRating.Remake = Convert.ToBoolean(values.Value<string>("Remake"));
newQualityRating.RemakeResult = values.Value<string>("RemakeResult");
if (Grid1.Columns[5].Hidden == true)
{
newQualityRating.FilmNum = null;
}
else
{
newQualityRating.FilmNum = values.Value<string>("FilmNum");
}
newQualityRating.RepairTag = values.Value<string>("RepairTag");
newQualityRating.RMaterial = Convert.ToBoolean(values.Value<string>("RMaterial"));
newQualityRating.Cack = Convert.ToBoolean(values.Value<string>("Cack"));
newQualityRating.NotFusion = Convert.ToBoolean(values.Value<string>("NotFusion"));
newQualityRating.NotPenetration = Convert.ToBoolean(values.Value<string>("NotPenetration"));
newQualityRating.StripDefects = Convert.ToBoolean(values.Value<string>("StripDefects"));
newQualityRating.CircularDefects = Convert.ToBoolean(values.Value<string>("CircularDefects"));
newQualityRating.DeepHoleDefects = Convert.ToBoolean(values.Value<string>("DeepHoleDefects"));
newQualityRating.RootsConcave = Convert.ToBoolean(values.Value<string>("RootsConcave"));
newQualityRating.RootsBiteEdge = Convert.ToBoolean(values.Value<string>("RootsBiteEdge"));
newQualityRating.PseudoDefects = Convert.ToBoolean(values.Value<string>("PseudoDefects"));
newQualityRating.DefectLength = values.Value<string>("DefectLength");
newQualityRating.DefectResult = values.Value<string>("DefectResult");
newQualityRating.DefectRation = values.Value<string>("DefectRation");
newQualityRating.SignDate = Funs.GetNewDateTime(values.Value<string>("SignDate"));
newQualityRating.Remark = values.Value<string>("Remark");
newQualityRating.DetectLength = Funs.GetNewDecimal(values.Value<string>("DetectLength"));
newQualityRating.PeakAmplitude = values.Value<string>("PeakAmplitude");
newQualityRating.DefectLocation = values.Value<string>("DefectLocation");
newQualityRating.DepthDefect = Funs.GetNewDecimal(values.Value<string>("DepthDefect"));
newQualityRating.IndicatingLength = Funs.GetNewDecimal(values.Value<string>("IndicatingLength"));
newQualityRating.DefectHeight = Funs.GetNewDecimal(values.Value<string>("DefectHeight"));
newQualityRating.DefectsHighSide = Funs.GetNewDecimal(values.Value<string>("DefectsHighSide"));
newQualityRating.DefectSize = Funs.GetNewDecimal(values.Value<string>("DefectSize"));
newQualityRating.DefectNature = values.Value<string>("DefectNature");
if (values.Value<string>("IsPass") == "不合格")
{
b = false;
}
if (Convert.ToBoolean(values.Value<string>("Remake")))
{
needRemake = true;
}
newQualityRating.IsPass = values.Value<string>("IsPass");
this.QualityRatingId = values.Value<string>("QualityRatingId");
if (trust.CH_NDTMethod == "20d2cbca-8b3d-434b-b1c1-181796986fa5") //RT检测评定结果不为空才保存拍片记录
{
if (!string.IsNullOrEmpty(newQualityRating.DefectResult))
{
filmNum++;
if (newQualityRating.RMaterial == true)
{
rMatNum++;
}
var quatlityRating = BLL.HJGL_BO_QualityRatingService.GetQualityRatingById(this.QualityRatingId);
if (quatlityRating == null)
{
newQualityRating.QualityRatingId = this.QualityRatingId;
BLL.HJGL_BO_QualityRatingService.AddQualityRating(newQualityRating);
}
else
{
Model.HJGL_BO_QualityRating oldQualityRating = BLL.HJGL_BO_QualityRatingService.GetQualityRatingById(this.QualityRatingId);
if (oldQualityRating != null)
{
newQualityRating.RemakeResult = oldQualityRating.RemakeResult;
}
newQualityRating.QualityRatingId = this.QualityRatingId;
BLL.HJGL_BO_QualityRatingService.UpadteQualityRating(newQualityRating);
}
}
}
else
{
var quatlityRating = BLL.HJGL_BO_QualityRatingService.GetQualityRatingById(this.QualityRatingId);
if (quatlityRating == null)
{
newQualityRating.QualityRatingId = this.QualityRatingId;
BLL.HJGL_BO_QualityRatingService.AddQualityRating(newQualityRating);
}
else
{
Model.HJGL_BO_QualityRating oldQualityRating = BLL.HJGL_BO_QualityRatingService.GetQualityRatingById(this.QualityRatingId);
if (oldQualityRating != null)
{
newQualityRating.RemakeResult = oldQualityRating.RemakeResult;
}
newQualityRating.QualityRatingId = this.QualityRatingId;
BLL.HJGL_BO_QualityRatingService.UpadteQualityRating(newQualityRating);
}
}
BLL.HJGL_CH_TrustItemService.UpdateTrustItem(trustItem);
// 有焊口增加的,对应的检测报告打印要变成未打印状态
var p = from x in Funs.DB.HJGL_CH_TestingReportPrint
where x.ISO_ID == jot.ISO_ID && x.Specifications == jot.JOT_JointDesc
&& x.NDT_ID == trust.CH_NDTMethod && x.BatchId == trust.BatchId
select x;
if (p.Count() > 0)
{
Model.HJGL_CH_TestingReportPrint report = Funs.DB.HJGL_CH_TestingReportPrint.FirstOrDefault(x => x.TestingReportPrintId == p.First().TestingReportPrintId);
report.Printer = null;
report.PrintTime = null;
Funs.DB.SubmitChanges();
}
}
}
//更新列表最后一个口的数据
if (!string.IsNullOrEmpty(changeId))
{
Model.HJGL_CH_TrustItem oldTrustItem1 = BLL.HJGL_CH_TrustItemService.GetTrustItemByID(changeId);
Model.HJGL_CH_Trust trust1 = BLL.HJGL_TrustManageEditService.GetCH_TrustByID(oldTrustItem1.CH_TrustID);
if (trust1.CH_NDTMethod != "20d2cbca-8b3d-434b-b1c1-181796986fa5") //非RT检测更新焊口检测状态
{
if (b)
{
if (needRemake)
{
oldTrustItem1.States = "3"; //待重检
}
else
{
oldTrustItem1.States = "2"; //检测合格
}
}
else
{
oldTrustItem1.States = "4"; //待返修
}
}
oldTrustItem1.FeedbackMan = this.CurrUser.UserName;
oldTrustItem1.FeedbackDate = DateTime.Now;
BLL.HJGL_PW_JointInfoService.JointFileNumWriteBack(oldTrustItem1.JOT_ID, filmNum);
BLL.HJGL_PW_JointInfoService.JointRMaterialWriteBack(oldTrustItem1.JOT_ID, rMatNum);
BLL.HJGL_PW_JointInfoService.JointCheckStateWriteBack(oldTrustItem1.JOT_ID, trust1.CH_NDTMethod, oldTrustItem1.States);
BLL.HJGL_CH_TrustItemService.UpdateTrustItem(oldTrustItem1);
}
// 删除现有数据
List<int> deletedRows = Grid1.GetDeletedList();
foreach (int rowIndex in deletedRows)
{
string qualityRatingId = Grid1.DataKeys[rowIndex][0].ToString();
BLL.HJGL_BO_QualityRatingService.DeleteQualityRating(qualityRatingId);
}
}
private void SubmitQualityRating(string qualityRatingId)
{
string changeId = string.Empty;
foreach (JObject mergedRow in Grid1.GetMergedData())
{
JObject values = mergedRow.Value<JObject>("values");
string cH_TrustItemID = values.Value<string>("CH_TrustItemID");
string qId = values.Value<string>("QualityRatingId");
if (qId == qualityRatingId)
{
Model.HJGL_CH_TrustItem trustItem = BLL.HJGL_CH_TrustItemService.GetTrustItemByID(cH_TrustItemID);
if (this.drpEquipment.SelectedValue != "null")
{
trustItem.EquipmentId = this.drpEquipment.SelectedValue;
}
if (!string.IsNullOrEmpty(this.txtShootMan.Text))
{
trustItem.ShootMan = this.txtShootMan.Text.Trim();
}
if (!string.IsNullOrEmpty(this.txtShootDate.Text))
{
trustItem.ShootDate = Convert.ToDateTime(this.txtShootDate.Text);
}
var trust = BLL.HJGL_TrustManageEditService.GetCH_TrustByID(trustItem.CH_TrustID);
var jot = BLL.HJGL_PW_JointInfoService.GetJointInfoByJotID(trustItem.JOT_ID);
Model.HJGL_BO_QualityRating newQualityRating = new Model.HJGL_BO_QualityRating();
newQualityRating.CH_TrustItemID = cH_TrustItemID;
if (!string.IsNullOrEmpty(jot.ISO_ID))
{
newQualityRating.ISO_ID = jot.ISO_ID;
}
if (!string.IsNullOrEmpty(trustItem.JOT_ID))
{
newQualityRating.JOT_ID = trustItem.JOT_ID;
}
newQualityRating.Remake = Convert.ToBoolean(values.Value<string>("Remake"));
newQualityRating.RemakeResult = values.Value<string>("RemakeResult");
if (Grid1.Columns[5].Hidden == true)
{
newQualityRating.FilmNum = null;
}
else
{
newQualityRating.FilmNum = values.Value<string>("FilmNum");
}
newQualityRating.RepairTag = values.Value<string>("RepairTag");
newQualityRating.RMaterial = Convert.ToBoolean(values.Value<string>("RMaterial"));
newQualityRating.Cack = Convert.ToBoolean(values.Value<string>("Cack"));
newQualityRating.NotFusion = Convert.ToBoolean(values.Value<string>("NotFusion"));
newQualityRating.NotPenetration = Convert.ToBoolean(values.Value<string>("NotPenetration"));
newQualityRating.StripDefects = Convert.ToBoolean(values.Value<string>("StripDefects"));
newQualityRating.CircularDefects = Convert.ToBoolean(values.Value<string>("CircularDefects"));
newQualityRating.DeepHoleDefects = Convert.ToBoolean(values.Value<string>("DeepHoleDefects"));
newQualityRating.RootsConcave = Convert.ToBoolean(values.Value<string>("RootsConcave"));
newQualityRating.RootsBiteEdge = Convert.ToBoolean(values.Value<string>("RootsBiteEdge"));
newQualityRating.PseudoDefects = Convert.ToBoolean(values.Value<string>("PseudoDefects"));
newQualityRating.DefectLength = values.Value<string>("DefectLength");
newQualityRating.DefectResult = values.Value<string>("DefectResult");
newQualityRating.DefectRation = values.Value<string>("DefectRation");
newQualityRating.SignDate = Funs.GetNewDateTime(values.Value<string>("SignDate"));
newQualityRating.Remark = values.Value<string>("Remark");
newQualityRating.DetectLength = Funs.GetNewDecimal(values.Value<string>("DetectLength"));
newQualityRating.PeakAmplitude = values.Value<string>("PeakAmplitude");
newQualityRating.DefectLocation = values.Value<string>("DefectLocation");
newQualityRating.DepthDefect = Funs.GetNewDecimal(values.Value<string>("DepthDefect"));
newQualityRating.IndicatingLength = Funs.GetNewDecimal(values.Value<string>("IndicatingLength"));
newQualityRating.DefectHeight = Funs.GetNewDecimal(values.Value<string>("DefectHeight"));
newQualityRating.DefectsHighSide = Funs.GetNewDecimal(values.Value<string>("DefectsHighSide"));
newQualityRating.DefectSize = Funs.GetNewDecimal(values.Value<string>("DefectSize"));
newQualityRating.DefectNature = values.Value<string>("DefectNature");
newQualityRating.IsPass = values.Value<string>("IsPass");
this.QualityRatingId = values.Value<string>("QualityRatingId");
var quatlityRating = BLL.HJGL_BO_QualityRatingService.GetQualityRatingById(this.QualityRatingId);
if (quatlityRating == null)
{
newQualityRating.QualityRatingId = this.QualityRatingId;
BLL.HJGL_BO_QualityRatingService.AddQualityRating(newQualityRating);
}
else
{
Model.HJGL_BO_QualityRating oldQualityRating = BLL.HJGL_BO_QualityRatingService.GetQualityRatingById(this.QualityRatingId);
if (oldQualityRating != null)
{
newQualityRating.RemakeResult = oldQualityRating.RemakeResult;
}
newQualityRating.QualityRatingId = this.QualityRatingId;
BLL.HJGL_BO_QualityRatingService.UpadteQualityRating(newQualityRating);
}
break;
}
//if (b)
//{
// if (needRemake)
// {
// trustItem.States = "3"; //待重检
// }
// else
// {
// trustItem.States = "2"; //检测合格
// }
//}
//else
//{
// trustItem.States = "4"; //待返修
//}
}
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_CheckMenuId, Const.BtnSave))
{
bool isExitNotOKItem = false; //是否存在不合格项
List<Model.HJGL_BO_QualityRating> qualityRatingLists = new List<Model.HJGL_BO_QualityRating>();
var cH_TrustItemIDs = from x in Funs.DB.HJGL_CH_TrustItem
join y in Funs.DB.HJGL_CH_Trust on x.CH_TrustID equals y.CH_TrustID
join j in Funs.DB.HJGL_PW_JointInfo on x.JOT_ID equals j.JOT_ID
where y.BatchId == BatchId && j.ISO_ID == ISO_ID
&& y.CH_NDTMethod == this.NDT
select x.CH_TrustItemID;
foreach (var CH_TrustItemID in cH_TrustItemIDs)
{
if (!string.IsNullOrEmpty(CH_TrustItemID))
{
var trustItem = BLL.HJGL_CH_TrustItemService.GetTrustItemByID(CH_TrustItemID);
var jot = BLL.HJGL_PW_JointInfoService.GetJointInfoByJotID(trustItem.JOT_ID);
var trust = BLL.HJGL_TrustManageEditService.GetCH_TrustByID(trustItem.CH_TrustID);
Model.HJGL_BS_NDTType ndt = null;
if (trust.CH_NDTMethod != null)
{
ndt = BLL.HJGL_TestingService.GetTestingByTestingId(trust.CH_NDTMethod);
}
string defectNatures = string.Empty;
qualityRatingLists = BLL.HJGL_BO_QualityRatingService.GetQualityRatingByTrustDetailId(CH_TrustItemID);
qualityRatingLists = qualityRatingLists.Where(x => x.IsPass == "不合格").ToList(); // 获取不合格的项
if (qualityRatingLists.Count() > 0)
{
isExitNotOKItem = true;
foreach (var item in qualityRatingLists)
{
var oldRepairItemRecord = (from x in Funs.DB.HJGL_CH_RepairItemRecord
where x.JOT_ID == item.JOT_ID && x.TrustItemID == item.CH_TrustItemID && x.FilmNum == item.FilmNum
select x).FirstOrDefault();
if (oldRepairItemRecord == null)
{
if (ndt != null && ndt.NDT_Code.Contains("RT"))
{
if (item.RMaterial == true)
{
defectNatures += "R母材,";
}
if (item.Cack == true)
{
defectNatures += "裂纹,";
}
if (item.NotFusion == true)
{
defectNatures += "未熔合,";
}
if (item.NotPenetration == true)
{
defectNatures += "未焊透,";
}
if (item.StripDefects == true)
{
defectNatures += "条状缺陷,";
}
if (item.CircularDefects == true)
{
defectNatures += "圆形缺陷,";
}
if (item.DeepHoleDefects == true)
{
defectNatures += "深孔缺陷,";
}
if (item.RootsConcave == true)
{
defectNatures += "根部内凹,";
}
if (item.RootsBiteEdge == true)
{
defectNatures += "根部咬边,";
}
if (item.PseudoDefects == true)
{
defectNatures += "伪缺陷,";
}
}
else
{
if (!string.IsNullOrEmpty(item.DefectNature))
{
defectNatures = "缺陷性质:" + item.DefectNature + ",";
}
if (item.DefectLocation != null)
{
defectNatures = defectNatures + "缺陷位置:" + item.DefectLocation + ",";
}
if (item.DefectSize != null)
{
defectNatures = defectNatures + "缺陷尺寸:" + item.DefectSize + ",";
}
}
if (!string.IsNullOrEmpty(defectNatures))
{
defectNatures = defectNatures.Substring(0, defectNatures.LastIndexOf(","));
}
Model.HJGL_CH_RepairItemRecord newRepairItemRecord = new Model.HJGL_CH_RepairItemRecord();
newRepairItemRecord.RepairItemRecordId = SQLHelper.GetNewID(typeof(Model.HJGL_CH_RepairItemRecord));
newRepairItemRecord.ProjectId = trust.ProjectId;
newRepairItemRecord.ISO_ID = jot.ISO_ID;
newRepairItemRecord.JOT_ID = trustItem.JOT_ID;
newRepairItemRecord.FilmNum = item.FilmNum;
newRepairItemRecord.DefectNature = defectNatures;
newRepairItemRecord.TrustItemID = trustItem.CH_TrustItemID;
newRepairItemRecord.BatchId = trust.BatchId;
newRepairItemRecord.RepairMark = "R1";
newRepairItemRecord.FeedbackDate = DateTime.Now;
newRepairItemRecord.NDT_ID = trust.CH_NDTMethod;
newRepairItemRecord.SignMan = this.CurrUser.UserName;
newRepairItemRecord.SignDate = DateTime.Now;
BLL.HJGL_CH_RepairItemRecordService.AddCH_RepairItemRecord(newRepairItemRecord);
defectNatures = string.Empty;
}
}
trustItem.ReportNoticeDate = DateTime.Now;
BLL.HJGL_CH_TrustItemService.UpdateTrustItem(trustItem);
}
}
}
if (isExitNotOKItem)
{
Alert.ShowInTop("成功生成返修通知单!", MessageBoxIcon.Success);
}
else
{
Alert.ShowInTop("无不合格的项,请提交!", MessageBoxIcon.Warning);
return;
}
var repairItem = from x in Funs.DB.HJGL_CH_RepairItemRecord
join y in Funs.DB.HJGL_PW_JointInfo on x.JOT_ID equals y.JOT_ID
where cH_TrustItemIDs.Contains(x.TrustItemID)
select new { x.RepairItemRecordId, y.JOT_JointNo, x.TrustItemID, x.FilmNum, x.DefectNature };
Grid2.DataSource = repairItem;
Grid2.DataBind();
}
else
{
Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
return;
}
}
#endregion
#region
/// <summary>
/// 增行按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnNew_Click(object sender, EventArgs e)
{
GetAddRow();
}
/// <summary>
/// 增行方法
/// </summary>
private void GetAddRow()
{
string deleteScript = GetDeleteScript();
//// 新增数据初始值
JObject defaultObj = new JObject();
string cH_TrustItemID = this.drpJointNo.SelectedValue;
var trustDetail = BLL.HJGL_TrustManageEditService.GetCH_TrustItemById(cH_TrustItemID);
if (trustDetail != null)
{
defaultObj.Add("CH_TrustItemID", cH_TrustItemID);
var trust = BLL.HJGL_TrustManageEditService.GetCH_TrustByID(trustDetail.CH_TrustID);
if (trust != null)
{
if (!string.IsNullOrEmpty(trust.ProjectId))
{
var project = BLL.Base_ProjectService.GetProjectByProjectId(trust.ProjectId);
if (project != null)
{
defaultObj.Add("ProjectCode", project.ProjectCode);
}
}
}
if (!string.IsNullOrEmpty(trustDetail.JOT_ID))
{
var jot = BLL.HJGL_PW_JointInfoService.GetJointInfoByJotID(trustDetail.JOT_ID);
if (jot != null)
{
if (!string.IsNullOrEmpty(jot.ISO_ID))
{
var iso = BLL.HJGL_PW_IsoInfoService.GetIsoInfoByIsoInfoId(jot.ISO_ID);
if (iso != null)
{
defaultObj.Add("ISO_IsoNo", iso.ISO_IsoNo);
}
}
defaultObj.Add("JOT_JointNo", jot.JOT_JointNo);
defaultObj.Add("JOT_QualifiedLevel", jot.JOT_QualifiedLevel);
if (!string.IsNullOrEmpty(jot.JOT_CellWelder))
{
var welder = BLL.HJGL_PersonManageService.GetWelderByWenId(jot.JOT_CellWelder);
if (welder != null)
{
defaultObj.Add("WED_Code", welder.WED_Code);
}
}
}
}
}
//底片编号按ABC自增长
if (Grid1.GetMergedData().Count > 0)
{
string fileNum = string.Empty;
List<string> flimNums = new List<string>();
foreach (JObject mergedRow in Grid1.GetMergedData())
{
string fn = string.Empty;
JObject values = mergedRow.Value<JObject>("values");
fn = values.Value<string>("FilmNum");
flimNums.Add(fn);
flimNums.Sort();
}
foreach (var item in flimNums)
{
fileNum = item;
}
string nextFilmNum = Convert.ToChar(Convert.ToInt16(fileNum.ToCharArray()[0]) + 1).ToString();
defaultObj.Add("FilmNum", nextFilmNum);
}
else
{
defaultObj.Add("FilmNum", "A");
}
//如果有缺陷默认返修R1
bool rMaterial = Convert.ToBoolean(defaultObj.Value<string>("RMaterial"));
bool cack = Convert.ToBoolean(defaultObj.Value<string>("Cack"));
bool notFusion = Convert.ToBoolean(defaultObj.Value<string>("NotFusion"));
bool notPenetration = Convert.ToBoolean(defaultObj.Value<string>("NotPenetration"));
bool stripDefects = Convert.ToBoolean(defaultObj.Value<string>("StripDefects"));
bool circularDefects = Convert.ToBoolean(defaultObj.Value<string>("CircularDefects"));
bool depHoleDefects = Convert.ToBoolean(defaultObj.Value<string>("DeepHoleDefects"));
bool rootsConcave = Convert.ToBoolean(defaultObj.Value<string>("RootsConcave"));
bool rootsBiteEdge = Convert.ToBoolean(defaultObj.Value<string>("RootsBiteEdge"));
bool pseudoDefects = Convert.ToBoolean(defaultObj.Value<string>("PseudoDefects"));
if (rMaterial || cack || notFusion || notPenetration || stripDefects || circularDefects || depHoleDefects || rootsConcave || rootsBiteEdge || pseudoDefects)
{
defaultObj.Add("RepairTag", "R1");
}
defaultObj.Add("SignMan", this.CurrUser.UserName);
defaultObj.Add("SignDate", DateTime.Now);
defaultObj.Add("IsPass", "合格");
this.QualityRatingId = SQLHelper.GetNewID(typeof(Model.HJGL_BO_QualityRating));
defaultObj.Add("QualityRatingId", this.QualityRatingId);
defaultObj.Add("Delete", String.Format("<a href=\"javascript:;\" onclick=\"{0}\"><img src=\"{1}\"/></a>", deleteScript, IconHelper.GetResolvedIconUrl(Icon.Delete)));
string remakeReasonScript = GetRemakeReasonScript(this.QualityRatingId);
defaultObj.Add("RemakeResultEdit", String.Format("<a href=\"javascript:;\" onclick=\"{0}\"><img src=\"{1}\"/></a>", remakeReasonScript, IconHelper.GetResolvedIconUrl(Icon.Pencil)));
// 在第一行新增一条数据
Grid1.AddNewRecord(defaultObj, true);
}
private void GetDefaultAddRow(int rowNum, string cH_TrustItemID)
{
string deleteScript = GetDeleteScript();
var trustDetail = BLL.HJGL_TrustManageEditService.GetCH_TrustItemById(cH_TrustItemID);
string projectCode = string.Empty;
string isoNo = string.Empty;
string jointNo = string.Empty;
string qualifiedLevel = string.Empty;
string wedCode = string.Empty;
string ndtCode = string.Empty;
if (trustDetail != null)
{
var trust = BLL.HJGL_TrustManageEditService.GetCH_TrustByID(trustDetail.CH_TrustID);
if (trust != null)
{
if (!string.IsNullOrEmpty(trust.ProjectId))
{
var project = BLL.Base_ProjectService.GetProjectByProjectId(trust.ProjectId);
if (project != null)
{
projectCode = project.ProjectCode;
}
}
var ndt = BLL.HJGL_TestingService.GetTestingByTestingId(trust.CH_NDTMethod);
if (ndt != null)
{
ndtCode = ndt.NDT_Code;
}
}
if (!string.IsNullOrEmpty(trustDetail.JOT_ID))
{
var jot = BLL.HJGL_PW_JointInfoService.GetJointInfoByJotID(trustDetail.JOT_ID);
if (jot != null)
{
if (!string.IsNullOrEmpty(jot.ISO_ID))
{
var iso = BLL.HJGL_PW_IsoInfoService.GetIsoInfoByIsoInfoId(jot.ISO_ID);
if (iso != null)
{
isoNo = iso.ISO_IsoNo;
}
}
jointNo = jot.JOT_JointNo;
qualifiedLevel = jot.JOT_QualifiedLevel;
if (!string.IsNullOrEmpty(jot.JOT_CellWelder))
{
var welder = BLL.HJGL_PersonManageService.GetWelderByWenId(jot.JOT_CellWelder);
if (welder != null)
{
wedCode = welder.WED_Code;
}
}
}
}
}
for (int i = 0; i < rowNum; i++)
{
string nextFilmNum = string.Empty;
if (i == 0)
{
nextFilmNum = "A";
}
if (i == 1)
{
nextFilmNum = "B";
}
if (i == 2)
{
nextFilmNum = "C";
}
if (i == 3)
{
nextFilmNum = "D";
}
if (i == 4)
{
nextFilmNum = "E";
}
if (i == 5)
{
nextFilmNum = "F";
}
Model.QualityRatingItem qualityRating = new Model.QualityRatingItem();
qualityRating.ProjectCode = projectCode;
qualityRating.ISO_IsoNo = isoNo;
qualityRating.JOT_QualifiedLevel = qualifiedLevel;
qualityRating.JOT_JointNo = jointNo;
qualityRating.WED_Code = wedCode;
if (NDT == "PAUT")
{
qualityRating.FilmNum = null;
}
else
{
qualityRating.FilmNum = nextFilmNum;
}
qualityRating.SignMan = this.CurrUser.UserName;
qualityRating.SignDate = DateTime.Now;
if (rowNum > 1) //RT
{
qualityRating.IsPass = string.Empty;
}
else //非RT
{
if (ndtCode == "PAUT")
{
qualityRating.IsPass = null;
}
else
{
qualityRating.IsPass = "合格";
}
}
if (rowNum == 1)
{
if (ndtCode == "PAUT")
{
qualityRating.DefectResult = null;
}
else
{
qualityRating.DefectResult = "I";
}
}
qualityRating.CH_TrustItemID = cH_TrustItemID;
qualityRating.QualityRatingId = SQLHelper.GetNewID(typeof(Model.HJGL_BO_QualityRating));
qualityRatings.Add(qualityRating);
//defaultObj.Add("ProjectCode", projectCode);
//defaultObj.Add("ISO_IsoNo", isoNo);
//defaultObj.Add("JOT_JointNo", jointNo);
//defaultObj.Add("WED_Code", wedCode);
//defaultObj.Add("FilmNum", nextFilmNum);
//defaultObj.Add("SignMan", this.CurrUser.UserName);
//defaultObj.Add("SignDate", DateTime.Now);
//defaultObj.Add("IsPass", "合格");
//defaultObj.Add("CH_TrustItemID", cH_TrustItemID);
//this.QualityRatingId = SQLHelper.GetNewID(typeof(Model.HJGL_BO_QualityRating));
//defaultObj.Add("QualityRatingId", this.QualityRatingId);
//defaultObj.Add("Delete", String.Format("<a href=\"javascript:;\" onclick=\"{0}\"><img src=\"{1}\"/></a>", deleteScript, IconHelper.GetResolvedIconUrl(Icon.Delete)));
//string remakeReasonScript = GetRemakeReasonScript(this.QualityRatingId);
//defaultObj.Add("RemakeResultEdit", String.Format("<a href=\"javascript:;\" onclick=\"{0}\"><img src=\"{1}\"/></a>", remakeReasonScript, IconHelper.GetResolvedIconUrl(Icon.Pencil)));
//Model.HJGL_BO_QualityRating qr = new Model.HJGL_BO_QualityRating();
//qr.CH_TrustItemID = cH_TrustItemID;
//var trust = BLL.HJGL_TrustManageEditService.GetCH_TrustByID(trustDetail.CH_TrustID);
//if (trust != null)
//{
// qr.ISO_ID = trust.ISO_ID;
//}
//qr.JOT_ID = trustDetail.JOT_ID;
//qr.QualityRatingId = this.QualityRatingId;
//qr.FilmNum = nextFilmNum;
//qr.SignMan = this.CurrUser.UserName;
//qr.SignDate = DateTime.Now;
//BLL.HJGL_BO_QualityRatingService.AddQualityRating(qr);
//// 在第一行新增一条数据
//Grid1.AddNewRecord(defaultObj, true);
}
}
#endregion
#region
/// <summary>
/// 关闭窗口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, EventArgs e)
{
//BindGrid();
}
#endregion
#region
/// <summary>
/// 弹出重拍编辑页面
/// </summary>
/// <returns></returns>
private string GetRemakeReasonScript(string id)
{
return Window2.GetShowReference(String.Format("RemakeReasonEdit.aspx?qualityRatingId={0}&shootMan={1}", id, this.txtShootMan.Text, "编辑 - "));
}
#endregion
#region Grid行点击事件
/// <summary>
/// Grid行点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
{
string qualityRatingId = Grid1.DataKeys[e.RowIndex][0].ToString();
if (e.CommandName == "edit")
{
SubmitQualityRating(qualityRatingId);
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("RemakeReasonEdit.aspx?QualityRatingId={0}", qualityRatingId, "编辑 - ")));
}
}
#endregion
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
if (this.rblIsFilm.SelectedValue == "0") //未拍片
{
var joints = (from x in Funs.DB.HJGL_CH_TrustItem
join y in Funs.DB.HJGL_CH_Trust on x.CH_TrustID equals y.CH_TrustID
join a in Funs.DB.HJGL_PW_JointInfo on x.JOT_ID equals a.JOT_ID
where y.BatchId == BatchId && a.ISO_ID == ISO_ID && (from z in Funs.DB.HJGL_BO_QualityRating where z.CH_TrustItemID == x.CH_TrustItemID select z).Count() == 0
&& y.CH_NDTMethod == this.NDT
orderby a.JOT_JointNo
select new { x.CH_TrustItemID, a.JOT_JointNo }).Distinct();
this.drpJointNo.DataSource = joints;
this.drpJointNo.DataBind();
Funs.FineUIPleaseSelect(this.drpJointNo);
}
else if (this.rblIsFilm.SelectedValue == "1") //已拍片
{
var joints = (from x in Funs.DB.HJGL_CH_TrustItem
join y in Funs.DB.HJGL_CH_Trust on x.CH_TrustID equals y.CH_TrustID
join a in Funs.DB.HJGL_PW_JointInfo on x.JOT_ID equals a.JOT_ID
where y.BatchId == BatchId && a.ISO_ID == ISO_ID && (from z in Funs.DB.HJGL_BO_QualityRating where z.CH_TrustItemID == x.CH_TrustItemID select z).Count() > 0
&& y.CH_NDTMethod == this.NDT
orderby a.JOT_JointNo
select new { x.CH_TrustItemID, a.JOT_JointNo }).Distinct();
this.drpJointNo.DataSource = joints;
this.drpJointNo.DataBind();
Funs.FineUIPleaseSelect(this.drpJointNo);
}
else
{
var joints = (from x in Funs.DB.HJGL_CH_TrustItem
join y in Funs.DB.HJGL_CH_Trust on x.CH_TrustID equals y.CH_TrustID
join a in Funs.DB.HJGL_PW_JointInfo on x.JOT_ID equals a.JOT_ID
where y.BatchId == BatchId && a.ISO_ID == ISO_ID
&& y.CH_NDTMethod == this.NDT
orderby a.JOT_JointNo
select new { x.CH_TrustItemID, a.JOT_JointNo }).Distinct();
this.drpJointNo.DataSource = joints;
this.drpJointNo.DataBind();
Funs.FineUIPleaseSelect(this.drpJointNo);
}
this.drpJointNo.SelectedValue = BLL.Const._Null;
this.btnNew.Hidden = true;
this.BindGrid();
}
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox2_TextChanged(object sender, EventArgs e)
{
this.btnNew.Hidden = true;
this.BindGrid();
}
/// <summary>
/// 获取焊口号
/// </summary>
/// <param name="welderId"></param>
protected string ConvertJOT_JointNo(object RepairItemRecordId)
{
if (RepairItemRecordId != null)
{
var repairItemRecord = BLL.HJGL_CH_RepairItemRecordService.GetRepairItemRecordById(RepairItemRecordId.ToString());
if (repairItemRecord != null)
{
var joint = BLL.HJGL_PW_JointInfoService.GetJointInfoByJotID(repairItemRecord.JOT_ID);
if (joint != null)
{
//return joint.JOT_JointNo + Funs.GetRepariMark(repairItemRecord.RepairMark);
return joint.JOT_JointNo + repairItemRecord.FilmNum + repairItemRecord.RepairMark;
}
}
}
return null;
}
}
}