Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -67,25 +67,18 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import plm.bs.bom.clientobject.ClientBusinessObject; import javax.annotation.Resource; import java.beans.BeanInfo; import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.math.BigDecimal; import java.sql.SQLException; import java.sql.Timestamp; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.ZonedDateTime; import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java.util.function.Supplier; import java.util.stream.Collectors; import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.DATA_OID_NOT_EXIST; Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -35,6 +35,7 @@ import com.vci.ubcs.starter.web.toolmodel.DateConverter; import com.vci.ubcs.starter.web.util.*; import lombok.AllArgsConstructor; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.poi.hssf.usermodel.HSSFRichTextString; import org.apache.poi.hssf.usermodel.HSSFWorkbook; @@ -46,7 +47,6 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -62,7 +62,7 @@ import static com.vci.ubcs.code.constant.MdmEngineConstant.*; import static com.vci.ubcs.starter.poi.util.ExcelUtil.*; @AllArgsConstructor @RequiredArgsConstructor @Service @Slf4j public class MdmIOServiceImpl implements MdmIOService { Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/ClientBusinessObject.java
@@ -1,7 +1,6 @@ package com.vci.ubcs.code.util; import com.vci.ubcs.code.bo.AttributeValue; import com.vci.ubcs.code.vo.pagemodel.BaseModelVO; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.revision.model.BaseModel; import lombok.Data; Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/AttributeController.java
@@ -134,15 +134,15 @@ /** * 删除 * @param ids 主键集合 * @param oid 主键集合 * @return 执行结果 */ @PostMapping("/remove") @ApiOperationSupport(order = 4) @ApiOperation(value = "删除", notes = "主键集合") public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String oid) { CacheUtil.clear(OmdCacheConstant.ATTR_CACHE); return R.status(attributeService.removeAttrs(ids)); return attributeService.remove(oid); } /** Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/RevisionRuleController.java
@@ -1,5 +1,6 @@ package com.vci.ubcs.omd.controller; import com.alibaba.cloud.commons.lang.StringUtils; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.vci.ubcs.omd.dto.RevisionRuleDTO; @@ -12,11 +13,14 @@ import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.BeanUtil; import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; import java.util.List; import java.util.Map; /** * Description: 版本规则控制器 @@ -49,8 +53,8 @@ @GetMapping("page") @ApiOperationSupport(order = 2) @ApiOperation(value = "分页查询版本规则",notes = "分页查询版本规则") public R<IPage<RevisionRuleVO>> page(BaseQueryObject baseQueryObject){ return R.data(revisionRuleService.pageQueryVO(baseQueryObject)); public R<IPage<RevisionRuleVO>> page(@ApiIgnore @RequestParam Map<String, Object> condition, Query query){ return R.data(revisionRuleService.pageQueryVO(condition,query)); } /** @@ -60,7 +64,11 @@ @ApiOperationSupport(order = 3) @ApiOperation(value = "新增或修改",notes = "传入版本规则页面对象") public R<RevisionRuleVO> submit(@RequestBody RevisionRuleDTO ruleDTO){ if (StringUtils.isBlank(ruleDTO.getOid())) { return R.data(revisionRuleService.addSave(ruleDTO)); }else { return R.data(revisionRuleService.editSave(ruleDTO)); } } /** Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/StatusController.java
@@ -1,5 +1,6 @@ package com.vci.ubcs.omd.controller; import com.alibaba.cloud.commons.lang.StringUtils; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.vci.ubcs.omd.entity.Status; @@ -11,9 +12,11 @@ import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.BeanUtil; import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; import java.util.HashMap; import java.util.List; @@ -50,12 +53,8 @@ @GetMapping("page") @ApiOperationSupport(order = 2) @ApiOperation(value = "分页查询状态池",notes = "分页查询状态池") public R<IPage<StatusVO>> page(BaseQueryObject baseQueryObject){ Map<String, String> conditionMap = baseQueryObject.getConditionMap(); if (conditionMap == null){ conditionMap = new HashMap<>(); } return R.data(statusService.listStatus(conditionMap,baseQueryObject.getPageHelper())); public R<IPage<StatusVO>> page(@ApiIgnore @RequestParam Map<String, Object> condition, Query query){ return R.data(statusService.listStatus(condition,query)); } /** @@ -65,7 +64,11 @@ @ApiOperationSupport(order = 3) @ApiOperation(value = "新增或修改",notes = "传入状态池页面对象") public R<StatusVO> submit(@RequestBody StatusVO statusVO){ if (StringUtils.isBlank(statusVO.getOid())){ return R.data(statusService.addSave(statusVO)); }else { return R.data(statusService.editSave(statusVO)); } } /** Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/RevisionRuleClient.java
@@ -13,6 +13,7 @@ import org.springblade.core.mp.support.Query; import org.springblade.core.tenant.annotation.NonDS; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.BeanUtil; import org.springframework.cglib.beans.BeanMap; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @@ -54,7 +55,16 @@ @GetMapping(GET_REF_PAGE) @Override public R<IPage<RevisionRuleVO>> getRefPage(BaseQueryObject baseQueryObject) { return R.data(service.pageQueryVO(baseQueryObject)); Map<String, String> conditionMap = baseQueryObject.getConditionMap(); if (conditionMap == null){ conditionMap = new HashMap<>(); } Query query = new Query(); query.setSize(baseQueryObject.getLimit()); query.setCurrent(baseQueryObject.getPage()); Map<String,Object> condition = new HashMap<>(); BeanUtil.copy(conditionMap,condition); return R.data(service.pageQueryVO(condition,query)); } /** Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/StatusClient.java
@@ -8,8 +8,10 @@ import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject; import com.vci.ubcs.starter.web.util.VciBaseUtil; import lombok.AllArgsConstructor; import org.springblade.core.mp.support.Query; import org.springblade.core.tenant.annotation.NonDS; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.StringUtil; import org.springframework.web.bind.annotation.RestController; @@ -44,7 +46,12 @@ if (conditionMap == null) { conditionMap = new HashMap<>(16); } return R.data(service.listStatus(conditionMap,baseQueryObject.getPageHelper())); Map<String,Object> condition = new HashMap<>(); BeanUtil.copy(conditionMap,condition); Query query = new Query(); query.setCurrent(baseQueryObject.getPage()); query.setSize(baseQueryObject.getLimit()); return R.data(service.listStatus(condition,query)); } /** Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/RevisionRuleMapper.java
@@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.vci.ubcs.omd.entity.RevisionRule; import java.util.Collection; import java.util.List; /** * Description: 版本规则数据层 * @@ -11,4 +14,10 @@ */ public interface RevisionRuleMapper extends BaseMapper<RevisionRule> { /** * 按编号忽略大小写查询 * @param records 记录 * @return */ List<RevisionRule> selectByIdIgnoreCase(Collection<String> records); } Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/StatusMapper.java
@@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.vci.ubcs.omd.entity.Status; import java.util.Collection; import java.util.List; /** * Description: 状态池数据层 * @@ -10,4 +13,10 @@ * @date 2023/5/23 */ public interface StatusMapper extends BaseMapper<Status> { /** * 忽略大小写的查询 * @param records * @return */ List<Status> selectByIdIgnoreCase(Collection<String> records); } Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IAttributeService.java
@@ -7,6 +7,7 @@ import com.vci.ubcs.omd.vo.BtmTypeVO; import com.vci.ubcs.starter.exception.VciBaseException; import org.springblade.core.mp.base.BaseService; import org.springblade.core.tool.api.R; import java.util.Collection; import java.util.List; @@ -84,4 +85,12 @@ * @throws VciBaseException 不符合时抛出异常 */ boolean checkAttribute(BtmTypeLinkAttributesDTO attributesDTO) throws VciBaseException; /** * 单个删除 * * @param oid 主键 * @return 执行结果 */ R remove(String oid); } Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IRevisionRuleService.java
@@ -182,11 +182,12 @@ /** * 分页查询 * @param baseQueryObject 查询对象 * @param query 分页 * @param condition 查询条件 * @return 查询结果 * @throws VciBaseException 查询出错时抛出异常 */ IPage<RevisionRuleVO> pageQueryVO(BaseQueryObject baseQueryObject) throws VciBaseException; IPage<RevisionRuleVO> pageQueryVO(Map<String, Object> condition, Query query) throws VciBaseException; /** * 查看应用范围 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IStatusService.java
@@ -5,7 +5,7 @@ import com.vci.ubcs.omd.entity.Status; import com.vci.ubcs.omd.vo.StatusVO; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.web.pagemodel.PageHelper; import org.springblade.core.mp.support.Query; import java.util.Collection; import java.util.List; @@ -26,7 +26,7 @@ * @return 状态对象列表 * @throws VciBaseException 查询出错时会抛出异常 */ IPage<StatusVO> listStatus(Map<String,String> conditionMap, PageHelper pageHelper) throws VciBaseException; IPage<StatusVO> listStatus(Map<String, Object> conditionMap, Query pageHelper) throws VciBaseException; /** * 获取状态列表 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/AttributeServiceImpl.java
@@ -4,15 +4,12 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.vci.ubcs.omd.constant.OmdCacheConstant; import com.vci.ubcs.omd.dto.AttributeDTO; import com.vci.ubcs.omd.dto.BtmTypeLinkAttributesDTO; import com.vci.ubcs.omd.entity.Attribute; import com.vci.ubcs.omd.entity.BtmType; import com.vci.ubcs.omd.entity.BtmTypeAttribute; import com.vci.ubcs.omd.mapper.AttributeMapper; import com.vci.ubcs.omd.mapper.BtmTypeMapper; import com.vci.ubcs.omd.service.IAttributeService; import com.vci.ubcs.omd.vo.AttributeVO; import com.vci.ubcs.omd.vo.BtmTypeVO; @@ -24,14 +21,11 @@ import com.vci.ubcs.starter.web.util.VciBaseUtil; import org.springblade.core.cache.utils.CacheUtil; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.tool.constant.BladeConstant; import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import javax.validation.constraints.NotEmpty; import java.util.ArrayList; import java.util.Collection; @@ -82,13 +76,14 @@ */ @Override public boolean submit(AttributeDTO dto) { VciBaseUtil.alertNotNull(dto.getId(),"属性编号",dto.getName(),"属性名称",dto.getTypeKey(),"属性类型",dto.getMaxLength(),"属性长度"); if (!Pattern.compile(REGEXP).matcher(dto.getId()).matches()){ throw new VciBaseException("属性名称{0}只能是英文",new Object[]{dto.getId()}); throw new VciBaseException("属性编号{0}只能是英文",new Object[]{dto.getId()}); } LambdaQueryWrapper<Attribute> wrapper = Wrappers.<Attribute>query().lambda().eq(Attribute::getId, dto.getId()); Long count = baseMapper.selectCount((Func.isEmpty(dto.getOid())) ? wrapper : wrapper.notIn(Attribute::getOid, dto.getOid())); if (count > 0L) { throw new ServiceException("属性名已存在!"); throw new ServiceException("属性编号已存在!"); } Attribute attribute = AttributeWrapper.build().copyBeforeSave(dto); CacheUtil.clear(OmdCacheConstant.ATTR_CACHE); @@ -98,13 +93,17 @@ /** * 删除 * * @param ids 主键集合 * @param oids 主键集合 * @return 执行结果 */ @Override public boolean removeAttrs(String ids) { List<Long> idList = Func.toLongList(ids); return !deleteLogic(idList) && removeByIds(idList); public boolean removeAttrs(String oids) { List<String> oidList = Func.toStrList(",", oids); List<Attribute> list = list(Wrappers.<Attribute>query().lambda().in(Attribute::getOid, oidList)); if (!CollectionUtils.isEmpty(list)){ baseMapper.delete(Wrappers.<Attribute>query().lambda().in(Attribute::getOid,list.stream().map(Attribute::getOid).collect(Collectors.toList()))); } return true; } /** @@ -243,4 +242,20 @@ } return pass; } /** * 单个删除 * * @param oid 主键 * @return 执行结果 */ @Override public R remove(String oid) { List<BtmTypeVO> vos = applyRange(oid); if (CollectionUtils.isEmpty(vos)){ return R.status(removeAttrs(oid)); }else { return R.fail("该属性已被使用,不允许删除"); } } } Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/RevisionRuleServiceImpl.java
@@ -148,8 +148,7 @@ @Override public List<RevisionRuleVO> listRevisionRuleByIdCollection(Collection<String> revisionRuleIdCollection) throws VciBaseException { VciBaseUtil.alertNotNull(revisionRuleIdCollection,"英文名称集合"); // return RevisionRuleWrapper.build().listVO(list(MybatisParameterUtil.cutInParameter(Wrappers.<RevisionRule>query().lambda(),RevisionRule::getId, Collections.singletonList(revisionRuleIdCollection)))); List<RevisionRule> list = baseMapper.selectList(Wrappers.<RevisionRule>query().lambda().in(RevisionRule::getId, revisionRuleIdCollection)); List<RevisionRule> list = baseMapper.selectByIdIgnoreCase(revisionRuleIdCollection); return RevisionRuleWrapper.build().listVO(list); } @@ -545,20 +544,8 @@ * @throws VciBaseException 查询出错时抛出异常 */ @Override public IPage<RevisionRuleVO> pageQueryVO(BaseQueryObject baseQueryObject) throws VciBaseException { Map<String, String> conditionMap = baseQueryObject.getConditionMap(); if (conditionMap == null){ conditionMap = new HashMap<>(); } PageHelper pageHelper = baseQueryObject.getPageHelper(); Query query = new Query(); query.setCurrent(pageHelper.getPage()); query.setSize(pageHelper.getLimit()); query.setAscs(pageHelper.getSort()); RevisionRule queryConditionObj = new RevisionRule(); BeanMap beanMap = BeanMap.create(queryConditionObj); beanMap.putAll(conditionMap); return RevisionRuleWrapper.build().pageVO(baseMapper.selectPage(Condition.getPage(query),Condition.getQueryWrapper(queryConditionObj).lambda().orderByAsc(RevisionRule::getId))); public IPage<RevisionRuleVO> pageQueryVO(Map<String, Object> condition, Query query) throws VciBaseException { return RevisionRuleWrapper.build().pageVO(baseMapper.selectPage(Condition.getPage(query),Condition.getQueryWrapper(condition,RevisionRule.class).lambda().orderByAsc(RevisionRule::getId))); } /** Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/StatusServiceImpl.java
@@ -11,7 +11,6 @@ import com.vci.ubcs.omd.vo.StatusVO; import com.vci.ubcs.omd.wrapper.StatusWrapper; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.web.pagemodel.PageHelper; import com.vci.ubcs.starter.web.util.BeanUtil; import com.vci.ubcs.starter.web.util.VciBaseUtil; import org.springblade.core.mp.support.Condition; @@ -46,14 +45,8 @@ * @throws VciBaseException 查询出错时会抛出异常 */ @Override public IPage<StatusVO> listStatus(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException { Query query = new Query(); query.setCurrent(pageHelper.getPage()); query.setSize(pageHelper.getLimit()); query.setAscs("id"); Status queryVO = new Status(); BeanMap.create(queryVO).putAll(conditionMap); return StatusWrapper.build().pageVO(baseMapper.selectPage(Condition.getPage(query), Condition.getQueryWrapper(queryVO).lambda().orderByAsc(Status::getId))); public IPage<StatusVO> listStatus(Map<String, Object> conditionMap, Query pageHelper) throws VciBaseException { return StatusWrapper.build().pageVO(baseMapper.selectPage(Condition.getPage(pageHelper), Condition.getQueryWrapper(conditionMap,Status.class).lambda().orderByAsc(Status::getId))); } /** @@ -203,7 +196,7 @@ Collection<Collection<String>> idCollections = VciBaseUtil.switchCollectionForOracleIn(idCollection); if(!CollectionUtils.isEmpty(idCollections)) { idCollections.forEach(s -> { List<Status> queryResult = baseMapper.selectList(Wrappers.<Status>query().lambda().in(Status::getId,s)); List<Status> queryResult = baseMapper.selectByIdIgnoreCase(s); if(!CollectionUtils.isEmpty(queryResult)){ statusDOList.addAll(queryResult); } Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/RevisionRuleMapper.xml
@@ -29,4 +29,15 @@ pl_omd_revision_rule </sql> <select id="selectByIdIgnoreCase" resultMap="BaseResultMap"> select <include refid="base_query_column"/> from <include refid="tableName"/> where lower(id) in <foreach collection="records" item="item" index="arrayindex" open=" ( " close=")" > #{item,jdbcType=VARCHAR} <if test="(arrayindex != records.size() -1)"> , </if> </foreach> </select> </mapper> Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/StatusMapper.xml
@@ -6,7 +6,7 @@ <result column="id" jdbcType="VARCHAR" property="id" /> <result column="name" jdbcType="VARCHAR" property="name" /> <result column="description" jdbcType="VARCHAR" property="description" /> <result column="btm_name" property="btmname" jdbcType="VARCHAR" /> <result column="btm_name" property="btmName" jdbcType="VARCHAR" /> <result column="owner" property="owner" jdbcType="VARCHAR" /> <result column="creator" jdbcType="VARCHAR" property="creator" /> <result column="create_time" jdbcType="TIMESTAMP" property="createTime" /> @@ -23,4 +23,15 @@ pl_omd_status </sql> <select id="selectByIdIgnoreCase" resultMap="BaseResultMap"> select <include refid="base_query_column"/> from <include refid="tableName"/> where lower(id) in <foreach collection="records" item="item" index="arrayindex" open=" ( " close=")" > #{item,jdbcType=VARCHAR} <if test="(arrayindex != records.size() -1)"> , </if> </foreach> </select> </mapper>