package com.ydtech.modules.protocol.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ydtech.core.page.HttpResult; import com.ydtech.core.page.PageResult; import com.ydtech.modules.esm.model.EsmInsCompany; import com.ydtech.modules.protocol.entity.dto.PtlAgreementAttributionDto; import com.ydtech.modules.protocol.entity.dto.PtlAgreementInsCompanyDto; import com.ydtech.modules.protocol.entity.dto.PtlAgreementSaveDto; import com.ydtech.modules.protocol.entity.po.PtlAgreement; 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 java.util.HashMap; import java.util.List; /** * @author wenks * @description 针对表【ptl_agreement(协议信息表)】的数据库操作Service * @createDate 2023-06-05 17:59:52 */ public interface PtlAgreementService extends IService { /** * 获取可以报价的 协议 及其保险公司 * * @return List */ List getAgreementCompany(String deptId); /** * 获取可以报价的 可录入外部订单的协议 * * @param deptId * @return */ List getAgreementCompanyExternal(String deptId); PtlAgreementInsCompanyDto getAgreementCompany(String deptId, String companyId); /** * 通过协议id 判断是否存在 * * @param agreementId 协议id */ PtlAgreement ifExistsById(String agreementId); /** * 添加协议 * * @param agreement 上传的协议信息 * @param userName 用户名 * @return HttpResult */ HttpResult saveAgreement(PtlAgreementSaveVo agreement, String userName); /** * 添加协议产品费用 * * @param agreement * @param userName * @return */ HttpResult saveAgreementProduct(PtlAgreementProductCosts agreement, String userName); /** * 修改协议产品费用 * * @param agreement * @param userName * @return */ HttpResult updateAgreementProduct(PtlAgreementProductCosts agreement, String userName); /** * @param id * @return */ HttpResult deleteAgreementProduct(String id, String userName); /** * 添加非车产品协议 * * @param agreement * @param userName * @return */ HttpResult saveAgreementNonCarProductCosts(PtlAgreementNonVehicleProductCostsVo agreement, String userName); /** * 添加承保规则 * * @param ptlAgreementUndwrtRules * @param userName * @return */ HttpResult saveAgreementUndwrtRules(PtlAgreementUndwrtRules ptlAgreementUndwrtRules, String userName); /** * 修改承保规则 * * @param ptlAgreementUndwrtRules * @param userName * @return */ HttpResult updateAgreementUndwrtRules(PtlAgreementUndwrtRules ptlAgreementUndwrtRules, String userName); /** * 删除承保规则 * * @param id * @param userName * @return */ HttpResult deleteAgreementUndwrtRules(String id, String userName); /** * 分页查询协议 * * @param ptlAgreementPageVo 分页查询参数 * @return HttpResult */ Page pageAgreement(Page page, PtlAgreementPageVo ptlAgreementPageVo); /** * 根据保险公司查询协议 * * @param ptlAgreementPageVo * @return */ HttpResult> listAgreement(PtlAgreementPageVo ptlAgreementPageVo); HttpResult> listAgreementInternal(PtlAgreementPageVo ptlAgreementPageVo); /** * 通过协议id查询 * * @param agreementId 协议id * @return HttpResult */ HttpResult getByAgreementId(String agreementId); /** * 删除协议 * * @param agreementId 协议id * @return HttpResult */ HttpResult deleteAgreement(String agreementId, String userName); /** * 修改协议 * * @param userName 用户名 * @param agreementId 协议id * @param agreement 上传的协议信息 * @return HttpResult */ HttpResult reviseAgreement(String userName, String agreementId, PtlAgreementSaveVo agreement); /** * 提交 产品费用 承保规则 账号信息 授权部门 * * @param agreementId 协议id * @param agreement 提交内容 */ void saveAssociationInformation(String agreementId, EsmInsCompany insuranceCompanyId, PtlAgreementSaveVo agreement); /** * 删除关联信息 产品费用 删除非车险产品费用 承保规则 账号信息 授权部门 * * @param agreementId 协议id */ void deleteAssociationInformation(String agreementId); /** * 删除关联信息 删除非车险产品费用 承保规则 账号信息 授权部门 */ void deleteAssociationInformationExcludeCosts(String agreementId); /** * 审核协议 * * @param agreementId 协议id * @param ptlAgreementAuditVo 审核内容 * @return */ HttpResult auditAgreement(String agreementId, PtlAgreementAuditVo ptlAgreementAuditVo); /** * 校验登录 * * @param ptlAgreement 协议信息 * @param agreementSaveDto 协议添加实体 * @param attribution 协议归属添加实体 * @param verificationLogin 验证登录 */ EsmInsCompany verifyLogin(PtlAgreement ptlAgreement, PtlAgreementSaveDto agreementSaveDto, PtlAgreementAttributionDto attribution, boolean verificationLogin); /** * 根据协议编码,归属保险公司获取非车险费用配置信息 * * @param agreementId * @param companyId * @return */ HttpResult> getNonCarCostsInfo(String agreementId, String companyId); /** * 根据归属保司,查询上级以及本级相关协议集合 * * @param associationCompaniesId * @return */ HttpResult> findRelationAgreement(String associationCompaniesId); /** * @version * @author: hxl * @Date: 2024/4/15 18:04 * @Description: 查询所有审核的协议 */ List findCheckAgreementList(PtlAgreement ptlAgreement); /** * @version * @author: whp * @Date: 2024/07/23 * @Description: 查询审核的所有协议 协议名称拼接 */ List findCheckAgreementListNew(PtlAgreement ptlAgreement); /** * 获取当前费用的保险公司所有协议 * * @param agreementId * @return */ List getCurrentAgreementList(String agreementId); PtlAgreement getByAgreementIdNew(String agreementId); /** * 根据保险公司code 获取协议信息 */ List getByCompanyCode(String companyCode); List> getDockingPersonList(); PtlAgreement selectAgreeId(HashMap params); List getExternalAgreement(); /** * 复制费用协议查询 * * @param agreementId * @return */ List getAllAgreement(String agreementId); HttpResult getAgreementCopy(PtlAgreementVo ptlAgreementVo); /** * @version * @author: hxl * @Date: 2024/9/21 15:33 * @Description: 通过协议名称查询数据 */ PtlAgreement getByAgreementTitle(String title); /** * 复制协议费用承保规则 * * @param agreementAllInformationCopyVo 复制协议对象 */ void agreementAllInformationCopyVo(AgreementAllInformationCopyVo agreementAllInformationCopyVo); }