Parcourir la source

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

Qchen il y a 1 an
Parent
commit
18060afe0c

+ 4 - 0
src/main/java/com/ydtech/modules/admin/model/vo/SysPremiumDetailsVo.java

@@ -69,6 +69,10 @@ public class SysPremiumDetailsVo {
     @ApiModelProperty(value = "贡献合伙人名称")
     private String profferName;
 
+    @ApiModelProperty(value = "贡献人名称")
+    private String workName;
+
+
     /**
      * 存放贡献费用每集合伙人的等级和比例
      */

+ 4 - 1
src/main/java/com/ydtech/modules/admin/service/impl/SysPartnerServiceImpl.java

@@ -1448,6 +1448,9 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
                 sysPremiumDetailsVo.setProfferLevel(sysPartner.getType());
                 SysUser sysUser = sysUserMapper.selectById(sysPartner.getUserId());
                 sysPremiumDetailsVo.setProfferName(sysUser.getName());
+                //直接工作室产生费用,显示工作室名称
+                SysDept sysDept1 = sysDeptMapper.selectById(sysAgencyLeader.getDeptId());
+                sysPremiumDetailsVo.setWorkName(sysDept1.getName());
             }
             sysPremiumDetailsVo.setSumpremium(sysPremiumDetails1.getSumpremium());
             SysUser sysUser = sysUserMapper.selectById(sysPremiumDetails1.getIssuerId());
@@ -1866,7 +1869,7 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
     @Override
     public List<SysPartnerVo> getRelationInfo(String userId) {
         List<SysPartnerVo> sysPartners = new ArrayList<>();
-        //登陆人的上级合伙人信息
+        //登陆人的上级合伙人信息
         SysPartner sysPartner = sysPartnerMapper.selectOne(new LambdaQueryWrapper<SysPartner>()
                 .eq(SysPartner::getUserId, userId).eq(SysPartner::getDelFlag, 1));
         SysPartnerVo sysPartnerVo = BeanUtil.copyProperties(sysPartner, SysPartnerVo.class);

+ 4 - 2
src/main/java/com/ydtech/modules/fee/service/impl/FeeRuleSchemeServiceNewImpl.java

@@ -2,7 +2,6 @@ package com.ydtech.modules.fee.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ydtech.constants.enums.dict.insurance.EnergyType;
-import com.ydtech.constants.enums.dict.insurance.NatureOfVehicleUse;
 import com.ydtech.constants.enums.dict.insurance.VehicleType;
 import com.ydtech.exception.SystemException;
 import com.ydtech.modules.admin.model.SysUser;
@@ -47,7 +46,6 @@ import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
-import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
@@ -1623,6 +1621,10 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
         //默认分销比例设置
         RetailProportion retailProportion = new RetailProportion();
         if (!Objects.isNull(esmRetailList) && !esmRetailList.isEmpty()) {
+            //处理数据空指针异常   add by hxl  2024-12-19
+            if(esmRetailList.get(0).getRetailtype()==null){
+                esmRetailList.get(0).setRetailtype("0");
+            }
             retailLevel = Integer.parseInt(esmRetailList.get(0).getRetailtype());
             //赋值默认的分销比例
             retailProportion.setProportion(esmRetailList.get(0).getDisrate1(), esmRetailList.get(0).getDisrate2(), esmRetailList.get(0).getDisrate3());

+ 31 - 0
src/main/java/com/ydtech/modules/order/controller/ExternalOrderController.java

@@ -20,6 +20,7 @@ import com.ydtech.modules.order.service.InsTaskImagesService;
 import com.ydtech.modules.protocol.entity.po.PtlAgreement;
 import com.ydtech.modules.protocol.service.PtlAgreementService;
 import com.ydtech.modules.protocols.entity.po.PtlAgreementProductCostsNew;
+import com.ydtech.modules.protocols.entity.vo.InquiryNowFeeQueryVo;
 import com.ydtech.modules.protocols.service.PtlAgreementProductCostsNewService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -28,6 +29,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
 import java.util.Objects;
 
 import static com.ydtech.modules.base.model.vo.PageVo.buildPageRequest;
@@ -205,6 +207,8 @@ public class ExternalOrderController {
         externalOrderFeeVo.blank();
         ExternalOrderFeeVo resultExternalOrderFeeVo = feeRuleSchemeNewService.calcCostsExternalExportData(ptlAgreement, noInquiryNowFee, externalOrderFeeVo);
 
+        resultExternalOrderFeeVo.setCostId(noInquiryNowFee!=null?noInquiryNowFee.getId():"");
+
         return HttpResult.ok(resultExternalOrderFeeVo);
     }
 
@@ -214,4 +218,31 @@ public class ExternalOrderController {
 
         return insOrdersService.delExternalOrder(insOrdersEditingVo)? HttpResult.ok("删除成功") : HttpResult.error("删除失败");
     }
+
+    /**
+     * 外部订单非现询费用
+     */
+    @PostMapping("/externalInquiryNowFeeOrderFee")
+    @ApiOperation("外部订单非现询费用")
+    public HttpResult<Object> externalInquiryNowFeeOrderFee(@RequestBody ExternalOrderFeeVo externalOrderFeeVo){
+        PtlAgreement ptlAgreement = ptlAgreementService.getById(externalOrderFeeVo.getAgreementId());
+        ProductsType productsType = InsuranceRisk.determineInsuranceInformation(externalOrderFeeVo.getKinds(), externalOrderFeeVo.getRisks());
+        externalOrderFeeVo.setProductCode(productsType.getCode());
+        InquiryNowFeeQueryVo inquiryNowFeeQueryVo =new InquiryNowFeeQueryVo();
+        inquiryNowFeeQueryVo.setAgreementId(externalOrderFeeVo.getAgreementId());
+        inquiryNowFeeQueryVo.setProductId(productsType.getCode());
+        List<PtlAgreementProductCostsNew> inquiryNowFeeList = ptlAgreementProductCostsNewService.getInquiryNowFee(inquiryNowFeeQueryVo);
+        PtlAgreementProductCostsNew noInquiryNowFee =  new PtlAgreementProductCostsNew();
+        if(inquiryNowFeeList == null || inquiryNowFeeList.size()==0){
+            throw new SystemException("不存在非现询费用");
+        }else{
+            noInquiryNowFee = inquiryNowFeeList.get(0);
+        }
+        externalOrderFeeVo.blank();
+        ExternalOrderFeeVo resultExternalOrderFeeVo = feeRuleSchemeNewService.calcCostsExternalExportData(ptlAgreement, noInquiryNowFee, externalOrderFeeVo);
+
+        resultExternalOrderFeeVo.setCostId(noInquiryNowFee!=null?noInquiryNowFee.getId():"");
+
+        return HttpResult.ok(resultExternalOrderFeeVo);
+    }
 }

+ 8 - 0
src/main/java/com/ydtech/modules/order/dao/InsOrdersMapper.java

@@ -183,4 +183,12 @@ public interface InsOrdersMapper extends BaseMapper<InsOrders> {
             @Param("type") Integer code,
             @Param("flag") Boolean flag
     );
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/12/16 10:34
+     *  @Description: 更新空值
+     */
+    boolean updateWithNull(InsOrders insOrders);
 }

+ 6 - 0
src/main/java/com/ydtech/modules/order/entity/InsAreaCompanyExternalFee.java

