Example #1
0
 /// <summary>
 /// 按钮设置,加签后转签不可用,所以不涉及加签和转签嵌套的情况
 /// </summary>
 private void ShowButton()
 {
     if (string.IsNullOrEmpty(Request.QueryString["sn"]))
     {
         // Options_GroupStep.Visible = Options_Single.Visible = Options_Submit.Visible = false;
         SetButtons(null);
     }
     else
     {
         if (K2_TaskItem == null || K2_TaskItem.ActivityInstanceDestination == null)
         {
             SetButtons(null);
             return;
         }
         if (K2_TaskItem.ActivityInstanceDestination.Name == "待领取")
         {
             SetButtons(Options_GroupStep);
             AddSign1.Visible = false;//加签不可用
         }
         else
         {
             bool isAddSign = new Workflow_Common().IsAddSign(Request.QueryString["sn"], _BPMContext.CurrentUser.LoginId);
             if (isAddSign)
             {
                 SetButtons(Options_Submit);
             }
             else
             {
                 SetButtons(Options_Single);
             }
         }
     }
 }
Example #2
0
    //WF_WorkFlowInstance wf_WorkFlowInstance = new WF_WorkFlowInstance();
    //BFApprovalRecord bfApproval = new BFApprovalRecord();

    #region 执行过程中更新参数

    /// <summary>
    /// 执行过程中更新参数
    /// </summary>
    private void UpdateWFParams()
    {
        string CompanyCode             = BPMHelp.GetCompanyCodeByDeptID(StartDeptId);
        NameValueCollection dataFields = new NameValueCollection();

        if (K2_TaskItem.ActivityInstanceDestination.Name == "部门负责人意见")
        {
            if (cbVP.Checked)
            {
                dataFields.Add("VicePresident", Workflow_Common.GetRoleUsers(StartDeptId + "," + Countersign1.Result, "主管副总经理"));
            }
            else
            {
                dataFields.Add("VicePresident", "noapprovers");
            }
            if (cbPresident.Checked)
            {
                dataFields.Add("VicePresident", Workflow_Common.GetRoleUsers(CompanyCode, "总经理"));
            }
            else
            {
                dataFields.Add("President", "noapprovers");
            }
        }

        if (dataFields.Count != 0 && !string.IsNullOrEmpty(_BPMContext.Sn))
        {
            WorkflowHelper.UpdateDataFields(_BPMContext.Sn, dataFields, _BPMContext.CurrentUser.ApprovalUser);
        }
    }
 /// <summary>
 /// 显示按钮
 /// </summary>
 private void ShowButton()
 {
     if (string.IsNullOrEmpty(Request.QueryString["sn"]))
     {
         Options.Visible   = false;
         UnOptions.Visible = false;
         ASOptions.Visible = false;
     }
     else
     {
         bool isAddSign = new Workflow_Common().IsAddSign(Request.QueryString["sn"], _BPMContext.CurrentUser.LoginId);
         if (isAddSign)
         {
             Options.Visible   = false;
             UnOptions.Visible = false;
             ASOptions.Visible = true;
         }
         else
         {
             Options.Visible   = true;
             UnOptions.Visible = true;
             ASOptions.Visible = false;
         }
     }
     if (K2_TaskItem != null && K2_TaskItem.ActivityInstanceDestination.Name == "会签")
     {
         UnOptions.Visible = false;
         lbAgree.Text      = "提交";
     }
 }
Example #4
0
 /// <summary>
 /// 按钮设置2
 /// </summary>
 private void ShowButton()
 {
     if (string.IsNullOrEmpty(Request.QueryString["sn"]))
     {
         Options.Visible   = false;
         UnOptions.Visible = false;
         ASOptions.Visible = false;
     }
     else
     {
         bool isAddSign = new Workflow_Common().IsAddSign(Request.QueryString["sn"], _BPMContext.CurrentUser.LoginId);
         if (isAddSign)
         {
             Options.Visible   = false;
             UnOptions.Visible = false;
             ASOptions.Visible = true;
         }
         else
         {
             Options.Visible   = true;
             UnOptions.Visible = true;
             ASOptions.Visible = false;
         }
     }
 }
