using BLL;
using Newtonsoft.Json.Linq;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Threading.Tasks;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.CQMS.Check
{
public partial class EditSpotCheck : PageBase
{
#region 公共字段
///
/// 主键
///
public string SpotCheckCode
{
get
{
return (string)ViewState["SpotCheckCode"];
}
set
{
ViewState["SpotCheckCode"] = value;
}
}
///
/// 办理类型
///
public string State
{
get
{
return (string)ViewState["State"];
}
set
{
ViewState["State"] = value;
}
}
#endregion
///
/// 图片是否可以编辑 -1查看 0编辑
///
public int QuestionImg
{
get
{
return Convert.ToInt32(ViewState["QuestionImg"]);
}
set
{
ViewState["QuestionImg"] = value;
}
}
///
/// 整改图片
///
public int HandleImg
{
get
{
return Convert.ToInt32(ViewState["HandleImg"]);
}
set
{
ViewState["HandleImg"] = value;
}
}
///
/// 把状态转换代号为文字形式
///
///
///
protected string ConvertState(object state)
{
if (state != null)
{
if (state.ToString() == BLL.Const.SpotCheck_ReCompile)
{
return "重新编制";
}
else if (state.ToString() == BLL.Const.SpotCheck_Compile)
{
return "编制";
}
else if (state.ToString() == BLL.Const.SpotCheck_Audit1)
{
return "分包负责人确认";
}
else if (state.ToString() == BLL.Const.SpotCheck_Audit2)
{
return "总包专业工程师确认";
}
else if (state.ToString() == BLL.Const.SpotCheck_Audit3)
{
return "监理专业工程师确认";
}
else if (state.ToString() == BLL.Const.SpotCheck_Audit4)
{
return "建设单位确认";
}
else if (state.ToString() == BLL.Const.SpotCheck_Audit5)
{
return "分包专业工程师上传资料";
}
else if (state.ToString() == BLL.Const.SpotCheck_Audit6)
{
return "总包专业工程师确认资料合格";
}
else if (state.ToString() == BLL.Const.SpotCheck_Audit7)
{
return "分包负责人确认资料合格";
}
else if (state.ToString() == BLL.Const.SpotCheck_Audit5R)
{
return "分包专业工程师重新上传资料";
}
else if (state.ToString() == BLL.Const.SpotCheck_Complete)
{
return "审批完成";
}
else
{
return "";
}
}
return "";
}
///
/// 明细集合
///
private static List details = new List();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
details.Clear();
this.Grid1.Columns[3].Hidden = true;
this.Grid1.Columns[4].Hidden = true;
this.Grid1.Columns[5].Hidden = true;
UnitService.InitUnitByProjectIdUnitTypeDropDownList(drpUnit, this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2, false);
CNProfessionalService.InitCNProfessionalDownList(drpCNProfessional, false);
UserService.InitUserProjectIdUnitTypeDropDownList(drpJointCheckMans, this.CurrUser.LoginProjectId, Const.ProjectUnitType_1, false);
UserService.InitUserProjectIdUnitTypeDropDownList(drpJointCheckMans2, this.CurrUser.LoginProjectId, Const.ProjectUnitType_3, false);
UserService.InitUserProjectIdUnitTypeDropDownList(drpJointCheckMans3, this.CurrUser.LoginProjectId, Const.ProjectUnitType_4, false);
drpHandleType.Readonly = true;
SpotCheckCode = Request.Params["SpotCheckCode"];
plApprove1.Hidden = true;
plApprove2.Hidden = true;
rblIsAgree.Hidden = true;
rblIsAgree.SelectedValue = "true";
if (!string.IsNullOrEmpty(SpotCheckCode))
{
this.hdSpotCheckCode.Text = SpotCheckCode;
plApprove1.Hidden = false;
plApprove2.Hidden = false;
var dt = SpotCheckApproveService.getListData(SpotCheckCode);
gvApprove.DataSource = dt;
gvApprove.DataBind();
Model.Check_SpotCheck spotCheck = SpotCheckService.GetSpotCheckBySpotCheckCode(SpotCheckCode);
txtDocCode.Text = spotCheck.DocCode;
if (!string.IsNullOrEmpty(spotCheck.UnitId))
{
this.drpUnit.SelectedValue = spotCheck.UnitId;
}
if (!string.IsNullOrEmpty(spotCheck.CNProfessionalCode))
{
this.drpCNProfessional.SelectedValue = spotCheck.CNProfessionalCode;
}
if (!string.IsNullOrEmpty(spotCheck.JointCheckMans))
{
this.drpJointCheckMans.SelectedValueArray = spotCheck.JointCheckMans.Split(',');
}
if (!string.IsNullOrEmpty(spotCheck.JointCheckMans2))
{
this.drpJointCheckMans2.SelectedValueArray = spotCheck.JointCheckMans2.Split(',');
}
if (!string.IsNullOrEmpty(spotCheck.JointCheckMans3))
{
this.drpJointCheckMans3.SelectedValueArray = spotCheck.JointCheckMans3.Split(',');
}
this.rblCheckDateType.SelectedValue = spotCheck.CheckDateType;
if (spotCheck.CheckDateType == "2")
{
this.txtSpotCheckDate.Label = "开始时间";
this.txtSpotCheckDate2.Hidden = false;
}
if (spotCheck.SpotCheckDate != null)
{
this.txtSpotCheckDate.Text = string.Format("{0:yyyy-MM-dd HH:mm}", spotCheck.SpotCheckDate);
}
if (spotCheck.SpotCheckDate2 != null)
{
this.txtSpotCheckDate2.Text = string.Format("{0:yyyy-MM-dd HH:mm}", spotCheck.SpotCheckDate2);
}
this.txtCheckArea.Text = spotCheck.CheckArea;
if (!string.IsNullOrEmpty(spotCheck.ControlPointType))
{
this.drpControlPointType.SelectedValue = spotCheck.ControlPointType;
}
if (!string.IsNullOrEmpty(spotCheck.State))
{
State = spotCheck.State;
}
else
{
State = BLL.Const.SpotCheck_Compile;
this.rblIsAgree.Hidden = true;
}
if (State != BLL.Const.SpotCheck_Complete)
{
SpotCheckService.Init(drpHandleType, State, spotCheck.ControlPointType, false);
}
if (State == BLL.Const.SpotCheck_Compile || State == BLL.Const.SpotCheck_ReCompile || State == BLL.Const.SpotCheck_Audit1 || State == BLL.Const.SpotCheck_Audit3 || State == BLL.Const.SpotCheck_Audit4)
{
this.rblIsAgree.Hidden = true;
this.plApprove1.Hidden = true;
UserService.Init(drpHandleMan, CurrUser.LoginProjectId, false);
this.drpHandleMan.SelectedIndex = 1;
}
else
{
UserService.Init(drpHandleMan, CurrUser.LoginProjectId, false);
this.rblIsAgree.Hidden = false;
}
if (State == BLL.Const.SpotCheck_Audit1 || State == BLL.Const.SpotCheck_Audit2 || State == BLL.Const.SpotCheck_Audit3 || State == BLL.Const.SpotCheck_Audit4)
{
this.drpUnit.Enabled = false;
this.drpCNProfessional.Enabled = false;
txtDocCode.Enabled = false;
txtProjectName.Enabled = false;
this.drpJointCheckMans.Enabled = false;
this.drpJointCheckMans2.Enabled = false;
this.drpJointCheckMans3.Enabled = false;
this.rblCheckDateType.Enabled = false;
this.txtSpotCheckDate.Enabled = false;
this.txtSpotCheckDate2.Enabled = false;
this.txtCheckArea.Enabled = false;
this.drpControlPointType.Enabled = false;
}
if (State == BLL.Const.SpotCheck_Audit1)
{
this.btnNew.Hidden = true;
this.Grid1.Columns[10].Hidden = true;
this.Grid1.Columns[3].Hidden = false;
this.Grid1.Columns[4].Hidden = false;
this.Grid1.Columns[5].Hidden = false;
}
else if (State == BLL.Const.SpotCheck_Audit2)
{
this.btnNew.Hidden = true;
this.Grid1.Columns[10].Hidden = true;
drpHandleType.Readonly = false;
}
else if (State == BLL.Const.SpotCheck_Audit3 || State == BLL.Const.SpotCheck_Audit4)
{
this.btnNew.Hidden = true;
this.Grid1.Columns[3].Hidden = false;
this.Grid1.Columns[4].Hidden = false;
this.Grid1.Columns[5].Hidden = false;
this.Grid1.Columns[10].Hidden = true;
}
this.Grid1.DataSource = BLL.SpotCheckDetailService.GetSpotCheckDetails(SpotCheckCode);
this.Grid1.DataBind();
for (int i = 0; i < Grid1.Rows.Count; i++)
{
string rowID = Grid1.Rows[i].RowID;
if (rowID.Count() > 0)
{
Model.Check_SpotCheckDetail detail = BLL.SpotCheckDetailService.GetSpotCheckDetail(rowID);
if (detail.IsOK == false || detail.IsDataOK == "0")
{
Grid1.Rows[i].RowCssClass = " Yellow ";
}
}
}
if (State == BLL.Const.SpotCheck_ReCompile)
{
//this.Grid1.Columns[3].Hidden = false;
//this.Grid1.Columns[5].Hidden = false;
this.Grid1.Columns[10].Hidden = false;
this.btnNew.Hidden = false;
for (int i = 0; i < this.Grid1.Rows.Count; i++)
{
Grid1.Rows[i].CellCssClasses[5] = "f-grid-cell-uneditable";
}
}
//设置页面图片附件是否可以编辑
if (!State.Equals(Const.SpotCheck_Complete))
{
if (State.Equals(Const.SpotCheck_ReCompile) || State.Equals(Const.SpotCheck_Compile))
{
QuestionImg = 0;
}
else
{
QuestionImg = -1;
}
if (State.Equals(Const.SpotCheck_Audit3) || State.Equals(Const.SpotCheck_Audit5R))
{
HandleImg = 0;
}
else
{
HandleImg = -1;
}
}
}
else
{
State = Const.SpotCheck_Compile;
UserService.Init(drpHandleMan, CurrUser.LoginProjectId, false);
QuestionImg = 0;
//SpotCheckService.Init(drpHandleType, State, string.Empty, false);
string code = ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId).ProjectCode + "-06-CM03-XJ-";
txtDocCode.Text = BLL.SQLHelper.RunProcNewId("SpGetNewCode5", "dbo.Check_SpotCheck", "DocCode", code);
}
HandleMan();
txtProjectName.Text = ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId).ProjectName;
//是否同意触发
if (!rblIsAgree.Hidden)
{
HandleType();
}
Model.Check_SpotCheck spotCheck1 = SpotCheckService.GetSpotCheckBySpotCheckCode(SpotCheckCode);
if (spotCheck1 != null && !string.IsNullOrEmpty(spotCheck1.SaveHandleMan))
{
this.drpHandleMan.SelectedValue = spotCheck1.SaveHandleMan;
}
}
}
protected void imgBtnFile_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.hdSpotCheckCode.Text)) //新增记录
{
this.hdSpotCheckCode.Text = SQLHelper.GetNewID(typeof(Model.Check_SpotCheck));
}
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/SpotCheck&menuId={2}", QuestionImg, this.hdSpotCheckCode.Text, BLL.Const.SpotCheckMenuId)));
}
#region 工序验收列表事件
protected void btnNew_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(this.drpControlPointType.SelectedValue))
{
PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hdIds.ClientID)
+ Window1.GetShowReference(String.Format("ShowWBS.aspx?ControlPointType=") + this.drpControlPointType.SelectedValue));
}
else
{
Alert.ShowInTop("请选择控制点级别!", MessageBoxIcon.Warning);
return;
}
}
#region 关闭窗口
///
/// 关闭窗口
///
///
///
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
if (!string.IsNullOrEmpty(hdIds.Text))
{
string[] ids = hdIds.Text.Split(',');
int i = 1;
foreach (var id in ids)
{
var oldDetail = details.FirstOrDefault(x => x.ControlItemAndCycleId == id);
if (oldDetail == null) //添加集合没有的新纪录
{
Model.Check_SpotCheckDetail detail = new Model.Check_SpotCheckDetail();
detail.SpotCheckDetailId = SQLHelper.GetNewID(typeof(Model.Check_SpotCheckDetail));
detail.ControlItemAndCycleId = id;
detail.CreateDate = DateTime.Now.AddMinutes(i);
details.Add(detail);
}
i++;
}
}
this.Grid1.DataSource = details;
this.Grid1.DataBind();
}
#endregion
///
/// 获取共检结果
///
///
///
protected string ConvertIsOK(object IsOK)
{
string isOK = string.Empty;
if (IsOK != null)
{
if (Convert.ToBoolean(IsOK))
{
isOK = "合格";
}
else
{
isOK = "不合格";
}
}
return isOK;
}
///
/// 获取控制点级别
///
///
///
protected string ConvertControlPoint(object ControlItemAndCycleId)
{
string controlPoint = string.Empty;
if (ControlItemAndCycleId != null)
{
Model.WBS_ControlItemAndCycle c = BLL.ControlItemAndCycleService.GetControlItemAndCycleById(ControlItemAndCycleId.ToString());
if (c != null)
{
controlPoint = c.ControlPoint;
}
}
return controlPoint;
}
///
/// 获取共检内容
///
///
///
protected string ConvertDetailName(object ControlItemAndCycleId)
{
string name = string.Empty;
if (ControlItemAndCycleId != null)
{
Model.WBS_ControlItemAndCycle c = BLL.ControlItemAndCycleService.GetControlItemAndCycleById(ControlItemAndCycleId.ToString());
if (c != null)
{
name = c.ControlItemContent;
Model.WBS_WorkPackage w = BLL.WorkPackageService.GetWorkPackageByWorkPackageId(c.WorkPackageId);
if (w != null)
{
name = w.PackageContent + "/" + name;
Model.WBS_WorkPackage pw = BLL.WorkPackageService.GetWorkPackageByWorkPackageId(w.SuperWorkPackageId);
if (pw != null)
{
name = pw.PackageContent + "/" + name;
Model.WBS_WorkPackage ppw = BLL.WorkPackageService.GetWorkPackageByWorkPackageId(pw.SuperWorkPackageId);
if (ppw != null)
{
name = ppw.PackageContent + "/" + name;
Model.WBS_UnitWork u = BLL.UnitWorkService.GetUnitWorkByUnitWorkId(ppw.UnitWorkId);
if (u != null)
{
name = u.UnitWorkName + "/" + name;
}
}
else
{
Model.WBS_UnitWork u = BLL.UnitWorkService.GetUnitWorkByUnitWorkId(pw.UnitWorkId);
if (u != null)
{
name = u.UnitWorkName + "/" + name;
}
}
}
else
{
Model.WBS_UnitWork u = BLL.UnitWorkService.GetUnitWorkByUnitWorkId(w.UnitWorkId);
if (u != null)
{
name = u.UnitWorkName + "/" + name;
}
}
}
}
}
return name;
}
protected void btnOK_Click(object sender, EventArgs e)
{
AspNet.Button btn = sender as AspNet.Button;
Model.Check_SpotCheckDetail detail = BLL.SpotCheckDetailService.GetSpotCheckDetail(btn.CommandArgument);
if (detail != null)
{
Model.Check_SpotCheckApprove approve = BLL.SpotCheckApproveService.GetReCompile(SpotCheckCode);
if (approve == null) //没有打回即为一次合格
{
detail.IsOnesOK = true;
}
else
{
detail.IsOnesOK = false;
}
detail.IsOK = true;
detail.ConfirmDate = DateTime.Now;
detail.RectifyDescription = string.Empty;
BLL.SpotCheckDetailService.UpdateSpotCheckDetail(detail);
}
this.Grid1.DataSource = BLL.SpotCheckDetailService.GetSpotCheckDetails(SpotCheckCode);
this.Grid1.DataBind();
for (int i = 0; i < Grid1.Rows.Count; i++)
{
string rowID = Grid1.Rows[i].RowID;
if (rowID.Count() > 0)
{
Model.Check_SpotCheckDetail detail1 = BLL.SpotCheckDetailService.GetSpotCheckDetail(rowID);
if (detail1.IsOK == false)
{
Grid1.Rows[i].RowCssClass = " Yellow ";
}
}
}
}
protected void btnNotOK_Click(object sender, EventArgs e)
{
AspNet.Button btn = sender as AspNet.Button;
Model.Check_SpotCheckDetail detail = BLL.SpotCheckDetailService.GetSpotCheckDetail(btn.CommandArgument);
if (detail != null)
{
detail.IsOnesOK = false;
detail.IsOK = false;
detail.ConfirmDate = DateTime.Now;
BLL.SpotCheckDetailService.UpdateSpotCheckDetail(detail);
}
this.Grid1.DataSource = BLL.SpotCheckDetailService.GetSpotCheckDetails(SpotCheckCode);
this.Grid1.DataBind();
for (int i = 0; i < Grid1.Rows.Count; i++)
{
string rowID = Grid1.Rows[i].RowID;
if (rowID.Count() > 0)
{
Model.Check_SpotCheckDetail detail1 = BLL.SpotCheckDetailService.GetSpotCheckDetail(rowID);
if (detail1.IsOK == false)
{
Grid1.Rows[i].RowCssClass = " Yellow ";
}
}
}
}
protected void btnDataOK_Click(object sender, EventArgs e)
{
AspNet.Button btn = sender as AspNet.Button;
Model.Check_SpotCheckDetail detail = BLL.SpotCheckDetailService.GetSpotCheckDetail(btn.CommandArgument);
if (detail != null)
{
detail.IsDataOK = "1";
detail.DataConfirmDate = DateTime.Now;
BLL.SpotCheckDetailService.UpdateSpotCheckDetail(detail);
}
this.Grid1.DataSource = BLL.SpotCheckDetailService.GetSpotCheckDetails(SpotCheckCode);
this.Grid1.DataBind();
for (int i = 0; i < Grid1.Rows.Count; i++)
{
string rowID = Grid1.Rows[i].RowID;
if (rowID.Count() > 0)
{
Model.Check_SpotCheckDetail detail1 = BLL.SpotCheckDetailService.GetSpotCheckDetail(rowID);
if (detail1.IsDataOK == "0")
{
Grid1.Rows[i].RowCssClass = " Yellow ";
}
}
}
}
protected void btnNotDataOK_Click(object sender, EventArgs e)
{
AspNet.Button btn = sender as AspNet.Button;
Model.Check_SpotCheckDetail detail = BLL.SpotCheckDetailService.GetSpotCheckDetail(btn.CommandArgument);
if (detail != null)
{
detail.IsDataOK = "0";
detail.DataConfirmDate = DateTime.Now;
BLL.SpotCheckDetailService.UpdateSpotCheckDetail(detail);
}
this.Grid1.DataSource = BLL.SpotCheckDetailService.GetSpotCheckDetails(SpotCheckCode);
this.Grid1.DataBind();
for (int i = 0; i < Grid1.Rows.Count; i++)
{
string rowID = Grid1.Rows[i].RowID;
if (rowID.Count() > 0)
{
Model.Check_SpotCheckDetail detail1 = BLL.SpotCheckDetailService.GetSpotCheckDetail(rowID);
if (detail1.IsDataOK == "0")
{
Grid1.Rows[i].RowCssClass = " Yellow ";
}
}
}
}
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
{
string itemId = Grid1.DataKeys[e.RowIndex][0].ToString();
if (e.CommandName == "delete")
{
foreach (Model.Check_SpotCheckDetail detail in details)
{
if (detail.SpotCheckDetailId == itemId)
{
details.Remove(detail);
break;
}
}
Grid1.DataSource = details;
Grid1.DataBind();
}
if (e.CommandName == "attchUrl")
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/HJGL/SpotCheck&menuId={1}&type={2}", itemId, BLL.Const.SpotCheckMenuId, HandleImg)));
}
}
///
/// 检查并保存集合
///
private void jerqueSaveList()
{
details.Clear();
foreach (JObject mergedRow in Grid1.GetMergedData())
{
JObject values = mergedRow.Value("values");
int i = mergedRow.Value("index");
Model.Check_SpotCheckDetail detail = new Model.Check_SpotCheckDetail();
detail.SpotCheckDetailId = this.Grid1.Rows[i].RowID;
detail.ControlItemAndCycleId = this.Grid1.Rows[i].DataKeys[1].ToString();
string isOnesOK = values.Value("IsOnesOK");
if (!string.IsNullOrEmpty(isOnesOK))
{
detail.IsOnesOK = Convert.ToBoolean(isOnesOK);
}
string isOK = values.Value("IsOK");
if (!string.IsNullOrEmpty(isOK))
{
detail.IsOK = Convert.ToBoolean(isOK);
}
string confirmDate = values.Value("ConfirmDate");
if (!string.IsNullOrEmpty(confirmDate))
{
detail.ConfirmDate = Convert.ToDateTime(confirmDate);
}
string createDate = values.Value("CreateDate");
if (!string.IsNullOrEmpty(createDate))
{
detail.CreateDate = Convert.ToDateTime(createDate);
}
detail.RectifyDescription = values.Value("RectifyDescription");
string isDataOK = values.Value("IsDataOK");
if (!string.IsNullOrEmpty(isDataOK))
{
detail.IsDataOK = isDataOK;
}
string dataConfirmDate = values.Value("DataConfirmDate");
if (!string.IsNullOrEmpty(dataConfirmDate))
{
detail.DataConfirmDate = Convert.ToDateTime(dataConfirmDate);
}
details.Add(detail);
}
}
#endregion
protected void btnSave_Click(object sender, EventArgs e)
{
//string projectId, string userId, string menuId, string buttonName)
if (BLL.CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.SpotCheckMenuId, BLL.Const.BtnSave))
{
//if (this.rblCheckDateType.SelectedValue == "1")
//{
// if (string.IsNullOrEmpty(this.txtSpotCheckDate.Text.Trim()))
// {
// Alert.ShowInTop("请选择共检时间!", MessageBoxIcon.Warning);
// return;
// }
//}
//else
//{
// if (string.IsNullOrEmpty(this.txtSpotCheckDate.Text.Trim()) || string.IsNullOrEmpty(this.txtSpotCheckDate2.Text.Trim()))
// {
// Alert.ShowInTop("请选择开始时间和结束时间!", MessageBoxIcon.Warning);
// return;
// }
//}
//if (this.Grid1.Rows.Count == 0)
//{
// Alert.ShowInTop("共检内容列表不能为空!", MessageBoxIcon.Warning);
// return;
//}
SavePauseNotice("save");
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
//Response.Redirect("/check/CheckList.aspx");
}
else
{
Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
if (BLL.CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.SpotCheckMenuId, BLL.Const.BtnSubmit))
{
if (this.rblCheckDateType.SelectedValue == "1")
{
if (string.IsNullOrEmpty(this.txtSpotCheckDate.Text.Trim()))
{
Alert.ShowInTop("请选择共检时间!", MessageBoxIcon.Warning);
return;
}
}
else
{
if (string.IsNullOrEmpty(this.txtSpotCheckDate.Text.Trim()) || string.IsNullOrEmpty(this.txtSpotCheckDate2.Text.Trim()))
{
Alert.ShowInTop("请选择开始时间和结束时间!", MessageBoxIcon.Warning);
return;
}
}
if (this.Grid1.Rows.Count == 0)
{
Alert.ShowInTop("共检内容列表不能为空!", MessageBoxIcon.Warning);
return;
}
if (this.drpControlPointType.SelectedValue == BLL.Const._Null)
{
Alert.ShowInTop("请选择控制点级别!", MessageBoxIcon.Warning);
return;
}
if (this.drpHandleType.SelectedValue == BLL.Const.SpotCheck_Complete)
{
var list= BLL.SpotCheckDetailService.GetSpotCheckDetails(SpotCheckCode);
bool isAllHandle = true; //所有明细是否已经确认合格或不合格
foreach (var item in list)
{
if (item.IsOK == null)
{
isAllHandle = false;
break;
}
}
if (!isAllHandle)
{
Alert.ShowInTop("请确认所有共检内容合格状态后再提交审批完成!", MessageBoxIcon.Warning);
return;
}
}
SavePauseNotice("submit");
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
else
{
Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
private string GetStringByArray(string[] array)
{
string str = string.Empty;
foreach (var item in array)
{
if (item != BLL.Const._Null)
{
str += item + ",";
}
}
if (!string.IsNullOrEmpty(str))
{
str = str.Substring(0, str.LastIndexOf(","));
}
return str;
}
#region 保存处理
///
/// 保存方法
///
private void SavePauseNotice(string saveType)
{
Model.Check_SpotCheck spotCheck = new Model.Check_SpotCheck();
spotCheck.DocCode = this.txtDocCode.Text.Trim();
spotCheck.ProjectId = this.CurrUser.LoginProjectId;
if (this.drpUnit.SelectedValue != Const._Null)
{
spotCheck.UnitId = this.drpUnit.SelectedValue;
}
if (this.drpCNProfessional.SelectedValue != Const._Null)
{
spotCheck.CNProfessionalCode = this.drpCNProfessional.SelectedValue;
}
string jointCheckMans = GetStringByArray(this.drpJointCheckMans.SelectedValueArray);
spotCheck.JointCheckMans = jointCheckMans;
string jointCheckMans2 = GetStringByArray(this.drpJointCheckMans2.SelectedValueArray);
spotCheck.JointCheckMans2 = jointCheckMans2;
string jointCheckMans3 = GetStringByArray(this.drpJointCheckMans3.SelectedValueArray);
spotCheck.JointCheckMans3 = jointCheckMans3;
spotCheck.CheckDateType = this.rblCheckDateType.SelectedValue;
if (this.rblCheckDateType.SelectedValue == "1")
{
if (!string.IsNullOrEmpty(this.txtSpotCheckDate.Text.Trim()))
{
spotCheck.SpotCheckDate = Convert.ToDateTime(this.txtSpotCheckDate.Text.Trim());
}
}
else
{
if (!string.IsNullOrEmpty(this.txtSpotCheckDate.Text.Trim()))
{
spotCheck.SpotCheckDate = Convert.ToDateTime(this.txtSpotCheckDate.Text.Trim());
}
if (!string.IsNullOrEmpty(this.txtSpotCheckDate2.Text.Trim()))
{
spotCheck.SpotCheckDate2 = Convert.ToDateTime(this.txtSpotCheckDate2.Text.Trim());
}
}
spotCheck.CheckArea = this.txtCheckArea.Text.Trim();
if (this.drpControlPointType.SelectedValue != Const._Null)
{
spotCheck.ControlPointType = this.drpControlPointType.SelectedValue;
}
if (saveType == "submit")
{
spotCheck.State = drpHandleType.SelectedValue.Trim();
}
else
{
Model.Check_SpotCheck spotCheck1 = BLL.SpotCheckService.GetSpotCheckBySpotCheckCode(SpotCheckCode);
if (spotCheck1 != null)
{
if (string.IsNullOrEmpty(spotCheck1.State))
{
spotCheck.State = BLL.Const.SpotCheck_Compile;
}
else
{
spotCheck.State = spotCheck1.State;
}
}
else
{
spotCheck.State = BLL.Const.SpotCheck_Compile;
}
}
string initPath = "FileUpload\\" + BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId).ProjectCode + "\\Check\\SpotCheck\\";
if (!string.IsNullOrEmpty(SpotCheckCode) && BLL.SpotCheckService.GetSpotCheckBySpotCheckCode(Request.Params["SpotCheckCode"]) != null)
{
Model.Check_SpotCheckApprove approve1 = BLL.SpotCheckApproveService.GetSpotCheckApproveBySpotCheckCode(SpotCheckCode);
if (approve1 != null && saveType == "submit")
{
approve1.ApproveDate = DateTime.Now;
approve1.ApproveIdea = txtOpinions.Text.Trim();
approve1.IsAgree = Convert.ToBoolean(this.rblIsAgree.SelectedValue);
BLL.SpotCheckApproveService.UpdateSpotCheckApprove(approve1);
}
if (saveType == "submit")
{
spotCheck.SaveHandleMan = null;
Model.Check_SpotCheckApprove approve = new Model.Check_SpotCheckApprove();
approve.SpotCheckCode = SpotCheckCode;
if (this.drpHandleMan.SelectedValue != "0")
{
approve.ApproveMan = this.drpHandleMan.SelectedValue;
}
approve.ApproveType = this.drpHandleType.SelectedValue;
if (this.drpHandleType.SelectedValue == BLL.Const.SpotCheck_Complete)
{
approve.ApproveDate = DateTime.Now.AddMinutes(1);
}
approve.Sign = "1";
BLL.SpotCheckApproveService.AddSpotCheckApprove(approve);
APICommonService.SendSubscribeMessage(approve.ApproveMan, "工序验收待办理", this.CurrUser.UserName, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now));
//总包专工确认时,通知相关人员
if (this.drpHandleType.SelectedValue == BLL.Const.SpotCheck_Audit3 || this.drpHandleType.SelectedValue == BLL.Const.SpotCheck_Audit4)
{
if (!string.IsNullOrEmpty(jointCheckMans))
{
string[] seeUsers = jointCheckMans.Split(',');
foreach (var seeUser in seeUsers)
{
if (!string.IsNullOrEmpty(seeUser))
{
Model.Check_SpotCheckApprove approve2 = new Model.Check_SpotCheckApprove();
approve2.SpotCheckCode = SpotCheckCode;
approve2.ApproveMan = seeUser;
approve2.ApproveType = "S";
approve2.Sign = "1";
BLL.SpotCheckApproveService.AddSpotCheckApprove(approve2);
}
}
}
if (!string.IsNullOrEmpty(jointCheckMans2))
{
string[] seeUsers = jointCheckMans2.Split(',');
foreach (var seeUser in seeUsers)
{
if (!string.IsNullOrEmpty(seeUser))
{
Model.Check_SpotCheckApprove approve2 = new Model.Check_SpotCheckApprove();
approve2.SpotCheckCode = SpotCheckCode;
approve2.ApproveMan = seeUser;
approve2.ApproveType = "S";
approve2.Sign = "1";
BLL.SpotCheckApproveService.AddSpotCheckApprove(approve2);
}
}
}
if (!string.IsNullOrEmpty(jointCheckMans3))
{
string[] seeUsers = jointCheckMans3.Split(',');
foreach (var seeUser in seeUsers)
{
if (!string.IsNullOrEmpty(seeUser))
{
Model.Check_SpotCheckApprove approve2 = new Model.Check_SpotCheckApprove();
approve2.SpotCheckCode = SpotCheckCode;
approve2.ApproveMan = seeUser;
approve2.ApproveType = "S";
approve2.Sign = "1";
BLL.SpotCheckApproveService.AddSpotCheckApprove(approve2);
}
}
}
Model.Check_SpotCheckApprove ap = BLL.SpotCheckApproveService.GetComplie(SpotCheckCode);
if (ap != null)
{
Model.Check_SpotCheckApprove approve2 = new Model.Check_SpotCheckApprove();
approve2.SpotCheckCode = SpotCheckCode;
approve2.ApproveMan = ap.ApproveMan;
approve2.ApproveType = "S";
approve2.Sign = "1";
BLL.SpotCheckApproveService.AddSpotCheckApprove(approve2);
}
}
}
spotCheck.SpotCheckCode = SpotCheckCode;
jerqueSaveList();
foreach (var detail in details)
{
detail.SpotCheckCode = spotCheck.SpotCheckCode;
BLL.SpotCheckDetailService.UpdateSpotCheckDetail(detail);
}
if (saveType == "save")
{
spotCheck.SaveHandleMan = this.drpHandleMan.SelectedValue;
}
if (saveType == "submit" && this.drpHandleType.SelectedValue == BLL.Const.SpotCheck_Complete) //审批完成时,生成分包上传交工资料的办理记录
{
spotCheck.State2 = BLL.Const.SpotCheck_Audit5; //更新主表状态
bool isShow = true; //判断主表是否需要上传资料
var list = BLL.SpotCheckDetailService.GetOKSpotCheckDetails(SpotCheckCode);
if (list.Count == 0) //没有合格项,则在上传资料页面不显示该主表记录
{
isShow = false;
}
else
{
bool isExitForms = false;
foreach (var item in list)
{
Model.WBS_ControlItemAndCycle c = BLL.ControlItemAndCycleService.GetControlItemAndCycleById(item.ControlItemAndCycleId);
if (c != null)
{
if (!string.IsNullOrEmpty(c.HGForms) || !string.IsNullOrEmpty(c.SHForms))
{
isExitForms = true;
break;
}
}
}
if (!isExitForms) //不存在有表格需上传的明细记录
{
isShow = false;
}
}
spotCheck.IsShow = isShow;
foreach (var item in list)
{
//更新明细记录
Model.Check_SpotCheck spotCheck1 = BLL.SpotCheckService.GetSpotCheckBySpotCheckCode(SpotCheckCode);
//判断明细是否需要上传资料
Model.WBS_ControlItemAndCycle c = BLL.ControlItemAndCycleService.GetControlItemAndCycleById(item.ControlItemAndCycleId);
if (c != null)
{
if (string.IsNullOrEmpty(c.HGForms) && string.IsNullOrEmpty(c.SHForms))
{
item.IsShow = false;
item.IsDataOK = "2"; //资料情况为不需要
item.State = BLL.Const.SpotCheck_Complete;
item.HandleMan = null;
}
else
{
item.IsShow = true;
item.State = BLL.Const.SpotCheck_Audit5;
item.HandleMan = spotCheck1.CreateMan;
}
}
BLL.SpotCheckDetailService.UpdateSpotCheckDetail(item);
if (item.IsShow == true)
{
//新增待办记录
Model.Check_SpotCheckApprove approve = new Model.Check_SpotCheckApprove();
approve.SpotCheckCode = SpotCheckCode;
approve.ApproveMan = spotCheck1.CreateMan;
approve.ApproveType = BLL.Const.SpotCheck_Audit5;
approve.Sign = "2";
approve.SpotCheckDetailId = item.SpotCheckDetailId;
BLL.SpotCheckApproveService.AddSpotCheckApprove(approve);
}
}
}
BLL.SpotCheckService.UpdateSpotCheck(spotCheck);
}
else
{
spotCheck.CreateMan = this.CurrUser.UserId;
spotCheck.CreateDate = DateTime.Now;
if (!string.IsNullOrEmpty(this.hdSpotCheckCode.Text))
{
spotCheck.SpotCheckCode = this.hdSpotCheckCode.Text;
}
else
{
spotCheck.SpotCheckCode = SQLHelper.GetNewID(typeof(Model.Check_SpotCheck));
}
if (saveType == "save")
{
spotCheck.SaveHandleMan = this.drpHandleMan.SelectedValue;
}
BLL.SpotCheckService.AddSpotCheck(spotCheck);
if (saveType == "submit")
{
Model.Check_SpotCheckApprove approve1 = new Model.Check_SpotCheckApprove();
approve1.SpotCheckCode = spotCheck.SpotCheckCode;
approve1.ApproveDate = DateTime.Now;
approve1.ApproveMan = this.CurrUser.UserId;
approve1.ApproveType = BLL.Const.SpotCheck_Compile;
approve1.Sign = "1";
BLL.SpotCheckApproveService.AddSpotCheckApprove(approve1);
Model.Check_SpotCheckApprove approve = new Model.Check_SpotCheckApprove();
approve.SpotCheckCode = spotCheck.SpotCheckCode;
if (this.drpHandleMan.SelectedValue != "0")
{
approve.ApproveMan = this.drpHandleMan.SelectedValue;
}
approve.ApproveType = this.drpHandleType.SelectedValue;
approve.Sign = "1";
BLL.SpotCheckApproveService.AddSpotCheckApprove(approve);
APICommonService.SendSubscribeMessage(approve.ApproveMan, "工序验收待办理", this.CurrUser.UserName, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now));
}
else
{
Model.Check_SpotCheckApprove approve1 = new Model.Check_SpotCheckApprove();
approve1.SpotCheckCode = spotCheck.SpotCheckCode;
approve1.ApproveMan = this.CurrUser.UserId;
approve1.ApproveType = BLL.Const.SpotCheck_Compile;
approve1.Sign = "1";
BLL.SpotCheckApproveService.AddSpotCheckApprove(approve1);
}
jerqueSaveList();
foreach (var detail in details)
{
detail.SpotCheckCode = spotCheck.SpotCheckCode;
BLL.SpotCheckDetailService.AddSpotCheckDetail(detail);
}
}
BLL.LogService.AddSys_Log(this.CurrUser, spotCheck.DocCode, SpotCheckCode, BLL.Const.SpotCheckMenuId, "编辑工序验收记录");
}
#endregion
///
/// 办理人员的自动筛选
///
protected void HandleMan()
{
drpHandleMan.Items.Clear();
if (!string.IsNullOrEmpty(drpHandleType.SelectedText))
{
Model.SGGLDB db = Funs.DB;
if (drpHandleType.SelectedText.Contains("总包"))
{
UserService.InitUserDropDownList(drpHandleMan, CurrUser.LoginProjectId, false, string.Empty);
}
else if (drpHandleType.SelectedText.Contains("监理"))
{
var user = (from x in db.Sys_User
join y in db.Project_ProjectUser
on x.UserId equals y.UserId
join z in db.Project_ProjectUnit
on y.UnitId equals z.UnitId
where x.IsPost == true && y.ProjectId == CurrUser.LoginProjectId && z.ProjectId== CurrUser.LoginProjectId && (z.UnitType == BLL.Const.ProjectUnitType_3 || z.UnitType == BLL.Const.ProjectUnitType_1)
orderby z.UnitType descending
select x).ToList();
ListItem[] lis = new ListItem[user.Count()];
for (int i = 0; i < user.Count(); i++)
{
lis[i] = new ListItem(user[i].UserName ?? "", user[i].UserId.ToString());
}
drpHandleMan.DataValueField = "Value";
drpHandleMan.DataTextField = "Text";
drpHandleMan.DataSource = lis;
drpHandleMan.DataBind();
}
else
{
var user = (from x in db.Sys_User
join y in db.Project_ProjectUser
on x.UserId equals y.UserId
join z in db.Project_ProjectUnit
on y.UnitId equals z.UnitId
where x.IsPost == true && y.ProjectId == CurrUser.LoginProjectId && z.ProjectId == CurrUser.LoginProjectId && (z.UnitType == BLL.Const.ProjectUnitType_4 || z.UnitType == BLL.Const.ProjectUnitType_1)
orderby z.UnitType descending
select x).ToList();
ListItem[] lis = new ListItem[user.Count()];
for (int i = 0; i < user.Count(); i++)
{
lis[i] = new ListItem(user[i].UserName ?? "", user[i].UserId.ToString());
}
drpHandleMan.DataValueField = "Value";
drpHandleMan.DataTextField = "Text";
drpHandleMan.DataSource = lis;
drpHandleMan.DataBind();
}
if (drpHandleMan.Items.Count > 0)
{
drpHandleMan.SelectedIndex = 0;
}
if (drpHandleType.SelectedText.Contains("重新编制") || drpHandleType.SelectedText.Contains("分包"))
{
UserService.InitUserDropDownList(drpHandleMan, CurrUser.LoginProjectId, false, drpUnit.SelectedValue);
var HandleMan = BLL.SpotCheckApproveService.GetComplie(this.SpotCheckCode);
if (HandleMan != null)
{
this.drpHandleMan.SelectedValue = HandleMan.ApproveMan;
}
}
if (drpHandleType.SelectedValue == BLL.Const.SpotCheck_Complete)
{
drpHandleMan.Items.Clear();
drpHandleMan.Enabled = false;
drpHandleMan.Required = false;
}
else
{
drpHandleMan.Enabled = true;
drpHandleMan.Required = true;
}
}
}
protected void drpHandleType_SelectedIndexChanged(object sender, EventArgs e)
{
HandleMan();
}
protected void rblIsAgree_SelectedIndexChanged(object sender, EventArgs e)
{
HandleType();
}
protected void WindowAtt_Close(object sender, WindowCloseEventArgs e)
{
}
///
/// 待办事项的下拉框的处理
///
public void HandleType()
{
drpHandleType.Items.Clear();
if (this.drpControlPointType.SelectedValue != BLL.Const._Null)
{
SpotCheckService.Init(drpHandleType, State, this.drpControlPointType.SelectedValue, false);
string res = null;
List list = new List();
list.Add(Const.SpotCheck_ReCompile);
var count = drpHandleType.Items.Count;
List listitem = new List();
if (rblIsAgree.SelectedValue.Equals("true"))
{
//drpHandleType.SelectedIndex = 0;
for (int i = 0; i < count; i++)
{
res = drpHandleType.Items[i].Value;
if (list.Contains(res))
{
var item = (drpHandleType.Items[i]);
listitem.Add(item);
}
}
if (listitem.Count > 0)
{
for (int i = 0; i < listitem.Count; i++)
{
drpHandleType.Items.Remove(listitem[i]);
}
}
}
else
{
//drpHandleType.SelectedIndex = 1;
for (int i = 0; i < count; i++)
{
res = drpHandleType.Items[i].Value;
if (!list.Contains(res))
{
var item = drpHandleType.Items[i];
listitem.Add(item);
}
}
if (listitem.Count > 0)
{
for (int i = 0; i < listitem.Count; i++)
{
drpHandleType.Items.Remove(listitem[i]);
}
}
}
if (count > 0)
{
drpHandleType.SelectedIndex = 0;
HandleMan();
}
//HandleMan();
}
}
protected void rblCheckDateType_SelectedIndexChanged(object sender, EventArgs e)
{
if (rblCheckDateType.SelectedValue == "1")
{
this.txtSpotCheckDate.Label = "共检时间";
this.txtSpotCheckDate2.Hidden = true;
}
else
{
this.txtSpotCheckDate.Label = "开始时间";
this.txtSpotCheckDate2.Hidden = false;
}
}
protected void drpControlPointType_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.drpControlPointType.SelectedValue == "D")
{
this.drpJointCheckMans.Enabled = true;
this.drpJointCheckMans2.Enabled = true;
this.drpJointCheckMans3.Enabled = true;
}
else
{
this.drpJointCheckMans.SelectedValue = BLL.Const._Null;
this.drpJointCheckMans.Enabled = false;
this.drpJointCheckMans2.SelectedValue = BLL.Const._Null;
this.drpJointCheckMans2.Enabled = false;
this.drpJointCheckMans3.SelectedValue = BLL.Const._Null;
this.drpJointCheckMans3.Enabled = false;
}
HandleType();
}
protected void drpJointCheckMans_SelectedIndexChanged(object sender, EventArgs e)
{
string[] array = this.drpJointCheckMans.SelectedValueArray;
List str = new List();
foreach (var item in array)
{
if (item != BLL.Const._Null)
{
str.Add(item);
}
}
this.drpJointCheckMans.SelectedValueArray = str.ToArray();
}
protected void drpJointCheckMans2_SelectedIndexChanged(object sender, EventArgs e)
{
string[] array = this.drpJointCheckMans2.SelectedValueArray;
List str = new List();
foreach (var item in array)
{
if (item != BLL.Const._Null)
{
str.Add(item);
}
}
this.drpJointCheckMans2.SelectedValueArray = str.ToArray();
}
protected void drpJointCheckMans3_SelectedIndexChanged(object sender, EventArgs e)
{
string[] array = this.drpJointCheckMans3.SelectedValueArray;
List str = new List();
foreach (var item in array)
{
if (item != BLL.Const._Null)
{
str.Add(item);
}
}
this.drpJointCheckMans3.SelectedValueArray = str.ToArray();
}
protected void drpUnit_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.drpControlPointType.SelectedValue == "D")
{
this.drpJointCheckMans.Enabled = true;
this.drpJointCheckMans2.Enabled = true;
this.drpJointCheckMans3.Enabled = true;
}
else
{
this.drpJointCheckMans.SelectedValue = BLL.Const._Null;
this.drpJointCheckMans.Enabled = false;
this.drpJointCheckMans2.SelectedValue = BLL.Const._Null;
this.drpJointCheckMans2.Enabled = false;
this.drpJointCheckMans3.SelectedValue = BLL.Const._Null;
this.drpJointCheckMans3.Enabled = false;
}
HandleType();
}
}
}