391 lines
16 KiB
C#
391 lines
16 KiB
C#
using BLL;
|
|
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.TestDataManagement
|
|
{
|
|
public partial class ReworkInputTestResults : PageBase
|
|
{
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (!IsPostBack)
|
|
{
|
|
this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString();
|
|
BridProjectGrid();
|
|
|
|
this.drpNdtType.DataTextField = "Ndt_NdtCode";
|
|
this.drpNdtType.DataValueField = "Ndt_NdtCode";
|
|
this.drpNdtType.DataSource = Funs.DB.PV_TestMethod;
|
|
this.drpNdtType.DataBind();
|
|
Funs.FineUIPleaseSelect(this.drpNdtType);
|
|
|
|
this.drpState.DataTextField = "Text";
|
|
this.drpState.DataValueField = "Value";
|
|
this.drpState.DataSource = BLL.DropListService.PvCheckStatesList();
|
|
this.drpState.DataBind();
|
|
Funs.FineUIPleaseSelect(this.drpState);
|
|
|
|
this.InitTreeMenu();//加载树
|
|
this.BindGrid();
|
|
}
|
|
}
|
|
|
|
|
|
#region 加载树项目
|
|
|
|
/// <summary>
|
|
/// 绑定项目
|
|
/// </summary>
|
|
public void BridProjectGrid()
|
|
{
|
|
GridProject.DataSource = BLL.Base_ProjectService.GetYlrqProjectListByUserId(this.CurrUser.UserId, "2");
|
|
GridProject.DataBind();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 加载树
|
|
/// </summary>
|
|
private void InitTreeMenu()
|
|
{
|
|
this.tvControlItem.Nodes.Clear();
|
|
TreeNode rootNode = new TreeNode();
|
|
rootNode.Text = "项目";
|
|
rootNode.ToolTip = "项目";
|
|
rootNode.NodeID = "0";
|
|
rootNode.Expanded = true;
|
|
this.tvControlItem.Nodes.Add(rootNode);
|
|
|
|
List<Model.Base_Project> projects = BLL.Base_ProjectService.GetOnProjectListByUserId(this.CurrUser.UserId, "2");
|
|
if (!string.IsNullOrEmpty(drpProject.Value))
|
|
{
|
|
projects = projects.Where(e => e.ProjectId == this.drpProject.Value).ToList();
|
|
}
|
|
foreach (var item in projects)
|
|
{
|
|
TreeNode rootProjectNode = new TreeNode();//定义根节点
|
|
rootProjectNode.Text = $"{item.ProjectCode},{item.EquipmentName},{item.ProductNum}";
|
|
rootProjectNode.NodeID = item.ProjectId;
|
|
rootProjectNode.EnableClickEvent = true;
|
|
rootProjectNode.Expanded = true;
|
|
rootProjectNode.ToolTip = item.ProjectName;
|
|
rootNode.Nodes.Add(rootProjectNode);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 点击TreeView
|
|
/// <summary>
|
|
/// 点击TreeView
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
|
|
{
|
|
HttpCookie projectCookie = new HttpCookie("SelectedProject");
|
|
projectCookie["projectId"] = tvControlItem.SelectedNodeID;
|
|
projectCookie.Expires = DateTime.Now.AddMonths(1);
|
|
Response.Cookies.Add(projectCookie);
|
|
this.BindGrid();
|
|
}
|
|
#endregion
|
|
|
|
#region 数据绑定
|
|
/// <summary>
|
|
/// 数据绑定
|
|
/// </summary>
|
|
private void BindGrid()
|
|
{
|
|
string strSql = @"select a.ReworkId,c.ProjectId,a.RepairItemRecordId,e.UnitName,c.ProjectCode,a.EntrustCode,b.FilmNum,h.RepairMark,h.DefectNature,g.WeldingCode,a.NdtCode,a.DetectionStatus,a.EntrustPeople,d.UserName as EntrustPeopleName,a.EntrustData,a.FeedbackPeople,a.FeedbackData,f.EquipmentName,(CASE WHEN a.DetectionStatus='3' OR a.DetectionStatus='4' then (SELECT STUFF(( SELECT ',' + qua.FilmNum FROM dbo.PV_BO_QualityRating qua WHERE (qua.Remake=1 OR qua.IsPass='不合格') AND qua.MethodId=a.ReworkId ORDER BY qua.FilmNum FOR XML PATH('')), 1, 1, '')) ELSE '' END) AS FilmNums,a.ShootMan,UnableCheck,UnableCheckReason,b.SerialNumber from PV_ReworkManagementMethod as a left join PV_CH_RepairItemRecord as b on a.RepairItemRecordId=b.RepairItemRecordId left join Base_Project as c on c.ProjectId=b.ProjectId left join Sys_User as d on d.UserId=a.EntrustPeople left join dbo.HJGL_BS_Equipment AS f ON f.EquipmentId=a.EquipmentId left join PV_WeldInformation as g on g.WeldingId=a.WeldingId left join View_Common_Project_UnitList as e on e.UnitId=g.UnitId and e.ProjectId=b.ProjectId left join PV_CH_RepairItemRecord as h on h.RepairItemRecordId=a.RepairItemRecordId where a.EntrustStatus=1 ";
|
|
List<SqlParameter> listStr = new List<SqlParameter>();
|
|
if (!string.IsNullOrEmpty(this.tvControlItem.SelectedNodeID))
|
|
{
|
|
strSql += " AND c.ProjectId = @ProjectId";
|
|
listStr.Add(new SqlParameter("@ProjectId", this.tvControlItem.SelectedNodeID));
|
|
}
|
|
else
|
|
{
|
|
if (this.GetCookiesProjectId != string.Empty)
|
|
{
|
|
strSql += " AND c.ProjectId = @ProjectId";
|
|
listStr.Add(new SqlParameter("@ProjectId", this.GetCookiesProjectId));
|
|
}
|
|
else
|
|
{
|
|
strSql += " AND c.ProjectId = @ProjectId";
|
|
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
|
|
}
|
|
}
|
|
//委托单号
|
|
if (!string.IsNullOrEmpty(this.txtEntrustCode.Text.Trim()))
|
|
{
|
|
strSql += " AND a.EntrustCode LIKE @EntrustCode";
|
|
listStr.Add(new SqlParameter("@EntrustCode", "%" + this.txtEntrustCode.Text.Trim() + "%"));
|
|
}
|
|
//检测方法
|
|
if (this.drpNdtType.SelectedValue != "null")
|
|
{
|
|
strSql += " AND a.NdtCode = @NdtType";
|
|
listStr.Add(new SqlParameter("@NdtType", this.drpNdtType.SelectedValue));
|
|
}
|
|
//检测状态
|
|
if (this.drpState.SelectedValue != "null")
|
|
{
|
|
strSql += " AND a.DetectionStatus = @DetectionStatus";
|
|
listStr.Add(new SqlParameter("@DetectionStatus", this.drpState.SelectedValue));
|
|
}
|
|
else
|
|
{
|
|
strSql += " AND a.DetectionStatus <> '2' ";
|
|
}
|
|
//焊缝编号
|
|
if (!string.IsNullOrEmpty(this.txtWeldingCode.Text.Trim()))
|
|
{
|
|
strSql += " AND g.WeldingCode LIKE @WeldingCode";
|
|
listStr.Add(new SqlParameter("@WeldingCode", "%" + this.txtWeldingCode.Text.Trim() + "%"));
|
|
}
|
|
|
|
////是否扩口
|
|
//if (this.ckbIsExp.Checked)
|
|
//{
|
|
// strSql += " AND BatchDetail.PointType = @PointType";
|
|
// listStr.Add(new SqlParameter("@PointType", "2"));
|
|
//}
|
|
//是否拍片
|
|
//if (this.ckbIsFilm.Checked)
|
|
//{
|
|
// strSql += " AND (select count(*) from dbo.HJGL_BO_QualityRating qua where qua.CH_TrustItemID =trustDetail.CH_TrustItemID)>0";
|
|
//}
|
|
SqlParameter[] parameter = listStr.ToArray();
|
|
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
|
// 2.获取当前分页数据
|
|
Grid1.RecordCount = tb.Rows.Count;
|
|
tb = GetFilteredTable(Grid1.FilteredData, tb);
|
|
var table = this.GetPagedDataTable(Grid1, tb);
|
|
Grid1.DataSource = table;
|
|
Grid1.DataBind();
|
|
for (int i = 0; i < this.Grid1.Rows.Count; i++)
|
|
{
|
|
string reworkId = Grid1.DataKeys[i][0].ToString();
|
|
System.Web.UI.WebControls.RadioButtonList cblCheckState = (System.Web.UI.WebControls.RadioButtonList)(this.Grid1.Rows[i].FindControl("cblCheckState"));//检测状态
|
|
cblCheckState.Items.AddRange(BLL.DropListService.PvCheckStatesList());
|
|
var itemDt = tb.Select("ReworkId='" + reworkId + "'");
|
|
if (itemDt.Count() > 0)
|
|
{
|
|
for (int c = 0; c < cblCheckState.Items.Count; c++)
|
|
{
|
|
if (cblCheckState.Items[c].Value == itemDt[0]["DetectionStatus"].ToString())
|
|
{
|
|
cblCheckState.Items[c].Selected = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
//if (string.IsNullOrEmpty(this.Grid1.Rows[i].Values[12].ToString()))
|
|
//{
|
|
// this.Grid1.Rows[i].Values[12] = this.CurrUser.UserName;
|
|
//}
|
|
//if (string.IsNullOrEmpty(this.Grid1.Rows[i].Values[14].ToString()))
|
|
//{
|
|
// this.Grid1.Rows[i].Values[14] = string.Format("{0:yyyy-MM-dd HH:mm}", DateTime.Now);
|
|
//}
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 分页排序
|
|
|
|
/// <summary>
|
|
/// 页索引改变事件
|
|
/// </summary>
|
|
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
|
|
{
|
|
BindGrid();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 排序
|
|
/// </summary>
|
|
protected void Grid1_Sort(object sender, GridSortEventArgs e)
|
|
{
|
|
BindGrid();
|
|
}
|
|
|
|
/// <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
|
|
|
|
#region 查询
|
|
|
|
/// <summary>
|
|
/// 施工号下拉框
|
|
/// </summary>
|
|
protected void drpProject_TextChanged(object sender, EventArgs e)
|
|
{
|
|
this.InitTreeMenu();
|
|
this.tvControlItem.SelectedNodeID = drpProject.Value;
|
|
this.BindGrid();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 委托单号
|
|
/// </summary>
|
|
protected void TextBox_TextChanged(object sender, EventArgs e)
|
|
{
|
|
this.BindGrid();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 检测方法
|
|
/// </summary>
|
|
protected void drpNdtType_OnSelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
this.BindGrid();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 检测状态
|
|
/// </summary>
|
|
protected void drpState_OnSelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
this.BindGrid();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 焊缝编号
|
|
/// </summary>
|
|
protected void txtWeldingCode_TextChanged(object sender, EventArgs e)
|
|
{
|
|
this.BindGrid();
|
|
}
|
|
|
|
//protected void ckbIsExp_OnCheckedChanged(object sender, EventArgs e)
|
|
//{
|
|
// this.BindGrid();
|
|
//}
|
|
|
|
//protected void ckbIsFilm_OnCheckedChanged(object sender, EventArgs e)
|
|
//{
|
|
// this.BindGrid();
|
|
//}
|
|
|
|
#endregion
|
|
|
|
/// <summary>
|
|
/// 提交
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnSave_Click(object sender, EventArgs e)
|
|
{
|
|
if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.PV_ReworkInputTestResults, BLL.Const.BtnSubmit))
|
|
{
|
|
JArray MergedData = Grid1.GetMergedData();
|
|
foreach (JObject modifiedRow in MergedData)
|
|
{
|
|
int index = modifiedRow.Value<int>("index");
|
|
JObject values = modifiedRow.Value<JObject>("values");
|
|
//反馈人
|
|
string feedbackPeople = values.Value<string>("FeedbackPeople");
|
|
//反馈日期
|
|
string feedbackData = values.Value<string>("FeedbackData");
|
|
//主键
|
|
string itemReworkId = Grid1.DataKeys[index][0].ToString();
|
|
//无法检测
|
|
bool unableCheck = Convert.ToBoolean(values.Value<string>("UnableCheck"));
|
|
//无法检测检测原因
|
|
string unableCheckReason = values.Value<string>("UnableCheckReason");
|
|
//检测状态
|
|
System.Web.UI.WebControls.RadioButtonList cblCheckState = (System.Web.UI.WebControls.RadioButtonList)(this.Grid1.Rows[index].FindControl("cblCheckState"));
|
|
//获取修改的记录
|
|
var methodModel = Funs.DB.PV_ReworkManagementMethod.FirstOrDefault(p => p.ReworkId == itemReworkId);
|
|
if (methodModel != null)
|
|
{
|
|
if (cblCheckState.SelectedValue.Trim() != "1")
|
|
{
|
|
if (methodModel.DetectionStatus != 1 && methodModel.DetectionStatus.ToString() != cblCheckState.SelectedValue) //改变状态,并且原状态非待检测状态
|
|
{
|
|
methodModel.DetectionStatus = int.Parse(cblCheckState.SelectedValue);
|
|
methodModel.FeedbackPeople = this.CurrUser.UserName;
|
|
methodModel.FeedbackData = DateTime.Now;
|
|
}
|
|
else
|
|
{
|
|
methodModel.DetectionStatus = int.Parse(cblCheckState.SelectedValue);
|
|
methodModel.FeedbackPeople = !string.IsNullOrEmpty(feedbackPeople) ? feedbackPeople : this.CurrUser.UserName;
|
|
methodModel.FeedbackData = !string.IsNullOrEmpty(feedbackData) ? Convert.ToDateTime(feedbackData) : DateTime.Now;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
methodModel.FeedbackData = null;
|
|
methodModel.FeedbackPeople = String.Empty;
|
|
}
|
|
methodModel.UnableCheck = unableCheck;
|
|
if (!string.IsNullOrEmpty(unableCheckReason))
|
|
{
|
|
methodModel.UnableCheckReason = unableCheckReason;
|
|
}
|
|
|
|
Funs.DB.SubmitChanges();
|
|
}
|
|
}
|
|
|
|
BindGrid();
|
|
}
|
|
else
|
|
{
|
|
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
|
|
}
|
|
}
|
|
|
|
#region 查看质量等级评定
|
|
/// <summary>
|
|
/// 查看质量等级评定
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnSee_Click(object sender, EventArgs e)
|
|
{
|
|
if (Grid1.SelectedRowIndexArray.Length == 0)
|
|
{
|
|
Alert.ShowInTop("请选择一条信息", MessageBoxIcon.Information);
|
|
return;
|
|
}
|
|
string reworkId = Grid1.SelectedRowID;
|
|
if (!string.IsNullOrEmpty(reworkId))
|
|
{
|
|
var methodModel = Funs.DB.PV_ReworkManagementMethod.FirstOrDefault(p => p.ReworkId == reworkId);
|
|
if (methodModel != null)
|
|
{
|
|
var entrustModel = Funs.DB.PV_EntrustRecord.FirstOrDefault(p => p.Id == methodModel.EntrustId);
|
|
if (entrustModel != null)
|
|
{
|
|
if (!string.IsNullOrEmpty(entrustModel.NdtId))
|
|
{
|
|
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ReworkQualityRatingView.aspx?reworkId={0}&ndtId={1}", reworkId, entrustModel.NdtId, "编辑 - ")));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
}
|
|
} |