Forráskód Böngészése

试验后管委托单取消关联

chenr 5 hónapja
szülő
commit
bb04e19616

+ 5 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreePrivateMapper.java

@@ -121,9 +121,13 @@ public interface WbsTreePrivateMapper extends EasyBaseMapper<WbsTreePrivate> {
 
     WbsTreePrivate getProjectOpinionNode(@Param("projectId") Long projectId,@Param("id") Long id);
 
-    List<Long> linkNodeTreeBynodeId(@Param("pkeyid") String pkeyid);
+    List<Long> linkNodeTreeBynodeId(@Param("pkeyid") String pkeyid,@Param("nodeType") Integer nodeType);
 
     void batchUpdateIsAddConceal(@Param("private") WbsTreePrivate wbsTreePrivate,@Param("pId") Long pId);
 
     List<ArchiveSyncLogVO> getContractAllLog(@Param("contractId") Long contractId);
+
+    int cancelLinkNodeTreeInfoByJL(@Param("pkeyId")String pkeyId);
+
+    int cancelLinkNodeTreeInfoByYZ(@Param("pkeyId")String pkeyId);
 }

+ 21 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreePrivateMapper.xml

@@ -883,6 +883,20 @@
         from m_table_info
         WHERE id = #{pKeyId}
     </delete>
+    <update id="cancelLinkNodeTreeInfoByJL">
+        UPDATE m_wbs_tree_private
+        SET jler_tree_id = NULL
+        WHERE jler_tree_id = #{pkeyId}
+          AND is_deleted = 0
+          AND `type` = 1;
+    </update>
+    <update id="cancelLinkNodeTreeInfoByYZ">
+        UPDATE m_wbs_tree_private
+        SET yzer_tree_id = NULL
+        WHERE yzer_tree_id = #{pkeyId}
+          AND is_deleted = 0
+          AND `type` = 1;
+    </update>
 
     <update id="linkNodeTreeInfoByYZ" >
         <foreach collection="list" item="item" separator=";" >
@@ -903,7 +917,13 @@
     </update>
 
     <select id="linkNodeTreeBynodeId" resultType="java.lang.Long" >
-        select p_key_id from m_wbs_tree_private where (yzer_tree_id = #{pkeyid} or jler_tree_id = #{pkeyid})  and `type` = 1 and is_deleted = 0
+        select p_key_id from m_wbs_tree_private where `type` = 1 and is_deleted = 0
+        <if test="nodeType != null and nodeType != '' and nodeType==1">
+          and  yzer_tree_id = #{pkeyid}
+        </if>
+        <if test="nodeType != null and nodeType != '' and nodeType==2">
+          and  jler_tree_id = #{pkeyid}
+        </if>
     </select>
     <select id="getContractAllLog" resultType="org.springblade.manager.vo.ArchiveSyncLogVO">
         select id,create_user_name,record_time,file_name,pdf_url,e_visa_pdf_url,create_user,create_time,

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

@@ -2964,7 +2964,10 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
 
     @Override
     public int linkNodeTreeInfo(String pkeyId, String nodeIds) {
-        List<String> strList = Func.toStrList(nodeIds);
+        List<String> strList=new ArrayList<>();
+        if(nodeIds!=null&&!nodeIds.equals("")){
+            strList= Func.toStrList(nodeIds);
+        }
         String sqlInfo = "SELECT * from m_wbs_tree_private where id = (SELECT parent_id from m_wbs_tree_private c where p_key_id='"+pkeyId+"')";
         List<Map<String, Object>> maps = jdbcTemplate.queryForList(sqlInfo);
         Integer nodeType = 1;
@@ -2981,15 +2984,38 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
             }
         }
         if(nodeType==2){
-           return baseMapper.linkNodeTreeInfoByJL(pkeyId, strList) ;
+            if(strList.size()==0){
+                //取消关联
+                     return baseMapper.cancelLinkNodeTreeInfoByJL(pkeyId) ;
+            }else {
+                return baseMapper.linkNodeTreeInfoByJL(pkeyId, strList) ;
+            }
         }else{
+            if(strList.size()==0){
+                return baseMapper.cancelLinkNodeTreeInfoByYZ(pkeyId) ;
+            }
             return baseMapper.linkNodeTreeInfoByYZ(pkeyId, strList) ;
         }
     }
 
     @Override
     public List<Long> linkNodeTreeBynodeId(String pkeyId) {
-        return baseMapper.linkNodeTreeBynodeId(pkeyId);
+        String sqlInfo = "SELECT * from m_wbs_tree_private where id = (SELECT parent_id from m_wbs_tree_private c where p_key_id='"+pkeyId+"')";
+        List<Map<String, Object>> maps = jdbcTemplate.queryForList(sqlInfo);
+        Integer nodeType = 1;
+        if(maps!=null && maps.size()>=1){
+            for(Map<String, Object> map:maps){
+                String dataType = map.get("node_type")+"";
+                if(dataType.equals("1000")){ //业主委托单
+                    nodeType = 1;
+                    break;
+                }else if(dataType.equals("1001")){ //监理委托单
+                    nodeType = 2;
+                    break;
+                }
+            }
+        }
+        return baseMapper.linkNodeTreeBynodeId(pkeyId,nodeType);
     }
 
     @Override