ERP合同审核流程处理(二十九)

网友投稿 326 2022-09-05

ERP合同审核流程处理(二十九)

合同审批流程:

前端的代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CRMContractEidt.aspx.cs" Inherits="BioErpWeb.CRMSystem.CRMContract.CRMContractEidt" %>

合同审核
合同名称 下次审批人 合同负责人 所属部门
签约客户 签约金额元(RMB) 合同创建时间 计划签约时间
生效时间 截止
合同内容
合同附件 (下载) 合同类型 买卖合同 运输合同 技术合同 保管合同 仓储合同 委托合同
历史意见
审批意见

根据员工编号返回员工权限字符串的自定义函数:

-- Description: 根据员工编号返回员工权限字符串-- =============================================CREATE FUNCTION [dbo].[GetUserRightsByUserID]( @userid INT)RETURNS NVARCHAR(200)ASBEGIN DECLARE cur CURSOR FOR SELECT RightID FROM dbo.tbUserRight WHERE tbUserRight.UserId =@userid OPEN cur DECLARE @Rightid NVARCHAR(20) DECLARE @Rightids NVARCHAR(1000) SET @Rightids='' FETCH NEXT FROM cur INTO @Rightid WHILE @@FETCH_STATUS =0 BEGIN SET @Rightids=@Rightids+@Rightid+',' FETCH NEXT FROM cur INTO @Rightid END CLOSE cur DEALLOCATE cur RETURN @Rightids END

存储过程的封装:

CREATE PROCEDURE Sp_getUserRightsbyUserid @userid int ASBEGIN SET NOCOUNT ON; SELECT dbo.GetUserRightsByUserID(@userid) END

公用类的调用:

///

/// 根据用户编号返回用户的权限值字符串 /// /// 用户编号 /// 权限值字符串 public static string getUserRightsByUserId(string userid) { //dbo.GetUserRightsByUserID SqlParameter[] pars = new SqlParameter[]{ new SqlParameter("@userid",userid) }; object obj= DataBaseHelper.SelectSQLReturnObject("Sp_getUserRightsbyUserid", CommandType.StoredProcedure, pars); if (obj != null) { return obj.ToString(); } else { return ""; } }

后端代码:

static byte[] filecontent = null; static string contractid = ""; static string tasklistid = ""; static string documentsid = ""; ///

