|
|
@@ -24,10 +24,7 @@ import com.ydtech.modules.protocol.service.PtlAgreementService;
|
|
|
import com.ydtech.modules.protocol.service.PtlAreaLicenseService;
|
|
|
import com.ydtech.modules.protocols.dao.PtlAgreementProductCostsNewMapper;
|
|
|
import com.ydtech.modules.protocols.entity.po.*;
|
|
|
-import com.ydtech.modules.protocols.entity.vo.AgreementProductCosts;
|
|
|
-import com.ydtech.modules.protocols.entity.vo.AgreementProductCostsSave;
|
|
|
-import com.ydtech.modules.protocols.entity.vo.AgreementProductQueryVo;
|
|
|
-import com.ydtech.modules.protocols.entity.vo.CostsAuditVo;
|
|
|
+import com.ydtech.modules.protocols.entity.vo.*;
|
|
|
import com.ydtech.modules.protocols.service.*;
|
|
|
import com.ydtech.utils.idgen.IdGenerate;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
@@ -37,6 +34,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.math.RoundingMode;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
|
@@ -89,6 +87,13 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
|
|
|
ptlAgreementProductCostsNewLambdaQueryWrapper.eq(PtlAgreementProductCostsNew::getProductId, agreementProductQueryVo.getProductCode());
|
|
|
}
|
|
|
|
|
|
+ //费用时间
|
|
|
+ if(agreementProductQueryVo.getCostStartDate() != null)
|
|
|
+ {
|
|
|
+ ptlAgreementProductCostsNewLambdaQueryWrapper.or().gt(PtlAgreementProductCostsNew::getCostsStartDate, agreementProductQueryVo.getCostStartDate())
|
|
|
+ .lt(PtlAgreementProductCostsNew::getCostsEndDate, agreementProductQueryVo.getCostsEndDate());
|
|
|
+ }
|
|
|
+
|
|
|
Page<PtlAgreementProductCostsNew> pages = baseMapper.selectPage(page, ptlAgreementProductCostsNewLambdaQueryWrapper);
|
|
|
|
|
|
// .lt(PtlAgreementProductCostsNew::getCostsStartDate, formattedDateTime)
|
|
|
@@ -145,6 +150,81 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
|
|
|
return pages;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<PtlAgreementProductCostsNew> getByAgreementId(AgreementProductQueryVo agreementProductQueryVo) {
|
|
|
+ LambdaQueryWrapper<PtlAgreementProductCostsNew> ptlAgreementProductCostsNewLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ ptlAgreementProductCostsNewLambdaQueryWrapper.eq(PtlAgreementProductCostsNew::getAgreementId, agreementProductQueryVo.getAgreementId());
|
|
|
+ //审核条件
|
|
|
+ if(agreementProductQueryVo.getIsAudit() != null){
|
|
|
+ ptlAgreementProductCostsNewLambdaQueryWrapper.eq(PtlAgreementProductCostsNew::getIsAudit, agreementProductQueryVo.getIsAudit());
|
|
|
+ }
|
|
|
+
|
|
|
+ //产品code
|
|
|
+ if(agreementProductQueryVo.getProductCode() != null){
|
|
|
+ ptlAgreementProductCostsNewLambdaQueryWrapper.eq(PtlAgreementProductCostsNew::getProductId, agreementProductQueryVo.getProductCode());
|
|
|
+ }
|
|
|
+
|
|
|
+ //费用时间
|
|
|
+ if(agreementProductQueryVo.getCostStartDate() != null)
|
|
|
+ {
|
|
|
+ ptlAgreementProductCostsNewLambdaQueryWrapper.or().gt(PtlAgreementProductCostsNew::getCostsStartDate, agreementProductQueryVo.getCostStartDate())
|
|
|
+ .lt(PtlAgreementProductCostsNew::getCostsEndDate, agreementProductQueryVo.getCostsEndDate());
|
|
|
+ }
|
|
|
+
|
|
|
+ List<PtlAgreementProductCostsNew> pages = baseMapper.selectList(ptlAgreementProductCostsNewLambdaQueryWrapper);
|
|
|
+
|
|
|
+// .lt(PtlAgreementProductCostsNew::getCostsStartDate, formattedDateTime)
|
|
|
+// .gt(PtlAgreementProductCostsNew::getCostsEndDate, formattedDateTime));
|
|
|
+ //遍历费用列表
|
|
|
+ List<String> ids = new ArrayList<>();
|
|
|
+ pages.forEach(x -> {
|
|
|
+ ids.add(x.getId());
|
|
|
+ });
|
|
|
+ if(ids.isEmpty()){
|
|
|
+ return pages;
|
|
|
+ }
|
|
|
+ //获取出口比例
|
|
|
+ List<PtlAgreementProductCostsExport> ptlAgreementProductCostsExports = ptlAgreementProductCostsExportService.list(new LambdaQueryWrapper<PtlAgreementProductCostsExport>()
|
|
|
+ .in(PtlAgreementProductCostsExport::getCostsId, ids));
|
|
|
+ //获取费用属性
|
|
|
+ List<PtlAgreementUndwrtRulesAttr> undwrtRulesAttrList = ptlAgreementUndwrtRulesAttrService.getUndwrtRulesAttrList();
|
|
|
+ List<PtlAgreementProductCostsAttrLink> list = ptlAgreementProductCostsAttrLinkService.list(new LambdaQueryWrapper<PtlAgreementProductCostsAttrLink>()
|
|
|
+ .in(PtlAgreementProductCostsAttrLink::getCostsId, ids));
|
|
|
+ Map<String, List<PtlAgreementProductCostsAttrLink>> groupedByCostsId = list.stream()
|
|
|
+ .collect(Collectors.groupingBy(PtlAgreementProductCostsAttrLink::getCostsId));
|
|
|
+ groupedByCostsId.forEach((k, v) -> {
|
|
|
+ pages.stream().filter(x -> x.getId().equals(k)).findFirst().ifPresent(x -> x.setDesc(buildDesc(v,undwrtRulesAttrList)));
|
|
|
+ });
|
|
|
+ //赋值出口比例
|
|
|
+ List<PtlAgreementProductCostsNew> records = pages;
|
|
|
+ for(int i=0;i<records.size();i++)
|
|
|
+ {
|
|
|
+ int finalI = i;
|
|
|
+ PtlAgreementProductCostsExport ptlAgreementProductCostsExport = ptlAgreementProductCostsExports.stream().filter(y -> y.getCostsId().equals(records.get(finalI).getId())).findFirst().orElse(null);
|
|
|
+ if(!Objects.isNull(ptlAgreementProductCostsExport)) {
|
|
|
+ records.get(i).setJqExportRadioLevel1(ptlAgreementProductCostsExport.getJqExportRadioLevel1().toString());
|
|
|
+ records.get(i).setJqExportRadioLevel2(ptlAgreementProductCostsExport.getJqExportRadioLevel2().toString());
|
|
|
+ records.get(i).setJqExportRadioLevel3(ptlAgreementProductCostsExport.getJqExportRadioLevel3().toString());
|
|
|
+ records.get(i).setJqExportRadioLevel4(ptlAgreementProductCostsExport.getJqExportRadioLevel4().toString());
|
|
|
+ records.get(i).setJqExportRadioLevel5(ptlAgreementProductCostsExport.getJqExportRadioLevel5().toString());
|
|
|
+ records.get(i).setJqExportInvestmentRadio(ptlAgreementProductCostsExport.getJqExportInvestmentRadio().toString());
|
|
|
+ records.get(i).setSyExportRadioLevel1(ptlAgreementProductCostsExport.getSyExportRadioLevel1().toString());
|
|
|
+ records.get(i).setSyExportRadioLevel2(ptlAgreementProductCostsExport.getSyExportRadioLevel2().toString());
|
|
|
+ records.get(i).setSyExportRadioLevel3(ptlAgreementProductCostsExport.getSyExportRadioLevel3().toString());
|
|
|
+ records.get(i).setSyExportRadioLevel4(ptlAgreementProductCostsExport.getSyExportRadioLevel4().toString());
|
|
|
+ records.get(i).setSyExportRadioLevel5(ptlAgreementProductCostsExport.getSyExportRadioLevel5().toString());
|
|
|
+ records.get(i).setSyExportInvestmentRadio(ptlAgreementProductCostsExport.getSyExportInvestmentRadio().toString());
|
|
|
+ records.get(i).setNoCarExportRadioLevel1(ptlAgreementProductCostsExport.getNoCarExportRadioLevel1().toString());
|
|
|
+ records.get(i).setNoCarExportRadioLevel2(ptlAgreementProductCostsExport.getNoCarExportRadioLevel2().toString());
|
|
|
+ records.get(i).setNoCarExportRadioLevel3(ptlAgreementProductCostsExport.getNoCarExportRadioLevel3().toString());
|
|
|
+ records.get(i).setNoCarExportRadioLevel4(ptlAgreementProductCostsExport.getNoCarExportRadioLevel4().toString());
|
|
|
+ records.get(i).setNoCarExportRadioLevel5(ptlAgreementProductCostsExport.getNoCarExportRadioLevel5().toString());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return pages;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 遍历费用属性描述文字
|
|
|
*
|
|
|
@@ -167,6 +247,9 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
|
|
|
if ("checkbox".equals(ptlAgreementUndwrtRulesAttr.getAttrType()) || "select".equals(ptlAgreementUndwrtRulesAttr.getAttrType())) {
|
|
|
desc += ptlAgreementUndwrtRulesAttr.getAttrName() + "包含" + v.get(i).getMin() + "\n";
|
|
|
}
|
|
|
+ if("input".equals(ptlAgreementUndwrtRulesAttr.getAttrType())){
|
|
|
+ desc += ptlAgreementUndwrtRulesAttr.getAttrName() + "为" + v.get(i).getMin() + "\n";
|
|
|
+ }
|
|
|
}
|
|
|
return desc;
|
|
|
}
|
|
|
@@ -333,7 +416,7 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
|
|
|
//校验非车信息是否存在
|
|
|
List<PtlAgreementProductCostsAttrLink> nonMotorInsurance = agreementProductCosts.getCostsAttrLinks().stream().filter(x -> x.getAttrCode().equals("NonMotorInsurance")).collect(Collectors.toList());
|
|
|
if (nonMotorInsurance.size() > 0) {
|
|
|
- if(nonMotorInsurance.get(0).getMin() != null || nonMotorInsurance.get(0).getMax() != null)
|
|
|
+ if((nonMotorInsurance.get(0).getMin() != null && !nonMotorInsurance.get(0).getMin().equals("0")) || nonMotorInsurance.get(0).getMax() != null && !nonMotorInsurance.get(0).getMax().equals("0"))
|
|
|
{
|
|
|
if((agreementProductCosts.getNoCostsProportion() == null || agreementProductCosts.getNoCostsProportion().equals("0"))){
|
|
|
throw new SystemException("检测到存在非车费用因子,请填写非车费用!");
|
|
|
@@ -350,6 +433,8 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
|
|
|
{
|
|
|
ptlAgreementProductCostsNew.setPriorityLevel(1);
|
|
|
}
|
|
|
+ ptlAgreementProductCostsNew.setCreateTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
|
|
+ ptlAgreementProductCostsNew.setCreateBy(BaseController.getUser().getId());
|
|
|
ptlAgreementProductCostsNew.blank();
|
|
|
int insert = baseMapper.insert(ptlAgreementProductCostsNew);
|
|
|
|
|
|
@@ -388,7 +473,8 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
|
|
|
|
|
|
//单独处理车牌号
|
|
|
if ("LicenseNo".equals(x.getAttrCode()) && (x.getMin() != null && !x.getMin().equals(""))) {
|
|
|
- x.setOperator(x.getDictLabal().getJSONObject(0).getString("parentNumber"));
|
|
|
+// x.setOperator(x.getDictLabal().getJSONObject(0).getString("parentNumber"));
|
|
|
+ x.setOperator("0");
|
|
|
x.setCostsId(ptlAgreementProductCostsNew.getId());
|
|
|
x.setId(0);
|
|
|
costsAttrLink.add(x);
|
|
|
@@ -431,7 +517,7 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
|
|
|
//校验非车信息是否存在
|
|
|
List<PtlAgreementProductCostsAttrLink> nonMotorInsurance = agreementProductCosts.getCostsAttrLinks().stream().filter(x -> x.getAttrCode().equals("NonMotorInsurance")).collect(Collectors.toList());
|
|
|
if (nonMotorInsurance.size() > 0) {
|
|
|
- if(nonMotorInsurance.get(0).getMin() != null || nonMotorInsurance.get(0).getMax() != null)
|
|
|
+ if((nonMotorInsurance.get(0).getMin() != null && !nonMotorInsurance.get(0).getMin().equals("0")) || nonMotorInsurance.get(0).getMax() != null && !nonMotorInsurance.get(0).getMax().equals("0"))
|
|
|
{
|
|
|
if((agreementProductCosts.getNoCostsProportion() == null || agreementProductCosts.getNoCostsProportion().equals("0"))){
|
|
|
throw new SystemException("检测到存在非车费用因子,请填写非车费用!");
|
|
|
@@ -618,27 +704,26 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
|
|
|
|
|
|
/**
|
|
|
* 复制协议费用
|
|
|
- * @param orgCostsId 原始的费用id
|
|
|
- * @param newAgreementId 需要复制的协议id
|
|
|
+ * @param agreementProductCostsCopyVo
|
|
|
* @return
|
|
|
*/
|
|
|
@Transactional
|
|
|
@Override
|
|
|
- public boolean costsCopy(String orgCostsId, String newAgreementId) {
|
|
|
+ public boolean costsCopy(AgreementProductCostsCopyVo agreementProductCostsCopyVo) {
|
|
|
AgreementProductCosts agreementProductCosts = new AgreementProductCosts();
|
|
|
//设置主表信息
|
|
|
- PtlAgreementProductCostsNew ptlAgreementProductCostsNew = baseMapper.selectById(orgCostsId);
|
|
|
- ptlAgreementProductCostsNew.setAgreementId(newAgreementId);
|
|
|
+ PtlAgreementProductCostsNew ptlAgreementProductCostsNew = baseMapper.selectById(agreementProductCostsCopyVo.getOrgCostsId());
|
|
|
+ ptlAgreementProductCostsNew.setAgreementId(agreementProductCostsCopyVo.getNewAgreementId());
|
|
|
BeanUtils.copyProperties(ptlAgreementProductCostsNew, agreementProductCosts);
|
|
|
|
|
|
|
|
|
//设置管理比例信息
|
|
|
- PtlAgreementProductCostsExport ptlAgreementProductCostsExport = ptlAgreementProductCostsExportService.getOne(new LambdaQueryWrapper<PtlAgreementProductCostsExport>().eq(PtlAgreementProductCostsExport::getCostsId, orgCostsId));
|
|
|
+ PtlAgreementProductCostsExport ptlAgreementProductCostsExport = ptlAgreementProductCostsExportService.getOne(new LambdaQueryWrapper<PtlAgreementProductCostsExport>().eq(PtlAgreementProductCostsExport::getCostsId, agreementProductCostsCopyVo.getOrgCostsId()));
|
|
|
BeanUtils.copyProperties(ptlAgreementProductCostsExport, agreementProductCosts);
|
|
|
ptlAgreementProductCostsExport.setId("0");
|
|
|
|
|
|
//设置费用因子信息
|
|
|
- List<PtlAgreementProductCostsAttrLink> ptlAgreementProductCostsAttrLink = ptlAgreementProductCostsAttrLinkService.list(new LambdaQueryWrapper<PtlAgreementProductCostsAttrLink>().eq(PtlAgreementProductCostsAttrLink::getCostsId, orgCostsId));
|
|
|
+ List<PtlAgreementProductCostsAttrLink> ptlAgreementProductCostsAttrLink = ptlAgreementProductCostsAttrLinkService.list(new LambdaQueryWrapper<PtlAgreementProductCostsAttrLink>().eq(PtlAgreementProductCostsAttrLink::getCostsId, agreementProductCostsCopyVo.getOrgCostsId()));
|
|
|
agreementProductCosts.setCostsAttrLinks(ptlAgreementProductCostsAttrLink);
|
|
|
agreementProductCosts.setId("0");
|
|
|
|
|
|
@@ -648,6 +733,43 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
|
|
|
}
|
|
|
|
|
|
|
|
|
+ @Transactional
|
|
|
+ @Override
|
|
|
+ public boolean costsCopyBatch(AgreementProductCostsCopyVo agreementProductCostsCopyVos){
|
|
|
+ for(int i=0;i<agreementProductCostsCopyVos.getOrgCostsIds().length; i++)
|
|
|
+ {
|
|
|
+ AgreementProductCostsCopyVo agreementProductCostsCopyVo = new AgreementProductCostsCopyVo();
|
|
|
+ agreementProductCostsCopyVo.setOrgCostsId(agreementProductCostsCopyVos.getOrgCostsIds()[i]);
|
|
|
+ agreementProductCostsCopyVo.setNewAgreementId(agreementProductCostsCopyVos.getNewAgreementId());
|
|
|
+ AgreementProductCosts agreementProductCosts = new AgreementProductCosts();
|
|
|
+ //设置主表信息
|
|
|
+ PtlAgreementProductCostsNew ptlAgreementProductCostsNew = baseMapper.selectById(agreementProductCostsCopyVo.getOrgCostsId());
|
|
|
+ ptlAgreementProductCostsNew.setAgreementId(agreementProductCostsCopyVo.getNewAgreementId());
|
|
|
+ BeanUtils.copyProperties(ptlAgreementProductCostsNew, agreementProductCosts);
|
|
|
+
|
|
|
+
|
|
|
+ //设置管理比例信息
|
|
|
+ PtlAgreementProductCostsExport ptlAgreementProductCostsExport = ptlAgreementProductCostsExportService.getOne(new LambdaQueryWrapper<PtlAgreementProductCostsExport>().eq(PtlAgreementProductCostsExport::getCostsId, agreementProductCostsCopyVo.getOrgCostsId()));
|
|
|
+ if(ptlAgreementProductCostsExport != null) {
|
|
|
+ BeanUtils.copyProperties(ptlAgreementProductCostsExport, agreementProductCosts);
|
|
|
+ }else{
|
|
|
+ ptlAgreementProductCostsExport = new PtlAgreementProductCostsExport();
|
|
|
+ ptlAgreementProductCostsExport.setCostsId(ptlAgreementProductCostsNew.getId());
|
|
|
+ ptlAgreementProductCostsExport.blank();
|
|
|
+ }
|
|
|
+ ptlAgreementProductCostsExport.setId("0");
|
|
|
+
|
|
|
+ //设置费用因子信息
|
|
|
+ List<PtlAgreementProductCostsAttrLink> ptlAgreementProductCostsAttrLink = ptlAgreementProductCostsAttrLinkService.list(new LambdaQueryWrapper<PtlAgreementProductCostsAttrLink>().eq(PtlAgreementProductCostsAttrLink::getCostsId, agreementProductCostsCopyVo.getOrgCostsId()));
|
|
|
+ agreementProductCosts.setCostsAttrLinks(ptlAgreementProductCostsAttrLink);
|
|
|
+ agreementProductCosts.setId("0");
|
|
|
+
|
|
|
+ this.costsAdd(agreementProductCosts);
|
|
|
+ }
|
|
|
+
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public boolean costsAudit(CostsAuditVo costsAuditVo){
|
|
|
PtlAgreementProductCostsNew ptlAgreementProductCostsNew = this.getById(costsAuditVo.getCostsId());
|
|
|
@@ -677,7 +799,7 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
|
|
|
|
|
|
@Transactional
|
|
|
@Override
|
|
|
- public boolean costsAdjust(FeeOrderNewRecordVo feeOrderNewRecordVo) {
|
|
|
+ public FeeOrderNewVo costsAdjust(FeeOrderNewRecordVo feeOrderNewRecordVo) {
|
|
|
String feeId = feeOrderNewRecordVo.getFeeId();
|
|
|
InsFeeOrderNew insFeeOrderNew = insFeeOrderNewService.getById(feeId);
|
|
|
//查询协议是否包含税
|
|
|
@@ -692,29 +814,32 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
|
|
|
FeeOrderNewVo feeOrderNewVo = feeOrderNewRecordVo.getFeeOrderNewVoNew();
|
|
|
|
|
|
//交强入口费用
|
|
|
- EntranceFee jqEntranceFee = costsCalcService.getEntranceFee("交强险", feeOrderNewVo.getEntranceFee().get(0).getPremium().divide(taxRadio,2),
|
|
|
+ EntranceFee jqEntranceFee = costsCalcService.getEntranceFee("交强险", feeOrderNewVo.getEntranceFee().get(0).getPremium().divide(taxRadio,10, RoundingMode.UP),
|
|
|
feeOrderNewVo.getEntranceFee().get(0).getSuperviseCosts(), feeOrderNewVo.getEntranceFee().get(0).getOtherCostsProportion());
|
|
|
|
|
|
//商业入口费用
|
|
|
- EntranceFee syEntranceFee = costsCalcService.getEntranceFee("商业险", feeOrderNewVo.getEntranceFee().get(1).getPremium().divide(taxRadio,2),
|
|
|
+ EntranceFee syEntranceFee = costsCalcService.getEntranceFee("商业险", feeOrderNewVo.getEntranceFee().get(1).getPremium().divide(taxRadio,10, RoundingMode.UP),
|
|
|
feeOrderNewVo.getEntranceFee().get(1).getSuperviseCosts(), feeOrderNewVo.getEntranceFee().get(1).getOtherCostsProportion());
|
|
|
|
|
|
//非车入口费用
|
|
|
- EntranceFee noEntranceFee = costsCalcService.getEntranceFee("非车险", feeOrderNewVo.getEntranceFee().get(2).getPremium().divide(taxRadio,2),
|
|
|
+ EntranceFee noEntranceFee = costsCalcService.getEntranceFee("非车险", feeOrderNewVo.getEntranceFee().get(2).getPremium().divide(taxRadio,10, RoundingMode.UP),
|
|
|
feeOrderNewVo.getEntranceFee().get(2).getSuperviseCosts(), feeOrderNewVo.getEntranceFee().get(2).getOtherCostsProportion());
|
|
|
|
|
|
//交强部门管理费用
|
|
|
- DeptManagerFee jqDeptManagerFee = costsCalcService.getDeptManagerFee("交强险", insFeeOrderNew.getJqPremium().divide(taxRadio,2),
|
|
|
- insFeeOrderNew.getJqDeptProportionLevel1(), insFeeOrderNew.getJqDeptProportionLevel2(), insFeeOrderNew.getJqDeptProportionLevel3(),
|
|
|
- insFeeOrderNew.getJqDeptProportionLevel4(), insFeeOrderNew.getJqDeptProportionLevel5());
|
|
|
+ DeptManagerFee jqDeptManagerFee = costsCalcService.getDeptManagerFee("交强险", insFeeOrderNew.getJqPremium().divide(taxRadio,10, RoundingMode.UP),
|
|
|
+ feeOrderNewVo.getDeptManagerFee().get(0).getDeptProportionLevelOne(),
|
|
|
+ feeOrderNewVo.getDeptManagerFee().get(0).getDeptProportionLevelTwo(),
|
|
|
+ feeOrderNewVo.getDeptManagerFee().get(0).getDeptProportionLevelThree(),
|
|
|
+ feeOrderNewVo.getDeptManagerFee().get(0).getDeptProportionLevelFoure(),
|
|
|
+ feeOrderNewVo.getDeptManagerFee().get(0).getDeptProportionLevelFive());
|
|
|
|
|
|
//商业部门管理费用
|
|
|
- DeptManagerFee syDeptManagerFee = costsCalcService.getDeptManagerFee("商业险", insFeeOrderNew.getSyPremium().divide(taxRadio,2),
|
|
|
+ DeptManagerFee syDeptManagerFee = costsCalcService.getDeptManagerFee("商业险", insFeeOrderNew.getSyPremium().divide(taxRadio,10, RoundingMode.UP),
|
|
|
insFeeOrderNew.getSyDeptProportionLevel1(), insFeeOrderNew.getSyDeptProportionLevel2(), insFeeOrderNew.getSyDeptProportionLevel3(),
|
|
|
insFeeOrderNew.getSyDeptProportionLevel4(), insFeeOrderNew.getSyDeptProportionLevel5());
|
|
|
|
|
|
//非车部门管理费用
|
|
|
- DeptManagerFee noDeptManagerFee = costsCalcService.getDeptManagerFee("非车险", insFeeOrderNew.getNoPremium().divide(taxRadio,2),
|
|
|
+ DeptManagerFee noDeptManagerFee = costsCalcService.getDeptManagerFee("非车险", insFeeOrderNew.getNoPremium().divide(taxRadio,10, RoundingMode.UP),
|
|
|
insFeeOrderNew.getNoDeptProportionLevel1(), insFeeOrderNew.getNoDeptProportionLevel2(), insFeeOrderNew.getNoDeptProportionLevel3(),
|
|
|
insFeeOrderNew.getNoDeptProportionLevel4(), insFeeOrderNew.getNoDeptProportionLevel5());
|
|
|
|
|
|
@@ -877,24 +1002,36 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
|
|
|
|
|
|
insFeeOrderNew.setJqCostsProportion(jqEntranceFee.getTotalProportion());
|
|
|
insFeeOrderNew.setJqCostsPremiums(jqEntranceFee.getTotalAmount());
|
|
|
+ feeOrderNewVo.getEntranceFee().get(0).setPremium(insFeeOrderNew.getJqPremium());
|
|
|
+ feeOrderNewVo.getEntranceFee().get(0).setTotalAmount(jqEntranceFee.getTotalAmount());
|
|
|
insFeeOrderNew.setSyCostsProportion(syEntranceFee.getTotalProportion());
|
|
|
insFeeOrderNew.setSyCostsPremiums(syEntranceFee.getTotalAmount());
|
|
|
+ feeOrderNewVo.getEntranceFee().get(1).setPremium(insFeeOrderNew.getSyPremium());
|
|
|
+ feeOrderNewVo.getEntranceFee().get(1).setTotalAmount(syEntranceFee.getTotalAmount());
|
|
|
insFeeOrderNew.setNoCostsProportion(noEntranceFee.getTotalProportion());
|
|
|
insFeeOrderNew.setNoCostsPremiums(noEntranceFee.getTotalAmount());
|
|
|
+ feeOrderNewVo.getEntranceFee().get(2).setPremium(insFeeOrderNew.getNoPremium());
|
|
|
+ feeOrderNewVo.getEntranceFee().get(1).setTotalAmount(noEntranceFee.getTotalAmount());
|
|
|
|
|
|
insFeeOrderNew.setJqSuperviseCostsProportion(jqEntranceFee.getSuperviseCosts());
|
|
|
insFeeOrderNew.setJqSuperviseCostsPremiums(jqEntranceFee.getSySuperviseCostsPremiums());
|
|
|
+ feeOrderNewVo.getEntranceFee().get(0).setSySuperviseCostsPremiums(jqEntranceFee.getSySuperviseCostsPremiums());
|
|
|
insFeeOrderNew.setSySuperviseCostsProportion(syEntranceFee.getSuperviseCosts());
|
|
|
insFeeOrderNew.setSySuperviseCostsPremiums(syEntranceFee.getSySuperviseCostsPremiums());
|
|
|
+ feeOrderNewVo.getEntranceFee().get(1).setSySuperviseCostsPremiums(syEntranceFee.getSySuperviseCostsPremiums());
|
|
|
insFeeOrderNew.setNoSuperviseCostsProportion(noEntranceFee.getSuperviseCosts());
|
|
|
insFeeOrderNew.setNoSuperviseCostsPremiums(noEntranceFee.getSySuperviseCostsPremiums());
|
|
|
+ feeOrderNewVo.getEntranceFee().get(2).setSySuperviseCostsPremiums(noEntranceFee.getSySuperviseCostsPremiums());
|
|
|
|
|
|
insFeeOrderNew.setJqOtherCostsProportion(jqEntranceFee.getOtherCostsProportion());
|
|
|
insFeeOrderNew.setJqOtherCostsPremiums(jqEntranceFee.getOtherCostsPremiums());
|
|
|
+ feeOrderNewVo.getEntranceFee().get(0).setOtherCostsPremiums(jqEntranceFee.getOtherCostsPremiums());
|
|
|
insFeeOrderNew.setSyOtherCostsProportion(syEntranceFee.getOtherCostsProportion());
|
|
|
insFeeOrderNew.setSyOtherCostsPremiums(syEntranceFee.getOtherCostsPremiums());
|
|
|
+ feeOrderNewVo.getEntranceFee().get(1).setOtherCostsPremiums(syEntranceFee.getOtherCostsPremiums());
|
|
|
insFeeOrderNew.setNoOtherCostsProportion(noEntranceFee.getOtherCostsProportion());
|
|
|
insFeeOrderNew.setNoOtherCostsPremiums(noEntranceFee.getOtherCostsPremiums());
|
|
|
+ feeOrderNewVo.getEntranceFee().get(2).setOtherCostsPremiums(noEntranceFee.getOtherCostsPremiums());
|
|
|
|
|
|
insFeeOrderNew.setJqDeptProportionLevel1(jqDeptManagerFee.getDeptManagerRadioLevel1());
|
|
|
insFeeOrderNew.setJqDeptProportionLevel2(jqDeptManagerFee.getDeptManagerRadioLevel2());
|
|
|
@@ -906,6 +1043,11 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
|
|
|
insFeeOrderNew.setJqDeptPremiumsLevel3(jqDeptManagerFee.getDeptManagerFeeLevel3());
|
|
|
insFeeOrderNew.setJqDeptPremiumsLevel4(jqDeptManagerFee.getDeptManagerFeeLevel4());
|
|
|
insFeeOrderNew.setJqDeptPremiumsLevel5(jqDeptManagerFee.getDeptManagerFeeLevel5());
|
|
|
+ feeOrderNewVo.getDeptManagerFee().get(0).setDeptPremiumsLevelOne(jqDeptManagerFee.getDeptManagerFeeLevel1());
|
|
|
+ feeOrderNewVo.getDeptManagerFee().get(0).setDeptPremiumsLevelTwo(jqDeptManagerFee.getDeptManagerFeeLevel2());
|
|
|
+ feeOrderNewVo.getDeptManagerFee().get(0).setDeptPremiumsLevelThree(jqDeptManagerFee.getDeptManagerFeeLevel3());
|
|
|
+ feeOrderNewVo.getDeptManagerFee().get(0).setDeptPremiumsLevelFoure(jqDeptManagerFee.getDeptManagerFeeLevel4());
|
|
|
+ feeOrderNewVo.getDeptManagerFee().get(0).setDeptPremiumsLevelFive(jqDeptManagerFee.getDeptManagerFeeLevel5());
|
|
|
|
|
|
insFeeOrderNew.setSyDeptProportionLevel1(syDeptManagerFee.getDeptManagerRadioLevel1());
|
|
|
insFeeOrderNew.setSyDeptProportionLevel2(syDeptManagerFee.getDeptManagerRadioLevel2());
|
|
|
@@ -917,6 +1059,11 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
|
|
|
insFeeOrderNew.setSyDeptPremiumsLevel3(syDeptManagerFee.getDeptManagerFeeLevel3());
|
|
|
insFeeOrderNew.setSyDeptPremiumsLevel4(syDeptManagerFee.getDeptManagerFeeLevel4());
|
|
|
insFeeOrderNew.setSyDeptPremiumsLevel5(syDeptManagerFee.getDeptManagerFeeLevel5());
|
|
|
+ feeOrderNewVo.getDeptManagerFee().get(1).setDeptPremiumsLevelOne(syDeptManagerFee.getDeptManagerFeeLevel1());
|
|
|
+ feeOrderNewVo.getDeptManagerFee().get(1).setDeptPremiumsLevelTwo(syDeptManagerFee.getDeptManagerFeeLevel2());
|
|
|
+ feeOrderNewVo.getDeptManagerFee().get(1).setDeptPremiumsLevelThree(syDeptManagerFee.getDeptManagerFeeLevel3());
|
|
|
+ feeOrderNewVo.getDeptManagerFee().get(1).setDeptPremiumsLevelFoure(syDeptManagerFee.getDeptManagerFeeLevel4());
|
|
|
+ feeOrderNewVo.getDeptManagerFee().get(1).setDeptPremiumsLevelFive(syDeptManagerFee.getDeptManagerFeeLevel5());
|
|
|
|
|
|
insFeeOrderNew.setNoDeptProportionLevel1(noDeptManagerFee.getDeptManagerRadioLevel1());
|
|
|
insFeeOrderNew.setNoDeptProportionLevel2(noDeptManagerFee.getDeptManagerRadioLevel2());
|
|
|
@@ -928,10 +1075,98 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
|
|
|
insFeeOrderNew.setNoDeptPremiumsLevel3(noDeptManagerFee.getDeptManagerFeeLevel3());
|
|
|
insFeeOrderNew.setNoDeptPremiumsLevel4(noDeptManagerFee.getDeptManagerFeeLevel4());
|
|
|
insFeeOrderNew.setNoDeptPremiumsLevel5(noDeptManagerFee.getDeptManagerFeeLevel5());
|
|
|
+ feeOrderNewVo.getDeptManagerFee().get(2).setDeptPremiumsLevelOne(noDeptManagerFee.getDeptManagerFeeLevel1());
|
|
|
+ feeOrderNewVo.getDeptManagerFee().get(2).setDeptPremiumsLevelTwo(noDeptManagerFee.getDeptManagerFeeLevel2());
|
|
|
+ feeOrderNewVo.getDeptManagerFee().get(2).setDeptPremiumsLevelThree(noDeptManagerFee.getDeptManagerFeeLevel3());
|
|
|
+ feeOrderNewVo.getDeptManagerFee().get(2).setDeptPremiumsLevelFoure(noDeptManagerFee.getDeptManagerFeeLevel4());
|
|
|
+ feeOrderNewVo.getDeptManagerFee().get(2).setDeptPremiumsLevelFive(noDeptManagerFee.getDeptManagerFeeLevel5());
|
|
|
+
|
|
|
|
|
|
//保存新的比例
|
|
|
insFeeOrderNewService.updateById(insFeeOrderNew);
|
|
|
- return true;
|
|
|
+ return feeOrderNewVo;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public Page<PtlAgreementProductCostsNew> getCostsAuditList(Page page, AgreementProductQueryVo agreementProductQueryVo){
|
|
|
+ LambdaQueryWrapper<PtlAgreementProductCostsNew> ptlAgreementProductCostsNewLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+// ptlAgreementProductCostsNewLambdaQueryWrapper.eq(PtlAgreementProductCostsNew::getAgreementId, agreementProductQueryVo.getAgreementId());
|
|
|
+
|
|
|
+ //协议id
|
|
|
+ if(agreementProductQueryVo.getAgreementId() != null){
|
|
|
+ ptlAgreementProductCostsNewLambdaQueryWrapper.eq(PtlAgreementProductCostsNew::getAgreementId,agreementProductQueryVo.getAgreementId());
|
|
|
+ }
|
|
|
+ //审核条件
|
|
|
+ if(agreementProductQueryVo.getIsAudit() != null){
|
|
|
+ ptlAgreementProductCostsNewLambdaQueryWrapper.eq(PtlAgreementProductCostsNew::getIsAudit, Integer.parseInt(agreementProductQueryVo.getIsAudit()));
|
|
|
+ }else{
|
|
|
+ ptlAgreementProductCostsNewLambdaQueryWrapper.eq(PtlAgreementProductCostsNew::getIsAudit,"0");
|
|
|
+ }
|
|
|
+
|
|
|
+ //产品code
|
|
|
+ if(agreementProductQueryVo.getProductCode() != null){
|
|
|
+ ptlAgreementProductCostsNewLambdaQueryWrapper.eq(PtlAgreementProductCostsNew::getProductId, agreementProductQueryVo.getProductCode());
|
|
|
+ }
|
|
|
|
|
|
+ //创建时间
|
|
|
+ if(agreementProductQueryVo.getCreateStartTime() != null)
|
|
|
+ {
|
|
|
+ ptlAgreementProductCostsNewLambdaQueryWrapper.between(PtlAgreementProductCostsNew::getCreateTime,agreementProductQueryVo.getCreateStartTime(),agreementProductQueryVo.getCreateEndTime());
|
|
|
+ }
|
|
|
+
|
|
|
+ Page<PtlAgreementProductCostsNew> pages = baseMapper.selectPage(page, ptlAgreementProductCostsNewLambdaQueryWrapper);
|
|
|
+
|
|
|
+// .lt(PtlAgreementProductCostsNew::getCostsStartDate, formattedDateTime)
|
|
|
+// .gt(PtlAgreementProductCostsNew::getCostsEndDate, formattedDateTime));
|
|
|
+ //遍历费用列表
|
|
|
+ List<String> ids = new ArrayList<>();
|
|
|
+ pages.getRecords().forEach(x -> {
|
|
|
+ ids.add(x.getId());
|
|
|
+ });
|
|
|
+ if(ids.isEmpty()){
|
|
|
+ return pages;
|
|
|
+ }
|
|
|
+ //获取出口比例
|
|
|
+ List<PtlAgreementProductCostsExport> ptlAgreementProductCostsExports = ptlAgreementProductCostsExportService.list(new LambdaQueryWrapper<PtlAgreementProductCostsExport>()
|
|
|
+ .in(PtlAgreementProductCostsExport::getCostsId, ids));
|
|
|
+ //获取费用属性
|
|
|
+ List<PtlAgreementUndwrtRulesAttr> undwrtRulesAttrList = ptlAgreementUndwrtRulesAttrService.getUndwrtRulesAttrList();
|
|
|
+ List<PtlAgreementProductCostsAttrLink> list = ptlAgreementProductCostsAttrLinkService.list(new LambdaQueryWrapper<PtlAgreementProductCostsAttrLink>()
|
|
|
+ .in(PtlAgreementProductCostsAttrLink::getCostsId, ids));
|
|
|
+ Map<String, List<PtlAgreementProductCostsAttrLink>> groupedByCostsId = list.stream()
|
|
|
+ .collect(Collectors.groupingBy(PtlAgreementProductCostsAttrLink::getCostsId));
|
|
|
+ groupedByCostsId.forEach((k, v) -> {
|
|
|
+ pages.getRecords().stream().filter(x -> x.getId().equals(k)).findFirst().ifPresent(x -> x.setDesc(buildDesc(v,undwrtRulesAttrList)));
|
|
|
+ });
|
|
|
+ //赋值出口比例
|
|
|
+ List<PtlAgreementProductCostsNew> records = pages.getRecords();
|
|
|
+ for(int i=0;i<records.size();i++)
|
|
|
+ {
|
|
|
+ int finalI = i;
|
|
|
+ PtlAgreementProductCostsExport ptlAgreementProductCostsExport = ptlAgreementProductCostsExports.stream().filter(y -> y.getCostsId().equals(records.get(finalI).getId())).findFirst().orElse(null);
|
|
|
+ if(!Objects.isNull(ptlAgreementProductCostsExport)) {
|
|
|
+ records.get(i).setJqExportRadioLevel1(ptlAgreementProductCostsExport.getJqExportRadioLevel1().toString());
|
|
|
+ records.get(i).setJqExportRadioLevel2(ptlAgreementProductCostsExport.getJqExportRadioLevel2().toString());
|
|
|
+ records.get(i).setJqExportRadioLevel3(ptlAgreementProductCostsExport.getJqExportRadioLevel3().toString());
|
|
|
+ records.get(i).setJqExportRadioLevel4(ptlAgreementProductCostsExport.getJqExportRadioLevel4().toString());
|
|
|
+ records.get(i).setJqExportRadioLevel5(ptlAgreementProductCostsExport.getJqExportRadioLevel5().toString());
|
|
|
+ records.get(i).setJqExportInvestmentRadio(ptlAgreementProductCostsExport.getJqExportInvestmentRadio().toString());
|
|
|
+ records.get(i).setSyExportRadioLevel1(ptlAgreementProductCostsExport.getSyExportRadioLevel1().toString());
|
|
|
+ records.get(i).setSyExportRadioLevel2(ptlAgreementProductCostsExport.getSyExportRadioLevel2().toString());
|
|
|
+ records.get(i).setSyExportRadioLevel3(ptlAgreementProductCostsExport.getSyExportRadioLevel3().toString());
|
|
|
+ records.get(i).setSyExportRadioLevel4(ptlAgreementProductCostsExport.getSyExportRadioLevel4().toString());
|
|
|
+ records.get(i).setSyExportRadioLevel5(ptlAgreementProductCostsExport.getSyExportRadioLevel5().toString());
|
|
|
+ records.get(i).setSyExportInvestmentRadio(ptlAgreementProductCostsExport.getSyExportInvestmentRadio().toString());
|
|
|
+ records.get(i).setNoCarExportRadioLevel1(ptlAgreementProductCostsExport.getNoCarExportRadioLevel1().toString());
|
|
|
+ records.get(i).setNoCarExportRadioLevel2(ptlAgreementProductCostsExport.getNoCarExportRadioLevel2().toString());
|
|
|
+ records.get(i).setNoCarExportRadioLevel3(ptlAgreementProductCostsExport.getNoCarExportRadioLevel3().toString());
|
|
|
+ records.get(i).setNoCarExportRadioLevel4(ptlAgreementProductCostsExport.getNoCarExportRadioLevel4().toString());
|
|
|
+ records.get(i).setNoCarExportRadioLevel5(ptlAgreementProductCostsExport.getNoCarExportRadioLevel5().toString());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ pages.getRecords().stream().forEach(x -> {
|
|
|
+
|
|
|
+ });
|
|
|
+ return pages;
|
|
|
}
|
|
|
}
|