|
|
@ -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<ProjectFinanceVo.TaskFinance> 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<ProjectFinanceVo.TaskFinance>(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<ProjectFinanceVo.NeedCheckByMe> needCheckByMeList = pluFinanceApplyDao.queryNeedCheckByMeOfTask(param.getTaskDetailId(),userId,projectId); |
|
|
|
return new PageInfo<>(needCheckByMeList); |
|
|
|
} |
|
|
|
return null; |
|
|
|
List<ProjectFinanceVo.NeedCheckByMe> needCheckByMeList = new ArrayList<>(); |
|
|
|
ProjectFinanceVo.NeedCheckByMe needCheckByMe = new ProjectFinanceVo.NeedCheckByMe(); |
|
|
|
needCheckByMeList.add(needCheckByMe); |
|
|
|
return new PageInfo<ProjectFinanceVo.NeedCheckByMe>(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); |
|
|
|
} |
|
|
|
} |
|
|
|