Browse Source

库存总账,出入库、调拨统计修改

lazhaoqian 3 years ago
parent
commit
a332138a2f

+ 50 - 6
ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TWarehousebillsfeesMapper.xml

@@ -1419,22 +1419,22 @@
         IFNULL(sum( CASE WHEN tf.f_billtype='CK' AND tf.f_bsdate>=#{timeInterval[0]} AND tf.f_bsdate<=#{timeInterval[1]}
         THEN tf.f_amount ELSE 0 END ),0) AS cfAmount,
         /*出库金额*/
-        IFNULL(sum( CASE WHEN tf.f_billtype='RK' AND tf.f_bsdate<=#{timeInterval[1]} THEN tf.f_qty ELSE 0 END ) + IFNULL( dr.fQty, 0 ) - IFNULL( dc.fQty, 0 )  + IFNULL( de.fQty, 0 ) - IFNULL( df.fQty, 0 ) -
+        IFNULL(sum( CASE WHEN tf.f_billtype='RK' AND tf.f_bsdate<=#{timeInterval[1]} THEN tf.f_qty ELSE 0 END ) + IFNULL( dg.fQty, 0 ) - IFNULL( dh.fQty, 0 ) -
         sum( CASE WHEN tf.f_billtype = 'CK' AND tf.f_bsdate<=#{timeInterval[1]} THEN tf.f_qty ELSE 0 END ),0) AS
         fAfterQty,
         /*结余数量*/
         ROUND(
         IFNULL((
-        sum( CASE WHEN tf.f_billtype='RK' AND tf.f_bsdate<=#{timeInterval[1]} THEN tf.f_amount ELSE 0 END ) + IFNULL( dr.fAmount, 0 )- IFNULL( dc.fAmount, 0 ) + IFNULL( de.fAmount, 0 )- IFNULL( df.fAmount, 0 ) - sum(
+        sum( CASE WHEN tf.f_billtype='RK' AND tf.f_bsdate<=#{timeInterval[1]} THEN tf.f_amount ELSE 0 END ) + IFNULL( dg.fAmount, 0 )- IFNULL( dh.fAmount, 0 ) - sum(
         CASE WHEN tf.f_billtype='CK' AND tf.f_bsdate<=#{timeInterval[1]} THEN tf.f_amount ELSE 0 END ))/(
-        sum( CASE WHEN tf.f_billtype='RK' AND tf.f_bsdate<= #{timeInterval[1]} THEN tf.f_qty ELSE 0 END ) + IFNULL( dr.fQty, 0 ) - IFNULL( dc.fQty, 0 )  + IFNULL( de.fQty, 0 ) - IFNULL( df.fQty, 0 ) - sum( CASE
+        sum( CASE WHEN tf.f_billtype='RK' AND tf.f_bsdate<= #{timeInterval[1]} THEN tf.f_qty ELSE 0 END ) + IFNULL( dg.fQty, 0 ) - IFNULL( dh.fQty, 0 ) - sum( CASE
         WHEN tf.f_billtype='CK' AND tf.f_bsdate<=#{timeInterval[1]} THEN tf.f_qty ELSE 0 END )),
         0
         ),
         2
         ) AS fAfterUnitprice,
         /*结余单价*/
-        IFNULL(sum( CASE WHEN tf.f_billtype='RK' AND tf.f_bsdate<= #{timeInterval[1]} THEN tf.f_amount ELSE 0 END )+ IFNULL( dr.fAmount, 0 ) - IFNULL( dc.fAmount, 0 ) + IFNULL( de.fAmount, 0 )- IFNULL( df.fAmount, 0 )-
+        IFNULL(sum( CASE WHEN tf.f_billtype='RK' AND tf.f_bsdate<= #{timeInterval[1]} THEN tf.f_amount ELSE 0 END ) + IFNULL( dg.fAmount, 0 )- IFNULL( dh.fAmount, 0 )-
         sum( CASE WHEN tf.f_billtype='CK' AND tf.f_bsdate<= #{timeInterval[1]} THEN tf.f_amount ELSE 0 END ),0) AS
         fAfterAmount, /*结余金额*/
         IFNULL( dr.fQty, 0 ) AS foldQty,
@@ -1549,6 +1549,50 @@
         AND tf.f_feeid = df.fFeeid
         AND tf.f_feeUnitid = df.fFeeUnitid
         AND tf.f_warehouseid = df.fwarehouseid
+        LEFT JOIN (
+        SELECT
+        tf.f_corpid fCorpid,
+        tf.f_feeid fFeeid,
+        tf.f_feeUnitid fFeeUnitid,
+        IFNULL(SUM(tf.f_qty),0) fQty,
+        IFNULL(SUM(tf.f_unitprice),0) fUnitprice,
+        IFNULL(SUM(tf.f_amount),0) fAmount,
+        tf.f_allot_warehouseid fAllotWarehouseid
+        FROM
+        t_warehousebillsfees tf
+        LEFT JOIN t_warehousebills tw ON tw.f_id = tf.f_pid
+        WHERE
+        tf.f_billtype = 'DB'
+        AND tf.del_flag = '0'
+        AND tw.f_billstatus = 6
+        AND tf.f_bsdate<=#{timeInterval[1]}
+        GROUP BY tf.f_corpid,tf.f_feeid,tf.f_feeUnitid,tf.f_allot_warehouseid
+        ) dg ON tf.f_corpid = dg.fCorpid
+        AND tf.f_feeid = dg.fFeeid
+        AND tf.f_feeUnitid = dg.fFeeUnitid
+        AND tf.f_warehouseid = dg.fAllotWarehouseid
+        LEFT JOIN (
+        SELECT
+        tf.f_corpid fCorpid,
+        tf.f_feeid fFeeid,
+        tf.f_feeUnitid fFeeUnitid,
+        IFNULL(SUM(tf.f_qty),0) fQty,
+        IFNULL(SUM(tf.f_unitprice),0) fUnitprice,
+        IFNULL(SUM(tf.f_amount),0) fAmount,
+        tf.f_warehouseid fwarehouseid
+        FROM
+        t_warehousebillsfees tf
+        LEFT JOIN t_warehousebills tw ON tw.f_id = tf.f_pid
+        WHERE
+        tf.f_billtype = 'DB'
+        AND tf.del_flag = '0'
+        AND tw.f_billstatus = 6
+        AND tf.f_bsdate<=#{timeInterval[0]}
+        GROUP BY tf.f_corpid,tf.f_feeid,tf.f_feeUnitid,tf.f_warehouseid
+        ) dh ON tf.f_corpid = dh.fCorpid
+        AND tf.f_feeid = dh.fFeeid
+        AND tf.f_feeUnitid = dh.fFeeUnitid
+        AND tf.f_warehouseid = dh.fwarehouseid
         WHERE
         tf.f_billtype IN ( 'RK', 'CK' )
         AND tf.del_flag = '0'
@@ -1975,7 +2019,7 @@
         LEFT JOIN sys_dict_data sti ON sti.dict_value = tw.f_isfilles
         AND sti.dict_type = 'f_evidence'
         LEFT JOIN t_warehousebills ti ON tw.f_pid = ti.f_id
-        LEFT JOIN t_project tp ON ti.f_goodsid = tp.f_id
+        LEFT JOIN t_project tp ON ti.f_project = tp.f_id
         LEFT JOIN t_corps tc ON ti.f_corpid = tc.f_id
         LEFT JOIN t_corps ts ON ti.f_sbu = ts.f_id
         LEFT JOIN sys_user sr ON sr.user_id = ti.f_purchase
@@ -2046,7 +2090,7 @@
         LEFT JOIN sys_dict_data sti ON sti.dict_value = tw.f_isfilles
         AND sti.dict_type = 'f_evidence'
         LEFT JOIN t_warehousebills ti ON tw.f_pid = ti.f_id
-        LEFT JOIN t_project tp ON ti.f_project = tp.f_id
+        LEFT JOIN t_project tp ON ti.f_goodsid = tp.f_id
         LEFT JOIN t_corps tc ON tw.f_corpid = tc.f_id
         LEFT JOIN t_corps ts ON ti.f_sbu = ts.f_id
         LEFT JOIN sys_user sr ON sr.user_id = ti.f_purchase