From c6183753ab694aa8840c0b7f4460c2700c1490cd Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期二, 31 十月 2023 13:48:56 +0800
Subject: [PATCH] 1.ERP订单批量下达接口

---
 VueWebApi/Logs/2023-10-13.TXT                                        |    0 
 VueWebApi/obj/Release/VueWebApi.csproj.CoreCompileInputs.cache       |    2 
 VueWebApi/obj/Release/VueWebApi.pdb                                  |    0 
 VueWebApi/Models/ErpOrderBatch.cs                                    |   55 +++++++
 VueWebApi/obj/Release/VueWebApi.csproj.FileListAbsolute.txt          |    1 
 .vs/VueWebApi/v16/.suo                                               |    0 
 VueWebApi/DLL/BLL/ProductionManagementBLL.cs                         |    9 +
 VueWebApi/DLL/DAL/ProductionManagementDAL.cs                         |  151 +++++++++++++++++----
 VueWebApi/Properties/PublishProfiles/FolderProfile1.pubxml.user      |   10 
 VueWebApi/bin/VueWebApi.xml                                          |   62 ++++++++
 VueWebApi/obj/Release/VueWebApi.csproj.AssemblyReference.cache       |    0 
 VueWebApi/VueWebApi.csproj                                           |    1 
 VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache |    0 
 VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb           |    0 
 VueWebApi/Controllers/ProductionManagementController.cs              |   16 ++
 VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml           |   62 ++++++++
 VueWebApi/bin/VueWebApi.pdb                                          |    0 
 VueWebApi/Logs/2023-10-30.TXT                                        |    0 
 18 files changed, 334 insertions(+), 35 deletions(-)

diff --git a/.vs/VueWebApi/v16/.suo b/.vs/VueWebApi/v16/.suo
index ee0f699..976eb40 100644
--- a/.vs/VueWebApi/v16/.suo
+++ b/.vs/VueWebApi/v16/.suo
Binary files differ
diff --git a/VueWebApi/Controllers/ProductionManagementController.cs b/VueWebApi/Controllers/ProductionManagementController.cs
index c47f153..2909b4c 100644
--- a/VueWebApi/Controllers/ProductionManagementController.cs
+++ b/VueWebApi/Controllers/ProductionManagementController.cs
@@ -98,6 +98,22 @@
         }
         #endregion
 
+        #region[ERP璁㈠崟鎵归噺涓嬭揪]
+        /// <summary>
+        /// ERP璁㈠崟鎵归噺涓嬭揪
+        /// </summary>
+        /// <param name="obj">鎻愪氦鏁版嵁</param>
+        /// <returns></returns>
+        [Route(template: "MarkBatchSaveErpOrder")]
+        [HttpPost]
+        public HttpResponseMessage MarkBatchSaveErpOrder(List<ErpOrderBatch> obj)
+        {
+            var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //鎿嶄綔浜哄憳
+            mes = ProductionManagementBLL.MarkBatchSaveErpOrder(obj, username);
+            return TJson.toJson(mes);
+        }
+        #endregion
+
         #region[ERP璁㈠崟鍏抽棴]
         /// <summary>
         /// ERP璁㈠崟鍏抽棴
diff --git a/VueWebApi/DLL/BLL/ProductionManagementBLL.cs b/VueWebApi/DLL/BLL/ProductionManagementBLL.cs
index 5157557..2645c2d 100644
--- a/VueWebApi/DLL/BLL/ProductionManagementBLL.cs
+++ b/VueWebApi/DLL/BLL/ProductionManagementBLL.cs
@@ -26,6 +26,13 @@
         }
         #endregion
 
+        #region[ERP璁㈠崟鎵归噺涓嬭揪]
+        public static ToMessage MarkBatchSaveErpOrder(List<ErpOrderBatch> obj, string username)
+        {
+            return ProductionManagementDAL.MarkBatchSaveErpOrder(obj,username);
+        }
+        #endregion
+
         #region[ERP璁㈠崟鍏抽棴]
         public static ToMessage ClosedErpOrder(string erporderid, string erpordercode, string username)
         {
@@ -43,7 +50,7 @@
 
 
         #region[MES宸ュ崟鏌ヨ]
-        public static ToMessage MesOrderSearch(string stu_torgcode,string stu_torgtypecode,string mesorderstus, string mesordercode,string saleordercode, string sourceorder,string ordertype, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
+        public static ToMessage MesOrderSearch(string stu_torgcode,string stu_torgtypecode,string mesorderstus, string mesordercode, string sourceorder, string saleordercode,string ordertype, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
         {
             return ProductionManagementDAL.MesOrderSearch(stu_torgcode, stu_torgtypecode,mesorderstus, mesordercode, sourceorder, saleordercode, ordertype, partcode, partname, partspec, startNum, creatuser, createdate, endNum, prop, order);
         }
diff --git a/VueWebApi/DLL/DAL/ProductionManagementDAL.cs b/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
index 21d1d67..d9114ec 100644
--- a/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
+++ b/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
@@ -22,7 +22,7 @@
 
 
         #region[ERP璁㈠崟鏌ヨ]
-        public static ToMessage ErpOrderSearch(string stu_torgcode,string stu_torgtypecode,string erporderstus, string erpordercode,string saleordercode, string partcode, string partname, string partspec, int startNum, string paydatestartdate, string paydateenddate, string paydatestartdate1, string paydateenddate2, string creatuser, int endNum, string prop, string order)
+        public static ToMessage ErpOrderSearch(string stu_torgcode, string stu_torgtypecode, string erporderstus, string erpordercode, string saleordercode, string partcode, string partname, string partspec, int startNum, string paydatestartdate, string paydateenddate, string paydatestartdate1, string paydateenddate2, string creatuser, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
@@ -124,7 +124,7 @@
         #endregion
 
         #region[ERP璁㈠崟涓嬭揪]
-        public static ToMessage MarkSaveErpOrder(string erporderid, string erpordercode,string saleordercode, string partcode, string wkshopcode, string warehousecode, string erpqty, string markqty, string ordernum, string relse_qty, string saleOrderDeliveryDate, string username)
+        public static ToMessage MarkSaveErpOrder(string erporderid, string erpordercode, string saleordercode, string partcode, string wkshopcode, string warehousecode, string erpqty, string markqty, string ordernum, string relse_qty, string saleOrderDeliveryDate, string username)
         {
             var sql = "";
             List<object> list = new List<object>();
@@ -179,7 +179,7 @@
                                 m_po = erpordercode,
                                 username = username,
                                 CreateDate = DateTime.Now.ToString(),
-                                saleOrderCode=saleordercode,
+                                saleOrderCode = saleordercode,
                                 saleOrderDeliveryDate = Convert.ToDateTime(saleOrderDeliveryDate)
                             }
                         });
@@ -205,7 +205,7 @@
                                 m_po = erpordercode,
                                 username = username,
                                 CreateDate = DateTime.Now.ToString(),
-                                saleOrderCode=saleordercode,
+                                saleOrderCode = saleordercode,
                                 saleOrderDeliveryDate = Convert.ToDateTime(saleOrderDeliveryDate)
                             }
                         });
@@ -256,6 +256,101 @@
                     mes.Message = "涓嬭揪MES宸ュ崟鎴愬姛澶辫触!";
                     mes.data = null;
                 }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[ERP璁㈠崟鎵归噺涓嬭揪]
+        public static ToMessage MarkBatchSaveErpOrder(List<ErpOrderBatch> obj, string username)
+        {
+            var sql = "";
+            List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
+
+            try
+            {
+                list.Clear();
+
+                var groupedModels = obj.GroupBy(m => m.erpordercode);
+                foreach (var group in groupedModels)
+                {
+                    string erpordercode = group.Key;
+                    int count = 1;
+                    foreach (var model in group)
+                    {
+                        //鑾峰彇褰撳墠鏈�澶у伐鍗曞彿
+                        sql = @"select isnull(max(cast(substring(wo_code,charindex('_',wo_code)+1,len(wo_code)-charindex('_',wo_code)) as numeric)),0) as worknumb   
+                                from TK_Wrk_Man where  m_po=@erpordercode";
+                        dynamicParams.Add("@erpordercode", model.erpordercode);
+                        var data = DapperHelper.selectdata(sql, dynamicParams);
+                        int num = Convert.ToInt32(data.Rows[0]["WORKNUMB"].ToString());
+                        string wo = model.erpordercode + "_" + (num + count);
+                        //鍐欏叆宸ュ崟琛�
+                        sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,stck_code,materiel_code,sourceid,m_po,lm_user,lm_date,saleOrderCode,saleOrderDeliveryDate) values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@stck_code,@materiel_code,@sourceid,@m_po,@username,@CreateDate,@saleOrderCode,@saleOrderDeliveryDate)";
+                        list.Add(new
+                        {
+                            str = sql,
+                            parm = new
+                            {
+                                wo_code = wo,
+                                wotype = "PO",
+                                status = "NEW",
+                                wkshp_code = model.wkshopcode,
+                                plan_qty = decimal.Parse(model.erpqty),  //璁㈠崟鏁伴噺
+                                stck_code = model.warehousecode,
+                                materiel_code = model.partcode,
+                                sourceid = model.erporderid,
+                                m_po = model.erpordercode,
+                                username = username,
+                                CreateDate = DateTime.Now.ToString(),
+                                saleOrderCode = model.saleordercode,
+                                saleOrderDeliveryDate = Convert.ToDateTime(model.saleOrderDeliveryDate)
+                            }
+                        });
+
+                        //鏇存柊璁㈠崟鐘舵��
+                        sql = @"update  TKimp_Ewo set status='CREATED',saleOrderDeliveryDate=@saleOrderDeliveryDate,relse_qty=relse_qty+@sumqty where wo=@wo and id=@erporderid";
+                        list.Add(new
+                        {
+                            str = sql,
+                            parm = new
+                            {
+                                wo = model.erpordercode,
+                                erporderid = model.erporderid,
+                                sumqty = decimal.Parse(model.markqty),
+                                saleOrderDeliveryDate = Convert.ToDateTime(model.saleOrderDeliveryDate)
+                            }
+                        });
+                        count++;
+                    }
+                }
+
+
+              
+                bool aa = DapperHelper.DoTransaction(list);
+                if (aa)
+                {
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "鎵归噺涓嬭揪MES宸ュ崟鎴愬姛!";
+                    mes.data = null;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "鎵归噺涓嬭揪MES宸ュ崟鎴愬姛澶辫触!";
+                    mes.data = null;
+                }
+
             }
             catch (Exception e)
             {
@@ -403,7 +498,7 @@
 
 
         #region[MES宸ュ崟鏌ヨ]
-        public static ToMessage MesOrderSearch(string stu_torgcode,string stu_torgtypecode,string mesorderstus, string mesordercode, string sourceorder,string saleordercode, string ordertype, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
+        public static ToMessage MesOrderSearch(string stu_torgcode, string stu_torgtypecode, string mesorderstus, string mesordercode, string sourceorder, string saleordercode, string ordertype, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
@@ -511,7 +606,7 @@
         #endregion
 
         #region[MES鎶ュ簾琛ュ崟宸ュ崟鏌ヨ]
-        public static ToMessage MesBadOrderSearch(string mesordercode, string sourceorder,string saleordercode, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
+        public static ToMessage MesBadOrderSearch(string mesordercode, string sourceorder, string saleordercode, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
@@ -594,7 +689,7 @@
         #endregion
 
         #region[浜у搧缂栫爜鏌ユ壘宸ヨ壓璺嚎涓嬫媺鎺ュ彛]
-        public static ToMessage PartSelectRoute(string partcode,string wkshopcode)
+        public static ToMessage PartSelectRoute(string partcode, string wkshopcode)
         {
             string sql = "";
             var dynamicParams = new DynamicParameters();
@@ -624,7 +719,7 @@
         #endregion
 
         #region[宸ヨ壓璺嚎鏌ユ壘杞﹂棿涓嬫媺鎺ュ彛]
-        public static ToMessage RouteSelectWkshop(string stu_torgcode,string stu_torgtypecode,string partcode)
+        public static ToMessage RouteSelectWkshop(string stu_torgcode, string stu_torgtypecode, string partcode)
         {
             string sql = "";
             string search = "";
@@ -654,7 +749,7 @@
                         inner join TEqpInfo  E on D.eqp_code=E.code
                         left join TOrganization F on E.wksp_code=F.org_code
                         left join TOrganization L on  F.parent_id=L.id
-                        where M.materiel_code=@partcode and E.enable='Y' "+search;
+                        where M.materiel_code=@partcode and E.enable='Y' " + search;
                 dynamicParams.Add("@partcode", partcode);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
                 mes.code = "200";
@@ -726,7 +821,7 @@
         #endregion
 
         #region[宸ュ崟娲惧彂閫夋嫨宸ヨ壓璺嚎鎴栭�夋嫨鐢熶骇杞﹂棿鏃跺垽鏂粦瀹氭潯浠禲
-        public static ToMessage SelectRouteOrWkshop(string partcode, string routecode, string wkshopcode,string is_steprice)
+        public static ToMessage SelectRouteOrWkshop(string partcode, string routecode, string wkshopcode, string is_steprice)
         {
             string sql = "";
             var dynamicParams = new DynamicParameters();
@@ -1457,7 +1552,7 @@
         #endregion
 
         #region[鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(鑷埗)]
-        public static ToMessage MesOrderStepSearch(string stu_torgcode,string stu_torgtypecode, string orderstepqrcode, int startNum, int endNum, string prop, string order)
+        public static ToMessage MesOrderStepSearch(string stu_torgcode, string stu_torgtypecode, string orderstepqrcode, int startNum, int endNum, string prop, string order)
         {
             var sql = "";
             string search = "";
@@ -1579,7 +1674,7 @@
         #endregion
 
         #region[鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(澶栧崗)]
-        public static ToMessage MesOrderWxStepSearch(string stu_torgcode,string stu_torgtypecode,string orderstepqrcode, int startNum, int endNum, string prop, string order)
+        public static ToMessage MesOrderWxStepSearch(string stu_torgcode, string stu_torgtypecode, string orderstepqrcode, int startNum, int endNum, string prop, string order)
         {
             var sql = "";
             string search = "";
@@ -1700,7 +1795,7 @@
         #endregion
 
         #region[鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(涓嶈壇)]
-        public static ToMessage MesOrderNgStepSearch(string stu_torgcode,string stu_torgtypecode,string orderstepqrcode, int startNum, int endNum, string prop, string order)
+        public static ToMessage MesOrderNgStepSearch(string stu_torgcode, string stu_torgtypecode, string orderstepqrcode, int startNum, int endNum, string prop, string order)
         {
             var sql = "";
             string search = "";
@@ -1928,7 +2023,7 @@
         #endregion
 
         #region [鐢熶骇寮�鎶ュ伐锛氬紑宸�(寮�濮�/鎶ュ伐)/澶栧崗鍙戞枡鏃舵潯浠跺垽鏂強鏁版嵁杩斿洖鎺ュ彛]
-        public static ToMessage MesOrderStepStart(string OperType,string stu_torgcode, string SelectType, string orderstepqrcode)
+        public static ToMessage MesOrderStepStart(string OperType, string stu_torgcode, string SelectType, string orderstepqrcode)
         {
             var sql = "";
             string search = "";
@@ -1957,10 +2052,10 @@
                     switch (OperType)
                     {
                         case "ZZ":
-                            mes = ScanStartReport.ZZEncodingSeach(stu_torgcode, SelectType,ordercode, stepcode);
+                            mes = ScanStartReport.ZZEncodingSeach(stu_torgcode, SelectType, ordercode, stepcode);
                             break;
                         case "WX":
-                            mes = ScanStartReport.WXEncodingSeach(stu_torgcode,SelectType, ordercode, stepcode);
+                            mes = ScanStartReport.WXEncodingSeach(stu_torgcode, SelectType, ordercode, stepcode);
                             break;
                         default:
                             break;
@@ -2032,7 +2127,7 @@
                     mes.Message = "鏌ヨ鎴愬姛!";
                     mes.data = data;
                 }
-                else 
+                else
                 {
                     mes.code = "300";
                     mes.Message = "褰撳墠宸ュ簭鏈叧鑱旂敓浜ц澶�!";
@@ -2051,7 +2146,7 @@
         #endregion
 
         #region[鐢熶骇寮�鎶ュ伐锛氭姤宸ユ椂鑾峰彇鐢熶骇鐝粍涓嬫媺妗哴
-        public static ToMessage MesOrderStepReportSelectUserGroup(string stu_torgcode,string stu_torgtypecode,string wkshopcode)
+        public static ToMessage MesOrderStepReportSelectUserGroup(string stu_torgcode, string stu_torgtypecode, string wkshopcode)
         {
             string sql = "";
             string search = "";
@@ -2081,7 +2176,7 @@
                 sql = @"select group_code,group_name from TGroup  A
                         left join TOrganization T on A.torg_code=T.org_code 
                         left join TOrganization as L on T.parent_id=L.id 
-                        where 1=1 "+search;
+                        where 1=1 " + search;
                 var data = DapperHelper.selectdata(sql, dynamicParams);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -2345,7 +2440,7 @@
                 JArray arra = (JArray)Newtonsoft.Json.JsonConvert.DeserializeObject(reportuser);
                 //鍒ゆ柇鏄惁鏈変笉鑹暟鎹�
                 var groupedItems = defectobjs.GroupBy(item => item.defect_code) // 鎸夌紪鐮乧ode鍒嗙粍
-                        .Select(group => new { defect_code = group.Key, badqty = group.Sum(item =>Convert.ToDecimal(item.badqty)) }).ToList(); // 姹囨�绘暟閲弎ty
+                        .Select(group => new { defect_code = group.Key, badqty = group.Sum(item => Convert.ToDecimal(item.badqty)) }).ToList(); // 姹囨�绘暟閲弎ty
                 if (groupedItems.Count <= 0)
                 {
                     ngqty = 0;
@@ -2414,14 +2509,14 @@
                         });
 
                     }
-                    if (groupedItems.Count>0)
+                    if (groupedItems.Count > 0)
                     {
                         //鍐欏叆缂洪櫡璁板綍琛�
                         for (int i = 0; i < groupedItems.Count; i++)
                         {
                             sql = @"insert into  CSR_WorkRecord_Defect(record_id,wo_code,partnumber,step_seq,step_code,defect_qty,defect_pendqty,defect_code,remarks,style,lm_user,lm_date) 
                                 values(@record_id,@wo_code,@partcode,@stepseq,@stepcode,@ngqty,@defect_pendqty,@defect_code,@remarks,@style,@lm_user,@lm_date)";
-                            list.Add(new { str = sql, parm = new { record_id = int.Parse(dt.Rows[0]["ID"].ToString()), wo_code = mesordercode, partcode = partcode, stepseq = stepseq, stepcode = stepcode, ngqty = groupedItems[i].badqty, defect_pendqty= groupedItems[i].badqty, defect_code = groupedItems[i].defect_code, remarks = remarks, style = "B", lm_user = username, lm_date = date } });
+                            list.Add(new { str = sql, parm = new { record_id = int.Parse(dt.Rows[0]["ID"].ToString()), wo_code = mesordercode, partcode = partcode, stepseq = stepseq, stepcode = stepcode, ngqty = groupedItems[i].badqty, defect_pendqty = groupedItems[i].badqty, defect_code = groupedItems[i].defect_code, remarks = remarks, style = "B", lm_user = username, lm_date = date } });
 
                         }
                     }
@@ -2492,7 +2587,7 @@
                         {
                             sql = @"insert into  CSR_WorkRecord_Defect(record_id,wo_code,partnumber,step_seq,step_code,defect_qty,defect_pendqty,defect_code,remarks,style,lm_user,lm_date) 
                                 values(@record_id,@wo_code,@partcode,@stepseq,@stepcode,@ngqty,@defect_pendqty,@defect_code,@remarks,@style,@lm_user,@lm_date)";
-                            list.Add(new { str = sql, parm = new { record_id = int.Parse(dt.Rows[0]["ID"].ToString()), wo_code = mesordercode, partcode = partcode, stepseq = stepseq, stepcode = stepcode, ngqty = groupedItems[i].badqty, defect_pendqty= groupedItems[i].badqty, defect_code = groupedItems[i].defect_code, remarks = remarks, style = "B", lm_user = username, lm_date = date } });
+                            list.Add(new { str = sql, parm = new { record_id = int.Parse(dt.Rows[0]["ID"].ToString()), wo_code = mesordercode, partcode = partcode, stepseq = stepseq, stepcode = stepcode, ngqty = groupedItems[i].badqty, defect_pendqty = groupedItems[i].badqty, defect_code = groupedItems[i].defect_code, remarks = remarks, style = "B", lm_user = username, lm_date = date } });
 
                         }
                     }
@@ -2713,14 +2808,14 @@
                                 values(@m_id,@wxcode,@in_person,@in_time,@sqty,@ng_qty,@style,@lm_user,@lm_date)";
                     list.Add(new { str = sql, parm = new { m_id = int.Parse(dt.Rows[0]["ID"].ToString()), wxcode = wxcode, in_person = inuser, in_time = date, sqty = sqty, ng_qty = ngqty, style = "S", lm_user = username, lm_date = date } });
 
-                    if (groupedItems.Count>0)
+                    if (groupedItems.Count > 0)
                     {
                         //鍐欏叆缂洪櫡璁板綍琛�
                         for (int i = 0; i < groupedItems.Count; i++)
                         {
                             sql = @"insert into  CSR_WorkRecord_Defect(record_id,wo_code,partnumber,step_seq,step_code,defect_qty,defect_pendqty,defect_code,remarks,style,lm_user,lm_date) 
                                 values(@record_id,@wo_code,@partcode,@stepseq,@stepcode,@ngqty,@defect_pendqty,@defect_code,@remarks,@style,@lm_user,@lm_date)";
-                            list.Add(new { str = sql, parm = new { record_id = int.Parse(dt.Rows[0]["ID"].ToString()), wo_code = mesordercode, partcode = partcode, stepseq = stepseq, stepcode = stepcode, ngqty = groupedItems[i].badqty, defect_pendqty= groupedItems[i].badqty, defect_code = groupedItems[i].defect_code, remarks = remarks, style = "S", lm_user = username, lm_date = date } });
+                            list.Add(new { str = sql, parm = new { record_id = int.Parse(dt.Rows[0]["ID"].ToString()), wo_code = mesordercode, partcode = partcode, stepseq = stepseq, stepcode = stepcode, ngqty = groupedItems[i].badqty, defect_pendqty = groupedItems[i].badqty, defect_code = groupedItems[i].defect_code, remarks = remarks, style = "S", lm_user = username, lm_date = date } });
 
                         }
                     }
@@ -2769,7 +2864,7 @@
                         {
                             sql = @"insert into  CSR_WorkRecord_Defect(record_id,wo_code,partnumber,step_seq,step_code,defect_qty,defect_pendqty,defect_code,remarks,style,lm_user,lm_date) 
                                 values(@record_id,@wo_code,@partcode,@stepseq,@stepcode,@ngqty,@defect_pendqty,@defect_code,@remarks,@style,@lm_user,@lm_date)";
-                            list.Add(new { str = sql, parm = new { record_id = int.Parse(dt.Rows[0]["ID"].ToString()), wo_code = mesordercode, partcode = partcode, stepseq = stepseq, stepcode = stepcode, ngqty = groupedItems[i].badqty, defect_pendqty= groupedItems[i].badqty, defect_code = groupedItems[i].defect_code, remarks = remarks, style = "S", lm_user = username, lm_date = date } });
+                            list.Add(new { str = sql, parm = new { record_id = int.Parse(dt.Rows[0]["ID"].ToString()), wo_code = mesordercode, partcode = partcode, stepseq = stepseq, stepcode = stepcode, ngqty = groupedItems[i].badqty, defect_pendqty = groupedItems[i].badqty, defect_code = groupedItems[i].defect_code, remarks = remarks, style = "S", lm_user = username, lm_date = date } });
 
                         }
                     }
@@ -3193,7 +3288,7 @@
         #endregion
 
         #region[宸ュ簭妫�楠�,鎻愪氦]
-        public static ToMessage SaveMesOrderStepCheckItem(string stu_torgcode,string wocode, string partcode, string stepcode, string checkstandcode, string check_type, string sampmethod, string qualitystatus, string labqty, string sampleqty, string goodqty, string ngqty, string checkitemcont, string username)
+        public static ToMessage SaveMesOrderStepCheckItem(string stu_torgcode, string wocode, string partcode, string stepcode, string checkstandcode, string check_type, string sampmethod, string qualitystatus, string labqty, string sampleqty, string goodqty, string ngqty, string checkitemcont, string username)
         {
             var sql = "";
             string checktypename = "";
@@ -3300,7 +3395,7 @@
 
 
         #region[MES宸ュ崟鎵归噺鍏抽棴鏌ヨ]
-        public static ToMessage MesOrderBitchClosedSearch(string stu_torgcode,string stu_torgtypecode,string mesorderstus, string mesordercode, string sourceorder, string ordertype, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
+        public static ToMessage MesOrderBitchClosedSearch(string stu_torgcode, string stu_torgtypecode, string mesorderstus, string mesordercode, string sourceorder, string ordertype, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
diff --git a/VueWebApi/Logs/2023-10-13.TXT b/VueWebApi/Logs/2023-10-13.TXT
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/VueWebApi/Logs/2023-10-13.TXT
diff --git a/VueWebApi/Logs/2023-10-30.TXT b/VueWebApi/Logs/2023-10-30.TXT
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/VueWebApi/Logs/2023-10-30.TXT
diff --git a/VueWebApi/Models/ErpOrderBatch.cs b/VueWebApi/Models/ErpOrderBatch.cs
new file mode 100644
index 0000000..aeff385
--- /dev/null
+++ b/VueWebApi/Models/ErpOrderBatch.cs
@@ -0,0 +1,55 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+
+namespace VueWebApi.Models
+{
+    public class ErpOrderBatch
+    {
+        /// <summary>
+        /// 璁㈠崟id
+        /// </summary>
+        public string erporderid { get; set; }
+        /// <summary>
+        /// 璁㈠崟缂栧彿
+        /// </summary>
+        public string erpordercode { get; set; }
+        /// <summary>
+        /// 閿�鍞鍗曠紪鍙�
+        /// </summary>
+        public string saleordercode { get; set; }
+        /// <summary>
+        /// 浜у搧缂栫爜
+        /// </summary>
+        public string partcode { get; set; }
+        /// <summary>
+        /// 杞﹂棿缂栫爜
+        /// </summary>
+        public string wkshopcode { get; set; }
+        /// <summary>
+        /// 浠撳簱缂栫爜
+        /// </summary>
+        public string warehousecode { get; set; }
+        /// <summary>
+        /// 璁㈠崟鏁伴噺
+        /// </summary>
+        public string erpqty { get; set; }
+        /// <summary>
+        /// 涓嬪崟鏁伴噺
+        /// </summary>
+        public string markqty { get; set; }
+        /// <summary>
+        /// 涓嬪崟鍗曟暟
+        /// </summary>
+        public string ordernum { get; set; }
+        /// <summary>
+        /// 宸蹭笅鍗曟暟閲�
+        /// </summary>
+        public string relse_qty { get; set; }
+        /// <summary>
+        /// 浜や粯鏃堕棿
+        /// </summary>
+        public string saleOrderDeliveryDate { get; set; }
+    }
+}
\ No newline at end of file
diff --git a/VueWebApi/Properties/PublishProfiles/FolderProfile1.pubxml.user b/VueWebApi/Properties/PublishProfiles/FolderProfile1.pubxml.user
index 7bbe011..6a65304 100644
--- a/VueWebApi/Properties/PublishProfiles/FolderProfile1.pubxml.user
+++ b/VueWebApi/Properties/PublishProfiles/FolderProfile1.pubxml.user
@@ -5,7 +5,7 @@
 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
     <_PublishTargetUrl>D:\缃戠珯鍙戝竷\MES姝f竻娌�</_PublishTargetUrl>
-    <History>True|2023-10-10T02:34:01.3167190Z;True|2023-10-10T10:28:48.9531906+08:00;True|2023-10-10T09:54:43.0218459+08:00;True|2023-10-10T09:43:57.3542420+08:00;True|2023-09-27T07:47:41.5372303+08:00;True|2023-09-21T18:22:16.9575605+08:00;True|2023-09-21T18:09:09.2828591+08:00;True|2023-09-21T17:57:05.3919457+08:00;True|2023-09-21T17:40:17.7722883+08:00;True|2023-09-21T17:24:20.7004108+08:00;True|2023-09-21T17:14:30.5230341+08:00;True|2023-09-21T15:14:11.3019288+08:00;True|2023-09-20T09:47:15.7375677+08:00;True|2023-09-12T14:37:37.0665432+08:00;True|2023-08-16T16:52:02.7063729+08:00;True|2023-08-11T10:35:11.9236725+08:00;True|2023-08-07T10:34:44.0844087+08:00;True|2023-08-07T10:28:56.2230477+08:00;True|2023-07-31T11:18:06.9546379+08:00;True|2023-07-03T10:38:22.8080444+08:00;True|2023-06-26T08:15:27.3611577+08:00;True|2023-06-25T15:36:41.8736654+08:00;True|2023-06-25T14:33:49.5287543+08:00;True|2023-06-13T10:24:59.6876648+08:00;</History>
+    <History>True|2023-10-30T09:10:12.6270482Z;True|2023-10-30T14:52:35.6311299+08:00;True|2023-10-30T11:08:33.1712753+08:00;True|2023-10-13T12:07:07.3822225+08:00;True|2023-10-10T10:34:01.3167190+08:00;True|2023-10-10T10:28:48.9531906+08:00;True|2023-10-10T09:54:43.0218459+08:00;True|2023-10-10T09:43:57.3542420+08:00;True|2023-09-27T07:47:41.5372303+08:00;True|2023-09-21T18:22:16.9575605+08:00;True|2023-09-21T18:09:09.2828591+08:00;True|2023-09-21T17:57:05.3919457+08:00;True|2023-09-21T17:40:17.7722883+08:00;True|2023-09-21T17:24:20.7004108+08:00;True|2023-09-21T17:14:30.5230341+08:00;True|2023-09-21T15:14:11.3019288+08:00;True|2023-09-20T09:47:15.7375677+08:00;True|2023-09-12T14:37:37.0665432+08:00;True|2023-08-16T16:52:02.7063729+08:00;True|2023-08-11T10:35:11.9236725+08:00;True|2023-08-07T10:34:44.0844087+08:00;True|2023-08-07T10:28:56.2230477+08:00;True|2023-07-31T11:18:06.9546379+08:00;True|2023-07-03T10:38:22.8080444+08:00;True|2023-06-26T08:15:27.3611577+08:00;True|2023-06-25T15:36:41.8736654+08:00;True|2023-06-25T14:33:49.5287543+08:00;True|2023-06-13T10:24:59.6876648+08:00;</History>
   </PropertyGroup>
   <ItemGroup>
     <File Include="Areas/HelpPage/HelpPage.css">
@@ -750,13 +750,13 @@
       <publishTime>12/24/2021 15:38:29</publishTime>
     </File>
     <File Include="bin/VueWebApi.dll">
-      <publishTime>10/10/2023 10:33:56</publishTime>
+      <publishTime>10/30/2023 17:10:04</publishTime>
     </File>
     <File Include="bin/VueWebApi.pdb">
-      <publishTime>10/10/2023 10:33:56</publishTime>
+      <publishTime>10/30/2023 17:10:04</publishTime>
     </File>
     <File Include="bin/VueWebApi.xml">
-      <publishTime>10/10/2023 10:33:56</publishTime>
+      <publishTime>10/30/2023 17:10:03</publishTime>
     </File>
     <File Include="bin/WebActivatorEx.dll">
       <publishTime>02/08/2013 16:42:28</publishTime>
@@ -1161,7 +1161,7 @@
       <publishTime>06/16/2022 13:39:23</publishTime>
     </File>
     <File Include="Web.config">
-      <publishTime>10/10/2023 10:34:00</publishTime>
+      <publishTime>10/30/2023 17:10:11</publishTime>
     </File>
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/VueWebApi/VueWebApi.csproj b/VueWebApi/VueWebApi.csproj
index 5ec871d..ef891f9 100644
--- a/VueWebApi/VueWebApi.csproj
+++ b/VueWebApi/VueWebApi.csproj
@@ -452,6 +452,7 @@
     <Compile Include="Models\ChanjetEncryptMsg.cs" />
     <Compile Include="Models\DeviceRepair.cs" />
     <Compile Include="Models\EqpRepair.cs" />
+    <Compile Include="Models\ErpOrderBatch.cs" />
     <Compile Include="Models\ExcelErro.cs" />
     <Compile Include="Models\GroupUser.cs" />
     <Compile Include="Models\MaterialRout.cs" />
diff --git a/VueWebApi/bin/VueWebApi.pdb b/VueWebApi/bin/VueWebApi.pdb
index cfafba6..744b64e 100644
--- a/VueWebApi/bin/VueWebApi.pdb
+++ b/VueWebApi/bin/VueWebApi.pdb
Binary files differ
diff --git a/VueWebApi/bin/VueWebApi.xml b/VueWebApi/bin/VueWebApi.xml
index 77c7903..f4b4614 100644
--- a/VueWebApi/bin/VueWebApi.xml
+++ b/VueWebApi/bin/VueWebApi.xml
@@ -2566,6 +2566,13 @@
             <param name="obj">鎻愪氦鏁版嵁</param>
             <returns></returns>
         </member>
+        <member name="M:VueWebApi.Controllers.ProductionManagementController.MarkBatchSaveErpOrder(System.Collections.Generic.List{VueWebApi.Models.ErpOrderBatch})">
+            <summary>
+            ERP璁㈠崟鎵归噺涓嬭揪
+            </summary>
+            <param name="obj">鎻愪氦鏁版嵁</param>
+            <returns></returns>
+        </member>
         <member name="M:VueWebApi.Controllers.ProductionManagementController.ClosedErpOrder(System.String,System.String)">
             <summary>
             ERP璁㈠崟鍏抽棴
@@ -3874,6 +3881,61 @@
             缁撴潫鏃ユ湡
             </summary>
         </member>
+        <member name="P:VueWebApi.Models.ErpOrderBatch.erporderid">
+            <summary>
+            璁㈠崟id
+            </summary>
+        </member>
+        <member name="P:VueWebApi.Models.ErpOrderBatch.erpordercode">
+            <summary>
+            璁㈠崟缂栧彿
+            </summary>
+        </member>
+        <member name="P:VueWebApi.Models.ErpOrderBatch.saleordercode">
+            <summary>
+            閿�鍞鍗曠紪鍙�
+            </summary>
+        </member>
+        <member name="P:VueWebApi.Models.ErpOrderBatch.partcode">
+            <summary>
+            浜у搧缂栫爜
+            </summary>
+        </member>
+        <member name="P:VueWebApi.Models.ErpOrderBatch.wkshopcode">
+            <summary>
+            杞﹂棿缂栫爜
+            </summary>
+        </member>
+        <member name="P:VueWebApi.Models.ErpOrderBatch.warehousecode">
+            <summary>
+            浠撳簱缂栫爜
+            </summary>
+        </member>
+        <member name="P:VueWebApi.Models.ErpOrderBatch.erpqty">
+            <summary>
+            璁㈠崟鏁伴噺
+            </summary>
+        </member>
+        <member name="P:VueWebApi.Models.ErpOrderBatch.markqty">
+            <summary>
+            涓嬪崟鏁伴噺
+            </summary>
+        </member>
+        <member name="P:VueWebApi.Models.ErpOrderBatch.ordernum">
+            <summary>
+            涓嬪崟鍗曟暟
+            </summary>
+        </member>
+        <member name="P:VueWebApi.Models.ErpOrderBatch.relse_qty">
+            <summary>
+            宸蹭笅鍗曟暟閲�
+            </summary>
+        </member>
+        <member name="P:VueWebApi.Models.ErpOrderBatch.saleOrderDeliveryDate">
+            <summary>
+            浜や粯鏃堕棿
+            </summary>
+        </member>
         <member name="M:VueWebApi.TimeTick.QuartzUtil.AddJob``1(System.String,System.String,System.Collections.Generic.Dictionary{System.String,System.Object})">
             <summary>
             娣诲姞Job 骞朵笖浠ュ畾鐐圭殑褰㈠紡杩愯
diff --git a/VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
index 500ab4c..5b52e30 100644
--- a/VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
+++ b/VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb b/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb
index cfafba6..744b64e 100644
--- a/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml b/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml
index 77c7903..f4b4614 100644
--- a/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml
@@ -2566,6 +2566,13 @@
             <param name="obj">鎻愪氦鏁版嵁</param>
             <returns></returns>
         </member>
+        <member name="M:VueWebApi.Controllers.ProductionManagementController.MarkBatchSaveErpOrder(System.Collections.Generic.List{VueWebApi.Models.ErpOrderBatch})">
+            <summary>
+            ERP璁㈠崟鎵归噺涓嬭揪
+            </summary>
+            <param name="obj">鎻愪氦鏁版嵁</param>
+            <returns></returns>
+        </member>
         <member name="M:VueWebApi.Controllers.ProductionManagementController.ClosedErpOrder(System.String,System.String)">
             <summary>
             ERP璁㈠崟鍏抽棴
@@ -3874,6 +3881,61 @@
             缁撴潫鏃ユ湡
             </summary>
         </member>
+        <member name="P:VueWebApi.Models.ErpOrderBatch.erporderid">
+            <summary>
+            璁㈠崟id
+            </summary>
+        </member>
+        <member name="P:VueWebApi.Models.ErpOrderBatch.erpordercode">
+            <summary>
+            璁㈠崟缂栧彿
+            </summary>
+        </member>
+        <member name="P:VueWebApi.Models.ErpOrderBatch.saleordercode">
+            <summary>
+            閿�鍞鍗曠紪鍙�
+            </summary>
+        </member>
+        <member name="P:VueWebApi.Models.ErpOrderBatch.partcode">
+            <summary>
+            浜у搧缂栫爜
+            </summary>
+        </member>
+        <member name="P:VueWebApi.Models.ErpOrderBatch.wkshopcode">
+            <summary>
+            杞﹂棿缂栫爜
+            </summary>
+        </member>
+        <member name="P:VueWebApi.Models.ErpOrderBatch.warehousecode">
+            <summary>
+            浠撳簱缂栫爜
+            </summary>
+        </member>
+        <member name="P:VueWebApi.Models.ErpOrderBatch.erpqty">
+            <summary>
+            璁㈠崟鏁伴噺
+            </summary>
+        </member>
+        <member name="P:VueWebApi.Models.ErpOrderBatch.markqty">
+            <summary>
+            涓嬪崟鏁伴噺
+            </summary>
+        </member>
+        <member name="P:VueWebApi.Models.ErpOrderBatch.ordernum">
+            <summary>
+            涓嬪崟鍗曟暟
+            </summary>
+        </member>
+        <member name="P:VueWebApi.Models.ErpOrderBatch.relse_qty">
+            <summary>
+            宸蹭笅鍗曟暟閲�
+            </summary>
+        </member>
+        <member name="P:VueWebApi.Models.ErpOrderBatch.saleOrderDeliveryDate">
+            <summary>
+            浜や粯鏃堕棿
+            </summary>
+        </member>
         <member name="M:VueWebApi.TimeTick.QuartzUtil.AddJob``1(System.String,System.String,System.Collections.Generic.Dictionary{System.String,System.Object})">
             <summary>
             娣诲姞Job 骞朵笖浠ュ畾鐐圭殑褰㈠紡杩愯
diff --git a/VueWebApi/obj/Release/VueWebApi.csproj.AssemblyReference.cache b/VueWebApi/obj/Release/VueWebApi.csproj.AssemblyReference.cache
new file mode 100644
index 0000000..f5e894a
--- /dev/null
+++ b/VueWebApi/obj/Release/VueWebApi.csproj.AssemblyReference.cache
Binary files differ
diff --git a/VueWebApi/obj/Release/VueWebApi.csproj.CoreCompileInputs.cache b/VueWebApi/obj/Release/VueWebApi.csproj.CoreCompileInputs.cache
index 1289638..423a241 100644
--- a/VueWebApi/obj/Release/VueWebApi.csproj.CoreCompileInputs.cache
+++ b/VueWebApi/obj/Release/VueWebApi.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-a3528039de7d3c9a92bd6117d6e773fa8a56138f
+b90c6f82dbf3e50172d09203c0771abe2e02f434
diff --git a/VueWebApi/obj/Release/VueWebApi.csproj.FileListAbsolute.txt b/VueWebApi/obj/Release/VueWebApi.csproj.FileListAbsolute.txt
index 64afa43..44908df 100644
--- a/VueWebApi/obj/Release/VueWebApi.csproj.FileListAbsolute.txt
+++ b/VueWebApi/obj/Release/VueWebApi.csproj.FileListAbsolute.txt
@@ -868,6 +868,7 @@
 D:\鏂板嚡杩狹ES\MES椤圭洰\MES姝f竻娌砛VueWebApi\VueWebApi\bin\zh-Hans\System.Web.WebPages.resources.dll
 D:\鏂板嚡杩狹ES\MES椤圭洰\MES姝f竻娌砛VueWebApi\VueWebApi\bin\zh-Hans\System.Web.WebPages.Deployment.resources.dll
 D:\鏂板嚡杩狹ES\MES椤圭洰\MES姝f竻娌砛VueWebApi\VueWebApi\bin\zh-Hans\System.Web.WebPages.Razor.resources.dll
+D:\鏂板嚡杩狹ES\MES椤圭洰\MES姝f竻娌砛VueWebApi\VueWebApi\obj\Release\VueWebApi.csproj.AssemblyReference.cache
 D:\鏂板嚡杩狹ES\MES椤圭洰\MES姝f竻娌砛VueWebApi\VueWebApi\obj\Release\VueWebApi.csproj.CoreCompileInputs.cache
 D:\鏂板嚡杩狹ES\MES椤圭洰\MES姝f竻娌砛VueWebApi\VueWebApi\obj\Release\VueWebApi.csproj.CopyComplete
 D:\鏂板嚡杩狹ES\MES椤圭洰\MES姝f竻娌砛VueWebApi\VueWebApi\obj\Release\VueWebApi.dll
diff --git a/VueWebApi/obj/Release/VueWebApi.pdb b/VueWebApi/obj/Release/VueWebApi.pdb
index cfafba6..744b64e 100644
--- a/VueWebApi/obj/Release/VueWebApi.pdb
+++ b/VueWebApi/obj/Release/VueWebApi.pdb
Binary files differ

--
Gitblit v1.9.3