Commit 609065ee authored by yajun.zhang's avatar yajun.zhang

返回taskid

parent f33986b6
...@@ -11,6 +11,8 @@ public class ThirdWorkOrderVo { ...@@ -11,6 +11,8 @@ public class ThirdWorkOrderVo {
private Long id; private Long id;
//工单id //工单id
private String processInstanceId; private String processInstanceId;
//流程任务id
private String taskId;
//流程定义id //流程定义id
private String processDefinitionId; private String processDefinitionId;
//流程定义id //流程定义id
......
...@@ -6,8 +6,10 @@ import cn.quantgroup.customer.rest.vo.thirdworkorder.ThirdWorkOrderVo; ...@@ -6,8 +6,10 @@ import cn.quantgroup.customer.rest.vo.thirdworkorder.ThirdWorkOrderVo;
import cn.quantgroup.customer.service.IThirdWorkOrderService; import cn.quantgroup.customer.service.IThirdWorkOrderService;
import cn.quantgroup.customer.service.IWorkOrderService; import cn.quantgroup.customer.service.IWorkOrderService;
import cn.quantgroup.third.customer.entity.LhpdsSysUser; import cn.quantgroup.third.customer.entity.LhpdsSysUser;
import cn.quantgroup.third.customer.entity.WorkflowProcessInstanceTaskAssignee;
import cn.quantgroup.third.customer.repo.LhpdsCustomer2Repo; import cn.quantgroup.third.customer.repo.LhpdsCustomer2Repo;
import cn.quantgroup.third.customer.repo.LhpdsSysUserRepo; import cn.quantgroup.third.customer.repo.LhpdsSysUserRepo;
import cn.quantgroup.third.customer.repo.WorkflowProcessInstanceTaskAssigneeRepo;
import java.rmi.MarshalledObject; import java.rmi.MarshalledObject;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
...@@ -49,6 +51,8 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService { ...@@ -49,6 +51,8 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService {
@Autowired @Autowired
private LhpdsSysUserRepo lhpdsSysUserRepo; private LhpdsSysUserRepo lhpdsSysUserRepo;
@Autowired @Autowired
private WorkflowProcessInstanceTaskAssigneeRepo taskAssigneeRepo;
@Autowired
@Qualifier("entityManagerSecondary") @Qualifier("entityManagerSecondary")
private EntityManager entityManager; private EntityManager entityManager;
@Override @Override
...@@ -99,6 +103,7 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService { ...@@ -99,6 +103,7 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService {
sql.append(" where "+conditionSql.toString().substring(3)); sql.append(" where "+conditionSql.toString().substring(3));
countSql.append(" where "+conditionSql.toString().substring(3)); countSql.append(" where "+conditionSql.toString().substring(3));
} }
sql.append(" order by lc.id desc");
sql.append( " limit "+offset+","+param.getPageSize()); sql.append( " limit "+offset+","+param.getPageSize());
Query nativeQuery = entityManager.createNativeQuery(sql.toString()); Query nativeQuery = entityManager.createNativeQuery(sql.toString());
List<Object[]> result = nativeQuery.getResultList(); List<Object[]> result = nativeQuery.getResultList();
...@@ -106,6 +111,7 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService { ...@@ -106,6 +111,7 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService {
Object count = countQuery.getSingleResult(); Object count = countQuery.getSingleResult();
Set<String> userSet = new HashSet<>(); Set<String> userSet = new HashSet<>();
Set<String> processInstanceIdSet = new HashSet<>();
for (Object[] objects : result){ for (Object[] objects : result){
if (objects[1] != null){ if (objects[1] != null){
userSet.add(objects[1].toString()); userSet.add(objects[1].toString());
...@@ -113,6 +119,9 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService { ...@@ -113,6 +119,9 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService {
if (objects[2] != null){ if (objects[2] != null){
userSet.add(objects[2].toString()); userSet.add(objects[2].toString());
} }
if (objects[5] != null){
processInstanceIdSet.add(objects[5].toString());
}
} }
//查询用户名称 //查询用户名称
...@@ -120,10 +129,19 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService { ...@@ -120,10 +129,19 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService {
if (CollectionUtils.isNotEmpty(userSet)){ if (CollectionUtils.isNotEmpty(userSet)){
userList = lhpdsSysUserRepo.getUserByAccountIdList(new ArrayList<>(userSet)); userList = lhpdsSysUserRepo.getUserByAccountIdList(new ArrayList<>(userSet));
} }
Map<String,String> userNameMap = userList.stream().collect( Map<String,String> userNameMap = userList.stream().collect(
Collectors.toMap(LhpdsSysUser::getAccountId, LhpdsSysUser::getNickname,(key1,key2)->key2)); Collectors.toMap(LhpdsSysUser::getAccountId, LhpdsSysUser::getNickname,(key1,key2)->key2));
//查询任务id
List<WorkflowProcessInstanceTaskAssignee> taskAssigneeList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(processInstanceIdSet)){
taskAssigneeList = taskAssigneeRepo.getByInstanceIds(new ArrayList<>(processInstanceIdSet));
}
Map<String,String> taskAssigneeMap = taskAssigneeList.stream().collect(
Collectors.toMap(WorkflowProcessInstanceTaskAssignee::getProcessInstanceId,
WorkflowProcessInstanceTaskAssignee::getTaskId,(key1,key2)->key2));
List<ThirdWorkOrderVo> resultList = new ArrayList<>(); List<ThirdWorkOrderVo> resultList = new ArrayList<>();
for (Object[] objects : result){ for (Object[] objects : result){
ThirdWorkOrderVo vo = new ThirdWorkOrderVo(); ThirdWorkOrderVo vo = new ThirdWorkOrderVo();
...@@ -159,6 +177,7 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService { ...@@ -159,6 +177,7 @@ public class ThirdWorkOrderServiceImpl implements IThirdWorkOrderService {
if (objects[9] != null){ if (objects[9] != null){
vo.setRealContact(objects[9].toString()); vo.setRealContact(objects[9].toString());
} }
vo.setTaskId(taskAssigneeMap.get(vo.getProcessInstanceId()));
resultList.add(vo); resultList.add(vo);
} }
......
...@@ -10,6 +10,7 @@ import javax.persistence.Table; ...@@ -10,6 +10,7 @@ import javax.persistence.Table;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
...@@ -20,20 +21,30 @@ import lombok.ToString; ...@@ -20,20 +21,30 @@ import lombok.ToString;
@Getter @Getter
@Setter @Setter
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor
public class WorkflowProcessInstanceTaskAssignee { public class WorkflowProcessInstanceTaskAssignee {
@Id @Id
@Column(name = "process_instance_id") @Column(name = "process_instance_id")
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
// 流程实例id // 流程实例id
private String processInstanceId; private String processInstanceId;
// 任务id // 任务id
@Column(name = "task_id")
private String taskId; private String taskId;
// 受理人 // 受理人
@Column(name = "assignee")
private String assignee; private String assignee;
// 任务状态 // 任务状态
@Column(name = "task_state")
private String taskState; private String taskState;
// 任务名称 // 任务名称
@Column(name = "task_name")
private String taskName; private String taskName;
// 状态 // 状态
@Column(name = "state")
private int state; private int state;
} }
package cn.quantgroup.third.customer.repo;
import cn.quantgroup.third.customer.entity.WorkflowProcessInstanceTaskAssignee;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
public interface WorkflowProcessInstanceTaskAssigneeRepo extends JpaRepository<WorkflowProcessInstanceTaskAssignee, Long> , JpaSpecificationExecutor<WorkflowProcessInstanceTaskAssignee> {
@Query(value = "select * from lhpds_workflow_process_instance_task_assignee where process_instance_id IN :processInstanceIds and task_state='未处理' and state=0", nativeQuery = true)
List<WorkflowProcessInstanceTaskAssignee> getByInstanceIds(@Param("processInstanceIds") List<String> processInstanceIds);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment