CRM客户关系管理系统 ——客户联系人添加(十五)
需求描述: 1.业务员自己可以查看属于自己的客户信息 2.客服部经理可以查看查看所有客户信息 3.其他人员不得查看客户信息 效果截图:
前台代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="LinkManAdd.aspx.cs" Inherits="BioErpWeb.CRMSystem.LinkManAdd" %><%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="cc1" %>
跳转到查询页面:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CustomerListSelect.aspx.cs" Inherits="BioErpWeb.PersonList.CustomerListSelect" %>
组装查询的代码:
public string GetUserList{get {string strHtml = "";if (Request.QueryString["Customer"] == null){DataSet ds = SqlComm.GetDataByCondition("BioCrmCustomer", "top 10 CustomerID,CustomerName", " 1=1 order by CustomerID");foreach (DataRow dr in ds.Tables[0].Rows){strHtml += "";}}else{DataSet ds = SqlComm.GetDataByCondition("BioCrmCustomer", "top 10 CustomerID,CustomerName", " CustomerName like '" + Request.QueryString["Customer"].ToString() + "%' order by CustomerID");foreach (DataRow dr in ds.Tables[0].Rows){strHtml += "";}}return strHtml;}}
员工的查询页面:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CustomerList.aspx.cs" Inherits="BioErpWeb.PersonList.CustomerList" %>
JS的代码:
//人员选择对话框
function showCustomerDialog() {var re = showModalDialog("../PersonList/CustomerList.aspx", "", "dialogWidth=320px;dialogHeight=350px"); if (re == "" || re == null) {if (document.getElementById("txtCustomerID").value == "" || document.getElementById("txtCustomerID").value == null){document.getElementById("txtCustomerID").value = "请选择";}}else{document.getElementById("txtCustomerID").value = re;}
}
添加联系人的BLL层代码:
/// /// 添加一条联系人记录/// /// BioCrmLinkmanInfo对象/// int public int LinkmanInfoADD( BioCrmLinkmanInfo LinkMan){SqlParameter[] pars = new SqlParameter[]{new SqlParameter("@LinkmanName",LinkMan.LinkmanName),new SqlParameter("@Nickname",LinkMan.Nickname),new SqlParameter("@Sex",LinkMan.Sex),new SqlParameter("@Birthday",LinkMan.Birthday),new SqlParameter("@LinkmanNumber",LinkMan.LinkmanNumber),new SqlParameter("@Department",LinkMan.Department),new SqlParameter("@Headship",LinkMan.Headship),new SqlParameter("@IsMain",LinkMan.IsMain),new SqlParameter("@WorkPhone",LinkMan.WorkPhone),new SqlParameter("@HomePhone",LinkMan.HomePhone),new SqlParameter("@Mobile",LinkMan.Mobile),new SqlParameter("@Email",LinkMan.Email),new SqlParameter("@Address",LinkMan.Address),new SqlParameter("@Postcode",LinkMan.Postcode),new SqlParameter("@QQ",LinkMan.QQ),new SqlParameter("@MSN",LinkMan.MSN),new SqlParameter("@CustomerID",LinkMan.CustomerID)};return DataBaseHelper.ExcuteSqlReturnInt("BioCrmLinkmanInfo_ADD", CommandType.StoredProcedure, pars);}/// /// 修改联系人信息/// /// /// int public int LinkmanInfoUpdate(BioCrmLinkmanInfo LinkMan){SqlParameter[] pars = new SqlParameter[]{new SqlParameter("@LinkmanID",LinkMan.LinkmanID),new SqlParameter("@LinkmanName",LinkMan.LinkmanName),new SqlParameter("@Nickname",LinkMan.Nickname),new SqlParameter("@Sex",LinkMan.Sex),new SqlParameter("@Birthday",LinkMan.Birthday),new SqlParameter("@LinkmanNumber",LinkMan.LinkmanNumber),new SqlParameter("@Department",LinkMan.Department),new SqlParameter("@Headship",LinkMan.Headship),new SqlParameter("@IsMain",LinkMan.IsMain),new SqlParameter("@WorkPhone",LinkMan.WorkPhone),new SqlParameter("@HomePhone",LinkMan.HomePhone),new SqlParameter("@Mobile",LinkMan.Mobile),new SqlParameter("@Email",LinkMan.Email),new SqlParameter("@Address",LinkMan.Address),new SqlParameter("@Postcode",LinkMan.Postcode),new SqlParameter("@QQ",LinkMan.QQ),new SqlParameter("@MSN",LinkMan.MSN),new SqlParameter("@CustomerID",LinkMan.CustomerID)};return DataBaseHelper.ExcuteSqlReturnInt("BioCrmLinkmanInfo_Update", CommandType.StoredProcedure, pars);}/// /// 根据客户ID号返回客户详细信息/// /// id/// BioCrmLinkmanInfo public BioCrmLinkmanInfo getLinkManByID(string id){BioCrmLinkmanInfo linkman=null;//BioCrmLinkmanInfo linkman = new BioCrmLinkmanInfo();SqlDataReader reader= SqlComm.GetDataReaderByCondition("BioCrmLinkmanInfo", "*", " LinkmanID= " + id);if (reader.Read()){linkman = new BioCrmLinkmanInfo(){LinkmanID = int.Parse(reader["LinkmanID"].ToString()),LinkmanName = reader["LinkmanName"].ToString(),Nickname = reader["Nickname"].ToString(),Address = reader["Address"].ToString(),Birthday = Convert.ToDateTime(reader["Birthday"].ToString()),WorkPhone = reader["WorkPhone"].ToString(),Sex = Convert.ToBoolean(reader["Sex"].ToString()),QQ = reader["QQ"].ToString(),Postcode = reader["Postcode"].ToString(),MSN = reader["MSN"].ToString(),CustomerID = int.Parse(reader["CustomerID"].ToString()),Mobile = reader["Mobile"].ToString(),LinkmanNumber = reader["LinkmanNumber"].ToString(),Department = reader["Department"].ToString(),HomePhone = reader["HomePhone"].ToString(),IsMain = Convert.ToBoolean(reader["IsMain"].ToString()),Headship = reader["Headship"].ToString(),DeleteState = Convert.ToBoolean(reader["DeleteState"].ToString()),Email = reader["Email"].ToString()}; } reader.Close();return linkman; }
进行查询页面的跳转:
protected void btnReturn_Click(object sender, EventArgs e){Server.Transfer("CustomerListShow.aspx");}
流程图:

