398 lines
16 KiB
C#
398 lines
16 KiB
C#
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 SupplierRanking : System.Web.UI.Page
|
|
{
|
|
//创建一个操作记录模版
|
|
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(SupplierRanking));
|
|
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_Report_Supplier");
|
|
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_Report_Supplier", 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, "供应商数据统计", "view_Report_Supplier", "查看全部"))
|
|
{
|
|
wherecode += string.Format(" from view_Report_Supplier where " + tiaojian + " id not in(select top ({0}*{1}) id from view_Report_Supplier)" + paixu, pg, pageitem);
|
|
|
|
}
|
|
else if (DBHlper.GetPermission(zhanghao.juese, "供应商数据统计", "view_Report_Supplier", "查看个人"))
|
|
{
|
|
wherecode += string.Format(" from view_Report_Supplier where zdr='" + zhanghao.zhanghao + "' and " + tiaojian + " id not in(select top ({0}*{1}) id from view_Report_Supplier)" + paixu, pg, pageitem);
|
|
|
|
}
|
|
DataTable dt_paixu = DBHlper.Execute(wherecode).Tables[0];
|
|
if (dt_paixu.Rows.Count == 0)
|
|
{
|
|
return "<tr><td>   没有数据</td></tr>";
|
|
}
|
|
|
|
for (int i = 0; i < dt_paixu.Rows.Count; i++)
|
|
{
|
|
htmlcode += "<tr tag='" + dt_paixu.Rows[i]["id"] + "' >";
|
|
htmlcode += " <td style='width:20px'><input type='checkbox' class='xz'/></td>";
|
|
for (int j = 0; j < dt_paixu.Columns.Count - 1; j++)
|
|
{
|
|
if (dt_paixu.Columns[j].ColumnName == "wangzhi")
|
|
{
|
|
htmlcode += "<td><a href='http://" + dt_paixu.Rows[i][j] + "'>" + dt_paixu.Rows[i][j] + "</a></td>";
|
|
|
|
}
|
|
else
|
|
{
|
|
htmlcode += "<td><span>" + dt_paixu.Rows[i][j] + "</span></td>";
|
|
}
|
|
}
|
|
htmlcode += "</tr>";
|
|
}
|
|
return htmlcode;
|
|
}
|
|
else
|
|
{
|
|
string lieselect = string.Format("select * from nr_sys_lieming where tblname='{0}' ORDER BY xh", "view_Report_Supplier");
|
|
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_Report_Supplier", 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_Report_Supplier " + tj);
|
|
Maticsoft.Model.nr_z_yhzh yhzh = (Maticsoft.Model.nr_z_yhzh)Session["user"];
|
|
if (!DBHlper.GetPermission(yhzh.juese, "供应商数据统计", "view_Report_Supplier", "查看全部"))
|
|
{
|
|
if (tj == "")
|
|
{
|
|
cmd += " where zdr='" + yhzh.zhanghao + "'";
|
|
}
|
|
else
|
|
{
|
|
cmd += " and zdr='" + 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_Report_Supplier", 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_Report_Supplier", 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_Report_Supplier", 1);
|
|
DataTable dtselect = DBHlper.Execute(paixuselct).Tables[0];
|
|
string htmlcode = "<td style='width:20px'><input onclick='selectall()' title='全选' type='checkbox' style='width:20px' id='cbo_selectall'/></td>";
|
|
foreach (DataRow dr in dtselect.Rows)
|
|
{
|
|
htmlcode += string.Format("<td tag='{0}'>{1}</td>", 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_Report_Supplier' and userid='" + zhanghao.id + "'";
|
|
DataTable distable = DBHlper.Execute(displaycmd).Tables[0];
|
|
string htmlcode = "";
|
|
foreach (DataRow dr in distable.Rows)
|
|
{
|
|
endid++;
|
|
htmlcode += "<tr class='tr_item' id='tr_" + endid + "'><td style='width:30%'>" + endid + "</td><td style='width:30%' tag=" + dr["lieming"] + ">" + dr["zhongwen"] + "</td><td style='width:30%'><input type='checkbox'/></td> </tr>";
|
|
}
|
|
return htmlcode;
|
|
}
|
|
#endregion
|
|
|
|
#region 查询数据总数
|
|
[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)]
|
|
public int sumitem(string wheretj)
|
|
{
|
|
string selectcmd = "select count(*) from view_Report_Supplier " + wheretj;
|
|
Maticsoft.Model.nr_z_yhzh yhzh = (Maticsoft.Model.nr_z_yhzh)Session["user"];
|
|
if (!DBHlper.GetPermission(yhzh.juese, "供应商数据统计", "view_Report_Supplier", "查看全部"))
|
|
{
|
|
if (wheretj == "")
|
|
{
|
|
selectcmd += " where zdr='" + yhzh.zhanghao + "'";
|
|
}
|
|
else
|
|
{
|
|
selectcmd += " and zdr='" + yhzh.zhanghao + "'";
|
|
}
|
|
}
|
|
int sumcount = DBHlper.getcount(selectcmd);
|
|
return sumcount;
|
|
}
|
|
#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_Report_Supplier 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, "供应商数据统计", "view_Report_Supplier", "查看全部"))
|
|
{
|
|
cmd += " and zdr='" + yhzh.zhanghao + "'";
|
|
}
|
|
DataTable dt = DBHlper.Execute(cmd).Tables[0];
|
|
|
|
var biao = "<table class='lbrilitb' id='tbl_yueli'>"
|
|
+ "<tr class='lbrilitbtou'><td width='50px' ><span>日期</span><div><span class='cursor' onclick='yl_up()' title='上月'><</span> <span id='yl_nowmonth' title='" + selmonth + "月'>" + selmonth + "</span> <span class='cursor' onclick='yl_next()' title='下月'>></span></div></td>";
|
|
for (var x = 1; x <= days; x++)
|
|
{
|
|
biao += "<td width='50px'>" + x + "</td>";
|
|
}
|
|
biao += "</tr><tr style='width:100%;height:37px;cursor:pointer'><td width='50px' id='td_sum' onclick='selectallday()' title='全部'>数量</td>";
|
|
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 += "<td width='50px' onclick='selectnowday(this)' tag='" + everday + "'>" + dt.Select("riqi='" + everday + "'").Length + "</td>";
|
|
yc = yc.AddDays(1);
|
|
}
|
|
biao += "</tr></table>";
|
|
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) != 1)
|
|
{
|
|
Response.Redirect("../index.aspx");
|
|
}
|
|
if (!DBHlper.GetPermission(juese, "供应商数据统计", "view_Report_Supplier", "查看全部") && !DBHlper.GetPermission(juese, "供应商数据统计", "view_Report_Supplier", "查看个人"))
|
|
{
|
|
Response.Redirect("../Common/nopower.htm");
|
|
}
|
|
|
|
if (DBHlper.GetPermission(juese, "供应商数据统计", "view_Report_Supplier", "导出"))
|
|
{
|
|
xiazai.Visible = true;
|
|
}
|
|
if (DBHlper.GetPermission(juese, "供应商数据统计", "view_Report_Supplier", "配置"))
|
|
{
|
|
leiset.Visible = true;
|
|
}
|
|
|
|
}
|
|
|
|
#endregion
|
|
#region 判断查看权限
|
|
[Ajax.AjaxMethod]
|
|
public string isquanxian(int uid)
|
|
{
|
|
|
|
if (DBHlper.GetPermission(uid, "供应商数据统计", "view_Report_Supplier", "查看全部"))
|
|
{
|
|
return "1";
|
|
}
|
|
else if (DBHlper.GetPermission(uid, "供应商数据统计", "view_Report_Supplier", "查看个人"))
|
|
{
|
|
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_Report_Supplier' 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_Report_Supplier where 1=1 ";
|
|
if (tj != "")
|
|
{
|
|
selectcode += tj.Replace("where", "and");
|
|
}
|
|
if (selectid != "")
|
|
{
|
|
selectcode += " and id in(" + selectid.TrimEnd(',') + ")";
|
|
}
|
|
if (DBHlper.GetPermission(zhanghao.juese, "供应商数据统计", "view_Report_Supplier", "查看全部"))
|
|
{
|
|
|
|
}
|
|
else if (DBHlper.GetPermission(zhanghao.juese, "供应商数据统计", "view_Report_Supplier", "查看个人"))
|
|
{
|
|
selectcode += " and zdr='" + zhanghao.zhanghao + "'";
|
|
}
|
|
DataTable dt = DBHlper.Execute(selectcode + " order by id desc").Tables[0];
|
|
DBHlper.ExportByWeb(dt, "供应商数据统计"+DateTime.Now, sList);
|
|
}
|
|
#endregion
|
|
#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 = "<td></td>";
|
|
string paixuselct = string.Format("select * from nr_lt_paixu where userid='{0}' and tblname='{1}' and isxianshi={2} order by shuixu ", zhanghao.id, "view_Report_Supplier", 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 += "<td></td>";
|
|
}
|
|
else
|
|
{
|
|
datacolmn = dr["lieming"].ToString();
|
|
wherecode = "select sum(" + datacolmn + ") ";
|
|
if (DBHlper.GetPermission(zhanghao.juese, "供应商数据统计", "view_Report_Supplier", "查看全部"))
|
|
{
|
|
wherecode += " from view_Report_Supplier where " + tiaojian;
|
|
}
|
|
else if (DBHlper.GetPermission(zhanghao.juese, "供应商数据统计", "view_Report_Supplier", "查看个人"))
|
|
{
|
|
wherecode += " from view_Report_Supplier where zdr='" + zhanghao.zhanghao + "' and " + tiaojian;
|
|
}
|
|
wherecode += " 1=1 ";
|
|
code += "<td class='blue'>" + DBHlper.getfirstcolmn(wherecode) +"</td>";
|
|
}
|
|
}
|
|
return code;
|
|
|
|
}
|
|
#endregion
|
|
} |