Commit 81c5cf97 by xiezhigang

查询导出

parent db526318
......@@ -30,7 +30,7 @@ namespace DbConn
resultJson = QueryPageCommon(sql, cdnSql, objCon);
else if (objCon.resultType == 99)
{
if(ExportObj)
if (ExportObj)
{
ExportObj = false;
try
......@@ -59,13 +59,29 @@ namespace DbConn
ExportProductEntrance(objCon, wareList, 1);
ExportAllObj = true;
}
catch(Exception ex)
catch (Exception ex)
{
ExportAllObj = true;
}
});
}
resultJson = "100";
}
else if (objCon.resultType == 117)
{
if (ExportObj)
{
ExportObj = false;
try
{
resultJson = SelectExportProductEntrance(objCon, wareList);
}
catch
{
ExportObj = true;
}
ExportObj = true;
}
}
return resultJson;
......@@ -799,6 +815,312 @@ namespace DbConn
return fullFileName;
}
public static string SelectExportProductEntrance(ConditionInterface objCon, List<WareInfo> wareList, int isResultAll = 0)
{
DataTable dt = new DataTable();
dt.Columns.Add("已上传环球");
dt.Columns.Add("sku类型");
dt.Columns.Add("采购仓库");
dt.Columns.Add("内部商品编码");
dt.Columns.Add("内部产品编码");
dt.Columns.Add("商品编码");
dt.Columns.Add("产品编码");
dt.Columns.Add("中文名称");
dt.Columns.Add("英文名称");
dt.Columns.Add("百伦分类");
dt.Columns.Add("百伦分类名称");
dt.Columns.Add("环球分类");
dt.Columns.Add("环球分类名称");
dt.Columns.Add("产品系列");
dt.Columns.Add("颜色");
dt.Columns.Add("规格1");
dt.Columns.Add("规格2");
dt.Columns.Add("规格3");
dt.Columns.Add("充电器规格");
dt.Columns.Add("商品状态");
dt.Columns.Add("同步状态");
dt.Columns.Add("同步失败原因");
//dt.Columns.Add("虚拟供应商");
dt.Columns.Add("供应商");
dt.Columns.Add("业务开发员");
dt.Columns.Add("采购员");
dt.Columns.Add("询价员");
dt.Columns.Add("质检工时");
dt.Columns.Add("采购价(CNY)");
dt.Columns.Add("币种");
dt.Columns.Add("产品重量(克)");
dt.Columns.Add("产品尺寸");
dt.Columns.Add("包装尺寸");
dt.Columns.Add("包装重量(克)");
dt.Columns.Add("包装价格");
dt.Columns.Add("包装名称");
dt.Columns.Add("中文申报名");
dt.Columns.Add("英文申报名");
dt.Columns.Add("中文配货名");
dt.Columns.Add("英文配货名");
dt.Columns.Add("海关编码");
dt.Columns.Add("产品性质");
dt.Columns.Add("交期");
dt.Columns.Add("最小订单量");
dt.Columns.Add("内部最小订单量");
dt.Columns.Add("贴标要求");
dt.Columns.Add("单位");
dt.Columns.Add("供应商链接");
dt.Columns.Add("质检要求");
dt.Columns.Add("备注");
dt.Columns.Add("开发站点");
dt.Columns.Add("销售价格");
dt.Columns.Add("创建人");
dt.Columns.Add("创建时间");
dt.Columns.Add("更新人");
dt.Columns.Add("更新时间");
string virtualPath = "";
if (isResultAll == 1)
virtualPath = $"/ExprotFile/ExprotProduct/离线导出产品库数据.csv";
else
virtualPath = $"/ExprotFile/ExprotProduct/导出产品库数据.csv";
string fullFileName = System.Web.Hosting.HostingEnvironment.MapPath("~" + virtualPath);
//创建文件夹,保存文件
string path = Path.GetDirectoryName(fullFileName);
if (path != null) Directory.CreateDirectory(path);
ExcelUtil.SaveCSV(dt, fullFileName);
bool haveData = true;
int page = 1;
int rowNum = 1; //从第二列开始写入数据
// Workbook workbook = new Workbook();
// workbook.Version = ExcelVersion.Version2013;
// Worksheet sheet = workbook.Worksheets[0];
//// workbook.SaveToFile(fullFileName); //先生成文件,标识已经在导出中
#region 设置表头名称
// int index = 1;
// sheet.SetCellValue(rowNum, index++, "已上传环球");
// sheet.SetCellValue(rowNum, index++, "sku类型");
// sheet.SetCellValue(rowNum, index++, "采购仓库");
// sheet.SetCellValue(rowNum, index++, "内部商品编码");
// sheet.SetCellValue(rowNum, index++, "内部产品编码");
// sheet.SetCellValue(rowNum, index++, "商品编码");
// sheet.SetCellValue(rowNum, index++, "产品编码");
// sheet.SetCellValue(rowNum, index++, "中文名称");
// sheet.SetCellValue(rowNum, index++, "英文名称");
// sheet.SetCellValue(rowNum, index++, "百伦分类");
// sheet.SetCellValue(rowNum, index++, "百伦分类名称");
// sheet.SetCellValue(rowNum, index++, "环球分类");
// sheet.SetCellValue(rowNum, index++, "环球分类名称");
// sheet.SetCellValue(rowNum, index++, "产品系列");
// sheet.SetCellValue(rowNum, index++, "颜色");
// sheet.SetCellValue(rowNum, index++, "规格1");
// sheet.SetCellValue(rowNum, index++, "规格2");
// sheet.SetCellValue(rowNum, index++, "规格3");
// sheet.SetCellValue(rowNum, index++, "充电器规格");
// sheet.SetCellValue(rowNum, index++, "商品状态");
// sheet.SetCellValue(rowNum, index++, "同步状态");
// sheet.SetCellValue(rowNum, index++, "同步失败原因");
// sheet.SetCellValue(rowNum, index++, "供应商");
// sheet.SetCellValue(rowNum, index++, "业务开发员");
// sheet.SetCellValue(rowNum, index++, "采购员");
// sheet.SetCellValue(rowNum, index++, "询价员");
// sheet.SetCellValue(rowNum, index++, "质检工时");
// sheet.SetCellValue(rowNum, index++, "采购价(CNY)");
// sheet.SetCellValue(rowNum, index++, "币种");
// sheet.SetCellValue(rowNum, index++, "产品重量(克)");
// sheet.SetCellValue(rowNum, index++, "产品尺寸");
// sheet.SetCellValue(rowNum, index++, "包装尺寸");
// sheet.SetCellValue(rowNum, index++, "包装重量(克)");
// sheet.SetCellValue(rowNum, index++, "包装价格");
// sheet.SetCellValue(rowNum, index++, "包装名称");
// sheet.SetCellValue(rowNum, index++, "中文申报名");
// sheet.SetCellValue(rowNum, index++, "英文申报名");
// sheet.SetCellValue(rowNum, index++, "中文配货名");
// sheet.SetCellValue(rowNum, index++, "英文配货名");
// sheet.SetCellValue(rowNum, index++, "海关编码");
// sheet.SetCellValue(rowNum, index++, "产品性质");
// sheet.SetCellValue(rowNum, index++, "交期");
// sheet.SetCellValue(rowNum, index++, "最小订单量");
// sheet.SetCellValue(rowNum, index++, "内部最小订单量");
// sheet.SetCellValue(rowNum, index++, "贴标要求");
// sheet.SetCellValue(rowNum, index++, "单位");
// sheet.SetCellValue(rowNum, index++, "供应商链接");
// sheet.SetCellValue(rowNum, index++, "质检要求");
// sheet.SetCellValue(rowNum, index++, "备注");
// sheet.SetCellValue(rowNum, index++, "开发站点");
// sheet.SetCellValue(rowNum, index++, "销售价格");
// sheet.SetCellValue(rowNum, index++, "创建人");
// sheet.SetCellValue(rowNum, index++, "创建时间");
// sheet.SetCellValue(rowNum, index++, "更新人");
// sheet.SetCellValue(rowNum, index++, "更新时间");
// rowNum++;
#endregion
while (haveData)
{
try
{
objCon.page = page;
objCon.pageSize = 5000;
var sql = GetSearchSqlStr(objCon);
var dataList = repo.Fetch<ResultAllProductInfo>(sql);
if (dataList.Count > 0)
{
foreach (var item in dataList)
{
try
{
//index = 1;
DataRow row = dt.NewRow();
var objWare = wareList.FirstOrDefault(m => m.code == item.wareCode);
#region 之前的
//sheet.SetCellValue(rowNum, index++, item.isUpApi == 1 ? "是" : "否");
//sheet.SetCellValue(rowNum, index++, Enum.GetName(typeof(EIsFinish), item.isFinish));
//sheet.SetCellValue(rowNum, index++, objWare != null ? objWare.name : "");
//sheet.SetCellValue(rowNum, index++, item.goodsCode);
//sheet.SetCellValue(rowNum, index++, item.productCode);
//sheet.SetCellValue(rowNum, index++, item.product);
//sheet.SetCellValue(rowNum, index++, item.sku.ToUpper());
//sheet.SetCellValue(rowNum, index++, item.cTitle);
//sheet.SetCellValue(rowNum, index++, item.eTitle);
//sheet.SetCellValue(rowNum, index++, item.cateBailunId.ToString());
//sheet.SetCellValue(rowNum, index++, item.cateBailunName);
//sheet.SetCellValue(rowNum, index++, item.categoryId.ToString());
//sheet.SetCellValue(rowNum, index++, item.categoryName);
//sheet.SetCellValue(rowNum, index++, item.series);
//sheet.SetCellValue(rowNum, index++, item.color);
//sheet.SetCellValue(rowNum, index++, item.size);
//sheet.SetCellValue(rowNum, index++, item.size1);
//sheet.SetCellValue(rowNum, index++, item.size2);
//sheet.SetCellValue(rowNum, index++, Enum.GetName(typeof(EChargerSpec), item.chargerSpec));
//sheet.SetCellValue(rowNum, index++, Enum.GetName(typeof(EStatus), item.status));
//sheet.SetCellValue(rowNum, index++, item.lastUpdateState == 0 ? "未同步" : item.lastUpdateState == 1 ? "已同步" : "同步失败");
//sheet.SetCellValue(rowNum, index++, item.reason);
//sheet.SetCellValue(rowNum, index++, item.deliverName);
//sheet.SetCellValue(rowNum, index++, item.bussinessName);
//sheet.SetCellValue(rowNum, index++, item.buyerName);
//sheet.SetCellValue(rowNum, index++, item.enquiryName);
//sheet.SetCellValue(rowNum, index++, item.testHour.ToString());
//sheet.SetCellValue(rowNum, index++, item.price.ToString());
//sheet.SetCellValue(rowNum, index++, item.currency);
//sheet.SetCellValue(rowNum, index++, item.weight.ToString());
//sheet.SetCellValue(rowNum, index++, item.productSize.Replace(",", "*"));
//sheet.SetCellValue(rowNum, index++, item.packingSize.Replace(",", "*"));
//sheet.SetCellValue(rowNum, index++, item.packingWeight);
//sheet.SetCellValue(rowNum, index++, item.packingPrice.ToString());
//sheet.SetCellValue(rowNum, index++, item.packingName);
//sheet.SetCellValue(rowNum, index++, item.cBaoGuan);
//sheet.SetCellValue(rowNum, index++, item.eBaoGuan);
//sheet.SetCellValue(rowNum, index++, item.cPeiHuo);
//sheet.SetCellValue(rowNum, index++, item.ePeiHuo);
//sheet.SetCellValue(rowNum, index++, item.hsCode);
//sheet.SetCellValue(rowNum, index++, item.productCharacter);
//sheet.SetCellValue(rowNum, index++, item.delivery.ToString());
//sheet.SetCellValue(rowNum, index++, item.moq.ToString());
//sheet.SetCellValue(rowNum, index++, item.internalMoq.ToString());
//sheet.SetCellValue(rowNum, index++, item.labelReq);
//sheet.SetCellValue(rowNum, index++, item.unit);
//sheet.SetCellValue(rowNum, index++, item.link);
//sheet.SetCellValue(rowNum, index++, item.zhijianReq);
//sheet.SetCellValue(rowNum, index++, HttpUtility.HtmlEncode(item.remark));
//sheet.SetCellValue(rowNum, index++, item.exploitSite);
//sheet.SetCellValue(rowNum, index++, item.salesPrice.ToString());
//sheet.SetCellValue(rowNum, index++, item.createName);
//sheet.SetCellValue(rowNum, index++, item.createTime.ToString());
//sheet.SetCellValue(rowNum, index++, item.updateName);
//sheet.SetCellValue(rowNum, index++, item.updateTime.ToString());
#endregion
row["已上传环球"] = (item.isUpApi == 1 ? "是" : "否");
row["sku类型"] = (Enum.GetName(typeof(EIsFinish), item.isFinish));
row["采购仓库"] = (objWare != null ? objWare.name : "");
row["内部商品编码"] = (item.goodsCode);
row["内部产品编码"] = (item.productCode);
row["商品编码"] = (item.product);
row["产品编码"] = (item.sku.ToUpper());
row["中文名称"] = (item.cTitle);
row["英文名称"] = (item.eTitle);
row["百伦分类"] = (item.cateBailunId.ToString());
row["百伦分类名称"] = (item.cateBailunName);
row["环球分类"] = (item.categoryId.ToString());
row["环球分类名称"] = (item.categoryName);
row["产品系列"] = (item.series);
row["颜色"] = (item.color);
row["规格1"] = (item.size);
row["规格2"] = (item.size1);
row["规格3"] = (item.size2);
row["充电器规格"] = (Enum.GetName(typeof(EChargerSpec), item.chargerSpec));
row["商品状态"] = (Enum.GetName(typeof(EStatus), item.status));
row["同步状态"] = (item.lastUpdateState == 0 ? "未同步" : item.lastUpdateState == 1 ? "已同步" : "同步失败");
row["同步失败原因"] = (item.reason);
row["供应商"] = (item.deliverName);
row["业务开发员"] = (item.bussinessName);
row["采购员"] = (item.buyerName);
row["询价员"] = (item.enquiryName);
row["质检工时"] = (item.testHour.ToString());
row["采购价(CNY)"] = (item.price.ToString());
row["币种"] = (item.currency);
row["产品重量(克)"] = (item.weight.ToString());
row["产品尺寸"] = (item.productSize.Replace(",", "*"));
row["包装尺寸"] = (item.packingSize.Replace(",", "*"));
row["包装重量(克)"] = (item.packingWeight);
row["包装价格"] = (item.packingPrice.ToString());
row["包装名称"] = (item.packingName);
row["中文申报名"] = (item.cBaoGuan);
row["英文申报名"] = (item.eBaoGuan);
row["中文配货名"] = (item.cPeiHuo);
row["英文配货名"] = (item.ePeiHuo);
row["海关编码"] = (item.hsCode);
row["产品性质"] = (item.productCharacter);
row["交期"] = (item.delivery.ToString());
row["最小订单量"] = (item.moq.ToString());
row["内部最小订单量"] = (item.internalMoq.ToString());
row["贴标要求"] = (item.labelReq);
row["单位"] = (item.unit);
row["供应商链接"] = (item.link);
row["质检要求"] = (item.zhijianReq);
row["备注"] = (HttpUtility.HtmlEncode(item.remark));
row["开发站点"] = (item.exploitSite);
row["销售价格"] = (item.salesPrice.ToString());
row["创建人"] = (item.createName);
row["创建时间"] = (item.createTime.ToString());
row["更新人"] = (item.updateName);
row["更新时间"] = (item.updateTime.ToString());
dt.Rows.Add(row);
rowNum++;
}
catch (Exception ex)
{
}
}
ExcelUtil.AppendCSV(dt, fullFileName);
dt.Clear();
page++;
}
else
haveData = false;
}
catch
{
}
}
//workbook.SaveToFile(fullFileName);
//sheet.Dispose();
//workbook.Dispose();
if (isResultAll == 1)
{
string completePath = $"~/ExprotFile/ExprotProduct/离线导出产品库数据(完成).csv";
string destFilePath = System.Web.Hosting.HostingEnvironment.MapPath(completePath);
FileInfo file = new FileInfo(fullFileName);
if (File.Exists(destFilePath))
{
FileInfo destFile = new FileInfo(destFilePath);
destFile.Delete();
}
file.MoveTo(destFilePath);
return destFilePath;
}
return fullFileName;
}
#endregion
#region 产品库供应商数据导出模块
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment