ChengDa_English/SGGL/FineUIPro.Web/HSSE/SolutionNew/EditConstructSolution.aspx.cs

1628 lines
73 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 Model;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.HSSE.SolutionNew
{
public partial class EditConstructSolution : PageBase
{
#region
/// <summary>
/// 方案审查主键
/// </summary>
public string ConstructSolutionId
{
get
{
return (string)ViewState["ConstructSolutionId"];
}
set
{
ViewState["ConstructSolutionId"] = value;
}
}
public string State
{
get
{
return (string)ViewState["State"];
}
set
{
ViewState["State"] = value;
}
}
#endregion
#region
/// <summary>
/// 定义会签意见集合
/// </summary>
public static List<Model.Solution_HSSEConstructSolutionApprove> approves = new List<Model.Solution_HSSEConstructSolutionApprove>();
#endregion
public int ContactImg
{
get
{
return Convert.ToInt32(ViewState["ContactImg"]);
}
set
{
ViewState["ContactImg"] = value;
}
}
public string lastCanRemoveApproveId
{
get
{
return (string)ViewState["lastCanRemoveApproveId"];
}
set
{
ViewState["lastCanRemoveApproveId"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
var unitWork = UnitWorkService.GetUnitWorkLists(CurrUser.LoginProjectId);
var unitWorks = from x in unitWork
select
new
{
UnitWorkId = x.UnitWorkId,
UnitWorkName = x.UnitWorkCode + "-" + x.UnitWorkName + BLL.UnitWorkService.GetProjectType(x.ProjectType)
};
gvUnitWork.DataSource = unitWorks;
gvUnitWork.DataBind();
var gvCNProfessional = CNProfessionalService.GetList();
gvCNPro.DataSource = gvCNProfessional;
gvCNPro.DataBind();
ListItem[] lis = new ListItem[1];
lis[0] = new ListItem("0.0", "0");
drpEdition.DataValueField = "Value";
drpEdition.DataTextField = "Text";
drpEdition.DataSource = lis;
drpEdition.DataBind();
drpEdition.SelectedValue = "0";
BLL.SolutionTempleteTypeService.InitSolutionTempleteDropDownList(drpModelType, false,"HSSE");
BLL.SpecialSchemeTypeService.InitSpecialSchemeTypeDropDownList(drpSpecialType,1, false);
UnitService.InitUnitByProjectIdUnitTypeDropDownList(drpUnit, CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2, false);
if (this.CurrUser.UnitId != null && this.CurrUser.UnitId != Const.UnitId_CD && this.CurrUser.UnitId != Const.hfnbdId)
{
drpUnit.SelectedValue = this.CurrUser.UnitId;
drpUnit.Enabled = false;
}
BindZYRole();
BindZLRole();
BindAQRole();
BindKZRole();
BindSGRole();
BindXMRole();
ContactImg = 0;
//CommonService.GetAllButtonList(CurrUser.LoginProjectId, CurrUser.UserId, Const.CQMSConstructSolutionMenuId);
txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
ConstructSolutionId = Request.Params["constructSolutionId"];
this.State = "1";
if (!string.IsNullOrWhiteSpace(ConstructSolutionId))
{
HFConstructSolutionId.Text = ConstructSolutionId;
Model.Solution_HSSEConstructSolution constructSolution = HSSEConstructSolutionService.GetConstructSolutionByConstructSolutionId(ConstructSolutionId);
txtCode.Text = constructSolution.Code;
this.State = constructSolution.State;
if (!string.IsNullOrEmpty(constructSolution.UnitId))
{
drpUnit.SelectedValue = constructSolution.UnitId;
}
if (!string.IsNullOrEmpty(constructSolution.SolutionType))
{
drpModelType.SelectedValue = constructSolution.SolutionType;
if (this.drpModelType.SelectedItem.Text == "施工组织设计")
{
this.drpSpecialType.Enabled = false;
this.drpSpecialType.SelectedValue = null;
this.drpSpecialType.Required = false;
}
else if (this.drpModelType.SelectedItem.Text == "一般方案")
{
BLL.SpecialSchemeTypeService.InitSpecialSchemeTypeDropDownList(drpSpecialType, 2, false);
this.drpSpecialType.Enabled = true;
this.drpSpecialType.Required = true;
}
else
{
BLL.SpecialSchemeTypeService.InitSpecialSchemeTypeDropDownList(drpSpecialType, 1, false);
this.drpSpecialType.Enabled = true;
this.drpSpecialType.Required = true;
}
}
if (!string.IsNullOrEmpty(constructSolution.SpecialSchemeTypeId))
{
drpSpecialType.SelectedValue = constructSolution.SpecialSchemeTypeId;
}
if (constructSolution.CompileDate != null)
{
txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", constructSolution.CompileDate);
}
txtSolutionName.Text = constructSolution.SolutionName;
if (!string.IsNullOrEmpty(constructSolution.UnitWorkIds))
{
if (constructSolution.UnitWorkIds.Length > 0)
{
txtUnitWork.Values = constructSolution.UnitWorkIds.Split(',');
}
}
if (!string.IsNullOrEmpty(constructSolution.CNProfessionalCodes))
{
if (constructSolution.CNProfessionalCodes.Length > 0)
{
txtCNProfessional.Values = constructSolution.CNProfessionalCodes.Split(',');
}
}
if (constructSolution.Edition != null)
{
drpEdition.Items.Clear();
ListItem[] list = new ListItem[constructSolution.Edition.Value+1];
for (int i = 0; i <= constructSolution.Edition.Value; i++)
{
list[i] = new ListItem((i/10.0).ToString("#0.0"), ""+i);
}
drpEdition.DataValueField = "Value";
drpEdition.DataTextField = "Text";
drpEdition.DataSource = list;
drpEdition.DataBind();
drpEdition.SelectedIndex = constructSolution.Edition.Value;
if (constructSolution.Edition.Value == 0 && constructSolution.State == Const.CQMSConstructSolution_Compile)
{
imgBtnFile2.Hidden = true;
}
else if ( constructSolution.State == Const.CQMSConstructSolution_Audit)
{
imgBtnFile2.Hidden = true;
}
}
bindApprove();
var zyUserIds =HSSEConstructSolutionApproveService.GetUserIdsApprovesBySignType(ConstructSolutionId, "ZY");
if (zyUserIds.Count > 0&& constructSolution.State != Const.CQMSConstructSolution_ReCompile)
{
SetCheck(trOne, zyUserIds);
}
var zlUserIds = HSSEConstructSolutionApproveService.GetUserIdsApprovesBySignType(ConstructSolutionId, "ZL");
if (zlUserIds.Count > 0&& constructSolution.State != Const.CQMSConstructSolution_ReCompile)
{
SetCheck(trTwo, zlUserIds);
}
var aqUserIds = HSSEConstructSolutionApproveService.GetUserIdsApprovesBySignType(ConstructSolutionId, "AQ");
if (aqUserIds.Count > 0&& constructSolution.State != Const.CQMSConstructSolution_ReCompile)
{
SetCheck(trThree, aqUserIds);
}
var kzUserIds = HSSEConstructSolutionApproveService.GetUserIdsApprovesBySignType(ConstructSolutionId, "KZ");
if (kzUserIds.Count > 0&& constructSolution.State != Const.CQMSConstructSolution_ReCompile)
{
SetCheck(trFour, kzUserIds);
}
var sgUserIds = HSSEConstructSolutionApproveService.GetUserIdsApprovesBySignType(ConstructSolutionId, "SG");
if (sgUserIds.Count > 0&& constructSolution.State != Const.CQMSConstructSolution_ReCompile)
{
SetCheck(trFive, sgUserIds);
}
var xmUserIds = HSSEConstructSolutionApproveService.GetUserIdsApprovesBySignType(ConstructSolutionId, "XM");
if (xmUserIds.Count > 0&& constructSolution.State != Const.CQMSConstructSolution_ReCompile)
{
SetCheck(trSixe, xmUserIds);
}
Model.Solution_HSSEConstructSolutionApprove curapprove = HSSEConstructSolutionApproveService.GetConstructSoluAppByApproveMan(ConstructSolutionId, CurrUser.UserId, Convert.ToInt32(constructSolution.Edition));
if (curapprove != null)
{
initDropSameGroup(this.drpSameGroup, curapprove.SignType);
switch (curapprove.SignType)
{
case "ZY":
this.drpSameGroup.SelectedValueArray = zyUserIds.ToArray();
break;
case "ZL":
this.drpSameGroup.SelectedValueArray = zlUserIds.ToArray();
break;
case "AQ":
this.drpSameGroup.SelectedValueArray = aqUserIds.ToArray();
break;
case "KZ":
this.drpSameGroup.SelectedValueArray = kzUserIds.ToArray();
break;
case "SG":
this.drpSameGroup.SelectedValueArray = sgUserIds.ToArray();
break;
case "Xm":
this.drpSameGroup.SelectedValueArray = xmUserIds.ToArray();
break;
}
}
if (constructSolution.State == Const.CQMSConstructSolution_ReCompile)
{
agree.Hidden = true;
options.Hidden = true;
optio.Hidden = true;
var disAgreeMans = Funs.DB.Solution_HSSEConstructSolutionApprove.Where(x => x.ConstructSolutionId == constructSolution.ConstructSolutionId && x.Edition + 1 == constructSolution.Edition && x.IsAgree == false).Select(x => x.ApproveMan).ToList();
Panel2.Enabled = false;
SetCheck(trOne, disAgreeMans);
SetCheck(trTwo, disAgreeMans);
SetCheck(trThree, disAgreeMans);
SetCheck(trFour, disAgreeMans);
SetCheck(trFive, disAgreeMans);
SetCheck(trSixe, disAgreeMans);
}
if (constructSolution.State == Const.CQMSConstructSolution_Audit)
{
txtProjectName.Enabled = false;
txtCode.Enabled = false;
drpUnit.Enabled = false;
drpModelType.Enabled = false;
drpSpecialType.Enabled = false;
txtCompileDate.Enabled = false;
txtSolutionName.Enabled = false;
txtCNProfessional.Enabled = false;
txtUnitWork.Enabled = false;
ContactImg = -1;
Panel2.Enabled = false;
}
//提交版本人多次修改
if (constructSolution.CompileMan.Equals(CurrUser.UserId))
{
txtProjectName.Enabled = true;
txtCode.Enabled = true;
drpUnit.Enabled = true;
drpModelType.Enabled = true;
drpSpecialType.Enabled = true;
txtCompileDate.Enabled = true;
txtSolutionName.Enabled = true;
txtCNProfessional.Enabled = true;
txtUnitWork.Enabled = true;
ContactImg = 0;
if (constructSolution.State != Const.CQMSConstructSolution_ReCompile)//重新编辑时不允许修改上次不同意的人
{
Panel2.Enabled = true;
}
rblIsAgree.Hidden = true;
rblIsAgree.Required = false;
options.Hidden = true;
txtOptions.Required = false;
optio.Hidden = true;
if (constructSolution.State != Const.CQMSConstructSolution_ReCompile && constructSolution.State != Const.CQMSConstructSolution_Compile)
{
this.btnSubmit.Hidden = true;
this.btnSave.Hidden = true;
}
}
//if (!string.IsNullOrEmpty(countersign.CVRole))
//{
// GetCheck(tvCV.Nodes[0].ChildNodes, countersign.CVRole);
//}
if (this.drpModelType.SelectedItem.Text == "施工组织设计")
{
drpSpecialType.Enabled = false;
}
}
else
{
agree.Hidden = true;
options.Hidden = true;
optio.Hidden = true;
plApprove2.Hidden = true;
imgBtnFile2.Hidden = true;
// txtCode.Text = SQLHelper.RunProcNewId2("SpGetNewCode3ByProjectId", "dbo.Solution_HSSEConstructSolution", "Code", CurrUser.LoginProjectId);
}
txtProjectName.Text = ProjectService.GetProjectByProjectId(CurrUser.LoginProjectId).ProjectName;
}
}
/// <summary>
/// 审批列表
/// </summary>
private void bindApprove()
{
var list = HSSEConstructSolutionApproveService.getListData(ConstructSolutionId);
if (list.Count() > 0)
{
var last = list.LastOrDefault();
if (last.ApproveMan == CurrUser.UserId)
{
lastCanRemoveApproveId = last.ConstructSolutionApproveId;
}
}
gvApprove.DataSource = list;
gvApprove.DataBind();
}
/// <summary>
/// 最后一行
/// </summary>
/// <param name="type"></param>
/// <param name="res"></param>
/// <returns></returns>
public bool IsLast(Object approveId)
{
if ((string)approveId == lastCanRemoveApproveId)
{
return true;
}
else
{
return false;
}
}
public string man(Object man)
{
string appman = string.Empty;
if (UserService.GetUserByUserId(man.ToString()) != null)
{
appman = UserService.GetUserByUserId(man.ToString()).UserName;
}
return appman;
}
#region /
protected void btnSave_Click(object sender, EventArgs e)
{
//validate(Const.BtnSave, "save");
if (CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, CurrUser.UserId, Const.CQMSConstructSolutionMenuId, Const.BtnSave))
{
SaveHSSEConstructSolution("save");
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
Alert.ShowInTop("保存成功!", MessageBoxIcon.Success);
}
else
{
Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
validate(Const.BtnSubmit, "submit");
}
/// <summary>
/// 保存验证
/// </summary>
/// <param name="buttonName"></param>
/// <param name="tip"></param>
public void validate(string buttonName, string tip)
{
if (CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, CurrUser.UserId, Const.CQMSConstructSolutionMenuId, buttonName))
{
string err = string.Empty;
var edition = this.drpEdition.SelectedValue;
if (!AttachFileService.Getfile(HFConstructSolutionId.Text+ edition, Const.CQMSConstructSolutionMenuId))
{
err += "请上传附件,";
}
if (this.drpModelType.SelectedItem.Text != "施工组织设计")
{
if (drpSpecialType.SelectedValue == BLL.Const._Null)
{
err += "请选择在分部分项工程,";
}
}
//if (string.IsNullOrEmpty(hdFilePath.Value))
//{
// err += "请上传附件,";
//}
if (drpEdition.SelectedValue == "0" && buttonName == "提交")
{
if (!nodesCheckd(trOne))
{
err += "请选择专业工程师,";
}
//if (!nodesCheckd(trTwo))
//{
// err += "请选择质量工程师,";
//}
if (!nodesCheckd(trThree))
{
err += "请选择HSE工程师,";
}
if (!nodesCheckd(trFive))
{
err += "请选择施工经理,";
}
}
else
{
List<FineUIPro.Tree> list = new List<FineUIPro.Tree>();
list.Add(trOne);
list.Add(trTwo);
list.Add(trThree);
list.Add(trFour);
list.Add(trFive);
list.Add(trSixe);
var res = false;
foreach (var item in list)
{
if (nodesCheckd(item))
{
res = true;
break;
}
}
if (!res)
{
err += "请选择总包会签人员,";
}
}
if (!string.IsNullOrWhiteSpace(err))
{
err = err.Substring(0, err.LastIndexOf(","));
err += "!";
}
if (!string.IsNullOrWhiteSpace(err))
{
Alert.ShowInTop(err, MessageBoxIcon.Warning);
return;
}
if (!string.IsNullOrWhiteSpace(ConstructSolutionId))
{//更新时操作
if (tip == "save")
{
EditConstructSol("save");
}
else
{
EditConstructSol("submit");
}
}
else
{
if (tip == "save")
{
SaveHSSEConstructSolution("save");
}
else
{
SaveHSSEConstructSolution("submit");
}
//添加时操作
}
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
if (tip == "save")
{
tip = "保存成功!";
}
else
{
tip = "提交成功!";
}
Alert.ShowInTop(tip, MessageBoxIcon.Success);
}
else
{
Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
/// <summary>
/// 编辑时候保存
/// </summary>
private void EditConstructSol(string saveType)
{
Model.Solution_HSSEConstructSolution constructSolution = new Model.Solution_HSSEConstructSolution();
constructSolution.Code = txtCode.Text.Trim();
constructSolution.ProjectId = CurrUser.LoginProjectId;
if (drpUnit.SelectedValue != BLL.Const._Null)
{
constructSolution.UnitId = drpUnit.SelectedValue;
}
if (drpModelType.SelectedValue != BLL.Const._Null)
{
constructSolution.SolutionType = drpModelType.SelectedValue;
}
if (drpSpecialType.SelectedValue != BLL.Const._Null )
{
constructSolution.SpecialSchemeTypeId = drpSpecialType.SelectedValue;
}
constructSolution.SolutionName = txtSolutionName.Text.Trim();
int edtion = Convert.ToInt32(this.drpEdition.SelectedValue);
constructSolution.Edition = edtion;
if (!string.IsNullOrEmpty(txtCompileDate.Text.Trim()))
{
constructSolution.CompileDate = Convert.ToDateTime(txtCompileDate.Text.Trim());
}
if (txtUnitWork.Values.Length > 0)
{
constructSolution.UnitWorkIds = string.Join(",", txtUnitWork.Values);
}
if (txtCNProfessional.Values.Length > 0)
{
constructSolution.CNProfessionalCodes = string.Join(",", txtCNProfessional.Values);
}
if (!string.IsNullOrEmpty(ConstructSolutionId))
{
constructSolution.ConstructSolutionId = ConstructSolutionId;
Model.Solution_HSSEConstructSolution constructSolution1 = HSSEConstructSolutionService.GetConstructSolutionByConstructSolutionId(ConstructSolutionId);
if (saveType == "submit")
{
if (CurrUser.UserId != constructSolution1.CompileMan) //办理人不是编制人,提示查看审批信息
{
Model.Solution_HSSEConstructSolutionApprove sApprove = new Model.Solution_HSSEConstructSolutionApprove();
sApprove.ConstructSolutionId = constructSolution.ConstructSolutionId;
sApprove.ApproveMan = constructSolution1.CompileMan;
sApprove.ApproveType = "S";
HSSEConstructSolutionApproveService.AddConstructSolutionApprove(sApprove);
if (constructSolution1.State == Const.CQMSConstructSolution_Audit)
{
constructSolution.State = constructSolution1.State;
}
else
{
constructSolution.State = Const.CQMSConstructSolution_Audit;
}
}
else
{
countersign(constructSolution.ConstructSolutionId);
constructSolution.State = constructSolution1.State;
}
if (!CurrUser.UserId.Equals(constructSolution1.CompileMan))
{
Model.Solution_HSSEConstructSolutionApprove approve = HSSEConstructSolutionApproveService.GetConstructSoluAppByApproveMan(ConstructSolutionId, CurrUser.UserId, Convert.ToInt32(constructSolution1.Edition));
if (approve == null)
{
approve = new Model.Solution_HSSEConstructSolutionApprove();
approve.ConstructSolutionId = constructSolution.ConstructSolutionId;
// approve.ApproveDate = DateTime.Now;
approve.ApproveMan = this.CurrUser.UserId;
approve.ApproveType = Const.CQMSConstructSolution_Compile;
approve.Edition = Convert.ToInt32(this.drpEdition.SelectedValue);
}
if (saveType == "submit")
{
approve.ApproveDate = DateTime.Now;
}
if (rblIsAgree.SelectedIndex == 2)
{
Model.Solution_HSSEConstructSolutionApprove curapprove = approve;// HSSEConstructSolutionApproveService.GetConstructSoluAppByApproveMan(ConstructSolutionId, CurrUser.UserId, Convert.ToInt32(constructSolution.Edition));
foreach (var id in this.drpSameGroup.SelectedValueArray)
{
Model.Solution_HSSEConstructSolutionApprove hasapprove = HSSEConstructSolutionApproveService.GetConstructSoluAppByApproveMan(ConstructSolutionId, id, Convert.ToInt32(constructSolution.Edition));
if (hasapprove == null)
{
Model.Solution_HSSEConstructSolutionApprove newapprove = new Model.Solution_HSSEConstructSolutionApprove();
newapprove.ConstructSolutionId = curapprove.ConstructSolutionId;
newapprove.ApproveMan = id;
newapprove.ApproveType = curapprove.ApproveType;
newapprove.SignType = curapprove.SignType;
newapprove.Edition = curapprove.Edition; ;
// delSolutionApprove(curapprove.ConstructSolutionId, id, curapprove.SignType);
HSSEConstructSolutionApproveService.AddConstructSolutionApprove(newapprove);
APICommonService.SendSubscribeMessage(approve.ApproveMan, "施工方案待办理", this.CurrUser.UserName, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now));
}
}
approve.SignType = "S";
approve.IsAgree = true;
}
else
{
approve.IsAgree = Convert.ToBoolean(rblIsAgree.SelectedValue);
}
approve.ApproveIdea = txtOptions.Text.Trim();
if (string.IsNullOrEmpty(approve.ConstructSolutionApproveId))
{
HSSEConstructSolutionApproveService.AddConstructSolutionApprove(approve);
}
else
{
HSSEConstructSolutionApproveService.UpdateConstructSolutionApprove(approve);
}
}
else
{
if (saveType == "submit")
{
if (constructSolution1.State == Const.CQMSConstructSolution_Audit)//==会签状态升级版本
{
Model.Solution_HSSEConstructSolutionApprove reApprove = new Model.Solution_HSSEConstructSolutionApprove();
reApprove.ConstructSolutionId = constructSolution.ConstructSolutionId;
reApprove.ApproveDate = DateTime.Now;
reApprove.ApproveMan = constructSolution1.CompileMan;
reApprove.ApproveType = Const.CQMSConstructSolution_ReCompile;
//edtion++;
reApprove.Edition = edtion;
HSSEConstructSolutionApproveService.AddConstructSolutionApprove(reApprove);
}
else
{
Model.Solution_HSSEConstructSolutionApprove approves = HSSEConstructSolutionApproveService.GetConstructSolApproveByApproveMan(ConstructSolutionId, constructSolution1.CompileMan);
if (approves == null)
{
approves = new Model.Solution_HSSEConstructSolutionApprove();
approves.ConstructSolutionId = constructSolution.ConstructSolutionId;
// approve.ApproveDate = DateTime.Now;
approves.ApproveMan = this.CurrUser.UserId;
approves.ApproveType = Const.CQMSConstructSolution_Compile;
approves.Edition = Convert.ToInt32(this.drpEdition.SelectedValue);
approves.Edition = Convert.ToInt32(edtion);
approves.IsAgree = Convert.ToBoolean(rblIsAgree.SelectedValue);
approves.ApproveIdea = txtOptions.Text.Trim();
approves.ApproveDate = DateTime.Now;
HSSEConstructSolutionApproveService.AddConstructSolutionApprove(approves);
}
else
{
approves.ApproveDate = DateTime.Now;
HSSEConstructSolutionApproveService.UpdateConstructSolutionApprove(approves);
}
}
}
}
}
else
{
constructSolution.State = constructSolution1.State;
}
//提交时候,更新状态,打回的时候升级版本
if (CurrUser.UserId.Equals(constructSolution1.CompileMan))
{
//if (constructSolution1.State != Const.CQMSConstructSolution_Audit)
//{
// edtion++;
//}
//constructSolution.Edition = Convert.ToInt32(edtion);
constructSolution.State = Const.CQMSConstructSolution_Audit;
}
HSSEConstructSolutionService.UpdateConstructSolution(constructSolution);
//判断状态,全部会签同意,则审批完成
if (saveType == "submit")
{
List<Model.Solution_HSSEConstructSolutionApprove> allApproves = HSSEConstructSolutionApproveService.GetHandleConstructSolutionApprovesByConstructSolutionId(ConstructSolutionId, constructSolution.Edition == null ? 0 : Convert.ToInt32(constructSolution.Edition));
var count = allApproves.Where(p => p.ApproveDate != null && p.IsAgree != null && Convert.ToBoolean(p.IsAgree)).Count();//查询会签同意的
var fcount = allApproves.Where(p => p.ApproveDate != null && p.IsAgree != null && !Convert.ToBoolean(p.IsAgree)).Count();//查询会签不同意的
if ((count + fcount) == allApproves.Count)
{
if (count == allApproves.Count)
{
var cons = HSSEConstructSolutionService.GetConstructSolutionByConstructSolutionId(ConstructSolutionId);
cons.State = Const.CQMSConstructSolution_Complete;
cons.CompileDate = DateTime.Now;
HSSEConstructSolutionService.UpdateConstructSolution(cons);
}
//有不同意意见,打回重新编制
if (fcount > 0)
{
var cons = HSSEConstructSolutionService.GetConstructSolutionByConstructSolutionId(ConstructSolutionId);
Model.Solution_HSSEConstructSolutionApprove reApprove = new Model.Solution_HSSEConstructSolutionApprove();
reApprove.ConstructSolutionId = constructSolution.ConstructSolutionId;
reApprove.ApproveMan = cons.CompileMan;
reApprove.ApproveType = Const.CQMSConstructSolution_ReCompile;
edtion++;
reApprove.Edition = edtion;
HSSEConstructSolutionApproveService.AddConstructSolutionApprove(reApprove);
cons.State = Const.CQMSConstructSolution_ReCompile;
cons.Edition = edtion;
cons.CompileDate = DateTime.Now;
constructSolution.State = Const.CQMSConstructSolution_ReCompile;
HSSEConstructSolutionService.UpdateConstructSolution(cons);
}
}
}
LogService.AddSys_Log(CurrUser, constructSolution.Code, ConstructSolutionId, Const.CQMSConstructSolutionMenuId, "修改施工方案");
}
}
#endregion
#region
/// <summary>
/// 保存方案审查
/// </summary>
/// <param name="saveType">保存类型</param>
private void SaveHSSEConstructSolution(string saveType)
{
//if (tvHSE.CheckedNodes.Count == 0 || (tvHSE.CheckedNodes.Count > 0 && tvHSE.CheckedNodes[0].Value == "0"))
//{
// ScriptManager.RegisterStartupScript(this, typeof(string), "_alert", "alert('请选择HSE会签人员')", true);
// return;
//}
Model.Solution_HSSEConstructSolution constructSolution = new Model.Solution_HSSEConstructSolution();
constructSolution.Code = txtCode.Text.Trim();
constructSolution.ProjectId = CurrUser.LoginProjectId;
if (drpUnit.SelectedValue != BLL.Const._Null)
{
constructSolution.UnitId = drpUnit.SelectedValue;
}
if (drpModelType.SelectedValue != BLL.Const._Null)
{
constructSolution.SolutionType = drpModelType.SelectedValue;
}
if (drpSpecialType.SelectedValue != BLL.Const._Null)
{
constructSolution.SpecialSchemeTypeId = drpSpecialType.SelectedValue;
}
constructSolution.SolutionName = txtSolutionName.Text.Trim();
if (!string.IsNullOrEmpty(txtCompileDate.Text.Trim()))
{
constructSolution.CompileDate = Convert.ToDateTime(txtCompileDate.Text.Trim());
}
if (txtUnitWork.Values.Length > 0)
{
constructSolution.UnitWorkIds = string.Join(",", txtUnitWork.Values);
}
if (txtCNProfessional.Values.Length > 0)
{
constructSolution.CNProfessionalCodes = string.Join(",", txtCNProfessional.Values);
}
if (!string.IsNullOrEmpty(HFConstructSolutionId.Text))
{
constructSolution.ConstructSolutionId = HFConstructSolutionId.Text;
}
else
{
constructSolution.ConstructSolutionId = SQLHelper.GetNewID(typeof(Model.Solution_HSSEConstructSolution));
}
if (saveType == "submit")
{
constructSolution.State = Const.CQMSConstructSolution_Audit;
}
else
{
Model.Solution_HSSEConstructSolution cs = HSSEConstructSolutionService.GetConstructSolutionByConstructSolutionId(ConstructSolutionId);
if (cs != null)
{
constructSolution.State = cs.State;
}
else
{
constructSolution.State = Const.CQMSConstructSolution_Compile;
}
}
constructSolution.CompileMan = CurrUser.UserId;
constructSolution.Edition = Convert.ToInt32(this.drpEdition.SelectedValue);
if (!string.IsNullOrEmpty(HFConstructSolutionId.Text))
{
HSSEConstructSolutionService.UpdateConstructSolution(constructSolution);
}
else
{
HSSEConstructSolutionService.AddConstructSolution(constructSolution);
}
if (saveType == "submit")
{
Model.Solution_HSSEConstructSolutionApprove approve1 = new Model.Solution_HSSEConstructSolutionApprove();
approve1.ConstructSolutionId = constructSolution.ConstructSolutionId;
approve1.ApproveDate = DateTime.Now;
approve1.ApproveMan = this.CurrUser.UserId;
approve1.ApproveType = Const.CQMSConstructSolution_Compile;
approve1.Edition = Convert.ToInt32(this.drpEdition.SelectedValue);
HSSEConstructSolutionApproveService.AddConstructSolutionApprove(approve1);
}
LogService.AddSys_Log(CurrUser, constructSolution.Code, ConstructSolutionId, Const.CQMSConstructSolutionMenuId, "添加施工方案");
//}
//提交
if (saveType == "submit")
{
countersign(constructSolution.ConstructSolutionId);
}
LogService.AddSys_Log(CurrUser, constructSolution.Code, ConstructSolutionId, Const.CQMSConstructSolutionMenuId, "编制方案审查");
}
#endregion
/// <summary>
/// 删除未选择的代办记录
/// </summary>
/// <param name="constructSolutionId"></param>
private void delSolutionApprove(string constructSolutionId, string man, string signType)
{
var count = HSSEConstructSolutionApproveService.getListSolutionApproveCount(constructSolutionId, man, signType);
if (count > 0)
{
HSSEConstructSolutionApproveService.delSolutionApprove(constructSolutionId, man);
}
}
/// <summary>
/// 会签
/// </summary>
private void countersign(string constructSolutionId)
{
var solution = HSSEConstructSolutionService.GetConstructSolutionByConstructSolutionId(constructSolutionId);
if (trOne.Nodes[0].Nodes.Count > 0)
{
foreach (TreeNode tn in trOne.Nodes[0].Nodes)
{
if (tn.Checked)
{
Model.Solution_HSSEConstructSolutionApprove approve = new Model.Solution_HSSEConstructSolutionApprove();
approve.ConstructSolutionId = constructSolutionId;
approve.ApproveMan = tn.NodeID;
approve.ApproveType = Const.CQMSConstructSolution_Audit;
approve.SignType = "ZY";
int edtion = Convert.ToInt32(this.drpEdition.SelectedValue);
if (solution != null)
{
// edtion++;
}
approve.Edition = edtion;
delSolutionApprove(constructSolutionId, tn.NodeID, "ZY");
HSSEConstructSolutionApproveService.AddConstructSolutionApprove(approve);
APICommonService.SendSubscribeMessage(approve.ApproveMan, "施工方案待办理", this.CurrUser.UserName, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now));
}
else
{
delSolutionApprove(constructSolutionId, tn.NodeID, "ZY");
}
}
}
if (trTwo.Nodes[0].Nodes.Count > 0)
{
foreach (TreeNode tn in trTwo.Nodes[0].Nodes)
{
if (tn.Checked)
{
Model.Solution_HSSEConstructSolutionApprove approve = new Model.Solution_HSSEConstructSolutionApprove();
approve.ConstructSolutionId = constructSolutionId;
approve.ApproveMan = tn.NodeID;
approve.ApproveType = Const.CQMSConstructSolution_Audit;
approve.SignType = "ZL";
int edtion = Convert.ToInt32(this.drpEdition.SelectedValue);
if (solution != null)
{
// edtion++;
}
approve.Edition = edtion;
delSolutionApprove(constructSolutionId, tn.NodeID, "ZL");
HSSEConstructSolutionApproveService.AddConstructSolutionApprove(approve);
APICommonService.SendSubscribeMessage(approve.ApproveMan, "施工方案待办理", this.CurrUser.UserName, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now));
}
else
{
delSolutionApprove(constructSolutionId, tn.NodeID, "ZL");
}
}
}
if (trThree.Nodes[0].Nodes.Count > 0)
{
foreach (TreeNode tn in trThree.Nodes[0].Nodes)
{
if (tn.Checked)
{
Model.Solution_HSSEConstructSolutionApprove approve = new Model.Solution_HSSEConstructSolutionApprove();
approve.ConstructSolutionId = constructSolutionId;
approve.ApproveMan = tn.NodeID;
approve.ApproveType = Const.CQMSConstructSolution_Audit;
approve.SignType = "AQ";
int edtion = Convert.ToInt32(this.drpEdition.SelectedValue);
if (solution != null)
{
// edtion++;
}
approve.Edition = edtion;
delSolutionApprove(constructSolutionId, tn.NodeID, "AQ");
HSSEConstructSolutionApproveService.AddConstructSolutionApprove(approve);
APICommonService.SendSubscribeMessage(approve.ApproveMan, "施工方案待办理", this.CurrUser.UserName, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now));
}
else
{
delSolutionApprove(constructSolutionId, tn.NodeID, "AQ");
}
}
}
if (trFour.Nodes[0].Nodes.Count > 0)
{
foreach (TreeNode tn in trFour.Nodes[0].Nodes)
{
if (tn.Checked)
{
Model.Solution_HSSEConstructSolutionApprove approve = new Model.Solution_HSSEConstructSolutionApprove();
approve.ConstructSolutionId = constructSolutionId;
approve.ApproveMan = tn.NodeID;
approve.ApproveType = Const.CQMSConstructSolution_Audit;
approve.SignType = "KZ";
int edtion = Convert.ToInt32(this.drpEdition.SelectedValue);
if (solution != null)
{
// edtion++;
}
approve.Edition = edtion;
delSolutionApprove(constructSolutionId, tn.NodeID, "KZ");
HSSEConstructSolutionApproveService.AddConstructSolutionApprove(approve);
APICommonService.SendSubscribeMessage(approve.ApproveMan, "施工方案待办理", this.CurrUser.UserName, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now));
}
else
{
delSolutionApprove(constructSolutionId, tn.NodeID, "KZ");
}
}
}
if (trFive.Nodes[0].Nodes.Count > 0)
{
foreach (TreeNode tn in trFive.Nodes[0].Nodes)
{
if (tn.Checked)
{
Model.Solution_HSSEConstructSolutionApprove approve = new Model.Solution_HSSEConstructSolutionApprove();
approve.ConstructSolutionId = constructSolutionId;
approve.ApproveMan = tn.NodeID;
approve.ApproveType = Const.CQMSConstructSolution_Audit;
approve.SignType = "SG";
int edtion = Convert.ToInt32(this.drpEdition.SelectedValue);
//if (solution != null)
//{
// edtion++;
//}
approve.Edition = edtion;
delSolutionApprove(constructSolutionId, tn.NodeID, "SG");
HSSEConstructSolutionApproveService.AddConstructSolutionApprove(approve);
APICommonService.SendSubscribeMessage(approve.ApproveMan, "施工方案待办理", this.CurrUser.UserName, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now));
}
else
{
delSolutionApprove(constructSolutionId, tn.NodeID, "SG");
}
}
}
if (trSixe.Nodes[0].Nodes.Count > 0)
{
foreach (TreeNode tn in trSixe.Nodes[0].Nodes)
{
if (tn.Checked)
{
Model.Solution_HSSEConstructSolutionApprove approve = new Model.Solution_HSSEConstructSolutionApprove();
approve.ConstructSolutionId = constructSolutionId;
approve.ApproveMan = tn.NodeID;
approve.ApproveType = Const.CQMSConstructSolution_Audit;
approve.SignType = "XM";
int edtion = Convert.ToInt32(this.drpEdition.SelectedValue);
//if (solution != null)
//{
// edtion++;
//}
approve.Edition = edtion;
delSolutionApprove(constructSolutionId, tn.NodeID, "XM");
HSSEConstructSolutionApproveService.AddConstructSolutionApprove(approve);
APICommonService.SendSubscribeMessage(approve.ApproveMan, "安全施工方案待办理", this.CurrUser.UserName, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now));
}
else
{
delSolutionApprove(constructSolutionId, tn.NodeID, "XM");
}
}
}
}
#region
/// <summary>
/// 设置树的节点选择
/// </summary>
/// <param name="nodes"></param>
/// <param name="role"></param>
private void SetCheck(Tree tree, List<string> userIds)
{
foreach (TreeNode tn in tree.Nodes[0].Nodes)
{
if (userIds.Contains(tn.NodeID))
{
tn.Checked = true;
}
}
}
private void initDropSameGroup(DropDownList drop , string type)
{
List<Sys_User> users = new List<Sys_User>();
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
switch (type)
{
case "ZY":
var userListzy = from x in db.Sys_User
join y in db.Project_ProjectUnit
on x.UnitId equals y.UnitId
join p in db.Project_ProjectUser
on x.UserId equals p.UserId
where p.RoleId.Contains(Const.ZBCNEngineer)
&& y.UnitType == Const.ProjectUnitType_1 && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId
select x;
users = userListzy.ToList();
break;
case "ZL":
var userListzl = from x in db.Sys_User
join y in db.Project_ProjectUnit
on x.UnitId equals y.UnitId
join p in db.Project_ProjectUser
on x.UserId equals p.UserId
where (p.RoleId.Contains(Const.QAManager) || p.RoleId.Contains(Const.CQEngineer))
&& y.UnitType == Const.ProjectUnitType_1 && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId
orderby x.UserCode
select x;
users = userListzl.ToList();
break;
case "AQ":
var userListaq = from x in db.Sys_User
join y in db.Project_ProjectUnit
on x.UnitId equals y.UnitId
join p in db.Project_ProjectUser
on x.UserId equals p.UserId
where (p.RoleId.Contains(Const.HSSEManager) || p.RoleId.Contains(Const.HSSEEngineer))
&& y.UnitType == Const.ProjectUnitType_1 && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId
orderby x.UserCode
select x;
users = userListaq.ToList();
break;
case "KZ":
var userListkz = from x in db.Sys_User
join y in db.Project_ProjectUnit
on x.UnitId equals y.UnitId
join p in db.Project_ProjectUser
on x.UserId equals p.UserId
where (p.RoleId.Contains(Const.ControlManager) || p.RoleId.Contains(Const.KZEngineer))
&& y.UnitType == Const.ProjectUnitType_1 && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId
orderby x.UserCode
select x;
users = userListkz.ToList();
break;
case "SG":
var userListsg = from x in db.Sys_User
join y in db.Project_ProjectUnit
on x.UnitId equals y.UnitId
join p in db.Project_ProjectUser
on x.UserId equals p.UserId
where (p.RoleId.Contains(Const.ConstructionManager) || p.RoleId.Contains(Const.ConstructionAssistantManager))
&& y.UnitType == Const.ProjectUnitType_1 && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId
orderby x.UserCode
select x;
users = userListsg.ToList();
break;
case "Xm":
var userListxm = from x in db.Sys_User
join y in db.Project_ProjectUnit
on x.UnitId equals y.UnitId
join p in db.Project_ProjectUser
on x.UserId equals p.UserId
where p.RoleId.Contains(Const.ProjectManager)
&& y.UnitType == Const.ProjectUnitType_1 && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId
orderby x.UserCode
select x;
users = userListxm.ToList();
break;
}
}
drop.DataTextField = "UserName";
drop.DataValueField = "UserId";
drop.DataSource = users;
drop.DataBind();
}
/// 加载角色树:动态加载
/// </summary>
private void BindZYRole()
{
TreeNode rootNode = new TreeNode();//定义根节点
rootNode.Text = "专业工程师";
rootNode.NodeID = "0";
rootNode.Expanded = true;
rootNode.EnableCheckEvent = true;
trOne.Nodes.Add(rootNode);
trOne.EnableCheckBox = true;
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var userList = from x in db.Sys_User
join y in db.Project_ProjectUnit
on x.UnitId equals y.UnitId
join p in db.Project_ProjectUser
on x.UserId equals p.UserId
where p.RoleId.Contains(Const.ZBCNEngineer)
&& y.UnitType == Const.ProjectUnitType_1 && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId
select x;
//var ss = LINQToDataTable(userList);
foreach (var u in userList)
{
TreeNode Node = new TreeNode();
Node.Text = u.UserName;
Node.NodeID = u.UserId;
Node.EnableCheckEvent = true;
rootNode.Nodes.Add(Node);
}
}
}
private void BindZLRole()
{
TreeNode rootNode = new TreeNode();//定义根节点
rootNode.Text = "质量组";
rootNode.NodeID = "0";
rootNode.Expanded = true;
rootNode.EnableCheckEvent = true;
trTwo.Nodes.Add(rootNode);
trTwo.EnableCheckBox = true;
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var userList = from x in db.Sys_User
join y in db.Project_ProjectUnit
on x.UnitId equals y.UnitId
join p in db.Project_ProjectUser
on x.UserId equals p.UserId
where (p.RoleId.Contains(Const.QAManager) || p.RoleId.Contains(Const.CQEngineer))
&& y.UnitType == Const.ProjectUnitType_1 && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId
orderby x.UserCode
select x;
foreach (var u in userList)
{
TreeNode roleNode = new TreeNode();
roleNode.Text = u.UserName;
roleNode.NodeID = u.UserId;
rootNode.Nodes.Add(roleNode);
}
}
}
/// <summary>
/// 判断是否有选择
/// </summary>
/// <param name="node"></param>
/// <returns></returns>
public Boolean nodesCheckd(Tree node)
{
bool res = false;
if (node.Nodes[0].Nodes.Count > 0)
{
foreach (var item in node.Nodes[0].Nodes)
{
if (item.Checked)
{
res = true;
break;
}
}
}
return res;
}
private void BindAQRole()
{
TreeNode rootNode = new TreeNode();//定义根节点
rootNode.Text = "HSE组";
rootNode.NodeID = "0";
rootNode.Expanded = true;
rootNode.EnableCheckEvent = true;
trThree.Nodes.Add(rootNode);
trThree.EnableCheckBox = true;
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var userList = from x in db.Sys_User
join y in db.Project_ProjectUnit
on x.UnitId equals y.UnitId
join p in db.Project_ProjectUser
on x.UserId equals p.UserId
where (p.RoleId.Contains(Const.HSSEManager) || p.RoleId.Contains(Const.HSSEEngineer))
&& y.UnitType == Const.ProjectUnitType_1 && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId
orderby x.UserCode
select x;
foreach (var u in userList)
{
TreeNode roleNode = new TreeNode();
roleNode.Text = u.UserName;
roleNode.NodeID = u.UserId;
rootNode.Nodes.Add(roleNode);
}
}
}
private void BindKZRole()
{
TreeNode rootNode = new TreeNode();//定义根节点
rootNode.Text = "控制组";
rootNode.NodeID = "0";
rootNode.Expanded = true;
rootNode.EnableCheckEvent = true;
trFour.Nodes.Add(rootNode);
trFour.EnableCheckBox = true;
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var userList = from x in db.Sys_User
join y in db.Project_ProjectUnit
on x.UnitId equals y.UnitId
join p in db.Project_ProjectUser
on x.UserId equals p.UserId
where (p.RoleId.Contains(Const.ControlManager) || p.RoleId.Contains(Const.KZEngineer))
&& y.UnitType == Const.ProjectUnitType_1 && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId
orderby x.UserCode
select x;
foreach (var u in userList)
{
TreeNode roleNode = new TreeNode();
roleNode.Text = u.UserName;
roleNode.NodeID = u.UserId;
rootNode.Nodes.Add(roleNode);
}
}
}
private void BindSGRole()
{
TreeNode rootNode = new TreeNode();//定义根节点
rootNode.Text = "施工经理";
rootNode.NodeID = "0";
rootNode.Expanded = true;
rootNode.EnableCheckEvent = true;
trFive.Nodes.Add(rootNode);
trFive.EnableCheckBox = true;
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var userList = from x in db.Sys_User
join y in db.Project_ProjectUnit
on x.UnitId equals y.UnitId
join p in db.Project_ProjectUser
on x.UserId equals p.UserId
where (p.RoleId.Contains(Const.ConstructionManager) || p.RoleId.Contains(Const.ConstructionAssistantManager))
&& y.UnitType == Const.ProjectUnitType_1 && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId
orderby x.UserCode
select x;
foreach (var u in userList)
{
TreeNode roleNode = new TreeNode();
roleNode.Text = u.UserName;
roleNode.NodeID = u.UserId;
rootNode.Nodes.Add(roleNode);
}
}
}
private void BindXMRole()
{
TreeNode rootNode = new TreeNode();//定义根节点
rootNode.Text = "项目经理";
rootNode.NodeID = "0";
rootNode.Expanded = true;
rootNode.EnableCheckEvent = true;
trSixe.Nodes.Add(rootNode);
trSixe.EnableCheckBox = true;
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var userList = from x in db.Sys_User
join y in db.Project_ProjectUnit
on x.UnitId equals y.UnitId
join p in db.Project_ProjectUser
on x.UserId equals p.UserId
where p.RoleId.Contains(Const.ProjectManager)
&& y.UnitType == Const.ProjectUnitType_1 && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId
orderby x.UserCode
select x;
foreach (var u in userList)
{
TreeNode roleNode = new TreeNode();
roleNode.Text = u.UserName;
roleNode.NodeID = u.UserId;
rootNode.Nodes.Add(roleNode);
}
}
}
#endregion
#region
protected void trOne_NodeCheck(object sender, TreeCheckEventArgs e)
{
if (e.Checked)
{
trOne.CheckAllNodes(e.Node.Nodes);
}
else
{
trOne.UncheckAllNodes(e.Node.Nodes);
}
}
protected void trTwo_NodeCheck(object sender, TreeCheckEventArgs e)
{
if (e.Checked)
{
trTwo.CheckAllNodes(e.Node.Nodes);
}
else
{
trTwo.UncheckAllNodes(e.Node.Nodes);
}
}
protected void trThree_NodeCheck(object sender, TreeCheckEventArgs e)
{
if (e.Checked)
{
trThree.CheckAllNodes(e.Node.Nodes);
}
else
{
trThree.UncheckAllNodes(e.Node.Nodes);
}
}
protected void trFour_NodeCheck(object sender, TreeCheckEventArgs e)
{
if (e.Checked)
{
trFour.CheckAllNodes(e.Node.Nodes);
}
else
{
trFour.UncheckAllNodes(e.Node.Nodes);
}
}
protected void trFive_NodeCheck(object sender, TreeCheckEventArgs e)
{
if (e.Checked)
{
trFive.CheckAllNodes(e.Node.Nodes);
}
else
{
trFive.UncheckAllNodes(e.Node.Nodes);
}
}
protected void trSixe_NodeCheck(object sender, TreeCheckEventArgs e)
{
if (e.Checked)
{
trSixe.CheckAllNodes(e.Node.Nodes);
}
else
{
trSixe.UncheckAllNodes(e.Node.Nodes);
}
}
#endregion
protected void imgBtnFile_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(HFConstructSolutionId.Text)) //新增记录
{
HFConstructSolutionId.Text = SQLHelper.GetNewID(typeof(Model.Solution_HSSEConstructSolution));
}
if (this.drpEdition.SelectedValue == "0" && this.imgBtnFile2.Hidden && this.State==Const.CQMSConstructSolution_Compile)//编辑的时候,查看当前版本
{
var edition = this.drpEdition.SelectedValue;
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(
String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/Solution&menuId={2}",
0, HFConstructSolutionId.Text + edition, Const.CQMSConstructSolutionMenuId)));
}
else if( this.State == Const.CQMSConstructSolution_ReCompile &&( this.drpEdition.SelectedIndex+1) == this.drpEdition.Items.Count)//编辑的时候,查看当前版本
{
var edition = this.drpEdition.SelectedValue;
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(
String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/Solution&menuId={2}",
0, HFConstructSolutionId.Text + edition, Const.CQMSConstructSolutionMenuId)));
}else
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(
String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/Solution&menuId={2}",
-1, HFConstructSolutionId.Text + this.drpEdition.SelectedValue, Const.CQMSConstructSolutionMenuId)));
}
}
protected void imgBtnFile_Click2(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(HFConstructSolutionId.Text)) //新增记录
{
HFConstructSolutionId.Text = SQLHelper.GetNewID(typeof(Model.Solution_HSSEConstructSolution));
}
var edition = this.drpEdition.SelectedValue;
if (this.imgBtnFile2.Hidden == false)
{
edition = "" + (Convert.ToInt32(this.drpEdition.SelectedValue) - 1);
}
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(
String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/Solution&menuId={2}",
-1, HFConstructSolutionId.Text + edition, Const.CQMSConstructSolutionMenuId)));
}
protected void btnapprove_Click(object sender, EventArgs e)
{
//HFConstructSolutionId.Text
var approve = HSSEConstructSolutionApproveService.GetConstructSolutionApproveByApproveMan(HFConstructSolutionId.Text, CurrUser.UserId);
if (approve != null)
{
var approveId = approve.ConstructSolutionApproveId;
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(
String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/Solution&menuId={2}",
0, approveId, Const.CQMSConstructSolutionMenuId)));
}
}
protected void rblIsAgree_CheckedChanged(object sender, EventArgs e)
{
if (this.rblIsAgree.SelectedIndex == 2)
{
sameGroup.Hidden = false;
optio.Hidden =true ;
options.Hidden = true;
}
else
{
sameGroup.Hidden = true;
optio.Hidden = false;
options.Hidden = false;
}
}
protected void gvApprove_RowCommand(object sender, GridCommandEventArgs e)
{
object[] keys = gvApprove.DataKeys[e.RowIndex];
string fileId = string.Empty;
if (keys == null)
{
return;
}
else
{
fileId = keys[0].ToString();
var appr = Funs.DB.Solution_HSSEConstructSolutionApprove.Where(u => u.ConstructSolutionApproveId == fileId).FirstOrDefault();
if (appr.ApproveType == Const.CQMSConstructSolution_Compile || appr.ApproveType == Const.CQMSConstructSolution_ReCompile)
{
fileId = appr.ConstructSolutionId + appr.Edition;
}
}
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(
String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/Solution&menuId={2}",
-1, fileId, Const.CQMSConstructSolutionMenuId)));
}
/// <summary>
/// 根据施工方案加载专项施工方案
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void drpModelType_SelectedIndexChanged(object sender, EventArgs e)
{
if (drpModelType.SelectedValue != BLL.Const._Null)
{
if (this.drpModelType.SelectedItem.Text == "施工组织设计")
{
this.drpSpecialType.Enabled = false;
this.drpSpecialType.SelectedValue = null;
this.drpSpecialType.Required = false;
}
else if (this.drpModelType.SelectedItem.Text == "一般方案")
{
BLL.SpecialSchemeTypeService.InitSpecialSchemeTypeDropDownList(drpSpecialType, 2, false);
this.drpSpecialType.Enabled = true;
this.drpSpecialType.Required = true;
}
else
{
BLL.SpecialSchemeTypeService.InitSpecialSchemeTypeDropDownList(drpSpecialType, 1, false);
this.drpSpecialType.Enabled = true;
this.drpSpecialType.Required = true;
}
}
}
/// <summary>
/// 审批列表删除记录
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnRevoke_Click(object sender, EventArgs e)
{
System.Web.UI.WebControls.Button btn = (System.Web.UI.WebControls.Button)sender;
// 获取点击按钮所在的行索引
int rowIndex = (btn.NamingContainer as IDataItemContainer).DisplayIndex;
var ID = gvApprove.DataKeys[rowIndex][0];
var approve = Funs.DB.Solution_HSSEConstructSolutionApprove.Where(x => x.ConstructSolutionApproveId == ID).FirstOrDefault();
if (approve != null)
{
approve.ApproveDate = null;
approve.ApproveIdea = null;
approve.IsAgree = null;
Funs.DB.SubmitChanges();
}
//更新方案状态
Model.Solution_HSSEConstructSolution constructSolution = HSSEConstructSolutionService.GetConstructSolutionByConstructSolutionId(ConstructSolutionId);
var ApproveModel = HSSEConstructSolutionApproveService.getListData(ConstructSolutionId).LastOrDefault() ;
if (constructSolution != null)
{
if (ApproveModel != null)
{
constructSolution.State = ApproveModel.ApproveType;
}
else
{
constructSolution.State = Const.CQMSConstructSolution_Compile;
}
}
HSSEConstructSolutionService.UpdateConstructSolution(constructSolution);
bindApprove();
}
}
}