From 52843c5560ea2e91b8f79c7ce28b762aadf3ee7a Mon Sep 17 00:00:00 2001 From: zzr99 <1940172413@qq.com> Date: 星期四, 30 六月 2022 12:26:29 +0800 Subject: [PATCH] 1 --- WebAPI/Controllers/SCGL/Sc_PackUnionBillController.cs | 216 ++++++++++++++++++++++++++++------------------------- 1 files changed, 115 insertions(+), 101 deletions(-) diff --git a/WebAPI/Controllers/SCGL/Sc_PackUnionBillController.cs b/WebAPI/Controllers/SCGL/Sc_PackUnionBillController.cs index 1e2e0b0..392da67 100644 --- a/WebAPI/Controllers/SCGL/Sc_PackUnionBillController.cs +++ b/WebAPI/Controllers/SCGL/Sc_PackUnionBillController.cs @@ -14,6 +14,8 @@ using NPOI.SS.UserModel; using Newtonsoft.Json; using Newtonsoft.Json.Converters; +using System.Web; +using System.Net.Http.Headers; namespace WebAPI.Controllers.SCGL { @@ -26,29 +28,45 @@ public DAL.ClsSc_PackUnionBill BillNew0 = new DAL.ClsSc_PackUnionBill(); // public DAL.ClsSc_PackUnionBill BillOld0 = new DAL.ClsSc_PackUnionBill(); // - #region 缁勬墭鍗曞垪琛� + #region [缁勬墭鍗曟煡璇㈠姛鑳絔 + /// <summary> + /// 缁勬墭鍗曟煡璇㈠姛鑳� + /// </summary> + /// <returns></returns> [Route("Sc_PackUnionBill/Get_PackUnionBillList")] [HttpGet] - public object GetMateOutBillList(int page, int limit, string sWhere) + public object Get_PackUnionBillList(int page, int limit, string sWhere,string user) { List<object> columnNameList = new List<object>(); try { + //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄� + if (!DBUtility.ClsPub.Security_Log("Sc_PackUnionBill_Query",1,false,user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏃犳潈闄愭煡璇�!"; + objJsonResult.data = null; + return objJsonResult; + } + int count = 0; int pageNum = page; int pageSize = limit; if (sWhere == null || sWhere.Equals("")) { - sWhere = " where 1=1"; + sWhere = " where 1=1 "; } else { sWhere = " where 1=1" + sWhere; } - count = new SQLHelper.ClsCN().RunProcReturn("select hmainid,鏃ユ湡,鍗曟嵁鍙�,绠卞彿鏉″舰鐮�,鍑�閲�,姣涢噸,鐨噸,鐢熶骇缁勭粐,閮ㄩ棬,鎿嶄綔鍛�,瀹㈡埛鏍囩鍙�,鐗╂枡浠g爜,鐗╂枡鍚嶇О,璁¢噺鍗曚綅浠g爜,璁¢噺鍗曚綅鍚嶇О,鏁伴噺,鍒跺崟浜�,鍒跺崟鏃ユ湡 from h_v_PackUnionBillList " + sWhere, "h_v_PackUnionBillList").Tables[0].Rows.Count; - string sql = string.Format(@"select top " + pageSize + " hmainid,鏃ユ湡,鍗曟嵁鍙�,绠卞彿鏉″舰鐮�,鍑�閲�,姣涢噸,鐨噸,鐢熶骇缁勭粐,閮ㄩ棬,鎿嶄綔鍛�,瀹㈡埛鏍囩鍙�,鐗╂枡浠g爜,鐗╂枡鍚嶇О,璁¢噺鍗曚綅浠g爜,璁¢噺鍗曚綅鍚嶇О,鏁伴噺,鍒跺崟浜�,鍒跺崟鏃ユ湡 from(select row_number() over (order by hmainid desc) as RowNumber,hmainid,鏃ユ湡,鍗曟嵁鍙�,绠卞彿鏉″舰鐮�,鍑�閲�,姣涢噸,鐨噸,鐢熶骇缁勭粐,閮ㄩ棬,鎿嶄綔鍛�,瀹㈡埛鏍囩鍙�,鐗╂枡浠g爜,鐗╂枡鍚嶇О,璁¢噺鍗曚綅浠g爜,璁¢噺鍗曚綅鍚嶇О,鏁伴噺,鍒跺崟浜�,鍒跺崟鏃ユ湡 from h_v_PackUnionBillList " + sWhere + ") as A where RowNumber >" + pageSize + " *(" + pageNum + "-1)"); + DataSet ds0 = oCn.RunProcReturn("select count(*) CountNum from h_v_PackUnionBillList "+sWhere+"", "h_v_PackUnionBillList"); + count = int.Parse(ds0.Tables[0].Rows[0]["CountNum"].ToString()); + //string sql = string.Format(@"select top " + pageSize + " hmainid,鏃ユ湡,鍗曟嵁鍙�,绠卞彿鏉″舰鐮�,鍑�閲�,姣涢噸,鐨噸,鐢熶骇缁勭粐,閮ㄩ棬,鎿嶄綔鍛�,瀹㈡埛鏍囩鍙�,鐗╂枡浠g爜,鐗╂枡鍚嶇О,璁¢噺鍗曚綅浠g爜,璁¢噺鍗曚綅鍚嶇О,鏁伴噺,鍒跺崟浜�,鍒跺崟鏃ユ湡 from(select row_number() over (order by hmainid desc) as RowNumber,hmainid,鏃ユ湡,鍗曟嵁鍙�,绠卞彿鏉″舰鐮�,鍑�閲�,姣涢噸,鐨噸,鐢熶骇缁勭粐,閮ㄩ棬,鎿嶄綔鍛�,瀹㈡埛鏍囩鍙�,鐗╂枡浠g爜,鐗╂枡鍚嶇О,璁¢噺鍗曚綅浠g爜,璁¢噺鍗曚綅鍚嶇О,鏁伴噺,鍒跺崟浜�,鍒跺崟鏃ユ湡 from h_v_PackUnionBillList " + sWhere + ") as A where RowNumber >" + pageSize + " *(" + pageNum + "-1)"); + string sql = string.Format(@"select hmainid,鏃ユ湡,鍗曟嵁鍙�,绠卞彿鏉″舰鐮�,鏉$爜,鍑�閲�,姣涢噸,鐨噸,鐢熶骇缁勭粐,閮ㄩ棬,鎿嶄綔鍛�,瀹㈡埛鏍囩鍙�,鐗╂枡浠g爜,鐗╂枡鍚嶇О,璁¢噺鍗曚綅浠g爜,璁¢噺鍗曚綅鍚嶇О,鏁伴噺,鍒跺崟浜�,鍒跺崟鏃ユ湡 from h_v_PackUnionBillList " + sWhere + " order by hmainid desc offset ((" + pageNum + "-1)*" + pageSize + ") rows fetch next " + pageSize + " rows only"); ds = new SQLHelper.ClsCN().RunProcReturn(sql, "h_v_PackUnionBillList"); string aa = ds.Tables[0].Columns[0].ToString(); @@ -60,24 +78,24 @@ columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕 } - if (ds.Tables[0].Rows.Count > 0) - { - objJsonResult.code = "1"; - objJsonResult.count = count; - objJsonResult.Message = "杩斿洖璁板綍鎴愬姛锛�"; - objJsonResult.data = JsonConvert.DeserializeObject<DataTable>(JsonConvert.SerializeObject(ds.Tables[0], new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" })); //搴忓垪鍖朌ataSet涓殑鏃堕棿鏍煎紡锛岀劧鍚庡啀鍙嶅簭鍒楀寲鍥炴潵 - objJsonResult.list = columnNameList; - return objJsonResult; - } - else - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鏆傛棤璁板綍锛�"; - objJsonResult.data = null; - objJsonResult.list = columnNameList; - return objJsonResult; - } + //if (ds.Tables[0].Rows.Count > 0) + //{ + objJsonResult.code = "1"; + objJsonResult.count = count; + objJsonResult.Message = "杩斿洖璁板綍鎴愬姛锛�"; + objJsonResult.data = JsonConvert.DeserializeObject<DataTable>(JsonConvert.SerializeObject(ds.Tables[0], new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" })); //搴忓垪鍖朌ataSet涓殑鏃堕棿鏍煎紡锛岀劧鍚庡啀鍙嶅簭鍒楀寲鍥炴潵 + objJsonResult.list = columnNameList; + return objJsonResult; + //} + //else + //{ + // objJsonResult.code = "0"; + // objJsonResult.count = 0; + // objJsonResult.Message = "鏆傛棤璁板綍锛�"; + // objJsonResult.data = null; + // objJsonResult.list = columnNameList; + // return objJsonResult; + //} } catch (Exception ex) { @@ -103,14 +121,14 @@ try { //缂栬緫鏉冮檺 - //if (!DBUtility.ClsPub.Security_Log_second("Sc_PackUnionBill", 1, true, user)) - //{ - // objJsonResult.code = "0"; - // objJsonResult.count = 0; - // objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒"; - // objJsonResult.data = null; - // return objJsonResult; - //} + if (!DBUtility.ClsPub.Security_Log_second("Sc_PackUnionBill_Drop", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒"; + objJsonResult.data = null; + return objJsonResult; + } string s = ""; Int64 lngBillKey = 0; @@ -249,7 +267,8 @@ { try { - ds = oCn.RunProcReturn("select * from h_v_Sc_StationInBillListMain order by hmainid desc", "h_v_Sc_StationInBillListMain"); + 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 = "杩斿洖璁板綍鎴愬姛锛�"; @@ -269,81 +288,76 @@ #endregion #region 鏍囧噯宸ユ椂瀵煎嚭Excel琛ㄦ牸鏁版嵁 - [Route("Sc_PackUnionBill/Sc_StationInBillSetExcel")] [HttpGet] - public object Sc_StationInBillSetExcel() + public HttpResponseMessage Sc_StationInBillSetExcel(string sWhere) { - try - { - ds = oCn.RunProcReturn("select * from h_v_Sc_StationInBillListMain order by hmainid desc", "h_v_Sc_StationInBillListMain"); - IWorkbook book = new HSSFWorkbook(); - ISheet sheet = book.CreateSheet("sheet1"); - IRow row1 = sheet.CreateRow(0); - row1.CreateCell(0).SetCellValue("杩涚珯鐢熶骇璁㈠崟鍙�"); - row1.CreateCell(1).SetCellValue("娴佽浆鍗″彿"); - row1.CreateCell(2).SetCellValue("杩涘嚭绔欐墍鐢ㄦ椂闂�"); - row1.CreateCell(3).SetCellValue("宸ユ椂"); - row1.CreateCell(4).SetCellValue("涓嶈壇鏁伴噺"); - row1.CreateCell(5).SetCellValue("鎶ュ簾鏁伴噺"); - row1.CreateCell(6).SetCellValue("杩涚珯鏁伴噺"); - row1.CreateCell(7).SetCellValue("鍑虹珯鏁伴噺"); - row1.CreateCell(8).SetCellValue("鍑虹珯鏃堕棿"); - row1.CreateCell(9).SetCellValue("杩涚珯鏃堕棿"); - row1.CreateCell(10).SetCellValue("鍒跺崟浜�"); - row1.CreateCell(11).SetCellValue("鍒跺崟鏃ユ湡"); - for (int i = 0; i < ds.Tables[0].Rows.Count; i++) - { - IRow row = sheet.CreateRow(i + 1); - row.CreateCell(0).SetCellValue(ds.Tables[0].Rows[i]["杩涚珯鐢熶骇璁㈠崟鍙�"].ToString()); - row.CreateCell(1).SetCellValue(ds.Tables[0].Rows[i]["娴佽浆鍗″彿"].ToString()); - row.CreateCell(2).SetCellValue(ds.Tables[0].Rows[i]["杩涘嚭绔欐墍鐢ㄦ椂闂�"].ToString()); - row.CreateCell(3).SetCellValue(ds.Tables[0].Rows[i]["宸ユ椂"].ToString()); - row.CreateCell(4).SetCellValue(ds.Tables[0].Rows[i]["涓嶈壇鏁伴噺"].ToString()); - row.CreateCell(5).SetCellValue(ds.Tables[0].Rows[i]["鎶ュ簾鏁伴噺"].ToString()); - row.CreateCell(6).SetCellValue(ds.Tables[0].Rows[i]["杩涚珯鏁伴噺"].ToString()); - row.CreateCell(7).SetCellValue(ds.Tables[0].Rows[i]["鍑虹珯鏁伴噺"].ToString()); - row.CreateCell(8).SetCellValue(ds.Tables[0].Rows[i]["鍑虹珯鏃堕棿"].ToString()); - row.CreateCell(9).SetCellValue(ds.Tables[0].Rows[i]["杩涚珯鏃堕棿"].ToString()); - row.CreateCell(10).SetCellValue(ds.Tables[0].Rows[i]["鍒跺崟浜�"].ToString()); - row.CreateCell(11).SetCellValue(ds.Tables[0].Rows[i]["鍒跺崟鏃ユ湡"].ToString()); - } - string filename = "C:/Users/Administrator/Desktop/鏍囧噯宸ユ椂琛�" + DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss-ffff") + ".xls"; - MemoryStream BookStream = new MemoryStream(); - book.Write(BookStream); - BookStream.Seek(0,SeekOrigin.Begin); - byte[] buffer = BookStream.ToArray(); - using (FileStream fs = new FileStream(filename, FileMode.CreateNew, FileAccess.Write)) - { - try - { - fs.Write(buffer, 0, buffer.Length); - fs.Flush(); - } - catch - { + HSSFWorkbook workbook = new HSSFWorkbook(); + ISheet sheet = workbook.CreateSheet("sheet1"); + IRow row = sheet.CreateRow(0); + - } - finally - { - fs.Dispose(); - BookStream.Dispose(); - } - } - objJsonResult.code = "1"; - objJsonResult.count = 1; - objJsonResult.Message = "鎴愬姛瀵煎嚭琛ㄦ牸鑷虫闈�"; - objJsonResult.data = null; - return objJsonResult; - } - catch (Exception ex) + 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("鍒跺崟鏃ユ湡"); + //绮剧‘鎺у埗鍒楀 + 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); + + DataSet ds = oCn.RunProcReturn("select * from h_v_Sc_StationInBillListMain" + sWhere + " order by hmainid desc", "h_v_Sc_StationInBillListMain"); + for (var i = 0; i < ds.Tables[0].Rows.Count; i++) { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "瀵煎嚭澶辫触" + ex.ToString(); - objJsonResult.data = null; - return objJsonResult; + 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()); } + 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 -- Gitblit v1.9.1