From fd0c371b5782922ab60447d585754b085c742170 Mon Sep 17 00:00:00 2001 From: lucky Date: Tue, 25 Jan 2022 11:43:21 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E6=B5=8B=E6=8E=A5=E5=8F=A3,=E4=BF=AE?= =?UTF-8?q?=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../persist/dao/ProTaskDetailDao.java | 3 ++- .../service/ProjectFinanceService.java | 23 +++++++++++++++---- .../ccsens/ptccsens/util/BasicsCodeError.java | 1 + .../resources/mapper_dao/PluFinanceDao.xml | 6 ++--- 4 files changed, 25 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/ccsens/ptccsens/persist/dao/ProTaskDetailDao.java b/src/main/java/com/ccsens/ptccsens/persist/dao/ProTaskDetailDao.java index 92555fa..2b7ddef 100644 --- a/src/main/java/com/ccsens/ptccsens/persist/dao/ProTaskDetailDao.java +++ b/src/main/java/com/ccsens/ptccsens/persist/dao/ProTaskDetailDao.java @@ -1,8 +1,9 @@ package com.ccsens.ptccsens.persist.dao; +import com.ccsens.ptccsens.persist.mapper.ProTaskDetailMapper; import org.apache.ibatis.annotations.Param; -public interface ProTaskDetailDao { +public interface ProTaskDetailDao extends ProTaskDetailMapper { /** * 根据任务详情id查找项目id * @param taskDetailId 任务ID diff --git a/src/main/java/com/ccsens/ptccsens/service/ProjectFinanceService.java b/src/main/java/com/ccsens/ptccsens/service/ProjectFinanceService.java index f844c38..d08ce8d 100644 --- a/src/main/java/com/ccsens/ptccsens/service/ProjectFinanceService.java +++ b/src/main/java/com/ccsens/ptccsens/service/ProjectFinanceService.java @@ -7,6 +7,7 @@ import cn.hutool.core.util.ObjectUtil; import com.ccsens.ptccsens.bean.dto.ProjectFinanceDto; import com.ccsens.ptccsens.bean.po.PluFinance; import com.ccsens.ptccsens.bean.po.PluFinanceAppendBudget; +import com.ccsens.ptccsens.bean.po.ProTaskDetail; import com.ccsens.ptccsens.bean.po.ProTaskPlugin; import com.ccsens.ptccsens.bean.vo.ProjectFinanceVo; import com.ccsens.ptccsens.persist.dao.ProMemberDao; @@ -59,9 +60,14 @@ public class ProjectFinanceService implements IProjectFinanceService{ List taskFinanceList = pluFinanceDao.queryAllByTaskId(param.getProjectId()); log.info("项目下的所有任务财务信息:{}",taskFinanceList); //查询项目下的总计 - projectFinanceInfo = pluFinanceDao.queryOfProjectTotal(param.getProjectId()); - log.info("项目的总计预算与奖金:{}",projectFinanceInfo); +// projectFinanceInfo = pluFinanceDao.queryOfProjectTotal(param.getProjectId()); +// log.info("项目的总计预算与奖金:{}",projectFinanceInfo); if (CollectionUtil.isNotEmpty(taskFinanceList)) { + //计算预算与奖金总计 + long budgetSum = taskFinanceList.stream().mapToLong(ProjectFinanceVo.TaskFinance::getBudget).sum(); + projectFinanceInfo.setBudget(budgetSum); + long bonusSum = taskFinanceList.stream().mapToLong(ProjectFinanceVo.TaskFinance::getBonus).sum(); + projectFinanceInfo.setBonus(bonusSum); projectFinanceInfo.setTaskFinanceList(new PageInfo(taskFinanceList)); } return projectFinanceInfo; @@ -69,6 +75,10 @@ public class ProjectFinanceService implements IProjectFinanceService{ @Override public void updateFinance(ProjectFinanceDto.UpdateFinance param, Long userId) { + ProTaskDetail proTaskDetail = proTaskDetailDao.selectByPrimaryKey(param.getTaskDetailId()); + if (ObjectUtil.isNull(proTaskDetail)) { + throw new BaseException(BasicsCodeError.TASK_DONT_EXIT); + } //如果任务没有关联财务条插件,则自动关联财务条插件 //TODO 根据插件code查询是否存在, code暂时写死 Integer num = pluginDao.queryFinancePlugin(param.getTaskDetailId(), "MP-TALL财务条"); @@ -95,11 +105,12 @@ public class ProjectFinanceService implements IProjectFinanceService{ updatePluFinance.setId(param.getTaskDetailId()); if (ObjectUtil.isNotNull(param.getBonus()) && 0 != param.getBonus()) { updatePluFinance.setBonus(param.getBonus()); + pluFinanceDao.updateByPrimaryKeySelective(updatePluFinance); } if (ObjectUtil.isNotNull(param.getBudget()) && 0!= param.getBudget()) { updatePluFinance.setBudget(param.getBudget()); + pluFinanceDao.updateByPrimaryKeySelective(updatePluFinance); } - pluFinanceDao.updateByPrimaryKeySelective(updatePluFinance); return; } //b.如果不存在,根据任务id新建一个财务信息 @@ -133,7 +144,10 @@ public class ProjectFinanceService implements IProjectFinanceService{ List needCheckByMeList = pluFinanceApplyDao.queryNeedCheckByMeOfTask(param.getTaskDetailId(),userId,projectId); return new PageInfo<>(needCheckByMeList); } - return null; + List needCheckByMeList = new ArrayList<>(); + ProjectFinanceVo.NeedCheckByMe needCheckByMe = new ProjectFinanceVo.NeedCheckByMe(); + needCheckByMeList.add(needCheckByMe); + return new PageInfo(needCheckByMeList); } @@ -178,6 +192,7 @@ public class ProjectFinanceService implements IProjectFinanceService{ Long userOfMemberId = memberDao.findUserOfMemberId(param.getProjectId(), userId); appendBudget.setMemberId(userOfMemberId); appendBudget.setOperator(userId); + appendBudget.setAddBudget(param.getAppendBudget()); appendBudgetMapper.insertSelective(appendBudget); } } diff --git a/src/main/java/com/ccsens/ptccsens/util/BasicsCodeError.java b/src/main/java/com/ccsens/ptccsens/util/BasicsCodeError.java index f0cf558..db77a59 100644 --- a/src/main/java/com/ccsens/ptccsens/util/BasicsCodeError.java +++ b/src/main/java/com/ccsens/ptccsens/util/BasicsCodeError.java @@ -38,6 +38,7 @@ public class BasicsCodeError extends CodeError { public static final Code TOTAL_MONEY_ERROR = new Code(526,"申请总金额和发票总金额不一致,请检查修改后重新提交。", true); public static final Code CHECK_NOT_FOUND = new Code(527,"没有找到对应的审核记录,请确认后重新提交。", true); public static final Code CHECK_EXISTED = new Code(528,"您已经提交过审核结果了,无需重复提交。", true); + public static final Code TASK_DONT_EXIT = new Code(530,"任务不存在请检查后重试", true); public static final Code FINANCE_NOT_FOUND = new Code(529,"没有找到任务对应的财务预算信息,请修改后重新提交申请。", true); diff --git a/src/main/resources/mapper_dao/PluFinanceDao.xml b/src/main/resources/mapper_dao/PluFinanceDao.xml index 4e742b8..1254623 100644 --- a/src/main/resources/mapper_dao/PluFinanceDao.xml +++ b/src/main/resources/mapper_dao/PluFinanceDao.xml @@ -84,7 +84,7 @@ - + @@ -94,10 +94,10 @@ pf.id AS fid, pf.budget, pf.bonus, - pf.task_id, + pf.task_id AS taskId, td.`name`, fab.id AS fabId, - fab.add_budget, + fab.add_budget AS addBudget, fa.money, fa.finance_id AS faId FROM