diff --git a/pom.xml b/pom.xml
index e5181f034978bf6e78f9cfd73abd60b3a97cec13..0e924a9fc92c22a305ac5965c666a4fbecd5992c 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 3ce16dbac8ea7d572bb74bcd3143fac5bd32b1c9..5fe2bb6b7d0f436f4978dbacd816481939ce9244 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 c20fe72eb3997c562685ab66a26f7eeae582c1db..821e4d141dc5437f9fc99eac3c55a10494d05fec 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 0000000000000000000000000000000000000000..2adf5e95f6e2cb6fef9da8a6d9b47ae0ea515d71
--- /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 bde59fd4923ed16e0695b11cbb7170ae6f79a2b3..859ccb2c941b5d904d385a6bcdab21fe6007837b 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 66c5d45f60e6ed0f8e89266d0964f1cb710213ca..cf367e2f898fcc279b707fb0c24ec5435727f3e1 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 39f1942f332fcac0dff14162ca8d6ef30738b179..c4688be620c5b9a82bce55d062f74fd0262dbf42 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 3442b6cc9d7c4e0268e876865e479a1562713ccb..6d668329bb42eb42b386f056a58e0b6d56ef71a8 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 0000000000000000000000000000000000000000..c88ee750ff95a574c23a38675ec420cc83370dbb
--- /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 66fb95916ddc8440dc997e1f990fd41bef655fd3..65576116acbaa87a913b630895dac57421c5f31f 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 ea5ffe10881f550fd60f3298a7e296263f201a05..4c955ddcc7eaab371d24226df4bb917114b601fa 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 0000000000000000000000000000000000000000..786ddb921440f02d43c143e0f4d68f1f69f0c384
--- /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 1aebf8dc839ff961087b3eddd8305274da36f23a..87abbee8f748fdf30a49a94e87aa24d538a8640b 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 facf277e3a4ffff2888e0171aa88609386e28164..fc9febceeb7e42b6c911328a3d793f49bfc77bfe 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 371f761a48ffbee93406e39539aadff0d98229bb..cde30ec92a47a08f3036d26a5d5bf0edda41abf6 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 08989d2fcd250c4c982fb344a37d59c68eec6d2c..c580e54508835e8b04aae17212d95c41c21c721a 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 d350d827fdc5d33e76ae23e1983e37dbeea2db4e..c5ff0a211e18357821a16bb5d0141432a5b81228 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 6323f0b8da43b78201438d8ed5424a85620f2886..eea0f89db08738bb98e417faffa7d480baad6682 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 f5b7e71a9a2bdcc97fa67d831a94ee73a18a33a6..9b7c908be2317cbcc1bf13890f8e8ccd36bd5169 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 0000000000000000000000000000000000000000..30953f5051ef5e2c6d27d778b181f8b5f2a3e493
--- /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 90c85c40adc29ab3dd5711c24676573bc76a6451..31c0038ab25ad38249617b4ebadaa176099c7682 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}
-