Kaynağa Gözat

任务进度

cr 3 gün önce
ebeveyn
işleme
69c6a7e438

+ 0 - 2
blade-service-api/blade-business-api/src/main/java/org/springblade/business/feign/TaskProgressClient.java

@@ -13,8 +13,6 @@ public interface TaskProgressClient {
      */
     String API_PREFIX = "/api/business/taskProgress";
 
-    @GetMapping(API_PREFIX + "/addTaskProgress")
-    Boolean addTaskProgress(@RequestParam("projectId") Long projectId, @RequestParam("contractId") Long contractId, @RequestParam("type") Integer type, @RequestParam("size") Integer size, @RequestParam("dataIds") String dataIds);
 
     @GetMapping(API_PREFIX + "/updateTaskProgress")
     Boolean updateTaskProgress(@RequestParam("projectId") Long projectId,@RequestParam("contractId") Long contractId,@RequestParam("type") Integer type,@RequestParam("finishTotal") Integer finishTotal,@RequestParam("dataId") String dataId);

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

@@ -14,10 +14,7 @@ public class TaskProgressClientImpl implements TaskProgressClient {
     private final ITaskProgressService taskProgressService;
 
 
-    @Override
-    public Boolean addTaskProgress(Long projectId, Long contractId, Integer type, Integer size,String dataIds) {
-       return taskProgressService.addTaskProgress(projectId, contractId, type, size,dataIds);
-    }
+
 
     @Override
     public Boolean updateTaskProgress(Long projectId, Long contractId, Integer type, Integer finishTotal,String dataId) {

+ 2 - 0
blade-service/blade-business/src/main/java/org/springblade/business/mapper/TaskProgressMapper.java

@@ -48,4 +48,6 @@ public interface TaskProgressMapper extends BaseMapper<TaskProgress> {
 	void checkAndUpdateIsFinish(@Param("id") Long id);
 
 	TaskProgressVO selectNewTaskProgress1(@Param("projectId") Long projectId, @Param("contractId") Long contractId, @Param("type") Integer type);
+
+	Integer selectTaskBatchSize(@Param("dataIds") List<Long> dataIds);
 }

+ 15 - 0
blade-service/blade-business/src/main/java/org/springblade/business/mapper/TaskProgressMapper.xml

@@ -36,5 +36,20 @@
     <select id="selectNewTaskProgress1" resultType="org.springblade.business.vo.TaskProgressVO">
         select * from m_task_progress where is_deleted = 0 and project_id = #{projectId} and contract_id = #{contractId} and type = #{type}  order by create_time desc limit 1
     </select>
+    <select id="selectTaskBatchSize" resultType="java.lang.Integer">
+        SELECT COUNT(*)
+        FROM u_task_batch utb
+        INNER JOIN m_task_progress mtp
+        ON FIND_IN_SET(
+        JSON_UNQUOTE(JSON_EXTRACT(utb.json_data, '$.formDataId')),
+        mtp.data_id
+        ) > 0
+        <if test="dataIds != null and dataIds.size() > 0">
+            WHERE JSON_UNQUOTE(JSON_EXTRACT(utb.json_data, '$.formDataId')) IN
+            <foreach collection="dataIds" item="id" open="(" close=")" separator=",">
+                #{id}
+            </foreach>
+        </if>
+    </select>
 
 </mapper>

+ 23 - 4
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TaskProgressServiceImpl.java

@@ -24,6 +24,7 @@ import org.springblade.business.mapper.TaskProgressMapper;
 import org.springblade.business.service.ITaskProgressService;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.business.vo.TaskProgressVO1;
+import org.springblade.core.tool.utils.Func;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
@@ -56,15 +57,33 @@ public class TaskProgressServiceImpl extends BaseServiceImpl<TaskProgressMapper,
 		}
 		TaskProgressVO vo2 = baseMapper.selectNewTaskProgress1(projectId, contractId,2);
 		if(vo2!=null){
-			map.put("re-sign", new TaskProgressVO1(vo2.getFinishTatol(),vo2.getTaskTotal(),vo2.getTaskTotal() > 0 ?
-					(double) vo2.getFinishTatol() / vo2.getTaskTotal() * 100 :
+			Integer size=0;
+			if(StringUtils.isNotEmpty(vo2.getDataId())){
+				size=baseMapper.selectTaskBatchSize(Func.toLongList(vo2.getDataId()));
+			}
+			Integer finishTatol=vo2.getTaskTotal()-size;
+			map.put("re-sign", new TaskProgressVO1(finishTatol,vo2.getTaskTotal(),vo2.getTaskTotal() > 0 ?
+					(double) finishTatol / vo2.getTaskTotal() * 100 :
 					0.00));
+			if(size==0){
+				vo2.setIsDeleted(0);
+				baseMapper.updateById(vo2);
+			}
 		}
 		TaskProgressVO vo3 = baseMapper.selectNewTaskProgress1(projectId, contractId,4);
 		if(vo3!=null){
-			map.put("electronic-sign", new TaskProgressVO1(vo3.getFinishTatol(),vo3.getTaskTotal(),vo3.getTaskTotal() > 0 ?
-					(double) vo3.getFinishTatol() / vo3.getTaskTotal() * 100 :
+			Integer size=0;
+			if(StringUtils.isNotEmpty(vo3.getDataId())){
+				size=baseMapper.selectTaskBatchSize(Func.toLongList(vo3.getDataId()));
+			}
+			Integer finishTatol=vo3.getTaskTotal()-size;
+			map.put("electronic-sign", new TaskProgressVO1(finishTatol,vo3.getTaskTotal(),vo3.getTaskTotal() > 0 ?
+					(double) finishTatol / vo3.getTaskTotal() * 100 :
 					0.00));
+			if(size==0){
+				vo3.setIsDeleted(0);
+				baseMapper.updateById(vo3);
+			}
 		}
 		return map;
 	}

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

@@ -1972,7 +1972,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
                     .in(InformationQuery::getId, newIds));
             List<InformationQuery> list = informationQueryService.list(new LambdaQueryWrapper<>(InformationQuery.class).in(InformationQuery::getId, newIds));
             recordResignLog("save-again", StringUtils.join(newIds, ","), list, dtos, dtos.get(0).getProjectId()+"", dtos.get(0).getContractId()+"", null);
-            taskProgressService.addTaskProgress(dtos.get(0).getProjectId(), dtos.get(0).getContractId(), 1,dtos.size(),null);
+            taskProgressService.addTaskProgress(dtos.get(0).getProjectId(), dtos.get(0).getContractId(), 1,dtos.size(),StringUtils.join(newIds, ","));
         }
         return R.success("操作成功");
     }
@@ -1997,7 +1997,6 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
         //查询任务信息
         List<Task> taskList = jdbcTemplate.query("select * from u_task where id in(" + taskIds + ")", new BeanPropertyRowMapper<>(Task.class));
         if (taskList.size() > 0) {
-            taskProgressService.addTaskProgress(Long.parseLong(projectId), Long.parseLong(contractId), 2,taskList.size(),null);
             //获取任务详情信息Map
             Set<String> processInstanceIds = taskList.stream().map(Task::getProcessInstanceId).collect(Collectors.toSet());
             Map<String, List<TaskParallel>> taskParallelGroupMap = new HashMap<>();
@@ -2012,6 +2011,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
             List<String> dataIdList = taskList.stream().map(Task::getFormDataId).filter(ObjectUtil::isNotEmpty).collect(Collectors.toList());
             //Map<String, String> queryMap = jdbcTemplate.query("select * from u_information_query where id in(" + StringUtils.join(dataIdList, ",") + ")", new BeanPropertyRowMapper<>(InformationQuery.class)).stream().collect(Collectors.toMap(l -> l.getId() + "", l -> l.getWbsId() + ""));
             List<InformationQuery> list = informationQueryService.list(Wrappers.<InformationQuery>lambdaQuery().in(InformationQuery::getId, dataIdList));
+            taskProgressService.addTaskProgress(Long.parseLong(projectId), Long.parseLong(contractId), 2,taskList.size(),StringUtils.join(dataIdList, ","));
             Map<String, String> queryMap=list.stream().collect(Collectors.toMap(l -> l.getId() + "", l -> l.getWbsId() + ""));
             Map<String, String> typeMap = jdbcTemplate.query("select * from u_information_query where id in(" + StringUtils.join(dataIdList, ",") + ")", new BeanPropertyRowMapper<>(InformationQuery.class)).stream().collect(Collectors.toMap(l -> l.getId() + "", l -> l.getClassify() + ""));
 
@@ -2221,7 +2221,6 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
                                 .set(TaskParallel::getEVisaContent, "重新保存PDF失败")
                                 .eq(TaskParallel::getProcessInstanceId, task.getProcessInstanceId()));
                     }
-                    taskProgressService.updateTaskProgress(Long.parseLong(task.getProjectId()), Long.parseLong(task.getContractId()), 2, 1,null);
                 }
                 //获取当前操作人
                 Long userId = AuthUtil.getUserId(request);

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

