Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yd-csf
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xingmin
yd-csf
Commits
bea0e9af
Commit
bea0e9af
authored
Sep 12, 2025
by
zhangxingmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
行程单
parent
a21a7a73
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
288 additions
and
4 deletions
+288
-4
yd-csf-api/src/main/java/com/yd/csf/api/CsfApiApplication.java
+0
-1
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiAppointmentFileController.java
+12
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiAppointmentFileService.java
+2
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiAppointmentFileServiceImpl.java
+46
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiAppointmentServiceImpl.java
+50
-2
yd-csf-api/src/main/resources/bootstrap.yml
+1
-1
yd-csf-feign/src/main/java/com/yd/csf/feign/client/appointmentfile/ApiAppointmentFileFeignClient.java
+8
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/appointment/ApiAppointmentInfoDto.java
+5
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/fallback/appointmentfile/ApiAppointmentFileFeignFallbackFactory.java
+7
-0
yd-csf-service/pom.xml
+6
-0
yd-csf-service/src/main/java/com/yd/csf/service/dao/AppointmentMapper.java
+4
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/ItineraryDto.java
+101
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/FnaService.java
+2
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/IAppointmentService.java
+3
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/AppointmentServiceImpl.java
+11
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FnaServiceImpl.java
+11
-0
yd-csf-service/src/main/resources/mappers/AppointmentMapper.xml
+19
-0
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/CsfApiApplication.java
View file @
bea0e9af
package
com
.
yd
.
csf
.
api
;
import
com.yd.common.constant.ServerNameConstants
;
import
org.mybatis.spring.annotation.MapperScan
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.builder.SpringApplicationBuilder
;
...
...
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiAppointmentFileController.java
View file @
bea0e9af
...
...
@@ -78,4 +78,16 @@ public class ApiAppointmentFileController implements ApiAppointmentFileFeignClie
public
Result
download
(
String
appointmentFileBizId
)
{
return
apiAppointmentFileService
.
download
(
appointmentFileBizId
);
}
/**
* 生成行程单PDF
* @param appointmentBizId
* @return
*/
@Override
public
Result
<
String
>
itineraryPdf
(
String
appointmentBizId
)
{
return
apiAppointmentFileService
.
itineraryPdf
(
appointmentBizId
);
}
}
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiAppointmentFileService.java
View file @
bea0e9af
...
...
@@ -23,4 +23,6 @@ public interface ApiAppointmentFileService {
Result
del
(
String
appointmentFileBizId
);
Result
download
(
String
appointmentFileBizId
);
Result
<
String
>
itineraryPdf
(
String
appointmentBizId
);
}
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiAppointmentFileServiceImpl.java
View file @
bea0e9af
...
...
@@ -15,9 +15,13 @@ 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.ApiAppointmentFilePageResponse
;
import
com.yd.csf.service.dto.ItineraryDto
;
import
com.yd.csf.service.model.AppointmentFile
;
import
com.yd.csf.service.model.Policyholder
;
import
com.yd.csf.service.service.IAppointmentFileService
;
import
com.yd.csf.service.service.IAppointmentService
;
import
com.yd.oss.service.enums.TemplateTypeEnum
;
import
com.yd.oss.service.service.PdfService
;
import
com.yd.user.feign.response.sysuser.ApiSysUserPageResponse
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -26,6 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
...
...
@@ -41,6 +46,12 @@ public class ApiAppointmentFileServiceImpl implements ApiAppointmentFileService
@Autowired
private
IAppointmentFileService
iAppointmentFileService
;
@Autowired
private
IAppointmentService
iAppointmentService
;
@Autowired
private
PdfService
pdfService
;
/**
* 预约附件信息分页查询
* @param request
...
...
@@ -124,6 +135,41 @@ public class ApiAppointmentFileServiceImpl implements ApiAppointmentFileService
}
/**
* 生成行程单PDF
* @param appointmentBizId
* @return
*/
@Override
public
Result
<
String
>
itineraryPdf
(
String
appointmentBizId
)
{
String
url
=
""
;
//获取行程单的数据
ItineraryDto
itineraryDto
=
iAppointmentService
.
getItineraryDto
(
appointmentBizId
);
// ItineraryDto itineraryDto = new ItineraryDto();
// itineraryDto.setArrivalTime("2025-09-10 15:30:20");
// itineraryDto.setBusinessRepresentMobile1("1366666666");
// itineraryDto.setBusinessRepresentMobile1Code("86");
// itineraryDto.setBusinessRepresentName1("王红");
// itineraryDto.setCurrency("CY");
// itineraryDto.setEachIssuePremium("2999.99");
// itineraryDto.setInsurantName("陈发");
// itineraryDto.setMeetingPoint("香港大厦");
// itineraryDto.setName("王飞");
// itineraryDto.setPaymentTerm("10");
// itineraryDto.setProductName("全保产品");
// itineraryDto.setSigningAddress("香港保险公司");
// itineraryDto.setTotal("29990.99");
// itineraryDto.setNp("王");
// itineraryDto.setPolicyFee("999.89");
try
{
url
=
pdfService
.
generatePDF
(
itineraryDto
,
appointmentBizId
,
TemplateTypeEnum
.
XCD
.
getItemValue
());
return
Result
.
success
(
url
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
throw
new
BusinessException
(
"生成行程单PDF异常"
);
}
}
/**
* 校验预约附件信息是否存在
* @param appointmentFileBizId
* @return
...
...
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiAppointmentServiceImpl.java
View file @
bea0e9af
...
...
@@ -2,6 +2,7 @@ package com.yd.csf.api.service.impl;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.sun.org.apache.bcel.internal.generic.I2F
;
import
com.yd.common.constant.CodeGeneratorConstants
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.enums.ResultCode
;
...
...
@@ -17,7 +18,9 @@ import com.yd.csf.feign.response.appointment.ApiAppointmentDetailResponse;
import
com.yd.csf.feign.response.appointment.ApiAppointmentPageResponse
;
import
com.yd.csf.service.enums.AppointmentStatusEnum
;
import
com.yd.csf.service.model.Appointment
;
import
com.yd.csf.service.model.Fna
;
import
com.yd.csf.service.model.ProductPlan
;
import
com.yd.csf.service.service.FnaService
;
import
com.yd.csf.service.service.IAppointmentService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeanUtils
;
...
...
@@ -60,6 +63,9 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
@Autowired
private
ApiAppointmentFileService
apiAppointmentFileService
;
@Autowired
private
FnaService
fnaService
;
/**
* 预约分页查询
* @param request
...
...
@@ -150,6 +156,23 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
//添加第二持有人信息表数据
apiSecondHolderService
.
addSecondHolderData
(
request
.
getApiSecondHolderInfoDto
(),
appointment
.
getAppointmentBizId
());
//预约编号和预约业务id更新到FNA表(提交待预约状态,预约信息的预约业务id和预约编号更新到Fna表的预约业务id和预约编号)
updateFnaBizIdAndNo
(
appointment
.
getFnaBizId
(),
appointment
.
getAppointmentBizId
(),
appointment
.
getAppointmentNo
());
return
Result
.
success
();
}
/**
* 提交待预约状态,预约信息更新到Fna表的预约业务id和预约编号
* @return
*/
public
Result
updateFnaBizIdAndNo
(
String
fnaBizId
,
String
appointmentBizId
,
String
appointmentNo
)
{
Fna
fna
=
fnaService
.
queryOne
(
fnaBizId
);
if
(!
Objects
.
isNull
(
fna
))
{
//预约编号
fna
.
setAppointmentBizId
(
appointmentBizId
);
fna
.
setAppointmentNo
(
appointmentNo
);
fnaService
.
saveOrUpdate
(
fna
);
}
return
Result
.
success
();
}
...
...
@@ -223,8 +246,28 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
//编辑预约入参字段校验(非库校验)
apiAppointmentCheckService
.
checkEditRequest
(
request
);
//编辑预约提交-编辑预约信息主表数据,状态为待预约状态
Result
<
Appointment
>
appointmentResult
=
editAppointmentData
(
request
.
getApiAppointmentInfoDto
(),
AppointmentStatusEnum
.
DYY
.
getItemValue
());
Integer
status
=
null
;
Appointment
appointmentCheck
=
null
;
if
(!
Objects
.
isNull
(
request
.
getApiAppointmentInfoDto
()))
{
//校验预约信息是否存在
Result
<
Appointment
>
result
=
checkAppointmentIsExist
(
request
.
getApiAppointmentInfoDto
().
getAppointmentBizId
());
appointmentCheck
=
result
.
getData
();
if
(
AppointmentStatusEnum
.
ZC
.
getItemValue
().
equals
(
appointmentCheck
.
getStatus
())){
//当前为暂存状态——>提交更新为待预约状态
status
=
AppointmentStatusEnum
.
DYY
.
getItemValue
();
}
else
if
(
AppointmentStatusEnum
.
DYY
.
getItemValue
().
equals
(
appointmentCheck
.
getStatus
())){
if
(
Objects
.
isNull
(
request
.
getApiAppointmentInfoDto
().
getConfirmAppointmentTime
()))
{
//待预约提交到待签署状态,确定预约时间不能为空
throw
new
BusinessException
(
"待预约提交确定预约时间不能为空!"
);
}
//当前为待预约状态——>提交更新为待签署状态-->到新单跟进
status
=
AppointmentStatusEnum
.
DQS
.
getItemValue
();
}
//其他状态下都是单纯编辑数据不做状态流转更新
}
//编辑预约提交-编辑预约信息主表数据
Result
<
Appointment
>
appointmentResult
=
editAppointmentData
(
request
.
getApiAppointmentInfoDto
(),
status
);
Appointment
appointment
=
appointmentResult
.
getData
();
//编辑产品计划信息表数据
...
...
@@ -245,6 +288,11 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
//编辑第二持有人信息表数据
apiSecondHolderService
.
editSecondHolderData
(
request
.
getApiSecondHolderInfoDto
(),
appointment
.
getAppointmentBizId
());
if
(!
Objects
.
isNull
(
status
)
&&
AppointmentStatusEnum
.
DYY
.
getItemValue
().
equals
(
status
))
{
//当前为暂存状态——>提交更新为待预约状态需要更新Fna表的编号和业务id完成绑定关联
//预约编号和预约业务id更新到FNA表(提交待预约状态,预约信息的预约业务id和预约编号更新到Fna表的预约业务id和预约编号)
updateFnaBizIdAndNo
(
appointment
.
getFnaBizId
(),
appointment
.
getAppointmentBizId
(),
appointment
.
getAppointmentNo
());
}
return
Result
.
success
();
}
...
...
yd-csf-api/src/main/resources/bootstrap.yml
View file @
bea0e9af
...
...
@@ -44,7 +44,7 @@ spring:
# 配置中心
config
:
# 命名空间id(此处不用public,因public初始化的空间, id为空)
namespace
:
b3b01715-eb85-4242-992a-5aff03d864d4
namespace
:
c1e4cbcf-d8b7-4da9-a75a-7b75890fc390
# nacos的ip地址和端口
server-addr
:
139.224.145.34:8848
# 这个就表示 在我们nacos命名空间id为 dev中 有一个data-id 为 demo-service.yml 的配置文件 读取这个里面的配置
...
...
yd-csf-feign/src/main/java/com/yd/csf/feign/client/appointmentfile/ApiAppointmentFileFeignClient.java
View file @
bea0e9af
...
...
@@ -56,4 +56,12 @@ public interface ApiAppointmentFileFeignClient {
*/
@GetMapping
(
"/download"
)
Result
download
(
@NotBlank
(
message
=
"预约附件信息表唯一业务ID不能为空"
)
@RequestParam
(
value
=
"appointmentFileBizId"
)
String
appointmentFileBizId
);
/**
* 生成行程单PDF
* @param appointmentBizId
* @return
*/
@GetMapping
(
"/pdf/itinerary"
)
Result
<
String
>
itineraryPdf
(
@NotBlank
(
message
=
"预约信息主表唯一业务ID不能为空"
)
@RequestParam
(
value
=
"appointmentBizId"
)
String
appointmentBizId
);
}
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/appointment/ApiAppointmentInfoDto.java
View file @
bea0e9af
...
...
@@ -66,6 +66,11 @@ public class ApiAppointmentInfoDto {
private
String
businessNo
;
/**
* 确定预约时间
*/
private
LocalDateTime
confirmAppointmentTime
;
/**
* 意向预约时间
*/
// @NotNull(message = "意向预约时间不能为空")
...
...
yd-csf-feign/src/main/java/com/yd/csf/feign/fallback/appointmentfile/ApiAppointmentFileFeignFallbackFactory.java
View file @
bea0e9af
...
...
@@ -9,6 +9,8 @@ import lombok.extern.slf4j.Slf4j;
import
org.springframework.cloud.openfeign.FallbackFactory
;
import
org.springframework.stereotype.Component
;
import
javax.validation.constraints.NotBlank
;
/**
* 香港保险服务-预约附件信息Feign降级处理
*/
...
...
@@ -42,6 +44,11 @@ public class ApiAppointmentFileFeignFallbackFactory implements FallbackFactory<A
public
Result
download
(
String
appointmentFileBizId
)
{
return
null
;
}
@Override
public
Result
<
String
>
itineraryPdf
(
String
appointmentBizId
)
{
return
null
;
}
};
}
}
yd-csf-service/pom.xml
View file @
bea0e9af
...
...
@@ -73,6 +73,12 @@
<groupId>
com.yd
</groupId>
<artifactId>
yd-csf-feign
</artifactId>
</dependency>
<!-- OSS实现模块 -->
<dependency>
<groupId>
com.yd
</groupId>
<artifactId>
yd-oss-service
</artifactId>
<version>
${project.version}
</version>
</dependency>
<!-- 认证模块 -->
<dependency>
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dao/AppointmentMapper.java
View file @
bea0e9af
...
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.csf.feign.request.appointment.ApiAppointmentPageRequest
;
import
com.yd.csf.feign.response.appointment.ApiAppointmentPageResponse
;
import
com.yd.csf.service.dto.ItineraryDto
;
import
com.yd.csf.service.model.Appointment
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -20,4 +21,7 @@ public interface AppointmentMapper extends BaseMapper<Appointment> {
IPage
<
ApiAppointmentPageResponse
>
page
(
@Param
(
"page"
)
Page
<
ApiAppointmentPageResponse
>
page
,
@Param
(
"request"
)
ApiAppointmentPageRequest
request
);
//获取行程单的数据
ItineraryDto
getItineraryDto
(
@Param
(
"appointmentBizId"
)
String
appointmentBizId
);
}
yd-csf-service/src/main/java/com/yd/csf/service/dto/ItineraryDto.java
0 → 100644
View file @
bea0e9af
package
com
.
yd
.
csf
.
service
.
dto
;
import
com.yd.oss.service.annotation.PdfField
;
import
lombok.Data
;
/**
* 预约行程单PDF字段映射实体类
*/
@Data
public
class
ItineraryDto
{
/**
* 集合时间(到港时间)
*/
@PdfField
(
"arrivalTime"
)
private
String
arrivalTime
;
/**
* 集合地点(字典)(会面地点)
*/
@PdfField
(
"meetingPoint"
)
private
String
meetingPoint
;
/**
* 意向地点(签单地址)
*/
@PdfField
(
"signingAddress"
)
private
String
signingAddress
;
/**
* 业务代表1姓名
*/
@PdfField
(
"businessRepresentName1"
)
private
String
businessRepresentName1
;
/**
* 业务代表1电话号码区号
*/
@PdfField
(
"businessRepresentMobile1Code"
)
private
String
businessRepresentMobile1Code
;
/**
* 业务代表1电话号码
*/
@PdfField
(
"businessRepresentMobile1"
)
private
String
businessRepresentMobile1
;
/**
* 咨询人(客户表-客户姓名)
*/
@PdfField
(
"name"
)
private
String
name
;
/**
* 受保人(受保人姓名)
*/
@PdfField
(
"insurantName"
)
private
String
insurantName
;
/**
* 意向缴费年期(产品计划-供款年期(字典))
*/
@PdfField
(
"paymentTerm"
)
private
String
paymentTerm
;
/**
* 意向年缴保费(产品计划-每期保费)
*/
@PdfField
(
"eachIssuePremium"
)
private
String
eachIssuePremium
;
/**
* 保单证费(产品计划-保单证费)
*/
@PdfField
(
"policyFee"
)
private
String
policyFee
;
/**
* 币种(产品计划-货币(字典))
*/
@PdfField
(
"currency"
)
private
String
currency
;
/**
* 意向咨询产品(产品计划-保险产品名称(中台保险产品名称,冗余))
*/
@PdfField
(
"productName"
)
private
String
productName
;
/**
* 合计金额(供款年期*每期保费)
*/
@PdfField
(
"total"
)
private
String
total
;
/**
* 客户姓名前缀
*/
@PdfField
(
"np"
)
private
String
np
;
}
yd-csf-service/src/main/java/com/yd/csf/service/service/FnaService.java
View file @
bea0e9af
...
...
@@ -43,4 +43,6 @@ public interface FnaService extends IService<Fna> {
Fna
getByBizId
(
String
fnaBizId
);
boolean
updateByBizId
(
Fna
fna
);
Fna
queryOne
(
String
fnaBizId
);
}
yd-csf-service/src/main/java/com/yd/csf/service/service/IAppointmentService.java
View file @
bea0e9af
...
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.csf.feign.request.appointment.ApiAppointmentPageRequest
;
import
com.yd.csf.feign.response.appointment.ApiAppointmentPageResponse
;
import
com.yd.csf.service.dto.ItineraryDto
;
import
com.yd.csf.service.model.Appointment
;
import
com.baomidou.mybatisplus.extension.service.IService
;
...
...
@@ -21,4 +22,6 @@ public interface IAppointmentService extends IService<Appointment> {
ApiAppointmentPageRequest
request
);
Appointment
queryOne
(
String
appointmentBizId
);
ItineraryDto
getItineraryDto
(
String
appointmentBizId
);
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/AppointmentServiceImpl.java
View file @
bea0e9af
...
...
@@ -5,10 +5,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.csf.feign.request.appointment.ApiAppointmentPageRequest
;
import
com.yd.csf.feign.response.appointment.ApiAppointmentPageResponse
;
import
com.yd.csf.service.dto.ItineraryDto
;
import
com.yd.csf.service.model.Appointment
;
import
com.yd.csf.service.dao.AppointmentMapper
;
import
com.yd.csf.service.service.IAppointmentService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Service
;
/**
...
...
@@ -43,4 +45,13 @@ public class AppointmentServiceImpl extends ServiceImpl<AppointmentMapper, Appoi
return
this
.
getOne
(
new
LambdaQueryWrapper
<
Appointment
>().
eq
(
Appointment:
:
getAppointmentBizId
,
appointmentBizId
));
}
/**
* 获取行程单的数据
* @param appointmentBizId
* @return
*/
public
ItineraryDto
getItineraryDto
(
String
appointmentBizId
){
return
baseMapper
.
getItineraryDto
(
appointmentBizId
);
}
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FnaServiceImpl.java
View file @
bea0e9af
package
com
.
yd
.
csf
.
service
.
service
.
impl
;
import
cn.hutool.core.collection.CollUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
...
...
@@ -166,4 +167,14 @@ public class FnaServiceImpl extends ServiceImpl<FnaMapper, Fna> implements FnaSe
return
baseMapper
.
update
(
fna
,
updateWrapper
)
>
0
;
}
/**
* 查询单个对象
* @param fnaBizId
* @return
*/
@Override
public
Fna
queryOne
(
String
fnaBizId
)
{
return
this
.
getOne
(
new
LambdaQueryWrapper
<
Fna
>().
eq
(
Fna:
:
getFnaBizId
,
fnaBizId
));
}
}
yd-csf-service/src/main/resources/mappers/AppointmentMapper.xml
View file @
bea0e9af
...
...
@@ -52,4 +52,23 @@
and a.is_deleted = 0
</select>
<select
id=
"getItineraryDto"
resultType=
"com.yd.csf.service.dto.ItineraryDto"
>
select
a.arrival_time,a.meeting_point,
a.signing_address,a.business_represent_name1,
a.business_represent_mobile1_code,a.business_represent_mobile1,
t.name,i.name as insurantName,pp.payment_term,pp.each_issue_premium,
pp.currency,pp.product_name,(pp.payment_term*pp.each_issue_premium) as total
from appointment a
left join product_plan pp on a.appointment_biz_id = pp.appointment_biz_id and pp.is_deleted = 0
left join insurant i on a.appointment_biz_id = i.appointment_biz_id and i.is_deleted = 0
left join customer t on t.customer_biz_id = a.customer_biz_id and t.is_deleted = 0
<where>
and a.appointment_biz_id = #{appointmentBizId}
and a.is_deleted = 0
</where>
limit 1
</select>
</mapper>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment