Просмотр исходного кода

1.增加永安评分 交强费用浮动 商业费用浮动
2.协议保存于登录分开
3.订单中新增对接人字段

785834757 1 год назад
Родитель
Сommit
b2bd59ec8c

+ 10 - 0
src/main/java/com/ydtech/modules/fee/dto/vo/RuleAttrMappingVo.java

@@ -315,6 +315,16 @@ public class RuleAttrMappingVo {
         ruleAttrMappingVoList.add(new RuleAttrMappingVo("CompulsoryInsuranceDiscount", String.valueOf(insAreaCompany.getJqAdjustRate())));
         //商业折扣
         ruleAttrMappingVoList.add(new RuleAttrMappingVo("CommercialDiscount", String.valueOf(insAreaCompany.getSyAdjustRate())));
+
+        //永安评分
+        ruleAttrMappingVoList.add(new RuleAttrMappingVo("YaScore", String.valueOf(quoteRespVo.getYaScore())));
+
+        //永安交强费用浮动
+        ruleAttrMappingVoList.add(new RuleAttrMappingVo("CifeeFloat", String.valueOf(quoteRespVo.getCifeeFloat())));
+
+        //永安商业费用浮动
+        ruleAttrMappingVoList.add(new RuleAttrMappingVo("BifeeFloat", String.valueOf(quoteRespVo.getBifeeFloat())));
+
         //数值型总评分
         Pattern pattern = Pattern.compile("[0-9]*");
         if (insAreaCompany.getScore() != null) {

+ 9 - 0
src/main/java/com/ydtech/modules/ins/model/vo/QuoteRespVo.java

@@ -223,6 +223,15 @@ public class QuoteRespVo {
     @ApiModelProperty("中煤浮动")
     private String rateFloatFlag;
 
+    @ApiModelProperty("永安评分")
+    private String yaScore;
+
+    @ApiModelProperty("永安交强费用浮动")
+    private String cifeeFloat;
+
+    @ApiModelProperty("永安商业费用浮动")
+    private String bifeeFloat;
+
     @ApiModelProperty("报价记录")
     private List<SysQuoteRecord> quoteRecords;
 

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

@@ -589,6 +589,12 @@ public class InsAreaCompany implements Serializable {
     @TableField(value = "merge_cost_rate")
     private String mergeCostRate;
 
+    /**
+     * 对接人
+     */
+    @TableField(value = "docking_person")
+    private String dockingPerson;
+
     //入口总金额
     @TableField(exist = false)
     private BigDecimal entranceAllFee;

+ 13 - 0
src/main/java/com/ydtech/modules/order/entity/crawler/response/CrawlerQuoteResponse.java

@@ -338,6 +338,19 @@ public class CrawlerQuoteResponse extends CrawlerBaseResponse {
         @JsonProperty("rateFloatFlag")
         private String rateFloatFlag;
 
+        // 永安交强费用浮动
+        @JsonProperty("cifeefloat")
+        private String cifeeFloat;
+
+        // 永安交强费用浮动
+        @JsonProperty("bifeefloat")
+        private String bifeeFloat;
+
+        // 永安评分
+        @JsonProperty("score")
+        private String score;
+
+
 
 
         public String getDiscount() {

+ 10 - 0
src/main/java/com/ydtech/modules/order/service/impl/InsAreaCompanyServiceImpl.java

@@ -186,6 +186,11 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
     @Override
     @Transactional
     public String insertCompanyAndOrders(InsAreaCompany insAreaCompany, InsAreaCompanyAccidentalDriving insAreaCompanyAccidentalDriving) {
+        // 添加协议里的对接人字段
+        String agreementId = insAreaCompany.getAgreementId();
+        PtlAgreement byAgreementIdNew = ptlAgreementService.getByAgreementIdNew(agreementId);
+        insAreaCompany.setDockingPerson(byAgreementIdNew.getDockingPerson());
+
         //add by hxl   解决部分数据更新不了险种信息
         insAreaCompany = updateEntityPruductAndPruductid(insAreaCompany);
 
@@ -219,6 +224,11 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
 
     @Override
     public String insertCompanyAndOrders(String subOrderNo, InsAreaCompany insAreaCompany, InsAreaCompanyAccidentalDriving insAreaCompanyAccidentalDriving) {
+        // 添加协议里的对接人字段
+        String agreementId = insAreaCompany.getAgreementId();
+        PtlAgreement byAgreementIdNew = ptlAgreementService.getByAgreementIdNew(agreementId);
+        insAreaCompany.setDockingPerson(byAgreementIdNew.getDockingPerson());
+
         insAreaCompany = updateEntityPruductAndPruductid(insAreaCompany);
 
         //更新主订单的投保时间

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

@@ -556,6 +556,15 @@ public class InsCrawlerOrderServiceImpl implements InsCrawlerOrderService {
         quoteRespVo.setJqScore(other.getJqMark());
         quoteRespVo.setSyScore(other.getSyMark());
 
+
+        //永安
+        // 评分
+        quoteRespVo.setYaScore(other.getScore());
+        // 交强费用浮动
+        quoteRespVo.setCifeeFloat(other.getCifeeFloat());
+        // 商业费用浮动
+        quoteRespVo.setBifeeFloat(other.getBifeeFloat());
+
         quoteRespVo.setTotalAdjustRate(StringUtils.toDouble(other.getDiscount()));
         quoteRespVo.setJqAdjustRate(other.getJqDiscount());
         quoteRespVo.setSyAdjustRate(other.getSyDiscount());

+ 12 - 0
src/main/java/com/ydtech/modules/protocol/controller/PtlAgreementController.java

@@ -6,8 +6,11 @@ import com.ydtech.core.page.HttpResult;
 import com.ydtech.core.page.PageResult;
 import com.ydtech.exception.SystemException;
 import com.ydtech.modules.base.controller.BaseController;
+import com.ydtech.modules.esm.model.EsmInsCompany;
 import com.ydtech.modules.order.entity.po.InsUploadFiles;
 import com.ydtech.modules.order.service.InsUploadFilesService;
+import com.ydtech.modules.protocol.entity.dto.PtlAgreementAttributionDto;
+import com.ydtech.modules.protocol.entity.dto.PtlAgreementSaveDto;
 import com.ydtech.modules.protocol.entity.po.PtlAgreement;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementNonCarProductCosts;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementProductCosts;
@@ -20,6 +23,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiOperation;
 import org.apache.poi.ss.formula.functions.T;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -105,6 +109,14 @@ public class PtlAgreementController extends BaseController {
         return ptlAgreementService.reviseAgreement(userName, agreementId, agreement);
     }
 
+    @PostMapping("/checkLogin")
+    @ApiOperation("校验登录")
+    public HttpResult<Object> checkLogin(@RequestBody PtlAgreementSaveVo agreement) {
+        String userName = getUserName();
+        boolean result = ptlAgreementService.checkLogin(userName,agreement.getAgreementId(),agreement);
+        return result ? HttpResult.ok("登录成功"):HttpResult.error("登录失败");
+    }
+
     @PostMapping("/batch")
     @ApiOperation("批量修改协议是否启用状态")
     public HttpResult<Object> batchRevise(@RequestBody PltAgreementBatchVo pltAgreementBatchVo) {

+ 3 - 0
src/main/java/com/ydtech/modules/protocol/entity/vo/PtlAgreementSaveVo.java

@@ -15,6 +15,9 @@ import java.util.List;
 @ApiModel("协议信息上传")
 public class PtlAgreementSaveVo {
 
+    @ApiModelProperty("协议id")
+    private String agreementId;
+
     @ApiModelProperty("协议信息")
     private PtlAgreementSaveDto agreement;
 

+ 15 - 0
src/main/java/com/ydtech/modules/protocol/service/PtlAgreementService.java

@@ -13,6 +13,7 @@ import com.ydtech.modules.protocol.entity.po.PtlAgreementProductCosts;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementUndwrtRules;
 import com.ydtech.modules.protocol.entity.vo.*;
 import com.ydtech.modules.protocols.entity.vo.AgreementAllInformationCopyVo;
+import org.springframework.web.bind.annotation.RequestBody;
 
 import java.util.HashMap;
 import java.util.List;
@@ -287,4 +288,18 @@ public interface PtlAgreementService extends IService<PtlAgreement> {
      * @param agreementAllInformationCopyVo 复制协议对象
      */
     void agreementAllInformationCopyVo(AgreementAllInformationCopyVo agreementAllInformationCopyVo);
+
+    /**
+     * 校验登录
+     * @param agreementId
+     * @param agreement
+     * @return
+     */
+    boolean checkLogin(String userName, String agreementId, PtlAgreementSaveVo agreement);
+
+    /**
+     * 修改去除登录校验
+     * @return
+     */
+    EsmInsCompany getEsmInsCompany(PtlAgreement ptlAgreement,PtlAgreementSaveDto agreementSaveDto);
 }

+ 35 - 5
src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementServiceImpl.java

@@ -254,9 +254,8 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
         attribution.setCheck(pythonCheck);
         PtlAgreement ptlAgreement = new PtlAgreement();
         BeanUtils.copyProperties(agreementSaveDto, ptlAgreement);
+        EsmInsCompany esmInsCompany = getEsmInsCompany(ptlAgreement, agreementSaveDto);
 
-        EsmInsCompany esmInsCompany = proxyObject.verifyLogin(ptlAgreement, agreementSaveDto, attribution, true);
-//        ptlAgreement.setId(IdGenerate.nextId());
         ptlAgreement.setProductsCode(agreementSaveDto.getProductsCode());
         ptlAgreement.setCreator(userName);
         ptlAgreement.setCreateTime(LocalDateTime.now());
@@ -796,16 +795,18 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
         return HttpResult.ok("删除成功");
     }
 
+
+
     @Override
     @Transactional
     public HttpResult<Object> reviseAgreement(String userName, String agreementId, PtlAgreementSaveVo agreement) {
+        PtlAgreement ptlAgreement = proxyObject.ifExistsById(agreementId);
         PtlAgreementSaveDto agreementSaveDto = agreement.getAgreement();
         PtlAgreementAttributionDto attribution = agreement.getAttribution();
         attribution.setCheck(pythonCheck);
-        PtlAgreement ptlAgreement = proxyObject.ifExistsById(agreementId);
+
         BeanUtils.copyProperties(agreementSaveDto, ptlAgreement);
-        EsmInsCompany esmInsCompany = proxyObject.verifyLogin(ptlAgreement, agreementSaveDto, attribution,
-                "1".equals(ptlAgreement.getValidStatus()));
+        EsmInsCompany esmInsCompany = getEsmInsCompany(ptlAgreement, agreementSaveDto);
         ptlAgreement.setIsExternal(agreementSaveDto.getIsExternal());
         ptlAgreement.setProductsCode(agreementSaveDto.getProductsCode());
         ptlAgreement.setModifiedBy(userName);
@@ -1224,4 +1225,33 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
         ptlAgreementUndwrtRulesNewService.copyUndwrtRules(ptlAgreementUndwrtRulesNews, ptlAgreement.getId());
     }
 
+    @Override
+    public boolean checkLogin(String userName,String agreementId, PtlAgreementSaveVo agreement) {
+        PtlAgreementSaveDto agreementSaveDto = agreement.getAgreement();
+        PtlAgreementAttributionDto attribution = agreement.getAttribution();
+        attribution.setCheck(pythonCheck);
+        PtlAgreement ptlAgreement = new PtlAgreement();
+        if (Objects.nonNull(agreementId)) {
+            ptlAgreement = proxyObject.ifExistsById(agreementId);
+        }
+        BeanUtils.copyProperties(agreementSaveDto, ptlAgreement);
+        proxyObject.verifyLogin(ptlAgreement, agreementSaveDto, attribution,
+                "1".equals(ptlAgreement.getValidStatus()));
+        return true;
+    }
+
+    @Override
+    public EsmInsCompany getEsmInsCompany(PtlAgreement ptlAgreement,PtlAgreementSaveDto agreementSaveDto) {
+        EsmInsCompany esmInsCompany;
+
+        esmInsCompany = esmInsCompanyService.getBySubsidiary(agreementSaveDto.getPartnerCompaniesId());
+
+        ptlAgreement.setCompaniesType(esmInsCompany.getType());
+        ptlAgreement.setInsuranceCompanyId(esmInsCompany.getId());
+        ptlAgreement.setInsuranceCompany(esmInsCompany.getNamesimple());
+        // 生成协议id
+        ptlAgreement.generateTheProtocolCode();
+        return esmInsCompany;
+    }
+
 }

+ 2 - 1
src/main/resources/mapper/modules/fnc/InsPlyIncomeMapper.xml

@@ -163,13 +163,14 @@
         su2.name as "updateUserName",
         CONCAT_WS( '-', pa.agreement_abbreviation, NULLIF( pa.business_description, '' ), NULLIF( pa.job_description, '' ) ) AS agreementName,
         pa.agreement_type  as "agreementType",
-        pa.docking_person  as "dockingPerson",
+        iac.docking_person  as "dockingPerson",
         pa.is_external  as "isExternal",
         upf.url as "imageUrl",
         su.name  as "userName",
         b.name as "deptName",
         <include refid="income_com"/>
         from  ins_ply_income a
+        LEFT  JOIN  ins_area_company  iac on a.orderno = iac.id
         LEFT  JOIN  ptl_agreement  pa  on  a.agreement_id  = pa.id
         LEFT  JOIN  sys_user   su  on su.id=a.user_id
         LEFT  JOIN  sys_user   su1  on su1.id=a.settlement_user_id