Browse Source

客户查询导出功能优化

master
fanzongzhe 1 year ago
parent
commit
330839a85d
  1. 4
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempExportVo.java
  2. 14
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.xml
  3. 54
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java

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

@ -10,8 +10,8 @@ import lombok.Data;
*/ */
@Data @Data
public class CrmCustomerTempExportVo { public class CrmCustomerTempExportVo {
private String staffSid; // private String staffSid;
private String createOrgSid; // private String createOrgSid;
@ExportEntityMap(CnName = "序号", EnName = "rankNo") @ExportEntityMap(CnName = "序号", EnName = "rankNo")
private Integer rankNo; private Integer rankNo;
@ExportEntityMap(CnName = "创建日期", EnName = "createTime") @ExportEntityMap(CnName = "创建日期", EnName = "createTime")

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

@ -250,8 +250,19 @@
</where> </where>
</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 cct.*, SELECT
row_number() over(order by cct.id) as rankNo,
DATE_FORMAT(cct.createTime, '%Y-%m-%d') AS createTime,
cct.customerNo,
so.`name` as createOrgName,
st.name as staffName, st.name as staffName,
org.orgName as deptName,
cct.`name`,
cct.customerType,
cct.mobile,
cct.weixin,
cct.`level`,
DATE_FORMAT(cct.remind_day, '%Y-%m-%d') AS remind_day,
(SELECT COUNT(*) (SELECT COUNT(*)
FROM crm_vehicledemand cv FROM crm_vehicledemand cv
WHERE cct.sid = cv.customerSid WHERE cct.sid = cv.customerSid
@ -262,6 +273,7 @@
FROM crm_customer_temp cct FROM 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
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>

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

@ -1289,33 +1289,33 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
apply(StringUtils.isNotBlank(createEndDate), "date_format (cct.createTime,'%Y-%m-%d') <= date_format('" + createEndDate + "','%Y-%m-%d')" apply(StringUtils.isNotBlank(createEndDate), "date_format (cct.createTime,'%Y-%m-%d') <= date_format('" + createEndDate + "','%Y-%m-%d')"
); );
List<CrmCustomerTempExportVo> records = baseMapper.exportExcel(qw); List<CrmCustomerTempExportVo> records = baseMapper.exportExcel(qw);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
int id = 1; // int id = 1;
if (!records.isEmpty()) { // if (!records.isEmpty()) {
for (CrmCustomerTempExportVo record : records) { // for (CrmCustomerTempExportVo record : records) {
try { // try {
Date date = sdf.parse(record.getCreateTime()); // Date date = sdf.parse(record.getCreateTime());
record.setCreateTime(sdf.format(date)); // record.setCreateTime(sdf.format(date));
} catch (ParseException e) { // } catch (ParseException e) {
e.printStackTrace(); // e.printStackTrace();
} // }
String createOrgSid = record.getCreateOrgSid(); // String createOrgSid = record.getCreateOrgSid();
String staffSid = record.getStaffSid(); // String staffSid = record.getStaffSid();
String createOrgName = sysOrganizationFeign.fetchBySid(createOrgSid).getData().getName(); // String createOrgName = sysOrganizationFeign.fetchBySid(createOrgSid).getData().getName();
record.setCreateOrgName(createOrgName); // record.setCreateOrgName(createOrgName);
List<SysStaffOrgVo> sysStaffOrgVos = sysStaffOrgFeign.getSysStaffOrgListByStaffSid(staffSid).getData(); // List<SysStaffOrgVo> sysStaffOrgVos = sysStaffOrgFeign.getSysStaffOrgListByStaffSid(staffSid).getData();
for (SysStaffOrgVo sysStaffOrgVo : sysStaffOrgVos) { // for (SysStaffOrgVo sysStaffOrgVo : sysStaffOrgVos) {
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(sysStaffOrgVo.getOrgSid()).getData(); // SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(sysStaffOrgVo.getOrgSid()).getData();
String psid = sysOrganizationVo.getPsid(); // String psid = sysOrganizationVo.getPsid();
if (psid.equals(createOrgSid)) { // if (psid.equals(createOrgSid)) {
String orgName = sysStaffOrgVo.getOrgName(); // String orgName = sysStaffOrgVo.getOrgName();
record.setDeptName(orgName); // record.setDeptName(orgName);
} // }
} // }
record.setRankNo(id); // record.setRankNo(id);
id = id + 1; // id = id + 1;
} // }
} // }
return records; return records;
} }
} }
Loading…
Cancel
Save