You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

148 lines
5.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Estsh.Web.Service;
using System.Data;
using System.Collections;
using NPOI.HSSF.UserModel;
using System.IO;
using Estsh.Web.Util;
namespace Estsh.Core.Web.Controllers
{
public class PdlineOffineQueryController : Controller
{
PdlineOffineQueryService completeSetService = new PdlineOffineQueryService();
//
// GET: /Menu/
public ActionResult Index()
{
return View();
}
public ActionResult GetPdline()
{
Hashtable resault = new Hashtable();
ArrayList list = completeSetService.GetPdline();
resault.Add("list", list);
return Json(resault, JsonRequestBehavior.AllowGet);
}
/// <summary>
/// 获取列表数据
/// </summary>
/// <param name="PartMasterName">菜单名称</param>
/// <param name="pager">分页</param>
/// <param name="direction">排序方式</param>
/// <param name="sort">排序列</param>
/// <returns></returns>
public ActionResult getShippingListByPage(String txtStartTime, String txtEndTime, String shipping_sn, string cbPdline, Pager pager)
{
if (string.IsNullOrEmpty(txtStartTime) || txtStartTime=="null")
{
return null;
}
if (string.IsNullOrEmpty(txtEndTime) || txtEndTime == "null")
{
return null;
}
if (string.IsNullOrEmpty(cbPdline) || cbPdline == "null")
{
return null;
}
Hashtable result = new Hashtable();
result.Add("pager.pageNo", pager.pageNo);
ArrayList menuList = this.completeSetService.getShippingListByPage(txtStartTime, txtEndTime, cbPdline);
result.Add("rows", menuList);
//result.Add("pager.totalRows", total);
//result.Add("sort", sort);
//result.Add("direction", direction);
return Json(result);
}
/// <summary>
/// 导出数据到Excel
/// </summary>
/// <param name="pager"></param>
/// <param name="txtOrderNo"></param>
/// <param name="sort"></param>
/// <param name="direction"></param>
/// <param name="isPage"></param>
/// <returns></returns>
public ActionResult exportData(String txtStartTime, String txtEndTime, String shipping_sn, Pager pager, String sort, String direction, String isPage)
{
Boolean paging = false;
if (isPage == null || "".Equals(isPage))
{
paging = false;
}
else
{
if ("1".Equals(isPage.Trim()))
{
paging = true;
}
else
{
paging = false;
}
}
DataTable dataHt = this.completeSetService.getShippingExport(txtStartTime, txtEndTime, shipping_sn, pager);
HSSFWorkbook workbook = new HSSFWorkbook();
Stream outputStream = Response.OutputStream;
HSSFSheet sheet = (HSSFSheet)workbook.CreateSheet("产线下线查询");
try
{
if (workbook != null)
{
HSSFRow headRow = (HSSFRow)sheet.CreateRow(0);
headRow.CreateCell(0).SetCellValue("产线名称");
headRow.CreateCell(1).SetCellValue("车型");
headRow.CreateCell(2).SetCellValue("配置名称");
headRow.CreateCell(3).SetCellValue("条码");
headRow.CreateCell(4).SetCellValue("总成描述");
headRow.CreateCell(5).SetCellValue("上线时间");
headRow.CreateCell(6).SetCellValue("下线时间");
}
for (int i = 0; i < dataHt.Rows.Count; i++)
{
int row = i + 1;
HSSFRow dataRow = (HSSFRow)sheet.CreateRow(row);
dataRow.CreateCell(0).SetCellValue(dataHt.Rows[i]["pdline_desc"].ToString());
dataRow.CreateCell(1).SetCellValue(dataHt.Rows[i]["type_name"].ToString());
dataRow.CreateCell(2).SetCellValue(dataHt.Rows[i]["model_name"].ToString());
dataRow.CreateCell(3).SetCellValue(dataHt.Rows[i]["serial_number"].ToString());
dataRow.CreateCell(4).SetCellValue(dataHt.Rows[i]["part_spec"].ToString());
dataRow.CreateCell(3).SetCellValue(dataHt.Rows[i]["in_pdline_time"].ToString());
dataRow.CreateCell(4).SetCellValue(dataHt.Rows[i]["out_pdline_time"].ToString());
}
Response.Clear();
workbook.Write(outputStream);
Response.Buffer = true;
Response.AppendHeader("Content-Disposition", "attachment;filename=产线下线查询.xls");
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = "application/vnd.ms-excel";
Response.Flush();
}
catch (Exception e)
{
}
finally
{
workbook = null;
}
return null;
}
}
}