Merge pull request 'fix: 修改获取任务包主图' (#105) from feat/updateFlow-20240415 into test

Reviewed-on: #105
pull/108/head
sunchenliang 1 year ago
commit f26e310cd2

@ -491,10 +491,10 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
taskData = taskList.get(0);
}
OcrTaskchildPicture childPicture = ocrTaskchildPictureService.getById(Long.parseLong(formId));
childPicture.setTaskNode(taskData.getDescription());
if (ObjectUtils.isEmpty(taskData)) {
model.setFinishtime(System.currentTimeMillis());
model.setStates(SystemConstantsOa.OA_STATUS_TYPE_END);
ocrTaskchildPictureService.updateById(model);
OcrPicture picture = ocrPictureService.getById(model.getPictureid());
ocrTaskchildPictureService.sendFlowTaskResult(childPicture, picture, approve);
} else {
@ -507,8 +507,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
this.sendMsg(childPicture, userToken);
childPicture.setTaskId(taskData.getId());
childPicture.setTaskname(taskData.getName());
ocrTaskchildPictureService.updateById(childPicture);
}
ocrTaskchildPictureService.updateById(childPicture);
//增加未查看记录
userViewApproeService.saveUserViewApproe(formData.getAssignee(), formData.getFormid().toString(), formData.getTenantid().toString());
@ -517,7 +517,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
/**
*
*/
private void disposeFailureTask(Task task, String formId, Map<String, Object> variables, FlowApprove approve) throws Exception {
private void disposeFailureTask(Task task, String formId, Map<String, Object> variables, FlowApprove approve) throws
Exception {
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult();
//我这里以 流程定义key(oa_category_t定义的关键字逻辑唯一) + 业务表主键(请假表、调岗表等) + 业务表对应的servicename
String businesskey = processInstance.getBusinessKey();
@ -586,7 +587,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
*
* @param processDefinition
*/
public void updateAssignee(String processInstanceId, String processDefinitionId, ProcessDefinition processDefinition) {
public void updateAssignee(String processInstanceId, String processDefinitionId, ProcessDefinition
processDefinition) {
//如果是多个候选人或者是候选组,做任务拾取
FlowTaskCompleteVO flowTaskCompleteVO = updateNowTaskAssignee(processInstanceId, processDefinitionId);
@ -1300,7 +1302,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
* @param tenantId
* @param pageUtils
*/
public void getMyProcessInstances(User user, String tenantId, Map<String, Object> searchQuery, PageUtils pageUtils, String userSearchId) {
public void getMyProcessInstances(User user, String tenantId, Map<String, Object> searchQuery, PageUtils
pageUtils, String userSearchId) {
ParamterPage paramterPage = new ParamterPage();
paramterPage.setStart((pageUtils.getCurrPage() - 1) * pageUtils.getPageSize());
paramterPage.setPagesize(pageUtils.getPageSize());
@ -1349,91 +1352,91 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
taskchildPicture.setPicture(ocrPictureOne);
taskchildPicture.setFinishTime(ocrPictureOne.getSubmitDateTimestamp());
}
//查询对应的流程分类
Category category = categoryService.selectDtoById(Long.parseLong(taskchildPicture.getCategoryid()));
taskchildPicture.setCategoryDto(category);
if (StringUtils.isNotBlank(taskchildPicture.getProcessdefinitionid())) {
List<Task> taskList = this.nowRunTask(taskchildPicture.getProcessinstanceid(), taskchildPicture.getProcessdefinitionid());
if (null != taskList && !taskList.isEmpty()) {
taskchildPicture.setTaskId(taskList.get(0).getId());
Task tasknow = taskService.createTaskQuery().taskId(taskchildPicture.getTaskId()).singleResult();
BpmnModel bpmnModel = repositoryService.getBpmnModel(tasknow.getProcessDefinitionId());
// 获取节点定义id
String taskDefinitionKey = tasknow.getTaskDefinitionKey();
// 根据节点定义id获取节点元素
FlowElement flowElement = bpmnModel.getFlowElement(taskDefinitionKey);
if (flowElement instanceof UserTask) {
UserTask userTask = (UserTask) flowElement;
taskchildPicture.setDocumentation(userTask.getDocumentation());
}
}
//查询历史
List<HistoricTaskInstanceDto> historicTaskInstanceDtos = new ArrayList<>();
// 查询当前任务的流转信息
List<HistoricTaskInstance> taskHiInstances = historyService.createHistoricTaskInstanceQuery()
.processInstanceId(taskchildPicture.getProcessinstanceid())
.includeProcessVariables()
.orderByHistoricTaskInstanceStartTime()
.asc()
.list();
for (HistoricTaskInstance taskHiInstance : taskHiInstances) {
HistoricTaskInstanceDto dto = new HistoricTaskInstanceDto();
dto.setTaskId(taskHiInstance.getId());
dto.setTaskName(taskHiInstance.getName());
dto.setFinishTime(taskHiInstance.getEndTime());
if (taskHiInstance.getDurationInMillis() != null) {
dto.setDuration(taskHiInstance.getDurationInMillis() / 1000 + "秒");
}
dto.setTaskDefKey(taskHiInstance.getTaskDefinitionKey());
//Map<String,Object> variables = taskHiInstance.getTaskLocalVariables();
Map<String, Object> variables = taskHiInstance.getProcessVariables();
if (null != variables && null != variables.get("approvd")) {
dto.setState(variables.get("approvd").toString());
}
if (StringUtils.isNotBlank(taskHiInstance.getAssignee())) {
if (SystemConstantsOa.OA_TASK_SKIP_ASSIGINE.equals(taskHiInstance.getAssignee())) {
dto.setAssigneeName(taskHiInstance.getAssignee());
} else {
User user1 = userService.findByLoginname(taskHiInstance.getAssignee());
dto.setAssigneeName(user1.getUsername());
}
}
BpmnModel bpmnModel = repositoryService.getBpmnModel(taskchildPicture.getProcessdefinitionid());
//
// //查询对应的流程分类
// Category category = categoryService.selectDtoById(Long.parseLong(taskchildPicture.getCategoryid()));
// taskchildPicture.setCategoryDto(category);
//
// if (StringUtils.isNotBlank(taskchildPicture.getProcessdefinitionid())) {
//
// List<Task> taskList = this.nowRunTask(taskchildPicture.getProcessinstanceid(), taskchildPicture.getProcessdefinitionid());
// if (null != taskList && !taskList.isEmpty()) {
// taskchildPicture.setTaskId(taskList.get(0).getId());
//
// Task tasknow = taskService.createTaskQuery().taskId(taskchildPicture.getTaskId()).singleResult();
// BpmnModel bpmnModel = repositoryService.getBpmnModel(tasknow.getProcessDefinitionId());
// // 获取节点定义id
// String taskDefinitionKey = tasknow.getTaskDefinitionKey();
// // 根据节点定义id获取节点元素
FlowElement flowElement = bpmnModel.getFlowElement(taskHiInstance.getTaskDefinitionKey());
if (flowElement instanceof UserTask) {
UserTask userTask = (UserTask) flowElement;
taskchildPicture.setDocumentation(userTask.getDocumentation());
}
// 还需要根据 HistoricTaskInstance 找到对应的 审批意见
List<Comment> processInstanceComments = taskService.getProcessInstanceComments(taskchildPicture.getProcessinstanceid());
for (Comment comment : processInstanceComments) {
if (comment.getTaskId().equals(taskHiInstance.getId())) {
// 审批意见
String fullMessage = comment.getFullMessage();
dto.setComment(fullMessage);
}
}
historicTaskInstanceDtos.add(dto);
}
taskchildPicture.setTransferRecords(historicTaskInstanceDtos);
}
// FlowElement flowElement = bpmnModel.getFlowElement(taskDefinitionKey);
// if (flowElement instanceof UserTask) {
// UserTask userTask = (UserTask) flowElement;
//
// taskchildPicture.setDocumentation(userTask.getDocumentation());
// }
// }
//
// //查询历史
// List<HistoricTaskInstanceDto> historicTaskInstanceDtos = new ArrayList<>();
// // 查询当前任务的流转信息
// List<HistoricTaskInstance> taskHiInstances = historyService.createHistoricTaskInstanceQuery()
// .processInstanceId(taskchildPicture.getProcessinstanceid())
// .includeProcessVariables()
// .orderByHistoricTaskInstanceStartTime()
// .asc()
// .list();
// for (HistoricTaskInstance taskHiInstance : taskHiInstances) {
// HistoricTaskInstanceDto dto = new HistoricTaskInstanceDto();
// dto.setTaskId(taskHiInstance.getId());
// dto.setTaskName(taskHiInstance.getName());
// dto.setFinishTime(taskHiInstance.getEndTime());
// if (taskHiInstance.getDurationInMillis() != null) {
// dto.setDuration(taskHiInstance.getDurationInMillis() / 1000 + "秒");
// }
// dto.setTaskDefKey(taskHiInstance.getTaskDefinitionKey());
//
// //Map<String,Object> variables = taskHiInstance.getTaskLocalVariables();
//
// Map<String, Object> variables = taskHiInstance.getProcessVariables();
//
// if (null != variables && null != variables.get("approvd")) {
// dto.setState(variables.get("approvd").toString());
// }
//
// if (StringUtils.isNotBlank(taskHiInstance.getAssignee())) {
// if (SystemConstantsOa.OA_TASK_SKIP_ASSIGINE.equals(taskHiInstance.getAssignee())) {
// dto.setAssigneeName(taskHiInstance.getAssignee());
// } else {
// User user1 = userService.findByLoginname(taskHiInstance.getAssignee());
//
// dto.setAssigneeName(user1.getUsername());
// }
//
// }
//
// BpmnModel bpmnModel = repositoryService.getBpmnModel(taskchildPicture.getProcessdefinitionid());
//
//// // 根据节点定义id获取节点元素
// FlowElement flowElement = bpmnModel.getFlowElement(taskHiInstance.getTaskDefinitionKey());
// if (flowElement instanceof UserTask) {
// UserTask userTask = (UserTask) flowElement;
//
// taskchildPicture.setDocumentation(userTask.getDocumentation());
// }
// // 还需要根据 HistoricTaskInstance 找到对应的 审批意见
// List<Comment> processInstanceComments = taskService.getProcessInstanceComments(taskchildPicture.getProcessinstanceid());
// for (Comment comment : processInstanceComments) {
//
// if (comment.getTaskId().equals(taskHiInstance.getId())) {
// // 审批意见
// String fullMessage = comment.getFullMessage();
// dto.setComment(fullMessage);
// }
// }
// historicTaskInstanceDtos.add(dto);
// }
// taskchildPicture.setTransferRecords(historicTaskInstanceDtos);
// }
}
pageUtils.setTotalCount(count.intValue());
@ -1507,7 +1510,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
* @param tenantId
* @param pageUtils
*/
public List<OcrTaskchildPictureAppro> getMyProcessInstancesNew(User user, String tenantId, Map<String, Object> searchQuery, PageUtils pageUtils) {
public List<OcrTaskchildPictureAppro> getMyProcessInstancesNew(User user, String
tenantId, Map<String, Object> searchQuery, PageUtils pageUtils) {
ParamterPage paramterPage = new ParamterPage();
paramterPage.setStart((pageUtils.getCurrPage() - 1) * pageUtils.getPageSize());
paramterPage.setPagesize(pageUtils.getPageSize());
@ -1652,7 +1656,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
*
* @return
*/
public IPage<FlowUnionVo> getMyListCc(Map<String, Object> query, UserToken userToken, ParamterPage paramterPage) {
public IPage<FlowUnionVo> getMyListCc(Map<String, Object> query, UserToken userToken, ParamterPage
paramterPage) {
//查询抄送给当前用户的fromid集合
QueryWrapper queryWrapper = new QueryWrapper();
@ -1826,7 +1831,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
public ResultVo repetitionTask() {
List<RepeatedContentVo> repeatedContentVoList = flowableccMybatisDao.repetitionTask();
List<String> formIdsToUpdate = new ArrayList<>();
if(repeatedContentVoList.size()>0 && repeatedContentVoList.get(0).getRepeatedTaskList().size() >0){
if (repeatedContentVoList.size() > 0 && repeatedContentVoList.get(0).getRepeatedTaskList().size() > 0) {
String formIds = repeatedContentVoList.get(0).getRepeatedTaskList().get(0).getFormId();
String[] formIdsArray = formIds.split(",");
for (String formId : formIdsArray) {
@ -1856,7 +1861,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
* @param usersearchchild
* @return
*/
private QueryWrapper<OcrTaskchildPicture> formattingSearchChild(QueryWrapper<OcrTaskchildPicture> queryWrapper, OcrUsersearchchild usersearchchild) {
private QueryWrapper<OcrTaskchildPicture> formattingSearchChild
(QueryWrapper<OcrTaskchildPicture> queryWrapper, OcrUsersearchchild usersearchchild) {
switch (usersearchchild.getSearchRelationType()) {
case "where":
this.formattingSearchType(queryWrapper, usersearchchild);
@ -1880,7 +1886,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
* @param usersearchchild
* @return
*/
private QueryWrapper<OcrTaskchildPicture> formattingSearchType(QueryWrapper<OcrTaskchildPicture> queryWrapper, OcrUsersearchchild usersearchchild) {
private QueryWrapper<OcrTaskchildPicture> formattingSearchType
(QueryWrapper<OcrTaskchildPicture> queryWrapper, OcrUsersearchchild usersearchchild) {
//查询类型 相等true 不相等fase
boolean queryType = "eq".equals(usersearchchild.getSearchtype());

@ -21,6 +21,9 @@ import cn.jyjz.xiaoyao.oa.from.dataobject.Userapprove;
import cn.jyjz.xiaoyao.oa.from.service.CategoryService;
import cn.jyjz.xiaoyao.oa.from.service.UserapproveService;
import cn.jyjz.xiaoyao.ocr.api.PrevailCloudApi;
import cn.jyjz.xiaoyao.ocr.api.utils.ApiConfig;
import cn.jyjz.xiaoyao.ocr.api.utils.ApiHelper;
import cn.jyjz.xiaoyao.ocr.api.utils.RequestData;
import cn.jyjz.xiaoyao.ocr.dataDao.OcrTaskchildPictureMybatisDao;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureDuplicateHis;
@ -90,9 +93,6 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
@Resource
IFlowInstanceService flowInstanceService;
@Resource
private CategoryService categoryService;
@Resource
private IOcrPictureDuplicateHisService pictureDuplicateHisService;
@ -611,7 +611,6 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
/**
*
*
* @param page
* @param query
* @return
*/
@ -754,12 +753,7 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
}
}
flowResultDto.setApproveDetailList(nodeList);
ResultDto resultDto = new ResultDto();
resultDto.setStatus(HttpStatus.OK.value());
resultDto.setTimestamp(System.currentTimeMillis());
resultDto.setData(JSON.toJSONString(flowResultDto));
System.out.println(JSON.toJSONString(resultDto));
prevailCloudApi.sendFlowTaskResult(picture.getTenantId().toString(),JSON.toJSONString(resultDto));
prevailCloudApi.sendFlowTaskResult(picture.getTenantId().toString(),JSON.toJSONString(flowResultDto));
}

@ -252,7 +252,6 @@ public class TaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchildPic
//iFlowFormMessageService.sendMsg(user.getLoginname(),model.getUsername() + SystemMessage.SYS_OA_TYPE_LEAVE + SystemMessage.SYS_OA_TO_DO,taskId,processInstanceId,fromid, CacheQyweixinConstants.OA_DISTIONARY_TYPE_MSG_SHENPI,model.getCategoryid().toString());
}
model.setAssigneename(stringBuffer.toString());
model.setTaskNode(task.getDescription());
return this.ocrTaskchildPictureService.updateById(model);
}
return false;

@ -225,7 +225,7 @@
</if>
</sql>
<select id="getPackagePictureInfo" resultMap="BaseResultMap">
<select id="getPackagePictureInfo" resultType="cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture">
SELECT t2.*,
t3.*,
t4.STATES,

@ -887,7 +887,6 @@
FROM ocr_check_duplicate_result t1
LEFT JOIN ocr_picture t2 ON t1.picture_id = t2.ID
LEFT JOIN ocr_taskchild_picture t3 ON t2.ID = t3.PICTUREID
LEFT JOIN oa_userapprove_t t4 ON t3.ID = t4.FORMID and t4.TASKNAME = '${taskname}'
left join ocr_picture_info t5 on t2.ID = t5.picture_id
WHERE t1.check_duplicate_id = #{checkDuplicateId}
and t2.suspiciousfile = 0
@ -948,7 +947,8 @@
<select id="listFinalTask" resultType="cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture"
parameterType="java.util.Map">
select tcp.*, pic.field11 reporttime, pic.similarity_score similarityscore,pic.server_thumbnail_url serverThumbnailUrl
select tcp.*, pic.field11 reporttime, pic.similarity_score similarityscore,pic.server_thumbnail_url serverThumbnailUrl,
pic.imgUrl imgUrl
from ocr_taskchild_picture tcp
left join ocr_picture pic
on tcp.PICTUREID = pic.ID

Loading…
Cancel
Save