Browse Source

销售统计报表 数据不对

liuchaohui 2 years ago
parent
commit
0ed1dfc8c5

+ 33 - 12
jeecg-boot-module-system/src/main/java/org/jeecg/modules/report/mapper/xml/SoSoDetailsMapper.xml

@@ -7,13 +7,20 @@
         cc.cCusAbbName as cVenAbbName,
         convert(char(7),ssd.dPreDate,120) yearMonth,
         ssd.iNatUnitPrice,
-        case when max(ssd.cSCloser) is null then sum(ssd.iQuantity)
-        else sum(ssd.foutquantity) end as iQuantity,
+        sum(ssd.iQuantity) as iQuantity,
         sum(ssd.iNatMoney) as iNatMoney
         FROM
         SO_SOMain ss
-        LEFT JOIN SO_SODetails ssd ON ss.ID= ssd.ID
-        --left join Vendor v on ss.cCusCode=v.cVenCode
+        LEFT JOIN (
+        SELECT
+        case when cSCloser is null then iQuantity else foutquantity end as iQuantity,
+        iNatMoney,
+        iNatUnitPrice,
+        dPreDate,
+        ID
+        FROM
+        SO_SODetails
+        ) ssd ON ss.ID= ssd.ID
         left join Department de on ss.cDepCode=de.cDepCode
         left join Customer cc on ss.cCusCode = cc.cCusCode
         WHERE ss.iStatus = 1
@@ -41,13 +48,20 @@
     <select id="QuerySO_SOMainReportBydepartment" resultType="org.jeecg.modules.report.entity.SoSoDetails">
         SELECT
         cc.cCusAbbName  as cCusName,
-        case when max(ssd.cSCloser) is null then sum(ssd.iQuantity)
-        else sum(ssd.foutquantity) end as iQuantity,
+        sum(ssd.iQuantity) as iQuantity,
         sum(ssd.iNatMoney) as iNatMoney
         FROM
         SO_SOMain ss
-        LEFT JOIN SO_SODetails ssd ON ss.ID= ssd.ID
-        --left join Vendor v on ss.cCusCode=v.cVenCode
+        LEFT JOIN (
+        SELECT
+        case when cSCloser is null then iQuantity else foutquantity end as iQuantity,
+        iNatMoney,
+        iNatUnitPrice,
+        dPreDate,
+        ID
+        FROM
+        SO_SODetails
+        ) ssd ON ss.ID= ssd.ID
         left join Department de on ss.cDepCode=de.cDepCode
         left join Customer cc on ss.cCusCode = cc.cCusCode
         WHERE ss.iStatus = 1
@@ -74,13 +88,20 @@
     <select id="QuerySO_SOMainReportBycustomer" resultType="org.jeecg.modules.report.entity.SoSoDetails">
         SELECT
         de.cDepName,
-        case when max(ssd.cSCloser) is null then sum(ssd.iQuantity)
-        else sum(ssd.foutquantity) end as iQuantity,
+        sum(ssd.iQuantity) as iQuantity,
         sum(ssd.iNatMoney) as iNatMoney
         FROM
         SO_SOMain ss
-        LEFT JOIN SO_SODetails ssd ON ss.ID= ssd.ID
-       -- left join Vendor v on ss.cCusCode=v.cVenCode
+        LEFT JOIN (
+        SELECT
+        case when cSCloser is null then iQuantity else foutquantity end as iQuantity,
+        iNatMoney,
+        iNatUnitPrice,
+        dPreDate,
+        ID
+        FROM
+        SO_SODetails
+        ) ssd ON ss.ID= ssd.ID
         left join Customer cc on ss.cCusCode = cc.cCusCode
         left join Department de on ss.cDepCode=de.cDepCode
         WHERE ss.iStatus = 1