467 lines
20 KiB
C#
467 lines
20 KiB
C#
using BLL;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
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 ConstructSolutionView : PageBase
|
|
{
|
|
public string ConstructSolutionId
|
|
{
|
|
get
|
|
{
|
|
return (string)ViewState["ConstructSolutionId"];
|
|
}
|
|
set
|
|
{
|
|
ViewState["ConstructSolutionId"] = value;
|
|
}
|
|
}
|
|
public string lastCanRemoveApproveId
|
|
{
|
|
|
|
get
|
|
{
|
|
return (string)ViewState["lastCanRemoveApproveId"];
|
|
}
|
|
set
|
|
{
|
|
ViewState["lastCanRemoveApproveId"] = value;
|
|
}
|
|
}
|
|
protected void imgBtnFile_Click(object sender, EventArgs e)
|
|
{
|
|
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(
|
|
String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/Solution&menuId={2}",
|
|
-1, ConstructSolutionId+this.drpEdition.SelectedValue, Const.CQMSConstructSolutionMenuId)));
|
|
}
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (!IsPostBack)
|
|
{
|
|
|
|
ConstructSolutionId = Request.Params["constructSolutionId"];
|
|
if (!string.IsNullOrWhiteSpace(ConstructSolutionId))
|
|
{
|
|
txtProjectName.Text = ProjectService.GetProjectByProjectId(CurrUser.LoginProjectId).ProjectName;
|
|
Model.Solution_CQMSConstructSolution constructSolution = CQMSConstructSolutionService.GetConstructSolutionByConstructSolutionId(ConstructSolutionId);
|
|
txtCode.Text = constructSolution.Code;
|
|
if (!string.IsNullOrEmpty(constructSolution.UnitId))
|
|
{
|
|
drpUnit.Text = UnitService.GetUnitNameByUnitId(constructSolution.UnitId);
|
|
}
|
|
if (!string.IsNullOrEmpty(constructSolution.SolutionType))
|
|
{
|
|
drpModelType.Text = BLL.SolutionTempleteTypeService.GetSolutionTempleteTypeById(constructSolution.SolutionType).SolutionTempleteTypeName;
|
|
}
|
|
if (!string.IsNullOrEmpty(constructSolution.SpecialSchemeTypeId))
|
|
{
|
|
txtSpecialType.Text = BLL.SpecialSchemeTypeService.GetSpecialSchemeTypeById(constructSolution.SpecialSchemeTypeId).SpecialSchemeTypeName;
|
|
}
|
|
if (constructSolution.CompileDate != null)
|
|
{
|
|
txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", constructSolution.CompileDate);
|
|
}
|
|
txtSolutionName.Text = constructSolution.SolutionName;
|
|
if (!string.IsNullOrWhiteSpace(constructSolution.UnitWorkIds))
|
|
{
|
|
txtUnitWork.Text = UnitWorkService.GetUnitWorkName(constructSolution.UnitWorkIds);
|
|
|
|
}
|
|
if (constructSolution.IsHSSE == true)
|
|
{
|
|
this.cbIsHSSE.Checked = true;
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(constructSolution.CNProfessionalCodes))
|
|
{
|
|
txtCNProfessional.Text = CQMSConstructSolutionService.GetProfessionalName(constructSolution.CNProfessionalCodes);
|
|
}
|
|
if (constructSolution.Edition != null)
|
|
{
|
|
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;
|
|
}
|
|
bindApprove();
|
|
BindZYRole();
|
|
BindZLRole();
|
|
BindAQRole();
|
|
BindKZRole();
|
|
BindSGRole();
|
|
BindXMRole();
|
|
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 (!string.IsNullOrEmpty(Request.Params["see"]))
|
|
{
|
|
Model.Solution_CQMSConstructSolutionApprove approve = BLL.CQMSConstructSolutionApproveService.GetSee(ConstructSolutionId, this.CurrUser.UserId);
|
|
if (approve != null)
|
|
{
|
|
approve.ApproveDate = DateTime.Now;
|
|
BLL.CQMSConstructSolutionApproveService.UpdateConstructSolutionApprove(approve);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#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
|
|
/// <summary>
|
|
/// 审批列表
|
|
/// </summary>
|
|
private void bindApprove()
|
|
{
|
|
var list = CQMSConstructSolutionApproveService.getListData(ConstructSolutionId);
|
|
//var user = UserService.GetAllUserList(CurrUser.LoginProjectId);
|
|
if (list.Count() > 0)
|
|
{
|
|
var last = list.LastOrDefault();
|
|
if (last.ApproveMan == CurrUser.UserId)
|
|
{
|
|
btnRevoke.Hidden = false;
|
|
lastCanRemoveApproveId = last.ConstructSolutionApproveId;
|
|
}
|
|
}
|
|
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;
|
|
}
|
|
|
|
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_CQMSConstructSolutionApprove.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 btnRevoke_Click(object sender, EventArgs e)
|
|
{
|
|
//Confirm confirm = new Confirm();
|
|
//confirm.Message = "您真的要执行撤回审核操作吗?";
|
|
//confirm.Title = "确认操作";
|
|
//confirm.MessageBoxIcon = MessageBoxIcon.Question;
|
|
//confirm .
|
|
//confirm.Show();
|
|
var approve = Funs.DB.Solution_CQMSConstructSolutionApprove.Where(x => x.ConstructSolutionApproveId == lastCanRemoveApproveId).FirstOrDefault();
|
|
if (approve != null)
|
|
{
|
|
approve.ApproveDate = null;
|
|
approve.ApproveIdea = null;
|
|
approve.IsAgree = null;
|
|
Funs.DB.SubmitChanges();
|
|
}
|
|
|
|
//更新方案状态
|
|
Model.Solution_CQMSConstructSolution constructSolution = CQMSConstructSolutionService.GetConstructSolutionByConstructSolutionId(ConstructSolutionId);
|
|
var ApproveModel = CQMSConstructSolutionApproveService.getListData(ConstructSolutionId).LastOrDefault();
|
|
if (constructSolution != null)
|
|
{
|
|
if (ApproveModel != null)
|
|
{
|
|
constructSolution.State = ApproveModel.ApproveType;
|
|
}
|
|
else
|
|
{
|
|
constructSolution.State = Const.CQMSConstructSolution_Compile;
|
|
}
|
|
}
|
|
CQMSConstructSolutionService.UpdateConstructSolution(constructSolution);
|
|
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
|
|
|
Alert.ShowInTop("撤销成功", MessageBoxIcon.Success);
|
|
}
|
|
|
|
}
|
|
} |