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.
203 lines
9.0 KiB
C#
203 lines
9.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Data.Entity;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using System.Web.Mvc;
|
|
using System.Data.Objects;
|
|
using Estsh.Web.Service;
|
|
using Estsh.Web.Util;
|
|
using System.Collections;
|
|
using NPOI.HSSF.UserModel;
|
|
using System.Globalization;
|
|
using System.IO;
|
|
using Estsh.Web.Models;
|
|
using IRemoteObject;
|
|
using ApServerProvider;
|
|
|
|
namespace Estsh.Core.Web.Controllers
|
|
{
|
|
public class ReworkReportController : Controller
|
|
{
|
|
ReworkReportService service = new ReworkReportService();
|
|
//
|
|
// GET: /ReworkReport/
|
|
|
|
public ActionResult Index()
|
|
{
|
|
return View();
|
|
}
|
|
|
|
public ActionResult GetModelTypeList()
|
|
{
|
|
Hashtable ht = new Hashtable();
|
|
DataTable dt = service.GetModelTypeList();
|
|
if (dt != null)
|
|
{
|
|
ArrayList arrList = DataTypeConvert.NewObject.DataTableToArrayList(dt);
|
|
ht.Add("list", arrList);
|
|
}
|
|
return Json(ht, JsonRequestBehavior.AllowGet);
|
|
}
|
|
|
|
public ActionResult GetBarCode(Pager pager, string txtSerialNumber, DateTime startDate, DateTime stopDate, string cmbTypeName, string cmbCurrStatus)
|
|
{
|
|
DataTable dt = this.service.GetBarCode(ref pager, txtSerialNumber, startDate, stopDate, cmbTypeName, cmbCurrStatus);
|
|
Hashtable result = new Hashtable();
|
|
ArrayList dataList = DataTypeConvert.NewObject.DataTableToArrayList(dt);
|
|
result.Add("rows", dataList);
|
|
result.Add("pager.totalRows", pager.totalRows);
|
|
return Json(result);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 维修明细
|
|
/// </summary>
|
|
/// <param name="txtSerialNumber">条码</param>
|
|
/// <returns></returns>
|
|
public ActionResult GetRepairDetials(Pager pager, string txtSerialNumber, DateTime startDate, DateTime stopDate)
|
|
{
|
|
DataTable dt = service.GetRepairDetials(ref pager, txtSerialNumber, startDate, stopDate);
|
|
Hashtable result = new Hashtable();
|
|
ArrayList dataList = DataTypeConvert.NewObject.DataTableToArrayList(dt);
|
|
result.Add("rows", dataList);
|
|
result.Add("pager.totalRows", pager.totalRows);
|
|
return Json(result);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 关键零件
|
|
/// </summary>
|
|
/// <param name="txtSerialNumber"></param>
|
|
/// <returns></returns>
|
|
public ActionResult GetKeyPart(Pager pager, string txtSerialNumber, DateTime startDate, DateTime stopDate)
|
|
{
|
|
DataTable dt = service.GetKeyPart(ref pager, txtSerialNumber, startDate, stopDate);
|
|
Hashtable result = new Hashtable();
|
|
ArrayList dataList = DataTypeConvert.NewObject.DataTableToArrayList(dt);
|
|
result.Add("rows", dataList);
|
|
result.Add("pager.totalRows", pager.totalRows);
|
|
return Json(result);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 非关键零件
|
|
/// </summary>
|
|
/// <param name="serialNumber"></param>
|
|
/// <returns></returns>
|
|
public ActionResult GetNotKeyPart(Pager pager, string txtSerialNumber, DateTime startDate, DateTime stopDate)
|
|
{
|
|
DataTable dt = service.GetNotKeyPart(ref pager, txtSerialNumber, startDate, stopDate);
|
|
Hashtable result = new Hashtable();
|
|
ArrayList dataList = DataTypeConvert.NewObject.DataTableToArrayList(dt);
|
|
result.Add("rows", dataList);
|
|
result.Add("pager.totalRows", pager.totalRows);
|
|
return Json(result);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 关键数据
|
|
/// </summary>
|
|
/// <param name="serialNumber"></param>
|
|
/// <returns></returns>
|
|
public ActionResult GetKeyData(Pager pager, string txtSerialNumber, DateTime startDate, DateTime stopDate)
|
|
{
|
|
DataTable dt = service.GetKeyData(ref pager, txtSerialNumber, startDate, stopDate);
|
|
Hashtable result = new Hashtable();
|
|
ArrayList dataList = DataTypeConvert.NewObject.DataTableToArrayList(dt);
|
|
result.Add("rows", dataList);
|
|
result.Add("pager.totalRows", pager.totalRows);
|
|
return Json(result);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 电功能检测
|
|
/// </summary>
|
|
/// <param name="serialNumber"></param>
|
|
/// <returns></returns>
|
|
public ActionResult GetCheck(Pager pager, string txtSerialNumber, DateTime startDate, DateTime stopDate)
|
|
{
|
|
DataTable dt = service.GetCheck(ref pager, txtSerialNumber, startDate, stopDate);
|
|
Hashtable result = new Hashtable();
|
|
ArrayList dataList = DataTypeConvert.NewObject.DataTableToArrayList(dt);
|
|
result.Add("rows", dataList);
|
|
result.Add("pager.totalRows", pager.totalRows);
|
|
return Json(result);
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 关键零件
|
|
/// </summary>
|
|
/// <param name="serialNumber"></param>
|
|
/// <returns></returns>
|
|
public ActionResult GetKeyParts(Pager pager, string txtSerialNumber, DateTime startDate, DateTime stopDate)
|
|
{
|
|
DataTable dt = service.GetKeyParts(ref pager, txtSerialNumber, startDate, stopDate);
|
|
Hashtable result = new Hashtable();
|
|
ArrayList dataList = DataTypeConvert.NewObject.DataTableToArrayList(dt);
|
|
result.Add("rows", dataList);
|
|
result.Add("pager.totalRows", pager.totalRows);
|
|
return Json(result);
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 导出
|
|
/// </summary>
|
|
/// <param name="rowCount"></param>
|
|
/// <param name="txtSerialNumber"></param>
|
|
/// <param name="startDate"></param>
|
|
/// <param name="stopDate"></param>
|
|
/// <param name="cmbTypeName"></param>
|
|
/// <param name="cmbCurrStatus"></param>
|
|
/// <returns></returns>
|
|
public ActionResult exportData(int rowCount, string txtSerialNumber, DateTime startDate, DateTime stopDate, string cmbTypeName, string cmbCurrStatus)
|
|
{
|
|
Pager pager = new Pager();
|
|
pager.pageSize = rowCount;
|
|
DataTable barCodeTable = this.service.GetBarCode(ref pager, txtSerialNumber, startDate, stopDate, cmbTypeName, cmbCurrStatus);
|
|
DataTable repairDetials = this.service.GetRepairDetials(ref pager, txtSerialNumber, startDate, stopDate);
|
|
DataTable keyPart = service.GetKeyPart(ref pager, txtSerialNumber, startDate, stopDate);
|
|
DataTable notKeyPart = service.GetNotKeyPart(ref pager, txtSerialNumber, startDate, stopDate);
|
|
DataTable keyData = service.GetKeyData(ref pager, txtSerialNumber, startDate, stopDate);
|
|
DataTable checkData = service.GetCheck(ref pager, txtSerialNumber, startDate, stopDate);
|
|
DataTable keyParts = service.GetKeyParts(ref pager, txtSerialNumber, startDate, stopDate);
|
|
|
|
|
|
Stream outputStream = Response.OutputStream;
|
|
string AbsolutePath = Request.UrlReferrer.AbsolutePath;
|
|
string url = AbsolutePath.Remove(0, Request.ApplicationPath.Length);
|
|
GridColumnService colService = new GridColumnService();
|
|
|
|
Models.SysWebGridColumn[] mainGridColumn = colService.GetColumnByUrl(url, "maingrid");
|
|
Models.SysWebGridColumn[] repairColumn = colService.GetColumnByUrl(url, "维修明细");
|
|
Models.SysWebGridColumn[] keyPartColumn = colService.GetColumnByUrl(url, "关键零件更换");
|
|
// Models.SysWebGridColumn[] notKeyPartColumn = colService.GetColumnByUrl(url, "非关键零件更换");
|
|
Models.SysWebGridColumn[] keyDataColumn = colService.GetColumnByUrl(url, "关键数据");
|
|
Models.SysWebGridColumn[] checkDataColumn = colService.GetColumnByUrl(url, "电功能检测");
|
|
Models.SysWebGridColumn[] keyPartsColumn = colService.GetColumnByUrl(url, "关键零件");
|
|
|
|
HSSFWorkbook workbook = NPOIExcelTools.DataTableToWorkbook(mainGridColumn,barCodeTable, "条码");//将汇总表转换为Workbook
|
|
NPOIExcelTools.AddSheet(workbook, repairColumn, repairDetials, "维修明细");//添加明细Sheet
|
|
NPOIExcelTools.AddSheet(workbook, keyPartColumn, keyPart, "关键零件更换");//添加明细Sheet
|
|
// NPOIExcelTools.AddSheet(workbook, notKeyPartColumn, notKeyPart, "非关键零件更换");//添加明细Sheet
|
|
NPOIExcelTools.AddSheet(workbook, keyDataColumn, keyData, "关键数据");//添加明细Sheet
|
|
NPOIExcelTools.AddSheet(workbook, checkDataColumn, checkData, "电功能检测");//添加明细Sheet
|
|
NPOIExcelTools.AddSheet(workbook, keyPartsColumn, keyParts, "关键零件");//添加明细Sheet
|
|
|
|
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();
|
|
return null;
|
|
}
|
|
}
|
|
}
|