|
|
@@ -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;
|
|
|
@@ -89,6 +86,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)
|
|
|
@@ -167,6 +171,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 +340,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 +357,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);
|
|
|
|
|
|
@@ -431,7 +440,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 +627,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");
|
|
|
|
|
|
@@ -934,4 +942,84 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
|
|
|
return true;
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+ public Page<PtlAgreementProductCostsNew> getCostsAuditList(Page page, AgreementProductQueryVo agreementProductQueryVo){
|
|
|
+ LambdaQueryWrapper<PtlAgreementProductCostsNew> ptlAgreementProductCostsNewLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+// ptlAgreementProductCostsNewLambdaQueryWrapper.eq(PtlAgreementProductCostsNew::getAgreementId, agreementProductQueryVo.getAgreementId());
|
|
|
+ ptlAgreementProductCostsNewLambdaQueryWrapper.eq(PtlAgreementProductCostsNew::getIsAudit,"0");
|
|
|
+ //协议id
|
|
|
+ if(agreementProductQueryVo.getAgreementId() != null){
|
|
|
+ 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.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;
|
|
|
+ }
|
|
|
}
|