using System; using JHReport.Common; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Data; using System.Reflection; using System.Text; using JHReport.BLL; using Warehouse.Code; using Warehouse.DAL.ShipmentsReportDal; using System.Collections; using System.Text.RegularExpressions; using System.IO; using OfficeOpenXml; namespace Warehouse.Controllers.Report { /// /// /add by zhangxiaolong /// [RoutePrefix("Report")] public class ReportController : Controller { static DbUtility dbhelp = new DbUtility(System.Configuration.ConfigurationManager.ConnectionStrings["mesConn"].ToString(), DbProviderType.SqlServer); [Route("Dashboard/SiteCapacity")] public ActionResult SiteCapacity() { if (Common.DBType == (int)DB.mysql) { return View("~/Views/Report/SiteCapacity.cshtml"); } else { //return View("~/Views/Report/SiteCapacityMS.cshtml"); return View("~/Views/Report/SiteCapacityMSLine.cshtml"); } } [Route("Dashboard/Products")] // GET: Report public ActionResult Products() { return View("~/Views/Config/Products.cshtml"); } //[Authorize] //[MyFilter2Attribute] /// /// 生产在制 /// /// [Route("Dashboard/ProduincReport")] // GET: Report public ActionResult ProduincReport() { return View("~/Views/Report/ProduincReport.cshtml"); } //[Authorize] //[MyFilter2Attribute] /// /// 仓库出货 /// /// [Route("Dashboard/ShipmentsReport")] // GET: Report public ActionResult ShipmentsReport() { return View("~/Views/Report/ShipmentsReport.cshtml"); } [Route("Runcard")] // GET: Report public ActionResult RunCard() { return View(); } [Route("Runcard01")] public ActionResult RunCardNew() { return View("~/Views/Report/RunCard01.cshtml"); } //[Authorize] //[MyFilter2Attribute] /// /// 质量评审报表 /// /// [Route("Dashboard/QC")] public ActionResult QC() { return View("~/Views/Report/QC.cshtml"); } /// /// 组件班组产量 /// /// [Route("Dashboard/ShiftProduction")] public ActionResult ShiftProduction() { return View("~/Views/Report/YL/ShiftProduction.cshtml"); } /// /// 分档机组件查询 /// /// [Route("Dashboard/StepperComponents")] public ActionResult StepperComponents() { return View("~/Views/Report/YL/StepperComponents.cshtml"); } /// /// 最终测试数据 /// /// [Route("Dashboard/TestDataDetail")] public ActionResult TestDataDetail() { return View("~/Views/Report/TestDataDetail.cshtml"); } /// /// 耐压测试 /// /// [Route("Dashboard/PressureResistant")] public ActionResult PressureResistant() { return View("~/Views/Report/PressureResistant.cshtml"); } /// /// 最终测试数据(衰减数据) /// /// [Route("Dashboard/TestDataDetailFake")] public ActionResult TestDataDetailFake() { return View("~/Views/Report/TestDataDetailFake.cshtml"); } /// /// 多次测试数据 /// /// [Route("Dashboard/MultipleTestDetail")] public ActionResult MultipleTestDetail() { return View("~/Views/Report/MultipleTestDetail.cshtml"); } /// /// 包装删除记录 /// /// [Route("Dashboard/PackDelHistory")] public ActionResult PackDelHistory() { return View("~/Views/Report/PackDelHistory.cshtml"); } /// /// 工单各站点在制 /// /// [Route("Dashboard/WOprocess")] public ActionResult WOprocess() { return View("~/Views/Report/WOprocess.cshtml"); } /// /// 包装详细报表 /// /// [Route("Dashboard/PackOutput")] public ActionResult PackOutput() { return View("~/Views/Report/PackOutput.cshtml"); } /// /// 新包装详细报表 /// /// [Route("Dashboard/PackOutputDetail")] public ActionResult PackOutputDetail() { return View("~/Views/Report/YL/PackOutputDetail.cshtml"); } [Route("JK")] public ActionResult JK() { return View(); } /// /// 工单达成情况 /// /// [Route("Dashboard/WOFinishStatus")] public ActionResult WOFinishStatus() { return View("~/Views/Report/WOFinishStatus.cshtml"); } //订单良率 [Route("Dashboard/SpecifiedChanLiangrate")] public ActionResult SpecifiedChanLiangrate() { return View("~/Views/Report/SpecifiedChanLiangrate.cshtml"); } //综合良率 [Route("Dashboard/ComprehensiveYield")] public ActionResult ComprehensiveYield() { return View("~/Views/Report/ComprehensiveYield.cshtml"); } //echarts视图 [Route("Dashboard/EchartsView")] public ActionResult EchartsView() { return View("~/Views/Report/EchartsView.cshtml"); } /// /// 库存报表 /// /// [Route("Dashboard/Inventory")] public ActionResult Inventory() { return View("~/Views/Report/Inventory.cshtml"); } [Route("Dashboard/DogownEntry")] public ActionResult DogownEntry() { return View("~/Views/Report/DogownEntry.cshtml"); } //工单条码登记 [Route("Dashboard/WorkOrderLotQty")] public ActionResult WorkOrderLotQty() { return View("~/Views/Report/WorkOrderLotQty.cshtml"); } //破片率登记 [Route("Dashboard/FragmentRegister")] public ActionResult FragmentRegister() { return View("~/Views/Report/FragmentRegister.cshtml"); } //材料追溯 [Route("Dashboard/MaterialTraceability")] public ActionResult MaterialTraceability() { return View("~/Views/Report/MaterialTraceability.cshtml"); } //收发存报表 [Route("Dashboard/ReceivedAndDepositController")] public ActionResult ReceivedAndDepositController() { return View("~/Views/Report/ReceivedAndDepositController.cshtml"); } //CTM报表 [Route("Dashboard/FinalTestRoomData")] public ActionResult FinalTestRoomData() { return View("~/Views/Report/FinalTestRoomData.cshtml"); } //返修报表 [Route("Dashboard/Repair")] public ActionResult Repair() { return View("~/Views/Report/Repair.cshtml"); } /// /// 订单达成率 /// /// [Route("Dashboard/BarCodeAndQualityRate")] public ActionResult BarCodeAndQualityRate() { return View("~/Views/Report/BarCodeAndQualityRate.cshtml"); } /// /// 结批率 /// /// [Route("Dashboard/BatchRate")] public ActionResult BatchRate() { return View("~/Views/Report/BatchRate.cshtml"); } /// /// 工单状态 /// /// [Route("Dashboard/WOStatus")] public ActionResult WOStatus() { return View("~/Views/Report/WOStatus.cshtml"); } [Route("Dashboard/SuppliesConsumed")] public ActionResult SuppliesConsumed() { return View("~/Views/Report/SuppliesConsumed.cshtml"); } [Route("Dashboard/BatchDataOfCell")] public ActionResult BatchDataOfCell() { return View("~/Views/Report/BatchDataOfCell.cshtml"); } [Route("Dashboard/LinePositions")] public ActionResult LinePositions() { return View("~/Views/Report/LinePositions.cshtml"); } [Route("Dashboard/FinishProductLinePositions")] public ActionResult FinishProductLinePositions() { return View("~/Views/Report/FinishProductLinePositions.cshtml"); } //原料仓收货 [Route("Dashboard/Receiving")] public ActionResult Receiving() { return View("~/Views/MaterialSilo/Receiving.cshtml"); } //产量报表 [Route("Dashboard/YieldForm")] public ActionResult YieldForm() { return View("~/Views/Report/YieldForm.cshtml"); } //包装产能统计 [Route("Dashboard/PackCapacity")] public ActionResult PackCapacity() { return View("~/Views/Report/PackCapacity.cshtml"); } //每日投产包装完成率 [Route("Dashboard/DayPackComplete")] public ActionResult DayPackComplete() { return View("~/Views/Report/DayPackComplete.cshtml"); } //生码未包装组件查询 [Route("Dashboard/UnPackComponent")] public ActionResult UnPackComponent() { return View("~/Views/Report/UnPackComponent.cshtml"); } //材料批号查询 [Route("Dashboard/MaterialBatchNumber")] public ActionResult MaterialBatchNumber() { return View("~/Views/Report/MaterialBatchNumber.cshtml"); } //本月每天各工位产能 [Route("Dashboard/CurEverydayStationCapacity")] public ActionResult CurEverydayStationCapacity() { return View("~/Views/Report/CurEverydayStationCapacity.cshtml"); } //本月每天各工位产能 [Route("Dashboard/StationClassYield")] public ActionResult StationClassYield() { return View("~/Views/Report/StationClassYield.cshtml"); } //前道产能看板 [Route("Dashboard/BeforeCapacity")] public ActionResult BeforeCapacity() { return View("~/Views/Report/BeforeCapacity.cshtml"); } //前道产能看板 [Route("Dashboard/AfterCapacity")] public ActionResult AfterCapacity() { return View("~/Views/Report/AfterCapacity.cshtml"); } //包装产能看板 [Route("Dashboard/TotalCapacity")] public ActionResult TotalCapacity() { return View("~/Views/Report/TotalCapacity.cshtml"); } //永臻晶科报表 [Route("Dashboard/YongzhenJinke")] public ActionResult YongzhenJinke() { return View("~/Views/Report/YongzhenJinke.cshtml"); } //一次碎片率 [Route("Dashboard/FragmentationRate")] public ActionResult FragmentationRate() { return View("~/Views/Report/YL/FragmentationRate.cshtml"); } //一次成型率 [Route("Dashboard/OnceMoldingRate")] public ActionResult OnceMoldingRate() { return View("~/Views/Report/YL/OnceMoldingRate.cshtml"); } //数据查询 [Route("Dashboard/DataQuery")] public ActionResult DataQuery() { return View("~/Views/Report/YL/Dataquery.cshtml"); } //上档率 [Route("Dashboard/UpshiftRate")] public ActionResult UpshiftRate() { return View("~/Views/Report/YL/UpshiftRate.cshtml"); } //车间质量问题统计 [Route("Dashboard/QualityStatistics")] public ActionResult QualityStatistics() { return View("~/Views/Report/YL/QualityStatistics.cshtml"); } //在制品 [Route("Dashboard/WIPStatistics")] public ActionResult WIPStatistics() { return View("~/Views/Report/YL/WIPStatistics.cshtml"); } //条码补打报表 [Route("Dashboard/BarcodeReprint")] public ActionResult BarcodeReprint() { return View("~/Views/Report/BarcodeReprint.cshtml"); } //泛海CTM报表 [Route("Dashboard/CTMReport")] public ActionResult CTMReport() { return View("~/Views/Report/CTMReport.cshtml"); } //泛海材料批号报表 [Route("Dashboard/MaterialLotReport")] public ActionResult MaterialLotReport() { return View("~/Views/Report/MaterialLotReport.cshtml"); } [Route("Sitecapacity")] public ActionResult Sitecapacity() { return View(); } //[Route("WOStatusExcel/{wo=}/{sales=}")] //[HttpGet] //public FileContentResult WOStatusToExcel(string wo, string sales) //{ // DataTable dt = new ReportService().WOStatusInfoDT(wo == "Null" ? "" : wo, sales == "Null" ? "" : sales); // //string[] AryColnameChinese = { "工单号","订单号","组件条码","投产时间","当前站别","组件等级","实测功率" }; // dt.Columns[0].ColumnName = "组件条码"; // dt.Columns[1].ColumnName = "工单号"; // dt.Columns[2].ColumnName = "订单号"; // dt.Columns[3].ColumnName = "投产时间"; // dt.Columns[4].ColumnName = "当前站别"; // dt.Columns[5].ColumnName = "EL等级"; // dt.Columns[6].ColumnName = "组件等级"; // dt.Columns[7].ColumnName = "实测功率"; // return ExportExcel(dt, "WOStatus"); //} [Route("WOStatusExcel")] [HttpPost] public FileContentResult WOStatusToExcel(List para) { string wo = para[0]; string sales = para[1]; //仓库 库位号 客户订单 功率/W 栅数 铭牌型号 单托/片 托数 合计块数 合计MW 型 材 接线盒类型 等 级 柜 号 DataTable dt = new ReportService().WOStatusInfoDT(wo == "Null" ? "" : wo, sales == "Null" ? "" : sales); dt.Columns[0].ColumnName = "组件条码"; dt.Columns[1].ColumnName = "工单号"; dt.Columns[2].ColumnName = "订单号"; dt.Columns[3].ColumnName = "投产时间"; dt.Columns[4].ColumnName = "当前站别"; dt.Columns[5].ColumnName = "EL等级"; dt.Columns[6].ColumnName = "组件等级"; dt.Columns[7].ColumnName = "实测功率"; return ExportExcel(dt, "WOStatus"); } //质量报表导出excel [Route("QCExcel/{bt}/{et=}/{lot=}/{workshop=}/{workorder=}/{station=}")] [HttpGet] public FileContentResult QCExportToExcel(string bt, string et, string lot, string workshop, string workorder, string station) { DataTable dt = new ReportService().QCQueryInfo(bt == "Null" ? "" : bt , et == "Null" ? "" : et , lot == "Null" ? "" : lot , workshop == "Null" ? "" : workshop //, status == "Null" ? "" : status , workorder == "Null" ? "" : workorder , station == "Null" ? "" : station); //dt.Columns[0].ColumnName = "序号"; dt.Columns[0].ColumnName = "组件序列号"; dt.Columns[1].ColumnName = "订单号"; dt.Columns[2].ColumnName = "工单号"; dt.Columns[3].ColumnName = "组件状态"; dt.Columns[4].ColumnName = "等级"; //dt.Columns[5].ColumnName = "扣留时间"; dt.Columns[5].ColumnName = "不良站点"; dt.Columns[6].ColumnName = "不良类型"; dt.Columns[7].ColumnName = "不良位置"; dt.Columns[8].ColumnName = "不良描述"; dt.Columns[9].ColumnName = "不良标准"; dt.Columns[10].ColumnName = "扣留状态"; dt.Columns[11].ColumnName = "扣留人"; dt.Columns[12].ColumnName = "扣留时间"; dt.Columns[13].ColumnName = "最终操作状态"; dt.Columns[14].ColumnName = "最终操作人"; dt.Columns[15].ColumnName = "最终操作时间"; return ExportExcel(dt, "QCReport"); } //晶科报表导出excel [Route("JKExcel/{salesorder=}/{lot=}")] [HttpGet] public FileContentResult JKExportExcel(string salesorder, string lot) { DataTable dt = new ReportService().JKQueryInfo(salesorder == "Null" ? "" : salesorder, lot == "Null" ? "" : lot); return ExportExcel(dt, "JKReport"); } //包装删除报表导出excel [Route("PackDelHistoryExcel/{lot=}")] [HttpGet] public FileContentResult PackDelHistoryExportExcel(string lot) { DataTable dt = new ReportService().PackDelHistoryQueryInfoDT(lot == "Null" ? "" : lot); return ExportExcel(dt, "PackDelHistoryReport"); } //工单各站点在制excel [Route("WOprocessExcel/{wo=}")] [HttpGet] public FileContentResult WOprocessExportExcel(string wo) { DataTable dt = new ReportService().WOprocessQueryInfoDT(wo == "Null" ? "" : wo); return ExportExcel(dt, "WOprocessReport"); } ////工单达成情况excel //[Route("WOFinishStatusExcel/{wo=}/{et=}/{customer=}/{bt =}/{sales=}")] //[HttpGet] //public FileContentResult WOFinishStatusExcel(string wo, string sales, string customer, string bt, string et) //{ // DataTable dt = new ReportService().WOFinishStatusDT(wo == "Null" ? "" : wo, // sales == "Null" ? "" : sales, // customer == "Null" ? "" : customer, // bt == "Null" ? "" : bt, // et == "Null" ? "" : et); // return ExportExcel(dt, "WOFinishStatus"); //} [Route("WOFinishStatusExcel")] [HttpPost] public FileContentResult WOFinishStatusExcel(List para) { string wo = para[0]; string sales = para[1]; string customer = para[2]; string bt = para[3]; string et = para[4]; //仓库 库位号 客户订单 功率/W 栅数 铭牌型号 单托/片 托数 合计块数 合计MW 型 材 接线盒类型 等 级 柜 号 DataTable dt = new ReportService().WOFinishStatusDT(wo == "Null" ? "" : wo, sales == "Null" ? "" : sales, customer == "Null" ? "" : customer, bt == "Null" ? "" : bt, et == "Null" ? "" : et); dt.Columns[0].ColumnName = "工单日期"; dt.Columns[1].ColumnName = "生码日期"; dt.Columns[2].ColumnName = "客户"; dt.Columns[3].ColumnName = "订单号"; dt.Columns[4].ColumnName = "工单号"; dt.Columns[5].ColumnName = "生产批次"; dt.Columns[6].ColumnName = "组件功率"; dt.Columns[7].ColumnName = "工单数量"; dt.Columns[8].ColumnName = "叠层数量"; dt.Columns[9].ColumnName = "装框数量"; dt.Columns[10].ColumnName = "清洗数量"; dt.Columns[11].ColumnName = "电池片厂家"; dt.Columns[12].ColumnName = "电池片档位"; dt.Columns[13].ColumnName = "组件等级分布"; dt.Columns[14].ColumnName = "测试功率"; return ExportExcel(dt, "WOFinishStatusReport"); //return ExportExcel(dt, "ShipmentsReports"); } //测试数据明细导出excel 旧版本 [Route("TestDataDetail2Excel/{lot=}/{wo=}/{bt=}/{et=}/{workshop=}/{pallet_nbr=}/{sale_order=}/{containerno=}/{check_nbr=}")] [HttpGet] public FileContentResult TestDataDetailExport2Excel(string lot, string wo, string bt, string et, string workshop, string pallet_nbr, string sale_order, string containerno, string check_nbr) { DataTable dt = new ReportService().TestDataDetailQueryInfo(lot == "Null" ? "" : lot , wo == "Null" ? "" : wo , bt == "Null" ? "" : bt , et == "Null" ? "" : et , workshop == "Null" ? "" : workshop , pallet_nbr == "Null" ? "" : pallet_nbr , sale_order == "Null" ? "" : sale_order , containerno == "Null" ? "" : containerno , check_nbr == "Null" ? "" : check_nbr ); dt.Columns[0].ColumnName = "产品类型"; dt.Columns[1].ColumnName = "功率档位"; dt.Columns[2].ColumnName = "测试时间"; dt.Columns[3].ColumnName = "测试机台号"; dt.Columns[4].ColumnName = "柜号"; dt.Columns[5].ColumnName = "托盘号"; dt.Columns[6].ColumnName = "组件序列号"; dt.Columns[7].ColumnName = "Pmax"; dt.Columns[8].ColumnName = "Isc"; dt.Columns[9].ColumnName = "Voc"; dt.Columns[10].ColumnName = "Ipm"; dt.Columns[11].ColumnName = "Vpm"; dt.Columns[12].ColumnName = "FF"; dt.Columns[13].ColumnName = "电流档位"; return ExportExcel(dt, "TestDataDetailReport"); } //测试数据明细导出excel (山东客户) [Route("TestDataDetailExcel")] [HttpPost] public FileContentResult TestDataDetailExportExcel(List para) { string lot = para[0]; string wo = para[1]; string bt = para[2]; string et = para[3]; string workshop = para[4]; string pallet_nbr = para[5]; string sale_order = para[6]; string containerno = para[7]; string check_nbr = para[8]; if (workshop.ToUpper() == "NULL") { workshop = ""; } DataTable dt = new ReportService().TestDataDetailQueryInfo(lot, wo, bt, et, workshop, pallet_nbr, sale_order, containerno, check_nbr ); int i = 0; dt.Columns[i++].ColumnName = "柜号"; dt.Columns[i++].ColumnName = "托盘号"; dt.Columns[i++].ColumnName = "包装顺序"; dt.Columns[i++].ColumnName = "工单号"; dt.Columns[i++].ColumnName = "订单号"; dt.Columns[i++].ColumnName = "组件序列号"; dt.Columns[i++].ColumnName = "测试日期时间"; dt.Columns[i++].ColumnName = "测试机台"; dt.Columns[i++].ColumnName = "功率档位"; dt.Columns[i++].ColumnName = "电流档位"; dt.Columns[i++].ColumnName = "外观等级"; dt.Columns[i++].ColumnName = "EL等级"; dt.Columns[i++].ColumnName = "最终等级"; dt.Columns[i++].ColumnName = "VOC"; dt.Columns[i++].ColumnName = "ISC"; dt.Columns[i++].ColumnName = "Pmax"; dt.Columns[i++].ColumnName = "VPM"; dt.Columns[i++].ColumnName = "IPM"; dt.Columns[i++].ColumnName = "FF"; dt.Columns[i++].ColumnName = "RS"; dt.Columns[i++].ColumnName = "RSH"; dt.Columns[i++].ColumnName = "EFF"; dt.Columns[i++].ColumnName = "ENV_TEMP"; dt.Columns[i++].ColumnName = "Tmod"; dt.Columns[i++].ColumnName = "电池片厂家"; dt.Columns[i++].ColumnName = "单片功率"; dt.Columns[i++].ColumnName = "电池片颜色"; dt.Columns[i++].ColumnName = "电池片等级"; dt.Columns[i++].ColumnName = "电池片类型"; dt.Columns[i++].ColumnName = "电池片效率档"; //dt.Columns[i++].ColumnName = "转换效率"; dt.Columns[i++].ColumnName = "托盘状态"; dt.Columns[i++].ColumnName = "片源用量"; dt.Columns[i++].ColumnName = "额定功率"; dt.Columns[i++].ColumnName = "投入产出比"; dt.Columns[i++].ColumnName = "晶体类型"; dt.Columns[i++].ColumnName = "片源规格"; dt.Columns[i++].ColumnName = "焊接机台号"; return ExportExcel(dt, "TestDataDetailReport"); } //九江正泰最终数据导出(衰减数据) [Route("TestDataDetailFakeExcel/{lot=}/{wo=}/{bt=}/{et=}/{workshop=}/{pallet_nbr=}/{sale_order=}/{containerno=}/{check_nbr=}")] [HttpGet] public FileContentResult TestDataDetailExportFakeExcel(string lot, string wo, string bt, string et, string workshop, string pallet_nbr, string sale_order, string containerno, string check_nbr) { DataTable dt = new ReportService().TestDataDetailQueryInfoFake(lot == "Null" ? "" : lot , wo == "Null" ? "" : wo , bt == "Null" ? "" : bt , et == "Null" ? "" : et , workshop == "Null" ? "" : workshop , pallet_nbr == "Null" ? "" : pallet_nbr , sale_order == "Null" ? "" : sale_order , containerno == "Null" ? "" : containerno , check_nbr == "Null" ? "" : check_nbr ); dt.Columns[0].ColumnName = "产品类型"; dt.Columns[1].ColumnName = "功率档位"; dt.Columns[2].ColumnName = "测试时间"; dt.Columns[3].ColumnName = "测试机台号"; dt.Columns[4].ColumnName = "柜号"; dt.Columns[5].ColumnName = "托盘号"; dt.Columns[6].ColumnName = "组件序列号"; dt.Columns[7].ColumnName = "Pmax"; dt.Columns[8].ColumnName = "Isc"; dt.Columns[9].ColumnName = "Voc"; dt.Columns[10].ColumnName = "Ipm"; dt.Columns[11].ColumnName = "Vpm"; dt.Columns[12].ColumnName = "FF"; dt.Columns[13].ColumnName = "电流档位"; return ExportExcel(dt, "TestDataDetailReportFake(衰减数据)"); } //多次测试数据明细导出excel [Route("MultipleTestDetailExcel/{lot=}/{wo=}/{bt=}/{et=}/{workshop=}")] [HttpGet] public FileContentResult MultipleTestDetailExportExcel(string lot, string wo, string bt, string et, string workshop) { DataTable dt = new ReportService().MultipleTestDetailQueryInfo(lot == "Null" ? "" : lot , wo == "Null" ? "" : wo , bt == "Null" ? "" : bt , et == "Null" ? "" : et , workshop == "Null" ? "" : workshop ); //, pallet == "Null" ? "" : pallet return ExportExcel(dt, "MultipleTestDetailReport"); } ////包装产量报表导出excel //[Route("PackoutputExcel/{workshop}/{bt}/{et}/{lot}/{container}/{pallet}/{check}")] //[HttpGet] //public FileContentResult PackOutputExportExcel(string workshop, string bt, string et, string lot, string container, string pallet, string check) //{ // DataTable dt = new ReportService().PackOutputQueryInfo(workshop == "Null" ? "" : workshop // , bt == "Null" ? "" : bt // , et == "Null" ? "" : et // , lot == "Null" ? "" : lot // , container == "Null" ? "" : container // , pallet == "Null" ? "" : pallet // , check == "Null" ? "" : check); // return ExportExcel(dt, "PackOutputReport"); //} //修改#问题 add bby zhangxiaolong //包装产量报表导出excel(旧版本) [Route("PackoutputS2Excel")] [HttpPost] public FileContentResult PackOutputExportS2Excel(List para) { string bt = para[0]; string et = para[1]; //string containerno = para.containerno; //string pallet = para.palletno; //string lot = para.lotno; string check = para[6]; string workshop = para[2]; string containerno_old = para[3]; string trim = Regex.Replace(containerno_old, @"\s", " "); string container = "'" + trim.Replace(" ", "','") + "'"; string lot_old = para[4]; string trim1 = Regex.Replace(lot_old, @"\s", " "); string lot = "'" + trim1.Replace(" ", "','") + "'"; string pallet_old = para[5]; string trim2 = Regex.Replace(pallet_old, @"\s", " "); string pallet = "'" + trim2.Replace(" ", "','") + "'"; string workorder = para[7]; DataTable dt = new ReportService().PackOutputQueryInfo(workshop.ToUpper() == "Null" ? "" : workshop , bt.ToUpper() == "Null" ? "" : bt , et.ToUpper() == "Null" ? "" : et , lot.ToUpper() == "Null" ? "" : lot , container.ToUpper() == "Null" ? "" : container , pallet.ToUpper() == "Null" ? "" : pallet , check.ToUpper() == "Null" ? "" : check , workorder.ToUpper() == "Null" ? "" : workorder); int i = 0; dt.Columns[i++].ColumnName = "托盘号"; dt.Columns[i++].ColumnName = "柜号"; dt.Columns[i++].ColumnName = "组件序列号"; dt.Columns[i++].ColumnName = "工单号"; dt.Columns[i++].ColumnName = "订单号"; dt.Columns[i++].ColumnName = "功率档位"; dt.Columns[i++].ColumnName = "电流档位"; dt.Columns[i++].ColumnName = "装配件号"; dt.Columns[i++].ColumnName = "EL等级"; dt.Columns[i++].ColumnName = "外观等级"; dt.Columns[i++].ColumnName = "最终等级"; dt.Columns[i++].ColumnName = "测试机台"; dt.Columns[i++].ColumnName = "封箱时间"; dt.Columns[i++].ColumnName = "功率组"; dt.Columns[i++].ColumnName = "是否入库"; dt.Columns[i++].ColumnName = "班次"; dt.Columns[i++].ColumnName = "Pmax"; dt.Columns[i++].ColumnName = "VOC"; dt.Columns[i++].ColumnName = "ISC"; dt.Columns[i++].ColumnName = "FF"; dt.Columns[i++].ColumnName = "VPM"; dt.Columns[i++].ColumnName = "IPM"; dt.Columns[i++].ColumnName = "RS"; dt.Columns[i++].ColumnName = "RSH"; dt.Columns[i++].ColumnName = "EFF"; dt.Columns[i++].ColumnName = "ENV_TEMP"; dt.Columns[i++].ColumnName = "SURF_TEMP"; dt.Columns[i++].ColumnName = "TEMP"; dt.Columns[i++].ColumnName = "IVFILE_PATH"; dt.Columns[i++].ColumnName = "包装顺序"; dt.Columns[i++].ColumnName = "报检单号"; dt.Columns[i++].ColumnName = "电池片厂商"; dt.Columns[i++].ColumnName = "电池片颜色"; dt.Columns[i++].ColumnName = "电池片类型"; dt.Columns[i++].ColumnName = "电池片档位"; dt.Columns[i++].ColumnName = "单片功率"; dt.Columns[i++].ColumnName = "转换效率"; dt.Columns[i++].ColumnName = "EVA厂商"; dt.Columns[i++].ColumnName = "普通EVA规格"; dt.Columns[i++].ColumnName = "普通EVA批号"; dt.Columns[i++].ColumnName = "背板厂商"; dt.Columns[i++].ColumnName = "背板规格"; dt.Columns[i++].ColumnName = "背板批号"; dt.Columns[i++].ColumnName = "玻璃供应商"; dt.Columns[i++].ColumnName = "玻璃规格"; dt.Columns[i++].ColumnName = "玻璃批号"; dt.Columns[i++].ColumnName = "接线盒供应商"; dt.Columns[i++].ColumnName = "接线盒规格"; dt.Columns[i++].ColumnName = "接线盒批号"; dt.Columns[i++].ColumnName = "型材供应商"; dt.Columns[i++].ColumnName = "型材规格"; dt.Columns[i++].ColumnName = "型材批号"; dt.Columns[i++].ColumnName = "客户"; dt.Columns[i++].ColumnName = "产品组"; //dt.Columns[49].ColumnName = "料号"; dt.Columns[i++].ColumnName = "测试时间"; return ExportExcel(dt, "PackOutputReport"); } //包装产量报表导出excel(山东客户版本) [Route("PackoutputSExcel")] [HttpPost] public FileContentResult PackOutputExportSExcel(List para) { string bt = para[0]; string et = para[1]; //string containerno = para.containerno; //string pallet = para.palletno; //string lot = para.lotno; string check = para[6]; string workshop = para[2]; string containerno_old = para[3]; string trim = Regex.Replace(containerno_old, @"\s", " "); string container = "'" + trim.Replace(" ", "','") + "'"; string lot_old = para[4]; string trim1 = Regex.Replace(lot_old, @"\s", " "); string lot = "'" + trim1.Replace(" ", "','") + "'"; string pallet_old = para[5]; string trim2 = Regex.Replace(pallet_old, @"\s", " "); string pallet = "'" + trim2.Replace(" ", "','") + "'"; string workorder = para[7]; DataTable dt = new ReportService().PackOutputQueryInfo(workshop.ToUpper() == "Null" ? "" : workshop , bt.ToUpper() == "Null" ? "" : bt , et.ToUpper() == "Null" ? "" : et , lot.ToUpper() == "Null" ? "" : lot , container.ToUpper() == "Null" ? "" : container , pallet.ToUpper() == "Null" ? "" : pallet , check.ToUpper() == "Null" ? "" : check , workorder.ToUpper() == "Null" ? "" : workorder); int i = 0; dt.Columns[i++].ColumnName = "柜号"; dt.Columns[i++].ColumnName = "托盘号"; dt.Columns[i++].ColumnName = "包装顺序"; dt.Columns[i++].ColumnName = "工单号"; dt.Columns[i++].ColumnName = "订单号"; dt.Columns[i++].ColumnName = "组件序列号"; dt.Columns[i++].ColumnName = "包装时间"; dt.Columns[i++].ColumnName = "测试日期时间"; dt.Columns[i++].ColumnName = "测试机台"; dt.Columns[i++].ColumnName = "功率档位"; dt.Columns[i++].ColumnName = "电流档位"; dt.Columns[i++].ColumnName = "外观等级"; dt.Columns[i++].ColumnName = "EL等级"; dt.Columns[i++].ColumnName = "最终等级"; dt.Columns[i++].ColumnName = "Pmax"; dt.Columns[i++].ColumnName = "FF"; dt.Columns[i++].ColumnName = "VOC"; dt.Columns[i++].ColumnName = "ISC"; dt.Columns[i++].ColumnName = "VPM"; dt.Columns[i++].ColumnName = "IPM"; dt.Columns[i++].ColumnName = "RS"; dt.Columns[i++].ColumnName = "RSH"; dt.Columns[i++].ColumnName = "EFF"; dt.Columns[i++].ColumnName = "ENV_TEMP"; dt.Columns[i++].ColumnName = "Tmod"; dt.Columns[i++].ColumnName = "电池片厂家"; dt.Columns[i++].ColumnName = "单片功率"; dt.Columns[i++].ColumnName = "电池片颜色"; dt.Columns[i++].ColumnName = "电池片等级"; dt.Columns[i++].ColumnName = "电池片类型"; dt.Columns[i++].ColumnName = "电池片效率档"; //dt.Columns[i++].ColumnName = "转换效率"; dt.Columns[i++].ColumnName = "托盘状态"; return ExportExcel(dt, "PackOutputReport"); } //组件班组产量表 [Route("ShiftProductionExcel")] [HttpPost] public FileContentResult ShiftProductionExcel(List para) { string workshop = para[0]; string begintime = para[1]; string endtime = para[2]; string station = para[3]; string wks_id = para[4]; string workorder = para[5]; DataTable dt = new ReportService().ShiftProduction(workshop.ToUpper() == "Null" ? "" : workshop , begintime.ToUpper() == "Null" ? "" : begintime , endtime.ToUpper() == "Null" ? "" : endtime , station.ToUpper() == "Null" ? "" : station , workorder.ToUpper() == "Null" ? "" : workorder); int i = 0; dt.Columns[i++].ColumnName = "柜号"; dt.Columns[i++].ColumnName = "托盘号"; dt.Columns[i++].ColumnName = "包装顺序"; dt.Columns[i++].ColumnName = "工单号"; dt.Columns[i++].ColumnName = "订单号"; dt.Columns[i++].ColumnName = "组件序列号"; dt.Columns[i++].ColumnName = "包装时间"; dt.Columns[i++].ColumnName = "测试日期时间"; dt.Columns[i++].ColumnName = "测试机台"; dt.Columns[i++].ColumnName = "功率档位"; dt.Columns[i++].ColumnName = "电流档位"; dt.Columns[i++].ColumnName = "外观等级"; dt.Columns[i++].ColumnName = "EL等级"; dt.Columns[i++].ColumnName = "最终等级"; dt.Columns[i++].ColumnName = "Pmax"; dt.Columns[i++].ColumnName = "FF"; dt.Columns[i++].ColumnName = "VOC"; dt.Columns[i++].ColumnName = "ISC"; dt.Columns[i++].ColumnName = "VPM"; dt.Columns[i++].ColumnName = "IPM"; dt.Columns[i++].ColumnName = "RS"; dt.Columns[i++].ColumnName = "RSH"; dt.Columns[i++].ColumnName = "EFF"; dt.Columns[i++].ColumnName = "ENV_TEMP"; dt.Columns[i++].ColumnName = "Tmod"; dt.Columns[i++].ColumnName = "电池片厂家"; dt.Columns[i++].ColumnName = "单片功率"; dt.Columns[i++].ColumnName = "电池片颜色"; dt.Columns[i++].ColumnName = "电池片等级"; dt.Columns[i++].ColumnName = "电池片类型"; dt.Columns[i++].ColumnName = "电池片效率档"; //dt.Columns[i++].ColumnName = "转换效率"; dt.Columns[i++].ColumnName = "托盘状态"; return ExportExcel(dt, "PackOutputReport"); } // //包装产量报表导出excel(英利客户版本) [Route("PackoutputDetailExcel")] [HttpPost] public FileContentResult PackOutputDetailExcel(List para) { string bt = para[0]; string et = para[1]; //string containerno = para.containerno; //string pallet = para.palletno; //string lot = para.lotno; string check = para[6]; string workshop = para[2]; string containerno_old = para[3]; string trim = Regex.Replace(containerno_old, @"\s", " "); string container = "'" + trim.Replace(" ", "','") + "'"; string lot_old = para[4]; string trim1 = Regex.Replace(lot_old, @"\s", " "); string lot = "'" + trim1.Replace(" ", "','") + "'"; string pallet_old = para[5]; string trim2 = Regex.Replace(pallet_old, @"\s", " "); string pallet = "'" + trim2.Replace(" ", "','") + "'"; string workorder = para[7]; DataTable dt = new ReportService().PackOutputDetailQueryInfo(workshop.ToUpper() == "Null" ? "" : workshop , bt.ToUpper() == "Null" ? "" : bt , et.ToUpper() == "Null" ? "" : et , lot.ToUpper() == "Null" ? "" : lot , container.ToUpper() == "Null" ? "" : container , pallet.ToUpper() == "Null" ? "" : pallet , check.ToUpper() == "Null" ? "" : check , workorder.ToUpper() == "Null" ? "" : workorder); int i = 0; dt.Columns[i++].ColumnName = "托盘号"; dt.Columns[i++].ColumnName = "组件序列号"; dt.Columns[i++].ColumnName = "VOC"; dt.Columns[i++].ColumnName = "ISC"; dt.Columns[i++].ColumnName = "Pmax"; dt.Columns[i++].ColumnName = "VPM"; dt.Columns[i++].ColumnName = "IPM"; dt.Columns[i++].ColumnName = "FF"; dt.Columns[i++].ColumnName = "测试日期时间"; return ExportExcel(dt, "PackOutputDetailReport"); } /// /// 库存报表excel导出 /// /// /// [Route("InventoryReportExcel")] [HttpPost] public FileContentResult InventoryReportExcel(List para) { string locationname = para[1]; string name = para[0]; //仓库 库位号 客户订单 功率/W 栅数 铭牌型号 单托/片 托数 合计块数 合计MW 型 材 接线盒类型 等 级 柜 号 DataTable dt = new ReportService().InventoryDT(locationname,name); dt.Columns[0].ColumnName = "仓库"; dt.Columns[1].ColumnName = "库位号"; dt.Columns[2].ColumnName = "类型"; dt.Columns[3].ColumnName = "客户订单"; dt.Columns[4].ColumnName = "功率/W"; dt.Columns[5].ColumnName = "栅数"; dt.Columns[6].ColumnName = "铭牌型号"; dt.Columns[7].ColumnName = "单拖/片"; dt.Columns[8].ColumnName = "托数"; dt.Columns[9].ColumnName = "合计块数"; dt.Columns[10].ColumnName = "合计MW"; dt.Columns[11].ColumnName = "型材"; dt.Columns[12].ColumnName = "接线盒类型"; dt.Columns[13].ColumnName = "等级"; dt.Columns[14].ColumnName = "柜号"; return ExportExcel(dt, "InventoryReport"); //return ExportExcel(dt, "ShipmentsReports"); } /// /// 库存JY报表excel导出 /// /// /// [Route("InventoryJYReportExcel")] [HttpPost] public FileContentResult InventoryJYReportExcel(List para) { string locationname = para[1]; string name = para[0]; //仓库 库位号 客户订单 功率/W 栅数 铭牌型号 单托/片 托数 合计块数 合计MW 型 材 接线盒类型 等 级 柜 号 DataTable dt = new ReportService().InventoryJYDT(locationname, name); dt.Columns[0].ColumnName = "仓库"; dt.Columns[1].ColumnName = "库位号"; dt.Columns[2].ColumnName = "客户订单"; dt.Columns[3].ColumnName = "柜号"; dt.Columns[4].ColumnName = "拼柜状态"; dt.Columns[5].ColumnName = "功率档"; dt.Columns[6].ColumnName = "栅数"; dt.Columns[7].ColumnName = "产品类型"; dt.Columns[8].ColumnName = "组件数量"; dt.Columns[9].ColumnName = "合计MW"; dt.Columns[10].ColumnName = "型材"; dt.Columns[11].ColumnName = "接线盒类型"; dt.Columns[12].ColumnName = "等级"; dt.Columns[13].ColumnName = "报检状态"; return ExportExcel(dt, "InventoryJYReport"); //return ExportExcel(dt, "ShipmentsReports"); } #region 库存详细 [Route("InventoryDetailedJYExcel")] [HttpPost] public FileContentResult InventoryDetailedJYExcel(List para) { string locationname = para[0]; string name = para[1]; //string containerno = para.containerno; //string pallet = para.palletno; //string lot = para.lotno; //string check = para[6]; //string workshop = para[2]; //string containerno_old = para[3]; //string trim = Regex.Replace(containerno_old, @"\s", " "); //string container = "'" + trim.Replace(" ", "','") + "'"; //string lot_old = para[4]; //string trim1 = Regex.Replace(lot_old, @"\s", " "); //string lot = "'" + trim1.Replace(" ", "','") + "'"; //string pallet_old = para[5]; //string trim2 = Regex.Replace(pallet_old, @"\s", " "); //string pallet = "'" + trim2.Replace(" ", "','") + "'"; //locationname,name DataTable dt = new ReportService().InventoryDetailedJYDT(locationname.ToUpper() == "Null" ? "" : locationname , name.ToUpper() == "Null" ? "" : name); dt.Columns[0].ColumnName = "托盘号"; dt.Columns[1].ColumnName = "柜号"; dt.Columns[2].ColumnName = "组件序列号"; dt.Columns[3].ColumnName = "工单号"; dt.Columns[4].ColumnName = "功率档位"; dt.Columns[5].ColumnName = "电流档位"; dt.Columns[6].ColumnName = "装配件号"; dt.Columns[7].ColumnName = "EL等级"; dt.Columns[8].ColumnName = "外观等级"; dt.Columns[9].ColumnName = "封箱时间"; dt.Columns[10].ColumnName = "功率组"; dt.Columns[11].ColumnName = "是否入库"; dt.Columns[12].ColumnName = "班次"; dt.Columns[13].ColumnName = "Pmax"; dt.Columns[14].ColumnName = "VOC"; dt.Columns[15].ColumnName = "ISC"; dt.Columns[16].ColumnName = "FF"; dt.Columns[17].ColumnName = "VPM"; dt.Columns[18].ColumnName = "IPM"; dt.Columns[19].ColumnName = "RS"; dt.Columns[20].ColumnName = "RSH"; dt.Columns[21].ColumnName = "RSH"; dt.Columns[22].ColumnName = "EFF"; dt.Columns[23].ColumnName = "ENV_TEMP"; dt.Columns[24].ColumnName = "SURF_TEMP"; dt.Columns[25].ColumnName = "TEMP"; dt.Columns[26].ColumnName = "IVFILE_PATH"; dt.Columns[27].ColumnName = "包装顺序"; dt.Columns[28].ColumnName = "报检单号"; dt.Columns[29].ColumnName = "电池片厂商"; dt.Columns[30].ColumnName = "电池片档位"; dt.Columns[31].ColumnName = "单片功率"; dt.Columns[32].ColumnName = "转换效率"; dt.Columns[33].ColumnName = "EVA厂商"; dt.Columns[34].ColumnName = "普通EVA规格"; dt.Columns[35].ColumnName = "普通EVA批号"; dt.Columns[36].ColumnName = "背板厂商"; dt.Columns[37].ColumnName = "背板规格"; dt.Columns[38].ColumnName = "背板批号"; dt.Columns[39].ColumnName = "玻璃供应商"; dt.Columns[40].ColumnName = "玻璃规格"; dt.Columns[41].ColumnName = "玻璃批号"; dt.Columns[42].ColumnName = "接线盒供应商"; dt.Columns[43].ColumnName = "接线盒规格"; dt.Columns[44].ColumnName = "接线盒批号"; dt.Columns[45].ColumnName = "型材供应商"; dt.Columns[46].ColumnName = "型材规格"; dt.Columns[47].ColumnName = "型材批号"; dt.Columns[48].ColumnName = "客户"; dt.Columns[49].ColumnName = "产品组"; //dt.Columns[49].ColumnName = "批次料号"; dt.Columns[50].ColumnName = "测试时间"; return ExportExcel(dt, "InventoryDetailed"); } #endregion /// /// 入库报表excel导出 /// /// /// [Route("StorageReportExcel")] [HttpPost] public FileContentResult StorageReportExcel(List para) { string bt = para[0]; string et = para[1]; string name = para[2]; string locationname = para[3]; string final_grade = para[4]; string power_grade = para[5]; string containerno_old = para[6]; string trim = Regex.Replace(containerno_old, @"\s", " "); string containerno = "'" + trim.Replace(" ", "','") + "'"; string palletno_old = para[7]; string trim1 = Regex.Replace(palletno_old, @"\s", " "); string palletno = "'" + trim1.Replace(" ", "','") + "'"; string workorder = para[8]; string saleorder = para[9]; string area_code = para[10]; string serial = para[11]; if (containerno.ToUpper() == "NULL") containerno = ""; if (palletno.ToUpper() == "NULL") palletno = ""; if (bt.ToUpper() == "UNDEFINED") bt = ""; if (et.ToUpper() == "UNDEFINED") et = ""; if (area_code.ToUpper() == "NULL") area_code = ""; if (saleorder.ToUpper() == "UNDEFINED") saleorder = ""; //日期 仓库 库位 订单 柜号 托盘号 铭牌类型 功率分档 栅数 入库数量 等级 组件尺寸 接线盒类型 组件所属部门 DataTable dt = new ReportService().StorageDT(bt, et, name, locationname, containerno, palletno, final_grade, power_grade,workorder,saleorder,area_code,serial); dt.Columns[0].ColumnName = "序号"; dt.Columns[1].ColumnName = "入库时间"; dt.Columns[2].ColumnName = "仓库"; dt.Columns[3].ColumnName = "库位"; dt.Columns[4].ColumnName = "订单"; dt.Columns[5].ColumnName = "工单"; dt.Columns[6].ColumnName = "柜号"; dt.Columns[7].ColumnName = "托盘号"; dt.Columns[8].ColumnName = "组件序列号"; dt.Columns[9].ColumnName = "开路电压Voc(V)"; dt.Columns[10].ColumnName = "短路电流Isc(A)"; dt.Columns[11].ColumnName = "工作电压Vpm(V)"; dt.Columns[12].ColumnName = "工作电流Ipm(A)"; dt.Columns[13].ColumnName = "实测功率Pmp(W)"; dt.Columns[14].ColumnName = "填充因子FF"; dt.Columns[15].ColumnName = "电流档"; dt.Columns[16].ColumnName = "产品类型"; dt.Columns[17].ColumnName = "功率档"; dt.Columns[18].ColumnName = "栅数"; //dt.Columns[19].ColumnName = "入库数量"; dt.Columns[19].ColumnName = "等级"; dt.Columns[20].ColumnName = "组件尺寸"; dt.Columns[21].ColumnName = "接线盒类型"; dt.Columns[22].ColumnName = "托盘状态"; dt.Columns[23].ColumnName = "组件所属部门"; return ExportExcel(dt, "StorageReport"); //return ExportExcel(dt, "ShipmentsReports"); } /// /// 入库报表excel导出 /// /// /// [Route("StoreIssueExcel")] [HttpPost] public FileContentResult StoreIssueExcel(List para) { string bt = para[0]; string et = para[1]; string part_nbr = para[2]; string workorder = para[3]; string lot_nbr = para[4]; if (bt.ToUpper() == "UNDEFINED") bt = ""; if (et.ToUpper() == "UNDEFINED") et = ""; //日期 仓库 库位 订单 柜号 托盘号 铭牌类型 功率分档 栅数 入库数量 等级 组件尺寸 接线盒类型 组件所属部门 DataTable dt = new ReportService().StoreIssueDT(bt, et, part_nbr, workorder, lot_nbr); dt.Columns[0].ColumnName = "日期"; dt.Columns[1].ColumnName = "部门"; dt.Columns[2].ColumnName = "工单号"; dt.Columns[3].ColumnName = "客户名称"; dt.Columns[4].ColumnName = "料号"; dt.Columns[5].ColumnName = "存货规格"; dt.Columns[6].ColumnName = "批号"; dt.Columns[7].ColumnName = "上期结存"; dt.Columns[8].ColumnName = "发出数量"; dt.Columns[9].ColumnName = "订单消耗数量"; dt.Columns[10].ColumnName = "现场结余"; return ExportExcel(dt, "StoreIssue"); //return ExportExcel(dt, "ShipmentsReports"); } /// /// 材料追溯excel导出 /// /// /// [Route("MaterialTraceabilityExcel")] [HttpPost] public FileContentResult MaterialTraceabilityExcel(List para) { string lot_nbr = para[0]; string orig_batch_nbr = para[1]; string serial_nbr = para[2]; string bt = para[3]; string et = para[4]; string wks_desc = para[5]; string area_code = para[6]; //序列 子批次 母批次 组件序列号 组件等级 组件站点 组件托盘号 组件柜号 是否入库 是否出货 DataTable dt = new ReportService().MaterialTraceabilityDT(lot_nbr, orig_batch_nbr, serial_nbr,bt,et,wks_desc,area_code); dt.Columns[0].ColumnName = "序号"; dt.Columns[1].ColumnName = "物料类别"; dt.Columns[2].ColumnName = "供应商批次号"; dt.Columns[3].ColumnName = "子批次"; dt.Columns[4].ColumnName = "母批次"; dt.Columns[5].ColumnName = "组件序列号"; dt.Columns[6].ColumnName = "站点机台"; dt.Columns[7].ColumnName = "组件等级"; dt.Columns[8].ColumnName = "组件站点"; dt.Columns[9].ColumnName = "组件托盘号"; dt.Columns[10].ColumnName = "组件柜号"; dt.Columns[11].ColumnName = "是否入库"; dt.Columns[12].ColumnName = "是否出货"; dt.Columns[13].ColumnName = "过站时间"; return ExportExcel(dt, "MaterialTraceability"); //return ExportExcel(dt, "ShipmentsReports"); } /// /// CTMexcel导出 /// /// /// [Route("FinalTestRoomDataExcel")] [HttpPost] public FileContentResult FinalTestRoomDataExcel(List para) { string bt = para[0]; string et = para[1]; string workshop = para[2]; string workorder = para[3]; //工单 片源 额定功率 平均功率 CTM 数量 DataTable dt = new ReportService().FinalTestRoomDataDT( bt, et, workshop, workorder); dt.Columns[0].ColumnName = "工单"; dt.Columns[1].ColumnName = "片源"; dt.Columns[2].ColumnName = "额定功率"; dt.Columns[3].ColumnName = "平均功率"; dt.Columns[4].ColumnName = "CTM"; dt.Columns[5].ColumnName = "数量"; //dt.Columns[6].ColumnName = "组件站点"; //dt.Columns[7].ColumnName = "组件托盘号"; //dt.Columns[8].ColumnName = "组件柜号"; //dt.Columns[9].ColumnName = "是否入库"; //dt.Columns[10].ColumnName = "是否出货"; return ExportExcel(dt, "FinalTestRoomData"); //return ExportExcel(dt, "ShipmentsReports"); } /// /// 工单条码报表excel导出 /// /// /// #region 工单条码登记(原始版) [Route("WorkLot2Excel")] [HttpPost] public FileContentResult WorkLot2Excel(List para) { string bt = para[0]; string et = para[1]; string workshop = para[2]; string sale_order = para[3]; string workorder = para[4]; if (bt.ToUpper() == "UNDEFINED") bt = ""; if (et.ToUpper() == "UNDEFINED") et = ""; //序列 子批次 母批次 组件序列号 组件等级 组件站点 组件托盘号 组件柜号 是否入库 是否出货 DataTable dt = new ReportService().WorkLotDT(bt, et, workshop,sale_order, workorder); dt.Columns[0].ColumnName = "订单"; dt.Columns[1].ColumnName = "工单"; dt.Columns[2].ColumnName = "生码日期"; dt.Columns[3].ColumnName = "工单创建时间"; dt.Columns[4].ColumnName = "投产数量"; dt.Columns[5].ColumnName = "生码数量"; dt.Columns[6].ColumnName = "剩余数量"; dt.Columns[7].ColumnName = "客户"; dt.Columns[8].ColumnName = "产品族"; dt.Columns[9].ColumnName = "产生条码段号"; //dt.Columns[7].ColumnName = "产生条码段号"; //dt.Columns[8].ColumnName = "是否入库"; //dt.Columns[9].ColumnName = "是否出货"; return ExportExcel(dt, "WorkLot"); //return ExportExcel(dt, "ShipmentsReports"); } #endregion #region 工单条码登记(山东客户) [Route("WorkLotExcel")] [HttpPost] public FileContentResult WorkLotExcel(List para) { string bt = para[0]; string et = para[1]; string workshop = para[2]; string sale_order = para[3]; string workorder = para[4]; if (bt.ToUpper() == "UNDEFINED") bt = ""; if (et.ToUpper() == "UNDEFINED") et = ""; if (workshop == "null") workshop = ""; //序列 子批次 母批次 组件序列号 组件等级 组件站点 组件托盘号 组件柜号 是否入库 是否出货 DataTable dt = new ReportService().WorkLotDT(bt, et, workshop, sale_order, workorder); dt.Columns[0].ColumnName = "车间"; dt.Columns[1].ColumnName = "订单号"; dt.Columns[2].ColumnName = "工单号"; dt.Columns[3].ColumnName = "工单总数量"; dt.Columns[4].ColumnName = "生码数量"; dt.Columns[5].ColumnName = "起始序列号"; dt.Columns[6].ColumnName = "最终序列号"; dt.Columns[7].ColumnName = "客户"; dt.Columns[8].ColumnName = "生码时间"; dt.Columns[9].ColumnName = "工单创建时间"; dt.Columns[10].ColumnName = "产品族"; //dt.Columns[7].ColumnName = "产生条码段号"; //dt.Columns[8].ColumnName = "是否入库"; //dt.Columns[9].ColumnName = "是否出货"; return ExportExcel(dt, "WorkLot"); //return ExportExcel(dt, "ShipmentsReports"); } #endregion #region 条码管理及优质品率 [Route("BarCodeAndQualityRateExcel")] [HttpPost] public FileContentResult BarCodeAndQualityRateExcel(List para) { string sale_order = para[0]; string workorder = para[1]; string station = para[2]; // 车间 订单号 客户 工单号 客户订单数量 实际投产 优质率 Q0 Q1 Q2 Q3 B 报废 DataTable dt = new ReportService().BarCodeAndQualityRateDT(sale_order, workorder,station); dt.Columns[0].ColumnName = "车间"; dt.Columns[1].ColumnName = "订单号"; dt.Columns[2].ColumnName = "客户"; dt.Columns[3].ColumnName = "工单号"; dt.Columns[4].ColumnName = "客户订单数量"; dt.Columns[5].ColumnName = "生码数量"; dt.Columns[6].ColumnName = "站点总数"; dt.Columns[7].ColumnName = "优质率"; //dt.Columns[8].ColumnName = "A"; //dt.Columns[9].ColumnName = "A1"; //dt.Columns[10].ColumnName = "A2"; //dt.Columns[7].ColumnName = "Q0"; //dt.Columns[8].ColumnName = "Q1"; //dt.Columns[9].ColumnName = "Q2"; //dt.Columns[10].ColumnName = "Q3"; //dt.Columns[11].ColumnName = "B"; dt.Columns[13].ColumnName = "报废"; return ExportExcel(dt, "BarCodeAndQualityRate"); //return ExportExcel(dt, "ShipmentsReports"); } #endregion #region 结批率 [Route("BatchRateExcel")] [HttpPost] public FileContentResult BatchRateExcel(List para) { string sale_order = para[0]; string workorder = para[1]; string workshop = para[2]; // 车间 订单号 客户 层压 装框 清洗 包装 入库率 工单开始时间 工单要求完成时间 实际结单时间 DataTable dt = new ReportService().BatchRateDT(sale_order, workorder,workshop); int i = 0; dt.Columns[i++].ColumnName = "车间"; dt.Columns[i++].ColumnName = "订单号"; dt.Columns[i++].ColumnName = "客户"; dt.Columns[i++].ColumnName = "工单号"; dt.Columns[i++].ColumnName = "客户订单数量"; dt.Columns[i++].ColumnName = "实际投产"; dt.Columns[i++].ColumnName = "入库数量"; dt.Columns[i++].ColumnName = "组件报废"; dt.Columns[i++].ColumnName = "条码报废"; dt.Columns[i++].ColumnName = "生码"; dt.Columns[i++].ColumnName = "焊接"; dt.Columns[i++].ColumnName = "叠层"; dt.Columns[i++].ColumnName = "层压"; dt.Columns[i++].ColumnName = "层压后检验"; dt.Columns[i++].ColumnName = "装框"; dt.Columns[i++].ColumnName = "清洗"; dt.Columns[i++].ColumnName = "全检"; dt.Columns[i++].ColumnName = "包装"; dt.Columns[i++].ColumnName = "入库率"; dt.Columns[i++].ColumnName = "工单开始时间"; dt.Columns[i++].ColumnName = "工单完成时间"; dt.Columns[i++].ColumnName = "实际结单时间"; return ExportExcel(dt, "BatchRate"); //return ExportExcel(dt, "ShipmentsReports"); } #endregion #region 结批率详细导出 [Route("PopoutDataExcel")] [HttpPost] public FileContentResult PopoutDataExcel(List para) { string workshop = para[0]; string workorder = para[1]; string field = para[2]; // 车间 订单号 客户 层压 装框 清洗 包装 入库率 工单开始时间 工单要求完成时间 实际结单时间 DataTable dt = new ReportService().PopoutDataDT(workshop, workorder, field); dt.Columns[0].ColumnName = "订单"; dt.Columns[1].ColumnName = "工单"; dt.Columns[2].ColumnName = "组件序列号"; dt.Columns[3].ColumnName = "当前站点"; dt.Columns[4].ColumnName = "等级"; return ExportExcel(dt, "PopoutData"); //return ExportExcel(dt, "ShipmentsReports"); } #endregion #region 各站点数详情导出 [Route("StationDataExcel")] [HttpPost] public FileContentResult StationDataExcel(List para) { string workshop = para[0]; string workorder = para[1]; string saleorder = para[2]; string station = para[3]; //string wksid = para[4]; string bt = para[4]; string et = para[5]; string field = para[6]; string worktime = para[7]; if (worktime.ToUpper() == "NULL") { worktime = ""; } // 车间 订单号 客户 层压 装框 清洗 包装 入库率 工单开始时间 工单要求完成时间 实际结单时间 DataTable dt = new ReportService().ProduincStationDT(workshop, workorder, saleorder, station,bt, et, field,worktime); dt.Columns[0].ColumnName = "站点"; dt.Columns[1].ColumnName = "组件序列号"; dt.Columns[2].ColumnName = "操作人员"; dt.Columns[3].ColumnName = "班次"; dt.Columns[4].ColumnName = "设备"; dt.Columns[5].ColumnName = "工单"; dt.Columns[6].ColumnName = "订单"; dt.Columns[7].ColumnName = "过站时间"; return ExportExcel(dt, "StationData"); //return ExportExcel(dt, "ShipmentsReports"); } #endregion #region 站点产能详情导出 [Route("ShiftDataExcel")] [HttpPost] public FileContentResult ShiftDataExcel(List para) { string workshop = para[0]; string workorder = para[1]; string station = para[2]; //string wksid = para[4]; string bt = para[3]; string et = para[4]; string type = para[5]; string mod = para[6]; if (station.ToUpper() == "NULL") { station = ""; } // 车间 订单号 客户 层压 装框 清洗 包装 入库率 工单开始时间 工单要求完成时间 实际结单时间 DataTable dt = new ReportService().ShiftProductionDT(workshop, bt,et,station, workorder, type,mod); dt.Columns[0].ColumnName = "车间"; dt.Columns[1].ColumnName = "班组"; dt.Columns[2].ColumnName = "序列号"; dt.Columns[3].ColumnName = "版型"; dt.Columns[4].ColumnName = "站点"; dt.Columns[5].ColumnName = "机台号"; dt.Columns[6].ColumnName = "过站时间"; dt.Columns[7].ColumnName = "工单号"; dt.Columns[8].ColumnName = "产品型号"; dt.Columns[9].ColumnName = "批号"; dt.Columns[10].ColumnName = "供应商编号"; dt.Columns[11].ColumnName = "供应商名称"; dt.Columns[12].ColumnName = "最终等级"; return ExportExcel(dt, "ShiftData"); //return ExportExcel(dt, "ShipmentsReports"); } #endregion #region 各站点机台过站数详情导出 [Route("WksDataExcel")] [HttpPost] public FileContentResult WksDataExcel(List para) { string workshop = para[0]; string workorder = para[1]; string saleorder = para[2]; string station = para[3]; string wksid = para[4]; string bt = para[5]; string et = para[6]; string field = para[7]; string worktime = para[8]; // 车间 订单号 客户 层压 装框 清洗 包装 入库率 工单开始时间 工单要求完成时间 实际结单时间 DataTable dt = new ReportService().ProduincDT(workshop, workorder, saleorder, station,wksid, bt, et, field,worktime); dt.Columns[0].ColumnName = "组件序列号"; dt.Columns[1].ColumnName = "操作人员"; dt.Columns[2].ColumnName = "班次"; dt.Columns[3].ColumnName = "过站时间"; return ExportExcel(dt, "WksData"); //return ExportExcel(dt, "ShipmentsReports"); } #endregion #region 线边仓物料损耗 [Route("SuppliesConsumedExcel")] [HttpPost] public FileContentResult SuppliesConsumedExcel(List para) { string sale_order = para[0]; string workorder = para[1]; string station = para[2]; // 订单号 组件数量 工单 物料名称 单位 料号 规格 *母批次号* 单耗 //核定用量 损耗率 损耗用量 标准用量 仓库实发量 产线领用量 订单结余量 超出/结约 报废物料 DataTable dt = new ReportService().SuppliesConsumedDT(sale_order, workorder,station); dt.Columns[0].ColumnName = "车间"; dt.Columns[1].ColumnName = "OEM客户"; dt.Columns[2].ColumnName = "工单"; dt.Columns[3].ColumnName = "料号"; dt.Columns[4].ColumnName = "物料类别"; dt.Columns[5].ColumnName = "描述"; dt.Columns[6].ColumnName = "是否主料"; dt.Columns[7].ColumnName = "主料号"; dt.Columns[8].ColumnName = "单耗"; dt.Columns[9].ColumnName = "单位"; dt.Columns[10].ColumnName = "来料批号"; dt.Columns[11].ColumnName = "上期结存"; dt.Columns[12].ColumnName = "实发数量"; dt.Columns[13].ColumnName = "工序消耗量"; dt.Columns[14].ColumnName = "来料不良"; dt.Columns[15].ColumnName = "制程不良"; dt.Columns[16].ColumnName = "报废不良"; dt.Columns[17].ColumnName = "现场结余"; return ExportExcel(dt, "SuppliesConsumed"); } #endregion #region 原料线边仓报表 [Route("LinePositionsExcel")] [HttpPost] public FileContentResult LinePositionsExcel(List para) { string sale_order = para[0]; string workorder = para[1]; // 订单号 组件数量 工单 物料名称 单位 料号 规格 *母批次号* 单耗 //核定用量 损耗率 损耗用量 标准用量 仓库实发量 产线领用量 订单结余量 超出/结约 报废物料 DataTable dt = new ReportService().LinePositionsDT(sale_order, workorder); dt.Columns[0].ColumnName = "订单号"; dt.Columns[1].ColumnName = "组件数量"; dt.Columns[2].ColumnName = "工单"; dt.Columns[3].ColumnName = "物料名称"; dt.Columns[4].ColumnName = "单位"; dt.Columns[5].ColumnName = "料号"; dt.Columns[6].ColumnName = "规格"; dt.Columns[7].ColumnName = "单耗"; dt.Columns[8].ColumnName = "核定用量"; dt.Columns[9].ColumnName = "损耗率"; dt.Columns[10].ColumnName = "损耗用量"; dt.Columns[11].ColumnName = "标准用量"; dt.Columns[12].ColumnName = "仓库实发量"; dt.Columns[13].ColumnName = "产线领用量"; dt.Columns[14].ColumnName = "订单结余量"; dt.Columns[15].ColumnName = "超出/结约"; dt.Columns[16].ColumnName = "报废物料"; return ExportExcel(dt, "LinePositions"); //return ExportExcel(dt, "ShipmentsReports"); } #endregion #region 成品线边仓导出 [Route("FinishProductLinePositionsExcel")] [HttpPost] public FileContentResult FinishProductLinePositionsExcel(List para) { string area_code = para[0]; string saleorder = para[1]; string status = para[2]; string WorkOrder = para[3]; string Container = para[4]; string Palletnbr = para[5]; string Serialnbr = para[6]; // 车间 焊接机台 来料批号 供应商 电池片类型 栅数 单片功率 来料数量 封装片数 来料 串返修 叠返修 不良率 DataTable dt = new ReportService().FinishProductLinePositionsDT(area_code, saleorder, status, WorkOrder, Container, Palletnbr, Serialnbr); dt.Columns[0].ColumnName = "车间"; dt.Columns[1].ColumnName = "订单"; dt.Columns[2].ColumnName = "托盘号"; dt.Columns[3].ColumnName = "序列号"; dt.Columns[4].ColumnName = "功率档"; dt.Columns[5].ColumnName = "栅数"; dt.Columns[6].ColumnName = "产品类型"; dt.Columns[7].ColumnName = "型材"; dt.Columns[8].ColumnName = "接线盒"; dt.Columns[9].ColumnName = "电流档"; dt.Columns[10].ColumnName = "等级"; dt.Columns[11].ColumnName = "柜号"; dt.Columns[12].ColumnName = "报检状态"; return ExportExcel(dt, "FinishProductLinePositions"); //return ExportExcel(dt, "ShipmentsReports"); } #endregion #region 电池片结批率 [Route("CellBatchRateExcel")] [HttpPost] public FileContentResult CellBatchRateExcel(List para) { string sale_order = para[0]; string workorder = para[1]; string area_code = para[2]; // 车间 焊接机台 来料批号 供应商 电池片类型 栅数 单片功率 来料数量 封装片数 来料 串返修 叠返修 不良率 DataTable dt = new ReportService().CellBatchRateDT(sale_order, workorder,area_code); dt.Columns[0].ColumnName = "车间"; dt.Columns[1].ColumnName = "焊接机台"; dt.Columns[2].ColumnName = "来料批号"; dt.Columns[3].ColumnName = "供应商"; dt.Columns[4].ColumnName = "电池片类型"; dt.Columns[5].ColumnName = "栅数"; dt.Columns[6].ColumnName = "单片功率"; dt.Columns[7].ColumnName = "实发数量"; dt.Columns[8].ColumnName = "封装片数"; dt.Columns[9].ColumnName = "来料"; dt.Columns[10].ColumnName = "串返修"; dt.Columns[11].ColumnName = "叠返修"; dt.Columns[12].ColumnName = "不良率"; return ExportExcel(dt, "CellBatchRate"); //return ExportExcel(dt, "ShipmentsReports"); } #endregion /// /// 永臻晶科报表excel导出 /// /// /// [Route("YongzhenJinkeExcel")] [HttpPost] public FileContentResult YongzhenJinkeExcel(List para) { string bt = para[0]; string et = para[1]; string PalletLot = para[2]; //string sale_order = para[2]; //string workorder = para[3]; //不良位置 换片数量 操作人 操作人姓名 备注 分选时间 焊接机 叠层机 DataTable dt = new ReportService().YongzhenJinkeDT(bt, et,PalletLot); dt.Columns[0].ColumnName = "TTIME"; dt.Columns[1].ColumnName = "LOT_NUM"; dt.Columns[2].ColumnName = "WORK_ORDER_NO"; dt.Columns[3].ColumnName = "DEVICENUM"; dt.Columns[4].ColumnName = "AMBIENTTEMP"; dt.Columns[5].ColumnName = "INTENSITY"; dt.Columns[6].ColumnName = "FF"; dt.Columns[7].ColumnName = "EFF"; dt.Columns[8].ColumnName = "PM"; dt.Columns[9].ColumnName = "ISC"; dt.Columns[10].ColumnName = "IPM"; dt.Columns[11].ColumnName = "VOC"; dt.Columns[12].ColumnName = "VPM"; dt.Columns[13].ColumnName = "SENSORTEMP"; dt.Columns[14].ColumnName = "VC_CELLEFF"; dt.Columns[15].ColumnName = "DEC_CTM"; dt.Columns[16].ColumnName = "RS"; dt.Columns[17].ColumnName = "RSH"; dt.Columns[18].ColumnName = "SUPPLIER_NAME"; dt.Columns[19].ColumnName = "RESULT"; dt.Columns[20].ColumnName = "TYPE"; dt.Columns[21].ColumnName = "IV_TEST_KEY"; dt.Columns[22].ColumnName = "PALLET_NO"; dt.Columns[23].ColumnName = "PRO_LEVEL"; dt.Columns[24].ColumnName = "CIR_NO"; dt.Columns[25].ColumnName = "SALE_ORDER_NO"; dt.Columns[26].ColumnName = "MODEL_NAME"; dt.Columns[27].ColumnName = "CONTRACT_NO"; dt.Columns[28].ColumnName = "CUSTOMER_NAME"; return ExportExcel(dt, "YongzhenJinke"); } // /// /// 返修换片excel导出 /// /// /// [Route("RepairExcel")] [HttpPost] public FileContentResult RepairExcel(List para) { string bt = para[0]; string et = para[1]; string sale_order = para[2]; string workorder = para[3]; //不良位置 换片数量 操作人 操作人姓名 备注 分选时间 焊接机 叠层机 DataTable dt = new ReportService().RepairDT(bt, et, sale_order, workorder); dt.Columns[0].ColumnName = "订单号"; dt.Columns[1].ColumnName = "工单号"; //dt.Columns[2].ColumnName = "不良类型"; dt.Columns[2].ColumnName = "组件序列号"; dt.Columns[3].ColumnName = "组件电池片数"; dt.Columns[4].ColumnName = "组件颜色"; dt.Columns[5].ColumnName = "原电池片料号"; dt.Columns[6].ColumnName = "原电池片厂家"; dt.Columns[7].ColumnName = "原电池片功率"; dt.Columns[8].ColumnName = "原电池片批号"; dt.Columns[9].ColumnName = "新电池片料号"; dt.Columns[10].ColumnName = "新电池片厂家"; dt.Columns[11].ColumnName = "新电池片功率"; dt.Columns[12].ColumnName = "新电池片批号"; dt.Columns[13].ColumnName = "不良站点"; dt.Columns[14].ColumnName = "不良项"; dt.Columns[15].ColumnName = "不良原因"; dt.Columns[16].ColumnName = "不良位置"; dt.Columns[17].ColumnName = "换片数量"; dt.Columns[18].ColumnName = "操作人"; dt.Columns[19].ColumnName = "操作人姓名"; dt.Columns[20].ColumnName = "备注"; dt.Columns[21].ColumnName = "分选时间"; dt.Columns[22].ColumnName = "焊接机"; dt.Columns[23].ColumnName = "叠层机"; return ExportExcel(dt, "Repair"); } /// /// 收发存报表excel导出 /// /// /// [Route("ReceivedAndDepositExcel")] [HttpPost] public FileContentResult ReceivedAndDepositExcel(List para) { string bt = para[0]; string et = para[1]; string locationname = para[2]; string name = para[3]; string sale_order = para[4]; //序列 子批次 母批次 组件序列号 组件等级 组件站点 组件托盘号 组件柜号 是否入库 是否出货 DataTable dt = new ReportService().ReceivedAndDepositDT(bt, et, name, locationname, sale_order); dt.Columns[0].ColumnName = "仓库"; dt.Columns[1].ColumnName = "库位"; dt.Columns[2].ColumnName = "订单号"; dt.Columns[3].ColumnName = "柜号"; dt.Columns[4].ColumnName = "铭牌类型"; dt.Columns[5].ColumnName = "功率等级"; dt.Columns[6].ColumnName = "组件等级"; dt.Columns[7].ColumnName = "组件尺寸"; dt.Columns[8].ColumnName = "接线盒类型"; dt.Columns[9].ColumnName = "入库数量"; dt.Columns[10].ColumnName = "移入数量"; dt.Columns[11].ColumnName = "移出数量"; dt.Columns[12].ColumnName = "退库数量"; dt.Columns[13].ColumnName = "出货数量"; return ExportExcel(dt, "ReceivedAndDeposit"); //return ExportExcel(dt, "ShipmentsReports"); } ////test //[Route("ShipmentsReportsssExcel")] //[HttpPost] //public ActionResult ShipmentsReportsssExcel(dynamic para) //{ // //this.ValueProvider // string STR=this.Request.Form.ToString(); // string containerno_old = String.Empty; // string[] sArray = STR.Split('&'); // string bt = String.Empty; // string[] bt1 = sArray[0].Trim().Split('='); // string[] bt2 = sArray[1].Trim().Split('='); // string[] bt3 = sArray[2].Trim().Split('='); // string[] bt4 = sArray[3].Trim().Split('='); // string[] bt5 = sArray[4].Trim().Split('='); // string[] bt6 = sArray[5].Trim().Split('='); // //if (bt1.Count()==3) // bt = bt1[1]; // string et = String.Empty; // //if (bt2.Count() == 3) // et = bt2[1]; // string workshop = String.Empty; // //if (bt3.Count() == 3) // workshop = bt3[1]; // string product_code = String.Empty; // //if (bt4.Count() == 3) // product_code = bt4[1]; // string power_grade = String.Empty; // //if (bt5.Count() == 3) // power_grade = bt5[1]; // string containerno = String.Empty; // //if (bt6.Count() == 3) // containerno_old = bt6[1]; // //containerno_old = para.containerno; // string old = containerno_old.Replace("+"," "); // string trim = Regex.Replace(old, @"\s", " "); // containerno = "'" + trim.Replace(" ", "','") + "'"; // containerno=containerno.Replace("%23", "#"); // //if (para.containerno != null) // //{ // // string containerno_old = para.containerno; // // string trim = Regex.Replace(containerno_old, @"\s", " "); // // para.containerno = "'" + trim.Replace(" ", "','") + "'"; // //} // DataTable dt = new ReportService().ShipmentsReportDT(bt, et, workshop, product_code, power_grade, containerno); // dt.Columns[0].ColumnName = "车间"; // dt.Columns[1].ColumnName = "类型"; // dt.Columns[2].ColumnName = "功率档"; // dt.Columns[3].ColumnName = "包装日期"; // dt.Columns[4].ColumnName = "内部柜号"; // dt.Columns[5].ColumnName = "托盘号"; // dt.Columns[6].ColumnName = "序列号"; // EXCEL(dt, "ShipmentsReports"); // return ExportExcel(dt, "ShipmentsReports"); //} //出货报表导出excel [Route("ShipmentsReportssExcel")] [HttpPost] public FileContentResult ShipmentsReportssExcel(List para) { string behintime = para[0]; string endtime = para[1]; string workshop = para[2]; string product_code = para[3]; string power_grade = para[4]; string containerno_old = para[5]; string trim = Regex.Replace(containerno_old, @"\s", " "); string containerno = "'" + trim.Replace(" ", "','") + "'"; if (workshop.ToUpper() == "NULL") { workshop = ""; } if (endtime.ToUpper() == "NULL"|| endtime.ToUpper() == "UNDEFINED") { endtime = ""; } if (product_code.ToUpper() == "NULL") { product_code = ""; } if (containerno.ToUpper() == "NULL") { containerno = ""; } if (power_grade.ToUpper() == "NULL") { power_grade = ""; } //if (para.containerno != null) //{ // string containerno_old = para.containerno; // string trim = Regex.Replace(containerno_old, @"\s", " "); // para.containerno = "'" + trim.Replace(" ", "','") + "'"; //} ////DataTable dt = new ReportService().ShipmentsReportDT(behintime, endtime, workshop, product_code, power_grade, containerno); DataTable dt = new ReportService().ShipmentsReportDT(behintime, endtime, workshop, product_code, power_grade, containerno); //NO. 发货时间 订单 车间号/Workshop 型号/Type 功率档/Pnom[W] 内部柜号/Internal Container 物流公司 提单号 集装箱号 集装箱锁号 托号/Pallet No. //序列号S /N 开路电压Voc[V] 短路电流Isc[A] 工作电压Vmp[V] 工作电流Imp[A] 实测功率Pmp[W] 填充因子FF 电流档Current[A] dt.Columns[0].ColumnName = "发货时间"; dt.Columns[1].ColumnName = "订单"; dt.Columns[2].ColumnName = "车间号/Workshop"; dt.Columns[3].ColumnName = "产品类型/Type"; dt.Columns[4].ColumnName = "功率档/Pnom[W]"; dt.Columns[5].ColumnName = "内部柜号/Internal Container"; dt.Columns[6].ColumnName = "物流公司"; dt.Columns[7].ColumnName = "提单号"; dt.Columns[8].ColumnName = "集装箱号"; dt.Columns[9].ColumnName = "集装箱锁号"; dt.Columns[10].ColumnName = "包装时间"; dt.Columns[11].ColumnName = "托号/Pallet No."; dt.Columns[12].ColumnName = "序列号S /N"; //dt.Columns[13].ColumnName = "序列号S /N"; dt.Columns[13].ColumnName = "开路电压Voc[V]"; dt.Columns[14].ColumnName = "短路电流Isc[A]"; dt.Columns[15].ColumnName = "工作电压Vmp[V]"; dt.Columns[16].ColumnName = "工作电流Imp[A]"; dt.Columns[17].ColumnName = "实测功率Pmp[W]"; dt.Columns[18].ColumnName = "填充因子FF"; dt.Columns[19].ColumnName = "电流档Current[A]"; return ExportExcel(dt, "ShipmentsReports"); //return ExportExcel(dt, "ShipmentsReports"); } //包装产能统计excel #region 包装产能统计excel [Route("PackCapacityExcel")] [HttpPost] public FileContentResult PackCapacityExcel(List para) { string workshop = para[0]; string workorder= para[1]; string saleorder = para[2]; if (workshop.ToUpper() == "NULL") { workshop = ""; } if (workorder.ToUpper() == "NULL") { workorder = ""; } if (saleorder.ToUpper() == "NULL") { saleorder = ""; } //if (para.containerno != null) //{ // string containerno_old = para.containerno; // string trim = Regex.Replace(containerno_old, @"\s", " "); // para.containerno = "'" + trim.Replace(" ", "','") + "'"; //} ////DataTable dt = new ReportService().ShipmentsReportDT(behintime, endtime, workshop, product_code, power_grade, containerno); DataTable dt = new ReportService().PackCapacityDT(workshop, workorder, saleorder); //NO. 发货时间 订单 车间号/Workshop 型号/Type 功率档/Pnom[W] 内部柜号/Internal Container 物流公司 提单号 集装箱号 集装箱锁号 托号/Pallet No. //序列号S /N 开路电压Voc[V] 短路电流Isc[A] 工作电压Vmp[V] 工作电流Imp[A] 实测功率Pmp[W] 填充因子FF 电流档Current[A] dt.Columns[0].ColumnName = "车间"; dt.Columns[1].ColumnName = "工单号"; dt.Columns[2].ColumnName = "订单号"; dt.Columns[3].ColumnName = "工单总数量"; dt.Columns[4].ColumnName = "包装数量"; dt.Columns[5].ColumnName = "功率档位"; dt.Columns[6].ColumnName = "电流档位"; dt.Columns[7].ColumnName = "等级"; dt.Columns[8].ColumnName = "功率下限"; dt.Columns[9].ColumnName = "功率上限"; dt.Columns[10].ColumnName = "工单类型"; return ExportExcel(dt, "PackCapacity"); //return ExportExcel(dt, "ShipmentsReports"); } #endregion #region 一次碎片率看板excel [Route("FragmentationExcel")] [HttpPost] public FileContentResult FragmentationExcel(List para) { string workshop = para[0]; string machine = para[1]; string bt = para[2]; string et = para[3]; if (workshop.ToUpper() == "NULL") { workshop = ""; } if (machine.ToUpper() == "NULL") { machine = ""; } if (bt.ToUpper() == "NULL") { bt = ""; } if (et.ToUpper() == "NULL") { et= ""; } //if (para.containerno != null) //{ // string containerno_old = para.containerno; // string trim = Regex.Replace(containerno_old, @"\s", " "); // para.containerno = "'" + trim.Replace(" ", "','") + "'"; //} ////DataTable dt = new ReportService().ShipmentsReportDT(behintime, endtime, workshop, product_code, power_grade, containerno); DataTable dt = new ReportService().FragmentationDT(machine, workshop,bt,et); return ExportExcel(dt, "Fragmentation"); //return ExportExcel(dt, "ShipmentsReports"); } #endregion #region 一次成型率excel [Route("MoldingExcel")] [HttpPost] public FileContentResult MoldingExcel(List para) { string machine = para[0]; string workshop = para[1]; string bt = para[2]; string et = para[3]; if (machine.ToUpper() == "NULL") { machine = ""; } if (workshop.ToUpper() == "NULL") { workshop= ""; } if (bt.ToUpper() == "NULL") { bt = ""; } if (et.ToUpper() == "NULL") { et = ""; } //if (para.containerno != null) //{ // string containerno_old = para.containerno; // string trim = Regex.Replace(containerno_old, @"\s", " "); // para.containerno = "'" + trim.Replace(" ", "','") + "'"; //} ////DataTable dt = new ReportService().ShipmentsReportDT(behintime, endtime, workshop, product_code, power_grade, containerno); DataTable dt = new ReportService().MoldingDT(machine,workshop,bt,et); return ExportExcel(dt, "OnceMoldingRate"); //return ExportExcel(dt, "ShipmentsReports"); } #endregion #region 数据查询excel [Route("DataQueryExcel")] [HttpPost] public FileContentResult DataQueryExcel(List para) { string wo = para[0]; string bt = para[1]; string et = para[2]; string text = para[3]; //string text = string.empty; //if (para.containerno != null) //{ // string containerno_old = para.containerno; // string trim = regex.replace(containerno_old, @"\s", " "); // para.containerno = "'" + trim.replace(" ", "','") + "'"; //} ////DataTable dt = new ReportService().ShipmentsReportDT(behintime, endtime, workshop, product_code, power_grade, containerno); /// DataTable dt = new ReportService().QueryDT(wo,bt,et,text); return ExportExcel(dt, "DataQuery"); //return ExportExcel(dt, "ShipmentsReports"); } #endregion #region 上档率excel [Route("UpshiftRateExcel")] [HttpPost] public FileContentResult UpshiftRateExcel(List para) { string wo = para[0]; string bt = para[1]; string et = para[2]; if (wo.ToUpper() == "NULL") { wo = ""; } if (bt.ToUpper() == "NULL") { bt = ""; } if (et.ToUpper() == "NULL") { et = ""; } //if (para.containerno != null) //{ // string containerno_old = para.containerno; // string trim = Regex.Replace(containerno_old, @"\s", " "); // para.containerno = "'" + trim.Replace(" ", "','") + "'"; //} ////DataTable dt = new ReportService().ShipmentsReportDT(behintime, endtime, workshop, product_code, power_grade, containerno); DataTable dt = new ReportService().UpshiftDT(wo, bt, et); dt.Columns[0].ColumnName = "标准功率"; dt.Columns[1].ColumnName = "功率等级"; dt.Columns[2].ColumnName = "数量"; return ExportExcel(dt, "UpshiftRate"); //return ExportExcel(dt, "ShipmentsReports"); } #endregion #region 分档机组件查询excel [Route("StepperComponentsExcel")] [HttpPost] public FileContentResult StepperComponentsExcel(List para) { string wo = para[0]; string bt = para[1]; string et = para[2]; if (wo.ToUpper() == "NULL") { wo = ""; } if (bt.ToUpper() == "NULL") { bt = ""; } if (et.ToUpper() == "NULL") { et = ""; } //if (para.containerno != null) //{ // string containerno_old = para.containerno; // string trim = Regex.Replace(containerno_old, @"\s", " "); // para.containerno = "'" + trim.Replace(" ", "','") + "'"; //} ////DataTable dt = new ReportService().ShipmentsReportDT(behintime, endtime, workshop, product_code, power_grade, containerno); DataTable dt = new ReportService().StepperDT(wo, bt, et); dt.Columns[0].ColumnName = "组件序列号"; dt.Columns[1].ColumnName = "线别"; dt.Columns[2].ColumnName = "位置"; dt.Columns[3].ColumnName = "时间"; dt.Columns[4].ColumnName = "错误信息"; return ExportExcel(dt, "StepperComponent"); //return ExportExcel(dt, "ShipmentsReports"); } #endregion #region 车间质量问题统计excel [Route("QualityStatisticsExcel")] [HttpPost] public FileContentResult QualityStatisticsExcel(List para) { string wo= para[0]; string bt= para[1]; string et = para[2]; if (wo.ToUpper() == "NULL") { wo = ""; } if (bt.ToUpper() == "NULL") { bt = ""; } if (et.ToUpper() == "NULL") { et = ""; } //if (para.containerno != null) //{ // string containerno_old = para.containerno; // string trim = Regex.Replace(containerno_old, @"\s", " "); // para.containerno = "'" + trim.Replace(" ", "','") + "'"; //} ////DataTable dt = new ReportService().ShipmentsReportDT(behintime, endtime, workshop, product_code, power_grade, containerno); DataTable dt = new ReportService().QualityDT(wo,bt,et); return ExportExcel(dt, "QualityStatistics"); //return ExportExcel(dt, "ShipmentsReports"); } #endregion #region 条码补打excel [Route("BarcodeReprintExcel")] [HttpPost] public FileContentResult BarcodeReprintExcel(List para) { string wo = para[0]; string sn = para[1]; string bt = para[2]; string et = para[3]; if (wo.ToUpper() == "NULL") { wo = ""; } if (sn.ToUpper() == "NULL") { sn = ""; } if (bt.ToUpper() == "NULL") { bt = ""; } if (et.ToUpper() == "NULL") { et = ""; } //if (para.containerno != null) //{ // string containerno_old = para.containerno; // string trim = Regex.Replace(containerno_old, @"\s", " "); // para.containerno = "'" + trim.Replace(" ", "','") + "'"; //} ////DataTable dt = new ReportService().ShipmentsReportDT(behintime, endtime, workshop, product_code, power_grade, containerno); DataTable dt = new ReportService().ReprintDT(wo,sn, bt, et); dt.Columns[0].ColumnName = "序列号"; dt.Columns[1].ColumnName = "工单号"; dt.Columns[2].ColumnName = "补打时间"; dt.Columns[3].ColumnName = "操作人"; dt.Columns[4].ColumnName = "操作机台"; dt.Columns[5].ColumnName = "补打原因"; return ExportExcel(dt, "BarcodeReprint"); //return ExportExcel(dt, "ShipmentsReports"); } #endregion /// /// /在制品导出 /// /// /// /// /// /// #region 每日投产包装完成率excel [Route("DayPackCompleteExcel")] [HttpPost] public FileContentResult DayPackCompleteExcel(List para) { string workshop = para[0]; string workorder = para[1]; string saleorder = para[2]; if (workshop.ToUpper() == "NULL") { workshop = ""; } if (workorder.ToUpper() == "NULL") { workorder = ""; } if (saleorder.ToUpper() == "NULL") { saleorder = ""; } //if (para.containerno != null) //{ // string containerno_old = para.containerno; // string trim = Regex.Replace(containerno_old, @"\s", " "); // para.containerno = "'" + trim.Replace(" ", "','") + "'"; //} ////DataTable dt = new ReportService().ShipmentsReportDT(behintime, endtime, workshop, product_code, power_grade, containerno); DataTable dt = new ReportService().DayPackCompleteDT(workshop, workorder, saleorder); dt.Columns[0].ColumnName = "车间"; dt.Columns[1].ColumnName = "工单号"; dt.Columns[2].ColumnName = "订单号"; dt.Columns[3].ColumnName = "投产数量"; dt.Columns[4].ColumnName = "包装数量"; dt.Columns[5].ColumnName = "包装完工率"; return ExportExcel(dt, "PackCapacity"); //return ExportExcel(dt, "ShipmentsReports"); } #endregion #region 生码未包装组件查询excel [Route("UnPackComponentExcel")] [HttpPost] public FileContentResult UnPackComponentExcel(List para) { string workshop = para[0]; string workorder = para[1]; string saleorder = para[2]; if (workshop.ToUpper() == "NULL") { workshop = ""; } if (workorder.ToUpper() == "NULL") { workorder = ""; } if (saleorder.ToUpper() == "NULL") { saleorder = ""; } //if (para.containerno != null) //{ // string containerno_old = para.containerno; // string trim = Regex.Replace(containerno_old, @"\s", " "); // para.containerno = "'" + trim.Replace(" ", "','") + "'"; //} ////DataTable dt = new ReportService().ShipmentsReportDT(behintime, endtime, workshop, product_code, power_grade, containerno); DataTable dt = new ReportService().UnPackComponentDT(workshop, workorder, saleorder); dt.Columns[0].ColumnName = "车间"; dt.Columns[1].ColumnName = "工单号"; dt.Columns[2].ColumnName = "订单号"; dt.Columns[3].ColumnName = "当前站点"; dt.Columns[4].ColumnName = "组件序列号"; dt.Columns[5].ColumnName = "生码时间"; dt.Columns[6].ColumnName = "呆滞时间"; //dt.Columns[7].ColumnName = "生码人员"; return ExportExcel(dt, "UnPackComponent"); //return ExportExcel(dt, "ShipmentsReports"); } #endregion #region 材料批号查询excel [Route("MaterialBatchNumberExcel")] [HttpPost] public FileContentResult MaterialBatchNumberExcel(List para) { //string workshop = para[0]; string workorder = para[0]; //string saleorder = para[2]; //if (workshop.ToUpper() == "NULL") //{ // workshop = ""; //} if (workorder.ToUpper() == "NULL") { workorder = ""; } //if (saleorder.ToUpper() == "NULL") //{ // saleorder = ""; //} //if (para.containerno != null) //{ // string containerno_old = para.containerno; // string trim = Regex.Replace(containerno_old, @"\s", " "); // para.containerno = "'" + trim.Replace(" ", "','") + "'"; //} ////DataTable dt = new ReportService().ShipmentsReportDT(behintime, endtime, workshop, product_code, power_grade, containerno); DataTable dt = new ReportService().MaterialBatchNumberDT(workorder); dt.Columns[0].ColumnName = "材料名称"; dt.Columns[1].ColumnName = "母批次"; dt.Columns[2].ColumnName = "子批次"; dt.Columns[3].ColumnName = "子批次剩余数量"; dt.Columns[4].ColumnName = "子批次原数量"; dt.Columns[5].ColumnName = "母批次剩余数量"; dt.Columns[6].ColumnName = "单位"; dt.Columns[7].ColumnName = "厂商"; dt.Columns[8].ColumnName = "规格"; return ExportExcel(dt, "UnPackComponent"); //return ExportExcel(dt, "ShipmentsReports"); } #endregion #region 泛海材料用量查询excel [Route("MaterialLotExcel")] [HttpPost] public FileContentResult MaterialLotExcel(List para) { string workorder = para[0]; string orignbr = para[1]; string lotnbr = para[2]; string wo = string.Empty; if (workorder == "") { wo = ""; } else { string trim1 = Regex.Replace(workorder, @"\s", " "); wo = "'" + trim1.Replace(" ", "','") + "'"; } ////DataTable dt = new ReportService().ShipmentsReportDT(behintime, endtime, workshop, product_code, power_grade, containerno); DataTable dt = new ReportService().MaterialLotDT(wo, orignbr, lotnbr); dt.Columns[0].ColumnName = "材料名称"; dt.Columns[1].ColumnName = "母批次"; dt.Columns[2].ColumnName = "子批次"; dt.Columns[3].ColumnName = "子批次剩余数量"; dt.Columns[4].ColumnName = "子批次原数量"; dt.Columns[5].ColumnName = "母批次剩余数量"; dt.Columns[6].ColumnName = "单位"; dt.Columns[7].ColumnName = "厂商"; dt.Columns[8].ColumnName = "规格"; return ExportExcel(dt, "MaterialLotReport"); //return ExportExcel(dt, "ShipmentsReports"); } #endregion #region 泛海CTM报表查询excel [Route("CTMReportExcel")] [HttpPost] public FileContentResult CTMReportExcel(List para) { string serial = para[0]; string workorder = para[1]; string bt = para[2]; string et = para[3]; string pallet = para[4]; string serialnbr = string.Empty; //if (serial == "") //{ // serialnbr = ""; //} //else //{ // string trim1 = Regex.Replace(serial, @"\s", " "); // serialnbr = "'" + trim1.Replace(" ", "','") + "'"; //} ////DataTable dt = new ReportService().ShipmentsReportDT(behintime, endtime, workshop, product_code, power_grade, containerno); DataTable dt = new ReportService().CTMReportDT(serial, workorder, bt, et, pallet); dt.Columns[0].ColumnName = "测试时间"; dt.Columns[1].ColumnName = "组建序列号"; dt.Columns[2].ColumnName = "电池片厂家"; dt.Columns[3].ColumnName = "电池效率"; dt.Columns[4].ColumnName = "单片功率"; dt.Columns[5].ColumnName = "理论功率"; dt.Columns[6].ColumnName = "CTM"; dt.Columns[7].ColumnName = "Pmax"; dt.Columns[8].ColumnName = "Rsh"; dt.Columns[9].ColumnName = "Rs"; dt.Columns[10].ColumnName = "FF"; dt.Columns[11].ColumnName = "Isc"; dt.Columns[12].ColumnName = "Voc"; dt.Columns[13].ColumnName = "Imax"; dt.Columns[14].ColumnName = "Vmax"; dt.Columns[15].ColumnName = "车间"; dt.Columns[16].ColumnName = "机台"; dt.Columns[17].ColumnName = "表面温度"; dt.Columns[18].ColumnName = "环境温度"; dt.Columns[19].ColumnName = "背板厚度"; dt.Columns[20].ColumnName = "电池片厚度"; dt.Columns[21].ColumnName = "电池规格"; dt.Columns[22].ColumnName = "电池数量"; dt.Columns[23].ColumnName = "组件颜色"; dt.Columns[24].ColumnName = "eva厂商"; dt.Columns[25].ColumnName = "背板厂商"; dt.Columns[26].ColumnName = "玻璃厂商"; dt.Columns[27].ColumnName = "焊带"; dt.Columns[28].ColumnName = "电池片批号"; dt.Columns[29].ColumnName = "接线盒批号"; return ExportExcel(dt, "CTMReport"); //return ExportExcel(dt, "ShipmentsReports"); } #endregion #region 本月每天各工位产能excel [Route("CurEverydayStationCapacityExcel")] [HttpPost] public FileContentResult CurEverydayStationCapacityExcel(List para) { string workshop = para[0]; string year = para[1]; string month = para[2]; string station = para[3]; //string saleorder = para[2]; if (workshop.ToUpper() == "NULL") { workshop = ""; } if (year.ToUpper() == "NULL") { year = ""; } if (month.ToUpper() == "NULL") { month = ""; } if (station.ToUpper() == "NULL") { station = ""; } //if (saleorder.ToUpper() == "NULL") //{ // saleorder = ""; //} //if (para.containerno != null) //{ // string containerno_old = para.containerno; // string trim = Regex.Replace(containerno_old, @"\s", " "); // para.containerno = "'" + trim.Replace(" ", "','") + "'"; //} ////DataTable dt = new ReportService().ShipmentsReportDT(behintime, endtime, workshop, product_code, power_grade, containerno); DataTable dt = new ReportService().CurEverydayStationCapacityDT(workshop, station, year,month ); dynamic counts = dt.Columns.Count; dt.Columns[0].ColumnName = "车间"; dt.Columns[1].ColumnName = "站点"; dt.Columns[2].ColumnName = "机台"; dt.Columns[3].ColumnName = "班次"; for (var i = 4; i < counts; i++) { dt.Columns[i].ColumnName = dt.Columns[i].ColumnName; } return ExportExcel(dt, "UnPackComponent"); //return ExportExcel(dt, "ShipmentsReports"); } #endregion ////出货报表导出excel //[Route("ShipmentsReportsExcel/{workshop}/{behintime}/{endtime}/{product_code}/{power_grade}/{containerno}")] //[HttpGet] //public FileContentResult ShipmentsReportsExcel(string workshop, string behintime, string endtime, string product_code, string power_grade, string containerno) //{ // //ShipmentsReportDal DT = new ShipmentsReportDal(); // //var res = DT.ShipmentsReport(behintime, endtime, workshop, product_code, power_grade, containerno); // if (containerno != null) // { // string containerno_old = containerno; // string trim = Regex.Replace(containerno_old, @"\s", " "); // containerno = "'" + trim.Replace(" ", "','") + "'"; // } // DataTable dt = new ReportService().ShipmentsReportDT( behintime == "Null" ? "" : behintime // , endtime == "Null" ? "" : endtime // ,workshop == "Null" ? "" : workshop // , product_code == "Null" ? "" : product_code // , power_grade == "Null" ? "" : power_grade // , containerno == "Null" ? "" : containerno); // dt.Columns[0].ColumnName = "车间"; // dt.Columns[1].ColumnName = "类型"; // dt.Columns[2].ColumnName = "功率档"; // dt.Columns[3].ColumnName = "包装日期"; // dt.Columns[4].ColumnName = "内部柜号"; // dt.Columns[5].ColumnName = "托盘号"; // dt.Columns[6].ColumnName = "序列号"; // //dt.Columns[7].ColumnName = "组件等级"; // //dt.Columns[8].ColumnName = "过战时间"; // //dt.Columns[9].ColumnName = "操作员工"; // //dt.Columns[10].ColumnName = "组件状态"; // return ExportExcel(dt, "ShipmentsReports"); //} //生产在制报表统计导出excel /// /// /生产在制导出 /// /// /// /// /// /// /// [Route("StationNbrAndGoingExcel/{StartDateTime}/{EndDateTime}/{WorkShop}/{Station}/{Workorder}/{SaleOrder}/{WorkTime}")] [HttpGet] public FileContentResult StationNbrAndGoingExcel(string StartDateTime, string EndDateTime, string WorkShop, string Station, string WorkOrder, string SaleOrder,string WorkTime) { //ShipmentsReportDal DT = new ShipmentsReportDal(); //var res = DT.ShipmentsReport(behintime, endtime, workshop, product_code, power_grade, containerno); //if (containerno != null) //{ // string containerno_old = containerno; // string trim = Regex.Replace(containerno_old, @"\s", " "); // containerno = "'" + trim.Replace(" ", "','") + "'"; //} DataTable dt = new ReportService().StationNbrAndGoingDT(StartDateTime == "Null" ? "" : StartDateTime , EndDateTime == "Null" ? "" : EndDateTime , WorkShop == "Null" ? "" : WorkShop , Station == "Null" ? "" : Station , WorkOrder == "Null" ? "" : WorkOrder , SaleOrder == "Null" ? "" : SaleOrder ,WorkTime == "Null" ? "" : WorkTime ); dt.Columns[0].ColumnName = "站点编码"; dt.Columns[1].ColumnName = "站点"; dt.Columns[2].ColumnName = "车间"; dt.Columns[3].ColumnName = "过站数量"; dt.Columns[4].ColumnName = "在制数量"; //dt.Columns[5].ColumnName = "组件车间"; //dt.Columns[6].ColumnName = "EL等级"; //dt.Columns[7].ColumnName = "组件等级"; //dt.Columns[8].ColumnName = "过战时间"; //dt.Columns[9].ColumnName = "操作员工"; //dt.Columns[10].ColumnName = "组件状态"; return ExportExcel(dt, "StationNbrAndGoing"); } //组件车间产能 [Route("ShiftProductionExcel/{WorkShop}/{StartDateTime}/{EndDateTime}/{Station}/{Workorder}")] [HttpGet] public FileContentResult ShiftProductionExcel(string WorkShop, string StartDateTime, string EndDateTime,string Station, string WorkOrder,string type,string mod) { DataTable dt = new ReportService().ShiftProductionDT( WorkShop == "Null" ? "" : WorkShop , StartDateTime == "Null" ? "" : StartDateTime , EndDateTime == "Null" ? "" : EndDateTime , Station == "Null" ? "" : Station , WorkOrder == "Null" ? "" : WorkOrder , type == "Null" ? "":type , mod == "Null" ? "" : mod ) ; dt.Columns[0].ColumnName = "班组编号"; dt.Columns[1].ColumnName = "班组名称"; dt.Columns[2].ColumnName = "计划规格"; dt.Columns[3].ColumnName = "数量"; return ExportExcel(dt, "ShiftProduction"); } //生产在制报表详细导出excel [Route("StationDetailedExcel/{StartDateTime}/{EndDateTime}/{WorkShop}/{Station}/{Workorder}/{Machine}/{Saleorder}/{WorkTime}")] [HttpGet] public FileContentResult StationDetailedExcel(string StartDateTime, string EndDateTime, string WorkShop, string Station, string Workorder,string Machine, string Saleorder,string WorkTime) { //ShipmentsReportDal DT = new ShipmentsReportDal(); //var res = DT.ShipmentsReport(behintime, endtime, workshop, product_code, power_grade, containerno); //if (containerno != null) //{ // string containerno_old = containerno; // string trim = Regex.Replace(containerno_old, @"\s", " "); // containerno = "'" + trim.Replace(" ", "','") + "'"; //} DataTable dt = new ReportService().StationDetailedDT(StartDateTime == "Null" ? "" : StartDateTime , EndDateTime == "Null" ? "" : EndDateTime , WorkShop == "Null" ? "" : WorkShop , Station == "Null" ? "" : Station , Workorder == "Null" ? "" : Workorder , Machine=="Null" ? "": Machine , Saleorder == "Null" ? "" : Saleorder , WorkTime == "Null" ? "" : WorkTime ); dt.Columns[0].ColumnName = "组件条码"; dt.Columns[1].ColumnName = "工单号"; dt.Columns[2].ColumnName = "过站机台"; dt.Columns[3].ColumnName = "车间编码"; dt.Columns[4].ColumnName = "站点编码"; dt.Columns[5].ColumnName = "组件车间"; dt.Columns[6].ColumnName = "EL等级"; dt.Columns[7].ColumnName = "组件等级"; dt.Columns[8].ColumnName = "过站时间"; dt.Columns[9].ColumnName = "操作员工"; dt.Columns[10].ColumnName = "组件状态"; dt.Columns[11].ColumnName = "不良描述"; return ExportExcel(dt, "StationDetailed"); } //testexcel [Route("testExcel")] [HttpPost] public FileContentResult testExcel(List para) { DataTable dt = new ReportService().PackOutputQueryInfo("","2009-10-10","2020-10-10","","","","",""); return ExportExcel(dt, "PackOutputReport"); } public FileContentResult ExportExcel01(DataTable dt, string filename, string[] colname) { byte[] content = ExcelExportHelper.ExportExcel(dt, "", false, colname); return File(content, ExcelExportHelper.ExcelContentType, filename + DateTime.Now.ToString("yyyyMMdd") + ".xlsx"); } public FileContentResult ExportExcel(DataTable dt, string filename) { List listColName = new List(); foreach (DataColumn item in dt.Columns) { listColName.Add(item.ColumnName.ToString()); } byte[] content = ExcelExportHelper.ExportExcel(dt, "", false, listColName.ToArray()); return File(content, ExcelExportHelper.ExcelContentType, filename + DateTime.Now.ToString("yyyyMMdd") + ".xlsx"); } public void EXCEL(DataTable DT,string str) { FileInfo newFile = new FileInfo(@"d:\"+str + DateTime.Now.ToString("yyyyMMdd") + ".xlsx"); if (newFile.Exists) { newFile.Delete(); newFile = new FileInfo(@"d:\" + str + DateTime.Now.ToString("yyyyMMdd") + ".xlsx"); } using (ExcelPackage package = new ExcelPackage(newFile)) { ExcelWorksheet worksheet = package.Workbook.Worksheets.Add(str); int rows = DT.Rows.Count; int count = DT.Columns.Count; for (int i = 0;i < rows; i++) { for (int j = 0; j < count; j++) { worksheet.Cells[i+1, j+1].Value = DT.Rows[i][j].ToString(); } } //worksheet.Cells[1, 2].Value = "价格"; //worksheet.Cells[1, 3].Value = "销量"; //worksheet.Cells[2, 1].Value = "大米"; //worksheet.Cells[2, 2].Value = 56; //worksheet.Cells[2, 3].Value = 100; //worksheet.Cells[3, 1].Value = "玉米"; //worksheet.Cells[3, 2].Value = 45; //worksheet.Cells[3, 3].Value = 150; //worksheet.Cells[4, 1].Value = "小米"; //worksheet.Cells[4, 2].Value = 38; //worksheet.Cells[4, 3].Value = 130; //worksheet.Cells[5, 1].Value = "糯米"; //worksheet.Cells[5, 2].Value = 22; //worksheet.Cells[5, 3].Value = 200; package.Save(); } return ; } public static DataTable ToDataTable(IEnumerable collection) { var props = typeof(T).GetProperties(); var dt = new DataTable(); dt.Columns.AddRange(props.Select(p => new DataColumn(p.Name, p.PropertyType)).ToArray()); if (collection.Count() > 0) { for (int i = 0; i < collection.Count(); i++) { ArrayList tempList = new ArrayList(); foreach (PropertyInfo pi in props) { object obj = pi.GetValue(collection.ElementAt(i), null); tempList.Add(obj); } object[] array = tempList.ToArray(); dt.LoadDataRow(array, true); } } return dt; } /// /// DataTable 转换为List 集合 /// /// 类型 /// DataTable /// public static List ToList(DataTable dt) where TResult : class, new() { //创建一个属性的列表 List prlist = new List(); //获取TResult的类型实例 反射的入口 Type t = typeof(TResult); //获得TResult 的所有的Public 属性 并找出TResult属性和DataTable的列名称相同的属性(PropertyInfo) 并加入到属性列表 Array.ForEach(t.GetProperties(), p => { if (dt.Columns.IndexOf(p.Name) != -1) prlist.Add(p); }); //创建返回的集合 List oblist = new List(); foreach (DataRow row in dt.Rows) { //创建TResult的实例 TResult ob = new TResult(); //找到对应的数据 并赋值 prlist.ForEach(p => { if (row[p.Name] != DBNull.Value) p.SetValue(ob, row[p.Name], null); }); //放入到返回的集合中. oblist.Add(ob); } return oblist; } /// /// 转换为一个DataTable /// /// ///// /// public static DataTable ToDataTable(IEnumerable list) { //创建属性的集合 List pList = new List(); //获得反射的入口 Type type = list.AsQueryable().ElementType; DataTable dt = new DataTable(); //把所有的public属性加入到集合 并添加DataTable的列 Array.ForEach(type.GetProperties(), p => { pList.Add(p); dt.Columns.Add(p.Name, p.PropertyType); }); foreach (var item in list) { //创建一个DataRow实例 DataRow row = dt.NewRow(); //给row 赋值 pList.ForEach(p => row[p.Name] = p.GetValue(item, null)); //加入到DataTable dt.Rows.Add(row); } return dt; } [Route("PressureResistantExcel")] [HttpPost] public FileContentResult PressureResistantExcel(List para) { string lot = para[0]; string bt = para[1]; string et = para[2]; if (lot.ToUpper() == "NULL") { lot = ""; } DataTable dt = new ReportService().PressureResistantInfo(lot, bt, et ); int i = 0; dt.Columns[i++].ColumnName = "产品条码"; dt.Columns[i++].ColumnName = "位号"; dt.Columns[i++].ColumnName = "步号"; dt.Columns[i++].ColumnName = "用户Id"; dt.Columns[i++].ColumnName = "模式名称"; dt.Columns[i++].ColumnName = "源值"; dt.Columns[i++].ColumnName = "读值1"; dt.Columns[i++].ColumnName = "上限"; dt.Columns[i++].ColumnName = "读值2"; dt.Columns[i++].ColumnName = "耗时"; dt.Columns[i++].ColumnName = "结束时间"; return ExportExcel(dt, "PressureResistantReport"); } /// /// 转换为一个DataTable /// /// ///// /// //public static DataTable ToDataTable(IEnumerable value) where TResult : class //{ // //创建属性的集合 // List pList = new List(); // //获得反射的入口 // Type type = typeof(TResult); // DataTable dt = new DataTable(); // //把所有的public属性加入到集合 并添加DataTable的列 // Array.ForEach(type.GetProperties(), p => { pList.Add(p); dt.Columns.Add(p.Name, p.PropertyType); }); // foreach (var item in value) // { // //创建一个DataRow实例 // DataRow row = dt.NewRow(); // //给row 赋值 // pList.ForEach(p => row[p.Name] = p.GetValue(item, null)); // //加入到DataTable // dt.Rows.Add(row); // } // return dt; //} } }