fix: 修改任务终审列表

pull/100/head
sunchenliang 1 year ago
parent eff87e6195
commit 74117f58a8

@ -383,10 +383,10 @@ public class FlowTaskController extends BaseController {
@RequestParam(name = "izstatus", defaultValue = "", required = false) String izstatus, @RequestParam(name = "izstatus", defaultValue = "", required = false) String izstatus,
@RequestParam(name = "iztaskrrom", defaultValue = "", required = false) String iztaskrrom, @RequestParam(name = "iztaskrrom", defaultValue = "", required = false) String iztaskrrom,
@RequestParam(name = "izuptime", defaultValue = "", required = false) String izuptime, @RequestParam(name = "izuptime", defaultValue = "", required = false) String izuptime,
@RequestParam(name = "isFail", defaultValue = "false", required = false) String isFail,
HttpServletRequest request) { HttpServletRequest request) {
SearchQuery searchQuery = new SearchQuery(); SearchQuery searchQuery = new SearchQuery();
if (org.springframework.util.StringUtils.hasText(izupuser)) { if (org.springframework.util.StringUtils.hasText(izupuser)) {
// searchQuery.addEqual("fromuserid",izupuser);
if (izupuser.contains(",")) { if (izupuser.contains(",")) {
String[] userIds = izupuser.split(","); String[] userIds = izupuser.split(",");
List<String> arrayData = Arrays.asList(userIds); List<String> arrayData = Arrays.asList(userIds);
@ -422,17 +422,22 @@ public class FlowTaskController extends BaseController {
if (izstatus.contains(",")) { if (izstatus.contains(",")) {
String[] statusIds = izstatus.split(","); // 以逗号拆分字符串 String[] statusIds = izstatus.split(","); // 以逗号拆分字符串
List<String> arrayData = Arrays.asList(statusIds); List<String> arrayData = Arrays.asList(statusIds);
SearchQueryForm searchQueryForm = new SearchQueryForm();
searchQuery.addIn("states", arrayData); searchQuery.addIn("states", arrayData);
} else { } else {
searchQuery.addEqual("states", izstatus); searchQuery.addEqual("states", izstatus);
} }
}else{
if(Boolean.parseBoolean(isFail)){
searchQuery.addEqual("isFail","1");
searchQuery.addIn("states", Arrays.asList("2","3","5"));
}else{
searchQuery.addIn("states", Arrays.asList("2","3"));
}
} }
if (org.springframework.util.StringUtils.hasText(iztaskrrom)) { if (org.springframework.util.StringUtils.hasText(iztaskrrom)) {
if (iztaskrrom.contains(",")) { if (iztaskrrom.contains(",")) {
String[] taskrromIds = iztaskrrom.split(","); // 以逗号拆分字符串 String[] taskrromIds = iztaskrrom.split(","); // 以逗号拆分字符串
List<String> arrayData = Arrays.asList(taskrromIds); List<String> arrayData = Arrays.asList(taskrromIds);
SearchQueryForm searchQueryForm = new SearchQueryForm();
searchQuery.addIn("fromsourceid", arrayData); searchQuery.addIn("fromsourceid", arrayData);
} else { } else {
searchQuery.addEqual("fromsourceid", iztaskrrom); searchQuery.addEqual("fromsourceid", iztaskrrom);
@ -474,7 +479,7 @@ public class FlowTaskController extends BaseController {
User user = this.userService.getSessionUser(request); User user = this.userService.getSessionUser(request);
if (user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))) { if (user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))) {
} else { } else {
searchQuery.addEqual("thisLoginUserid", user.getId().toString()); searchQuery.addEqual("thisLoginUserid", user.getLoginname());
searchQuery.addEqual("tenantid", tenantId); searchQuery.addEqual("tenantid", tenantId);
} }
String searchId = request.getParameter("searchId"); String searchId = request.getParameter("searchId");

@ -497,6 +497,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
} else { } else {
//判断节点上的描述字段是否伟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);
User user = userService.findByLoginname(formData.getAssignee()); User user = userService.findByLoginname(formData.getAssignee());
userFinalService.save(user.getId().toString(), formId); userFinalService.save(user.getId().toString(), formId);
} }
@ -542,6 +543,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
executions.forEach(execution -> executionIds.add(execution.getId())); executions.forEach(execution -> executionIds.add(execution.getId()));
OcrTaskchildPicture taskchildPicture = ocrTaskchildPictureService.getById(Long.parseLong(formId)); OcrTaskchildPicture taskchildPicture = ocrTaskchildPictureService.getById(Long.parseLong(formId));
taskchildPicture.setFinishtime(System.currentTimeMillis()); taskchildPicture.setFinishtime(System.currentTimeMillis());
taskchildPicture.setIsFinal(1);
ocrTaskchildPictureService.updateById(taskchildPicture); ocrTaskchildPictureService.updateById(taskchildPicture);
OcrPicture picture = ocrPictureService.getById(taskchildPicture.getPictureid()); OcrPicture picture = ocrPictureService.getById(taskchildPicture.getPictureid());
ocrTaskchildPictureService.sendFlowTaskResult(taskchildPicture, picture, approve); ocrTaskchildPictureService.sendFlowTaskResult(taskchildPicture, picture, approve);
@ -979,6 +981,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
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());
Page<OcrTaskchildPicture> page = new Page<>();
if (StringUtils.isNotBlank(pageUtils.getSortname())) { if (StringUtils.isNotBlank(pageUtils.getSortname())) {
paramterPage.setSortname(pageUtils.getSortname()); paramterPage.setSortname(pageUtils.getSortname());
@ -992,97 +995,96 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
paramterPage.setSortorder("DESC"); paramterPage.setSortorder("DESC");
} }
Long count = ocrTaskchildPictureService.listFinalCount(query);
query.put("page", paramterPage); query.put("page", paramterPage);
Long count = ocrTaskchildPictureService.listFinalCount(query);
List<OcrTaskchildPicture> list = ocrTaskchildPictureService.listFinal(query); List<OcrTaskchildPicture> list = ocrTaskchildPictureService.listFinal(query);
for (OcrTaskchildPicture taskchildPicture : list) { // for (OcrTaskchildPicture taskchildPicture : list) {
//查询对应的流程分类 // //查询对应的流程分类
Category category = categoryService.selectDtoById(taskchildPicture.getCategoryid()); // Category category = categoryService.selectDtoById(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获取节点元素 // // 根据节点定义id获取节点元素
FlowElement flowElement = bpmnModel.getFlowElement(taskDefinitionKey); // 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());
} // }
} // }
//
//查询历史 // //查询历史
List<HistoricTaskInstanceDto> historicTaskInstanceDtos = new ArrayList<>(); // List<HistoricTaskInstanceDto> historicTaskInstanceDtos = new ArrayList<>();
// 查询当前任务的流转信息 // // 查询当前任务的流转信息
List<HistoricTaskInstance> taskHiInstances = historyService.createHistoricTaskInstanceQuery() // List<HistoricTaskInstance> taskHiInstances = historyService.createHistoricTaskInstanceQuery()
.processInstanceId(taskchildPicture.getProcessinstanceid()) // .processInstanceId(taskchildPicture.getProcessinstanceid())
.includeProcessVariables() // .includeProcessVariables()
.orderByHistoricTaskInstanceStartTime() // .orderByHistoricTaskInstanceStartTime()
.asc() // .asc()
.list(); // .list();
for (HistoricTaskInstance taskHiInstance : taskHiInstances) { // for (HistoricTaskInstance taskHiInstance : taskHiInstances) {
HistoricTaskInstanceDto dto = new HistoricTaskInstanceDto(); // HistoricTaskInstanceDto dto = new HistoricTaskInstanceDto();
dto.setTaskId(taskHiInstance.getId()); // dto.setTaskId(taskHiInstance.getId());
dto.setTaskName(taskHiInstance.getName()); // dto.setTaskName(taskHiInstance.getName());
dto.setFinishTime(taskHiInstance.getEndTime()); // dto.setFinishTime(taskHiInstance.getEndTime());
if (taskHiInstance.getDurationInMillis() != null) { // if (taskHiInstance.getDurationInMillis() != null) {
dto.setDuration(taskHiInstance.getDurationInMillis() / 1000 + "秒"); // dto.setDuration(taskHiInstance.getDurationInMillis() / 1000 + "秒");
} // }
dto.setTaskDefKey(taskHiInstance.getTaskDefinitionKey()); // dto.setTaskDefKey(taskHiInstance.getTaskDefinitionKey());
//
//Map<String,Object> variables = taskHiInstance.getTaskLocalVariables(); // //Map<String,Object> variables = taskHiInstance.getTaskLocalVariables();
//
Map<String, Object> variables = taskHiInstance.getProcessVariables(); // Map<String, Object> variables = taskHiInstance.getProcessVariables();
//
if (null != variables && null != variables.get("approvd")) { // if (null != variables && null != variables.get("approvd")) {
dto.setState(variables.get("approvd").toString()); // dto.setState(variables.get("approvd").toString());
} // }
//
if (StringUtils.isNotBlank(taskHiInstance.getAssignee())) { // if (StringUtils.isNotBlank(taskHiInstance.getAssignee())) {
if (SystemConstantsOa.OA_TASK_SKIP_ASSIGINE.equals(taskHiInstance.getAssignee())) { // if (SystemConstantsOa.OA_TASK_SKIP_ASSIGINE.equals(taskHiInstance.getAssignee())) {
dto.setAssigneeName(taskHiInstance.getAssignee()); // dto.setAssigneeName(taskHiInstance.getAssignee());
} else { // } else {
User user1 = userService.findByLoginname(taskHiInstance.getAssignee()); // User user1 = userService.findByLoginname(taskHiInstance.getAssignee());
//
dto.setAssigneeName(user1.getUsername()); // dto.setAssigneeName(user1.getUsername());
} // }
//
} // }
//
BpmnModel bpmnModel = repositoryService.getBpmnModel(taskchildPicture.getProcessdefinitionid()); // BpmnModel bpmnModel = repositoryService.getBpmnModel(taskchildPicture.getProcessdefinitionid());
//
// // 根据节点定义id获取节点元素 //// // 根据节点定义id获取节点元素
FlowElement flowElement = bpmnModel.getFlowElement(taskHiInstance.getTaskDefinitionKey()); // FlowElement flowElement = bpmnModel.getFlowElement(taskHiInstance.getTaskDefinitionKey());
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 找到对应的 审批意见 // // 还需要根据 HistoricTaskInstance 找到对应的 审批意见
List<Comment> processInstanceComments = taskService.getProcessInstanceComments(taskchildPicture.getProcessinstanceid()); // List<Comment> processInstanceComments = taskService.getProcessInstanceComments(taskchildPicture.getProcessinstanceid());
for (Comment comment : processInstanceComments) { // for (Comment comment : processInstanceComments) {
//
if (comment.getTaskId().equals(taskHiInstance.getId())) { // if (comment.getTaskId().equals(taskHiInstance.getId())) {
// 审批意见 // // 审批意见
String fullMessage = comment.getFullMessage(); // String fullMessage = comment.getFullMessage();
dto.setComment(fullMessage); // dto.setComment(fullMessage);
} // }
} // }
historicTaskInstanceDtos.add(dto); // historicTaskInstanceDtos.add(dto);
} // }
taskchildPicture.setTransferRecords(historicTaskInstanceDtos); // taskchildPicture.setTransferRecords(historicTaskInstanceDtos);
} // }
} // }
pageUtils.setTotalCount(count.intValue()); pageUtils.setTotalCount(count.intValue());
pageUtils.setList(list); pageUtils.setList(list);

@ -401,10 +401,8 @@ 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 = "checkDuplicateId") String checkDuplicateId, @RequestParam(name = "checkDuplicateId") String checkDuplicateId,
@RequestParam(name = "pictureId") String pictureId, @RequestParam(name = "pictureId") String pictureId) {
HttpServletRequest request) { Page<OcrTaskChildPictureVo> result = ocrTaskchildPictureService.getPackageSimilarityList(pageNo, pageSize, orderType, orderName, checkDuplicateId, pictureId);
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
Page<OcrTaskChildPictureVo> result = ocrTaskchildPictureService.getPackageSimilarityList(pageNo, pageSize, orderType, orderName, checkDuplicateId, pictureId,userToken);
return ResultVoUtil.success(result); return ResultVoUtil.success(result);
} }

@ -12,7 +12,5 @@ import java.util.List;
*/ */
@Mapper @Mapper
public interface OcrPictureMybatisDao extends BaseMapper<OcrPicture> { public interface OcrPictureMybatisDao extends BaseMapper<OcrPicture> {
OcrPicture getPackagePictureInfo(@Param("packageId") String packageId, @Param("pictureId") String pictureId, @Param("userNodeType") String userNodeType); OcrPicture getPackagePictureInfo(@Param("packageId") String packageId, @Param("pictureId") String pictureId);
List<OcrPicture> getPictureNodeStatesList(@Param("pictureIds") List<String> pictureIds, @Param("userNodeType") String userNodeType);
} }

@ -17,14 +17,17 @@ import java.util.Map;
*/ */
@Mapper @Mapper
public interface OcrTaskchildPictureMybatisDao extends BaseMapper<OcrTaskchildPicture> { public interface OcrTaskchildPictureMybatisDao extends BaseMapper<OcrTaskchildPicture> {
/** /**
* *
* @param query * @param query
* @return * @return
*/ */
public List<OcrTaskchildPicture> listFinal(Map<String, Object> query); public List<OcrTaskchildPicture> listFinal(Map<String, Object> query);
List<OcrTaskchildPicture> listFinalTask(Map<String, Object> query);
/** /**
* *
* @param query * @param query
@ -53,5 +56,5 @@ public interface OcrTaskchildPictureMybatisDao extends BaseMapper<OcrTaskchildPi
PictureDetailVo getPictureDetail(String pictureId); PictureDetailVo getPictureDetail(String pictureId);
Page<OcrTaskChildPictureVo> getPackageSimilarityList(Page<OcrTaskChildPictureVo> page, @Param("checkDuplicateId") String checkDuplicateId, @Param("pictureId") String pictureId, @Param("oderType") String oderType, @Param("oderName") String oderName, @Param("taskname") String taskname); Page<OcrTaskChildPictureVo> getPackageSimilarityList(Page<OcrTaskChildPictureVo> page, @Param("checkDuplicateId") String checkDuplicateId, @Param("pictureId") String pictureId, @Param("oderType") String oderType, @Param("oderName") String oderName);
} }

@ -203,6 +203,10 @@ public class OcrTaskchildPicture implements BaseDto, java.io.Serializable {
@TableField(value = "FINISHTIME") @TableField(value = "FINISHTIME")
private Long finishtime; private Long finishtime;
@Schema(description = "是否终审")
@TableField(value = "ISFINAIL")
private Integer isFinal;
@ApiModelProperty(value = "项目对象") @ApiModelProperty(value = "项目对象")
@TableField(exist = false) @TableField(exist = false)
private Category categoryDto; private Category categoryDto;

@ -71,14 +71,6 @@ public interface OcrPictureService extends BaseService<OcrPicture> {
OcrPicture getPackagePictureInfo(String packageId, String pictureId, UserToken userToken); OcrPicture getPackagePictureInfo(String packageId, String pictureId, UserToken userToken);
/**
* id
* @param pictureIds
* @param nodeType
* @return
*/
List<OcrPicture> getPictureNodeStatesList(List<String> pictureIds,Integer nodeType);
// Long getPhotoDateTime(OcrPicture picture); // Long getPhotoDateTime(OcrPicture picture);
} }

@ -1,6 +1,5 @@
package cn.jyjz.xiaoyao.ocr.service; package cn.jyjz.xiaoyao.ocr.service;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -17,6 +16,7 @@ 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;
/** /**
* *
@ -110,9 +110,11 @@ public interface OcrTaskchildPictureService extends BaseService<OcrTaskchildPict
* @param packageid * @param packageid
*/ */
public OcrTaskchildPicture create(OcrPicture ocrPicture, String tenantId , UserToken sysUser, Long packageid,String buessinessno); public OcrTaskchildPicture create(OcrPicture ocrPicture, String tenantId , UserToken sysUser, Long packageid,String buessinessno);
/** /**
* *
*
* @param page
* @param query * @param query
* @return * @return
*/ */
@ -147,7 +149,7 @@ public interface OcrTaskchildPictureService extends BaseService<OcrTaskchildPict
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);
Page<OcrTaskChildPictureVo> getPackageSimilarityList(Integer pageNo, Integer pageSize, String oderType, String oderName, String checkDuplicateId, String pictureId, UserToken userToken); Page<OcrTaskChildPictureVo> getPackageSimilarityList(Integer pageNo, Integer pageSize, String oderType, String oderName, String checkDuplicateId, String pictureId);
void sendFlowTaskResult(OcrTaskchildPicture taskchildPicture, OcrPicture picture, FlowApprove flowApprove) throws Exception; void sendFlowTaskResult(OcrTaskchildPicture taskchildPicture, OcrPicture picture, FlowApprove flowApprove) throws Exception;

@ -318,22 +318,11 @@ public class OcrPictureServiceImpl extends BaseServiceImpl<OcrPictureMybatisDao,
@Override @Override
public OcrPicture getPackagePictureInfo(String checkDuplicateId, String pictureId, UserToken userToken) { public OcrPicture getPackagePictureInfo(String checkDuplicateId, String pictureId, UserToken userToken) {
String userNodeType = ProcessConstant.userNodeType.getOrDefault(userToken.getNodeType(), "一级审批"); OcrPicture ocrPicture = pictureMybatisDao.getPackagePictureInfo(checkDuplicateId,pictureId);
OcrPicture ocrPicture = pictureMybatisDao.getPackagePictureInfo(checkDuplicateId,pictureId,userNodeType);
ocrPicture.getPictureInfo().setCreateTime(ocrPicture.getPhotoDateTimestamp()); ocrPicture.getPictureInfo().setCreateTime(ocrPicture.getPhotoDateTimestamp());
return ocrPicture; return ocrPicture;
} }
@Override
public List<OcrPicture> getPictureNodeStatesList(List<String> pictureIds, Integer nodeType) {
String userNodeType = ProcessConstant.userNodeType.getOrDefault(nodeType, "一级审批");
return pictureMybatisDao.getPictureNodeStatesList(pictureIds,userNodeType);
}
// @Override // @Override
// public Long getPhotoDateTime(OcrPicture picture) { // public Long getPhotoDateTime(OcrPicture picture) {
// long timestamp = 0L; // long timestamp = 0L;

@ -1,8 +1,6 @@
package cn.jyjz.xiaoyao.ocr.service.impl; package cn.jyjz.xiaoyao.ocr.service.impl;
import cn.hutool.core.map.MapBuilder;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.http.HttpUtil;
import cn.jyjz.flowable.common.ProcessConstant; 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;
@ -42,9 +40,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.flowable.bpmn.model.FlowElement;
import org.flowable.bpmn.model.UserTask;
import org.flowable.engine.history.HistoricProcessInstance;
import org.flowable.task.api.Task; import org.flowable.task.api.Task;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
@ -608,12 +603,13 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
/** /**
* *
* *
* @param page
* @param query * @param query
* @return * @return
*/ */
public List<OcrTaskchildPicture> listFinal(Map<String, Object> query) { public List<OcrTaskchildPicture> listFinal(Map<String, Object> query) {
return this.ocrtaskchildpicturemybatisdao.listFinal(query); return this.ocrtaskchildpicturemybatisdao.listFinalTask(query);
} }
@ -725,11 +721,9 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
} }
@Override @Override
public Page<OcrTaskChildPictureVo> getPackageSimilarityList(Integer pageNo, Integer pageSize, String oderType, String oderName, String checkDuplicateId, String pictureId, UserToken userToken) { public Page<OcrTaskChildPictureVo> getPackageSimilarityList(Integer pageNo, Integer pageSize, String oderType, String oderName, String checkDuplicateId, String pictureId) {
Page<OcrTaskChildPictureVo> page = new Page<>(pageNo, pageSize); Page<OcrTaskChildPictureVo> page = new Page<>(pageNo, pageSize);
String userNodeType = ProcessConstant.userNodeType.getOrDefault(userToken.getNodeType(), "一级审批"); return ocrtaskchildpicturemybatisdao.getPackageSimilarityList(page, checkDuplicateId, pictureId, oderType, oderName);
return ocrtaskchildpicturemybatisdao.getPackageSimilarityList(page, checkDuplicateId, pictureId, oderType, oderName, userNodeType);
} }
@Override @Override

@ -226,12 +226,18 @@
</sql> </sql>
<select id="getPackagePictureInfo" resultMap="BaseResultMap"> <select id="getPackagePictureInfo" resultMap="BaseResultMap">
SELECT t2.*,t3.*,ifnull(t5.STATSHIS, 1) historyStates,t4.STATES,t4.TASKID,t4.ID taskchildId SELECT t2.*,t3.*,t4.STATES,t4.TASKID,t4.ID taskchildId,
COALESCE(
(SELECT t5.STATSHIS
FROM oa_userapprove_t t5
WHERE t5.FORMID = t4.ID
ORDER BY t5.CREATEDATE DESC
LIMIT 1),
1) AS historyStates
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_picture_info t3 on t2.ID=t3.picture_id left join ocr_picture_info t3 on t2.ID=t3.picture_id
left join ocr_taskchild_picture t4 on t2.ID=t4.PICTUREID left join ocr_taskchild_picture t4 on t2.ID=t4.PICTUREID
left join oa_userapprove_t t5 on t4.ID=t5.FORMID and t5.TASKNAME = '${userNodeType}'
where t1.check_duplicate_id = #{packageId} where t1.check_duplicate_id = #{packageId}
<if test="pictureId != null and pictureId != ''"> <if test="pictureId != null and pictureId != ''">
and t1.picture_id = #{pictureId} and t1.picture_id = #{pictureId}
@ -240,16 +246,4 @@
LIMIT 1 LIMIT 1
</select> </select>
<select id="getPictureNodeStatesList" resultType="cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture">
SELECT t1.*,
ifnull(t3.STATSHIS, 1) historyStates
FROM ocr_picture t1
LEFT JOIN ocr_taskchild_picture t2
on t1.ID = t2.PICTUREID
LEFT JOIN oa_userapprove_t t3 on t2.ID = t3.FORMID and t3.TASKNAME = '${userNodeType}'
where t1.ID in
<foreach collection="pictureIds" open="(" close=")" item="item" separator="," index="index">
#{item}
</foreach>
</select>
</mapper> </mapper>

