CNCEC_SUBQHSE_WUHUAN/SGGL/FineUIPro.Web/CQMS/Solution/EditConstructSolution.aspx.cs

1169 lines
50 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 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.CQMS.Solution
{
public partial class EditConstructSolution : PageBase
{
#region
/// <summary>
/// 方案审查主键
/// </summary>
public string ConstructSolutionId
{
get
{
return (string)ViewState["ConstructSolutionId"];
}
set
{
ViewState["ConstructSolutionId"] = value;
}
}
#endregion
#region
/// <summary>
/// 定义会签意见集合
/// </summary>
public static List<Model.Solution_CQMSConstructSolutionApprove> approves = new List<Model.Solution_CQMSConstructSolutionApprove>();
#endregion
public int ContactImg
{
get
{
return Convert.ToInt32(ViewState["ContactImg"]);
}
set
{
ViewState["ContactImg"] = 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();
BLL.SolutionTempleteTypeService.InitSolutionTempleteDropDownList(drpModelType, false);
BLL.SpecialSchemeTypeService.InitSpecialSchemeTypeDropDownList(drpSpecialType, false);
UnitService.InitUnitByProjectIdUnitTypeDropDownList(drpUnit, CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2, 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"];
if (!string.IsNullOrWhiteSpace(ConstructSolutionId))
{
HFConstructSolutionId.Text = ConstructSolutionId;
Model.Solution_CQMSConstructSolution constructSolution = CQMSConstructSolutionService.GetConstructSolutionByConstructSolutionId(ConstructSolutionId);
txtCode.Text = constructSolution.Code;
if (!string.IsNullOrEmpty(constructSolution.UnitId))
{
drpUnit.SelectedValue = constructSolution.UnitId;
}
if (!string.IsNullOrEmpty(constructSolution.SolutionType))
{
drpModelType.SelectedValue = constructSolution.SolutionType;
}
if (!string.IsNullOrEmpty(constructSolution.SpecialSchemeTypeId))
{
if (!string.IsNullOrEmpty(constructSolution.SolutionType))
{
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)
{
txtEdition.Text = constructSolution.Edition.ToString();
}
bindApprove();
var zyUserIds = CQMSConstructSolutionApproveService.GetUserIdsApprovesBySignType(ConstructSolutionId, "ZY");
if (zyUserIds.Count > 0)
{
SetCheck(trOne, zyUserIds);
}
var zlUserIds = CQMSConstructSolutionApproveService.GetUserIdsApprovesBySignType(ConstructSolutionId, "ZL");
if (zlUserIds.Count > 0)
{
SetCheck(trTwo, zlUserIds);
}
var aqUserIds = CQMSConstructSolutionApproveService.GetUserIdsApprovesBySignType(ConstructSolutionId, "AQ");
if (aqUserIds.Count > 0)
{
SetCheck(trThree, aqUserIds);
}
var kzUserIds = CQMSConstructSolutionApproveService.GetUserIdsApprovesBySignType(ConstructSolutionId, "KZ");
if (kzUserIds.Count > 0)
{
SetCheck(trFour, kzUserIds);
}
var sgUserIds = CQMSConstructSolutionApproveService.GetUserIdsApprovesBySignType(ConstructSolutionId, "SG");
if (sgUserIds.Count > 0)
{
SetCheck(trFive, sgUserIds);
}
var xmUserIds = CQMSConstructSolutionApproveService.GetUserIdsApprovesBySignType(ConstructSolutionId, "XM");
if (xmUserIds.Count > 0)
{
SetCheck(trSixe, xmUserIds);
}
if (constructSolution.State == Const.CQMSConstructSolution_ReCompile)
{
agree.Hidden = true;
options.Hidden = true;
optio.Hidden = true;
}
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 = 0;
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;
Panel2.Enabled = true;
rblIsAgree.Hidden = true;
rblIsAgree.Required = false;
options.Hidden = true;
txtOptions.Required = false;
optio.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;
txtEdition.Text = "0";
options.Hidden = true;
optio.Hidden = true;
plApprove2.Hidden = true;
txtCode.Text = SQLHelper.RunProcNewId2("SpGetNewCode3ByProjectId", "dbo.Solution_CQMSConstructSolution", "Code", CurrUser.LoginProjectId);
}
txtProjectName.Text = ProjectService.GetProjectByProjectId(CurrUser.LoginProjectId).ProjectName;
}
}
/// <summary>
/// 审批列表
/// </summary>
private void bindApprove()
{
var list = CQMSConstructSolutionApproveService.getListData(ConstructSolutionId);
gvApprove.DataSource = list;
gvApprove.DataBind();
}
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))
{
SaveCQMSConstructSolution("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, "submmit");
}
/// <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;
if (!AttachFileService.Getfile(HFConstructSolutionId.Text, Const.CQMSConstructSolutionMenuId))
{
err += "请上传附件,";
}
//if (string.IsNullOrEmpty(hdFilePath.Value))
//{
// err += "请上传附件,";
//}
//if (trOne.Nodes[0].Nodes.Count == 0 && trTwo.Nodes.Count == 0 && trThree.Nodes.Count == 0 &&
// trFour.Nodes.Count == 0 && trFive.Nodes.Count == 0 && trSixe.Nodes.Count == 0)
//{
// err += "请选择总包会签人员,";
//}
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")
{
SaveCQMSConstructSolution("save");
}
else
{
SaveCQMSConstructSolution("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_CQMSConstructSolution constructSolution = new Model.Solution_CQMSConstructSolution();
constructSolution.Code = txtCode.Text.Trim();
constructSolution.ProjectId = CurrUser.LoginProjectId;
if (drpUnit.SelectedValue != "0")
{
constructSolution.UnitId = drpUnit.SelectedValue;
}
if (drpModelType.SelectedValue != "0")
{
constructSolution.SolutionType = drpModelType.SelectedValue;
}
if (drpSpecialType.SelectedValue != "0")
{
constructSolution.SpecialSchemeTypeId = drpSpecialType.SelectedValue;
}
constructSolution.SolutionName = txtSolutionName.Text.Trim();
int edtion = Convert.ToInt32(txtEdition.Text);
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_CQMSConstructSolution constructSolution1 = CQMSConstructSolutionService.GetConstructSolutionByConstructSolutionId(ConstructSolutionId);
if (saveType == "submit")
{
if (CurrUser.UserId != constructSolution1.CompileMan) //办理人不是编制人,提示查看审批信息
{
Model.Solution_CQMSConstructSolutionApprove sApprove = new Model.Solution_CQMSConstructSolutionApprove();
sApprove.ConstructSolutionId = constructSolution.ConstructSolutionId;
sApprove.ApproveMan = constructSolution1.CompileMan;
sApprove.ApproveType = "S";
CQMSConstructSolutionApproveService.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_CQMSConstructSolutionApprove approve = CQMSConstructSolutionApproveService.GetConstructSoluAppByApproveMan(ConstructSolutionId, CurrUser.UserId, Convert.ToInt32(constructSolution1.Edition));
if (saveType == "submit")
{
approve.ApproveDate = DateTime.Now;
}
approve.Edition = Convert.ToInt32(edtion);
approve.IsAgree = Convert.ToBoolean(rblIsAgree.SelectedValue);
approve.ApproveIdea = txtOptions.Text.Trim();
CQMSConstructSolutionApproveService.UpdateConstructSolutionApprove(approve);
}
else
{
if (saveType == "submit")
{
if (constructSolution1.State == Const.CQMSConstructSolution_Audit)//==会签状态升级版本
{
Model.Solution_CQMSConstructSolutionApprove reApprove = new Model.Solution_CQMSConstructSolutionApprove();
reApprove.ConstructSolutionId = constructSolution.ConstructSolutionId;
reApprove.ApproveDate = DateTime.Now;
reApprove.ApproveMan = constructSolution1.CompileMan;
reApprove.ApproveType = Const.CQMSConstructSolution_ReCompile;
edtion++;
reApprove.Edition = edtion;
CQMSConstructSolutionApproveService.AddConstructSolutionApprove(reApprove);
}
else
{
Model.Solution_CQMSConstructSolutionApprove approves = CQMSConstructSolutionApproveService.GetConstructSolApproveByApproveMan(ConstructSolutionId, constructSolution1.CompileMan);
approves.ApproveDate = DateTime.Now;
CQMSConstructSolutionApproveService.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;
}
CQMSConstructSolutionService.UpdateConstructSolution(constructSolution);
//判断状态,全部会签同意,则审批完成
if (saveType == "submit")
{
List<Model.Solution_CQMSConstructSolutionApprove> allApproves = CQMSConstructSolutionApproveService.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 = CQMSConstructSolutionService.GetConstructSolutionByConstructSolutionId(ConstructSolutionId);
cons.State = Const.CQMSConstructSolution_Complete;
cons.CompileDate = DateTime.Now;
CQMSConstructSolutionService.UpdateConstructSolution(cons);
}
//有不同意意见,打回重新编制
if (fcount > 0)
{
var cons = CQMSConstructSolutionService.GetConstructSolutionByConstructSolutionId(ConstructSolutionId);
Model.Solution_CQMSConstructSolutionApprove reApprove = new Model.Solution_CQMSConstructSolutionApprove();
reApprove.ConstructSolutionId = constructSolution.ConstructSolutionId;
reApprove.ApproveMan = cons.CompileMan;
reApprove.ApproveType = Const.CQMSConstructSolution_ReCompile;
edtion++;
reApprove.Edition = edtion;
CQMSConstructSolutionApproveService.AddConstructSolutionApprove(reApprove);
cons.State = Const.CQMSConstructSolution_ReCompile;
cons.CompileDate = DateTime.Now;
constructSolution.State = Const.CQMSConstructSolution_ReCompile;
CQMSConstructSolutionService.UpdateConstructSolution(cons);
}
}
}
LogService.AddSys_Log(CurrUser, constructSolution.Code, ConstructSolutionId, Const.CQMSConstructSolutionMenuId, "修改施工方案");
}
}
#endregion
#region
/// <summary>
/// 保存方案审查
/// </summary>
/// <param name="saveType">保存类型</param>
private void SaveCQMSConstructSolution(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_CQMSConstructSolution constructSolution = new Model.Solution_CQMSConstructSolution();
constructSolution.Code = txtCode.Text.Trim();
constructSolution.ProjectId = CurrUser.LoginProjectId;
if (drpUnit.SelectedValue != "0")
{
constructSolution.UnitId = drpUnit.SelectedValue;
}
if (drpModelType.SelectedValue != "0")
{
constructSolution.SolutionType = drpModelType.SelectedValue;
}
if (drpSpecialType.SelectedValue != "0")
{
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 (saveType == "submit")
{
constructSolution.State = Const.CQMSConstructSolution_Audit;
}
else
{
constructSolution.State = Const.CQMSConstructSolution_Compile;
}
if (!string.IsNullOrEmpty(HFConstructSolutionId.Text))
{
constructSolution.ConstructSolutionId = HFConstructSolutionId.Text;
}
else
{
constructSolution.ConstructSolutionId = SQLHelper.GetNewID(typeof(Model.Solution_CQMSConstructSolution));
}
constructSolution.CompileMan = CurrUser.UserId;
constructSolution.Edition = Convert.ToInt32(txtEdition.Text);
CQMSConstructSolutionService.AddConstructSolution(constructSolution);
if (saveType == "submit")
{
Model.Solution_CQMSConstructSolutionApprove approve1 = new Model.Solution_CQMSConstructSolutionApprove();
approve1.ConstructSolutionId = constructSolution.ConstructSolutionId;
approve1.ApproveDate = DateTime.Now;
approve1.ApproveMan = this.CurrUser.UserId;
approve1.ApproveType = Const.CQMSConstructSolution_Compile;
approve1.Edition = Convert.ToInt32(txtEdition.Text);
CQMSConstructSolutionApproveService.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 = CQMSConstructSolutionApproveService.getListSolutionApproveCount(constructSolutionId, man, signType);
if (count > 0)
{
CQMSConstructSolutionApproveService.delSolutionApprove(constructSolutionId, man);
}
}
/// <summary>
/// 会签
/// </summary>
private void countersign(string constructSolutionId)
{
var solution = CQMSConstructSolutionService.GetConstructSolutionByConstructSolutionId(ConstructSolutionId);
if (trOne.Nodes[0].Nodes.Count > 0)
{
foreach (TreeNode tn in trOne.Nodes[0].Nodes)
{
if (tn.Checked)
{
Model.Solution_CQMSConstructSolutionApprove approve = new Model.Solution_CQMSConstructSolutionApprove();
approve.ConstructSolutionId = constructSolutionId;
approve.ApproveMan = tn.NodeID;
approve.ApproveType = Const.CQMSConstructSolution_Audit;
approve.SignType = "ZY";
int edtion = Convert.ToInt32(txtEdition.Text);
if (solution != null)
{
edtion++;
}
approve.Edition = edtion;
delSolutionApprove(constructSolutionId, tn.NodeID, "ZY");
CQMSConstructSolutionApproveService.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_CQMSConstructSolutionApprove approve = new Model.Solution_CQMSConstructSolutionApprove();
approve.ConstructSolutionId = constructSolutionId;
approve.ApproveMan = tn.NodeID;
approve.ApproveType = Const.CQMSConstructSolution_Audit;
approve.SignType = "ZL";
int edtion = Convert.ToInt32(txtEdition.Text);
if (solution != null)
{
edtion++;
}
approve.Edition = edtion;
delSolutionApprove(constructSolutionId, tn.NodeID, "ZL");
CQMSConstructSolutionApproveService.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_CQMSConstructSolutionApprove approve = new Model.Solution_CQMSConstructSolutionApprove();
approve.ConstructSolutionId = constructSolutionId;
approve.ApproveMan = tn.NodeID;
approve.ApproveType = Const.CQMSConstructSolution_Audit;
approve.SignType = "AQ";
int edtion = Convert.ToInt32(txtEdition.Text);
if (solution != null)
{
edtion++;
}
approve.Edition = edtion;
delSolutionApprove(constructSolutionId, tn.NodeID, "AQ");
CQMSConstructSolutionApproveService.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_CQMSConstructSolutionApprove approve = new Model.Solution_CQMSConstructSolutionApprove();
approve.ConstructSolutionId = constructSolutionId;
approve.ApproveMan = tn.NodeID;
approve.ApproveType = Const.CQMSConstructSolution_Audit;
approve.SignType = "KZ";
int edtion = Convert.ToInt32(txtEdition.Text);
if (solution != null)
{
edtion++;
}
approve.Edition = edtion;
delSolutionApprove(constructSolutionId, tn.NodeID, "KZ");
CQMSConstructSolutionApproveService.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_CQMSConstructSolutionApprove approve = new Model.Solution_CQMSConstructSolutionApprove();
approve.ConstructSolutionId = constructSolutionId;
approve.ApproveMan = tn.NodeID;
approve.ApproveType = Const.CQMSConstructSolution_Audit;
approve.SignType = "SG";
int edtion = Convert.ToInt32(txtEdition.Text);
if (solution != null)
{
edtion++;
}
approve.Edition = edtion;
delSolutionApprove(constructSolutionId, tn.NodeID, "SG");
CQMSConstructSolutionApproveService.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_CQMSConstructSolutionApprove approve = new Model.Solution_CQMSConstructSolutionApprove();
approve.ConstructSolutionId = constructSolutionId;
approve.ApproveMan = tn.NodeID;
approve.ApproveType = Const.CQMSConstructSolution_Audit;
approve.SignType = "XM";
int edtion = Convert.ToInt32(txtEdition.Text);
if (solution != null)
{
edtion++;
}
approve.Edition = edtion;
delSolutionApprove(constructSolutionId, tn.NodeID, "XM");
CQMSConstructSolutionApproveService.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;
}
}
}
/// 加载角色树:动态加载
/// </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_CQMSConstructSolution));
}
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(
String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/Solution&menuId={2}",
ContactImg, HFConstructSolutionId.Text, Const.CQMSConstructSolutionMenuId)));
}
protected void btnapprove_Click(object sender, EventArgs e)
{
//HFConstructSolutionId.Text
var approve = CQMSConstructSolutionApproveService.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 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();
}
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
{
this.drpSpecialType.Enabled = true;
this.drpSpecialType.Required = true;
}
}
}
}
}