|
@@ -7,10 +7,12 @@ import com.redxun.common.base.db.BaseService;
|
|
|
import com.redxun.common.base.db.PageHelper;
|
|
|
import com.redxun.common.base.search.QueryFilter;
|
|
|
import com.redxun.common.service.impl.SuperServiceImpl;
|
|
|
+import com.redxun.knowledge.entity.dao.Knowledge;
|
|
|
import com.redxun.knowledge.entity.dao.KnowledgeApprove;
|
|
|
import com.redxun.knowledge.entity.vo.KnowledgeApprovalListVo;
|
|
|
import com.redxun.knowledge.entity.vo.KnowledgeCategoryAdminVo;
|
|
|
import com.redxun.knowledge.mapper.KnowledgeApproveMapper;
|
|
|
+import com.redxun.knowledge.mapper.KnowledgeMapper;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
@@ -30,6 +32,9 @@ public class KnowledgeApproveServiceImpl extends SuperServiceImpl<KnowledgeAppro
|
|
|
@Autowired
|
|
|
private KnowledgeCategoryServiceImpl knowledgeCategoryService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private KnowledgeMapper knowledgeMapper;
|
|
|
+
|
|
|
@Override
|
|
|
public BaseDao<KnowledgeApprove> getRepository() {
|
|
|
return knowledgeApproveMapper;
|
|
@@ -42,12 +47,12 @@ public class KnowledgeApproveServiceImpl extends SuperServiceImpl<KnowledgeAppro
|
|
|
*/
|
|
|
public IPage findAllKnowledgeApprove(QueryFilter filter) {
|
|
|
Map<String, Object> params = PageHelper.constructParams(filter);
|
|
|
- IPage page = knowledgeApproveMapper.findAllKnowledgeApprove(filter.getPage(), filter.getParams(), params);
|
|
|
+ List<KnowledgeApprovalListVo> allKnowledgeApprove = knowledgeApproveMapper.findAllKnowledgeApprove(filter.getParams(), params);
|
|
|
// 查询出全部记录
|
|
|
- List<KnowledgeApprovalListVo> knowledgeApprovalListVos = page.getRecords();
|
|
|
+ // List<KnowledgeApprovalListVo> knowledgeApprovalListVos = page.getRecords();
|
|
|
// 根据知识Id进行数据分组
|
|
|
Map<String, List<KnowledgeApprovalListVo>> result =
|
|
|
- knowledgeApprovalListVos.stream().collect(Collectors.groupingBy(KnowledgeApprovalListVo::getKnowledgerId));
|
|
|
+ allKnowledgeApprove.stream().collect(Collectors.groupingBy(KnowledgeApprovalListVo::getKnowledgerId));
|
|
|
// 结果集
|
|
|
List<KnowledgeApprovalListVo> knowledgeApprovalListVoList = new ArrayList<>();
|
|
|
// 遍历每组的数据
|
|
@@ -55,6 +60,11 @@ public class KnowledgeApproveServiceImpl extends SuperServiceImpl<KnowledgeAppro
|
|
|
for (Map.Entry<String, List<KnowledgeApprovalListVo>> entry : entries) {
|
|
|
List<KnowledgeApprovalListVo> value = entry.getValue();
|
|
|
for (int i = 0; i < value.size(); i++) {
|
|
|
+ // 如果是最终审核通过,直接放入记录
|
|
|
+ if (value.get(i).getApprovalStatus() == 5 && value.get(i).getIsFinal() == 1){
|
|
|
+ knowledgeApprovalListVoList.add(value.get(i));
|
|
|
+ break;
|
|
|
+ }
|
|
|
// 判断审批结果是否为null(如果审批结果没有null,证明审批已结束;如果等于0,证明审批没通过)
|
|
|
if (value.get(i).getResult() == null || value.get(i).getResult() == 0) {
|
|
|
if (i != 0) {
|
|
@@ -64,19 +74,58 @@ public class KnowledgeApproveServiceImpl extends SuperServiceImpl<KnowledgeAppro
|
|
|
}
|
|
|
// 把该记录加到结果集中
|
|
|
knowledgeApprovalListVoList.add(value.get(i));
|
|
|
+ // 如果节点为终审节点,审核状态为3(待最终审核)
|
|
|
+ if (value.get(i).getIsFinal() == 1 && value.get(i).getApprovalStatus() != 5){
|
|
|
+ knowledgeMapper.updateApprovalStatus(value.get(i).getKnowledgerId(),3);
|
|
|
+ }
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
// 放入知识分类信息
|
|
|
- knowledgeApprovalListVoList.forEach(e -> {
|
|
|
+ List<KnowledgeApprovalListVo> collect = knowledgeApprovalListVoList.stream().
|
|
|
+ sorted((t1, t2) -> t2.getCreateTime().compareTo(t1.getCreateTime())).collect(Collectors.toList());
|
|
|
+ collect.forEach(e -> {
|
|
|
String categoryId = e.getCategoryId();
|
|
|
KnowledgeCategoryAdminVo knowledgeCategoryAdminVo = knowledgeCategoryService.findAllParentByCategoryId(categoryId);
|
|
|
e.setKnowledgeCategoryAdminVo(knowledgeCategoryAdminVo);
|
|
|
});
|
|
|
// 重新组装分页数据
|
|
|
- page.setRecords(knowledgeApprovalListVoList);
|
|
|
- page.setTotal(knowledgeApprovalListVoList.size());
|
|
|
- return page;
|
|
|
+ IPage pages = filter.getPage();
|
|
|
+ pages.setRecords(collect);
|
|
|
+ pages.setTotal(collect.size());
|
|
|
+ return pages;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 知识审核
|
|
|
+ * @param entity
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public int update(KnowledgeApprove entity) {
|
|
|
+ KnowledgeApprove knowledgeApprove = knowledgeApproveMapper.selectById(entity.getPkId());
|
|
|
+ // 如果审核节点不是终审节点且知识未通过,修改知识状态为节点驳回 2
|
|
|
+ if (knowledgeApprove.getIsFinal() == 0 && entity.getResult() == 0){
|
|
|
+ Knowledge knowledge = new Knowledge();
|
|
|
+ knowledge.setPkId(knowledgeApprove.getKnowledgerId());
|
|
|
+ knowledge.setApprovalStatus(2);
|
|
|
+ knowledgeMapper.updateById(knowledge);
|
|
|
+ }
|
|
|
+ // 如果审核节点是终审节点且知识未通过,修改知识状态为最终驳回 4
|
|
|
+ if (knowledgeApprove.getIsFinal() == 1 && entity.getResult() == 0){
|
|
|
+ Knowledge knowledge = new Knowledge();
|
|
|
+ knowledge.setPkId(knowledgeApprove.getKnowledgerId());
|
|
|
+ knowledge.setApprovalStatus(4);
|
|
|
+ knowledgeMapper.updateById(knowledge);
|
|
|
+ }
|
|
|
+ // 如果审核节点是终审节点且知识通过,修改知识状态为最终通过 5
|
|
|
+ if (knowledgeApprove.getIsFinal() == 1 && entity.getResult() == 1){
|
|
|
+ Knowledge knowledge = new Knowledge();
|
|
|
+ knowledge.setPkId(knowledgeApprove.getKnowledgerId());
|
|
|
+ knowledge.setApprovalStatus(5);
|
|
|
+ knowledgeMapper.updateById(knowledge);
|
|
|
+ }
|
|
|
+ return this.getRepository().updateById(entity);
|
|
|
}
|
|
|
}
|