using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Ajax; using System.Data; using System.IO; using System.Data.OleDb; using System.Collections; using System.Text; public partial class Customer_list : CommonPage { //创建一个客户模板 Maticsoft.Model.nr_z_kehu kehumd = new Maticsoft.Model.nr_z_kehu(); //创建一个共用的客户bll Maticsoft.BLL.nr_z_kehu kehubll = new Maticsoft.BLL.nr_z_kehu(); //创建一个操作记录模板 Maticsoft.Model.nr_sys_rizhi rizhi = new Maticsoft.Model.nr_sys_rizhi(); //创建一个操作记录bll Maticsoft.BLL.nr_sys_rizhi rizhibll = new Maticsoft.BLL.nr_sys_rizhi(); int jsid = 0; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Session["user"] == null) { Response.Redirect("../index.aspx"); } } Utility.RegisterTypeForAjax(typeof(Customer_list)); Maticsoft.Model.nr_z_yhzh user=(Maticsoft.Model.nr_z_yhzh)(Session["user"]); hiddenid.Value=user.juese.ToString(); Hiddenname.Value = user.zhanghao; jsid = user.juese; pdquanxian(jsid); } #region 数据加载输出 [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)] public string page_change(int pg, int pageitem,string paixu ,string tiaojian) { Maticsoft.Model.nr_z_yhzh zhanghao = (Maticsoft.Model.nr_z_yhzh)Session["user"]; string htmlcode = ""; string isexits = string.Format("select count(*) from nr_lt_paixu where userid='{0}' and tblname='{1}'", zhanghao.id, "view_nr_z_kehu"); int exitscount= DBHlper.getcount(isexits) ; if (exitscount > 0) { string paixuselct = string.Format("select * from nr_lt_paixu where userid='{0}' and tblname='{1}' and isxianshi={2} order by shuixu ", zhanghao.id, "view_nr_z_kehu", 1); DataTable dtselect = DBHlper.Execute(paixuselct).Tables[0]; string wherecode = string.Format("select top {0} ", pageitem); foreach (DataRow dtr in dtselect.Rows) { wherecode += dtr["lieming"] + ","; } wherecode += "id"; if (DBHlper.GetPermission(zhanghao.juese , "客户档案", "nr_z_kehu", "查看全部")) { wherecode += string.Format(" from view_nr_z_kehu where " + tiaojian + " id not in(select top ({0}*{1}) id from view_nr_z_kehu "+" where "+tiaojian+" 1=1 " + paixu+")" + paixu, pg, pageitem); } else if (DBHlper.GetPermission(zhanghao.juese, "客户档案", "nr_z_kehu", "查看个人")) { wherecode += string.Format(" from view_nr_z_kehu where yewuyuan='" + zhanghao.zhanghao + "' and " + tiaojian + " id not in(select top ({0}*{1}) id from view_nr_z_kehu"+" where "+tiaojian+" 1=1 " + paixu + ")" + paixu, pg, pageitem); } DataTable dt_paixu = DBHlper.Execute(wherecode).Tables[0]; if (dt_paixu.Rows.Count == 0) { return "   没有数据"; } for (int i = 0; i < dt_paixu.Rows.Count; i++) { htmlcode += ""; htmlcode += " "; for (int j = 0; j < dt_paixu.Columns.Count - 1; j++) { if (dt_paixu.Columns[j].ColumnName == "zhaopian") { htmlcode += "\')\" />"; } else if (dt_paixu.Columns[j].ColumnName == "mingpian") { htmlcode += "\')\" />"; } else if (dt_paixu.Columns[j].ColumnName == "wangzhi") { htmlcode += "" + dt_paixu.Rows[i][j] + ""; } else if (dt_paixu.Columns[j].ColumnName == "dizhi") { string sd = "http://map.baidu.com/?newmap=1&ie=utf-8&s=s%26wd%3D"; htmlcode += "" + dt_paixu.Rows[i][j] + ""; } else if (dt_paixu.Columns[j].ColumnName == "dizhiyw") { string sd = "http://map.baidu.com/?newmap=1&ie=utf-8&s=s%26wd%3D"; htmlcode += "" + dt_paixu.Rows[i][j] + ""; } else { htmlcode += "" + dt_paixu.Rows[i][j] + ""; } } htmlcode += ""; } return htmlcode; } else { string lieselect = string.Format("select * from nr_sys_lieming where tblname='{0}' ORDER BY xh", "view_nr_z_kehu"); DataTable liedt = DBHlper.Execute(lieselect).Tables[0]; int lieshuixu = 0; foreach (DataRow liedr in liedt.Rows) { lieshuixu++; string cmdinsert = string.Format("insert into nr_lt_paixu values('{0}','{1}','{2}','{3}',{4},{5})",zhanghao.id, "view_nr_z_kehu", liedr["ywlieming"], liedr["zwlieming"], lieshuixu, 1); DBHlper.excutecmd(cmdinsert); } return ""; } } #endregion #region 传入条数返回页数以便前台调用 [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)] public int maxpage(int count,string tj) { int fanhuizhi = 0; string cmd = string.Format("select count(*) from view_nr_z_kehu "+tj); Maticsoft.Model.nr_z_yhzh yhzh = (Maticsoft.Model.nr_z_yhzh)Session["user"]; if (!DBHlper.GetPermission(yhzh.juese, "客户档案", "nr_z_kehu", "查看全部")) { if (tj == "") { cmd += " where yewuyuan='" + yhzh.zhanghao + "'"; } else { cmd += " and yewuyuan='" + yhzh.zhanghao + "'"; } } int sumcount = DBHlper.getcount(cmd); if (sumcount > count) { fanhuizhi= sumcount / count; } return fanhuizhi; } #endregion #region 数据排序 [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)] public void itempaixu(string code) { Maticsoft.Model.nr_z_yhzh yhzh = (Maticsoft.Model.nr_z_yhzh)Session["user"]; string[] pxzu = code.Split(';'); string[] codezu=new string[4]; foreach (string px in pxzu) { codezu = px.Split('/'); string cmdexits = string.Format("select id from nr_lt_paixu where userid='{0}' and tblname='{1}' and lieming='{2}'", yhzh.id, "view_nr_z_kehu", codezu[2]); DataTable paixutable = DBHlper.Execute(cmdexits).Tables[0]; if (paixutable.Rows.Count > 0) { int idfanhui = Convert.ToInt32(paixutable.Rows[0][0]); string updatepaixu = string.Format("update nr_lt_paixu set shuixu={0},isxianshi={1} where id={2}", codezu[0], codezu[3], idfanhui); DBHlper.excutecmd(updatepaixu); } else { string paixuinsert = string.Format("insert into nr_paixu (userid,tblname,lieming,zhongwen,shuixu,isxianshi) values('{0}','{1}','{2}','{3}',{4},{5})", yhzh.id, "view_nr_z_kehu", codezu[2], codezu[1], codezu[0], codezu[3]); DBHlper.excutecmd(paixuinsert); } } } #endregion #region 列头排序 [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)] public string paixu() { Maticsoft.Model.nr_z_yhzh zhanghao = (Maticsoft.Model.nr_z_yhzh)Session["user"]; string paixuselct = string.Format("select * from nr_lt_paixu where userid='{0}' and tblname='{1}' and isxianshi={2} order by shuixu ", zhanghao.id, "view_nr_z_kehu", 1); DataTable dtselect = DBHlper.Execute(paixuselct).Tables[0]; string htmlcode = ""; foreach (DataRow dr in dtselect.Rows) { htmlcode += string.Format("{1}", dr["lieming"], dr["zhongwen"]); } return htmlcode; } #endregion #region 获取隐藏的列 [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)] public string yincanglie(int endid) { Maticsoft.Model.nr_z_yhzh zhanghao = (Maticsoft.Model.nr_z_yhzh)Session["user"]; endid = endid - 1; string displaycmd = "select * from nr_lt_paixu where isxianshi=0 and tblname='view_nr_z_kehu' and userid='"+zhanghao.id+"'"; DataTable distable = DBHlper.Execute(displaycmd).Tables[0]; string htmlcode = ""; foreach(DataRow dr in distable.Rows) { endid++; htmlcode += "" + endid + "" + dr["zhongwen"] + " "; } return htmlcode; } #endregion #region 查询数据总数 [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)] public int sumitem(string wheretj) { string selectcmd = "select count(*) from view_nr_z_kehu " + wheretj; Maticsoft.Model.nr_z_yhzh yhzh=(Maticsoft.Model.nr_z_yhzh)Session["user"]; if (!DBHlper.GetPermission(yhzh.juese, "客户档案", "nr_z_kehu", "查看全部")) { if (wheretj == "") { selectcmd += " where yewuyuan='" + yhzh.zhanghao + "'"; } else { selectcmd += " and yewuyuan='" + yhzh.zhanghao + "'"; } } int sumcount = DBHlper.getcount(selectcmd); return sumcount; } #endregion #region 批量删除 [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)] public void piliangshan(int id) { kehumd = kehubll.GetModel(Convert.ToInt32(id)); kehumd.zt = 0; bool ci=kehubll.Update(kehumd); if (ci) { //给日志模板赋值 rizhi.riqi = DateTime.Now; rizhi.leixing = "客户档案"; //将session转换对象取值 Maticsoft.Model.nr_z_yhzh zh = (Maticsoft.Model.nr_z_yhzh)Session["user"]; //拼接字符串插入日志 rizhi.jilu = zh.zhanghao + "删除了客户档案,档案编号为:" + kehumd.bianhao; rizhi.yonghuming = zh.zhanghao.ToString(); rizhibll.Add(rizhi); } } #endregion #region 日期查询 [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)] public string nowdaycount(int selmonth) { DateTime nowdt = DateTime.Now; int days = DateTime.DaysInMonth(nowdt.Year, selmonth); string yuechu = nowdt.Year + "-" + selmonth + "-" + "1"; string yuemo = Convert.ToDateTime(nowdt.Year + "-" + selmonth + "-" +days).AddDays(1).ToString("yyyy-MM-dd"); DateTime yc = Convert.ToDateTime(yuechu); string cmd = string.Format("select CONVERT(varchar(12),riqi,111) as 'riqi' from view_nr_z_kehu where riqi>='{0}' and riqi<='{1}'", yuechu, yuemo); Maticsoft.Model.nr_z_yhzh yhzh = (Maticsoft.Model.nr_z_yhzh)Session["user"]; if (!DBHlper.GetPermission(yhzh.juese, "客户档案", "nr_z_kehu", "查看全部")) { cmd += " and yewuyuan='" + yhzh.zhanghao + "'"; } DataTable dt = DBHlper.Execute(cmd).Tables[0]; var biao = "" + ""; for (var x = 1; x <= days; x++) { biao += ""; } biao += ""; for (var x = 1; x <= days; x++) { string str = yc.ToShortDateString(); int lenth = dt.Select("riqi='" + yc.ToShortDateString() + "'").Length; string everday = yc.Year.ToString(); if (yc.Month < 10) { everday += "/0" + yc.Month; } else { everday += "/" + yc.Month; } if (yc.Day < 10) { everday += "/0" + yc.Day; } else { everday += "/" + yc.Day; } biao += ""; yc = yc.AddDays(1); } biao += "
日期
< " + selmonth + " >
" + x + "
数量" + dt.Select("riqi='" + everday + "'").Length + "
"; return biao; } #endregion #region 敏感权限查看 void pdquanxian(int juese) { Maticsoft.Model.nr_z_yhzh user = (Maticsoft.Model.nr_z_yhzh)(Session["user"]); if (DBHlper.getzt(user.id)==0) { Response.Redirect("../index.aspx"); } if (!DBHlper.GetPermission(juese, "客户档案", "nr_z_kehu", "查看全部") && !DBHlper.GetPermission(juese, "客户档案", "nr_z_kehu", "查看个人")) { Response.Redirect("../Common/nopower.htm"); } if (DBHlper.GetPermission(juese, "客户档案", "nr_z_kehu", "添加") ) { li_add.Visible = true; } if (DBHlper.GetPermission(juese, "客户档案", "nr_z_kehu", "删除全部") ) { li_deleteall.Visible = true; } if (DBHlper.GetPermission(juese, "客户档案", "nr_z_kehu", "删除个人") && DBHlper.GetPermission(juese, "客户档案", "nr_z_kehu", "查看全部") == false) { li_deleteall.Visible = true; } if (DBHlper.GetPermission(juese, "客户档案", "nr_z_kehu", "导出") ) { xiazai.Visible = true; } if (DBHlper.GetPermission(juese, "客户档案", "nr_z_kehu", "配置") ) { leiset.Visible = true; } } #endregion #region 判断查看权限 [Ajax.AjaxMethod] public string isquanxian(int uid) { if (DBHlper.GetPermission(uid, "客户档案", "nr_z_kehu", "查看全部")) { return "1"; } else if (DBHlper.GetPermission(uid, "客户档案", "nr_z_kehu", "查看个人")) { return "0"; }else{ return ""; } } #endregion #region 下载方法 public void DownLoad(object o,EventArgs e) { Maticsoft.Model.nr_z_yhzh zhanghao = (Maticsoft.Model.nr_z_yhzh)Session["user"]; string selectid = this.selectid.Value; string colmn = ""; ArrayList sList = new ArrayList(); DataTable dtcolmnname = DBHlper.Execute("select lieming,zhongwen from nr_lt_paixu where tblname='view_nr_z_kehu' and isxianshi=1 and userid='" + ((Maticsoft.Model.nr_z_yhzh)Session["user"]).id + "' order by shuixu").Tables[0]; string tj = strwhere.Value; foreach (DataRow r in dtcolmnname.Rows) { colmn += r["lieming"].ToString() + ','; sList.Add(r["zhongwen"].ToString()); } colmn = colmn.TrimEnd(','); string selectcode ="select " + colmn + " from view_nr_z_kehu where zt='1' "; if (tj != "") { selectcode += tj.Replace("where","and"); } if (selectid != "") { selectcode += " and id in("+selectid.TrimEnd(',')+")"; } if (DBHlper.GetPermission(zhanghao.juese, "客户档案", "nr_z_kehu", "查看全部")) { } else if (DBHlper.GetPermission(zhanghao.juese, "客户档案", "nr_z_kehu", "查看个人")) { selectcode += " and yewuyuan='" + zhanghao.zhanghao + "'"; } DataTable dt = DBHlper.Execute(selectcode+"order by id desc").Tables[0]; DBHlper.ExportByWeb(dt,"客户"+DateTime.Now, sList); } #endregion string zhonglei = ""; protected void btn_daoru(object o, EventArgs e) { string strFileFullName = file_lujing.PostedFile.FileName; string strExcCaps = System.IO.Path.GetExtension(strFileFullName).ToLower(); if (strExcCaps != ".xls" && strExcCaps != ".xlsx") { lbl_zerror.Text = "您只能上传后缀名为.xls和.xlsx格式的文件"; return; } string filelujing = Server.MapPath("~/Excel/"); string strPath = filelujing + file_lujing.FileName; file_lujing.PostedFile.SaveAs(strPath); try { string mystring = "Provider=Microsoft.Ace.OLEDB.12.0;Data Source = '" + strPath + "';Extended Properties=Excel 12.0 ;"; OleDbConnection cnnxls = new OleDbConnection(mystring); OleDbDataAdapter myDa = new OleDbDataAdapter("select * from [Sheet1$]", cnnxls); DataSet myDs = new DataSet(); myDa.Fill(myDs); DataTable dt = myDs.Tables[0]; int khqkcount = 0; foreach (DataColumn dclmn in dt.Columns) { if (dclmn.ColumnName == "客户欠款") { khqkcount++; } } if (khqkcount > 0) { dt.Columns.Remove("客户欠款"); } int lxfscount = 0; foreach (DataColumn dclmn in dt.Columns) { if (dclmn.ColumnName == "联系方式") { khqkcount++; } } if (khqkcount > 0) { dt.Columns.Remove("联系方式"); } string errortishi = ""; int i = 1; List listhead = new List(); string columnname = ""; string where = ""; string wherecode = "insert into nr_z_kehu ("; int nameindex = 0; int bhindex = 0; for (int j = 0; j < dt.Columns.Count; j++) { columnname = dt.Columns[j].ColumnName; if (columnname == "编号") { listhead.Add("bianhao"); wherecode += "bianhao,"; bhindex = j; } else if (columnname == "名称") { listhead.Add("mingcheng"); wherecode += "mingcheng,"; nameindex = j; } else if (columnname == "地区") { listhead.Add("diqu"); wherecode += "diqu,"; } else if (columnname == "地址") { listhead.Add("dizhi"); wherecode += "dizhi,"; } else if (columnname == "行业") { listhead.Add("hangye"); wherecode += "hangye,"; } else if (columnname == "规模") { listhead.Add("guimo"); wherecode += "guimo,"; } else if (columnname == "性质") { listhead.Add("xingzhi"); wherecode += "xingzhi,"; } else if (columnname == "邮编") { listhead.Add("youbian"); wherecode += "youbian,"; } else if (columnname == "网址") { listhead.Add("wangzhi"); wherecode += "wangzhi,"; } else if (columnname == "开户行") { listhead.Add("kaihuhang"); wherecode += "kaihuhang,"; } else if (columnname == "账号") { listhead.Add("zhanghao"); wherecode += "zhanghao,"; } else if (columnname == "税号") { listhead.Add("shuihao"); wherecode += "shuihao,"; } else if (columnname == "传真") { listhead.Add("chuanzhen"); wherecode += "chuanzhen,"; } else if (columnname == "来源") { listhead.Add("laiyuan"); wherecode += "laiyuan,"; } else if (columnname == "类型") { listhead.Add("leixing"); wherecode += "leixing,"; } else if (columnname == "建立日期") { listhead.Add("riqi"); wherecode += "riqi,"; } else if (columnname == "业务员") { listhead.Add("yewuyuan"); wherecode += "yewuyuan,"; } else if (columnname == "电话") { listhead.Add("dianhua"); wherecode += "dianhua,"; } else if (columnname == "邮箱") { listhead.Add("youxiang"); wherecode += "youxiang,"; } else if (columnname == "授信额度") { listhead.Add("shouxianedu"); wherecode += "shouxianedu,"; } else if (columnname == "备注") { listhead.Add("beizhu"); wherecode += "beizhu,"; } else if (columnname == "职位") { listhead.Add("zhiwei"); wherecode += "zhiwei,"; } else if (columnname == "联系人") { listhead.Add("lxr"); wherecode += "lxr,"; } else if (columnname == "期初欠款") { listhead.Add("csqk"); wherecode += "csqk,"; } else if (columnname == "手机号") { listhead.Add("shoujih"); wherecode += "shoujih,"; } wherecode.TrimEnd(','); } wherecode = wherecode.TrimEnd(','); wherecode += ") values("; where = wherecode; int wlcount = 0; foreach (DataRow dr in dt.Rows) { wlcount = DBHlper.getcount(string.Format("select count(*) from nr_z_kehu where mingcheng='{0}' and bianhao='{1}'", dr[nameindex],dr[bhindex] )); if (wlcount > 0) { i++; continue; } for (int t = 0; t < listhead.Count; t++) { columnname = listhead[t]; if (columnname == "hangye") { testexits(dr[t].ToString()); if (zhonglei == "") { errortishi = "第" + i + "行没有此行业"; gongjuzhankai(errortishi); return; } else { wherecode += zhonglei + ","; } } else if (columnname == "xingzhi") { testexits(dr[t].ToString()); if (zhonglei == "") { errortishi = "第" + i + "行没有此性质"; gongjuzhankai(errortishi); return; } else { wherecode += zhonglei + ","; } } else if (columnname == "laiyuan") { testexits(dr[t].ToString()); if (zhonglei == "") { errortishi = "第" + i + "行没有此来源"; gongjuzhankai(errortishi); return; } else { wherecode += zhonglei + ","; } } else if (columnname == "leixing") { testexits(dr[t].ToString()); if (zhonglei == "") { errortishi = "第" + i + "行没有此类型"; gongjuzhankai(errortishi); return; } else { wherecode += zhonglei + ","; } } else if (columnname == "diqu") { testexits(dr[t].ToString()); if (zhonglei == "") { errortishi = "第" + i + "行没有此地区"; gongjuzhankai(errortishi); return; } else { wherecode += zhonglei + ","; } } else if (columnname == "guimo") { testexits(dr[t].ToString()); if (zhonglei == "") { errortishi = "第" + i + "行没有此规模"; gongjuzhankai(errortishi); return; } else { wherecode += zhonglei + ","; } } else if (columnname == "csqk") { if (dr[t] is DBNull) { wherecode += 0 + ","; } else if (IsNumeric(dr[t])) { wherecode += dr[t] + ","; } else { errortishi = "第" + i + "行期初欠款格式不正确"; gongjuzhankai(errortishi); return; } } else if (columnname == "shouxianedu") { if (dr[t] is DBNull) { wherecode += 0 + ","; } else if (IsNumeric(dr[t])) { wherecode += dr[t] + ","; } else { errortishi = "第" + i + "行授限额度格式不正确"; gongjuzhankai(errortishi); return; } } else { wherecode += " '" + dr[t] + "',"; } } i++; wherecode = wherecode.TrimEnd(',') + ')'; DBHlper.excutecmd(wherecode); wherecode = where; } Response.Redirect("Customer_list.aspx"); } catch (Exception ex) { } } void gongjuzhankai(string tishi) { lbl_zerror.Text = tishi; Gjx.Style.Add("display", "block"); div_daoru.Style.Add("display", "block"); } void testexits(string code) { zhonglei = DBHlper.getfirstcolmn("select id from nr_sys_bianma where mingcheng='" + code.Trim() + "'"); } public static bool IsNumeric(object value) { try { Convert.ToDecimal(value); return true; } catch (Exception e) { return false; } } #region 汇总 [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)] public string gethuizong(string tiaojian, string[] hzlie) { Maticsoft.Model.nr_z_yhzh zhanghao = (Maticsoft.Model.nr_z_yhzh)Session["user"]; string code = ""; string paixuselct = string.Format("select * from nr_lt_paixu where userid='{0}' and tblname='{1}' and isxianshi={2} order by shuixu ", zhanghao.id, "view_nr_z_kehu", 1); DataTable dtselect = DBHlper.Execute(paixuselct).Tables[0]; string datacolmn = ""; string wherecode = ""; int exits = 0; foreach (DataRow dr in dtselect.Rows) { exits = 0; foreach (string lie in hzlie) { if (dr["zhongwen"].ToString() == lie) { exits++; } } if (exits == 0) { code += ""; } else { datacolmn = dr["lieming"].ToString(); wherecode = "select sum(" + datacolmn + ") "; if (DBHlper.GetPermission(zhanghao.juese, "客户档案", "nr_z_kehu", "查看全部")) { wherecode += " from view_nr_z_kehu where " + tiaojian; } else if (DBHlper.GetPermission(zhanghao.juese, "客户档案", "nr_z_kehu", "查看个人")) { wherecode += " from view_nr_z_kehu where yewuyuan='" + zhanghao.zhanghao + "' and " + tiaojian; } wherecode += " 1=1 "; code += "" + DBHlper.getfirstcolmn(wherecode) + ""; } } return code; } #endregion }