From 23dbc5b616dfa1a2bcb1fa4302637b8df701f43c Mon Sep 17 00:00:00 2001
From: yxj <yxj@hz-kingdee.com>
Date: 星期四, 24 四月 2025 13:27:12 +0800
Subject: [PATCH] 1

---
 WebAPI/Controllers/MateOutController.cs | 2282 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 2,272 insertions(+), 10 deletions(-)

diff --git a/WebAPI/Controllers/MateOutController.cs b/WebAPI/Controllers/MateOutController.cs
index 8c1d146..6c21da1 100644
--- a/WebAPI/Controllers/MateOutController.cs
+++ b/WebAPI/Controllers/MateOutController.cs
@@ -1,5 +1,6 @@
 锘縰sing DBUtility;
 using Model;
+using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using SQLHelper;
 using System;
@@ -9,11 +10,15 @@
 using System.Linq;
 using System.Net;
 using System.Net.Http;
+using System.Text.RegularExpressions;
 using System.Web;
 using System.Web.Http;
 using WebAPI;
 using WebAPI.Code;
+using WebAPI.Controllers.SCGL.鏃ヨ鍒掔鐞�;
 using WebAPI.Models;
+using static WebAPI.Controllers.鍩虹璧勬枡.鍩虹璧勬枡.Gy_DutyBillController;
+
 namespace WebAPI.Controllers
 {
     public class MateOutController : ApiController
@@ -48,7 +53,8 @@
         public WebS.ClsKf_ICStockBill_WMS WebSoBar = new WebS.ClsKf_ICStockBill_WMS();
        // private DataBaseServices objDataBaseServices = new DataBaseServices();
         private json objJsonResult = new json();
-       // private string msgModel = "{{\"count\":{0},\"code\":{0},\"message\":\"{1}\",\"result\":{2}}}";
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+        // private string msgModel = "{{\"count\":{0},\"code\":{0},\"message\":\"{1}\",\"result\":{2}}}";
         public static string GetSession(string sMsg)
         {
             try
@@ -132,6 +138,7 @@
                 WebS.ClsKf_ICStockBill_WMS WebSoBar = new WebS.ClsKf_ICStockBill_WMS();
                 WebS.WebService1 oWebs = new WebS.WebService1();
                 WebSoBar = oWebs.get_SourceBarCode_MateOut(sInterID, sBillNo, HBillType, HSourceBillNo, HSourceBillType, sMaker, sPPQty, sPlanMode, sFIFOWHID, HOWNERID, ref DBUtility.ClsPub.sErrInfo);
+                
                 //oBar = webserver.get_CheckTypeByBarCode_Out(sCode, sInterID, HBillType, sBillNo, sMaker, WhID, SPID, sQty, sRedBlue, SourceFlag, sSourceBillNo, sSourceType, HOWNERID, ref DBUtility.ClsPub.sErrInfo);
                 if (WebSoBar == null)
                 {
@@ -156,6 +163,79 @@
                 objJsonResult.count = 0;
                 objJsonResult.Message = e.Message.ToString();
                 objJsonResult.data = DBUtility.ClsPub.sErrInfo;
+                return objJsonResult;
+            }
+
+        }
+
+
+        [Route("MateOut/set_SavePonderationBillMain_Temp_Mate_Source_Fast_Json_Back")]
+        [HttpGet]
+        public object set_SavePonderationBillMain_Temp_Mate_Source_Fast_Json_Back(Int64 sInterID, string sBillNo, string HBillType, string sSourceBillNo, string sSourceType, string sRedBlue)
+        {
+
+            try
+            {
+                // DataSet ds = new DataSet();
+                // WebServer webserver = new WebServer();
+
+                WebS.WebService1 oWebs = new WebS.WebService1();
+                string sWhere = " Where 鍗曟嵁鍙� like '%" + sSourceBillNo.Trim() + "'";
+                //鏍规嵁婧愬崟绫诲瀷鏉ヨ皟鐢ㄤ笉鍚岀殑WEBS鏂规硶 new 
+                if (sSourceType == "3720" && HBillType =="1204")
+                {
+                    ds = oWebs.GetSc_PPBomBillList(sWhere + "  ");
+                }
+                if (sSourceType == "3720" && HBillType == "1244")
+                {
+                    ds = oWebs.GetSc_PPBomBackBillList(sWhere + "  ");
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍,婧愬崟绫诲瀷鏈夐敊璇紒";
+                    objJsonResult.data = null;
+                    return objJsonResult; ;
+                }
+                //
+                if (ds == null || ds.Tables[0].Rows.Count <= 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + sSourceType;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                    //DBUtility.ClsPub.MessageBeep((int)DBUtility.ClsPub.BeepType.Warning);
+                }
+                else
+                {
+                   
+                    if (oWebs.set_SavePonderationBillMain_Temp_Source_Fast(sInterID, sBillNo, HBillType, sSourceBillNo, sSourceType, "绾㈠瓧", ref DBUtility.ClsPub.sErrInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "杩斿洖璁板綍鎴愬姛锛�";
+                        objJsonResult.data = ds.Tables[0];
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍐欏叆涓存椂琛ㄥけ璐ワ紒" + DBUtility.ClsPub.sErrInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + ex.ToString();
+                objJsonResult.data = null;
                 return objJsonResult;
             }
 
@@ -458,8 +538,8 @@
                 List<Model.ClsKf_MateOutBillMain> lsmain = new List<Model.ClsKf_MateOutBillMain>();
                 ListModels oListModels = new ListModels();
                 lsmain = oListModels.getMateOutBillMainByJson(msg1);
-                lsmain[0].HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
-                lsmain[0].HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));
+                //lsmain[0].HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                //lsmain[0].HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));
                 string sSourceBillType = lsmain[0].HBillType;//婧愬崟绫诲瀷
 
                 WebAPI.WebS.ClsKf_MateOutBillMain websLsmain = new WebS.ClsKf_MateOutBillMain();
@@ -469,6 +549,9 @@
                 websLsmain.HBillNo = lsmain[0].HBillNo;
                 websLsmain.HDeptID = lsmain[0].HDeptID;
                 websLsmain.HEmpID = lsmain[0].HEmpID;
+                websLsmain.HKeeperID = lsmain[0].HKeeperID;
+                websLsmain.HSecManagerID = lsmain[0].HSecManagerID;
+                websLsmain.HBillerID = lsmain[0].HBillerID;
                 websLsmain.HRemark = lsmain[0].HRemark;
                 websLsmain.HMaker = lsmain[0].HMaker;
                 websLsmain.HBillType = "1204";//鍥哄畾鍊�
@@ -477,7 +560,8 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 1;
-                    objJsonResult.Message = "鐢熸垚棰嗘枡鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�";
+                    objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //鎴愬姛锛�
+                    //objJsonResult.Message = "鐢熸垚棰嗘枡鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -485,7 +569,8 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "涓婁紶澶辫触锛�" + DBUtility.ClsPub.sErrInfo;
+                    objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //澶辫触锛�
+                    //objJsonResult.Message = "涓婁紶澶辫触锛�" + DBUtility.ClsPub.sErrInfo;
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -542,7 +627,8 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 1;
-                    objJsonResult.Message = "鐢熸垚閫�鏂欏崟鎴愬姛锛佸崟鎹彿涓猴細";
+                    objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //鎴愬姛锛�
+                    //objJsonResult.Message = "鐢熸垚閫�鏂欏崟鎴愬姛锛佸崟鎹彿涓猴細";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -550,7 +636,8 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "涓婁紶澶辫触锛�" + DBUtility.ClsPub.sErrInfo;
+                    objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //澶辫触锛�
+                    //objJsonResult.Message = "涓婁紶澶辫触锛�" + DBUtility.ClsPub.sErrInfo;
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -577,10 +664,25 @@
         [HttpGet]
         public Object get_CheckTypeByBarCode_Json(string sCode, Int64 sInterID, string HBillType, string sBillNo, string sMaker, Int64 WhID, Int64 SPID, Double sQty, bool sRedBlue, bool SourceFlag, string sSourceBillNo, string sSourceType, Int64 HOWNERID)
         {
+           
             try
             {
+                string sErrMsg = "";
+                string sJXCode = "";
+                if (oSystemParameter.omodel.WMS_CampanyName == "瀹夌憺") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                {
+                    sJXCode = POStockInBillController.JX_Json(sCode, sInterID, HBillType, HOWNERID, sBillNo, sMaker);
+                    SourceFlag = true;
+                }
+                else
+                {
+                    sJXCode = sCode;
+                }
+
+
+                //var sJXCode = POStockInBillController.JX_Json(sCode, sInterID, HBillType, HOWNERID, sBillNo,sMaker);
                 string sExpressNumber = "";
-                WebSoBar = oWebs.get_CheckTypeByBarCode_All(sCode, sInterID, HBillType, sBillNo, sMaker, WhID, SPID, sQty, sRedBlue, SourceFlag, sSourceBillNo, sSourceType, HOWNERID, sExpressNumber, ref DBUtility.ClsPub.sErrInfo);
+                WebSoBar = oWebs.get_CheckTypeByBarCode_All(sJXCode, sInterID, HBillType, sBillNo, sMaker, WhID, SPID, sQty, sRedBlue, SourceFlag, sSourceBillNo, sSourceType, HOWNERID, sExpressNumber, ref DBUtility.ClsPub.sErrInfo);
 
 
                 //oBar = webserver.get_CheckTypeByBarCode_Out(sCode, sInterID, HBillType, sBillNo, sMaker, WhID, SPID, sQty, sRedBlue, SourceFlag, sSourceBillNo, sSourceType, HOWNERID, ref DBUtility.ClsPub.sErrInfo);
@@ -789,9 +891,129 @@
                     objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
                     objJsonResult.data = new
                     {
-                        list = ds.Tables[0],
+                        list = ds.Tables[0]
+                        ,
                         list2 = ds.Tables[5]
                     };
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+
+
+        //鐢熶骇閫�鏂欐壂鐮佸埛鏂拌〃浣撴柟娉�
+        [Route("MateOutBackBill/DisBillEntryList")]
+        [HttpGet]
+        public object DisBillEntryList(long HBillID, string HBillType, string sWhere)
+        {
+            try
+            {
+                ds = oWebs.GetKf_PonderationBillMain_Temp(HBillID, HBillType, sWhere);
+                if (ds == null || ds.Tables[0].Rows.Count <= 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                    //DBUtility.ClsPub.MessageBeep((int)DBUtility.ClsPub.BeepType.Warning);
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+                    objJsonResult.data = new
+                    {
+                        list = ds.Tables[0]
+                        //,
+                        //list2 = ds.Tables[5]
+                    };
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+
+        //閫変腑琛ㄤ綋  鏍规嵁鍗曟嵁涓籌D杩斿洖鏀舵枡閫氱煡鍗曚竴浜涗俊鎭�
+        [Route("QCStockInCheckBill/DisBillEntryList_Webs_New_Json1")]
+        [HttpGet]
+        public object DisBillEntryList_Webs_New_Json1(long HInterID,long HEntryID)
+        {
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                ds = oCN.RunProcReturn("select * from h_v_QCStockInCheckBillList where HInterID = " + HInterID + " and HEntryID = " + HEntryID + "", "h_v_QCStockInCheckBillList");
+                if (ds == null || ds.Tables[0].Rows.Count <= 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                    //DBUtility.ClsPub.MessageBeep((int)DBUtility.ClsPub.BeepType.Warning);
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+
+        //閫変腑琛ㄤ綋  鏍规嵁鍗曟嵁涓籌D杩斿洖宸ュ簭姹囨姤鍗曚竴浜涗俊鎭�
+        [Route("SCStockInCheckBill/DisBillEntryList_Webs_New_Json2")]
+        [HttpGet]
+        public object DisBillEntryList_Webs_New_Json2(long HInterID, long HEntryID)
+        {
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                ds = oCN.RunProcReturn("select * from h_v_SCStockInCheckBillList where HInterID = " + HInterID + " and HEntryID = " + HEntryID + "", "h_v_SCStockInCheckBillList");
+                if (ds == null || ds.Tables[0].Rows.Count <= 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                    //DBUtility.ClsPub.MessageBeep((int)DBUtility.ClsPub.BeepType.Warning);
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
                     return objJsonResult;
                 }
             }
@@ -830,6 +1052,56 @@
                     objJsonResult.count = 1;
                     objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
                     objJsonResult.data = ds.Tables[0];
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+
+        //鍒锋柊琛ㄤ綋  杩斿洖鏉$爜搴撳瓨淇℃伅缃戦〉PDA鐗�
+        [Route("KF_ICInventoryByMaterID/GetBillEntry_TmpList_Pack1")]
+        [HttpGet]
+        public object GetBillEntry_TmpList_Pack1(string HBarCode, long sHWHID, long sHSPID, long HOWNERID, string sWhere)
+        {
+            try
+            {
+
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                List<object> columnNameList = new List<object>();
+                DataSet ds = oCN.RunProcReturn("exec h_p_KF_ICInventoryByMaterIDList1 '" + HBarCode + "'," + sHWHID + "," + sHSPID+","+ HOWNERID+",'"+ sWhere+"'", "h_p_KF_ICInventoryByMaterIDList");
+                //娣诲姞鍒楀悕
+                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 == null || ds.Tables[0].Rows.Count <= 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                    //DBUtility.ClsPub.MessageBeep((int)DBUtility.ClsPub.BeepType.Warning);
+                }
+                else
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    objJsonResult.list = columnNameList;
                     return objJsonResult;
                 }
             }
@@ -1056,6 +1328,1996 @@
                 return objJsonResult;
             }
         }
-     
+
+
+
+        #region 鐧藉澂鍙戝竷姹囨�绘姤琛�
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
+        //private json objJsonResult = new json();
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        //DataSet ds;
+
+        public class MaterOutSumReport
+        {
+            public DateTime HBeginDate;
+            public DateTime HEndDate;
+            public string HMaterNumber;
+            public string HBillNo;
+            public string HProductName;
+            public string HProductModel;
+            public string RandomSearch;
+            public string OtherSearch;
+        }
+
+        #region 鐧藉澂鍙戝竷姹囨�绘姤琛�
+        [Route("MaterOutSumReport/MaterOutSumReport_Cloth")]
+        [HttpGet]
+        public object MaterOutSumReport_Cloth(string sWhere, string user)
+        {
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Kf_MaterOutSumReport_Cloth", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //鍙嶅簭鍒楀寲浼犻�掔殑鍊�
+                MaterOutSumReport com = JsonConvert.DeserializeObject<MaterOutSumReport>(sWhere.ToString());
+
+                string sql = "" +
+                    "( (鏃ユ湡 between ''" + com.HBeginDate + "'' and ''" + com.HEndDate + "'') or (''" + com.HBeginDate + "'' = '''' and ''" + com.HEndDate + "''='''') ) " +
+                    "and (浜у搧浠g爜=''" + com.HMaterNumber + "'' or ''" + com.HMaterNumber + "''='''') " +
+                    "and (鍗曟嵁鍙�=''" + com.HBillNo + "'' or ''" + com.HBillNo + "''='''') " +
+                    "and (浜у搧鍚嶇О=''" + com.HProductName + "'' or ''" + com.HProductName + "''='''') " +
+                    "and (瑙勬牸鍨嬪彿=''" + com.HProductModel + "'' or ''" + com.HProductModel + "''='''') " + com.RandomSearch +
+                    " " + com.OtherSearch;
+
+                //string sql = "" +
+                //    "( (鏃ユ湡 between ''" + com.HBeginDate + "'' and ''" + com.HEndDate + "'') or (''" + com.HBeginDate + "'' = '''' and ''" + com.HEndDate + "''='''') ) " +
+                //    "and (浜у搧浠g爜=''" + com.HMaterNumber + "'' or ''" + com.HMaterNumber + "''='''') " +
+                //    "and (鍗曟嵁鍙�=''" + com.HBillNo + "'' or ''" + com.HBillNo + "''='''') " +
+                //    "and (浜у搧鍚嶇О=''" + com.HProductName + "'' or ''" + com.HProductName + "''='''') " +
+                //    "and (瑙勬牸鍨嬪彿=''" + com.HProductModel + "'' or ''" + com.HProductModel + "''='''') " + com.RandomSearch;
+
+                ds = oCN.RunProcReturn($"exec h_p_Kf_MaterOutSumReport_Cloth_New '{sql}'" , "h_p_Kf_MaterOutSumReport_Cloth_New");
+
+                //鑾峰彇鍒楀悕
+                List<object> columnNameList = new List<object>();
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    //int headLen = col.ColumnName.ToString().Length;        //鍒楀悕鐨勯暱搴�
+                    //int colLen = 0;
+                    //if (ds.Tables[1].Rows[0][col.ColumnName] != null)
+                    //{
+                    //    string colLenStr=ds.Tables[1].Rows[0][col.ColumnName].ToString();
+                    //    if(colLenStr != "")
+                    //    {
+                    //        colLen = int.Parse(colLenStr);   //鍒椾腑鏈�闀挎暟鎹殑闀垮害
+                    //    }
+                        
+                    //}
+                    //colLen = (headLen >= colLen) ? headLen : colLen;
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name  + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  鐧藉澂鍙戝竷鏄庣粏鎶ヨ〃
+        [Route("MaterOutEntryReport/MaterOutEntryReport_Cloth")]
+        [HttpGet]
+        public object MaterOutEntryReport_Cloth(string sWhere, string user)
+        {
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Kf_MaterOutEntryReport_Cloth", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //鍙嶅簭鍒楀寲浼犻�掔殑鍊�
+                MaterOutSumReport com = JsonConvert.DeserializeObject<MaterOutSumReport>(sWhere.ToString());
+
+                string sql = "" +
+                    "( (鏃ユ湡 between ''" + com.HBeginDate + "'' and ''" + com.HEndDate + "'') or (''" + com.HBeginDate + "'' = '''' and ''" + com.HEndDate + "''='''') ) " +
+                    "and (浜у搧浠g爜=''" + com.HMaterNumber + "'' or ''" + com.HMaterNumber + "''='''') " +
+                    "and (浠诲姟鍗�=''" + com.HBillNo + "'' or ''" + com.HBillNo + "''='''') " +
+                    "and (浜у搧鍚嶇О=''" + com.HProductName + "'' or ''" + com.HProductName + "''='''') " +
+                    "and (瑙勬牸鍨嬪彿=''" + com.HProductModel + "'' or ''" + com.HProductModel + "''='''') " + com.RandomSearch;
+
+                ds = oCN.RunProcReturn($"exec h_p_Kf_MaterOutEntryReport_Cloth_New '{sql}'", "h_p_Kf_MaterOutEntryReport_Cloth_New");
+
+                DataTable dt = ds.Tables[0];
+
+                //鑾峰彇鍒楀悕
+                List<object> columnNameList = new List<object>();
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    //int headLen = col.ColumnName.ToString().Length;        //鍒楀悕鐨勯暱搴�
+                    //int colLen = 0;
+                    //if (ds.Tables[1].Rows[0][col.ColumnName] != null)
+                    //{
+                    //    string colLenStr = ds.Tables[1].Rows[0][col.ColumnName].ToString();
+                    //    if (colLenStr != "")
+                    //    {
+                    //        colLen = int.Parse(colLenStr);   //鍒椾腑鏈�闀挎暟鎹殑闀垮害
+                    //    }
+
+                    //}
+                    //colLen = (headLen >= colLen) ? headLen : colLen;
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name  + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = dt;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鏌撳巶姹囨�绘姤琛�
+
+        #region 鏌撳巶姹囨�绘姤琛�
+        [Route("ProdProcessSumReport/ProdProcessSumReport_DyeColor")]
+        [HttpGet]
+        public object ProdProcessSumReport_DyeColor(string sWhere, string user)
+        {
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Kf_ProdProcessSumReport_DyeColor", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //鍙嶅簭鍒楀寲浼犻�掔殑鍊�
+                MaterOutSumReport com = JsonConvert.DeserializeObject<MaterOutSumReport>(sWhere.ToString());
+
+                string sql = "" +
+                    "( (鐢熶骇璁㈠崟鏃ユ湡 between ''" + com.HBeginDate + "'' and ''" + com.HEndDate + "'') or (''" + com.HBeginDate + "'' = '''' and ''" + com.HEndDate + "''='''') ) " +
+                    "and (浜у搧浠g爜=''" + com.HMaterNumber + "'' or ''" + com.HMaterNumber + "''='''') " +
+                    "and (鐢熶骇璁㈠崟鍙�=''" + com.HBillNo + "'' or ''" + com.HBillNo + "''='''') " +
+                    "and (浜у搧鍚嶇О=''" + com.HProductName + "'' or ''" + com.HProductName + "''='''') " +
+                    "and (瑙勬牸鍨嬪彿=''" + com.HProductModel + "'' or ''" + com.HProductModel + "''='''') " + com.RandomSearch +
+                    " " + com.OtherSearch;
+
+                //string sql = "" +
+                //    "( (鐢熶骇璁㈠崟鏃ユ湡 between ''" + com.HBeginDate + "'' and ''" + com.HEndDate + "'') or (''" + com.HBeginDate + "'' = '''' and ''" + com.HEndDate + "''='''') ) " +
+                //    "and (浜у搧浠g爜=''" + com.HMaterNumber + "'' or ''" + com.HMaterNumber + "''='''') " +
+                //    "and (鐢熶骇璁㈠崟鍙�=''" + com.HBillNo + "'' or ''" + com.HBillNo + "''='''') " +
+                //    "and (浜у搧鍚嶇О=''" + com.HProductName + "'' or ''" + com.HProductName + "''='''') " +
+                //    "and (瑙勬牸鍨嬪彿=''" + com.HProductModel + "'' or ''" + com.HProductModel + "''='''') " + com.RandomSearch;
+
+                ds = oCN.RunProcReturn($"exec h_p_Kf_ProdProcessSumReport_DyeColor '{sql}'", "h_p_Kf_ProdProcessSumReport_DyeColor");
+
+                //鑾峰彇鍒楀悕
+                List<object> columnNameList = new List<object>();
+                //娣诲姞鍒楀悕
+                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鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
+        #region 鏌撳巶鏄庣粏鎶ヨ〃
+        [Route("ProdProcessEntryReport/ProdProcessEntryReport_DyeColor")]
+        [HttpGet]
+        public object ProdProcessEntryReport_DyeColor(string sWhere,string sProcessNo,string user)
+        {
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Kf_ProdProcessEntryReport_DyeColor", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //鍙嶅簭鍒楀寲浼犻�掔殑鍊�
+                MaterOutSumReport com = JsonConvert.DeserializeObject<MaterOutSumReport>(sWhere.ToString());
+
+                string sql = "" +
+                    "( (鐢熶骇璁㈠崟鏃ユ湡 between ''" + com.HBeginDate + "'' and ''" + com.HEndDate + "'') or (''" + com.HBeginDate + "'' = '''' and ''" + com.HEndDate + "''='''') ) " +
+                    "and (浜у搧浠g爜=''" + com.HMaterNumber + "'' or ''" + com.HMaterNumber + "''='''') " +
+                    "and (鐢熶骇璁㈠崟鍙�=''" + com.HBillNo + "'' or ''" + com.HBillNo + "''='''') " +
+                    "and (浜у搧鍚嶇О=''" + com.HProductName + "'' or ''" + com.HProductName + "''='''') " +
+                    "and (浜у搧瑙勬牸=''" + com.HProductModel + "'' or ''" + com.HProductModel + "''='''') " +
+                    "and (娴佽浆鍗″彿=''" + sProcessNo + "'' or ''"+ sProcessNo + "''= '''')" + com.RandomSearch;
+
+                ds = oCN.RunProcReturn($"exec h_p_Kf_ProdProcessEntryReport_DyeColor '{sql}'", "h_p_Kf_ProdProcessEntryReport_DyeColor");
+
+                //鑾峰彇鍒楀悕
+                List<object> columnNameList = new List<object>();
+                //娣诲姞鍒楀悕
+                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鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
+        #region 鏌撳巶浜ч噺鎶ヨ〃
+        [Route("ProdProcessSumReport/ProdProcessSumReport_DyeColor_third")]
+        [HttpGet]
+        public object ProdProcessSumReport_DyeColor_third(string sWhere,string user)
+        {
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Kf_ProdProcessSumReport_DyeColor_third", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //鍙嶅簭鍒楀寲浼犻�掔殑鍊�
+                MaterOutSumReport com = JsonConvert.DeserializeObject<MaterOutSumReport>(sWhere.ToString());
+
+                string sql = "" +
+                    "( (鏌撳巶鍑虹珯鏃ユ湡 between ''" + com.HBeginDate + "'' and ''" + com.HEndDate + "'') or (''" + com.HBeginDate + "'' = '''' and ''" + com.HEndDate + "''='''') ) " +
+                    "and (浜у搧浠g爜=''" + com.HMaterNumber + "'' or ''" + com.HMaterNumber + "''='''') " +
+                    "and (鐢熶骇璁㈠崟鍙�=''" + com.HBillNo + "'' or ''" + com.HBillNo + "''='''') " +
+                    "and (浜у搧鍚嶇О=''" + com.HProductName + "'' or ''" + com.HProductName + "''='''') " +
+                    "and (浜у搧瑙勬牸=''" + com.HProductModel + "'' or ''" + com.HProductModel + "''='''') " + com.RandomSearch +
+                    " " + com.OtherSearch; ;
+
+                ds = oCN.RunProcReturn($"exec h_p_Kf_ProdProcessSumReport_DyeColor_third '{sql}'", "h_p_Kf_ProdProcessSumReport_DyeColor_third");
+
+                //鑾峰彇鍒楀悕
+                List<object> columnNameList = new List<object>();
+                //娣诲姞鍒楀悕
+                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鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鐑樺共瀹氬瀷鍑虹珯
+        [Route("ProdProcessSumReport/Kf_DryFinalizeOutReport")]
+        [HttpGet]
+        public object Kf_DryFinalizeOutReport(string sWhere, string user)
+        {
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Kf_DryFinalizeOutReport", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn($"select * from h_v_Kf_DryFinalizeOutReport where 1=1 "+sWhere, "h_v_Kf_DryFinalizeOutReport");
+
+                //鑾峰彇鍒楀悕
+                List<object> columnNameList = new List<object>();
+                //娣诲姞鍒楀悕
+                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鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 涓婃祮瀹氬瀷鍑虹珯
+        [Route("ProdProcessSumReport/Kf_SizingFinalizeOutReport")]
+        [HttpGet]
+        public object Kf_SizingFinalizeOutReport(string sWhere, string user)
+        {
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Kf_SizingFinalizeOutReport", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn($"select * from h_v_Kf_SizingFinalizeOutReport where 1=1 " + sWhere, "h_v_Kf_SizingFinalizeOutReport");
+
+                //鑾峰彇鍒楀悕
+                List<object> columnNameList = new List<object>();
+                //娣诲姞鍒楀悕
+                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鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鍒锋瘺鍑虹珯
+        [Route("ProdProcessSumReport/Kf_BrushingOutReport")]
+        [HttpGet]
+        public object Kf_BrushingOutReport(string sWhere, string user)
+        {
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Kf_BrushingOutReport", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn($"select * from h_v_Kf_BrushingOutReport where 1=1 " + sWhere, "h_v_Kf_BrushingOutReport");
+
+                //鑾峰彇鍒楀悕
+                List<object> columnNameList = new List<object>();
+                //娣诲姞鍒楀悕
+                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鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鑹插澂鐑厜鍑虹珯
+        [Route("ProdProcessSumReport/Kf_ColorBlankLustringOutReport")]
+        [HttpGet]
+        public object Kf_ColorBlankLustringOutReport(string sWhere, string user)
+        {
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Kf_ColorBlankLustringOutReport", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn($"select * from h_v_Kf_ColorBlankLustringOutReport where 1=1 " + sWhere, "h_v_Kf_ColorBlankLustringOutReport");
+
+                //鑾峰彇鍒楀悕
+                List<object> columnNameList = new List<object>();
+                //娣诲姞鍒楀悕
+                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鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
+        #region 鍘嬫按鍑虹珯  姣涘皷鍑虹珯
+        [Route("ProdProcessSumReport/Kf_PressurizedWaterOutReport")]
+        [HttpGet]
+        public object Kf_PressurizedWaterOutReport(string sWhere,string HBillType,string user)
+        {
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log(HBillType, 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                switch (HBillType)
+                {
+                    case "Kf_PressurizedWaterOutReport"://姣涘皷 鍘嬫按鍑虹珯
+                        ds = oCN.RunProcReturn($"select * from h_v_Kf_PressurizedWaterOutReport where 1=1 " + sWhere, "h_v_Kf_PressurizedWaterOutReport");
+                        break;
+                    case "Kf_HairtipReport"://姣涘皷 姣涘皷鍑虹珯
+                        ds = oCN.RunProcReturn($"select * from h_v_Kf_HairtipReport where 1=1 " + sWhere, "h_v_Kf_HairtipReport");
+                        break;
+                    case "Kf_DigitalSprayPaintingReport"://姣涘皷 鏁扮爜鍠疯姳鍑虹珯
+                        ds = oCN.RunProcReturn($"select * from h_v_Kf_DigitalSprayPaintingReport where 1=1 " + sWhere, "h_v_Kf_DigitalSprayPaintingReport");
+                        break;
+                    case "Kf_ShrinkBrushReport"://鍚庢暣浜屽彿 缂╁埛鍑虹珯
+                        ds = oCN.RunProcReturn($"select * from h_v_Kf_ShrinkBrushReport where 1=1 " + sWhere, "h_v_Kf_ShrinkBrushReport");
+                        break;
+                    case "Kf_FinalizeTheDesignOutReport"://鍚庢暣浜屽彿 瀹氬瀷鍑虹珯
+                        ds = oCN.RunProcReturn($"select * from h_v_Kf_FinalizeTheDesignOutReport where 1=1 " + sWhere, "h_v_Kf_FinalizeTheDesignOutReport");
+                        break;
+                    case "Kf_LustringOutReport"://鍚庢暣浜屽彿 鐑厜鍑虹珯
+                        ds = oCN.RunProcReturn($"select * from h_v_Kf_LustringOutReport where 1=1 " + sWhere, "h_v_Kf_LustringOutReport");
+                        break;
+                    case "Kf_ShrinkBrushOutReport"://鍚庢暣涓�鍙� 缂╁埛鍑虹珯
+                        ds = oCN.RunProcReturn($"select * from h_v_Kf_ShrinkBrushOutReport where 1=1 " + sWhere, "h_v_Kf_ShrinkBrushOutReport");
+                        break;
+                    case "Kf_FinalizeOutReport"://鍚庢暣涓�鍙� 瀹氬瀷鍑虹珯
+                        ds = oCN.RunProcReturn($"select * from h_v_Kf_FinalizeOutReport where 1=1 " + sWhere, "h_v_Kf_FinalizeOutReport");
+                        break;
+                    case "Kf_LustringReport"://鍚庢暣涓�鍙� 鐑厜鍑虹珯
+                        ds = oCN.RunProcReturn($"select * from h_v_Kf_LustringReport where 1=1 " + sWhere, "h_v_Kf_LustringReport");
+                        break;
+                    case "Kf_ShrinkBrushTeReport"://鐗规暣 缂╁埛鍑虹珯
+                        ds = oCN.RunProcReturn($"select * from h_v_Kf_ShrinkBrushTeReport where 1=1 " + sWhere, "h_v_Kf_ShrinkBrushTeReport");
+                        break;
+                    case "Kf_EmbossingOutReport"://鐗规暣 鍘嬭姳鍑虹珯
+                        ds = oCN.RunProcReturn($"select * from h_v_Kf_EmbossingOutReport where 1=1 " + sWhere, "h_v_Kf_EmbossingOutReport");
+                        break;
+                    case "Kf_StereoscopicFlowerOutReport"://鐗规暣 绔嬩綋鑺卞瀷鏈哄嚭绔�
+                        ds = oCN.RunProcReturn($"select * from h_v_Kf_StereoscopicFlowerOutReport where 1=1 " + sWhere, "h_v_Kf_StereoscopicFlowerOutReport");
+                        break;
+                }
+
+
+                //鑾峰彇鍒楀悕
+                List<object> columnNameList = new List<object>();
+                //娣诲姞鍒楀悕
+                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鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鍘嬫按鏈嚭绔欐姤琛� 鏌ヨ
+        /// <summary>
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Kf_PressurizedWaterNoOutReport/list")]
+        [HttpGet]
+        public object GetKf_PressurizedWaterNoOutReport(string sWhere, string user, string userid)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                ////鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Kf_PressurizedWaterNoOutReport_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                //鏌ヨ
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    string sql = "exec h_p_Kf_PressurizedWaterNoOutReport '','" + userid + "'";
+                    ds = oCN.RunProcReturn(sql, "h_p_Kf_PressurizedWaterNoOutReport");
+                }
+                else
+                {
+                    string sql = "exec h_p_Kf_PressurizedWaterNoOutReport  '" + sWhere + "','" + userid + "'";
+                    ds = oCN.RunProcReturn(sql, "h_p_Kf_PressurizedWaterNoOutReport");
+                }
+
+                //娣诲姞鍒楀悕
+                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鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 棰嗘枡缁熻鎶ヨ〃
+        /// <summary>
+        /// 棰嗘枡缁熻鎶ヨ〃
+        /// </summary>
+        /// <returns></returns>
+        [Route("MateOutController/GetKf_MateOutSumReport_QiaoYi_Json")]
+        [HttpGet]
+        public object GetKf_MateOutSumReport_QiaoYi_Json(string sWhere, string user)
+        {
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Kf_MateOutSumReport_QiaoYi", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("exec h_p_Kf_MateOutSumReport_QiaoYi " + sWhere, "h_p_Kf_MateOutSumReport_QiaoYi");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "褰撳墠鎵�杈撳叆杩囨护鏉′欢锛屾病鏈夎繑鍥炰换浣曠粨鏋滐紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    List<object> columnNameList = new List<object>();
+                    //娣诲姞鍒楀悕
+                    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鍒楀璞$殑鍒楀悕
+                    }
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    objJsonResult.list = columnNameList;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏌ヨ棰嗘枡缁熻鎶ヨ〃淇℃伅澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
+        #endregion
+
+        #region  (鐢熶骇璁㈠崟缁村害)瀹㈡埛璁㈠崟鎶ヨ〃
+        [Route("MaterOutEntryReport/sc_ICOMReportList")]
+        [HttpGet]
+        public object sc_ICOMReportList(string sWhere,string HBeginDate,string HEndDate, string user)
+        {
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("sc_ICOMReportList", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                string sql = "exec h_p_sc_ICOMReport '"+ sWhere + "','"+ HBeginDate + "','"+ HEndDate + "'";
+
+                ds = oCN.RunProcReturn(sql, "h_p_sc_ICOMReport");
+
+                DataTable dt = ds.Tables[0];
+
+                //鑾峰彇鍒楀悕
+                List<object> columnNameList = new List<object>();
+                //娣诲姞鍒楀悕
+                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鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = dt;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  瀹㈡埛璁㈠崟鏄庣粏鎶ヨ〃
+        [Route("MaterOutEntryReport/Sc_ICOMProBarCodeReport")]
+        [HttpGet]
+        public object Sc_ICOMProBarCodeReport(string sWhere)
+        {
+            try
+            {
+                string sql = "select * from  h_v_sc_ICOMProBarCodeReport where 1=1  " + sWhere;
+
+                ds = oCN.RunProcReturn(sql, "h_v_sc_ICOMProBarCodeReport");
+
+                DataTable dt = ds.Tables[0];
+
+                //鑾峰彇鍒楀悕
+                List<object> columnNameList = new List<object>();
+                //娣诲姞鍒楀悕
+                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鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = dt;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  娴佽浆鍗℃湭鍏ュ簱鎶ヨ〃
+        [Route("MaterOutEntryReport/Sc_ProcExchangeNoInReport")]
+        [HttpGet]
+        public object Sc_ProcExchangeNoInReport(string sWhere, string HBeginDate, string HEndDate, string user)
+        {
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcExchangeNoInReport", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                string sql = "exec h_p_Sc_ProcExchangeNoInReport '" + sWhere + "','" + HBeginDate + "','" + HEndDate + "'";
+
+                ds = oCN.RunProcReturn(sql, "h_p_Sc_ProcExchangeNoInReport");
+
+                DataTable dt = ds.Tables[0];
+
+                //鑾峰彇鍒楀悕
+                List<object> columnNameList = new List<object>();
+                //娣诲姞鍒楀悕
+                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鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = dt;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  鐢熶骇鍏ュ簱鎶ヨ〃
+        [Route("MaterOutEntryReport/sc_ICOMRKReport")]
+        [HttpGet]
+        public object sc_ICOMRKReport(string sWhere, string user)
+        {
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("sc_ICOMRKReport", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                string sql = "select * from  h_v_sc_ICOMRKReport where 1=1  " + sWhere + " order by 鏃ユ湡 ";
+
+                ds = oCN.RunProcReturn(sql, "h_v_sc_ICOMRKReport");
+
+                DataTable dt = ds.Tables[0];
+
+                //鑾峰彇鍒楀悕
+                List<object> columnNameList = new List<object>();
+                //娣诲姞鍒楀悕
+                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鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = dt;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 涓嶈壇鍘熷洜鍒嗘瀽鎶ヨ〃
+        /// <summary>
+        /// 杩斿洖涓嶈壇鍘熷洜鍒嗘瀽鎶ヨ〃鍒楄〃
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Sc_BadReasonReport/list")]
+        [HttpGet]
+        public object list(string sWhere, string user,string HGroupID)
+        {
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Sc_BadReasonReport", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                List<object> columnNameList = new List<object>();
+
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "璇烽�夋嫨鏈夋晥骞翠唤";
+                    return objJsonResult;
+                }
+                else
+                {
+                    ds = oCN.RunProcReturn("exec h_p_Sc_BadReasonReport '" + sWhere + "','" + HGroupID + "'", "h_p_Sc_BadReasonReport");
+                }
+
+                //娣诲姞鍒楀悕
+                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鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  鐢熶骇鍏ュ簱鎶ヨ〃
+        [Route("MaterOutEntryReport/sc_ICOMRKBanReport")]
+        [HttpGet]
+        public object sc_ICOMRKBanReport(string sWhere)
+        {
+            try
+            {
+                string sql = "select * from  h_v_sc_ICOMRKBanReport where 1=1  " + sWhere + " order by 鏃ユ湡 ";
+
+                ds = oCN.RunProcReturn(sql, "h_v_sc_ICOMRKBanReport");
+
+                DataTable dt = ds.Tables[0];
+
+                //鑾峰彇鍒楀悕
+                List<object> columnNameList = new List<object>();
+                //娣诲姞鍒楀悕
+                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鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = dt;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  鐢熶骇鏃ヨ鎶ヨ〃
+        public class DayRkReport {
+            public string HBeginDate { get; set; }
+            public string HEndDate { get; set; }
+            public string HMaterNumber { get; set; }
+            public string HCustomerName { get; set; }
+            public string HProductName { get; set; }
+            public string HOtherSearch { get; set; }
+            public string HEmpName { get; set; }
+            public string sWheres { get; set; }
+        }
+        [Route("MaterOutEntryReport/SC_DayRkReport")]
+        [HttpGet]
+        public object SC_DayRkReport(string sWhere,int num, string user)
+        {
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("SC_DayRkReport", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                DayRkReport DayRkReportList = JsonConvert.DeserializeObject<DayRkReport>(sWhere);
+
+                string sql = $"exec h_p_Gy_DayRkReport '{DayRkReportList.HBeginDate}','{DayRkReportList.HEndDate}','{DayRkReportList.HMaterNumber}'" +
+                    $",'{DayRkReportList.HProductName}','{DayRkReportList.HCustomerName}','{DayRkReportList.HOtherSearch}','{DayRkReportList.HEmpName}','{DayRkReportList.sWheres}'";
+                //string sql = $"exec h_p_Gy_DayRkReport '{DayRkReportList.HBeginDate}','{DayRkReportList.HEndDate}','{DayRkReportList.HMaterNumber}'" +
+                //    $",'{DayRkReportList.HProductName}','{DayRkReportList.HCustomerName}'";
+
+                ds = oCN.RunProcReturn(sql, "h_p_Gy_DayRkReport");
+
+                DataTable dt = null;
+                if (num == 1)
+                {
+                    dt = ds.Tables[0];
+                }
+                else if (num == 2)
+                {
+                    dt = ds.Tables[1];
+                }
+
+                //鑾峰彇鍒楀悕
+                List<object> columnNameList = new List<object>();
+                if (num == 1)
+                {
+                    //娣诲姞鍒楀悕
+                    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鍒楀璞$殑鍒楀悕
+                    }
+                }
+                else if (num == 2)
+                {
+                    //娣诲姞鍒楀悕
+                    foreach (DataColumn col in ds.Tables[1].Columns)
+                    {
+                        Type dataType = col.DataType;
+                        string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                        columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                    }
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = dt;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  鍗婃垚鍝佹姤琛�
+        public class SemiFinishedProductsReport
+        {
+            public string HBeginDate { get; set; }
+            public string HEndDate { get; set; }
+            public string HMaterNumber { get; set; }
+            public string HCustomerName { get; set; }
+            public string HProductName { get; set; }
+            public string HOtherSearch { get; set; }
+        }
+        [Route("MaterOutEntryReport/SemiFinishedProductsReportList")]
+        [HttpGet]
+        public object SemiFinishedProductsReportList(string sWhere, int num, string user)
+        {
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("SemiFinishedProductsReportList", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                SemiFinishedProductsReport DayRkReportList = JsonConvert.DeserializeObject<SemiFinishedProductsReport>(sWhere);
+
+                string sql = $"exec h_p_sc_SemiFinishedProductsReport '{DayRkReportList.HBeginDate}','{DayRkReportList.HEndDate}','{DayRkReportList.HMaterNumber}'" +
+                    $",'{DayRkReportList.HProductName}','{DayRkReportList.HCustomerName}','{DayRkReportList.HOtherSearch}'";
+                //string sql = $"exec h_p_sc_SemiFinishedProductsReport '{DayRkReportList.HBeginDate}','{DayRkReportList.HEndDate}','{DayRkReportList.HMaterNumber}'" +
+                //    $",'{DayRkReportList.HProductName}','{DayRkReportList.HCustomerName}'";
+                ds = oCN.RunProcReturn(sql, "h_p_Gy_DayRkReport");
+
+                DataTable dt = null;
+                if (num == 1)
+                {
+                    dt = ds.Tables[0];
+                }
+                else if (num == 2)
+                {
+                    dt = ds.Tables[1];
+                }
+
+                //鑾峰彇鍒楀悕
+                List<object> columnNameList = new List<object>();
+                if (num == 1)
+                {
+                    //娣诲姞鍒楀悕
+                    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鍒楀璞$殑鍒楀悕
+                    }
+                }
+                else if (num == 2)
+                {
+                    //娣诲姞鍒楀悕
+                    foreach (DataColumn col in ds.Tables[1].Columns)
+                    {
+                        Type dataType = col.DataType;
+                        string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                        columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                    }
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = dt;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  浜х嚎鏌ヨ
+        [Route("MaterOutEntryReport/Gy_SourceList")]
+        [HttpGet]
+        public object Gy_SourceList(string HOrgid,string sWhere)
+        {
+            try
+            {
+                string sql1 = string.Format("select hitemid,hnumber,hname from Gy_Source where HUSEORGID="+ HOrgid + " "+ sWhere + " order by hnumber");
+
+                ds = oCN.RunProcReturn(sql1, "Gy_Source");
+
+                List<TreeModel> treeModels = new List<TreeModel>();
+                TreeModel first = new TreeModel();
+                first.id = "0";
+                first.title = "浜х嚎璁剧疆";
+                treeModels.Add(first);
+
+                foreach (DataRow row in ds.Tables[0].Rows)
+                {
+                    var strLen = row["hitemid"].ToString().Split('.');
+                    if (strLen.Length == 1)
+                    {
+                        TreeModel tree = new TreeModel();
+                        tree.id = row["hitemid"].ToString();
+                        tree.title = row["hname"].ToString();
+                        treeModels[0].children.Add(tree);
+                    }
+                }
+                digui(ds.Tables[0], treeModels[0].children, 2);
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = Newtonsoft.Json.JsonConvert.SerializeObject(treeModels);
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        /// <summary>
+        /// 閫掑綊鍑芥暟
+        /// </summary>
+        public void digui(DataTable dt, List<TreeModel> tree, int num)
+        {
+            for (int m = 0; m < tree.Count; m++)
+            {
+                tree[m].children = new List<TreeModel>();
+                for (int i = 0; i < dt.Rows.Count; i++)//绗竴娆″惊鐜紝寰楀埌鎵�鏈夋牴鑺傜偣鐨勫瓙闆�
+                {
+                    var strLen = dt.Rows[i]["hnumber"].ToString().Split('.');
+                    if (strLen.Length == num && dt.Rows[i]["hnumber"].ToString().Contains(tree[m].id + "."))
+                    {
+                        TreeModel tbjson = new TreeModel();
+                        tbjson.id = dt.Rows[i]["hitemid"].ToString();
+                        tbjson.title = dt.Rows[i]["hname"].ToString();
+                        tree[m].children.Add(tbjson);
+                    }
+                }
+                var strLens = tree[m].id.Split('.');
+                for (int i = 0; i < tree[m].children.Count; i++)
+                {
+                    digui(dt, tree[m].children, strLens.Length + 2);//鍐嶆鐢ㄥ瓙闆嗗幓寰幆锛屾嬁鍑哄瓙闆嗙殑瀛愰泦
+                }
+            }
+
+        }
+        #endregion
+
+        #region  宸ュ巶鏃ュ巻鏌ヨ
+        [Route("MaterOutEntryReport/Sc_ShopCalendar")]
+        [HttpGet]
+        public object Sc_ShopCalendar(string sWhere,string user)
+        {
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Gy_PlanShifts_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡璇㈡潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                string sql1 = string.Format("select * from h_v_Gy_PlanShiftsList where 1=1 " + sWhere);
+
+                ds = oCN.RunProcReturn(sql1, "h_v_Gy_PlanShiftsList");
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  宸ュ巶鏃ュ巻淇濆瓨
+        [Route("MaterOutEntryReport/Sc_ShopCalendarSave")]
+        [HttpPost]
+        public object Sc_ShopCalendarSave([FromBody] JObject sMainSub)
+        {
+            try
+            {
+                var _value = sMainSub["sMainSub"].ToString();
+                string msg1 = _value.ToString();
+                oCN.BeginTran();
+                //淇濆瓨涓昏〃
+                objJsonResult = AddBillMain(msg1);
+                if (objJsonResult.code == "0")
+                {
+                    oCN.RollBack();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = objJsonResult.Message;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                oCN.Commit();
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鍗曟嵁淇濆瓨鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        public json AddBillMain(string msg1)
+        {
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string hdate = sArray[0].ToString();
+            string hvalue = sArray[1].ToString();
+            string TagId = sArray[2].ToString();
+            string user = sArray[3].ToString();
+
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Gy_PlanShifts_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("select * from Gy_PlanShifts where HDate='" + hdate + "' and HSourceID="+ TagId, "Gy_PlanShifts");
+                string sql = "";
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    sql = $"update Gy_PlanShifts set HOverTimes='" + hvalue + "' where  HDate ='" + hdate + "' and HSourceID=" + TagId;
+                }
+                else
+                {
+                    sql = $"insert into Gy_PlanShifts(HDate,HSourceID,HShiftsID,HOverTimes,HClassCount," +
+                      "HRemark,HUseFlag)values" +
+                      $"('{hdate}','{TagId}',0,'{hvalue}','1'" +
+                      $",'','鏈娴�')";
+                }
+
+               
+
+                oCN.RunProc(sql);
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = null;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  宸ュ巶鏃ュ巻鎵规敼涓婄彮宸ユ椂
+        [Route("Gy_PlanShifts/BulkWorkTime")]
+        [HttpGet]
+        public object BulkWorkTime(string HSourceNumber1, string HSourceNumber2, string HBeginDate, string HEndDate,string HWorkTime)
+        {
+            try
+            {               
+                oCN.BeginTran();
+
+                string sql = $"update a set HOverTimes = {HWorkTime} from Gy_PlanShifts a left join Gy_Source b on a.HSourceID = b.HItemID where b.HNumber between '{HSourceNumber1}' and '{HSourceNumber2}' and CONVERT(varchar(120),a.HDate,23) between CONVERT(varchar(120),'{HBeginDate}',23) and CONVERT(varchar(120),'{HEndDate}',23)";
+
+                //鎵ц鏇存柊涓婄彮宸ユ椂璇彞
+                oCN.RunProc(sql);
+
+                oCN.Commit();
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵规敼鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ュ巶鏃ュ巻 鏂囦欢涓婁紶
+        [Route("Gy_PlanShifts/Gy_PlanShifts_Excel")]
+        [HttpPost]
+        public object Gy_PlanShifts_Excel()
+        {
+            try
+            {
+                //var WorkBookName = HttpContext.Current.Request["WorkBookName"];
+                //DBUtility.ClsPub.HOrgID = long.Parse(HttpContext.Current.Request["HOrgID"]);
+                //鑾峰彇鏂囦欢鍚嶇О
+                var file = HttpContext.Current.Request.Files[0];
+                //鑾峰彇鏂囦欢鐗╃悊璺緞
+                string ExcelPath = HttpContext.Current.Server.MapPath("~/" + file.FileName);
+                //淇濆瓨鏂囦欢
+                file.SaveAs(ExcelPath);
+
+                NpoiHelper np = new NpoiHelper();
+                DataSet ExcelDs = np.ReadExcel(ExcelPath, 1, 1, "0");
+
+                //鍒犻櫎鏂囦欢
+                File.Delete(ExcelPath);
+
+                //鍒涘缓涓存椂琛�
+                DataTable tb2 = new DataTable("dt2");
+
+                //娣诲姞鍒楀悕
+                for (int i = 0; i < ExcelDs.Tables[0].Columns.Count; i++)
+                {
+                    tb2.Columns.Add(ExcelDs.Tables[0].Rows[0][i].ToString());
+                }
+
+                //妯℃澘缂哄皯鍒� 浣嗛渶瑕佷粠鏁版嵁搴撲腑鏌ヨ鍑烘潵鏄剧ず鍦ㄩ〉闈㈢殑瀛楁
+                tb2.Columns.Add("HOrgID", typeof(Int32));//缁勭粐ID
+                tb2.Columns.Add("HSourceID", typeof(Int32));//鐢熶骇璧勬簮ID
+
+                //娣诲姞鏁版嵁
+                for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++)
+                {
+                    DataRow row = tb2.NewRow();
+                    for (int j = 0; j < ExcelDs.Tables[0].Columns.Count; j++)
+                    {
+                        row[j] = ExcelDs.Tables[0].Rows[i][j].ToString();
+                    }
+                    //濡傛灉琛ㄦ牸绗琲琛岀殑绗竴鍒椾负绌猴紝鍒欏垽鏂负杩欎竴琛岀殑鏁版嵁涓虹┖锛岃烦鍑哄惊鐜苟涓斾笉鎶婃暟鎹啓鍏� tb2
+                    if (ExcelDs.Tables[0].Rows[i][0].ToString() == "")
+                    {
+                        continue;
+                    }
+                    else
+                    {
+                        tb2.Rows.Add(row);
+                    }
+                }
+
+
+                var error = "";
+
+                //鏌ヨ宸ヨ壓璺嚎娌℃湁鐨勫垪
+                if (!tb2.Columns.Contains("缁勭粐缂栫爜"))
+                    error += "娌℃湁鎵惧埌銆愮粍缁囩紪鐮併�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("缁勭粐"))
+                    error += "娌℃湁鎵惧埌銆愮粍缁囥�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("鐢熶骇璧勬簮浠g爜"))
+                    error += "娌℃湁鎵惧埌銆愮敓浜ц祫婧愪唬鐮併�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("鐢熶骇璧勬簮"))
+                    error += "娌℃湁鎵惧埌銆愮敓浜ц祫婧愩�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("鏃ユ湡"))
+                    error += "娌℃湁鎵惧埌銆愭棩鏈熴�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("宸ユ椂"))
+                    error += "娌℃湁鎵惧埌銆愬伐鏃躲�戠殑鏍囬,";
+
+
+                if (error.Length > 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = $"Excel妯℃澘瀛樺湪閿欒,{error}\r\n";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                for (int i = 0; i <= tb2.Rows.Count - 1; i++)
+                {
+                    string HORGNumber = "";
+                    string HORGName = "";
+                    string HSourceNumer = "";
+                    string HSourceName = "";
+                    string HDate = "";
+                    string HOverTimes = "";
+
+                    HORGNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["缁勭粐缂栫爜"].ToString());
+                    HORGName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["缁勭粐"].ToString());
+                    HSourceNumer = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["鐢熶骇璧勬簮浠g爜"].ToString());
+                    HSourceName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["鐢熶骇璧勬簮"].ToString());
+                    HDate = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["鏃ユ湡"].ToString());
+                    HOverTimes = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["宸ユ椂"].ToString());
+
+                    //妫�鏌ョ墿鏂�
+                    int index = i + 1;
+
+                    if (HORGNumber != "")
+                    {
+
+
+                        //鏌ヨ缁勭粐
+                        ds = oCN.RunProcReturn("select * from Xt_ORGANIZATIONS where  HNumber='" + HORGNumber + "' and Hname='" + HORGName + "'", "Xt_ORGANIZATIONS");
+
+                        if (ds.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "绗�" + index + "琛�,缁勭粐涓嶅瓨鍦紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            tb2.Rows[i]["HOrgID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                        }
+                        string HORGid = ds.Tables[0].Rows[0]["HItemID"].ToString();
+
+
+                        //鏌ヨ鐢熶骇璧勬簮
+                        ds = oCN.RunProcReturn("select * from Gy_Source where  HNumber='" + HSourceNumer + "'  and HUSEORGID=" + HORGid + "", "Gy_Department");
+
+                        if (ds.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "绗�" + index + "琛�,璇�" + HORGName + "缁勭粐,鐢熶骇璧勬簮:" + HSourceName + ",涓嶅瓨鍦紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            tb2.Rows[i]["HSourceID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                        }
+
+                        //鏃ユ湡
+                        if (HDate == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "绗�" + index + "琛�,鏃ユ湡涓虹┖锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }else if(!Regex.IsMatch(HDate, @"^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$"))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "绗�" + index + "琛�,鏃ユ湡涓嶄负鈥測yyy-MM-dd鈥濇牸寮忥紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        //宸ユ椂
+                        if (HOverTimes == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "绗�" + index + "琛�,宸ユ椂涓虹┖锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //else if (!Regex.IsMatch(HWorkTime, @"/^\d+(\.\d+)?$/"))
+                        //{
+                        //    objJsonResult.code = "0";
+                        //    objJsonResult.count = 0;
+                        //    objJsonResult.Message = "绗�" + index + "琛�,宸ユ椂涓嶄负闈炶礋鏁版牸寮忥紒";
+                        //    objJsonResult.data = null;
+                        //    return objJsonResult;
+                        //}
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "绗�" + index + "琛�,缁勭粐浠g爜涓虹┖";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = error;
+                objJsonResult.data = tb2;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ュ巶鏃ュ巻 瀵煎叆(淇濆瓨)
+        [Route("Gy_PlanShifts/Gy_PlanShifts_btnSave")]
+        [HttpPost]
+        public object Gy_PlanShifts_btnSave([FromBody] JObject sMainSub)
+        {
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            string[] sArray = msg1.Split(new string[] { "&鍜�" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string user = sArray[1].ToString();
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Gy_PlanShifts_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                List<object> Excel = Newtonsoft.Json.JsonConvert.DeserializeObject<List<object>>(msg2);
+                List<Dictionary<string, string>> list = new List<Dictionary<string, string>>();
+
+                foreach (JObject item in Excel)
+                {
+                    Dictionary<string, string> dic = new Dictionary<string, string>();
+                    foreach (var itm in item.Properties())
+                    {
+                        dic.Add(itm.Name, itm.Value.ToString());
+                    }
+                    list.Add(dic);
+                }
+
+                oCN.BeginTran();
+                int i = 1;
+                foreach (Dictionary<string, string> item in list)
+                {
+                    string HSourceID = item["HSourceID"].ToString();//鐢熶骇璧勬簮ID
+                    string HOrgID = item["HOrgID"].ToString();//缁勭粐ID
+                    string HDate = item["鏃ユ湡"].ToString();
+                    string HOverTimes = item["宸ユ椂"].ToString();
+
+                    ds = oCN.RunProcReturn("select * from Gy_PlanShifts where HSourceID=" + HSourceID + " and convert(varchar(100),HDate,23)='" + HDate + "'", "Gy_PlanShifts");
+
+                    if (ds.Tables[0].Rows.Count == 0)
+                    {
+                        string sql = "insert into Gy_PlanShifts(HDate,HSourceID,HShiftsID,HOverTimes,HClassCount,HRemark,HUseFlag) " +
+                            "values(" +
+                            "'" + HDate + "'" +
+                            "," + HSourceID + "" +
+                            ",0" +
+                            "," + HOverTimes + "" +
+                            ",1" +
+                            ",''" +
+                            ",''" + 
+                            ")";
+
+                        //涓昏〃
+                        oCN.RunProc(sql);
+                    }
+                    else
+                    {
+                        oCN.RunProc("update Gy_PlanShifts set HOverTimes = " + HOverTimes + " where HSourceID=" + HSourceID + " and convert(varchar(100),HDate,23)='" + HDate + "'");
+                    }
+
+                    i++;
+                }
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "瀵煎叆鎴愬姛!";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                LogService.Write(e);
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  鍒舵垚鐜囨槑缁嗘姤琛�
+        [Route("MaterOutEntryReport/Sc_ProductedRateReport")]
+        [HttpGet]
+        public object Sc_ProductedRateReport(string HBeginDate,string HEndDate,string sWhere,double HRate_BeyondICMOQty, string user)
+        {
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProductedRateReport", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                string sql = "exec h_p_Sc_ProductedRateReport '" + HBeginDate + "','" + HEndDate + "','" + sWhere + "'," + HRate_BeyondICMOQty;
+
+                ds = oCN.RunProcReturn(sql, "h_p_Sc_ProductedRateReport");
+
+                DataTable dt = ds.Tables[0];
+
+                //鑾峰彇鍒楀悕
+                List<object> columnNameList = new List<object>();
+                //娣诲姞鍒楀悕
+                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鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = ds.Tables;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  婊炵暀鏃堕棿鎶ヨ〃
+        [Route("MaterOutEntryReport/Sc_RetentionTimeReport")]
+        [HttpGet]
+        public object Sc_RetentionTimeReport(string HBeginDate,string HEndDate,string sWhere, string user)
+        {
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Sc_RetentionTimeReport", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                string sql = "exec h_p_Sc_RetentionTimeReport '" + HBeginDate + "','" + HEndDate + "','" + sWhere + "'";
+
+                ds = oCN.RunProcReturn(sql, "h_p_Sc_RetentionTimeReport");
+
+                DataTable dt = ds.Tables[0];
+
+                //鑾峰彇鍒楀悕
+                List<object> columnNameList = new List<object>();
+                //娣诲姞鍒楀悕
+                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鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = ds.Tables;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  閿�鍞环鏍煎姣旀姤琛�
+        [Route("MaterOutEntryReport/Sc_CompareOrderToSelloutReport")]
+        [HttpGet]
+        public object Sc_CompareOrderToSelloutReport(string HBeginDate, string HEndDate, string sWhere, string user)
+        {
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Sc_CompareOrderToSelloutReport", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                string sql = "exec h_p_Sc_CompareOrderToSelloutReport '" + HBeginDate + "','" + HEndDate + "','" + sWhere + "'";
+
+                ds = oCN.RunProcReturn(sql, "h_p_Sc_CompareOrderToSelloutReport");
+
+                DataTable dt = ds.Tables[0];
+
+                //鑾峰彇鍒楀悕
+                List<object> columnNameList = new List<object>();
+                //娣诲姞鍒楀悕
+                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鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = ds.Tables;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 閿�鍞帓鍚嶆姤琛�
+        [Route("MaterOutEntryReport/Xs_SellOutMoneyRangeReport")]
+        [HttpGet]
+        public object Xs_SellOutMoneyRangeReport(string sWhere, string user)
+        {
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Xs_SellOutMoneyRangeReport", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                List<object> columnNameList = new List<object>();
+
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "璇烽�夋嫨鏈夋晥骞翠唤";
+                    return objJsonResult;
+                }
+                else
+                {
+                    ds = oCN.RunProcReturn("exec h_p_Xs_SellOutMoneyRangeReport '" + sWhere + "'", "h_p_Xs_SellOutMoneyRangeReport");
+                }
+
+                //娣诲姞鍒楀悕
+                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鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  閿�鍞鍗曟潯鐮佸嚭鍏ュ簱璇︽儏
+        [Route("MaterOutEntryReport/Xs_SeOrderBarCodeInAndOutStockDetailReport")]
+        [HttpGet]
+        public object Xs_SeOrderBarCodeInAndOutStockDetailReport(string sWhere, string user)
+        {
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Xs_SeOrderBarCodeInAndOutStockDetailReport", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                string sql = "select * from h_v_Xs_SeOrderBarCodeInAndOutStockDetailReport_Query where 1=1 " + sWhere;
+                ds = oCN.RunProcReturn(sql, "h_v_Xs_SeOrderBarCodeInAndOutStockDetailReport_Query");
+
+                DataTable dt = ds.Tables[0];
+
+                //鑾峰彇鍒楀悕
+                List<object> columnNameList = new List<object>();
+                //娣诲姞鍒楀悕
+                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鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = ds.Tables;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+        #endregion
+
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1