diff --git a/src/main/java/com/ccsens/ptccsens/bean/vo/ProjectFinanceVo.java b/src/main/java/com/ccsens/ptccsens/bean/vo/ProjectFinanceVo.java index 7b259b4..6c2b508 100644 --- a/src/main/java/com/ccsens/ptccsens/bean/vo/ProjectFinanceVo.java +++ b/src/main/java/com/ccsens/ptccsens/bean/vo/ProjectFinanceVo.java @@ -53,12 +53,12 @@ public class ProjectFinanceVo { private Long submitTime; @ApiModelProperty("审查人和当前记录的关联id") private Long financeCheckId; - @ApiModelProperty("当前状态") + @ApiModelProperty("当前状态(0未审核 1已通过 2驳回)") private Byte applyType; } @Data - @ApiModel("查看自己需要审批的申请-返参") + @ApiModel("查看项目下的财务信息-返参") public static class FinanceOfProject { @ApiModelProperty("任务id") private Long taskDetailId; 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..13b6889 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财务条"); @@ -92,14 +102,15 @@ public class ProjectFinanceService implements IProjectFinanceService{ //a.如果存在,直接修改预算或奖金 if (ObjectUtil.isNotNull(pluFinance)) { PluFinance updatePluFinance = new PluFinance(); - updatePluFinance.setId(param.getTaskDetailId()); + updatePluFinance.setId(param.getTaskFinanceId()); 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/application.yml b/src/main/resources/application.yml index 2fb38e5..c3b11fb 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: dev - include: common, util-dev + active: test + include: common, util-test 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