From 770c681572301c938d7b9adcc60d9aad9d1dd604 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期二, 19 九月 2023 17:37:03 +0800
Subject: [PATCH] 1.新增基本资料功能接口(erp车间/部门、erp仓库、erp用户信息) 2.报工接口添加字段入库条码 3.增加末道工序报工后提交入库接口(对接erp) 4.增加生成系统条码接口(自定义)

---
 VueWebApi/DLL/DAL/ProductionManagementDAL.cs |  786 ++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 596 insertions(+), 190 deletions(-)

diff --git a/VueWebApi/DLL/DAL/ProductionManagementDAL.cs b/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
index 2333dd3..ca8abc9 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,A.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
@@ -125,7 +126,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());
@@ -476,6 +478,33 @@
         }
         #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)
         {
@@ -638,7 +667,7 @@
             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')";
                 dynamicParams.Add("@wocode", wocode);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
                 if (data.Rows.Count > 0)
@@ -759,7 +788,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";
@@ -1561,13 +1590,14 @@
         #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 inbarcode, 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[] arra1 = new string[] { };
             List<object> list = new List<object>();
             var dynamicParams = new DynamicParameters();
+            var dynamicParamsTran = new DynamicParameters();
             try
             {
                 string date = DateTime.Now.ToString(); //鑾峰彇绯荤粺鏃堕棿
@@ -1600,114 +1630,77 @@
                     mes.data = null;
                     return mes;
                 }
+                
                 if (data.Rows.Count > 0)
                 {
-                    //鑾峰彇涓昏〃鏈�澶D
-                    sql = @"select ISNULL(IDENT_CURRENT('TK_Wrk_Record')+1,1) as id";
-                    var dt = DapperHelper.selecttable(sql);
-                    //鍐欏叆寮�鎶ュ伐璁板綍琛�
-                    sql = @"insert into  TK_Wrk_Record(wo_code,step_seq,step_code,eqp_code,materiel_code,task_qty,start_qty,good_qty,ng_qty,style,lm_user,lm_date) 
-                                values(@mesordercode,@stepseq,@stepcode,@eqpcode,@partcode,@taskqty,@startqty,@reportqty,@ngqty,@style,@lm_user,@lm_date)";
-                    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++)
+                    //瀛樺偍杩囩▼鍚�
+                    sql = @"h_p_MES_ProductionReport_ZZ";
+                    dynamicParamsTran.Add("@mesordercode", mesordercode);
+                    dynamicParamsTran.Add("@partcode", partcode);
+                    dynamicParamsTran.Add("@stepseq", stepseq);
+                    dynamicParamsTran.Add("@stepcode", stepcode);
+                    dynamicParamsTran.Add("@eqpcode", eqpcode);
+                    dynamicParamsTran.Add("@inbarcode", inbarcode);
+                    dynamicParamsTran.Add("@usergroupcode", usergroupcode);
+                    dynamicParamsTran.Add("@reportuser", reportuser);
+                    dynamicParamsTran.Add("@taskqty", taskqty);
+                    dynamicParamsTran.Add("@startqty", startqty);
+                    dynamicParamsTran.Add("@reportqty", reportqty);
+                    dynamicParamsTran.Add("@ngqty", ngqty);
+                    dynamicParamsTran.Add("@badcode", badcode);
+                    dynamicParamsTran.Add("@remarks", remarks);
+                    dynamicParamsTran.Add("@username", username);
+                    bool a = DapperHelper.IsProcedure(sql, dynamicParamsTran);
+                    if (a)
                     {
-                        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 } });
-
+                        mes.code = "200";
+                        mes.count = 0;
+                        mes.Message = "鎿嶄綔鎴愬姛!";
+                        mes.data = null;
                     }
-                    if (badcode != "" && ngqty != "0")
+                    else
                     {
-                        //鍐欏叆缂洪櫡璁板綍琛�
-                        for (int i = 0; i < arra1.Length; i++)
-                        {
-                            sql = @"insert into  CSR_WorkRecord_Defect(record_id,wo_code,partnumber,step_seq,step_code,defect_qty,defect_code,remarks,style,lm_user,lm_date) 
-                                values(@record_id,@wo_code,@partcode,@stepseq,@stepcode,@ngqty,@defect_code,@remarks,@style,@lm_user,@lm_date)";
-                            list.Add(new { str = sql, parm = new { record_id = int.Parse(dt.Rows[0]["ID"].ToString()), wo_code = mesordercode, partcode = partcode, stepseq = stepseq, stepcode = stepcode, ngqty = ngqty, defect_code = arra1[i], remarks = remarks, style = "B", lm_user = username, lm_date = date } });
-
-                        }
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "鎿嶄綔澶辫触!";
+                        mes.data = null;
                     }
-                    ////淇敼鎶ュ伐璁板綍
-                    //sql = @"update TK_Wrk_Record set good_qty=good_qty+@reportqty,ng_qty=ng_qty+@ngqty,
-                    //            lm_user=@username,lm_date=@CreateDate where wo_code=@mesordercode and step_code=@stepcode and style='B'";
-                    //list.Add(new { str = sql, parm = new { reportqty = decimal.Parse(reportqty), ngqty = decimal.Parse(ngqty), mesordercode = mesordercode, stepcode = stepcode, username = username, CreateDate = date } });
-                    ////鍐欏叆瀛愯〃
-                    //for (int i = 0; i < arra.Length; 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(data.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 } });
-
-                    //}
-                    //if (badcode != "" && ngqty != "0")
-                    //{
-                    //    //鍐欏叆缂洪櫡璁板綍琛�
-                    //    for (int i = 0; i < arra1.Length; i++)
-                    //    {
-                    //        sql = @"insert into  CSR_WorkRecord_Defect(record_id,wo_code,partnumber,step_seq,step_code,defect_qty,defect_code,style,lm_user,lm_date) 
-                    //            values(@record_id,@wo_code,@partcode,@stepseq,@stepcode,@ngqty,@defect_code,@style,@lm_user,@lm_date)";
-                    //        list.Add(new { str = sql, parm = new { record_id = int.Parse(data.Rows[0]["ID"].ToString()), wo_code = mesordercode, partcode = partcode, stepseq = stepseq, stepcode = stepcode, ngqty = ngqty, defect_code = arra1[i], style = "B", lm_user = username, lm_date = date } });
-
-                    //    }
-                    //}
                 }
                 else
                 {
-                    //鑾峰彇涓昏〃鏈�澶D
-                    sql = @"select ISNULL(IDENT_CURRENT('TK_Wrk_Record')+1,1) as id";
-                    var dt = DapperHelper.selecttable(sql);
-                    //鍐欏叆寮�鎶ュ伐璁板綍琛�
-                    sql = @"insert into  TK_Wrk_Record(wo_code,step_seq,step_code,eqp_code,materiel_code,task_qty,start_qty,good_qty,ng_qty,style,lm_user,lm_date) 
-                                values(@mesordercode,@stepseq,@stepcode,@eqpcode,@partcode,@taskqty,@startqty,@reportqty,@ngqty,@style,@lm_user,@lm_date)";
-                    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++)
+                    //瀛樺偍杩囩▼鍚�
+                    sql = @"h_p_MES_ProductionReport_ZZ";
+                    dynamicParamsTran.Add("@mesordercode", mesordercode);
+                    dynamicParamsTran.Add("@partcode", partcode);
+                    dynamicParamsTran.Add("@stepseq", stepseq);
+                    dynamicParamsTran.Add("@stepcode", stepcode);
+                    dynamicParamsTran.Add("@eqpcode", eqpcode);
+                    dynamicParamsTran.Add("@inbarcode", inbarcode);
+                    dynamicParamsTran.Add("@usergroupcode", usergroupcode);
+                    dynamicParamsTran.Add("@reportuser", reportuser);
+                    dynamicParamsTran.Add("@taskqty", taskqty);
+                    dynamicParamsTran.Add("@startqty", startqty);
+                    dynamicParamsTran.Add("@reportqty", reportqty);
+                    dynamicParamsTran.Add("@ngqty", ngqty);
+                    dynamicParamsTran.Add("@badcode", badcode);
+                    dynamicParamsTran.Add("@remarks", remarks);
+                    dynamicParamsTran.Add("@username", username);
+                    bool a = DapperHelper.IsProcedure(sql, dynamicParamsTran);
+                    if (a)
                     {
-                        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 } });
-
+                        mes.code = "200";
+                        mes.count = 0;
+                        mes.Message = "鎿嶄綔鎴愬姛!";
+                        mes.data = null;
                     }
-                    if (badcode != "" && ngqty != "0")
+                    else
                     {
-                        //鍐欏叆缂洪櫡璁板綍琛�
-                        for (int i = 0; i < arra1.Length; i++)
-                        {
-                            sql = @"insert into  CSR_WorkRecord_Defect(record_id,wo_code,partnumber,step_seq,step_code,defect_qty,defect_code,remarks,style,lm_user,lm_date) 
-                                values(@record_id,@wo_code,@partcode,@stepseq,@stepcode,@ngqty,@defect_code,@remarks,@style,@lm_user,@lm_date)";
-                            list.Add(new { str = sql, parm = new { record_id = int.Parse(dt.Rows[0]["ID"].ToString()), wo_code = mesordercode, partcode = partcode, stepseq = stepseq, stepcode = stepcode, ngqty = ngqty, defect_code = arra1[i], remarks = remarks, style = "B", lm_user = username, lm_date = date } });
-
-                        }
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "鎿嶄綔澶辫触!";
+                        mes.data = null;
                     }
-                }
-
-
-                //鍥炲啓宸ュ崟宸ュ簭琛ㄥ悎鏍兼暟閲忋�佷笉鑹暟閲�
-                sql = @"update TK_Wrk_Step set good_qty=good_qty+@reportqty,ng_qty=ng_qty+@ngqty  where wo_code=@mesordercode and step_code=@stepcode";
-                list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepcode = stepcode, reportqty = reportqty, ngqty = ngqty } });
-
-                //鍥炲啓宸ュ崟琛ㄥ悎鏍兼暟閲忋�佷笉鑹暟閲�
-                //sql = @"update TK_Wrk_Man set good_qty=good_qty+@reportqty,ng_qty=ng_qty+@ngqty  where wo_code=@mesordercode";
-                //list.Add(new { str = sql, parm = new { mesordercode = mesordercode, reportqty = reportqty, ngqty = ngqty } });
-
-                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)
             {
@@ -1798,12 +1791,13 @@
         #endregion
 
         #region[鐢熶骇寮�鎶ュ伐, 鏀舵枡鎻愪氦]
-        public static ToMessage SavaMesOrderStepIn(string mesordercode, string partcode, string stepseq, string stepcode, string wxcode, string inuser, string taskqty, string sqty, string ngqty, string badcode, string remarks, string username)
+        public static ToMessage SavaMesOrderStepIn(string mesordercode, string partcode, string stepseq, string stepcode, string wxcode,string inbarcode, string inuser, string taskqty, string sqty, string ngqty, string badcode, string remarks, string username)
         {
             var sql = "";
             string[] arra1 = new string[] { };
             List<object> list = new List<object>();
             var dynamicParams = new DynamicParameters();
+            var dynamicParamsTran = new DynamicParameters();
             try
             {
                 string date = DateTime.Now.ToString(); //鑾峰彇绯荤粺鏃堕棿
@@ -1874,102 +1868,70 @@
                         return mes;
                     }
 
-
-                    //鑾峰彇涓昏〃鏈�澶D
-                    sql = @"select ISNULL(IDENT_CURRENT('TK_Wrk_OutRecord')+1,1) as id";
-                    var dt = DapperHelper.selecttable(sql);
-                    //鍐欏叆澶栧崗璁板綍涓昏〃
-                    sql = @"insert into  TK_Wrk_OutRecord(wo_code,step_seq,step_code,wx_code,materiel_code,style,sqty,ng_qty,lm_user,lm_date) 
-                                values(@mesordercode,@stepseq,@stepcode,@wx_code,@partcode,@style,@sqty,@ngqty,@lm_user,@lm_date)";
-                    list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepseq = stepseq, stepcode = stepcode, wx_code = wxcode, partcode = partcode, style = 'S', sqty = sqty, ngqty = ngqty, lm_user = username, lm_date = date } });
-
-                    //鍐欏叆澶栧崗璁板綍瀛愯〃
-                    sql = @"insert into  TK_Wrk_OutRecordSub(m_id,wx_code,in_person,in_time,sqty,ng_qty,style,lm_user,lm_date) 
-                                values(@m_id,@wxcode,@in_person,@in_time,@sqty,@ng_qty,@style,@lm_user,@lm_date)";
-                    list.Add(new { str = sql, parm = new { m_id = int.Parse(dt.Rows[0]["ID"].ToString()), wxcode = wxcode, in_person = inuser, in_time = date, sqty = sqty, ng_qty = ngqty, style = "S", lm_user = username, lm_date = date } });
-
-                    if (badcode != "" && ngqty != "0")
+                    //瀛樺偍杩囩▼鍚�
+                    sql = @"h_p_MES_ProductionReport_WX";
+                    dynamicParamsTran.Add("@mesordercode", mesordercode);
+                    dynamicParamsTran.Add("@partcode", partcode);
+                    dynamicParamsTran.Add("@stepseq", stepseq);
+                    dynamicParamsTran.Add("@stepcode", stepcode);
+                    dynamicParamsTran.Add("@wxcode", wxcode);
+                    dynamicParamsTran.Add("@inbarcode", inbarcode);
+                    dynamicParamsTran.Add("@inuser", inuser);
+                    dynamicParamsTran.Add("@taskqty", taskqty);
+                    dynamicParamsTran.Add("@sqty", sqty);
+                    dynamicParamsTran.Add("@ngqty", ngqty);
+                    dynamicParamsTran.Add("@badcode", badcode);
+                    dynamicParamsTran.Add("@remarks", remarks);
+                    dynamicParamsTran.Add("@username", username);
+                    bool a = DapperHelper.IsProcedure(sql, dynamicParamsTran);
+                    if (a)
                     {
-                        //鍐欏叆缂洪櫡璁板綍琛�
-                        for (int i = 0; i < arra1.Length; i++)
-                        {
-                            sql = @"insert into  CSR_WorkRecord_Defect(record_id,wo_code,partnumber,step_seq,step_code,defect_qty,defect_code,remarks,style,lm_user,lm_date) 
-                                values(@record_id,@wo_code,@partcode,@stepseq,@stepcode,@ngqty,@defect_code,@remarks,@style,@lm_user,@lm_date)";
-                            list.Add(new { str = sql, parm = new { record_id = int.Parse(dt.Rows[0]["ID"].ToString()), wo_code = mesordercode, partcode = partcode, stepseq = stepseq, stepcode = stepcode, ngqty = ngqty, defect_code = arra1[i], remarks = remarks, style = "S", lm_user = username, lm_date = date } });
-
-                        }
+                        mes.code = "200";
+                        mes.count = 0;
+                        mes.Message = "鎿嶄綔鎴愬姛!";
+                        mes.data = null;
+                    }
+                    else
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "鎿嶄綔澶辫触!";
+                        mes.data = null;
                     }
 
-
-                    ////淇敼澶栧崗璁板綍涓昏〃
-                    //sql = @"update TK_Wrk_OutRecord set sqty=sqty+@sqty,ng_qty=ng_qty+@ngqty,lm_user=@username,lm_date=@CreateDate
-                    //         where wo_code=@mesordercode and step_code=@stepcode and wx_code=@wx_code and style='S'";
-                    //list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepcode = stepcode, wx_code = wxcode, sqty = decimal.Parse(sqty), ngqty = decimal.Parse(ngqty), username = username, CreateDate = date } });
-                    ////鍐欏叆澶栧崗璁板綍瀛愯〃
-                    //sql = @"insert into  TK_Wrk_OutRecordSub(m_id,wx_code,in_person,in_time,sqty,ng_qty,style,lm_user,lm_date) 
-                    //            values(@m_id,@wx_code,@in_person,@in_time,@sqty,@ngqty,@style,@lm_user,@lm_date)";
-                    //list.Add(new { str = sql, parm = new { m_id = int.Parse(data.Rows[0]["ID"].ToString()), wx_code = wxcode, in_person = inuser, in_time = date, sqty = sqty, ngqty = ngqty, style = 'S', lm_user = username, lm_date = date } });
-
-                    //if (badcode != "" && ngqty != "0")
-                    //{
-                    //    //鍐欏叆缂洪櫡璁板綍琛�
-                    //    for (int i = 0; i < arra1.Length; i++)
-                    //    {
-                    //        sql = @"insert into  CSR_WorkRecord_Defect(record_id,wo_code,partnumber,step_seq,step_code,defect_qty,defect_code,style,lm_user,lm_date) 
-                    //            values(@record_id,@wo_code,@partcode,@stepseq,@stepcode,@ngqty,@defect_code,@style,@lm_user,@lm_date)";
-                    //        list.Add(new { str = sql, parm = new { record_id = int.Parse(data.Rows[0]["ID"].ToString()), wo_code = mesordercode, partcode = partcode, stepseq = stepseq, stepcode = stepcode, ngqty = ngqty, defect_code = arra1[i], style = "S", lm_user = username, lm_date = date } });
-
-                    //    }
-                    //}
                 }
                 else
                 {
-                    //鑾峰彇涓昏〃鏈�澶D
-                    sql = @"select ISNULL(IDENT_CURRENT('TK_Wrk_OutRecord')+1,1) as id";
-                    var dt = DapperHelper.selecttable(sql);
-                    //鍐欏叆澶栧崗璁板綍涓昏〃
-                    sql = @"insert into  TK_Wrk_OutRecord(wo_code,step_seq,step_code,wx_code,materiel_code,style,sqty,ng_qty,lm_user,lm_date) 
-                                values(@mesordercode,@stepseq,@stepcode,@wx_code,@partcode,@style,@sqty,@ngqty,@lm_user,@lm_date)";
-                    list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepseq = stepseq, stepcode = stepcode, wx_code = wxcode, partcode = partcode, style = 'S', sqty = sqty, ngqty = ngqty, lm_user = username, lm_date = date } });
-
-                    //鍐欏叆澶栧崗璁板綍瀛愯〃
-                    sql = @"insert into  TK_Wrk_OutRecordSub(m_id,wx_code,in_person,in_time,sqty,ng_qty,style,lm_user,lm_date) 
-                                values(@m_id,@wxcode,@in_person,@in_time,@sqty,@ng_qty,@style,@lm_user,@lm_date)";
-                    list.Add(new { str = sql, parm = new { m_id = int.Parse(dt.Rows[0]["ID"].ToString()), wxcode = wxcode, in_person = inuser, in_time = date, sqty = sqty, ng_qty = ngqty, style = "S", lm_user = username, lm_date = date } });
-
-                    if (badcode != "" && ngqty != "0")
+                    //瀛樺偍杩囩▼鍚�
+                    sql = @"h_p_MES_ProductionReport_WX";
+                    dynamicParamsTran.Add("@mesordercode", mesordercode);
+                    dynamicParamsTran.Add("@partcode", partcode);
+                    dynamicParamsTran.Add("@stepseq", stepseq);
+                    dynamicParamsTran.Add("@stepcode", stepcode);
+                    dynamicParamsTran.Add("@wxcode", wxcode);
+                    dynamicParamsTran.Add("@inbarcode", inbarcode);
+                    dynamicParamsTran.Add("@inuser", inuser);
+                    dynamicParamsTran.Add("@taskqty", taskqty);
+                    dynamicParamsTran.Add("@sqty", sqty);
+                    dynamicParamsTran.Add("@ngqty", ngqty);
+                    dynamicParamsTran.Add("@badcode", badcode);
+                    dynamicParamsTran.Add("@remarks", remarks);
+                    dynamicParamsTran.Add("@username", username);
+                    bool a = DapperHelper.IsProcedure(sql, dynamicParamsTran);
+                    if (a)
                     {
-                        //鍐欏叆缂洪櫡璁板綍琛�
-                        for (int i = 0; i < arra1.Length; i++)
-                        {
-                            sql = @"insert into  CSR_WorkRecord_Defect(record_id,wo_code,partnumber,step_seq,step_code,defect_qty,defect_code,remarks,style,lm_user,lm_date) 
-                                values(@record_id,@wo_code,@partcode,@stepseq,@stepcode,@ngqty,@defect_code,@remarks,@style,@lm_user,@lm_date)";
-                            list.Add(new { str = sql, parm = new { record_id = int.Parse(dt.Rows[0]["ID"].ToString()), wo_code = mesordercode, partcode = partcode, stepseq = stepseq, stepcode = stepcode, ngqty = ngqty, defect_code = arra1[i], remarks = remarks, style = "S", lm_user = username, lm_date = date } });
-
-                        }
+                        mes.code = "200";
+                        mes.count = 0;
+                        mes.Message = "鎿嶄綔鎴愬姛!";
+                        mes.data = null;
                     }
-                }
-                //鍥炲啓宸ュ崟宸ュ簭琛ㄥ悎鏍兼暟閲忋�佷笉鑹暟閲�
-                sql = @"update TK_Wrk_Step set good_qty=good_qty+@sqty,ng_qty=ng_qty+@ngqty  where wo_code=@mesordercode and step_code=@stepcode";
-                list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepcode = stepcode, sqty = sqty, ngqty = ngqty } });
-
-                //鍥炲啓宸ュ崟琛ㄥ悎鏍兼暟閲忋�佷笉鑹暟閲�
-                //sql = @"update TK_Wrk_Man set good_qty=good_qty+@sqty,ng_qty=ng_qty+@ngqty  where wo_code=@mesordercode";
-                //list.Add(new { str = sql, parm = new { mesordercode = mesordercode, sqty = sqty, ngqty = ngqty } });
-                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;
+                    else
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "鎿嶄綔澶辫触!";
+                        mes.data = null;
+                    }
                 }
             }
             catch (Exception e)
@@ -2927,7 +2889,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,
@@ -3445,5 +3407,449 @@
         }
         #endregion
 
+
+        #region[鐢熶骇鍏ュ簱鏉$爜琛ユ墦]
+        public static ToMessage ProductInHouseLabCode(string ordercode)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鑾峰彇鏈亾宸ュ簭鎶ュ伐鏉$爜鏁版嵁
+                sql = @"select *   from(
+                        select A.inbarcode,A.wo_code,P.partcode,P.partname,P.partspec,
+                        A.good_qty,U.username,A.lm_date   
+                        from  TK_Wrk_Record A
+                        inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
+                        inner join TMateriel_Info P on A.materiel_code=P.partcode
+                        inner join TUser U on A.lm_user=U.usercode
+                        where A.style='B' and S.isend='Y' and A.good_qty>0 and A.inbarcode<>''
+                        union all
+                        select A.inbarcode,A.wo_code,P.partcode,P.partname,P.partspec,
+                        A.sqty as sqty,U.username,A.lm_date   
+                        from  TK_Wrk_OutRecord A
+                        inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
+                        inner join TMateriel_Info P on A.materiel_code=P.partcode
+                        inner join TUser U on A.lm_user=U.usercode
+                        where A.style='S' and S.isend='Y' and A.sqty>0 and A.inbarcode<>''
+                        ) as AA where AA.wo_code=@ordercode";
+                dynamicParams.Add("@ordercode", ordercode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.data = data;
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[鐢熶骇鍏ュ簱閫氳繃杞﹂棿鏌ユ壘鐢熶骇璁㈠崟]
+        public static ToMessage ProductInHouseWkshopOrder(string ordertype, string wkshopcode)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                if (ordertype == "Y") //鏈夋簮鍗�
+                {
+                    sql = @"select distinct AA.ordercode  from (
+                        select  A.m_po as ordercode  
+                        from TK_Wrk_Man A
+                        inner join TK_Wrk_Step B on A.wo_code=B.wo_code
+                        inner join TK_Wrk_Record S on B.wo_code=S.wo_code and B.step_code=S.step_code
+                        where S.style='B' and S.inbarcode<>'' and B.isend='Y' and A.m_po<>''  and S.good_qty>0 and S.good_qty>isnull(S.inhouseqty,0) and A.wkshp_code=@wkshopcode
+                        union all
+                        select  A.m_po as ordercode   
+                        from TK_Wrk_Man A
+                        inner join TK_Wrk_Step B on A.wo_code=B.wo_code
+                        inner join TK_Wrk_OutRecord S on B.wo_code=S.wo_code and B.step_code=S.step_code
+                        where S.style='S' and S.inbarcode<>'' and B.isend='Y' and A.m_po<>''  and S.sqty>0 and S.sqty>isnull(S.inhouseqty,0) and A.wkshp_code=@wkshopcode
+                        ) as AA";
+                }
+                if (ordertype == "N")
+                {
+                    sql = @"select distinct AA.ordercode  from (
+                            select  A.wo_code as ordercode  
+                            from TK_Wrk_Man A
+                            inner join TK_Wrk_Step B on A.wo_code=B.wo_code
+                            inner join TK_Wrk_Record S on B.wo_code=S.wo_code and B.step_code=S.step_code
+                            where S.style='B' and S.inbarcode<>'' and B.isend='Y' and A.m_po=''  and S.good_qty>0 and S.good_qty>isnull(S.inhouseqty,0) and A.wkshp_code=@wkshopcode
+                            union all
+                            select  A.wo_code as ordercode   
+                            from TK_Wrk_Man A
+                            inner join TK_Wrk_Step B on A.wo_code=B.wo_code
+                            inner join TK_Wrk_OutRecord S on B.wo_code=S.wo_code and B.step_code=S.step_code
+                            where S.style='S' and S.inbarcode<>'' and B.isend='Y' and A.m_po=''  and S.sqty>0 and S.sqty>isnull(S.inhouseqty,0) and A.wkshp_code=@wkshopcode
+                            ) as AA";
+                }
+
+                dynamicParams.Add("@wkshopcode", wkshopcode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.data = data;
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[鐢熶骇鍏ュ簱淇℃伅鏌ヨ]
+        public static ToMessage ProductInHouseOrderSearch(string wkshopcode, string erpordercode, string mesordercode, string partcode, string partname, string partspec, string startorderdate, string endorderdate)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (wkshopcode != "" && wkshopcode != null)
+                {
+                    search += "and AA.wkshp_code=@wkshopcode ";
+                    dynamicParams.Add("@wkshopcode", wkshopcode);
+                }
+                if (erpordercode != "" && erpordercode != null)
+                {
+                    search += "and AA.m_po like '%'+@erpordercode+'%' ";
+                    dynamicParams.Add("@erpordercode", erpordercode);
+                }
+                if (mesordercode != "" && mesordercode != null)
+                {
+                    search += "and AA.wo_code like '%'+@mesordercode+'%' ";
+                    dynamicParams.Add("@mesordercode", mesordercode);
+                }
+                if (partcode != "" && partcode != null)
+                {
+                    search += "and AA.partcode like '%'+@partcode+'%' ";
+                    dynamicParams.Add("@partcode", partcode);
+                }
+                if (partname != "" && partname != null)
+                {
+                    search += "and AA.partname like '%'+@partname+'%' ";
+                    dynamicParams.Add("@partname", partname);
+                }
+                if (partspec != "" && partspec != null)
+                {
+                    search += "and AA.partspec like '%'+@partspec+'%' ";
+                    dynamicParams.Add("@partspec", partspec);
+                }
+                if (startorderdate != "" && startorderdate != null)
+                {
+                    search += "and AA.lm_date between @startorderdate and @endorderdate ";
+                    dynamicParams.Add("@opencheckdate", startorderdate + " 00:00:00");
+                    dynamicParams.Add("@endorderdate", endorderdate + " 23:59:59");
+                }
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select *   from(
+                            select A.inbarcode,E.saleOrderid,isnull(E.saleOrderCode,'') as saleOrderCode,E.saleOrderDetailId,E.woid as mpoid,M.m_po,E.sbid,M.id as wo_id,A.wo_code,E.materiel_id,P.partcode,P.partname,P.partspec,E.unitid,E.unitcode,E.unitname,
+                            A.step_code,E.wkshp_id,M.wkshp_code,stck_id,K.code as stockcode,k.name as stockname,
+                            E.saleOrderqty,E.qty,M.plan_qty,A.good_qty,isnull(A.inhouseqty,0) as inhouseqty,A.good_qty-isnull(A.inhouseqty,0) as stinhouseqty,M.lm_date,A.style   
+                            from  TK_Wrk_Record A
+                            inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
+                            inner join TK_Wrk_Man M on S.wo_code=M.wo_code
+                            inner join TMateriel_Info P on M.materiel_code=P.partcode
+                            left join TKimp_Ewo E on M.sourceid=E.id
+                            left join T_Sec_Stck K on E.stck_code=K.code
+                            where A.style='B' and A.inbarcode<>'' and S.isend='Y' and A.good_qty>0
+                            union all
+                            select A.inbarcode,E.saleOrderid,isnull(E.saleOrderCode,'') as saleOrderCode,E.saleOrderDetailId,E.woid as mpoid,M.m_po,E.sbid,M.id as wo_id,A.wo_code,E.materiel_id,P.partcode,P.partname,P.partspec,E.unitid,E.unitcode,E.unitname,
+                            A.step_code,E.wkshp_id,M.wkshp_code,stck_id,K.code as stockcode,k.name as stockname,
+                            E.saleOrderqty,E.qty,M.plan_qty,A.sqty as sqty,isnull(A.inhouseqty,0) as inhouseqty,A.sqty-isnull(A.inhouseqty,0) as stinhouseqty,M.lm_date,A.style   
+                            from  TK_Wrk_OutRecord A
+                            inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
+                            inner join TK_Wrk_Man M on S.wo_code=M.wo_code
+                            inner join TMateriel_Info P on M.materiel_code=P.partcode
+                            left join TKimp_Ewo E on M.sourceid=E.id
+                            left join T_Sec_Stck K on E.stck_code=K.code
+                            where A.style='S' and A.inbarcode<>'' and S.isend='Y' and A.sqty>0
+                            ) as AA  where AA.good_qty>AA.inhouseqty " + search;
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.count = total;
+                mes.data = data;
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[鐢熶骇鍏ュ簱鑾峰彇鍗曟嵁鍙穄
+        public static ToMessage ProductInHouseOrderCodeSearch(string rightcode)
+        {
+            try
+            {
+                mes = SeachEncodeJob.EncodingSeach(rightcode);
+                return mes;
+
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[鐢熶骇鍏ュ簱鎻愪氦]
+        public static ToMessage ProductInHouseOrderSeave(string username, JObject obj)
+        {
+            var sql = "";
+            List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
+            var dynamicParams1 = new DynamicParameters();
+            try
+            {
+                string sub = obj["sub"].ToString();//鏄庣粏
+                string subsum = obj["subsum"].ToString();//姹囨��
+                //鑾峰彇鎶ュ伐鏄庣粏
+                JArray sub_arra = (JArray)Newtonsoft.Json.JsonConvert.DeserializeObject(sub);
+                //鑾峰彇姹囨��
+                JArray subsum_arra = (JArray)Newtonsoft.Json.JsonConvert.DeserializeObject(subsum);
+
+                //鍥炲啓鎶ュ伐璁板綍涓昏〃銆佸伐鍗曞伐搴忚〃宸插叆搴撴暟閲忋�佸啓鍏ES搴撳瓨琛�
+                for (int i = 0; i < sub_arra.Count; i++)
+                {
+                    if (sub_arra[i]["style"].ToString() == "B")
+                    {
+                        //鍥炲啓鎶ュ伐璁板綍涓昏〃鐨勫叆搴撴暟閲�
+                        sql = @"update TK_Wrk_Record set inhouseqty=inhouseqty+@stinhouseqty where inbarcode=@inbarcode";
+                        list.Add(new
+                        {
+                            str = sql,
+                            parm = new
+                            {
+                                stinhouseqty = decimal.Parse(sub_arra[i]["stinhouseqty"].ToString()),
+                                inbarcode = sub_arra[i]["inbarcode"].ToString()
+                            }
+                        });
+                    }
+                    if (sub_arra[i]["style"].ToString() == "S")
+                    {
+                        //鍥炲啓澶栧崗鏀舵枡璁板綍涓昏〃鐨勫叆搴撴暟閲�
+                        sql = @"update TK_Wrk_OutRecord set inhouseqty=inhouseqty+@stinhouseqty where inbarcode=@inbarcode";
+                        list.Add(new
+                        {
+                            str = sql,
+                            parm = new
+                            {
+                                stinhouseqty = decimal.Parse(sub_arra[i]["stinhouseqty"].ToString()),
+                                inbarcode = sub_arra[i]["inbarcode"].ToString()
+                            }
+                        });
+                    }
+                    //鍥炲啓宸ュ崟宸ュ簭琛ㄦ湯閬撳伐搴忓凡鍏ュ簱鏁伴噺
+                    sql = @"update TK_Wrk_Step set inhouseqty=inhouseqty+@stinhouseqty where wo_code=@wo_code and step_code=@step_code and isend='Y'";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            stinhouseqty = decimal.Parse(sub_arra[i]["stinhouseqty"].ToString()),
+                            wo_code = sub_arra[i]["wo_code"].ToString(),
+                            step_code = sub_arra[i]["step_code"].ToString()
+                        }
+                    });
+                    //鍐欏叆MES搴撳瓨琛�
+                    sql = @"insert into TK_WMS_Stock(hbillno,labcode,materiel_code,storehouse_code,qty,lm_user,lm_date)
+                        values(@hbillno,@labcode,@materiel_code,@storehouse_code,@qty,@lm_user,@lm_date)";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            hbillno = obj["head"]["hbillno"].ToString(),
+                            labcode = sub_arra[i]["inbarcode"].ToString(),
+                            materiel_code = sub_arra[i]["partcode"].ToString(),
+                            storehouse_code = sub_arra[i]["stockcode"].ToString(),
+                            qty = decimal.Parse(sub_arra[i]["stinhouseqty"].ToString()),
+                            lm_user = username,
+                            lm_date = DateTime.Now.ToString()
+                        }
+                    });
+                }
+                //鍐橫ES鍏ュ簱璁板綍涓昏〃
+                sql = @"insert into TK_WMS_Inwh_Main(docu_typecode,hbillno,hsoucenillnoid,hsoucenillno,saleorderid,saleordercode,status,wkshpcode,lm_user,lm_date)
+                        values(@docu_typecode,@hbillno,@hsoucenillnoid,@hsoucenillno,@saleorderid,@saleordercode,@status,@wkshpcode,@lm_user,@lm_date)";
+                list.Add(new
+                {
+                    str = sql,
+                    parm = new
+                    {
+                        docu_typecode = "1202",
+                        hbillno = obj["head"]["hbillno"].ToString(),
+                        hsoucenillnoid = obj["head"]["sourceVoucherId"].ToString(),
+                        hsoucenillno = obj["head"]["sourceVoucherCode"].ToString(),
+                        saleorderid = obj["head"]["saleOrderId"].ToString(),
+                        saleordercode = obj["head"]["saleOrderCode"].ToString(),
+                        status = "NEW",
+                        wkshpcode = obj["head"]["wkshpcode"].ToString(),
+                        lm_user = username,
+                        lm_date = DateTime.Now.ToString()
+                    }
+                });
+
+                //鑾峰彇ERP鍏ュ簱琛╯ql
+                //DataTable dt = DapperHelper.lissql("h_p_MesInErpProductWareHous");
+                //鍐欏叆ERP鍏ュ簱璁板綍涓昏〃
+                //sql = @"" + dt.Rows[0]["cname"].ToString() + "";
+                //list.Add(new
+                //{
+                //    str = sql,
+                //    parm = new
+                //    {
+                //        code = obj["head"]["hbillno"].ToString(),
+                //        sourceVoucherId = obj["head"]["sourceVoucherId"].ToString(),
+                //        sourceVoucherCode = obj["head"]["sourceVoucherCode"].ToString(),
+                //        saleOrderId = obj["head"]["saleOrderId"].ToString(),
+                //        saleOrderCode = obj["head"]["saleOrderCode"].ToString(),
+                //        rdDirectionFlag = obj["head"]["rdDirectionFlag"].ToString(),
+                //        makerid = obj["head"]["makerid"].ToString(),
+                //        maker = obj["head"]["maker"].ToString(),
+                //        accountingyear = obj["head"]["accountingyear"].ToString(),
+                //        VoucherYear = obj["head"]["VoucherYear"].ToString(),
+                //        VoucherPeriod = obj["head"]["VoucherPeriod"].ToString(),
+                //        ManufactureOrderCode = obj["head"]["ManufactureOrderCode"].ToString(),
+                //        idbusitype = obj["head"]["idbusitype"].ToString(),
+                //        iddepartment = obj["head"]["iddepartment"].ToString(),
+                //        idrdstyle = obj["head"]["idrdstyle"].ToString(),
+                //        idwarehouse = obj["head"]["idwarehouse"].ToString(),
+                //        voucherState = obj["head"]["voucherState"].ToString(),
+                //        idvouchertype = obj["head"]["idvouchertype"].ToString(),
+                //        voucherdate = obj["head"]["voucherdate"].ToString(),
+                //        madedate = obj["head"]["madedate"].ToString(),
+                //        createdtime = obj["head"]["createdtime"].ToString(),
+                //        DataSource = obj["head"]["DataSource"].ToString(),
+                //        idsourcevouchertype= obj["head"]["idsourcevouchertype"].ToString()
+
+                //    }
+                //});
+                //鍐欏叆ERP銆丮ES鍏ュ簱璁板綍瀛愯〃
+                for (int j = 0; j < subsum_arra.Count; j++)
+                {
+                    //鍐欏叆ERP鍏ュ簱璁板綍瀛愯〃
+                    //sql = @"" + dt.Rows[1]["cname"].ToString() + "";
+                    //list.Add(new
+                    //{
+                    //    str = sql,
+                    //    parm = new
+                    //    {
+                    //        code = subsum_arra[j]["code"].ToString(),
+                    //        arrivalQuantity = subsum_arra[j]["arrivalQuantity"].ToString(),
+                    //        quantity = subsum_arra[j]["quantity"].ToString(),
+                    //        compositionQuantity = subsum_arra[j]["compositionQuantity"].ToString(),
+                    //        baseQuantity = subsum_arra[j]["baseQuantity"].ToString(),
+                    //        sourceVoucherId = subsum_arra[j]["sourceVoucherId"].ToString(),
+                    //        sourceVoucherCode = subsum_arra[j]["sourceVoucherCode"].ToString(),
+                    //        sourceVoucherDetailId = subsum_arra[j]["sourceVoucherDetailId"].ToString(),
+                    //        idsourcevouchertype = subsum_arra[j]["idsourcevouchertype"].ToString(),
+                    //        saleOrderId = subsum_arra[j]["saleOrderId"].ToString(),
+                    //        saleOrderCode = subsum_arra[j]["saleOrderCode"].ToString(),
+                    //        saleOrderDetailId = subsum_arra[j]["saleOrderDetailId"].ToString(),
+                    //        ManufactureOrderId = subsum_arra[j]["ManufactureOrderId"].ToString(),
+                    //        ManufactureOrderCode = subsum_arra[j]["ManufactureOrderCode"].ToString(),
+                    //        ManufactureOrderDetailId = subsum_arra[j]["ManufactureOrderDetailId"].ToString(),
+                    //        idbusiTypeByMergedFlow = subsum_arra[j]["idbusiTypeByMergedFlow"].ToString(),
+                    //        idinventory = subsum_arra[j]["idinventory"].ToString(),
+                    //        idbaseunit = subsum_arra[j]["idbaseunit"].ToString(),
+                    //        idunit = subsum_arra[j]["idunit"].ToString(),
+                    //        idwarehouse = subsum_arra[j]["idwarehouse"].ToString(),
+                    //        SourceVoucherIdByMergedFlow = subsum_arra[j]["SourceVoucherIdByMergedFlow"].ToString(),
+                    //        SourceVoucherCodeByMergedFlow = subsum_arra[j]["SourceVoucherCodeByMergedFlow"].ToString(),
+                    //        SourceVoucherDetailIdByMergedFlow = subsum_arra[j]["SourceVoucherDetailIdByMergedFlow"].ToString(),
+                    //        idsourceVoucherTypeByMergedFlow = subsum_arra[j]["idsourceVoucherTypeByMergedFlow"].ToString(),
+                    //        createdtime = subsum_arra[j]["createdtime"].ToString(),
+                    //        DataSource = subsum_arra[j]["DataSource"].ToString()
+                    //    }
+                    //});
+                    //鍐欏叆ERP鐜板瓨閲忔煡璇㈣〃
+                    //sql = @"" + dt.Rows[2]["cname"].ToString() + "";
+                    //list.Add(new
+                    //{
+                    //    str = sql,
+                    //    parm = new
+                    //    {
+                    //        idinventory = subsum_arra[j]["idinventory"].ToString(),
+                    //        idwarehouse = subsum_arra[j]["idwarehouse"].ToString(),
+                    //        propertyName = "ProductForReceive",
+                    //        baseQuantity= subsum_arra[j]["quantity"].ToString(),
+                    //        IdMarketingOrgan="1",
+                    //        idbaseunit= subsum_arra[j]["idbaseunit"].ToString(),
+                    //        updated= DateTime.Now.ToString(),
+                    //        isCarriedForwardOut ="0",
+                    //        isCarriedForwardIn = "0"
+                    //    }
+                    //}); 
+
+
+
+                    //鍐欏叆MES鍏ュ簱璁板綍瀛愯〃
+                    sql = @"insert into TK_WMS_Inwh_Sub(hbillno,rownumber,materiel_code,storehouse_code,qty)
+                        values(@hbillno,@rownumber,@materiel_code,@storehouse_code,@qty)";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            hbillno = obj["head"]["hbillno"].ToString(),
+                            rownumber = subsum_arra[j]["rownumber"].ToString(),
+                            materiel_code = subsum_arra[j]["materiel_code"].ToString(),
+                            storehouse_code = subsum_arra[j]["warehouse"].ToString(),
+                            qty = decimal.Parse(subsum_arra[j]["quantity"].ToString())
+                        }
+                    });
+                }
+                //鏇存柊鍗曟嵁娴佹按鍙�
+                List<object> list1 = SeachEncodeJob.StrEncodingUpdate(obj["head"]["rightcode"].ToString(), obj["head"]["incbit"].ToString());
+                list.Add(list1[0]);
+                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
+
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3