/// 绑定页面信息 /// protected void pageinfo() { contractid = "5"; tasklistid = "2"; #region 从合同信息表中绑定数据 CrmContractBLL cbll = new CrmContractBLL(); ViewContactInfo contactinfo = new ViewContactInfo(); contactinfo = cbll.getViewContactInfoByContactID(contractid); this.txtName.Text = contactinfo.ContractName; this.txtUser2.Text = contactinfo.UserID.ToString(); this.txtSinTime.Text = Convert.ToDateTime(contactinfo.SignTime.ToString()).ToString("yyyy-MM-dd"); this.txtCreatTime.Text = Convert.ToDateTime(contactinfo.CreateTime.ToString()).ToString("yyyy-MM-dd"); this.txtCustomer.Text = contactinfo.CustomerID.ToString(); this.txtSum.Text = Convert.ToDecimal(contactinfo.ContractSum.ToString()).ToString("0.00"); this.txtEffectiveTime.Text = Convert.ToDateTime(contactinfo.EffectiveTime).ToString("yyyy-MM-dd"); this.txtDesc.Text = contactinfo.ContractDesc; this.txtEndTime.Text = Convert.ToDateTime(contactinfo.EndTime).ToString("yyyy-MM-dd"); this.ddlType.SelectedItem.Text = contactinfo.ContractType.ToString(); this.cbIsCheck.Checked =bool.Parse(contactinfo.AssessorAuditing.ToString()); #endregion #region 从流程表中绑定数据 //1代表 合同管理表单 System.Data.DataTable dt = SqlComm.getTaskListRecordsByCondition(contractid, "1"); System.Data.DataRow[] dr0 = dt.Select(" listID=" + tasklistid); //如果当前表单流程的审批人和当前登录用户不一致,则跳出 if (dr0[0].ItemArray[5].ToString() != Session["Userid"].ToString()) { this.FileUpload1.Visible = false; } else { this.FileUpload1.Visible = true; } string historys = ""; for (int i = 1; i < dt.Rows.Count; i++) { historys+= dt.Rows[i]["Mind"].ToString() + " " + Convert.ToDateTime(dt.Rows[i]["SumitTime"].ToString()).ToString("yyyy-MM-dd")+"
"; } if (historys.Length == 0) { historys = "暂无审核意见"; } this.lbHistory.Text = historys; this.txtDepartMentID.Text = dr0[0].ItemArray[12].ToString(); this.txtUser1.Text = dr0[0].ItemArray[5].ToString(); #endregion filecontent = Comm.GetDownDocumet("BioCrmCorrelationDocument", "Content", " DocumentID=" + contactinfo.DocumentID); documentsid = contactinfo.DocumentID.ToString(); if (SqlComm.getUserRightsByUserId(Session["Userid"].ToString()).Contains("45") || this.cbIsCheck.Checked==true) { this.lbIsCheck.Visible = true; this.cbIsCheck.Visible = true; } else { this.lbIsCheck.Visible = false; this.cbIsCheck.Visible = false; } } //如果不是合同负责人本人,则不能修改合同的相关信息,只能发表审批意见或则如果是法律顾问权限人员则可以修改法律审核备注 protected void btnSubmit_Click(object sender, EventArgs e) { CrmContractBLL conbll = new CrmContractBLL(); BioCRMContract contract = new BioCRMContract(); CRMContractDocument condocument =null; TaskListRecord tasklistRecord =null; BioCrmCorrelationDocument document=null; //获取合同相关信息 contract.ContractID = int.Parse(contractid); contract.UserID = int.Parse(this.txtUser2.Text); contract.ContractName = this.txtName.Text; contract.CustomerID = int.Parse(this.txtCustomer.Text); contract.ContractSum = decimal.Parse(this.txtSum.Text); contract.ContractType = this.ddlType.SelectedValue; contract.EndTime = Convert.ToDateTime(this.txtEndTime.Text); contract.EffectiveTime = Convert.ToDateTime(this.txtEffectiveTime.Text); contract.SignTime = Convert.ToDateTime(this.txtSinTime.Text); contract.ContractDesc = this.txtDesc.Text; contract.ExecutiveState = "待审核"; if (this.cbIsCheck.Visible == true) { contract.AssessorAuditing = cbIsCheck.Checked; } contract.CreateTime = Convert.ToDateTime(this.txtCreatTime.Text); int count = conbll.BioCRMContractaUpdate(contract); //文档基本信息 if (this.FileUpload1.HasFile) { document = new BioCrmCorrelationDocument() { DocumentID = int.Parse(documentsid.ToString()), Subject = this.txtName.Text, Content = this.FileUpload1.FileBytes, DocumentSize =this.FileUpload1.FileContent.Length, Type = this.FileUpload1.PostedFile.ContentType, ExetendName = System.IO.Path.GetExtension(this.FileUpload1.FileName), DocumentLevel = "绝密", Name = this.FileUpload1.FileName, Remark = "合同附件文档", UserID = int.Parse(this.txtUser2.Text), UploadTime = DateTime.Now }; BioCrmCorrelationDocumentBLL documentbll = new BioCrmCorrelationDocumentBLL(); documentbll.BioCrmCorrelationDocumentUpdate(document); } tasklistRecord = new TaskListRecord() { Accepter = int.Parse(this.txtUser1.Text), Transmitter = int.Parse(this.txtUser2.Text), AuditingSate = 0, DepartMentId = int.Parse(this.txtDepartMentID.Text), FirstAccepter = int.Parse(this.txtUser1.Text), FirstSumitTime = DateTime.Now, FirstTransmitter = int.Parse(Session["Userid"].ToString()), Mind =this.txtMind.Text, Pass = 1, Subject = this.txtName.Text, SumitTime = DateTime.Now, TaskID =int.Parse(contractid), TaskTableID = 1 }; //向流程表添加一条新的记录 if (SqlComm.TaskListRecordAdd(tasklistRecord) != 0) { SqlComm.UpdateTableByCondition("dbo.TaskListRecord", " AuditingSate=1", " ListID=" + tasklistid); ClientScript.RegisterStartupScript(this.GetType(), "test", "alert('合同申请提交成功,下次审批人员编号:" + this.txtUser1.Text + "')", true); } } /// /// 下载 /// /// /// protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { //创建弹出式Windows下载窗体 Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(this.txtName.Text)); //把二进制数组写入Http输出流 Response.BinaryWrite(filecontent); //想当前客户端缓冲区输出 Response.Flush(); //停止执行 Response.End(); }

创建没有审核的视图:

CREATE VIEW View_NoAuditingStateASSELECT ListID,Subject,dbo.TaskListRecord.TaskID,dbo.TaskListRecord.TaskTableID,Transmitter,Accepter,SumitTime,LinEdit=(SELECT LinkEdit FROM dbo.TaskNavigate WHERE dbo.TaskNavigate.TaskTableID=dbo.TaskListRecord.TaskTableID) FROM dbo.TaskListRecord

///

/// 获取未审核表单信息 /// public void getNoAuditing() { NoAuditingList.DataSource= SqlComm.GetDataByCondition("dbo.View_NoAuditingSate", "*", " AuditingSate=0 and Accepter='" + Session["Userid"] + "'"); this.NoAuditingList.DataBind(); } public string setToString(string str) { if (str == "0") { return "未受理"; } else if (str == "1") { return "受理中"; } else if (str == "2") { return "已解决"; } else { return "过期"; } }

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:ERP渠道活动管理(二十六)
下一篇:ERP合同管理二(三十)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~