Example #5
0
    protected bool CommonApproval(string sn, string option, string action)
    {
        if (string.IsNullOrWhiteSpace(option))
        {
            option = action;
        }
        activityName = GetCurrentActiveName(sn);
        bool isAddSign    = new Workflow_Common().IsAddSign(sn, _BPMContext.CurrentUser.LoginId);
        bool isChangeSign = new Workflow_Common().IsChangeSign(sn, _BPMContext.CurrentUser.LoginId);
        bool isSuccess    = false;

        if (!isAddSign)
        {
            isSuccess = WorkflowHelper.ApproveProcess(sn, action, _BPMContext.CurrentUser.ApprovalUser);
        }
        else if (isChangeSign)
        {
            isSuccess = WorkflowHelper.ApproveProcess(sn, action, _BPMContext.CurrentUser.ApprovalUser);
        }
        else
        {
            isSuccess = WorkflowHelper.BackToPreApprover(sn, _BPMContext.CurrentUser.ApprovalUser);
        }
        if (isSuccess)
        {
            AddApprovalOption(sn, action, option, isAddSign ? "1" : "0", activityName);
            return(true);
        }
        return(false);
    }
    /// <summary>
    /// 显示按钮
    /// </summary>
    private void ShowButton()
    {
        if (string.IsNullOrEmpty(Request.QueryString["sn"]))
        {
            Options.Visible   = false;
            ASOptions.Visible = false;
        }
        else
        {
            bool isAddSign    = new Workflow_Common().IsAddSign(Request.QueryString["sn"], UploadAttachments1._BPMContext.CurrentUser.LoginId);
            bool isChangeSign = new Workflow_Common().IsChangeSign(Request.QueryString["sn"], UploadAttachments1._BPMContext.CurrentUser.LoginId);
            if (isAddSign)
            {
                Options.Visible   = false;
                ASOptions.Visible = true;
            }
            else
            {
                Options.Visible   = true;
                ASOptions.Visible = false;
            }
        }

        //if (K2_TaskItem != null && K2_TaskItem.ActivityInstanceDestination.Name == "集团会签")
        //{
        //    ChangeSign1.Visible = true;
        //}
    }
Example #7
0
    private void ShowButton()
    {
        if (string.IsNullOrEmpty(Request.QueryString["sn"]))
        {
            Options.Visible   = false;
            ASOptions.Visible = false;
        }
        else
        {
            bool   isAddSign   = new Workflow_Common().IsAddSign(Request.QueryString["sn"], lblLoginName.Text.ToString());
            string counterSign = "会签";
            if (counterSign.Equals(nodeName.Value))
            {
                ASOptions.Visible      = false;
                Options.Visible        = true;
                DisAgreeOption.Visible = false;
                AgreeOption.Visible    = true;
                lbAgree.Text           = "提交";

                //会签里的加签
                if (isAddSign)
                {
                    Options.Visible   = false;
                    ASOptions.Visible = true;
                }
            }
            else if (isAddSign)
            {
                Options.Visible   = false;
                ASOptions.Visible = true;
            }
            else
            {
                Options.Visible   = true;
                ASOptions.Visible = false;
            }

            //研发设计和项目运营只能同意
            //2014-12-23 yanghechun
            if (nodeName.Value == "研发设计部负责人" || nodeName.Value == "项目运营部负责人")
            {
                lbAgree.Text           = "提交";
                AgreeOption.Visible    = true;
                DisAgreeOption.Visible = false;
            }
        }
    }
Example #8
0
    public void BindData(string user)
    {
        if (!string.IsNullOrEmpty(user))
        {
            user = user.ToLower().Replace("founder\\", "");
            DataTable dt = GetDataInfos(user);
            DataView  dv = dt.DefaultView;

            string proName   = tbxTitle.Text.ToString().Trim();
            string startTime = tbxBeginTime.Value.ToString().Trim();
            string endTime   = tbxEndTime.Value.ToString().Trim();

            StringBuilder searchSql = new StringBuilder();

            if (!string.IsNullOrEmpty(proName))
            {
                if (!Workflow_Common.ValidateQuery(proName))
                {
                    DisplayMessage.ExecuteJs("alert('查询字符无效');");
                    return;
                }
                searchSql.AppendFormat("FormTitle like '%{0}%'", proName);
            }
            if (!string.IsNullOrEmpty(startTime))
            {
                if (!string.IsNullOrEmpty(searchSql.ToString()))
                {
                    searchSql.Append(" and ");
                }
                searchSql.AppendFormat("ApproveAtTime>'{0}'", startTime);
            }
            if (!string.IsNullOrEmpty(endTime))
            {
                if (!string.IsNullOrEmpty(searchSql.ToString()))
                {
                    searchSql.Append(" and ");
                }
                searchSql.AppendFormat("ApproveAtTime<'{0}'", endTime);
            }

            dv.RowFilter = searchSql.ToString();

            gvDataList.DataSource = dv.ToTable();
            gvDataList.DataBind();
        }
    }