@ -186,6 +186,8 @@
and OCPICTUREID ${ocpictureid.dataOp} ${ocpictureid.likestar}#{ocpictureid.value}${ocpictureid.likeend} and OCPICTUREID ${ocpictureid.dataOp} ${ocpictureid.likestar}#{ocpictureid.value}${ocpictureid.likeend}
</if> </if>
<if test="pictureresult != null"> <if test="pictureresult != null">
@ -307,8 +309,6 @@
</if> </if>
<if test="ocpictureid != null"> <if test="ocpictureid != null">
and tcp.OCPICTUREID ${ocpictureid.dataOp} ${ocpictureid.likestar}#{ocpictureid.value}${ocpictureid.likeend} and tcp.OCPICTUREID ${ocpictureid.dataOp} ${ocpictureid.likestar}#{ocpictureid.value}${ocpictureid.likeend}
</if> </if>
<if test="pictureresult != null"> <if test="pictureresult != null">
@ -525,21 +525,22 @@
</if> </if>
${izproject.likeend} ${izproject.likeend}
</if> </if>
<!-- <if test="izuptime != null">--> <!-- <if test="izuptime != null">-->
<!-- ${izuptime.rulesOp} tcp.FROMUPTIME ${izuptime.dataOp} ${izuptime.likestar}#{izuptime.value}${izuptime.likeend}--> <!-- ${izuptime.rulesOp} tcp.FROMUPTIME ${izuptime.dataOp} ${izuptime.likestar}#{izuptime.value}${izuptime.likeend}-->
<!-- </if>--> <!-- </if>-->
<!-- <if test="izuptimeStart != null">--> <!-- <if test="izuptimeStart != null">-->
<!-- and tcp.FROMUPTIME &gt;= '${izuptimeStart.value}'--> <!-- and tcp.FROMUPTIME &gt;= '${izuptimeStart.value}'-->
<!-- </if>--> <!-- </if>-->
<!-- <if test="izuptimeEnd != null">--> <!-- <if test="izuptimeEnd != null">-->
<!-- and tcp.FROMUPTIME &lt;= '${izuptimeEnd.value}'--> <!-- and tcp.FROMUPTIME &lt;= '${izuptimeEnd.value}'-->
<!-- </if>--> <!-- </if>-->
<if test="izuptimeStart != null"> <if test="izuptimeStart != null">
<!-- 如果 izuptimeStart.dataOp 的值为 "<",则使用 "or" 连接 --> <!-- 如果 izuptimeStart.dataOp 的值为 "<",则使用 "or" 连接 -->
<choose> <choose>
<when test="izuptimeStart.rulesOp == 'or' || izuptimeEnd.rulesOp=='or'"> <when test="izuptimeStart.rulesOp == 'or' || izuptimeEnd.rulesOp == 'or'">
<if test="izuptimeEnd != null"> <if test="izuptimeEnd != null">
and (tcp.FROMUPTIME ${izuptimeStart.dataOp} '${izuptimeStart.value}' or tcp.FROMUPTIME ${izuptimeEnd.dataOp} '${izuptimeEnd.value}') and (tcp.FROMUPTIME ${izuptimeStart.dataOp} '${izuptimeStart.value}'
or tcp.FROMUPTIME ${izuptimeEnd.dataOp} '${izuptimeEnd.value}')
</if> </if>
</when> </when>
<otherwise> <otherwise>
@ -594,28 +595,22 @@
</if> </if>
</select> </select>
<select id="listFinalCount" resultType="java.lang.Long" parameterType="java.util.Map"> <select id="listFinalCount" resultType="java.lang.Long" parameterType="java.util.Map">
select count(tcp.ID) from ( select count(1)
select tc.* from ocr_taskchild_picture tcp
from ocr_taskchild_picture tc,
OA_USERFINAL_T uf,
ocr_picture p
where tc.ID = uf.FORMID
and p.ID = tc.PICTUREID
and p.suspiciousfile = 0
<if test="thisLoginUserid != null">
and uf.USERID ${thisLoginUserid.dataOp} ${thisLoginUserid.likestar}#{thisLoginUserid.value}${thisLoginUserid.likeend}
</if>
UNION
select
tc.*
from ocr_taskchild_picture tc
where tc.STATES = 5
) as tcp
left join ocr_picture pic left join ocr_picture pic
on tcp.PICTUREID = pic.ID on tcp.PICTUREID = pic.ID
<include refid="Base_Where_union"> <include refid="Base_Where_union">
</include> </include>
and tcp.ISFINAIL = 1
and pic.suspiciousfile = 0 and pic.suspiciousfile = 0
<if test="thisLoginUserid != null and isFail ==null">
and tcp.ASSIGNEE ${thisLoginUserid.dataOp} ${thisLoginUserid.likestar}#{thisLoginUserid.value}${thisLoginUserid.likeend}
</if>
<if test="thisLoginUserid != null and isFail !=null">
and (tcp.ASSIGNEE ${thisLoginUserid.dataOp} ${thisLoginUserid.likestar}#{thisLoginUserid.value}${thisLoginUserid.likeend}
or tcp.STATES = 5)
</if>
<if test="fromuptimeStart != null"> <if test="fromuptimeStart != null">
and tcp.fromuptime &gt;= ${fromuptimeStart} and tcp.fromuptime &gt;= ${fromuptimeStart}
</if> </if>
@ -628,54 +623,43 @@
parameterType="java.util.Map"> parameterType="java.util.Map">
select tcp.* from ( select tcp.* from (
select tc.*, select tc.*,
uf.COMMENTHIS, uf.COMMENTHIS,
uf.TASKNAME as TASKNAMEHIS, uf.TASKNAME as TASKNAMEHIS,
uf.STATSHIS, uf.STATSHIS,
uf.TASKINDEX, uf.TASKINDEX,
uf.TASKNO, uf.TASKNO,
op.field6 as fromCustomerLevel, op.field6 as fromCustomerLevel,
op.releaseArea as fromCity, op.releaseArea as fromCity,
op.is_repeat op.is_repeat
from ocr_taskchild_picture tc from ocr_taskchild_picture tc
LEFT JOIN OA_USERAPPROVE_T uf ON tc.ID = uf.ID LEFT JOIN OA_USERAPPROVE_T uf ON tc.ID = uf.ID
left join ocr_picture op on tc.PICTUREID = op.ID left join ocr_picture op on tc.PICTUREID = op.ID
where tc.ASSIGNEE = #{searchassignee} where tc.ASSIGNEE = #{searchassignee}
and tc.TENANTID = #{searchtenantid} and tc.TENANTID = #{searchtenantid}
and tc.STATES = 2 and tc.STATES = 2
and op.suspiciousfile = 0 and op.suspiciousfile = 0
<if test="izApprovalStatus != null "> <if test="izApprovalStatus != null">
${izApprovalStatus.rulesOp} ${izApprovalStatus.rulesOp}
( ( #{izApprovalStatus.value} ${izApprovalStatus.dataOp} COALESCE (uf.STATSHIS
#{izApprovalStatus.value} ${izApprovalStatus.dataOp} COALESCE(uf.STATSHIS, 1) , 1)
) )
</if> </if>
UNION UNION
select tc.*, select tc.*, uf.COMMENTHIS, uf.TASKNAME as TASKNAMEHIS, uf.STATSHIS, uf.TASKINDEX, uf.TASKNO, op.field6 as fromCustomerLevel, op.releaseArea as fromCity, op.is_repeat
uf.COMMENTHIS, from ocr_taskchild_picture tc, OA_USERAPPROVE_T uf, ocr_picture op
uf.TASKNAME as TASKNAMEHIS,
uf.STATSHIS,
uf.TASKINDEX,
uf.TASKNO,
op.field6 as fromCustomerLevel,
op.releaseArea as fromCity,
op.is_repeat
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
and op.suspiciousfile = 0 and op.suspiciousfile = 0
and tc.TENANTID = #{searchtenantid} and tc.TENANTID = #{searchtenantid}
<if test="thisLoginUserid != null"> <if test="thisLoginUserid != null">
and uf.USERID = #{thisLoginUserid} and uf.USERID = #{thisLoginUserid}
</if> </if>
<if test="izApprovalStatus != null "> <if test="izApprovalStatus != null">
${izApprovalStatus.rulesOp} ${izApprovalStatus.rulesOp}
( ( #{izApprovalStatus.value} ${izApprovalStatus.dataOp} COALESCE (uf.STATSHIS
#{izApprovalStatus.value} ${izApprovalStatus.dataOp} COALESCE(uf.STATSHIS, 1) , 1)
) )
</if> </if>
) as tcp ) as tcp
<include refid="Base_Where_union"> <include refid="Base_Where_union">
@ -694,22 +678,22 @@
select tc.* select tc.*
from ocr_taskchild_picture tc from ocr_taskchild_picture tc
where tc.ASSIGNEE = #{searchassignee} where tc.ASSIGNEE = #{searchassignee}
and tc.TENANTID = #{searchtenantid} and tc.TENANTID = #{searchtenantid}
and tc.STATES = 2 and tc.STATES = 2
UNION UNION
select tc.* select tc.*
from ocr_taskchild_picture tc, from ocr_taskchild_picture tc,
OA_USERAPPROVE_T uf OA_USERAPPROVE_T uf
where tc.ID = uf.FORMID where tc.ID = uf.FORMID
and tc.TENANTID = #{searchtenantid} and tc.TENANTID = #{searchtenantid}
<if test="thisLoginUserid != null"> <if test="thisLoginUserid != null">
and uf.USERID = #{thisLoginUserid} and uf.USERID = #{thisLoginUserid}
</if> </if>
<if test="izApprovalStatus != null "> <if test="izApprovalStatus != null">
${izApprovalStatus.rulesOp} ${izApprovalStatus.rulesOp}
( ( #{izApprovalStatus.value} ${izApprovalStatus.dataOp} COALESCE (uf.STATSHIS
#{izApprovalStatus.value} ${izApprovalStatus.dataOp} COALESCE(uf.STATSHIS, 1) , 1)
) )
</if> </if>
) as tcp ) as tcp
<include refid="Base_Where_union"> <include refid="Base_Where_union">
@ -837,44 +821,48 @@
<select id="getPackageSimilarityList" resultType="cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo"> <select id="getPackageSimilarityList" resultType="cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo">
SELECT distinct t3.ID id, SELECT distinct t3.ID id,
t3.PICTUREID pictureId, t3.PICTUREID pictureId,
t3.STATES states, t3.STATES states,
t3.PROCESSINSTANCEID processInstanceId, t3.PROCESSINSTANCEID processInstanceId,
t3.PROCESSDEFINITIONID processDefinitionId, t3.PROCESSDEFINITIONID processDefinitionId,
t3.DEPLOYMENTID deploymentId, t3.DEPLOYMENTID deploymentId,
t3.ASSIGNEENAME assigneeName, t3.ASSIGNEENAME assigneeName,
t3.ASSIGNEE assignee, t3.ASSIGNEE assignee,
t3.FILEANNEX fileAnnex, t3.FILEANNEX fileAnnex,
t3.GUIDANG guiDang, t3.GUIDANG guiDang,
t3.CREATEUSER createUser, t3.CREATEUSER createUser,
t3.CREATEUSERNAME createUserName, t3.CREATEUSERNAME createUserName,
t3.CREATEDATE createDate, t3.CREATEDATE createDate,
t3.USERID userId, t3.USERID userId,
t3.USERNAME userName, t3.USERNAME userName,
t3.FROMTASKID fromTaskId, t3.FROMTASKID fromTaskId,
t3.FROMTASKNAME fromTaskName, t3.FROMTASKNAME fromTaskName,
t3.FROMUSERID fromUserId, t3.FROMUSERID fromUserId,
t3.FROMPROJECTID fromProjectId, t3.FROMPROJECTID fromProjectId,
t3.FROMPLANID fromPlanId, t3.FROMPLANID fromPlanId,
t3.FROMUPTIME fromupTime, t3.FROMUPTIME fromupTime,
t3.FROMSOURCEID fromSourceId, t3.FROMSOURCEID fromSourceId,
t3.HAVEPOINTS havePoints, t3.HAVEPOINTS havePoints,
t3.TASKNAME taskName, t3.TASKNAME taskName,
t3.FROMUSERNAME fromUserName, t3.FROMUSERNAME fromUserName,
t3.FROMPROJECTNAME fromProjectName, t3.FROMPROJECTNAME fromProjectName,
t3.FINISHTIME finishTime, t3.FINISHTIME finishTime,
t3.TASKID taskId, t3.TASKID taskId,
t2.imgUrl, t2.imgUrl,
t2.submit_date_timestamp submitDateTimestamp, t2.submit_date_timestamp submitDateTimestamp,
t2.photo_date_timestamp photoDateTimestamp, t2.photo_date_timestamp photoDateTimestamp,
t2.server_thumbnail_url serverThumbnailUrl, t2.server_thumbnail_url serverThumbnailUrl,
t1.max_similarity maxSimilarity, t1.max_similarity maxSimilarity,
ifnull(t4.STATSHIS, 1) historyStates, COALESCE(
t1.check_duplicate_id (SELECT t4.STATSHIS
FROM oa_userapprove_t t4
WHERE t4.FORMID = t3.ID
ORDER BY t4.CREATEDATE DESC
LIMIT 1), 1) AS historyStates,
t1.check_duplicate_id
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
@ -932,4 +920,41 @@
#{item} #{item}
</foreach> </foreach>
</select> </select>
<select id="listFinalTask" resultType="cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture"
parameterType="java.util.Map">
select tcp.*, pic.field11 reporttime, pic.similarity_score similarityscore
from ocr_taskchild_picture tcp
left join ocr_picture pic
on tcp.PICTUREID = pic.ID
<include refid="Base_Where_union">
</include>
and tcp.ISFINAIL = 1
and pic.suspiciousfile = 0
<if test="thisLoginUserid != null and isFail ==null">
and tcp.ASSIGNEE ${thisLoginUserid.dataOp} ${thisLoginUserid.likestar}#{thisLoginUserid.value}${thisLoginUserid.likeend}
</if>
<if test="thisLoginUserid != null and isFail !=null">
and (tcp.ASSIGNEE ${thisLoginUserid.dataOp} ${thisLoginUserid.likestar}#{thisLoginUserid.value}${thisLoginUserid.likeend}
or tcp.STATES = 5)
</if>
<if test="fromuptimeStart != null">
and tcp.fromuptime &gt;= ${fromuptimeStart}
</if>
<if test="fromuptimeEnd != null">
and tcp.fromuptime &lt;= ${fromuptimeEnd}
</if>
<if test="page != null">
<if test="page.sortname != null">
<if test="page.sortname == 'states'">
order by tcp.${page.sortname} ${page.sortorder}
</if>
<if test="page.sortname != 'states'">
order by pic.${page.sortname} ${page.sortorder}
</if>
</if>
limit ${page.start}, ${page.Pagesize}
</if>
</select>
</mapper> </mapper>

Loading…
Cancel
Save