From 15c6d7dec741a03bd7a84c3948fdc2a89e036395 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期五, 10 十一月 2023 13:24:24 +0800
Subject: [PATCH] 1.生产加工单打印次数接口 2.工艺路线批量关联产品接口 3.修复用户所属班组绑定关系写入关系表

---
 VueWebApi/obj/Release/VueWebApi.pdb                                  |    0 
 VueWebApi/DLL/DAL/ProductModelDAL.cs                                 |  264 +++++++++++++++++++++++---
 VueWebApi/DLL/DAL/BasicSettingDAL.cs                                 |  102 +++++++--
 VueWebApi/Logs/2023-11-09.TXT                                        |    0 
 VueWebApi/obj/Release/VueWebApi.csproj.FileListAbsolute.txt          |    1 
 .vs/VueWebApi/v16/.suo                                               |    0 
 VueWebApi/DLL/BLL/ProductionManagementBLL.cs                         |    6 
 VueWebApi/obj/Release/Package/PackageTmp/Excel/用户清单.xls              |    0 
 VueWebApi/DLL/DAL/ProductionManagementDAL.cs                         |   45 ++++
 VueWebApi/Properties/PublishProfiles/FolderProfile1.pubxml.user      |   12 
 VueWebApi/Tools/ImportExcelData.cs                                   |   22 ++
 VueWebApi/bin/VueWebApi.xml                                          |   26 ++
 VueWebApi/obj/Release/VueWebApi.csproj.AssemblyReference.cache       |    0 
 VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache |    0 
 VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb           |    0 
 VueWebApi/Controllers/ProductionManagementController.cs              |   15 +
 VueWebApi/Excel/用户清单.xls                                             |    0 
 VueWebApi/DLL/DAL/GridReportDAL.cs                                   |    2 
 VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml           |   26 ++
 VueWebApi/bin/VueWebApi.pdb                                          |    0 
 VueWebApi/DLL/BLL/ProductModelBLL.cs                                 |   14 +
 VueWebApi/Controllers/ProductModelController.cs                      |   43 ++++
 22 files changed, 504 insertions(+), 74 deletions(-)

diff --git a/.vs/VueWebApi/v16/.suo b/.vs/VueWebApi/v16/.suo
index e8c6f1a..4034f3e 100644
--- a/.vs/VueWebApi/v16/.suo
+++ b/.vs/VueWebApi/v16/.suo
Binary files differ
diff --git a/VueWebApi/Controllers/ProductModelController.cs b/VueWebApi/Controllers/ProductModelController.cs
index e8bd332..2015393 100644
--- a/VueWebApi/Controllers/ProductModelController.cs
+++ b/VueWebApi/Controllers/ProductModelController.cs
@@ -508,6 +508,49 @@
         }
         #endregion
 
+        #region[宸ヨ壓璺嚎鍏宠仈浜у搧鏌ヨ]
+        /// <summary>
+        /// 宸ヨ壓璺嚎鍏宠仈浜у搧鏌ヨ
+        /// </summary>
+        /// <param name="partcode">鐗╂枡缂栫爜</param>
+        /// <param name="partname">鐗╂枡鍚嶇О</param>
+        /// <param name="partspec">鐗╂枡瑙勬牸</param>
+        /// <param name="stocktypecode">瀛樿揣绫诲瀷缂栫爜</param>
+        /// <param name="materialtypecode">鐗╂枡绫诲瀷缂栫爜</param>
+        /// <param name="storehousecode">鎵�灞炰粨搴撶紪鐮�</param>
+        /// <returns></returns>
+        [Route(template: "RputeInventorySearch")]
+        [HttpGet]
+        public HttpResponseMessage RputeInventorySearch(string partcode = null, string partname = null, string partspec = null, string stocktypecode = null, string materialtypecode = null, string storehousecode = null)
+        {
+            var stu_torgcode = HttpContext.Current.Request.Cookies["stu_torgcode"].Value.ToString(); //鎵�灞炵粍缁�
+            var stu_torgtypecode = HttpContext.Current.Request.Cookies["description"].Value.ToString(); //鎵�灞炵粍缁囩被鍨�
+            mes = ProductModelBLL.RputeInventorySearch(stu_torgcode, stu_torgtypecode, partcode, partname, partspec, stocktypecode, materialtypecode, storehousecode);
+            return TJson.toJson(mes);
+        }
+        #endregion
+
+        #region[宸ヨ壓璺嚎鎵归噺鎸囧畾鐗╂枡淇濆瓨]
+        /// <summary>
+        /// 宸ヨ壓璺嚎鎵归噺鎸囧畾鐗╂枡淇濆瓨
+        /// </summary>
+        /// <param name="obj">鎻愪氦鏁版嵁</param>
+        /// <returns></returns>
+        [Route(template: "RouteBatchPartSave")]
+        [HttpPost]
+        public HttpResponseMessage RouteBatchPartSave([FromBody] JObject obj)
+        {
+            var stu_torgcode = HttpContext.Current.Request.Cookies["stu_torgcode"].Value.ToString(); //鎵�灞炵粍缁�
+            var stu_torgtypecode = HttpContext.Current.Request.Cookies["description"].Value.ToString(); //鎵�灞炵粍缁囩被鍨�
+            var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //鎿嶄綔浜哄憳
+            string routecode = obj["routecode"].ToString(); //宸ヨ壓璺嚎缂栫爜
+            string routepart = obj["routepart"].ToString(); //宸ヨ壓璺嚎缁戝畾浜у搧缂栫爜
+            string[] rolebatchpartcode = Array.ConvertAll<string, string>(routepart.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[]
+            mes = ProductModelBLL.RouteBatchPartSave(stu_torgcode, stu_torgtypecode, username, routecode, rolebatchpartcode);
+            return TJson.toJson(mes);
+        }
+        #endregion
+
 
 
         #region[宸ュ簭鏌ヨ]
diff --git a/VueWebApi/Controllers/ProductionManagementController.cs b/VueWebApi/Controllers/ProductionManagementController.cs
index e6b6aab..604e14e 100644
--- a/VueWebApi/Controllers/ProductionManagementController.cs
+++ b/VueWebApi/Controllers/ProductionManagementController.cs
@@ -385,6 +385,21 @@
         }
         #endregion
 
+        #region[MES宸ュ崟鎵撳嵃鏇存柊鎵撳嵃娆℃暟]
+        /// <summary>
+        /// MES宸ュ崟鎵撳嵃鏇存柊鎵撳嵃娆℃暟
+        /// </summary>
+        /// <param name="wo_code">宸ュ崟缂栧彿</param>
+        /// <returns></returns>
+        [Route(template: "UpdateMesOrderPrintCount")]
+        [HttpPost]
+        public HttpResponseMessage UpdateMesOrderPrintCount(string wo_code)
+        {
+            mes = ProductionManagementBLL.UpdateMesOrderPrintCount(wo_code);
+            return TJson.toJson(mes);
+        }
+        #endregion
+
 
         #region[鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇褰撳墠宸ュ簭瀵瑰簲鐨勮澶�(鑷埗)]
         /// <summary>
diff --git a/VueWebApi/DLL/BLL/ProductModelBLL.cs b/VueWebApi/DLL/BLL/ProductModelBLL.cs
index 3cc82ee..b4e5e22 100644
--- a/VueWebApi/DLL/BLL/ProductModelBLL.cs
+++ b/VueWebApi/DLL/BLL/ProductModelBLL.cs
@@ -187,6 +187,20 @@
         }
         #endregion
 
+        #region[宸ヨ壓璺嚎鍏宠仈浜у搧鏌ヨ]
+        public static ToMessage RputeInventorySearch(string stu_torgcode, string stu_torgtypecode, string partcode, string partname, string partspec, string stocktypecode, string materialtypecode, string storehousecode)
+        {
+            return ProductModelDAL.RputeInventorySearch(stu_torgcode, stu_torgtypecode, partcode, partname, partspec, stocktypecode, materialtypecode, storehousecode);
+        }
+        #endregion
+
+        #region[宸ヨ壓璺嚎鎵归噺鎸囧畾鐗╂枡淇濆瓨]
+        public static ToMessage RouteBatchPartSave(string stu_torgcode, string stu_torgtypecode, string username, string routecode, string[] rolebatchpartcode)
+        {
+            return ProductModelDAL.RouteBatchPartSave(stu_torgcode, stu_torgtypecode, username, routecode, rolebatchpartcode);
+        }
+        #endregion
+
 
 
         #region[宸ュ簭鏌ヨ]
diff --git a/VueWebApi/DLL/BLL/ProductionManagementBLL.cs b/VueWebApi/DLL/BLL/ProductionManagementBLL.cs
index e71307a..20903c5 100644
--- a/VueWebApi/DLL/BLL/ProductionManagementBLL.cs
+++ b/VueWebApi/DLL/BLL/ProductionManagementBLL.cs
@@ -133,6 +133,12 @@
         }
         #endregion
 
+        #region[MES宸ュ崟鎵撳嵃鏇存柊鎵撳嵃娆℃暟]
+        public static ToMessage UpdateMesOrderPrintCount(string wo_code)
+        {
+            return ProductionManagementDAL.UpdateMesOrderPrintCount(wo_code);
+        }
+        #endregion
 
 
         #region[鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇褰撳墠宸ュ簭瀵瑰簲鐨勮澶�(鑷埗)]
diff --git a/VueWebApi/DLL/DAL/BasicSettingDAL.cs b/VueWebApi/DLL/DAL/BasicSettingDAL.cs
index f00d215..7ecfbc5 100644
--- a/VueWebApi/DLL/DAL/BasicSettingDAL.cs
+++ b/VueWebApi/DLL/DAL/BasicSettingDAL.cs
@@ -540,6 +540,8 @@
         public static ToMessage AddUpdateUser(string UserId, string UserCode, string UserName, string Password, string Enable, string StuOrg, string groupcode, string wagetype, string Mobile, string Email, string Operator, string OperType)
         {
             var dynamicParams = new DynamicParameters();
+            List<object> list = new List<object>();
+            var sql = "";
             try
             {
                 if (OperType == "Add")
@@ -555,22 +557,41 @@
                         mes.data = null;
                         return mes;
                     }
-
-                    var sql = @"insert into TUser(usercode,username,password,enable,mobile,lm_date,email,lm_user,stu_torgcode,wagetype,usergroup_code) 
+                    //鍐欏叆鐢ㄦ埛琛�
+                    sql = @"insert into TUser(usercode,username,password,enable,mobile,lm_date,email,lm_user,stu_torgcode,wagetype,usergroup_code) 
                             values(@UserCode,@UserName,@password,@Enable,@Mobile,@CreateDate,@Email,@Operator,@StuOrg,@wagetype,@groupcode)";
-                    dynamicParams.Add("@UserCode", UserCode);
-                    dynamicParams.Add("@UserName", UserName);
-                    dynamicParams.Add("@password", Password);
-                    dynamicParams.Add("@Enable", Enable);
-                    dynamicParams.Add("@Mobile", Mobile);
-                    dynamicParams.Add("@CreateDate", DateTime.Now.ToString());
-                    dynamicParams.Add("@Email", Email);
-                    dynamicParams.Add("@Operator", Operator);
-                    dynamicParams.Add("@StuOrg", StuOrg);
-                    dynamicParams.Add("@wagetype", wagetype);
-                    dynamicParams.Add("@groupcode", groupcode);
-                    int cont = DapperHelper.SQL(sql, dynamicParams);
-                    if (cont > 0)
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            UserCode = UserCode,
+                            UserName = UserName,
+                            password = Password,
+                            Enable = Enable,
+                            Mobile = Mobile,
+                            CreateDate = DateTime.Now.ToString(),
+                            Email = Email,
+                            Operator = Operator,
+                            StuOrg = StuOrg,
+                            wagetype = wagetype,
+                            groupcode = groupcode
+                        }
+                    });
+                    //鍐欏叆鐢ㄦ埛鐝粍鍏宠仈琛�
+                    sql = @"insert into TGroupUser(group_code,user_code) 
+                            values(@groupcode,@usercode)";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            usercode = UserCode,
+                            groupcode = groupcode
+                        }
+                    });
+                    bool aa = DapperHelper.DoTransaction(list);
+                    if (aa)
                     {
                         mes.code = "200";
                         mes.count = 0;
@@ -587,20 +608,39 @@
                 }
                 if (OperType == "Update")
                 {
-                    var sql = @"update TUser set username=@UserName,password=@password,enable=@Enable,mobile=@Mobile,lm_user=@Operator,email=@Email,stu_torgcode=@StuOrg,wagetype=@wagetype,usergroup_code=@groupcode,lm_date=@CreateDate where id=@UserId";
-                    dynamicParams.Add("@UserId", UserId);
-                    dynamicParams.Add("@UserName", UserName);
-                    dynamicParams.Add("@password", Password);
-                    dynamicParams.Add("@Enable", Enable);
-                    dynamicParams.Add("@Mobile", Mobile);
-                    dynamicParams.Add("@CreateDate", DateTime.Now.ToString());
-                    dynamicParams.Add("@Email", Email);
-                    dynamicParams.Add("@Operator", Operator);
-                    dynamicParams.Add("@StuOrg", StuOrg);
-                    dynamicParams.Add("@wagetype", wagetype);
-                    dynamicParams.Add("@groupcode", groupcode);
-                    int cont = DapperHelper.SQL(sql, dynamicParams);
-                    if (cont > 0)
+                    //淇敼鐢ㄦ埛琛�
+                    sql = @"update TUser set username=@UserName,password=@password,enable=@Enable,mobile=@Mobile,lm_user=@Operator,email=@Email,stu_torgcode=@StuOrg,wagetype=@wagetype,usergroup_code=@groupcode,lm_date=@CreateDate where id=@UserId";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            UserId = UserId,
+                            UserName = UserName,
+                            password = Password,
+                            Enable = Enable,
+                            Mobile = Mobile,
+                            CreateDate = DateTime.Now.ToString(),
+                            Email = Email,
+                            Operator = Operator,
+                            StuOrg = StuOrg,
+                            wagetype = wagetype,
+                            groupcode = groupcode
+                        }
+                    });
+                    //鏇存柊鐢ㄦ埛鐝粍鍏宠仈琛�
+                    sql = @"update TGroupUser set group_code=@groupcode  where user_code=@usercode";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            usercode = UserCode,
+                            groupcode = groupcode
+                        }
+                    });
+                    bool aa = DapperHelper.DoTransaction(list);
+                    if (aa)
                     {
                         mes.code = "200";
                         mes.count = 0;
@@ -640,6 +680,10 @@
                 dynamicParams.Add("@userid", userid);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
 
+                //鍒犻櫎鐢ㄦ埛鐝粍鍏宠仈琛�
+                sql = @"delete TGroupUser  where user_code=@usercode";
+                list.Add(new { str = sql, parm = new { usercode = data.Rows[0]["USERCODE"].ToString() } });
+                //鍒犻櫎鐢ㄦ埛瑙掕壊鍏宠仈琛�
                 sql = @"delete TUserRoleRelation  where user_code=@usercode";
                 list.Add(new { str = sql, parm = new { usercode = data.Rows[0]["USERCODE"].ToString() } });
 
diff --git a/VueWebApi/DLL/DAL/GridReportDAL.cs b/VueWebApi/DLL/DAL/GridReportDAL.cs
index 4556ffa..9dcc11f 100644
--- a/VueWebApi/DLL/DAL/GridReportDAL.cs
+++ b/VueWebApi/DLL/DAL/GridReportDAL.cs
@@ -28,7 +28,7 @@
             var dynamicParams = new DynamicParameters();
 
             //鑾峰彇璁惧绫诲瀷鏁版嵁
-            sql = @"select A.seq,A.wo_code,M.m_po,P.partcode,P.partname,P.partspec,R.name as routename,M.plan_qty as orderqty,@username as lm_user,@createdate as lm_date,
+            sql = @"select A.seq,A.id,A.wo_code,M.m_po,P.partcode,P.partname,P.partspec,R.name as routename,M.plan_qty as orderqty,@username as lm_user,@createdate as lm_date,
                         B.stepcode,B.stepname,A.plan_qty,(case when A.good_qty=0 then '' end) as good_qty,(case when A.ng_qty=0 then '' end) as ng_qty,A.wo_code+';'+B.stepcode as stepqrcode    
                         from TK_Wrk_Step A
                         left join TK_Wrk_Man M on A.wo_code=M.wo_code
diff --git a/VueWebApi/DLL/DAL/ProductModelDAL.cs b/VueWebApi/DLL/DAL/ProductModelDAL.cs
index 3868313..90d4eec 100644
--- a/VueWebApi/DLL/DAL/ProductModelDAL.cs
+++ b/VueWebApi/DLL/DAL/ProductModelDAL.cs
@@ -421,7 +421,7 @@
         #endregion
 
         #region[瀛樿揣妗f鏌ヨ]
-        public static ToMessage InventoryFileSelect(string stu_torgcode,string stu_torgtypecode,string partcode, string partname, string partspec, string stocktypecode, string materialtypecode, string storehousecode, int startNum, int endNum, string prop, string order)
+        public static ToMessage InventoryFileSelect(string stu_torgcode, string stu_torgtypecode, string partcode, string partname, string partspec, string stocktypecode, string materialtypecode, string storehousecode, int startNum, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search0 = "";
@@ -461,7 +461,7 @@
                 }
                 if (stocktypecode != "" && stocktypecode != null)
                 {
-                    search0+= " where code = @stocktypecode";
+                    search0 += " where code = @stocktypecode";
                     search += " and   CTE.iparent_id<>'' and CTE.dict_type='CHLX'";
                     dynamicParams.Add("@stocktypecode", stocktypecode);
                 }
@@ -516,20 +516,20 @@
                                select distinct materiel_code from TMateriel_Route M
                                left join TOrganization F on M.torg_code=F.org_code 
                                left join TOrganization as L on F.parent_id=L.id 
-                               where 1=1 " + search1 + ")  M on A.partcode=M.materiel_code  where  A.is_delete<>'1' " + search+") AS Result";
+                               where 1=1 " + search1 + ")  M on A.partcode=M.materiel_code  where  A.is_delete<>'1' " + search + ") AS Result";
                 var data0 = DapperHelper.selectdata(sql0, dynamicParams);
                 if (data0.Rows.Count > 0)
                 {
                     total = Convert.ToInt32(data0.Rows[0]["total"].ToString());
                 }
-                else 
+                else
                 {
                     total = 0;
                 }
 
                 var sql = @"WITH CTE AS (
                         SELECT  code,name,iparent_id,dict_type
-                        FROM T_Dict "+search0+" ";
+                        FROM T_Dict " + search0 + " ";
                 sql += @"UNION ALL
                         SELECT t.code,t.name,t.iparent_id,t.dict_type
                         FROM T_Dict t
@@ -549,7 +549,7 @@
                                select distinct materiel_code from TMateriel_Route M
                                left join TOrganization F on M.torg_code=F.org_code 
                                left join TOrganization as L on F.parent_id=L.id 
-                               where 1=1 " + search1+")  M on A.partcode=M.materiel_code  where  A.is_delete<>'1' "+search+ " ) AS Temp) AS Result WHERE RowNum >= "+ startNum + " AND RowNum <="+ endNum + " ORDER BY "+ prop + " "+order+"";
+                               where 1=1 " + search1 + ")  M on A.partcode=M.materiel_code  where  A.is_delete<>'1' " + search + " ) AS Temp) AS Result WHERE RowNum >= " + startNum + " AND RowNum <=" + endNum + " ORDER BY " + prop + " " + order + "";
                 var data = DapperHelper.selectdata(sql, dynamicParams);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -568,7 +568,7 @@
         #endregion
 
         #region[瀛樿揣妗f鏂板缂栬緫]
-        public static ToMessage AddUpdateInventoryFile(string materialid, string materialcode, string materialname, string materialspec, string uomcode, string warehousecode, string stocktypecode, string minstockqty, string maxstockqty,string is_batchno,string is_fifo,string is_incheck,string is_outcheck, string username, string operType)
+        public static ToMessage AddUpdateInventoryFile(string materialid, string materialcode, string materialname, string materialspec, string uomcode, string warehousecode, string stocktypecode, string minstockqty, string maxstockqty, string is_batchno, string is_fifo, string is_incheck, string is_outcheck, string username, string operType)
         {
             var dynamicParams = new DynamicParameters();
             try
@@ -775,7 +775,7 @@
         #endregion
 
         #region[瀛樿揣妗f鍏宠仈宸ヨ壓璺嚎鏌ヨ]
-        public static ToMessage InventoryFileAssociationRoute(string stu_torgcode,string stu_torgtypecode,string partcode)
+        public static ToMessage InventoryFileAssociationRoute(string stu_torgcode, string stu_torgtypecode, string partcode)
         {
             string sql = "";
             string search = "";
@@ -815,7 +815,7 @@
                     rout.code = data.Rows[i]["ROUTECODE"].ToString();
                     rout.name = data.Rows[i]["ROUTENAME"].ToString();
                     rout.flag = data.Rows[i]["FLAG"].ToString();
-                    rout.wkshopcode= data.Rows[i]["ORG_CODE"].ToString();
+                    rout.wkshopcode = data.Rows[i]["ORG_CODE"].ToString();
                     rout.wkshopname = data.Rows[i]["ORG_NAME"].ToString();
                     //鏍规嵁宸ヨ壓璺嚎缂栫爜鑾峰彇鍏宠仈鐨勫伐搴忎俊鎭�
                     sql = @"select A.seq,B.stepcode,B.stepname,B.enable from TFlw_Rtdt A
@@ -843,7 +843,7 @@
         #endregion
 
         #region[瀛樿揣妗f鍏宠仈宸ヨ壓璺嚎鎻愪氦]
-        public static ToMessage SaveInventoryFile(string stu_torgcode,string stu_torgtypecode, string partcode, string defaultroute_code, string username, List<PartRout> json)
+        public static ToMessage SaveInventoryFile(string stu_torgcode, string stu_torgtypecode, string partcode, string defaultroute_code, string username, List<PartRout> json)
         {
             var sql = "";
             var dynamicParams = new DynamicParameters();
@@ -876,7 +876,7 @@
                         list.Add(new { str = sql, parm = new { partcode = partcode, stu_torgcode = stu_torgcode } });
                         break;
                 }
-                if (json != null && json.Count >0)
+                if (json != null && json.Count > 0)
                 {
                     //鐗╂枡+缁勭粐鏌ヨ鑺傛媿宸ヤ环琛ㄤ腑瀵瑰簲鐨勬墍鏈夊伐鑹鸿矾绾�,鐒跺悗鏍规嵁浼犺繃鏉ョ殑鍋氬姣旓紝鍐嶅幓鍒犻櫎鑺傛媿宸ヤ环琛�
 
@@ -1029,7 +1029,7 @@
                     mes.Message = "鑾峰彇鐗堟湰鍙峰け璐�!";
                     mes.data = null;
                 }
-               
+
             }
             catch (Exception e)
             {
@@ -1069,7 +1069,7 @@
                             version = version,
                             username = username,
                             CreateDate = DateTime.Now.ToString(),
-                            startdate= startdate
+                            startdate = startdate
                         }
                     });
                     //鍐欏叆BOM瀛愯〃
@@ -1286,7 +1286,7 @@
 
 
         #region[宸ヨ壓璺嚎鏌ヨ]
-        public static ToMessage RouteSearch(string stu_torgcode, string stu_torgtypecode, string WorkShop,string routecode, string routename, string description, string createuser, int startNum, int endNum, string prop, string order)
+        public static ToMessage RouteSearch(string stu_torgcode, string stu_torgtypecode, string WorkShop, string routecode, string routename, string description, string createuser, int startNum, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
@@ -1337,7 +1337,12 @@
                 }
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
-                var sql = @"select A.id,T.org_code,T.org_name,A.code,A.name,A.description,A.enable,U.username as lm_user,A.lm_date  from TFlw_Rout A
+                var sql = @"select A.id,T.org_code,T.org_name,A.code,A.name,A.description,A.enable,U.username as lm_user,A.lm_date,
+                            ISNULL(STUFF((SELECT ',' + R.materiel_code
+                            FROM TMateriel_Route R
+                            WHERE CHARINDEX(',' + R.route_code + ',', ',' + A.code + ',') > 0
+                            FOR XML PATH('')), 1, 1, ''),'') AS isrolepart 
+                            from TFlw_Rout A
                             left join TUser U on A.lm_user=U.usercode
                             left join TOrganization T on A.torg_code=T.org_code 
                             left join TOrganization as L on T.parent_id=L.id 
@@ -1430,7 +1435,7 @@
                     }
                     //鏂板宸ヨ壓璺嚎琛�
                     sql = @"insert into TFlw_Rout(code,name,description,enable,lm_user,lm_date,torg_code) values(@code,@name,@description,@enable,@lm_user,@lm_date,@torg_code)";
-                    list.Add(new { str = sql, parm = new { code = json.code, name = json.name, description = json.description, enable = json.enable, lm_user = username, lm_date = DateTime.Now.ToString(), torg_code=json.wkshopcode } });
+                    list.Add(new { str = sql, parm = new { code = json.code, name = json.name, description = json.description, enable = json.enable, lm_user = username, lm_date = DateTime.Now.ToString(), torg_code = json.wkshopcode } });
                     for (int i = 0; i < json.Data.Rows.Count; i++)
                     {
                         string is_firststep = "N"; //鏄惁棣栭亾宸ュ簭
@@ -1445,7 +1450,7 @@
                         }
                         //鏂板宸ヨ壓璺嚎鍏宠仈宸ュ簭琛�
                         sql = @"insert TFlw_Rtdt (rout_code,seq,step_code,first_choke,last_choke,lm_user,lm_date,torg_code) values(@rout_code,@seq,@step_code,@first_choke,@last_choke,@lm_user,@lm_date,@torg_code)";
-                        list.Add(new { str = sql, parm = new { rout_code = json.code, seq = Convert.ToInt32(json.Data.Rows[i]["SEQ"].ToString()), step_code = json.Data.Rows[i]["STEPCODE"].ToString(), first_choke = is_firststep, last_choke = is_laststep, lm_user = username, lm_date = DateTime.Now.ToString(),torg_code=json.wkshopcode } });
+                        list.Add(new { str = sql, parm = new { rout_code = json.code, seq = Convert.ToInt32(json.Data.Rows[i]["SEQ"].ToString()), step_code = json.Data.Rows[i]["STEPCODE"].ToString(), first_choke = is_firststep, last_choke = is_laststep, lm_user = username, lm_date = DateTime.Now.ToString(), torg_code = json.wkshopcode } });
                     }
                     bool aa = DapperHelper.DoTransaction(list);
                     if (aa)
@@ -1564,6 +1569,197 @@
         }
         #endregion
 
+        #region[宸ヨ壓璺嚎鍏宠仈浜у搧鏌ヨ]
+        public static ToMessage RputeInventorySearch(string stu_torgcode, string stu_torgtypecode, string partcode, string partname, string partspec, string stocktypecode, string materialtypecode, string storehousecode)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search0 = "";
+            string search = "";
+            string search1 = "";
+            try
+            {
+                switch (stu_torgtypecode)
+                {
+                    case "":
+                        break;
+                    case "D":
+                        search1 += "and L.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    case "W":
+                        search1 += "and F.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    default:
+                        break;
+                }
+                if (partcode != "" && partcode != null)
+                {
+                    search += "and A.partcode like '%'+@partcode+'%' ";
+                    dynamicParams.Add("@partcode", partcode);
+                }
+                if (partname != "" && partname != null)
+                {
+                    search += "and A.partname like '%'+@partname+'%' ";
+                    dynamicParams.Add("@partname", partname);
+                }
+                if (partspec != "" && partspec != null)
+                {
+                    search += "and A.partspec like '%'+@partspec+'%' ";
+                    dynamicParams.Add("@partspec", partspec);
+                }
+                if (stocktypecode != "" && stocktypecode != null)
+                {
+                    search0 += " where code = @stocktypecode";
+                    search += " and   CTE.iparent_id<>'' and CTE.dict_type='CHLX'";
+                    dynamicParams.Add("@stocktypecode", stocktypecode);
+                }
+                if (materialtypecode != "" && materialtypecode != null)
+                {
+                    search += "and C.code=@materialtypecode ";
+                    dynamicParams.Add("@materialtypecode", materialtypecode);
+                }
+                if (storehousecode != "" && storehousecode != null)
+                {
+                    search += "and A.stck_code=@storehousecode ";
+                    dynamicParams.Add("@storehousecode", storehousecode);
+                }
+                if (search == "")
+                {
+                    search = "and 1=1 ";
+                }
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql0 = @"WITH CTE AS (
+                        SELECT  code,name,iparent_id,dict_type
+                        FROM T_Dict " + search0 + " ";
+                sql0 += @"UNION ALL
+                        SELECT t.code,t.name,t.iparent_id,t.dict_type
+                        FROM T_Dict t
+                        INNER JOIN CTE c ON c.code = t.iparent_id)
+                        SELECT COUNT(1) as total FROM (
+                        SELECT distinct A.id,A.partcode,A.partname,A.partspec,A.uom_code,B.name as uom_name,D.code as stocktypecode,D.name as stocktypename,D.iparent_id,
+                            A.stck_code,T.name as stck_name,A.maxqty,A.minqty,U.username as lm_user,
+                            A.lm_date,(case when isnull(M.materiel_code,'')='' then 'N' else 'Y' end) as proute_id,A.is_batchno,A.is_fifo,A.is_incheck,A.is_outcheck
+						FROM CTE
+						right join TMateriel_Info A on CTE.code=A.stocktype_code
+						left join TUom B on A.uom_code=B.code
+                        left join T_Dict D on A.stocktype_code=D.code 
+                        left join T_Sec_Stck T on A.stck_code=T.code 
+                        left join TUser U on A.lm_user=U.usercode
+                        left join (
+                               select distinct materiel_code from TMateriel_Route M
+                               left join TOrganization F on M.torg_code=F.org_code 
+                               left join TOrganization as L on F.parent_id=L.id 
+                               where 1=1 " + search1 + ")  M on A.partcode=M.materiel_code  where  A.is_delete<>'1' " + search + ") AS Result";
+                var data0 = DapperHelper.selectdata(sql0, dynamicParams);
+                if (data0.Rows.Count > 0)
+                {
+                    total = Convert.ToInt32(data0.Rows[0]["total"].ToString());
+                }
+                else
+                {
+                    total = 0;
+                }
+
+                var sql = @"WITH CTE AS (
+                        SELECT  code,name,iparent_id,dict_type
+                        FROM T_Dict " + search0 + " ";
+                sql += @"UNION ALL
+                        SELECT t.code,t.name,t.iparent_id,t.dict_type
+                        FROM T_Dict t
+                        INNER JOIN CTE c ON c.code = t.iparent_id)
+                        SELECT * FROM(SELECT *,ROW_NUMBER() OVER(ORDER BY lm_date desc) AS RowNum
+                        FROM(
+                        SELECT distinct A.id,A.partcode,A.partname,A.partspec,A.uom_code,B.name as uom_name,D.code as stocktypecode,D.name as stocktypename,D.iparent_id,
+                            A.stck_code,T.name as stck_name,A.maxqty,A.minqty,U.username as lm_user,
+                            A.lm_date,(case when isnull(M.materiel_code,'')='' then 'N' else 'Y' end) as proute_id,A.is_batchno,A.is_fifo,A.is_incheck,A.is_outcheck
+						FROM CTE
+						right join TMateriel_Info A on CTE.code=A.stocktype_code
+						left join TUom B on A.uom_code=B.code
+                        left join T_Dict D on A.stocktype_code=D.code 
+                        left join T_Sec_Stck T on A.stck_code=T.code 
+                        left join TUser U on A.lm_user=U.usercode
+                        left join (
+                               select distinct materiel_code from TMateriel_Route M
+                               left join TOrganization F on M.torg_code=F.org_code 
+                               left join TOrganization as L on F.parent_id=L.id 
+                               where 1=1 " + search1 + ")  M on A.partcode=M.materiel_code  where  A.is_delete<>'1' " + search + " ) AS Temp) AS Result";
+                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 RouteBatchPartSave(string stu_torgcode, string stu_torgtypecode, string username, string routecode, string[] rolebatchpartcode)
+        {
+            var sql = "";
+            var dynamicParams = new DynamicParameters();
+            List<object> list = new List<object>();
+            try
+            {
+                list.Clear();
+                //娓呴櫎宸ヨ壓璺嚎鍏宠仈鐨勭墿鏂欐暟鎹�
+                sql = @"delete TMateriel_Route where route_code=@route_code";
+                list.Add(new { str = sql, parm = new { route_code = routecode } });
+                //寰幆鍐欏叆宸ヨ壓璺嚎鐗╂枡鍏宠仈琛�
+                for (int i = 0; i < rolebatchpartcode.Length; i++)
+                {
+                    sql = @"insert into TMateriel_Route(materiel_code,route_code,lm_user,lm_date,torg_code) 
+                            values(@materiel_code,@route_code,@lm_user,@lm_date,@torg_code)";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            materiel_code = rolebatchpartcode[i].ToString(),
+                            route_code = routecode,
+                            lm_user = username,
+                            lm_date = DateTime.Now.ToString(),
+                            torg_code = stu_torgcode
+                        }
+                    });
+                }
+
+                bool aa = DapperHelper.DoTransaction(list);
+                if (aa)
+                {
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "鎿嶄綔鎴愬姛!";
+                    mes.data = null;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "鎿嶄綔澶辫触!";
+                    mes.data = null;
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
 
 
 
@@ -1595,7 +1791,7 @@
         #endregion
 
         #region[宸ュ簭鏌ヨ]
-        public static ToMessage StepSearch(string stu_torgcode,string stu_torgtypecode,string WorkShop, string stepcode, string stepname, string enable, string steptypecode, string createuser, int startNum, int endNum, string prop, string order)
+        public static ToMessage StepSearch(string stu_torgcode, string stu_torgtypecode, string WorkShop, string stepcode, string stepname, string enable, string steptypecode, string createuser, int startNum, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
@@ -1674,7 +1870,7 @@
         #endregion
 
         #region[宸ュ簭鏂板缂栬緫]
-        public static ToMessage AddUpdateStep(string stepid,string WorkShop, string stepcode, string stepname, string steptypecode, string enable, string description, string username, string operType)
+        public static ToMessage AddUpdateStep(string stepid, string WorkShop, string stepcode, string stepname, string steptypecode, string enable, string description, string username, string operType)
         {
             var dynamicParams = new DynamicParameters();
             List<object> list = new List<object>();
@@ -1763,7 +1959,7 @@
                     }
                     sql_1 = @"update TStep set torg_code=@torg_code, stepname=@stepname,flwtype=@steptypecode,enable=@enable,descr=@description,
                                 lm_user=@username,lm_date=@CreateDate where id=@stepid";
-                    list.Add(new { str = sql_1, parm = new { torg_code=WorkShop, stepid = stepid, stepname = stepname, steptypecode = steptypecode, enable = enable, description = description, username = username, CreateDate = DateTime.Now.ToString() } });
+                    list.Add(new { str = sql_1, parm = new { torg_code = WorkShop, stepid = stepid, stepname = stepname, steptypecode = steptypecode, enable = enable, description = description, username = username, CreateDate = DateTime.Now.ToString() } });
                     bool aa = DapperHelper.DoTransaction(list);
                     if (aa)
                     {
@@ -1888,7 +2084,7 @@
                     rout.type = data.Rows[i]["TYPE"].ToString();
                     rout.flag = data.Rows[i]["FLAG"].ToString();
                     rout.children = new List<StepEqpCn>();
-                    if (rout.code == "211"|| rout.code == "228") //澶栧崗渚涙柟
+                    if (rout.code == "211" || rout.code == "228") //澶栧崗渚涙柟
                     {
                         //鏍规嵁澶栧崗渚涙柟鏍囪瘑缂栫爜鏌ユ壘澶栧崗渚涙柟淇℃伅(鍖呭惈宸插叧鑱旀爣璇�)
                         sql = @"select A.code,A.name,'W' as type,(case when B.eqp_code is null then 'N' else 'Y' end) flag
@@ -1953,7 +2149,7 @@
         #endregion
 
         #region [宸ュ簭瀹氫箟鍏宠仈宸ヤ綔绔欐彁浜
-        public static ToMessage SaveStepAssociationEqp(string WorkShop,string stepcode, string username, List<ObjectData> json)
+        public static ToMessage SaveStepAssociationEqp(string WorkShop, string stepcode, string username, List<ObjectData> json)
         {
             var sql = "";
             List<object> list = new List<object>();
@@ -1995,7 +2191,7 @@
                                 style = json[i].name,
                                 lm_user = username,
                                 lm_date = DateTime.Now.ToString(),
-                                torg_code=WorkShop
+                                torg_code = WorkShop
                             }
                         });
                     }
@@ -2031,7 +2227,7 @@
         #endregion
 
         #region[宸ュ簭鍏宠仈缂洪櫡鏌ヨ]
-        public static ToMessage StepAssociationDefect(string WorkShop,string stepcode)
+        public static ToMessage StepAssociationDefect(string WorkShop, string stepcode)
         {
             string sql = "";
             var dynamicParams = new DynamicParameters();
@@ -2074,7 +2270,7 @@
         #endregion
 
         #region[宸ュ簭鍏宠仈缂洪櫡鎻愪氦]
-        public static ToMessage SaveStepAssociationDefect(string WorkShop,string stepcode, string username, List<ObjectData> json)
+        public static ToMessage SaveStepAssociationDefect(string WorkShop, string stepcode, string username, List<ObjectData> json)
         {
             var sql = "";
             List<object> list = new List<object>();
@@ -2108,7 +2304,7 @@
                                 stepcode = stepcode,
                                 lm_user = username,
                                 lm_date = DateTime.Now.ToString(),
-                                torg_code= WorkShop
+                                torg_code = WorkShop
                             }
                         });
                     }
@@ -2176,7 +2372,7 @@
         #endregion
 
         #region[浜у搧缂栫爜鏌ユ壘宸ヨ壓璺嚎涓嬫媺妗哴
-        public static ToMessage PartSelectRpute(string stu_torgcode,string stu_torgtypecode,string partcode)
+        public static ToMessage PartSelectRpute(string stu_torgcode, string stu_torgtypecode, string partcode)
         {
             string sql = "";
             string search = "";
@@ -2204,7 +2400,7 @@
                         inner join TFlw_Rout B on A.route_code=B.code 
                         left join TOrganization T on A.torg_code=T.org_code 
                         left join TOrganization as L on T.parent_id=L.id
-                        where A.materiel_code=@partcode and B.is_delete<>'1' and A.is_delete<>'1' "+search;
+                        where A.materiel_code=@partcode and B.is_delete<>'1' and A.is_delete<>'1' " + search;
                 dynamicParams.Add("@partcode", partcode);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
                 mes.code = "200";
@@ -2280,7 +2476,7 @@
         #endregion
 
         #region[鏍规嵁宸ュ簭绾跨紪鐮佹煡鎵惧叧鑱旇澶囬泦鍚圿
-        public static ToMessage StepSelectEqpList(string partcode, string routecode, string stepcode,string steptype, int startNum, int endNum, string prop, string order)
+        public static ToMessage StepSelectEqpList(string partcode, string routecode, string stepcode, string steptype, int startNum, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search = "", sql = "";
@@ -2373,7 +2569,7 @@
         #endregion
 
         #region[鑺傛媿宸ヤ环鏌ヨ]
-        public static ToMessage BeatRateSearch(string stu_torgcode,string stu_torgtypecode,string partcode, string routecode, string stepcode, string eqpcode, int startNum, int endNum, string prop, string order)
+        public static ToMessage BeatRateSearch(string stu_torgcode, string stu_torgtypecode, string partcode, string routecode, string stepcode, string eqpcode, int startNum, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
@@ -2432,7 +2628,7 @@
                             left join TOrganization F on C.torg_code=F.org_code
                             left join TOrganization L on  F.parent_id=L.id
                             where B.is_delete<>'1' and C.is_delete<>'1' and D.is_delete<>'1' and E.is_delete<>'1' and F.is_delete<>'1' " + search1 + search;
-                    sql += @"union all 
+                sql += @"union all 
                             select A.materiel_code as partcode,B.partname,B.partspec,A.route_code,C.name as route_name,
                             D.stepcode,D.stepname,A.eqp_code,E.name as eqp_name,''as wksp_code,'' as wksp_name,
                             A.eqp_value,A.stand_value,A.cavity_qty,A.unprice
@@ -2443,8 +2639,8 @@
                             left join TCustomer E on A.eqp_code=E.code
                             left join TOrganization F on C.torg_code=F.org_code
                             left join TOrganization L on  F.parent_id=L.id
-                            where B.is_delete<>'1' and C.is_delete<>'1' and D.is_delete<>'1' and E.is_delete<>'1' " + search;     
-                            
+                            where B.is_delete<>'1' and C.is_delete<>'1' and D.is_delete<>'1' and E.is_delete<>'1' " + search;
+
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -2524,7 +2720,7 @@
                         }
                     });
                 }
