Sfoglia il codice sorgente

Merge remote-tracking branch 'origin/dev_jzg_lipf_v20260622' into dev_jzg_lipf_v20260622

jiakai 3 settimane fa
parent
commit
171558c8ff

+ 6 - 19
commons/src/main/java/com/jzg/commons/entity/finance/vo/importimcome/ExcelContent4Private.java → commons/src/main/java/com/jzg/commons/entity/finance/vo/importimcome/ExcelContent4PrivateFollow.java

@@ -9,14 +9,15 @@ import java.io.Serial;
 import java.io.Serializable;
 
 /**
+ * 私有跟单费
  * @author tz
  * @description 应收查询VO
- * @createDate 2024-06-26 10:49:31
+ * @date 2024-06-26 10:49:31
  */
 @EqualsAndHashCode
 @Data
 @Schema(description = "财务应收表")
-public class ExcelContent4Private implements Serializable {
+public class ExcelContent4PrivateFollow implements Serializable {
 
     @Serial
     private static final long serialVersionUID = 6263862008363938379L;
@@ -37,30 +38,16 @@ public class ExcelContent4Private implements Serializable {
     @ExcelProperty(value = "非车险保单号", index = 3)
     private String jyPolicyNo;
 
-    @Schema(description = "交强险手续费比例")
-    @ExcelProperty(value = "交强险手续费比例(%)", index = 4)
-    private String jqSuperviseCostsProportion;
-
     @Schema(description = "交强险跟单费比例")
-    @ExcelProperty(value = "交强险跟单费比例(%)", index = 5)
+    @ExcelProperty(value = "交强险跟单费比例(%)", index = 4)
     private String jqOtherCostsProportion;
 
-
-    @Schema(description = "商业险手续费比例")
-    @ExcelProperty(value = "商业险手续费比例(%)", index = 6)
-    private String sySuperviseCostsProportion;
-
     @Schema(description = "商业险跟单费比例")
-    @ExcelProperty(value = "商业险跟单费比例(%)", index = 7)
+    @ExcelProperty(value = "商业险跟单费比例(%)", index = 5)
     private String syOtherCostsProportion;
 
-
-    @Schema(description = "非车险手续费比例")
-    @ExcelProperty(value = "非车险手续费比例(%)", index = 8)
-    private String jySuperviseCostsProportion;
-
     @Schema(description = "非车险跟单费比例")
-    @ExcelProperty(value = "非车险跟单费比例(%)", index = 9)
+    @ExcelProperty(value = "非车险跟单费比例(%)", index = 6)
     private String jyOtherCostsProportion;
 
 }

+ 48 - 0
commons/src/main/java/com/jzg/commons/entity/finance/vo/importimcome/ExcelContent4PrivateSuperviseCar.java

@@ -0,0 +1,48 @@
+package com.jzg.commons.entity.finance.vo.importimcome;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 私有手续费
+ *
+ * @author tz
+ * @description 应收查询VO
+ * @date 2024-06-26 10:49:31
+ */
+@EqualsAndHashCode
+@Data
+@Schema(description = "财务应收表")
+public class ExcelContent4PrivateSuperviseCar implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 6263862008363938379L;
+
+    @Schema(description = "车牌号")
+    @ExcelProperty(value = "车牌号", index = 0)
+    private String licenseNo;
+
+    @Schema(description = "交强险保单号")
+    @ExcelProperty(value = "交强险保单号", index = 1)
+    private String jqPolicyNo;
+
+    @Schema(description = "商业险保单号")
+    @ExcelProperty(value = "商业险保单号", index = 2)
+    private String syPolicyNo;
+
+    @Schema(description = "交强险手续费比例")
+    @ExcelProperty(value = "交强险手续费比例(%)", index = 3)
+    private String jqSuperviseCostsProportion;
+
+
+    @Schema(description = "商业险手续费比例")
+    @ExcelProperty(value = "商业险手续费比例(%)", index = 4)
+    private String sySuperviseCostsProportion;
+
+
+}

+ 39 - 0
commons/src/main/java/com/jzg/commons/entity/finance/vo/importimcome/ExcelContent4PrivateSuperviseNoCar.java

@@ -0,0 +1,39 @@
+package com.jzg.commons.entity.finance.vo.importimcome;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 私有手续费
+ *
+ * @author tz
+ * @description 应收查询VO
+ * @date 2024-06-26 10:49:31
+ */
+@EqualsAndHashCode
+@Data
+@Schema(description = "财务应收表")
+public class ExcelContent4PrivateSuperviseNoCar implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 6263862008363938379L;
+
+    @Schema(description = "车牌号")
+    @ExcelProperty(value = "车牌号", index = 0)
+    private String licenseNo;
+
+    @Schema(description = "非车险保单号")
+    @ExcelProperty(value = "非车险保单号", index = 1)
+    private String jyPolicyNo;
+
+
+    @Schema(description = "非车险手续费比例")
+    @ExcelProperty(value = "非车险手续费比例(%)", index = 2)
+    private String jySuperviseCostsProportion;
+
+}

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

@@ -297,6 +297,13 @@ public class QuoteEchoVo extends QuoteVo {
     @Schema(description = "权益可用范围")
     private String clientType;
 
+    @Schema(description = "是否是疑问订单")
+    private boolean isProblem;
+    @Schema(description = "疑问订单原因")
+    private String problemReason;
+    @Schema(description = "设为疑问订单的时间")
+    private LocalDateTime problemTime;
+
     @Schema(description = "权益信息")
     private InsOrderRightsInfoVo insOrderRightsInfoVo;
 

+ 3 - 1
commons/src/main/java/com/jzg/commons/util/OrderComponents.java

@@ -78,7 +78,9 @@ public class OrderComponents {
         nameMap.put("insCompanyVo[0].id","保司ID");
         nameMap.put("order.companyName","保司名称");
         nameMap.put("order.insuranceCompanyCode","保司ID");
-
+        nameMap.put("isProblem","是否是疑问订单");
+        nameMap.put("problemReason","疑问订单原因");
+        nameMap.put("problemTime","设为疑问订单的时间");
         return nameMap;
     }
 

+ 21 - 10
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/aop/OrderOperationLogAspect.java

@@ -86,6 +86,9 @@ public class OrderOperationLogAspect {
         Object result = null;
         // 创建 JSONConfig 并设置日期格式, 会把LocalDate 和LocalDateTime 都转换为 包含时分秒的格式(后续有了更好的办法再优化)
         JSONConfig jsonConfig = JSONConfig.create().setDateFormat("yyyy-MM-dd HH:mm:ss");
+        QuoteEchoVo detailVoOld;
+        QuoteEchoVo detailVoNew;
+        Map<String, List<String>> diffMap;
         switch (log.optType().getCode()){
             // 创建订单
             case 0:
@@ -169,18 +172,21 @@ public class OrderOperationLogAspect {
             case 15:
                 logger.info("费用调整log.orderSpEl()=[{}]",log.orderSpEl());
                 PtlAgreementCostRatioVo vo = parser.parseExpression(log.orderSpEl()).getValue(context, PtlAgreementCostRatioVo.class);
-                QuoteEchoVo detailVoOld = insFeeAuditService.auditInfo(vo.getOrderNo());
+                detailVoOld = insFeeAuditService.auditInfo(vo.getOrderNo());
                 result = joinPoint.proceed();
-                QuoteEchoVo detailVoNew = insFeeAuditService.auditInfo(vo.getOrderNo());
-                Map<String, List<String>> diffMap = JsonDiffUtil.compareJson(JSONUtil.toJsonStr(detailVoOld,jsonConfig), JSONUtil.toJsonStr(detailVoNew,jsonConfig), new HashSet<>());
+                detailVoNew = insFeeAuditService.auditInfo(vo.getOrderNo());
+                diffMap = JsonDiffUtil.compareJson(JSONUtil.toJsonStr(detailVoOld,jsonConfig), JSONUtil.toJsonStr(detailVoNew,jsonConfig), new HashSet<>());
                 this.saveCostInfo(result,log, vo,diffMap);
                 break;
             // 设为疑问订单
             case 17:
                 logger.info("设置为疑问订单.log.orderSpEl()=[{}]",log.orderSpEl());
                 QuestionOrder questionOrder = parser.parseExpression(log.orderSpEl()).getValue(context, QuestionOrder.class);
+                detailVoOld = insFeeAuditService.auditInfo(questionOrder.getOrderNo());
                 result = joinPoint.proceed();
-                this.updateToQuestionOrder(result,log, questionOrder);
+                detailVoNew = insFeeAuditService.auditInfo(questionOrder.getOrderNo());
+                diffMap = JsonDiffUtil.compareJson(JSONUtil.toJsonStr(detailVoOld,jsonConfig), JSONUtil.toJsonStr(detailVoNew,jsonConfig), new HashSet<>());
+                this.updateToQuestionOrder(result,log, questionOrder,diffMap);
                 break;
         }
         return result;
@@ -192,14 +198,14 @@ public class OrderOperationLogAspect {
      * @author lipf
      * @date 2026/7/16 16:35
      */
-    private void updateToQuestionOrder(Object result, OrderOperationLog log, QuestionOrder questionOrder) {
+    private void updateToQuestionOrder(Object result, OrderOperationLog log, QuestionOrder questionOrder,Map<String, List<String>> diffMap) {
         logger.info("设置为疑问订单。questionOrder=[{}]", JSONUtil.toJsonStr(questionOrder));
         InsOrdersTrack track = new InsOrdersTrack();
         track.setModule(log.module());
         track.setSubModule(log.subModule());
         track.setOptType(log.optType().getCode());
         track.setOptContent(log.description());
-        track.setChangeAfter(JSONUtil.toJsonStr(questionOrder));
+        //track.setChangeAfter(JSONUtil.toJsonStr(questionOrder));
         track.setResult(JSONUtil.toJsonStr(result));
         InsOrders insOrders = orderService.getById(questionOrder.getOrderNo());
         if(insOrders != null){
@@ -212,6 +218,7 @@ public class OrderOperationLogAspect {
         }
         track.setStatus(1);
         track.setOrderNo(questionOrder.getOrderNo());
+        this.fillBeforeAndAfter(diffMap, track);
         traceService.save(track);
 
     }
@@ -276,6 +283,13 @@ public class OrderOperationLogAspect {
             track.setResult("要进行费用调整的订单不存在");
         }
         track.setStatus(1);
+        this.fillBeforeAndAfter(diffMap, track);
+        track.setOrderNo(orderNo);
+        track.setResult(JSONUtil.toJsonStr(result));
+        traceService.save(track);
+    }
+
+    private void fillBeforeAndAfter(Map<String, List<String>> diffMap, InsOrdersTrack track) {
         if(CollUtil.isNotEmpty(diffMap)){
             List<String> oldItems = new ArrayList<>();
             List<String> newItems = new ArrayList<>();
@@ -292,11 +306,8 @@ public class OrderOperationLogAspect {
             track.setChangeBefore(String.join("\n", oldItems));
             track.setChangeAfter(String.join("\n", newItems));
         }
-
-        track.setOrderNo(orderNo);
-        track.setResult(JSONUtil.toJsonStr(result));
-        traceService.save(track);
     }
+
     /**
      * 订单审核(通过/驳回)
      *

+ 9 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsFeeAuditServiceImpl.java

@@ -290,6 +290,15 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
         log.debug("查看订单审核详情:orderNo=[{}], detailVo=[{}]",orderNo, JSONUtil.toJsonStr(detailVo));
         InsFeeAudit audit = this.getById(orderNo);
         detailVo.setAuditStatus(audit.getAuditStatus());
+        if(audit.getIsProblem() != null){
+            if(1 ==audit.getIsProblem()){
+                detailVo.setProblem(true);
+            }else if(0 ==audit.getIsProblem()){
+                detailVo.setProblem(false);
+            }
+        }
+        detailVo.setProblemTime(audit.getProblemTime());
+        detailVo.setProblemReason(audit.getProblemReason());
         return detailVo;
     }
 

+ 1 - 1
tenant/organization/src/main/java/com/jzg/organization/controller/ReceivableController.java

@@ -150,7 +150,7 @@ public class ReceivableController {
     /**
      * 导入应收的模板
      *
-     * @param paramVO  10 表示私有协议 20 表示平台协议
+     * @param paramVO  20 表示平台协议  11表示车险手续费 12 表示非车险手续费 13 表示车险跟单费 14 表示非车险跟单费
      * @author lipf
      * @date 2026/8/3 10:23
      */

+ 5 - 5
tenant/organization/src/main/java/com/jzg/organization/excel/listener/InvoiceReceivbleExcel4PrivateListener.java

@@ -2,18 +2,18 @@ package com.jzg.organization.excel.listener;
 
 import com.alibaba.excel.context.AnalysisContext;
 import com.alibaba.excel.event.AnalysisEventListener;
-import com.jzg.commons.entity.finance.vo.importimcome.ExcelContent4Private;
+import com.jzg.commons.entity.finance.vo.importimcome.ExcelContent4PrivateSuperviseNoCar;
 import lombok.Getter;
 
 import java.util.ArrayList;
 import java.util.List;
 
 @Getter
-public class InvoiceReceivbleExcel4PrivateListener extends AnalysisEventListener<ExcelContent4Private> {
-    private final List<ExcelContent4Private> dataList = new ArrayList<>();
+public class InvoiceReceivbleExcel4PrivateListener extends AnalysisEventListener<ExcelContent4PrivateSuperviseNoCar> {
+    private final List<ExcelContent4PrivateSuperviseNoCar> dataList = new ArrayList<>();
 
     @Override
-    public void invoke(ExcelContent4Private data, AnalysisContext context) {
+    public void invoke(ExcelContent4PrivateSuperviseNoCar data, AnalysisContext context) {
         dataList.add(data);
     }
 
@@ -22,7 +22,7 @@ public class InvoiceReceivbleExcel4PrivateListener extends AnalysisEventListener
         System.out.println("Total rows: " + dataList.size());
     }
 
-    public List<ExcelContent4Private> getDataList() {
+    public List<ExcelContent4PrivateSuperviseNoCar> getDataList() {
         return dataList;
     }
 }

+ 1 - 1
tenant/organization/src/main/java/com/jzg/organization/service/ReceivableService.java

@@ -431,7 +431,7 @@ public interface ReceivableService extends IService<InsPlyIncome> {
     /**
      * 导入应收的模板
      *
-     * @param type  10 表示私有协议 20 表示平台协议
+     * @param type  20 表示平台协议  11表示车险手续费 12 表示非车险手续费 13 表示车险跟单费 14 表示非车险跟单费
      * @author lipf
      * @date 2026/8/3 10:23
      */

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

@@ -2453,7 +2453,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
     /**
      * 导出应收开票模板
      *
-     * @param type  10 表示私有协议 20 表示平台协议
+     * @param type  20 表示平台协议  11表示车险手续费 12 表示非车险手续费 13 表示车险跟单费 14 表示非车险跟单费
      * @return String 导出时的提示信息
      * @author lipf
      * @date 2026/8/3 10:23
@@ -2463,10 +2463,34 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         log.info("导出模板: type=[{}]",type);
         // List<InvoiceReceivableExportExcelVo4Private> emptyList = ListUtil.empty();
 
-        if("10".equals(type)){
+        if("11".equals(type)){
             // 调用动态导出
             return exportBaseService.upLoadFile(
-                    ExcelContent4Private.class,
+                    ExcelContent4PrivateSuperviseCar.class,
+                    ListUtil.empty(),
+                    "应收开票-导出模板(私有车险手续费)-" + Instant.now()
+            );
+        }
+        if("12".equals(type)){
+            // 调用动态导出
+            return exportBaseService.upLoadFile(
+                    ExcelContent4PrivateSuperviseNoCar.class,
+                    ListUtil.empty(),
+                    "应收开票-导出模板(私有非车险手续费)-" + Instant.now()
+            );
+        }
+        if("13".equals(type)){
+            // 调用动态导出
+            return exportBaseService.upLoadFile(
+                    ExcelContent4PrivateFollow.class,
+                    ListUtil.empty(),
+                    "应收开票-导出模板(私有)-" + Instant.now()
+            );
+        }
+        if("14".equals(type)){
+            // 调用动态导出
+            return exportBaseService.upLoadFile(
+                    ExcelContent4PrivateFollow.class,
                     ListUtil.empty(),
                     "应收开票-导出模板(私有)-" + Instant.now()
             );
@@ -2519,7 +2543,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         String userName = baseController.getUserName();
         log.info("用户[{}]导入私有应设有文件",userName);
 
-        List<ExcelContent4Private> excelContents = importIncomeService.parseImportExcel4Private(file);
+        List<ExcelContent4PrivateSuperviseNoCar> excelContents = importIncomeService.parseImportExcel4Private(file);
         if (CollUtil.isEmpty(excelContents)){
             throw new SystemException("数据不能为空,导入失败");
         }

+ 4 - 4
tenant/organization/src/main/java/com/jzg/organization/service/impl/importincome/ImportIncomeServiceImpl.java

@@ -9,7 +9,7 @@ import com.jzg.commons.constants.ProductsType;
 import com.jzg.commons.core.base.BaseController;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.finance.po.InsPlyIncome;
-import com.jzg.commons.entity.finance.vo.importimcome.ExcelContent4Private;
+import com.jzg.commons.entity.finance.vo.importimcome.ExcelContent4PrivateSuperviseNoCar;
 import com.jzg.commons.entity.finance.vo.importimcome.ImportUpdateExcelResultVo;
 import com.jzg.commons.entity.finance.vo.importimcome.ExcelContent4Platform;
 import com.jzg.commons.entity.finance.vo.importimcome.ImportContentExt;
@@ -119,7 +119,7 @@ public class ImportIncomeServiceImpl implements ImportIncomeService {
      * @date 2026/8/4 9:22
      */
     @Override
-    public List<ImportContentExt> fillExcelContent4Private(List<ExcelContent4Private> excelContents) {
+    public List<ImportContentExt> fillExcelContent4Private(List<ExcelContent4PrivateSuperviseNoCar> excelContents) {
         log.info("为私有订单填充数据:excelContents.size=[{}]", CollUtil.size(excelContents));
         return List.of();
     }
@@ -292,10 +292,10 @@ public class ImportIncomeServiceImpl implements ImportIncomeService {
      * @author lipf
      * @date 2026/8/4 9:07
      */
-    public List<ExcelContent4Private> parseImportExcel4Private(MultipartFile file) {
+    public List<ExcelContent4PrivateSuperviseNoCar> parseImportExcel4Private(MultipartFile file) {
         InvoiceReceivbleExcel4PrivateListener listener = new InvoiceReceivbleExcel4PrivateListener();
         try (InputStream inputStream = file.getInputStream()) {
-            EasyExcel.read(inputStream, ExcelContent4Private.class, listener)
+            EasyExcel.read(inputStream, ExcelContent4PrivateSuperviseNoCar.class, listener)
                     .sheet()
                     .doRead();
             return listener.getDataList();

+ 3 - 3
tenant/organization/src/main/java/com/jzg/organization/service/importincome/ImportIncomeService.java

@@ -1,7 +1,7 @@
 package com.jzg.organization.service.importincome;
 
 import com.jzg.commons.entity.finance.po.InsPlyIncome;
-import com.jzg.commons.entity.finance.vo.importimcome.ExcelContent4Private;
+import com.jzg.commons.entity.finance.vo.importimcome.ExcelContent4PrivateSuperviseNoCar;
 import com.jzg.commons.entity.finance.vo.importimcome.ImportUpdateExcelResultVo;
 import com.jzg.commons.entity.finance.vo.importimcome.ExcelContent4Platform;
 import com.jzg.commons.entity.finance.vo.importimcome.ImportContentExt;
@@ -27,7 +27,7 @@ public interface ImportIncomeService {
      * @author lipf
      * @date 2026/8/4 9:22
      */
-    public List<ImportContentExt> fillExcelContent4Private(List<ExcelContent4Private> excelContents);
+    public List<ImportContentExt> fillExcelContent4Private(List<ExcelContent4PrivateSuperviseNoCar> excelContents);
 
     /**
      * 批量处理数据
@@ -60,7 +60,7 @@ public interface ImportIncomeService {
      * @author lipf
      * @date 2026/8/4 9:07
      */
-    public List<ExcelContent4Private> parseImportExcel4Private(MultipartFile file);
+    public List<ExcelContent4PrivateSuperviseNoCar> parseImportExcel4Private(MultipartFile file);
 
     /**
      * 解析并读取Excel中的内容