using BLL;
using FineUIPro.Web.DataShow;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.HJGL.TestPackage
{
public partial class ItemEndCheckEdit2 : PageBase
{
#region 定义项
///
/// 试压包主键
///
public string PTP_ID
{
get
{
return (string)ViewState["PTP_ID"];
}
set
{
ViewState["PTP_ID"] = value;
}
}
///
/// 记录主键
///
public string ItemEndCheckListId
{
get
{
return (string)ViewState["ItemEndCheckListId"];
}
set
{
ViewState["ItemEndCheckListId"] = value;
}
}
///
/// 办理类型
///
public string State
{
get
{
return (string)ViewState["State"];
}
set
{
ViewState["State"] = value;
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
PTP_ID = Request.Params["PTP_ID"];
ItemEndCheckListId = Request.Params["ItemEndCheckListId"];
if (!string.IsNullOrEmpty(PTP_ID))
{
var getTestPakeage = TestPackageEditService.GetTestPackageByID(PTP_ID);
if (getTestPakeage != null)
{
this.txtTestPackageNo.Text = getTestPakeage.TestPackageNo;
this.txtTestPackageName.Text = getTestPakeage.TestPackageName;
}
var itemEndCheckList = ItemEndCheckListService.GetItemEndCheckListByID(ItemEndCheckListId);
if (itemEndCheckList != null)
{
State = itemEndCheckList.State;
if (itemEndCheckList.AIsOK == true)
{
this.ckAIsOK.Checked = true;
}
if (itemEndCheckList.BIsOK == true)
{
this.ckBIsOK.Checked = true;
}
}
TestPackageEditService.Init(drpHandleType, State, false);
BindGrid();
if (State == Const.TestPackage_Audit1 || State == Const.TestPackage_ReAudit2)
{
//this.ckA.Hidden = false;
this.Grid1.Columns[4].Hidden = true;
SitePerson_PersonService.InitSitePersonByUnitTypeRoletIdsDropDownList(drpHandleMan, this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_1, string.Empty, false);
}
if (State == Const.TestPackage_Audit2)
{
this.Grid1.Columns[3].Hidden = false;
this.IsAgree.Hidden = false;
this.Opinion.Hidden = false;
SitePerson_PersonService.InitProjectUserListByProjectUnitTypeDropDownList(drpHandleMan, this.CurrUser.LoginProjectId, Const.ProjectUnitType_3, false);
for (int i = 0; i < this.Grid1.Rows.Count; i++)
{
string itemCheckId = this.Grid1.Rows[i].DataKeys[1].ToString();
Model.PTP_ItemEndCheck itemCheck = BLL.AItemEndCheckService.GetAItemEndCheckByID(itemCheckId);
if (itemEndCheckList.BIsOK != true) //未勾选B项全部整改完成,则B项内容不能操作是否合格
{
if (itemCheck.ItemType == "B")
{
AspNet.Button btnOK = this.Grid1.Rows[i].FindControl("btnOK") as AspNet.Button;
AspNet.Button btnNotOK = this.Grid1.Rows[i].FindControl("btnNotOK") as AspNet.Button;
btnOK.Visible = false;
btnNotOK.Visible = false;
}
}
}
}
if (State == Const.TestPackage_Audit3)
{
this.Opinion.Hidden = false;
this.drpHandleMan.Enabled = false;
}
}
}
}
private void BindGrid()
{
string strSql = @" select ItemCheckId, ItemEndCheckListId, PipelineId, Content,Remark, ItemType,(case when Content='/' then '/' else Result end)AS Result from PTP_ItemEndCheck WHERE ItemEndCheckListId =@ItemEndCheckListId Order By PipelineId";
SqlParameter[] parameter = new SqlParameter[]
{
new SqlParameter("@ItemEndCheckListId",this.ItemEndCheckListId),
};
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.DataSource = tb;
Grid1.DataBind();
if (Grid1.Rows.Count > 0)
{
var itemEndCheckList = ItemEndCheckListService.GetItemEndCheckListByID(ItemEndCheckListId);
foreach (JObject mergedRow in Grid1.GetMergedData())
{
JObject values = mergedRow.Value("values");
int i = mergedRow.Value("index");
string Content = values.Value("Content");
if (Content == "/")
{
AspNet.Button btnOK = (AspNet.Button)Grid1.Rows[i].FindControl("btnOK");
AspNet.Button btnNotOK = (AspNet.Button)Grid1.Rows[i].FindControl("btnNotOK");
btnOK.Visible = false;
btnNotOK.Visible = false;
}
string itemCheckId = this.Grid1.Rows[i].DataKeys[1].ToString();
Model.PTP_ItemEndCheck itemCheck = BLL.AItemEndCheckService.GetAItemEndCheckByID(itemCheckId);
if (itemEndCheckList.BIsOK != true) //未勾选B项全部整改完成,则B项内容不能操作是否合格
{
if (itemCheck.ItemType == "B")
{
AspNet.Button btnOK = this.Grid1.Rows[i].FindControl("btnOK") as AspNet.Button;
AspNet.Button btnNotOK = this.Grid1.Rows[i].FindControl("btnNotOK") as AspNet.Button;
btnOK.Visible = false;
btnNotOK.Visible = false;
}
}
}
}
}
//办理记录
public void BindGrid1()
{
string strSql = @"select ApproveId, ItemEndCheckListId, ApproveDate, Opinion, ApproveMan, ApproveType ,U.PersonName from [dbo].[PTP_TestPackageApprove] P
Left Join Person_Persons U on p.ApproveMan=U.PersonId";
List listStr = new List();
strSql += " where ItemEndCheckListId= @ItemEndCheckListId";
listStr.Add(new SqlParameter("@ItemEndCheckListId", ItemEndCheckListId));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
var table = this.GetPagedDataTable(gvFlowOperate, tb);
gvFlowOperate.DataSource = table;
gvFlowOperate.DataBind();
}
protected string ConvertCarryPipeline(object PipelineId)
{
if (PipelineId != null)
{
var getPipeline = BLL.PipelineService.GetPipelineByPipelineId(PipelineId.ToString());
if (getPipeline != null)
{
return getPipeline.PipelineCode;
}
else
{
return "";
}
}
return "";
}
protected void btnSave_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.PersonId, Const.AItemEndCheckMenuId, Const.BtnSave))
{
SaveData(Const.BtnSave);
}
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.PersonId, Const.AItemEndCheckMenuId, Const.BtnSave))
{
SaveData(Const.BtnSubmit);
}
}
private void SaveData(string saveType)
{
bool flag_A = true;
bool flag_B = true;
Model.Project_Sys_Set PressMustCheckBItem = BLL.Project_SysSetService.GetSysSetBySetId("10", this.CurrUser.LoginProjectId);
bool isMustCheckBItem = false;
isMustCheckBItem= (bool)PressMustCheckBItem?.IsAuto;//是否必须检查B项
///保存明细
if (saveType == Const.BtnSubmit)
{
State = drpHandleType.SelectedValue.Trim();
}
var getItemEndCheck = BLL.AItemEndCheckService.GetItemEndCheckByItemEndCheckListId(this.ItemEndCheckListId);
if (getItemEndCheck.Count > 0)
{
foreach (var item in getItemEndCheck)
{
if (item.ItemType == "A" && item.Result != "合格")
{
flag_A = false;
}
if (isMustCheckBItem && item.ItemType == "B" && item.Result != "合格")
{
flag_B = false;
}
}
if (saveType != Const.BtnSave)
{
if (State == Const.TestPackage_Audit2)
{
if (!this.ckAIsOK.Checked)
{
Alert.ShowInTop("请勾选【A项已全部整改完毕】!", MessageBoxIcon.Warning);
return;
}
}
if (State == Const.TestPackage_Complete || State == Const.TestPackage_Audit3)
{
if (!flag_A)
{
Alert.ShowInTop("A项尾项尚未全部合格,请打回施工单位重新整改!", MessageBoxIcon.Warning);
return;
}
if (!flag_B)
{
Alert.ShowInTop("B项尾项尚未全部合格,请打回施工单位重新整改!", MessageBoxIcon.Warning);
return;
}
}
Model.PTP_TestPackageApprove approve1 = BLL.TestPackageApproveService.GetTestPackageApproveById(this.ItemEndCheckListId);
if (approve1 != null && saveType == Const.BtnSubmit)
{
approve1.ApproveDate = DateTime.Now;
approve1.Opinion = txtOpinion.Text;
BLL.TestPackageApproveService.UpdateTestPackageApprove(approve1);
}
if (saveType == Const.BtnSubmit)
{
Model.PTP_TestPackageApprove approve = new Model.PTP_TestPackageApprove();
approve.ApproveId = SQLHelper.GetNewID(typeof(Model.PTP_TestPackageApprove));
if (this.drpHandleMan.SelectedValue != "0")
{
approve.ApproveMan = this.drpHandleMan.SelectedValue;
}
approve.ApproveType = this.drpHandleType.SelectedValue;
approve.ItemEndCheckListId = this.ItemEndCheckListId;
BLL.TestPackageApproveService.AddTestPackageApprove(approve);
var ItemEndCheckList = ItemEndCheckListService.GetItemEndCheckListByID(this.ItemEndCheckListId);
if (ItemEndCheckList != null)
{
if (flag_A)
{
ItemEndCheckList.AOKState = true;
}
else
{
ItemEndCheckList.AOKState = null;
}
if (State == Const.TestPackage_Complete)
{
bool b = true; //B项是否全部整改完成
var BItems = getItemEndCheck.Where(x => x.ItemType == "B");
foreach (var item in BItems)
{
if (item.Result != "合格")
{
b = false;
}
}
if (b)
{
ItemEndCheckList.State = this.State;
}
else
{
ItemEndCheckList.State = BLL.Const.TestPackage_ReAudit2;
var approve2 = Funs.DB.PTP_TestPackageApprove.FirstOrDefault(x => x.ItemEndCheckListId == this.ItemEndCheckListId && x.ApproveType == BLL.Const.TestPackage_Audit1);
Model.PTP_TestPackageApprove approveR = new Model.PTP_TestPackageApprove();
approveR.ApproveId = SQLHelper.GetNewID(typeof(Model.PTP_TestPackageApprove));
if (approve2 != null)
{
approveR.ApproveMan = approve2.ApproveMan;
}
approveR.ApproveType = BLL.Const.TestPackage_ReAudit2;
approveR.ItemEndCheckListId = this.ItemEndCheckListId;
BLL.TestPackageApproveService.AddTestPackageApprove(approveR);
BLL.TestPackageApproveService.DeleteAllTestPackageApproveByApproveID(approve.ApproveId);
}
}
else
{
ItemEndCheckList.State = this.State;
}
ItemEndCheckList.AIsOK = this.ckAIsOK.Checked;
ItemEndCheckList.BIsOK = this.ckBIsOK.Checked;
ItemEndCheckListService.UpdateItemEndCheckList(ItemEndCheckList);
}
}
}
ShowNotify("保存成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
}
protected void btnOK_Click(object sender, EventArgs e)
{
AspNet.Button btn = sender as AspNet.Button;
var ItemEndCheck = BLL.AItemEndCheckService.GetAItemEndCheckByID(btn.CommandArgument);
if (ItemEndCheck != null)
{
ItemEndCheck.Result = "合格";
BLL.AItemEndCheckService.UpdateAItemEndCheck(ItemEndCheck);
}
BindGrid();
}
protected void btnNotOK_Click(object sender, EventArgs e)
{
AspNet.Button btn = sender as AspNet.Button;
var ItemEndCheck = BLL.AItemEndCheckService.GetAItemEndCheckByID(btn.CommandArgument);
if (ItemEndCheck != null)
{
ItemEndCheck.Result = "不合格";
BLL.AItemEndCheckService.UpdateAItemEndCheck(ItemEndCheck);
}
BindGrid();
}
protected void rblIsAgree_SelectedIndexChanged(object sender, EventArgs e)
{
this.drpHandleType.Items.Clear();
this.drpHandleMan.Items.Clear();
string state = BLL.ItemEndCheckListService.GetItemEndCheckListByID(this.ItemEndCheckListId).State;
if (rblIsAgree.SelectedValue.Equals("true"))
{
TestPackageEditService.Init(drpHandleType, state, false);
SitePerson_PersonService.InitProjectUserListByProjectUnitTypeDropDownList(drpHandleMan, this.CurrUser.LoginProjectId, Const.ProjectUnitType_3, false);
}
else
{
TestPackageEditService.Init(drpHandleType, "F", false);
SitePerson_PersonService.InitSitePersonByUnitTypeRoletIdsDropDownList(drpHandleMan, this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2, string.Empty, false);
}
this.drpHandleType.SelectedIndex = 0;
this.drpHandleMan.SelectedIndex = 0;
}
protected void drpHandleType_SelectedIndexChanged(object sender, EventArgs e)
{
drpHandleMan.Items.Clear();
if (drpHandleType.SelectedValue == BLL.Const.TestPackage_Complete)
{
drpHandleMan.Enabled = false;
}
else if (drpHandleType.SelectedValue == BLL.Const.TestPackage_Audit3)
{
drpHandleMan.Enabled = true;
SitePerson_PersonService.InitProjectUserListByProjectUnitTypeDropDownList(drpHandleMan, this.CurrUser.LoginProjectId, Const.ProjectUnitType_3, false);
}
this.drpHandleMan.SelectedIndex = 0;
}
protected string ConvertApproveType(object Type)
{
if (Type != null)
{
if (Type.ToString() == BLL.Const.TestPackage_Compile)
{
return "总包专业工程师编制";
}
else if (Type.ToString() == Const.TestPackage_Audit1)
{
return "施工分包商整改";
}
else if (Type.ToString() == Const.TestPackage_Audit2)
{
return "总包确认";
}
else if (Type.ToString() == Const.TestPackage_Audit3)
{
return "监理确认";
}
else if (Type.ToString() == Const.TestPackage_ReAudit2)
{
return "施工分包商继续整改";
}
else if (Type.ToString() == Const.TestPackage_Complete)
{
return "审批完成";
}
else
{
return "";
}
}
else
{
return "";
}
}
}
}