From ca024b15dcd1b737af09943cc28ee1ca8b798a30 Mon Sep 17 00:00:00 2001
From: duhe <226547893@qq.com>
Date: 星期一, 08 十二月 2025 16:09:16 +0800
Subject: [PATCH] 1

---
 WebAPI/Controllers/数据同步/小诸葛同步/XZG_DataSynchronizationController.cs |   74 ++++++++++++++++++++----------------
 1 files changed, 41 insertions(+), 33 deletions(-)

diff --git "a/WebAPI/Controllers/\346\225\260\346\215\256\345\220\214\346\255\245/\345\260\217\350\257\270\350\221\233\345\220\214\346\255\245/XZG_DataSynchronizationController.cs" "b/WebAPI/Controllers/\346\225\260\346\215\256\345\220\214\346\255\245/\345\260\217\350\257\270\350\221\233\345\220\214\346\255\245/XZG_DataSynchronizationController.cs"
index 5e4f9f1..245a062 100644
--- "a/WebAPI/Controllers/\346\225\260\346\215\256\345\220\214\346\255\245/\345\260\217\350\257\270\350\221\233\345\220\214\346\255\245/XZG_DataSynchronizationController.cs"
+++ "b/WebAPI/Controllers/\346\225\260\346\215\256\345\220\214\346\255\245/\345\260\217\350\257\270\350\221\233\345\220\214\346\255\245/XZG_DataSynchronizationController.cs"
@@ -558,7 +558,8 @@
         #endregion
 
         #region erp鏁版嵁搴撳悕绉�
-        string erpDatabaseName = "AIS20210811135644..";
+        //string erpDatabaseName = "AIS20210811135644..";           //47閲戣澏浜戞暟鎹簱鍚嶇О
+        string erpDatabaseName = "AIS20201117213251..";             //涓夊崌閲戣澏浜戞暟鎹簱鍚嶇О
         #endregion
 
         #region 鑾峰彇鏈嶅姟鍦板潃
@@ -652,7 +653,7 @@
                 //鐢熶骇璁㈠崟鍚屾锛坋rp->灏忚钁涳級
                 await icmoInfoSyncFromERPToXZG();
                 //鐢熶骇姹囨姤鍗曞悓姝�(灏忚钁�->erp)
-                await icmoReportInfoSyncFromXZGToERP();
+                //await icmoReportInfoSyncFromXZGToERP();
 
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
@@ -734,10 +735,10 @@
                 {"key", DBUtility.ClsPub.isStrNull(material.key)},
                 {"productName", DBUtility.ClsPub.isStrNull(material.productName)},
                 {"partNum",DBUtility.ClsPub.isStrNull(material.partNum)},
-                {"sepc", DBUtility.ClsPub.isStrNull(material.sepc)},
+                {"Spec", DBUtility.ClsPub.isStrNull(material.sepc)},
                 {"weight", DBUtility.ClsPub.isStrNull(material.weight)},
                 {"headWeight", DBUtility.ClsPub.isStrNull(material.headWeight)},
-                {"cycletime", DBUtility.ClsPub.isStrNull(material.cycleTime)},
+                //{"cycletime", DBUtility.ClsPub.isStrNull(material.cycleTime)},
                 {"fightsPartnum", DBUtility.ClsPub.isStrNull(material.flightsPartnum)},
                 {"comments", DBUtility.ClsPub.isStrNull(material.comments)},
                 {"colorName", DBUtility.ClsPub.isStrNull(material.colorName)},
@@ -780,7 +781,7 @@
                 {"productName", DBUtility.ClsPub.isStrNull(material.productName)},
                 {"partNum",DBUtility.ClsPub.isStrNull(material.partNum)},
                 {"cycletime", DBUtility.ClsPub.isStrNull(material.cycleTime)},
-                {"sepc", DBUtility.ClsPub.isStrNull(material.sepc)},
+                {"Spec", DBUtility.ClsPub.isStrNull(material.sepc)},
                 {"weight", DBUtility.ClsPub.isStrNull(material.weight)},
                 {"headWeight", DBUtility.ClsPub.isStrNull(material.headWeight)},
                 {"fightsPartnum", DBUtility.ClsPub.isStrNull(material.flightsPartnum)},
@@ -827,20 +828,25 @@
 	                            ,'CLD-ERP瀵煎叆' HRemark
 	                            ,unit.FNAME HUnitName
                                 ,convert(varchar(100),a.FMODIFYDATE,20) HUpdateDate
-                            from AIS20210811135644..T_BD_MATERIAL a with(nolock)
-                            inner join AIS20210811135644..T_BD_MATERIAL_L l with(nolock) on a.FMATERIALID=l.FMATERIALID 
-                            inner join AIS20210811135644..T_BD_MATERIALSTOCK s with(nolock) on a.FMATERIALID=s.FMATERIALID 
-                            inner join AIS20210811135644..T_BD_Unit_L unit with(nolock) on isnull(s.FSTOREUNITID,0) = unit.FUNITID
+                            from " +  erpDatabaseName + @"T_BD_MATERIAL a with(nolock)
+                            inner join " +  erpDatabaseName + @"T_BD_MATERIAL_L l with(nolock) on a.FMATERIALID=l.FMATERIALID 
+                            inner join " +  erpDatabaseName + @"T_BD_MATERIALBASE b with(nolock) on a.FMATERIALID=b.FMATERIALID 
+                            inner join " +  erpDatabaseName + @"T_BD_MATERIALSTOCK s with(nolock) on a.FMATERIALID=s.FMATERIALID 
+                            inner join " +  erpDatabaseName + @"T_BD_MATERIALPRODUCE proce with(nolock) on a.FMATERIALID = proce.FMATERIALID
+                            inner join " +  erpDatabaseName + @"T_BD_Unit_L unit with(nolock) on isnull(s.FSTOREUNITID,0) = unit.FUNITID
                             Where l.FLOCALEID=2052
                             and unit.FLOCALEID = 2052
                             and a.FFORBIDSTATUS='A'
+                            and a.FUSEORGID = 1
+                            and proce.FWORKSHOPID = 477069                   --鐢熶骇杞﹂棿(477069锛氭敞濉戣溅闂�)
+                            and b.FErpClsID = 2                             --鐗╂枡灞炴��(2锛氳嚜鍒�)
                             and
 	                            (
-		                             convert(varchar(100),a.FCREATEDATE,23) >= convert(varchar(100),DATEADD(day,-7,getdate()),23)
+		                             convert(varchar(100),a.FCREATEDATE,23) >= convert(varchar(100),DATEADD(day,-1,getdate()),23)
 		                             or
-		                             convert(varchar(100),a.FMODIFYDATE,23) >= convert(varchar(100),DATEADD(day,-7,getdate()),23)
+		                             convert(varchar(100),a.FMODIFYDATE,23) >= convert(varchar(100),DATEADD(day,-1,getdate()),23)
 	                            )";
-                DataSet ds = oCN.RunProcReturn(sql, "AIS20210811135644..T_BD_MATERIAL");
+                DataSet ds = oCN.RunProcReturn(sql, "" +  erpDatabaseName + @"T_BD_MATERIAL");
                 if (ds != null && ds.Tables.Count > 0)
                 {
                     for(int i = 0; i < ds.Tables[0].Rows.Count; i++)
@@ -1097,7 +1103,7 @@
                 List<ICMO> icmos = new List<ICMO>();
                 string sql = @"select 
 	                            cast(a.FBILLNO as varchar(100)) + '_' + cast(b.FSEQ as varchar(10)) + '_' +  cast(b.FENTRYID as varchar(10)) 璁″垝鍗曞彿
-	                            ,cast(b.FQTY as int) 璁″垝鏁伴噺
+	                            ,cast(b.FQTY as int) - cast(c.FSTOCKINQUAAUXQTY as int) 璁″垝鏁伴噺
 	                            ,m.FNUMBER 浜у搧缂栧彿
 	                            ,convert(varchar(100),b.FPLANSTARTDATE,20) 璁″垝寮�宸ユ棩鏈�
 	                            ,convert(varchar(100),b.FPLANFINISHDATE,20) 璁″垝瀹屽伐鏃ユ湡
@@ -1109,25 +1115,27 @@
 	                            ,'' 鑹茬矇鍚嶇О
 	                            ,'' 鏉愭枡缂栧彿
 	                            ,'' 鏉愭枡鍚嶇О
-	                            ,a.FBILLNO 璁㈠崟缂栧彿
+	                            ,ISNULL(b.F_sans_Text,'') 璁㈠崟缂栧彿
 	                            ,ISNULL(convert(varchar(100),c.FSTARTDATE ,20),'') 寮�宸ユ棩鏈�
 	                            ,convert(varchar(100),a.FMODIFYDATE,20) 淇敼鏃ユ湡
-                            from AIS20210811135644..T_PRD_MO as a
-                            inner join AIS20210811135644..T_PRD_MOENTRY as b with(nolock) on a.FID = b.FID
-                            inner join AIS20210811135644..T_PRD_MOENTRY_A as c with(nolock) on b.FID = c.FID and b.FEntryID = c.FEntryID
-                            inner join AIS20210811135644..T_BD_MATERIAL as m with(nolock) on b.FMATERIALID = m.FMATERIALID
-                            inner join AIS20210811135644..T_BD_MATERIAL_L as m_l with(nolock) on m.FMATERIALID=m_l.FMATERIALID 
+                            from " +  erpDatabaseName + @"T_PRD_MO as a
+                            inner join " +  erpDatabaseName + @"T_PRD_MOENTRY as b with(nolock) on a.FID = b.FID
+                            inner join " +  erpDatabaseName + @"T_PRD_MOENTRY_A as c with(nolock) on b.FID = c.FID and b.FEntryID = c.FEntryID
+                            inner join " +  erpDatabaseName + @"T_BD_MATERIAL as m with(nolock) on b.FMATERIALID = m.FMATERIALID
+                            inner join " +  erpDatabaseName + @"T_BD_MATERIAL_L as m_l with(nolock) on m.FMATERIALID=m_l.FMATERIALID 
                             where m_l.FLOCALEID=2052
                             and isnull(a.FAPPROVERID,0)<> 0				--宸茬粡瀹℃牳
                             and isnull(c.fstatus,0) in (4)					--涓氬姟鐘舵�侊紙1:璁″垝锛�2:璁″垝纭锛�3:涓嬭揪锛�4:寮�宸ワ紱5:瀹屽伐锛�6:缁撴锛�
+                            and b.FWORKSHOPID in (477069)                   --鐢熶骇杞﹂棿(477069锛氭敞濉戣溅闂�)
+                            --and a.FBillNo = 'MO233207'
                             and 
 	                            (
-	                            convert(varchar(100),a.fmodifydate,23) >= convert(varchar(100),dateadd(day,-7,getdate()),23)
+	                            convert(varchar(100),a.fmodifydate,23) >= convert(varchar(100),dateadd(day,-1,getdate()),23)
 	                            or
-	                            convert(varchar(100),c.fstartdate ,23) >= convert(varchar(100),dateadd(day,-7,getdate()),23)
+	                            convert(varchar(100),c.fstartdate ,23) >= convert(varchar(100),dateadd(day,-1,getdate()),23)
 	                            )
                             --and cast(a.FBILLNO as varchar(100)) + '_' + cast(b.FSEQ as varchar(10)) = 'MO000269_1'";
-                DataSet ds = oCN.RunProcReturn(sql, "AIS20210811135644..T_PRD_MO");
+                DataSet ds = oCN.RunProcReturn(sql, "" +  erpDatabaseName + @"T_PRD_MO");
                 if (ds != null && ds.Tables.Count > 0)
                 {
                     for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
@@ -1302,8 +1310,8 @@
                 {
                     for(int j=0;j< iCMOReportListResponse.data[i].data.Count; j++)
                     {
-                        string sql = "select * from AIS20210811135644..T_PRD_MORPT where FBillNo = '" + iCMOReportListResponse.data[i].data[j].produceReportId + "'";
-                        DataSet ds_erp = oCN.RunProcReturn(sql, "AIS20210811135644..T_PRD_MORPT");
+                        string sql = "select * from " +  erpDatabaseName + @"T_PRD_MORPT where FBillNo = '" + iCMOReportListResponse.data[i].data[j].produceReportId + "'";
+                        DataSet ds_erp = oCN.RunProcReturn(sql, "" +  erpDatabaseName + @"T_PRD_MORPT");
                         if(ds_erp!=null&ds_erp.Tables[0].Rows.Count == 0)
                         {
                             iCMOReportList.Add(iCMOReportListResponse.data[i].data[j]);
@@ -1423,13 +1431,13 @@
 
                     string sql_judgeICMOStatus = @"select distinct 
 	                                                mo.FBILLNO 
-                                                from AIS20210811135644..T_PRD_MO mo
-                                                inner join AIS20210811135644..T_PRD_MOENTRY_A a on mo.FID=a.FID 
+                                                from " +  erpDatabaseName + @"T_PRD_MO mo
+                                                inner join " +  erpDatabaseName + @"T_PRD_MOENTRY_A a on mo.FID=a.FID 
                                                 where a.FSTATUS in (5,6)
                                                 and mo.FBILLNO = '" + HICMOBillNo + "' " +
                                                 "and a.FENTRYID = " + HICMOEntryID;
                     DataSet Ds2;
-                    Ds2 = oCN.RunProcReturn(sql_judgeICMOStatus, "AIS20210811135644..T_PRD_MO");
+                    Ds2 = oCN.RunProcReturn(sql_judgeICMOStatus, "" +  erpDatabaseName + @"T_PRD_MO");
                     if (Ds2 != null && Ds2.Tables[0].Rows.Count > 0)
                     {
                         sErrMsg = "鐢熶骇璁㈠崟銆� " + HICMOBillNo + "銆戜笟鍔$姸鎬佸凡瀹屽伐涓嶅厑璁告眹鎶ワ紒";
@@ -1640,12 +1648,12 @@
 	                            ,isnull(moSub.FSALEORDERENTRYSEQ,0) FREQENTRYSEQ
 	                            ,isnull(moSub.FSALEORDERENTRYID,0) FREQENTRYID
 	                            ,isnull(moSubA.FINSTOCKTYPE,'1') FINSTOCKTYPE
-                            from AIS20210811135644..T_PRD_MO mo with(nolock)
-                            left join AIS20210811135644..T_PRD_MOENTRY moSub with(nolock) on mo.FID=moSub.FID
-                            left join AIS20210811135644..T_PRD_MOENTRY_A moSubA with(nolock) on moSubA.FID=moSub.FID and moSubA.FENTRYID=moSub.FENTRYID
+                            from " +  erpDatabaseName + @"T_PRD_MO mo with(nolock)
+                            left join " +  erpDatabaseName + @"T_PRD_MOENTRY moSub with(nolock) on mo.FID=moSub.FID
+                            left join " +  erpDatabaseName + @"T_PRD_MOENTRY_A moSubA with(nolock) on moSubA.FID=moSub.FID and moSubA.FENTRYID=moSub.FENTRYID
                             left join Xt_ORGANIZATIONS org1 with(nolock) on mo.FPRDORGID=org1.HItemID			--鐢熶骇缁勭粐
                             left join xt_ORGANIZATIONS org2 with(nolock) on moSubA.FINSTOCKOWNERID=org2.HItemID		--鍏ュ簱璐т富
-                            left join AIS20210811135644..t_BD_MaterialProduce mp with(nolock) on moSub.FMATERIALID=mp.FMATERIALID	--鐗╂枡鐢熶骇淇℃伅
+                            left join " +  erpDatabaseName + @"t_BD_MaterialProduce mp with(nolock) on moSub.FMATERIALID=mp.FMATERIALID	--鐗╂枡鐢熶骇淇℃伅
                             left join Gy_Unit as unit with(nolock) on moSub.FUNITID = unit.HItemID
                             left join Gy_Unit as unit1 with(nolock) on moSub.FBASEUNITID = unit1.HItemID
                             left join Gy_Property pr on moSub.FAUXPROPID = pr.HItemID
@@ -1653,7 +1661,7 @@
                             where 
                             mo.FBillNo = '" + HICMOBillNo + "' " +
                                 " and moSub.FENTRYID = " + HICMOEntryID;
-                DataSet jsonData = oCN.RunProcReturn(sql1, "AIS20210811135644..T_PRD_MO");
+                DataSet jsonData = oCN.RunProcReturn(sql1, "" +  erpDatabaseName + @"T_PRD_MO");
                 if (jsonData == null || jsonData.Tables[0].Rows.Count == 0)
                 {
                     return "";
@@ -1706,7 +1714,7 @@
                 //鑾峰彇鐢熶骇姹囨姤绫诲瀷
                 string sql2 = @"select top(1) 
 	                            FNUMBER FREPORTTYPE 
-                            from AIS20210811135644..T_PRD_REPORTTYPE with(nolock) 
+                            from " +  erpDatabaseName + @"T_PRD_REPORTTYPE with(nolock) 
                             Where FUSEORGID = " + FPRDORGID +
                                 " and FISDEFREPTYPE=1";
                 DataSet jsonData2 = oCN.RunProcReturn(sql2, "T_PRD_REPORTTYPE");

--
Gitblit v1.9.1