From d025fb7f76a203f3d29f7041611115a00f7a010c Mon Sep 17 00:00:00 2001
From: 杨乐 <yang.le.192@qq.com>
Date: 星期一, 14 二月 2022 16:19:14 +0800
Subject: [PATCH] 无数据的情况下去掉提示,直接显示无数据的列表,且带出操作工具栏

---
 WebAPI/Controllers/SCGL/Sc_PackUnionBillController.cs |  331 +++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 239 insertions(+), 92 deletions(-)

diff --git a/WebAPI/Controllers/SCGL/Sc_PackUnionBillController.cs b/WebAPI/Controllers/SCGL/Sc_PackUnionBillController.cs
index c7ede8d..c455094 100644
--- a/WebAPI/Controllers/SCGL/Sc_PackUnionBillController.cs
+++ b/WebAPI/Controllers/SCGL/Sc_PackUnionBillController.cs
@@ -6,6 +6,16 @@
 using System.Net.Http;
 using System.Web.Http;
 using WebAPI.Models;
+using NPOI;
+using NPOI.OOXML;
+using NPOI.OpenXml4Net;
+using System.IO;
+using NPOI.HSSF.UserModel;
+using NPOI.SS.UserModel;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.Web;
+using System.Net.Http.Headers;
 
 namespace WebAPI.Controllers.SCGL
 {
@@ -18,20 +28,74 @@
         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(string sWhere)
+        public object Get_PackUnionBillList(int page, int limit, string sWhere,string user)
         {
+            List<object> columnNameList = new List<object>();
             try
             {
-                ds = oCn.RunProcReturn("select * from h_v_PackUnionBillList order by 鏃ユ湡 desc", "h_v_PackUnionBillList");
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                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 ";
+                }
+                else
+                {
+                    sWhere = " where 1=1" + sWhere;
+                }
+
+                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();
+
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                //if (ds.Tables[0].Rows.Count > 0)
+                //{
                 objJsonResult.code = "1";
-                objJsonResult.count = 1;
+                objJsonResult.count = count;
                 objJsonResult.Message = "杩斿洖璁板綍鎴愬姛锛�";
-                objJsonResult.data = ds.Tables[0];
+                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)
             {
@@ -54,111 +118,123 @@
         [HttpGet]
         public object set_DeleteBill(string HInterID, string user)
         {
-            //缂栬緫鏉冮檺
-            if (!DBUtility.ClsPub.Security_Log_second("Sc_PackUnionBill", 1, true, user))
+            try
             {
-                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;
-            lngBillKey = DBUtility.ClsPub.isLong(HInterID);
-            if (lngBillKey == 0)
-            {
-                objJsonResult.code = "0";
-                objJsonResult.count = 0;
-                objJsonResult.Message = "鍗曟嵁ID涓虹┖锛�";
-                objJsonResult.data = null;
-                return objJsonResult;
-            }
-            DAL.ClsSc_PackUnionBill oBill = new DAL.ClsSc_PackUnionBill();
-            if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
-            {
-                if (oBill.omodel.HBillStatus > 1)
+                string s = "";
+                Int64 lngBillKey = 0;
+                lngBillKey = DBUtility.ClsPub.isLong(HInterID);
+                if (lngBillKey == 0)
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鍗曟嵁褰撳墠澶勪簬涓嶈兘鍒犻櫎鐘舵��,涓嶈兘鍒犻櫎锛�";
+                    objJsonResult.Message = "鍗曟嵁ID涓虹┖锛�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
-                if (oBill.omodel.HChecker != "" && oBill.omodel.HChecker != null)
+                DAL.ClsSc_PackUnionBill oBill = new DAL.ClsSc_PackUnionBill();
+                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
                 {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = "鍗曟嵁宸茬粡瀹℃牳,涓嶈兘鍒犻櫎锛�";
-                    objJsonResult.data = null;
-                    return objJsonResult;
-                }
-                if (!DBUtility.Xt_BaseBillFun.Fun_AllowDeleteBill(oBill, ref s))
-                {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = s + "锛屼笉鍏佽鍒犻櫎";
-                    objJsonResult.data = null;
-                    return objJsonResult;
-                }
-                ds = oCn.RunProcReturn("Select * from Sc_PackUnionBillMain where HinterID='" + lngBillKey, "Sc_PackUnionBillMain");
-                var HBarCode_Pack = ds.Tables[0].Rows[0]["HBarCode_Pack"].ToString();
-                if (ds.Tables.Count < 1)
-                {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = "涓嶅瓨鍦ㄧ鐮�";
+                    if (oBill.omodel.HBillStatus > 1)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁褰撳墠澶勪簬涓嶈兘鍒犻櫎鐘舵��,涓嶈兘鍒犻櫎锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (oBill.omodel.HChecker != "" && oBill.omodel.HChecker != null)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸茬粡瀹℃牳,涓嶈兘鍒犻櫎锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (!DBUtility.Xt_BaseBillFun.Fun_AllowDeleteBill(oBill, ref s))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = s + "锛屼笉鍏佽鍒犻櫎";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    ds = oCn.RunProcReturn("Select * from Sc_PackUnionBillMain where HinterID=" + lngBillKey, "Sc_PackUnionBillMain");
+                    var HBarCode_Pack = ds.Tables[0].Rows[0]["HBarCode_Pack"].ToString();
+                    if (ds.Tables.Count < 1)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "涓嶅瓨鍦ㄧ鐮�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        //鍒ゆ柇鏄惁鍏ュ簱 
+                        ds = oCn.RunProcReturn("select * from Sc_ScanLineInStock where HBarCode_Pack='" + HBarCode_Pack + "'", "Sc_ScanLineInStock");
+                        if (ds != null && ds.Tables[0].Rows.Count > 0)
+                        {
+                            objJsonResult.code = "-1";
+                            objJsonResult.Message = "璇ョ鏉$爜宸插叆搴撲笉鍏佽鍙栨秷!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        ds = oCn.RunProcReturn("Select 1 from Gy_BarCodeBill where HBarCode='" + HBarCode_Pack + "'", "Gy_BarCodeBill");
+                        if (ds == null && ds.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.code = "-1";
+                            objJsonResult.Message = "鏃犳晥绠辨潯鐮�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        ds = oCn.RunProcReturn("Select 1 from Gy_BarCodeBill where HBarCode='" + HBarCode_Pack + "' and HStopflag='1'", "Gy_BarCodeBill");
+                        if (ds != null && ds.Tables[0].Rows.Count > 0)
+                        {
+                            objJsonResult.code = "-1";
+                            objJsonResult.Message = "姝ょ鏉$爜宸蹭綔搴�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+
+                    oCn.BeginTran();
+                    oCn.RunProc("Update  Gy_BarCodeBill set HStopflag='1'  where HBarCode='" + HBarCode_Pack + "'");
+                    oCn.RunProc("Delete From Sc_PackUnionBillSub_Sum  where HBarCode_Pack='" + HBarCode_Pack + "'");
+                    oCn.RunProc("Delete From Sc_PackUnionBillSub  where HInterID='" + lngBillKey + "'");
+                    oCn.RunProc("Delete From Sc_PackUnionBillMain  where HInterID='" + lngBillKey + "'");
+                    oCn.Commit();
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍒犻櫎鎴愬姛";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
                 else
                 {
-                    //鍒ゆ柇鏄惁鍏ュ簱 
-                    ds = oCn.RunProcReturn("select * from Sc_ScanLineInStock where HBarCode_Pack='" + HBarCode_Pack + "'", "Sc_ScanLineInStock");
-                    if (ds != null && ds.Tables[0].Rows.Count > 0)
-                    {
-                        objJsonResult.code = "-1";
-                        objJsonResult.Message = "璇ョ鏉$爜宸插叆搴撲笉鍏佽鍙栨秷!";
-                        objJsonResult.data = null;
-                        return objJsonResult;
-                    }
-
-                    ds = oCn.RunProcReturn("Select 1 from Gy_BarCodeBill where HBarCode='" + HBarCode_Pack + "'", "Gy_BarCodeBill");
-                    if (ds == null && ds.Tables[0].Rows.Count == 0)
-                    {
-                        objJsonResult.code = "-1";
-                        objJsonResult.Message = "鏃犳晥绠辨潯鐮�!";
-                        objJsonResult.data = null;
-                        return objJsonResult;
-                    }
-                    ds = oCn.RunProcReturn("Select 1 from Gy_BarCodeBill where HBarCode='" + HBarCode_Pack + "' and HStopflag='1'", "Gy_BarCodeBill");
-                    if (ds != null && ds.Tables[0].Rows.Count > 0)
-                    {
-                        objJsonResult.code = "-1";
-                        objJsonResult.Message = "姝ょ鏉$爜宸蹭綔搴�!";
-                        objJsonResult.data = null;
-                        return objJsonResult;
-                    }
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁鏈壘鍒�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
                 }
-
-                oCn.BeginTran();
-                oCn.RunProc("Update  Gy_BarCodeBill set HStopflag='1'  where HBarCode='" + HBarCode_Pack + "'");
-                oCn.RunProc("Delete From Sc_PackUnionBillSub_Sum  where HBarCode_Pack='" + HBarCode_Pack + "'");
-                oCn.RunProc("Delete From Sc_PackUnionBillSub  where HInterID='" + lngBillKey + "'");
-                oCn.RunProc("Delete From Sc_PackUnionBillMain  where HInterID='" + lngBillKey + "'");
-                oCn.Commit();
-                objJsonResult.code = "1";
-                objJsonResult.count = 1;
-                objJsonResult.Message = "鍒犻櫎鎴愬姛";
-                objJsonResult.data = null;
-                return objJsonResult;
             }
-            else
+            catch (Exception e)
             {
+                oCn.RollBack();
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "鍗曟嵁鏈壘鍒�";
+                objJsonResult.Message = e.Message;
                 objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -191,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 = "杩斿洖璁板綍鎴愬姛锛�";
@@ -209,5 +286,75 @@
         }
 
         #endregion
+
+        #region 鏍囧噯宸ユ椂瀵煎嚭Excel琛ㄦ牸鏁版嵁
+        [Route("Sc_PackUnionBill/Sc_StationInBillSetExcel")]
+        [HttpGet]
+        public HttpResponseMessage Sc_StationInBillSetExcel()
+        {
+            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("鍒跺崟鏃ユ湡");
+            //绮剧‘鎺у埗鍒楀
+            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);
+
+            DataSet ds = oCn.RunProcReturn("select * from h_v_Sc_StationInBillListMain order by hmainid desc", "h_v_Sc_StationInBillListMain");
+            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());
+            }
+            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
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1