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 732068dc1c07269e36f2633ef74045580b35c0b5..0000000000000000000000000000000000000000 --- 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 36191c1266f537010a81d488dd01b521b726ee66..a44137ba577510873f5757004bde273c6c2e8e8c 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 5a80f4d27a987f60d22a5e4b6bf1d8f2fa5c76bf..021fb5305690a251e8a6e0445ff0b0a4354927dd 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 11b97b0a7f06e8c6fdc1397caafe8fe0e8ea7685..97b95c501f6a21ebe4d8511156c5e4e7552a3594 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 1abbec0821c15a5cdb278668e115380597be41c7..43ad5f46cbf8db908a9c56109b3808d027931983 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<>()); }