From 9080469c5064156205eb967d18d7b5c9ebbd8f13 Mon Sep 17 00:00:00 2001
From: yhj <1836460075@qq.com>
Date: 星期四, 24 七月 2025 10:30:39 +0800
Subject: [PATCH] 采购保存mes记录

---
 JF_DataexchangeServer/DataexchangeServer/HandleData/AE_MES_ERP.cs         |  109 +++++++++++++++++++++++++++++++++++++++++++++---------
 /dev/null                                                                 |    0 
 JF_DataexchangeServer/DataexchangeServer/bin/Debug/DataexchangeServer.exe |    0 
 JF_DataexchangeServer/DataexchangeServer/obj/Debug/DataexchangeServer.pdb |    0 
 JF_DataexchangeServer/.vs/DataexchangeServer/v16/.suo                     |    0 
 JF_DataexchangeServer/DataexchangeServer/bin/Debug/DataexchangeServer.pdb |    0 
 JF_DataexchangeServer/DataexchangeServer/obj/Debug/DataexchangeServer.exe |    0 
 7 files changed, 91 insertions(+), 18 deletions(-)

diff --git a/JF_DataexchangeServer/.vs/DataexchangeServer/v16/.suo b/JF_DataexchangeServer/.vs/DataexchangeServer/v16/.suo
index 63e68cf..6959caa 100644
--- a/JF_DataexchangeServer/.vs/DataexchangeServer/v16/.suo
+++ b/JF_DataexchangeServer/.vs/DataexchangeServer/v16/.suo
Binary files differ
diff --git a/JF_DataexchangeServer/DataexchangeServer/HandleData/AE_MES_ERP.cs b/JF_DataexchangeServer/DataexchangeServer/HandleData/AE_MES_ERP.cs
index 65840d1..1124bac 100644
--- a/JF_DataexchangeServer/DataexchangeServer/HandleData/AE_MES_ERP.cs
+++ b/JF_DataexchangeServer/DataexchangeServer/HandleData/AE_MES_ERP.cs
@@ -1509,13 +1509,22 @@
                             {
 
                                 // 妫�鏌ヤ笅娓稿崟鎹� WOMDAA 鏄惁瀛樺湪褰卞搷鍚屾鐨勬暟鎹�
-                                string sqlCheck = string.Format(@"SELECT COUNT(*) FROM WOMDAA WHERE DAA014 = '{0}' AND DAA011 > 0", dr["TLA001"]);
+                                /* string sqlCheck2 = string.Format(@"SELECT COUNT(*) FROM WOMDAA WHERE DAA014 = '{0}' AND FSTATUS = 1", dr["TLA001"]);
+                                 int downstreamCount2 = Convert.ToInt32(_sqlHelper.GetSingle(sqlCheck2));
+ */
+
+                                //浠诲姟鏁板彧鑳藉彉澶т笉鑳藉彉灏�
+                                string sqlCheck = string.Format(@"SELECT nvl(CAA012,0) FROM womcaa WHERE caa001 = '{0}' ", dr["TLA001"]);
                                 int downstreamCount = Convert.ToInt32(_sqlHelper.GetSingle(sqlCheck));
 
-                                // 濡傛灉瀛樺湪涓嬫父鍗曟嵁涓旀暟閲� > 0锛屽垯杩斿洖澶辫触
-                                if (downstreamCount > 0)
+                                string sqlgds = string.Format(@"SELECT sum(daa008) FROM WOMDAA WHERE DAA014 = '{0}' AND FSTATUS = 1", dr["TLA001"]);
+                                int gds = Convert.ToInt32(_sqlHelper.GetSingle(sqlgds));
+                                
+                                int newTaskCount = Convert.ToInt32(dr["TLA012"]);
+                                // 濡傛灉宸叉帓浜у伐鍗曟暟澶т簬鏂板伐鍗曟暟锛屽垯杩斿洖澶辫触,涓旀帓闄ゆ湭鍚屾杩囩殑
+                                if (gds > newTaskCount && downstreamCount > 0 && gds != 0)
                                 {
-                                    ErrorMsg = string.Format("瀛樺湪涓嬫父鍗曟嵁锛屾棤娉曞悓姝ユ暟鎹�: 涓昏〃璁板綍 TLA001 = {0}", dr["TLA001"]);
+                                    ErrorMsg = string.Format("瀛樺湪宸叉帓宸ュ崟鏁板ぇ浜庝换鍔℃�绘暟锛屾棤娉曞悓姝ユ暟鎹�: 涓昏〃璁板綍 TLA001 = {0}", dr["TLA001"]);
                                     return false;
                                 }
                                 //2025-01-22 淇敼鍗曟嵁鐘舵�佸鏍�/鍙嶅鏍�
@@ -1584,6 +1593,7 @@
                         }
                         if (dt.TableName == "ERPWWTLA")
                         {
+                            
                             #region 鎶曟枡鍗曚富琛ㄧ殑澶勭悊                           
                             foreach (DataRow dr in dt.Rows)
                             {
@@ -1617,7 +1627,7 @@
                                      }*/
                                    string SQLF = string.Format(@"DELETE WOMCAA WHERE CAA001='{0}'", dr["WWTLA001"]);
                                     int B = _sqlHelper.ExecuteNonQuery(SQLF);
-                                    string SQLD = string.Format(@"DELETE WOMCAB WHERE CAB001='{0}' and WWLL_TYPE=1", dr["ERPID"]);
+                                    string SQLD = string.Format(@"DELETE WOMCAB WHERE CAB001='{0}' and WWLL_TYPE is not null", dr["ERPID"]);
                                     int D = _sqlHelper.ExecuteNonQuery(SQLD);
 
                                     sql = string.Format(@" INSERT INTO WOMCAA(ID,ERPID,CAA001,CAA002,CAA003,CAA004,CAA005,CAA006,CAA007,CAA008,CAA009,CAA010,CAA011,CAA012,CAA013,CAA014,CAA015,CAA016,CAA018,CAA019,CAA020,CAA021,FSTATUS,CAA022,GYS_NO,XS_NO,CG_NO,EBELN_LINE,tsbs,FSTATES,TYPEA)
@@ -1627,7 +1637,7 @@
                                 {
                                    string SQLF = string.Format(@"DELETE WOMCAA WHERE CAA001='{0}'", dr["WWTLA001"]);
                                     int B = _sqlHelper.ExecuteNonQuery(SQLF);
-                                    string SQLD = string.Format(@"DELETE WOMCAB WHERE CAB001='{0}' and WWLL_TYPE=1", dr["ERPID"]);
+                                    string SQLD = string.Format(@"DELETE WOMCAB WHERE CAB001='{0}' and WWLL_TYPE  is not null", dr["ERPID"]);
                                     int D = _sqlHelper.ExecuteNonQuery(SQLD);
                                 }
                             }
@@ -2125,13 +2135,44 @@
                                     SQLStringList.Add(sqlcr);
                                 }
                             }
