785834757 9 luni în urmă
părinte
comite
4c9933d1cb
34 a modificat fișierele cu 298 adăugiri și 57 ștergeri
  1. 1 1
      authentication/src/main/java/com/jzg/config/JzgAuthenticationProvider.java
  2. 2 1
      commons/src/main/java/com/jzg/commons/entity/dto/InsOrdersParam.java
  3. 5 0
      commons/src/main/java/com/jzg/commons/entity/orders/vo/HistoryQuoteResultVo.java
  4. 9 0
      commons/src/main/java/com/jzg/commons/entity/po/InsFeeOrders.java
  5. 2 2
      commons/src/main/java/com/jzg/commons/entity/po/SysUserJzgInfo.java
  6. 6 0
      commons/src/main/java/com/jzg/commons/entity/quote/vo/aggregated/QuoteResultsVo.java
  7. 1 0
      commons/src/main/java/com/jzg/commons/entity/scheme/vo/SchemeResultVo.java
  8. 1 1
      commons/src/main/java/com/jzg/commons/entity/vo/RuleAttrMappingVo.java
  9. 5 0
      commons/src/main/java/com/jzg/commons/entity/vo/SysUserInfoListVo.java
  10. 3 0
      commons/src/main/java/com/jzg/commons/entity/vo/SysUserVo.java
  11. 13 0
      tenant/insurance/quotation-bohai/src/main/java/com/jzg/quotation/bohai/api/constant/enums/Coverages.java
  12. 2 1
      tenant/insurance/quotation-bohai/src/main/java/com/jzg/quotation/bohai/api/entity/request/QuotationRequest.java
  13. 13 0
      tenant/insurance/quotation-chengtai/src/main/java/com/jzg/quotation/chengtai/api/entity/request/InsurePremiumRequest.java
  14. 18 18
      tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/api/entity/request/ODR1009Request.java
  15. 3 0
      tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/api/service/impl/DaJiaApiRequestImpl.java
  16. 20 6
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/aop/aspect/QuoteVerificationAspect.java
  17. 46 0
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/controller/InsOrdersController.java
  18. 4 1
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/controller/UnifyOrderManager.java
  19. 0 3
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/factory/decorator/quote/QuoteDispatchDecorator.java
  20. 6 0
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/mapper/InsOrdersMapper.java
  21. 2 0
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/InsOrdersService.java
  22. 37 3
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrdersServiceImpl.java
  23. 22 1
      tenant/insurance/quotation-summary/src/main/resources/mapper/InsOrdersMapper.xml
  24. 4 1
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/service/impl/ZhongMeiApiRequestImpl.java
  25. 8 5
      tenant/organization/src/main/java/com/jzg/organization/service/impl/PtlAgreementDispatchServiceImpl.java
  26. 1 1
      tenant/organization/src/main/java/com/jzg/organization/service/impl/PtlAgreementServiceImpl.java
  27. 1 1
      tenant/organization/src/main/java/com/jzg/organization/service/impl/PtlAgreementUndwrtRulesServiceImpl.java
  28. 8 6
      tenant/organization/src/main/java/com/jzg/organization/service/impl/PtlSchemeServiceImpl.java
  29. 24 4
      tenant/organization/src/main/java/com/jzg/organization/service/impl/SysUserServiceImpl.java
  30. 8 0
      tenant/organization/src/main/java/com/jzg/organization/state/config/UserStateConfig.java
  31. 10 0
      tenant/organization/src/main/java/com/jzg/organization/state/listener/UserStateListener.java
  32. 2 0
      tenant/organization/src/main/resources/mapper/PtlAgreementCostMapper.xml
  33. 4 1
      tenant/organization/src/main/resources/mapper/PtlSchemeMapper.xml
  34. 7 0
      tenant/organization/src/main/resources/mapper/SysUserJzgInfoMapper.xml

+ 1 - 1
authentication/src/main/java/com/jzg/config/JzgAuthenticationProvider.java

@@ -317,7 +317,7 @@ public class JzgAuthenticationProvider implements AuthenticationProvider {
         detailMap.put("username",byId.getUsername());
         detailMap.put("username",byId.getUsername());
         detailMap.put("headSculpture",jzgUserInfo.getHeadSculpture());
         detailMap.put("headSculpture",jzgUserInfo.getHeadSculpture());
         detailMap.put("isFirst",isFirst);
         detailMap.put("isFirst",isFirst);
-        if (!province.equals("")) {
+        if (Objects.nonNull(province) && !province.equals("")) {
             SysArea sysArea = sysAreaMapper.selectOne(new LambdaQueryWrapper<SysArea>().eq(SysArea::getAreaCode, province));
             SysArea sysArea = sysAreaMapper.selectOne(new LambdaQueryWrapper<SysArea>().eq(SysArea::getAreaCode, province));
             detailMap.put("province",sysArea.getAreaCname());
             detailMap.put("province",sysArea.getAreaCname());
         } else {
         } else {

+ 2 - 1
commons/src/main/java/com/jzg/commons/entity/dto/InsOrdersParam.java

@@ -49,5 +49,6 @@ public class InsOrdersParam extends PageRequest {
     @Schema(description = "租户code")
     @Schema(description = "租户code")
     private String systemCode;
     private String systemCode;
 
 
-
+    @Schema(description = "前端传入录单时间")
+    private String[] recordingTime;
 }
 }

+ 5 - 0
commons/src/main/java/com/jzg/commons/entity/orders/vo/HistoryQuoteResultVo.java

@@ -82,4 +82,9 @@ public class HistoryQuoteResultVo {
      * 报价时间
      * 报价时间
      */
      */
     private String quoteTime;
     private String quoteTime;
+
+    /**
+     * 报价失败 错误信息
+     */
+    private String errorMessage;
 }
 }

+ 9 - 0
commons/src/main/java/com/jzg/commons/entity/po/InsFeeOrders.java

@@ -162,6 +162,15 @@ public class InsFeeOrders {
     @Schema(description = "驾意险出口比例")
     @Schema(description = "驾意险出口比例")
     private BigDecimal jyExportRatio;
     private BigDecimal jyExportRatio;
 
 
+    @Schema(description = "交强出口费用")
+    private BigDecimal jqExportPremium;
+
+    @Schema(description = "商业出口费用")
+    private BigDecimal syExportPremium;
+
+    @Schema(description = "驾意出口费用")
+    private BigDecimal jyExportPremium;
+
     @Schema(description = "一级分销费")
     @Schema(description = "一级分销费")
     private BigDecimal firstDistributionFee;
     private BigDecimal firstDistributionFee;
 
 

+ 2 - 2
commons/src/main/java/com/jzg/commons/entity/po/SysUserJzgInfo.java

@@ -308,11 +308,11 @@ public class SysUserJzgInfo extends BaseModel implements Serializable {
     @Schema(description = "密码")
     @Schema(description = "密码")
     private String password;
     private String password;
 
 
-    @TableField(exist = false)
+//    @TableField(exist = false)
     @Schema(description = "银行卡号")
     @Schema(description = "银行卡号")
     private String bankCardNumber;
     private String bankCardNumber;
 
 
-    @TableField(exist = false)
+//    @TableField(exist = false)
     @Schema(description = "银行卡名称")
     @Schema(description = "银行卡名称")
     private String bankName;
     private String bankName;
 
 

+ 6 - 0
commons/src/main/java/com/jzg/commons/entity/quote/vo/aggregated/QuoteResultsVo.java

@@ -2,6 +2,7 @@ package com.jzg.commons.entity.quote.vo.aggregated;
 
 
 
 
 import com.jzg.commons.constants.dict.InsOrderStatusEnum;
 import com.jzg.commons.constants.dict.InsOrderStatusEnum;
+import com.jzg.commons.entity.po.InsFeeOrders;
 import com.jzg.commons.entity.quote.vo.ExpenseFactor;
 import com.jzg.commons.entity.quote.vo.ExpenseFactor;
 import com.jzg.commons.entity.quote.vo.KindInfoVo;
 import com.jzg.commons.entity.quote.vo.KindInfoVo;
 import com.jzg.commons.entity.quote.vo.RiskInfoVo;
 import com.jzg.commons.entity.quote.vo.RiskInfoVo;
@@ -197,6 +198,11 @@ public class QuoteResultsVo implements Serializable {
 
 
     }
     }
 
 
+    /**
+     * 费用信息
+     */
+    private InsFeeOrders feeOrders;
+
     @Data
     @Data
     @AllArgsConstructor
     @AllArgsConstructor
     @NoArgsConstructor
     @NoArgsConstructor

+ 1 - 0
commons/src/main/java/com/jzg/commons/entity/scheme/vo/SchemeResultVo.java

@@ -94,5 +94,6 @@ public class SchemeResultVo {
         private String coverage;
         private String coverage;
         private String premium;
         private String premium;
         private String quantity;
         private String quantity;
+        private String selectedStatus;
     }
     }
 }
 }

+ 1 - 1
commons/src/main/java/com/jzg/commons/entity/vo/RuleAttrMappingVo.java

@@ -48,7 +48,7 @@ public class RuleAttrMappingVo {
         //车辆用途
         //车辆用途
         ruleAttrMappingVoList.add(new RuleAttrMappingVo("VehicleUseCode", VehicleUseCode.getByCode(insOrdersCarInfo.getVehicleUseCode())));
         ruleAttrMappingVoList.add(new RuleAttrMappingVo("VehicleUseCode", VehicleUseCode.getByCode(insOrdersCarInfo.getVehicleUseCode())));
         //车辆种类
         //车辆种类
-        ruleAttrMappingVoList.add(new RuleAttrMappingVo("CarType", CarKindCode.getByCode(insOrdersCarInfo.getCarKindCode())));
+        ruleAttrMappingVoList.add(new RuleAttrMappingVo("CarNatureCode", insOrdersCarInfo.getCarNatureCode()));
         //车辆类型
         //车辆类型
         ruleAttrMappingVoList.add(new RuleAttrMappingVo("CarTypeCode", insOrdersCarInfo.getCarTypeCode()));
         ruleAttrMappingVoList.add(new RuleAttrMappingVo("CarTypeCode", insOrdersCarInfo.getCarTypeCode()));
         //核定载质量
         //核定载质量

+ 5 - 0
commons/src/main/java/com/jzg/commons/entity/vo/SysUserInfoListVo.java

@@ -4,6 +4,8 @@ import com.jzg.commons.core.base.PageRequest;
 import io.swagger.v3.oas.annotations.media.Schema;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import lombok.Data;
 
 
+import java.util.List;
+
 /**
 /**
  * @author quchen
  * @author quchen
  * @date 2025/1/17 14:25
  * @date 2025/1/17 14:25
@@ -20,6 +22,9 @@ public class SysUserInfoListVo extends PageRequest {
     @Schema(description = "状态  1:正常   0:删除 2:审批中  3:审批不通过")
     @Schema(description = "状态  1:正常   0:删除 2:审批中  3:审批不通过")
     private Integer status;
     private Integer status;
 
 
+    // 状态查询
+    private List<Integer> typeStatus;
+
     // 归属机构id
     // 归属机构id
     @Schema(description = "归属机构id")
     @Schema(description = "归属机构id")
     private String deptId;
     private String deptId;

+ 3 - 0
commons/src/main/java/com/jzg/commons/entity/vo/SysUserVo.java

@@ -140,6 +140,9 @@ public class SysUserVo extends PageRequest {
     @Schema(description = "银行卡号")
     @Schema(description = "银行卡号")
     private String bankCardId;
     private String bankCardId;
 
 
+    @Schema(description = "(成员)银行卡号")
+    private String bankCardNumber;
+
     @Schema(description = "用户类型1.前线人员 2:后线人员 3:合伙人 4:工作室管理员 5:团队长 6:个代 7:电销 8 渠道")
     @Schema(description = "用户类型1.前线人员 2:后线人员 3:合伙人 4:工作室管理员 5:团队长 6:个代 7:电销 8 渠道")
     private String typeAttr;
     private String typeAttr;
 
 

+ 13 - 0
tenant/insurance/quotation-bohai/src/main/java/com/jzg/quotation/bohai/api/constant/enums/Coverages.java

@@ -41,4 +41,17 @@ public enum Coverages {
 
 
     private final String newEnergyDesc;
     private final String newEnergyDesc;
 
 
+    public static Coverages getByCode(String code) {
+        if (code == null || code.isEmpty()) {
+            return null;
+        }
+        for (Coverages coverage : Coverages.values()) {
+            if (code.equals(coverage.getFuelOilCode())
+                    || code.equals(coverage.getNewEnergyCode())) {
+                return coverage;
+            }
+        }
+        return null;
+    }
+
 }
 }

+ 2 - 1
tenant/insurance/quotation-bohai/src/main/java/com/jzg/quotation/bohai/api/entity/request/QuotationRequest.java

@@ -254,7 +254,8 @@ public class QuotationRequest extends BoHaiBaseRequest {
 
 
             private static CoveragesDTO toCoveragesDTO(KindInfoVo kindInfoVo, String currentValue, CarInfoVo carInfo) {
             private static CoveragesDTO toCoveragesDTO(KindInfoVo kindInfoVo, String currentValue, CarInfoVo carInfo) {
                 String kindCode = kindInfoVo.getKindCode();
                 String kindCode = kindInfoVo.getKindCode();
-                Coverages coverages = Coverages.valueOf("C_" + kindInfoVo.getKindCode());
+//                Coverages coverages = Coverages.valueOf("C_" + kindInfoVo.getKindCode());
+                Coverages coverages = Coverages.getByCode(kindInfoVo.getKindCode());
                 CoveragesDTO coveragesDTO = new CoveragesDTO();
                 CoveragesDTO coveragesDTO = new CoveragesDTO();
                 if (carInfo.isNewEnergyMark()) {
                 if (carInfo.isNewEnergyMark()) {
                     coveragesDTO.setCoverageCode(coverages.getNewEnergyCode());
                     coveragesDTO.setCoverageCode(coverages.getNewEnergyCode());

+ 13 - 0
tenant/insurance/quotation-chengtai/src/main/java/com/jzg/quotation/chengtai/api/entity/request/InsurePremiumRequest.java

@@ -739,6 +739,12 @@ public class InsurePremiumRequest extends BaseRequest {
             @JsonProperty("attachNature")
             @JsonProperty("attachNature")
             private String attachNature;
             private String attachNature;
 
 
+            /**
+             * 所属性质名称
+             */
+            @JsonProperty("attachNatureName")
+            private String attachNatureName;
+
             /**
             /**
              * (免)验车原因代码
              * (免)验车原因代码
              */
              */
@@ -978,6 +984,13 @@ public class InsurePremiumRequest extends BaseRequest {
                 this.carTypeCode = "01"; // 01 常见车型 02 新车型 03 老旧车型 04 特殊车型
                 this.carTypeCode = "01"; // 01 常见车型 02 新车型 03 老旧车型 04 特殊车型
                 this.purchasePrice = new BigDecimal(carModelListDTO.getPurchasePrice());
                 this.purchasePrice = new BigDecimal(carModelListDTO.getPurchasePrice());
                 this.attachNature = carInfo.getPropertyCode();
                 this.attachNature = carInfo.getPropertyCode();
+                if(this.attachNature.equals("01")){
+                    this.attachNatureName = "个人";
+                }else if(this.attachNature.equals("02")){
+                    this.attachNatureName = "机关/团体";
+                }else if(this.attachNature.equals("03")){
+                    this.attachNatureName = "企业";
+                }
                 this.carCheckStatus = "3";
                 this.carCheckStatus = "3";
                 this.carCheckReason = "1";
                 this.carCheckReason = "1";
                 this.carCheckReasonName = "按期续保未增保损失险类";
                 this.carCheckReasonName = "按期续保未增保损失险类";

+ 18 - 18
tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/api/entity/request/ODR1009Request.java

@@ -154,7 +154,7 @@ public class ODR1009Request extends DaJiaBaseRequest {
     private CIndemLmtLvl getCPayTaxType(KindInfoVo kindInfoVo){
     private CIndemLmtLvl getCPayTaxType(KindInfoVo kindInfoVo){
         CIndemLmtLvl[] values = CIndemLmtLvl.values();
         CIndemLmtLvl[] values = CIndemLmtLvl.values();
         for(CIndemLmtLvl item : values){
         for(CIndemLmtLvl item : values){
-            if(item.getAmount().equals(kindInfoVo.getAmount())){
+            if(item.getAmount() == Double.parseDouble(kindInfoVo.getAmount())){
                 return item;
                 return item;
             }
             }
         }
         }
@@ -190,82 +190,82 @@ public class ODR1009Request extends DaJiaBaseRequest {
             BodyDTO.coverageListDTO coverageListDTO = new BodyDTO.coverageListDTO();
             BodyDTO.coverageListDTO coverageListDTO = new BodyDTO.coverageListDTO();
             coverageListDTO.setCvrgNo(kindInfoVo.getKindCode());
             coverageListDTO.setCvrgNo(kindInfoVo.getKindCode());
             //车损险
             //车损险
-            if(kindInfoVo.getKindCode().equals(CCvrgNo.NO030006.getInsurCode())){
+            if(kindInfoVo.getKindCode().equals(CCvrgNo.NO030006.getCode())){
                 //保额
                 //保额
                 coverageListDTO.setLossNAmt(odr1016Response.getResult().getActualValue());
                 coverageListDTO.setLossNAmt(odr1016Response.getResult().getActualValue());
                 coverageListDTOS.add(coverageListDTO);
                 coverageListDTOS.add(coverageListDTO);
-            }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO035601.getInsurCode())){
+            }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO035601.getCode())){
                 //绝对免赔率
                 //绝对免赔率
                 coverageListDTO.setLossNDeductionRate(String.valueOf(Double.parseDouble(kindInfoVo.getDeductibleRate()) / 100));
                 coverageListDTO.setLossNDeductionRate(String.valueOf(Double.parseDouble(kindInfoVo.getDeductibleRate()) / 100));
                 coverageListDTOS.add(coverageListDTO);
                 coverageListDTOS.add(coverageListDTO);
-            } else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO030018.getInsurCode())) {
+            } else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO030018.getCode())) {
                 //第三者责任险
                 //第三者责任险
                 //限额档次
                 //限额档次
                 coverageListDTO.setThreeCIndemLmtLvl(getCPayTaxType(kindInfoVo).getCode());
                 coverageListDTO.setThreeCIndemLmtLvl(getCPayTaxType(kindInfoVo).getCode());
                 //档次对应限额
                 //档次对应限额
                 coverageListDTO.setThreeNIndemLmt(Double.parseDouble(kindInfoVo.getAmount()));
                 coverageListDTO.setThreeNIndemLmt(Double.parseDouble(kindInfoVo.getAmount()));
                 coverageListDTOS.add(coverageListDTO);
                 coverageListDTOS.add(coverageListDTO);
-            }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO035602.getInsurCode())){
+            }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO035602.getCode())){
                 //三者绝对免赔率
                 //三者绝对免赔率
                 NDeductionRate nDeductionRate = getNDeductionRate(Double.parseDouble(kindInfoVo.getDeductibleRate()) / 100);
                 NDeductionRate nDeductionRate = getNDeductionRate(Double.parseDouble(kindInfoVo.getDeductibleRate()) / 100);
                 coverageListDTO.setThreeNDeductionRate(nDeductionRate.getCode());
                 coverageListDTO.setThreeNDeductionRate(nDeductionRate.getCode());
                 coverageListDTOS.add(coverageListDTO);
                 coverageListDTOS.add(coverageListDTO);
-            }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO032601.getInsurCode())) {
+            }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO032601.getCode())) {
                 //车身划痕险
                 //车身划痕险
                 coverageListDTO.setCarSscratchCIndemLmtLvl(getCvrgCIndemLmtLvl(kindInfoVo).getCode());
                 coverageListDTO.setCarSscratchCIndemLmtLvl(getCvrgCIndemLmtLvl(kindInfoVo).getCode());
                 coverageListDTOS.add(coverageListDTO);
                 coverageListDTOS.add(coverageListDTO);
-            }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO035603.getInsurCode())) {
+            }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO035603.getCode())) {
                 //绝对免赔率特约险(司机)
                 //绝对免赔率特约险(司机)
                 NDeductionRate nDeductionRate = getNDeductionRate(Double.parseDouble(kindInfoVo.getDeductibleRate()) / 100);
                 NDeductionRate nDeductionRate = getNDeductionRate(Double.parseDouble(kindInfoVo.getDeductibleRate()) / 100);
                 coverageListDTO.setDriverNDeductionRate(nDeductionRate.getCode());
                 coverageListDTO.setDriverNDeductionRate(nDeductionRate.getCode());
                 coverageListDTOS.add(coverageListDTO);
                 coverageListDTOS.add(coverageListDTO);
-            }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO035604.getInsurCode())) {
+            }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO035604.getCode())) {
                 //绝对免赔率特约险(乘客)
                 //绝对免赔率特约险(乘客)
                 NDeductionRate nDeductionRate = getNDeductionRate(Double.parseDouble(kindInfoVo.getDeductibleRate()) / 100);
                 NDeductionRate nDeductionRate = getNDeductionRate(Double.parseDouble(kindInfoVo.getDeductibleRate()) / 100);
                 coverageListDTO.setPassengerNDeductionRate(nDeductionRate.getCode());
                 coverageListDTO.setPassengerNDeductionRate(nDeductionRate.getCode());
                 coverageListDTOS.add(coverageListDTO);
                 coverageListDTOS.add(coverageListDTO);
-            }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO030001.getInsurCode())) {
+            }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO030001.getCode())) {
                 //车上人员责任保险(司机)
                 //车上人员责任保险(司机)
                 coverageListDTO.setDriverNLiabDaysLmt("1");
                 coverageListDTO.setDriverNLiabDaysLmt("1");
                 coverageListDTO.setDriverNPerAmt(Double.parseDouble(kindInfoVo.getAmount()));
                 coverageListDTO.setDriverNPerAmt(Double.parseDouble(kindInfoVo.getAmount()));
                 coverageListDTOS.add(coverageListDTO);
                 coverageListDTOS.add(coverageListDTO);
-            }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO033614.getInsurCode())) {
+            }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO033614.getCode())) {
                 //"法定节假日限额翻倍险
                 //"法定节假日限额翻倍险
                 coverageListDTO.setThreeQuotaAmt(Double.parseDouble(kindInfoVo.getAmount()));
                 coverageListDTO.setThreeQuotaAmt(Double.parseDouble(kindInfoVo.getAmount()));
                 coverageListDTOS.add(coverageListDTO);
                 coverageListDTOS.add(coverageListDTO);
-            }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO030009.getInsurCode())) {
+            }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO030009.getCode())) {
                 //车上人员责任保险(乘客)
                 //车上人员责任保险(乘客)
                 coverageListDTO.setPassengerNLiabDaysLmt(seatCount - 1 + "");
                 coverageListDTO.setPassengerNLiabDaysLmt(seatCount - 1 + "");
                 coverageListDTO.setPassengerNPerAmt(Double.parseDouble(kindInfoVo.getUnitAmount()));
                 coverageListDTO.setPassengerNPerAmt(Double.parseDouble(kindInfoVo.getUnitAmount()));
                 coverageListDTOS.add(coverageListDTO);
                 coverageListDTOS.add(coverageListDTO);
 
 
-            } else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO035608.getInsurCode())){
+            } else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO035608.getCode())){
                 //附加医保外医疗费用责任险(第三者责任保险)
                 //附加医保外医疗费用责任险(第三者责任保险)
                 coverageListDTO.setThreeMedicalAmt(Double.parseDouble(kindInfoVo.getAmount()));
                 coverageListDTO.setThreeMedicalAmt(Double.parseDouble(kindInfoVo.getAmount()));
                 coverageListDTOS.add(coverageListDTO);
                 coverageListDTOS.add(coverageListDTO);
-            }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO035613.getInsurCode())){
+            }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO035613.getCode())){
                 //附加医保外用药责任险(机动车车上人员责任保险(司机))
                 //附加医保外用药责任险(机动车车上人员责任保险(司机))
                 coverageListDTO.setDriverNLiabDaysLmt("1");
                 coverageListDTO.setDriverNLiabDaysLmt("1");
                 coverageListDTO.setDriverMedicalAmt(Double.parseDouble(kindInfoVo.getAmount()));
                 coverageListDTO.setDriverMedicalAmt(Double.parseDouble(kindInfoVo.getAmount()));
                 coverageListDTOS.add(coverageListDTO);
                 coverageListDTOS.add(coverageListDTO);
-            }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO035614.getInsurCode())){
+            }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO035614.getCode())){
                 //附加医保外用药责任险(机动车车上人员责任保险(乘客))
                 //附加医保外用药责任险(机动车车上人员责任保险(乘客))
                 coverageListDTO.setPassengerNLiabDaysLmt(seatCount - 1 + "");
                 coverageListDTO.setPassengerNLiabDaysLmt(seatCount - 1 + "");
                 coverageListDTO.setPassengerMoralDamageAmt(Double.parseDouble(kindInfoVo.getUnitAmount()));
                 coverageListDTO.setPassengerMoralDamageAmt(Double.parseDouble(kindInfoVo.getUnitAmount()));
                 coverageListDTOS.add(coverageListDTO);
                 coverageListDTOS.add(coverageListDTO);
-            }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO035609.getInsurCode())){
+            }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO035609.getCode())){
                 //道路救援服务特约条款
                 //道路救援服务特约条款
                 coverageListDTO.setRoadRescueServices(String.valueOf(kindInfoVo.getServiceTimes()));
                 coverageListDTO.setRoadRescueServices(String.valueOf(kindInfoVo.getServiceTimes()));
                 coverageListDTOS.add(coverageListDTO);
                 coverageListDTOS.add(coverageListDTO);
-            }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO035610.getInsurCode())) {
+            }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO035610.getCode())) {
                 //车辆安全检测特约条款
                 //车辆安全检测特约条款
                 coverageListDTO.setVehicleSafetyInspectionServices(String.valueOf(kindInfoVo.getServiceTimes()));
                 coverageListDTO.setVehicleSafetyInspectionServices(String.valueOf(kindInfoVo.getServiceTimes()));
                 coverageListDTOS.add(coverageListDTO);
                 coverageListDTOS.add(coverageListDTO);
-            }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO035611.getInsurCode())) {
+            }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO035611.getCode())) {
                 //代为驾驶服务特约条款
                 //代为驾驶服务特约条款
                 coverageListDTO.setDrivingServiceTimes(String.valueOf(kindInfoVo.getServiceTimes()));
                 coverageListDTO.setDrivingServiceTimes(String.valueOf(kindInfoVo.getServiceTimes()));
                 coverageListDTOS.add(coverageListDTO);
                 coverageListDTOS.add(coverageListDTO);
-            }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO035612.getInsurCode())) {
+            }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO035612.getCode())) {
                 //代为送检服务特约条款
                 //代为送检服务特约条款
                 coverageListDTO.setInspectionServiceTimes(String.valueOf(kindInfoVo.getServiceTimes()));
                 coverageListDTO.setInspectionServiceTimes(String.valueOf(kindInfoVo.getServiceTimes()));
                 coverageListDTOS.add(coverageListDTO);
                 coverageListDTOS.add(coverageListDTO);

+ 3 - 0
tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/api/service/impl/DaJiaApiRequestImpl.java

@@ -101,6 +101,9 @@ public class DaJiaApiRequestImpl implements DaJiaApiRequest {
 
 
         // 报价
         // 报价
         ODR1009Response odr1009Response = quotation(orderNo, quoteVo, odr1016Response, parameters,url);
         ODR1009Response odr1009Response = quotation(orderNo, quoteVo, odr1016Response, parameters,url);
+        if(!odr1009Response.getStatus().equals("0000")){
+            throw new SystemException(odr1009Response.getMessage());
+        }
         List<AccidentalDrivingVo> accidentalDrivings = quoteVo.getAccidentalDrivings();
         List<AccidentalDrivingVo> accidentalDrivings = quoteVo.getAccidentalDrivings();
         NVHLODR1001Response nvhlodr1001Response = null;
         NVHLODR1001Response nvhlodr1001Response = null;
         if (CollUtil.isNotEmpty(accidentalDrivings)) {
         if (CollUtil.isNotEmpty(accidentalDrivings)) {

+ 20 - 6
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/aop/aspect/QuoteVerificationAspect.java

@@ -120,7 +120,7 @@ public class QuoteVerificationAspect {
                         String[] split = ptlAgreementCostRule.getMin().split(",");
                         String[] split = ptlAgreementCostRule.getMin().split(",");
                         boolean isPipei = false;
                         boolean isPipei = false;
                         for(int i = 0;i < split.length; i++){
                         for(int i = 0;i < split.length; i++){
-                            if(split[i].equals(CarNatureCode.getByCode(insOrdersCarInfo.getCarNatureCode()))) {
+                            if(split[i].equals(insOrdersCarInfo.getCarNatureCode())) {
                                 isPipei = true;
                                 isPipei = true;
                             }
                             }
                         }
                         }
@@ -133,7 +133,7 @@ public class QuoteVerificationAspect {
                         String[] split = ptlAgreementCostRule.getMin().split(",");
                         String[] split = ptlAgreementCostRule.getMin().split(",");
                         boolean isPipei = false;
                         boolean isPipei = false;
                         for(int i = 0;i < split.length; i++){
                         for(int i = 0;i < split.length; i++){
-                            if(split[i].equals(CarKindCode.getByCode(insOrdersCarInfo.getCarKindCode()))) {
+                            if(split[i].equals(insOrdersCarInfo.getCarKindCode())) {
                                 isPipei = true;
                                 isPipei = true;
                             }
                             }
                         }
                         }
@@ -155,12 +155,13 @@ public class QuoteVerificationAspect {
             if (!agreementProductCosts.isEmpty()) {
             if (!agreementProductCosts.isEmpty()) {
                 //按优先级进行排序
                 //按优先级进行排序
                 agreementProductCosts.sort(Comparator.comparingInt(CostsListVo::getPriorityLevel));
                 agreementProductCosts.sort(Comparator.comparingInt(CostsListVo::getPriorityLevel));
-                //遍历费用因子
-                String costId = verificationCosts(agreementProductCosts, logs, insOrdersOther, insOrdersCarInfo, insOrdersRisks, insOrdersCarUserInfos, kindList, insOrdersCosts, insOrdersAccidentalDriving);
+                //遍历费用因子l
+                        String costId = verificationCosts(agreementProductCosts, logs, insOrdersOther, insOrdersCarInfo, insOrdersRisks, insOrdersCarUserInfos, kindList, insOrdersCosts, insOrdersAccidentalDriving);
                 if (costId != null) {
                 if (costId != null) {
                     // 根据匹配到的协议、费用 开始计算入口费用
                     // 根据匹配到的协议、费用 开始计算入口费用
-                    calcCosts(agreementInfoVo,costId, insOrders,insOrdersCosts);
+                    InsFeeOrders insFeeOrders = calcCosts(agreementInfoVo,costId, insOrders,insOrdersCosts);
                     log.debug("费用因子校验通过,子订单id:" + insOrders.getId() + ",费用id:" + costId);
                     log.debug("费用因子校验通过,子订单id:" + insOrders.getId() + ",费用id:" + costId);
+                    result.getData().setFeeOrders(insFeeOrders);
                 }
                 }
             } else {
             } else {
                 logs.append("没有找到该协议的费用信息" + "\n");
                 logs.append("没有找到该协议的费用信息" + "\n");
@@ -673,7 +674,7 @@ public class QuoteVerificationAspect {
     }
     }
 
 
 
 
-    public void calcCosts(AgreementInfoVo agreementInfoVo, String costId, InsOrders insOrders, InsOrdersCosts insOrdersCosts) {
+    public InsFeeOrders calcCosts(AgreementInfoVo agreementInfoVo, String costId, InsOrders insOrders, InsOrdersCosts insOrdersCosts) {
         InsFeeOrders insFeeOrders = new InsFeeOrders();
         InsFeeOrders insFeeOrders = new InsFeeOrders();
         insFeeOrders.setOrderNo(insOrders.getId());
         insFeeOrders.setOrderNo(insOrders.getId());
         insFeeOrders.setAgreementId(insOrders.getAgreementId());
         insFeeOrders.setAgreementId(insOrders.getAgreementId());
@@ -730,10 +731,12 @@ public class QuoteVerificationAspect {
                 InsFeeOrders::setJyCommissionPremium, InsFeeOrders::setJyFollowPremium, InsFeeOrders::setJyAdditionalPremium
                 InsFeeOrders::setJyCommissionPremium, InsFeeOrders::setJyFollowPremium, InsFeeOrders::setJyAdditionalPremium
         );
         );
 
 
+
         // 7. 计算总应收、总应付、保存费用比例 入库
         // 7. 计算总应收、总应付、保存费用比例 入库
         saveRatio(insFeeOrders, agreementInfoVo, jqCostType, syCostType, jyCostType);
         saveRatio(insFeeOrders, agreementInfoVo, jqCostType, syCostType, jyCostType);
         calculateTotalPremium(insFeeOrders);
         calculateTotalPremium(insFeeOrders);
         insFeeOrdersService.save(insFeeOrders);
         insFeeOrdersService.save(insFeeOrders);
+        return insFeeOrders;
     }
     }
 
 
     /**
     /**
@@ -846,6 +849,16 @@ public class QuoteVerificationAspect {
 
 
         insFeeOrders.setTotalReceivablePremium(totalReceivable);
         insFeeOrders.setTotalReceivablePremium(totalReceivable);
         insFeeOrders.setTotalPayablePremium(totalPayable);
         insFeeOrders.setTotalPayablePremium(totalPayable);
+
+        // 计算出口费用
+        BigDecimal jqExportPremium = insFeeOrders.getJqExportRatio().multiply(insFeeOrders.getJqPremium());
+        insFeeOrders.setJqExportPremium(jqExportPremium);
+
+        BigDecimal syExportPremium = insFeeOrders.getSyExportRatio().multiply(insFeeOrders.getSyPremium());
+        insFeeOrders.setSyExportPremium(syExportPremium);
+
+        BigDecimal jyExportPremium = insFeeOrders.getJyExportRatio().multiply(insFeeOrders.getJyPremium());
+        insFeeOrders.setJyExportPremium(jyExportPremium);
     }
     }
 
 
     /**
     /**
@@ -901,6 +914,7 @@ public class QuoteVerificationAspect {
         insFeeOrders.setJyExportRatio(jyCostType != null
         insFeeOrders.setJyExportRatio(jyCostType != null
                 ? convertPercent(jyCostType.getExport() != null ? jyCostType.getExport() : BigDecimal.ZERO)
                 ? convertPercent(jyCostType.getExport() != null ? jyCostType.getExport() : BigDecimal.ZERO)
                 : BigDecimal.ZERO);
                 : BigDecimal.ZERO);
+
     }
     }
 
 
     /**
     /**

+ 46 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/controller/InsOrdersController.java

@@ -1,15 +1,19 @@
 package com.jzg.quotation.summary.controller;
 package com.jzg.quotation.summary.controller;
 
 
 
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.jzg.commons.aop.OperatorTrajectory;
 import com.jzg.commons.aop.OperatorTrajectory;
 import com.jzg.commons.core.base.BaseController;
 import com.jzg.commons.core.base.BaseController;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.dto.InsOrdersParam;
 import com.jzg.commons.entity.dto.InsOrdersParam;
 import com.jzg.commons.entity.orders.vo.HistoryQuoteQueryVo;
 import com.jzg.commons.entity.orders.vo.HistoryQuoteQueryVo;
 import com.jzg.commons.entity.po.InsFeeOrders;
 import com.jzg.commons.entity.po.InsFeeOrders;
+import com.jzg.commons.entity.quote.vo.KindInfoVo;
 import com.jzg.commons.entity.quote.vo.QuoteVo;
 import com.jzg.commons.entity.quote.vo.QuoteVo;
 import com.jzg.commons.entity.quote.vo.orders.InsOrdersAdd;
 import com.jzg.commons.entity.quote.vo.orders.InsOrdersAdd;
 import com.jzg.commons.entity.quote.vo.orders.InsOrdersEnd;
 import com.jzg.commons.entity.quote.vo.orders.InsOrdersEnd;
+import com.jzg.commons.entity.quote.vo.orders.InsOrdersVo;
 import com.jzg.commons.entity.vo.PtlAgreementCostRatioVo;
 import com.jzg.commons.entity.vo.PtlAgreementCostRatioVo;
 import com.jzg.commons.request.RequestSingleParam;
 import com.jzg.commons.request.RequestSingleParam;
 import com.jzg.quotation.summary.mapper.InsOrdersMapper;
 import com.jzg.quotation.summary.mapper.InsOrdersMapper;
@@ -29,6 +33,10 @@ import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 import org.springframework.web.context.request.ServletRequestAttributes;
 
 
 import javax.validation.constraints.NotNull;
 import javax.validation.constraints.NotNull;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
 
 
 @RestController
 @RestController
 @RequestMapping("/supplementOrder")
 @RequestMapping("/supplementOrder")
@@ -158,4 +166,42 @@ public class InsOrdersController extends BaseController {
     }
     }
 
 
 
 
+    @GetMapping("/comparePrice")
+    @Operation(summary = "比价")
+    public HttpResult comparePrice(String quoteNo){
+        List<InsOrdersVo> ordersVos = insOrdersService.comparePrice(quoteNo);
+        List<String> kindList = ordersVos.stream()
+                .map(InsOrdersVo::getKindInfoVo)
+                .filter(Objects::nonNull)
+                .flatMap(List::stream)
+                .map(KindInfoVo::getKindCode)
+                .distinct()    // 去重
+                .collect(Collectors.toList());
+
+
+
+        JSONArray jsonArray = new JSONArray();
+        ordersVos.forEach(item->{
+            JSONObject jsonObject = new JSONObject();
+            jsonObject.put("companyName",item.getCompanyName());
+            for (String kingCode : kindList) {
+                List<KindInfoVo> collect = item.getKindInfoVo().stream().filter(x -> x.getKindCode().equals(kingCode)).collect(Collectors.toList());
+                if(collect.isEmpty()){
+                    jsonObject.put(kingCode,"-");
+                }else{
+                    String amount = "";
+                    if (Integer.parseInt(collect.get(0).getAmount()) >= 10000){
+                        amount = (Integer.parseInt(collect.get(0).getAmount()) / 10000) + "万";
+                    }else{
+                        amount = collect.get(0).getAmount();
+                    }
+                    jsonObject.put(kingCode,"¥" + collect.get(0).getPremium() + "/n" + amount);
+                }
+            }
+            jsonArray.add(jsonObject);
+        });
+
+        return HttpResult.ok(jsonArray);
+    }
+
 }
 }

+ 4 - 1
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/controller/UnifyOrderManager.java

@@ -224,7 +224,10 @@ public class UnifyOrderManager {
         if (byCompanyId.getData().isEmpty()) {
         if (byCompanyId.getData().isEmpty()) {
             AssertionUtils.isFail(true, "保司未配置协议");
             AssertionUtils.isFail(true, "保司未配置协议");
         }
         }
-        PtlAgreement ptlAgreement = byCompanyId.getData().get(0);
+        PtlAgreement ptlAgreement = byCompanyId.getData().stream().filter(x->x.getId().equals(quoteVo.getOrder().getAgreementId())).findFirst().orElse(null);
+        if(Objects.isNull(ptlAgreement)){
+            throw new SystemException("协议不存在");
+        }
         quoteVo.getOrder().setAgreementId(ptlAgreement.getId());
         quoteVo.getOrder().setAgreementId(ptlAgreement.getId());
         quoteVo.getOrder().setApiType(ptlAgreement.getApiType());
         quoteVo.getOrder().setApiType(ptlAgreement.getApiType());
         // 设置人员区划
         // 设置人员区划

+ 0 - 3
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/factory/decorator/quote/QuoteDispatchDecorator.java

@@ -61,9 +61,6 @@ public class QuoteDispatchDecorator {
         if(baseController.getUserSystemCode().equals("APP")){
         if(baseController.getUserSystemCode().equals("APP")){
             HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
             HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
             systemCode = request.getHeader("system_code");
             systemCode = request.getHeader("system_code");
-        }else{
-            //设置固定的信息
-            systemCode = "WWW001";
         }
         }
         HttpResult<PtlAgreementAttribution> agreementAttribution = platformClient.getAgreementAttribution(agreementId, token, systemCode);
         HttpResult<PtlAgreementAttribution> agreementAttribution = platformClient.getAgreementAttribution(agreementId, token, systemCode);
         AssertionUtils.isFail(agreementAttribution.getCode() == 500, "获取协议属性失败");
         AssertionUtils.isFail(agreementAttribution.getCode() == 500, "获取协议属性失败");

+ 6 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/mapper/InsOrdersMapper.java

@@ -43,4 +43,10 @@ public interface InsOrdersMapper extends BaseMapper<InsOrders> {
      * @return
      * @return
      */
      */
     InsOrders getBaseOrders(String companyId,String licenseNo, String vinNo);
     InsOrders getBaseOrders(String companyId,String licenseNo, String vinNo);
+
+    /**
+     * 获取最新报价的订单信息
+     */
+    List<InsOrdersVo> queryNewQuoteListByQuoteNo(String quoteNo);
+
 }
 }

+ 2 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/InsOrdersService.java

@@ -156,4 +156,6 @@ public interface InsOrdersService extends IService<InsOrders> {
      */
      */
     boolean changePerson(String orderNo,String name,String phone);
     boolean changePerson(String orderNo,String name,String phone);
 
 
+    List<InsOrdersVo> comparePrice(String quoteNo);
+
 }
 }

+ 37 - 3
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrdersServiceImpl.java

@@ -245,7 +245,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         } catch (Exception e) {
         } catch (Exception e) {
             // 如果在保存过程中发生异常,则记录日志并抛出运行时异常
             // 如果在保存过程中发生异常,则记录日志并抛出运行时异常
             log.error("保存订单时发生异常", e);
             log.error("保存订单时发生异常", e);
-            throw new RuntimeException("保存订单失败,请检查输入数据", e);
+            throw new SystemException("保存订单失败,请检查输入数据");
         }
         }
     }
     }
 
 
