using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using Estsh.BLL; using System.Collections; using System.Data; using Estsh.Web.Util; using System.IO; using Estsh.Web.Service; using NPOI.HSSF.UserModel; /*************************************************************************************************** * * 作者:王勇 * * *************************************************************************************************/ namespace Estsh.Core.Web.Controllers { /// /// /// public class XTShipDefineController : Controller { private XTShipDefineService service = new XTShipDefineService(); // // GET: /XTShipDefine/ public ActionResult Index() { return View(); } string _where = ""; public string SetWhere() { int condition = 0; _where = ""; DateTime startDate = Request.RequestContext.HttpContext.Timestamp.AddDays(-1); DateTime endDate = Request.RequestContext.HttpContext.Timestamp; string starttime = startDate.ToString("yyyy-MM-dd HH:mm:ss"); string endtime = endDate.ToString("yyyy-MM-dd HH:mm:ss"); if (!string.IsNullOrEmpty(Request["cbModelName"])) { condition++; _where += " and c.model_id = '" + Request["cbModelName"].ToString().Trim() + "'"; } if (!string.IsNullOrEmpty(Request["txtVIN"])) { condition++; _where += " and b.VIN like '%" + Request["txtVIN"].Trim() + "%'"; } if (!string.IsNullOrEmpty(Request["txtSN"])) { condition++; _where += " and (g.serial_number like '%" + Request["txtSN"].Trim() + "%' OR g.csn like '%" + Request["txtSN"].Trim() + "%' )"; } if (!string.IsNullOrEmpty(Request["txtstatus"])) { condition++; _where += " and a.status = '" + Request["txtstatus"].Trim() + "'"; } if (!string.IsNullOrEmpty(Request["txtStartTime"]) && !string.IsNullOrEmpty(Request["txtEndTime"])) { condition++; _where += " and a.create_ymd+' '+a.create_hms >= '" + Request["txtStartTime"].Trim() + "'"; _where += " and a.create_ymd+' '+a.create_hms <= '" + Request["txtEndTime"].Trim() + "'"; } if (condition == 0) { _where += " and a.create_ymd+' '+a.create_hms >= '" + starttime + "'"; _where += " and a.create_ymd+' '+a.create_hms <= '" + endtime + "'"; } return _where; } /// /// 获取列表数据 /// /// 菜单名称 /// 分页 /// 排序方式 /// 排序列 /// public ActionResult XTShipDefineListByPage(Pager pager) { int totalCount = 0; _where = SetWhere(); DataTable dtQuery = service.XTShipDefineListByPage(_where, pager, ref totalCount); Hashtable result = new Hashtable(); result.Add("rows", DataTypeConvert.NewObject.DataTableToArrayList(dtQuery)); result.Add("pager.totalRows", totalCount); return Json(result); } /// ///车型集合 /// /// 数据集 public ActionResult GetModelName() { Hashtable resault = new Hashtable(); ArrayList list = service.GetModelName(); resault.Add("list", list); return Json(resault, JsonRequestBehavior.AllowGet); } /// /// 导出数据到Excel /// BY NOAH /// /// /// /// /// /// /// public ActionResult exportData(Pager pager, int a, String sort, String direction, String isPage) { int totalCount = 0; _where = SetWhere(); DataTable dataHt = this.service.XTShipDefineListByPage(_where, pager, ref totalCount); 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("发运状态"); headRow.CreateCell(7).SetCellValue("VIN"); headRow.CreateCell(8).SetCellValue("接收日期"); headRow.CreateCell(9).SetCellValue("接收时间"); headRow.CreateCell(10).SetCellValue("发运日期"); headRow.CreateCell(11).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]["order_no"].ToString()); dataRow.CreateCell(1).SetCellValue(dataHt.Rows[i]["PNRSTRING"].ToString()); dataRow.CreateCell(2).SetCellValue(dataHt.Rows[i]["model_name"].ToString()); dataRow.CreateCell(3).SetCellValue(dataHt.Rows[i]["part_no"].ToString()); dataRow.CreateCell(4).SetCellValue(dataHt.Rows[i]["part_spec"].ToString()); dataRow.CreateCell(5).SetCellValue(dataHt.Rows[i]["serial_number"].ToString()); dataRow.CreateCell(6).SetCellValue(dataHt.Rows[i]["status"].ToString()); dataRow.CreateCell(7).SetCellValue(dataHt.Rows[i]["VIN"].ToString()); dataRow.CreateCell(8).SetCellValue(dataHt.Rows[i]["create_ymd"].ToString()); dataRow.CreateCell(9).SetCellValue(dataHt.Rows[i]["create_hms"].ToString()); dataRow.CreateCell(10).SetCellValue(dataHt.Rows[i]["ship_create_ymd"].ToString()); dataRow.CreateCell(11).SetCellValue(dataHt.Rows[i]["ship_create_hms"].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; } } }