785834757 1 жил өмнө
parent
commit
52db90b962

+ 4 - 0
commons/src/main/java/com/jzg/commons/entity/po/EsmInsCompany.java

@@ -42,6 +42,10 @@ public class EsmInsCompany extends BaseModel {
     @TableField(exist = false)
     private List<EsmInsCompany> children;
 
+    // 保司协议
+    @TableField(exist = false)
+    private List<PtlAgreement> agreements;
+
 }
 
 

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

@@ -325,4 +325,16 @@ public class SysUserJzgInfo extends BaseModel implements Serializable {
         this.systemCode = systemCode;
         this.typeAttr = "2";
     }
+
+    /**
+     * 重置人员类型   团队 渠道 电销 转为个代
+     * @param typeAttr
+     * @return
+     */
+    public static String resetTypeAttr(Integer typeAttr){
+        if(typeAttr == 5 || typeAttr == 7 || typeAttr == 8){
+            return "6";
+        }
+        return String.valueOf(typeAttr);
+    }
 }

+ 9 - 2
commons/src/main/java/com/jzg/commons/entity/quote/vo/CustomerInfoVo.java

@@ -69,7 +69,7 @@ public class CustomerInfoVo implements Serializable {
      * 证件类型代码
      */
     @Schema(description = "证件类型代码")
-    private String documentsTypeCode;
+    private String identifyType;
     /**
      * 组织机构代码
      */
@@ -182,8 +182,15 @@ public class CustomerInfoVo implements Serializable {
         this.provinceCode = carUserInfo.getProvinceCode();
         this.cityCode = carUserInfo.getCityCode();
         this.countyCode = carUserInfo.getCountyCode();
-        this.documentsTypeCode = String.valueOf(carUserInfo.getCerType());
+        this.identifyType = String.valueOf(carUserInfo.getCerType());
 
     }
 
+    public String getDocumentsTypeCode() {
+        return identifyType;
+    }
+
+    public void setDocumentsTypeCode(String documentsTypeCode) {
+        this.identifyType = documentsTypeCode;
+    }
 }

+ 4 - 0
platform/src/main/java/com/jzg/mapper/PtlAgreementMapper.java

@@ -4,6 +4,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.jzg.commons.entity.po.PtlAgreement;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+
 @Mapper
 public interface PtlAgreementMapper extends BaseMapper<PtlAgreement> {
+
+    public List<PtlAgreement> getUserAgreementByCompanyIds(String deptId, List<String> companyIds);
 }

+ 11 - 0
platform/src/main/java/com/jzg/service/PtlAgreementService.java

@@ -3,5 +3,16 @@ package com.jzg.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.jzg.commons.entity.po.PtlAgreement;
 
+import java.util.List;
+
 public interface PtlAgreementService extends IService<PtlAgreement> {
+
+    /**
+     * 根据用户的机构与保司 获取可报价的协议
+     * @param deptId
+     * @param companyIds
+     * @return
+     */
+    public List<PtlAgreement> getUserAgreementByCompanyIds(String deptId, List<String> companyIds);
+
 }

+ 6 - 0
platform/src/main/java/com/jzg/service/impl/PtlAgreementServiceImpl.java

@@ -6,6 +6,8 @@ import com.jzg.mapper.PtlAgreementMapper;
 import com.jzg.service.PtlAgreementService;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * @author quchen
  * @date 2025/2/20 15:30
@@ -13,4 +15,8 @@ import org.springframework.stereotype.Service;
 
 @Service
 public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, PtlAgreement> implements PtlAgreementService {
+    @Override
+    public List<PtlAgreement> getUserAgreementByCompanyIds(String deptId, List<String> companyIds) {
+        return baseMapper.getUserAgreementByCompanyIds(deptId,companyIds);
+    }
 }

+ 25 - 0
platform/src/main/java/com/jzg/service/impl/SysSystemServiceImpl.java

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jzg.commons.annotation.IgnoreTenant;
 import com.jzg.commons.constants.SystemConstants;
+import com.jzg.commons.core.base.BaseController;
 import com.jzg.commons.entity.dto.SysSystemAddParam;
 import com.jzg.commons.entity.dto.SysSystemEditParam;
 import com.jzg.commons.entity.dto.SysSystemParam;
@@ -24,6 +25,7 @@ import com.jzg.commons.util.AssertionUtils;
 import com.jzg.commons.util.MinioUtils;
 import com.jzg.commons.util.StringUtils;
 import com.jzg.mapper.*;
+import com.jzg.service.PtlAgreementService;
 import com.jzg.service.SysSystemService;
 import com.jzg.service.SysAreaBService;
 import org.springframework.beans.BeanUtils;
@@ -71,6 +73,12 @@ public class SysSystemServiceImpl extends ServiceImpl<SysSystemMapper, SysSystem
     @Autowired
     private SysSystemBusPermsLinkMapper sysSystemBusPermsLinkMapper;
 
+    @Autowired
+    private PtlAgreementService ptlAgreementService;
+
+    @Autowired
+    private BaseController baseController;
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     @IgnoreTenant
@@ -554,6 +562,23 @@ public class SysSystemServiceImpl extends ServiceImpl<SysSystemMapper, SysSystem
             companyIds = busPerms.getQuoteCompanyList();
         }
         List<EsmInsCompany> companyList = baseMapper.getCompanyList(companyIds);
+
+        // 根据用户权限获取 可使用的协议
+        List<String> companyIdList = companyList.stream().map(x -> x.getId()).collect(Collectors.toList());
+
+        List<PtlAgreement> userAgreement = ptlAgreementService.getUserAgreementByCompanyIds(baseController.getUserDeptId(), companyIdList);
+
+        Map<String, List<PtlAgreement>> groupedMap = userAgreement.stream()
+                .collect(Collectors.groupingBy(PtlAgreement::getCompanyId));
+
+        companyList.forEach(company->{
+            if(groupedMap.containsKey(company.getId())){
+                company.setAgreements(groupedMap.get(company.getId()));
+            }
+        });
+
+        companyList = companyList.stream().filter(x -> Objects.nonNull(x.getAgreements()) && x.getAgreements().size() > 0).collect(Collectors.toList());
+
         return companyList;
     }
 

+ 15 - 0
platform/src/main/resources/mapper/PtlAgreementMapper.xml

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jzg.mapper.PtlAgreementMapper">
+
+    <select id="getUserAgreementByCompanyIds" resultType="com.jzg.commons.entity.po.PtlAgreement">
+        SELECT pa.*
+        FROM ptl_agreement_dept pad
+                 JOIN ptl_agreement pa ON pad.agreement_id = pa.id
+        WHERE pa.company_id IN
+        <foreach collection="companyIds" item="companyId" open="(" separator="," close=")">
+            #{companyId}
+        </foreach>
+          AND pad.dept_id = #{deptId}
+    </select>
+</mapper>

+ 4 - 2
tenant/organization/src/main/java/com/jzg/organization/client/EsmInsCompanyClient.java

@@ -5,11 +5,12 @@ import com.jzg.commons.entity.po.EsmInsCompany;
 import com.jzg.commons.entity.system.vo.SysSystemBusPermsVo;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestHeader;
 import org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.List;
 
-@FeignClient(name="jzg-platform",url = "http://localhost:8001/")
+@FeignClient(name="jzg-platform",url = "http://192.168.0.250:8001/")
 public interface EsmInsCompanyClient {
 
 
@@ -30,7 +31,8 @@ public interface EsmInsCompanyClient {
      * @return
      */
     @GetMapping("/system/getUserCompany")
-    public HttpResult<List<EsmInsCompany>> getUserCompany(@RequestParam String systemCode);
+    public HttpResult<List<EsmInsCompany>> getUserCompany(@RequestParam String systemCode,
+                                                          @RequestHeader("Authorization") String token);
 
 
 

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

@@ -90,10 +90,11 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
                 agreement.setId(agreementVo.getId());
                 //更新是否有效
                 if (now.isAfter(startDate) && now.isBefore(endDate)) {
-                    agreement.setValidStatus("1");
-                } else {
                     agreement.setValidStatus("0");
+                } else {
+                    agreement.setValidStatus("1");
                 }
+                agreementVos.get(agreementVos.indexOf(agreementVo)).setValidStatus(agreement.getValidStatus());
                 updateById(agreement);
             }
         }

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

@@ -13,6 +13,7 @@ import com.jzg.commons.entity.po.PtlAgreementUndwrtRulesDictLabal;
 import com.jzg.commons.entity.vo.AgreementRulesVo;
 import com.jzg.commons.entity.vo.CostListVo;
 import com.jzg.commons.entity.vo.PtlAgreementCostVo;
+import com.jzg.costsorrule.constants.OperatorConstant;
 import com.jzg.organization.mapper.PtlAgreementUndwrtRulesAttrLinkMapper;
 import com.jzg.organization.mapper.PtlAgreementUndwrtRulesAttrMapper;
 import com.jzg.organization.mapper.PtlAgreementUndwrtRulesMapper;
