Beispiel #1
0
        /// <summary>
        /// 绑定下拉选择领导
        /// </summary>
        public void BindUser()
        {
            if (drpUser.Items.Count == 0)
            {
                OAUser.GetUserByRole(drpUser, ConstString.RoleName.COMPANY_LEADER);
            }

            ListItem temp = drpUser.Items.FindByText("孙云根");

            drpUser.Items.Remove(temp);
        }
 /// <summary>
 /// 绑定到右边列表框
 /// </summary>
 private void BindRight()
 {
     if (hUCDeptUserID.Value != string.Empty)
     {
         string[] sArrUserID = hUCDeptUserID.Value.Split(';');
         foreach (string item in sArrUserID)
         {
             this.lboxRight.Items.Add(new ListItem(OAUser.GetUserName(item), item));
         }
     }
 }
Beispiel #3
0
 /// <summary>
 /// 全加
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void btnAddAll_Click(object sender, EventArgs e)
 {
     for (int i = 0; i < lbxLeft.Items.Count; i++)
     {
         this.lbxRight.Items.Add(new ListItem(OAUser.GetUserName(this.lbxLeft.Items[i].Value), this.lbxLeft.Items[i].Value));
     }
     this.lbxLeft.ClearSelection();
     this.lbxRight.ClearSelection();
     this.LoadDeptUser();
     this.LoadRoleUser();
 }
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            //提交动作
            this.m_strSubmitAction = ProcessConstString.SubmitAction.ACTION_SUBMIT;

            switch (base.StepName)
            {
            case ProcessConstString.StepName.ReceiveStepName.STEP_PLOT:
                l_htAttribute.Add(ConstString.CustomAttr.Receive.IsDeny, false);
                l_htAttribute.Add(ConstString.CustomAttr.Receive.IsPlot, false);
                ViewBase l_objClerks     = OAUser.GetUserByRole(OUConstString.RoleName.PartysDocument);
                String   l_strClerkField = String.Empty;
                foreach (User user in l_objClerks.Ens)
                {
                    l_strClerkField += user.DomainUserID + ";";
                }
                l_strClerkField = SysString.TrimLastWord(l_strClerkField);
                l_htAttribute.Add(ConstString.CustomAttr.Receive.Clerks, l_strClerkField);
                break;

            case ProcessConstString.StepName.ReceiveStepName.STEP_INSTRUCTION:
                break;

            case ProcessConstString.StepName.ReceiveStepName.STEP_PROCESS_CENTER:
                //l_htAttribute.Add(ConstString.CustomAttr.Receive.IsPlot, false);
                l_htAttribute.Add(ConstString.CustomAttr.Receive.IsAssignSection, false);
                l_htAttribute.Add(ConstString.CustomAttr.Receive.IsAssignPeople, false);
                l_htAttribute.Add(ConstString.CustomAttr.Receive.IsDirectArchive, true);
                break;

            case ProcessConstString.StepName.ReceiveStepName.STEP_SECTION_MEMBER:
                break;

            case ProcessConstString.StepName.ReceiveStepName.STEP_SECTION_CHIEF:
                l_htAttribute.Add(ConstString.CustomAttr.Receive.IsAssignSection, false);
                break;

            case ProcessConstString.StepName.ReceiveStepName.STEP_SECTION_DIRECTOR:
                l_htAttribute.Add(ConstString.CustomAttr.Receive.IsAssignSection, false);
                l_htAttribute.Add(ConstString.CustomAttr.Receive.IsAssignPeople, false);
                break;

            case ProcessConstString.StepName.ReceiveStepName.STEP_DISTRIBUTION:
                break;

            default:
                break;
            }

            base.FormSubmit(false, m_strSubmitAction, l_htAttribute, this.ControlToEntity(false));
        }
        protected void btnSumitInspect_Click(object sender, EventArgs e)
        {
            B_ReceiveEdit l_BusReceiveEdit = null;
            String        l_strInspector   = String.Empty;

            if (String.IsNullOrEmpty(ddlPoliticalOfficer.SelectedValue))
            {
                JScript.ShowMsgBox(this.Page, MsgType.VbCritical, "没有选择党群工作处处长");
                return;
            }
            l_strInspector = ddlPoliticalOfficer.SelectedValue;

            //表单的合法性验证
            if (!VerifyField())
            {
                JScript.ShowMsgBox(Page, MsgType.VbCritical, m_strAryMessages);
                return;
            }

            //提交动作
            this.m_strSubmitAction = ProcessConstString.SubmitAction.ReceiveBase.SUBMIT_INSPECT;

            if (String.IsNullOrEmpty(WorkItemID))
            {
                //流程创建时候设置自定义属性
                l_htAttribute.Add(ConstString.CustomAttr.Receive.Initiator, CurrentUserInfo.UserName);

                l_BusReceiveEdit    = new B_ReceiveEdit();
                l_BusReceiveEdit.ID = Convert.ToInt32(this.RegisterID);

                if (l_BusReceiveEdit != null)
                {
                    l_BusReceiveEdit.ProcessID = base.ProcessID;
                    l_BusReceiveEdit.Save();
                }
            }

            ViewBase l_objClerks     = OAUser.GetUserByRole(OUConstString.RoleName.PartysDocument);
            String   l_strClerkField = String.Empty;

            foreach (User user in l_objClerks.Ens)
            {
                l_strClerkField += user.DomainUserID + ";";
            }
            l_strClerkField = SysString.TrimLastWord(l_strClerkField);

            l_htAttribute.Add(ConstString.CustomAttr.Receive.Officer, l_strInspector);
            l_htAttribute.Add(ConstString.CustomAttr.Receive.Clerks, l_strClerkField);

            base.FormSubmit(false, m_strSubmitAction, l_htAttribute, this.ControlToEntity(false));
        }
Beispiel #6
0
        /// <summary>
        /// 流程类型选择事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void ddlProcessTemplate_SelectedIndexChanged(object sender, EventArgs e)
        {
            LoadProcessSteps();

            #region 根据流程类型绑定特有字段
            switch (this.ddlProcessTemplate.SelectedValue)
            {
            //公司发文
            case ProcessConstString.TemplateName.COMPANY_SEND:
            case ProcessConstString.TemplateName.DJGT_Send:    //renjinquan+
                OADept.GetDeptByIfloor(drpGFDept, 1);
                break;

            //公司收文
            case ProcessConstString.TemplateName.COMPANY_RECEIVE:
            case ProcessConstString.TemplateName.MERGED_RECEIVE:    //renjinquan+
                break;

            //函件收文
            case ProcessConstString.TemplateName.LETTER_RECEIVE:
                OAList.BindHJLX2(ddlHSLetterType, true);
                break;

            //函件发文
            case ProcessConstString.TemplateName.LETTER_SEND:
                OAList.BindHJLX(ddlHFLetterType, true);
                OADept.GetDeptByIfloor(this.ddlHFDept, 1);
                break;

            //程序文件
            case ProcessConstString.TemplateName.PROGRAM_FILE:
                OADept.GetDeptByIfloor(this.ddlPFDept, 1);
                break;

            //工作联系单
            case ProcessConstString.TemplateName.AFFILIATION:
                OADept.GetDeptByIfloor(this.ddlWRHostDept, 1);
                OADept.GetDeptByIfloor(this.ddlWRMainSendDept, 1);
                break;

            //请示报告
            case ProcessConstString.TemplateName.INSTUCTION_REPORT:
                OAUser.GetUserByRole(this.ddlMainSendleader, OUConstString.RoleName.COMPANY_LEADER);
                OADept.GetDeptByIfloor(this.ddlUnderTakeDept, 1);
                OADept.GetDeptByIfloor(this.ddlHostDept, 1);
                break;
            }
            #endregion
            //chenye
            //LoadProcessList();
        }
Beispiel #7
0
 /// <summary>
 /// 加选中的人
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void btnAddOne_Click(object sender, EventArgs e)
 {
     if (UCIsSingle)//如果是单选
     {
         this.lbxRight.Items.Clear();
     }
     int[] iSelected = this.lbxLeft.GetSelectedIndices();
     for (int i = 0; i < iSelected.Length; i++)
     {
         this.lbxRight.Items.Add(new ListItem(OAUser.GetUserName(this.lbxLeft.Items[iSelected[i]].Value), this.lbxLeft.Items[iSelected[i]].Value));
     }
     this.lbxLeft.ClearSelection();
     this.lbxRight.ClearSelection();
     this.LoadDeptUser();
     this.LoadRoleUser();
 }
