|
|
|
@ -643,7 +643,9 @@ public class WorkService extends ServiceImpl<WorkMapper, Work> { |
|
|
|
// 排序 根据申诉状态排序,依次展示“申诉中、已申诉、未申诉”状态
|
|
|
|
// 排序 根据申诉状态排序,依次展示“申诉中、已申诉、未申诉”状态
|
|
|
|
queryWrapper.orderByAsc("CASE WHEN ma.appeal_state = '1' THEN 1 WHEN ma.appeal_state = '2' or ma.appeal_state = '3' THEN 2 ELSE 3 END") |
|
|
|
queryWrapper.orderByAsc("CASE WHEN ma.appeal_state = '1' THEN 1 WHEN ma.appeal_state = '2' or ma.appeal_state = '3' THEN 2 ELSE 3 END") |
|
|
|
.orderByDesc("m.mail_time") |
|
|
|
.orderByDesc("m.mail_time") |
|
|
|
.groupBy("m.id, ma.appeal_state"); |
|
|
|
.groupBy("m.id, ma.appeal_state, m.contact_name, m.contact_phone, m.contact_id_card, m.contact_sex, m.content, M.SOURCE, M.mail_time,M.mail_state," + |
|
|
|
|
|
|
|
"M.mail_category, M.mail_level, M.three_dept_id, M.three_dept_name, M.flow_key, M.flow_before_name, M.mail_labels, M.flow_name, M.current_operator," + |
|
|
|
|
|
|
|
"M.flow_limited_last_handler_time, M.extension_flag, M.extension_days"); |
|
|
|
Page<QueryMailVo> result = baseMapper.selectDissatisfiedPage(page, queryWrapper); |
|
|
|
Page<QueryMailVo> result = baseMapper.selectDissatisfiedPage(page, queryWrapper); |
|
|
|
for (QueryMailVo workVo : result.getRecords()) { |
|
|
|
for (QueryMailVo workVo : result.getRecords()) { |
|
|
|
workVo.setNowDeptId(AdminThreadLocal.getDeptId()); |
|
|
|
workVo.setNowDeptId(AdminThreadLocal.getDeptId()); |
|
|
|
@ -673,6 +675,61 @@ public class WorkService extends ServiceImpl<WorkMapper, Work> { |
|
|
|
return result; |
|
|
|
return result; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public Page<QueryMailVo> listDissatisfiedByTodo(Page<Mail> page, MailQuery mailQuery) { |
|
|
|
|
|
|
|
QueryWrapper<Mail> queryWrapper = new QueryWrapper<Mail>() |
|
|
|
|
|
|
|
// 必须是已办结的件才可以申诉
|
|
|
|
|
|
|
|
.eq("m.mail_state", "completion") |
|
|
|
|
|
|
|
.ge(StrUtil.isNotBlank(mailQuery.getMailTimeStart()), "m.mail_time", mailQuery.getMailTimeStart()) |
|
|
|
|
|
|
|
.le(StrUtil.isNotBlank(mailQuery.getMailTimeEnd()), "m.mail_time", mailQuery.getMailTimeEnd()) |
|
|
|
|
|
|
|
.eq(StrUtil.isNotBlank(mailQuery.getSource()), "m.source", mailQuery.getSource()) |
|
|
|
|
|
|
|
.eq(StrUtil.isNotBlank(mailQuery.getMailLevel()), "m.mail_level", mailQuery.getMailLevel()) |
|
|
|
|
|
|
|
.and(query -> { |
|
|
|
|
|
|
|
query.eq("mm.satisfied", AppConstants.FALSE).or().eq("ma.appeal_state", AppealState.SUCCESS.getValue()); |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
if (StrUtil.isNotBlank(mailQuery.getAppealState())) { |
|
|
|
|
|
|
|
if (mailQuery.getAppealState().equals(AppealState.UN_APPEAL.getValue())) |
|
|
|
|
|
|
|
queryWrapper.nested(q -> q.eq("ma.appeal_state", AppealState.UN_APPEAL.getValue()).or().isNull("ma.appeal_state")); |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
queryWrapper.eq("ma.appeal_state", mailQuery.getAppealState()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
mailCategorySearch(mailQuery, queryWrapper); |
|
|
|
|
|
|
|
deptSearch(mailQuery, queryWrapper); |
|
|
|
|
|
|
|
roleCheck(queryWrapper); |
|
|
|
|
|
|
|
if (StrUtil.isNotBlank(mailQuery.getContactField()) && StrUtil.isNotBlank(mailQuery.getContactFieldValue())) { |
|
|
|
|
|
|
|
switch (mailQuery.getContactField()) { |
|
|
|
|
|
|
|
case "name": |
|
|
|
|
|
|
|
queryWrapper.like("w.contact_name", mailQuery.getContactFieldValue()); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "idCard": |
|
|
|
|
|
|
|
queryWrapper.like("w.contact_id_card", mailQuery.getContactFieldValue()); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "phone": |
|
|
|
|
|
|
|
queryWrapper.like("w.contact_phone", mailQuery.getContactFieldValue()); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
// 排序 根据申诉状态排序,依次展示“申诉中、已申诉、未申诉”状态
|
|
|
|
|
|
|
|
queryWrapper.orderByAsc("CASE WHEN ma.appeal_state = '1' THEN 1 WHEN ma.appeal_state = '2' or ma.appeal_state = '3' THEN 2 ELSE 3 END") |
|
|
|
|
|
|
|
.orderByDesc("m.mail_time") |
|
|
|
|
|
|
|
.groupBy("m.id, ma.appeal_state, m.contact_name, m.contact_phone, m.contact_id_card, m.contact_sex, m.content, M.SOURCE, M.mail_time,M.mail_state," + |
|
|
|
|
|
|
|
"M.mail_category, M.mail_level, M.three_dept_id, M.three_dept_name, M.flow_key, M.flow_before_name, M.mail_labels, M.flow_name, M.current_operator," + |
|
|
|
|
|
|
|
"M.flow_limited_last_handler_time, M.extension_flag, M.extension_days"); |
|
|
|
|
|
|
|
if (AdminThreadLocal.getRoleId().equals(RoleEnum.SECOND_DEPT_CLASSES.getRoleId())) { |
|
|
|
|
|
|
|
queryWrapper.eq("ma.step", "1"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (AdminThreadLocal.getRoleId().equals(RoleEnum.MUNICIPAL_DEPT_CLASSES.getRoleId())) { |
|
|
|
|
|
|
|
queryWrapper.eq("ma.step", "2"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (AdminThreadLocal.getRoleId().equals(RoleEnum.MUNICIPAL_CLASSES_LEADER.getRoleId())) { |
|
|
|
|
|
|
|
queryWrapper.eq("ma.step", "3").eq("ma.first_leader_emp_no", AdminThreadLocal.getEmpNo()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
Page<QueryMailVo> result = baseMapper.selectDissatisfiedPage(page, queryWrapper); |
|
|
|
|
|
|
|
for (QueryMailVo workVo : result.getRecords()) { |
|
|
|
|
|
|
|
workVo.setNowDeptId(AdminThreadLocal.getDeptId()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return result; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* 信件查询检查权限并显示 |
|
|
|
* 信件查询检查权限并显示 |
|
|
|
* 感谢信所有人都能查看 |
|
|
|
* 感谢信所有人都能查看 |
|
|
|
|