فهرست منبع

费用校验-审核订单时 添加 调整费用比例功能 轨迹表增加

cuixinpeng 2 سال پیش
والد
کامیت
5007ee5614

+ 1 - 1
src/main/java/com/ydtech/modules/fee/service/FeeRuleSchemeService.java

@@ -38,5 +38,5 @@ public interface FeeRuleSchemeService {
      * @param jqCostsProportionStr
      * @param syCostsProportionStr
      */
-    void compareAndUpdateFeeOrderInfo(String insOrderNo ,String jqCostsProportionStr,String syCostsProportionStr);
+    void compareAndUpdateFeeOrderInfo(String insOrderNo ,String jqCostsProportionStr,String syCostsProportionStr,String dealUser);
 }

+ 13 - 1
src/main/java/com/ydtech/modules/fee/service/impl/FeeRuleSchemeServiceImpl.java

@@ -18,10 +18,12 @@ import com.ydtech.modules.ins.model.vo.CarInfoVo;
 import com.ydtech.modules.ins.model.vo.KindInfoVo;
 import com.ydtech.modules.ins.model.vo.QuoteRespVo;
 import com.ydtech.modules.order.entity.InsAreaCompany;
+import com.ydtech.modules.order.entity.InsCopyFeeOrder;
 import com.ydtech.modules.order.entity.InsFeeOrder;
 import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.entity.vo.*;
 import com.ydtech.modules.order.service.InsAreaCompanyService;
+import com.ydtech.modules.order.service.InsCopyFeeOrderService;
 import com.ydtech.modules.order.service.InsFeeOrderService;
 import com.ydtech.modules.order.service.InsOrdersService;
 import com.ydtech.modules.protocol.entity.po.*;
@@ -51,6 +53,8 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
     @Resource
     private InsFeeOrderService insFeeOrderService;
     @Resource
+    private InsCopyFeeOrderService insCopyFeeOrderService;
+    @Resource
     private SysUserService sysUserService;
     @Resource
     private SysDeptService sysDeptService;
@@ -1291,8 +1295,9 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
         }
         insFeeOrderService.insertCompanyAndOrders(insFeeOrder);
     }
-    public void compareAndUpdateFeeOrderInfo( String insOrderNo,String jqCostsProportionStr,String syCostsProportionStr ){
+    public void compareAndUpdateFeeOrderInfo( String insOrderNo,String jqCostsProportionStr,String syCostsProportionStr ,String dealUser){
         InsFeeOrder insFeeOrder = insFeeOrderService.getByInsOrderNo(insOrderNo);
+        InsCopyFeeOrder insCopyFeeOrder = new InsCopyFeeOrder(insFeeOrder,insOrderNo,dealUser);
         boolean updateFlag = false;
         if(insFeeOrder.getJqPremium().doubleValue()>0 && StringUtils.isNotEmpty(jqCostsProportionStr)){
             BigDecimal JqCostsProportion = new BigDecimal(jqCostsProportionStr);
@@ -1303,6 +1308,9 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
                 insFeeOrder.setJqCostsProportion(JqCostsProportion);
                 //交强险总费用
                 insFeeOrder.setJqCostsPremiums(getPremium(insFeeOrder.getJqNoTaxPremium(),insFeeOrder.getJqCostsProportion()));
+
+                insCopyFeeOrder.setJqCostsProportion(insFeeOrder.getJqCostsProportion());
+                insCopyFeeOrder.setJqCostsPremiums(insFeeOrder.getJqCostsPremiums());
             }
         }
         if(insFeeOrder.getSyPremium().doubleValue()>0 && StringUtils.isNotEmpty(syCostsProportionStr)){
@@ -1314,10 +1322,14 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
                 insFeeOrder.setSyCostsProportion(SyCostsProportion);
                 //商业险总费用
                 insFeeOrder.setSyCostsPremiums(getPremium(insFeeOrder.getSyNoTaxPremium(),insFeeOrder.getSyCostsProportion()));
+
+                insCopyFeeOrder.setSyCostsProportion(insFeeOrder.getSyCostsProportion());
+                insCopyFeeOrder.setSyCostsPremiums(insFeeOrder.getSyCostsPremiums());
             }
         }
         if(updateFlag){
             insFeeOrderService.updateById(insFeeOrder);
+            insCopyFeeOrderService.insertCompanyAndOrders(insCopyFeeOrder);
         }
     }
 

+ 2 - 1
src/main/java/com/ydtech/modules/fnc/controller/CarSettleController.java

@@ -91,7 +91,8 @@ public class CarSettleController extends BaseController {
         if(areaList!=null && areaList.size()>0){
             try{
                 if("1".equals(auditOrderFeeVo.getUpdateFlag())){
-                    feeRuleSchemeService.compareAndUpdateFeeOrderInfo( areaList.get(0).getId(),auditOrderFeeVo.getJqCostsProportionStr(),auditOrderFeeVo.getSyCostsProportionStr());
+                    String userId = getUserId();
+                    feeRuleSchemeService.compareAndUpdateFeeOrderInfo( areaList.get(0).getId(),auditOrderFeeVo.getJqCostsProportionStr(),auditOrderFeeVo.getSyCostsProportionStr(),userId);
                 }
                 insFeeAuditService.feeAudit( orderNo, areaList.get(0).getId());
             }catch (Exception e){

+ 18 - 0
src/main/java/com/ydtech/modules/order/dao/InsCopyFeeOrderMapper.java

@@ -0,0 +1,18 @@
+package com.ydtech.modules.order.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ydtech.modules.order.entity.InsCopyFeeOrder;
+
+/**
+ * @author CXP
+ * @description 针对表【ins_copy_fee_order(报价渠道)】的数据库操作Mapper
+ * @createDate 2023-01-31 15:51:19
+ * @Entity generator.domain.InsAgreementOrder
+ */
+public interface InsCopyFeeOrderMapper extends BaseMapper<InsCopyFeeOrder> {
+
+}
+
+
+
+

+ 111 - 0
src/main/java/com/ydtech/modules/order/entity/InsCopyFeeOrder.java

@@ -0,0 +1,111 @@
+package com.ydtech.modules.order.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ydtech.utils.idgen.IdGenerate;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * 订单费用跟单表轨迹表
+ *
+ * @TableName ins_copy_fee_order
+ */
+@TableName(value = "ins_copy_fee_order", autoResultMap = true)
+@Data
+@ApiModel(value = "报价渠道")
+@NoArgsConstructor
+public class InsCopyFeeOrder implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId(value = "id")
+    private String id;
+    /**
+     * 订单号
+     */
+    @TableField(value = "ins_order_no")
+    private String insOrderNo;
+
+    /**
+     * 交强险费用比例
+     */
+    @TableField(value = "jq_costs_proportion_orig")
+    private BigDecimal jqCostsProportionOrig;
+
+    /**
+     * 商业险费用比例
+     */
+    @TableField(value = "sy_costs_proportion_orig")
+    private BigDecimal syCostsProportionOrig;
+
+    /**
+     * 交强险总费用
+     */
+    @TableField(value = "jq_costs_premiums_orig")
+    private BigDecimal jqCostsPremiumsOrig;
+
+    /**
+     * 商业险总费用
+     */
+    @TableField(value = "sy_costs_premiums_orig")
+    private BigDecimal syCostsPremiumsOrig;
+
+    /**
+     * 交强险费用比例
+     */
+    @TableField(value = "jq_costs_proportion")
+    private BigDecimal jqCostsProportion;
+
+    /**
+     * 商业险费用比例
+     */
+    @TableField(value = "sy_costs_proportion")
+    private BigDecimal syCostsProportion;
+
+    /**
+     * 交强险总费用
+     */
+    @TableField(value = "jq_costs_premiums")
+    private BigDecimal jqCostsPremiums;
+
+    /**
+     * 商业险总费用
+     */
+    @TableField(value = "sy_costs_premiums")
+    private BigDecimal syCostsPremiums;
+
+    /**
+     * 处理调整工号
+     */
+    @TableField(value = "deal_user")
+    private String dealUser;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "create_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime createTime;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+    public InsCopyFeeOrder(InsFeeOrder insFeeOrder, String insOrderNo,String dealUser) {
+        this.id = IdGenerate.nextId();
+        this.insOrderNo = insOrderNo;
+        this.dealUser = dealUser;
+        this.jqCostsProportionOrig = insFeeOrder.getJqCostsProportion();
+        this.syCostsProportionOrig = insFeeOrder.getSyCostsProportion();
+        this.jqCostsPremiumsOrig = insFeeOrder.getJqCostsPremiums();
+        this.syCostsPremiumsOrig = insFeeOrder.getSyCostsPremiums();
+    }
+
+}

+ 44 - 0
src/main/java/com/ydtech/modules/order/service/InsCopyFeeOrderService.java

@@ -0,0 +1,44 @@
+package com.ydtech.modules.order.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.modules.order.entity.InsCopyFeeOrder;
+import com.ydtech.modules.order.entity.InsFeeOrder;
+
+/**
+ * @author CXP
+ * @description 针对表【ins_copy_fee_order(费用跟单)】的数据库操作Service
+ * @createDate 2023-9-12 21:30:24
+ */
+public interface InsCopyFeeOrderService extends IService<InsCopyFeeOrder> {
+
+    /**
+     * 通过子订单查询费用跟单表
+     *
+     * @param companyId 子订单
+     * @return InsAreaCompany
+     */
+    InsCopyFeeOrder getByIdIsExist(String companyId);
+
+
+    /**
+     * 通过 保险公司订单号查询费用跟单表
+     *
+     * @param insOrderNo 保险公司订单号
+     * @return InsAreaCompany
+     */
+    InsCopyFeeOrder getByInsOrderNo(String insOrderNo);
+
+    /**
+     * 修改费用跟单表
+     *
+     * @param insCopyFeeOrder
+     */
+    void updateCompanyAndOrders(InsCopyFeeOrder insCopyFeeOrder);
+
+    /**
+     * 插入费用跟单表
+     *
+     * @param insCopyFeeOrder
+     */
+    void insertCompanyAndOrders(InsCopyFeeOrder insCopyFeeOrder);
+}

+ 52 - 0
src/main/java/com/ydtech/modules/order/service/impl/InsCopyFeeOrderServiceImpl.java

@@ -0,0 +1,52 @@
+package com.ydtech.modules.order.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.exception.SystemException;
+import com.ydtech.modules.order.dao.InsCopyFeeOrderMapper;
+import com.ydtech.modules.order.entity.InsCopyFeeOrder;
+import com.ydtech.modules.order.service.InsCopyFeeOrderService;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
+
+/**
+ * @author CXP
+ * @description 针对表【ins_copy_fee_order(费用跟单)】的数据库操作Service实现
+ * @createDate 2023-9-12 21:29:23
+ */
+@Service
+public class InsCopyFeeOrderServiceImpl extends ServiceImpl<InsCopyFeeOrderMapper, InsCopyFeeOrder>
+        implements InsCopyFeeOrderService {
+
+
+    @Override
+    public InsCopyFeeOrder getByIdIsExist(String companyId) {
+        InsCopyFeeOrder insCopyFeeOrder = this.getById(companyId);
+        if (ObjectUtils.isEmpty(insCopyFeeOrder)) {
+            throw new SystemException("费用跟单表不存在");
+        }
+        return insCopyFeeOrder;
+    }
+
+    @Override
+    public InsCopyFeeOrder getByInsOrderNo(String insOrderNo) {
+        return baseMapper.selectOne(new LambdaQueryWrapper<InsCopyFeeOrder>().eq(InsCopyFeeOrder::getInsOrderNo, insOrderNo));
+    }
+
+    @Override
+    @Transactional
+    public void updateCompanyAndOrders(InsCopyFeeOrder insCopyFeeOrder) {
+        baseMapper.updateById(insCopyFeeOrder);
+    }
+
+    @Override
+    public void insertCompanyAndOrders(InsCopyFeeOrder insCopyFeeOrder) {
+        baseMapper.insert(insCopyFeeOrder);
+    }
+
+}
+
+
+
+

+ 26 - 0
src/main/resources/mapper/modules/order/InsCopyFeeOrder.xml

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ydtech.modules.order.dao.InsCopyFeeOrderMapper">
+
+    <resultMap id="BaseResultMap" type="com.ydtech.modules.order.entity.InsCopyFeeOrder">
+        <id property="id" column="id" jdbcType="VARCHAR"/>
+        <result property="insOrderNo" column="ins_order_no" jdbcType="VARCHAR"/>
+        <result property="jqCostsProportionOrig" column="jq_costs_proportion_orig" jdbcType="DECIMAL"/>
+        <result property="syCostsProportionOrig" column="sy_costs_proportion_orig" jdbcType="DECIMAL"/>
+        <result property="jqCostsPremiumsOrig" column="jq_costs_premiums_orig" jdbcType="DECIMAL"/>
+        <result property="syCostsPremiumsOrig" column="sy_costs_premiums_orig" jdbcType="DECIMAL"/>
+        <result property="jqCostsProportion" column="jq_costs_proportion" jdbcType="DECIMAL"/>
+        <result property="syCostsProportion" column="sy_costs_proportion" jdbcType="DECIMAL"/>
+        <result property="jqCostsPremiums" column="jq_costs_premiums" jdbcType="DECIMAL"/>
+        <result property="syCostsPremiums" column="sy_costs_premiums" jdbcType="DECIMAL"/>
+        <result property="dealUser" column="deal_user" jdbcType="VARCHAR"/>
+        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,insOrderNo,jqCostsProportion,syCostsProportion
+    </sql>
+
+</mapper>