// 返回当前需要进行的流程模型,如果无流程,或流已完结,返回最后一步模型 //仅用于处理自由流程(另一页面改为只处理自由流程) 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; } } }
/// <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); }
//------------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); }
//修改表单 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("修改成功"); }
//保存 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); }
/// <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)); }
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); }
//{$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); }
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("修改成功"); }
/// <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();//绑定已有步骤 } } }
//---------步骤判断 /// <summary> /// 流程是否最后一步(公文,限定和自由判断方式不同) /// </summary> public bool IsLastStep(M_OA_Document oaMod) { M_MisProLevel stepMod = GetNextStep(oaMod); if (stepMod == null) { return(true); } else { return(false); } }
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))); }
/// <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])); } }
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(); } }
//是否有选择下一步经办人的权限 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"); }
/// <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); }
//后期可扩展为单步步骤,自由 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); } } }
//---------------------流程块 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; } }
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("撤回成功!"); } } }
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); } }