Переглянути джерело

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

Qchen 2 роки тому
батько
коміт
0ac35e8a3f

+ 3 - 3
src/main/java/com/ydtech/modules/fee/service/impl/CostsCalServiceImpl.java

@@ -203,7 +203,7 @@ public class CostsCalServiceImpl implements CostsCalcService {
         //交强出口总比例
         BigDecimal jqExportProportion = jqEntranceProportion.subtract(jqDeptProportion).subtract(retailStoreProportion);
         //交强出口金额
-        subOrderExportFeeVo.setJqExportCosts(insFeeOrderNew.getJqPremium().multiply(taxRadio).multiply(jqExportProportion.divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN));
+        subOrderExportFeeVo.setJqExportCosts(insFeeOrderNew.getJqPremium().multiply(jqExportProportion.divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN));
 
         //商业入口比例总和
         BigDecimal syEntranceProportion = insFeeOrderNew.getSySuperviseCostsProportion().add(insFeeOrderNew.getSyOtherCostsProportion()).divide(taxRadio,2, RoundingMode.HALF_DOWN);
@@ -212,7 +212,7 @@ public class CostsCalServiceImpl implements CostsCalcService {
         //商业出口比例总和
         BigDecimal syExportProportion = syEntranceProportion.subtract(syDeptProportion).subtract(retailStoreProportion);
         //商业出口金额
-        subOrderExportFeeVo.setSyExportCosts(insFeeOrderNew.getSyPremium().multiply(taxRadio).multiply(syExportProportion.divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN));
+        subOrderExportFeeVo.setSyExportCosts(insFeeOrderNew.getSyPremium().multiply(syExportProportion.divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN));
 
         //非车入口比例总和
         BigDecimal noEntranceProportion = insFeeOrderNew.getNoSuperviseCostsProportion().add(insFeeOrderNew.getNoOtherCostsProportion()).divide(taxRadio,2, RoundingMode.HALF_DOWN);
@@ -221,7 +221,7 @@ public class CostsCalServiceImpl implements CostsCalcService {
         //非车出口比例总和
         BigDecimal noExportProportion = noEntranceProportion.subtract(noDeptProportion).subtract(retailStoreProportion);
         //非车出口金额
-        subOrderExportFeeVo.setNoExportCosts(insFeeOrderNew.getNoPremium().multiply(taxRadio).multiply(noExportProportion.divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN));
+        subOrderExportFeeVo.setNoExportCosts(insFeeOrderNew.getNoPremium().multiply(noExportProportion.divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN));
 
         return subOrderExportFeeVo;
     }

+ 31 - 12
src/main/java/com/ydtech/modules/fee/service/impl/FeeRuleSchemeServiceImpl.java

@@ -30,6 +30,7 @@ import com.ydtech.modules.protocol.entity.po.*;
 import com.ydtech.modules.protocol.service.*;
 import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew;
 import com.ydtech.modules.protocols.entity.po.PtlAgreementProductCostsNew;
+import com.ydtech.modules.protocols.service.InsFeeOrderNewService;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.math.NumberUtils;
@@ -76,6 +77,8 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
     @Resource
     private PtlAgreementUndwrtRulesService ptlAgreementUndwrtRulesService;
 
+    @Resource
+    private InsFeeOrderNewService insFeeOrderNewService;
 
     /**
      * 根据跟单信息,以及配置的费用因子,获取合适的跟单费用
@@ -2713,6 +2716,22 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
         noExportFee.setInsuranceType("非车险");
         exportFeeList.add(noExportFee);
 
+        //计算交强一级机构管理费  入口总费用 - 出口总费用  - 二三四五级机构管理费 - 分销费用
+        jqDeptManagerFee.setDeptPremiumsLevelOne(jqEntranceFee.getTotalAmount().subtract(jqExportFee.getTotalAmount())
+                .subtract(jqDeptManagerFee.getDeptPremiumsLevelTwo()).subtract(jqDeptManagerFee.getDeptPremiumsLevelThree())
+                .subtract(jqDeptManagerFee.getDeptPremiumsLevelFoure()).subtract(jqDeptManagerFee.getDeptPremiumsLevelFive()));
+        //计算商业一级机构管理费  入口总费用 - 出口总费用  - 二三四五级机构管理费 - 分销费用
+        syDeptManagerFee.setDeptPremiumsLevelOne(syEntranceFee.getTotalAmount().subtract(syExportFee.getTotalAmount())
+                .subtract(syDeptManagerFee.getDeptPremiumsLevelTwo()).subtract(syDeptManagerFee.getDeptPremiumsLevelThree())
+                .subtract(syDeptManagerFee.getDeptPremiumsLevelFoure()).subtract(syDeptManagerFee.getDeptPremiumsLevelFive()));
+        //计算非车一级机构管理费
+        noDeptManagerFee.setDeptPremiumsLevelOne(noEntranceFee.getTotalAmount().subtract(noExportFee.getTotalAmount())
+                .subtract(noDeptManagerFee.getDeptPremiumsLevelTwo()).subtract(noDeptManagerFee.getDeptPremiumsLevelThree())
+                .subtract(noDeptManagerFee.getDeptPremiumsLevelFoure()).subtract(noDeptManagerFee.getDeptPremiumsLevelFive()));
+
+        insFeeOrderNewService.updateLevelDeptManager(insFeeOrderNew.getInsOrderNo(),jqDeptManagerFee.getDeptPremiumsLevelOne(),
+                syDeptManagerFee.getDeptPremiumsLevelOne(),noDeptManagerFee.getDeptPremiumsLevelOne());
+
         feeOrderNewVo.setEntranceFee(entranceFeeList);
         feeOrderNewVo.setExportFee(exportFeeList);
         feeOrderNewVo.setDeptManagerFee(deptManagerFeeList);
@@ -2728,16 +2747,16 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
     public FeeOrderNewVo.EntranceFee calcEntranceFee(BigDecimal premium, BigDecimal superviseCostsProportion, BigDecimal otherCostsProportion, BigDecimal taxRate){
         FeeOrderNewVo.EntranceFee entranceFee = new FeeOrderNewVo.EntranceFee();
         entranceFee.setPremium(premium);
-        premium = premium.divide(taxRate,2,RoundingMode.DOWN);
+        premium = premium.divide(taxRate,5,RoundingMode.HALF_UP);
         //手续费
-        entranceFee.setSuperviseCostsPremiums(premium.multiply(superviseCostsProportion.divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN));
+        entranceFee.setSuperviseCostsPremiums(premium.multiply(superviseCostsProportion.divide(new BigDecimal(100))).setScale(5,BigDecimal.ROUND_HALF_UP));
         entranceFee.setSuperviseCosts(superviseCostsProportion);
         //跟单费
-        entranceFee.setOtherCostsPremiums(premium.multiply(otherCostsProportion.divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN));
+        entranceFee.setOtherCostsPremiums(premium.multiply(otherCostsProportion.divide(new BigDecimal(100))).setScale(5,BigDecimal.ROUND_HALF_UP));
         entranceFee.setOtherCostsProportion(otherCostsProportion);
         //总费用比例
         BigDecimal totalCostsProportion = superviseCostsProportion.add(otherCostsProportion);
-        entranceFee.setTotalAmount(premium.multiply(totalCostsProportion.divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN));
+        entranceFee.setTotalAmount(premium.multiply(totalCostsProportion.divide(new BigDecimal(100))).setScale(5,BigDecimal.ROUND_HALF_UP));
         entranceFee.setTotalProportion(totalCostsProportion);
         return entranceFee;
     }
@@ -2756,19 +2775,19 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
                                                            BigDecimal level3Proportion,BigDecimal level4Proportion,BigDecimal level5Proportion){
         FeeOrderNewVo.DeptManagerFee deptManagerFee = new FeeOrderNewVo.DeptManagerFee();
         //一级管理费
-        deptManagerFee.setDeptPremiumsLevelOne(premium.multiply(level1Proportion.divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN));
+        deptManagerFee.setDeptPremiumsLevelOne(premium.multiply(level1Proportion.divide(new BigDecimal(100))).setScale(5,BigDecimal.ROUND_HALF_UP));
         deptManagerFee.setDeptProportionLevelOne(level1Proportion);
         //二级管理费
-        deptManagerFee.setDeptPremiumsLevelTwo(premium.multiply(level2Proportion.divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN));
+        deptManagerFee.setDeptPremiumsLevelTwo(premium.multiply(level2Proportion.divide(new BigDecimal(100))).setScale(5,BigDecimal.ROUND_HALF_UP));
         deptManagerFee.setDeptProportionLevelTwo(level2Proportion);
         //三级管理费
-        deptManagerFee.setDeptPremiumsLevelThree(premium.multiply(level3Proportion.divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN));
+        deptManagerFee.setDeptPremiumsLevelThree(premium.multiply(level3Proportion.divide(new BigDecimal(100))).setScale(5,BigDecimal.ROUND_HALF_UP));
         deptManagerFee.setDeptProportionLevelThree(level3Proportion);
         //四级管理费
-        deptManagerFee.setDeptPremiumsLevelFoure(premium.multiply(level4Proportion.divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN));
+        deptManagerFee.setDeptPremiumsLevelFoure(premium.multiply(level4Proportion.divide(new BigDecimal(100))).setScale(5,BigDecimal.ROUND_HALF_UP));
         deptManagerFee.setDeptProportionLevelFoure(level4Proportion);
         //五级管理费
-        deptManagerFee.setDeptPremiumsLevelFive(premium.multiply(level5Proportion.divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN));
+        deptManagerFee.setDeptPremiumsLevelFive(premium.multiply(level5Proportion.divide(new BigDecimal(100))).setScale(5,BigDecimal.ROUND_HALF_UP));
         deptManagerFee.setDeptProportionLevelFive(level5Proportion);
         return deptManagerFee;
     }
@@ -2806,9 +2825,9 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
             exportFee.setOtherCostsProportion(exportTotalProportion.subtract(superviseCostsProportion));
             exportFee.setSuperviseCosts(superviseCostsProportion);
         }
-        exportFee.setSuperviseCostsPremiums(premium.multiply(exportFee.getSuperviseCosts().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN));
-        exportFee.setOtherCostsPremiums(premium.multiply(exportFee.getOtherCostsProportion().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN));
-        exportFee.setTotalAmount(premium.multiply(exportFee.getTotalProportion().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN));
+        exportFee.setSuperviseCostsPremiums(premium.multiply(exportFee.getSuperviseCosts().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_HALF_UP));
+        exportFee.setOtherCostsPremiums(premium.multiply(exportFee.getOtherCostsProportion().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_HALF_UP));
+        exportFee.setTotalAmount(premium.multiply(exportFee.getTotalProportion().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_HALF_UP));
         return exportFee;
     }
 

+ 26 - 1
src/main/java/com/ydtech/modules/order/aop/aspect/QuoteVerificationAspect.java

@@ -35,7 +35,6 @@ import com.ydtech.modules.protocols.service.InsFeeOrderNewService;
 import com.ydtech.utils.StringUtils;
 import com.ydtech.utils.idgen.IdGenerate;
 import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
 import org.aspectj.lang.JoinPoint;
 import org.aspectj.lang.annotation.AfterReturning;
 import org.aspectj.lang.annotation.Aspect;
@@ -238,4 +237,30 @@ public class QuoteVerificationAspect {
         insAreaCompanyService.insertCompanyAndOrders(insAreaCompany);
     }
 
+
+   /**
+    *  @version
+    *  @author: hxl
+    *  @Date: 2024/5/10 15:38
+    *  @Description:   后置处理器更新子订单的险种类型
+    */
+   @AfterReturning(pointcut = "@annotation(com.ydtech.modules.order.aop.QuoteVerification)", returning = "result")
+     public void afterUpdatePruduct(HttpResult<QuoteRespVo> result) {
+       //计算费用因子
+       if(result.getCode() == 200) {
+           InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(result.getData().getCompanyId());
+           InsOrders insOrders = insOrdersService.getById(insAreaCompany.getOrderno());
+           //通过主订单的信息判断
+           List<RiskInfoVo> risks = insOrders.getRisk().toJavaList(RiskInfoVo.class);
+           List<KindInfoVo> kinds = insOrders.getKing().toJavaList(KindInfoVo.class);
+           //获取订单的险种信息
+           insOrders.productInformation(risks, kinds);
+           String product = insOrders.getProduct();
+           String productid = insOrders.getProductid();
+           insAreaCompany.setProduct(product);
+           insAreaCompany.setProductid(productid);
+           //更新子订单的险种信息
+           insAreaCompanyService.updateById(insAreaCompany);
+       }
+    }
 }

+ 12 - 0
src/main/java/com/ydtech/modules/order/entity/InsAreaCompany.java

@@ -423,6 +423,18 @@ public class InsAreaCompany implements Serializable {
      */
     //@TableField(value = "error_status")
     //private Integer errorStatus;
+    // add by  hxl  2024-05-10  子订单添加产品信息 更新   险种信息从子订单中获取
+    /**
+     * 产品id
+     */
+    @TableField(value = "productid")
+    private String productid;
+
+    /**
+     * 产品名称
+     */
+    @TableField(value = "product")
+    private String product;
 
     public InsAreaCompany(QuoteRespVo quoteRespVo, PtlAgreementAttribution ptlAgreementAttribution) {
         this.id = IdGenerate.nextId();

+ 12 - 1
src/main/java/com/ydtech/modules/order/entity/InsOrders.java

@@ -243,6 +243,17 @@ public class InsOrders implements Serializable {
     @TableField(exist = false)
     private String partnerCompaniesName;   //合作公司简称
 
+    @TableField(exist = false)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime signingTime;   //签单时间
+
+
+    @TableField(exist = false)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime payDate;   //支付时间
+
+
+
     public InsOrders(SysUser user, SysDept dept, BaseQuoteInfoVo quoteInfoVo) {
         // 2. 组装订单
         this.setQuoteno(String.valueOf(quoteInfoVo.getQuoteno()));
@@ -310,7 +321,7 @@ public class InsOrders implements Serializable {
      * @param risks 主险种
      * @param kinds 商业险险种
      */
-    private void productInformation(List<RiskInfoVo> risks, List<KindInfoVo> kinds) {
+    public void productInformation(List<RiskInfoVo> risks, List<KindInfoVo> kinds) {
         /**
          * 投保险种逻辑
          * 单交-单交强

+ 6 - 5
src/main/java/com/ydtech/modules/order/entity/vo/InsOrdersEditingVo.java

@@ -160,11 +160,11 @@ public class InsOrdersEditingVo extends InsOrders implements Serializable {
             this.inscompany = insAreaCompany.getInscompany();
             this.kindList = ObjectUtils.isEmpty(insAreaCompany.getKindinfo()) ? new ArrayList<>() :
                     insAreaCompany.getKindinfo().toJavaList(QuoteKindRespVo.class);
-            this.jqPremium = insAreaCompany.getJqpremium().doubleValue();
-            this.syPremium = insAreaCompany.getSypremium().doubleValue();
-            this.jyPremium = insAreaCompany.getJypremium().doubleValue();
-            this.taxAmount = insAreaCompany.getTaxamount().doubleValue();
-            this.sumPermium = insAreaCompany.getSumpremium().doubleValue();
+            this.jqPremium = ObjectUtils.isEmpty(insAreaCompany.getJqpremium()) ? 0.0 :insAreaCompany.getJqpremium().doubleValue();
+            this.syPremium = ObjectUtils.isEmpty(insAreaCompany.getSypremium()) ? 0.0 :insAreaCompany.getSypremium().doubleValue();
+            this.jyPremium = ObjectUtils.isEmpty(insAreaCompany.getJypremium()) ? 0.0 :insAreaCompany.getJypremium().doubleValue();
+            this.taxAmount = ObjectUtils.isEmpty(insAreaCompany.getTaxamount()) ? 0.0 :insAreaCompany.getTaxamount().doubleValue();
+            this.sumPermium = ObjectUtils.isEmpty(insAreaCompany.getSumpremium()) ? 0.0 :insAreaCompany.getSumpremium().doubleValue();
             this.startDateJq = insAreaCompany.getJqStartDate();
             this.endDateJq = insAreaCompany.getJqEndDate();
             this.startDateSy = insAreaCompany.getSyStartDate();
@@ -175,6 +175,7 @@ public class InsOrdersEditingVo extends InsOrders implements Serializable {
             this.lossRation = insAreaCompany.getLossRation();
             this.jqLossRation = insAreaCompany.getJqLossRation();
             this.syLossRation = insAreaCompany.getSyLossRation();
+            this.ubiPredictedInfoScore = insAreaCompany.getUbiPredictedInfoScore();
         }
     }
 

+ 10 - 0
src/main/java/com/ydtech/modules/order/entity/vo/OrderQueryVo.java

@@ -127,6 +127,16 @@ public class OrderQueryVo {
     @ApiModelProperty(value = "机构来源")
     private String managementSource;
 
+    @ApiModelProperty(value = "签单开始时间")
+    private String signStartDateStr;
+    @ApiModelProperty(value = "签单结束时间")
+    private String signEndDateStr;
+
+    @ApiModelProperty(value = "支付开始时间")
+    private String payStartDateStr;
+    @ApiModelProperty(value = "支付结束时间")
+    private String payEndDateStr;
+
 
     public LocalDate getEndDatePlusOneDay() {
         if(ObjectUtils.isEmpty(endDate)){

+ 13 - 0
src/main/java/com/ydtech/modules/order/entity/vo/OrderVo.java

@@ -422,4 +422,17 @@ public class OrderVo implements Serializable {
      * 出单人性别
      */
     public String sex;
+
+    @TableField(exist = false)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime signingTime;   //签单时间
+
+
+    @TableField(exist = false)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime payDate;   //支付时间
+
+
+    @TableField(exist = false)
+    private String partnerCompaniesName;   //合作公司简称
 }

+ 18 - 11
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -997,18 +997,25 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         if(esmUserReferrer != null){
             SysUser referrerUser = sysUserService.findByUserId(esmUserReferrer.getReferrerId());
             SysUserInfo referrerSysUserInfo = sysUserInfoService.getById(esmUserReferrer.getReferrerId());
-            if("M".equals(referrerSysUserInfo.getSex())){
-                orderAndAreaCompany.setReferrerSex("男");
-            }else{
-                orderAndAreaCompany.setReferrerSex("女");
+            // add by  hxl 添加非空判断  防止报错
+            if(!ObjectUtils.isEmpty(referrerSysUserInfo)){
+                if("M".equals(referrerSysUserInfo.getSex())){
+                    orderAndAreaCompany.setReferrerSex("男");
+                }else{
+                    orderAndAreaCompany.setReferrerSex("女");
+                }
             }
-            orderAndAreaCompany.setReferrerMobile(referrerUser.getMobile());
-            orderAndAreaCompany.setReferrerNo(referrerUser.getId());
-            orderAndAreaCompany.setReferrerName(referrerUser.getName());
-            orderAndAreaCompany.setReferrerDeptId(referrerUser.getDeptId());
-            SysDept sysDept = sysDeptService.getById(referrerUser.getDeptId());
-            orderAndAreaCompany.setReferrerDeptName(sysDept.getName());
-            orderAndAreaCompany.setReferrerDeptAreaInfo(sysDeptService.queryBelongArea(referrerUser.getDeptId()));
+            // add by  hxl 添加非空判断 防止报错
+            if(!ObjectUtils.isEmpty(referrerUser)){
+                orderAndAreaCompany.setReferrerMobile(referrerUser.getMobile());
+                orderAndAreaCompany.setReferrerNo(referrerUser.getId());
+                orderAndAreaCompany.setReferrerName(referrerUser.getName());
+                orderAndAreaCompany.setReferrerDeptId(referrerUser.getDeptId());
+                SysDept sysDept = sysDeptService.getById(referrerUser.getDeptId());
+                orderAndAreaCompany.setReferrerDeptName(sysDept.getName());
+                orderAndAreaCompany.setReferrerDeptAreaInfo(sysDeptService.queryBelongArea(referrerUser.getDeptId()));
+            }
+
         }
 
         //计算今年应缴税

+ 9 - 0
src/main/java/com/ydtech/modules/protocols/service/InsFeeOrderNewService.java

@@ -3,6 +3,7 @@ package com.ydtech.modules.protocols.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -28,4 +29,12 @@ public interface InsFeeOrderNewService extends IService<InsFeeOrderNew> {
      */
     List<InsFeeOrderNew> getByUserIdAndOrderStatusAndNoCheck(String userId);
 
+    /**
+     * 更新一级机构管理费用
+     * @param insOrderNo
+     * @param jqPremium
+     * @return
+     */
+    boolean updateLevelDeptManager(String insOrderNo, BigDecimal jqPremium, BigDecimal syPremium, BigDecimal noPremium);
+
 }

+ 12 - 0
src/main/java/com/ydtech/modules/protocols/service/impl/InsFeeOrderNewServiceImpl.java

@@ -7,6 +7,7 @@ import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew;
 import com.ydtech.modules.protocols.service.InsFeeOrderNewService;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -49,4 +50,15 @@ public class InsFeeOrderNewServiceImpl extends ServiceImpl<InsFeeOrderNewMapper,
     public List<InsFeeOrderNew> getByUserIdAndOrderStatusAndNoCheck(String userId) {
         return baseMapper.getByUserIdAndOrderStatusAndNoCheck(userId);
     }
+
+    @Override
+    public boolean updateLevelDeptManager(String insOrderNo, BigDecimal jqPremium, BigDecimal syPremium, BigDecimal noPremium) {
+        InsFeeOrderNew insFeeOrderNew = baseMapper.selectOne(new LambdaQueryWrapper<InsFeeOrderNew>()
+                .eq(InsFeeOrderNew::getInsOrderNo, insOrderNo));
+        insFeeOrderNew.setJqDeptPremiumsLevel1(jqPremium);
+        insFeeOrderNew.setSyDeptPremiumsLevel1(syPremium);
+        insFeeOrderNew.setNoDeptPremiumsLevel1(noPremium);
+        baseMapper.updateById(insFeeOrderNew);
+        return true;
+    }
 }

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

@@ -413,7 +413,7 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
                 .lt(PtlAgreementProductCostsNew::getCostsStartDate, formattedDateTime)
                 .gt(PtlAgreementProductCostsNew::getCostsEndDate, formattedDateTime)
                 .eq(PtlAgreementProductCostsNew::getIsAudit, "1")//查找审核已通过的
-                .orderBy(true, true, PtlAgreementProductCostsNew::getPriorityLevel));
+                .orderBy(true, false, PtlAgreementProductCostsNew::getPriorityLevel));
 
         List<AgreementProductCosts> agreementProductCosts = new ArrayList<>();
 

+ 15 - 7
src/main/resources/mapper/modules/order/InsAreaCompanyMapper.xml

@@ -138,14 +138,18 @@
         ifa.audittime as auditTime,
         ifa.auditstatus as auditStatus,
         eic.namesimple as partnerCompaniesName,
-        iac.id as  subOrderId
+        iac.id as  subOrderId,
+        iac.signing_time as signingTime,
+        iac.pay_date  as payDate,
+        pa.agreement_code as agreementCode,
+        pa.agreement_name as agreementName
         FROM
         ins_orders io
-        LEFT JOIN ins_fee_audit ifa ON ifa.orderno = io.orderno
+        LEFT JOIN ins_area_company iac ON iac.orderno = io.orderno and iac.orderstatus = 3
+        LEFT JOIN ins_fee_audit ifa ON ifa.ins_order_no = iac.id
         LEFT JOIN sys_user su ON su.id = io.userid
         LEFT JOIN sys_dept sd ON sd.id = su.dept_id
         LEFT JOIN sys_user su2 ON ifa.audituser = su2.id
-        LEFT JOIN ins_area_company iac ON iac.orderno = io.orderno and iac.orderstatus = 3
         LEFT JOIN ptl_agreement pa ON pa.id = iac.agreement_id
         LEFT JOIN esm_ins_company eic on eic.id = pa.partner_companies_id
         WHERE
@@ -181,10 +185,10 @@
         <if test="params.riskCode != null and params.riskCode != ''">
             and io.product = #{params.riskCode}
         </if>
-        <if test="params.quoteStartDateStr != null and params.quoteStartDateStr != ''">
+        <if test="params.quoteStartDateStr != null and params.quoteStartDateStr != '' and params.quoteEndDateStr != null and params.quoteEndDateStr != ''">
             and  DATE_FORMAT(io.createtime, '%Y-%m-%d') between #{params.quoteStartDateStr} AND #{params.quoteEndDateStr}
         </if>
-        <if test="params.attachStartDateStr != null and params.attachStartDateStr != ''">
+        <if test="params.attachStartDateStr != null and params.attachStartDateStr != '' and params.attachStartDateStr != null and params.attachStartDateStr != '' ">
             and  ((
             DATE_FORMAT(io.jqstartdate, '%Y-%m-%d') BETWEEN #{params.attachStartDateStr}
             AND #{params.attachEndDateStr}
@@ -219,8 +223,12 @@
         <if test="params.managementSource != null and params.managementSource != ''">
             and sd.management_source = #{params.managementSource}
         </if>
-
-
+        <if test="params.signStartDateStr != null and params.signStartDateStr != '' and params.signEndDateStr != null and params.signEndDateStr != ''">
+            and  DATE_FORMAT(io.createtime, '%Y-%m-%d') between #{params.signStartDateStr} AND #{params.signEndDateStr}
+        </if>
+        <if test="params.payStartDateStr != null and params.payStartDateStr != '' and params.payEndDateStr != null and params.payEndDateStr != ''">
+            and  DATE_FORMAT(io.createtime, '%Y-%m-%d') between #{params.payStartDateStr} AND #{params.payEndDateStr}
+        </if>
     </select>
 
     <select id="getByUserId" resultType="com.ydtech.modules.order.entity.InsOrders">

+ 10 - 1
src/main/resources/mapper/modules/order/InsOrdersMapper.xml

@@ -115,6 +115,10 @@
         <result property="crossInsurance" column="cross_insurance" javaType="com.alibaba.fastjson.JSONArray"
                 typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
         <result property="ubiPredictedInfoScore" column="ubi_predicted_info_score" jdbcType="VARCHAR"/>
+        <result property="signingTime" column="signingTime" jdbcType="TIMESTAMP"/>
+        <result property="payDate" column="payDate" jdbcType="TIMESTAMP"/>
+        <result property="partnerCompaniesName" column="partnerCompaniesName" jdbcType="VARCHAR"/>
+
     </resultMap>
 
 
@@ -221,9 +225,14 @@
                iac.accident_info,
                iac.tax_arrears,
                iac.cross_insurance,
-               iac.ubi_predicted_info_score
+               iac.ubi_predicted_info_score,
+               iac.signing_time as signingTime,
+               iac.pay_date  as payDate,
+               eic.namesimple as partnerCompaniesName
         from ins_orders as o
                  join ins_area_company iac on o.orderno = iac.orderno
+                 LEFT JOIN ptl_agreement pa ON pa.id = iac.agreement_id
+                 LEFT JOIN esm_ins_company eic on eic.id = pa.partner_companies_id
         where iac.id = #{companyId}
     </select>