回访记录
This commit is contained in:
parent
ff80866acf
commit
ce3da9354d
@ -155,4 +155,9 @@ public class PsCustomerRecordVo implements Serializable {
|
|||||||
* 免费工单审批失败描述
|
* 免费工单审批失败描述
|
||||||
*/
|
*/
|
||||||
private String freeFailDesc;
|
private String freeFailDesc;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 回访记录vo(已完成客户列表使用)
|
||||||
|
*/
|
||||||
|
private List<PsCustomCallbackVo> psCustomCallbackVo;
|
||||||
}
|
}
|
||||||
|
@ -356,43 +356,63 @@ public class PsCustomInfoServiceImpl implements IPsCustomInfoService {
|
|||||||
* @param queryBo
|
* @param queryBo
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public TableDataInfo<PsCustomerRecordVo> getCustomerRecordList(PsCustomRecordQueryBo queryBo, PageQuery pageQuery){
|
public TableDataInfo<PsCustomerRecordVo> getCustomerRecordList(PsCustomRecordQueryBo queryBo, PageQuery pageQuery) {
|
||||||
QueryWrapper<PsCustomInfo> qw = Wrappers.query();
|
QueryWrapper<PsCustomInfo> qw = Wrappers.query();
|
||||||
qw.like(StringUtils.isNotBlank(queryBo.getCompanyName()), "com.company_name", queryBo.getCompanyName());
|
qw.like(StringUtils.isNotBlank(queryBo.getCompanyName()), "com.company_name", queryBo.getCompanyName());
|
||||||
qw.like(StringUtils.isNotBlank(queryBo.getFinanceAccountNo()), "com.finance_account_no", queryBo.getFinanceAccountNo());
|
qw.like(StringUtils.isNotBlank(queryBo.getFinanceAccountNo()), "com.finance_account_no", queryBo.getFinanceAccountNo());
|
||||||
qw.like(StringUtils.isNotBlank(queryBo.getLegalPersonName()), "com.legal_person_name", queryBo.getLegalPersonName());
|
qw.like(StringUtils.isNotBlank(queryBo.getLegalPersonName()), "com.legal_person_name", queryBo.getLegalPersonName());
|
||||||
|
|
||||||
qw.eq(queryBo.getId() != null,"custom.id",queryBo.getId());
|
qw.eq(queryBo.getId() != null, "custom.id", queryBo.getId());
|
||||||
qw.like(StringUtils.isNotBlank(queryBo.getName()), "custom.custom_name", queryBo.getName());
|
qw.like(StringUtils.isNotBlank(queryBo.getName()), "custom.custom_name", queryBo.getName());
|
||||||
qw.like(StringUtils.isNotBlank(queryBo.getMobile()), "custom.custom_mobile", queryBo.getMobile());
|
qw.like(StringUtils.isNotBlank(queryBo.getMobile()), "custom.custom_mobile", queryBo.getMobile());
|
||||||
qw.eq(StringUtils.isNotBlank(queryBo.getCustomSource()), "custom.custom_source", queryBo.getCustomSource());
|
qw.eq(StringUtils.isNotBlank(queryBo.getCustomSource()), "custom.custom_source", queryBo.getCustomSource());
|
||||||
qw.notIn("con.contract_status", ContractStatusEnum.isValid());
|
qw.notIn("con.contract_status", ContractStatusEnum.isValid());
|
||||||
qw.exists(StringUtils.isNotBlank(queryBo.getCustomIntroducerName()),"select 1 from ps_custom_info pc where pc.id = custom.custom_introducer and pc.custom_name like '%"+queryBo.getCustomIntroducerName()+"%'");
|
qw.exists(StringUtils.isNotBlank(queryBo.getCustomIntroducerName()), "select 1 from ps_custom_info pc where pc.id = custom.custom_introducer and pc.custom_name like '%" + queryBo.getCustomIntroducerName() + "%'");
|
||||||
qw.exists(StringUtils.isNotBlank(queryBo.getCustomManagerName()),"select 1 from sys_user su where su.user_id = custom.custom_manager and su.nick_name like '%"+queryBo.getCustomManagerName()+"%'");
|
qw.exists(StringUtils.isNotBlank(queryBo.getCustomManagerName()), "select 1 from sys_user su where su.user_id = custom.custom_manager and su.nick_name like '%" + queryBo.getCustomManagerName() + "%'");
|
||||||
if(queryBo.getType() !=null && queryBo.getType() == 2){
|
if (queryBo.getType() != null && queryBo.getType() == 2) {
|
||||||
// qw.eq("con.contract_status", ContractStatusEnum.SUCCESS.getCode());
|
// qw.eq("con.contract_status", ContractStatusEnum.SUCCESS.getCode());
|
||||||
//已完成合同列表:客户下不存在未完成的合同信息(不包括作废和暂存的合同)
|
//已完成合同列表:客户下不存在未完成的合同信息(不包括作废和暂存的合同)
|
||||||
qw.notExists("select 1 from ps_contract_info pscon where pscon.custom_id = custom.id and pscon.contract_status not in ('"+ContractStatusEnum.SUCCESS.getCode()+"','"
|
qw.notExists("select 1 from ps_contract_info pscon where pscon.custom_id = custom.id and pscon.contract_status not in ('" + ContractStatusEnum.SUCCESS.getCode() + "','"
|
||||||
+ContractStatusEnum.INIT.getCode()+"' and pscon.is_cancel != '03')");
|
+ ContractStatusEnum.INIT.getCode() + "' and pscon.is_cancel != '03')");
|
||||||
}else if (queryBo.getType() !=null && queryBo.getType() == 1) {
|
} else if (queryBo.getType() != null && queryBo.getType() == 1) {
|
||||||
//托管类服务类型编码集合
|
//托管类服务类型编码集合
|
||||||
qw.exists(queryBo.getServiceType() !=null && queryBo.getServiceType() == 1, "select 1 from ps_contract_business bus " +
|
qw.exists(queryBo.getServiceType() != null && queryBo.getServiceType() == 1, "select 1 from ps_contract_business bus " +
|
||||||
"where bus.contract_code = con.contract_code and bus.business_type = 2");
|
"where bus.contract_code = con.contract_code and bus.business_type = 2");
|
||||||
//非托管服务类型编码集合
|
//非托管服务类型编码集合
|
||||||
qw.notExists(queryBo.getServiceType() !=null && queryBo.getServiceType() == 2, "select 1 from ps_contract_business bus " +
|
qw.notExists(queryBo.getServiceType() != null && queryBo.getServiceType() == 2, "select 1 from ps_contract_business bus " +
|
||||||
"where bus.contract_code = con.contract_code and bus.business_type = 2");
|
"where bus.contract_code = con.contract_code and bus.business_type = 2");
|
||||||
//服务项目编码集合
|
//服务项目编码集合
|
||||||
qw.exists(CollectionUtils.isNotEmpty(queryBo.getServiceProjects()), "select 1 from ps_contract_business detail " +
|
qw.exists(CollectionUtils.isNotEmpty(queryBo.getServiceProjects()), "select 1 from ps_contract_business detail " +
|
||||||
"where detail.contract_code = con.contract_code and detail.business_type in ("+StringUtils.join(queryBo.getServiceProjects(),",")+")");//服务项目编码集合
|
"where detail.contract_code = con.contract_code and detail.business_type in (" + StringUtils.join(queryBo.getServiceProjects(), ",") + ")");//服务项目编码集合
|
||||||
}
|
}
|
||||||
Page<PsCustomerRecordVo> list = baseMapper.selectPageCustomerRecordList(pageQuery.build(), qw);
|
Page<PsCustomerRecordVo> list = baseMapper.selectPageCustomerRecordList(pageQuery.build(), qw);
|
||||||
if(CollectionUtils.isEmpty(list.getRecords())){
|
if (CollectionUtils.isEmpty(list.getRecords())) {
|
||||||
return TableDataInfo.build(list);
|
return TableDataInfo.build(list);
|
||||||
}
|
}
|
||||||
//免费工单审批
|
|
||||||
list.getRecords().forEach(item->{
|
Map<Long, List<PsCustomCallbackVo>> id_callbackMap = new HashMap<>();
|
||||||
item.setFreeFailDesc(approverRecordService.getLastFail(item.getContractCode(),item.getContractCode(),List.of(ApproverTypeEnum.FREE.getCode())));
|
//已完成客户的回访记录
|
||||||
});
|
if (queryBo.getType() != null && queryBo.getType() == 2) {
|
||||||
|
List<Long> ids = list.getRecords().stream().map(PsCustomerRecordVo::getId).collect(Collectors.toList());
|
||||||
|
//查询回访记录详细
|
||||||
|
List<PsCustomCallbackVo> callbacks = callbackMapper.selectVoList(Wrappers.<PsCustomCallback>lambdaQuery()
|
||||||
|
.in(PsCustomCallback::getCustomId, ids)
|
||||||
|
.eq(PsCustomCallback::getDelFlag, 0));
|
||||||
|
if (CollectionUtils.isNotEmpty(callbacks)) {
|
||||||
|
//分组
|
||||||
|
id_callbackMap = callbacks.stream().collect((Collectors.groupingBy(PsCustomCallbackVo::getCustomId)));
|
||||||
|
//排序
|
||||||
|
id_callbackMap.entrySet().forEach(entry -> {
|
||||||
|
entry.setValue(entry.getValue().stream().sorted(Comparator.comparingLong(PsCustomCallbackVo::getId).reversed()).collect(Collectors.toList()));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (PsCustomerRecordVo item : list.getRecords()){
|
||||||
|
//免费工单审批
|
||||||
|
item.setFreeFailDesc(approverRecordService.getLastFail(item.getContractCode(), item.getContractCode(), List.of(ApproverTypeEnum.FREE.getCode())));
|
||||||
|
//装填回访记录vo
|
||||||
|
item.setPsCustomCallbackVo(id_callbackMap.get(item.getId()));
|
||||||
|
}
|
||||||
return TableDataInfo.build(list);
|
return TableDataInfo.build(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user