protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         DataBind();
         if (Mid > 0)
         {
             proMod                    = proBll.SelReturnModel(Mid);
             proNameT.Text             = proMod.ProcedureName;
             NickName_T.Text           = proMod.SponsorGroup;
             ProClass_DP.SelectedValue = proMod.ClassID.ToString();
             ProType_DP.SelectedValue  = proMod.TypeID.ToString();
             //FormType_Rad.SelectedValue = proMod.FormType.ToString();
             FormInfo_T.Text = proMod.FormInfo;
             //manager_Hid.Value = proMod.Manager;
             sponsor_Hid.Value = proMod.Sponsor;
             //manager_T.Text = perBll.GetRoleNameByIDs(proMod.Manager); //buser.GetUserNameByIDS(proMod.Manager);
             sponsor_T.Text      = perBll.GetRoleNameByIDs(proMod.Sponsor);
             flowdoc_chk.Checked = proMod.AllowAttach == 1;
             //CanEditField_T.Text = proMod.CanEditField;
             remindT.Text              = proMod.Remind;
             FlowTlp_DP.SelectedValue  = proMod.FlowTlp;
             PrintTlp_DP.SelectedValue = proMod.PrintTlp;
             function.Script(this, "SetChkVal('docauth_chk','" + proMod.DocAuth + "');");
         }
     }
     Call.SetBreadCrumb(Master, "<li><a href='" + CustomerPageAction.customPath2 + "Main.aspx'>工作台</a></li><li><a href='../Config/SiteOption.aspx'>系统设置</a></li><li><a href='Default.aspx'>流程管理</a></li><li class='active'>添加流程</a></li>");
 }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string proName = "";
                if (ProID > 0)
                {
                    M_MisProcedure proceMod = proBll.SelReturnModel(ProID);
                    if (proceMod != null)
                    {
                        proName = "[" + proceMod.ProcedureName + "]";
                    }
                }
                switch (CurrentView)
                {
                case "1":
                    CurView_L.Text = "待办公文" + proName;
                    break;

                case "2":
                    CurView_L.Text = "已办公文" + proName;
                    break;

                case "3":
                    CurView_L.Text = "我的公文" + proName;
                    break;

                case "4":
                    CurView_L.Text = "我的借阅" + proName;
                    break;
                }
                MyBind();
            }
        }
 protected void saveBtn_Click(object sender, EventArgs e)
 {
     if (Mid > 0)
     {
         proMod = proBll.SelReturnModel(Mid);
     }
     proMod.ProcedureName = proNameT.Text.Trim();
     proMod.ClassID       = DataConvert.CLng(ProClass_DP.SelectedValue);
     proMod.TypeID        = Convert.ToInt32(ProType_DP.SelectedValue);
     //proMod.FormType = Convert.ToInt32(FormType_Rad.SelectedValue);
     proMod.FormInfo = FormInfo_T.Text;
     //proMod.Manager = buser.GetIdsByUserName(manager_T.Text.Trim());
     proMod.Sponsor      = sponsor_Hid.Value;
     proMod.SponsorGroup = NickName_T.Text.Trim();
     //proMod.ModelID = modelDP.SelectedValue;
     proMod.AllowAttach  = flowdoc_chk.Checked ? 1 : 0;
     proMod.AllowFlow    = 1;
     proMod.CanEditField = "*";
     proMod.Remind       = remindT.Text.Trim();
     proMod.NodeID       = 0;//绑定节点,暂无用
     proMod.DocAuth      = Request.Form["docauth_chk"];
     proMod.FlowTlp      = FlowTlp_DP.SelectedValue;
     proMod.PrintTlp     = PrintTlp_DP.SelectedValue;
     if (Mid > 0)
     {
         proBll.UpdateByID(proMod);
     }
     else
     {
         proBll.insert(proMod);
     }
     function.WriteSuccessMsg("操作成功", "Default.aspx");
 }
Exemplo 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);
        }
Exemplo n.º 5
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");
        }
Exemplo n.º 6
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);
            }
        }
    }
Exemplo n.º 7
0
        //---------------Tool
        /// <summary>
        /// 用户是否有发起权限
        /// </summary>
        public bool CheckSponsor(int proID, int userID)
        {
            bool flag = false;

            model = SelReturnModel(proID);
            if (string.IsNullOrEmpty(model.Sponsor) || model.Sponsor.Contains("," + userID + ","))
            {
                flag = true;
            }
            return(flag);
        }
Exemplo n.º 8
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();
     }
 }
Exemplo n.º 9
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);
            }
        }
    }
Exemplo n.º 10
0
        //获取ZL_User中的数据,包含组名等

        //完结自由流程,只有会签完毕才会显示
        protected void Free_Sure_Btn_Click(object sender, EventArgs e)
        {
            //判断是否真的执行完成,避免用户添加了步骤后,又点完结流程

            if (freeBll.IsLastStep(oaMod, CurrentStep))
            {
                M_MisProcedure proceMod = proceBll.SelReturnModel(oaMod.ProID);
                oaMod.Status = proceMod.AllowAttach == 1 ? (int)ZLEnum.ConStatus.Filed : (int)ZLEnum.ConStatus.Audited;
                oaBll.UpdateByID(oaMod);
                Response.Redirect(Request.RawUrl);
            }
            else
            {
                Page.ClientScript.RegisterStartupScript(this.GetType(), "disAlert", "alert('流程未完成,是否已指定下一步骤!!!');location=location;", true);
            }
        }
Exemplo n.º 11
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;
        }
    }
Exemplo n.º 12
0
        public ActionResult EditProcedure()
        {
            int            id     = Convert.ToInt32(Request.QueryString["ProID"]);
            M_MisProcedure proMod = mpBll.SelReturnModel(id);

            if (proMod != null)
            {
                ViewBag.TxtName = proMod.ProcedureName;
                DataTable dt = proBll.SelByProID(id);
                ViewBag.repdt = dt;
                if (dt.Rows.Count > 0)
                {
                    ViewBag.txtTRLastIndex = (dt.Rows.Count + 1).ToString();
                }
                else
                {
                    ViewBag.txtTRLastIndex = "1";
                }
                SqlParameter[] sp2  = new SqlParameter[] { new SqlParameter("ID", proMod.MyProType) };
                string         Name = mtBll.Sel("ID=@ID", "ID", sp2).Rows[0]["TypeName"].ToString();
                ViewBag.DrpTypeSel = Name;
            }
            else
            {
                ViewBag.TxtName.Text = "";
            }

            DataTable             types    = mtBll.Sels();
            List <SelectListItem> nodeList = new List <SelectListItem>();

            nodeList.Add(new SelectListItem {
                Text = "全部", Value = "0"
            });
            foreach (DataRow row in types.Rows)
            {
                nodeList.Add(new SelectListItem {
                    Text = row.Field <string>("TypeName"), Value = row.Field <int>("ID").ToString()
                });
            }
            ViewBag.types = nodeList;
            return(View());
        }
Exemplo n.º 13
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         if (AppID < 1)
         {
             function.WriteErrMsg("未指定需要打印的文档");
         }
         M_OA_Document  oaMod    = oaBll.SelReturnModel(AppID);
         M_MisProcedure proceMod = proceBll.SelReturnModel(oaMod.ProID);
         ascx = proceMod.PrintTlp;
         OAFormUI.InitControl(ViewState, Convert.ToInt32(proceMod.FormInfo));
         OAFormUI.Title_ASCX    = oaMod.Title;
         OAFormUI.SendDate_ASCX = oaMod.SendDate.ToString("yyyy年MM月dd日");
         OAFormUI.NO_ASCX       = oaMod.No;
         DataTable dtContent = conBll.GetContent(Convert.ToInt32(oaMod.Content));
         OAFormUI.dataRow = dtContent.Rows[0];
         OAFormUI.MyBind();
     }
 }