给客户的编号number建立自动生成列的触发器:
CREATE TRIGGER [dbo].[CreateLinkmanNumberByLinkmanID]
--表名ON [dbo].[BioCrmLinkmanInfo]AFTER INSERT
AS
BEGIN--定义变量DECLARE @str nvarchar(10)DECLARE @LinkmanNumber nvarchar(50)DECLARE @LinkmanID nvarchar(50)--给字符串赋值SET @str='0000000'--在查询的过程中赋值SELECT @LinkmanID=MAX(LinkmanID) FROM dbo.BioCrmLinkmanInfo--重新组装字符串函数SET @LinkmanNumber=RIGHT(@str+@LinkmanID,7)UPDATE dbo.BioCrmLinkmanInfo SET LinkmanNumber=@LinkmanNumber WHERE LinkmanID=@LinkmanID
end
给联系人建立查询的视图:
右键添加视图

选中要生成视图的表:
生成Sql语句执行:
查询的时候直接查询视图:

在登录界面定义全局的变量:
public static UserManager user = new UserManager();
添加的后台代码:
public partial class LinkManAdd : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){if (!IsPostBack){}}protected void btnSubmit_Click(object sender, EventArgs e){BioCrmLinkmanInfo linkman = new BioCrmLinkmanInfo(){LinkmanName = this.txtLinkmanName.Text,Address = this.txtAddress.Text,Birthday = Convert.ToDateTime(this.txtBirthday.Text),WorkPhone = this.txtWorkPhone.Text,Sex = this.ddlSex.SelectedValue == "0" ? false : true,Department = this.txtDepartment.Text,Email = this.txtEmail.Text,QQ = this.txtQQ.Text,MSN = this.txtMsN.Text,Headship = this.txtHeadship.Text,HomePhone = this.txtHeadship.Text,Mobile = this.txtMobile.Text,Postcode = this.txtPostcode.Text,Nickname = this.txtNickname.Text,IsMain = this.ddlMainMan.SelectedValue == "1" ? true : false,CustomerID = int.Parse(this.txtCustomerID.Text)};LinkManInfoBLL linkbll = new LinkManInfoBLL();if (linkbll.LinkmanInfoADD(linkman) != 0){Server.Transfer("LinkManListShow.aspx");}}protected void btnReturn_Click(object sender, EventArgs e){Server.Transfer("CustomerListShow.aspx");}}
视图中case ... then ...的用法:

转载于:https://www.cnblogs.com/sunliyuan/p/5994813.html
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
