Parcourir la source

私有应收 加个非车手续费金额
私有应收 非车的开票记录没有地方显示,无法结算

lipf il y a 3 mois
Parent
commit
f018d1f27d

+ 6 - 0
commons/src/main/java/com/jzg/commons/entity/finance/vo/IncomeDataVO.java

@@ -46,6 +46,12 @@ public class IncomeDataVO implements Serializable {
     private String contactPersonPhone;
     private String contactPersonPhone;
 
 
 
 
+    /**
+     * 类型:1:手续费 2:跟单费 3:驾意手续费 4:驾意跟单费
+     */
+    private String invoiceType;
+
+
     @Data
     @Data
     public static class SearchVO implements Serializable {
     public static class SearchVO implements Serializable {
         @Serial
         @Serial

+ 5 - 0
commons/src/main/java/com/jzg/commons/entity/finance/vo/ReceivableQueryVo.java

@@ -116,4 +116,9 @@ public class ReceivableQueryVo extends PageRequest {
     @Schema(description = "租户代码")
     @Schema(description = "租户代码")
     private String systemCode;
     private String systemCode;
 
 
+    /**
+     * 类型:1:手续费 2:跟单费 3:驾意手续费 4:驾意跟单费
+     */
+    private String invoiceType;
+
 }
 }

+ 20 - 15
tenant/organization/src/main/java/com/jzg/organization/service/impl/ReceivableServiceImpl.java

@@ -6,7 +6,6 @@ import cn.hutool.core.date.DateTime;
 import cn.hutool.core.lang.tree.Tree;
 import cn.hutool.core.lang.tree.Tree;
 import cn.hutool.core.lang.tree.TreeNodeConfig;
 import cn.hutool.core.lang.tree.TreeNodeConfig;
 import cn.hutool.core.lang.tree.TreeUtil;
 import cn.hutool.core.lang.tree.TreeUtil;
-import cn.hutool.core.util.NumberUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONUtil;
 import cn.hutool.json.JSONUtil;
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.EasyExcel;
@@ -288,7 +287,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         log.info("获取私有协议手续费应收列表。receivableQueryVo=[{}]", JSONUtil.toJsonStr(receivableQueryVo));
         log.info("获取私有协议手续费应收列表。receivableQueryVo=[{}]", JSONUtil.toJsonStr(receivableQueryVo));
         Page<InsPlyIncome> page = baseMapper.getReceivablePage(receivableQueryVo.getPage(), receivableQueryVo);
         Page<InsPlyIncome> page = baseMapper.getReceivablePage(receivableQueryVo.getPage(), receivableQueryVo);
         List<InsPlyIncome> records = page.getRecords();
         List<InsPlyIncome> records = page.getRecords();
-        records = this.fillOtherInfo(records);
+        records = this.fillOtherInfo(records,receivableQueryVo.getInvoiceType());
         page.setRecords(records);
         page.setRecords(records);
         return page;
         return page;
     }
     }
@@ -647,7 +646,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
             }
             }
         }
         }
 
 
-        filterIncomes = this.fillOtherInfo(filterIncomes);
+        filterIncomes = this.fillOtherInfo(filterIncomes,incomeDataVO.getInvoiceType());
         return HttpResult.ok(filterIncomes);
         return HttpResult.ok(filterIncomes);
     }
     }
 
 
@@ -856,17 +855,18 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
      * 3. 批量查询订单与发票的关联关系,构建订单ID到发票ID的映射
      * 3. 批量查询订单与发票的关联关系,构建订单ID到发票ID的映射
      * 4. 查询业务员类型属性映射表
      * 4. 查询业务员类型属性映射表
      * 5. 遍历每条订单记录,填充以下字段:
      * 5. 遍历每条订单记录,填充以下字段:
-     *    - settlementStatusName: 结算状态名称(0-未结算,1-已结算)
-     *    - typeAttr: 业务员类型属性代码
-     *    - typeAttrName: 业务员类型属性名称
-     *    - invoiceStatusName: 开票状态名称(有发票ID则为"已开票",否则为"未开票")
-     *    - invoiceId: 关联的发票ID
+     * - settlementStatusName: 结算状态名称(0-未结算,1-已结算)
+     * - typeAttr: 业务员类型属性代码
+     * - typeAttrName: 业务员类型属性名称
+     * - invoiceStatusName: 开票状态名称(有发票ID则为"已开票",否则为"未开票")
+     * - invoiceId: 关联的发票ID
      * </p>
      * </p>
      *
      *