-               
+
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
                 {
diff --git a/VueWebApi/DLL/DAL/ProductionManagementDAL.cs b/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
index 0c06fc5..65a66de 100644
--- a/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
+++ b/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
@@ -334,7 +334,7 @@
                 }
 
 
-              
+
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
                 {
@@ -576,7 +576,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.org_name as wkshp_name,
+                var sql = @"select A.id, A.status,A.wotype,A.printcount,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.plan_qty,A.wkshp_code,C.org_name as wkshp_name,
                             A.route_code,E.name as route_name,A.stck_code,F.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.sourceid,A.m_po,W.saleOrderCode,U.username as lm_user,A.lm_date
                             from TK_Wrk_Man A
                             left join TKimp_Ewo W on A.m_po=W.wo and A.materiel_code=W.materiel_code
@@ -1372,6 +1372,45 @@
                 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[MES宸ュ崟鎵撳嵃鏇存柊鎵撳嵃娆℃暟]
+        public static ToMessage UpdateMesOrderPrintCount(string wo_code)
+        {
+            var sql = "";
+            List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鏇存柊宸ュ崟鎵撳嵃娆℃暟
+                sql = @"update TK_Wrk_Man set printcount=printcount+1  where wo_code=@wo_code";
+                list.Add(new { str = sql, parm = new { wo_code = wo_code } });
+
+                bool aa = DapperHelper.DoTransaction(list);
+                if (aa)
+                {
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "鏇存柊鎴愬姛!";
+                    mes.data = null;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "鏇存柊澶辫触!";
+                    mes.data = null;
+                }
             }
             catch (Exception e)
             {
@@ -3405,7 +3444,7 @@
 
 
         #region[MES宸ュ崟鎵归噺鍏抽棴鏌ヨ]
-        public static ToMessage MesOrderBitchClosedSearch(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 MesOrderBitchClosedSearch(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 = "";
diff --git "a/VueWebApi/Excel/\347\224\250\346\210\267\346\270\205\345\215\225.xls" "b/VueWebApi/Excel/\347\224\250\346\210\267\346\270\205\345\215\225.xls"
index 2c31f29..1bf463c 100644
--- "a/VueWebApi/Excel/\347\224\250\346\210\267\346\270\205\345\215\225.xls"
+++ "b/VueWebApi/Excel/\347\224\250\346\210\267\346\270\205\345\215\225.xls"
Binary files differ
diff --git a/VueWebApi/Logs/2023-11-09.TXT b/VueWebApi/Logs/2023-11-09.TXT
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/VueWebApi/Logs/2023-11-09.TXT
diff --git a/VueWebApi/Properties/PublishProfiles/FolderProfile1.pubxml.user b/VueWebApi/Properties/PublishProfiles/FolderProfile1.pubxml.user
index eb565c5..b7468da 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-11-02T06:59:12.9729377Z;True|2023-11-02T14:03:21.3142180+08:00;True|2023-11-02T13:10:06.4259793+08:00;True|2023-11-02T13:04:59.2726100+08:00;True|2023-10-30T17:10:12.6270482+08:00;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>
+    <History>True|2023-11-10T05:01:23.2795198Z;True|2023-11-09T16:18:47.9473781+08:00;True|2023-11-09T14:46:45.7310735+08:00;True|2023-11-09T14:36:57.4272880+08:00;True|2023-11-02T18:28:55.6712926+08:00;True|2023-11-02T18:25:31.3074727+08:00;True|2023-11-02T16:25:20.2217266+08:00;True|2023-11-02T14:59:12.9729377+08:00;True|2023-11-02T14:03:21.3142180+08:00;True|2023-11-02T13:10:06.4259793+08:00;True|2023-11-02T13:04:59.2726100+08:00;True|2023-10-30T17:10:12.6270482+08:00;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>11/02/2023 14:59:07</publishTime>
+      <publishTime>11/10/2023 13:01:17</publishTime>
     </File>
     <File Include="bin/VueWebApi.pdb">
-      <publishTime>11/02/2023 14:59:07</publishTime>
+      <publishTime>11/10/2023 13:01:17</publishTime>
     </File>
     <File Include="bin/VueWebApi.xml">
-      <publishTime>11/02/2023 14:59:07</publishTime>
+      <publishTime>11/10/2023 13:01:17</publishTime>
     </File>
     <File Include="bin/WebActivatorEx.dll">
       <publishTime>02/08/2013 16:42:28</publishTime>
@@ -837,7 +837,7 @@
       <publishTime>11/07/2022 17:57:07</publishTime>
     </File>
     <File Include="Excel/鐢ㄦ埛娓呭崟.xls">
-      <publishTime>08/07/2023 17:47:13</publishTime>
+      <publishTime>11/10/2023 12:58:11</publishTime>
     </File>
     <File Include="Excel/缂洪櫡瀹氫箟.xls">
       <publishTime>08/12/2022 10:41:48</publishTime>
@@ -1161,7 +1161,7 @@
       <publishTime>06/16/2022 13:39:23</publishTime>
     </File>
     <File Include="Web.config">
-      <publishTime>11/02/2023 14:59:12</publishTime>
+      <publishTime>11/10/2023 13:01:22</publishTime>
     </File>
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/VueWebApi/Tools/ImportExcelData.cs b/VueWebApi/Tools/ImportExcelData.cs
index bb47779..38ee2ae 100644
--- a/VueWebApi/Tools/ImportExcelData.cs
+++ b/VueWebApi/Tools/ImportExcelData.cs
@@ -27,7 +27,7 @@
                 return Message;
 
             }
-            else if (excelTable[0].Columns.Count != 9)
+            else if (excelTable[0].Columns.Count != 10)
             {
                 code = "300";
                 Message = "鐢ㄦ埛娓呭崟妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
@@ -85,6 +85,12 @@
             {
                 code = "300";
                 Message = "鐢ㄦ埛娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�9鍒楀簲涓簕宸ヨ祫绫诲瀷}";
+                return Message;
+            }
+            else if (excelTable[0].Columns[9].ColumnName != "鐝粍缂栫爜")
+            {
+                code = "300";
+                Message = "鐢ㄦ埛娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�10鍒楀簲涓簕鐝粍缂栫爜}";
                 return Message;
             }
             else
@@ -1855,6 +1861,20 @@
                         list.Add(erro);
                     }
                 }
+                if (excelTable.Rows[k][9].ToString().Trim() != null && excelTable.Rows[k][9].ToString().Trim() != "")
+                {
+                    sql = @"select *  from TGroup where group_code=@group_code";
+                    dynamicParams.Add("@group_code", excelTable.Rows[k][9].ToString().Trim());
+                    dt = DapperHelper.selectdata(sql, dynamicParams);
+                    if (dt == null || dt.Rows.Count <= 0)
+                    {
+                        ExcelErro erro = new ExcelErro();
+                        erro.RoeNumber = "/";
+                        erro.ErrorField = "{鐝粍缂栫爜}";
+                        erro.ErrorCont = "鐢ㄦ埛琛�:{鐝粍缂栫爜}瀛楁" + excelTable.Rows[k][7].ToString().Trim() + "涓嶅瓨鍦�";
+                        list.Add(erro);
+                    }
+                }
             }
             if (list.Count > 0)
             {
diff --git a/VueWebApi/bin/VueWebApi.pdb b/VueWebApi/bin/VueWebApi.pdb
index e74a5a6..66fc99a 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 edbcd98..1ce4345 100644
--- a/VueWebApi/bin/VueWebApi.xml
+++ b/VueWebApi/bin/VueWebApi.xml
@@ -2716,6 +2716,13 @@
             <param name="wo_code">宸ュ崟缂栧彿</param>
             <returns></returns>
         </member>
+        <member name="M:VueWebApi.Controllers.ProductionManagementController.UpdateMesOrderPrintCount(System.String)">
+            <summary>
+            MES宸ュ崟鎵撳嵃鏇存柊鎵撳嵃娆℃暟
+            </summary>
+            <param name="wo_code">宸ュ崟缂栧彿</param>
+            <returns></returns>
+        </member>
         <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepEqpSearch(System.String)">
             <summary>
             鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇褰撳墠宸ュ簭瀵瑰簲鐨勮澶�(鑷埗)
@@ -3265,6 +3272,25 @@
             <param name="routecode">宸ヨ壓璺嚎缂栫爜</param>
             <returns></returns>
         </member>
+        <member name="M:VueWebApi.Controllers.ProductModelController.RputeInventorySearch(System.String,System.String,System.String,System.String,System.String,System.String)">
+            <summary>
+            宸ヨ壓璺嚎鍏宠仈浜у搧鏌ヨ
+            </summary>
+            <param name="partcode">鐗╂枡缂栫爜</param>
+            <param name="partname">鐗╂枡鍚嶇О</param>
+            <param name="partspec">鐗╂枡瑙勬牸</param>
+            <param name="stocktypecode">瀛樿揣绫诲瀷缂栫爜</param>
+            <param name="materialtypecode">鐗╂枡绫诲瀷缂栫爜</param>
+            <param name="storehousecode">鎵�灞炰粨搴撶紪鐮�</param>
+            <returns></returns>
+        </member>
+        <member name="M:VueWebApi.Controllers.ProductModelController.RouteBatchPartSave(Newtonsoft.Json.Linq.JObject)">
+            <summary>
+            宸ヨ壓璺嚎鎵归噺鎸囧畾鐗╂枡淇濆瓨
+            </summary>
+            <param name="obj">鎻愪氦鏁版嵁</param>
+            <returns></returns>
+        </member>
         <member name="M:VueWebApi.Controllers.ProductModelController.StepSearch(System.String,System.String,System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
             <summary>
             宸ュ簭鏌ヨ
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/Excel/\347\224\250\346\210\267\346\270\205\345\215\225.xls" "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\347\224\250\346\210\267\346\270\205\345\215\225.xls"
index 2c31f29..1bf463c 100644
--- "a/VueWebApi/obj/Release/Package/PackageTmp/Excel/\347\224\250\346\210\267\346\270\205\345\215\225.xls"
+++ "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\347\224\250\346\210\267\346\270\205\345\215\225.xls"
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb b/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb
index e74a5a6..66fc99a 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 edbcd98..1ce4345 100644
--- a/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml
@@ -2716,6 +2716,13 @@
             <param name="wo_code">宸ュ崟缂栧彿</param>
             <returns></returns>
         </member>
+        <member name="M:VueWebApi.Controllers.ProductionManagementController.UpdateMesOrderPrintCount(System.String)">
+            <summary>
+            MES宸ュ崟鎵撳嵃鏇存柊鎵撳嵃娆℃暟
+            </summary>
+            <param name="wo_code">宸ュ崟缂栧彿</param>
+            <returns></returns>
+        </member>
         <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepEqpSearch(System.String)">
             <summary>
             鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇褰撳墠宸ュ簭瀵瑰簲鐨勮澶�(鑷埗)
@@ -3265,6 +3272,25 @@
             <param name="routecode">宸ヨ壓璺嚎缂栫爜</param>
             <returns></returns>
         </member>
+        <member name="M:VueWebApi.Controllers.ProductModelController.RputeInventorySearch(System.String,System.String,System.String,System.String,System.String,System.String)">
+            <summary>
+            宸ヨ壓璺嚎鍏宠仈浜у搧鏌ヨ
+            </summary>
+            <param name="partcode">鐗╂枡缂栫爜</param>
+            <param name="partname">鐗╂枡鍚嶇О</param>
+            <param name="partspec">鐗╂枡瑙勬牸</param>
+            <param name="stocktypecode">瀛樿揣绫诲瀷缂栫爜</param>
+            <param name="materialtypecode">鐗╂枡绫诲瀷缂栫爜</param>
+            <param name="storehousecode">鎵�灞炰粨搴撶紪鐮�</param>
+            <returns></returns>
+        </member>
+        <member name="M:VueWebApi.Controllers.ProductModelController.RouteBatchPartSave(Newtonsoft.Json.Linq.JObject)">
+            <summary>
+            宸ヨ壓璺嚎鎵归噺鎸囧畾鐗╂枡淇濆瓨
+            </summary>
+            <param name="obj">鎻愪氦鏁版嵁</param>
+            <returns></returns>
+        </member>
         <member name="M:VueWebApi.Controllers.ProductModelController.StepSearch(System.String,System.String,System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
             <summary>
             宸ュ簭鏌ヨ
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.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 e74a5a6..66fc99a 100644
--- a/VueWebApi/obj/Release/VueWebApi.pdb
+++ b/VueWebApi/obj/Release/VueWebApi.pdb
Binary files differ

--
Gitblit v1.9.3