Pārlūkot izejas kodu

修改项目表名称时同步修改到合同段下的复制表、频率表名称BUG

liuyc 1 gadu atpakaļ
vecāks
revīzija
bdc595d63d

+ 23 - 13
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeContractMapper.xml

@@ -564,19 +564,29 @@
 
     <update id="updateContractTablesInfo">
         UPDATE m_wbs_tree_contract
-        SET node_name = #{wbsTreePrivate.nodeName},
-        full_name =#{wbsTreePrivate.nodeName},
-        table_type = #{wbsTreePrivate.tableType},
-        table_owner = #{wbsTreePrivate.tableOwner}
-        <if test="wbsTreePrivate.sort != null and wbsTreePrivate.sort != ''">
-            , sort = #{wbsTreePrivate.sort}
-        </if>
-        WHERE (id = #{wbsTreePrivate.id} OR old_id = #{wbsTreePrivate.id})
-        AND project_id = #{wbsTreePrivate.projectId}
-        AND contract_id = #{contractInfoId}
-        AND type = 2
-        AND status = 1
-        AND is_deleted = 0
+        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,
+            full_name =
+                CASE
+                    WHEN full_name LIKE '%_PL_%' OR full_name LIKE '%__%'
+                        THEN CONCAT(#{wbsTreePrivate.nodeName}, SUBSTRING(full_name FROM INSTR(full_name, '__')))
+                    ELSE #{wbsTreePrivate.nodeName}
+                    END,
+            table_type = #{wbsTreePrivate.tableType},
+            table_owner = #{wbsTreePrivate.tableOwner},
+            sort = #{wbsTreePrivate.sort}
+        WHERE
+            (id = #{wbsTreePrivate.id} OR old_id = #{wbsTreePrivate.id})
+          AND project_id = #{wbsTreePrivate.projectId}
+          AND contract_id = #{contractInfoId}
+          AND type = 2
+          AND status = 1
+          AND is_deleted = 0
     </update>
 
     <update id="updateBatchWbsContract" parameterType="java.util.List">