using NPOI.HSSF.UserModel;
|
using NPOI.SS.UserModel;
|
using System;
|
using System.Collections.Generic;
|
using System.Data;
|
using System.IO;
|
using System.Linq;
|
using System.Net;
|
using System.Net.Http;
|
using System.Net.Http.Headers;
|
using System.Web.Http;
|
using WebAPI.Models;
|
|
namespace WebAPI.Controllers
|
{
|
public class Sc_PackUnionBillController : ApiController
|
{
|
public DBUtility.ClsPub.Enum_BillStatus BillStatus;//单据状态(新增,修改,浏览,更新单价,变更)
|
private json objJsonResult = new json();
|
public DataSet ds = new DataSet();
|
public SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
|
|
|
#region 标准工时单列表
|
|
[Route("Sc_PackUnionBill/GetSc_StationInBillList")]
|
[HttpGet]
|
public object GetSc_StationInBillList(string sWhere)
|
{
|
try
|
{
|
ds = oCn.RunProcReturn("select * from h_v_Sc_StationInBillListMain" + sWhere + "order by hmainid desc", "h_v_Sc_StationInBillListMain");
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "返回记录成功!";
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
catch (Exception ex)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "没有返回任何记录!" + ex.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
#endregion
|
|
#region 标准工时导出Excel表格数据
|
[Route("Sc_PackUnionBill/Sc_StationInBillSetExcel")]
|
[HttpGet]
|
public HttpResponseMessage Sc_StationInBillSetExcel(string sWhere)
|
{
|
HSSFWorkbook workbook = new HSSFWorkbook();
|
ISheet sheet = workbook.CreateSheet("sheet1");
|
IRow row = sheet.CreateRow(0);
|
|
|
row.CreateCell(0).SetCellValue("进站生产订单号");
|
row.CreateCell(1).SetCellValue("流转卡号");
|
row.CreateCell(2).SetCellValue("进出站所用时间");
|
row.CreateCell(3).SetCellValue("系统工时");
|
row.CreateCell(4).SetCellValue("工时");
|
row.CreateCell(5).SetCellValue("工序名");
|
row.CreateCell(6).SetCellValue("不良数量");
|
row.CreateCell(7).SetCellValue("报废数量");
|
row.CreateCell(8).SetCellValue("进站数量");
|
row.CreateCell(9).SetCellValue("出站数量");
|
row.CreateCell(10).SetCellValue("出站时间");
|
row.CreateCell(11).SetCellValue("进站时间");
|
row.CreateCell(12).SetCellValue("制单人");
|
row.CreateCell(13).SetCellValue("制单日期");
|
//精确控制列宽
|
sheet.SetColumnWidth(1, 5000);
|
sheet.SetColumnWidth(2, 5000);
|
sheet.SetColumnWidth(3, 5000);
|
sheet.SetColumnWidth(4, 5000);
|
sheet.SetColumnWidth(5, 5000);
|
sheet.SetColumnWidth(6, 5000);
|
sheet.SetColumnWidth(7, 5000);
|
sheet.SetColumnWidth(8, 5000);
|
sheet.SetColumnWidth(9, 5000);
|
sheet.SetColumnWidth(10, 5000);
|
sheet.SetColumnWidth(11, 5000);
|
sheet.SetColumnWidth(12, 5000);
|
sheet.SetColumnWidth(13, 5000);
|
sheet.SetColumnWidth(14, 5000);
|
LogService.Write("swhere:" + sWhere);
|
string sql = "select * from h_v_Sc_StationInBillListMain" + sWhere + " order by hmainid desc";
|
DataSet ds = oCn.RunProcReturn(sql, "h_v_Sc_StationInBillListMain");
|
LogService.Write("sql语句:" + sql);
|
for (var i = 0; i < ds.Tables[0].Rows.Count; i++)
|
{
|
IRow row1 = sheet.CreateRow(i + 1);
|
row1.CreateCell(0).SetCellValue(ds.Tables[0].Rows[i]["进站生产订单号"].ToString());
|
row1.CreateCell(1).SetCellValue(ds.Tables[0].Rows[i]["流转卡号"].ToString());
|
row1.CreateCell(2).SetCellValue(ds.Tables[0].Rows[i]["进出站所用时间"].ToString());
|
row1.CreateCell(3).SetCellValue(ds.Tables[0].Rows[i]["进出站所用时间(小时)"].ToString());
|
row1.CreateCell(4).SetCellValue(ds.Tables[0].Rows[i]["工时"].ToString());
|
row1.CreateCell(5).SetCellValue(ds.Tables[0].Rows[i]["工序名"].ToString());
|
row1.CreateCell(6).SetCellValue(ds.Tables[0].Rows[i]["不良数量"].ToString());
|
row1.CreateCell(7).SetCellValue(ds.Tables[0].Rows[i]["报废数量"].ToString());
|
row1.CreateCell(8).SetCellValue(ds.Tables[0].Rows[i]["进站数量"].ToString());
|
row1.CreateCell(9).SetCellValue(ds.Tables[0].Rows[i]["出站数量"].ToString());
|
row1.CreateCell(10).SetCellValue(ds.Tables[0].Rows[i]["出站时间"].ToString());
|
row1.CreateCell(11).SetCellValue(ds.Tables[0].Rows[i]["进站时间"].ToString());
|
row1.CreateCell(12).SetCellValue(ds.Tables[0].Rows[i]["制单人"].ToString());
|
row1.CreateCell(13).SetCellValue(ds.Tables[0].Rows[i]["制单日期"].ToString());
|
}
|
System.IO.MemoryStream ms = new System.IO.MemoryStream();
|
workbook.Write(ms);
|
ms.Position = 0;
|
|
var response = new HttpResponseMessage(HttpStatusCode.OK);
|
response.Content = new StreamContent(ms);
|
|
response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
|
var fileName = "标准工时.xls";
|
|
response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
|
{
|
FileName = System.Web.HttpUtility.UrlEncode(fileName)
|
};
|
return response;
|
}
|
|
#endregion
|
}
|
}
|