Ejemplo n.º 1
0
        // 返回当前需要进行的流程模型,如果无流程,或流已完结,返回最后一步模型
        //仅用于处理自由流程(另一页面改为只处理自由流程)
        public M_MisProLevel GetNextLevel()
        {
            //CurStepNum:指定当前进行到的步骤
            M_MisProLevel model = new M_MisProLevel();

            //获取下一级
            oaMod = oaBll.SelReturnModel(appID);          //公文模型
            if (oaMod.Status == -1 || oaMod.Status == 99) //如果已经处理完成,则返回最后一步模型
            {
                model = freeBll.SelByProIDAndStepNum(oaMod.ID, oaMod.CurStepNum);
                return(model);
            }
            DataTable progDT = progBll.SelByAppID(appID.ToString()); //已进行到的流程
            DataTable freeDT = freeBll.SelDTByDocID(oaMod.ID);       //全部自由流程

            if (oaMod.CurStepNum == 0)                               //步骤为0时,加载第一步
            {
                if (freeDT == null || freeDT.Rows.Count < 1)
                {
                    function.WriteErrMsg("该自由流程未指定投递人!!!");
                }
                model = model.GetModelFromDR(freeDT.Rows[0]);//用第一个填充,其值是经过Level排序的
            }
            else
            {
                model = freeBll.SelByProIDAndStepNum(oaMod.ID, oaMod.CurStepNum); //获取上一步骤的模型
                if (!freeBll.IsLastFreeStep(model))                               //如果不是最后一步,则进一位
                {
                    model = freeBll.SelByProIDAndStepNum(oaMod.ID, (oaMod.CurStepNum + 1));
                }
            }
            return(model);
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                int id = Convert.ToInt32(Request.QueryString["ID"]);
                moa                  = boa.SelReturnModel(id);
                minfo                = buser.SeachByID(moa.UserID);
                this.LBTitle.Text    = moa.Title;
                this.LBKeyWords.Text = moa.Keywords;
                this.AddUSer.Text    = minfo.HoneyName;
                this.AddTime.Text    = moa.CreateTime.ToString();
                M_MisProLevel freeMod = freeBll.SelByDocID(id);
                if (freeMod != null)
                {
                    if (freeMod.ProID == 0)
                    {
                        preViewBtn.Visible = false;
                    }
                    RUserName_Lab.Text = buser.GetUserNameByIDS(freeMod.ReferUser);

                    CUserName_Lab.Text = buser.GetUserNameByIDS(freeMod.CCUser);
                    RUserID_Hid.Value  = freeMod.ReferUser;
                    CUserID_Hid.Value  = freeMod.CCUser;
                }
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 流程是否最后一步(公文,限定和自由判断方式不同)
        /// </summary>
        public bool IsLastStep(M_OA_Document oaMod, M_MisProLevel currentModel)
        {
            B_MisProLevel stepBll = new B_MisProLevel();
            DataTable     dt      = new DataTable();
            bool          flag    = false;

            switch (oaMod.ProType)
            {
            case (int)M_MisProcedure.ProTypes.Admin:
            case (int)M_MisProcedure.ProTypes.AdminFree:
                dt = stepBll.SelByProID(oaMod.ProID);
                break;

            case (int)M_MisProcedure.ProTypes.Free:    //1:0
            default:
                dt = SelDTByDocID(currentModel.BackOption);
                break;
            }
            if (dt.Rows.Count < 1)
            {
                throw new Exception("流程下未定义步骤");
            }
            model = model.GetModelFromDR(dt.Rows[(dt.Rows.Count - 1)]);
            flag  = (model.stepNum == currentModel.stepNum);
            return(flag);
        }
Ejemplo n.º 4
0
        //------------Tools
        public M_OA_Document FillMod(M_OA_Document oaMod = null)
        {
            M_UserInfo mu = buser.GetLogin();

            if (oaMod == null)
            {
                oaMod = new M_OA_Document();
            }
            M_MisProcedure proceMod = proceBll.SelReturnModel(ProID);

            oaMod.UserID     = mu.UserID;
            oaMod.CreateTime = DateTime.Now;
            oaMod.Status     = 0;
            oaMod.ProID      = ProID;
            //oaMod.Branch = groupBll.GetGroupNameByID(mu.GroupID.ToString());
            oaMod.CurStepNum    = 0;
            oaMod.PublicAttach  = Attach_Hid.Value.Trim('|');
            oaMod.PrivateAttach = FName_Hid.Value;
            //-----------
            oaMod.Title    = OAFormUI.Title_ASCX;
            oaMod.SendDate = DataConverter.CDate(OAFormUI.SendDate_ASCX);
            oaMod.No       = ViewState["No"].ToString();
            oaMod.ProType  = proceMod.TypeID;
            return(oaMod);
        }
Ejemplo n.º 5
0
        //修改表单
        protected void SaveForm_Btn_Click(object sender, EventArgs e)
        {
            //后台验证,前台不验证
            OAFormUI.vstate = ViewState;
            M_UserInfo    mu     = buser.GetLogin();
            DataTable     authDT = perBll.SelAuthByRoles(mu.UserRole);
            M_OA_Document oaMod  = oaBll.SelReturnModel(appID);

            if (perBll.CheckAuth(authDT, "oa_pro_no"))
            {
                oaMod.No = OAFormUI.NO_ASCX;
            }
            oaMod.Title    = OAFormUI.Title_ASCX;
            oaMod.SendDate = DataConvert.CDate(OAFormUI.SendDate_ASCX);
            DataTable    table  = OAFormUI.CreateTable(OAFormUI.GetFields(OAFormUI.ModelID).Split(','));
            M_CommonData conMod = conBll.SelReturnModel(Convert.ToInt32(oaMod.Content));

            conBll.UpdateContent(table, conMod);
            oaBll.UpdateByID(oaMod);
            //if (!string.IsNullOrEmpty(CurrentStep.CanEditField))//修改表单
            //{
            //    M_ModelInfo modelMod = bmode.GetModelById(ModelID);
            //    M_CommonData CData = conBll.SelReturnModel(Convert.ToInt32(oaMod.Content));
            //    DataTable dt = fieldBll.GetModelFieldListall(ModelID);
            //    DataTable table = commCall.GetDTFromPage(dt, Page, ViewState, null, true, CurrentStep.CanEditField);//读取步骤中设定的可修改字段
            //    conBll.UpdateContent(table, CData);
            //}
            function.WriteSuccessMsg("修改成功");
        }
Ejemplo n.º 6
0
        //保存
        protected void Save_Btn_Click(object sender, EventArgs e)
        {
            OAFormUI.vstate = ViewState;
            Call          commonCall = new Call();
            M_OA_Document oaMod      = null;

            if (Mid > 0)
            {
                oaMod = oaBll.SelReturnModel(Mid);
            }
            oaMod = FillMod(oaMod);
            M_MisProcedure proceMod = proceBll.SelReturnModel(ProID);
            DataTable      table    = OAFormUI.CreateTable(OAFormUI.GetFields(OAFormUI.ModelID).Split(','));

            if (Mid > 0)//修改
            {
                M_CommonData conMod = conBll.SelReturnModel(Convert.ToInt32(oaMod.Content));
                conBll.UpdateContent(table, conMod);
                oaBll.UpdateByID(oaMod);
            }
            else
            {
                oaMod.Content = commonCall.AddContentToNode(oaMod, NodeID, OAFormUI.ModelID, table).ToString();
                oaMod.ID      = oaBll.insert(oaMod);
            }
            oaCom.CreateStep(oaMod, proceMod, new OAStepParam()
            {
                IsFirst   = true,
                ReferUser = ReferUser_Hid.Value,
                StepNum   = 1
            });
            Response.Redirect("ViewDrafting.aspx?ID=" + oaMod.ID + "&FlowType=2");
        }
        //草稿
        protected void DraftBtn_Click(object sender, EventArgs e)
        {
            moa = FillMod(-80);
            int id = boa.insert(moa);

            Response.Redirect("ViewDrafting.aspx?ID=" + id);
        }
 //填充模型
 public M_OA_Document FillMod(int status, M_OA_Document oaMod = null)
 {
     if (oaMod == null)
     {
         oaMod = new M_OA_Document();
     }
     oaMod.UserID       = buser.GetLogin().UserID;
     oaMod.Secret       = (Secret.SelectedValue);
     oaMod.Urgency      = (Urgency.SelectedValue);
     oaMod.Importance   = (Importance.SelectedValue);
     oaMod.Urgency      = (Urgency.SelectedValue);
     oaMod.Type         = DataConverter.CLng(this.Type.SelectedValue);
     oaMod.Title        = Title_T.Text;
     oaMod.Keywords     = Keywords.Text;
     oaMod.CreateTime   = DataConverter.CDate(CreateTime.Text);
     oaMod.Content      = Content.Text;
     oaMod.Status       = status;
     oaMod.ProID        = DataConverter.CLng(proDP.SelectedValue);
     oaMod.Branch       = groupBll.GetByID(buser.GetLogin().GroupID).GroupName;
     oaMod.CurStepNum   = 0;
     oaMod.PublicAttach = SaveFile();
     if (signRadio.Items.Count > 0 && signRadio.SelectedIndex > 0)//0是不使用签章
     {
         oaMod.SignID = signRadio.SelectedValue + ":" + curPosD.Value;
     }
     return(oaMod);
 }
Ejemplo n.º 9
0
        /// <summary>
        /// 指定步骤的会签是否已完成,true:已完成
        /// </summary>
        public bool HQ_IsComplete(M_OA_Document oaMod, M_MisProLevel stepMod, int uid, string role = "refer")
        {
            string hashq = "", nohq = "";

            HQ_GetHasAndNot(oaMod, stepMod, uid, role, ref hashq, ref nohq);
            return(string.IsNullOrEmpty(nohq));
        }
Ejemplo n.º 10
0
        protected void singleBtn_Click(object sender, EventArgs e)
        {
            int id     = Convert.ToInt32(pageData.Value.Split(':')[0]);
            int nodeID = Convert.ToInt32(pageData.Value.Split(':')[1]);

            oaMod = oaBll.SelReturnModel(id);
            commCall.AddContentToNode(oaMod, nodeID, OAConfig.ModelID);
            Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('分发成功!!!');", true);
        }
Ejemplo n.º 11
0
 //{$SignInfo}:签字审批信息
 /// <summary>
 /// OA模板占位符处理
 /// </summary>
 public string ReplaceHolder(M_OA_Document oaMod, string filter = "")
 {
     for (int i = 0; i < Holder.Length; i++)
     {
         string r = GetHolder(oaMod, 0, filter);
         oaMod.Content = oaMod.Content.Replace(Holder[i], r);
     }
     return(oaMod.Content);
 }
Ejemplo n.º 12
0
    public void CreateFreeStep(M_OA_Document oaMod, M_MisProcedure proceMod, OAStepParam param)
    {
        M_MisProLevel freeMod = null;

        if (param.IsFirst)
        {
            freeMod = freeBll.SelByDocID(oaMod.ID);
        }
        else if (param.StepID > 0)//修改步骤
        {
            freeMod = freeBll.SelReturnModel(param.StepID);
        }
        bool isUpdate = true;

        if (freeMod == null)//非修改则新建
        {
            isUpdate = false;
            freeMod  = new M_MisProLevel();
        }
        freeMod.ProID               = proceMod.ID;
        freeMod.stepNum             = param.StepNum;
        freeMod.stepName            = proceMod.ProcedureName + "第" + param.StepNum + "步";
        freeMod.SendMan             = buser.GetLogin().UserID.ToString();
        freeMod.ReferUser           = param.ReferUser.Trim(',');
        freeMod.ReferGroup          = "";
        freeMod.CCUser              = param.CCUser.Trim(',');
        freeMod.CCGroup             = "";
        freeMod.HQoption            = 1;
        freeMod.Qzzjoption          = 0;
        freeMod.HToption            = 2;
        freeMod.EmailAlert          = "";
        freeMod.EmailGroup          = "";
        freeMod.SmsAlert            = "";
        freeMod.SmsGroup            = "";
        freeMod.BackOption          = oaMod.ID;
        freeMod.PublicAttachOption  = 1;
        freeMod.PrivateAttachOption = 1;
        freeMod.DocAuth             = "refer";
        freeMod.Status              = 1;
        freeMod.CreateTime          = DateTime.Now;
        freeMod.Remind              = oaMod.Title + "的流程";
        if (isUpdate)
        {
            freeBll.UpdateByID(freeMod);
        }
        else
        {
            freeBll.Insert(freeMod);
            if (!param.IsFirst)//非起始步骤修改,则更新状态
            {
                oaMod.Status = 0;
                oaBll.UpdateByID(oaMod);
            }
        }
    }
        //修改表单
        protected void SaveForm_Btn_Click(object sender, EventArgs e)
        {
            M_ModelInfo   modelMod = bmode.GetModelById(ModelID);
            M_OA_Document oaMod    = oaBll.SelReturnModel(appID);
            M_CommonData  CData    = conBll.SelReturnModel(Convert.ToInt32(oaMod.Content));
            DataTable     dt       = fieldBll.GetModelFieldListall(ModelID);
            DataTable     table    = commCall.GetDTFromPage(dt, Page, ViewState, null, true, CurrentStep.CanEditField);

            conBll.UpdateContent(table, CData);
            function.WriteSuccessMsg("修改成功");
        }
Ejemplo n.º 14
0
 /// <summary>
 /// 清空文档中的占位符
 /// </summary>
 public string ClearHolder(M_OA_Document oaMod)
 {
     for (int i = 0; i < Holder.Length; i++)
     {
         oaMod.Content = oaMod.Content.Replace(Holder[i], "");
     }
     for (int i = 0; i < Holder.Length; i++)
     {
         oaMod.Content = oaMod.Content.Replace(TempHolder[i], "");
     }
     return(oaMod.Content);
 }
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         SafeSC.Submit_Begin(this.ViewState);
         if (string.IsNullOrEmpty(Request.QueryString["AppID"]))
         {
             function.WriteErrMsg("未指定公文ID");
         }
         else
         {
             //只有上一级经办人有权限继续指定流程
             //M_MisProLevel fMod = freeBll.GetLastStep(AppID);
             //if (!fMod.ReferUser.Contains("," + buser.GetLogin().UserID + ",")) function.WriteErrMsg("只有上一级经办人才有权限修改该流程");
             if (StepID > 0)//修改步骤
             {
                 return_Btn.Visible = true;
                 freeMod            = freeBll.SelReturnModel(StepID);
                 moa = boa.SelReturnModel(AppID);
                 //-----Auth
                 if (!moa.IsFreePro)
                 {
                     function.WriteErrMsg("非自由流程,不允许自指定步骤");
                 }
                 if (freeMod.BackOption != AppID)
                 {
                     function.WriteErrMsg("公文与步骤数据不匹配,取消访问!!!");
                 }
                 if (moa.CurStepNum >= freeMod.stepNum)
                 {
                     function.WriteErrMsg("该步骤已执行,不允许修改!!!");
                 }
                 //-----
                 ReferUser_T.Text    = buser.GetUserNameByIDS(freeMod.ReferUser);
                 ReferUser_Hid.Value = freeMod.ReferUser;
                 CCUser_T.Text       = buser.GetUserNameByIDS(freeMod.CCUser);
                 CCUser_Hid.Value    = freeMod.CCUser;
             }
             else
             {
                 //-----Auth2(只允许创建下一步)
                 if (freeBll.GetStep(AppID) - CurStepNum > 1)
                 {
                     Free_Div.Visible = false;
                     remind2.Visible  = true;
                 }
             }
             Page.ClientScript.RegisterStartupScript(this.GetType(), "disFoo", "ShowFoo();", true);
             DataBind();//绑定已有步骤
         }
     }
 }
Ejemplo n.º 16
0
        //---------步骤判断
        /// <summary>
        /// 流程是否最后一步(公文,限定和自由判断方式不同)
        /// </summary>
        public bool IsLastStep(M_OA_Document oaMod)
        {
            M_MisProLevel stepMod = GetNextStep(oaMod);

            if (stepMod == null)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 17
0
 public M_MisProLevel SelNextModel(M_OA_Document oaMod)
 {
     if (oaMod == null)
     {
         return(null);
     }
     //全自由流程的该步为空,依情形特殊处理
     if (oaMod.ProID == 0)
     {
         return(null);
     }
     return(SelReturnModel("Where ProID=" + oaMod.ProID + " And StepNum=" + (oaMod.CurStepNum + 1)));
 }
Ejemplo n.º 18
0
        /// <summary>
        /// 仅用于处理AdminFree,用于第一步起草时调用
        /// 返回流程的下一步骤,如果是最后一步,则返回空值,如果无条件符合的步骤(例如步骤序号断裂等,也返回空值)
        /// </summary>
        public M_MisProLevel GetNextStep(M_OA_Document oaMod)
        {
            DataTable dt = GetNextStepDT(oaMod);

            if (dt == null || dt.Rows.Count < 1)
            {
                return(null);
            }
            else
            {
                return(new M_MisProLevel().GetModelFromDR(dt.Rows[0]));
            }
        }
Ejemplo n.º 19
0
 public void ShowPage(M_MisProcedure proceMod)
 {
     if (Mid > 0)
     {
         M_OA_Document oaMod     = oaBll.SelReturnModel(Mid);
         DataTable     dtContent = conBll.GetContent(Convert.ToInt32(oaMod.Content));
         if (dtContent == null || dtContent.Rows.Count < 1)
         {
             return;
         }
         OAFormUI.dataRow = dtContent.Rows[0];
         OAFormUI.MyBind();
     }
 }
Ejemplo n.º 20
0
        //是否有选择下一步经办人的权限
        private bool HasNextAuth(M_MisProLevel curStep, M_OA_Document oaMod, M_UserInfo mu)
        {
            switch (CurrentStep.DocAuth)
            {
            case "refer":
                return(curStep.ReferUser.Contains("," + mu.UserID + ","));

            case "sender":
                return(oaMod.UserID == mu.UserID);

            case "all":
            default:
                return((oaMod.UserID == mu.UserID) || (curStep.ReferUser.Contains("," + mu.UserID + ",")));
            }
        }
 //转交
 protected void zjBtn_Click(object sender, EventArgs e)
 {
     //只修改步骤,不做其他任何修改
     oaMod = oaBll.SelReturnModel(appID);
     if (zjDP.SelectedValue == "-1")                                            //较交给下一步
     {
         oaMod.CurStepNum = oaMod.CurStepNum == 0 ? 2 : (oaMod.CurStepNum + 1); //默认步数为零
     }
     else
     {
         oaMod.CurStepNum = Convert.ToInt32(zjDP.SelectedValue);
     }
     oaBll.UpdateByID(oaMod);
     Response.Redirect("../AffairsList.aspx?View=2");
 }
Ejemplo n.º 22
0
    /// <summary>
    /// 返回占位符字符串
    /// </summary>
    /// <param name="oaMod">OA模型</param>
    /// <param name="holdIndex">占位符</param>
    /// <param name="filter">是否要进行进滤,输入RowFilter语句,用于事务</param>
    public string GetHolder(M_OA_Document oaMod, int holdIndex, string filter = "")
    {
        string r = "";

        switch (Holder[holdIndex])
        {
        case "{$SignInfo}":
            //获取所有用户签字信息
            DataTable progDT = progBll.SelByAppID(oaMod.ID.ToString());
            if (!string.IsNullOrEmpty(filter))
            {
                progDT.DefaultView.RowFilter = filter;
                progDT = progDT.DefaultView.ToTable();
            }
            if (progDT == null || progDT.Rows.Count < 1)
            {
            }
            else
            {
                //需要判断是协办还是主办人
                foreach (DataRow dr in progDT.Rows)
                {
                    int           docid   = Convert.ToInt32(dr["AppID"]);
                    int           stepnum = Convert.ToInt32(dr["ProLevel"]);
                    M_MisProLevel freeMod = oaMod.IsFreePro ? freeBll.SelByProIDAndStepNum(docid, stepnum) : stepBll.SelByProIDAndStepNum(oaMod.ProID, stepnum);
                    if (freeMod == null)
                    {
                        continue;
                    }
                    if (freeMod.CCUser.Contains("," + DataConvert.CStr(dr["AppRoveID"]) + ","))    //协办
                    {
                        string template = HttpUtility.HtmlDecode(OAConfig.ParterSignTemplate);
                        r += template.Replace("@UserName", dr["UserName"].ToString()).Replace("@Remind", dr["Remind"].ToString()).Replace("@SignDate", Convert.ToDateTime(dr["CreateTime"]).ToString("yyyy年MM月dd日"));
                    }
                    else    //主办
                    {
                        string template = HttpUtility.HtmlDecode(OAConfig.LeaderSignTemplate);
                        r += template.Replace("@UserName", dr["UserName"].ToString()).Replace("@Remind", dr["Remind"].ToString()).Replace("@SignDate", Convert.ToDateTime(dr["CreateTime"]).ToString("yyyy年MM月dd日"));
                    }
                }
            }
            break;

        default:
            break;
        }
        return(r);
    }
Ejemplo n.º 23
0
    //后期可扩展为单步步骤,自由
    public void CreateAdminFreeStep(M_OA_Document oaMod, M_MisProcedure proceMod, OAStepParam param)
    {
        //从proceMod中拷贝流程信息,但主办人可自指定
        M_MisProLevel freeMod = null;
        M_MisProLevel stepMod = stepBll.SelByProIDAndStepNum(proceMod.ID, param.StepNum);

        if (stepMod == null)
        {
            function.WriteErrMsg("错误:" + proceMod.ProcedureName + "下步骤不完整");
        }
        if (param.IsFirst)
        {
            freeMod = freeBll.SelByDocID(oaMod.ID);
        }
        else if (param.StepID > 0)
        {
            freeMod = freeBll.SelReturnModel(param.StepID);
        }
        bool isUpdate = true;//需处理

        if (freeMod == null)
        {
            isUpdate   = false;
            stepMod.ID = 0;
            freeMod    = stepMod;
        }
        freeMod.SendMan    = buser.GetLogin().UserID.ToString();
        freeMod.ReferUser  = param.ReferUser.Trim(',');
        freeMod.ReferGroup = "";
        freeMod.CCUser     = param.CCUser.Trim(',');
        //freeMod.CCGroup = "";
        freeMod.BackOption = oaMod.ID;
        freeMod.CreateTime = DateTime.Now;
        freeMod.Remind     = oaMod.Title + "的流程";
        if (isUpdate)
        {
            freeBll.UpdateByID(freeMod);
        }
        else
        {
            freeBll.Insert(freeMod);
            if (!param.IsFirst)
            {
                oaMod.Status = 0;
                oaBll.UpdateByID(oaMod);
            }
        }
    }
Ejemplo n.º 24
0
    //---------------------流程块
    public void CreateStep(M_OA_Document oaMod, M_MisProcedure proceMod, OAStepParam param)
    {
        switch (proceMod.MyProType)
        {
        case M_MisProcedure.ProTypes.Admin:
        ////不需处理
        //break;
        case M_MisProcedure.ProTypes.AdminFree:
            CreateAdminFreeStep(oaMod, proceMod, param);
            break;

        case M_MisProcedure.ProTypes.Free:
            CreateFreeStep(oaMod, proceMod, param);
            break;
        }
    }
Ejemplo n.º 25
0
        public void MyBind(M_OA_Document oaMod)
        {
            M_UserInfo mu = buser.GetLogin();

            SendMan_L.Text         = oaMod.UserName;
            stepNameL.Text         = "已完结";
            ascx                   = proceBll.SelReturnModel(oaMod.ProID).FlowTlp;
            OAFormUI.SendDate_ASCX = oaMod.SendDate.ToString();
            createTimeL.Text       = oaMod.SendDate.ToString("yyyy年MM月dd日 HH:mm");
            ModelID                = Convert.ToInt32(proceBll.SelReturnModel(oaMod.ProID).FormInfo);
            DataTable dtContent = conBll.GetContent(Convert.ToInt32(oaMod.Content));

            OAFormUI.InitControl(ViewState, ModelID);
            OAFormUI.dataRow = dtContent.Rows[0];
            OAFormUI.MyBind();
            OAFormUI.Title_ASCX        = oaMod.Title;
            OAFormUI.NO_ASCX           = oaMod.No;
            OAFormUI.No_ASCX_T.Enabled = false;
        }
        public void ShowPage(M_OA_Document oaMod)
        {
            M_MisProcedure proceMod = new B_MisProcedure().SelReturnModel(oaMod.ProID);

            ModelID = DataConvert.CLng(proceMod.FormInfo);
            M_ModelInfo   modelMod  = bmode.GetModelById(ModelID);
            DataTable     dt        = fieldBll.GetModelFieldListall(ModelID);
            StringBuilder builder   = new StringBuilder();
            DataTable     dtContent = conBll.GetContent(Convert.ToInt32(oaMod.Content));

            //showBll.config = new FieldConfig() { OpenDisabled = true, source = FieldConfig.SType.OAForm,EnableField=CurrentStep.CanEditField };

            if (disall)
            {
                showBll.config.EnableField = "";
            }
            Html_Lit.Text     = showBll.GetUpdateAllHtml(ModelID, 100, dtContent);
            formop_tr.Visible = !string.IsNullOrEmpty(CurrentStep.CanEditField);
        }
        protected void Del_Btn_Click(object sender, EventArgs e)
        {
            int        id = DataConvert.CLng(DelID_Hid.Value);
            M_UserInfo mu = buser.GetLogin();

            if (id > 0)
            {
                M_OA_Document oaMod = oaBll.SelReturnModel(id);
                if (oaMod.CurStepNum > 0 || oaMod.UserID != mu.UserID)
                {
                    function.WriteErrMsg("已开始流程,不可删除");
                }
                else
                {
                    oaBll.Del(id);
                    MyBind();
                }
            }
        }
        protected void WithDraw_Btn_Click(object sender, EventArgs e)
        {
            int        id = DataConvert.CLng(DelID_Hid.Value);
            M_UserInfo mu = buser.GetLogin();

            if (id > 0)
            {
                M_OA_Document oaMod = oaBll.SelReturnModel(id);
                if (oaMod.CurStepNum > 0 || oaMod.UserID != mu.UserID)
                {
                    function.WriteErrMsg("流程已开始,不可撤回");
                }
                else
                {
                    freeBll.DelByStep(oaMod.ID, 0);
                    function.WriteSuccessMsg("撤回成功!");
                }
            }
        }
Ejemplo n.º 29
0
    public int AddContentToNode(M_OA_Document oaDoc, int NodeID, int ModelID, DataTable table)
    {
        M_CommonData CData = new M_CommonData();

        CData.NodeID    = NodeID;
        CData.ModelID   = ModelID;
        CData.TableName = bmode.GetModelById(ModelID).TableName;
        CData.Title     = oaDoc.Title;
        //判断是否使用文件流程
        CData.Status     = 99;
        CData.Inputer    = buser.GetLogin().HoneyName;
        CData.EliteLevel = 0;
        CData.InfoID     = "";
        CData.SpecialID  = "";
        CData.Hits       = 0;
        CData.UpDateType = 2;
        CData.UpDateTime = DateTime.Now;
        //string Keyword = this.TxtTagKey.Text.Trim().Replace(" ", "|");
        CData.TagKey       = oaDoc.Keywords;
        CData.Status       = 99;//状态,如果需要审核后才能看到,这里做下逻辑
        CData.Titlecolor   = "";
        CData.Template     = "";
        CData.CreateTime   = DateTime.Now;
        CData.ProWeek      = 0;
        CData.Pronum       = 0;
        CData.BidType      = 0;
        CData.IsBid        = 0;
        CData.BidMoney     = DataConverter.CDouble(0);
        CData.DefaultSkins = 0;
        CData.FirstNodeID  = 0;                            //GetNo(NodeID)
        CData.TitleStyle   = "";
        CData.ParentTree   = conBll.GetParentTree(NodeID); //父级别树
        CData.TopImg       = "";                           //首页图片
        CData.PdfLink      = "";
        CData.Subtitle     = "";
        CData.PYtitle      = "";
        int newid = conBll.AddContent(table, CData);

        oaDoc.ItemID    = CData.ItemID;
        oaDoc.TableName = CData.TableName;
        oaDoc.UserName  = CData.Inputer;
        return(newid);
    }
        public void CreateStep(int id)
        {
            M_MisProLevel freeMod = freeBll.SelByDocID(id);

            moa = boa.SelReturnModel(id);
            bool isUpdate = true;

            if (freeMod == null)
            {
                isUpdate = false;
                freeMod  = new M_MisProLevel();
            }
            freeMod.ProID               = 0;
            freeMod.stepNum             = 1;
            freeMod.stepName            = "自由流程第1步";
            freeMod.SendMan             = buser.GetLogin().UserID.ToString();
            freeMod.ReferUser           = RUserID_Hid.Value.Trim(',');
            freeMod.ReferGroup          = "";
            freeMod.CCUser              = CUserID_Hid.Value.Trim(',');
            freeMod.CCGroup             = "";
            freeMod.HQoption            = 1;
            freeMod.Qzzjoption          = 0;
            freeMod.HToption            = 2;
            freeMod.EmailAlert          = "";
            freeMod.EmailGroup          = "";
            freeMod.SmsAlert            = "";
            freeMod.SmsGroup            = "";
            freeMod.BackOption          = id;
            freeMod.PublicAttachOption  = 1;
            freeMod.PrivateAttachOption = 1;
            freeMod.Status              = 1;
            freeMod.CreateTime          = DateTime.Now;
            freeMod.Remind              = moa.Title + "的自由流程";
            if (isUpdate)
            {
                freeBll.UpdateByID(freeMod);
            }
            else
            {
                freeBll.Insert(freeMod);
            }
        }