using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using SmartAMZ.Model;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.OleDb;
using System.IO;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;
using ClassLibrary1;
namespace SmartAMZ.dakaqiantui
{
public partial class upexcel : Form
{
mwswebserver.mwswebserver mywebserver = new mwswebserver.mwswebserver();
DataSet dsdianpuleimu, dsdianpuMws;
clsChuli clsChulia = new clsChuli();
public upexcel()
{
InitializeComponent();
//获取业务员店铺信息
string strsql = "SELECT distinct [dianpuname] as 店铺 from [tbZijiDianpuleimu] a where dianpuname in (select [dianpuname] from [tbv_yonghuzijiandianpu] where userid=" + Loginuser.userid.ToString() + ")";
byte[] bydianpuinfo = mywebserver.getdianpupeizhiByIP(strsql);
dsdianpuleimu = clsChulia.DecompressDS(bydianpuinfo);
comboBox1.DataSource = dsdianpuleimu.Tables[0];
comboBox1.DisplayMember = "店铺";
comboBox1.ValueMember = "店铺";
//初始化下拉框
Country_C.Items.Clear();
Country_C.Items.Add(new ListItem("us", "美国"));
Country_C.Items.Add(new ListItem("ca", "加拿大"));
Country_C.Items.Add(new ListItem("es", "西班牙"));
Country_C.Items.Add(new ListItem("uk", "英国"));
Country_C.Items.Add(new ListItem("fr", "法国"));
Country_C.Items.Add(new ListItem("de", "德国"));
Country_C.Items.Add(new ListItem("it", "意大利"));
Country_C.SelectedIndex = 0;
//读取登陆用户姓名
textBox3.Text = Loginuser.truename;
//读取数据库系统时间
DataSet dataset1 = Model.DbHelperSQL.Query("select getdate() as SysDate");
if (dataset1.Tables.Count != 0)
{
DateTime dt = DateTime.Parse(dataset1.Tables[0].Rows[0][0].ToString());
String a = Convert.ToDateTime(dt).ToString("yyyy-MM-dd HH:mm");//24小时
label10.Text = a;
string[] b = a.Substring(0, 7).Split('-');
if (int.Parse(b[b.Length - 1]) - 1 < 0)
{
textBox4.Text = (int.Parse(b[0]) - 1) + "-" + "12";
}
else if (int.Parse(b[b.Length - 1]) - 1 < 10)
{
textBox4.Text = b[0] + "-0" + (int.Parse(b[b.Length - 1]) - 1);
}
else
{
textBox4.Text = b[0] + "-" + (int.Parse(b[b.Length - 1]) - 1);
}
}
}
private void button2_Click(object sender, EventArgs e)
{
String path = this.openFileDialog1.FileName;
string[] p = path.Split('\\');
string names = p[p.Length - 1];
string[] a = names.Split('.');
string name = a[0];
string merchantDP = comboBox1.Text.ToString();
if (name == merchantDP)
{
DataTable dt = new DataTable();
bool hasTitle = true;
string sheet = FileUpload1.Text.ToString();
dt = ClassLibrary1.TypeConversionCommon.GetDataFromExcelByCom(hasTitle, path, sheet);
dt.Columns.Add("merchantid", typeof(String));
dt.Columns.Add("inserttime", typeof(String));
dt.Columns.Add("nianyue", typeof(String));
dt.Columns.Add("truename", typeof(String));
string S = "tbamz_asinreports_temp";
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i]["merchantid"] = comboBox1.Text.ToString();
dt.Rows[i]["inserttime"]=label10.Text;
dt.Rows[i]["nianyue"] = textBox4.Text;
dt.Rows[i]["truename"] = Loginuser.truename;
}
DbHelper db = new DbHelper("ConnectionString");
db.DataTableToDataBase(dt, S);
//执行存储过程
string storedProcName = "pro1";
string merchantid = comboBox1.Text.ToString();
//执行前先删除本店本月之前存的数据,也就是说不管怎么添加本月的数据只会是最后一次本月导入的数据
String sql = "delete from tbamz_asinreports where nianyue='"+textBox4.Text+"' and merchantid='"+merchantid +"'";
db.ExecuteSql(sql);
System.Collections.ArrayList paramlist = new System.Collections.ArrayList();
System.Data.SqlClient.SqlParameter param1 = new System.Data.SqlClient.SqlParameter();
System.Data.SqlClient.SqlParameter sqlParameter = new System.Data.SqlClient.SqlParameter("@merchantid", SqlDbType.VarChar, 100);
sqlParameter.Value = comboBox1.Text.ToString();
paramlist.Add(sqlParameter);
IDataParameter[] param = (IDataParameter[])paramlist.ToArray(typeof(IDataParameter));
db.RunProcedure(storedProcName, param);
MessageBox.Show("执行成功");
}else {
MessageBox.Show("请保持店名跟文件名一致");
}
}
private void button1_Click_1(object sender, EventArgs e)
{
if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
{
this.textBox1.Text = this.openFileDialog1.FileName;
}
}
//确认执行存储过程
private void button3_Click(object sender, EventArgs e)
{
string storedProcName = "pro1";
string merchantid = comboBox1.Text.ToString();
DbHelper db = new DbHelper("ConnectionString");
String nowdate=DateTime.Now.ToString("yyyy-MM-dd");
String sql = "select * from tbamz_asinreports where inserttime='" + nowdate + "' and merchantid='" + merchantid + "'";
DataSet dataset = db.Query(sql);
String path = this.openFileDialog1.FileName;
string[] p = path.Split('\\');
string names = p[p.Length - 1];
string[] a = names.Split('.');
string name = a[0];
string[] b = name.Split('_');
string bj1 = name.Substring(0, name.Length - 3);
string bj = b[b.Length - 1];
string merchantDP = comboBox1.Text.ToString();
if (bj == merchantDP)
{
if (dataset.Tables.Count >= 2)
{
MessageBox.Show("今天已经添加过了");
}
else
{
System.Collections.ArrayList paramlist = new System.Collections.ArrayList();
System.Data.SqlClient.SqlParameter param1 = new System.Data.SqlClient.SqlParameter();
System.Data.SqlClient.SqlParameter sqlParameter = new System.Data.SqlClient.SqlParameter("@merchantid", SqlDbType.VarChar, 100);
sqlParameter.Value = comboBox1.Text.ToString();
paramlist.Add(sqlParameter);
IDataParameter[] param = (IDataParameter[])paramlist.ToArray(typeof(IDataParameter));
db.RunProcedure(storedProcName, param);
MessageBox.Show("执行成功");
}
}else {
MessageBox.Show("请保持店名跟文件名一致");
}
}
private void button3_Click_1(object sender, EventArgs e)
{
DbHelper db = new DbHelper("ConnectionString");
DataSet dataset = db.Query("select * from tbamz_asinlistOnline");
if (dataset.Tables.Count != 0)
{
DataTable dt = new DataTable();
dt.Columns.Add("ASIN",Type.GetType("System.String"));
for (int i = 0; i < dataset.Tables[0].Rows.Count;i++ )
{
DataRow newRow;
newRow = dt.NewRow();
newRow["ASIN"] = dataset.Tables[0].Rows[i][0];
dt.Rows.Add(newRow);
}
dataGridView1.DataSource = dt;
}
}
//可删,之前获取ASIN方法
private void oldbutton3_Click_1(object sender, EventArgs e)
{
List<ListItem> list = new List<ListItem>();
list.Add((ListItem)(Country_C.SelectedItem));
foreach (ListItem item in list)
{
DataSet asinDataSet = new DataSet();
asinDataSet = getASINList(item.ID);
DataTable datat = new DataTable();
DataColumn dc = null;
dc = datat.Columns.Add("ID", Type.GetType("System.Int32"));
dc.AutoIncrement = true;//自动增加
dc.AutoIncrementSeed = 1;//起始为1
dc.AutoIncrementStep = 1;//步长为1
dc.AllowDBNull = false;//
datat.Merge(asinDataSet.Tables[0]);
dataGridView1.DataSource = datat;
}
}
private void button5_Click(object sender, EventArgs e)
{
string sql = "select fatherASIN as 父ASIN,"+
" childASIN as 子ASIN, productName as 商品名称,"+
" buyersVisits as 买家访问次数,htmlpageview as 页面浏览次数,"+
" buyButtonWinPercent as 购买按钮赢得率,onOrderProductNumber as 已订购商品数量," +
" nianyue as 数据时间,truename as 业务员,merchantid as 店铺,inserttime as 导入时间 from tbamz_asinreports";
load(sql);
}
private DataSet getASINList(string country)
{
string key = Util.Util.getKey();
mwswebserver.mwswebserver mywebserver = new mwswebserver.mwswebserver();
mwswebserver.SqlParameter[] abc = new mwswebserver.SqlParameter[1];
mwswebserver.SqlParameter sqlparameter = new mwswebserver.SqlParameter();
sqlparameter.ParameterName = "@guojia";
sqlparameter.SqlValue = country;
sqlparameter.Value = country;
sqlparameter.SqlDbType = (mwswebserver.SqlDbType)SqlDbType.VarChar;
abc[0] = sqlparameter;
byte[] byasin = mywebserver.GetbySPtodataset(key, abc, "spgm_getsuoyouxiaoshouAsin");
DataSet ds = clsChulia.DecompressDS(byasin);
return ds;
}
private void button6_Click(object sender, EventArgs e)
{
string startdate = dateTimePicker1.Value.ToString();
int startdateyear = int.Parse((startdate.Split('/'))[0]);
int startdatemonth = int.Parse((startdate.Split('/'))[1]);
string enddate = dateTimePicker2.Value.ToString();
int enddateyear = int.Parse((enddate.Split('/'))[0]);
int enddatemonth = int.Parse((enddate.Split('/'))[1]);
string sql = "select fatherASIN as 父ASIN," +
" childASIN as 子ASIN, productName as 商品名称," +
" buyersVisits as 买家访问次数,htmlpageview as 页面浏览次数," +
" buyButtonWinPercent as 购买按钮赢得率,onOrderProductNumber as 已订购商品数量," +
" nianyue as 数据时间,truename as 业务员,merchantid as 店铺,inserttime as 导入时间 from tbamz_asinreports where ";
if (startdatemonth < 10)
{
sql = sql + " (nianyue=" + "'" + startdateyear + "-0" + startdatemonth + "'";
}
else
{
sql = sql + " (nianyue=" + "'" + startdateyear + "-" + startdatemonth + "'";
}
if (startdateyear < enddateyear)
{
for (int i = startdateyear; i < enddateyear + 1; i++)
{
for (int j = 1; j <= 12; j++)
{
if (j < 10)
{
sql = sql + " or nianyue=" + "'" + i + "-0" + j + "'";
}
else
{
sql = sql + " or nianyue=" + "'" + i + "-" + j + "'";
}
}
}
for (int j = startdatemonth + 1; j <= enddatemonth; j++)
{
if (j < 10)
{
sql = sql + " or nianyue=" + "'" + enddateyear + "-0" + j + "'";
}
else
{
sql = sql + " or nianyue=" + "'" + enddateyear + "-" + j + "'";
}
}
}
else
{
for (int j = startdatemonth + 1; j <= enddatemonth; j++)
{
if (j < 10)
{
sql = sql + " or nianyue=" + "'" + startdateyear + "-0" + j + "'";
}
else
{
sql = sql + " or nianyue=" + "'" + startdateyear + "-" + j + "'";
}
}
}
sql = sql + ")";
load(sql);
}
private void load(string sql)
{
DbHelper db = new DbHelper("ConnectionString");
DataSet data = db.Query(sql);
DataTable datat1 = new DataTable();
DataColumn dc1 = null;
dc1 = datat1.Columns.Add("ID", Type.GetType("System.Int32"));
dc1.AutoIncrement = true;//自动增加
dc1.AutoIncrementSeed = 1;//起始为1
dc1.AutoIncrementStep = 1;//步长为1
dc1.AllowDBNull = false;//
datat1.Merge(data.Tables[0]);
dataGridView2.DataSource = datat1;
DataTable datat = new DataTable();
DataColumn dc = null;
dc = datat.Columns.Add("ID", Type.GetType("System.Int32"));
dc.AutoIncrement = true;//自动增加
dc.AutoIncrementSeed = 1;//起始为1
dc.AutoIncrementStep = 1;//步长为1
dc.AllowDBNull = false;//
dc = datat.Columns.Add("ASIN", Type.GetType("System.String"));
dc = datat.Columns.Add("open-date", Type.GetType("System.String"));
DataSet dataset = db.Query("select * from tbamz_asinlistOnline");
int a = dataset.Tables[0].Rows.Count;
int b = data.Tables[0].Rows.Count;
Boolean c = false;
MessageBox.Show(a+"|"+b);
MessageBox.Show("由于数据较多所以加载较慢,请耐心等待!!!");
try {
for (int i = 0; i < a; i++)
{
for (int j = 0; j < b; j++)
{
String zongASINT = dataset.Tables[0].Rows[i][0].ToString();
String qASINT = data.Tables[0].Rows[j][1].ToString();
if (zongASINT == qASINT)
{
c = true;
}
}
if (c == false)
{
DataRow newRow;
newRow = datat.NewRow();
newRow["ASIN"] = dataset.Tables[0].Rows[i][0];
newRow["open-date"] = dataset.Tables[0].Rows[i][6];
datat.Rows.Add(newRow);
}
else
{
c = false;
}
}
}catch(Exception ex){
MessageBox.Show(ex+"");
}
dataGridView3.DataSource = datat;
}
private void button4_Click(object sender, EventArgs e)
{
try
{
if (dataGridView2.DataSource == null || ((DataTable)dataGridView2.DataSource).Rows.Count == 0)
{
MessageBox.Show("表列表中没有数据!");
return;
}
SaveFileDialog dialog = new SaveFileDialog();
dialog.DefaultExt = "xlsx";
dialog.Filter = "Excel文件|*.xlsx";
if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
Util.Util.DataExport((DataTable)dataGridView2.DataSource, dialog.FileName);
MessageBox.Show("导出excel成功");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.StackTrace + ex.Message);
}
}
}
}