-
-                            
-
-                           // string sqlcr = string.Format(@" insert into 
+                              
 
                         }
-                    }
+
+                        if ( dr["JA003"].ToString().Equals("鍙嶇粨妗� ", StringComparison.OrdinalIgnoreCase))
+                        {
+                            string daa014 = dr["JA001"].ToString();
+                            string sqlja = string.Format(@"update womdaa set daa018='鍙嶅畬宸�',WORK_BY='',DAA017='' where daa018='瀹屽伐' and WORK_BY='ERP缁撴' and daa014='" + daa014 + "'");
+                            SQLStringList.Add(sqlja);
+                            //鏌ヨ瑕佹彃鍏ュ伐鍗曚俊鎭�
+                            string SqlStr = string.Format(@"Select a.daa001,j.caa015,s.ITEM_NO,s.ITEM_NAME,a.daa029,s.ITEM_MODEL,nvl(max(lv.SQE_NUM),0),s.id
+from womdaa a left join GD_LVL lv on a.daa001=lv.DAA001
+         left join womcaa j
+on A.DAA021 = j.CAA020 and j.CAA001 = A.DAA014 left join v_mes_items s on a.daa002=s.id  WHERE a.daa018 ='瀹屽伐' and  WORK_BY='ERP缁撴' and 
+        a.daa014 = '" + daa014 + @"'
+group by a.daa001, j.caa015, s.ITEM_NO, s.ITEM_NAME, a.daa029, s.ITEM_MODEL, s.id ");
+                            DataTable tbQueue = _sqlHelper.ExecuteDataTable(SqlStr);
+                            //鏈夋暟鎹�
+                            if (tbQueue.Rows.Count > 0)
+                            {
+                                foreach (DataRow item in tbQueue.Rows)
+                                {
+                                    var daa001 = item[0];
+                                    /* var daa001 = item[1];
+                                     var daa001 = item[2];
+                                     var daa001 = item[3];
+                                     var daa001 = item[4];
+                                     var daa001 = item[5];*/
+                                    //insert
+                                    string sqlcr = string.Format(@" insert into GD_LVL(id, caa015, daa001, item_no, item_id, item_name, item_model, xt, xg_state, sg_time, xg_user, sqe_num) values (
+                            F_GETSEQNEXTVALUE('GD_LVL'), '{0}','{1}','{2}','{3}','{4}','{5}' ,'{6}','鍙嶅畬宸�',sysdate,'ERP鍙嶇粨妗�','{7}') ", item[1], item[0], item[2], item[7], item[3], item[5], item[4], item[6]);
+                                    SQLStringList.Add(sqlcr);
+                                }
+                            }
+                        }
+
+
+                        }
                     return _sqlHelper.ExecuteSqlTran(SQLStringList);
                     //鎻掑叆鍓嶅厛鍒犻櫎閲嶅閿�
                     // DeleteDataBeforeInsert("COMMAA", "ERPID", string.Join("','", IDList), "");
