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

Merge branch 'test-merge' of http://219.151.181.73:3000/zhuwei/bladex into test-merge

lvy 1 hónapja
szülő
commit
df77623b52
13 módosított fájl, 160 hozzáadás és 21 törlés
  1. 11 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/dto/MoveNodeDTO.java
  2. 7 2
      blade-service/blade-business/src/main/java/org/springblade/business/service/impl/ContractLogServiceImpl.java
  3. 13 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/controller/WbsTreeContractController.java
  4. 6 4
      blade-service/blade-manager/src/main/java/org/springblade/manager/feign/WbsTreeContractClientImpl.java
  5. 8 1
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeContractMapper.java
  6. 21 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeContractMapper.xml
  7. 2 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreePrivateMapper.java
  8. 41 5
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreePrivateMapper.xml
  9. 6 4
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/IWbsTreeContractService.java
  10. 2 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/IWbsTreePrivateService.java
  11. 5 1
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ArchiveTreeContractSyncImpl.java
  12. 33 4
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeContractServiceImpl.java
  13. 5 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreePrivateServiceImpl.java

+ 11 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/dto/MoveNodeDTO.java

@@ -0,0 +1,11 @@
+package org.springblade.manager.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class MoveNodeDTO {
+    private List<Long> leftPkeyIds;
+    private Long rightPkeyId;
+}

+ 7 - 2
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/ContractLogServiceImpl.java

@@ -282,7 +282,7 @@ public class ContractLogServiceImpl extends BaseServiceImpl<ContractLogMapper, C
                 try {
                     //查询节点名称
                     nodeName = jdbcTemplate.queryForObject("select node_name from m_wbs_tree_private where p_key_id = " + contractLog.getWbsNodeId(), String.class);
-                    contractName = jdbcTemplate.queryForObject("select contract_name from m_contract_info where id = " + contractLog.getContractId(), String.class);
+                    contractName = jdbcTemplate.queryForObject("select case when contract_type = 1 then construction_unit_name else supervision_unit_name end from m_contract_info where id = " + contractLog.getContractId(), String.class);
                 } catch (DataAccessException e) {}
                 if(nodeName != null && contractName != null){
                     ContractLogMonthPack contractLogMonthPack = new ContractLogMonthPack();
@@ -298,7 +298,12 @@ public class ContractLogServiceImpl extends BaseServiceImpl<ContractLogMapper, C
 
                     //排序
                     monthLogs.sort(Comparator.comparing(ContractLog::getRecordTime));
-                    List<String> pdfFiles = monthLogs.stream().map(ContractLog::getPdfUrl).collect(Collectors.toList());
+                    List<String> pdfFiles = monthLogs.stream().map(m -> {
+                        if(StringUtil.isNotBlank(m.getEVisaPdfUrl())){
+                            return m.getEVisaPdfUrl();
+                        }
+                        return m.getPdfUrl();
+                    }).collect(Collectors.toList());
 
                     try {
                         String filePath = FileUtils.getSysLocalFileUrl();

+ 13 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/WbsTreeContractController.java

@@ -38,6 +38,7 @@ import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.IoUtil;
 import org.springblade.core.tool.utils.ObjectUtil;
 import org.springblade.core.tool.utils.ResourceUtil;
+import org.springblade.manager.dto.MoveNodeDTO;
 import org.springblade.manager.dto.TableSortDTO;
 import org.springblade.manager.dto.WbsTreeContractDTO2;
 import org.springblade.manager.entity.*;
@@ -868,7 +869,19 @@ public class WbsTreeContractController extends BladeController {
         return iWbsTreeContractService.exportTree(contractId,response);
     }
 
+    @GetMapping("/getSiblingWbsContract")
+    @ApiOperation(value = "获取同一层级的所有节点节点")
+    @ApiOperationSupport(order = 32)
+    public R <List<WbsTreeContract>> getSiblingWbsContract(@RequestParam Long pKeyId){
+        return iWbsTreeContractService.getSiblingWbsContract(pKeyId);
+    }
 
+    @PostMapping("/moveNode")
+    @ApiOperation(value = "跨节点移动")
+    @ApiOperationSupport(order = 33)
+    public R moveNode (@RequestBody MoveNodeDTO dto){
+        return iWbsTreeContractService.moveNode(dto);
+    }
 
 
 

+ 6 - 4
blade-service/blade-manager/src/main/java/org/springblade/manager/feign/WbsTreeContractClientImpl.java

@@ -495,6 +495,11 @@ public class WbsTreeContractClientImpl implements WbsTreeContractClient {
         return wbsTreeContractService.getEKey(contractId,pKeyId,wbsId);
     }
 
+    @Override
+    public Integer findIsExistTreeNode(List<String> processNodeList) {
+        return 0;
+    }
+
 
     @Override
     public List<WbsTreeContract> queryListByPIds(List<Long> pIds) {
@@ -502,10 +507,7 @@ public class WbsTreeContractClientImpl implements WbsTreeContractClient {
     }
 
 
-    @Override
-    public Integer findIsExistTreeNode(List<String> ids) {
-        return wbsTreeContractService.findIsExistTreeNode(ids);
-    }
+
 
     @Override
     public void saveNameRuleByPkeyId(Long pKeyId, String s, Long projectId) {

+ 8 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeContractMapper.java

@@ -176,6 +176,13 @@ public interface WbsTreeContractMapper extends EasyBaseMapper<WbsTreeContract> {
 
     void updatePartitionCodeByPKyId(@Param("wbsTreeContract") WbsTreeContract wbsTreeContract);
 
-    Integer findIsExistTreeNode(List<String> ids);
+    List<WbsTreeContract> getSiblingWbsContract(@Param("pKeyId") Long pKeyId);
 
+    List<WbsTreeContract> getWbsTreeContractsByPKeyIds(@Param("pKeyIds") List<Long> pKeyIds);
+
+    List<WbsTreeContract> getChildWbsTreeContracts(@Param("pKeyId") Long pKeyId);
+
+    void updateAncestorsPid(@Param("ancestorsPId") String ancestorsPId, @Param("ancestors") String ancestors,@Param("pKeyId")Long pKeyId);
+
+    void updateWbsTreeAncestors(@Param("contract")WbsTreeContract contract);
 }

+ 21 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeContractMapper.xml

@@ -843,6 +843,14 @@
             WHERE p_key_id = #{wbsTreeContract.pKeyId}
         </if>
     </update>
+    <update id="updateAncestorsPid">
+        UPDATE m_wbs_tree_contract
+        SET ancestors_p_id = #{ancestorsPId},ancestors = #{ancestors}
+        WHERE p_key_id = #{pKeyId}
+    </update>
+    <update id="updateWbsTreeAncestors">
+        update m_wbs_tree_contract set p_id = #{contract.pId},parent_id=#{contract.parentId},ancestors_p_id = #{contract.ancestorsPId},ancestors = #{contract.ancestors} where p_key_id = #{contract.pKeyId}
+    </update>
 
     <select id="selectQueryValueLikeNodeName" resultMap="ResultMap">
         select *
@@ -1048,5 +1056,18 @@
           </foreach>
 
     </select>
+    <select id="getSiblingWbsContract" resultType="org.springblade.manager.entity.WbsTreeContract">
+        select * from m_wbs_tree_contract where p_id= (select p_id from m_wbs_tree_contract where p_key_id=#{pKeyId}) and is_deleted=0;
+    </select>
+    <select id="getWbsTreeContractsByPKeyIds" resultType="org.springblade.manager.entity.WbsTreeContract">
+        select p_key_id,parent_id,p_id,ancestors,ancestors_p_id from m_wbs_tree_contract where p_key_id in (
+        <foreach collection="pKeyIds" item="pkeyId" separator=",">
+            #{pkeyId}
+        </foreach>
+        ) and is_deleted=0
+    </select>
+    <select id="getChildWbsTreeContracts" resultType="org.springblade.manager.entity.WbsTreeContract">
+        select p_key_id,ancestors,ancestors_p_id from m_wbs_tree_contract where ancestors_p_id like #{pKeyId}  and is_deleted=0
+    </select>
 
 </mapper>

+ 2 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreePrivateMapper.java

@@ -150,4 +150,6 @@ public interface WbsTreePrivateMapper extends EasyBaseMapper<WbsTreePrivate> {
                          @Param("sort") Integer sort);
 
     void updateSortBatchByPKeyId(List<WbsTreePrivate> resourceData);
+
+    List<ArchiveSyncLogVO> getContractAllLogMonthPack(@Param("contractId") Long contractId);
 }

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

@@ -962,11 +962,27 @@
         </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,
-               (select node_type from m_wbs_tree_private where p_key_id = ucl.wbs_node_id) as logType,
-               (select node_name from m_wbs_tree_private where p_key_id = ucl.wbs_node_id) as logName
-        from u_contract_log ucl
-        where contract_id = #{contractId} and is_deleted = 0 and pdf_url IS NOT NULL order by record_time
+
+        SELECT
+            ucl.id,
+            case when b.contract_type = 1 then b.construction_unit_name else b.supervision_unit_name end  create_user_name,
+            ucl.record_time,
+            ucl.file_name,
+            ucl.pdf_url,
+            ucl.e_visa_pdf_url,
+            ucl.create_user,
+            ucl.create_time,
+            ( SELECT node_type FROM m_wbs_tree_private WHERE p_key_id = ucl.wbs_node_id ) AS logType,
+            ( SELECT node_name FROM m_wbs_tree_private WHERE p_key_id = ucl.wbs_node_id ) AS logName
+        FROM
+            u_contract_log ucl
+                left join m_contract_info b on ucl.contract_id = b.id
+        WHERE
+            contract_id = #{contractId}
+          AND ucl.is_deleted = 0
+          AND pdf_url IS NOT NULL
+        ORDER BY
+            record_time
     </select>
 
 
@@ -1017,4 +1033,24 @@
         /*排序*/
         -- order by sort,title
     </select>
+    <select id="getContractAllLogMonthPack" resultType="org.springblade.manager.vo.ArchiveSyncLogVO">
+        SELECT
+            id,
+            contract_name create_user_name,
+            record_time,
+            file_name,
+            pdf_url,
+            pdf_url e_visa_pdf_url,
+            create_user,
+            create_time,
+            ( SELECT node_type FROM m_wbs_tree_private WHERE p_key_id = ucl.wbs_node_id ) AS logType,
+            ( SELECT node_name FROM m_wbs_tree_private WHERE p_key_id = ucl.wbs_node_id ) AS logName
+        FROM
+            u_contract_log_month_pack ucl
+        WHERE
+            contract_id = #{contractId}
+          AND pdf_url IS NOT NULL
+        ORDER BY
+            record_time;
+    </select>
 </mapper>

+ 6 - 4
blade-service/blade-manager/src/main/java/org/springblade/manager/service/IWbsTreeContractService.java

@@ -4,6 +4,7 @@ import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
 import org.springblade.business.dto.EKeyDto;
 import org.springblade.core.mp.base.BaseService;
 import org.springblade.core.tool.api.R;
+import org.springblade.manager.dto.MoveNodeDTO;
 import org.springblade.manager.dto.RangeInfo;
 import org.springblade.manager.dto.WbsTreeContractDTO;
 import org.springblade.manager.dto.WbsTreeContractDTO2;
@@ -95,10 +96,6 @@ public interface IWbsTreeContractService extends BaseService<WbsTreeContract> {
 
     boolean checkNodeAllDate(WbsTreeContract contract);
 
-    Integer findIsExistTreeNode(List<String> ids);
-
-    List<WbsTreeContract> queryListByPIds(List<Long> pIds);
-
     List<APIWbsContractSubdivisionVo> getWbsContractSubdivision(String contractId);
 
     ResponseEntity<Resource> exportTree(Long contractId, HttpServletResponse response) throws IOException, InvalidFormatException;
@@ -109,4 +106,9 @@ public interface IWbsTreeContractService extends BaseService<WbsTreeContract> {
 
     R getImportProgress(Long projectId, Long contractId);
 
+    R<List<WbsTreeContract>> getSiblingWbsContract(Long pKeyId);
+
+    R moveNode(MoveNodeDTO dto);
+
+    List<WbsTreeContract> queryListByPIds(List<Long> pIds);
 }

+ 2 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/IWbsTreePrivateService.java

@@ -111,4 +111,6 @@ public interface IWbsTreePrivateService extends BaseService<WbsTreePrivate> {
     void diGuiWbs(int i);
 
     WbsTreePrivateVO tree3(String wbsId, String projectId);
+
+    List<ArchiveSyncLogVO> getContractAllLogMonthPack(Long contractId);
 }

+ 5 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ArchiveTreeContractSyncImpl.java

@@ -1169,7 +1169,11 @@ public class ArchiveTreeContractSyncImpl {
         List<ArchiveTreeContract> addNode = new ArrayList<>();
         List<ArchiveFile> addFile = new ArrayList<>();
         //获取合同段所有的日志,并且附带类型
-        List<ArchiveSyncLogVO> logs = wbsTreePrivateService.getContractAllLog(contractId);
+        List<ArchiveSyncLogVO> logs = wbsTreePrivateService.getContractAllLogMonthPack(contractId);
+        //先查按月封装 没有再查日志
+        if(CollectionUtil.isEmpty(logs)){
+            logs = wbsTreePrivateService.getContractAllLog(contractId);
+        }
         if (CollectionUtil.isEmpty(logs)){
             throw new ServiceException("当前合同段下没有日志资料");
         }

+ 33 - 4
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeContractServiceImpl.java

@@ -3248,10 +3248,7 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
         return true;
     }
 
-    @Override
-    public Integer findIsExistTreeNode(List<String> ids) {
-        return baseMapper.findIsExistTreeNode(ids);
-    }
+
 
     @Override
     public List<WbsTreeContract> queryListByPIds(List<Long> pIds) {
@@ -4678,6 +4675,38 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
         }
     }
 
+    @Override
+    public R<List<WbsTreeContract>> getSiblingWbsContract(Long pKeyId) {
+        return  R.data(wbsTreeContractMapper.getSiblingWbsContract(pKeyId));
+    }
+
+    @Override
+    public R moveNode(MoveNodeDTO dto) {
+      List<WbsTreeContract> list= wbsTreeContractMapper.getWbsTreeContractsByPKeyIds(dto.getLeftPkeyIds());
+        WbsTreeContract fatherContract = this.getById(dto.getRightPkeyId());
+        for (WbsTreeContract contract : list) {
+            String oldancestorsPId = contract.getAncestorsPId();
+            String oldancestors = contract.getAncestors();
+            contract.setPId(fatherContract.getPKeyId());
+            contract.setParentId(fatherContract.getId());
+            contract.setAncestorsPId(fatherContract.getAncestorsPId()+","+contract.getPId());
+            contract.setAncestors(fatherContract.getAncestors());
+            //查出当前节点所有子节点。
+            List<WbsTreeContract> childContracts = wbsTreeContractMapper.getChildWbsTreeContracts(contract.getPKeyId());
+            if(!childContracts.isEmpty()){
+                for (WbsTreeContract childContract : childContracts) {
+                    String ancestorsPId =  childContract.getAncestorsPId();
+                    ancestorsPId=ancestorsPId.replace(oldancestorsPId,contract.getAncestorsPId());
+                    String ancestors = childContract.getAncestors();
+                    ancestors=ancestors.replace(oldancestors,contract.getAncestors());
+                    wbsTreeContractMapper.updateAncestorsPid(ancestorsPId,ancestors,childContract.getPKeyId());
+                }
+            }
+            this.wbsTreeContractMapper.updateWbsTreeAncestors(contract);
+        }
+        return R.success("操作成功");
+    }
+
     /**
      * 检查单元格是否有效
      */

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

@@ -3193,6 +3193,11 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
         return baseMapper.getContractAllLog(contractId);
     }
 
+    @Override
+    public List<ArchiveSyncLogVO> getContractAllLogMonthPack(Long contractId) {
+        return baseMapper.getContractAllLogMonthPack(contractId);
+    }
+
     public void diGuiWbs(int i) {
         QueryWrapper<WbsTreePrivate> wbsTreePrivateQueryWrapper = new QueryWrapper<>();
         wbsTreePrivateQueryWrapper.select("p_key_id", "id", "p_id", "wbs_id", "project_id", "parent_id", "ancestors");