Commit 6b84620e by zhangxingmin

push

parent bea0e9af
......@@ -7,11 +7,14 @@ import com.yd.csf.feign.client.appointmentfile.ApiAppointmentFileFeignClient;
import com.yd.csf.feign.request.appointmentfile.ApiAppointmentFileAddRequest;
import com.yd.csf.feign.request.appointmentfile.ApiAppointmentFileEditRequest;
import com.yd.csf.feign.request.appointmentfile.ApiAppointmentFilePageRequest;
import com.yd.csf.feign.request.appointmentfile.ApiAppointmentImportExcelRequest;
import com.yd.csf.feign.response.appointmentfile.ApiAppointmentFilePageResponse;
import com.yd.csf.feign.response.appointmentfile.ApiAppointmentImportExcelResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.validation.constraints.NotBlank;
......@@ -89,5 +92,25 @@ public class ApiAppointmentFileController implements ApiAppointmentFileFeignClie
return apiAppointmentFileService.itineraryPdf(appointmentBizId);
}
/**
* Excel导出-预约信息
* @param appointmentBizId
* @return
*/
@Override
public Result<String> appointmentExportExcel(String appointmentBizId) {
return apiAppointmentFileService.appointmentExportExcel(appointmentBizId);
}
/**
* Excel导入-预约信息
* @return
*/
@Override
public Result<ApiAppointmentImportExcelResponse> appointmentImportExcel(MultipartFile file,
ApiAppointmentImportExcelRequest request) {
return apiAppointmentFileService.appointmentImportExcel(file,request);
}
}
......@@ -6,7 +6,10 @@ import com.yd.csf.feign.dto.appointmentfile.ApiAppointmentFileDto;
import com.yd.csf.feign.request.appointmentfile.ApiAppointmentFileAddRequest;
import com.yd.csf.feign.request.appointmentfile.ApiAppointmentFileEditRequest;
import com.yd.csf.feign.request.appointmentfile.ApiAppointmentFilePageRequest;
import com.yd.csf.feign.request.appointmentfile.ApiAppointmentImportExcelRequest;
import com.yd.csf.feign.response.appointmentfile.ApiAppointmentFilePageResponse;
import com.yd.csf.feign.response.appointmentfile.ApiAppointmentImportExcelResponse;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
......@@ -25,4 +28,9 @@ public interface ApiAppointmentFileService {
Result download(String appointmentFileBizId);
Result<String> itineraryPdf(String appointmentBizId);
Result<String> appointmentExportExcel(String appointmentBizId);
Result<ApiAppointmentImportExcelResponse> appointmentImportExcel(MultipartFile file,
ApiAppointmentImportExcelRequest request);
}
......@@ -6,6 +6,7 @@ import com.yd.csf.feign.dto.appointment.ApiAppointmentInfoDto;
import com.yd.csf.feign.request.appointment.*;
import com.yd.csf.feign.response.appointment.ApiAppointmentDetailResponse;
import com.yd.csf.feign.response.appointment.ApiAppointmentPageResponse;
import com.yd.csf.service.model.Appointment;
public interface ApiAppointmentService {
Result<IPage<ApiAppointmentPageResponse>> page(ApiAppointmentPageRequest request);
......@@ -31,4 +32,6 @@ public interface ApiAppointmentService {
Result editProposal(ApiAppointmentEditProposalRequest request);
Result removeProposal(ApiAppointmentRemoveProposalRequest request);
Result<Appointment> checkAppointmentIsExist(String appointmentBizId);
}
......@@ -23,6 +23,11 @@
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.yd</groupId>
<artifactId>yd-oss-feign</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</dependency>
......
package com.yd.csf.feign.client.appointmentfile;
import com.yd.common.result.Result;
import com.yd.csf.feign.request.appointmentfile.ApiAppointmentImportExcelRequest;
import com.yd.csf.feign.fallback.appointmentfile.ApiAppointmentFileFeignFallbackFactory;
import com.yd.csf.feign.request.appointmentfile.ApiAppointmentFileAddRequest;
import com.yd.csf.feign.request.appointmentfile.ApiAppointmentFileEditRequest;
import com.yd.csf.feign.request.appointmentfile.ApiAppointmentFilePageRequest;
import com.yd.csf.feign.response.appointmentfile.ApiAppointmentImportExcelResponse;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.validation.constraints.NotBlank;
/**
......@@ -64,4 +67,21 @@ public interface ApiAppointmentFileFeignClient {
*/
@GetMapping("/pdf/itinerary")
Result<String> itineraryPdf(@NotBlank(message = "预约信息主表唯一业务ID不能为空") @RequestParam(value = "appointmentBizId") String appointmentBizId);
/**
* Excel导出-预约信息
* @param appointmentBizId
* @return
*/
@GetMapping("/excel/export/appointment")
Result<String> appointmentExportExcel(@NotBlank(message = "预约信息主表唯一业务ID不能为空") @RequestParam(value = "appointmentBizId") String appointmentBizId);
/**
* Excel导入-预约信息
* @return
*/
@PostMapping(value = "/excel/import/appointment", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
Result<ApiAppointmentImportExcelResponse> appointmentImportExcel(
@RequestPart("file") MultipartFile file,
@RequestPart("request") ApiAppointmentImportExcelRequest request);
}
package com.yd.csf.feign.dto.excel;
import com.yd.common.utils.DateUtil;
import lombok.Data;
import org.springframework.beans.BeanUtils;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@Data
public class ApiExcelAdditionalDto {
//============以下是表字段============
/**
* 保险附加产品名称(中台保险附加产品名称,冗余)
*/
private String productName;
/**
* 保费
*/
private BigDecimal premium;
//============以下是excel显示的字段,同上============
/**
* 保险附加产品名称(中台保险附加产品名称,冗余)
*/
private String addProductName;
/**
* 保费
*/
private BigDecimal addPremium;
/**
* 重新赋值ApiExcelAdditionalDto
* @param list
* @return
*/
public static List<ApiExcelAdditionalDto> setApiExcelAdditionalDtoList(List<ApiExcelAdditionalDto> list) {
List<ApiExcelAdditionalDto> newList = new ArrayList<>();
if (!CollectionUtils.isEmpty(list)) {
newList = list.stream().map(dto -> {
ApiExcelAdditionalDto additionalDto = new ApiExcelAdditionalDto();
BeanUtils.copyProperties(dto,additionalDto);
additionalDto.setAddPremium(dto.getPremium());
additionalDto.setAddProductName(dto.getAddProductName());
return additionalDto;
}).collect(Collectors.toList());
}
return newList;
}
}
package com.yd.csf.feign.dto.excel;
import com.yd.common.utils.DateUtil;
import com.yd.csf.feign.dto.appointment.ApiAppointmentInfoDto;
import lombok.Data;
import org.springframework.beans.BeanUtils;
import java.time.LocalDateTime;
/**
* Excel-预约主信息
*/
@Data
public class ApiExcelAppointmentMainDto {
//============以下是表字段============
/**
* 介绍人编号(用户)(预约信息主表)
*/
private String referrerId;
// /**
// * 预约日期 (西元 年/月/日)(意向预约时间(年月日))(预约信息主表)
// */
// private LocalDateTime intentionAppointmentDate;
/**
* 是否体检: 0-否, 1-是(字典)(预约信息主表)
*/
private Integer isTj;
/**
* 預約時間(意向预约时间)(预约信息主表)
*/
private LocalDateTime intentionAppointmentTime;
//============以下是excel显示的字段,同上============
/**
* 介绍人编号(用户)(预约信息主表)
*/
private String mainReferrerId;
/**
* 预约日期 (西元 年/月/日)(意向预约时间(年月日))(预约信息主表)
*/
private String mainIntentionAppointmentDate;
/**
* 是否体检: 0-否, 1-是(字典)(预约信息主表)
*/
private Integer mainIsTj;
/**
* 預約時間(意向预约时间(时分))(预约信息主表)
*/
private String mainIntentionAppointmentTime;
/**
* 重新赋值ApiExcelAppointmentMainDto
* @param dto
* @return
*/
public static ApiExcelAppointmentMainDto setApiExcelAppointmentMainDto(ApiExcelAppointmentMainDto dto) {
ApiExcelAppointmentMainDto mainDto = new ApiExcelAppointmentMainDto();
BeanUtils.copyProperties(dto,mainDto);
mainDto.setMainIntentionAppointmentDate(DateUtil.getyyyyMMdd(dto.getIntentionAppointmentTime()));
mainDto.setMainIntentionAppointmentTime(DateUtil.getHHmm(dto.getIntentionAppointmentTime()));
mainDto.setMainIsTj(dto.getIsTj());
mainDto.setMainReferrerId(dto.getReferrerId());
return mainDto;
}
/**
* ApiExcelAppointmentMainDto构造ApiAppointmentInfoDto用于保存到表
* @param dto
* @return
*/
public static ApiAppointmentInfoDto setApiAppointmentInfoDto(ApiExcelAppointmentMainDto dto) {
ApiAppointmentInfoDto infoDto = new ApiAppointmentInfoDto();
infoDto.setIntentionAppointmentTime(DateUtil.getLocalDateTime(dto.getMainIntentionAppointmentDate() + " " + dto.getMainIntentionAppointmentTime()));
infoDto.setIsTj(dto.getIsTj());
return infoDto;
}
}
package com.yd.csf.feign.dto.excel;
import com.yd.common.enums.NoYesEnum;
import com.yd.common.utils.DateUtil;
import lombok.Data;
import org.springframework.beans.BeanUtils;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/**
* Excel-预约资料及计划内容信息
*/
@Data
public class ApiExcelAppointmentPlanDto {
//============以下是表字段============
/**
* 保险公司名称(冗余字段)(产品计划信息表)
*/
private String companyName;
/**
* 基本計劃名稱(产品计划信息表,保险产品名称(中台保险产品名称,冗余))
*/
private String productName;
/**
* 附约计划列表(产品计划-附加险信息表的列表)
*/
private List<ApiExcelAdditionalDto> additionalDtoList;
/**
* 保单币别(货币(字典))(产品计划信息表)
*/
private String currency;
/**
* 付款频率(字典)(产品计划信息表)
*/
private String paymentFrequency;
/**
* 保额(产品计划信息表)
*/
private BigDecimal sumInsured;
/**
* 供款年期(字典)(产品计划信息表)
*/
private String paymentTerm;
/**
* 主險每期保费金额(每期保费)(产品计划信息表)
*/
private BigDecimal eachIssuePremium;
/**
* 是否預繳保費 (如是,請填寫首期保費以外的剩餘保費)(是否预缴保费: 0-否, 1-是(字典)(产品计划信息表))
*/
private String isPrepay;
/**
* 首期保费缴付方式
* (銀聯/信用卡/銀行現金入數/現金/支票/電匯轉賬/銀行本票/銀行轉賬/銀行自動轉賬/其他)
* (首期付款方式(字典) )(产品计划信息表)
*/
private String initialPaymentMethod;
/**
* 续期保费缴付方式
* (銀聯/信用卡/銀行現金入數/現金/支票/電匯轉賬/銀行本票/銀行轉賬/銀行自動轉賬/其他)
* (续期付款方式)(产品计划信息表)
*/
private String renewalPaymentMethod;
/**
* 是否參加遞增保障權益/通脹加保權益
* (是否参加递增保障权益: 0-否, 1-是(字典))(产品计划信息表)
*/
private String isJoin;
/**
* 是否需提前保单生效日
* (保单生效日)(产品计划信息表)
*/
private LocalDateTime policyEffectiveDate;
/**
* 红利分配方式 (積存生息 / 現金支付 / 扣除保費 / 購買付清保險)
* 红利分配方式(字典)(产品计划信息表)
*/
private String dividendDistributionMethod;
//============以下是excel显示的字段,同上============
/**
* 保险公司名称(冗余字段)(产品计划信息表)
*/
private String planCompanyName;
/**
* 基本計劃名稱(产品计划信息表,保险产品名称(中台保险产品名称,冗余))
*/
private String planProductName;
/**
* 保单币别(货币(字典))(产品计划信息表)
*/
private String planCurrency;
/**
* 付款频率(字典)(产品计划信息表)
*/
private String planPaymentFrequency;
/**
* 保额(产品计划信息表)
*/
private BigDecimal planSumInsured;
/**
* 供款年期(字典)(产品计划信息表)
*/
private String planPaymentTerm;
/**
* 主險每期保费金额(每期保费)(产品计划信息表)
*/
private BigDecimal planEachIssuePremium;
/**
* 是否預繳保費 (如是,請填寫首期保費以外的剩餘保費)(是否预缴保费: 0-否, 1-是(字典)(产品计划信息表))
*/
private String planIsPrepay;
/**
* 首期保费缴付方式
* (銀聯/信用卡/銀行現金入數/現金/支票/電匯轉賬/銀行本票/銀行轉賬/銀行自動轉賬/其他)
* (首期付款方式(字典) )(产品计划信息表)
*/
private String planInitialPaymentMethod;
/**
* 续期保费缴付方式
* (銀聯/信用卡/銀行現金入數/現金/支票/電匯轉賬/銀行本票/銀行轉賬/銀行自動轉賬/其他)
* (续期付款方式)(产品计划信息表)
*/
private String planRenewalPaymentMethod;
/**
* 是否參加遞增保障權益/通脹加保權益
* (是否参加递增保障权益: 0-否, 1-是(字典))(产品计划信息表)
*/
private String planIsJoin;
/**
* 是否需提前保单生效日
* (保单生效日)(产品计划信息表)
*/
private String planPolicyEffectiveDate;
/**
* 红利分配方式 (積存生息 / 現金支付 / 扣除保費 / 購買付清保險)
* 红利分配方式(字典)(产品计划信息表)
*/
private String planDividendDistributionMethod;
/**
* 重新赋值ApiExcelAppointmentPlanDto
* @param dto
* @return
*/
public static ApiExcelAppointmentPlanDto setApiExcelAppointmentPlanDto(ApiExcelAppointmentPlanDto dto) {
ApiExcelAppointmentPlanDto mainDto = new ApiExcelAppointmentPlanDto();
BeanUtils.copyProperties(dto,mainDto);
mainDto.setPlanCompanyName(dto.getCompanyName());
mainDto.setPlanCurrency(dto.getCurrency());
mainDto.setPlanDividendDistributionMethod(dto.getDividendDistributionMethod());
mainDto.setPlanEachIssuePremium(dto.getEachIssuePremium());
mainDto.setPlanInitialPaymentMethod(dto.getInitialPaymentMethod());
mainDto.setPlanIsJoin(dto.getIsJoin());
mainDto.setPlanIsPrepay(NoYesEnum.getLabelByValue(dto.getIsPrepay()));
//付款频率(字典)(产品计划信息表)TODO
mainDto.setPlanPaymentFrequency(dto.getPaymentFrequency());
mainDto.setPlanPaymentTerm(dto.getPaymentTerm());
//保单生效日(产品计划信息表)TODO
mainDto.setPlanPolicyEffectiveDate(DateUtil.getyyyyMMdd(dto.getPolicyEffectiveDate()));
mainDto.setPlanProductName(dto.getProductName());
//续期保费缴付方式(字典)(产品计划信息表)TODO
mainDto.setPlanRenewalPaymentMethod(dto.getRenewalPaymentMethod());
mainDto.setPlanSumInsured(dto.getSumInsured());
return mainDto;
}
}
package com.yd.csf.feign.dto.excel;
import com.yd.common.utils.DateUtil;
import lombok.Data;
import org.springframework.beans.BeanUtils;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* 受益人资料
*/
@Data
public class ApiExcelBeneficiaryDto {
//============以下是表字段============
/**
* 中文姓名(受益人信息表:名字)
*/
private String name;
/**
* 英文姓名 (同护照)(受益人信息表:名字-英文)
*/
private String nameEn;
/**
* 出生日期 (西元 年/月/日)(受益人信息表:出生日期)
*/
private LocalDateTime birthTime;
/**
* 身份证号码(受益人信息表:证件号码)
*/
private String idNumber;
/**
* 與受保人關係(受益人信息表:与受保人关系(字典))
*/
private String insurantRel;
/**
* 受益比例 (%)(受益人信息表:受益比例)
*/
private BigDecimal benefitRatio;
//============以下是excel显示的字段,同上============
/**
* 中文姓名(受益人信息表:名字)
*/
private String beneficiaryName;
/**
* 英文姓名 (同护照)(受益人信息表:名字-英文)
*/
private String beneficiaryNameEn;
/**
* 出生日期 (西元 年/月/日)(受益人信息表:出生日期)
*/
private String beneficiaryBirthTime;
/**
* 身份证号码(受益人信息表:证件号码)
*/
private String beneficiaryIdNumber;
/**
* 與受保人關係(受益人信息表:与受保人关系(字典))
*/
private String beneficiaryInsurantRel;
/**
* 受益比例 (%)(受益人信息表:受益比例)
*/
private BigDecimal beneficiaryBenefitRatio;
/**
* 重新赋值ApiExcelBeneficiaryDto
* @param list
* @return
*/
public static List<ApiExcelBeneficiaryDto> setApiExcelBeneficiaryDtoList(List<ApiExcelBeneficiaryDto> list) {
List<ApiExcelBeneficiaryDto> newList = new ArrayList<>();
if (!CollectionUtils.isEmpty(list)) {
newList = list.stream().map(dto -> {
ApiExcelBeneficiaryDto newDto = new ApiExcelBeneficiaryDto();
BeanUtils.copyProperties(dto,newDto);
newDto.setBeneficiaryBenefitRatio(dto.getBeneficiaryBenefitRatio());
newDto.setBeneficiaryBirthTime(DateUtil.getyyyyMMdd(dto.getBirthTime()));
newDto.setBeneficiaryIdNumber(newDto.getIdNumber());
//與受保人關係(受益人信息表:与受保人关系(字典)) TODO
newDto.setBeneficiaryInsurantRel(newDto.getInsurantRel());
newDto.setBeneficiaryName(newDto.getName());
newDto.setBeneficiaryNameEn(newDto.getNameEn());
return newDto;
}).collect(Collectors.toList());
}
return newList;
}
}
package com.yd.csf.feign.dto.excel;
import com.yd.common.utils.DateUtil;
import com.yd.csf.feign.dto.appointment.ApiAppointmentInfoDto;
import lombok.Data;
import org.springframework.beans.BeanUtils;
import java.time.LocalDateTime;
/**
* Excel-客戶在港/澳停留時間信息
*/
@Data
public class ApiExcelHkStayDto {
//============以下是表字段============
/**
* 抵港(澳)日期及时间(到港时间)(预约信息主表)
*/
private LocalDateTime arrivalTime;
/**
* 离港(澳)日期及时间(离港时间)(预约信息主表)
*/
private LocalDateTime departureTime;
/**
* 会面地点(字典)(会面地点)
*/
private String meetingPoint;
/**
* 客户在港期间联络电话区号(预约信息主表)
*/
private String hkMobileCode;
/**
* 客户在港期间联络电话(预约信息主表)区号+号码
*/
private String hkMobile;
/**
* 随行人员姓名(陪同顾问姓名(FNA Form有填写,可带入))(预约信息主表)
*/
private String accompanyName;
/**
* 隨行人員聯絡電話区号(陪同顾问手机区号)(预约信息主表)
*/
private String accompanyMobileCode;
/**
* 隨行人員聯絡電話(陪同顾问手机)(预约信息主表)区号+号码
*/
private String accompanyMobile;
//============以下是excel显示的字段,同上============
/**
* 抵港(澳)日期及时间(到港时间)(预约信息主表)
*/
private String hkArrivalTime;
/**
* 离港(澳)日期及时间(离港时间)(预约信息主表)
*/
private String hkDepartureTime;
/**
* 会面地点(字典)(会面地点)
*/
private String hkMeetingPoint;
/**
* 客户在港期间联络电话(预约信息主表)区号+号码
*/
private String hkHkMobile;
/**
* 随行人员姓名(陪同顾问姓名(FNA Form有填写,可带入))(预约信息主表)
*/
private String hkAccompanyName;
/**
* 隨行人員聯絡電話(陪同顾问手机)(预约信息主表)区号+号码
*/
private String hkAccompanyMobile;
/**
* 重新赋值ApiExcelHkStayDto
* @param dto
* @return
*/
public static ApiExcelHkStayDto setApiExcelHkStayDto(ApiExcelHkStayDto dto) {
ApiExcelHkStayDto stayDto = new ApiExcelHkStayDto();
BeanUtils.copyProperties(dto,stayDto);
stayDto.setHkAccompanyMobile(dto.getAccompanyMobileCode() + "-" + dto.getAccompanyMobile());
stayDto.setHkAccompanyName(dto.getAccompanyName());
//抵港(澳)日期及时间(到港时间)(预约信息主表)年-月-日 时:分 TODO
stayDto.setHkArrivalTime(DateUtil.getyyyyMMddHHmm(dto.getArrivalTime()));
//离港(澳)日期及时间(离港时间)(预约信息主表)年-月-日 时:分 TODO
stayDto.setHkDepartureTime(DateUtil.getyyyyMMddHHmm(dto.getDepartureTime()));
stayDto.setHkHkMobile(dto.getHkMobileCode() + "-" + dto.getHkMobile());
stayDto.setHkMeetingPoint(dto.getMeetingPoint());
return stayDto;
}
/**
* ApiExcelHkStayDto构造ApiAppointmentInfoDto用于保存到表
* @param dto
* @return
*/
public static ApiAppointmentInfoDto setApiAppointmentInfoDto(ApiExcelHkStayDto dto) {
ApiAppointmentInfoDto infoDto = new ApiAppointmentInfoDto();
return infoDto;
}
}
package com.yd.csf.feign.dto.excel;
import com.yd.oss.feign.annotation.ExcelField;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class ApiExcelImportAdditionalDto {
/**
* 保险附加产品名称(中台保险附加产品名称,冗余)
*/
@ExcelField(name = "保险附加产品名称", titleRow = 20, titleCol = 0, valueRow = 20, valueCol = 1)
private String addProductName;
/**
* 保费
*/
@ExcelField(name = "保险附加产品名称", titleRow = 20, titleCol = 1, valueRow = 20, valueCol = 2)
private BigDecimal addPremium;
}
package com.yd.csf.feign.dto.excel;
import com.yd.oss.feign.annotation.ExcelField;
import lombok.Data;
import java.math.BigDecimal;
/**
* Excel导入-受益人列表信息
*/
@Data
public class ApiExcelImportBeneficiaryDto {
/**
* 中文姓名(受益人信息表:名字)
*/
@ExcelField(name = "中文姓名", titleRow = 64, titleCol = 0, valueRow = 64, valueCol = 1)
private String beneficiaryName;
/**
* 英文姓名 (同护照)(受益人信息表:名字-英文)
*/
@ExcelField(name = "英文姓名", titleRow = 64, titleCol = 2, valueRow = 64, valueCol = 3)
private String beneficiaryNameEn;
/**
* 出生日期 (西元 年/月/日)(受益人信息表:出生日期)
*/
@ExcelField(name = "出生日期", titleRow = 65, titleCol = 0, valueRow = 65, valueCol = 1)
private String beneficiaryBirthTime;
/**
* 身份证号码(受益人信息表:证件号码)
*/
@ExcelField(name = "身份证号码", titleRow = 65, titleCol = 2, valueRow = 65, valueCol = 3)
private String beneficiaryIdNumber;
/**
* 與受保人關係(受益人信息表:与受保人关系(字典))
*/
@ExcelField(name = "與受保人關係", titleRow = 66, titleCol = 0, valueRow = 66, valueCol = 1)
private String beneficiaryInsurantRel;
/**
* 受益比例 (%)(受益人信息表:受益比例)
*/
@ExcelField(name = "受益比例 (%)", titleRow = 66, titleCol = 2, valueRow = 66, valueCol = 3)
private BigDecimal beneficiaryBenefitRatio;
}
package com.yd.csf.feign.dto.excel;
import com.yd.oss.feign.annotation.ExcelSheet;
import lombok.Data;
@Data
@ExcelSheet(sheetIndex = 1)
public class ApiExcelImportHealthDto {
}
package com.yd.csf.feign.dto.excel;
import com.yd.common.utils.DateUtil;
import lombok.Data;
import org.springframework.beans.BeanUtils;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 受保人资料 (如與保單持有人為同一人無須填寫)
*/
@Data
public class ApiExcelInsurantDto {
//============以下是表字段============
/**
* 與投保人關系(受保人信息表:与投保人关系(字典))
*/
private String policyholderRel;
/**
* 中文姓名(受保人信息表:名字)
*/
private String name;
/**
* 英文姓名 (同护照)(受保人信息表:名字-英文)
*/
private String nameEn;
/**
* 性别(受保人信息表:性别)
*/
private String gender;
/**
* 婚姻状况 (單身 / 已婚 / 離異/ 喪偶)(受保人信息表:婚姻状况(字典))
*/
private String maritalStatus;
/**
* 出生日期 (西元 年/月/日)(受保人信息表:出生日期)
*/
private LocalDateTime birthday;
/**
* 出生地 (省/市)(受保人信息表:出生地(省市))
*/
private String birthplace;
/**
* 國籍(受保人信息表:国籍)
*/
private String nationality;
/**
* 身份证号码(受保人信息表:证件号码)
*/
private String idNumber;
/**
* 護照號碼(受保人信息表:护照号码)
*/
private String passportNo;
/**
* 港澳通行证号码(受保人信息表:通行证号码)
*/
private String passNo;
/**
* 永久(住宅)地址(受保人信息表:居住地址)
*/
private String residentialAddress;
/**
* 通訊地址(受保人信息表:通讯地址)
*/
private String mailingAddress;
/**
* 聯絡電話(手機)区号(受保人信息表:移动电话区号)
*/
private String mobileCode;
/**
* 聯絡電話(手機)(受保人信息表:移动电话) 区号+号码
*/
private String mobile;
/**
* 聯絡電話(住宅) 区号+号码 TODO
*/
private String residenceMobile;
/**
* 电邮地址(受保人信息表:邮箱)
*/
private String email;
/**
* 教育程度 (大學或以上/大專/中學/小學或以下)(受保人信息表:教育程度(字典))
*/
private String educationLevel;
/**
* 公司名称(受保人信息表:公司名称)
*/
private String companyName;
/**
* 工作年期(僅限數字)(受保人信息表:总工作年期)
*/
private BigDecimal totalWorkingYears;
/**
* 职位及日常职务(受保人信息表:职位)
*/
private String position;
/**
* 公司业务性质(受保人信息表:TODO)
*/
private String companyNature;
/**
* 公司地址(受保人信息表:公司地址)
*/
private String companyAddress;
/**
* 现时每月收入 (HKD)(受保人信息表:现时每月收入)
*/
private BigDecimal currentMonthlyIncome;
//============以下是excel显示的字段,同上============
/**
* 與投保人關系(受保人信息表:与投保人关系(字典))
*/
private String insurantPolicyholderRel;
/**
* 中文姓名(受保人信息表:名字)
*/
private String insurantName;
/**
* 英文姓名 (同护照)(受保人信息表:名字-英文)
*/
private String insurantNameEn;
/**
* 性别(受保人信息表:性别)
*/
private String insurantGender;
/**
* 婚姻状况 (單身 / 已婚 / 離異/ 喪偶)(受保人信息表:婚姻状况(字典))
*/
private String insurantMaritalStatus;
/**
* 出生日期 (西元 年/月/日)(受保人信息表:出生日期)
*/
private String insurantBirthday;
/**
* 出生地 (省/市)(受保人信息表:出生地(省市))
*/
private String insurantBirthplace;
/**
* 國籍(受保人信息表:国籍)
*/
private String insurantNationality;
/**
* 身份证号码(受保人信息表:证件号码)
*/
private String insurantIdNumber;
/**
* 護照號碼(受保人信息表:护照号码)
*/
private String insurantPassportNo;
/**
* 港澳通行证号码(受保人信息表:通行证号码)
*/
private String insurantPassNo;
/**
* 永久(住宅)地址(受保人信息表:居住地址)
*/
private String insurantResidentialAddress;
/**
* 通訊地址(受保人信息表:通讯地址)
*/
private String insurantMailingAddress;
/**
* 聯絡電話(手機)(受保人信息表:移动电话) 区号+号码
*/
private String insurantMobile;
/**
* 聯絡電話(住宅) 区号+号码 TODO
*/
private String insurantResidenceMobile;
/**
* 电邮地址(受保人信息表:邮箱)
*/
private String insurantEmail;
/**
* 教育程度 (大學或以上/大專/中學/小學或以下)(受保人信息表:教育程度(字典))
*/
private String insurantEducationLevel;
/**
* 公司名称(受保人信息表:公司名称)
*/
private String insurantCompanyName;
/**
* 工作年期(僅限數字)(受保人信息表:总工作年期)
*/
private BigDecimal insurantTotalWorkingYears;
/**
* 职位及日常职务(受保人信息表:职位)
*/
private String insurantPosition;
/**
* 公司业务性质(受保人信息表:TODO)
*/
private String insurantPompanyNature;
/**
* 公司地址(受保人信息表:公司地址)
*/
private String insurantCompanyAddress;
/**
* 现时每月收入 (HKD)(受保人信息表:现时每月收入)
*/
private BigDecimal insurantCurrentMonthlyIncome;
/**
* 重新赋值ApiExcelHkStayDto
* @param dto
* @return
*/
public static ApiExcelInsurantDto setApiExcelInsurantDto(ApiExcelInsurantDto dto) {
ApiExcelInsurantDto insurantDto = new ApiExcelInsurantDto();
BeanUtils.copyProperties(dto,insurantDto);
insurantDto.setInsurantBirthday(DateUtil.getyyyyMMdd(dto.getBirthday()));
//出生地 (省/市)(受保人信息表:出生地(省市))TODO
insurantDto.setInsurantBirthplace(dto.getBirthplace());
insurantDto.setInsurantCompanyAddress(dto.getCompanyAddress());
insurantDto.setInsurantCompanyName(dto.getCompanyName());
insurantDto.setInsurantCurrentMonthlyIncome(dto.getCurrentMonthlyIncome());
//教育程度 (大學或以上/大專/中學/小學或以下)(受保人信息表:教育程度(字典))TODO
insurantDto.setInsurantEducationLevel(dto.getEducationLevel());
insurantDto.setInsurantEmail(dto.getEmail());
//性别(受保人信息表:性别 字典)TODO
insurantDto.setInsurantGender(dto.getGender());
insurantDto.setInsurantIdNumber(dto.getIdNumber());
insurantDto.setInsurantMailingAddress(dto.getMailingAddress());
//婚姻状况 (單身 / 已婚 / 離異/ 喪偶)(受保人信息表:婚姻状况(字典))TODO
insurantDto.setInsurantMaritalStatus(dto.getMaritalStatus());
insurantDto.setInsurantMobile(dto.getMobileCode() + "-" + dto.getMobile());
insurantDto.setInsurantName(dto.getName());
insurantDto.setInsurantNameEn(dto.getNameEn());
//國籍(受保人信息表:国籍)字典 TODO
insurantDto.setInsurantNationality(dto.getNationality());
insurantDto.setInsurantPassNo(dto.getPassNo());
insurantDto.setInsurantPassportNo(dto.getPassportNo());
//與投保人關系(受保人信息表:与投保人关系(字典)) TODO
insurantDto.setInsurantPolicyholderRel(dto.getPolicyholderRel());
//公司业务性质(受保人信息表:TODO)
insurantDto.setInsurantPompanyNature(dto.getInsurantPompanyNature());
insurantDto.setInsurantPosition(dto.getPosition());
//聯絡電話(住宅) 区号+号码 TODO
insurantDto.setInsurantResidenceMobile(dto.getResidenceMobile());
insurantDto.setInsurantResidentialAddress(dto.getResidentialAddress());
insurantDto.setInsurantTotalWorkingYears(dto.getTotalWorkingYears());
return insurantDto;
}
}
package com.yd.csf.feign.dto.excel;
import com.yd.common.utils.DateUtil;
import lombok.Data;
import org.springframework.beans.BeanUtils;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 保单持有人资料(投保人信息)
*/
@Data
public class ApiExcelPolicyholderDto {
//============以下是表字段============
/**
* 中文姓名(投保人信息表:名字)
*/
private String name;
/**
* 英文姓名 (同护照)(投保人信息表:名字-英文)
*/
private String nameEn;
/**
* 性别(投保人信息表:性别)
*/
private String gender;
/**
* 婚姻状况 (單身 / 已婚 / 離異/ 喪偶)(投保人信息表:婚姻状况(字典))
*/
private String maritalStatus;
/**
* 出生日期 (西元 年/月/日)(投保人信息表:出生日期)
*/
private LocalDateTime birthday;
/**
* 出生地 (省/市)(投保人信息表:出生地(省市))
*/
private String birthplace;
/**
* 國籍(投保人信息表:国籍)
*/
private String nationality;
/**
* 身份证号码(投保人信息表:证件号码)
*/
private String idNumber;
/**
* 護照號碼(投保人信息表:护照号码)
*/
private String passportNo;
/**
* 港澳通行证号码(投保人信息表:通行证号码)
*/
private String passNo;
/**
* 永久(住宅)地址(投保人信息表:居住地址)
*/
private String residentialAddress;
/**
* 通訊地址(投保人信息表:通讯地址)
*/
private String mailingAddress;
/**
* 聯絡電話(手機)区号(投保人信息表:移动电话区号)
*/
private String mobileCode;
/**
* 聯絡電話(手機)(投保人信息表:移动电话) 区号+号码
*/
private String mobile;
/**
* 聯絡電話(住宅) 区号+号码 TODO
*/
private String residenceMobile;
/**
* 电邮地址(投保人信息表:邮箱)
*/
private String email;
/**
* 教育程度 (大學或以上/大專/中學/小學或以下)(投保人信息表:教育程度(字典))
*/
private String educationLevel;
/**
* 公司名称(投保人信息表:公司名称)
*/
private String companyName;
/**
* 工作年期(僅限數字)(投保人信息表:总工作年期)
*/
private BigDecimal totalWorkingYears;
/**
* 职位及日常职务(投保人信息表:职位)
*/
private String position;
/**
* 公司业务性质(投保人信息表:TODO)
*/
private String companyNature;
/**
* 公司地址(投保人信息表:公司地址)
*/
private String companyAddress;
/**
* 现时每月收入 (HKD)(投保人信息表:现时每月收入)
*/
private BigDecimal currentMonthlyIncome;
//============以下是excel显示的字段,同上============
/**
* 中文姓名(投保人信息表:名字)
*/
private String policyholderName;
/**
* 英文姓名 (同护照)(投保人信息表:名字-英文)
*/
private String policyholderNameEn;
/**
* 性别(投保人信息表:性别)
*/
private String policyholderGender;
/**
* 婚姻状况 (單身 / 已婚 / 離異/ 喪偶)(投保人信息表:婚姻状况(字典))
*/
private String policyholderMaritalStatus;
/**
* 出生日期 (西元 年/月/日)(投保人信息表:出生日期)
*/
private String policyholderBirthday;
/**
* 出生地 (省/市)(投保人信息表:出生地(省市))
*/
private String policyholderBirthplace;
/**
* 國籍(投保人信息表:国籍)
*/
private String policyholderNationality;
/**
* 身份证号码(投保人信息表:证件号码)
*/
private String policyholderIdNumber;
/**
* 護照號碼(投保人信息表:护照号码)
*/
private String policyholderPassportNo;
/**
* 港澳通行证号码(投保人信息表:通行证号码)
*/
private String policyholderPassNo;
/**
* 永久(住宅)地址(投保人信息表:居住地址)
*/
private String policyholderResidentialAddress;
/**
* 通訊地址(投保人信息表:通讯地址)
*/
private String policyholderMailingAddress;
/**
* 聯絡電話(手機)(投保人信息表:移动电话) 区号+号码
*/
private String policyholderMobile;
/**
* 聯絡電話(住宅) 区号+号码 TODO
*/
private String policyholderResidenceMobile;
/**
* 电邮地址(投保人信息表:邮箱)
*/
private String policyholderEmail;
/**
* 教育程度 (大學或以上/大專/中學/小學或以下)(投保人信息表:教育程度(字典))
*/
private String policyholderEducationLevel;
/**
* 公司名称(投保人信息表:公司名称)
*/
private String policyholderCompanyName;
/**
* 工作年期(僅限數字)(投保人信息表:总工作年期)
*/
private BigDecimal policyholderTotalWorkingYears;
/**
* 职位及日常职务(投保人信息表:职位)
*/
private String policyholderPosition;
/**
* 公司业务性质(投保人信息表:TODO)
*/
private String policyholderCompanyNature;
/**
* 公司地址(投保人信息表:公司地址)
*/
private String policyholderCompanyAddress;
/**
* 现时每月收入 (HKD)(投保人信息表:现时每月收入)
*/
private BigDecimal policyholderCurrentMonthlyIncome;
/**
* 重新赋值ApiExcelPolicyholderDto
* @param dto
* @return
*/
public static ApiExcelPolicyholderDto setApiExcelPolicyholderDto(ApiExcelPolicyholderDto dto) {
ApiExcelPolicyholderDto insurantDto = new ApiExcelPolicyholderDto();
BeanUtils.copyProperties(dto,insurantDto);
insurantDto.setPolicyholderBirthday(DateUtil.getyyyyMMdd(dto.getBirthday()));
//出生地 (省/市)(投保人信息表:出生地(省市))TODO
insurantDto.setPolicyholderBirthplace(dto.getBirthplace());
insurantDto.setPolicyholderCompanyAddress(dto.getCompanyAddress());
insurantDto.setPolicyholderCompanyName(dto.getCompanyName());
insurantDto.setPolicyholderCurrentMonthlyIncome(dto.getCurrentMonthlyIncome());
//教育程度 (大學或以上/大專/中學/小學或以下)(投保人信息表:教育程度(字典))TODO
insurantDto.setPolicyholderEducationLevel(dto.getEducationLevel());
insurantDto.setPolicyholderEmail(dto.getEmail());
//性别(投保人信息表:性别 字典)TODO
insurantDto.setPolicyholderGender(dto.getGender());
insurantDto.setPolicyholderIdNumber(dto.getIdNumber());
insurantDto.setPolicyholderMailingAddress(dto.getMailingAddress());
//婚姻状况 (單身 / 已婚 / 離異/ 喪偶)(投保人信息表:婚姻状况(字典))TODO
insurantDto.setPolicyholderMaritalStatus(dto.getMaritalStatus());
insurantDto.setPolicyholderMobile(dto.getMobileCode() + "-" + dto.getMobile());
insurantDto.setPolicyholderName(dto.getName());
insurantDto.setPolicyholderNameEn(dto.getNameEn());
//國籍(投保人信息表:国籍)字典 TODO
insurantDto.setPolicyholderNationality(dto.getNationality());
insurantDto.setPolicyholderPassNo(dto.getPassNo());
insurantDto.setPolicyholderPassportNo(dto.getPassportNo());
//公司业务性质(投保人信息表:TODO)
insurantDto.setPolicyholderCompanyNature(dto.getCompanyNature());
insurantDto.setPolicyholderPosition(dto.getPosition());
//聯絡電話(住宅) 区号+号码 TODO
insurantDto.setPolicyholderResidenceMobile(dto.getResidenceMobile());
insurantDto.setPolicyholderResidentialAddress(dto.getResidentialAddress());
insurantDto.setPolicyholderTotalWorkingYears(dto.getTotalWorkingYears());
return insurantDto;
}
}
package com.yd.csf.feign.dto.excel;
import com.yd.common.utils.DateUtil;
import lombok.Data;
import org.springframework.beans.BeanUtils;
import java.time.LocalDateTime;
/**
* 第二持有人资料
*/
@Data
public class ApiExcelSecondHolderDto {
//============以下是表字段============
/**
* 中文姓名(第二持有人信息表:名字)
*/
private String name;
/**
* 英文姓名(同护照)(第二持有人信息表:名字-英文)
*/
private String nameEn;
/**
* 出生日期(第二持有人信息表:出生日期)
*/
private LocalDateTime birthTime;
/**
* 身份证号码(第二持有人信息表:证件号码)
*/
private String idNumber;
/**
* 性別(第二持有人信息表:性别)
*/
private String gender;
/**
* 與受保人關係(第二持有人信息表:与受保人关系(字典))
*/
private String insurantRel;
//============以下是excel显示的字段,同上============
/**
* 中文姓名(第二持有人信息表:名字)
*/
private String secondHolderName;
/**
* 英文姓名(同护照)(第二持有人信息表:名字-英文)
*/
private String secondHolderNameEn;
/**
* 出生日期(第二持有人信息表:出生日期)
*/
private String secondHolderBirthTime;
/**
* 身份证号码(第二持有人信息表:证件号码)
*/
private String secondHolderIdNumber;
/**
* 性別(第二持有人信息表:性别)
*/
private String secondHolderGender;
/**
* 與受保人關係(第二持有人信息表:与受保人关系(字典))
*/
private String secondHolderInsurantRel;
/**
* 重新赋值ApiExcelSecondHolderDto
* @param dto
* @return
*/
public static ApiExcelSecondHolderDto setApiExcelSecondHolderDto(ApiExcelSecondHolderDto dto) {
ApiExcelSecondHolderDto secondHolderDto = new ApiExcelSecondHolderDto();
BeanUtils.copyProperties(dto,secondHolderDto);
secondHolderDto.setSecondHolderBirthTime(DateUtil.getyyyyMMdd(dto.getBirthTime()));
//性別(第二持有人信息表:性别)字典 TODO
secondHolderDto.setSecondHolderGender(dto.getGender());
secondHolderDto.setSecondHolderIdNumber(dto.getIdNumber());
//與受保人關係(第二持有人信息表:与受保人关系(字典)) TODO
secondHolderDto.setSecondHolderInsurantRel(dto.getInsurantRel());
secondHolderDto.setSecondHolderName(dto.getName());
secondHolderDto.setSecondHolderNameEn(dto.getNameEn());
return secondHolderDto;
}
}
......@@ -5,9 +5,12 @@ import com.yd.csf.feign.client.appointmentfile.ApiAppointmentFileFeignClient;
import com.yd.csf.feign.request.appointmentfile.ApiAppointmentFileAddRequest;
import com.yd.csf.feign.request.appointmentfile.ApiAppointmentFileEditRequest;
import com.yd.csf.feign.request.appointmentfile.ApiAppointmentFilePageRequest;
import com.yd.csf.feign.request.appointmentfile.ApiAppointmentImportExcelRequest;
import com.yd.csf.feign.response.appointmentfile.ApiAppointmentImportExcelResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
import javax.validation.constraints.NotBlank;
......@@ -49,6 +52,17 @@ public class ApiAppointmentFileFeignFallbackFactory implements FallbackFactory<A
public Result<String> itineraryPdf(String appointmentBizId) {
return null;
}
@Override
public Result<String> appointmentExportExcel(String appointmentBizId) {
return null;
}
@Override
public Result<ApiAppointmentImportExcelResponse> appointmentImportExcel(MultipartFile file,
ApiAppointmentImportExcelRequest request) {
return null;
}
};
}
}
package com.yd.csf.feign.request.appointmentfile;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
public class ApiAppointmentImportExcelRequest {
/**
* 预约信息主表唯一业务ID
*/
@NotBlank(message = "预约信息主表唯一业务ID不能为空")
private String appointmentBizId;
}
package com.yd.csf.feign.response.appointmentfile;
import lombok.Data;
@Data
public class ApiAppointmentImportExcelResponse {
}
......@@ -281,6 +281,12 @@ public class Appointment implements Serializable {
private Integer policyTransfer;
/**
* 是否有用车服务:0-否, 1-是(字典)
*/
@TableField("is_use_car")
private Integer isUseCar;
/**
* 通用备注
*/
@TableField("remark")
......
......@@ -12,6 +12,7 @@ import com.yd.csf.service.service.IAdditionalService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yd.user.service.model.SysProject;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
......@@ -37,6 +38,7 @@ public class AdditionalServiceImpl extends ServiceImpl<AdditionalMapper, Additio
@Override
public IPage<ApiAdditionalPageResponse> page(Page<ApiAdditionalPageResponse> page,
ApiAdditionalPageRequest request) {
return baseMapper.page(page,request);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment