SGGL_SHJ/SGGL/FineUIPro.Web/HJGL/TestPackage/ItemEndCheckEdit2.aspx.cs

434 lines
19 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using BLL;
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
/// <summary>
/// 试压包主键
/// </summary>
public string PTP_ID
{
get
{
return (string)ViewState["PTP_ID"];
}
set
{
ViewState["PTP_ID"] = value;
}
}
/// <summary>
/// 记录主键
/// </summary>
public string ItemEndCheckListId
{
get
{
return (string)ViewState["ItemEndCheckListId"];
}
set
{
ViewState["ItemEndCheckListId"] = value;
}
}
/// <summary>
/// 办理类型
/// </summary>
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<JObject>("values");
int i = mergedRow.Value<int>("index");
string Content = values.Value<string>("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<SqlParameter> listStr = new List<SqlParameter>();
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 "";
}
}
}
}