From 291558a5ddd495195047a23a27b44ce5b0bbca5a Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期五, 15 十一月 2024 11:06:00 +0800
Subject: [PATCH] 1.T8入库记录(查询、删除) 2.T+入库记录(查询、删除) 3.生产入库记录查询增加部门查询条件 4.看板视图根据配置文件区分T8还是T+

---
 VueWebCoreApi/DLL/BLL/ReportManagerBLL.cs            |   43 +++
 VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs                |    6 
 VueWebCoreApi/DLL/DAL/ReportManagerDAL.cs            |  348 ++++++++++++++++++++++----
 VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs                |   47 ++
 VueWebCoreApi/Models/InventoryModel/StorageRecord.cs |    4 
 VueWebCoreApi/DLL/DAL/KanBanManagerentDAL.cs         |  137 +++++++++
 VueWebCoreApi/Controllers/WorkOrderController.cs     |    9 
 VueWebCoreApi/Controllers/ReportManagerController.cs |  145 +++++++++-
 8 files changed, 625 insertions(+), 114 deletions(-)

diff --git a/VueWebCoreApi/Controllers/ReportManagerController.cs b/VueWebCoreApi/Controllers/ReportManagerController.cs
index ab85b3c..71e9372 100644
--- a/VueWebCoreApi/Controllers/ReportManagerController.cs
+++ b/VueWebCoreApi/Controllers/ReportManagerController.cs
@@ -2,6 +2,7 @@
 using Microsoft.AspNetCore.Mvc;
 using System;
 using System.Collections.Generic;
+using System.Data;
 using System.Linq;
 using System.Threading.Tasks;
 using VueWebCoreApi.DLL.BLL;
@@ -600,37 +601,72 @@
         #endregion
 
 
-        #region[鍏ュ簱璁板綍]
+        #region[T8鍏ュ簱璁板綍琛ㄥご]
         /// <summary>
-        /// 鍏ュ簱璁板綍
+        /// T8鍏ュ簱璁板綍琛ㄥご
         /// </summary>
         /// <param name="page">椤电爜</param>
         /// <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
         /// <param name="prop">鎺掑簭瀛楁</param>
         /// <param name="order">鎺掑簭瑙勫垯</param>
         /// <param name="hbillno">鍏ュ簱鍗曞彿</param>
-        /// <param name="sono">閿�鍞崟鍙�</param>
-        /// <param name="mono">璁㈠崟鍙�</param>
-        /// <param name="wocode">宸ュ崟鍙�</param>     
-        /// <param name="partcode">浜у搧缂栫爜</param>
-        /// <param name="partname">浜у搧鍚嶇О</param>
-        /// <param name="stockcode">浠撳簱缂栫爜</param>
-        /// <param name="responddate">鍗曟嵁鏃ユ湡</param>
+        /// <param name="hbdate">鍗曟嵁鏃ユ湡</param>
+        /// <param name="username">鎿嶄綔浜哄憳</param>
+        /// <param name="userdate">鎿嶄綔鏃堕棿</param>     
         /// <returns></returns>
-        [Route(template: "StorageRecordSearch")]
+        [Route(template: "StorageRecordMainSearch")]
         [HttpGet]
-        public JsonResult StorageRecordSearch(int page, int rows, string prop, string order, string hbillno = null, string sono = null, string mono = null, string wocode = null, string partcode = null,string partname=null, string stockcode=null,string responddate=null)
+        public JsonResult StorageRecordMainSearch(int page, int rows, string prop, string order, string hbillno = null, string hbdate = null, string username = null, string userdate = null)
         {
-            string respondopendate = "";     //鍗曟嵁寮�濮嬫椂闂�
-            string respondclosedate = "";    //鍗曟嵁缁撴潫鏃堕棿
-            if (responddate != "" && responddate != null)
+            string hbdateopendate = "";     //鍗曟嵁寮�濮嬫椂闂�
+            string hbdateclosedate = "";    //鍗曟嵁缁撴潫鏃堕棿
+            string userdateopendate = "";     //鎿嶄綔寮�濮嬫椂闂�
+            string userdateclosedate = "";    //鎿嶄綔缁撴潫鏃堕棿
+            if (hbdate != "" && hbdate != null)
             {
-                respondopendate = responddate.Split('~')[0].ToString();
-                respondclosedate = responddate.Split('~')[1].ToString();
+                hbdateopendate = hbdate.Split('~')[0].ToString();
+                hbdateclosedate = hbdate.Split('~')[1].ToString();
+            }
+            if (userdate != "" && userdate != null)
+            {
+                userdateopendate = userdate.Split('~')[0].ToString();
+                userdateclosedate = userdate.Split('~')[1].ToString();
             }
             int startNum = rows * (page - 1) + 1;  //璧峰璁板綍rowNum
             int endNum = rows * page;   //缁撴潫璁板綍 rowNum
-            mes = ReportManagerBLL.StorageRecordSearch(hbillno, sono, mono, wocode, partcode, partname, stockcode, respondopendate, respondclosedate, startNum, endNum, prop, order);
+            mes = ReportManagerBLL.StorageRecordMainSearch(hbillno, username, hbdateopendate, hbdateclosedate, userdateopendate, userdateclosedate, startNum, endNum, prop, order);
+            return Json(mes);
+        }
+        #endregion
+
+        #region[T8鍏ュ簱璁板綍琛ㄤ綋]
+        /// <summary>
+        /// T8鍏ュ簱璁板綍琛ㄤ綋
+        /// </summary>
+        /// <param name="hbillno">鍏ュ簱鍗曞彿</param> 
+        /// <returns></returns>
+        [Route(template: "StorageRecordSubSearch")]
+        [HttpGet]
+        public JsonResult StorageRecordSubSearch(string hbillno = null)
+        {
+            mes = ReportManagerBLL.StorageRecordSubSearch(hbillno);
+            return Json(mes);
+        }
+        #endregion
+
+        #region[T8鍏ュ簱璁板綍鍒犻櫎]
+        /// <summary>
+        /// T8鍏ュ簱璁板綍鍒犻櫎
+        /// </summary>
+        /// <param name="dt">鎻愪氦鏁版嵁</param>
+        /// <returns></returns>
+        [Route(template: "StorageRecordDelete")]
+        [HttpPost]
+        public JsonResult StorageRecordDelete(DataTable dt)
+        {
+            var token = HttpContext.Request.Headers["Token"].ToString();
+            User us = JwtTools.Denocode(token.ToString());
+            mes = ReportManagerBLL.StorageRecordDelete(dt, us);
             return Json(mes);
         }
         #endregion
@@ -643,10 +679,10 @@
         /// <returns></returns>
         [Route(template: "DeleteStorageRecord")]
         [HttpPost]
+        [ApiExplorerSettings(IgnoreApi =true)] //闅愯棌鎺ュ彛
         public JsonResult DeleteStorageRecord(List<StorageRecord> json)
         {
-            //var token = HttpContext.Request.Headers["Token"].ToString();
-            var token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyY29kZSI6Ijk5OTkiLCJ1c2VybmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsInN0b3JnX2NvZGUiOiIiLCJzdG9yZ19uYW1lIjoiIiwiaXNfc3lzdGVtX2FkbWluIjoiWSIsInJvbGVfY29kZSI6IiIsInJvbGVfZGF0YXBlcm1pc3Npb25zIjoiIiwidXNlcnR5cGUiOiJQQyIsInJlZGlza2V5IjoiTmV3TUVTTG9naW5Vc2VySURQQzk5OTkiLCJtZXNTZXR0aW5nIjoie1wicm91dGVcIjp0cnVlLFwiaXNPcmRlclwiOnRydWUsXCJkZXZpY2VcIjp0cnVlLFwidGVjaFwiOnRydWUsXCJ3b3JrT3JkZXJcIjp0cnVlLFwiZXZlcnlcIjpmYWxzZSxcImxhc3RcIjpmYWxzZX0iLCJ0aW1lb3V0IjoiMjAyNC0xMC0yNFQxMjozNTo1MC4zNDI1NzE2KzA4OjAwIn0.Nbc-1sXd4QLLsnj8wH9XC7iWEmP0wDG82gwLxIh94e4";
+            var token = HttpContext.Request.Headers["Token"].ToString();
             User us = JwtTools.Denocode(token.ToString());
             mes = ReportManagerBLL.DeleteStorageRecord(json, us);
             return Json(mes);
@@ -668,6 +704,7 @@
         /// <returns></returns>
         [Route(template: "StorageRecordExcelSearch")]
         [HttpGet]
+        [ApiExplorerSettings(IgnoreApi = true)] //闅愯棌鎺ュ彛
         public JsonResult StorageRecordExcelSearch(string hbillno = null, string sono = null, string mono = null, string wocode = null, string partcode = null,string partname=null, string stockcode = null, string responddate = null)
         {
             string respondopendate = "";     //鍗曟嵁寮�濮嬫椂闂�
@@ -683,5 +720,75 @@
         #endregion
 
 
+        #region[T+鍏ュ簱璁板綍琛ㄥご]
+        /// <summary>
+        /// T+鍏ュ簱璁板綍琛ㄥご
+        /// </summary>
+        /// <param name="page">椤电爜</param>
+        /// <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+        /// <param name="prop">鎺掑簭瀛楁</param>
+        /// <param name="order">鎺掑簭瑙勫垯</param>
+        /// <param name="hbillno">鍏ュ簱鍗曞彿</param>
+        /// <param name="hbdate">鍗曟嵁鏃ユ湡</param>
+        /// <param name="username">鎿嶄綔浜哄憳</param>
+        /// <param name="userdate">鎿嶄綔鏃堕棿</param>     
+        /// <returns></returns>
+        [Route(template: "InStorageRecordMainSearch")]
+        [HttpGet]
+        public JsonResult InStorageRecordMainSearch(int page, int rows, string prop, string order, string hbillno = null, string hbdate = null, string username = null, string userdate = null)
+        {
+            string hbdateopendate = "";     //鍗曟嵁寮�濮嬫椂闂�
+            string hbdateclosedate = "";    //鍗曟嵁缁撴潫鏃堕棿
+            string userdateopendate = "";     //鎿嶄綔寮�濮嬫椂闂�
+            string userdateclosedate = "";    //鎿嶄綔缁撴潫鏃堕棿
+            if (hbdate != "" && hbdate != null)
+            {
+                hbdateopendate = hbdate.Split('~')[0].ToString();
+                hbdateclosedate = hbdate.Split('~')[1].ToString();
+            }
+            if (userdate != "" && userdate != null)
+            {
+                userdateopendate = userdate.Split('~')[0].ToString();
+                userdateclosedate = userdate.Split('~')[1].ToString();
+            }
+            int startNum = rows * (page - 1) + 1;  //璧峰璁板綍rowNum
+            int endNum = rows * page;   //缁撴潫璁板綍 rowNum
+            mes = ReportManagerBLL.InStorageRecordMainSearch(hbillno, username, hbdateopendate, hbdateclosedate, userdateopendate, userdateclosedate, startNum, endNum, prop, order);
+            return Json(mes);
+        }
+        #endregion
+
+        #region[T+鍏ュ簱璁板綍琛ㄤ綋]
+        /// <summary>
+        /// T+鍏ュ簱璁板綍琛ㄤ綋
+        /// </summary>
+        /// <param name="hbillno">鍏ュ簱鍗曞彿</param> 
+        /// <returns></returns>
+        [Route(template: "InStorageRecordSubSearch")]
+        [HttpGet]
+        public JsonResult InStorageRecordSubSearch(string hbillno = null)
+        {
+            mes = ReportManagerBLL.InStorageRecordSubSearch(hbillno);
+            return Json(mes);
+        }
+        #endregion
+
+        #region[T+鍏ュ簱璁板綍鍒犻櫎]
+        /// <summary>
+        /// T+鍏ュ簱璁板綍鍒犻櫎
+        /// </summary>
+        /// <param name="dt">鎻愪氦鏁版嵁</param>
+        /// <returns></returns>
+        [Route(template: "DeleteInStorageRecord")]
+        [HttpPost]
+        public JsonResult DeleteInStorageRecord(DataTable dt)
+        {
+            var token = HttpContext.Request.Headers["Token"].ToString();
+            //var token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyY29kZSI6Ijk5OTkiLCJ1c2VybmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsInN0b3JnX2NvZGUiOiIiLCJzdG9yZ19uYW1lIjoiIiwiaXNfc3lzdGVtX2FkbWluIjoiWSIsInJvbGVfY29kZSI6IiIsInJvbGVfZGF0YXBlcm1pc3Npb25zIjoiIiwidXNlcnR5cGUiOiJQQyIsInJlZGlza2V5IjoiTmV3TUVTTG9naW5Vc2VySURQQzk5OTkiLCJtZXNTZXR0aW5nIjoie1wicm91dGVcIjp0cnVlLFwiaXNPcmRlclwiOnRydWUsXCJkZXZpY2VcIjp0cnVlLFwidGVjaFwiOnRydWUsXCJ3b3JrT3JkZXJcIjp0cnVlLFwiZXZlcnlcIjpmYWxzZSxcImxhc3RcIjpmYWxzZX0iLCJ0aW1lb3V0IjoiMjAyNC0xMC0yNFQxMjozNTo1MC4zNDI1NzE2KzA4OjAwIn0.Nbc-1sXd4QLLsnj8wH9XC7iWEmP0wDG82gwLxIh94e4";
+            User us = JwtTools.Denocode(token.ToString());
+            mes = ReportManagerBLL.DeleteInStorageRecord(dt, us);
+            return Json(mes);
+        }
+        #endregion
     }
 }
diff --git a/VueWebCoreApi/Controllers/WorkOrderController.cs b/VueWebCoreApi/Controllers/WorkOrderController.cs
index feb5ecf..cb1ae13 100644
--- a/VueWebCoreApi/Controllers/WorkOrderController.cs
+++ b/VueWebCoreApi/Controllers/WorkOrderController.cs
@@ -801,6 +801,7 @@
         /// <summary>
         /// 鐢熶骇鍏ュ簱淇℃伅鏌ヨ
         /// </summary>
+        /// <param name="deptno">閮ㄩ棬缂栫爜(T8浣跨敤)</param>
         /// <param name="saleordercode">閿�鍞崟鍙�</param>
         /// <param name="wkshopcode">杞﹂棿缂栫爜</param>
         /// <param name="erpordercode">璁㈠崟缂栧彿</param>
@@ -811,9 +812,9 @@
         /// <returns></returns>
         [Route(template: "ProductInHouseOrderSearch")]
         [HttpGet]
