diff --git a/src/main/java/com/pms/ocp/OcpApplication.java b/src/main/java/com/pms/ocp/OcpApplication.java index 67db413914f3b53a11f2d33df0a31380c3092cd5..9a451179700094b00b938e4cd1b280addef917b3 100644 --- a/src/main/java/com/pms/ocp/OcpApplication.java +++ b/src/main/java/com/pms/ocp/OcpApplication.java @@ -8,11 +8,12 @@ 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 org.springframework.transaction.annotation.EnableTransactionManagement; import springfox.documentation.oas.annotations.EnableOpenApi; import java.util.TimeZone; - /** +/** * @Auther: wangjian * @Date: 2022/2/21 15:48 * @Description:启动类 @@ -22,6 +23,7 @@ import java.util.TimeZone; @MapperScan(basePackages = {"com.pms.ocp.mapper"}) @ConfigurationPropertiesScan @EnableOpenApi +@EnableTransactionManagement public class OcpApplication { public static void main(String[] args) { TimeZone.setDefault(TimeZone.getTimeZone("GMT+8")); diff --git a/src/main/java/com/pms/ocp/biz/BizModelDemandService.java b/src/main/java/com/pms/ocp/biz/BizModelDemandService.java new file mode 100644 index 0000000000000000000000000000000000000000..5a8551600852cc7a7978215f7239097ff6d4bad9 --- /dev/null +++ b/src/main/java/com/pms/ocp/biz/BizModelDemandService.java @@ -0,0 +1,61 @@ +package com.pms.ocp.biz; + +import com.pms.ocp.model.dto.ModelDemandDTO; +import com.pms.ocp.model.dto.ModelDemandAndPropertyVersionDTO; +import com.pms.ocp.model.entity.Model; + +import java.util.List; + +/** + * @Auther: wangjian + * @Date: 2022/4/1 10:29 + * @Description: + */ +public interface BizModelDemandService { + + /** + * 创建模型需求 + * 创建模型表或者模型属性 + * + * @param modelDemandDTO + * @return + */ + Integer createModelDemand(ModelDemandDTO modelDemandDTO); + + /** + * 修改模型需求与模型基础版本 + * + * @param modelDemandDTO + * @return + */ + Integer updateModelDemand(ModelDemandDTO modelDemandDTO); + + /** + * 删除模型需求 + * + * @param targetType + * @param demandId + * @param modelId + * @param proId + * @return + */ + Integer deleteModelDemand(String targetType, String demandId, String modelId, String proId); + + /** + * 获取模型需求 + * + * @param + * @return + */ + List getModelDemandList(String objId, String modelGroupCode, int currentPage, int pageSize); + + /** + * 获取模型需求 + * + * @param objId + * @param modelGroupCode + * @return + */ + Model getModelDemand(String objId, String modelGroupCode); + +} diff --git a/src/main/java/com/pms/ocp/biz/impl/BizModelDemandServiceImpl.java b/src/main/java/com/pms/ocp/biz/impl/BizModelDemandServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..76cdac09740e61a0ec8c33a286e9a7de8009f806 --- /dev/null +++ b/src/main/java/com/pms/ocp/biz/impl/BizModelDemandServiceImpl.java @@ -0,0 +1,192 @@ +package com.pms.ocp.biz.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.pms.ocp.biz.BizModelDemandService; +import com.pms.ocp.model.entity.*; +import com.pms.ocp.model.dto.ModelDemandDTO; +import com.pms.ocp.service.ModelBaseVersionService; +import com.pms.ocp.service.ModelDemandService; +import com.pms.ocp.service.ModelPropertyVersionService; +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 org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +/** + * @Auther: wangjian + * @Date: 2022/4/1 11:19 + * @Description: + */ + +@Service +public class BizModelDemandServiceImpl implements BizModelDemandService { + + @Autowired + private ModelDemandService modelDemandService; + + @Autowired + private ModelBaseVersionService modelBaseVersionService; + + @Autowired + private ModelPropertyVersionService modelPropertyVersionService; + + + @Transactional + @Override + public Integer createModelDemand(ModelDemandDTO modelDemandDTO) { + + ModelDemand modelDemand = new ModelDemand(); + BeanUtils.copyProperties(modelDemandDTO, modelDemand); + modelDemand.setApplyCtime(LocalDateTime.now()); + + if (modelDemandDTO.getTargetType().equals("1")) { + ModelBaseVersion modelBaseVersion = new ModelBaseVersion(); + BeanUtils.copyProperties(modelDemandDTO, modelBaseVersion); + modelBaseVersionService.createModelBaseVersion(modelBaseVersion); + } else { + ModelPropertyVersion modelPropertyVersion = new ModelPropertyVersion(); + BeanUtils.copyProperties(modelDemandDTO, modelPropertyVersion); + modelPropertyVersionService.createModelPropertyVersion(modelPropertyVersion); + } + + modelDemandService.createModelDemand(modelDemand); + + return 1; + } + + @Transactional + @Override + public Integer updateModelDemand(ModelDemandDTO modelDemandDTO) { + ModelDemand modelDemand = new ModelDemand(); + BeanUtils.copyProperties(modelDemandDTO, modelDemand); + modelDemand.setApplyCtime(LocalDateTime.now()); + + if (modelDemandDTO.getTargetType().equals("1")) { + ModelBaseVersion modelBaseVersion = new ModelBaseVersion(); + BeanUtils.copyProperties(modelDemandDTO, modelBaseVersion); + modelBaseVersionService.updateModelBaseVersion(modelBaseVersion); + } else { + ModelPropertyVersion modelPropertyVersion = new ModelPropertyVersion(); + BeanUtils.copyProperties(modelDemandDTO, modelPropertyVersion); + modelPropertyVersionService.updateModelPropertyVersion(modelPropertyVersion); + } + + modelDemandService.updateModelDemand(modelDemand); + return 1; + } + + @Transactional + @Override + public Integer deleteModelDemand(String targetType, String demandId, String modelId, String proId) { + + modelDemandService.deleteModelDemand(modelId, demandId); + + if (StringUtils.isNotEmpty(modelId)) { + + modelBaseVersionService.deleteModelBaseVersion(modelId, demandId); + } + + if (StringUtils.isNotEmpty(proId)) { + + modelPropertyVersionService.deleteModelPropertyVersion(demandId, proId); + } + + return 1; + } + + + @Autowired + private OcpModelGroupService ocpModelGroupService; + + @Override + public Model getModelDemand(String objId, String modelGroupCode) { + return null; + } + +// public List getGroupCodeRecursion(String modelGroupCode) { +// +// +// List modelGroupCodeList = new ArrayList<>(); +// if (StringUtils.isNotEmpty(modelGroupCode)) { +// +// modelGroupCodeList.add(modelGroupCode); +// +// QueryWrapper queryWrapper = new QueryWrapper(); +// if (StringUtils.isNotEmpty(modelGroupCode)) { +// queryWrapper.lambda().eq(ModelClassify::getModelGroupPcode, modelGroupCode); +// } +// List list = ocpModelGroupService.list(queryWrapper); +// +// if (!list.isEmpty()) { +// for (ModelClassify modelClassify : list) { +// +// String modelGroupCode1 = modelClassify.getModelGroupCode(); +// modelGroupCodeList.add(modelGroupCode1); +// +// QueryWrapper queryWrapper1 = new QueryWrapper(); +// +// if (StringUtils.isNotEmpty(modelGroupCode1)) { +// queryWrapper1.lambda().eq(ModelClassify::getModelGroupPcode, modelGroupCode1); +// } +// List list2 = ocpModelGroupService.list(queryWrapper1); +// +// if (!list2.isEmpty()) { +// getGroupCodeRecursion(modelGroupCode1); +// } +// +// } +// } +// +// } +// +// return modelGroupCodeList; +// } + + + @Override + public List getModelDemandList(String objId, String modelGroupCode, int currentPage, int pageSize) { + + List modelGroupCodeList = new ArrayList<>(); + + QueryWrapper queryWrapper = new QueryWrapper(); + List modelClassifyList = ocpModelGroupService.list(queryWrapper); + + getParentNode(modelGroupCodeList, modelClassifyList, modelGroupCode); + modelGroupCodeList.add(modelGroupCode); + modelGroupCodeList.size(); + + + +// List modelBaseVersionList = modelBaseVersionService.getModelBaseVersionList(modelGroupCodeList, currentPage, pageSize); + + return null; + } + + /** + * 递归获取某个父节点下面的所有子节点 + * + * @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()); + }); + } + +} diff --git a/src/main/java/com/pms/ocp/controller/ModelControlDemandController.java b/src/main/java/com/pms/ocp/controller/ModelControlDemandController.java new file mode 100644 index 0000000000000000000000000000000000000000..24fa0864cd6f1adc7e95224e8b555a781d96ab83 --- /dev/null +++ b/src/main/java/com/pms/ocp/controller/ModelControlDemandController.java @@ -0,0 +1,57 @@ +package com.pms.ocp.controller; + +import com.pms.ocp.biz.BizModelDemandService; +import com.pms.ocp.model.dto.ModelDemandDTO; +import com.pms.ocp.model.vo.ResponseVO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @Auther: wangjian + * @Date: 2022/3/29 17:18 + * @Description:模型库管理管控需求接口 + */ + +@Slf4j +@RequestMapping("/model-control/v1") +@RestController +@Api(tags = "模型库管理管控需求接口") +public class ModelControlDemandController { + + @Autowired + private BizModelDemandService bizModelDemandService; + + /** + * 模型需求-增加 + * + * @return + */ + @ApiOperation("模型需求-增加") + @PostMapping("/create/modelDemand") + public ResponseVO createModelDemand(@RequestBody ModelDemandDTO modelDemandDTO) { + + return ResponseVO.ok(bizModelDemandService.createModelDemand(modelDemandDTO)); + } + + /** + * 模型需求-查询列表 + * + * @return + */ + @ApiOperation("模型需求-查询列表") + @GetMapping("/get/modelDemand/list") + public ResponseVO getModelDemandList(@ApiParam(value = "所属级别") @RequestParam(value = "belongLevel", defaultValue = "0") String belongLevel, + @ApiParam(value = "模型编码") @RequestParam(value = "modelGroupCode", required = false) String modelGroupCode, + @ApiParam(value = "当前页") @RequestParam(value = "currentPage") Integer currentPage, + @ApiParam(value = "每页数量") @RequestParam(value = "pageSize") Integer pageSize, + @ApiParam(value = "模糊搜索条件") @RequestParam(value = "searchCondition", required = false) String searchCondition) { + return ResponseVO.ok(bizModelDemandService.getModelDemandList(belongLevel, modelGroupCode, currentPage, pageSize)); + + } + + +} diff --git a/src/main/java/com/pms/ocp/mapper/ModelBaseVersionMapper.java b/src/main/java/com/pms/ocp/mapper/ModelBaseVersionMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..4fa5be7e1cdffb53cf3fa88f7f28bf81e432b5f0 --- /dev/null +++ b/src/main/java/com/pms/ocp/mapper/ModelBaseVersionMapper.java @@ -0,0 +1,15 @@ +package com.pms.ocp.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.pms.ocp.model.entity.ModelBaseVersion; +import org.apache.ibatis.annotations.Mapper; + +/** + * @Auther: wangjian + * @Date: 2022/4/1 09:45 + * @Description:模型基础信息版本数据层接口 + */ + +@Mapper +public interface ModelBaseVersionMapper extends BaseMapper { +} diff --git a/src/main/java/com/pms/ocp/mapper/ModelDemandMapper.java b/src/main/java/com/pms/ocp/mapper/ModelDemandMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..329d58881ba5232dcfe8344a2d94733dd3f820ac --- /dev/null +++ b/src/main/java/com/pms/ocp/mapper/ModelDemandMapper.java @@ -0,0 +1,15 @@ +package com.pms.ocp.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.pms.ocp.model.entity.ModelDemand; +import org.apache.ibatis.annotations.Mapper; + +/** + * @Auther: wangjian + * @Date: 2022/3/29 17:36 + * @Description: + */ + +@Mapper +public interface ModelDemandMapper extends BaseMapper { +} \ No newline at end of file diff --git a/src/main/java/com/pms/ocp/mapper/ModelPropertyVersionMapper.java b/src/main/java/com/pms/ocp/mapper/ModelPropertyVersionMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..d13837d50a51423f3948dd9c9e77e80fed87f117 --- /dev/null +++ b/src/main/java/com/pms/ocp/mapper/ModelPropertyVersionMapper.java @@ -0,0 +1,15 @@ +package com.pms.ocp.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.pms.ocp.model.entity.ModelPropertyVersion; +import org.apache.ibatis.annotations.Mapper; + +/** + * @Auther: wangjian + * @Date: 2022/4/1 09:45 + * @Description:模型基础信息版本数据层接口 + */ + +@Mapper +public interface ModelPropertyVersionMapper extends BaseMapper { +} diff --git a/src/main/java/com/pms/ocp/model/dto/ModelDemandAndPropertyVersionDTO.java b/src/main/java/com/pms/ocp/model/dto/ModelDemandAndPropertyVersionDTO.java new file mode 100644 index 0000000000000000000000000000000000000000..44b8dc53fe697d27ad1c0db2c163fb3aa2cc3986 --- /dev/null +++ b/src/main/java/com/pms/ocp/model/dto/ModelDemandAndPropertyVersionDTO.java @@ -0,0 +1,197 @@ +package com.pms.ocp.model.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Auther: wangjian + * @Date: 2022/3/29 17:27 + * @Description:模型属性需求传输对象 + */ + +@Deprecated +@ApiModel("模型属性需求传输对象") +@Data +public class ModelDemandAndPropertyVersionDTO { + + /** + * 模型编号 + */ + @ApiModelProperty(value = "模型编号") + private String modelId; + + /** + * 属性名称 + */ + @ApiModelProperty(value = "属性名称") + private String columnName; + + /** + * 属性编码 + */ + @ApiModelProperty(value = "属性编码") + private String columnCode; + + /** + * 属性描述 + */ + @ApiModelProperty(value = "属性描述") + private String columnComments; + + /** + * 数据类型 + */ + @ApiModelProperty(value = "数据类型") + private Integer dataType; + + /** + * 数据长度 + */ + @ApiModelProperty(value = "数据长度") + private Integer dataLength; + + /** + * 数据精度 + */ + @ApiModelProperty(value = "数据精度") + private Integer dataScale; + + /** + * 是否主键 + */ + @ApiModelProperty(value = "是否主键") + private Integer boolPk; + + /** + * 是否必填 + */ + @ApiModelProperty(value = "是否必填") + private Integer boolRequired; + + /** + * 推广类型 + */ + @ApiModelProperty(value = "推广类型") + private Integer propPromotion; + + /** + * 是否启用 + */ + @ApiModelProperty(value = "是否启用") + private Integer boolUse; + + /** + * 省公司ID + */ + @ApiModelProperty(value = "省公司ID") + private String companyId; + + /** + * 省公司名称 + */ + @ApiModelProperty(value = "省公司名称") + private String companyName; + + /** + * 显示顺序 + */ + @ApiModelProperty(value = "显示顺序") + private Integer propDispidx; + + /** + * 模型编码 + */ + @ApiModelProperty(value = "模型编码") + private String model_code; + + /** + * 版本 + */ + @ApiModelProperty(value = "版本") + private String demandVersion; + + /** + * 提交人id + */ + @ApiModelProperty(value = "提交人id") + private String applyUserId; + + /** + * 提交人姓名 + */ + @ApiModelProperty(value = "提交人姓名") + private String applyUserName; + + /** + * 流程类型 + */ + @ApiModelProperty(value = "流程类型") + private Integer flowType; + + /** + * 需求描述 + */ + @ApiModelProperty(value = "需求描述") + private String flowMessage; + + /** + * 需求审核状态 + */ + @ApiModelProperty(value = "需求审核状态") + private Integer flowStatus; + + /** + * 审核意见 + */ + @ApiModelProperty(value = "审核意见") + private String flowComment; + + /** + * 审核人id + */ + @ApiModelProperty(value = "审核人id") + private String flowUserId; + + /** + * 审核人姓名 + */ + @ApiModelProperty(value = "审核人姓名") + private String flowUserName; + +} + + +// 字段名称 字段描述 字段类型 允许为NULL 备注 +// demand_id 主键 varchar(42) 否 +// model_id 模型编号 varchar(42) 否 +// prop_id 属性编号 varchar(42) 是 +// demand_version 版本 varchar(10) 是 +// company_id 省公司ID varchar(42) 是 +// company_name 省公司名称 varchar(50) 是 +// apply_user_id 提交人id varchar(42) 否 +// apply_user_name 提交人姓名 varchar(64) 否 +// apply_ctime 创建时间 timestamp(6) 否 +// flow_type 流程类型 int4 否 0:新增,1:迭代 +// flow_message 需求描述 varchar(1000) 是 +// flow_statu 需求审核状态 int4 是 0:不同意, 1:同意 +// flow_comment 审核意见 varchar(100) 是 +// flow_user_id 审核人id "varchar(42) " 是 +// flow_user_name 审核人姓名 varchar(64) 是 +// flow_mtime 审核时间 timestamp(6) 是 + + +// "applyUserId": "", +// "applyUserName": "", +// "companyId": "", +// "companyName": "", +// "demandVersion": "", +// "flowComment": "", +// "flowMessage": "", +// "flowStatu": 0, +// "flowType": 0, +// "flowUserId": "", +// "flowUserName": "", +// "model_code": "", +// "model_name": "", +// "model_table": "" diff --git a/src/main/java/com/pms/ocp/model/dto/ModelDemandDTO.java b/src/main/java/com/pms/ocp/model/dto/ModelDemandDTO.java new file mode 100644 index 0000000000000000000000000000000000000000..1bc696aae9bf2c78697e65d40245c9abf5c27189 --- /dev/null +++ b/src/main/java/com/pms/ocp/model/dto/ModelDemandDTO.java @@ -0,0 +1,215 @@ +package com.pms.ocp.model.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Auther: wangjian + * @Date: 2022/3/29 17:27 + * @Description:模型需求传输对象 + */ + +@ApiModel("模型需求传输对象") +@Data +public class ModelDemandDTO { + + /** + * 目标类型 + */ + @ApiModelProperty(value = "目标类型(1=表;2=属性)") + private String targetType; + + + /** + * 模型编号 + */ + @ApiModelProperty(value = "模型编号") + private String modelId; + + /** + * 属性名称 + */ + @ApiModelProperty(value = "属性名称") + private String columnName; + + /** + * 属性编码 + */ + @ApiModelProperty(value = "属性编码") + private String columnCode; + + /** + * 属性描述 + */ + @ApiModelProperty(value = "属性描述") + private String columnComments; + + /** + * 数据类型 + */ + @ApiModelProperty(value = "数据类型") + private Integer dataType; + + /** + * 数据长度 + */ + @ApiModelProperty(value = "数据长度") + private Integer dataLength; + + /** + * 数据精度 + */ + @ApiModelProperty(value = "数据精度") + private Integer dataScale; + + /** + * 是否主键 + */ + @ApiModelProperty(value = "是否主键") + private Integer boolPk; + + /** + * 是否必填 + */ + @ApiModelProperty(value = "是否必填") + private Integer boolRequired; + + /** + * 推广类型 + */ + @ApiModelProperty(value = "推广类型") + private Integer propPromotion; + + /** + * 是否启用 + */ + @ApiModelProperty(value = "是否启用") + private Integer boolUse; + + /** + * 省公司ID + */ + @ApiModelProperty(value = "省公司ID") + private String companyId; + + /** + * 省公司名称 + */ + @ApiModelProperty(value = "省公司名称") + private String companyName; + + /** + * 显示顺序 + */ + @ApiModelProperty(value = "显示顺序") + private Integer propDispidx; + + /** + * 模型编码 + */ + @ApiModelProperty(value = "模型编码") + private String model_code; + + /** + * 版本 + */ + @ApiModelProperty(value = "版本") + private String demandVersion; + + /** + * 提交人id + */ + @ApiModelProperty(value = "提交人id") + private String applyUserId; + + /** + * 提交人姓名 + */ + @ApiModelProperty(value = "提交人姓名") + private String applyUserName; + + /** + * 流程类型 + */ + @ApiModelProperty(value = "流程类型") + private Integer flowType; + + /** + * 需求描述 + */ + @ApiModelProperty(value = "需求描述") + private String flowMessage; + + /** + * 需求审核状态 + */ + @ApiModelProperty(value = "需求审核状态") + private Integer flowStatus; + + /** + * 审核意见 + */ + @ApiModelProperty(value = "审核意见") + private String flowComment; + + /** + * 审核人id + */ + @ApiModelProperty(value = "审核人id") + private String flowUserId; + + /** + * 审核人姓名 + */ + @ApiModelProperty(value = "审核人姓名") + private String flowUserName; + + /** + * 模型名称 + */ + @ApiModelProperty(value = "模型名称") + private String model_name; + + /** + * 模型表名称 + */ + @ApiModelProperty(value = "模型表名称") + private String model_table; + +} + + +// 字段名称 字段描述 字段类型 允许为NULL 备注 +// demand_id 主键 varchar(42) 否 +// model_id 模型编号 varchar(42) 否 +// prop_id 属性编号 varchar(42) 是 +// demand_version 版本 varchar(10) 是 +// company_id 省公司ID varchar(42) 是 +// company_name 省公司名称 varchar(50) 是 +// apply_user_id 提交人id varchar(42) 否 +// apply_user_name 提交人姓名 varchar(64) 否 +// apply_ctime 创建时间 timestamp(6) 否 +// flow_type 流程类型 int4 否 0:新增,1:迭代 +// flow_message 需求描述 varchar(1000) 是 +// flow_statu 需求审核状态 int4 是 0:不同意, 1:同意 +// flow_comment 审核意见 varchar(100) 是 +// flow_user_id 审核人id "varchar(42) " 是 +// flow_user_name 审核人姓名 varchar(64) 是 +// flow_mtime 审核时间 timestamp(6) 是 + + +// "applyUserId": "", +// "applyUserName": "", +// "companyId": "", +// "companyName": "", +// "demandVersion": "", +// "flowComment": "", +// "flowMessage": "", +// "flowStatu": 0, +// "flowType": 0, +// "flowUserId": "", +// "flowUserName": "", +// "model_code": "", +// "model_name": "", +// "model_table": "" diff --git a/src/main/java/com/pms/ocp/model/entity/ModelBaseVersion.java b/src/main/java/com/pms/ocp/model/entity/ModelBaseVersion.java new file mode 100644 index 0000000000000000000000000000000000000000..c0f9ac6cf655c41f7a52669613ce7b994fcdbf8a --- /dev/null +++ b/src/main/java/com/pms/ocp/model/entity/ModelBaseVersion.java @@ -0,0 +1,87 @@ +package com.pms.ocp.model.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * @Auther: wangjian + * @Date: 2022/3/30 17:17 + * @Description:模型基础信息版本表对象 + */ + +@Data +@TableName("ocp_model_base_ver") +public class ModelBaseVersion { + + /** + * 主键 + */ + @TableId(value = "model_id", type = IdType.ASSIGN_ID) + private String modelId; + + /** + * 模型名称 + */ + private String modelName; + + /** + * 模型编码 + */ + private String modelCode; + + /** + * 模型分类id + */ + private String modelGroupId; + + /** + * 模型分类编码 + */ + private String modelGroupCode; + + /** + * 模型分类名称 + */ + private String modelGroupName; + + /** + * 模型表名称 + */ + private String modelTable; + + /** + * 模型关联关系 + */ + private String modelRelation; + + /** + * 推广类型 + */ + private Integer modelPromotion; + + /** + * 省公司ID + */ + private String companyId; + + /** + * 省公司名称 + */ + private String companyName; + +} + + +// 字段名称 字段描述 字段类型 允许为NULL 备注 +// model_id 主键 varchar(40) 否 +// model_name 模型名称 varchar(50) 否 +// model_code 模型编码 varchar(42) 否 +// model_group_id 模型分类id varchar(42) 否 +// model_group_name 模型分类名称 varchar(50) 否 +// model_table 模型表名称 varchar(50) 否 +// model_relation 模型关联关系 text 是 存储模型之间的关系json格式;例如[{ model_group_id : t_public_manage_model_group.group_id}] +// model_promotion 推广类型 int4 否 0:统推,1:自建 +// company_id 省公司ID varchar(42) 是 +// company_name 省公司名称 varchar(50) 是 diff --git a/src/main/java/com/pms/ocp/model/entity/ModelDemand.java b/src/main/java/com/pms/ocp/model/entity/ModelDemand.java new file mode 100644 index 0000000000000000000000000000000000000000..baacdefeac114960cf8b9e00bdcbfe41187a0038 --- /dev/null +++ b/src/main/java/com/pms/ocp/model/entity/ModelDemand.java @@ -0,0 +1,118 @@ +package com.pms.ocp.model.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * @Auther: wangjian + * @Date: 2022/3/29 17:27 + * @Description:模型需求对象 + */ + +@Data +@TableName("ocp_model_demand") +public class ModelDemand { + + /** + * 主键 + */ + @TableId("demand_id") + private String demandId; + + /** + * 模型编号 + */ + private String modelId; + + /** + * 属性编号 + */ + private String propId; + + /** + * 版本 + */ + private String demandVersion; + + /** + * 省公司ID + */ + private String companyId; + + /** + * 省公司名称 + */ + private String companyName; + + /** + * 提交人id + */ + private String applyUserId; + + /** + * 提交人姓名 + */ + private String applyUserName; + + /** + * 创建时间 + */ + private LocalDateTime applyCtime; + + /** + * 流程类型 + */ + private Integer flowType; + + /** + * 需求描述 + */ + private String flowMessage; + + /** + * 需求审核状态 + */ + private Integer flowStatus; + + /** + * 审核意见 + */ + private String flowComment; + + /** + * 审核人id + */ + private String flowUserId; + + /** + * 审核人姓名 + */ + private String flowUserName; + + /** + * 审核时间 + */ + private LocalDateTime flowMtime; +} + + +// 字段名称 字段描述 字段类型 允许为NULL 备注 +// demand_id 主键 varchar(42) 否 +// model_id 模型编号 varchar(42) 否 +// prop_id 属性编号 varchar(42) 是 +// demand_version 版本 varchar(10) 是 +// company_id 省公司ID varchar(42) 是 +// company_name 省公司名称 varchar(50) 是 +// apply_user_id 提交人id varchar(42) 否 +// apply_user_name 提交人姓名 varchar(64) 否 +// apply_ctime 创建时间 timestamp(6) 否 +// flow_type 流程类型 int4 否 0:新增,1:迭代 +// flow_message 需求描述 varchar(1000) 是 +// flow_statu 需求审核状态 int4 是 0:不同意, 1:同意 +// flow_comment 审核意见 varchar(100) 是 +// flow_user_id 审核人id "varchar(42) " 是 +// flow_user_name 审核人姓名 varchar(64) 是 +// flow_mtime 审核时间 timestamp(6) 是 diff --git a/src/main/java/com/pms/ocp/model/entity/ModelPropertyVersion.java b/src/main/java/com/pms/ocp/model/entity/ModelPropertyVersion.java new file mode 100644 index 0000000000000000000000000000000000000000..7b56babb7d90c8736c187f16ec40b838f68a10b3 --- /dev/null +++ b/src/main/java/com/pms/ocp/model/entity/ModelPropertyVersion.java @@ -0,0 +1,116 @@ +package com.pms.ocp.model.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * @Auther: wangjian + * @Date: 2022/3/30 17:26 + * @Description:模型属性版本表对象 + */ + +@Data +@TableName("ocp_model_prop_ver") +public class ModelPropertyVersion { + + /** + * 主键 + */ + @TableId(value = "prop_id", type = IdType.ASSIGN_ID) + private String propId; + + /** + * 模型id + */ + private String modelId; + + /** + * 属性名称 + */ + private String columnName; + + /** + * 属性编码 + */ + private String columnCode; + + /** + * 属性描述 + */ + private String columnComments; + + /** + * 数据类型 + */ + private Integer dataType; + + /** + * 数据长度 + */ + private Integer dataLength; + + /** + * 数据精度 + */ + private Integer dataScale; + + /** + * 是否主键 + */ + @TableField("is_pk") + private Integer boolPk; + + /** + * 是否必填 + */ + @TableField("is_required") + private Integer boolRequired; + + /** + * 推广类型 + */ + private Integer propPromotion; + + /** + * 是否启用 + */ + @TableField("is_use") + private Integer boolUse; + + /** + * 省公司ID + */ + private String companyId; + + /** + * 省公司名称 + */ + private String companyName; + + /** + * 显示顺序 + */ + private Integer propDispidx; + +} + +// t_public_manage_model_prop_ver +// 字段名称 字段描述 字段类型 允许为NULL 备注 +// prop_id 主键 varchar(42) 否 +// model_id 模型id varchar(42) 否 +// column_name 属性名称 varchar(50) 否 +// column_code 属性编码 varchar(42) 否 +// column_comments 属性描述 varchar(50) 否 +// data_type 数据类型 int4 否 +// data_length 数据长度 int4 是 +// data_scale 数据精度 int4 是 +// is_pk 是否主键 int4 否 0:否,1:是 +// is_required 是否必填 int4 是 0:否,1:是 +// prop_promotion 推广类型 int4 是 0:统推,1:自建 +// is_use 是否启用 int4 0:待启用,1:启用,2:废弃 +// company_id 省公司ID varchar(42) 是 +// company_name 省公司名称 varchar(50) 是 +// prop_dispidx 显示顺序 int4 否 diff --git a/src/main/java/com/pms/ocp/service/ModelBaseVersionService.java b/src/main/java/com/pms/ocp/service/ModelBaseVersionService.java new file mode 100644 index 0000000000000000000000000000000000000000..fc058ba11c7e2e5c38be7512553ab82579ca6a46 --- /dev/null +++ b/src/main/java/com/pms/ocp/service/ModelBaseVersionService.java @@ -0,0 +1,48 @@ +package com.pms.ocp.service; + +import com.pms.ocp.model.entity.ModelBaseVersion; +import com.pms.ocp.model.vo.ResponseVO; + +import java.util.List; + +/** + * @Auther: wangjian + * @Date: 2022/4/1 09:47 + * @Description:模型基础信息版本业务层接口 + */ +public interface ModelBaseVersionService { + + /** + * 创建模型基础版本信息 + * + * @param modelBaseVersion + * @return + */ + Integer createModelBaseVersion(ModelBaseVersion modelBaseVersion); + + /** + * 删除模型基础版本信息 + * + * @param modelId + * @param modelCode + * @return + */ + Integer deleteModelBaseVersion(String modelId, String modelCode); + + /** + * 更新模型基础版本信息 + * + * @param modelBaseVersion + * @return + */ + Integer updateModelBaseVersion(ModelBaseVersion modelBaseVersion); + + /** + * 获取模型列表 + * + * @param modelCodeList + * @return + */ + ResponseVO getModelBaseVersionList(List modelCodeList, Integer currentPage, Integer pageSize); + +} diff --git a/src/main/java/com/pms/ocp/service/ModelDemandService.java b/src/main/java/com/pms/ocp/service/ModelDemandService.java new file mode 100644 index 0000000000000000000000000000000000000000..2302c1386b72e3bf9295ad3cc77eb52826416a9f --- /dev/null +++ b/src/main/java/com/pms/ocp/service/ModelDemandService.java @@ -0,0 +1,57 @@ +package com.pms.ocp.service; + +import com.pms.ocp.model.dto.ModelDTO; +import com.pms.ocp.model.entity.ModelDemand; + +import java.util.List; + +/** + * @Auther: wangjian + * @Date: 2022/3/29 17:43 + * @Description:模型需求业务层接口 + */ +public interface ModelDemandService { + + /** + * 创建模型需求 + * + * @param modelDemand + * @return + */ + Integer createModelDemand(ModelDemand modelDemand); + + /** + * 删除模型需求 + * + * @param demandId + * @param modelId + * @return + */ + Integer deleteModelDemand(String demandId, String modelId); + + /** + * 更新模型需求 + * + * @param modelDemand + * @return + */ + Integer updateModelDemand(ModelDemand modelDemand); + + /** + * 获取模型需求 + * + * @param + * @return + */ + List getModelDemandList(List modelIds); + + /** + * 获取模型需求列表 + * + * @param objId + * @param modelCode + * @return + */ + ModelDemand getModelDemand(String objId, String modelCode); + +} diff --git a/src/main/java/com/pms/ocp/service/ModelPropertyVersionService.java b/src/main/java/com/pms/ocp/service/ModelPropertyVersionService.java new file mode 100644 index 0000000000000000000000000000000000000000..6835d346acfc096a24007de9c5a89c061b89cf15 --- /dev/null +++ b/src/main/java/com/pms/ocp/service/ModelPropertyVersionService.java @@ -0,0 +1,37 @@ +package com.pms.ocp.service; + +import com.pms.ocp.model.entity.ModelPropertyVersion; + +/** + * @Auther: wangjian + * @Date: 2022/4/1 09:47 + * @Description:模型属性版本业务层接口 + */ +public interface ModelPropertyVersionService { + + /** + * 创建模型属性版本信息 + * + * @param modelPropertyVersion + * @return + */ + Integer createModelPropertyVersion(ModelPropertyVersion modelPropertyVersion); + + /** + * 删除模型属性版本信息 + * + * @param columnCode + * @param propId + * @return + */ + Integer deleteModelPropertyVersion(String propId, String columnCode); + + /** + * 更新模型属性版本信息 + * + * @param modelPropertyVersion + * @return + */ + Integer updateModelPropertyVersion(ModelPropertyVersion modelPropertyVersion); + +} diff --git a/src/main/java/com/pms/ocp/service/ModelService.java b/src/main/java/com/pms/ocp/service/ModelService.java index d526bfe88a350553491e9887ccf823c8f0bb38f7..7ec88a2dfdc3f19f730d5ca7dccc530fe61f1e10 100644 --- a/src/main/java/com/pms/ocp/service/ModelService.java +++ b/src/main/java/com/pms/ocp/service/ModelService.java @@ -49,7 +49,7 @@ public interface ModelService { Boolean importModel(MultipartFile file) throws IOException; /** - * 获取模型 + * 获取模型列表 * * @param * @return @@ -57,7 +57,7 @@ public interface ModelService { List getModelList(String objId, String modelCode, List ownerCompanyCodes, List modelGroupCodes); /** - * 获取模型列表 + * 获取模型 * * @param objId * @param modelCode @@ -65,5 +65,15 @@ public interface ModelService { */ Model getModel(String objId, String modelCode); + /** + * 获取模型列表 + * + * @param belongLevel + * @param modelCode + * @param currentPage + * @param pageSize + * @param searchCondition + * @return + */ ResponseVO getModeBaselList(String belongLevel, String modelCode, Integer currentPage, Integer pageSize, String searchCondition); } diff --git a/src/main/java/com/pms/ocp/service/impl/ModelBaseVersionServiceImpl.java b/src/main/java/com/pms/ocp/service/impl/ModelBaseVersionServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..b56731ed26eb0441e84b9cf143bbdf09c94170ef --- /dev/null +++ b/src/main/java/com/pms/ocp/service/impl/ModelBaseVersionServiceImpl.java @@ -0,0 +1,69 @@ +package com.pms.ocp.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.pms.ocp.mapper.ModelBaseVersionMapper; +import com.pms.ocp.model.entity.ModelBaseVersion; +import com.pms.ocp.model.vo.ResponseVO; +import com.pms.ocp.service.ModelBaseVersionService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @Auther: wangjian + * @Date: 2022/4/1 11:21 + * @Description:模型基础信息版本需求业务接口实现层 + */ + +@Service +public class ModelBaseVersionServiceImpl implements ModelBaseVersionService { + + @Autowired + private ModelBaseVersionMapper modelBaseVersionMapper; + + @Override + public Integer createModelBaseVersion(ModelBaseVersion modelBaseVersion) { + + return modelBaseVersionMapper.insert(modelBaseVersion); + } + + @Override + public Integer deleteModelBaseVersion(String modelId, String modelCode) { + QueryWrapper queryWrapper = new QueryWrapper(); + + if (StringUtils.isNotEmpty(modelId)) { + queryWrapper.lambda().eq(ModelBaseVersion::getModelId, modelId); + } + + if (StringUtils.isNotEmpty(modelCode)) { + queryWrapper.lambda().eq(ModelBaseVersion::getModelCode, modelCode); + } + + return modelBaseVersionMapper.delete(queryWrapper); + } + + @Override + public Integer updateModelBaseVersion(ModelBaseVersion modelBaseVersion) { + + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + + updateWrapper.lambda().eq(ModelBaseVersion::getModelId, modelBaseVersion.getModelId()); + + return modelBaseVersionMapper.update(modelBaseVersion, updateWrapper); + } + + @Override + public ResponseVO getModelBaseVersionList(List modelGroupCodeList, Integer currentPage, Integer pageSize) { + + QueryWrapper queryWrapper = new QueryWrapper(); + + if (!modelGroupCodeList.isEmpty()) { + queryWrapper.lambda().in(ModelBaseVersion::getModelGroupCode, modelGroupCodeList); + } + modelBaseVersionMapper.selectList(queryWrapper); + return null; + } +} diff --git a/src/main/java/com/pms/ocp/service/impl/ModelDemandServiceImpl.java b/src/main/java/com/pms/ocp/service/impl/ModelDemandServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..20af383bb801dd0b5eec136263c7960d7255760f --- /dev/null +++ b/src/main/java/com/pms/ocp/service/impl/ModelDemandServiceImpl.java @@ -0,0 +1,71 @@ +package com.pms.ocp.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.pms.ocp.mapper.ModelDemandMapper; +import com.pms.ocp.model.entity.ModelDemand; +import com.pms.ocp.service.ModelDemandService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @Auther: wangjian + * @Date: 2022/3/29 17:43 + * @Description:模型需求业务层接口实现 + */ + +@Service +public class ModelDemandServiceImpl implements ModelDemandService { + + @Autowired + private ModelDemandMapper modelDemandMapper; + + @Override + public Integer createModelDemand(ModelDemand modelDemand) { + return modelDemandMapper.insert(modelDemand); + } + + @Override + public Integer deleteModelDemand(String demandId, String modelId) { + QueryWrapper queryWrapper = new QueryWrapper(); + + if (StringUtils.isNotEmpty(demandId)) { + queryWrapper.lambda().eq(ModelDemand::getDemandId, demandId); + } + + if (StringUtils.isNotEmpty(modelId)) { + queryWrapper.lambda().eq(ModelDemand::getModelId, modelId); + } + + return modelDemandMapper.delete(queryWrapper); + } + + @Override + public Integer updateModelDemand(ModelDemand modelDemand) { + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + + updateWrapper.lambda().eq(ModelDemand::getDemandId, modelDemand.getDemandId()); + + return modelDemandMapper.update(modelDemand, updateWrapper); + } + + @Override + public List getModelDemandList(List modelIds) { + + QueryWrapper wrapper = new QueryWrapper<>(); + + if (!modelIds.isEmpty()) { + wrapper.lambda().in(ModelDemand::getModelId, modelIds); + } + + return modelDemandMapper.selectList(wrapper); + } + + @Override + public ModelDemand getModelDemand(String objId, String modelCode) { + return null; + } +} diff --git a/src/main/java/com/pms/ocp/service/impl/ModelPropertyVersionServiceImpl.java b/src/main/java/com/pms/ocp/service/impl/ModelPropertyVersionServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..3aa8750443a658e5b1979e74e1c255a3d1218dcb --- /dev/null +++ b/src/main/java/com/pms/ocp/service/impl/ModelPropertyVersionServiceImpl.java @@ -0,0 +1,53 @@ +package com.pms.ocp.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.pms.ocp.mapper.ModelPropertyVersionMapper; +import com.pms.ocp.model.entity.ModelPropertyVersion; +import com.pms.ocp.service.ModelPropertyVersionService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Auther: wangjian + * @Date: 2022/4/1 14:57 + * @Description:模型属性版本业务层接口实现 + */ + +@Service +public class ModelPropertyVersionServiceImpl implements ModelPropertyVersionService { + + @Autowired + private ModelPropertyVersionMapper modelPropertyVersionMapper; + + @Override + public Integer createModelPropertyVersion(ModelPropertyVersion modelPropertyVersion) { + + return modelPropertyVersionMapper.insert(modelPropertyVersion); + } + + @Override + public Integer deleteModelPropertyVersion(String propId, String columnCode) { + QueryWrapper queryWrapper = new QueryWrapper(); + + if (StringUtils.isNotEmpty(propId)) { + queryWrapper.lambda().eq(ModelPropertyVersion::getPropId, propId); + } + + if (StringUtils.isNotEmpty(columnCode)) { + queryWrapper.lambda().eq(ModelPropertyVersion::getColumnCode, columnCode); + } + + return modelPropertyVersionMapper.delete(queryWrapper); + } + + @Override + public Integer updateModelPropertyVersion(ModelPropertyVersion modelPropertyVersion) { + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + + updateWrapper.lambda().eq(ModelPropertyVersion::getModelId, modelPropertyVersion.getModelId()); + + return modelPropertyVersionMapper.update(modelPropertyVersion, updateWrapper); + } +} diff --git a/src/main/resources/application-local.yml b/src/main/resources/application-local.yml index 14636013b4c51929a3a1f94fb6a23df332dd1d1f..f5b7e71a9a2bdcc97fa67d831a94ee73a18a33a6 100644 --- a/src/main/resources/application-local.yml +++ b/src/main/resources/application-local.yml @@ -2,11 +2,11 @@ spring: datasource: driver-class-name: org.postgresql.Driver username: postgres - password: root + 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/postgres?currentSchema=operating_platform&stringtype=unspecified&TimeZone=Asia/Shanghai&useAffectedRows=true + url: jdbc:postgresql://localhost:5432/operatemonitordb?currentSchema=operating_platform&stringtype=unspecified&TimeZone=Asia/Shanghai&useAffectedRows=true knife4j: enable: true