From 6553595700726f19aede303000aa8c8694fa5638 Mon Sep 17 00:00:00 2001 From: wangjingsheng Date: Tue, 12 Apr 2022 22:04:18 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9C=80=E6=B1=82=E4=BF=AE=E6=94=B9test4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 7 + .../biz/BizModelRequirementInfoService.java | 2 +- .../BizModelRequirementInfoServiceImpl.java | 33 ++--- .../com/pms/ocp/common/DataProcessUtil.java | 65 ++++++++ .../ocp/controller/ModelBaseController.java | 20 ++- .../ModelControlDemandController.java | 25 ++-- .../pms/ocp/mapper/ModelRelationMapper.java | 30 ++++ .../ocp/mapper/ModelRequirementMapper.java | 3 +- .../dto/ModelRequirementDeleteParamDTO.java | 29 ++++ .../pms/ocp/model/entity/ModelRelation.java | 5 + .../entity/ModelRequirementApproval.java | 2 +- .../model/vo/ModelRelationInputMultiVO.java | 28 ++++ .../com/pms/ocp/model/vo/ModelRelationVO.java | 32 ++++ .../java/com/pms/ocp/model/vo/ResponseVO.java | 1 + .../pms/ocp/service/ModelRelationService.java | 20 ++- .../ocp/service/ModelRequirementService.java | 2 +- .../impl/ModelRelationServiceImpl.java | 139 +++++++++++++++++- .../impl/ModelRequirementServiceImpl.java | 4 +- src/main/resources/application-local.yml | 29 ++-- .../resources/mapper/ModelRelationMapper.xml | 48 ++++++ .../mapper/ModelRequirementMapper.xml | 15 +- 21 files changed, 472 insertions(+), 67 deletions(-) create mode 100644 src/main/java/com/pms/ocp/common/DataProcessUtil.java create mode 100644 src/main/java/com/pms/ocp/model/dto/ModelRequirementDeleteParamDTO.java create mode 100644 src/main/java/com/pms/ocp/model/vo/ModelRelationInputMultiVO.java create mode 100644 src/main/resources/mapper/ModelRelationMapper.xml diff --git a/pom.xml b/pom.xml index e5181f0..0e924a9 100644 --- a/pom.xml +++ b/pom.xml @@ -179,6 +179,13 @@ ${knife4j-ui.version} + + com.baomidou + dynamic-datasource-spring-boot-starter + 3.1.0 + + + diff --git a/src/main/java/com/pms/ocp/biz/BizModelRequirementInfoService.java b/src/main/java/com/pms/ocp/biz/BizModelRequirementInfoService.java index 3ce16db..5fe2bb6 100644 --- a/src/main/java/com/pms/ocp/biz/BizModelRequirementInfoService.java +++ b/src/main/java/com/pms/ocp/biz/BizModelRequirementInfoService.java @@ -81,7 +81,7 @@ public interface BizModelRequirementInfoService { * @param * @return */ - PageInfo getModelPropertyRequirementInfoList(String requirementCode, String modelCode, int currentPage, int pageSize); + PageInfo getModelPropertyRequirementInfoList(String requirementCode, String modelCode, String columnName, int currentPage, int pageSize); /** * 获取模型需求 diff --git a/src/main/java/com/pms/ocp/biz/impl/BizModelRequirementInfoServiceImpl.java b/src/main/java/com/pms/ocp/biz/impl/BizModelRequirementInfoServiceImpl.java index c20fe72..821e4d1 100644 --- a/src/main/java/com/pms/ocp/biz/impl/BizModelRequirementInfoServiceImpl.java +++ b/src/main/java/com/pms/ocp/biz/impl/BizModelRequirementInfoServiceImpl.java @@ -16,12 +16,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.text.SimpleDateFormat; import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; -import java.util.stream.Collectors; /** * @Auther: wangjian @@ -54,9 +51,6 @@ public class BizModelRequirementInfoServiceImpl implements BizModelRequirementIn /** * 根据时间戳生成唯一id */ -// SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSSS"); -// String id = sdf.format(System.currentTimeMillis()); - //id:202010221400070793 modelVersionRequirementDTO.setRequirementCode("MR-" + System.currentTimeMillis()); @@ -69,7 +63,7 @@ public class BizModelRequirementInfoServiceImpl implements BizModelRequirementIn // 需求审批信息创建 ModelRequirementApproval modelRequirementApproval = new ModelRequirementApproval(); modelRequirementApproval.setRequirementCode(modelVersionRequirementDTO.getRequirementCode()); - modelRequirementApproval.setApprovalStatus(0); + modelRequirementApproval.setApprovalStats(0); // 校验是否模型名称重复 ModelBaseVersion modelBaseVersion1 = modelBaseVersionService.getModelBaseVersion(modelVersionRequirementDTO.getObjId(), modelVersionRequirementDTO.getModelCode(), modelVersionRequirementDTO.getModelName()); @@ -134,16 +128,18 @@ public class BizModelRequirementInfoServiceImpl implements BizModelRequirementIn @Transactional @Override public Integer updateModelPropertyRequirementInfo(ModelPropertyVersionRequirementDTO modelPropertyVersionRequirementDTO) { - ModelRequirement modelRequirement = new ModelRequirement(); - BeanUtils.copyProperties(modelPropertyVersionRequirementDTO, modelRequirement); - modelRequirement.setMtime(LocalDateTime.now()); + +// ModelRequirement modelRequirement = new ModelRequirement(); +// BeanUtils.copyProperties(modelPropertyVersionRequirementDTO, modelRequirement); +// modelRequirement.setMtime(LocalDateTime.now()); ModelPropertyVersion modelPropertyVersion = new ModelPropertyVersion(); BeanUtils.copyProperties(modelPropertyVersionRequirementDTO, modelPropertyVersion); + modelPropertyVersion.setPropMtime(LocalDateTime.now()); modelPropertyVersionService.updateModelPropertyVersion(modelPropertyVersion); - modelRequirementService.updateModelRequirement(modelRequirement); +// modelRequirementService.updateModelRequirement(modelRequirement); return 1; } @@ -151,16 +147,11 @@ public class BizModelRequirementInfoServiceImpl implements BizModelRequirementIn @Override public Integer deleteModelRequirementInfo(String objId, String requirementCode, String modelCode) { - modelRequirementService.deleteModelRequirement(objId, requirementCode); + modelPropertyVersionService.deleteModelPropertyVersion(requirementCode, modelCode, null); + modelBaseVersionService.deleteModelBaseVersion(requirementCode, modelCode); modelRequirementApprovalService.deleteModelRequirementApproval(null, requirementCode); - - if (StringUtils.isNotEmpty(requirementCode)) { - - modelBaseVersionService.deleteModelBaseVersion(requirementCode, modelCode); - modelPropertyVersionService.deleteModelPropertyVersion(requirementCode, modelCode, null); - - } + modelRequirementService.deleteModelRequirement(objId, requirementCode); return 1; } @@ -203,10 +194,10 @@ public class BizModelRequirementInfoServiceImpl implements BizModelRequirementIn } @Override - public PageInfo getModelPropertyRequirementInfoList(String requirementCode, String modelCode, int currentPage, int pageSize) { + public PageInfo getModelPropertyRequirementInfoList(String requirementCode, String modelCode, String columnName, int currentPage, int pageSize) { PageHelper.startPage(currentPage, pageSize); - List modelPropertyVersionRequirementVOList = modelRequirementService.getModelPropertyRequirementList(requirementCode, modelCode); + List modelPropertyVersionRequirementVOList = modelRequirementService.getModelPropertyRequirementList(requirementCode, modelCode, columnName); PageInfo pageInfo = new PageInfo<>(modelPropertyVersionRequirementVOList); return pageInfo; diff --git a/src/main/java/com/pms/ocp/common/DataProcessUtil.java b/src/main/java/com/pms/ocp/common/DataProcessUtil.java new file mode 100644 index 0000000..2adf5e9 --- /dev/null +++ b/src/main/java/com/pms/ocp/common/DataProcessUtil.java @@ -0,0 +1,65 @@ +//package com.pms.ocp.common; +// +//import com.pms.ocp.mapper.ModelRelationMapper; +//import com.pms.ocp.model.entity.ModelRelation; +//import com.pms.ocp.model.vo.ModelRelationInputMultiVO; +//import org.slf4j.Logger; +//import org.slf4j.LoggerFactory; +//import org.springframework.stereotype.Component; +// +//import java.util.List; +// +///** +// * @Auther: wangjian +// * @Date: 2022/4/12 14:28 +// * @Description: +// */ +// +//@Component +//public class DataProcessUtil { +// +// private static final Logger logger = LoggerFactory.getLogger(DataProcessUtil.class); +// +// /** +// * 生成单根树结构 +// * +// * @param modelRelationMapper 数据查询Mapper +// * @param modelCode 区域id +// * @return 单根树 +// */ +// public ModelRelation recursiveTree(ModelRelationMapper modelRelationMapper, String modelCode) { +// /** +// * 查询:父节点 +// */ +// ModelRelation fatherNode = modelRelationMapper.queryRegionById(modelCode); +// +// /** +// * 查询:子节点 +// */ +// List childNodeList = modelRelationMapper.queryRegionByParentId(modelCode); +// +// for (ModelRelation child : childNodeList) { +// ModelRelation childNode = recursiveTree(modelRelationMapper, child.getModelCode()); +//// fatherNode.getModelRelationList().add(childNode); +// } +// logger.info("区域树:{}", fatherNode); +// return fatherNode; +// } +// +// /** +// * 生成多根树结构 +// * +// * @param modelRelationMapper +// * @param regionInputMultiVO +// * @return 多根数 +// */ +// public List recursiveTreeList(ModelRelationMapper modelRelationMapper, ModelRelationInputMultiVO regionInputMultiVO) { +// List regionTreeOutputVOS = modelRelationMapper.queryRegionByRegionIdList(regionInputMultiVO); +// for (ModelRelation modelRelation : regionTreeOutputVOS) { +// ModelRelation child = recursiveTree(modelRelationMapper, modelRelation.getModelCode()); +// modelRelation.getModelRelationList().add(child); +// } +// return regionTreeOutputVOS; +// } +// +//} diff --git a/src/main/java/com/pms/ocp/controller/ModelBaseController.java b/src/main/java/com/pms/ocp/controller/ModelBaseController.java index bde59fd..859ccb2 100644 --- a/src/main/java/com/pms/ocp/controller/ModelBaseController.java +++ b/src/main/java/com/pms/ocp/controller/ModelBaseController.java @@ -9,9 +9,11 @@ import com.pms.ocp.model.dto.ModelRelationDTO; import com.pms.ocp.model.dto.ModelSubscribeDTO; import com.pms.ocp.model.entity.Model; import com.pms.ocp.model.entity.ModelAudit; +import com.pms.ocp.model.entity.ModelRelation; import com.pms.ocp.model.entity.ModelSubscribe; import com.pms.ocp.model.vo.ModelAuditVO; import com.pms.ocp.model.vo.ModelPropertyVO; +import com.pms.ocp.model.vo.ModelRelationInputMultiVO; import com.pms.ocp.model.vo.ResponseVO; import com.pms.ocp.service.*; import io.swagger.annotations.Api; @@ -94,12 +96,12 @@ public class ModelBaseController { */ @ApiOperation("模型-查询列表") @GetMapping("/get/model/getModeBaselList") - public ResponseVO getModeBaselList(@ApiParam(value = "所属级别") @RequestParam(value = "belongLevel",defaultValue = "0") String belongLevel, + public ResponseVO getModeBaselList(@ApiParam(value = "所属级别") @RequestParam(value = "belongLevel", defaultValue = "0") String belongLevel, @ApiParam(value = "模型编码") @RequestParam(value = "modelCode", required = false) String modelCode, @ApiParam(value = "当前页") @RequestParam(value = "currentPage") Integer currentPage, @ApiParam(value = "每页数量") @RequestParam(value = "pageSize") Integer pageSize, - @ApiParam(value = "模糊搜索条件") @RequestParam(value = "searchCondition",required = false) String searchCondition) { - return modelService.getModeBaselList(belongLevel, modelCode, currentPage, pageSize, searchCondition); + @ApiParam(value = "模糊搜索条件") @RequestParam(value = "searchCondition", required = false) String searchCondition) { + return modelService.getModeBaselList(belongLevel, modelCode, currentPage, pageSize, searchCondition); } @@ -334,6 +336,18 @@ public class ModelBaseController { return ResponseVO.ok(modelRelationService.getModelRelationList(objId, modelGroupCode, modelCode)); } +// /** +// * 模型拓扑关系-查询2 +// * +// * @return +// */ +// @ApiOperation("模型拓扑关系-查询2") +// @PostMapping("/region/tree/list") +// public ResponseVO> regionTreeOutputVOResponse(@RequestBody ModelRelationInputMultiVO regionInputMultiVO) { +// log.info("regionId入参 : {}", regionInputMultiVO); +// return ResponseVO.ok(modelRelationService.buildMultiRegionTreeByRegionIdList(regionInputMultiVO)); +// } + /** * 模型拓扑关系-删除 * diff --git a/src/main/java/com/pms/ocp/controller/ModelControlDemandController.java b/src/main/java/com/pms/ocp/controller/ModelControlDemandController.java index 66c5d45..cf367e2 100644 --- a/src/main/java/com/pms/ocp/controller/ModelControlDemandController.java +++ b/src/main/java/com/pms/ocp/controller/ModelControlDemandController.java @@ -3,6 +3,7 @@ package com.pms.ocp.controller; import com.pms.ocp.biz.BizModelRequirementInfoService; import com.pms.ocp.common.constants.CodeEnum; import com.pms.ocp.model.dto.ModelPropertyVersionRequirementDTO; +import com.pms.ocp.model.dto.ModelRequirementDeleteParamDTO; import com.pms.ocp.model.dto.ModelVersionRequirementDTO; import com.pms.ocp.model.vo.ResponseVO; import io.swagger.annotations.Api; @@ -64,12 +65,14 @@ public class ModelControlDemandController { */ @ApiOperation("模型需求-删除") @PostMapping("/delete/modelRequirement") - public ResponseVO deleteModelRequirement(@ApiParam(value = "需求编号") @RequestParam(value = "objId", required = false) String objId, - @ApiParam(value = "需求编码") @RequestParam(value = "requirementCode") String requirementCode, - @ApiParam(value = "模型编码") @RequestParam(value = "modelCode") String modelCode) { + public ResponseVO deleteModelRequirement(@RequestBody ModelRequirementDeleteParamDTO modelRequirementDeleteParamDTO) { + String requirementCode = modelRequirementDeleteParamDTO.getRequirementCode(); + String modelCode = modelRequirementDeleteParamDTO.getModelCode(); +// String propCode = modelRequirementDeleteParamDTO.getPropCode(); + String objId = modelRequirementDeleteParamDTO.getObjId(); - System.out.println("==============================================================" + requirementCode); + log.info("需求编码为:{}", requirementCode); return ResponseVO.ok(bizModelRequirementInfoService.deleteModelRequirementInfo(objId, requirementCode, modelCode)); } @@ -80,9 +83,12 @@ public class ModelControlDemandController { */ @ApiOperation("模型属性需求-删除") @PostMapping("/delete/modelPropertyRequirement") - public ResponseVO deleteModelPropertyRequirement(@ApiParam(value = "需求编码") @RequestParam(value = "requirementCode", required = false) String requirementCode, - @ApiParam(value = "模型编码") @RequestParam(value = "modelCode", required = false) String modelCode, - @ApiParam(value = "属性编码") @RequestParam(value = "propCode", required = false) String propCode) { + public ResponseVO deleteModelPropertyRequirement(@RequestBody ModelRequirementDeleteParamDTO modelRequirementDeleteParamDTO) { + + String requirementCode = modelRequirementDeleteParamDTO.getRequirementCode(); + String modelCode = modelRequirementDeleteParamDTO.getModelCode(); + String propCode = modelRequirementDeleteParamDTO.getPropCode(); + return ResponseVO.ok(bizModelRequirementInfoService.deleteModelPropertyRequirementInfo(requirementCode, modelCode, propCode)); } @@ -133,9 +139,10 @@ public class ModelControlDemandController { @GetMapping("/get/modelPropertyRequirement/list") public ResponseVO getModelPropertyDemandList(@ApiParam(value = "需求编码") @RequestParam(value = "requirementCode", required = false) String requirementCode, @ApiParam(value = "模型编码") @RequestParam(value = "modelCode", required = false) String modelCode, + @ApiParam(value = "属性名称") @RequestParam(value = "columnName", required = false) String columnName, @ApiParam(value = "当前页") @RequestParam(value = "currentPage") Integer currentPage, @ApiParam(value = "每页数量") @RequestParam(value = "pageSize") Integer pageSize) { - return ResponseVO.ok(bizModelRequirementInfoService.getModelPropertyRequirementInfoList(requirementCode, modelCode, currentPage, pageSize)); + return ResponseVO.ok(bizModelRequirementInfoService.getModelPropertyRequirementInfoList(requirementCode, modelCode, columnName, currentPage, pageSize)); } @@ -150,7 +157,7 @@ public class ModelControlDemandController { @ApiParam(value = "模型编码") @RequestParam(value = "modelCode", required = false) String modelCode, @ApiParam(value = "当前页") @RequestParam(value = "currentPage") Integer currentPage, @ApiParam(value = "每页数量") @RequestParam(value = "pageSize") Integer pageSize) { - return ResponseVO.ok(bizModelRequirementInfoService.getModelPropertyRequirementInfoList(requirementCode, modelCode, currentPage, pageSize)); + return ResponseVO.ok(bizModelRequirementInfoService.getModelPropertyRequirementInfoList(requirementCode, modelCode, null, currentPage, pageSize)); } diff --git a/src/main/java/com/pms/ocp/mapper/ModelRelationMapper.java b/src/main/java/com/pms/ocp/mapper/ModelRelationMapper.java index 39f1942..c4688be 100644 --- a/src/main/java/com/pms/ocp/mapper/ModelRelationMapper.java +++ b/src/main/java/com/pms/ocp/mapper/ModelRelationMapper.java @@ -2,7 +2,11 @@ package com.pms.ocp.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.pms.ocp.model.entity.ModelRelation; +import com.pms.ocp.model.vo.ModelRelationInputMultiVO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @Auther: wangjian @@ -12,4 +16,30 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface ModelRelationMapper extends BaseMapper { + + + /** + * 根据id查询区域信息 + * + * @param modelCode + * @return 区域信息列表 + */ + ModelRelation queryRegionById(@Param("modelCode") String modelCode); + + /** + * 根据regionId列表,查询区域信息 + * + * @param regionInputMultiVO 区域id列表 + * @return 区域信息列表 + */ + List queryRegionByRegionIdList(ModelRelationInputMultiVO regionInputMultiVO); + + /** + * 根据parentId查询区域信息 + * + * @param modelCode 区域id + * @return 区域信息列表 + */ + List queryRegionByParentId(@Param("modelCode") String modelCode); + } diff --git a/src/main/java/com/pms/ocp/mapper/ModelRequirementMapper.java b/src/main/java/com/pms/ocp/mapper/ModelRequirementMapper.java index 3442b6c..6d66832 100644 --- a/src/main/java/com/pms/ocp/mapper/ModelRequirementMapper.java +++ b/src/main/java/com/pms/ocp/mapper/ModelRequirementMapper.java @@ -26,6 +26,7 @@ public interface ModelRequirementMapper extends BaseMapper { @Param("modelGroupCodes") List modelGroupCodes); List listModelPropertyVersionRequirementVO(@Param("requirementCode") String requirementCode, - @Param("modelCode") String modelCode); + @Param("modelCode") String modelCode, + @Param("columnName") String columnName); } \ No newline at end of file diff --git a/src/main/java/com/pms/ocp/model/dto/ModelRequirementDeleteParamDTO.java b/src/main/java/com/pms/ocp/model/dto/ModelRequirementDeleteParamDTO.java new file mode 100644 index 0000000..c88ee75 --- /dev/null +++ b/src/main/java/com/pms/ocp/model/dto/ModelRequirementDeleteParamDTO.java @@ -0,0 +1,29 @@ +package com.pms.ocp.model.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Auther: wangjian + * @Date: 2022/4/12 16:09 + * @Description:模型需求删除参数DTO + */ + +@ApiModel("模型需求删除参数DTO") +@Data +public class ModelRequirementDeleteParamDTO { + + @ApiModelProperty(value = "需求编号") + private String objId; + + @ApiModelProperty(value = "需求编码") + private String requirementCode; + + @ApiModelProperty(value = "模型编码") + private String modelCode; + + @ApiModelProperty(value = "属性编码") + private String propCode; + +} diff --git a/src/main/java/com/pms/ocp/model/entity/ModelRelation.java b/src/main/java/com/pms/ocp/model/entity/ModelRelation.java index 66fb959..6557611 100644 --- a/src/main/java/com/pms/ocp/model/entity/ModelRelation.java +++ b/src/main/java/com/pms/ocp/model/entity/ModelRelation.java @@ -10,6 +10,8 @@ import lombok.experimental.Accessors; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; /** * @Auther: wangjian @@ -80,6 +82,9 @@ public class ModelRelation { @TableField("is_delete") private String boolDelete; + @TableField(exist = false) + private List modelRelationList = new ArrayList<>(); + } diff --git a/src/main/java/com/pms/ocp/model/entity/ModelRequirementApproval.java b/src/main/java/com/pms/ocp/model/entity/ModelRequirementApproval.java index ea5ffe1..4c955dd 100644 --- a/src/main/java/com/pms/ocp/model/entity/ModelRequirementApproval.java +++ b/src/main/java/com/pms/ocp/model/entity/ModelRequirementApproval.java @@ -34,7 +34,7 @@ public class ModelRequirementApproval { /** * 审批状态 0:未审核 1:审核通过 2:审核拒绝 */ - private Integer approvalStatus; + private Integer approvalStats; /** * 审核人单位 diff --git a/src/main/java/com/pms/ocp/model/vo/ModelRelationInputMultiVO.java b/src/main/java/com/pms/ocp/model/vo/ModelRelationInputMultiVO.java new file mode 100644 index 0000000..786ddb9 --- /dev/null +++ b/src/main/java/com/pms/ocp/model/vo/ModelRelationInputMultiVO.java @@ -0,0 +1,28 @@ +package com.pms.ocp.model.vo; + +import java.util.List; + +/** + * @Auther: wangjian + * @Date: 2022/4/12 14:25 + * @Description: + */ +public class ModelRelationInputMultiVO { + + private List regionIdList; + + public void setRegionIdList(List regionIdList) { + this.regionIdList = regionIdList; + } + + public List getRegionIdList() { + return regionIdList; + } + + @Override + public String toString() { + return "RegionInputMultiVO{" + + "regionIdList=" + regionIdList + + '}'; + } +} diff --git a/src/main/java/com/pms/ocp/model/vo/ModelRelationVO.java b/src/main/java/com/pms/ocp/model/vo/ModelRelationVO.java index 1aebf8d..87abbee 100644 --- a/src/main/java/com/pms/ocp/model/vo/ModelRelationVO.java +++ b/src/main/java/com/pms/ocp/model/vo/ModelRelationVO.java @@ -1,12 +1,14 @@ package com.pms.ocp.model.vo; import com.fasterxml.jackson.annotation.JsonFormat; +import com.pms.ocp.model.entity.ModelProperty; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; +import java.util.List; /** * @Auther: wangjian @@ -83,4 +85,34 @@ public class ModelRelationVO { */ @ApiModelProperty(value = "是否已删除") private String boolDelete; + + /** + * 模型名称 + */ + @ApiModelProperty(value = "模型名称") + private String modelName; + + /** + * 坐标X + */ + @ApiModelProperty(value = "坐标X") + private Integer x; + + /** + * 坐标Y + */ + @ApiModelProperty(value = "坐标Y") + private Integer y; + + /** + * XXXX + */ + @ApiModelProperty(value = "XXXX") + private String state; + + /** + * 属性列表 + */ + @ApiModelProperty(value = "属性列表") + private List modelPropertyList; } diff --git a/src/main/java/com/pms/ocp/model/vo/ResponseVO.java b/src/main/java/com/pms/ocp/model/vo/ResponseVO.java index facf277..fc9febc 100644 --- a/src/main/java/com/pms/ocp/model/vo/ResponseVO.java +++ b/src/main/java/com/pms/ocp/model/vo/ResponseVO.java @@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; +import lombok.extern.slf4j.Slf4j; /** * @author wuwanli diff --git a/src/main/java/com/pms/ocp/service/ModelRelationService.java b/src/main/java/com/pms/ocp/service/ModelRelationService.java index 371f761..cde30ec 100644 --- a/src/main/java/com/pms/ocp/service/ModelRelationService.java +++ b/src/main/java/com/pms/ocp/service/ModelRelationService.java @@ -3,6 +3,7 @@ package com.pms.ocp.service; import com.pms.ocp.model.dto.ModelRelationDTO; import com.pms.ocp.model.entity.ModelRelation; +import com.pms.ocp.model.vo.ModelRelationInputMultiVO; import com.pms.ocp.model.vo.ModelRelationVO; import java.util.List; @@ -53,7 +54,7 @@ public interface ModelRelationService { * @param * @return */ - List getModelRelationList(String objId, String modelGroupCode, String modelCode); + List getModelRelationList(String objId, String modelGroupCode, String modelCode); /** * 获取模型关系列表 @@ -62,4 +63,21 @@ public interface ModelRelationService { * @return */ ModelRelationVO getModelRelation(String modelId); + +// +// /** +// * 创建区域树 +// * +// * @param regionId 省id +// * @return 区域树 +// */ +// ModelRelation buildRegionTreeByRegionId(String regionId); +// +// /** +// * 创建多级根节点区域树 +// * +// * @param regionInputMultiVO 区域入参 +// * @return 多级根节点区域树 +// */ +// List buildMultiRegionTreeByRegionIdList(ModelRelationInputMultiVO regionInputMultiVO); } diff --git a/src/main/java/com/pms/ocp/service/ModelRequirementService.java b/src/main/java/com/pms/ocp/service/ModelRequirementService.java index 08989d2..c580e54 100644 --- a/src/main/java/com/pms/ocp/service/ModelRequirementService.java +++ b/src/main/java/com/pms/ocp/service/ModelRequirementService.java @@ -53,7 +53,7 @@ public interface ModelRequirementService { * @param * @return */ - List getModelPropertyRequirementList(String requirementCode, String modelCode); + List getModelPropertyRequirementList(String requirementCode, String modelCode, String columnName); /** * 获取模型需求列表 diff --git a/src/main/java/com/pms/ocp/service/impl/ModelRelationServiceImpl.java b/src/main/java/com/pms/ocp/service/impl/ModelRelationServiceImpl.java index d350d82..c5ff0a2 100644 --- a/src/main/java/com/pms/ocp/service/impl/ModelRelationServiceImpl.java +++ b/src/main/java/com/pms/ocp/service/impl/ModelRelationServiceImpl.java @@ -1,18 +1,30 @@ package com.pms.ocp.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +//import com.pms.ocp.common.DataProcessUtil; +import com.pms.ocp.mapper.ModelMapper; +import com.pms.ocp.mapper.ModelPropertyMapper; import com.pms.ocp.mapper.ModelRelationMapper; import com.pms.ocp.model.dto.ModelRelationDTO; +import com.pms.ocp.model.entity.Model; +import com.pms.ocp.model.entity.ModelClassify; +import com.pms.ocp.model.entity.ModelProperty; import com.pms.ocp.model.entity.ModelRelation; +import com.pms.ocp.model.vo.ModelRelationInputMultiVO; import com.pms.ocp.model.vo.ModelRelationVO; import com.pms.ocp.service.ModelRelationService; +import com.pms.ocp.service.OcpModelGroupService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * @Auther: wangjian @@ -26,6 +38,12 @@ public class ModelRelationServiceImpl implements ModelRelationService { @Autowired private ModelRelationMapper modelRelationMapper; + @Autowired + private ModelMapper modelMapper; + + @Autowired + private ModelPropertyMapper modelPropertyMapper; + @Override public Integer createModelRelation(ModelRelationDTO modelRelationDTO) { @@ -64,27 +82,132 @@ public class ModelRelationServiceImpl implements ModelRelationService { return null; } + @Autowired + private OcpModelGroupService ocpModelGroupService; + @Override - public List getModelRelationList(String objId, String modelGroupCode, String modelCode) { + public List getModelRelationList(String objId, String modelGroupCode, String modelCode) { + + QueryWrapper queryWrapper = new QueryWrapper(); - if (StringUtils.isNotEmpty(objId)) { - queryWrapper.lambda().eq(ModelRelation::getObjId, objId); + if (StringUtils.isNotEmpty(modelCode)) { + + if (StringUtils.isNotEmpty(modelCode)) { + queryWrapper.lambda().eq(ModelRelation::getModelCode, modelCode); + } + + } else { + + List modelGroupCodeList = new ArrayList<>(); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + List modelClassifyList = ocpModelGroupService.list(queryWrapper1); + + getParentNode(modelGroupCodeList, modelClassifyList, modelGroupCode); + modelGroupCodeList.add(modelGroupCode); + + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.lambda().in(Model::getModelGroupCode, modelGroupCodeList); + + + List modelList = modelMapper.selectList(queryWrapper2); + + List modelCodeList = modelList.stream().map(Model::getModelCode).collect(Collectors.toList()); + + + if (!modelGroupCodeList.isEmpty()) { + queryWrapper.lambda().in(ModelRelation::getModelCode, modelCodeList); + } + } - if (StringUtils.isNotEmpty(modelGroupCode)) { - queryWrapper.lambda().eq(ModelRelation::getModelPropCode, modelGroupCode); + + List modelRelationVOList = new ArrayList<>(); + + + List modelRelationList = modelRelationMapper.selectList(queryWrapper); + + List relationModelCodeList = modelRelationList.stream().map(ModelRelation::getRelationModeCode).collect(Collectors.toList()); + relationModelCodeList.add(modelCode); + + QueryWrapper queryWrapper4 = new QueryWrapper(); + queryWrapper4.lambda().in(Model::getModelCode, relationModelCodeList); + + + List modelList1 = modelMapper.selectList(queryWrapper4); + for (Model model : modelList1) { + ModelRelationVO modelRelationVO = new ModelRelationVO(); + BeanUtils.copyProperties(model, modelRelationVO); + modelRelationVOList.add(modelRelationVO); } - if (StringUtils.isNotEmpty(modelCode)) { - queryWrapper.lambda().eq(ModelRelation::getModelCode, modelCode); +// 属性列表 + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.lambda().in(ModelProperty::getModelCode, relationModelCodeList); + + List modelPropertyList = modelPropertyMapper.selectList(queryWrapper3); + + Map> map = modelPropertyList.stream().collect(Collectors.groupingBy(ModelProperty::getModelCode)); + Map> map1 = modelRelationList.stream().collect(Collectors.groupingBy(ModelRelation::getRelationModeCode)); + + + for (ModelRelationVO modelRelationVO : modelRelationVOList) { + String modelCode1 = modelRelationVO.getModelCode(); + + ModelRelation modelRelation = map1.get(modelCode1).get(0); + + modelRelationVO.setModelPropCode(modelRelation.getModelPropCode()); + modelRelationVO.setRelationModeCode(modelRelation.getRelationModeCode()); + modelRelationVO.setRelationModePropCode(modelRelation.getRelationModePropCode()); + + + modelRelationVO.setModelPropertyList(map.get(modelCode1)); + + } - return modelRelationMapper.selectList(queryWrapper); + + return modelRelationVOList; + + } + + /** + * 递归获取某个父节点下面的所有子节点 + * + * @param childMenu 要返回的结果 + * @param menuList 数据库查询出来的所有集合 + * @param modelGroupPcode 父类编码 + */ + private static void getParentNode(List childMenu, List menuList, String modelGroupPcode) { + menuList.stream() + //过滤出父id等于参数的id + .filter(menu -> StringUtils.isNotBlank(menu.getModelGroupPcode()) && menu.getModelGroupPcode().equals(modelGroupPcode)) + .forEach(menu -> { + //递归遍历下一级 + getParentNode(childMenu, menuList, menu.getModelGroupCode()); + //添加 + childMenu.add(menu.getModelGroupCode()); + }); } + @Override public ModelRelationVO getModelRelation(String modelId) { return null; } + +// @Resource +// private DataProcessUtil dataProcessUtil; +// +// @Override +// public ModelRelation buildRegionTreeByRegionId(String regionId) { +// return dataProcessUtil.recursiveTree(modelRelationMapper, regionId); +// } +// +// @Override +// public List buildMultiRegionTreeByRegionIdList(ModelRelationInputMultiVO regionInputMultiVO) { +// return dataProcessUtil.recursiveTreeList(modelRelationMapper, regionInputMultiVO); +// } } diff --git a/src/main/java/com/pms/ocp/service/impl/ModelRequirementServiceImpl.java b/src/main/java/com/pms/ocp/service/impl/ModelRequirementServiceImpl.java index 6323f0b..eea0f89 100644 --- a/src/main/java/com/pms/ocp/service/impl/ModelRequirementServiceImpl.java +++ b/src/main/java/com/pms/ocp/service/impl/ModelRequirementServiceImpl.java @@ -68,8 +68,8 @@ public class ModelRequirementServiceImpl implements ModelRequirementService { } @Override - public List getModelPropertyRequirementList(String requirementCode, String modelCode) { - return modelRequirementMapper.listModelPropertyVersionRequirementVO(requirementCode, modelCode); + public List getModelPropertyRequirementList(String requirementCode, String modelCode, String columnName) { + return modelRequirementMapper.listModelPropertyVersionRequirementVO(requirementCode, modelCode, columnName); } @Override diff --git a/src/main/resources/application-local.yml b/src/main/resources/application-local.yml index f5b7e71..9b7c908 100644 --- a/src/main/resources/application-local.yml +++ b/src/main/resources/application-local.yml @@ -1,18 +1,23 @@ spring: datasource: - driver-class-name: org.postgresql.Driver - username: postgres - password: 1234 - type: com.zaxxer.hikari.HikariDataSource -# jdbc-url: jdbc:postgresql://192.168.43.20:33072/pms3?currentSchema=public&stringtype=unspecified&TimeZone=Asia/Shanghai&useAffectedRows=true -# jdbc-url: jdbc:postgresql://172.20.10.9:33072/pms3?currentSchema=public&stringtype=unspecified&TimeZone=Asia/Shanghai&useAffectedRows=true - url: jdbc:postgresql://localhost:5432/operatemonitordb?currentSchema=operating_platform&stringtype=unspecified&TimeZone=Asia/Shanghai&useAffectedRows=true + dynamic: + primary: master #设置默认的数据源或者数据源组,默认值即为master + strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候回抛出异常,不启动会使用默认数据源. + datasource: + master: + driver-class-name: org.postgresql.Driver + username: postgres + password: 1234qwer + type: com.zaxxer.hikari.HikariDataSource + url: jdbc:postgresql://localhost:5432/operatemonitordb?currentSchema=operating_platform&stringtype=unspecified&TimeZone=Asia/Shanghai&useAffectedRows=true + middleGround: + driver-class-name: org.postgresql.Driver + username: postgres + password: 1234qwer + type: com.zaxxer.hikari.HikariDataSource + url: jdbc:postgresql://localhost:5432/operatemonitordb?currentSchema=operating_platform&stringtype=unspecified&TimeZone=Asia/Shanghai&useAffectedRows=true knife4j: enable: true -#beagle: -# jwt: -# secret-key: ac2ceb11e6be4d9ea0a71c9b270c1cb8 -# token-prefix: Bearer -# expire-time: 18000 \ No newline at end of file + diff --git a/src/main/resources/mapper/ModelRelationMapper.xml b/src/main/resources/mapper/ModelRelationMapper.xml new file mode 100644 index 0000000..30953f5 --- /dev/null +++ b/src/main/resources/mapper/ModelRelationMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + diff --git a/src/main/resources/mapper/ModelRequirementMapper.xml b/src/main/resources/mapper/ModelRequirementMapper.xml index 90c85c4..31c0038 100644 --- a/src/main/resources/mapper/ModelRequirementMapper.xml +++ b/src/main/resources/mapper/ModelRequirementMapper.xml @@ -36,20 +36,17 @@ and omv.model_group_code in - + #{modelGroupCode} - select * from ocp_model_prop_version ompv - left join ocp_model_version omv on omv.model_code = ompv.model_code and omv.requirement_code = - ompv.requirement_code - left join ocp_model_requirement omr on omv.requirement_code = omr.requirement_code + left join ocp_model_version omv on omv.model_code = ompv.model_code and omv.requirement_code = ompv.requirement_code + left join ocp_model_requirement omr on omv.requirement_code = omr.requirement_code and ompv.model_code = #{modelCode} @@ -58,6 +55,10 @@ and ompv.requirement_code = #{requirementCode} + + + and ompv.column_name like CONCAT('%', #{columnName}::text,'%') + -- 2.26.0