-     * @param records 应收订单列表,需要填充额外信息的订单数据
+     * @param records     应收订单列表,需要填充额外信息的订单数据
+     * @param invoiceType 开票类型 1:手续费 2:跟单费 3:驾意手续费 4:驾意跟单费
      * @return List<InsPlyIncome> 返回填充了必要字段后的完整订单列表
      * @return List<InsPlyIncome> 返回填充了必要字段后的完整订单列表
      */
      */
-    List<InsPlyIncome> fillOtherInfo(List<InsPlyIncome> records){
+    List<InsPlyIncome> fillOtherInfo(List<InsPlyIncome> records, String invoiceType){
         if(CollUtil.isEmpty(records)){
         if(CollUtil.isEmpty(records)){
             return records;
             return records;
         }
         }
@@ -876,9 +876,12 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         List<InsPlyIncomeInvoiceLink> links = baseMapper.queryIncomeBindInvoice(invoicingVo);
         List<InsPlyIncomeInvoiceLink> links = baseMapper.queryIncomeBindInvoice(invoicingVo);
         Map<String, String> income2InvoceIdMap = links.stream()
         Map<String, String> income2InvoceIdMap = links.stream()
                 .filter(action -> StrUtil.isNotEmpty(action.getIncomeId()))
                 .filter(action -> StrUtil.isNotEmpty(action.getIncomeId()))
-                .collect(Collectors.toMap(InsPlyIncomeInvoiceLink::getIncomeId, InsPlyIncomeInvoiceLink::getInvoiceId, (oleItem, newItem) -> oleItem));
-
-
+                .filter(action -> {
+                    if(StrUtil.isEmpty(invoiceType)){
+                        return true;
+                    }
+                    return invoiceType.equals(action.getInvoiceType());
+                }).collect(Collectors.toMap(InsPlyIncomeInvoiceLink::getIncomeId, InsPlyIncomeInvoiceLink::getInvoiceId, (oleItem, newItem) -> oleItem));
         Map<String, String> typeAttrMaps = sysUserJzgInfoSalesmanService.queryYwyTypeAttrMap();
         Map<String, String> typeAttrMaps = sysUserJzgInfoSalesmanService.queryYwyTypeAttrMap();
         records.forEach(insPlyIncome -> {
         records.forEach(insPlyIncome -> {
             if("0".equals(insPlyIncome.getSettlementStatus())){
             if("0".equals(insPlyIncome.getSettlementStatus())){
@@ -1270,6 +1273,8 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
             insPlyIncomeInvoiceLinkMapper.insert(invoicingLinkList);
             insPlyIncomeInvoiceLinkMapper.insert(invoicingLinkList);
             result.setInvoiceId(invoice.getId());
             result.setInvoiceId(invoice.getId());
             result.setSumPrice(null != invoicingVo.getReceivableSupervisePremium() ? invoicingVo.getReceivableSupervisePremium().toString() : null);
             result.setSumPrice(null != invoicingVo.getReceivableSupervisePremium() ? invoicingVo.getReceivableSupervisePremium().toString() : null);
+
+
             return result;
             return result;
         } catch (Exception e) {
         } catch (Exception e) {
             log.info("开票异常.invoicingVo=[{}]",JSONUtil.toJsonStr(invoicingVo), e);
             log.info("开票异常.invoicingVo=[{}]",JSONUtil.toJsonStr(invoicingVo), e);
@@ -4023,7 +4028,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         log.info("获取平台协议列表. receivableQueryVo=[{}]", JSONUtil.toJsonStr(receivableQueryVo));
         log.info("获取平台协议列表. receivableQueryVo=[{}]", JSONUtil.toJsonStr(receivableQueryVo));
         Page<InsPlyIncome> page = baseMapper.getReceivablePage(receivableQueryVo.getPage(), receivableQueryVo);
         Page<InsPlyIncome> page = baseMapper.getReceivablePage(receivableQueryVo.getPage(), receivableQueryVo);
         List<InsPlyIncome> records = page.getRecords();
         List<InsPlyIncome> records = page.getRecords();
-        records = this.fillOtherInfo(records);
+        records = this.fillOtherInfo(records,null);
         page.setRecords(records);
         page.setRecords(records);
         return page;
         return page;
     }
     }
@@ -4436,7 +4441,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         receivableQueryVo.setSystemCode(baseController.getSystemCode());
         receivableQueryVo.setSystemCode(baseController.getSystemCode());
 
 
         List<InsPlyIncome> receivableList = baseMapper.getReceivableList(receivableQueryVo);
         List<InsPlyIncome> receivableList = baseMapper.getReceivableList(receivableQueryVo);
-        receivableList = this.fillOtherInfo(receivableList);
+        receivableList = this.fillOtherInfo(receivableList, null);
 
 
         // 调用动态导出
         // 调用动态导出
         return exportBaseService.upLoadFile(
         return exportBaseService.upLoadFile(