diff --git a/Pilot_KD_Parino/QPHY_AutoWrireRecord/FUpdateAmount.cs b/Pilot_KD_Parino/QPHY_AutoWrireRecord/FUpdateAmount.cs index fd7b5d8..f4eef9b 100644 --- a/Pilot_KD_Parino/QPHY_AutoWrireRecord/FUpdateAmount.cs +++ b/Pilot_KD_Parino/QPHY_AutoWrireRecord/FUpdateAmount.cs @@ -31,6 +31,8 @@ namespace Pilot_KD_Parino.QPHY_AutoWrireRecord var Billobj = rows.DataEntity; //获取销售订单核销金额数据 SqlManage.FUpdateSalOrderAmount(this.Context, Convert.ToString(Billobj["Id"])); + //int id = Convert.ToInt32(Billobj["Id"]); + string sql1 = string.Format(@"/*dialect*/Select B.FBILLNO2,B.FALLAMOUNT2 From T_AutoWrireRecord A JOIN T_AutoWrireRecordEntry B diff --git a/Pilot_KD_Parino/SQL/SqlManage.cs b/Pilot_KD_Parino/SQL/SqlManage.cs index a9374a9..1d540bd 100644 --- a/Pilot_KD_Parino/SQL/SqlManage.cs +++ b/Pilot_KD_Parino/SQL/SqlManage.cs @@ -1,4 +1,5 @@ using Kingdee.BOS; +using Kingdee.BOS.Log; using Kingdee.BOS.Orm.DataEntity; using Kingdee.BOS.ServiceHelper; using System; @@ -36,6 +37,7 @@ namespace Pilot_KD_Parino.SQL //定义SQL,调用物料视图 string sql = string.Format(@"/*dialect*/ EXEC FUpdateSalOrderAmount {0} ", FID); + Logger.Error("FUpdateSalOrderAmount", sql, new Exception()); //执行SQL DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null); } diff --git a/反审核销记录单.sql b/反审核销记录单.sql index eb54110..92b08b2 100644 Binary files a/反审核销记录单.sql and b/反审核销记录单.sql differ diff --git a/更新核销金额.sql b/更新核销金额.sql index e7ee99a..f8f231f 100644 --- a/更新核销金额.sql +++ b/更新核销金额.sql @@ -6,46 +6,48 @@ go --sp_helptext UpdateSalOrderAmount Alter proc UpdateSalOrderAmount ( - @fid nvarchar(1000) + @fid NVARCHAR(1000) ) -as -begin +AS +BEGIN --޸۶ۼƺ - UPDATE C SET F_Amount =isnull( d.,0) + UPDATE C SET F_Amount =c.F_Amount+ISNULL( d.,0) FROM T_AutoWrireRecord A INNER JOIN T_AutoWrireRecordEntry B ON A.FID = B.FID INNER JOIN T_SAL_ORDER C ON C.FBILLNO = B.FBILLNO2 LEFT JOIN ( - SELECT FBILLNO2,SUM(CONVERT(decimal(18,2), FALLAMOUNT2)) AS '' FROM T_AutoWrireRecord A - INNER JOIN T_AutoWrireRecordEntry B ON A.FID = B.FID - WHERE A.FDOCUMENTSTATUS = 'C' + SELECT FBILLNO2,SUM(CONVERT(DECIMAL(18,2), FALLAMOUNT2)) AS '' FROM T_AutoWrireRecord Aa + INNER JOIN T_AutoWrireRecordEntry B ON Aa.FID = B.FID + WHERE Aa.FID =@FID GROUP BY B.FBILLNO2 - ) d on d.FBILLNO2 =b.FBILLNO2 + ) d ON d.FBILLNO2 =b.FBILLNO2 WHERE a.FID =@FID ; + + --޸Ӧյۼƺ - UPDATE C SET F_Amount =isnull( d.,0) + UPDATE C SET F_Amount =c.F_Amount+ISNULL( d.,0) FROM T_AutoWrireRecord A INNER JOIN T_AutoWrireRecordEntry B ON A.FID = B.FID INNER JOIN T_AR_RECEIVABLE C ON C.FBILLNO = B.FBILLNO2 LEFT JOIN ( - SELECT FBILLNO2,SUM(CONVERT(decimal(18,2), FALLAMOUNT2)) AS '' FROM T_AutoWrireRecord A - INNER JOIN T_AutoWrireRecordEntry B ON A.FID = B.FID - WHERE A.FDOCUMENTSTATUS = 'C' + SELECT FBILLNO2,SUM(CONVERT(DECIMAL(18,2), FALLAMOUNT2)) AS '' FROM T_AutoWrireRecord Aa + INNER JOIN T_AutoWrireRecordEntry B ON Aa.FID = B.FID + WHERE Aa.FID =@FID GROUP BY B.FBILLNO2 - ) d on d.FBILLNO2 =b.FBILLNO2 + ) d ON d.FBILLNO2 =b.FBILLNO2 WHERE a.FID =@FID ; --޸տۼƺ - UPDATE C SET F_Amount =isnull( d.,0) ,C.F_CONTRACTNUMBER=b.FCONTRACTNUMBER2 + UPDATE C SET F_Amount =c.F_Amount+ISNULL( d.,0) ,C.F_CONTRACTNUMBER=CASE WHEN C.F_CONTRACTNUMBER ='' THEN b.FCONTRACTNUMBER2 ELSE C.F_CONTRACTNUMBER +';'+ b.FCONTRACTNUMBER2 END FROM T_AutoWrireRecord A INNER JOIN T_AutoWrireRecordEntry2 B ON A.FID = B.FID INNER JOIN T_AR_RECEIVEBILL C ON C.FBILLNO = B.FBILLNO3 LEFT JOIN ( - SELECT FBILLNO3,SUM(CONVERT(decimal(18,2), FALLAMOUNT3)) AS '' FROM T_AutoWrireRecord A - INNER JOIN T_AutoWrireRecordEntry2 B ON A.FID = B.FID - WHERE A.FDOCUMENTSTATUS = 'C' + SELECT FBILLNO3,SUM(CONVERT(decimal(18,2), FALLAMOUNT3)) AS '' FROM T_AutoWrireRecord Aa + INNER JOIN T_AutoWrireRecordEntry2 B ON Aa.FID = B.FID + WHERE Aa.FID =@FID GROUP BY B.FBILLNO3 ) d on d.FBILLNO3 =b.FBILLNO3 WHERE a.FID =@FID ; @@ -54,10 +56,10 @@ end --SKD00000003 - SELECT FBILLNO3,SUM(CONVERT(decimal(18,2), FALLAMOUNT3)) AS '' FROM T_AutoWrireRecord A - INNER JOIN T_AutoWrireRecordEntry2 B ON A.FID = B.FID - WHERE A.FDOCUMENTSTATUS = 'C' - GROUP BY B.FBILLNO3 + --SELECT FBILLNO3,SUM(CONVERT(decimal(18,2), FALLAMOUNT3)) AS '' FROM T_AutoWrireRecord A + -- INNER JOIN T_AutoWrireRecordEntry2 B ON A.FID = B.FID + -- WHERE A.FDOCUMENTSTATUS = 'C' + -- GROUP BY B.FBILLNO3 go