Эх сурвалжийг харах

Merge remote-tracking branch 'origin/test-merge' into test-merge

LHB 2 өдөр өмнө
parent
commit
c495f1fd3d

+ 2 - 4
blade-service/blade-archive/src/main/java/org/springblade/archive/controller/ArchivesAutoController.java

@@ -53,7 +53,6 @@ import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.BladeUser;
 import org.springblade.core.tool.api.R;
-import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.manager.entity.ArchiveTreeContract;
 import org.springblade.manager.entity.ContractInfo;
@@ -1259,11 +1258,10 @@ public class ArchivesAutoController extends BladeController {
 			return R.fail("参数错误");
 		}
 		List<ArchiveFileVO> updateArchiveFileList = new ArrayList<>();
-		List<ArchiveFileVO> oldList = new ArrayList<>();
 		String[] split1 = vo.getSortFileList().split(",");
 		List<ArchiveFile> targetArchiveFileList = archiveFileClient.getArchiveFileByArchiveIds(target.getId() + "");
 		targetArchiveFileList.addAll(sourceArchiveFileList);
-		Map<Long, ArchiveFile> targetMap = targetArchiveFileList.stream().peek(item -> oldList.add(BeanUtil.copyProperties( item,ArchiveFileVO.class))).collect(Collectors.toMap(ArchiveFile::getId, item -> item, (k1, k2) -> k1));
+		Map<Long, ArchiveFile> targetMap = targetArchiveFileList.stream().collect(Collectors.toMap(ArchiveFile::getId, item -> item, (k1, k2) -> k1));
 		Map<Long, ArchiveFile> map = sourceArchiveFileList.stream().collect(Collectors.toMap(ArchiveFile::getId, item -> item));
 		for (String s : split1) {
 			if (StringUtils.isNumeric(s)) {
@@ -1278,6 +1276,7 @@ public class ArchivesAutoController extends BladeController {
 					if (map.containsKey(file.getId())) {
 						file.setPageNum("");
 						file.setArchiveId(target.getId());
+						file.setNodeId(target.getNodeId() + "");
 					}
 				}
 			}
@@ -1289,7 +1288,6 @@ public class ArchivesAutoController extends BladeController {
 		}
 		ArchiveFileVO fileVO = new ArchiveFileVO();
 		fileVO.setList(updateArchiveFileList);
-		fileVO.setOldList(oldList);
 		archiveFileClient.updateArchiveFileSort(fileVO);
 		return R.status(true);
 	}

+ 1 - 1
blade-service/blade-business/src/main/java/org/springblade/business/feignClient/ArchiveFileClientImpl.java