Exemplo n.º 14
0
 public M_MisProcedure SelReturnModel(int ID)
 {
     if (ID == 0)
     {
         M_MisProcedure freeMod = new M_MisProcedure();
         freeMod.TypeID        = (int)M_MisProcedure.ProTypes.Free;
         freeMod.ProcedureName = "自由流程";
         return(freeMod);
     }
     using (SqlDataReader reader = Sql.SelReturnReader(strTableName, PK, ID))
     {
         if (reader.Read())
         {
             return(model.GetModelFromReader(reader));
         }
         else
         {
             return(null);
         }
     }
 }
        //protected void Type_SelectedIndexChanged(object sender, EventArgs e)
        //{
        //    int modelID = DataConvert.CLng(Type.SelectedValue.ToString());
        //    if (modelID > 0)
        //    {
        //        mmis = bmis.SelReturnModel(modelID);
        //        Content.Text = mmis.ModelContent;
        //    }
        //    else
        //    {
        //        Content.Text = "";
        //    }
        //}
        //protected void proDP_SelectedIndexChanged(object sender, EventArgs e)
        //{
        //    if (proDP.SelectedIndex == 0) return;
        //    int proID = DataConvert.CLng(proDP.SelectedValue);
        //    proMod = proBll.SelReturnModel(proID);
        //    if (proMod.AllowAttach == 1)
        //    {
        //        upFileTR.Visible = true;
        //    }
        //}
        //保存
        #endregion
        protected void saveBtn_Click(object sender, EventArgs e)
        {
            int proID = DataConverter.CLng(proDP.SelectedValue);

            if (Request.QueryString["Edit"] == "1" && Request.QueryString["appID"] != "")
            {
                moa = boa.SelReturnModel(DataConvert.CLng(Request.QueryString["appID"]));
                FillMod(0, moa);
                boa.UpdateByID(moa);
            }
            else
            {
                moa    = FillMod(0);
                moa.ID = boa.insert(moa);
            }
            M_MisProcedure proceMod = proBll.SelReturnModel(moa.ProID);

            oaCom.CreateStep(moa, proceMod, new OAStepParam()
            {
                IsFirst   = true,
                ReferUser = RUserID_Hid.Value,
                StepNum   = 1
            });
            {
                //同步入能力中心
                M_User_Plat upMod = B_User_Plat.GetLogin();
                if (upMod != null)
                {
                    B_Blog_Msg msgBll = new B_Blog_Msg();
                    M_Blog_Msg msgMod = new M_Blog_Msg();
                    msgMod.CompID     = upMod.CompID;
                    msgMod.CUser      = upMod.UserID;
                    msgMod.CUName     = upMod.TrueName;
                    msgMod.MsgContent = "[" + upMod.TrueName + "]发布了一条公文,标题:<a href=\"/Office/Office/ReadOffice.aspx?AppID=" + moa.ID + "\" target=\"_blank\">" + moa.Title + "</a>";
                    msgMod.GroupIDS   = "";
                    msgBll.Insert(msgMod);
                }
            }
            Response.Redirect("ViewDrafting.aspx?ID=" + moa.ID);
        }
Exemplo n.º 16
0
        private void MyBind()
        {
            //stepCodeT.Text = GenStepCode(proID).ToString();
            string key = searchText.Text;

            proMod           = proBll.SelReturnModel(ProID);
            ProceName_L.Text = proMod.ProcedureName;
            DataTable dt = new DataTable();

            dt = stepBll.SelByProID(ProID);
            if (!string.IsNullOrEmpty(key))
            {
                dt.DefaultView.RowFilter = "StepName like '%" + key + "%'";
            }
            if (dt.Rows.Count > 1)
            {
                orderBtn.Visible = true;
            }
            EGV.DataSource = dt;
            EGV.DataBind();
            ImgData_Hid.Value = JsonHelper.JsonSerialDataTable(dt);
        }
        //填充模型
        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.DocType_DP.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);
            if (oaMod.ProID > 0)
            {
                M_MisProcedure proMod = proBll.SelReturnModel(oaMod.ProID);
                oaMod.ProType = proMod.TypeID;
            }
            else
            {
                oaMod.ProType = (int)M_MisProcedure.ProTypes.Free;
            }
            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);
        }
Exemplo n.º 18
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (function.isAjax())
            {
                #region AJAX请求
                string result = "", action = Request["action"], value = Request["value"];
                switch (action)
                {
                case "signpwdcheck":
                {
                    int       id      = DataConverter.CLng(Request["SignID"]);
                    string    signpwd = Request["SignPwd"];
                    M_OA_Sign signMod = signBll.SelByPwd(id, signpwd);
                    if (signMod == null)
                    {
                        result = "0";
                    }
                    else
                    {
                        result = signMod.VPath.Replace("//", "/");
                        //-----写入至数据库
                        M_UserInfo     mu        = buser.GetLogin();
                        M_OA_DocSigned signedMod = new M_OA_DocSigned();
                        signedMod.ProID    = ProID; //同名签章在一个流程中只能有一个
                        signedMod.Step     = 0;     //暂时不使用
                        signedMod.UserID   = mu.UserID;
                        signedMod.VPath    = signMod.VPath;
                        signedMod.SignID   = id;
                        signedMod.SignName = signMod.SignName;
                        signedMod.AppID    = AppID;
                        signedMod.CUName   = mu.UserName;
                        signedBll.InsertNoDup(signedMod);
                    }
                }
                break;

                default:    //addword
                    break;
                }
                Response.Clear();
                Response.Write(result); Response.Flush(); Response.End();
                #endregion
            }
            if (!IsPostBack)
            {
                M_UserInfo     mu       = buser.GetLogin();
                M_MisProcedure proceMod = proceBll.SelReturnModel(ProID);
                AuthDT = perBll.SelAuthByRoles(mu.UserRole);
                string getword = "/Plugins/Office/OfficeAction.ashx?action=getword&AppID=" + AppID;
                if (!string.IsNullOrEmpty(FName))
                {
                    getword += "&fname=" + HttpUtility.UrlEncode(FName);
                    function.Script(this, "DelayLoadFile('" + getword + "');");
                    AuthCheck(AuthDT);
                }
                else if (Action.Equals("add") && ProID > 0)//新建
                {
                    FName = GetWordName(proceMod.ProcedureName);
                    function.Script(this, "CreateDoc();");
                    AuthCheck(AuthDT);
                }
                else if (AppID > 0)//根据主键ID,打开其已有文档
                {
                    Sign_DP.Enabled = true;
                    M_OA_Document oaMod = oaBll.SelReturnModel(AppID);
                    if (oaMod.IsComplete)
                    {
                        AuthCheck(null);
                    }                                         //已完结则关闭操作权限
                    else
                    {
                        M_MisProLevel stepMod = stepBll.SelByProIDAndStepNum(oaMod.ProID, oaMod.CurStepNum + 1);
                        AuthCheck(AuthDT);
                    }
                    //------------打开公文
                    if (!string.IsNullOrEmpty(oaMod.PrivateAttach))
                    {
                        FName = Path.GetFileName(HttpUtility.UrlDecode(oaMod.PrivateAttach));
                        function.Script(this, "DelayLoadFile('" + getword + "');");
                    }
                }
                else
                {
                    function.WriteErrMsg("参数不正确,请先核对!");
                }
                MyBind(); BindSigned();
            }
        }
Exemplo n.º 19
0
 private string CreateNo(M_MisProcedure proceMod)
 {
     //20150406190538
     return(DateTime.Now.ToString(proceMod.ID + "yyyyMMddHHmmss"));
 }
Exemplo n.º 20
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         M_UserInfo     mu       = buser.GetLogin();
         M_MisProcedure proceMod = new M_MisProcedure();
         if (Mid < 1)
         {
             ProID = DataConverter.CLng(Request.QueryString["ProID"]);
             if (ProID < 1)
             {
                 function.WriteErrMsg("请先指定需要创建的流程!");
             }
             proceMod = proceBll.SelReturnModel(ProID);
             if (!perBll.ContainRole(proceMod.Sponsor, mu.UserRole))
             {
                 function.WriteErrMsg("你没有权限使用该流程");
             }
             ascx    = proceMod.FlowTlp;
             ModelID = Convert.ToInt32(proceMod.FormInfo);
             OAFormUI.InitControl(ViewState, ModelID);
             switch (proceMod.MyProType)
             {
             case M_MisProcedure.ProTypes.Admin:
                 SelUser_Tr.Visible = false;
                 break;
             }
             ViewState["No"] = CreateNo(proceMod);
             //OAFormUI.Title_T = proceMod.ProcedureName;
             OAFormUI.SendDate_ASCX = DateTime.Now.ToString("yyyy年MM月dd日 HH:mm");
         }
         else
         {
             M_OA_Document oaMod = new M_OA_Document();
             oaMod = oaBll.SelReturnModel(Mid);
             if (mu.UserID != oaMod.UserID)
             {
                 function.WriteErrMsg("非发起人不能修改文档!");
             }
             if (oaBll.HasBegin(oaMod.ID))
             {
                 function.WriteErrMsg("已开始的流程不能修改");
             }
             ProID           = oaMod.ProID;
             proceMod        = proceBll.SelReturnModel(oaMod.ProID);
             FName_Hid.Value = oaMod.PrivateAttach;//Word文档
             ascx            = proceMod.FlowTlp;
             ModelID         = Convert.ToInt32(proceMod.FormInfo);
             OAFormUI.InitControl(ViewState, ModelID);
             OAFormUI.Title_ASCX    = oaMod.Title;
             OAFormUI.SendDate_ASCX = oaMod.SendDate.ToString();
             OAFormUI.NO_ASCX       = oaMod.No;
             M_MisProLevel freeMod = freeBll.SelByDocID(oaMod.ID);
             if (freeMod != null)
             {
                 ReferUser_T.Text    = buser.GetUserNameByIDS(freeMod.ReferUser);
                 ReferUser_Hid.Value = freeMod.ReferUser;
             }
             ViewState["No"] = oaMod.No;
             Save_Btn.Text   = "修改发文";
         }
         OAFormUI.NO_ASCX = ViewState["No"].ToString();
         NodeID           = proceMod.NodeID;
         ShowPage(proceMod);
     }
 }
Exemplo n.º 21
0
        //与写入新的进度信息,如果是最后一步或是拒绝,则更新OA模型
        private void UpdateModel(int status)
        {
            //会签需要加判断,备注需要另外处理
            oaMod = oaBll.SelReturnModel(appID);
            M_MisProcedure proceMod = proceBll.SelReturnModel(oaMod.ProID);

            //throw new Exception(progBll.IsHQComplete(appID, userID, CurrentStep).ToString());
            progMod.AppID        = oaMod.ID;
            progMod.ProID        = oaMod.ProID;
            progMod.ProLevel     = CurrentStep.stepNum;
            progMod.ProLevelName = CurrentStep.stepName;
            progMod.ApproveID    = userID;
            progMod.Result       = status;
            progMod.Remind       = remindT.Text;
            progMod.CreateTime   = DateTime.Now;
            progMod.HQUserID     = userID.ToString();
            //if (signRadio.Items.Count > 0 && signRadio.SelectedIndex > 0)//0是不使用签章
            //{
            //    progMod.Sign = signRadio.SelectedValue + ":" + curPosD.Value;
            //    progMod.SignID = signRadio.SelectedValue;
            //}
            //用于email与sms通知功能
            string content = "";
            //是否为最后一步
            bool isLastStep = freeBll.IsLastStep(oaMod, CurrentStep);

            //增加通知功能,
            if (isLastStep && status == 98)
            {
                if (oaMod.ProType == (int)M_MisProcedure.ProTypes.AdminFree)
                {
                    //公文流程且是最后一步,
                    status = proceMod.AllowAttach == 1 ? (int)ZLEnum.ConStatus.Filed : (int)ZLEnum.ConStatus.Audited;
                }
                if (CurrentStep.HQoption > 0)//会签判断
                {
                    if (progBll.IsHQComplete(appID, userID, CurrentStep))
                    {
                        oaMod.Status     = status;//流程完成,全部同意
                        oaMod.CurStepNum = CurrentStep.stepNum;
                        content          = oaMod.Title + "会签完成,已进入下一步骤";
                    }
                }
                else
                {
                    oaMod.Status     = status;//流程完成,全部同意
                    oaMod.CurStepNum = CurrentStep.stepNum;
                    content          = oaMod.Title + "已完成" + CurrentStep.stepName + ",进入下一步骤";
                }
            }
            else if (status == 2) //回退
            {
                #region 回退
                oaMod.Status = 2;

                int rbStep = DataConvert.CLng(rollBackDP.SelectedValue);
                if (rbStep > 0)
                {
                    rbStep = rbStep - 1;
                    //自由流程回退删除步骤
                    freeBll.DelByStep(oaMod.ID, Convert.ToInt32(rollBackDP.SelectedValue));
                }
                else  //回退至上一步(-1)
                {
                    rbStep = CurrentStep.stepNum - 2;
                    //自由流程回退删除步骤
                    freeBll.DelByStep(oaMod.ID, CurrentStep.stepNum - 1);
                }
                oaMod.CurStepNum = rbStep;
                progMod.Remind2  = "回退至" + rbStep;
                progMod.HQUserID = "";
                content          = oaMod.Title + "已被经办人回退至" + rbStep;
                //回退的时候,清除目标会签与签章信息
                progBll.ClearHQ(oaMod.ID, rbStep);
                progBll.ClearSign(oaMod.ID, rbStep);
                #endregion
            }
            else if (status == -1)
            {
                oaMod.Status     = status; //拒绝
                oaMod.CurStepNum = CurrentStep.stepNum;
                content          = oaMod.Title + "已被经办人" + buser.GetLogin().HoneyName + "拒绝.";
            }
            else//同意,但未至最后一步
            {
                if (CurrentStep.HQoption > 0)//需要会签
                {
                    if (progBll.IsHQComplete(appID, userID, CurrentStep))
                    {
                        oaMod.Status     = status;
                        oaMod.CurStepNum = CurrentStep.stepNum;
                        content          = oaMod.Title + "已完成会签审批,成功通过";
                    }
                }
                else
                {
                    oaMod.Status     = status;
                    oaMod.CurStepNum = CurrentStep.stepNum;
                    content          = oaMod.Title + "已完成审批,成功通过";
                }
            }

            if (!string.IsNullOrEmpty(CurrentStep.EmailAlert))//Email与sms通知
            {
                //发送邮件包括会员组里的会员(需扩展支持会员组)
                string ids = "";
                //if (!string.IsNullOrEmpty(CurrentStep.EmailGroup))
                //    ids += groupBll.GetUserIDByGroupIDS(CurrentStep.EmailGroup);
                ids += CurrentStep.SmsAlert;
                ids  = ids.Trim(',');
                emailToUser(content, ids);
            }
            //if (!string.IsNullOrEmpty(CurrentStep.SmsAlert))
            //{
            //    smsTouser(content, CurrentStep.SmsAlert);
            //}
            progBll.Insert(progMod);
            oaBll.UpdateByID(oaMod);
        }
        //与写入新的进度信息,如果是最后一步或是拒绝,则更新OA模型
        private void UpdateModel(int status)
        {
            //会签需要加判断,备注需要另外处理
            oaMod = oaBll.SelReturnModel(appID);
            //throw new Exception(progBll.IsHQComplete(appID, userID, CurrentStep).ToString());
            progMod.AppID        = oaMod.ID;
            progMod.ProID        = oaMod.ProID;
            progMod.ProLevel     = CurrentStep.stepNum;
            progMod.ProLevelName = CurrentStep.stepName;
            progMod.ApproveID    = userID;
            progMod.Result       = status;
            progMod.Remind       = remindT.Text;
            progMod.CreateTime   = DateTime.Now;
            progMod.HQUserID     = userID.ToString();
            if (signRadio.Items.Count > 0 && signRadio.SelectedIndex > 0)//0是不使用签章
            {
                progMod.Sign   = signRadio.SelectedValue + ":" + curPosD.Value;
                progMod.SignID = signRadio.SelectedValue;
            }
            //用于email与sms通知功能
            string content = "";

            //是否为最后一步
            bool isLastStep = false;

            if (oaMod.ProID == 0)
            {
                isLastStep = freeBll.IsLastStep(oaMod, CurrentStep);
            }
            else
            {
                isLastStep = stepBll.IsLastStep(CurrentStep);
            }

            //增加通知功能,
            if (isLastStep && status == 99 || status == 98)
            {
                if (CurrentStep.HQoption > 0)//会签判断
                {
                    if (progBll.IsHQComplete(appID, userID, CurrentStep))
                    {
                        oaMod.Status     = status;//流程完成,全部同意
                        oaMod.CurStepNum = CurrentStep.stepNum;
                        content          = oaMod.Title + "会签完成,已进入下一步骤";
                    }
                }
                else
                {
                    oaMod.Status     = status;//流程完成,全部同意
                    oaMod.CurStepNum = CurrentStep.stepNum;
                    content          = oaMod.Title + "已完成" + CurrentStep.stepName + ",进入下一步骤";
                }
            }
            else if (status == 2) //回退
            {
                oaMod.Status = 2;

                int rbStep = DataConvert.CLng(rollBackDP.SelectedValue);
                if (rbStep > 0)
                {
                    rbStep = rbStep - 1;
                    //自由流程回退删除步骤
                    if (oaMod.IsFreePro)
                    {
                        freeBll.DelByStep(oaMod.ID, Convert.ToInt32(rollBackDP.SelectedValue));
                    }
                }
                else  //回退至上一步(-1)
                {
                    rbStep = CurrentStep.stepNum - 2;
                    //自由流程回退删除步骤
                    if (oaMod.IsFreePro)
                    {
                        freeBll.DelByStep(oaMod.ID, CurrentStep.stepNum - 1);
                    }
                }
                oaMod.CurStepNum = rbStep;
                progMod.Remind2  = "回退至" + rbStep;
                progMod.HQUserID = "";
                content          = oaMod.Title + "已被经办人回退至" + rbStep;
                //回退的时候,清除目标会签与签章信息
                progBll.ClearHQ(oaMod.ID, rbStep);
                progBll.ClearSign(oaMod.ID, rbStep);
            }
            else if (status == -1)
            {
                oaMod.Status     = status; //拒绝
                oaMod.CurStepNum = CurrentStep.stepNum;
                content          = oaMod.Title + "已被经办人" + buser.GetLogin().HoneyName + "拒绝.";
            }
            else//同意,但未至最后一步
            {
                if (CurrentStep.HQoption > 0)//需要会签
                {
                    if (progBll.IsHQComplete(appID, userID, CurrentStep))
                    {
                        oaMod.CurStepNum = CurrentStep.stepNum;
                        content          = oaMod.Title + "已完成会签审批,成功通过";
                        //if (oaMod.IsFreePro) oaMod.Status = status;//如果是自由流程就仍更新状态
                    }
                }
                else
                {
                    oaMod.CurStepNum = CurrentStep.stepNum;
                    content          = oaMod.Title + "已完成审批,成功通过";
                }
            }

            if (!string.IsNullOrEmpty(CurrentStep.EmailAlert))//Email与sms通知
            {
                //发送邮件包括会员组里的会员(需扩展支持会员组)
                string ids = "";
                if (!string.IsNullOrEmpty(CurrentStep.EmailGroup))
                {
                    ids += groupBll.GetUserIDByGroupIDS(CurrentStep.EmailGroup);
                }
                ids += CurrentStep.SmsAlert;
                ids  = ids.Trim(',');
                emailToUser(content, ids);
            }
            if (!string.IsNullOrEmpty(CurrentStep.SmsAlert))
            {
                smsTouser(content, CurrentStep.SmsAlert);
            }
            progBll.Insert(progMod);
            oaBll.UpdateByID(oaMod);
            //分发功能
            if (isLastStep && oaMod.Status == 99 && !oaMod.IsFreePro)
            {
                B_MisProcedure prodBll = new B_MisProcedure();
                M_MisProcedure prodMod = prodBll.SelReturnModel(oaMod.ProID);
                if (prodMod.NodeID > -1)//指定了节点,才分发
                {
                    commCall.AddContentToNode(oaMod, prodMod.NodeID, OAConfig.ModelID);
                }
            }
        }
Exemplo n.º 23
0
 public bool UpdateByID(M_MisProcedure model)
 {
     return(DBCenter.UpdateByID(model, model.ID));
 }
Exemplo n.º 24
0
 public int insert(M_MisProcedure model)
 {
     return(DBCenter.Insert(model));
 }