@@ -26,6 +27,9 @@ import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -56,6 +60,7 @@ public class PtlAgreementUndwrtRulesServiceImpl extends ServiceImpl<PtlAgreement
     @Override
     public List<AgreementRulesVo> queryList(String agreementId) {
         List<AgreementRulesVo> rulesVos = baseMapper.queryList(agreementId);
+        LocalDateTime now = LocalDateTime.now();
         if(CollUtil.isNotEmpty(rulesVos)){
             for (AgreementRulesVo rulesVo : rulesVos) {
                 CostAgreementParam param = new CostAgreementParam();
@@ -63,6 +68,22 @@ public class PtlAgreementUndwrtRulesServiceImpl extends ServiceImpl<PtlAgreement
                 param.setCoverRuleId(rulesVo.getId());
                 List<CostListVo> costVos = ptlAgreementCostService.queryByAgreementIdAndCoverRuleId(param);
                 if(CollUtil.isNotEmpty(costVos)){
+                    costVos.forEach(cost->{
+                        cost.getPtlAgreementCostVoList().forEach(vo->{
+                            LocalDateTime effectiveTime = vo.getEffectiveTime().toInstant()
+                                    .atZone(ZoneId.systemDefault())
+                                    .toLocalDateTime();
+                            LocalDateTime failureTime = vo.getEffectiveTime().toInstant()
+                                   .atZone(ZoneId.systemDefault())
+                                   .toLocalDateTime();
+                            if(now.isAfter(effectiveTime) && now.isBefore(failureTime)){
+                                vo.setIsValid(0);
+                            }else{
+                                vo.setIsValid(1);
+                            }
+
+                        });
+                    });
                     rulesVo.setCostVoList(costVos);
                 }
             }

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

@@ -18,6 +18,7 @@ import com.jzg.commons.entity.costs.vo.ValidateSchemeRuleVo;
 import com.jzg.organization.client.CostsRuleClient;
 import com.jzg.organization.client.EsmInsCompanyClient;
 import com.jzg.organization.mapper.*;
+import com.jzg.organization.service.PtlAgreementDeptService;
 import com.jzg.organization.service.PtlAgreementService;
 import com.jzg.organization.service.PtlAgreementUndwrtRulesAttrService;
 import com.jzg.organization.service.PtlSchemeService;
@@ -298,7 +299,7 @@ public class PtlSchemeServiceImpl extends ServiceImpl<PtlSchemeMapper, PtlScheme
 
     @Override
     public List<EsmInsCompanyResVo> getCompanyList(String systemCode) {
-        HttpResult<List<EsmInsCompany>> companyListResult = esmInsCompanyClient.getUserCompany(systemCode);
+        HttpResult<List<EsmInsCompany>> companyListResult = esmInsCompanyClient.getUserCompany(systemCode,baseController.getToken());
         List<EsmInsCompany> companyList = companyListResult.getData();
         return BeanUtil.copyToList(companyList, EsmInsCompanyResVo.class);
     }
@@ -309,6 +310,9 @@ public class PtlSchemeServiceImpl extends ServiceImpl<PtlSchemeMapper, PtlScheme
     @Autowired
     BaseController baseController;
 
+    @Autowired
+    PtlAgreementDeptService ptlAgreementDeptService;
+
     @Override
     public List<PtlAgreementInsCompanyVo> ruleFilterCompany(SchemeRuleFilterVo schemeRuleFilterVo){
         //如果用户租户code为App  则使用参数传来的租户code
@@ -319,7 +323,7 @@ public class PtlSchemeServiceImpl extends ServiceImpl<PtlSchemeMapper, PtlScheme
             systemCode = baseController.getUserSystemCode();
         }
         //根据权限获取所有保司
-        HttpResult<List<EsmInsCompany>> companyListResult = esmInsCompanyClient.getUserCompany(systemCode);
+        HttpResult<List<EsmInsCompany>> companyListResult = esmInsCompanyClient.getUserCompany(systemCode,baseController.getToken());
         AssertionUtils.isFail(companyListResult.getCode()!=200,companyListResult.getMsg());
         List<EsmInsCompany> companyList = companyListResult.getData();
         //根据基本规则 能源、车辆类型、使用性质获取方案

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

@@ -242,7 +242,7 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
                 .eq(SysUserJzgInfo::getUserId, userId));
         List<String> userRoleName = userService.getUserRoleName(userId);
         if(userRoleName.contains("管理员")){
-            throw new SystemException("管理员不允许变更机构");
+            throw new SystemException("管理员不允许变更机构或删除");
         }
         return true;
     }

+ 4 - 3
tenant/organization/src/main/resources/mapper/SysUserJzgInfoMapper.xml

@@ -64,6 +64,7 @@
         from
         sys_user_jzg_info suji
         left join sys_user su on su.id = suji.user_id
+        LEFT JOIN sys_user_jzg_info lsu on lsu.id = suji.leader_id
         left join sys_dept sd on sd.id = suji.dept_id
         left join sys_user_role sur on sur.user_id = su.id
         left join sys_role sr on sr.id = sur.role_id
@@ -95,13 +96,13 @@
         </if>
         <if test="sysUserInfoListVo.leaderId != null and sysUserInfoListVo.leaderId != ''">
             and (suji.leader_id = #{sysUserInfoListVo.leaderId}
-            or  suji.name = #{sysUserInfoListVo.leaderId})
+            or  lsu.name = #{sysUserInfoListVo.leaderId})
         </if>
         <if test="sysUserInfoListVo.salesman != null and sysUserInfoListVo.salesman != ''">
             and (suji.name like concat('%',#{sysUserInfoListVo.salesman},'%')
             or  su.mobile = #{sysUserInfoListVo.salesman}
-            or  suji.work_number = #{sysUserInfoListVo.salesman})
-            or  su.id = #{sysUserInfoListVo.salesman}
+            or  suji.work_number = #{sysUserInfoListVo.salesman}
+            or  su.id = #{sysUserInfoListVo.salesman})
         </if>
         <if test="sysUserInfoListVo.isMember!= null and sysUserInfoListVo.isMember!= ''">
             <if test="sysUserInfoListVo.isMember == 1">