Beispiel #8
0
        /// <summary>
        /// 获取用户状态
        /// </summary>
        /// <param name="userID"></param>
        /// <param name="status"></param>
        /// <returns></returns>
        protected String GetUserSatus(String userID, String status)
        {
            if (userID.Contains(@"\"))
            {
                userID = userID.Substring(userID.IndexOf(@"\") + 1, userID.Length - userID.IndexOf(@"\") - 1);
                if (userID.LastIndexOf(":") > -1)
                {
                    userID = userID.Substring(0, userID.Length - 1);
                }
            }
            String userName = "";

            userName = OAUser.GetUserName(userID);

            return(userName + " " + GetCNStatus(status));
        }
        protected void ddlBianZhiBuMen_SelectedIndexChanged(object sender, EventArgs e)
        {
            //部门负责人
            if (this.ddlBianZhiBuMen.Items.Count > 0)
            {
                OAUser.GetUserByDeptPost(this.ddlBuMenZhuGuan, this.ddlBianZhiBuMen.SelectedValue, OUConstString.PostName.FUCHUZHANG, true, true);

                if (this.ddlBuMenZhuGuan.Items.Count == 2)
                {
                    if (this.ddlBuMenZhuGuan.Items[1].Value == CurrentUserInfo.UserName)
                    {
                        ddlBuMenZhuGuan.Items.Clear();
                        OAUser.GetUserByRole(this.ddlBuMenZhuGuan, OUConstString.RoleName.COMPANY_LEADER);
                    }
                }
            }
        }
Beispiel #10
0
 /// <summary>
 /// 获得部门成员(负责人、部门领导、大于副处长)
 /// </summary>
 private String[] GetDeptMember(String strDeptID)
 {
     GetType1();
     if (type1 == "1") //负责人
     {
         m_blnIsManager = true;
     }
     if (type2 == "1") //职位大于副处长
     {
         strPName = OUConstString.PostName.FUCHUZHANG;
     }
     if (type3 == "1") //部门领导
     {
         m_blnIsLeader = true;
     }
     return(OAUser.GetUserByDeptPostArray(strDeptID, strPName, m_blnIsManager, m_blnIsLeader));
 }
Beispiel #11
0
        private OAUser GetCurrentUser()
        {
            var    accessor  = IocManager.Resolve <IHttpContextAccessor>();
            string sessionid = "";

            accessor.HttpContext.Request.Cookies.TryGetValue("oa.sessionid", out sessionid);
            var redisHelper = IocManager.Resolve <RedisHelper>();
            var user        = redisHelper.Get <OAUser>(sessionid);

            if (user == null)
            {
                user = new OAUser {
                }
            }
            ;
            return(user);
        }
Beispiel #12
0
        /// <summary>
        /// 绑定左边列表框
        /// </summary>
        private void LoadDeptUser()
        {
            //得到人员
            ViewBase vbUser = null;

            if (this.tvDeptList.SelectedNode != null)
            {
                this.lbxLeft.Items.Clear();
                vbUser = OAUser.GetUserByDeptID(this.tvDeptList.SelectedNode.Value, ConstString.Grade.ALL);
                if (vbUser != null && vbUser.DtTable != null)
                {
                    foreach (FounderSoftware.ADIM.OU.BLL.Busi.User user in vbUser.Ens)
                    {
                        String   strPostName = String.Empty;
                        ViewBase vbDeptPost  = user.DeptPosts;
                        if (vbDeptPost != null && vbDeptPost.DtTable != null)
                        {
                            String strpost = String.Empty;
                            vbDeptPost.Condition = "a.FK_DeptID=" + this.tvDeptList.SelectedNode.Value;
                            foreach (DataRow dr in vbDeptPost.DtTable.Rows)
                            {
                                strpost += dr["PostName"] + " ";
                            }
                            if (vbDeptPost.DtTable.Rows.Count > 0)
                            {
                                strPostName = strpost + " " + vbDeptPost.DtTable.Rows[0]["LeaderManager"];
                            }
                        }
                        String   show = user.Name + "(" + user.UserID + ")" + " " + strPostName;
                        ListItem item = new ListItem(show, user.DomainUserID);
                        if (this.lbxLeft.Items.Contains(item) == false)
                        {
                            this.lbxLeft.Items.Add(item);
                        }
                    }
                    for (int i = 0; i < this.lbxRight.Items.Count; i++)
                    {
                        this.lbxLeft.Items.Remove(this.lbxLeft.Items.FindByValue(this.lbxRight.Items[i].Value));
                    }
                }
            }
        }
Beispiel #13
0
        private void SetBaseExportData(UC_Print ucPrint, EntitySend cEntity)
        {
            //ucPrint.AttachFileList = cEntity.FileList;
            //ucPrint.Position = "抄送:";//(string)ucPrint.ExportData[2];
            //ucPrint.Mode = WriteMode.Right;

            ucPrint.ExportData.Add(cEntity.UrgentDegree);                                        //<col>紧急程度:|right</col>
            ucPrint.ExportData.Add(cEntity.DocumentNo);                                          //<col>发文号:|right</col>
            ucPrint.ExportData.Add(OAUser.GetUserName(cEntity.Signer));                          //<col>签发:|right</col>
            ucPrint.ExportData.Add(cEntity.LeadSigners);                                         //<col>会签人:|right</col>
            ucPrint.ExportData.Add(cEntity.DeptSigners);                                         //<col>会签人: |right</col>
            ucPrint.ExportData.Add(ucPrint.CheckDateTime(cEntity.SignDate.ToShortDateString())); //<col>日期:|right</col>
            ucPrint.ExportData.Add(cEntity.Verifier);                                            //<col>秘书:|right</col>
            if (ucPrint.UCStepName == "审稿")
            {
                ucPrint.ExportData.Add("");
            }
            else
            {
                ucPrint.ExportData.Add(ucPrint.CheckDateTime(cEntity.VerifyDate.ToShortDateString())); //<col>日期: |right</col>
            }
            ucPrint.ExportData.Add(cEntity.ZhuRenSigner);                                              //<col>主任:|right</col>
            ucPrint.ExportData.Add(ucPrint.CheckDateTime(cEntity.ZhuRenSignDate.ToShortDateString())); //<col>日期:  |right</col>
            ucPrint.ExportData.Add(cEntity.CheckDrafterName);                                          //<col>审稿人:|right</col>
            ucPrint.ExportData.Add(ucPrint.CheckDateTime(cEntity.CheckDate.ToShortDateString()));      //<col>审稿日期:|right</col>
            ucPrint.ExportData.Add(/*OADept.GetDeptName(*/ cEntity.HostDeptName /*)*/);                //<col>主办部门:|right</col>
            ucPrint.ExportData.Add(ucPrint.CheckDateTime(cEntity.DraftDate.ToShortDateString()));      //<col>拟稿日期:|right</col>
            ucPrint.ExportData.Add(cEntity.Drafter);                                                   //<col>拟稿人:|right</col>
            ucPrint.ExportData.Add(cEntity.PhoneNum);                                                  //<col>电话:|right</col>
            ucPrint.ExportData.Add(cEntity.DocumentTitle);                                             //<col>标题:|right</col>
            ucPrint.ExportData.Add(cEntity.SubjectWord);                                               //<col>主题词:|right</col>
            ucPrint.ExportData.Add(cEntity.MainSenders);                                               //<col>主送:|right</col>
            ucPrint.ExportData.Add(cEntity.CopySenders);                                               //<col>抄送:|right</col>
            ucPrint.ExportData.Add(ucPrint.CheckDateTime(cEntity.SendDate.ToShortDateString()));       //<col>发文日期:|right</col>
            ucPrint.ExportData.Add(Convert.ToString(cEntity.ShareCount > 0 ? cEntity.ShareCount : 0)); //<col>共印|right</col>
            ucPrint.ExportData.Add(Convert.ToString(cEntity.SheetCount > 0 ? cEntity.SheetCount : 0)); //<col>份,每份|right</col>
            ucPrint.ExportData.Add(cEntity.Typist);                                                    //<col>打字:|right</col>
            ucPrint.ExportData.Add(cEntity.Checker);                                                   //<col>校对:|right</col>
            ucPrint.ExportData.Add(cEntity.ReChecker);                                                 //<col>复核:|right</col>
            //ucPrint.ExportData.Add(cEntity.Prompt);//<col>提示信息:|right</col>
            //ucPrint.ExportData.Add(cEntity.Prompt);//<col>添加|right</col>
        }
Beispiel #14
0
 /// <summary>
 /// 页面加载事件
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         if (FormsMethod.CheckRole(ConstString.RoleName.QUALITY_MEMBER) == false)
         {
             lblPrompt.Text = "只有质保人员" + OAUser.GetUserByRoleName(ConstString.RoleName.QUALITY_MEMBER)[1].ToString() + "可以添加程序文件。";
         }
         else
         {
             lblPrompt.Text = string.Empty;
         }
         txtName.ToolTip = "内容不能超过50个字符";
         txtCode.ToolTip = "内容不能超过20个字符";
         this.gvProgramFileList.ShowPagerRow = true;
         this.gvProgramFileList.PageType     = PageType.ExteriorPage;
         BindProgramFileList(false, 0, 0, "", "", "", "", "", "");
         BindProgramSort(ddlSort);
         BindProgramSort(ddlSorts);
     }
 }
        /// <summary>
        /// 获取审稿人
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void ddlType_SelectedIndexChanged(object sender, EventArgs e)
        {
            //党纪工团审稿
            switch (this.ddlType.SelectedValue)
            {
            case ProcessConstString.TemplateName.PARTY_SEND:
                OAUser.GetUserByRole(this.ddlCheckDrafter, OUConstString.RoleName.PartyDisciplineCheckDraft);
                break;

            case ProcessConstString.TemplateName.DISCIPLINE_SEND:
                OAUser.GetUserByRole(this.ddlCheckDrafter, OUConstString.RoleName.PartyDisciplineCheckDraft);
                break;

            case ProcessConstString.TemplateName.TRADE_UNION_SEND:
                OAUser.GetUserByRole(this.ddlCheckDrafter, OUConstString.RoleName.TradeUnionCheckDraft);
                break;

            case ProcessConstString.TemplateName.YOUTH_LEAGUE_SEND:
                OAUser.GetUserByRole(this.ddlCheckDrafter, OUConstString.RoleName.YouthLeagueCheckDraft);
                break;
            }
        }
Beispiel #16
0
        /// <summary>
        /// 新增按钮事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnAdd_Click(object sender, EventArgs e)
        {
            if (FormsMethod.CheckRole(ConstString.RoleName.QUALITY_MEMBER) == false)
            {
                IMessage ms = new WebFormMessage(Page, "只有质保人员" + OAUser.GetUserByRoleName(ConstString.RoleName.QUALITY_MEMBER)[1].ToString() + "可以添加程序文件。");
                ms.Show();
                return;
            }
            if (txtName.Text.ToString().Contains("#") || txtName.Text.ToString().Contains("'"))
            {
                IMessage ms = new WebFormMessage(Page, "含有特殊字符,请替换后再上传");
                ms.Show();
                return;
            }
            B_ProgramFileInfo enProFile = new B_ProgramFileInfo();

            enProFile.Name = txtName.Text.ToString().Trim();
            //bProFile.Edition = "1";//txtEdition.Text.ToString().Trim();
            enProFile.Code        = txtCode.Text.ToString().Trim();
            enProFile.Sort        = ddlSort.SelectedItem.Text.ToString().Trim();
            enProFile.ProTypId    = int.Parse(ddlProgramType.SelectedItem.Value.ToString().Trim());
            enProFile.ProTypSubId = int.Parse(ddlProgramSubType.SelectedItem.Value.ToString().Trim());

            enProFile.ActivationDate = DateTime.Now;

            if (enProFile.Save())
            {
                BindProgramFileList(false, 0, 0, "", "", "", "", "", "");
                ClearData();
                IMessage ms = new WebFormMessage(Page, ConstString.PromptInfo.ACTION_ADD_SUC);
                ms.Show();
            }
            else
            {
                IMessage ms = new WebFormMessage(Page, enProFile.ErrMsgs[0].ToString());
                ms.Show();
            }
        }
        protected void btnAssignChief_Click(object sender, EventArgs e)
        {
            if (ddlUnderTakeSection.SelectedValue == String.Empty)
            {
                JScript.ShowMsgBox(this.Page, MsgType.VbCritical, "没有选择承办科室");
                return;
            }

            //表单的合法性验证
            if (!VerifyField())
            {
                JScript.ShowMsgBox(Page, MsgType.VbCritical, m_strAryMessages);
                return;
            }

            //提交动作
            this.m_strSubmitAction = ProcessConstString.SubmitAction.ReceiveBase.ASSIGN_SECTION;

            //获取科级领导
            String[] l_strArray          = OAUser.GetDeptManagerArray(ddlUnderTakeSection.SelectedValue, 0);
            String   l_strSectionLeaders = l_strArray[0];

            if (String.IsNullOrEmpty(l_strArray[0]))
            {
                JScript.ShowMsgBox(this.Page, MsgType.VbCritical, "组织结构:未能获取科级领导,无法交办科室");
                return;
            }

            String l_strSectionLeaderNames = l_strArray[1];

            l_htAttribute.Add(ConstString.CustomAttr.Receive.SectionChief, l_strSectionLeaders);
            l_htAttribute.Add(ConstString.CustomAttr.Receive.IsAssignSection, true);
            l_htAttribute.Add(ConstString.CustomAttr.Receive.IsAssignPeople, false);

            base.FormSubmit(false, m_strSubmitAction, l_htAttribute, this.ControlToEntity(false));
        }
Beispiel #18
0
 /// <summary>
 /// 分发 对与已经分发过的则不再分发
 /// </summary>
 /// <param name="yiFenFaUser">已分发人员</param>
 /// <returns></returns>
 public void DoCirculate(ref string sSuccesName, ref string sFailedName)
 {
     if (!string.IsNullOrEmpty(this.txtCirculatesIDs.Value) || !string.IsNullOrEmpty(this.txtCirculatesDeptIDs.Value))
     {
         string        id    = Request["CirculateID"] != null ? Request["CirculateID"].ToString() : "-1";
         string        sql   = string.Format(@"SELECT * FROM {0} WHERE ID={1}", TableName.GetCirculateTableName(UCProcessType), id);
         DataTable     dt    = Entity.RunQuery(sql);
         B_ToCirculate tocir = new B_ToCirculate();
         tocir.ToProcessID   = this.UCProcessID;
         tocir.ToWorkItemID  = this.UCWorkItemID;
         tocir.YiJian        = FormsMethod.GetPrompt(this.txtCommentView.Text, this.txtCommentEdit.Text);
         tocir.IsAgain       = false;
         tocir.ToProcessType = this.UCProcessType;
         tocir.ToUserIDS     = this.txtCirculatesIDs.Value;
         tocir.ToiLevelCode  = dt != null && dt.Rows.Count > 0 ? dt.Rows[0]["ID"].ToString() : "0";
         tocir.ToiLastLevel  = dt != null && dt.Rows.Count > 0 ? dt.Rows[0]["LevelCode"].ToString() : "";
         if (!string.IsNullOrEmpty(this.txtCirculatesDeptIDs.Value))
         {
             string strUserids = OAUser.GetUserByDeptPostArray(this.txtCirculatesDeptIDs.Value, OUConstString.PostName.FUKEZHANG, true, true)[0];
             if (string.IsNullOrEmpty(strUserids) == false && strUserids.Length > 0)
             {
                 strUserids = strUserids.Replace(";", ",");
             }
             if (!string.IsNullOrEmpty(this.txtCirculatesIDs.Value))
             {
                 tocir.ToUserIDS += "," + strUserids;
             }
             else
             {
                 tocir.ToUserIDS += strUserids;
             }
         }
         string info = tocir.ChuanYueToDB();
         sSuccesName = info;
     }
 }
Beispiel #19
0
        /// <summary>
        /// 设置节点显示
        /// </summary>
        /// <param name="node"></param>
        /// <param name="dr"></param>
        /// <returns></returns>
        private TreeNode SetTreeNode(TreeNode node, DataRow dr)
        {
            TreeNode newNode    = new TreeNode();
            ViewBase vbDeptUser = OAUser.GetUserByDeptID(dr["ID"].ToString(), ConstString.Grade.ALL);
            String   name       = dr["Name"].ToString();

            if (vbDeptUser != null)
            {
                name += "[" + vbDeptUser.Count.ToString() + "]";
            }

            if (UCDeptShowType != String.Empty)
            {
                String member = GetDeptMember(dr["ID"].ToString())[1];
                if (String.IsNullOrEmpty(member) == false && member.Length > 0)
                {
                    member = "(" + member + ")";
                }
                name += member;
                if (name.Length > 20)
                {
                    name = name.Substring(0, 20) + "...";
                }
                newNode = new TreeNode(name, dr["ID"].ToString());

                //鼠标移上去提示
                newNode.ToolTip = dr["Name"].ToString() + member;

                if (UCALLChecked == true)
                {
                    newNode.ShowCheckBox = true;
                }
                else
                {
                    if (String.IsNullOrEmpty(member))
                    {
                        newNode.ShowCheckBox = false; //没有成员 不可选择
                    }
                    else
                    {
                        newNode.ShowCheckBox = true;
                    }
                }
            }
            else
            {
                newNode = new TreeNode(name, dr["ID"].ToString());
            }
            if (UCShowDeptID != String.Empty)
            {
                if (hasDeptID.Count > 0)
                {
                    if (hasDeptID.Contains(newNode.Value) == false)
                    {
                        newNode.SelectAction = TreeNodeSelectAction.None;//置灰
                        newNode.ShowCheckBox = false;
                    }
                }
            }
            return(newNode);
        }
Beispiel #20
0
        /// <summary>
        /// 流程类型选择事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void ddlProcessTemplate_SelectedIndexChanged(object sender, EventArgs e)
        {
            LoadProcessSteps();

            if (this.ddlProcessTemplate.SelectedIndex == 0)
            {
                this.ddlStepName.Enabled = false;
                this.ddlStepName.Items.Clear();
            }
            else
            {
                this.ddlStepName.Enabled = true;

                //得到流程类型对应的流程步骤
                TemplateAdmin TAdmin            = new TemplateAdmin();
                String        l_strTemplateName = this.ddlProcessTemplate.SelectedValue;
                DataTable     l_dtbDataTable    = TAdmin.Templates.GetTemplate(l_strTemplateName).GetVersion(1).GetViewList();

                //加入空选择行
                DataRow l_dtrDataRow = l_dtbDataTable.NewRow();
                l_dtrDataRow[0] = DBNull.Value;
                l_dtrDataRow[1] = "";
                l_dtrDataRow[2] = DBNull.Value;

                l_dtbDataTable.Rows.InsertAt(l_dtrDataRow, 0);

                //绑定数据
                this.ddlStepName.DataSource = l_dtbDataTable;
                this.ddlStepName.DataBind();
            }

            #region 根据流程类型绑定特有字段
            switch (this.ddlProcessTemplate.SelectedValue)
            {
            //公司发文
            case ProcessConstString.TemplateName.COMPANY_SEND:
            case ProcessConstString.TemplateName.DJGT_Send:    //renjinquan+
                OADept.GetDeptByIfloor(drpGFDept, 1);
                break;

            //公司收文
            case ProcessConstString.TemplateName.COMPANY_RECEIVE:
            case ProcessConstString.TemplateName.MERGED_RECEIVE:    //renjinquan+
                break;

            //函件收文
            case ProcessConstString.TemplateName.LETTER_RECEIVE:
                OAList.BindHJLX2(ddlHSLetterType, true);
                break;

            //函件发文
            case ProcessConstString.TemplateName.LETTER_SEND:
                OAList.BindHJLX(ddlHFLetterType, true);
                OADept.GetDeptByIfloor(this.ddlHFDept, 1);
                break;

            //程序文件
            case ProcessConstString.TemplateName.PROGRAM_FILE:
                OADept.GetDeptByIfloor(this.ddlPFDept, 1);
                break;

            //工作联系单
            case ProcessConstString.TemplateName.AFFILIATION:
                OADept.GetDeptByIfloor(this.ddlWRHostDept, 1);
                OADept.GetDeptByIfloor(this.ddlWRMainSendDept, 1);
                break;

            //请示报告
            case ProcessConstString.TemplateName.INSTUCTION_REPORT:
                OAUser.GetUserByRole(this.ddlMainSendleader, OUConstString.RoleName.COMPANY_LEADER);
                OADept.GetDeptByIfloor(this.ddlUnderTakeDept, 1);
                OADept.GetDeptByIfloor(this.ddlHostDept, 1);
                break;
            }
            #endregion
            //chenye
            //LoadProcessList();
        }
Beispiel #21
0
        /// <summary>
        /// 实体加载
        /// </summary>
        protected override void EntityToControl()
        {
            B_FinanceHWBX entity = base.EntityData != null ? base.EntityData as B_FinanceHWBX : new B_FinanceHWBX();

            //拟稿
            if (base.StepName == ProcessConstString.StepName.STEP_DRAFT && !base.IsPreview)
            {
                //编制部门
                OADept.GetDeptByUser(this.ddlBianZhiBuMen, CurrentUserInfo.UserName, 1, true, false);
                //部门负责人
                if (this.ddlBianZhiBuMen.Items.Count > 0)
                {
                    ddlBianZhiBuMen_SelectedIndexChanged(null, null);
                }

                //拟稿日期
                txtNiGaoRiQi.Text = DateTime.Now.ToString("yyyy-MM-dd");
                //拟稿人
                this.txtNiGaoRen.Text   = CurrentUserInfo.DisplayName;
                this.txtNiGaoRenID.Text = CurrentUserInfo.UserName;
            }
            else
            {
                FormsMethod.SetDropDownList(this.ddlBianZhiBuMen, entity.DepartmentID, entity.Department);

                FormsMethod.SetDropDownList(this.ddlYanShouRen, entity.YanShouRenID, entity.YanShouRen);
                FormsMethod.SetDropDownList(this.ddlShenQianRen, entity.ShenQianRenID, entity.ShenQianRen);
                FormsMethod.SetDropDownList(this.ddlShenHe, entity.ShenHeRenID, entity.ShenHeRen);
                FormsMethod.SetDropDownList(this.ddlShenPi, entity.ShenPiRenID, entity.ShenPiRen);

                this.txtNiGaoRen.Text   = entity.Drafter;
                this.txtNiGaoRenID.Text = entity.DrafterID;
            }

            //验收
            if (base.StepName == ProcessConstString.StepName.FinanceHWBXStepName.STEP_YANSHOU)
            {
                OAUser.GetUserByRole(this.ddlShenQianRen, "立项审签");
            }
            //立项审签
            if (base.StepName == ProcessConstString.StepName.FinanceHWBXStepName.STEP_LIXIANGSHENQIAN)
            {
                if (this.ddlBianZhiBuMen.Items.Count > 0)
                {
                    OAUser.GetUserByDeptPost(this.ddlShenHe, this.ddlBianZhiBuMen.SelectedValue, OUConstString.PostName.FUCHUZHANG, true, true);
                }
            }
            //审核
            if (base.StepName == ProcessConstString.StepName.FinanceHWBXStepName.STEP_SHENHE)
            {
                OAUser.GetUserByRole(this.ddlShenPi, OUConstString.RoleName.COMPANY_LEADER);
                OAUser.GetUserByRole(this.ddlCaiWu, OUConstString.RoleName.CaiWu);
            }
            //审批
            if (base.StepName == ProcessConstString.StepName.FinanceHWBXStepName.STEP_SHENPI)
            {
                OAUser.GetUserByRole(this.ddlCaiWu, OUConstString.RoleName.CaiWu);
            }
            //财务
            if (base.StepName == ProcessConstString.StepName.FinanceHWBXStepName.STEP_CAIWUSHENHE)
            {
            }
            //反馈报销人
            if (base.StepName == ProcessConstString.StepName.FinanceHWBXStepName.STEP_FANKUI)
            {
            }

            if (txtNiGaoRen.Text == "")
            {
                txtNiGaoRen.Text = entity.Drafter;
            }

            if (txtNiGaoRiQi.Text == "")
            {
                txtNiGaoRiQi.Text = entity.DraftDate.ToString("yyyy-MM-dd");
            }

            txtDocumentNo.Text = entity.DocumentNo;

            FormsMethod.SelectedDropDownList(this.ddlBianZhiBuMen, entity.DepartmentID, entity.Department);

            if (entity.DanJuZhangShu == Int32.MinValue)
            {
                txtDanJuZhangShu.Text = "";
            }
            else
            {
                txtDanJuZhangShu.Text = entity.DanJuZhangShu.ToString();
            }

            txtYongTu.Text = entity.YongTu;

            txtShouKuanYinHang.Text  = entity.ShouKuanYinHang;
            txtShouKuanDanWei.Text   = entity.ShouKuanDanWei;
            txtShouKuanZhangHao.Text = entity.ShouKuanZhangHao;
            txtBaoXiaoJinE.Text      = entity.BaoXiaoJinE;
            txtBaoXiaoJinEDaXie.Text = entity.BaoXiaoJinEDaXie;

            txtLiXiangHao.Text = entity.LiXiangHao;

            txtLiXiangJinE.Text = entity.LiXiangJinE.ToString();

            txtLiXiangLeiJiJinE.Text = entity.LiXiangLeiJiJinE.ToString();

            FormsMethod.SelectedDropDownList(this.ddlYanShouRen, entity.YanShouRenID, entity.YanShouRen);
            FormsMethod.SelectedDropDownList(this.ddlShenQianRen, entity.ShenQianRenID, entity.ShenQianRen);
            FormsMethod.SelectedDropDownList(this.ddlShenHe, entity.ShenHeRenID, entity.ShenHeRen);
            FormsMethod.SelectedDropDownList(this.ddlShenPi, entity.ShenPiRenID, entity.ShenPiRen);

            FormsMethod.SelectedDropDownList(this.ddlCaiWu, entity.CaiWuID, entity.CaiWu);

            //提示信息
            this.txtTiShiXinXi.Text = entity.Message;
            this.txtTianJia.Text    = entity.MessageAdd;
        }
        public void SetPrintBeginExport(UC_Print ucPrint, B_GS_WorkItems cEntity)
        {
            switch (ucPrint.FileName)
            {
            case "公文处理单":
                ucPrint.ExportData.Add(cEntity.DocumentTitle);                                              //<col>收文标题:|right</col>chen
                ucPrint.ExportData.Add(cEntity.DocumentNo);                                                 //<col>收文编号|right</col>
                ucPrint.ExportData.Add(ucPrint.CheckDateTime(cEntity.ReceiveDateTime.ToShortDateString())); //<col>收文日期|right</col>
                ucPrint.ExportData.Add(cEntity.SendNo);                                                     //<col>原文号|right</col>
                string sName   = OAUser.GetUserName(cEntity.OfficerName);
                string sResult = (string.IsNullOrEmpty(sName) ? cEntity.OfficerName : sName);
                ucPrint.ExportData.Add((string.IsNullOrEmpty(sResult) ? "" : "[" + sResult + "]") + cEntity.Officer_Date.ToString() + cEntity.Officer_Comment);        //<col>公司办拟办意见:|right</col>
                sName   = OAUser.GetUserName(cEntity.LeaderShipName);
                sResult = (string.IsNullOrEmpty(sName) ? cEntity.LeaderShipName : sName);
                ucPrint.ExportData.Add(OAUser.GetUserName(cEntity.LeaderShip));                                                                       //<col>公司领导:|right</col>
                ucPrint.ExportData.Add((string.IsNullOrEmpty(sResult) ? "" : "[" + sResult + "]") + cEntity.LS_Date.ToString() + cEntity.LS_Comment); //<col>领导批示|right</col>

                //string[] sUnderTakeList = GetValueByColName("Content", cEntity.UnderTakeList).Split(new char[] { ';' });
                ucPrint.ExportData.Add(GetValueByColName("DeptName", cEntity.UnderTakeList));          //<col>承办部门:|right</col>
                ucPrint.ExportData.Add(GetValueByColName("Content", cEntity.UnderTakeList));           //<col>承办情况:|right</col>
                ucPrint.ExportData.Add(GetValueByColNameEx("ReceiveUserName", cEntity.CirculateList)); //<col>传阅人员:|right</col>
                ucPrint.ExportData.Add(GetValueByColNameEx("Comment", cEntity.CirculateList));         //<col>传阅意见:|right</col>
                //if (sUnderTakeList.Length > 0)
                //{
                //    ucPrint.ExportData.Add(sUnderTakeList[0]);          //<col>承办情况|right</col>
                //}
                //else
                //{
                //    ucPrint.ExportData.Add(GetValueByColName("Content", cEntity.UnderTakeList));
                //}

                //<col>传阅签名|right</col>
                //<col>日期|right</col>
                //<col>传阅签名 |right</col>
                //<col>日期 |right</col>
                //ucPrint.ExportData.Add(cEntity.);
                //ucPrint.ExportData.Add(cEntity.Content);
                //ucPrint.ExportData.Add(cEntity.UndertakeCircs);
                //ucPrint.ExportData.Add(cEntity.DeptPrincipal);
                //ucPrint.ExportData.Add(cEntity.DeptPrincipal);
                //ucPrint.ExportData.Add(cEntity.Department);
                //ucPrint.ExportData.Add("共" + "()" + "页");
                //ucPrint.ExportData.Add("第" + "()" + "页");

                //ucPrint.AttachFileList = cEntity.FileList;//chen
                ucPrint.ExportData.Add(ucPrint.AttachFilesList(cEntity.FileList));    //<col>附件:|down</col>
                //ucPrint.Position = "日期 ";//(string)ucPrint.ExportData[2];
                //ucPrint.Mode = WriteMode.Down;
                break;

            case "公司收文表单":
                ucPrint.ExportData.Add(cEntity.DocumentNo);                                                     //<col>收文编号:|right</col>
                ucPrint.ExportData.Add(ucPrint.CheckDateTime(cEntity.DocumentReceiveDate.ToShortDateString())); //<col>收文日期:|right</col>
                ucPrint.ExportData.Add(cEntity.SendNo);                                                         //<col>原文号:|right</col>
                ucPrint.ExportData.Add(cEntity.VolumeNo);                                                       //<col>卷号:|right</col>
                ucPrint.ExportData.Add(cEntity.DocumentTitle);                                                  //<col>文件名称:|right</col>
                ucPrint.ExportData.Add(OAUser.GetUserName(cEntity.Officer));                                    //<col>公司办主任|right</col>
                ucPrint.ExportData.Add(cEntity.Officer_Comment);                                                //<col>意见:|right</col>
                ucPrint.ExportData.Add(OAUser.GetUserName(cEntity.LeaderShip));                                 //<col>公司领导:|right</col>
                ucPrint.ExportData.Add(cEntity.LS_Comment);                                                     //<col>意见:|right</col>



                ucPrint.ExportData.Add(GetValueByColName("DeptName", cEntity.UnderTakeList));          //ucPrint.ExportData.Add(sDept);//<col>承办部门:|right</col>
                ucPrint.ExportData.Add(GetValueByColName("Content", cEntity.UnderTakeList));           //<col>承办意见:|right</col>

                ucPrint.ExportData.Add(GetValueByColNameEx("ReceiveUserName", cEntity.CirculateList)); //<col>传阅人员:|right</col>
                ucPrint.ExportData.Add(GetValueByColNameEx("Comment", cEntity.CirculateList));         //<col>传阅意见:|right</col>
                ucPrint.ExportData.Add(ucPrint.AttachFilesList(cEntity.FileList));

                //ucPrint.AttachFileList = cEntity.FileList;
                //ucPrint.Position = "提示信息:";//(string)ucPrint.ExportData[2];
                //ucPrint.Mode = WriteMode.Down;
                break;
            }
        }
Beispiel #23
0
        /// <summary>
        /// 确定
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnOK_Click(object sender, EventArgs e)
        {
            #region 获得部门ID和Name
            String deptID   = String.Empty;
            String deptName = String.Empty;

            ArrayList arrCheckedDeptID = new ArrayList();

            foreach (TreeNode node in this.tvDeptList.CheckedNodes)
            {
                arrCheckedDeptID.Add(node.Value);
            }

            if (arrCheckedDeptID.Count > 0)
            {
                foreach (object o in arrCheckedDeptID)
                {
                    if (o.ToString() != String.Empty)
                    {
                        deptID   += ";" + o.ToString();
                        deptName += ";" + OADept.GetDeptName(o.ToString());
                    }
                }
                if (deptID.Length > 0)
                {
                    deptID = deptID.Substring(1);
                }
                if (deptName.Length > 0)
                {
                    deptName = deptName.Substring(1);
                }
            }
            #endregion

            #region 获得部门成员ID和Name
            String deptUserID   = String.Empty;
            String deptUserName = String.Empty;

            ArrayList arrDeptUserName = new ArrayList();
            ArrayList arrDeptUserID   = new ArrayList();

            foreach (ListItem item in lbxRight.Items)
            {
                arrDeptUserID.Add(item.Value);
                arrDeptUserName.Add(OAUser.GetUserName(item.Value));
            }
            //帐号
            deptUserID = base.GetStringText(arrDeptUserID).Replace(@"\", @"\\");
            //姓名
            deptUserName = base.GetStringText(arrDeptUserName);

            #endregion

            #region  获得角色成员ID和Name
            String    roleUserID      = String.Empty;
            String    roleUserName    = String.Empty;
            ArrayList arrRoleUserName = new ArrayList();
            ArrayList arrRoleUserID   = new ArrayList();
            foreach (ListItem item in chkRole.Items)
            {
                if (item.Selected)
                {
                    arrRoleUserID.Add(item.Value);
                    arrRoleUserName.Add(item.Text);
                }
            }

            //帐号
            roleUserID = base.GetStringText(arrRoleUserID).Replace(@"\", @"\\");
            //姓名
            roleUserName = base.GetStringText(arrRoleUserName);

            #endregion

            #region 获得部门树上成员ID和Name

            String   deptTreeUserID   = String.Empty;
            String   deptTreeUserName = String.Empty;//用户名字
            String[] strUsers         = new String[2];

            GetType1();

            if (UCDeptTreeUserIDControl != String.Empty || UCDeptTreeUserNameControl != String.Empty)
            {
                if (this.type1 == "1" || this.type2 == "1" || this.type3 == "1")
                {
                    foreach (String deptid in arrCheckedDeptID)
                    {
                        strUsers = this.GetDeptMember(deptid);
                        if (strUsers[0] != null && strUsers[1] != null)
                        {
                            deptTreeUserID   += ";" + strUsers[0];
                            deptTreeUserName += ";" + strUsers[1];
                        }
                    }
                    if (deptTreeUserName.Length > 0)
                    {
                        deptTreeUserName = FormsMethod.FilterRepeat(deptTreeUserName.Substring(1));
                    }
                    if (deptTreeUserID.Length > 0)
                    {
                        deptTreeUserID = FormsMethod.FilterRepeat(deptTreeUserID.Substring(1)).Replace(@"\", @"\\");
                    }
                }
            }

            #endregion

            #region 获得角色组的名称

            string strGroupName = string.Empty;

            foreach (TreeNode node in this.tvRoleList.CheckedNodes)
            {
                strGroupName += ";" + node.Text;
            }
            if (strGroupName.Length > 0)
            {
                strGroupName = strGroupName.Substring(1);
            }

            #endregion

            #region 获得回传脚本
            String script = String.Empty;

            if (UCDeptIDControl != String.Empty)
            {
                script += base.GetJSscriptValue(UCDeptIDControl, deptID);
            }
            if (UCDeptNameControl != String.Empty)
            {
                script += base.GetJSscriptValue(UCDeptNameControl, deptName);
                script += base.GetJSscriptTitle(UCDeptNameControl, deptID);
            }
            if (UCDeptUserIDControl != String.Empty)
            {
                script += base.GetJSscriptValue(UCDeptUserIDControl, deptUserID);
            }
            if (UCDeptUserNameControl != String.Empty)
            {
                script += base.GetJSscriptValue(UCDeptUserNameControl, deptUserName);
                script += base.GetJSscriptTitle(UCDeptUserNameControl, deptUserID);
            }
            if (UCRoleUserIDControl != String.Empty)
            {
                script += base.GetJSscriptValue(UCRoleUserIDControl, roleUserID);
            }
            if (UCRoleUserNameControl != String.Empty)
            {
                script += base.GetJSscriptValue(UCRoleUserNameControl, roleUserName);
                script += base.GetJSscriptTitle(UCRoleUserNameControl, roleUserID);
            }
            if (UCDeptTreeUserIDControl != String.Empty)
            {
                script += base.GetJSscriptValue(UCDeptTreeUserIDControl, deptTreeUserID);
            }
            if (UCDeptTreeUserNameControl != String.Empty)
            {
                script += base.GetJSscriptValue(UCDeptTreeUserNameControl, deptTreeUserName);
                script += base.GetJSscriptTitle(UCDeptTreeUserNameControl, deptTreeUserID);
            }

            //如果是部门和人员选到一个文本框上
            if (this.UCDeptAndUserControl != String.Empty)
            {
                String strDeptAndUser = String.Empty;
                if (deptName != String.Empty)
                {
                    strDeptAndUser += deptName;
                }
                if (deptUserName != String.Empty)
                {
                    if (strDeptAndUser != String.Empty)
                    {
                        strDeptAndUser += ";";
                    }
                    strDeptAndUser += deptUserName;
                }
                if (strGroupName != string.Empty)
                {
                    if (strDeptAndUser != string.Empty)
                    {
                        strDeptAndUser += ";";
                    }
                    strDeptAndUser += strGroupName;
                }
                script += base.GetJSscriptValue(UCDeptAndUserControl, strDeptAndUser);
            }

            script += String.Format("parent.ClosePopDiv('{0}')", base.divPopDivID + base.UCID);

            #endregion

            //组成一整条js后运行
            ClientScriptM.ResponseScript(this, script);
        }
        /// <summary>
        /// 控件填充实体
        /// </summary>
        /// <param name="IsSave">是否保存</param>
        /// <returns>EntityBase</returns>
        protected override EntityBase ControlToEntity(bool IsSave)
        {
            EntityLetterSend entity = null;

            entity = base.EntityData != null ? base.EntityData as EntityLetterSend : new EntityLetterSend();


            entity.DocumentTitle = txtSubject.Text;
            entity.ccCompany     = txtccCompany.Text;
            entity.company       = txtCompany.Text;
            entity.company1      = txtCompany.Text;
            //entity.content = SysString.TextToHtmlCode(txtContent.Text);
            entity.content = txtContent.Text;

            entity.pages = txtPages.Text;

            entity.subject      = txtSubject.Text;
            entity.title        = txtTitle.Text;
            entity.to           = txtTo.Text;
            entity.yourRef      = txtYourRef.Text;
            entity.jinJi        = chkJinJi.Checked;
            entity.UrgentDegree = chkJinJi.Checked ? ConstString.CommonStr.Urgent : ConstString.CommonStr.Normal;
            entity.huiZhi       = chkHuiZhi.Checked;
            entity.ccDept       = txtccDept.Text;
            entity.ccDeptIDs    = this.txtccDeptIDs.Text;
            entity.ccLeader     = txtccLeader.Text;
            entity.companyID    = txtCompanyID.Text;

            //流程数据和隐藏数据
            entity.deptLeaderIDs = txtDeptLeaderIDs.Text;

            entity.ccLeaderIDs      = txtccLeaderIDs.Text;
            entity.wfChuanYueRenIDs = wfChuanYueRenIDs.Text;

            if (wfChuanYueRenIDs.Text != "")
            {
                string[] strCYarr = wfChuanYueRenIDs.Text.Split(';');

                for (int i = 0; i < strCYarr.Length; i++)
                {
                    ChuanYues cy    = new ChuanYues();
                    bool      isHas = false;
                    for (int j = 0; j < entity.chuanyues.Count; j++)
                    {
                        if (entity.chuanyues[j].UserID.ToLower() == strCYarr[i].ToLower())
                        {
                            isHas = true;
                        }
                    }
                    if (!isHas)
                    {
                        cy.UserID   = strCYarr[i];
                        cy.UserName = OAUser.GetUserName(strCYarr[i]);
                        cy.Date     = DateTime.Now.ToShortDateString();
                        entity.chuanyues.Add(cy);
                    }
                }
            }
            //附件数据绑定
            entity.FileList = this.ucAttachment.UCDataList;

            //函件类型
            entity.hanJian1   = drpHanJian.SelectedItem == null ? "" : drpHanJian.SelectedItem.Text;
            entity.hanJianID1 = drpHanJian.SelectedValue == null ? "" : drpHanJian.SelectedValue;

            //add
            entity.equipmentCode1 = this.txtEquipmentCode.Text;
            entity.contractNo1    = this.txtContractNo.Text;

            //意见
            if (IsSave == false)
            {
                entity.isSave = false;
                CYiJian so = new CYiJian();
                so.UserID     = entity.ReceiveUserID == string.Empty ? CurrentUserInfo.UserName : entity.ReceiveUserID;
                so.UserName   = entity.ReceiveUserName == string.Empty ? CurrentUserInfo.DisplayName : entity.ReceiveUserName;
                so.ViewName   = base.StepName;
                so.FinishTime = DateTime.Now.ToString();
                so.Content    = "(" + base.SubAction + ")" + txtComment.Text;
                entity.yiJian.Add(so);
            }
            else
            {
                entity.isSave  = true;
                entity.syiJian = txtComment.Text;
            }

            switch (base.StepName)
            {
            case ProcessConstString.StepName.LetterSend.发起函件:

                //核稿
                entity.heGaoRen     = txtHeGaoRen.Text;
                entity.wfHeGaoRenID = wfHeGaoRenID.Text;
                //会签
                entity.huiQianRen      = txtHuiQianRen.Text;
                entity.wfHuiQianRenIDs = wfHuiQianRenIDs.Text;
                //签发
                entity.qianFaRen     = txtQianFaRen.Text;
                entity.wfQianFaRenID = wfQianFaRenID.Text;

                if (txtNiGaoRenDate.Text.Trim() == "")     //不是第一次
                {
                    //发起人
                    if (IsSave == false)
                    {
                        entity.UserDate     = DateTime.Now.ToString();
                        entity.niGaoRenDate = (entity.niGaoRenDate == string.Empty ? CurrentUserInfo.DisplayName : entity.ReceiveUserName) + " " + entity.UserDate;
                        entity.DraftDate    = SysConvert.ToDateTime(entity.UserDate);
                    }
                    if (entity.Drafter == string.Empty)
                    {
                        entity.Drafter     = CurrentUserInfo.DisplayName;
                        entity.DrafterID   = CurrentUserInfo.UserName;
                        entity.wfFaQiRenID = CurrentUserInfo.UserName;
                    }
                }
                if (base.SubAction == "提交会签" || base.SubAction == "提交签发")     //如果是被退回的 再次提交会签 不经过核稿 则清空核稿人和核稿日期
                {
                    if (IsSave == false && base.WorkItemID != "" && base.IsFromDraft == false)
                    {
                        entity.heGaoRen     = "";
                        entity.heGaoRenDate = "";
                        entity.wfHeGaoRenID = "";
                        entity.heGaoYiJian  = "";
                    }
                    else
                    {
                        entity.heGaoRen     = txtHeGaoRen.Text;
                        entity.wfHeGaoRenID = wfHeGaoRenID.Text;
                    }
                }
                if (base.SubAction == "提交签发")     //如果是被退回的 再次提交签发 不经过会签 则清空会签人和会签日期
                {
                    if (IsSave == false && base.WorkItemID != "" && base.IsFromDraft == false)
                    {
                        entity.huiqianDates = "";
                        entity.huiQianRen   = "";
                        entity.huiQian.Clear();
                    }
                }

                //发文部门
                entity.sendDept1   = drpSendDept.SelectedItem == null ? "" : drpSendDept.SelectedItem.Text;
                entity.sendDeptID1 = drpSendDept.SelectedValue;

                //是否会签驳回
                entity.isHuiQianBoHui = false;
                if (base.SubAction == "提交会签")
                {
                    entity.iHuiQianCount = entity.iHuiQianCount + 1;
                }
                break;

            case ProcessConstString.StepName.LetterSend.核稿:
                //核稿
                entity.heGaoRen = entity.ReceiveUserName;
                if (IsSave == false)
                {
                    entity.heGaoRenDate = DateTime.Now.ToString();
                }
                entity.heGaoYiJian = txtComment.Text;

                //会签
                entity.huiQianRen      = txtHuiQianRen.Text;
                entity.wfHuiQianRenIDs = wfHuiQianRenIDs.Text;

                //签发
                entity.qianFaRen     = txtQianFaRen.Text;
                entity.wfQianFaRenID = wfQianFaRenID.Text;
                if (base.SubAction == "提交会签")
                {
                    entity.iHuiQianCount = entity.iHuiQianCount + 1;
                }
                if (base.SubAction == "提交签发")     //如果是被核稿退回的 再次提交签发 不经过会签 则清空会签人和会签日期
                {
                    if (IsSave == false && base.WorkItemID != "" && base.IsFromDraft == false)
                    {
                        entity.huiqianDates = "";
                        entity.huiQianRen   = "";
                        entity.huiQian.Clear();
                    }
                }
                break;

            case ProcessConstString.StepName.LetterSend.会签:
                if (IsSave == false)
                {
                    if (entity.huiqianDates == "")
                    {
                        entity.huiqianDates = entity.ReceiveUserName + " " + DateTime.Now.ToString(DateFormat);
                    }
                    else
                    {
                        entity.huiqianDates = entity.huiqianDates + ";" + entity.ReceiveUserName + " " + DateTime.Now.ToString(DateFormat);
                    }

                    HanJianHuiQian hjhq = new HanJianHuiQian();
                    hjhq.UserID   = entity.ReceiveUserID;
                    hjhq.UserName = entity.ReceiveUserName;
                    hjhq.Date     = DateTime.Now;
                    hjhq.YiJian   = txtComment.Text;
                    hjhq.ICount   = entity.iHuiQianCount;
                    entity.huiQian.Add(hjhq);
                }
                //签发
                entity.qianFaRen     = txtQianFaRen.Text;
                entity.wfQianFaRenID = wfQianFaRenID.Text;

                if (base.SubAction == "退回")
                {
                    entity.isHuiQianBoHui = true;
                }
                break;

            case ProcessConstString.StepName.LetterSend.签发:
                if (IsSave == false)
                {
                    if (base.SubAction != "退回")
                    {
                        entity.signDate = DateTime.Now.ToString(DateFormat);
                    }
                }
                entity.HanJianAdminID = OAUser.GetUserByRoleName("函件管理员")[0];
                entity.HanJianAdmin   = OAUser.GetUserByRoleName("函件管理员")[1];
                break;

            case ProcessConstString.StepName.LetterSend.函件分发:
                entity.ourRef     = txtOurRef.Text;
                entity.DocumentNo = txtOurRef.Text;
                break;

            case ProcessConstString.StepName.LetterSend.二次分发:
                break;

            default: break;
            }

            return(entity);
        }
        /// <summary>
        /// 控件初始设置
        /// </summary>
        protected override void SetControlStatus()
        {
            btnSetNo.Visible = false;
            btnCheck.Visible = false;

            lblPages.Visible  = false;
            lblOurRef.Visible = false;

            ucAttachment.UCTemplateName = base.TemplateName;
            ucAttachment.UCProcessID    = base.ProcessID;
            ucAttachment.UCWorkItemID   = base.WorkItemID;
            ucAttachment.UCTBID         = base.IdentityID.ToString();

            OAControl controls = new OAControl();

            OAControl controlsCommon = new OAControl();

            controlsCommon.DisEnableControls = new Control[]
            {
                txtSignDate, txtHuiQianRenDates, txtHeGaoRenDate, txtNiGaoRenDate
            };

            controlsCommon.DisVisibleControls = new Control[]
            {
                //btnSetNo,btnCheck
            };


            if (IsPreview == false)
            {
                //给于用户提示
                txtSubject.ToolTip   = "200字符以内";
                txtSubject.MaxLength = 200;

                txtQianFaRen.ToolTip  = "公司领导";
                txtHuiQianRen.ToolTip = "函件会签组";

                txtSignDate.ToolTip        = "签发后自动生成";
                txtHeGaoRenDate.ToolTip    = "核稿后自动生成";
                txtHuiQianRenDates.ToolTip = "会签后自动生成";
                txtNiGaoRenDate.ToolTip    = "拟稿后自动生成";

                #region 弹出选择
                //签发人
                UCQianFa.UCRoleName        = "函件签发组";
                UCQianFa.UCUserIDControl   = wfQianFaRenID.ClientID;
                UCQianFa.UCUserNameControl = txtQianFaRen.ClientID;
                UCQianFa.UCIsSingle        = true;

                //会签人
                UCHuiQian.UCRoleName        = "函件会签组";
                UCHuiQian.UCUserIDControl   = wfHuiQianRenIDs.ClientID;
                UCHuiQian.UCUserNameControl = txtHuiQianRen.ClientID;
                UCHuiQian.UCIsSingle        = false;

                //抄送部门
                UCDeptcc.UCDeptIDControl   = txtccDeptIDs.ClientID;
                UCDeptcc.UCDeptNameControl = txtccDept.ClientID;
                UCDeptcc.UCDeptShowType    = "1010";
                UCDeptcc.UCSelectType      = "0";
                UCDeptcc.UCLevel           = "2";
                UCDeptcc.UCALLChecked      = "1";

                //抄送领导
                UCccLingDao.UCIsSingle        = false;
                UCccLingDao.UCRoleName        = "公司领导";
                UCccLingDao.UCUserIDControl   = txtccLeaderIDs.ClientID;
                UCccLingDao.UCUserNameControl = txtccLeader.ClientID;

                //主送单位
                UCCompany.UCNoControl   = txtCompanyID.ClientID;
                UCCompany.UCNameControl = txtCompany.ClientID;
                UCCompany.UCIsSingle    = true;

                //抄送单位
                UCCompanycs.UCNameControl = txtccCompany.ClientID;
                UCCompanycs.UCIsSingle    = false;
                ////UCCompanycc.UCNameControl = txtccCompany.ClientID;
                //////UCCompanycc.UCIsSingle = false;
                #endregion

                switch (base.StepName)
                {
                    #region 发起函件
                case ProcessConstString.StepName.LetterSend.发起函件:

                    wfFaQiRen.Text      = CurrentUserInfo.DisplayName;
                    wfFaQiRenID.Text    = CurrentUserInfo.UserName;
                    drpSendDept.ToolTip = "我所属的处室";
                    lblYiJian.Text      = "备注";

                    //核稿人
                    HeGaoRen();

                    controls.EnableControls = new Control[]
                    {
                        chkJinJi, chkHuiZhi, txtPages, drpHanJian, txtYourRef, txtEquipmentCode, txtContractNo, drpSendDept,
                        txtSubject, txtContent, txtTo
                    };
                    controls.YellowControls = new Control[]
                    {
                        txtHeGaoRen, txtQianFaRen, txtHuiQianRen, txtCompany, txtccDept, txtccLeader, txtccCompany
                    };
                    controls.DisEnableControls = new Control[]
                    {
                        txtOurRef,
                    };
                    if (string.IsNullOrEmpty(base.WorkItemID))
                    {
                        controls.DisVisibleControls = new Control[]
                        {
                            btnAddFenfa, btnCheck, btnGD, btnSencondFenfa, btnSetNo, btnQianFa, btnWanCheng, btnCancel, btnBack
                        };
                    }
                    else     //是被退回的 可撤销流程
                    {
                        if (base.IsFromDraft == false)
                        {
                            controls.DisVisibleControls = new Control[]
                            {
                                btnAddFenfa, btnCheck, btnGD, btnSencondFenfa, btnSetNo, btnQianFa, btnWanCheng, btnBack
                            };
                            btnCancel.Attributes.Add("onclick", "javascript: if(!confirm('确定要撤销该流程吗?')){return false;}else{DisableButtons();}");
                        }
                        else
                        {
                            controls.DisVisibleControls = new Control[]
                            {
                                btnAddFenfa, btnCheck, btnGD, btnSencondFenfa, btnSetNo, btnQianFa, btnWanCheng, btnBack, btnCancel
                            };
                        }
                    }
                    break;
                    #endregion

                    #region 核稿
                case ProcessConstString.StepName.LetterSend.核稿:
                    controls.EnableControls = new Control[]
                    {
                        chkJinJi, chkHuiZhi, txtPages, drpHanJian, txtYourRef, txtEquipmentCode, txtContractNo, drpSendDept,
                        txtSubject, txtContent, txtTo, txtccCompany
                    };
                    controls.DisEnableControls = new Control[]
                    {
                        txtOurRef, txtHeGaoRen, drpSendDept
                    };
                    controls.YellowControls = new Control[]
                    {
                        txtQianFaRen, txtHuiQianRen, txtCompany, txtccDept, txtccLeader
                    };
                    controls.DisVisibleControls = new Control[]
                    {
                        UCHeGao,
                        btnAddFenfa, btnCheck, btnGD, btnSencondFenfa, btnSetNo, btnQianFa, btnWanCheng, btnCancel, btnSubmitHeGao
                    };
                    break;
                    #endregion

                    #region 会签
                case ProcessConstString.StepName.LetterSend.会签:
                    ucAttachment.UCIsEditable = false;
                    btnSumitQianFa.Text       = "同意";
                    controls.EnableControls   = new Control[]
                    {
                        chkJinJi, chkHuiZhi, txtPages, drpHanJian, txtYourRef, txtEquipmentCode, txtContractNo,
                        txtSubject, txtContent, txtTo, txtccCompany
                    };
                    controls.DisEnableControls = new Control[]
                    {
                        txtOurRef, txtHeGaoRen, drpSendDept, txtHuiQianRen, txtQianFaRen,
                    };
                    controls.YellowControls = new Control[]
                    {
                        txtQianFaRen, txtHuiQianRen, txtCompany, txtccDept, txtccLeader
                    };
                    controls.DisVisibleControls = new Control[]
                    {
                        UCHuiQian, UCHeGao,
                        btnAddFenfa, btnCheck, btnGD, btnSencondFenfa, btnSetNo, btnCancel, btnSubmitHeGao, btnSubmitHuiQian, btnWanCheng, btnQianFa
                    };
                    break;
                    #endregion

                    #region 签发
                case ProcessConstString.StepName.LetterSend.签发:
                    controls.EnableControls = new Control[]
                    {
                        chkJinJi, chkHuiZhi, txtPages, drpHanJian, txtYourRef, txtEquipmentCode, txtContractNo,
                        txtSubject, txtContent, txtTo, txtccCompany
                    };
                    controls.DisEnableControls = new Control[]
                    {
                        txtOurRef, txtHeGaoRen, drpSendDept, txtHuiQianRen, txtQianFaRen,
                    };
                    controls.YellowControls = new Control[]
                    {
                        txtCompany, txtccDept, txtccLeader
                    };
                    controls.DisVisibleControls = new Control[]
                    {
                        UCHuiQian, UCHeGao, UCQianFa,
                        btnAddFenfa, btnCheck, btnGD, btnSencondFenfa, btnSetNo, btnCancel, btnSubmitHeGao, btnSubmitHuiQian, btnSumitQianFa, btnWanCheng
                    };

                    btnQianFa.ToolTip = "提交给函件管理员:" + OAUser.GetUserByRoleName("函件管理员")[1];
                    break;
                    #endregion

                    #region 函件分发
                case ProcessConstString.StepName.LetterSend.函件分发:
                    btnSetNo.Visible = true;
                    btnCheck.Visible = true;

                    lblPages.Visible  = true;
                    lblOurRef.Visible = true;
                    drpHanJian.SelectedIndexChanged += new EventHandler(drpHanJian_SelectedIndexChanged);
                    txtCompanyID.TextChanged        += new EventHandler(txtCompanyID_TextChanged);

                    if (base.IsDevolve)
                    {
                        this.btnGD.Attributes.Add("onclick", "javascript: if(!confirm('该流程已经归档,是否重新归档?')){return false;}else{DisableButtons();}");
                    }
                    controls.EnableControls = new Control[]
                    {
                        chkJinJi, chkHuiZhi, txtPages, drpHanJian, txtYourRef, txtEquipmentCode, txtContractNo,
                        txtSubject, txtContent, txtOurRef, txtTo, txtccCompany
                    };
                    controls.DisEnableControls = new Control[]
                    {
                        txtHeGaoRen, drpSendDept, txtHuiQianRen, txtQianFaRen,
                    };
                    controls.YellowControls = new Control[]
                    {
                        txtCompany, txtccDept, txtccLeader
                    };
                    controls.DisVisibleControls = new Control[]
                    {
                        UCHuiQian, UCHeGao, UCQianFa,
                        btnAddFenfa, btnSencondFenfa, btnCancel, btnSubmitHeGao, btnSubmitHuiQian, btnSumitQianFa, btnQianFa
                    };
                    break;
                    #endregion

                case ProcessConstString.StepName.LetterSend.二次分发:
                    break;

                default: break;
                }

                controlsCommon.SetControls();
                controls.SetControls();
            }
            //历史表单
            else
            {
                EntityLetterSend entity = base.EntityData != null ? base.EntityData as EntityLetterSend : new EntityLetterSend();
                ucAttachment.UCIsEditable  = false;
                controls.DisEnableControls = new Control[]
                {
                    txtOurRef, txtHeGaoRen, drpSendDept, txtHuiQianRen, txtQianFaRen,
                    chkJinJi, chkHuiZhi, txtPages, drpHanJian, txtYourRef, txtEquipmentCode, txtContractNo,
                    txtSubject, txtContent, txtTo,
                    txtCompany, txtccCompany, txtccDept, txtccLeader, txtComment,
                };
                controls.DisVisibleControls = new Control[]
                {
                    UCHeGao, UCHuiQian, UCQianFa, UCCompany, UCCompanycc, UCccLingDao, UCDeptcc,
                    btnSubmitHeGao, btnSubmitHuiQian, btnSumitQianFa, btnSave, btnSencondFenfa, btnSetNo, btnWanCheng, btnGD, btnCancel, btnQianFa, btnBack, btnAddFenfa
                };

                controlsCommon.SetControls();
                controls.SetControls();
                switch (base.StepName)
                {
                    #region 发起函件
                case ProcessConstString.StepName.LetterSend.发起函件:

                    break;
                    #endregion

                    #region 核稿
                case ProcessConstString.StepName.LetterSend.核稿:
                    break;
                    #endregion

                    #region 会签
                case ProcessConstString.StepName.LetterSend.会签:
                    break;
                    #endregion

                    #region 签发
                case ProcessConstString.StepName.LetterSend.签发:
                    break;
                    #endregion

                    #region 函件分发
                case ProcessConstString.StepName.LetterSend.函件分发:
                    if (entity.ReceiveUserID == CurrentUserInfo.UserName)     //自己办理的公办才允许追加分发
                    {
                        btnAddFenfa.Visible     = true;
                        btnSencondFenfa.Visible = true;

                        //抄送部门
                        UCDeptcc.UCDeptIDControl   = txtccDeptIDs.ClientID;
                        UCDeptcc.UCDeptNameControl = txtccDept.ClientID;
                        UCDeptcc.UCDeptShowType    = "1010";
                        UCDeptcc.UCSelectType      = "0";
                        UCDeptcc.UCLevel           = "2";

                        //抄送领导
                        UCccLingDao.UCIsSingle        = false;
                        UCccLingDao.UCRoleName        = "公司领导";
                        UCccLingDao.UCUserIDControl   = txtccLeaderIDs.ClientID;
                        UCccLingDao.UCUserNameControl = txtccLeader.ClientID;

                        UCDeptcc.Visible        = true;
                        UCccLingDao.Visible     = true;
                        base.StepName           = "二次分发";
                        btnSencondFenfa.Visible = true;
                        btnAddFenfa.Visible     = true;

                        ucAttachment.UCIsAgain = "1";
                    }
                    break;

                    #endregion
                default: break;
                }
                if (base.IsCanDevolve)
                {
                    this.btnGD.Visible = true;
                    if (base.IsDevolve)
                    {
                        this.btnGD.Attributes.Add("onclick", "javascript: if(!confirm('该流程已经归档,是否重新归档?')){return false;}else{DisableButtons();}");
                    }
                }
            }
        }
Beispiel #26
0
 private string GetUserName(string userID)
 {
     return(OAUser.GetUserName(userID) + " " + userID);
 }
Beispiel #27
0
 public void SetUser(string sessionID, OAUser _OAUser)
 {
     _redisHelper.Set <OAUser>(sessionID, _OAUser, TimeSpan.FromMinutes(60));
 }
Beispiel #28
0
        /// <summary>
        /// 程序文件 交办动作处理
        /// </summary>
        /// <param name="p_strActionName"></param>
        /// <param name="entity"></param>
        protected ReturnInfo FormSubmitForProFile(Boolean bIsSave, String strActionName, String strParentTbID, String strStepStatus, EntityBase entity)
        {
            User       l_objUser       = null;
            ReturnInfo l_objReturnInfo = FormSave.SaveEntity(entity, this, bIsSave, this.SubAction, this.TemplateName);

            if (!l_objReturnInfo.IsSucess)
            {
                this.ShowMsgBox(this.Page, MsgType.VbExclamation, "表单保存出错,后续操作不能进行!" + l_objReturnInfo.ErrMessage);
                return(l_objReturnInfo);
            }

            if (!bIsSave)
            {
                //处理交办人相关信息
                if (String.IsNullOrEmpty(strParentTbID))
                {
                    DataTable  dt         = B_PF.GetNextWorkItemIdForAssign(base.ProcessID);//当前ProcessID 父流程ID
                    EntityBase entitybase = base.EntityData != null ? base.EntityData : new EntityBase();
                    entitybase.AgentUserID   = String.Empty;
                    entitybase.AgentUserName = String.Empty;
                    EntityBase entitybase2 = EntityFactory.CreateEntity2(base.TemplateName);;
                    base.EntityData.Clone(entitybase2);
                    entitybase2.AgentUserID   = String.Empty;
                    entitybase2.AgentUserName = String.Empty;

                    entitybase2.ProcessID = dt.Rows[0]["PROC_INST_ID"].ToString();
                    entitybase.ProcessID  = dt.Rows[0]["PROC_INST_ID"].ToString();

                    entitybase2.WorkItemID = dt.Rows[0]["WORK_ITEM_ID"].ToString();
                    entitybase.WorkItemID  = dt.Rows[0]["WORK_ITEM_ID"].ToString();

                    entitybase2.D_StepStatus = dt.Rows[0]["STATUS"].ToString();
                    entitybase.D_StepStatus  = dt.Rows[0]["STATUS"].ToString();

                    entitybase2.ReceiveUserID = dt.Rows[0]["USER_ID"].ToString();
                    entitybase.ReceiveUserID  = dt.Rows[0]["USER_ID"].ToString();

                    entitybase2.StepName = dt.Rows[0]["NAME"].ToString();
                    entitybase.StepName  = dt.Rows[0]["NAME"].ToString();

                    entitybase2.SubmitAction = strActionName;
                    entitybase.SubmitAction  = strActionName;

                    //接收人姓名
                    l_objUser = OAUser.GetUser(entitybase.ReceiveUserID);
                    if (l_objUser != null)
                    {
                        entitybase2.ReceiveUserName = l_objUser.Name;
                        entitybase.ReceiveUserName  = l_objUser.Name;
                    }

                    entitybase2.FormsData = XmlUtility.SerializeXml(entitybase);
                    if (!entitybase2.Save())
                    {
                        l_objReturnInfo.IsSucess   = false;
                        l_objReturnInfo.ErrMessage = SysString.GetErrorMsgs(entitybase2.ErrMsgs);

                        ILogger log = LoggerFactory.GetLogger(LogType.TxtFile, @"Log", "程序文件");
                        log.WriteLog("保存实体出错:" + l_objReturnInfo.ErrMessage);

                        return(l_objReturnInfo);
                    }
                }//新增协助会签节点数据
                else
                {
                    B_PF pfEntity = new B_PF();
                    pfEntity.ID = int.Parse(strParentTbID);
                    pfEntity    = XmlUtility.DeSerializeXml <B_PF>(pfEntity.FormsData);
                    pfEntity.ID = int.Parse(strParentTbID);
                    //清空子流程ProcessID,用于标识当部门领导自己提交表单撤销子流程(如果不为空,则需要注销子流程)
                    pfEntity.ChildProcessID = String.Empty;
                    pfEntity.AssistContent  = (entity as B_PF).AssistContent;
                    pfEntity.FormsData      = XmlUtility.SerializeXml(pfEntity);//.Replace("<ID>" + pfEntity.ID + "</ID>", "<ID>" + int.MinValue.ToString() + "</ID>");
                    if (!pfEntity.Save())
                    {
                        throw new Exception(pfEntity.ErrMsgs.ToString());
                    }
                    WorkFlowBase.CompleteWorkItem(base.WorkItemID, null);
                }//更新交办会签节点数据
            }

            l_objReturnInfo.IsSucess = true;
            return(l_objReturnInfo);
        }
Beispiel #29
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="p_blnIsSaveDraft"></param>
        /// <param name="p_strActionName"></param>
        /// <param name="p_htAttributes"></param>
        /// <param name="p_entEntityData"></param>
        protected void FormSubmit(Boolean p_blnIsSaveDraft, String p_strActionName, Hashtable p_htAttributes, EntityBase p_entEntityData)
        {
            String  l_strMessage          = String.Empty;
            User    l_objUser             = null;
            Boolean l_blnIsProcessCreated = true;

            try
            {
                ////M_20100406
                ////huangqi
                ////修改说明:流程与附件模板名称是否匹配
                ////Begin
                //if (p_entEntityData.FileList.Count > 0 && p_entEntityData.FileList[0].ProcessType != base.TemplateName)
                //{
                //    this.ShowMsgBox(this.Page, MsgType.VbInformation, "流程与附件模板名称不比配,请注销后重新处理该文件。", base.EntryAction);
                //    return;
                //}
                ////End

                if (String.IsNullOrEmpty(base.WorkItemID))
                {
                    l_blnIsProcessCreated = false;
                }

                //保存实体数据
                ReturnInfo l_objReturnInfo = FormSave.SaveEntity(p_entEntityData, this, p_blnIsSaveDraft, p_strActionName, base.TemplateName);
                if (!l_objReturnInfo.IsSucess)
                {
                    //this.ShowMsgBox(this.Page, MsgType.VbExclamation, "表单保存出错,后续操作不能进行!" + l_objReturnInfo.ErrMessage);
                    JScript.Alert("表单保存出错,后续操作不能进行!" + l_objReturnInfo.ErrMessage, TemplateName == ProcessConstString.TemplateName.PROGRAM_FILE);
                    return;
                }

                if (p_blnIsSaveDraft)
                {
                    if (l_blnIsProcessCreated)
                    {
                        //this.ShowMsgBox(this.Page, MsgType.VbInformation, "保存草稿成功!");
                        bool isUseUp = false;
                        if (TemplateName == ProcessConstString.TemplateName.PROGRAM_FILE)
                        {
                            isUseUp = true;
                        }
                        else if (TemplateName == ProcessConstString.TemplateName.FinanceCCBX_APPLY)
                        {
                            isUseUp = true;
                        }
                        else
                        {
                            isUseUp = false;
                        }
                        JScript.Alert("保存草稿成功!", isUseUp);
                    }
                    else
                    {
                        this.ShowMsgBox(this.Page, MsgType.VbInformation, "保存草稿成功,可从草稿箱查看已保存文件!", "7");
                    }
                    return;
                }

                //流程操作
                DoWorkItem(p_htAttributes, l_blnIsProcessCreated);

                //获取下一个节点
                getnext : DataTable l_dtbDataTable = B_FormsData.GetNextWorkItem(this.ProcessID, this.WorkItemID);
                if (l_dtbDataTable.Rows.Count == 0)
                {
                    //有时候反应慢 数据还没产生
                    System.Threading.Thread.Sleep(500);
                    l_dtbDataTable = B_FormsData.GetNextWorkItem(this.ProcessID, this.WorkItemID);
                }
                //防止协办与交办的冲突
                if (base.TemplateName == ProcessConstString.TemplateName.LETTER_RECEIVE && base.SubAction != ProcessConstString.SubmitAction.LetterReceiveAction.ACTION_TJCB)
                {
                    if (l_dtbDataTable != null && l_dtbDataTable.Rows.Count > 0)
                    {
                        int i = 0;
                        foreach (DataRow l_dtrDataRow in l_dtbDataTable.Rows)
                        {
                            if (l_dtrDataRow["NAME"].ToString() != ProcessConstString.StepName.LetterReceiveStepName.STEP_HELP_DIRECTOR)
                            {
                                i = 1;
                                break;
                            }
                            else if (base.SubAction == ProcessConstString.SubmitAction.ACTION_SUBMIT && base.StepName == ProcessConstString.StepName.LetterReceiveStepName.STEP_LETTER_ADMIN)
                            {
                                i = 1;
                                break;
                            }
                        }
                        if (i == 0)
                        {
                            goto getnext;
                        }
                    }
                }

                l_strMessage = p_strActionName + "  ";
                String l_strStepName = String.Empty;
                foreach (DataRow l_dtrDataRow in l_dtbDataTable.Rows)
                {
                    EntityBase l_entEntityData     = EntityFactory.CreateEntity2(base.TemplateName);
                    EntityBase l_entEntityBaseData = base.EntityData;

                    l_entEntityBaseData.Clone(l_entEntityData);

                    //流程实例ID
                    l_entEntityData.ProcessID     = this.ProcessID;
                    l_entEntityBaseData.ProcessID = this.ProcessID;

                    //步骤节点ID
                    l_entEntityData.WorkItemID     = l_dtrDataRow["WORK_ITEM_ID"].ToString();
                    l_entEntityBaseData.WorkItemID = l_dtrDataRow["WORK_ITEM_ID"].ToString();

                    //步骤名称
                    l_entEntityData.StepName     = l_dtrDataRow["NAME"].ToString();
                    l_entEntityBaseData.StepName = l_dtrDataRow["NAME"].ToString();

                    //步骤状态
                    l_entEntityData.D_StepStatus     = l_dtrDataRow["STATUS"].ToString();
                    l_entEntityBaseData.D_StepStatus = l_dtrDataRow["STATUS"].ToString();

                    //接收时间
                    l_entEntityData.ReceiveDateTime     = Convert.ToDateTime(l_dtrDataRow["CREATED_DATE"]);
                    l_entEntityBaseData.ReceiveDateTime = Convert.ToDateTime(l_dtrDataRow["CREATED_DATE"]);

                    //接收人账号
                    l_entEntityData.ReceiveUserID     = l_dtrDataRow["USER_ID"].ToString();
                    l_entEntityBaseData.ReceiveUserID = l_dtrDataRow["USER_ID"].ToString();

                    //接收人姓名
                    l_objUser = OAUser.GetUser(l_entEntityData.ReceiveUserID);
                    if (l_objUser != null)
                    {
                        l_entEntityData.ReceiveUserName     = l_objUser.Name;
                        l_entEntityBaseData.ReceiveUserName = l_objUser.Name;
                    }

                    //公办ID
                    l_entEntityData.CommonID     = l_dtrDataRow["POOL_ID"].ToString();
                    l_entEntityBaseData.CommonID = l_dtrDataRow["POOL_ID"].ToString();

                    //提交动作
                    l_entEntityData.SubmitAction     = null;
                    l_entEntityBaseData.SubmitAction = null;

                    //代理人信息
                    l_entEntityData.AgentUserID   = String.Empty;
                    l_entEntityData.AgentUserName = String.Empty;

                    l_entEntityBaseData.AgentUserID   = String.Empty;
                    l_entEntityBaseData.AgentUserName = String.Empty;

                    l_entEntityData.IsFormSave     = false;
                    l_entEntityBaseData.IsFormSave = false;

                    if (base.TemplateName == ProcessConstString.TemplateName.PROGRAM_FILE || base.TemplateName == ProcessConstString.TemplateName.LETTER_RECEIVE)
                    {
                        l_entEntityData.CommentList.Clear();
                        l_entEntityBaseData.CommentList.Clear();
                    }

                    l_entEntityData.FormsData = XmlUtility.SerializeXml(l_entEntityBaseData);

                    if (l_strStepName != l_entEntityData.StepName)
                    {
                        l_strStepName = l_entEntityData.StepName;
                        if (l_strMessage != p_strActionName + "  ")
                        {
                            l_strMessage += "待处理!";
                        }
                        l_strMessage += "\\n[" + l_strStepName + "]:";
                    }

                    if (!String.IsNullOrEmpty(l_entEntityData.ReceiveUserName))
                    {
                        l_strMessage += l_entEntityData.ReceiveUserName + "  ";
                    }
                    else
                    {
                        l_strMessage += l_entEntityData.ReceiveUserID + "  ";
                    }

                    if ((B_FormsData.AscertainSameRecord(base.ProcessID, l_entEntityData.WorkItemID, base.TemplateName)))
                    {
                        continue;
                    }

                    if (!l_entEntityData.Save())
                    {
                        String  l_strErrorMessage = SysString.GetErrorMsgs(l_entEntityData.ErrMsgs);
                        ILogger log = LoggerFactory.GetLogger(LogType.TxtFile, @"Log", this.TemplateName);
                        log.WriteLog("保存待办节点出错:" + l_strErrorMessage);
                    }
                }
                if (l_strMessage == p_strActionName + "  ")
                {
                    l_strMessage = "完成!";
                }
                else
                {
                    l_strMessage += "待处理!";
                }
                this.ShowMsgBox(this.Page, MsgType.VbInformation, l_strMessage, base.EntryAction);
            }
            catch (Exception ex)
            {
                this.WriteLog(ex.Message);
                l_strMessage = ex.Message;
                this.ShowMsgBox(this.Page, MsgType.VbInformation, l_strMessage, base.EntryAction);
            }
        }
Beispiel #30
0
 public MenuService(OAEntity db, OAUser user, ILog log)
 {
     this.db   = db;
     this.user = user;
 }