fix/UpdateFlowComplete20240416 #120

Merged
sunchenliang merged 2 commits from fix/UpdateFlowComplete20240416 into test 1 year ago

@ -488,18 +488,27 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
IFormCustomService iFormCustomService = SpringUtils.getBean(department.getServicename()); IFormCustomService iFormCustomService = SpringUtils.getBean(department.getServicename());
FlowModelVO formData = iFormCustomService.getForm(formId); FlowModelVO formData = iFormCustomService.getForm(formId);
List<Task> taskList = this.nowRunTask(formData.getProcessInstanceId(), formData.getProcessdefinitionid()); List<Task> taskList = this.nowRunTask(formData.getProcessInstanceId(), formData.getProcessdefinitionid());
OcrTaskchildPicture childPicture = ocrTaskchildPictureService.getById(Long.parseLong(formId));
Task taskData = null; Task taskData = null;
if (null != taskList && !taskList.isEmpty()) { if (null != taskList && !taskList.isEmpty()) {
if (taskList.size() > 1) {
List<String> taskIds = taskList.stream().map(Task::getId).collect(Collectors.toList());
List<String> taskNames = taskList.stream().map(Task::getName).collect(Collectors.toList());
childPicture.setTaskId(String.join(",", taskIds));
childPicture.setTaskname(String.join(",", taskNames));
}else{
childPicture.setTaskId(taskData.getId());
childPicture.setTaskname(taskData.getName());
}
taskData = taskList.get(0); taskData = taskList.get(0);
} }
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);
OcrPicture picture = ocrPictureService.getById(model.getPictureid()); OcrPicture picture = ocrPictureService.getById(model.getPictureid());
ocrTaskchildPictureService.sendFlowTaskResult(childPicture, picture, approve); ocrTaskchildPictureService.sendFlowTaskResult(childPicture, picture, approve);
} else { } else {
childPicture.setTaskNode(taskData.getDescription());
//判断节点上的描述字段是否伟finale_judgment,如果是,记录到终审表中,如果终审表已经存在,不再重复记录 //判断节点上的描述字段是否伟finale_judgment,如果是,记录到终审表中,如果终审表已经存在,不再重复记录
if (StringUtils.isNotBlank(taskData.getDescription()) && taskData.getDescription().equals(SystemConstantsOa.OA_TASK_COMPLETE_FINALE_FORM)) { if (StringUtils.isNotBlank(taskData.getDescription()) && taskData.getDescription().equals(SystemConstantsOa.OA_TASK_COMPLETE_FINALE_FORM)) {
childPicture.setIsFinal(1); childPicture.setIsFinal(1);
@ -507,8 +516,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
userFinalService.save(user.getId().toString(), formId); userFinalService.save(user.getId().toString(), formId);
} }
this.sendMsg(childPicture, userToken); this.sendMsg(childPicture, userToken);
childPicture.setTaskId(taskData.getId());
childPicture.setTaskname(taskData.getName());
} }
ocrTaskchildPictureService.updateById(childPicture); ocrTaskchildPictureService.updateById(childPicture);
//增加未查看记录 //增加未查看记录
@ -1501,6 +1509,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
ocrTaskchildPictureApproVo.setProjectName(one.getFromprojectname());//项目名称 ocrTaskchildPictureApproVo.setProjectName(one.getFromprojectname());//项目名称
ocrTaskchildPictureApproVo.setCustomerLevel(one.getFromCustomerLevel());//客户级别 ocrTaskchildPictureApproVo.setCustomerLevel(one.getFromCustomerLevel());//客户级别
ocrTaskchildPictureApproVo.setReleaseArea(one.getFromCity());//拜访城市 ocrTaskchildPictureApproVo.setReleaseArea(one.getFromCity());//拜访城市
ocrTaskchildPictureApproVo.setTaskIndex(one.getTaskIndex()==null?"1":one.getTaskIndex());
listNew.add(ocrTaskchildPictureApproVo); listNew.add(ocrTaskchildPictureApproVo);
} }

