ERP渠道文档管理(二十四)

基本需求:

用例图:

存储过程:

CREATE PROCEDURE [dbo].[BioErpCrmChannelDocument_ADD]
@DocumentID int,
@ChannelID int
 AS 
	INSERT INTO [BioErpCrmChannelDocument](
	[DocumentID],[ChannelID]
	)VALUES(
	@DocumentID,@ChannelID
	)
	
CREATE PROCEDURE BioErpCrmChannelDocument_Update
@ChannelDocumentID int,
@DocumentID int,
@ChannelID int,
@DeleteState bit
 AS 
	UPDATE [BioErpCrmChannelDocument] SET 
	[DocumentID] = @DocumentID,[ChannelID] = @ChannelID,[DeleteState] = @DeleteState
	WHERE ChannelDocumentID=@ChannelDocumentID 
	CREATE VIEW dbo.View_CRMChannelDocumentInfo
	AS
	SELECT     dbo.BioErpCrmManageChannel.ChannelName, dbo.UserManager.UserName, dbo.BioCrmCorrelationDocument.DocumentID, dbo.BioCrmCorrelationDocument.Subject, 
						  dbo.BioCrmCorrelationDocument.Name, dbo.BioCrmCorrelationDocument.Type, dbo.BioCrmCorrelationDocument.DocumentLevel, 
						  dbo.BioCrmCorrelationDocument.DocumentSize, dbo.BioCrmCorrelationDocument.ExetendName, dbo.BioCrmCorrelationDocument.[Content], 
						  dbo.BioCrmCorrelationDocument.UserID, dbo.BioCrmCorrelationDocument.UploadTime, dbo.BioCrmCorrelationDocument.Remark, 
						  dbo.BioErpCrmChannelDocument.DeleteState, dbo.BioErpCrmChannelDocument.ChannelDocumentID, dbo.BioErpCrmChannelDocument.ChannelID
	FROM         dbo.BioErpCrmChannelDocument INNER JOIN
						  dbo.BioCrmCorrelationDocument ON dbo.BioErpCrmChannelDocument.DocumentID = dbo.BioCrmCorrelationDocument.DocumentID INNER JOIN
						  dbo.UserManager ON dbo.BioCrmCorrelationDocument.UserID = dbo.UserManager.UserId INNER JOIN
						  dbo.BioErpCrmManageChannel ON dbo.BioErpCrmChannelDocument.ChannelID = dbo.BioErpCrmManageChannel.ChannelID

 BLL代码:

 public  class ChannelDocumentBLL
    {
      /// <summary>
      /// 文档信息添加
      /// </summary>
      /// <param name="document">文档对象</param>
      /// <returns>int</returns>
      public int BioErpCrmChannelDocumentAdd(BioErpCrmChannelDocument document)
      {
          SqlParameter[] pars = new SqlParameter[]{
          new SqlParameter("@DocumentID",document.DocumentID),
          new SqlParameter("@ChannelID",document.ChannelID)
         };

          return DataBaseHelper.ExcuteSqlReturnInt("BioErpCrmChannelDocument_ADD", CommandType.StoredProcedure, pars);
      }

      /// <summary>
      /// 修改文档对象
      /// </summary>
      /// <param name="document">文档对象</param>
      /// <returns>int</returns>
      public int BioErpCrmChannelDocumentUpdate(BioErpCrmChannelDocument document)
      {
          SqlParameter[] pars = new SqlParameter[]{
          new SqlParameter("@ChannelDocumentID",document.ChannelDocumentID),
          new SqlParameter("@DocumentID",document.DocumentID),
          new SqlParameter("@ChannelID",document.ChannelID),
          new SqlParameter("@DeleteState",document.DeleteState)
         };
          return DataBaseHelper.ExcuteSqlReturnInt("BioErpCrmChannelDocument_Update", CommandType.StoredProcedure, pars);
      }

      /// <summary>
      /// 根据ID查询文档的详细信息
      /// </summary>
      /// <param name="id"></param>
      /// <returns></returns>
      public ViewCRMChannelDocumentInfo getChannelDocumentViewByDocumentID(string id)
      {
        SqlDataReader reader=  CommTool.SqlComm.GetDataReaderByCondition("View_CRMChannelDocumentInfo", "*", " DocumentID=" + id);
        ViewCRMChannelDocumentInfo  view= null;
        if (reader.Read())
        {
            view = new ViewCRMChannelDocumentInfo()
            {
                UserName = reader["UserName"].ToString(),
                ChannelName = reader["ChannelName"].ToString(),
                DocumentID = int.Parse(reader["DocumentID"].ToString()),
                UserID = int.Parse(reader["UserID"].ToString()),
                UploadTime = Convert.ToDateTime(reader["UploadTime"].ToString()),
                Type = reader["Type"].ToString(),
                Subject = reader["Subject"].ToString(),
                Remark = reader["Remark"].ToString(),
                Name = reader["Name"].ToString(),
                ExetendName = reader["ExetendName"].ToString(),
                DocumentSize = long.Parse(reader["DocumentSize"].ToString()),
                DocumentLevel = reader["DocumentLevel"].ToString()               
                 
            };
          
        }
        reader.Close();
        return view;
      }

    }

 前端代码:

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

<!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="../../Styles/ERPBaseStyle.css" rel="stylesheet" type="text/css" />
    <link href="../../Styles/CalenderStyle.css" rel="stylesheet" type="text/css" />  
    <script src="../../JS/ChannelChoose.js" type="text/javascript"></script>
    <script src="../../Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
    <script src="../../Scripts/jquery.validate.js" type="text/javascript"></script>
    <script src="../../Scripts/ValidateMessage_ZW.js" type="text/javascript"></script>

    <script type="text/javascript">
        $(document).ready(function () {
            $("#form1").validate();
        });
    
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
     <table class="maintable">
      <tr>
       <td colspan="2" class="titlebar"><span>渠道文档信息上传</span></td>
      </tr>
       <tr>
           <td>主题</td><td><asp:TextBox ID="txtsubJect" runat="server" CssClass="required"></asp:TextBox></td>
       </tr>
      <tr>
            <td>
                文档等级</td>
          <td>
              <asp:DropDownList ID="ddlLevel" runat="server">
                  <asp:ListItem Selected="True">一般文件</asp:ListItem>
                  <asp:ListItem>重要文件</asp:ListItem>
                  <asp:ListItem>非常重要文件</asp:ListItem>
                  <asp:ListItem>特别重要</asp:ListItem>
              </asp:DropDownList>
          </td>
      </tr>
        <tr>
            <td>
                文档选择</td>
          <td>
              <asp:FileUpload ID="FileUpload1" runat="server" />
          </td>
      </tr>
          <tr>
            <td>
                所属渠道
          </td>
          <td >
              <asp:TextBox ID="txtSuperChannelID" runat="server"></asp:TextBox><input type="button" value="选择" style=" 100px;" onclick="showChannel()" />
          </td> 
      </tr>
          <tr>
            <td>
                说明</td>
          <td >
              <asp:TextBox ID="txtRemark" TextMode="MultiLine" Rows="5" runat="server" 
                  Width="380px"></asp:TextBox>
          </td> 
      </tr>
         <tr>
             <td colspan="2" class="bottomtd">
             
                 <asp:Button ID="btnSubmit" runat="server" Text="文档信息上传" 
                     onclick="btnSubmit_Click" />
                                  
                 <asp:Button ID="btnReturn" runat="server" Text="返回列表" UseSubmitBehavior="false" onclick="btnReturn_Click" 
                     />
             </td>
         </tr>

     </table>
        <br />
    </div>
    </form>
</body>
</html>

 后端代码:

  public partial class ChannelDocumentAdd : System.Web.UI.Page
    {
        
        protected void Page_Load(object sender, EventArgs e)
        {
            Session["Userid"] = "29";
            if (!IsPostBack)
            {
               
            }
        }

       
        
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            BioCrmCorrelationDocument document = new BioCrmCorrelationDocument();
            document.Subject = this.txtsubJect.Text;
            document.Name = DateTime.Now.ToString("yyyyMMddhhmmss") + this.FileUpload1.FileName;
            document.UserID = int.Parse(Session["Userid"].ToString());
            document.Remark = this.txtRemark.Text;
            document.DocumentLevel = this.ddlLevel.SelectedValue;
            document.Content = this.FileUpload1.FileBytes;
            document.DocumentSize = this.FileUpload1.FileContent.Length;
            document.Type = this.FileUpload1.PostedFile.ContentType;
            document.ExetendName = System.IO.Path.GetExtension(this.FileUpload1.FileName);
            
            //物理文件上传
            string filepath = Server.MapPath(@"FilesCRMChannelFiles");
            Comm.FileUpLoad(this.FileUpload1, filepath, document.Name);
            BioCrmCorrelationDocumentBLL documentbll = new BioCrmCorrelationDocumentBLL();
            //文档信息添加 包括文件上传(转换为二进制数组后上传)
            int documentid = documentbll.BioCrmCorrelationDocumentAdd(document);
            if (documentid != 0)
            {
                BioErpCrmChannelDocument channeldocument = new BioErpCrmChannelDocument();
                channeldocument.ChannelID = int.Parse(this.txtSuperChannelID.Text.ToString());
                channeldocument.DocumentID = documentid;

                ChannelDocumentBLL channelbll = new ChannelDocumentBLL();
               int count=  channelbll.BioErpCrmChannelDocumentAdd(channeldocument);
               if (count != 0)
               {
                   ClientScript.RegisterStartupScript(this.GetType(), "test", "alert('添加成功')", true);
               }
               else
               {
                   SqlComm.DeleteTableByCondition("BioCrmCorrelationDocument", " DocumentID=" + documentid);
                   ClientScript.RegisterStartupScript(this.GetType(), "test", "alert('添加失败')", true);
               }
            }
        }
    }

 渠道文档管理显示界面:

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

