回访记录
This commit is contained in:
parent
ff80866acf
commit
ce3da9354d
@ -155,4 +155,9 @@ public class PsCustomerRecordVo implements Serializable {
|
||||
* 免费工单审批失败描述
|
||||
*/
|
||||
private String freeFailDesc;
|
||||
|
||||
/**
|
||||
* 回访记录vo(已完成客户列表使用)
|
||||
*/
|
||||
private List<PsCustomCallbackVo> psCustomCallbackVo;
|
||||
}
|
||||
|
@ -356,43 +356,63 @@ public class PsCustomInfoServiceImpl implements IPsCustomInfoService {
|
||||
* @param queryBo
|
||||
* @return
|
||||
*/
|
||||
public TableDataInfo<PsCustomerRecordVo> getCustomerRecordList(PsCustomRecordQueryBo queryBo, PageQuery pageQuery){
|
||||
public TableDataInfo<PsCustomerRecordVo> getCustomerRecordList(PsCustomRecordQueryBo queryBo, PageQuery pageQuery) {
|
||||
QueryWrapper<PsCustomInfo> qw = Wrappers.query();
|
||||
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.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.getMobile()), "custom.custom_mobile", queryBo.getMobile());
|
||||
qw.eq(StringUtils.isNotBlank(queryBo.getCustomSource()), "custom.custom_source", queryBo.getCustomSource());
|
||||
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.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){
|
||||
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() + "%'");
|
||||
if (queryBo.getType() != null && queryBo.getType() == 2) {
|
||||
// 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()+"','"
|
||||
+ContractStatusEnum.INIT.getCode()+"' and pscon.is_cancel != '03')");
|
||||
}else if (queryBo.getType() !=null && queryBo.getType() == 1) {
|
||||
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')");
|
||||
} 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");
|
||||
//非托管服务类型编码集合
|
||||
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");
|
||||
//服务项目编码集合
|
||||
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);
|
||||
if(CollectionUtils.isEmpty(list.getRecords())){
|
||||
if (CollectionUtils.isEmpty(list.getRecords())) {
|
||||
return TableDataInfo.build(list);
|
||||
}
|
||||
//免费工单审批
|
||||
list.getRecords().forEach(item->{
|
||||
item.setFreeFailDesc(approverRecordService.getLastFail(item.getContractCode(),item.getContractCode(),List.of(ApproverTypeEnum.FREE.getCode())));
|
||||
});
|
||||
|
||||
Map<Long, List<PsCustomCallbackVo>> id_callbackMap = new HashMap<>();
|
||||
//已完成客户的回访记录
|
||||
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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user