@ -383,9 +383,10 @@ public class OcrTaskchildPictureController extends BaseController {
@RequestParam(name = "orderType") String orderType, @RequestParam(name = "orderType") String orderType,
@RequestParam(name = "orderName") String orderName, @RequestParam(name = "orderName") String orderName,
@RequestParam(name = "pictureId") String pictureId, @RequestParam(name = "pictureId") String pictureId,
@RequestParam(name = "taskNode") String taskNode,
HttpServletRequest request) { HttpServletRequest request) {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request)); UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
Page<OcrTaskChildPictureVo> similarityList = ocrTaskchildPictureService.getSimilarityList(pageNo, pageSize, pictureId, orderType, orderName,userToken); Page<OcrTaskChildPictureVo> similarityList = ocrTaskchildPictureService.getSimilarityList(pageNo, pageSize, pictureId, orderType, orderName,userToken,taskNode);
return ResultVoUtil.success(similarityList); return ResultVoUtil.success(similarityList);
} }

@ -51,7 +51,7 @@ public interface OcrTaskchildPictureMybatisDao extends BaseMapper<OcrTaskchildPi
String selectocpicture(@Param("tenantid")String tenantid,@Param("packageid")String packageid,@Param("id")String id); String selectocpicture(@Param("tenantid")String tenantid,@Param("packageid")String packageid,@Param("id")String id);
List<OcrTaskChildPictureVo> getPictureHistoryList(@Param("pictureIds") List<String> pictureIds, @Param("pictureId") String pictureId); List<OcrTaskChildPictureVo> getPictureHistoryList(@Param("pictureIds") List<String> pictureIds, @Param("pictureId") String pictureId, @Param("taskNode") String taskNode);
List<OcrTaskChildPictureVo> getDubiousfileList(@Param("pictureIds") List<String> pictureIds, @Param("taskname") String taskname); List<OcrTaskChildPictureVo> getDubiousfileList(@Param("pictureIds") List<String> pictureIds, @Param("taskname") String taskname);
PictureDetailVo getPictureDetail(String pictureId); PictureDetailVo getPictureDetail(String pictureId);

@ -199,4 +199,7 @@ public class OcrTaskchildPictureAppro implements java.io.Serializable {
@ApiModelProperty(value = "是否重复") @ApiModelProperty(value = "是否重复")
private Integer isRepeat; private Integer isRepeat;
@ApiModelProperty(value = "当前节点")
private String taskIndex;
} }

@ -16,7 +16,6 @@ import cn.jyjz.xiaoyao.ocr.vo.PictureDetailVo;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
/** /**
* *
@ -143,11 +142,11 @@ public interface OcrTaskchildPictureService extends BaseService<OcrTaskchildPict
public Long listmytaskCount(Map<String, Object> query); public Long listmytaskCount(Map<String, Object> query);
List<OcrTaskChildPictureVo> getPictureHistoryList(List<String> pictureIds, String taskname); List<OcrTaskChildPictureVo> getPictureHistoryList(List<String> pictureIds, String taskname,String taskNode);
PictureDetailVo getPictureDetail(String pictureId, UserToken userToken); PictureDetailVo getPictureDetail(String pictureId, UserToken userToken);
Page<OcrTaskChildPictureVo> getSimilarityList(Integer pageNo, Integer pageSize, String pictureId, String orderType, String orderValue, UserToken userToken); Page<OcrTaskChildPictureVo> getSimilarityList(Integer pageNo, Integer pageSize, String pictureId, String orderType, String orderValue, UserToken userToken, String taskNode);
Page<OcrTaskChildPictureVo> getPackageSimilarityList(Integer pageNo, Integer pageSize, String oderType, String oderName, String checkDuplicateId, String pictureId); Page<OcrTaskChildPictureVo> getPackageSimilarityList(Integer pageNo, Integer pageSize, String oderType, String oderName, String checkDuplicateId, String pictureId);

@ -1,7 +1,6 @@
package cn.jyjz.xiaoyao.ocr.service.impl; package cn.jyjz.xiaoyao.ocr.service.impl;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.jyjz.flowable.common.ProcessConstant;
import cn.jyjz.flowable.common.SystemConstantsOa; import cn.jyjz.flowable.common.SystemConstantsOa;
import cn.jyjz.flowable.domain.vo.FlowModelVO; import cn.jyjz.flowable.domain.vo.FlowModelVO;
import cn.jyjz.flowable.entity.FlowApprove; import cn.jyjz.flowable.entity.FlowApprove;
@ -16,14 +15,9 @@ import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil; import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken; import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseServiceImpl; import cn.jyjz.xiaoyao.common.mybatisplus.base.BaseServiceImpl;
import cn.jyjz.xiaoyao.oa.from.dataobject.Category;
import cn.jyjz.xiaoyao.oa.from.dataobject.Userapprove; 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.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;
@ -32,7 +26,6 @@ import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPictureAppro; import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPictureAppro;
import cn.jyjz.xiaoyao.ocr.dto.ApproveNodeDto; import cn.jyjz.xiaoyao.ocr.dto.ApproveNodeDto;
import cn.jyjz.xiaoyao.ocr.dto.FlowResultDto; import cn.jyjz.xiaoyao.ocr.dto.FlowResultDto;
import cn.jyjz.xiaoyao.ocr.dto.ResultDto;
import cn.jyjz.xiaoyao.ocr.dto.UserapproveDto; import cn.jyjz.xiaoyao.ocr.dto.UserapproveDto;
import cn.jyjz.xiaoyao.ocr.service.IOcrPictureDuplicateHisService; import cn.jyjz.xiaoyao.ocr.service.IOcrPictureDuplicateHisService;
import cn.jyjz.xiaoyao.ocr.service.OcrPictureInfoService; import cn.jyjz.xiaoyao.ocr.service.OcrPictureInfoService;
@ -53,8 +46,6 @@ import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.flowable.task.api.Task; import org.flowable.task.api.Task;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus;
import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
@ -426,13 +417,20 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
} else { } else {
ocrTaskchildPicture.setIzHistory(true); ocrTaskchildPicture.setIzHistory(true);
} }
String taskId = ocrTaskchildPicture.getTaskId();
String assignee = ocrTaskchildPicture.getAssignee();
if(taskId.contains(",")){
String[] split = assignee.split(",");
String[] taskIds = taskId.split(",");
String[] taskNames = ocrTaskchildPicture.getTaskname().split(",");
//查询审批流节点信息 for (int i = 0; i < split.length; i++) {
List<Task> taskList = iFlowTaskService.nowRunTask(ocrTaskchildPicture.getProcessinstanceid(), ocrTaskchildPicture.getProcessdefinitionid()); if(split[i].equals(userToken.getLoginname())){
if (null != taskList && !taskList.isEmpty()) { ocrTaskchildPicture.setTaskId(taskIds[i]);
ocrTaskchildPicture.setTaskId(taskList.get(0).getId()); ocrTaskchildPicture.setTaskname(taskNames[i]);
}
}
} }
//获取当前真假标记 //获取当前真假标记
ocrTaskchildPicture.setIztrueorfalse(ocrPicture.getIztrueorfalse()); ocrTaskchildPicture.setIztrueorfalse(ocrPicture.getIztrueorfalse());
//是否已经审批 //是否已经审批
@ -664,8 +662,8 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
} }
@Override @Override
public List<OcrTaskChildPictureVo> getPictureHistoryList(List<String> pictureIds, String pictureId) { public List<OcrTaskChildPictureVo> getPictureHistoryList(List<String> pictureIds, String pictureId,String taskNode) {
return ocrtaskchildpicturemybatisdao.getPictureHistoryList(pictureIds, pictureId); return ocrtaskchildpicturemybatisdao.getPictureHistoryList(pictureIds, pictureId,taskNode);
} }
@Override @Override
@ -684,13 +682,13 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
} }
@Override @Override
public Page<OcrTaskChildPictureVo> getSimilarityList(Integer pageNo, Integer pageSize, String pictureId, String orderType, String orderValue, UserToken userToken) { public Page<OcrTaskChildPictureVo> getSimilarityList(Integer pageNo, Integer pageSize, String pictureId, String orderType, String orderValue, UserToken userToken, String taskNode) {
OcrPictureDuplicateHis duplicateHis = pictureDuplicateHisService.getOne(new LambdaQueryWrapper<OcrPictureDuplicateHis>().eq(OcrPictureDuplicateHis::getPictureId, pictureId)); OcrPictureDuplicateHis duplicateHis = pictureDuplicateHisService.getOne(new LambdaQueryWrapper<OcrPictureDuplicateHis>().eq(OcrPictureDuplicateHis::getPictureId, pictureId));
Page<OcrTaskChildPictureVo> objectPage = new Page<>(); Page<OcrTaskChildPictureVo> objectPage = new Page<>();
if (ObjectUtils.isNotEmpty(duplicateHis) && org.apache.commons.lang3.StringUtils.isNotBlank(duplicateHis.getCheckDuplicateResultHisJson())) { if (ObjectUtils.isNotEmpty(duplicateHis) && org.apache.commons.lang3.StringUtils.isNotBlank(duplicateHis.getCheckDuplicateResultHisJson())) {
JSONObject jsonObject = JSONObject.parseObject(duplicateHis.getCheckDuplicateResultHisJson()); JSONObject jsonObject = JSONObject.parseObject(duplicateHis.getCheckDuplicateResultHisJson());
Set<String> pictureIds = jsonObject.keySet(); Set<String> pictureIds = jsonObject.keySet();
List<OcrTaskChildPictureVo> taskChildPicturesOld = this.getPictureHistoryList(new ArrayList<>(pictureIds), pictureId); List<OcrTaskChildPictureVo> taskChildPicturesOld = this.getPictureHistoryList(new ArrayList<>(pictureIds), pictureId,taskNode);
List<OcrTaskChildPictureVo> taskChildPictures = new ArrayList<>(); List<OcrTaskChildPictureVo> taskChildPictures = new ArrayList<>();
for (OcrTaskChildPictureVo taskChildPicture : taskChildPicturesOld) { for (OcrTaskChildPictureVo taskChildPicture : taskChildPicturesOld) {
if(taskChildPicture.getPictureId()!=null){ if(taskChildPicture.getPictureId()!=null){

@ -83,4 +83,7 @@ public class OcrTaskchildPictureApproVo implements java.io.Serializable {
@ApiModelProperty(value ="任务包主键") @ApiModelProperty(value ="任务包主键")
private String packageid; private String packageid;
@ApiModelProperty(value = "当前节点")
private String taskIndex;
} }

@ -627,6 +627,7 @@
uf.TASKNAME as TASKNAMEHIS, uf.TASKNAME as TASKNAMEHIS,
uf.STATSHIS, uf.STATSHIS,
uf.TASKNO, uf.TASKNO,
uf.TASKINDEX,
op.field6 as fromCustomerLevel, op.field6 as fromCustomerLevel,
op.releaseArea as fromCity, op.releaseArea as fromCity,
@ -646,7 +647,7 @@
) )
</if> </if>
UNION UNION
select tc.*, uf.COMMENTHIS, uf.TASKNAME as TASKNAMEHIS, uf.STATSHIS, uf.TASKNO, op.field6 as fromCustomerLevel, op.releaseArea as fromCity, op.is_repeat, tc.is_repeated_nodules as isRepeatedNodules select tc.*, uf.COMMENTHIS, uf.TASKNAME as TASKNAMEHIS, uf.TASKINDEX,uf.STATSHIS, uf.TASKNO, op.field6 as fromCustomerLevel, op.releaseArea as fromCity, op.is_repeat, tc.is_repeated_nodules as isRepeatedNodules
from ocr_taskchild_picture tc, OA_USERAPPROVE_T uf, ocr_picture op from ocr_taskchild_picture tc, OA_USERAPPROVE_T uf, ocr_picture op
where tc.ID = uf.FORMID where tc.ID = uf.FORMID
and tc.PICTUREID = op.ID and tc.PICTUREID = op.ID
@ -766,10 +767,7 @@
IFNULL((SELECT t3.STATSHIS IFNULL((SELECT t3.STATSHIS
FROM oa_userapprove_t t3 FROM oa_userapprove_t t3
WHERE t3.FORMID = t2.ID WHERE t3.FORMID = t2.ID
and t3.TASKINDEX = and t3.TASKINDEX =#{taskNode}
(SELECT TASKNODE
FROM ocr_taskchild_picture
WHERE PICTUREID = #{pictureId})
LIMIT 1), 1)) AS historyStates LIMIT 1), 1)) AS historyStates
FROM ocr_picture t1 FROM ocr_picture t1
LEFT JOIN ocr_taskchild_picture t2 LEFT JOIN ocr_taskchild_picture t2

Loading…
Cancel
Save