From a09ff1d01aeebae9037118035f10e06c570b092e Mon Sep 17 00:00:00 2001 From: ch <37327@LLOOCCY> Date: 星期三, 19 一月 2022 08:46:34 +0800 Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API --- WebAPI/Controllers/SCGL/Sc_PackUnionBillController.cs | 303 +++++++++++++++++++++++++++++++++++--------------- 1 files changed, 210 insertions(+), 93 deletions(-) diff --git a/WebAPI/Controllers/SCGL/Sc_PackUnionBillController.cs b/WebAPI/Controllers/SCGL/Sc_PackUnionBillController.cs index c7ede8d..7eb545f 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 { @@ -22,16 +32,54 @@ [Route("Sc_PackUnionBill/Get_PackUnionBillList")] [HttpGet] - public object GetMateOutBillList(string sWhere) + public object GetMateOutBillList(int page, int limit, string sWhere) { + List<object> columnNameList = new List<object>(); try { - ds = oCn.RunProcReturn("select * from h_v_PackUnionBillList order by 鏃ユ湡 desc", "h_v_PackUnionBillList"); - objJsonResult.code = "1"; - objJsonResult.count = 1; - objJsonResult.Message = "杩斿洖璁板綍鎴愬姛锛�"; - objJsonResult.data = ds.Tables[0]; - 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; + } + + 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)"); + 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 = 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) { @@ -54,111 +102,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", 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; } @@ -209,5 +269,62 @@ } #endregion + + #region 鏍囧噯宸ユ椂瀵煎嚭Excel琛ㄦ牸鏁版嵁 + private System.IO.Stream ExcelStream() + { + HSSFWorkbook hssfworkbook = new HSSFWorkbook(); + ISheet sheet1 = hssfworkbook.CreateSheet("sheet1"); + IRow row1 = sheet1.CreateRow(0); + ds = oCn.RunProcReturn("select * from h_v_Sc_StationInBillListMain order by hmainid desc", "h_v_Sc_StationInBillListMain"); + 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 = sheet1.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()); + } + + MemoryStream file = new MemoryStream(); + hssfworkbook.Write(file); + file.Seek(0, SeekOrigin.Begin); + return file; + } + + [Route("Sc_PackUnionBill/Sc_StationInBillSetExcel")] + [HttpGet] + public HttpResponseMessage Sc_StationInBillSetExcel() + { + var file = ExcelStream(); + HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK); + result.Content = new StreamContent(file); + result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.ms-excel"); + result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment"); + result.Content.Headers.ContentDisposition.FileName = "鏍囧噯宸ユ椂琛�.xls"; + return result; + } + + #endregion } } \ No newline at end of file -- Gitblit v1.9.1