From 9f8bf9e5a958c627685d6a0f48801affc230fbdb Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Thu, 19 Oct 2023 10:26:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=AC=A0=E6=AC=BE=E5=AE=A2?= =?UTF-8?q?=E6=88=B7=E5=A4=87=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../messageurgeList/MessageUrgeListQuery.java | 6 + .../MessageUrgeListMapper.java | 2 +- .../MessageUrgeListService.java | 159 +++++++++++++++++- .../ScheduledMessageService.java | 2 +- 4 files changed, 161 insertions(+), 8 deletions(-) diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messageurgeList/MessageUrgeListQuery.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messageurgeList/MessageUrgeListQuery.java index a863654..5230038 100644 --- a/message-center-api/src/main/java/com/yxt/messagecenter/api/messageurgeList/MessageUrgeListQuery.java +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messageurgeList/MessageUrgeListQuery.java @@ -10,4 +10,10 @@ import lombok.Data; */ @Data public class MessageUrgeListQuery implements Query { + + private String startTime; + private String endTime; + private String applyName; //发起人 + private String useTime; //审批用时 + private String sysCount; //系统催办次数 } diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageurgeList/MessageUrgeListMapper.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageurgeList/MessageUrgeListMapper.java index bc000c6..6db6974 100644 --- a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageurgeList/MessageUrgeListMapper.java +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageurgeList/MessageUrgeListMapper.java @@ -21,7 +21,7 @@ import java.util.List; public interface MessageUrgeListMapper extends BaseMapper { List selecct(String taskId); - IPage urgeCount(IPage page); + List urgeCount(); int selCuiBanCount(@Param("taskId") String taskId, @Param("procInstId") String procInstId, @Param("count") int count); diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageurgeList/MessageUrgeListService.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageurgeList/MessageUrgeListService.java index 2a7a52b..fdcf4a1 100644 --- a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageurgeList/MessageUrgeListService.java +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageurgeList/MessageUrgeListService.java @@ -111,16 +111,46 @@ public class MessageUrgeListService extends MybatisBaseService pageBySubList(List list, int pagesize, int currentPage) { + int totalcount = list.size(); + int pagecount = 0; + List subList; + int m = totalcount % pagesize; + if (m > 0) { + pagecount = totalcount / pagesize + 1; + } else { + pagecount = totalcount / pagesize; + } + if (m == 0) { + subList = list.subList((currentPage - 1) * pagesize, pagesize * (currentPage)); + } else { + if (currentPage == pagecount) { + subList = list.subList((currentPage - 1) * pagesize, totalcount); + } else { + subList = list.subList((currentPage - 1) * pagesize, pagesize * (currentPage)); + } + } + return subList; + } + + /** * 催办统计 * * @return */ - public PagerVo urgeCount(PagerQuery pagerQuery) { + public PagerVo urgeCount(PagerQuery pq) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - IPage page = PagerUtil.queryToPage(pagerQuery); - IPage pagging = baseMapper.urgeCount(page); - List records = pagging.getRecords(); + PagerVo pagerVo = new PagerVo<>(); + MessageUrgeListQuery params = pq.getParams(); +// IPage page = PagerUtil.queryToPage(pagerQuery); +// IPage pagging = baseMapper.urgeCount(); +// List records = pagging.getRecords(); + List records = baseMapper.urgeCount(); records.removeAll(Collections.singleton(null)); if (!records.isEmpty()) { for (MessageUrgeListVo urgeVo : records) { @@ -219,8 +249,125 @@ public class MessageUrgeListService extends MybatisBaseService listStartTime = new ArrayList<>(); + if (StringUtils.isNotBlank(params.getStartTime()) && StringUtils.isBlank(params.getEndTime())) { + for (MessageUrgeListVo record : records) { + if (StringUtils.isNotBlank(record.getStartTime())) { + String recordStartTime = record.getStartTime(); + try { + Date parse1 = sdfDate.parse(recordStartTime); + Date parse2 = sdfDate.parse(params.getStartTime()); + if (!parse2.after(parse1)) { + listStartTime.add(record); + } + } catch (ParseException e) { + e.printStackTrace(); + } + } + } + } else if (StringUtils.isNotBlank(params.getEndTime()) && StringUtils.isBlank(params.getStartTime())) { + for (MessageUrgeListVo record : records) { + if (StringUtils.isNotBlank(record.getStartTime())) { + String recordStartTime = record.getStartTime(); + try { + Date parse1 = sdfDate.parse(recordStartTime); + Date parse2 = sdfDate.parse(params.getEndTime()); + if (!parse1.after(parse2)) { + listStartTime.add(record); + } + } catch (ParseException e) { + e.printStackTrace(); + } + } + } + } else if (StringUtils.isNotBlank(params.getStartTime()) && StringUtils.isNotBlank(params.getEndTime())) { + for (MessageUrgeListVo record : records) { + if (StringUtils.isNotBlank(record.getStartTime())) { + String recordStartTime = record.getStartTime(); + try { + Date parse1 = sdfDate.parse(recordStartTime); + Date parse2 = sdfDate.parse(params.getEndTime()); + Date parse3 = sdfDate.parse(params.getStartTime()); + if (!parse1.after(parse2) && !parse3.after(parse1)) { + listStartTime.add(record); + } + } catch (ParseException e) { + e.printStackTrace(); + } + } + } + } + List listName = new ArrayList<>(); + if (StringUtils.isNotBlank(params.getApplyName())) { + for (MessageUrgeListVo record : records) { + if (StringUtils.isNotBlank(record.getApplyName())) { + if (record.getApplyName().contains(params.getApplyName())) { + listName.add(record); + } + } + } + } + List listUseTime = new ArrayList<>(); + if (StringUtils.isNotBlank(params.getUseTime())) { + String useTime = params.getUseTime(); + int useIntTime = Integer.parseInt(useTime) * 60; + for (MessageUrgeListVo record : records) { + if (StringUtils.isNotBlank(record.getApprovalTime())) { + String approvalTime = record.getApprovalTime(); + String[] split = approvalTime.split("-"); + int i = Integer.parseInt(split[0]); + int i1 = Integer.parseInt(split[1]); + int i2 = Integer.parseInt(split[2]); + int time = i * 3600 + i1 * 60 + i2; + if (time >= useIntTime) { + listUseTime.add(record); + } + } + } + } + List listSysCount = new ArrayList<>(); + if (StringUtils.isNotBlank(params.getSysCount())) { + int i = Integer.parseInt(params.getSysCount()); + for (MessageUrgeListVo record : records) { + if (StringUtils.isNotBlank(record.getSysCount())) { + String sysCount = record.getSysCount(); + if (Integer.parseInt(sysCount) >= i) { + listSysCount.add(record); + } + } + } + } + listStartTime.removeAll(listName); + listStartTime.addAll(listName); + listStartTime.removeAll(listUseTime); + listStartTime.addAll(listUseTime); + listStartTime.removeAll(listSysCount); + listStartTime.addAll(listSysCount); + if (StringUtils.isBlank(params.getSysCount()) + && StringUtils.isBlank(params.getApplyName()) + && StringUtils.isBlank(params.getUseTime()) + && StringUtils.isBlank(params.getEndTime()) + && StringUtils.isBlank(params.getStartTime())) { + listStartTime.removeAll(Collections.singleton(null)); + listStartTime.addAll(records); + } + if (!listStartTime.isEmpty()) { + List lastList = this.pageBySubList(listStartTime, (int) pq.getSize(), (int) pq.getCurrent()); + lastList.sort((t1, t2) -> t2.getStartTime().compareTo(t1.getStartTime())); + pagerVo.setRecords(lastList); + pagerVo.setTotal(listStartTime.size()); + pagerVo.setCurrent(pq.getCurrent()); + pagerVo.setSize(pq.getSize()); + if (listStartTime.size() % pq.getSize() != 0L) { + pagerVo.setPages((listStartTime.size() / pq.getSize()) + 1); + } else { + pagerVo.setPages(listStartTime.size() / pq.getSize()); + } + pagerVo.setMsg("当前共查询到" + listStartTime.size() + "条记录"); + } } - PagerVo p = PagerUtil.pageToVo(pagging, null); - return p; + return pagerVo; } } diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageurgeList/ScheduledMessageService.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageurgeList/ScheduledMessageService.java index fcd7de4..4931a49 100644 --- a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageurgeList/ScheduledMessageService.java +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageurgeList/ScheduledMessageService.java @@ -46,7 +46,7 @@ public class ScheduledMessageService { //@Scheduled(cron = "0 0 0 * * ?") // @Scheduled(cron = "0 0/5 16 * * ?") - // @Scheduled(cron = "0/30 * * * * ?") //每30秒执行一次 +// @Scheduled(cron = "0/30 * * * * ?") //每30秒执行一次 public void remindMessage() { //查询规则 Date now = new Date();