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); taskData = taskList.get(0);
} }
OcrTaskchildPicture childPicture = ocrTaskchildPictureService.getById(Long.parseLong(formId)); OcrTaskchildPicture childPicture = ocrTaskchildPictureService.getById(Long.parseLong(formId));
childPicture.setTaskNode(taskData.getDescription());
if (ObjectUtils.isEmpty(taskData)) { if (ObjectUtils.isEmpty(taskData)) {
model.setFinishtime(System.currentTimeMillis()); model.setFinishtime(System.currentTimeMillis());
model.setStates(SystemConstantsOa.OA_STATUS_TYPE_END); model.setStates(SystemConstantsOa.OA_STATUS_TYPE_END);
ocrTaskchildPictureService.updateById(model);
OcrPicture picture = ocrPictureService.getById(model.getPictureid()); OcrPicture picture = ocrPictureService.getById(model.getPictureid());
ocrTaskchildPictureService.sendFlowTaskResult(childPicture, picture, approve); ocrTaskchildPictureService.sendFlowTaskResult(childPicture, picture, approve);
} else { } else {
@ -507,8 +507,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
this.sendMsg(childPicture, userToken); this.sendMsg(childPicture, userToken);
childPicture.setTaskId(taskData.getId()); childPicture.setTaskId(taskData.getId());
childPicture.setTaskname(taskData.getName()); childPicture.setTaskname(taskData.getName());
ocrTaskchildPictureService.updateById(childPicture);
} }
ocrTaskchildPictureService.updateById(childPicture);
//增加未查看记录 //增加未查看记录
userViewApproeService.saveUserViewApproe(formData.getAssignee(), formData.getFormid().toString(), formData.getTenantid().toString()); 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(); ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult();
//我这里以 流程定义key(oa_category_t定义的关键字逻辑唯一) + 业务表主键(请假表、调岗表等) + 业务表对应的servicename //我这里以 流程定义key(oa_category_t定义的关键字逻辑唯一) + 业务表主键(请假表、调岗表等) + 业务表对应的servicename
String businesskey = processInstance.getBusinessKey(); String businesskey = processInstance.getBusinessKey();
@ -586,7 +587,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
* *
* @param processDefinition * @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); FlowTaskCompleteVO flowTaskCompleteVO = updateNowTaskAssignee(processInstanceId, processDefinitionId);
@ -1300,7 +1302,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
* @param tenantId * @param tenantId
* @param pageUtils * @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 paramterPage = new ParamterPage();
paramterPage.setStart((pageUtils.getCurrPage() - 1) * pageUtils.getPageSize()); paramterPage.setStart((pageUtils.getCurrPage() - 1) * pageUtils.getPageSize());
paramterPage.setPagesize(pageUtils.getPageSize()); paramterPage.setPagesize(pageUtils.getPageSize());
@ -1349,91 +1352,91 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
taskchildPicture.setPicture(ocrPictureOne); taskchildPicture.setPicture(ocrPictureOne);
taskchildPicture.setFinishTime(ocrPictureOne.getSubmitDateTimestamp()); taskchildPicture.setFinishTime(ocrPictureOne.getSubmitDateTimestamp());
} }
//
//查询对应的流程分类 // //查询对应的流程分类
Category category = categoryService.selectDtoById(Long.parseLong(taskchildPicture.getCategoryid())); // Category category = categoryService.selectDtoById(Long.parseLong(taskchildPicture.getCategoryid()));
taskchildPicture.setCategoryDto(category); // taskchildPicture.setCategoryDto(category);
//
if (StringUtils.isNotBlank(taskchildPicture.getProcessdefinitionid())) { // if (StringUtils.isNotBlank(taskchildPicture.getProcessdefinitionid())) {
//
List<Task> taskList = this.nowRunTask(taskchildPicture.getProcessinstanceid(), taskchildPicture.getProcessdefinitionid()); // List<Task> taskList = this.nowRunTask(taskchildPicture.getProcessinstanceid(), taskchildPicture.getProcessdefinitionid());
if (null != taskList && !taskList.isEmpty()) { // if (null != taskList && !taskList.isEmpty()) {
taskchildPicture.setTaskId(taskList.get(0).getId()); // taskchildPicture.setTaskId(taskList.get(0).getId());
//
Task tasknow = taskService.createTaskQuery().taskId(taskchildPicture.getTaskId()).singleResult(); // Task tasknow = taskService.createTaskQuery().taskId(taskchildPicture.getTaskId()).singleResult();
BpmnModel bpmnModel = repositoryService.getBpmnModel(tasknow.getProcessDefinitionId()); // BpmnModel bpmnModel = repositoryService.getBpmnModel(tasknow.getProcessDefinitionId());
// 获取节点定义id // // 获取节点定义id
String taskDefinitionKey = tasknow.getTaskDefinitionKey(); // 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());
// // 根据节点定义id获取节点元素 // // 根据节点定义id获取节点元素
FlowElement flowElement = bpmnModel.getFlowElement(taskHiInstance.getTaskDefinitionKey()); // FlowElement flowElement = bpmnModel.getFlowElement(taskDefinitionKey);
if (flowElement instanceof UserTask) { // if (flowElement instanceof UserTask) {
UserTask userTask = (UserTask) flowElement; // UserTask userTask = (UserTask) flowElement;
//
taskchildPicture.setDocumentation(userTask.getDocumentation()); // taskchildPicture.setDocumentation(userTask.getDocumentation());
} // }
// 还需要根据 HistoricTaskInstance 找到对应的 审批意见 // }
List<Comment> processInstanceComments = taskService.getProcessInstanceComments(taskchildPicture.getProcessinstanceid()); //
for (Comment comment : processInstanceComments) { // //查询历史
// List<HistoricTaskInstanceDto> historicTaskInstanceDtos = new ArrayList<>();
if (comment.getTaskId().equals(taskHiInstance.getId())) { // // 查询当前任务的流转信息
// 审批意见 // List<HistoricTaskInstance> taskHiInstances = historyService.createHistoricTaskInstanceQuery()
String fullMessage = comment.getFullMessage(); // .processInstanceId(taskchildPicture.getProcessinstanceid())
dto.setComment(fullMessage); // .includeProcessVariables()
} // .orderByHistoricTaskInstanceStartTime()
} // .asc()
historicTaskInstanceDtos.add(dto); // .list();
} // for (HistoricTaskInstance taskHiInstance : taskHiInstances) {
taskchildPicture.setTransferRecords(historicTaskInstanceDtos); // 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()); pageUtils.setTotalCount(count.intValue());
@ -1507,7 +1510,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
* @param tenantId * @param tenantId
* @param pageUtils * @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 paramterPage = new ParamterPage();
paramterPage.setStart((pageUtils.getCurrPage() - 1) * pageUtils.getPageSize()); paramterPage.setStart((pageUtils.getCurrPage() - 1) * pageUtils.getPageSize());
paramterPage.setPagesize(pageUtils.getPageSize()); paramterPage.setPagesize(pageUtils.getPageSize());
@ -1652,7 +1656,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
* *
* @return * @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集合 //查询抄送给当前用户的fromid集合
QueryWrapper queryWrapper = new QueryWrapper(); QueryWrapper queryWrapper = new QueryWrapper();
@ -1826,7 +1831,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
public ResultVo repetitionTask() { public ResultVo repetitionTask() {
List<RepeatedContentVo> repeatedContentVoList = flowableccMybatisDao.repetitionTask(); List<RepeatedContentVo> repeatedContentVoList = flowableccMybatisDao.repetitionTask();
List<String> formIdsToUpdate = new ArrayList<>(); 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 formIds = repeatedContentVoList.get(0).getRepeatedTaskList().get(0).getFormId();
String[] formIdsArray = formIds.split(","); String[] formIdsArray = formIds.split(",");
for (String formId : formIdsArray) { for (String formId : formIdsArray) {
@ -1856,7 +1861,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
* @param usersearchchild * @param usersearchchild
* @return * @return
*/ */
private QueryWrapper<OcrTaskchildPicture> formattingSearchChild(QueryWrapper<OcrTaskchildPicture> queryWrapper, OcrUsersearchchild usersearchchild) { private QueryWrapper<OcrTaskchildPicture> formattingSearchChild
(QueryWrapper<OcrTaskchildPicture> queryWrapper, OcrUsersearchchild usersearchchild) {
switch (usersearchchild.getSearchRelationType()) { switch (usersearchchild.getSearchRelationType()) {
case "where": case "where":
this.formattingSearchType(queryWrapper, usersearchchild); this.formattingSearchType(queryWrapper, usersearchchild);
@ -1880,7 +1886,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
* @param usersearchchild * @param usersearchchild
* @return * @return
*/ */
private QueryWrapper<OcrTaskchildPicture> formattingSearchType(QueryWrapper<OcrTaskchildPicture> queryWrapper, OcrUsersearchchild usersearchchild) { private QueryWrapper<OcrTaskchildPicture> formattingSearchType
(QueryWrapper<OcrTaskchildPicture> queryWrapper, OcrUsersearchchild usersearchchild) {
//查询类型 相等true 不相等fase //查询类型 相等true 不相等fase
boolean queryType = "eq".equals(usersearchchild.getSearchtype()); 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.CategoryService;
import cn.jyjz.xiaoyao.oa.from.service.UserapproveService; import cn.jyjz.xiaoyao.oa.from.service.UserapproveService;
import cn.jyjz.xiaoyao.ocr.api.PrevailCloudApi; 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.dataDao.OcrTaskchildPictureMybatisDao;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture; import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureDuplicateHis; import cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureDuplicateHis;
@ -90,9 +93,6 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
@Resource @Resource
IFlowInstanceService flowInstanceService; IFlowInstanceService flowInstanceService;
@Resource
private CategoryService categoryService;
@Resource @Resource
private IOcrPictureDuplicateHisService pictureDuplicateHisService; private IOcrPictureDuplicateHisService pictureDuplicateHisService;
@ -611,7 +611,6 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
/** /**
* *
* *
* @param page
* @param query * @param query
* @return * @return
*/ */
@ -754,12 +753,7 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
} }
} }
flowResultDto.setApproveDetailList(nodeList); flowResultDto.setApproveDetailList(nodeList);
ResultDto resultDto = new ResultDto(); prevailCloudApi.sendFlowTaskResult(picture.getTenantId().toString(),JSON.toJSONString(flowResultDto));
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));
} }

@ -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()); //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.setAssigneename(stringBuffer.toString());
model.setTaskNode(task.getDescription());
return this.ocrTaskchildPictureService.updateById(model); return this.ocrTaskchildPictureService.updateById(model);
} }
return false; return false;

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

@ -887,7 +887,6 @@
FROM ocr_check_duplicate_result t1 FROM ocr_check_duplicate_result t1
LEFT JOIN ocr_picture t2 ON t1.picture_id = t2.ID LEFT JOIN ocr_picture t2 ON t1.picture_id = t2.ID
LEFT JOIN ocr_taskchild_picture t3 ON t2.ID = t3.PICTUREID 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 left join ocr_picture_info t5 on t2.ID = t5.picture_id
WHERE t1.check_duplicate_id = #{checkDuplicateId} WHERE t1.check_duplicate_id = #{checkDuplicateId}
and t2.suspiciousfile = 0 and t2.suspiciousfile = 0
@ -948,7 +947,8 @@
<select id="listFinalTask" resultType="cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture" <select id="listFinalTask" resultType="cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture"
parameterType="java.util.Map"> 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 from ocr_taskchild_picture tcp
left join ocr_picture pic left join ocr_picture pic
on tcp.PICTUREID = pic.ID on tcp.PICTUREID = pic.ID

Loading…
Cancel
Save