Browse Source

Merge branch 'refs/heads/test' into test-dx

dongxin 1 year ago
parent
commit
c1e16de46a
19 changed files with 183 additions and 64 deletions
  1. 16 0
      src/main/java/com/ydtech/modules/admin/model/dto/BusinessAgentExcel.java
  2. 5 5
      src/main/java/com/ydtech/modules/admin/model/dto/GetChannelExcel.java
  3. 6 5
      src/main/java/com/ydtech/modules/admin/model/vo/BusinessAgentData.java
  4. 7 1
      src/main/java/com/ydtech/modules/admin/service/impl/CompanyDataReportServiceImpl.java
  5. 32 18
      src/main/java/com/ydtech/modules/fee/service/impl/FeeRuleSchemeServiceNewImpl.java
  6. 1 1
      src/main/java/com/ydtech/modules/lg/PushLgLogUtils.java
  7. 2 2
      src/main/java/com/ydtech/modules/order/components/yangguang/YangGuangEncryption.java
  8. 1 1
      src/main/java/com/ydtech/modules/order/components/yangguang/YangGuangRequestApiComponents.java
  9. 2 0
      src/main/java/com/ydtech/modules/order/dao/InsTaskImagesMapper.java
  10. 41 26
      src/main/java/com/ydtech/modules/order/entity/api/yangguang/request/YangGuangAccuracyCalculateRequest.java
  11. 6 0
      src/main/java/com/ydtech/modules/order/entity/crawler/request/CrawlerQuoteRequest.java
  12. 2 0
      src/main/java/com/ydtech/modules/order/service/InsTaskImagesService.java
  13. 1 0
      src/main/java/com/ydtech/modules/order/service/impl/GuorenOrderApiServiceImpl.java
  14. 5 0
      src/main/java/com/ydtech/modules/order/service/impl/InsCrawlerOrderServiceImpl.java
  15. 38 0
      src/main/java/com/ydtech/modules/order/service/impl/InsTaskImagesServiceImpl.java
  16. 4 3
      src/main/java/com/ydtech/modules/order/service/impl/YangGuangOrderApiServiceImpl.java
  17. 3 1
      src/main/java/com/ydtech/modules/scheme/service/impl/PtlSchemeServiceImpl.java
  18. 2 1
      src/main/resources/mapper/modules/admin/TaskStatisticsMapper.xml
  19. 9 0
      src/main/resources/mapper/modules/ins/InsTaskImagesMapper.xml

+ 16 - 0
src/main/java/com/ydtech/modules/admin/model/dto/BusinessAgentExcel.java

@@ -39,4 +39,20 @@ public class BusinessAgentExcel {
 
     @ExcelProperty(value = "非车险保费", index = 9)
     private BigDecimal jypremium;
+
+    @ExcelProperty(value = "单交订单数", index = 10)
+    private Integer riskCodeDj;
+
+    @ExcelProperty(value = "单商订单数", index = 11)
+    private Integer riskCodeDs;
+
+
+    @ExcelProperty(value = "单三订单数", index = 12)
+    private Integer riskCodeDsan;
+
+    @ExcelProperty(value = "交三订单数", index = 13)
+    private Integer riskCodeJs;
+
+    @ExcelProperty(value = "交商订单数", index = 14)
+    private Integer riskCodeJshang;
 }

+ 5 - 5
src/main/java/com/ydtech/modules/admin/model/dto/GetChannelExcel.java

@@ -43,18 +43,18 @@ public class GetChannelExcel {
 
 
     @ExcelProperty(value = "单交订单数", index = 10)
-    private String riskCodeDj;
+    private Integer riskCodeDj;
 
     @ExcelProperty(value = "单商订单数", index = 11)
-    private String riskCodeDs;
+    private Integer riskCodeDs;
 
 
     @ExcelProperty(value = "单三订单数", index = 12)
-    private String riskCodeDsan;
+    private Integer riskCodeDsan;
 
     @ExcelProperty(value = "交三订单数", index = 13)
-    private String riskCodeJs;
+    private Integer riskCodeJs;
 
     @ExcelProperty(value = "交商订单数", index = 14)
-    private String riskCodeJshang;
+    private Integer riskCodeJshang;
 }

+ 6 - 5
src/main/java/com/ydtech/modules/admin/model/vo/BusinessAgentData.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import io.swagger.models.auth.In;
 import lombok.Data;
 
 import java.math.BigDecimal;
@@ -66,19 +67,19 @@ public class BusinessAgentData {
     private String leaderName;
 
     @ApiModelProperty(value = "交三订单数")
-    private String riskCodeJs;
+    private Integer riskCodeJs;
 
     @ApiModelProperty(value = "单交订单数")
-    private String riskCodeDj;
+    private Integer riskCodeDj;
 
     @ApiModelProperty(value = "交商订单数")
-    private String riskCodeJshang;
+    private Integer riskCodeJshang;
 
     @ApiModelProperty(value = "单商订单数")
-    private String riskCodeDs;
+    private Integer riskCodeDs;
 
     @ApiModelProperty(value = "单三订单数")
-    private String riskCodeDsan;
+    private Integer riskCodeDsan;
 
 
     @ApiModelProperty(value = "毛利润")

+ 7 - 1
src/main/java/com/ydtech/modules/admin/service/impl/CompanyDataReportServiceImpl.java

@@ -318,7 +318,13 @@ public class CompanyDataReportServiceImpl implements CompanyDataReportService {
                 e.printStackTrace();
             }
         }
-        String fileName = EasyExcelUtils.downExcel(uploadPath, "小定单明细", QuotationDetailsExcel.class, resultSubOrder);
+        String fileName = EasyExcelUtils.downExcel(
+                uploadPath,
+                "1".equals(companyQutationCountDataQueryDto.getManagementSource()) ? "小订单渠道代理人导出" :
+                        "2".equals(companyQutationCountDataQueryDto.getManagementSource()) ? "小订单代理人明细导出" : "小订单明细",
+                QuotationDetailsExcel.class,
+                resultSubOrder
+        );
         return HttpResult.ok("", uploadUrl + "excel/" + fileName);
     }
 

+ 32 - 18
src/main/java/com/ydtech/modules/fee/service/impl/FeeRuleSchemeServiceNewImpl.java

