From 01b5ef474e1a5d8dc682b64312f23bdbb0fdf3a7 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期三, 12 四月 2023 16:26:48 +0800
Subject: [PATCH] 1.采购到货接口修改 2.停用设备过滤

---
 VueWebApi/DLL/DAL/ProductionManagementDAL.cs |  898 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 811 insertions(+), 87 deletions(-)

diff --git a/VueWebApi/DLL/DAL/ProductionManagementDAL.cs b/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
index d0eb571..f2336c9 100644
--- a/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
+++ b/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
@@ -1,4 +1,5 @@
 锘縰sing Dapper;
+using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
 using System.Data;
@@ -77,7 +78,7 @@
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
                 var sql = @"select A.id, A.status,A.wo,A.materiel_code as partcode,B.partname,B.partspec,A.qty,A.relse_qty,A.wkshp_code,C.org_name as wkshp_name,
-                            A.stck_code,D.name as stck_name,A.planstartdate,A.planenddate,U.username as createuser,A.createdate 
+                            A.stck_code,D.name as stck_name,saleOrderDeliveryDate,A.planstartdate,A.planenddate,U.username as createuser,A.createdate 
                             from TKimp_Ewo A
                             left join TMateriel_Info B on A.materiel_code=B.partcode
                             left join TOrganization C on A.wkshp_code=C.org_code
@@ -102,11 +103,12 @@
         #endregion
 
         #region[ERP璁㈠崟涓嬭揪]
-        public static ToMessage MarkSaveErpOrder(string erporderid, string erpordercode, string partcode, string wkshopcode, string warehousecode, string erpqty, string markqty, string ordernum, string relse_qty, string username)
+        public static ToMessage MarkSaveErpOrder(string erporderid, string erpordercode, 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>();
             var dynamicParams = new DynamicParameters();
+
             try
             {
                 list.Clear();
@@ -125,7 +127,8 @@
                     //鑾峰彇鏈�澶у崟鎹彿
                     if (i == 1)  //棣栧崟鑾峰彇宸ュ崟鍙�
                     {
-                        sql = @"select isnull(max(substring(wo_code,charindex('_',wo_code)+1,len(wo_code)-charindex('_',wo_code))),0)+1 as worknumb from TK_Wrk_Man where m_po=@erpordercode";
+                        sql = @"select isnull(max(cast(substring(wo_code,charindex('_',wo_code)+1,len(wo_code)-charindex('_',wo_code)) as numeric)),0)+1 as worknumb   
+                                from TK_Wrk_Man where m_po=@erpordercode";
                         dynamicParams.Add("@erpordercode", erpordercode);
                         var data = DapperHelper.selectdata(sql, dynamicParams);
                         num = Convert.ToInt32(data.Rows[0]["WORKNUMB"].ToString());
@@ -138,7 +141,7 @@
                     }
                     if (i == Convert.ToInt32(ordernum))  //鏈�鍚庝竴鍗曟椂
                     {
-                        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) values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@stck_code,@materiel_code,@sourceid,@m_po,@username,@CreateDate)";
+                        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,saleOrderDeliveryDate) values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@stck_code,@materiel_code,@sourceid,@m_po,@username,@CreateDate,@saleOrderDeliveryDate)";
                         list.Add(new
                         {
                             str = sql,
@@ -154,7 +157,8 @@
                                 sourceid = erporderid,
                                 m_po = erpordercode,
                                 username = username,
-                                CreateDate = DateTime.Now.ToString()
+                                CreateDate = DateTime.Now.ToString(),
+                                saleOrderDeliveryDate = Convert.ToDateTime(saleOrderDeliveryDate)
                             }
                         });
                         sumqty = sumqty + (decimal.Parse(markqty) - sumqty);
@@ -162,7 +166,7 @@
                     else
                     {
 
-                        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) values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@stck_code,@materiel_code,@sourceid,@m_po,@username,@CreateDate)";
+                        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,saleOrderDeliveryDate) values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@stck_code,@materiel_code,@sourceid,@m_po,@username,@CreateDate,@saleOrderDeliveryDate)";
                         list.Add(new
                         {
                             str = sql,
@@ -178,14 +182,15 @@
                                 sourceid = erporderid,
                                 m_po = erpordercode,
                                 username = username,
-                                CreateDate = DateTime.Now.ToString()
+                                CreateDate = DateTime.Now.ToString(),
+                                saleOrderDeliveryDate = Convert.ToDateTime(saleOrderDeliveryDate)
                             }
                         });
                     }
                 }
                 if (decimal.Parse(erpqty) == decimal.Parse(markqty) + decimal.Parse(relse_qty))   //濡傛灉ERP璁㈠崟=涓嬪崟鏁伴噺+宸蹭笅鍗曟暟閲�,鍒欐洿鏂癊RP璁㈠崟琛ㄧ姸鎬佷负CREATED:宸插垱寤�
                 {
-                    sql = @"update  TKimp_Ewo set status='CREATED',relse_qty=relse_qty+@sumqty where wo=@wo and id=@erporderid";
+                    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,
@@ -193,13 +198,14 @@
                         {
                             wo = erpordercode,
                             erporderid = erporderid,
-                            sumqty = sumqty
+                            sumqty = sumqty,
+                            saleOrderDeliveryDate = Convert.ToDateTime(saleOrderDeliveryDate)
                         }
                     });
                 }
                 else   //鏇存柊ERP璁㈠崟琛ㄧ姸鎬佷负CREATING:鍒涘缓涓�
                 {
-                    sql = @"update  TKimp_Ewo set status='CREATING',relse_qty=relse_qty+@sumqty where wo=@wo and id=@erporderid";
+                    sql = @"update  TKimp_Ewo set status='CREATING',saleOrderDeliveryDate=@saleOrderDeliveryDate,relse_qty=relse_qty+@sumqty where wo=@wo and id=@erporderid";
                     list.Add(new
                     {
                         str = sql,
@@ -207,7 +213,8 @@
                         {
                             wo = erpordercode,
                             erporderid = erporderid,
-                            sumqty = sumqty
+                            sumqty = sumqty,
+                            saleOrderDeliveryDate = Convert.ToDateTime(saleOrderDeliveryDate)
                         }
                     });
                 }
@@ -385,6 +392,83 @@
         }
         #endregion
 
+        #region[MES鎶ュ簾琛ュ崟宸ュ崟鏌ヨ]
+        public static ToMessage MesBadOrderSearch(string mesordercode, string sourceorder, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (mesordercode != "" && mesordercode != null)
+                {
+                    search += "and A.wo_code like '%'+@mesordercode+'%' ";
+                    dynamicParams.Add("@mesordercode", mesordercode);
+                }
+                if (sourceorder != "" && sourceorder != null)
+                {
+                    search += "and A.m_po like '%'+@sourceorder+'%' ";
+                    dynamicParams.Add("@sourceorder", sourceorder);
+                }
+                if (partcode != "" && partcode != null)
+                {
+                    search += "and A.materiel_code like '%'+@partcode+'%' ";
+                    dynamicParams.Add("@partcode", partcode);
+                }
+                if (partname != "" && partname != null)
+                {
+                    search += "and B.partname like '%'+@partname+'%' ";
+                    dynamicParams.Add("@partname", partname);
+                }
+                if (partspec != "" && partspec != null)
+                {
+                    search += "and B.partspec like '%'+@partspec+'%' ";
+                    dynamicParams.Add("@partspec", partspec);
+                }
+                if (createdate != "" && createdate != null)
+                {
+                    search += "and CONVERT(varchar(100),A.lm_date,23)=@createdate ";
+                    dynamicParams.Add("@createdate", createdate);
+                }
+                if (creatuser != "" && creatuser != null)
+                {
+                    search += "and U.username like '%'+@creatuser+'%' ";
+                    dynamicParams.Add("@creatuser", creatuser);
+                }
+
+                if (search == "")
+                {
+                    search = "and 1=1 ";
+                }
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                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,
+                            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,U.username as lm_user,A.lm_date,S.bad_qty
+                            from TK_Wrk_Man A
+                            left join (select wo_code,sum(bad_qty) as bad_qty from  TK_Wrk_Step where bad_qty>0 group by wo_code) S on A.wo_code=S.wo_code
+                            left join TMateriel_Info B on A.materiel_code=B.partcode
+                            left join TOrganization C on A.wkshp_code=C.org_code
+                            left join T_Sec_Stck D on A.stck_code=D.code 
+                            left join TFlw_Rout E on A.route_code=E.code
+                            left join T_Sec_Stck F on A.stck_code=F.code 
+                            left join TUser U on A.lm_user=U.usercode 
+                            where A.is_delete<>'1'  and A.status='START' and A.wotype='PO' and S.bad_qty>0 " + search;
+                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.count = total;
+                mes.data = data.ToList();
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
         #region[浜у搧缂栫爜鏌ユ壘宸ヨ壓璺嚎涓嬫媺鎺ュ彛]
         public static ToMessage PartSelectRoute(string partcode)
         {
@@ -429,7 +513,7 @@
                         inner join TFlw_Rteqp D on C.stepcode=D.step_code
                         inner join TEqpInfo  E on D.eqp_code=E.code
                         left join TOrganization F on E.wksp_code=F.org_code
-                        where A.code=@routecode and M.materiel_code=@partcode ";
+                        where A.code=@routecode and M.materiel_code=@partcode and E.enable='Y'";
                 dynamicParams.Add("@partcode", partcode);
                 dynamicParams.Add("@routecode", routecode);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
@@ -476,19 +560,210 @@
         }
         #endregion
 
-        #region[MES宸ュ崟鏂板銆佺紪杈戞彁浜
-        public static ToMessage AddUpdateMesOrder(string mesorderstus, string sourceorder, string ordertype, string mesordercode, string partcode, string mesqty, string routecode, string wkshopcode, string planstartdate, string planenddate, string orderlev, string username, string opertype,string is_aps)
+        #region銆愮敓浜х鐞嗐�佸伐鍗曟柊澧炪�佺紪杈戞椂,閫夋嫨鎺掔▼鏄椂鑾峰彇鐗╂枡娓呭崟鐗堟湰鍙枫��
+        public static ToMessage JobCreationSonAddVison(string partnumber)
         {
-            var sql = "";
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                sql = @" select id,version  from TBom_Main where materiel_code=@partnumber and status='Y' order by version desc ";
+                dynamicParams.Add("@partnumber", partnumber);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.data = data;
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[宸ュ崟娲惧彂閫夋嫨宸ヨ壓璺嚎鎴栭�夋嫨鐢熶骇杞﹂棿鏃跺垽鏂粦瀹氭潯浠禲
+        public static ToMessage SelectRouteOrWkshop(string partcode, string routecode, string wkshopcode)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                mes.code = "200";
+                mes.Message = "";
+                mes.data = null;
+                //鍒ゆ柇宸ヨ壓璺嚎瀵瑰簲宸ュ簭鏄惁閮芥湁鍏宠仈宸ヤ綔绔�
+                sql = @"select B.step_code,C.eqp_code from TFlw_Rout A
+                        inner join TFlw_Rtdt B on A.code=B.rout_code
+                        left join TFlw_Rteqp C on B.step_code=C.step_code
+                        where A.code=@routecode";
+                dynamicParams.Add("@routecode", routecode);
+                var dtck = DapperHelper.selectdata(sql, dynamicParams);
+                for (int i = 0; i < dtck.Rows.Count; i++)
+                {
+                    if (dtck.Rows[i].IsNull("eqp_code"))
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "褰撳墠宸ヨ壓璺嚎瀵瑰簲宸ュ簭銆�"+dtck.Rows[i]["step_code"].ToString()+"銆戯紝鏈叧鑱旇澶囷紝璇峰叧鑱旀墍鏈夊伐搴忓搴旇澶�!";
+                        mes.data = null;
+                        return mes;
+                    }
+                }
+                //鍒ゆ柇宸ヤ綔绔�(璁惧)鏄惁鍙敤
+                sql = @"select B.step_code  from TFlw_Rout  A
+						inner join TFlw_Rtdt B on A.code=B.rout_code
+						where A.code=@routecode";
+                dynamicParams.Add("@routecode", routecode);
+                var dtck1 = DapperHelper.selectdata(sql, dynamicParams);
+                for (int i = 0; i < dtck1.Rows.Count; i++)
+                {
+                    //宸ュ簭鏌ユ壘璁惧
+                    sql = @"select E.code,E.name,E.enable  
+						from  TFlw_Rteqp C
+						left join TEqpInfo E on C.eqp_code=E.code 
+						where C.step_code=@step_code";
+                    dynamicParams.Add("@step_code", dtck1.Rows[i]["step_code"].ToString());
+                    var dtck2 = DapperHelper.selectdata(sql, dynamicParams);
+                    int query = dtck2.AsEnumerable().Where<DataRow>(a => a["enable"].ToString() =="N").Count();
+                    if (dtck1.Rows.Count == query) 
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "褰撳墠宸ヨ壓璺嚎瀵瑰簲宸ュ簭銆�" + dtck.Rows[i]["step_code"].ToString() + "銆戯紝璁惧涓嶅彲鐢�!";
+                        mes.data = null;
+                        return mes;
+                    }
+                }
+                //鍒ゆ柇宸ヨ壓璺嚎瀵瑰簲宸ュ簭鍏宠仈鐨勫伐浣滅珯鏄惁鏈夎缃妭鎷嶅伐浠�
+                sql = @"select AA.step_code,AA.eqp_code,AA.flwtype,S.unprice  from (
+                        select A.code,B.step_code,C.eqp_code,S.flwtype from TFlw_Rout A
+                        inner join TFlw_Rtdt B on A.code=B.rout_code
+                        left join TFlw_Rteqp C on B.step_code=C.step_code
+                        left join TStep S on B.step_code=S.stepcode
+                        where A.code=@route_code
+                        ) as AA
+                        left join (select * from TPrteEqp_Stad   where materiel_code=@partcode and route_code=@route_code) as S on
+                        AA.code=S.route_code and AA.step_code=S.step_code and AA.eqp_code=S.eqp_code";
+                dynamicParams.Add("@partcode", partcode);
+                dynamicParams.Add("@route_code", routecode);
+                var dtc = DapperHelper.selectdata(sql, dynamicParams);
+                for (int i = 0; i < dtc.Rows.Count; i++)
+                {
+                    if (dtc.Rows[i]["flwtype"].ToString() == "Z") //鍒ゆ柇宸ュ簭鏄惁涓鸿嚜鍒�
+                    {
+                        if (dtc.Rows[i].IsNull("unprice") || decimal.Parse(dtc.Rows[i]["unprice"].ToString()) == 0)
+                        {
+                            mes.code = "300";
+                            mes.count = 0;
+                            mes.Message = "鑺傛媿宸ヤ环涓細褰撳墠浜у搧銆�" + partcode + "銆戯紝瀵瑰簲宸ヨ壓璺嚎銆�" + routecode + "銆戞湭璁剧疆(鎴栨湭璁剧疆鍏�)鎴栧伐浠峰皬浜庣瓑浜�0!";
+                            mes.data = null;
+                            return mes;
+                        }
+                    }
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[MES宸ュ崟鏂板銆佽幏鍙栧伐鍗曞彿]
+        public static ToMessage AddMesOrderCodeSearch()
+        {
+            string sql = "";
+            string wo_code = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鑾峰彇鍗曟嵁鍙�
+                sql = @"SELECT 'SGPO'+CONVERT(varchar(12) , getdate(), 112 )+'_'+cast(isnull(max(cast(substring(wo_code,charindex('_',wo_code)+1,len(wo_code)-charindex('_',wo_code)) as numeric)),0)+1 as varchar) as numct
+                        FROM TK_Wrk_Man where wo_code like '%SGPO%'";
+                var data = DapperHelper.selecttable(sql);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.data = data.Rows[0]["numct"].ToString();
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[MES宸ュ崟鏂板銆佺紪杈戞彁浜
+        public static ToMessage AddUpdateMesOrder(string mesorderstus, string sourceorder, string ordertype, string mesordercode, string partcode, string mesqty, string routecode, string wkshopcode, string planstartdate, string planenddate, string orderlev, string username, string opertype, string is_aps, string bom_id)
+        {
+            string sql = "", wo_status = "", wrk_status = "";
             var dynamicParams = new DynamicParameters();
             List<object> list = new List<object>();
             try
             {
+                //鑾峰彇宸ヨ壓璺嚎棣栭亾宸ュ簭ID
+                sql = @"select distinct B.id  from TFlw_Rout  A
+                                 left join TFlw_Rtdt B on A.code=B.rout_code and b.first_choke='Y'
+                                 where A.code=@routecode";
+                dynamicParams.Add("@routecode", routecode);
+                var dtck = DapperHelper.selectdata(sql, dynamicParams);
+                if (dtck.Rows.Count <= 0)
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "宸ュ崟瀵瑰簲宸ヨ壓璺嚎娌℃湁缁戝畾宸ュ簭!";
+                    mes.data = null;
+                    return mes;
+                }
+
                 if (opertype == "Add")
                 {
+                    if (is_aps == "Y")  //鏄惁鎺掔▼(鏄�)
+                    {
+                        //鍒ゆ柇鐗╂枡娓呭崟
+                        sql = "select id from TBom_Main  where materiel_code=@partcode and status='Y' and id=@bom_id";
+                        dynamicParams.Add("@partcode", partcode);
+                        dynamicParams.Add("@bom_id", bom_id);
+                        var data = DapperHelper.selectdata(sql, dynamicParams);
+                        if (data.Rows.Count <= 0)
+                        {
+                            mes.code = "300";
+                            mes.count = 0;
+                            mes.Message = "宸ュ崟瀵瑰簲鐨勪骇鍝佹病鏈夊缓绔婤OM鎴朆OM鏈鏍革紒";
+                            mes.data = null;
+                            return mes;
+                        }
+                        //澧炲姞宸ュ崟鐢ㄦ枡琛紙瀛愪欢锛�
+                        sql = @"insert into TK_Wrk_Allo(wo_code, seq, materiel_code, basqty, qty,bom_id,materieltype,stck_code,stopfeed,base_quantity,loss_quantity,m_quantity)
+                                select @wocode,A.seq,A.smateriel_code,A.total_quantity,(convert(decimal(18, 0), @uomqty)*A.Base_Quantity*(1+A.LOSS_QUANTITY/100))/C.quantity,
+                                A.m_id,A.pn_type,'','N',A.base_quantity,A.loss_quantity,C.quantity  
+                                from TBom_Deta A  left join  TBom_Main C on A.m_Id=C.id 
+                                left join TMateriel_Info B on A.smateriel_code = B.partcode
+                                where A.m_id=@bom_id";
+                        list.Add(new { str = sql, parm = new { wocode = mesordercode, uomqty = mesqty, bom_id = bom_id } });
+
+                        wo_status = "NOSCHED";
+                        wrk_status = "NOSCHED";
+                    }
+                    else //鍚�
+                    {
+                        wo_status = "ALLO";
+                        wrk_status = "ALLO";
+                    }
                     //鍐欏叆宸ュ崟琛�
-                    sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,plan_startdate,plan_enddate,route_code,stck_code,lm_user,lm_date,materiel_code,m_po,piroque)
-                                values(@mesordercode,@wotype,@mesorderstus,@wkshopcode,@mesqty,@planstartdate,@planenddate,@routecode,@stck_code,@username,@CreateDate,@materiel_code,@m_po,@orderlev)";
+                    sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,plan_startdate,plan_enddate,route_code,stck_code,lm_user,lm_date,materiel_code,m_po,piroque,isaps)
+                                values(@mesordercode,@wotype,@mesorderstus,@wkshopcode,@mesqty,@planstartdate,@planenddate,@routecode,@stck_code,@username,@CreateDate,@materiel_code,@m_po,@orderlev,@isaps)";
                     list.Add(new
                     {
                         str = sql,
@@ -497,7 +772,7 @@
                             mesordercode = mesordercode,
                             wotype = ordertype,
                             m_po = sourceorder,
-                            mesorderstus = "ALLO", //娲惧彂
+                            mesorderstus = wo_status, //鍗曟嵁鐘舵��
                             wkshopcode = wkshopcode,
                             mesqty = mesqty,
                             planstartdate = planstartdate,
@@ -507,7 +782,8 @@
                             username = username,
                             CreateDate = DateTime.Now.ToString(),
                             materiel_code = partcode,
-                            orderlev = orderlev
+                            orderlev = orderlev,
+                            isaps = is_aps
                         }
                     });
                     //鍐欏叆宸ュ簭浠诲姟琛�
@@ -529,18 +805,28 @@
                             planstartdate = planstartdate,
                             planenddate = planenddate,
                             routecode = routecode,
-                            status = "ALLO",  //娲惧彂
+                            status = wrk_status,  //宸ュ簭鐘舵��
                             username = username,
                             CreateDate = DateTime.Now.ToString()
                         }
                     });
-                    //if (is_aps == "Y")  //鏄惁鎺掔▼
-                    //{
-                    //    string sql1 = "select id from TBom_Main  where materiel_code='" + PartNumber + "' and status='Y' and version='" + VsionId + "'";
-                    //    DataTable dt1 = DBHelper.GetTable(sql1);
-                    //}
-
-                    //澧炲姞宸ュ崟鐢ㄦ枡琛紙瀛愪欢锛�  
+                    //鍐欏叆宸ュ崟宸ヨ壓璺嚎宸ュ簭宸ヤ环澶嶅埗琛�
+                    sql = @"insert into TWoPrteEqp_Stad(wo,materiel_code,eqp_code,stand_value,opc_conver,route_code,unprice,eqp_value,cavity_qty,wkspcode,lm_user,lm_date,torg_code,is_delete,step_code)
+                           select distinct @mesordercode as wo,S.materiel_code,S.eqp_code,S.stand_value,S.opc_conver,S.route_code,S.unprice,
+                           S.eqp_value,S.cavity_qty,S.wkspcode,S.lm_user,S.lm_date,S.torg_code,S.is_delete,S.step_code
+                           from TFlw_Rtdt A
+                           inner join TFlw_Rteqp C on A.step_code=C.step_code
+                           inner join (select *   from TPrteEqp_Stad  where materiel_code=@materiel_code and route_code=@routecode) as S on C.step_code=S.step_code and C.eqp_code=S.eqp_code";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            mesordercode = mesordercode,
+                            materiel_code = partcode,
+                            routecode = routecode
+                        }
+                    });
 
                     bool aa = DapperHelper.DoTransaction(list);
                     if (aa)
@@ -560,7 +846,39 @@
                 }
                 if (opertype == "Update")
                 {
-                    sql = @"update TK_Wrk_Man set route_code=@routecode,wkshp_code=@wkshopcode,plan_startdate=@planstartdate,plan_enddate=@planenddate,status=@status,piroque=@orderlev,lm_user=@username,lm_date=@CreateDate where wo_code=@mesordercode";
+                    if (is_aps == "Y")  //鏄惁鎺掔▼(鏄�)
+                    {
+                        //鍒ゆ柇鐗╂枡娓呭崟
+                        sql = "select id from TBom_Main  where materiel_code=@partcode and status='Y' and id=@bom_id";
+                        dynamicParams.Add("@partcode", partcode);
+                        dynamicParams.Add("@bom_id", bom_id);
+                        var data = DapperHelper.selectdata(sql, dynamicParams);
+                        if (data.Rows.Count <= 0)
+                        {
+                            mes.code = "300";
+                            mes.count = 0;
+                            mes.Message = "宸ュ崟瀵瑰簲鐨勪骇鍝佹病鏈夊缓绔婤OM鎴朆OM鏈鏍革紒";
+                            mes.data = null;
+                            return mes;
+                        }
+                        //澧炲姞宸ュ崟鐢ㄦ枡琛紙瀛愪欢锛�
+                        sql = @"insert into TK_Wrk_Allo(wo_code, seq, materiel_code, basqty, qty,bom_id,materieltype,stck_code,stopfeed,base_quantity,loss_quantity,m_quantity)
+                                select @wocode,A.seq,A.smateriel_code,A.total_quantity,(convert(decimal(18, 0), @uomqty)*A.Base_Quantity*(1+A.LOSS_QUANTITY/100))/C.quantity,
+                                A.m_id,A.pn_type,'','N',A.base_quantity,A.loss_quantity,C.quantity  
+                                from TBom_Deta A  left join  TBom_Main C on A.m_Id=C.id 
+                                left join TMateriel_Info B on A.smateriel_code = B.partcode
+                                where A.m_id=@bom_id";
+                        list.Add(new { str = sql, parm = new { wocode = mesordercode, uomqty = mesqty, bom_id = bom_id } });
+
+                        wo_status = "NOSCHED";
+                        wrk_status = "NOSCHED";
+                    }
+                    else //鍚�
+                    {
+                        wo_status = "ALLO";
+                        wrk_status = "ALLO";
+                    }
+                    sql = @"update TK_Wrk_Man set route_code=@routecode,wkshp_code=@wkshopcode,plan_startdate=@planstartdate,plan_enddate=@planenddate,status=@status,piroque=@orderlev,lm_user=@username,lm_date=@CreateDate,isaps=@isaps where wo_code=@mesordercode";
                     list.Add(new
                     {
                         str = sql,
@@ -570,11 +888,12 @@
                             wkshopcode = wkshopcode,
                             planstartdate = planstartdate,
                             planenddate = planenddate,
-                            status = "ALLO",  //娲惧彂
+                            status = wo_status,
                             routecode = routecode,
                             username = username,
                             CreateDate = DateTime.Now.ToString(),
-                            orderlev = orderlev
+                            orderlev = orderlev,
+                            isaps = is_aps
                         }
                     });
                     //鍐欏叆宸ュ簭浠诲姟琛�
@@ -595,12 +914,40 @@
                             mesqty = mesqty,
                             planstartdate = planstartdate,
                             planenddate = planenddate,
-                            status = "ALLO",  //娲惧彂
+                            status = wo_status,
                             username = username,
                             routecode = routecode,
                             CreateDate = DateTime.Now.ToString()
                         }
                     });
+                    //鍒犻櫎宸ュ崟宸ヨ壓璺嚎宸ュ簭宸ヤ环澶嶅埗琛�
+                    sql = @"delete TWoPrteEqp_Stad where wo=@mesordercode";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            mesordercode = mesordercode
+                        }
+                    });
+                    //鍐欏叆宸ュ崟宸ヨ壓璺嚎宸ュ簭宸ヤ环澶嶅埗琛�
+                    sql = @"insert into TWoPrteEqp_Stad(wo,materiel_code,eqp_code,stand_value,opc_conver,route_code,unprice,eqp_value,cavity_qty,wkspcode,lm_user,lm_date,torg_code,is_delete,step_code)
+                           select distinct @mesordercode as wo,S.materiel_code,S.eqp_code,S.stand_value,S.opc_conver,S.route_code,S.unprice,
+                           S.eqp_value,S.cavity_qty,S.wkspcode,S.lm_user,S.lm_date,S.torg_code,S.is_delete,S.step_code
+                           from TFlw_Rtdt A
+                           inner join TFlw_Rteqp C on A.step_code=C.step_code
+                           inner join (select *   from TPrteEqp_Stad  where materiel_code=@materiel_code and route_code=@routecode) as S on C.step_code=S.step_code and C.eqp_code=S.eqp_code";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            mesordercode = mesordercode,
+                            materiel_code = partcode,
+                            routecode = routecode
+                        }
+                    });
+
                     bool aa = DapperHelper.DoTransaction(list);
                     if (aa)
                     {
@@ -637,8 +984,8 @@
             var dynamicParams = new DynamicParameters();
             try
             {
-                //鍒ゆ柇宸ュ崟鏄惁涓烘湭寮�濮嬬姸鎬佹垨鑰呭凡娲惧彂鐘舵��(婊¤冻鍏朵腑涓�绉嶉兘鍙垹闄わ紝鍚﹀垯涓嶅厑璁稿垹闄�)
-                sql = @"select *  from TK_Wrk_Man where wo_code=@wocode and status='NEW' or status='ALLO'";
+                //鍒ゆ柇宸ュ崟鏄惁涓烘湭寮�濮嬬姸鎬佹垨鑰呭凡娲惧彂鎴栧緟鎺掔▼鐘舵��(婊¤冻鍏朵腑涓�绉嶉兘鍙垹闄わ紝鍚﹀垯涓嶅厑璁稿垹闄�)
+                sql = @"select *  from TK_Wrk_Man where wo_code=@wocode and status in('NEW','ALLO','NOSCHED')";
                 dynamicParams.Add("@wocode", wocode);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
                 if (data.Rows.Count > 0)
@@ -666,6 +1013,10 @@
                     }
                     //鍒犻櫎宸ュ崟宸ュ簭琛�
                     sql = @"delete TK_Wrk_Step  where wo_code=@wocode";
+                    list.Add(new { str = sql, parm = new { wocode = wocode } });
+
+                    //鍒犻櫎鍔犲伐鍗曠敤鏂欒〃(瀛愪欢)
+                    sql = @"delete TK_Wrk_Allo  where wo_code=@wocode";
                     list.Add(new { str = sql, parm = new { wocode = wocode } });
 
                     //鍒犻櫎宸ュ崟琛�
@@ -759,7 +1110,7 @@
                          left join TStep B on A.step_code=B.stepcode
                          left join TK_Wrk_Man M on A.wo_code=M.wo_code
                          left join TMateriel_Info P on M.materiel_code=P.partcode
-                        where A.wo_code=@wo_code";
+                        where A.wo_code=@wo_code order by A.seq";
                 dynamicParams.Add("@wo_code", wo_code);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
                 mes.code = "200";
@@ -778,6 +1129,171 @@
         #endregion
 
 
+        #region[鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇褰撳墠宸ュ簭瀵瑰簲鐨勮澶�(鑷埗)]
+        public static ToMessage MesOrderStepEqpSearch(string orderstepqrcode)
+        {
+            var sql = "";
+            string search = "";//瀹氫箟涓�涓煡璇㈠弬鏁�,鏌ヨ鏉′欢鏈夊墠绔紶鍏�
+            string ordercode = "";
+            string stepcode = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                if (orderstepqrcode != "" && orderstepqrcode != null)
+                {
+                    string[] arra = orderstepqrcode.Split(';');
+                    if (arra.Length == 1) //宸ュ崟鍙蜂簩缁寸爜
+                    {
+                        ordercode = arra[0]; //鑾峰彇鎸囧畾瀛楃涓插墠闈㈢殑瀛楃
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "璇锋壂鎻忓伐搴忎簩缁寸爜!";
+                        mes.data = null;
+                        return mes;
+                    }
+                    if (arra.Length == 2) //宸ュ崟鍙�+宸ュ簭鍙蜂簩缁寸爜
+                    {
+                        ordercode = arra[0]; //鑾峰彇鎸囧畾瀛楃涓插墠闈㈢殑瀛楃
+                        stepcode = arra[1]; //鑾峰彇鎸囧畾瀛楃涓插墠闈㈢殑瀛楃
+                    }
+                }
+                if (stepcode != "")
+                {
+                    //鏌ユ壘褰撳墠宸ュ簭灞炴��
+                    sql = @"select *  from TStep  where stepcode=@stepcode";
+                    dynamicParams.Add("@stepcode", stepcode);
+                    var data0 = DapperHelper.selectdata(sql, dynamicParams);
+                    if (data0.Rows.Count > 0)
+                    {
+                        if (data0.Rows[0]["FLWTYPE"].ToString() == "W")
+                        {
+                            mes.code = "300";
+                            mes.count = 0;
+                            mes.Message = "褰撳墠宸ュ簭浠诲姟涓哄鍗忓伐搴忎换鍔�,璇峰墠寰�澶栧崗鎿嶄綔椤电鎵ц!";
+                            mes.data = null;
+                            return mes;
+                        }
+                    }
+                }
+                //鏍规嵁鏉′欢鏌ヨ宸ュ崟宸ュ簭璁惧(鑷埗宸ュ簭)
+                sql = @"select B.eqp_code,E.name as eqp_name   from TK_Wrk_Step A
+                        inner join TFlw_Rteqp B on A.step_code=B.step_code
+                        left join  TEqpInfo E on B.eqp_code=E.code
+                        where B.style='E' and A.wo_code=@ordercode and A.step_code=@stepcode
+                        order by B.eqp_code";
+                dynamicParams.Add("@ordercode", ordercode);
+                dynamicParams.Add("@stepcode", stepcode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                if (data.Rows.Count > 0)
+                {
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "鏌ヨ鎴愬姛!";
+                    mes.data = data;
+                    return mes;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "褰撳墠宸ュ簭浠诲姟鏃犲彲鎵ц璁惧!";
+                    mes.data = null;
+                    return mes;
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇褰撳墠宸ュ簭瀵瑰簲鐨勪緵鏂�(澶栧崗)]
+        public static ToMessage MesOrderWxStepEqpSearch(string orderstepqrcode)
+        {
+            var sql = "";
+            string search = "";
+            string ordercode = "";
+            string stepcode = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                if (orderstepqrcode != "" && orderstepqrcode != null)
+                {
+                    string[] arra = orderstepqrcode.Split(';');
+                    if (arra.Length == 1) //宸ュ崟鍙蜂簩缁寸爜
+                    {
+                        ordercode = arra[0]; //鑾峰彇鎸囧畾瀛楃涓插墠闈㈢殑瀛楃
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "璇锋壂鎻忓伐搴忎簩缁寸爜!";
+                        mes.data = null;
+                        return mes;
+                    }
+                    if (arra.Length == 2) //宸ュ崟鍙�+宸ュ簭鍙蜂簩缁寸爜
+                    {
+                        ordercode = arra[0]; //鑾峰彇鎸囧畾瀛楃涓插墠闈㈢殑瀛楃
+                        stepcode = arra[1]; //鑾峰彇鎸囧畾瀛楃涓插墠闈㈢殑瀛楃
+                    }
+                }
+                if (stepcode != "")
+                {
+                    //鏌ユ壘褰撳墠宸ュ簭灞炴��
+                    sql = @"select *  from TStep  where stepcode=@stepcode";
+                    dynamicParams.Add("@stepcode", stepcode);
+                    var data0 = DapperHelper.selectdata(sql, dynamicParams);
+                    if (data0.Rows.Count > 0)
+                    {
+                        if (data0.Rows[0]["FLWTYPE"].ToString() == "Z")
+                        {
+                            mes.code = "300";
+                            mes.count = 0;
+                            mes.Message = "褰撳墠宸ュ簭浠诲姟涓鸿嚜鍒跺伐搴忎换鍔�,璇峰墠寰�鑷埗鎿嶄綔椤电鎵ц!";
+                            mes.data = null;
+                            return mes;
+                        }
+                    }
+                }
+                //鏍规嵁鏉′欢鏌ヨ宸ュ崟宸ュ簭澶栧崗渚涙柟(澶栧崗宸ュ簭)
+                sql = @"select B.eqp_code as customercode,C.name as customername   from TK_Wrk_Step A
+                       inner join TFlw_Rteqp B on A.step_code=B.step_code
+                       left join  TCustomer C on B.eqp_code=C.code
+                       where B.style='W' and A.wo_code=@ordercode and A.step_code=@stepcode
+                       order by B.eqp_code";
+                dynamicParams.Add("@ordercode", ordercode);
+                dynamicParams.Add("@stepcode", stepcode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                if (data.Rows.Count > 0)
+                {
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "鏌ヨ鎴愬姛!";
+                    mes.data = data;
+                    return mes;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "褰撳墠宸ュ簭鏃犲彲鎵ц澶栧崗渚涙柟!";
+                    mes.data = null;
+                    return mes;
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
 
         #region[鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(鑷埗)]
         public static ToMessage MesOrderStepSearch(string orderstepqrcode, int startNum, int endNum, string prop, string order)
@@ -854,7 +1370,7 @@
                             left join TK_Wrk_Man B on A.wo_code=B.wo_code
                             left join TMateriel_Info M on B.materiel_code=M.partcode
                             left join TStep S on A.step_code=S.stepcode
-                            where A.status<>'CLOSED' and S.flwtype='Z'  " + search;
+                            where A.status in('ALLO','START') and S.flwtype='Z'  " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 if (data.ToList().Count > 0)
                 {
@@ -958,7 +1474,7 @@
                             left join TK_Wrk_Man B on A.wo_code=B.wo_code
                             left join TMateriel_Info M on B.materiel_code=M.partcode
                             left join TStep S on A.step_code=S.stepcode
-                            where A.status<>'CLOSED' and S.flwtype='W'  " + search;
+                            where A.status in('ALLO','START') and S.flwtype='W'  " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 if (data.ToList().Count > 0)
                 {
@@ -1052,7 +1568,7 @@
                             left join TK_Wrk_Man B on A.wo_code=B.wo_code
                             left join TMateriel_Info M on B.materiel_code=M.partcode
                             left join TStep S on A.step_code=S.stepcode
-                            where A.status<>'CLOSED' and A.ng_qty>0 " + search;
+                            where A.status in('ALLO','START') and A.ng_qty>0 " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 if (data.ToList().Count > 0)
                 {
@@ -1292,7 +1808,8 @@
                 //鑾峰彇宸ュ簭鍏宠仈鐨勮澶�
                 sql = @"select B.code,B.name from TFlw_Rteqp A
                         left join TEqpInfo B on A.eqp_code=B.code
-                        where A.style='E' and A.step_code=@stepcode";
+                        where A.style='E' and A.step_code=@stepcode and B.enable='Y'";
+                dynamicParams.Add("@wo_code", ordercode);
                 dynamicParams.Add("@stepcode", stepcode);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
                 mes.code = "200";
@@ -1561,18 +2078,18 @@
         #endregion
 
         #region[鐢熶骇寮�鎶ュ伐,鎶ュ伐鎻愪氦]
-        public static ToMessage SavaMesOrderStepReport(string mesordercode, string partcode, string stepseq, string stepcode, string eqpcode, string usergroupcode, string reportuser, string taskqty, string startqty, string reportqty, string ngqty, string badcode, string remarks, string username)
+        public static ToMessage SavaMesOrderStepReport(string mesordercode, string partcode, string stepseq, string stepcode, string eqpcode, string reckway, string usergroupcode, string reportuser, string taskqty, string startqty, string reportqty, string ngqty, string badcode, string remarks, string username)
         {
             var sql = "";
-            string[] arra = new string[] { };
+            //string[] arra = new string[] { };
             string[] arra1 = new string[] { };
             List<object> list = new List<object>();
             var dynamicParams = new DynamicParameters();
             try
             {
                 string date = DateTime.Now.ToString(); //鑾峰彇绯荤粺鏃堕棿
-                //鎴彇鎶ュ伐浜哄憳
-                arra = reportuser.Split(';');
+                //鑾峰彇鎶ュ伐浜哄憳銆佸垎閰嶆瘮渚�
+                JArray arra = (JArray)Newtonsoft.Json.JsonConvert.DeserializeObject(reportuser);
                 if (ngqty != "" || ngqty != "0")
                 {
                     //鎴彇涓嶈壇鍘熷洜
@@ -1611,11 +2128,29 @@
                     list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepseq = stepseq, stepcode = stepcode, eqpcode = eqpcode, partcode = partcode, taskqty = taskqty, startqty = startqty, reportqty = reportqty, ngqty = ngqty, style = "B", lm_user = username, lm_date = date } });
 
                     //鍐欏叆瀛愯〃
-                    for (int i = 0; i < arra.Length; i++)
+                    for (int i = 0; i < arra.Count; i++)
                     {
-                        sql = @"insert into  TK_Wrk_RecordSub(m_id,eqp_code,report_person,report_date,report_qty,usergroup_code,ng_qty,style,lm_user,lm_date) 
-                                values(@m_id,@eqp_code,@report_person,@report_date,@report_qty,@usergroup_code,@ng_qty,@style,@lm_user,@lm_date)";
-                        list.Add(new { str = sql, parm = new { m_id = int.Parse(dt.Rows[0]["ID"].ToString()), eqp_code = eqpcode, report_person = arra[i], report_date = date, report_qty = reportqty, usergroup_code = usergroupcode, ng_qty = ngqty, style = "B", lm_user = username, lm_date = date } });
+                        sql = @"insert into  TK_Wrk_RecordSub(m_id,eqp_code,report_person,report_date,report_qty,reckway,usergroup_code,ratio,ng_qty,style,lm_user,lm_date) 
+                                values(@m_id,@eqp_code,@report_person,@report_date,@report_qty,@reckway,@usergroup_code,@ratio,@ng_qty,@style,@lm_user,@lm_date)";
+                        list.Add(new
+                        {
+                            str = sql,
+                            parm = new
+                            {
+                                m_id = int.Parse(dt.Rows[0]["ID"].ToString()),
+                                eqp_code = eqpcode,
+                                report_person = arra[i]["usercode"].ToString(),
+                                report_date = date,
+                                report_qty = reportqty,
+                                reckway = reckway,
+                                usergroup_code = usergroupcode,
+                                ratio = decimal.Parse(arra[i]["ratio"].ToString()),
+                                ng_qty = ngqty,
+                                style = "B",
+                                lm_user = username,
+                                lm_date = date
+                            }
+                        });
 
                     }
                     if (badcode != "" && ngqty != "0")
@@ -1664,11 +2199,29 @@
                     list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepseq = stepseq, stepcode = stepcode, eqpcode = eqpcode, partcode = partcode, taskqty = taskqty, startqty = startqty, reportqty = reportqty, ngqty = ngqty, style = "B", lm_user = username, lm_date = date } });
 
                     //鍐欏叆瀛愯〃
-                    for (int i = 0; i < arra.Length; i++)
+                    for (int i = 0; i < arra.Count; i++)
                     {
-                        sql = @"insert into  TK_Wrk_RecordSub(m_id,eqp_code,report_person,report_date,report_qty,usergroup_code,ng_qty,style,lm_user,lm_date) 
-                                values(@m_id,@eqp_code,@report_person,@report_date,@report_qty,@usergroup_code,@ng_qty,@style,@lm_user,@lm_date)";
-                        list.Add(new { str = sql, parm = new { m_id = int.Parse(dt.Rows[0]["ID"].ToString()), eqp_code = eqpcode, report_person = arra[i], report_date = date, report_qty = reportqty, usergroup_code = usergroupcode, ng_qty = ngqty, style = "B", lm_user = username, lm_date = date } });
+                        sql = @"insert into  TK_Wrk_RecordSub(m_id,eqp_code,report_person,report_date,report_qty,reckway,usergroup_code,ratio,ng_qty,style,lm_user,lm_date) 
+                                values(@m_id,@eqp_code,@report_person,@report_date,@report_qty,@reckway,@usergroup_code,@ratio,@ng_qty,@style,@lm_user,@lm_date)";
+                        list.Add(new
+                        {
+                            str = sql,
+                            parm = new
+                            {
+                                m_id = int.Parse(dt.Rows[0]["ID"].ToString()),
+                                eqp_code = eqpcode,
+                                report_person = arra[i]["usercode"].ToString(),
+                                report_date = date,
+                                report_qty = reportqty,
+                                reckway = reckway,
+                                usergroup_code = usergroupcode,
+                                ratio = decimal.Parse(arra[i]["ratio"].ToString()),
+                                ng_qty = ngqty,
+                                style = "B",
+                                lm_user = username,
+                                lm_date = date
+                            }
+                        });
 
                     }
                     if (badcode != "" && ngqty != "0")
@@ -2529,6 +3082,174 @@
 
 
 
+        #region[浜ц兘瑙勫垝璁剧疆鏌ヨ]
+        public static ToMessage CapacityPlanningSetupSearch()
+        {
+            string sql = "";
+            try
+            {
+                sql = @"select code,name,wktme1_start,wktme2_start,wktme3_start,wktme4_start,wktme5_start,
+                        lm_user,lm_date,duration  
+                        from  TBas_wkshift_info";
+                var data = DapperHelper.selecttable(sql);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.data = data;
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[浜ц兘瑙勫垝璁剧疆鏂板]
+        public static ToMessage CapacityPlanningSetupAddUpdate(string username, List<CapacityPlanningSetup> objs)
+        {
+            var sql = "";
+            List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鍒ゆ柇缂栫爜鏄惁閲嶅
+                sql = @"select *  from TBas_wkshift_info where code=@code";
+                dynamicParams.Add("@code", objs[0].CapSetupCode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                if (data.Rows.Count > 0)
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "缂栫爜宸插瓨鍦�,涓嶈兘閲嶅!";
+                    mes.data = null;
+                    return mes;
+                }
+                //鍒ゆ柇鍚嶇О鏄惁閲嶅
+                sql = @"select *  from TBas_wkshift_info where name=@name";
+                dynamicParams.Add("@name", objs[0].CapSetupName);
+                var data0 = DapperHelper.selectdata(sql, dynamicParams);
+                if (data0.Rows.Count > 0)
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "鍚嶇О宸插瓨鍦�,涓嶈兘閲嶅!";
+                    mes.data = null;
+                    return mes;
+                }
+                list.Clear();
+                //寰幆鍐欏叆璁惧绫诲瀷琛�
+                for (int i = 0; i < objs.Count; i++)
+                {
+                    sql = @"insert into TBas_wkshift_info(code, name, wktme1_start, wktme2_start, wktme3_start, wktme4_start, wktme5_start, lm_user, lm_date, duration)
+                            values(@code,@name,@wktme1_start,@wktme2_start,@wktme3_start,@wktme4_start,@wktme5_start,@lm_user,@lm_date,@duration)";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            code = objs[i].CapSetupCode,
+                            name = objs[i].CapSetupName,
+                            wktme1_start = objs[i].OneStartDate,
+                            wktme2_start = objs[i].TwoStartDate,
+                            wktme3_start = objs[i].ThreeStartDate,
+                            wktme4_start = objs[i].FourStartDate,
+                            wktme5_start = objs[i].FiveStartDate,
+                            lm_user = username,
+                            lm_date = DateTime.Now.ToString(),
+                            duration = objs[i].Duration
+                        }
+                    });
+                }
+                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
+
+        #region[浜ц兘瑙勫垝鏂规璁剧疆鍒犻櫎]
+        public static ToMessage CapacityPlanningSetupDelete(string username, string capsetupcode)
+        {
+            var sql = "";
+            List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鍒ゆ柇鏂规鏄惁琚紩鐢�
+                sql = @"select *  from TWkm_capac_plan where wkshift_code=@capsetupcode";
+                dynamicParams.Add("@capsetupcode", capsetupcode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                if (data.Rows.Count > 0)
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "鍒犻櫎澶辫触锛�,璇ユ柟妗堝凡缁忚浜ц兘瑙勫垝璧勬簮寮曠敤!";
+                    mes.data = null;
+                    return mes;
+                }
+                list.Clear();
+                //鍒犻櫎鏂规
+
+                sql = @"delete TBas_wkshift_info where code=@code";
+                list.Add(new
+                {
+                    str = sql,
+                    parm = new
+                    {
+                        code = capsetupcode
+                    }
+                });
+
+                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
+
         #region[浜ц兘瑙勫垝鏌ヨ]
         public static ToMessage CapacityPlanningSearch(string workshop, string devicetype, string stustype, int startNum, int endNum, string prop, string order)
         {
@@ -2623,14 +3344,14 @@
             {
                 if (type == "Add")
                 {
-                    var sql = @"insert into TWkm_capac_plan(wkshop, eqp_typecode, wkshift_code, enable, lm_user, lm_time,classtype) 
-                            values(@wkshop,@eqp_typecode,@wkshift_code,@enable,@lm_user,@lm_time,@classtype)";
+                    var sql = @"insert into TWkm_capac_plan(wkshop, eqp_typecode, wkshift_code, enable, lm_user, lm_date,classtype) 
+                            values(@wkshop,@eqp_typecode,@wkshift_code,@enable,@lm_user,@lm_date,@classtype)";
                     dynamicParams.Add("@wkshop", wkshopcode);
                     dynamicParams.Add("@eqp_typecode", capunitcode);
                     dynamicParams.Add("@wkshift_code", capsetupcode);
                     dynamicParams.Add("@enable", "Y");
                     dynamicParams.Add("@lm_user", username);
-                    dynamicParams.Add("@lm_time", DateTime.Now.ToString());
+                    dynamicParams.Add("@lm_date", DateTime.Now.ToString());
                     dynamicParams.Add("@classtype", captplantype);
                     int cont = DapperHelper.SQL(sql, dynamicParams);
                     if (cont > 0)
@@ -2694,10 +3415,10 @@
                 sql = @"select CONVERT(varchar(100), wkdate, 23) DataTime,wkshift_code   from TWkm_capac_plan_sub where m_id=@captplanid";
                 dynamicParams.Add("@captplanid", captplanid);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
-                for (int i = 0; i < dt.Rows.Count; i++)
+                for (int i = 0; i < data.Rows.Count; i++)
                 {
-                    string DataTime = dt.Rows[i]["DataTime"].ToString();//鏃ユ湡
-                    string key = dt.Rows[i]["wkshift_code"].ToString(); //鏂规缂栫爜
+                    string DataTime = data.Rows[i]["DataTime"].ToString();//鏃ユ湡
+                    string key = data.Rows[i]["wkshift_code"].ToString(); //鏂规缂栫爜
                     CapaPlan cmp = new CapaPlan();
                     cmp.name = DataTime;
                     cmp.key = key;
@@ -2735,11 +3456,11 @@
                 dynamicParams.Add("@captplanid", captplanid);
                 dynamicParams.Add("@datetime", datetime);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
-                for (int i = 0; i < dt.Rows.Count; i++)
+                for (int i = 0; i < data.Rows.Count; i++)
                 {
-                    string code = dt.Rows[i]["code"].ToString();//鏂规缂栫爜
-                    string name = dt.Rows[i]["name"].ToString();//鏂规鍚嶇О
-                    string flag = dt.Rows[i]["flag"].ToString();   //閫変腑鏂规鏍囪瘑
+                    string code = data.Rows[i]["code"].ToString();//鏂规缂栫爜
+                    string name = data.Rows[i]["name"].ToString();//鏂规鍚嶇О
+                    string flag = data.Rows[i]["flag"].ToString();   //閫変腑鏂规鏍囪瘑
                     CapacityPlanSect cmp = new CapacityPlanSect();
                     cmp.CapCode = code;
                     cmp.CapName = name;
@@ -2748,7 +3469,7 @@
 
                     string sql1 = @"select wktme1_start,wktme2_start,wktme3_start,wktme4_start,wktme5_start  from TBas_wkshift_info where code=@code";
                     dynamicParams.Add("@code", code);
-                    var db = DapperHelper.selectdata(sql, dynamicParams);
+                    var db = DapperHelper.selectdata(sql1, dynamicParams);
 
                     for (int j = 0; j < db.Columns.Count; j++) //鏃堕棿娈�
                     {
@@ -2862,11 +3583,10 @@
                     List<CapaPlan> list4 = ids1.Except(ids).ToList(); //琛ㄧずids1涓摢浜涘�兼槸ids涓墍涓嶅瓨鍦ㄧ殑;
                     list4 = list3.Union(list4).ToList();
                     //鏌ユ壘鍏抽敭宸ュ簭璁惧銆佸伐浣嶇兢缁勭殑鎵�鏈夎澶�
-                    string sql3 = @"select *  from(
-                                  select distinct A.code,A.name  from TEqpInfo A 
+                    string sql3 = @"select distinct A.code,A.name  from TEqpInfo A 
                                   left join TFlw_Rteqp B on A.code=B.eqp_code
                                   left join TFlw_Rtdt D on B.step_code=D.step_code                 
-                                  where A.wksp_code=@wkshopcode  and D.first_choke='Y'  order by A.code)";
+                                  where A.wksp_code=@wkshopcode  and D.first_choke='Y'  order by A.code";
                     dynamicParams.Add("@wkshopcode", wkshopcode);
                     var dt3 = DapperHelper.selectdata(sql3, dynamicParams);
                     if (list4.Count > 0)  //濡傛灉鏃ユ湡鏈夊彉鍔�
@@ -2902,7 +3622,7 @@
                         }
                     }
                     //鏇存柊鎺掍骇鐢熶骇璧勬簮涓昏〃
-                    sql = @"update gn_wkm_capac_plan set wkshift_code=@wkshift_code,classtype=@classtype,lm_user=@lm_user,lm_time=@lm_time  where id=@id";
+                    sql = @"update TWkm_capac_plan set wkshift_code=@wkshift_code,classtype=@classtype,lm_user=@lm_user,lm_date=@lm_time  where id=@id";
                     list.Add(new
                     {
                         str = sql,
@@ -2928,7 +3648,7 @@
                     //寰幆鍐欏叆鎺掍骇鐢熶骇璧勬簮瀛愯〃
                     for (int i = 0; i < objs.Count; i++)
                     {
-                        sql = @"insert into TWkm_capac_plan_sub(m_id,wkdate,wkshift_code) values()";
+                        sql = @"insert into TWkm_capac_plan_sub(m_id,wkdate,wkshift_code) values(@m_id,@wkdate,@wkshift_code)";
                         list.Add(new
                         {
                             str = sql,
@@ -3016,7 +3736,7 @@
                              A.plan_qty        AdvaScheQty,
                              U.name            AdvaScheUom,
                              isnull(E.sched_qty,0)       AdvaScheYPQty,
-	                         CONVERT(varchar(100), B.planenddate, 23) AdvaScheEndDate,
+	                         CONVERT(varchar(100), A.saleOrderDeliveryDate, 23) AdvaScheEndDate,
 	                         convert(varchar(20),isnull(E.sched_qty,0))+'/'+convert(varchar(20),isnull(A.plan_qty,0)) AdvaScheSpeed,
                              A.route_code    AdvaScheRoutid,
                              F.name        AdvaScheRoutName, 
@@ -3027,7 +3747,6 @@
                             (case  when CONVERT(varchar(100), H.maxtime, 23)<=CONVERT(varchar(100), E.plan_enddate, 23) then 'Y'  when H.MAXTime is null  then 'Y'  else 'N' end) Flag,
                             (case when A.PiroQue='1' then '鐗规��' when A.PiroQue='2' then '绱ф��' when A.PiroQue='3' then '姝e父' end) AdvaSchePiroQue 
 	                         from TK_Wrk_Man A
-	                         left join TKimp_Ewo B on A.m_po=B.wo
 	                         left join TMateriel_Info C on C.partcode= A.materiel_code
                              left join T_Dict D on C.stocktype_code= d.code
                              left join TK_Wrk_Step E on E.wo_code=A.wo_code
@@ -3036,7 +3755,7 @@
                              left join (select wo_code, max(TIME_END) MAXTime,min(time_start) MINTime  from TK_Wrk_EqpAps group by wo_code) H on A.wo_code=H.wo_code
 	                         left join TUom U on C.uom_code=U.code
                              left join TOrganization M on A.wkshp_code=M.org_code
-	                         where    E.isbott = 'Y' and A.status='NEW' and A.isaps='Y'";
+	                         where E.isbott = 'Y' and A.status='NOSCHED' and A.isaps='Y' " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -3075,15 +3794,16 @@
                     return list;
                 }
                 bool IsCap = false;    //鏄惁璁剧疆浜ц兘
-                //閫氳繃宸ュ崟鏌ユ壘宸ヨ壓璺嚎瀵瑰簲鍏抽敭宸ュ簭鎵�鍏宠仈鐨勮澶囨槸鍚﹀彲鐢�
+                //閫氳繃宸ュ崟鏌ユ壘瀵瑰簲杞﹂棿宸ヨ壓璺嚎涓嬪叧閿伐搴忔墍鍏宠仈鐨勮澶囨槸鍚﹀彲鐢�
                 sql = @"select distinct C.eqp_code ,D.Enable  from TK_Wrk_Man A
                        left join TFlw_Rout K on A.route_code=K.code
                        left join TFlw_Rtdt B on K.code=B.rout_code and B.first_choke='Y'
                        left join TFlw_Rteqp C on B.step_code= C.step_code
                        left join TEqpInfo D on C.eqp_code=D.code
-                       where A.wo_code=@wocode and A.materiel_code=@partcode";
+                       where A.wo_code=@wocode and A.materiel_code=@partcode and D.wksp_code=@wkshpcode";
                 dynamicParams.Add("@wocode", wocode);
                 dynamicParams.Add("@partcode", partcode);
+                dynamicParams.Add("@wkshpcode", wkshpcode);
                 var dt_0 = DapperHelper.selectdata(sql, dynamicParams);
                 if (dt_0.Rows.Count > 0)
                 {
@@ -3129,7 +3849,7 @@
                     string sy = "0";
                     for (int i = 0; i < dt0.Rows.Count; i++)
                     {
-                        if (dt0.Rows[i]["WKSHOP"].ToString() == wkshpcode)  //宸ュ崟鍒涘缓杞﹂棿鏄惁绛変簬鎺掍骇璁惧 杞﹂棿
+                        if (dt0.Rows[i]["WKSP_CODE"].ToString() == wkshpcode)  //宸ュ崟鍒涘缓杞﹂棿鏄惁绛変簬鎺掍骇璁惧 杞﹂棿
                         {
                             sy = "1";
                             break;
@@ -3145,6 +3865,7 @@
                         mes.count = 0;
                         mes.Message = "鎺掍骇璁惧杞﹂棿涓庡伐鍗曞垱寤虹殑杞﹂棿涓嶅悓锛�";
                         mes.data = null;
+                        return list;
                     }
                     else
                     {
@@ -3176,8 +3897,8 @@
 		                                        from  TWkm_capac_plan  E 
                                                 left join TWkm_capac_plan_sub F on E.id=F.m_id
                                                 left join TBas_wkshift_info G on F.wkshift_code=G.code
-                                                where E.wkshop='CJ001'and E.eqp_typecode='SBLX001'  and E.ClassType='D'
-		                                        and CONVERT(varchar(100), F.wkdate, 23)='2022-10-11' and E.enable='Y'";
+                                                where E.wkshop=@wkshop and E.eqp_typecode=@eqp_typecode  and E.ClassType=@classtype
+		                                        and CONVERT(varchar(100), F.wkdate, 23)=@wkdate and E.enable='Y'";
                                 dynamicParams.Add("@wkshop", wkshpcode);
                                 dynamicParams.Add("@eqp_typecode", listData[j].Style.ToString());
                                 dynamicParams.Add("@classtype", listData[j].ClassType.ToString());
@@ -3224,7 +3945,7 @@
                             {
                                 mes.code = "300";
                                 mes.count = 0;
-                                mes.Message = "鎺掔▼璁惧鏈缃骇鑳斤紒";
+                                mes.Message = "褰撳墠宸ュ崟鍔犲伐浜у搧瀵瑰簲宸ヨ壓璺嚎璁惧鏈缃骇鑳芥垨鏈缃敓浜ц妭鎷嶏紒";
                                 mes.data = null;
                             }
                         }
@@ -3254,23 +3975,27 @@
         public static DataTable AlreadyScheduling(string wocode, string wkshpcode, string partcode, string botproccode, string startdate, string enddate)
         {
             var dynamicParams = new DynamicParameters();
+            DataTable dt;
             try
             {
                 List<APSList> listData = SchedulingMethod.SchedulingMethodTF(wocode, wkshpcode, partcode);
                 string[] empIds = listData.Select(a => a.eqp_id).ToArray();
                 string str = string.Join(",", empIds);
-                string s1 = string.Format("'{0}'", str.Replace(",", "','"));
+                string[] s1 = Array.ConvertAll<string, string>(str.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[] 
+                //string s1 = string.Format("'{0}'", str.Replace(",", "','"));
 
-                string sql = @"select B.wo_code,  B.eqp_code,B.time_start,B.time_end, 'S' status , B.alloc_qty,D.partname as part_name
+                string sql = @"select B.wo_code,  B.eqp_code,B.time_start,B.time_end, 'S' status , B.alloc_qty,D.partcode as part_code,D.partname as part_name,T.name as uom_name
 	                           from TK_Wrk_EqpAps B 
                                left join TK_Wrk_Man C on B.wo_code=C.wo_code
                                left join  TMateriel_Info D on C.materiel_code=D.partcode
-                               where  B.eqp_code in(@s1) 
+                               left join TUom T on D.uom_code=T.code
+                               where  B.eqp_code in @eqpcode
 	                           and convert(varchar(100),B.Time_Start,21)>=@startdate and convert(varchar(100),B.Time_End,21)<=@enddate order by time_end";
-                dynamicParams.Add("@s1", s1);
-                dynamicParams.Add("@startdate", startdate + " 00:00:00");
-                dynamicParams.Add("@enddate", enddate + " 23:59:59");
-                var dt_0 = DapperHelper.selectdata(sql, dynamicParams);
+                dt = DapperHelper.selectlist(sql, new { eqpcode = s1.ToArray(), startdate = startdate + " 00:00:00", enddate = enddate + " 23:59:59" });
+                //dynamicParams.Add("@s1", new { shopcode = s1.ToArray() });
+                //dynamicParams.Add("@startdate", startdate + " 00:00:00");
+                //dynamicParams.Add("@enddate", enddate + " 23:59:59");
+                //var dt_0 = DapperHelper.selectdata(sql, dynamicParams);
                 if (dt == null || dt.Rows.Count == 0)
                 {
                     return null;
@@ -3309,7 +4034,7 @@
                 string status = dt.Rows[0]["STATUS"].ToString();
                 Decimal nm = 0;                                                     //鐡跺緞宸ュ簭鐨勫墠缃ぉ鏁�
                 Decimal nn = Decimal.Parse(dt.Rows[0]["BottFrointv"].ToString());   //鐡跺緞宸ュ簭鐨勫悗缃ぉ鏁�
-                if (status != "NEW" && status != "SCHED")   //宸ュ簭浠诲姟鐨勭姸鎬佸凡缁忔淳鍙戯紙瀹℃牳锛�
+                if (status != "NEW" && status != "SCHED" && status != "NOSCHED")   //宸ュ簭浠诲姟鐨勭姸鎬佸凡缁忔淳鍙戯紙瀹℃牳锛�
                 {
                     mes.code = "300";
                     mes.count = 0;
@@ -3366,7 +4091,7 @@
                 {
                     sql = @"insert into  TK_Wrk_EqpApsSum (wo_code,eqp_code,step_taid,p_date, t_date, qty,status)
                            select  min(wo_code),min(eqp_code),min(step_taid),min(time_start),max(time_end),sum(Alloc_Qty),'NEW' from TK_Wrk_EqpAps  
-                           where wo_code=@wocode and eqp_code=''";
+                           where wo_code=@wocode and eqp_code=@eqp_code";
                     list.Add(new { str = sql, parm = new { wocode = wocode, eqp_code = dt1.Rows[i]["EQP_CODE"].ToString() } });
                 }
 
@@ -3379,10 +4104,9 @@
                     mes.data = null;
                     return mes;
                 }
-
                 list.Clear();
                 //鍐欏叆璁惧浠诲姟(姹囨�昏〃)鐢ㄦ枡  璁″垝鏁伴噺*瀛愪欢鍩烘湰鐢ㄩ噺*锛�1+鎹熻�楃巼锛�/姣嶄欢鍩烘湰鐢ㄩ噺
-                sql = @"insert into TK_Wrk_EqpSum_Allo(m_id, seq, invcode, qty,wo_code,pn_type)
+                sql = @"insert into TK_Wrk_EqpSum_Allo(m_id, seq, materiel_code, qty,wo_code,materieltype)
                         select A.id M_id, B.seq,B.materiel_code,(round(A.qty,2)*BE.Base_Quantity*(1+BE.LOSS_QUANTITY/100))/BM.quantity  qty,A.wo_code,B.materieltype  
                         from TK_Wrk_EqpApsSum A 
                         left join TK_Wrk_Allo B on A.Wo_Code= B.Wo_Code 
@@ -3408,7 +4132,7 @@
                     }
                 });
                 //涓诲伐鍗曠殑鈥滆鍒掑紑鏈烘棩鏈� = 鐡跺緞宸ュ簭鐨勯寮�宸ユ棩鏈� - 鐡跺緞宸ュ簭鐨勫墠缃棩鏈燂級    涓诲伐鍗曪細璁″垝瀹屽伐鏃ユ湡 = 鐡跺緞宸ュ簭鐨勯瀹屽伐鏃ユ湡 + 鐡跺緞宸ュ簭鐨勫悗缃棩鏈�
-                sql = @"update mes_tk_wrk_man set status='SCHED',plan_startdate =convert(varchar(100),@plan_startdate,21),  plan_enddate =convert(varchar(100),@plan_enddate,21), exchag='Y',allocfag='N' where wo_code =@wocode";
+                sql = @"update TK_Wrk_Man set status='SCHED',plan_startdate =convert(varchar(100),@plan_startdate,21),  plan_enddate =convert(varchar(100),@plan_enddate,21), exchag='Y',allocfag='N' where wo_code =@wocode";
                 list.Add(new
                 {
                     str = sql,

--
Gitblit v1.9.3