Преглед на файлове

优化单票分析接口

阿伏兔 преди 4 години
родител
ревизия
a947cd3760
променени са 1 файла, в които са добавени 10 реда и са изтрити 8 реда
  1. 10 8
      ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TWarehousebillsMapper.xml

+ 10 - 8
ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TWarehousebillsMapper.xml

@@ -1784,12 +1784,12 @@
             w.f_product_name goodsName,
             d.dict_label fBusinessType,
             w.f_cntval fCntval,
-            IF(item.f_billtype = 'SJRK' || item.f_billtype = 'HQZY' || item.f_billtype = 'CKDB', date_format( item.f_bsdate, '%Y-%m-%d' ), NULL ) inBsdate,
-            IF(item.f_billtype = 'SJRK' || item.f_billtype = 'HQZY' || item.f_billtype = 'CKDB' and ware.f_id = item.f_transfer_warehouselocid, item.f_qty, 0) inQty,
-            IF(item.f_billtype = 'SJRK' || item.f_billtype = 'HQZY' || item.f_billtype = 'CKDB' and ware.f_id = item.f_transfer_warehouselocid, item.f_grossweight, 0.00 ) inGrossweight,
-            IF(item.f_billtype = 'SJCK' || item.f_billtype = 'CKDB', item.f_bsdate, NULL ) outBsdate,
-            IF(item.f_billtype = 'SJCK' || item.f_billtype = 'CKDB', item.f_qty, 0 ) outQty,
-            IF(item.f_billtype = 'SJCK' || item.f_billtype = 'CKDB', item.f_grossweight, 0.00 ) outGrossweight,
+            IF(item.f_billtype = 'SJRK' || item.f_billtype = 'HQZY' AND w.f_tocorpid = #{fCorpid} || item.f_billtype = 'CKDB', date_format( item.f_bsdate, '%Y-%m-%d' ), NULL) inBsdate,
+            IF(item.f_billtype = 'SJRK' || item.f_billtype = 'HQZY' AND w.f_tocorpid = #{fCorpid} || item.f_billtype = 'CKDB' AND ware.f_id = item.f_transfer_warehouselocid, item.f_qty, 0) inQty,
+            IF(item.f_billtype = 'SJRK' || item.f_billtype = 'HQZY' AND w.f_corpid = #{fCorpid} || item.f_billtype = 'CKDB' AND ware.f_id = item.f_transfer_warehouselocid, item.f_grossweight, 0.00) inGrossweight,
+            IF(item.f_billtype = 'SJCK' || item.f_billtype = 'HQZY' AND w.f_corpid = #{fCorpid}, date_format( item.f_bsdate, '%Y-%m-%d' ), NULL ) outBsdate,
+            IF( item.f_billtype = 'SJCK' || item.f_billtype = 'HQZY' AND w.f_corpid = #{fCorpid}, item.f_qty, 0 ) outQty,
+            IF( item.f_billtype = 'SJCK' || item.f_billtype = 'HQZY' AND w.f_corpid = #{fCorpid}, item.f_grossweight, 0.00 ) outGrossweight,
             CASE
                 WHEN item.f_billtype = 'SJRK' THEN
                 '入库'
@@ -1809,11 +1809,12 @@
             t_warehousebills w
             LEFT JOIN t_warehousebillsitems item ON item.f_pid = w.f_id
             LEFT JOIN t_corps c ON c.f_id = w.f_corpid
-            LEFT JOIN t_warehouse ware ON ware.f_id = item.f_warehouselocid
+            LEFT JOIN t_warehouse ware ON IF(item.f_billtype = 'CKDB', ware.f_id = item.f_transfer_warehouselocid, ware.f_id = item.f_warehouselocid)
             LEFT JOIN sys_dict_data d ON d.dict_value = item.f_business_type
         WHERE
             w.f_corpid = #{fCorpid}
             AND item.f_mblno = #{fMblno}
+            AND IF(item.f_billtype = 'CKDB' and ware.f_charg = 0, w.f_id = '', w.f_id != '')
             AND IF( item.f_billtype = 'SJRK', d.dict_type = 'st_in_type', IF(item.f_billtype = 'SJCK', d.dict_type = 'st_out_type', d.dict_type = 'st_trans_type'))
             <if test='bsdateList != null and bsdateList[0] != null and bsdateList[0]!= ""'>
                 AND item.f_bsdate &gt;= #{bsdateList[0]}
@@ -1840,10 +1841,11 @@
             LEFT JOIN t_warehousebillsitems item ON item.f_pid = w.f_id
             LEFT JOIN t_warehousebillsfees f ON f.f_pid = w.f_id
             LEFT JOIN t_fees fee ON fee.f_id = f.f_feeid
-            LEFT JOIN t_warehouse ware ON ware.f_id = item.f_warehouselocid
+            LEFT JOIN t_warehouse ware ON IF(item.f_billtype = 'CKDB', ware.f_id = item.f_transfer_warehouselocid, ware.f_id = item.f_warehouselocid)
             LEFT JOIN sys_dict_data d ON d.dict_value = f.f_business_type
         WHERE
             item.f_mblno = #{fMblno}
+            AND IF(item.f_billtype = 'CKDB' and ware.f_charg = 0, w.f_id = '', w.f_id != '')
             AND IF( item.f_billtype = 'SJRK', d.dict_type = 'st_in_type', IF(item.f_billtype = 'SJCK', d.dict_type = 'st_out_type', d.dict_type = 'st_trans_type'))
             <if test='bsdateList != null and bsdateList[0] != null and bsdateList[0]!= ""'>
                 AND item.f_bsdate &gt;= #{bsdateList[0]}