Ver código fonte

试验-规范管理-技术指标新增±和范围(~)

LHB 2 meses atrás
pai
commit
d6c62c14f3

+ 6 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/StandardInfo.java

@@ -104,4 +104,10 @@ public class StandardInfo {
      */
     @TableField(exist = false)
     private String parentName;
+
+    /**
+     * 父级名称
+     */
+    @TableField(exist = false)
+    private String nameEnd;
 }

+ 40 - 4
blade-service/blade-business/src/main/java/org/springblade/business/mapper/StandardInfoMapper.xml

@@ -71,7 +71,15 @@
     </select>
     <select id="findByParentId" resultType="org.springblade.business.entity.StandardInfo">
         select
-            <include refid="Base_Column_List"/>,concat(symbol,name) symbolName
+            <include refid="Base_Column_List"/>,
+            case
+                when
+                    symbolName = '~'
+                then
+                    a.name
+                else
+                    concat(a.symbol,a.name)
+            end symbolName
         FROM
             u_standard_info
         WHERE
@@ -110,7 +118,17 @@
 
     <select id="getConditionSet" resultMap="BaseResultConditionSet">
         select
-            <include refid="Base_Column_Join_List"/>, concat(a.symbol,a.name) symbolName,b.group_id
+            <include refid="Base_Column_Join_List"/>,
+            case
+                when
+                    symbolName = '~'
+                then
+                    a.name
+                else
+                    concat(a.symbol,a.name)
+            end symbolName,
+
+            b.group_id
         from
             u_standard_info a
             INNER join u_standard_info p on a.parent_id = p.id and a.is_deleted = p.is_deleted
@@ -211,7 +229,16 @@
     </sql>
     <select id="getElementJoin" resultMap="BaseResultElementJoin">
         select
-            <include refid="Base_Column_Join_List"/>, concat(a.symbol,a.name) symbolName,b.group_id
+            <include refid="Base_Column_Join_List"/>,
+            case
+                when
+                    symbolName = '~'
+                then
+                    a.name
+                else
+                    concat(a.symbol,a.name)
+            end symbolName,
+            b.group_id
         from
             u_standard_info a
             INNER JOIN u_standard_info c on a.parent_id = c.id and a.is_deleted = c.is_deleted
@@ -285,7 +312,16 @@
 
     <select id="effectPreview" resultMap="BaseResultElementJoin">
         SELECT
-            a.*, concat(a.symbol,a.name) symbolName,null group_id
+            a.*,
+            case
+                when
+                    symbolName = '~'
+                then
+                    a.name
+                else
+                concat(a.symbol,a.name)
+            end symbolName,
+            null group_id
         FROM
             u_standard_info a
                 INNER JOIN u_standard_info_join b ON a.id = b.standard_info_left_id

+ 18 - 3
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/UStandardInfoServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang.math.NumberUtils;
 import org.springblade.business.dto.StandardInfoJoinDTO;
 import org.springblade.business.dto.StandardInfoPrivateJoinDTO;
 import org.springblade.business.dto.StandardInfoDTO;
@@ -81,6 +82,20 @@ public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, St
                 item.setParentId(uStandardInfo.getId());
                 item.setStandardId(uStandardInfo.getStandardId());
                 item.setCreateUser(user.getUserId());
+
+                //判断符号之后的数据是否为数字
+                if (StringUtils.isNotEmpty(item.getSymbol())) {
+                    if (!NumberUtils.isNumber(item.getName())) {
+                        throw new ServiceException("数据错误,未知字符");
+                    }
+                    //如果是范围符号 则单独处理数据
+                    if(StringUtils.equals(item.getSymbol(),"~")){
+                        if (!NumberUtils.isNumber(item.getNameEnd())) {
+                            throw new ServiceException("数据错误,未知字符");
+                        }
+                        item.setName(item.getName() + "~" + item.getNameEnd());
+                    }
+                }
             });
 
             //把父级对象转出来单独保存
@@ -92,7 +107,7 @@ public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, St
             return true;
         } catch (BeansException e) {
             e.printStackTrace();
-            throw new ServiceException("添加失败");
+            throw new ServiceException(e.getMessage());
         }
     }
 
@@ -206,7 +221,7 @@ public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, St
                 Collections.sort(newRightIds);
 
                 String newRightIdsStr = String.join(",", newRightIds.stream().map(String::valueOf).collect(Collectors.toList()));
-                if(CollectionUtil.isNotEmpty(newRightIds)){
+                if (CollectionUtil.isNotEmpty(newRightIds)) {
                     //把左Id加进来 确保只有在左id相同的情况下才进行判断
                     newRightIdsStr = newRightIdsStr + "," + leftId;
                 }
@@ -356,7 +371,7 @@ public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, St
     @Override
     public List<StandardInfoPrivateJoinVO> effectPreview(String ids) {
         List<Long> collect = Arrays.stream(ids.split(",")).map(Long::parseLong).collect(Collectors.toList());
-        return baseMapper.effectPreview(collect,collect.size());
+        return baseMapper.effectPreview(collect, collect.size());
     }
 }