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 加载页面 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString(); BridProjectGrid(); this.InitTreeMenu();//加载树 rblIsOk.SelectedValue = "0"; } } #endregion /// /// 绑定项目 /// public void BridProjectGrid() { GridProject.DataSource = BLL.Base_ProjectService.GetYlrqProjectListByUserId(this.CurrUser.UserId, "2"); GridProject.DataBind(); drpProject.Value = this.CurrUser.LoginProjectId; } /// /// 施工号下拉框 /// protected void drpProject_TextChanged(object sender, EventArgs e) { this.InitTreeMenu(); this.tvControlItem.SelectedNodeID = drpProject.Value; this.BindGrid(); } #region 加载树 /// /// 加载树 /// 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 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 trustLists = new List(); //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); } } /// /// 点击TreeView /// /// /// protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e) { this.BindGrid(); } #endregion #region 数据绑定 /// /// 数据绑定 /// private void BindGrid() { string strSql = string.Empty; List listStr = new List(); 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(); } } /// /// 查询 /// /// /// protected void TextBox_TextChanged(object sender, EventArgs e) { this.BindGrid(); } #endregion #region 分页排序 /// /// 页索引改变事件 /// /// /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { BindGrid(); } #region 排序 /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, GridSortEventArgs e) { BindGrid(); } #endregion /// /// 分页选择下拉改变事件 /// /// /// protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) { Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); BindGrid(); } #endregion /// /// 提交 /// 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("status"); JObject values = mergedRow.Value("values"); int rowIndex = mergedRow.Value("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("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("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("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("ResultDate").ToString())) { hardResult.ResultDate = values.Value("ResultDate"); } if (!string.IsNullOrEmpty(values.Value("Remark").ToString())) { hardResult.Remark = values.Value("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); } } } }