|
@@ -38,10 +38,7 @@ import com.ydtech.modules.inv.utils.EasyExcelUtils;
|
|
|
import com.ydtech.modules.order.convert.CarModelDTOConvert;
|
|
import com.ydtech.modules.order.convert.CarModelDTOConvert;
|
|
|
import com.ydtech.modules.order.convert.MapToYaExtendInfoDto;
|
|
import com.ydtech.modules.order.convert.MapToYaExtendInfoDto;
|
|
|
import com.ydtech.modules.order.dao.InsOrdersMapper;
|
|
import com.ydtech.modules.order.dao.InsOrdersMapper;
|
|
|
-import com.ydtech.modules.order.entity.BasePageResult;
|
|
|
|
|
-import com.ydtech.modules.order.entity.InsAreaCompany;
|
|
|
|
|
-import com.ydtech.modules.order.entity.InsOrders;
|
|
|
|
|
-import com.ydtech.modules.order.entity.InsOrdersTrack;
|
|
|
|
|
|
|
+import com.ydtech.modules.order.entity.*;
|
|
|
import com.ydtech.modules.order.entity.bo.InsOrdersBo;
|
|
import com.ydtech.modules.order.entity.bo.InsOrdersBo;
|
|
|
import com.ydtech.modules.order.entity.dto.DrivingInsuranceDto;
|
|
import com.ydtech.modules.order.entity.dto.DrivingInsuranceDto;
|
|
|
import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
|
|
import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
|
|
@@ -52,6 +49,7 @@ import com.ydtech.modules.order.entity.vo.ya.YaExtendInfoDto;
|
|
|
import com.ydtech.modules.order.service.*;
|
|
import com.ydtech.modules.order.service.*;
|
|
|
import com.ydtech.modules.protocol.entity.dto.PtlAgreementInsCompanyDto;
|
|
import com.ydtech.modules.protocol.entity.dto.PtlAgreementInsCompanyDto;
|
|
|
import com.ydtech.modules.protocol.service.PtlAgreementService;
|
|
import com.ydtech.modules.protocol.service.PtlAgreementService;
|
|
|
|
|
+import com.ydtech.utils.idgen.IdGenerate;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -63,6 +61,9 @@ import org.springframework.util.ObjectUtils;
|
|
|
|
|
|
|
|
import javax.validation.constraints.NotBlank;
|
|
import javax.validation.constraints.NotBlank;
|
|
|
import java.io.File;
|
|
import java.io.File;
|
|
|
|
|
+import java.time.LocalDate;
|
|
|
|
|
+import java.time.LocalDateTime;
|
|
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
@@ -90,9 +91,31 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
SysCarUserInfoService sysCarUserInfoService;
|
|
SysCarUserInfoService sysCarUserInfoService;
|
|
|
|
|
+
|
|
|
@Autowired
|
|
@Autowired
|
|
|
SysCarInfoService sysCarInfoService;
|
|
SysCarInfoService sysCarInfoService;
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ InsAreaCompanyRiskService insAreaCompanyRiskService;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ InsAreaCompanyKindService insAreaCompanyKindService;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ InsAreaCompanyTaxArrearsService insAreaCompanyTaxArrearsService;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ InsAreaCompanyCarInfoService insAreaCompanyCarInfoService;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ InsAreaCompanyCarUserInfoService insAreaCompanyCarUserInfoService;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ InsOrdersTaxService insOrdersTaxService;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ InsOrdersService insOrdersService;
|
|
|
|
|
+
|
|
|
@Value("${upload.file.path}")
|
|
@Value("${upload.file.path}")
|
|
|
private String uploadFilePath;
|
|
private String uploadFilePath;
|
|
|
|
|
|
|
@@ -424,6 +447,42 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
orderAndAreaCompany.setExtendInfo(yaExtendInfoDto);
|
|
orderAndAreaCompany.setExtendInfo(yaExtendInfoDto);
|
|
|
}
|
|
}
|
|
|
InsAreaCompany iac = insAreaCompanyService.getById(companyId);
|
|
InsAreaCompany iac = insAreaCompanyService.getById(companyId);
|
|
|
|
|
+ //查找车辆信息
|
|
|
|
|
+ InsAreaCompanyCarInfo carInfo = insAreaCompanyCarInfoService.getById(iac.getCarInfoId());
|
|
|
|
|
+ orderAndAreaCompany.setCarinfo(JSONObject.parseObject(JSON.toJSONString(carInfo)));
|
|
|
|
|
+ //查找车辆用户信息
|
|
|
|
|
+ InsAreaCompanyCarUserInfo ownerInfo = insAreaCompanyCarUserInfoService.getById(iac.getOwnerId());
|
|
|
|
|
+ InsAreaCompanyCarUserInfo applyInfo;
|
|
|
|
|
+ orderAndAreaCompany.setOwnerinfo(JSONObject.parseObject(JSON.toJSONString(ownerInfo)));
|
|
|
|
|
+ List<String> userIds = new ArrayList<>();
|
|
|
|
|
+ userIds.add(iac.getOwnerId());
|
|
|
|
|
+ userIds.add(iac.getApplyId());
|
|
|
|
|
+ userIds.add(iac.getInsureId());
|
|
|
|
|
+ List<String> uniqueUserIds = userIds.stream().distinct().collect(Collectors.toList());
|
|
|
|
|
+
|
|
|
|
|
+ List<InsAreaCompanyCarUserInfo> insAreaCompanyCarUserInfos = insAreaCompanyCarUserInfoService.list(new LambdaQueryWrapper<InsAreaCompanyCarUserInfo>().in(InsAreaCompanyCarUserInfo::getId, uniqueUserIds));
|
|
|
|
|
+ insAreaCompanyCarUserInfos.forEach(carUserInfo -> {
|
|
|
|
|
+ String id = carUserInfo.getId();
|
|
|
|
|
+ if(id.equals(iac.getOwnerId())){
|
|
|
|
|
+ orderAndAreaCompany.setOwnerinfo(JSONObject.parseObject(JSONObject.toJSONString(carUserInfo)));
|
|
|
|
|
+ }
|
|
|
|
|
+ if(id.equals(iac.getApplyId())){
|
|
|
|
|
+ orderAndAreaCompany.setApplyinfo(JSONObject.parseObject(JSONObject.toJSONString(carUserInfo)));
|
|
|
|
|
+ }
|
|
|
|
|
+ if(id.equals(iac.getInsureId())){
|
|
|
|
|
+ orderAndAreaCompany.setInsureinfo(JSONObject.parseObject(JSONObject.toJSONString(carUserInfo)));
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ //查找risk
|
|
|
|
|
+ List<InsAreaCompanyRisk> riskList = insAreaCompanyRiskService.query().eq("company_id", companyId).list();
|
|
|
|
|
+ orderAndAreaCompany.setRiskinfo(JSON.parseArray(JSON.toJSONString(riskList)));
|
|
|
|
|
+ //查找kind
|
|
|
|
|
+ List<InsAreaCompanyKind> kindList = insAreaCompanyKindService.query().eq("company_id", companyId).list();
|
|
|
|
|
+ orderAndAreaCompany.setKindinfo(JSON.parseArray(JSON.toJSONString(kindList)));
|
|
|
|
|
+ //查找tax
|
|
|
|
|
+ List<InsAreaCompanyTaxArrears> taxArrearsList = insAreaCompanyTaxArrearsService.query().eq("company_id", companyId).list();
|
|
|
|
|
+ orderAndAreaCompany.setTaxArrears(JSON.parseArray(JSON.toJSONString(taxArrearsList)));
|
|
|
//保费因素
|
|
//保费因素
|
|
|
yaExtendInfoDto.setAccidentInfoStr(iac.getAccidentStrInfo());
|
|
yaExtendInfoDto.setAccidentInfoStr(iac.getAccidentStrInfo());
|
|
|
//评分
|
|
//评分
|
|
@@ -440,9 +499,9 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
orderAndAreaCompany.setReptxt(null);
|
|
orderAndAreaCompany.setReptxt(null);
|
|
|
|
|
|
|
|
//新增费用明细信息
|
|
//新增费用明细信息
|
|
|
- QueryOrderFeeVo queryOrderFeeVo = feeRuleSchemeService.queryFeeOrderInfo(companyId);
|
|
|
|
|
- orderAndAreaCompany.setOrderCommissionVo(queryOrderFeeVo.getOrderCommissionVo());
|
|
|
|
|
- orderAndAreaCompany.setAdjustFeeDescVo(queryOrderFeeVo.getAdjustFeeDescVo());
|
|
|
|
|
|
|
+// QueryOrderFeeVo queryOrderFeeVo = feeRuleSchemeService.queryFeeOrderInfo(companyId);
|
|
|
|
|
+// orderAndAreaCompany.setOrderCommissionVo(queryOrderFeeVo.getOrderCommissionVo());
|
|
|
|
|
+// orderAndAreaCompany.setAdjustFeeDescVo(queryOrderFeeVo.getAdjustFeeDescVo());
|
|
|
boolean isShowOrderFee = false;
|
|
boolean isShowOrderFee = false;
|
|
|
//如果是财务菜单进入的,不再进行权限控制,所有都可查看
|
|
//如果是财务菜单进入的,不再进行权限控制,所有都可查看
|
|
|
if ("accountingUser".equals(userId)) {
|
|
if ("accountingUser".equals(userId)) {
|
|
@@ -455,7 +514,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
if (isShowOrderFee) {
|
|
if (isShowOrderFee) {
|
|
|
- List<QueryOrderFeeResultVo> orderFeeVoList = feeRuleSchemeService.convertOrderFeeVoData(queryOrderFeeVo);
|
|
|
|
|
|
|
+ List<QueryOrderFeeResultVo> orderFeeVoList = feeRuleSchemeService.convertOrderFeeVoData(null);
|
|
|
if (!orderFeeVoList.isEmpty()) {
|
|
if (!orderFeeVoList.isEmpty()) {
|
|
|
orderAndAreaCompany.setOrderFeeResult(orderFeeVoList);
|
|
orderAndAreaCompany.setOrderFeeResult(orderFeeVoList);
|
|
|
}
|
|
}
|
|
@@ -486,18 +545,49 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
//获取车辆信息
|
|
//获取车辆信息
|
|
|
SysCarInfo sysCarInfo = sysCarInfoService.getById(insOrders.getCarInfoId());
|
|
SysCarInfo sysCarInfo = sysCarInfoService.getById(insOrders.getCarInfoId());
|
|
|
insOrdersEditingVo.setCarinfo(sysCarInfo);
|
|
insOrdersEditingVo.setCarinfo(sysCarInfo);
|
|
|
-
|
|
|
|
|
//获取车主信息
|
|
//获取车主信息
|
|
|
- SysCarUserInfo sysCarUserInfo = sysCarUserInfoService.getById(insOrders.getOwnerId());
|
|
|
|
|
- insOrdersEditingVo.setOwnerinfo(sysCarUserInfo);
|
|
|
|
|
|
|
+ SysCarUserInfo ownerInfo = new SysCarUserInfo();
|
|
|
|
|
+ SysCarUserInfo applyInfo = new SysCarUserInfo();
|
|
|
|
|
+ SysCarUserInfo insureInfo = new SysCarUserInfo();
|
|
|
|
|
+ ownerInfo = sysCarUserInfoService.getById(insOrders.getOwnerId());
|
|
|
|
|
+ ownerInfo.setGender(ownerInfo.getGender().equals("1") ? "男" : "女");
|
|
|
|
|
+ ownerInfo.setIdentifyValidDate(ownerInfo.getIdentifyValidDate().substring(0,10));
|
|
|
|
|
+ ownerInfo.setIdentifyValidEndDate(ownerInfo.getIdentifyValidEndDate().substring(0,10));
|
|
|
|
|
+ insOrdersEditingVo.setOwnerinfo(ownerInfo);
|
|
|
|
|
+
|
|
|
|
|
+ //是否同车主
|
|
|
|
|
+ if(insOrders.getOwnerId().equals(insOrders.getApplyId())){
|
|
|
|
|
+ BeanUtils.copyProperties(ownerInfo, applyInfo);
|
|
|
|
|
+ applyInfo.setOwner(true);
|
|
|
|
|
+ insOrdersEditingVo.setApplyinfo(applyInfo);
|
|
|
|
|
+ }else{
|
|
|
|
|
+ //获取投保人信息
|
|
|
|
|
+ applyInfo = sysCarUserInfoService.getById(insOrders.getApplyId());
|
|
|
|
|
+ applyInfo.setGender(applyInfo.getGender().equals("1") ? "男" : "女");
|
|
|
|
|
+ applyInfo.setIdentifyValidDate(ownerInfo.getIdentifyValidDate().substring(0,10));
|
|
|
|
|
+ applyInfo.setIdentifyValidEndDate(ownerInfo.getIdentifyValidEndDate().substring(0,10));
|
|
|
|
|
+ insOrdersEditingVo.setApplyinfo(applyInfo);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //是否同车主
|
|
|
|
|
+ if(insOrders.getApplyId().equals(insOrders.getInsureId())) {
|
|
|
|
|
+ BeanUtils.copyProperties(applyInfo, insureInfo);
|
|
|
|
|
+ insOrdersEditingVo.setInsureinfo(insureInfo);
|
|
|
|
|
+ insOrdersEditingVo.getInsureinfo().setInsuranceHolder(true);
|
|
|
|
|
+ insOrdersEditingVo.getInsureinfo().setOwner(false);
|
|
|
|
|
+ }else if(insOrders.getOwnerId().equals(insOrders.getInsureId())) {
|
|
|
|
|
+ insOrdersEditingVo.setInsureinfo(ownerInfo);
|
|
|
|
|
+ insOrdersEditingVo.getInsureinfo().setOwner(true);
|
|
|
|
|
+ }else{
|
|
|
|
|
+ //获取被保人信息
|
|
|
|
|
+ insureInfo = sysCarUserInfoService.getById(insOrders.getInsureId());
|
|
|
|
|
+ insureInfo.setGender(insureInfo.getGender().equals("1") ? "男" : "女");
|
|
|
|
|
+ insureInfo.setIdentifyValidDate(ownerInfo.getIdentifyValidDate().substring(0,10));
|
|
|
|
|
+ insureInfo.setIdentifyValidEndDate(ownerInfo.getIdentifyValidEndDate().substring(0,10));
|
|
|
|
|
+ insOrdersEditingVo.setInsureinfo(insureInfo);
|
|
|
|
|
|
|
|
- //获取投保人信息
|
|
|
|
|
- SysCarUserInfo sysCarUserInfo1 = sysCarUserInfoService.getById(insOrders.getApplyId());
|
|
|
|
|
- insOrdersEditingVo.setApplyinfo(sysCarUserInfo1);
|
|
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- //获取被保人信息
|
|
|
|
|
- SysCarUserInfo sysCarUserInfo2 = sysCarUserInfoService.getById(insOrders.getInsureId());
|
|
|
|
|
- insOrdersEditingVo.setInsureinfo(sysCarUserInfo2);
|
|
|
|
|
|
|
|
|
|
//获取 risk信息
|
|
//获取 risk信息
|
|
|
List<InsOrdersRisk> insOrdersRisks = insOrdersRiskService.lambdaQuery().eq(InsOrdersRisk::getOrderNo, orderNo).list();
|
|
List<InsOrdersRisk> insOrdersRisks = insOrdersRiskService.lambdaQuery().eq(InsOrdersRisk::getOrderNo, orderNo).list();
|
|
@@ -559,8 +649,108 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
|
|
+ @Transactional
|
|
|
public void updateInsOrders(InsOrdersBo insOrdersBo) {
|
|
public void updateInsOrders(InsOrdersBo insOrdersBo) {
|
|
|
|
|
+ InsOrders insOrders = new InsOrders(insOrdersBo);
|
|
|
|
|
+ //先查找车主信息
|
|
|
|
|
+ CarInfoVo carinfo = insOrdersBo.getCarinfo();
|
|
|
|
|
+ //是否存在车主信息
|
|
|
|
|
+ SysCarInfo sysCarInfo = sysCarInfoService.getCarInfoByFrameNo(carinfo.getFrameNo());
|
|
|
|
|
+ if(Objects.isNull(sysCarInfo)){
|
|
|
|
|
+ BeanUtils.copyProperties(carinfo,sysCarInfo);
|
|
|
|
|
+ insOrders.setCarInfoId(IdGenerate.nextId());
|
|
|
|
|
+ sysCarInfoService.save(sysCarInfo);
|
|
|
|
|
+ }else{
|
|
|
|
|
+ insOrders.setCarInfoId(sysCarInfo.getId());
|
|
|
|
|
+ sysCarInfoService.updateById(sysCarInfo);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //更新车主信息
|
|
|
|
|
+ CustomerInfoVo ownerinfo = insOrdersBo.getOwnerinfo();
|
|
|
|
|
+ SysCarUserInfo ownerUserInfo = sysCarUserInfoService.getCarUserInfoByIdCard(ownerinfo.getIdentifyNumber());
|
|
|
|
|
+ //如果车主信息不存在 添加一条
|
|
|
|
|
+ if(Objects.isNull(ownerUserInfo)) {
|
|
|
|
|
+ BeanUtils.copyProperties(ownerinfo, ownerUserInfo);
|
|
|
|
|
+ ownerUserInfo.setId(IdGenerate.nextId());
|
|
|
|
|
+ insOrders.setOwnerId(ownerUserInfo.getId());
|
|
|
|
|
+ sysCarUserInfoService.save(ownerUserInfo);
|
|
|
|
|
+ }else{
|
|
|
|
|
+ insOrders.setOwnerId(ownerUserInfo.getId());
|
|
|
|
|
+ sysCarUserInfoService.updateById(ownerUserInfo);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
+ //投保人信息和车主是否一致
|
|
|
|
|
+ CustomerInfoVo applyinfo = insOrdersBo.getApplyinfo();
|
|
|
|
|
+ SysCarUserInfo applyUserInfo;
|
|
|
|
|
+ if(!applyinfo.isOwner()){
|
|
|
|
|
+ //查询投保人信息
|
|
|
|
|
+ applyUserInfo = sysCarUserInfoService.getCarUserInfoByIdCard(applyinfo.getIdentifyNumber());
|
|
|
|
|
+ //投保人信息是否存在
|
|
|
|
|
+ if(Objects.isNull(applyUserInfo)){
|
|
|
|
|
+ BeanUtils.copyProperties(applyinfo, applyUserInfo);
|
|
|
|
|
+ applyUserInfo.setId(IdGenerate.nextId());
|
|
|
|
|
+ insOrders.setApplyId(applyUserInfo.getId());
|
|
|
|
|
+ sysCarUserInfoService.save(applyUserInfo);
|
|
|
|
|
+ }else{
|
|
|
|
|
+ insOrders.setApplyId(applyUserInfo.getId());
|
|
|
|
|
+ sysCarUserInfoService.updateById(applyUserInfo);
|
|
|
|
|
+ }
|
|
|
|
|
+ }else{
|
|
|
|
|
+ insOrders.setApplyId(ownerUserInfo.getId());
|
|
|
|
|
+ applyUserInfo = ownerUserInfo;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //更新被保人信息
|
|
|
|
|
+ CustomerInfoVo insureInfo = insOrdersBo.getInsureinfo();
|
|
|
|
|
+ if(insureInfo.isOwner() || insureInfo.isInsuranceHolder()){
|
|
|
|
|
+ if(insureInfo.isOwner()){
|
|
|
|
|
+ insOrders.setInsureId(ownerUserInfo.getId());
|
|
|
|
|
+ }
|
|
|
|
|
+ if(insureInfo.isInsuranceHolder()){
|
|
|
|
|
+ insOrders.setInsureId(applyUserInfo.getId());
|
|
|
|
|
+ }
|
|
|
|
|
+ }else{
|
|
|
|
|
+ //查询被保人信息
|
|
|
|
|
+ SysCarUserInfo insureUserInfo = sysCarUserInfoService.getCarUserInfoByIdCard(insureInfo.getIdentifyNumber());
|
|
|
|
|
+ //被保人信息是否存在
|
|
|
|
|
+ if(Objects.isNull(insureUserInfo)){
|
|
|
|
|
+ BeanUtils.copyProperties(insureInfo, insureUserInfo);
|
|
|
|
|
+ insureUserInfo.setId(IdGenerate.nextId());
|
|
|
|
|
+ insOrders.setInsureId(insureUserInfo.getId());
|
|
|
|
|
+ sysCarUserInfoService.save(insureUserInfo);
|
|
|
|
|
+ }else{
|
|
|
|
|
+ insOrders.setInsureId(insureUserInfo.getId());
|
|
|
|
|
+ sysCarUserInfoService.updateById(insureUserInfo);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //更新risk
|
|
|
|
|
+ List<RiskInfoVo> riskInfoVos = insOrdersBo.getRisk();
|
|
|
|
|
+ List<InsOrdersRisk> insOrdersRisks = new ArrayList<>();
|
|
|
|
|
+ riskInfoVos.forEach(riskInfoVo -> {
|
|
|
|
|
+ InsOrdersRisk insOrdersRisk = new InsOrdersRisk(riskInfoVo,insOrders.getOrderno());
|
|
|
|
|
+ insOrdersRisks.add(insOrdersRisk);
|
|
|
|
|
+ });
|
|
|
|
|
+ insOrdersRiskService.remove(new LambdaQueryWrapper<InsOrdersRisk>().eq(InsOrdersRisk::getOrderNo,insOrders.getOrderno()));
|
|
|
|
|
+ insOrdersRiskService.saveOrUpdateBatch(insOrdersRisks);
|
|
|
|
|
+
|
|
|
|
|
+ //更新kind
|
|
|
|
|
+ List<KindInfoVo> kindInfoVos = insOrdersBo.getKing();
|
|
|
|
|
+ List<InsOrdersKind> insOrdersKinds = new ArrayList<>();
|
|
|
|
|
+ kindInfoVos.forEach(kindInfoVo -> {
|
|
|
|
|
+ InsOrdersKind insOrdersKind = new InsOrdersKind(kindInfoVo,insOrders.getOrderno());
|
|
|
|
|
+ insOrdersKinds.add(insOrdersKind);
|
|
|
|
|
+ });
|
|
|
|
|
+ insOrdersKindService.remove(new LambdaQueryWrapper<InsOrdersKind>().eq(InsOrdersKind::getOrderNo,insOrders.getOrderno()));
|
|
|
|
|
+ insOrdersKindService.saveOrUpdateBatch(insOrdersKinds);
|
|
|
|
|
+
|
|
|
|
|
+ //更新 tax
|
|
|
|
|
+ VehicleAndVesselTax vehicleAndVesselTax = insOrdersBo.getVehicleAndVesselTax();
|
|
|
|
|
+ InsOrdersTax insOrdersTax = new InsOrdersTax(insOrders.getOrderno(), vehicleAndVesselTax);
|
|
|
|
|
+ insOrdersTaxService.remove(new LambdaQueryWrapper<InsOrdersTax>().eq(InsOrdersTax::getOrderNo,insOrders.getOrderno()));
|
|
|
|
|
+ insOrdersTaxService.saveOrUpdate(insOrdersTax);
|
|
|
|
|
+
|
|
|
|
|
+ insOrdersService.saveOrUpdate(insOrders);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@@ -569,7 +759,11 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
@Override
|
|
@Override
|
|
|
public InsOrdersBo queryInsOrders(String orderNo) {
|
|
public InsOrdersBo queryInsOrders(String orderNo) {
|
|
|
InsOrdersBo insOrdersBo = new InsOrdersBo();
|
|
InsOrdersBo insOrdersBo = new InsOrdersBo();
|
|
|
- InsOrders insOrders = getById(orderNo);
|
|
|
|
|
|
|
+ InsOrders insOrders = baseMapper.selectById(orderNo);
|
|
|
|
|
+ if(insOrders == null){
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
+ BeanUtils.copyProperties(insOrders,insOrdersBo);
|
|
|
List<String> originalList = new ArrayList<>();
|
|
List<String> originalList = new ArrayList<>();
|
|
|
originalList.add(insOrders.getOwnerId());
|
|
originalList.add(insOrders.getOwnerId());
|
|
|
originalList.add(insOrders.getApplyId());
|
|
originalList.add(insOrders.getApplyId());
|
|
@@ -589,8 +783,6 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- @Autowired
|
|
|
|
|
- private InsOrdersCarService insOrdersCarService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private InsOrdersCustomerService insOrdersCustomerService;
|
|
private InsOrdersCustomerService insOrdersCustomerService;
|
|
@@ -611,37 +803,90 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
InsOrders insOrders = new InsOrders(insOrdersBo);
|
|
InsOrders insOrders = new InsOrders(insOrdersBo);
|
|
|
final String orderNo = insOrders.getOrderno();
|
|
final String orderNo = insOrders.getOrderno();
|
|
|
// 1 车辆信息
|
|
// 1 车辆信息
|
|
|
- CarInfoVo carinfo = insOrdersBo.getCarinfo();
|
|
|
|
|
- InsOrdersCar insOrdersCar = new InsOrdersCar(orderNo, carinfo);
|
|
|
|
|
- boolean carSave = insOrdersCarService.save(insOrdersCar);
|
|
|
|
|
|
|
+ // 是否存在车辆信息
|
|
|
|
|
+ if(!sysCarInfoService.isExist(insOrdersBo.getCarinfo().getLicenseNo())){
|
|
|
|
|
+ CarInfoVo carinfo = insOrdersBo.getCarinfo();
|
|
|
|
|
+ SysCarInfo sysCarInfo = new SysCarInfo();
|
|
|
|
|
+ BeanUtils.copyProperties(carinfo, sysCarInfo);
|
|
|
|
|
+ sysCarInfo.setId(IdGenerate.nextId());
|
|
|
|
|
+ sysCarInfoService.save(sysCarInfo);
|
|
|
|
|
+ insOrders.setCarInfoId(sysCarInfo.getId());
|
|
|
|
|
+ }else{
|
|
|
|
|
+ SysCarInfo sysCarInfo = sysCarInfoService.getCarInfoByFrameNo(insOrdersBo.getCarinfo().getFrameNo());
|
|
|
|
|
+ insOrders.setCarInfoId(sysCarInfo.getId());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
// 2 人员信息
|
|
// 2 人员信息
|
|
|
|
|
+
|
|
|
// 车主信息
|
|
// 车主信息
|
|
|
CustomerInfoVo ownerInfo = insOrdersBo.getOwnerinfo();
|
|
CustomerInfoVo ownerInfo = insOrdersBo.getOwnerinfo();
|
|
|
- // 被保人信息
|
|
|
|
|
- CustomerInfoVo insureInfo = insOrdersBo.getInsureinfo();
|
|
|
|
|
|
|
+ //检查是否存在车主信息
|
|
|
|
|
+ if(sysCarUserInfoService.isExist(ownerInfo.getIdentifyNumber())){
|
|
|
|
|
+ SysCarUserInfo carUserInfoByIdCard = sysCarUserInfoService.getCarUserInfoByIdCard(ownerInfo.getIdentifyNumber());
|
|
|
|
|
+ insOrders.setOwnerId(carUserInfoByIdCard.getId());
|
|
|
|
|
+ }else{
|
|
|
|
|
+ //保存车主信息
|
|
|
|
|
+ SysCarUserInfo sysCarUserInfo = new SysCarUserInfo();
|
|
|
|
|
+ BeanUtils.copyProperties(ownerInfo, sysCarUserInfo);
|
|
|
|
|
+ sysCarUserInfo.setId(IdGenerate.nextId());
|
|
|
|
|
+ sysCarUserInfoService.save(sysCarUserInfo);
|
|
|
|
|
+ insOrders.setOwnerId(sysCarUserInfo.getId());
|
|
|
|
|
+ }
|
|
|
// 投保人信息
|
|
// 投保人信息
|
|
|
CustomerInfoVo applyInfo = insOrdersBo.getApplyinfo();
|
|
CustomerInfoVo applyInfo = insOrdersBo.getApplyinfo();
|
|
|
- List<InsOrdersCustomer> insOrdersCustomerList = InsOrdersCustomer.buildCustomerList(ownerInfo, insureInfo, applyInfo, insOrders);
|
|
|
|
|
- insOrdersCustomerService.saveBatch(insOrdersCustomerList);
|
|
|
|
|
|
|
+ if(!applyInfo.isOwner()){
|
|
|
|
|
+ //检查是否存在投保人信息
|
|
|
|
|
+ if(sysCarUserInfoService.isExist(applyInfo.getIdentifyNumber())){
|
|
|
|
|
+ SysCarUserInfo carUserInfoByIdCard = sysCarUserInfoService.getCarUserInfoByIdCard(applyInfo.getIdentifyNumber());
|
|
|
|
|
+ insOrders.setApplyId(carUserInfoByIdCard.getId());
|
|
|
|
|
+ }else{
|
|
|
|
|
+ //保存投保人信息
|
|
|
|
|
+ SysCarUserInfo sysCarUserInfo = new SysCarUserInfo();
|
|
|
|
|
+ BeanUtils.copyProperties(applyInfo, sysCarUserInfo);
|
|
|
|
|
+ sysCarUserInfo.setId(IdGenerate.nextId());
|
|
|
|
|
+ sysCarUserInfoService.save(sysCarUserInfo);
|
|
|
|
|
+ insOrders.setApplyId(sysCarUserInfo.getId());
|
|
|
|
|
+ }
|
|
|
|
|
+ }else{
|
|
|
|
|
+ insOrders.setApplyId(insOrders.getOwnerId());
|
|
|
|
|
+ }
|
|
|
|
|
+ // 被保人信息
|
|
|
|
|
+ CustomerInfoVo insureInfo = insOrdersBo.getInsureinfo();
|
|
|
|
|
+ if(!insureInfo.isOwner() && !insureInfo.isInsuranceHolder()){
|
|
|
|
|
+ //检查是否存在被保人信息
|
|
|
|
|
+ if(sysCarUserInfoService.isExist(insureInfo.getIdentifyNumber())){
|
|
|
|
|
+ SysCarUserInfo carUserInfoByIdCard = sysCarUserInfoService.getCarUserInfoByIdCard(insureInfo.getIdentifyNumber());
|
|
|
|
|
+ insOrders.setInsureId(carUserInfoByIdCard.getId());
|
|
|
|
|
+ }else{
|
|
|
|
|
+ //保存被保人信息
|
|
|
|
|
+ SysCarUserInfo sysCarUserInfo = new SysCarUserInfo();
|
|
|
|
|
+ BeanUtils.copyProperties(insureInfo, sysCarUserInfo);
|
|
|
|
|
+ sysCarUserInfo.setId(IdGenerate.nextId());
|
|
|
|
|
+ sysCarUserInfoService.save(sysCarUserInfo);
|
|
|
|
|
+ insOrders.setInsureId(sysCarUserInfo.getId());
|
|
|
|
|
+ }
|
|
|
|
|
+ }else{
|
|
|
|
|
+ insOrders.setInsureId(insOrders.getOwnerId());
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
// 3 车船税信息
|
|
// 3 车船税信息
|
|
|
VehicleAndVesselTax vehicleAndVesselTax = insOrdersBo.getVehicleAndVesselTax();
|
|
VehicleAndVesselTax vehicleAndVesselTax = insOrdersBo.getVehicleAndVesselTax();
|
|
|
InsOrdersTax insOrdersTax = new InsOrdersTax(orderNo, vehicleAndVesselTax);
|
|
InsOrdersTax insOrdersTax = new InsOrdersTax(orderNo, vehicleAndVesselTax);
|
|
|
- boolean taxSave = InsOrdersTaxService.save(insOrdersTax);
|
|
|
|
|
|
|
+ InsOrdersTaxService.save(insOrdersTax);
|
|
|
// 4 交强商业信息表
|
|
// 4 交强商业信息表
|
|
|
List<KindInfoVo> kind = insOrdersBo.getKing();
|
|
List<KindInfoVo> kind = insOrdersBo.getKing();
|
|
|
List<InsOrdersKind> kindList = InsOrdersKind.buildKindList(orderNo, kind);
|
|
List<InsOrdersKind> kindList = InsOrdersKind.buildKindList(orderNo, kind);
|
|
|
- boolean kindSave = insOrdersKindService.saveBatch(kindList);
|
|
|
|
|
|
|
+ insOrdersKindService.saveBatch(kindList);
|
|
|
// 5 商业险险种信息
|
|
// 5 商业险险种信息
|
|
|
List<RiskInfoVo> risk = insOrdersBo.getRisk();
|
|
List<RiskInfoVo> risk = insOrdersBo.getRisk();
|
|
|
List<InsOrdersRisk> riskList = InsOrdersRisk.buildRiskList(orderNo, risk);
|
|
List<InsOrdersRisk> riskList = InsOrdersRisk.buildRiskList(orderNo, risk);
|
|
|
- boolean riskSave = insOrdersRiskService.saveBatch(riskList);
|
|
|
|
|
|
|
+ insOrdersRiskService.saveBatch(riskList);
|
|
|
SaSession saSession = StpUtil.getSessionByLoginId(StpUtil.getLoginId());
|
|
SaSession saSession = StpUtil.getSessionByLoginId(StpUtil.getLoginId());
|
|
|
SysUser sysUser = (SysUser) saSession.get(SaSession.USER);
|
|
SysUser sysUser = (SysUser) saSession.get(SaSession.USER);
|
|
|
final InsOrdersTrack insOrdersTrack = new InsOrdersTrack(insOrders, sysUser.getId(), sysUser.getName());
|
|
final InsOrdersTrack insOrdersTrack = new InsOrdersTrack(insOrders, sysUser.getId(), sysUser.getName());
|
|
|
- boolean trackSave = insOrdersTrackService.save(insOrdersTrack);
|
|
|
|
|
- int insert = this.baseMapper.insert(insOrders);
|
|
|
|
|
- return insert > 0 && carSave && taxSave && kindSave && riskSave && trackSave;
|
|
|
|
|
|
|
+ insOrdersTrackService.save(insOrdersTrack);
|
|
|
|
|
+ this.baseMapper.insert(insOrders);
|
|
|
|
|
+ return true;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|