785834757 8 месяцев назад
Родитель
Сommit
50f45065d8

+ 8 - 0
commons/src/main/java/com/jzg/commons/core/base/BaseController.java

@@ -184,4 +184,12 @@ public class BaseController {
         return systemCode;
     }
 
+    public String getSystemCode(){
+        String userSystemCode = this.getUserSystemCode();
+        if(userSystemCode.equals("APP")){
+            userSystemCode = this.getAppSystemCode();
+        }
+        return userSystemCode;
+    }
+
 }

+ 9 - 0
commons/src/main/java/com/jzg/commons/entity/dto/CostManagementVo.java

@@ -62,6 +62,15 @@ public class CostManagementVo {
     @Schema(description = "创建人")
     private String createBy;
 
+    @Schema(description = "修改时间")
+    private String updateTime;
+
+    @Schema(description = "对接人")
+    private String dockingPerson;
+
+    @Schema(description = "保司名称")
+    private String companyName;
+
     @Schema(description = "规则条件集合")
     private List<PtlAgreementCostRuleVo> ruleConditions;
 

+ 12 - 0
commons/src/main/java/com/jzg/commons/entity/dto/PtlAgreementCostParam.java

@@ -42,6 +42,18 @@ public class PtlAgreementCostParam extends PageRequest {
     @Schema(description = "创建时间")
     private List<String> createTimeArr;
 
+    @Schema(description = "修改时间")
+    private List<String> updateTimeArr;
+
+    @Schema(description = "保险公司")
+    private String companyId;
+
+    @Schema(description = "对接人")
+    private String contactPerson;
+
+    @Schema(description = "是否启用")
+    private String isEnabled;
+
 
 
 }

+ 0 - 1
commons/src/main/java/com/jzg/commons/entity/dto/SysSystemAddParam.java

@@ -67,7 +67,6 @@ public class SysSystemAddParam {
 
     /** 系统图标 */
     @Schema(description = "系统图标")
-    @NotNull(message = "品牌LOGO不能为空")
     private String sysIcon;
 
     /** 联系人 */

+ 4 - 1
platform/src/main/resources/mapper/SysSystemMapper.xml

@@ -73,7 +73,10 @@
         <include refid="selectSystemVo"/>
         <where>
             <if test="sysSystemVo.searchValue != null and sysSystemVo.searchValue != ''">
-                and ( sys_name = #{sysSystemVo.searchValue} or sys_code = #{sysSystemVo.searchValue})
+                AND (
+                sys_name LIKE concat('%', #{sysSystemVo.searchValue}, '%')
+                OR sys_code LIKE concat('%', #{sysSystemVo.searchValue}, '%')
+                )
             </if>
             and is_tenant = 1 and parent_id <![CDATA[ <> ]]> '0' and is_delete = 0
         </where>

+ 2 - 2
tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/api/service/Impl/GuoRenApiRequestImpl.java

@@ -209,7 +209,7 @@ public class GuoRenApiRequestImpl implements GuoRenApiRequest {
                 underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.PAY_PENDING);
                 SignatureResponse signature = getSignature(guoRenApiOrder,url);
                 underwritingResultsVo.setPaymentLink(signature.getQrCode());
-            } else if (jqStatus.equals("2")) {
+            } else if (jqStatus.equals("2") || jqStatus.equals("0")) {
                 underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.AUDIT_FAIL);
                 underwritingResultsVo.setUnderwritingResult(message);
             }
@@ -221,7 +221,7 @@ public class GuoRenApiRequestImpl implements GuoRenApiRequest {
                 SignatureResponse signature = getSignature(guoRenApiOrder,url);
                 underwritingResultsVo.setPaymentLink(signature.getQrCode());
 
-            } else if (syStatus.equals("2")) {
+            } else if (syStatus.equals("2") || syStatus.equals("0")) {
                 underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.AUDIT_FAIL);
                 underwritingResultsVo.setUnderwritingResult(message);
             }

+ 1 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrdersCarInfoServiceImpl.java

@@ -122,6 +122,7 @@ public class InsOrdersCarInfoServiceImpl extends ServiceImpl<InsOrdersCarInfoMap
         boolean isTransfer = carInfoVo.isTransfer();
         insOrdersCarInfo.setTransfer(isTransfer ? 1 : 0);
         if (isTransfer) {
+            AssertionUtils.isFail(Objects.isNull(carInfoVo.getTransferDate()), "请填写转移登记日期");
             insOrdersCarInfo.setTransferDate(LocalDate.parse(carInfoVo.getTransferDate(),formatter).atStartOfDay());
         } else {
             insOrdersCarInfo.setTransferDate(null);

+ 10 - 2
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/crawler/entity/Request/ZmCrawlerActualValueRequest.java

@@ -5,10 +5,12 @@ import com.jzg.quotation.commons.utils.DateUtil;
 import com.jzg.quotation.zhongmei.api.entity.BaseRequestHead;
 import com.jzg.quotation.zhongmei.api.entity.request.BaseRequest;
 import com.jzg.quotation.zhongmei.crawler.constant.enums.ZmCrawlerTransCode;
+import com.jzg.quotation.zhongmei.crawler.entity.Response.ZmCrawlerModelQueryResponse;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 import java.io.Serial;
+import java.math.BigDecimal;
 import java.util.Date;
 
 /**
@@ -82,11 +84,16 @@ public class ZmCrawlerActualValueRequest extends BaseRequest {
      */
     private String energyTypeCode;
 
-    public ZmCrawlerActualValueRequest(CarInfoVo carInfoVo, BaseRequestHead head) {
+    /**
+     * 车型code
+     */
+    private String modelCode;
+
+    public ZmCrawlerActualValueRequest(CarInfoVo carInfoVo, ZmCrawlerModelQueryResponse.FullCarDataDTO fullCarDataDTO, BaseRequestHead head) {
         this.setHead(head);
         this.approvedPassengersCapacity = Integer.parseInt(carInfoVo.getSeatCount());
         this.validDate = DateUtil.getDateFormat(new Date(), DateUtil.FULL_TIME_SPLIT_PATTERN);
-        this.purchasePrice = Integer.parseInt(carInfoVo.getPurchasePrice());
+        this.purchasePrice = new BigDecimal(carInfoVo.getPurchasePrice()).intValue();
         this.motorUsageTypeCode = carInfoVo.getCarNatureCode();
         if(carInfoVo.getEnergyTypeCode().equals("0")){
             this.planCode = "1379";
@@ -105,6 +112,7 @@ public class ZmCrawlerActualValueRequest extends BaseRequest {
         this.carUseType = carInfoVo.getVehicleUseCode();
         this.motorMainType = carInfoVo.getCarKindCode();
         this.motorSubType = "101";
+        this.modelCode = fullCarDataDTO.getFullCarData().getLocalModelCode();
         this.energyTypeCode = carInfoVo.getEnergyTypeCode();
     }
 

+ 1 - 1
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/crawler/service/Impl/ZhongMeiCrawlerRequestImpl.java

@@ -87,7 +87,7 @@ public class ZhongMeiCrawlerRequestImpl implements ZhongMeiCrawlerRequest {
             // 2.1 获取相同的车型
             ZmCrawlerModelQueryResponse.FullCarDataDTO fullCarDataDTO = CarModelsFilterUtils.to(fullCarDataDTOS, quoteVo.getCarInfoVo());
             // 2.2 计算折旧价格
-            ZmCrawlerActualValueRequest actualValueRequest = new ZmCrawlerActualValueRequest(quoteVo.getCarInfoVo(),head);
+            ZmCrawlerActualValueRequest actualValueRequest = new ZmCrawlerActualValueRequest(quoteVo.getCarInfoVo(),fullCarDataDTO,head);
             ZmCrawlerActualValueResponse actualValueResponse = zmCrawlerRequestComponent.getActualValue(actualValueRequest);
             List<ZmCrawlerRideAccidentResponse.BaseInfoDTO> accident = new ArrayList<>();
             if (quoteVo.getAccidentalDrivings() != null) {

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

@@ -105,11 +105,18 @@ public class PtlAgreementUndwrtRulesServiceImpl extends ServiceImpl<PtlAgreement
         PtlAgreementUndwrtRules rules = new PtlAgreementUndwrtRules();
         rules.setOrderNum(Objects.nonNull(maxRules) ? maxRules.getOrderNum() + 1 : 1);
         rules.setAgreementId(param.getAgreementId());
-        baseMapper.insert(rules);
+
         //遍历承保规则属性
+        List<PtlAgreementUndwrtRulesAttr> undwrtRulesAttrList = agreementUndwrtRulesAttrService.getUndwrtRulesAttrList();
         List<PtlAgreementUndwrtRulesAttrLink> rulesAttrList = param.getRulesAttrList();
         List<PtlAgreementUndwrtRulesAttrLink> costsAttrLink = new ArrayList<>();
         rulesAttrList.forEach(attr -> {
+
+            //判断空值
+            if(Objects.isNull(attr.getMin()) && Objects.isNull(attr.getMax()) && Objects.isNull(attr.getMinArray())){
+                PtlAgreementUndwrtRulesAttr ptlAgreementUndwrtRulesAttr = undwrtRulesAttrList.stream().filter(x -> x.getAttrCode().equals(attr.getAttrCode())).findFirst().orElse(null);
+                throw new SystemException(ptlAgreementUndwrtRulesAttr.getAttrName() + "规则不能为空,请修改");
+            }
             if (null != attr.getMin() ||  null != attr.getMax()) {
                 attr.setRulesId(rules.getId());
                 attr.setId(null);
@@ -118,8 +125,8 @@ public class PtlAgreementUndwrtRulesServiceImpl extends ServiceImpl<PtlAgreement
         });
         agreementUndwrtRulesAttrLinkMapper.insert(costsAttrLink);
         //获取费用属性
-        List<PtlAgreementUndwrtRulesAttr> undwrtRulesAttrList = agreementUndwrtRulesAttrService.getUndwrtRulesAttrList();
         rules.setRuleDescription(buildDesc(costsAttrLink, undwrtRulesAttrList));
+        baseMapper.insert(rules);
         baseMapper.updateById(rules);
         return true;
     }
@@ -225,6 +232,7 @@ public class PtlAgreementUndwrtRulesServiceImpl extends ServiceImpl<PtlAgreement
                     .filter(x -> x.getAttrCode().equals(linkList.get(finalI).getAttrCode()))
                     .findAny()
                     .get();
+
             //数值范围判断
 
             if ("inputNumber".equals(ptlAgreementUndwrtRulesAttr.getAttrType())) {

+ 36 - 3
tenant/organization/src/main/resources/mapper/PtlAgreementCostMapper.xml

@@ -320,18 +320,27 @@
             pc.cover_rule_id,
             pc.approved,
             pc.is_enabled,
-            pc.is_valid,
             pc.create_time,
             pc.create_by,
             pa.agreement_code,
             pa.agreement_title,
             pa.agreement_abbreviation,
             pa.id as ptlAgreementId,
-            pr.rule_description
+            pr.rule_description,
+            eic.name as company_name,
+            pa.docking_person,
+            pc.update_time,
+            CASE
+                WHEN NOW() >= pc.effective_time
+                AND (pc.failure_time IS NULL OR NOW() &lt; pc.failure_time)
+                THEN 1
+                ELSE 0
+            END AS is_valid
         FROM
             ptl_agreement_cost pc
                 LEFT JOIN ptl_agreement pa ON pa.id = pc.ptl_agreement_id and pa.is_delete = 0
                 LEFT JOIN ptl_agreement_undwrt_rules pr ON pr.id = pc.cover_rule_id AND pr.agreement_id = pc.ptl_agreement_id and pr.is_delete = 0
+        LEFT JOIN esm_ins_company eic on eic.id = pa.company_id
         <where>
             pc.is_delete = 0
             <if test="costParam.agreement != null and costParam.agreement != ''">
@@ -356,7 +365,19 @@
                 AND pc.approved = #{costParam.auditStatus}
             </if>
             <if test="costParam.validState != null and costParam.validState != ''">
-                AND pc.is_valid = #{costParam.validState}
+                <choose>
+                    <!-- 有效 -->
+                    <when test="costParam.validState == 0">
+                        AND NOW() >= pc.effective_time
+                        AND (pc.failure_time IS NULL OR NOW() &lt; pc.failure_time)
+                    </when>
+
+                    <!-- 无效 -->
+                    <when test="costParam.validState == 1">
+                        AND ( (pc.failure_time IS NOT NULL AND NOW() >= pc.failure_time)
+                        )
+                    </when>
+                </choose>
             </if>
             <if test="costParam.effectiveTime != null and costParam.effectiveTime.size() > 0">
                 AND pc.effective_time BETWEEN #{costParam.effectiveTime[0]} AND #{costParam.effectiveTime[1]}
@@ -367,6 +388,18 @@
             <if test="costParam.createTimeArr != null and costParam.createTimeArr.size() > 0">
                 AND pc.create_time BETWEEN #{costParam.createTimeArr[0]} AND #{costParam.createTimeArr[1]}
             </if>
+            <if test="costParam.companyId != null and costParam.companyId != ''">
+                AND pa.company_id = #{costParam.companyId}
+            </if>
+            <if test="costParam.contactPerson != null and costParam.contactPerson != ''">
+                AND pa.docking_person = #{costParam.contactPerson}
+            </if>
+            <if test="costParam.isEnabled != null and costParam.isEnabled != ''">
+                AND pc.is_enabled = #{costParam.isEnabled}
+            </if>
+            <if test="costParam.updateTimeArr != null and costParam.updateTimeArr.size() > 0">
+                AND pc.update_time BETWEEN #{costParam.updateTimeArr[0]} AND #{costParam.updateTimeArr[1]}
+            </if>
         </where>
         order by pc.create_time desc
     </select>