@@ -65,7 +65,7 @@ public class ArchiveFileClientImpl implements ArchiveFileClient {
 
     @Override
     public void updateArchiveFileSort(ArchiveFileVO vo) {
-        this.iArchiveFileService.updateArchiveFileSort(vo.getList(),vo.getOldList());
+        this.iArchiveFileService.updateArchiveFileSort(vo.getList());
     }
 
     @Override

+ 1 - 1
blade-service/blade-business/src/main/java/org/springblade/business/service/IArchiveFileService.java

@@ -57,7 +57,7 @@ public interface IArchiveFileService extends BaseService<ArchiveFile> {
 
     void saveArchiveFile(List<ArchiveFileVO> list);
 
-    void updateArchiveFileSort(List<ArchiveFileVO> list,List<ArchiveFileVO> oldList);
+    void updateArchiveFileSort(List<ArchiveFileVO> list);
 
     boolean updateArchiveFileByBoxName(Map<String, Object> jsons);
 

+ 8 - 57
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/ArchiveFileServiceImpl.java

@@ -133,7 +133,7 @@ public class ArchiveFileServiceImpl extends BaseServiceImpl<ArchiveFileMapper, A
 
 
     @Override
-    public void updateArchiveFileSort(List<ArchiveFileVO> list, List<ArchiveFileVO> oldList) {
+    public void updateArchiveFileSort(List<ArchiveFileVO> list) {
         List<Integer> listInt = new ArrayList<>();
         for (int i = 0; i < list.size(); i++) {
             listInt.add(list.get(i).getSort());
@@ -143,65 +143,17 @@ public class ArchiveFileServiceImpl extends BaseServiceImpl<ArchiveFileMapper, A
         StringBuffer ids2 = new StringBuffer();
         Map<Long, Integer> mapkey = new HashMap<>();
         Collections.sort(listInt);
-
-        // 创建原始ID到原始nodeId的映射(基于oldList)
-        Map<Long, String> originalIdToNodeIdMap = new HashMap<>();
-        // 创建原始ID到原始排序的映射(基于oldList)
-        Map<Long, Integer> originalIdToSortMap = new HashMap<>();
-        // 创建原始排序位置到nodeId的映射(基于oldList)
-        Map<Integer, String> originalSortToNodeIdMap = new HashMap<>();
-
-        for (ArchiveFileVO vo : oldList) {
-            originalIdToNodeIdMap.put(vo.getId(), vo.getNodeId());
-            originalIdToSortMap.put(vo.getId(), vo.getSort());
-            originalSortToNodeIdMap.put(vo.getSort(), vo.getNodeId());
-        }
-
-        // 找出所有位置发生变化的文件ID
-        Set<Long> movedFileIds = new HashSet<>();
-        for (int i = 0; i < list.size(); i++) {
-            ArchiveFileVO currentVO = list.get(i);
-            Integer originalSort = originalIdToSortMap.get(currentVO.getId());
-            if (!listInt.get(i).equals(originalSort)) {
-                movedFileIds.add(currentVO.getId());
-            }
-        }
-
         for (int i = 0; i < list.size(); i++) {
-            ArchiveFileVO currentVO = list.get(i);
-            ids2.append(currentVO.getId() + ",");
-
-            // 保存原始数据
-            String originalNodeId = originalIdToNodeIdMap.get(currentVO.getId());
-            Integer originalSort = originalIdToSortMap.get(currentVO.getId());
-
-            // 设置新的排序值
-            currentVO.setSort(listInt.get(i));
-            currentVO.setArchiveSort(i);
-
-            // 只有位置发生变化的文件才需要更新nodeId
-            if (movedFileIds.contains(currentVO.getId())) {
-                // 获取当前位置对应的原始nodeId(这个位置原来属于哪个nodeId)
-                Integer currentPositionOriginalSort = listInt.get(i);
-                String positionOriginalNodeId = originalSortToNodeIdMap.get(currentPositionOriginalSort);
-
-                // 如果当前位置的原始nodeId与当前文件的原始nodeId不同,则更新
-                if (positionOriginalNodeId != null && !positionOriginalNodeId.equals(originalNodeId)) {
-                    currentVO.setNodeId(positionOriginalNodeId);
-                }
-            } else {
-                // 位置没有变化的文件保持原来的nodeId
-                currentVO.setNodeId(originalNodeId);
-            }
-
-            if (currentVO.getIsUpdateUrl() != null && currentVO.getIsUpdateUrl() == 1) {
-                ids.append(currentVO.getId() + ",");
-                if (currentVO.getRectification() != null && currentVO.getRectification() == 1) {
-                    currentVO.setRectification(2);
+            ids2.append(list.get(i).getId() + ",");
+            list.get(i).setSort(listInt.get(i));
+            list.get(i).setArchiveSort(i);
+            if (list.get(i).getIsUpdateUrl() != null && list.get(i).getIsUpdateUrl() == 1) {
+                ids.append(list.get(i).getId() + ",");
+                if (list.get(i).getRectification() != null && list.get(i).getRectification() == 1) {
+                    list.get(i).setRectification(2);
                 }
             }
         }
-
         // 删除oss文件
         if (ids != null && ids.length() > 0) {
             List<String> removeFiles = new ArrayList<>();
@@ -274,7 +226,6 @@ public class ArchiveFileServiceImpl extends BaseServiceImpl<ArchiveFileMapper, A
         }
         this.updateBatchById(JSONArray.parseArray(JSONObject.toJSONString(list), ArchiveFile.class));
     }
-
     @Override
     public boolean updateArchiveFileByBoxName(Map<String, Object> jsons) {
         List<Object> list = (List<Object>) jsons.get("list");

+ 1 - 1
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TaskServiceImpl.java

@@ -2352,7 +2352,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
 
         String taskBtech = "insert into u_task_batch(id,task_parallel_id,json_data,create_user,create_dept,create_time,update_user,update_time,status,is_deleted,nick_name,sign_format,sign_type)  " +
                 " SELECT a.id,a.process_instance_id,json_object('approvalFileList',json_array(),'approvalType',b.approval_type,'comment','','flag','OK','formDataId',b.form_data_id,'parallelProcessInstanceId',a.parallel_process_instance_id,'pass',true,'taskId',b.id) as  json_data,a.task_user,a.create_dept,a.create_time,a.update_user,SYSDATE(),1 as status,0 as is_deleted,a.task_user_name as nick_name ,1 as sign_format,1 as sign_type from u_task_parallel a,u_task b where b.`status` in(1,2) and a.`status` in(2)  and   a.process_instance_id=b.process_instance_id " +
-                " and b.form_data_id in( " + ids2 + ") and a.parallel_process_instance_id not in(SELECT JSON_EXTRACT(c.json_data, '$.parallelProcessInstanceId') from u_task_batch c)";
+                " and b.form_data_id in( " + ids2 + ") and not exists (SELECT 1 from u_task_batch c where c.json_data like CONCAT('%',a.parallel_process_instance_id ,'%'))";
 
         if(userIds!=null && userIds.length()>=1){
             taskBtech += " and b.task_user in("+userIds+")";

+ 1 - 29
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ExcelTabMapper.xml

@@ -229,35 +229,6 @@
             #{item}
         </foreach>
     </select>
-<!--    <select id="selectRootExcelTab" resultType="org.springblade.manager.vo.ExcelTabVO">-->
-<!--        SELECT-->
-<!--        t.project_id as projectId,-->
-<!--        p.project_name as projectName,-->
-<!--        t.root_id as id-->
-<!--        FROM (-->
-<!--        SELECT-->
-<!--        project_id,-->
-<!--        SUBSTRING_INDEX(alias, ',', 1) as root_id-->
-<!--        FROM m_wbs_tree_private a-->
-<!--        LEFT JOIN m_excel_tab b ON a.excel_id = b.id-->
-<!--        WHERE a.type = 2-->
-<!--        AND a.is_deleted = 0-->
-<!--        AND a.excel_id IS NOT NULL-->
-<!--        <if test="vo != null ">-->
-<!--          <if test="vo.projectId != null">-->
-<!--              AND a.project_id = #{vo.projectId}-->
-<!--          </if>-->
-<!--        </if>-->
-<!--        GROUP BY project_id, root_id-->
-<!--        <if test="rootIds != null and rootIds.size() > 0">-->
-<!--            HAVING root_id IN-->
-<!--            <foreach collection="rootIds" item="item" open="(" separator="," close=")">-->
-<!--                #{item}-->
-<!--            </foreach>-->
-<!--        </if>-->
-<!--        ) t-->
-<!--        INNER JOIN m_project_info p ON p.id = t.project_id where project_id is not null-->
-<!--    </select>-->
     <select id="selectRootExcelTab" resultType="org.springblade.manager.vo.ExcelTabVO">
         SELECT distinct
         a.project_id as projectId,
@@ -290,6 +261,7 @@
                 #{item}
             </foreach>
         </if>
+        order by d.sort
     </select>
     <select id="getByIds" resultType="org.springblade.manager.vo.ExcelTabVO">
         select *, (select name from blade_user where id = a.create_user) as createUserName, (SELECT bdb.dict_value from blade_dict_biz bdb WHERE code = 'table_template_type' AND dict_key = a.table_template_type) as tableTemplateTypeName

+ 14 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ExcelTabServiceImpl.java

@@ -156,6 +156,8 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                 List<Long> ids = records.stream().map(ExcelTabVO::getId).collect(Collectors.toList());
                 List<ExcelTabVO> excelTabs = this.baseMapper.getByIds(ids);
                 Map<Long, ExcelTabVO> map = excelTabs.stream().collect(toMap(ExcelTabVO::getId, v -> v));
+                List<ExcelTabVO> projectInfoList  = baseMapper.selectRootExcelTab(new Page<>(), null, ids);
+                Map<Long, List<ExcelTabVO>> collect = projectInfoList.stream().collect(Collectors.groupingBy(ExcelTabVO::getId));
                 records.forEach(v -> {
                     ProjectInfoVO1 projectInfoVO1 = new ProjectInfoVO1();
                     projectInfoVO1.setProjectId(v.getProjectId());
@@ -163,7 +165,18 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                     if (map.get(v.getId()) != null) {
                         BeanUtil.copyProperties(map.get(v.getId()), v);
                     }
-                    v.setProjectInfoList(Collections.singletonList(projectInfoVO1));
+                    List<ExcelTabVO> excelTabVOS = collect.get(v.getId());
+                    if (excelTabVOS != null) {
+                        List<ProjectInfoVO1> list = excelTabVOS.stream().map(vo -> {
+                            ProjectInfoVO1 projectInfoVO2 = new ProjectInfoVO1();
+                            projectInfoVO2.setProjectId(vo.getProjectId());
+                            projectInfoVO2.setProjectName(vo.getProjectName());
+                            return projectInfoVO2;
+                        }).collect(Collectors.toList());
+                        v.setProjectInfoList(list);
+                    } else {
+                        v.setProjectInfoList(Collections.singletonList(projectInfoVO1));
+                    }
                 });
             }
             return page.setRecords(records);

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

@@ -34,9 +34,9 @@ public class WbsInfoServiceImpl extends BaseServiceImpl<WbsInfoMapper, WbsInfo>
     @Override
     public IPage<WbsInfo> selectWbsInfoPage(IPage<WbsInfo> page, WbsInfoDTO wbsInfo) {
         Set<Long> wbsIds = new HashSet<>();
-        if (StringUtil.hasText(wbsInfo.getProjectName()) || wbsInfo.getProjectId() != null) {
+        if (StringUtil.hasText(wbsInfo.getProjectName()) || StringUtil.isNumeric(wbsInfo.getProjectId())) {
             List<ProjectInfo> projectInfoList;
-            if (wbsInfo.getProjectId() != null && StringUtil.isNumeric(wbsInfo.getProjectId())) {
+            if (StringUtil.isNumeric(wbsInfo.getProjectId())) {
                 projectInfoList = jdbcTemplate.query("select * from m_project_info where id = " + wbsInfo.getProjectId(), new BeanPropertyRowMapper<>(ProjectInfo.class));
             } else {
                 projectInfoList = jdbcTemplate.query("select * from m_project_info where project_name like '%" + wbsInfo.getProjectName() + "%'", new BeanPropertyRowMapper<>(ProjectInfo.class));

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

@@ -628,7 +628,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
             }else if(rightNodeType==18){
                 rightNodeType=2;
             }else {
-                rightNodeType=rightNodeType++;
+                rightNodeType=rightNodeType+1;
             }
             Set<Integer> typeSet = leftLists.stream().filter(o -> o.getType()==1).map(o -> o.getNodeType()).collect(Collectors.toSet());
             for (Integer type : typeSet) {

+ 3 - 3
blade-service/blade-system/src/main/java/org/springblade/system/mapper/DictBizMapper.xml

@@ -40,9 +40,9 @@
         <if test="notRoot != null and notRoot != ''">
             and parent_id > 0
         </if>
-        <if test="tenantId != null and tenantId != ''">
-            and tenant_id = #{tenantId}
-        </if>
+<!--        <if test="tenantId != null and tenantId != ''">-->
+<!--            and tenant_id = #{tenantId}-->
+<!--        </if>-->
         and is_sealed = 0 and is_deleted = 0
         order by sort
     </select>