|
|
@ -1,22 +1,36 @@ |
|
|
|
package com.qs.serve.modules.seeyon.service.impl; |
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
import com.qs.serve.common.model.dto.PageVo; |
|
|
|
import com.qs.serve.common.util.AuthContextUtils; |
|
|
|
import com.qs.serve.common.util.PageUtil; |
|
|
|
import com.qs.serve.modules.seeyon.entity.dto.TodoVoQuery; |
|
|
|
import com.qs.serve.modules.seeyon.entity.vo.TodoVO; |
|
|
|
import com.qs.serve.modules.seeyon.enums.CheckTypeEnum; |
|
|
|
import com.qs.serve.modules.seeyon.mapper.CommonCheckMapper; |
|
|
|
import com.qs.serve.modules.seeyon.service.CommonCheckService; |
|
|
|
import com.qs.serve.modules.sys.service.SysUserService; |
|
|
|
import com.qs.serve.modules.tbs.common.TbsCostApplyState; |
|
|
|
import com.qs.serve.modules.tbs.entity.TbsBudget; |
|
|
|
import com.qs.serve.modules.tbs.entity.TbsBudgetChange; |
|
|
|
import com.qs.serve.modules.tbs.entity.TbsCostApply; |
|
|
|
import com.qs.serve.modules.tbs.mapper.TbsBudgetChangeMapper; |
|
|
|
import com.qs.serve.modules.tbs.mapper.TbsBudgetMapper; |
|
|
|
import com.qs.serve.modules.tbs.mapper.TbsCostApplyMapper; |
|
|
|
import com.qs.serve.modules.tzc.common.TzcPolicyStatus; |
|
|
|
import com.qs.serve.modules.tzc.entity.TzcPolicy; |
|
|
|
import com.qs.serve.modules.tzc.mapper.TzcPolicyMapper; |
|
|
|
import com.qs.serve.modules.tzc.service.TzcPolicyService; |
|
|
|
import com.qs.serve.modules.vtb.entity.VtbVerification; |
|
|
|
import com.qs.serve.modules.vtb.mapper.VtbVerificationMapper; |
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Map; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
/** |
|
|
@ -31,6 +45,112 @@ public class CommonCheckServiceImpl implements CommonCheckService { |
|
|
|
private final SysUserService sysUserService; |
|
|
|
private final TbsCostApplyMapper costApplyMapper; |
|
|
|
private final TzcPolicyService tzcPolicyService; |
|
|
|
private final TzcPolicyMapper tzcPolicyMapper; |
|
|
|
private final VtbVerificationMapper verificationMapper; |
|
|
|
private final TbsBudgetMapper tbsBudgetMapper; |
|
|
|
private final TbsBudgetChangeMapper tbsBudgetChangeMapper; |
|
|
|
private final CommonCheckMapper commonCheckMapper; |
|
|
|
|
|
|
|
@Override |
|
|
|
public PageVo<TodoVO> pageCallback(TodoVoQuery query) { |
|
|
|
int pageSize = PageUtil.getPageSize(); |
|
|
|
int startRow = PageUtil.getStartRow(); |
|
|
|
query.setUserId(AuthContextUtils.getSysUserId()); |
|
|
|
query.setPageSize(pageSize); |
|
|
|
query.setStartRow(startRow); |
|
|
|
PageVo<TodoVO> pageVo = new PageVo<>(); |
|
|
|
Long count = commonCheckMapper.countCallback(query); |
|
|
|
List<TodoVO> todoVOList; |
|
|
|
if(count>0){ |
|
|
|
todoVOList = commonCheckMapper.pageCallbackList(query); |
|
|
|
this.initTodoTargetInfo(todoVOList); |
|
|
|
}else { |
|
|
|
todoVOList = new ArrayList<>(); |
|
|
|
} |
|
|
|
|
|
|
|
pageVo.initPageByTotal(count); |
|
|
|
pageVo.setList(todoVOList); |
|
|
|
return pageVo; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 初始化TargetInfo |
|
|
|
* @param todoVOList |
|
|
|
*/ |
|
|
|
private void initTodoTargetInfo(List<TodoVO> todoVOList) { |
|
|
|
Map<String,List<TodoVO>> todoMap = todoVOList.stream().collect(Collectors.groupingBy(TodoVO::getTargetType)); |
|
|
|
|
|
|
|
List<TodoVO> costToDo = todoMap.get(CheckTypeEnum.CostBill.name()); |
|
|
|
List<TodoVO> policyToDo = todoMap.get(CheckTypeEnum.ReleasePolicy.name()); |
|
|
|
List<TodoVO> verificationToDo = todoMap.get(CheckTypeEnum.CheckCost.name()); |
|
|
|
List<TodoVO> budgetToDo = todoMap.get(CheckTypeEnum.budgetAdjust.name()); |
|
|
|
List<TodoVO> budgetChangeToDo = todoMap.get(CheckTypeEnum.budgetAdjust2.name()); |
|
|
|
|
|
|
|
if(CollUtil.isNotEmpty(costToDo)){ |
|
|
|
List<String> ids = getTodoIds(costToDo); |
|
|
|
List<TbsCostApply> dataList = costApplyMapper.selectBatchIds(ids); |
|
|
|
for (TodoVO todoVO : costToDo) { |
|
|
|
for (TbsCostApply item : dataList) { |
|
|
|
if(item.getId().toString().equals(todoVO.getTargetId())){ |
|
|
|
todoVO.setTargetInfo(item); |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if(CollUtil.isNotEmpty(policyToDo)){ |
|
|
|
List<String> ids = getTodoIds(policyToDo); |
|
|
|
List<TzcPolicy> dataList = tzcPolicyMapper.selectBatchIds(ids); |
|
|
|
for (TodoVO todoVO : costToDo) { |
|
|
|
for (TzcPolicy item : dataList) { |
|
|
|
if(item.getId().toString().equals(todoVO.getTargetId())){ |
|
|
|
todoVO.setTargetInfo(item); |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if(CollUtil.isNotEmpty(verificationToDo)){ |
|
|
|
List<String> ids = getTodoIds(verificationToDo); |
|
|
|
List<VtbVerification> dataList = verificationMapper.selectBatchIds(ids); |
|
|
|
for (TodoVO todoVO : costToDo) { |
|
|
|
for (VtbVerification item : dataList) { |
|
|
|
if(item.getId().toString().equals(todoVO.getTargetId())){ |
|
|
|
todoVO.setTargetInfo(item); |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if(CollUtil.isNotEmpty(budgetToDo)){ |
|
|
|
List<String> ids = getTodoIds(budgetToDo); |
|
|
|
List<TbsBudget> dataList = tbsBudgetMapper.selectBatchIds(ids); |
|
|
|
for (TodoVO todoVO : costToDo) { |
|
|
|
for (TbsBudget item : dataList) { |
|
|
|
if(item.getId().toString().equals(todoVO.getTargetId())){ |
|
|
|
todoVO.setTargetInfo(item); |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if(CollUtil.isNotEmpty(budgetChangeToDo)){ |
|
|
|
List<String> ids = getTodoIds(budgetChangeToDo); |
|
|
|
List<TbsBudgetChange> dataList = tbsBudgetChangeMapper.selectBatchIds(ids); |
|
|
|
for (TodoVO todoVO : costToDo) { |
|
|
|
for (TbsBudgetChange item : dataList) { |
|
|
|
if(item.getId().toString().equals(todoVO.getTargetId())){ |
|
|
|
todoVO.setTargetInfo(item); |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public List<TodoVO> listCallbackList() { |
|
|
@ -72,4 +192,16 @@ public class CommonCheckServiceImpl implements CommonCheckService { |
|
|
|
return result; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 提取todo列表的targetId |
|
|
|
* @param todoList |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
private List<String> getTodoIds(List<TodoVO> todoList){ |
|
|
|
if(todoList!=null&&todoList.size()>0){ |
|
|
|
return todoList.stream().map(TodoVO::getTargetId).collect(Collectors.toList()); |
|
|
|
} |
|
|
|
return null; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|