From 2cc4db49a313f507aae655db6c830dd086d9c134 Mon Sep 17 00:00:00 2001 From: V26772074 Date: Tue, 24 Sep 2024 09:43:28 +0800 Subject: [PATCH] update --- .../service/IndicatorStatisticsService.java | 3 + .../impl/IndicatorStatisticsServiceImpl.java | 56 ++++++++++++++++--- .../mapper/BiddingProjectSubscribeMapper.xml | 18 +++++- .../IndicatorStatisticsController.java | 6 ++ .../model/dto/IndicatorStatisticsDto.java | 27 ++++++++- 5 files changed, 98 insertions(+), 12 deletions(-) diff --git a/jnpf-tendering-biz/src/main/java/jnpf/service/IndicatorStatisticsService.java b/jnpf-tendering-biz/src/main/java/jnpf/service/IndicatorStatisticsService.java index d5d3563..934eaa3 100644 --- a/jnpf-tendering-biz/src/main/java/jnpf/service/IndicatorStatisticsService.java +++ b/jnpf-tendering-biz/src/main/java/jnpf/service/IndicatorStatisticsService.java @@ -6,4 +6,7 @@ public interface IndicatorStatisticsService { IndicatorStatisticsDto.ProjectsNumberResponse projectsNumber(IndicatorStatisticsDto.ProjectsNumberParam param); IndicatorStatisticsDto.MoneyAndProjectsNumberResponse moneyAndProjectsNumber(IndicatorStatisticsDto.MoneyAndProjectsNumberParam param); + + IndicatorStatisticsDto.MyToDoListResponse myToDoList(); + } diff --git a/jnpf-tendering-biz/src/main/java/jnpf/service/impl/IndicatorStatisticsServiceImpl.java b/jnpf-tendering-biz/src/main/java/jnpf/service/impl/IndicatorStatisticsServiceImpl.java index 029aa7f..58a3ad3 100644 --- a/jnpf-tendering-biz/src/main/java/jnpf/service/impl/IndicatorStatisticsServiceImpl.java +++ b/jnpf-tendering-biz/src/main/java/jnpf/service/impl/IndicatorStatisticsServiceImpl.java @@ -8,13 +8,17 @@ import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import jnpf.base.DictionaryDataApi; +import jnpf.base.UserInfo; import jnpf.base.entity.DictionaryDataEntity; +import jnpf.entity.BiddingProjectSubscribeChild; import jnpf.entity.Bidding_project_statisticsEntity; +import jnpf.enump.BiddingProjectEnum; import jnpf.exception.DataException; import jnpf.model.dto.IndicatorStatisticsDto; import jnpf.permission.model.authorize.AuthorizeConditionModel; import jnpf.service.BiddingProjectSubscribeService; import jnpf.service.CustomAuthService; +import jnpf.service.IBiddingProjectSubscribeChildService; import jnpf.service.IndicatorStatisticsService; import jnpf.util.ServletUtil; import jnpf.util.UserProvider; @@ -27,6 +31,7 @@ import java.time.LocalDateTime; import java.time.YearMonth; import java.time.format.DateTimeFormatter; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; @@ -36,6 +41,7 @@ import java.util.stream.Collectors; public class IndicatorStatisticsServiceImpl implements IndicatorStatisticsService { private final BiddingProjectSubscribeService biddingProjectSubscribeService; + private final IBiddingProjectSubscribeChildService iBiddingProjectSubscribeChildService; private final CustomAuthService customAuthService; private final UserProvider userProvider; private final DictionaryDataApi dictionaryDataApi; @@ -105,8 +111,8 @@ public class IndicatorStatisticsServiceImpl implements IndicatorStatisticsServic LocalDateTime month = LocalDateTimeUtil.parse(param.getCorresponding(), "yyyy-MM"); YearMonth yearMonth = YearMonth.from(month); int i = yearMonth.lengthOfMonth(); - if (LocalDateTimeUtil.parse(LocalDateTimeUtil.format(LocalDateTime.now(), "yyyy-MM"), "yyyy-MM").isEqual(LocalDateTimeUtil.parse(param.getCorresponding(), "yyyy-MM"))){ - i=LocalDateTime.now().getDayOfMonth(); + if (LocalDateTimeUtil.parse(LocalDateTimeUtil.format(LocalDateTime.now(), "yyyy-MM"), "yyyy-MM").isEqual(LocalDateTimeUtil.parse(param.getCorresponding(), "yyyy-MM"))) { + i = LocalDateTime.now().getDayOfMonth(); } for (int day = 1; day <= i; day++) { IndicatorStatisticsDto.Indicator indicator = new IndicatorStatisticsDto.Indicator(); @@ -129,7 +135,7 @@ public class IndicatorStatisticsServiceImpl implements IndicatorStatisticsServic //校验时间格式 try { response.setCorresponding(LocalDateTimeUtil.parse(param.getCorresponding(), "yyyy")); - if (LocalDateTime.now().getYear()>LocalDateTimeUtil.parse(param.getCorresponding(), "yyyy").getYear()){ + if (LocalDateTime.now().getYear() > LocalDateTimeUtil.parse(param.getCorresponding(), "yyyy").getYear()) { value = 12; } } catch (Exception e) { @@ -161,7 +167,7 @@ public class IndicatorStatisticsServiceImpl implements IndicatorStatisticsServic } assert queryWhere != null; List dataList = biddingProjectSubscribeService.moneyAndProjectsNumber(param, queryWhere.getParamNameValuePairs(), queryWhere.getSqlSegment().replace("paramNameValuePairs.", "")); - checkMoneyAndProjectsNumberResult(param,dataList); + checkMoneyAndProjectsNumberResult(param, dataList); response.setDataList(dataList); return response; } @@ -181,8 +187,8 @@ public class IndicatorStatisticsServiceImpl implements IndicatorStatisticsServic // String classificationType = param.getClassificationType(); List oldNameList = dataList.stream().map(IndicatorStatisticsDto.MoneyAndProjectsNumberChild::getYName).collect(Collectors.toList()); - List newNameList=new ArrayList<>(); - switch (classificationType){ + List newNameList = new ArrayList<>(); + switch (classificationType) { case "1": break; @@ -207,9 +213,16 @@ public class IndicatorStatisticsServiceImpl implements IndicatorStatisticsServic .filter(fullName -> !oldNameList.contains(fullName)) .collect(Collectors.toList()); break; + case "5": + newNameList = dictionaryDataApi.getList("dc6b2542d94b5434fc61ec1d59592901") + .stream() + .map(DictionaryDataEntity::getFullName) + .filter(fullName -> !oldNameList.contains(fullName)) + .collect(Collectors.toList()); + break; } - if (CollectionUtil.isEmpty(newNameList)){ + if (CollectionUtil.isEmpty(newNameList)) { return; } for (String name : newNameList) { @@ -236,6 +249,17 @@ public class IndicatorStatisticsServiceImpl implements IndicatorStatisticsServic param.setCorresponding(yyyy); case "3": break; + case "4": + if (StrUtil.isBlank(param.getStartTime()) || StrUtil.isBlank(param.getEndTime())) { + throw new DataException("请传入开始及结束时间"); + } + try { + LocalDateTimeUtil.parse(param.getStartTime(), "yyyy-MM-dd HH:mm:ss"); + LocalDateTimeUtil.parse(param.getEndTime(), "yyyy-MM-dd HH:mm:ss"); + } catch (Exception e) { + throw new DataException("时间格式错误,应为yyyy-MM-dd HH:mm:ss"); + } + break; default: throw new DataException("查询类型错误: " + param.getQueryDateType()); } @@ -243,4 +267,22 @@ public class IndicatorStatisticsServiceImpl implements IndicatorStatisticsServic return response; } + + @Override + public IndicatorStatisticsDto.MyToDoListResponse myToDoList() { + IndicatorStatisticsDto.MyToDoListResponse response = new IndicatorStatisticsDto.MyToDoListResponse(); + //查询用户信息 + UserInfo userInfo = userProvider.get(); + //待办数量 + response.setTodoCount(iBiddingProjectSubscribeChildService.lambdaQuery() + .eq(BiddingProjectSubscribeChild::getUserId, userInfo.getUserId()) + .in(BiddingProjectSubscribeChild::getChildStatus, Arrays.asList(BiddingProjectEnum.ChildStatusEnum.PENDING_REVIEW.getCode(), BiddingProjectEnum.ChildStatusEnum.TO_BE_ARCHIVED.getCode(), BiddingProjectEnum.ChildStatusEnum.TO_BE_SUBMITTED.getCode(), BiddingProjectEnum.ChildStatusEnum.TO_BE_EDIT.getCode())) + .count() + ""); + //已办数量 + response.setAlreadyCount(iBiddingProjectSubscribeChildService.lambdaQuery() + .eq(BiddingProjectSubscribeChild::getUserId, userInfo.getUserId()) + .in(BiddingProjectSubscribeChild::getChildStatus, Arrays.asList(BiddingProjectEnum.ChildStatusEnum.RETURNED.getCode(), BiddingProjectEnum.ChildStatusEnum.ARCHIVED.getCode(), BiddingProjectEnum.ChildStatusEnum.PASS.getCode())) + .count() + ""); + return response; + } } diff --git a/jnpf-tendering-biz/src/main/resources/mapper/BiddingProjectSubscribeMapper.xml b/jnpf-tendering-biz/src/main/resources/mapper/BiddingProjectSubscribeMapper.xml index 17cfb63..5cdbfcf 100644 --- a/jnpf-tendering-biz/src/main/resources/mapper/BiddingProjectSubscribeMapper.xml +++ b/jnpf-tendering-biz/src/main/resources/mapper/BiddingProjectSubscribeMapper.xml @@ -161,16 +161,16 @@ diff --git a/jnpf-tendering-controller/src/main/java/jnpf/controller/IndicatorStatisticsController.java b/jnpf-tendering-controller/src/main/java/jnpf/controller/IndicatorStatisticsController.java index d25047f..d876cfe 100644 --- a/jnpf-tendering-controller/src/main/java/jnpf/controller/IndicatorStatisticsController.java +++ b/jnpf-tendering-controller/src/main/java/jnpf/controller/IndicatorStatisticsController.java @@ -41,5 +41,11 @@ public class IndicatorStatisticsController { return ActionResult.success(indicatorStatisticsService.moneyAndProjectsNumber(param)); } + @Operation(summary = "我的待办") + @GetMapping("/myToDoList") + public ActionResult myToDoList() { + return ActionResult.success(indicatorStatisticsService.myToDoList()); + } + } diff --git a/jnpf-tendering-entity/src/main/java/jnpf/model/dto/IndicatorStatisticsDto.java b/jnpf-tendering-entity/src/main/java/jnpf/model/dto/IndicatorStatisticsDto.java index 6b20b4d..fa4c002 100644 --- a/jnpf-tendering-entity/src/main/java/jnpf/model/dto/IndicatorStatisticsDto.java +++ b/jnpf-tendering-entity/src/main/java/jnpf/model/dto/IndicatorStatisticsDto.java @@ -50,24 +50,40 @@ public class IndicatorStatisticsDto { * y轴数据 */ private String yData; + /** + * 审批数量 + */ + private String spCount="0"; + /** + * 备案数量 + */ + private String baCount="0"; } @Data public static class MoneyAndProjectsNumberParam { /** - * 查询类型 1-本月 默认本月。2-当年。3-累计 + * 查询类型 1-本月 默认本月。2-当年。3-累计 4-自定义日期 */ private String queryDateType = "1"; /** - * 查询类型 1-所有(默认所有) 2-按组织形式分布 3-按事项分类分布 4-按招标方式分布 + * 查询类型 1-所有(默认所有) 2-按组织形式分布 3-按事项分类分布 4-按招标方式分布 5-招标代理统计 */ private String classificationType = "1"; /** * 权限控制 */ private String menuId; + //mapper查询使用 日期 private String corresponding; + + + /** + * 自定义日期查询使用 -开始时间 yyyy-MM-dd HH:mm:ss + */ + private String startTime; + private String endTime; } @Data @@ -94,4 +110,11 @@ public class IndicatorStatisticsDto { */ private String money; } + + + @Data + public static class MyToDoListResponse { + private String todoCount; + private String alreadyCount; + } }