@@ -68,7 +68,7 @@ public class TaskSync {
         }
         lambda.set(InformationQuery::getUpdateTime, DateTime.now());
         lambda.eq(InformationQuery::getId, dto.getId());
-        taskProgressClient.updateTaskProgress(dto.getProjectId(), dto.getContractId(), 1, 1,null);
+        taskProgressClient.updateTaskProgress(dto.getProjectId(), dto.getContractId(), 1, 1,dto.getId()+"");
         informationQueryService.update(lambda);
         log.info("数据重刷完毕,线程名称:{}", Thread.currentThread().getName());
     }

+ 0 - 1
blade-service/blade-e-visa/src/main/java/org/springblade/evisa/service/impl/EVDataServiceImpl.java

@@ -384,7 +384,6 @@ public class EVDataServiceImpl implements EVDataService {
                     this.jdbcTemplate.execute("update u_information_query set status=1 where id=" + taskApp.getFormDataId());
                 }
             }
-            taskProgressClient.updateTaskProgress(Long.parseLong(taskApp.getProjectId()), Long.parseLong(taskApp.getContractId()), 4, 1, taskApp.getFormDataId());
             RedisTemplate.delete("sign-" + taskApp.getFormDataId());
             RedisTemplate.opsForList().rightPush("blade:statistics:information_query_statistics_key", taskApp.getFormDataId());
             Thread.sleep(1000);