ZHJA_HJGL/HJGL_ZH/FineUIPro.Web/YLRQ/HardProessManage/HardProessResult.aspx.cs

287 lines
11 KiB
C#

using BLL;
using Model;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.YLRQ.HardProessManage
{
public partial class HardProessResult : PageBase
{
#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();
BridProjectGrid();
this.InitTreeMenu();//加载树
rblIsOk.SelectedValue = "0";
}
}
#endregion
/// <summary>
/// 绑定项目
/// </summary>
public void BridProjectGrid()
{
GridProject.DataSource = BLL.Base_ProjectService.GetYlrqProjectListByUserId(this.CurrUser.UserId, "2");
GridProject.DataBind();
drpProject.Value = this.CurrUser.LoginProjectId;
}
/// <summary>
/// 施工号下拉框
/// </summary>
protected void drpProject_TextChanged(object sender, EventArgs e)
{
this.InitTreeMenu();
this.tvControlItem.SelectedNodeID = drpProject.Value;
this.BindGrid();
}
#region
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu()
{
this.tvControlItem.Nodes.Clear();
TreeNode rootNode = new TreeNode();
rootNode.Text = "项目";
rootNode.NodeID = "0";
rootNode.Expanded = true;
rootNode.ToolTip = "红色表示施工号下存在未打印的硬度委托记录";
rootNode.EnableClickEvent = true;
this.tvControlItem.Nodes.Add(rootNode);
List<Base_Project> projects = Base_ProjectService.GetOnProjectListByUserId(this.CurrUser.UserId, "2");
if (this.drpProject.Values.Length > 0)
{
projects = projects.Where(x => this.drpProject.Values.Contains(x.ProjectId)).ToList();
}
//List<PV_View_CH_HotResultItem> trustLists = new List<PV_View_CH_HotResultItem>();
//if (this.rblPrint.SelectedValue == "2") //全部
//{
// trustLists = Funs.DB.PV_View_CH_HotResultItem.ToList();
//}
//else if (this.rblPrint.SelectedValue == "1") //已合格
//{
// trustLists = Funs.DB.PV_View_CH_HotResultItem.Where(p => p.HotIsOK == true).ToList();
//}
//else if (this.rblPrint.SelectedValue == "0") //未合格
//{
// trustLists = Funs.DB.PV_View_CH_HotResultItem.Where(p => (p.HotIsOK == null || p.HotIsOK == false)).ToList();
//}
foreach (var item in projects)
{
TreeNode rootProjectNode = new TreeNode();//定义根节点
rootProjectNode.Text = item.ProjectCode;
rootProjectNode.NodeID = item.ProjectId;
rootProjectNode.EnableClickEvent = true;
rootProjectNode.Expanded = true;
rootProjectNode.ToolTip = item.ProjectName;
rootNode.Nodes.Add(rootProjectNode);
}
}
/// <summary>
/// 点击TreeView
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 数据绑定
/// </summary>
private void BindGrid()
{
string strSql = string.Empty;
List<SqlParameter> listStr = new List<SqlParameter>();
string projectIds = Base_ProjectService.GetStrOnProjectIds(this.CurrUser.UserId, "2");
if (this.tvControlItem.SelectedNode != null)
{
strSql = @"SELECT * FROM dbo.PV_View_CH_HardResultItem AS Trust WHERE Trust.ProjectId= @ProjectId ";
listStr.Add(new SqlParameter("@ProjectId", this.tvControlItem.SelectedNodeID));
if (!string.IsNullOrEmpty(this.txtWeldingCode.Text.Trim()))
{
strSql += @" and Trust.WeldingCode like '%'+@WeldingCode+'%' ";
listStr.Add(new SqlParameter("@WeldingCode", this.txtWeldingCode.Text.Trim()));
}
//是否反馈
if (rblIsOk.SelectedValue == "0")
{
strSql += " and IsOK is null ";
}
else
{
strSql += " and IsOK is not null ";
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
// 2.获取当前分页数据
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
}
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 页索引改变事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid();
}
#region
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
BindGrid();
}
#endregion
/// <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
/// <summary>
/// 提交
/// </summary>
protected void btnSave_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.PV_HardProessResult, Const.BtnSubmit))
{
JArray mergedData = Grid1.GetMergedData();
foreach (JObject mergedRow in mergedData)
{
string status = mergedRow.Value<string>("status");
JObject values = mergedRow.Value<JObject>("values");
int rowIndex = mergedRow.Value<int>("index");
var hardProessResultId = Grid1.DataKeys[rowIndex][0].ToString();
var hotId = Grid1.DataKeys[rowIndex][1].ToString();
var weldingCode = Grid1.DataKeys[rowIndex][2].ToString();
var hardResult = Funs.DB.PV_CH_HardProessResult.FirstOrDefault(p => p.HardProessResultId == hardProessResultId);
if (hardResult != null)
{
var hotWeld = Funs.DB.PV_View_HotWeldInformation.FirstOrDefault(p => p.HotId == hardResult.HotId);
if (hotWeld == null) continue;
if (values.Value<bool>("IsOK2"))
{
if (Funs.DB.PV_CH_AgainHotInfo.Count(p => p.WeldingId == hotWeld.WeldingId && p.IsHotProessTrust == false) == 0)
{
hardResult.IsOK = 0;
var again = new PV_CH_AgainHotInfo();
again.AgainId = Guid.NewGuid().ToString();
again.ProjectId = this.tvControlItem.SelectedNodeID;
again.WeldingId = hotWeld.WeldingId;
again.TrustType = 2;
again.RepairNum = Funs.DB.PV_CH_AgainHotInfo.Count(p => p.WeldingId == hotWeld.WeldingId) + 1;
again.IsHotProessTrust = false;
Funs.DB.PV_CH_AgainHotInfo.InsertOnSubmit(again);
Funs.DB.SubmitChanges();
}
}
if (values.Value<bool>("IsOK1"))
{
hardResult.IsOK = 1;
var again = Funs.DB.PV_CH_AgainHotInfo.FirstOrDefault(p => p.WeldingId == hotWeld.WeldingId && p.IsHotProessTrust == false);
if (again != null)
{
again.IsHotProessTrust = true;
Funs.DB.SubmitChanges();
}
}
if (values.Value<bool>("IsOK3"))
{
hardResult.IsOK = 2;
var again = Funs.DB.PV_CH_AgainHotInfo.FirstOrDefault(p => p.WeldingId == hotWeld.WeldingId && p.IsHotProessTrust == false);
if (again != null)
{
again.IsHotProessTrust = true;
Funs.DB.SubmitChanges();
}
}
if (!string.IsNullOrEmpty(values.Value<string>("ResultDate").ToString()))
{
hardResult.ResultDate = values.Value<DateTime>("ResultDate");
}
if (!string.IsNullOrEmpty(values.Value<string>("Remark").ToString()))
{
hardResult.Remark = values.Value<string>("Remark");
}
//回写焊缝信息表
var weldInfo = Funs.DB.PV_WeldInformation.FirstOrDefault(p => p.WeldingCode == weldingCode);
if (weldInfo != null)
{
weldInfo.HardProessResultOK = hardResult.IsOK == 1 ? true : false;
weldInfo.HardResultDate = hardResult.ResultDate;
}
}
Funs.DB.SubmitChanges();
}
ShowNotify("提交成功!", MessageBoxIcon.Success);
}
else
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
}
}