-        public JsonResult ProductInHouseOrderSearch(string saleordercode, string wkshopcode, string erpordercode = null, string mesordercode = null, string partcode = null, string partname = null, string partspec = null)
+        public JsonResult ProductInHouseOrderSearch(string deptno, string saleordercode, string wkshopcode, string erpordercode = null, string mesordercode = null, string partcode = null, string partname = null, string partspec = null)
         {
-            mes = WorkOrderBLL.ProductInHouseOrderSearch(saleordercode,wkshopcode, erpordercode, mesordercode, partcode, partname, partspec);
+            mes = WorkOrderBLL.ProductInHouseOrderSearch(deptno,saleordercode, wkshopcode, erpordercode, mesordercode, partcode, partname, partspec);
             return Json(mes);
         }
         #endregion
@@ -833,9 +834,9 @@
         }
         #endregion
 
-        #region[鐢熶骇鍏ュ簱鑾峰彇閮ㄩ棬淇℃伅]
+        #region[閫氭槗T8鐢熶骇鍏ュ簱鑾峰彇閮ㄩ棬淇℃伅]
         /// <summary>
-        /// 鐢熶骇鍏ュ簱鑾峰彇閮ㄩ棬淇℃伅
+        /// 閫氭槗T8鐢熶骇鍏ュ簱鑾峰彇閮ㄩ棬淇℃伅
         /// </summary>
         /// <returns></returns>
         [Route(template: "DeptSelectData")]
diff --git a/VueWebCoreApi/DLL/BLL/ReportManagerBLL.cs b/VueWebCoreApi/DLL/BLL/ReportManagerBLL.cs
index 1717cd8..8034461 100644
--- a/VueWebCoreApi/DLL/BLL/ReportManagerBLL.cs
+++ b/VueWebCoreApi/DLL/BLL/ReportManagerBLL.cs
@@ -1,5 +1,6 @@
 锘縰sing System;
 using System.Collections.Generic;
+using System.Data;
 using System.Linq;
 using System.Threading.Tasks;
 using VueWebCoreApi.DLL.DAL;
@@ -138,10 +139,24 @@
         #endregion
 
 
-        #region[鍏ュ簱璁板綍]
-        public static ToMessage StorageRecordSearch(string hbillno, string sono, string mono, string wocode, string partcode,string partname, string stockcode, string respondopendate, string respondclosedate, int startNum, int endNum, string prop, string order)
+        #region[T8鍏ュ簱璁板綍琛ㄥご]
+        public static ToMessage StorageRecordMainSearch(string hbillno, string username, string hbdateopendate, string hbdateclosedate, string userdateopendate, string userdateclosedate, int startNum, int endNum, string prop, string order)
         {
-            return ReportManagerDAL.StorageRecordSearch(hbillno,sono,mono,wocode,partcode, partname,stockcode, respondopendate,respondclosedate,startNum,endNum,prop,order);
+            return ReportManagerDAL.StorageRecordMainSearch(hbillno, username, hbdateopendate, hbdateclosedate, userdateopendate, userdateclosedate, startNum, endNum, prop, order);
+        }
+        #endregion
+
+        #region[T8鍏ュ簱璁板綍琛ㄤ綋]
+        public static ToMessage StorageRecordSubSearch(string hbillno)
+        {
+            return ReportManagerDAL.StorageRecordSubSearch(hbillno);
+        }
+        #endregion
+
+        #region[T8鍏ュ簱璁板綍鍒犻櫎]
+        public static ToMessage StorageRecordDelete(DataTable dt, User us)
+        {
+            return ReportManagerDAL.StorageRecordDelete(dt, us);
         }
         #endregion
 
@@ -158,5 +173,27 @@
             return ReportManagerDAL.StorageRecordExcelSearch(hbillno, sono, mono, wocode, partcode, partname, stockcode, respondopendate, respondclosedate);
         }
         #endregion
+
+
+        #region[T+鍏ュ簱璁板綍琛ㄥご]
+        public static ToMessage InStorageRecordMainSearch(string hbillno, string username, string hbdateopendate, string hbdateclosedate, string userdateopendate, string userdateclosedate, int startNum, int endNum, string prop, string order)
+        {
+            return ReportManagerDAL.InStorageRecordMainSearch(hbillno, username, hbdateopendate, hbdateclosedate, userdateopendate, userdateclosedate, startNum, endNum, prop, order);
+        }
+        #endregion
+
+        #region[T+鍏ュ簱璁板綍琛ㄤ綋]
+        public static ToMessage InStorageRecordSubSearch(string hbillno)
+        {
+            return ReportManagerDAL.InStorageRecordSubSearch(hbillno);
+        }
+        #endregion
+
+        #region[T+鍏ュ簱璁板綍鍒犻櫎]
+        public static ToMessage DeleteInStorageRecord(DataTable dt, User us)
+        {
+            return ReportManagerDAL.DeleteInStorageRecord(dt, us);
+        }
+        #endregion
     }
 }
diff --git a/VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs b/VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs
index 13fc313..9d87ac9 100644
--- a/VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs
+++ b/VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs
@@ -256,9 +256,9 @@
         #endregion
 
         #region[鐢熶骇鍏ュ簱淇℃伅鏌ヨ]
-        public static ToMessage ProductInHouseOrderSearch(string saleordercode, string wkshopcode, string erpordercode, string mesordercode, string partcode, string partname, string partspec)
+        public static ToMessage ProductInHouseOrderSearch(string deptno, string saleordercode, string wkshopcode, string erpordercode, string mesordercode, string partcode, string partname, string partspec)
         {
-            return WorkOrderDAL.ProductInHouseOrderSearch(saleordercode,wkshopcode, erpordercode, mesordercode, partcode, partname, partspec);
+            return WorkOrderDAL.ProductInHouseOrderSearch(deptno,saleordercode, wkshopcode, erpordercode, mesordercode, partcode, partname, partspec);
         }
         #endregion
 
@@ -269,7 +269,7 @@
         }
         #endregion
 
-        #region[鐢熶骇鍏ュ簱鑾峰彇閮ㄩ棬淇℃伅]
+        #region[閫氭槗T8鐢熶骇鍏ュ簱鑾峰彇閮ㄩ棬淇℃伅]
         public static ToMessage DeptSelectData()
         {
             return WorkOrderDAL.DeptSelectData();
diff --git a/VueWebCoreApi/DLL/DAL/KanBanManagerentDAL.cs b/VueWebCoreApi/DLL/DAL/KanBanManagerentDAL.cs
index 6546719..6f17394 100644
--- a/VueWebCoreApi/DLL/DAL/KanBanManagerentDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/KanBanManagerentDAL.cs
@@ -11,6 +11,8 @@
     public class KanBanManagerentDAL
     {
         public static ToMessage mes = new ToMessage(); //瀹氫箟鍏ㄥ眬杩斿洖淇℃伅瀵硅薄
+        public static string ErpPath = AppSetting.GetAppSetting("ErpPath"); //鑾峰彇ERP閰嶇疆
+
 
         #region[杞﹂棿鐪嬫澘,涓婄敓浜т俊鎭痌
         public static ToMessage WorkShopProduceTopData(string wkshopcode)
@@ -19,7 +21,7 @@
             var dynamicParams = new DynamicParameters();
             try
             {
-                string[] wkshoplist = Array.ConvertAll<string, string>(wkshopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[] 
+                string[] wkshoplist = Array.ConvertAll<string, string>(wkshopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[]                                                                                                                                                                        //瀛樺偍杩囩▼鍚�
                 sql = @"select * from h_v_JLKanBan_WorkshopTop where wkshp_code in @wkshoplist";
                 dynamicParams.Add("@wkshoplist", wkshoplist);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
@@ -109,9 +111,29 @@
             try
             {
                 string[] wkshoplist = Array.ConvertAll<string, string>(wkshopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[] 
-                sql = @"select * from h_v_JLKanBan_WorkShopCompreLeftTop";
+                switch (ErpPath)
+                {
+                    case "T+":
+                        sql = @"select * from h_v_JLKanBan_TCloundWorkShopCompreLeftTop";
+                        break;
+                    case "T8":
+                        sql = @"select * from h_v_JLKanBan_T8WorkShopCompreLeftTop";
+                        break;
+                    default:
+                        break;
+                }
                 var data = DapperHelper.selecttable(sql);
-                sql = @"select * from h_v_JLKanBan_WorkShopCompreLeftCenter";
+                switch (ErpPath)
+                {
+                    case "T+":
+                        sql = @"select * from h_v_JLKanBan_TCloundWorkShopCompreLeftCenter";
+                        break;
+                    case "T8":
+                        sql = @"select * from h_v_JLKanBan_T8WorkShopCompreLeftCenter";
+                        break;
+                    default:
+                        break;
+                }
                 var data1 = DapperHelper.selecttable(sql);
                 for (int i = 0; i < wkshoplist.Length; i++)
                 {
@@ -161,9 +183,30 @@
             Dictionary<object, object> dir = new Dictionary<object, object>();
             try
             {
-                sql = @"select * from h_v_JLKanBan_WorkShopCompreRightTop";
+                switch (ErpPath)
+                {
+                    case "T+":
+                        sql = @"select * from h_v_JLKanBan_TCloundWorkShopCompreRightTop";
+                        break;
+                    case "T8":
+                        sql = @"select * from h_v_JLKanBan_T8WorkShopCompreRightTop";
+                        break;
+                    default:
+                        break;
+                }
                 var data = DapperHelper.selecttable(sql);
-                sql = @"select * from h_v_JLKanBan_WorkShopCompreRightCenter";
+                switch (ErpPath)
+                {
+                    case "T+":
+                        sql = @"select * from h_v_JLKanBan_TCloundWorkShopCompreRightCenter";
+                        break;
+                    case "T8":
+                        sql = @"select * from h_v_JLKanBan_T8WorkShopCompreRightCenter";
+                        break;
+                    default:
+                        break;
+                }
+               
                 var data1 = DapperHelper.selecttable(sql);
                 dir.Add("RightTop", data);
                 dir.Add("RightBottom", data1);
@@ -189,9 +232,29 @@
             Dictionary<object, object> dir = new Dictionary<object, object>();
             try
             {
-                sql = @"select * from h_v_JLKanBan_WorkShopCompreLeftBottom_Top";
+                switch (ErpPath)
+                {
+                    case "T+":
+                        sql = @"select * from h_v_JLKanBan_TCloundWorkShopCompreLeftBottom_Top";
+                        break;
+                    case "T8":
+                        sql = @"select * from h_v_JLKanBan_T8WorkShopCompreLeftBottom_Top";
+                        break;
+                    default:
+                        break;
+                }
                 var data = DapperHelper.selecttable(sql);
-                sql = @"select * from h_v_JLKanBan_WorkShopCompreLeftBottom_Bottom";
+                switch (ErpPath)
+                {
+                    case "T+":
+                        sql = @"select * from h_v_JLKanBan_TCloundWorkShopCompreLeftBottom_Bottom";
+                        break;
+                    case "T8":
+                        sql = @"select * from h_v_JLKanBan_T8WorkShopCompreLeftBottom_Bottom";
+                        break;
+                    default:
+                        break;
+                }
                 var data1 = DapperHelper.selecttable(sql);
                 dir.Add("BottomLeftTop", data);
                 dir.Add("BottomLeftBottom", data1);
@@ -217,7 +280,17 @@
             Dictionary<object, object> dir = new Dictionary<object, object>();
             try
             {
-                sql = @"select * from h_v_JLKanBan_WorkShopCompreRightBottom";
+                switch (ErpPath)
+                {
+                    case "T+":
+                        sql = @"select * from h_v_JLKanBan_TCloundWorkShopCompreRightBottom";
+                        break;
+                    case "T8":
+                        sql = @"select * from h_v_JLKanBan_T8WorkShopCompreRightBottom";
+                        break;
+                    default:
+                        break;
+                }
                 var data = DapperHelper.selecttable(sql);
                 dir.Add("Y", data.Rows[0]["BaseQuantity"].ToString());
                 dir.Add("B", data.Rows[1]["BaseQuantity"].ToString());
@@ -245,7 +318,17 @@
             try
             {
                 //鑾峰彇浠撳簱鐢熶骇鍔犲伐鍗曞緟鍏ュ簱鍒楄〃
-                sql = @"select * from h_v_JLKanBan_WareHouseTopLeft order by voucherdate";
+                switch (ErpPath)
+                {
+                    case "T+":
+                        sql = @"select * from h_v_JLKanBan_TCloundWareHouseTopLeft order by voucherdate";
+                        break;
+                    case "T8":
+                        sql = @"select * from h_v_JLKanBan_T8WareHouseTopLeft order by voucherdate";
+                        break;
+                    default:
+                        break;
+                }
                 var data = DapperHelper.selecttable(sql);
                 mes.code = "200";
                 mes.message = "鏌ヨ鎴愬姛!";
@@ -269,7 +352,17 @@
             try
             {
                 //鑾峰彇浠撳簱鐢熶骇鍔犲伐鍗曞緟鍏ュ簱鍒楄〃
-                sql = @"select * from h_v_JLKanBan_WareHouseTopBottom order by voucherdate";
+                switch (ErpPath)
+                {
+                    case "T+":
+                        sql = @"select * from h_v_JLKanBan_TCloundWareHouseTopBottom order by voucherdate";
+                        break;
+                    case "T8":
+                        sql = @"select * from h_v_JLKanBan_T8WareHouseTopBottom order by voucherdate";
+                        break;
+                    default:
+                        break;
+                }
                 var data = DapperHelper.selecttable(sql);
                 mes.code = "200";
                 mes.message = "鏌ヨ鎴愬姛!";
@@ -292,7 +385,17 @@
             string sql = "";
             try
             {
-                sql = @"select * from h_v_JLKanBan_WareHouseRightTop";
+                switch (ErpPath)
+                {
+                    case "T+":
+                        sql = @"select * from h_v_JLKanBan_TCloundWareHouseRightTop";
+                        break;
+                    case "T8":
+                        sql = @"select * from h_v_JLKanBan_T8WareHouseRightTop";
+                        break;
+                    default:
+                        break;
+                }
                 var data = DapperHelper.selecttable(sql);
                 mes.code = "200";
                 mes.message = "鏌ヨ鎴愬姛!";
@@ -315,7 +418,17 @@
             string sql = "";
             try
             {
-                sql = @"select * from h_v_JLKanBan_WareHouseRightBottom";
+                switch (ErpPath)
+                {
+                    case "T+":
+                        sql = @"select * from h_v_JLKanBan_TCloundWareHouseRightBottom";
+                        break;
+                    case "T8":
+                        sql = @"select * from h_v_JLKanBan_T8WareHouseRightBottom";
+                        break;
+                    default:
+                        break;
+                }
                 var data = DapperHelper.selecttable(sql);
                 mes.code = "200";
                 mes.message = "鏌ヨ鎴愬姛!";
diff --git a/VueWebCoreApi/DLL/DAL/ReportManagerDAL.cs b/VueWebCoreApi/DLL/DAL/ReportManagerDAL.cs
index e269956..26843c3 100644
--- a/VueWebCoreApi/DLL/DAL/ReportManagerDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/ReportManagerDAL.cs
@@ -19,6 +19,7 @@
         public static string strProcName = ""; //瀹氫箟鍏ㄥ眬sql鍙橀噺
         public static List<SqlParameter> listStr = new List<SqlParameter>(); //瀹氫箟鍏ㄥ眬鍙傛暟闆嗗悎
         public static SqlParameter[] parameters; //瀹氫箟鍏ㄥ眬SqlParameter鍙傛暟鏁扮粍
+        public static string ErpPath = AppSetting.GetAppSetting("ErpPath"); //鑾峰彇ERP閰嶇疆
 
 
         #region[鐢熶骇杩涘害鎶ヨ〃]
@@ -1629,8 +1630,8 @@
         #endregion
 
 
-        #region[鍏ュ簱璁板綍]
-        public static ToMessage StorageRecordSearch(string hbillno, string sono, string mono, string wocode, string partcode, string partname, string stockcode, string respondopendate, string respondclosedate, int startNum, int endNum, string prop, string order)
+        #region[T8鍏ュ簱璁板綍琛ㄥご]
+        public static ToMessage StorageRecordMainSearch(string hbillno, string username, string hbdateopendate, string hbdateclosedate, string userdateopendate, string userdateclosedate, int startNum, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
@@ -1638,76 +1639,130 @@
             {
                 if (hbillno != "" && hbillno != null)
                 {
-                    search += "and AA.hbillno like '%'+@hbillno+'%' ";
+                    search += "and hbillno like '%'+@hbillno+'%' ";
                     dynamicParams.Add("@hbillno", hbillno);
                 }
-                if (sono != "" && sono != null)
+                if (username != "" && username != null)
                 {
-                    search += "and AA.salecode like '%'+@sono+'%' ";
-                    dynamicParams.Add("@sono", sono);
+                    search += "and create_user like '%'+@username+'%' ";
+                    dynamicParams.Add("@username", username);
                 }
-                if (mono != "" && mono != null)
+                if (hbdateopendate != "" && hbdateopendate != null)
                 {
-                    search += "and AA.mo_no like '%'+@mono+'%' ";
-                    dynamicParams.Add("@mono", mono);
+                    search += "and hbdate between @hbdateopendate and @hbdateclosedate ";
+                    dynamicParams.Add("@hbdateopendate", hbdateopendate + " 00:00:00");
+                    dynamicParams.Add("@hbdateclosedate", hbdateclosedate + " 23:59:59");
                 }
-                if (wocode != "" && wocode != null)
+                if (userdateopendate != "" && userdateopendate != null)
                 {
-                    search += "and AA.wocode like '%'+@wocode+'%' ";
-                    dynamicParams.Add("@wocode", wocode);
-                }
-                if (partcode != "" && partcode != null)
-                {
-                    search += "and AA.partcode  like '%'+@partcode+'%' ";
-                    dynamicParams.Add("@partcode", partcode);
-                }
-                if (partname != "" && partname != null)
-                {
-                    search += "and AA.partname  like '%'+@partname+'%' ";
-                    dynamicParams.Add("@partname", partname);
-                }
-                if (stockcode != "" && stockcode != null)
-                {
-                    search += "and AA.stockcode=@stockcode ";
-                    dynamicParams.Add("@stockcode", stockcode);
-                }
-                if (respondopendate != "" && respondopendate != null)
-                {
-                    search += "and AA.hbdate between @respondopendate and @respondclosedate ";
-                    dynamicParams.Add("@respondopendate", respondopendate + " 00:00:00");
-                    dynamicParams.Add("@respondclosedate", respondclosedate + " 23:59:59");
+                    search += "and create_date between @userdateopendate and @userdateclosedate ";
+                    dynamicParams.Add("@userdateopendate", userdateopendate + " 00:00:00");
+                    dynamicParams.Add("@userdateclosedate", userdateclosedate + " 23:59:59");
                 }
                 //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
-                var sql = @"select *  from(
-                           select A.hbillno,A.hbdate,B.salecode,B.mo_no,B.wocode,B.partcode,P.partname,P.partspec,M.wkshp_code,T.torg_name as wkshp_name,B.stockcode,S.name as stockname,
-                           B.qty,B.inbarcode,R.step_code,E.stepname,R.style,A.create_user,A.create_date  
-                           from TK_WMS_Inwh_Main A
-                           inner join TK_WMS_Inwh_Sub B on A.hbillno=B.hbillno
-                           inner join TK_Wrk_Record R on B.inbarcode=R.inbarcode
-                           left join  TK_Wrk_Man M on B.wocode=M.wo_code
-                           left join  TMateriel_Info P on B.partcode=P.partcode
-                           left join  TSecStck S on B.stockcode=S.code
-                           left join  TStep E on R.step_code=E.stepcode
-                           left join  TOrganization T on M.wkshp_code=T.torg_code
-                           union all
-                           select A.hbillno,A.hbdate,B.salecode,B.mo_no,B.wocode,B.partcode,P.partname,P.partspec,M.wkshp_code,T.torg_name as wkshp_name,B.stockcode,S.name as stockname,
-                           B.qty,B.inbarcode,O.step_code,E.stepname,O.style,A.create_user,A.create_date  
-                           from TK_WMS_Inwh_Main A
-                           inner join TK_WMS_Inwh_Sub B on A.hbillno=B.hbillno
-                           inner join TK_Wrk_OutRecord O on B.inbarcode=O.inbarcode
-                           left join  TK_Wrk_Man M on B.wocode=M.wo_code
-                           left join  TMateriel_Info P on B.partcode=P.partcode
-                           left join  TSecStck S on B.stockcode=S.code
-                           left join  TStep E on O.step_code=E.stepcode
-                           left join  TOrganization T on M.wkshp_code=T.torg_code
-                           ) as AA where 1=1 " + search;
+                var sql = @"select (case when docu_typecode='WI' then '浜ф垚鍝佸叆搴�' end) as hbilltype,hbillno,hbdate,create_user,create_date
+                            from TK_WMS_Inwh_Main where 1=1 " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
                 mes.message = "鏌ヨ鎴愬姛!";
                 mes.count = total;
                 mes.data = data.ToList();
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[T8鍏ュ簱璁板綍琛ㄤ綋]
+        public static ToMessage StorageRecordSubSearch(string hbillno)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                dynamicParams.Add("@hbillno", hbillno);
+                //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select *  from(
+                            select S.hbillno,S.rownumber,S.inbarcode,S.mo_id,S.mo_no,E.sbid,S.wocode,R.step_code,T.stepname,E.materiel_id,S.partcode,M.partname,M.partspec,
+                            E.unitid,S.unitcode,E.unitname,COALESCE(K.noid, E.stck_id) as stockid,COALESCE(K.code, E.stck_code) as stockcode,K.name as stockname,
+                            S.qty,S.salecode,S.style
+                            from TK_WMS_Inwh_Sub S
+                            left join TKimp_Ewo E on S.mo_no=E.wo and S.mo_id=E.woid and S.partcode=E.materiel_code
+                            left join TK_Wrk_Record R on S.inbarcode=R.inbarcode
+                            left join TStep T on R.step_code=T.stepcode
+                            left join TMateriel_Info M on S.partcode=M.partcode
+                            left join TSecStck K on COALESCE(M.idwarehouse, E.stck_code)=K.code
+                            where S.style='B' and S.hbillno=@hbillno
+                            union all
+                            select S.hbillno,S.rownumber,S.inbarcode,S.mo_id,S.mo_no,E.sbid,S.wocode,O.step_code,T.stepname,E.materiel_id,S.partcode,M.partname,M.partspec,
+                            E.unitid,S.unitcode,E.unitname,COALESCE(K.noid, E.stck_id) as stockid,COALESCE(K.code, E.stck_code) as stockcode,K.name as stockname,
+                            S.qty,S.salecode,S.style
+                            from TK_WMS_Inwh_Sub S
+                            left join TKimp_Ewo E on S.mo_no=E.wo and S.mo_id=E.woid and S.partcode=E.materiel_code
+                            left join TK_Wrk_OutRecord O on S.inbarcode=O.inbarcode
+                            left join TStep T on O.step_code=T.stepcode
+                            left join TMateriel_Info M on S.partcode=M.partcode
+                            left join TSecStck K on COALESCE(M.idwarehouse, E.stck_code)=K.code
+                            where S.style='S' and S.hbillno=@hbillno
+                            ) as AA" + search;
+                DataTable data = DapperHelper.selectdata(sql, dynamicParams);
+                mes.code = "200";
+                mes.message = "鏌ヨ鎴愬姛!";
+                mes.count = total;
+                mes.data = data;
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[T8鍏ュ簱璁板綍鍒犻櫎]
+        public static ToMessage StorageRecordDelete(DataTable dt, User us)
+        {
+            var sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //瀛樺偍杩囩▼鍚�
+                sql = @"h_p_IFCLD_T8DeleteInProductOrder";
+                dynamicParams.Add("@RecordSub", dbType: DbType.Object, value: dt);
+                // 娣诲姞杈撳嚭鍙傛暟  
+                dynamicParams.Add("@StatusCode", dbType: DbType.Int32, direction: ParameterDirection.Output);
+                dynamicParams.Add("@Message", dbType: DbType.String, size: 255, direction: ParameterDirection.Output);
+                bool a = DapperHelper.IsProcedure(sql, dynamicParams);
+                // 鑾峰彇杈撳嚭鍙傛暟鐨勫��  
+                var statusCode = dynamicParams.Get<int>("@StatusCode");
+                var message = dynamicParams.Get<string>("@Message");
+                if (a)
+                {
+                    mes.code = statusCode.ToString();
+                    mes.count = 0;
+                    mes.message = message;
+                    mes.data = null;
+                }
+                else
+                {
+                    mes.code = statusCode.ToString();
+                    mes.count = 0;
+                    mes.message = message;
+                    mes.data = null;
+                }
             }
             catch (Exception e)
             {
@@ -1729,7 +1784,7 @@
             try
             {
                 // 浣跨敤LINQ鐨刲ambda琛ㄨ揪寮忔牴鎹甴billno鍒嗙粍骞剁粺璁℃瘡涓粍鐨勬潯鏁�  
-                var groupedRecords = json.GroupBy(r => r.hbillno).Select(g => new{hbillno = g.Key,count = g.Count()}).ToList();
+                var groupedRecords = json.GroupBy(r => r.hbillno).Select(g => new { hbillno = g.Key, count = g.Count() }).ToList();
                 for (int i = 0; i < groupedRecords.Count; i++)
                 {
                     //鏌ヨ鍏ュ簱鍗曞瓙琛ㄧ殑鏁版嵁鏉℃暟
@@ -1765,15 +1820,27 @@
                             inbarcode = json[i].inbarcode.ToString()
                         }
                     });
-                    if (json[i].style == "B") 
+                    if (json[i].style == "B")
                     {
-                        //鑷埗鎶ュ伐璁板綍琛ㄥ叆搴撴暟閲�
-                        sql = @"update TK_Wrk_Record set inhouseqty=inhouseqty-@qty where inbarcode=@inbarcode";
+                        //鍒犻櫎鎶ュ伐璁板綍涓昏〃
+                        //sql = @"delete from TK_Wrk_Record  where id=@repoid  and inbarcode=@inbarcode";
+                        //list.Add(new
+                        //{
+                        //    str = sql,
+                        //    parm = new
+                        //    {
+                        //        repoid = json[i].repoid.ToString(),
+                        //        inbarcode = json[i].inbarcode.ToString()
+                        //    }
+                        //});
+                        //淇敼鑷埗鎶ュ伐鍏ュ簱鏁伴噺
+                        sql = @"update TK_Wrk_Record set inhouseqty=inhouseqty-@qty where inbarcode=@inbarcode and id=@repoid";
                         list.Add(new
                         {
                             str = sql,
                             parm = new
                             {
+                                repoid = json[i].repoid.ToString(),
                                 qty = json[i].qty.ToString(),
                                 inbarcode = json[i].inbarcode.ToString()
                             }
@@ -1781,7 +1848,18 @@
                     }
                     if (json[i].style == "S")
                     {
-                        //澶栧崗鏀舵枡璁板綍琛ㄥ叆搴撴暟閲�
+                        //鍒犻櫎澶栧崗鏀舵枡璁板綍涓昏〃
+                        //sql = @"delete from TK_Wrk_OutRecord  where id=@repoid  and inbarcode=@inbarcode";
+                        //list.Add(new
+                        //{
+                        //    str = sql,
+                        //    parm = new
+                        //    {
+                        //        repoid = json[i].repoid.ToString(),
+                        //        inbarcode = json[i].inbarcode.ToString()
+                        //    }
+                        //});
+                        //淇敼澶栧崗鏀舵枡璁板綍琛ㄥ叆搴撴暟閲�
                         sql = @"update TK_Wrk_OutRecord set inhouseqty=inhouseqty-@qty where inbarcode=@inbarcode";
                         list.Add(new
                         {
@@ -1811,7 +1889,7 @@
                 if (aa)
                 {
                     //鍐欏叆鎿嶄綔璁板綍琛�
-                    LogHelper.DbOperateLog(us.usercode, "鍒犻櫎", "鍒犻櫎浜嗗叆搴撳崟:"+ string.Join(",", json.Select(r => $"{r.hbillno},{r.inbarcode}")), us.usertype);
+                    LogHelper.DbOperateLog(us.usercode, "鍒犻櫎", "鍒犻櫎浜嗗叆搴撳崟:" + string.Join(",", json.Select(r => $"{r.hbillno},{r.inbarcode}")), us.usertype);
                     mes.code = "200";
                     mes.count = 0;
                     mes.message = "鍏ュ簱鍗曞垹闄ゆ垚鍔�!";
@@ -1931,5 +2009,151 @@
             return mes;
         }
         #endregion
+
+
+        #region[T+鍏ュ簱璁板綍琛ㄥご]
+        public static ToMessage InStorageRecordMainSearch(string hbillno, string username, string hbdateopendate, string hbdateclosedate, string userdateopendate, string userdateclosedate, int startNum, int endNum, string prop, string order)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (hbillno != "" && hbillno != null)
+                {
+                    search += "and hbillno like '%'+@hbillno+'%' ";
+                    dynamicParams.Add("@hbillno", hbillno);
+                }
+                if (username != "" && username != null)
+                {
+                    search += "and create_user like '%'+@username+'%' ";
+                    dynamicParams.Add("@username", username);
+                }
+                if (hbdateopendate != "" && hbdateopendate != null)
+                {
+                    search += "and hbdate between @hbdateopendate and @hbdateclosedate ";
+                    dynamicParams.Add("@hbdateopendate", hbdateopendate + " 00:00:00");
+                    dynamicParams.Add("@hbdateclosedate", hbdateclosedate + " 23:59:59");
+                }
+                if (userdateopendate != "" && userdateopendate != null)
+                {
+                    search += "and create_date between @userdateopendate and @userdateclosedate ";
+                    dynamicParams.Add("@userdateopendate", userdateopendate + " 00:00:00");
+                    dynamicParams.Add("@userdateclosedate", userdateclosedate + " 23:59:59");
+                }
+                //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select (case when docu_typecode='69' then '浜ф垚鍝佸叆搴�' end) as hbilltype,hbillno,hbdate,create_user,create_date
+                            from TK_WMS_Inwh_Main where 1=1 " + search;
+                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
+                mes.code = "200";
+                mes.message = "鏌ヨ鎴愬姛!";
+                mes.count = total;
+                mes.data = data.ToList();
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[T+鍏ュ簱璁板綍琛ㄤ綋]
+        public static ToMessage InStorageRecordSubSearch(string hbillno)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                dynamicParams.Add("@hbillno", hbillno);
+                //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select *  from(
+                            select S.hbillno,S.rownumber,S.inbarcode,S.mo_id,S.mo_no,E.sbid,S.wocode,R.step_code,T.stepname,E.materiel_id,S.partcode,M.partname,M.partspec,
+                            E.unitid,S.unitcode,E.unitname,COALESCE(K.noid, E.stck_id) as stockid,COALESCE(K.code, E.stck_code) as stockcode,K.name as stockname,
+                            S.qty,S.salecode,S.style
+                            from TK_WMS_Inwh_Sub S
+                            left join TKimp_Ewo E on S.mo_no=E.wo and S.mo_id=E.woid and S.partcode=E.materiel_code
+                            left join TK_Wrk_Record R on S.inbarcode=R.inbarcode
+                            left join TStep T on R.step_code=T.stepcode
+                            left join TMateriel_Info M on S.partcode=M.partcode
+                            left join TSecStck K on COALESCE(M.idwarehouse, E.stck_code)=K.code
+                            where S.style='B' and S.hbillno=@hbillno
+                            union all
+                            select S.hbillno,S.rownumber,S.inbarcode,S.mo_id,S.mo_no,E.sbid,S.wocode,O.step_code,T.stepname,E.materiel_id,S.partcode,M.partname,M.partspec,
+                            E.unitid,S.unitcode,E.unitname,COALESCE(K.noid, E.stck_id) as stockid,COALESCE(K.code, E.stck_code) as stockcode,K.name as stockname,
+                            S.qty,S.salecode,S.style
+                            from TK_WMS_Inwh_Sub S
+                            left join TKimp_Ewo E on S.mo_no=E.wo and S.mo_id=E.woid and S.partcode=E.materiel_code
+                            left join TK_Wrk_OutRecord O on S.inbarcode=O.inbarcode
+                            left join TStep T on O.step_code=T.stepcode
+                            left join TMateriel_Info M on S.partcode=M.partcode
+                            left join TSecStck K on COALESCE(M.idwarehouse, E.stck_code)=K.code
+                            where S.style='S' and S.hbillno=@hbillno
+                            ) as AA" + search;
+                DataTable data = DapperHelper.selectdata(sql, dynamicParams);
+                mes.code = "200";
+                mes.message = "鏌ヨ鎴愬姛!";
+                mes.count = total;
+                mes.data = data;
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[T+鍏ュ簱璁板綍鍒犻櫎]
+        public static ToMessage DeleteInStorageRecord(DataTable dt, User us)
+        {
+            var sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //瀛樺偍杩囩▼鍚�
+                sql = @"h_p_IFCLD_TCloudDeleteInProductOrder";
+                dynamicParams.Add("@RecordSub", dbType: DbType.Object, value: dt);
+                // 娣诲姞杈撳嚭鍙傛暟  
+                dynamicParams.Add("@StatusCode", dbType: DbType.Int32, direction: ParameterDirection.Output);
+                dynamicParams.Add("@Message", dbType: DbType.String, size: 255, direction: ParameterDirection.Output);
+                bool a = DapperHelper.IsProcedure(sql, dynamicParams);
+                // 鑾峰彇杈撳嚭鍙傛暟鐨勫��  
+                var statusCode = dynamicParams.Get<int>("@StatusCode");
+                var message = dynamicParams.Get<string>("@Message");
+                if (a)
+                {
+                    mes.code = statusCode.ToString();
+                    mes.count = 0;
+                    mes.message = message;
+                    mes.data = null;
+                }
+                else
+                {
+                    mes.code = statusCode.ToString();
+                    mes.count = 0;
+                    mes.message = message;
+                    mes.data = null;
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
     }
 }
diff --git a/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs b/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
index dba19a6..6ffebf1 100644
--- a/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
@@ -1572,16 +1572,17 @@
                     dynamicParams.Add("@partspec", partspec);
                 }
                 //鏍规嵁鏉′欢鏌ヨ宸ュ崟宸ュ簭浠诲姟(鑷埗宸ュ簭)
-                sql = @"select A.id,A.status,B.dept_code,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend,
+                sql = @"select A.id,A.status,E.dept_id,B.dept_code,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,E.materiel_id,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend,
                         S.stepcode,S.stepname,S.descr,A.plan_qty,A.good_qty,A.ng_qty,A.laborbad_qty,A.materielbad_qty,B.lm_date,
-                        E.sbid,B.m_po,E.saleOrderCode,E.saleOrderDetailId,E.unitid,E.unitcode,E.unitname,K.code as stockcode,k.name as stockname
+                        E.sbid,E.woid as mpoid,B.m_po,E.saleOrderid,E.saleOrderCode,E.saleOrderDetailId,E.unitid,E.unitcode,E.unitname,
+                        COALESCE(K.noid, E.stck_id) as stockid,COALESCE(K.code, E.stck_code) as stockcode,k.name as stockname,E.voucherdate
                         from TK_Wrk_Step A
                         left join TK_Wrk_Man B on A.wo_code=B.wo_code
                         left join TMateriel_Info M on B.materiel_code=M.partcode
                         left join TStep S on A.step_code=S.stepcode
                         left join TOrganization T on B.wkshp_code=T.torg_code
                         left join TKimp_Ewo E on B.sourceid=E.id and B.m_po=E.wo
-                        left join TSecStck K on M.idwarehouse=K.code
+                        left join TSecStck K on COALESCE(M.idwarehouse, E.stck_code)=K.code
                         where A.status in('ALLO','START') and S.flwtype='Z'  " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
@@ -1677,18 +1678,19 @@
                     dynamicParams.Add("@partspec", partspec);
                 }
                 //鏍规嵁鏉′欢鏌ヨ宸ュ崟宸ュ簭浠诲姟(鑷埗宸ュ簭)
-                sql = @"select A.id,A.status,B.dept_code,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend,
+                sql = @"select A.id,A.status,E.dept_id,B.dept_code,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,E.materiel_id,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend,
                         S.stepcode,S.stepname,S.descr,A.plan_qty,A.good_qty,A.ng_qty,
                         (select isnull(sum(fqty),0) as fqty   from TK_Wrk_OutRecord where wo_code=A.wo_code and step_code=A.step_code and style='F') as fqty,
                         A.laborbad_qty,A.materielbad_qty,A.plan_startdate,A.plan_enddate,B.lm_date,
-                        E.sbid,B.m_po,E.saleOrderCode,E.saleOrderDetailId,E.unitid,E.unitcode,E.unitname,K.code as stockcode,k.name as stockname
+                        E.sbid,E.woid as mpoid,B.m_po,E.saleOrderid,E.saleOrderCode,E.saleOrderDetailId,E.unitid,E.unitcode,E.unitname,
+                        COALESCE(K.noid, E.stck_id) as stockid,COALESCE(K.code, E.stck_code) as stockcode,k.name as stockname,E.voucherdate
                         from TK_Wrk_Step A
                         left join TK_Wrk_Man B on A.wo_code=B.wo_code
                         left join TMateriel_Info M on B.materiel_code=M.partcode
                         left join TStep S on A.step_code=S.stepcode
                         left join TOrganization T on B.wkshp_code=T.torg_code
                         left join TKimp_Ewo E on B.sourceid=E.id and B.m_po=E.wo
-                        left join TSecStck K on M.idwarehouse=K.code
+                        left join TSecStck K on COALESCE(M.idwarehouse, E.stck_code)=K.code
                         where A.status in('ALLO','START') and S.flwtype='W'  " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
@@ -1977,6 +1979,15 @@
                     ngqty = groupedItems.Sum(item => Convert.ToDecimal(item.badqty));
                 }
                 list.Clear();
+                //鍒ゆ柇鐗╂枡鏄惁涓虹┖
+                if (partcode == "" || partcode == null)
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.message = "褰撳墠鎶ュ伐锛岀墿鏂欑紪鐮佷负绌�,璇锋鏌ュ瓨璐т俊鎭�!";
+                    mes.data = null;
+                    return mes;
+                }
                 //鍒ゆ柇鏄惁鏈夊紑宸ヨ褰�(鏃犳柊澧�)
                 sql = @"select *  from TK_Wrk_Record where wo_code=@wo_code and step_code=@step_code and style='S' and eqp_code=@eqpcode";
                 dynamicParams.Add("@wo_code", mesordercode);
@@ -2272,6 +2283,15 @@
                 }
 
                 list.Clear();
+                //鍒ゆ柇鐗╂枡鏄惁涓虹┖
+                if (partcode == "" || partcode == null)
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.message = "褰撳墠鎶ュ伐锛岀墿鏂欑紪鐮佷负绌�,璇锋鏌ュ瓨璐т俊鎭�!";
+                    mes.data = null;
+                    return mes;
+                }
                 //鍒ゆ柇鏄惁鏈夋敹鏂欒褰�(鏈夛細锛堝悓宸ュ崟+宸ュ簭+澶栧崗渚涙柟淇敼锛� 鏃狅細鏂板)
                 sql = @"select *  from TK_Wrk_OutRecord where wo_code=@wo_code and step_code=@step_code and wx_code=@wx_code and style='S'";
                 dynamicParams.Add("@wo_code", mesordercode);
@@ -2758,7 +2778,7 @@
                                     FROM TUser U
                                     WHERE CHARINDEX(',' + U.usercode + ',', ',' + B.report_person + ',') > 0
                                     FOR XML PATH('')), 1, 1, '') AS username,
-                            B.report_date,B.report_qty,B.ng_qty,B.laborbad_qty,B.materielbad_qty,'' as wx_code,'' as wx_name
+                            B.report_date,B.report_qty,B.ng_qty,B.laborbad_qty,B.materielbad_qty,A.inhouseqty,'' as wx_code,'' as wx_name
                             from TK_Wrk_Record A
                             inner join TK_Wrk_RecordSub B on A.id=B.m_id
                             left join TK_Wrk_Man M on A.wo_code=M.wo_code
@@ -2777,7 +2797,7 @@
                                     FROM TUser U
                                     WHERE CHARINDEX(',' + U.usercode + ',', ',' + B.in_person + ',') > 0
                                     FOR XML PATH('')), 1, 1, '') AS username,
-                            B.in_time as report_date,B.sqty as report_qty,B.ng_qty,B.laborbad_qty,B.materielbad_qty,A.wx_code,C.name as wx_name
+                            B.in_time as report_date,B.sqty as report_qty,B.ng_qty,B.laborbad_qty,B.materielbad_qty,A.inhouseqty,A.wx_code,C.name as wx_name
                             from TK_Wrk_OutRecord A
                             inner join TK_Wrk_OutRecordSub B on A.id = B.m_id
                             left join TK_Wrk_Man M on A.wo_code = M.wo_code
@@ -3984,12 +4004,17 @@
         #endregion
 
         #region[鐢熶骇鍏ュ簱淇℃伅鏌ヨ]
-        public static ToMessage ProductInHouseOrderSearch(string saleordercode, string wkshopcode, string erpordercode, string mesordercode, string partcode, string partname, string partspec)
+        public static ToMessage ProductInHouseOrderSearch(string deptno, string saleordercode, string wkshopcode, string erpordercode, string mesordercode, string partcode, string partname, string partspec)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
             try
             {
+                if (deptno != "" && deptno != null)
+                {
+                    search += "and AA.dept_code=@deptno ";
+                    dynamicParams.Add("@deptno", deptno);
+                }
                 if (saleordercode != "" && saleordercode != null)
                 {
                     search += "and AA.saleOrderCode like '%'+@saleordercode+'%' ";
@@ -4091,7 +4116,7 @@
         }
         #endregion
 
-        #region[鐢熶骇鍏ュ簱鑾峰彇閮ㄩ棬淇℃伅]
+        #region[閫氭槗T8鐢熶骇鍏ュ簱鑾峰彇閮ㄩ棬淇℃伅]
         public static ToMessage DeptSelectData()
         {
             var sql = "";
@@ -4099,7 +4124,7 @@
             string search = "";
             try
             {
-                sql = @"select * from h_v_TFDepent";
+                sql = @"select * from h_v_T8Depent";
                 var data = DapperHelper.selectdata(sql, dynamicParams);
                 mes.code = "200";
                 mes.message = "鏌ヨ鎴愬姛!";
diff --git a/VueWebCoreApi/Models/InventoryModel/StorageRecord.cs b/VueWebCoreApi/Models/InventoryModel/StorageRecord.cs
index 948dcf1..f498686 100644
--- a/VueWebCoreApi/Models/InventoryModel/StorageRecord.cs
+++ b/VueWebCoreApi/Models/InventoryModel/StorageRecord.cs
@@ -51,5 +51,9 @@
         /// 鎶ュ伐绫诲瀷(B:鑷埗/S澶栧崗)
         /// </summary>
         public string style { get; set; }
+        /// <summary>
+        /// 鏈亾宸ュ簭鎶ュ伐璁板綍id
+        /// </summary>
+        public string repoid { get; set; }
     }
 }

--
Gitblit v1.9.3