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.Information { public partial class VisaApplicationView : PageBase { #region 定义变量 /// /// 方案审查主键 /// public string VisaApplicationId { get { return (string)ViewState["VisaApplicationId"]; } set { ViewState["VisaApplicationId"] = value; } } #endregion #region 定义集合 /// /// 定义会签意见集合 /// public static List approves = new List(); #endregion public int ContactImg { get { return Convert.ToInt32(ViewState["ContactImg"]); } set { ViewState["ContactImg"] = value; } } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BLL.SecretLevelService.InitSecretLevelDropDownList(drpSecretLevel, true); UnitService.InitUnitByProjectIdUnitTypeDropDownList(drpUnit, CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2, true); BindXMRole(); BindSJRole(); BindCGRole(); BindSGRole(); BindSCRole(); BindYZRole(); BindQTRole(); ContactImg = 0; //CommonService.GetAllButtonList(CurrUser.LoginProjectId, CurrUser.UserId, Const.VisaApplicationMenuId); txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now); VisaApplicationId = Request.Params["visaApplicationId"]; if (!string.IsNullOrWhiteSpace(VisaApplicationId)) { HFVisaApplicationId.Text = VisaApplicationId; Model.CQMS_VisaApplication visaApplication = VisaApplicationService.GetVisaApplicationByVisaApplicationId(VisaApplicationId); txtVisaApplicationCode.Text = visaApplication.VisaApplicationCode; if (!string.IsNullOrEmpty(visaApplication.SecretLevelId)) { drpSecretLevel.SelectedValue = visaApplication.SecretLevelId; } if (!string.IsNullOrEmpty(visaApplication.UnitId)) { drpUnit.SelectedValue = visaApplication.UnitId; BindFBRole(); } this.txtContractNo.Text = visaApplication.ContractNo; this.txtTaskTheme.Text = visaApplication.TaskTheme; if (!string.IsNullOrEmpty(visaApplication.ApplicableProcedures)) { this.rblApplicableProcedures.SelectedValue = visaApplication.ApplicableProcedures; } this.txtReasons.Text = visaApplication.Reasons; this.txtJobDescription.Text = visaApplication.JobDescription; if (visaApplication.CompileDate != null) { txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", visaApplication.CompileDate); } if (visaApplication.Edition != null) { txtEdition.Text = visaApplication.Edition.ToString(); } bindApprove(); var xmUserIds = VisaApplicationApproveService.GetUserIdsApprovesBySignType(VisaApplicationId, "XM"); if (xmUserIds.Count > 0) { SetCheck(trOne, xmUserIds); } var sjUserIds = VisaApplicationApproveService.GetUserIdsApprovesBySignType(VisaApplicationId, "SJ"); if (sjUserIds.Count > 0) { SetCheck(trTwo, sjUserIds); } var cgUserIds = VisaApplicationApproveService.GetUserIdsApprovesBySignType(VisaApplicationId, "CG"); if (cgUserIds.Count > 0) { SetCheck(trThree, cgUserIds); } var sgUserIds = VisaApplicationApproveService.GetUserIdsApprovesBySignType(VisaApplicationId, "SG"); if (sgUserIds.Count > 0) { SetCheck(trFour, sgUserIds); } var scUserIds = VisaApplicationApproveService.GetUserIdsApprovesBySignType(VisaApplicationId, "SC"); if (scUserIds.Count > 0) { SetCheck(trFive, scUserIds); } var yzUserIds = VisaApplicationApproveService.GetUserIdsApprovesBySignType(VisaApplicationId, "YZ"); if (yzUserIds.Count > 0) { SetCheck(trSixe, yzUserIds); } var fbUserIds = VisaApplicationApproveService.GetUserIdsApprovesBySignType(VisaApplicationId, "FB"); if (fbUserIds.Count > 0) { SetCheck(trSeven, fbUserIds); } var qtUserIds = VisaApplicationApproveService.GetUserIdsApprovesBySignType(VisaApplicationId, "QT"); if (qtUserIds.Count > 0) { SetCheck(trEight, qtUserIds); } if (visaApplication.State == Const.VisaApplication_ReCompile || visaApplication.State == Const.VisaApplication_Compile) { } else if (visaApplication.State == Const.VisaApplication_Audit1) { this.trHQ.Hidden = false; //Panel2.Enabled = false; } else if (visaApplication.State == Const.VisaApplication_Audit2) { this.trHQ.Hidden = false; Panel2.Enabled = false; } else if (visaApplication.State == Const.VisaApplication_Audit3) { this.trEstimatedCost.Hidden = false; this.trHQ.Hidden = false; } else if (visaApplication.State == Const.VisaApplication_Audit4) { this.trEstimatedCost.Hidden = false; if (!string.IsNullOrEmpty(visaApplication.EstimatedCost)) { this.rblEstimatedCost.SelectedValue = visaApplication.EstimatedCost; } this.trHQ.Hidden = false; } else if (visaApplication.State == Const.VisaApplication_Audit5) { this.trEstimatedCost.Hidden = false; if (!string.IsNullOrEmpty(visaApplication.EstimatedCost)) { this.rblEstimatedCost.SelectedValue = visaApplication.EstimatedCost; } this.trHQ.Hidden = false; } else if (visaApplication.State == Const.VisaApplication_Audit6) { this.trEstimatedCost.Hidden = false; if (!string.IsNullOrEmpty(visaApplication.EstimatedCost)) { this.rblEstimatedCost.SelectedValue = visaApplication.EstimatedCost; } this.trHQ.Hidden = false; } else if (visaApplication.State == Const.VisaApplication_Audit7) { this.trEstimatedCost.Hidden = false; if (!string.IsNullOrEmpty(visaApplication.EstimatedCost)) { this.rblEstimatedCost.SelectedValue = visaApplication.EstimatedCost; } this.trHQ.Hidden = false; } else if (visaApplication.State == Const.VisaApplication_Audit8) { this.trEstimatedCost.Hidden = false; if (!string.IsNullOrEmpty(visaApplication.EstimatedCost)) { this.rblEstimatedCost.SelectedValue = visaApplication.EstimatedCost; } this.trHQ.Hidden = false; } else if (visaApplication.State == Const.VisaApplication_Complete) { this.trEstimatedCost.Hidden = false; if (!string.IsNullOrEmpty(visaApplication.EstimatedCost)) { this.rblEstimatedCost.SelectedValue = visaApplication.EstimatedCost; } this.trHQ.Hidden = false; this.trApprovalComments.Hidden = false; if (!string.IsNullOrEmpty(visaApplication.ApprovalComments)) { this.rblApprovalComments.SelectedValue = visaApplication.ApprovalComments; } } //提交版本人多次修改 //if (visaApplication.CompileMan.Equals(CurrUser.UserId)) //{ // txtVisaApplicationCode.Enabled = true; // drpUnit.Enabled = true; // txtCompileDate.Enabled = true; // ContactImg = 0; // Panel2.Enabled = true; // rblIsAgree.Hidden = true; // rblIsAgree.Required = false; // options.Hidden = true; // txtOptions.Required = false; // optio.Hidden = true; //} } } } public string man(Object man) { string appman = string.Empty; if (UserService.GetUserByUserId(man.ToString()) != null) { appman = UserService.GetUserByUserId(man.ToString()).UserName; } return appman; } /// /// 审批列表 /// private void bindApprove() { var list = VisaApplicationApproveService.getListData(VisaApplicationId); gvApprove.DataSource = list; gvApprove.DataBind(); } #region 动态加载角色树 /// /// 设置树的节点选择 /// /// /// private void SetCheck(Tree tree, List userIds) { foreach (TreeNode tn in tree.Nodes[0].Nodes) { if (userIds.Contains(tn.NodeID)) { tn.Checked = true; } } } /// 加载角色树:动态加载 /// private void BindXMRole() { 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.ProjectManagement2) && 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 BindSJRole() { 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.DesignManager) || p.RoleId.Contains(Const.DesignAssistantManager)) && 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); } } } /// /// 判断是否有选择 /// /// /// 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 BindCGRole() { TreeNode rootNode = new TreeNode();//定义根节点 rootNode.Text = "采购"; 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.PurchasingManager) || p.RoleId.Contains(Const.PurchasingAssistantManager)) && 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; 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.SGEngineer) || p.RoleId.Contains(Const.QAManager) || 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 BindSCRole() { 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.DriveManager) || p.RoleId.Contains(Const.DriveAssistantManager) || p.RoleId.Contains(Const.DriveEngineer)) && 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 BindYZRole() { 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 y.UnitType == Const.ProjectUnitType_4 && 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 BindFBRole() { TreeNode rootNode = new TreeNode();//定义根节点 rootNode.Text = "分包商"; rootNode.NodeID = "0"; rootNode.Expanded = true; rootNode.EnableCheckEvent = true; trSeven.Nodes.Add(rootNode); trSeven.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 y.UnitId == this.drpUnit.SelectedValue && 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 BindQTRole() { TreeNode rootNode = new TreeNode();//定义根节点 rootNode.Text = "其他"; rootNode.NodeID = "0"; rootNode.Expanded = true; rootNode.EnableCheckEvent = true; trEight.Nodes.Add(rootNode); trEight.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 y.UnitType == Const.ProjectUnitType_4 && 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); } } protected void trSeven_NodeCheck(object sender, TreeCheckEventArgs e) { if (e.Checked) { trSeven.CheckAllNodes(e.Node.Nodes); } else { trSeven.UncheckAllNodes(e.Node.Nodes); } } protected void trEight_NodeCheck(object sender, TreeCheckEventArgs e) { if (e.Checked) { trEight.CheckAllNodes(e.Node.Nodes); } else { trEight.UncheckAllNodes(e.Node.Nodes); } } #endregion protected void imgBtnFile_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(HFVisaApplicationId.Text)) //新增记录 { HFVisaApplicationId.Text = SQLHelper.GetNewID(typeof(Model.CQMS_VisaApplication)); } PageContext.RegisterStartupScript(WindowAtt.GetShowReference( String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/VisaApplication&menuId={2}", -1, HFVisaApplicationId.Text, Const.VisaApplicationMenuId))); } protected void btnapprove_Click(object sender, EventArgs e) { //HFVisaApplicationId.Text var approve = VisaApplicationApproveService.GetVisaApplicationApproveByApproveMan(HFVisaApplicationId.Text, CurrUser.UserId); if (approve != null) { var approveId = approve.VisaApplicationApproveId; PageContext.RegisterStartupScript(WindowAtt.GetShowReference( String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/VisaApplication&menuId={2}", -1, approveId, Const.VisaApplicationMenuId))); } } 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/VisaApplication&menuId={2}", -1, fileId, Const.VisaApplicationMenuId))); } } }