From 67796a54e73fc7ae1ca73800b2c05caac3865b97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E7=A7=80=E6=AD=A6?= <18621965254@yeah.net> Date: Mon, 18 Apr 2022 14:57:39 +0800 Subject: [PATCH] =?UTF-8?q?=E8=83=A1=E7=A7=80=E6=AD=A6:=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=A0=91=E5=AF=BC=E8=88=AA=E6=A0=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/pms/ocp/StartApp.java | 40 ---------------- .../java/com/pms/ocp/model/entity/Model.java | 5 ++ .../com/pms/ocp/model/entity/TreeNode.java | 4 -- .../service/impl/ModelAcceptServiceImpl.java | 30 ++++++++++-- .../impl/ModelSubscribeServiceImpl.java | 47 +++++++++++++------ 5 files changed, 63 insertions(+), 63 deletions(-) delete mode 100644 src/main/java/com/pms/ocp/StartApp.java diff --git a/src/main/java/com/pms/ocp/StartApp.java b/src/main/java/com/pms/ocp/StartApp.java deleted file mode 100644 index 732068d..0000000 --- a/src/main/java/com/pms/ocp/StartApp.java +++ /dev/null @@ -1,40 +0,0 @@ -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; - } -} diff --git a/src/main/java/com/pms/ocp/model/entity/Model.java b/src/main/java/com/pms/ocp/model/entity/Model.java index 36191c1..a44137b 100644 --- a/src/main/java/com/pms/ocp/model/entity/Model.java +++ b/src/main/java/com/pms/ocp/model/entity/Model.java @@ -139,6 +139,11 @@ public class Model { */ @TableField(exist = false) private String requirementCode; + + /** + * 异动详情 + */ + private Integer operStatus; } // create table ocp_model_base diff --git a/src/main/java/com/pms/ocp/model/entity/TreeNode.java b/src/main/java/com/pms/ocp/model/entity/TreeNode.java index 5a80f4d..021fb53 100644 --- a/src/main/java/com/pms/ocp/model/entity/TreeNode.java +++ b/src/main/java/com/pms/ocp/model/entity/TreeNode.java @@ -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; } diff --git a/src/main/java/com/pms/ocp/service/impl/ModelAcceptServiceImpl.java b/src/main/java/com/pms/ocp/service/impl/ModelAcceptServiceImpl.java index 11b97b0..97b95c5 100644 --- a/src/main/java/com/pms/ocp/service/impl/ModelAcceptServiceImpl.java +++ b/src/main/java/com/pms/ocp/service/impl/ModelAcceptServiceImpl.java @@ -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> modelAcceptPass(Model model) { //新增至模型基础表 modelMapper.insert(model); + //新增至模型事记表 + ModelAudit modelAudit = pageModelAudit(model); + modelAuditMapper.insert(modelAudit); //更行属性信息到模型属性基础表 String code = model.getModelCode() == null ? UUID.randomUUID().toString() : model.getModelCode(); List 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; + } + /** * 比较是否相似 * diff --git a/src/main/java/com/pms/ocp/service/impl/ModelSubscribeServiceImpl.java b/src/main/java/com/pms/ocp/service/impl/ModelSubscribeServiceImpl.java index 1abbec0..43ad5f4 100644 --- a/src/main/java/com/pms/ocp/service/impl/ModelSubscribeServiceImpl.java +++ b/src/main/java/com/pms/ocp/service/impl/ModelSubscribeServiceImpl.java @@ -1,5 +1,6 @@ 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 modelList = modelSubscribeMapper.getModelList(searchCondition); //统推自建分组 Map> modelGroupMap = modelList.stream().collect(Collectors.groupingBy(TreeNode::getModelPromotion)); + //设置统推自建类型 + List unifiedPushListOne = setPromotionType(modelGroupMap.get(Constant.Number.ZERO),0); + List unifiedPushGroups = setPromotionType(modelGroupList, 0); //统推list - List unifiedPushList = setChildren(HandlingNullPointers(modelGroupMap.get(Constant.Number.ZERO)),modelGroupList ,(org, group) -> - org.getModelGroupCode().equals(group.getModelGroupCode()),0); + List unifiedPushList = setChildren(unifiedPushListOne,unifiedPushGroups ,(org, group) -> + org.getModelGroupCode().equals(group.getModelGroupCode())); List newModelGroupList = TreeUtils.build(unifiedPushList); modelNavigationVO.setUnifiedPush(newModelGroupList); - List selfModelBuildList = setChildren(HandlingNullPointers(modelGroupMap.get(Constant.Number.ONE)),modelGroupList ,(org, group) -> - org.getModelGroupCode().equals(group.getModelGroupCode()),1); + //在树上挂自建 + List selfOne = setPromotionType(modelGroupMap.get(Constant.Number.ZERO), 1); + List selfGroups = setPromotionType(modelGroupList, 1); + List selfModelBuildList = setChildren(selfOne,selfGroups ,(org, group) -> + org.getModelGroupCode().equals(group.getModelGroupCode())); //查询组织机构表 List organList = modelSubscribeMapper.selectOrganData(); + List orgList = setPromotionType(organList, 1); //将分类放入各自所属于的组织机构下 - List groupOrgList = setChildren(selfModelBuildList, organList,(org, group) -> - org.getCompanyCode().equals(group.getCompanyCode()),1 + List groupOrgList = setChildren(selfModelBuildList, orgList,(org, group) -> + org.getCompanyCode().equals(group.getCompanyCode()) ); List 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 **/ - private List HandlingNullPointers(List list){ - return list == null ? new LinkedList<>() : list; + private List setPromotionType(List treeNodes,int promotion) { + List 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 setChildren(List modelGroupList, List organList, BiFunction function ,int modelPromotion) { + private List setChildren(List modelGroupList, List organList, BiFunction function) { organList.forEach(org -> { modelGroupList.forEach(group -> { if (function.apply(org, group) ) { - group.setModelPromotion(modelPromotion); if (org.getChildren() == null) { org.setChildren(new LinkedList<>()); } -- 2.26.0