2024-05-08 17:17:11 +08:00
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.EntrustedManagement
{
public partial class WeldingConfirmation : PageBase
{
protected void Page_Load ( object sender , EventArgs e )
{
if ( ! IsPostBack )
{
hidNowUser . Text = CurrUser . UserId ;
BridProjectGrid ( ) ;
BindGrid ( ) ;
}
}
#region 绑 定 数 据
/// <summary>
/// 绑定项目
/// </summary>
public void BridProjectGrid ( )
{
GridProject . DataSource = BLL . Base_ProjectService . GetYlrqProjectListByUserId ( this . CurrUser . UserId , "2" ) ;
GridProject . DataBind ( ) ;
drpProject . Value = this . CurrUser . LoginProjectId ;
}
/// <summary>
/// 绑定数据
/// </summary>
public void BindGrid ( )
{
if ( string . IsNullOrEmpty ( drpProject . Value ) )
{
Grid1 . DataSource = null ;
Grid1 . DataBind ( ) ;
return ;
}
string strSql = @"select a.WeldingId,a.ProjectId,a.WeldingCode,a.TextureMaterial1,c.STE_Code as TextureMaterial1Name,a.WeldLength,a.Thickness,(select a.pkidStr from (SELECT STUFF(( SELECT ',' +convert(VARCHAR, WED_Name) FROM (select Welder.WED_Name from HJGL_BS_Welder as Welder where Welder.WED_ID in (select Id from StrToTable(a.BackingWelderId)))t FOR XML PATH('')), 1, 1, '') AS pkidStr) a)+','+(select a.pkidStr from (SELECT STUFF(( SELECT ',' +convert(VARCHAR, WED_Name) FROM (select Welder.WED_Name from HJGL_BS_Welder as Welder where Welder.WED_ID in (select Id from StrToTable(a.CoverWelderId)))t FOR XML PATH('')), 1, 1, '') AS pkidStr) a) as WelderNo,a.QualifiedStatus,a.QualifiedDate,a.QualifiedClerkId,a.SortField from PV_WeldInformation as a left join HJGL_BS_Steel as c on a.TextureMaterial1=c.STE_ID where a.ProjectId=@ProjectId and a.Confirmation=1" ;
List < SqlParameter > listStr = new List < SqlParameter > ( ) ;
listStr . Add ( new SqlParameter ( "@ProjectId" , drpProject . Value ) ) ;
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>
protected void Window1_Close ( object sender , WindowCloseEventArgs e )
{
this . BindGrid ( ) ;
}
/// <summary>
/// 绑定数据
/// </summary>
public void BindGrid1 ( string weldingId )
{
var glyUser = Funs . DB . Sys_User . FirstOrDefault ( p = > p . UserId = = Const . GlyId ) ;
var pvdt = Funs . DB . PV_DetectionTime ;
string strSql = @"select a.MethodId,a.NdtCode,a.WeldingId,a.EntrustStatus,a.FilmingLocation,a.Remarks,a.EntrustData,a.DetectionStatus,a.DetectionTimeId,b.DetectionTime,c.UserId as EntrustPeople,c.UserName as EntrustPeopleName,d.ProjectId from PV_ManagementMethod as a left join PV_DetectionTime as b on a.DetectionTimeId=b.Id left join Sys_User as c on c.UserId=a.EntrustPeople left join PV_WeldInformation as d on d.WeldingId=a.WeldingId where 1=1 and a.WeldingId=@WeldingId" ;
List < SqlParameter > listStr = new List < SqlParameter > ( ) ;
listStr . Add ( new SqlParameter ( "@WeldingId" , weldingId ) ) ;
SqlParameter [ ] parameter = listStr . ToArray ( ) ;
DataTable dt = SQLHelper . GetDataTableRunText ( strSql , parameter ) ;
// 2.获取当前分页数据
Grid2 . DataSource = dt ;
Grid2 . DataBind ( ) ;
for ( int i = 0 ; i < Grid2 . Rows . Count ; i + + )
{
//待检测
CheckBoxField State1 = ( CheckBoxField ) Grid2 . FindColumn ( "State1" ) ;
//检测合格
CheckBoxField State2 = ( CheckBoxField ) Grid2 . FindColumn ( "State2" ) ;
//待重拍
CheckBoxField State3 = ( CheckBoxField ) Grid2 . FindColumn ( "State3" ) ;
//待返修
CheckBoxField State4 = ( CheckBoxField ) Grid2 . FindColumn ( "State4" ) ;
if ( dt . Rows [ i ] [ "DetectionStatus" ] ! = null )
{
var detectionStatus = dt . Rows [ i ] [ "DetectionStatus" ] . ToString ( ) ;
if ( detectionStatus = = "1" )
{
State1 . SetCheckedState ( i , true ) ;
}
else if ( detectionStatus = = "2" )
{
State2 . SetCheckedState ( i , true ) ;
}
else if ( detectionStatus = = "3" )
{
State3 . SetCheckedState ( i , true ) ;
}
else if ( detectionStatus = = "4" )
{
State4 . SetCheckedState ( i , true ) ;
}
}
//检测时机
DropDownList ddlDetectionTime = Grid2 . FindColumn ( "DetectionTimeId" ) . FindControl ( "ddlDetectionTime" ) as DropDownList ;
ddlDetectionTime . DataTextField = "DetectionTime" ;
ddlDetectionTime . DataValueField = "Id" ;
ddlDetectionTime . DataSource = pvdt ;
ddlDetectionTime . DataBind ( ) ;
//委托人
var projectId = dt . Rows [ i ] [ "ProjectId" ] . ToString ( ) ;
var userList = Funs . DB . View_Common_Project_UserList . Where ( p = > p . ProjectId = = projectId ) . ToList ( ) ;
if ( glyUser ! = null )
{
userList . Add ( new View_Common_Project_UserList ( )
{
ProjectUserId = glyUser . UserId ,
UserId = glyUser . UserId ,
ProjectId = drpProject . Value ,
RoleId = glyUser . RoleId ,
Account = glyUser . Account ,
UserName = glyUser . UserName ,
UserCode = glyUser . UserCode ,
} ) ;
}
DropDownList ddlEntrustPeople = Grid2 . FindColumn ( "EntrustPeople" ) . FindControl ( "ddlEntrustPeople" ) as DropDownList ;
ddlEntrustPeople . DataTextField = "UserName" ;
ddlEntrustPeople . DataValueField = "UserId" ;
ddlEntrustPeople . DataSource = userList ;
ddlEntrustPeople . DataBind ( ) ;
if ( userList ! = null )
{
hidNowUser . Text = userList . Count ( p = > p . UserId = = CurrUser . UserId ) > 0 ? CurrUser . UserId : userList . FirstOrDefault ( ) . UserId ;
}
}
}
/// <summary>
/// 施工号下拉框
/// </summary>
protected void drpProject_TextChanged ( object sender , EventArgs e )
{
BindGrid ( ) ;
}
#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>
protected void ddlPageSize_SelectedIndexChanged ( object sender , EventArgs e )
{
Grid1 . PageSize = Convert . ToInt32 ( ddlPageSize . SelectedValue ) ;
BindGrid ( ) ;
}
#endregion
#region 按 钮 操 作
/// <summary>
/// 点击行事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowClick ( object sender , GridRowClickEventArgs e )
{
if ( ! string . IsNullOrEmpty ( this . Grid1 . SelectedRowID ) )
{
BindGrid1 ( this . Grid1 . SelectedRowID ) ;
}
}
/// <summary>
/// 提交
/// </summary>
protected void btnSubmit_Click ( object sender , EventArgs e )
{
try
{
if ( CommonService . GetAllButtonPowerList ( this . CurrUser . LoginProjectId , this . CurrUser . UserId , Const . PV_WeldingConfirmation , Const . BtnSave ) )
{
var weldingId = this . Grid1 . SelectedRowID ;
var weldInfo = Funs . DB . PV_WeldInformation . FirstOrDefault ( p = > p . WeldingId = = weldingId ) ;
if ( weldInfo = = null )
{
Alert . ShowInTop ( "传递焊缝主键存在错误!" , MessageBoxIcon . Warning ) ;
return ;
}
if ( weldInfo . QualifiedStatus ! = 1 )
{
Alert . ShowInTop ( "检验合格未勾选,请勾选检合格!" , MessageBoxIcon . Warning ) ;
return ;
}
//获取检测标准列表
var testMethods = Funs . DB . PV_TestMethod . Where ( p = > p . Ndt_ProjectSoft = = "4" ) ;
var manageMethods = Funs . DB . PV_ManagementMethod . Where ( p = > p . WeldingId = = weldingId ) . ToList ( ) ;
JArray mergedData = Grid2 . GetMergedData ( ) ;
foreach ( JObject mergedRow in mergedData )
{
string status = mergedRow . Value < string > ( "status" ) ;
JObject values = mergedRow . Value < JObject > ( "values" ) ;
int i = mergedRow . Value < int > ( "index" ) ;
var manageMethod = manageMethods . FirstOrDefault ( p = > p . MethodId = = Grid2 . DataKeys [ i ] [ 0 ] . ToString ( ) ) ;
if ( manageMethod = = null ) continue ;
if ( manageMethod . DetectionStatus = = 2 | | manageMethod . DetectionStatus = = 3 | | manageMethod . DetectionStatus = = 4 ) continue ;
//筛选当前检测方法
var testMethod = testMethods . FirstOrDefault ( p = > p . Ndt_Id = = manageMethod . NdtId ) ;
if ( ! string . IsNullOrEmpty ( values . Value < string > ( "EntrustStatus" ) ) )
{
manageMethod . EntrustStatus = values . Value < int > ( "EntrustStatus" ) ;
}
else
{
manageMethod . EntrustStatus = 0 ;
}
if ( manageMethod . EntrustStatus = = 1 )
{
//检测时机主键
manageMethod . DetectionTimeId = ! string . IsNullOrWhiteSpace ( values . Value < string > ( "DetectionTimeId" ) ) ? values . Value < string > ( "DetectionTimeId" ) : manageMethod . DetectionTimeId ;
//委托人
manageMethod . EntrustPeople = ! string . IsNullOrWhiteSpace ( values . Value < string > ( "EntrustPeople" ) ) ? values . Value < string > ( "EntrustPeople" ) : ( string . IsNullOrWhiteSpace ( manageMethod . EntrustPeople ) ? CurrUser . UserId : manageMethod . EntrustPeople ) ;
//委托时间
manageMethod . EntrustData = ! string . IsNullOrWhiteSpace ( values . Value < string > ( "EntrustData" ) ) ? values . Value < DateTime > ( "EntrustData" ) : DateTime . Parse ( DateTime . Now . ToString ( "yyyy-MM-dd" ) ) ;
//判断委托单是否生成
var entrustRecord = Funs . DB . PV_EntrustRecord . FirstOrDefault ( p = > p . ProjectId = = weldInfo . ProjectId & & p . EntrustData = = manageMethod . EntrustData & & p . NdtId = = manageMethod . NdtId & & p . WmeId = = weldInfo . WmeId & & p . GrooveType = = weldInfo . GrooveType & & p . TestStandardId = = testMethod . Ndt_TestStandardId ) ;
if ( entrustRecord ! = null )
{
manageMethod . EntrustCode = string . Format ( "{0}_{1}_{2}" , manageMethod . EntrustData . Value . ToString ( "yyyy-MM-dd" ) , manageMethod . NdtCode , string . Format ( "{0:D3}" , entrustRecord . EntrustNo ) ) ;
manageMethod . EntrustId = entrustRecord . Id ;
}
else
{
var entrustNo = Funs . DB . PV_EntrustRecord . Count ( p = > p . EntrustData = = manageMethod . EntrustData & & p . NdtId = = manageMethod . NdtId ) + 1 ;
manageMethod . EntrustCode = string . Format ( "{0}_{1}_{2}" , manageMethod . EntrustData . Value . ToString ( "yyyy-MM-dd" ) , manageMethod . NdtCode , string . Format ( "{0:D3}" , entrustNo ) ) ;
PV_EntrustRecord entrustModel = new PV_EntrustRecord ( ) ;
entrustModel . Id = Guid . NewGuid ( ) . ToString ( ) ;
entrustModel . ProjectId = weldInfo . ProjectId ; //施工号ID
entrustModel . EntrustData = manageMethod . EntrustData ; //委托日期
entrustModel . NdtId = manageMethod . NdtId ; //检测方法ID
entrustModel . WmeId = weldInfo . WmeId ; //焊接方法ID
entrustModel . GrooveType = weldInfo . GrooveType ; //坡口形式ID
entrustModel . TestStandardId = testMethod . Ndt_TestStandardId ; //检测标准ID
entrustModel . EntrustType = 1 ; //1:焊缝委托单 2:返修焊口委托单
entrustModel . EntrustNo = entrustNo ;
entrustModel . EntrustCode = manageMethod . EntrustCode ;
entrustModel . CreateId = CurrUser . Account ;
entrustModel . CreateTime = DateTime . Now ;
Funs . DB . PV_EntrustRecord . InsertOnSubmit ( entrustModel ) ;
manageMethod . EntrustId = entrustModel . Id ;
2026-02-10 15:55:39 +08:00
// 回写焊缝信息
if ( manageMethod . NdtCode = = "RT" )
{
weldInfo . RT_TrustDate = entrustModel . EntrustData ;
weldInfo . RT_States = "待检测" ;
weldInfo . RT_TrustCode = entrustModel . EntrustCode ;
}
if ( manageMethod . NdtCode = = "PT" )
{
weldInfo . PT_TrustDate = entrustModel . EntrustData ;
weldInfo . PT_States = "待检测" ;
weldInfo . PT_TrustCode = entrustModel . EntrustCode ;
}
if ( manageMethod . NdtCode = = "UT" )
{
weldInfo . UT_TrustDate = entrustModel . EntrustData ;
weldInfo . UT_States = "待检测" ;
weldInfo . UT_TrustCode = entrustModel . EntrustCode ;
}
if ( manageMethod . NdtCode = = "PAUT" )
{
weldInfo . PAUT_TrustDate = entrustModel . EntrustData ;
weldInfo . PAUT_States = "待检测" ;
weldInfo . PAUT_TrustCode = entrustModel . EntrustCode ;
}
if ( manageMethod . NdtCode = = "TOFD" )
{
weldInfo . TOFD_TrustDate = entrustModel . EntrustData ;
weldInfo . TOFD_States = "待检测" ;
weldInfo . TOFD_TrustCode = entrustModel . EntrustCode ;
}
if ( manageMethod . NdtCode = = "MT" )
{
weldInfo . MT_TrustDate = entrustModel . EntrustData ;
weldInfo . MT_States = "待检测" ;
weldInfo . MT_TrustCode = entrustModel . EntrustCode ;
}
Funs . DB . SubmitChanges ( ) ;
2024-05-08 17:17:11 +08:00
}
//检测状态
manageMethod . DetectionStatus = 1 ;
}
else
{
//检测状态
manageMethod . DetectionStatus = null ;
//委托时间
manageMethod . EntrustData = null ;
//是否委托
manageMethod . EntrustStatus = null ;
//委托单号主键
manageMethod . EntrustId = string . Empty ;
//委托单号
manageMethod . EntrustCode = string . Empty ;
//委托人
manageMethod . EntrustPeople = string . Empty ;
}
manageMethod . CreateId = CurrUser . Account ;
manageMethod . CreateTime = DateTime . Now ;
Funs . DB . SubmitChanges ( ) ;
}
#region 注 释
////修改键值集合
//Dictionary<int, Dictionary<string, object>> modifiedDict = Grid2.GetModifiedDict();
//for (int i = 0; i < Grid2.Rows.Count; i++)
//{
// var manageMethod = manageMethods.FirstOrDefault(p => p.MethodId == Grid2.DataKeys[i][0].ToString());
// if (manageMethod == null) continue;
// if (manageMethod.DetectionStatus == 2 || manageMethod.DetectionStatus == 3 || manageMethod.DetectionStatus == 4) continue;
// //筛选当前检测方法
// var testMethod = testMethods.FirstOrDefault(p => p.Ndt_Id == manageMethod.NdtId);
// if (modifiedDict.ContainsKey(i))
// {
// if (modifiedDict[i].ContainsKey("EntrustStatus"))
// {
// manageMethod.EntrustStatus = bool.Parse(modifiedDict[i]["EntrustStatus"].ToString()) ? 1 : 0;
// }
// else
// {
// manageMethod.EntrustStatus = 0;
// }
// }
// if (manageMethod.EntrustStatus == 1)
// {
// if (modifiedDict.ContainsKey(i))
// {
// //检测时机主键
// manageMethod.DetectionTimeId = modifiedDict[i].ContainsKey("DetectionTimeId") ? modifiedDict[i]["DetectionTimeId"].ToString() : manageMethod.DetectionTimeId;
// //委托人
// manageMethod.EntrustPeople = modifiedDict[i].ContainsKey("EntrustPeople") ? modifiedDict[i]["EntrustPeople"].ToString() : manageMethod.EntrustPeople;
// //委托时间
// if (manageMethod.EntrustData == null)
// {
// manageMethod.EntrustData = modifiedDict[i].ContainsKey("EntrustData") ? DateTime.Parse(modifiedDict[i]["EntrustData"].ToString()) : DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd"));
// }
// }
// else
// {
// //委托时间
// manageMethod.EntrustData = manageMethod.EntrustData == null ? DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")) : manageMethod.EntrustData;
// //委托人
// manageMethod.EntrustPeople = string.IsNullOrEmpty(manageMethod.EntrustPeople) ? CurrUser.UserId : manageMethod.EntrustPeople;
// }
// //判断委托单是否生成
// var entrustRecord = Funs.DB.PV_EntrustRecord.FirstOrDefault(p => p.ProjectId == weldInfo.ProjectId && p.EntrustData == manageMethod.EntrustData && p.NdtId == manageMethod.NdtId && p.WmeId == weldInfo.WmeId && p.GrooveType == weldInfo.GrooveType && p.TestStandardId == testMethod.Ndt_TestStandardId);
// if (entrustRecord != null)
// {
// manageMethod.EntrustCode = string.Format("{0}_{1}_{2}", manageMethod.EntrustData.Value.ToString("yyyy-MM-dd"), manageMethod.NdtCode, string.Format("{0:D3}", entrustRecord.EntrustNo));
// manageMethod.EntrustId = entrustRecord.Id;
// }
// else
// {
// var entrustNo = Funs.DB.PV_EntrustRecord.Count(p => p.EntrustData == manageMethod.EntrustData && p.NdtId == manageMethod.NdtId) + 1;
// manageMethod.EntrustCode = string.Format("{0}_{1}_{2}", manageMethod.EntrustData.Value.ToString("yyyy-MM-dd"), manageMethod.NdtCode, string.Format("{0:D3}", entrustNo));
// PV_EntrustRecord entrustModel = new PV_EntrustRecord();
// entrustModel.Id = Guid.NewGuid().ToString();
// entrustModel.ProjectId = weldInfo.ProjectId;//施工号ID
// entrustModel.EntrustData = manageMethod.EntrustData;//委托日期
// entrustModel.NdtId = manageMethod.NdtId;//检测方法ID
// entrustModel.WmeId = weldInfo.WmeId;//焊接方法ID
// entrustModel.GrooveType = weldInfo.GrooveType;//坡口形式ID
// entrustModel.TestStandardId = testMethod.Ndt_TestStandardId;//检测标准ID
// entrustModel.EntrustType = 1;//1:焊缝委托单 2:返修焊口委托单
// entrustModel.EntrustNo = entrustNo;
// entrustModel.EntrustCode = manageMethod.EntrustCode;
// entrustModel.CreateId = CurrUser.Account;
// entrustModel.CreateTime = DateTime.Now;
// Funs.DB.PV_EntrustRecord.InsertOnSubmit(entrustModel);
// manageMethod.EntrustId = entrustModel.Id;
// }
// //检测状态
// manageMethod.DetectionStatus = 1;
// }
// else
// {
// //检测状态
// manageMethod.DetectionStatus = null;
// //委托时间
// manageMethod.EntrustData = null;
// //是否委托
// manageMethod.EntrustStatus = null;
// //委托单号主键
// manageMethod.EntrustId = string.Empty;
// //委托单号
// manageMethod.EntrustCode = string.Empty;
// //委托人
// manageMethod.EntrustPeople = string.Empty;
// }
// manageMethod.CreateId = CurrUser.Account;
// manageMethod.CreateTime = DateTime.Now;
// Funs.DB.SubmitChanges();
//}
#endregion
BindGrid1 ( weldInfo . WeldingId ) ;
ShowNotify ( "操作成功!" , MessageBoxIcon . Success ) ;
}
else
{
ShowNotify ( "您没有这个权限,请与管理员联系!" , MessageBoxIcon . Warning ) ;
}
}
catch ( Exception ex )
{
ShowNotify ( ex . Message , MessageBoxIcon . Error ) ;
}
PageContext . RegisterStartupScript ( ActiveWindow . GetHideRefreshReference ( ) ) ;
}
/// <summary>
/// 取消委托
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnCancelEntrust_Click ( object sender , EventArgs e )
{
try
{
if ( CommonService . GetAllButtonPowerList ( this . CurrUser . LoginProjectId , this . CurrUser . UserId , Const . PV_WeldingConfirmation , Const . BtnCancelEntrust ) )
{
if ( Grid2 . SelectedRowIndexArray . Length = = 0 )
{
Alert . ShowInTop ( "请选择一条记录!" , MessageBoxIcon . Warning ) ;
return ;
}
int row = Grid2 . SelectedRowIndexArray [ 0 ] ;
var manageMethod = Funs . DB . PV_ManagementMethod . FirstOrDefault ( p = > p . MethodId = = Grid2 . DataKeys [ row ] [ 0 ] . ToString ( ) ) ;
if ( manageMethod ! = null )
{
if ( manageMethod . DetectionStatus ! = 1 )
{
Alert . ShowInTop ( "非待检测状态不能取消委托!" , MessageBoxIcon . Warning ) ;
return ;
}
//检测状态
manageMethod . DetectionStatus = null ;
//委托时间
manageMethod . EntrustData = null ;
//是否委托
manageMethod . EntrustStatus = null ;
//委托单号主键
manageMethod . EntrustId = string . Empty ;
//委托单号
manageMethod . EntrustCode = string . Empty ;
//委托人
manageMethod . EntrustPeople = string . Empty ;
Funs . DB . SubmitChanges ( ) ;
}
BindGrid1 ( manageMethod . WeldingId ) ;
ShowNotify ( "操作成功!" , MessageBoxIcon . Success ) ;
}
else
{
ShowNotify ( "您没有这个权限,请与管理员联系!" , MessageBoxIcon . Warning ) ;
}
}
catch ( Exception ex )
{
ShowNotify ( ex . Message , MessageBoxIcon . Error ) ;
}
PageContext . RegisterStartupScript ( ActiveWindow . GetHideRefreshReference ( ) ) ;
}
/// <summary>
/// 列选中时间Grid1
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowCommand ( object sender , GridCommandEventArgs e )
{
var inspectionCount = Funs . DB . PV_WeldAppearanceRecord . Count ( p = > p . WeldingId = = Grid1 . DataKeys [ e . RowIndex ] [ 0 ] . ToString ( ) ) ;
if ( inspectionCount = = 0 )
{
//委托状态
CheckBoxField QualifiedStatus = ( CheckBoxField ) Grid1 . FindColumn ( "QualifiedStatus" ) ;
string msg = QualifiedStatus . GetCheckedState ( e . RowIndex ) ? "焊缝外观检查记录未录入,是否确认操作?" : "是否确认取消外观检查?" ;
var ckStatus = QualifiedStatus . GetCheckedState ( e . RowIndex ) ? "1" : "0" ;
PageContext . RegisterStartupScript ( Confirm . GetShowReference ( msg ,
String . Empty ,
MessageBoxIcon . Question ,
PageManager1 . GetCustomEventReference ( false , "Confirm_OK|" + Grid1 . DataKeys [ e . RowIndex ] [ 0 ] . ToString ( ) + "|" + ckStatus ) , // 第一个参数 false 用来指定当前不是AJAX请求
PageManager1 . GetCustomEventReference ( "Confirm_Cancel|" + Grid1 . DataKeys [ e . RowIndex ] [ 0 ] . ToString ( ) + "|" + ckStatus ) ) ) ;
}
else
{
//确认是否需要提示
//委托状态
CheckBoxField QualifiedStatus = ( CheckBoxField ) Grid1 . FindColumn ( "QualifiedStatus" ) ;
string msg = QualifiedStatus . GetCheckedState ( e . RowIndex ) ? "是否确认操作?" : "是否确认取消外观检查?" ;
var ckStatus = QualifiedStatus . GetCheckedState ( e . RowIndex ) ? "1" : "0" ;
PageContext . RegisterStartupScript ( Confirm . GetShowReference ( msg ,
String . Empty ,
MessageBoxIcon . Question ,
PageManager1 . GetCustomEventReference ( false , "Confirm_OK|" + Grid1 . DataKeys [ e . RowIndex ] [ 0 ] . ToString ( ) + "|" + ckStatus ) , // 第一个参数 false 用来指定当前不是AJAX请求
PageManager1 . GetCustomEventReference ( "Confirm_Cancel|" + Grid1 . DataKeys [ e . RowIndex ] [ 0 ] . ToString ( ) + "|" + ckStatus ) ) ) ;
}
}
/// <summary>
/// 确认和取消保存执行事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void PageManager1_CustomEvent ( object sender , CustomEventArgs e )
{
//确认
if ( e . EventArgument . Split ( '|' ) . First ( ) = = "Confirm_OK" )
{
var keyId = e . EventArgument . Split ( '|' ) [ 1 ] . ToString ( ) ;
var weldInfo = Funs . DB . PV_WeldInformation . FirstOrDefault ( p = > p . WeldingId = = keyId ) ;
if ( weldInfo = = null )
{
ShowNotify ( "数据错误!" , MessageBoxIcon . Warning ) ;
return ;
}
//1:勾选 2::未勾选
if ( e . EventArgument . Split ( '|' ) [ 2 ] . ToString ( ) = = "1" )
{
//更新合格状态
weldInfo . QualifiedStatus = 1 ;
Funs . DB . SubmitChanges ( ) ;
}
else
{
//更新合格状态
weldInfo . QualifiedStatus = 0 ;
var manageMethods = Funs . DB . PV_ManagementMethod . Where ( p = > p . WeldingId = = keyId ) . ToList ( ) ;
if ( manageMethods . Count > 0 )
{
foreach ( var item in manageMethods )
{
if ( item . DetectionStatus = = 1 )
{
//检测状态
item . DetectionStatus = null ;
//委托时间
item . EntrustData = null ;
//是否委托
item . EntrustStatus = null ;
//委托单号主键
item . EntrustId = string . Empty ;
//委托单号
item . EntrustCode = string . Empty ;
//委托人
item . EntrustPeople = string . Empty ;
}
}
Funs . DB . SubmitChanges ( ) ;
}
return ;
}
}
}
/// <summary>
/// 列加载
/// </summary>
protected void Grid2_RowDataBound ( object sender , GridRowEventArgs e )
{
DataRowView row = e . DataItem as DataRowView ;
RenderCheckField EntrustStatus = ( RenderCheckField ) Grid2 . FindColumn ( "EntrustStatus" ) ;
var detectionStatus = Grid2 . DataKeys [ e . RowIndex ] [ 1 ] . ToString ( ) ;
if ( row [ "EntrustStatus" ] . ToString ( ) = = "1" )
{
e . CellCssClasses [ EntrustStatus . ColumnIndex ] = "f-grid-cell-uneditable" ;
if ( detectionStatus = = "2" )
{
e . RowCssClass = "color2" ;
}
else
{
e . RowCssClass = "color3" ;
}
}
else
{
e . RowCssClass = "color1" ;
}
}
#endregion
}
}