@@ -346,6 +346,10 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
 
 
     @Override
     @Override
     public IPage<OrdersListVo> pageList(InsOrdersParam insOrdersParam) {
     public IPage<OrdersListVo> pageList(InsOrdersParam insOrdersParam) {
+        if(Objects.nonNull(insOrdersParam.getRecordingTime()) && insOrdersParam.getRecordingTime().length > 0){
+            insOrdersParam.setStartDate(insOrdersParam.getRecordingTime()[0]);
+            insOrdersParam.setEndDate(insOrdersParam.getRecordingTime()[1]);
+        }
         IPage<OrdersListVo> ordersListVoIPage = insOrdersMapper.pageList(insOrdersParam.getPage(), insOrdersParam);
         IPage<OrdersListVo> ordersListVoIPage = insOrdersMapper.pageList(insOrdersParam.getPage(), insOrdersParam);
         return ordersListVoIPage;
         return ordersListVoIPage;
     }
     }
@@ -403,6 +407,17 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
                 }
                 }
             });
             });
         }
         }
+
+        if (Objects.nonNull(insOrdersVo.getOwnersInfo())){
+            insOrdersVo.getOwnersInfo().setIdentifyType(insOrdersVo.getOwnersInfo().getPersonType());
+        }
+        if (Objects.nonNull(insOrdersVo.getPolicyHolderInfo())){
+            insOrdersVo.getPolicyHolderInfo().setIdentifyType(insOrdersVo.getPolicyHolderInfo().getPersonType());
+        }
+        if (Objects.nonNull(insOrdersVo.getInsuredPersonInfo())){
+            insOrdersVo.getInsuredPersonInfo().setIdentifyType(insOrdersVo.getInsuredPersonInfo().getPersonType());
+        }
+
         if (CollectionUtil.isNotEmpty(insOrdersVo.getInsOrdersRiskList())){
         if (CollectionUtil.isNotEmpty(insOrdersVo.getInsOrdersRiskList())){
             insOrdersVo.getInsOrdersRiskList().forEach(riskInfo -> {
             insOrdersVo.getInsOrdersRiskList().forEach(riskInfo -> {
                 insOrdersVo.setBiRiskInfoVo(getRiskInfoVo(riskInfo));
                 insOrdersVo.setBiRiskInfoVo(getRiskInfoVo(riskInfo));
@@ -684,7 +699,9 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
                 quoteResponse.getKindInfoVo().forEach(kindInfoVo -> {
                 quoteResponse.getKindInfoVo().forEach(kindInfoVo -> {
                     kindList.forEach(kind -> {
                     kindList.forEach(kind -> {
                         if (kind.getKindCode().equals(kindInfoVo.getPlatformKindCode())) {
                         if (kind.getKindCode().equals(kindInfoVo.getPlatformKindCode())) {
-                            kind.setPremium(new BigDecimal(kindInfoVo.getPremium()));
+                            if(Objects.nonNull(kindInfoVo.getPremium())) {
+                                kind.setPremium(new BigDecimal(kindInfoVo.getPremium()));
+                            }
                         }
                         }
                     });
                     });
                 });
                 });
@@ -1087,7 +1104,12 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
     public Page<HistoryQuoteResultVo> getHistoryQuoteList(HistoryQuoteQueryVo historyQuoteQueryVo){
     public Page<HistoryQuoteResultVo> getHistoryQuoteList(HistoryQuoteQueryVo historyQuoteQueryVo){
         String userName = baseController.getUserName();
         String userName = baseController.getUserName();
         Page page = historyQuoteQueryVo.getPage();
         Page page = historyQuoteQueryVo.getPage();
-        return insOrdersMapper.getHistoryQuoteList(page,historyQuoteQueryVo,userName);
+        Page<HistoryQuoteResultVo> historyQuoteList = insOrdersMapper.getHistoryQuoteList(page, historyQuoteQueryVo, userName);
+        historyQuoteList.getRecords().forEach(item->{
+            InsOrderStatusEnum insOrderStatusEnum = InsOrderStatusEnum.matchKey(item.getOrderStatus());
+            item.setOrderStatusName(insOrderStatusEnum.getDesc());
+        });
+        return historyQuoteList;
     }
     }
 
 
     @Override
     @Override
@@ -1171,5 +1193,17 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         return false;
         return false;
     }
     }
 
 
+    @Override
+    public List<InsOrdersVo> comparePrice(String quoteNo){
+        List<InsOrdersVo> ordersVos = baseMapper.queryNewQuoteListByQuoteNo(quoteNo);
+        List<InsOrdersVo> resultVos = new ArrayList<>();
+        ordersVos.forEach(item->{
+            String status = item.getInsOrders().getOrderStatus();
+            if(InsOrderStatusEnum.WAIT_AUDIT.getCode().equals(status) || InsOrderStatusEnum.PAY_PENDING.getCode().equals(status)){
+                resultVos.add(item);
+            }
+        });
+        return resultVos;
+    }
 
 
 }
 }

+ 22 - 1
tenant/insurance/quotation-summary/src/main/resources/mapper/InsOrdersMapper.xml

@@ -306,7 +306,7 @@
     </select>
     </select>
 
 
     <select id="selectKindMap" resultMap="KindMap">
     <select id="selectKindMap" resultMap="KindMap">
-        select id, order_no, amount, kind_code, service_times, kind_name, unit_amount, deductible_rate from  ins_orders_kind  where order_no = #{orderNo}
+        select id, order_no, amount, kind_code, service_times, kind_name, unit_amount, deductible_rate, premium from  ins_orders_kind  where order_no = #{orderNo}
     </select>
     </select>
 
 
 
 
@@ -429,6 +429,12 @@
             <if test="insOrdersParam.adjustStatus!= null and insOrdersParam.adjustStatus!= ''">
             <if test="insOrdersParam.adjustStatus!= null and insOrdersParam.adjustStatus!= ''">
                 AND ioa.status = #{insOrdersParam.adjustStatus}
                 AND ioa.status = #{insOrdersParam.adjustStatus}
             </if>
             </if>
+            <if test="insOrdersParam.licenseNo != null and insOrdersParam.licenseNo">
+                AND c.license_no = #{insOrdersParam.licenseNo}
+            </if>
+            <if test="insOrdersParam.startDate != null and insOrdersParam.startDate">
+                AND o.create_time BETWEEN #{insOrdersParam.startDate} and #{insOrdersParam.endDate}
+            </if>
 <!--            <if test="insOrdersParam.recordingTime != null and insOrdersParam.recordingTime.size() > 0">-->
 <!--            <if test="insOrdersParam.recordingTime != null and insOrdersParam.recordingTime.size() > 0">-->
 <!--                AND o.create_time BETWEEN #{insOrdersParam.recordingTime[0]} AND #{insOrdersParam.recordingTime[1]}-->
 <!--                AND o.create_time BETWEEN #{insOrdersParam.recordingTime[0]} AND #{insOrdersParam.recordingTime[1]}-->
 <!--            </if>-->
 <!--            </if>-->
@@ -490,6 +496,20 @@
                audit_comments,create_by,audit_id,audit_name,error_message,create_time,create_by,update_time,update_by from ins_orders where id = #{id}
                audit_comments,create_by,audit_id,audit_name,error_message,create_time,create_by,update_time,update_by from ins_orders where id = #{id}
     </select>
     </select>
 
 
+    <select id="queryNewQuoteListByQuoteNo" resultMap="InsOrdersVoMap">
+        SELECT i.*
+        FROM ins_orders i
+                 JOIN (
+            SELECT company_id, MAX(create_time) AS max_time
+            FROM ins_orders
+            WHERE quote_no = #{quoteNo}
+            AND order_status in (1,2,3,4)
+            GROUP BY company_id
+        ) t
+                      ON i.company_id = t.company_id AND i.create_time = t.max_time
+        WHERE i.quote_no = #{quoteNo};
+    </select>
+
     <select id="queryList" resultMap="InsOrdersVoMap">
     <select id="queryList" resultMap="InsOrdersVoMap">
         select id, quote_no,company_name,audit_status,audit_comments,create_by,audit_id,audit_name from ins_orders order by create_time desc
         select id, quote_no,company_name,audit_status,audit_comments,create_by,audit_id,audit_name from ins_orders order by create_time desc
     </select>
     </select>
@@ -621,6 +641,7 @@
             io.company_name,
             io.company_name,
             ioci.license_no,
             ioci.license_no,
             io.order_status,
             io.order_status,
+            io.error_message,
             io.product_name,
             io.product_name,
             io.create_time as quote_time,
             io.create_time as quote_time,
             ioc.jq_premium,
             ioc.jq_premium,

+ 4 - 1
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/service/impl/ZhongMeiApiRequestImpl.java

@@ -79,7 +79,10 @@ public class ZhongMeiApiRequestImpl implements ZhongMeiApiRequest {
         rideAccidentQueryRequest.setHead(baseRequestHead);
         rideAccidentQueryRequest.setHead(baseRequestHead);
         RideAccidentQueryResponse rideAccidentQueryResponse = zmApiRequestComponent.rideAccidentQuery(rideAccidentQueryRequest, RideAccidentQueryResponse.class,url);
         RideAccidentQueryResponse rideAccidentQueryResponse = zmApiRequestComponent.rideAccidentQuery(rideAccidentQueryRequest, RideAccidentQueryResponse.class,url);
         // 处理意外险数据
         // 处理意外险数据
-        AccidentalDrivingVo accidentalDrivingVo = quoteVo.getAccidentalDrivings().get(0);
+        AccidentalDrivingVo accidentalDrivingVo = new AccidentalDrivingVo();
+        if(!quoteVo.getAccidentalDrivings().isEmpty()) {
+            accidentalDrivingVo = quoteVo.getAccidentalDrivings().get(0);
+        }
         // 报价
         // 报价
         QuotedPriceRequest quotedPriceRequest = new QuotedPriceRequest(quoteVo, simpleStadarCarDTO, accidentalDrivingVo, parameters);
         QuotedPriceRequest quotedPriceRequest = new QuotedPriceRequest(quoteVo, simpleStadarCarDTO, accidentalDrivingVo, parameters);
         quotedPriceRequest.setHead(baseRequestHead);
         quotedPriceRequest.setHead(baseRequestHead);

+ 8 - 5
tenant/organization/src/main/java/com/jzg/organization/service/impl/PtlAgreementDispatchServiceImpl.java

@@ -29,6 +29,7 @@ import org.springframework.transaction.annotation.Transactional;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
+import java.util.Objects;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
 /**
 /**
@@ -190,11 +191,13 @@ public class PtlAgreementDispatchServiceImpl extends ServiceImpl<PtlAgreementDis
                                 }
                                 }
                             }
                             }
                         }else if("change_bs_account".equals(action.getActionCode())){
                         }else if("change_bs_account".equals(action.getActionCode())){
-                            HttpResult<PtlAgreementAttribution> agreementAttribution = esmInsCompanyClient.getAgreementAttribution(action.getActionJson().get("accountId").toString(), baseController.getToken(), baseController.getUserSystemCode());
-                            if(agreementAttribution.getCode() == 200){
-                                PtlAgreementAttribution data = agreementAttribution.getData();
-                                action.getActionJson().put("userName",data.getUsername());
-                                action.getActionJson().put("companyName",data.getInsCompanyName());
+                            if(Objects.nonNull(action.getActionJson().get("accountId"))) {
+                                HttpResult<PtlAgreementAttribution> agreementAttribution = esmInsCompanyClient.getAgreementAttribution(action.getActionJson().get("accountId").toString(), baseController.getToken(), baseController.getUserSystemCode());
+                                if (agreementAttribution.getCode() == 200) {
+                                    PtlAgreementAttribution data = agreementAttribution.getData();
+                                    action.getActionJson().put("userName", data.getUsername());
+                                    action.getActionJson().put("companyName", data.getInsCompanyName());
+                                }
                             }
                             }
                         }
                         }
                     }
                     }

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

@@ -331,7 +331,7 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
         PtlAgreement newAgreement = new PtlAgreement();
         PtlAgreement newAgreement = new PtlAgreement();
         BeanUtils.copyProperties(agreement,newAgreement);
         BeanUtils.copyProperties(agreement,newAgreement);
         newAgreement.setId(null);
         newAgreement.setId(null);
-        newAgreement.setAgreementTitle(agreement.getAgreementTitle() + System.currentTimeMillis());
+        newAgreement.setAgreementTitle(LocalDateTime.now().getSecond() + agreement.getAgreementTitle());
         newAgreement.setAgreementCode(sysCode + companyCode + +System.currentTimeMillis());
         newAgreement.setAgreementCode(sysCode + companyCode + +System.currentTimeMillis());
         newAgreement.setAuditStatus(0);
         newAgreement.setAuditStatus(0);
         newAgreement.setIsEnable(0);
         newAgreement.setIsEnable(0);

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

@@ -73,7 +73,7 @@ public class PtlAgreementUndwrtRulesServiceImpl extends ServiceImpl<PtlAgreement
                             LocalDateTime effectiveTime = vo.getEffectiveTime().toInstant()
                             LocalDateTime effectiveTime = vo.getEffectiveTime().toInstant()
                                     .atZone(ZoneId.systemDefault())
                                     .atZone(ZoneId.systemDefault())
                                     .toLocalDateTime();
                                     .toLocalDateTime();
-                            LocalDateTime failureTime = vo.getEffectiveTime().toInstant()
+                            LocalDateTime failureTime = vo.getFailureTime().toInstant()
                                    .atZone(ZoneId.systemDefault())
                                    .atZone(ZoneId.systemDefault())
                                    .toLocalDateTime();
                                    .toLocalDateTime();
                             if(now.isAfter(effectiveTime) && now.isBefore(failureTime)){
                             if(now.isAfter(effectiveTime) && now.isBefore(failureTime)){

+ 8 - 6
tenant/organization/src/main/java/com/jzg/organization/service/impl/PtlSchemeServiceImpl.java

@@ -403,9 +403,9 @@ public class PtlSchemeServiceImpl extends ServiceImpl<PtlSchemeMapper, PtlScheme
                     Map<String, List<PtlAgreementDispatchRulesAttrLink>> grouped =
                     Map<String, List<PtlAgreementDispatchRulesAttrLink>> grouped =
                             attrLinks.stream()
                             attrLinks.stream()
                                     .collect(Collectors.groupingBy(
                                     .collect(Collectors.groupingBy(
-                                                    PtlAgreementDispatchRulesAttrLink::getSection,
-                                                    LinkedHashMap::new,
-                                                    Collectors.toList()
+                                            link -> Optional.ofNullable(link.getSection()).orElse("0"),
+                                            LinkedHashMap::new,
+                                            Collectors.toList()
                                     ));
                                     ));
                     ValidateDispatchRuleVo.DispatchAttrVo dispatchAttrVo = new ValidateDispatchRuleVo.DispatchAttrVo();
                     ValidateDispatchRuleVo.DispatchAttrVo dispatchAttrVo = new ValidateDispatchRuleVo.DispatchAttrVo();
                     dispatchAttrVo.setDispatchId(vo.getDispatchId());
                     dispatchAttrVo.setDispatchId(vo.getDispatchId());
@@ -484,9 +484,11 @@ public class PtlSchemeServiceImpl extends ServiceImpl<PtlSchemeMapper, PtlScheme
         //把基础方案的商业险的value 赋值
         //把基础方案的商业险的value 赋值
         schemeResultVo.getSchemes().forEach(schemeInfoVo -> {
         schemeResultVo.getSchemes().forEach(schemeInfoVo -> {
             schemeInfoVo.getKinds().forEach(kind -> {
             schemeInfoVo.getKinds().forEach(kind -> {
-                kind.setAmount(kind.getOptions().get(0).getValue());
-                kind.setUnitAmount(kind.getOptions().get(0).getValue());
-                kind.setServiceTimes(kind.getOptions().get(0).getValue());
+                if(!kind.getOptions().isEmpty()) {
+                    kind.setAmount(kind.getOptions().get(0).getValue());
+                    kind.setUnitAmount(kind.getOptions().get(0).getValue());
+                    kind.setServiceTimes(kind.getOptions().get(0).getValue());
+                }
             });
             });
         });
         });
 
 

+ 24 - 4
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysUserServiceImpl.java

@@ -163,6 +163,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
 
     @Override
     @Override
     public Page<SysUserJzgInfoDto> getUserInfoList(Page page, SysUserInfoListVo sysUserInfoListVo) {
     public Page<SysUserJzgInfoDto> getUserInfoList(Page page, SysUserInfoListVo sysUserInfoListVo) {
+        if(Objects.nonNull(sysUserInfoListVo.getStatus()) && sysUserInfoListVo.getStatus() == 0){
+            List<Integer> typeStatus = new ArrayList<>();
+            sysUserInfoListVo.setStatus(null);
+            typeStatus.add(UserState.UserStateEnum.COMPANY_REVIEW_ING.getValue());
+            typeStatus.add(UserState.UserStateEnum.RESIGN_ING.getValue());
+            sysUserInfoListVo.setTypeStatus(typeStatus);
+        }
         return sysUserJzgInfoMapper.getUserInfoList(page, sysUserInfoListVo);
         return sysUserJzgInfoMapper.getUserInfoList(page, sysUserInfoListVo);
     }
     }
 
 
@@ -224,7 +231,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     @Override
     @Override
     public boolean salesmanAuthSuccess(String userInfoId) {
     public boolean salesmanAuthSuccess(String userInfoId) {
         SysUserJzgInfo userJzgInfo = sysUserJzgInfoService.getById(userInfoId);
         SysUserJzgInfo userJzgInfo = sysUserJzgInfoService.getById(userInfoId);
-        StateResult stateResult = userStateListener.salesmanAuthSuccess(userJzgInfo);
+        StateResult stateResult;
+        if(Objects.nonNull(userJzgInfo.getStatus()) && userJzgInfo.getStatus() == UserState.UserStateEnum.RESIGN_ING.getValue()){
+            stateResult = userStateListener.resignAuthSuccess(userJzgInfo);
+        }else {
+            stateResult = userStateListener.salesmanAuthSuccess(userJzgInfo);
+        }
         if (stateResult.isResult()) {
         if (stateResult.isResult()) {
             //更新状态
             //更新状态
             userJzgInfo.setStatus(stateResult.getCurrentState());
             userJzgInfo.setStatus(stateResult.getCurrentState());
@@ -236,7 +248,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     @Override
     @Override
     public boolean salesmanAuthFailed(AuditSalesmanVo auditSalesmanVo) {
     public boolean salesmanAuthFailed(AuditSalesmanVo auditSalesmanVo) {
         SysUserJzgInfo userJzgInfo = sysUserJzgInfoService.getById(auditSalesmanVo.getUserInfoId());
         SysUserJzgInfo userJzgInfo = sysUserJzgInfoService.getById(auditSalesmanVo.getUserInfoId());
-        StateResult stateResult = userStateListener.salesmanAuthFailed(userJzgInfo);
+        StateResult stateResult;
+        if(Objects.nonNull(userJzgInfo.getStatus()) && userJzgInfo.getStatus() == UserState.UserStateEnum.RESIGN_ING.getValue()){
+            stateResult = userStateListener.resignAuthFailed(userJzgInfo);
+        }else {
+            stateResult = userStateListener.salesmanAuthFailed(userJzgInfo);
+        }
+
         if (stateResult.isResult()) {
         if (stateResult.isResult()) {
             //更新状态
             //更新状态
             userJzgInfo.setStatus(stateResult.getCurrentState());
             userJzgInfo.setStatus(stateResult.getCurrentState());
@@ -828,9 +846,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         List<String> areaList = new ArrayList<>();
         List<String> areaList = new ArrayList<>();
         if (!Objects.isNull(sysUserJzgInfo.getProvince()) && !sysUserJzgInfo.getProvince().isEmpty()) {
         if (!Objects.isNull(sysUserJzgInfo.getProvince()) && !sysUserJzgInfo.getProvince().isEmpty()) {
             areaList.add(sysUserJzgInfo.getProvince());
             areaList.add(sysUserJzgInfo.getProvince());
-        } else if (!Objects.isNull(sysUserJzgInfo.getCity()) && !sysUserJzgInfo.getCity().isEmpty()) {
+        }
+        if (!Objects.isNull(sysUserJzgInfo.getCity()) && !sysUserJzgInfo.getCity().isEmpty()) {
             areaList.add(sysUserJzgInfo.getCity());
             areaList.add(sysUserJzgInfo.getCity());
-        } else if (!Objects.isNull(sysUserJzgInfo.getDistrict()) && !sysUserJzgInfo.getDistrict().isEmpty()) {
+        }
+        if (!Objects.isNull(sysUserJzgInfo.getDistrict()) && !sysUserJzgInfo.getDistrict().isEmpty()) {
             areaList.add(sysUserJzgInfo.getDistrict());
             areaList.add(sysUserJzgInfo.getDistrict());
         }
         }
         if (areaList.size() == 0) {
         if (areaList.size() == 0) {

+ 8 - 0
tenant/organization/src/main/java/com/jzg/organization/state/config/UserStateConfig.java

@@ -68,6 +68,14 @@ public class UserStateConfig extends StateMachineConfigurerAdapter<UserState.Use
                 .withExternal()
                 .withExternal()
                 //已入职 -> 离职中
                 //已入职 -> 离职中
                 .source(UserState.UserStateEnum.ALREADY_EMPLOYEE).target(UserState.UserStateEnum.RESIGN_ING).event(UserState.UserStateEvent.RESIGN_ING)
                 .source(UserState.UserStateEnum.ALREADY_EMPLOYEE).target(UserState.UserStateEnum.RESIGN_ING).event(UserState.UserStateEvent.RESIGN_ING)
+                .and()
+                .withExternal()
+                //离职中 -> 离职成功
+                .source(UserState.UserStateEnum.RESIGN_ING).target(UserState.UserStateEnum.RESIGN).event(UserState.UserStateEvent.RESIGN)
+                .and()
+                .withExternal()
+                // 离职中-》 入职    离职失败
+                .source(UserState.UserStateEnum.RESIGN_ING).target(UserState.UserStateEnum.ALREADY_EMPLOYEE).event(UserState.UserStateEvent.RESIGN_FAILED)
         ;
         ;
     }
     }
 }
 }

+ 10 - 0
tenant/organization/src/main/java/com/jzg/organization/state/listener/UserStateListener.java

@@ -124,4 +124,14 @@ public class UserStateListener {
         StateResult stateResult = callEvent(sysUserJzgInfo, UserState.UserStateEvent.COMPANY_REVIEW);
         StateResult stateResult = callEvent(sysUserJzgInfo, UserState.UserStateEvent.COMPANY_REVIEW);
         return stateResult;
         return stateResult;
     }
     }
+
+    public StateResult resignAuthSuccess(SysUserJzgInfo sysUserJzgInfo){
+        StateResult stateResult = callEvent(sysUserJzgInfo, UserState.UserStateEvent.RESIGN);
+        return stateResult;
+    }
+
+    public StateResult resignAuthFailed(SysUserJzgInfo sysUserJzgInfo){
+        StateResult stateResult = callEvent(sysUserJzgInfo, UserState.UserStateEvent.RESIGN_FAILED);
+        return stateResult;
+    }
 }
 }

+ 2 - 0
tenant/organization/src/main/resources/mapper/PtlAgreementCostMapper.xml

@@ -158,6 +158,8 @@
         left join ptl_agreement_cost_rule r on c.id = r.ptl_agreement_cost_id
         left join ptl_agreement_cost_rule r on c.id = r.ptl_agreement_cost_id
         <where>
         <where>
             c.is_delete = 0
             c.is_delete = 0
+            AND
+            c.approved = 1
             <if test="ptlAgreementId != null">
             <if test="ptlAgreementId != null">
                 AND c.ptl_agreement_id = #{ptlAgreementId}
                 AND c.ptl_agreement_id = #{ptlAgreementId}
             </if>
             </if>

+ 4 - 1
tenant/organization/src/main/resources/mapper/PtlSchemeMapper.xml

@@ -42,6 +42,7 @@
                 <result column="grouping" property="grouping"/>
                 <result column="grouping" property="grouping"/>
                 <result column="premium" property="premium"/>
                 <result column="premium" property="premium"/>
                 <result column="quantity" property="quantity"/>
                 <result column="quantity" property="quantity"/>
+                <result column="selected_status" property="selectedStatus"/>
             </collection>
             </collection>
         </collection>
         </collection>
     </resultMap>
     </resultMap>
@@ -136,6 +137,7 @@
             ps.company_id = #{companyId}
             ps.company_id = #{companyId}
             AND ps.product_id = #{productId}
             AND ps.product_id = #{productId}
             AND psi.is_delete = 0
             AND psi.is_delete = 0
+        order by ibi.id,ibio.sort asc
 
 
     </select>
     </select>
 
 
@@ -151,7 +153,8 @@
             jc.product_code,
             jc.product_code,
             jc.coverage,
             jc.coverage,
             jc.premium,
             jc.premium,
-            psidi.quantity
+            psidi.quantity,
+            psidi.selected_status
         FROM
         FROM
             ptl_scheme ps
             ptl_scheme ps
                 INNER JOIN ptl_scheme_info psi ON ps.id = psi.scheme_id
                 INNER JOIN ptl_scheme_info psi ON ps.id = psi.scheme_id

+ 7 - 0
tenant/organization/src/main/resources/mapper/SysUserJzgInfoMapper.xml

@@ -88,6 +88,13 @@
         <if test="sysUserInfoListVo.status != null and sysUserInfoListVo.status != '-1'">
         <if test="sysUserInfoListVo.status != null and sysUserInfoListVo.status != '-1'">
             and suji.status = #{sysUserInfoListVo.status}
             and suji.status = #{sysUserInfoListVo.status}
         </if>
         </if>
+        <if test="sysUserInfoListVo.typeStatus != null and sysUserInfoListVo.typeStatus.size() > 0">
+            AND suji.status IN
+            <foreach item="status" collection="sysUserInfoListVo.typeStatus"
+                     open="(" separator="," close=")">
+                #{status}
+            </foreach>
+        </if>
         <if test="sysUserInfoListVo.isEnable != null and sysUserInfoListVo.isEnable != ''">
         <if test="sysUserInfoListVo.isEnable != null and sysUserInfoListVo.isEnable != ''">
             and suji.is_enable = #{sysUserInfoListVo.isEnable}
             and suji.is_enable = #{sysUserInfoListVo.isEnable}
         </if>
         </if>