Browse Source

修改财务条查询审批接口

ptos
zy_Java 4 years ago
parent
commit
f79b909186
  1. 38
      src/main/java/com/ccsens/ptccsens/service/ProjectFinanceService.java
  2. 82
      src/main/java/com/ccsens/ptccsens/service/TallService.java
  3. 2
      src/main/resources/mapper_dao/FinanceDao.xml

38
src/main/java/com/ccsens/ptccsens/service/ProjectFinanceService.java

@ -160,22 +160,34 @@ public class ProjectFinanceService implements IProjectFinanceService{
@Override
public PageInfo<ProjectFinanceVo.NeedCheckByMe> 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<ProjectFinanceVo.NeedCheckByMe> needCheckByMeList = pluFinanceApplyDao.queryNeedCheckByMeOfProject(param.getTaskDetailId(),userId);
return new PageInfo<>(needCheckByMeList);
}
//查询任务的项目id
Long projectId = proTaskDetailDao.projectIdByTaskDetailId(param.getTaskDetailId());
List<ProjectFinanceVo.NeedCheckByMe> needCheckByMeList = pluFinanceApplyDao.queryNeedCheckByMeOfTask(param.getTaskDetailId(),userId,projectId);
//TODO 项目没有加财务信息(暂时不知道怎么加),所以没有财务信息的暂时当做项目处理
if (ObjectUtil.isNull(pluFinance) || 0 == pluFinance.getType()) {
PageHelper.startPage(param.getPageNum(),param.getPageSize());
List<ProjectFinanceVo.NeedCheckByMe> needCheckByMeList = pluFinanceApplyDao.queryNeedCheckByMeOfProject(param.getTaskDetailId(),userId);
return new PageInfo<>(needCheckByMeList);
}else {
PageHelper.startPage(param.getPageNum(), param.getPageSize());
List<ProjectFinanceVo.NeedCheckByMe> needCheckByMeList = pluFinanceApplyDao.queryNeedCheckByMeOfTask(param.getTaskDetailId(), userId, projectId);
return new PageInfo<>(needCheckByMeList);
}
List<ProjectFinanceVo.NeedCheckByMe> needCheckByMeList = new ArrayList<>();
ProjectFinanceVo.NeedCheckByMe needCheckByMe = new ProjectFinanceVo.NeedCheckByMe();
needCheckByMeList.add(needCheckByMe);
return new PageInfo<ProjectFinanceVo.NeedCheckByMe>(needCheckByMeList);
// if (ObjectUtil.isNotNull(pluFinance)) {
// if (0 == pluFinance.getType()) {
// PageHelper.startPage(param.getPageNum(),param.getPageSize());
// List<ProjectFinanceVo.NeedCheckByMe> needCheckByMeList = pluFinanceApplyDao.queryNeedCheckByMeOfProject(param.getTaskDetailId(),userId);
// return new PageInfo<>(needCheckByMeList);
// }else {
// PageHelper.startPage(param.getPageNum(), param.getPageSize());
// List<ProjectFinanceVo.NeedCheckByMe> needCheckByMeList = pluFinanceApplyDao.queryNeedCheckByMeOfTask(param.getTaskDetailId(), userId, projectId);
// return new PageInfo<>(needCheckByMeList);
// }
// }
// List<ProjectFinanceVo.NeedCheckByMe> needCheckByMeList = new ArrayList<>();
// ProjectFinanceVo.NeedCheckByMe needCheckByMe = new ProjectFinanceVo.NeedCheckByMe();
// needCheckByMeList.add(needCheckByMe);
// return new PageInfo<ProjectFinanceVo.NeedCheckByMe>(needCheckByMeList);
}

82
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<TallTaskVo.QueryTask> 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<Long> roleIds = new ArrayList<>();
roleIds.add(param.getRoleId());
//TODO 季度未实现
List<TallTaskVo.QueryTask> regularTask = taskDetailDao.queryRegularTask(roleIds, param.getTimeUnit(), param.getTimeNode(), param.getQueryType(), query, timeFormat);
//如果该时段没有任务向上或向下补充
if (CollectionUtil.isEmpty(regularTask)) {
List<TallTaskVo.QueryTask> replenishTask = taskDetailDao.continueQueryTask(roleIds, param.getTimeUnit(), param.getTimeNode(), param.getQueryType(), query, timeFormat);
Map<String, List<TallTaskVo.QueryTask>> taskMap = replenishTask.stream().collect(Collectors.groupingBy(task -> new SimpleDateFormat("yyyy-MM-dd").format(new Date(task.getPlanStart()))));
List<String> 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<TallTaskVo.QueryTask> 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 查找财务条的信息
}
});
}
});
}
}
}
}

2
src/main/resources/mapper_dao/FinanceDao.xml

@ -17,7 +17,7 @@
</insert>
<select id="getPrepareByTaskId" resultType="com.ccsens.ptccsens.bean.vo.FinanceVo$FinancePrepare">
select f.id as financeId, (f.budget+ifNull(sum(b.add_budget),0)) as budge, f.bonus from t_plu_finance f
select f.id as financeId, (f.budget+ifNull(sum(b.add_budget),0)) as budget, f.bonus from t_plu_finance f
left join t_plu_finance_append_budget b on f.id = b.finance_id and b.rec_status = 0
where f.task_id = #{taskId} and f.rec_status = 0
group by f.id

Loading…
Cancel
Save