From 7ff74f599084561338eef1230db5aa45f74565f8 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期一, 15 四月 2024 18:03:33 +0800
Subject: [PATCH] 1.ERP订单关闭增加单据id 2.MES工单关闭增加源单id关联

---
 VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs |   61 +++++++++++++++++++-----------
 1 files changed, 38 insertions(+), 23 deletions(-)

diff --git a/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs b/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
index 1ac607b..3337a00 100644
--- a/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
@@ -93,7 +93,7 @@
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
                 var sql = @"select A.id, A.status,A.wo,A.materiel_code as partcode,B.partname,B.partspec,A.qty,A.relse_qty,A.wkshp_code,C.torg_name as wkshp_name,
-                            A.stck_code,D.name as stck_name,A.saleOrderCode,A.saleOrderDeliveryDate,A.planstartdate,A.planenddate,U.username as createuser,A.createdate,A.sbid 
+                            A.stck_code,D.name as stck_name,A.saleOrderCode,A.saleOrderDeliveryDate,A.planstartdate,A.planenddate,U.username as createuser,A.createdate,A.sbid,A.clerkuser
                             from TKimp_Ewo A
                             left join TMateriel_Info B on A.materiel_code=B.partcode
                             left join TOrganization C on A.wkshp_code=C.torg_code
@@ -118,7 +118,7 @@
         #endregion
 
         #region[ERP璁㈠崟涓嬭揪]
-        public static ToMessage MarkSaveErpOrder(string erporderid, string sbid, string erpordercode, string saleordercode, string partcode, string wkshopcode, string warehousecode, string erpqty, string markqty, string ordernum, string relse_qty, string saleOrderDeliveryDate, User us)
+        public static ToMessage MarkSaveErpOrder(string erporderid, string sbid, string erpordercode, string saleordercode, string partcode, string wkshopcode, string warehousecode, string erpqty, string markqty, string ordernum, string relse_qty, string saleOrderDeliveryDate,string clerkuser, User us)
         {
             var sql = "";
             List<object> list = new List<object>();
@@ -156,7 +156,7 @@
                     }
                     if (i == Convert.ToInt32(ordernum))  //鏈�鍚庝竴鍗曟椂
                     {
-                        sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,stck_code,sbid,materiel_code,sourceid,m_po,lm_user,lm_date,saleOrderCode,saleOrderDeliveryDate,data_sources,isstep) values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@stck_code,@sbid,@materiel_code,@sourceid,@m_po,@username,@CreateDate,@saleOrderCode,@saleOrderDeliveryDate,@data_sources,@isstep)";
+                        sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,stck_code,sbid,materiel_code,sourceid,m_po,lm_user,lm_date,saleOrderCode,saleOrderDeliveryDate,data_sources,isstep,clerkuser) values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@stck_code,@sbid,@materiel_code,@sourceid,@m_po,@username,@CreateDate,@saleOrderCode,@saleOrderDeliveryDate,@data_sources,@isstep,@clerkuser)";
                         list.Add(new
                         {
                             str = sql,
@@ -177,7 +177,8 @@
                                 saleOrderCode = saleordercode,
                                 saleOrderDeliveryDate = Convert.ToDateTime(saleOrderDeliveryDate),
                                 data_sources = "ERP",
-                                isstep = "N"  //鏄惁鍏宠仈宸ュ簭
+                                isstep = "N",  //鏄惁鍏宠仈宸ュ簭
+                                clerkuser= clerkuser //閿�鍞鍗曚笟鍔″憳
                             }
                         });
                         sumqty = sumqty + (decimal.Parse(markqty) - sumqty);
@@ -185,7 +186,7 @@
                     else
                     {
 
-                        sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,stck_code,sbid,materiel_code,sourceid,m_po,lm_user,lm_date,saleOrderCode,saleOrderDeliveryDate,data_sources,isstep) values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@stck_code,@sbid,@materiel_code,@sourceid,@m_po,@username,@CreateDate,@saleOrderCode,@saleOrderDeliveryDate,@data_sources,@isstep)";
+                        sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,stck_code,sbid,materiel_code,sourceid,m_po,lm_user,lm_date,saleOrderCode,saleOrderDeliveryDate,data_sources,isstep,clerkuser) values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@stck_code,@sbid,@materiel_code,@sourceid,@m_po,@username,@CreateDate,@saleOrderCode,@saleOrderDeliveryDate,@data_sources,@isstep,@clerkuser)";
                         list.Add(new
                         {
                             str = sql,
@@ -206,7 +207,8 @@
                                 saleOrderCode = saleordercode,
                                 saleOrderDeliveryDate = Convert.ToDateTime(saleOrderDeliveryDate),
                                 data_sources = "ERP",
-                                isstep = "N"//鏄惁鍏宠仈宸ュ簭
+                                isstep = "N",//鏄惁鍏宠仈宸ュ簭
+                                clerkuser= clerkuser
                             }
                         });
                     }
