private static void AuditDefined(int instanceId, string instanceCode, string businessCode, string businessClass, string lastFlowState, string tableName, string columnName) { string str2 = SelfEventAction.GetTypeName(AppDomain.CurrentDomain.BaseDirectory + "SelfEventInfo.xml", tableName, columnName); if (!string.IsNullOrWhiteSpace(str2)) { ISelfEvent event2 = (ISelfEvent)Assembly.Load("PmBusinessLogic").CreateInstance(str2); if (event2 != null) { string maxSing = FlowAuditAction.GetMaxSing(instanceId); if ((lastFlowState == "1") && (maxSing == "1")) { event2.CommitEvent(instanceCode.ToString()); } else if (lastFlowState == "-2") { event2.RefuseEvent(instanceCode.ToString()); } else if (lastFlowState == "-3") { event2.RestatedEvent(instanceCode.ToString()); } } } if (lastFlowState == "1") { if (businessCode == "089") { TenderInfo.UpdatePrjState(Guid.Parse(instanceCode), 2); } else if (businessCode == "100") { PrjMember.AddLimit(Guid.Parse(instanceCode)); } else if (businessCode == "107") { Progress.UpdateLatest(instanceCode.ToString()); } else if (businessCode == "108") { cn.justwin.BLL.ProgressManagement.Version.UpdateLatest(instanceCode.ToString()); } MsgOrganiger(instanceId, businessCode, businessClass); } }
protected void BtnAdd_ClickWX(object sender, System.EventArgs e) { if (this.ddltTemplate.SelectedValue == "-1") { base.RegisterScript("alert('请选择流程模板')"); return; } WFInstanceMainService wFInstanceMainService = new WFInstanceMainService(); WFTemplateNodeService wFTemplateNodeService = new WFTemplateNodeService(); if (wFTemplateNodeService.GetNodes(this.TemplateID).Count == 0) { wFInstanceMainService.UpdateBusinessData(this.RecordID.ToString(), this.BusinessCode, 1); WFBusinessCodeService wFBusinessCodeService = new WFBusinessCodeService(); WFBusinessCode byId = wFBusinessCodeService.GetById(this.BusinessCode); string path = base.Server.MapPath("~/SelfEventInfo.xml"); string typeName = SelfEventAction.GetTypeName(path, byId.LinkTable, byId.StateField); if (!string.IsNullOrEmpty(typeName)) { ISelfEvent selfEvent = (ISelfEvent)System.Reflection.Assembly.Load("PmBusinessLogic").CreateInstance(typeName); if (selfEvent != null) { System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback(selfEvent.CommitEvent), this.RecordID.ToString()); } } if (this.BusinessCode == "089") { PTPrjInfoZTB byId2 = this.ptInfoZTbSer.GetById(this.RecordID); this.ptInfoZTbSer.UpdatePrjState(byId2, new int?(2)); } else { if (this.BusinessCode == "100") { PrjMember.AddLimit(this.RecordID); } else { if (this.BusinessCode == "107") { Progress.UpdateLatest(this.RecordID.ToString()); } else { if (this.BusinessCode == "108") { cn.justwin.BLL.ProgressManagement.Version.UpdateLatest(this.RecordID.ToString()); } } } } stringBuilder.Append("alert('审核通过');"); stringBuilder.Append(" page_close();"); stringBuilder.Append("window.parent.location.reload();"); base.RegisterScript(stringBuilder.ToString()); base.RegisterScript(stringBuilder.ToString()); //base.RegisterScript("top.ui.winSuccess({parentName: '_StartWf'}); top.ui.show('审核通过'); "); return; } if (wFInstanceMainService.IsReSubmit(this.RecordID.ToString(), this.BusinessCode)) { this.Page.ClientScript.RegisterStartupScript(base.GetType(), "", "alert('当前数据已经被提交,禁止二次提交');", true); return; } if (this.ddltTemplate.SelectedValue != "-1") { FlowChartAction.display_FlowChart(this.tbFlowChart, this.TemplateID); if (this.txtReceiver.Text != "") { if (this.TemplateID == 0) { this.Page.ClientScript.RegisterStartupScript(base.GetType(), "", "alert('请选择流程模板');", true); return; } string[] array = new string[3]; this.TemplateID = System.Convert.ToInt32(this.hdnTemplateID.Value); if (this.TemplateCount > 1) { array = FlowAuditAction.GetOffsetNodeFirst(this.TemplateID, this.BusinessClass, this.RecordID); this.hdnNodeId.Value = array[0].ToString(); this.hdnOrderNumber.Value = array[1].ToString(); } else { if (this.TemplateCount == 1) { if (this.OffsetCount > 1) { this.hdnNodeId.Value = this.NodeID.ToString(); this.hdnOrderNumber.Value = "1"; } else { array = FlowAuditAction.GetOffsetNodeFirst(this.TemplateID, this.BusinessClass, this.RecordID); this.hdnNodeId.Value = array[0].ToString(); this.hdnOrderNumber.Value = array[1].ToString(); } } } int offsetorder = System.Convert.ToInt32(this.hdnOrderNumber.Value.ToString().Trim()); this.NodeID = System.Convert.ToInt32(this.hdnNodeId.Value.ToString().Trim()); if (this.hdnNodeId.Value.Trim() == "0") { this.JS.Text = "alert('工作流程多分支模板未设置分支条件!');"; return; } if (this.Type.Value != "") { FlowAuditAction.UpdateNode(this.hdnReceiver.Value, this.TemplateID); } if (FlowAuditAction.BeginFlow(this.BusinessClass, this.BusinessCode, this.RecordID, this.TemplateID, this.NodeID, offsetorder, this.ProjectCode, this.UserCode)) { try { if (ConfigHelper.Get("SMS") != "") { DataTable dataTable = publicDbOpClass.DataTableQuary("select * from wf_templatenode where templateid=" + this.TemplateID + " and frontnode=0"); DataTable dataTable2 = publicDbOpClass.DataTableQuary(string.Concat(new string[] { "select businessclassname from wf_business_class where businesscode='", this.BusinessCode, "' and businessclass='", this.BusinessClass, "'" })); if (dataTable.Rows.Count > 0) { string text = dataTable2.Rows[0][0].ToString(); if (dataTable.Rows[0]["isselreceiver"].ToString() == "1") { SMS sMS = new SMS(); string mbNo = new PhoozyanHelpAction().RePhoneCode(this.hdnReceiver.Value); string msg = string.Concat(new string[] { "公司短信:", this.txtReceiver.Text, "您好!", new CommunicationAction().BackUserName(this.UserCode), "已发起", text, "流程,请您查看审核!" }); if (!(bool)sMS.Send("", mbNo, msg, "", "", "")[0]) { } } else { string arg = ""; System.Collections.ArrayList arrayList = new System.Collections.ArrayList(); System.Collections.ArrayList arrayList2 = new System.Collections.ArrayList(); string text2 = dataTable.Rows[0]["Operater"].ToString(); if (text2.Contains(",")) { string[] array2 = text2.Split(new char[] { ',' }); for (int i = 0; i < array2.Length - 1; i++) { new userManageDb().GetUserName(array2[i]); arrayList.Add(arrayList); string value = new PhoozyanHelpAction().RePhoneCode(array2[i]); arrayList2.Add(value); } for (int j = 0; j < arrayList.Count; j++) { if (!string.IsNullOrEmpty(arrayList2[j].ToString())) { string msg2 = string.Concat(new object[] { "公司短信:", arrayList[j], "您好!", new CommunicationAction().BackUserName(this.UserCode), "已发起", text, "流程,请您查看审核!" }); SMS sMS2 = new SMS(); if (!(bool)sMS2.Send("", arrayList2[j].ToString(), msg2, "", "", "")[0]) { arg += arrayList[j]; } } else { arg = arg + arrayList[j] + " "; } } } else { string text3 = new CommunicationAction().BackUserName(dataTable.Rows[0][0].ToString()); DataTable dataTable3 = publicDbOpClass.DataTableQuary("select mobilephonecode from pt_yhmc where v_yhdm='" + dataTable.Rows[0]["Operater"].ToString() + "'"); if (dataTable3.Rows.Count > 0) { string mbNo2 = dataTable3.Rows[0][0].ToString(); if (dataTable2.Rows.Count > 0) { string msg3 = string.Concat(new string[] { "公司短信:", text3, "您好!", new CommunicationAction().BackUserName(this.UserCode), "已发起", text, "流程,请您查看审核!" }); SMS sMS3 = new SMS(); bool arg_85F_0 = (bool)sMS3.Send("", mbNo2, msg3, "", "", "")[0]; } } } } } } } catch { } if (!string.IsNullOrEmpty(base.Request["purl"])) { //base.RegisterScript("top.ui.winSuccess({parentName: '_StartWf'}); top.ui.show('工作流程已成功启动'); "); return; } stringBuilder.Append("alert('工作流程已成功启动');"); stringBuilder.Append(" page_close();"); stringBuilder.Append("window.parent.location.reload();"); base.RegisterScript(stringBuilder.ToString()); //base.RegisterScript("top.ui.winSuccess({parentName: '_StartWf'}); top.ui.show('工作流程已成功启动'); "); return; } else { base.ClientScript.RegisterStartupScript(base.GetType(), "myalert", "<script type='text/javascript'>alert('请找管理员设置 " + this.ddltTemplate.SelectedItem.Text.ToString() + " 流程的负责人。')</script>", false); } } } }
private void save(string str) { try { if (this.isSecValidate == "1" && !FlowAuditAction.CheckAuditPwd(this.UserCode, this.txtAuditPwd.Text.Trim())) { this.JS.Text = "alert('审核密码不正确!');"; } else { string auditInfo = this.txtAuditInfo.Value.Trim(); string value = this.hdnType.Value; string insertAuditor = string.Empty; if (value == "前插") { insertAuditor = this.hdnFrontPerson.Value; } if (value == "后插") { insertAuditor = this.hdnAfterPerson.Value; } if (value == "前插" || value == "后插") { if ((value == "前插" && this.txtFrontPerson.Text == "") || (value == "后插" && this.txtAfterPerson.Text == "")) { base.RegisterScript("alert('请选择" + value + "审核人');"); } else { string value2 = this.txtAuditRemark.Value; FlowAuditAction.InsertNode(this.InstanceID, this.UserCode, value, this.IsAllPass, insertAuditor, true, auditInfo, value2); this.SendSMS(this.InstanceID); System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder(); if (str == "pc") { stringBuilder.Append("top.ui.refreshDesktop(); \n"); stringBuilder.Append("top.ui.show('" + value + "节点成功!'); \n"); stringBuilder.Append("top.ui.closeTab();\n"); } else { stringBuilder.Append("alert('添加成功');"); stringBuilder.Append("parent.location.reload();"); } this.JS.Text = stringBuilder.ToString(); } } else { int num = System.Convert.ToInt32(this.RBLRoleType.SelectedValue); if (!FlowAuditAction.GetNextOperator(this.InstanceID) && this.txtnextperson.Text == "" && num == 1) { this.JS.Text = "alert('请选择流程下一个审核人');"; } else { if (!FlowAuditAction.GetNextOperator(this.InstanceID) && this.txtnextperson.Text != "" && num == 1) { string project = FlowAuditAction.GetProject(this.BusinessCode, this.InstanceCode); if (!FlowAuditAction.SelectNextOperate(this.InstanceID, this.hdnNextPerson.Value.Trim(), int.Parse(this.NodeType.Value), this.UserCode, project)) { this.JS.Text = "alert('请找管理员设置" + this.txtnextperson.Text + "的流程负责人');"; return; } } if (num == -3 || num == -2) { string[] allFront = FlowAuditAction.GetAllFront(this.InstanceID); for (int i = 0; i < allFront.Length; i++) { this.AddMsg(allFront[i]); } this.DealAgent(); } if (num == 1) { this.SendSMS(this.InstanceID); } this.RecieveMsgAdd(); FlowAuditAction.ProcessFlow(this.InstanceID, this.IsAllPass, this.UserCode, num, auditInfo); string maxSing = FlowAuditAction.GetMaxSing(this.InstanceID); WFBusinessCodeService wFBusinessCodeService = new WFBusinessCodeService(); WFBusinessCode byId = wFBusinessCodeService.GetById(this.BusinessCode); string path = base.Server.MapPath("~/SelfEventInfo.xml"); string typeName = SelfEventAction.GetTypeName(path, byId.LinkTable, byId.StateField); if (!string.IsNullOrWhiteSpace(typeName)) { ISelfEvent selfEvent = (ISelfEvent)System.Reflection.Assembly.Load("PmBusinessLogic").CreateInstance(typeName); if (selfEvent != null) { if (num == 1 && maxSing == "1") { selfEvent.CommitEvent(this.InstanceCode.ToString()); } if (num == -2) { selfEvent.RefuseEvent(this.InstanceCode.ToString()); } if (num == -3) { selfEvent.RestatedEvent(this.InstanceCode.ToString()); } } } if (this.BusinessCode == "089") { PTPrjInfoZTB byId2 = this.ptInfoZTbSer.GetById(this.InstanceCode); if (maxSing == "1" && num == 1) { this.ptInfoZTbSer.UpdatePrjState(byId2, new int?(2)); } } else { if (this.BusinessCode == "100") { if (maxSing == "1" && num == 1) { PrjMember.AddLimit(this.InstanceCode); } } else { if (this.BusinessCode == "107") { if (maxSing == "1" && num == 1) { Progress.UpdateLatest(this.InstanceCode.ToString()); } } else { if (this.BusinessCode == "108" && maxSing == "1" && num == 1) { cn.justwin.BLL.ProgressManagement.Version.UpdateLatest(this.InstanceCode.ToString()); } } } } if (maxSing == "1") { this.MsgOrganiger(); } this.Session.Remove("HumanCode"); this.Session.Remove("HumanName"); this.JS.Text = "auditSuccess();"; } } } } catch { base.RegisterScript("alert('系统提示:\\n\\n此审核数据已经失效!')"); } }