@@ -2384,7 +2425,9 @@
                                 DataRow dr = (DataRow)obj2;
                                 if (dr["FDOCUMENTSTATUS"].ToString() == "C")
                                 {
-                                    string sqlT = string.Format("SELECT count(*) cou FROM MES_ROH_IN WHERE EBELN='{0}'", dr["CGA001"]);
+
+                               
+                                        string sqlT = string.Format("SELECT count(*) cou FROM MES_ROH_IN WHERE EBELN='{0}'", dr["CGA001"]);
                                     int c = Convert.ToInt32(this._sqlHelper.GetSingle(sqlT));
                                     bool flag4 = c != 0;
                                     if (flag4)
@@ -2393,8 +2436,7 @@
                                         {
                                             string SQLF = string.Format("DELETE FROM MES_ROH_IN WHERE EBELN='{0}'", dr["CGA001"]);
                                             int B = this._sqlHelper.ExecuteNonQuery(SQLF);
-                                            string SQLD = string.Format("DELETE FROM  MES_ROH_IN_DATA WHERE EBELN='{0}'", dr["CGA001"]);
-                                            int D = this._sqlHelper.ExecuteNonQuery(SQLD);
+                                          
                                         }
                                         catch (Exception)
                                         {
@@ -2462,12 +2504,42 @@
                                 foreach (object obj3 in dt.Rows)
                                 {
                                     DataRow dr2 = (DataRow)obj3;
+                                    string erpid = dr2["ERPID"].ToString();
+                                    //鏅�氭枡
+                                    string urgencyStr = this._sqlHelper.GetSingle(string.Format(
+                                        "SELECT URGENCY FROM MES_ROH_IN_DATA WHERE ERPID='{0}'", erpid))?.ToString();
+                                  //閲囪喘瑕佹眰渚涘簲鍟嗛�佽揣鏃堕棿
+                                    string cgb024Str = this._sqlHelper.GetSingle(string.Format(
+                                        "SELECT CGB024 FROM MES_ROH_IN_DATA WHERE ERPID='{0}'", erpid))?.ToString();
+                                   //渚涘簲鍟嗘壙璇轰氦璐ф椂闂�
+                                    string gys_jhtimeStr = this._sqlHelper.GetSingle(string.Format(
+                                        "SELECT GYS_JHTIME FROM MES_ROH_IN_DATA WHERE ERPID='{0}'", erpid))?.ToString();
+                                    //璺熻繘澶囨敞
+                                    string gbbz = this._sqlHelper.GetSingle(string.Format(
+                                        "SELECT GBBZ FROM MES_ROH_IN_DATA WHERE ERPID='{0}'", erpid))?.ToString() ?? "";
+
+                                    string cgb = this._sqlHelper.GetSingle(string.Format("SELECT CGB FROM MES_ROH_IN_DATA WHERE ERPID='{0}'", erpid))?.ToString() ?? "";
+
+                                    string cgb025Str = this._sqlHelper.GetSingle(string.Format("SELECT CGB025 FROM MES_ROH_IN_DATA WHERE ERPID='{0}'", erpid))?.ToString();
+                                    string cgb026 = this._sqlHelper.GetSingle(string.Format("SELECT CGB026 FROM MES_ROH_IN_DATA WHERE ERPID='{0}'", erpid))?.ToString() ?? "";
+                                    string cgb028Str = this._sqlHelper.GetSingle(string.Format("SELECT CGB028 FROM MES_ROH_IN_DATA WHERE ERPID='{0}'", erpid))?.ToString();
+
+
+                                    // 杞崲绫诲瀷
+                                    string urgency = string.IsNullOrWhiteSpace(urgencyStr) ? "0" : urgencyStr; // number 涓嶅姞寮曞彿
+                                    string cgb024 = string.IsNullOrWhiteSpace(cgb024Str) ? "NULL" : $"TO_DATE('{Convert.ToDateTime(cgb024Str):yyyy-MM-dd HH:mm:ss}', 'yyyy-MM-dd HH24:MI:SS')";
+                                    string gys_jhtime = string.IsNullOrWhiteSpace(gys_jhtimeStr) ? "NULL" : $"TO_DATE('{Convert.ToDateTime(gys_jhtimeStr):yyyy-MM-dd HH:mm:ss}', 'yyyy-MM-dd HH24:MI:SS')";
+                                    string cgb025 = string.IsNullOrWhiteSpace(cgb025Str) ? "0" : cgb025Str;
+                                    string cgb028 = string.IsNullOrWhiteSpace(cgb028Str) ? "NULL" : $"TO_DATE('{Convert.ToDateTime(cgb028Str):yyyy-MM-dd HH:mm:ss}', 'yyyy-MM-dd HH24:MI:SS')";
+                                    string SQLD = string.Format("DELETE FROM  MES_ROH_IN_DATA WHERE ERPID='{0}'", erpid);
+                                    int D = this._sqlHelper.ExecuteNonQuery(SQLD);
+                                 
                                     // 鍒ゆ柇 CGB019 鏄惁绛変簬 MENGE锛岃嫢鏄垯 CGB025 涓� 1锛屽惁鍒欎负 0
-                                  int cgb025Value = (dr2["CGB008"].ToString() == dr2["CGB014"].ToString()) ? 1 : 0;
+                                    int cgb025Value = (dr2["CGB008"].ToString() == dr2["CGB014"].ToString()) ? 1 : 0;
                                   //  int cgb025Value2 = dr2["CGB008"] == dr2["CGB014"] ? 1 : 0;
 
-                                    string sql2 = string.Format(" INSERT INTO MES_ROH_IN_DATA(ID,ERPID,EBELN,CGB002,MATNR,CGB004,CGB005,CGB006,CGB007,MENGE,CGB009,CGB010,CGB011,CGB012,CGB013,CGB014,CGB015,CGB016,CGB018,CGB020,CGB021,CGB022,CGB023,CGB027,CGB029,cgb024,TB_TIME,CGB019,FMRPCLOSESTATUS,FMRPTERMINATESTATUS,cgb025) " +
-                                        "VALUES (SEQ_BASEINFO_ID.nextval,'{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}','{16}','{17}','18','{19}','{20}','{21}','{22}','{23}',TIMESTAMP '{24}',sysdate,'{25}','{26}','{27}','{28}') ", new object[]
+                                    string sql2 = string.Format(" INSERT INTO MES_ROH_IN_DATA(ID,ERPID,EBELN,CGB002,MATNR,CGB004,CGB005,CGB006,CGB007,MENGE,CGB009,CGB010,CGB011,CGB012,CGB013,CGB014,CGB015,CGB016,CGB018,CGB020,CGB021,CGB022,CGB023,CGB027,CGB029,cgb024,TB_TIME,CGB019,FMRPCLOSESTATUS,FMRPTERMINATESTATUS,URGENCY, GYS_JHTIME, GBBZ, CGB, CGB025, CGB026, CGB028) " +
+                                        "VALUES (SEQ_BASEINFO_ID.nextval,'{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}','{16}','{17}','18','{19}','{20}','{21}','{22}','{23}',TIMESTAMP '{24}',sysdate,'{25}','{26}','{27}','{28}',{29},'{30}','{31}','{32}','{33}',{34}) ", new object[]
                                     {
                                         dr2["ERPID"],
                                         dr2["CGB001"],
@@ -2497,7 +2569,8 @@
                                          dr2["CGB014"],
                                          dr2["FMRPCloseStatus"],
                                          dr2["FMRPTerminateStatus"],
-                                         cgb025Value
+                                       urgency, gys_jhtime, gbbz.Replace("'", "''"), cgb.Replace("'", "''"),
+                                    cgb025, cgb026.Replace("'", "''"), cgb028
 
                                     });
                                     SQLStringListT.Add(sql2);
diff --git a/JF_DataexchangeServer/DataexchangeServer/bin/Debug.zip b/JF_DataexchangeServer/DataexchangeServer/bin/Debug.zip
deleted file mode 100644
index f4c2d88..0000000
--- a/JF_DataexchangeServer/DataexchangeServer/bin/Debug.zip
+++ /dev/null
Binary files differ
diff --git a/JF_DataexchangeServer/DataexchangeServer/bin/Debug/DataexchangeServer.exe b/JF_DataexchangeServer/DataexchangeServer/bin/Debug/DataexchangeServer.exe
index b1f3726..cb305cc 100644
--- a/JF_DataexchangeServer/DataexchangeServer/bin/Debug/DataexchangeServer.exe
+++ b/JF_DataexchangeServer/DataexchangeServer/bin/Debug/DataexchangeServer.exe
Binary files differ
diff --git a/JF_DataexchangeServer/DataexchangeServer/bin/Debug/DataexchangeServer.pdb b/JF_DataexchangeServer/DataexchangeServer/bin/Debug/DataexchangeServer.pdb
index 75e61ab..eb037c8 100644
--- a/JF_DataexchangeServer/DataexchangeServer/bin/Debug/DataexchangeServer.pdb
+++ b/JF_DataexchangeServer/DataexchangeServer/bin/Debug/DataexchangeServer.pdb
Binary files differ
diff --git a/JF_DataexchangeServer/DataexchangeServer/obj/Debug/DataexchangeServer.exe b/JF_DataexchangeServer/DataexchangeServer/obj/Debug/DataexchangeServer.exe
index b1f3726..cb305cc 100644
--- a/JF_DataexchangeServer/DataexchangeServer/obj/Debug/DataexchangeServer.exe
+++ b/JF_DataexchangeServer/DataexchangeServer/obj/Debug/DataexchangeServer.exe
Binary files differ
diff --git a/JF_DataexchangeServer/DataexchangeServer/obj/Debug/DataexchangeServer.pdb b/JF_DataexchangeServer/DataexchangeServer/obj/Debug/DataexchangeServer.pdb
index 75e61ab..eb037c8 100644
--- a/JF_DataexchangeServer/DataexchangeServer/obj/Debug/DataexchangeServer.pdb
+++ b/JF_DataexchangeServer/DataexchangeServer/obj/Debug/DataexchangeServer.pdb
Binary files differ

--
Gitblit v1.9.3