Browse Source

优化客户信息导出列表

master
fanzongzhe 1 year ago
parent
commit
2231110ae2
  1. 8
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempExportVo.java
  2. 32
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.xml
  3. 30
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java

8
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempExportVo.java

@ -36,8 +36,8 @@ public class CrmCustomerTempExportVo {
private String level; private String level;
@ExportEntityMap(CnName = "提醒日期", EnName = "remind_day") @ExportEntityMap(CnName = "提醒日期", EnName = "remind_day")
private String remind_day; private String remind_day;
@ExportEntityMap(CnName = "意向车型", EnName = "yxcounts") // @ExportEntityMap(CnName = "意向车型", EnName = "yxcounts")
private String yxcounts; // private String yxcounts;
@ExportEntityMap(CnName = "跟进记录", EnName = "gjcounts") // @ExportEntityMap(CnName = "跟进记录", EnName = "gjcounts")
private String gjcounts; // private String gjcounts;
} }

32
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.xml

@ -251,8 +251,10 @@
</select> </select>
<select id="exportExcel" resultType="com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempExportVo"> <select id="exportExcel" resultType="com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempExportVo">
SELECT SELECT
@row_number:=@row_number + 1 AS rankNo @row_number := @row_number + 1 AS rankNo,
,a.* FROM ( a.*
FROM
(
SELECT SELECT
DATE_FORMAT( cct.createTime, '%Y-%m-%d' ) AS createTime, DATE_FORMAT( cct.createTime, '%Y-%m-%d' ) AS createTime,
cct.customerNo, cct.customerNo,
@ -261,7 +263,6 @@
cct.staffSid, cct.staffSid,
cct.`name`, cct.`name`,
cct.customerType, cct.customerType,
-- org.orgName AS deptName,
cct.mobile, cct.mobile,
cct.weixin, cct.weixin,
cct.`level`, cct.`level`,
@ -269,15 +270,30 @@
cct.createOrgSid, cct.createOrgSid,
so.orgSidPath, so.orgSidPath,
cct.levelKey, cct.levelKey,
DATE_FORMAT( cct.remind_day, '%Y-%m-%d' ) AS remind_day, DATE_FORMAT( cct.remind_day, '%Y-%m-%d' ) AS remind_day
( SELECT COUNT(*) FROM crm_vehicledemand cv WHERE cct.sid = cv.customerSid AND states = 1 ) yxcounts, -- ,
( SELECT COUNT(*) FROM crm_visit cvi WHERE cct.sid = cvi.customerSid ) gjcounts -- ( SELECT COUNT(*) FROM crm_vehicledemand cv WHERE cct.sid = cv.customerSid AND states = 1 ) yxcounts,
-- ( SELECT COUNT(*) FROM crm_visit cvi WHERE cct.sid = cvi.customerSid ) gjcounts
,
(
SELECT
sso.orgName
FROM
anrui_portal.sys_staff_org AS sso
LEFT JOIN anrui_portal.sys_organization AS soz ON sso.orgSid = soz.sid
WHERE
sso.staffSid = cct.staffSid
AND soz.psid = cct.createOrgSid
LIMIT 1
) as deptName
FROM FROM
crm_customer_temp cct crm_customer_temp cct
LEFT JOIN anrui_portal.sys_organization so ON cct.createOrgSid = so.sid LEFT JOIN anrui_portal.sys_organization so ON cct.createOrgSid = so.sid
LEFT JOIN anrui_portal.sys_staffinfo st ON cct.staffSid = st.sid LEFT JOIN anrui_portal.sys_staffinfo st ON cct.staffSid = st.sid
-- LEFT JOIN anrui_portal.sys_staff_org AS org ON org.staffSid = st.sid and so.psid = org.orgSid ) AS a,(
) as a,(SELECT @row_number:=0) AS t SELECT
@row_number := 0
) AS t
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>

30
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java

@ -1290,21 +1290,21 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
apply(StringUtils.isNotBlank(createEndDate), "date_format (a.createTime,'%Y-%m-%d') <= date_format('" + createEndDate + "','%Y-%m-%d')" apply(StringUtils.isNotBlank(createEndDate), "date_format (a.createTime,'%Y-%m-%d') <= date_format('" + createEndDate + "','%Y-%m-%d')"
); );
List<CrmCustomerTempExportVo> records = baseMapper.exportExcel(qw); List<CrmCustomerTempExportVo> records = baseMapper.exportExcel(qw);
if (!records.isEmpty()) { // if (!records.isEmpty()) {
records.stream().forEach(r -> { // records.stream().forEach(r -> {
String createOrgSid = r.getCreateOrgSid(); // String createOrgSid = r.getCreateOrgSid();
String staffSid = r.getStaffSid(); // String staffSid = r.getStaffSid();
List<SysStaffOrgVo> sysStaffOrgVos = sysStaffOrgFeign.getSysStaffOrgListByStaffSid(staffSid).getData(); // List<SysStaffOrgVo> sysStaffOrgVos = sysStaffOrgFeign.getSysStaffOrgListByStaffSid(staffSid).getData();
sysStaffOrgVos.stream().forEach(s -> { // sysStaffOrgVos.stream().forEach(s -> {
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(s.getOrgSid()).getData(); // SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(s.getOrgSid()).getData();
String psid = sysOrganizationVo.getPsid(); // String psid = sysOrganizationVo.getPsid();
if (psid.equals(createOrgSid)) { // if (psid.equals(createOrgSid)) {
String orgName = s.getOrgName(); // String orgName = s.getOrgName();
r.setDeptName(orgName); // r.setDeptName(orgName);
} // }
}); // });
}); // });
} // }
return records; return records;
} }

Loading…
Cancel
Save