349 lines
17 KiB
C#
349 lines
17 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Data;
|
||
using System.Linq;
|
||
using BLL;
|
||
|
||
namespace FineUIPro.Web.WeldingProcess.TrustManage
|
||
{
|
||
public partial class SelectExpandPoint : 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.PointBatchId = Request.Params["PointBatchId"];
|
||
var pointBatch = Batch_PointBatchService.GetPointBatchById(PointBatchId);
|
||
if (pointBatch != null)
|
||
{
|
||
this.lbTitle.Text = "当前批号:" + pointBatch.PointBatchCode;
|
||
var pointBatchItemRepairs = (from x in Funs.DB.View_Batch_PointBatchItem
|
||
where x.PointBatchId == this.PointBatchId && !x.CutDate.HasValue
|
||
&& !x.RepairDate.HasValue && x.PointState == null
|
||
select x).ToList();
|
||
var pointBatchItem = (from x in Funs.DB.View_Batch_PointBatchItem
|
||
where x.PointBatchId == this.PointBatchId && !x.CutDate.HasValue
|
||
&& !x.RepairDate.HasValue && x.PointState != null
|
||
select x).ToList();
|
||
foreach (var ext in pointBatchItem)
|
||
{
|
||
var trustItem = from x in Funs.DB.Batch_BatchTrustItem
|
||
where x.PointBatchItemId == ext.PointBatchItemId
|
||
select x;
|
||
if (trustItem.Count() == 1) // 如大于1,则表示这个口之前已进过委托单,不能再选了
|
||
{
|
||
var firstBatchTrustItem = trustItem.FirstOrDefault();
|
||
if (firstBatchTrustItem != null)
|
||
{
|
||
var checkItems = from x in Funs.DB.Batch_NDEItem
|
||
where x.NDEItemID == firstBatchTrustItem.TrustBatchItemId
|
||
select x;
|
||
if (checkItems.Count() == 0) // 还未进检测单
|
||
{
|
||
pointBatchItemRepairs.Add(ext);
|
||
}
|
||
else
|
||
{
|
||
var checkItem = checkItems.FirstOrDefault(x => !x.SubmitDate.HasValue);
|
||
if (checkItem != null)
|
||
{
|
||
pointBatchItemRepairs.Add(ext);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
if (trustItem.Count() == 0) // 还未进委托单
|
||
{
|
||
pointBatchItemRepairs.Add(ext);
|
||
}
|
||
}
|
||
if (pointBatchItemRepairs.Count() > 0)
|
||
{
|
||
BindGrid(pointBatchItemRepairs);
|
||
}
|
||
|
||
// 下拉
|
||
var p = (from x in Funs.DB.Batch_PointBatchItem
|
||
join y in Funs.DB.Batch_PointBatch on x.PointBatchId equals y.PointBatchId
|
||
where y.ProjectId == CurrUser.LoginProjectId && x.RepairDate.HasValue
|
||
&& y.DetectionTypeId == pointBatch.DetectionTypeId
|
||
select new { x.PointBatchId, y.PointBatchCode }).Distinct();
|
||
drpPointBatch.DataValueField = "PointBatchId";
|
||
drpPointBatch.DataTextField = "PointBatchCode";
|
||
drpPointBatch.DataSource = p;
|
||
drpPointBatch.DataBind();
|
||
Funs.FineUIPleaseSelect(drpPointBatch);
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 数据绑定
|
||
/// <summary>
|
||
/// 数据绑定
|
||
/// </summary>
|
||
private void BindGrid(List<Model.View_Batch_PointBatchItem> pointBatchItemRepairs)
|
||
{
|
||
Grid1.DataSource = pointBatchItemRepairs.OrderBy(x=>x.PipelineCode).OrderBy(x=>x.WeldJointCode);
|
||
Grid1.DataBind();
|
||
|
||
string ids = string.Empty;
|
||
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.PointState == "2")
|
||
{
|
||
ids += pointItem.PointBatchItemId + ",";
|
||
}
|
||
else if (pointItem.PointState == "1")
|
||
{
|
||
this.Grid1.Rows[i].RowSelectable = false;
|
||
}
|
||
}
|
||
}
|
||
|
||
if (!string.IsNullOrEmpty(ids))
|
||
{
|
||
ids = ids.Substring(0, ids.Length - 1);
|
||
this.Grid1.SelectedRowIDArray = ids.Split(',');
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
protected void drpPointBatch_OnSelectedIndexChanged(object sender, EventArgs e)
|
||
{
|
||
if (drpPointBatch.SelectedValue != Const._Null)
|
||
{
|
||
var pItem = (from x in Funs.DB.Batch_PointBatchItem
|
||
join y in Funs.DB.Pipeline_WeldJoint on x.WeldJointId equals y.WeldJointId
|
||
where x.PointBatchId==drpPointBatch.SelectedValue && x.RepairDate.HasValue
|
||
select new { x.PointBatchItemId, y.WeldJointCode }).ToList();
|
||
drpPointBatchItem.DataValueField = "PointBatchItemId";
|
||
drpPointBatchItem.DataTextField = "WeldJointCode";
|
||
drpPointBatchItem.DataSource = pItem;
|
||
drpPointBatchItem.DataBind();
|
||
Funs.FineUIPleaseSelect(drpPointBatchItem);
|
||
}
|
||
}
|
||
|
||
protected void drpPointBatchItem_OnSelectedIndexChanged(object sender, EventArgs e)
|
||
{
|
||
if (drpPointBatchItem.SelectedValue != Const._Null)
|
||
{
|
||
var trustItem = from x in Funs.DB.Batch_BatchTrustItem where x.PointBatchItemId == drpPointBatchItem.SelectedValue select x;
|
||
if (trustItem.Count() > 0)
|
||
{
|
||
var trust = BLL.Batch_BatchTrustService.GetBatchTrustById(trustItem.First().TrustBatchId);//from x in Funs.DB.Batch_BatchTrust where x.TrustBatchId == trustItem.First().TrustBatchId select x;
|
||
if (trust != null)
|
||
{
|
||
txtTrustCode.Text = trust.TrustBatchCode;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
protected void txtMark_OnBlur(object sender, EventArgs e)
|
||
{
|
||
txtTrustCode.Text = txtTrustCode.Text + txtMark.Text.Trim();
|
||
}
|
||
|
||
#region 确定按钮
|
||
/// <summary>
|
||
/// 确定按钮
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void btnAccept_Click(object sender, EventArgs e)
|
||
{
|
||
Model.HJGLDB db = Funs.DB;
|
||
string[] selectedRowIDArray = Grid1.SelectedRowIDArray;
|
||
//string weldJointId = string.Empty;
|
||
//// 找最近一个返修口
|
||
//var pointItem = db.Batch_PointBatchItem.Where(x => x.PointBatchId == this.PointBatchId && x.PointState != null && x.IsCheckRepair.HasValue);
|
||
//foreach (var p in pointItem)
|
||
//{
|
||
// var j = BLL.Pipeline_WeldJointService.GetWeldJointByWeldJointId(p.WeldJointId);
|
||
// if (j.WeldJointCode.Contains("K"))
|
||
// {
|
||
// weldJointId = p.WeldJointId;
|
||
// break;
|
||
// }
|
||
//}
|
||
if (drpPointBatch.SelectedValue == Const._Null)
|
||
{
|
||
Alert.ShowInTop("请选择扩透焊口对应的批次!", MessageBoxIcon.Warning);
|
||
return;
|
||
}
|
||
if (drpPointBatchItem.SelectedValue == Const._Null)
|
||
{
|
||
Alert.ShowInTop("请选择扩透焊口对应的返修口!", MessageBoxIcon.Warning);
|
||
return;
|
||
}
|
||
|
||
if (string.IsNullOrEmpty(txtTrustCode.Text) || string.IsNullOrEmpty(txtMark.Text))
|
||
{
|
||
Alert.ShowInTop("请填写委托单号或焊口标识!", MessageBoxIcon.Warning);
|
||
return;
|
||
}
|
||
|
||
for (int i = 0; i < this.Grid1.Rows.Count; i++)
|
||
{
|
||
string pointBatchItemId = this.Grid1.Rows[i].DataKeys[0].ToString();
|
||
var pointBatchItem = Funs.DB.Batch_PointBatchItem.FirstOrDefault(x => x.PointBatchItemId == pointBatchItemId);
|
||
if (pointBatchItem != null)
|
||
{
|
||
if (selectedRowIDArray.Contains(pointBatchItemId))
|
||
{
|
||
if (pointBatchItem.PointState == null)
|
||
{
|
||
pointBatchItem.PointDate = DateTime.Now;
|
||
pointBatchItem.PointState = "2";
|
||
pointBatchItem.IsBuildTrust = false;
|
||
pointBatchItem.IsCheckRepair = false;
|
||
pointBatchItem.JointMark = txtMark.Text.Trim();
|
||
pointBatchItem.ToPointBatchItemId = drpPointBatchItem.SelectedValue;
|
||
pointBatchItem.Remark = txtRemark.Text.Trim();
|
||
if (txtTrustCode.Text.Contains(txtMark.Text.Trim()))
|
||
{
|
||
pointBatchItem.TrustBatchCode = txtTrustCode.Text.Trim();
|
||
}
|
||
else
|
||
{
|
||
pointBatchItem.TrustBatchCode = txtTrustCode.Text + txtMark.Text.Trim();
|
||
}
|
||
db.SubmitChanges(); // 更新批明细 返修日期 状态
|
||
|
||
// 更新焊口标识
|
||
var jointInfo = db.Pipeline_WeldJoint.FirstOrDefault(x => x.WeldJointId == pointBatchItem.WeldJointId);
|
||
if (jointInfo != null)
|
||
{
|
||
jointInfo.OldWeldJointCode = jointInfo.WeldJointCode;
|
||
jointInfo.WeldJointCode = jointInfo.WeldJointCode + txtMark.Text.Trim();
|
||
db.SubmitChanges();
|
||
}
|
||
|
||
#region 更新焊口标识,不用了
|
||
//int k_num = 0;
|
||
//string jot = "K1";
|
||
|
||
//Model.Pipeline_WeldJoint jointInfo = null;
|
||
//if (!String.IsNullOrEmpty(weldJointId))
|
||
//{
|
||
// jointInfo = db.Pipeline_WeldJoint.FirstOrDefault(x => x.WeldJointId == weldJointId);
|
||
//}
|
||
//else
|
||
//{
|
||
// var first = pointItem.FirstOrDefault();
|
||
// if (first != null)
|
||
// {
|
||
// jointInfo = db.Pipeline_WeldJoint.FirstOrDefault(x => x.WeldJointId == first.WeldJointId);
|
||
// }
|
||
//}
|
||
|
||
//int indexK = jointInfo.WeldJointCode.LastIndexOf("K");
|
||
//if (indexK > 0)
|
||
//{
|
||
// try
|
||
// {
|
||
// k_num = Convert.ToInt32(jointInfo.WeldJointCode.Substring(indexK + 1, 1)) + 1;
|
||
// jot = "K" + k_num.ToString();
|
||
// }
|
||
// catch { }
|
||
//}
|
||
//BLL.Batch_PointBatchService.UpdateNewKuoOrCutJointNo(pointBatchItem.PointBatchItemId, jot);
|
||
#endregion
|
||
}
|
||
}
|
||
//else
|
||
//{
|
||
// // 找到已扩透的明细ID; 找到委托单里的明细.
|
||
// if (pointBatchItem.PointState == "2")
|
||
// {
|
||
// var trust = db.Batch_BatchTrustItem.FirstOrDefault(p => p.PointBatchItemId == pointBatchItem.PointBatchItemId);
|
||
// if (trust != null)
|
||
// {
|
||
// string trustBatchId = trust.TrustBatchId;
|
||
// var checkItem = db.Batch_NDEItem.FirstOrDefault(x => x.NDEItemID == trust.TrustBatchItemId);
|
||
// if (checkItem != null)
|
||
// {
|
||
// string checkId = checkItem.NDEID;
|
||
// if (checkItem.SubmitDate == null)
|
||
// {
|
||
// // 删除检测单里明细
|
||
// Batch_NDEItemService.DeleteNDEItemByNDEItemID(checkItem.NDEItemID);
|
||
// var c = BLL.Batch_NDEItemService.GetNDEItemByNDEID(checkId);
|
||
// if (c.Count() == 0)
|
||
// {
|
||
// // 当没有明细时删除对应主表
|
||
// BLL.Batch_NDEService.DeleteNDEById(checkId);
|
||
// }
|
||
// }
|
||
// }
|
||
|
||
// if (checkItem == null || (checkItem != null && checkItem.SubmitDate == null))
|
||
// {
|
||
// // 删除委托单里明细
|
||
// Batch_BatchTrustItemService.DeleteTrustItemByTrustBatchItemId(trust.TrustBatchItemId);
|
||
// var t = BLL.Batch_BatchTrustItemService.GetBatchTrustItemByTrustBatchId(trustBatchId);
|
||
// if (t.Count() == 0)
|
||
// {
|
||
// // 当没有明细时删除对应主表
|
||
// BLL.Batch_BatchTrustService.DeleteBatchTrustById(trustBatchId);
|
||
// }
|
||
// }
|
||
// }
|
||
|
||
// pointBatchItem.PointDate = null;
|
||
// pointBatchItem.PointState = null;
|
||
// pointBatchItem.IsBuildTrust = null;
|
||
// pointBatchItem.IsCheckRepair = null;
|
||
// pointBatchItem.JointMark = null;
|
||
// pointBatchItem.ToPointBatchItemId = null;
|
||
// pointBatchItem.Remark = null;
|
||
// pointBatchItem.TrustBatchCode = null;
|
||
// db.SubmitChanges(); //更新批明细 返修日期 状态
|
||
// // 更新焊口号
|
||
// Batch_PointBatchService.CancellationJointNo(pointBatchItem.WeldJointId);
|
||
// }
|
||
//}
|
||
}
|
||
}
|
||
|
||
// 更新批 是否委托:否
|
||
var updatePointBatch = BLL.Batch_PointBatchService.GetPointBatchById(this.PointBatchId);
|
||
if (updatePointBatch != null)
|
||
{
|
||
updatePointBatch.IsTrust = false;
|
||
BLL.Batch_PointBatchService.UpdatePointBatch(updatePointBatch);
|
||
}
|
||
BLL.Sys_LogService.AddLog(BLL.Const.System_3, this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_PointManageMenuId, Const.BtnSelectResetExpand, this.PointBatchId);
|
||
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
||
}
|
||
#endregion
|
||
}
|
||
} |