Example #9
0
    public static string GetK2DataFieldByGroupId(int groupId)
    {
        var bizContext = DBContext.GetBizContext();
        var groupInfo  = bizContext.V_ITSupport_ITGroup.FirstOrDefault(x => x.Id == groupId);

        if (String.IsNullOrWhiteSpace(groupInfo.UserList))
        {
            throw new Exception("组内没有设置IT顾问");
        }
        StringBuilder content = new StringBuilder();

        foreach (var item in groupInfo.UserList.Split(',').ToList())
        {
            content.AppendFormat("{0},", Workflow_Common.GetK2UserByLoginName(item));
        }
        return(content.ToString().TrimEnd(','));
    }
    /// <summary>
    /// 设置变量型[用户型]DataField
    /// </summary>
    /// <returns></returns>
    private List <K2_DataFieldInfo> LoadUserDataField()
    {
        List <K2_DataFieldInfo> dfInfos = new List <K2_DataFieldInfo>();
        string CompanyCode = BPMHelp.GetCompanyCodeByDeptID(StartDeptId);

        //起始部门
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = StartDeptId, RoleName = "部门负责人", Name = "StartDeptManager", IsHaveToExsit = true
        });
        //相关部门
        dfInfos.Add(new K2_DataFieldInfo()
        {
            Name = "CounterSignUsers", RoleName = "部门负责人", DeptCode = Countersign1.Result, IsRepeatIgnore = true, IsHaveToExsit = true
        });
        //集团相关部门
        dfInfos.Add(new K2_DataFieldInfo()
        {
            Name = "CounterSignUsers_Group", RoleName = "部门负责人", DeptCode = Countersign_Group1.Result, IsHaveToExsit = true
        });
        //执行主任,如果是集团授权,则执行主任为noapprovers,反之则为ExecutiveDirector
        if (cblIsImpowerProject.SelectedItem.Value == "1")
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = "noapprovers", Name = "ExecutiveDirector", IsHaveToExsit = false
            });
        }
        else
        {
            string directors = Workflow_Common.GetRoleUsersWithNoApproval(PKURGICode, "执行主任").Trim(',');
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = Workflow_Common.FilterDataField(directors), Name = "ExecutiveDirector", IsHaveToExsit = true
            });
        }
        //招标委员会成员和招标委员会主任(集团授权,需要判断是一级开发还是二级开发)
        if (cblFirstLevel.SelectedIndex == 0)
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = CompanyCode, RoleName = "招标委员会成员(一级)", Name = "TenderCommitteeManager", IsHaveToExsit = true
            });
        }
        else
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = CompanyCode, RoleName = "招标委员会成员", Name = "TenderCommitteeManager", IsHaveToExsit = true
            });
        }
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = CompanyCode, RoleName = "招标委员会主任", Name = "TenderCommitteeChairman", IsHaveToExsit = true
        });

        //集团招标委员会成员和集团招标委员会主任(非集团授权项目)

        string leaders = Workflow_Common.GetRoleUsersWithNoApproval(CompanyCode, "招标委员会主任") + "," + Workflow_Common.GetRoleUsersWithNoApproval(PKURGICode, "招标委员会成员").Trim(',');

        dfInfos.Add(new K2_DataFieldInfo()
        {
            Result = Workflow_Common.FilterDataField(leaders), Name = "GroupTenderCommitteeManager", IsHaveToExsit = true
        });

        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = PKURGICode, RoleName = "招标委员会主任", Name = "GroupTenderCommitteeChairman", IsHaveToExsit = true
        });
        return(dfInfos);
    }
    /// <summary>
    /// 设置流程参数
    /// </summary>
    /// <returns></returns>
    private NameValueCollection SetWFParams()
    {
        //常量DataField
        NameValueCollection dataFields = LoadConstDataField();

        if (dataFields == null)
        {
            dataFields = new NameValueCollection();
        }
        //用户DataField
        List <K2_DataFieldInfo> dfInfos = LoadUserDataField();

        dfInfos = dfInfos.OrderBy(x => x.OrderId).ToList();//排序

        #region 用户DataField
        List <string> userList = new List <string>();
        foreach (var item in dfInfos)
        {
            if (string.IsNullOrEmpty(item.Result))
            {
                if (string.IsNullOrEmpty(item.RoleName) || string.IsNullOrEmpty(item.Name))
                {
                    //参数错误
                    ExceptionHander.GoToErrorPage("K2DataFieldInfo信息不全");
                }
                if (string.IsNullOrEmpty(item.DeptCode) || string.IsNullOrEmpty(item.DeptCode.Trim(',')))
                {
                    dataFields.Add(item.Name, "noapprovers");
                    continue;
                }

                string        users = "";
                List <string> depts = item.DeptCode.Split(',').ToList();
                foreach (var csDeptId in depts)
                {
                    if (!string.IsNullOrEmpty(csDeptId))
                    {
                        foreach (var roleNameItem in item.RoleName.Split(',').ToList())
                        {
                            string currentUsers = Workflow_Common.GetRoleUsers(csDeptId, roleNameItem);
                            if (currentUsers == "noapprovers" && item.IsHaveToExsit)
                            {
                                Department counterDept = new Pkurg.PWorld.Services.DepartmentService().GetByDepartCode(csDeptId);
                                Alert(counterDept.Remark + roleNameItem + "尚未配置!");
                                return(null);
                            }
                            else if (currentUsers != "noapprovers" && !users.Trim(',').Split(',').ToList().Contains(currentUsers))
                            {
                                users += "," + currentUsers;
                            }
                        }
                    }
                }
                users = users.Trim(',');
                if (string.IsNullOrEmpty(users))
                {
                    users = "noapprovers";
                }
                if (users != "noapprovers")
                {
                    List <string> currentUsers = users.Split(',').ToList();
                    users = users + ",";
                    currentUsers.ForEach(x =>
                    {
                        if (userList.Contains(x) && item.IsRepeatIgnore)
                        {
                            users = users.Replace(x + ",", "");
                        }

                        if (item.OrderId > 0)
                        {
                            userList.Add(x);///只有OrderId > 0的才参与去重(OrderId > 0的是去重范围)
                        }
                    });
                    if (string.IsNullOrEmpty(users.Trim(',')))
                    {
                        users = "noapprovers";
                    }
                }
                item.Result = users.Trim(',');
            }
        }
        foreach (var item in dfInfos)
        {
            dataFields.Add(item.Name, item.Result);
        }
        #endregion

        return(dataFields);
    }
