소스 검색

频率表、复制表同步名称bug

liuyc 1 년 전
부모
커밋
8c45dd4381

+ 34 - 20
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeContractMapper.xml

@@ -567,16 +567,16 @@
         SET
             node_name =
                 CASE
-                    WHEN node_name LIKE '%_PL_%' OR node_name LIKE '%__%'
-                        THEN CONCAT(#{wbsTreePrivate.nodeName}, SUBSTRING(node_name FROM INSTR(node_name, '__')))
-                    ELSE #{wbsTreePrivate.nodeName}
-                    END,
+                    WHEN node_name LIKE '%_PL_%' THEN CONCAT(#{wbsTreePrivate.nodeName}, SUBSTRING(node_name FROM INSTR(node_name, '_PL_')))
+                    WHEN node_name LIKE '%__%' THEN CONCAT(#{wbsTreePrivate.nodeName}, SUBSTRING(node_name FROM INSTR(node_name, '__')))
+                ELSE #{wbsTreePrivate.nodeName}
+                END,
             full_name =
                 CASE
-                    WHEN full_name LIKE '%_PL_%' OR full_name LIKE '%__%'
-                        THEN CONCAT(#{wbsTreePrivate.nodeName}, SUBSTRING(full_name FROM INSTR(full_name, '__')))
+                    WHEN full_name LIKE '%_PL_%' THEN CONCAT(#{wbsTreePrivate.nodeName}, SUBSTRING(full_name FROM INSTR(full_name, '_PL_')))
+                    WHEN full_name LIKE '%__%' THEN CONCAT(#{wbsTreePrivate.nodeName}, SUBSTRING(full_name FROM INSTR(full_name, '__')))
                     ELSE #{wbsTreePrivate.nodeName}
-                    END,
+                END,
             table_type = #{wbsTreePrivate.tableType},
             table_owner = #{wbsTreePrivate.tableOwner}
             <if test="wbsTreePrivate.sort != null and wbsTreePrivate.sort != ''">
@@ -595,29 +595,43 @@
             <set>
                 node_name =
                     CASE
-                        WHEN node_name LIKE '%_PL_%' OR node_name LIKE '%__%'
-                        THEN CONCAT(
+                        WHEN node_name LIKE '%_PL_%'
+                            THEN CONCAT(
+                            <if test="item.nodeName != null and item.nodeName != ''">
+                                #{item.nodeName}
+                            </if>,
+                            SUBSTRING(node_name FROM INSTR(node_name, '_PL_'))
+                            )
+                        WHEN node_name LIKE '%__%'
+                            THEN CONCAT(
                             <if test="item.nodeName != null and item.nodeName != ''">
                                 #{item.nodeName}
                             </if>,
                             SUBSTRING(node_name FROM INSTR(node_name, '__'))
-                        )
-                    ELSE
+                            )
+                        ELSE
                         <if test="item.nodeName != null and item.nodeName != ''">
                             #{item.nodeName}
                         </if>
                     END,
                 full_name =
                     CASE
-                        WHEN full_name LIKE '%_PL_%' OR full_name LIKE '%__%'
-                        THEN CONCAT(
-                        <if test="item.nodeName != null">
-                            #{item.nodeName}
-                        </if>,
-                        SUBSTRING(full_name FROM INSTR(full_name, '__'))
-                        )
-                    ELSE
-                        <if test="item.nodeName != null">
+                        WHEN full_name LIKE '%_PL_%'
+                            THEN CONCAT(
+                            <if test="item.nodeName != null and item.nodeName != ''">
+                                #{item.nodeName}
+                            </if>,
+                            SUBSTRING(full_name FROM INSTR(full_name, '_PL_'))
+                            )
+                        WHEN full_name LIKE '%__%'
+                            THEN CONCAT(
+                            <if test="item.nodeName != null and item.nodeName != ''">
+                                #{item.nodeName}
+                            </if>,
+                            SUBSTRING(full_name FROM INSTR(full_name, '__'))
+                            )
+                        ELSE
+                        <if test="item.nodeName != null and item.nodeName != ''">
                             #{item.nodeName}
                         </if>
                     END,

+ 2 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreePrivateServiceImpl.java

@@ -364,14 +364,14 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
                                 .eq(WbsTreePrivate::getPKeyId, wbsTreePrivate.getPKeyId())
                         );
                         if (update) {
-                            //直接修改合同段下所有类似的表(根据full_name=node_name模糊搜索)
+                            //直接修改合同段下所有类似的表(根据c-node_name = p-node_name模糊搜索)
                             for (Long contractInfoId : contractInfoIds) {
                                 List<WbsTreeContract> wbsTreeContracts = wbsTreeContractMapper.selectList(Wrappers.<WbsTreeContract>lambdaQuery()
                                         .select(WbsTreeContract::getPKeyId)
                                         .eq(WbsTreeContract::getStatus, 1)
                                         .eq(WbsTreeContract::getProjectId, projectId)
                                         .eq(WbsTreeContract::getContractId, contractInfoId)
-                                        .like(WbsTreeContract::getFullName, wbsTreePrivateNameMap.get(wbsTreePrivate.getPKeyId())));
+                                        .like(WbsTreeContract::getNodeName, wbsTreePrivateNameMap.get(wbsTreePrivate.getPKeyId())));
                                 //批量修改
                                 if (wbsTreeContracts.size() > 0) {
                                     List<Long> pKeyIdsContracts = wbsTreeContracts.stream().map(WbsTreeContract::getPKeyId).collect(Collectors.toList());