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