From 71cb5772e28908d6ad100b111dbecf8b353c0b25 Mon Sep 17 00:00:00 2001
From: ouyangqing <ouyangqing@DESKTOP-B85SG1D>
Date: 星期五, 15 一月 2021 17:33:40 +0800
Subject: [PATCH] 进站接收

---
 WebAPI/Service/YqnQbService.cs         |  139 +++++++++++++++++++++++
 WebAPI/Models/ApiResult.cs             |   20 +++
 WebAPI/DbUntil/DataFormatUntil.cs      |   68 +++++++++++
 WebAPI/Models/ApiConfig.cs             |   12 ++
 WebAPI/Models/DocumentsView.cs         |   13 ++
 WebAPI/WebAPI.csproj.user              |    2 
 WebAPI/WebAPI.csproj                   |    6 +
 WebAPI/Controllers/NewApiController.cs |   83 +++++++++++++
 8 files changed, 343 insertions(+), 0 deletions(-)

diff --git a/WebAPI/Controllers/NewApiController.cs b/WebAPI/Controllers/NewApiController.cs
new file mode 100644
index 0000000..3bc5b04
--- /dev/null
+++ b/WebAPI/Controllers/NewApiController.cs
@@ -0,0 +1,83 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.Web.Http;
+using WebAPI.Models;
+using WebAPI.Service;
+using WebAPI.WebS;
+
+namespace WebAPI.Controllers
+{
+    public class NewApiController : ApiController
+    {
+        /// <summary>
+        /// 鑾峰彇鍗曟嵁鍙�
+        /// </summary>
+        /// <returns></returns>
+        [Route("api/newBill/getNewInterBillNo")]
+        [HttpGet]
+        public ApiResult<DocumentsView> GetNewInterBillNo()
+        {
+            var model = YqnQbService.GetInterBillNo();
+            return model;
+        }
+        /// <summary>
+        /// 娴佽浆鍗¤幏鍙栦俊鎭�
+        /// </summary>
+        /// <returns></returns>
+        [Route("api/newBill/getHbarCodeDetail")]
+        [HttpGet]
+        public ApiResult<DataSet> GetHbarCodeDetail(string sBillBarCode)
+        {
+            var model = YqnQbService.GetHbarCodeDetail(sBillBarCode);
+            return model;
+        }
+        /// <summary>
+        /// 娴佹按鍙疯幏寰椾俊鎭�
+        /// </summary>
+        /// <returns></returns>
+        [Route("api/newBill/getProcDetail")]
+        [HttpGet]
+        public ApiResult<DataSet> GetProcDetail(string sBillNo, string sProcNo)
+        {
+            var model = YqnQbService.GetProcDetail(sBillNo, sProcNo);
+            return model;
+        }
+        /// <summary>
+        /// 鑾峰彇鐢熶骇璧勬簮鍒楄〃
+        /// </summary>
+        /// <param name="sWhere"></param>
+        /// <returns></returns>
+        [Route("api/newBill/getSourceList")]
+        [HttpGet]
+        public ApiResult<DataSet> GetSourceList(string sWhere)
+        {
+            return YqnQbService.GetSourceList(sWhere);
+        }
+        /// <summary>
+        /// 鑾峰彇宸ヤ綔涓績
+        /// </summary>
+        /// <param name="sWhere"></param>
+        /// <returns></returns>
+        [Route("api/newBill/getSourceList")]
+        [HttpGet]
+        public ApiResult<DataSet> GetWorkCenterList(string sWhere)
+        {
+            return YqnQbService.GetWorkCenterList(sWhere);
+        }
+        /// <summary>
+        /// 杩涚珯鎺ユ敹鍗�
+        /// </summary>
+        /// <param name="oMain"></param>
+        /// <returns></returns>
+        [Route("api/newBill/setStationInBill")]
+        [HttpPost]
+        public ApiResult SetStationInBill(ClsSc_StationInBillMain oMain)
+        {
+            return YqnQbService.SetStationInBill(oMain);
+        }
+    }
+}
diff --git a/WebAPI/DbUntil/DataFormatUntil.cs b/WebAPI/DbUntil/DataFormatUntil.cs
new file mode 100644
index 0000000..5779273
--- /dev/null
+++ b/WebAPI/DbUntil/DataFormatUntil.cs
@@ -0,0 +1,68 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Reflection;
+using System.Web;
+
+namespace WebAPI.DbUntil
+{
+    public class DataFormatUntil
+    {
+        /// <summary>
+        /// dataset杞琹ist
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="entity"></param>
+        /// <param name="ds"></param>
+        /// <returns></returns>
+        public static List<T> PutAllVal<T>(T entity, DataSet ds) where T : new()
+        {
+            
+            List<T> lists = new List<T>();
+            if (ds.Tables[0].Rows.Count > 0)
+            {
+                foreach (DataRow row in ds.Tables[0].Rows)
+                {
+                    lists.Add(PutVal(new T(), row));
+                }
+            }
+            return lists;
+        }
+        /// <summary>
+        /// datarow杞琺odel
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="entity"></param>
+        /// <param name="row"></param>
+        /// <returns></returns>
+        public static T PutVal<T>(T entity, DataRow row) where T : new()
+        {
+            //鍒濆鍖� 濡傛灉涓簄ull
+            if (entity == null)
+            {
+                entity = new T();
+            }
+            //寰楀埌绫诲瀷
+            Type type = typeof(T);
+            //鍙栧緱灞炴�ч泦鍚�
+            PropertyInfo[] pi = type.GetProperties();
+            foreach (PropertyInfo item in pi)
+            {
+                //缁欏睘鎬ц祴鍊�
+                if (row[item.Name] != null && row[item.Name] != DBNull.Value)
+                {
+                    if (item.PropertyType == typeof(System.Nullable<System.DateTime>))
+                    {
+                        item.SetValue(entity, Convert.ToDateTime(row[item.Name].ToString()), null);
+                    }
+                    else
+                    {
+                        item.SetValue(entity, Convert.ChangeType(row[item.Name], item.PropertyType), null);
+                    }
+                }
+            }
+            return entity;
+        }
+    }
+}
\ No newline at end of file
diff --git a/WebAPI/Models/ApiConfig.cs b/WebAPI/Models/ApiConfig.cs
new file mode 100644
index 0000000..688add3
--- /dev/null
+++ b/WebAPI/Models/ApiConfig.cs
@@ -0,0 +1,12 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+
+namespace WebAPI.Models
+{
+    public class ApiConfig
+    {
+         public static string HBillType = "1238";//鍗曟嵁绫诲瀷
+    }
+}
\ No newline at end of file
diff --git a/WebAPI/Models/ApiResult.cs b/WebAPI/Models/ApiResult.cs
new file mode 100644
index 0000000..42dcc71
--- /dev/null
+++ b/WebAPI/Models/ApiResult.cs
@@ -0,0 +1,20 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+
+namespace WebAPI.Models
+{
+    public class ApiResult<T>
+    {
+        public int code { get; set; }
+        public string msg { get; set; }
+        public T data { get; set; }
+        public int count { get; set; }
+    }
+    public class ApiResult
+    {
+        public int code { get; set; }
+        public string msg { get; set; }
+    }
+}
\ No newline at end of file
diff --git a/WebAPI/Models/DocumentsView.cs b/WebAPI/Models/DocumentsView.cs
new file mode 100644
index 0000000..fbf6b37
--- /dev/null
+++ b/WebAPI/Models/DocumentsView.cs
@@ -0,0 +1,13 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+
+namespace WebAPI.Models
+{
+    public class DocumentsView
+    {
+        public string HBillNo { get; set; }
+        public long HInterID { get; set; }
+    }
+}
\ No newline at end of file
diff --git a/WebAPI/Service/YqnQbService.cs b/WebAPI/Service/YqnQbService.cs
new file mode 100644
index 0000000..d046f5b
--- /dev/null
+++ b/WebAPI/Service/YqnQbService.cs
@@ -0,0 +1,139 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Web;
+using WebAPI.Models;
+using WebAPI.WebS;
+
+namespace WebAPI.Service
+{
+    public class YqnQbService
+    {
+        /// <summary>
+        /// 鑾峰彇鍗曟嵁鍙�
+        /// </summary>
+        /// <returns></returns>
+        public static ApiResult<DocumentsView> GetInterBillNo()
+        { 
+            var hInterId= DBUtility.ClsPub.CreateBillID(ApiConfig.HBillType, ref DBUtility.ClsPub.sExeReturnInfo);
+            var hBillNo= DBUtility.ClsPub.CreateBillCode(ApiConfig.HBillType, ref DBUtility.ClsPub.sExeReturnInfo, true);
+            if (hInterId == 0 || string.IsNullOrEmpty(hBillNo))
+                return new ApiResult<DocumentsView> { code = -1, msg = "鑾峰彇澶辫触" };
+            DocumentsView documentsView = new DocumentsView()
+            {
+                HBillNo = hBillNo,
+                HInterID = hInterId
+            };
+            return new ApiResult<DocumentsView> { code = 1, msg = "鑾峰彇鎴愬姛", data = documentsView };
+        }
+        /// <summary>
+        /// 鎵爜鏂规硶 
+        /// </summary>
+        public static ApiResult<DataSet> GetHbarCodeDetail(string sBillBarCode)
+        {
+            if (string.IsNullOrEmpty(sBillBarCode))
+                return new ApiResult<DataSet> { code = -1, msg = "鏉$爜涓嶈兘涓虹┖" };
+            sBillBarCode = sBillBarCode.CompareTo("#") > 0 ? sBillBarCode.Split(Convert.ToChar("#"))[0] : sBillBarCode;
+            var dataSet = GetBarCodeDb(sBillBarCode);
+            if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
+                return new ApiResult<DataSet> { code = -1, msg = "涓嶅瓨鍦ㄦ祦杞崱鍙�" };
+            return new ApiResult<DataSet> { code = 1, msg = "鏌ヨ鎴愬姛",data=dataSet };
+        }
+        /// <summary>
+        /// 娴佽浆鍗″洖杞︽柟娉� 
+        /// </summary>
+        public static ApiResult<DataSet> GetProcDetail(string sBillNo, string sProcNo)
+        {
+            if (string.IsNullOrEmpty(sBillNo)||string.IsNullOrEmpty(sProcNo))
+                return new ApiResult<DataSet> { code = -1, msg = "鏉$爜鍜屾祦杞崱涓嶈兘涓虹┖" };
+            var dataSet = GetProcDb(sBillNo, sProcNo);
+            if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
+                return new ApiResult<DataSet> { code = -1, msg = "娴佹按鍙锋垨娴佽浆鍗″彿涓虹┖" };
+            return new ApiResult<DataSet> { code = 1, msg = "鏌ヨ鎴愬姛", data = dataSet };
+        }
+        /// <summary>
+        /// 鑾峰彇鐢熶骇璧勬簮鍒楄〃 
+        /// </summary>
+        public static ApiResult<DataSet> GetSourceList(string sWhere)
+        {
+            var dataSet = GetSourceDb(sWhere);
+            if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
+                return new ApiResult<DataSet> { code = -1, msg = "鏈煡璇㈠埌鐢熶骇璧勬簮" };
+            return new ApiResult<DataSet> { code = 1, msg = "鏌ヨ鎴愬姛", data = dataSet };
+        }
+        /// <summary>
+        /// 鑾峰彇鐢熶骇鐝粍鍒楄〃 
+        /// </summary>
+        public static ApiResult<DataSet> GetGroupList(string sWhere)
+        {
+            var dataSet = GetGroupDb(sWhere);
+            if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
+                return new ApiResult<DataSet> { code = -1, msg = "鏈煡璇㈠埌鐢熶骇鐝粍" };
+            return new ApiResult<DataSet> { code = 1, msg = "鏌ヨ鎴愬姛", data = dataSet };
+        }
+        /// <summary>
+        /// 鑾峰彇宸ヤ綔涓績鍒楄〃 
+        /// </summary>
+        public static ApiResult<DataSet> GetWorkCenterList(string sWhere)
+        {
+            var dataSet = GetGroupDb(sWhere);
+            if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
+                return new ApiResult<DataSet> { code = -1, msg = "鏈煡璇㈠埌宸ヤ綔涓績" };
+            return new ApiResult<DataSet> { code = 1, msg = "鏌ヨ鎴愬姛", data = dataSet };
+        }
+        /// <summary>
+        /// 杩涚珯鎺ユ敹鍗�
+        /// </summary>
+        public static ApiResult SetStationInBill(ClsSc_StationInBillMain oMain)
+        {
+            WebS.WebService1 oWebs = new WebS.WebService1();
+            string sErrMsg = string.Empty;
+            var result = oWebs.set_SaveStationInBill(oMain, ref  sErrMsg);
+            if (!result)
+            {
+                return new ApiResult { code = -1, msg = sErrMsg };
+            }
+            return new ApiResult { code = 1, msg = "鎿嶄綔鎴愬姛" };
+        }
+        #region sql璇彞
+        public static DataSet GetBarCodeDb(string billBarCode)
+        {
+            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+            var dataSet = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList  where 鍗曟嵁鍙�= '" + billBarCode + "'", "h_v_Sc_ProcessExchangeBillList");
+            return dataSet;
+        }
+        public static DataSet GetSourceDb(string sWhere)
+        {
+            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+            var dataSet = oCN.RunProcReturn("Select HItemID,HNumber 鐢熶骇璧勬簮浠g爜,HName 鐢熶骇璧勬簮 from Gy_Source where HStopflag=0 " + sWhere + " Order by HItemID ", "Gy_Source");
+            return dataSet;
+        }
+        public static DataSet GetGroupDb(string sWhere)
+        {
+            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+            var dataSet = oCN.RunProcReturn("Select HItemID,HNumber 鐢熶骇鐝粍浠g爜,HName 鐢熶骇鐝粍 from Gy_Group where HStopflag=0 " + sWhere + " Order by HItemID ", "Gy_Source");
+            return dataSet;
+        }
+
+        public static DataSet GetProcDb(string sBillNo, string sProcNo)
+        {
+            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+            var dataSet = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList  where 鍗曟嵁鍙�= '" + sBillNo + "' and 宸ュ簭鍙�='" + sProcNo + "'", "h_v_Sc_ProcessExchangeBillList");
+            return dataSet;
+        }
+        /// <summary>
+        /// 宸ヤ綔涓績
+        /// </summary>
+        /// <param name="sWhere"></param>
+        /// <returns></returns>
+        public static DataSet GetWorkCenterDb(string sWhere)
+        {
+            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+            var dataSet = oCN.RunProcReturn("Select HItemID,HNumber 宸ヤ綔涓績浠g爜,HName 宸ヤ綔涓績 from Gy_Group where HStopflag=0 " + sWhere + " Order by HItemID ", "Gy_Source");
+            return dataSet;
+        }
+        #endregion
+
+    }
+}
\ No newline at end of file
diff --git a/WebAPI/WebAPI.csproj b/WebAPI/WebAPI.csproj
index 0d1c0ff..c7e7106 100644
--- a/WebAPI/WebAPI.csproj
+++ b/WebAPI/WebAPI.csproj
@@ -308,6 +308,11 @@
     <Compile Include="App_Start\RouteConfig.cs" />
     <Compile Include="App_Start\SwaggerConfig.cs" />
     <Compile Include="App_Start\WebApiConfig.cs" />
+    <Compile Include="Controllers\NewApiController.cs" />
+    <Compile Include="DbUntil\DataFormatUntil.cs" />
+    <Compile Include="Models\ApiConfig.cs" />
+    <Compile Include="Models\ApiResult.cs" />
+    <Compile Include="Models\DocumentsView.cs" />
     <Compile Include="Properties\Resources.Designer.cs">
       <AutoGen>True</AutoGen>
       <DesignTime>True</DesignTime>
@@ -318,6 +323,7 @@
       <DesignTimeSharedInput>True</DesignTimeSharedInput>
       <DependentUpon>Settings.settings</DependentUpon>
     </Compile>
+    <Compile Include="Service\YqnQbService.cs" />
     <Compile Include="Web References\WebS\Reference.cs">
       <AutoGen>True</AutoGen>
       <DesignTime>True</DesignTime>
diff --git a/WebAPI/WebAPI.csproj.user b/WebAPI/WebAPI.csproj.user
index 8d4aa2e..1d7d7d6 100644
--- a/WebAPI/WebAPI.csproj.user
+++ b/WebAPI/WebAPI.csproj.user
@@ -17,6 +17,8 @@
     <IISExpressUseClassicPipelineMode />
     <UseGlobalApplicationHostFile />
     <ProjectView>ProjectFiles</ProjectView>
+    <Controller_SelectedScaffolderID>ApiControllerEmptyScaffolder</Controller_SelectedScaffolderID>
+    <Controller_SelectedScaffolderCategoryPath>root/Common/Web API</Controller_SelectedScaffolderCategoryPath>
   </PropertyGroup>
   <ProjectExtensions>
     <VisualStudio>

--
Gitblit v1.9.1