Преглед изворни кода

Merge remote-tracking branch 'origin/master'

lixiaolong пре 2 месеци
родитељ
комит
c458a5a7dc

+ 2 - 1
commons/src/main/java/com/jzg/commons/constants/SystemBusPermsConstants.java

@@ -15,7 +15,8 @@ public enum SystemBusPermsConstants {
     SALESMAN_AUDIT_DEPT(3,"salesmanAuditDept","业务员审核机构"),
     SALESMAN_WITHDRAW_ACCOUNT_AUDIT_DEPT(4,"salesmanWithdrawAccountAuditDept","业务员提现账号审核机构"),
     SALESMAN_WITHDRAW_PAYMENT_AUDIT_DEPT(5,"salesmanWithdrawPaymentAuditDept","业务员提现申请付款审核机构"),
-    AccountLinking(6,"accountLinking","账号互通");
+    AccountLinking(6,"accountLinking","账号互通"),
+    CLIENT_TYPE(6,"clientType","PC端还是APP端可用"),;
 
     private Integer id;
     private String code;

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

@@ -69,4 +69,9 @@ public class FollowCompanyFeeVO {
      */
     private String followId;
 
+    /**
+     * 开票类型  1、手续费  2、跟单费  3、驾意险手续费 4、驾意险跟单费 5、平台应收-车险 6、平台应收-非车险
+     */
+    private String invoiceType;
+
 }

+ 3 - 0
commons/src/main/java/com/jzg/commons/entity/finance/vo/SettlementReportQueryVo.java

@@ -52,6 +52,9 @@ public class SettlementReportQueryVo extends PageRequest {
     @Schema(description = "开票类型 1 手续费  2 跟单费  3 驾意险手续费 4 驾意险跟单费")
     private List<String> invoiceTypes;
 
+    @Schema(description = "开票类型 1 手续费  2 跟单费  3 驾意险手续费 4 驾意险跟单费")
+    private String invoiceType;
+
     @Schema(description = "上级公司id")
     private String parentId;
 

+ 6 - 0
commons/src/main/java/com/jzg/commons/entity/quote/vo/aggregated/QuoteEchoVo.java

@@ -279,6 +279,12 @@ public class QuoteEchoVo extends QuoteVo {
     @Schema(description = "订单批改信息")
     private InsOrderAdjustVo insOrderAdjustVo;
 
+    @Schema(description = "权益是否可用")
+    private String ownerRights;
+
+    @Schema(description = "权益可用范围")
+    private String clientType;
+
     @Schema(description = "权益信息")
     private InsOrderRightsInfoVo insOrderRightsInfoVo;
 

+ 8 - 0
commons/src/main/java/com/jzg/commons/entity/system/po/SysSystemBusPermsLink.java

@@ -82,6 +82,14 @@ public class SysSystemBusPermsLink implements Serializable {
                 links.add(sysSystemBusPermsLink);
             }
         }
+        if (sysSystemBusPermsVo.getClientTypeList() != null && !sysSystemBusPermsVo.getClientTypeList().isEmpty()) {
+            for (String clientTypeId : sysSystemBusPermsVo.getClientTypeList()) {
+                SysSystemBusPermsLink sysSystemBusPermsLink = new SysSystemBusPermsLink();
+                sysSystemBusPermsLink.setBusId(clientTypeId);
+                sysSystemBusPermsLink.setBusCode(SystemBusPermsConstants.CLIENT_TYPE.getCode());
+                links.add(sysSystemBusPermsLink);
+            }
+        }
         return links;
     }
 }

+ 8 - 2
commons/src/main/java/com/jzg/commons/entity/system/vo/SysSystemBusPermsVo.java

@@ -80,9 +80,12 @@ public class SysSystemBusPermsVo implements Serializable {
     @Schema(description = "车主权益1:开启,0:关闭")
     private Integer ownerRights;
 
-    @Schema(description = "PC端还是APP端可用1:PC,2:APP")
+    @Schema(description = "PC端还是APP端可用1:PC,2:APP,3:PC+APP")
     private Integer clientType;
 
+    @Schema(description = "权益PC APP 回显列表")
+    private List<String> clientTypeList = new ArrayList<>();
+
     @Schema(description = "账号互通")
     private Integer accountLinking;
 
@@ -130,7 +133,10 @@ public class SysSystemBusPermsVo implements Serializable {
         this.salesmanWithdrawPaymentAuditDeptList.addAll(links.stream()
                 .filter(link -> link.getBusCode().equals(SystemBusPermsConstants.SALESMAN_WITHDRAW_PAYMENT_AUDIT_DEPT.getCode()))
                 .map(link->link.getBusId()).collect(Collectors.toList()));
-
+        //权益PC APP 回显列表
+        this.clientTypeList.addAll(links.stream()
+                .filter(link -> link.getBusCode().equals(SystemBusPermsConstants.CLIENT_TYPE.getCode()))
+                .map(link->link.getBusId()).collect(Collectors.toList()));
     }
 
 }

+ 20 - 10
consoleStatistics/src/main/java/com/jzg/console/service/impl/ReportReceivableDataServiceImpl.java

@@ -1,21 +1,19 @@
 package com.jzg.console.service.impl;
 
 
-import com.alibaba.excel.annotation.ExcelIgnore;
-import com.alibaba.excel.annotation.ExcelProperty;
-import com.alibaba.excel.annotation.write.style.ColumnWidth;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jzg.commons.entity.report.dto.*;
 import com.jzg.commons.entity.report.vo.ReportSearchCommonVo;
-import com.jzg.console.service.ReportCostVerificationDataService;
 import com.jzg.console.service.ReportReceivableDataService;
-import io.swagger.v3.oas.annotations.media.Schema;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.List;
 
 /**
@@ -26,6 +24,9 @@ import java.util.List;
  */
 @Service
 public class ReportReceivableDataServiceImpl extends ReportBaseServiceImpl implements ReportReceivableDataService {
+
+    private static final Logger log = LoggerFactory.getLogger(ReportReceivableDataServiceImpl.class);
+
     /**
      *  @version
      *  @author: hxl
@@ -34,7 +35,8 @@ public class ReportReceivableDataServiceImpl extends ReportBaseServiceImpl imple
      */
     @Override
     public List<?> getListByParams(ReportSearchCommonVo reportSearchCommonVo){
-        return getList();
+        log.info("数据报表-财务数据-应收. reportSearchCommonVo=[{}]", JSONUtil.toJsonStr(reportSearchCommonVo));
+        return getList(reportSearchCommonVo);
     }
     @Override
     public IPage<?> getPageListByParams(ReportSearchCommonVo reportSearchCommonVo) {
@@ -48,7 +50,7 @@ public class ReportReceivableDataServiceImpl extends ReportBaseServiceImpl imple
      */
     @Override
     public void downloadListByParams(ReportSearchCommonVo reportSearchCommonVo) {
-        List<ReportReceivableDataDto> list = getList();
+        List<ReportReceivableDataDto> list = getList(reportSearchCommonVo);
         upLoadFile(reportSearchCommonVo, ReportReceivableDataDto.class,list,"财务数据-应收-列表导出-"+ reportSearchCommonVo.getUserId());
     }
     /**
@@ -83,8 +85,16 @@ public class ReportReceivableDataServiceImpl extends ReportBaseServiceImpl imple
      *  @Date: 2025/9/24 10:42
      *  @Description:  模拟数据
      */
-    public List<ReportReceivableDataDto>  getList(){
+    public List<ReportReceivableDataDto>  getList(ReportSearchCommonVo param){
+        log.info("数据报表-财务数据-应收。 param=[{}]", JSONUtil.toJsonStr(param));
         List<ReportReceivableDataDto> list =new ArrayList<>();
+        // 和财务沟通过, 开票的时候,一个月的进行开票,不进行跨月开票。
+        List<String> years = param.getYear();
+        String year="";
+        if(CollUtil.isNotEmpty(years)){
+            year = years.get(0);
+        }
+
         ReportReceivableDataDto reportReceivableDataDto = ReportReceivableDataDto.builder()
                 .yearAndMonthTime("2023-10").accountsReceivableMoney(new BigDecimal(100))
                 .uninvoicedMoney(new BigDecimal(100)).invoicedMoney(new BigDecimal(100))

+ 1 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/aop/aspect/QuoteVerificationAspect.java

@@ -357,6 +357,7 @@ public class QuoteVerificationAspect {
 
         // modify by lipf ,2026年6月17日15:30:54 是否除以1.06,不再根据平台协议还是私有协议进行判断,而是根据协议的是否含税来进行判断
         BigDecimal taxFactor = insOrdersService.obtainTaxRate(insOrders.getId());
+        log.info("订单[{}]是否属于补录订单.[{}]",Objects.toString(insOrders.getId(),insOrders.getInsOrderNo()), isrecordByLeader);
         // 6. 统一处理各险种的费用计算(应收、应付、各类费用)
         processInsuranceType(
                 insOrdersCosts.getJqPremium(), jqCostType, jqEntranceFeeRatio, jqFollowRatio, taxFactor,

+ 11 - 1
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrdersServiceImpl.java

@@ -42,6 +42,7 @@ import com.jzg.commons.entity.quote.vo.orders.InsOrdersAdd;
 import com.jzg.commons.entity.quote.vo.orders.InsOrdersEnd;
 import com.jzg.commons.entity.quote.vo.orders.InsOrdersVo;
 import com.jzg.commons.entity.rights.vo.InsOrderRightsInfoVo;
+import com.jzg.commons.entity.system.vo.SysSystemBusPermsVo;
 import com.jzg.commons.entity.vo.*;
 import com.jzg.commons.exception.ServiceException;
 import com.jzg.commons.exception.SystemException;
@@ -52,6 +53,7 @@ import com.jzg.quotation.commons.client.PlatformClient;
 import com.jzg.quotation.commons.utils.BeanCopyUtil;
 import com.jzg.quotation.commons.utils.SnowFlakeUtil;
 import com.jzg.quotation.summary.aop.aspect.QuoteVerificationAspect;
+import com.jzg.quotation.summary.client.EsmInsCompanyClient;
 import com.jzg.quotation.summary.consumer.template.OrderMessageTemplate;
 import com.jzg.quotation.summary.entity.bo.DataValueBo;
 import com.jzg.quotation.summary.entity.vo.*;
@@ -118,6 +120,8 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
 
     private final PlatformClient platformClient;
 
+    private final EsmInsCompanyClient esmInsCompanyClient;
+
     private final BaseController baseController;
 
     private final InsOrderAdjustInfoService orderAdjustInfoService;
@@ -1405,7 +1409,13 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
             resultVo.setCostRatio(new PtlAgreementCostRatioVo(insFeeOrders));
             resultVo.setInsFeeOrders(new InsFeeOrdersVo(insFeeOrders));
         }
-        //权益信息
+        // 权益权限
+        HttpResult<SysSystemBusPermsVo> sysSystemBusPermsVoHttpResult = esmInsCompanyClient.getBusPerms(baseController.getSystemCode());
+        if (sysSystemBusPermsVoHttpResult.getCode() == 200) {
+            resultVo.setOwnerRights(String.valueOf(sysSystemBusPermsVoHttpResult.getData().getOwnerRights()));
+            resultVo.setClientType(String.valueOf(sysSystemBusPermsVoHttpResult.getData().getClientType()));
+        }
+        // 权益信息
         InsOrderRightsInfoVo insOrderRightsInfoVo = insOrderRightsInfoService.queryByOrderNo(ordersNo);
         resultVo.setInsOrderRightsInfoVo(insOrderRightsInfoVo);
         log.info("根据订单ordersNo=[{}]获取到订单的详细信息resultVo=[{}]", ordersNo, JSONUtil.toJsonStr(resultVo));

+ 14 - 4
tenant/organization/src/main/java/com/jzg/organization/service/impl/ReceivableServiceImpl.java

@@ -827,12 +827,14 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
             String partnerCompanyId = splitArr[0];
             String year = splitArr[1];
             String month = splitArr[2];
+            String invoiceType = splitArr[3];
             List<FollowCompanyFeeVO> voList = entry.getValue();
 
             FollowCompanyFeeVO vo = new FollowCompanyFeeVO();
             vo.setPartnerCompanyId(partnerCompanyId);
             vo.setYear(year);
             vo.setMonth(month);
+            vo.setInvoiceType(invoiceType);
             vo.setCompanyName(getCompanyName(partnerCompanyId, companyMap));
 
             // 汇总当前分组所有followId、settlementId
@@ -904,9 +906,16 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
     }
 
     /**
-     * 构建分组Key:partnerCompanyId_year_month
+     * 构建分组Key:partnerCompanyId_year_month_invoiceType
      */
     private String buildGroupKey(FollowCompanyFeeVO vo) {
+        return StrUtil.format("{}_{}_{}_{}", vo.getPartnerCompanyId(), vo.getYear(), vo.getMonth(), vo.getInvoiceType());
+    }
+
+    /**
+     * 构建分组Key:partnerCompanyId_year_month
+     */
+    private String buildFillGroupKey(FollowCompanyFeeVO vo) {
         return StrUtil.format("{}_{}_{}", vo.getPartnerCompanyId(), vo.getYear(), vo.getMonth());
     }
 
@@ -1023,7 +1032,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         // 现有结果集Key缓存
         Map<String, FollowCompanyFeeVO> existVoMap = resultList.stream()
                 .collect(Collectors.toMap(
-                        this::buildGroupKey,
+                        this::buildFillGroupKey,
                         Function.identity(),
                         (oldVal, newVal) -> oldVal
                 ));
@@ -3437,7 +3446,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
      * @return PtlAgreementCostRatioVo 返回计算后的协议成本比例配置对象,包含各险种的入口比例、手续费比例、跟单费比例等
      */
     private PtlAgreementCostRatioVo calRatio(InsPlyIncome insPlyIncome, BatchModifyVo batchModifyVo) {
-        log.info("batchModifyVo.转换百分比之前的数据=【{}】", JSONUtil.toJsonStr(batchModifyVo));
+        log.info("batchModifyVo.转换百分比之前的数据=[{}]", JSONUtil.toJsonStr(batchModifyVo));
         PtlAgreementCostRatioVo vo = new PtlAgreementCostRatioVo();
         vo.setOrderNo(insPlyIncome.getOrderNo());
 
@@ -3445,7 +3454,8 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
 //        vo.setJqAdditionalRatio(insPlyIncome.getJqAdditionalRatio());
 //        vo.setSyAdditionalRatio(insPlyIncome.getSyAdditionalRatio());
 //        vo.setJyAdditionalRatio(insPlyIncome.getJyAdditionalRatio());
-
+        vo.setJyCommissionRatio(batchModifyVo.getJySuperviseCostsProportion());
+        vo.setJyFollowRatio(batchModifyVo.getJyOtherCostsProportion());
         this.calCommissionAndFollowAndInlet(vo, batchModifyVo, insPlyIncome);
 
         // 出口比例

+ 4 - 0
tenant/organization/src/main/resources/mapper/InsFeeFollowOrderMapper.xml

@@ -51,6 +51,7 @@
         ffo.id AS followId,
         ffo.year,
         ffo.month,
+        ffo.invoice_type,
         inv.id AS invoiceId,
         sett.id AS settlementId
         FROM ins_fee_follow_order ffo
@@ -91,6 +92,9 @@
             <if test="query.settlementStartTime != null and query.settlementStartTime != '' and query.settlementEndTime != null and query.settlementEndTime != ''">
                 AND sett.create_time BETWEEN #{query.settlementStartTime} AND #{query.settlementEndTime}
             </if>
+            <if test="query.invoiceType != null and query.invoiceType != ''">
+                AND ffo.invoice_type = #{query.invoiceType}
+            </if>
         </where>
     </select>
 

+ 1 - 1
tenant/organization/src/main/resources/mapper/ReceivableMapper.xml

@@ -1552,7 +1552,7 @@
         eic.name_simple as companyNameSimple,
         sum( ipiis.actual_received_amount ) AS actual_received_amount,
         ipii.status,
-        ipii.payment_reason,
+        GROUP_CONCAT(DISTINCT iffo.falsely_increased_reason SEPARATOR ',') as paymentReason,
         GROUP_CONCAT(DISTINCT iffo.year SEPARATOR ',') AS year,
         GROUP_CONCAT(DISTINCT iffo.month SEPARATOR ',') AS month,
         iffo.partner_company_id,