@@ -281,12 +283,13 @@
             {
                 list.Clear();
                 string result = "";
-                var groupedModels = obj.GroupBy(m => m.erpordercode);
+                //var groupedModels = obj.GroupBy(m => m.erpordercode);
+                var groupedModels = obj.GroupBy(s => s.erpordercode).Select(g => new { erpordercode = g.Key }).ToList();
                 foreach (var group in groupedModels)
                 {
-                    string erpordercode = group.Key;
+                    string erpordercode = group.erpordercode;
                     int count = 1;
-                    foreach (var model in group)
+                    foreach (var model in obj.Where(s => s.erpordercode==erpordercode).ToList())
                     {
                         //鑾峰彇褰撳墠鏈�澶у伐鍗曞彿
                         sql = @"select isnull(max(cast(substring(wo_code,charindex('_',wo_code)+1,len(wo_code)-charindex('_',wo_code)) as numeric)),0) as worknumb   
@@ -297,7 +300,7 @@
                         string wo = model.erpordercode + "_" + (num + count);
                         result += wo.ToString() + ",";
                         //鍐欏叆宸ュ崟琛�
-                        sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,stck_code,sbid,materiel_code,sourceid,m_po,lm_user,lm_date,saleOrderCode,saleOrderDeliveryDate,data_sources,isstep) values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@stck_code,@sbid,@materiel_code,@sourceid,@m_po,@username,@CreateDate,@saleOrderCode,@saleOrderDeliveryDate,@data_sources,@isstep)";
+                        sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,stck_code,sbid,materiel_code,sourceid,m_po,lm_user,lm_date,saleOrderCode,saleOrderDeliveryDate,data_sources,isstep,clerkuser) values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@stck_code,@sbid,@materiel_code,@sourceid,@m_po,@username,@CreateDate,@saleOrderCode,@saleOrderDeliveryDate,@data_sources,@isstep,@clerkuser)";
                         list.Add(new
                         {
                             str = sql,
@@ -318,7 +321,8 @@
                                 saleOrderCode = model.saleordercode,
                                 saleOrderDeliveryDate = Convert.ToDateTime(model.saleOrderDeliveryDate),
                                 data_sources = "ERP",
-                                isstep = "N"  //鏄惁鍏宠仈宸ュ簭
+                                isstep = "N",  //鏄惁鍏宠仈宸ュ簭
+                                clerkuser= model.clerkuser //閿�鍞鍗曚笟鍔″憳
                             }
                         });
 
@@ -379,15 +383,17 @@
             var dynamicParams = new DynamicParameters();
             try
             {
-                sql = @"select *  from TK_Wrk_Man where m_po=@erpordercode and status<> 'CLOSED'";
+                sql = @"select *  from TK_Wrk_Man where m_po=@erpordercode and sourceid=@sourceid and status<> 'CLOSED'";
                 dynamicParams.Add("@erpordercode", erpordercode);
+                dynamicParams.Add("@sourceid", erporderid);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
                 if (data.Rows.Count > 0)
                 {
                     mes.code = "300";
                     mes.count = 0;
-                    mes.message = "褰撳墠璁㈠崟鏈変笅杈炬湭鍏抽棴鐨凪ES宸ュ崟,璁㈠崟涓嶅厑璁稿叧闂�,璇峰厛鍒犻櫎鎴栧叧闂浉鍏冲伐鍗�!";
+                    mes.message = "褰撳墠璁㈠崟浜у搧鏈変笅杈炬湭鍏抽棴鐨凪ES宸ュ崟,璁㈠崟涓嶅厑璁稿叧闂�,璇峰厛鍒犻櫎鎴栧叧闂浉鍏冲伐鍗�!";
                     mes.data = null;
+                    return mes;
                 }
                 else
                 {
@@ -579,7 +585,7 @@
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
                 var sql = @"select A.id, A.status,A.wotype,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.plan_qty,A.wkshp_code,C.torg_name as wkshp_name,
-                            A.stck_code,D.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.sourceid,A.m_po,A.saleOrderDeliveryDate,W.saleOrderCode,U.username as lm_user,A.lm_date,A.data_sources,A.isstep
+                            A.stck_code,D.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.sourceid,A.m_po,A.saleOrderDeliveryDate,W.saleOrderCode,U.username as lm_user,A.lm_date,A.data_sources,A.isstep,A.clerkuser
                             from TK_Wrk_Man A
                             left join TKimp_Ewo W on A.m_po=W.wo and A.materiel_code=W.materiel_code and A.sbid=W.sbid
                             left join TMateriel_Info B on A.materiel_code=B.partcode
@@ -1043,12 +1049,16 @@
             try
             {
                 //MES宸ュ崟鏌ユ壘鍘嗗彶寮曠敤鏈�鏂板伐搴忎俊鎭�
-                sql = @"select S.wo_code,S.seq,S.step_code,S.stepprice,isbott,isend   from (
-                        select top 1 wo_code   from TK_Wrk_Man  
-                        where wkshp_code=@wkshopcode and materiel_code=@partcode
-                        order by lm_date desc
-                        ) as A
-                        inner join TK_Wrk_Step S on A.wo_code=S.wo_code";
+                sql = @"select S.wo_code,S.seq,S.step_code,S.stepprice,isbott,isend
+                        from TK_Wrk_Step S
+                        inner join (
+                        select top 1 A.wo_code   from TK_Wrk_Man A
+                        inner join TK_Wrk_Step S on A.wo_code=S.wo_code
+                        where A.materiel_code=@partcode and A.wkshp_code=@wkshopcode
+                        order by A.lm_date desc
+                        ) as W on S.wo_code=W.wo_code
+                        left join TStep  T on S.step_code=T.stepcode
+                        order by S.seq";
                 dynamicParams.Add("@wkshopcode", wkshopcode);
                 dynamicParams.Add("@partcode", partcode);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
@@ -1206,7 +1216,7 @@
                 var sql = @"select A.id, A.status,A.wotype,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.plan_qty,A.wkshp_code,C.torg_name as wkshp_name,
                             A.stck_code,D.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.sourceid,A.m_po,A.saleOrderDeliveryDate,W.saleOrderCode,U.username as lm_user,A.lm_date,A.data_sources
                             from TK_Wrk_Man A
-                            left join TKimp_Ewo W on A.m_po=W.wo and A.materiel_code=W.materiel_code
+                            left join TKimp_Ewo W on A.m_po=W.wo and A.materiel_code=W.materiel_code and A.sourceid=W.id
                             left join TMateriel_Info B on A.materiel_code=B.partcode
                             left join TOrganization C on A.wkshp_code=C.torg_code
                             left join TSecStck D on A.stck_code=D.code 
@@ -3389,12 +3399,17 @@
 
 
         #region[鐢熶骇鎵ц,鎶ュ伐瀹℃牳鍒楄〃鏁版嵁鏌ヨ鎺ュ彛]
-        public static ToMessage MesOrderStepReportVerifySearch(string wkshopcode, string wo_code, string partnumber, string partname, string partspec, string stepname, string reportuser, string reportdateopendate, string reportdateclosedate, int startNum, int endNum, string prop, string order)
+        public static ToMessage MesOrderStepReportVerifySearch(string reviewstatus, string wkshopcode, string wo_code, string partnumber, string partname, string partspec, string stepname, string reportuser, string reportdateopendate, string reportdateclosedate, int startNum, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
             try
             {
+                if (reviewstatus != "" && reviewstatus != null)
+                {
+                    search += "and AA.verify=@reviewstatus ";
+                    dynamicParams.Add("@reviewstatus", reviewstatus);
+                }
                 if (wkshopcode != "" && wkshopcode != null)
                 {
                     search += "and AA.wkshp_code=@wkshopcode ";
@@ -3483,7 +3498,7 @@
                             left join TCustomer E on A.wx_code = E.code 
                             left join TCustomer C on A.wx_code=C.code
                             where A.style = 'S' and B.style = 'S' and M.status<>'CLOSED'
-                            ) as AA where" + search;
+                            ) as AA where " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
                 mes.message = "鏌ヨ鎴愬姛!";

--
Gitblit v1.9.3