457 lines
20 KiB
C#
457 lines
20 KiB
C#
using BLL;
|
||
using Model;
|
||
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;
|
||
}
|
||
}
|
||
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, Const.CQMSConstructSolutionMenuId)));
|
||
}
|
||
private string GetUserNames(string Ids)
|
||
{
|
||
string[] arr = Ids.Split(',');
|
||
var data = Funs.DB.Sys_User.Where(t => arr.Contains(t.UserId)).Select(t => t.UserName).ToList();
|
||
if (data.Count > 0)
|
||
return string.Join(",", data);
|
||
return null;
|
||
|
||
}
|
||
|
||
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
if (!IsPostBack)
|
||
{
|
||
|
||
ConstructSolutionId = Request.Params["constructSolutionId"];
|
||
if (Funs.DB.Solution_CQMSConstructSolutionApprove_Item.Where(x => x.ConstructSolutionId == ConstructSolutionId).OrderBy(x => x.SortId).ToList().Count > 0)
|
||
{
|
||
//有重报的情况,显示options1
|
||
options1.Hidden = false;
|
||
var complianceObligationsCs = Funs.DB.Solution_CQMSConstructSolutionApprove_Item.Where(x => x.ConstructSolutionId == ConstructSolutionId)
|
||
.OrderBy(x => x.Proposer).OrderBy(x => x.SortId).ToList();
|
||
if (complianceObligationsCs.Count > 0)
|
||
{
|
||
gvOperateComplianceObligations.DataSource = complianceObligationsCs;
|
||
gvOperateComplianceObligations.DataBind();
|
||
}
|
||
}
|
||
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 (!string.IsNullOrWhiteSpace(constructSolution.CNProfessionalCodes))
|
||
{
|
||
txtCNProfessional.Text = CQMSConstructSolutionService.GetProfessionalName(constructSolution.CNProfessionalCodes);
|
||
}
|
||
if (constructSolution.Edition != null)
|
||
{
|
||
txtEdition.Text = constructSolution.Edition.ToString();
|
||
}
|
||
txtDocContent.Text = HttpUtility.HtmlDecode(constructSolution.Content);
|
||
|
||
bindApprove();
|
||
BindZYRole();
|
||
BindZLRole();
|
||
BindAQRole();
|
||
BindKZRole();
|
||
BindSGRole();
|
||
BindXMRole();
|
||
var zyUserIds = CQMSConstructSolutionApproveService.GetUserIdsApprovesBySignType(ConstructSolutionId, "Yi");
|
||
if (zyUserIds.Count > 0)
|
||
{
|
||
var zyUserIdsStr = string.Join(",", zyUserIds);
|
||
txtzyUserIds.Text = GetUserNames(zyUserIdsStr);
|
||
|
||
SetCheck(trOne, zyUserIds);
|
||
}
|
||
else {
|
||
zyUserIds =
|
||
CQMSConstructSolutionApproveService.GetUserIdsApprovesBySignTypeNew(ConstructSolutionId, "Yi");
|
||
if (zyUserIds.Count > 0)
|
||
{
|
||
var zyUserIdsStr = string.Join(",", zyUserIds);
|
||
txtzyUserIds.Text = GetUserNames(zyUserIdsStr);
|
||
|
||
SetCheck(trOne, zyUserIds);
|
||
}
|
||
}
|
||
//var zlUserIds = CQMSConstructSolutionApproveService.GetUserIdsApprovesBySignType(ConstructSolutionId, "Er");
|
||
//if (zlUserIds.Count > 0)
|
||
//{
|
||
// SetCheck(trTwo, zlUserIds);
|
||
//}
|
||
var aqUserIds = CQMSConstructSolutionApproveService.GetUserIdsApprovesBySignType(ConstructSolutionId, "Er");
|
||
if (aqUserIds.Count > 0)
|
||
{
|
||
var zyUserIdsStr = string.Join(",", aqUserIds);
|
||
txtaqUserIds.Text = GetUserNames(zyUserIdsStr);
|
||
|
||
SetCheck(trThree, aqUserIds);
|
||
}
|
||
else {
|
||
aqUserIds =
|
||
CQMSConstructSolutionApproveService.GetUserIdsApprovesBySignTypeNew(ConstructSolutionId, "Er");
|
||
if (aqUserIds.Count > 0)
|
||
{
|
||
var zyUserIdsStr = string.Join(",", aqUserIds);
|
||
txtaqUserIds.Text = GetUserNames(zyUserIdsStr);
|
||
|
||
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)
|
||
{
|
||
var zyUserIdsStr = string.Join(",", sgUserIds);
|
||
//txtsgUserIds.Text = GetUserNames(zyUserIdsStr);
|
||
|
||
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);
|
||
}
|
||
}
|
||
if (!string.IsNullOrEmpty(constructSolution.CsUsers))
|
||
{
|
||
txtCsUsers.Text= GetUserNames(constructSolution.CsUsers);
|
||
}
|
||
|
||
AddAttachTab();
|
||
}
|
||
}
|
||
}
|
||
|
||
#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);
|
||
gvApprove.DataSource = list;
|
||
gvApprove.DataBind();
|
||
}
|
||
private void AddAttachTab()
|
||
{
|
||
PageContext.RegisterStartupScript(TabStrip1.GetAddTabReference("dynamic_tab2",
|
||
String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/Solution&menuId={2}",
|
||
-1, ConstructSolutionId, Const.CQMSConstructSolutionMenuId), "附件",
|
||
IconHelper.GetIconUrl(Icon.Attach), false));
|
||
|
||
// PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/DocManage&menuId={1}", hdDocId.Text, Const.DocManageMenuId)));
|
||
}
|
||
|
||
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();
|
||
}
|
||
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(
|
||
String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/Solution&menuId={2}",
|
||
-1, fileId, Const.CQMSConstructSolutionMenuId)));
|
||
}
|
||
}
|
||
} |