Commit 67796a54 authored by 胡秀武's avatar 胡秀武

胡秀武:模型列表树导航树

parent 02ab876e
package com.pms.ocp;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.ConfigurationPropertiesScan;
import org.springframework.context.annotation.Bean;
import springfox.documentation.oas.annotations.EnableOpenApi;
import java.util.TimeZone;
/**
* @Auther: wangjian
* @Date: 2022/2/21 15:48
* @Description:启动类
*/
@SpringBootApplication
@MapperScan(basePackages = {"com.pms.ocp.mapper"})
@ConfigurationPropertiesScan
@EnableOpenApi
public class StartApp {
public static void main(String[] args) {
TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));
SpringApplication.run(StartApp.class, args);
}
/**
* 注册分页插件
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.POSTGRE_SQL));
return interceptor;
}
}
...@@ -139,6 +139,11 @@ public class Model { ...@@ -139,6 +139,11 @@ public class Model {
*/ */
@TableField(exist = false) @TableField(exist = false)
private String requirementCode; private String requirementCode;
/**
* 异动详情
*/
private Integer operStatus;
} }
// create table ocp_model_base // create table ocp_model_base
......
...@@ -56,10 +56,6 @@ public class TreeNode implements Serializable { ...@@ -56,10 +56,6 @@ public class TreeNode implements Serializable {
return companyCode == null ? "":companyCode; return companyCode == null ? "":companyCode;
} }
public Integer getModelPromotion() {
return modelPromotion == null ? -1 : modelPromotion;
}
public String getModelGroupCode() { public String getModelGroupCode() {
return modelGroupCode == null ? "":modelGroupCode; return modelGroupCode == null ? "":modelGroupCode;
} }
......
...@@ -2,9 +2,11 @@ package com.pms.ocp.service.impl; ...@@ -2,9 +2,11 @@ package com.pms.ocp.service.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.pms.ocp.mapper.ModelAcceptMapper; import com.pms.ocp.mapper.ModelAcceptMapper;
import com.pms.ocp.mapper.ModelAuditMapper;
import com.pms.ocp.mapper.ModelCheckMapper; import com.pms.ocp.mapper.ModelCheckMapper;
import com.pms.ocp.mapper.ModelMapper; import com.pms.ocp.mapper.ModelMapper;
import com.pms.ocp.model.entity.Model; import com.pms.ocp.model.entity.Model;
import com.pms.ocp.model.entity.ModelAudit;
import com.pms.ocp.model.entity.ModelPropInfo; import com.pms.ocp.model.entity.ModelPropInfo;
import com.pms.ocp.model.entity.PropInfo; import com.pms.ocp.model.entity.PropInfo;
import com.pms.ocp.model.vo.ModelAcceptListVo; import com.pms.ocp.model.vo.ModelAcceptListVo;
...@@ -18,10 +20,8 @@ import org.springframework.stereotype.Service; ...@@ -18,10 +20,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.LinkedList; import java.time.LocalDateTime;
import java.util.List; import java.util.*;
import java.util.Objects;
import java.util.UUID;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -45,6 +45,9 @@ public class ModelAcceptServiceImpl implements ModelAcceptService { ...@@ -45,6 +45,9 @@ public class ModelAcceptServiceImpl implements ModelAcceptService {
@Resource @Resource
private ModelCheckMapper modelCheckMapper; private ModelCheckMapper modelCheckMapper;
@Resource
private ModelAuditMapper modelAuditMapper;
/** /**
* 模型验收列表 * 模型验收列表
...@@ -110,6 +113,9 @@ public class ModelAcceptServiceImpl implements ModelAcceptService { ...@@ -110,6 +113,9 @@ public class ModelAcceptServiceImpl implements ModelAcceptService {
public ResponseVO<List<ModelPropInfo>> modelAcceptPass(Model model) { public ResponseVO<List<ModelPropInfo>> modelAcceptPass(Model model) {
//新增至模型基础表 //新增至模型基础表
modelMapper.insert(model); modelMapper.insert(model);
//新增至模型事记表
ModelAudit modelAudit = pageModelAudit(model);
modelAuditMapper.insert(modelAudit);
//更行属性信息到模型属性基础表 //更行属性信息到模型属性基础表
String code = model.getModelCode() == null ? UUID.randomUUID().toString() : model.getModelCode(); String code = model.getModelCode() == null ? UUID.randomUUID().toString() : model.getModelCode();
List<ModelPropInfo> modelPropInfoList = modelCheckMapper.selectModelOwnerProp(code); List<ModelPropInfo> modelPropInfoList = modelCheckMapper.selectModelOwnerProp(code);
...@@ -121,7 +127,6 @@ public class ModelAcceptServiceImpl implements ModelAcceptService { ...@@ -121,7 +127,6 @@ public class ModelAcceptServiceImpl implements ModelAcceptService {
for (PropInfo propInfo : propList) { for (PropInfo propInfo : propList) {
if (propInfo.getPropCode() != null && propInfo.getPropName() != null) { if (propInfo.getPropCode() != null && propInfo.getPropName() != null) {
needPropList.add(propInfo); needPropList.add(propInfo);
} }
} }
if (CollectionUtil.isNotEmpty(needPropList)){ if (CollectionUtil.isNotEmpty(needPropList)){
...@@ -137,6 +142,21 @@ public class ModelAcceptServiceImpl implements ModelAcceptService { ...@@ -137,6 +142,21 @@ public class ModelAcceptServiceImpl implements ModelAcceptService {
return ResponseVO.ok(); return ResponseVO.ok();
} }
private ModelAudit pageModelAudit(Model model) {
ModelAudit modelAudit = new ModelAudit();
modelAudit.setAuditCtime(LocalDateTime.now());
modelAudit.setAuditType(0);
modelAudit.setOperStatus(model.getOperStatus());
modelAudit.setApplyUserId(model.getModelUserId());
modelAudit.setAuditCompanyCode(model.getOwnerCompanyCode());
modelAudit.setAuditUserName(model.getModelUserName());
modelAudit.setModelCode(model.getModelCode());
modelAudit.setApplyVersion(model.getModelVersion());
modelAudit.setObjId(UUID.randomUUID().toString());
modelAudit.setPreModelVersion(model.getModelVersion());
return modelAudit;
}
/** /**
* 比较是否相似 * 比较是否相似
* *
......
package com.pms.ocp.service.impl; package com.pms.ocp.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.pms.ocp.common.constants.Constant; import com.pms.ocp.common.constants.Constant;
import com.pms.ocp.common.utils.TreeUtils; import com.pms.ocp.common.utils.TreeUtils;
...@@ -90,7 +91,7 @@ public class ModelSubscribeServiceImpl implements ModelSubscribeService { ...@@ -90,7 +91,7 @@ public class ModelSubscribeServiceImpl implements ModelSubscribeService {
* 服务列表导航树 * 服务列表导航树
* @author huxiuwu * @author huxiuwu
* @date 2022/3/11 * @date 2022/3/11
* *low
* @return pms.ocp.model.vo.ResponseVO * @return pms.ocp.model.vo.ResponseVO
**/ **/
@Override @Override
...@@ -101,33 +102,52 @@ public class ModelSubscribeServiceImpl implements ModelSubscribeService { ...@@ -101,33 +102,52 @@ public class ModelSubscribeServiceImpl implements ModelSubscribeService {
List<TreeNode> modelList = modelSubscribeMapper.getModelList(searchCondition); List<TreeNode> modelList = modelSubscribeMapper.getModelList(searchCondition);
//统推自建分组 //统推自建分组
Map<Integer,List<TreeNode>> modelGroupMap = modelList.stream().collect(Collectors.groupingBy(TreeNode::getModelPromotion)); Map<Integer,List<TreeNode>> modelGroupMap = modelList.stream().collect(Collectors.groupingBy(TreeNode::getModelPromotion));
//设置统推自建类型
List<TreeNode> unifiedPushListOne = setPromotionType(modelGroupMap.get(Constant.Number.ZERO),0);
List<TreeNode> unifiedPushGroups = setPromotionType(modelGroupList, 0);
//统推list //统推list
List<TreeNode> unifiedPushList = setChildren(HandlingNullPointers(modelGroupMap.get(Constant.Number.ZERO)),modelGroupList ,(org, group) -> List<TreeNode> unifiedPushList = setChildren(unifiedPushListOne,unifiedPushGroups ,(org, group) ->
org.getModelGroupCode().equals(group.getModelGroupCode()),0); org.getModelGroupCode().equals(group.getModelGroupCode()));
List<TreeNode> newModelGroupList = TreeUtils.build(unifiedPushList); List<TreeNode> newModelGroupList = TreeUtils.build(unifiedPushList);
modelNavigationVO.setUnifiedPush(newModelGroupList); modelNavigationVO.setUnifiedPush(newModelGroupList);
List<TreeNode> selfModelBuildList = setChildren(HandlingNullPointers(modelGroupMap.get(Constant.Number.ONE)),modelGroupList ,(org, group) -> //在树上挂自建
org.getModelGroupCode().equals(group.getModelGroupCode()),1); List<TreeNode> selfOne = setPromotionType(modelGroupMap.get(Constant.Number.ZERO), 1);
List<TreeNode> selfGroups = setPromotionType(modelGroupList, 1);
List<TreeNode> selfModelBuildList = setChildren(selfOne,selfGroups ,(org, group) ->
org.getModelGroupCode().equals(group.getModelGroupCode()));
//查询组织机构表 //查询组织机构表
List<TreeNode> organList = modelSubscribeMapper.selectOrganData(); List<TreeNode> organList = modelSubscribeMapper.selectOrganData();
List<TreeNode> orgList = setPromotionType(organList, 1);
//将分类放入各自所属于的组织机构下 //将分类放入各自所属于的组织机构下
List<TreeNode> groupOrgList = setChildren(selfModelBuildList, organList,(org, group) -> List<TreeNode> groupOrgList = setChildren(selfModelBuildList, orgList,(org, group) ->
org.getCompanyCode().equals(group.getCompanyCode()),1 org.getCompanyCode().equals(group.getCompanyCode())
); );
List<TreeNode> selfBuildList = TreeUtils.build(groupOrgList); List<TreeNode> selfBuildList = TreeUtils.build(groupOrgList);
modelNavigationVO.setSelfBuilt(selfBuildList); modelNavigationVO.setSelfBuilt(selfBuildList);
return ResponseVO.ok(modelNavigationVO); return ResponseVO.ok(modelNavigationVO);
} }
/** /**
* 处理空指针问题 * 设置统推自建
* @author huxiuwu * @author huxiuwu
* @date 2022/4/6 * @date 2022/4/18
* @param list * @param treeNodes
* @param promotion
* @return List<com.pms.ocp.model.entity.TreeNode> * @return List<com.pms.ocp.model.entity.TreeNode>
**/ **/
private List<TreeNode> HandlingNullPointers(List<TreeNode> list){ private List<TreeNode> setPromotionType(List<TreeNode> treeNodes,int promotion) {
return list == null ? new LinkedList<>() : list; List<TreeNode> list = new LinkedList<>();
if (CollectionUtil.isNotEmpty(treeNodes)){
for (TreeNode treeNode : treeNodes) {
TreeNode node = new TreeNode();
BeanUtils.copyProperties(treeNode,node);
node.setModelPromotion(promotion);
list.add(node);
}
} }
return list;
}
/** /**
* 合并list设置子类 * 合并list设置子类
* @param modelGroupList * @param modelGroupList
...@@ -135,11 +155,10 @@ public class ModelSubscribeServiceImpl implements ModelSubscribeService { ...@@ -135,11 +155,10 @@ public class ModelSubscribeServiceImpl implements ModelSubscribeService {
* @param function * @param function
* @return * @return
*/ */
private List<TreeNode> setChildren(List<TreeNode> modelGroupList, List<TreeNode> organList, BiFunction<TreeNode,TreeNode,Boolean> function ,int modelPromotion) { private List<TreeNode> setChildren(List<TreeNode> modelGroupList, List<TreeNode> organList, BiFunction<TreeNode,TreeNode,Boolean> function) {
organList.forEach(org -> { organList.forEach(org -> {
modelGroupList.forEach(group -> { modelGroupList.forEach(group -> {
if (function.apply(org, group) ) { if (function.apply(org, group) ) {
group.setModelPromotion(modelPromotion);
if (org.getChildren() == null) { if (org.getChildren() == null) {
org.setChildren(new LinkedList<>()); org.setChildren(new LinkedList<>());
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment