|
|
|
|
@ -11,10 +11,7 @@ import com.biutag.core.AjaxResult;
|
|
|
|
|
import com.biutag.entity.system.Dept; |
|
|
|
|
import com.biutag.enums.RoleEnum; |
|
|
|
|
import com.biutag.lan.config.AdminThreadLocal; |
|
|
|
|
import com.biutag.lan.domain.Mail; |
|
|
|
|
import com.biutag.lan.domain.MailLabel; |
|
|
|
|
import com.biutag.lan.domain.MailSource; |
|
|
|
|
import com.biutag.lan.domain.Work; |
|
|
|
|
import com.biutag.lan.domain.*; |
|
|
|
|
import com.biutag.lan.domain.bo.MailQuery; |
|
|
|
|
import com.biutag.lan.domain.vo.MailExcel; |
|
|
|
|
import com.biutag.lan.domain.vo.QueryMailVo; |
|
|
|
|
@ -22,6 +19,7 @@ import com.biutag.lan.domain.vo.WorkVo;
|
|
|
|
|
import com.biutag.lan.enums.WorkType; |
|
|
|
|
import com.biutag.lan.flow.FlowNameEnum; |
|
|
|
|
import com.biutag.lan.flow.FlowNodeEnum; |
|
|
|
|
import com.biutag.lan.mapper.MailCategoryMapper; |
|
|
|
|
import com.biutag.lan.mapper.MailLabelMapper; |
|
|
|
|
import com.biutag.lan.mapper.MailMapper; |
|
|
|
|
import com.biutag.lan.mapper.WorkMapper; |
|
|
|
|
@ -49,6 +47,9 @@ public class WorkService extends ServiceImpl<WorkMapper, Work> {
|
|
|
|
|
@Resource |
|
|
|
|
private MailLabelMapper mailLabelMapper; |
|
|
|
|
|
|
|
|
|
@Resource |
|
|
|
|
private MailCategoryMapper mailCategoryMapper; |
|
|
|
|
|
|
|
|
|
@Resource |
|
|
|
|
private WorkMapper workMapper; |
|
|
|
|
|
|
|
|
|
@ -314,21 +315,10 @@ public class WorkService extends ServiceImpl<WorkMapper, Work> {
|
|
|
|
|
.le(StrUtil.isNotBlank(mailQuery.getMailTimeStartEnd()), "TO_CHAR(m.mail_time, 'YYYY-MM-DD')", mailQuery.getMailTimeStartEnd()) |
|
|
|
|
.eq(StrUtil.isNotBlank(mailQuery.getSource()), "m.source", mailQuery.getSource()) |
|
|
|
|
.eq(StrUtil.isNotBlank(mailQuery.getMailLevel()), "m.mail_level", mailQuery.getMailLevel()) |
|
|
|
|
.eq(StrUtil.isNotBlank(mailQuery.getMailCategory()), "m.mail_category", mailQuery.getMailCategory()) |
|
|
|
|
.eq(StrUtil.isNotBlank(mailQuery.getMailState()), "m.mail_state", mailQuery.getMailState()) |
|
|
|
|
.eq(StrUtil.isNotBlank(mailQuery.getFlowKey()), "m.flow_key", mailQuery.getFlowKey()); |
|
|
|
|
if (StrUtil.isNotBlank(mailQuery.getDeptId())) { |
|
|
|
|
Dept dept = deptMapper.selectById(mailQuery.getDeptId()); |
|
|
|
|
switch (dept.getLevel()) { |
|
|
|
|
case 1: |
|
|
|
|
break; |
|
|
|
|
case 2: |
|
|
|
|
queryWrapper.eq("m.second_dept_id", dept.getId()); |
|
|
|
|
break; |
|
|
|
|
case 3: |
|
|
|
|
queryWrapper.eq("m.three_dept_id", dept.getId()); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
mailCategorySearch(mailQuery, queryWrapper); |
|
|
|
|
deptSearch(mailQuery, queryWrapper); |
|
|
|
|
if (StrUtil.isNotBlank(mailQuery.getMailLabels())) { |
|
|
|
|
List<String> labelIds = mailQuery.handleMailLabels(); |
|
|
|
|
for (String labelId : labelIds) { |
|
|
|
|
@ -371,6 +361,39 @@ public class WorkService extends ServiceImpl<WorkMapper, Work> {
|
|
|
|
|
return result; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void mailCategorySearch(MailQuery mailQuery, QueryWrapper<Mail> queryWrapper) { |
|
|
|
|
if(StrUtil.isNotBlank(mailQuery.getMailCategory())){ |
|
|
|
|
MailCategory mailCategory = mailCategoryMapper.selectById(mailQuery.getMailCategory()); |
|
|
|
|
switch (mailCategory.getLevel()){ |
|
|
|
|
case 1: |
|
|
|
|
queryWrapper.eq("m.mail_first_category", mailCategory.getName()); |
|
|
|
|
break; |
|
|
|
|
case 2: |
|
|
|
|
queryWrapper.eq("m.mail_second_category", mailCategory.getName()); |
|
|
|
|
break; |
|
|
|
|
case 3: |
|
|
|
|
queryWrapper.eq("m.mail_three_category", mailCategory.getName()); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void deptSearch(MailQuery mailQuery, QueryWrapper<Mail> queryWrapper) { |
|
|
|
|
if (StrUtil.isNotBlank(mailQuery.getDeptId())) { |
|
|
|
|
Dept dept = deptMapper.selectById(mailQuery.getDeptId()); |
|
|
|
|
switch (dept.getLevel()) { |
|
|
|
|
case 1: |
|
|
|
|
break; |
|
|
|
|
case 2: |
|
|
|
|
queryWrapper.eq("m.second_dept_id", dept.getId()); |
|
|
|
|
break; |
|
|
|
|
case 3: |
|
|
|
|
queryWrapper.eq("m.three_dept_id", dept.getId()); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void export(HttpServletResponse response, String ids) throws IOException { |
|
|
|
|
List<String> data = JSON.parseArray(ids, String.class); |
|
|
|
|
|
|
|
|
|
@ -389,24 +412,12 @@ public class WorkService extends ServiceImpl<WorkMapper, Work> {
|
|
|
|
|
.le(StrUtil.isNotBlank(mailQuery.getMailTimeStartEnd()), "TO_CHAR(m.mail_time, 'YYYY-MM-DD')", mailQuery.getMailTimeStartEnd()) |
|
|
|
|
.eq(StrUtil.isNotBlank(mailQuery.getSource()), "m.source", mailQuery.getSource()) |
|
|
|
|
.eq(StrUtil.isNotBlank(mailQuery.getMailLevel()), "m.mail_level", mailQuery.getMailLevel()) |
|
|
|
|
.eq(StrUtil.isNotBlank(mailQuery.getMailCategory()), "m.mail_category", mailQuery.getMailCategory()) |
|
|
|
|
// .eq(StrUtil.isNotBlank(todoQuery.getAppealState()), "m.appeal_state", todoQuery.getAppealState())
|
|
|
|
|
.eq("m.satisfaction_status", "不满意") |
|
|
|
|
.or() |
|
|
|
|
.eq("m.verify_feedback", "不满意"); |
|
|
|
|
if (StrUtil.isNotBlank(mailQuery.getDeptId())) { |
|
|
|
|
Dept dept = deptMapper.selectById(mailQuery.getDeptId()); |
|
|
|
|
switch (dept.getLevel()) { |
|
|
|
|
case 1: |
|
|
|
|
break; |
|
|
|
|
case 2: |
|
|
|
|
queryWrapper.eq("m.second_dept_id", dept.getId()); |
|
|
|
|
break; |
|
|
|
|
case 3: |
|
|
|
|
queryWrapper.eq("m.three_dept_id", dept.getId()); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
mailCategorySearch(mailQuery, queryWrapper); |
|
|
|
|
deptSearch(mailQuery, queryWrapper); |
|
|
|
|
roleCheck(queryWrapper); |
|
|
|
|
if (StrUtil.isNotBlank(mailQuery.getContactField()) && StrUtil.isNotBlank(mailQuery.getContactFieldValue())) { |
|
|
|
|
switch (mailQuery.getContactField()) { |
|
|
|
|
|