Browse Source

1.修复账单明细导出分项逻辑

nzf 3 years ago
parent
commit
e3fc82c12b

+ 2 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/basicData/mapper/TFeesMapper.java

@@ -99,6 +99,8 @@ public interface TFeesMapper {
      */
     public List<String> selectTFeesNameList();
 
+    public List<String> selectTFeesNameListNew(@Param("fDc") String fDc);
+
     /**
      * 获取费用统计
      *

+ 1 - 1
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/mapper/TWarehousebillsfeesMapper.java

@@ -178,5 +178,5 @@ public interface TWarehousebillsfeesMapper extends BaseMapper<TWarehousebillsfee
      */
     List<Map<String, Object>> selectBillDetailsSubItemNew(TWarehousebillsfees tWarehousebillsfees);
 
-    List<Map<String, Object>> selectFeesBymblnoAndFname(@Param("fMblno") String fMblno,@Param("fName") String fName);
+    List<Map<String, Object>> selectFeesBymblnoAndFname(@Param("fMblno") String fMblno,@Param("fCorpid") Long fCorpid,@Param("fDc") String fDc);
 }

+ 7 - 9
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehousebillsfeesServiceImpl.java

@@ -219,7 +219,8 @@ public class TWarehousebillsfeesServiceImpl implements ITWarehousebillsfeesServi
         // 第一行
         HSSFRow first = sheet.createRow(rowNum++);
         String[] left = {"序号", "业务类型", "作业类型", "客户", "提单号", "货名", "件数", "重量", "体积", "入库时间", "出库时间", "计算天数"};
-        List<String> middle = tFeesMapper.selectTFeesNameList();
+        // 新接口根据传来的收付数据,查询费用信息数据
+        List<String> middle = tFeesMapper.selectTFeesNameListNew(tWarehousebillsfees.getfDc());
         String[] right = {"金额", "计划员", "计费时间", "结费时间", "仓库", "备注"};
 
         List<String> all = new ArrayList<>();
@@ -245,15 +246,12 @@ public class TWarehousebillsfeesServiceImpl implements ITWarehousebillsfeesServi
 
         int index = 1;
         for (Map<String, Object> map : list) {
-            // 根据 提单号+客户名称,获取费用数据
+            // 根据 提单号+客户id+收付状态,获取费用数据
             String fMblno = StringUtils.objToStr(map.get("fMblno"));
-            String fName = StringUtils.objToStr(map.get("tcfName"));
-            List<Map<String, Object>> fees;
-            if (StringUtils.isNotEmpty(fMblno)) {
-                fees = tWarehousebillsfeesMapper.selectFeesBymblnoAndFname(fMblno, fName);
-            } else {
-                fees = new ArrayList<>();
-            }
+            Long fCorpid = Long.valueOf(map.get("fCorpid").toString());
+            String fDc = StringUtils.objToStr(map.get("fDc"));
+            // 改为直接查询
+            List<Map<String, Object>> fees = tWarehousebillsfeesMapper.selectFeesBymblnoAndFname(fMblno, fCorpid, fDc);
             // 初始化金额
             BigDecimal allAmount = BigDecimal.ZERO;
             Map<Integer, String> feeMap = new HashMap<>();

+ 8 - 0
ruoyi-warehouse/src/main/resources/mapper/basicData/TFeesMapper.xml

@@ -138,6 +138,14 @@
         select f_name from t_fees where del_flag = 0 and f_dc like '%D%'
     </select>
 
+    <select id="selectTFeesNameListNew" resultType="string">
+        select f_name from t_fees
+        <where>
+            del_flag = 0
+            <if test="fDc != null  and fDc != ''">and f_dc like concat('%',#{fDc},'%')</if>
+        </where>
+    </select>
+
     <select id="getFeeStatistics" resultType="map">
         select
             ifnull(round(sum(if(wf.f_dc = 'D', wf.f_amount, 0)) / 10000, 2), 0) as receivable,

+ 3 - 2
ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TWarehousebillsfeesMapper.xml

@@ -1014,6 +1014,7 @@
         date_format(twf.f_chargedate, '%Y-%m-%d') fChargedate,
         date_format(twf.f_stlamount_date, '%Y-%m-%d') fStlamountdate,
         th.f_name as fhName,
+        twf.f_dc as fDc,
         twf.remark as remark
         from t_warehousebillsfees twf
         LEFT JOIN t_warehousebills tw on twf.f_pid = tw.f_id
@@ -1079,10 +1080,10 @@
         FROM
             t_fees tf
                 LEFT JOIN t_warehousebillsfees twf on tf.f_id = twf.f_feeid
-                LEFT JOIN t_corps tc on twf.f_corpid = tc.f_id
         <where>
             <if test="fMblno != null  and fMblno != ''">and twf.f_mblno = #{fMblno}</if>
-            <if test="fName != null  and fName != ''">and tc.f_name = #{fName}</if>
+            <if test="fCorpid != null  and fCorpid != ''">and twf.f_corpid = #{fCorpid}</if>
+            <if test="fDc != null  and fDc != ''">and twf.f_dc = #{fDc}</if>
         </where>
         GROUP BY
             feeName