<%@ Register assembly="AspNetPager" namespace="Wuqi.Webdiyer" tagprefix="webdiyer" %>

<%@ Register src="../../UserControl/CRMChannelMenuBar.ascx" tagname="CRMMenuBar" tagprefix="uc1" %>

<!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="../../Styles/ERPBaseStyle.css" rel="stylesheet" type="text/css" />
    <link href="../../Styles/AspNetPagerStyle.css" rel="stylesheet" type="text/css" />
    <link href="../../Scripts/jquery-ui-1.7.custom.css" rel="stylesheet" type="text/css" />
    <script src="../../Scripts/jquery-1.4.1.js" type="text/javascript"></script>
    <script src="../../Scripts/jquery-ui-1.7.custom.min.js" type="text/javascript"></script>
    <style type="text/css">
    td{ text-align:center;}
    .tdsearch{ line-height:30px;}
    .menubar{ background:url(../Web/images/block_hd_bg.png); height:25px; 100%;}
    .menubar ul{ margin:0px; padding:0px; list-style:none;}
    .menubar ul li{ display:inline; line-height:25px;}
    .menubar ul li a{display:inline-block;  text-align:center; 100px; color:#0066CC; text-decoration:none;}

    </style>
    <script type="text/javascript">
        $().ready(function () {
            $("#txtDate").datepicker({dateFormat:'yy-mm-dd'});
        });
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
 
        <uc1:CRMMenuBar ID="CRMMenuBar1" runat="server" />
 
    </div>
    <div>
         <table class="maintable" style=" 900px;">
             <tr>
                 <td colspan="5" class="titlebar">
                     <span>渠道文档管理</span>
                 </td>
             </tr>
             <tr>
                 <td class="tdsearch">
                     <asp:Label ID="Label1" runat="server" Text="文档主题:"></asp:Label>
                     <asp:TextBox ID="txtName" runat="server"></asp:TextBox>
                 </td>
                 <td class="tdsearch">
                     <asp:Label ID="Label2" runat="server" Text="渠道名:"></asp:Label>
                      <asp:TextBox ID="txtCName" runat="server"></asp:TextBox>
              </td>
                 <td class="tdsearch">
                     <asp:Label ID="Label3" runat="server" Text="上传时间:"></asp:Label>
                     <asp:TextBox ID="txtDate" runat="server"></asp:TextBox>
                      
                 </td>
                 
                 <td class="tdsearch">
                     <asp:ImageButton ID="imgbutnSearch" Width="60" Height="22" runat="server" 
                         ImageUrl="~/Web/images/Btnsearch.gif" onclick="imgbutnSearch_Click" /> 
                     <asp:ImageButton ID="imgbtnNew" runat="server"  Width="60" Height="22" 
                         ImageUrl="~/Web/images/btnadd.gif" onclick="imgbtnNew_Click"/>
                 </td>
             </tr>
             <tr>
                 <td colspan="5" class="bottomtd">
                     <asp:GridView ID="GridView1" Width="100%"  runat="server"  AutoGenerateColumns="False" DataKeyNames="DocumentID">
                         <Columns>
                             <asp:TemplateField HeaderText="文档主题" HeaderStyle-HorizontalAlign="Center">
                                 <ItemTemplate>
                                     <asp:Label ID="Label4" runat="server" Text='<%# Eval("Subject") %>'></asp:Label>
                                 </ItemTemplate>
                                 <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                                 <ItemStyle HorizontalAlign="Center" />
                             </asp:TemplateField>
                             <asp:TemplateField HeaderText="文档名" HeaderStyle-HorizontalAlign="Center">
                                 <ItemTemplate>
                                     <asp:Label ID="Label5" runat="server" Text='<%# Eval("Name") %>'></asp:Label>
                                 </ItemTemplate>
                                 
                                 <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                                 <ItemStyle HorizontalAlign="Center" />
                             </asp:TemplateField>
                             <asp:TemplateField HeaderText="所属渠道" HeaderStyle-HorizontalAlign="Center">
                                 <ItemTemplate>
                                     <asp:Label ID="Label6" runat="server" Text='<%# Eval("ChannelName") %>'></asp:Label>
                                 </ItemTemplate>
                                 <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                                 <ItemStyle HorizontalAlign="Center" />
                             </asp:TemplateField>
                             <asp:TemplateField HeaderText="文件级别" HeaderStyle-HorizontalAlign="Center">
                                 <ItemTemplate>
                                     <asp:Label ID="Label7" runat="server" Text='<%# Eval("DocumentLevel") %>'></asp:Label>
                                 </ItemTemplate>
                                 <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                                 <ItemStyle HorizontalAlign="Center" />
                             </asp:TemplateField>
                             <asp:TemplateField HeaderText="上传时间" HeaderStyle-HorizontalAlign="Center">
                                 <ItemTemplate>
                                     <asp:Label ID="Label9" runat="server" Text='<%# Convert.ToDateTime( Eval("UploadTime")).ToString("yyyy-MM-dd") %>'></asp:Label>
                                 </ItemTemplate>
                                 <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                                 <ItemStyle HorizontalAlign="Center" />
                             </asp:TemplateField>
                       
                         <asp:TemplateField HeaderText="上传用户" HeaderStyle-HorizontalAlign="Center">
                                 <ItemTemplate>
                                     <asp:Label ID="Label9" runat="server" Text='<%# Eval("UserName") %>'></asp:Label>
                                 </ItemTemplate>
                                 <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                                 <ItemStyle HorizontalAlign="Center" />
                             </asp:TemplateField>
                                                 
                             <asp:HyperLinkField DataNavigateUrlFields="DocumentID" 
                                 DataNavigateUrlFormatString="DocumentEditAndDown.aspx?ID={0}" HeaderText="操作" 
                                 Text="下载/编辑">
                             <HeaderStyle HorizontalAlign="Center" />
                             <ItemStyle HorizontalAlign="Center" />
                             </asp:HyperLinkField>
                         </Columns>
                     </asp:GridView>
                 </td>
             </tr>
             <tr>
              <td  colspan="5">
                  <webdiyer:AspNetPager ID="AspNetPager1" runat="server"   CssClass="paginator" CurrentPageButtonClass="cpb"
                      onpagechanged="AspNetPager1_PageChanged">
                  </webdiyer:AspNetPager>
                 </td>
             </tr>
     </table>
    </div>
    </form>
</body>
</html>

 后端代码:

 public partial class ChannelDocumentListShow : System.Web.UI.Page
    {
        
        public static int pageindex = 0;
        public static int pagesize = 10;
        public static string condition = "";

        protected void Page_Load(object sender, EventArgs e)
        {
            Session["Userid"] = "29";
            if (Session["Userid"] == null)
            {
              Response.Redirect(@"..WebUserLogin.aspx");
              return;
            }

           if (!IsPostBack)
            {
               getallPageList();
            }
        }

   

        /// <summary>
        /// 查询所有联系人信息
        /// </summary>
        private void getallPageList()
        {
            string id = Session["Userid"].ToString();
            condition += " and UserID=" + id;
            if (UserLogin.user.RoleId == 6) //市场部经理
            {
                condition  += " or UserID !=" + id;
            }
            this.AspNetPager1.RecordCount = SqlComm.getDataCountByCondition("dbo.View_CRMChannelDocumentInfo", condition);
            this.AspNetPager1.PageSize = pagesize;
            this.GridView1.DataSource = SqlComm.getDataByPageIndex("dbo.View_CRMChannelDocumentInfo", "*", "DocumentID", condition, pageindex, pagesize);
            this.GridView1.DataBind();           
        }

        protected void AspNetPager1_PageChanged(object sender, EventArgs e)
        {
            pageindex = this.AspNetPager1.CurrentPageIndex - 1;
            getallPageList();
        }

        protected void imgbutnSearch_Click(object sender, ImageClickEventArgs e)
        {
            pageindex = 0;
            condition = "";
            if (txtName.Text.Trim() != null && this.txtName.Text.Trim().Length != 0)
            {
                condition = condition + " and Subject like '" + txtName.Text + "%'";
            }

            if (this.txtCName.Text.Trim() != null && this.txtCName.Text.Trim().Length != 0)
            {
                condition = condition + " and ChannelName like '" + txtCName.Text + "%'";
            }

            if (this.txtDate.Text.Trim() != null && this.txtDate.Text.Trim().Length!=0)
            {
                condition = condition + " and (UploadTime >= '" + this.txtDate.Text + "' AND UploadTime< '" + Convert.ToDateTime(this.txtDate.Text).AddDays(1) + "')";
            }
            getallPageList();
        }

        protected void btnNew_Click(object sender, EventArgs e)
        {

        }

        protected void imgbtnNew_Click(object sender, ImageClickEventArgs e)
        {
            Server.Transfer("ChannelDocumentAdd.aspx");
        }

    }
原文地址:https://www.cnblogs.com/sunliyuan/p/7191443.html