From e38242f0209423a24d3f41b175954f8201721d0d Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期四, 24 十月 2024 17:38:46 +0800
Subject: [PATCH] 1.同步通易T8基础资料 2.回写通易T8入库单

---
 VueWebCoreApi/Controllers/ErpSyncMesController.cs  |    2 
 VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs              |   35 ++++
 VueWebCoreApi/Models/InventoryModel/InReptModel.cs |   15 ++
 VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs              |  229 ++++++++++++++++++++++++++++++-
 VueWebCoreApi/Models/ErpOrder/ErpOrderBatch.cs     |    4 
 VueWebCoreApi/DLL/DAL/ErpSyncMesDAL.cs             |   10 
 VueWebCoreApi/Startup.cs                           |    2 
 VueWebCoreApi/appsettings.json                     |    2 
 VueWebCoreApi/Controllers/WorkOrderController.cs   |   74 ++++++++++
 9 files changed, 349 insertions(+), 24 deletions(-)

diff --git a/VueWebCoreApi/Controllers/ErpSyncMesController.cs b/VueWebCoreApi/Controllers/ErpSyncMesController.cs
index ba332ce..c9a8cd0 100644
--- a/VueWebCoreApi/Controllers/ErpSyncMesController.cs
+++ b/VueWebCoreApi/Controllers/ErpSyncMesController.cs
@@ -9,7 +9,7 @@
 
 namespace VueWebCoreApi.Controllers
 {
-    [ApiExplorerSettings(GroupName = "鐣呮嵎閫欵RP鍩虹鏁版嵁鍚屾")]
+    [ApiExplorerSettings(GroupName = "鏄撻�歍8ERP鍩虹鏁版嵁鍚屾")]
     [ApiController]
     [Route("api/[controller]")]
     [ChannelActionFilter]
diff --git a/VueWebCoreApi/Controllers/WorkOrderController.cs b/VueWebCoreApi/Controllers/WorkOrderController.cs
index 56173f8..0e3fc37 100644
--- a/VueWebCoreApi/Controllers/WorkOrderController.cs
+++ b/VueWebCoreApi/Controllers/WorkOrderController.cs
@@ -9,6 +9,7 @@
 using VueWebCoreApi.DLL.BLL;
 using VueWebCoreApi.Models;
 using VueWebCoreApi.Models.ErpOrder;
+using VueWebCoreApi.Models.InventoryModel;
 using VueWebCoreApi.Models.ReportVerify;
 using VueWebCoreApi.Models.UpdateReport;
 using VueWebCoreApi.Models.WorkData;
@@ -82,6 +83,7 @@
             string erpordercode = obj["erpordercode"].ToString(); //璁㈠崟缂栧彿
             string saleordercode = obj["saleordercode"].ToString(); //閿�鍞鍗曞彿
             string partcode = obj["partcode"].ToString(); //浜у搧缂栫爜
+            string deptcode = obj["deptcode"].ToString(); //閮ㄩ棬缂栫爜
             string wkshopcode = obj["wkshopcode"].ToString(); //杞﹂棿缂栫爜
             string warehousecode = obj["warehousecode"].ToString(); //浠撳簱缂栫爜
             string erpqty = obj["erpqty"].ToString(); //璁㈠崟鏁伴噺
@@ -92,7 +94,7 @@
             string paystartdate = obj["paystartdate"].ToString(); //棰勮寮�宸ユ棩鏈�
             string payenddate = obj["payenddate"].ToString(); //棰勮瀹屽伐鏃ユ湡
             string clerkuser = obj["clerkuser"].ToString(); //閿�鍞鍗曚笟鍔″憳
-            mes = WorkOrderBLL.MarkSaveErpOrder(erporderid, sbid, erpordercode, saleordercode, partcode, wkshopcode, warehousecode, erpqty, markqty, ordernum, relse_qty, saleOrderDeliveryDate, paystartdate, payenddate, clerkuser, us);
+            mes = WorkOrderBLL.MarkSaveErpOrder(erporderid, sbid, erpordercode, saleordercode, partcode, deptcode,wkshopcode, warehousecode, erpqty, markqty, ordernum, relse_qty, saleOrderDeliveryDate, paystartdate, payenddate, clerkuser, us);
             return Json(mes);
         }
         #endregion
@@ -778,5 +780,75 @@
             return Json(mes);
         }
         #endregion
+
+
+        #region[鐢熶骇鍏ュ簱鏉$爜琛ユ墦]
+        /// <summary>
+        /// 鐢熶骇鍏ュ簱鏉$爜琛ユ墦
+        /// </summary>
+        /// <param name="ordercode">宸ュ崟缂栧彿</param>
+        /// <returns></returns>
+        [Route(template: "ProductInHouseLabCode")]
+        [HttpGet]
+        public JsonResult ProductInHouseLabCode(string ordercode)
+        {
+            mes = WorkOrderBLL.ProductInHouseLabCode(ordercode);
+            return Json(mes);
+        }
+        #endregion
+
+        #region[鐢熶骇鍏ュ簱淇℃伅鏌ヨ]
+        /// <summary>
+        /// 鐢熶骇鍏ュ簱淇℃伅鏌ヨ
+        /// </summary>
+        /// <param name="saleordercode">閿�鍞崟鍙�</param>
+        /// <param name="wkshopcode">杞﹂棿缂栫爜</param>
+        /// <param name="erpordercode">璁㈠崟缂栧彿</param>
+        /// <param name="mesordercode">宸ュ崟缂栧彿</param>
+        /// <param name="partcode">浜у搧缂栫爜</param>
+        /// <param name="partname">浜у搧鍚嶇О</param>
+        /// <param name="partspec">瑙勬牸鍨嬪彿</param>
+        /// <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)
+        {
+            mes = WorkOrderBLL.ProductInHouseOrderSearch(saleordercode,wkshopcode, erpordercode, mesordercode, partcode, partname, partspec);
+            return Json(mes);
+        }
+        #endregion
+
+        #region[鐢熶骇鍏ュ簱鑾峰彇鍗曟嵁鍙穄
+        /// <summary>
+        /// 鐢熶骇鍏ュ簱鑾峰彇鍗曟嵁鍙�
+        /// </summary>
+        /// <param name="rightcode">鍔熻兘缂栫爜</param>
+        /// <returns></returns>
+        [Route(template: "ProductInHouseOrderCodeSearch")]
+        [HttpPost]
+        public JsonResult ProductInHouseOrderCodeSearch(string rightcode)
+        {
+            mes = WorkOrderBLL.ProductInHouseOrderCodeSearch(rightcode);
+            return Json(mes);
+        }
+        #endregion
+
+        #region[閫氭槗T8鐢熶骇鍏ュ簱鎻愪氦]
+        /// <summary>
+        /// 閫氭槗T8鐢熶骇鍏ュ簱鎻愪氦
+        /// </summary>
+        /// <param name="data">鎻愪氦鏁版嵁</param>
+        /// <returns></returns>
+        [Route(template: "ProductInHouseOrderSeave")]
+        [HttpPost]
+        public JsonResult ProductInHouseOrderSeave(InReptModel data)
+        {
+            var token = HttpContext.Request.Headers["Token"].ToString();
+            //var token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyY29kZSI6Ijk5OTkiLCJ1c2VybmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsInN0b3JnX2NvZGUiOiIiLCJzdG9yZ19uYW1lIjoiIiwiaXNfc3lzdGVtX2FkbWluIjoiWSIsInJvbGVfY29kZSI6IiIsInJvbGVfZGF0YXBlcm1pc3Npb25zIjoiIiwidXNlcnR5cGUiOiJQQyIsInJlZGlza2V5IjoiTmV3TUVTTG9naW5Vc2VySURQQzk5OTkiLCJtZXNTZXR0aW5nIjoie1wicm91dGVcIjp0cnVlLFwiaXNPcmRlclwiOnRydWUsXCJkZXZpY2VcIjp0cnVlLFwidGVjaFwiOnRydWUsXCJ3b3JrT3JkZXJcIjp0cnVlLFwiZXZlcnlcIjpmYWxzZSxcImxhc3RcIjpmYWxzZX0iLCJ0aW1lb3V0IjoiMjAyNC0xMC0yNFQxMjozNTo1MC4zNDI1NzE2KzA4OjAwIn0.Nbc-1sXd4QLLsnj8wH9XC7iWEmP0wDG82gwLxIh94e4";
+            User us = JwtTools.Denocode(token.ToString());
+            mes = WorkOrderBLL.ProductInHouseOrderSeave(data, us);
+            return Json(mes);
+        }
+        #endregion
     }
 }
diff --git a/VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs b/VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs
index 6820ea0..99088f8 100644
--- a/VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs
+++ b/VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs
@@ -6,6 +6,7 @@
 using VueWebCoreApi.DLL.DAL;
 using VueWebCoreApi.Models;
 using VueWebCoreApi.Models.ErpOrder;
+using VueWebCoreApi.Models.InventoryModel;
 using VueWebCoreApi.Models.ReportVerify;
 using VueWebCoreApi.Models.UpdateReport;
 using VueWebCoreApi.Models.WorkData;
@@ -24,9 +25,9 @@
         #endregion
 
         #region[ERP璁㈠崟涓嬭揪]
-        public static ToMessage MarkSaveErpOrder(string erporderid,string sbid, string erpordercode, string saleordercode, string partcode, string wkshopcode, string warehousecode, string erpqty, string markqty, string ordernum, string relse_qty, string saleOrderDeliveryDate,string paystartdate,string payenddate, string clerkuser, User us)
+        public static ToMessage MarkSaveErpOrder(string erporderid,string sbid, string erpordercode, string saleordercode, string partcode,string deptcode, string wkshopcode, string warehousecode, string erpqty, string markqty, string ordernum, string relse_qty, string saleOrderDeliveryDate,string paystartdate,string payenddate, string clerkuser, User us)
         {
-            return WorkOrderDAL.MarkSaveErpOrder(erporderid, sbid, erpordercode, saleordercode, partcode, wkshopcode, warehousecode, erpqty, markqty, ordernum, relse_qty, saleOrderDeliveryDate, paystartdate, payenddate, clerkuser, us);
+            return WorkOrderDAL.MarkSaveErpOrder(erporderid, sbid, erpordercode, saleordercode, partcode, deptcode, wkshopcode, warehousecode, erpqty, markqty, ordernum, relse_qty, saleOrderDeliveryDate, paystartdate, payenddate, clerkuser, us);
         }
         #endregion
 
@@ -244,5 +245,35 @@
             return WorkOrderDAL.MesOrderStepReportNotVerifySeave(us, id, steptype);
         }
         #endregion
+
+
+
+        #region[鐢熶骇鍏ュ簱鏉$爜琛ユ墦]
+        public static ToMessage ProductInHouseLabCode(string ordercode)
+        {
+            return WorkOrderDAL.ProductInHouseLabCode(ordercode);
+        }
+        #endregion
+
+        #region[鐢熶骇鍏ュ簱淇℃伅鏌ヨ]
+        public static ToMessage ProductInHouseOrderSearch(string saleordercode, string wkshopcode, string erpordercode, string mesordercode, string partcode, string partname, string partspec)
+        {
+            return WorkOrderDAL.ProductInHouseOrderSearch(saleordercode,wkshopcode, erpordercode, mesordercode, partcode, partname, partspec);
+        }
+        #endregion
+
+        #region[鐢熶骇鍏ュ簱鑾峰彇鍗曟嵁鍙穄
+        public static ToMessage ProductInHouseOrderCodeSearch(string rightcode)
+        {
+            return WorkOrderDAL.ProductInHouseOrderCodeSearch(rightcode);
+        }
+        #endregion
+
+        #region[閫氭槗T8鐢熶骇鍏ュ簱鎻愪氦]
+        public static ToMessage ProductInHouseOrderSeave(InReptModel data, User us)
+        {
+            return WorkOrderDAL.ProductInHouseOrderSeave(data, us);
+        }
+        #endregion
     }
 }
diff --git a/VueWebCoreApi/DLL/DAL/ErpSyncMesDAL.cs b/VueWebCoreApi/DLL/DAL/ErpSyncMesDAL.cs
index bb8b2f1..8389c8a 100644
--- a/VueWebCoreApi/DLL/DAL/ErpSyncMesDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/ErpSyncMesDAL.cs
@@ -27,7 +27,7 @@
             try
             {
                 //瀛樺偍杩囩▼鍚�
-                sql = @"h_p_IFCLD_ERPUnit";
+                sql = @"h_p_IFCLD_T8ERPUnit";
                 dynamicParams.Add("@username", us.usercode);
                 bool a = DapperHelper.IsProcedure(sql, dynamicParams);
                 if (a)
@@ -64,7 +64,7 @@
             try
             {
                 //瀛樺偍杩囩▼鍚�
-                sql = @"h_p_IFCLD_ERPInventory";
+                sql = @"h_p_IFCLD_T8ERPInventory";
                 dynamicParams.Add("@username", us.usercode);
                 bool a = DapperHelper.IsProcedure(sql, dynamicParams);
                 if (a)
@@ -101,7 +101,7 @@
             try
             {
                 //瀛樺偍杩囩▼鍚�
-                sql = @"h_p_IFCLD_ERPWhareHouses";
+                sql = @"h_p_IFCLD_T8ERPWhareHousesLocation";
                 dynamicParams.Add("@username", us.usercode);
                 bool a = DapperHelper.IsProcedure(sql, dynamicParams);
                 if (a)
@@ -138,7 +138,7 @@
             try
             {
                 //瀛樺偍杩囩▼鍚�
-                sql = @"h_p_IFCLD_ERPPartner";
+                sql = @"h_p_IFCLD_T8ERPPartner";
                 dynamicParams.Add("@username", us.usercode);
                 bool a = DapperHelper.IsProcedure(sql, dynamicParams);
                 if (a)
@@ -175,7 +175,7 @@
             try
             {
                 //瀛樺偍杩囩▼鍚�
-                sql = @"h_p_IFCLD_ERPMO";
+                sql = @"h_p_IFCLD_T8ERPMO";
                 dynamicParams.Add("@username", us.usercode);
                 bool a = DapperHelper.IsProcedure(sql, dynamicParams);
                 if (a)
diff --git a/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs b/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
index 9d4975e..1aa1222 100644
--- a/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
@@ -8,6 +8,7 @@
 using System.Threading.Tasks;
 using VueWebCoreApi.Models;
 using VueWebCoreApi.Models.ErpOrder;
+using VueWebCoreApi.Models.InventoryModel;
 using VueWebCoreApi.Models.ReportVerify;
 using VueWebCoreApi.Models.UpdateReport;
 using VueWebCoreApi.Models.WorkData;
@@ -103,7 +104,7 @@
                 }
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
-                var sql = @"select A.id, A.status,A.wo,A.materiel_code as partcode,B.partname,B.partspec,A.qty,A.relse_qty,A.wkshp_code,C.torg_name as wkshp_name,
+                var sql = @"select A.id, A.status,A.wo,A.materiel_code as partcode,B.partname,B.partspec,A.qty,A.relse_qty,A.dept_id,A.dept_code,A.wkshp_code,C.torg_name as wkshp_name,
                             A.stck_code,D.name as stck_name,A.saleOrderCode,A.saleOrderDeliveryDate,A.planstartdate,A.planenddate,U.username as createuser,A.createdate,A.sbid,A.clerkuser
                             from TKimp_Ewo A
                             left join TMateriel_Info B on A.materiel_code=B.partcode
@@ -129,7 +130,7 @@
         #endregion
 
         #region[ERP璁㈠崟涓嬭揪]
-        public static ToMessage MarkSaveErpOrder(string erporderid, string sbid, string erpordercode, string saleordercode, string partcode, string wkshopcode, string warehousecode, string erpqty, string markqty, string ordernum, string relse_qty, string saleOrderDeliveryDate, string paystartdate, string payenddate, string clerkuser, User us)
+        public static ToMessage MarkSaveErpOrder(string erporderid, string sbid, string erpordercode, string saleordercode, string partcode,string deptcode, string wkshopcode, string warehousecode, string erpqty, string markqty, string ordernum, string relse_qty, string saleOrderDeliveryDate, string paystartdate, string payenddate, string clerkuser, User us)
         {
             var sql = "";
             List<object> list = new List<object>();
@@ -167,8 +168,8 @@
                     }
                     if (i == Convert.ToInt32(ordernum))  //鏈�鍚庝竴鍗曟椂
                     {
-                        sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,stck_code,sbid,materiel_code,sourceid,m_po,lm_user,lm_date,saleOrderCode,saleOrderDeliveryDate,plan_startdate,plan_enddate,data_sources,isstep,clerkuser) 
-                                values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@stck_code,@sbid,@materiel_code,@sourceid,@m_po,@username,@CreateDate,@saleOrderCode,@saleOrderDeliveryDate,@plan_startdate,@plan_enddate,@data_sources,@isstep,@clerkuser)";
+                        sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,dept_code,wkshp_code,plan_qty,stck_code,sbid,materiel_code,sourceid,m_po,lm_user,lm_date,saleOrderCode,saleOrderDeliveryDate,plan_startdate,plan_enddate,data_sources,isstep,clerkuser) 
+                                values(@wo_code,@wotype,@status,@dept_code,@wkshp_code,@plan_qty,@stck_code,@sbid,@materiel_code,@sourceid,@m_po,@username,@CreateDate,@saleOrderCode,@saleOrderDeliveryDate,@plan_startdate,@plan_enddate,@data_sources,@isstep,@clerkuser)";
                         list.Add(new
                         {
                             str = sql,
@@ -177,6 +178,7 @@
                                 wo_code = wo,
                                 wotype = "PO",
                                 status = "NEW",
+                                dept_code = deptcode,
                                 wkshp_code = wkshopcode,
                                 plan_qty = cdqty + (decimal.Parse(markqty) - sumqty),  //鏈崟涓嬪崟鏁伴噺=鍒囧垎鏁伴噺+(涓嬪崟鏁伴噺-绱鍒囧垎涓嬪崟鏁伴噺)
                                 stck_code = warehousecode,
@@ -200,8 +202,8 @@
                     else
                     {
 
-                        sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,stck_code,sbid,materiel_code,sourceid,m_po,lm_user,lm_date,saleOrderCode,saleOrderDeliveryDate,plan_startdate,plan_enddate,data_sources,isstep,clerkuser) 
-                                values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@stck_code,@sbid,@materiel_code,@sourceid,@m_po,@username,@CreateDate,@saleOrderCode,@saleOrderDeliveryDate,@plan_startdate,@plan_enddate,@data_sources,@isstep,@clerkuser)";
+                        sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,dept_code,wkshp_code,plan_qty,stck_code,sbid,materiel_code,sourceid,m_po,lm_user,lm_date,saleOrderCode,saleOrderDeliveryDate,plan_startdate,plan_enddate,data_sources,isstep,clerkuser) 
+                                values(@wo_code,@wotype,@status,@dept_code,@wkshp_code,@plan_qty,@stck_code,@sbid,@materiel_code,@sourceid,@m_po,@username,@CreateDate,@saleOrderCode,@saleOrderDeliveryDate,@plan_startdate,@plan_enddate,@data_sources,@isstep,@clerkuser)";
                         list.Add(new
                         {
                             str = sql,
@@ -210,6 +212,7 @@
                                 wo_code = wo,
                                 wotype = "PO",
                                 status = "NEW",
+                                dept_code=deptcode,
                                 wkshp_code = wkshopcode,
                                 plan_qty = cdqty,
                                 stck_code = warehousecode,
@@ -317,8 +320,8 @@
                         string wo = model.erpordercode + "_" + (num + count);
                         result += wo.ToString() + ",";
                         //鍐欏叆宸ュ崟琛�
-                        sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,stck_code,sbid,materiel_code,sourceid,m_po,lm_user,lm_date,saleOrderCode,saleOrderDeliveryDate,plan_startdate,plan_enddate,data_sources,isstep,clerkuser) 
-                                values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@stck_code,@sbid,@materiel_code,@sourceid,@m_po,@username,@CreateDate,@saleOrderCode,@saleOrderDeliveryDate,@plan_startdate,@plan_enddate,@data_sources,@isstep,@clerkuser)";
+                        sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,dept_code,wkshp_code,plan_qty,stck_code,sbid,materiel_code,sourceid,m_po,lm_user,lm_date,saleOrderCode,saleOrderDeliveryDate,plan_startdate,plan_enddate,data_sources,isstep,clerkuser) 
+                                values(@wo_code,@wotype,@status,@dept_code,@wkshp_code,@plan_qty,@stck_code,@sbid,@materiel_code,@sourceid,@m_po,@username,@CreateDate,@saleOrderCode,@saleOrderDeliveryDate,@plan_startdate,@plan_enddate,@data_sources,@isstep,@clerkuser)";
                         list.Add(new
                         {
                             str = sql,
@@ -327,6 +330,7 @@
                                 wo_code = wo,
                                 wotype = "PO",
                                 status = "NEW",
+                                dept_code=model.deptcode,
                                 wkshp_code = model.wkshopcode,
                                 plan_qty = decimal.Parse(model.erpqty),  //璁㈠崟鏁伴噺
                                 stck_code = model.warehousecode,
@@ -624,7 +628,7 @@
                 }
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
-                var sql = @"select A.id, A.status,A.wotype,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.route_code,R.name as route_name,A.plan_qty,A.wkshp_code,C.torg_name as wkshp_name,
+                var sql = @"select A.id, A.status,A.wotype,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.route_code,R.name as route_name,A.plan_qty,A.dept_code,A.wkshp_code,C.torg_name as wkshp_name,
                             A.stck_code,D.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.sourceid,A.m_po,A.saleOrderDeliveryDate,W.saleOrderCode,U.username as lm_user,A.lm_date,A.data_sources,A.isstep,A.clerkuser
                             from TK_Wrk_Man A
                             left join TKimp_Ewo W on A.m_po=W.wo and A.materiel_code=W.materiel_code and A.sbid=W.sbid
@@ -711,7 +715,7 @@
                 }
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
-                var sql = @"select A.id, A.status,A.wotype,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.plan_qty,A.wkshp_code,C.torg_name as wkshp_name,
+                var sql = @"select A.id, A.status,A.wotype,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.plan_qty,A.dept_code,A.wkshp_code,C.torg_name as wkshp_name,
                             A.stck_code,D.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.sourceid,A.m_po,A.saleOrderDeliveryDate,W.saleOrderCode,U.username as lm_user,A.lm_date,S.laborbad_qty,S.materielbad_qty
                             from TK_Wrk_Man A
                             left join TKimp_Ewo W on A.m_po=W.wo and A.materiel_code=W.materiel_code and A.sbid=W.sbid
@@ -1568,7 +1572,7 @@
                     dynamicParams.Add("@partspec", partspec);
                 }
                 //鏍规嵁鏉′欢鏌ヨ宸ュ崟宸ュ簭浠诲姟(鑷埗宸ュ簭)
-                sql = @"select A.id,A.status,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,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,
                         S.stepcode,S.stepname,S.descr,A.plan_qty,A.good_qty,A.ng_qty,A.laborbad_qty,A.materielbad_qty,B.lm_date
                         from TK_Wrk_Step A
                         left join TK_Wrk_Man B on A.wo_code=B.wo_code
@@ -1670,7 +1674,7 @@
                     dynamicParams.Add("@partspec", partspec);
                 }
                 //鏍规嵁鏉′欢鏌ヨ宸ュ崟宸ュ簭浠诲姟(鑷埗宸ュ簭)
-                sql = @"select A.id,A.status,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,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,
                         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
@@ -1773,7 +1777,7 @@
                     dynamicParams.Add("@partspec", partspec);
                 }
                 //鏍规嵁鏉′欢鏌ヨ宸ュ崟宸ュ簭浠诲姟(鑷埗宸ュ簭)
-                sql = @"select A.id,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,M.partcode,M.partname,M.partspec,A.seq,A.isend,
+                sql = @"select A.id,B.dept_code,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,M.partcode,M.partname,M.partspec,A.seq,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
                         from TK_Wrk_Step A
                         left join TK_Wrk_Man B on A.wo_code=B.wo_code
@@ -3928,5 +3932,204 @@
             return mes;
         }
         #endregion
+
+
+
+        #region[鐢熶骇鍏ュ簱鏉$爜琛ユ墦]
+        public static ToMessage ProductInHouseLabCode(string ordercode)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鑾峰彇鏈亾宸ュ簭鎶ュ伐鏉$爜鏁版嵁
+                sql = @"select *   from(
+                        select A.inbarcode,A.wo_code,P.partcode,P.partname,P.partspec,
+                        A.good_qty,U.username,A.lm_date   
+                        from  TK_Wrk_Record A
+                        inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
+                        inner join TMateriel_Info P on A.materiel_code=P.partcode
+                        inner join TUser U on A.lm_user=U.usercode
+                        where A.style='B' and S.isend='Y' and A.good_qty>0 and A.inbarcode<>''
+                        union all
+                        select A.inbarcode,A.wo_code,P.partcode,P.partname,P.partspec,
+                        A.sqty as sqty,U.username,A.lm_date   
+                        from  TK_Wrk_OutRecord A
+                        inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
+                        inner join TMateriel_Info P on A.materiel_code=P.partcode
+                        inner join TUser U on A.lm_user=U.usercode
+                        where A.style='S' and S.isend='Y' and A.sqty>0 and A.inbarcode<>''
+                        ) as AA where AA.wo_code=@ordercode";
+                dynamicParams.Add("@ordercode", ordercode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                mes.code = "200";
+                mes.message = "鏌ヨ鎴愬姛!";
+                mes.data = data;
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[鐢熶骇鍏ュ簱淇℃伅鏌ヨ]
+        public static ToMessage ProductInHouseOrderSearch(string saleordercode, string wkshopcode, string erpordercode, string mesordercode, string partcode, string partname, string partspec)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (saleordercode != "" && saleordercode != null)
+                {
+                    search += "and AA.saleOrderCode like '%'+@saleordercode+'%' ";
+                    dynamicParams.Add("@saleordercode", saleordercode);
+                }
+                if (wkshopcode != "" && wkshopcode != null)
+                {
+                    search += "and AA.wkshp_code=@wkshopcode ";
+                    dynamicParams.Add("@wkshopcode", wkshopcode);
+                }
+                if (erpordercode != "" && erpordercode != null)
+                {
+                    search += "and AA.m_po like '%'+@erpordercode+'%' ";
+                    dynamicParams.Add("@erpordercode", erpordercode);
+                }
+                if (mesordercode != "" && mesordercode != null)
+                {
+                    search += "and AA.wo_code like '%'+@mesordercode+'%' ";
+                    dynamicParams.Add("@mesordercode", mesordercode);
+                }
+                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 (partspec != "" && partspec != null)
+                {
+                    search += "and AA.partspec like '%'+@partspec+'%' ";
+                    dynamicParams.Add("@partspec", partspec);
+                }
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select *   from(
+                            select A.inbarcode,E.saleOrderid,isnull(E.saleOrderCode,'') as saleOrderCode,E.saleOrderDetailId,E.woid as mpoid,M.m_po,E.sbid,M.id as wo_id,A.wo_code,E.materiel_id,P.partcode,P.partname,P.partspec,E.unitid,E.unitcode,E.unitname,
+                            A.step_code,T.stepname,M.wkshp_code,O.torg_name as wkshp_name,K.code as stockcode,k.name as stockname,
+                            E.saleOrderqty,E.qty,M.plan_qty,A.good_qty,isnull(A.inhouseqty,0) as inhouseqty,A.good_qty-isnull(A.inhouseqty,0) as stinhouseqty,M.lm_date,A.style   
+                            from  TK_Wrk_Record A
+                            inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
+                            inner join TK_Wrk_Man M on S.wo_code=M.wo_code
+                            inner join TMateriel_Info P on M.materiel_code=P.partcode
+                            left join TKimp_Ewo E on M.m_po=E.wo and M.sourceid= E.id
+                            left join TSecStck K on P.idwarehouse=K.code
+                            left join TStep T on A.step_code=T.stepcode
+                            left join TOrganization O on M.wkshp_code=O.torg_code
+                            where A.style='B' and A.inbarcode<>'' and S.isend='Y' and A.good_qty>0
+                            union all
+                            select A.inbarcode,E.saleOrderid,isnull(E.saleOrderCode,'') as saleOrderCode,E.saleOrderDetailId,E.woid as mpoid,M.m_po,E.sbid,M.id as wo_id,A.wo_code,E.materiel_id,P.partcode,P.partname,P.partspec,E.unitid,E.unitcode,E.unitname,
+                            A.step_code,T.stepname,M.wkshp_code,O.torg_name as wkshp_name,K.code as stockcode,k.name as stockname,
+                            E.saleOrderqty,E.qty,M.plan_qty,A.sqty as sqty,isnull(A.inhouseqty,0) as inhouseqty,A.sqty-isnull(A.inhouseqty,0) as stinhouseqty,M.lm_date,A.style   
+                            from  TK_Wrk_OutRecord A
+                            inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
+                            inner join TK_Wrk_Man M on S.wo_code=M.wo_code
+                            inner join TMateriel_Info P on M.materiel_code=P.partcode
+                            left join TKimp_Ewo E on M.m_po=E.wo and M.sourceid= E.id
+                            left join TSecStck K on P.idwarehouse=K.code
+                            left join TStep T on A.step_code=T.stepcode
+                            left join TOrganization O on M.wkshp_code=O.torg_code
+                            where A.style='S' and A.inbarcode<>'' and S.isend='Y' and A.sqty>0
+                            ) as AA  where AA.good_qty>AA.inhouseqty " + search;
+                var 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[鐢熶骇鍏ュ簱鑾峰彇鍗曟嵁鍙穄
+        public static ToMessage ProductInHouseOrderCodeSearch(string rightcode)
+        {
+            try
+            {
+                mes = SeachEncodeJob.EncodingSeach(rightcode);
+                return mes;
+
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[閫氭槗T8鐢熶骇鍏ュ簱鎻愪氦]
+        public static ToMessage ProductInHouseOrderSeave(InReptModel data, User us)
+        {
+            var sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //瀛樺偍杩囩▼鍚�
+                sql = @"h_p_IFCLD_T8InProductOrder";
+                dynamicParams.Add("@RecordMin", dbType: DbType.Object, value: data.TableData[0]);
+                dynamicParams.Add("@RecordSub", dbType: DbType.Object, value: data.TableData[1]);
+                dynamicParams.Add("@rightcode", data.rightcode);
+                dynamicParams.Add("@incbit", data.incbit);
+                dynamicParams.Add("@username", us.usercode);
+                // 娣诲姞杈撳嚭鍙傛暟  
+                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/Models/ErpOrder/ErpOrderBatch.cs b/VueWebCoreApi/Models/ErpOrder/ErpOrderBatch.cs
index c839bff..6a33296 100644
--- a/VueWebCoreApi/Models/ErpOrder/ErpOrderBatch.cs
+++ b/VueWebCoreApi/Models/ErpOrder/ErpOrderBatch.cs
@@ -28,6 +28,10 @@
         /// </summary>
         public string partcode { get; set; }
         /// <summary>
+        /// 閮ㄩ棬缂栫爜
+        /// </summary>
+        public string deptcode { get; set; }
+        /// <summary>
         /// 杞﹂棿缂栫爜
         /// </summary>
         public string wkshopcode { get; set; }
diff --git a/VueWebCoreApi/Models/InventoryModel/InReptModel.cs b/VueWebCoreApi/Models/InventoryModel/InReptModel.cs
new file mode 100644
index 0000000..45189bd
--- /dev/null
+++ b/VueWebCoreApi/Models/InventoryModel/InReptModel.cs
@@ -0,0 +1,15 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Threading.Tasks;
+
+namespace VueWebCoreApi.Models.InventoryModel
+{
+    public class InReptModel
+    {
+        public string rightcode { get; set; }
+        public string incbit { get; set; }
+        public List<DataTable> TableData { get; set; }
+    }
+}
diff --git a/VueWebCoreApi/Startup.cs b/VueWebCoreApi/Startup.cs
index ee50aa3..de276ac 100644
--- a/VueWebCoreApi/Startup.cs
+++ b/VueWebCoreApi/Startup.cs
@@ -73,7 +73,7 @@
                 {
                     c.SwaggerDoc(version, new OpenApiInfo()
                     {
-                        Title = $"桥下工贸-MesApi文档:{version}",
+                        Title = $"泰丰电器-MesApi文档:{version}",
                         Version = version,
                         Description = $"Panda.Sewerage :  {version}  ",
                     });
diff --git a/VueWebCoreApi/appsettings.json b/VueWebCoreApi/appsettings.json
index e725d23..ddd4663 100644
--- a/VueWebCoreApi/appsettings.json
+++ b/VueWebCoreApi/appsettings.json
@@ -9,7 +9,7 @@
   "AllowedHosts": "*",
   //鏈嶅姟鍣ㄧ幆澧�
   "ConnectionStrings": {
-    "DBServer": "Data Source=121.196.36.24,1533;Initial Catalog=vmes_qx;User ID=sa;Password=xkd@20230101;pooling=false",
+    "DBServer": "Data Source=121.196.36.24,1533;Initial Catalog=vmes_tf;User ID=sa;Password=xkd@20230101;pooling=false",
     //浼佷笟缂栫爜
     "CompanyCode": "000",
     //浼佷笟鍚嶇О

--
Gitblit v1.9.3