Example #12
0
    /// <summary>
    /// 设置变量型[用户型]DataField
    /// </summary>
    /// <returns></returns>
    private List <K2_DataFieldInfo> LoadUserDataField()
    {
        //合约审算部,大部分子公司都叫做合约审算部,只有三四家公司叫做审算部,天津公司叫做运营审算部

        string HYDepartmentCode = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "合约审算部");

        //在此需要定义三个datefield,再进行判断
        if (HYDepartmentCode == null)
        {
            HYDepartmentCode = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "审算部");
            if (HYDepartmentCode == null)
            {
                HYDepartmentCode = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "运营审算部");
            }
        }

        string CGDepartmentCode       = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "招标采购部");
        string FWDepartmentCode       = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "法务部");
        string CGManageDepartmentCode = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "采购管理部");
        string XMFZDepartmentCode     = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "项目发展部");
        string GHSJDepartmentCode     = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "规划设计部");
        //三个不同的名称,需要判断
        string YXCHDepartmentCode = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "营销策划部");

        if (YXCHDepartmentCode == null)
        {
            YXCHDepartmentCode = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "营销管理部");
            if (YXCHDepartmentCode == null)
            {
                YXCHDepartmentCode = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "产业发展部");
            }
        }
        string GCGLDepartmentCode = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "工程管理部");

        List <K2_DataFieldInfo> dfInfos = new List <K2_DataFieldInfo>();

        ///已存在dataField
        //经办部门负责人
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = StartDeptId, RoleName = "部门负责人", Name = "StartDeptManager", IsHaveToExsit = true
        });

        //合约审算部门负责人
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = HYDepartmentCode, RoleName = "部门负责人", Name = "ContractReviewDeptManager", IsHaveToExsit = true
        });


        //分管领导部门意见:发起部门和合约审算部的主管副总裁和主管助理总裁
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = StartDeptId + "," + HYDepartmentCode, RoleName = "主管助理总裁,主管副总裁", Name = "ChargeAssistantCEO", IsHaveToExsit = false
        });
        //dfInfos.Add(new K2_DataFieldInfo() { DeptCode = StartDeptId + "," + HYDepartmentInfo.DepartCode, RoleName = "", Name = "ChargeVP", IsHaveToExsit = false });

        //集团主管部门意见【发起部门和合约审算部对应的集团主管部门的部门负责人】
        //现在改为营销策划部,研发设计部,以及项目运营部
        StringBuilder deptsofGroup = new StringBuilder();

        //foreach (var item in (StartDeptId + "," + HYDepartmentInfo.DepartCode).Split(',').ToList())
        //{
        //    string deptsofGroupTmp = Workflow_Common.GetRoleDepts(item, "集团主管部门");
        //    if (!deptsofGroup.ToString().Contains(deptsofGroupTmp))
        //    {
        //        deptsofGroup.AppendFormat("{0},", deptsofGroupTmp);
        //    }
        //}

        foreach (ListItem item in cbGroupRealateDept.Items)
        {
            if (item.Selected)
            {
                deptsofGroup.AppendFormat("{0},", item.Value);
            }
        }
        if (string.IsNullOrEmpty(deptsofGroup.ToString()))
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = "noapprovers", Name = "GroupCompetentDeptManager", IsHaveToExsit = false
            });
        }
        else
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = deptsofGroup.ToString(), RoleName = "部门负责人", Name = "GroupCompetentDeptManager", IsHaveToExsit = false
            });
        }

        //相关部门意见【招标采购部和法务部部门负责人】
        //根据选项判断法务部还是采购部,最好采用forech
        StringBuilder relateDepts = new StringBuilder();

        //foreach (ListItem item in cbRealateDept.Items)
        //{
        //    if (item.Selected)
        //    {
        //        relateDepts.AppendFormat("{0},", item.Value);
        //    }
        //}
        //采购管理部
        relateDepts.AppendFormat("{0},", CGDepartmentCode);
        //法务部
        relateDepts.AppendFormat("{0},", FWDepartmentCode);

        if (cbRealateDept.Items[2].Selected)
        {
            //规划设计部
            relateDepts.AppendFormat("{0},", GHSJDepartmentCode);
        }
        if (cbRealateDept.Items[3].Selected)
        {
            //项目发展部
            relateDepts.AppendFormat("{0},", XMFZDepartmentCode);
        }
        if (cbRealateDept.Items[4].Selected)
        {
            //合约审算部
            relateDepts.AppendFormat("{0},", HYDepartmentCode);
        }
        if (cbRealateDept.Items[5].Selected)
        {
            //营销策划部
            relateDepts.AppendFormat("{0},", YXCHDepartmentCode);
        }
        if (cbRealateDept.Items[6].Selected)
        {
            //工程管理部
            relateDepts.AppendFormat("{0},", GCGLDepartmentCode);
        }
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = relateDepts.ToString().Trim(','), RoleName = "部门负责人", Name = "RealateDeptManager", IsHaveToExsit = true
        });

        //集团采购管理部
        //string DepartmentId = "B04-D319-S541";

        if (!cbGroupPurchaseDept.Items[0].Selected)
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = "noapprovers", Name = "GroupPurchaseDeptManager", IsHaveToExsit = false
            });
        }
        else
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = CGDeptCode, RoleName = "部门负责人", Name = "GroupPurchaseDeptManager", IsHaveToExsit = false
            });
        }
        //招标委员会成员和招标委员会主任(集团授权,需要判断是一级开发还是二级开发)
        //判断,如果是集团授权,则招委会以及招委会主任正常,不是集团授权则招委会为“执行主任+招委会主任”,招委会主任为noapprovers
        string CompanyCode = BPMHelp.GetCompanyCodeByDeptID(StartDeptId);

        //如果是集团授权,则由城市公司招标委员会审批(不变)
        if (cblIsImpowerProject.SelectedItem.Value == "1")
        {
            //城市公司招标委员会
            if (cblFirstLevel.SelectedIndex == 0)
            {
                dfInfos.Add(new K2_DataFieldInfo()
                {
                    DeptCode = CompanyCode, RoleName = "招标委员会成员(一级)", Name = "TenderCommitteeManager", IsHaveToExsit = true
                });
            }
            else
            {
                dfInfos.Add(new K2_DataFieldInfo()
                {
                    DeptCode = CompanyCode, RoleName = "招标委员会成员", Name = "TenderCommitteeManager", IsHaveToExsit = true
                });
            }
            //城市公司招标委员会主任
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = CompanyCode, RoleName = "招标委员会主任", Name = "TenderCommitteeChairman", IsHaveToExsit = true
            });
        }
        //不是集团授权,则需要上报集团,招标委员会为城市公司招委会主任,招标委员会主任为执行主任【刘锦泉】
        else
        {
            //招标委员会
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = CompanyCode, RoleName = "招标委员会主任", Name = "GroupTenderCommitteeManager", IsHaveToExsit = true
            });
            //招标委员会主任
            string leaders = Workflow_Common.GetRoleUsersWithNoApproval(PKURGICode, "执行主任").Trim(',');
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = Workflow_Common.FilterDataField(leaders), Name = "GroupTenderCommitteeChairman", IsHaveToExsit = true
            });
        }
        //集团招标委员会成员和集团招标委员会主任(非集团授权项目)
        //string groupId = "B04-D319";

        //string directors =Workflow_Common.GetRoleUsersWithNoApproval(PKURGICode, "执行主任").Trim(',');
        //dfInfos.Add(new K2_DataFieldInfo() { Result = Workflow_Common.FilterDataField(directors), Name = "GroupTenderCommitteeManager", IsHaveToExsit = true });

        //dfInfos.Add(new K2_DataFieldInfo() { DeptCode = PKURGICode, RoleName = "招标委员会主任", Name = "GroupTenderCommitteeChairman", IsHaveToExsit = true });
        return(dfInfos);
    }
    /// <summary>
    /// 设置变量型[用户型]DataField
    /// </summary>
    /// <returns></returns>
    private List <K2_DataFieldInfo> LoadUserDataField()
    {
        List <K2_DataFieldInfo> dfInfos = new List <K2_DataFieldInfo>();

        //经办部门负责人
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = StartDeptId, RoleName = "部门负责人", Name = "GroupStartDeptManager", IsHaveToExsit = true
        });

        //集团相关部门意见
        //营销策划部,研发设计部,以及项目运营部,财务部,法务部,采购管理部
        StringBuilder deptsofGroup = new StringBuilder();

        foreach (ListItem item in cbGroupRealateDept.Items)
        {
            if (item.Selected)
            {
                deptsofGroup.AppendFormat("{0},", item.Value);
            }
        }
        if (string.IsNullOrEmpty(deptsofGroup.ToString()))
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = "noapprovers", Name = "GroupRealateDeptManager", IsHaveToExsit = false
            });
        }
        else
        {
            if (deptsofGroup.ToString() == "S363-S973-S496")
            {
                dfInfos.Add(new K2_DataFieldInfo()
                {
                    DeptCode = deptsofGroup.ToString(), RoleName = "部门副总经理", Name = "GroupRealateDeptManager", IsHaveToExsit = true
                });
            }
            else
            {
                dfInfos.Add(new K2_DataFieldInfo()
                {
                    DeptCode = deptsofGroup.ToString(), RoleName = "部门负责人", Name = "GroupRealateDeptManager", IsHaveToExsit = true
                });
            }
        }

        //集团招标委员会成员和集团招标委员会主任
        //string groupId = "B04-D319";

        //string leaders = Workflow_Common.GetRoleUsersWithNoApproval(PKURGICode, "招标委员会成员").Trim(',');
        //dfInfos.Add(new K2_DataFieldInfo() { Result = Workflow_Common.FilterDataField(leaders), Name = "GroupTenderCommitteeManager", IsHaveToExsit = true });

        //dfInfos.Add(new K2_DataFieldInfo() { DeptCode = PKURGICode, RoleName = "招标委员会主任", Name = "GroupTenderCommitteeChairman", IsHaveToExsit = true });
        //return dfInfos;

        //集团招标委员会【执行主任】
        string directors = Workflow_Common.GetRoleUsersWithNoApproval(PKURGICode, "执行主任").Trim(',');

        dfInfos.Add(new K2_DataFieldInfo()
        {
            Result = Workflow_Common.FilterDataField(directors), Name = "GroupTenderCommitteeManager", IsHaveToExsit = true
        });
        return(dfInfos);
    }
    /// <summary>
    /// 设置变量型[用户型]DataField
    /// </summary>
    /// <returns></returns>
    private List <K2_DataFieldInfo> LoadUserDataField()
    {
        string CGDepartmentCode = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "招标采购部");
        string FWDepartmentCode = BPMHelp.GetDeptIDByOtherIDAndName(StartDeptId, "法务部");


        List <K2_DataFieldInfo> dfInfos = new List <K2_DataFieldInfo>();

        ///已存在dataField
        //招标采购部
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = CGDepartmentCode, RoleName = "部门负责人", Name = "TenderandPurchaseManage", IsHaveToExsit = false
        });
        //法务部
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = FWDepartmentCode, RoleName = "部门负责人", Name = "LegalDeptManager", IsHaveToExsit = false
        });

        //招标委员会成员和招标委员会主任(集团授权,需要判断是一级开发还是二级开发)
        string CompanyCode = BPMHelp.GetCompanyCodeByDeptID(StartDeptId);

        if (cblFirstLevel.SelectedIndex == 0)
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = CompanyCode, RoleName = "招标委员会成员(一级)", Name = "TenderCommitteeManager", IsHaveToExsit = true
            });
        }
        else
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = CompanyCode, RoleName = "招标委员会成员", Name = "TenderCommitteeManager", IsHaveToExsit = true
            });
        }
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = CompanyCode, RoleName = "招标委员会主任", Name = "TenderCommitteeChairman", IsHaveToExsit = true
        });
        //采购管理部
        //string DepartmentId = "B04-D319-S541";

        if (!cbGroupPurchaseDept.Items[0].Selected)
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = "noapprovers", Name = "GroupTenderandPurchaseManage", IsHaveToExsit = false
            });
        }
        else
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = CGDeptCode, RoleName = "部门负责人", Name = "GroupTenderandPurchaseManage", IsHaveToExsit = false
            });
        }
        //集团法务部
        // string DepartmentId1 = "B04-D319-S496";
        if (!cbGroupLegalDept.Items[0].Selected)
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = "noapprovers", Name = "GroupLegalDeptManager", IsHaveToExsit = false
            });
        }
        else
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = FWDeptCode, RoleName = "部门副总经理", Name = "GroupLegalDeptManager", IsHaveToExsit = false
            });
        }
        //执行主任    如果不上报集团,则执行主任为noapprovers,否则为执行主任
        if (StartDeptId.Contains("S363") || cblIsImpowerProject.SelectedItem.Value == "0")
        {
            string directors = Workflow_Common.GetRoleUsersWithNoApproval(PKURGICode, "执行主任").Trim(',');
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = Workflow_Common.FilterDataField(directors), Name = "ExecutiveDirector", IsHaveToExsit = true
            });
        }
        else
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = "noapprovers", Name = "ExecutiveDirector", IsHaveToExsit = false
            });
        }
        //集团招标委员会成员和集团招标委员会主任(非集团授权项目)
        //string groupId = "B04-D319";
        //如果是集团发起的,则招委会只是招委会成员
        if (StartDeptId.Contains("S363"))
        {
            dfInfos.Add(new K2_DataFieldInfo()
            {
                DeptCode = PKURGICode, RoleName = "招标委员会成员", Name = "GroupTenderCommitteeManager", IsHaveToExsit = true
            });
        }
        else
        {
            string leaders = Workflow_Common.GetRoleUsersWithNoApproval(CompanyCode, "招标委员会主任") + "," + Workflow_Common.GetRoleUsersWithNoApproval(PKURGICode, "招标委员会成员").Trim(',');
            dfInfos.Add(new K2_DataFieldInfo()
            {
                Result = Workflow_Common.FilterDataField(leaders), Name = "GroupTenderCommitteeManager", IsHaveToExsit = true
            });
        }
        dfInfos.Add(new K2_DataFieldInfo()
        {
            DeptCode = PKURGICode, RoleName = "招标委员会主任", Name = "GroupTenderCommitteeChairman", IsHaveToExsit = true
        });

        return(dfInfos);
    }