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 {
*/
@TableField(exist = false)
private String requirementCode;
/**
* 异动详情
*/
private Integer operStatus;
}
// create table ocp_model_base
......
......@@ -56,10 +56,6 @@ public class TreeNode implements Serializable {
return companyCode == null ? "":companyCode;
}
public Integer getModelPromotion() {
return modelPromotion == null ? -1 : modelPromotion;
}
public String getModelGroupCode() {
return modelGroupCode == null ? "":modelGroupCode;
}
......
......@@ -2,9 +2,11 @@ package com.pms.ocp.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.pms.ocp.mapper.ModelAcceptMapper;
import com.pms.ocp.mapper.ModelAuditMapper;
import com.pms.ocp.mapper.ModelCheckMapper;
import com.pms.ocp.mapper.ModelMapper;
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.PropInfo;
import com.pms.ocp.model.vo.ModelAcceptListVo;
......@@ -18,10 +20,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.LinkedList;
import java.util.List;
import java.util.Objects;
import java.util.UUID;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
/**
......@@ -45,6 +45,9 @@ public class ModelAcceptServiceImpl implements ModelAcceptService {
@Resource
private ModelCheckMapper modelCheckMapper;
@Resource
private ModelAuditMapper modelAuditMapper;
/**
* 模型验收列表
......@@ -110,6 +113,9 @@ public class ModelAcceptServiceImpl implements ModelAcceptService {
public ResponseVO<List<ModelPropInfo>> modelAcceptPass(Model model) {
//新增至模型基础表
modelMapper.insert(model);
//新增至模型事记表
ModelAudit modelAudit = pageModelAudit(model);
modelAuditMapper.insert(modelAudit);
//更行属性信息到模型属性基础表
String code = model.getModelCode() == null ? UUID.randomUUID().toString() : model.getModelCode();
List<ModelPropInfo> modelPropInfoList = modelCheckMapper.selectModelOwnerProp(code);
......@@ -121,7 +127,6 @@ public class ModelAcceptServiceImpl implements ModelAcceptService {
for (PropInfo propInfo : propList) {
if (propInfo.getPropCode() != null && propInfo.getPropName() != null) {
needPropList.add(propInfo);
}
}
if (CollectionUtil.isNotEmpty(needPropList)){
......@@ -137,6 +142,21 @@ public class ModelAcceptServiceImpl implements ModelAcceptService {
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;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.pms.ocp.common.constants.Constant;
import com.pms.ocp.common.utils.TreeUtils;
......@@ -90,7 +91,7 @@ public class ModelSubscribeServiceImpl implements ModelSubscribeService {
* 服务列表导航树
* @author huxiuwu
* @date 2022/3/11
*
*low
* @return pms.ocp.model.vo.ResponseVO
**/
@Override
......@@ -101,33 +102,52 @@ public class ModelSubscribeServiceImpl implements ModelSubscribeService {
List<TreeNode> modelList = modelSubscribeMapper.getModelList(searchCondition);
//统推自建分组
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<TreeNode> unifiedPushList = setChildren(HandlingNullPointers(modelGroupMap.get(Constant.Number.ZERO)),modelGroupList ,(org, group) ->
org.getModelGroupCode().equals(group.getModelGroupCode()),0);
List<TreeNode> unifiedPushList = setChildren(unifiedPushListOne,unifiedPushGroups ,(org, group) ->
org.getModelGroupCode().equals(group.getModelGroupCode()));
List<TreeNode> newModelGroupList = TreeUtils.build(unifiedPushList);
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> orgList = setPromotionType(organList, 1);
//将分类放入各自所属于的组织机构下
List<TreeNode> groupOrgList = setChildren(selfModelBuildList, organList,(org, group) ->
org.getCompanyCode().equals(group.getCompanyCode()),1
List<TreeNode> groupOrgList = setChildren(selfModelBuildList, orgList,(org, group) ->
org.getCompanyCode().equals(group.getCompanyCode())
);
List<TreeNode> selfBuildList = TreeUtils.build(groupOrgList);
modelNavigationVO.setSelfBuilt(selfBuildList);
return ResponseVO.ok(modelNavigationVO);
}
/**
* 处理空指针问题
* 设置统推自建
* @author huxiuwu
* @date 2022/4/6
* @param list
* @date 2022/4/18
* @param treeNodes
* @param promotion
* @return List<com.pms.ocp.model.entity.TreeNode>
**/
private List<TreeNode> HandlingNullPointers(List<TreeNode> list){
return list == null ? new LinkedList<>() : list;
private List<TreeNode> setPromotionType(List<TreeNode> treeNodes,int promotion) {
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设置子类
* @param modelGroupList
......@@ -135,11 +155,10 @@ public class ModelSubscribeServiceImpl implements ModelSubscribeService {
* @param function
* @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 -> {
modelGroupList.forEach(group -> {
if (function.apply(org, group) ) {
group.setModelPromotion(modelPromotion);
if (org.getChildren() == null) {
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