@@ -49,6 +49,12 @@ public class InsAreaCompanyExternalFee implements Serializable {
     @TableField(value = "no_other_costs_proportion")
     private BigDecimal noOtherCostsProportion;
 
+    @TableField(value = "cost_id")
+    private String  costId;
+
+    @TableField(value = "cost_flag")
+    private String  costFlag;
+
 
     public BigDecimal getJqSuperviseCostsProportion() {
         return jqSuperviseCostsProportion == null ? BigDecimal.ZERO : jqSuperviseCostsProportion;

+ 5 - 1
src/main/java/com/ydtech/modules/order/entity/vo/BaseQuoteVo.java

@@ -1,6 +1,5 @@
 package com.ydtech.modules.order.entity.vo;
 
-import com.alibaba.fastjson.JSONArray;
 import com.ydtech.modules.ins.model.vo.KindInfoVo;
 import com.ydtech.modules.ins.model.vo.RiskInfoVo;
 import com.ydtech.modules.order.entity.vo.guoren.GuoRenSpecialAgreementVo;
@@ -176,4 +175,9 @@ public class BaseQuoteVo<T> {
 
     @ApiModelProperty("报价比例")
     private BigDecimal quoteRatio;
+
+    // add by hxl
+    @ApiModelProperty("是否现询 1.是 2.否")
+    private String costFlag;
+
 }

+ 8 - 0
src/main/java/com/ydtech/modules/order/entity/vo/ExternalOrderFeeVo.java

@@ -91,6 +91,14 @@ public class ExternalOrderFeeVo {
     @ApiModelProperty(value = "计算的非车入口比例")
     private BigDecimal NoCostsProportion;
 
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/12/16 12:07
+     *  @Description: 费用id
+     */
+    private String  costId;
+
 
     public void blank(){
         if(Objects.isNull(this.jqPremium)){

+ 17 - 2
src/main/java/com/ydtech/modules/order/entity/vo/InsOrdersEditingVo.java

@@ -13,15 +13,14 @@ import com.ydtech.modules.order.entity.InsBusinessInsurance;
 import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.entity.TaxArrears;
 import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
-import com.ydtech.utils.BigDecimalUtils;
 import com.ydtech.modules.protocol.entity.dto.PtlAgreementInsCompanyDto;
+import com.ydtech.utils.BigDecimalUtils;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import org.apache.commons.lang3.ObjectUtils;
 
-import javax.persistence.NamedQueries;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
@@ -93,6 +92,22 @@ public class InsOrdersEditingVo extends InsOrders implements Serializable {
     @ApiModelProperty("现询费用id")
     private String nowCostsId;
 
+    // add  by  2024-12-16
+    @ApiModelProperty("是否现询 1.是 2.否")
+    private String costFlag;
+
+    // add  by  2024-12-17
+    @ApiModelProperty("交强出口比例")
+    private String  jqExportFee;
+
+    // add  by  2024-12-17
+    @ApiModelProperty("商业出口比例")
+    private String  syExportFee;
+
+    // add  by  2024-12-17
+    @ApiModelProperty("非车出口比例")
+    private String  noExportFee;
+
     @Data
     @AllArgsConstructor
     @NoArgsConstructor

+ 33 - 7
src/main/java/com/ydtech/modules/order/service/impl/InsAreaCompanyServiceImpl.java

@@ -558,10 +558,20 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         if (quoteVo.getStageFlag() == null) {
             throw new SystemException("暂存标志为空");
         }
-
         validQuoteVo(quoteVo);
-
-
+        if (StringUtils.isBlank(quoteVo.getAgreementId())) {
+            throw new SystemException("请选择协议!!");
+        }
+        if (StringUtils.isBlank(quoteVo.getCostFlag())) {
+            throw new SystemException("是否现询不能为空!");
+        }
+        if(StringUtils.isBlank(quoteVo.getNowCostsId())){
+            throw new SystemException("费用不能为空!!");
+        }
+        String nowCostsId = quoteVo.getNowCostsId();
+        if("1".equals(quoteVo.getCostFlag())){
+            nowCostsId =null;
+        }
 //        LambdaQueryWrapper<InsAreaCompany> queryWrapper = new LambdaQueryWrapper<>();
 //        queryWrapper.eq(InsAreaCompany::getJqpolicyno, quoteVo.getJqpolicyno())
 //                .or()
@@ -601,7 +611,7 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         agreementProductQueryVo.setProductCode(productId);
         agreementProductQueryVo.setIsAudit("1");
         agreementProductQueryVo.setAgreementId(ptlAgreement.getId());
-        agreementProductQueryVo.setNowCostsId(quoteVo.getNowCostsId());
+        agreementProductQueryVo.setNowCostsId(nowCostsId);
 
         List<PtlAgreementProductCostsNew> costsNews = ptlAgreementProductCostsNewService.getByAgreementId(agreementProductQueryVo);
 
@@ -723,6 +733,8 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         insAreaCompanyExternalFee.setNoSuperviseCostsProportion(quoteVo.getNoSuperviseCostsProportion() != null ? quoteVo.getNoSuperviseCostsProportion() : new BigDecimal(0));
         insAreaCompanyExternalFee.setNoOtherCostsProportion(quoteVo.getNoOtherCostsProportion() != null ? quoteVo.getNoOtherCostsProportion() : new BigDecimal(0));
 
+        insAreaCompanyExternalFee.setCostId(ptlAgreementProductCostsNew.getId());
+        insAreaCompanyExternalFee.setCostFlag(quoteVo.getCostFlag());
         this.insAreaCompanyExternalFeeService.save(insAreaCompanyExternalFee);
 
 
@@ -818,6 +830,16 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         if (StringUtils.isBlank(insOrdersEditingVo.getAgreementId())) {
             throw new SystemException("请选择协议!!");
         }
+        if (StringUtils.isBlank(insOrdersEditingVo.getCostFlag())) {
+            throw new SystemException("是否现询不能为空!");
+        }
+        if(StringUtils.isBlank(insOrdersEditingVo.getNowCostsId())){
+            throw new SystemException("费用不能为空!!");
+        }
+        String nowCostsId = insOrdersEditingVo.getNowCostsId();
+        if("1".equals(insOrdersEditingVo.getCostFlag())){
+            nowCostsId =null;
+        }
         //通过协议id 查询费用
         PtlAgreement ptlAgreement = ptlAgreementService.getById(insOrdersEditingVo.getAgreementId());
         InsOrders insOrders = new InsOrders();
@@ -848,7 +870,8 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
             insOrders.setOrderstatus(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode());
             insOrders.setInsureTime(insOrdersEditingVo.getSignDate());
         }
-        insOrdersService.updateById(insOrders);
+        //更新空值
+        insOrdersMapper.updateWithNull(insOrders);
         String subOrderNo = insOrdersEditingVo.getInsAreaCompanyList().get(0).getId();
         //处理保单
         InsAreaCompanyExternalPolicy externalPolicy = new InsAreaCompanyExternalPolicy();
@@ -880,11 +903,11 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         //查找协议的费用
         AgreementProductQueryVo agreementProductQueryVo = new AgreementProductQueryVo();
         List<String> productId = new ArrayList<>();
-        productId.add(insOrders.getProductid());
+        productId.add(insAreaCompany.getProductid());
         agreementProductQueryVo.setProductCode(productId);
         agreementProductQueryVo.setIsAudit("1");
         agreementProductQueryVo.setAgreementId(ptlAgreement.getId());
-        agreementProductQueryVo.setNowCostsId(insOrdersEditingVo.getNowCostsId());
+        agreementProductQueryVo.setNowCostsId(nowCostsId);
 
         List<PtlAgreementProductCostsNew> costsNews = ptlAgreementProductCostsNewService.getByAgreementId(agreementProductQueryVo);
 
@@ -898,6 +921,9 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
 
         InsAreaCompanyExternalFee insAreaCompanyExternalFee = new InsAreaCompanyExternalFee();
         insAreaCompanyExternalFee.setSubOrderNo(subOrderNo);
+        // add by hxl 2024-12-16    添加费用id 和是否现询
+        insAreaCompanyExternalFee.setCostId(insOrdersEditingVo.getNowCostsId());
+        insAreaCompanyExternalFee.setCostFlag(insOrdersEditingVo.getCostFlag());
         if (insOrdersEditingVo.getJqCostsProportion() != null) {
             if (jqSuperviseCostsProportion.compareTo(insOrdersEditingVo.getJqCostsProportion()) > 0) {
                 //总比例等于手续费比例

+ 20 - 0
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -1130,6 +1130,19 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
             }
             insOrdersEditingVo.setJypolicyno(application);
 
+            InsFeeAudit feeAuditByInsOrderNo = insFeeAuditService.getFeeAuditByInsOrderNo(insAreaCompanyList.get(0).getId());
+            int status=0;
+            if(feeAuditByInsOrderNo !=null){
+                String auditstatus = feeAuditByInsOrderNo.getAuditstatus();
+                if("2".equals(auditstatus)){
+                    status=1;
+                }else{
+                    status=2;
+                }
+            }
+            //添加订单状态   add by hxl  2024-12-17
+            insOrdersEditingVo.setOrderExternalStatus(status);
+
             InsAreaCompanyExternalPolicy policyByCompanyId = insAreaCompanyExternalPolicyService.getPolicyByCompanyId(insAreaCompanyList.get(0).getId());
 //            insOrdersEditingVo.setExternalPolicy(policyByCompanyId);
 
@@ -1209,6 +1222,13 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
                     insFeeOrderNews.get(0).getNoOtherCostsProportion().compareTo(BigDecimal.ZERO) > 0) {
                 insOrdersEditingVo.setNoCostsProportion(insAreaCompanyExternalFee.getNoSuperviseCostsProportion().add(insAreaCompanyExternalFee.getNoOtherCostsProportion()));
             }
+            // add by hxl 2024-12-16    添加费用id 和是否现询
+            insOrdersEditingVo.setNowCostsId(insAreaCompanyExternalFee.getCostId());
+            insOrdersEditingVo.setCostFlag(insAreaCompanyExternalFee.getCostFlag());
+            insOrdersEditingVo.setJqExportFee(insAreaCompanyExternalFee.getCostFlag());
+            insOrdersEditingVo.setSyExportFee(insAreaCompanyExternalFee.getCostFlag());
+            insOrdersEditingVo.setNoExportFee(insAreaCompanyExternalFee.getCostFlag());
+
         }
 
         //计算费用

+ 4 - 0
src/main/java/com/ydtech/modules/protocols/service/impl/PtlAgreementProductCostsNewServiceImpl.java

@@ -2400,6 +2400,8 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
         queryWrapper.gt(PtlAgreementProductCostsNew::getCostsEndDate, LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
 
         queryWrapper.eq(PtlAgreementProductCostsNew::getIsAudit, "1");
+        //费用审核
+        queryWrapper.eq(PtlAgreementProductCostsNew::getValidStatus, 1);
         queryWrapper.eq(PtlAgreementProductCostsNew::getIsInquiryNow, "0");
         List<PtlAgreementProductCostsNew> ptlAgreementProductCostsNews = baseMapper.selectList(queryWrapper);
 
@@ -2435,6 +2437,8 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
         queryWrapper.gt(PtlAgreementProductCostsNew::getCostsEndDate, LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
 
         queryWrapper.eq(PtlAgreementProductCostsNew::getIsAudit, "1");
+        //费用审核
+        queryWrapper.eq(PtlAgreementProductCostsNew::getValidStatus, 1);
         queryWrapper.eq(PtlAgreementProductCostsNew::getIsInquiryNow, "1");
 
         queryWrapper.eq(PtlAgreementProductCostsNew::getAgreementId, agreementId);