From b8dd36090c2d503a95537281c8db833e438c48bf Mon Sep 17 00:00:00 2001
From: zzr99 <1940172413@qq.com>
Date: 星期三, 12 一月 2022 20:25:09 +0800
Subject: [PATCH] 组托

---
 WebAPI/Controllers/SCGL/Sc_PackUnionBillController.cs |  238 ++++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 145 insertions(+), 93 deletions(-)

diff --git a/WebAPI/Controllers/SCGL/Sc_PackUnionBillController.cs b/WebAPI/Controllers/SCGL/Sc_PackUnionBillController.cs
index d70dc04..08e92b7 100644
--- a/WebAPI/Controllers/SCGL/Sc_PackUnionBillController.cs
+++ b/WebAPI/Controllers/SCGL/Sc_PackUnionBillController.cs
@@ -12,6 +12,8 @@
 using System.IO;
 using NPOI.HSSF.UserModel;
 using NPOI.SS.UserModel;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
 
 namespace WebAPI.Controllers.SCGL
 {
@@ -28,16 +30,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"+ sWhere + " 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)
             {
@@ -60,111 +100,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, true, 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;
             }

--
Gitblit v1.9.1