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