@@ -3087,14 +3087,13 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
 //            }
             return inputNumberEqual(ptlAgreementUndwrtRulesAttrLink, value);
         } else if (ptlAgreementUndwrtRulesAttr.getAttrType().equals("input")) {
-            return inputTextEqual(ptlAgreementUndwrtRulesAttrLink, value);
-        } else if (ptlAgreementUndwrtRulesAttr.getAttrType().equals("select")) {
-
             //截取身份证号码
             if (ptlAgreementUndwrtRulesAttr.getAttrCode().equals("CarOwnersIDNumber") || ptlAgreementUndwrtRulesAttr.getAttrCode().equals("ApplicantIDNumber") ||
                     ptlAgreementUndwrtRulesAttr.getAttrCode().equals("InsuredIDNumber")) {
-                value = value.substring(0, ptlAgreementUndwrtRulesAttr.getMin().length());
+                value = value.substring(0, ptlAgreementUndwrtRulesAttrLink.getMin().length());
             }
+            return inputTextEqual(ptlAgreementUndwrtRulesAttrLink, value);
+        } else if (ptlAgreementUndwrtRulesAttr.getAttrType().equals("select")) {
 
             //截取车牌
             if (ptlAgreementUndwrtRulesAttr.getAttrCode().equals("LicenseNo")) {
@@ -3243,21 +3242,36 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
     private boolean inputTextEqual(PtlAgreementUndwrtRulesAttrLink ptlAgreementUndwrtRulesAttrLink, String value) {
         //将值进行分割
         String[] split = ptlAgreementUndwrtRulesAttrLink.getMin().split(",");
-        AtomicBoolean returnBool = new AtomicBoolean(true);
-        if (ptlAgreementUndwrtRulesAttrLink.getAttrCode().equals("NatureOfUse")) {
-            Arrays.stream(split).forEach(x -> {
-                if (!x.equals("") && value.equals(x)) {
-                    returnBool.set(false);
-                }
-            });
-        } else {
-            Arrays.stream(split).forEach(x -> {
-                if (!x.equals("") && value.contains(x)) {
-                    returnBool.set(false);
-                }
-            });
+        AtomicBoolean returnBool = new AtomicBoolean(false);
+
+        List<String> equalsMap = new ArrayList<>();
+        //字符型评分
+        equalsMap.add("CharacterBasedRating");
+        //交强字符型评分
+        equalsMap.add("JqCharacterBasedRating");
+        //商业字符型评分
+        equalsMap.add("SyCharacterBasedRating");
+
+
+
+        //equest 等于判断
+        if(equalsMap.contains(ptlAgreementUndwrtRulesAttrLink.getAttrCode())){
+            boolean b = Arrays.stream(split).anyMatch(value::equals);
+            returnBool.set(b);
+        }else if((ptlAgreementUndwrtRulesAttrLink.getAttrCode().equals("BrandandModel") || ptlAgreementUndwrtRulesAttrLink.getAttrCode().equals("CarOwnerName")
+                || ptlAgreementUndwrtRulesAttrLink.getAttrCode().equals("CarOwnersAddress") || ptlAgreementUndwrtRulesAttrLink.getAttrCode().equals("ApplicantAddress")
+                || ptlAgreementUndwrtRulesAttrLink.getAttrCode().equals("InsuredAddress"))
+                && ptlAgreementUndwrtRulesAttrLink.getOperator().equals("2")){
+            //处理品牌型号  不包含的情况
+            boolean anyMatch = Arrays.stream(split)
+                    .anyMatch(value::contains);
+            returnBool.set(!anyMatch);
+        }else {
+            boolean anyMatch = Arrays.stream(split)
+                    .anyMatch(value::contains);
+            returnBool.set(anyMatch);
         }
-        return returnBool.get();
+        return !returnBool.get();
     }
 
     /**

+ 1 - 1
src/main/java/com/ydtech/modules/lg/PushLgLogUtils.java

@@ -68,7 +68,7 @@ public class PushLgLogUtils {
             return;
         }
         PushLgDataServer lgDataServer = new PushLgDataServer();
-        lgDataServer.setOrderNo(accountingUser.getOrderno());
+        lgDataServer.setOrderNo(accountingUser.getId());
         lgDataServer.setUserName(String.valueOf(accountingUser.getInsureinfo().get("name")));
         lgDataServer.setUserCarNum(String.valueOf(accountingUser.getCarinfo().get("licenseNo")));
         lgDataServer.setUserPhone(String.valueOf(accountingUser.getInsureinfo().get("mobile")));

+ 2 - 2
src/main/java/com/ydtech/modules/order/components/yangguang/YangGuangEncryption.java

@@ -345,10 +345,10 @@ public class YangGuangEncryption {
             return authcode(source, key, Decode, 0);
         }
 
-    public String encryptRequestBody(Object request, String key) {
+    public String encryptRequestBody(Object request, String key,String url) {
         try {
             String s = JSON.toJSONString(request);
-            InsuranceLog.infoLog(InsuranceEnum.YGBX.getPinyin(), "\n\t---------> URl: {} \n---------> 请求参数:{}", "", s);
+            InsuranceLog.infoLog(InsuranceEnum.YGBX.getPinyin(), "\n\t---------> URl: {} \n---------> 请求参数:{}",url,s);
 
             return authcodeEncode(s, key);
         } catch (Exception e) {

+ 1 - 1
src/main/java/com/ydtech/modules/order/components/yangguang/YangGuangRequestApiComponents.java

@@ -70,7 +70,7 @@ public class YangGuangRequestApiComponents {
         // 发送请求
         String url = yangGuangApiConfigurationProperties.getUrl();
         String encryptRequestBody = yangGuangEncryption.encryptRequestBody
-                (q, yangGuangApiConfigurationProperties.getKey());
+                (q, yangGuangApiConfigurationProperties.getKey(),url);
         //设置请求头类型
         HttpHeaders headers = new HttpHeaders();
         HttpEntity<String> entity = new HttpEntity<>(encryptRequestBody, headers);

+ 2 - 0
src/main/java/com/ydtech/modules/order/dao/InsTaskImagesMapper.java

@@ -18,6 +18,8 @@ public interface InsTaskImagesMapper extends BaseMapper<InsTaskImages> {
 
     List<InsTaskImagesDto> getByQuoteNoInsTaskImagesDtoList(String quoteNo);
 
+    List<InsUploadImagesDto> getByQuoteNoToBase64List(String quoteNo);
+
     List<InsUploadImagesDto> getByOrderNoInsUploadImagesDtoList(String orderNo);
     /**
      *  @version

+ 41 - 26
src/main/java/com/ydtech/modules/order/entity/api/yangguang/request/YangGuangAccuracyCalculateRequest.java

@@ -238,39 +238,54 @@ public class YangGuangAccuracyCalculateRequest extends YangGuangBaseRequest{
         this.Modelinfoid = carmodellist.getModelinfoid();
         List<RiskInfoVo> riskList = quoteInfoVo.getRiskList();
         for (RiskInfoVo riskInfo : riskList) {
+            // 商业险起保终保计算
             if(InsuranceRisk.BUSINESS_CODE.equals(riskInfo.getRiskCode())) {
-                LocalDateTime biStartTime = LocalDateTime.parse(riskInfo.getStartDate(), formatter);
-                LocalDateTime biEndTime = biStartTime.plusYears(1).with(LocalTime.MIDNIGHT).minusSeconds(1);
-                this.BiStartDate = biStartTime.format(formatter);
-                this.BiEndDate = biEndTime.format(formatter);
-                // 重复投保
-                if (isRepeat) {
-                    if (remarkBi != null && !remarkBi.equals("")) {
-                        Pattern pattern = Pattern.compile("终保日期:(\\d{12})");
-                        Matcher matcher = pattern.matcher(remarkBi);
-                        if (matcher.find()) {
-                            DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyyMMddHHmm");
-                            String endDateStr = matcher.group(1);
-                            LocalDateTime biStartTime1 = LocalDateTime.parse(endDateStr, inputFormatter);
-                            LocalDateTime biEndTime1 = biStartTime1.plusYears(1).minusDays(1).minusSeconds(1);
-                            this.BiStartDate = biStartTime1.format(formatter);
-                            this.BiEndDate = biEndTime1.format(formatter);
-                        }
+                LocalDateTime biStartTime;
+                LocalDateTime biEndTime;
+                if (riskInfo.getStartDate().endsWith("00:00")) {
+                    biStartTime = LocalDateTime.parse(riskInfo.getStartDate(), formatter);
+                    biEndTime = biStartTime.plusYears(1).minusSeconds(1);
+                } else {
+                    biStartTime = LocalDateTime.parse(riskInfo.getStartDate(), formatter);
+                    biEndTime = biStartTime.plusYears(1).minusDays(1).minusSeconds(1);
+                }
+                // 商业重复投保
+                if (remarkBi != null && !remarkBi.isEmpty()) {
+                    Pattern pattern = Pattern.compile("终保日期:(\\d{12})",Pattern.DOTALL);
+                    Matcher matcher = pattern.matcher(remarkBi);
+                    if (matcher.find()) {
+                        DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyyMMddHHmm");
+                        String endDateStr = matcher.group(1);
+                        biStartTime = LocalDateTime.parse(endDateStr, inputFormatter);
+                        biEndTime = endDateStr.endsWith("0000") ? biStartTime.plusYears(1).minusSeconds(1)
+                            : biStartTime.plusYears(1).minusDays(1).minusSeconds(1);
                     }
                 }
+                this.BiStartDate = biStartTime.format(formatter);
+                this.BiEndDate = biEndTime.format(formatter);
             }
+            //交强险起保终保计算
             if (InsuranceRisk.TRAFFIC_CODE.equals(riskInfo.getRiskCode())) {
-                LocalDateTime ciStartTime = LocalDateTime.parse(riskInfo.getStartDate(), formatter);
-                LocalDateTime ciEndTime = LocalDateTime.parse(riskInfo.getEndDate(), formatter);
-                this.CiStartDate = ciStartTime.format(formatter);
-                this.CiEndDate = ciEndTime.format(formatter);
-                // 重复投保
+                // 基础保险期限计算
+                LocalDateTime ciStartTime;
+                LocalDateTime ciEndTime;
+                if (riskInfo.getStartDate().endsWith("00:00:00")) {
+                    ciStartTime = LocalDateTime.parse(riskInfo.getStartDate(), formatter);
+                    ciEndTime = ciStartTime.plusYears(1).minusSeconds(1);
+                } else {
+                    ciStartTime = LocalDateTime.parse(riskInfo.getStartDate(), formatter);
+                    ciEndTime = ciStartTime.plusYears(1).minusDays(1).minusSeconds(1);
+                }
+                // 如果是重复投保,根据startDate调整保险期限
                 if (isRepeat) {
-                    LocalDateTime ciStartTime1 = LocalDateTime.parse(startDate, formatter);
-                    LocalDateTime ciEndTime1 = ciStartTime1.plusYears(1).minusDays(1).minusSeconds(1);
-                    this.CiStartDate = ciStartTime1.format(formatter);
-                    this.CiEndDate = ciEndTime1.format(formatter);
+                    ciStartTime = LocalDateTime.parse(startDate, formatter);
+                    ciEndTime = startDate.endsWith("00:00")
+                            ? ciStartTime.plusYears(1).minusSeconds(1)
+                            : ciStartTime.plusYears(1).minusDays(1).minusSeconds(1);
                 }
+                // 设置最终的保险期限
+                this.CiStartDate = ciStartTime.format(formatter);
+                this.CiEndDate = ciEndTime.format(formatter);
             }
         }
         if (riskInfoVo.getInstantFlag().equals("1")) {

+ 6 - 0
src/main/java/com/ydtech/modules/order/entity/crawler/request/CrawlerQuoteRequest.java

@@ -5,6 +5,7 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 @EqualsAndHashCode(callSuper = true)
 @Data
@@ -55,4 +56,9 @@ public class CrawlerQuoteRequest extends BaseQuoteInfoVo {
      */
     private Integer maxQuoteNum;
 
+    /**
+     * 人保图片信息
+     */
+    List<CrawlerImageRequest.B64phoListDTO> b64pho_list;
+
 }

+ 2 - 0
src/main/java/com/ydtech/modules/order/service/InsTaskImagesService.java

@@ -36,6 +36,8 @@ public interface InsTaskImagesService extends IService<InsTaskImages> {
      */
     HttpResult<Map<String, InsTaskImagesDto>> findByQuoteNo(String quoteNo);
 
+    List<InsTaskImagesBase64> findByQuoteNoToBase64(String orderNo, String companyId);
+
 
 
     List<InsTaskImagesBase64> findByOrderNo(String orderNo, String companyId, boolean b);

+ 1 - 0
src/main/java/com/ydtech/modules/order/service/impl/GuorenOrderApiServiceImpl.java

@@ -1163,6 +1163,7 @@ public class GuorenOrderApiServiceImpl implements GuorenOrderApiService {
             //2、 转保
             boo = GuorenDuplicateInsuranceComponent.buildCheckCodeParam(resp, requestInfoList, req);
             if (boo) {
+                a++;
                 SysQuoteRecord sysQuoteRecord = new SysQuoteRecord(yaQuoteInfoVo.getUserid(),companyId,yaQuoteInfoVo.getCarInfo().getLicenseNo(),
                         QuoteNumberConstant.QuoteAction.TRANSFER_INSRUANCE.getCode().toString(),QuoteNumberConstant.QuoteResult.FAIL.getCode().toString());
                 sysQuoteRecords.add(sysQuoteRecord);

+ 5 - 0
src/main/java/com/ydtech/modules/order/service/impl/InsCrawlerOrderServiceImpl.java

@@ -160,6 +160,11 @@ public class InsCrawlerOrderServiceImpl implements InsCrawlerOrderService {
             String value = ptlAttributionTemplateDto.getValue();
             crawlerQuoteRequest.setForm(value);
         }
+        if (ptlAgreementAttribution.getInsCompanyId().equals("PICC1000000")) {
+            String quoteNo = order.getQuoteno();
+            List<InsTaskImagesBase64> insTaskImagesBase64List = insTaskImagesService.findByQuoteNoToBase64(quoteNo, ptlAgreementAttribution.getInsCompanyId());
+            crawlerQuoteRequest.setB64pho_list(CrawlerImageRequest.toB64phoListDTO(insTaskImagesBase64List));
+        }
 
         // 发送请求
         CrawlerQuoteResponse response = insCrawlerOrderComponents.request(apiUrl, ptlAgreementAttribution.getInsCompanyId(),

+ 38 - 0
src/main/java/com/ydtech/modules/order/service/impl/InsTaskImagesServiceImpl.java

@@ -100,6 +100,44 @@ public class InsTaskImagesServiceImpl extends ServiceImpl<InsTaskImagesMapper, I
         return HttpResult.ok(collect);
     }
 
+    @Override
+    public List<InsTaskImagesBase64> findByQuoteNoToBase64(String quoteNo, String companyId) {
+        // 获取缓存中的影像信息
+        JSONObject uploadImage = insImagesUploadCacheComponents.isUploadImage(companyId);
+        List<InsUploadImagesDto> insUploadImagesDtos = baseMapper.getByQuoteNoToBase64List(quoteNo);
+        if (insUploadImagesDtos.isEmpty()) {
+            throw new SystemException("请检查影像是否上传");
+        }
+        // 使用 imagesId 去重
+        List<InsUploadImagesDto> deduplication = insUploadImagesDtos.stream().collect(
+                Collectors.collectingAndThen(
+                        Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(InsUploadImagesDto::getImageId))),
+                        ArrayList::new));
+
+        // 图片路劲转base64
+        Map<String, String> map = new HashMap<>();
+
+        for (InsUploadImagesDto target : deduplication) {
+            String base64B = Base64Utils.encodeToString(FileUtil.readBytes(target.getFilePath()));
+            // 文件id
+            map.put(target.getImageId(), base64B);
+        }
+
+        List<InsTaskImagesBase64> collect = insUploadImagesDtos.stream()
+                // 过滤缓存中 存在的 imageId
+                .filter(x -> !x.getImageId().equals(uploadImage.get(x.getImageType())))
+                .map(x -> new InsTaskImagesBase64(x, map))
+                .collect(Collectors.toList());
+
+        // 核心逻辑是否是覆盖
+        if (!collect.isEmpty()) {
+            return insUploadImagesDtos.stream()
+                    .map(x -> new InsTaskImagesBase64(x, map))
+                    .collect(Collectors.toList());
+        }
+        return collect;
+    }
+
     @Override
     public List<InsTaskImagesBase64> findByOrderNo(String orderNo, String companyId, boolean b) {
 

+ 4 - 3
src/main/java/com/ydtech/modules/order/service/impl/YangGuangOrderApiServiceImpl.java

@@ -114,9 +114,9 @@ public class YangGuangOrderApiServiceImpl implements YangGuangOrderApiService {
         // 查询车型
         YangGuangQueryVehicleModelRequest yangGuangQueryVehicleModelRequest = new YangGuangQueryVehicleModelRequest(quoteInfoVo.getCarInfo(), ygConfigureParameters);
         if (quoteInfoVo.getCarInfo().isNoLicenseFlag()) {
-            yangGuangQueryVehicleModelRequest.setIsNewCar("1");
-        } else {
             yangGuangQueryVehicleModelRequest.setIsNewCar("0");
+        } else {
+            yangGuangQueryVehicleModelRequest.setIsNewCar("1");
         }
         YangGuangQueryVehicleModelResponse yangGuangQueryVehicleModelResponse = yangGuangRequestApiComponents.queryVehicleModel(yangGuangQueryVehicleModelRequest);
         List<YangGuangQueryVehicleModelResponse.carmodellist> carModelList = yangGuangQueryVehicleModelResponse.getCarmodellist();
@@ -284,7 +284,8 @@ public class YangGuangOrderApiServiceImpl implements YangGuangOrderApiService {
             if (yangGuangAccuracyCalculateResponse.getErrorCode().equals("0")) {
                 YangGuangAccuracyCalculateResponse.itemcar itemcar = yangGuangAccuracyCalculateResponse.getItemcar();
                 String actualValue = itemcar.getActualValue();
-                YangGuangAccuracyCalculateRequest yangGuangAccuracyCalculateRequest1 = new YangGuangAccuracyCalculateRequest(quoteInfoVo, actualValue, carModelList1, riskList.get(0),startDate,ygConfigureParameters,quoteVo,false,null,null);
+                String remarkBI = yangGuangAccuracyCalculateResponse.getRemarkBi();
+                YangGuangAccuracyCalculateRequest yangGuangAccuracyCalculateRequest1 = new YangGuangAccuracyCalculateRequest(quoteInfoVo, actualValue, carModelList1, riskList.get(0),startDate,ygConfigureParameters,quoteVo,false,null,remarkBI);
                 yangGuangAccuracyCalculateRequest1.setInfotransNo(yangGuangQueryVehicleModelResponse.getInfotransNo());
                 YangGuangAccuracyCalculateResponse yangGuangAccuracyCalculateResponse1 = yangGuangRequestApiComponents.accuracyCalculaye(yangGuangAccuracyCalculateRequest1);
                 boolean isEnergy = carInfo.isNewEnergy();

+ 3 - 1
src/main/java/com/ydtech/modules/scheme/service/impl/PtlSchemeServiceImpl.java

@@ -600,7 +600,9 @@ public class PtlSchemeServiceImpl extends ServiceImpl<PtlSchemeMapper, PtlScheme
                 .eq(PtlScheme::getProductId, schemeQueryVo.getProductId())
                 .eq(PtlScheme::getVehicleType, schemeQueryVo.getVehicleType())
                 .eq(PtlScheme::getEnergyType, EnergyType.isNewEnergy(schemeQueryVo.getEnergyType()) ? "1" : "0")
-                .eq(PtlScheme::getCarnature, schemeQueryVo.getCarnature()));
+                .eq(PtlScheme::getCarnature, schemeQueryVo.getCarnature())
+                .orderByAsc(PtlScheme::getPriorityLevel)
+                .orderByDesc(PtlScheme::getCreateTime));
 
         List<CompanySchemeVo> schemeVos = new ArrayList<>();
         ptlSchemes.forEach(item -> {

+ 2 - 1
src/main/resources/mapper/modules/admin/TaskStatisticsMapper.xml

@@ -188,7 +188,8 @@
         IFNULL(sum(a.sypremium),0) as "sypremium",
         IFNULL(sum(a.taxamount),0) as "taxamount",
         IFNULL(sum(a.jypremium),0) as "jypremium",
-        IFNULL(sum(a.exportAllFee),0) as "exportAllFee"
+        IFNULL(sum(a.exportAllFee),0) as "exportAllFee",
+        IFNULL(sum(a.entranceAllFee),0) as "entranceAllFee"
         FROM (
         SELECT
         io.userid AS "userId",

+ 9 - 0
src/main/resources/mapper/modules/ins/InsTaskImagesMapper.xml

@@ -28,6 +28,15 @@
         where i.quote_no = #{quoteNo};
     </select>
 
+    <select id="getByQuoteNoToBase64List"
+            resultType="com.ydtech.modules.order.entity.dto.InsUploadImagesDto">
+        select i.quote_no, i.image_type, i.image_id, f.file_name, f.file_path,i.pingan_key,i.id
+        from ins_task_images as i
+                 left join ins_upload_files as f
+                           on i.image_id = f.id
+        where i.quote_no =#{quoteNo}
+    </select>
+
     <select id="getByOrderNoInsUploadImagesDtoList"
             resultType="com.ydtech.modules.order.entity.dto.InsUploadImagesDto">
         select i.quote_no, i.image_type, i.image_id, f.file_name, f.file_path,i.pingan_key,i.id