首页 > 代码库 > ERP合同管理二(二十七)

ERP合同管理二(二十七)

未审核表单列表显示:

1.用户登录后,根据登录用户加载审核流程表中属于当前登录用户的未审核表单。
2.点击选中未审核表单跳转到指定审核流程页面

  if (Request.QueryString["taskid"] != null && Request.QueryString["listid"] != null)            {                contractid = Request.QueryString["taskid"].ToString();                tasklistid = Request.QueryString["listid"].ToString();            }            else            {                Response.Write("<script>window.history(-1)</script>");            }

 防止匿名登录:
登录后将基本信息保存至Session["Userid"],
如果每个页面加载时候判断Session["Userid"],如果为空则跳转至指定登录页面。

   public BasePage()        {            this.Load += new EventHandler(BasePage_Load);        }        void BasePage_Load(object sender, EventArgs e)        {            Session["Userid"] = "29";            if (Session["Userid"] == null)            {                Response.Redirect("~/Web/UserLogin.aspx");            }        }

 用法:

 public partial class CRMContractEidt:BasePage    {        protected void Page_Load(object sender, EventArgs e)        {            this.txtCreatTime.Text = DateTime.Now.ToString("yyyy-MM-dd");            if (!IsPostBack)            {                pageinfo();            }        }}

 合同基础信息表:

 /// <summary>      /// 合同基础信息表      /// </summary>      /// <param name="id">编号</param>      /// <returns>ViewContactInfo</returns>      public ViewContactInfo getViewContactInfoByContactID2(string contactid,string listid)      {                   SqlDataReader reader = SqlComm.GetDataReaderByCondition("BioCRMContract", "*", " ContractID=" + contactid);                   ViewContactInfo contactinfo= new ViewContactInfo();            if (reader.Read()==true)          {                                            contactinfo.UserID = Convert.ToInt32(reader["UserID"].ToString());                                 contactinfo. AssessorAuditing = Convert.ToBoolean(reader["AssessorAuditing"].ToString());                contactinfo.ContractDesc = reader["ContractDesc"].ToString();                contactinfo.ContractID = Convert.ToInt32(reader["ContractID"].ToString());                contactinfo.ContractName = reader["ContractName"].ToString();                contactinfo.ContractNumber = reader["ContractNumber"].ToString();                contactinfo.ContractSum = Decimal.Parse(reader["ContractSum"].ToString());                contactinfo.ContractType = reader["ContractType"].ToString();                contactinfo.CreateTime = Convert.ToDateTime(reader["CreateTime"].ToString());                contactinfo.CustomerID = Convert.ToInt32(reader["CustomerID"].ToString());                contactinfo.DeleteState = Convert.ToBoolean(reader["DeleteState"].ToString());                 contactinfo.EndTime = Convert.ToDateTime(reader["EndTime"].ToString());                contactinfo. EffectiveTime = Convert.ToDateTime(reader["EffectiveTime"].ToString());                contactinfo. ExecutiveState = reader["ExecutiveState"].ToString();                                          contactinfo.SignTime = Convert.ToDateTime(reader["SignTime"].ToString());                                                      }          reader.Close();          return contactinfo;      }

 显示的前端代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CRMContractShow.aspx.cs" Inherits="BioErpWeb.CRMSystem.CRMContract.CRMContractShow" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><title></title>     <link href="http://www.mamicode.com/Styles/ERPBaseStyle.css" rel="stylesheet" type="text/css" />     <script src="http://www.mamicode.com/JS/CheckUserName.js" type="text/javascript"></script>    <script src="http://www.mamicode.com/Scripts/jquery-1.4.1.js" type="text/javascript"></script>    <script src="http://www.mamicode.com/Scripts/jquery.validate.js" type="text/javascript"></script>    <script src="http://www.mamicode.com/Scripts/validateExtender.js" type="text/javascript"></script>    <script src="http://www.mamicode.com/Scripts/ValidateMessage_ZW.js" type="text/javascript"></script>      <script src="http://www.mamicode.com/Scripts/jquery.metadata.js" type="text/javascript"></script>    <script src="http://www.mamicode.com/JS/CustomerName.js" type="text/javascript"></script>    <link href="http://www.mamicode.com/Styles/InputStyle1.css" rel="stylesheet" type="text/css" />    <script src="http://www.mamicode.com/JS/CheckDepartMent.js" type="text/javascript"></script>    <script src="http://www.mamicode.com/Scripts/jquery-ui-1.7.custom.min.js" type="text/javascript"></script>    <link href="http://www.mamicode.com/Scripts/jquery-ui-1.7.custom.css" rel="stylesheet" type="text/css" />       <script type="text/javascript">           $(document).ready(function () {               $("#form1").validate();               $("#txtCreatTime").datepicker({ dateFormat: ‘yy-mm-dd‘ });               $("#txtSinTime").datepicker({ dateFormat: ‘yy-mm-dd‘ });               $("#txtEffectiveTime").datepicker({ dateFormat: ‘yy-mm-dd‘ });               $("#txtEndTime").datepicker({ dateFormat: ‘yy-mm-dd‘ })                        });                          </script>       <style type="text/css">        .style1        {            width: 73px;        }    </style>   </head><body>    <form id="form1" runat="server">         <div>     <table class="maintable Inupttable" style=" width:900px;">      <tr>       <td colspan="8" class="titlebar">合同审核</td>      </tr>       <tr>            <td class="style1">合同名称</td><td class="style3"><asp:TextBox ID="txtName" CssClass="required" runat="server"></asp:TextBox></td>            <td class="style4">下次审批人</td><td><asp:TextBox ID="txtUser1" CssClass="{required:true,digits:true, min:1}" runat="server"></asp:TextBox>              </td>            <td class="style7">合同负责人</td><td class="style6"><asp:TextBox ID="txtUser2" CssClass="{required:true,digits:true, min:1}" runat="server"></asp:TextBox>                      </td>              <td>所属部门</td><td>              <asp:TextBox ID="txtDepartMentID" CssClass="{required:true,digits:true, min:1}" runat="server"></asp:TextBox>              </td>                 </tr>         <tr>            <td class="style1">签约客户</td><td class="style3"><asp:TextBox ID="txtCustomer" CssClass="{required:true,digits:true, min:1}" runat="server"></asp:TextBox>              </td>            <td class="style4">签约金额</td><td><asp:TextBox ID="txtSum" CssClass="{required:true,number:true}" runat="server"></asp:TextBox>元(RMB)</td>            <td class="style7">合同创建时间</td><td class="style6"><asp:TextBox ID="txtCreatTime" CssClass="{required:true,dateISO:true}" runat="server"></asp:TextBox></td>               <td>计划签约时间</td><td><asp:TextBox ID="txtSinTime" CssClass="{required:true,dateISO:true}" runat="server"></asp:TextBox></td>                 </tr>                 <tr>                    <td class="style1">生效时间</td><td class="style3" ><asp:TextBox ID="txtEffectiveTime" CssClass="{required:true,dateISO:true}" runat="server"></asp:TextBox></td>               <td class="style4">截止</td><td colspan="5"><asp:TextBox ID="txtEndTime" CssClass="{required:true,dateISO:true}" runat="server"></asp:TextBox></td>                </tr>         <tr>            <td class="style1">合同内容</td><td colspan="7">             <asp:TextBox ID="txtDesc" CssClass="required"                  runat="server" Height="300px" Width="100%" Rows="10" TextMode="MultiLine"></asp:TextBox></td>                   </tr>       <tr>             <td class="style1">合同附件</td><td colspan="5">                <asp:ImageButton ID="ImageButton1" runat="server"                     ImageUrl="~/Web/images/files.gif"  Width="26px" Height="24px"                     onclick="ImageButton1_Click"/>                (下载)</td>            <td>合同类型</td><td>                <asp:DropDownList ID="ddlType" runat="server">                    <asp:ListItem>买卖合同</asp:ListItem>                    <asp:ListItem>运输合同</asp:ListItem>                    <asp:ListItem>技术合同</asp:ListItem>                    <asp:ListItem>保管合同</asp:ListItem>                    <asp:ListItem>仓储合同</asp:ListItem>                    <asp:ListItem>委托合同</asp:ListItem>                </asp:DropDownList>            </td>                       </tr>                        <tr>             <td class="style1">历史意见</td><td colspan="7">             <asp:Label ID="lbHistory" Width="99%" runat="server"                  Text=""></asp:Label>             </td>                                    </tr>        <tr>             <td class="style1">审批意见</td><td colspan="5">             <asp:TextBox ID="txtMind" Width="80%" runat="server"></asp:TextBox>             </td>             <td>                 <asp:Label ID="lbIsCheck" runat="server" Visible="false" Text="法律顾问意见"></asp:Label> </td><td>                 <asp:CheckBox ID="cbIsCheck"  Text="符合法律效应" Visible="false"  BorderStyle="None" runat="server" /></td>                                    </tr>         <tr>             <td colspan="8" class="bottomtd">                              <asp:Button ID="btnSubmit" runat="server" Text="返回列表"                      onclick="btnSubmit_Click" />                                     </td>         </tr>     </table>           </div>    </form></body></html>

 后端的代码:

  public partial class CRMContractShow : BasePage    {        protected void Page_Load(object sender, EventArgs e)        {            this.txtCreatTime.Text = DateTime.Now.ToString("yyyy-MM-dd");            if (!IsPostBack)            {                pageinfo();                //遍历页面所有TextBox控件,设置为只读                TextBox txt = null;                foreach (Control c in Page.Controls)                {                    if (c.GetType().Name == "HtmlForm")                    {                        foreach (Control c1 in c.Controls)                        {                            if (c1.GetType().Name == "TextBox")                            {                                txt = ((TextBox)c1);                                txt.ReadOnly = true;                            }                        }                    }                }            }        }       static  byte[] filecontent = null;       static string contractid = "";       static string tasklistid = "";       static string documentsid = "";        /// <summary>        /// 绑定页面信息        /// </summary>        protected void pageinfo()        {            contractid ="8";            tasklistid ="7";                                    #region 从合同信息表中绑定数据            CrmContractBLL cbll = new CrmContractBLL();            ViewContactInfo contactinfo = new ViewContactInfo();            contactinfo = cbll.getViewContactInfoByContactID2(contractid, tasklistid);            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);                      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")+"</br>";                          }            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;                        }        }        /// <summary>        /// 下载        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        protected void ImageButton1_Click(object sender, ImageClickEventArgs e)        {            if (filecontent == null)            {                ClientScript.RegisterStartupScript(this.GetType(), "test", "alert(‘没有要下载的文档‘)", true);                return;            }            //创建弹出式Windows下载窗体            Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(this.txtName.Text));            //把二进制数组写入Http输出流            Response.BinaryWrite(filecontent);            //想当前客户端缓冲区输出            Response.Flush();            //停止执行            Response.End();        }    }

 合同审单执行:

技术分享

业务逻辑代码:

  //判断当前登录用户是否是被提交人            if (dr0[0].ItemArray[5].ToString() == Session["Userid"].ToString())            {                //45法律资质审核权限                if (SqlComm.getUserRightsByUserId(Session["Userid"].ToString()).Contains("45"))                {                    this.lbIsCheck.Visible = true;                    this.cbIsCheck.Visible = true;                    this.btnRun.Visible = true;                }                else                {                    this.lbIsCheck.Visible = false;                    this.cbIsCheck.Visible = false;                    this.btnRun.Visible = false;                }                           }            //如果当前登录用户是合同负责人(第一次提交合同申请的用户)            if (dr0[0].ItemArray[10].ToString() == Session["Userid"].ToString())            {                this.FileUpload1.Visible = true;            }else            {                this.FileUpload1.Visible = false;            }

 

 /// <summary>        /// 下载        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        protected void ImageButton1_Click(object sender, ImageClickEventArgs e)        {            if (filecontent == null)            {                ClientScript.RegisterStartupScript(this.GetType(), "test", "alert(‘没有要下载的文档‘)", true);                return;            }            //创建弹出式Windows下载窗体            Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(this.txtName.Text));            //把二进制数组写入Http输出流            Response.BinaryWrite(filecontent);            //想当前客户端缓冲区输出            Response.Flush();            //停止执行            Response.End();        }        protected void btnRun_Click(object sender, EventArgs e)        {            CrmContractBLL conbll = new CrmContractBLL();            BioCRMContract contract = new BioCRMContract();            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.txtUser2.Text),                Transmitter = int.Parse(Session["Userid"].ToString()),                AuditingSate =2,                DepartMentId = int.Parse(this.txtDepartMentID.Text),                FirstAccepter = int.Parse(this.hf_FirstAccepter.Value),                FirstSumitTime = Convert.ToDateTime(this.hf_FirstDateTime.Value),                FirstTransmitter = int.Parse(this.hf_FirstTransmitter.Value),                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);            }        }

 

ERP合同管理二(二十七)