From f79b90918639254420824fa4414e098b41cf5a55 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Fri, 28 Jan 2022 19:38:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B4=A2=E5=8A=A1=E6=9D=A1?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=AE=A1=E6=89=B9=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/ProjectFinanceService.java | 38 ++++++--- .../ccsens/ptccsens/service/TallService.java | 82 +++++++++++++++++++ src/main/resources/mapper_dao/FinanceDao.xml | 2 +- 3 files changed, 108 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/ccsens/ptccsens/service/ProjectFinanceService.java b/src/main/java/com/ccsens/ptccsens/service/ProjectFinanceService.java index ae0e37b..ecceb5d 100644 --- a/src/main/java/com/ccsens/ptccsens/service/ProjectFinanceService.java +++ b/src/main/java/com/ccsens/ptccsens/service/ProjectFinanceService.java @@ -160,22 +160,34 @@ public class ProjectFinanceService implements IProjectFinanceService{ @Override public PageInfo queryNeedCheckByMe(ProjectFinanceDto.QueryNeedCheckByMe param, Long userId) { PluFinance pluFinance = pluFinanceDao.queryByTaskId(param.getTaskDetailId()); + //查询任务的项目id + Long projectId = proTaskDetailDao.projectIdByTaskDetailId(param.getTaskDetailId()); log.info("根据任务id查询到的财务信息:{}",pluFinance); - PageHelper.startPage(param.getPageNum(),param.getPageSize()); - if (ObjectUtil.isNotNull(pluFinance)) { - if (0 == pluFinance.getType()) { - List needCheckByMeList = pluFinanceApplyDao.queryNeedCheckByMeOfProject(param.getTaskDetailId(),userId); - return new PageInfo<>(needCheckByMeList); - } - //查询任务的项目id - Long projectId = proTaskDetailDao.projectIdByTaskDetailId(param.getTaskDetailId()); - List needCheckByMeList = pluFinanceApplyDao.queryNeedCheckByMeOfTask(param.getTaskDetailId(),userId,projectId); + //TODO 项目没有加财务信息(暂时不知道怎么加),所以没有财务信息的暂时当做项目处理 + if (ObjectUtil.isNull(pluFinance) || 0 == pluFinance.getType()) { + PageHelper.startPage(param.getPageNum(),param.getPageSize()); + List needCheckByMeList = pluFinanceApplyDao.queryNeedCheckByMeOfProject(param.getTaskDetailId(),userId); + return new PageInfo<>(needCheckByMeList); + }else { + PageHelper.startPage(param.getPageNum(), param.getPageSize()); + List needCheckByMeList = pluFinanceApplyDao.queryNeedCheckByMeOfTask(param.getTaskDetailId(), userId, projectId); return new PageInfo<>(needCheckByMeList); } - List needCheckByMeList = new ArrayList<>(); - ProjectFinanceVo.NeedCheckByMe needCheckByMe = new ProjectFinanceVo.NeedCheckByMe(); - needCheckByMeList.add(needCheckByMe); - return new PageInfo(needCheckByMeList); +// if (ObjectUtil.isNotNull(pluFinance)) { +// if (0 == pluFinance.getType()) { +// PageHelper.startPage(param.getPageNum(),param.getPageSize()); +// List needCheckByMeList = pluFinanceApplyDao.queryNeedCheckByMeOfProject(param.getTaskDetailId(),userId); +// return new PageInfo<>(needCheckByMeList); +// }else { +// PageHelper.startPage(param.getPageNum(), param.getPageSize()); +// List needCheckByMeList = pluFinanceApplyDao.queryNeedCheckByMeOfTask(param.getTaskDetailId(), userId, projectId); +// return new PageInfo<>(needCheckByMeList); +// } +// } +// List needCheckByMeList = new ArrayList<>(); +// ProjectFinanceVo.NeedCheckByMe needCheckByMe = new ProjectFinanceVo.NeedCheckByMe(); +// needCheckByMeList.add(needCheckByMe); +// return new PageInfo(needCheckByMeList); } diff --git a/src/main/java/com/ccsens/ptccsens/service/TallService.java b/src/main/java/com/ccsens/ptccsens/service/TallService.java index 9b549e7..6e0fa64 100644 --- a/src/main/java/com/ccsens/ptccsens/service/TallService.java +++ b/src/main/java/com/ccsens/ptccsens/service/TallService.java @@ -607,4 +607,86 @@ public class TallService implements ITallService { } } + + /** + * 查看定期任务和任务下的插件展示信息 + * @param header token + * @param param 查询条件 + * @return 返回任务列表和对应的插件展示信息 + */ + @Override + public List queryRegularTaskAndPlugin(String header, TallTaskDto.QueryRegularTask param) { + //查找类型:0向上查找,1向下查找(默认),下查包含自己,上查不包含 + //根据参数配置sql语句 + String query = ""; + String timeFormat = Constant.timeFormat.get(param.getTimeUnit()); + String unit = Constant.timeUnit.get(param.getTimeUnit()); + if (0 == param.getQueryType()) { + query = "interval -" + param.getQueryNum() + " " + unit; + } else { + query += "interval " + (param.getQueryNum() - 1) + " " + unit; + } + + List roleIds = new ArrayList<>(); + roleIds.add(param.getRoleId()); + + //TODO 季度未实现 + List regularTask = taskDetailDao.queryRegularTask(roleIds, param.getTimeUnit(), param.getTimeNode(), param.getQueryType(), query, timeFormat); + //如果该时段没有任务向上或向下补充 + if (CollectionUtil.isEmpty(regularTask)) { + List replenishTask = taskDetailDao.continueQueryTask(roleIds, param.getTimeUnit(), param.getTimeNode(), param.getQueryType(), query, timeFormat); + Map> taskMap = replenishTask.stream().collect(Collectors.groupingBy(task -> new SimpleDateFormat("yyyy-MM-dd").format(new Date(task.getPlanStart())))); + List mapOfKey = new ArrayList<>(); + taskMap.forEach((key, val) -> mapOfKey.add(key)); + if (CollectionUtil.isNotEmpty(mapOfKey)) { + if (0 == param.getQueryType()) { + String max = Collections.max(mapOfKey); + queryPluginForTask(taskMap.get(max)); + return taskMap.get(max); + } else { + String min = Collections.min(mapOfKey); + queryPluginForTask(taskMap.get(min)); + return taskMap.get(min); + } + } + queryPluginForTask(replenishTask); + //查询任务下的检查人 + queryCheckerOfTask(replenishTask); + return replenishTask; + } + queryPluginForTask(regularTask); + //查询任务下的检查人 + queryCheckerOfTask(regularTask); + + //TODO 查询插件展示信息 + queryPluginShow(regularTask); + + return regularTask; + } + + private void queryPluginShow(List regularTask) { + if(CollectionUtil.isEmpty(regularTask)){ + return; + } + for (TallTaskVo.QueryTask queryTask : regularTask) { + if(CollectionUtil.isNotEmpty(queryTask.getPlugins())){ + queryTask.getPlugins().forEach(pluginInfos -> { + if(CollectionUtil.isNotEmpty(pluginInfos)){ + pluginInfos.forEach(plugin ->{ + //TODO 判断插件类型,暂时一个个的判断,之后应该是统一的接口 + Long pluginId = plugin.getPluginId(); + if (pluginId == 15L) { + //TODO 查找交付物的信息 + + } else if (pluginId == 18L) { + //TODO 查找财务条的信息 + + } + }); + } + }); + } + } + + } } diff --git a/src/main/resources/mapper_dao/FinanceDao.xml b/src/main/resources/mapper_dao/FinanceDao.xml index 06c2db4..bbdf972 100644 --- a/src/main/resources/mapper_dao/FinanceDao.xml +++ b/src/main/resources/mapper_dao/FinanceDao.xml @@ -17,7 +17,7 @@