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; } } }
// 返回当前需要进行的流程模型,如果无流程,或流已完结,返回最后一步模型 //仅用于处理自由流程(另一页面改为只处理自由流程) 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); }
/// <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)); }
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 string UpdateOrder(string Ids) { string[] idsArr = Ids.Split(','); for (int i = 0; i < idsArr.Length; i++) { stepMod = stepBll.SelReturnModel(DataConvert.CLng(idsArr[i])); stepMod.stepNum = i + 1; stepBll.UpdateByID(stepMod); } return("1"); }
/// <summary> /// 是否最后一步 /// </summary> public bool IsLastStep(M_MisProLevel currentModel) { bool flag = false; DataTable dt = SelByProID(currentModel.ProID); model = model.GetModelFromDR(dt.Rows[(dt.Rows.Count - 1)]); if (model.stepNum == currentModel.stepNum) { flag = true; } return(flag); }
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();//绑定已有步骤 } } }
public M_MisProLevel SelByProIDAndStepNum(int proID, int StepNum) { M_MisProLevel mod = null; SqlParameter[] sp = new SqlParameter[] { new SqlParameter("proID", proID), new SqlParameter("StepNum", StepNum) }; DataTable dt = SqlHelper.ExecuteTable(CommandType.Text, "Select * From " + strTableName + " Where ProID=@proID And StepNum=@StepNum", sp); if (dt != null && dt.Rows.Count > 0) { mod = model.GetModelFromDR(dt.Rows[0]); } return(mod); }
//是否有选择下一步经办人的权限 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 + ","))); } }
/// <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); } } }
protected void Page_Load(object sender, EventArgs e) { if (proID < 1) { function.WriteErrMsg("请先选定流程!!!"); } if (!IsPostBack) { if (Mid > 0) { saveBtn.Text = "修改"; M_MisProLevel stepMod = stepBll.SelReturnModel(Mid); stepCodeT.Text = stepMod.stepNum.ToString(); stepNameT.Text = stepMod.stepName; ReferUser_Hid.Value = stepMod.ReferUser; referUserDatas_Hid.Value = JsonConvert.SerializeObject(buser.SelectUserByIds(stepMod.ReferUser)); referGroup_Hid.Value = stepMod.ReferGroup; CCUser_Hid.Value = stepMod.CCUser; ccUserDatas_Hid.Value = JsonConvert.SerializeObject(buser.SelectUserByIds(stepMod.CCUser)); ccGroup_Hid.Value = stepMod.CCGroup; emailAlertD.Value = stepMod.EmailAlert; emailGroupD.Value = stepMod.EmailGroup; smsAlertD.Value = stepMod.SmsAlert; smsGroupD.Value = stepMod.SmsGroup; ReferUser_T.Text = buser.GetUserNameByIDS(stepMod.ReferUser); CCUser_T.Text = buser.GetUserNameByIDS(stepMod.CCUser); // referGroup_T.Text = strBll.SelStrNameByIDS(stepMod.ReferGroup); //ccGroup_T.Text = strBll.SelStrNameByIDS(stepMod.CCGroup); emailAlertT.Text = buser.GetUserNameByIDS(stepMod.EmailAlert); emailGroupT.Text = strBll.SelStrNameByIDS(stepMod.EmailGroup); smsAlertT.Text = buser.GetUserNameByIDS(stepMod.SmsAlert); smsGroupT.Text = strBll.SelStrNameByIDS(stepMod.SmsGroup); hqOptionDP.SelectedValue = stepMod.HQoption.ToString(); qzzjDP.SelectedValue = stepMod.Qzzjoption.ToString(); htDP.SelectedValue = stepMod.HToption.ToString(); remindT.Text = stepMod.Remind; function.Script(this, "SetRadVal('next_rad','" + stepMod.DocAuth + "')"); //PublicAttachOptionDP.SelectedValue = stepMod.PublicAttachOption.ToString(); //CanEditField_T.Text = stepMod.CanEditField; //function.Script(this, "SetChkVal('docauth_chk','"+stepMod.DocAuth+"');"); } else { stepCodeT.Text = GenStepCode(proID).ToString(); } Call.SetBreadCrumb(Master, "<li><a href='" + CustomerPageAction.customPath2 + "Main.aspx'>工作台</a></li><li><a href='../Config/SiteOption.aspx'>系统设置</a></li><li><a href='AddFlow.aspx?proID=" + proID + "'>流程设计</a></li><li class='active'>添加步骤</a></li>"); } }
protected void saveBtn_Click(object sender, EventArgs e) { M_MisProLevel stepModel = new M_MisProLevel(); if (Mid > 0) { stepModel = stepBll.SelReturnModel(Mid); } stepModel.ProID = DataConvert.CLng(proID); stepModel.stepNum = DataConvert.CLng(stepCodeT.Text.Trim()); stepModel.stepName = stepNameT.Text.Trim(); stepModel.SendMan = "";//不用这个了。 stepModel.ReferUser = StrHelper.PureIDSForDB(ReferUser_Hid.Value); stepModel.ReferGroup = StrHelper.PureIDSForDB(referGroup_Hid.Value); stepModel.CCUser = StrHelper.PureIDSForDB(CCUser_Hid.Value); stepModel.CCGroup = StrHelper.PureIDSForDB(ccGroup_Hid.Value); stepModel.HQoption = DataConvert.CLng(hqOptionDP.SelectedValue); stepModel.Qzzjoption = DataConvert.CLng(qzzjDP.SelectedValue); stepModel.HToption = DataConvert.CLng(htDP.SelectedValue); stepModel.EmailAlert = emailAlertD.Value.TrimEnd(','); stepModel.EmailGroup = emailGroupD.Value.TrimEnd(','); stepModel.SmsAlert = smsAlertD.Value.TrimEnd(','); stepModel.SmsGroup = smsGroupD.Value.TrimEnd(','); //stepModel.PublicAttachOption = DataConvert.CLng(PublicAttachOptionDP.SelectedValue);//使用模型字段,不需要此功能限制 stepModel.Status = 1; stepModel.CreateTime = DateTime.Now; stepModel.Remind = remindT.Text.Trim(); stepModel.CanEditField = "*";//CanEditField_T.Text; stepModel.DocAuth = Request.Form["next_rad"]; //stepModel.DocAuth = Request.Form["docauth_chk"]; if (!string.IsNullOrEmpty(Request.QueryString["stepID"])) { stepModel.ID = DataConvert.CLng(Request.QueryString["stepID"]); stepBll.UpdateByID(stepModel); } else { stepBll.insert(stepModel); } Page.ClientScript.RegisterStartupScript(this.GetType(), "", "location=location;", true); Response.Redirect("AddFlow.aspx?proID=" + proID); }
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); } }
public bool UpdateStep(int proID) { bool flag = false; DataTable dt = SelByProID(proID); for (int i = 0; i < dt.Rows.Count; i++) { model = SelReturnModel(DataConvert.CLng(dt.Rows[i]["ID"])); model.stepNum = i + 1; if (UpdateByID(model)) { flag = true; } else { flag = false; } } return(flag); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { moa = boa.SelReturnModel(Mid); 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(); title_lab.Text = moa.Title; docType_Tr.Visible = false; switch (moa.ProType) { case (int)M_MisProcedure.ProTypes.Admin: //M_MisProLevel stepMod = stepBll.SelByProIDAndStepNum(moa.ProID,1); //RUserName_Lab.Text = buser.GetUserNameByIDS(stepMod.ReferUser); break; default: M_MisProLevel freeMod = freeBll.SelByDocID(Mid); 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; } break; } string steps = StrHelper.GetIDSFromDT(stepBll.SelByProID(moa.ProID), "StepName"); if (!string.IsNullOrEmpty(steps)) { function.Script(this, "$(\"#prog_div\").ZLSteps(\"" + steps + "\");"); } } }
public bool IsHQComplete(int appID, M_MisProLevel stepMod) { bool flag = true; string ids = SelHQUserID(appID, stepMod.stepNum); if (string.IsNullOrEmpty(ids)) { return(false);//无会签信息,则直接返回 } string[] progArr = ids.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); string[] stepArr = stepMod.ReferUser.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < stepArr.Length; i++) { if (!progArr.Select(p => p).Contains(stepArr[i])) { flag = false; break; } } return(flag); }
/// <summary> /// 指定步骤,指定类型有多少人完成了会签,多少人尚未完成 /// </summary> /// <param name="oaMod">文档模型</param> /// <param name="stepMod">步骤模型,用于知道有哪些用户需要会签</param> /// <param name="uid">当前会签的用户</param> /// <param name="role">需要检测的角色</param> public void HQ_GetHasAndNot(M_OA_Document oaMod, M_MisProLevel stepMod, int uid, string role, ref string hashq, ref string nohq) { DataTable hqdt = HQ_SelAll(oaMod.ID, oaMod.CurStepNum, role); string needhq = ""; hashq = ""; nohq = ""; switch (role) { case "refer": needhq = stepMod.ReferUser; break; case "ccuser": needhq = stepMod.CCUser; break; case "helpuser": needhq = stepMod.HelpUser; break; default: throw new Exception("会签检测角色错误"); } //获取还有哪些用户没完成会签,哪些用户已完成会签(ids) foreach (string userid in needhq.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)) { if (userid.Equals(uid.ToString())) { hashq += uid + ","; } else if (hqdt.Select("ApproveID='" + userid + "' AND UserStepRole='" + role + "'").Length > 0) { hashq += userid + ","; } else { nohq += userid + ","; } } hashq = hashq.Trim(','); nohq = nohq.Trim(','); }
public void InsertRecord() { int status = DataConverter.CLng(Request["status"]); int id = DataConverter.CLng(Request["ID"]); M_MisApproval maMod = maBll.SelReturnModel(id); #region M_MisProLevel M_MisProLevel CurrentLevel = new M_MisProLevel(); DataTable appProgDT = mappBll.SelByAppID(id.ToString()); //已进行到的流程 DataTable proLevelDT = proBll.SelByProID(maMod.ProcedureID); //全部流程 if (appProgDT.Rows.Count < 1) //尚未开始 { CurrentLevel = CurrentLevel.GetModelFromDR(proLevelDT.Rows[0]); //用第一个填充,其值是经过Level排序的 } else if (appProgDT.Rows.Count < proLevelDT.Rows.Count) //已经开始但未完成 { string proLevel = appProgDT.Rows[appProgDT.Rows.Count - 1]["ProLevel"].ToString(); //现在进行到的最后 CurrentLevel = proBll.SelByProIDAndStepNum(maMod.ProcedureID, DataConverter.CLng(proLevel)); } else //已完成,或无流程的 { CurrentLevel.Status = 99; } #endregion M_Mis_AppProg model = new M_Mis_AppProg(); model.AppID = maMod.ID; model.ProID = maMod.ProcedureID; model.ProLevel = CurrentLevel.stepNum; model.ProLevelName = CurrentLevel.stepName; model.ApproveID = mu.UserID; model.Result = status; model.CreateTime = DateTime.Now; mappBll.Insert(model); if (status == -1) { maMod.Results = -1; } maBll.UpdateByID(maMod); Response.Redirect("ApproverView"); return; }
/// <summary> /// 判断会签是否完成 /// </summary> /// <param name="appID"></param> /// <param name="userID">当前签字的经办人ID</param> /// <param name="stepMod">当前步骤模型</param> /// <returns></returns> public bool IsHQComplete(int appID, int userID, M_MisProLevel stepMod) { //B_Group groupBll=new B_Group(); bool flag = true; string ids = SelHQUserID(appID, stepMod.stepNum); //if (string.IsNullOrEmpty(ids)) return false;//无会签信息,则直接返回 ids += "," + userID; string[] progArr = ids.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); //if (stepMod.ReferGroup != "") // stepMod.ReferUser += groupBll.GetUserIDByGroupIDS(stepMod.ReferGroup); string[] stepArr = stepMod.ReferUser.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < stepArr.Length; i++) { if (!progArr.Select(p => p).Contains(stepArr[i])) { flag = false; break; } } return(flag); }
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(); } }
public bool UpdateByID(M_MisProLevel model) { return(Sql.UpdateByIDs(strTableName, PK, model.ID.ToString(), BLLCommon.GetFieldAndPara(model), model.GetParameters())); }
public int insert(M_MisProLevel model) { return(Sql.insert(strTableName, model.GetParameters(), BLLCommon.GetParas(model), BLLCommon.GetFields(model))); }
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); } }
public int insert(M_MisProLevel model) { return(DBCenter.Insert(model)); }
public bool UpdateByID(M_MisProLevel model) { return(DBCenter.UpdateByID(model, model.ID)); }
protected void Page_Load(object sender, EventArgs e) { if (function.isAjax()) { string Action = Request.Form["Action"]; string result = ""; if (Action == "Print") { string content = Request.Form["Content"]; string img = Request.Form["Image"]; Session["PrintCon"] = content; Session["PrintImg"] = img; result = "1"; } else { string value = Request.Form["value"]; mmis = bmis.SelReturnModel(Convert.ToInt32(value)); result = oaCom.GetHolder(mmis, buser.GetLogin().GroupID.ToString()); } Response.Clear(); Response.Write(result); Response.Flush(); Response.End(); } if (!IsPostBack) { // if (!purBll.Auth("OADocumentWrite", buser.GetLogin().UserRole)) { function.WriteErrMsg("你当前没有起草公文的权限,请联系管理员!!!"); } TypeDataBind(); DPDataBind(); #region 签章初始化 DataTable signDT = signBll.SelByUserID(buser.GetLogin().UserID); if (signDT != null && signDT.Rows.Count > 0) { SignRadioBind(signDT); } else { signTrRemind.Visible = true; } #endregion if (Request.QueryString["Edit"] == "1" && !string.IsNullOrEmpty(Request.QueryString["AppID"])) { saveBtn.Text = "修改"; AddNewBtn.Visible = true; int id = DataConvert.CLng(Request.QueryString["AppID"]); M_MisProLevel freeMod = freeBll.SelByDocID(id); moa = boa.SelReturnModel(id); minfo = buser.SeachByID(moa.UserID); Title_T.Text = moa.Title; key = moa.Keywords; Keywords.Text = moa.Keywords; Secret.SelectedValue = moa.Secret.ToString(); Urgency.SelectedValue = moa.Urgency.ToString(); Importance.SelectedValue = moa.Importance.ToString(); DocType_DP.SelectedValue = moa.Type.ToString(); proDP.SelectedValue = moa.ProID.ToString(); Content.Text = moa.Content; CreateTime.Text = moa.CreateTime.ToString("yyyy/MM/dd HH:mm:ss"); Label1.Text = minfo.HoneyName; Label2.Text = groupBll.GetByID(minfo.GroupID).GroupName; if (freeMod != null) { RUserID_Hid.Value = freeMod.ReferUser; RUserName_Lab.Text = buser.GetUserNameByIDS(freeMod.ReferUser); CUserID_Hid.Value = freeMod.CCUser; CUserName_Lab.Text = buser.GetUserNameByIDS(freeMod.CCUser); } //附件相关,移除,不做检测 //proMod = proBll.SelReturnModel(moa.ProID); //if (proMod.AllowAttach == 1) //{ upFileTR.Visible = true; //} if (!string.IsNullOrEmpty(moa.PublicAttach)) { hasFileData.Value = moa.PublicAttach; string[] af = moa.PublicAttach.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); string h = ""; for (int i = 0; i < af.Length; i++) { h += "<span class='disupFile'>"; h += GroupPic.GetShowExtension(GroupPic.GetExtName(af[i])); h += "<a target='_blank' href=" + af[i] + ">" + af[i].Split('/')[(af[i].Split('/').Length - 1)] + "</a><a href='javascript:;' title='删除' onclick='delHasFile(\"" + af[i] + "\",this);' ><img src='/App_Themes/AdminDefaultTheme/images/del.png'/></a></span>"; } hasFileTD.InnerHtml = h; } //签章,用于修改 if (!string.IsNullOrEmpty(moa.SignID) && signRadio.Items.Count > 0) { signRadio.SelectedValue = moa.SignID.Split(':')[0]; Page.ClientScript.RegisterStartupScript(this.GetType(), "signInit", "InitPos('" + moa.SignID + "');", true); } DraftBtn.Visible = false; //-----检测是否已开始流程 if (boa.IsApproving(id))//已开始,不允许修改 { saveBtn.Visible = false; DraftBtn.Visible = false; clearBtn.Attributes.Add("disabled", "disabled"); clearBtn.Text = "流程已开始,禁止修改"; } } else { AddNewBtn.Visible = false; Label1.Text = buser.GetLogin().HoneyName; Label2.Text = groupBll.GetByID(buser.GetLogin().GroupID).GroupName; CreateTime.Text = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"); } } }